运行CRFSuite示例

5 投票
3 回答
3519 浏览
提问于 2025-04-17 07:37

我正在尝试使用CRFSuite,但不太明白怎么用example/ner.py和pos.py这两个文件。

具体来说,我该如何制作这样的输入:

# Ner.py
fields = 'y w pos chk'

或者

# Pos.py
fields = 'w num cap sym p1 p2 p3 p4 s1 s2 s3 s4 y'

“y w pos”这部分我可以从CoNNL模型中得到,但“chk”部分以及pos.py中的所有字段我都不是很明白。

另外,如果我有一个训练好的模型,有没有办法用CRFSuite处理没有任何标签的原始文本呢?

3 个回答

0

结果发现,稍微修改一下 pos.py 文件就能让它正常工作了。现在 pos.py 的输入格式变成了 'w y',而特征 'num cap sym p1 p2 p3 p4 s1 s2 s3 s4' 则都是由脚本自己生成的。这样应该能解决 pos.py 的问题。这里是相关的内容:

https://gist.github.com/fnl/21116fa57527946c5dbe

至于 ner.py 脚本,@Legend 已经回答过了,相关的输入数据格式可以在这里找到:

http://www.cnts.ua.ac.be/conll2003/ner/

1

你不能使用 ner.pypos.py 这个教程作者提供的数据。你需要一个合适的 CoNLL-2000 数据集。 :)

举个例子,你可以在 这里 找到它。

希望我回答得对你的问题有帮助。

2

@michele说得对。这个任务需要另外一个数据集。我相信这些数据集可以在这里找到:http://www.cnts.ua.ac.be/conll2003/ner/

撰写回答