Risposte:
CRF ++ è una scelta popolare in generale e ha collegamenti Python . CRFSuite ha anche i collegamenti documentati qui , ma non sembra aver visto un uso così diffuso come CRF ++. Al momento della stesura di questo documento, i framework di apprendimento automatico di livello superiore come scikit-learn mancano del supporto CRF (vedere questa richiesta pull ).
CRF ++ ha più collegamenti in entrata perché è una libreria più vecchia.
CRFSuite è superiore secondo me.
Se stai cercando i collegamenti Python, CRFSuite è anche meglio perché puoi addestrare un modello in Python, mentre in CRF ++ puoi testare solo i modelli esistenti in Python. (Questo è stato il punto di rottura per me.) CRFSuite include anche un sacco di codice di esempio in Python, come NER, Chunking e POS.
Ecco alcuni altri wrapper / implementazioni:
exit()
e durante l'allenamento ho riscontrato perdite di memoria. Inoltre, wapiti è limitato in un tipo di funzionalità che può rappresentare, ma anche CRFsuite è limitato (in un modo diverso). Wapiti è raggruppato in un wrapper, non è necessario installarlo separatamente.Ti consiglio di usare seqlearn se puoi, python-crfsuite se hai bisogno di algoritmi di allenamento CRFsuite e velocità di allenamento, pyCRFsuite se hai bisogno di un'integrazione CRFsuite più avanzata e pronto ad affrontare alcuni inconvenienti, python-wapiti se hai bisogno di algoritmi o funzionalità di allenamento Wapiti non disponibile in CRFsuite (come condizionare le singole osservazioni sulle transizioni) e crf di timvieira se non c'è modo di far funzionare un compilatore C / C ++, ma è disponibile un numpy predefinito.
Penso che quello che stai cercando sia PyStruct .
PyStruct mira ad essere una libreria di apprendimento e previsione strutturata di facile utilizzo. Attualmente implementa solo metodi con margine massimo e un percettrone, ma potrebbero seguire altri algoritmi.
L'obiettivo di PyStruct è di fornire uno strumento ben documentato ai ricercatori e ai non esperti per utilizzare algoritmi di predizione strutturati. Il design cerca di rimanere il più vicino possibile all'interfaccia e alle convenzioni di scikit-learn.
PyStruct
viene fornito con una buona documentazione ed è attivamente sviluppato su github .
Di seguito è una tabella che confronta PyStruct
con CRFsuite
e altri pacchetti, estratti da PyStruct - Previsione strutturata in Python :