【问题标题】:Text features encoding rule文本特征编码规则
【发布时间】:2015-05-30 11:28:49
【问题描述】:

我想用 VW 来训练这些数据:

-1 | word1 word2

1 | word1 word3 word1

...等

如您所见,“word1”在第二个示例中重复了两次。

VW 文档说 VW 的默认行为是自动将“:1”添加到每个令牌,例如第一个示例:

-1 |单词1:1 单词2:1

我的问题是:在第二个示例中我必须做什么?

  • 选项 #1:将其转换如下:

1 | word1:2 word3

  • 选项 #2:保持“原样”:

1 | word1 word3 word1

(在这种情况下,我认为会发生一些碰撞)

【问题讨论】:

    标签: text vowpalwabbit


    【解决方案1】:

    我昨天刚开始使用大众,所以我可能完全搞混了,但我有同样的问题,我做了一些测试。当它进行预测时,使用“word:2”还是“word word”似乎并不重要。但是,在训练时,它确实似乎很重要。我创建了两个小的训练数据文件 train1 和 train2,它们的区别仅在于使用“word:2”和“word word”并像这样进行训练:

    vw -d train1 -f predictor1.vw --loss_function hinge
    vw -d train2 -f predictor2.vw --loss_function hinge
    

    然后我查看了基于 train1 训练的两个数据集的预测:

    vw -d train1 -t -i predictor1.vw -p out ; cat out
    vw -d train2 -t -i predictor1.vw -p out ; cat out
    

    他们是一样的。用 predictor2.vw 做同样的事情会得到不同的结果,但 train1 和 train2 的结果却相同。

    作为附加测试,我创建了 train3,其中仅包含一次单词(没有以任何方式加倍),只是为了查看结果是否与 train1 或 train2 匹配,看看我是否可以确定其中一个不是t 让这个词加倍。它与任何一个都不匹配。 predictor3.vw 对 train1 和 train2 的预测彼此相同,但与 predictor1.vw 或 predictor2.vw 的预测不同。

    这对我来说真的没有意义,除非训练的某些随机方面(例如种子)在输入文本被解析之前以某种方式链接到它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      • 2010-11-21
      • 2016-04-14
      相关资源
      最近更新 更多