书城管理决策问题管理系统开发研究
10721500000018

第18章 基于中文自然语言理解的决策问题表层属性智能识别模型

根据第三章的研究,在基于知识管理的决策问题管理智能方法中,决策问题表层属性的识别、关键词的识别、隐含属性的识别以及所包含的子问题识别是决策问题智能分析和理解的关键。为了使DSS实现这几个方面的智能识别,在问题管理系统开发组件中就必须使用相关的模型和方法。因此,我们还需在问题理解与求解的具体流程和机制研究的基础上,建立用于这几类识别的模型,并研究其相应的求解算法。

根据第三章的分析,决策问题的表层属性的识别包括输入决策问题的已知条件识别和决策目标识别,而对于用中文自然语言表述的决策问题,要想充分识别出包含在其中的问题条件和目标就必须以中文自然语言理解为基础。目前常用的中文自然语言理解方法鉴于汉语词法和句法的特殊性,包括中文分词、句法分析、语义理解、语境生成四步。该领域的相关研究近年来取得了比较大的进展,很多有效的中文分词方法和句法分析方法已被开发出来并得到日益广泛的应用。因此,我们在PMS-DC中主要是应用这些方法来构建所需的决策问题表层属性智能识别模型。它涉及分词方法的选择、句法分析方法在问题表层属性识别中的应用及识别模型本身的构建等问题。

4.1.1 分词方法的选择

汉语的书面表达方式以汉字作为最小单位,但自然语言的理解是以有明确意义的词为最小理解单位。中文与英文不同,其书面语句中的词是没有分割标记的,因此,对中文而言,自动分词成为机器自然语言理解的基础。汉语自动分词涉及分词规范、切分算法、歧义消除、未登录词识别等问题,其中词句切分算法是自动分词的关键。目前主流的中文分词方法包括:

1.基于字符串匹配的分词方法

这种方法又叫做机械分词方法。它是基于词典的分词方法,按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配。若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,基于字符串匹配的分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下:

·正向最大匹配法(由左到右的方向);

·逆向最大匹配法(由右到左的方向);

·最少切分法(使每一句中切出的词数最少)。

还可以将上述各种方法相互组合,例如,可以将正向最大匹配法和逆向最大匹配法结合起来构成双向匹配法。由于汉语单字成词的特点,正向最小匹配和逆向最小匹配一般很少使用。一般说来,逆向匹配的切分精度略高于正向匹配,遇到的歧义现象也较少。统计结果表明,单纯使用正向最大匹配的错误率为1/16é,单纯使用逆向最大匹配的错误率为1/245.但这种精度还远远不能满足实际的需要,实际使用的分词系统,都是把机械分词作为一种初分手段,还需通过利用其他各种语言信息来进一步提高切分的准确率。

一种方法是改进扫描方式,称为特征扫描或标志切分,这种方法优先在待分析字符串中识别和切分出一些带有明显特征的词,以这些词作为断点,可将原字符串分为较小的串再进行机械分词,从而减少匹配的错误率。另一种方法是将分词和词类标注结合起来,利用丰富的词类信息对分词决策提供帮助,在标注过程中又反过来对分词结果进行检验、调整,从而极大地提高切分的准确率。

机械分词方法的优点是易于实现。其缺点是:第一,匹配速度慢;第二,存在交集性歧义和组合性歧义切分问题;第三,没有一个统一标准的词集;第四,不同词典产生的歧义不同。

目前大多数分词系统都是上述这些分词算法或其中几种的结合。如织梦分词算法采用的是一种用最小切分法和逆向最大匹配法结合的一种复合分词算法。百度的分词系统采用两部词典:专用词典和普通词典。首先用专用词典进行最大正向匹配分词,切分出部分结果,剩余没有切分的交给普通词典,同样采取正向最大匹配分词,最后输出结果。另外,谷歌也是采用正向最大匹配分词算法,不过没有组织专用词典,所以很多专用名词都被切碎了。

2.基于理解的分词方法

这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用手工定义的句法规则和语义规则来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,这种基于理解的分词方法还处在试验阶段,一些基于手工规则的分词系统实际应用效果也不够理想,并没有得到广泛的应用。

3.基于统计的分词方法

