基于规则的汉语基本块自动分析方法

文档序号:6573268阅读:280来源:国知局
专利名称:基于规则的汉语基本块自动分析方法
技术领域
本发明属于自然语言处理技术领域背景技术块(chunk)分析作为一种重要的部分分析技术,可以通过对完整分析问题的合理任务分解,大大降低自动分析的处理难度,从而在自然语言处理研究领域的信息抽取、问答系统、文本挖掘等应用系统研究都发挥了重要作用。
在英语方面,Abney(1991)最先把块定义为句子中一组相邻的以某个实词为中心的词语的集合体,从而把一个句子拆分成由若干个块组成的线性序列。Ramshaw&Marcus(1995)提出了‘BIO’模型,通过判断句子中的每个词语是处于块的起始位置(B)、中间位置(I)还是不属于某个块的位置(O),把块分析转化为一个序列标记确定问题,为各种机器学习方法的应用打下了很好的基础。Tjong&Buchholz(2000)利用Penn树库的华尔街日报语料,通过分析树自动转换形成了约30万词的BIO信息标注的文本,作为一个统一的英语块分析的训练和测试平台。在此平台上,许多研究人员使用不同机器学习方法,包括基于存储学习(MBL)、支持向量机(SVM)、隐马尔可夫模型(HMM)等构造自动块分析器,进行BIO序列自动识别。其中使用的主要特征是每个词语左右各2个相邻的词语和词类信息。实验结果表明,最佳的块分析系统的F-measure可以达到93%左右,初步证明了局部词类分布信息对英语块边界和句法标记识别的有效性。近年来,在汉语方面的相关研究也取得了类似的结果。但在此之后,相关的研究工作逐渐减少。主要原因是目前的块定义方法和识别模型主要依据了句法分布信息,并不关心块的内在语义内容,从而使相应的块描述和识别技术研究失去了进一步发展的内在驱动力。
近年来,多词表达(Multiword Expression,MWE)问题逐渐受到理论语言学家和计算语言学家的重视。它主要研究英语中介于词和短语之间的多词组合的特殊意义解释问题,但其基本思想已经扩展到不同语言中普遍存在的词库与句法的接口问题。Fillmore(2003)利用结构语法(Construction Grammar)的形式和意义相结合的描述方法,对英语的常见MWE进行了深入分析。Sag等(2002)则对目前MWE的分析难点和可用技术进行了全面的综述,提出了对不同的MWE需要使用不同资源和不同方法进行分析的基本设想。这些研究工作通过引入语义内容的分析和描述技术,为块分析问题探索注入了新的活力。
受MWE研究工作的启发,我们认为,可以从另一个角度来定义块分析问题针对一个输入句子,首先通过词语聚合性和周围语境约束限制分析,确定哪些词语组合可以形成一个多词语块;然后把剩余的词语中的实义词直接上升为单词语块,这样就可以形成一个包含多词语块、单词语块和其他功能词的完整的句子块描述序列。与‘BIO’序列标记识别模型不同的是,这种处理思路更强调不同块的内部词汇聚合分析,从而可以比较方便地建立起块的描述内容与相应的词汇语义知识库之间的内在联系。这里的处理关键是如何找到一种有效的知识描述体系,将表层的块描述实例与深层的词汇语义知识有机结合起来。在这些方面,我们进行了一些初步探索●提出了基于拓扑结构的基本块描述体系,很自然地建立起真实文本的基本块描述实例与词汇关联知识库之间的内在联系,形成了后续规则学习和进化的描述基础;●利用汉语基本块描述规则自动学习和扩展进化工具,在基本块标注语料库和词汇知识库支持下,从词类标记串描述规则出发,通过不断引入更多的内部词汇关联和外部语境限制约束知识,逐步进化出描述能力更强、处理置信度更高的规则,形成分层次、多粒度的基本块规则库;这些研究为进一步进行基于规则的汉语基本块自动分析方法研究打下了很好的基础。

