开源项目word2vec在演义公案小说上的初试

今日直接试验了一通。

文本是161本明清演义、侠义、公案小说/平话,共4.4E7 字符。
使用ansj_seg分词,分词效果一般,毕竟分词model不是建立在古典白话小说上的。
vocab size 111539
words in train file: 31535756
生成了90.2M bin file
在我的陈旧的P8400 2.26G的t400上都跑得相当快,六七分钟就搞定了。

效果是相当的好!
分词之后我就没做任何处理,也没改任何参数直接照着demo里参数直接跑了一遍word2vec,结果真的很棒啊!凭它那么就几行不明觉厉的代码,学习中完全不依赖任何语言学标注,就可以做出这么漂亮的结果!


这个很是西斯空寂啊,为何五爷会跟毛保最接近,因为他俩都拿过展昭的剑吗?


google code source

文本来源: 殆知阁

分词工具:ansj_seg
(是个基于中科院ictlas的java project)

要点:

  1. 这些文本大部分是gbk编码的,但是有个把是unicode的,倘若把它们一并当作gbk读入而后分词并输出为utf8,word2vec处理它的时候就会精神错乱、完全误判编码。

  2. 无需做什么处理,总之就分词,然后以空格间隔,写成一个文本文件。

  3. 参照它的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
    就可查看结果啦。


具体参数的意义与如何调节且待我慢慢研究。

你可能感兴趣的:(开源项目word2vec在演义公案小说上的初试)