Как сделать одноклассную классификацию текста?


14

Мне приходится иметь дело с проблемой классификации текста. Сканер сканирует веб-страницы определенного домена, и для каждой веб-страницы я хочу выяснить, принадлежит ли он только одному конкретному классу или нет. То есть, если я назову этот класс " Позитивным" , каждая просканированная веб-страница принадлежит либо к классу " Позитив", либо к классу " Не позитив" .

У меня уже есть большой обучающий набор веб-страниц для класса Позитив . Но как создать тренировочный набор для класса Non-Positive, который будет максимально представительным? Я имею в виду, я мог бы использовать все и вся для этого класса. Могу ли я просто собрать несколько произвольных страниц, которые определенно не принадлежат классу Positive ? Я уверен, что эффективность алгоритма классификации текста (я предпочитаю использовать алгоритм Наивного Байеса) сильно зависит от того, какие веб-страницы я выберу для класса Non-Positive .

Так что мне делать? Может кто-нибудь дать мне совет? Большое спасибо!


На самом деле это кластеризация двух классов, так как у вас есть два класса. Для одного класса у вас будет только один класс, и вам будет интересно оценить, насколько хорошо ваши наблюдения соответствуют данным (т. Е. Выявить выбросы).
Тим

У этой проблемы обучения есть название - обучение ПУ. Это естественно использовать, если положительные примеры легко или естественно получить, но отрицательные в основном все остальное (трудно получить). В принципе, вы хотите выучить стандартный двухклассовый классификатор, но по другим критериям - оптимизировать площадь под кривой PR. Этот программный пакет позволяет обучать такому классификатору code.google.com/p/sofia-ml
Владислав Довгальец

Ответы:


5

EM алгоритм Spy решает именно эту проблему.

S-EM - это система обучения или классификации текста, которая учится на множестве положительных и немаркированных примеров (без отрицательных примеров). Он основан на «шпионской» технике, наивном байесовском и электромагнитном алгоритме.

Основная идея состоит в том, чтобы объединить ваш положительный набор с целой кучей случайно сканированных документов. Сначала вы рассматриваете все просканированные документы как отрицательный класс и изучаете наивный байесовский классификатор на этом наборе. Теперь некоторые из этих просканированных документов будут на самом деле положительными, и вы можете консервативно перемаркировать любые документы, которые получили более высокий балл, чем самый положительный положительный документ. Затем вы повторяете этот процесс, пока он не стабилизируется.


Большое спасибо, это звучит довольно многообещающе. Я посмотрю на это.
Пемисталь

6

Вот хороший тезис об одноклассной классификации:

  • Tax, DM: одноклассная классификация - концептуальное обучение в отсутствие контрпримеров , кандидатская диссертация, Technische Universiteit Delft, 2001. ( pdf )

Этот тезис знакомит с методом описания опорных векторных данных (SVDD), машиной опорных векторов одного класса, которая находит минимальную гиперсферу вокруг данных, а не гиперплоскость, разделяющую данные.

В диссертации также рассматриваются другие одноклассные классификаторы.


Добро пожаловать на сайт, @nub. Мы надеемся создать постоянное хранилище статистической информации, поэтому мы беспокоимся о возможности Linkrot. Не могли бы вы дать краткое изложение информации в этом тезисе, если ссылка не работает?
gung - Восстановить Монику

Спасибо за подведение итогов. Пожалуйста, зарегистрируйте и объедините свои учетные записи (вы можете узнать, как это делается в разделе « Моя учетная запись » нашего справочного центра ), тогда вы сможете редактировать и комментировать свои собственные сообщения.
gung - Восстановить Монику

@ Gung Спасибо за прием. Я очень рад, что получил значок «Годовалый» на самом StackOverflow, так что теперь я могу комментировать везде.
JosiahYoder-деактивен, кроме ..

@JosiahYoder, если вы являетесь ОП здесь, пожалуйста, объедините свои учетные записи. Вы можете узнать, как это сделать в разделе « Моя учетная запись » нашего справочного центра .
gung - Восстановить Монику

Я не ОП. Просто случайный пользователь SO, который сталкивался с этим вопросом.
JosiahYoder-деактивен, кроме ..

1

Хорошее обучение требует данных, которые обеспечивают хорошие оценки вероятностей отдельных классов. Каждая проблема классификации включает как минимум два класса. В вашем случае второй класс - это любой, кто не находится в положительном классе. Чтобы сформировать правильную границу решения, используя байесовский метод или любой другой хороший метод, лучше всего использовать как можно больше обучающих данных, случайно выбранных из класса. Если вы сделаете неслучайный выбор, вы можете получить выборку, которая действительно не представляет форму условных плотностей / распределений класса и может привести к неправильному выбору границы решения.


1
Вы правы, это именно то, что беспокоит меня. Как выбрать образец неположительных образцов, который приводит к хорошей границе решения? Делать случайный выбор - лучшее, что я могу сделать?
Pemistahl

0

Я согласен с Майклом.

Относительно вашего вопроса о случайном выборе; да: вы должны выбрать случайным образом из дополнительного набора ваших «позитивов». Если есть какая-то путаница, что возможно, что ваши «позитивы» не полностью определены как «чисто позитивные», если я могу использовать эту фразу, то вы также можете попробовать хотя бы какое-то согласованное определение для позитивов, чтобы вы могли контроль над теми переменными, которые потенциально могут привести к некоторому загрязнению в определении «положительный». В этом случае вы должны соответственно сопоставить по тем же переменным на «неположительной» стороне.


0

Статья, которая может представлять интерес:

«Расширенная классификация ближайших к центру сокращений: новый метод авторства открытых текстов разных размеров», Schaalje, Fields, Roper и Snow. Литературные и лингвистические вычисления, вып. 26, № 1, 2011.

Который берет метод для приписывания текста группе авторов и расширяет его, чтобы использовать возможность того, что настоящего автора нет в наборе кандидатов. Даже если вы не используете метод NSC, идеи в статье могут быть полезны для размышления о том, как действовать дальше.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.