首页> 中国专利> 自然语言查询需求扩展设备及其方法

自然语言查询需求扩展设备及其方法

摘要

本发明提供了一种查询需求扩展设备,包括:查询需求理解装置,用于根据用户的查询请求生成显式查询需求;以及查询需求扩展装置,用于生成与显式查询需求相关的隐式查询需求。其中查询需求理解装置通过查找知识库和语言库生成包括查询概念和问题类型的显式查询需求,以及查询需求扩展装置通过查找知识库,语言库和相关度数据库生成包括查询概念和问题类型的隐式查询需求。本发明还提供了一种查询需求扩展方法。基于本发明的查询需求扩展设备和方法,可以方便用户查询,并向用户提供准确、全面的查询答案。

著录项

  • 公开/公告号CN101339551A

    专利类型发明专利

  • 公开/公告日2009-01-07

    原文格式PDF

  • 申请/专利权人 日电(中国)有限公司;

    申请/专利号CN200710127431.4

  • 申请日2007-07-05

  • 分类号G06F17/30(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人罗松梅

  • 地址 100007 北京市东城区东四十条甲22号南新仓国际大厦B栋12层1222室

  • 入库时间 2023-12-17 21:15:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-16

    专利权的转移 IPC(主分类):G06F17/30 登记生效日:20171228 变更前: 变更后: 申请日:20070705

    专利申请权、专利权的转移

  • 2013-01-30

    授权

    授权

  • 2010-09-01

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20070705

    实质审查的生效

  • 2009-01-07

    公开

    公开

说明书

技术领域

本发明涉及信息查询领域,更具体地,涉及一种自然语言查询需求扩展设备以及一种自然语言查询需求扩展方法。

背景技术

目前存在多种根据用户发送的查询请求提供查询结果的系统。但是当用户进行自然语言查询时,通常期望知道比他/她所发送的查询请求的更多的信息。例如,当一个用户查询海龙在哪里时,那么除了海龙的地址外,可能用户也想知道怎么到达海龙。所以,根据用户的当前查询可以推测用户潜在的查询需求,即,隐式查询需求。但是现有的查询系统仅能够根据用户的当前查询,生成与之相关的直接的查询答案,而没有考虑用户的潜在查询需求,以对用户的当前查询进行扩展。

已知存在一些相关的查询系统及方法。US20050289124提出一种自然语言查询处理的系统和方法,它可以处理用户的英文自然语言查询,生成相应的语义标注,并从知识库中检索到对应的信息。

US6411950提出一种关键词查询的扩展方法,它利用查询日志,将关键词查询中的抽象词扩展为查询频度较高的具体词。如将查询词“car”扩展为(“car audio”OR“rent a car”OR“car price”OR...)。

US6480843也提出一种关键词查询的扩展方法,它利用词语间的语义相似度,将关键词查询中的词语进行扩展。如将关键词查询“car dealer”扩展为[(“car”OR“automobile”OR“auto”OR“Ford”)]AND(“Dealer”OR“Showroom”OR“SalesOffice”)。

综合现有的查询系统或方法,可以发现其或者只能分析出显式查询需求,如US20050289124。或者只能对关键词查询中的词语进行扩展,如US6411950,US6480843。目前还没有方法可以对自然语言查询的当前显式查询需求查询请求进行有效扩展。

发明内容

为了解决上述问题,提出了本发明。本发明提出了一种自然语言查询需求扩展设备和方法,可以对接收到的用户的自然语言查询进行分析,获得隐式查询需求,从而扩展了用户的查询需求并生成扩展的答案信息。通过扩展用户的查询需求,可以帮助自然语言查询需求扩展设备更好地理解查询用户的意图,发掘用户的潜在兴趣与需求,使用户得到充分、全面的答案信息。

根据本发明第一方面,提供了一种查询需求扩展设备,包括:

查询需求理解装置,用于根据用户的查询请求生成显式查询需求;以及

查询需求扩展装置,用于生成与显式查询需求相关的隐式查询需求。

根据本发明第二方面,提供了一种查询需求扩展设备,其中查询需求理解装置通过对接收到的用户查询进行语义和句法上的分析来生成显式查询需求;以及

查询需求扩展装置通过查找位于所述设备内部或外部的需求相关数据库生成与显式查询需求相关的隐式查询需求。

根据本发明第三方面,提供了一种查询需求扩展设备,其中查询需求理解装置通过查找知识库和语言库生成包括查询概念和问题类型的显式查询需求;以及

查询需求扩展装置通过查找知识库,语言库和相关度数据库生成包括查询概念和问题类型的隐式查询需求。

根据本发明第四方面,提供了一种查询需求扩展设备,其中查询需求理解装置包括:

分词单元,用于根据知识库和语言库,对用户查询进行分词;

匹配单元,用于将分词的用户查询与语言库进行匹配,以找到匹配文法;

语义一致性判断单元,用于根据知识库和语言库,来判断用户查询中的概念是否有语义错误;

显式查询需求生成单元,用于根据匹配文法,生成与其对应的、包括查询概念和问题类型的显式查询需求。

需求类型判断单元,用于根据知识库和语言库,来判断显式查询需求属于下列三种类型中的哪一种:语义可理解、句法可理解或句法不可理解。

根据本发明第五方面,提供了一种查询需求扩展设备,其中查询需求扩展装置包括:

语义可理解查询需求扩展装置,用于根据语义上可理解的显式查询需求检索相关度数据库,获得与语义上可理解的查询需求相关的相关查询需求集合,其中包括包含了相关查询概念和相关问题类型以及查询概念和相关问题类型之一的隐式查询需求。

根据本发明第六方面,提供了一种查询需求扩展设备,其中查询需求扩展装置包括:

句法可理解查询需求扩展装置,用于基于知识库和相关度数据库,形成与句法上可理解的显式查询需求中的查询概念相关度高的相关查询概念集合,并利用知识库从相关查询概念集合中选择出满足预定约束条件的至少一个相关查询概念与显式查询需求的问题类型组合作为隐式查询需求。

根据本发明第七方面,提供了一种查询需求扩展设备,其中查询需求扩展装置包括:

句法不可理解查询需求扩展装置,用于利用语言库,检索与显式查询需求中包含的问题类型相似的问题类型,和/或利用相关度数据库和知识库,查找与显式查询需求中包含的未识别查询概念相似的查询概念,从而获取包括相似查询概念和/或相似问题类型的隐式查询需求。

根据本发明第八方面,提供了一种查询需求扩展设备,包括:

语义可理解查询需求扩展装置,用于根据语义上可理解的显式查询需求检索相关度数据库,获得与语义上可理解的查询需求相关的相关查询需求集合,其中包括包含了相关查询概念和相关问题类型以及查询概念和相关问题类型之一的隐式查询需求;

句法可理解查询需求扩展装置,用于基于知识库和相关度数据库,形成与句法上可理解的显式查询需求中的查询概念相关度高的相关查询概念集合,并利用知识库从相关查询概念集合中选择出满足预定约束条件的至少一个相关查询概念与显式查询需求的问题类型组合作为隐式查询需求;以及

句法不可理解查询需求扩展装置,用于利用语言库,检索与显式查询需求中包含的问题类型相似的问题类型,和/或利用相关度数据库和知识库,查找与显式查询需求中包含的未识别查询概念相似的查询概念,从而获取了包括相似查询概念和/或相似问题类型的隐式查询需求。

根据本发明第九方面,提供了一种用于扩展查询需求的方法,包括:

查询需求理解步骤,根据用户的查询请求生成显式查询需求;以及

查询需求扩展步骤,生成与显式查询需求相关的隐式查询需求。

根据本发明第十方面,提供了一种用于扩展查询需求的方法,其中

查询需求理解步骤包括通过对接收到的用户查询进行语义和句法上的分析来生成显式查询需求的步骤;以及

查询需求扩展步骤包括通过查找需求相关数据库生成与显式查询需求相关的隐式查询需求的步骤。

根据本发明第十一方面,提供了一种用于扩展查询需求的方法,其中查询需求理解步骤包括通过查找知识库和语言库生成包括查询概念和问题类型的显式查询需求的步骤;以及

查询需求扩展步骤包括通过查找知识库,语言库和相关度数据库生成包括查询概念和问题类型的隐式查询需求的步骤。

根据本发明第十二方面,提供了一种用于扩展查询需求的方法,其中查询需求扩展步骤包括下列步骤中至少之一:

语义可理解查询需求扩展步骤,根据语义上可理解的显式查询需求检索相关度数据库,获得与语义上可理解的查询需求相关的相关查询需求集合,其中包括包含了相关查询概念和相关问题类型以及查询概念和相关问题类型之一的隐式查询需求;

句法可理解查询需求扩展步骤,基于知识库和相关度数据库,形成与句法上可理解的显式查询需求中的查询概念相关度高的相关查询概念集合,并利用知识库从相关查询概念集合中选择出满足预定约束条件的至少一个相关查询概念与显式查询需求的问题类型组合作为隐式查询需求;以及

句法不可理解查询需求扩展步骤,利用语言库,检索与显式查询需求中包含的问题类型相似的问题类型,和/或利用相关度数据库和知识库,查找与显式查询需求中包含的未识别查询概念相似的查询概念,从而获取包括相似查询概念和/或相似问题类型的隐式查询需求。

附图说明

图1a是根据本发明的一个实施例的自然语言查询需求扩展设备的示意图;

图1b是需求相关数据库的一个示例;

图1c是根据本发明的一个实施例的自然语言查询需求扩展方法的流程图;

图2是根据本发明的自然语言查询需求扩展设备的示意图;

图3(a)是根据本发明的知识库的示意图;

图3(b)是根据本发明的知识库的层次结构示意图;

图4是根据本发明的语言库的示意图;

图5a是根据本发明的相关度数据库的示意图;

图5b是根据本发明的相关度数据库生成装置的示意图;

图5c是相关度数据库生成装置生成相关度数据库的方法的流程图;

图6a是根据本发明的查询需求理解装置的示意图;

图6b是根据本发明的查询需求理解方法的流程图;

图6c是根据本发明进行查询需求理解的一个示例;

图7a是根据本发明的语义可理解查询需求扩展装置的示意图;

图7b是根据本发明的语义可理解查询需求扩展方法的流程图;

图8a是根据本发明的句法可理解查询需求扩展装置的示意图;

图8b是根据本发明的句法可理解查询需求扩展方法的流程图;

图9a是根据本发明的句法不可理解查询需求扩展装置的示意图;

图9b是根据本发明的句法不可理解查询需求扩展方法的流程图;

图10a-10c是三个示例;

图11是根据本发明另一实施例的自然语言查询需求扩展设备的示意图。

具体实施方式

下面,将参考附图描述本发明的优选实施例。在附图中,相同的元件将由相同的参考符号或数字表示。此外,在本发明的下列描述中,将省略对已知功能和配置的具体描述,以避免使本发明的主题不清楚。

图1a示出根据本发明的一个实施例的自然语言查询需求扩展设备。根据用户输入的查询请求,该自然语言查询需求扩展设备通过检索需求相关数据库5生成隐式查询需求并生成相应的扩展答案。该自然语言查询需求扩展设备包括用于接收用户的查询请求的查询接收器1;查询需求理解装置2;检索位于自然语言查询需求扩展设备内部或者外部的需求相关数据库生成隐式查询需求的查询需求扩展装置3以及扩展答案生成装置4。

图1c示出了生成扩展答案的自然语言查询需求扩展方法的流程图。在步骤1’,查询接收器1接收来自用户的查询请求。在步骤2’,由查询需求理解装置2对显式查询需求查询请求进行语义和句法上的分析,找出查询请求中包括显式查询需求包含的查询概念和问题类型,作为用户的显式查询需求。查询需求理解装置2可以根据启发式规则或机器学习的方法,来判定用户的显式查询需求所对应的问题类型,然后将用户查询请求中的名词作为查询概念。首先需要确定问题类型。目前主要有两种方法,一种方法是通过手工总结的启发式规则加以判定,另一种方法为问题自动分类。此外也可以采用本发明图6c所示的方法来获取显式查询需求。

1)启发式规则方法。根据用户查询请求中出现的疑问词及其他词(动词、名词、副词、形容词等)来总结启发式规则。例如规则“在/位于,哪里/哪儿→地址”表示用户查询请求中有“在”或“位于”,而且有“哪里”或“哪儿”时,问题类型通常为地址。例如规则“如何/怎么,到/去/到达→路径”表示用户查询请求中有“如何”或“怎么”,而且有“到”或“去”或“到达”时,问题类型通常为路径。

