2015-10-17 21 views
7

NLTK for Python 3.4 programını kurmaya çalışıyorum. Gerçek NLTK modülünün kurulumu iyi görünüyor. SonraNLTK verileri güncel değil - Python 3.4

'u çalıştırın ve her şeyi indirmeyi seçtim. Ancak, yapıldıktan sonra, pencere sadece 'tarih dışı' diyor. Yenilemeyi ve indirmeyi denedim, ancak şu ana kadar 'tarih dışı' kalıyor: NLTK Window 1

Çevrimiçiydim ve çeşitli düzeltmeler denedim, ancak henüz benim durumumda bu kadar yardımcı olmadım.

Ayrıca 'Açık Çok Dilli Wordnet' ve 'Wordnet' olduğu ortaya çıkan eksik parçaları manuel olarak bulmaya çalıştım. Hangi parçaların eksik olduğunu şu şekilde buldum: Open Multilingual Wordnet.

Ne yapmalıyım? NLTK'yi kaldırmalı mıyım? Paketleri silmenin bir yolunu bulamadım (elle silmek dışında).

DÜZENLEME: wordnet' için, Ancak

>>> 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 

: Çözüm 2 konuda daha fazla açıklama için : Çözüm 2 ve Çözüm 3 İlişkin

şey başarıyla indirildikten ise

, bu çıkışı

>>> 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

Hangi İşletim Sistemini kullanıyorsunuz? – alvas

+0

Windows 7 kullanıyorum – pyman

cevap

8

Kısacası: 've '' omw, bu şimdiye yeniden indirmek böyle olur

GUI'yi kullanmayın, tüm paketleri python yorumlayıcısına ekleyin. Uzun yılında

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

:

Çünkü Open Multilingual WordNet son ek olabilecek ve bir şey NLTK indirme GUI arayüzü ve endeksleri ile doğru çalışmıyor.

Çözüm 1:

Basitçe nltk.download() GUI kullanımı ve tüm seçmeden iki paket indirin.

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

Çözüm 3:

nltk.download('all') Let

piton tercüman aracılığıyla bireysel olarak paketi yükleyin:

Çözüm 2 (çalışmak ancak değer denemek olmayabilir) dizinindeki tüm paketleri kontrol edin ve uygun değilse indirin.

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

Not: Herhangi bir dosya internet bağlantısı kırılan muhtemelen bozuktur, basitçe NLTK verilerin saklandığı ve daha sonra nltk_data depolandığı yeri bulmak için solüsyon 3.

devam edilir dizini bulmak, nltk.data.path saklar olası yerler: noktasında yana

>>> 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'] 

veri indirme İhtiyacınız bileşenleri kaçırmıyorsunuz bilmek, bunları kullanmak, ve bu wordnet ve omw ise, bu deneyebilirsiniz:

>>> 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'] 
gösterilmiştir ne gibi bu kadar endişe etmeyin

GUI üzerinde. nltk.download('all') bir kez hatasız tamamlandığında, NLTK'nın desteklediği tüm şirket ve modellere sahip olduğunuz anlamına gelir.

Ancak, iyi bir uygulama olarak, https://github.com/nltk/nltk_data/issues numaralı telefon numaranızdaki bir sorunu kaldırın, böylece geliştiriciler sorunun tekrarlanıp çoğaltılamayacağını kontrol edebilirler. Hatanın daha fazla baskı ekranını göster. Önerilen çözümlerden önce ve sonra çok =)

+0

Cevabınız için teşekkürler. Çözüm 1'i denedim, ancak sorunu çözmedi. Ayrıca Çözüm 2'yi de denedim, ancak GUI'ye gittiğimde hala 'güncel değil' dedim. Dahası, eğer 'wordnet' ve 'omw' yeniden indirmeyi denediysem, daha önce olmadığı gibi (xyz zaten günceldir). Az önce Çözüm 3'ü denedim. Düzgün çalışıp çalışmadığını nasıl anlarım? GUI'ye gitmek, hala 'wordnet' ve 'omw' için 'tarihin dışında' diyor. Çözelti 3'ten sonra çözüm 2'yi uygularsam, sanki orada olmadığı gibi yeniden indirir. – pyman

+0

Lütfen çözüm 2 sorunu için yukarıdaki bölüme bakın (üzgünüm, kodu doğru bir şekilde yazamıyorum) – pyman

+0

GUI ve komut satırı denetimleri aynıdır - bu olduğunda, genellikle bir dış paket nltk dizininden (https: //github.com/nltk/nltk_data/blob/gh-pages/index.xml) en son oluşturuldu ...Böylece "dizin güncel değil", eski paket sürümleriniz olduğu için VEYA daha yeni sürümleriniz olduğu için geçerli olmadığınız anlamına gelebilir. – MartyMacGyver

1

"Güncel olmayan" mesajlar için endişe etme, zaman kaybı. Sadece devam et ve nltk'yi kullan.

NLTK'nin veri kaynakları neredeyse tamamen birbirinden bağımsızdır. "Güncel olmayan" olarak işaretlenmiş paketlerden herhangi birini kullanmak için asla bir nedeniniz olmayabilir, ancak bunu yapsanız bile, aslında tamamen yüklü ve kullanılabilir olma şansları vardır.

Yine de, bu bana da oldu ve bulduğum şey şu: İndirme aracısı, kaynak göstergesinde olmayan indirme klasöründeki dosyaları algılarsa, bir kaynağın "güncelliğini yitireceğini" düşünecektir. Belki de bu bazen yanlış yapılandırılmış kaynaklardan kaynaklanır, ancak söz konusu kaynakları bir dizin tarayıcısıyla ziyaret etmiş olsaydınız, GUI'nizin ya da editörünüzün geride bıraktığı ya da kimin ne olduğunu bilerek ortaya çıkan sorunlu dosyalardan kaynaklanan uyumsuzluğa neden olmuş olabilirsiniz. Örneğin, Mac’te Bulucu, ziyaret ettiği dizinlere .DS_Store dosyasını bırakacaktır. Ama dediğim gibi, "problem", gerçekten düzeltmeye değmez. NLTK'nin tadını çıkarın!

PS. Bildiğim kadarıyla, nltk_data dizini yenilemek için en iyi (ve sadece tek) yolu, tüm şeyi silmek ve tekrar indirmek.