Nlp 在小文本文件上应用word2vec
我对word2vec完全不熟悉,所以请耐心听我说。我有一组文本文件,每个文件包含一组推特,在1000-3000之间。我选择了一个常用关键字(Nlp 在小文本文件上应用word2vec,nlp,text-mining,word2vec,Nlp,Text Mining,Word2vec,我对word2vec完全不熟悉,所以请耐心听我说。我有一组文本文件,每个文件包含一组推特,在1000-3000之间。我选择了一个常用关键字(“kw1”),我想使用word2vec查找“kw1”的语义相关术语。例如,如果关键字是“apple”,我希望看到相关术语,如“ipad”、“os”、“mac”。。。基于输入文件。因此,“kw1”的这组相关术语对于每个输入文件都是不同的,因为word2vec将在单个文件上接受培训(例如,5个输入文件,在每个文件上运行word2vec 5次) 我的目标是在给定公
“kw1”
),我想使用word2vec查找“kw1”
的语义相关术语。例如,如果关键字是“apple”
,我希望看到相关术语,如“ipad”、“os”、“mac”
。。。基于输入文件。因此,“kw1”
的这组相关术语对于每个输入文件都是不同的,因为word2vec将在单个文件上接受培训(例如,5个输入文件,在每个文件上运行word2vec 5次)
我的目标是在给定公共关键字(“kw1”
)的情况下,为每个输入文件找到一组相关术语,这些术语将用于其他目的
我的问题/疑问是:
- 在这样的任务中使用word2vec有意义吗?考虑到输入文件的小尺寸,使用它在技术上是否正确
time ./word2vec -train $file -output vectors.bin -cbow 1 -size 200 -window 10 -negative 25 -hs 1 -sample 1e-3 -threads 12 -binary 1 -iter 50
./distance vectors.bin
- 从我的结果来看,当我使用
工具获取与'distance'
相关的术语时,我发现有很多嘈杂的术语(stopwords)。因此,我确实删除了停止词和其他嘈杂的术语,如用户提及。但是我还没有看到word2vec需要干净的输入数据“kw1”
- 如何选择正确的参数?当我更改参数(如
,'-window'
)时,我看到结果(通过运行'-iter'
工具)变化很大。我应该使用哪种技术来找到参数的正确值。(我无法手动尝试并出错,因为我将扩展数据集)距离
word2vec AFAIK没有自动调整功能,因为这意味着实现的作者知道您打算用它做什么。通常,实现的默认值是在一个(或一组)任务上实现的人的“最佳”值。抱歉,word2vec不是交钥匙解决方案。您需要了解这些参数,并相应地调整它们以解决您的任务。有趣但不完全适合stackexchange提出这些问题。我建议在datascience.stackexchange.com上提问,否则我将投票结束这个问题,因为它属于SO论坛。@使用的Sophos标记在SO仍然有效,所以我认为它仍然属于SOhere@samsamara:这不是关于标签,而是关于问题的性质-这是相当普遍的,不只是相关的但是我没有看到任何地方提到删除stopwords?word2vec不是应该处理停止词,即使你不删除它们吗?word2vec是指你上面引用的算法还是实现?我读了Tomas 2013年的论文,没有提到stopwords,这是一个实现细节,算法不需要它。此外,如果你提到的谷歌集团的word2vec实现删除了它们,我会感到惊讶,因为没有商定的停止词集。一些从事专门工作的语言学甚至可能希望包括传统的停止词,尽管我认为这在英语中很少见。这有用吗?