发明的背景
字词分割是指识别构成语言表达式如文本的那些个体字词的处理。字词分割对于检查拼写和语法、从文本合成语音,以及执行自然语言的语法分析和理解是有益的,所有的这些都受益于个体字词的识别。
执行英文文本的字词分割是相当简单的,因为在英文文本中空格和标点符号通常分隔单独的单词。设想在下面表1中的英文的句子。
The motion was then tabled-that is,removed
indefinitely from consideration.
表1通过识别作为在前的顺序单词的结尾的空格以及/或者标点符号的每个相邻的序列,在表1中的英文的句子可以被直接地分割如在下面表2中所示。
The
motion
was
then
tabled-
that
is,
removed
indefinitely
from
consideration.
表2PC00161 34条修改在中文文本中,字词分界线是含蓄的而不是清楚的。考虑在下面表3中的句子,“The committee discussed this problem yesterday afternoon inBuenos Aires。”的意思是
昨天下午委员会在布宜诺斯艾利斯讨论了这个问题。
表3
尽管句子中没有标点符号和空格,中文读者将把表3中的句子识别为包括下面的表4中分别下划线的字词。
昨天
下午
委员会
在
布宜诺斯艾利斯
讨论
了
这
个
问题。
表4从上面的例子可以看到,中文字词分割不能按照与英文单词分割相同的方式进行。但是,精确而有效率的自动地进行中文分割的方法将具有重要的实用意义。
用于分割中文文本的已有技术有:在1997年10月28-31日召开的IEEE会议上,由Xiaohong Huang等公布的在文集“只能处理系统”中的第1773-1776页上的“快速中文字词分割方法”,以及Chamg-Kang Fan等的文章“通过松弛技术自动进行中文句中字词识别”,其刊载在1988年11月的“中文和东方语言的计算机处理”上,卷4,第一部分,第33-56页。在Xiaohong Huang等的文章中,通过使用词汇和查询算法提出了一种前向比较技术。该算法使用前端字符和前端字词以处理原文本。在Charng-Kang Fan等的文章中,描述了一个松弛方案,使用了用于从字词使用频率计算出的松弛的指派的初始概率分布。在这些指派之间的兼容性系数是通过分析这些字词之间的相邻关系算出的。在松弛迭代期间,这些指派的概率分布被更新,不可能的指派组合逐步地被滤除,导致正确的识别结果。
发明的详细描述
本发明提供了中文文本中的字词分割方法。在一个首选的实施例中,一种字词分割软件设备(“设备”)提供了用于不分段语言例如中文的字词分割,其通过以下步骤:(1)评估在输入句子中字符的可能的组合并放弃在输入句子中那些不太可能表示字词的字符的组合,(2)在一个词典中查阅字符的剩余组合以确定他们是否可以构成字词,以及(3)向一自然语言剖析器提出确定为将是字词的字符组合作为表现输入句子的选择性的词汇记录。剖析器产生一句法语法分析树表现输入句子的句法的结构,其只包含在输入句子中的被鉴定为将是字词的字符的组合。当向剖析器提出词汇记录时,设备加权词汇记录,以使比较短的字符组合更优先考虑通常更能表现句子的正确分割的比较长的字符组合。
为了促进放弃不太可能表示在输入的句子中的字词的字符组合,该设备向该词典加入用于在该词典中出现的每一字符的如下内容:(1)字词长度和在其中出现字词的字符位置的所有的不同的组合的指示,以及(2)当这个字符开始一种字词时所有的可能跟随这个字符的字符的指示。设备更进一步增加(3)对是否在多字符字词内部的子字词是可行的以及应该被考虑的多字符字词的指示。在处理一种句子中,设备放弃(1)在其中的任意字符是使用在在词典中不存在的字长度/位置组合中的字符组合,以及(2)在其中的第二字符未被列为第一字符的可能的第二字符的那些字符的组合。设备更进一步废弃(3)在对于其子字词将不被考虑的一字词中存在的字符组合。
以这个方式,设备将查阅词典的字符组合的减到最少,并且利用句子的句法的上下文关系把每个均由正确的字词组成的选择性的分割结果区分开。
图1是在其上该设备适宜执行的一般用途的计算机系统的高层方块图。计算机系统100包含一个中央处理器(CPU)110,输入/输出装置120,以及计算机存储器(存储器)130。
在输入输出装置之中是一个存储装置121,例如硬盘驱动器;计算机可读的媒体驱动器122,其能够用于被提供在计算机可读媒体上的安装软件产品,其中包括本设备,该计算机可读媒体例如CDROM;以及一个网络连接123,经过它计算机系统100可以与其它连接的计算机系统(未显示)通信。存储器130最好包括一个用于识别在中文文本中出现的各个字词的字词分割设备131;一个语法剖析器,用于产生表示来自词汇记录的自然语言文本的句子的语法分析树,该词汇记录代表在自然语言文本中出现的字词;以及一个词汇知识库132,用于由剖析器在为语法分析树构成词汇记录时所使用,并且用于由该设备所使用来识别在自然语言文本中出现的字词。尽管本设备最好在如上所述配置的计算机系统上运行,但是对于那些熟练于该技术的人来说将承认它也可以在有不同的结构的计算机系统上使用。
图2是显示设备较好运转的两个阶段的概述流程图。在步骤201中,作为初始化阶段部分,该设备增大词汇知识库以包括该设备用于执行字词分割的信息。在下面结合图3详细地讨论步骤201。简要地说,在步骤201中,该设备向词汇知识库为在词汇知识库中的任何字词中出现的字符添加条目。为每个字符添加的条目包括一字符位置属性,其指出在字词中字符出现的不同的位置。为每个字符提供的条目更进一步包含一个下一字符(NextChars)属性,其指出出现在始于当前字符的字词的第二位置的字符的设置。最后,本设备还要向在词汇知识库中出现的每一字词添加一忽略部分属性,指出包括该字词的字符顺序是否应该被考虑将包括共同构成当前字词的较小字词。
在步骤201之后,本设备在步骤202中继续,终止初始化阶段并且开始字词分割阶段。在字词分割阶段,本设备使用加到词汇知识库的信息以中文文本句子的字词分割。在步骤202中,本设备接收用于字词分割的中文文本句子。在步骤203中,本设备将收到的句子分割成为它的构成字词。在下面结合图5详细地讨论步骤203。简要地说,该设备在词汇知识库中查看在该句子中所有的字符的可能的相邻组合的小的片断然后该设备向句法剖析器提交由词汇知识库指出将是字词的查出的字符组合。在确定句子的句法的结构中,剖析器识别由作者有意构成在句子中的字词的字符组合。在步骤203之后,该设备在步骤202继续接收用于字词分割的下一个句子。
图3是一流程图,其显示该设备适宜执行的步骤,以便在初始化阶段增大词汇的知识库将包括用于执行字词分割的信息。这些步骤(a)向词汇知识库增加用于在词汇知识库中的字词中出现的字符的条目;(b)向在词汇知识库中的字符条目添加字符位置和下一字符属性;(c)向用于词汇知识库中字词的条目添加忽略部分属性。
在步骤301-312,该设备循环穿越在词汇知识库中的每一字词条目。在步骤302,该设备循环穿越字词中的每一字符位置。即,对于包含三个字符的一字词,该设备循环通过该字词的第一、第二以及第三字符。在步骤303,如果在当前字符位置中的字符在词汇知识库中具有一条目,那么设备在步骤305中继续,否则设备在步骤304中继续。在步骤304中,设备向词汇知识库为当前字符添加一条目。在步骤304之后,该设备接续步骤305。在步骤305中,该设备向在词汇知识库中的字符的条目中储存的字符位置属性添加一有序对偶,以指出在当前字词中该字符可能出现的位置。添加的有序对偶具有形式(位置,长度),在此位置是在字词中字符占用的位置,长度是在该字词中字符的数目。例如,对于在字词“委员会”中的字符“委”,该设备将向对于字符“委”的词汇知识库条目中的字符位置属性中储存的有序对偶列表添加有序对偶(1,3)。如果有序对偶已经包含在当前字词的字符位置属性中,该设备较好是不要如在步骤305中描述的那样添加有序对偶。在步骤306中,如果另外的字符保留在将被处理的当前字词中,那么在步骤302中该设备继续以处理下一个字符,否则设备接续步骤307。
在步骤307中,如果该字词是单个字符字词,那么设备接续步骤309,否则设备接续在步骤308。在步骤308,该设备将在当前字词的第二位置中的一个字符添加到对于当前字词的第一位置中的字符的词汇知识库记录中的下一字符属性中的字符列表中。例如,对于字词“委员会”,该设备添加字符“员”到用于字符“委”的下一字符属性储存的字符列表中。在步骤308之后,该设备接续在步骤309中。
在步骤309中,如果当前字词可能包含其他、较小字词,那么设备接续步骤311,否则设备接续在步骤310。在下面结合图4详细地讨论步骤309。简要地说,该设备使用许多的试探以确定出现的构成当前字词的字符序列是否可能在一些上下文中构成两个或更多更小的字词。
在步骤310中,本设备在该字词的词汇知识库条目中设置该字词的忽略部分属性。设置忽略部分属性指出,当该设备遇见在输入文本的句子中的这个字词时,它不应该执行更进一步的步骤以确定这字词是否包含更小字词。在步骤310之后,设备在步骤312继续。在步骤311,因为当前字词可能包含其他字词,该设备清除该字词的忽略部分属性,所以当它遇见在输入文本的句子中的字词时,该设备进行是否该字词包含更小字词的调查。在步骤311之后,设备在步骤312继续。在步骤312,如果另外的字词保留在将被处理的词汇知识库中,那么设备在步骤301中继续以处理下一个字词,否则这些步骤结束。
当该设备执行图3所示步骤通过对每一字符分配字符位置和下一字符属性以增大词汇知识库时,它向出现在表3所示例句中的字符分配这些属性,如在下面的表5所示。
字符 |
字符位置 |
下一字符 |
昨 |
(1,2)(1,3)(3,4) |
儿天晚 |
天 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4)(3,4)(4,4) |
安崩兵... |
下 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4)(3,4)(4,4) |
巴百班...午... |
午 |
(1,2)(2,2)(2,3)(2,4) |
餐饭后... |
委 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(3,4)(4,4)(3,5) |
靡派屈...员... |
员 | (1,2)(2,2)(2,3)(3,3)(2,4)(3,4)(4,4) | 额工司外 |
会 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4)(3,4)(4,4)(4,5) |
标餐操... |
在 |
(1,2)(2,2)(1,3)(2,3)(1,4)(2,4)(3,4)(4,4) |
案场朝... |
布 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4)(3,4)(4,4)(1,5)(2,5)(3,5)(4,5)(1,6)(2,6)(1,7) |
达店丁...宜... |
宜 |
(1,2)(2,2)(1,3)(2,3)(3,3)(2,4)(3,4)(4,4)(3,6)(2,7) |
宾昌城... |
诺 |
(1,2)(2,2)(1,3)(2,3)(3,3)(2,4)(3,4)(4,4)(3,7) |
贝丁曼萨言 |
斯 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4)(3,4)(4,4)(1,5)(2,5)(3,5) |
文德拉... |
|
(4,5)(5,5)(1,6)(3,6)(4,6)(5,6)(6,6)(4,7)(5,7)(6,7)(7,7) | |
艾 |
(1,2)(2,2)(1,3)(3,4)(4,4)(1,5)(5,7) |
比丁黎... |
利 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4)(3,4)(4,4)(2,5)(3,5)(4,5)(5,6)(6,7) |
薄比弊... |
斯 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4)(3,4)(4,4)(1,5)(2,5)(3,5)(4,5)(5,5)(1,6)(3,6)(4,6)(5,6)(6,6)(4,7)(5,7)(6,7)(7,7) |
文德拉... |
讨 |
(1,2)(2,2)(1,3)(2,3)(1,4)(2,4) |
伐饭好价叫论人厌 |
论 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4)(3,4)(4,4) |
处点调... |
了 |
(1,2)(2,2)(1,3)(3,3)(1,4)(2,4)(3,4)(4,4) |
不结解... |
这 |
(1,2)(1,3)(1,4) |
边儿个... |
个 |
(1,2)(2,2)(1,3)(2,3)(3,3)(1,4)(2,4) |
别儿旧... |
问 |
(1,2)(2,2)(1,3)(2,3)(1,4)(3,4)(4,4) |
长答道...题... |
题 |
(1,2)(2,2)(2,3)(3,3)(2,4)(4,4) |
跋材词... |
表5:字符词汇知识库条目
从表5可以看到,例如,根据字符“昨”的字符位置属性,这个字符可以作为一些字词的第一字符出现,这些字词是2个、3个或4个字符长。
从字符“昨”的下一字符属性可看出,在用这个字符开始的字词中,第二字符可以是“儿”,“天”或者“晚”。
图4是一个流程图,其显示为了确定一个特别的字词是否可以包含其他更小字词最好被执行的步骤。作为对于英文的类推,如果空格和标点符号字符从英文句子中除去,字符“beat”序列可以被解释作为单词“beat”或者作为两个单词“be”和“at”。在步骤401中,如果字词包含四个或更多字符,那么设备在步骤402中继续以返回该字词无法包含其它字词的结果,否则设备在步骤403中继续。在步骤403,如果在该字词中的所有的字符可以构成单一字符字词,那么设备在步骤405中继续,否则设备在步骤404中继续以返回单词不能包含其他单词的结果。在步骤405中,如果字词包含一个时常使用作为得出的词缀的字词,即前缀或后缀,然后设备在步骤406中继续以返回该字词无法包含其他字词的结果,否则设备在步骤407中继续。在步骤407中,如果在字词中相邻的一对字符当他们相邻的出现在该语言的文本中时经常被分开,那么设备在步骤409中继续以返回该字词可以包含其他字词的结果,否则该设备在步骤408中继续以返回该字词不能包含其他字词的结果。
确定特别的字词是否可以包含其他、较小字词的结果被显示在下面的表6中。
字词 |
忽略部分 |
昨天 |
设置(set) |
天下 |
清除(clear) |
下午 |
设置 |
委员会 |
清除 |
委员 |
设置 |
布宜诺斯艾利斯 |
设置 |
讨论 |
设置 |
这个 |
清除 |
问题 |
设置 |
表6:字符词汇知识库条目例如,从表6可看出,该设备已经确定字词“昨天”不能包含其它字词,而字词“天下”可以包含其它字词。
图5是最好由该设备完成的步骤的流程图,以便将一个句子分割成为它的构成的字词。这些步骤产生识别出现在这句子中的文字的不同的字词的一个单词表,然后将该单词表提交到一个剖析器,以识别在单词表中的由句子的作者有意构成该句子的字词的子集。
在步骤501中,该设备将在该句子中出现的多字符字词加到单词表中。在下面结合图6详细地讨论步骤501。在步骤502中,该设备将在该句子中出现的单字符字词加到单词表中。在下面结合图9详细地讨论步骤502。在步骤503中,该设备为在步骤501和502中已经被加到单词表中的字词产生由词汇剖析器使用的词汇记录。在步骤504,该设备向词汇记录分配概率。词汇记录的概率反映了词汇记录将是该句子的正确语法分析树的部分的可能性,并且被剖析器使用以在语法分析处理中规范词汇记录的申请。在语法分析处理的时候,剖析器按照词汇记录的概率的降序应用词汇记录。在下面结合图10详细地讨论步骤504。在步骤505中,该设备利用句法的剖析器以分析词汇记录以便产生反映该句子的句法结构的一个语法分析树。这个语法分析树具有在步骤503产生的词汇记录子集作为它的叶节点。在步骤506中,该设备作为该句子的单词的由词汇记录也就是语法分析树的叶节点表示的字词。在步骤506之后,这些步骤结束。
图6是显示最好由该设备执行的步骤的一个流程图,以便向单词表添加多字符字词。这些步骤使用在分析句子中利用在句子内部的当前位置以识别多字符字词。这些步骤更进一步利用了由该设备加到词汇知识库的字符位置、下一字符和忽略部分属性,如图4所示。根据第一优选的实施例,在执行图所示步骤的时候,设备根据需要的主要成分从词汇知识库中检索这些属性。在第二优选的实施例中,在句子中字符的下一字符属性以及/或者字符位置属性的值全部是在执行图6所示步骤之前预先载入的。结合第二优选的实施例,最好是在包含在句子中出现的每个字符的字符位置(CharPos)属性值的存储器中储存一个3维数组。对于在句子中的一个给定位置的一个字符,这个数组指示该字符是否可以在一个给定长度的字词中的给定位置。当执行图6所示步骤时,缓存这些属性的值允许他们将被正式地存取。
在步骤601中,该设备设置在句子的第一字符的这个位置。在步骤602-614,设备继续重复步骤603-613直到位置已经进到句子的末尾为止。
在步骤603-609,该设备循环通过在当前位置开始的每个候选字词。在每个反复中,该设备最好是从起始于当前位置并且是七个字符长的候选字词开始,从该候选字词的结尾删除一个字符直到这个候选字词是两个字符长为止。如果在开始于当前位置的句子中剩下的字符少于七个字符,那么该设备最好是省略对于在这个句子中字符不足的候选字词的反复。在步骤604,设备测试当前候选字词状态,关于构成这个候选字词的字符的下一字符和字符位置属性。在下面结合图7详细地讨论步骤604。如果对于这个候选字词的下一字符和字符位置状态是满足的,那么设备在步骤605继续,否则设备在步骤609继续。在步骤605,设备在词汇知识库中查找该候选字词,以确定这个候选字词是否是一个字词。在步骤606,如果这个候选字词是一个字词,那么设备在步骤607继续,否则设备在步骤609继续。在步骤607,设备向在这个句子存在的字词的列表中添加这个候选字词。在步骤608,如果这个候选人字词可能包含其它字词,那就是说,如果这个字词忽略部分属性是清除,那么设备在步骤609继续,否则设备在步骤611继续。在步骤609,如果另外的候选字词保持处理,那么设备在步骤603继续以处理下一候选字词,否则设备在步骤610继续。在步骤610,设备将当前位置向句子的结尾前进一个字符。在步骤610之后,设备在步骤614继续。
在步骤611,如果这个候选字词的最后一个字符与也可能是一个字词的另外一个候选字词重叠,那么设备在步骤613继续,否则设备在步骤612继续。在下面结合图8详细地讨论步骤611。在步骤612,设备将位置前进到在这个句子中候选字词的最后一个字符之后的字符。在步骤612之后,设备在步骤614继续。在步骤613,设备将位置前进到当前候选字词的最后字符。在步骤613之后,设备在步骤614继续。在步骤614,如果这个位置不在这个句子的最后,那么设备在步骤602继续,将考虑一个新建候选字词组,否则这些步骤结束。
图7是显示适宜由该设备执行的步骤的流程图,为了对于一个候选字词试验下一字符以及字符位置条件。在步骤701,如果这个候选字词的第二字符是在这个候选字词的第一字符的下一字符列表中,那么设备在步骤703继续,否则设备在步骤702继续,以返回这个结果,即双方满足条件。在步骤703-706,设备循环经过在这个候选字词中的每个字符位置。在步骤704,如果当前位置和候选字词长度组成的有序对偶是在对于当前字符位置中的字符的字符位置列表中的有序对偶之中,那么设备在步骤706继续,否则设备在步骤705继续以返回这个结果,即双方不满足条件。在步骤706,如果在将被处理的候选字词中保留另外的字符位置,那么设备在步骤703继续,以处理在这个候选字词中的下一字符位置,否则设备在步骤707继续,以返回这个结果,即候选字词满足两个条件。
图8是适宜该设备执行的步骤的一个流程图,以便确定当前候选字词的最后一个字符是否与可能是一个字词的另一候选字词重复。在步骤801,如果在候选字词之后的字符是在对于这个候选字词的最后一个字符的下一字符属性中的字符列表中,那么设备在步骤803继续,否则设备在步骤802继续,以返回这个结果,即那里没有重叠。在步骤803,设备在词汇知识库中查找没有最后一个字符的该候选字词,以确定没有最后一个字符的这个候选字词是否是一个字词。在步骤804,如果没有最后一个字符的候选字词是一个字词,那么设备在步骤806继续以返回那里被重叠的这个结果,否则设备在步骤805继续以返回那里没有重叠的这个结果。
图6中所示的与例子有关的执行步骤如表7所示。
编号 |
组合 |
字符位置 |
下一字符 |
查找? |
是一个字词? |
1 |
昨天下午委员会 |
“昨”失败 |
通过 |
否 |
否 |
2 |
昨天下午委员 |
“昨”失败 |
通过 |
否 |
否 |
3 |
昨天下午委 |
“昨”失败 |
通过 |
否 |
否 |
4 |
昨天下午 |
“昨”失败 |
通过 |
否 |
否 |
5 |
昨天下 |
通过 |
通过 |
是 |
否 |
6 |
昨天 |
通过 |
通过 |
是 |
是 |
7 |
天下午委员会在 |
“天”失败 |
通过 |
否 |
否 |
8 |
天下午委员会 |
“天”失败 |
通过 |
否 |
否 |
9 |
天下午委员 |
“天”失败 |
通过 |
否 |
否 |
10 |
天下午委 |
“午”失败 |
通过 |
否 |
否 |
11 |
天下午 |
“午”失败 |
通过 |
否 |
否 |
12 |
天下 |
通过 |
通过 |
是 |
是 |
13 |
下午委员会在布 |
“下”失败 |
通过 |
否 |
否 |
14 |
下午委员会在 |
“下”失败 |
通过 |
否 |
否 |
15 |
下午委员会 |
“下”失败 |
通过 |
否 |
否 |
16 |
下午委员 |
通过 |
通过 |
是 |
否 |
17 |
下午委 |
通过 |
通过 |
是 |
否 |
18 |
下午 |
通过 |
通过 |
是 |
是 |
19 |
委员会在布宜诺 |
“委”失败 |
通过 |
否 |
否 |
20 |
委员会在布宜 |
“委”失败 |
通过 |
否 |
否 |
21 |
委员会在布 |
“委”失败 |
通过 |
否 |
否 |
22 |
委员会讨 |
“讨”失败 |
通过 |
否 |
否 |
23 |
委员会 |
通过 |
通过 |
是 |
是 |
24 |
委员 |
通过 |
通过 |
是 |
是 |
25 |
会在布宜诺斯艾 |
“会”失败 |
失败 |
否 |
否 |
26 |
会在布宜诺斯 |
“会”失败 |
失败 |
否 |
否 |
27 |
会在布宜诺 |
“会”失败 |
失败 |
否 |
否 |
28 |
会在布宜 |
通过 |
失败 |
否 |
否 |
29 |
会在布 |
通过 |
失败 |
否 |
否 |
30 |
会在 |
通过 |
失败 |
否 |
否 |
31 |
在布宜诺斯艾利 |
“在”失败 |
失败 |
否 |
否 |
32 |
在布宜诺斯艾 |
“在”失败 |
失败 |
否 |
否 |
33 |
在布宜诺斯 |
“在”失败 |
失败 |
否 |
否 |
34 |
在布宜诺 |
通过 |
失败 |
否 |
否 |
35 |
在布宜 |
通过 |
失败 |
否 |
否 |
36 |
在布 |
通过 |
失败 |
否 |
否 |
37 |
布宜诺斯艾利斯 |
通过 |
通过 |
是 |
是 |
38 |
讨论了这个问题 |
“讨”失败 |
通过 |
否 |
否 |
39 |
讨论了这个问 |
“讨”失败 |
通过 |
否 |
否 |
40 |
讨论了这个 |
“讨”失败 |
通过 |
否 |
否 |
41 |
讨论了这 |
“这”失败 |
通过 |
否 |
否 |
42 |
讨论了 |
通过 |
通过 |
是 |
否 |
43 |
讨论 |
通过 |
通过 |
是 |
是 |
44 |
了这个问题 |
“了”失败 |
失败 |
否 |
否 |
45 |
了这个问 |
“这”失败 |
失败 |
否 |
否 |
46 |
了这个 |
“这”失败 |
失败 |
否 |
否 |
47 |
了这 |
“这”失败 |
失败 |
否 |
否 |
48 |
这个问题 |
通过 |
通过 |
是 |
否 |
49 |
这个问 |
“问”失败 |
通过 |
否 |
否 |
50 |
这个 |
通过 |
通过 |
是 |
是 |
51 |
个问题 |
通过 |
失败 |
否 |
否 |
52 |
个问 |
通过 |
失败 |
否 |
否 |
53 |
问题 |
通过 |
通过 |
是 |
是 |
表7:考虑的字符组合
表7显示由设备考虑的来自例句的字符的53个组合中的每一个的:字符位置测试的结果,下一字符测试的结果,是否设备在词汇知识库中查找字词,以及是否词汇知识库指示这个字符的组合是一个字词。
可以看出组合1-4字符位置测试失败,因为字符“昨”的字符位置属性不包含有序对偶(1,7),(1,6),(1,5)或(1,4)。另一方面,对于组合5和6,两者字符位置和下一字符测试被通过。因此设备在词汇知识库中查找组合5和6,以确定组合5不是一个字词,但是组合6是一个字词。在处理组合6并且确定将当前位置前进多么远之后,设备决定忽略部分属性被设置,但是字词“昨天”与始于字符“天”的候选字词重叠。因此设备根据步骤613前进到组合6末尾的字符“天”。在组合7-12中,只有组合12通过字符位置和下一字符测试。因此查找组合12并且被确定将是一个字词。在处理组合12以及确定当前位置前进多么远之后,设备确定由组合12构成的字词的忽略部分属性是清除,因此将当前位置前进一个字符到字符“下”而不是组合12之后的字符。
此外可以看出组合18、24、37以及43字词,它们具有他们的忽略部分属性设置而且它们的最后的字符不与可能是字词的任何候选字词重叠。因此,在处理每一个之后,设备按照步骤612将当前位置前进到紧跟在该字符组合之后的一字符,从而对于这四个组合中的每一个省略不必要的41个另外组合的处理。
此外可以看出由组合23和50构成的字词的忽略部分属性是清除。由于这个原因,在处理这些组合之后,设备按照步骤610将当前位置只是前进一个字符。
此外可以看出两个字符组合30、36、47和52没有被设备确定构成字词。因此,在按照步骤610处理这些组合之后,设备将当前位置只是前进一个字符。设备总共只是查阅在例句中112个可能的组合中的14个。由设备查阅的14个组合中的九个是事实上的真正的字词。
如下面的表8所示,在结合表7描述的处理之后,单词表包含由组合6、12、18、23、24、37、43、50和53构成的字词。
编号 |
字词 |
语言部分 |
6 |
昨天 |
名词 |
12 |
天下 |
名词 |
18 |
下午 |
名词 |
24 |
委员 |
名词 |
23 |
委员会 |
名词 |
37 |
布宜诺斯艾利斯 |
名词 |
43 |
讨论 |
动词 |
50 |
这个 |
代词 |
53 |
问题 |
名词 |
表8:具有多字符的字词的单词表
图9是显示适宜由该设备执行的步骤的一个流程图,以便向单词表添加单一字符字词。在步骤901-906,设备循环经过在句子中的每个字符,从第一个字符到最后一个字符。在步骤902,设备基于在词汇知识库中的它的条目,确定字符是否包括单个字符字词,否则设备在步骤906继续而不必向单词表添加一个字符。如果这个字符包括单个字符字词,那么设备在步骤903继续,否则设备在步骤906继续而不必向单词表增加字符。在步骤903,如果该字符包含在可能不包含其它字词的一字词中,那就是说,已经在单词表上的一个字词具有它的忽略部分属性设置,那么设备在步骤904继续,否则设备在步骤905继续以向单词表添加该字符。在步骤904,如果该字符被包含在单词表上的与该单词表上另外一个字词重叠的一字词中,那么设备在步骤906继续而不必向单词表增加字符,否则设备在步骤905继续。在步骤905,设备向单词表添加包括当前字符的单字符字词。在步骤906,如果在将被处理的句子中留有另外的字符,那么设备在步骤901继续以在该句子位于下一个字符,否则这些步骤结束。
在下面的表9说明执行在图9中所示的步骤,设备向单词表添加单字符字词54-61。
编号 |
字词 |
语言部分 |
6 |
昨天 |
名词 |
54 |
昨 |
词素 |
55 |
天 |
名词 |
12 |
天下 |
名词 |
56 |
下 |
名词(定位符) |
18 |
下午 |
名词 |
24 |
委员 |
名词 |
23 |
委员会 |
名词 |
57 |
会 |
名词 |
57 |
会 |
动词 |
58 |
在 |
动词 |
58 |
在 |
介词 |
58 |
在 |
副词 |
37 |
布宜诺斯艾利斯 |
名词 |
43 |
讨论 |
动词 |
59 |
了 |
功能字 |
50 |
这个 |
代词 |
60 |
这 |
代词 |
61 |
个 |
名词(分类符) |
53 |
问题 |
名词 |
表9:具有单字符和多字符字词的单词表
在向单词表增加多字符和单字符字词并且对于那些字词生成词汇记录之后,设备对由剖析器使用的词汇记录分配概率,以在语法分析处理中定序词汇记录的应用。在下面讨论的图10和11显示由设备使用的两个可选择的方法,以便向词汇记录分配概率。
图10是显示适宜该设备执行的步骤的一个流程图,以便根据第一接近向由单词表中的字词产生的词汇记录分配概率。设备较好是最后将对于每个词汇记录的概率设置为,即可以是将引起剖析器在语法分析处理时早的考虑词汇记录的一个高概率值,也可以是将使剖析器在语法分析处理中稍后考虑词汇记录的一个低的概率值。在步骤1001-1005,设备循环经过在单词表中的每个字词。在步骤1002,如果当前字词被包含在单词表中的一个大的字词中,然后设备在步骤1004继续,否则设备在步骤1003继续。在步骤1003,设备将对于表示该字词的词汇记录的概率设置为高概率值。在步骤1003之后,设备在步骤1005继续。在步骤1004,设备将对于表示该字词的词汇记录的概率设置为低概率值。在步骤1004之后,设备在步骤1005继续。在步骤1005,如果另外的字词保留在将被处理的词汇单词表中,那么设备在步骤1001中继续以处理单词表中的下一个字词,否则这些步骤结束。
在下面的表10显示了根据图10所示步骤对于在单词表中的每个字词分配的概率值。通过审阅这些概率可以看出,设备对包含每个字符的至少一个字词分配高概率值,以使包含每个字符的至少一个词汇记录在语法分析处理中较早被考虑。
编号 |
字词 |
语言部分 |
概率值 |
6 |
昨天 |
名词 |
高 |
54 |
昨 |
形态素 |
低 |
55 |
天 |
名词 |
低 |
12 |
天下 |
名词 |
低 |
56 |
下 |
名词(定位符) |
低 |
18 |
下午 |
名词 |
高 |
24 |
委员 |
名词 |
低 |
23 |
委员会 |
名词 |
高 |
57 |
会 |
名词 |
低 |
57 |
会 |
动词 |
低 |
58 |
在 |
动词 |
高 |
58 |
在 |
前置词 |
高 |
58 |
在 |
副词 |
高 |
37 |
布宜诺斯艾利斯 |
名词 |
高 |
43 |
讨论 |
动词 |
高 |
59 |
了 |
功能词 |
高 |
50 |
这个 |
代词 |
高 |
60 |
这 |
代词 |
低 |
61 |
个 |
名词(分类符) |
低 |
53 |
问题 |
名词 |
高 |
表10:单词表与概率
图11是显示适宜该设备执行的步骤的一个流程图,以便根据第二接近向由单词表中的字词产生的词汇记录分配概率。在步骤1101,设备使用该单词表以识别完全由单词表中的字词组成的句子的所有可能的分割。在步骤1102,设备选择在步骤1101识别的包含很少的字词的一个或多个可能的分割。如果一个以上可能的分割具有最小的数目的字词,那么设备选择每一个这样的可能的分割。
在下面表11显示了从表9所示的单词表中产生的具有很少的字词(9)的这个可能的分割。
昨天
下午
委员会
在
布宜诺斯艾利斯
讨论
了
这个
问题。
表11
在步骤1103,设备将对于该选择分割的词汇记录的概率设置为高概率值。在步骤1104,设备将对于该选择分割的词汇记录的概率设置为最低概率值。在步骤1104之后,这些步骤结束。
在下面的表12显示了根据图11所示步骤对于在单词表中的每个字词分配的概率值。通过审阅这些概率可以看出,设备对包含每个字符的至少一个字词分配高概率值,以使包含每个字符的至少一个词汇记录在语法分析处理中较早被考虑。
编号 |
字词 |
语言部分 |
概率值 |
6 |
昨天 |
名词 |
高 |
54 |
昨 |
形态素 |
低 |
55 |
天 |
名词 |
低 |
12 |
天下 |
名词 |
高 |
56 |
下 |
名词(定位符) |
低 |
18 |
下午 |
名词 |
高 |
24 |
委员 |
名词 |
低 |
23 |
委员会 |
名词 |
高 |
57 |
会 |
名词 |
低 |
57 |
会 |
动词 |
低 |
58 |
在 |
动词 |
高 |
58 |
在 |
前置词 |
高 |
58 |
在 |
副词 |
高 |
37 |
布宜诺斯艾利斯 |
名词 |
高 |
43 |
讨论 |
动词 |
高 |
59 |
了 |
功能词 |
高 |
50 |
这个 |
代词 |
高 |
60 |
这 |
代词 |
低 |
61 |
个 |
名词(分类符) |
低 |
53 |
问题 |
名词 |
高 |
表12:单词表与概率
图12是一个语法分析树图,其显示表示例句的句法结构的由剖析器产生的语法分析树。可以看出语法分析树是层次型结构,其具有单个句子记录1231作为它的顶部,并且具有许多的词汇记录1201-1211作为它的叶节点。该语法分析树还有中间级句法的记录1221-1227,它们将每一个代表一个字词的那些词汇记录合并成为一个表示一个或多个字词的较大的句法的结构。例如,前置词片语记录1223合并表示前置词的一个词汇记录1204和代表名词的词汇记录1206。根据图5的步骤506,设备识别由语法分析树中的词汇记录1201-1211表示的字词,这些字词作为例句应该分割成的字词。这个语法分析树同时可以由设备保持以便对该句子执行另外的自然语言处理。
尽管已经参照优选实施例特定地描述本发明,应认识到对于本领域的熟练者来说是能够做出形式上和细节上的各种改变的,但这些都没有脱离本发明的实质和权利要求限定的范围。例如,设备的特性可以应用于执行中文之外的其它语言中的字词分割。此外,在此处描述的技术的子集或父集可能应用于执行字词分割。