专利名称:一种从Web网页中获取汉语全称的方法
技术领域:
本发明涉及中文信息处理和信息检索领域的全称获取技术,尤其涉及一种从Web网页中获取汉语全称的方法,从Web网页上获取多学科、大规模、高准确率的汉语全称的方法。
背景技术:
自然语言处理是计算机科学领域与人工智能领域中的一个重要问题。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。随着计算机和互联网的广泛应用,计算机可处理的自然语言文本数量空前增长,面向海量信息的文本挖掘、信息提取、跨语言信息处理、人机交互等应用需求急速增长,自然语言处理的对象也从小规模受限语言处理转向大规模真实文本处理,其研究必将对人们的生活产生深远的影响。
中文信息处理是研究如何利用计算机对汉语信息进行自动处理。汉语是一门意合语言,和西方语言相比,缺少显式的标记,语法、语义、语用方面也更加灵活,增加了计算机理解和处理的难度,要让计算机能够处理中文信息,尚有许多困难需要克服。目前,中文信息处理已经在语音识别、分词、机器翻译等领域取得了一些成果。中文信息自动化处理程度的提升,将对我国的科技、文化、经济、安全等带来可观的效益。信息检索研究如何从纷繁复杂的大量信息中快速、准确获取所需信息的技术。信息检索技术经过多年的发展,目前已经相当成熟,新型信息检索技术正朝智能化、动态化、多样化、个性化等方向发展。全称(Full Name,Fn)是对名称的完整称呼,简称(Abbreviation,An)是为了表达的简洁明快,而对全称进行精简压缩后得到的称呼,若Fn和An具有全简称关系,则称Fn为An的全称,An为Fn的简称,记作FA (Fn7An)0由全称到简称,可以看作是一个信息量的压缩过程,由简称到全称,则可以看作是一个解压的过程,例如对Cl= “中国科学院计算技术研究所”进行压缩,得到c2= “中国科学院计算所”,再对c2进行压缩,得到c3= “中科院计算所”,对c3解压得到c2,再对c2解压得到Cl。全称和简称都是相对的概念,比如在上例中,c2相对于Cl是简称,但相对于c3却是全称,单独讲c2是全称或简称都是没有意义的。全简称关系获取作为文本知识获取(Knowledge Acquisition from Text,KAT)和信息检索等应用中一个基本而又关键的问题,其获取方法可以分为两大类一类是基于模式的方法,主要利用语言学和自然语言处理技术,通过词法分析和语法分析提取关系模式,然后利用模式匹配获取全简称关系,该方法准确率依赖于语言学知识和模式库;另一类是基于统计的方法,主要基于语料库和统计语言模型,通过计算概念之间的关联度来获取全简称关系,该方法准确率和效率难以达到理想的实用要求。全简称关系的获取问题又可以从两个角度来看一个是挖掘的角度,就是在没有外界输入的条件下获取全简称对 ’另一个是查找的角度,就是已知全称找简称或已知简称找全称。本发明中所提到的“全称”或“简称”,如无特别说明,均指汉语全称或汉语简称。
发明内容
针对现有的全简称关系获取技术中具有的局限性或者准确率不高的缺陷,本发明提供一种准确率高且适用于多学科、超大规模的一种从Web网页中获取汉语全称的方法。为了解决上述问题,本发明提供了一种从Web网页中获取汉语全称的方法,包括一下步骤
步骤I、输入一个给定的汉语简称;
步骤2、选择查询模式来构造查询项,将查询项提交到Google搜索引擎中搜索,保存前N项锚文本作为锚语料;
步骤3、通过正则表达式,从锚语料中获取出包含查询项的关系的句子,保存下来作为全简称语料;
步骤4、利用简称提取算法EFN从全简称语料中提取出候选全称,形成候选全称集合; 步骤5、对候选全称集合进行基于全简称关系约束的验证,形成全称集合;
步骤6、对全称集合进行基于全简称关系约束的分类,从而形成带有类别标注的全称集
八
口 ο上述技术方案中,在所述的步骤2中,所述的查询模式包括两种查询模式I 简称An”,查询模式2 :“An全称”。我们以4000个汉语An做实验,其中用查询模式I能得到锚语料的占88. 75%,用查询模式2能得到锚语料的占24. 76%,用查询模式I或查询模式2能得到锚语料的占91. 07%。因此,为了提高查询效率,我们优先选择查询模式1,其次选择查询模式2。上述技术方案中,在所述的步骤4中,全称提取算法EFN包括两个算法EFNl和EFN2,分别对应步骤2中的两种查询模式,即当步骤2中选择查询模式I时,步骤4中采用EFNl来提取Fn,当步骤2中选择查询模式2时,步骤4中采用EFN2来提取Fn。上述技术方案中,在所述的步骤5中,若全称集合为空,且步骤2中还有查询模式可供选择,则重新执行步骤2—6 ;如果全称集合为空,同时步骤2中没有可供选择的查询模式,则退出,表明不能从Web上搜索到所给定简称的全称。上述技术方案中,在所述的步骤5)中,全简称关系约束是一个四元组R=(Fn,An,F,A),其中,Fn是对象的全称,An是对象的简称,F是Fn和An之间的约束函数集,A是Fn和An必须满足的约束公理集。约束函数集定量地表示Fn和An之间的约束,约束公理集定性地表示Fn和An之间的约束。下文中将进一步对这两种约束进行解释。有益效果本发明是根据已知的全称从Web上获取它对应的简称,即从查找的角度来获取全简称关系的,利用基于模式的方法来从Google中获取候选简称,利用基于统计的方法来对候选简称进行验证,具有多学科性、大规模、准确率高等优点,并探讨了用计算机实现简称的分类,为大规模知识的智能获取提供了有效的支撑。
图I为由简称获取全称的总示意图
图2为利用查询模式I获取全称的流程图
图3为利用查询模式2获取全称的流程 图4为对候选全称集进行后处理的流程图;图5为由全简称的约束函数集生成的验证决策树。
具体实施例方式下面结合附图和具体实施方式
对本发明作进一步描述
在对本发明的方法进行说明之前,首先对全简称关系中简称的形成规律和构词方法进行整理和总结。在全简称关系中,由全称到简称的过程可以看成是一个信息量的压缩过程,在信息量的压缩过程中有时会有语义的等价转换和语序的调整,所以我们将全简称关系分为普通型、异字型和异序型。普通型简称中的每个字都出现在全称中,且保留它们在全称中的顺序,例如, Fn= “中华人民共和国”,An= “中国”;
异字型简称中的某些字不在全称中出现,即由全称到简称不但进行了信息量的压缩,还进行了语义的等价转换,例如Fn= “娲皇圣母庙”,An= “女娲庙”;
异序型简称中汉字间的顺序跟它们在全称中对应成分的顺序不一致,例如,Fn=“哈尔滨第六制药厂”,An= “哈药六厂”。在本发明中,定义了全简称关系约束来表示Fn和An之间的约束,全简称关系约束是一个四元组R= (Fn, An, F,A),其中,Fn是对象的全称,An是对象的简称,F是Fn和An之间的约束函数集,A是Fn和An必须满足的约束公理集。约束函数集定量地表示Fn和An之间的约束,约束公理集定性地表示Fn和An之间的约束。在对约束函数集和约束公理集进行详细说明前,列出在下文中使用到的基本符号
An表简称;
Cfn表示An的候选全称;
Fn表不An的全称;
GoogleArchSet (An)表不An的Google锚文本集,即从Google中查找An对应的全称时所返回的前100条锚语文本的集合,若返回的锚文本总数N少于100,则GoogleArchSet(An)只包含仅有的N条锚文本;
CfnSet (An)表示An的候选全称集,即从GoogleArchSet (An)中提取出的An对应的候选全称组成的集合;
N_CfnSet (An)表示CfnSet (An)中所含候选全称的个数;
FnSet (An)表示An的全称集,即CfnSet(An)中的所有元素经过验证之后形成的集合; AnSet (Fn)表示Fn的简称集,即对于给定的Fn,从Google中获取的对应简称组成的集
合;
FA (Fn, An)表示Fn和An具有全简称关系;
length(str)表示概念词汉字串str的长度,即str中所含汉字的个数; n_word (Fn, An)表示同时出现在Fn和An中的汉字个数;
N_Clas (Fn)表示Fn经过分词后,出现的分词个数;
N_Cover (Fn, An)表示Fn中被An覆盖到的分词个数;
CoverSet (Fn, An)表示Fn中被An覆盖到的分词的集合;
P:表不全称所包含的分词;
pi / p2 / ···/ pm:表示由分词pl、p2…pm组成的分词序列,其中的/表示分词间的分隔符;
centre (Fn)表示Fn的分词中心点的位置,即Fn经过分词后,最中间的那个分词的位置,或最中间的那两个分词的平均位置,centre (Fn) = (N_Clas (Fn) +1)/2 ;
Cli (Fn)表示Fn的第i个分词的中心偏移量,即Fn的分词中心点的位置与Fn的第i个分词的位置之间的位移,(Ii (Fn) =i-centre (Fn);
I (Fn)表示Fn的最大中心偏移量,即Fn的所有分词的中心偏移量地最大值,!
(Fn) = (N_Clas(Fn)-l)/2 ;
Leni (Fn, An)表不第i个未被覆盖分词串所含的分词数。对Fn进行分词后,未被An覆盖到的那些分词,如果在Fn中相联则组成未被覆盖分词串,如果不相联则单独成串,第i个未被覆盖分词串所含的分词个数记为Leni(Fr^An);
freq (Fn, An)表示从 GoogleArchSet (An)中提取出 Fn 的个数;
ε表示一个无穷小的数;
loca (Cfn, An)表示Cfn在CfnSet (An)中的频度次序,即对CfnSet (An)中的元素按freq (Cfn, An)的大小升序排序后,Cfn的次序;
NoInclude (si, Set)表示汉字串的集合Set中的任何汉字串都不是汉字串si的子串; Interrogative表示疑问词集合,包含“什么”、“怎么”、“啥”、“吗”等; concat(sl, s2)表示汉字串si和汉字串s2连接后的汉字串;
COnCat(sl,…,sn)表示汉字串si、……、sn相互依次连接后的汉字串;
Contain (si, s2)表示汉字串s2中的每个字都出现在汉字串si中;
Include (si, s2)表示汉字串s2是汉字串si的真子串;
prefix (si, s2)表示si相对于s2的前缀,prefix (si, s2)不为空,即si =concat (prefix (si, s2), s2, s3),其中 s3 可为空串;
D rie〔CfnSet(An), Cfni)表示将 Cftij 从 CftiSet(An)中删除。下面从十一个方面对约束函数集中的具体含义进行说明
约束函数I =An的字来自Fn中的比率。一般情况下,全称包含简称所包括的所有汉字。例如,An= “北大”,Fn= “北京大学”,An中的每个汉字都来自于Fn中。在候选全称集中,包含An的字的比率越高的候选全称的优先级越高。约束函数I的形式定义和计算如下(注明此函数来自对发明专利“一种根据实体的汉语简称识别出实体全称的方法和系统(专利号ZL200710119513. 4)”的改进)
,、^word(CfntAn)
Λ(軌圳=———
例如,An= “八卦掌”,Cfn1 = “八卦连环掌”,Cfn2 = “八卦连环拳”。根据约束函数1,^f1(CfnllAn) > Z1(Cfn2tAn) ’所以Cfn1的优先级比Cfn2的优先级高。
约束函数2 Fn与An的语序。在缩略过程中,绝大多数简称保持着全称中的字序。例如,An= “奥运会”,Fn= “奥林匹克运动会”,An中的三个字的顺序严格按在Fn中出现的顺序排列。约束函数2的形式定义和计算如下(注明此函数与发明专利“一种根据实体的汉语简称识别出实体全称的方法和系统(专利号ZL200710119513. 4)”的一致)
注意Fn与An语序相同蕴含着An中的所有字都出现在Fn中,若An中有不出现在Fn中的字,则约束函数2的值为O。约束函数3 =An对Fn的分词覆盖率
全称通常由多个分词组成,有的情况下全称的一个或多个分词在简称中可以被省略,但一般被省略分词不会超出全称分词数的二分之一,候选全称被简称覆盖的分词越多,就越可能成为全称。约束函数3的形式定义和计算如下(注明此函数来自对发明专利“一种根据实体
的汉语简称识别出实体全称的方法和系统(专利号ZL200710119513. 4)”的改进)
, r N_Clas(Cfn)N _C Ias(Cfn)
I — Io 0-4 f% --, i ^ 10
b¥_C Over(CfnpAn)I— N_CotwrfC fnrA-n)
UCfnlAn) = _^ cias(cfn)
O -=-^ > 10
INCoveriCfntAn)-
例如,An = “北大”,Cfn1= “北京/大学”,Cfn2 = “北京/交通/大学”,根据约束函数
3,^(Cfn1,An) > f3(Cfn2, An),所以Cfn1的优先级比Cfn2的优先级高。约束函数4 An对Fn的分词覆盖重心
全称通常由多个分词组成,有的情况下全称中的一个或多个分词可以在简称中被省略,但是被省略的分词应该均匀的分布在全称中,而不应该都集中在全称的前部分或后部分。例如,An= “贵航集团”,Fn= “中国/贵州/航空/工业/集团/公司”,Fn中省略的分词“中国”、“工业”、“公司”分别在Fn的前部分、中间部分和后部分。约束函数4的形式定义和计算如下
t %£ dt (Cfn),
例如,An = “山大”,Cfn1 = “山东/大学”,Cfn2 = “山东/大学/威海/分校'Cfn1中被An覆盖到的分词“山东”和“大学”均匀分布在Cfn1中,而Cfn2中被An覆盖到的分词“山
东”和“大学”都分布在Cfn2的前半部分。根据约束函数4J4(Cfn1MTi) > f4(Cfn2,An)
,所以Cfn1的优先级比Cfn2的优先级高。约束函数5 Fn中未被An覆盖到的最长连续分词数
候选全称通常由多个分词组成,有的情况下全称中的一个或多个分词可以在简称中被省略,但是被省略的分词在全称中通常不会连续出现,即全称中的分词连续在简称中省略的概率比较小。约束函数5的形式定义和计算如下
权利要求
1.一种从Web网页中获取汉语全称的方法,其特征在于包括一下步骤 步骤I、输入一个给定的汉语简称; 步骤2、选择查询模式来构造查询项,将查询项提交到Google搜索引擎中搜索,保存前N项锚文本作为锚语料; 步骤3、通过正则表达式,从锚语料中获取出包含查询项的关系的句子,保存下来作为全简称语料; 步骤4、利用简称提取算法EFN从全简称语料中提取出候选全称,形成候选全称集合; 步骤5、对候选全称集合进行基于全简称关系约束的验证,形成全称集合; 步骤6、对全称集合进行基于全简称关系约束的分类,从而形成带有类别标注的全称集
2.根据权利要求I所述的一种从Web网页中获取汉语全称的方法,其特征在于在所述步骤2中,若Google返回的查询结果>100条,则N取100,否则N取Google返回的查询结果的条数。
3.根据权利要求I所述的一种从Web网页中获取汉语全称的方法,其特征在于上述步骤2中,所述的查询模式包括两种查询模式I 简称An”,查询模式2 :“An全称”;先选择查询模式I,其次选择查询模式2。
4.根据权利要求I所述的一种从Web网页中获取汉语全称的方法,其特征在于上述步骤4中,全称提取算法EFN包括两个算法CFNEAl和CFNEA2,分别对应步骤2中的两种查询模式,即当步骤2中选择查询模式I时,步骤4中采用CFNEAl来提取Fn,当步骤2中选择查询模式2时,步骤4中采用CFNEA2来提取Fn。
5.根据权利要求4所述的一种从Web网页中获取汉语全称的方法,其特征在于当步骤2选择查询模式I时,步骤4执行以下步骤 全简称句子主要分为三种类型,即标号对型、无后缀型和有后缀型;标号对型=An后面无汉字,且Cfn被配对标号所标出,无需确定Cfn的边界,直接提取;无后缀型An后面无汉字,Cfn未被配对标号标出,Cfn需定左边界;有后缀型An后面有汉字,表明An是另一简称“An*”的前半部分,故Cfn也该是“An*”对应的全称“Cfn*”的前半部分,故Cfn需确定左右边界; 步骤A-I、利用算法FCFNEA提取基准候选全称集; 提取基准候选全称集的算法(formal candidate fullname extract algorithmFCFNEA)输入标号对型全简称句子集合Senttag ,无后缀型全简称句子集合Sentno ,有后缀型全简称句子集合Senthas 输出基准候选全称集合Cfnformal ¥ sent_tag € Senttag ,提取标号对中的词条 cfn_formal Cfnft}rmal,并统计cfn_norm的频度; Vsent_no G Sentno,¥ cfnjoraial e Cfnformal,若 cfnJbrmal 包含在sent no 中,Ucfn formal 的频度 +ι,并从Sentnn 中删除sent no ;—一IiUS一 Vsent_has £ Senthas,¥ cfnjormal E Cfnformal,若 cfnjormal 包含在sent_no 中,则cfn_formal 的频度 +ι; Vcfn_formai G Cfnform al,利用ictclas进行分词,将第一个分词pre和最后一个分词suf 组成< pre, suf >,< pre, suf > Set_fix Vsentjio G Sentno,V < pre, suf > e Set_fix,若sentjio 中存在前缀为 pre且后缀为suf的词条cfnjk,K1JcfnJix Cfnfix,从Sentno中删除sent_no,利用优先级排序策略PSCF求出Cfnfix的最优候选Inax(Cfnfix) Cfnformal ; return CFNformal 在算法FCFNEA的Step5中用到的优先级排序策略PSCF的定义如下 优先级排序策略(priority sort comparison function PSCF)¥ Cfiij X Cftij e CfnSet(An),Cfni > CfHj iff 1).n_word(Cftij,An)之 n_word(Cfnj,An);2).IeEgth(Cfhi) < Iengtli(CfEj) > if ILword(CfiiilAn) = ILworcl(CfnjlAn)jCfni = Cftij iff i). n—word(Cfii5,An) = n_word(CfHj,An);2). Iength(Cfiij) = length (Cfnj); if 3Cfnk € CfnSet(Aii), VCfni GSetjCfn(An),都有Cfek > Cfiv 则称Cfnk 是CftiSet(An)中的最优候选,记为 max(CfnSet(An)); 步骤A-2、利用算法ICFNEA提取非基准候选全称集; 提取非基准候选全称的算法(informal candidate ful lname extract algorithmICFNEA) 输入待提取的短语或短句Οο—Γθ θΓθπ ,已知概念词Inputitem= (C1C2......Cj ; 输出提取出的全简称候选 对CbTdfermi进行分词并且标注词性,分词结果为-JP1P2……PJ ; 定义位置变量left—flagbk, Ief胤 for each Ci ^ (CnCn^1......Cj for each Pj ^ {Pieft_fiaf ieft_fiag-i......PJ if Ci出现在&中 Then left_flagR j break; end if end for each end for each for each Pk ^ (P1P2......Pjif 的词性^ {连词介词助词动词量词标号} and k < left—flag Then IeftR k+l; end ifend for each return Candidate^ (Pleft......Pj; 步骤A-3、利用类比的方法对非基准候选全称集中的候选全称再定左右边界; 类比的方法具体见如下的方法I和方法2 ; 形式表示
6.根据权利要求4所述的一种从Web网页中获取汉语全称的方法,其特征在于当步骤2选择查询模式2时,步骤4执行以下步骤 步骤B-1、利用算法CFNEA2提取候选全称集; 提取候选全称的算法(candidate ful lname extract algorithm CFNEA2 ) 输入前缀已知简称? I即utitern,待提取的短语或短句Cb-refermt 输出提取出的全简称候选; 定义标记Λ^^βΟ,(开源的似乎是不能用于商业目的)对Co-referent分词,记为(P1P2……PJ ; for each Pi ^ (P1P2......Pj if fIag-Q and Pi和Prefix有相同的字and Pi和Inputitem无相同的字 Then flagRl; end if if flag=I and Pi 和 Prefix 无相同的字 Thenbreak;end if i f Pi和Inputi tem有相同的字 Thenbreak;end ifend for each if fIag=O Then iBO/Candi da teR (Pi......Pj Return Candidate 通过上述操作得到候选全称集。
7.根据权利要求I所述的一种从Web网页中获取汉语全称的方法,其特征在于在所述的步骤5中,若全称集合为空,且步骤2中还有查询模式可供选择,则重新执行步骤2—6 ;如果全称集合为空,同时步骤2中没有可供选择的查询模式,则退出,表明不能从Web上搜索到所给定简称的全称。
8.根据权利要求I所述的一种从Web网页中获取汉语全称的方法,其特征在于在所述的步骤5中,全简称关系约束是一个四元组R= (Fn, An, F,A),其中,Fn是对象的全称,An是对象的简称,F是Fn和An之间的约束函数集,A是Fn和An必须满足的约束公理集;约束函数集定量地表示Fn和An之间的约束,约束公理集定性地表示Fn和An之间的约束。
9.根据权利要求8所述的一种从Web网页中获取汉语全称的方法,其特征在于所述步骤5、6的具体实现步骤如下 步骤C-1、利用约束公理集中的约束公理1-4验证候选全称集中的每个候选全称; 步骤C-2、由约束函数集生成决策树,利用决策树对候选全称集中的候选全称进行分类,去除类别是“F1”、“F2”和“F3”的候选全称,保留类别是“T”的候选全称,从而生成全称集; “F1”表示低频异字型错误,“F2”表示高频异字型错误,“F3”表示低频异序型错误,“Y”表示正确; 步骤C-3、对全称集进行基于约束函数集的分类; 根据全称是否有异字或异序,分为普通型、异字型和异序型,普通型又根据语境是否相关分为强语境无关型、弱语境无关型和语境相关型,语境无关型再根据FN在全称集中频度的相对高低分为高频型和低频型,语境相关型根据An对FN的覆盖重心分为前向型、居中型和后向型; 具体的分类标准和各类全称需要满足的条件 高频强语境无关的直观意义=Fn包含An中的所有字且保持语序不变,Fn中的每个分词在An中都有对应,且Fn在全称集中频度最高; 低频强语境无关的直观意义=Fn包含An中的所有字且保持语序不变,Fn中的每个分词在An中都有对应,且Fn在全称集中频度不最高; 高频弱语境无关的直观意义=Fn包含An中的所有字且保持语序不变,Fn中的大部分分词在An中都有对应,且Fn在全称集中频度最高; 低频弱语境无关的直观意义=Fn包含An中的所有字且保持语序不变,Fn中的大部分分词在An中都有对应,且Fn在全称集中频度不最高; 前向型语境相关的直观意义=Fn包含An中的所有字且保持语序不变,Fn中被省略的分词大多在Fn的后半部分; 居中型语境无关的直观意义=Fn包含An中的所有字且保持语序不变,Fn中前后部分被省略的分词个数差不多; 后向型语境相关的直观意义=Fn包含An中的所有字且保持语序不变,Fn中被省略的分词大多在Fn的前半部分; 异序型的直观意义=Fn包含An中的所有字但语序有变,Fn在全称集中频度最高; 异字型的直观意义=Fn不包含An中的所有字但Fn的频度很高或在全称集中的相对频度很高; 步骤C-4、按优先级综合函数PRI(Cfn,An)对全称集中同一类的全称进行排序; 在步骤C-4中用到的优先级综合函数PRI (Cfn, An)的定义如下
10.根据权利要求要求8或9所述的一种从Web网页中获取汉语全称的方法,其特征在于所述的约束函数集的具体含义为 约束函数I =An的字来自Fn中的比率全称包含简称所包括的所有汉字,即An中的每个汉字都来自于Fn中,在候选全称集中,包含An的字的比率越高的候选全称的优先级越高; 约束函数I的形式定义和计算如下
全文摘要
本发明涉及一种从Web网页中获取汉语全称的方法,包括输入已知简称,选择查询模式来构造查询项,提交查询项到Google中获取锚文本,再从锚文本中获取全简称语料,最后利用提取算法提取候选全称,并利用优先级综合函数对候选全称进行排序;其中查询模式有两种,对应的提取全称的提取算法也有两种。本发明还定义了全简称关系的本体,包括一组约束公理和一组约束函数,其中约束公理定性地表示全称和简称之间的约束,约束函数集定量地表示了全称和简称之间的约束,并基于全简称本体提出了一种全称的验证方法和分类方法。本发明可实现全称的大规模、高准确率的获取,并探讨了用计算机实现全称的分类,为大规模知识的智能获取提供了有效的支撑。
文档编号G06F17/30GK102955818SQ201110253100
公开日2013年3月6日 申请日期2011年8月31日 优先权日2011年8月31日
发明者王石, 丁远钧, 符建辉, 王卫民 申请人:镇江诺尼基智能技术有限公司