发明内容
基于规则的汉语基本块自动分析方法,其特征在于,它依次含有以下步骤(1)计算机初始化设定a.输入的句子为S,S={<wi,ti>},其中wi为句子S中的第i个词语,ti为第i个词语的词类标记,i∈[1,n],n为句子中的词语总数;b.压缩共享森林PSF[],用线图中的数据结构表示把句子中的n个词语从左到右顺序排列后,从第1个词语左边开始到第n个的右边共有n+1位置,定义每个位置为一个线图节点,任意两个节点就可以组成一条线图边,用(l,r)表示,其中l为边的左节点位置,r为边的右节点位置,且r>l,所有的边组合形成一个线图数组,以对所有词语和由词语形成的基本块给出完整的描述信息,所有词语和基本块统称为句法成分,所述基本块是指句子S中一组相邻的以某个实词为中心的词语的集合体,所述PSF[]内含b1.<成分标志cflag>,表示以下不同的成分类别W-词语,B-单词语块,P-多词语块,D-因排歧而形成的动态删除边;b2.<成分左边界cl>、<成分右边界cr>分别表示成分边在句子S中的左、右边界位置,cl∈
,cr∈[1,n];b3.<句法标记cctag>,表示相应成分的外部句法功能,对词语边,保存它的词类标记,具体内容包括n-名词,s-处所词,t-时间词,f-方位词,r-代词,vM-助动词,v-动词,a-形容词,d-副词,m-数词,q-量词,p-介词,u-助词,c-连词,y-语气词,e-感叹词,w-标点符号;对基本块边,保存它从规则库中得到的句法标记,具体内容包括np-名词块,vp-动词块,sp-空间块,tp-时间块,mp-数量块,ap-形容词块,dp-副词块;b4.<关系标记crtag>,表示相应成分的内部语法关系,对词语边,保存它的词语信息;对基本块边,保存它从规则库中得到的关系标记,具体内容包括ZX-右角中心结构,LN-链式关联结构,LH-并列关系,PO-述宾关系,SB-述补关系,AM-歧义区间,SG-单词语块,其中右角中心结构,表示基本块中的所有词语直接依存到右角中心词,形成一个右向中心依存结构,基本模式为A1...AnH,依存关系为A1→H,...,An→H,H为整个基本块的句法语义中心词,A1...,An为修饰词;链式关联结构,表示基本块中的各个词语依次依存到其直接右相邻的词语,形成一个自左向右排列的多中心依存关系链,基本模式为H0H1...Hn,依存关系为H0→H1,...,Hn-1→Hn,Hi,i∈[1,n-1]成为不同层次的语义聚合中心,Hn为整个基本块的句法语义中心词;并列关系,表示基本块中的各个词语形成并列结构,如老师同学;述宾关系,表示基本块中的两个词语形成述宾结构,如吃饭;述补关系,表示基本块中的两个词语形成述补结构,如走下;歧义区间,表示若干词语可以形成不同的结构组合关系,根据现有基本块规则库和词汇知识库内容很难进行自动排歧,只能保留多个结构组合留待后续系统进行选择处理;b5.<成分置信度θ>,表示相应成分的处理置信度,θ∈
;b6.<词语边>,对句子中的第i个词语,表征为cflag=W,cl=i-1,cr=i,cctag=ti,crtag=wi,θ=0;b7.<单词语块边>,即由一个词语组成的基本块,表征为cflag=B,cr-cl=1,crtag=SG;b8.<多词语块边>,即由两个以上词语组成的基本块,表征为cflag=P,cr-cl>=2;c.块标注序列栈ChkStack[],保存从PSF中提取出的无歧义基本块以及可能产生歧义的块分析区间,形成针对输入句子的线性的块标注序列,其基本记录格式为[cflag,cl,cr,cctag,crtag,相对应的PSF边号PSFeno];d.基本规则表BasRules[],保存所有的词类标记串描述规则,其基本记录格式为[rstru,r_tag,fp,fn,θ,e_sp,e_ep],其中
r_stru为规则的结构组合,r_tag为归约标记,包括句法标记和关系标记两部分,fp为正例频度,fn为反例频度,θ为规则置信度,计算公式为θ=fp/(fp+fn),e_sp为相应的下述扩展规则在下述扩展规则表中的起始位置,e_ep为相应的扩展规则在扩展规则表中的终止位置,若该基本规则不存在对应的扩展规则,则e_sp和e_ep均为-1;e.扩展规则表ExpRules[],保存所有经过扩展进化学习得到的包含词汇约束和语境限制条件的描述规则,其基本记录格式为[r_stru,r_tag,fp,fn,θ],定义同上;f.基本块规则库,保存了进行基本块识别所需要的不同层次的基本块描述规则,通过规则自动学习和进化得到,其基本格式为{<结构组合>→<归约标记><置信度>},其中结构组合描述各个基本块的内部组合结构,按照规则描述能力的不同分为两个层次a)基本规则,其结构组合描述是词类标记串,b)扩展规则,通过词汇约束和语境限制,形成描述能力更强的结构组合描述,归约标记和置信度的定义同上;g.词汇知识库,保存分析过程中可能用到的各种词汇描述知识,通过外部知识源得到,包括以下内容g1.词汇关联知识库,含有汉语常用实词之间形成的句法关系描述对,基本数据格式为{<词语1><词语2><词类1><词类2><句法关系标记>};g2.特征动词表,含有从语法信息词典中提取出的能带不同类型宾语的动词词表信息,基本数据格式为{<动词词条>},按照不同的宾语类型组织成不同的动词表;g3.名词语义信息表,含有汉语常用名词的11个语义类信息组织、人、人工物、自然物、信息、精神、事件、属性、数量、时间和空间,基本数据格式为{<名词词条><语义类标记>};h.交集型歧义区间,如果两个基本块的左右边界(<L1,R1>和<L2,R2>)满足以下条件(L2<R1)&(L2>=L1)&(R2>R1)或(R2>L1)&(R2<=R1)&(L2<L1),则形成一个交集型歧义区间<AmL,AmR>,AmL=min(L1,L2),AmR=max(R1,R2);i.全覆盖块,表示在某个交集型歧义区间<AmL,AmR>中存在的能完全覆盖该区间的基本块,即假设该基本块的左右边界为cl和cr,则满足条件cl=AmL,cr=AmR;j.组合型歧义区间,如果句子中的一个词语组合区间,在某个语境下能形成一个完整的基本块,而在另一个语境下又会形成多个分离的基本块,则这个词语组合区间就称为组合型歧义区间,具体的判定条件是如果一个词语组合区间的基本块分析置信度小于InBelTh,则形成一个组合型歧义区间;k.整体组合块,表示组合型歧义区间整体组合形成的一个基本块;l.内部组合块,表示组合型歧义区间内部各个词语分别形成的多个基本块;还向计算机加载以下模块多词语块识别模块、歧义结构发现和自动排歧模块、单词语块自动提升模块和线性块序列生成模块;同时,设定以下参数LowBelTh,句子中的词语能组合成块的置信度阈值,取0.5;InBelTh,句子中的词语组合会形成组合型歧义区间的置信度阈值,取0.7;HighBelTh,句子中的词语能组合形成可靠的基本块的置信度阈值,取0.85;ERSum,句子中某个词语组合的所有扩展规则描述串的总数;CBSum,数据结构PSF中与某个基本块发生交叉的所有基本块总数;OASum,句子中发现的所有交集型歧义区间的总数;CASum,句子中发现的所有组合型歧义区间的总数;并使用以下基本处理函数min为求最小值函数,min(x,y)表示选择x和y中的最小值;max为求最大值函数,max(x,y)表示选择x和y中的最大值;(2)输入需要进行基本块分析的汉语句子S,S={<wi,ti>},i∈[1,n];(3)按以下步骤初始化相关数据结构PSF(3.1)初始化i=0;(3.2)获取句子中第i个词的词语信息wi和词类标记ti,生成一个新的词语边记录[‘W’,i,i+1,ti,wi,0],加入该PSF中,其中0表示置信度的值;(3.3)令i=i+1,重复步骤(3.2),直到i=n,终止;(4)按以下步骤发现并识别多词语块(4.1)初始化i=0;(4.2)从句子的第i个词语出发,从左到右扫描整个句子,组合形成所有长度在2~6个词语之间的基本块待分析区间<i,j>,j∈[i+2,i+6];
(4.3)顺序获取步骤(4.2)形成的一个基本块待分析区间<i,j>,在规则库中寻找针对该区间的最佳匹配规则序号BestRuleNo,具体步骤为(4.3.1)获取区间内的词类标记串,若该标记串不在基本规则表中出现,则返回空序号,终止;(4.3.2)判断是否存在相应的扩展规则,若不存在,则转(4.3.7);(4.3.3)查询词汇知识库,获取该区间的所有扩展规则结构组合描述串,其总数为ERSum;(4.3.4)顺序检查所有的k=0,1,2,...,ERSum-1个扩展规则结构组合描述串,如果发现其中的某个描述串在扩展规则表中出现,则将匹配的扩展规则表序号加入发现的规则表中;(4.3.5)若找不到匹配的扩展规则,则转(4.3.7);(4.3.6)从所述发现的规则表中选择置信度最高的扩展规则,返回该扩展规则序号,终止;(4.3.7)若基本规则的置信度<LowBelTh,则返回空序号,终止;否则返回该基本规则序号,终止;(4.4)若BestRuleNo为空,则转(4.9);(4.5)根据最佳匹配规则序号BestRuleNo,从相应的规则表记录中提取以下信息基本块句法标记CCT、关系标记CRT和分析置信度CB,生成一个新的多词语块边记录[’P’,i,j,CCT,CRT,CB],加入数据结构PSF中;(4.6)进行局部语境相对组合强度动态排歧,步骤如下(4.6.1)获取当前基本块的置信度值θT;(4.6.2)获取数据结构PSF中与此基本块发生交叉的所有其他基本块,其总数为CBSum,并初始化交叉边数组下标控制变量i=0;(4.6.3)获取其中第i条交叉边的置信度值θi,判断(4.6.4)若θT-θi>0.2,则删除其中第i条交叉边(令此交叉边的cflag=‘D’);(4.6.5)令i=i+1,重复步骤(4.6.3)-(4.6.5),直到i=CBSum;(4.6.6)若存在某个交叉边i,使θi-θT>0.2,则删除当前基本块边,终止;(4.7)只要j<min(n,i+6),则重复步骤(4.3)-(4.6);(4.8)若i<n,则令i=i+1,重复步骤(4.2)-(4.7),否则终止;(5)发现多词语块歧义结构,依次含有以下步骤(5.1)从数据结构PSF中提取所有的多词语块边,总数为PESum;
(5.2)按照这些多词语块的左右边界位置各自从小到大进行自动排序,形成一个多词语块信息表;(5.3)获取表中第1个块的左右边界位置<L,R>L=cl1,R=cr1,设置可能的交集型歧义区间的左右边界位置缓冲区BufL=L,BufR=R,初始化交集型歧义区间信息AmL=AmR=0,初始化多词语块信息表下标控制变量i=2;(5.4)获取表中第i个块的左右边界位置<L,R>L=cli,R=cri;(5.5)若两个相邻块的词语区间不交叉,即L>BufR,则转(5.6);否则,调整可能的交集型歧义区间的左右边界位置缓冲区BufL=min(BufL,L),BufR=max(BufR,R),并设置相应的交集型歧义区间信息AmL=BufL,AmR=BufR,转(5.10);(5.6)获取两条相邻多词语块边的分析置信度θi-1和θi;(5.7)若θi<InBelTh,则保存一个组合型歧义区间<L,R>;(5.8)若θi-1<InBelTh,则保存一个组合型歧义区间<BufL,BufR>;(5.9)若发现交集型歧义区间,即AmL>0,则保存一个交集型歧义区间<AmL,AmR>,重新设置相关缓冲区BufL=L,BufR=R,AmL=AmR=0;(5.10)令i=i+1,重复步骤(5.4)-(5.9),直到i=PESum;(5.11)返回发现的两类歧义区间的总数和边界信息表,终止;(6)进行多词语块自动排歧,步骤如下(6.1)获取句子中发现的两类歧义区间的总数OASum、CASum和相应的边界信息表;(6.2)进行交集型区间排歧处理,步骤如下(6.2.1)初始化交集型区间边界信息表下标控制变量i=0;(6.2.2)获取第i个交集型歧义区间<L,R>,获取区间内部的所有交叉多词语块;(6.2.3)若歧义区间中存在全覆盖块或所有交叉块形成链式关联结构,则转步骤(6.2.4);否则终止;(6.2.4)获取区间内所有交叉块的置信度值θi,并设置其最大值Max_θ和最小值Min_θ;(6.2.5)若同时满足以下两个条件,则形成均匀分布的链式关联结构块,并令CCT=np或vp,所有θi>=InBelTh或所有θi>LowBelTh,并且(Max_θ-Min_θ<0.1),所有交叉块是名词块或动词块,
(6.2.6)若同时满足以下两个条件,则形成新的链式关联结构名词块,令CCT=np,所有交叉块为名词块np,整体形成一个名词块,并且其分布置信度大于InBelTh,(6.2.7)若同时满足以下两个条件,则形成新的链式关联结构名词块,令CCT=np,所有交叉块的句法标记为np或sp或tp,存在全覆盖块,并且(所有θi>LowBelTh),(6.2.8)生成一个新的链式关联结构多词语块边记录[‘P’,L,R,CCT,‘LN’,Max_θ],加入数据结构PSF中,其中‘LN’表示链式关联结构;(6.2.9)删除区间内的所有交叉边;(6.2.10)令i=i+1,重复步骤(6.2.2)-(6.2.9),直到i=OASum,终止;(6.3)进行组合型区间排歧处理,步骤如下(6.3.1)初始化组合型区间边界信息表下标控制变量i=0;(6.3.2)获取第i个组合型歧义区间<L,R>;(6.3.3)获取该区间的整体组合块的置信度值Comb_θ;(6.3.4)获取该区间的各个内部组合块的置信度值Seg_θi,并设置其最大值Max_θ;(6.3.5)若所有Seg_θi>LowBelTh且存在一个Seg_θi>HighBelTh,则转(6.3.9);(6.3.6)若所有Seg_θi<=LowBelTh,则转(6.3.10);(6.3.7)若Comb_θ>HighBelTh,则转(6.3.10);(6.3.8)若Comb_θ-Max_θ>0.1,则转(6.3.10);(6.3.9)选择‘分’状态,即删除整体组合块,转(6.3.11);(6.3.10)选择‘合’状态,即删除各个内部组合块,转(6.3.11);(6.3.11)令i=i+1,重复步骤(6.3.2)-(6.3.10),直到i=CASum,终止;(7)自动提升单词语块,步骤如下(7.1)从左到右扫描句子中的所有词语,若该词语已被其他多词语块覆盖,或者属于包括连词、助词、介词、语气词、感叹词、标点符号等的功能词集合,则直接转下一个词语,否则执行下面步骤(7.2)获取该词语对应的句法标记,生成一个新的单词语块边记录加入数据结构PSF中;
(8)生成线性块标注序列,步骤如下(8.1)分析PSF数组,得到覆盖完整句子的以下两类词语区间位置信息表有歧义区间,表示为AmbiList[],无歧义区间,表示为NonAmbiList[],(8.2)分别获取两类词语区间的总数,表示为ALSum和NALSum;(8.3)初始化i=0;(8.4)获取第i个有歧义区间的左右边界位置<L,R>;(8.5)获取该区间中的第一个基本块的句法标记CCT,生成一个歧义区间块[‘P’,L,R,CCT,‘AM’,-1],加入块标注序列栈ChkStack中,其中的关系标记设置为AM,表示歧义区间;(8.6)令i=i+1,重复步骤(8.4)-(8.5),直到i=ALSum;(8.7)对每个无歧义区间,顺序提取其中覆盖的各个基本块信息,加入块标注序列栈ChkStack中;(8.8)对块标注序列栈ChkStack进行块信息排序,形成覆盖整个句子的线性的块标注序列,终止。
为了准确测试目前开发完成的汉语基本块自动分析器的处理性能,我们从汉语句法树库TCT标注语料中选择了所有的新闻类文本,总规模约20万词。将它分成两部分80%作为训练语料,主要用于规则学习和进化处理;20%作为测试语料,主要用于基本块分析器的性能评价。表1列出了这些实验语料的基本统计数据。
表1实验语料的基本统计数据

