2015-10-17 15 views
7

मैं पाइथन 3.4 के लिए एनएलटीके स्थापित करने की कोशिश कर रहा हूं। प्रतीत होता है कि वास्तविक एनएलटीके मॉड्यूल ठीक है। मैं फिरएनएलटीके डेटा तिथि से बाहर - पायथन 3.4

import nltk 

nltk.download() 

और सबकुछ डाउनलोड करना चुना। हालांकि, इसे पूरा करने के बाद, खिड़की बस 'पुरानी तारीख' कहती है। मैंने रीफ्रेशिंग और डाउनलोड करने का प्रयास किया, फिर भी यह यहां दिखाए गए 'आउट ऑफ़ डेट' रहता है: NLTK Window 1

मैंने ऑनलाइन देखा और विभिन्न सुधारों का प्रयास किया, लेकिन मुझे ऐसा कोई भी नहीं मिला जो मेरे मामले में अभी तक मदद करता है।

मैंने लापता हिस्सों को मैन्युअल रूप से खोजने की भी कोशिश की, जो 'ओपन बहुभाषी वर्डनेट' और 'वर्डनेट' बन गया। यहां बताया गया है कि मैंने पाया कि कौन से हिस्से गायब थे: Open Multilingual Wordnet

मुझे क्या करना चाहिए? क्या मुझे एनएलटीके को अनइंस्टॉल और पुनर्स्थापित करना चाहिए? मुझे वास्तव में संकुल को हटाने का कोई तरीका नहीं मिला है (इसे मैन्युअल रूप से हटाने के अलावा)।

संपादित करें: समाधान 2 और समाधान 3 के बारे में: समाधान 2 इस मुद्दे पर और अधिक स्पष्टीकरण के लिए:

अगर कुछ सफलतापूर्वक डाउनलोड किया गया है, यह उत्पादन होता है:

>>> nltk.download('subjectivity') 
[nltk_data] Downloading package subjectivity to 
[nltk_data]  C:\Users\Shane\AppData\Roaming\nltk_data... 
[nltk_data] Package subjectivity is already up-to-date! 
True 

हालांकि, 'Wordnet के लिए

>>> nltk.download('omw') 
[nltk_data] Downloading package omw to 
[nltk_data]  C:\Users\Shane\AppData\Roaming\nltk_data... 
[nltk_data] Unzipping corpora\omw.zip. 
True 
+1

आप किस ओएस का उपयोग कर रहे हैं? – alvas

+0

मैं विंडोज 7 – pyman

उत्तर

8

संक्षेप में:: 'और' OMW ', यह क्या है जब मैं redownload होता है

जीयूआई का उपयोग न करें, पाइथन दुभाषिया के भीतर सभी संकुल जोड़ें।

$ python3 
>>> import nltk 
>>> nltk.download('all') 

लंबे में:

यह Open Multilingual WordNet की हाल ही में इसके अतिरिक्त की वजह से हो सकता है और कुछ NLTK डाउनलोड जीयूआई इंटरफेस और सूचकांक के साथ सही काम नहीं कर रहा।

समाधान 1:

सीधे शब्दों में nltk.download() जीयूआई उपयोग करें और सभी चयनित किए बिना दो संकुल डाउनलोड करें। (काम न करे लेकिन कोशिश के लायक)

समाधान 2:

>>> import nltk 
>>> nltk.download('wordnet') 
>>> nltk.download('omw') # Open Multilingual WordNet 

समाधान 3::

nltk.download('all') चलो

अजगर दुभाषिया के माध्यम से अलग-अलग पैकेज को स्थापित करें अपने सूचकांक में सभी संकुलों के माध्यम से जांचें और अगर वे उपलब्ध नहीं हैं तो उन्हें डाउनलोड करें।

>>> import nltk 
>>> nltk.downlad('all') 

नोट: किसी भी फाइल दूषित है संभवतः कारण इंटरनेट कनेक्शन टूट के लिए हैं, तो बस निर्देशिका जहां NLTK डेटा संग्रहीत किया जाता है और फिर समाधान 3.

के साथ आगे बढ़ना जहां nltk_data संग्रहीत किया जाता है पता करने के लिए मिल जाए, nltk.data.path भंडार संभावित स्थानों:

>>> import nltk 
>>> nltk.data.path 
['/home/alvas/nltk_data', '/usr/share/nltk_data', '/usr/local/share/nltk_data', '/usr/lib/nltk_data', '/usr/local/lib/nltk_data'] 

के बिंदु के बाद से डेटा डाउनलोड उन्हें इस्तेमाल करने, पता है कि तुम घटकों की जरूरत नहीं भूल रहे हैं है, और है कि अगर wordnet और omw है, तो आप इस कोशिश कर सकते हैं:

>>> from nltk.corpus import wordnet as wn 
>>> wn.synsets('bank')[0] 
Synset('bank.n.01') 
>>> wn.synsets('bank')[0].lemma_names('spa') 
['margen', 'orilla', 'vera'] 
>>> wn.synsets('bank')[0].lemma_names('fre') 
['rive', 'banque'] 

