首页> 中国专利> 含有汉语的字符串的分词方法及在字符串中检索词的方法

含有汉语的字符串的分词方法及在字符串中检索词的方法

摘要

本发明提供了一种含有汉语字符串的分词方法,包括:接收包含有汉语字符的字符串;对于每个字符,确定所述字符串中该字符的语义作用范围;对于每个字符,在其语义作用范围内,确定与该字符可匹配成词的其他字符并构成词。经过对每个字符的语义作用范围的界定,体现汉语作为非线性语言和其它线性语言之间区别。从而切分出的结果词汇可以更准确反应汉语字符中的语义划分关系。本发明还提供了一种在字符串中检索词的方法,包括:确定该字符串中包含待检索词的字符;确定该字符的语义作用范围内所记录的构成的词;确定与该待检词匹配的所记录的词。

著录项

  • 公开/公告号CN101464855A

    专利类型发明专利

  • 公开/公告日2009-06-24

    原文格式PDF

  • 申请/专利权人 吴长林;

    申请/专利号CN200910000440.6

  • 发明设计人 吴长林;陈飔;

    申请日2009-01-13

  • 分类号G06F17/27(20060101);G06F17/30(20060101);

  • 代理机构北京华夏正合知识产权代理事务所;

  • 代理人韩登营;张焕亮

  • 地址 511495 广东省广州市番禺区祈福新邨湖景居8街33号3楼

  • 入库时间 2023-12-17 22:14:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-16

    未缴年费专利权终止 IPC(主分类):G06F17/27 授权公告日:20100825 终止日期:20150113 申请日:20090113

    专利权的终止

  • 2010-08-25

    授权

    授权

  • 2009-08-19

    实质审查的生效

    实质审查的生效

  • 2009-06-24

    公开

    公开

说明书

技术领域

本发明涉及一种自然语言数据处理的技术领域,特别是指包含有汉语字符串的分词方法及在字符串中检索词的方法。

背景技术

汉语没有单词的概念,而是按照字来直接构成语句。在英语中,词和词之间是以空格为自然分隔符的。但在汉语中,词和词之间没有明显的分隔,所以在作汉语的信息处理的时候,就需要对汉语句子进行分词,即将汉字字符串中的各个汉字转化成为汉语词。目前对汉语句子的分词方法,都照搬了英文或者其他印欧语言的特点,力图把汉语句子切分为一个连续的、无交叠的词汇的序列。

这种分词方法是建立在中文字符的语义作用范围是紧邻左右这一狭窄范围的基础上的,因此切分出来的词汇在原句子中是连续的中文字符构成。而这并不完全符合汉语构成句子时的构词习惯,因为汉语在构成句子时,并不确保每个词汇中的每个字在句子中都是连续出现的。从而影响了后续的应用,例如对检索、搜索、翻译、摘要等应用。为了用符合汉语构成句子时的构词习惯对含有汉语的字符串进行分词。就需要更准确的翻译汉语字符中的语义划分关系。

发明内容

有鉴于此,本发明的主要目的在于提供一种含有汉语的字符串的分词方法及在字符串中检索词的方法,用于限定语义作用范围以更准确反应汉语字符中的语义划分关系。

本发明提供了一种含有汉语字符串的分词方法,包括:

A、接收包含有汉语字符的字符串;

B、对于每个字符,确定所述字符串中该字符的语义作用范围;

C、对于每个字符,在其语义作用范围内,确定与该字符可匹配成词的其他字符并构成词。

由上可以看出,经过步骤B完成了对每个字符的语义作用范围的界定,由此体现出了汉语作为非线性语言和其它线性语言之间区别。如此就可以在步骤C中完成语义作用范围内的构词匹配。从而实现了所切分出的结果词汇可以更准确反应汉语字符中的语义划分关系。

优选的是,所述步骤B包括:B11、对于每个字符,设置所述字符串中可距离该字符的最远距离为最大跳跃长度;B21、确定所述字符的最大跳跃长度范围内最近的界限分隔符标点;B31、确定所述最近的界限分隔符标点到所述字符的距离值和最大跳跃长度值中的最小值,所述字符到该最小值距离所形成的距离区间作为所述字符的语义作用范围。

