こんにちは、
nltk.hmm
モジュールからtrain_unsupervised
メソッドを使用しようとしていますが、次の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; Python2.7.10およびPython2.7.14でテスト済み。
私は愚かな間違ったことをしていますか?
どうもありがとうございました。
これは、Python3.6.2とNLTK3.2.5を使用しても発生します。
私は問題#1873をフォローアップしています。 エラーが発生していました
TypeError:抽象メソッドmaxで抽象クラスRandomProbDistをインスタンス化できません
NLTKバージョン3.2.4を使用。 この問題を修正するためのコミットがバージョン3.2.5にあるのを見たので、それをダウンロードしましたが、それでも同じエラーが発生します。 なぜ何かアイデアはありますか?
gitリポジトリの更新は、nltkpipパッケージにはまだ反映されていません。 コミットで更新をプルして操作することをお勧めします。
最も参考になるコメント
これは、Python3.6.2とNLTK3.2.5を使用しても発生します。