语法分析方法、装置及存储语法分析程序的产品的制作方法

文档序号:6560701阅读:92来源:国知局
专利名称:语法分析方法、装置及存储语法分析程序的产品的制作方法
技术领域
本发明涉及通过计算机分析自然语言语法的语法分析程序,语法分析方法,语法分析装置,以及在其中记录所述语法分析程序的计算机可读介质。更具体地,本发明涉及适用于对难于辨别词间定界的孤立语言例如汉语的语法分析。
背景技术
例如,此类语法分析装置已应用于机器翻译系统,以作为在翻译之前的步骤来分析输入自然语言的语法结构。当用户浏览以外语所描述的互联网网站时,通过机器翻译来翻译成母语是有用的。机器翻译系统通过词素分析和语法分析将原文翻译以输出译文。
这种语法分析装置公知为现有技术。例如JP06-332940A公开了这样一种语法分析装置,其通过词素分析和语法分析来唯一地分析输入语句,基于示例数据库和辞典来计算多个分析后的输入结构的可能性,并将具有最大可能性的输入结构作为分析结果来输出。另外,JP2003-196274A公开了指明输入语句的语法结构的语法分析方法。在该方法中,输入以一种语言(例如,日语)表述的语句以及以另一种语言(例如,英语)表述的对应的翻译。如果从一种语言的语句产生多个分析结果并且系统不能确定哪个语法结构是正确的,则系统基于语法分析信息来指定一种分析结果,该语法分析信息是通过分析该语句的对应的翻译而获得的。
JP06-332940A的装置对于能够进行唯一地词素分析的语言是有效的。例如,所述装置对于诸如通过空格来将词分离的英语和德语语言是有效的。所述装置对于诸如通过感叹词来将词划分的日语语言也是有效的。但是,所述装置对于不易于辨别词之间的定界的孤立语言例如汉语是无效的。即,分析精确性变低。由于JP2003-196274A的方法不仅需要分析输入语句的语法的功能而且需要以多种语言进行语法分析的数据库,所以分析装置的成本变得更局。

发明内容
有鉴于此,本发明的目的在于提供改进的语法分析方法(或装置、产品),在不使用原文的相应翻译的情况下,能够以高准确性来分析孤立语言例如汉语的语法。
本发明的语法分析方法使得计算机执行以下步骤,包括输入步骤,用于输入自然语言的语句;分析步骤,用于对在所述输入步骤中输入的输入语句执行词素分析和语法分析;提取步骤,用于从分析文集数据库中提取与输入语句最相似的分析文集;相似度计算步骤,当在所述分析步骤中获得多个分析候选项时,计算在每个分析候选项与提取的分析文集之间的相似度;和输出步骤,当在所述分析步骤中获得多个分析候选项时,将具有最大相似度的分析候选项作为分析结果输出,或者当在所述分析步骤中仅获得一种分析结果时,输出在所述分析步骤中获得的分析结果。
优选地,所述分析步骤具有基于与将使用的自然语言相关的知识来推测在输入语句中包含的未登记词的功能。
另外,在所述的相似度计算步骤中,可使用由词素分析而分析的词素内容和由语法分析而分析的语法结构来计算在分析候选项和分析文集之间的相似度。具体地,在相似度计算步骤中可通过下式来计算相似度SS=(W1/W)·W2在此式中,W表示在分析候选项中的词素数量,W1表示与提取的分析文集的词素具有相同结构的词素的数量,W2表示与提取的分析文集的词素具有相同结构和符号的词素的数量。
在所述相似度计算步骤中,将由词素分析而分析的词素内容和分析文集的词素内容之间的相似度作为辞典中的概念之间的相关度值来计算。此分析办法是基于语句中词义的高相似度导致整个语句结构的高相似度的普遍原理。
另一方面,使用程序控制计算机分析语法的本发明的语法分析方法包括上述输入步骤,分析步骤,提取步骤,相似度计算步骤,以及输出步骤。
另外,使用程序控制计算机分析语法的本发明的语法分析装置包括输入部,用于输入自然语言的语句;分析部,用于对在所述输入部中输入的输入语句执行词素分析和语法分析;提取部,用于从分析文集数据库中提取与输入语句最相似的分析文集;相似度计算部,当由所述分析部获得多个分析候选项时,计算在每个分析候选项与提取的分析文集之间的相似度;和输出部,当由所述分析部获得多个分析候选项时,将具有最大相似度的分析候选项作为分析结果输出,或者当由所述分析部仅获得一种分析结果时,输出由所述分析部获得的分析结果。
另外,本发明的产品存储语法分析程序,所述语法分析程序使得计算机执行上述输入步骤,分析步骤,提取步骤,相似度计算步骤,以及输出步骤。
根据上述本发明的语法分析方法(装置、产品),通过使用分析文集,纠正由于孤立语言例如汉语的不确定复合名词或未知词中的定界错误而导致的语法分析中的错误,能够提高语法分析的准确性。


