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

搜索词生成方法、系统及计算机可读存储介质与流程

2021-12-14 23:02:00 来源:中国专利 TAG:


1.本发明涉及计算机领域,具体涉及一种搜索词生成方法、系统及计算机可读存储介质。


背景技术:

2.suggest是现代搜索引擎最突出的功能之一,是用户在搜索和形成查询的第一个交互服务。用户在输入框中输入一个新的字符,搜索引擎能够提供匹配用户前缀的suggest候选列表,并且向用户展示靠前的候选项,查询前缀往往简短而且模棱两可。
3.传统的suggest采用的模型主要依靠匹配候选者过去的流行度进行排名。但是,某些查询的受欢迎程度可能会因不同的受众特征和用户而异。例如,尽管“连衣裙”和“篮球鞋”在总体上具有相同的流行度,并且都是显示前缀l的合法搜索词,但前者在年轻女性用户中明显更受欢迎,而后者则更可能由男性发生。但对于电商来说,需要一个个性化suggest的功能模块,它能够高效的引导用户完成购买。
4.目前的suggest搜索词的生成主要依赖用户历史搜索,但只有用户输入某一个搜索词且有成单,该搜索词才会被收入到suggest搜索词中,用户搜索的历史数据是有限的,这样的采集方式无法准确挖掘到商品的潜在卖点,因此无法引导用户购买潜在热卖的商品,并且仅依赖用户的搜索数据,无法实现搜索的多样性与新颖性。


技术实现要素:

5.本发明目的是:提供一种搜索词生成方法、系统及计算机可读存储介质。
6.本发明的技术方案是:第一方面,本发明提供一种搜索词生成方法,所述方法包括:
7.获取商品信息以及用户历史搜索词信息;
8.基于所述商品信息、所述用户历史搜索词信息以及预设模型构造搜索词;
9.对所述搜索词进行排序获得搜索词列表。
10.在一种较佳的实施方式中,所述预设模型为基于n

gram语言模型和知识图谱构建的预设模型。
11.在一种较佳的实施方式中,所述基于所述商品信息、所述用户历史搜索词信息以及预设模型构造搜索词包括:
12.基于所述商品信息和所述用户历史搜索词信息获取商品实体与商品属性;
13.基于所述预设模型与所述商品实体和所述商品属性构造搜索词。
14.在一种较佳的实施方式中,所述基于所述商品信息、所述用户历史搜索词信息以及预设模型构造搜索词之后,所述方法还包括:
15.基于预先构建的前缀树保存所述搜索词。
16.在一种较佳的实施方式中,所述方法还包括:
17.获取用户实时输入的搜索词;
18.基于所述用户实时输入的搜索词从所述前缀树中召回前缀匹配的候选词;
19.判断所述候选词是否有误;
20.若是,则对所述候选词纠错获得建议搜索词;
21.若否,则保存所述候选词作为建议搜索词;
22.所述对所述搜索词进行排序获得搜索词列表包括:
23.对所述建议搜索词进行排序获得建议搜索词列表。
24.在一种较佳的实施方式中,所述对所述搜索词进行排序获得搜索词列表包括:
25.获取所述搜索词的嵌入特征;
26.基于所述搜索词的嵌入特征构建排序模型;
27.基于所述排序模型对所述搜索词进行排序获得搜索词列表。
28.在一种较佳的实施方式中,所述获取商品信息和用户历史搜索词信息包括:
29.获取数据库中的商品数据;
30.从所述商品数据中抽取商品实体与商品属性,所述商品信息至少包括所述商品实体与所述商品属性;
31.获取预设埋点传输的用户输入词数据;
32.基于所述用户输入词数据获得所述用户历史搜索词信息。
33.在一种较佳的实施方式中,所述从所述商品数据中抽取商品实体与商品属性之前,所述方法还包括:
34.对所述商品数据进行分词处理。
35.第二方面,本发明提供一种搜索词生成系统,所述系统包括:
36.获取模块,用于获取商品信息以及用户历史搜索词信息;
37.构造模块,用于基于所述商品信息、所述用户历史搜索词信息以及预设模型构造搜索词;
38.排序模块,用于对所述搜索词进行排序获得搜索词列表。
39.第三方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
40.与现有技术相比,本发明的优点是:提供一种搜索词生成方法、系统及计算机可读存储介质,方法包括:获取商品信息以及用户历史搜索词信息;基于商品信息、用户历史搜索词信息以及预设模型构造搜索词;对搜索词进行排序获得搜索词列表;基于商品信息和用户历史搜索词信息构造搜索词,避免仅依赖用户有限的历史搜索数据构造搜索词而无法实现搜索的多样性与新颖性,有效提高转化率。
附图说明
41.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图:
42.图1为本发明实施例1所提供的搜索词生成方法的流程图;
43.图2为本发明实施例2所提供的搜索词生成系统的结构图。
具体实施方式
44.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.如背景技术所述,目前的建议候选词的生成主要依赖用户的搜索历史,当用户输入某一个搜索词并且有成单,该搜索词才会被收入到建议候选词中。这样的采集方式无法采集到的除了搜索场景外其他场景用户的行为数据,无法准确挖掘到商品的潜在卖点,因此无法引导用户购买潜在热卖的商品。有很多在档期中卖得很好的商品,在搜索中销售的却卖得很少,究其原因,有可能是建议的搜索词没有挖掘到档期中热卖的商品及其卖点。另外,仅依赖用户的搜索数据,无法实现搜索的多样性与新颖性。用户搜索的历史数据是有限的,分析用户的搜索数据发现用户的搜索词主要是一些头部的商品词以及卖点词,很多有效的卖点词用户并没有输入,这些卖点词需要在建议阶段引导用户点击以提高转化率。
46.为解决上述问题,本发明提供一种搜索词生成方法、系统及计算机可读存储介质,基于商品信息和用户历史搜索词生成搜索词,所生成的建议搜索词更准确,能够准确挖掘到商品的潜在卖点引导用户购买潜在热卖的商品。
47.实施例1:本实施例提供一种搜索词生成方法,该方法包括:
48.s1、获取商品信息以及用户历史搜索词信息。
49.在一种较佳的实施方式中,本步骤包括:
50.s11、获取商品信息和用户历史搜索词。优选的,本步骤包括:
51.s111、获取数据库中的商品数据。具体的,获取数据库中在售商品信息,商品数据中至少包括商品名称和商品描述信息。
52.s112、从商品数据中抽取商品实体与商品属性,商品信息至少包括商品实体与商品属性。
53.商品实体指具有唯一指向性的商品名称或商品编码。目前商品的商品实体与商品属性没有现成的字段可以使用,同时商品数据中的商品名称、商品描述和商品属性等依赖于人工维护,而且商品数据中仍然存在一些脏数据。于本实施例中,通过bi

