Классификация текста с использованием Java - PullRequest
4 голосов
/ 03 мая 2011

Мне нужно отнести текст или слово к определенной категории. Например, текст «Pink Floyd» следует отнести к категории «музыка» или «Викимедиа» как «технология» или «Эйнштейн» как «наука».

Как это можно сделать? Есть ли способ, которым я могу использовать DBpedia для того же? Если нет, то базу данных нужно время от времени обучать, верно?

Ответы [ 5 ]

3 голосов
/ 04 мая 2011

Это текстовая классификация проблема. Глава книги Мэннинга, Рагхавана и Шютце по поиску информации - хорошее введение. Я думаю, что для этого вам не нужны ни DBPedia, ни NER, просто небольшой обучающий набор данных с метками и достаточным количеством примеров для всех ваших классов.

3 голосов
/ 03 мая 2011

Да, DBpedia может быть хорошим выбором для такого рода проблем.Вам придется

  1. раздавить структуру категории DBpedia, чтобы получить правильную гранулярность (например, Pink Floyd указан в Capitol Records artists и множество других категорий, но не напрямую в Music).Возможно, выберите несколько больших категорий и попытайтесь выяснить, нет ли в них косвенных понятий;
  2. нормализовать текст;Эйнштейн указан как Albert Einstein, а не einstein
  3. имеет дело с неоднозначностью из-за терминов, описывающих несколько концепций и концепций, принадлежащих к нескольким категориям верхнего уровня.

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

1 голос
/ 15 апреля 2014

Да DBpedia является хорошим выбором для классификации текста, так как вы можете использовать его предикаты / отношения для запроса и извлечения значимой информации для конкретной категории.

Вы можете заглянуть в конечную точку для запроса Dbpedia:http://dbpedia.org/sparql

Далее, изучите основной синтаксис SPARQL для запроса конечной точки по следующей ссылке: http://www.w3.org/TR/rdf-sparql-query/

1 голос
/ 04 мая 2011
  1. Отображение ваших категорий в DBPedia.
  2. Индекс с выбранными lucene категориями DBPedia и метка данных именами ваших категорий.
  3. Выполните поиск ваших данных - токенизация, нормализация будет выполнена Lucene.

Этот подход как-то связан с классификацией KNN.

1 голос
/ 03 мая 2011

Это хорошо изученная проблема именованного объекта .Если у вас нет особой необходимости развертывать собственную технологию (подсказка: это сложная проблема в целом), используя Gate или, возможно, одну из основанных на ней онлайн-служб (например, Обогащение данных TSO)Сервис ), был бы хорошим вариантом.Альтернативный онлайн-сервис: OpenCalais .

...