Як здійснити однокласну класифікацію тексту?


14

Я маю справу з проблемою класифікації тексту. Веб-сканер сканує веб-сторінки певного домену, і для кожної веб-сторінки я хочу з’ясувати, належить вона лише одному певному класу чи ні. Тобто, якщо я називаю цей клас Позитивним , кожна сканована веб-сторінка належить або до класу Позитивний, або до класу Непозитивний .

У мене вже є великий навчальний набір веб-сторінок для класу Позитивний . Але як створити навчальний набір для класу Непозитивні, який є максимально репрезентативним? Я маю на увазі, я міг би в основному використовувати кожен і все для цього класу. Чи можу я просто зібрати кілька довільних сторінок, які точно не належать до класу Positive ? Я впевнений, що ефективність алгоритму класифікації тексту (я вважаю за краще використовувати алгоритм Naive Bayes) сильно залежить від того, які веб-сторінки я виберу для класу Непозитивний .

То що мені робити? Може хтось, будь ласка, дасть мені пораду? Велике спасибі!


Це насправді два кластеризації класів, оскільки у вас є два класи. Для одного класу у вас був би лише один клас і вам було б цікаво оцінити, наскільки добре ваші спостереження відповідають даним (тобто виявлення людей, що не належать до людей).
Тім

Ця проблема навчання має назву - PU навчання. Це, природно, слід використовувати, якщо позитивні приклади легко отримати або природні, але негативи - це все інше (важко отримати). В принципі, ви хочете вивчити стандартний класифікатор двох класів, але з різними критеріями - оптимізуйте область під кривою PR. Цей програмний пакет дозволяє навчити такий класифікатор code.google.com/p/sofia-ml
Владислав Довгалеч

Відповіді:


5

Алгоритм Spy EM вирішує саме цю проблему.

S-EM - це система вивчення тексту чи класифікації тексту, яка навчається на наборі позитивних та незазначених прикладів (відсутність негативних прикладів). Він заснований на "шпигунській" техніці, наївному Байесі та алгоритмі ЕМ.

Основна ідея - поєднати свій позитивний набір з цілою купою випадково сканованих документів. Ви спочатку ставитесь до всіх сканованих документів як до негативного класу та вивчаєте класифікатор наївних баєсів на цьому наборі. Тепер деякі скановані документи насправді будуть позитивними, і ви можете консервативно відновити будь-які документи, набрані вище, ніж найнижчий бал справжнього позитивного документа. Потім ви повторюєте цей процес, поки він не стабілізується.


Велике спасибі, це звучить досить перспективно. Я погляну на це.
pemistahl

6

Ось гарна теза про однокласну класифікацію:

  • Податки, DM: Однокласна класифікація - Концепція навчання за відсутності зустрічних прикладів , кандидатських дисертацій, Technische Universiteit Delft, 2001. ( pdf )

Ця дипломна робота вводить метод опису векторних даних підтримки (SVDD), однокласну машину підтримки вектора, яка знаходить мінімальну гіперсферу навколо даних, а не гіперплан, що розділяє дані.

У дисертації також розглядаються інші однокласні класифікатори.


Ласкаво просимо на сайт, @nub. Ми сподіваємось створити постійний сховище статистичної інформації, тому як ми переживаємо про можливість створення лінкроти. Чи не заперечуєте ви наводити резюме інформації в цій тезі, якщо посилання перестане загинути?
gung - Відновіть Моніку

Дякую за підсумки. Будь ласка, зареєструйте та з’єднайте свої акаунти (ви можете дізнатися, як це в розділі " Мій обліковий запис " нашого довідкового центру ), тоді ви зможете редагувати та коментувати власні публікації.
gung - Відновити Моніку

@gung Дякую за привітання. Мені приємно, що я отримав значок "Yearling" на самому StackOverflow, тому тепер я можу коментувати всюди.
JosiahYoder-deactive за винятком ..

@JosiahYoder, якщо ви тут ОП, з’єднайте свої акаунти. Дізнатися про це можна в розділі Мій обліковий запис нашого довідкового центру .
gung - Відновіть Моніку

Я не ОП. Просто випадковий користувач SO, який трапився під час цього питання.
JosiahYoder-deactive за винятком ..

1

Для гарної підготовки потрібні дані, які забезпечують хороші оцінки ймовірностей кожного класу. Кожна проблема класифікації включає щонайменше два класи. У вашому випадку другим класом є той, хто не належить до позитивного класу. Щоб сформувати правильну межу прийняття рішень, використовуючи Байєса або будь-який інший хороший метод, найкраще зробити з якомога більшою кількістю навчальних даних, випадковим чином обраних із класу. Якщо ви робите невипадковий вибір, ви можете отримати зразок, який справді не представляє форми умовної щільності / розподілу класу і може призвести до поганого вибору межі рішення.


1
Ви маєте рацію, саме це мене турбує. Як відібрати вибірку непозитивних зразків, що призводить до межі правильного рішення? Робити випадковий відбір найкраще, що я можу зробити?
pemistahl

0

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

Що стосується вашого питання про випадковий вибір; так: вам доведеться вибирати випадковим чином з додаткового набору "позитивів". Якщо є якась плутанина, що можливо, що ваші "позитиви" не повністю визначені як "чисті позитивні", якщо я можу використовувати цю фразу, то ви також можете спробувати принаймні якесь відповідне визначення позитивів, щоб ви контроль над тими змінними, які потенційно створюють деяке забруднення щодо визначення поняття "позитивний". У цьому випадку ви також повинні відповідати тим самим змінним на "непозитивній" стороні також.


0

Стаття, яка може зацікавити:

"Розширена найближча скорочена центроїдальна класифікація: новий метод атрибуції авторства з відкритим набором текстів різної величини", Schaalje, Fields, Roper та Snow. Літературно-лінгвістичні обчислення, т. 26, № 1, 2011.

Котрий бере метод віднесення тексту до набору авторів і розширює його, щоб використовувати можливість того, що справжній автор не знаходиться в наборі кандидатів. Навіть якщо ви не використовуєте метод NSC, ідеї в статті можуть бути корисними для роздумів про те, як діяти далі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.