文本语句比较装置的制作方法

文档序号:6380711阅读:149来源:国知局
专利名称:文本语句比较装置的制作方法
技术领域
本发明涉及例如使用计算机对文本语句间的语义内容的差别进行比较的装置及方法,特别涉及到高精度而且可进行实时比较的文本语句比较装置及方法。
背景技术
由于IT技术,特别是高速因特网、移动通信技术的飞速发展,任何人随时随地都可以利用大量信息,但与此相反,却产生所谓信息泛滥的现象,用户要获取真正需要的信息已变得日益困难,为了实现用户无论在何种状况下都总能得到合适的信息,就必须从大量的信息中提取并重新构成对用户具有真正价值的信息。
因此,基于语义内容的文档内容比较技术、基于语义内容的分类技术、以及用户信息检索意图理解等技术就显得特别重要。此外,为了实现基于语义内容的文档内容比较,基于语义内容的文本分类,以及用户信息检索意图理解,基于自然语言处理技术的文本间类似性判定技术是不可或缺的。
在本领域中,虽然测定文本间类似性的技术已有多个提案,但是主流仍是利用语句的局部信息,例如,利用语句中出现的单词信息、或者是利用单词及单词间的修饰限制关系信息,所以很难将其作为基于语义内容的文本间类似性的评价尺度来使用,无法真正实现对文档的语义内容进行比较、以及对用户的信息检索意图进行理解的目标。
最近,提出了基于文本语义分析及子图同构判定来实现文本间类似度比较的方法、以及基于经验的文本同类似度比较方法。可是在所提出的类似度中,有的没有考虑结构的变化,有的类似度的定义与文本的语义内容的差别之间的关系不明确。
作为与本发明相关的现有技术的例子,可例举如下。
非专利文献1原田、水野,论文“EDRを用ぃた日本語意味解析システムSAGE(基于EDR的日语语义分析系统SAGE)”,《人工知能学会論文誌》,2001年、16(1)、p.85-93非专利文献2相泽彰子,论文“語と文書の共起に基づく特徴量の定義と適用(基于单词和文本共起关系的特征量的定义和应用)”,《自然言語処理》,2000年3月,136-4非专利文献3马青,论文“日本語名詞の意味マップの自己組織化(日语名词的语义映射的自组织化)”,《情報処理学会論文誌》,2001年,第42卷,第10号发明内容如前所述,迄今为止,基于语义内容的文本间类似度的比较技术还不充分,存在以前提出的类似度很难说明文本语句间语义内容的差别的问题。
本发明是鉴于如上所述的现有情况提出的,目的是提供一种高精度地对文本语句间的语义内容的差别进行实时比较的装置和方法。具体来说,例如,为实现对文本的语义内容进行比较、或基于语义内容对文本进行分类、或对用户的信息检索意图进行理解,本发明从数学上定义了可测量文本语句间的语义内容的差别的距离尺度,可以实时地求出该距离值。
为达到上述目的,本发明的文本语句比较装置如下进行文本语句之间的比较。
即,树表示部用图论中的有根树来表示作为比较对象的文本语句。信息赋予部将单词信息赋予由树表示部所表示的树的各节点,同时,还将作为单词间的修饰限制关系信息的格信息赋予树的各边。树间距离定义部定义基于节点间对应关系和边之间的对应关系的树间的距离。树间距离取得部求出由树间距离定义部所定义的树间距离。树间距离应用部将树间距离应用于表示文本语句间差别(或类似)。文本语句间距离取得部根据树间距离应用部的结果,求出作为比较对象的文本语句间的距离。
因此,对作为比较对象的两个文本语句,将文本语句的整体结构和语义用图论中的有根树来表示并且根据树间的距离来测量文本的类似度。因为根据应用两个树间的距离所求出的这两个文本语句间的距离,可以分析这两个文本语句间的语义上的差别,因此可以高精度地进行文本语句间类似度的实时比较。
在此,本发明将图论中的树间距离应用于文本语句的比较,不仅考虑文本语句中包含的单词信息、格信息,而且还考虑文本语句的句法结构。此外,本发明将单词信息赋予树节点,同时还将格信息赋予树的边。
此外,根据是利用有根有序树还是有根无序树,可以将文本语句间的距离划分为两类,在应用时,可根据计算速度和比较精度任意进行选择。
再者,在本说明书中,将图论中的有根有序树称为RO树(Rooted andOrdered tree),将图论中的有根无序树称为R树(Rooted and Unorderedtree)。
此外,RO树间的距离比R树间的距离计算简单,但一般来讲,R树间的距离比RO树间的距离计算精度高。
此外,作为单词信息,可以利用各种各样的信息,例如,可以利用单词的属性信息。作为单词的属性信息,例如,可以利用由词素分析(中文的分词标注系统)所得到的词类信息等,此外,在动词的情况下,可以利用动词变形的信息等。
此外,单词间的修饰限制关系的种类相当于格。
此外,单词信息和格信息,例如,可以通过对文本语句进行语义分析来求出。或者,通过对文本语句进行句法分析和修饰限制分析,可以求出单词的信息和格的信息(在本情况下为修饰限制信息)。
此外,作为R树间的映射条件,例如,对于节点间的映射和边间的映射,可以利用“是一对一映射、保存父子关系(上下关系)、保存结构、节点间的映射和边间的映射不交叉”等条件。
此外,作为RO树间的映射条件,例如,对于节点间的映射和边间的映射,可以利用“一对一映射、保存父子关系(上下关系)、保存兄弟间的左右关系、保存结构、节点间的映射和边间的映射不交叉”等条件。
此外,在从树A到树B进行映射时,例如,树A的节点映射到树B的节点时,相当于节点的置换,树A的不能映射的节点相当于节点的脱落,树B的不能映射的节点相当于节点的插入。此外,树A的边映射到树B的边时,相当于边的置换,树A的不能映射的边相当于边的脱落,树B的不能映射的边相当于边的插入。
此外,作为树与树之间的距离,例如,可以利用按一定的转换(映射)规则把一个树转换到另一个树时的权重(映射权重)的最小值来定义树之间的距离。此外,这样的树与树之间的距离的定义,隐含着森林和森林之间的距离。
此外,作为对RO树或R树的各节点和各边赋予编号的方法,例如,可采用深度优先搜索法,按递增顺序对各节点和各边赋予编号,采用从编号较大的节点为根的子树开始,顺序进行计算的方法。具体来说,使用动态规划法,按照从最下侧的子树开始到上侧子树的顺序逐个进行计算。
此外,各节点和各边的标记用于存储单词信息和格信息。
下面,进一步对本发明的结构例进行说明。
(1)在求取测量文本语句间语义内容的距离的文本语句间语义内容比较装置中,具有用图论的RO树或R树来表示文本语句的整体结构和语义的树表示部;分别将单词信息和相关单词间的修饰限制关系(格)信息赋予RO树或R树的各节点和各边的节点信息赋予部;定义基于节点间和边之间的对应关系的RO树间或R树间距离的树间距离定义部;求取定义的RO树间或R树间距离的树间距离取得部;将RO树间或R树间距离应用于比较文本语句间的语义差别的距离的树间距离应用部;求取文本语句间的距离的文本语句间距离取得部。
(2)定义基于节点间和边之间的对应关系的RO树间或R树间的距离的部,具有分别对RO树或R树的各节点和各边赋予标记的标记赋予部;分别对RO树或R树的各节点和各边赋予编号的编号赋予部;基于节点间和边之间对应关系的RO树间的映射条件;基于节点间和边之间对应关系的R树间的映射条件;基于节点间和边之间对应关系的RO树间的映射部;基于节点间和边之间对应关系的R树间的映射部;进行基于节点间和边之间对应关系的有序森林间的映射的映射部;进行基于节点间和边之间对应关系的无序森林间的映射的映射部;定义由这些映射装置所决定的映射权重的映射权重设定部;定义基于有序森林间映射部和映射权重设定部的有序森林间距离的有序森林间距离定义部;定义基于无序森林间映射部和映射权重设定部的无序森林间距离的无序森林间距离定义部;定义基于RO树间映射部和映射权重设定部的RO树间距离的RO树间距离定义部;定义基于R树间映射部和映射权重设定部的R树间距离的R树间距离定义部。
(3)将RO树间或R树间的距离应用于测量文本语句间的语义差别的距离的部,具有使单词间的映射与RO树或R树的节点间的映射相对应的部;使格间的映射与RO树或R树的边之间的映射相对应的部;使单词间的映射权重与RO树或R树的节点间的映射权重相对应的部;使格之间的映射权重与RO树或R树的边之间的映射权重相对应的部;设定单词的映射权重的部;设定格的映射权重的部。
(4)求取文本语句间距离的装置把求取RO树间或R树间距离的装置所求得的距离值,作为文本语句间的距离尺度。
(5)求取文本语句间距离的装置把求取RO树间或R树间距离的装置所求得的距离值除以两个RO树或R树的节点数的和所得的结果,作为文本语句间的距离尺度。
(6)设定单词间映射权重的部具有在RO树间或R树间的映射中两个节点相映射时,设定存储在各节点上的单词间置换权重的部;在节点不能映射而脱落时,设定存储在节点上的单词脱落权重的部;在节点不能映射而插入时,设定存储在节点上的单词插入权重的部;设定单词置换权重、单词脱落权重和单词插入权重之间的关系的部。
(7)设定格映射权重的部具有在RO树间或R树间的映射中两条边相映射时,设定存储在各边上的格间的格置换权重的部;在边不能映射而脱落时,设定存储在边上的格脱落权重的部;在边不能映射而插入时,设定存储在边上的格插入权重的部;设定格间置换权重、格脱落权重、格插入权重之间的关系的部。
(8)设定单词置换权重的部具有当两个单词是同一单词时,将单词置换权重设定为0的部;当两个单词不同时,将单词置换权重设定为正常数的部;(9)设定单词置换权重的部将单词置换权重设定为单词间距离。
(10)设定单词脱落权重的部将单词脱落权重设定为常数。
(11)设定单词脱落权重的部根据单词的词类,求出单词脱落权重。
(12)设定单词插入权重的部将单词插入权重设定为常数。
(13)设定单词插入权重的部根据单词的词类,求出单词插入权重。
(14)设定单词的映射权重、脱落权重、插入权重之间的关系的部设定满足“单词脱落权重+单词插入权重>单词置换权重”的关系。
(15)设定格置换权重的部具有当两个格是同一格时,将格置换权重设定为0的部;当两个格不同时,将格置换权重设定为正常数的部;(16)设定格置换权重的部具有将所有的格分类为多个N个类的部;设定格分类间的置换权重的部;将格间置换权重设定为两个格所属格分类间的置换权重的部。
(17)设定格脱落权重的部将格脱落权重设定为常数。
(18)设定格脱落权重的部根据格的种类,求出格脱落权重。
(19)设定格插入权重的部将格插入权重设定为常数。
(20)设定格插入权重的部根据格的种类,求出格插入权重。
(21)设定格的映射权重、脱落权重、插入权重的部设定满足“格脱落权重+格插入权重>格置换权重”的关系。
(22)在求取测量文本语句间的语义内容的距离的文本语句间的语义内容比较方法中,用图论的RO树或R树来表示文本语句的整体结构和语义,分别在RO树或R树的各节点和各边上,存储单词信息和单词间的修饰限制关系(格)信息,根据定义基于节点间和边之间对应关系的RO树间或R树间的距离的内容,求出定义的RO树间或R树间的距离,将RO树间或R树间的距离应用于比较文本语句间的语义差别的距离,求出文本语句间的距离。


