2012-07-04 13 views
35

के साथ एनएलटीके नामांकित इकाई पहचान एनएलटीके का उपयोग करके मैं अपने पाठ से नामित इकाइयों को निकालने की कोशिश कर रहा हूं। मुझे लगता है कि एनएलटीके एनईआर मेरे उद्देश्य के लिए बहुत सटीक नहीं है और मैं अपने स्वयं के कुछ और टैग भी जोड़ना चाहता हूं। मैं अपने स्वयं के एनईआर को प्रशिक्षित करने का एक तरीका खोजने की कोशिश कर रहा हूं, लेकिन मुझे सही संसाधन खोजने में सक्षम नहीं लगता है। मैं के बारे में NLTK-कस्टम डेटा

  1. मैं अपने खुद के डेटा का उपयोग कर सकते NLTK में एक वर्णित निकाय पहचानकर्ता प्रशिक्षित करने के लिए सवालों की एक जोड़ी है?
  2. यदि मैं अपने डेटा का उपयोग करके ट्रेन कर सकता हूं, तो नाम_entity.py फ़ाइल को संशोधित किया जाना चाहिए?
  3. क्या इनपुट फ़ाइल प्रारूप आईओबी उदाहरण में होना चाहिए। एरिक एनएनपी बी-व्यक्ति?
  4. क्या कोई संसाधन हैं - एनएलटीके कुकबुक और एनएलपी के अलावा जो कि मैं उपयोग कर सकता हूं?

मैं वास्तव में इस संबंध

उत्तर

18

आप NLTK/अजगर का उपयोग कर रहे हैं करने के लिए प्रतिबद्ध में सहायता की सराहना करते हैं? मैं आपके जैसी ही समस्याओं में भाग गया, और स्टैनफोर्ड के नाम-इकाई पहचानकर्ता का उपयोग करके बहुत बेहतर परिणाम प्राप्त हुए: http://nlp.stanford.edu/software/CRF-NER.shtml। अपने डेटा का उपयोग कर वर्गीकरण को प्रशिक्षित करने की प्रक्रिया अक्सर पूछे जाने वाले प्रश्नों में अच्छी तरह से प्रलेखित है।

यदि आपको वास्तव में एनएलटीके का उपयोग करने की आवश्यकता है, तो मैं अन्य उपयोगकर्ताओं से कुछ सलाह के लिए मेलिंग सूची को हिट करूंगा: http://groups.google.com/group/nltk-users

आशा है कि इससे मदद मिलती है!

+1

एसएनईआर साइट के माध्यम से ब्राउज़िंग, मैंने देखा कि यहां एक अजगर इंटरफ़ेस भी है [यहां] (https://github.com/dat/pyner)। यह सुनिश्चित नहीं है कि यह कितना परिपक्व है, लेकिन यह सहायक हो सकता है। – senderle

+0

यह प्रश्न एनएलटीके नाम की इकाई पहचान में सुधार के लिए एक खोज में बहुत कुछ आता है, लेकिन कह रहा है कि 'कुछ और उपयोग करें' यह जानकारीपूर्ण नहीं है। – blueblank

+5

मुझे एक ही समस्या थी और साझा किया कि मेरे लिए क्या काम किया। क्षमा करें अगर वह आपको परेशान करता है :( – jjdubs

10

आप आसानी से स्टैनफोर्ड एनईआर के साथ nltk का उपयोग कर सकते हैं। अजगर स्क्रिप्ट

from nltk.tag.stanford import NERTagger 
import os 
java_path = "/Java/jdk1.8.0_45/bin/java.exe" 
os.environ['JAVAHOME'] = java_path 
st = NERTagger('../ner-model.ser.gz','../stanford-ner.jar') 
tagging = st.tag(text.split()) 

अपने खुद के डेटा को प्रशिक्षित करने के लिए और एक मॉडल आप स्टैनफोर्ड एनईआर पूछे जाने वाले प्रश्न पर पहला सवाल का उल्लेख कर सकते बनाने के लिए की तरह है।

लिंक http://nlp.stanford.edu/software/crf-faq.shtml

0

मैं भी इस मुद्दे को नहीं था, लेकिन मैं इस पर काम करने में कामयाब रहे है। आप अपने प्रशिक्षण डेटा का उपयोग कर सकते हैं। मैंने अपने github repository में इसके लिए मुख्य आवश्यकताओं/चरणों को दस्तावेज किया।

मैंने NLTK-trainer का उपयोग किया, इसलिए मूल रूप से आपको सही प्रारूप (टोकन एनएनपी बी-टैग) में प्रशिक्षण डेटा प्राप्त करना होगा, और प्रशिक्षण स्क्रिप्ट चलाएं। अधिक जानकारी के लिए मेरे भंडार की जांच करें।