问题查询方法、装置、设备及存储介质与流程

文档序号:23539935发布日期:2021-01-05 20:47阅读:65来源:国知局
问题查询方法、装置、设备及存储介质与流程

本申请涉及数据搜索技术领域,具体而言,涉及一种问题查询方法、装置、设备及存储介质。



背景技术:

在使用搜索引擎时,时常会用到搜索评分算法。该评分通过对搜索结果的所有文档进行评分,按照评分排序,从而将与问题相关性较高的文档排到搜索结果中的前面。

现有技术中关键词的评分与关键词在该文档中出现的频率正相关,与该文档的长度负相关,与关键词出现在所有文档中的几率成负相关。前两者是为了保证问题在文档中的占比,从而达到保证文档与问题的相关度的目的,而将关键词在所有文档中出现的频率作为负相关是为了削减无关紧要的词汇的权重。

然而这种评分方式,由于问题本身有歧义,或者文档本身的质量导致其不能有效回答问题,常常会导致提问内容的文档不能有效回答问题的情况。



技术实现要素:

本申请的目的在于,针对上述现有技术中的不足,提供一种问题查询方法、装置、设备及存储介质,以解决现有技术中提问内容的文档不能有效回答查询问题的问题。

为实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请一实施例提供了一种问题查询方法,所述方法包括:

对接收到的查询问题进行分词处理,得到所述查询问题中的至少一个查询关键词;

根据所述至少一个查询关键词,确定与所述查询问题对应的至少一个推荐回答,每个推荐回答为:具有所述至少一个查询关键词的文档;

根据所述每个推荐回答中所述至少一个查询关键词的反馈评分,确定所述每个推荐回答的目标评分;其中,每个查询关键词的反馈评分为根据历史查询用户对所述目标回答的反馈操作确定的;

根据所述至少一个推荐回答的目标评分,向客户端返回查询结果。

可选地,所述根据所述每个推荐回答中所述至少一个查询关键词的反馈评分,确定所述每个推荐回答的目标评分之前,所述方法还包括:

根据所述至少一个查询关键词,确定所述每个推荐回答的初始评分;

所述根据所述每个推荐回答中所述至少一个查询关键词的反馈评分,确定所述每个推荐回答的目标评分,包括:

根据所述每个推荐回答的初始评分,和所述至少一个查询关键词的反馈评分,确定所述每个推荐回答的目标评分。

可选地,所述方法还包括:

响应于查询用户在所述查询结果中的点击操作,确定目标回答;

接收所述客户端发送的查询用户针对目标回答的反馈操作;

根据所述反馈操作,对所述目标回答中的各查询关键词的反馈评分进行更新。

可选地,若所述至少一个查询关键词的数量为多个,则接收所述客户端发送的查询用户针对目标回答的反馈操作之后,所述方法还包括:

若根据所述目标回答仅包括部分查询关键词,则对所述目标回答中的查询关键词进行更新。

可选地,所述根据所述反馈操作,对所述目标回答中的各查询关键词的反馈评分进行更新,包括:

若所述反馈操作为激励操作,则增加所述目标回答中各查询关键词的反馈得分;或者,

若所述反馈操作为抑制操作,则减少所述目标回答中各查询关键词的反馈得分。

可选地,所述根据所述至少一个查询关键词,确定与所述查询问题对应的至少一个推荐回答,包括:

根据所述至少一个查询关键词,查询数据库中每个文档的关键词字段,其中,所述关键词字段用于指示所述每个文档包含的关键词,以及各所述关键词的反馈评分;

根据所述关键词字段的查询结果,从所述数据库中确定所述至少一个推荐回答。

可选地,所述根据所述至少一个查询关键词,查询数据库中每个文档的关键词字段之前,所述方法还包括:

在创建所述每个文档的索引时,声明所述关键词字段的类型为评分特征字段;

在存储所述每个文档时,为所述每个文档添加所述关键词字段。

可选地,所述根据所述每个推荐回答中所述至少一个查询关键词的反馈评分,确定所述每个推荐回答的目标评分之前,所述方法还包括:

生成每个查询关键词的评分特征查询语句;

将所述每个查询关键词的评分特征查询语句,以或逻辑加入所述查询语句主体中。

可选地,所述根据所述至少一个查询关键词,确定所述每个推荐回答的初始评分,包括:

根据所述查询语句主体和所述每个推荐回答,确定所述每个推荐回答的初始评分。

