【问题标题】:Wapiti CRF : Understanding the model file and forcing hard-constraintsWapiti CRF:了解模型文件并强制执行硬约束
【发布时间】:2017-05-12 22:46:58
【问题描述】:

我目前正在使用 Wapiti 检测网页中的特定产品名称。 我已经训练了一个模型,我想列出这个模型中最重要的 10 条规则(那些权重最大的规则(正或负))。

这是一个从 Wapiti 文档中提取的训练模型示例:

[...]
12:*:Pre-3 X='s,
13:*:Pre-3 X=Wel,
13:*:Suf-3 X=rid,
[...]
10=-0x1.32892bf985df3p-1
11=0x1.73883325ee8edp-4
15=0x1.034d12a224d71p-2
16=-0x1.1fa154002a2f9p+0

那么,从以上 3 条规则中,我如何知道哪条的权重最大?规则*:Pre-3 X='s, 与数字“12”相关联。这个号码是 重量?还是对下面几行的引用?但是,数字“12”并没有出现在这些行中。

另一个问题:是否可以强制“硬约束”?也就是说,要编写一个规则,即每当看到一个观察时,它就会产生总是一个给定的标签。

【问题讨论】:

    标签: crf


    【解决方案1】:

    对于您的第一个问题,请查看 wapiti 的转储模式,它将模型文件转换为更易读的格式,以便轻松提取具有最高或最低权重的特征。

    马鹿转储模型> model.txt

    这将为您提供一个文本文件,其中每行一个特征描述为 4 列。首先是替换扩展的模式,接下来是先前位置的标签(或 # 表示一元模式),接下来是当前位置的标签,最后是特征权重。

    对于您的第二个问题,Wapiti 为此设置了强制解码模式。如果您的数据有 N 列观察,只需给 wapiti 一个包含 N+1 列的文件并将约束放在最后一列。使用标签模式的 --force 开关,如果最后一列中存在有效标签,wapiti 将强制解码器在该位置预测该标签,并在邻居位置考虑这一点。

    【讨论】:

      猜你喜欢
      • 2016-12-13
      • 2012-12-05
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-10
      相关资源
      最近更新 更多