引导词挖掘方法、装置、服务器及存储介质与流程

文档序号:29129949发布日期:2022-03-05 01:05阅读:113来源:国知局
引导词挖掘方法、装置、服务器及存储介质与流程

1.本公开涉及互联网技术领域,特别涉及一种引导词挖掘方法、装置、服务器及存储介质。


背景技术:

2.随着互联网技术的发展和移动智能设备的普及,用户衣食住行越来越依赖于生活服务类应用提供的服务。生活服务类应用面向用户提供了吃喝玩乐等方面的海量信息,当用户使用生活服务类应用时,生活服务类应用会向用户展示一些高质量的引导词,这些引导词能够帮助用户快速地查询到感兴趣的信息,从而获取到所需服务。
3.目前,相关技术对引导词进行挖掘时,主要采用如下方法:
4.1、从待挖掘语料中挖掘出出现频次高于预设频次的多个词语,作为多个第一候选词。
5.2、基于频率、紧密度、信息度及完整性等维度的特征,对每个第一候选词进行评分,基于评分结果,获取分数大于第一预设分数的第一候选词作为第二候选词。
6.3、将第二候选词输入到bert(bidirectional encoder representation from transformers,基于转换器的双向编码表征)评分模型中,输出评分结果,将分数大于第二预设分数的第二候选词作为引导词,该bert评分模型是基于候选词正样本和候选词负样本训练得到。
7.然而,用于训练bert评分模型的候选词正样本和候选词负样本为语义不完整的短语,导致所训练的bert评分模型并不准确,只是单纯地从待挖掘语料挖掘出评分较高的短语,并不会考虑这些短语的实际语境,导致所挖掘的引导词并不准确。


