我是word2vec的新手,请耐心等待。我有一组文本文件,每个文件包含一组1000-3000之间的推文。我选择了一个通用关键字(“ kw1”),并希望使用word2vec查找与“ kw1”语义相关的术语。例如,如果关键字是“ apple”,我希望基于输入文件看到相关的术语,例如“ ipad”,“ os”,“ mac”...。因此,对于每个输入文件,这组与“ kw1”相关的术语会有所不同,因为word2vec将在单个文件上进行训练(例如,5个输入文件,在每个文件上运行word2vec 5次)。
我的目标是在给定公共关键字(“ kw1”)的情况下,为每个输入文件查找相关术语集,该关键字将用于其他目的。
我的问题/疑问是:
- 将word2vec用于此类任务是否有意义?考虑到输入文件的大小,使用它在技术上是否正确?
我已经从code.google.com下载了代码:https : //code.google.com/p/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
从结果中可以看出,当我使用“距离”工具获取与“ kw1”相关的术语时,收到了很多嘈杂的术语(停用词)。因此,我确实删除了停用词和其他嘈杂的用语,例如用户提及。但是我还没有看到word2vec需要清除输入数据的地方...?
您如何选择正确的参数?当我更改“ -window”,“-iter”等参数时,我看到的结果(运行距离工具)有很大不同。我应该使用哪种技术来找到参数的正确值。(由于我将按比例放大数据集,因此对我来说,人工尝试和错误是不可能的)。