2014-11-18
拼写检查功能模块的测试报告如下: author CaoLi date:2014 11.17
建立测试集
首先对测试集进行自动分词后再手动改错业务词,进行测试.条数:200条. 例如: 原句自动分词后:
申请, 办理, 高龄, 老人, 津贴, 变更, 和, 终止, 的, 时限
手动改错业务词:
申请, 班里, 高领, 老人, 紧贴, 变更, 和, 终止, 的, 实现
测试集为:测试集(.\corpus\20141016凉山州\3文本\testJ.txt)前200条,注意是只取每一条对应的问题.
测试结果的评价标准:
正确率=正确识别出需要修改的个体总数/识别出需要修改的个体总数 召回率=正确识别出需要修改的个体总数/测试集中存在的需要修改的个体总数 准确率=修改对的个体总数/个体总数
例如:
正确:我 真 想 办理 身份证 呀. 测试用例: 我 挣 像 办理 神风证 压. 结果:我 证 想 班里 身份证 压.
动作:我->我(correct) 像->想(correct) 办理->班里(false) 神风证->身份证(correct) 挣->证(false) 压->压(false)
需要修改: 正确率=3/4. 召回率=3/4. 不要修改:正确率=1/2. 召回率=1/2.
准确率:3/6
测试结果
1.使用的语言模型:使用训练集<凉山州政务知识训练集1016.xls>中的<标准问题 答案>训练的3-gram语言模型.(详细结果见test-model-RESULT.txt)
RESULT:
需要修改:正确率:173/191 = 0.905759 召回率: 173/373 = 0.463806 不要修改:正确率:1010/1210 = 0.834710召回率:1010/1028 = 0.982490 准确率:1134/1401 = 0.809422
2.使用的语言模型:换用语言模型huilan.arpa(必应).详细结果见language-model-RESULT.txt
RESULT:
需要修改:正确率:193/212 = 0.910377 召回率:193/373 = 0.517426 不要修改:正确率:1009/1189 = 0.848612召回率:1009/1028 = 0.981517 准确率:1185/1401 = 0.845824
结果分析
原因
根据上面的结果发现召回率较低,可能的原因为:由于是根据词表先自动分词的。故系统有可能检测不出里面的同音字。
例如:
[多少, 是, 班里, 残基人证, 的, 收费, 标准]
过程:
[多少, 是, 班里, 残基人证, 的, 收费, 标准] score is:24.136348724365234 [多少, 是, 办理, 残基人证, 的, 收费, 标准]'score is:24.868900299072266 [多少, 是, 班里, 残基人证, 的, 收费, 标准]'score is:24.136348724365234 [多少, 是, 搬离, 残基人证, 的, 收费, 标准]'score is:26.485584259033203 [多少, 是, 板栗, 残基人证, 的, 收费, 标准]'score is:25.1102294921875
test result:
多少 是 班里 残基人证 的 收费 标准
实际上‘残基人’具有多音字:‘残疾人’‘残积人’。但上面的例子并未对'残基人'的多音字进行组合再分别打分。因为对该句分词后。该词为‘残基人证’。
诸如这样的例子在测试结果里面有大概85条。故可能是这个原因导致召回率较低。
改进
针对上面对结果的分析,将类似‘残基人证’的词,加入系统后测试结果如下:
1. 使用的语言模型:使用训练集<凉山州政务知识训练集1016.xls>中的<标准问题 答案>训练的3-gram语言模型.
RESULT:
需要修改:正确率:209/227 = 0.920704 召回率:209/373 = 0.560321 不要修改:正确率:1010/1174 = 0.860306 召回率:1010/1028 = 0.982490 准确率:1163/1401 = 0.830121
2. 使用的语言模型:使用的语言模型:换用语言模型huilan.arpa(必应).
RESULT:
需要修改:正确率:223/242 = 0.921487 召回率:223/373 = 0.597855 不要修改:正确率:1009/1159 = 0.870578 召回率:1009/1028 = 0.981517 准确率:1212/1401 = 0.865096