Home

Awesome

wordmaker 词语生成工具

通过词语组成的规律,自动从大文本当中学习得到文本当中的词语,而不再需要其它额外的信息。

很多分词库等都需要字典库,特别在一些专业的领域,需要得到很多的专业相关词语。而人工标注字典需要花很大的时间,所以希望有一个工具能够自动从文本中训练得到词语。分析某类人的用词特点,也可以有所应用。

代码实现

最初尝试实现了一个简单版本,但基于单线程,运行速度慢,并且还消耗巨大的内存。最近尝试接触c++ 11,并使用了类似map/reduce思想,所以决定拿这个项目练练手,也希望能有人多交流。思想如下:

编译与使用

mkdir build

cd build

cmake28 ..

make

./bin/wordmaker input.txt output.txt 或者

./bin/hugemaker input.txt output.txt

linux下可以使用:

iconv -f "gbk" -t "utf-8//IGNORE" < infile > outfile

进行编码转换。windows下当然可以使用notepad++了,转换成ANSI。

测试语料

sogou的新闻语料,把各个文本合成在一起总共50M:http://pan.baidu.com/s/1mgoIPxY 里面还有莫言的文集当做输入语料,方法大家测试代码。

这里是我运行的表现结果

TODO