CN114818703B - 基于BERT语言模型和TextCNN模型的多意图识别方法及系统 - Google Patents

基于BERT语言模型和TextCNN模型的多意图识别方法及系统 Download PDF

Info

Publication number
CN114818703B
CN114818703B CN202210739460.0A CN202210739460A CN114818703B CN 114818703 B CN114818703 B CN 114818703B CN 202210739460 A CN202210739460 A CN 202210739460A CN 114818703 B CN114818703 B CN 114818703B
Authority
CN
China
Prior art keywords
model
label
sample
training
intention recognition
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
Application number
CN202210739460.0A
Other languages
English (en)
Other versions
CN114818703A (zh
Inventor
廖万里
金卓
邓飞龙
肖飞
刘金朝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Kingsware Information Technology Co Ltd
Original Assignee
Zhuhai Kingsware Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Kingsware Information Technology Co Ltd filed Critical Zhuhai Kingsware Information Technology Co Ltd
Priority to CN202210739460.0A priority Critical patent/CN114818703B/zh
Publication of CN114818703A publication Critical patent/CN114818703A/zh
Application granted granted Critical
Publication of CN114818703B publication Critical patent/CN114818703B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于BERT语言模型和TextCNN模型的多意图识别方法及系统,属于自然语言处理技术领域。本发明基于构建的专业术语分词库与获取的训练数据集构造标签矩阵,标签矩阵很好地利用了每个标签下包含的专业术语,让模型能够更好地学习这些专业术语的数据特征;并根据标签矩阵,在损失函数中增加了每个标签下的专业术语的词频特征,损失函数结合标签矩阵提升了模型的学习能力,并加快了模型收敛,又保障了模型的可导与迭代优化,使得模型的训练效果更好,预测准确度更高。

Description

基于BERT语言模型和TextCNN模型的多意图识别方法及系统
技术领域
本发明涉及自然语言处理技术领域,具体涉及一种基于BERT语言模型和TextCNN模型的多意图识别方法及系统。
背景技术
当前,工业界主流的基于NLP(自然语言处理)技术的智能客服机器人主要围绕单一意图的识别与应答,即每次只能识别、应答一个问题。如果同时出现多个问题时,机器人智能选择性的回答一个问题,而无法完整回答所有的问题,主要原因是这些机器人并未采用多意图识别与应答技术。
虽然,目前市场上也有极个别的基于复杂意图智能识别的人机交互问答方法及系统,但基本都是基于知识图谱实现,即从知识库中获取解答问题所需的相关信息,但类似基于知识图谱的复杂意图智能识别、问答方法能够识别的意图类型有限,且识别速度较慢,影响了多意图问答的人机交互体验。
为了解决基于知识图谱的复杂意图智能识别、问答方法存在的上述缺陷,目前也有学者通过神经网络学习多意图识别语料的数据特征来训练多意图识别模型,然后使用完成训练的多意图识别模型对待进行意图识别的语料进行意图识别。但现有的多意图识别模型的训练数据为通用场景下获取的多意图语料数据,因此将针对通用场景训练的多意图识别模型应用到特定场景(比如问答过程涉及许多专业词汇的场景)中进行多意图识别,存在识别精度和识别效率不高的问题。
发明内容
本发明针对特定场景下的多意图识别需求,并以提高多意图识别模型的识别准确率和识别效率为目的,提供了一种基于BERT语言模型和TextCNN模型的多意图识别方法及系统。
为达此目的,本发明采用以下技术方案:
提供一种基于BERT语言模型和TextCNN模型的多意图识别方法,包括步骤:
S1,构建多意图识别场景的专业术语分词库;
S2,使用所述专业术语分词库对所获取的模型训练数据集中的每个样本进行逐条的标签扫描,并按扫描顺序依次统计每个所述样本中的每条标签出现的专业术语的频数c,将扫描到的每个所述专业术语保存到存储模块中,然后根据每个所述样本中的每条所述标签对应的所述频数c,构建起所述训练数据集对应的标签矩阵;
S3,基于所述标签矩阵构建模型训练的损失函数;
S4,以BERT语言模型为预训练模型学习所述训练数据集的数据特征,目的是将保存在所述存储模块中的关联每个所述样本的每个所述专业术语转换为对应的词向量,并将各所述词向量融合形成为关联所述样本的句向量后输出给TextCNN模型,所述TextCNN模型根据输入预测输出意图识别结果,并使用步骤S3构建的所述损失函数对模型参数进行优化后,最终训练形成融合所述BERT语言模型和所述TextCNN模型的多意图识别模型;
S5,将待进行意图识别的语料输入到完成训练的所述多意图识别模型中,模型输出意图识别结果。
优选地,每个所述样本中的每条所述标签中出现所述专业术语的频数c的值为0或1或2。
优选地,步骤S3中构建的所述损失函数通过以下表达式(1)表达:
Figure 178784DEST_PATH_IMAGE001
表达式(1)中,
Figure 659706DEST_PATH_IMAGE002
表示所述损失函数;
Figure 439443DEST_PATH_IMAGE003
表示对第
Figure 896969DEST_PATH_IMAGE004
个样本的预测概率值;
Figure 711341DEST_PATH_IMAGE005
为第
Figure 533804DEST_PATH_IMAGE004
个所述样本的概率真实值;
Figure 863154DEST_PATH_IMAGE006
表示所述训练样本集中的第
Figure 62054DEST_PATH_IMAGE006
个标签;
Figure 793250DEST_PATH_IMAGE007
表示所述训练样本集中的标签数量;
Figure 786614DEST_PATH_IMAGE008
表示所述训练样本集中的样本数量;
Figure 540943DEST_PATH_IMAGE009
表示第
Figure 838807DEST_PATH_IMAGE004
个所述样本中的第
Figure 362192DEST_PATH_IMAGE006
个标签的词频。
优选地,通过以下公式(2)评估所述多意图识别模型的性能:
Figure 854353DEST_PATH_IMAGE010
公式(2)中,
Figure 95979DEST_PATH_IMAGE011
表示所述多意图识别模型的预测准确率;
Figure 371102DEST_PATH_IMAGE012
表示所述多意图识别模型对样本
Figure 76890DEST_PATH_IMAGE004
的预测值;
Figure 412057DEST_PATH_IMAGE013
表示所述样本
Figure 140978DEST_PATH_IMAGE004
的真实值;
Figure 282109DEST_PATH_IMAGE008
表示所述训练数据集中的样本数量。
本发明还提供了一种基于BERT语言模型和TextCNN模型的多意图识别系统,可实现所述的多意图识别方法,所述多意图识别系统包括:
专业术语分词库构建模块,用于构建多意图识别场景的专业术语分词库;
标签矩阵构建模块,连接所述专业术语分词库构建模块,用于使用所述专业术语分词库对所获取的模型训练数据集中的每个样本进行逐条的标签扫描,并按扫描顺序依次统计每个所述样本中的每条标签出现专业术语的频数c,并将扫描到的每个专业术语保存到存储模块中,然后根据每个所述样本中的每条所述标签对应的所述频数c,构建起所述训练数据集对应的标签矩阵;
损失函数构建模块,连接所述标签矩阵构建模块,用于基于所述标签矩阵构建模型训练的损失函数;
模型训练模块,分别连接所述存储模块和所述损失函数构建模块,用于以BERT语言模型为预训练模型学习所述训练数据集的数据特征,以将保存在所述存储模块中的关联每个所述样本的每个所述专业术语转换为对应的词向量,并将各所述词向量融合形成为关联所述样本的句向量后输出给TextCNN模型,所述TextCNN模型根据输入预测输出意图识别结果,并使用所构建的所述损失函数对模型参数进行优化后,最终训练形成融合所述BERT语言模型和所述TextCNN模型的多意图识别模型;
多意图识别模块,连接所述模型训练模块,用于将待进行意图识别的语料输入到完成训练的所述多意图识别模型中,模型输出意图识别结果。
优选地,所构建的所述损失函数通过以下表达式(3)表达:
Figure 780087DEST_PATH_IMAGE014
表达式(3)中,
Figure 551734DEST_PATH_IMAGE002
表示所述损失函数;
Figure 66154DEST_PATH_IMAGE003
表示对第
Figure 948659DEST_PATH_IMAGE004
个样本的预测概率值;
Figure 301143DEST_PATH_IMAGE005
为第
Figure 306008DEST_PATH_IMAGE004
个所述样本的概率真实值;
Figure 743943DEST_PATH_IMAGE006
表示所述训练样本集中的第
Figure 164560DEST_PATH_IMAGE006
个标签;
Figure 699447DEST_PATH_IMAGE007
表示所述训练样本集中的标签数量;
Figure 812896DEST_PATH_IMAGE008
表示所述训练样本集中的样本数量;
Figure 738127DEST_PATH_IMAGE009
表示第
Figure 24752DEST_PATH_IMAGE004
个所述样本中的第
Figure 86249DEST_PATH_IMAGE006
个标签的词频。
本发明具有以下有益效果:
1、所构建的标签矩阵很好地利用了标签包含的专业术语,使得模型能够更好地学习到这些专业术语的数据特征。
2、在模型训练采用的损失函数中增加了在每个样本的每个标签中出现的专业术语的词频,有利于提升模型的学习能力,加快模型收敛,同时保障了模型的可导与迭代优化,模型训练的效果更好。
3、把训练数据集首先导入到作为预训练模型的BERT语言模型中进行数据特征学习,通过将输入的每个样本转换为对应的句向量后输出给TextCNN模型,有利于简化TextCNN模型后续的学习过程,提升学习效果。
4、使用网络结构简单的TextCNN模型进行多意图识别模型的训练,简化了模型训练的复杂度,有利于提升模型训练的速度;且利用增加了词频特征的损失函数对TextCNN模型参数进行调优,使得多意图识别模型训练过程更加侧重对特定场景下的专业术语的特征学习,有利于提升模型的多意图识别准确度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的基于BERT语言模型和TextCNN模型的多意图识别方法的实现步骤图;
图2是利用BERT语言模型+TextCNN模型进行多意图识别模型训练的原理图;
图3是利用完成训练的多意图识别模型对输入的语料进行多意图识别的原理框图;
图4是本发明一实施例提供的基于BERT语言模型和TextCNN模型的多意图识别系统的结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本专利的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若出现术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在本发明的描述中,除非另有明确的规定和限定,若出现术语“连接”等指示部件之间的连接关系,该术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个部件内部的连通或两个部件的相互作用关系。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在阐述本实施例提供的基于BERT语言模型和TextCNN模型的多意图识别方法之前,首先对将涉及的相关专业名词进行含义解释:
NLP:自然语言处理。
BERT语言模型,是一个预训练的语言表征模型,BERT为英文“BidirectionalEncoder Representation from Transformers”的简称。该模型强调了不再像以往一样采用传统的单向语言模型或者把两个单向语言模型进行浅层拼接后进行预训练,而是采用MLM(masked language model)模型进行预训练,以致能生成深度的双向语言表征。
TextCNN模型:一维卷积神经网络,专门用于处理文本的卷积神经网络,具有模型轻量、运行效率和准确性高的优点。
损失函数:用于评估模型的预测值与真实值的不一致程度,为非负实值函数,损失函数的值越小,模型鲁棒性越好。
Sigmoid函数,也叫Logistic函数,用于隐层神经元输出,取值范围为(0,1),它可以将一个实数映射到(0,1)区间,可以用来做二分类。
Adam优化器,是深度学习中最流行的优化器之一。
以下以电信业务问答这一特定的多意图识别场景为例,对本实施例提供的基于BERT语言模型和TextCNN模型的多意图识别方法的具体实现进行说明:
本实施例提供的多意图识别方法主要由模型训练模块和多意图识别模块这两个模块实现,模型训练模块的作用是,以预训练的BERT语言模型首先学习训练数据集的数据特征,输出每个样本对应的句向量,然后以将输出的句向量输入到轻量的TextCNN模型中,并采用增加了专业分词词频特征的损失函数对TextCNN模型进行参数调优,最后经更新迭代将最终训练形成的BERT语言模型和TextCNN模型融合为多意图识别模型。多意图识别模块则利用完成训练的多意图识别模型对输入的语料进行多意图识别,并将识别结果显示给用户。
多意图识别模型训练包括专业术语分词库构建、标签矩阵构建、损失函数优化和模型性能评估这4个步骤。首先是专业术语分词库的搭建,即如图1中所示的本实施例提供的基于BERT语言模型和TextCNN模型的多意图识别方法的步骤:
S1,构建多意图识别场景的专业术语分词库;本实施例中,专业术语分词库指收集电信行业的专业术语加入到库中形成为专业术语分词库。例如,在宽带业务咨询问答场景中,某条语料为“宽带需要解绑,顺便改密码”,该条语料包含了两个意图,第一个意图为“宽带解绑”,第二个意图为“宽带改密码”,本申请将“解绑”“改密码”这两个词作为宽带业务咨询问答场景中的专业术语加入到专业术语分词库中。本申请收集的专业术语还可以包括业务码,不同的业务码对应不同的业务,加入业务码这类特定的术语到分词库中能够很好地区分出业务类型。例如,宽带业务,通常以AD或ADSLD开头的号码作为宽带接入号,当样本中出现这类号码时,可以快速识别出意图类型为咨询宽带业务相关问题。
完成对特定场景的专业术语分词库的构建后,需要收集模型训练数据集。本申请中,收集的训练数据包括单意图的历史语料数据,例如“宽带需要解绑”、“宽带需要改密码”等类似的单意图语料数据,也可包括多意图的历史语料数据,例如“宽带需要解绑,顺便改密码”等类似的多意图语料数据。且本申请通过混合采样方式处理特定场景下正负样本不平衡的问题。电信行业,正负样本不平衡问题同样存在,例如,某些热门业务场景的数据量非常多,而某些冷门业务场景的数据量特别少。如果不考虑正负样本平衡问题,训练出来的模型对样本量多的类别的预测概率特别高,而对样本量少的类别的预测概率非常低,甚至接近为0。针对这个现象,本申请在把训练数据传入到BERT语言模型前,使用混合采样方式对数据进行处理,同时考虑了数据不平衡和平衡的问题,通过引入一个超参
Figure 370599DEST_PATH_IMAGE015
平衡两种极端的采样方式(即正样本占总样本数量比例过大,或负样本占总样本数量比例过大两种极端)。引入超参
Figure 343978DEST_PATH_IMAGE015
平衡两种极端的方法通过以下公式(1)和(2)表达:
Figure 371977DEST_PATH_IMAGE016
公式(1)-(2)中,
Figure 553560DEST_PATH_IMAGE007
表示获取的样本数量;
Figure 805550DEST_PATH_IMAGE017
为考虑正负样本不平衡问题时的预测概率;
Figure 705372DEST_PATH_IMAGE018
为不考虑正负样本平衡问题时的预测概率与考虑正负样本不平衡问题时的预测概率的比例,值在(0,1);
Figure 271483DEST_PATH_IMAGE019
为不考虑正负样本平衡问题时的预测概率;
Figure 635468DEST_PATH_IMAGE020
为结合不考虑正负样本平衡问题和考虑正负样本不平衡问题这两者的预测概率;
Figure 996042DEST_PATH_IMAGE021
为结合不考虑正负样本平衡问题和考虑正负样本不平衡问题这两者的预测概率与考虑正负样本不平衡问题时的预测概率,值在(0,1);
Figure 445478DEST_PATH_IMAGE022
为不考虑正负样本平衡问题时的预测概率引入平衡因子;
Figure 815280DEST_PATH_IMAGE023
为考虑正负样本不平衡问题时的预测概率引入1减去平衡因子。
以混合采样方式获得模型训练数据集后,如图1所示,本实施例提供的多意图识别方法转入步骤:
S2,以构建的专业术语分词库为分词字典,使用jieba等分词工具对所获取的模型训练数据集中的每个语料样本进行逐条的标签扫描,并按扫描顺序依次统计每个样本中的每条标签出现专业术语的频数c,并将扫描到的每个专业术语保存到存储模块中,然后根据每个样本中的每条标签对应的频数c,构建起训练数据集对应的标签矩阵;
这里需要说明的是,由于作为分词字典的专业术语分词库针对特定场景的专业术语而构建,因此使用jieba等分词工具对训练数据集中的语料样本进行分词时,能够快速且精准地分得相应的专业术语,提高了对特定场景下的语料的分词准确度。
以下对标签矩阵的构建方法进行举例说明:
例如,训练数据集中的某个语料样本为“宽带需要解绑,顺便改密码”,该语料中假设具有3类文本标签,分别为“业务类型”、“业务行为”和“辅助词”,例如,该语料中的“宽带”这个词的标签为“业务类型”,“解绑”和“改密码”这两个词的标签为“业务行为”,“需要”和“顺便”这两个词的标签为“辅助词”,分词工具以构建的专业术语分词库为分词词典以逐条扫描样本中的标签的方式进行分词并通过每类标签出现的专业术语的频数c(即本申请中所指的词频)。扫描方式比如为:
首先对“业务类型”这一标签进行扫描并分词,并统计词频。比如,对于上述的语料,首先对“宽带”这个词进行扫描,由于该“业务类型”标签下的词只有“宽带”这一个词,且该次作为专业术语被收录在专业术语分词库中,则直接从该语料中分得“宽带”这个词,并统计该词在“业务类型”这一标签下的频数c,由于该语料中被标记为“业务类型”标签的词只有“宽带”这一个词,因此,该语料中被标记为“业务类型”标签的专业术语的频数c为1,即该语料的“业务类型”标签下出现的专业术语的频数c为1。
然后对“辅助词”这一标签进行扫描并分词。比如,对于上述的语料,对“需要”这个被标记为辅助词的词进行扫描,由于辅助词并非为专业术语,因此不对辅助词进行频数统计。
最后对“业务行为”这一标签进行扫描并分词,并统计词频。比如,对于上述的语料,对“业务类型”这一标签进行扫描并分词,分得 “解绑”和“改密码”这两个词,由于这两个词同属于“业务类型”这一标签,因此,对“业务类型”这一标签下出现的专业术语的频数c统计为2个(即“解绑”和“改密码”两个词)。
完成分词并对分得的专业术语完成频数统计后,将每个专业术语保存到存储模块中,而将非专业术语过滤掉,然后,根据每个样本中的每条标签对应的频数c,构建起训练数据集对应的标签矩阵,标签矩阵中的每一行的数据构成例如表达如下:
样本
Figure 269657DEST_PATH_IMAGE004
标签
Figure 66712DEST_PATH_IMAGE006
词频
Figure 675548DEST_PATH_IMAGE024
为了简化后续的模型训练复杂度,提高模型训练效率,优选地,设定在每条标签中出现的专业术语的频数c的值为0或1或2,即一条语料中的某个标签下出现的专业术语词个数要么为0个,要么为1个,要么为2个,不能大于2个,大于2个时,会增加分词以及统计词频的时间,对于后续的模型训练速度会产生影响。
完成对训练数据集的标签矩阵构建后,本实施例提供的多意图识别方法转入步骤:
S3,基于标签矩阵构建模型训练的损失函数,该损失函数通过以下表达式(3)表达:
Figure 911357DEST_PATH_IMAGE025
表达式(3)中,
Figure 922038DEST_PATH_IMAGE002
表示损失函数;
Figure 952311DEST_PATH_IMAGE003
表示对第
Figure 48443DEST_PATH_IMAGE004
个样本的预测概率值;
Figure 822364DEST_PATH_IMAGE005
为第
Figure 687552DEST_PATH_IMAGE004
个样本的概率真实值;
Figure 826409DEST_PATH_IMAGE006
表示训练样本集中的第
Figure 970689DEST_PATH_IMAGE006
个标签;
Figure 220405DEST_PATH_IMAGE007
表示训练样本集中的标签数量;
Figure 205679DEST_PATH_IMAGE008
表示训练样本集中的样本数量;
Figure 577754DEST_PATH_IMAGE009
表示第
Figure 648478DEST_PATH_IMAGE004
个样本中的第
Figure 701885DEST_PATH_IMAGE006
个标签的词频。
Figure 603982DEST_PATH_IMAGE026
时,即第
Figure 84642DEST_PATH_IMAGE004
个样本中的第
Figure 377083DEST_PATH_IMAGE006
个标签下没有出现专业术语,则损失函数表达为:
Figure 296497DEST_PATH_IMAGE027
Figure 990784DEST_PATH_IMAGE028
时,即第
Figure 642345DEST_PATH_IMAGE004
个样本中的第
Figure 251443DEST_PATH_IMAGE006
个标签下出现一个专业术语,则损失函数表达为:
Figure 646652DEST_PATH_IMAGE029
对比表达式(4)和(5)可知,当标签下出现一个专业术语时,由于
Figure 195445DEST_PATH_IMAGE003
的值在0-1之间,则
Figure 345804DEST_PATH_IMAGE030
,因此表达式(5)计算的损失相比表达式(4)计算的损失有所减少;
Figure 612837DEST_PATH_IMAGE031
时,即第
Figure 811738DEST_PATH_IMAGE004
个样本中的第
Figure 277354DEST_PATH_IMAGE006
个标签下出现两个专业术语,则损失函数表达为:
Figure 536297DEST_PATH_IMAGE032
对比公式(6)和(5),
Figure 290626DEST_PATH_IMAGE033
,因此当标签下出现2个专业 术语时,损失相比出现一个专业术语时会更小。对比表达式(4)-(6)可以发现,词频的介入 能减小真实值与预测值之间的差异,该差异与词频的数量呈反比。
另外,表达式(4)-(6)中的
Figure 89955DEST_PATH_IMAGE034
该部分继承了交叉熵可导 的特性,即模型做反向传播求导的时候,每一步都是可导的。另外,本发明使用Adam优化器 完成每一轮的模型权重的迭代更新。
完成损失函数的构建后,如图1所示,本实施例提供的多意图识别方法转入步骤:
S4,以BERT语言模型为预训练模型学习训练数据集的数据特征,目的是将保存在存储模块中的关联每个样本的每个专业术语转换为对应的词向量,并将各词向量融合形成为关联该样本的句向量后输出给TextCNN模型,TextCNN模型根据输入预测输出意图识别结果,并使用步骤S3构建的损失函数对模型参数进行优化后,最终训练形成融合BERT语言模型和TextCNN模型的多意图识别模型;
多意图识别模型的结构以及训练多意图识别模型的原理框图请见图2。其中的BERT语言模型分输入层、注意力机制层、前馈神经网络层和输出层。输入层用于输入训练数据,经注意力机制层学习分词的数据特征后,在传输给前馈神经网络层,注意力机制层与前馈神经网络层并行发生12次信息交互,最后由输出层输出融合了各分词特征的关联同个样本的句向量。由于BERT语言模型识别分词特征并输出句向量的具体过程并非本发明要求权利保护的范围,因此不做具体说明。
如图2所示,TextCNN模型包括嵌入层、卷积层、池化层、全连接层和输出层。嵌入层的作用是从BERT语言模型的输出层获取输入数据(即句向量);卷积层为一维卷积层;池化层使用最大池化层,保证输入的具有不同长度的句向量统一为相同长度的句向量;全连接层,用于将池化层的输出拼接为一个一维向量;输出层则使用sigmoid激活函数,并使用上述的损失函数对模型进行优化,最终训练形成多意图识别模型。由于TextCNN模型的具体训练过程并非本发明要求权利保护的范围,因此不做具体说明。
本发明通过以下方法评估所训练的多意图识别模型的性能:
假设有
Figure 613340DEST_PATH_IMAGE008
个多意图的样本,
Figure 627474DEST_PATH_IMAGE012
为多意图识别模型对样本
Figure 603520DEST_PATH_IMAGE004
的预测值,
Figure 206540DEST_PATH_IMAGE013
为真实值,则通过以下公式(7)评估多意图识别模型的性能:
Figure 850011DEST_PATH_IMAGE035
公式(7)中,
Figure 185177DEST_PATH_IMAGE011
表示多意图识别模型的预测准确率。
完成对多意图识别模型的优化训练后,如图1所示,本实施例提供的多意图识别方法转入步骤:
S5,将待进行意图识别的语料输入到完成训练的多意图识别模型中,模型输出意图识别结果。如图3所示,待进行意图识别的语料比如为“宽带需要解绑,顺便改密码”,用户通过Web服务端提供的输入界面输入该语料,输入语料后,Web服务端调用完成训练的多意图识别模型进行意图识别,并输出多意图识别结果,分别为“宽带解绑”和“宽带改密码”,最后,Web服务端将识别结果展示给用户。
需要强调的是,本发明提供的多意图识别方法的技术核心为:
1、基于构建的专业术语分词库与获取的训练数据集构造标签矩阵,标签矩阵很好地利用了每个标签下包含的专业术语,让模型能够更好地学习这些专业术语的数据特征;
2、根据标签矩阵,在损失函数中增加了每个标签下的专业术语的词频特征,损失函数结合标签矩阵提升了模型的学习能力,并加快了模型收敛,又保障了模型的可导与迭代优化,使得模型的训练效果更好。
本发明还提供了一种基于BERT语言模型和TextCNN模型的多意图识别系统,如图4所示,包括:
专业术语分词库构建模块,用于构建多意图识别场景的专业术语分词库;
标签矩阵构建模块,连接专业术语分词库构建模块,用于使用专业术语分词库对所获取的模型训练数据集中的每个样本进行逐条的标签扫描,并按扫描顺序依次统计每个样本中的每条标签出现专业术语的频数c,并将扫描到的每个专业术语保存到存储模块中,然后根据每个样本中的每条标签对应的频数c,构建起训练数据集对应的标签矩阵;
损失函数构建模块,连接标签矩阵构建模块,用于基于标签矩阵构建模型训练的损失函数;
模型训练模块,分别连接存储模块和损失函数构建模块,用于以BERT语言模型为预训练模型学习训练数据集的数据特征,以将保存在存储模块中的关联每个样本的每个专业术语转换为对应的词向量,并将各词向量融合形成为关联样本的句向量后输出给TextCNN模型,TextCNN模型根据输入预测输出意图识别结果,并使用所构建的损失函数对模型参数进行优化后,最终训练形成融合BERT语言模型和TextCNN模型的多意图识别模型;
多意图识别模块,连接模型训练模块,用于将待进行意图识别的语料输入到完成训练的多意图识别模型中,模型输出意图识别结果。
需要声明的是,上述具体实施方式仅仅为本发明的较佳实施例及所运用技术原理。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语并不是限制,仅仅是为了便于描述。

Claims (4)

1.一种基于BERT语言模型和TextCNN模型的多意图识别方法,其特征在于,包括步骤:
S1,构建多意图识别场景的专业术语分词库;
S2,使用所述专业术语分词库对所获取的模型训练数据集中的每个样本进行逐条的标签扫描,并按扫描顺序依次统计每个所述样本中的每条标签出现的专业术语的频数c,并将扫描到的每个所述专业术语保存到存储模块中,然后根据每个所述样本中的每条所述标签对应的所述频数c,构建起所述训练数据集对应的标签矩阵;
S3,基于所述标签矩阵构建模型训练的损失函数;
S4,以BERT语言模型为预训练模型学习所述训练数据集的数据特征,目的是将保存在所述存储模块中的关联每个所述样本的每个所述专业术语转换为对应的词向量,并将各所述词向量融合形成为关联所述样本的句向量后输出给TextCNN模型,所述TextCNN模型根据输入预测输出意图识别结果,并使用步骤S3构建的所述损失函数对模型参数进行优化后,最终训练形成融合所述BERT语言模型和所述TextCNN模型的多意图识别模型;
S5,将待进行意图识别的语料输入到完成训练的所述多意图识别模型中,模型输出意图识别结果;
步骤S3中构建的所述损失函数通过以下表达式(1)表达:
Figure FDA0003794588200000011
表达式(1)中,L(hθ(x),yi)表示所述损失函数;
hθ(x)表示对第i个样本的预测概率值;
yi为第i个所述样本的概率真实值;
j表示所述训练数据集中的第j个标签;
C表示所述训练数据集中的标签数量;
N表示所述训练数据集中的样本数量;
Figure FDA0003794588200000012
表示第i个所述样本中的第j个标签对应的词频。
2.根据权利要求1所述的基于BERT语言模型和TextCNN模型的多意图识别方法,其特征在于,每个所述样本中的每条所述标签中出现所述专业术语的频数c的值为0或1或2。
3.根据权利要求1所述的基于BERT语言模型和TextCNN模型的多意图识别方法,其特征在于,通过以下公式(2)评估所述多意图识别模型的性能:
Figure FDA0003794588200000013
公式(2)中,MIA表示所述多意图识别模型的预测准确率;
Bi表示所述多意图识别模型对样本i的预测值;
Ai表示所述样本i的真实值;
N表示所述训练数据集中的样本数量。
4.一种基于BERT语言模型和TextCNN模型的多意图识别系统,可实现如权利要求1-3任意一项所述的多意图识别方法,其特征在于,所述多意图识别系统包括:
专业术语分词库构建模块,用于构建多意图识别场景的专业术语分词库;
标签矩阵构建模块,连接所述专业术语分词库构建模块,用于使用所述专业术语分词库对所获取的模型训练数据集中的每个样本进行逐条的标签扫描,并按扫描顺序依次统计每个所述样本中的每条标签出现专业术语的频数c,并将扫描到的每个专业术语保存到存储模块中,然后根据每个所述样本中的每条所述标签对应的所述频数c,构建起所述训练数据集对应的标签矩阵;
损失函数构建模块,连接所述标签矩阵构建模块,用于基于所述标签矩阵构建模型训练的损失函数;
模型训练模块,分别连接所述存储模块和所述损失函数构建模块,用于以BERT语言模型为预训练模型学习所述训练数据集的数据特征,以将保存在所述存储模块中的关联每个所述样本的每个所述专业术语转换为对应的词向量,并将各所述词向量融合形成为关联所述样本的句向量后输出给TextCNN模型,所述TextCNN模型根据输入预测输出意图识别结果,并使用所构建的所述损失函数对模型参数进行优化后,最终训练形成融合所述BERT语言模型和所述TextCNN模型的多意图识别模型;
多意图识别模块,连接所述模型训练模块,用于将待进行意图识别的语料输入到完成训练的所述多意图识别模型中,模型输出意图识别结果;
所构建的所述损失函数通过以下表达式(3)表达:
Figure FDA0003794588200000021
表达式(3)中,L(hθ(x),yi)表示所述损失函数;
hθ(x)表示对第i个样本的预测概率值;
yi为第i个所述样本的概率真实值;
j表示所述训练数据集中的第j个标签;
C表示所述训练数据集中的标签数量;
N表示所述训练数据集中的样本数量;
Figure FDA0003794588200000031
表示第i个所述样本中的第j个标签对应的词频。
CN202210739460.0A 2022-06-28 2022-06-28 基于BERT语言模型和TextCNN模型的多意图识别方法及系统 Active CN114818703B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210739460.0A CN114818703B (zh) 2022-06-28 2022-06-28 基于BERT语言模型和TextCNN模型的多意图识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210739460.0A CN114818703B (zh) 2022-06-28 2022-06-28 基于BERT语言模型和TextCNN模型的多意图识别方法及系统

Publications (2)

Publication Number Publication Date
CN114818703A CN114818703A (zh) 2022-07-29
CN114818703B true CN114818703B (zh) 2022-09-16

Family

ID=82522845

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210739460.0A Active CN114818703B (zh) 2022-06-28 2022-06-28 基于BERT语言模型和TextCNN模型的多意图识别方法及系统

Country Status (1)

Country Link
CN (1) CN114818703B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115329063B (zh) * 2022-10-18 2023-01-24 江西电信信息产业有限公司 一种用户的意图识别方法及系统
CN116167388A (zh) * 2022-12-27 2023-05-26 无锡捷通数智科技有限公司 专有词翻译模型训练方法、装置、设备及存储介质
CN116522912B (zh) * 2023-07-05 2023-12-08 大家智合(北京)网络科技股份有限公司 一种包装设计语言模型的训练方法、装置、介质及设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765332A (zh) * 2021-01-05 2021-05-07 西交思创智能科技研究院(西安)有限公司 一种智能对话意图识别方法、系统、存储介质及应用

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110069709B (zh) * 2019-04-10 2023-10-20 腾讯科技(深圳)有限公司 意图识别方法、装置、计算机可读介质及电子设备
CN111460806A (zh) * 2020-03-09 2020-07-28 平安科技(深圳)有限公司 基于损失函数的意图识别方法、装置、设备及存储介质
US11308944B2 (en) * 2020-03-12 2022-04-19 International Business Machines Corporation Intent boundary segmentation for multi-intent utterances
CN112131890A (zh) * 2020-09-15 2020-12-25 北京慧辰资道资讯股份有限公司 一种会话意图智能识别模型的构建方法、装置及设备
CN114117037A (zh) * 2021-11-05 2022-03-01 招联消费金融有限公司 意图识别方法、装置、设备和存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112765332A (zh) * 2021-01-05 2021-05-07 西交思创智能科技研究院(西安)有限公司 一种智能对话意图识别方法、系统、存储介质及应用

Also Published As

Publication number Publication date
CN114818703A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
CN110070183B (zh) 一种弱标注数据的神经网络模型训练方法及装置
CN114818703B (zh) 基于BERT语言模型和TextCNN模型的多意图识别方法及系统
CN111061856B (zh) 一种基于知识感知的新闻推荐方法
CN109934261B (zh) 一种知识驱动参数传播模型及其少样本学习方法
WO2023024412A1 (zh) 基于深度学习模型的视觉问答方法及装置、介质、设备
CN106777013A (zh) 对话管理方法和装置
CN111274800A (zh) 基于关系图卷积网络的推理型阅读理解方法
CN112560432A (zh) 基于图注意力网络的文本情感分析方法
CN112633010A (zh) 基于多头注意力和图卷积网络的方面级情感分析方法及系统
CN113297364B (zh) 一种面向对话系统中的自然语言理解方法及装置
CN114398961A (zh) 一种基于多模态深度特征融合的视觉问答方法及其模型
CN112015868A (zh) 基于知识图谱补全的问答方法
CN110866542A (zh) 一种基于特征可控融合的深度表示学习方法
CN113626589B (zh) 一种基于混合注意力机制的多标签文本分类方法
CN109933792A (zh) 基于多层双向lstm和验证模型的观点型问题阅读理解方法
CN113255366B (zh) 一种基于异构图神经网络的方面级文本情感分析方法
CN115526236A (zh) 一种基于多模态对比学习的文本网络图分类方法
CN110110724A (zh) 基于指数型挤压函数驱动胶囊神经网络的文本验证码识别方法
CN112766507A (zh) 基于嵌入式和候选子图剪枝的复杂问题知识库问答方法
CN115186102A (zh) 基于双流嵌入和深度神经网络的动态知识图谱补全方法
CN117033602A (zh) 一种多模态的用户心智感知问答模型的构建方法
CN117131933A (zh) 一种多模态知识图谱建立方法及应用
CN116910190A (zh) 多任务感知模型获取方法、装置、设备及可读存储介质
CN113239678B (zh) 一种面向答案选择的多角度注意力特征匹配方法及系统
Kreyssig Deep learning for user simulation in a dialogue system

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