图1是显示根据本发明实施例的语法分析装置的总体结构框图,图2显示由如图1所示装置的分析部输出的分析候选项1的语法结构,图3显示由如图1所示装置的分析部输出的分析候选项2的语法结构,图4显示由如图1所示装置的提取部提取的分析文集的语法结构,图5显示由如图1所示装置的分析部输出的分析候选项1的语法结构,图6显示由如图1所示装置的分析部输出的分析候选项2的语法结构,图7显示由如图1所示装置的提取部提取的分析文集的语法结构,以及图8显示由如图1所示装置的相似度计算部使用的辞典结构。
具体实施例方式
以下,将参照附图描述根据本发明的语法分析装置的实施例。虽然本实施例中将汉语用作分析目标孤立语言,但是本发明也适用于其它孤立语言。
首先,将参照附图1说明语法分析装置的总体结构,在所述语法分析装置中安装有本实施例的语法分析程序。如图1所示,语法分析装置1安装有输入部10,用于输入自然语言的语句;分析部20,用于对在输入部10中输入的输入语句执行词素分析和语法分析;提取部40,用于从分析文集数据库30中提取与输入语句最相似的分析文集;相似度计算部50,当由分析部20获得多个分析候选项时,计算在每个分析候选项与提取的分析文集之间的相似度;以及输出部60,当由分析部20获得多个分析候选项时,将具有最大相似度的分析候选项作为分析结果来输出,或者当由分析部20仅获得一种分析结果时,输出由分析部20获得的分析结果。
另外,语法分析装置1由程序控制计算机构成,并通过执行计算机上的语法分析程序来实现。该语法分析程序包括与如图1所示的语法分析装置1的各个部对应的多个步骤。即,该程序包括输入步骤,用于输入自然语言的语句;分析步骤,用于对在输入步骤中输入的输入语句执行词素分析和语法分析;提取步骤,用于从分析文集数据库中提取与输入语句最相似的分析文集;相似度计算步骤,当分析步骤中获得多个分析候选项时,计算每个分析候选项与提取的分析文集之间的相似度;以及输出步骤,当分析步骤中获得多个分析候选项时,将具有最大相似度的分析候选项作为分析结果来输出,或者当分析步骤中仅获得一种分析结果时,输出在分析步骤中获得的分析结果。
输入部10为诸如键盘、光学字符读取器、或者文件读取器的输入装置,其中文件读取器从文本文件中读取自然语言的语句作为分析目标。将输入的语句发送至分析部20。通过输入部10输入语句对应于上述输入步骤。
通过执行上述分析步骤来实现分析部20。分析部20包括词素分析部21和语法分析部22。词素分析部21根据现有技术已知的语法规则和统计技术将语句分割为词(词素)。语法分析部22基于所述分析后词素来分析语句结构。词素分析部21具有基于与将采用的自然语言(本实施例中为汉语)相关的知识来推测在输入语句中包含的未登记词的功能。当在诸如汉语的孤立语言中的输入语句包含未知词或不明确的复合名词时,由分析部20可获得多个分析候选项。
分析文集数据库30存储经过词素分析和语法分析来正确分析的大量语句(分析文集)作为记录。分析文集数据库30的每一记录具有三个字段,包括序号字段、文集字段、以及语法结构字段。例如,对如下表1所示的记录进行登记。


分别地,文集的识别码存储在“序号”字段,自然语言中的语句(文本,从句)存储在“文集”字段,文集的正确分析结果存储在“语法结构”字段。在“语法结构”字段中存储的分析结果包括每一划分后词素的格关系和词性(如表1符号所示)。下面将描述在“语法结构”字段中的符号约定。以下说明中,“M”表示词素,“P”表示词性,“C”表示格关系。当语句具有两个词素时,语法结构以“(M/P C,M/P)”的形式所示。当语句具有三个词素时,语法结构以“(M/P,C, (M/P,C,M/C))”的嵌套形式所示。格关系包括主格、宾格、修饰语和同位语等。词性包括名词(符号n)、代词(符号m)、动词(符号v)、形容词(符号a)、副词(符号ad)、介词(符号p)等。
提取部40通过执行上述提取步骤来实现。提取部40搜索分析文集数据库30,并通过如矢量空间法的方法,从许多登记在数据库30中的分析全集中提取与输入语句最相似的分析文集。
相似度计算部50通过执行上述相似度计算步骤来实现。相似度计算部50通过使用由词素分析部21分析的词素内容以及由语法分析部22分析的语法结构,计算在由分析部20所获得的每一分析候选项和分析文集之间的相似度。具体地,相似度计算部50通过下式计算相似度S。
S=(W1/W)·W2此式中,W为分析候选项中词素数量,W1为与提取的分析文集的词素具有相同结构的词素的数量,W2为与提取的分析文集的词素具有相同结构和符号的词素的数量。可判断出,随着相似度S增加,相似度变得更大。
输出部60通过执行上述输出步骤来实现。当由分析部20获得多个分析候选项时,输出部60从多个分析候选项中选择具有最大相似度S的分析候选项,并将该选择的侯选项作为分析结果输出,该相似度S通过相似度计算部50计算得出。另一方面,当由分析部20仅获得一种分析结果时,输出部60输出由分析部20获得的分析结果。分析结果显示在屏幕上,和/或打印在纸上,和/或写入文件。
接下来,将使用具体输入语句来说明本实施例的语法分析装置1的操作。首先描述输入如表2所示的输入语句1的情况。输入语句1含有处理未登记词的问题。在这种情况下,分析部20输出如表2所示的两个分析候选项。在分析文集数据库30中的格关系和词性的描述也适用于表2。但是,分析部20将未登记词视为词性。未登记词由符号“u”指示。


分析候选项1和2的结构分别如图2和3所示。在分析候选项1中,基于输入语句1的第一个字很少独立形成名词的关于汉语的知识,通过假设输入语句1的第一个和第二个字形成未登记词作为主格,分析输入语句1。另一方面在分析候选项2中,通过假设第一个字形成主格名词而第二个字为动词来分析输入语句1。两候选项在第三个及之后的字相同。即,将第三和第四个字分析为动词,将第五到第九个字分析为宾格。将第五和第六个字分析为修饰语,将第七到第九个字分析为被修饰语。
提取部40搜索分析文集数据库30并提取相似于上述输入语句1的文集。此例中,选择表1的序号1的分析文集。序号1的文集的结构如图4所示。
接着,相似度计算部50计算由提取部40提取的序号1的文集与由分析部20分析的各分析候选项1和2之间的相似度。首先,相似度计算部50计算图2所示分析候选项1与图4所示序号1的分析文集之间的相似度。此例中,分析候选项1的词素数量等于4(W=4),与提取的分析文集的词素具有相同结构的词素的数量等于4(W1=4),同时,与提取的分析文集的词素具有相同结构和符号的词素的数量等3(W2=3)。因此,下式为S=(W1/W)·W2=(4/4)·3=3接着,相似度计算部50计算图3所示分析候选项2与图4所示序号1的分析文集之间的相似度。此例中,分析候选项2的词素数量等于5(W=5),与提取的分析文集的词素具有相同结构的词素的数量等于3(W1=3),同时,与提取的分析文集的词素具有相同结构和符号的词素的数量等于3(W2=3)。因此,下式为S=(W1/W)·W2=(3/5)·3=1.8由于分析候选项1的相似度高于分析候选项2的相似度,则输出部60将分析候选项1作为输入语句1的分析结果输出。
接下来,描述输入表3所示的输入语句2的情况。输入语句2含有复合名词的定界问题。在这种情况下,分析部20输出如表3中所示的两个分析候选项。