इतना चिंता मत करो के रूप में क्या दिखाया गया है जीयूआई पर एक बार nltk.download('all') त्रुटियों के बिना पूरा हो गया है, इसका मतलब है कि आपके पास सभी निगम और मॉडल हैं जो एनएलटीके का समर्थन करता है।

लेकिन एक अच्छी प्रैक्टिस के रूप में, कृपया https://github.com/nltk/nltk_data/issues में कोई समस्या उठाएं ताकि डेवलपर जांच सकें कि समस्या को दोहराया जा सकता है या नहीं। त्रुटि की कुछ और प्रिंटरस्क्रीन दिखाएं। प्रस्तावित समाधानों के पहले और बाद में भी =)

+0

का उपयोग कर रहा हूं आपके उत्तर के लिए धन्यवाद। मैंने पहले ही समाधान 1 की कोशिश की थी, लेकिन इसने इस मुद्दे को ठीक नहीं किया। मैंने समाधान 2 की भी कोशिश की, लेकिन जब मैं जीयूआई के पास गया, तब भी उसने 'तारीख से बाहर' कहा। इसके अलावा, अगर मैंने उस विधि के माध्यम से 'वर्डनेट' और 'ओमू' को फिर से लोड करने का प्रयास किया है, तो यह इसे फिर से लोड कर देगा जैसे कि यह पहले नहीं था (जैसा कि "xyz पहले से अद्यतित है") के विपरीत है। मैंने अभी समाधान 3 का प्रयास किया है। मैं कैसे बता सकता हूं कि यह ठीक से काम करता है या नहीं? जीयूआई में जाकर, यह अभी भी 'शब्दनेट' और 'omw' दोनों के लिए 'पुराना' कहता है। अगर मैं समाधान 3 के बाद समाधान 2 लागू करता हूं, तो यह फिर से लोड हो जाता है जैसे कि यह वहां भी नहीं था। – pyman

+0

कृपया समाधान 2 समस्या के लिए ऊपर देखें (क्षमा करें, मैं यहां कोड को सही तरीके से टाइप नहीं कर सकता) – pyman

+0

गुई और कमांड लाइन चेक समान हैं - जब ऐसा होता है, तो आमतौर पर ऐसा होता है क्योंकि एनएलटीके इंडेक्स (https पर: //github.com/nltk/nltk_data/blob/gh-pages/index.xml) आखिरी जेनरेट किया गया था ...इस प्रकार "सूचकांक पुराना है" का अर्थ यह हो सकता है कि आप वर्तमान नहीं हैं क्योंकि आपके पास संकुल के पुराने संस्करण हैं या आपके पास नए संस्करण हैं। – MartyMacGyver

1

"पुरानी तारीख" संदेशों के बारे में चिंता न करें, यह आपके समय का कचरा है। बस आगे बढ़ें और nltk का उपयोग करें।

एनएलटीके के डेटा संसाधन लगभग पूरी तरह से एक-दूसरे से स्वतंत्र हैं। आपके पास कभी भी "आउट ऑफ़" के रूप में चिह्नित पैकेजों का उपयोग करने का कोई कारण नहीं हो सकता है, लेकिन यदि आप ऐसा करते हैं, तो संभावना है कि वे वास्तव में पूरी तरह से स्थापित और उपयोग योग्य हैं।

फिर भी, यह भी मुझे क्या हुआ है और इस मैं क्या पाया है: ऐसा लगता है कि डाउनलोडर पर विचार के लिए एक संसाधन "पुराना हो चुका" होने के लिए अगर यह है कि संसाधन प्रकट नहीं कर रहे हैं अपने डाउनलोड फ़ोल्डर में फ़ाइलें का पता लगाता है। शायद यह कभी-कभी गलत कॉन्फ़िगर किए गए संसाधनों के कारण होता है, लेकिन यदि आप किसी निर्देशिका ब्राउज़र के साथ प्रश्नों के संसाधनों का दौरा करते हैं, तो हो सकता है कि आपने अपने जीयूआई, या अपने संपादक द्वारा छोड़े गए भटक फ़ाइलों के माध्यम से मेल नहीं खाया हो, या जो जानता है। उदाहरण के लिए, एक मैक पर फाइंडर .DS_Store फ़ाइल को उन निर्देशिकाओं में छोड़ देगा जो विज़िट करते हैं।

लेकिन जैसा कि मैंने कहा, "समस्या" वास्तव में फिक्सिंग के लायक नहीं है। एनएलटीके का आनंद लें!

पी एस। जहां तक ​​मुझे पता है, आपकी nltk_data निर्देशिका को रीफ्रेश करने का सबसे अच्छा (और वास्तव में केवल) तरीका पूरी चीज़ को हटाना और फिर से डाउनलोड करना है।