在训练语料上,通过规则学习和扩展进化处理,我们得到了以下分层次、多粒度的基本块规则库●在基本规则层面,包含211条词类标记描述规则。
●在扩展规则层面,包括4972条引入了更多的词汇约束和语境限制描述的扩展规则。
同时,与上面扩展规则的具体应用相配合,我们还使用了以下词汇知识库1)词汇关联知识库目前主要使用了动宾关系库,其中包含了汉语常用动词与后面的名词和动词等形成的动宾关系描述对。基本规模是动词词条5346个,词汇关联对52390个,平均每个动词词条包含约10个动宾关系描述对。
2)特征动词表包含从北大语法信息词典中提取出的能带不同类型宾语的动词词表信息,基本规模为带名词宾语动词4888个,带处所宾语动词781个,带时间宾语动词48个,双宾动词278个,兼语动词403个,带动词宾语动词732个,带形容词宾语动词122个,带小句宾语动词698;3)名词语义信息表包含汉语常用名词的11个语义大类信息,包括组织、人、人工物、自然物、信息、精神、事件、属性、数量、时间和空间,基本规模是名词词条26905个。
考虑到目前分析器的具体处理情况,我们首先把分析结果按照是否包含歧义分成以下三大类1)无歧义区间;2)组合型歧义区间;3)交集型歧义区间。针对目前的处理语料,在开放测试情况下,上述3个区间覆盖的词语占处理词语总数的比率分别为0.955、0.026、0.020。表明目前的块分析器对大部分处理语料,可以很好地完成分析和排歧工作。
在两个歧义区间内,我们通过以下指标分析歧义结果对正确分析结果的覆盖能力1)正确结果招回率,描述所有歧义分析结果中包含正确结果的比率,计算公式为歧义结果中包含的正确结果总数/歧义区间涉及的正确结果总数*100%;2)歧义分布率,描述针对一个正确结果可能形成的歧义分析平均数目,计算公式为歧义结果总数/歧义区间涉及的正确结果总数;表2歧义区间处理结果分析数据

