Hallo,
Ich versuche, die train_unsupervised
-Methode aus dem nltk.hmm
-Modul zu verwenden, es wird jedoch der folgende TypeError ausgelöst:
TypeError: Can't instantiate abstract class RandomProbDist with abstract methods max
Hier ist der Code, den ich verwende:
import nltk
trainer = nltk.hmm.HiddenMarkovModelTrainer()
tagger = trainer.train_unsupervised([
('a', ''),
('b', ''),
('c', '')
])
Hier ist der vollständige Fehler:
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 Version 3.2.5; getestet auf Python 2.7.10 und Python 2.7.14.
Mache ich etwas Dummes falsch?
Vielen Dank.
Dies geschieht auch mit Python 3.6.2 mit NLTK 3.2.5
Ich verfolge Ausgabe Nr. 1873. Ich habe den Fehler bekommen
TypeError: Die abstrakte Klasse RandomProbDist kann nicht mit abstrakten Methoden max
mit NLTK Version 3.2.4. Ich habe gesehen, dass das Commit zur Behebung dieses Problems in Version 3.2.5 war, also habe ich das heruntergeladen, aber ich erhalte immer noch den gleichen Fehler. Irgendwelche Ideen warum?
Die Updates im Git-Repo sind noch nicht im nltk pip-Paket enthalten. Ich würde vorschlagen, die Updates in den Commits abzurufen und damit zu arbeiten.
Hilfreichster Kommentar
Dies geschieht auch mit Python 3.6.2 mit NLTK 3.2.5