事实上要自己写的代码很少。我写了四个类。都在org,phyeas包内,其他代码没有改过。目前测试的结果是:
速度:104k/s
f-score:0.938
----------------------
测试平台:
系统:Ubuntu9.10
CPU:P43.06
内存:1G+512M
Eclipse:3.4
在Windows下可能会有错误原因可能是字符集不一样,我Ubuntu下默认字符集是UTF-8,所以我在读取文件时有些是指定了字符集,在windows下应该不用,发现有这个问题的朋友可以与我联系。
用法:先构建预处理语料,使用我的ConvertToMEDict2类,文件路径写在源码里。需要输入一个语料文件(pku_training.txt),会生成一个预处理语料(pku_training.dat(100多M))文件。再对这个预处理语料生成模型。执行CreateModel操作,需要在参数中指定文件路径(如java CreateModel pku_training.dat)。大约需要15-30分钟。然后生成一个模型文件(pku_trainingModel.txt),然后运行org.phyeas.Analyzer,改变main函数中的文件路径。Analyzer的构造函数需要一个模型文件路径,然后就是测试文件和输出文件路径了。
maxent.zip:源码
pku.zip:北京大学语料,未包含标准切分结果,如有需要的同学可以跟我说