技术实现要素:

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.重复上述训练过程,直至迭代次数达到预设次数,将迭代次数达到预设次数时得到的模型确定为所述候选词评分模型。
37.在本公开的另一个实施例中,所述序列标注模型的训练过程为:
38.获取多个第三训练样本语料,所述第三训练样本语料为进行引导词或非引导词、实体名称、词性中至少一种标注的语料;
39.基于所述多个第三训练样本语料,对初始序列标注模型进行训练,得到所述序列标注模型。
40.第二方面,提供了一种引导词挖掘装置,所述装置包括:
41.第一输入输出模块,用于将多个待挖掘语料输入到候选词挖掘模型中,输出多个第一候选词以及每个第一候选词对应的第一分数,所述候选词挖掘模型用于从待挖掘语料中挖掘出候选词;
42.第一获取模块,用于从所述多个第一候选词中,获取第一分数大于第一预设分数的多个第二候选词;
43.第二输入输出模块,还用于将所述多个第二候选词输入到候选词评分模型中,输出所述多个第二候选词中每个第二候选词的第二分数,所述候选词评分模型用于在语义层面上对候选词进行评分;
44.第二获取模块,用于从所述多个第二候选词中,获取第二分数大于第二预设分数的多个第三候选词;
45.第三输入输出模块,用于将所述多个第三候选词及对应的待挖掘语料输入到序列标注模型中,输出所述多个第三候选词中每个第三候选词的第三分数,所述序列标注模型用于在上下文和词性层面上对候选词进行评分;
46.第三获取模块,用于获取第三分数大于第三预设分数的第三候选词作为多个引导词。
47.在本公开的另一个实施例中,用于训练所述候选词挖掘模型的装置包括:
48.第四获取模块,用于以知识库中的词语为监督信息,获取多个第一训练样本语料,所述第一训练样本语料标注有至少一个引导词,所述知识库包括指定搜索引擎中的词语、命名实体或已挖掘的引导词中至少一种词语;
49.第一训练模块,用于基于所述多个第一训练样本语料,对初始候选词挖掘模型进行训练,得到所述候选词挖掘模型。
50.在本公开的另一个实施例中,用于训练所述候选词评分模型的装置包括:
51.第四输入输出模块,用于将多个第二训练样本语料输入到所述候选词挖掘模型中,输出多个第一训练候选词及其第一分数,所述第二训练样本语料具有第二标注分数;
52.确定模块,用于基于所述多个第一训练候选词的第一分数、所述第一预设分数及用户搜索日志,从所述多个第一训练候选词中,确定出多个第一训练候选词正样本和多个第一训练候选词负样本;
53.第二训练模块,用于基于所述多个第一训练候选词正样本和多个第一训练候选词负样本,对初始候选词评分模型进行训练,得到第一次训练的候选词评分模型;
54.第三训练模块,用于对所述第一次训练的候选词评分模型进行迭代训练,得到所述候选词评分模型。
55.在本公开的另一个实施例中,所述确定模块,用于基于所述多个第一训练候选词的第一分数和所述第一预设分数,获取多个第一训练候选词参考正样本和多个第一训练候选词参考负样本,所述第一训练候选词参考正样本的第一分数大于所述第一预设分数,所述第一训练候选词参考参考负样本的第一分数小于所述第一预设分数;获取所述多个第一训练候选词参考正样本中与所述用户搜索日志中的搜索词重合的词语,得到所述多个第一训练候选词正样本;从所述多个第一训练候选词参考负样本中删除与所述用户搜索日志中的搜索词重合的词语,得到所述多个第一训练候选词负样本。
56.在本公开实施例中,所述第二训练模块,用于将所述多个第一训练候选词正样本和所述多个第一训练候选词负样本输入到所述初始候选词评分模型中,输出所述多个第一训练候选词正样本的第二分数和所述多个第一训练候选词负样本的第二分数;基于所述多个第一训练候选词正样本的第二分数和第二标注分数,以及所述多个第一训练候选词负样本的第二分数和第二标注分数,对所述初始候选词评分模型的模型参数进行调整,得到第一次训练的候选词评分模型。
57.在本公开的另一个实施例中,所述第三训练模块,用于基于所述第一次训练的候选词评分模型,对所述多个第一训练候选词进行评分,得到所述多个第一训练候选词的第二分数;基于所述多个第一训练候选词的第二分数和所述第二预设分数,获取多个第二训练候选词参考正样本和多个第二训练候选词参考负样本,所述第二训练候选词参考正样本的第二分数大于所述第二预设分数,所述第二训练候选词参考负样本的第二分数小于所述第二预设分数;基于所述多个第二训练候选词参考正样本、多个第二训练候选词参考负样本以及所述用户搜索日志中的搜索词,确定多个第二训练候选词正样本和多个第二训练候选词负样本;基于所述多个第二训练候选词正样本和所述多个第二训练候选词负样本,对所述第一次训练的候选词评分模型进行训练;重复上述训练过程,直至迭代次数达到预设次数,将迭代次数达到预设次数时得到的模型确定为所述候选词评分模型。
58.在本公开的另一个实施例中,用于训练所述序列标注模型的装置包括:
59.第五获取模块,用于获取多个第三训练样本语料,所述第三训练样本语料为进行引导词或非引导词、实体名称、词性中至少一种标注的语料;
60.第四训练模块,用基于所述多个第三训练样本语料,对初始序列标注模型进行训练,得到所述序列标注模型。
61.第三方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如第一
方面所述的引导词挖掘方法。
62.第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如第一方面所述的引导词挖掘方法。
63.第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的引导词挖掘方法。
64.本公开实施例提供的技术方案带来的有益效果是:
65.将待挖掘语料依次输入到候选词挖掘模型、候选词评分模型及序列标注模型进行处理,基于候选词挖掘模型可从待挖掘语料中挖掘出可能作为引导词的多个第一候选词,并输出每个第一候候选词的第一分数,进而根据第一分数对挖掘出的多个第一候选词进行初步筛选,能够得到准确率相对较高的第二候选词,进而基于候选词评分模型在语义层面上对第二候选词进行评分,从中筛选出评分较高的第三候选词,然后基于序列标注模型在上下文及词性层面上对第三候选词进行评分,最终得到在语义、上下文及词性层面上评分较高的候选词作为引导词。采用该种方法挖掘出的引导词语义完整,更贴合当前的语境,因而准确性更高。
附图说明
66.为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
67.图1是本公开实施例提供的一种引导词挖掘方法的流程图;
68.图2是本公开实施例提供的另一种引导词挖掘方法的流程图;
69.图3是本公开实施例提供的一种引导词挖掘过程的流程图;
70.图4是本公开实施例提供的一种引导词挖掘装置的结构示意图;
71.图5是根据一示例性实施例示出的一种用于引导词挖掘的服务器的结构示意图。
具体实施方式
72.为使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开实施方式作进一步地详细描述。
73.可以理解,本公开实施例所使用的术语“每个”、“多个”及“任一”等,多个包括两个或两个以上,每个是指对应的多个中的每一个,任一是指对应的多个中的任意一个。举例来说,多个词语包括10个词语,而每个词语是指这10个词语中的每一个词语,任一词语是指10个词语中的任意一个词语。
74.本公开实施例提供了一种引导词挖掘方法,参见图1,本公开实施例提供的方法流程包括:
75.101.将多个待挖掘语料输入到候选词挖掘模型中,输出多个第一候选词以及每个第一候选词对应的第一分数。
76.其中,候选词挖掘模型用于从待挖掘语料中挖掘出候选词。
77.102.从多个第一候选词中,获取第一分数大于第一预设分数的多个第二候选词。
78.103.将多个第二候选词输入到候选词评分模型中,输出多个第二候选词中每个第二候选词的的第二分数。
79.其中,候选词评分模型用于在语义层面上对候选词进行评分。
80.104.从多个第二候选词中,获取第二分数大于第二预设分数的多个第三候选词。
81.105.将多个第三候选词及对应的待挖掘语料输入到序列标注模型中,输出多个第三候选词中每个第三候选词的第三分数。
82.其中,序列标注模型用于在上下文和词性层面上对候选词进行评分。
83.106.获取第三分数大于第三预设分数的第三候选词作为多个引导词。
84.本公开实施例提供的方法,将待挖掘语料依次输入到候选词挖掘模型、候选词评分模型及序列标注模型进行处理,基于候选词挖掘模型可从待挖掘语料中挖掘出可能作为引导词的多个第一候选词,并输出每个第一候候选词的第一分数,进而根据第一分数对挖掘出的多个第一候选词进行初步筛选,能够得到准确率相对较高的第二候选词,进而基于候选词评分模型在语义层面上对第二候选词进行评分,从中筛选出评分较高的第三候选词,然后基于序列标注模型在上下文及词性层面上对第三候选词进行评分,最终得到在语义、上下文及词性层面上评分较高的候选词作为引导词。采用该种方法挖掘出的引导词语义完整,更贴合当前的语境,因而准确性更高。
85.在本公开的另一个实施例中,候选词挖掘模型的训练过程为:
86.以知识库中的词语为监督信息,获取多个第一训练样本语料,第一训练样本语料标注有至少一个引导词,知识库包括指定搜索引擎中的词语、命名实体或已挖掘的引导词中至少一种词语;
87.基于多个第一训练样本语料,对初始候选词挖掘模型进行训练,得到候选词挖掘模型。
88.在本公开的另一个实施例中,候选词评分模型的训练过程为:
89.将多个第二训练样本语料输入到候选词挖掘模型中,输出多个第一训练候选词及其第一分数,第二训练样本语料具有第二标注分数;
90.基于多个第一训练候选词的第一分数、第一预设分数及用户搜索日志,从多个第一训练候选词中,确定出多个第一训练候选词正样本和多个第一训练候选词负样本;
91.基于多个第一训练候选词正样本和多个第一训练候选词负样本,对初始候选词评分模型进行训练,得到第一次训练的候选词评分模型;
92.对第一次训练的候选词评分模型进行迭代训练,得到候选词评分模型。
93.在本公开的另一个实施例中,基于多个第一训练候选词的第一分数、第一预设分数及用户搜索日志,从多个第一训练候选词中,确定出多个第一训练候选词正样本和多个第一训练候选词负样本,包括:
94.基于多个第一训练候选词的第一分数和第一预设分数,获取多个第一训练候选词参考正样本和多个第一训练候选词参考负样本,第一训练候选词参考正样本的第一分数大于第一预设分数,第一训练候选词参考参考负样本的第一分数小于第一预设分数;
95.获取多个第一训练候选词参考正样本中与用户搜索日志中的搜索词重合的词语,得到多个第一训练候选词正样本;
96.从多个第一训练候选词参考负样本中删除与用户搜索日志中的搜索词重合的词语,得到多个第一训练候选词负样本。
97.在本公开的另一个实施例中,基于多个第一训练候选词正样本和多个第一训练候选词负样本,对初始候选词评分模型进行训练,得到第一次训练的候选词评分模型,包括:
98.将多个第一训练候选词正样本和多个第一训练候选词负样本输入到初始候选词评分模型中,输出多个第一训练候选词正样本的第二分数和多个第一训练候选词负样本的第二分数;
99.基于多个第一训练候选词正样本的第二分数和第二标注分数,以及多个第一训练候选词负样本的第二分数和第二标注分数,对初始候选词评分模型的模型参数进行调整,得到第一次训练的候选词评分模型。
100.在本公开的另一个实施例中,对第一次训练的候选词评分模型进行迭代训练,得到候选词评分模型,包括:
101.基于第一次训练的候选词评分模型,对多个第一训练候选词进行评分,得到多个第一训练候选词的第二分数;
102.基于多个第一训练候选词的第二分数和第二预设分数,获取多个第二训练候选词参考正样本和多个第二训练候选词参考负样本,第二训练候选词参考正样本的第二分数大于第二预设分数,第二训练候选词参考负样本的第二分数小于第二预设分数;
103.基于多个第二训练候选词参考正样本、多个第二训练候选词参考负样本以及用户搜索日志中的搜索词,确定多个第二训练候选词正样本和多个第二训练候选词负样本;
104.基于多个第二训练候选词正样本和多个第二训练候选词负样本,对第一次训练的候选词评分模型进行训练;
105.重复上述训练过程,直至迭代次数达到预设次数,将迭代次数达到预设次数时得到的模型确定为候选词评分模型。
106.在本公开的另一个实施例中,序列标注模型的训练过程为:
107.获取多个第三训练样本语料,第三训练样本语料为进行引导词或非引导词、实体名称、词性中至少一种标注的语料;
108.基于多个第三训练样本语料,对初始序列标注模型进行训练,得到序列标注模型。
109.上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
110.本公开实施例提供了一种引导词挖掘方法,以服务器执行本公开实施例为例,该服务器可以为单独的物理服务器,也可以为多个物理服务器组成的服务器集群或分布式系统,本公开实施例不对服务器的具体形态进行限定。参见图2,本公开实施例提供的方法流程包括:
111.201.服务器训练候选词挖掘模型。
112.其中,候选词挖掘模型用于从待挖掘语料中挖掘出候选词。服务器在训练候选词挖掘模型时,采用如下方法:
113.2011、服务器以知识库中的词语为监督信息,获取多个第一训练样本语料。
114.其中,知识库由能够作为引导词的词语组成的数据库,该知识库中词语的来源有三方面,可以为指定搜索引擎中的词语,也可以为命名实体库中的命名实体,还可以为已挖
掘的引导词。服务器在获取第一训练样本语料时,可从生活服务类应用存储的团单描述、商户信息、用户评论、笔记数据等中获取。第一训练样本语料中标注有至少一个引导词,从而在后续对候选词挖掘模型训练过程中,能够基于所标注的引导词进行训练。为了提高第一训练语料中标注的引导词的准确性,从而保证所训练的候选词挖掘模型的准确性,服务器将以知识库中的词语作为监督信息,对第一训练样本语料中标注的引导词进行监督,如果第一训练样本语料中标注的引导词未位于知识库中,则需要重新对该第一训练样本预料中的引导词进行重新标注,或者丢弃该第一训练样本语料。
115.2012、服务器基于多个第一训练样本语料,对初始候选词挖掘模型进行训练,得到候选词挖掘模型。
116.其中,初始候选词挖掘模型可以为autophrase框架,该autophrase框架为从文本语料中获取高质量短语的开源框架,该框架提出采用pos-guided短语分割方法从文本语料中分割出短语。采用正样本对初始候选词挖掘模型进行远程监督训练,训练出的候选词挖掘模型不需要额外人力,即可快速有效地挖掘出文本语料中潜在的高质量短语。
117.服务器基于多个第一训练样本语料,对初始候选词挖掘模型进行训练的过程为:服务器预先为初始候选词挖掘模型的模型参数设置初始值,并将获取到的多个第一训练样本语料输入到初始候选词挖掘模型中,输出多个候选词及第一分数,该第一分数的分数值介于0和1之间。设定已标注的引导词的第一标注分数为1,未标注的引导词的第一标注分数为0,将多个候选词的第一分数和第一标注分数输入到预先构建的第一目标损失函数中,得到第一目标损失函数的函数值,如果该函数值大于第一指定阈值,则调整初始候选词挖掘模型的模型参数的初始值,直至得到的第一目标损失函数的函数值小于第一指定阈值,该第一指定阈值可根据服务器的处理精度确定。服务器获取第一目标损失函数的函数值小于第一指定阈值时模型参数的参数值,得到候选词挖掘模型。
118.202.服务器训练候选词评分模型。
119.其中,候选词评分模型用于在语义层面上对候选词进行评分。考虑到垂直领域内的文本短语数据分布极不平衡,并且候选词挖掘模型仅仅使用很弱的监督信息进行训练,导致所训练的候选词挖掘模型生成的短语质量参差补齐。为了提高挖掘出的引导词的准确性,本公开实施例提供的方法还将训练候选词评分模型,并基于该候选词评分模型对挖掘出的候选词进行重打分,以降低候选词中的噪声,提高所挖掘出的候选词的准确性。服务器在对候选词评分模型进行训练时,主要采用如下方法:
120.2021、服务器将多个第二训练样本语料输入到候选词挖掘模型中,输出多个第一训练候选词及其第一分数。
121.服务器获取多个标注有第二标注分数的第二训练样本语料,并将获取到的多个第二训练样本语料输入到候选词挖掘模型中,输出多个第一训练候选词及其第一分数。
122.2022、基于多个第一训练候选词的第一分数、第一预设分数及用户搜索日志,服务器从多个第一训练候选词中,确定出多个第一训练候选词正样本和多个第一训练候选词负样本。
123.其中,用户搜索日志包括多个搜索词,该多个搜索词由用户在生活服务类应用中搜索时输入。服务器基于多个第一训练候选词的第一分数、第一预设分数及用户搜索日志,从多个第一训练候选词中,确定出多个第一训练候选词正样本和多个第一训练候选词负样
本时,采用如下方法:
124.20221、服务器基于多个第一训练候选词的第一分数和第一预设分数,获取多个第一训练候选词参考正样本和多个第一训练候选词参考负样本。
125.第一预设分数可以为0.8、0.9等,本公开实施例不对第一预设分数作具体的限定。服务器将多个第一训练候选词的第一分数与第一预设分数进行比较,对于任一第一训练候选词,如果该第一训练候选词的第一分数大于第一预设分数,则将该第一训练候选词作为第一训练候选词参考正样本,如果该第一训练候选词的第一分数小于第一预设分数,则将该第一训练候选词作为第一训练候选词参考负样本。
126.20222、服务器获取多个第一训练候选词参考正样本中与用户搜索日志中的搜索词重合的词语,得到多个第一训练候选词正样本。
127.服务器将所获取到的多个第一训练候选词参考正样本与用户搜索日志中的搜索词进行匹配,从多个第一训练候选词参考正样本中,获取与用户搜索日志中的搜索词重合的词语,进而将获取的词语作为多个第一训练候选词正样本。
128.20223、服务器从多个第一训练候选词参考负样本中删除与用户搜索日志中的搜索词重合的词语,得到多个第一训练候选词负样本。
129.服务器将从多个第一训练候选词参考负样本与用户搜索日志中的搜索词进行匹配,从多个第一训练候选词参考负样本中,获取与用户搜索日志中的搜索词重合的词语,进而从多个第一训练候选词参考负样本中删除与用户搜索日志中的搜索词重合的词语,得到多个第一训练候选词负样本。
130.2023、基于多个第一训练候选词正样本和多个第一训练候选词负样本,服务器对初始候选词评分模型进行训练,得到第一次训练的候选词评分模型。
131.其中,初始候选词评分模型可以为mt-bert模型,该mt-bert模型是基于transformer结构的垂直领域预训练模型,该模型在单句分类、句间关系、序列标注等任务上都表现出很好的泛化性能。
132.服务器基于多个第一训练候选词正样本和多个第一训练候选词负样本,对初始候选词评分模型进行训练的过程为:服务器将多个第一训练候选词正样本和多个第一训练候选词负样本输入到初始候选词评分模型中,输出多个第一训练候选词正样本的第二分数和多个第一训练候选词负样本的第二分数。然后,服务器基于多个第一训练候选词正样本的第二分数和第二标注分数,以及多个第一训练候选词负样本的第二分数和第二标注分数,将多个第一训练候选词正样本的第二分数和第二标注分数以及多个第一训练候选词负样本的第二分数和第二标注分数输入到预先构建的第二目标损失函数中,输出第二目标损失函数的函数值,如果该函数值大于第二指定阈值,,则调整初始候选词评分模型的模型参数的初始值,直至得到的第二目标损失函数的函数值小于第二指定阈值,该第二指定阈值可根据服务器的处理精度确定。服务器获取第二目标损失函数的函数值小于第二指定阈值时模型参数的参数值,得到第一次训练的候选词评分模型。
133.2024、服务器对第一次训练的候选词评分模型进行迭代训练,得到候选词评分模型。
134.服务器对第一次训练的候选词评分模型进行迭代训练的过程为:
135.第一步,服务器基于第一次训练的候选词评分模型,对多个第一训练候选词进行
评分,得到多个第一训练候选词的第二分数。
136.第二步,服务器基于多个第一训练候选词的第二分数和第二预设分数,将多个第一训练候选词的第二分数与第二预设分数进行比对,对于任一第一训练候选词,如果该第一训练候选词的第二分数大于第二预设分数,则将该第一训练候选词作为第二训练候选词参考正样本,如果该第一训练候选词的第二分数小于第二预设分数,则将该第一训练候选词作为第二训练候选词参考负样本。通过将多个第一训练候选词采用上述方法进行处理,可将多个第一训练候选词划分为多个第二训练候选词参考正样本和多个第二训练候选词参考负样本。
137.第三步,服务器服务器将所获取到的多个第二训练候选词参考正样本与用户搜索日志中的搜索词进行匹配,从多个第二训练候选词参考正样本中,获取与用户搜索日志中的搜索词重合的词语,进而将获取的词语作为多个多个第二训练候选词正样本。服务器将从多个多个第二训练候选词参考负样本与用户搜索日志中的搜索词进行匹配,从多个第二训练候选词参考负样本中,获取与用户搜索日志中的搜索词重合的词语,进而从多个第二训练候选词参考负样本中删除与用户搜索日志中的搜索词重合的词语,得到多个第二训练候选词负样本。
138.第四步,服务器将多个第二训练候选词正样本和多个第二训练候选词负样本输入到第一次训练的候选词评分模型中,输出对多个第二训练候选词正样本和多个第二训练候选词负样本的输出结果,进而根据输出结果和多个第二训练候选词正样本和多个第二训练候选词负样本对应的标注结果,对第一次训练的候选词评分模型的模型参数的参数值进行调整。
139.第五步,服务器重复上述训练过程,直至迭代次数达到预设次数,将迭代次数达到预设次数时得到的模型确定为候选词评分模型。
140.203.服务器训练序列标注模型。
141.虽然基于所训练的候选词挖掘模型和候选词评分模型已经能够挖掘出很多高质量引导词,但是由候选词评分模型的训练和预测仅仅是对候选词挖掘模型挖掘出的引导词进行评分,导致挖掘出的引导词存在表1中的问题:
142.表1
[0143][0144][0145]
针对上述语义不完整问题,如“墨西哥鸡肉卷”是正例,会把“西哥鸡肉卷”也错误的分为正例,本公开实施例可通过构建序列标注任务来标注引导词,该序列标注任务可以根据上下文信息更加准确的切割短语,比如“墨西哥鸡肉卷”在原句中会被标记为“是引导词”的标签,原句中的其他部分被标记为“不是引导词”的标签,进而基于引导词和非引导词标注的第三训练样本语料训练序列标注模型。
[0146]
针对上述引导词信息量不合理问题,如“甜点”是正例,会把“有点甜”也错误的分为正例,本公开实施例在序列标注模型中融合命名实体识别任务和词性标注任务进行多任务学习(multi-task learning)。多任务学习方法可以使得所训练的序列标注模型有效的学习到命名实体信息和词性信息,进而解决短语信息量不合理的问题,比如“甜点”是名词,而“有点甜”是副词+形容词。由于命名实体识别任务、词性标注任务都是序列标注任务,因而可以共享一个编码器即bert,然后使用不同的crf进行解码,最后损失函数相加进行训练。
[0147]
在本公开实施例中,序列标注模型的训练过程为:
[0148]
2031、服务器获取多个第三训练样本语料。
[0149]
其中,第三训练样本语料为进行引导词或非引导词、实体名称、词性中至少一种标注的语料,该第三训练样本语料具有标注分数。
[0150]
2032、服务器基于多个第三训练样本语料,对初始序列标注模型进行训练,得到序列标注模型。
[0151]
其中,初始序列标注模型可以为bert+crf模型。服务器预先为初始序列标注模型的模型参数设置初始值,并将获取到的多个第三训练样本语料输入到初始序列标注模型中,输出每个第三训练样本语料的第三分数,将多个第三训练样本语料的第三分数和标注分数输入到预先构建的第三目标损失函数中,得到第三目标损失函数的函数值,如果该函数值大于第三指定阈值,则调整初始序列标注模型的模型参数的初始值,直至得到的第三目标损失函数的函数值小于第三指定阈值,该第三指定阈值可根据服务器的处理精度确定。服务器获取第三目标损失函数的函数值小于第三指定阈值时模型参数的参数值,得到序列标注模型。该序列标注模型具有很好的泛化能力,可以单独采用该序列标注模型对待挖掘语料进行引导词挖掘。
[0152]
需要说明的是,上述以采用第一训练样本语料训练候选词挖掘模型、采用第二训练样本语料训练候选词挖掘模型、采用第三训练样本语料训练序列标注模型为例进行说明,实际上,如图3中采用同一训练样本语料训练上述三个模型。
[0153]
204.服务器将多个待挖掘语料输入到候选词挖掘模型中,输出多个第一候选词以及每个第一候选词对应的第一分数。
[0154]
为了从多个待挖掘语料中挖掘出引导词,服务器可将多个待挖掘语料输入到候选词挖掘模型中,由候选词挖掘模型输出挖掘出的多个第一候选词及每个第一候选词对应的第一分数。
[0155]
205.服务器从多个第一候选词中,获取第一分数大于第一预设分数的多个第二候选词。
[0156]
服务器将多个第一候选词的第一分数与第一预设分数进行比较,对于任一第一候选词,如果该第一候选词的第一分数大于第一预设分数,则将该第一候选词作为第二候选词,采用该方法,服务器可从多个第一候选词中获取多个第一分数大于第一预设分数的第二候选词。
[0157]
206.服务器将多个第二候选词输入到候选词评分模型中,输出多个第二候选词中每个第二候选词的第二分数。
[0158]
基于所得到的多个第二候选词,服务器将多个第二候选词输入到候选词评分模型
中,输出多个第二候选词中每个第二候选词的第二分数。
[0159]
207.服务器从多个第二候选词中,获取第二分数大于第二预设分数的多个第三候选词。
[0160]
服务器将多个第二候选词的第二分数与第二预设分数进行比较,对于任一第二候选词,如果该第二候选词的第二分数大于第二预设分数,则将该第二候选词作为第三候选词,采用该方法,服务器可从多个第二候选词中获取多个第二分数大于第二预设分数的第二候选词。
[0161]
208.服务器将多个第三候选词及对应的待挖掘语料输入到序列标注模型中,输出多个第三候选词中每个第三候选词的第三分数。
[0162]
基于所得到的多个第三候选词,服务器获取每个第三候选词对应的待挖掘语料,并将多个第三候选词及对应的待挖掘语料输入到序列标注模型中,输出多个第三候选词中每个第三候选词的第三分数。
[0163]
209.服务器获取第三分数大于第三预设分数的第三候选词作为多个引导词。
[0164]
服务器将第三候选词的第三分数与第三预设分数进行比较,从多个第三候选词中获取第三分数大于第三预设分数的第三候选词作为引导词,该引导词为在语义、上下文及词性层面上评分较高的候选词,克服了相关技术中存在的语义不完整、信息量不合理的问题,挖掘出的引导词更准确。
[0165]
本公开实施例提供的方法,将待挖掘语料依次输入到候选词挖掘模型、候选词评分模型及序列标注模型进行处理,基于候选词挖掘模型可从待挖掘语料中挖掘出可能作为引导词的多个第一候选词,并输出每个第一候候选词的第一分数,进而根据第一分数对挖掘出的多个第一候选词进行初步筛选,能够得到准确率相对较高的第二候选词,进而基于候选词评分模型在语义层面上对第二候选词进行评分,从中筛选出评分较高的第三候选词,然后基于序列标注模型在上下文及词性层面上对第三候选词进行评分,最终得到在语义、上下文及词性层面上评分较高的候选词作为引导词。采用该种方法挖掘出的引导词语义完整,更贴合当前的语境,因而准确性更高。
[0166]
参见图4,本公开实施例提供了一种引导词挖掘装置,该装置包括:
[0167]
第一输入输出模块401,用于将多个待挖掘语料输入到候选词挖掘模型中,输出多个第一候选词以及多个第一候选词对应的第一分数,候选词挖掘模型用于从待挖掘语料中挖掘出候选词;
[0168]
第一获取模块402,用于从多个第一候选词中,获取第一分数大于第一预设分数的多个第二候选词;
[0169]
第二输入输出模块403,还用于将多个第二候选词输入到候选词评分模型中,输出多个第二候选词中每个第二候选词的第二分数,候选词评分模型用于在语义层面上对候选词进行评分;
[0170]
第二获取模块404,用于从多个第二候选词中,获取第二分数大于第二预设分数的多个第三候选词;
[0171]
第三输入输出模块405,用于将多个第三候选词及对应的待挖掘语料输入到序列标注模型中,输出多个第三候选词中每个第三候选词的第三分数,序列标注模型用于在上下文和词性层面上对候选词进行评分;
[0172]
第三获取模块406,用于获取第三分数大于第三预设分数的第三候选词作为多个引导词。
[0173]
在本公开的另一个实施例中,用于训练候选词挖掘模型的装置包括:
[0174]
第四获取模块,用于以知识库中的词语为监督信息,获取多个第一训练样本语料,第一训练样本语料标注有至少一个引导词,知识库包括指定搜索引擎中的词语、命名实体或已挖掘的引导词中至少一种词语;
[0175]
第一训练模块,用于基于多个第一训练样本语料,对初始候选词挖掘模型进行训练,得到候选词挖掘模型。
[0176]
在本公开的另一个实施例中,用于训练候选词评分模型的装置包括:
[0177]
第四输入输出模块,用于将多个第二训练样本语料输入到候选词挖掘模型中,输出多个第一训练候选词及其第一分数,第二训练样本语料具有第二标注分数;
[0178]
确定模块,用于基于多个第一训练候选词的第一分数、第一预设分数及用户搜索日志,从多个第一训练候选词中,确定出多个第一训练候选词正样本和多个第一训练候选词负样本;
[0179]
第二训练模块,用于基于多个第一训练候选词正样本和多个第一训练候选词负样本,对初始候选词评分模型进行训练,得到第一次训练的候选词评分模型;
[0180]
第三训练模块,用于对第一次训练的候选词评分模型进行迭代训练,得到候选词评分模型。
[0181]
在本公开的另一个实施例中,确定模块,用于基于多个第一训练候选词的第一分数和第一预设分数,获取多个第一训练候选词参考正样本和多个第一训练候选词参考负样本,第一训练候选词参考正样本的第一分数大于第一预设分数,第一训练候选词参考参考负样本的第一分数小于第一预设分数;获取多个第一训练候选词参考正样本中与用户搜索日志中的搜索词重合的词语,得到多个第一训练候选词正样本;从多个第一训练候选词参考负样本中删除与用户搜索日志中的搜索词重合的词语,得到多个第一训练候选词负样本。
[0182]
在本公开实施例中,第二训练模块,用于将多个第一训练候选词正样本和多个第一训练候选词负样本输入到初始候选词评分模型中,输出多个第一训练候选词正样本的第二分数和多个第一训练候选词负样本的第二分数;基于多个第一训练候选词正样本的第二分数和第二标注分数,以及多个第一训练候选词负样本的第二分数和第二标注分数,对初始候选词评分模型的模型参数进行调整,得到第一次训练的候选词评分模型。
[0183]
在本公开的另一个实施例中,第三训练模块,用于基于第一次训练的候选词评分模型,对多个第一训练候选词进行评分,得到多个第一训练候选词的第二分数;基于多个第一训练候选词的第二分数和第二预设分数,获取多个第二训练候选词参考正样本和多个第二训练候选词参考负样本,第二训练候选词参考正样本的第二分数大于第二预设分数,第二训练候选词参考负样本的第二分数小于第二预设分数;基于多个第二训练候选词参考正样本、多个第二训练候选词参考负样本以及用户搜索日志中的搜索词,确定多个第二训练候选词正样本和多个第二训练候选词负样本;基于多个第二训练候选词正样本和多个第二训练候选词负样本,对第一次训练的候选词评分模型进行训练;重复上述训练过程,直至迭代次数达到预设次数,将迭代次数达到预设次数时得到的模型确定为候选词评分模型。
[0184]
在本公开的另一个实施例中,用于训练序列标注模型的装置包括:
[0185]
第五获取模块,用于获取多个第三训练样本语料,第三训练样本语料为进行引导词或非引导词、实体名称、词性中至少一种标注的语料;
[0186]
第四训练模块,用基于多个第三训练样本语料,对初始序列标注模型进行训练,得到序列标注模型。
[0187]
综上所述,本公开实施例提供的装置,将待挖掘语料依次输入到候选词挖掘模型、候选词评分模型及序列标注模型进行处理,基于候选词挖掘模型可从待挖掘语料中挖掘出可能作为引导词的多个第一候选词,并输出每个第一候候选词的第一分数,进而根据第一分数对挖掘出的多个第一候选词进行初步筛选,能够得到准确率相对较高的第二候选词,进而基于候选词评分模型在语义层面上对第二候选词进行评分,从中筛选出评分较高的第三候选词,然后基于序列标注模型在上下文及词性层面上对第三候选词进行评分,最终得到在语义、上下文及词性层面上评分较高的候选词作为引导词。采用该种方法挖掘出的引导词语义完整,更贴合当前的语境,因而准确性更高。
[0188]
图5是根据一示例性实施例示出的一种用于引导词挖掘的服务器。参照图5,服务器500包括处理组件522,其进一步包括一个或多个处理器,以及由存储器532所代表的存储器资源,用于存储可由处理组件522的执行的指令,例如应用程序。存储器532中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件522被配置为执行指令,以执行上述引导词挖掘方法中服务器所执行的功能。
[0189]
服务器500还可以包括一个电源组件526被配置为执行服务器500的电源管理,一个有线或无线网络接口550被配置为将服务器500连接到网络,和一个输入输出(i/o)接口558。服务器500可以操作基于存储在存储器532的操作系统,例如windows server
tm
,mac os x
tm
,unix
tm
,linux
tm
,freebsd
tm
或类似。
[0190]
本公开实施例提供的服务器,将待挖掘语料依次输入到候选词挖掘模型、候选词评分模型及序列标注模型进行处理,基于候选词挖掘模型可从待挖掘语料中挖掘出可能作为引导词的多个第一候选词,并输出每个第一候候选词的第一分数,进而根据第一分数对挖掘出的多个第一候选词进行初步筛选,能够得到准确率相对较高的第二候选词,进而基于候选词评分模型在语义层面上对第二候选词进行评分,从中筛选出评分较高的第三候选词,然后基于序列标注模型在上下文及词性层面上对第三候选词进行评分,最终得到在语义、上下文及词性层面上评分较高的候选词作为引导词。采用该种方法挖掘出的引导词语义完整,更贴合当前的语境,因而准确性更高。
[0191]
本公开实施例提供了一种计算机可读存储介质,该存储介质中存储有至少一条程序代码,该至少一条程序代码由处理器加载并执行,以实现如引导词挖掘方法。该计算机可读存储介质可以是非暂态的。例如,该计算机可读存储介质可以是只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、cd-rom、磁带、软盘和光数据存储设备等。
[0192]
本公开实施例提供的计算机可读存储介质,将待挖掘语料依次输入到候选词挖掘模型、候选词评分模型及序列标注模型进行处理,基于候选词挖掘模型可从待挖掘语料中挖掘出可能作为引导词的多个第一候选词,并输出每个第一候候选词的第一分数,进而根据第一分数对挖掘出的多个第一候选词进行初步筛选,能够得到准确率相对较高的第二候
选词,进而基于候选词评分模型在语义层面上对第二候选词进行评分,从中筛选出评分较高的第三候选词,然后基于序列标注模型在上下文及词性层面上对第三候选词进行评分,最终得到在语义、上下文及词性层面上评分较高的候选词作为引导词。采用该种方法挖掘出的引导词语义完整,更贴合当前的语境,因而准确性更高。
[0193]
本公开实施例提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现引导词挖掘方法。
[0194]
本公开实施例提供的计算机程序产品,将待挖掘语料依次输入到候选词挖掘模型、候选词评分模型及序列标注模型进行处理,基于候选词挖掘模型可从待挖掘语料中挖掘出可能作为引导词的多个第一候选词,并输出每个第一候候选词的第一分数,进而根据第一分数对挖掘出的多个第一候选词进行初步筛选,能够得到准确率相对较高的第二候选词,进而基于候选词评分模型在语义层面上对第二候选词进行评分,从中筛选出评分较高的第三候选词,然后基于序列标注模型在上下文及词性层面上对第三候选词进行评分,最终得到在语义、上下文及词性层面上评分较高的候选词作为引导词。采用该种方法挖掘出的引导词语义完整,更贴合当前的语境,因而准确性更高。
[0195]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0196]
以上所述仅为本公开的可选实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1