首页> 中国专利> 基于语义构词约束的汉语二字词抽取方法

基于语义构词约束的汉语二字词抽取方法

摘要

基于语义构词约束的汉语二字词抽取方法属于自然语言处理技术领域,其特征在于,它是通过衡量字之间的语义约束强度来判断候选字符串能否成词的方法,即它以表示汉语词汇语义的隐马尔可夫模型(HMM)为基础,用Baum-Welch算法来更新HMM中的语义状态转移概率矩阵和状态转移处的输出字符概率矩阵,然后根据表示状态转移次数和转移处产生字符次数的概率矩阵来求出表征语义约束关系的字符对应语义的概率和语义序列的联合紧密程度,最后根据这两个参数便可算出成词的判决值。它与传统的互信息法比较,在召回率相同下,准确率更高些。

著录项

  • 公开/公告号CN1447264A

    专利类型发明专利

  • 公开/公告日2003-10-08

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN03121940.3

  • 发明设计人 罗盛芬;孙茂松;

    申请日2003-04-18

  • 分类号G06F17/16;

  • 代理机构

  • 代理人

  • 地址 100084 北京市北京100084-82信箱

  • 入库时间 2023-12-17 14:57:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-08-04

    未缴年费专利权终止 IPC(主分类):G06F17/16 授权公告日:20060607 申请日:20030418

    专利权的终止

  • 2006-06-07

    授权

    授权

  • 2003-12-17

    实质审查的生效

    实质审查的生效

  • 2003-10-08

    公开

    公开

说明书

技术领域

基于语义构词约束的汉语二字词抽取方法属于自然语言处理技术领域

背景技术

语言是随着时间流逝而发展的,互联网强大的交流能力使得人们的词汇量增长变化更为迅速,单纯地使用通用词典或是专业词典都不能够容纳所有的信息。而在汉语中,词语之间没有显式的分隔符号,如何自动识别词语成为一项重要的研究课题。汉语自动抽词方法以计算机为处理工具,通过机器自动学习,使得计算机能自动判断一个候选字串是否成词。

汉语中,词是由字组成的。这和英语中短语的情况类似:短语由若干个词构成,短语之间亦无显式分隔符号。因此汉语的自动抽词与英语的短语自动抽取工作是相似的。目前关于词或短语抽取的研究,国内外学者都做了不少工作,方法大致可分为两类:基于统计和基于规则。

基于规则的方法则需要一些事先掌握知识的指导,从而建立相应规则来判断是否成词或短语。例如:将语料进行词性标注后使用语法或语义规则来识别;建立停用词表,将所有含有停用词或功能词的串识别为非词。但从语言学中归纳出相应规则相当困难,且规则的通用程度差,故此类方法效果均不甚佳。基于统计的方法是当前研究的主流。主要从两个角度考察一个符号串成词或短语的可能性。一是衡量该符号串内部结合紧密度,认为结合紧密度高的串成词可能性大。常用的衡量方法包括频度(Frequency)、互信息(Mutual Information)以及其它一些统计量。另一角度则考察该串对上下文环境的依赖度,认为候选串过分依赖于其上下文环境时,其成词可能性小。

目前的统计方法中,那些基于内部结合紧密度的抽词方法,主要以字为单位进行处理,往往忽略了汉语的重要特性:对大部分的词(复合词)而言,其组成成分(字或词)之间存在一定的语义构词约束关系。可以认为这些语义约束关系反映了汉语中的一些构词法,即存在强约束力的两个语义能够搭配成词的可能性大。这意味着,可以利用语义约束关系来帮助识别词语。

基于语义约束的自动抽词思想很直接:不是从组成的字来判断是否成词,而是从其对应语义来判断是否能成词。例如:词典中已经收录了“美军”,“日军”和“苏军”三个词,它们都遵从“国家+军队”的语义搭配模式。因此,通过对词典的学习,我们可以发现“国家+军队”这个语义搭配存在较强的约束关系。于是对于具有同样语义搭配模式的候选串“俄军”,就可正确地推断出它也是一个词。

发明内容

本发明的目的在于提供一种基于语义构词约束的汉语二字词抽取方法。

本发明的特征在于:它是通过衡量字之间的语义约束强度来判断候选字符串能否成词的一种方法,即它以表示汉语词汇语义的隐马尔可夫模型(HMM)为基础,用Baum-Welch算法来不断地更新HMM中的语义状态转移概率矩阵和状态转移处的输出字符概率矩阵,直到收敛为止,然后再确定重新估算的上述HMM参数,根据这些表示状态转移的次数和转移处产生字符次数的概率矩阵便可得出表征语义约束关系的字符对应语义的概率和语义序列的联合紧密程度,最后便可由此计算出表征成词可能性的参数;该方法是在计算机上依次按下列步骤实现的,具体而言,可分为两个阶段。学习阶段:

