2016-01-06 28 views
5

Daha önce NgramModel sınıfını nltk'de nltk'de kullanıyorum. Ancak, nltk'yi version 3.1 olarak güncelledim ve artık NgramModel sınıfını bulamıyorum. Her zamanki gibi içe çalıştığınızda:nltk NgramModel hatası

from nltk.model import NgramModel

Ben hatayı

ImportError: No module named 'nltk.model' olsun.

NgramModel veya model modülü yakın zamanda değiştirildi mi?

+1

NgramModel sabitleninceye kadar, https://github.com/kpu/kenlm ve onun python sarıcısını deneyebilirsiniz. – alvas

cevap

6

bugs nedeniyle open issue budur.

Bu

sayısında belirtilmektedir:

If you're currently using the version from github, you can switch to the "model" branch, which includes the NgramModel code, though it's currently significantly behind the "develop" branch and hasn't picked up all the newest bug fixes.

modeli dalına bağlantı here olduğunu.

+2

Teşekkürler! Hatalardan dolayı, aynı dil modeli özelliklerine sahip başka bir modüle geçmenizi önerir misiniz? – istewart

+1

@istewart Hatalar sizi rahatsız etmediyse, muhtemelen 'model' modülünü yerel NLTK yüklemenize ekleyebilirsiniz. Böylece hem yeni NLTK özelliklerine hem de istediğiniz NGramModel'e sahip olacaksınız. YMMV, yine de. – erip

+1

Güncelleme: Beklediğim gibi güncelledim ve şimdi NgramModel’in ithalatı iyi. Ancak, bir dil modeli oluşturduktan sonra, entropiyi hesaplamaya çalıştım ve şu hatayı aldım: 'Dosya" /Library/Python/2.7/site-packages/nltk/model/ngram.py ", satır 171, prob return self._probdist.prob ((context, word)) AttributeError: 'NgramModel' nesnesinin '_probdist' 'özniteliği yok' Bu yüzden, eğer mümkünse başka bir dil modeli sınıfı kullanacağımı düşünüyorum. – istewart