- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于规则和语料库的中文姓名识别研究_计算机论文.doc
基于规则和语料库的中文姓名识别研究_计算机论文
基于规则和语料库的中文姓名识别研究_计算机论文
摘 要 中文姓名识别是中文分词中未登录词识别的一个重要部分,处理好中文姓名问题势必会有效地提高未登录词识别的精度。本文提出了一种基于规则和语料库的中文姓名识别方法,兼顾召回率和准确率,针对1998人民日报语料库(共计58634个汉字,其中姓名357个)进行实验,召回率为85.1%,准确率为89.2%。
关键字 中文分词,未登录词识别,中文姓名识别1 引言
中文姓名识别作为未登录词识别的一部分是中文信息处理中一个很复杂的问题。第一,姓名随着时间的改变而不断增加。第二,中文文本中的中文姓名没有像西方语言中的形态特征作为识别的标记。第三,有些人为避免重名而独辟蹊径,待之而来的是大量的异体字,生僻字、自造字[1]。同时中文姓名占未登录词的15%左右[1],故中文姓名识别对未登录词识别及中文分词有着重要意义。
目前中文姓名识别的方法有很多种,大致可以分为确定候选姓名和确定姓名两个阶段。在文献[2]中通过建立姓名资料库的方法进行中文姓名识别[2],在文献[1]中利用类向量模型进行中文姓名的识别[3]。本文提出了一种基于规则和语料库并利用2-gram进行中文姓名识别的方法,利用在语料库中进行互信息的学习,并结合识别规则在已经进行切分后的文本中对切分碎片作中文姓名的识别,经开放测试,召回率为85.1%,准确率为89.2%。
2 基于规则和语料库的中文姓名识别
2.1 假设与定义
考虑到中文姓名的构词特点[5],做以下假设:①中文姓名长度最长为四字(即复姓加双名);②中文姓名长度最短为二字(即单姓加单名);③双名成词视为单名处理。
设:中文姓名字符串可以表示为WhXiMjEkWt。
其中:Wh表示姓名前置词;Xi表示姓氏集,可以是单姓,也可以是复姓;Mj为名字首字的集合,Ek为名字尾字的集合,在Mj为空时姓名为单名(sn),不为空时姓名为复名(pn);Wt表示姓名后置词。
相应的针对上面的姓名字符串有如下的定义[1]:
1)姓名前置词使用度
2)姓氏使用度
3)名字首字使用度
4)名字尾字使用度
5)姓名后置词使用度
6)姓名概率估计值[1]
针对单名(sn)和复名(pn)的不同情况并考虑到姓名与上下文汉字之间的关系,本文提出了一种利用2-gram来估计姓名概率值的方法来计算姓名的2-gram概率估计值:
①单名情况:P(sn)=H(W|name)×P(X)×S(E)×R(W|name);
②复名情况:P(pn)= H(W|name)×P(X)×F(M)×S(E)×R(W|name)。
其中H(W|name)是该词作为姓名的前置词出现的条件概率,R(W|name)为该词作为后置词出现的条件概率,这样计算出概率的估计值,并与相应的阈值进行比较以确定是否为姓名。
2.2 构建知识库
根据2.1的定义,需要构建相应的知识库以记录在语料库中学习到的信息,相应的需要统计前置词、姓氏、名首字、名尾字、姓名后置词相应出现的次数和他们在语料库中出现的总次数,计算出相应的概率,并记录到知识库中,供进行姓名识别时使用。
知识库在结构上用hash结构,分别针对前置词、后置词、姓氏、名首字和名尾字建立相应的五个不同的hash表记录下在语料库中学习到的相应的概率信息。其中每个表采用的hash结构为单字hash结构,即以每个词或字的第一个字为hash表的key,剩余的字符串及其概率为value,如果为单字则为空。具体的结构如下图1所示。
图 1
在语料库的学习中生成五个不同的hash表,并计算相应的概率。这种结构下在进行姓名识别的时候可以根据相应字符串的第一个字找到相应字符,在匹配的过程中根据相应剩余字符串的长度进行匹配。
2.2 阈值确定
系统中还有一张记录不同姓氏阈值的表,因为中文中各姓氏的使用频率并不一样,对所有的姓名采用同一个阈值是不合适的,所以针对每个不同的姓氏采用不同的阈值,使文本中姓氏使用度较大的汉字召回率较高,姓氏使用度较小的汉字准确率较高。在识别中兼顾召回率和准确率,以减少识别错误,提高姓名识别正确率[1]。
根据2.1的姓名概率估计值的定义,可以确定姓氏x的最小阈值:
Tmin(x)pn= H(W|name)×P(X)×MiN(F(M)×S(E)) ×R(W|name) 复名情况
Tmin(x)sn= H(W|name)× P(X)×MiN(S(E)) ×R(W|name) 单名情况
相应的姓名评价函数[4]:lnP(x)gtβx
其中:P(x)为姓名的概率估计值,βx为姓氏x的姓名阈值:βx=αx×ln(Tmin(x))
αx为阈值调整因子:
此评价函数的含义是:
对于文本中任意一个满足中
文档评论(0)