2011-12-21 8 views
27

मैंने अभी-अभी-भाषण टैगर का उपयोग शुरू किया है, और मुझे कई समस्याओं का सामना करना पड़ रहा है।एनएलटीके पीओएस टैगर मुझे डाउनलोड करने के लिए क्या कह रहा है?

मैं स्थिति निम्नलिखित के साथ टैगिंग शुरू कर दिया:

import nltk 
text=nltk.word_tokenize("We are going out.Just you and me.") 

जब मैं 'text' प्रिंट करना चाहते हैं, निम्न होता है:

print nltk.pos_tag(text) 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "F:\Python26\lib\site-packages\nltk\tag\__init__.py", line 63, in pos_tag 
tagger = nltk.data.load(_POS_TAGGER) 
File "F:\Python26\lib\site-packages\nltk\data.py", line 594, in load 
resource_val = pickle.load(_open(resource_url)) 
File "F:\Python26\lib\site-packages\nltk\data.py", line 673, in _open 
return find(path).open() 
File "F:\Python26\lib\site-packages\nltk\data.py", line 455, in find 
    raise LookupError(resource_not_found)` 
LookupError: 
Resource 'taggers/maxent_treebank_pos_tagger/english.pickle' not 
found. Please use the NLTK Downloader to obtain the resource: 

>>> nltk.download(). 

Searched in: 
    - 'C:\\Documents and Settings\\Administrator/nltk_data' 
    - 'C:\\nltk_data' 
    - 'D:\\nltk_data' 
    - 'E:\\nltk_data' 
    - 'F:\\Python26\\nltk_data' 
    - 'F:\\Python26\\lib\\nltk_data' 
    - 'C:\\Documents and Settings\\Administrator\\Application Data\\nltk_data' 

मैं nltk.download() इस्तेमाल किया, लेकिन यह काम नहीं किया।

+0

आप अपने सभी टेक्स्ट बोल्ड क्यों लिख रहे हैं? यह वास्तव में आवश्यक नहीं है। साथ ही, कृपया एक न्यूनतम लेकिन पूर्ण उदाहरण पोस्ट करें जो आपकी त्रुटि का प्रदर्शन करता है। –

+0

वहां, मैंने इसे आपके लिए साफ़ कर दिया। भविष्य के प्रश्नों को प्रारूपित करने के तरीके पर इसे एक उदाहरण के रूप में लें। –

+0

धन्यवाद ... समस्या अब हल हो गई है ... – Pearl

उत्तर

27

जब आप पाइथन में nltk.download() टाइप करते हैं, तो एक एनएलटीके डाउनलोडर इंटरफ़ेस स्वचालित रूप से प्रदर्शित हो जाता है।
मॉडल पर क्लिक करें और maxent_treebank_pos_ चुनें। यह स्वचालित रूप से स्थापित हो जाता है।

import nltk 
text=nltk.word_tokenize("We are going out.Just you and me.") 
print nltk.pos_tag(text) 
[('We', 'PRP'), ('are', 'VBP'), ('going', 'VBG'), ('out.Just', 'JJ'), 
('you', 'PRP'), ('and', 'CC'), ('me', 'PRP'), ('.', '.')] 
+16

और भी, यदि आप टैगर नाम 'nltk.download (' maxent_treebank_pos_tagger ') निर्दिष्ट करते हैं, तो आप इसे सीधे कोड में डाउनलोड कर सकते हैं; '। इस पोस्ट को http: // stackoverflow देखें।कॉम/ए/5208563/62921 – ForceMagic

1
import nltk 
text = "Obama delivers his first speech." 

sent = nltk.sent_tokenize(text) 


loftags = [] 
for s in sent: 
    d = nltk.word_tokenize(s) 

    print nltk.pos_tag(d) 

परिणाम:

akshayy @ ubuntu: ~/summ $ अजगर nn1.py [('ओबामा', 'एनएनपी'), ('उद्धार', 'NNS'), ('अपने', 'पीआरपी $'), ('पहले', 'जे जे'), ('भाषण', 'एनएन'), ('।', '।')]

(मैंने अभी एक और सवाल पूछा जहां इस कोड का उपयोग किया गया था)

+1

यह ध्यान देने योग्य है कि यह पार्स ** गलत ** है - पीओएस टैगर ने बहुवचन संज्ञा के रूप में "वितरित" चिह्नित किया है ... – simon

1
nltk.download() 

मॉडल पर क्लिक करें और maxent_treebank_pos_ चुनें। यह स्वचालित रूप से स्थापित हो जाता है।

import nltk 
text=nltk.word_tokenize("We are going out.Just you and me.") 
print nltk.pos_tag(text) 
[('We', 'PRP'), ('are', 'VBP'), ('going', 'VBG'), ('out.Just', 'JJ'), 
('you', 'PRP'), ('and', 'CC'), ('me', 'PRP'), ('.', '.')] 
5

खोल/टर्मिनल से, आप उपयोग कर सकते हैं:

python -m nltk.downloader maxent_treebank_pos_tagger 

यह NLTK में maxent_treebank_pos_tagger (यानी मानक treebank पीओएस टैगर स्थापित हो जाएगा (लिनक्स पर sudo होने की आवश्यकता हो सकती है)) और अपनी समस्या को ठीक करें।

21

NLTK संस्करणों v3.2 की तुलना में अधिक से, का उपयोग करें:

>>> import nltk 
>>> nltk.__version__ 
'3.2.1' 
>>> nltk.download('averaged_perceptron_tagger') 
[nltk_data] Downloading package averaged_perceptron_tagger to 
[nltk_data]  /home/alvas/nltk_data... 
[nltk_data] Package averaged_perceptron_tagger is already up-to-date! 
True 

NLTK के लिए संस्करण पुराने MAXENT मॉडल, यानी v3.1 और नीचे का उपयोग कर, का उपयोग करें:

>>> import nltk 
>>> nltk.download('maxent_treebank_pos_tagger') 
[nltk_data] Downloading package maxent_treebank_pos_tagger to 
[nltk_data]  /home/alvas/nltk_data... 
[nltk_data] Package maxent_treebank_pos_tagger is already up-to-date! 
True 

के लिए डिफ़ॉल्ट pos_tag में परिवर्तन के बारे में अधिक जानकारी, कृपया https://github.com/nltk/nltk/pull/1143

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