由上可以看出,因为一个字符的语义作用范围是不可能越过界限分隔符标点的,所以通过步骤B11、步骤B21和步骤B31就将每个字符的语义作用范围界定在既不超过最大跳跃长度范围又不越过界限分隔符标点的范围内。

优选的是,所述步骤B包括:B12、对于每个字符,设置所述字符串中距离该字符最远距离为最大跳跃长度;B22、计算所述字符串的每个字符到所述字符串一个端点的距离作为真实偏移量;B32,计算每个字符的虚拟偏移量,虚拟偏移量=真实偏移量+所述端点与该字符之间的界限分隔符标点的数量×不小于最大跳跃长度的数值;B42,对于每个字符,与该字符虚拟偏移量值之差小于最大跳跃长度值的其他字符组成该字符的语义作用范围。

由上可以看出,虚拟偏移量体系是在真实偏移量即机械字符的基础上,考虑了界限分隔符标点的划界作用而产生的对字符的语义位置进行描述的体系。在步骤B32中将界限分隔符标点的权重设为不小于最大跳跃长度的数值。这样就保证了在进行语义作用范围界定的时候绝对不会越过界限分隔符标点。并且因为有了定量的位置体系,所以在虚拟偏移量的基础上可以非常方便的进行进一步的处理。

优选的是,步骤C中构成词为采用非线性切分法构成词,包括:在该字符的语义作用范围内,依次判断与该字符非连续的匹配的跳词构成词。

由上可以看出,经过本步骤可以在有效的界定了字符的语义作用范围之后,在所述语义作用范围之内进行有效的非线性词汇的切分。

优选的是,所述界限分隔符标点包括句号、逗号、分号、问号和感叹号以及所包含字符的长度之和超过最大跳跃长度的引号或括号。

由上可以看出,标点符号被分为了界限分隔符标点和非界限分隔符标点。界限分隔符标点是刻画了语义作用范围的标点,通常可以理解为被用来断句的标点。例如句号、逗号、分号、问号和感叹号等。对于所包含字符的长度之和超过最大跳跃长度的引号或括号也被视为界限分隔符。其他的对语义作用范围没有影响的标点则被视为非界限分隔符标点。例如所包含字符的长度之和没有超过最大跳跃长度的引号。非界限分隔符标点被视为普通的字符。

优选的是,步骤C中构成词的步骤还包括:采用线性切分法构成词。

由上可以看出,经过本步骤还可以在所述语义作用范围之内进行有效的线性词汇的切分。

优选的是,所述线性切分法包括至少以下之一:正向最大匹配法、逆向最大匹配法、双向最大匹配法、逐词遍历匹配法、最大似然概率法、或切割标志法。

优选的是,所述步骤C后还包括,D、记录所构成的词以及各个词之间的语义关系。

由上可以看出,经过本步骤可以在切分出结果词汇不仅记录词汇还记录各个词汇之间的语义关系。

优选的是,步骤D所述记录各个词之间的语义关系包括:D1,将所有构成的词按照在字符串中的位置进行排序,包括:根据各个词的第一个字符在字符串中的先后位置对各个词进行先后排序;且,当不同词的第一个字符在字符串中的位置相同时,根据词的最后一个字符在字符串中的先后位置对不同词进行先后排序;且,当不同词的第一个字符和最后一个字符在字符串中的位置一样时,根据词所包含字符数量值对不同词进行先后排序;D2,为每个字符记录其所属词的词汇序列号。

由上可以看出,所述词汇序列号包含了词汇之间的语义关系。记录记录各个词的词汇序列号就记录了各个词之间的语义关系。

本发明还提供了一种在字符串中检索词的方法,其特征在于,包括:

M、确定该字符串中包含待检索词的字符;

N、确定该字符的语义作用范围内所记录的构成的词;

O、确定与该待检词匹配的所记录的词。

附图说明

图1为对字符串进行分词的预处理流程图;

图2为一个实施例中一个示例字符串及其对应的真实偏移量记录结果示意图;

图3为计算字符的虚拟偏移量的流程图;

图4为一个实施例中一个示例字符串及其对应的虚拟偏移量记录结果示意图;

图5为同时记录了虚拟偏移量和真实偏移量的记录结果示意图;

