В настоящее время я изучаю варианты извлечения личных имен, местоположений, технических слов и категорий из текста (много статей из Интернета), которые затем будут переведены в индекс Lucene/ElasticSearch. Затем дополнительная информация добавляется как метаданные и должна повысить точность поиска.
например. когда кто-то запрашивает "калитку", он должен иметь возможность решить, означает ли он спорт по крикету или проект Apache. Я пытался реализовать это самостоятельно с небольшим успехом. Теперь я нашел много инструментов, но я не уверен, подходят ли они для этой задачи и какие из них интегрируются с Lucene или если точность извлечения сущности достаточно высока.
- Dbpedia Spotlight, demo выглядит очень перспективным.
- OpenNLP требует обучения. Какие учебные данные использовать?
- Инструменты OpenNLP
- Stanbol
- NLTK
- balie
- UIMA
- GATE → пример кода
- Apache Mahout
- Stanford CRF-NER
- maui-indexer
- Mallet
- Иллинойс Именованный объект Tagger Не с открытым исходным кодом, но бесплатный
- данные wikipedianer
Мои вопросы:
- Есть ли у кого-нибудь опыт работы с некоторыми перечисленными выше инструментами и его точность/отзыв? Или если есть данные о подготовке, необходимые + доступны.
- Есть ли статьи или учебные пособия, где я могу начать работу с извлечением сущности (NER) для каждого инструмента?
- Как они могут быть интегрированы с Lucene?
Вот некоторые вопросы, относящиеся к этому вопросу: