Какие инструменты вы используете для анализа текста? - PullRequest
3 голосов
/ 29 мая 2009

Мне нужно немного вдохновения. Для хобби проекта я играю с контент-анализом. Я в основном пытаюсь проанализировать входные данные, чтобы сопоставить их с картой темы.

Например:

  • "Путь в Ирак"> История, Ближний Восток
  • "Halloumni"> Продукты питания, Средний Восток
  • "BMW"> Германия, Автомобили
  • "Обама"> США
  • "Импала"> США, Автомобили
  • "Берлинская стена"> История, Германия
  • "Bratwurst"> Еда, Германия
  • "Чизбургер"> Еда, США
  • ...

Я много читал о таксономии, и, в конце концов, все, что я прочитал, заключает, что все люди помечают по-разному, и поэтому система обязательно выйдет из строя.

Я думал о токенизированных списках ввода и стоп-слов, но они, конечно, много работы, чтобы придумать и построить. Создание релевантных связей между словами и темами кажется утомительным, а также бесконечным, потому что язык, с которым вы работаете, очень богат, и большинство языков также сильно зависят от контекста. Не говоря уже о поддержании этого.

Думаю, мне нужно придумать что-нибудь умное и обучить его темам, которые я хочу, чтобы он мог угадать. Вроде как Элиза бот .

В любом случае, я не верю, что есть что-то, что делает это «из коробки», но есть ли у кого-нибудь примеры или примеры использования технологии для анализа ввода с целью извлечения , означающего ?

Ответы [ 3 ]

2 голосов
/ 29 мая 2009

хия. Сначала я бы посмотрел на OpenCalais для поиска сущностей в текстах или вводе. Это здорово, и я сам этим пользовался (ребята из Reuters).

После этого вы можете продолжить анализ текста, создавая ассоциации между сущностями и словами. Я, вероятно, посмотрю их в чем-то вроде WordNet и попытался бы их типизировать, или даже автоматически сгенерировать некоторую онтологию, соответствующую домену, который вы пытаетесь отобразить.

Что касается того, как собрать все воедино, есть много вещей, которые вы можете сделать; вышеупомянутые или двух- или трехпроходные модели попыток выяснить, что такое слова и что они означают. Или, если вы управляете вводом, создайте формат, который легче анализировать, или перейдите по темному пути NLP (что очень весело).

Или вы можете посмотреть что-то вроде Jena для разбора произвольных фрагментов RDF, хотя мне самому не нравится предпосылка RDF (я являюсь составителем тем). Я написал материал, который просматривает слова, фразы или имена в WikiPedia и оценивает их битрейт, основываясь на семантике, найденной на страницах WikiPedia (я мог бы рассказать вам подробности, если потребуется, но разве это не интересно выйти и придумать что-нибудь получше, чем у меня? :), т.е. количество ссылок, количество см. также, объем текста, размер страницы обсуждения и т. д.

За многие годы я написал кучу вещей (даже на PHP и Perl; посмотрите Материалы тематических карт Роберта Барты на CPAN , особенно модули TM для некоторых потрясающих вещей), из движков парсерам что-то странное в середине. Ассоциативные массивы, которые разбивают слова и фразы на части, создавая кумулятивные гистограммы для сортировки их компонентов и так далее. Это все забавно, но что касается усадочных инструментов, я не уверен. Кажется, что цели и потребности у всех разные. Это зависит от того, насколько сложным и сложным вы хотите стать.

В любом случае, надеюсь, это немного поможет. Ура! :)

2 голосов
/ 30 мая 2009

SemanticHacker делает именно то, что вы хотите, из коробки и имеет дружественный API. Это несколько неточно для коротких фраз, но просто идеально подходит для длинных текстов.

  • «Путь в Ирак»> Общество / Проблемы / Войны и конфликты / Конкретные конфликты
  • «Halloumni»> N / A
  • «БМВ»> Отдых / Мотоциклы / Марки и модели
  • «Обама»> Общество / Политика / Консерватизм
  • «Импала»> Отдых / Авто / Марки и модели / Chevrolet
  • «Берлинская стена»> Регион / Европа / Германия / Штаты
  • «Колбаса»> Для дома / Кулинария / Мясо
  • «Чизбургер»> Главная / Кулинария / Коллекции рецептов; По регионам / Северная Америка / США / Мэриленд / Местности
0 голосов
/ 29 мая 2009

Похоже, вы ищете реализацию Байесовской сети. Вы можете получить что-то вроде Solr .

Также проверьте CI-Bayes . Джозеф Оттингер написал статью об этом на theserverside.net в начале этого года.

...