Ответы:
CRF ++ является популярным выбором в целом и имеет привязки Python . CRFSuite также имеет привязки документированные здесь , но , кажется, не видела , как много широкого применения в качестве CRF ++. На момент написания этой статьи в системах машинного обучения более высокого уровня, таких как scikit-learn, отсутствует поддержка CRF (см. Этот запрос на извлечение ).
CRF ++ имеет больше входящих ссылок, потому что это старая библиотека.
CRFSuite превосходит по моему мнению.
Если вы ищете привязки Python, CRFSuite также лучше, потому что вы можете обучать модель в Python, в то время как в CRF ++ вы можете тестировать только существующие модели в Python. (Это стало для меня преградой.) CRFSuite также поставляется с набором примеров кода на Python, таких как NER, Chunking и POS-теги.
Вот некоторые другие оболочки / реализации:
exit()
, и я видел утечки памяти во время обучения. Кроме того, wapiti ограничен в типе функций, которые он может представлять, но CRFsuite также ограничен (по-другому). Wapiti поставляется в обертке, не нужно устанавливать ее отдельно.Я бы порекомендовал использовать seqlearn, если вы можете, python-crfsuite, если вам нужны алгоритмы обучения CRFsuite и скорость обучения, pyCRFsuite, если вам нужна более продвинутая интеграция CRFsuite и готов столкнуться с некоторыми неудобствами, python-wapiti, если вам нужны алгоритмы или функции обучения Wapiti. недоступно в CRFsuite (например, для подготовки отдельных наблюдений за переходами) и CRF Тимвиера, если нет способа заставить работать компилятор C / C ++, но имеется готовый numpy.
Я думаю, что вы ищете PyStruct .
PyStruct стремится быть простой в использовании библиотекой структурированного обучения и прогнозирования. В настоящее время он реализует только методы max-margin и персептрон, но могут следовать и другие алгоритмы.
Целью PyStruct является предоставление хорошо документированного инструмента для исследователей, а также неспециалистов, чтобы использовать алгоритмы структурированного прогнозирования. Дизайн старается держаться как можно ближе к интерфейсу и соглашениям scikit-learn.
PyStruct
поставляется с хорошей документацией и активно разрабатывается на github .
Ниже приведена таблица сравнения PyStruct
с CRFsuite
другими пакетами, извлеченная из PyStruct - Структурное предсказание в Python :