संसाधन u'tokenizers / punkt / english.pickle 'नहीं मिला


96

मेरा कोड:

import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

त्रुटि संदेश:

[ec2-user@ip-172-31-31-31 sentiment]$ python mapper_local_v1.0.py
Traceback (most recent call last):
File "mapper_local_v1.0.py", line 16, in <module>

    tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 774, in load

    opened_resource = _open(resource_url)

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 888, in _open

    return find(path_, path + ['']).open()

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 618, in find

    raise LookupError(resource_not_found)

LookupError:

Resource u'tokenizers/punkt/english.pickle' not found.  Please
use the NLTK Downloader to obtain the resource:

    >>>nltk.download()

Searched in:
- '/home/ec2-user/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''

मैं यूनिक्स मशीन में इस कार्यक्रम को चलाने की कोशिश कर रहा हूँ:

त्रुटि संदेश के अनुसार, मैंने अपनी यूनिक्स मशीन से अजगर के खोल में प्रवेश किया, फिर मैंने नीचे दिए गए आदेशों का उपयोग किया:

import nltk
nltk.download()

और फिर मैंने d- डाउन लोडर और l- सूची विकल्पों का उपयोग करके सभी उपलब्ध चीजों को डाउनलोड किया लेकिन फिर भी समस्या बनी हुई है।

मैंने इंटरनेट में इसका समाधान खोजने की पूरी कोशिश की लेकिन मुझे वही समाधान मिला जो मैंने अपने उपरोक्त चरणों में किया था।


1
संभावित डुप्लिकेट की असंभव डुप्लिकेट english.pickle with nltk.data.load
alvas

जवाबों:


171

एल्स के उत्तर में जोड़ने के लिए , आप केवल punktकॉर्पस डाउनलोड कर सकते हैं :

nltk.download('punkt')

allमुझे लगता है डाउनलोड overkill की तरह लग रहा है। जब तक कि आप क्या चाहते हैं।


Nltk कॉर्पस नाम के लिए धन्यवाद।
ऑस्टिन ए

मुझे nltk.download ('पंकट') काम करने के लिए नवीनतम nltk संस्करण 3.2.5 में अपग्रेड करना पड़ा।
charles गोम्स

मेरे द्वारा ऊपर दिए गए कोड को चलाने के बाद मुझे यह मिलता है: [nltk_data] त्रुटि पंक लोड करने में त्रुटि: <urlopen त्रुटि [Errno 111] कनेक्शन [nltk_data] ने इनकार कर दिया>
पॉल

मेरे पिछले मुद्दे के बारे में, मुझे केवल अपना वीपीएन बंद करना था।
पॉल

59

यदि आप केवल punktमॉडल डाउनलोड करना चाहते हैं :

import nltk
nltk.download('punkt')

यदि आप अनिश्चित हैं कि आपको कौन सा डेटा / मॉडल चाहिए, तो आप NLTK से लोकप्रिय डेटासेट, मॉडल और टैगर्स स्थापित कर सकते हैं :

import nltk
nltk.download('popular')

उपरोक्त कमांड के साथ, डेटासेट डाउनलोड करने के लिए GUI का उपयोग करने की कोई आवश्यकता नहीं है।


34

मुझे हल मिल गया:

import nltk
nltk.download()

एक बार NLTK डाउनलोडर शुरू होता है

d) डाउनलोड l) लिस्ट u) अपडेट c) कॉन्फिग h) हेल्प q) क्विट करें

डाउनलोडर> डी

कौन सा पैकेज डाउनलोड करें (l = सूची; x = रद्द करें)? पहचानकर्ता> पंकट


25

शेल से आप निष्पादित कर सकते हैं:

sudo python -m nltk.downloader punkt 

यदि आप लोकप्रिय एनएलटीके कॉर्पोरा / मॉडल स्थापित करना चाहते हैं:

sudo python -m nltk.downloader popular

यदि आप सभी NLTK कॉर्पोरा / मॉडल स्थापित करना चाहते हैं:

sudo python -m nltk.downloader all

आपके द्वारा डाउनलोड किए गए संसाधनों को सूचीबद्ध करने के लिए:

python -c 'import os; import nltk; print os.listdir(nltk.data.find("corpora"))'
python -c 'import os; import nltk; print os.listdir(nltk.data.find("tokenizers"))'

10
import nltk
nltk.download('punkt')

पायथन प्रॉम्प्ट खोलें और उपरोक्त कथन चलाएं।

Sent_tokenize समारोह का एक उदाहरण का उपयोग करता है PunktSentenceTokenizer से nltk.tokenize.punkt मॉड्यूल। यह उदाहरण पहले से ही प्रशिक्षित है और कई यूरोपीय भाषाओं के लिए अच्छा काम करता है। तो यह जानता है कि एक वाक्य के अंत और एक नए वाक्य की शुरुआत में कौन से विराम चिह्न और वर्ण चिह्नित होते हैं।