图6为一个同时记录了虚拟偏移量和真实偏移量的句子的记录结果示意图;

图7为一个示例语句的字符串的示意图;

图8为采用了正向最大匹配法以及逆向最大匹配法的分词方案对图7中的示例字符串切分得到的结果示意图;

图9为非线性切分的流程图;

图10为含有跳词情况的示例语句的字符串的示意图;

图11为本实施例中将切分出来的分词结果进行立体关联得到立体分词结果的流程图;

图12为记录的具有歧义的示例语句的第一种切分结果的示意图;

图13为记录的具有歧义的示例语句的第二种切分结果的示意图;

图14为记录了具有歧义的示例所有可能的切分结果的示意图;

图15为错误跳词的示例语句字符串的示意图;

图16为带真实偏移量的字符串的示意图;

图17为带了虚拟偏移量的字符串的示意图;

图18为切分出的结果示意图;

图19为带真实偏移量的切分结果示意图;

图20为带虚拟偏移量的切分结果示意图;

图21为使用真实偏移量而产生跳词错误的切分结果的示意图;

图22为使用虚拟偏移量而避免了跳词错误的切分结果的示意图;

图23为使用真实偏移量而记录了错误跳词的记录结果的示意图;

图24为使用虚拟偏移量而避免了跳词错误的记录结果的示意图;

图25为带虚拟偏移量的多种跳词示例语句字符串的示意图;

图26为多种跳词示例语句字符串的切分结果示意图;

图27为多种跳词示例语句字符串的使用虚拟偏移量的记录结果示意图;

图28为图10中例句的传统的线性分词的结果的示意图;

图29为赋予词汇序号后的结果词汇示意图;

图30为图10中例句的切分结果进行立体关联得到的立体分词结果的示意图;

图31为从图30的立体分词结果得到两条不同主路径的结果示意图。

具体实施方式

由于本发明涉及对汉语句子分词的方法,因此在介绍本发明之前,首先对目前常用的汉语句子分词方法进行介绍:

目前常用的汉语句子分词方法包括:正向最大匹配法、逆向最大匹配法、双向最大匹配法、逐词遍历匹配法、最大似然概率法、以及切割标志法等。这些分词方法均为线性切分,即切分出的词在原句子字符串中均为连续字符构成。其中,正向最大匹配法是从字符串的字首开始匹配,每次切分出可匹配的最长词,再对剩余字符串重复这一步骤,直至全部字符串都经过切分止。逆向最大匹配法是从字符串字尾开始匹配,每次切分出可匹配的最长词,再对剩余字符串重复这一步骤,直至全部字符串都经过切分止.双向最大匹配法为正向最大匹配法和逆向最大匹配法的综合运用,分别执行正向最大匹配法和逆向最大匹配法,若二者所切分的结果不同,则需采用别的方法处理。最大似然概率法在出现歧义切分的时候,根据不同切分方案的出现概率大小进行判断,最后选取出现概率最大的方案。而逐词遍历匹配法是对整个字符串搜寻出最长词,切分出可匹配的最长词后,再对剩余字符串重复这一步骤,直至全部字符串都经过切分止。切割标志法则先分析字符串中仅能作为词首或词尾的字符,将其作为分词标志,据此将字符串分割成较短的字符串,然后配合其他方法进行切分。

但是如前所述,用这些方法切分出来的词汇在原句子中是连续的中文字符构成。而这并不完全符合汉语构成句子时的构词习惯。

下面结合附图,对本发明提供的汉语字符分词方法的实施方式进行详细说明。在本实施方式中,非汉语字符算为1个单位长度,例如英文字母、数字或空格。汉语字符算为2个单位长度。当然,汉语字符和非汉语字符所占的单位长度也可以采用其它的规定。

本实施方式中,首先对汉语字符串进行分词的预处理以划分语义作用范围。如图1所示为对包含有汉语字符的字符串进行分词的预处理流程图,包括以下步骤:

步骤102,接收包含有汉语字符的字符串。本实施例中,所接收的字符串可以是包含有若干个汉语句子或者分句的字符串。