根据启发式规则,可以判定用户查询请求所对应的问题类型。

2)自动分类方法。利用机器学习的方法将一个问题识别到一个或多个语义类别中。主要方法有利用词作为特征项、利用句法信息以及语义信息。但自动分类得到的结果不够准确,目前的自动分类方法的准确率一般都小于90%。

在获取了问题类型之后,由查询需求理解装置2取出用户查询请求中剩下的名词作为查询概念。

例如对于用户的查询请求“海龙大厦在哪里”,其包含“哪里”,则根据启发式规则“在/位于,哪里/哪儿→地址”,判定其问题类型为地址,并且抽出名词“海龙大厦”作为概念。因此获得显式查询需求为“海龙大厦;地址”。

在步骤3’,根据获得的显式查询需求,首先由查询需求扩展装置3根据用户查询中的查询概念及问题类型,分别检索需求相关数据库5,得到相关的查询概念集合与问题类型集合。图1b示出了需求相关数据库5的一个示例。该需求相关数据库5中存储了各个概念之间的相关度,以及问题类型之间的相关度。之后,查询需求扩展装置3将上面得到的相关查询概念与相关问题类型进行组合,生成相关查询需求集合,并计算每个相关查询需求与当前查询需求间的相关度。计算公式为:需求“c1;t1”和“c2;t2”间的相关度=c1和c2的相关度*t1和t2的相关度,其中,c1和c2是概念,t1和t2是问题类型。

