我是文本挖掘的新手。我正在使用一个开源jar(Mate Parser),它在依赖解析后以CoNLL 2009格式给出输出。我想使用依赖解析结果进行信息提取。但我能够理解一些输出但不能理解CoNLL数据格式。任何人都可以帮助我理解CoNLL数据格式吗?任何类型的指针将不胜感激。
答案 0 :(得分:55)
由于CoNLL每年都是不同的共享任务,因此有许多不同的CoNLL格式。 CoNLL 2009的格式描述为here。每行代表一个单词,带有一系列制表符分隔的字段。 _
表示空值。 Mate-Parser's manual表示它使用了CoNLL 2009的前12列:
ID FORM LEMMA PLEMMA POS PPOS FEAT PFEAT HEAD PHEAD DEPREL PDEPREL
其中一些列的定义来自早期的共享任务(2006年和2007年使用的CoNLL-X format):
ID
(句子中的索引,从1开始)FORM
(单词形式本身)LEMMA
(单词的引理或词干)POS
(演讲的一部分)FEAT
(由|分隔的形态特征列表)HEAD
(语法父级索引,ROOT
为0)DEPREL
(HEAD
与此词之间的句法关系)这些列的变体(例如,PPOS
但不是POS
)以P
开头,表示该值是自动预测而非黄金标准值。
更新:现在还有CoNLL-U数据格式,它扩展了CoNLL-X格式。
答案 1 :(得分:1)
更新@dmcc 的回答:
在 CoNLL 格式中,
使用声称支持(某些)“CoNLL 格式”的工具或库时要小心。不同的 CoNLL 格式具有不同的列顺序,开发人员可能没有意识到这一点。因此,如果它们从另一种(或未指定的)CoNLL 格式获取数据,它们很可能无法按预期工作。
对于不同的 CoNLL 格式之间的转换,您可以考虑使用 CoNLL-RDF (https://github.com/acoli-repo/conll-rdf),resp., CoNLL-Transform (https://github.com/acoli-repo/conll-transform)(免责声明:由我的实验室开发。)