从形式上看,词是稳定的字的组合,因此,在上下文中相邻的字同时出现的次数越多,就越有可能构成一个词。字与字相邻共现的频率或概率能够较好地反映成词的可信度。可以对语料中相邻共现的各个字的组合的频度进行统计,计算它们的互现信息。定义两个字的互现信息,计算两个汉字X、Y的相邻共现概率。互现信息体现了汉字之间结合关系的紧密程度。当紧密程度高于某一个阈值时,便可认为此字组可能构成了一个词。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。这种方法也有一定的局限性,会经常抽出一些共现频度高但并不是词的常用字组,例如“这一”、“之一”、“有的”、“我的”、“许多的”等,并且对常用词的识别精度差,时空开销大。实际应用的统计分词系统都要使用一部基本的分词词典(常用词词典)进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计与串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。这种统计分词方法所应用的统计量或统计模型有:互信息、N元文法模型、神经网络模型、隐Markov模型、最大熵模型等。

基于统计的分词方法的优点是:①不受待处理文本领域的限制;②不需要一个机器可读词典。缺点是:①需要大量的训练文本,用以建立模型的参数;②该方法的计算量非常大;③分词精度与训练文本的选择有关。

在上述三类分词方法中,目前实际可用的具体分词方法不下40种,在如此多的分词方法中进行选择,我们主要是看分词的正确性(或称分词精度)。但要评价一种分词方法的精度并不容易,因为它首先取决于对“词”的清晰界定。尽管我国在1éé3年颁布了《信息处理用现代汉语分词规范》作为分词单位的国家标准,但在历届国内举办的863、é73分词评测中,基于该分词规范且以“结合紧密”和“使用稳定”为评价标准的评测方法因标准本身带有一定的主观性,使得对什么是“词”的问题仍然缺乏可计算的定义,从而导致众多的分词方法在分词精度的评判上各执一词,并没有严格的可比性。2003年7月在日本札幌举办的国际中文分词评测Bakeoff在对分词方法的正确性评价方面取得了很大的进展,Bakeoff评测采用了不同于国内863、é73评测的另外一种分词评测方案。即事先在网上公布四种不同标准的训练语料,一个月后公布与这四种标准相应的测试语料,参评系统可以在这些语料中任意选择一种或多种标准来考评自己的分词系统。其基本思想就是既然在短期内不能在一种分词标准上形成统一的意见,那就用多种不同标准的分词语料同台测试,看哪种分词方法针对不同分词标准的语料有更好的分词正确性。近10年来,Bakeoff评测活动的开展极大地推动了中文分词技术的发展。同时,它也使我们对分词方法的选择变得更加简单,即选择近年来在Bakeoff评测活动中排名靠前的分词方法。

对PMS-DC而言,Bakeoff可提供两三种具体的分词方法,并给出其最新的排名情况,以便用户在应用时进行选择。由于分词算法是以程序的形式集成于i-GIDSSG的算法库当中,因此除了我们自己可以根据已有的分词方法开发出相应的算法外,也可以跟相应的研究机构合作,由他们开发出符合i-GIDSSG的算法库标准格式的第三方分词算法,以便PMS-DC所使用的中文分词算法得到不断的更新。

4.1.2 基于句法分析的问题表层属性智能识别过程

为了从用户以自然语言表述的决策问题中识别出决策目标和已知条件等表层属性,输入的决策问题经分词处理后,根据自然语言理解的一般步骤,还需要通过句法分析,理清语句的结构,分析出其中各部分的语法成分。

1.基于句法分析的问题表层属性识别过程

虽然汉语语法结构复杂,语句形式多样,汉语自然语言的深层理解(如机器翻译、语音对话、电话翻译等)仍然是世界性的难题,但作为管理决策问题的语句分析相对要简单许多,这是因为:

(1)管理决策问题基本上都是用正式的书面语言来表达,口头用语很少,因此,语法使用比较规范,便于机器处理。

(2)决策问题通常用少数语句就能表达。除了少数极为复杂的决策问题,大部分商业或行政领域的决策问题都可以用一句话来表达,且表达语句的结构多为先表明条件再提出问题。即使不是这样,也可以通过简单的人机交互功能进行规范。因此,语句结构分析较为简单。

(3)根据我们所提出的决策问题分析方法,对问题描述语句进行句法分析的目的只是找出目标与条件等问题表层属性,因此,并不需要通过句法分析真正理解问题语句的含义,也就不需要使用目前并不成熟的自然语言深层理解技术。