可以按需求相关度来递减排序相关查询需求,将相关度大于某阈值的相关查询需求作为最终的隐式查询需求。

例如对于显式查询需求“太平洋大厦;地址”,其所有相关查询需求为“海龙大厦;地址”(相关度0.85),“太平洋;地址”(相关度0.6),“太平洋大厦;路径”(相关度0.9),“海龙大厦;路径”(相关度0.765),“太平洋;路径”(相关度0.54)。若阈值取0.8,则最终的隐式查询需求为“太平洋大厦;路径”和“海龙大厦;地址”。

最后在步骤4’,根据隐式查询需求,来生成扩展答案。

可以由多种方法生成需求相关数据库5,(1)利用现有的词相似度计算方法。基于Hownet、同义词林等现有的语义词典,计算词间的相似度。(2)采用本发明图5c所示的生成方法。计算语义相关、统计相关、字符串相似、服务相关,最后取平均值作为概念之间或问题类型之间的相关度。例如“海龙大厦”和“中关村大街”的语义相关度为1,统计相关度为0.7,则二者的相关度为(1+0.7)/2=0/85。

图2示出自然语言查询需求扩展设备的结构图。自然语言查询需求扩展设备具有包括查询接收器101和答案发送器102的接收/发送装置10,存储器20以及查询分析扩展装置30。在自然语言查询需求扩展设备通过查询接收器101接收到用户的自然语言查询请求时,将该自然语言查询请求传送到查询分析扩展装置30进行分析扩展处理,得到隐式查询需求,并生成扩展的查询需求答案。之后将处理后的查询需求扩展答案经过答案发送器102发送给用户。存储器存储有知识库201,语言库202以及相关度数据库203。查询分析扩展装置30包括:用于判断用户的自然语言查询请求是语义可理解查询需求、句法可理解查询需求还是句法不可理解查询需求的查询需求理解装置301,用于生成隐式查询需求的语义可理解查询需求扩展装置302、句法可理解查询需求扩展装置303、以及句法不可理解查询需求扩展装置304以及利用隐式查询需求来检索语言库、知识库以及信息数据库从而生成扩展的答案的扩展答案生成装置305。查询分析扩展装置30利用知识库201,语言库202,相关度数据库203来对自然语言查询进行扩展处理。

可以理解,虽然图2示出了知识库201,语言库202以及相关度数据库203和信息库(未示出)设置在自然语言查询需求扩展设备的内部,但是,可选的,知识库,语言库、相关度数据库以及信息库也可以设置在自然语言查询需求扩展设备的外部。此外,自然语言查询需求扩展设备还可以包括直接答案生成装置,可以根据用户的显式查询需求直接生成相应的查询答案。从而,利用本发明的自然语言查询需求扩展设备不但可以获得扩展的查询答案,而且可以获得用户的直接的查询答案。

存储器20存储有知识库201,语言库202,相关度数据库203以及信息数据库。其中,知识库201包括用于处理用户查询的语义知识。语言库202包括用于理解用户查询的语言模型。相关度数据库203包括用于扩展用户查询需求的相关性数据。信息数据库包括用于生成扩展答案和直接答案的具体领域数据。查询分析扩展装置30基于知识库、语言库以及相关度数据库可以从用户的自然语言查询中获得显式查询需求,并分析出用户的扩展查询需求,从而向用户反馈更充分、更完全的答案信息。下面将参考图3(a),图3(b),图4,图5a以及图5b来分别对知识库201,语言库202以及相关度数据库203进行描述。之后再对如何利用这些数据库进行自然语言查询需求扩展进行详细描述。