第二方面,本申请另一实施例提供了一种问题查询装置,所述装置包括:分词模块、确定模块和返回模块,其中:

所述分词模块,用于对接收到的查询问题进行分词处理,得到所述查询问题中的至少一个查询关键词;

所述确定模块,用于根据所述至少一个查询关键词,确定与所述查询问题对应的至少一个推荐回答,每个推荐回答为:具有所述至少一个查询关键词的文档;根据所述每个推荐回答中所述至少一个查询关键词的反馈评分,确定所述每个推荐回答的目标评分;其中,每个查询关键词的反馈评分为根据历史查询用户对所述目标回答的反馈操作确定的;

所述返回模块,用于根据所述至少一个推荐回答的目标评分,向客户端返回查询结果。

可选地,所述确定模块,具体用于根据所述至少一个查询关键词,确定所述每个推荐回答的初始评分;根据所述每个推荐回答的初始评分,和所述至少一个查询关键词的反馈评分,确定所述每个推荐回答的目标评分。

可选地,所述装置还包括:接收模块;其中:

所述确定模块,用于响应于查询用户在所述查询结果中的点击操作,确定目标回答;

所述接收模块,用于接收所述客户端发送的查询用户针对目标回答的反馈操作;

所述更新模块,具体用于根据所述反馈操作,对所述目标回答中的各查询关键词的反馈评分进行更新。

可选地,所述装置还包括:更新模块,用于若所述至少一个查询关键词的数量为多个,则若根据所述目标回答仅包括部分查询关键词,则对所述目标回答中的查询关键词进行更新。

可选地,所述更新模块,具体用于若所述反馈操作为激励操作,则增加所述目标回答中各查询关键词的反馈得分;或者,若所述反馈操作为抑制操作,则减少所述目标回答中各查询关键词的反馈得分。

可选地,所述装置还包括:查询模块,用于根据所述至少一个查询关键词,查询数据库中每个文档的关键词字段,其中,所述关键词字段用于指示所述每个文档包含的关键词,以及各所述关键词的反馈评分;

所述确定模块,具体用于根据所述关键词字段的查询结果,从所述数据库中确定所述至少一个推荐回答。

可选地,所述装置还包括:添加模块,用于在创建所述每个文档的索引时,声明所述关键词字段的类型为评分特征字段;在存储所述每个文档时,为所述每个文档添加所述关键词字段。

可选地,所述装置还包括:生成模块和加入模块,其中:

所述生成模块,用于生成每个查询关键词的评分特征查询语句;

所述加入模块,用于将所述每个查询关键词的评分特征查询语句,以或逻辑加入所述查询语句主体中。

可选地,所述确定模块,具体用于根据所述查询语句主体和所述每个推荐回答,确定所述每个推荐回答的初始评分。

第三方面,本申请另一实施例提供了一种问题查询设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当问题查询设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上述第一方面任一所述方法的步骤。

第四方面,本申请另一实施例提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第一方面任一所述方法的步骤。

本申请的有益效果是:采用本申请提供的问题查询方法,由于查询结果是根据各推荐回答的目标评分确定的,而推荐回答的目标评分是根据每个推荐回答中至少一个查询关键词的反馈评分确定的,并且反馈评分是根据每个查询用户对目标回答的反馈操作确定的,即通过反馈评分可以直接反应各推荐回答的质量,所以根据各推荐回答的目标评分确定的查询结果的文档本身的质量更高,查询结果的准确性更高,与查询问题的相关性更高,保证了查询问题可以被有效回答。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请一实施例提供的问题查询方法的流程示意图;

图2为本申请另一实施例提供的问题查询方法的流程示意图;

图3为本申请另一实施例提供的问题查询方法的流程示意图;

图4为本申请另一实施例提供的问题查询方法的流程示意图;

图5为本申请一实施例提供的问题查询装置的结构示意图;

图6为本申请另一实施例提供的问题查询装置的结构示意图;

图7为本申请一实施例提供的问题查询设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

另外,本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。

为方便对本申请的理解,下述对本申请涉及的部分名词进行解释说明:

elasticsearch:一个基于lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,是一种流行的企业级搜索引擎。elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

索引:elasticsearch存放相似文档的单位,相当于一张表格。启用一个新的单位来存放某个类别的文档的操作叫做创建新的索引。

文档:搜索引擎中指包含一条数据完整所需信息的数据单位。相当于表格中的一行。