lstm crf等ner(命名实体识别)模型自动识别抽取商品数据中有用的商品实体与商品属性。ner模型训练需要大量的人工标注样本,而且人工标注样本中标注的商品实体与商品属性需要结合运营人员的经验标注,为解决此问题,本实施例中预先构建物品词、品牌词、属性词等词典,通过模板匹配的方法,抽取出商品的物品词、品牌词和属性词。基于词典匹配的数据,再标注一定量的样本,使用标注的样本训练一个深度的ner模型,从而可以自动高效的抽取有效的商品实体与商品属性。
54.在一种较佳的实施方式中,在从商品数据中抽取商品实体与商品属性之前,本步骤还包括:
55.对商品数据进行分词处理。
56.具体的,分词词典的准备性与完备性对于分词质量有很大的关系,但是随着时间的变化,新的词语是不断增加的,仅仅依赖运营人员添加是很难填充所有的新词,因此需要设计一个新词挖掘的模型,不断丰富搜索的词典。于本实施例中,使用spark计算所有搜索
词的凝固度与自由度,凝固度表示词与词能够结合在一起的程度,该分数越高表示两个词结合在一起的概率越高。自由度表示词语单独存在的程度,该分数越高表示该词单独存在的概率越高。再为出现频数、凝固程度和自由度各设定一个阈值,只需要提取出所有满足阈值要求的候选词即为单个分词,去除历史的分词词典就可以得到新词。
57.电商场景中,用户搜索的词与候选的搜索词都是比较短的词语,而且存在很多意思相同但是表述不一样的词语,那么直接结算词语的文本距离不能有效的计算词语之间的距离。本实施例中使用nlp中embedding相关的技术,使用word2vec模型,训练得到所有词语的embedding,然后叠加得到所有搜索词的embedding,这样可以在高纬度直接计算文本间的相似度。
58.在另一种较佳的实施方式中,在从商品数据中抽取商品实体与商品属性之前,本步骤还包括:
59.进行模板匹配。
60.具体的,动态规划的分词算法将所有的语料切词,然后使用模板匹配的方式找到所有的实体与属性。由于这种方式会用到分词算法,而分词算法的质量和词典的准确性和丰富度有关,因此添加一个新词发现模型,该模型主要计算词语的凝固度、自由度和频次。凝固度的定义为其中p(x)为文本片段x在整个语料中出现的概率。可以想到,凝固度最大的片段是“饕餮”、“忐忑”之类的词,这些词的每一个字几乎总会和另一字同时出现,从不在其他场合使用。但是只考虑凝固度无法将“上辈子”等词语,因为如果一个文本片段能够算作一个词的话,它应该能够灵活地出现在各种不同的环境中,具有非常丰富的左邻字集合和右邻字集合。因此还需要计算词语的自由度,自由度的定义文本片段的左右信息熵。为了抽取分词的片段,可以使用n

