一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

采购场景的垂直搜索方法、装置和系统与流程

2022-07-16 16:20:57 来源:中国专利 TAG:


1.本发明涉及智慧供应链技术领域,尤其涉及一种采购场景的垂直搜索方法、装置和系统。


背景技术:

2.垂直搜索是针对某个行业的专业搜索方式,针对特定人群、特定领域和特定需求提供搜索服务,当前在企业采购场景下的垂直搜索一般使用基于数据库表的sql(structured query language,结构化查询语言)查询方式和社会化电商搜索方式,前者搜索效率、准确率和召回率都较差;后者主要针对个人用户搜索场景,不能体现企业采购场景的搜索规律,因此并不适于作为采购场景的搜索引擎。


技术实现要素:

3.有鉴于此,本发明实施例提供一种采购场景的垂直搜索方法、装置和系统,能够针对采购场景执行高效和高质量搜索。
4.为实现上述目的,根据本发明的一个方面,提供了一种采购场景的垂直搜索方法。
5.本发明实施例的采购场景的垂直搜索方法包括:响应于用户输入搜索文本,从所述搜索文本中获取至少一个关键词,将预设词典中所述关键词对应的用户意图确定为所述用户的第一初选意图;其中,所述词典中含有多个词语与多种用户意图的映射关系;将所述用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,将所述历史采购数据匹配的周期性规则和时效性规则指示的用户意图确定为所述用户的第二初选意图;其中,所述采购周期性规则模型含有至少一条周期性规则,所述采购时效性规则模型含有至少一条时效性规则;依据第一初选意图和第二初选意图确定所述用户的当前意图;利用所述当前意图和所述搜索文本进行查询,并对查询到的至少一个召回结果进行排序,得到所述搜索文本对应的搜索结果向所述用户返回。
6.可选地,所述周期性规则和所述时效性规则包括判别条件部分和用户意图部分;以及,所述将所述用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,将所述历史采购数据匹配的周期性规则和时效性规则指示的用户意图确定为所述用户的第二初选意图,包括:将所述用户在第一历史时间段的历史采购数据输入所述采购周期性规则模型,将判别条件部分与该历史采购数据相符的周期性规则指示的用户意图确定为第二初选意图;将所述用户在第二历史时间段的历史采购数据输入所述采购时效性规则模型,将判别条件部分与该历史采购数据相符的时效性规则指示的用户意图确定为第二初选意图;其中,第一历史时间段的起始时间早于第二历史时间段的起始时间。
7.可选地,所述方法进一步包括:将所述搜索文本分词后输入预先训练的、基于机器学习的意图分类模型,得到所述用户的第三初选意图;以及,所述依据第一初选意图和第二初选意图确定所述用户的当前意图,包括:结合第一初选意图、第二初选意图和第三初选意图确定所述当前意图。
8.可选地,所述利用所述当前意图和所述搜索文本进行查询,包括:在预设数据库中使用所述搜索文本的分词结果进行查询,依据所述当前意图指示的物品类别调整查询结果的查询分数,将查询分数最大的多个查询结果确定为所述数据库的召回结果;将所述搜索文本的分词结果的词向量特征输入预先训练的、基于机器学习的向量召回模型,依据所述当前意图指示的物品类别调整输出结果的查询分数,将查询分数最大的多个输出结果确定为所述向量召回模型的召回结果。
9.可选地,所述对查询到的至少一个召回结果进行排序,包括:对于所述召回结果中的任一物品类别,根据从所述用户的行为日志中提取到的特征数据、以及该物品类别是否为所述当前意图指示的物品类别确定所述任一物品类别的排序分数,按照所述排序分数确定所述召回结果中各物品类别之间的排列顺序;在所述召回结果中同一物品类别内部,利用预先训练的、基于机器学习的排序模型计算属于该物品类别的各召回结果的排序分数,按照该排序分数确定各召回结果在该物品类别内部的排列顺序。
10.可选地,所述得到所述搜索文本对应的搜索结果,包括:选取排列在前的预设数量的所述召回结果作为预选结果;利用预设的重排序规则对各预选结果的排列顺序进行调整,得到所述搜索结果。
11.可选地,所述从所述搜索文本中获取至少一个关键词,包括:在所述用户输入所述搜索文本的过程中,从预设的联想词库中确定已输入文本对应的联想词,将所述联想词向所述用户输出;在所述用户发起搜索之后,判别所述搜索文本是否为错误文本;在所述搜索文本为错误文本时,对所述搜索文本纠错;将预设的同义词库中所述搜索文本对应的至少一个同义词确定为所述搜索文本的扩展词,根据所述扩展词进行意图识别和所述召回结果的查询。
12.为实现上述目的,根据本发明的另一方面,提供了一种采购场景的垂直搜索装置。
13.本发明实施例的采购场景的垂直搜索装置可以包括:第一意图识别单元,用于:响应于用户输入搜索文本,从所述搜索文本中获取至少一个关键词,将预设词典中所述关键词对应的用户意图确定为所述用户的第一初选意图;其中,所述词典中含有多个词语与多种用户意图的映射关系;第二意图识别单元,用于:将所述用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,将所述历史采购数据匹配的周期性规则和时效性规则指示的用户意图确定为所述用户的第二初选意图;其中,所述采购周期性规则模型含有至少一条周期性规则,所述采购时效性规则模型含有至少一条时效性规则;搜索单元,用于:依据第一初选意图和第二初选意图确定所述用户的当前意图;利用所述当前意图和所述搜索文本进行查询,并对查询到的至少一个召回结果进行排序,得到所述搜索文本对应的搜索结果向所述用户返回。
14.为实现上述目的,根据本发明的另一方面,提供了一种采购场景的垂直搜索系统。
15.本发明实施例的采购场景的垂直搜索系统可以包括:应用层、服务层、数据层、日志收集层和数据计算层;其中,所述服务层部署用于支持所述应用层的多个微服务,所述微服务包括意图识别服务、召回服务和排序服务;所述日志收集层通过所述应用层收集用户的行为日志;所述数据计算层根据所述行为日志进行计算,将计算结果存储在所述数据层;其中,所述计算结果包括所述用户的历史采购数据;所述意图识别服务从所述用户输入的搜索文本中获取至少一个关键词,将预设词典中所述关键词对应的用户意图确定为所述用
户的第一初选意图;其中,所述词典中含有多个词语与多种用户意图的映射关系;所述意图识别服务将所述数据层中所述用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,将所述历史采购数据匹配的周期性规则和时效性规则指示的用户意图确定为所述用户的第二初选意图;其中,所述采购周期性规则模型含有至少一条周期性规则,所述采购时效性规则模型含有至少一条时效性规则;所述意图识别服务依据第一初选意图和第二初选意图确定所述用户的当前意图;所述召回服务利用所述当前意图和所述搜索文本在所述数据层进行查询;所述排序服务对查询到的至少一个召回结果进行排序,以得到所述搜索文本对应的搜索结果;所述应用层将所述搜索结果向所述用户返回。
16.可选地,所述行为日志包括:搜索日志和订单日志,所述计算结果进一步包括:从所述搜索日志中计算得到的特征数据;以及,所述数据层包括:用于执行所述查询的全文检索数据库和用于存储所述计算结果的缓存数据库;所述日志收集层包括:用于存储一部分搜索日志和所述订单日志的关系型数据库和用于存储另一部分搜索日志的文件系统;所述数据计算层包括:用于对所述搜索日志进行计算的流计算引擎和用于对所述订单日志进行计算的批量计算引擎;所述流计算引擎将计算得到的所述特征数据存储在所述缓存数据库,所述批量计算引擎将计算得到的所述历史采购数据存储在所述缓存数据库。
17.可选地,所述系统可进一步包括:第一转换模块、第二转换模块和消息队列模块;其中,第一转换模块将所述关系型数据库中存储的搜索日志转换为流数据,并将该流数据通过所述消息队列模块发送到所述流计算引擎;第二转换模块将所述文件系统中存储的搜索日志转换为流数据,并将该流数据通过所述消息队列模块发送到所述流计算引擎。
18.可选地,所述垂直搜索系统可进一步包括:含有支持所述意图识别服务的意图分类模型、支持所述召回服务的向量召回模型和支持所述排序服务的排序模型的算法模型层;所述意图分类模型、所述向量召回模型和所述排序模型都是预先训练的机器学习模型。
19.可选地,所述微服务可进一步包括:联想词服务、纠错服务、同义词服务、分词服务和重排序服务;所述全文检索数据库包括弹性搜索es,所述缓存数据库包括redis,所述关系型数据库包括mysql,所述文件系统包括hdfs,所述流计算引擎包括flink,所述批量计算引擎包括spark,第一转换模块包括flume,第二转换模块包括beats,所述消息队列模块包括kafka。
20.为实现上述目的,根据本发明的又一方面,提供了一种电子设备。
21.本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的采购场景的垂直搜索方法。
22.为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。
23.本发明的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的采购场景的垂直搜索方法。
24.根据本发明的技术方案,上述发明中的实施例具有如下优点或有益效果:
25.预先部署意图识别服务从多个方面准确判断用户真实意图,从而体现采购场景的搜索规律以提高搜索效率和质量。具体地,第一方面,在用户输入搜索文本之后,从搜索文本中确定关键词,将预设词典中关键词对应的用户意图确定为用户的第一初选意图。第二方面,将用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,采
购周期性规则模型反映用户在较长时间内体现的周期性采购规律,采购时效性规则模型反映用户的短期时效性采购规律,综合这两个模型可以确定用户的第二初选意图。第三方面,将搜索文本分词后输入预先训练的意图分类模型,从而得到用户的第三初选意图。最后,结合第一初选意图、第二初选意图和第三初选意图确定用户的当前意图(即真实意图),此后利用用户的当前意图指导后续的召回和排序过程,从而实现一种适用于采购场景的高可用性垂直搜索引擎。另外,本发明还提供了适用于采购场景的垂直搜索系统的具体架构,包括应用层、服务层、数据层、日志收集层和数据计算层等层次,这些层次通过交互协作实现数据查询及日志收集和加工,对以上垂直搜索引擎形成有力支持。
26.上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
27.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
28.图1是本发明实施例中采购场景的垂直搜索方法的主要步骤示意图;
29.图2是本发明实施例的微服务调用示意图;
30.图3是本发明实施例中采购场景的垂直搜索装置的组成部分示意图;
31.图4是本发明实施例中采购场景的垂直搜索系统的架构示意图;
32.图5是根据本发明实施例可以应用于其中的示例性系统架构图;
33.图6是用来实现本发明实施例中采购场景的垂直搜索方法的电子设备结构示意图。
具体实施方式
34.以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
35.需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
36.图1是根据本发明实施例中采购场景的垂直搜索方法的主要步骤示意图。
37.如图1所示,本发明实施例的采购场景的垂直搜索方法可具体按照如下步骤执行:
38.步骤s101:响应于用户输入搜索文本,从搜索文本中获取至少一个关键词,将预设词典中关键词对应的用户意图确定为用户的第一初选意图。
39.本发明实施例提供的垂直搜索方法可以应用在企业采购场景,与个人用户购买场景不同,采购场景往往具有长时间范围的周期性规律和短时间范围的相似性规律,例如,某用户去年某日采购了某种物品,则今年这一日期附近有一定概率还会采购同种物品或相关物品;某用户一周前采购了某种物品,则当前存在一定概率还会采购同种物品或相关物品。以上示例即为采购需求预测规则,实际应用中,采购需求预测规则一般由采购专家根据用户所在行业和采购物品的具体情况来确定。
40.实际场景中,当用户在搜索框输入搜索文本时,服务器可以从预设的联想词库中
确定已输入文本对应的联想词,并将联想词展示在搜索框的下拉列表,用户可以从中选择想要输入的搜索文本。可以理解,联想词库中含有使用热度较高的多个联想词,在用户输入搜索文本的过程中,服务器可以将已输入文本作为前缀匹配联想词库中各词,并将匹配到的联想词按照使用热度等因素向用户有序展示。以上联想词功能可以通过服务器中预设的联想词服务实现。
41.当用户通过输入方式或者选取联想词方式确定完整的搜索文本并通过点击搜索按钮等行为发起搜索之后,服务器可以基于预设规则或预先训练的机器学习模型判别搜索文本是否为错误文本。如果判断搜索文本为错误文本,则对搜索文本纠错,也可以向用户提示以便由用户选择使用纠错后的文本还是原搜索文本。如果判断搜索文本不存在错误,则不进行处理。以上纠错功能可以通过服务器中预设的纠错服务实现。
42.此后,服务器可以将预设的同义词库中搜索文本(可以是纠错后的搜索文本或者原搜索文本)对应的至少一个同义词确定为搜索文本的扩展词,并对任一扩展词独立执行与搜索文本类似的后续处理,即针对任一扩展词独立执行后续将要说明的分词、意图识别和召回过程,任一扩展词的召回结果与搜索文本的召回结果汇总之后执行排序过程和重排序过程。以下仅以搜索文本为例展示分词、意图识别、召回、排序、重排序等过程,扩展词的处理过程与搜索文本类似,需要说明的是,与搜索文本相比,扩展词的召回结果在排序和重排序的过程中在来源维度具有较低权重。可以理解,以上搜索文本可以是各种文字,以上联想词和同义词可以是各种文字的词汇,例如汉语的字、词语,英语的单词。以上同义词功能可以通过服务器中预设的同义词服务实现。
43.之后,服务器使用预设的分词服务对搜索文本进行分词,并根据分词结果进行意图识别。以上意图识别用于预设用户的采购需求,即根据搜索文本和用户的历史行为确定用户的真实意图(以下称为当前意图),以上意图可以对应于一种或多个物品类别。实际应用中,可以从两个方面综合判断用户的当前意图。第一方面基于词典,具体地,服务器利用关键词提取工具从搜索文本中获取至少一个关键词,将预设词典中关键词对应的用户意图确定为用户的第一初选意图。可以理解,以上词典中含有多个词语与多种用户意图的映射关系,这种映射关系可以通过对海量历史数据的统计获得。例如,搜索文本为“高级熟普”,服务器可以从中确定关键词“熟普”,并从以上词典中将“熟普”对应的“茶叶”确定为用户的第一初选意图。
44.第二方面基于规则,具体地,服务器将用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,将历史采购数据匹配的周期性规则和时效性规则指示的用户意图确定为用户的第二初选意图(以上为步骤s102)。具体应用中,历史采购数据可以包括用户在历史时期的采购相关数据,如采购物品、采购数量、采购时间等,可以从用户的行为日志中提取。用户的行为日志可以包括搜索日志和订单日志,搜索日志中可以记录某次搜索过程的搜索文本、曝光物品、点击物品等,订单日志中可以记录用户的采购相关数据,以上历史采购数据即从订单日志中所提取。
45.一般地,以上采购周期性规则模型用于体现前述长时间范围的周期性规律,其含有至少一条周期性规则;以上采购时效性规则模型用于体现前述短时间范围的相似性规律,其含有至少一条时效性规则。以上周期性规则和时效性规则可以由采购专家在充分挖掘企业采购搜索的领域特征和场景特征之后确定。具体来说,周期性规则和时效性规则包
括判别条件部分和用户意图部分,例如,某周期性规则为:如果一年前的2月某用户采购过电解电容器,则如果该用户在今年2月或3月发起搜索(判别条件部分),其意图为电容器和电阻器(用户意图部分);某时效性规则为:如果某用户一个月内采购过女式夏季上衣,则如果该用户在今年5月到8月之间发起搜索(判别条件部分),其意图为女士夏季上衣和裙子(用户意图部分)。可以理解,时效性规则除了能够体现前述短时间范围的相似性规律之外,还能够体现当前搜索时间的季节性、即时性规律。
46.在第二方面,服务器可以将用户在第一历史时间段的历史采购数据输入采购周期性规则模型,将每一历史采购数据与采购周期性规则模型的每一周期性规则进行比对,将判别条件部分与该历史采购数据相符的周期性规则指示的用户意图确定为第二初选意图;将用户在第二历史时间段的历史采购数据输入采购时效性规则模型,将每一历史采购数据与采购时效性规则模型的每一时效性规则进行比对,将判别条件部分与该历史采购数据相符的时效性规则指示的用户意图确定为第二初选意图。其中,第一历史时间段是距当前时刻较早的时间段,第二历史时间段是距当前时刻较晚的时间段,即第一时间段的起始时间早于第二历史时间段的起始时间,例如,第一时间段为一年前到当前时刻,第二时间段为一月前到当前时刻。
47.步骤s103:依据第一初选意图和第二初选意图确定用户的当前意图;利用当前意图和搜索文本进行查询,并对查询到的至少一个召回结果进行排序,得到搜索文本对应的搜索结果向用户返回。
48.在本步骤中,可以结合第一初选意图和第二初选意图来确定用户的当前意图,例如将第一初选意图和第二初选意图的并集或交集确定为用户的当前意图。具体应用中,用户的当前意图可以对应多种物品类别,每一物品类别可以具有不同的权重,以上权重可以在后续的召回过程和排序过程中的处理结果产生影响。实际场景中,可以根据第一初选意图和第二初选意图的具体情况调整以上权重,例如,在将第一初选意图和第二初选意图的并集确定为用户的当前意图时,可以提高第一初选意图和第二初选意图的交集对应的物品类别的权重。
49.作为一个优选方案,还可以进一步通过第三方面来执行意图识别。具体地,服务器可以将搜索文本分词后输入预先训练的、基于机器学习的意图分类模型,从而得到用户的第三初选意图。以上意图分类模型可以是基于bert(bidirectional encoder representation from transformers,一种语言模型)的蒸馏模型,即distilled bert。考虑到搜索场景对于模型的线上处理速度有很高的要求,传统bert模型由于参数量太大,虽然准确率高但模型处理速度较慢,因此本发明实施例采用了模型蒸馏技术,基于bert模型蒸馏出了distilled bert模型,在保证模型准确率的同时,大幅提高模型的线上处理速度。
50.此后,服务器结合第一初选意图、第二初选意图和第三初选意图确定用户的当前意图,即,将第一初选意图、第二初选意图和第三初选意图的并集或交集确定为用户的当前意图。通过以上步骤,能够从词库、规则和机器学习模型三个方面结合搜索文本和历史采购数据综合预测用户的采购需求,借助采购场景的周期性规律和时效性规则提高预测精度,有助于实现高效高质量的采购搜索服务。以上意图识别功能可以通过服务器中预设的意图识别服务实现。
51.在确定用户的当前意图之后,可以执行以下召回过程。具体地,服务器可以从多个
路径查询召回结果。在一条路径中,服务器在预设数据库(例如弹性搜索es)中使用搜索文本的分词结果进行查询,依据当前意图指示的物品类别调整查询结果的查询分数,例如根据当前意图指示的物品类别的不同权重以不同程度提高相应查询结果的查询分数,最后将查询分数最大的多个查询结果确定为数据库的召回结果。在基于以上数据库的召回过程中,也可以首先将当前意图指示的物品类别确定为查询范围,此后在该查询范围进行数据库查询,并将查询结果作为数据库的召回结果;还可以首先根据搜索文本在数据库进行查询,之后对于匹配于当前意图指示的物品类别的查询结果,将其排列顺序提前,最后选取在前的预设数量的查询结果作为数据库的召回结果。
52.在另一条路径中,服务器可以将搜索文本的分词结果的词向量特征输入预先训练的、基于机器学习的向量召回模型,依据当前意图指示的物品类别调整输出结果的查询分数,例如根据当前意图指示的物品类别的不同权重以不同程度提高相应输出结果的查询分数,最后将查询分数最大的多个输出结果确定为向量召回模型的召回结果。在基于以上向量召回模型的召回过程中,也可以将当前意图指示的物品类别确定为查询范围,在得到向量召回模型的输出结果之后,利用查询范围进行筛选,将查询范围中的输出结果作为向量召回模型的召回结果;还可以在得到向量召回模型的输出结果之后,对于匹配于当前意图指示的物品类别的输出结果,将其排列顺序提前,最后选取在前的预设数量的输出结果作为向量召回模型的召回结果。
53.在其它路径中,还可以利用用户的当前意图和搜索文本在预设的特定数据库(例如新品数据库、长尾物品数据库)中进行查询,以类似于前述数据库的意图识别过程得到召回结果。最后,可以综合所有路径的召回结果,并执行后续的排序过程。可以理解,如果此前步骤中确定了扩展词,则需要针对每一扩展词进行独立查询,最后综合选取基于搜索文本和扩展词的召回结果,在选取过程中,扩展词的召回结果在来源维度具有较低权重。通过以上步骤,能够基于搜索文本和用户当前意图、并结合多种路径实现准确全面的数据召回,有助于提高搜索质量。实际场景中,以上召回功能可以由服务器中预设的召回服务实现。
54.较佳地,在排序过程中,对于召回结果中的任一物品类别,服务器根据从用户的行为日志中提取到的特征数据、以及该物品类别是否为用户的当前意图指示的物品类别确定任一物品类别的排序分数,按照排序分数确定召回结果中各物品类别之间的排列顺序。以上特征数据可以是从用户的搜索日志中提取到的用户特征和商品特征。实际场景中,以上排序分数的计算方式是,如果某物品类别与上述特征数据具有较高相关性,则为其设置较高的排序分数;如果某物品类别属于用户的当前意图指示的物品类别,则根据当前意图所指示类别的权重为其设置相应的较高排序分数。可以理解,在以上排序方式中,同一类别的召回结果处在相邻的排列位置,不同类别的召回结果按照排序分数整体排列,同时不会发生排列位置混合。
55.在召回结果中同一物品类别内部,服务器利用预先训练的、基于机器学习的排序模型计算属于该物品类别的各召回结果的排序分数,按照该排序分数确定各召回结果在该物品类别内部的排列顺序。具体地,可以将搜索文本和各召回结果的描述信息(包括物品名称、品牌等)输入排序模型,从而计算各召回结果的排序分数,对于排序分数来说,其与召回结果和搜索文本之间的相关性正相关。最后,选取排列在前的预设数量的召回结果作为预选结果。实际场景中,以上排序可以分为粗排和精排两个阶段,两个阶段的执行原理类似,
但是可以使用不同的排序逻辑和排序模型,粗排阶段用于以较快的运算速度过滤掉大量的弱相关召回结果,精排阶段用于较为精准地定位最后的预选结果。可以理解,如果召回结果中含有基于扩展词的召回结果,则确定排序分数时这些召回结果在来源维度具有较低权重。实践中以上排序过程可以通过预设的排序服务实现。可以看到,通过基于用户当前意图和特征数据的类间排序以及基于搜索文本的类内排序,能够最大程度提高排序准确性,确保与用户需求强相关的物品能够在靠前的位置展示在用户眼前。
56.最后,可以针对以上预选结果进行重排序(rerank),重排序用于体现较为重要的业务规则,实践中可以通过预设的重排序服务实现,具体地,服务器利用预设的重排序规则对各预选结果的排列顺序进行调整,得到最终的搜索结果;服务器也可以将重排序规则与基于用户行为日志计算的用户特征或商品特征结合,得到搜索结果。在得到搜索结果之前,服务器可以执行去重处理。最后,服务器将搜索结果向用户返回。
57.特别地,以上联想词服务、纠错服务、同义词服务、分词服务、意图识别服务、召回服务、排序服务和重排序服务都属于微服务,每个微服务运行在独立的进程中,微服务之间采用轻量级的通信机制互相沟通,互相协调,独立地部署到生产环境。参见图2,各微服务之间具有一定的调用关系,微服务的执行过程与本发明实施例的搜索过程吻合。
58.在本发明实施例的技术方案中,围绕企业采购场景进行智能搜索引擎的研发,运用自然语言处理、机器学习、深度学习、大数据分析等技术,创建专用分词工具和分词库,建立搜索词纠错机制,优化联想词规则,嵌入用户意图预判算法,建立智能排序规则,挖掘搜索数据价值,搭建可持续优化的搜索引擎技术和运行体系,提升采购场景的搜索体验,并能够帮助各企业部署和适配采购场景的专业搜索引擎进而将该引擎集成到企业通用引擎中。
59.需要说明的是,对于前述的各方法实施例,为了便于描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,某些步骤事实上可以采用其它顺序进行或者同时进行。此外,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是实现本发明所必须的。
60.为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
61.请参阅图3所示,本发明实施例提供的采购场景的垂直搜索装置300可以包括:第一意图识别单元301、第二意图识别单元302和搜索单元303。
62.其中,第一意图识别单元301可用于:响应于用户输入搜索文本,从所述搜索文本中获取至少一个关键词,将预设词典中所述关键词对应的用户意图确定为所述用户的第一初选意图;其中,所述词典中含有多个词语与多种用户意图的映射关系;第二意图识别单元302可用于:将所述用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,将所述历史采购数据匹配的周期性规则和时效性规则指示的用户意图确定为所述用户的第二初选意图;其中,所述采购周期性规则模型含有至少一条周期性规则,所述采购时效性规则模型含有至少一条时效性规则;搜索单元303可用于:依据第一初选意图和第二初选意图确定所述用户的当前意图;利用所述当前意图和所述搜索文本进行查询,并对查询到的至少一个召回结果进行排序,得到所述搜索文本对应的搜索结果向所述用户返回。
63.在本发明实施例中,所述周期性规则和时效性规则包括判别条件部分和用户意图
部分;第二意图识别单元302可进一步用于:将所述用户在第一历史时间段的历史采购数据输入所述采购周期性规则模型,将判别条件部分与该历史采购数据相符的周期性规则指示的用户意图确定为第二初选意图;将所述用户在第二历史时间段的历史采购数据输入所述采购时效性规则模型,将判别条件部分与该历史采购数据相符的时效性规则指示的用户意图确定为第二初选意图;其中,第一历史时间段的起始时间早于第二历史时间段的起始时间。
64.具体应用中,所述装置300可进一步包括第三意图识别单元,其用于:将搜索文本分词后输入预先训练的、基于机器学习的意图分类模型,得到用户的第三初选意图;搜索单元303可进一步用于:结合第一初选意图、第二初选意图和第三初选意图确定用户的当前意图。
65.实际应用中,搜索单元303可进一步用于:在预设数据库中使用所述搜索文本的分词结果进行查询,依据所述当前意图指示的物品类别调整查询结果的查询分数,将查询分数最大的多个查询结果确定为所述数据库的召回结果;将所述搜索文本的分词结果的词向量特征输入预先训练的、基于机器学习的向量召回模型,依据所述当前意图指示的物品类别调整输出结果的查询分数,将查询分数最大的多个输出结果确定为所述向量召回模型的召回结果。
66.作为一个优选方案,搜索单元303可进一步用于:对于所述召回结果中的任一物品类别,根据从所述用户的行为日志中提取到的特征数据、以及该物品类别是否为所述当前意图指示的物品类别确定所述任一物品类别的排序分数,按照所述排序分数确定所述召回结果中各物品类别之间的排列顺序;在所述召回结果中同一物品类别内部,利用预先训练的、基于机器学习的排序模型计算属于该物品类别的各召回结果的排序分数,按照该排序分数确定各召回结果在该物品类别内部的排列顺序。
67.较佳地,搜索单元303可进一步用于:选取排列在前的预设数量的所述召回结果作为预选结果;利用预设的重排序规则对各预选结果的排列顺序进行调整,得到所述搜索结果。
68.此外,在本发明实施例中,所述装置300可进一步包括预处理单元,其用于:在所述用户输入所述搜索文本的过程中,从预设的联想词库中确定已输入文本对应的联想词,将所述联想词向所述用户输出;在所述用户发起搜索之后,判别所述搜索文本是否为错误文本;在所述搜索文本为错误文本时,对所述搜索文本纠错;将预设的同义词库中所述搜索文本对应的至少一个同义词确定为所述搜索文本的扩展词,根据所述扩展词进行意图识别和所述召回结果的查询。
69.根据本发明实施例的技术方案,预先部署意图识别服务从多个方面准确判断用户真实意图,从而体现采购场景的搜索规律以提高搜索效率和质量。具体地,第一方面,在用户输入搜索文本之后,从搜索文本中确定关键词,将预设词典中关键词对应的用户意图确定为用户的第一初选意图。第二方面,将用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,采购周期性规则模型反映用户在较长时间内体现的周期性采购规律,采购时效性规则模型反映用户的短期时效性采购规律,综合这两个模型可以确定用户的第二初选意图。第三方面,将搜索文本分词后输入预先训练的意图分类模型,从而得到用户的第三初选意图。最后,结合第一初选意图、第二初选意图和第三初选意图确定用户
的当前意图(即真实意图),此后利用用户的当前意图指导后续的召回和排序过程,从而实现一种适用于采购场景的高可用性垂直搜索引擎。
70.图4是本发明实施例中采购场景的垂直搜索系统的架构示意图,如图4所示,本发明实施例的采购场景的垂直搜索系统包括:应用层、服务层、数据层、日志收集层、数据计算层和算法模型层。
71.其中,服务层部署用于支持应用层的多个微服务,以上微服务包括联想词服务、纠错服务、同义词服务、分词服务、意图识别服务、召回服务、排序服务和重排序服务,这些微服务可以实现各自功能,可以根据需要具体选取。服务层需要数据层的支持,数据层可以包括:用于执行数据查询的全文检索数据库(例如弹性搜索es)和用于存储基于用户的行为日志的计算结果的缓存数据库(例如redis),服务层的召回服务需要在全文检索数据库中查询以得到召回结果,意图识别服务、排序服务和重排序服务需要使用缓存数据库中存储的计算结果。
72.其中,用户的行为日志可以包括搜索日志和订单日志,基于行为日志的计算结果可以包括基于订单日志计算得到的用户的历史采购数据和基于搜索日志计算得到的特征数据(如用户特征和物品特征)。从搜索执行结果来看,搜索日志可以分为用户产生点击或购买行为的成功日志和用户没有产生点击行为的失败日志,这两种日志可以用于指导后续的产品线建设和相关运营策略。实际应用中,以上意图识别服务需要使用用户的历史采购数据,以上排序服务和重排序服务需要使用上述特征数据。
73.在使用以上各种微服务时,可能需要调用算法模型层的模型,这些模型一般都是基于机器学习的预先训练完成的模型,例如支持意图识别服务的意图分类模型、支持召回服务的向量召回模型和支持排序服务的排序模型。
74.以上日志收集层可以通过应用层埋点方式收集用户的行为日志。具体地,日志收集层可以包括:用于存储一部分搜索日志和订单日志的关系型数据库(例如mysql)和用于存储另一部分搜索日志的文件系统(例如hdfs),前者以数据库表的方式存储日志数据,后者以文件形式存储日志数据。数据计算层根据用户的行为日志进行计算,将计算结果存储在数据层中的存储单元。数据计算层可以包括:用于对搜索日志进行计算的流计算引擎(例如flink)和用于对订单日志进行计算的批量计算引擎(例如spark);流计算引擎将计算得到的前述特征数据存储在缓存数据库,批量计算引擎将计算得到的前述历史采购数据存储在缓存数据库。从图4中可以看到,批量计算引擎可以直接从关系型数据库中获取订单日志进而进行计算,此外,批量计算引擎也可以通过离线方式预先根据用户的历史采购数据计算出第二初选意图并存储在缓存数据库中,由意图识别服务调用。
75.较佳地,本发明实施例的采购场景的垂直搜索系统可以进一步包括:第一转换模块(例如flume)、第二转换模块(例如beats)和消息队列模块(例如kafka)。其中,第一转换模块将关系型数据库中存储的数据库表格式的搜索日志转换为流数据,并将该流数据通过消息队列模块发送到流计算引擎;第二转换模块将文件系统中存储的文件格式的搜索日志转换为流数据,并将该流数据通过消息队列模块发送到流计算引擎。消息队列模块还具有管理上下文信息(例如历史执行记录)和流量削峰的作用。
76.可以看到,通过图4示出的系统架构,本发明实施例的采购场景的垂直搜索系统能够通过各层的交互协作实现数据查询及日志收集和加工,对采购场景的垂直搜索引擎形成
稳定支持。
77.以下说明上述各种微服务的工作原理。
78.联想词服务用于:在用户输入搜索文本的过程中,从预设的联想词库中确定已输入文本对应的联想词,将联想词向用户输出。在构建联想词库时,可以基于用户的搜索日志构建,也可以结合对物品描述信息的分析来构建,例如从物品描述信息中提取实体词和修饰词并进行组合,生成新的联想词。
79.纠错服务用于:在用户发起搜索之后,判别搜索文本是否为错误文本;在搜索文本为错误文本时,对搜索文本纠错。
80.同义词服务用于:将预设的同义词库中搜索文本对应的至少一个同义词确定为搜索文本的扩展词,根据扩展词进行意图识别和召回结果的查询。分词服务用于对搜索文本和扩展词执行分词处理。
81.意图识别服务从用户输入的搜索文本中获取至少一个关键词,将预设词典中关键词对应的用户意图确定为用户的第一初选意图;其中,词典中含有多个词语与多种用户意图的映射关系;意图识别服务将数据层中用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,将历史采购数据匹配的周期性规则和时效性规则指示的用户意图确定为用户的第二初选意图;其中,采购周期性规则模型含有至少一条周期性规则,采购时效性规则模型含有至少一条时效性规则;意图识别服务依据第一初选意图和第二初选意图确定用户的当前意图。
82.召回服务利用当前意图和搜索文本在数据层进行查询;排序服务对查询到的至少一个召回结果进行排序,以得到搜索文本对应的搜索结果;应用层将搜索结果向所述用户返回。
83.在本发明实施例中,周期性规则和时效性规则包括判别条件部分和用户意图部分;意图识别服务可进一步用于:将用户在第一历史时间段的历史采购数据输入采购周期性规则模型,将判别条件部分与该历史采购数据相符的周期性规则指示的用户意图确定为第二初选意图;将用户在第二历史时间段的历史采购数据输入采购时效性规则模型,将判别条件部分与该历史采购数据相符的时效性规则指示的用户意图确定为第二初选意图;其中,第一历史时间段的起始时间早于第二历史时间段的起始时间。
84.作为一个优选方案,意图识别服务可进一步用于:将搜索文本分词后输入预先训练的、基于机器学习的意图分类模型,得到用户的第三初选意图,结合第一初选意图、第二初选意图和第三初选意图确定用户的当前意图。
85.较佳地,召回服务可进一步用于:在预设数据库中使用所述搜索文本的分词结果进行查询,依据所述当前意图指示的物品类别调整查询结果的查询分数,将查询分数最大的多个查询结果确定为所述数据库的召回结果;将所述搜索文本的分词结果的词向量特征输入预先训练的、基于机器学习的向量召回模型,依据所述当前意图指示的物品类别调整输出结果的查询分数,将查询分数最大的多个输出结果确定为所述向量召回模型的召回结果。
86.具体应用中,排序服务可进一步用于:对于召回结果中的任一物品类别,根据从用户的行为日志中提取到的特征数据、以及该物品类别是否为当前意图指示的物品类别确定任一物品类别的排序分数,按照排序分数确定召回结果中各物品类别之间的排列顺序;在
召回结果中同一物品类别内部,利用预先训练的、基于机器学习的排序模型计算属于该物品类别的各召回结果的排序分数,按照该排序分数确定各召回结果在该物品类别内部的排列顺序;选取排列在前的预设数量的召回结果作为预选结果。
87.实际应用中,重排序服务可用于:利用预设的重排序规则对各预选结果的排列顺序进行调整,得到搜索结果。
88.在本发明实施例的技术方案中,提供了适用于采购场景的垂直搜索系统的具体架构,包括应用层、服务层、数据层、日志收集层和数据计算层等层次,这些层次通过交互协作实现数据查询及日志收集和加工,对采购场景的垂直搜索引擎形成有力支持。
89.图5示出了可以应用本发明实施例的采购场景的垂直搜索方法或采购场景的垂直搜索装置的示例性系统架构500。
90.如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
91.用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种客户端应用,例如采购场景的垂直搜索应用等(仅为示例)。
92.终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
93.服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所操作的采购场景的垂直搜索应用提供支持的后台服务器(仅为示例)。后台服务器可以对接收到的搜索请求进行处理,并将处理结果(例如搜索结果
‑‑
仅为示例)反馈给终端设备501、502、503。
94.需要说明的是,本发明实施例所提供的采购场景的垂直搜索方法一般由服务器505执行,相应地,采购场景的垂直搜索装置一般设置于服务器505中。
95.应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
96.本发明还提供了一种电子设备。本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的采购场景的垂直搜索方法。
97.下面参考图6,其示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
98.如图6所示,计算机系统600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有计算机系统600操作所需的各种程序和数据。cpu601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
99.以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射
线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便从其上读出的计算机程序根据需要被安装入存储部分608。
100.特别地,根据本发明公开的实施例,上文的主要步骤图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在上述实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元601执行时,执行本发明的系统中限定的上述功能。
101.需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
102.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
103.描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一意图识别单元、第二意图识别单元和搜索单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一意图识别单元还可以被描述为“向搜索单元提供
第一初选意图的单元”。
104.作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备执行的步骤包括:响应于用户输入搜索文本,从所述搜索文本中获取至少一个关键词,将预设词典中所述关键词对应的用户意图确定为所述用户的第一初选意图;其中,所述词典中含有多个词语与多种用户意图的映射关系;将所述用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,将所述历史采购数据匹配的周期性规则和时效性规则指示的用户意图确定为所述用户的第二初选意图;其中,所述采购周期性规则模型含有至少一条周期性规则,所述采购时效性规则模型含有至少一条时效性规则;依据第一初选意图和第二初选意图确定所述用户的当前意图;利用所述当前意图和所述搜索文本进行查询,并对查询到的至少一个召回结果进行排序,得到所述搜索文本对应的搜索结果向所述用户返回。
105.在本发明实施例的技术方案中,预先部署意图识别服务从多个方面准确判断用户真实意图,从而体现采购场景的搜索规律以提高搜索效率和质量。具体地,第一方面,在用户输入搜索文本之后,从搜索文本中确定关键词,将预设词典中关键词对应的用户意图确定为用户的第一初选意图。第二方面,将用户的历史采购数据输入预设的采购周期性规则模型和采购时效性规则模型,采购周期性规则模型反映用户在较长时间内体现的周期性采购规律,采购时效性规则模型反映用户的短期时效性采购规律,综合这两个模型可以确定用户的第二初选意图。第三方面,将搜索文本分词后输入预先训练的意图分类模型,从而得到用户的第三初选意图。最后,结合第一初选意图、第二初选意图和第三初选意图确定用户的当前意图(即真实意图),此后利用用户的当前意图指导后续的召回和排序过程,从而实现一种适用于采购场景的高可用性垂直搜索引擎。另外,本发明还提供了适用于采购场景的垂直搜索系统的具体架构,包括应用层、服务层、数据层、日志收集层和数据计算层等层次,这些层次通过交互协作实现数据查询及日志收集和加工,对以上垂直搜索引擎形成有力支持。
106.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献