1.知识库

图3(a)示出知识库的一个示例结构。知识库由一组领域知识库和一个映射知识库组成。每个领域对应于一个领域知识库,用来记录该领域的语义知识。例如地图领域对应于地图知识库,黄页领域对应于黄页知识库。不同领域的知识并非完全孤立,它们经常存在许多关联,由一个映射知识库来记录不同领域知识库的概念间的各种关联。

一般的,领域知识库包括三部分:概念部分、属性部分和关系部分。

1)概念部分。概念部分包括该领域内所有的类别和个体。

例如在地图知识库中,概念部分包含电子地图中示出的所有地理类别和个体;类别用于描述各地点所属的类别,例如电子大厦、路都是类别,个体用于描述电子地图上的一个具体地点,例如,海龙大厦、中关村大街都是个体。

2)属性部分。属性定义了概念的性质。例如,经度、纬度等。每个属性都有一个项‘类型’表明属性的取值类型。

3)关系部分。关系部分描述了概念间的各种关联,如isa用来描述类别间、个体与类别间的隶属关系,near用来描述个体间的空间相邻关系。每个关系都有两个项“类型”和“性质”。“类型”表明关系的取值类型,“性质”主要有两种:传递性、对称性。若R(x,y)&R(y,z)→R(x,z),则R满足传递性,例如isa关系满足传递性;若R(x,y)→R(y,x),则R满足对称性,例如near关系满足对称性。

例如在地图知识库中,“isa(海龙大厦,电子大厦)”表示海龙大厦是一个电子大厦;再如“near(海龙大厦,中关村大街)”表示中关村大街在海龙大厦附近。

映射知识库只包含关系部分,具体包括同义映射关系部分、语言映射关系部分和空间映射关系部分。

1)同义映射关系部分。在同义词或缩略语之间进行映射。例如“synonymous(海龙大厦,海龙电子大厦)”表示二者是同义词。

2)语言映射关系部分。在同一概念的不同语言翻译之间进行映射。例如“chinese-english(中关村大街,Zhongguancun Street)”表示后者是前者的英文翻译。

3)空间映射关系部分。在空间相关的概念之间进行映射。例如“near(海龙大厦,320路公交车)”表示二者距离很近。

图3(b)示出知识库的一个层次结构图,其中,该层次结构是以各领域知识库的概念部分中的概念为结点,以各领域知识库的关系部分中的对应关系以及映射知识库中的对应关系为弧而自动生成的。

知识库的生成分为两个步骤:

首先根据服务提供者提供的信息库,自动生成各领域知识库。其方法为:1)利用现有的信息提取算法,从信息库中抽取各个概念,以形成包括类别和个体的概念部分;2)利用现有的信息提取算法,从信息库中提取数据字段做为属性部分;3)利用现有的信息提取算法,从信息库和语义词典中抽取概念之间的关系以形成包括类别间关系、个体间关系以及类别与个体间关系的关系部分。例如对地图领域,为了生成地图知识库,首先从电子地图数据库中抽取各个概念,以形成概念部分,其中概念包括类别和个体。之后,从电子地图库中抽取概念之间的隶属关系以形成关系部分,其中关系包括类别之间、个体与类别之间以及个体与个体之间的隶属关系和空间关系。可以基于现有的GIS平台所提供的功能进行上述处理。

其次根据各领域知识库中的概念,自动生成映射知识库。其方法为:

1)根据同义词典和简称规则库生成同义映射关系部分。同义词典包括概念及相关同义词,例如“银谷大厦,银谷电子大厦”表示“银谷大厦”和“银谷电子大厦”是同义词。简称规则库包括各短语的缩略语,例如“abbreviate(北京大学,北大)”表示“北京大学的简称是北大”。根据简称规则可以判断两个概念是否同义,例如根据abbreviate(北京大学,北大)”和“abbreviate(附属小学,附小)”,可以得到synonymous(北京大学附属小学,北大附小)。

2)根据多语言词典生成语言映射关系部分。

3)根据电子地图的GIS函数生成空间映射关系部分。

2.语言库

语言库包括用于理解用户查询的语言模型。语言库由领域查询语言和公用查询语言组成。每个领域对应一个领域查询语言,例如路况领域对应于路况领域查询语言,公交领域对应于公交领域查询语言,黄页领域对应于黄页领域查询语言。公用查询语言总结了各领域查询语言的共同的查询特征,它可以被各领域查询语言进行参数继承。领域查询语言和公用查询语言的表示方法是一样的。

图4示出了语言库的一个示例。查询语言包括四部分:问题类型、继承、文法和动作。

①问题类型部分。问题类型可以为任意字符串。例如“路况”。

②继承部分。继承部分描述了该问题类型可以继承的文法,例如“路况:属性值查询(?cate=路|桥,?A=路况)”表示“路况”的文法可以通过对参数?cate和?A的赋值来继承问题类型“属性值查询”的文法,即“<?C(路|桥)>[的]<路况>”也属于“路况”的文法。

③文法部分。文法部分总结了关于该问题类型的所有可能的自然语言查询,例如“<?C(路|桥)><堵|拥堵|畅通>”。文法部分由一组文法词组成,例如“?C”,“堵”,“拥堵”,“畅通”。文法部分中定义了一些特殊的符号:

●“|“指的是“或”逻辑运算。

●<?X(cons1|...|consm)>指X是一概念,consi(i=1...m)是一个约束条件,用于约束概念X的取值范围,consi一般是知识库中的一个类别,此处X只能被知识库中属于任意一个类别consi的个体来代替,即X需要满足isa(X,consi)。例如,<?C(路|桥)>只能被知识库中的路或桥的个体(如中关村大街)来代替。

