Odpowiedzi:
CRF ++ jest ogólnie popularnym wyborem i ma powiązania w języku Python . CRFSuite ma tu również udokumentowane powiązania , ale nie wydaje się, aby było tak szeroko rozpowszechnione jak CRF ++. W tym piśmie ramy uczenia maszynowego wyższego poziomu, takie jak scikit-learn, nie obsługują CRF (zobacz to żądanie ściągnięcia ).
CRF ++ ma więcej linków przychodzących, ponieważ jest to starsza biblioteka.
CRFSuite jest moim zdaniem lepszy.
Jeśli szukasz powiązań w Pythonie, CRFSuite jest również lepszy, ponieważ możesz trenować model w Pythonie, podczas gdy w CRF ++ możesz testować tylko istniejące modele w Pythonie. (To było dla mnie przełamanie umowy.) CRFSuite zawiera także kilka przykładowych kodów w Pythonie, takich jak NER, Chunking i tagowanie POS.
Oto kilka innych opakowań / implementacji:
exit()
, a podczas treningu widziałem przecieki pamięci. Ponadto, wapiti jest ograniczone w rodzaju funkcji, które może reprezentować, ale CRFsuite jest również ograniczony (w inny sposób). Wapiti jest pakowany w opakowanie, nie trzeba instalować go osobno.Polecam użycie seqlearn, jeśli możesz, python-crfsuite, jeśli potrzebujesz algorytmów szkoleniowych CRFsuite i prędkości treningu, pyCRFsuite, jeśli potrzebujesz bardziej zaawansowanej integracji CRFsuite i jesteś gotowy na pewne niedogodności, python-wapiti, jeśli potrzebujesz algorytmów szkoleniowych lub funkcji Wapiti niedostępne w CRFsuite (np. warunkowanie indywidualnych obserwacji przejść) i CRF timvieira, jeśli nie ma sposobu na uruchomienie kompilatora C / C ++, ale dostępna jest wstępnie skonfigurowana numpy.
Myślę, że szukasz PyStruct .
PyStruct ma być łatwą w użyciu, ustrukturyzowaną biblioteką do uczenia się i prognozowania. Obecnie implementuje tylko metody maksymalnego marginesu i perceptron, ale mogą wystąpić inne algorytmy.
Celem PyStruct jest dostarczenie dobrze udokumentowanego narzędzia zarówno dla naukowców, jak i osób niebędących ekspertami, do korzystania ze strukturalnych algorytmów prognozowania. Projekt stara się być jak najbliżej interfejsu i konwencji scikit-learn.
PyStruct
pochodzi z dobrą dokumentacją i jest aktywnie rozwijany na github .
Poniżej znajduje się tabela porównująca PyStruct
z CRFsuite
innymi pakietami i wyodrębniona z PyStruct - Structured prediction in Python :