مرحبا،
أحاول استخدام طريقة train_unsupervised
من الوحدة النمطية nltk.hmm
، ومع ذلك ، فإنها تسبب الخطأ TypeError التالي:
TypeError: Can't instantiate abstract class RandomProbDist with abstract methods max
هذا هو الكود الذي أستخدمه:
import nltk
trainer = nltk.hmm.HiddenMarkovModelTrainer()
tagger = trainer.train_unsupervised([
('a', ''),
('b', ''),
('c', '')
])
ها هو الخطأ الكامل:
Traceback (most recent call last):
File "test.py", line 10, in <module>
('c', '')
File "/Library/Python/2.7/site-packages/nltk/tag/hmm.py", line 932, in train_unsupervised
priors = RandomProbDist(self._states)
TypeError: Can't instantiate abstract class RandomProbDist with abstract methods max
إصدار NLTK 3.2.5 ؛ تم اختباره على Python 2.7.10 و Python 2.7.14.
هل أفعل شيئًا سخيفًا خاطئًا؟
شكرا جزيلا.
يحدث هذا أيضًا باستخدام python 3.6.2 مع NLTK 3.2.5
أنا أتابع القضية رقم 1873. كنت أتلقى الخطأ
TypeError: لا يمكن إنشاء مثيل لفئة مجردة RandomProbDist بأساليب مجردة كحد أقصى
مع NLTK الإصدار 3.2.4. رأيت أن الالتزام بإصلاح هذه المشكلة كان في الإصدار 3.2.5 ، لذا قمت بتنزيله ولكنني ما زلت أحصل على نفس الخطأ. اي افكار لماذا؟
لم تنعكس التحديثات في git repo بعد في حزمة nltk pip. أود أن أقترح سحب التحديثات في الالتزامات والعمل معها.
التعليق الأكثر فائدة
يحدث هذا أيضًا باستخدام python 3.6.2 مع NLTK 3.2.5