Jawaban:
CRF ++ adalah pilihan yang populer secara umum, dan memiliki binding Python . CRFSuite juga memiliki binding yang didokumentasikan di sini , tetapi tampaknya tidak terlihat digunakan secara luas seperti CRF ++. Pada tulisan ini, kerangka kerja pembelajaran mesin tingkat tinggi seperti scikit-belajar kekurangan dukungan CRF (lihat permintaan tarik ini ).
CRF ++ memiliki lebih banyak tautan masuk karena ini adalah perpustakaan yang lebih tua.
CRFSuite lebih unggul menurut saya.
Jika Anda mencari pengikat Python, CRFSuite juga lebih baik karena Anda bisa melatih model dengan Python, sedangkan di CRF ++ Anda hanya bisa menguji model yang ada di Python. (Itu adalah pemecah kesepakatan bagi saya.) CRFSuite juga dilengkapi dengan banyak contoh kode dalam Python, seperti NER, Chunking, dan penandaan POS.
Berikut beberapa pembungkus / implementasi lainnya:
exit()
, dan saya telah melihat memori bocor selama pelatihan. Selain itu, wapiti terbatas dalam jenis fitur yang dapat diwakilinya, tetapi CRFsuite juga terbatas (dengan cara yang berbeda). Wapiti dibundel dalam bungkus, tidak perlu menginstalnya secara terpisah.Saya akan merekomendasikan untuk menggunakan seqlearn jika Anda bisa, python-crfsuite jika Anda memerlukan algoritma pelatihan CRFsuite dan kecepatan pelatihan, pyCRFsuite jika Anda memerlukan integrasi CRFsuite yang lebih maju dan siap menghadapi beberapa ketidaknyamanan, python-wapiti jika Anda memerlukan algoritme atau fitur pelatihan Wapiti tidak tersedia di CRFsuite (seperti mengkondisikan pengamatan individu pada transisi) dan crf timvieira jika tidak ada cara untuk membuat kompiler C / C ++ bekerja, tetapi numpy prebuilt tersedia.
Saya pikir apa yang Anda cari adalah PyStruct .
PyStruct bertujuan untuk menjadi perpustakaan pembelajaran dan prediksi terstruktur yang mudah digunakan. Saat ini hanya mengimplementasikan metode max-margin dan perceptron, tetapi algoritma lain mungkin mengikuti.
Tujuan dari PyStruct adalah untuk menyediakan alat yang terdokumentasi dengan baik untuk para peneliti dan juga non-ahli untuk menggunakan algoritma prediksi terstruktur. Desain mencoba untuk tetap sedekat mungkin dengan antarmuka dan konvensi scikit-belajar.
PyStruct
dilengkapi dengan dokumentasi yang baik , dan secara aktif dikembangkan di github .
Di bawah ini adalah tabel yang membandingkan PyStruct
dengan CRFsuite
dan paket lainnya, diekstraksi dari PyStruct - Prediksi terstruktur dalam Python :