У меня много текстов (миллионов), от 100 до 4000 слов. Тексты отформатированы как написанные работы с пунктуацией и грамматикой. Все на английском.Эффективно извлекать объекты WikiData из текста
Проблема проста: Как извлечь каждый объект WikiData из заданного текста?
Сущность определяется как каждое существительное, правильное или регулярное. То есть, имена людей, организаций, места и вещи, как стул, картофель т.д.
До сих пор я попытался следующее:
- разметить текст с OpenNLP, а также использование pre-trained models для извлечения людей, местоположения, организации и регулярные существительных ,
- Применить Porter Stemming, если применимо.
- Сопоставьте все извлеченные существительные с wmflabs-API, чтобы получить потенциальный идентификатор WikiData.
Этот работает, но я чувствую, что могу сделать лучше. Одним из очевидных улучшений было бы кэширование соответствующих частей WikiData локально, что я планирую делать. Однако, прежде чем я это сделаю, я хочу проверить, есть ли другие решения.
Предложения?
Отмечено вопрос Скала, потому что я использую Spark для выполнения задачи.
Морфологический фактически делается только на существительные, идентифицированных как не собственно и множественное число, которое не является большинством. Спасибо за бумаги/указав прожектор dbpedia. Я не знал об этом. – habitats
DBpedia фактически связан с Wikidata (по какой-то причине я пропустил это), поэтому я буду отмечать ваш ответ как принятый, так как я смог использовать прожектор DBpedia для извлечения идентификатора DBpedia и использовать Sparql + RDF для извлечения идентификаторов Wikidata непосредственно. – habitats