(1)训练词典中的词条全部输入计算机,构成训练词典W:

W={(wi,freqi)|i=1,…,l}

其中,wi、freqi分别为第i个词及其频度;

(2)用隐马尔可夫模型HMM表示汉语词汇的语义集合:

HMM=(S,C,PS,PC,II)

其中,S={s0,s1,s2,…,sn},si表示词w的任意一个语义,s0为初始状态,S为语义的状态集合;

C={c1,c2,…,cm},ct为状态转移处输出的任意一个汉字,C为输出字符集合;

PS=[pij]为状态转移概率矩阵,其中pij=p(sj|si),表示从状态si转移到状态sj的概率,i=0,…,n,j=1,…,n。

PC=[ait]为一个n×m的输出矩阵,其中ait=p(ct|si),表示状态si产生输出字符ct的概率。

II=(π0,…,πn)为初始向量,其中πi为状态si作为初始状态的概率。

(3)按平均的策略初始化PS、PC

对PS有:pij=1/n,其中i=0,…,n,j=1,…,n,即从语义状态si到状态集S中任伺一个语义状态sj的转移概率都相等。

对PC有:ait=1/m,其中i=1,…,n,t=1,…,m,即语义状态si产生字符集中任意字符ct的概率相等。

(4)初始化当前参数PS、PC下HMM的可信度QW=0。

(5)结合Baum-Welch算法和当前参数PS、PC,重新估计HMM的参数PS′、PC′:

(5.1)设:w是由c1和c2组成的二字词,即w=c1c2,从《汉字义类信息库》中统计出词w所有可能的语义状态、语义序列、及状态转移路径:

c1具有n1个语义:s11,s12,…,

c2具有n2个语义:s21,s22,…,

由于全部语义序列都从初始状态s0出发,

则:词w有n1×n2个可能的语义序列:s0s11s21,s0s11s22,……,,可能的状态转移路径为s0→s1i、s1i→s2j(其中i=1,...,n1,j=1,...,n2);

(5.2)用Baum-Welch算法和当前参数PS、PC求出:发生状态转移s0→s1i的概率p(s0→s1i): >>p>>(>>s>0>>→>>s>>1>i>>>)>>=>p>>(>>s>>1>i>>>|>>s>0>>)>>p>>(>>c>1>>|>>s>>1>i>>>)>over>>Σ>>j>=>1>>>n>2>>>[>p>>(>>s>>2>j>>>|>>s>>1>i>>>)>>p>>(>>c>2>>|>>s>>2>j>>>)>>]>,>>>

p(s1i|s0):从状态s0转移状态s1i的概率,

p(c1|s1i):在状态s1i处产生输出字符c1的概率,

p(s2j|s1i):从状态s1i转移状态s2j的概率,

p(c2|s2j):在状态s2j处产生输出字符c2的概率,

p(s0→s1i)表示:在满足从状态s0转移状态s1i并产生输出字符c1,再从状态s1i转移到s2j并产生输出字符c2这一概率条件下,从状态s0转移状态s1i的概率;

p(s1i→s2j)=p(s1i|s0)p(c1|s1i)p(s2j|s1i)p(c2|s2j),表示在从状态s0转移状态s1i并产生输出字符c1,再从状态s1i转移到s2j并产生输出字符c2这一概率条件下,从状态s1i转移状态s2j的概率;

(5.3)根据下式求出,词w从状态si转移到状态sj,且在状态sj处产生输出字符集中任一字符ct∈C的次数:

这表示,词w从状态s0转移状态s1i,且在状态s1i处产生输出字符c1的次数为p(s0→s1i)×freq;词w从状态s1i转移状态s2j且在状态s2j处产生输出字符c2的次数为p(s1i→s2j)×freq;其他情况发生的次数为零。

(5.4)累计训练词典中所有词w各自的Countw(ct;si→sj),得到整部训练词典中从状态si转移到状态sj,且在状态sj处产生输出字符ct的总次数C(ct;si→sj): >>C>>(>>c>t>>;>>s>i>>→>>s>j>>)>>=>>Σ>>∀>w>>>>Count>w>>>(>>c>1>>;>>s>i>>→>>s>j>>)>>>>

