Tôi có nhiều văn bản (triệu), từ 100 đến 4000 từ. Các văn bản được định dạng dưới dạng văn bản, với dấu chấm câu và ngữ pháp. Mọi thứ đều bằng tiếng Anh.Trích xuất một cách hiệu quả các thực thể WikiData từ văn bản
Vấn đề rất đơn giản: Làm thế nào để trích xuất mọi thực thể WikiData từ một văn bản nhất định?
Một pháp nhân được định nghĩa là mỗi danh từ, đúng hoặc thông thường. Ví dụ, tên của những người, tổ chức, địa điểm và những thứ như ghế, khoai tây, vv
Cho đến nay tôi đã thử những điều sau đây:
- tokenize văn bản với OpenNLP, và sử dụng các pre-trained models để trích xuất người, vị trí, tổ chức và thường xuyên danh từ .
- Áp dụng Porter Stemming nếu có.
- Đối sánh tất cả các danh từ được trích xuất với số wmflabs-API để truy xuất ID WikiData tiềm năng.
Điều này hoạt động, nhưng tôi cảm thấy mình có thể làm tốt hơn. Một cải tiến rõ ràng sẽ là cache các phần có liên quan của WikiData cục bộ, mà tôi dự định làm. Tuy nhiên, trước khi tôi làm điều đó, tôi muốn kiểm tra xem có những giải pháp nào khác không.
Đề xuất?
Tôi đã gắn thẻ câu hỏi Scala vì tôi đang sử dụng Spark cho tác vụ.
Xuất phát là thực sự chỉ được thực hiện trên các danh từ được xác định là không thích hợp và số nhiều, mà không phải là đa số. Cảm ơn các bài báo/chỉ ra tiêu điểm dbpedia. Tôi không biết về những điều này. – habitats
DBpedia thực sự được liên kết với Wikidata, vì vậy tôi sẽ đánh dấu câu trả lời của bạn là được chấp nhận, vì tôi có thể sử dụng DBpedia spotlight để tìm DBpedia ID, và sử dụng Sparql + RDF để lấy ID của Wikidata trực tiếp. – habitats