से विकीडेटा इकाइयों को कुशलता से निकालें मेरे पास 100 से 4000 शब्दों तक के बहुत सारे ग्रंथ (लाखों) हैं। ग्रंथों को विराम चिह्न और व्याकरण के साथ लिखित कार्य के रूप में स्वरूपित किया गया है। सब कुछ अंग्रेजी में है।टेक्स्ट
समस्या सरल है: किसी दिए गए पाठ से प्रत्येक विकीडेटा इकाई को निकालने के लिए कैसे?
एक इकाई को प्रत्येक संज्ञा, उचित या नियमित के रूप में परिभाषित किया जाता है।
- Tokenize OpenNLP के साथ पाठ, और उपयोग: यानी, कुर्सी, जैसे लोगों, संगठनों, स्थानों के नाम और चीजों आलू आदि
अब तक मैं निम्नलिखित की कोशिश की है pre-trained modelsलोगों, स्थान, संगठन और नियमित रूप से संज्ञाओं को निकालने के लिए ।
- Porter Stemming लागू करें जहां लागू हो।
- संभावित विकीडेटा आईडी पुनर्प्राप्त करने के लिए wmflabs-API के साथ सभी निकाले गए संज्ञाओं से मिलान करें।
यह काम करता है, लेकिन मुझे लगता है जैसे मैं बेहतर कर सकते हैं लग रहा है। एक स्पष्ट सुधार स्थानीय रूप से विकीडाटा के प्रासंगिक टुकड़ों को कैश करना होगा, जिसे मैं करने की योजना बना रहा हूं। हालांकि, ऐसा करने से पहले, मैं यह जांचना चाहता हूं कि अन्य समाधान हैं या नहीं।
सुझाव?
मैंने प्रश्न स्कैला को टैग किया क्योंकि मैं कार्य के लिए Spark का उपयोग कर रहा हूं।
स्टेमिंग वास्तव में केवल के रूप में गैर उचित और बहुवचन है, जो एक बहुमत नहीं है पहचान संज्ञाओं पर किया जाता है। कागजात/डीबीपीडिया स्पॉटलाइट को इंगित करने के लिए धन्यवाद। मुझे इनके बारे में पता नहीं था। – habitats
DBpedia वास्तव में (किसी कारण मुझे लगता है कि याद करने के लिए), Wikidata से जुड़ा हुआ है, इसलिए मैं अपने जवाब के रूप में स्वीकार के बाद से मैं DBpedia सुर्खियों उपयोग करने के लिए लाने के लिए DBpedia आईडी सक्षम था चिह्नित कर देंगे, और Wikidata आईडी लाने के लिए SPARQL + RDF का उपयोग सीधे। – habitats