分析候选项3和4的结构分别如图5和6所示。在两候选项中以相同的方式来分析第一到第五个字。即,第一到第三个字构成主格名词,第四和第五个字构成动词。分析候选项3在第六到第九个字的分析上不同于分析候选项4。即,分析候选项3中,将第六和第七个字分析为修饰语名词,将第八和第九个字分析为被修饰语名词。另外一方面,在分析候选项4中,将第六到第八个字分析为修饰语名词,将第九个字分析为被修饰语名词。
提取部40搜索分析文集数据库30并提取相似于上述输入语句2的文集。此例中,选择表1的序号2的分析文集。序号2的文集的结构如图7所示。
接着,相似度计算部50计算由提取部40提取的序号2的文集与由分析部20分析的各分析候选项3和4之间的相似度。首先,相似度计算部50计算图5所示分析候选项3与图7所示序号2的分析文集之间的相似度。此例中,分析候选项3的词素数量等于4(W=4),与提取的分析文集的词素具有相同结构的词素的数量等于4(W1=4),与提取的分析文集的词素具有相同结构和符号的词素的数量等于3(W2=2)。因此,下式为S=(W1/W)·W2=(4/4)·2=2接着,相似度计算部50计算图6所示分析候选项4与图7所示序号2的分析文集之间的相似度。此例中,分析候选项4的词素数量等于4(W=4),与提取的分析文集的词素具有相同结构的词素的数量等于4(W1=4),与提取的分析文集的词素具有相同结构和符号的词素的数量等于1(W2=1)。因此,下式为S=(W1/W)·W2=(4/4)·l=1由于分析候选项3的相似度高于分析候选项4的相似度,则输出部60将分析候选项3作为输入语句2的分析结果输出。
虽然上述例子中计算部50通过比较词素的结构和内容来计算相似度,但是相似度也可使用辞典计算。以下描述使用辞典计算相似度。
例如,准备如图8所示的辞典。用椭圆围绕的短语为概念,括号中的短语为具体内容。将由分析输入语句获得的词素内容与提取的分析文集的词素内容之间的相似度作为在辞典中的概念之间的相关度来计算。具体地,通过(Wi,Wj)=1/2n(n=0,1,2,……)计算词“Wi和Wj”之间的相关度(Wi,Wj)。
符号“n”是概念之间的差异。
在属于相同概念的词之间的差异为0。在属于不同概念的词之间的差异通过将从一个词到同类概念的距离(step)与从另一词到同类概念的距离相加来计算。
例如,由于在“小说”和“软件”之间的差异为0,则相关度(Wi,Wj)=(小说,软件)=1/20=1。另外,由于在“小说”和“物理学”之间的差异为2,则相关度(Wi,Wj)=(小说,物理学)=1/22=1/4。
分别计算每个词素的相关度,并且将总量∑(Wi,Wj)用作整个语句的相关度。
可判断出,随着相似度增加,相关度变得更大。
下面将描述当输入如表4所示的输入语句3时,使用辞典的相似度计算的示例。输入语句3含有复合名词定界的问题。当将输入语句3输入时,分析部20输出如表4所示的两个分析候选项5和6。


分析候选项5和6在主格分析方面一致。但是,在分析第三到第六个字时分析候选项5和6相互不同。即,在分析候选项5中,将第三和第四个字分析为修饰语名词,将第五和第六个字分析为被修饰语名词。另一方面,在分析候选项6中,将第三到第五个字分析为修饰语名词,将第六个字分析为被修饰语名词。
提取部40搜索分析文集数据库30并提取相似于上述输入语句3的文集。此例中,选择表1的序号3的分析文集。
接着,相似度计算部50计算由提取部40提取的序号3的文集与由分析部20分析的各分析候选项5和6之间的相似度。这里,省略关于相同分析的部分的相关度计算,将描述关于第三个到第六个字的相关度计算。下表5的上部区域所示为在各个词素间的相关度。表5的中部和下部区域所示为各个候选项的相关度。



