到目前为止,我只阅读了有关CRF的理论,并希望在我的硕士论文中使用python crfsuite从食谱中提取成分。感谢每一位帮助。
据我了解,我可以通过以下图片的形式向crfsuite提供训练数据,其中w [0]提供当前单词的身份,w [i]相对于i和pos [i]的世界]相对于i的词性标记。
然后crfsuite在给定属性的基础上训练自己的特征函数。
但我无法找到提供自定义功能的方法,例如" w [i]在词典中#34; (例如食谱成分的字典)或"在句子中是否定的" (例如"不"或者"不要")。
总的来说,很好的教程是值得赞赏的,因为手册(https://python-crfsuite.readthedocs.io/en/latest/或http://www.chokkan.org/software/crfsuite/manual.html)从我的角度来看并不适合初学者
答案 0 :(得分:1)
使用python-crfsuite(或sklearn-crfsuite)培训数据不必采用您所描述的形式;单个训练序列应该是{"feature_name": <feature_value>"}
dicts的列表,具有每个序列元素的特征(例如,对于句子中的标记)。功能不必是单词或POS标签。还有一些其他支持的功能格式(请参阅http://python-crfsuite.readthedocs.io/en/latest)。
有关更完整的示例,请检查https://github.com/TeamHG-Memex/sklearn-crfsuite/blob/master/docs/CoNLL2002.ipynb - 它使用自定义功能。