首页 / 专利库 / 人工智能 / 词性标注 / 一种基于历史信息的自然语言层次句法分析方法

一种基于历史信息的自然语言层次句法分析方法

阅读:414发布:2021-09-01

专利汇可以提供一种基于历史信息的自然语言层次句法分析方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于历史信息的自然语言层次句法分析方法,其特征在于:对已完成分词的句子,首先将各个词看成是初始组 块 ,采用分层方式,根据上下文信息进行组块识别,将可以组合的组块构成新的组块,获得中间结果,对中间结果重复根据上下文信息进行组块识别及组合,直至只包含一个组块为止,该组块为句法树的根结点,由此获得表达自然语言的句法树。本发明在每层处理过程中,优先识别出容易识别的组块,能提供更丰富的上下文信息进行复杂组块识别,提高决策预测的正确率,从而提高了句法分析的性能。,下面是一种基于历史信息的自然语言层次句法分析方法专利的具体信息内容。

1.一种基于历史信息的自然语言层次句法分析方法,其特征在于:对已 完成分词的句子,首先将各个词看成是初始组,采用分层方式,根据上下文 信息进行组块识别,将可以组合的组块构成新的组块,获得中间结果,对中间 结果重复根据上下文信息进行组块识别及组合,直至只包含一个组块为止,该 组块为句法树的根结点,由此获得表达自然语言的句法树。
2.根据权利要求1所述的自然语言层次句法分析方法,其特征在于:所 述组块识别及组合的方法是,采用BIESO标记方法,对某一组块类别X,B-X 表示开始新的组块X,I-X表示合并至前一组块,E-X表示结束前一组块,S-X 表示单独构成组块X,O表示保持不变,根据句法分析的特征模板结合上下文 特征,通过训练过程和分析过程,采用分类器实现组块的识别和组合。
3.根据权利要求2所述的自然语言层次句法分析方法,其特征在于:所 述句法分析的特征模板包括:
cons(n):第n棵树的中心词、成分标记以及决策标记的联合信息,当n≥0 时,决策标记省略;
cons(n*):第n棵树的中心词的词性、成分标记以及决策标记的联合信息, 当n≥0时,决策标记省略;
cons(n**):第n棵树的成分标记以及决策标记的联合信息,当n≥0时, 决策标记省略;
所述上下文特征包括下列5类:
第1类:cons(n),cons(n*),cons(n**),其中-2≤n≤3共18个;
第2类:cons(m,n),cons(m*,n),cons(m,n*),cons(m*,n*),cons(m**,n), cons(m**,n*),cons(m*,n**),cons(m,n**),cons(m**,n**),其中(m,n)=(-1, 0)or(0,1)共18个;
第3类:cons(0,m,n),cons(0,m*,n*),cons(0,m*,n),cons(0,m,n*), cons(0*,m*,n*),(m,n)=(1,2),(-2,-1)or(-1,1),and cons(1,2,3),cons(1*, 2*,3*),cons(1**,2**,3**),cons(2*,3*,4*),cons(2**,3**,4**)共20个;
第4类:cons(0,1,2,3),cons(0,1*,2*,3*),cons(0*,1*,2*,3*),cons(1*, 2*,3*,4*),cons(1**,2**,3**,4**)共5个;
第5类:cons(0*,1*,2*,3*,4*),cons(0**,1**,2**,3**,4**)共2个。
4.根据权利要求2所述的自然语言层次句法分析方法,其特征在于:所 述训练过程是,将特征模板和上下文特征信息输入分类器中,构建用于层次句 法分析的分类器,从树库中提取词性标记训练语料、基本短语识别训练语料和 层次句法分析训练语料,采用最大熵模型,依次对词性标记训练语料、基本短 语识别训练语料和层次句法分析训练语料进行训练,得到最大熵模型文件;
其中,所述层次句法分析训练语料的提取方法是,将训练集中的句法树进 行预处理,转换为层次句法树,自底向上,从层次句法树的基本短语识别结果 开始,根据特征模板,分别为每个组块抽取上下文特征,并得到组块的类别标 记;每个组块的上下文特征和组块类别标记共同构成一个训练样例;向上递推 一层,同样为各组块抽取上下文特征和组块的标记类别;此过程直至产生根结 点为止;
所述分析过程是,对待分析的句子,用层次分析的方法,反复调用训练过 的分类器,进行组块的合并,直至实现整个句法树的结果输出。
5.根据权利要求1所述的自然语言层次句法分析方法,其特征在于:所 述的分层组块识别及组合方法包括:
(1)词性标记:对给定句子进行词性标注,保留前N种最优的词性标记系 列结果;
(2)基本短语识别:分别对步骤(1)的N种词性标记系列结果,进行基本短 语识别,最后保留前N种最优的基本短语识别结果;
(3)层次句法分析:以步骤(2)的N种基本短语识别结果为输入,最终输出 最优的层次句法树结果,根据最优层次句法树,消除层次树中的重复结点得到 最终的句法树输出结果;
其中,N取10~20的整数。
6.根据权利要求5所述的自然语言层次句法分析方法,其特征在于:所 述N为20。

