Статистична класифікація тексту


32

Я програміст, що не має статистичної інформації, і зараз я розглядаю різні методи класифікації для великої кількості різних документів, які я хочу класифікувати за заздалегідь визначеними категоріями. Я читав про kNN, SVM та NN. Однак у мене є проблеми з початком роботи. Які ресурси ви рекомендуєте? Я дуже добре знаю одноразове і багато змінне числення, тому моя математика повинна бути достатньо сильною. Я також є власником книги Бішопа про нейронні мережі, але вона виявилася трохи щільною як вступ.

Відповіді:


19

Я рекомендую ці книги - вони також високо оцінені на Amazon:

"Текстовий майнінг" Вайсса

"Прикладне програмування текстового майнінгу", автор Konchady

Для програмного забезпечення я рекомендую RapidMiner (з текстовим плагіном), безкоштовний та з відкритим кодом.

Це мій "процес видобутку тексту":

  • збирати документи (зазвичай веб-сканування)
    • [зразок, якщо занадто великий]
    • мітка часу
    • викреслити розмітку
  • tokenize: розбивайтеся на символи, слова, n-грам або розсувні вікна
  • витікання (він же лематизація)
    • [включити синоніми]
    • дивіться займенники алгоритму «Портер» або «Сніжинка», а статті - як правило, погані предиктори
  • видалити зупинки
  • особливість векторизації
    • двійковий (з’являється чи ні)
    • підрахунок слів
    • відносна частота: tf-idf
    • інформаційний приріст, чи квадрат
    • [мають мінімальне значення для включення]
  • зважування
    • вага слів у верхній частині документа вище?

Тоді ви можете розпочати роботу з їх класифікації. kNN, SVM або Naive Bayes відповідно.

Ви можете переглянути мою серію відео з видобутку тексту тут


Це чудова відповідь! Я розгляну ваші пропозиції щодо книг, і опис вашого процесу також чудовий. Особливо мені подобаються пропозиції щодо функціональних векторизацій.
Еміль Н

(Якщо хтось хотів би ще більше деталізувати деталізацію частини векторизації, це було б чудово.)
Еміль Н

11

Чудовий вступний текст, що висвітлює згадані вами теми, - « Вступ до пошуку інформації» , який доступний в повному тексті в Інтернеті безкоштовно.

Вступ до пошуку інформації


Я насправді перевіряв це вчора на роботі. Це цікаве прочитання - я б хотів, щоб у мене було більше часу на засвоєння матеріалу, але я мав отримати те, що мені потрібно, і рухатись далі.
Томас Оуенс

погодився, це відмінна книга. Це в значній мірі пояснює, як Google працює :)
Ніл МакГуйган,

5

Нейронна мережа може сповільнювати велику кількість документів (також це зараз значно застаріло).
Ви також можете перевірити випадковий ліс серед класифікаторів; це досить швидко, масштабує приємно і не потребує складної настройки.


+1 для випадкових лісів. Безумовно, хороший класифікатор, щоб спробувати перше, так як вони не переграють.
Зак

4

Якщо ви приїжджаєте з боку програмування, одним із варіантів є використання природних мов (NLTK) для Python. Існує книга O'Reilly, доступна у вільному доступі , що може бути менш щільним і більш практичним введенням у створення класифікаторів для документів, серед іншого.

Якщо вам цікаво покращити статистичну ситуацію, книга Роджера Леві, що триває, " Імовірнісні моделі вивчення мови" , може бути непоганою для вивчення . Це написано для студентів когсці / compsci, починаючи зі статистичних методик NLP.


3

По-перше, я можу порекомендувати вам книгу « Основи статистичної обробки природних мов» Меннінга та Шютце.

Я б застосував методи розподілу частот слова та моделі мови ngram. Перший працює дуже добре, коли ви хочете класифікувати за темою, а ваші теми є специфічними та експертними (мають ключові слова). Моделювання Ngram - найкращий спосіб класифікації стилів написання тощо.


0

Наївний Байєс зазвичай є відправною точкою для класифікації тексту, ось стаття доктора Доббса про те, як його здійснити. Це також часто є кінцевим пунктом для класифікації тексту, оскільки він настільки ефективний і добре паралелізується, SpamAssassin і POPFile використовують його.

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