gram方法获取所有潜在的词,再为出现频数、凝固度和自由度各设定一个阈值,最后可以提取出所有满足阈值要求的候选的搜索词。
61.s113、获取预设埋点传输的用户输入词数据。优选的,用户输入词数据包括用户点击和输入的搜索词。
62.s114、基于用户输入词数据获得用户历史搜索词。
63.从埋点的数据中直接抽取用户输入词数据,通过对用户输入词数据的分析获取用户的选择倾向,能够更准确地对用户进行建议。
64.s2、基于商品信息、用户历史搜索词信息以及预设模型构造搜索词。
65.在一种较佳的实施方式中,所述预设模型为基于n

gram语言模型和知识图谱构建的预设模型。
66.在一种较佳的实施方式中,本步骤包括:
67.s21、基于商品信息和用户历史搜索词信息获取商品实体与商品属性。
68.s22、基于预设模型与商品实体和商品属性构造搜索词。
69.在完成商品实体与商品属性抽取后,将所有的商品实体&商品实体的组合以及商品实体与&商品属性的组合作为所有潜在的搜索词。为了能够解决个性化冷启动的问题,还需要为每一个潜在的搜索词添加基础分。每个潜在搜索词的权重w由基础语料中商品实体与商品实体之间最大的距离定义w=log(1/d),最终潜在搜索词的权重是叠加语料中所有的权重w的和。
70.优选的,于本实施例中,采用n

gram language model构建所有可能的搜索词。
71.在一种较佳的实施方式中,在步骤s2之后,该方法还包括:
72.s2a、基于预先构建的前缀树保存搜索词。
73.为了实现前缀匹配的功能,本实施例使用前缀树这种数据结构保存步骤s2构造的所有可能的搜索词。
74.更具体的,由于通常线上的服务使用c 编写,如果将前缀树的存储放到线上服务器中,那么在模型加载的时候需要耗费大量的时间,同时需要占用大量的内存,显然随着数据量的增加,线上系统的稳定性会下降。未解决此问题,本实施例中采用在线下使用spark完成前缀树的构建,输出hash表的结构,最终将数据推送到vde中。线上服务器直接调用vde访问候选的建议搜索词,这样既节省了内存的占用,也减少了线上处理的耗时。前缀树基于所有潜在搜索词构建。
75.由于原先展示的候选词没有对用户输入的词做纠错处理。例如用户想搜索“波司登羽绒服”,但手误输入“泼司登”的时候,会建议出“泼司登羽绒服”搜索词,用户如未注意点击了该建议的搜索词,那么将获得错误的商品信息。如果在建议阶段不做纠错处理,那么搜索召回环节会直接使用带有错别字的搜索词去召回,这样可能会召回错误的商品。为解决此问题,在一种较佳的实施方式中,该方法还包括:
76.s2b、对用户实时输入的搜索词进行纠错处理,具体包括:
77.s2b1、获取用户实时输入的搜索词。
78.分析用户搜索数据发现,用户在进行搜索的时候常常会由于误触或者其他原因,会输入一些特殊的标点甚至是表情包。如果将这些字符直接用于搜索,可能会导致商品搜索无结果或者是搜索的商品有误。为了解决这一问题,本实施例中在处理用户输入的时候,添加去除特殊字的操作。
79.s2b2、基于用户实时输入的搜索词从前缀树中召回前缀匹配的候选词。
80.具体的,在用户在输入框中输入的过程中,输入框下方展示的建议搜索词没有按照用户输入的逻辑展示潜在的搜索词。例如:当用户输入“连衣裙”的时候,合理的输入逻辑是接下来用户会输入的连衣裙的品牌或者是连衣裙的属性。如果出现“红色女连衣裙”,违背了用户正常的思维逻辑,需要用户再转变原有的输入逻辑。于本实施例中,前缀树保存了所有可能的搜索词,当用户输入不同的词时,从前缀树中召回前缀匹配的候选词。
81.更具体的,遍历得到所有可能的搜索输入,包括中文短语、汉语拼音、英文单次和中文 拼音的组合,然后对于所有可能的搜索输入,从前缀树中召回所有匹配的候选词,并且基于潜在搜索词的基础分倒排。vde能够方便快捷的查询到key