(5.5)计算其他辅助矩阵,以便重新估计HMM参数PS′、PC′: >>>C>1>>>(>>s>i>>,>>s>j>>)>>=>>Σ>>∀>>c>t>>∈>C>>>C>>(>>c>t>>;>>s>i>>→>>s>j>>)>>>>,表示整部训练词典中从状态si转移到状态sj处产生输出字符集C中任意一个字符ct∈C的次数,它也是从状态si转移到状态sj的次数; >>>C>2>>>(>>s>i>>)>>=over>>Σ>>j>=>1>>n>>>C>1>>>(>>s>i>>,>>s>j>>)>>>>,表示整部训练词典中由状态si转移到状态集S中任意一个语义状态sj的次数之和,即由状态si发生转移的次数; >>>C>3>>>(>>c>t>>;>>s>j>>)>>=>>Σ>>∀>>s>i>>∈>S>>>C>>(>>c>t>>;>>s>i>>→>>s>j>>)>>>>,表示从状态集S中任意一个语义状态si转移到sj,且在sj输出字符ct的次数之和,即表示整部词典中任一语义状态sj输出字符ct的次数; >>>C>4>>>(>>s>j>>)>>=>>Σ>>∀>>c>t>>∈>C>>>>C>3>>>(>>c>t>>;>>s>j>>)>>>>,表示整部词典中状态sj出现的次数,即等于状态sj产生输出字符集C中任意字符ct∈C的次数之和。

(5.6)根据以上的辅助矩阵即次数矩阵,重新估计HMM参数PS′、PC′:状态转移矩阵PS′=[pij′]:pij′为状态si到状态sj的转移概率,可用从si转移到sj的次数C1(si,sj)与由si发生转移次数C2(si)的比值来估计,即pij′=C1(si,sj)/C2(si)。输出矩阵PC′=[ait′]:ait′为状态si产生字符ct的概率,可用si产生ct的次数C3(ct;si)与整部词典中si出现次数C4(si)的比值来估计,即ait′=C3(ct;si)/C4(si);

(6)评估在新参数PS′、PC′下HMM的可信度QW′: >sup>>Q>W>′sup>>=>>Σ>>>c>1>>>c>2>>∈>W>>>>Σ>>>s>1>>>s>2>>∈>>c>1>>>c>2>>> >p>′>>>(>>s>1>>>s>2>>)> >p>′>>>(>>s>1>>|>>c>1>>)> >p>′>>>(>>s>2>>|>>c>2>>)>>>>其中,c1c2表示训练词典W中的任意一个词条。s1表示字c1可对应的任意一个语义,s2表示c2可对应的任一语义,s1、s2∈S。p′(s1|c1)表示新参数PS′、PC′下,汉字c1对应语义s1的概率,可用步骤(5)的辅助矩阵计算: > >p>′>>>(>>s>1>>|>>c>1>>)>>=>>C>3>>>(>>c>1>>;>>s>1>>)>>/>>Σ>>∀>>s>k>>∈>S>>>>C>3>>>(>>c>1>>;>>s>k>>)>>>>,sk是属于S的任意语义。

p′(s2|c2)表示新参数PS′、PC′下,汉字c2对应语义s2的概率,计算方法与p(s1|c1)相同,即 > >p>′>>>(>>s>2>>|>>c>2>>)>>=>>C>3>>>(>>c>2>>;>>s>2>>)>>/>>Σ>>∀>>s>k>>∈>S>>>>C>3>>>(>>c>2>>;>>s>k>>)>>.>>>

p′(s1,s2)表示新参数PS′、PC′下语义序列s1s2的同现概率,其计算方式为 > >P>′>>>(>>s>1>>,>>s>2>>)>>=>>C>1>>>(>>s>1>>,>>s>2>>)>>/>>Σ>>∀>>s>k>>∈>S>>>>Σ>>∀>>s>t>>∈>S>>>>C>1>>>(>>s>k>>,>>s>t>>)>>>>,sk,st是属于状态集S的任意语义。

(7)计算:δQ=QW′-QW

设定:δ0为是否收敛的阈值。

若δQ≤δ0则HMM参数估计过程收敛,执行下一步骤(8);否则便用PS′、PC′、QW′分别代替PS、PC、QW,返回步骤(4),重新估计HMM参数PS′、PC′。

(8)根据步骤(5)所得的辅助矩阵,来计算语义约束关系p(sj|ct)、MI(si,sj)。设sk,st是属于状态集S的任意语义,则有: >>p>>(>>s>j>>|>>c>t>>)>>=>>C>3>>>(>>c>t>>;>>s>j>>)>>/>>Σ>>∀>>s>k>>∈>S>>>>C>3>>>(>>c>t>>;>>s>k>>)>>>>,表示汉字ct对应语义sj的概率。 >>MI>>(>>s>i>>,>>s>j>>)>>=>>>l>og>>2> >>p>>(>>s>i>>,>>s>j>>)>>>>p>>(>>s>i>>)>>p>>(>>s>j>>)>>>>>>,表示语义序列sisj的联合紧密程度和构词的可能性。其中p(si)为语义si出现概率, >>p>>(>>s>i>>)>>=>>C>4>>>(>>s>i>>)>>/>>Σ>>∀>>s>k>>∈>S>>>>C>4>>>(>>s>k>>)>>>>;p(sisj)为语义序列sisj的同现概率, >>p>>(>>s>i>>,>>s>j>>)>>=>>C>1>>>(>>s>i>>,>>s>j>>)>>/>>Σ>>∀>>s>k>>∈>S>>>>Σ>>∀>>s>t>>∈>S>>>>C>1>>>(>>s>k>>,>>s>t>>)>>;>>>