表2显示了目前的处理结果。从中可以看出,剩余的组合型歧义结果保存了绝大部分的正确分析结果,对它们的分合选择需要参考更大的语境信息。复杂的交集型歧义是目前的处理难点,需要引入更多有效的词汇语义信息描述。
在无歧义区间内,我们通过以下指标分析基本块的识别能力1)基本块识别正确率(P),计算公式为分析正确的基本块总数/自动识别出的基本块总数*100%;2)基本块识别招回率(R),计算公式为分析正确的基本块总数/正确的基本块总数*100%;3)正确率和招回率的几何平均值F-Measure,计算公式为2*P*R/(P+R);针对不同块,确定不同的正确判定标准
●对多词语块,考虑以下两个层次1)块边界,句法标记和关系标记完全相同(B+C+R);2)块边界和句法标记相同,关系标记可以不同(B+C)。
●对单词语块,主要判断块边界和句法标记的相同性;表3和表4显示了目前的处理结果。从中可以看出,多词语数量块(mp)、时间块(tp)和形容词块(ap)在封闭和开放测试中都达到了很高的处理F-M值,并且两者性能指标差别并不明显,表明针对这3个块的自动习得规则已经达到了很好的描述能力,基本上覆盖了这些块的各种分布情况。多词语动词块(vp)、名词块(np)和空间块(sp)还有很大的提升空间,其中的vp和np块在真实文本语料中占有最大比例,对它们的准确识别是我们研究的重点。从目前的处理结果看,无论在开放测试还是封闭测试中,vp块的F-M都高出np块3-4个百分点,这种性能差异情况在考虑关系标记的情况下更为明显。这充分显示了词汇关联信息在提高基本块的边界识别和内部关系分析性能方面的重要作用。而vp块和np块开放测试F-M一般比封闭测试要下降2-3个百分点,表明目前针对它们的规则描述还很不充分,许多测试语料中出现的新分布情况可能没有被训练语料所覆盖。
表3封闭测试实验结果

表4开放测试实验结果