value格式的数据,将制作好的key

value数据定时推到vde中。通过获取用户的输入,从vde中直接读取存好的召回候选词。
82.s2b3、判断所述候选词是否有误,若是,则进入步骤s2b4,若否,则进入步骤s2b5。
83.s2b4、对候选词纠错获得建议搜索词。
84.s2b5、保存候选词作为建议搜索词。
85.所述对所述搜索词进行排序获得搜索词列表包括:
86.对所述建议搜索词进行排序获得建议搜索词列表。
87.当用户在搜索时输入错别字的时候,建议列表页仍然能够展示正确的候选词,从而提高商品的转化率以及提升用户的购买体验。
88.s3、对所述搜索词进行排序获得搜索词列表。
89.在一种较佳的实施方式中,本步骤包括:
90.s31、获取搜索词的嵌入特征。具体的,搜索词的嵌入特征包括用户历史搜索特征、用户画像特征和用户*搜索词统计特征。
91.s32、基于搜索词的嵌入特征构建排序模型。
92.具体的,使用用户历史搜索特征、用户画像特征和用户*搜索词统计特征等构建模型。优选的,采用learn

to

rank模型或基于dssm的改进模型,由于很多信息可以用来确定输入和文档的相关性,而且互联中有大量的搜索日志,因此将用户的点击行为日志作为训练数据,使用机器学习方法训练一个排序模型。
93.learn

to

rank模型是一个监督模型,因此需要标注训练样本。训练样本标注有人工标注和从搜索日志自动标注两种方法。由于人工标注掺杂了人为因素的干扰,无法反馈用户搜索时的真实意图,而且工标注的方法代价较高。搜索日志记录了用户的搜索行为和相应的点击行为,用户点击行为实际上隐含了query

suggest对的相关性,可以作为判断query

suggest对的相关程度的依据。因此本实施例优选采用直接从搜索日志数据自动标注的方法。在当前的建议场景中,用户输入某一个query,会给用户展示n个候选的建议词。一种简单的方法是将用户点击的词排在最前面,其他的词语按照原有的循序排在点击的词语后面。但是真实场景中,用户可能误触某个词语。为了去除这种噪声,微软提出有效点击的概念,用户点击的词语且点击后浏览时长大于30ms的才作为有效的点击。训练一个机器学习模型,还需要从训练样本中提取出有效的特征。具体用到特征如表1所示。
94.研究表明,用户点击的建议候选词与用户的年龄、性别和所在区域有关。结合公司的业务解释,不同年龄段关注的商品以及商品属性大概率是不一样的,年轻用户可能偏好甜美可爱风的服装,中年用户可能更偏好成熟稳重的服装;不同性别的用户关注的商品也是不一样的,同样输入“l”,女性用户关注的可能是“lancome”或者是“连衣裙”,而男性用户关注的可能是“lining”或者是“篮球鞋”;不同区域受到当地气候的影响,关注的商品也是不一样的,同样是输入“y”,南方用户可能关注的是“运动鞋”,北方用户可能关注的是“羽绒服”。本实施中对用户年龄段做分桶处理,1

10岁的用户为1,11

20岁的用户为2,21

30岁的用户为3,31

40岁的而用户为4,41

50的用户为5,50岁以上的用户为6,年龄特征缺失的用户设置为0。区域特征包括了用户所属的仓库以及所在的省份,省份特征取省份编码的前3位进行,省份特征缺失的用户设置为0。为了描述不同用户对与候选词的偏好程度,可以统计相同社会属性下的统计特征。结合搜索场景,可以统计不同时间窗口候选建议词的点击率、转化率、频次、uv金额等统计特征。
95.用户在建议阶段点击的词语与历史搜索和用户点击的商品有关。例如,用户在最近搜索过“羽绒服”,当用户输入“y”的时候,用户更倾向于点击“羽绒服”,而不是点击“羽毛球”。用户历史搜索过“衬衫条纹”,当用户输入“羽绒服”的时候,用户更加倾向于点击“羽绒服条纹”,而不是点击“羽绒服波点”。因此可以计算用户历史搜索的词语与候选搜索词的语义距离。
96.表1
[0097][0098]
为了计算文本之间的语义距离,一种简单的方法是使用one

hot编码文本。假设词典中不同词的数量为n,每个词可以和从0到n

1的连续整数一一对应。这些与词对应的整数叫作词的索引。假设一个词的索引为i,创建一个全0的长为n的向量以得到该词的one