(9)保存所需的p(sj|ct)和MI(si,sj)矩阵,学习阶段结束抽词决策阶段:

(1)输入要候选二字串c1c2

(2)从《汉字义类信息库》中查询到:

汉字c1具有n1个语义,分别是s11,s12,…,

汉字c2具有n2个语义,分别是s21,s22,…,

(3)计算成词可能性LWMI(c1c2)。 >>>LW>MI>>>(>>c>1>>>c>2>>)>>=over>>Σ>>i>=>1>>>n>1>>over>>Σ>>j>=>1>>>n>2>>>MI>>(>>s>>1>i>>>,>>s>>2>j>>>)>>p>>(>>s>>1>i>>>|>>c>1>>)>>p>>(>>s>>2>j>>>|>>c>2>>)>>.>>>

此式的物理意义为,对c1c2的每个语义序列s1i,s2j查询其构词的可能性MI(s1i,s2j),并将所有可能语义序列的构词可能性加权组合起来,作为c1c2这个汉字串的成词可能性。

(4)若LW(c1c2)≥t0则判断c1c2为词。其中,t0为给定的阈值,通过大量实验结果,我们认为较合适的选择为t0=0。

实验证明:语义约束法的准确率在相同的召回率下要高于传统的互信息方法。

附图说明

图1.学习阶段程序流程框图

图2.抽词决策阶段程序流程框图

图3.语义约束法和互信息法的抽此行能比较图

具体实施方式

见图1~2。以“俄军”二字作为候选串,步骤如下:

(1)入“俄军”

(2)查《汉字义类信息库》:

“俄”字有Di02(俄国)、Eb25(时间很短)两个意思;

“军”字有Di09(军队的编制单位)、Di11(军队)两个意思;

(3)从训练数据查得

p11=p(Di02|俄)=0.99686 p12=p(Eb25|俄)=0.00314

p21=p(Di09|军)=0.00485 p21=p(Di11|军)=0.99515

MI11=MI(Di02,Di09)=-0.15850

MI12=MI(Di02,Di11)=4.31200

MI21=MI(Eb25,Di09)=3.76725

MI22=MI(Eb25,Di11)=-10.74512

(4)计算成词可能性 >>=>>MI>11>>×>>p>11>>×>>p>21>>+>>MI>12>>×>>p>11>>×>>p>22>>+>>MI>21>>×>>p>12>>×>>p>21>>+>>MI>22>>×>>p>12>>×>>p>22>>>> >>=>4.243>>>

(5)LW(俄军)>t0,于是判断“俄军”是一个词。

为了评测我们发明的基于语义约束汉语自动抽词方法,我们设计了如下的实验:

实验条件:PII650MHZ的PC,256M内存,Visual C++语言实现程序

实验数据:从1998年人民日报的标注语料中生成一个标准答案表,该表中共有238,946个二字串,其中23,725个是词。应用《汉字义类信息库》(由清华大学人工智能技术与系统国家重点实验室自然语言处理组提供)来为每个汉字寻找所有对应的语义。

实验结果:抽词的性能用两个性能指标来衡量:召回率和准确率。

为了观察基于语义约束的方法的效果,我们将它与传统最通用的基于字的互信息方法进行比较。互信息方法为,对每个候选串计算 >>MI>>(>>c>1>>>c>2>>)>>=>>log>2> >>p>>(>>c>1>>>c>2>>)>>>>p>>(>>c>1>>)>>p>>(>>c>2>>)>>>>>>,若MI(c1c2),大于给定阈值,则判断候选串为词。上式中p(c1)和p(c1c2)分别表示c1和c1c2在实际语料中出现的概率。本实验中,这些概率信息从102MB大小的人民日报语料库中统计而得。表1.两种抽词方法在不同召回率时相应的F-Measure性能

召回率(%)10 20 30 40 50 60 70 80 90 100平均Sem 18.0 32.0 43.0 52.5 60.0 65.0 68.0 68.5 54.0 18.1 47.9MI 17.5 30.5 39.8 45.3 47.5 46.7 43.0 36.2 26.6 18.1 35.1

在表1中,Sem表示基于语义约束的方法,MI表示传统的互信息方法。观察图、表可发现,基于语义约束的抽词方法比传统基于字的抽词方法在性能上有了相当显著的提高。Sem的最大F-Measure比MI高21个百分点,而平均F-Measure指标也提高了12.8%。

本项技术可用于各种自然语言处理中,包括未登录词识别、词典自动生成、基于n-gram的信息检索特征选取、自动建立文档索引等应用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号