2012-07-02 10 views
7

में इकाई पहचान नाम दिया है, मैं डच टेक्स्ट से नामित इकाइयों को निकालने की कोशिश कर रहा हूं। मैंने conll2002 डच कॉर्पस पर एक टैगर और एक चंकर को प्रशिक्षित करने के लिए nltk-trainer का उपयोग किया। हालांकि, चंकर से पार्स विधि किसी नामित संस्थाओं का पता नहीं लगा रही है।एनएलटीके ने डच

str = 'Christiane heeft een lam.' 

tagger = nltk.data.load('taggers/dutch.pickle') 
chunker = nltk.data.load('chunkers/dutch.pickle') 

str_tags = tagger.tag(nltk.word_tokenize(str)) 
print str_tags 

str_chunks = chunker.parse(str_tags) 
print str_chunks 

और इस कार्यक्रम का उत्पादन:

[('Christiane', u'N'), ('heeft', u'V'), ('een', u'Art'), ('lam', u'Adj'), ('.', u'Punc')] 
(S Christiane/N heeft/V een/Art lam/Adj ./Punc) 

मैं क्रिस्टियन उम्मीद कर रहा था एक निकाय के रूप में पता लगाया जा यहाँ मेरी कोड है। कोई मदद?

+0

क्या होता है जब वाक्य के बीच में "ईसाई" दिखाई देता है? –

+0

@ लार्समैन कोई भी संस्थाएं नहीं। मैंने प्रशिक्षण कॉर्पस से एक वाक्य के साथ भी कोशिश की, लेकिन कोई भाग्य नहीं। मैंने conll2002 corpus (ned.train) – user1491915

+0

पर train_chunker.py का उपयोग किया है क्या आप दिखा सकते हैं कि आपने train_chunker.py का उपयोग कैसे किया? Http://text-processing.com/demo/tag/ पर मेरा डेमो ईसाई को पहचानता है, बेशक मैंने conll2002 पर train_chunker का उपयोग किया, इसलिए प्रशिक्षण तर्कों में एक अंतर होना चाहिए। – Jacob

उत्तर

7

conll2002 कॉर्पस में स्पेनिश और डच टेक्स्ट दोनों हैं, इसलिए आपको python train_chunker.py conll2002 --fileids ned.train में fileids पैरामीटर का उपयोग करना सुनिश्चित करना चाहिए। स्पेनिश और डच दोनों पर प्रशिक्षण के खराब परिणाम होंगे।

डिफ़ॉल्ट एल्गोरिदम एक टैगर आधारित चंकर है, जो conll2002 पर अच्छी तरह से काम नहीं करता है। इसके बजाय, NaiveBayes की तरह एक वर्गीकारक आधारित chunker उपयोग करते हैं, तो पूर्ण आदेश इस प्रकार दिखाई देंगे (और मुझे लगता है कि जिसके परिणामस्वरूप chunker के रूप में एक "प्रति" पहचान "क्रिस्टियन" करता है की पुष्टि की है):

python train_chunker.py conll2002 --fileids ned.train --classifier NaiveBayes --filename ~/nltk_data/chunkers/conll2002_ned_NaiveBayes.pickle

+0

मैंने समस्या में समस्या का पुन: उत्पन्न किया है, और यह तब भी होता है जब टैगर और चंकर को केवल ned.train पर प्रशिक्षित किया जाता है। इसके अलावा, चंकर सोने के पीओएस टैग के साथ प्रशिक्षण कॉर्पस से वाक्यों पर भी किसी भी पूर्वोत्तर की पहचान करने में असमर्थ लगता है। – Qnan

+0

दिलचस्प ... यह काम करता है। धन्यवाद, @ जैकोब। – Qnan

संबंधित मुद्दे