说明书全文

技术领域

发明涉及一种对自然语言进行句法分析的方法,通过层次分析实现复杂 组识别,属于计算语言学中的自然语言处理领域。

背景技术

句法分析(Syntactic parsing)是自然语言处理的一个基本问题,同时也 是公认的一个研究难题。它的任务是根据给定的语法,自动推导出句子的语法 结构,即句子所包含的句法单位以及这些句法单位之间的关系。句法分析的目 的主要有两个:一个是确定句子所包含的“谱系”结构;另一个是确定句子的 组成成份之间的关系。通常,其输入为单个句子,即单词之间的线性次序,而 输出则为一个非线性的数据结构,如短语结构树(如句法树)或有向无环图(如 依存关系图)等。
句法分析结果的好坏直接影响到对自然语言句子的解释和理解。也就是 说,句法分析是保证各种应用系统能够在内容层面上处理自然语言的核心技 术。作为机器翻译信息检索、信息抽取语音识别以及语料自动处理等众多 语言处理的基石,句法分析有着举足轻重的地位。在另一方面,句法分析中所 使用的技术还可以用于解决生物信息学领域,诸如RNA分子结构探测等与句 法分析相似的问题。此外,语言是思维的载体,对自然语言句法分析的研究有 助于研究人类思维的本质。因此,自然语言句法分析技术的研究具有重要的理 论意义和实用价值。
目前,主要的句法分析模型可以概括为以下三类:
1.基于概率上下文无关文法的句法分析模型
概率上下文无关文法(Probabilistic Context Free Grammar,简称PCFG) 是最早也是最常用的句法分析模型,它是一个为规则增添了概率的简单CFG, 指明了不同重写规则的可能性大小。利用PCFG,可以通过计算分析树中所使 用到的规则的概率的乘积值作为分析树的概率值。PCFG对于树结构来说是最 简单、最自然的概率模型,其数学背景很容易理解。但传统PCFG的最大局 限是基于一些非实际成立的上下文无关独立性条件,以及给定的文法不能覆盖 所有语言现象,因此,得到的句法分析结果也往往不尽人意。为放宽PCFG 所做的独立性假设条件,很多研究者转向研究词汇化的概率上下文无关文法。
2.基于词汇化的概率上下文无关文法的句法分析模型
词汇化PCFG指在句法分析树中,每个非终极符都与某个单词(也可称为 此非终极符的中心词,可以包括其词性)相关联。Collins实现了基于中心词 驱动的统计句法分析模型,与前者的最大不同是后者是中心词驱动的模型,每 个推导规则(最底层规则除外)的右部分为中心非终极符、左右修饰符三部分, 左右修饰符概率的计算是基于中心非终极符为条件的。为解决数据稀疏问题, 对词汇化上下文无关规则进行分解,并在计算概率时采用回退平滑技术,很好 地解决了PCFG的覆盖率问题。但由于句子的表达实际上是与上下文相关的, 因此,上述方法的结果仍不尽人意。
3.基于历史信息的句法分析模型
顾名思义,在基于历史信息的句法分析模型中,需要依据前面已做的“决 策”信息,即历史信息,来预测下一步行动。Ratnaparkhi将句法树的建立转 化为一个自底向上的决策系列问题,系统由三大功能模块组成:词性标记模块、 组块识别模块和基于组块分析结果的句法树构建模块。依据各个子模块中所采 取不同的“决策行为”,所利用的上下文信息包括前后两单元基本信息和前面 两单元的决策信息等等,并通过采用最大熵模型进行参数学习。
目前,由于起步较晚、树库资源缺乏等原因,中文句法分析技术远不如英 文句法分析的发展。已有的中文句法分析器并不能满足上层应用的需要,中文 句法分析已成为了制约中文信息处理进一步发展的瓶颈。以中文语义作用标注 (SRL,Semantic Role Labeling)为例,基于正确的中文句法分析结果,中 文SRL的性能F1值达93%,基于中文自动句法分析模型的输出结果,得到 的中文SRL精确率为63%,两者相差高达30%。
因此,寻求新的自然语言的句法分析方法,使之适用于包括中文在内的各 种自然语言,提高句法分析的准确度,是信息处理技术发展的需要。