因此,基于句法分析的问题表层属性识别的基本过程。

为从决策问题表述语句中找出问题的条件与目标(以词、词组或短句的形式包含在子句中),还需要在分词的基础上,划分出问题表述语句的条件子句和目标子句。由于根据中文分词后的词性标注可以得到哪些词语是疑问词、哪些是标点符号,而用户输入决策问题时又经常用到逗号和问号来分割子句,因此,对于用户输入的决策问题表述语句,我们可以基于以下两条规则得到问题的条件子句和目标子句:

规则1:问号前面的句子即为目标子句。

规则2:逗号前面的句子在句中无疑问词的情况下为条件子句,若有疑问词则为目标子句。

基于上述规则的问题条件子句和目标子句分割的算法流程图。其中,Sn为条件子句的个数;Dn为目标子句的个数;Ln为子句中词的个数;Len为问题P中词的总个数;S[Sn][Ln]为问题条件词组数组,即问题条件词组集合(例如S[i][j]表示第i个条件的第j个词组);D[Dn][Ln]为问题目标词组数组;i、j为循环变量;t和Temp_P[Ln]均为词组中间变量;t1为词性标注中间变量;I表示疑问词标注。

该算法并不是问题表层属性识别的全部,它只是得出了哪些子句字的序列集合表示问题的条件,哪些子句字的序列集合表示问题的目标,对各子句字之间的关系却是未知的。为了真正识别出子句,还应该对各目标子句和条件子句的中文分词和句法进行分析,这样才能找出各子句字与字之间的关系和由字组成的词之间的关系,从而真正识别出问题的条件和目标。因此,必须选择合适的句法分析算法。

3.基于松弛匹配迭代算法的子句句法分析

句法分析是自然语言理解中的重要内容,其主要任务是:对于给定的输入句子,以语言的语法特征为主要知识源,生成一棵短语结构树,通过树的形式指明输入句子各部分之间的关系。目前所研究出的句法分析方法大体分为两类:基于规则的方法和基于统计的方法。其中,基于规则的方法是以语言学理论为基础,根据一定的语法体系,采用非歧义的规则形式描述出句子各部分的关系,或帮助消除句子分析中的歧义。研制出的句法分析器所采用的语法体系包括:描写语言学理论(结构主义语法)、依存语法(配价语法)、格语法、系统功能语法、认知语法、扩充转移网络(ATN)、支配约束理论(GB)、功能合一语法(FUG)、词汇功能语法(LFG)、定子句语法(DCG)、中心词驱动的短语结构语法(HPSG)、广义短语结构语法(GPSG)、范畴语法(CG)、链接语法(LG)等[16é]。而基于统计的方法是利用统计句法分析模型,评价若干个可能的句法分析结果(通常表示成语法树形式)是当前句子的正确语法解释的概率或在若干个可能的分析结果中直接选择一个最可能的结果。基于统计的方法涉及语料库的建设、统计模型的选择和参数估计等问题,其中统计模型决定着句法分析结果的正确性,因此在该类分析方法中居于核心地位。目前常用的句法分析统计模型分为五类:概率上下文无关模型、增加结构信息的模型、基于词汇语法的概率模型、基于历史的模型和语义辅助的句法分析模型,并由此形成一系列的句法分析器。

在PMS-DC中,识别问题的条件与目标实际上是要从决策问题表述语句的各子句词组中找出表征问题条件和目标的词组集合,为此,需要使用句法分析器对分割出的子句进行句法分析,但这种句法分析主要是要通过分析子句各词之间的关系找出子句的中心词、限定词等能够反映问题条件和目标的特征词汇,而不一定要得到句子的完整语义表示。因此,通过对各种句法分析方法的比较分析,我们选用基于依存关系的句法分析器。

该句法分析器采用基于依存语法的统计句法分析模型。1é70年,Robinson J。J。提出了依存关系的四大公理,为依存语法奠定了基础。依存关系的四大公理为:

第一,一个句子中只有一个成分是独立的;

第二,其他成分直接依存于某一成分;

第三,任何一个成分都不能依存于两个或两个以上的成分;

第四,如果A成分直接依存于B成分,而C成分在句子中位于A和B之间,那么,C或者直接依存于A,或者直接依存于B,或者直接依存于A和B之间的某一成分。