●“[]”指的是在“[”和“]”中间的内容可有可无。

④动作部分。动作部分定义了该问题类型对应的查询动作,用于指明“当用户查询符合该问题类型的定义时,生成什么样的查询动作”,例如“路况查询(?C)”。查询动作提供对用户查询的理解结果,可以由答案生成装置来执行。

语言库的生成分为两个步骤:

首先,针对每个领域,收集各领域的用户可能的查询句子,并利用现有的句子相似度计算方法,计算各查询句子间的相似度,按相似度聚类,生成领域查询语言的文法部分。其次对每种文法,人工定义其问题类型和动作部分。例如根据“路况领域”中的查询句子“联想桥堵吗”,“北四环拥堵吗”,“学院路畅通吗”可得到问题类型“路况”的文法“<?C(路|桥)><堵|拥堵|畅通>”(“吗”是语气词不计入)。

其次,计算各领域查询语言的文法部分的相似度,抽取公用查询语言,并生成相应领域查询语言的继承部分。例如根据“路况”文法“<?C(路|桥)>[的]<路况>”和“地址”文法“<?C(地点)>[的]<地址>”,可得到“属性值查询”的文法“<?C(?cate)>[<的>]<?A>”,而“路况”文法的继承部分则为“属性值查询(?cate=路|桥,?A=路况)”。

3.相关度数据库

图5a示出了相关度数据库的一个示例。相关度数据库中记录了所有对象(知识库中的概念、语言库中的问题类型)之间的相关性的相关度数据。主要考虑四种相关性:

a.语义相关。表示不同概念之间的语义相关性。例如概念“海龙大厦”与“中关村大街”都是地点,且有空间邻近关系,则二者语义相关。具有语义相关性的两个概念既可以是个体,也可以是类别。

b.统计相关。表示不同概念在统计意义上的相关性。例如“海龙大厦”与“中关村大街”在文本中经常一起出现,则二者统计相关。

c.字符串相似。表示不同词语在描述形式上的相似性。例如“太平洋”与“太平洋大厦”在词语描述形式上相关,“太平洋”是“太平洋大厦”的子串,而“海龙”是“海龙大厦”的子串,所以,“太平洋”与“太平洋大厦”,“海龙”与“海龙大厦”字符串相似。

d.服务相关。表示不同问题类型所提供的服务的相关性。例如“地址”和“路径”都是关于位置服务的,所以“地址”和“路径”服务相关。

图5b示出了相关度数据库生成装置的示意结构图。该相关度数据库生成装置包括:利用知识库来生成语义相关性数据的语义相关度计算装置42,利用语料库生成统计相关性数据的统计相关度计算装置44,根据通用词典生成字符串相似性数据的字符串相似度计算装置46以及分析用户查询日志,生成服务相关性数据的服务相关度计算装置48。

图5c是相关度数据库生成装置生成相关度数据库的方法的流程。

在S401,语义相关度计算装置42基于知识库计算不同概念之间的语义相关度。参考图3(b),图3(b)中示出了以概念为结点,关系为弧形成的知识库的结构层次图。而不同概念之间的语义相关度可以由它们之间的最短路径来衡量,概念之间的最短路径越短,说明语义越相关。

语义相关度的计算公式如下:

其中Len(MinPath(x,y))为x与y之间的最短路径长度,即从x到y之间的最少弧数。例如图3(b)中“海龙大厦”与“中关村大街”间的最短路径为“海龙大厦-Near-中关村大街”,它们之间只有一条弧,故最短路径长度为1,因此“海龙大厦”和“中关村大街”的语义相关度为1。

在S402,统计相关度计算装置44计算统计相关度。通过对语料库进行统计来计算两个概念的互信息。本发明所使用的语料库包含从web上收集来的大约2,000,000个网页。互信息是信息论中的测度,用来衡量两个事件的关联程度。概念间的互信息越高,说明统计越相关。统计相关度的计算公式如下:

其中P(x,y)为x和y共同出现的概率,P(x)和P(y)分别为x和y独立出现的概率。例如“海龙大厦”与“中关村”共同出现的概率为0.98,分别出现的概率为0.14,则“海龙大厦”与“中关村”的统计相关度为0.7。

在S403,字符串相似度计算装置46计算字符串相似度。本发明使用一个公知的通用词典,其中存放了所有常见的词语(包括知识库中的所有概念),然后开始计算通用词典中各词间的字符串相似度。可以采用基于公知的编辑距离方法来求出字符串的相似度,即,要使两个概念串变成一样,需要多少次字符的替换、插入或删除操作。操作次数越少,字符串相似度越高。

字符串相似度的计算公式如下:

其中D(x,y)为使x与y相同的最少操作次数,Max(Len(x),Len(y))为x和y的字符串长度的最大值。例如在“太平洋”结尾插入两个字符,即可变成“太平洋大厦”,因此“太平洋”和“太平洋大厦”的字符串相似度为1-2/5=0.6。

在S404,服务相关度计算装置48计算服务相关度。已经记录了所有用户的查询日志,每个用户的查询日志包括该用户提交过的所有查询及对应的查询需求。服务相关度计算装置48对所有用户的查询日志进行分析,求出各查询的问题类型被用户连续询问的频度。两个问题类型越常被用户连续询问,则二者服务越相关。服务相关度计算公式如下:

服务相关度=P(Qn+1的问题类型为y|Qn的问题类型为x)(4)

上式表示用户上次查询的问题类型是x时,下次查询的问题类型是y的概率。例如用户在问完某地点的地址后,经常会接着问如何到达该地点,因此,说明“地址”问题类型和“路径”问题类型的服务相关度很高,经计算得到“地址”和“路径”的服务相关度为0.9。

