【问题标题】:word2vec : find words similar in a case insensitive mannerword2vec :以不区分大小写的方式查找相似的单词
【发布时间】:2014-05-10 13:03:56
【问题描述】:

我可以访问我感兴趣的文本语料库中的词向量。现在,我面临的问题是这些向量区分大小写,例如,“Him”与“him”不同,与“HIM”不同。

我想找到与“他”这个词最相似的词是不区分大小写的方式。我使用与 Google word2vec 软件包捆绑在一起的 distance.c 程序。这是我遇到问题的地方。

我是否应该将“他他他”作为参数传递给distance.c 可执行文件。这将返回关闭到 3 个单词的单词发送。

或者我应该分别运行distance.c 程序并使用 3 个参数(“Him”、“him”和“HIM”)中的每一个,然后以合理的方式将这些列表放在一起以得出最相似的词?请提出建议。

【问题讨论】:

    标签: deep-learning nlp word2vec case-sensitive


    【解决方案1】:

    如果您想以不区分大小写的方式查找相似词,则应将所有词向量转换为小写或大写,然后运行distance.c的编译版本。

    使用标准 shell 工具很容易做到这一点。

    例如,如果您的原始数据位于名为 input.txt 的文件中,则以下内容将适用于大多数类 Unix 的 shell。

    tr '[:upper:]' '[:lower:]' < input.txt > output.txt
    

    【讨论】:

    • 嗯,这很容易做到。问题是我只能访问从一个非常大的数据集生成的二进制词向量。
    • @suzee,您的二进制词向量的格式究竟如何?它们只是表示特定单词是否出现的位吗?
    • 嗨梅林,我很抱歉最后的评论。我的意思是我有一个词向量的二进制文件(.bin)。
    • @suzee,bin 文件的格式如何?也就是说,字节是如何解释的?
    • 我们在下面的页面中有 google 共享的 bin 文件。 code.google.com/p/word2vec/#Pre-trained_word_and_phrase_vectors 我们希望以不区分大小写的方式使用它。是否可以在没有原始数据的情况下对其进行转换?
    【解决方案2】:

    您可以将二进制格式转换为文本,然后根据需要进行操作。

    【讨论】:

      猜你喜欢
      • 2016-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 2012-01-19
      • 2015-08-30
      • 1970-01-01
      相关资源
      最近更新 更多