20世纪é0年代,我国学者根据汉语的语法实践提出了依存关系的第五公理:中心成分左右两边的其他成分不发生依存关系。

根据这五大公理,我国学者对汉语的依存关系体系做了大量的研究。比较突出的有:文献划分了44种依存关系,提出并论证了依存语法是合乎大规模真实文本处理要求的句法体系。文献针对从短语到句群的各级单位内部的各种依存关系展开讨论,提出依存关系普遍存在于各级单位之中,并建立了汉语的依存关系的层次体系。以上对汉语依存体系的研究都说明句子中的主语、宾语、状语和补语依存于谓语,而构成主语、宾语、状语和补语的句子或短语也遵从特定的依存关系。文献则将以上依存关系体系总结为:

(1)单句内的句子成分依存关系(受中心语支配):中心语、主语、宾语、状语、补语、远宾语、“把”字语、“被”字语、主题、兼语、连动等。

(2)短语内的非句子成分依存关系(不受中心语支配):附加关系、重叠关系、数量关系、同位关系、联合关系、偏正关系、主谓关系、述宾关系、述补关系、连动关系。

(3)基于这种依存关系体系建立的语料库、规则库以及依存语法语言模型得出一种快速的句法分析算法——松弛匹配迭代算法,证明了基于该依存关系的句法分析器的现实性和有效性。该松弛匹配迭代算法的描述如下:

①句子的词语序列集合为{W1,W2,……,Wm},由组成句子的词语个数m构成一个m×m的二维矩阵A,其中aij表示i所对应的词语支配j所对应词语的置信度。

②根据依存关系建立的规则,分析正对角线——中心动词,确定其中一个app=1,即p所对应的词为中心动词。根据公理五可确定中心动词左右两边不存在依存关系,即aij=0,i<p≤j或i>p≥j。

③再根据语料库及规则库分析中心动词所在行,可确定受中心动词支配的句子的主要成分即句子的主语、谓语、宾语、状语和补语等。

④最后分析剩余区域的非句子成分。

⑤迭代直到每列只有一个1.

⑥通过最后的迭代矩阵得到句子的依存关系三元组表示。

文献给出了基于该算法的句子的依存关系三元组表示:(A,B,R)。其中A和B分别代表句子中的词语,R表示词语A和B的依存关系,即文献所示的依存关系体系:如句中作为句子成分的主语依存关系、宾语的依存关系(都依存于中心语:谓语);或短语内非句子成分的依存关系,如主谓关系、偏正关系等,且词语B是A的支配者,词语A是被支配者。该依存关系的三元组表示很适合于计算机表示和问题的识别,这也是我们选择基于依存关系的句法分析器的重要原因。

利用松弛匹配迭代算法对已经分割好的问题表述语句的条件子句和目标子句进行分析,即对S[Sn][Ln]和D[Dn][Ln]进行处理,得到问题条件和目标各自的词序列依存关系三元组集合{(A,B,R)}。利用{(A,B,R)}可进一步分析出问题的关键词并可对问题求解方法的求解条件进行匹配,因此,问题条件子句和目标子句的词序列依存关系三元组集合{(A,B,R)}将作为问题的条件属性和目标属性的最终表示。

4.1.3 基于问题表层属性识别过程的识别模型

根据上述问题表层属性识别的分析过程,我们可以建立问题表层属性识别的模型,该模型可表述为:

P→S[Sn][Ln],D[Dn][Ln](16)

S[Sn][Ln]→{(S[i][m],S[i][n],R)},i<Sn,m<Ln,n<Ln(17)

D[Dn][Ln]→{(D[j][m],D[j][n],R)},j<Dn,m<Ln,n<Ln(18)

其中,P为输入的问题;S[Sn][Ln]、D[Dn][Ln]分别为条件子句和目标子句的词集合(词组数组);{(S[i][m],S[i][n],R)}、{(D[j][m],D[j][n],R)}分别为条件子句和目标子句中各词组依存关系三元组表示。

该识别模型的算法流程。

上述关于问题表层属性的识别模型基于“句子的分割符 疑问词所处的位置”来判断问题的条件和目标,与问题的条件和目标由用户手工输入相比,计算机识别问题的智能型明显得到加强。虽然该模型对所识别的决策问题表述语句的结构仍存在一些限制,即限于识别用陈述结构的疑问判断句表示的决策问题,但较为符合用户以书面形式陈述问题的习惯。