图6a示出查询需求理解装置的结构图。查询需求理解装置301包括分词单元3011,与分词单元连接的匹配单元3012,与匹配单元连接的语义一致性判断单元3013,与语义一致性判断单元连接的显式查询需求生成单元3014以及与显式查询需求生成单元连接的需求类型判断单元3015。分词单元3011通过查找知识库201中各领域知识库的概念部分、语言库202中各领域查询语言和公用查询语言的文法部分,对用户查询进行分词。匹配单元3012用于将分词后的用户查询,与语言库进行匹配。语义一致性判断单元3013用于基于知识库201中各领域知识库的关系部分,判断用户查询中的概念是否满足问题类型对应的文法中定义的概念约束。显式查询需求生成单元3014根据匹配文法,获得与之对应的问题类型,并将查询概念与问题类型组合形成显式查询需求。需求类型判断单元3015用于判断用户查询所属的需求类型:语义可理解、句法可理解还是句法不可理解。

图6b示出查询需求理解装置执行查询需求理解的流程图。在S50,分词单元3011通过查找知识库201中各领域知识库的概念部分、语言库202中各领域查询语言和公用查询语言的文法部分,对用户查询进行分词。

例如用户查询“海龙大厦堵吗?”的分词结果为“海龙大厦;堵”,其中“海龙大厦”是地图知识库中的个体,“堵”是路况领域查询语言中的文法词。

在S52,匹配单元3012将分词后的用户查询,与语言库进行匹配,以找到与用户查询相匹配的文法。匹配顺序为:先匹配公用查询语言,若有匹配文法,则再参数匹配可继承该文法的领域查询语言,若没有可匹配的公用查询语言,则直接匹配各领域查询语言。

例如将用户查询“海龙大厦的路况”(其分词结果为“海龙大厦;的;路况”)与语言库匹配的过程为:先匹配公用查询语言,其匹配结果为“属性值查询:<?C(?cate)>[<的>]<?A>”;再继续匹配继承“属性值查询”的领域查询语言,其匹配结果为“路况:属性值查询(?cate=路|桥,?A=路况)”。

再如将用户查询“海龙大厦堵吗?”与语言库匹配的结果为“路况:<?C(路|桥)><堵|拥堵|畅通>”。

在S54,语义一致性判断单元3013基于知识库201中各领域知识库的关系部分,判断用户查询中的概念是否满足所匹配文法中定义的概念约束。约束判断方法为根据isa关系判断用户查询中的概念C是否满足文法中定义的概念约束“cons1|...|consm”之一,即是否有isa(C,consi),其中i=1...m,若不满足则用户查询存在语义错误(例如,可以使用图3(b)所示的层次关系图来帮助进行判断)。例如对于用户查询“海龙大厦堵吗?”,查询概念为“海龙大厦”,匹配文法中的相应概念约束为“路|桥”,但由于不存在isa(海龙大厦,路)和isa(海龙大厦,桥),因此语义一致性判断单元判断出用户查询中存在语义错误。

在S56,显式查询需求生成单元3014根据匹配文法得到查询概念及相应的问题类型,并生成显式查询需求。显式查询需求由查询概念及问题类型组成。参考图6c的示例,从用户查询“海龙大厦堵吗?”中提取出显式查询需求“海龙大厦;路况”。

在S58,需求类型判断单元3015根据显式查询需求,利用下述方法来判断该显式查询需求属于下列三种类型中的哪一种:语义可理解、句法可理解或句法不可理解。

①判断查询概念是否认识。查找知识库,看各查询概念是否在知识库中某领域知识库的概念部分中。若显式查询需求中没有查询概念,则认为存在不认识的查询概念。

②判断问题类型是否认识。查找语言库,看是否在其中。若显式查询需求中的问题类型为空,则认为存在不认识的问题类型。

③判断语义一致性。先根据问题类型,查找语言库,找到问题类型对应的文法中定义的概念约束;然后基于知识库,判断显式查询需求中的概念是否满足上述概念约束。约束判断方法与语义一致性判断单元3013中的约束判断方法相同。

④需求类型判断。根据以上模块的执行情况,判断用户查询所属的类型。

●若需求类型判断单元认识所有概念和问题类型,且无语义错误,则为语义可理解查询;

●若需求类型判断单元认识所有概念和问题类型,但存在语义错误,则认为是句法可理解查询;

●若需求类型判断单元有不认识的概念和/或问题类型,则认为是句法不理解查询。

对于图6c的示例的用户查询“海龙大厦堵吗?”,需求类型判断单元3015判断其类型为句法可理解查询。

图7a是根据本发明的语义可理解查询需求扩展装置的一个示例结构图。语义可理解查询需求扩展装置利用用户语义上可理解的查询需求,获得其隐式查询需求。该语义可理解查询需求扩展装置包括:相关问题类型获取单元3021,用于通过查找相关度数据库获取与用户的当前查询的问题类型间服务相关度高的问题类型,作为检索到的相关问题类型集合;相关查询概念获取单元3022,用于在相关问题类型获取单元未获取到相关问题类型时,查找相关度数据库,获取与当前查询的概念的相关度高的概念,作为检索到的相关查询概念集合;相关查询需求筛选单元3023,用于将相关查询概念集合和相关问题类型集合相互组合得到相关查询需求集合,并查找知识库和语言库,去除语义错误的相关查询需求;以及查询需求扩展生成单元3024,用于计算生成的相关查询需求与用户的当前查询之间的相关度,并选择相关度高的相关查询需求作为用户的扩展查询。

图7b示出了语义可理解查询的需求扩展过程。首先,在S601,由相关问题类型获取单元3021获取相关问题类型。相关问题类型获取单元3021针对显式查询需求所包括的问题类型,检索相关度数据库中的服务相关性数据,获取与显式查询需求的问题类型之间的服务相关度高的问题类型集合,作为相关问题类型集合。

在S602,如果没有检索到较为相关的问题类型,则针对显式查询需求所述的查询概念,相关查询概念获取单元3022检索相关度数据库中的语义相关性数据和统计相关性数据,获取与显式查询需求所述查询概念之间相关度高的所有概念,作为相关查询概念集合。

