2009-05-28 3 views
3

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

Например:

  • "Путь в Ираке"> История, Ближний Восток
  • "Halloumni"> Питание, Ближний Восток
  • "BMW"> Германия, Автомобили
  • «Обама "> США
  • "Impala"> США, Автомобили
  • "Берлинская стена"> История, Германия
  • " Bratwu первый»> Продукты питания, Германия
  • „чизбургер“> Продукты питания, США
  • ...

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

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

Я думаю, мне нужно придумать что-то умный и обучать его темами, которые я хочу, чтобы угадать. Вид как Eliza bot.

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

ответ

2

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

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

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

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

Я написал много вещей за эти годы (даже в PHP и Perl, посмотрите на Robert Barta's Topic Maps stuff on CPAN, особенно модули TM для некоторый ударный материал), от двигателей до парсеров до чего-то странного посередине. Ассоциативные массивы, которые разрывают слова и фразы друг от друга, создают кумулятивные гистограммы для сортировки их компонентов и т. Д. Это все забавно, но что касается укупоренных инструментов, я не уверен. Все цели и потребности кажутся разными. Это зависит от того, насколько вы сложны и сложны.

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

+0

Я думаю, что я пытался зарегистрироваться несколько раз. Они все еще должны мне пароль. Но я думаю, я попробую еще раз и дам вам знать, как это получается. Огромное спасибо! – Till

+0

Я знаю, что это заняло некоторое время, чтобы принять - мы использовали много OpenCalais. Еще раз спасибо за все предложения. :) – Till

0

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

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

+0

Можете ли вы указать некоторую документацию по Solr, которая подчеркивает эту функцию? Я не мог найти ничего, просматривая их документацию. – Till

+0

Solr - это действительно сервер поисковой системы предприятия (несколько аналогичный Google Search Appliance), но то, что вы описывали, звучит для меня как функция грантового поиска. Проверьте это для получения дополнительной информации: http://people.apache.org/~hossman/apachecon2006us/faceted-searching-with-solr.pdf – cwash

2

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

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

Это выглядит наиболее перспективным из всех предложений здесь и из моих собственных исследований. Большое вам спасибо, я буду держать вас в курсе. – Till

Смежные вопросы