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