CN105243056A - 一种基于标点符号处理的汉语句法分析方法及装置 - Google Patents
一种基于标点符号处理的汉语句法分析方法及装置 Download PDFInfo
- Publication number
- CN105243056A CN105243056A CN201510562372.8A CN201510562372A CN105243056A CN 105243056 A CN105243056 A CN 105243056A CN 201510562372 A CN201510562372 A CN 201510562372A CN 105243056 A CN105243056 A CN 105243056A
- Authority
- CN
- China
- Prior art keywords
- mark
- punctuation
- clause
- syntactic analysis
- subtree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Machine Translation (AREA)
Abstract
本发明涉及自然语言处理技术领域,特别涉及一种基于标点符号处理的汉语句法分析方法及装置。该方法包括:研究汉语标点符号及子句的句法、形式特征,将其分层分级;依据所述特征,编写消解规则表;依据标点符号及子句的层次级别关系,将原始输入句转化为一系列标记,生成标记表;根据标记表中标记的层次和级别,进行句法分析和子树拼接,分析和拼接过程中调用消解规则。与不考虑标点符号的一遍分析方法和利用标点符号来分解长句的分析方法相比,该方法使句法分析的层次更加清晰,充分利用了标点符号的语法和语义信息,提高了句法分析的效率和准确率,而且可以非常简便清晰地解决标点符号的嵌套使用问题,而不用穷举所有的标点符号组合用法。
Description
技术领域
本发明涉及自然语言处理技术领域,特别涉及一种基于标点符号处理的汉语句法分析方法及装置。
背景技术
句法分析是自然语言处理的核心技术之一,是对语言进行深入理解的基础,而自然语言理解又是机器翻译、信息抽取、语义检索等众多语言处理技术的基础。因此,句法分析是中文信息处理的一项不可或缺的核心与基础技术。
标点符号是书面汉语的一个重要的组成部分,绝大多数现有的自动句法分析系统都忽略了它们的作用。论文《引入标点处理的层次化汉语长句句法分析方法》(李幸,宗成庆,中文信息学报,第20卷,第4期)指出,在英语句法分析方面,一些与标点符号相关的研究已经开展,但对于汉语标点符号从自然语言处理角度的研究开展的很少。上引论文提出了一种基于标点处理的层次化汉语长句句法分析方法,但该论文把标点简单地划分为“分割标点”和“普通标点”,并采用概率上下文无关方法来处理标点。这种方法对标点符号的处理不够全面,忽略了标点符号的部分语法和语义信息,而且层次不够清晰,难以处理复杂的标点符号的嵌套使用问题。
本发明根据标点符号的用法和形式特征对标点符号进行分类,用分层分级法对原始输入句中的标点符号及标点符号分隔开来的子句赋予不同的标记,生成标记表,然后用标记消解法进行基于标点符号处理的句法分析。所述方法以GB/T15834-2011《标点符号用法》为依据,在句法分析中充分利用了标点符号的语法和语义信息,使句法分析的层次更加清晰,有助于分隔长句、确定子句的层次和边界,大大减少时间消耗和歧义边的个数,提高句法分析的准确率和召回率。同时,该方法可以非常简便清晰地解决标点符号的嵌套使用问题,而不用穷举所有的标点符号组合用法。
发明内容
在下文中给出了关于本发明的简要概述,以便提供关于本发明的某些方面的基本理解。应当理解,这个概述并不是关于本发明的穷举性概述。它并不是意图确定本发明的关键或重要部分,也不是意图限定本发明的范围。其目的仅仅是以简化的形式给出某些概念,以此作为稍后论述的更详细描述的前序。
本申请的目的是为了克服现有汉语句法分析方法对标点符号处理的不足,提供一种新的基于标点符号处理的汉语句法分析方法及工具。
为实现上述目的,根据本申请所提供的一种实施例,提供了一种基于标点符号处理的汉语句法分析方法,该方法基于以下思想:
根据上述国标对汉语标点符号用法的说明,标点符号是有层次而且可以被分层分级的,其依据是标点符号停顿时间的长短、分割句子的能力和语义(例如语气、特殊含义、补充说明等)等方面的信息。相应地,被标点符号分隔开来的子句也可以被分层分级,这将为句法分析提供极大的便利。
上述思想为从句法分析角度研究标点符号提供了理论基础,本申请提供的一种基于标点符号处理的汉语句法分析方法包括标记阶段和消解阶段,标记阶段采用的方法为分层分级法,消解阶段采用的方法为标记消解法。
本申请提供的分层分级法根据原始输入句中标点符号和标点符号分隔开来的子句的层次和级别,生成一系列标记,最终输出标记表。所述标记表中标记的层次和级别,决定了标点符号及其子句的处理次序和方法。
在充分获取标点符号提供的语法和语义信息的基础上,本申请提供了标记消解法来进行句法分析。所述标记消解法,是指按层次和级别提取标记表中的标记,进入子句句法分析程序和子树拼接程序,分析和拼接过程中调用消解规则,最后生成完整句法树作为句法分析结果。
相应地,提供了一种基于标点符号处理的汉语句法分析装置,主要包括分层分级装置、标记消解装置、句法分析装置和子树拼接装置。分层分级装置的运行原理即所述分层分级法,标记消解装置的运行原理即所述标记消解法。
本发明的有益效果是,所述分层分级法生成的标记的级别就充分说明了句法分析过程中已经做过的处理程序和有待进行的处理程序,而且所述标记中的信息比较全面,使标点符号的处理层次分明,简单有效;标记消解法与不考虑标点符号的一遍分析方法和仅利用标点符号来分割长句的分析方法相比的优点主要在于:第一,句法分析的层次更加清晰,有利于分割句子,减少进入句法分析程序的子句的长度;第二,充分利用了标点符号提供的语法和语义信息,包括被标点符号分隔开来的子句的类型信息,大大减少了时间消耗和歧义边的个数,提高了句法分析的准确率和召回率;第三,可以非常简便清晰地解决标点符号的嵌套使用问题,而不用穷举所有的标点符号组合用法。
附图说明
参照下面结合附图对本发明实施例的说明,会更加容易地理解本发明的以上和其它目的、特点和优点。在附图中,相同的或对应的技术特征或部件将采用相同或对应的附图标记来表示。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本发明的优选实施例和解释本发明的原理和优点。显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是能够用于实现本申请的实施例的基于标点符号处理的汉语句法分析装置结构图。
图2是本申请的基于标点符号处理的汉语句法分析方法的一种实施方式的流程图。
图3是根据一种实施方式的分层分级法的流程图。
图4是根据一种实施方式的标记消解法的流程图。
具体实施方式
在下文中将结合附图对本发明的示范性实施例进行描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与句法分析方法相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
如图1所示,是本发明技术方案中所涉及的基于标点符号处理的汉语句法分析装置,分层分级装置(102)与标记消解装置(104)串联,标记消解装置(104)包含句法分析装置(105)和子树拼接装置(106),句法分析装置(105)与子树拼接装置(106)串联,句法分析装置(105)和子树拼接装置(106)在运行过程中调用消解规则表(107),分层分级装置(102)的输入为原始输入句(101),输出为标记表(103),整个系统的输出为完整句法树(108)。
分层分级装置,其功能在于将原始输入句中的标点符号和标点符号分隔开来的子句,划分为不同的层次和级别,生成标记表。所述装置采用的方法,就是上述的分层分级法。分层分级法根据上述国标中对汉语标点符号用法的说明,在进行句法分析前,对句子进行语法上的处理和语义上的处理。所述语法上的处理指根据标点符号将句子分割为语块、半语块和/或非语块,并标明层次和级别,所述语义上的处理指标点符号本身所具有的语义信息要在句法分析结果中标记,留待语义分析阶段处理。例如:引号表引用、着重、特殊含义,书名号表示各种作品的名称这样的意义,如果在句法分析中被视为透明的,则会给语义分析造成困难,应该在句法分析结果中进行标记,留待语义分析阶段处理。
标记消解装置,包含句法分析装置和子树拼接装置,其功能在于进行子句句法分析和子树拼接,在此过程中调用消解规则表中的消解规则,将标记表中的语法和语义信息加入到句法分析结果中,或作为句法分析成功与否的判断依据。
句法分析装置,其功能在于对子句进行句法分析。
子树拼接装置,其功能在于对子树进行拼接,主要是指对第二层、第三层和第四层的标点符号所分隔开的子树进行拼接,最终生成一棵完整的句法树。
如图2所示,是本申请的基于标点符号处理的汉语句法分析方法的一种实施方式的流程图。本发明提供的基于标点符号处理的汉语句法分析技术的具体步骤如下:
步骤101:接收输入的原始句(对应图1中的101);
步骤202:进入分层分级程序,依据句子中的标点符号及子句的层次级别关系,将原始输入句转化为一系列标记,生成标记表(对应图1中的102和103);
步骤203:进入标记消解程序,根据标记表中标记的级别逐级进入句法分析程序和子树拼接程序,消解标记(对应图1中的104);
步骤204:判断是否有应该被分析为完整子树的子句没有生成完整子树;
步骤205:如果没有步骤204中的情形,则判断是否消解完所有的标记,如果没有消解完,转步骤203;
步骤206:如果有步骤204中的情形,则句法分析失败退出;
步骤108:如果步骤205中已经消解完所有的标记,则输出完整句法树(对应图1中的108)。
以上只是对本发明提供的基于标点符号处理的汉语句法分析技术的简要说明,其中所述分层分级程序(步骤202)和标记消解程序(步骤203)的流程将在稍后作详细的描述,其流程图分别如图3和图4所示。开发人员不需作创造性的工作,就可以将详细流程与上述流程相结合,得到本发明提供的基于标点符号处理的汉语句法分析技术的更详细的流程,也可以将图3和图4与图2相结合,画出更详细的流程图。
如图3所示,是根据本发明的分层分级法的一种实施方式的流程图。
分层分级法生成标记表的具体步骤如下:
步骤301:生成两张表,即待分析标记表(为方便描述,以下称表1)和已处理标记表(为方便描述,以下称表2),并初始化为空;
步骤302:将整个原始输入句(根据句法分析方法的不同,可能是词序列和/或词性序列,也可能是其它序列)生成种子标记,标记为0级,即未处理整句,压入表1;
步骤303:判断表1是否为空;
步骤304:如果表1为空,则分层分级程序结束,输出表2为标记表;
步骤305:如果表1不为空,弹出表1顶层的标记,从第一层到第五层逐层逐级检测其中包含的标点符号和子句;
步骤306:判断是否检测到标点符号和子句;
步骤307:如果没有检测到,则升级到相应的级别,压回表1;
步骤308:如果检测到,则判断是否已经为10级;
步骤309:如果为10级,直接压入表2,转步骤303;
步骤310:如果不是10级,则生成新标记,升级到相应的级别后,压入表2,同时压入表1,转步骤303。
需要说明的是,步骤306中,如果检测到语段级(主要是指引号、括号、书名号内部的子句),则内部的子句生成新标记,标记为-1级,压入表1和表2,再逐级向上检测,-1级(即语段级)标记一侧或两侧如果不为空,也生成新标记,并升级到相应级别(分别为7级、8级和9级),但只压入表1不压入表2。
所述标记表中标点符号和标点符号分隔开的子句的层次级别关系如下表所示:
下面对表中的层次和级别作详细说明。
第一层:整句符号(八种),用于将整句从语段中分割出来,语段为-1级。相应地,刚从语段中分割出来,还未处理的整句为0级。单用的整句符号不能位于引号和括号之内,否则不作为整句符号处理;
第一层又分为单用整句符号和组合整句符号,要用到4个级别:根据前4种组合整句符号生成的标记为1级整句,没有检测到也标记为1级整句,组合整句符号均保留,左侧为已处理的整句;
根据第5种组合整句符号生成的标记为-1级,即语段级,将句外括号去除,没有检测到则标记为2级整句;
根据单用整句符号生成的标记为3级,左侧为语块。
需要说明的是,0级整句、1级整句和2级整句虽然都是整句,但0级整句是待处理的,1级整句和2级整句是已处理的,三者有处理层次上的区别。而且,整句进入标记消解程序时,一律标记为0级整句,即未处理整句,作为种子标记压入标记表。
第二层:语块符号(两种),用于将句子分隔为语块;
分号有时又称为小句号,它表示一个停顿,其停顿时间在逗号与冒号的停顿时间之间,这决定了应该先分析冒号再分析分号;
第二层分两级:根据冒号生成的标记为4级,两侧为语块;根据分号生成的标记为5级,两侧为语块。
第三层:逗号,两侧的子句为半语块。逗号的用法较复杂,根据上述国标,逗号的位置有10种之多,故将其单独列为一层;
根据逗号生成的标记为6级。
第四层:成对半语块符号(三种),用于将符号对内部的子句分割出来进行处理,符号对之外的部分为半语块;
第四层分三级,但要用到4个级别:
引号(包括双引号和单引号)内部为-1级,即语段级,继续逐级向上处理,这样,即使有嵌套的引号和/或其它标点符号,也可以方便地处理,引号两侧(如果两侧不为空)为半语块,标记为7级;
括号(包括多种形式的括号)内部为-1级,即语段级,继续逐级向上处理,括号两侧(如果两侧不为空)为半语块,标记为8级;
书名号(包括双书名号和单书名号)内部为-1级,即语段级,继续逐级向上处理,书名号两侧(如果两侧边不为空)为半语块,标记为9级。
第五层:非语块符号(八种),其分隔子句的能力较弱,通常只能分隔出词和/或短语,不再规定其处理顺序,包括顿号、破折号、分隔号、连接号、间隔号、省略号、专名号、着重号;
根据第五层标点符号生成的标记一律为10级,其中着重号通常仅具有语义上的信息。
按照上述层次和级别,对标点符号和子句进行标记,每做一个标记,就将所依据的标点符号去除,将标记存入标记表中,但有例外情况:前四个组合整句符号,只标记,不去除,待分析引号时去除;连接号和间隔号,在标记消解阶段视情况保留或去除。
下面对上述部分名词进行说明。
语段,是指还未被分析的语言单位,可以是句群和/或引号、括号、书名号内部的子句,可能是词、短语、句子、句群等。
整句,是指独立完整的一个句子。
语块,是指能被分析为一棵完整子树的子句。
非语块,是指因语块的分割而被迫割裂的不能被分析为一棵完整子树的子句。
半语块,是指可能被分析为完整子树也可能不被分析为完整子树的子句。
整句符号,指能将句子从语段中分割出来作为独立的句子的符号,包括三个句末点号和部分组合符号。
语块符号,指能将整句分割为语块的符号,即在语法上,符号两边的子句的句法树分别是完整的一棵子树,如果跨符号才能形成子树,则不是语块符号。
半语块符号,指符号分隔开的左右两侧的子句可能被分析为完整子树也可能不被分析为完整子树。半语块符号包括成对半语块符号和非成对半语块符号,成对半语块符号指成对使用的半语块符号,包括引号、括号、书名号,非成对半语块符号指单用的半语块符号。逗号就是典型的半语块符号。根据上述国标,逗号的用法有10种之多,其中有以下几种:a)复句内部各分句之间的停顿,除了有时用分号,都要用逗号;b)较长的主语之后;c)句首的状语之后;d)较长的宾语之前。其中,第1种用法,逗号充当的角色和分号类似,可以作为语块符号。对后3种用法,逗号两侧都可以形成独立子树,也可以作为语块符号。
但在汉语中,逗号的用法比较随意,还有其它用法。当并列的短语较长时,一些句子使用逗号代替顿号作为分隔标记,而这些并列短语充当同一个句子中的一个成分。例如知网简介中的第一句话:知网是一个以汉语和英语的词语所代表的概念为描述对象,以揭示概念与概念之间以及概念所具有的属性之间的关系为基本内容的常识知识库。这个句子中逗号的左边部分就不能生成一棵完整的句法子树,右边可以生成完整句法子树,但它的介词短语部分要和左边的介词短语共同修饰“知识库”。
所述标记表中标记的数据结构为:<起始位置,终止位置,子句类型,依据标点,级别,分析结果>。
起始位置和终止位置,是指被分隔开来的子句的起点和终点的序号。根据标记的起始位置和终止位置的包含与被包含关系,标记也就形成了包含和被包含关系。
子句类型,包括语段、未处理整句、整句、语块、半语块、非语块和子树。语段标记只在以下四种情况下使用:句外括号、引号、括号和书名号。未处理整句标记只在一种情况下使用:从语段中分割出来还未处理的整句。整句标记在处理第一层的八种整句符号时使用,其中第五种组合整句符号只在未检测到时使用。语块、半语块和非语块的定义如前所述。子树指进入句法分析程序后,得到的分析结果。
依据标点,是指分隔子句所依据的标点符号。
级别,是指当前标记的级别,每分析一级,级别就升一级。
分析结果,是起始位置和终止位置之间的子句的句法分析结果,这个值在进入句法分析程序后获得,之前为空值。
下面以上述国标《标点符号用法》4.8.3.4节的一个示例为例,说明分层分级法的具体步骤。所述示例为:
他问:“老师,‘七月流火’是什么意思?”
一个分词结果为:
[他][问]:“[老师],‘[七月流火]’[是][什么][意思]?”
其中,“[]”表示分词符号。如前所述,根据句法分析方法的不同,原始输入句可能是词序列和/或词性序列,也可能是其它序列。此处用分词后的一个词序列。
下面说明对上述示例运用分层分级法的具体步骤。
生成待分析标记表(表1)和已处理标记表(表2),并初始化为空。
将整个原始输入句生成种子标记,标记为0级,即未处理整句,压入表1。
此时表1中的标记为:
<1.1,1,14,未处理整句,,0,>。
所述标记的数据结构如前所述,唯一不同的是,最开始的1.1是序号,表示表1的第1条标记,以方便区分,在实际的系统中是没有这个序号的。标记1.1中,起始位置从1开始编号,词和标点符号都计算在内,起始位置1在此表示分词结果中的词“他”,终止位置为14,表示句子最后的标点符号后引号,未赋值的数据表示空值。
弹出表1顶层的标记1.1,从第一层到第五层逐层逐级检测标点符号及子句。首先检测前四种组合整句符号,此处检测到,生成新标记,升级为1级,压入表2,同时压入表1,此时表2中的标记为:
<2.1,1,14,整句,?”,1,>。
表1中的标记为:
<1.2,1,14,整句,?”,1,>。
再弹出表1顶层的标记1.2,检测句外括号,没有检测到,升为2级,压回表1,此时表1中的标记为:
<1.2,1,14,整句,?”,2,>。
再弹出表1顶层的标记1.2,检测单用整句符号,没有检测到,升为3级,压回表1,此时表1中的标记为:
<1.2,1,14,整句,?”,3,>。
弹出表1顶层的标记1.2,检测冒号,此处检测到,冒号左右两侧分别生成新标记,升为4级,压入表2,同时压入表1,此时表2中的标记为:
<2.1,1,14,整句,?”,1,>
<2.2,1,2,语块,:,4,>
<2.3,4,14,语块,:,4,>。
表1中的标记为:
<1.3,1,2,语块,:,4,>
<1.4,4,14,语块,:,4,>。
如上所述逐层逐级检测,检测到引号时,生成新标记,标记为-1级,压入表2,同时压入表1,再如上所述从0级、1级往上检测。最后,表2中的标记为:
<2.1,1,14,整句,?”,1,>
<2.2,1,2,语块,:,4,>
<2.3,4,14,语块,:,4,>
<2.4,5,13,语段,“”,-1,>
<2.5,5,12,语块,?,3,>
<2.6,5,5,半语块,,,6,>
<2.7,7,12,半语块,,,6,>
<2.8,8,8,语段,‘‘,-1,>
<2.9,8,8,语块,‘‘,10,>
<2.10,10,12,半语块,‘,10,>
<2.11,5,5,半语块,,,10,>
<2.12,1,2,语块,:,10,>。
此时,表1为空,输出表2为标记表。
如图4所示,是根据本发明的标记消解法的一种实施方式的流程图。
下面说明标记消解法的具体步骤。
步骤401:搜索所述标记表(标记表对应图1中的103),看是否有语段级(即-1级)标记;
步骤402:如果没有上述语段级标记,则进入普通消解程序,按层级提取标记进行消解;
步骤403:如果有上述语段级标记,则进入特殊消解程序,消解完成后转步骤401;
步骤410:判断标记表是否为空,如果为空则输出整个句子的完整句法树(对应图1中的108),否则转步骤402。
下面说明上述标记消解法中步骤402所述普通消解程序的具体步骤。
步骤404:在标记表中搜索级别低于10级(即最高级)的最高级别标记(为方便描述,以下称标记1);
步骤405:在标记表中搜索标记1范围内级别为10级的标记(为方便描述,以下称标记2),并弹出;
步骤105:对标记2中的子句进行句法分析(对应图1中的105),分析过程中调用消解规则(对应图1中的107);
步骤106:对标记2中的子句进行子树拼接(对应图1中的106),拼接过程中调用消解规则(对应图1中的107);
步骤406:将标记2的分析结果赋予标记1,并将标记1升为10级。
下面说明上述标记消解法中步骤403所述特殊消解程序的具体步骤。
步骤407:弹出最内层语段级(即-1级)标记(为方便描述,以下称标记3)范围内所包含的标记序列,如果所述标记序列只有一个标记且为10级(此时语段只包含词和/或短语,没有标点符号),则直接进入句法分析程序,然后转步骤409,否则转步骤402;
步骤402:进入普通消解程序消解上述标记序列中的标记;
步骤408:判断上述标记序列是否为空,如果不为空则转步骤402;
步骤409:如果上述标记序列为空,则调用相应的-1级标记消解规则消解标记3,转步骤401。
上述特殊消解程序中有一个递归过程,如果消解完所述最内层语段级标记,则判断标记表中是否还有语段级标记,如果有则递归调用特殊消解程序,否则调用普通消解程序。
上述标记消解法中步骤105中的句法分析程序不限于某一种句法分析方法,包括现有的和将来可能出现的句法分析方法和/或它们的组合。
上述标记消解法中步骤106中的子树拼接程序是指将标点符号两侧的完整子树或非完整子树拼接为一棵完整子树,并且主要是指第二层、第三层和第四层标点符号内部及两侧子树的拼接。
消解规则表中消解规则的内容,是在句法分析和子树拼接过程中如何处理标点符号包含的语法和语义信息以及如何去除标点,主要是根据上述国标和语言学分析得到。
以句号和引号的消解规则为例。句号如果不在引号、括号内,则其左侧为语块,生成标记时去除句号。如果左侧语块不能生成完整子树则句法分析失败,否则外部功能标记为cs|qs(即陈述句或祈使句)。
引号内部为语段,两侧为半语块。引号内部的语段(如果引号内部有多个句子,一律视为一个句子内部的子句,多个子句之间的内部结构标注为“LS”)生成-1级标记,再根据语段内标点符号逐级向上生成相应标记,消解时调用相应的消解规则。如引号内部不能生成完整子树,则句法分析失败,否则将句法分析结果赋予上述-1级标记的分析结果字段,外部功能标记为“yh”(即引号),去除引号升为10级,压回标记表。如果引号有特殊含义,留待语义分析阶段处理,在句法分析阶段只需作出标记。如果引号一侧或两侧不为空,则需要进行子树拼接。拼接时,将引号内部和外部的子句生成的子树当作输入,运行句法分析程序,看能否生成完整子树。
上述规则可以体现在分层分级法和标记消解法的程序中,而难以用一条概括的语法规则来描述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于本申请的基于标点符号处理的汉语句法分析装置实施例而言,由于其分层分级装置和标记消解装置的运行原理基本相似于相应的方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
下面继续以上述示例为例,说明标记消解法的具体步骤。
在上述标记表中搜索-1级标记,在本例中,最内层-1级标记为标记2.8:<2.8,8,8,语段,‘‘,-1,>。
进入特殊消解程序,在本例中,标记2.8范围内所包含的标记序列为标记2.9:<2.9,8,8,语块,‘‘,10,>。
所述标记序列只有一个标记且为10级,直接进入句法分析程序,句法分析成功后调用上述引号的消解规则(在分层分级程序和句法分析程序中也体现了引号消解规则中的内容)消解标记2.8,此时标记表中标记2.9已经弹出,标记2.8被修改为:<2.8,8,8,子树,‘‘,10,[yh七月流火]>。其中,“[yh七月流火]”为句法分析结果,“yh”为外部功能标记。需要说明的是,此处的标注仅是示范性的,根据句法分析方法的不同,输出结果也不相同。
再次在上述标记表中搜索-1级标记,搜索到最内层-1级标记为标记2.4:<2.4,5,13,语段,“”,-1,>。
进入特殊消解程序,此时标记2.4范围内所包含的标记序列为:
<2.5,5,12,语块,?,3,>
<2.6,5,5,半语块,,,6,>
<2.7,7,12,半语块,,,6,>
<2.8,8,8,子树,‘‘,10,[yy七月流火]>
<2.10,10,12,半语块,‘,10,>
<2.11,5,5,半语块,,,10,>。
进入普通消解程序消解上述标记序列。低于10级的最高级别标记为标记2.6和标记2.7,先消解标记2.6。
标记2.6范围内级别为10级的标记为标记2.11,弹出标记2.11并对其中的子句进行句法分析,然后将分析结果赋予标记2.6的分析结果字段,将标记2.6升为10级。此时标记2.6被修改为<2.6,5,5,子树,,,6,[np老师]>,“np”表示外部功能为名词短语。
标记2.7范围内级别为10级的标记为标记2.8和标记2.10,标记2.8的子句类型字段已经为“子树”,不需要再进行句法分析,标记2.10的子句类型字段为半语块,需要进行句法分析,然后进入子树拼接程序,将拼接结果赋予标记2.7的分析结果字段,并将标记2.7升为10级。
其余步骤与上述步骤类似,在此不再赘述。消解完标记2.4范围内所包含的标记序列后,已没有-1级标记,进入普通消解程序消解剩余标记。
上面对本发明的一些实施方式进行了详细的描述。如本领域的普通技术人员所能理解的,本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算设备(包括处理器、存储介质等)或者计算设备的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在了解本发明的内容的情况下运用他们的基本编程技能就能实现的,因此不需在此具体说明。
此外,显而易见的是,在上面的说明中涉及到可能的外部操作的时候,无疑要使用与任何计算设备相连的任何显示设备和任何输入设备、相应的接口和控制程序。总而言之,计算机、计算机系统或者计算机网络中的相关硬件、软件和实现本发明的前述方法中的各种操作的硬件、固件、软件或者它们的组合,即构成本发明的设备及其各组成部件。
因此,基于上述理解,本发明的目的还可以通过在任何信息处理设备上运行一个程序或者一组程序来实现。所述信息处理设备可以是公知的通用设备。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者设备的程序语义代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是本领域技术人员已知的,或者将来所开发出来的任何类型的存储介质,包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等。
在本发明的方法和装置中,显然,各部件或各步骤是可以分解、组合和/或分解后重新组合的。这些分解和/或重新组合应视为本发明的等效方案。
本发明申请中并未列出全部的消解规则,应当理解,这些消解规则可以用程序代码、数据或其它方式来实现,而且所述消解规则仅是示范性的。同样,标记表中标记的数据结构和所用的符号也可以采用其它形式。本领域技术人员可以对所述消解规则的内容及其实现方式、标记的数据结构和符号进行各种修改和变更,而不背离本发明的实质和范围。
还需要指出的是,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
虽然已经结合附图详细说明了本发明的实施方式及其优点,但是应当理解,上面所描述的实施方式只是用于说明本发明,而并不构成对本发明的限制。对于本领域的技术人员来说,可以对上述实施方式作出各种修改和变更而不背离本发明的实质和范围。因此,本发明的范围仅由所附的权利要求及其等效含义来限定,在不超出由所附的权利要求所限定的本发明的精神和范围的情况下可以进行各种改变、替代和变换。
Claims (10)
1.一种基于标点符号处理的汉语句法分析方法,其特征在于该方法包括标记阶段和消解阶段,其中,
标记阶段:
a)研究汉语标点符号的用法和形式特征,以及被标点符号分隔开来的子句的句法特征,将其分层分级;
b)依据a)所述标点符号及子句的特征,编写消解规则,生成消解规则表;
c)依据a)所述标点符号及子句的层次级别关系,将原始输入句转化为一系列标记,生成标记表;
消解阶段:
aa)搜索所述标记表,看是否有语段级(即-1级)标记;
bb)如果没有上述语段级标记,则进入普通消解程序,按层级提取标记进行消解;
cc)如果有上述语段级标记,则进入特殊消解程序,消解完成后转步骤aa);
dd)判断标记表是否为空,如果为空则输出整个句子的完整句法树,否则转步骤bb);
ee)上述过程中,有任何一个应该被分析为完整子树的子句没有生成完整子树,则句法分析失败。
2.如权利要求1所述的方法,其特征在于,标记阶段中步骤a)从句法分析的角度研究汉语标点符号的用法和形式特征,以及被标点符号分隔开来的子句的句法特征,以所述特征为依据将标点符号及其分隔开来的子句分层分级。
3.如权利要求1所述的方法,其特征在于,标记阶段步骤b)中的消解规则的内容,是在句法分析和子树拼接中如何处理标点符号包含的语法和语义信息以及如何去除标点。
4.如权利要求1所述的方法,其特征在于,标记阶段步骤c)中的所述标记有包含和被包含关系,依据是标记中子句的起始位置和终止位置,分层分级法生成标记表的具体步骤如下:
1)生成两张表,即待分析标记表(为方便描述,以下称表1)和已处理标记表(为方便描述,以下称表2),并初始化为空;
2)将整个原始输入句(根据句法分析方法的不同,可能是词序列和/或词性序列,也可能是其它序列)生成种子标记,标记为0级,即未处理整句,压入表1;
3)判断表1是否为空;
4)如果表1为空,则分层分级程序结束,输出表2为标记表;
5)如果表1不为空,弹出表1顶层的标记,从第一层到第五层逐层逐级检测其中包含的标点符号和子句;
6)判断是否检测到标点符号和子句;
7)如果没有检测到,则升级到相应的级别,压回表1;
8)如果检测到,则判断是否已经为10级;
9)如果为10级,直接压入表2,转步骤3);
10)如果不是10级,则生成新标记,升级到相应的级别后,压入表2,同时压入表1,转步骤3);
步骤6)中,如果检测到语段级(主要是指引号、括号、书名号内部的子句),则内部的子句生成新标记,标记为-1级,压入表1和表2,再逐级向上检测,-1级(即语段级)标记一侧或两侧如果不为空,也生成新标记,并升级到相应级别(分别为7级、8级和9级),但只压入表1不压入表2。
5.如权利要求1所述的方法,其特征在于,消解阶段步骤aa)中所述语段是指还未被分析的语言单位,可以是句群和/或引号、括号、书名号内部的子句,可能是词、短语、句子、句群等。
6.如权利要求1所述的方法,其特征在于,消解阶段步骤bb)所述普通消解程序的具体步骤为:
1)在所述标记表中搜索级别低于10级(即最高级)的最高级别标记(为方便描述,以下称标记1);
2)在所述标记表中搜索标记1范围内级别为10级的标记(为方便描述,以下称标记2),并弹出;
3)对标记2中的子句进行句法分析,分析过程中调用消解规则;
4)对标记2中的子句进行子树拼接,拼接过程中调用消解规则;
5)将标记2的分析结果赋予标记1,并将标记1升为10级。
7.如权利要求1所述的方法,其特征在于,消解阶段中步骤cc)所述特殊消解程序有一个递归过程,如果消解完所述最内层语段级标记,则判断标记表中是否还有语段级标记,如果有则递归调用特殊消解程序,否则调用普通消解程序,所述特殊消解程序的具体步骤如下:
1)提取最内层语段级(即-1级)标记(为方便描述,以下称标记3)范围内所包含的标记序列,如果所述标记序列只有一个标记且为10级(此时语段只包含词和/或短语,没有标点符号),则直接进入句法分析程序,然后转步骤4),否则转步骤2);
2)进入普通消解程序消解上述标记序列中的标记;
3)判断上述标记序列是否为空,如果不为空则转步骤2);
4)如果上述标记序列为空,则调用-1级标记消解规则消解标记3,转消解阶段的步骤aa)。
8.如权利要求6所述的方法,其特征在于,步骤3)中的句法分析程序不限于某一种句法分析方法,包括现有的和将来可能出现的句法分析方法和/或它们的组合。
9.如权利要求6所述的方法,其特征在于,步骤4)中的子树拼接程序是指将标点符号两侧的完整子树或非完整子树拼接为一棵完整子树,并且主要是指分号、冒号、逗号两侧和引号、括号、书名号内部及两侧子树的拼接。
10.一种基于标点符号处理的句法分析装置,其特征在于,由分层分级装置、标记消解装置、句法分析装置、子树拼接装置组成,其中,
分层分级装置,其功能在于将原始输入句中的标点符号和标点符号分隔开来的子句,划分为不同的层次和级别,生成标记表,所述装置采用的方法,就是上述的分层分级法;
标记消解装置,包含句法分析装置和子树拼接装置,其功能在于进行子句句法分析和子树拼接,在此过程中调用消解规则表中的消解规则,将标记表中的语法和语义信息加入到句法分析结果中,或作为句法分析成功与否的判断依据;
句法分析装置,其功能在于对子句进行句法分析;
子树拼接装置,其功能在于对子树进行拼接,主要是指对分号、冒号、逗号、引号、括号和书名号所分隔开的子树进行拼接,最终生成一棵完整的句法树。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510562372.8A CN105243056B (zh) | 2015-09-07 | 2015-09-07 | 一种基于标点符号处理的汉语句法分析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510562372.8A CN105243056B (zh) | 2015-09-07 | 2015-09-07 | 一种基于标点符号处理的汉语句法分析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105243056A true CN105243056A (zh) | 2016-01-13 |
CN105243056B CN105243056B (zh) | 2018-02-06 |
Family
ID=55040708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510562372.8A Active CN105243056B (zh) | 2015-09-07 | 2015-09-07 | 一种基于标点符号处理的汉语句法分析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105243056B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291676A (zh) * | 2017-06-20 | 2017-10-24 | 广东小天才科技有限公司 | 截断语音文件的方法、终端设备及计算机存储介质 |
CN108241612A (zh) * | 2016-12-27 | 2018-07-03 | 北京国双科技有限公司 | 标点符号处理方法和装置 |
CN109933799A (zh) * | 2019-03-22 | 2019-06-25 | 北京金山数字娱乐科技有限公司 | 语句拼接方法以及装置 |
CN111046649A (zh) * | 2019-11-22 | 2020-04-21 | 北京捷通华声科技股份有限公司 | 一种文本分割方法和装置 |
CN112837688A (zh) * | 2019-11-22 | 2021-05-25 | 阿里巴巴集团控股有限公司 | 语音转写方法、装置、相关系统及设备 |
TWI750567B (zh) * | 2020-01-21 | 2021-12-21 | 卓騰語言科技股份有限公司 | 中文斷詞方法及系統 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928854A (zh) * | 2005-09-08 | 2007-03-14 | 中国科学院自动化研究所 | 一种基于标点处理的层次化汉语长句句法分析方法及装置 |
JP2012185790A (ja) * | 2011-03-04 | 2012-09-27 | Hiroshi Yasuhara | 係り受け解析支援装置 |
CN103268311A (zh) * | 2012-11-07 | 2013-08-28 | 上海大学 | 基于事件结构的中文语句分析方法 |
-
2015
- 2015-09-07 CN CN201510562372.8A patent/CN105243056B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1928854A (zh) * | 2005-09-08 | 2007-03-14 | 中国科学院自动化研究所 | 一种基于标点处理的层次化汉语长句句法分析方法及装置 |
JP2012185790A (ja) * | 2011-03-04 | 2012-09-27 | Hiroshi Yasuhara | 係り受け解析支援装置 |
CN103268311A (zh) * | 2012-11-07 | 2013-08-28 | 上海大学 | 基于事件结构的中文语句分析方法 |
Non-Patent Citations (2)
Title |
---|
张小艳 等: "汉语句法分析中标点符号的运用", 《计算机工程与科学》 * |
李幸 等: "引入标点处理的层次化汉语长句句法分析方法", 《中文信息学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241612A (zh) * | 2016-12-27 | 2018-07-03 | 北京国双科技有限公司 | 标点符号处理方法和装置 |
CN108241612B (zh) * | 2016-12-27 | 2021-11-05 | 北京国双科技有限公司 | 标点符号处理方法和装置 |
CN107291676A (zh) * | 2017-06-20 | 2017-10-24 | 广东小天才科技有限公司 | 截断语音文件的方法、终端设备及计算机存储介质 |
CN109933799A (zh) * | 2019-03-22 | 2019-06-25 | 北京金山数字娱乐科技有限公司 | 语句拼接方法以及装置 |
CN109933799B (zh) * | 2019-03-22 | 2023-08-15 | 北京金山数字娱乐科技有限公司 | 语句拼接方法以及装置 |
CN111046649A (zh) * | 2019-11-22 | 2020-04-21 | 北京捷通华声科技股份有限公司 | 一种文本分割方法和装置 |
CN112837688A (zh) * | 2019-11-22 | 2021-05-25 | 阿里巴巴集团控股有限公司 | 语音转写方法、装置、相关系统及设备 |
CN112837688B (zh) * | 2019-11-22 | 2024-04-02 | 阿里巴巴集团控股有限公司 | 语音转写方法、装置、相关系统及设备 |
TWI750567B (zh) * | 2020-01-21 | 2021-12-21 | 卓騰語言科技股份有限公司 | 中文斷詞方法及系統 |
Also Published As
Publication number | Publication date |
---|---|
CN105243056B (zh) | 2018-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105243056A (zh) | 一种基于标点符号处理的汉语句法分析方法及装置 | |
US5903858A (en) | Translation machine for editing a original text by rewriting the same and translating the rewrote one | |
KR101678787B1 (ko) | 자동질의응답 방법 및 그 장치 | |
Rashel et al. | Building an Indonesian rule-based part-of-speech tagger | |
JP3300866B2 (ja) | テキスト処理システムにより使用されるテキストを準備する方法及び装置 | |
CN108984661A (zh) | 一种知识图谱中实体对齐方法和装置 | |
JPH0510703B2 (zh) | ||
CN110770735A (zh) | 具有嵌入式数学表达式的文档的编码转换 | |
CN103314369B (zh) | 机器翻译装置和方法 | |
CN105630770A (zh) | 一种基于sc文法的分词标音连写方法及装置 | |
US20100228538A1 (en) | Computational linguistic systems and methods | |
CN100361124C (zh) | 用于词分析的系统和方法 | |
CN113312922A (zh) | 一种改进的篇章级三元组信息抽取方法 | |
CN111859858A (zh) | 从文本中提取关系的方法及装置 | |
CN103678270B (zh) | 语义单元抽取方法和语义单元抽取设备 | |
Kazman | Structuring the text of the Oxford English Dictionary through finite state transduction | |
Amri et al. | Amazigh POS tagging using TreeTagger: a language independant model | |
Jha et al. | Inflectional morphology analyzer for Sanskrit | |
Korobkin et al. | Technical function discovery in patent databases for generating innovative solutions | |
CN111753555B (zh) | 一种基于MathML的数学公式到盲文的翻译方法及系统 | |
CN114861628A (zh) | 训练机器翻译模型的系统、方法、电子设备及存储介质 | |
Nolan et al. | UniArab: RRG Arabic-to-English machine translation | |
Hardie | Automated part-of-speech analysis of Urdu: conceptual and technical issues | |
Samir et al. | Training and evaluation of TreeTagger on Amazigh corpus | |
Mukhtar et al. | Implementation of Urdu probabilistic parser |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |