답변:
CRF ++ 는 일반적으로 인기있는 선택이며 Python 바인딩이 있습니다. CRFSuite 에는 여기에 바인딩 된 문서가 있지만 CRF ++만큼 널리 사용되는 것으로 보이지는 않습니다. 이 글을 쓰는 시점에서 scikit-learn과 같은 고급 머신 러닝 프레임 워크에는 CRF 지원이 없습니다 ( 이 풀 요청 참조 ).
CRF ++는 이전 라이브러리이므로 더 많은 수신 링크가 있습니다.
CRFSuite 는 제 의견이 우수합니다.
파이썬 바인딩을 찾고 있다면 CRFSuite가 더 좋습니다. 파이썬에서 모델을 훈련시킬 수 있기 때문에 CRF ++에서는 파이썬으로 기존 모델 만 테스트 할 수 있습니다. CRFSuite에는 NER, Chunking 및 POS 태깅과 같은 Python의 예제 코드가 함께 제공됩니다.
다른 래퍼 / 구현은 다음과 같습니다.
exit()
훈련 중에 메모리 누수가 발생했습니다. 또한 wapiti는 표현할 수있는 기능 유형이 제한되어 있지만 CRFsuite도 (다른 방식으로) 제한됩니다. Wapiti는 래퍼에 번들로 제공되므로 별도로 설치할 필요가 없습니다.가능한 경우 seqlearn을 사용하고 CRFsuite 교육 알고리즘 및 교육 속도가 필요한 경우 python-crfsuite, 고급 CRFsuite 통합이 필요하고 불편을 겪을 준비가되면 pyCRFsuite, Wapiti 교육 알고리즘 또는 기능이 필요한 경우 python-wapiti를 사용하는 것이 좋습니다 C / C ++ 컴파일러를 작동시킬 방법이 없지만 사전 빌드 된 numpy를 사용할 수있는 경우 CRFsuite (전환에 대한 개별 관측 조건 조정과 같은) 및 timvieira의 crf에서는 사용할 수 없습니다.
나는 당신이 찾고있는 것이 PyStruct 라고 생각합니다 .
PyStruct는 사용하기 쉬운 구조화 된 학습 및 예측 라이브러리가되는 것을 목표로합니다. 현재 max-margin 메소드와 perceptron 만 구현하지만 다른 알고리즘이 따를 수 있습니다.
PyStruct의 목표는 비전문가뿐만 아니라 연구원들에게 체계적인 예측 알고리즘을 활용할 수 있도록 잘 문서화 된 도구를 제공하는 것입니다. 디자인은 scikit-learn의 인터페이스 및 규칙에 최대한 가깝게 유지하려고합니다.
PyStruct
좋은 문서 와 함께 제공되며 , github에서 활발히 개발되었습니다 .
아래 비교하는 테이블 PyStruct
로 CRFsuite
와에서 추출한 다른 패키지, PyStruct - 파이썬에서 구조화 예측 :