hot向量表示,并将其第i位设成1。这样一来,每个词就表示成了一个长度为n的向量,可以直接被神经网络使用。虽然one

hot词向量构造起来很容易,但通常并不是一个好选择。一个主要的原因是,one

hot词向量无法准确表达不同词之间的相似度,如常使用的余弦相似度。由于任何两个不同词的one

hot向量的余弦相似度都为0,多个不同词之间的相似度难以通过one

hot向量准确地体现出来。word2vec工具的提出正是为了解决上面这个问题。它将每个词表示成一个定长的向量,并使得这些向量能较好地表达不同词之间的相似和类比关系。因此本实施例优选word2vec工具提取出文本的embedding特征。训练embedding的步骤是,首先从用户搜索行为日志中抽取每个用户单个session点击浏览过的商品,按照时间顺序拼接所有的商品构建一条训练样本。然后使用分词模块将拼接好的样本分词。最后使用spark的word2ved工具可以训练得到每个词语的embedding,可以使用加权求和的方式,通过搜索词分词短语的embedding得到搜索词的embedding。得到embedding以后,可以通过余弦相似度计算词语之间语义的相似度。
[0099]
s33、基于排序模型对搜索词进行排序获得搜索词列表。
[0100]
具体的,排序模型会对于每一个候选词打分,最终依据得分高低倒排。
[0101]
本实施例提供的搜索词生成方法、系统及计算机可读存储介质,方法包括:获取商品信息以及用户历史搜索词信息;基于商品信息、用户历史搜索词信息以及预设模型构造搜索词;对搜索词进行排序获得搜索词列表;基于商品信息和用户历史搜索词信息构造搜索词,避免仅依赖用户有限的历史搜索数据构造搜索词而无法实现搜索的多样性与新颖性,有效提高转化率。
[0102]
实施例2:本实施例提供一种搜索词生成系统,该系统包括:
[0103]
获取模块21,用于获取商品信息以及用户历史搜索词信息。
[0104]
构造模块22,用于基于商品信息、用户历史搜索词信息以及预设模型构造搜索词。
[0105]
排序模块23,用于对搜索词进行排序获得搜索词列表。
[0106]
在一种较佳的实施方式中,构造模块22包括:
[0107]
第一获取单元221,用于基于商品信息和用户搜索数据获取商品实体与商品属性;
[0108]
构造单元222,用于基于所述预设模型与所述商品实体和所述商品属性构造搜索词。
[0109]
在一种较佳的实施方式中,该系统还包括:
[0110]
保存模块24,用于基于预先构建的前缀树保存所述搜索词。
[0111]
在一种较佳的实施方式中,该系统还包括:
[0112]
纠错模块25,具体包括:
[0113]
第二获取单元251,用于获取用户实时输入的搜索词;
[0114]
召回单元252,用于基于用户实时输入的搜索词从前缀树中召回前缀匹配的候选词;
[0115]
判断单元253,用于判断候选词是否有误;
[0116]
纠错单元254,用于在判断单元253判断候选词有误时对候选词纠错获得建议搜索词;
[0117]
保存单元255,用于在判断单元253判断候选词无误时保存候选词作为建议搜索词。
[0118]
在一种较佳的实施方式中,排序模块23包括:
[0119]
第三获取单元231,用于获取搜索词的嵌入特征;
[0120]
构建单元232,用于基于搜索词的嵌入特征构建排序模型;
[0121]
排序单元233,用于基于所述排序模型对搜索词进行排序获得搜索词列表。
[0122]
在一种较佳的实施方式中,获取模块21包括:
[0123]
第四获取单元211,用于获取数据库中的商品数据;
[0124]
抽取单元212,用于从商品数据中抽取商品实体与商品属性,商品信息至少包括商品实体与商品属性;
[0125]
第五获取单元213,用于获取预设埋点传输的用户输入词数据;
[0126]
第六获取单元214,用于基于用户输入词数据获得用户历史搜索词信息。
[0127]
在一种较佳的实施方式中,获取模块21还包括:
[0128]
分词单元215,用于在抽取单元212从商品数据中抽取商品实体与商品属性之前对商品数据进行分词处理。
[0129]
需要说明的是:上述实施例提供的搜索词生成系统在进行搜索词建议时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的搜索词生成系统与实施例1提供的搜索词生成方法的实施例属于同一构思,即该系统是基于该方法的,其具体实现过程详见方法实施例,这里不再赘述。
[0130]
实施例3:本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1中任一项所述的方法的步骤。
[0131]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或
系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
[0132]
尽管已描述了本发明实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例中范围的所有变更和修改。
[0133]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

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

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

相关文献