中文分词器分词效果的评测方法
2016-09-02 11:50
246 查看
转载请注明出处:http://www.codelast.com/
现在有很多开源的中文分词器库,如果你的项目要选择其一来实现中文分词功能,必然要先评测它们的分词效果。如何评测?下面详细叙述。
【1】黄金标准/Golden standard
所谓的黄金标准是指:评价一个分词器分词结果的好坏,必然要有一份“公认正确”的分词结果数据来作为参照。
通常,我们使用一份人工标注的数据作为黄金标准。但是,就算是人工标注的数据,每个人对同一句话的分词结果恐怕也持有不同的意见,例如,有一句话“科学技术是第一生产力”,有人说应该这样分词:“科学技术 是 第一 生产力”,又有人说应该这样分词:“科学 技术 是 第一 生产力”。那么,到底哪种才是对的呢?
因此,要找有权威的分词数据来做为黄金标准。
大家可以使用SIGHAN(国际计算语言学会(ACL)中文语言处理小组)举办的国际中文语言处理竞赛Second International Chinese Word Segmentation Bakeoff(http://sighan.cs.uchicago.edu/bakeoff2005/)所提供的公开数据来评测,它包含了多个测试集以及对应的黄金标准分词结果。
文章来源:http://www.codelast.com/
【2】评价指标
精度(Precision)、召回率(Recall)、F值(F-mesure)是用于评价一个信息检索系统的质量的3个主要指标,以下分别简记为P,R和F。同时,还可以把错误率(Error Rate)作为分词效果的评价标准之一(以下简记为ER)。
直观地说,精度表明了分词器分词的准确程度;召回率也可认为是“查全率”,表明了分词器切分正确的词有多么全;F值综合反映整体的指标;错误率表明了分词器分词的错误程度。
P、R、F越大越好,ER越小越好。一个完美的分词器的P、R、F值均为1,ER值为0。
通常,召回率和精度这两个指标会相互制约。
例如,还是拿上面那句话作为例子:“科学技术是第一生产力”(黄金标准为“科学技术 是 第一 生产力”),假设有一个分词器很极端,把几乎所有前后相连的词的组合都作为分词结果,就像这个样子:“科学 技术 科学技术 是 是第一 第一生产力 生产力”,那么毫无疑问,它切分正确的词已经覆盖了黄金标准中的所有词,即它的召回率(Recall)很高。但是由于它分错了很多词,因此,它的精度(Precision)很低。
因此,召回率和精度这二者有一个平衡点,我们希望它们都是越大越好,但通常不容易做到都大。
文章来源:http://www.codelast.com/
为了陈述上述指标的计算方法,先定义如下数据:
N :黄金标准分割的单词数
e :分词器错误标注的单词数
c :分词器正确标注的单词数
则以上各指标的计算公式如下:
文章来源:http://www.codelast.com/
【3】正确及错误标注的计数算法
如上所述,我们要先计算出e和c,才能计算出各指标值。 e 和 c 是按如下算法来统计的:
在“黄金标准”和“待评测的结果”中,理论上,除了分词后添加的空格之外,它们所有的文字都是相同的;唯一的不同就在于那些有差异的分词结果的位置上。例如,“计算机 是个 好东西”(黄金标准)与“计算机 是 个 好东西”(待评测的结果)的差异就在于“是个”与“是 个”的差异,其余分词结果都是相同的。因此,只需要找到这种差异的个数,就可以统计出分词器正确标注了多少个词、错误标注了多少个词。
以下面的分词结果为例:
“计算机 总是 有问题”——黄金标准
“计算机 总 是 有问题”——待评测的结果
给分出来的每个词都做位置的标记(位置从1开始):
(1,4),(4,6),(6,9) ——黄金标准
(1,4),(4,5),(5,6),(6,9) ——待评测的结果
文章来源:http://www.codelast.com/
那么我们会发现,(1,4)和(6,9)这两个词是相同的(即“计算机”和“有问题”),而差异在于(4,6)和(4,5),(5,6)(即“总是”和“总 是”),因此,我们只需要比较这两个标注结果中的差异数,就可以知道分词器正确、错误地标注了多少个单词。在此例中,正确的标注的单词数为2,错误标注的单词数为2。
需要说明的是:在此例中,也可以认为错误标注的单词数为1(即“总是”与“总 是”的差异),按照最大错误数来算会使错误率升高(在分词精度很差的情况下,可能会导致ER>100%),不过,在所有分词器都使用同一标准来评测的情况下,也就会很公平,并不会影响到最终的结论。
有了上面的算法,就很容易写出一个评测程序了。这里就不把程序放上来了。
文章来源:http://www.codelast.com/
【4】参考文献
① Word Segmentation: Quick but not Dirty.
Timothy Gambell 1814 Clover Lane Fort Worth, TX 76107, timothy.gambell@aya.yale.edu
Charles Yang* Department of Linguistics, Yale University New Haven, CT 06511, charles.yang@yale.edu
② Chinese Segmentation and New Word Detection using Conditional Random Fields
Fuchun Peng, Fangfang Feng, Andrew McCallum, Computer Science Department, University of Massachusetts Amherst, 140 Governors Drive, Amherst, MA, U.S.A. 01003, {fuchun, feng, mccallum}@cs.umass.edu
③ A Compression-based Algorithm for Chinese Word Segmentation
W. J. Teahan, The Robert Gordon University
Rodger McNab, University of Waikato
Yingying Wen, University of Waikato
Ian H. Witten, University of Waikato
现在有很多开源的中文分词器库,如果你的项目要选择其一来实现中文分词功能,必然要先评测它们的分词效果。如何评测?下面详细叙述。
【1】黄金标准/Golden standard
所谓的黄金标准是指:评价一个分词器分词结果的好坏,必然要有一份“公认正确”的分词结果数据来作为参照。
通常,我们使用一份人工标注的数据作为黄金标准。但是,就算是人工标注的数据,每个人对同一句话的分词结果恐怕也持有不同的意见,例如,有一句话“科学技术是第一生产力”,有人说应该这样分词:“科学技术 是 第一 生产力”,又有人说应该这样分词:“科学 技术 是 第一 生产力”。那么,到底哪种才是对的呢?
因此,要找有权威的分词数据来做为黄金标准。
大家可以使用SIGHAN(国际计算语言学会(ACL)中文语言处理小组)举办的国际中文语言处理竞赛Second International Chinese Word Segmentation Bakeoff(http://sighan.cs.uchicago.edu/bakeoff2005/)所提供的公开数据来评测,它包含了多个测试集以及对应的黄金标准分词结果。
文章来源:http://www.codelast.com/
【2】评价指标
精度(Precision)、召回率(Recall)、F值(F-mesure)是用于评价一个信息检索系统的质量的3个主要指标,以下分别简记为P,R和F。同时,还可以把错误率(Error Rate)作为分词效果的评价标准之一(以下简记为ER)。
直观地说,精度表明了分词器分词的准确程度;召回率也可认为是“查全率”,表明了分词器切分正确的词有多么全;F值综合反映整体的指标;错误率表明了分词器分词的错误程度。
P、R、F越大越好,ER越小越好。一个完美的分词器的P、R、F值均为1,ER值为0。
通常,召回率和精度这两个指标会相互制约。
例如,还是拿上面那句话作为例子:“科学技术是第一生产力”(黄金标准为“科学技术 是 第一 生产力”),假设有一个分词器很极端,把几乎所有前后相连的词的组合都作为分词结果,就像这个样子:“科学 技术 科学技术 是 是第一 第一生产力 生产力”,那么毫无疑问,它切分正确的词已经覆盖了黄金标准中的所有词,即它的召回率(Recall)很高。但是由于它分错了很多词,因此,它的精度(Precision)很低。
因此,召回率和精度这二者有一个平衡点,我们希望它们都是越大越好,但通常不容易做到都大。
文章来源:http://www.codelast.com/
为了陈述上述指标的计算方法,先定义如下数据:
N :黄金标准分割的单词数
e :分词器错误标注的单词数
c :分词器正确标注的单词数
则以上各指标的计算公式如下:
文章来源:http://www.codelast.com/
【3】正确及错误标注的计数算法
如上所述,我们要先计算出e和c,才能计算出各指标值。 e 和 c 是按如下算法来统计的:
在“黄金标准”和“待评测的结果”中,理论上,除了分词后添加的空格之外,它们所有的文字都是相同的;唯一的不同就在于那些有差异的分词结果的位置上。例如,“计算机 是个 好东西”(黄金标准)与“计算机 是 个 好东西”(待评测的结果)的差异就在于“是个”与“是 个”的差异,其余分词结果都是相同的。因此,只需要找到这种差异的个数,就可以统计出分词器正确标注了多少个词、错误标注了多少个词。
以下面的分词结果为例:
“计算机 总是 有问题”——黄金标准
“计算机 总 是 有问题”——待评测的结果
给分出来的每个词都做位置的标记(位置从1开始):
(1,4),(4,6),(6,9) ——黄金标准
(1,4),(4,5),(5,6),(6,9) ——待评测的结果
文章来源:http://www.codelast.com/
那么我们会发现,(1,4)和(6,9)这两个词是相同的(即“计算机”和“有问题”),而差异在于(4,6)和(4,5),(5,6)(即“总是”和“总 是”),因此,我们只需要比较这两个标注结果中的差异数,就可以知道分词器正确、错误地标注了多少个单词。在此例中,正确的标注的单词数为2,错误标注的单词数为2。
需要说明的是:在此例中,也可以认为错误标注的单词数为1(即“总是”与“总 是”的差异),按照最大错误数来算会使错误率升高(在分词精度很差的情况下,可能会导致ER>100%),不过,在所有分词器都使用同一标准来评测的情况下,也就会很公平,并不会影响到最终的结论。
有了上面的算法,就很容易写出一个评测程序了。这里就不把程序放上来了。
文章来源:http://www.codelast.com/
【4】参考文献
① Word Segmentation: Quick but not Dirty.
Timothy Gambell 1814 Clover Lane Fort Worth, TX 76107, timothy.gambell@aya.yale.edu
Charles Yang* Department of Linguistics, Yale University New Haven, CT 06511, charles.yang@yale.edu
② Chinese Segmentation and New Word Detection using Conditional Random Fields
Fuchun Peng, Fangfang Feng, Andrew McCallum, Computer Science Department, University of Massachusetts Amherst, 140 Governors Drive, Amherst, MA, U.S.A. 01003, {fuchun, feng, mccallum}@cs.umass.edu
③ A Compression-based Algorithm for Chinese Word Segmentation
W. J. Teahan, The Robert Gordon University
Rodger McNab, University of Waikato
Yingying Wen, University of Waikato
Ian H. Witten, University of Waikato
相关文章推荐
- 中文分词器分词效果的评测方法
- 中文分词器分词效果的评测方法
- 中文分词器分词效果的评测方法
- 11大Java开源中文分词器的使用方法和分词效果对比
- [024] 11大Java开源中文分词器的使用方法和分词效果对比
- Java开源中文分词器的使用方法和分词效果对比
- 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较
- 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较
- 10大Java开源中文分词器的使用方法和分词效果对比
- 中文分词评测方法
- 中文分词技术一席谈之典型分词方法漫谈
- 转一个,中文分词方法概述
- 中文分词方法简介
- Ubuntu下使用Java调用IKAnalyzer中文分词程序失效的解决方法
- 中文分词—基于Lucene的分词器—支持中英文混合词
- 开源中文分词框架分词效果对比smartcn与IKanalyzer
- 中文分词 (机械传统方法 )正向最大匹配
- 基于字标注的中文分词方法
- Python 中文分词工具 ——结巴分词的使用方法总结
- 开源搜索框架Lucene学习之分词器(3)——通过分词器源码学习抽象方法与虚方法的区别