Respostas:
O CRF ++ é uma escolha popular em geral e possui ligações Python . O CRFSuite também possui ligações documentadas aqui , mas não parece ter sido tão amplamente usado quanto o CRF ++. No momento da redação deste artigo, estruturas de aprendizado de máquina de nível superior, como o scikit-learn, não têm suporte a CRF (consulte esta solicitação de recebimento ).
O CRF ++ possui mais links de entrada porque é uma biblioteca mais antiga.
O CRFSuite é superior na minha opinião.
Se você está procurando ligações do Python, o CRFSuite também é melhor porque você pode treinar um modelo em Python, enquanto que no CRF ++ é possível testar apenas os modelos existentes no Python. (Esse foi o fator decisivo para mim.) O CRFSuite também vem com vários exemplos de código em Python, como NER, Chunking e marcação de POS.
Aqui estão alguns outros wrappers / implementações:
exit()
, e eu vi vazamentos de memória durante o treinamento. Além disso, o wapiti é limitado em um tipo de recurso que pode representar, mas o CRFsuite também é limitado (de uma maneira diferente). O Wapiti é empacotado em um invólucro, não é necessário instalá-lo separadamente.Eu recomendo usar o seqlearn, se puder, python-crfsuite, se você precisar de algoritmos de treinamento e velocidade de treinamento CRFsuite, pyCRFsuite, se você precisar de uma integração mais avançada do CRFsuite e estiver pronto para enfrentar alguns inconvenientes, python-wapiti, se você precisar de algoritmos ou recursos de treinamento do Wapiti não está disponível no CRFsuite (como condicionar observações individuais em transições) e no crv de timvieira, se não houver como fazer com que um compilador C / C ++ funcione, mas um número pré-construído esteja disponível.
Eu acho que o que você está procurando é PyStruct .
O PyStruct visa ser uma biblioteca estruturada de aprendizado e previsão fácil de usar. Atualmente, ele implementa apenas métodos de margem máxima e um perceptron, mas outros algoritmos podem seguir.
O objetivo do PyStruct é fornecer uma ferramenta bem documentada para que pesquisadores e não especialistas utilizem algoritmos de previsão estruturada. O design tenta ficar o mais próximo possível da interface e das convenções do scikit-learn.
PyStruct
vem com boa documentação e é desenvolvido ativamente no github .
Abaixo está uma tabela comparando PyStruct
com CRFsuite
e outros pacotes, extraída da previsão do PyStruct - Structured no Python :