发明内容

本发明目的是提供一种基于历史信息的自然语言层次句法分析方法,以较 准确地实现句法树的构建,达到较好的分析性能。
为达到上述目的,本发明采用的技术方案是:一种基于历史信息的自然语 言层次句法分析方法,对已完成分词的句子,首先将各个词看成是初始组块, 采用分层方式,根据上下文信息进行组块识别,将可以组合的组块构成新的组 块,获得中间结果,对中间结果重复根据上下文信息进行组块识别及组合,直 至只包含一个组块为止,该组块为句法树的根结点,由此获得表达自然语言的 句法树。
上文中,当待处理的句子是中文句子时,通常先要进行分词;如果待处理 的句子是英文等有单词分隔的句子,或者是分好词的中文句子时,则可以直接 进行句法分析处理。
上述技术方案中,所述组块识别及组合的方法是,采用BIESO标记方法, 对某一组块类别X,B-X表示开始新的组块X,I-X表示合并至前一组块,E-X 表示结束前一组块,S-X表示单独构成组块X,O表示保持不变,根据句法分 析的特征模板结合上下文特征,通过训练过程和分析过程,采用分类器实现组 块的识别和组合。一旦对某个中间结果内的各个组块标记完毕,则调用组块合 并程序将组块进行合并。例如,假设某中间结果为“NP(他)VC(是)NP(一位 学生)PU(。)”,并且各组合的标记依次为“0 B-VP E-VP 0”,则合并后的结 果为“NP(他)VP(是一位学生)PU(。)”。
其中,所述句法分析的特征模板包括:
cons(n):第n棵树的中心词、成分标记以及决策标记的联合信息,当n≥0 时,决策标记省略;
cons(n*):第n棵树的中心词的词性、成分标记以及决策标记的联合信息, 当n≥0时,决策标记省略;
cons(n**):第n棵树的成分标记以及决策标记的联合信息,当n≥0时, 决策标记省略;
所述上下文特征包括下列5类:
第1类:cons(n),cons(n*),cons(n**),其中-2≤n≤3共18个;
第2类:cons(m,n),cons(m*,n),cons(m,n*),cons(m*,n*),cons(m**,n), cons(m**,n*),cons(m*,n**),cons(m,n**),cons(m**,n**),其中(m,n)=(-1, 0)or(0,1)共18个;
第3类:cons(0,m,n),cons(0,m*,n*),cons(0,m*,n),cons(0,m,n*), cons(0*,m*,n*),(m,n)=(1,2),(-2,-1)or(-1,1),and cons(1,2,3),cons(1*, 2*,3*),cons(1**,2**,3**),cons(2*,3*,4*),cons(2**,3**,4**)共20个;
第4类:cons(0,1,2,3),cons(0,1*,2*,3*),cons(0*,1*,2*,3*),cons(1*, 2*,3*,4*),cons(1**,2**,3**,4**)共5个;
第5类:cons(0*,1*,2*,3*,4*),cons(0**,1**,2**,3**,4**)共2个。
上述技术方案中,所述训练过程是,将特征模板和上下文特征信息输入分 类器中,构建用于层次句法分析的分类器,从树库中提取词性标记训练语料、 基本短语识别训练语料和层次句法分析训练语料,采用最大熵模型,依次对词 性标记训练语料、基本短语识别训练语料和层次句法分析训练语料进行训练, 得到最大熵模型文件;
其中,所述层次句法分析训练语料的提取方法是,将训练集中的句法树进 行预处理,转换为层次句法树,自底向上,从层次句法树的基本短语识别结果 开始,根据特征模板,分别为每个组块抽取上下文特征,并得到组块的类别标 记;每个组块的上下文特征和组块类别标记共同构成一个训练样例;向上递推 一层,同样为各组块抽取上下文特征和组块的标记类别;此过程直至产生根结 点为止;
所述分析过程是,对待分析的句子,用层次分析的方法,反复调用训练过 的分类器,进行组块的合并,直至实现整个句法树的结果输出。
上述技术方案中,所述的分层组块识别及组合方法包括:
(1)词性标记:对给定句子进行词性标注,保留前N种最优的词性标记系 列结果;
(2)基本短语识别:分别对步骤(1)的N种词性标记系列结果,进行基本短 语识别,最后保留前N种最优的基本短语识别结果;
(3)层次句法分析:以步骤(2)的N种基本短语识别结果为输入,最终输出 最优的层次句法树结果,根据最优层次句法树,消除层次树中的重复结点得到 最终的句法树输出结果;
其中,N取10~20的整数。N值过大,解析过程中将保留太多的无用的 中间结果,增加系统开销;而N值过小,则可能会丢失一些正确的中间结果。
优选的技术方案,所述N为20。
句法分析是自然语言处理的一个基本问题。它指的是根据给定的语法,自 动推导出句子的语法结构,即句子所包含的句法单位和这些句法单位之间的关 系。句法分析的首要问题是歧义,即使对于一个很短的句子,构建出的符合语 法规则的句法树仍可以有成百上千种,很难判断哪棵候选句法树是正确的或最 优的。因此,句法分析需要解决的两个关键子问题:1)怎样表示一棵树;2)怎 样对每棵句法树打分。
目前,大多数基于统计的句法分析器试图将一棵句法树表示为一系列的决 策,并为每个决策赋予概率值或分值,最后将各决策分值乘积作为整个句法树 的分值。例如在概率上下文无关文法(Probabilistic Context Free Grammar, PCFG)模型中,句法树通常表示为一系列的上下文无关的产生式(即文法规 则);各个产生式的概率累积作为整棵句法树的概率。
本方案以另一种方式来解决上述两个关键问题——基于历史信息的层次 句法分析方法:给定包含多个组块的中间结果(最初,每个词可看作一个中间 结果),判断哪些组块能够构成新的组块,这样便得到了新的中间结果,新的 结果往往较原中间结果含有较少组块;基于新产生的中间结果,重复上述步骤 直至中间结果中只包含一个组块为止,此组块即句法树的根结点。每棵句法树 的分值都为每层决策分值的乘积。
上述技术方案既采用了基于历史信息、以动态的方式获取可利用的上下文 信息,利用机器学习的方法(如最大熵、SVM等),正确、可靠地预测下一个 决策,实现了句法树的生成。
由于上述技术方案运用,本发明与现有技术相比具有下列优点:
1.本发明提出了一个基于历史信息的层次句法分析方法,该方法视句法 树的构建为一个层次处理递进的过程,在每层处理过程中,优先识别出容易识 别的组块,这样就能提供更丰富的上下文信息进行复杂组块识别;未被合并的 组块和新识别产生的组块共同构成下步处理的输入,重复此过程直至识别出根 结点。在生成某新组块之前,其所有儿子结点必须已经生成;低层的组块总是 预先生成,这样更能提高决策预测的正确率,从而提高了句法分析的性能。
2.实验证明,本发明的方法简单有效,在句法分析性能方面优于目前现 有的基于历史信息的方法;另外,此方法的性能虽略逊色于基于中心词驱动的 统计句法分析模型,但其效率远高于后者,两者的时间复杂度分别为O(n2)和 O(n5),体现了本方案的快速有效性。
附图说明
附图1为本发明实施例一中执行流程示意图;
附图2为本发明实施例二中在层次句法分析过程中,根据当前组块的上下 文和预先制定的特征模板,得到的上下文特征的示意;
附图3为本发明实施例二中采用的堆数组数据示意图。

