Existe-t-il une implémentation populaire de champs aléatoires conditionnels en Python ?
Je n'arrive pas à en trouver qui soient largement utilisés et populaires!
Existe-t-il une implémentation populaire de champs aléatoires conditionnels en Python ?
Je n'arrive pas à en trouver qui soient largement utilisés et populaires!
Réponses:
CRF ++ est un choix populaire en général et possède des liaisons Python . CRFSuite a également des liaisons documentées ici , mais ne semble pas avoir eu une utilisation aussi répandue que CRF ++. Au moment d'écrire ces lignes, les frameworks d'apprentissage automatique de niveau supérieur tels que scikit-learn ne prennent pas en charge le format CRF (voir cette demande d'extraction ).
la source
CRF ++ a plus de liens entrants car il s'agit d'une bibliothèque plus ancienne.
CRFSuite est supérieur à mon avis.
Si vous recherchez des liaisons Python, CRFSuite est également préférable, car vous pouvez former un modèle en Python, tandis que dans CRF ++, vous ne pouvez tester que des modèles existants en Python. CRFSuite est également fourni avec un tas d'exemples de code en Python, tels que NER, Chunking et le marquage POS.
la source
Voici quelques autres wrappers / implémentations:
exit()
, et j'ai constaté des fuites de mémoire au cours de la formation. En outre, wapiti est limité dans un type de fonctionnalités qu'il peut représenter, mais CRFsuite est également limité (d'une manière différente). Wapiti est fourni dans un emballage, inutile de l'installer séparément.Je vous recommande d'utiliser seqlearn si vous le pouvez, python-crfsuite si vous avez besoin d'algorithmes et de vitesse de formation CRFsuite, pyCRFsuite si vous avez besoin d'une intégration plus avancée de CRFsuite et prêt à faire face à certains inconvénients, python-wapiti si vous avez besoin d'algorithmes ou de fonctionnalités de formation Wapiti. non disponible dans CRFsuite (comme le conditionnement d'observations individuelles sur les transitions) et dans le fichier crf de timvieira s'il n'existe aucun moyen de faire fonctionner un compilateur C / C ++, mais un numpy pré-construit est disponible.
la source
Je pense que ce que vous recherchez, c'est PyStruct .
PyStruct
vient avec une bonne documentation , et il est activement développé sur github .Vous trouverez ci-dessous un tableau comparatif
PyStruct
avecCRFsuite
et d'autres packages, extrait de PyStruct - Prédiction structurée en Python :la source