图1.汉语基本块自动分析器的总体控制流程图2.多词语块识别模块的处理流程图3.规则匹配处理流程图4.局部语境动态排歧模块的处理流程图5.歧义区间发现模块的处理流程图6.组合型歧义区间的排歧处理流程具体实施方式
基本块分析器的设计目标,是在基本块规则库和词汇语义知识库的支持下,对经过词语切分和词性标注处理的汉语真实文本句子进行自动分析,识别出其中的各个基本块的边界位置,确定其句法标记、关系标记和分析置信度,得到句子的基本块分析标注结果。下面给出一个具体的分析实例输入句子我们/r 应/vM 注意/v 挑选/v 一些/m 中青年/n 科学家/n 参加/v这样/r 的/u 国际/n 会议/n,/w 培养/v一/m 支/q懂/v 科学/n、/w 懂/v外交/n 的/u “/w 国家队/n”/w,/w积极/a 开展/v 人民/n 外交/n。/w分析结果[np-SG 我们/r][vp-SG 应/vM][vp-SG 注意/v][vp-SG 挑选/v][np-ZX 一些/m 中青年/n 科学家/n][vp-SG 参加/v][vp-SG 这样/r]的/u[np-ZX国际/n 会议/n],/w[vp-SG培养/v][mp-ZX 一/m 支/q][vp-PO 懂/v 科学/n]、/w[vp-PO 懂/v 外交/n]的/u“/w[np-SG 国家队/n]”/w,/w[dp-SG积极/a][vp-SG 开展/v][np-ZX 人民/n 外交/n]。/w目前所用的分析资源主要包括以下两部分1)基本块规则库,保存了进行基本块识别所需要的不同层次的基本块描述规则,它们通过规则自动学习和进化获得。基本格式为{<结构组合>→<归约标记><置信度>}。其中●结构组合描述各个基本块的内部组合结构,按照规则描述能力的不同分为两个层次a)基本规则,其结构组合描述是词类标记串;b)扩展规则,通过词汇约束和语境限制,形成描述能力更强的结构组合描述。
●归约标记主要包括句法标记和关系标记,描述该基本块的基本句法信息。
●置信度θ给出了使用该规则分析得到的基本块的可靠性预期值。
2)词汇知识库,保存分析过程中可能用到的各种词汇描述知识,它们通过外部知识源得到,主要包括以下内容●词汇关联知识库包含了汉语常用实词之间形成的句法关系描述对。基本数据格式为{<词语1><词语2><词类1><词类2><句法关系标记>};●特征动词表包含从语法信息词典中提取出的能带不同类型宾语的动词词表信息。
基本数据格式为{<动词词条>},按照不同的宾语类型组织成不同的动词表;●名词语义信息表包含汉语常用名词的11个语义类信息,包括组织、人、人工物、自然物、信息、精神、事件、属性、数量、时间和空间。基本数据格式为{<名词词条><语义类标记>}。
为了适应不同的应用需求,我们设计了以下两个数据结构保存基本块分析结果1)压缩共享森林(PSF)它是线图(Chart)分析方法中使用的典型数据结构,这里的基本设计思想是把句子中的n个词语从左到右顺序排列后,从第1个词语左边开始到第n个的右边共有n+1位置,定义每个位置为一个线图节点,任意两个节点就可以组成一条线图边,用(l,r)表示,其中l为边的左节点位置,r为边的右节点位置,且r>l,所有的边组合形成一个线图数组,以对所有词语和由词语形成的包括基本块、短语在内的复杂成分给出完整的描述信息。每个边记录包含以下信息<成分标志><成分左边界><成分右边界><句法标记><关系标记><成分分析置信度>,其中●<成分标志>表示不同的成分类别,目前使用了以下字符来表示◆W-词语,B-单词语块,P-多词语块,D-因排歧而形成的动态删除边●<成分左边界>和<成分右边界>分别表示相应的成分边在句子中的左右边界位置;●<句法标记>表示相应成分的外部句法功能,对词语边,保存它的词类标记信息,对基本块边,保存它从规则库中得到的句法标记信息;●<关系标记>表示相应成分的内部语法关系,对词语边,保存它的词语信息,对基本块边,保存它从规则库中得到的关系标记信息;●<成分置信度>表示相应成分的处理置信度,对词语边,为0,对基本块边,保存它从规则库中得到的置信度信息;2)块标注序列栈(ChkStack)保存从PSF中提取出的无歧义基本块以及可能产生歧义的块分析区间,形成针对输入句子的线性的块标注序列。每个栈记录包含以下信息<成分标志><成分左边界><成分右边界><句法标记><关系标记><该成分对应的PSF边号>,其中前5项内容同PSF。
在上面的双数据结构设计方案中,PSF保存了分析得到的所有基本块信息(包括排歧处理原始数据),由于与目前的完整句法分析器采用了同样的数据结构,因此可以方便地实现与完整句法分析器的无缝连接,便于充分利用各种可能的基本块分析结果,进一步构建起句子的完整分析树。而ChkStack中则保存从PSF中提取出的可靠基本块以及可能产生歧义的块分析区间,形成针对输入句子的线性块标注序列,可以方便地生成基本块标注结果。
为了充分发挥自动习得的分层次描述规则的处理能力,提高匹配效率,我们设计了以下基本块规则库保存的内部数据结构1)基本规则表BasRules[]保存所有的词类标记串描述规则;其基本记录格式为[r_stru,r_tag,fp,fn,θ,e_sp,e_ep],其中r_stru为规则的结构组合,r_tag为归约标记,fp为正例频度,fn为反例频度,θ为规则置信度,计算公式为θ=fp/(fp+fn),e_sp为相应的扩展规则在扩展规则表中的起始位置,e_ep为相应的扩展规则在扩展规则表中的终止位置;2)扩展规则表ExpRules[]保存所有经过扩展进化学习得到的包含内部词汇约束和外部语境限制条件的描述规则;其基本记录格式为[r_stru,r_tag,fp,fn,θ],其中r_stru,r_tag,fp,fn,θ定义同BasRules[];这样,通过在基本规则表中记录相对应的扩展规则的索引信息e_sp和e_ep,建立起了两者之间的内在联系。
在具体匹配分析过程中,首先通过获取句子中待分析位置的词类标记串,检索基本规则表,如果发现某个能匹配的基本规则,则进一步检查是否存在扩展规则。如果存在,则对句子中的相关位置进行分层次的信息扩展,检查扩展组合是否在扩展规则表的相应区间[e_sp,e_ep]中出现。如果发现了扩展规则,则从所有的匹配的规则中选择处理置信度最高的规则作为匹配规则输出。否则,使用基本规则作为缺省的匹配规则。
图1给出了目前的基本块自动分析器的完整处理流程首先加载分析资源;然后读取一个待分析句子;初始化相关数据结构PSF,把句子中所有“词语+词类”项作为词语边加入PSF中;从左到右扫描整个句子,发现并识别句子中所有的多词语块;在此基础上,发现分析结果中所有的歧义结构并进行自动排歧;并自动提升句子中没有被多词语块覆盖的实义词,形成所有可能的单词语块;最后提取并输出句子的最佳基本块标注序列;并卸载分析资源。
下面对其中的几个主要处理步骤的具体实现方法进行详细说明。为便于理解,首先给出一些基本符号和术语的定义●θ分析得到的基本块的置信度,一般由相匹配的基本块规则所决定;●LowBelTh句子中的词语能组合成块的置信度阈值,目前取值=0.5;●InBelTh句子中的词语组合会形成组合型歧义区间的置信度阈值,目前取值=0.7;●HighBelTh句子中的词语能组合形成可靠的基本块的置信度阈值,目前取值=0.85;●n待分析句子包含的词语总数;●ERSum句子中某个词语组合的所有扩展规则描述串总数;●CBSumPSF中与某个基本块发生交叉的所有基本块总数;●OASum,句子中发现的所有交集型歧义区间的总数;●CASum,句子中发现的所有组合型歧义区间的总数;1)多词语块识别模块图2列出了多词语块识别模块的完整处理流程,其基本方法是从左到右扫描整个句子,从句子中的每个词语出发,组合形成可能的基本块组合区间(长度在2到6之间);如果能在基本块规则库中发现与此区间相匹配的规则(基本流程见图3),则从规则描述中提取“句法标记+关系标记+置信度”信息,自动生成一个新的基本块记录(标记为‘P’)加入PSF中,并进行局部语境相对组合强度动态排歧(基本流程见图4),在与这个新生成的基本块发生交叉的所有局部语境基本块中,发现并排除其中组合可能性较低的基本块组合。
2)歧义结构发现和自动排歧模块基本方法是从PSF中提取所有自动分析得到的多词语块,按照其中各个基本块的左右边界位置进行自动排序(先左边界从小到大,后右边界从小到大)。然后顺序处理这个块序列,通过以下方法分别发现所有的交集型和组合型歧义区间●交集型歧义如果相邻的两个基本块的左右边界(<L1,R1>和<L2,R2>)满足以下条件L2<R1,则形成一个可能的交集型歧义区间<L1,R2>,这个过程不断重复进行,直至发现一个最大的交集性歧义区间;●组合型歧义如果一个基本块的分析置信度小于InBelTh,则形成一个可能的组合型歧义区间。
图5显示了歧义区间发现模块的基本处理流程。然后,就可以通过两个循环分别对每个交集型和组合型歧义区间进行自动排歧处理。
相对而言,交集型歧义区间的排歧方法比较复杂,需要考虑内部的不同歧义结构情况,基本处理流程如下所示1.获取其中所有交叉基本块,检查其歧义组合状态;2.如果存在全覆盖块或形成可能的链式关联结构,则继续下一步;否则返回;3.获取区间内所有基本块的置信度值θi,并设置其最大值Max_θ和最小值Min_θ;4.如果同时满足以下条件,则形成新的均匀分布链式关联结构,返回
●((所有θi>=InBelTh)‖(所有θi>LowBelTh))&&(Max_θ-Min_θ<0.1);●所有交叉基本块为名词块(np)或动词块(vp);5.如果同时满足以下条件,则形成新的链式关联结构名词块,返回●所有交叉基本块为名词块(np);●整体形成一个名词基本块,并且其分布置信度大于InBelTh;6.如果同时满足以下条件,则形成新的链式关联结构名词块,返回●所有交叉基本块的句法标记属于{np,sp,tp};●存在全覆盖块,并且(所有θi>LowBelTh);7.其他情况,直接返回;组合型歧义区间的排歧方法则比较简单,只需考虑不同情况的分布置信度信息,主要处理流程见图6。
3)单词语块自动提升模块基本方法是从左到右扫描句子中的所有词语,如果该词语已被其他多词语块覆盖或者是特殊功能词(包括连词、助词、介词、语气词、感叹词、标点符号等),则直接跳过处理下一个词;否则,通过以下规则获取自动提升的单词语块的句法标记●若词类标记为名词(n),则提升为名词块np;●若词类标记为动词(v),则提升为动词块vp;●若词类标记为副词(n),则提升为副词块dp;●若词类标记为形容词(a),则提升为形容词块ap;据此在PSF中增加一条新的单词语块边。以上过程不断重复进行,直至处理完句子中的所有词语。
4)线性块标注序列生成模块经过以上的处理,我们得到了所有的基本块(多词语块+单词语块)分析结果,它们都保存在PSF数组中。最后一步处理就是从PSF中提取形成针对整个句子的基本块线性标注序列,并把有关数据保存在ChkStack中。具体的处理流程为1.分析PSF数组,得到覆盖完整句子的以下两类词语区间位置信息表;●有歧义区间AmbiList;●无歧义区间NonAmbiList;2.对每个有歧义区间,自动生成一个歧义区间块加入ChkStack;//句法标记取其中第一个基本块的句法标记,关系标记设置为“AM”(表示歧义区间)
3.对每个无歧义区间,顺序提取其中覆盖的各个基本块信息,加入ChkStack;4.对ChkStack进行块信息排序,形成覆盖整个句子的块描述序列;下面给出以上分析算法的一个具体实施例在加载了分析资源基本块规则库+词汇知识库后,对以下输入句子进行基本块自动分析我们/r 应/vM 注意/v 挑选/v 一些/m 中青年/n 科学家/n 参加/v 这样/r 的/u国际/n 会议/n,/w 培养/v 一/m 支/q 懂/v 科学/n、/w 懂/v 外交/n 的/u“/w国家队/n”/w,/w 积极/a 开展/v 人民/n 外交/n。/w首先初始化基本数据结构PSF,把句子中的31个词语项的基本信息词语+词类,作为词边(句法标记为‘W’)加入PSF中。然后,从左到右扫描整个句子,发现并识别句子中所有的多词语块(图2)。
当扫描到句子的第2个词语(从0开始计数)“注意/v”时,我们发现了一个有效的基本规则组合“v+v”,它存在扩展规则。因此,我们调用规则扩展模块,得到了以下的扩展规则结构组合描述串1.v(winl:VVPLIST)+v//考虑动词的句法特征能否带动词性宾语2.vM_v+v//考虑左相邻词类限制3.v+v_m//考虑右相邻词类限制4.vM_v+v_m//考虑左右相邻词类限制5.vM_v(winl:VVPLIST)+v//同时考虑动词的句法特征+左相邻词类限制6.v(winl:VVPLIST)+v_m//同时考虑动词的句法特征+右相邻词类限制7.vM_v(winl:VVPLIST)+v_m//同时考虑动词的句法特征+左右相邻词类限制通过检索该基本规则对应的254条扩展规则,我们没有发现相匹配的扩展规则,表明在现有语境下,词语组合“注意/v挑选/v”不大可能形成一个基本块。
继续向右扫描到句子的第4个词语“一些/m”时,我们又发现了一个有效的基本规则组合“m+n+n”,它存在扩展规则。因此,我们调用规则扩展模块,得到了以下的扩展规则结构组合描述串1.v_m+n+n//考虑左相邻词类限制2.m+n+n_v//考虑右相邻词类限制3.v_m+n+n_v//考虑左右相邻词类限制通过检索该规则相对应的21条扩展规则信息,我们发现了以下两条相匹配的扩展规则1.m+n+n_v → np-ZX,18,1,0.95//匹配上面的结构组合22.v_m+n+n→np-ZX,14,0,1.0//匹配上面的结构组合1
从中,我们选择了置信度较高的规则2作为最佳的匹配规则,据此可以生成一个新的多词语块加入PSF中[‘P’,4,7,np,ZX,1.0]。
以上分析过程不断进行,在多词语块识别模块结束后,我们总共得到了7个多词语块,下表列出了这些基本块的详细描述信息。

