NLPchina / ansj_seg

ansj分词.ict的真正java实现.分词效果速度都超过开源版的ict. 中文分词,人名识别,词性标注,用户自定义词典

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

判断分词正确率的算法存在问题,导致实际结果偏高

zhangtaochn opened this issue · comments

在这个文件中,/src/test/java/org/ansj/app/crf/model/CRFModelTest.java
分词结果的判断当中:(88行~98行)

			offe = 0;
			for (String word : paser) {
				if (had_words_array[offe] == null) {
					error++;
				} else if (had_words_array[offe].equalsIgnoreCase(word)) {
					success++;
				} else {
					success++;
				}
				offe += word.length();
			}

如果
String[] result = {“**“, “**”, “红军”, "长征"};
String[] paser = {“中“, “共**”, “红军长”, "征"};
计算之后依然会有50%的正确率。
应该将第95修改为 error++;

commented

之前有个记录 比如 **人民** 。分成 ** , 人民, ** 或者 **人民 , **。都算正确。但是 召回率会变低。准确率高。最终参考f值