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

关键词识别模型的训练方法及装置与流程

2022-11-12 10:44:13 来源:中国专利 TAG:


1.本公开的实施例涉及模型训练技术领域,尤其涉及一种关键词识别模型的训练方法及装置。


背景技术:

2.搜索广告本质上是一个信息检索系统,用户输入查询词后,从海量广告数据中寻找与用户需求最匹配的结果。为了提升广告投放的精细度,广告主通过关键词对广告进行竞价。广告系统通过将查询词与关键词进行关联,进而召回相应的广告。
3.出于降低广告主的投放成本考虑,系统可以自动地根据广告主提供的文本或物料信息,挖掘相应的关键词。如何为广告主商家挖掘尽可能多地高相关的关键词,成为搜索广告系统的重点研究方向之一。
4.目前,通常是采用迭代式挖掘算法,基于文本信息里词-词的共现关系计算词的重要度,选取重要度高的词作为关键词。或者,以广告标题、描述等文本信息作为输入,通过序列标注式模型抽取其中的核心词汇作为关键词。或者,以广告标题、描述等文本信息作为输入,通过seq2seq生成式网络模型生成关键词。
5.然而,上述方案中,数据挖掘方式生成的关键词,依赖人工规则保证相关性,通用性较差,不利于后续迭代优化;而信息抽取方式得到的关键词,只能是广告文本信息的子串,一般准确性较高,由于无法挖掘文本不相关但语义相关的关键词,多样性较差;文本生成方法能挖掘与原始文本无关但语义相关的关键词,多样性较好,但往往存在过度泛化问题,进而降低准确性。


技术实现要素:

6.本公开的实施例提供一种关键词识别模型的训练方法及装置,用以在保证准确率的同时,又能保持多样性,提升模型去噪能力,提升模型准确率。
7.根据本公开的实施例的第一方面,提供了一种关键词识别模型的训练方法,包括:
8.获取训练样本;所述训练样本包括:初始菜品的菜品名称、菜品多域信息及与所述初始菜品关联的多个初始关键词;
9.将所述菜品名称、所述菜品多域信息和所述多个初始关键词输入至待训练关键词识别模型;
10.调用所述待训练关键词识别模型对所述菜品名称、所述菜品多域信息和所述多个初始关键词进行处理,以获取由所述待训练关键词识别模型输出的所述多个初始关键词相对于所述初始菜品的预测概率;
11.根据所述预测概率,计算得到所述待训练关键词识别模型对应的损失函数;
12.根据所述损失函数调整所述待训练关键词识别模型的模型参数;
13.迭代执行所述获取训练样本,至所述根据所述损失函数调整所述待训练关键词识别模型的模型参数的步骤,直至得到目标关键词识别模型。
14.可选地,所述待训练关键词识别模型包括:特征嵌入层、注意力机制层和解码层,
15.所述调用所述待训练关键词识别模型对所述菜品名称、所述菜品多域信息和所述多个初始关键词进行处理,以获取由所述待训练关键词识别模型输出的所述多个初始关键词相对于所述初始菜品的预测概率,包括:
16.调用所述特征嵌入层对所述菜品名称和所述菜品多域信息进行处理,得到所述菜品名称对应的菜品词位置信息、所述菜品多域信息对应的重要指标信息和字粒度信息;
17.调用所述注意力机制层对所述菜品词位置信息、所述重要指标信息和字粒度信息进行处理,得到所述菜品多域信息对应的关注度信息;
18.调用所述解码层对所述关注度信息进行解码处理,得到所述多个初始关键词相对于所述初始菜品的预测概率。
19.可选地,所述特征嵌入层包括:位置信息标识单元、重要指标获取单元和字粒度信息获取单元,
20.所述调用所述特征嵌入层对所述菜品名称和所述菜品多域信息进行处理,得到所述菜品名称对应的菜品词位置信息、所述菜品多域信息对应的重要指标信息和字粒度信息,包括:
21.调用所述位置信息标识单元对所述菜品名称进行标识处理,以标识所述菜品名称中各菜品词的菜品词位置信息;
22.调用所述重要指标获取单元对所述菜品多域信息和所述菜品名称进行处理,以获取所述菜品多域信息对所述菜品名称的重要指标信息;
23.调用所述字粒度信息获取单元对所述菜品多域信息进行处理,以得到所述菜品多域信息对应的字粒度信息。
24.可选地,在所述得到目标关键词识别模型之后,还包括:
25.获取用户输入的查询关键词;
26.将所述查询关键词输入至所述目标关键词识别模型,以获取由所述目标关键词识别模型输出的所述查询关键词对应的查询标签序列,及所述查询标签序列对应的标签概率;
27.根据所述标签概率,从所述查询标签序列中筛选出n个目标查询标签序列,n为大于等于1的正整数;
28.对所述目标查询标签序列进行转换处理,生成所述目标查询标签序列对应的目标关键词;
29.根据所述目标关键词,查询得到目标菜品。
30.可选地,所述根据所述标签概率,从所述查询标签序列中筛选出n个目标查询,包括:
31.根据所述标签概率由大到小的顺序对所述查询标签序列进行排序,得到排序结果;
32.根据所述排序结果,从所述查询标签序列中筛选出排序在前n位的查询标签序列作为所述目标查询标签序列。
33.根据本公开的实施例的第二方面,提供了一种关键词识别模型的训练装置,包括:
34.训练样本获取模块,用于获取训练样本;所述训练样本包括:初始菜品的菜品名
称、菜品多域信息及与所述初始菜品关联的多个初始关键词;
35.训练样本输入模块,用于将所述菜品名称、所述菜品多域信息和所述多个初始关键词输入至待训练关键词识别模型;
36.预测概率获取模块,用于调用所述待训练关键词识别模型对所述菜品名称、所述菜品多域信息和所述多个初始关键词进行处理,以获取由所述待训练关键词识别模型输出的所述多个初始关键词相对于所述初始菜品的预测概率;
37.损失函数计算模块,用于根据所述预测概率,计算得到所述待训练关键词识别模型对应的损失函数;
38.模型参数调整模块,用于根据所述损失函数调整所述待训练关键词识别模型的模型参数;
39.目标识别模型获取模块,用于迭代执行所述训练样本获取模块、所述训练样本输入模块、所述预测概率获取模块、所述损失函数计算模块和所述模型参数调整模块,直至得到目标关键词识别模型。
40.可选地,所述待训练关键词识别模型包括:特征嵌入层、注意力机制层和解码层,
41.所述预测概率获取模块包括:
42.位置指标信息获取子模块,用于调用所述特征嵌入层对所述菜品名称和所述菜品多域信息进行处理,得到所述菜品名称对应的菜品词位置信息、所述菜品多域信息对应的重要指标信息和字粒度信息;
43.关注度获取子模块,用于调用所述注意力机制层对所述菜品词位置信息、所述重要指标信息和字粒度信息进行处理,得到所述菜品多域信息对应的关注度信息;
44.预测概率获取子模块,用于调用所述解码层对所述关注度信息进行解码处理,得到所述多个初始关键词相对于所述初始菜品的预测概率。
45.可选地,所述特征嵌入层包括:位置信息标识单元、重要指标获取单元和字粒度信息获取单元,
46.所述位置指标信息获取子模块包括:
47.菜品词位置标识子模块,用于调用所述位置信息标识单元对所述菜品名称进行标识处理,以标识所述菜品名称中各菜品词的菜品词位置信息;
48.指标信息获取子模块,用于调用所述重要指标获取单元对所述菜品多域信息和所述菜品名称进行处理,以获取所述菜品多域信息对所述菜品名称的重要指标信息;
49.字粒度获取子模块,用于调用所述字粒度信息获取单元对所述菜品多域信息进行处理,以得到所述菜品多域信息对应的字粒度信息。
50.可选地,所述装置还包括:
51.查询关键词获取模块,用于获取用户输入的查询关键词;
52.标签概率获取模块,用于将所述查询关键词输入至所述目标关键词识别模型,以获取由所述目标关键词识别模型输出的所述查询关键词对应的查询标签序列,及所述查询标签序列对应的标签概率;
53.目标标签筛选模块,用于根据所述标签概率,从所述查询标签序列中筛选出n个目标查询标签序列,n为大于等于1的正整数;
54.目标关键词生成模块,用于对所述目标查询标签序列进行转换处理,生成所述目
标查询标签序列对应的目标关键词;
55.目标菜品查询模块,用于根据所述目标关键词,查询得到目标菜品。
56.可选地,所述目标标签筛选模块包括:
57.排序结果获取子模块,用于根据所述标签概率由大到小的顺序对所述查询标签序列进行排序,得到排序结果;
58.目标标签获取子模块,用于根据所述排序结果,从所述查询标签序列中筛选出排序在前n位的查询标签序列作为所述目标查询标签序列。
59.根据本公开的实施例的第三方面,提供了一种电子设备,包括:
60.处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述的关键词识别模型的训练方法。
61.根据本公开的实施例的第四方面,提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的关键词识别模型的训练方法。
62.本公开的实施例提供了一种关键词识别模型的训练方法及装置。通过获取训练样本,训练样本包括:初始菜品的菜品名称、菜品多域信息及与初始菜品关联的多个初始关键词,将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型,调用待训练关键词识别模型对菜品名称、菜品多域信息和多个初始关键词进行处理,以获取由待训练关键词识别模型输出的多个初始关键词相对于初始菜品的预测概率,根据预测概率,计算得到待训练关键词识别模型对应的损失函数,根据损失函数调整待训练关键词识别模型的模型参数,迭代执行获取训练样本至根据所述损失函数调整待训练关键词识别模型的模型参数的步骤,直至得到目标关键词识别模型。本公开的实施例通过引入菜品多域信息来训练关键词识别模型,从而可以在保证准确率的同时,又能保持多样性,同时引入indicator让模型学习多维度菜品信息中核心成分,提升模型去噪能力,通过区分不同菜品域重要性,提升模型准确率。
附图说明
63.为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
64.图1为本公开的实施例提供的一种关键词识别模型的训练方法的步骤流程图;
65.图2为本公开的实施例提供的另一种关键词识别模型的训练方法的步骤流程图;
66.图3为本公开的实施例提供的一种构造训练数据的示意图;
67.图4为本公开的实施例提供的一种标签序列的示意图;
68.图5为本公开的实施例提供的一种模型处理过程的示意图;
69.图6为本公开的实施例提供的一种关键词识别模型的训练装置的结构示意图;
70.图7为本公开的实施例提供的另一种关键词识别模型的训练装置的结构示意图。
具体实施方式
71.下面将结合本公开的实施例中的附图,对本公开的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的实施例一部分实施例,而不是全部的实施例。基于本公开的实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开的实施例保护的范围。
72.实施例一
73.参照图1,示出了本公开的实施例提供的一种关键词识别模型的训练方法的步骤流程图,如图1所示,该关键词识别模型的训练方法具体可以包括如下步骤:
74.步骤101:获取训练样本;所述训练样本包括:初始菜品的菜品名称、菜品多域信息及与所述初始菜品关联的多个初始关键词。
75.本公开的实施例可以应用于结合菜品多域信息对关键词识别模型进行训练的场景中。
76.训练样本是指用于对关键词识别模型进行训练的样本,在本示例中,对于训练样本的数量可以为800、1000等,具体地,可以根据业务需求而定,本实施例对此不加以限制。
77.训练样本可以包括:初始菜品的菜品名称、菜品多域信息及与初始菜品关联的多个初始关键词,其中,初始菜品是指用户在历史搜索菜品的过程中输入的查询词中提取的菜品,例如,用户在查询“盖浇饭小炒美味西红柿炒鸡蛋”等,其中,包含的初始菜品为“西红柿炒鸡蛋”等。菜品多域信息是指与初始菜品关联的不同维度的信息,菜品多域信息可以包含初始菜品的品类、商家标签、数据来源等信息。初始关键词是指与初始菜品关联的关键词,例如,初始菜品以“西红柿炒鸡蛋”为例,用户在进行搜索时,可能会输入“西红柿炒鸡蛋”,也可能仅输入“炒鸡蛋”,还可能仅输入“西红柿鸡蛋”等,可以将这些均作为初始菜品对应的初始关键词等。
78.可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
79.在获取到训练样本之后,执行步骤102。
80.步骤102:将所述菜品名称、所述菜品多域信息和所述多个初始关键词输入至待训练关键词识别模型。
81.待训练关键词识别模型是指还未进行训练的用于识别用户输入的查询语句中的关键词的模型。
82.在获取到训练样本之后,可以将训练样本中包含的菜品名称、菜品多域信息和多个初始关键词输入至待训练的关键词识别模型。
83.在将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型之后,执行步骤103。
84.步骤103:调用所述待训练关键词识别模型对所述菜品名称、所述菜品多域信息和所述多个初始关键词进行处理,以获取由所述待训练关键词识别模型输出的所述多个初始关键词相对于所述初始菜品的预测概率。
85.预测概率是指由待训练关键词识别模型输出的多个初始关键词相对于初始菜品的预测概率,即在搜索相关菜品时,哪个初始关键词搜索得到相应菜品的概率最大,预测概率越大表示越容易搜索到相应菜品,反之,预测概率越小表示越难搜索到相应菜品。
86.在将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型之后,可以调用待训练关键词识别模型对菜品名称、菜品多域信息和多个初始关键词进行处理,以获取到由待训练关键词识别模型输出的多个初始关键词相对于初始菜品的预测概率,对于待训练关键词识别模型对菜品名称、菜品多域信息和多个初始关键词的处理过程将在下述实施例二中进行详细描述,本实施例在此不再加以赘述。
87.在获取到由待训练关键词识别模型输出的多个初始关键词相对于初始菜品的预测概率之后,执行步骤104。
88.步骤104:根据所述预测概率,计算得到所述待训练关键词识别模型对应的损失函数。
89.在得到预测概率之后,可以根据预测概率计算得到待训练关键词识别模型对应的损失函数,该损失函数可以反应出对于待训练关键词识别模型的训练程度。
90.在根据预测概率计算得到待训练关键词识别模型对应的损失函数之后,执行步骤105。
91.步骤105:根据所述损失函数调整所述待训练关键词识别模型的模型参数。
92.在通过上述步骤计算得到损失函数之后,则可以根据损失函数对待训练关键词识别模型的模型参数进行调整,在调整模型参数之后,则进行下一步的模型训练过程。
93.步骤106:迭代执行所述获取训练样本,至所述根据所述损失函数调整所述待训练关键词识别模型的模型参数的步骤,直至得到目标关键词识别模型。
94.在对待训练关键词识别模型的模型参数进行调整之后,可以迭代执行上述步骤101至步骤105,直至模型收敛,从而可以得到最终的目标关键词识别模型,该目标关键词识别模型即可以应用于后续的对用户输入的查询语句进行关键词识别,并结合识别的关键词进行菜品搜索。
95.本公开的实施例通过引入菜品多域信息来训练关键词识别模型,从而可以在保证准确率的同时,又能保持多样性,同时引入indicator让模型学习多维度菜品信息中核心成分,提升模型去噪能力。
96.本公开的实施例提供的关键词识别模型的训练方法,通过获取训练样本,训练样本包括:初始菜品的菜品名称、菜品多域信息及与初始菜品关联的多个初始关键词,将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型,调用待训练关键词识别模型对菜品名称、菜品多域信息和多个初始关键词进行处理,以获取由待训练关键词识别模型输出的多个初始关键词相对于初始菜品的预测概率,根据预测概率,计算得到待训练关键词识别模型对应的损失函数,根据损失函数调整待训练关键词识别模型的模型参数,迭代执行获取训练样本至根据所述损失函数调整待训练关键词识别模型的模型参数的步骤,直至得到目标关键词识别模型。本公开的实施例通过引入菜品多域信息来训练关键词识别模型,从而可以在保证准确率的同时,又能保持多样性,同时引入indicator让模型学习多维度菜品信息中核心成分,提升模型去噪能力,通过区分不同菜品域重要性,提升模型准确率。
97.实施例二
98.参照图2,示出了本公开的实施例提供的另一种关键词识别模型的训练方法的步骤流程图,如图2所示,该关键词识别模型的训练方法具体可以包括如下步骤:
99.步骤201:获取训练样本;所述训练样本包括:初始菜品的菜品名称、菜品多域信息及与所述初始菜品关联的多个初始关键词。
100.本公开的实施例可以应用于结合菜品多域信息对关键词识别模型进行训练的场景中。
101.训练样本是指用于对关键词识别模型进行训练的样本,在本示例中,对于训练样本的数量可以为800、1000等,具体地,可以根据业务需求而定,本实施例对此不加以限制。
102.训练样本可以包括:初始菜品的菜品名称、菜品多域信息及与初始菜品关联的多个初始关键词,其中,初始菜品是指用户在历史搜索菜品的过程中输入的查询词中提取的菜品,例如,用户在查询“盖浇饭小炒美味西红柿炒鸡蛋”等,其中,包含的初始菜品为“西红柿炒鸡蛋”等。菜品多域信息是指与初始菜品关联的不同维度的信息,菜品多域信息可以包含初始菜品的品类、商家标签、数据来源等信息。初始关键词是指与初始菜品关联的关键词,例如,初始菜品以“西红柿炒鸡蛋”为例,用户在进行搜索时,可能会输入“西红柿炒鸡蛋”,也可能仅输入“炒鸡蛋”,还可能仅输入“西红柿鸡蛋”等,可以将这些均作为初始菜品对应的初始关键词等。
103.可以理解地,上述示例仅是为了更好地理解本公开的实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。
104.在本实施例中,关键词识别模型是基于输入的文本序列,生成输出文本序列。本实施例融合序列标注模型、基于seq2seq结构的文本生成模型,将文本生成任务转换为序列标注任务。需要将输出的文本序列转换为标签序列,本实施例的模型采用了四类输出标签,分别表示为:k、d、pk、pd。
105.其中,k表示保留当前时刻的输入作为当前时刻的输出。
106.d表示当前时刻不输出(即不保留当前时刻的输入作为当前时刻的输出)。
107.pk表示保留当前时刻的输入作为当前时刻的输出,且在输出序列的当前时刻之前加入词p。
108.pd表示不保留当前时刻的输入作为当前时刻的输出,但在输出序列的当前时刻之前加入词p。
109.其中词p来自于phrase词,phrase词表选取规则如下:
110.1、获取训练数据输入序列与输出序列的最长公共子序列(lcs);
111.2、输出序列中不属于lcs的所有短语作为候选phrase;
112.3、从候选phrase集合中选取出现频次最高的top n phrase构成最终phrase表。
113.外卖场景下,用户搜索的query比较集中,采用较少数量的phrase,就能覆盖绝大多数的训练样本。与基于seq2seq结构的文本生成模型相比,极大的缩小了生成模型输出词表规模,提升生成的关键词的可控性、解释性、准确率;与序列标注模型相比,引入phrase词表,可以生成不包含于源文本的关键词,提升覆盖率、多样性。
114.对于训练数据的构造过程,可以结合图3和图4进行如下详细描述。
115.本实施例将文本生成任务转换为序列标注任务,需要将训练数据中的文本输出序列转换为标签序列。具体的转换方式如下(结合图3进行描述):
116.设输入、输出序列当前待匹配位置为i,o,开始时,i,o均取值为0。
117.a)固定输入序列位置i,输出序列从o位置向右遍历,直到位置o'。
118.i、如果输入、输出序列待匹配的字相同,且遍历的输出序列p1落入phrase表,则输入序列i位置对应的输出标签即为p1k,输出序列待匹配的位置调整为o=o' 1(表示下一个待匹配的位置)
119.当标签类型为pk时,需要对其进行调整。如下图所示,输入序列中“饭”字对应的原始标签为米k,从该字往左遍历标签序列,找到第一个标签类型为k或pk的标签(”骨“字对应的k标签),将其右侧的d标签修改为米d,输入序列中”饭“字对应的米k标签,调整为k;如果找不到,pk标签不作修改。如图4可以直观看出调整后的标签序列、原始标签序列和输入序列。
120.ii、如果遍历完整个序列,不存在满足上面条件a)的匹配,则输入序列位置i对应的输出标签即为d,输出序列待匹配位置o保持不变。
121.iii、输入序列待匹配位置调整为i=i 1。
122.b)重复上述步骤a),直至遍历完整个输入序列。
123.在获取到训练样本之后,执行步骤202。
124.步骤202:将所述菜品名称、所述菜品多域信息和所述多个初始关键词输入至待训练关键词识别模型。
125.待训练关键词识别模型是指还未进行训练的用于识别用户输入的查询语句中的关键词的模型。
126.在获取到训练样本之后,可以将训练样本中包含的菜品名称、菜品多域信息和多个初始关键词输入至待训练的关键词识别模型。如图5所示,模型的输入可以包括两部分:菜品主干词和多维度菜品域信息,其中,菜品主干词为“西红柿鸡蛋”,多维度菜品域信息为“商家品类”、“菜品标签”和“菜品名称”等。
127.在将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型之后,执行步骤203。
128.步骤203:调用所述特征嵌入层对所述菜品名称和所述菜品多域信息进行处理,得到所述菜品名称对应的菜品词位置信息、所述菜品多域信息对应的重要指标信息和字粒度信息。
129.在本实施例中,待训练关键词识别模型可以包括:特征嵌入层、注意力机制层和解码层。如图5所示,特征嵌入层为embedding layer,注意力机制层为bert encoder block,解码层为transformer decoder layer。
130.在将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型之后,首先可以调用特征嵌入层对菜品名称和菜品多域信息进行处理,以得到菜品名称对应的菜品词位置信息、菜品多域信息对应的重要指标信息和字粒度信息,具体地,可以结合下述具体实现方式进行详细描述。
131.在本公开的一种具体实现方式中,所述特征嵌入层包括位置信息标识单元、重要指标获取单元和字粒度信息获取单元,上述步骤103可以包括:
132.子步骤s1:调用所述位置信息标识单元对所述菜品名称进行标识处理,以标识所述菜品名称中各菜品词的菜品词位置信息。
133.在本实施例中,特征嵌入层可以包括位置信息标识单元、重要指标获取单元和字粒度信息获取单元。如图5所示,位置信息标识单元为position embedding,重要指标获取单元为field embedding,字粒度信息获取单元为token embedding。
134.其中,位置信息标识单元可以用于标识菜品名称中各菜品词在菜品名称文本中的位置。
135.在将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型之后,首先,调用特征嵌入层中的位置信息标识单元对菜品名称进行标识处理,以标识菜品名称中各菜品词在菜品名称文本中的位置,即可以得到各菜品词的菜品词位置信息,如图5所示,在将菜品主干词和多维度菜品域信息输入至模型之后,可以调用position embedding对输入的菜品词进行标识处理,以得到菜品词位置信息。
136.在本实施例中,位置信息标识单元(即position embedding)可以用来标识输入序列中token(包括字和词)的位置信息,以期在self-attention机制中可以保留输入序列的位置信息,position embedding计算如下:
[0137][0138]
其中,pos为输入序列中当前token的位置,i为维度,d
model
为输出维度。
[0139]
在调用位置信息标识单元对菜品名称进行标识处理以标识菜品名称中各菜品词的菜品词位置信之后,执行子步骤s2。
[0140]
子步骤s2:调用所述重要指标获取单元对所述菜品多域信息和所述菜品名称进行处理,以获取所述菜品多域信息对所述菜品名称的重要指标信息。
[0141]
在调用位置信息标识单元对菜品名称进行标识处理以标识菜品名称中各菜品词的菜品词位置信之后,可以调用重要指标获取单元对菜品多域信息和菜品名称进行处理,以获取菜品多域信息对菜品名称的重要指标信息,具体地,显然不同域信息对刻画菜品的重要程度不同,对每个域引入一个field embedding(重要指标获取单元),学习当前域的重要程度是很有必要的,也在我们的实验中得到了验证。不同域赋予不同的嵌入向量,每一个field有其id编号field_type_id∈[d
number-1]。具体表示如下:
[0142][0143]
其中,ef为可训练的field embedding lookup表,在计算过程中根据id去查表即可得到其embedding,为第i个field的编号。
[0144]
如图5所示,在将菜品多域信息和菜品名称输入至模型之后,可以调用field embedding对菜品多域信息和菜品名称进行处理,以得到菜品多域信息对菜品名称的重要指标信息。
[0145]
在调用重要指标获取单元对菜品多域信息和菜品名称进行处理以获取菜品多域信息对菜品名称的重要指标信息之后,执行子步骤s3。
[0146]
子步骤s3:调用所述字粒度信息获取单元对所述菜品多域信息进行处理,以得到所述菜品多域信息对应的字粒度信息。
[0147]
在本实施例中,字粒度信息获取单元(即token embedding)多维度菜品域数据采用字粒度embedding;考虑到菜品主干词相对较短、数量较少,避免采用字粒度embedding导致学习到文本字面上相似度而非整个实体词语义,因此采用id型embedding,这部分的计算分为两部分,token embedding和indicator embedding。如图5所示,可以调用token embedding对菜品多域信息进行处理,以得到菜品多域信息对应的字粒度信息。
[0148]
在调用特征嵌入层对菜品名称和菜品多域信息进行处理得到菜品名称对应的菜品词位置信息、菜品多域信息对应的重要指标信息和字粒度信息之后,执行步骤204。
[0149]
步骤204:调用所述注意力机制层对所述菜品词位置信息、所述重要指标信息和字粒度信息进行处理,得到所述菜品多域信息对应的关注度信息。
[0150]
关注度信息可以指示菜品多域信息对菜品名称的关注度。
[0151]
在本示例中,注意力机制层可以采用bert-base模型学习文本序列的特征,使用预训练好的权重初始化,之后在训练中微调(fine tune)。
[0152]
在调用特征嵌入层对菜品名称和菜品多域信息进行处理得到菜品名称对应的菜品词位置信息、菜品多域信息对应的重要指标信息和字粒度信息之后,可以调用注意力机制层(图5所示bert encoder block)对菜品词位置信息、重要指标信息和字粒度信息进行处理,以得到菜品多域信息对应的关注度信息,本实施例通过在模型中引入菜品主干实体词作为indicator,来指导输入的多域信息的关注度。关注度和多域信息一起通过self-attention机制来决定后续的序列标注任务的信息输入。attention计算如下:
[0153][0154]
其中,w
k,e
均为可学习到的参数。
[0155]
在调用注意力机制层对菜品词位置信息、重要指标信息和字粒度信息进行处理得到菜品多域信息对应的关注度信息之后,执行步骤205。
[0156]
步骤205:调用所述解码层对所述关注度信息进行解码处理,得到所述多个初始关键词相对于所述初始菜品的预测概率。
[0157]
预测概率是指初始关键词可以作为初始菜品的检索关键词的概率。
[0158]
在调用注意力机制层对菜品词位置信息、重要指标信息和字粒度信息进行处理得到菜品多域信息对应的关注度信息之后,可以调用解码层对关注度信息进行解码处理以得到多个初始关键词相对于初始菜品的预测概率。具体地,采用transformer decoder(如图5所示),除了indicator不参与序列标注的预测外,多域输入信息中的每个token都会预测为初始关键词中的一个,这样的预测结果通过解码,就可以使得输入序列变成模型预测的输出序列。此外,在每个输入的解码过程中,使用beam search生成关键词,这样就很好的解决了输出结果的多样性问题,而且也可以生成序列标注中不支持的“交叉”问题。
[0159]
在调用解码层对关注度信息进行解码处理得到多个初始关键词相对于初始菜品的预测概率之后,执行步骤206。
[0160]
步骤206:根据所述预测概率,计算得到所述待训练关键词识别模型对应的损失函数。
[0161]
在得到预测概率之后,可以根据预测概率计算得到待训练关键词识别模型对应的损失函数,该损失函数可以反应出对于待训练关键词识别模型的训练程度。
[0162]
在根据预测概率计算得到待训练关键词识别模型对应的损失函数之后,执行步骤207。
[0163]
步骤207:根据所述损失函数调整所述待训练关键词识别模型的模型参数。
[0164]
在通过上述步骤计算得到损失函数之后,则可以根据损失函数对待训练关键词识别模型的模型参数进行调整,在调整模型参数之后,则进行下一步的模型训练过程。
[0165]
步骤208:迭代执行所述获取训练样本,至所述根据所述损失函数调整所述待训练关键词识别模型的模型参数的步骤,直至得到目标关键词识别模型。
[0166]
在对待训练关键词识别模型的模型参数进行调整之后,可以迭代执行上述步骤,直至模型收敛,从而可以得到最终的目标关键词识别模型,该目标关键词识别模型即可以应用于后续的对用户输入的查询语句进行关键词识别,并结合识别的关键词进行菜品搜索。
[0167]
步骤209:获取用户输入的查询关键词。
[0168]
查询关键词是指用户输入的用于检索菜品的关键词。
[0169]
在用户需要通过外卖平台进行菜品搜索时,可以由用户输入查询关键词。
[0170]
在获取到用户输入的查询关键词之后,执行步骤210。
[0171]
步骤210:将所述查询关键词输入至所述目标关键词识别模型,以获取由所述目标关键词识别模型输出的所述查询关键词对应的查询标签序列,及所述查询标签序列对应的标签概率。
[0172]
在获取到用户输入的查询关键词之后,可以将查询关键词输入至目标关键词识别模型,通过目标关键词识别模型对查询关键词进行处理,以得到查询关键词对应的查询标签序列,该查询标签序列即是由多个匹配关键词形成的序列,并可以得到由目标关键词识别模型输出的查询标签序列对应的标签概率。
[0173]
在得到查询标签序列和查询标签序列对应的标签概率之后,执行步骤211。
[0174]
步骤211:根据所述标签概率,从所述查询标签序列中筛选出n个目标查询标签序列,n为大于等于1的正整数。
[0175]
在得到查询标签序列和标签概率之后,可以从查询标签序列中筛选出n(n为大于等于1的正整数)个查询标签序列。
[0176]
具体地,可以根据标签概率由大到小的顺序对查询标签序列进行排序,以得到排序结果,并根据排序结果从查询标签序列中筛选出排序在前n位的查询标签序列作为目标查询标签序列。
[0177]
在根据标签概率从查询标签序列中筛选出n个目标查询标签序列之后,执行步骤212。
[0178]
步骤212:对所述目标查询标签序列进行转换处理,生成所述目标查询标签序列对应的目标关键词。
[0179]
在筛选得到目标查询标签序列之后,可以对目标查询标签序列进行转换处理,以生成目标查询标签序列对应的目标关键词。具体地,与基于seq2seq结构的文本生成模型一致,本示例中可以采用beam search方式,选取预测的n个标签序列,然后基于每个标签的含义,将top k个标签序列转换为对应的n个关键词。
[0180]
在对目标查询标签序列进行转换处理生成目标查询标签序列对应的目标关键词之后,执行步骤213。
[0181]
步骤213:根据所述目标关键词,查询得到目标菜品。
[0182]
在得到目标关键词之后,则可以根据目标关键词进行搜索,以得到目标菜品,并将查询得到的目标菜品显示于用户使用的终端。
[0183]
本公开的实施例提供的关键词识别模型的训练方法,通过获取训练样本,训练样
本包括:初始菜品的菜品名称、菜品多域信息及与初始菜品关联的多个初始关键词,将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型,调用待训练关键词识别模型对菜品名称、菜品多域信息和多个初始关键词进行处理,以获取由待训练关键词识别模型输出的多个初始关键词相对于初始菜品的预测概率,根据预测概率,计算得到待训练关键词识别模型对应的损失函数,根据损失函数调整待训练关键词识别模型的模型参数,迭代执行获取训练样本至根据所述损失函数调整待训练关键词识别模型的模型参数的步骤,直至得到目标关键词识别模型。本公开的实施例通过引入菜品多域信息来训练关键词识别模型,从而可以在保证准确率的同时,又能保持多样性,同时引入indicator让模型学习多维度菜品信息中核心成分,提升模型去噪能力,通过区分不同菜品域重要性,提升模型准确率。
[0184]
实施例三
[0185]
参照图6,示出了本公开的实施例提供的一种关键词识别模型的训练装置的结构示意图,如图6所示,该关键词识别模型的训练装置300具体可以包括如下模块:
[0186]
训练样本获取模块310,用于获取训练样本;所述训练样本包括:初始菜品的菜品名称、菜品多域信息及与所述初始菜品关联的多个初始关键词;
[0187]
训练样本输入模块320,用于将所述菜品名称、所述菜品多域信息和所述多个初始关键词输入至待训练关键词识别模型;
[0188]
预测概率获取模块330,用于调用所述待训练关键词识别模型对所述菜品名称、所述菜品多域信息和所述多个初始关键词进行处理,以获取由所述待训练关键词识别模型输出的所述多个初始关键词相对于所述初始菜品的预测概率;
[0189]
损失函数计算模块340,用于根据所述预测概率,计算得到所述待训练关键词识别模型对应的损失函数;
[0190]
模型参数调整模块350,用于根据所述损失函数调整所述待训练关键词识别模型的模型参数;
[0191]
目标识别模型获取模块360,用于迭代执行所述训练样本获取模块、所述训练样本输入模块、所述预测概率获取模块、所述损失函数计算模块和所述模型参数调整模块,直至得到目标关键词识别模型。
[0192]
本公开的实施例提供的关键词识别模型的训练装置,通过获取训练样本,训练样本包括:初始菜品的菜品名称、菜品多域信息及与初始菜品关联的多个初始关键词,将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型,调用待训练关键词识别模型对菜品名称、菜品多域信息和多个初始关键词进行处理,以获取由待训练关键词识别模型输出的多个初始关键词相对于初始菜品的预测概率,根据预测概率,计算得到待训练关键词识别模型对应的损失函数,根据损失函数调整待训练关键词识别模型的模型参数,迭代执行获取训练样本至根据所述损失函数调整待训练关键词识别模型的模型参数的步骤,直至得到目标关键词识别模型。本公开的实施例通过引入菜品多域信息来训练关键词识别模型,从而可以在保证准确率的同时,又能保持多样性,同时引入indicator让模型学习多维度菜品信息中核心成分,提升模型去噪能力,通过区分不同菜品域重要性,提升模型准确率。
[0193]
实施例四
[0194]
参照图7,示出了本公开的实施例提供的另一种关键词识别模型的训练装置的结构示意图,如图7所示,该关键词识别模型的训练装置400具体可以包括如下模块:
[0195]
训练样本获取模块410,用于获取训练样本;所述训练样本包括:初始菜品的菜品名称、菜品多域信息及与所述初始菜品关联的多个初始关键词;
[0196]
训练样本输入模块420,用于将所述菜品名称、所述菜品多域信息和所述多个初始关键词输入至待训练关键词识别模型;
[0197]
预测概率获取模块430,用于调用所述待训练关键词识别模型对所述菜品名称、所述菜品多域信息和所述多个初始关键词进行处理,以获取由所述待训练关键词识别模型输出的所述多个初始关键词相对于所述初始菜品的预测概率;
[0198]
损失函数计算模块440,用于根据所述预测概率,计算得到所述待训练关键词识别模型对应的损失函数;
[0199]
模型参数调整模块450,用于根据所述损失函数调整所述待训练关键词识别模型的模型参数;
[0200]
目标识别模型获取模块460,用于迭代执行所述训练样本获取模块、所述训练样本输入模块、所述预测概率获取模块、所述损失函数计算模块和所述模型参数调整模块,直至得到目标关键词识别模型;
[0201]
查询关键词获取模块470,用于获取用户输入的查询关键词;
[0202]
标签概率获取模块480,用于将所述查询关键词输入至所述目标关键词识别模型,以获取由所述目标关键词识别模型输出的所述查询关键词对应的查询标签序列,及所述查询标签序列对应的标签概率;
[0203]
目标标签筛选模块490,用于根据所述标签概率,从所述查询标签序列中筛选出n个目标查询标签序列,n为大于等于1的正整数;
[0204]
目标关键词生成模块4100,用于对所述目标查询标签序列进行转换处理,生成所述目标查询标签序列对应的目标关键词;
[0205]
目标菜品查询模块4110,用于根据所述目标关键词,查询得到目标菜品。
[0206]
可选地,所述待训练关键词识别模型包括:特征嵌入层、注意力机制层和解码层,
[0207]
所述预测概率获取模块430包括:
[0208]
位置指标信息获取子模块431,用于调用所述特征嵌入层对所述菜品名称和所述菜品多域信息进行处理,得到所述菜品名称对应的菜品词位置信息、所述菜品多域信息对应的重要指标信息和字粒度信息;
[0209]
关注度获取子模块432,用于调用所述注意力机制层对所述菜品词位置信息、所述重要指标信息和字粒度信息进行处理,得到所述菜品多域信息对应的关注度信息;
[0210]
预测概率获取子模块433,用于调用所述解码层对所述关注度信息进行解码处理,得到所述多个初始关键词相对于所述初始菜品的预测概率。
[0211]
可选地,所述特征嵌入层包括:位置信息标识单元、重要指标获取单元和字粒度信息获取单元,
[0212]
所述位置指标信息获取子模块431包括:
[0213]
菜品词位置标识子模块,用于调用所述位置信息标识单元对所述菜品名称进行标识处理,以标识所述菜品名称中各菜品词的菜品词位置信息;
[0214]
指标信息获取子模块,用于调用所述重要指标获取单元对所述菜品多域信息和所述菜品名称进行处理,以获取所述菜品多域信息对所述菜品名称的重要指标信息;
[0215]
字粒度获取子模块,用于调用所述字粒度信息获取单元对所述菜品多域信息进行处理,以得到所述菜品多域信息对应的字粒度信息。
[0216]
可选地,所述目标标签筛选模块490包括:
[0217]
排序结果获取子模块,用于根据所述标签概率由大到小的顺序对所述查询标签序列进行排序,得到排序结果;
[0218]
目标标签获取子模块,用于根据所述排序结果,从所述查询标签序列中筛选出排序在前n位的查询标签序列作为所述目标查询标签序列。
[0219]
本公开的实施例提供的关键词识别模型的训练装置,通过获取训练样本,训练样本包括:初始菜品的菜品名称、菜品多域信息及与初始菜品关联的多个初始关键词,将菜品名称、菜品多域信息和多个初始关键词输入至待训练关键词识别模型,调用待训练关键词识别模型对菜品名称、菜品多域信息和多个初始关键词进行处理,以获取由待训练关键词识别模型输出的多个初始关键词相对于初始菜品的预测概率,根据预测概率,计算得到待训练关键词识别模型对应的损失函数,根据损失函数调整待训练关键词识别模型的模型参数,迭代执行获取训练样本至根据所述损失函数调整待训练关键词识别模型的模型参数的步骤,直至得到目标关键词识别模型。本公开的实施例通过引入菜品多域信息来训练关键词识别模型,从而可以在保证准确率的同时,又能保持多样性,同时引入indicator让模型学习多维度菜品信息中核心成分,提升模型去噪能力,通过区分不同菜品域重要性,提升模型准确率。
[0220]
本公开的实施例还提供了一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现前述实施例的关键词识别模型的训练方法。
[0221]
本公开的实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的关键词识别模型的训练方法。
[0222]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0223]
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本公开的实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本公开的实施例的内容,并且上面对特定语言所做的描述是为了披露本公开的实施例的最佳实施方式。
[0224]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0225]
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本公开的示例性实施例的描述中,本公开的实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本公开的实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确
切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本公开的实施例的单独实施例。
[0226]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
[0227]
本公开的实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本公开的实施例的动态图片的生成设备中的一些或者全部部件的一些或者全部功能。本公开的实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本公开的实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0228]
应该注意的是上述实施例对本公开的实施例进行说明而不是对本公开的实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开的实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0229]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0230]
以上所述仅为本公开的实施例的较佳实施例而已,并不用以限制本公开的实施例,凡在本公开的实施例的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本公开的实施例的保护范围之内。
[0231]
以上所述,仅为本公开的实施例的具体实施方式,但本公开的实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开的实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的实施例的保护范围之内。因此,本公开的实施例的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献