如何修改 word2vec 代码以构建制表符分隔的短语序列的嵌入?
How to modify word2vec code to build embedding for tab-delimited sequence of phrases?
给定的文本文件包含以下行:
Phrase foo\tPhrase bla\tPhrase blabla\t...
Phrase bar\tPhrase blabla\tPhrase blablabla\t...
其中每个文本行都是制表符分隔的短语序列,其中可以包含 space
和其他特殊字符。我们感兴趣的是短语级别的嵌入,而不是单词级别。
当前word2vec.c支持"space"、"tab"、"new line"作为分隔符。在这种情况下,如何禁用 "space" 并仅启用 "tab" 和 "new line" 作为 word2vec.c 中的分隔符?
我从 Tomas Mikolov GitHub
那里得到了 word2vec.c
行https://github.com/tmikolov/word2vec/blob/20c129af10659f7c50e86e3be406df663beff438/word2vec.c#L80定义了word2vec.c
中的分隔符;如果您正在编译该文件,则可以编辑该行并重新编译以使其表现不同。
但是,如果您简单地预处理您的文本以将其转换为预期的形式,它会更容易和更强大(如果您实际上正在使用其他一些 word2vec 实现)。例如,您可以将所有 spaces ' '
更改为下划线 '_'
(或其他一些插入字符,如果任何原始下划线对保持不同很重要)。
稍后解释结果时,请记住在查找时应用相同的 space 到下划线转换,或者通过将下划线替换为 space 来反转它以显示结果。
给定的文本文件包含以下行:
Phrase foo\tPhrase bla\tPhrase blabla\t...
Phrase bar\tPhrase blabla\tPhrase blablabla\t...
其中每个文本行都是制表符分隔的短语序列,其中可以包含 space
和其他特殊字符。我们感兴趣的是短语级别的嵌入,而不是单词级别。
当前word2vec.c支持"space"、"tab"、"new line"作为分隔符。在这种情况下,如何禁用 "space" 并仅启用 "tab" 和 "new line" 作为 word2vec.c 中的分隔符?
我从 Tomas Mikolov GitHub
那里得到了 word2vec.c行https://github.com/tmikolov/word2vec/blob/20c129af10659f7c50e86e3be406df663beff438/word2vec.c#L80定义了word2vec.c
中的分隔符;如果您正在编译该文件,则可以编辑该行并重新编译以使其表现不同。
但是,如果您简单地预处理您的文本以将其转换为预期的形式,它会更容易和更强大(如果您实际上正在使用其他一些 word2vec 实现)。例如,您可以将所有 spaces ' '
更改为下划线 '_'
(或其他一些插入字符,如果任何原始下划线对保持不同很重要)。
稍后解释结果时,请记住在查找时应用相同的 space 到下划线转换,或者通过将下划线替换为 space 来反转它以显示结果。