由于分析候选项5的相似度高于分析候选项6的相似度,所以输出部60将分析候选项5作为输入语句3的分析结果输出。
由于上述实施例的语法分析装置1将输入语句的分析候选项与使用分析文集数据库30提取的文集比较,并输出具有更高相似度的分析候选项,所以即使当输入语句包含未登记词或不确定的复合名词时,仍可执行精确的分析。因此,在翻译之前的步骤使用装置1可减少翻译错误的可能性。
虽然在上述实施例中描述了单独使用词素的结构和内容计算相似度以及单独使用辞典计算词素内容相关度,但是两种方式可同时使用,以用全面的方式来判断相似度。
权利要求
1.一种使用程序控制计算机来分析语法的语法分析方法,所述方法包括输入步骤,用于输入自然语言的语句;分析步骤,用于对在所述输入步骤中输入的输入语句执行词素分析和语法分析;提取步骤,用于从分析文集数据库中提取与输入语句最相似的分析文集;相似度计算步骤,当在所述分析步骤中获得多个分析候选项时,计算在每个分析候选项与提取的分析文集之间的相似度;和输出步骤,当在所述分析步骤中获得多个分析候选项时,将具有最大相似度的分析候选项作为分析结果输出,或者当在所述分析步骤中仅获得一种分析结果时,输出在所述分析步骤中获得的分析结果。
2.如权利要求1所述的语法分析方法,其特征在于,所述分析步骤具有基于与将使用的自然语言相关的知识来推测在输入语句中包含的未登记词的功能。
3.如权利要求1所述的语法分析方法,其特征在于,在所述的相似度计算步骤中,可使用由词素分析而分析后的词素内容和由语法分析而分析后的语法结构来计算在分析候选项和分析文集之间的相似度。
4.如权利要求3所述的语法分析方法,其特征在于,在所述相似度计算步骤中,可通过下式来计算相似度SS=(W1/W)·W2其中,W表示在分析候选项中的词素数量,W1表示与提取的分析文集的词素具有相同结构的词素的数量,W2表示与提取的分析文集的词素具有相同结构和符号的词素的数量。
5.如权利要求1所述的语法分析方法,其特征在于,在所述相似度计算步骤中,将由词素分析而分析后的词素内容和分析文集的词素内容之间的相似度作为辞典中的概念之间的相关度值来计算。
6.一种使用程序控制计算机来分析语法的语法分析装置,所述装置包括输入部,用于输入自然语言的语句;分析部,用于对在所述输入部中输入的输入语句执行词素分析和语法分析;提取部,用于从分析文集数据库中提取与输入语句最相似的分析文集;相似度计算部,当在所述分析部中获得多个分析候选项时,计算在每个分析候选项与提取的分析文集之间的相似度;和输出部,当在所述分析部中获得多个分析候选项时,将具有最大相似度的分析候选项作为分析结果输出,或者当在所述分析部中仅获得一种分析结果时,输出在所述分析部中获得的分析结果。
7.一种存储语法分析程序的产品,使得计算机执行如下步骤,包括输入步骤,用于输入自然语言的语句;分析步骤,用于对在所述输入步骤中输入的输入语句执行词素分析和语法分析;提取步骤,用于从分析文集数据库中提取与输入语句最相似的分析文集;相似度计算步骤,当在所述分析步骤中获得多个分析候选项时,计算在每个分析候选项与提取的分析文集之间的相似度;和输出步骤,当在所述分析步骤中获得多个分析候选项时,将具有最大相似度的分析候选项作为分析结果输出,或者当在所述分析步骤中仅获得一种分析结果时,输出在所述分析步骤中获得的分析结果。
全文摘要
一种语法分析程序、装置及存储语法分析程序的产品,使得计算机执行如下步骤,包括输入步骤,用于输入自然语言的语句;分析步骤,用于对在所述输入步骤中输入的输入语句执行词素分析和语法分析;提取步骤,用于从分析文集数据库中提取与输入语句最相似的分析文集;相似度计算步骤,当在所述分析步骤中获得多个分析候选项时,计算在每个分析候选项与提取的分析文集之间的相似度;和输出步骤,当在所述分析步骤中获得多个分析候选项时,将具有最大相似度的分析候选项作为分析结果输出,或者当在所述分析步骤中仅获得一种分析结果时,输出在所述分析步骤中获得的分析结果。
文档编号G06F17/27GK101034392SQ20061011099
公开日2007年9月12日 申请日期2006年8月11日 优先权日2006年3月9日
发明者徐国伟 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1