9

हाल ही में मेरे साथ ऐसा ही हुआ, आपको बस "पंकट" पैकेज डाउनलोड करना होगा और यह काम करना चाहिए।

जब आप "उपलब्ध सभी चीज़ों को डाउनलोड" करने के बाद "सूची" (l) निष्पादित करते हैं, तो क्या सब कुछ निम्न प्रकार से चिह्नित किया जाता है ::?

[*] punkt............... Punkt Tokenizer Models

यदि आप इस रेखा को तारे के साथ देखते हैं, तो इसका मतलब है कि आपके पास यह है, और nltk इसे लोड करने में सक्षम होना चाहिए।


1
हे @ supreeth-meka, मुझे खुशी है कि आपने इसका समाधान ढूंढ लिया, यह वही है जो मैंने आपको सुझाया है, क्या आप मेरे जवाब को "स्वीकृत" के रूप में चिह्नित कर सकते हैं?
ईलीनिको

5

टाइप करके अजगर सांत्वना पर जाएं

$ अजगर

अपने टर्मिनल में। फिर, संबंधित पैकेजों को स्थापित करने के लिए अपने अजगर शेल में निम्न 2 कमांड टाइप करें:

>> nltk.download ('पंकट') >> nltk.download ('औसतन_परसेप्ट्रोन_टैगर')

इससे मेरे लिए समस्या हल हो गई।


2

मेरा मुद्दा यह था कि मुझे nltk.download('all')रूट उपयोगकर्ता के रूप में बुलाया गया था , लेकिन अंततः nltk का उपयोग करने वाली प्रक्रिया एक अन्य उपयोगकर्ता थी, जिसके पास / रूट / nltk_data तक पहुंच नहीं थी जहां सामग्री डाउनलोड की गई थी।

इसलिए मैंने बस पुन: डाउनलोड स्थान से एक पथ के सभी को कॉपी कर लिया, जहां NLTK इसे इस तरह ढूंढ रहा था:

cp -R /root/nltk_data/ /home/ubuntu/nltk_data

2
  1. निम्नलिखित कोड निष्पादित करें:

    import nltk
    nltk.download()
  2. इसके बाद, NLTK डाउनलोडर पॉप आउट हो जाएगा।

  3. सभी पैकेज चुनें।
  4. डाउनलोड पंक।

2

निम्न आयात करने के बावजूद मुझे एक त्रुटि मिल रही थी,

import nltk
nltk.download()

लेकिन Google कोलाब के लिए इसने मेरी समस्या हल कर दी।

   !python3 -c "import nltk; nltk.download('all')"

1

सरल nltk.download () इस समस्या को हल नहीं करेगा। मैंने नीचे की कोशिश की और यह मेरे लिए काम किया:

nltk फ़ोल्डर में एक tokenizers फ़ोल्डर बनाएं और अपने punkt फ़ोल्डर को tokenizers फ़ोल्डर में कॉपी करें।

यह काम करेगा! फ़ोल्डर संरचना को चित्र में दिखाया गया है


1

आपको अपने फ़ोल्डरों को पुनर्व्यवस्थित करने की आवश्यकता है अपने tokenizersफ़ोल्डर को nltk_dataफ़ोल्डर में ले जाएं । यदि आपके पास nltk_dataफ़ोल्डर युक्त corporaफ़ोल्डर वाला tokenizersफ़ोल्डर काम नहीं करता है


1

मेरे लिए उपरोक्त में से कुछ भी काम नहीं किया, इसलिए मैंने बस वेब साइट http://www.nltk.org/nltk_data/ से हाथ से सभी फाइलें डाउनलोड कीं और मैंने उन्हें "nltk_data" के अंदर एक फाइल "टोकन" में हाथ से भी डाल दिया। “फोल्डर। एक सुंदर समाधान नहीं है, लेकिन अभी भी एक समाधान है।



0

मैंने उसी मुद्दे का सामना किया। सब कुछ डाउनलोड करने के बाद, अभी भी 'पंकट' त्रुटि थी। मैंने C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers पर अपनी विंडो मशीन पर पैकेज खोजा और मैं वहां मौजूद 'punkt.zip' देख सकता हूं। मैंने महसूस किया कि किसी तरह ज़िप को C: \ Users \ vaibhav \ AppData \ Roaming \ nltk_data \ tokenizers \ punk में नहीं निकाला गया है। एक बार जब मैंने ज़िप निकाला, तो यह संगीत की तरह काम कर रहा था।


0

बस यह सुनिश्चित करें कि आप Jupyterनोटबुक का उपयोग कर रहे हैं और नोटबुक में, निम्न कार्य करें:

import nltk

nltk.download()

फिर एक पॉपअप विंडो दिखाई देगी (जानकारी दिखाते हुए https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/index.xml ) उसमें से आपको सब कुछ डाउनलोड करना होगा।

फिर अपने कोड को फिर से चलाएँ।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.