【问题标题】:Use tag as attibute in crfsuite在 crfsuite 中使用标签作为属性
【发布时间】:2014-04-08 18:00:28
【问题描述】:

我是 CRF 的新手,我想使用 CRFsuite 来标记单词。我阅读了CRFsuite's manual 并了解了训练数据的格式,但是如果我想添加一些带有“近词”标签的特征,那么训练数据文件是什么样的?

我有谷歌,但我没有发现这个问题。

【问题讨论】:

  • 你能举个例子说明“近词”是什么意思吗?
  • 例如,我想对句子“Bob 在星巴克喝咖啡”进行后标记,并想构建一些参数是前一个单词的标签的特征。例如:要标记作品“咖啡”,我可以使用有关前一个单词(drank)和它的标签(VERB)的信息。

标签: python label crf crfsuite


【解决方案1】:

简短的回答是您提供单词coffee 的属性(如w[-1]=drank 表示前一个单词)及其标签(NOUN),CRFsuite 生成构成CRF 模型的实际指标函数(包括表示前一个单词的标签是VERB的特征。它知道这样做是因为它使用“具有二元特征的一阶马尔可夫 CRF”,如您链接到的手册页中所述。

一个重要的区别(并且文档可能更精确)是“特征”和“属性”之间的区别,其中特征是模型中表示(属性,标签)或(标签,标签)对。

因此,在您的示例中,w[-1]=drank 是您提供的属性。 w[-1]=drank, NOUN 的组合是状态特征,标签之间的转换VERB --> NOUN 是转换特征,两者都是由 CRFsuite 生成的。

我推荐tutorial,它对此进行了更详细的讨论。

【讨论】:

  • 你的意思是CRFsuite学习到的参数个数是(n_attributes * n_labels) + (n_labels * n_labels)?一般来说,边缘特征不能在不违反线性链 CRF 属性的情况下也依赖于观察到的X - 这就是“不支持以属性和标签二元组为条件的特征”是什么意思?
猜你喜欢
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 2021-11-17
  • 1970-01-01
  • 2016-09-06
  • 1970-01-01
相关资源
最近更新 更多