专利名称:基于自然语言的服务选择系统与方法以及服务查询系统与方法
技术领域:
本发明涉及自然语言的处理领域,具体地,涉及一种基于自然语言 的服务选择系统与方法, 一种服务查询系统与方法,该基于自然语言 的服务选择系统与方法以及该服务查询系统与方法可以对用户的不完 整查询进行补充,从而可以获得选择的服务,并提供相应的查询答案。
背景技术:
目前存在的基于自然语言的服务选择系统允许用户利用自然语言来查询各种服务,然后该系统将从各种服务中选择出与用户查询对应的服务并将答案反馈给用户。但是目前的基于自然语言的服务选择系统仅仅能够处理用户完整的自然语言查询,当用户输入的査询不完整时,即缺少一些必要参数时,则该系统难以有效处理,特别是难以发现查询中缺失的部分。己经存在的一些基于自然语言的服务选择系统可以根据用户输入 的查询,进行分析,并检索服务数据库从而从各种服务中选择出与用 户查询对应的服务。专利申请No.JP2002351913可以根据用户对各web服务的访问历 史(具体包括用户名,最长等待时间,服务类型,最近访问时间等), 来从各种web服务中选择出有最佳等待时间的web服务,以避免网络 和服务的负载过大。专利申请No.JJP2004054781可以从用户的自然语言查询中提取 出检索关键词,然后从各种服务中选择出与检索关键词对应的服务。专利申请No.JJP2004288118根据服务提供者提供的服务注册数 据,不但可以从各种服务中选择出用户查询所对应的服务,还可以选 择出与其相关的其它服务。
为了解决上述问题,提出了本发明。本发明的目的在于可以对不 完整的查询信息进行有效的处理,即使当用户输入的查询不完整时, 也能够进行相应的处理,获得选择的服务。从而可以获得查询答案。根据本发明第一方面,提出了一种基于自然语言的服务选择系 统,用于对不完整查询进行补充,包括语义分析设备,用于对来自 用户的查询执行语义分析;服务选择设备,用于根据语义分析后的查 询对不完整的查询进行补充,从而获得选择的服务;以及检索设备, 用于根据选择的服务检索答案。根据本发明第二方面,提出了一种基于自然语言的服务选择方 法,用于对不完整查询进行补充,包括语义分析步骤,对来自用户 的査询执行语义分析;服务选择步骤,根据语义分析后的查询对不完 整的查询进行补充,从而获得选择的服务;以及检索步骤,根据选择 的服务检索答案。根据本发明第三方面,提出了一种査询系统,包括査询接收器, 用于接收用户查询;语义分析设备,用于对用户查询进行分词,以及 对分词后的用户查询进行语义分析;服务选择设备,用于根据语义分 析后的査询对不完整的査询进行补充,从而获得选择的服务;检索设 备,用于根据选择的服务进行检索,以获取相应答案;以及答案发送 器,用于将检索获得的相应答案发送给用户。根据本发明第四方面,提出了一种查询方法,包括査询接收步 骤,接收用户查询;语义分析步骤,对用户査询进行分词,以及对 分词后的用户査询进行语义分析;服务选择步骤,根据语义分析后的 査询对不完整的査询进行补充,从而获得选择的服务;检索步骤,根 据选择的服务进行检索,以获取相应答案;以及答案发送步骤,将检 索获得的相应答案发送给用户。根据本发明第五方面,提出了一种查询系统,包括查询接收器, 用于接收用户査询;语义分析设备,用于对用户查询进行分词,以及 对分词后的用户查询进行语义分析;判断设备,用于判断用户查询是 否是完整的查询;第一服务选择设备,用于对完整的査询执行处理, 从而获得第一选择的服务;第二服务选择设备,用于对不完整的查询
进行补充,从而获得第二选择的服务;检索设备,用于根据第一选择 的服务或第二选择的服务执行检索,以获取相应答案;以及答案发送 器,用于将检索获得的相应答案发送给用户。根据本发明第六方面,提出了一种查询方法,包括查询接收步 骤,接收用户查询;语义分析步骤,对用户査询进行分词,以及对分 词后的用户査询进行语义分析;判断步骤,判断用户査询是否是完整 的查询;第一服务选择步骤,对完整的查询执行处理,从而获得第一 选择的服务;第二服务选择步骤,对不完整的查询进行补充,从而获 得第二选择的服务;检索步骤,根据第一选择的服务或第二选择的服 务执行检索,以获取相应答案;以及答案发送步骤,将检索获得的相 应答案发送给用户。
图la是示出了根据本发明的基于自然语言的服务选择系统的示意图;图lb是示出了根据本发明的基于自然语言的服务选择方法的流程图;图2a是示出了根据本发明的服务映射规则库的一个示例结构图;图2b是示出了服务映射规则库的生成方法的流程图;图3是示出了根据本发明的用户查询历史库的一个示例结构图;图4a是示出了根据本发明的常识库的一个示例结构图;图4b是示出了已知的语义分析装置的示意图;图5a是示出了根据本发明的服务选择装置的示意图;屈5b是示出了根据本发明的服务选择方法的示意图;图6a是示出了根据本发明的半自动的服务选择部分的结构图;图6b是示出了半自动的服务选择方法的流程图;图6c示出了半自动的服务选择的一个示例;图7a是示出了根据本发明第一实施例的自动的服务选择部分的结构 图;图7b是示出了根据本发明第一实施例的自动的服务选择方法的流程 图;图7c示是服务选择的一个示例;
图8a是根据本发明第二实施例的服务选择部分的结构图; 图8b是根据本发明第二实施例的服务选择方法的流程图;图8C是服务选择的另一个示例;图9a是示出了根据本发明第三实施例的服务选择部分的结构图;图9b是示出了根据本发明第三实施例的服务选择方法的流程图; 图9C是根据本发明的服务选择的另一个示例;图10a是示出了根据本发明一个实施例的基于自然语言的服务查询系 统的结构图;图10b是示出了基于自然语言的服务査询系统执行查询的一个示意 图。;图lla和llb分别示出了检索方法的第一和第二实施例的流程图; 图12a和12b分别示出了在移动终端与ASP中使用的服务选择装置的示意图。
具体实施方式
下面,将参考附图描述本发明的优选实施例。在附图中,相同的元件将由相同的参考符号或数字表示。此外,在本发明的下列描述中,将省略对已知功能和配置的具体描述,以避免使本发明的主题不清楚。 通常,当用户输入的查询不完整时,现有的查询设备不能对其进 行处理,从而用户不能够得到所期望的查询答案。根据本发明的服务 选择系统可以对用户的不完整的査询进行补充,从而可以检索到用户 所期望的答案。图la示出了根据本发明的基于自然语言的服务选择系 统。该基于自然语言的服务选择系统包括查询接收器IO,用于接收用 户通过例如移动电话的移动终端输入的自然语言查询;语义分析装置 20,用于对接收到的自然语言查询进行分析,获得结构化的语义分析 结果;服务选择装置30,用于根据语义分析结果,确定査询表述不完 整的用户查询中缺失的部分,并进行补充,从而获得选择的服务;检 索装置40,用于根据选择的服务检索到对应的答案;答案发送器50, 用于将检索到的答案发送到用户终端。该服务选择系统还包括例如硬 盘的存储装置16,存储了服务映射规则库160,用户査询历史库162, 常识库164。图la示出了基于自然语言的服务选择方法的流程图。在SIOI, 查询接收器10接收用户利用诸如移动电话的移动终端发送的自然语 言查询,并传送给语义分析装置20。在S102,语义分析装置20对接 收到的用户的基于自然语言的査询进行分析。图4b示出了一个已知的 语义分析装置的结构图。该语义分析装置用于理解用户的自然语言査 询,从而得到结构化的语义分析结果,包括查询分词单元401,用 于利用词典等词库对自然语言查询进行分词;以及语义标注单元402,用于根据语义知识库对分词结果进行语义标注,生成对应的语义分析 结果。语义分析结果通常由一个需求和一组参数和参数值组成,每个 参数对应于相应的参数值。例如,参考图4b,当用户输入的自然语言 查询是"今天北京有多热 "时,由查询分词单元401对该自然语言查询 进行分词,获得的分词结果为"今天;北京;有;多热"。之后,由语 义标注单元402对分词结果再进行语义分析。根据语义知识库,可知 "北京指的是一个地点"和"今天指的是一个日期"从而,语义标注单元 402将自然语言査询中的"北京"一词标注为第一参数"地点"的参数值, 将"今天"一词(参数值)标注为第二参数"日期"的参数值,另外提取 出疑问词"多热"作为需求,所以获得的语义分析结果为"需求多热,地点北京,日期今天"。在步骤S103,服务选择装置30利用服务映射规则库160,用户 査询历史库162或者常识库164对执行语义分析后的自然语言查询进 行完整性分析,并补充缺失的内容,从而获得选择的服务,该服务是 基于该用户查询从服务映射规则库提供的服务中选择的。在步骤 S104,检索装置40根据选择的服务检索到对应的答案。检索装置可 以只返回与用户查询对应的答案,如图lla所示,其采用的方法如下① 信息搜索。根据选择的服务中的服务类型,找到与服务类型对 应的服务提供者,然后将选择的服务中的服务参数发送给服务 提供者,由服务提供者去搜索并返回相应的检索结果;② 答案生成。根据服务提供者返回的检索结果,生成最终答案。 如果有多个服务提供者,则还要对各检索结果进行集成。集成 方法可以采用公知的方法,例如基于服务提供者信誉度的排序 等。例如对用户査询"北京有多热 ",系统可以根据选择的服务"服务 类型天气;地点北京;日期今天",找到与服务类型"天气"对应 的服务提供者,如中国气象局、问天网,然后将服务参数"地点北京; 日期今天"发送给上述服务提供者并接收和集成它们返回的检索结果。
检索装置40还可以返回相关的答案,如图llb所示,其步骤还包 括相关服务发现,用于发现与用户查询相关的其他服务。例如当用户 查询如何到某地方时,系统除提供路径外,还提供天气、路况等相关 服务的信息。具体方法可以采用公知的方法,例如预先定义一张服务 相关度表,用来记录不同服务类型间的相关度,然后根据服务相关度 表来发现相关服务类型。在S105将检索到的答案通过答案发送器50发送到用户终端。由于本发明的服务选择系统的服务选择装置30利用服务映射规则 库160,用户查询历史库162或者常识库164来确定査询中的缺失部分, 从而对缺失的部分进行补充来获得选择的服务。所以,下面将参考图 2a, 2b,图3和图4分别对服务映射规则库160、用户査询历史库162以 及常识库164的结构进行描述,之后结合服务映射规则库、用户査询历 史库以及常识库再对本发明的服务选择系统进行描述。服务映射规则库160存储有多组服务映射规则。当用户的自然语 言查询与服务映射规则库160中的规则匹配成功时,则可以找到与该 规则对应的服务。图2a示出了服务映射规则库160的一个示例。参考 图2a, 一条服务映射规则通常由编号、需求、服务类型和服务参数组 成,其中,需求表示用户的査询问题是什么,BP,用户期望获得与什 么服务有关的答案。服务类型规定了对应的査询问题所属的服务种类。 服务参数表示服务类型可以由什么参数表示,以及服务参数描述了服 务的调用接口,服务提供者可以根据服务参数来进行检索。服务映射 规则库160中存储的每一条规则表示了"当用户查询符合指定需求时, 那么该查询对应于哪种服务类型,相应的服务参数又是什么"。例如图2a中的第一条映射规则表示,当用户査询的需求为"多热" 时,该査询对应于服务类型"天气",服务参数为地点和日期。生成服务映射规则的方法的一个示例在图2b中示出。图2b示出 了生成服务映射规则库的一个示例方法。首先,从各个服务提供者那 里收集真实的用户查询集合。之后根据收集的用户査询建立查询语料 库,可以利用现有的语义分析方法对每个用户查询进行分析,得到语 义分析结果,从而建立査询语料库。最后,分析查询语料库中关于每 个服务类型的所有査询的标注结果间的相似性,然后从中提取服务映 射规则,写入服务映射规则库。例如,首先从天气服务提供者那里收集常见的查询如"今天北京有 多热?"、"明天上海有多热?",然后通过语义分析来得到语义分析结 果,建立査询语料库,最后分析与服务类型"天气"有关的所有查询,
提取出共同的需求"多热"以及共同的参数"地点"和"日期",从而生成 一条"天气"的服务映射规则。虽然可以自动生成服务映射规则库,但 是也可以通过人工总结各种服务的映射规则来手动生成服务映射规则 库。此外,还可半自动地生成服务映射规则库,g卩,先自动生成服务 映射规则,之后由人工对规则进行校对。图3示出了用户查询历史库的示例。用户查询历史库存储了所有 用户的查询记录。 一条用户查询记录通常由用户、查询问题、查询时 间、服务类型和查询参数组成。其中,查询参数可以包括一组参数, 其中各个参数都有与其对应的参数值。参考图3,用户査询历史库中的第一条用户查询记录表示,Tom 在2007年8月2日16点25分查询过"北京饭店在哪里 ",对应的服 务类型是"位置",参数"地点"的参数值是"北京饭店"。用户查询历史的生成方式是自动生成。系统每处理完一个用户査 询后,便将该查询的用户、查询问题、査询时间以及选择的服务保存 为一条查询记录。图4a示出了常识库的一个示例。常识库描述了约定俗成的或默认 的知识。如图4a,每条常识通常由序号、服务类型、缺失参数和默认 值组成,其含义为"当用户査询某服务时,如果缺少某参数,则该参数 的默认值为什么"。例如第一条常识表示"当用户查询路况服务时,如 果用户没有描述时间,那么默认为现在(即当前时刻)",第二条常识 表示"当用户查询天气服务时,如果用户没有描述日期,那么默认为今 天(即当天)"。常识库主要由人工根据各个服务的特征总结而成。图5a示出了根据本发明的服务选择装置的示意结构图。 一般地, 用户输入的自然语言査询可能是不完整的,缺少必要的参数值。例如, 如果用户希望分别查询北京今天有多热以及从中关村如何到达北京机 场,而用户输入的查询为"北京有多热?"或者"怎么到达北京机场?", 上述查询分别缺少参数值"今天",以及参数值"从中关村"。如果采用 已知的基于自然语言的服务选择系统,则无法对用户输入的此类不完 整的查询进行处理,以及用户不能够获得其希望提供相关服务的答案。 本发明提供的服务选择装置通过对此类不完整的査询以自动或半自动 的方式进行补充,从而获得选择的服务。所以,即使当用户输入的査 询不完整时,通过采用本发明的服务选择装置,也可以生成完整的査 询,从而可以向用户提供相应的査询答案。参考图5a,服务选择装置包括输入部分(未示出),用于接收语 义分析装置分析后的用户査询;自动的服务选择部分51,用于根据用 户的自然语言查询利用服务映射规则库160,用户查询历史库162以 及常识库164中的至少一个自动地对不完整的查询进行补充,从而获 得选择的服务;半自动的服务选择部分52,用于当自动的服务选择部 分51没有获得选择的服务通过与用户进行交互而对不完整的查询进 行补充,从而获得选择的服务,或者在用户认为自动的服务选择部分 51的结果不符合其査询的情况下,对不完整的查询进行补充;以及输 出部分(未示出),用于输出选择的服务。图5b示出了根据本发明的服务选择方法的流程图。在S501,服 务选择装置接收语义分析的查询。在S502,由自动的服务选择部分 51根据用户的自然语言查询利用服务映射规则库、用户查询历史库以 及常识库中的至少一个自动地对不完整的查询进行补充,获得选择的 服务。在S503,当自动的服务选择部分51没有获得选择的服务或者 在用户认为自动的服务选择部分51的结果不符合其查询的情况下,由 半自动的服务选择部分52通过与用户进行交互而对不完整的查询进 行补充,获得选择的服务。图6a示出根据本发明的半自动的服务选择 部分52的具体结构图。该半自动的服务选择部分52包括输入单元61, 用于接收对用户的自然语言査询进行分析得到的语义分析结果;缺失 内容查找单元62,用于将语义分析结果与服务映射规则库中的服务映 射规则进行匹配,找到匹配的服务映射规则,根据匹配的服务映射规 则确定缺失的服务参数,然后从匹配的服务映射规则中取出服务类型 和查询中缺失的服务参数;用户交互单元63,用于与用户进行交互, 获得用户的反馈信息;参数值提取单元64,用于从用户的反馈信息中 提取出缺失参数值;查询补充单元65,用于将获得的服务类型、缺失 的服务参数以及缺失参数值填充到语义分析结果的相应位置处,从而 对不完整的用户査询进行了完整性补充以生成相应的选择的服务;以 及输出单元66,用于将补充后的选择的服务输出。图6b示出了半自动的服务选择方法的流程图。在S601,输入单 元61接收来自用户终端的语义分析后的自然语言查询。在S602,缺 失内容查找单元62将语义分析结果与服务映射规则库中的服务映射 规则进行匹配,找到相匹配的服务映射规则,并确定缺失的服务参数, 之后,从匹配的服务映射规则中取出该查询所属的服务类型和査询中 缺失的服务参数。缺失内容査找单元所采用的匹配方法包括(1)服 务映射规则的需求等于语义分析结果中的需求;(2)服务映射规则的 服务参数要包含语义分析结果中的所有参数。在S603,根据在S602 中得到的缺失参数,生成提示用户输入缺失参数值的提示信息,并发
送给用户,以及从用户接收对提示信息的反馈信息。在S604,在收到 用户的反馈信息后,由于用户的反馈信息中除了缺失参数的值外,可 能还会有一些其它的词,因此需要从用户反馈中提取出缺失参数值。 可以利用语义分析中的采用的语义标注方法,对用户的反馈信息进行 语义标注,从中找出属于与缺失参数对应的词作为缺失参数值。在 S605,查询补充单元65将获得的服务类型,缺失参数以及缺失参数 值填充到语义分析结果中,从而对不完整的查询进行了补充,生成了 选择的服务。最后,在S606,输出单元输出选择的服务。除了可以进 行半自动的与用户进行交互的服务选择之外,还可以采用自动的服务 选择。图6c示出了自动的服务选择的一个例子。用户查询"北京有多 热 ",其语义分析结果为"需求多热;地点北京"。參首先进行缺失查找由于服务映射规则库的第一条规则的需求"多热"等于语义分析结果的需求,并且其服务参数"<地点>; <日期>"也包含语义分析结果的参数"地点",因此将第一条规则作为匹配规则,并取出服务类型"天气",并将"日期"作为查询中缺失的参数; *其次进行用户交互生成提示信息"您想査询哪天的天气 "并发给用户,然后收到用户反馈"我想査今天"; *然后进行参数值提取用户反馈中的词"今天"属于缺失参数"日期",因此将"今天"作为缺失参数值; *最后进行査询补充将服务类型"天气"、缺失参数"日期"和缺失参数值"今天"填入语义分析结果,从而得到选择的服务"服务类型天气;地点北京;日期今天"。图7a示出了根据本发明的自动的服务选择部分61的第一实施 例。该自动的服务选择部分61是基于用户的当前查询历史库对用户的 自然语言查询处理进行相应的补充的。该服务选择部分61包括输入单 元71,用于接收输入的语义分析结果;当前用户査询历史库77,该查 询历史库中记录"用户=当前查询用户"所执行査询的所有记录;缺失 内容査找单元72,用于将语义分析结果与服务映射规则库中的服务映 射规则进行匹配,找到匹配的服务映射规则,根据匹配的服务映射规 则确定缺失的服务参数,然后从匹配的服务映射规则中取出服务类型 和查询中缺失的服务参数;最近查询检测单元73,用于检测用户最近 查询的历史,即,用户上一次提交的查询,如果用户最近查询中包括
当前查询缺失的参数,则将对应的缺失的参数值提取出来;相似查询 检测单元74,用于在最近查询检测单元73没有找到包含当前查询缺 失的参数以及相应的参数值时,则在当前用户查询历史库77中查找与 当前查询相似的查询,如果相似査询中包含当前查询缺失的参数,则 提取出对应的参数值;查询补充单元75,用于将获得的服务类型,缺 失参数以及缺失参数值补充到语义分析结果中,从而获得相应的选择 的服务;以及输出单元76,用于输出选择的服务。图7b示出了第一实施例的自动的服务选择的方法的流程图。在 S701,通过输入单元71接收来自用户的语义分析后的自然语言查询。 在S702,缺失内容查找单元71执行不完整查询的缺失查找。将语义 分析结果与服务映射规则库160中的服务映射规则进行匹配,找到相 匹配的服务映射规则,并确定缺失的服务参数,之后,从匹配的服务 映射规则中取出该查询所属的服务类型和査询中缺失的服务参数。缺 失内容査找单元所采用的缺失查找匹配方法与图6b中的缺失内容查 找步骤的方法相同。在S703,最近査询检测单元查找用户上一次提交的查询。通常, 用户在连续提交多个査询时,可能会省略掉一些词语,因此首先检测 最近查询,即用户上一次提交的査询,可以加快查找速度。具体方法 为从当前用户查询历史库77中找到用户最近的一次査询,其中可以 设定查询时间间隔不超过特定阈值,然后检査其最近的查询中是否包 含当前查询缺失的参数,若包含,则将对应的参数值提取出来,作为 缺失的参数值,并执行步骤S705。否则,执行步骤S704。在S704,相似査询检测单元74在当前用户查询历史库中查找与 当前查询相类似的查询,如果相似査询中包含当前査询缺失的参数, 则将与参数对应的参数值提取出来。其中,釆用的相似査询的判断方 法是如果(1)缺失内容查找步骤得到的服务类型与当前用户査询历 史库中的历史査询的服务类型相同;和/或(2)当前用户查询历史库 中的历史查询的服务参数包含语义分析结果的所有参数(优选的,参 数值相同),则将该査询作为相似查询。S705,将获得的服务类型,缺失参数以及缺失参数值补充到语义 分析结果中,从而获得相应的选择的服务。最后,在S706,输出生成 的选择的服务。图7c示出了一个执行服务选择的示例。用户Tom査询"如何联 系 ",其语义分析结果为"需求如何联系"。*首先进行缺失查找由于服务映射规则库中的第二条规则的
需求"如何联系"等于语义分析结果的需求,并且语义分析结 果中没有参数,因此将第二条规则作为匹配规则,并取出服 务类型"电话",并将服务参数"地点"作为查询中缺失的参数; *其次检测最近查询用户上次提交的査询为"北京饭店在哪 里 ",其查询参数为"地点北京饭店",包含缺失参数"地点", 于是提取出对应的参数值"北京饭店"; *由于最近查询检测成功,于是不再检测相似查询; *最后进行查询补充将服务类型"电话"、缺失参数"地点"和 缺失参数值"北京饭店"填入语义分析结果,从而得到选择的 服务"服务类型电话;地点北京饭店"。 图8a示出了根据本发明第二实施例的自动的服务选择装置。 该自动的服务选择部分是基于其它用户查询历史库对用户的自然 语言查询处理进行相应的补充的。该服务选择部分包括输入单元81, 用于接收输入的语义分析结果;其他用户查询历史库86,存储有所有 的其他用户的査询历史;缺失内容查找单元82,用于将语义分析结果 与服务映射规则库中的服务映射规则进行匹配,找到匹配的服务映射 规则,根据匹配的服务映射规则确定缺失的服务参数,然后从匹配的 服务映射规则中取出服务类型和查询中缺失的服务参数;相似查询检 测单元83,用于在其他用户查询历史库86中査找与当前査询相似的 查询,并从该相似査询中提取出参数值,作为当前査询缺失的参数值; 查询补充单元84,用于将获得的服务类型,缺失参数以及缺失参数值 补充到语义分析结果中,从而获得选择的服务;以及输出单元85,用 于输出选择的服务。图8b是根据本发明第二实施例的服务选择方法的流程图。 在S801,通过输入单元81接收来自用户的语义分析后的自然语 言査询。在S802,缺失内容查找单元82执行不完整查询的缺失查找。 将语义分析结果与服务映射规则库中的服务映射规则进行匹配,找到 相匹配的服务映射规则,并确定缺失的服务参数,之后,从匹配的服 务映射规则中取出该查询所属的服务类型和查询中缺失的服务参数。 缺失内容查找单元所采用的缺失查找匹配方法与图6b中的缺失内容 査找步骤的方法相同。在S803,相似查询检测单元83在其他用户查询历史库中查找与 当前査询相类似的查询,如果相似查询中包含当前查询缺失的参数, 则将与参数对应的参数值提取出来。其中,采用的相似查询的判断方 法是如果(1)缺失内容查找步骤得到的服务类型与其他用户查询历 史库中的历史查询的服务类型相同;和/或(2)其他用户查询历史库 中的历史查询的服务参数包含语义分析结果的所有参数(优选的,参 数值相同),则将该查询作为相似查询。S804,将获得的服务类型,缺失参数以及缺失参数值补充到语义 分析结果中,从而获得选择的服务。最后,在S805,输出获得的选择 的服务。图8c示出了一个执行服务选择的示例。用户输入的查询为"北京 有多热 ",其语义分析结果为"需求多热;地点北京"。*首先进行缺失查找由于服务映射规则库中的第一条规则的需求"多热"等于语义分析结果的需求,并且其服务参数"<地点>; <日期>"也包含语义分析结果的参数"地点",因此将第 一条规则作为匹配规则,并取出服务类型"天气",并将"日期" 作为查询中缺失的参数; *其次检测相似査询另一个用户John曾经査询过"今天北京 有多热 ",由于其服务类型也是"天气",并且其查询参数"地 点北京;日期今天"包括语义分析结果的参数"地点"并且 参数值都是"北京",因此认为是相似查询。由于该相似査询 的查询参数包括缺失参数"日期",于是取出对应的参数值"今 天";*最后将服务类型"天气"、缺失参数"日期"和缺失参数值"今 天"填入语义分析结果,从而获得选择的服务"服务类型天 气;地点北京;日期今天"。图9a是根据本发明第三实施例的自动的服务选择部分的示意图。该自动的服务选择部分是基于常识库对用户的自然语言查询处理 进行相应的补充的。该服务选择部分包括输入单元91,用于接收输入的语义分析结 果;缺失内容查找单元92,用于将语义分析结果与服务映射规则库中 的服务映射规则进行匹配,找到匹配的服务映射规则,根据匹配的服 务映射规则确定缺失的服务参数,然后从匹配的服务映射规则中取出 服务类型和查询中缺失的服务参数;常识匹配单元93,用于将语义分 析结果与常识库96的各个常识进行匹配,找到匹配常识,并取出匹配 常识中的默认值作为当前査询的缺失参数值;查询补充单元94,用于 将获得的服务类型,缺失参数以及缺失参数值补充到语义分析结果中, 从而获得选择的服务;以及输出单元95,用于输出选择的服务。
图9b是根据本发明第三实施例的服务选择方法的流程图。 在S901,通过输入单元91接收来自用户的语义分析后的自然语 言査询。在S902,缺失内容查找单元92执行不完整查询的缺失查找。 将语义分析结果与服务映射规则库中的服务映射规则进行匹配,找到 相匹配的服务映射规则,并确定缺失的服务参数,之后,从匹配的服 务映射规则中取出该査询所属的服务类型和查询中缺失的服务参数。 缺失内容查找单元所采用的缺失查找匹配方法与图6b中的缺失内容 查找步骤的方法相同。在S903,常识匹配单元93通过将语义分析结果与常识库中的各 个常识进行匹配,找出与当前査询相匹配的常识,并从匹配的常识中 提取出默认值,作为当前査询的缺失的参数值。其中,采用的常识匹 配的判断方法是如果(1)缺失内容查找步骤得到的服务类型与常识 库中的某一条常识的服务类型相同;和/或(2)某一条常识的缺失参 数与缺失内容查找步骤得到的缺失参数相同,则将该条常识作为匹配的常识。S904,将获得的服务类型,缺失参数以及缺失参数值补充到语义 分析结果中,从而获得选择的服务。最后,在S905,输出选择的服务。图9c示出了一个执行服务选择的示例。用户输入查询"北京有多 热 ",其语义分析结果为"需求多热;地点北京"。*首先进行缺失査找由于服务映射规则库中的第一条规则的需求"多热"等于语义分析结果的需求,并且其服务参数"<地点>; <日期>"也包含语义分析结果的参数"地点",因此将第 一条规则作为匹配规则,并取出服务类型"天气",并将"日期" 作为查询中缺失的参数; *其次进行常识匹配由于第二条常识的服务类型也是"天气",缺失参数也是"日期",因此作为匹配常识,然后取出该 常识的默认值"今天"作为缺失参数值; *最后将服务类型"天气"、缺失参数"日期"和缺失参数值"今天"填入语义分析结果,从而获得选择的服务"服务类型天气;地点北京;日期今天"。 图10a示出了根据本发明一个实施例的基于自然语言的服务査询 系统。图10a与图la的区别在于,该基于自然语言的服务查询系统还 包括判断装置70和完整査询处理装置80。判断装置70用于对用户输 入的査询进行判断,如果该查询是完整的则由服务选择装置30进行处 理,如果该査询是完整的,则传送给完整查询处理装置80进行处理。
判断装置70通过比较用户査询的语义分析结果和所有服务映射 规则,确定是否可以找到可以与语义分析结果精确匹配的规则。如果 找到了匹配规则,则将语义分析结果和匹配规则序号送至完整查询处理装置80;如果没有找到匹配规则,则将语义分析结果送至服务选择装置30。其中满足下列条件的规则可以作为匹配规则-(1) 规则的需求与语义分析结果的需求相同;(2) 规则需要的所有服务参数包含在语义分析结果中。如图10b所示,例如用户查询"今天北京有多热 ",其语义分析结 果为"需求多热;地点北京;日期今天",它可以与服务映射规则 库的第一条规则精确匹配,其中它们的需求都为"多热",并且用户查 询的语义分析结果包含该规则所需要的全部参数"地点"和"日期"。因 此将语义分析结果和匹配规则序号送至完整查询处理装置80。完整査询处理装置80用于处理那些完整的(即没有缺失部分)的 查询,以得到相应的选择的服务。完整査询处理装置80根据判断单元 得到的匹配规则序号,从服务映射规则库中找到匹配规则并取出其中 的服务类型,然后结合语义分析结果生成选择的服务。其中,选择的 服务包含一个服务类型和一组服务参数。例如用户查询"今天北京有多热 ",由于它与服务映射规则库的第 一条规则精确匹配,因此取出该规则的服务类型"天气",最后得到选 择的服务"服务类型天气;地点北京;日期今天"。该服务查询系统可以对不完整的查询和完整的查询进行处理,从 而可以根据用户输入的完整或不完整的查询查找相应的答案。图12a和12b分别示出了根据本发明在移动终端与ASP中使用的服 务选择装置的示意图。参见图12a,可以将语义分析装置,服务选择装 置以及检索装置一起嵌入在移动终端中。参见图12b,还可以将语义分 析装置,服务选择装置以及检索装置一起嵌入在ASP (Active Server Page)中,从而可以更方便快捷地为用户提供查询服务。尽管已经参照具体实施例,对本发明进行了描述,但本发明不应 当由这些实施例来限定,而应当仅由所附权利要求来限定。应当清楚, 在不偏离本发明的范围和精神的前提下,本领域普通技术人员可以对 实施例进行改变或修改。
权利要求
1. 一种基于自然语言的服务选择系统,用于对不完整查询进行补充,包括语义分析设备,用于对来自用户的查询执行语义分析;服务选择设备,用于根据语义分析后的查询对不完整的查询进行补充,从而获得选择的服务;以及检索设备,用于根据选择的服务检索答案。
2. 根据权利要求l所述的系统,其中服务选择设备包括半自动的 服务选择部分,该半自动的服务选择部分用于利用服务映射规则库找 出用户査询中的不完整部分,并通过与用户进行交互对不完整部分进 行补充,从而生成选择的服务。
3. 根据权利要求l所述的系统,其中半自动的服务选择部分包括 缺失内容查找单元,用于将语义分析后的用户査询与服务映射规则库中的服务映射规则进行匹配,并从匹配的服务映射规则中提取出 查询所属的服务类型和查询中缺失的参数;用户交互单元,用于根据查询中缺失的参数,向用户提示输入与缺失的参数对应的参数值的提示信息,并接收来自用户的包括参数值 的反馈信息;参数值提取单元,用于从用户反馈信息中提取出参数值; 查询补充单元,用于将服务类型,缺失的参数和参数值补充到语 义分析后的用户查询中,从而生成选择的服务。
4. 根据权利要求3所述的系统,其中缺失内容査找单元从服务映 射规则库中找出满足下列条件的服务映射规则作为匹配的服务映射规 则(l)服务映射规则的需求等于语义分析后的查询的需求;以及(2) 服务映射规则的服务参数包含语义分析后的查询的所有参数。
5. 根据权利要求3所述的系统,其中参数值提取单元通过对用户的反馈信息进行语义标注来提取出与缺失的参数对应的参数值。
6. 根据权利要求l所述的系统,其中服务选择设备包括第一自动服务选择部分,用于利用服务映射规则库找出用户当前查询中的不完 整部分,并通过搜索当前用户査询历史库从而生成选择的服务。
7. 根据权利要求6所述的系统,其中第一自动服务选择部分包括: 缺失内容查找单元,用于将语义分析后的用户查询与服务映射规则库中的服务映射规则进行匹配,并从匹配的服务映射规则中提取出查询所属的服务类型和查询中缺失的参数;最近查询检测单元,用于从当前用户查询历史库中查找出包含当 前查询中缺失的参数的用户最近的査询,并从中提取出与当前查询中 缺失的参数对应的参数值;以及查询补充单元,用于将服务类型,缺失的参数和参数值补充到语 义分析后的用户查询中,从而生成选择的服务。
8. 根据权利要求6所述的系统,其中第一自动服务选择部分还包括相似查询检测单元,用于在最近査询检测单元没有提取到参数值 时,从当前用户查询历史库中査找出包含当前查询中缺失的参数的历 史査询,作为相似査询,并从中提取出与当前查询中缺失的参数对应 的参数值。
9. 如权利要求6所述的系统,其中缺失内容査找单元从服务映射 规则库中找出满足下列条件的服务映射规则作为匹配的服务映射规 则(l)服务映射规则的需求等于语义分析后的查询的需求;以及(2) 服务映射规则的服务参数包含语义分析后的查询的所有参数。
10. 如权利要求8所述的系统,其中相似查询检测单元从当前用 户查询历史库中找出满足下列条件的历史查询作为相似查询(1)历 史查询的服务类型与提取出的当前査询所属的服务类型相同;以及(2) 历史查询的査询参数包含语义分析后的査询的所有参数。
11. 如权利要求l所述的系统,其中服务选择设备包括第二自动 服务选择部分,用于利用服务映射规则库找出用户当前査询中的不完 整部分,并通过搜索当前用户査询历史库从而生成选择的服务。
12. 根据权利要求ll所述的系统,其中第二自动的服务选择部分 包括缺失内容查找单元,用于将语义分析后的用户査询与服务映射规 则库中的服务映射规则进行匹配,并从匹配的服务映射规则中提取出当前查询所属的服务类型和当前查询中缺失的参数;相似査询检测单元,用于从其它用户査询历史库中査找出包含当 前查询中缺失的参数的历史查询,作为相似査询,并从中提取出与当 前查询中缺失的参数对应的参数值;查询补充单元,用于将服务类型,缺失的参数和参数值补充到语 义分析后的用户査询中,从而生成选择的服务。
13. 如权利要求12所述的系统,其中缺失内容查找单元从服务映射规则库中找出满足下列条件的服务映射规则作为匹配的服务映射规 则(l)服务映射规则的需求等于语义分析后的查询的需求;以及(2) 服务映射规则的服务参数包含语义分析后的査询的参数。
14. 如权利要求12所述的系统,其中相似查询检测单元从其它用户查询历史库中找出满足下列条件的历史查询作为相似查询(1)历 史查询的服务类型与提取出的当前査询所属的服务类型相同;以及(2)历史查询的查询参数包含语义分析后的查询的所有参数。
15. 如权利要求l所述的系统,其中服务选择设备包括第三自动 服务选择部分,用于利用服务映射规则库找出用户当前查询中的不完 整部分,并通过搜索常识库从而生成选择的服务。
16. 根据权利要求15所述的系统,其中第三自动服务选择部分包括缺失内容查找单元,用于将语义分析后的用户查询与服务映射规 则库中的服务映射规则进行匹配,并从匹配的服务映射规则中提取出 查询所属的服务类型和查询中缺失的参数;常识匹配单元,用于将语义分析后的用户查询与常识库的常识进 行匹配,找出匹配的常识,并从匹配的常识中取出默认值作为缺失的 参数值;查询补充单元,用于将服务类型,缺失的参数和参数值补充到语 义分析后的用户査询中,从而生成选择的服务。
17. 如权利要求16所述的系统,其中缺失内容查找单元从服务映射规则库中找出满足下列条件的服务映射规则作为匹配的服务映射规 则(l)服务映射规则的需求等于语义分析后的查询的需求;以及(2) 服务映射规则的服务参数包含语义分析后的查询的所有参数。
18. 如权利要求16所述的系统,其中常识匹配单元从常识库中找 出满足下列条件的常识,作为匹配常识(1)常识的服务类型与提取 出的查询所属的服务类型相同;以及(2)常识的缺失参数与提取出的 査询的缺失参数相同。
19. 如权利要求l所述的系统,其中服务选择设备包括 自动的服务选择部分,用于利用服务映射规则库找出用户当前查询中的不完整部分,.并通过搜索当前用户查询历史库,或其它用户查 询历史库或常识库从而生成选择的服务;以及半自动的服务选择部分,该半自动的服务选择部分在自动的服务 选择部分生成的选择的服务不精确时,利用服务映射规则库找出用户 査询中的不完整部分,并通过与用户进行交互对不完整的部分进行补 充,从而生成选择的服务。
20. —种基于自然语言的服务选择方法,用于对不完整査询进行补 充,包括-语义分析步骤,对来自用户的查询执行语义分析; 服务选择步骤,根据语义分析后的查询对不完整的査询进行补 充,从而获得选择的服务;以及检索步骤,根据选择的服务检索答案。
21. 根据权利要求20所述的方法,其中服务选择步骤包括半自动 的服务选择步骤,该半自动的服务选择步骤利用服务映射规则库找出 用户査询中的不完整部分,并通过与用户进行交互对不完整部分进行 补充,从而生成选择的服务。
22. 根据权利要求21所述的方法,其中半自动的服务选择步骤包括缺失内容查找步骤,将语义分析后的用户查询与服务映射规则库 中的服务映射规则进行匹配,并从匹配的服务映射规则中提取出査询 所属的服务类型和查询中缺失的参数; 用户交互步骤,根据查询中缺失的参数,向用户提示输入与缺失 的参数对应的参数值的提示信息,并接收来自用户的包括参数值的反馈信息;参数值提取步骤,从用户反馈信息中提取出参数值; 查询补充步骤,将服务类型,缺失的参数和参数值补充到语义分 析后的用户査询中,从而生成选择的服务。
23. 根据权利要求22所述的方法,其中缺失内容査找步骤包括从 服务映射规则库中找出满足下列条件的服务映射规则作为匹配的服务 映射规则的步骤(1)服务映射规则的需求等于语义分析后的查询的 需求;以及(2)服务映射规则的服务参数包含语义分析后的查询的所 有参数。
24. 根据权利要求22所述的方法,其中参数值提取步骤通过对用户的反馈信息进行语义标注来提取出与缺失的参数对应的参数值。
25. 根据权利要求20所述的方法,其中服务选择步骤包括第一自动的服务选择步骤,利用服务映射规则库找出用户当前查询中的不完 整部分,并通过搜索当前用户查询历史库从而生成选择的服务。
26. 根据权利要求25所述的方法,其中第一自动服务选择步骤包括缺失内容査找步骤,将语义分析后的用户查询与服务映射规则库 中的服务映射规则进行匹配,并从匹配的服务映射规则中提取出查询 所属的服务类型和查询中缺失的参数;最近查询检测步骤,从当前用户査询历史库中查找出包含当前查 询中缺失的参数的用户最近的査询,并从中提取出与当前查询中缺失 的参数对应的参数值;以及査询补充步骤,将服务类型,缺失的参数和参数值补充到语义分 析后的用户查询中,从而生成选择的服务。
27. 根据权利要求26所述的方法,其中第一自动的服务选择步骤 还包括相似查询检测步骤,在最近查询检测步骤没有提取到参数值时, 从当前用户查询历史库中査找出包含当前査询中缺失的参数的历史査 询,作为相似查询,并从中提取出与当前査询中缺失的参数对应的参 数值。
28. 如权利要求26所述的方法,其中缺失内容査找步骤包括从服 务映射规则库中找出满足下列条件的服务映射规则作为匹配的服务映 射规则的步骤(1)服务映射规则的需求等于语义分析后的査询的需 求;以及(2)服务映射规则的服务参数包含语义分析后的査询的所有 参数。
29. 如权利要求27所述的方法,其中相似查询检测步骤包括从当 前用户查询历史库中找出满足下列条件的历史査询作为相似查询的步 骤(1)历史査询的服务类型与提取出的当前查询所属的服务类型相 同;以及(2)历史查询的查询参数包含语义分析后的查询的所有参数。
30. 如权利要求20所述的方法,其中服务选择步骤包括第二自动 服务选择步骤,利用服务映射规则库找出用户当前查询中的不完整部 分,并通过搜索当前用户查询历史库从而生成选择的服务。
31. 根据权利要求30所述的方法,其中第二自动的服务选择步骤 包括缺失内容查找步骤,将语义分析后的用户査询与服务映射规则库 中的服务映射规则进行匹配,并从匹配的服务映射规则中提取出当前 查询所属的服务类型和当前査询中缺失的参数;相似査询检测步骤,从其它用户査询历史库中査找出包含当前查 询中缺失的参数的历史查询,作为相似査询,并从中提取出与当前查 询中缺失的参数对应的参数值;査询补充步骤,将服务类型,缺失的参数和参数值补充到语义分 析后的用户查询中,从而生成选择的服务。
32. 如权利要求31所述的方法,其中缺失内容查找步骤包括从服 务映射规则库中找出满足下列条件的服务映射规则作为匹配的服务映 射规则的步骤(1)服务映射规则的需求等于语义分析后的查询的需 求;以及(2)服务映射规则的服务参数包含语义分析后的查询的参数。
33. 如权利要求31所述的方法,其中相似査询检测步骤包括从其 它用户查询历史库中找出满足下列条件的历史查询作为相似查询的步骤(1)历史查询的服务类型与提取出的当前查询所属的服务类型相同;以及(2)历史查询的査询参数包含语义分析后的查询的所有参数。
34. 如权利要求20所述的方法,其中自动的服务选择步骤包括第 三自动服务选择步骤,利用服务映射规则库找出用户当前査询中的不 完整部分,并通过搜索常识库从而生成选择的服务。
35. 根据权利要求34所述的方法,其中第三自动服务选择步骤包括缺失内容查找步骤,将语义分析后的用户査询与服务映射规则库 中的服务映射规则进行匹配,并从匹配的服务映射规则中提取出查询 所属的服务类型和査询中缺失的参数;常识匹配步骤,将语义分析后的用户查询与常识库的常识进行匹 配,找出匹配的常识,并从匹配的常识中取出默认值作为缺失的参数 值;査询补充步骤,将服务类型,缺失的参数和参数值补充到语义分 析后的用户查询中,从而生成选择的服务。
36. 如权利要求35所述的方法,其中缺失内容査找步骤包括从服 务映射规则库中找出满足下列条件的服务映射规则作为匹配的服务映 射规则的步骤(1)服务映射规则的需求等于语义分析后的査询的需 求;以及(2)服务映射规则的服务参数包含语义分析后的査询的所有 参数。
37. 如权利要求35所述的方法,其中常识匹配步骤包括从常识库 中找出满足下列条件的常识,作为匹配常识的步骤(1)常识的服务 类型与提取出的查询所属的服务类型相同;以及(2)常识的缺失参数 与提取出的查询的缺失参数相同。
38. 如权利要求20所述的方法,其中服务选择步骤包括 自动的服务选择步骤,利用服务映射规则库找出用户当前查询中的不完整部分,并通过搜索当前用户查询历史库,或其它用户查询历 史库或常识库从而生成选择的服务;以及半自动的服务选择步骤,该半自动的服务选择步骤在自动的服务 选择步骤生成的选择的服务不精确时,利用服务映射规则库找出用户查询中的不完整部分,并通过与用户进行交互对不完整的部分进行补 充,从而生成选择的服务。
39. —种查询系统,包括 查询接收器,用于接收用户查询;语义分析设备,用于对用户查询进行分词,以及对分词后的用户 查询进行语义分析;服务选择设备,用于根据语义分析后的查询对不完整的査询进行 补充,从而获得选择的服务;检索设备,用于根据选择的服务进行检索,以获取相应答案;以及答案发送器,用于将检索获得的相应答案发送给用户。
40. —种查询方法,包括 查询接收步骤,接收用户查询;语义分析步骤,对用户査询进行分词,以及对分词后的用户查询 进行语义分析;服务选择步骤,根据语义分析后的查询对不完整的查询进行补 充,从而获得选择的服务;检索步骤,根据选择的服务进行检索,以获取相应答案; 答案发送步骤,将检索获得的相应答案发送给用户。
41. 一种査询系统,包括 查询接收器,用于接收用户査询;语义分析设备,用于对用户查询进行分词,以及对分词后的用户查询进行语义分析;判断设备,用于判断用户査询是否是完整的査询; 第一服务选择设备,用于对完整的查询执行处理,从而获得第一选择的服务;第二服务选择设备,用于对不完整的査询进行补充,从而获得第 二选择的服务;检索设备,用于根据第一选择的服务或第二选择的服务执行检 索,以获取相应答案;以及答案发送器,用于将检索获得的相应答案发送给用户。
42. 如权利要求41所述的系统,其中判断设备将语义分析后的用 户查询与服务映射规则库中的规则进行匹配,如果匹配成功,则将该 用户查询作为完整的查询发送到第一服务选择设备,如果匹配不成功, 则将该用户查询作为不完整的查询发送到第二服务选择设备。
43. 如权利要求42所述的系统,其中判断设备根据下列条件来判 断匹配是否成功(O服务映射规则中的需求与语义分析后的査询的 需求相同;以及(2)服务映射规则所需要的所有服务参数包括在语义 分析后的查询中。
44. 一种查询方法,包括 査询接收步骤,接收用户査询;语义分析步骤,对用户查询进行分词,以及对分词后的用户査询 进行语义分析;判断步骤,判断用户査询是否是完整的查询;第一服务选择步骤,对完整的查询执行处理,从而获得第一选择 的服务;第二服务选择步骤,对不完整的查询进行补充,从而获得第二选 择的服务;检索步骤,根据第一选择的服务或第二选择的服务执行检索,以 获取相应答案;以及答案发送步骤,将检索获得的相应答案发送给用户。
45. 如权利要求44所述的方法,其中判断步骤包括步骤将语义 分析后的用户査询与服务映射规则库中的规则进行匹配,如果匹配成 功,则该用户查询作为完整的查询由第一服务选择步骤处理,如果匹 配不成功,则该用户査询作为不完整的查询由第二服务选择步骤处理。
46. 如权利要求45所述的方法,其中判断步骤包括根据下列条件来判断匹配是否成功的步骤(1)服务映射规则中的需求与语义分析 后的査询的需求相同;以及(2)服务映射规则所需要的所有服务参数 包括在语义分析后的查询中。
全文摘要
本发明涉及一种基于自然语言的服务选择系统,用于对不完整查询进行补充,包括语义分析设备,用于对来自用户的查询执行语义分析;服务选择设备,用于根据语义分析后的查询对不完整的查询进行补充,从而获得选择的服务;以及检索设备,用于根据选择的服务检索答案。以及涉及一种基于自然语言的服务选择方法,服务查询系统以及服务查询方法。从而能够对用户输入的不完整查询进行处理,并提供选择的服务。
文档编号H04L29/06GK101398835SQ200710180648
公开日2009年4月1日 申请日期2007年9月30日 优先权日2007年9月30日
发明者胡卫松, 齐红威 申请人:日电(中国)有限公司