CN114757176B - 一种获取目标意图识别模型的方法以及意图识别方法 - Google Patents
一种获取目标意图识别模型的方法以及意图识别方法 Download PDFInfo
- Publication number
- CN114757176B CN114757176B CN202210571180.3A CN202210571180A CN114757176B CN 114757176 B CN114757176 B CN 114757176B CN 202210571180 A CN202210571180 A CN 202210571180A CN 114757176 B CN114757176 B CN 114757176B
- Authority
- CN
- China
- Prior art keywords
- training
- target
- original
- sentence
- text
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 238000012549 training Methods 0.000 claims abstract description 529
- 238000002372 labelling Methods 0.000 claims abstract description 103
- 230000006870 function Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 13
- 230000011218 segmentation Effects 0.000 claims description 10
- 230000002441 reversible effect Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 description 24
- 238000012545 processing Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 230000003993 interaction Effects 0.000 description 11
- 230000000873 masking effect Effects 0.000 description 8
- 238000002156 mixing Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000007547 defect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013145 classification model Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005429 filling process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000004801 process automation Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例提供一种获取意图识别模型的方法以及意图识别方法,该方法包括:获取原始训练文本集,其中,所述原始训练文本集包括与至少两种意图类型中各意图类型分别对应的训练数据,所述训练数据包括多条原始训练语句以及与各条原始训练语句分别对应的原始标注标签;根据所述原始训练文本集中的数据得到目标训练文本集,其中,所述目标训练文集中的各条目标训练语句是通过对一个原始标注标签进行遮盖处理后得到的;基于所述目标训练文本集中的数据对预训练掩码语言模型Bert进行微调,得到目标意图识别模型。本申请的实施例可以在小样本以及数据不平衡的情况下也能训练出泛化性能更好,更健壮的意图识别模型。
Description
技术领域
本申请涉及自然语言处理技术领域,具体而言本申请实施例涉及一种获取目标意图识别模型的方法以及意图识别方法。
背景技术
以业务询问机器人为例示例性阐述会话机器人的对话流程,该对话过程包括:获取客人的问题Q,经过意图识别模块将该问题抽象化为客人的目标意图(intent),再将目标意图传输给对应的交互模块获取与客人的问题最相关的回答语句,向客户提供该回答语句。不难理解的是,目前的会话机器人工作的核心是进行用户意图识别,因为只有明确了意图才能找到对应的交互模型并利用该交互模块给出针对性的回答。
现有的意图识别模块上运行的目标意图识别模型需要基于原始训练文本集中的数据进行训练才能具备意图识别的能力,而针对多功能(即多意图类型)的会话机器人会存在针对不同类型的意图所采集的训练数据不平衡的问题。例如,在原本只有常见问题解答FAQ(Frequently Asked Questions)功能的客服机器人里加入闲聊功能,由于FAQ和闲聊类别的样本数量相差巨大,即用于训练会话机器人识别闲聊功能所对应的训练数据的规模远远大于用于训练会话机器人识别FAQ功能所对应的训练数据的规模,从而导致训练出来的意图识别模型容易产生过拟合,预测更倾向于判断用户输入为闲聊意图,因此会把本应归为FAQ的意图也当作闲聊意图来处理,用户体验严重下降。
发明内容
本申请实施例的目的在于提供一种获取目标意图识别模型的方法以及意图识别方法,本申请的实施例可以在小样本以及训练数据不平衡的情况下也能训练出泛化性能更好,更健壮的意图识别模型。
第一方面,本申请的一些实施例提供一种获取目标意图识别模型的方法,所述方法包括:获取原始训练文本集,其中,所述原始训练文本集包括与至少两种意图类型中各意图类型分别对应的训练数据,所述训练数据包括多条原始训练语句以及与各条原始训练语句分别对应的原始标注标签,所述原始标注标签用于表征对应原始训练语句的真实意图;根据所述原始训练文本集中的数据得到目标训练文本集,其中,所述目标训练文集中的各条目标训练语句是通过对一个原始标注标签进行遮盖处理后得到的;基于所述目标训练文本集中的数据对预训练掩码语言模型Bert进行微调,得到目标意图识别模型。
本申请的一些实施例通过将具有遮盖部分的目标训练语句对预训练掩码语言模型进行微调,使得微调后得到的目标意图识别模块具有推断被遮挡的原始标注标签的功能,从而可以在小样本以及训练数据不平衡的情况下也能训练出泛化性能更好,更健壮的意图识别模型。
在一些实施例中,所述根据所述原始训练文本集中的数据得到目标训练文本集,包括:从所述原始训练文本集中提取与各种意图类型分别对应的所有的原始训练语句,并根据所述所有的原始训练语句得到所述目标训练文本集中的数据。
在一些实施例中,所述目标训练文本集包括第i目标训练语句以及与所述第i目标训练语句对应的目标标注标签,其中,所述根据所述原始训练文本集中的数据得到目标训练文本集,包括:从所述原始训练文本集中获取与所述第i目标训练语句的意图类型相同的第i原始训练语句并获取与所述第i原始训练语句对应的第j原始标注标签;获取提示模板,其中,所述提示模板包括提示部分以及待填入内容的空白部分,所述提示部分与在所述空白部分填入的内容构成语义完整的句子,所述语义完整是指所述句子包括主语、谓语和宾语;根据所述提示模板和所述第i原始训练语句得到所述第i目标训练语句以及所述目标标注标签。
本申请的一些实施例利用提示模板和原始训练文本集中的内容得到各条目标训练语句以及目标标注标签,使得获取的目标训练文本集中的数据能够满足预训练掩码语言编码模型对输入数据的要求。
在一些实施例中,所述根据所述提示模板和所述第i原始训练语句得到所述第i目标训练语句,包括:将所述第j原始标注标签填充到所述空白部分,得到待混入文本;遮盖所述待混入文本包括的所述第j原始标注标签得到目标混入文本;根据所述目标混入文本与所述第i原始训练语句得到所述第i目标训练语句。
本申请的一些实施例提供了一种通过遮盖在提示模板上填入的原始标注标签得到任意一条目标训练语句的方法,可以理解的是本申请的实施例通过训练预训练掩码语言模型进一步具备识别被遮盖的原始标注标签的方式得到目标意图识别模型,在减少训练数据量需求的同时改善了目标意图识别模型的识别效果。
在一些实施例中,所述根据所述提示模板和所述第i原始训练语句得到所述第i目标训练语句,包括:遮盖所述空白部分得到目标混入文本;根据所述目标混入文本与所述第i原始训练语句得到所述第i目标训练语句。
在一些实施例中,所述根据所述目标混入文本与所述第i原始训练语句得到所述第i目标训练语句,包括:将所述目标混入文本作为所述第i原始训练语句的前缀或者后缀,得到所述第i目标训练语句。
本申请的一些实施例提供两种将目标混入文本(即由提示部分和被遮挡部分)与第i原始训练语句混合的方法,通过这两种方法可以基于目标混入文本得到对应的目标训练语句。
在一些实施例中,所述遮盖所述待混入文本包括的所述第j原始标注标签得到目标混入文本,包括:将遮盖文本放到所述待混入文本包括的所述第j原始标注标签所在的位置,得到所述目标混入文本。
本申请的一些实施例提供了一种将遮盖文本放在第j原始标注标签所在位置得到目标混入文本的方法。
在一些实施例中,所述第i目标训练语句包括所述提示部分、遮盖文本以及所述第i原始训练语句,其中,所述遮盖文本用于遮挡所述第j原始标注标签或者用于遮挡所述空白部分。
本申请的一些实施例提供的第i目标训练语句的结构包括上述三部分,通过这样的第i目标训练语句对意图识别模型进行训练可以充分利用预训练掩码语言模型固有的属性,减少所需的训练数据的数量且可以有效解决由于不同意图类型对应的原始训练数据不均衡带来的过拟合的问题。
在一些实施例中,所述根据所述提示模板和所述第i原始训练语句得到所述目标标注标签,包括:将所述第j原始标注标签填充到所述空白部分,得到待混入文本;将所述待混入文本作为所述第i原始训练语句的前缀或者后缀,得到所述目标标注标签。
本申请的一些实施例提供了两种将待混入文本与第i原始训练语句混合的方法。
在一些实施例中,所述目标标注标签包括:所述提示部分、所述第j原始标注标签以及所述第i原始训练语句。
本申请的一些实施例提供一种根据提示部分、第j原始标注标签和第i原始训练语句构建第i目标标注标签的方法。
在一些实施例中,若所述目标混入文本作为所述第i原始训练语句的前缀,则所述第i目标训练语句为:所述提示部分+遮盖文本+所述第i原始训练语句,所述目标标注标签为:所述提示部分+所述第j原始标注标签+所述第i原始训练语句。
本申请的一些实施例提供了一种将待混入文本以前缀的方式与第i原始训练语句混合得到目标训练语句和目标标注标签的具体结构。
在一些实施例中,所述至少两种意图类型包括第一意图和第二意图,与所述第一意图对应的训练数据为第一训练数据、与所述第二意图对应的训练数据为第二训练数据,所述第一训练数据包括第一原始训练语句,与所述第一原始训练语句对应的原始标注标签为第一词语,所述第二训练数据包括第二原始训练语句,与所述第二原始训练语句对应的原始标注标签为第二词语;其中,所述目标训练文本集包括的第一目标训练语句为:所述提示部分+所述遮盖文本+所述第一原始训练语句,且与所述第一目标训练语句对应的目标标注标签为:所述提示部分+所述第一词语+所述第一原始训练语句;所述目标训练文本集包括的第二目标训练语句为:所述提示部分+所述遮盖文本+所述第二原始训练语句,且与所述第二目标训练语句对应的目标标注标签为:所述提示部分+所述第二词语+所述第二原始训练语句。
在本申请的一些实施例中,若所述目标混入文本为所述第i原始训练语句的后缀,则所述第i目标训练语句为:所述第i原始训练语句+所述提示部分+遮盖文本,所述目标标注标签为:所述第i原始训练语句+所述提示部分+所述第j原始标注标签。
在本申请的一些实施例中,所述目标训练文本集包括:多条目标训练语句以及与各条目标训练语句对应的目标标注标签;其中,所述基于所述目标训练文本集中的数据对预训练掩码语言模型Bert进行微调,包括:装载分词器;根据所述分词器对所述目标注标签和所述目标训练语句切分到字符级别,得到字符序列,其中,一个目标训练语句和一个目标标注标签分别对应一个字符序列;根据所述字符序列对所述预训练掩码语言模型Bert的微调。
在本申请的一些实施例中,所述根据所述字符序列对所述预训练掩码语言模型Bert的微调,包括:根据字典获取与各字符序列对应的输入ID序列、Token类型序列和Token位置序列;根据所述输入ID序列、所述Token类型序列和所述Token位置序列对所述预训练掩码语言模型Bert的微调。
在本申请的一些实施例中,所述根据所述输入ID序列、Token类型序列和Token位置序列对所述预训练掩码语言模型Bert的微调,包括:将所述输入ID序列、所述Token类型序列和所述Token位置序列输入所述预训练掩码语言模型Bert,通过所述预训练掩码语言模型Bert获取推测结果,其中,所述推测结果为对遮盖部分内容的预测;根据所述推测结果获取损失函数值,根据所述损失函数值进行反向传导进而更新所述预训练掩码语言模型Bert的参数。
第二方面,本申请的一些实施例提供一种识别意图类型的方法,所述方法包括:获取待识别语句;将所述待识别语句输入采用如上述第一方面任一实施例所述的方法得到的目标意图识别模型,并通过所述目标意图识别模型获取与所述待识别语句对应的目标意图。
第三方面,本申请的一些实施例提供一种获取目标意图识别模型的装置,所述装置包括:原始训练文本集获取模块,被配置为获取原始训练文本集,其中,所述原始训练文本集包括与至少两种意图类型中各意图类型分别对应的训练数据,所述训练数据包括多条原始训练语句以及与各条原始训练语句分别对应的原始标注标签,所述原始标注标签用于表征对应原始训练语句的真实意图;目标训练文本集获取模块,被配置为根据所述原始训练文本集中的数据得到目标训练文本集,其中,所述目标训练文集中的各条目标训练语句是通过对一个原始标注标签进行遮盖处理后得到的;训练模块,被配置为基于所述目标训练文本集中的数据对预训练掩码语言模型Bert进行微调,得到目标意图识别模型。
第四方面,本申请的一些实施例提供一种识别意图类型的装置,所述装置包括:待识别语句获取模块,被配置为获取待识别语句;以及采用如第一方面任一实施例所述的方法训练得到的目标意图识别模型,且所述目标意图识别模型被配置为:接收输入的所述待识别语句,并获取与所述待识别语句对应的目标意图。
第五方面,本申请的一些实施例提供一种机器人,所述机器人包括:音频数据采集单元,被配置为获取待识别语句;意图识别单元,被配置为:根据所述待识别语句和采用如上述第一方面任一实施例训练得到的目标意图识别模型,得到与所述待识别语句对应的目标意图类型;至少一个交互模块,且所述至少一个交互模块中的目标交互模块被配置为根据所述待识别语句和所述目标意图类型获取与所述待识别语句对应的输出语句;输出单元,被配置为提供所述输出语句。
第六方面,本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面或第二方面任一实施例所述的方法。
第七方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面或第二方面任一实施例所述的方法。
第八方面,本申请的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面或第二方面任一实施例所述的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为相关技术提供的会话机器人会话过程以及组成示意图;
图2为相关技术提供的获取意图识别模型的过程示意图;
图3为本申请实施例提供的获取意图识别模型的方法流程图;
图4为本申请实施例提供的识别意图的方法的流程图;
图5为本申请实施例提供的获取意图识别模型的装置的组成框图;
图6为本申请实施例提供的识别意图的装置的组成框图;
图7为本申请实施例提供的机器人的组成示意图;
图8为本申请实施例提供的电子设备的组成示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合图1和图2示例性阐述相关技术存在的技术缺陷。
请参看图1,图1为相关技术提供的会话机器人与客户的会话过程示意以及该会话机器人内部组成示意。图1的会话机器人20的内部设置有意图识别模块100、闲聊模式处理模块200(作为交互模块的一种)以及问答模式处理模块300(作为交互模块的一种),其中,意图识别模块100基于意图识别模型对接收的语句进行意图识别,其中,该意图识别模型是需要经过原始训练文本集中训练数据的训练才具备对接收的语句进行意图识别的能力,闲聊模式处理模块200被配置为根据输入数据(即采集的待识别语句)得到与闲聊模式对应的输出语句,问答模式处理模块300被配置为根据输入数据(即采集的待识别语句)得到与问答模式对应的输出语句,可以理解的是,在一次具体的会话过程中闲聊模式处理模块和问答模式处理仅有一个处于工作状态。需要说明的是,所述原始训练文本集包括与至少两种意图类型中各意图类型分别对应的训练数据,所述训练数据包括多条原始训练语句以及与各条原始训练语句分别对应的原始标注标签,所述原始标注标签用于表征对应原始训练语句的真实意图。
下面结合一个具体的会话过程示例性阐述会话机器人的会话过程。
图1的会话机器人20通过其自身的音频采集装置获取了来自于用户10的输入语句11,之后会话机器人20利用其内部设置的意图识别模块100对该输入语句11进行意图识别并得到与该输入语句11对应的目标意图为闲聊,则会话机器人会将输入语句11输入闲聊模式处理模块200,该闲聊模式处理模块200根据输入语句11得到对应的输出语句21,然后会话机器人通过输出单元(例如,音频信号输出装置)向用户10提供该输出语句21。至此,一次会话过程结束。也就是说,当图1的意图识别模块100判断用户地意图为FAQ时(即问答模式时),则会话机器人会把请求转发给问答模式处理模块300,若当意图识别模块判断用户地意图为闲聊时,则会把请求转发给闲聊模型处理模块200。可以理解的是,如果用户输入一个FAQ问题,但意图识别模块将其判别为闲聊问题,那么会被闲聊模型输出一些和FAQ业务无关的回答,导致用户体验变差。因此,不难理解的是意图识别模块的意图识别能力决定了会话机器人的会话效果。
正如背景技术部分所描述的,现有的意图识别模块借助意图识别模型进行意图识别,且意图识别模型需要基于原始训练文本集中的数据进行训练才能具备意图识别的能力,而针对多功能(即多意图类型)的会话机器人会存在针对不同类型的意图所采集的训练数据不平衡的问题。若针对不同意图类型的训练数据不平衡,会而导致训练出来的目标意图识别模型产生过拟合缺陷,从而使得利用该意图识别模块得到的意图预测结果更倾向于训练数据量更多的意图类型,导致意图识别发生错误。另外相关技术披露的训练方式并未充分利用被训练模型(该模型包括预训练掩码语言模型和全连接层)固有的属性,因此导致所需的训练数据量大且训练效果不理想的技术缺陷。
图2是相关技术公开的获取意图识别模型过程,该过程包括:
S101,获取原始训练语句。
需要说明的是,相关技术的原始训练语句是不包括遮盖部分(即原始训练语句为具有完整语义的语句而不包括被遮挡的部分)的,例如,该原始训练语句为:公司wifi密码是什么。
S101获取原始训练语句即从原始训练文本集中读取一条或者多条原始训练语句,其中,原始训练文本集包括与各种待识别的意图类型对应的训练数据,且与每种意图类型对应的训练数据均包括多条训练语句和各训练语句对应的原始标注标签,该原始标注标签用于表征对应训练语句的真实意图。可以理解的是,这些原始训练语句是通过采集得到的。
S102,根据原始训练语句对预训练语言模型进行微调并对与该预训练语言模型连接的全连接层进行训练,即根据原始训练语句对上述被训练模型进行训练。
重复上述S101和S102直至训练结束得到意图识别模型。
不难理解的是,上述用于训练意图识别模型的训练语句为完整语句(不包括遮盖部分),且相关技术的被训练模型包括预训练掩码语言模型和全连接层。可以理解的是,预训练掩码语言模型具备根据遮盖部分的上下文预测被遮挡部分的功能,而相关技术的在对被训练模型进行训练时并未利用该特征,而是将完整不包括遮盖部分语句作为原始训练语句,导致训练时间长且所需的训练数据量大等诸多技术缺陷。另外,如果针对不同意图类型的训练数据不均衡时,采用图2训练方式得到的意图识别模型还会存在过拟合缺陷,导致意图识别能力严重下降。
至少为了解决上述问题,本申请的实施例提供了一种基于原始训练文本集中的数据构造目标训练文本集(该文本集中的各条目标训练语句是包括遮盖了意图类型的语句),并根据目标训练文本集对预训练掩码语言模型进行再训练(即微调)即可得到目标意图识别模型的方法,通过本申请构造的目标训练文本集中训练得到的意图识别模块不存在过拟合风险有效提升了意图识别的准确性进而提升用户体验,且本申请所需的训练数据量更少训练时间也更短。
下面结合图3示例性阐述本申请一些实施例提供的一种获取目标意图识别模型的方法,本申请的实施例根据新构建的目标训练文本集对预训练掩码语言模型直接微调即可得到目标意图识别模型的方法。
如图3所示,本申请的一些实施例提供一种获取目标意图识别模型的方法,所述方法包括:
S201,获取原始训练文本集。
需要说明的是,S201涉及的原始训练文本集包括与至少两种意图类型中各意图类型分别对应的训练数据,所述训练数据包括多条原始训练语句(通过采集得到)以及与各条原始训练语句分别对应的原始标注标签(通过标注方式得到),所述原始标注标签用于表征对应原始训练语句的真实意图。
例如,会话机器人是应用在保险公司的机器人,且所有意图类型包括闲聊意图类型和询问业务意图类型,则与闲聊意图类型对应的原始训练语句的原始标注标签为闲聊,与询问业务意图类型对应的原始训练语句的原始标注标签为提问,与闲聊意图类型对应的任意一个原始训练语句为:今天我不开心,与询问业务意图类型对应的任意一个原始训练语句为:保险有几类?。
例如,会话机器人是应用在在智能客服领域的机器人,且意图类型包括询问业务意图类型和转人工处理意图类型,则与询问业务类型对应的原始训练语句的原始标注标签为提问,与转人工处理意图类型对应的原始训练语句的原始标注标签为转人工,与询问业务意图类型对应的任意一个原始训练语句为:今天公司营业吗,与转人工处理意图类型对应的任意一个原始训练语句为:请帮忙转人工服务。
需要说明的是,上述示例仅以两种意图类型为例阐述了原始训练语句的类型,可以理解的是本申请的实施例并不限定会话机器人或者智能客服等装置可识别的意图类型的具体数目。上述示例的原始训练语句仅示出了一句,但是本领域技术人员为了得到更好的意图识别模型需要采集大量的原始训练语句,并对每个训练语句进行真实意图类型标注得到对应的原始标注标签。本申请实施例并不限定与每种意图类型对应采集的原始训练语句的数量。
S202,根据所述原始训练文本集中的数据得到目标训练文本集,其中,所述目标训练文集中的各条目标训练语句是通过对一个原始标注标签进行遮盖处理后得到的。
需要说明的是,在本申请的一些实施例中,从原始训练文本集中提取与各种意图类型分别对应的所有的原始训练语句,并根据这些训练语句得到目标训练文本集中的数据。在本申请的一些实施例中,从原始训练文本集中提取与各种意图类型分别对应的原始训练语句,并根据这些训练语句得到目标训练文本集中的数据。例如,会话机器人需要识别第一意图、第二意图以及第三意图共三种意图,而与这三种意图分别对应采集的原始训练语句的数目分别为:100条、10000条以及2000条,在本申请的一些实施例中,目标训练文本集中与三种意图类型分别对应的目标训练语句的数目为:100条(即根据与第一意图对应的所有100条原始训练语句得到该100条目标训练语句)、100条(即从与第二意图包括的所有10000条原始训练语句中筛选100条原始训练语句,再根据筛选得到的100条原始训练语句得到该100条目标训练语句)以及100条(即从与第三意图包括的所有2000条原始训练语句中筛选100条原始训练语句,再根据筛选得到的100条原始训练语句得到该100条目标训练语句)。
不难理解的是,本申请的实施例所构建的目标训练文本集中的目标训练语句由于充分考虑了预训练掩码语言模型Bert的属性(即通过被遮盖部分的上下文预测被遮盖部分的内容,本申请中被遮挡部分为与意图类型对应的原始标识标签),因此只需要少量的训练样本即可完成模型训练,有效解决了两种或多种意图类型对应的训练数据不均衡导致训练得到的意图识别模块存在的过拟合问题。
下面以获取任意一条目标训练语句(即第i目标训练语句)和与该目标训练语句对应的目标标注标签为例,示例性阐述S202的实现过程。
至少为了快速获取各条目标训练语句,在本申请到的一些实施例中,S202涉及的目标训练文本集包括第i目标训练语句以及与所述第i目标训练语句对应的目标标注标签,则S202示例性包括:
第一步,从所述S201得到的原始训练文本集中获取第i原始训练语句并获取与所述第i原始训练语句对应的第j原始标注标签。
例如,第i原始训练语句为:“今天有雨吗?”,且与该第i原始训练语句对应的第j原始标注标签为:聊天,则执行第一步即从原始训练文本集中读出第i原始训练语句并读出与第i原始训练语句对应的原始标注标签。
第二步,获取提示模板。
需要说明的是,提示模板包括提示部分以及待填入内容的空白部分。可以理解的是,提示部分包括一个或多个提示文字。在本申请的一些实施例中,提示模板的设计原则是使原始标注标签填充到提示模板的空白部分后,该原始标注标签与提示部分的内容尽量语义完备,句子通顺。例如,如果原始标注标签是名词,那么提示模板可以是“主语+谓语+空白部分(宾语),该空白部分用于填入名词性的原始标注标签作为句子的宾语,使填充内容后的语句具备完整的语法结构,其中,主语和谓语组成了提示部分的内容。可以理解的是,本领域技术人员可以根据具体需求设计提示模板。例如,在本申请的一些实施例中,提示模板为:我要+空白部分(待后续填入原始标注标签)”,在本申请的另一些实施例中,提示模板为:我能不能跟你+空白部分(待后续填入原始标注标签)。
第三步,将所述第j原始标注标签填充到所述空白部分,得到待混入文本。
也就是说,将与第i原始训练语句对应的第j原始标识标签填入第二步读取的提示模板包括的空白部分,得到待混入文本。
例如,提示模板为“我想+空白部分”,第i原始训练语句为“今天开心吗”,与第i原始训练语句对应的第j原始标注标签为“聊天”,则执行第三步即将聊天二字填入提示模板的空白部分,得到的待混入文本为“我想聊天”。
需要说明的是,上述“+”并不是提示模板实际包括的符号,该符号用于表示将提示模板包括的不同部分进行拼接操作。
第四步,根据所述待混入文本和所述第i原始训练语句得到所述第i目标训练语句以及所述目标标注标签。
下面示例性阐述上述第四步获取第i目标训练语句的实现过程。
在本申请的一些实施例中,上述第四步涉及的根据所述待混入文本和所述第i原始训练语句得到所述第i目标训练语句的过程示例性包括:遮盖所述待混入文本包括的所述第j原始标注标签得到目标混入文本(例如,将遮盖文本放到所述待混入文本包括的所述第j原始标注标签所在的位置,得到所述目标混入文本);根据所述目标混入文本与所述第i原始训练语句得到原始第i目标训练语句(例如,将所述目标混入文本作为所述第i原始训练语句的前缀或者后缀,得到所述第i目标训练语句)。也就是说,本申请的一些实施例提供了一种通过遮盖在提示模板上填入的原始标注标签得到任意一条目标训练语句的方法,这种方法构造的训练数据可以更好的利用预训练掩码语言模型的固有属性进而与节约训练时间提升训练效果。
也就是说,本申请的一些实施例提供两种(前缀或者后缀)将目标混入文本(即由提示部分和被遮挡部分)与第i原始训练语句混合的方法,通过这两种方法可以基于目标混入文本得到对应的目标训练语句。本申请的一些实施例提供了一种将遮盖文本放在第j原始标注标签所在位置得到目标混入文本的方法。
不难理解的是,在本申请的一些实施例中,所述第i目标训练语句包括:提示模板包括的提示部分、用于遮挡意图类型的遮盖文本以及与该意图类型对应的第i原始训练语句。本申请的一些实施例提供的第i目标训练语句的结构包括上述三部分,通过这样的第i目标训练语句对意图识别模型进行训练可以充分利用预训练掩码语言模型固有的属性,减少所需的训练数据的数量有效解决由于不同意图类型对应的原始训练数据不均衡带来的过拟合的问题。
下面示例性阐述上述第四步获取与第i目标训练语句对应的目标标注标签的实现过程。
在本申请的一些实施例中,上述第四步涉及的根据所述待混入文本和所述第i原始训练语句得到所述目标标注标签的过程示例性包括:将所述待混入文本作为所述第i原始训练语句的前缀或者后缀,得到所述目标标注标签。可以理解的是,如果是以前缀方式混入的,在本申请的一些实施例中,所述目标标注标签依次包括如下三部分内容:所述提示部分、所述第j原始标注标签以及所述第i原始训练语句。可以理解的是,如果是以后缀方式混入的,在本申请的一些实施例中,所述目标标注标签依次包括如下三部分内容:所述第i原始训练语句、所述提示部分以及所述第j原始标注标签。
可以理解的是,在本申请的一些实施例中,若在所述第i目标训练语句以及所述目标标注标签中所述待混入文本为所述第i原始训练语句的前缀,且所述提示部分为A,则所述第i目标训练语句为:A+遮盖文本+所述第i原始训练语句,所述目标标注标签为:A+所述第j原始标注标签+所述第i原始训练语句。需要说明的是,上述“+”并不是提示模板实际包括的符号,该符号用于表示将提示模板包括的不同部分进行拼接操作。
下面结合两种意图类型阐述任一一条目标训练语句和与任一一条目标训练语句对应的目标标注标签的结构。在本申请的一些实施例中,所述至少一种意图类型包括第一意图或者第二意图,且与所述第一意图对应的原始标注标签为第一词语,与所述第二意图对应的原始标注标签为第二词语,与所述第一意图对应的训练数据包括第k原始训练语句,与所述第二意图对应的训练语句包括第m原始训练语句;其中,所述目标训练文本集包括的第k目标训练语句为:A+遮盖文本+所述第k原始训练语句,且与所述第k目标训练语句对应的目标标注标签为:A+第一词语+所述第k原始训练语句;所述目标训练文本集包括的第m目标训练语句为:A+遮盖文本+所述第m原始训练语句,且与所述第m目标训练语句对应的目标标注标签为:A+第二词语+所述第m原始训练语句。
下面结合一个具体提示模板示例性阐述获取第i目标训练语句以及目标标注标签的过程。
假设提示模板为:我想(作为提示部分的一个具体示例)+空白部分(待填入原始标注标签)
在本申请的一些实施例中,执行S202即将原始训练语句的原始标注标签填充到提示模板,然后将填充内容后的文本混入到原始训练语句中,混入的方式可以是作为原始训练语句的前缀,也可以是作为原始训练语句的后缀。若确定的混入方式为前缀方式混入,那么对应的原始训练语句都会加上用原始标注标签填充后的提示模板作为前缀,形成目标训练语句和对应的目标标注标签。
例如:一条原始训练语句为:“公司wifi密码是什么?”,与该条原始训练语句对应的原始标注标签为:“提问”,提示模板为:“我想+空白部分”,混入方式:前缀,则得到的目标标注标签为:“我想提问,公司wifi密码是什么?”。将遮盖文本“[MASK]”放到提示模板,遮盖掉原始标注标签,则对应的目标训练语句为:“我想[MASK],公司wifi密码是什么?”。可以理解的是,遮盖文本为“[MASK]”。
S203,基于所述目标训练文本集中的数据对预训练掩码语言模型Bert进行训练,得到目标意图识别模型。与现有技术不同的是,本申请的实施例并不需要在预训练掩码语言模型后边再加一层全连接层作为被训练模型,而是通过直接对预训练掩码语言模型进行训练即可得到目标意图识别模型,这样既节省了训练时间、简化了网络模型的结构且充分利用了预训练掩码语言模型的属性,减少了资源需求。
下面示例性阐述利用本申请的目标训练文本集对预训练掩码语言模型进行训练得到目标意图识别模型的过程。
步骤A:装载预训练掩码语言模型Bert的分词器,对S202生成的目标标注标签和目标训练语句切分到字符级别,对于中文来说,就是把文本切分为单个汉字或者标点符号,从而把分词后的目标训练语句和对应目标标注标签转化为字符序列。然后在字符序列的开始位置添加特殊字符[CLS],结束位置添加特殊字符[SEP]。
步骤B:然后根据Bert的字典以及分词器根据步骤A生成的字符序列生成输入id(字符在字典中的序列号)序列、Token类型序列和Token位置序列。
例如,与第i目标训练语句对应的目标标注标签为:“我想提问,公司wifi密码是什么?”,生成的输入id、token和Token位置序列如下:
输入id序列:[101,2769,2682,2990,7309,8024,1062,1385,8306,2166,4772,3221,784,720,8043,102]
Token类型序列:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Token位置序列:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
第i目标训练语句为:“我想[MASK],公司wifi密码是什么?”,生成的输入id、token和Token位置序列如下:
输入id序列:[101,2769,2682,103,8024,1062,1385,8306,2166,4772,3221,784,720,8043,102]
Token类型序列:[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Token位置序列:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
步骤C:按批次(每批多个,例如,每批16个)将步骤B中生成的输入id序列、Token类型序列和Token位置序列送入预训练掩码语言模型Bert进行训练,训练策略为epoch(epoch=5)即使用相同的训练集训练5轮;学习率为2e-5。模型每次正向传导时,推测目标训练语句中“[MASK]”的字符,再将推测的结果和目标标注标签进行对比并根据损失函数(交叉熵函数)计算损失,然后进行反向传导,更新神经网络(即预训练掩码语言模型Bert)的参数。
例如:第i目标训练语句为:“我想[MASK],公司wifi密码是什么?”送入Bert进行正向传导。
Bert输出“[MASK]”对应的字符,比如:“聊天”。那么模型推断的文本为:
“我想聊天,公司wifi密码是什么?”
然后和与第i目标训练语句对应的目标标注标签:“我想提问,公司wifi密码是什么?”进行对比并计算损失函数(交叉熵),然后进行反向传导,训练5轮后生成分类模型,即得到本申请一些实施例的目标意图识别模型。
可以理解的是,本申请的一些实施例通过将具有遮盖部分的目标训练语句对预训练掩码语言模型进行训练,使得训练得到的目标意图识别模块具有推断被遮挡的原始标注标签的功能,由于预训练掩码语言模型就是通过大量语料自监督地通过完形填空任务训练得到的,因此该预训练掩码语言模型已经包含了丰富的关于完形填空的语义知识,本申请实施例正是利用了这个属性重新构造了遮盖了意识类型的目标训练语句对预训练掩码语言模型进行训练,所示对之后微调(即对预训练掩码语言模型进行再训练)需要的训练数据量(即目标训练文本集)较小,从而可以在小样本以及数据不平衡的情况下也能训练出泛化性能更好,更健壮的意图识别模型。
由上可以看出,本申请一些实施例的模型推断遮盖字符:“[MASK]”的中文字符,其实对应的就是各原始训练语句的原始标注标签(即对应一个具体意识类型)。模型推断遮盖字符这一过程可以看作一个完型填空(填写被遮盖的字符)的过程,又由于推断的字符是原始训练语句的原始标注标签,那么本申请的一些实施例相当于会话机器人意图识别任务(文本分类任务)转化为完型填充任务。正如图2所示出的,传统使用预训练语言模型Bert得到目标意图识别模型的方法是:Bert加上全连接层进行fine-tune(微调),即基于原始训练本文集中的数据对预训练语言模型Bert进行微调并对与该预训练语言模型连接的全连接层进行训练得到意图识别模型。不难理解的是,在这种方式下,在微调预训练语言模型做正向传导时,模型是根据一个训练样本的整个文本(一整句句子)语义信息(一整句句子对应一个句向量该句向量起始位置用字符序列最前面的特殊符号[CLS]表征)来推断分类标签,进而和标注标签进行对比,并进行反向传导,调整模型参数。由于句向量包含的语义信息非常有限,所以采用传统文本分类方法时,需要大量的训练样本,同时也需要注意训练样本的数据平衡性,才能使微调后的模型达到良好的效果。而完形填空本来就是预训练掩码语言模型Bert的预训练任务,简而言之,Bert就是通过大量语料自监督地通过完形填空任务训练出来的,生成的预训练语言模型已经包含了丰富的关于完形填空的语义知识,对之后微调需要的训练数据量较小本申请的实施例正是利用这个属性生成了新的训练文本集(即目标训练文本集),从而可以在小样本以及数据不平衡的情况下也能训练出泛化性能更好,更健壮的模型。
下面结合三个具体应用场景示例阐述本申请的实施例获取目标意图识别模型的过程。
实施例1
在智能客服领域,客户要求客服系统同时具备回答FAQ问题和闲聊功能。因此系统需要能够识别用户的输入是FAQ意图(询问业务意图)还是闲聊意图。当系统判断用户地意图为FAQ时,系统会把请求转发给FAQ模型;当系统判断用户地意图为闲聊时,系统会把请求转发给闲聊模型。
首先设计提示模板。假设目前语料中有两类原始标注标签(即两种意图类型),分别为:“聊天”和“提问”,那么提示模板可以设计为:“我想+[原始标注标签]”。以一个训练样本为例:
第i原始训练语句为:“你想和我聊天吗?”
与第i原始训练语句对应的第j原始标注标签为:“聊天”
那么,混入提示模板后的第i目标训练语句为:“我想[MASK]你想和我聊天吗?”,与第i目标训练语句对应的目标标注标签为:“我想聊天你想和我聊天吗?”
通过上述的方法把所有的原始训练文本集都转化成以上形式,再利用预训练掩码语言模型Bert的分词器进行分词生成字符序列:
第i目标训练语句的分词字符序列为:["我","想","[MASK]","你","想","和","我","聊","天","吗","?"]。
与第i目标训练语句对应的目标标注标签的分词字符序列为:["我","想","聊","天","你","想","和","我","聊","天","吗","?"]。
根据以上生成的字符序列,使用Bert的字典以及分词器生成id序列、Token类型序列和Token位置序列:
第i目标训练语句对应的输入id序列:[101,2769,2682,103,872,2682,1469,2769,5464,1921,1408,8043,102]
第i目标训练语句对应的Token类型序列:[0,0,0,0,0,0,0,0,0,0,0,0,0]
第i目标训练语句对应的Token位置序列:[1,1,1,1,1,1,1,1,1,1,1,1,1]
与第i目标训练语句对应的目标标注标签的输入id序列:[101,2769,2682,5464,1921,872,2682,1469,2769,5464,1921,1408,8043,102]
与第i目标训练语句对应的目标标注标签的Token类型序列:[0,0,0,0,0,0,0,0,0,0,0,0,0,0]
与第i目标训练语句对应的目标标注标签的Token位置序列:[1,1,1,1,1,1,1,1,1,1,1,1,1,1]
把第i目标训练语句和与第i目标训练语句对应的目标标注标签的输入id序列、Token类型序列和Token位置序列作为训练集输入预训练掩码语言模型Bert进行训练。模型正向传导时,推断训练文本:“我想[MASK]你想和我聊天吗?”中“[MASK]”表示的中文字符,如果推断“[MASK]”为“提问”,那么推断文本为:“我想提问你想和我聊天吗?”和标注标签:“我想聊天你想和我聊天吗?”不一致,计算损失后进行反向传导微调预训练掩码语言模型Bert的网络参数。这样就相当于把原本的文本分类任务转化成了完型填充任务,利用预训练掩码语言模型丰富的先验语义知识,有效地弥补了数据不平衡的问题,从而获得更好的分类效果,提高用户体验。
实施例2
在智能客服领域,客户要求客服系统同时具备回答FAQ问题和转人工功能。因此需要系统能够识别用户的输入是FAQ意图(询问业务意图)还是转人工的意图。如果系统经常把原本是FAQ意图的用户输入当作转人工意图转发到人工客服,无疑会大大增加人工客服的工作量以及运营成本。为了改善这样的问题,可以通过类似实施例1里面的方法,利用基于提示模板微调掩码语言模型的方法,生成更好的意图分类模型,从而减小人工客服的工作量以及运营成本。
实施例3
在RPA领域,一个例子是客户要求RPA(Robotic Process Automation)人机交互机器人能够同时具备回答RPA FAQ问题和触发执行RPA相关操作(比如:执行某个RPA流程)。由于RPA FAQ语料数量远大于执行RPA相关操作的语料,所以也存在数据不平衡的问题,导致当用户需要进行RPA相关操作的时候会被系统误认为是RPA FAQ提问,进而导致RPA相关操作无法被触发。如何改善这样的问题呢?具体也可以通过类似实施例1里面的方法,利用基于提示模板微调掩码语言模型的方法,有效改善这样的问题,极大地提高用户体验。
可以理解的是,本申请的一些实施例利用提示模板构造的目标训练文本集中的数据微调预训练掩码语言模型(即对预训练掩码语言模型进行再训练)的方法,可以把意图分类任务转化为完型填充任务,利用预训练掩码语言模型丰富的先验语义知识(即预训练掩码语言模型已经具备根据被遮挡部分的上下文预测遮挡部分对应的实际内容的属性)很好地解决了针对不同意图类型的训练数据不平衡的问题。
如图4所示,本申请的一些实施例提供一种识别意图类型的方法,该方法包括:S310,获取待识别语句;以及S302,将所述待识别语句输入采用如上述获取目标意图识别模型的方法得到的目标意图识别模型,并通过所述目标意图识别模型获取与所述待识别语句对应的目标意图。也就是说,输入微调后的Bert预训练掩码语言模型(即通过目标训练文本即对预训练掩码语言模型进行训练得到的目标意图识别模型)的是待识别的文本,且该模型输出的是文本的意图。
可以理解的是,由于采用目标训练文本集中的数据对Bert模型进行了训练,因此有效消除了由于不同意图类型对应的训练数据不均衡导致的过拟合问题,所以采用这种目标意图识别模型得到的目标意图更加准确,有效提升用户体验。
请参考图5,图5示出了本申请实施例提供的获取目标意图模型的装置,应理解,该装置与上述图3方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该获取目标意图模块的装置,包括:原始训练文本集获取模块101、目标训练文本集获取模块102以及训练模块103。
原始训练文本集获取模块101,被配置为获取原始训练文本集,其中,所述原始训练文本集包括与至少一种意图类型中各意图类型分别对应的训练数据,所述训练数据包括多条原始训练语句以及与各条原始训练语句分别对应的原始标注标签,所述原始标注标签用于表征对应原始训练语句的真实意图。
目标训练文本集获取模块102,被配置为根据所述原始训练文本集中的数据得到目标训练文本集,其中,所述目标训练文集中的各条目标训练语句是通过对一个原始标注标签进行遮盖处理后得到的。
训练模块103,被配置为基于所述目标训练文本集中的数据对预训练掩码语言模型Bert进行训练,得到目标意图识别模型。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
请参考图6,图6示出了本申请实施例提供的识别意图类型的装置,应理解,该装置与上述图4方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置包括至少一个能以软件或固件的形式存储于存储器中或固化在装置的操作系统中的软件功能模块,该获取目标意图模块的装置,包括:本申请的一些实施例提供一种识别意图类型的装置,该装置包括:待识别语句获取模块201以及目标意图识别模型202。
待识别语句获取模块201,被配置为获取待识别语句。
目标意图识别模型202被配置为:接收输入的所述待识别语句,并获取与所述待识别语句对应的目标意图。需要说明的是,该目标意图识别模型202是通过上述获取目标意图识别模型方法得到的。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
如图7所示,本申请的一些实施例提供一种机器人,该机器人包括:音频数据采集单元401、更新意图识别单元402(与图1的意图识别单元不同,该单元是基于经过本申请的上述训练方式得到的目标意图识别模型进行工作的)、至少一个交互模块403以及输出单元404。
音频数据采集单元401,被配置为获取待识别语句;更新意图识别单元402,被配置为:根据所述待识别语句和采用本申请上述实施例的方法得到的目标意图识别模型,得到与所述待识别语句对应的目标意图类型;与各意图类型对应设置的交互模块403,且所述交互模块被配置为根据所述待识别语句和所述目标意图类型获取与所述待识别语句对应的输出语句;输出单元404,被配置为提供所述输出语句。
需要说明的是,图7的至少一个交互模块403(例如,图1包括两类交互模型,分别是闲聊模式处理模块200以及问答模式处理模块300)中的目标交互模块(即与本次会话确认的目标意图对应的交互模块,例如,图1的闲聊模型处理模块)被配置为根据所述待识别语句和所述目标意图类型获取与所述待识别语句对应的输出语句。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的机器人的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述图3或图4对应实施例所述的方法。
本申请的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如上述图3或图4对应实施例所述的方法。
如图8所示,本申请的一些实施例提供一种电子设备500,该电子设备500包括存储器510、处理器520、总线530以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器520通过总线530从所述存储器510读取程序并执行所述程序时可实现如图3或者图4实施例所述的方法。
处理器可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器可以是微处理器。
存储器可以用于存储由处理器执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器可以用于执行存储器中的指令以实现图3或图4中所示的方法。存储器包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (15)
1.一种获取目标意图识别模型的方法,其特征在于,所述方法包括:
获取原始训练文本集,其中,所述原始训练文本集包括与至少两种意图类型中各意图类型分别对应的训练数据,所述训练数据包括多条原始训练语句以及与各条原始训练语句分别对应的原始标注标签,所述原始标注标签用于表征对应原始训练语句的真实意图;
根据所述原始训练文本集中的数据得到目标训练文本集,其中,所述目标训练文本集中的各条目标训练语句是通过对一个原始标注标签进行遮盖处理后得到的;
基于所述目标训练文本集中的数据对预训练掩码语言模型Bert进行微调,得到目标意图识别模型;
其中,
所述目标训练文本集包括第i目标训练语句以及与所述第i目标训练语句对应的目标标注标签;
所述第i目标训练语句包括:提示部分、遮盖文本以及第i原始训练语句,其中,所述遮盖文本用于遮挡第j原始标注标签,第j原始标注标签是与第i原始训练语句对应的;
所述目标标注标签包括:所述提示部分、所述第j原始标注标签以及所述第i原始训练语句。
2.如权利要求1所述的方法,其特征在于,所述根据所述原始训练文本集中的数据得到目标训练文本集,包括:
从所述原始训练文本集中提取与各种意图类型分别对应的所有的原始训练语句,并根据所述所有的原始训练语句得到所述目标训练文本集中的数据。
3.如权利要求1-2任一项所述的方法,其特征在于,
所述根据所述原始训练文本集中的数据得到目标训练文本集,包括:
从所述原始训练文本集中获取与所述第i目标训练语句的意图类型相同的第i原始训练语句,并获取与所述第i原始训练语句对应的第j原始标注标签;
获取提示模板,其中,所述提示模板包括提示部分以及待填入内容的空白部分,所述提示部分与在所述空白部分填入的内容构成语义完整的句子,所述语义完整是指所述句子包括主语、谓语和宾语;
根据所述提示模板和所述第i原始训练语句得到所述第i目标训练语句以及所述目标标注标签,其中,所述第i目标训练语句是将目标混入文本作为所述第i原始训练语句的前缀和后缀得到的,所述目标混入文本是通过遮盖待混入文本包括的所述第j原始标注标签得到的,所述待混入文本是通过将所述第j原始标注标签填充到所述空白部分得到的。
4.如权利要求3所述的方法,其特征在于,所述根据所述提示模板和所述第i原始训练语句得到所述第i目标训练语句,包括:
将所述第j原始标注标签填充到所述空白部分,得到所述待混入文本;
遮盖所述待混入文本包括的所述第j原始标注标签得到所述目标混入文本;
根据所述目标混入文本与所述第i原始训练语句得到所述第i目标训练语句。
5.如权利要求4所述的方法,其特征在于,所述根据所述目标混入文本与所述第i原始训练语句得到所述第i目标训练语句,包括:
将所述目标混入文本作为所述第i原始训练语句的前缀或者后缀,得到所述第i目标训练语句。
6.如权利要求3所述的方法,其特征在于,根据所述提示模板和所述第i原始训练语句得到所述目标标注标签,包括:
将所述第j原始标注标签填充到所述空白部分,得到所述待混入文本;
将所述待混入文本作为所述第i原始训练语句的前缀或者后缀,得到所述目标标注标签。
7.如权利要求5所述的方法,其特征在于,若所述目标混入文本作为所述第i原始训练语句的前缀,则所述第i目标训练语句为:所述提示部分+遮盖文本+所述第i原始训练语句,所述目标标注标签为:所述提示部分+所述第j原始标注标签+所述第i原始训练语句。
8.如权利要求7所述的方法,其特征在于,所述至少两种意图类型包括第一意图和第二意图,与所述第一意图对应的训练数据为第一训练数据、与所述第二意图对应的训练数据为第二训练数据,所述第一训练数据包括第一原始训练语句,与所述第一原始训练语句对应的原始标注标签为第一词语,所述第二训练数据包括第二原始训练语句,与所述第二原始训练语句对应的原始标注标签为第二词语;其中,
所述目标训练文本集包括的第一目标训练语句为:所述提示部分+所述遮盖文本+所述第一原始训练语句,且与所述第一目标训练语句对应的目标标注标签为:所述提示部分+所述第一词语+所述第一原始训练语句;
所述目标训练文本集包括的第二目标训练语句为:所述提示部分+所述遮盖文本+所述第二原始训练语句,且与所述第二目标训练语句对应的目标标注标签为:所述提示部分+所述第二词语+所述第二原始训练语句。
9.如权利要求5所述的方法,其特征在于,若所述目标混入文本为所述第i原始训练语句的后缀,则所述第i目标训练语句为:所述第i原始训练语句+所述提示部分+遮盖文本,所述目标标注标签为:所述第i原始训练语句+所述提示部分+所述第j原始标注标签。
10.如权利要求1所述的方法,其特征在于,所述目标训练文本集包括:多条目标训练语句以及与各条目标训练语句对应的目标标注标签;其中,
所述基于所述目标训练文本集中的数据对预训练掩码语言模型Bert进行微调,包括:
装载分词器;
根据所述分词器对所述目标注标签和所述目标训练语句切分到字符级别,得到字符序列,其中,一个目标训练语句和一个目标标注标签分别对应一个字符序列;
根据所述字符序列对所述预训练掩码语言模型Bert的微调。
11.如权利要求10所述的方法,其特征在于,所述根据所述字符序列对所述预训练掩码语言模型Bert的微调,包括:
根据字典获取与各字符序列对应的输入ID序列、Token类型序列和Token位置序列;
根据所述输入ID序列、所述Token类型序列和所述Token位置序列对所述预训练掩码语言模型Bert的微调。
12.如权利要求11所述的方法,其特征在于,所述根据所述输入ID序列、Token类型序列和Token位置序列对所述预训练掩码语言模型Bert的微调,包括:
将所述输入ID序列、所述Token类型序列和所述Token位置序列输入所述预训练掩码语言模型Bert,通过所述预训练掩码语言模型Bert获取推测结果,其中,所述推测结果为对遮盖部分内容的预测;
根据所述推测结果获取损失函数值,根据所述损失函数值进行反向传导进而更新所述预训练掩码语言模型Bert的参数。
13.一种识别意图类型的方法,其特征在于,所述方法包括:
获取待识别语句;
将所述待识别语句输入采用如权利要求1-12任一项方法得到的目标意图识别模型,并通过所述目标意图识别模型获取与所述待识别语句对应的目标意图。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时可实现权利要求1-13中任意一项权利要求所述的方法。
15.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现权利要求1-13中任意一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210571180.3A CN114757176B (zh) | 2022-05-24 | 2022-05-24 | 一种获取目标意图识别模型的方法以及意图识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210571180.3A CN114757176B (zh) | 2022-05-24 | 2022-05-24 | 一种获取目标意图识别模型的方法以及意图识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114757176A CN114757176A (zh) | 2022-07-15 |
CN114757176B true CN114757176B (zh) | 2023-05-02 |
Family
ID=82335821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210571180.3A Active CN114757176B (zh) | 2022-05-24 | 2022-05-24 | 一种获取目标意图识别模型的方法以及意图识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114757176B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117708266A (zh) * | 2022-08-25 | 2024-03-15 | 马上消费金融股份有限公司 | 意图识别方法、装置、电子设备及存储介质 |
CN116756277B (zh) * | 2023-04-20 | 2023-11-24 | 海尔优家智能科技(北京)有限公司 | 基于目标生成式预训练gpt模型的交互语句的处理方法 |
CN116467500B (zh) * | 2023-06-15 | 2023-11-03 | 阿里巴巴(中国)有限公司 | 数据关系识别、自动问答、查询语句生成方法 |
CN116911315B (zh) * | 2023-09-13 | 2024-01-30 | 北京中关村科金技术有限公司 | 自然语言处理模型的优化方法、应答方法及系统 |
CN116911314B (zh) * | 2023-09-13 | 2023-12-19 | 北京中关村科金技术有限公司 | 意图识别模型的训练方法、会话意图识别方法及系统 |
CN116955590B (zh) * | 2023-09-20 | 2023-12-08 | 成都明途科技有限公司 | 训练数据筛选方法、模型训练方法、文本生成方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931513A (zh) * | 2020-07-08 | 2020-11-13 | 泰康保险集团股份有限公司 | 一种文本的意图识别方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3516649A4 (en) * | 2016-09-19 | 2020-04-29 | Promptu Systems Corporation | SYSTEMS AND METHODS FOR ADAPTIVELY DETECTING AND UNDERSTANDING PROPER NAME ENTITIES |
CN112765978B (zh) * | 2021-01-14 | 2023-03-31 | 中山大学 | 一种针对多人多轮对话场景的对话图重构方法及系统 |
CN112686044A (zh) * | 2021-01-18 | 2021-04-20 | 华东理工大学 | 一种基于语言模型的医疗实体零样本分类方法 |
CN113868380A (zh) * | 2021-06-21 | 2021-12-31 | 四川启睿克科技有限公司 | 一种少样本意图识别方法及装置 |
CN113571097B (zh) * | 2021-09-28 | 2022-01-18 | 之江实验室 | 一种说话人自适应的多视角对话情感识别方法及系统 |
CN114048731A (zh) * | 2021-11-15 | 2022-02-15 | 唯品会(广州)软件有限公司 | 文本处理方法、装置、存储介质及计算机设备 |
-
2022
- 2022-05-24 CN CN202210571180.3A patent/CN114757176B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111931513A (zh) * | 2020-07-08 | 2020-11-13 | 泰康保险集团股份有限公司 | 一种文本的意图识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114757176A (zh) | 2022-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114757176B (zh) | 一种获取目标意图识别模型的方法以及意图识别方法 | |
CN107480143B (zh) | 基于上下文相关性的对话话题分割方法和系统 | |
CN106649825B (zh) | 语音交互系统及其创建方法和装置 | |
CN111159385B (zh) | 一种基于动态知识图谱的无模板通用智能问答方法 | |
CN111708869B (zh) | 人机对话的处理方法及装置 | |
CN112800170A (zh) | 问题的匹配方法及装置、问题的回复方法及装置 | |
CN111209740B (zh) | 文本模型训练方法、文本纠错方法、电子设备及存储介质 | |
CN111191450B (zh) | 语料清洗方法、语料录入设备及计算机可读存储介质 | |
CN108388553B (zh) | 对话消除歧义的方法、电子设备及面向厨房的对话系统 | |
CN111651996A (zh) | 摘要生成方法、装置、电子设备及存储介质 | |
CN112948534A (zh) | 一种智能人机对话的交互方法、系统和电子设备 | |
US11270082B2 (en) | Hybrid natural language understanding | |
CN113672708A (zh) | 语言模型训练方法、问答对生成方法、装置及设备 | |
CN112507706A (zh) | 知识预训练模型的训练方法、装置和电子设备 | |
CN112380866A (zh) | 一种文本话题标签生成方法、终端设备及存储介质 | |
CN112507089A (zh) | 一种基于知识图谱的智能问答引擎及其实现方法 | |
CN111368066B (zh) | 获取对话摘要的方法、装置和计算机可读存储介质 | |
CN112579733A (zh) | 规则匹配方法、规则匹配装置、存储介质及电子设备 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN110413737B (zh) | 一种同义词的确定方法、装置、服务器及可读存储介质 | |
CN110851597A (zh) | 一种基于同类实体替换的语句标注的方法及装置 | |
CN115689603A (zh) | 用户反馈信息收集方法、装置及用户反馈系统 | |
CN113688615A (zh) | 一种字段注释生成、字符串理解方法、设备及存储介质 | |
CN111428005A (zh) | 标准问答对确定方法、装置及电子设备 | |
CN111046143A (zh) | 一种ChatBot系统中用户日语会话意图识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |