今日直接试验了一通。
文本是161本明清演义、侠义、公案小说/平话,共4.4E7 字符。
使用ansj_seg分词,分词效果一般,毕竟分词model不是建立在古典白话小说上的。
vocab size 111539
words in train file: 31535756
生成了90.2M bin file
在我的陈旧的P8400 2.26G的t400上都跑得相当快,六七分钟就搞定了。
效果是相当的好!
分词之后我就没做任何处理,也没改任何参数直接照着demo里参数直接跑了一遍word2vec,结果真的很棒啊!凭它那么就几行不明觉厉的代码,学习中完全不依赖任何语言学标注,就可以做出这么漂亮的结果!
这个很是西斯空寂啊,为何五爷会跟毛保最接近,因为他俩都拿过展昭的剑吗?
文本来源: 殆知阁
分词工具:ansj_seg
(是个基于中科院ictlas的java project)
要点:
这些文本大部分是gbk编码的,但是有个把是unicode的,倘若把它们一并当作gbk读入而后分词并输出为utf8,word2vec处理它的时候就会精神错乱、完全误判编码。
无需做什么处理,总之就分词,然后以空格间隔,写成一个文本文件。
-
参照它的demo-word.sh运行
time ./word2vec -train inputFileName -output vectors.bin -cbow 0 -size 200 -window 5 -negative 0 -hs 1 -sample 1e-3 -threads 12 -binary 1
而后
./distance vectors.bin
就可查看结果啦。
具体参数的意义与如何调节且待我慢慢研究。