字段:文档中的包含的信息的名称,相当于表格的栏的名称。

字段类型:字段储存的数据的格式,如数字,日期,字符串等。每个字段有且仅有一个字段类型。对于一个尚未设置类型的字段,其对应的字段类型可以在创建索引时设置,或者在存入文档时由elasticsearch自动识别并设置。字段一旦被设置则不能被更改。一个设置好类型的字段不能储存别的格式的数据,比如某一字段的类型为数字,则该字段中就不能储存文字。

查询语句:根据查询问题生成,用于向数据库请求满足一定条件的文档的具有格式的指令。

rank_feature:字段类型的一种,用于储存数字,可配合rank_feature_query进行评分激励。

rank_features:字段类型的一种,拥有自己的私有字段,且这些字段的类型都是rank_feature。这个字段相当于在表格的每一行数据中套了一个仅有一行的小表格,小表格的栏就是该字段的私有字段。这些私有字段在不同的文档中可以不一样。

rank_feature_query:配合rank_feature或rank_features使用的一种查询语句,亦可作为布尔查询语句中“或”逻辑的组成部分进行条件增强。用来从rank_features的其中一个指定字段中取出值并干预文档评分。

查询问题:查询者通过搜索引擎的搜索框输入的查询内容。

如下结合多个具体的应用示例,对本申请实施例所提供的一种问题查询方法进行解释说明。图1为本申请一实施例提供的一种问题查询方法的流程示意图,本申请提供的方法应用于安装有elasticsearch这一搜索引擎的服务器上,如图1所示,该方法包括:

s101:对接收到的查询问题进行分词处理,得到查询问题中的至少一个查询关键词。

其中,在获取到查询客户端通过elasticsearch搜索引擎的搜索框输入的查询问题后,服务器对收到的查询问题进行分词处理,从关键词的粒度对查询问题进行改变,将查询问题拆分为至少一个查询关键词,从而实现“话题”即关键词的解耦。例如查询问题,可以为“大天狗皮肤”,分词处理,可以将查询问题拆分为“大天狗”和“皮肤”这两个查询关键词。

s102:根据至少一个查询关键词,确定与查询问题对应的至少一个推荐回答。

示例地,在一些可能的实施例中,不是每个查询问题都有对应的推荐回答,存在查询问题没有推荐回答的情况,应当理解本申请的实施例仅在默认查询问题存在推荐回答的前提下进行,若查询问题不存在对应的推荐回答,则返回提示信息至查询客户端,例如返回“未搜索到相关回答”或“试着搜索***”等提示信息,具体返回的提示信息的内容可以根据用户需要灵活调整,并不以上述实施例给出的为限。

其中,每个推荐回答为:具有至少一个查询关键词的文档,即具有所有查询关键词的文档。例如,可根据该至少一个查询关键词,从预设数据库中查询具有该至少一个查询关键词的文档,从而得到该至少一个推荐回答。其中,推荐回答还可成为候选回答或者其它类似的描述。

s103:根据每个推荐回答中至少一个查询关键词的反馈评分,确定每个推荐回答的目标评分。

其中,每个查询关键词的反馈评分为根据历史查询用户对目标回答的反馈操作确定的。

在确定该至少一个推荐回答的情况下,还可获取每个推荐回答中至少一个查询关键词的反馈评分。该反馈评分可用于反应对应推荐回答的文档与查询关键词的匹配度。

数据库中每个文档的预设字段中可预先存储该每个文档所包含的关键词的反馈评分又称激励值。

可选地,在本申请的一个实施例中,每个文档中存储反馈评分的字段例如可以为字段类型为排序特征(rank_features)的预设字段,即该预设字段可称为关键词字段,其可用于存储该每个文档所包含的关键词的反馈评分。该预设字段的字段名称例如可以为“boosters”,该关键词字段可拥有至少一个属于其所在文档的私有字段,即该关键词字段中每个私有字段可存储一个关键词的反馈评分,每个私有字段的字段类型都是rank_feature,如此,关键词字段便可以存储至少一个关键词的反馈评分。该关键词字段可以为存储每个文档时,为该每个文档所创建的字段。

如此,在执行上述s102确定至少一个推荐回答的情况下,便可获取每个推荐回答中至少一个查询关键词的反馈评分,继而根据每个推荐回答中至少一个查询关键词的反馈评分,采用预设的评分计算方式,进行评分计算,得到每个推荐回答的目标评分。