在S603,相关查询需求筛选单元3023筛选出有用的相关查询需求。首先根据上面得到的相关查询概念集合和相关问题类型集合,将其两两组合得到相关查询需求集合,其中,相关查询需求由相关查询概念和相关问题类型组成。其次,相关查询需求筛选单元3023通过查找知识库和语言库,检查每个相关查询需求中的概念是否满足该相关查询需求中的问题类型在语言库中定义的概念约束,若不满足,则说明该相关查询需求有语义错误,需要将其删除。其中,相关查询需求筛选单元3023所采用的概念约束判断方法与查询需求理解装置所采用的概念约束判断方法一样。

最后,在S604,查询需求扩展生成单元3024对于筛选得到的各个相关查询需求,计算其与用户显式查询需求之间的相关度,其值等于相关查询需求所述概念与显式查询需求所述概念间的相关度以及相关查询需求所述问题类型与显式查询需求所述问题类型间的相关度之和。之后,查询需求扩展生成单元3024根据相关度大小对相关查询需求进行排序,选取相关度高的相关查询需求,作为隐式查询需求。隐式查询需求可以是多个。

例如对用户查询“海龙大厦在哪里?”,其显式查询需求为“海龙大厦;地址”,由于问题类型“地址”和“路径”之间的服务相关度很高,而且海龙大厦也符合路径的文法“<如何|怎样|怎么><去|到|到达><?C(地点)>”中的概念约束“地点”。因此可生成扩展查询“海龙大厦;路径”。

此外,相关问题类型获取单元3021也可以在S601之后,将获取的相关问题类型与显式查询需求所包括的概念组合,作为隐式查询需求。图8a示出了句法可理解查询需求扩展装置的示意图。句法可理解查询需求扩展装置基于用户的显式查询需求利用用户的句法可理解的查询,对其查询进行扩展。句法可理解查询需求扩展装置303包括通过检索语言库,获取显式查询需求的查询概念属于知识库中的何种类别的概念约束获取单元3031,利用相关度数据库中的语义相关性数据和统计相关性数据,获得与显式查询需求的查询概念相关的概念的相关查询概念获取单元3032以及将相关查询概念与显式查询需求的问题类型组合生成隐式查询需求的查询需求扩展生成单元3033。

图8b示出了句法可理解查询需求扩展装置执行句法可理解查询需求扩展的流程图。

在S701,概念约束获取单元3031根据显式查询需求的问题类型,检索语言库,从而提取出该问题类型对应的文法中定义的概念约束,即用户查询概念应该隶属于知识库中的哪些类别。相关查询概念获取单元3032基于知识库和相关度数据库,获取与显式查询需求的查询概念相关的概念。相关查询概念获取单元3032根据显式查询需求的查询概念,检索相关度数据库中的语义相关性数据和统计相关性数据,找到与显式查询需求的查询概念之间相关度高的所有概念的集合。之后,相关查询概念获取单元3032基于概念约束获取单元得到的概念约束,通过查找知识库,筛选出满足约束的相关查询概念。相关查询概念获取单元所采用的概念约束判断方法与查询需求理解装置所采用的概念约束判断方法相同。

在S703,查询需求扩展生成单元3033根据获取的相关查询概念,与显式查询需求的匹配问题类型组合生成隐式查询需求。

例如对用户查询“海龙大厦堵吗?”,其显式查询需求为“海龙大厦;路况”,其中查询概念“海龙大厦”不满足问题类型“路况”对应的文法中定义的概念约束“路|桥”,而与“海龙大厦”在语义和统计上都相关的概念“中关村大街”是一条路,符合约束“路|桥”,因此可生成隐式查询需求“中关村大街;路况”。

图9a是根据本发明的句法不可理解查询需求扩展装置的示意图。句法不可理解查询需求扩展装置对于句法不理解的查询,根据用户的显式查询需求,利用相关度数据库中的字符串相似数据获得其隐式查询需求。句法不可理解查询需求扩展装置包括用于通过检索语言库,获取与用户查询相似的问题类型的相似问题类型获取单元3041;用于对用户查询中未识别的概念,通过知识库和语言库,猜测该未识别概念的含义的概念含义猜测单元3042;根据相关度数据库中的字符串相似数据以及知识库,获取与未识别概念相似的概念的相似查询概念获取单元3043;以及生成隐式查询需求的查询需求扩展生成单元3044。

图9b示出了句法不可理解查询需求扩展装置执行的句法不可理解查询需求扩展方法的流程图。如果查询需求理解装置301既不认识显式查询需求中的概念,也不认识显式查询需求中的问题类型,则在S801,相似问题类型获取单元3041根据查询需求理解装置对用户查询的分词结果,检索语言库,以从中检索到与用户查询最相似的文法,并提取出与该文法对应的问题类型作为相似问题类型。

在S802,概念含义猜测单元3042对于用户查询中未识别的概念,利用基于上下文的概念含义以及基于文法约束的概念含义来猜测未识别概念所隶属的类别。其中,基于上下文的概念含义猜测包括:对于用户查询中出现的每个词,概念含义猜测单元3042在知识库中进行查找。若该词在知识库中出现,而且从知识库中找到了与该词有语义关系的类别,则可以猜测未识别概念与该类别之间可能也存在着某种语义关联。基于文法约束的概念含义猜测包括:根据由相似问题类型获取单元3041得到的相似问题类型,由概念含义猜测单元3042检索语言库,从而提取出该问题类型对应的文法中定义的概念约束,即用户查询概念应该隶属于知识库中的哪些类别,则未识别概念可能也隶属于这些类别。然后,概念含义猜测单元3042综合基于上下文的概念含义猜测结果以及基于文法约束的概念含义猜测结果,求其交集,从而得到未识概念应属的类别。