然后调用歧义结构处理模块,我们发现句子中存在一个交集型歧义区间[4,6],对此进行排歧处理,可以看到它满足第3个链式结构形成条件●所有交叉基本块为体词块(np,sp,tp);●存在全覆盖块,并且(所有θi>LowBelTh);因此,我们选择其中的全覆盖块(边号=31),并排除内部的基本块(边号=32,设置句法标记为‘D’),完成自动排歧处理。
在此基础上,进一步把句子中其他没有被多词语块覆盖的实义词(第0、1、2、3、7、8、13、23、26、27个词语)自动提升,形成10个单词语块。从而完成了图1流程中的基本块分析模块功能。
最后,运行最佳基本块标注序列提取模块,并输出ChkStack中的所有信息,我们可以得到以下基本块分析结果[np-SG 我们/r][vp-SG 应/vM][vp-SG 注意/v][vp-SG 挑选/v][np-ZX 一些/m 中青年/n 科学家/n][vp-SG 参加/v][vp-SG 这样/r]的/u[np-ZX 国际/n会议/n],/w[vp-SG 培养/v][mp-ZX 一/m 支/q][vp-PO 懂/v 科学/n]、/w[vp-PO 懂/v 外交/n]的/u“/w[np-SG 国家队/n]”/w,/w[dp-SG 积极/a][vp-SG 开展/v][np-ZX 人民/n 外交/n]。/w这个基本块分析器可以在任何PC兼容机上,用标准C/C++程序设计语言实现。
权利要求
1.基于规则的汉语基本块自动分析方法,其特征在于,它依次含有以下步骤(1)计算机初始化设定a.输入的句子为S,S={<wi,ti>},其中wi为句子S中的第i个词语,ti为第i个词语的词类标记,i∈[1,n],n为句子中的词语总数;b.压缩共享森林PSF[],用线图中的数据结构表示把句子中的n个词语从左到右顺序排列后,从第1个词语左边开始到第n个的右边共有n+1位置,定义每个位置为一个线图节点,任意两个节点就可以组成一条线图边,用(l,r)表示,其中l为边的左节点位置,r为边的右节点位置,且r>l,所有的边组合形成一个线图数组,以对所有词语和由词语形成的基本块给出完整的描述信息,所有词语和基本块统称为句法成分,所述基本块是指句子S中一组相邻的以某个实词为中心的词语的集合体,所述PSF[]内含b1.<成分标志cflag>,表示以下不同的成分类别W-词语,B-单词语块,P-多词语块,D-因排歧而形成的动态删除边;b2.<成分左边界cl>、<成分右边界cr>分别表示成分边在句子S中的左、右边界位置,cl∈
,cr∈[1,n];b3.<句法标记cctag>,表示相应成分的外部句法功能,对词语边,保存它的词类标记,具体内容包括n-名词,s-处所词,t-时间词,f-方位词,r-代词,vM-助动词,v-动词,a-形容词,d-副词,m-数词,q-量词,p-介词,u-助词,c-连词,y-语气词,e-感叹词,w-标点符号;对基本块边,保存它从规则库中得到的句法标记,具体内容包括np-名词块,vp-动词块,sp-空间块,tp-时间块,mp-数量块,ap-形容词块,dp-副词块;b4.<关系标记crtag>,表示相应成分的内部语法关系,对词语边,保存它的词语信息;对基本块边,保存它从规则库中得到的关系标记,具体内容包括ZX-右角中心结构,LN-链式关联结构,LH-并列关系,PO-述宾关系,SB-述补关系,AM-歧义区间,SG-单词语块,其中右角中心结构,表示基本块中的所有词语直接依存到右角中心词,形成一个右向中心依存结构,基本模式为A1…AnH,依存关系为A1→H,…,An→H,H为整个基本块的句法语义中心词,A1,…,An为修饰词;链式关联结构,表示基本块中的各个词语依次依存到其直接右相邻的词语,形成一个自左向右排列的多中心依存关系链,基本模式为H0H1…Hn,依存关系为H0→H1,…,Hn-1→Hn,Hi,i∈[1,n-1]成为不同层次的语义聚合中心,Hn为整个基本块的句法语义中心词;并列关系,表示基本块中的各个词语形成并列结构,如老师 同学;述宾关系,表示基本块中的两个词语形成述宾结构,如吃饭;述补关系,表示基本块中的两个词语形成述补结构,如走 下;歧义区间,表示若干词语可以形成不同的结构组合关系,根据现有基本块规则库和词汇知识库内容很难进行自动排歧,只能保留多个结构组合留待后续系统进行选择处理;b5.<成分置信度θ>,表示相应成分的处理置信度,θ∈
;b6.<词语边>,对句子中的第i个词语,表征为cflag=W,cl=i-1,cr=i,cctag=ti,crtag=wi,θ=0;b7.<单词语块边>,即由一个词语组成的基本块,表征为cflag=B,cr-cl=1,crtag=SG;b8.<多词语块边>,即由两个以上词语组成的基本块,表征为cflag=P,cr-cl>=2;c.块标注序列栈ChkStack[],保存从PSF中提取出的无歧义基本块以及可能产生歧义的块分析区间,形成针对输入句子的线性的块标注序列,其基本记录格式为[cflag,cl,cr,ectag,crtag,相对应的PSF边号PSFeno];d.基本规则表BasRules[],保存所有的词类标记串描述规则,其基本记录格式为[r_stru,r_tag,fp,fn,θ,e_sp,e_ep],其中r_stru为规则的结构组合,r_tag为归约标记,包括句法标记和关系标记两部分,fp为正例频度,fn为反例频度,θ为规则置信度,计算公式为θ=fp/(fp+fn),e_sp为相应的下述扩展规则在下述扩展规则表中的起始位置,e_ep为相应的扩展规则在扩展规则表中的终止位置,若该基本规则不存在对应的扩展规则,则e_sp和e_ep均为-1;e.扩展规则表ExpRules[],保存所有经过扩展进化学习得到的包含词汇约束和语境限制条件的描述规则,其基本记录格式为[r_stru,r_tag,fp,fn,θ],定义同上;f.基本块规则库,保存了进行基本块识别所需要的不同层次的基本块描述规则,通过规则自动学习和进化得到,其基本格式为{<结构组合>→<归约标记><置信度>},其中结构组合描述各个基本块的内部组合结构,按照规则描述能力的不同分为两个层次a)基本规则,其结构组合描述是词类标记串,b)扩展规则,通过词汇约束和语境限制,形成描述能力更强的结构组合描述,归约标记和置信度的定义同上;g.词汇知识库,保存分析过程中可能用到的各种词汇描述知识,通过外部知识源得到,包括以下内容g1.词汇关联知识库,含有汉语常用实词之间形成的句法关系描述对,基本数据格式为{<词语1><词语2><词类1><词类2><句法关系标记>};g2.特征动词表,含有从语法信息词典中提取出的能带不同类型宾语的动词词表信息,基本数据格式为{<动词词条>},按照不同的宾语类型组织成不同的动词表;g3.名词语义信息表,含有汉语常用名词的11个语义类信息组织、人、人工物、自然物、信息、精神、事件、属性、数量、时间和空间,基本数据格式为{<名词词条><语义类标记>};h.交集型歧义区间,如果两个基本块的左右边界(<L1,R1>和<L2,R2>)满足以下条件(L2<R1)&(L2>=L1)&(R2>R1)或(R2>L1)&(R2<=R1)&(L2<L1),则形成一个交集型歧义区间<AmL,AmR>,AmL=min(L1,L2),AmR=max(R1,R2);i.全覆盖块,表示在某个交集型歧义区间<AmL,AmR>中存在的能完全覆盖该区间的基本块,即假设该基本块的左右边界为cl和cr,则满足条件cl=AmL,cr=AmR;j.组合型歧义区间,如果句子中的一个词语组合区间,在某个语境下能形成一个完整的基本块,而在另一个语境下又会形成多个分离的基本块,则这个词语组合区间就称为组合型歧义区间,具体的判定条件是如果一个词语组合区间的基本块分析置信度小于InBelTh,则形成一个组合型歧义区间;k.整体组合块,表示组合型歧义区间整体组合形成的一个基本块;l.内部组合块,表示组合型歧义区间内部各个词语分别形成的多个基本块;还向计算机加载以下模块多词语块识别模块、歧义结构发现和自动排歧模块、单词语块自动提升模块和线性块序列生成模块;同时,设定以下参数LowBelTh,句子中的词语能组合成块的置信度阈值,取0.5;InBelTh,句子中的词语组合会形成组合型歧义区间的置信度阈值,取0.7;HighBelTh,句子中的词语能组合形成可靠的基本块的置信度阈值,取0.85;ERSum,句子中某个词语组合的所有扩展规则描述串的总数;CBSum,数据结构PSF中与某个基本块发生交叉的所有基本块总数;OASum,句子中发现的所有交集型歧义区间的总数;CASum,句子中发现的所有组合型歧义区间的总数;并使用以下基本处理函数min为求最小值函数,min(x,y)表示选择x和y中的最小值;max为求最大值函数,max(x,y)表示选择x和y中的最大值;(2)输入需要进行基本块分析的汉语句子S,S={<wi,ti>},i∈[1,n];(3)按以下步骤初始化相关数据结构PSF(3.1)初始化i=0;(3.2)获取句子中第i个词的词语信息wi和词类标记ti,生成一个新的词语边记录[‘W’,i,i+1,ti,wi,0],加入该PSF中,其中0表示置信度的值;(3.3)令i=i+1,重复步骤(3.2),直到i=n,终止;(4)按以下步骤发现并识别多词语块(4.1)初始化i=0;(4.2)从句子的第i个词语出发,从左到右扫描整个句子,组合形成所有长度在2~6个词语之间的基本块待分析区间<i,j>,j∈[i+2,i+6];(4.3)顺序获取步骤(4.2)形成的一个基本块待分析区间<i,j>,在规则库中寻找针对该区间的最佳匹配规则序号BestRuleNo,具体步骤为(4.3.1)获取区间内的词类标记串,若该标记串不在基本规则表中出现,则返回空序号,终止;(4.3.2)判断是否存在相应的扩展规则,若不存在,则转(4.3.7);(4.3.3)查询词汇知识库,获取该区间的所有扩展规则结构组合描述串,其总数为ERSum;(4.3.4)顺序检查所有的k=0,1,2,…,ERSum-1个扩展规则结构组合描述串,如果发现其中的某个描述串在扩展规则表中出现,则将匹配的扩展规则表序号加入发现的规则表中;(4.3.5)若找不到匹配的扩展规则,则转(4.3.7);(4.3.6)从所述发现的规则表中选择置信度最高的扩展规则,返回该扩展规则序号,终止;(4.3.7)若基本规则的置信度<LowBelTh,则返回空序号,终止;否则返回该基本规则序号,终止;(4.4)若BestRuleNo为空,则转(4.9);(4.5)根据最佳匹配规则序号BestRuleNo,从相应的规则表记录中提取以下信息基本块句法标记CCT、关系标记CRT和分析置信度CB,生成一个新的多词语块边记录[’P’,i,j,CCT,CRT,CB],加入数据结构PSF中;(4.6)进行局部语境相对组合强度动态排歧,步骤如下(4.6.1)获取当前基本块的置信度值θT;(4.6.2)获取数据结构PSF中与此基本块发生交叉的所有其他基本块,其总数为CBSum,并初始化交叉边数组下标控制变量i=0;(4.6.3)获取其中第i条交叉边的置信度值θi,判断(4.6.4)若θT-θi>0.2,则删除其中第i条交叉边(令此交叉边的cflag=‘D’);(4.6.5)令i=i+1,重复步骤(4.6.3)-(4.6.5),直到i=CBSum;(4.6.6)若存在某个交叉边i,使θi-θT>0.2,则删除当前基本块边,终止;(4.7)只要j<min(n,i+6),则重复步骤(4.3)-(4.6);(4.8)若i<n,则令i=i+1,重复步骤(4.2)-(4.7),否则终止;(5)发现多词语块歧义结构,依次含有以下步骤(5.1)从数据结构PSF中提取所有的多词语块边,总数为PESum;(5.2)按照这些多词语块的左右边界位置各自从小到大进行自动排序,形成一个多词语块信息表;(5.3)获取表中第1个块的左右边界位置<L,R>L=cl1,R=cr1,设置可能的交集型歧义区间的左右边界位置缓冲区BufL=L,BufR=R,初始化交集型歧义区间信息AmL=AmR=0,初始化多词语块信息表下标控制变量i=2;(5.4)获取表中第i个块的左右边界位置<L,R>L=cli,R=cri;(5.5)若两个相邻块的词语区间不交叉,即L>BufR,则转(5.6);否则,调整可能的交集型歧义区间的左右边界位置缓冲区BufL=min(BufL,L),BufR=max(BufR,R),并设置相应的交集型歧义区间信息AmL=BufL,AmR=BufR,转(5.10);(5.6)获取两条相邻多词语块边的分析置信度θi-1和θi;(5.7)若θi<InBelTh,则保存一个组合型歧义区间<L,R>;(5.8)若θi-1<InBelTh,则保存一个组合型歧义区间<BufL,BufR>;(5.9)若发现交集型歧义区间,即AmL>0,则保存一个交集型歧义区间<AmL,AmR>,重新设置相关缓冲区BufL=L,BufR=R,AmL=AmR=0;(5.10)令i=i+1,重复步骤(5.4)-(5.9),直到i=PESum;(5.11)返回发现的两类歧义区间的总数和边界信息表,终止;(6)进行多词语块自动排歧,步骤如下(6.1)获取句子中发现的两类歧义区间的总数OASum、CASum和相应的边界信息表;(6.2)进行交集型区间排歧处理,步骤如下(6.2.1)初始化交集型区间边界信息表下标控制变量i=0;(6.2.2)获取第i个交集型歧义区间<L,R>,获取区间内部的所有交叉多词语块;(6.2.3)若歧义区间中存在全覆盖块或所有交叉块形成链式关联结构,则转步骤(6.2.4);否则终止;(6.2.4)获取区间内所有交叉块的置信度值θi,并设置其最大值Max_θ和最小值Min_θ;(6.2.5)若同时满足以下两个条件,则形成均匀分布的链式关联结构块,并令CCT=np或vp,所有θi>=InBelTh或所有θi>LowBelTh,并且(Max_θ-Min_θ<0.1),所有交叉块是名词块或动词块,(6.2.6)若同时满足以下两个条件,则形成新的链式关联结构名词块,令CCT=np,·所有交叉块为名词块np,整体形成一个名词块,并且其分布置信度大于InBelTh,(6.2.7)若同时满足以下两个条件,则形成新的链式关联结构名词块,令CCT=np,所有交叉块的句法标记为np或sp或tp,存在全覆盖块,并且(所有θi>LowBelTh),(6.2.8)生成一个新的链式关联结构多词语块边记录[‘P’,L,R,CCT,‘LN’,Max_θ],加入数据结构PSF中,其中‘LN’表示链式关联结构;(6.2.9)删除区间内的所有交叉边;(6.2.10)令i=i+1,重复步骤(6.2.2)-(6.2.9),直到i=OASum,终止;(6.3)进行组合型区间排歧处理,步骤如下(6.3.1)初始化组合型区间边界信息表下标控制变量i=0;(6.3.2)获取第i个组合型歧义区间<L,R>;(6.3.3)获取该区间的整体组合块的置信度值Comb_θ;(6.3.4)获取该区间的各个内部组合块的置信度值Seg_θi,并设置其最大值Max_θ;(6.3.5)若所有Seg_θi>LowBelTh且存在一个Seg_θi>HighBelTh,则转(6.3.9);(6.3.6)若所有Seg_θi<=LowBelTh,则转(6.3.10);(6.3.7)若Comb_θ>HighBelTh,则转(6.3.10);(6.3.8)若Comb_θ-Max_θ>0.1,则转(6.3.10);(6.3.9)选择‘分’状态,即删除整体组合块,转(6.3.11);(6.3.10)选择‘合’状态,即删除各个内部组合块,转(6.3.11);(6.3.11)令i=i+1,重复步骤(6.3.2)-(6.3.10),直到i=CASum,终止;(7)自动提升单词语块,步骤如下(7.1)从左到右扫描句子中的所有词语,若该词语已被其他多词语块覆盖,或者属于包括连词、助词、介词、语气词、感叹词、标点符号等的功能词集合,则直接转下一个词语,否则执行下面步骤(7.2)获取该词语对应的句法标记,生成一个新的单词语块边记录加入数据结构PSF中;(8)生成线性块标注序列,步骤如下(8.1)分析PSF数组,得到覆盖完整句子的以下两类词语区间位置信息表有歧义区间,表示为AmbiList[],无歧义区间,表示为NonAmbiList[],(8.2)分别获取两类词语区间的总数,表示为ALSum和NALSum;(8.3)初始化i=0;(8.4)获取第i个有歧义区间的左右边界位置<L,R>;(8.5)获取该区间中的第一个基本块的句法标记CCT,生成一个歧义区间块[‘P’,L,R,CCT,‘AM’,-1],加入块标注序列栈ChkStack中,其中的关系标记设置为AM,表示歧义区间;(8.6)令i=i+1,重复步骤(8.4)-(8.5),直到i=ALSum;(8.7)对每个无歧义区间,顺序提取其中覆盖的各个基本块信息,加入块标注序列栈ChkStack中;(8.8)对块标注序列栈ChkStack进行块信息排序,形成覆盖整个句子的线性的块标注序列,终止。
全文摘要
基于规则的汉语基本块自动分析方法,属于自然语言处理应用领域。其特征在于利用自动习得的基本块规则库,设计数据和知识驱动的基本块自动分析器,对汉语真实文本句子中的不同基本块进行有效识别;利用词汇知识库对块组合实例进行不同层次的信息扩展,与融合内部词汇约束和外部语境限制知识的分层次、多粒度的自动习得规则进行有效的信息匹配,得到尽可能可靠的自动分析结果;利用规则置信度进行歧义结构自动排歧,尽可能多地选择比较可靠的自动分析结果,同时保留一部分在现有条件下很难判断的复杂歧义现象供后续分析器选择使用,从而提高了基本块分析器的灵活性和有效性。
文档编号G06F17/30GK101013421SQ200710063489
公开日2007年8月8日 申请日期2007年2月2日 优先权日2007年2月2日
发明者周强 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1