发明内容
本发明的一个目的是提供一种用于信息查询的新技术方案。
根据本发明的第一方面,提供了一种信息搜索方法,包括:从所接收的信息查询请求划分搜索词;通过将搜索词与表明用户意图的意图特征词库中的意图特征词进行比较而确定意图查询词;以及使用所述意图查询词进行搜索,以从与所述用户意图对应的目标数据库中搜索对应的目标信息。
优选地,所述意图特征词库包括多个意图特征词子库,以及所述确定意图查询词还包括:将搜索词分别与所述多个意图特征词子库中的意图特征词进行比较而确定多个查询特征词。
优选地,所述方法还包括:预先建立所述意图特征词库。
优选地,所述用户意图是旅游意图,以及所述意图特征词库包括地理位置特征词子库、兴趣点特征词子库和需求特征词子库,其中,地理位置特征词子库包括与地理位置相关的地理位置特征词,兴趣点特征词子库包括与旅游兴趣点相关的兴趣点特征词,以及需求特征词子库包括与旅游需求相关的需求特征词。
优选地,所述地理位置特征词子库包括地理位置的别名。
优选地,所述确定意图查询词还包括:通过将搜索词分别与地理位置特征词子库、兴趣点特征词子库和需求特征词子库中的特征词进行比较,而确定多个意图查询词。
优选地,在所述搜索词分别与地理位置特征词子库、兴趣点特征词子库和需求特征词子库中的特征词匹配的情况下,使用所述意图查询词进行搜索。
优选地,所述兴趣点特征词子库还包括与兴趣点特征词对应的地理位置特征词,以及在所述搜索词中的兴趣点搜索词和地理位置搜索词与所述兴趣点特征词子库中的相应兴趣点特征词及其对应的地理位置特征词匹配的情况下,使用所述意图查询词进行搜索。
优选地,所述意图查询词是意图特征词库中的意图特征词。
根据本发明的第二方面,提供了一种信息搜索设备,包括:用于从所接收的信息查询请求划分搜索词的装置;用于通过将搜索词与表明用户意图的意图特征词库中的意图特征词进行比较而确定意图查询词的装置;以及用于使用所述意图查询词进行搜索以从与所述用户意图对应的目标数据库中搜索对应的目标信息的装置。
根据本发明的第三方面,提供了一种客户端设备,包括存储器和处理器,所述存储器存储指令,所述指令用于控制所述处理器执行如下操作:接收用户输入的信息查询请求;执行根据任意一个实施例所述的方法;以及呈现所搜索的目标信息。
根据本发明的第四方面,提供了一种服务器,包括存储器和处理器,所述存储器存储指令,所述指令用于控制所述处理器执行如下操作:接收来自客户端的信息查询请求;执行根据任意一个实施例所述的方法;以及向客户端发送所搜索的目标信息。
根据本发明的实施例,可以在辨别用户意图的情况下进行搜索,从而提升用户使用体验。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
下面参照附图描述根据本发明的各个实施例和例子。
<方法>
图1示出了根据本发明的一个实施例的信息搜索方法的流程图。
如图1所示,在步骤S1100,从所接收的信息查询请求划分搜索词。例如,用户输入的信息查询请求是“北京故宫一日游”、“桂林漓江二日游”等。诸如客户端设备、服务器等的电子设备可以对所述信息查询请求进行划分,以得到搜索词,例如,“北京”、“故宫”、“一日游”、“桂林”、“漓江”、“两日游”等。现有技术中有许多划分词的方法,这不是本发明所关注的,因此,在此不对它进行详细描述。
在步骤S1200,通过将搜索词与表明用户意图的意图特征词库中的意图特征词进行比较而确定意图查询词。
如果搜索词与意图特征词库中的意图特征词相匹配,则这表明输入信息查询请求的用户可能具有与意图特征词库对应的用户意图。
可以预先建立所述意图特征词库。例如,可以人工建立所述意图特征词库,也可以通过计算机自动在网络上抓取信息,以建立所述意图特征词库。
所述意图特征词库可以包括多个意图特征词子库。例如,可以将搜索词分别与所述多个意图特征词子库中的意图特征词进行比较而确定多个查询特征词。通过建立多个子库,可以在多个维度上检测用户意图,从而提高检测的准确度。
意图特征词库可以是所划分的搜索词。可选地,在一个例子中,所述意图查询词是意图特征词库中的意图特征词。由于所述意图特征词库中的词可以是经过标准化之后的词,因此,在将搜索词与意图特征词进行比较之后,使用对应的意图特征词进行后续搜索可以提高搜索的准确度。
在一个例子中,所述用户意图是旅游意图。旅游意图表明用户进行搜索的目的是用户想要去旅游。
例如,所述意图特征词库可以包括地理位置特征词子库、兴趣点特征词子库和需求特征词子库。地理位置特征词子库包括与地理位置相关的地理位置特征词,例如,诸如国家、省、市、区等的特征词。地理位置特征词子库包括地理位置之间的关系。例如,中华人民共和国包括浙江省(省),浙江省包括杭州市(市),杭州市包括西湖区(区)。兴趣点特征词子库包括与旅游兴趣点相关的兴趣点特征词,例如,“故宫”、“西湖”等。需求特征词子库包括与旅游需求相关的需求特征词,例如,“一日游”、“自助游”等。当所述搜索词分别与上述子库中的对应特征词相匹配时,这表明用户希望去旅游。此外,通过与上述子库进行比较,还可以确定关于用户旅游的意图信息,例如,用户旅游的目的地、用户感兴趣的景点、旅游方式等。
例如,为了提高,所述地理位置特征词子库可以包括地理位置的别名。例如,“北京市”的别名可以包括“北京”、“首都”等。通过这种方式,可以避免搜索词与子库的匹配概率。
例如,可以通过将搜索词分别与地理位置特征词子库、兴趣点特征词子库和需求特征词子库中的特征词进行比较,而确定多个意图查询词。在所述搜索词分别与地理位置特征词子库、兴趣点特征词子库和需求特征词子库中的特征词匹配的情况下,使用所述意图查询词进行搜索。
例如,所述兴趣点特征词子库还可以包括与兴趣点特征词对应的地理位置特征词。例如,兴趣点“西湖”对应的地理位置信息可以是:中华人民共和国(国家)、浙江省(省)、杭州市(市)、西湖区(区)。此外,所述兴趣点特征词子库还可以包括兴趣点的别名。例如,“西湖”的别名可以是“西子湖”。在所述搜索词中的兴趣点搜索词和地理位置搜索词与所述兴趣点特征词子库中的相应兴趣点特征词及其对应的地理位置特征词匹配的情况下,使用所述意图查询词进行搜索。
在步骤S1300,使用所述意图查询词进行搜索,以从与所述用户意图对应的目标数据库中搜索对应的目标信息。这里,所述目标数据库可以存储在电子设备本地,也可以被存储在网络上的其他位置。可以使用所述意图查询词在本地进行搜索,也可以使用所述意图查询词在网络上进行搜索。
通过根据本发明的实施例的技术方案,通过对信息查询请求进行处理,可以在对应的目标数据库(垂直行业)数据库中进行搜索。通过这种方式可以利用垂直行业的数据库,从而提供更准确/丰富的查询结果,从而提升用户使用体验。
此外,在根据本发明的一个实施例中,信息查询请求被处理成各个意图查询词,以在目标数据库中进行搜索,从而可以利用结构化数据提高用户搜索的准确性。这使得用户能够更便捷、高效地获取相关信息,从而提高用户体验。
例如,随着人们生活质量的提升,关于旅游的信息查询需求越来越多。很多旅游行业的网站积累大量优质数据。所述网站例如马蜂窝、携程等。根据本发明的实施例,可以识别用户的信息查询请求中的的旅游意图,并能够利用结构化的数据在这些专业网站(数据库)中进行搜索,以提高搜索准确度,从而提升用户使用体验。
<设备>
本领域技术人员应当理解,在电子技术领域中,可以通过软件、硬件以及软件和硬件结合的方式,将上述方法体现在产品中本领域技术人员很容易基于上面公开的方法,产生一种信息搜索设备。该设备可以包括用于实现前面所述的信息搜索方法中的各个操作的装置。例如,该设备可以包括:用于从所接收的信息查询请求划分搜索词的装置;用于通过将搜索词与表明用户意图的意图特征词库中的意图特征词进行比较而确定意图查询词的装置;以及用于使用所述意图查询词进行搜索以从与所述用户意图对应的目标数据库中搜索对应的目标信息的装置。
本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机***软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由应当来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。对于技术人员来说,软件实现方式和硬件实现方式是等同的。技术人员可以根据需要选择软件或硬件来实现上述方案。因此,这里不对具体的软件或硬件进行限制。
<客户端设备>
可以在客户端设备中实现根据本发明的各个实施例。所述客户端设备例如是个人电脑、智能手机、平板电脑等。
图2示出了根据本发明的另一个实施例的客户端设备的示意性框图。
如图2所示,客户端设备2000可以包括处理器2010、存储器2020、接口装置2030、通信装置2040、显示装置2050、输入装置2060、扬声器2070、麦克风2080,等等。
处理器2010例如可以是中央处理器CPU、微处理器MCU等。存储器2020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置2030例如包括USB接口、耳机接口等。
通信装置2040例如能够进行有有线或无线通信。
显示装置2050例如是液晶显示屏、触摸显示屏等。输入装置2060例如可以包括触摸屏、键盘等。用户可以通过扬声器2070和麦克风2080输入/输出语音信息。
图2所示的客户端设备仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
在这个实施例中,所述存储器2020用于存储指令,所述指令用于控制所述处理器2010进行操作以接收用户输入的信息查询请求;执行前面参照图1所述的信息搜索方法;以及呈现所搜索的目标信息。本领域技术人员应当理解,尽管在图2中示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,处理器2010和存储装置2020等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<服务器>
图3示出了根据本发明的另一个实施例的服务器的框图。
如图3所示,服务器3000可以包括处理器3010、存储器3020、接口装置3030、通信装置3040、显示装置3050、输入装置3060、扬声器3070、麦克风3080,等等。
处理器3010例如可以是中央处理器CPU、微处理器MCU等。存储器3020例如包括ROM(只读存储器)、RAM(随机存取存储器)、诸如硬盘的非易失性存储器等。接口装置3030例如包括USB接口、耳机接口等。
通信装置3040例如能够进行有有线或无线通信。
显示装置3050例如是液晶显示屏、触摸显示屏等。输入装置3060例如可以包括触摸屏、键盘等。用户可以通过扬声器3070和麦克风3080输入/输出语音信息。
图3所示的服务器仅是解释性的,并且决不是为了要限制本发明、其应用或用途。
在这个实施例中,所述存储器3020用于存储指令,所述指令用于控制所述处理器3010进行操作以接收来自客户端的信息查询请求;执行根据前面任何一个实施例所述的信息搜索方法;以及向客户端发送所搜索的目标信息。本领域技术人员应当理解,尽管在图3中示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如,处理器3010和存储装置3020等。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
<例子>
图4示出了根据本发明的实施例的信息搜索***的例子的示意图。
如图4所示,信息搜索***4000可以包括客户端设备4020、4030和服务器4040。客户端设备4020、4030和服务器4040通过网络4010而相互连接。
可以在图4所示的***中实现根据本发明的实施例。下面,针对旅游行业来说明根据本发明的一个例子。
例如,可以首先建立针对旅游意图的意图特征词库。所述意图特征词库包括地理位置特征词子库、兴趣点特征词子库和需求特征词子库。
例如,可以按照国家、省、市、县(区)建立地理位置特征词子库。例如,可以按照行政区域来建立所述子库。例如,中华人民共和国(国家)包括浙江省(省),浙江省包括杭州市(市),杭州市包括西湖区(区)。类似地,对于其他国家,可以按照国家、一级行政区域、二级行政区域、三级行政区域来建立地理位置特征词子库。
例如,可以为每个地理位置设置别名信息。例如,“中华人民共和国”的别名可以包括“中国”,“浙江省”的别名可以包括“浙江”,“杭州市”的别名可以包括“杭州”。
因此,可以为每个地理位置设置唯一的标识ID。此外,可以建立每个地理位置与其上级/下级行政区域的关系。例如,可以为每个地理位置ID标明其所属的上级行政区域的ID,从而建立地理位置树状关系。
接着,可以建立兴趣点特征词子库。例如,兴趣点特征词子库可以包括兴趣点名称和对应的地理特征词。兴趣点名称例如可以包括兴趣点的别名。例如,“西湖”的别名可以包括“西子湖”。对应的地理特征词是兴趣点所属的地理位置。例如,所述地理位置与上述地理位置特征词子库中的地理位置对应。例如,兴趣点“西湖”的对应的地理特征词是中华人民共和国(国家)、浙江省(省)、杭州市(市)、西湖区(区)。可以为每个兴趣点设置一个唯一的标识ID。对应的地理特征词可以利用地理位置特征词子库中的标识ID。
然后,可以建立需求特征词子库。例如,可以将旅游需求细分为几个类别,例如图片需求、行程需求、美食需求、攻略需求、门票需求、评论需求等。对于每类需求,可以设置特征词表。例如,对于行程需求,可以设置“一日游”、“两日游”等。对于美食需求,可以设置“美食”、“小吃”等。对于门票需求,可以设置“门票”、“票价”等。
此外,对于诸如“的”、“是”、“有”、“吗”等的缺少实际意义的词,可以不进行处理。
例如,可以用户输入的信息查询请求划分为地理位置搜索词、兴趣点搜索词、需求特征搜索词。使用所划分的搜索词,在上述词库中进行搜索,以得到关于地理位置、兴趣点和需求的意图查询词,用于进一步搜索。
例如,如果所述搜索词中缺少兴趣点和地理位置,则表明用户的信息查询请求不包括旅游意图。
例如,如果搜索词中兴趣点和地理位置与兴趣点特征词子库中的兴趣点和地理位置不对应,则表明用户的信息查询请求不包括旅游意图。
例如,可以首先通过兴趣点搜索词获取多个候选兴趣点。然后,通过将搜索词中的地理位置与兴趣点特征词子库中的地理位置进行匹配,获取最终的兴趣点特征词。此外,如果经过地理位置匹配之后仍然存在多个候选兴趣点,则例如可以通过提示或基于各个兴趣点的热度信息,选择用户最可能感兴趣的兴趣点。
使用兴趣点特征词、地理位置特征词和需求特征词进行搜索,以向用户提供相关信息。
上述处理可以在各个客户端设备4020、4030执行。客户端设备4020、4030可以保存意图特征词库。客户端设备4020、4030可以将意图查询词通过网络发送给相应的数据库进行搜索。
此外,上述处理也可以在服务器4040执行,以及处理结果可以通过网络4010发送给各个客户端4020、4030。
在本发明的实施例中,可以通过离线和/或在线的方式设计意图识别的技术方案。
此外,在本发明的实施例中,位置信息、兴趣点信息、需求信息可以是分离的。它们相对独立,便于后续的扩展和维护。
本发明可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。