【问题标题】:Understanding wordNgram from fastText从 fastText 中理解 wordNgram
【发布时间】:2019-09-12 13:20:58
【问题描述】:

我正在尝试了解 fastText 中的 -wordNgrams 参数是什么。

我们以下面的文字为例:

The quick brown fox jumps over the lazy dog

现在我们在“棕色”单词处的上下文窗口大小为 2,那么我们将有以下示例

  • (棕色的)
  • (棕色,快速)
  • (棕色,狐狸)
  • (棕色,跳跃)

如果我们设置 -wordNgrans 2,我们会在词汇表中找到单词 'brown_fox' 吗?因此,我们现在的训练样本将是:

  • (brown_fox, the)
  • (brown_fox,快速)
  • (brown_fox,跳跃)
  • (brown_fox,结束)

对吗?

我没有找到任何解释。

【问题讨论】:

  • 如果你尝试一下,你看到模型词汇表中的那些二元组了吗? (我不确定,但隐约记得-wordNgrams 可能只在supervised 模式下有效,并且可能使用与用于字符 n-gram 的相同类型的共享碰撞容忍向量桶集,所以您不一定会在结果中看到准确记忆的二元组。但是,在训练期间产生足够影响的二元组(比其他二元组的噪声更能影响其存储桶的向量)将继续在训练后的分类中产生影响。)

标签: word2vec fasttext


【解决方案1】:

我也在想同样的问题。

我找到了一个issue,上面写着“word n-grams are only used in supervised mode”,所以设置 wordNgrams=2 在无监督模式下不起作用。

然后我自己测试一下:

./fasttext skipgram -input data.txt -output test -dim 50 -wordNgrams 2 -loss hs

cut -d' ' -f1 test.vec | vocab.txt

结果是,vocab.txt 中只有单个词和子词。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-01
    • 2021-12-11
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多