Можно ли обучить NLTK обнаруживать "выдуманные" имена в предложении?
Я недавно начал смотреть на извлечение данных с использованием NLTK. Хотя есть несколько примеров и методов обнаружения "настоящих" имен, местоположений и т. Д. Я не нашел эффективного способа обнаружения "выдуманных" или "мнимых" имен. Пример строки будет:
Его зовут wuzzywugg и у него есть собака по кличке fizzbuzz
Я хотел бы научить NLTK распознавать, что "wuzzywugg" и "fizzbuzz" - это имена персонажей. Рассматривали некоторые решения, которые основаны на слове, начинающемся с ЗАГЛАВНОЙ буквы, но это кажется очень "хакерским" и склонным к ошибкам и ложным срабатываниям.
Любая помощь о том, как решить эту проблему, будет принята с благодарностью. Заранее спасибо.
1 ответ
Я столкнулся с той же проблемой при обработке русских народных сказок, оказалось, что большинство их имен не появляются в западных газете. Быстрый подход может состоять в том, чтобы использовать теги части речи и получать только NNP (собственные существительные). Проверьте это: http://www.nltk.org/book/ch05.html
Это не сработало полностью для меня, мой подход заключался в том, чтобы фактически извлечь все существительные фразы (узлы NP из дерева разбора), а затем извлечь векторы объектов, которые я аннотировал для построения классификатора ML. Вы можете найти больше информации здесь: http://ieeexplore.ieee.org/document/7489041/