具体实施方式

下面结合附图及实施例对本发明作进一步描述:
实施例一:参见附图1所示,一种基于历史信息的层次句法分析,对于任 意一个需要处理的句子,执行以下的步骤:
①若句子为中文,并且未进行分词,则调用分词模块对句子进行分词;若 句子为英文,或已经分好词的中文,则跳过此步;
②调用词性标注模块,即对句子中的各个词求其词性;保留前K种最优 的标注结果;
③分别就前K种最优的词性标注结果,进行基本短语识别;最终保留前K 种最优的基本短语识别结果;
④根据每个基本短语识别结果中的组块的个数,分别将其存入对应的数组 单元中,例如,如果基本短语识别结果中包含有m个组块,则将其存入数组单 元heap[m]中。heap[m]是一个堆结构,其存放的是长度为m(即包括m个组块) 的中间结果;
⑤for i=n to 2 do ⑥/*n为句子单词数*/
⑥for j=1 to|heap[i]|do ⑦⑧ /*|heap[i]|为堆heap[i]中的中 间结果个数*/
⑦对heap[i][j]中各个组块求标记(即前面提到的BIESO),合并后 保留前K个最优结果;
⑧for k=1 to K do ⑨
⑨根据合并后中间结果的组块个数,将其插入相应heap单元中, 如长度为m,则插入heap[m]中。显然此时m≤i;
⑩返回heap[1][1]作为句子的最优句法分析结果。
其中,K的优选值为20。
本发明执行流程是按如图1方式实现对句子进行句法分析的,图中包括分 词、词性标注、基本短语识别和层次句法分析模块;各模块的任务相对独立, 前一个模块的输入作为下模块的输入。为实现各个模块,需要从树库中分别抽 取出分词训练文件、词性标注训练文件、基本短语识别训练文件和层次句法分 析训练文件,尔后采用某种机器学习的方法,如SVM、最大熵等进行训练, 得到模型文件,最后采用适当的搜索算法实现各模块功能。
实施例二:参见附图2所示,在得到某中间层次分析结果后,根据预先制 定的特征模板,从左至右依次为各个组块单元抽取上下文特征,用于预测其标 注:
从图2看到,当前得到的中间结果为“(NP(布什_NR))(PP(于_P昨天_NT 下午_NT))(PP(自_P南京_NR))(VV(抵达_VV))(NP(上海_NR))(PU(。 _PU))”,其中括号内的斜体标记的词为本组块的中心词,例如组块“(PP(自_P 南京_NR))”的中心词为“自”。并且已经对前三个单元组块“(NP(布什_NR)) (PP(于_P昨天_NT下午_NT))(PP(自_P南京_NR))”做出了决策,分别是 “O”、“O”和“O”;一下步是预测第四个组块“(VV(抵达_VV))”的决策。 决策预测的依据是当前组块的上下文信息,为此,根据特征模板,从当前组块 的左边第2个窗口至右边第3个窗口抽取出特征。特征分为1元、2元、3元、 4元和5元特征。
图3表示的是在层次句法分析中采取的堆数组数据结构,整个层次句法分 析的过程也即是维护和填充此数据结构的一个过程。堆数组的大小为n,即句 子中单词的个数,这是因为,在分析过程中,任何一个中间结果所包含的组块 数必定小于或等于n。堆heap[i]存放的是长度为i的中间结果,并且会按照中 间结果概率值从大到小进行排序。如在图1中所示,基本短语识别模块输出的 最优K个结果将分别根据其包含的组块个数添加到相应的堆中,即如果基本 短语识别结果中包含i个组块,则将其添加到堆heap[i]中。
在层次分析算法中,将按照从高至低(从n到2,n指句子包含的单词数)、 从左至右(从1至k,k指堆中元素的个数)的顺序逐个处理中间结果heap[i][j], 即对heap[i][j]中的每个组块预测其决策。对前K种预测结果,分别调用组块 合并程序,即根据预测的组块决策,判断哪些组块合并生成新的组块;显然, 新得到的中间结果中,组块的个数必定小于或等于原中间结果的个数,并且新 中间结果的概率值必定小于原中间结果的概率值,那么,新中间结果在堆中的 位置要么在原中间结果的右方,要么在原中间结果的左方。于是,算法只要严 格按照从高至低、从左至右的顺序,必定能处理堆数组数据结构中的每一个中 间结果。堆heap[1]中记录的是最终结果,因为,此时所以组块已合并为一个 结点,即句法树的根结果。因此,heap[1][1]被作为最优的句法树输出。为提 高算法的效率,排除小概率结果,本方案固定堆的大小为常数K。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