步骤104,确定所采用的最大跳跃长度。对于每个字符来说,最大跳跃长度指考虑字符的语义范围时可以距离该字符最远的距离,最大跳跃长度用来划分字符的语义作用范围,即该字符到最大跳跃长度值的区间为该字符的语义作用范围。本例中被定义为10个单位长度。通常,切分时的运算量和最大跳跃长度呈线性相关,可以根据硬件配置、精确度要求和使用环境等因素确定所采用的最大跳跃长度。对于每个字符,仅考虑其和在最大跳跃长度范围内的其他字符之间的语义相关性。最大跳跃长度不能定义过短,否则导致很多有效的跳词(跳词指非连续汉字所形成的词)不能被有效发现;同时,最大跳跃长度不能过长,否则会导致很多无效的跳词出现,并且在人工判读或者在谈话交流的使用环境下,会给理解者带来困难,尤其是在应用于谈话交流中时。最大跳跃长度可以定义为10到14个单位长度。

步骤106,确定所定义的界限分隔符。界限分隔符是对语义作用范围有划界作用的标点符号。标点符号被分为了界限分隔符标点和非界限分隔符标点。界限分隔符标点是刻画了语义作用范围的标点,通常可以理解为被用来断句的标点。例如句号、逗号、分号、问号和感叹号等。对于所包含字符的长度之和超过最大跳跃长度的引号或括号也被视为界限分隔符。其他的对语义作用范围没有影响的标点则被视为非界限分隔符标点。例如所包含字符的长度之和没有超过最大跳跃长度的引号。非界限分隔符标点被视为普通的字符,占一个或两个单位长度。

可见,通过步骤104和106,便可以对每个字符的语义作用范围进行初步划界,通过这两个步骤,该字符的语义作用范围为:最近的界限分隔符标点到所述字符的距离值和最大跳跃长度值中的最小值。

步骤108,计算并记录字符串所有字符的真实偏移量。真实偏移量是指字符距离字符串一个端点的偏移量。在本实施例中,采用的是到最左端起点的偏移量。当然,真实偏移量的起点可以是字符串的任意一个端点。如图2所示,为本实施例中一个示例字符串及其对应的真实偏移量的记录结果示意图。其中标点符号被按照汉语字符算为2个单位长度。当然也可以采用其他记录方式,只要能够有效记录下字符和它的真实偏移量即可。

步骤110,计算并记录字符串所有字符的虚拟偏移量。虚拟偏移量是相对于真实偏移量,针对界限分隔符做出一定调整得到的字符偏移量。因为在真实偏移量体系中,对语义作用范围有划界作用的界限分隔符,例如标点符号,被视为普通的字符,并不能体现出其在语句中对语义的影响。所以为了更准确反应汉语字符中的语义划分关系而引入了虚拟偏移量。

在本实施例中,字符的虚拟偏移量为该字符左侧所有字符长度之和加上该字符左侧所有界限分隔符的数量与一不小于最大跳跃长度的数之积相加所得到的和。以最大跳跃长度为10个单元长度,所述不小于最大跳跃长度的数为12个单元长度为例。如图3所示为,计算字符的虚拟偏移量的流程图,包括:

步骤302,计算每个字符的真实偏移量。在本实施例中为每个字符距离字符串最左边端点的距离。

步骤304,计算每个字符左边的界限分隔符的数量。

步骤306,计算每个字符的虚拟偏移量。虚拟偏移量=真实偏移量+界限分隔符的数量×(最长跳跃长度+2)。

由上得到虚拟偏移量的值。当然,计算虚拟偏移量的方法可以有很多种,例如,得到真实偏移量后,从左向右每遇到一个界限分隔符,则把所述界限分隔符右边的所有字符的虚拟偏移量都加上一个不小于最长跳跃长度的值(例如最长跳跃长度+2),这样到字符串最后得到的虚拟偏移量即为所求的虚拟偏移量。

如图4所示为一个示例字符串及其对应的虚拟偏移量的记录结果示意图。当然也可以采用其他记录方式,只要能够有效记录下字符和它的虚拟偏移量即可。如图5所示,为另一个实施方式中同时记录了虚拟偏移量和真实偏移量的记录结果示意图。

由上可以看出,因为引入了界限分隔符而使得在虚拟偏移量的体系中,每个字符的语义作用范围都有了明确的界限划分,对于每个字符来说,与该字符虚拟偏移量值之差小于最大跳跃长度值的其他字符组成该字符的语义作用范围。更准确反应汉语字符中的语义划分关系。为后续的进一步处理提供了良好的基础。

虚拟偏移量体系还为相似度比较提供了一个更准确的字符坐标体系。如图6所示为,一个同时记录了虚拟偏移量和真实偏移量的句子的记录结果示意图。下面结合图5和图6详细说明虚拟偏移量体系对提高检索匹配度的作用。

以检索查询的关键字为:中华+电话,检索的目标字符串分别是图5和图6的句子为例。所选择的匹配方法公式为了说明方便,现简单的设定为:

绝对匹配度=sigema(每个词汇在目标字符串中的匹配度);

如果直接匹配上,则每个词汇在目标字符串中的匹配度为1.0;如果没有直接匹配上而是在目标串出现了词汇中的单字,则按照单字之间的真实偏移量距离计算所述匹配度,匹配度=1.0/(0.5*每个单字之间字符间隔距离总和+2),如果每个单字之间单个汉字计算的距离总和大于等于10,则认为所述匹配度为0。

按照真实偏移量,计算出来的匹配度是:

图5中的句子匹配两个词汇:“电话”完全匹配,加1.0;而“中华”匹配的是“中,华”,匹配度是:1.0/(0.5*2.0+2.0)=0.333;总匹配度是1.333。

图6中的句子匹配两个词汇:“电话”完全匹配,加1.0;而“中华”匹配的是“中加华”,匹配度是:1.0/(0.5*2.0+2.0)=0.333;总匹配度是1.333。

这样一个匹配度结果,可见与自然人对于上述两句话的理解是矛盾的,图6中的句子的匹配度显然应该高于图5中的句子。

如果按照虚拟偏移量,计算出来的匹配度是:

图5中的句子匹配两个词汇:“电话”完全匹配,加1.0;而“中华”匹配的是“中,华”,但由于“华”与“中”之间间隔的距离是14,大于10,匹配度是:0.0;总匹配度是1.0。

图6中的句子匹配两个词汇:“电话”完全匹配,加1.0;而“中华”匹配的是“中加华”,匹配度是:1.0/(0.5*2.0+2.0)=0.333;总匹配度是1.333、

这样一个匹配度结果,可见更接近于自然人对于上述两句话的理解。图6中的句子的匹配度确实已经高于图5中的句子。

由上可以看出,即使不改进原有的任何匹配公式,只是用虚拟偏移量去替换真实偏移量,就能显著改善匹配度的质量,这是因为通过虚拟偏移量划分了语义作用范围。虚拟偏移量体系的运用能显著提高检索匹配的匹配准确性。这对于检索、搜索等应用来讲,是有真正帮助的。

在经过预处理之后,需要对字符串进行切分。首先进行线性切分。在本实施例中,采用正向最大匹配法、逆向最大匹配法或者是最大似然概率法同时进行分词。当然,也可以采用任何线性切分方法进行切分。而且采用越多的线性切分的方法得到的切分结果就越多,最终的准确性也将越高。如图7所示为一个示例语句的字符串的示意图。如图8所示为采用了正向最大匹配法以及逆向最大匹配法的分词方案对图7中的示例字符串切分得到的结果示意图。

在本实施例中,经过预处理之后,还对字符串进行非线性切分。汉语和印欧语言的一个很大的不同是,汉语存在非线性的情况,例如上面所提到的跳词,即非连续汉字所形成的词。例如在句子“他在湖上划一只小船。”句子中“划船”就是跳词。“划船”由两个在句子中并不连续的部分构成,如图10示出了该例子的示意图。按照常用的线性切分方法进行切分时,是不可能得到“划船”这样的结果。因为汉语的字符可以和句子中并不直接连接的其他部分构成词语,所以为了提高切分的准确性,需要考虑汉语的非线性情况。但是由于在汉语中的每个字符都是有其语义作用范围,故不需要每个字符和所有的其他字符都进行匹配。通过虚拟偏移量体系,就可以有效的确定出每个字符的语义作用范围。其中的最长跳跃长度和界限分隔符有效地限定了字符的语义作用范围。如图9示出了非线性切分的流程图,包括:

步骤902,读入第一个字符。

步骤904,判断是否为汉语字符,‘是’则进入步骤906,‘否’则进入步骤910。

步骤906,判断在语义作用范围内是否有匹配的汉字,‘有’则进入步骤908,‘否’则进入步骤910。对于判断是否匹配,可以采用现有的技术实现,例如根据已有的词语库或即时更新的词语库进行判断。

步骤908,切分并记录所有和该汉语字符匹配的跳词。

步骤910,判断是否是最后一个字符,‘是’则结束,‘否’则进入步骤912。

步骤912,读入下一个字符后进入步骤904。

由上可以看出,和线性切分不同的是,在进行非线性切分的时候需要考虑字符的语义作用范围。而语义作用范围在传统的处理过程中很难进行有效划界。而随着虚拟偏移量体系的引入,每个字符的语义作用范围可以很快得到划界。不难理解,当在线性切分考虑字符的语义作用范围时,可以将线性切分视为非线性切分的一个特例。

在字符串经过切分之后,需要将切分结果进行有效的记录。在本实施例中,将切分出来的结果词汇进行立体关联得到立体分词结果。如图11所示,为本实施例中将切分出来的分词结果进行立体关联得到立体分词结果的流程图,该流程包括:

步骤1102,将所有切分出的结果词汇,即所构成的词,按照在字符串中的位置进行排序,并赋予词汇序号。所述按照在字符串中的位置进行排序包括,结果词汇的第一个字符在字符串中的位置靠前的在先;且,结果词汇的第一个字符在字符串中的位置相同的,结果词汇的最后一个字符在字符串中的位置靠前的在先;且,结果词汇的第一个字符和最后一个字符在字符串中的位置一样的,包含字符少的在前。

步骤1104,记录每个字符所属所有的结果词汇的词汇序列号。

以图10的句子为例,图29为赋予词汇序号后的结果词汇示意图。最终得到如图30所示的立体关联得到的立体分词结果。

当然,还可以采用其他记录方法。例如同时记录切分出的结果词汇的属性,即,属于线性切分结果还是非线性切分结果,以及是否属于歧义切分结果等。只要能够有效记录下切分的结果并足够表达出各切分结果之间的语义关系即可。

在本实施例中,如图30所示的立体分词结果可以得到如图31所示的,分别由词汇序号依次为1、2、3、5、6、7主路径和词汇序号依次为1、2、3、4、6、7主路径串联起来的句子。句子的语义路径是按照词汇序号链接的。其中在拥有词汇序号为4和5的两个结果词汇的字符“划”处出现了分支而形成了两条主路径。当然,只要有效记录了带有足够语义关系的切分结果,就可以达到更好应用效果。如下文中对于图30所示的切分结果在自动翻译中的应用。在另一个实施例中,把凡是前后相接的词汇进行线性串联,同时根据界限分隔符标点把文字段分成句子或者分句。凡是一个字(要求不是跳词的组成部分)被前后分词到两个词汇中的情况,在这个地方纪录一个特殊节点标记,仍然顺序连接分好的词汇。对于跳词、包含词,按照非线性、非连续、立体网络状关联原则,进行关联标记(跳词采用跳跃关联标记、类似“中国人民”这种情况,采用并行分词关联标志)。则立体联系过程结束。

下面结合附图对歧义情况进行详细说明。

如图12所示,为记录的具有歧义的示例语句的第一种切分结果的示意图。图中上排为字符串,下排为切分出的词语的对应的虚拟偏移量。如图13所示,为记录的具有歧义的示例语句的第二种切分结果的示意图。如图14所示,为记录了具有歧义的示例所有可能的切分结果的示意图。图中上排开头的Z表示为字符串,中排开头的J1表示为第一种切分结果。下排开头的J2表示为第二种切分结果。

下面结合附图对跳词情况进行详细说明。

以图15的示例语句为例子,下面结合附图详细说明分别在真实偏移量体系中和在虚拟偏移量体系中进行非线性切分的情况。

如图16所示,为带真实偏移量的字符串的示意图。

如图17所示,为带了虚拟偏移量的字符串的示意图。

