Python中是否有流行的条件随机字段实现?
我似乎找不到任何被广泛使用和流行的!
Python中是否有流行的条件随机字段实现?
我似乎找不到任何被广泛使用和流行的!
CRF++ 有更多的传入链接,因为它是一个较旧的库。在我看来,
CRFSuite更胜一筹。
如果您正在寻找 Python 绑定 CRFSuite 也更好,因为您可以在 Python 中训练模型,而在 CRF++ 中您只能在 Python 中测试现有模型。(这对我来说是个大问题。) CRFSuite 还附带了一堆 Python 示例代码,例如 NER、Chunking 和 POS 标记。
以下是其他一些包装器/实现:
exit()
,而且我在训练期间看到了内存泄漏。此外,wapiti 在它可以表示的一种特征方面受到限制,但 CRFsuite 也受到限制(以不同的方式)。Wapiti 捆绑在一个包装器中,无需单独安装。如果可以的话,我建议使用 seqlearn,如果你需要 CRFsuite 训练算法和训练速度,我建议使用 python-crfsuite,如果你需要更高级的 CRFsuite 集成并准备好面对一些不便,我建议使用 pyCRFsuite,如果你需要 Wapiti 训练算法或功能,我建议使用 python-wapiti如果无法使 C/C++ 编译器正常工作,则在 CRFsuite(例如调节对转换的个别观察)和 timvieira 的 crf 中不可用,但可以使用预构建的 numpy。
我认为您正在寻找的是PyStruct。
PyStruct 旨在成为一个易于使用的结构化学习和预测库。目前它只实现最大边距方法和感知器,但其他算法可能会遵循。
PyStruct 的目标是为研究人员和非专家提供一个有据可查的工具,以利用结构化预测算法。该设计试图尽可能接近 scikit-learn 的界面和约定。
PyStruct
附带很好的文档,并且在github上积极开发。
下表是从PyStruct - Python 中的结构化预测中PyStruct
提取的与CRFsuite
其他包的比较表: