一、背景:菜鸟一枚,boss让对不同的分词工具进行测评,发现网上很多都是杨尚川同志的完美率计算法,boss不太满意,只能自己写了。
二、适用范围:HanLP中的索引分词不适用,其余均可,LTP、NIPIR均可。
废话不说,上算法:
/**计算正确率的核心算法*/
public class EvaluationTools {
/**读取单个分词结果文件,与已知答案文件,分行进行处理
* @param resultFileName:分词结果文件的绝对路径~E:\\NLP\\CePing\\result-BaseAnalysis.txt
* @return 测评结果对象 */
public static ResultNum compute(String resultFileName) throws IOException{
ResultNum resultNum=new ResultNum();
resultNum.ModelNameString=resultFileName.substring(resultFileName.indexOf("-")+1, resultFileName.indexOf("."));
String standardFileName="E:/NLP/中文分词评测语料/616500/中文分词评测测试+训练语料/中文分词评测测试语料(山西大学提供)/测试语料答案(ANSI格式).txt";
InputStream resultIn = new FileInputStream(resultFileName);