如图18所示,为切分出的结果示意图。

如图19所示,为带真实偏移量的切分结果示意图。

如图20所示,为带虚拟偏移量的切分结果示意图。

如图21所示,为使用真实偏移量而产生跳词错误的切分结果的示意图。

如图22所示,为使用虚拟偏移量而避免了跳词错误的切分结果的示意图。

如图23所示,为使用真实偏移量而记录了错误跳词的记录结果的示意图。图中下排开头的T表示的是一组跳词。跳词是由至少2个不相连的部分组成。图中下排第一个真实偏移量是跳词第一部分的开始的真实偏移量,第二个真实偏移量是跳词第一部分的结尾的真实偏移量,第三个真实偏移量是跳词第二部分的开始的真实偏移量,第四个真实偏移量是跳词第二部分的结尾的真实偏移量。

如图24所示,为使用虚拟偏移量而避免了跳词错误的记录结果的示意图。

在汉语中还存在多种跳词的情况,下面结合附图进行详细说明。

如图25所示,为带虚拟偏移量的多种跳词示例语句字符串的示意图。

如图26所示,为多种跳词示例语句字符串的切分结果示意图。

如图27所示,为多种跳词示例语句字符串的使用虚拟偏移量的记录结果示意图。其中第一个虚拟偏移量是跳词第一部分的开始的虚拟偏移量,第二个虚拟偏移量是跳词第一部分的结尾的虚拟偏移量,第三个虚拟偏移量是跳词第二部分的开始的虚拟偏移量,第四个虚拟偏移量是跳词第二部分的结尾的虚拟偏移量。中排开头的T1表示为第一个跳词。下排开头的T2表示为第二个跳词。在本实施例中,为了简化起见,跳词的原则是跳近不跳远,如果近处的跳词已经成立,则放弃一个与远端完全一样的跳词(不一样的还是可以跳)。所以放弃了有虚拟偏移量为6的“开”和虚拟偏移量为12的“心”组成的跳词。

与此类似的还有包含词情况。即一个词汇中包含了另一个词汇。如“南征北战”中就包含了“征战”。这种情况的处理可以参见对跳词的处理。在此就不予以赘述。

由上可以看出,虚拟偏移量有效避免了跳词错误的出现。而且可以根据需要通过调整最长跳跃距离来调整虚拟偏移量,进而可以有效控制运行速度和结果准确性。而将切分出来的分词结果进行立体关联得到的立体分词结果为字符串再进一步的处理提供了良好的基础。面向不同的应用目的,可以使用立体分词结果中的部分或全部内容。

下面以应用于检索和自动翻译为例进行说明。

对于检索来说,可以运用本专利请求中的虚拟偏移量和跳词结果,来显著提升搜索结果。例如参见上文中图5和图6中两个句子的匹配度的比较。

再以图10的句子为例。如果使用者使用“他在湖上划船”作为检索语句,在包含“他在湖上划一条小船”这个句子的一长串字符串中作检索。采用传统的分词结果,是无法找到与“他在湖上划船”这个检索语句完全一模一样的结果来的,只有近似匹配结果,而没有完全匹配结果。而实际上从自然人的语义理解来看,应该是完全匹配的结果。而根据立体分词结果,在分词立体网络结果中,存在一条主路径组成了“他在湖上划船”。进行检索匹配时,这是一个完全匹配而不是一个近似匹配。这样的结果更符合人们对于汉语的语义理解的要求。

对于汉英自动翻译来说,还是以图10的句子为例。传统的线性分词的结果如图28所示。其翻译结果应该是:“He is driving a littleboat on lake”。

而根据如图30所示立体分词结果。“划船”这个词汇会被直接找到,如图31的所示,按照词汇序号依次为1、2、3、5、6、7的用实线箭头连接的主路径,其翻译结果应该是:“He is rowing a littleboat on lake”。

很显然根据立体分词结果得到的翻译结果更准确,因为立体分词找到了准确的词汇来传达语义,而传统线性分词方法则丢失了原有句子中重要的语义信息。

以上仅为本发明的较佳实施方式,并不以限制本发明,凡在本发明的精神和原则之内,所作的任何修改等,例如采用指针的方式替代上述序列号的方式记载语义关系,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号