在S803,相似查询概念获取单元3043根据相关度数据库和知识库,获取与未识别概念相似的概念。首先,相似查询概念获取单元3043基于相关度数据库中的字符串相似数据,获取所有与未识别概念之间字符串相似度较高的概念;之后如果概念含义猜测单元猜测出了未识概念应属的类别,那么这里需要从所有字符串相似的概念中,筛选出符合步骤S802获得的类别的概念。约束判断方法与查询需求理解装置所采用的约束判断方法相同。

在S804,查询需求扩展生成单元3044根据上面得到的相似概念和相似问题类型,组合生成隐式查询需求。

例如对用户查询“我想买台电脑,怎么去太平洋?”,系统不认识“太平洋”,也没有可匹配的查询问题类型。首先,找到与用户查询相似的文法“文法:<如何|怎样|怎么><去|到|到达><?C(地点)>”,并取出该文法对应的问题类型“路径”;其次,猜测“太平洋”的含义,从图3(b)所示的知识库中可以看出,“电子大厦”与用户查询中的词“电脑”有关系“sell(电子大厦,电脑)”,而且相似问题类型“路径”对应文法中的概念约束为“地点”,而且“isa(电子大厦,地点)”,因此可以猜测“太平洋”属于类别“电子大厦”;然后,获取相似概念,从图6a中可以发现“太平洋”与“太平洋大厦”字符串相似,并且从图3(b)中可以看出“太平洋大厦”也属于类别“电子大厦”,因此我们将“太平洋大厦”作为相似概念;最后,生成隐式查询需求“太平洋大厦;路径”。

如果查询需求理解装置301不认识显式查询需求中的概念,但认识显式查询需求中的问题类型,则概念含义猜测单元3042对于用户查询中未识别的概念,利用基于上下文的概念含义以及基于文法约束的概念含义来猜测未识别概念所隶属的类别。相似查询概念获取单元3043基于相关度数据库中的字符串相似数据,获取所有与未识别概念之间字符串相似度较高的概念,作为相似概念。如果概念含义猜测单元3042猜测出未识别概念应属的类别,那么需要从所有字符串相似的概念中,筛选出符合所获得的类别的概念。约束判断方法与查询需求理解装置所采用的约束判断方法相同。

之后,由查询需求扩展生成单元3044将得到的相似概念和显式查询需求中的问题类型进行组合生成隐式查询需求。

如果查询需求理解装置301不认识显式查询需求中的问题类型,但认识显式查询需求中的概念,则相似问题类型获取单元3041根据查询需求理解装置对用户查询的分词结果,检索语言库,以从中检索到与用户查询最相似的文法,并提取出与该文法对应的问题类型作为相似问题类型。之后,由查询需求扩展生成单元3044将得到的相似问题类型和显式查询需求中的概念进行组合生成隐式查询需求。

在对用户的查询进行了语义可理解查询、句法可理解查询以及句法不可理解查询处理之后,扩展答案生成装置305生成与隐式查询需求对应的扩展答案。具体步骤包括:首先,根据隐式查询需求中的问题类型,检索语言库,得到该问题类型对应的查询动作,再将隐式查询需求中的查询概念替换到查询动作的相应位置,从而生成隐式查询需求所对应的具体动作;然后根据具体动作来检索知识库及后台信息库,从而得到相应的答案信息,具体实现方法取决于具体的服务领域和信息库的格式,这里可以使用公知的方法,具体不再赘述。例如,对于扩展查询需求“海龙大厦;路径”,其中路径问题类型的查询动作为“路径查询(?C)”,将“?C”替换为“海龙大厦”后,得到对应的具体动作“路径查询(海龙大厦)”,然后经检索得到答案“320路公交车可以到海龙大厦”。

在对用户的查询进行了查询需求理解之后,直接答案生成装置生成与显式查询需求直接对应的答案。具体步骤包括:若用户查询属于语义可理解查询,则根据显式查询需求检索语言库、知识库及后台信息库,从而生成相应答案,具体检索和生成方法与扩展答案生成的方法相同;若用户查询属于句法可理解查询或句法不可理解查询,则生成相应的错误提示信息。例如对于显式查询需求“海龙大厦,路况”,属于句法可理解查询,系统生成直接答案“海龙大厦不是路或桥,系统找不到它的路况信息”。

图10a-10c分别示出了如何利用知识库、语言库以及相关度数据库进行语义可理解查询、句法可理解查询以及句法不可理解查询的三个示例。

图11示出根据本发明另一实施例的自然语言查询需求扩展设备的示意图。与图2所示的自然语言查询需求扩展设备比较,图11示出的自然语言查询需求扩展设备不包括句法可理解查询需求扩展装置和句法不可查询需求扩展装置。出于清楚描述的目的,省略了对上述装置的类似的描述。此外,虽然图11示出了知识库201,语言库202以及相关度数据库203设置在自然语言查询需求扩展设备的内部,但是,可选的,知识库可以设置在自然语言查询需求扩展设备的外部。以及,自然语言查询需求扩展设备可以仅包括语义可理解查询需求扩展装置、句法可理解查询需求扩展装置和句法不可查询需求扩展装置中的至少之一。

根据本发明另一实施例,自然语言查询需求扩展设备也可以只包括句法可理解查询需求扩展装置或者句法不可理解查询需求扩展装置。

以及,可以理解的,虽然以中文路况查询为例,示出了路况查询的扩展处理,但是发明的查询需求扩展设备还可以应用于信息检索、智能教学、推荐系统等。以及对于本领域技术人员显而易见的是本发明也可以用于其它语言的路况查询的扩展处理,例如,英语和日语等。

尽管已经结合示例描述了本发明,本领域的技术人员可以理解的是,在不偏离本发明的原理和精神的前提下,可以在本实施例中进行改变,本发明的范围由所附权利要求及其等价物限定。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号