s104:根据至少一个推荐回答的目标评分,向客户端返回查询结果。

示例地,在一些可能的实施例中,可以根据至少一个推荐回答的目标评分,对各推荐回答进行排序,获取排名靠前的预设个数个推荐回答作为最终回答,并通过查询结果返回给客户端。客户端在获取到查询结果后,在显示界面上显示查询结果。又或者,根据上述对各推荐回答的排序,将所有推荐回答的排序,通过查询结果返回给客户端,但是客户端在接收到查询结果后,为了节省展示界面的篇幅,仅将排名靠前的预设个数推荐回答作为目标回答直接展示给用户,其他推荐回答被折叠,用户需要点击查看按钮,例如可以为“查看更多”,才能将其他推荐回答展开以供用户查看。应当理解上述返回查询结果的方式仅为示例性说明,具体返回查询结果的方式可以根据用户需要灵活调整,并不以上述实施例给出的为限。

采用本申请提供的问题查询方法,由于查询结果是根据各推荐回答的目标评分确定的,而推荐回答的目标评分是根据每个推荐回答中至少一个查询关键词的反馈评分确定的,并且反馈评分是根据每个查询用户对目标回答的反馈操作确定的,即通过反馈评分可以直接反应各推荐回答的质量,所以根据各推荐回答的目标评分确定的查询结果的文档本身的质量更高,查询结果的准确性更高,与查询问题的相关性更高,保证了查询问题可以被有效回答。

并且,该方案中,基于至少一个查询关键词的反馈评分,计算该每个推荐回答的目标评分,即以关键词为粒度计算目标评分,可使得推荐回答的目标评分的计算更准确,从而提高查询结果中各回答的准确度。

可选地,在上述实施例的基础上,本申请实施例还可提供一种问题查询方法,如下结合附图对上述方法的实现过程进行示例说明。图2为本申请另一实施例提供的一种问题查询方法的流程示意图,如图2所示,该方法还包括:

s105:根据至少一个查询关键词,确定每个推荐回答的初始评分。

示例地,在本申请的一个实施例中,可以根据该至少一个查询关键词,生成查询语句主体,继而根据查询语句主体,查询每个推荐回答的初始评分。其中,查询语句主体中包括至少一个查询关键词,该查询语句主体还包括:每个查询关键词的评分特征查询语句,因此,基于该查询语句主体还可查询得到该每个推荐回答中至少一个查询关键词的反馈评分。其中,在生成每个查询关键词的评分特征查询语句,将至少一个查询关键词的评分特征查询语句,加入该查询语句主体中,例如以或逻辑加入该查询语句主体中。其中,特征查询语句的格式例如可以为rank_feature_query。

与该每个推荐回答中各查询关键词的反馈评分不同的是,该每个推荐回答的初始评分是以文档为粒度的,整个推荐回答的文档相当于查询关键词的评分。

可选地,在本申请的一个实施例中,每个推荐回答的初始评分例如可以与该推荐回答中出现查询关键词的频率正相关,与该推荐回答的文档长度负相关,与该关键词出现在所有文档中的几率成负相关等。其中,前两者是为了保证查询关键词在推荐回答的文档中的占比,从而达到保证推荐回答的文档与查询问题的相关度的目的,而将查询关键词在所有文档中出现的频率作为负相关是为了削减无关紧要的词汇的权重,举例说明,以查询问题为“大天狗的皮肤”为例进行说明,对该查询问题进行分词后,该查询问题被分词为“大天狗”、“的”、“皮肤”这三个查询关键词,其中,由于查询关键词“的”在所有文档中的高频出现,仅包含了查询关键词“的”的推荐回答文档的评分会比包含了查询关键词“大天狗”或查询关键词“皮肤”的推荐回答文档低上不少。

计算每个推荐回答的初始评分的方式可以避免一些较为无用的查询关键词影响查询结果的情况,可以起到对查询问题对应的查询关键词的筛选作用,将重点放在一些重要的查询关键词上。

如上所述的s103可包括:

s106:根据每个推荐回答的初始评分,和至少一个查询关键词的反馈评分,确定每个推荐回答的目标评分。

由于仅包括初始评分的推荐回答常常会导致一份看似完美的推荐回答文档缺不能有效回答查询问题的情况。举例说明:以查询问题为:“大天狗的皮肤”;推荐回答文档1为:“大天狗的皮肤有哪些?崇天高云,黑金羽刃,安祭……”;推荐回答文档2为:“大天狗的皮肤大天狗的皮肤大天狗的皮肤”。为例进行说明,如果仅对各推荐回答文档计算初始评分,显然推荐回答文档2的初始评分会比推荐回答文档1的初始评分高,因为推荐回答文档2中查询关键词的密度没有被文章篇幅稀释。

为了修正这两种文档在搜索结果中的排序,避免推荐回答无法有效解决查询问题的问题,本申请通过引入反馈评分,来确定每个推荐回答的目标评分,从而实现根据历史查询用户对各推荐回答的反馈,来对各推荐回答进行进一步的评分,降低一些看似包含高密度的查询关键词,但其实是无效回答的推荐回答最终的目标评分,从而起到对各推荐回答进行进一步筛选的作用,使得最终的查询结果可以解决查询问题的可能性更高,查询结果的可靠性更高。

示例地,在本申请的一个实施例中,可以根据预设权重、初始评分和至少一个查询关键词的反馈评分来确定每个推荐回答的目标评分,具体预设权重的设置可以根据用户需要灵活调整,本申请在此不做任何限制。

可选地,在上述实施例的基础上,本申请实施例还可提供一种问题查询方法,如下结合附图对上述方法的实现过程进行示例说明。图3为本申请另一实施例提供的一种问题查询方法的流程示意图,如图3所示,该方法还可包括:

s107:响应于查询用户在查询结果中的点击操作,确定目标回答。

其中,由于查询结果中包括多个查询问题对应的回答,查询用户可以在查询结果中选择一个目标回答进行查看,点击方式例如可以为在显示界面上点击目标回答对应的区域,此时可以将目标回答完全展开,以供查询用户查看。

s108:接收客户端发送的查询用户针对目标回答的反馈操作。

其中,确定目标回答后,显示界面上还可以显示有反馈按键,例如“赞”按键或“踩”按键,查询用户通过点击对应的反馈按键来完成反馈操作,其中,激励操作例如可以为赞操作,在查询用户点击“赞”按键后触发,用于表示查询用户对当前目标回答比较满意,认为当前目标回答回答的比较全面,或比较符合查询问题。抑制操作例如可以为踩操作,在查询用户点击“踩”按键后触发,表示查询用户对当前目标回答不满意,认为当前目标回答无法解决查询问题,或答非所问等。当然查询用户也可以对目标回答不进行反馈操作,即若查询用户觉得当前目标回答一般,没有特别出彩的地方,也没有特别不好的地方,可以对当前目标回答不进行任何激励操作,此时目标回答中的各查询关键词的反馈得分不会发生变化。

可选地,在本申请的一个实施例中,响应于查询用户在查询结果中的点击操作,触发对目标回答的修改操作,修改操作的内容包括:若查询问题对应的查询关键词的数量为多个,则找到目标回答的boosters字段,并查看该字段的私有字段中是否包括有各查询关键词,若当前目标回答中仅包括部分查询关键词,则对目标回答中的查询关键词进行更新,在boosters字段中添加以缺少的查询关键词为名称的私有字段,并将新添加的私有字段的内容设置为0;其中,更新后的目标回答中包括查询问题对应的所有查询关键词。

这样的设置方式可以实现对目标回答中包括的查询关键词进行动态增添。

s109:根据反馈操作,对目标回答中的各查询关键词的反馈评分进行更新。

示例地,在本申请的一个实施例中,对反馈评分进行更新的方式例如可以为:若反馈操作为激励操作,则增加目标回答中各查询关键词的反馈得分;或者,若反馈操作为抑制操作,则减少目标回答中各查询关键词的反馈得分。即若反馈操作为激励操作,则在目标回答的boosters字段中,通过修改各查询关键词对应的私有字段的方式,增加各查询关键词的反馈得分;或者,若反馈操作为抑制操作,则在目标回答的boosters字段中,通过修改各查询关键词对应的私有字段的方式,减少各查询关键词的反馈得分。

在一些可能的实施例中,可以根据查询用户的反馈操作确定反馈得分如何更新,举例说明:

若查询用户对目标回答的反馈操作为在普通模式下进行的,此时若反馈操作为激励操作,则对目标回答中各查询关键词的反馈得分均增加1分;或者,若反馈操作为抑制操作,则对目标回答中各查询关键词的反馈得分均减少1分。对于一些有悬赏的查询问题,若查询问题下的某个目标回答被查询问题的发起者进行反馈操作,则可以根据悬赏信息和反馈操作对该目标问题的反馈得分进行更新,例如:查询问题的发起者在该查询问题的悬赏信息中显示,被采纳的目标回答可以获得5个虚拟金币,则若查询问题的发起者对某个目标回答进行激励操作,则对目标回答中各查询关键词的反馈得分均增加5分;但若反馈操作为抑制操作,对目标回答中各查询关键词的反馈得分仍是均减少1分;具体反馈操作对反馈评分的影响方式和影响规则可以根据用户需要灵活调整,并不以上述实施例给出的为限。

可选地,在本申请的一个实施例中,在获取查询用户针对目标回答的反馈操作时,还会获取查询用户的查询问题和目标回答的身份信息,例如可以为目标回答的id信息,随后再根据查询用户的反馈操作对反馈评分进行更新,对于针对同一个查询问题查询到的目标回答,一个查询用户仅可对该目标回答进行一次反馈操作,即一个查询用户在查询同一个查询问题时,仅可对该目标回答进行一次激励操作或抑制操作,若查询用户在查询问题不变的情况下,对一个目标回答进行了多次激励操作,多次激励操作仅即为一次激励操作;若在查询用户进行激励操作后,又进行了抑制操作,则仅有后进行的抑制操作生效,即减少目标回答中各关键词的反馈得分,从而避免查询用户重复进行反馈操作,影响目标回答的反馈评分,使得目标回答的反馈评分异常。

这种直接根据查询用户针对目标回答的反馈操作,就可以对目标回答中的各查询关键词的反馈评分进行修改的方式,只需要提交一次反馈请求就可以完成对目标回答中的各查询关键词的反馈评分的修改,可是实现动态对目标问题中的各查询关键词的反馈评分进行更新,从而得到动态的目标回答评分。

可选地,在上述实施例的基础上,本申请实施例还可提供一种问题查询方法,如下结合附图对上述方法的实现过程进行示例说明。图4为本申请另一实施例提供的一种问题查询方法的流程示意图,如图4所示,s102可包括:

s110:根据至少一个查询关键词,查询数据库中每个文档的关键词字段。

其中,关键词字段用于指示每个文档包含的关键词,以及各关键词的反馈评分,关键词字段可以为rank_features字段,其中包括多个以关键词为字段名称,以反馈评分为字段内容的rank_feature字段。

示例地,在本申请的一个实施例中,在查询数据库中的每个文档之前,需要在创建每个文档的索引时,声明关键词字段的类型为评分特征字段;在存储每个文档时,为每个文档添加关键词字段,其中,每个文档均存储在预设数据库中,新添加的关键词字段中的内容为空,即所有关键词的反馈得分均为0。

在一些可能的实施例中,关键词字段例如可以为boosters字段,其字段类型为评分特征字段rank_features,声明关键词字段boosters的字段类型为rank_features,可以避免elasticsearch在识别该关键词字段时,没有将该字段识别为rank_features字段类型,造成无法在评分阶段的时候引用rank_feature_query字段里的值对评分进行修改的问题。

s111:根据关键词字段的查询结果,从数据库中确定至少一个推荐回答。

下面以一个实施例完整地介绍本申请进行问题查询时的流程:

服务器首先创建每个文档的索引,声明关键词字段的类型为评分特征字段;在存储每个文档时,为每个文档添加关键词字段,并将添加关键词字段后的各文档存储在预设数据库中。

在将每个文档存储至预设数据库后,获取查询用户在通过elasticsearch搜索引擎的搜索框输入的查询问题后,服务器对收到的查询问题进行分词处理,得到至少一个查询关键词,并在预设数据库中获取与查询问题对应的至少一个推荐回答,再根据每个推荐回答中至少一个查询关键词的反馈评分,确定每个推荐回答的目标评分,最终根据每个推荐回答的目标评分返回查询结果至客户端。

客户端在接收到查询结果后,若对查询结果中的某一个回答进行了点击操作,此时则确定该点击操作对应的回答为目标回答,随后对于每一个查询关键词,在目标回答的boosters字段中,查看其私有字段rank_features中是否有该查询关键词,若没有,则需要在boosters字段添加此关键词作为名称的rank_feature字段,并且将该字段的内容设置值为0,对每一个查询关键词都进行确认后,响应于查询用户的反馈操作,对目标问题中的各查询关键词的反馈评分进行更新。