图1是本发明的一个实施例的文本语句间语义内容的比较装置的结构示例图。
图2是本发明的、把文本语句间的语义内容的比较装置和比较方法应用于信息终端设备时的结构示例图。
图3是词素分析部(分词标注部)的分析结果的示例图,图3(a)是日语的分析结果图,图3(b)是汉语的分析结果图。
图4是树结构表示的示例图,图4(a)是日语的树结构表示图,图4(b)是汉语的树结构表示图。
图5是格分类间的距离表(列表)的数据结构的一个示例图。
图6是RO树或R树构成的两个子树的一个示例图。
图7是RO树或R树构成的两个森林的一个示例图。
图8是二分图的一个示例图。
图9是语句A和语句B的树结构示意图,其中,图9(a)、9(b)表示日语的树结构图,图9(c)、9(d)是汉语的树结构图。
图10是对语句A和语句B给定RO树间距离的映射的示例图,图10(a)是日语的映射图,图10(b)是汉语的映射图。
图11是表示两个树间的各种映射的图。
图12是计算RO树间距离的过程的流程图。
图13是计算R树间距离的过程的流程图。
具体实施例方式
参照附图,对本发明的一个实施例进行说明。
图1表示本发明的一个实施例的文本语句间语义内容的比较装置(文本语句比较装置)的一个实施方式,该装置实施本发明的一个实施例的文本语句的语义内容的比较方法。
在该图所示的文本语句比较装置中,其具有外部存储装置1;词素分析(分词标注)部2,其用于提取文本语句的词素(分词和词性标注);语义分析部3,其用于分析文本语句的语义;树结构转换部4,其将由语义分析部3所分析的结果转换为图论中的RO树或R树;单词映射权重计算部5,其求出置换两个单词时的单词置换权重、脱落单词时的单词脱落权重、以及插入单词时的单词插入权重;格映射权重计算部6,其求出置换两个格时的格置换权重、脱落格时的格脱落权重、以及插入格时的格插入权重;距离计算部7,其用于计算RO树间或R树间的距离;语句内容比较部8,其用于求出文本语句间语义内容的差别;存储部9,其例如由存储器构成;多个存储器10~18。
再者,在外部存储装置1中,存储有文本语句的数据。
此外,存储器10和11分别存储从外部存储装置1读出的两个文本语句的数据。存储器12和13分别存储由词素分析部2对两个文本语句进行分析的结果。存储器14和存储器15分别存储由语义分析部3对两个文本语句进行语义分析的结果。存储器16和存储器17分别存储由树结构转换部4对两个文本语句进行转换的结果。存储器18存储由距离计算部8所求得的RO树间或R树间的距离。
并且,也可以采用把这些存储器10~18集中为1个存储器的结构,或者采用不设置存储器11~19的结构。
词素分析部2提取出存储在存储器10和存储器11中的两个文本语句的词素和属性,并将各文本语句的分析结果分别存储在存储器12、存储器13中。
语义分析部3输入存储在存储器12和存储器13中的词素分析结果,进行文本语句的语义分析,并将各文本语句的分析结果分别存储到存储器14、存储器15中。
树结构转换部4把存储在存储器14和存储器15中的语义分析结果转换为RO树或R树,在把出现在文本语句中的单词(包含单词的属性)信息,存储到转换后的RO树或R树的节点的同时,还把出现在文本语句中相关联的格信息,存储到树的边上。
此外,树结构转换部4分别将对各文本语句的转换结果,存储到存储器16、存储器17中。
单词映射权重计算部5求出计算RO树间或R树间的距离时所需的单词置换权重、单词脱落权重、以及单词插入权重,并将其提供给距离计算部7。
格映射权重计算部6求出计算RO树间或R树间的距离时所需的格置换权重、格脱落权重、以及格插入权重,并将其提供给距离计算部7。
距离计算部7求出存储在存储器16和存储器17中的两个RO树间或R树间的距离,并将该结果存储到存储器18中。
语句内容比较部8利用存储在存储器18中的RO树间或R树间的距离,求出文本语句间的距离,并将该结果存储到存储部9中。
其次,作为本发明的、比较文本语句间的语义内容并计算其距离的装置和方法的应用例,说明将其应用于信息终端设备时的设备结构例。
图2,表示把本发明的比较文本语句间的语义内容并计算其距离的方法,应用于信息终端设备时的设备结构例。
该图所示的信息终端设备20由外部存储装置21、键盘22、显示器23、处理器部24构成。在处理器部24中,具有求出文本语句间距离的模块25。
外部存储装置21用于存储所输入的文本语句数据、存储用于求取单词映射权重时所需的单词特征量词典或词义关系词典、存储用于求出格映射权重时所需的格权重词典等、还用于存储已求得的文本语句间的距离的结果、或软件等。此外,还起到用于计算时所需的临时存储空间的作用。此处,单词特征量词典、词义关系词典、格权重词典等,例如,可准备预先作成的或已有的词典。此外,具体地说,作为外部存储装置21,例如可用硬盘等构成。
键盘22是用户进行指令操作的输入装置。此外,也可以附加其它输入装置。
显示器23是用于显示对用户提示的信息、文本语句数据、分析结果、距离计算结果等的输出装置。此外,也可附加其它输出装置。
处理器部24根据存储在外部存储装置21中的软件等进行实际的处理。具体地说,作为处理器部24,例如,可由微处理器、或个人计算机等计算机系统构成。进而,上述图1所示的词素分析部2、语义分析部3、树结构转换部4、单词映射权重计算部5、格映射权重计算部6、距离计算部7、语句内容比较部8也可由在该处理器部24中运行的软件来构成。
其次,对本发明的一个实施例的动作、即比较文本语句间语义内容差别的装置的动作,加以详细说明。
在外部存储装置1中存储有文本语句的数据。从外部存储装置1读出两个文本语句数据,分别将它们存储在存储器10和存储器11中。词素分析部2从存储在存储器10和存储器11的文本语句中提取出词素,并将其结果分别存储在存储器12和存储器13中。
此处,作为词素分析(分词标注)工具,可以利用任何公开技术,例如,可以利用由奈良先端技术大学院大学的松本研究室所公开的“茶筅”词素分析工具(中文处理时可使用清华大学的CSEGTAG分词标注系统)。
此外,在图3中,图3(a)表示对日文语句“先生は生徒に英語を教ぇる”(“老师教学生英语”)的词素进行分析的分析结果。图3(b)表示中文的分词标注结果,此处,n表示名词,v表示动词,nz表示其它名词。语义分析部3输入存储在存储器12和存储器13中的词素分析结果,对文本语句的语法、修饰限制关系(格)、文本语句的深层结构等进行分析,并将分析结果分别存储在存储器14和存储器15中。
此处,作为语义分析工具,可以使用已公开的任何语义分析工具,例如,可利用非专利文献1中所述的方法(参照非专利文献1)。
树结构转换部4输入存储在存储器14和存储器15中的分析结果,将文本语句转换为树结构,并将转换后的树结构分别存储在存储器16和存储器17中。
在图4中,表示对文本语句“先生は生徒に英语を教ぇる”(“老师教学生英语”)进行语义分析所得的分析结果被转换为树结构的形式。图4(a)是日语的树结构表示图,图4(b)是汉语的树结构表示图。作为单词信息,“先生”,“英语”、“生徒”、“に”、“教ぇる”被存储在各节点上;作为格信息,在“先生”(“老师”)和“教ぇる”(“教”)之间的“SUBJ”,“英语”和“教ぇる”之间的“OBJ”、“生徒”(学生)和“に”之间的“OBJ”、“に”和“教ぇる”之间的“OBL”被存储在各边上。
在上述图4中,作为格信息,表示为SUBJ(主格),OBJ(宾格),OBL(助词格(斜格))。此外,还可以利用ADJUNCT(同位语(付加格)作为格信息。
并且,在本例中,对于OBL,把格助词和可替换它的格助词作为一个统一的格来使用。例如,在“彼は京都[に/へ]行った。”(“他去京都了”)的情况下,因为“に”和“ヘ”可以替换,把该变数名取为OBL_ni-he。
本实施方式中,为了求出树Ta和Tb的差别,考虑满足规定条件的从树Ta到Tb的映射集合M。本实施方式中的映射不仅是节点间的映射,还包括边之间的映射。一般而言,不同的两个树之间的映射会产生节点的置换、脱落、插入和边的置换、脱落、插入。例如,图10中,左边树的节点“花子”和边“ADJUNCT”脱落。对该置换、脱落、插入设定权重,就可以使用权重来评价两个树的差别,本实施方式中,将该差别的评价称为“两个树之间的距离”。例如,可以在节点间的映射和边间的映射满足规定条件“1对1关系、保存父子关系(上下关系)、保存结构、节点间的映射和边间的映射不交叉”的映射集合MR中,求出权重的总和最小的映射MRmin,将映射MRmin的权重作为R树间的距离。也可以在满足另一规定条件“1对1关系、保存父子关系(上下关系)、保存兄弟间的左右关系、保存结构、节点间的映射和边间的映射不交叉”的映射集合MRO中,求出权重的总和最小的映射MROmin,将映射MROmin的权重作为RO树间的距离。
单词映射权重计算部5响应距离计算部7的请求,求出单词置换权重、单词脱落权重、单词插入权重,并将它们提供给距离计算部7。
作为单词置换权重,可以利用将其设定为常数的形式、或使用由单词间距离来设定的形式。对前一种形式,当两个单词是同一单词时,把单词置换权重设定为0,否则,把单词置换权重设定为正常数。对后一种形式,单词映射权重计算部5求出两个单词间的距离,将该距离值作为单词置换权重提供给距离计算部7。
此处,作为求得单词间距离的方法,可以使用已公开的任何方法,例如统计学方法、使用词义关系词典的方法、使用神经网络的方法。作为统计学方法,例如,可利用非专利文献2中所述的由tf·idf方法来求得(参照非专利文献2)。作为使用词义关系词典的方法,例如,可将两个单词所属的概念间的最短路径的长度,作为单词间的距离。作为使用神经网络的方法,例如,可利用非专利文献3中所述的方法(参照非专利文献3)。此外,也可以使用其它已公开的方法。
作为单词脱落权重,可以利用将其设定为常数的形式、或利用由单词的词类信息来设定单词脱落权重的形式。对后一种形式,先对单词的词类赋予权重,然后将单词脱落权重设定为词类权重与常数之积。作为词类权重的设定,例如,最好是采用对具有重要作用的词类赋予一个较大的词类权重的方法,作为一例,可以把动词的权重设为最高,然后按照形容动词、名词、副词、形容词等的顺序,逐渐降低词类度来进行设定。此外,也可以按其它顺序来设定词类的权重。
作为单词插入权重,可以利用将其设定为常数的形式、或由单词的词类信息来设定单词插入权重的形式。对后一种形式,先对单词的词类赋予权重,然后将单词插入权重设定为词类权重与常数之积。作为词类权重的设定,可采用与对上述单词脱落权重所叙述过的词类权重的设定方法同样的方法来进行设定。此外,也可用不同的方法来进行设定。
格映射权重计算部6响应距离计算部7的请求,求出格置换权重、格脱落权重、以及格插入权重,并将它们提供给距离计算部7。
作为格置换权重,可以利用将其设定为常数的形式、或用格间距离来设定的形式。对前一种形式,当两个格是同一格时,把格置换权重设定为0,否则,把格置换权重设定为正常数。对后一种形式,格映射权重计算部6求出两个格间的距离,将该距离值作为格置换权重,并将它们提供给距离计算部7。
此处说明求得格间距离方法的一个示例。
首先,将所有的格按其内容分类为若干个分类。再者,各分类的元素数是1以上。
此外,准备好如图5所示的格分类间距离表。在该图所示的表中,对作为多个m个格分类的所有组合,设定格分类间的距离(距离11~距离mm)。
其次,根据给定的两个格信息,分别求出所指定的两个格所属的格分类,利用如上述图5中所示的格分类间距离表,求出所求的两个格分类间的距离值,并将所求得的距离值作为两个格间的距离。
再者,作为求出格间距离的方法,也可以使用其它方法。
作为格脱落权重,可以利用将其设定为常数的形式、或按格的种类来设定格脱落权重的形式。对后一种形式,先对格赋予一个权重,然后将格脱落权重设定为格权重与常数之积。作为格权重的设定,例如,可以把SUBJ的权重设为最高,然后按照OBJ,OBL,ADJUNCT等顺序,逐渐降低权重。此外,也可以按其它顺序来设定格权重。
作为格插入权重,可以利用将其设定为常数的形式、或按格的种类来设定格插入权重的形式。对后一种形式,先对格赋予一个权重,然后将格插入权重设定为格权重与常数之积。作为格权重的设定,可采用与对上述格脱落权重所叙述过的格权重的设定方法同样的方法来进行设定。此外,也可用不同的方法来进行设定。
距离计算部7求出存储在存储器16和存储器17中的RO树间或R树间的距离,并将其结果存储在存储器18中。如果在树间距离的计算中需要单词置换权重、单词脱落权重、单词插入权重、格置换权重、格脱落权重、格插入权重,则距离计算部7将计算请求与应比较的两个文本语句的单词信息和格信息一起输出到单词映射权重计算部5、格映射权重计算部6。单词映射权重计算部5、格映射权重计算部6一旦被输入请求,向距离计算部输出被请求的信息。
下面,对基于节点和边的对应关系的RO树间的距离以及基于节点和边对应关系的R树间的距离的定义及各距离的计算方法进行说明。
首先,为了说明树间距离的定义和该树间距离的计算方法,定义相关的符号。
将从树的根开始到节点x的路径的边数称为x的深度,用dep(x)来表示。根的深度为0。将深度为dep(x)+1的节点称为节点x的子女,用ch(x)来表示节点x的子女的集合。没有子女的节点称为叶子。深度为dep(x)-1的节点称为x的父亲,用pa(x)表示。用pa2(x)=pa(pa(x))表示时,将An(x)=∪i=1,...,dep(x){pai(x)}的元素称为节点x的祖先。顶点x与父亲之间的边用 表示。X为根时, 为空。这里,节点x不是节点x的祖先。可以同样定义边 的祖先集合 边 不是边 的祖先。从边 到边 的祖先 的边的集合用 来表示。树的节点和边分别有各自的标记。节点x和边 的标记分别用lab(x)、 表示。本发明中,节点的标记是单词信息,边的标记是格信息。当任意两个节点x1、x2(x1≠x2)为“x1∉An(x2)]]>并且x2∉An(x1)]]>”时,称为x1、x2分离,用sep(x1、x2)表示。同样,当任意两个边x~1,x~2(x~1≠x~2)]]>为“x~1∉An(x~2)]]>并且x~2∉An(x~1)]]>”时,称为 分离,用 表示。
用Ta(x)表示把Ta的节点x作为根的子树。
用Va(x)表示子树Ta(x)的节点集合。
用Ea(x)表示子树Ta(x)的边集合。
用 表示由子树Ta(x)和边 组成的部分, 也称为子树。
用 表示子树 的节点集合,用 表示子树 (x)的边集合。此时,Va(x)=V~a(x),]]>Ea(x)∪{x~}=V~a(x).]]>
把子树T~a(x1),T~a(x2)···,T~a(xm)]]>组成森林,用 表示森林。
在从树Ta到树Tb的映射中,树Ta的节点x或边 有时被原样保存在Tb中。对该现象进行形式定义。把树Ta的节点x不脱落而保留为树Tb的节点y表示为(x,y),称为节点x映射到节点y。此时,节点标记有时会发生变化。把树Ta的边 不脱落而保留为树Tb的边 表示为 称为边 映射到边 此时,边标记有时会发生变化。上述映射M是(x,y)和 的集合。
对树Ta、Tb的子树Ta(x)、Ta(y)、T~a(x),T~b(y),]]>如下定义Jv(x)、Jv(y)、J~E(x~),J~E(y~).]]>Jv(x)={j|(i,j)∈M,i∈Va(x)}Iv(y)={i|(i,j)∈M,j∈Vb(y)}JE(x~)={j~|(i~,j~)∈M,i∈E~a(x)}]]>JE(y~)={i~|(i~,j~)∈M,j∈E~b(y)}]]>其中,Jv(x)是从子树Ta(x)的节点映射的像的集合。Iv(y)是映射到子树Tb(y)的节点的原像的集合。同样, 是从子树 的节点映射的像的集合。 是映射到 的边的原像的集合。把包含Jv(x)的最小子树作为Tb(yx)。其中,yx表示子树Tb(yx)的根。Jv(x)=Φ时,yx不能确定。同样定义xy。Ta(xy)是包括Iv(y)的最小子树。即,包含以节点x为根的子树Ta(x)的像的Tb的最小子树是Tb(yx)。包含以节点y为根的子树Tb(y)的原像的Ta的最小子树是Ta(xy)。关于边,是把包含 的最小子树作为 其中,yx是子树 的根。JE(x~)=Φ]]>时, 不能确定。同样定义 是包含 的最小子树。
首先,对基于节点和边的对应关系的RO树间的距离的计算方法,进行说明。
RO树间的映射M应满足的规定条件包括以下条件。另外,关于有序森林 和森林 间的映射M,M∪{(x,y)}满足下述映射条件(a1)~(a11)。
对于任意的(x1,y1)∈M、(x2,y2)∈M,(a1)x1=x2iffy1=y2(a2)x1∈An(x2)iffy1∈An(y2)(a3)“x1位于x2的左侧”iff“y1位于y2的左侧”对于Ta的任意的映射的节点x1和任意节点x2,(a4)如果yx1、yx2能确定,x1∈An(x2)iffyx1∈An(yx2)、sep(x1,x2)iff sep(yx1,yx2)对于Tb的任意的映射的节点y1和任意节点y2,(a5)如果xy1、xy2能确定,xy1∈An(xy2)iff y1∈An(y2)、sep(xy1,xy2)iff sep(y1,y2)对于任意的(x~1,y~1)∈M,]]>(x~2,y~2)∈M,]]>(a6)---x~1=x~2iffy~1=y~2]]>(a7)---x~1∈An(x~2)iffy~1∈An(y~2)]]>(a8)“ 位于 的左侧”iff“ 位于 的左侧”对于Ta的任意的映射的边 和任意边 (a9)如果 能确定,x~1∈An(x~2)iffyx~1∈An(yx~2),]]>sep(x~1,x~2)iffsep(yx~1,yx~2)]]>对于Tb任意映射的边 和任意边 (a10)如果 能确定,xy~1∈An(xy~2)iffy~1∈An(y~2),]]>sep(xy~1,xy~2)iffsep(y~1,y~2)]]>(a11)如果(x~,y~)∈M,]]>Jv(x)∈Tb(y)、JE(x~)∈T~b(y),]]>Iv(y)∈Ta(x)以及IE(y~)∈T~a(x)]]>映射条件(a1)和(a6)是一对一映射的映射条件,(a2)和(a7)是保存祖先和子孙关系的条件。图11(a)的映射由于是一对多映射,所以被禁止。图11(b)的映射未保存祖先和子孙的关系,所以不满足(a2)。(a3)和(a8)是保存左右的条件。图11(c)的映射中,节点5位于3的右侧,但它们各自的像5’位于6’的左侧。这种映射是未保存左右关系的映射。(a4)、(a5)及(a9)、(a10)是保证包含分离的两个子树的像、或原像的子树分离的映射条件。图11(d)的映射虽满足(a1)~(a3),但对于节点1’和4’,包含子树Tb(1’)和Tb(4’)的原像的最小子树均是子树Ta(2),并且节点1’是4’的祖先,所以该映射不满足映射条件(a5)。图11(e)的映射也不满足(a5)。映射条件(a11)是禁止节点和边交叉映射的映射条件,是保证包含子树中的映射的节点的像的最小子树与包含同一子树中的映射的边的像的最小子树不分离的条件。例如,图11(f)的映射,从节点5到6’的映射和从边 到 的映射交叉,所以被禁止。关于图11(g)所示的映射M={(2,4′),(3,5′),(5,6′),(5~,3~′)},]]>尽管边 映射到边 ((5~,3'~)∉M),]]>但包含RO树 的映射的所有节点的像的最小子树Tb(6’)和包含RO树 的映射的所有边的像的最小子树Tb(3’)是分离的,所以不满足映射条件(a11)。图11(h)所示的映射M={(2,4′),(3,5′),(5,6′),(3~,5~′),(5~,6~′)}]]>满足上述映射条件(a1)~(a11)。在图6(a)~图6(d)中,示出了例如作为RO树的两个子树的4种形态。
关于作为RO树的子树间的距离和有序森林间的距离,作如下定义。
用D(Ta(x),Tb(y))表示图6(a)所示的作为RO树的两个子树Ta(x),Tb(y)间的距离。
用D(T~a(x),T~b(y))]]>表示图6(b)所示的作为RO树的两个子树 间的距离。
用D(T~a(x),Tb(y))]]>表示图6(c)所示的作为RO树的两个子树 Tb(y)间的距离。
用D(Ta(x),T~b(y))]]>表示图6(d)所示的作为RO树的两个子树Ta(x), 间的距离。
把满足上述映射条件(a1)~(a11)的所有Ta(x)到Tb(y)的映射中,映射所需的权重的最小值作为距离D(Ta(x),Tb(y))。把满足上述映射条件(a1)~(a11)的所有 到 的映射中,映射所需的权重的最小值作为距离D(T~a(x),T~b(y)).]]>把满足上述映射条件(a1)~(a11)的所有 到Tb(y)的映射中,映射所需的权重的最小值作为距离D(T~a(x),Tb(y)).]]>把满足上述映射条件(a1)~(a11)的所有Ta(x)到 的映射中,映射所需的权重的最小值作为距离D(Ta(x),T~b(y)).]]>同样,把满足上述映射条件(a1)~(a11)的森林 到森林 的所有映射中,映射所需的权重的最小值作为森林 和森林 的距离D(F~a(x),F~b(y)).]]>RO树间距离的计算方法为首先,从RO树根开始按深度优先顺序给节点和边赋予编号。按照从以大编号为根的RO树部分到以小编号为根的RO树部分的顺序求出子树间的距离,最后求出整个RO树间的距离。
利用以下式1~式4,可以求出分别表示在图6(a)~图6(d)的两个RO树间的距离。此处,在式1~式4中的符号“A-B”表示从集合A中除去集合B中所有元素的函数。
另外,假设已经求出有序森林间的距离D(F~a(x),F~b(y)),]]>所有子树间的距离D(Ta(xi),Tb(y))、D(T~a(xi),T~b(y)),]]>D(T~a(xi),Tb(y)),]]>D(Ta(x),Tb(yj))、D(T~a(x),T~b(yj)),]]>D(T~a(x),Tb(yj)),]]>D(Ta(x),T~b(yj)).]]>其中,根据上述的文本语句的树结构表现方法和转换方法可以得知,节点x、y表示文本语句中出现的单词(包括单词的属性)。边 y表示文本语句的单词间的修饰限制关系(格)信息。函数δ(x,y)表示节点的置换权重,可以用单词的置换权重求出。q(y)表示节点x的插入权重,可以用单词的插入权重求出。r(x)表示节点x的脱落权重,可以用单词的脱落权重求出。
另外,对边作如下定义。
函数 表示边 的置换权重,可以用格的置换权重求出。q 表示边 的插入权重,可以用格的插入权重求出。 表示边 x的脱落权重,可以用格的脱落权重求出。
节点的置换、插入、脱落权重及边的置换、插入、脱落权重是非负数,为δ(x,y)<r(x)+q(y)、并且δ(x~,y~)<r(x~)+q(y~).]]>
……(式1) ……(式2) ……(式3) ……(式4)图7表示,例如两个有序森林。利用式5,可求出这两个森林间之间的距离。此处,符号|A|表示集合A的元素个数。
(5-1)边界条件(1≤i≤|ch(x)|,1≤j≤|ch(y)|)d1(0,0)=0;d1(i,0)=d1(i-1,0)+Σr(k)|k∈Va(xi)+Σr(k~)|k~∈E~a(xi);]]>d1(0,j)=d1(0,j-1)+Σq(k)|k∈Vb(yj)+Σq(k~)|k~∈E~b(yj);]]>(5-2)d1(i,j)的计算(1≤i≤|ch(x)|,1≤j≤|ch(y)|) (5-3)D(F~a(x),F~b(y))=d1(|Ch(x)|,|Ch(y)|)]]>……(式5)并且,对于上述式1,当节点x是叶子节点(Ch(x)=NULL空集合)时,显然,由于没有必要计算上述式1右侧的第2项,可以利用式6来求出距离D(Ta(x),Tb(y))。
此外,对于上述式1,当节点y是叶子节点(Ch(y)=NULL空集合)时,显然,由于没有必要计算上述式1右侧的第3项,可以利用式7来求出距离D(Ta(x),Tb(y))。
……(式6) ……(式7)同样地,对于上述式2,当节点x是叶子节点(Ch(x)=NULL空集合)时,显然,由于没有必要计算上述式2右侧的第2项,可用式8来求出距离。
此外,对于上述式2,当节点y是叶子节点(Ch(y)=NULL空集合)时,显然,由于没有必要计算上述式2右侧的第3项,可用式9来求出距离。
……(式8) ……(式9)同样地,对于上述式3,当节点x是叶子节点(Ch(x)=NULL空集合)时,显然,由于没有必要计算上述式3右侧的第2项,可用式10来求出距离。
此外,对于上述式3,当节点y是叶子节点(Ch(y)=NULL空集合)时,显然,由于没有必要计算上述式3右侧的第3项,可用式11来求出距离。
……(式10) ……(式11)同样地,对于上述式4,当节点x是叶子节点(Ch(x)=NULL空集合)时,显然,由于没有必要计算上述式4右侧的第2项,可用式12来求出距离。
此外,对于上述式4,当节点y是叶子节点(Ch(y)=NULL空集合)时,显然,由于没有必要计算上述式4右侧的第3项,可以利用式13来求出距离。
……(式12) ……(式13)其次,对基于节点和边的对应关系的R树间距离的计算方法进行说明。另外,记号的表述和上述计算RO树间距离的方法大概相同,所以省略记号的表述说明。
R树Ta(x)映射到R树Tb(y)的映射M应满足的规定条件包括以下条件。另外,关于无序森林 和森林 间的映射M,M∪{(x,y)}满足下述映射条件(b1)~(b9)。
对于任意的(x1,y1)∈M、(x2,y2)∈M,(b1)x1=x2iffy1=y2(b2)x1∈An(x2)iffy1∈An(y2)对于Ta的任意映射的节点x1和任意节点x2,(b3)如果yx1、yx2能确定,则x1∈An(x2)iffyx1∈An(yx2)、sep(x1,x2)iff sep(yx1,yx2)对于Tb的任意映射的节点y1和任意节点y2,(b4)如果xy1、xy2能确定,则xy1∈An(xy2)iffy1∈An(y2)、sep(xy1,xy2)iff sep(y1,y2)对于任意的(x~1,y~1)∈M,]]>(x~2,y~2)∈M,]]>(b5)---x~1=x~2iffy~1=y~2]]>(b6)---x~1∈An(x~2)iffy~1∈An(y~2)]]>对于Ta的任意映射的边 和任意边
(b8)如果xy1、xy2能确定,则x~y1∈An(x~y2)iffy~1∈An(y~2),]]>sep(x~y1,x~y2)iffsep(y~1,y~2)]]>(b9)如果(x~,y~)∈M,]]>则Jv(x)∈Tb(y)、JE(x~)∈T~b(y),]]>Iv(y)∈Ta(x)以及IE(y~)∈T~a(x)]]>(b1)和(b5)是一对一映射的映射条件。(b2)和(b6)是保存祖先和子孙关系的条件。(b3)、(b4)及(b7)、(b8)是保证包含分离的两个子树的像、或原像的子树分离的映射条件。(b9)是禁止节点和边交叉映射的映射条件,是保证包含子树中的映射的节点的像的最小子树与包括同一子树中的映射的边的像的最小子树不分离的条件。
把满足上述映射条件(b1)~(b9)的R树Ta(x)到R树Tb(y)的所有映射中,映射所需的权重的最小值作为距离D(Ta(x),Tb(y))。把满足上述映射条件(b1)~(b9)的R树 到R树 的所有映射中,映射所需的权重的最小值作为距离D(T~a(x),T~b(y)).]]>把满足上述映射条件(b1)~(b9)的R树 到R树Tb(y)的所有映射中,映射所需的权重的最小值作为距离D(T~a(x),Tb(y)).]]>把满足上述映射条件(b1)~(b9)的R树Ta(x)到R树 的所有映射中,映射所需的权重的最小值作为距离D(Ta(x),T~b(y)).]]>同样,把满足上述映射条件(b1)~(b9)的无序森林 到 的所有映射中,映射所需的权重的最小值作为森林 和森林 间的距离D(F~a(x),F~b(y)).]]>R树间距离的计算方法为首先,从R树根开始按深度优先顺序给节点和边赋予编号。按照从以大编号为根的R树部分到以小编号为根的R树部分的顺序求出子树间的距离,最后求出整个R树间的距离。
假设无序森林间的距离D(F~a(x),F~b(y))]]>所有子树间的距离D(Ta(xi),Tb(y))、D(T~a(xi),T~b(y)),]]>D(T~a(xi),Tb(y)),]]>D(Ta(x),Tb(yj))、D(T~a(x),T~b(yj)),]]>D(T~a(x),Tb(yj)),]]>D(Ta(x),T~b(yj))]]>已经求出时,节点间的置换权重δ(x、y)、插入权重q(y)、脱落权重r(x),边间的置换权重 插入权重 脱落权重 的定义和RO树相同。
可按上述式1,求出用如上述图6(a)中所示的,例如作为R树的两个子树Ta(x),Tb(y)间的距离D(Ta(x),Tb(y)),可按上述式2来求出如上述图6(b)中所示的例如作为R树的两个子树 间的距离D(T~a(x),T~b(y)),]]>可按上式3来求出如上述图6(c)中所示的例如作为R树的两个子树 Tb(y)间的距离D(T~a(x),Tb(y)),]]>可按上式4来求出如上述图6(d)中所示的例如作为R树的两个子树Ta(x), 间的距离D(Ta(x),T~b(y)).]]>利用式14,可求出如上述图7所示的例如两个无序森林间的距离D(F~a(x),F~b(y)).]]>D(F~a(x),F~b(y))]]>D(F~a(x),F~b(y))=Σxi∈Ch(x)(Σr(k)|k∈Va(xi)+Σr(k~)|k~∈E~a(xi))]]>+Σyj∈Ch(y)(Σq(k)|k∈Vb(yj)+Σq(k~)|k~∈E~b(yj))-W(Mmax)]]>……(式14)此处,上述式14中的W(Mmax)表示图8所示的二分图G(X,Y,E)的最大匹配权重。
此外,二分图G(X,Y,E)的节点xi(∈X)和节点yj(∈Y)的边e(xi,yj)的权重w(e(xi,yj))可按照式15设定。
W(e(xi,yj))=Σr(k)|k∈Va(xi)+Σr(k~)|k~∈E~a(xi)]]>+Σq(k)|k∈Vb(yj)+Σq(k~)|k~∈E~b(yj)-D(T~a(xi),T~b(yj))]]>……(式15)并且,二分图G(X,Y,E)的节点xi(∈X)表示构成无序森林 的子树 (xi(∈Ch(x)),二分图G(X,Y,E)的节点yj(∈Y)表示构成无序森林 的子树 (yj∈Ch(y))。
RO树间的距离计算流程下面,使用图12所示的流程图,说明把所输入的两个文本语句S1和S2转换为RO树,求出文本语句S1和S2间距离的过程。
使用词素解析部2、语义分析部3、树结构转换部4,把所输入的两个文本语句S1和S2分别转换为RO树Ta和Tb(S01)。如图4所示,在树Ta、Tb的节点上分配有单词信息,在树Ta、Tb的边上分配有格信息。在包含RO树Ta和树Tb的所有子树的根上分配有从1到n的编号(n为正整数)。编号分配是从RO树根按深度优先顺序给子树根赋予编号(S02)。
然后,使x=n1、y=n2(n1、n2是各树Ta、Tb的节点数)(S03、S04)。使用式(5),计算有序森林 和 间的距离D(F~a(x),F~b(y))]]>(S05)。计算树间距离、子树间距离、森林间距离时,距离计算部7根据需要从单词映射权重计算部5、格映射权重计算部6取得节点间的置换权重δ(x、y)、插入权重q(y)、脱落权重r(x),边间的置换权重 插入权重 脱落权重 来进行距离的计算。
之后,判断子树Ta(x)(或 )是否是由一个节点构成的子树(S06)。判断为肯定时,处理转入S08,为否定时处理转入S07。
在S07,判断子树Tb(y)(或 )是否是由一个节点构成的子树。判断为肯定时,处理转入S09,为否定时处理转入S10。
在S08,首先判断节点y是否是树Tb的根。节点y不是树Tb的根时,使用式(6)、(8)、(10)、(12),距离计算部7计算RO树的子树间的距离D(Ta(x),Tb(y))、D(T~a(x),T~b(y)),]]>D(T~a(x),Tb(y)),]]>D(Ta(x),T~b(y)).]]>节点y是树Tb的根时,使用式(6)、(10),距离计算部7计算RO树的子树间的距离D(Ta(x),Tb(y))和D(T~a(x),Tb(y)).]]>距离计算部7计算各距离后,处理转入S11。
在S09,首先判断节点x是否是树Ta的根。节点x不是树Ta的根时,使用式(7)、(9)、(11)、(13),距离计算部7计算RO树的子树间的距离D(Ta(x),Tb(y))、D(T~a(x),T~b(y)),]]>D(T~a(x),Tb(y)),]]>D(Ta(x),T~b(y)).]]>节点x是树Ta的根时,使用式(7)、(13),距离计算部7计算RO树的子树间的距离D(Ta(x),Tb(y))和D(Ta(x),T~b(y)).]]>距离计算部7计算各距离后,处理转入S11。
在S10,首先判断节点x和节点y是否是树Ta、树Tb的根。节点x、节点y均不是树Ta、树Tb的根时,使用式(1)~(4),距离计算部7计算RO树的子树间的距离D(Ta(x),Tb(y))、D(T~a(x),T~b(y)),]]>D(T~a(x),Tb(y)),]]>D(Ta(x),T~b(y)).]]>节点x是树Ta的根、节点y不是树Tb的根时,使用式(1)和(4),距离计算部7计算RO树的子树间的距离D(Ta(x),Tb(y))和D(Ta(x),T~b(y)).]]>节点y是树Tb的根、节点x不是树Ta的根时,使用式(1)和(3),距离计算部7计算RO树的子树间的距离D(Ta(x),Tb(y))和D(T~a(x),Tb(y)).]]>距离计算部7计算各距离后,处理转入S11。
然后,距离计算部7判断是否y=1、即节点y是否是树Tb的根(S11)。y≠1时(S11的判断结果为否定),使y减少1(S12),处理返回S05(即,把计算对象变更为更大的子树)。y=1时(S11的判断结果为肯定),距离计算部7判断是否x=1、即节点x是否是树Ta的根(S13)。x≠1时(S13的判断结果为否定),使x减少1(S14),处理返回S04(即,把计算对象变更为更大的子树)。x=1时(S13的判断结果为肯定),意味着已计算出包含树Ta和树Tb的所有子树间的距离。也就是说,已经求出了树Ta和Tb间的距离D(Ta(1),Tb(1))。因此,距离计算部7通过存储器18把距离D(Ta(1),Tb(1))输出给语句内容比较部8。语句内容比较部8根据所输入的距离D(Ta(1),Tb(1))以及式16或式17求出文本语句S1和S2的距离(S15)。
R树间的距离计算流程下面,使用图13所示的流程图,说明把所输入的两个文本语句S1和S2转换为R树,求出文本语句S1和S2间距离的过程。
使用词素解析部2、语义分析部3、树结构转换部4,把所输入的两个文本语句S1和S2分别转换为R树Ta和Tb(S21)。如图4所示,在树Ta、Tb的节点上分配有单词信息,在树Ta、Tb的边上分配有格信息。在包含R树Ta和树Tb的所有子树的根上分配有从1到n的编号(n为正整数)。编号分配是从R树根按深度优先顺序给子树根赋予编号(S22)。
然后,使x=n1、y=n2(n1、n2是各树Ta、Tb的节点数)(S23、S24)。使用式(14),计算有序森林 和 间的距离D(F~a(x),F~b(y))]]>(S25)。计算树间距离、子树间距离、森林间距离时,距离计算部7根据需要从单词映射权重计算部5、格映射权重计算部6取得节点间的置换权重δ(x、y)、插入权重q(y)、脱落权重r(x),边间的置换权重δ 插入权重 脱落权重 来进行距离的计算。
之后,判断子树Ta(x)(或 )是否是由一个节点构成的子树(S26)。判断为肯定时,处理转入S28,为否定时处理转入S27。
在S27,判断子树Tb(y)(或 )是否是由一个节点构成的子树。判断为肯定时,处理转入S29,为否定时处理转入S30。
在S28,首先判断节点y是否是树Tb的根。节点y不是树Tb的根时,使用时,使用式(6)、(8)、(10)、(12),距离计算部7计算R树的子树间的距离D(Ta(x),Tb(y))、D(T~a(x),T~b(y)),]]>D(T~a(x),Tb(y)),]]>D(Ta(x),T~b(y)).]]>节点y是树Tb的根时,使用式(6)、(10),距离计算部7计算R树的子树间的距离D(Ta(x),Tb(y))和D(T~a(x),Tb(y)).]]>距离计算部7计算各距离后,处理转入S31。
在S29,首先判断节点x是否是树Ta的根。节点x不是树Ta的根时,使用式(7)、(9)、(11)、(13),距离计算部7计算R树的子树间的距离D(Ta(x),Tb(y))、D(T~a(x),T~b(y)),]]>D(T~a(x),Tb(y)),]]>D(Ta(x),T~b(y)),]]>节点x是树Ta的根时,使用式(7)、(13),距离计算部7计算R树的子树间的距离D(Ta(x),Tb(y))和D(T~a(x),Tb(y)).]]>距离计算部7计算各距离后,处理转入S31。
在S30,首先判断节点x和节点y是否分别是树Ta、树Tb的根。节点x、节点y均不是树Ta、树Tb的根时,使用式(1)~(4),距离计算部7计算R树的子树间的距离D(Ta(x),Tb(y))、D(T~a(x),T~b(y)),]]>D(T~a(x),Tb(y)),]]>D(Ta(x),T~b(y)).]]>节点x是树Ta的根、节点y不是树Tb的根时,使用式(1)和(4),距离计算部7计算R树的子树间的距离D(Ta(x),Tb(y))和D(Ta(x),T~b(y)).]]>节点y是树Tb的根、节点x不是树Ta的根时,使用式(1)和(3),距离计算部7计算R树的子树间的距离D(Ta(x),Tb(y))和D(T~a(x),Tb(y)).]]>距离计算部7计算各距离后,处理转入S31。
然后,距离计算部7判断是否y=1、即节点y是否是树Tb的根(S31)。y≠1时(S31的判断结果为否定),使y减少1(S32),处理返回S35(即,把计算对象变更为更大的子树)。y=1时(S31的判断结果为肯定),距离计算部7判断是否x=1、即节点x是否是树Ta的根(S33)。x≠1时(S33的判断结果为否定),使x减少1(S34),处理返回S34(即,把计算对象变更为更大的子树)。x=1时(S33的判断结果为肯定),意味着已计算出包含树Ta和树Tb的所有子树间的距离。也就是说,已经求出了树Ta和Tb间的距离D(Ta(1),Tb(1))。因此,距离计算部7通过存储器18把距离D(Ta(1),Tb(1))输出给语句内容比较部8。语句内容比较部8根据所输入的距离D(Ta(1),Tb(1))以及式16或式17求出文本语句S1和S2的距离(S35)。
按照如上所述的方法,可求出RO树间或R树间的距离D(Ta,Tb)=D(Ta(x=1),Tb(y=1))。
其次,语句内容比较部8利用式16或式17来求出文本语句间的距离。
此处,D(S1,S2)表示语句S1和S2间的距离,树T1表示语句S1的树结构(RO树或R树),树T2表示语句S2的树结构(RO树或R树),D(T1,T2)表示树T1和树T2间的距离。
D(S1,S2)=D(T1,T2)……(式16)D(S1,S2)=D(T1,T2)|T1|+|T2|]]>……(式17)其次,利用具体的例子,对本发明的一个实施例的文本语句的语义内容比较装置及其比较方法的动作进行说明。
下面,利用本发明的一个实施例的文本语句的语义内容的比较装置,对求出语句A“妻の花子は风邪を引きました”(“妻子花子得了感冒”)和语句B“妻は风邪を引きました”(“妻子得了感冒”)之间的类似度(或差别度)的过程及其结果进行说明。在本例中,将单词和格脱落权重和插入权重设定为70,单词间置换权重设定为100,格间置换权重设定为100。
首先,对语句A和语句B进行词素分析之后,对语法语义进行分析,据此,将这两个语句A、B分别如图9(a)、图9(b)、图9(c)、图9(d)所示那样,转换为例如有根有序树TA、TB。
其次,利用上述式1,计算转换后的两个RO树间的距离,最后,利用上式16或上式17,求出两个文本语句A、文本语句B间的距离。
当利用上式16时,文本语句A、B间的距离D(A,B)=140,当利用上式17时,文本语句A、B间的距离D(A,B)=20(=140/7)。此处,两个RO树TA、TB间的距离D(A,B)=140,两个RO树TA、TB的节点总数为7。
在图10中,表示具有距离D(TA、TB)的RO树间的一个映射。如该图所示,两个RO树TA、TB间的距离是为了脱落单词“花子”所需的脱落权重70,以及脱落格“ADJUNCT”所需脱落权重70两者之和。
如上所述,本发明的文本语句比较装置及其比较方法,通过对文本语句进行词素分析、语义分析,然后用图论的RO树或R树来表示分析后的文本语句整体的语法结构和语义,亦即,将文本语句整体的语法结构和语义转换为RO树或R树,将出现于文本语句中的单词信息(包括单词的属性)以及单词间的修饰限制关系(格)信息分别存储到RO树或R树的节点和边上,将基于节点和边的对应关系的RO树间或R树间的距离,应用于测量文本语句间的语义内容的差别的距离,利用RO树间或R树间的距离,比较文本语句间的语义内容的差别,就可以高精度并且实时地求出所输入的两个文本语句间的语义内容。
具体来说,由于本发明根据文本语句间的单词信息的差别、或单词信息的差别和格信息的差别、以及语句整体的结构上的差别,来定义文本语句间的距离,因此本发明的距离函数具有如下3个优良的性质。(1)语义相似且结构相似的两个语句间的距离被评定为非常小。(2)语义不同且结构不相似的两个语句间的距离被评定为非常大。(3)虽然语义不同但结构相似的两个语句间的距离,根据单词信息的差别或者根据单词信息的差别和格信息的差别来进行评定。据此,可以高精度地求出两个文本语句间的距离。
此外,在本例中,可以用与树的节点数n的2次方同级(O(n2))的计算量来计算RO树,可以用与树的节点数n的2次方和最大孩子数m同级(O(mn2))的计算量来计算R树。因此可以进行实时计算。
此外,本发明并不限于用来比较日文、汉语语句间的类似度,本发明也可应用于任何国家的语言内容比较,例如,英语,法语,德国等语言的内容比较。
此外,作为本发明的结构,并不一定限于上述说明的结构,也可以采用多种结构。并且,本发明例如也可以作为可实现本发明的方法的程序等来提供。
此外,作为本发明的应用领域,并不限于上述领域,本发明可应用于多种领域。
此外,作为本发明中所进行的各种处理,例如也可以采用在具有处理器或存储器等的硬件资源中,通过处理器执行存储在ROM(只读存储器)中的控制程序来进行控制的结构,此外,例如也可以把执行该处理的各功能装置作为独立的硬件电路来构成。
此外,本发明也可以作为存储有上述控制程序的软盘或CD-ROM等能够由计算机读取的存储介质或程序(本身)来提供,通过将该控制程序从存储介质输入到计算机中并由处理器执行,就可以实现本发明的处理。
如上所述,根据本发明的文本语句比较装置或文本语句比较方法,通过用图论的RO树或R树来表示文本语句的整体语法和语义,利用基于节点和边的对应关系的RO树间的距离或基于节点和边的对应关系的R树间的距离,来比较文本语句间的语义内容的差别,就可以高精度并且实时地求出所输入的两个文本语句间的语义内容。根据本发明,例如,不仅可以进行文档语义内容的比较、根据语义内容对文档进行分类,还可以理解用户的信息检索意图。亦即,把由自然语言所表达的用户要求与事先学习和构筑的数据库中的内容相比较,就可以推定用户进行信息检索的意图。
权利要求
1.一种文本语句比较方法,将第一文本语句和第二文本语句分别转换为第一R树和第二R树;根据两个R树的节点间的映射条件和边间的映射条件,至少基于所定义的两个R树间的距离,计算第一R树和第二R树的距离;基于上述计算的第一R树和第二R树的距离,计算第一文本语句和第二文本语句的距离,在所述转换中,将第一文本语句中包含的单词信息分配到第一R树的节点,将第二文本语句中包含的单词信息分配到第二R树的节点,将第一文本语句中包含的格信息分配到第一R树的边,将第二文本语句中包含的格信息分配到第二R树的边。
2.如权利要求1所述的文本语句比较方法,其特征在于在第一R树和第二R树的距离的计算中,计算从第一R树到第二R树的映射的映射权重、具有第一R树的森林和具有第二R树的森林的距离、具有第一R树的子树和具有第二R树的子树的距离。
3.如权利要求2所述的文本语句比较方法,其特征在于基于单词置换权重、单词脱落权重、单词插入权重、格置换权重、格脱落权重、格插入权重,计算所述映射权重。
4.如权利要求1所述的文本语句比较方法,其特征在于还设定所述两个R树的映射条件。
5.如权利要求1所述的文本语句比较方法,其特征在于所述两个R树的节点间的映射条件和边间的映射条件包括是1对1映射、保存父子关系、保存结构、节点间的映射和边间的映射不交叉。
6.如权利要求1所述的文本语句比较方法,其特征在于还输入第一文本语句和第二文本语句;输出所计算的第一文本语句和第二文本语句的距离。
7.一种文本语句比较方法,包括以下步骤将第一文本语句和第二文本语句分别转换为第一RO树和第二RO树;根据两个RO树的节点间的映射条件和边间的映射条件,至少基于所定义的两个RO树间的距离,计算第一RO树和第二RO树的距离;基于上述计算的第一RO树和第二RO树的距离,计算第一文本语句和第二文本语句的距离,在所述转换中,将第一文本语句中包含的单词信息分配到第一RO树的节点,将第二文本语句中包含的单词信息分配到第二RO树的节点,将第一文本语句中包含的格信息分配到第一RO树的边,将第二文本语句中包含的格信息分配到第二RO树的边。
8.如权利要求7所述的文本语句比较方法,其特征在于在第一RO树和第二RO树的距离的计算中,计算从第一RO树到第二RO树的映射的映射权重、具有第一RO树的森林和具有第二RO树的森林的距离、具有第一RO树的子树和具有第二RO树的子树的距离。
9.如权利要求8所述的文本语句比较方法,其特征在于基于单词置换权重、单词脱落权重、单词插入权重、格置换权重、格脱落权重、格插入权重,计算所述映射权重。
10.如权利要求7所述的文本语句比较方法,其特征在于还设定所述两个RO树的映射条件。
11.如权利要求7所述的文本语句比较方法,其特征在于所述两个RO树的节点间的映射条件和边间的映射条件包括是1对1映射、保存父子关系、保存兄弟关系、保存结构、节点间的映射和边间的映射不交叉。
12.如权利要求7所述的文本语句比较方法,其特征在于还输入第一文本语句和第二文本语句;输出所计算的第一文本语句和第二文本语句的距离。
13.一种文本语句比较装置,具有输入部,其将第一文本语句和第二文本语句输入;树结构转换部,其将第一文本语句和第二文本语句分别转换为第一R树和第二R树;距离计算部,其根据两个R树的节点间的映射条件和边间的映射条件,至少基于所定义的两个R树间的距离,计算第一R树和第二R树的距离;语义内容比较部,其基于所计算的第一R树和第二R树的距离,计算第一文本语句和第二文本语句的距离,所述树结构转换部将第一文本语句中包含的单词信息分配到第一R树的节点,将第二文本语句中包含的单词信息分配到第二R树的节点,将第一文本语句中包含的格信息分配到第一R树的边,将第二文本语句中包含的格信息分配到第二R树的边。
14.如权利要求13所述的文本语句比较装置,其特征在于所述距离计算部计算从第一R树到第二R树的映射的映射权重、具有第一R树的森林和具有第二R树的森林的距离、具有第一R树的子树和具有第二R树的子树的距离。
15.如权利要求14所述的文本语句比较装置,其特征在于所述距离计算部基于单词置换权重、单词脱落权重、单词插入权重、格置换权重、格脱落权重、格插入权重,计算所述映射权重。
16.如权利要求13所述的文本语句比较装置,其特征在于还具有设定输入部,该设定输入部使得用户可以设定所述两个R树的节点间的映射条件和边间的映射条件。
17.如权利要求13所述的文本语句比较装置,其特征在于所述两个R树的节点间的映射条件和边间的映射条件包括是1对1映射、保存父子关系、保存结构、节点间的映射和边间的映射不交叉。
18.如权利要求13所述的文本语句比较装置,其特征在于还具有输出部,该输出部用于输出所计算的第一文本语句和第二文本语句的距离。
19.一种文本语句比较装置,具有输入部,其将第一文本语句和第二文本语句输入;树结构转换部,其将第一文本语句和第二文本语句分别转换为第一RO树和第二RO树;距离计算部,其根据两个RO树的节点间的映射条件和边间的映射条件,至少基于所定义的两个RO树间的距离,计算第一RO树和第二RO树的距离;语义内容比较部,其基于所计算的第一RO树和第二RO树的距离,计算第一文本语句和第二文本语句的距离,所述树结构转换部将第一文本语句中包含的单词信息分配到第一RO树的节点,将第二文本语句中包含的单词信息分配到第二RO树的节点,将第一文本语句中包含的格信息分配到第一RO树的边,将第二文本语句中包含的格信息分配到第二RO树的边。
20.如权利要求19所述的文本语句比较装置,其特征在于所述距离计算部计算从第一RO树到第二RO树的映射的映射权重、具有第一RO树的森林和具有第二RO树的森林的距离、具有第一RO树的子树和具有第二RO树的子树的距离。
21.如权利要求20所述的文本语句比较装置,其特征在于所述距离计算部基于单词置换权重、单词脱落权重、单词插入权重、格置换权重、格脱落权重、格插入权重,计算所述映射权重。
22.如权利要求19所述的文本语句比较装置,其特征在于还具有设定输入部,该设定输入部使得用户可以设定所述两个RO树的节点间的映射条件和边间的映射条件。
23.如权利要求19所述的文本语句比较装置,其特征在于所述两个RO树的节点间的映射条件和边间的映射条件包括是1对1映射、保存父子关系、保存兄弟关系、保存结构、节点间的映射和边间的映射不交叉。
24.如权利要求19所述的文本语句比较装置,其特征在于还具有输出部,该输出部用于输出所计算的第一文本语句和第二文本语句的距离。
全文摘要
本发明提供一种对文本语句间进行高精度的实时比较的文本语句比较装置。树表示部用图论的有根树来表示成为比较对象的文本语句;信息赋予部将单词信息赋予由树表示部所表示的树的各节点,将作为单词间的修饰限制关系信息的格信息赋予各边;树间距离定义部定义基于节点间对应关系和边间对应关系的树间的距离;树间距离取得部对作为比较对象的文本语句的树间,求出由树间距离定义部所定义的树间距离;树间距离应用部将树间距离应用于表示文本语句间的差别;文本语句间距离取得部根据树间距离应用部的结果,求出作为比较对象的文本语句间的距离。
文档编号G06F17/27GK1495639SQ0315936
公开日2004年5月12日 申请日期2003年9月12日 优先权日2002年9月13日
发明者刘绍明 申请人:富士施乐株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1