【问题标题】:FastText window sizeFastText 窗口大小
【发布时间】:2021-07-19 17:20:22
【问题描述】:

我目前正在研究 fastText 无监督学习。我想澄清一些出现在 fastText 文档中的上下文窗口。

在用于训练 fastText 模型的 python https://github.com/facebookresearch/fastText/tree/master/python 的 fasttext 库的描述中有不同的参数,其中一个参数是,

  • ws:上下文窗口的大小

我的输入文件包含带有 2 - 3 个标记的行。

例如,

  • 高级数据库管理员
  • 高级 DotNet 程序员
  • 网络管理员
  • 首席程序员(大型机)

默认窗口大小 5。在这里,在上面的示例中,我有标记计数小于窗口大小的行。如果窗口大小大于文档长度会怎样?

【问题讨论】:

    标签: fasttext


    【解决方案1】:

    FastText(和 word2vec 等相关算法)将尽可能多地使用上下文窗口。

    例如,假设窗口大小为 5,输入标记:

    ['Senior', 'Database', 'Administrator']
    

    当使用“中心”词'Senior' 进行训练时,算法将准备好在任一方向上查询最多 5 个词。

    但是,'Senior' 前面有 0 个单词,'Senior' 后面只有 2 个单词,所以只有后面的 2 个单词会被视为邻居。

    (不会像空白邻居一样使用“插入值”,也不会出现任何“渗透”到相邻文本。)

    另外两个相关的注意事项要记住:

    • 这些算法确实需要相邻的单词才能进行任何训练,因此任何只有一个单词的文本基本上都是无操作的。 (如果碰巧有一个词只单独出现,在训练结束时你可能仍然会看到它的向量,但在我熟悉的实现中,这将只是一个随机初始化的起始向量,完全未经实际使用示例训练。)
    • 大多数实现将模拟相邻词的加权,方法不是*总是使用您声明的窗口大小,而是在每次通过特定目标中心词时,选择一个 随机窗口大小,从 1 到您选择的窗口大小。通过这种方式,直接相邻的词总是是训练的一部分,而更远的词经常被跳过。

    【讨论】:

    • 感谢您的支持。真的帮助我进一步研究我的模型。
    猜你喜欢
    • 1970-01-01
    • 2011-07-14
    • 2014-06-22
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 2012-07-31
    • 2020-03-14
    • 1970-01-01
    相关资源
    最近更新 更多