采用本申请提供的问题查询方法,由于查询结果是根据各推荐回答的目标评分确定的,而推荐回答的目标评分是根据每个推荐回答中至少一个查询关键词的反馈评分确定的,并且反馈评分是根据每个查询用户对目标回答的反馈操作确定的,即通过反馈评分可以直接反应各推荐回答的质量,所以根据各推荐回答的目标评分确定的查询结果的文档本身的质量更高,查询结果的准确性更高,与查询问题的相关性更高,保证了查询问题可以被有效回答;此外,本申请提供的方法可直接根据查询用户针对目标回答的反馈操作,对目标回答中各查询关键词的反馈评分进行修改的方式,只需要提交一次反馈请求就可以完成对目标回答中的各查询关键词的反馈评分的修改,可以实现动态对目标回答中包括的查询关键词进行增添,并且动态对目标回答中的各查询关键词的反馈评分进行更新,从而得到动态的目标回答评分。

下述结合附图对本申请所提供的问题查询装置进行解释说明,该问题查询装置可执行上述图1-图4任一问题查询方法,其具体实现以及有益效果参照上述,如下不再赘述。

图5为本申请一实施例提供的问题查询装置的结构示意图,如图5所示,该装置包括:分词模块201、确定模块202和返回模块203,其中:

分词模块201,用于对接收到的查询问题进行分词处理,得到查询问题中的至少一个查询关键词。

确定模块202,用于根据至少一个查询关键词,确定与查询问题对应的至少一个推荐回答,每个推荐回答为:具有至少一个查询关键词的文档;根据每个推荐回答中至少一个查询关键词的反馈评分,确定每个推荐回答的目标评分;其中,每个查询关键词的反馈评分为根据历史查询用户对目标回答的反馈操作确定的。

返回模块203,用于根据至少一个推荐回答的目标评分,向客户端返回查询结果。

可选地,确定模块202,具体用于根据至少一个查询关键词,确定每个推荐回答的初始评分;根据每个推荐回答的初始评分,和至少一个查询关键词的反馈评分,确定每个推荐回答的目标评分。

图6为本申请一实施例提供的问题查询装置的结构示意图,如图6所示,该装置还包括:接收模块204和更新模块205;其中:

确定模块202,用于响应于查询用户在查询结果中的点击操作,确定目标回答。

接收模块204,用于接收客户端发送的查询用户针对目标回答的反馈操作。

更新模块205,用于根据反馈操作,对目标回答中的各查询关键词的反馈评分进行更新。

可选地,更新模块205,具体用于若至少一个查询关键词的数量为多个,则若根据目标回答仅包括部分查询关键词,则对目标回答中的查询关键词进行更新。

可选地,更新模块205,具体用于若反馈操作为激励操作,则增加目标回答中各查询关键词的反馈得分;或者,若反馈操作为抑制操作,则减少目标回答中各查询关键词的反馈得分。

如图6所示,该装置还包括:查询模块206,用于根据至少一个查询关键词,查询数据库中每个文档的关键词字段,其中,关键词字段用于指示每个文档包含的关键词,以及各关键词的反馈评分。

确定模块202,具体用于根据关键词字段的查询结果,从数据库中确定至少一个推荐回答。

如图6所示,该装置还包括:添加模块207,用于在创建每个文档的索引时,声明关键词字段的类型为评分特征字段;在存储每个文档时,为每个文档添加关键词字段。

如图6所示,该装置还包括:生成模块208和加入模块209,其中:

生成模块208,用于生成每个查询关键词的评分特征查询语句。

加入模块209,用于将每个查询关键词的评分特征查询语句,以或逻辑加入查询语句主体中。

可选地,确定模块202,具体用于根据查询语句主体和每个推荐回答,确定每个推荐回答的初始评分。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个微处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

图7为本申请一实施例提供的问题查询设备的结构示意图,该问题查询设备可以集成于服务器。该服务器为可以支持文档搜索或检索的服务器。

该问题查询设备包括:处理器501、存储介质502和总线503。

处理器501用于存储程序,处理器501调用存储介质502存储的程序,以执行上述图1-图4对应的方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本申请还提供一种程序产品,例如存储介质,该存储介质上存储有计算机程序,包括程序,该程序在被处理器运行时执行上述方法对应的实施例。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文:read-onlymemory,简称:rom)、随机存取存储器(英文:randomaccessmemory,简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1