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

搜索方法、装置、存储介质及电子设备与流程

2022-04-09 06:08:16 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,具体地,涉及一种搜索方法、装置、存储介质及电子设备。


背景技术:

2.搜索词分析是搜索引擎的一个重要模块,对搜索结果的覆盖率和相关性至关重要。搜索引擎的检索过程包含匹配和排序两个阶段。匹配也叫召回,表示根据用户的查询条件,尽可能多地匹配出与主题相关的文档,尽可能少地匹配出与主题不相关的文档。排序是指对召回阶段返回的文档集合进行合理的排序,把最满足用户意图的结果尽可能排到前面。搜索词分析的主要目标是为匹配过程提供必要的知识和信息,同时兼顾后面的排序过程,为排序模型提供原始特征。
3.但在进行搜索时,往往搜索词存在一词多义或一义多词的情况,或者当搜索词中含有错别字时,只能够获得部分与搜索词匹配的搜索结果,同时,由于某些搜索词直接对应的搜索结果数据本身较少,数量不够在搜索结果页面中展示,从而导致用户无法准确找到需要的内容。


技术实现要素:

4.本公开的目的是提供一种搜索方法、装置、存储介质及电子设备,以解决在使用搜索词搜索时,搜索结果较少,准确率较低等问题。
5.为了实现上述目的,第一方面,本公开提供一种搜索方法,包括:
6.获取用户输入的搜索词;
7.将所述搜索词输入到预先训练完成的分词模型中,得到所述搜索词的分词结果;
8.将所述搜索词的分词结果输入到预先训练完成的改写模型中,得到针对所述搜索词的扩展搜索词;
9.根据所述搜索词以及所述扩展搜索词进行数据搜索。
10.可选地,所述改写模型的训练包括:
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.图1是根据本公开一示例性实施例示出的一种搜索方法的流程图;
37.图2是根据本公开另一示例性实施例示出的一种搜索方法的流程图;
38.图3是根据本公开一示例性实施例示出的一种搜索装置的框图;
39.图4是根据本公开一示例性实施例示出的一种电子设备的框图。
具体实施方式
40.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描
述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
41.在应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
42.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。另外,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
43.正如背景技术所言,通过对原始搜索词进行改写,可以生成一系列相关的扩展搜索词,将扩展搜索词作为原始搜索词的补充,根据原始搜索词及原始搜索词对应的扩展搜索词进行搜索,可以得到更加丰富的搜索结果,提高了搜索的准确性。目前,搜索词的改写是通过搜索日志,再后依据固定的搜索词对进行匹配,其中搜索词对是根据规则设置好的。此种方法的仅能通过固定的规则进行匹配,搜索词的覆盖率较低,无法得到更多的搜索结果,从而导致搜索的全面性和准确性较低。
44.有鉴于此,本公开提供一种搜索方法、装置、存储介质及电子设备。获取用户输入的搜索词,将搜索词输入到分词模型中,得到搜索词的分词结果,然后再将搜索词的分词结果输入到改写模型中,得到针对搜索词的扩展搜索词,提高了使用搜索词进行搜索时对应搜索结果的全面性和准确性。
45.下面对本公开的技术方案进行详细的实施例说明。
46.图1是根据一示例性实施例示出的一种所搜索方法的流程图。参照图1,该搜索方法包括:
47.步骤101,获取用户输入的搜索词。
48.步骤102,将搜索词输入到预先训练完成的分词模型中,得到搜索词的分词结果,其中,分词模型是基于在源域数据集和通过距离注释构造的目标领域数据集上联合进行对抗训练得到的。
49.步骤103,将搜索词的分词结果输入到预先训练完成的改写模型中,得到针对搜索词的扩展搜索词,改写模型是基于transformer模型进行训练得到的。
50.步骤104,根据搜索词以及扩展搜索词进行数据搜索。
51.首先应当理解的是,用户输入的搜索词为一个,改写模型输出的针对搜索词的扩展搜索词可以为多个。比如,搜索词为“苹果”,扩展搜索词可以为“红苹果”、“青苹果”、“苹果手机”等。同时,用户输入的搜索词与改写模型输出的针对搜索词的扩展搜索词可以不存在相同文字。比如,搜索词为“客栈”,扩展搜索词可以为“酒店”、“民宿、“宾馆”等。本公开实施例对此均不作限定。另外,搜索词可以是一个词组,也可以是一个短句,比如“今天天气怎么样”,本公开实施例对此也不作限定。
52.示例地,分词模型是基于在源域数据集和通过距离注释(distant annotation)构造的目标领域数据集上联合进行对抗训练(adversarial training)得到的。此方法不需要
任何预定义的领域知识(如词典),可以自动高效的学习发现领域专有词汇,在跨领域文本上进行自动标注。在距离注释部分,包括一个词汇挖掘器,从未标注的目标领域文本中获取特定领域的词汇。此外,在源域数据上训练一个分词器来识别未标记目标数据中的常用词,对来自目标领域的句子实现自动标注,可以用作目标领域的训练数据。对抗训练的目的是为了降低噪声数据的影响,更好地利用源域数据。对抗训练单元包括两个主要模块,一个基本分词器和一个特定领域的单词挖掘器。基本分词器使用来自源域的标注数据训练,用于识别源域和目标域中常见的单词。特定领域的单词挖掘器用于探索目标特定于领域的单词。在源域数据集和通过距离注释构造的目标领域数据集上联合进行对抗训练,可以捕获特定领域更深入的特性和不可知领域的特性,从而自动生成目标域内句子的分词结果。
53.示例地,改写模型是基于transformer模型进行训练得到的,transformer模型是一种基于encoder-decoder(编码器-解码器)结构的模型,它抛弃以往的seq2seq模型中的rnn,采用self—attention(自注意力)使得输入的数据可以并行处理,提高运行效率。encoder(编码器)部分主要由self-attention组件和前馈神经网络组成,对于transformer模型而言,每个词向量都有自己的路径流入编码器,且路径与路径之间两两相互联系。在改写模型的训练过程中,首先将特征进行embedding(嵌入),将单词转化为各种向量或者张量,然后进入self-attention组件,得到了这个词向量对于其他部分的关注程度,即将每个向量分解成了多个头部,并进行相应的点乘和乘积运算,得到两个向量,再将该两个向量分别乘以权重矩阵拼接为一个向量。然后对拼接得到的向量进行归一化处理,decoder(解码器)部分的输入是上一个时间步产生的output输出,通过output embedding(输出嵌入)加上位置信息进入解码器,最后将浮点向量转化成词。
54.在可能的方式中,改写模型的训练可以是首先根据对搜索结果的点击日志,确定点击的同一搜索结果对应的搜索词,得到对应同一搜索结果的搜索词集合,然后同一搜索词集合中的搜索词确定搜索词对,每一搜索词对包括原搜索词以及原搜索词的扩展搜索词,再将搜索词对作为训练样本对改写模型进行训练。
55.应当理解的是,在用某一搜索词进行搜索时,可以得到多个搜索结果,在分别用多个搜索词进行搜索时,其对应的多个搜索结果中可能会有重合。也即是说,用不同搜索词进行搜索可以得到相同的搜索结果。因此,同一搜索结果对应存在一个搜索词集合,可以在搜索词集合中确定搜索词对,然后再将搜索词对作为训练样本对改写模型进行训练。
56.示例地,当分别用搜索词“摄影”、“拍照”、“摄像机”、“拍摄设备”进行搜索时,均可以得到搜索结果“相机”,此时搜索词{摄影,拍照,摄像机,拍摄设备}则为搜索结果“相机”的搜索词集合,依据该集合可以确定搜索词对,并将搜索词对作为训练样本对改写模型进行训练。本公开实施例对搜索词集合的具体确定方式不作限定,且对搜索词集合中搜索词的数量也不作限定。
57.在可能的方式中,根据同一搜索词集合中的搜索词确定搜索词对,可以先确定同一搜索词集合中各个搜索词之间的第一相似度,再将任意两个第一相似度大于第一阈值的搜索词确定为搜索词对。
58.应当理解的是,在分别用多个搜索词进行搜索时,其对应的多个搜索结果中可能会有重合,但该多个搜索词可能会有较大的差异。因此,可以将较为相近的搜索词确定为搜索词对。比如可以采用编辑距离确定搜索词之间的第一相似度。通过确定至少需要多少次
的处理才能将一个字符变成另一个字符,以确定搜索词之间的编辑距离,从而确定搜索词之间的第一相似度。也可以通过杰卡德距离(jaccard distance)确定搜索词之间的第一相似度,还可以用确定两个词嵌入(embedding)间的余弦相似度,从而确定搜索词之间的第一相似度,本公开实施例对此不作限定。
59.示例地,可设置相似度阈值为70%,在上述举例中,将该四个搜索词两两对应,分别计算其相似度。即若搜索词“摄像机”与搜索词“拍摄设备”的相似度大于70%,搜索词“拍照”与搜索词“拍摄设备”的相似度也大于70%,则将“摄像机”与“拍摄设备”确定为搜索词对,将“拍照”与“拍摄设备”确定为搜索词对。
60.在可能的方式中,将搜索词对作为训练样本对改写模型进行训练之前,可以将搜索词对输入到分词模型中,得到搜索词对的分词结果,然后根据搜索词对的分词结果对改写模型进行训练。
61.应当理解的是,将搜索词对输入到分词模型中,得到搜索词对的分词结果,分词结果包括搜索词的分词文本。当使用分词器对目标领域文本进行分词后,可以在词间加入边界标记符,分隔出各个词汇,得到一系列分词后的文本。然后再根据该多个词汇对改写模型进行训练,以得到一个可以对搜索词进行扩展并输出其相关的扩展搜索词的改写模型。
62.在可能的方式中,在根据搜索词以及扩展搜索词进行数据搜索之前,可以确定每一扩展搜索词与搜索词之间的第二相似度,删除第二相似度小于第二相似度阈值的扩展搜索词。
63.应当理解的是,为了提高搜索的准确率,可以在根据搜索词以及扩展搜索词进行数据搜索之前,对搜索结果进行筛选。即可以确定每一扩展搜索词与搜索词之间的第二相似度,删除第二相似度小于第二相似度阈值的扩展搜索词,保留相似度较大的扩展搜索词,然后再根据搜索词以及扩展搜索词进行搜索。第二相似度可以设置为80%,也可以设置为85%,以在更大程度上提高搜索的准确率,本公开实施例对此不作限定。
64.示例地,比如,用户的搜索词为将“西红柿”,改写模型输出的扩展搜索词包括“西红柿炒蛋”、“番茄炒蛋”、“番茄种植方法”、“西虹市首富”,此时可以依次确定“西红柿”与“西红柿炒蛋”、“番茄炒蛋”、“番茄种植方法”、“西虹市首富”间的相似度,若“西红柿”与“西虹市首富”间的相似度低于第二相似度阈值85%,则删除扩展搜索词“西虹市首富”,然后根据搜索词“西红柿”以及其他三个扩展搜索词进行数据搜索。
65.在可能的方式中,分词模型包括距离注释模块以及对抗训练模块,分词模型的训练数据包括源域的训练数据以及目标域的训练数据,距离注释模块用于自动对目标域数据进行标注,对抗训练模块用于对输入对抗训练模型的数据所属的域进行对抗训练,其中,输入对抗训练模型的数据包括源域的训练数据以及目标域中进行距离注释模块标注的训练数据。
66.应当理解的是,对抗训练模块用于对输入对抗训练模型的数据所属的域进行对抗训练,以判别句子来自于目标域还是源域,可以实现降噪和最大限度地利用源域信息。在进行对抗训练时,为目标域构造了一个标注的数据集,对抗网络的输入是来自源域和目标域的两个数据集。源域的训练数据为pku语料库的数据,目标域的训练数据是人工标注的数据。为了提取不同的特征,对抗训练模块设有三个编码器,所有的编码器都是基于图卷积神经网络(gcnn)。针对特定领域,源域和目标域分别采用了esrc和etgt两个独立的编码器。对
于领域不可知的特性,采用了一个共享编码器eshr和一个鉴别器gd,它们将被进行对抗训练。
67.下面通过另一示例性实施例对本公开提供的搜索方法进行说明。如图2所示,该搜索方法包括以下过程:获取搜索词、搜索词分词、搜索词改写、搜索。其中,获取搜索词可以是通过用户输入搜索词实现。搜索词分词可以是将获取的搜索词输入到训练好的分词模型中,得到搜索词的分词结果。搜索词改写可以是将分词模型输出的分词结果输入到训练好的改写模型中,得到针对搜索词的扩展搜索词。搜索可以是根据搜索词以及扩展搜索词在任意网站上进行数据搜索。
68.上述各步骤的具体实施方式已在上文进行详细举例说明,这里不再赘述。另外应当理解的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受上文所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,上文所描述的实施例属于优选实施例,所涉及的步骤并不一定是本公开所必须的。
69.通过上述方式,将用户输入的搜索词输入到预先训练完成的分词模型中,得到搜索词的分词结果,再将搜索词的分词结果输入到预先训练完成的改写模型中,得到针对搜索词的扩展搜索词,然后再根据搜索词以及扩展搜索词进行数据搜索。提高了使用搜索词进行搜索时搜索结果的全面性和准确性。进一步,在训练分词模型前,基于同一搜索词集合中各个搜索词之间的第一相似度,对搜索词进行筛选,提高了搜索词间的关联性。另外,在根据搜索词以及扩展搜索词进行数据搜索前,基于每一扩展搜索词与搜索词之间的第二相似度,保留第二相似度大于第二相似度阈值的扩展搜索词,提高了搜索的准确率。
70.基于同一发明构思,本公开实施例还还提供一种搜索装置,该装置可以通过软件、硬件或两者结合的方式成为电子设备的部分或全部。如图3所示,该装置300包括:
71.获取模块301,用于获取用户输入的搜索词;
72.第一确定模块302,用于将搜索词输入到预先训练完成的分词模型中,得到搜索词的分词结果;
73.第二确定模块303,用于将搜索词的分词结果输入到预先训练完成的改写模型中,得到针对搜索词的扩展搜索词;
74.搜索模块304,用于根据搜索词以及扩展搜索词进行数据搜索。
75.可选地,所述装置还包括用于训练所述改写模型的第一训练模块,所述第一训练模块用于:
76.根据对搜索结果的点击日志,确定点击的同一搜索结果对应的搜索词,得到对应同一搜索结果的搜索词集合;
77.根据同一所述搜索词集合中的搜索词确定搜索词对,每一所述搜索词对包括原搜索词以及所述原搜索词的扩展搜索词;
78.将所述搜索词对作为训练样本对所述改写模型进行训练。
79.可选地,所述第一训练模块用于:
80.确定同一所述搜索词集合中各个搜索词之间的第一相似度;
81.将任意两个所述第一相似度大于第一阈值的搜索词确定为所述搜索词对。
82.可选地,所述装置还包括用于训练所述分词模型的第二训练模块,所述第二训练
模块用于:
83.在将所述搜索词对作为训练样本对所述改写模型进行训练之前,将所述搜索词对输入到所述分词模型中,得到所述搜索词对的分词结果;
84.根据所述搜索词对的分词结果对所述改写模型进行训练。
85.可选地,所述装置还包括:
86.第三确定模块,用于在所述根据所述搜索词以及所述扩展搜索词进行数据搜索之前,确定所述每一所述扩展搜索词与所述搜索词之间的第二相似度;
87.删除模块,用于删除所述第二相似度小于第二相似度阈值的扩展搜索词。
88.可选地,所述分词模型包括距离注释模块以及对抗训练模块,所述分词模型的训练数据包括源域的训练数据以及目标域的训练数据,所述距离注释模块用于自动对目标域数据进行标注,所述对抗训练模块用于对输入所述对抗训练模型的数据所属的域进行对抗训练,其中,输入所述对抗训练模型的数据包括所述源域的训练数据以及所述目标域中进行所述距离注释模块标注的训练数据。
89.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
90.基于同一发明构思,本公开实施例还提供一种电子设备,包括:
91.存储器,其上存储有计算机程序;
92.处理器,用于执行所述存储器中的所述计算机程序,以实现上述实施例提供的搜索方法的步骤。
93.图4是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图4,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的搜索方法。
94.另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm等等。
95.在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的搜索方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的搜索方法。
96.在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的搜索方法的代码部分。
97.以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
98.另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
99.此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
再多了解一些

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

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

相关文献