CN112905795A - 文本意图分类的方法、装置和可读介质 - Google Patents
文本意图分类的方法、装置和可读介质 Download PDFInfo
- Publication number
- CN112905795A CN112905795A CN202110265003.8A CN202110265003A CN112905795A CN 112905795 A CN112905795 A CN 112905795A CN 202110265003 A CN202110265003 A CN 202110265003A CN 112905795 A CN112905795 A CN 112905795A
- Authority
- CN
- China
- Prior art keywords
- text
- neural network
- network model
- model
- data set
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000012549 training Methods 0.000 claims abstract description 81
- 238000003062 neural network model Methods 0.000 claims abstract description 78
- 239000013598 vector Substances 0.000 claims abstract description 56
- 230000006870 function Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013140 knowledge distillation Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 11
- 238000007781 pre-processing Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 9
- 238000004140 cleaning Methods 0.000 claims description 5
- 238000003058 natural language processing Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 27
- 238000013527 convolutional neural network Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000000873 masking effect Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 239000002689 soil Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- 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
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及自然语言处理,特别涉及用于文本意图的分类。按照本发明一个方面的用于生成文本意图分类器的方法包含下列步骤:获得训练数据集,训练数据集包含多个文本样本,每个文本样本包含一个或多个句子;利用训练数据集对第一神经网络模型进行预训练以改善第一神经网络模型与关联于训练数据集的应用领域之间的适配性,其中,第一神经网络模型配置为对文本样本中的句子进行语义分类以得到该文本样本的特征向量;由经过预训练的第一神经网络模型生成第二神经网络模型,其中,第二神经网络模型的层数少于经过预训练的第一神经网络模型的层数;以及将第二神经网络模型连接到输出层以生成文本意图分类器。
Description
技术领域
本发明涉及自然语言处理,特别涉及用于生成文本意图分类器、用于对文本意图进行分类的方法、实施该方法的文本分类器以及计算机可读存储介质。
背景技术
自然语言理解是人工智能领域的核心课题,其研究的是如何使计算机能够理解和运用人类的自然语言,从而实现人机之间的自然语言通信。在一个典型的人机对话过程中,计算机根据用户输入确定命名实体或者用户意图,并且根据实体和意图作出相应的答复。
在实际应用中,文本歧义性以及文本结构的变化将导致计算机难以准确识别文本的意图。为了解决上述意图识别的困难,通常利用机器学习或者深度学习的算法,按照各种意图对文本进行分类。但是现有的文本意图分类方法存在以下问题。首先,机器学习模型虽然能够在小范围内取得比较高的精确度,但模型的泛化性差,即使对于语义上相近的句子,当具有不同的结构时都可能导致错误的分类结果。其次,深度学习模型通常包含大量参数,需要庞大的数据用于模型训练,而在实际应用中并不总是能满足这种数据量的需求。再者,众多的模型参数也会导致模型运行效率低下,训练成本和使用成本高企。
由上可见,需要提供一种能够解决上述问题的文本意图分类方案。
发明内容
本发明的一个目的是提供用于生成文本意图分类器的方法、用于对文本意图进行分类的方法、文本分类器和计算机可读存储介质,其能够在确保分类准确率的情况下,同时提高模型运行效率和降低模型的训练和使用成本。
按照本发明一个方面的用于生成文本意图分类器的方法包含下列步骤:
获得训练数据集,所述训练数据集包含多个文本样本,每个文本样本包含一个或多个句子;
利用所述训练数据集对第一神经网络模型进行预训练以改善所述第一神经网络模型与关联于所述训练数据集的应用领域之间的适配性,其中,所述第一神经网络模型配置为对文本样本中的句子进行语义分类以得到该文本样本的特征向量;
由经过预训练的第一神经网络模型生成第二神经网络模型,其中,第二神经网络模型的层数少于经过预训练的第一神经网络模型的层数;以及
将所述第二神经网络模型连接到输出层以生成文本意图分类器。
优选地,在上述方法中,获得训练数据集的步骤包括:
输入原始训练数据集;以及
对所述原始训练数据集中的文本样本进行预处理以生成所述训练数据集中的文本样本,所述预处理包括文本清洗和去除停用词。
优选地,在上述方法中,所述第一神经网络模型为下列模型中的一种:BERT模型、XLNET模型和ALBERT模型。
优选地,在上述方法中,利用所述训练数据集对第一神经网络模型进行预训练的步骤包括:
对文本样本中所包含的句子进行分词处理;
对所划分的单词进行命名实体识别;以及
利用掩码语言模型来对所述第一神经网络模型进行微调以得到经过预训练的第一神经网络模型,其中,掩码语言模型中被随机遮罩的对象为经命名实体识别的单词。
优选地,在上述方法中,通过知识蒸馏方法由经过预训练的第一神经网络模型生成第二神经网络模型。
优选地,在上述方法中,由经过预训练的第一神经网络模型生成第二神经网络模型的步骤包括:
从经过预训练的第一神经网络模型中抽取一部分的层以构建精简的神经网络模型;以及
利用经过预训练的第一神经网络模型对精简的神经网络模型进行训练以得到所述第二神经网络模型。
优选地,在上述方法中,在对精简的神经网络模型进行训练时采用下列损失函数LPT:
优选地,在上述方法中,所述输出层包含softmax映射器。
按照本发明另一个方面的用于生成文本意图分类器的装置包括:
存储器;
处理器;以及
存储在所述存储器上并可在所述处理器上运行以执行如上所述的方法中的步骤的计算机程序。
按照本发明另一个方面的用于对文本意图进行分类的方法包含下列步骤:
输入文本;以及
利用由如上所述的方法生成的文本意图分类器来确定所输入文本的类别。
优选地,在上述方法中,确定所输入文本的类别的步骤包括:
利用第二神经网络模型对所输入文本中的句子进行语义分类以得到所输入文本的特征向量;
利用输出层,由所输入文本的特征向量确定所输入文本属于各个类别的概率值;以及
将所输入文本确定为属于最大概率值所对应的类别。
按照本发明另一个方面的文本意图分类器包括:
输入单元,配置为接收待分类的文本;
处理单元,包含:
特征向量生成模型,配置为对待分类的文本所包含的句子进行语义分类以获取该文本的特征向量;
与特征向量生成模型的输出相连的输出层,配置为基于所述待分类的文本的特征向量确定该文本所属的类别;以及
输出单元,配置为输出分类结果,
其中,所述特征向量生成模型按照下列方式得到:
获得训练数据集,所述训练数据集包含多个文本样本,每个文本样本包含一个或多个句子;
利用所述训练数据集对第一神经网络模型进行预训练以改善所述第一神经网络模型与关联于所述训练数据集的应用领域之间的适配性,其中,所述第一神经网络模型配置为对文本样本中的句子进行语义分类以得到该文本样本的特征向量;
由经过预训练的第一神经网络模型生成特征向量生成模型,其中,特征向量生成模型的层数少于经过预训练的第一神经网络模型的层数。
按照本发明另一个方面的计算机可读存储介质,其上存储计算机程序,该计算机程序被处理器执行时实现如上所述的方法。
按照本发明的一个或多个实施例,通过采用特定应用领域的数据集对BERT模型进行预训练微调,使得微调后的模型能够侧重于包含该领域的相关信息,因此能够地更为准确地理解该领域的相关术语,从而提高了文本意图识别的精度。与此同时,按照本发明的一个或多个实施例利用知识蒸馏技术对模型进行压缩,在保证准确率的情况下大幅度减少了模型的参数,从而提高了模型运行效率。
附图说明
本发明的上述和/或其它方面和优点将通过以下结合附图的各个方面的描述变得更加清晰和更容易理解,附图中相同或相似的单元采用相同的标号表示。附图包括:
图1示出了一种文本分类器生成方法的流程图。
图2为按照本发明一个实施例的用于生成文本意图分类器的方法的流程图。
图3为可应用于图2的方法的BERT模型预训练过程的流程图。
图4为可应用于图2的方法的学生模型生成过程的流程图。
图5为按照本发明另一个实施例的用于生成文本意图分类器的装置的示意图。
图6为按照本发明另一个实施例的用于对文本意图进行分类的方法的流程图。
图7为按照本发明另一个实施例的文本意图分类器的示意图。
具体实施方式
下面参照其中图示了本发明示意性实施例的附图更为全面地说明本发明。但本发明可以按不同形式来实现,而不应解读为仅限于本文给出的各实施例。给出的上述各实施例旨在使本文的披露全面完整,以将本发明的保护范围更为全面地传达给本领域技术人员。
在本说明书中,诸如“包含”和“包括”之类的用语表示除了具有在说明书和权利要求书中有直接和明确表述的单元和步骤以外,本发明的技术方案也不排除具有未被直接或明确表述的其它单元和步骤的情形。
诸如“第一”和“第二”之类的用语并不表示单元在时间、空间、大小等方面的顺序而仅仅是作区分各单元之用。
图1示出了一种文本分类器生成方法的流程图,在该方法中,用于确定文本的特征向量的神经网络模型通过对作为教师模型的BERT模型进行知识蒸馏而得到。
BERT模型通常包括两种输出,其中一种为字符级向量,即每个字符对应一个向量;另外一种为句子级向量,即BERT模型输出最左边“[CLS]”特殊符号的向量,理论上认为该向量可以代表整个句子的语义。对于文本分类任务,重点关注的通常为句子级向量,即分类标识[CLS]的输出向量h。该输出向量h被提供给映射器(例如softmax映射器)以得到分类结果的输出。
如图1所示,在步骤S101,用于生成文本分类器的计算机系统对真实数据集进行数据预处理以得到数据集D,其中,预处理包括文本清洗和去除停用词等。
随后进入步骤S102,计算机系统对于数据集D,使用序列化生成对抗网络(seqGAN)模型生成大量领域内的相似无标签数据以形成数据集D'。
具体而言,seqGAN利用给定的数据集来训练一个参数为Θ的生成器Gen,从而生成序列y=(y1,y2,y3…,yt,...yT),yt∈Y,Y表示给定的数据集的字典。与此同时,seqGAN还对辨别器Dif进行训练以用于指导生成器Gen的改进。输入辨别器Dif的数据为给定的数据集和生成器G产生的数据的集合,辨别器Dif通过判断哪些数据是给定数据集的数据来产生奖励值Reward,即,奖励值Reward是基于辨别器Dif对数据的辨识程度而确定的。这种方法能够使生成器Gen生成与给定的数据集相近的高质量文本。
接着进入步骤S103,计算机系统用数据集D对教师模型或BERT模型进行微调,该微调过程包括两个预训练任务,即基于掩码语言模型(Masked Language Model)的训练和基于下句预测(Next Sentence Prediction)的训练。
在基于掩膜语言模型的训练过程中,对数据集D的文本样本中的句子按照下列方式处理。首先,在输入掩码语言模型模型之前随机遮罩句子中一定数量的字。随后,掩码语言模型对被遮罩的字进行预测(相当于执行完形填空的任务),以使BERT模型能够实现深度的双向表示。例如对于每个句子,可随机选择其中15%的字用于预测,对于被选的字,执行以下的策略:
(1)80%的概率用[MASK]去替代被选择的字;
(2)10%的概率用一个随机字去替代它;
(3)10%的概率保持不变。
在后续微调任务中语句中并不会出现[MASK]标记,因此如果全部使用[MASK]来替代被遮罩的字,则将导致模型的预训练与后续的微调不一致。上述策略的优点是:当预测一个词汇时,掩码语言模型模型并不知道输入的字是否为正确的字,这就使得模型更多地依赖于上下文信息去预测字,从而赋予模型一定的纠错能力。另外,这里只是以10%的概率随机替换被遮罩的字,因此整体上不会损害模型的语言理解能力。
基于下句预测的训练过程以下列方式执行。首先,对于一个文本样本中的两句句子,判断第二句句子在文本样本中是否紧跟在第一句句子之后。例如,可以从文本语料库中随机选择正确语句对(符合紧跟关系的两个句子)和错误语句对(不符合紧跟关系的两个句子)组成训练样本集,假设正确语句对和错误语句对的相对比例例如为50%,则从训练样本集选择一对句子A和B作为训练样本时,B有50%的概率是A的下一个句子,也有50%的概率是来自语料库中随机选择的句子,因此基于下句预测的训练过程本质上是在训练一个二分类模型用于判断句子之间的正确关系。该训练过程是为了让BERT模型学习到两个句子之间的关系。
接着进入步骤S104,用微调的教师模型或BERT模型对步骤S102所生成的无标签数据集D'进行预测,对每条数据进行标注。预测方法例如可以是将文本样本输入BERT模型,将模型最后一层最左边的[CLS]符号的特征向量作为整个句子的特征向量,并且对特征向量做softmax映射以得到全部意图类别对应的发生概率,其中,概率值最大的意图类别被确定为该文本样本的预测结果并进行标注。
随后进入步骤S105,通过知识蒸馏,由利用数据集D'训练过的教师模型(步骤S104中训练的BERT模型)生成学生模型。学生模型可以是Text-CNN模型,该模型将一个句子及其单词的词向量视为一个矩阵并作为模型的输入,通过卷积层和池化层提取语义特征进行句子的分类。对于一个文本,学生模型可以对其中的每个句子进行分类,并由此得到该文本的特征向量,其中特征向量的各个分量表示其中一个句子的类别。
知识蒸馏过程可以按照下列方式进行:用数据集D和D'共同对学生模型或Text-CNN模型进行训练,同时用数据所属类别(“硬标签”)和教师模型预测值(“软标签”)构建损失函数以作为训练目标。例如可以采用如下的损失函数Loss:
Loss=λ×Ldistill+(1-λ)×LCE=λ×cross entropy(si,ti)+(1-λ)×crossentropy(si,yi) (1)
其中,λ为平衡参数,其可根据具体的应用场合确定,si表示学生模型对于当前数据的输出,yi表示分类硬标签,ti表示教师模型对当前数据的输出(即软标签)。crossentropy表示交叉墒损失函数,Ldistill表示教师模型与学生模型之间进行知识蒸馏时的损失函数,LCE表示学生模型的输出与标注的分类硬标签之间的交叉墒损失函数。
通过上述知识蒸馏过程,在无需标注新的数据并且无需新增其他计算资源的情况下得到了一个准确率高且模型参数量小的学生模型Text-CNN。
图1所示方法训练得到的学生模型或Text-CNN模型可被用于文本意图的分类。具体而言,学生模型可由输入的待分类的文本生成该文本的特征向量,其中,特征向量的各个分量表示文本中的其中一个句子的类别。所生成的特征向量被输入softmax映射器以执行归一化操作。softmax函数是一种归一化指数函数,其可表示如下
对于序列V={V1,V2,...Vi,...Vn},假设第i个元素Vi取值为xi,则其相应的softmax值在分类任务中,Si代表第i个类别的发生概率,因此所有类别的概率和为1。在文本意图识别应用中,可以将最大概率值所对应的类别确定为文本所属的类别。
原生BERT模型是利用全领域的语料训练得到的通用型模型。由于特定应用领域涉及到的语料与全领域语料集的差别较大,因此对于特定应用领域而言,原生BERT模型较为冗杂并且识别效率和准确率均有较大的潜力空间。在本发明的一个或多个实施例中,利用特定应用领域的数据集对BERT模型进行微调,使其包含更多特定应用领域的知识,从而改善该模型与特定应用领域之间的适配性。
在图1所示的方法中,微调过程包括两个预训练任务,即基于掩码语言模型的训练和基于下句预测的训练。本发明的发明人经过深入研究后发现,取消该训练任务对于模型的识别准确率并无影响。因此在本发明的一个或多个实施例中,优选地,微调过程仅执行基于掩码语言模型的训练任务。由此,可以在不牺牲准确率的情况下提高模型的收敛速度。
在图1所示的方法中,基于掩码语言模型的训练过程以字为单位对句子进行遮罩处理。本发明的发明人经过深入研究后发现,与以字为单位进行遮罩相比,以词为单位进行遮罩反而保留了更为丰富的文本信息,因此通过以词为单位对句子进行遮罩处理可以明显改善识别的准确率。在本发明的一个或多个实施例中,优选地,使用命名实体的结果来遮罩句子中的实体,以使模型能够很好地获取有关实体之间关系的信息。
在图1所示的方法中,进行知识蒸馏时的学生模型为Text-CNN模型。本发明的发明人经过深入研究后发现,利用精简的BERT模型替代Text-CNN模型作为学生模型,不仅提高了识别准确率,而且还提高了训练效率。这是由于Text-CNN模型与作为教师模型的BERT模型在网络结构上完全不同,因此学生模型无法充分利用BERT模型中间层的信息而只能聚焦教师模型的最终预测的概率分布上。在本发明的一个或多个实施例中,优选地,学生模型采用与BERT模型具有同样网络结构但是层数减少的精简的BERT模型,使得学生模型还能够有效学习到教师模型的中间隐藏层的特征信息。如上所述,对Text-CNN模型的训练需要提供两个数据集D和D'。相对照地,在本发明的一个或多个实施例中,仅需提供一个数据集D即可对精简的BERT模型进行训练,因此节省了计算资源并且提高了训练速度。
图2为按照本发明一个实施例的用于生成文本意图分类器的方法的流程图。在本实施例和下面将要描述的实施例中,示例性地采用BERT模型作为教师模型。但是需要指出的是,本发明并不局限于特定类型的教师模型。教师模型的其它例子包括但不限于XLNET模型和ALBERT模型等。
如图2所示,在步骤S201,用于生成文本分类器的计算机系统被输入原始训练数据集。随后,在步骤S202,计算机系统对原始数据集进行数据预处理以得到数据集D,其中,预处理包括文本清洗和去除停用词等。
随后进入步骤S203,计算机系统执行下面将借助图3进行详细描述的模型预训练过程。在该预训练过程中,利用训练数据集D对BERT模型进行预训练以改善该模型与关联于训练数据集的应用领域之间的适配性。
之后进入步骤S204。在该步骤中,计算机系统通过知识蒸馏,由预训练的BERT模型生成学生模型。有关学生模型的生成过程将在下面借助图4作详细的描述。
步骤S204之后进入步骤S205。在该步骤中,计算机系统将步骤S204所生成的学生模型连接到输出层以生成文本意图分类器。可选地,输出层包含softmax映射器。
图3为可应用于图2的方法的BERT模型预训练过程的流程图。
如图3所示,在步骤S301,计算机处理系统进行分词处理。具体而言,对于数据集D中的每个文本样本,计算机系统利用分词工具对该文本样本所包含的句子进行分词处理。分词处理的结果包括单词的划分以及被划分的单词在文本样本中的起始位置。
接着进入步骤S302,计算机系统对所划分的单词进行命名实体识别。例如,可以对分词处理的结果进行语法分析,并将分析的结果输入条件随机场以得到每个单词相对于序列标注方案的标签值,从而抽取出文本样本中包含的命名实体。
之后进入步骤S303,计算机处理系统利用掩码语言模型对BERT模型或教师模型进行微调以得到经过预训练的BERT模型。优选地,在本实施例中,掩码语言模型中被随机遮罩的对象为经命名实体识别的单词。也就是说,掩码语言模型中随机遮罩以经步骤S302识别的实体对应的词为单位进行。
图4为可应用于图2的方法的学生模型生成过程的流程图。
如图4所示,在步骤S401,计算机系统从经过预训练的BERT模型或教师模型(例如利用图3所示方法预训练的模型)中抽取一部分的层以构建精简或压缩的BERT模型。假设BERT模型或教师模型的层数为12,精简的BERT模型的层数例如可以是3层或者6层。示例性地,可以采用跳跃策略来选择精简的BERT模型的层。例如,当从12层压缩到6层时,可以从教师模型中抽取第2、4、8、10和12层构建精简的BERT模型。
接着进入步骤S402,计算机系统利用数据集D对精简的BERT模型进行训练以得到学生模型。优选地,可以按照下列方式由精简的BERT模型得到学生模型。
由于BERT在处理分类问题时会在每条文本之前打上一个[CLS]标签,模型的预测都是基于[CLS]的特征表示之上,对于一个输入xi,精简或压缩的BERT模型的所有层的输出可以表示为:
hi=[hi,1,hi,2,...,hi,k]=Bertk(xi) (3)
其中hi为精简或压缩的BERT模型的各层输出,hi,1为输入Xi在精简的BERT模型的第1层的输出,hi,2为输入Xi在精简的BERT模型的第2层的输出,以此类推,hi,k为输入Xi在精简的BERT模型的第k层的输出,BERK(xi)为BERT模型在精简或压缩为k层后,对于输入xi的输出,k表示压缩后的模型层数。为了能够使模型有效收敛,可使用一个额外的损失函数LPT,希望压缩后的模型依然能够学习到[CLS]字符的特征表示,且学生模型的隐藏层表示能接近教师模型的隐藏层表示。损失函数可以定义如下:
其中M表示学生模型层数,N表示训练样本的数量,上标s和t分别表示学生模型和教师模型,ht i,Ipt(j)为第i个样本在教师模型的第Ipt(j)层的输出,hs i,j为第i个样本在学生模型的第j层的输出。需要指出的是,学生模型是按照一定规则压缩教师模型的层数而得到的,因此学生模型层数的序号与教师模型层数的序号Ipt(j)之间具有确定的对应关系。例如可以通过从12层的教师模型中抽取第2、4、8、10和12层而构建精简的BERT模型或学生模式,此时学生模型的第1层对应于教师模型的第2层,即Ipt(1)=2,学生模型的第2层对应于教师模型的第4层,即Ipt(2)=4,以此类推。
压缩后的模型在保持精度没有太大变化的情况下极大地提高了运行效率,以3层模型为例,模型总参数量减少了2.4倍,运行速度可以提升3.5倍左右。
当进行文本意图分类时,取BERT最后一层的文本最左侧[CLS]符号的输出特征F作为文本的向量表示,将输出特征F与矩阵W相乘,从而完成全连接运算,这里的矩阵W设计为能够将输出特征F变换为设定行数和列数的矩阵或输出向量。最后例如按照下列方式对输出向量做softmax归一化处理:
其中z表示分类数量,Content表示输入语句,Ci表示第i个分类,P表示Content属于分类Ci的概率。由此得到输入语句的z个意图类的概率,并从中选择最大值作为分类结果。
图5为按照本发明另一个实施例的用于生成文本意图分类器的装置的示意图。
如图5所示,本实施例的用于生成文本意图分类器的装置500包括存储器510、处理器520和存储在存储器上的计算机程序530。计算机程序530可在处理器510上运行以执行上面借助图2-4所描述的用于生成文本意图分类器的方法的各个步骤。
图6为按照本发明另一个实施例的用于对文本意图进行分类的方法的流程图。
如图6所示,在步骤S601,向文本意图分类器输入待分类的文本。
随后进入步骤S602,利用文本意图分类器中的神经网络模型对待分类文本中的句子进行语义分类以得到该文本的特征向量。用于生成文本的特征向量的神经网络模型例如可以是上面所述利用图2-4所述的方法训练得到的学生模型。
之后进入步骤S603,利用文本分类器的输出层,由步骤S602生成的文本的特征向量确定该文本属于各个类别的概率值。
接着进入步骤S604,将待分类的文本确定为属于最大概率值所对应的类别。
图7为按照本发明另一个实施例的文本意图分类器的示意图。
如图7所示,本实施例的文本意图分类器包括输入单元710、与输入单元耦合的处理单元720和与处理单元720耦合的输出单元730。
在图7所示的文本意图分类器中,输入单元710配置为接收待分类的文本并提供给处理单元720,处理单元720配置为确定文本所属的意图类别,而输出单元730配置为输出处理单元720所确定的分类结果。
参见图7,处理单元720包含特征向量生成模型721和输出层722。特征向量生成模型721配置为对来自输入单元710的待分类的文本所包含的句子进行语义分类以获取该文本的特征向量,其例如可以是上面所述利用图2-4所述的方法训练得到的学生模型。
输出层722与特征向量生成模型721的输出相连,其配置为基于待分类的文本的特征向量确定该文本所属的类别。可选地,输出层722可按照下列方式确定类别:首先,由文本的特征向量确定该文本属于各个类别的概率值,随后将待分类的文本确定为属于最大概率值所对应的类别。
按照本发明的另一个方面,还提供了一种计算机可读存储介质,其上存储计算机程序,其特征在于,该计算机程序被处理器执行时可实现上面借助图2-4所述的方法。
按照本发明的另一个方面,还提供了一种计算机可读存储介质,其上存储计算机程序,其特征在于,该计算机程序被处理器执行时可实现上面借助图6所述的方法。
提供本文中提出的实施例和示例,以便最好地说明按照本技术及其特定应用的实施例,并且由此使本领域的技术人员能够实施和使用本发明。但是,本领域的技术人员将会知道,仅为了便于说明和举例而提供以上描述和示例。所提出的描述不是意在涵盖本发明的各个方面或者将本发明局限于所公开的精确形式。
鉴于以上所述,本公开的范围通过以下权利要求书来确定。
Claims (22)
1.一种用于生成文本意图分类器的方法,其特征在于,包含下列步骤:
获得训练数据集,所述训练数据集包含多个文本样本,每个文本样本包含一个或多个句子;
利用所述训练数据集对第一神经网络模型进行预训练以改善所述第一神经网络模型与关联于所述训练数据集的应用领域之间的适配性,其中,所述第一神经网络模型配置为对文本样本中的句子进行语义分类以得到该文本样本的特征向量;
由经过预训练的第一神经网络模型生成第二神经网络模型,其中,第二神经网络模型的层数少于经过预训练的第一神经网络模型的层数;以及
将所述第二神经网络模型连接到输出层以生成文本意图分类器。
2.如权利要求1所述的方法,其中,获得训练数据集的步骤包括:
输入原始训练数据集;以及
对所述原始训练数据集中的文本样本进行预处理以生成所述训练数据集中的文本样本,所述预处理包括文本清洗和去除停用词。
3.如权利要求1所述的方法,其中,所述第一神经网络模型为下列模型中的一种:BERT模型、XLNET模型和ALBERT模型。
4.如权利要求2或3所述的方法,其中,利用所述训练数据集对第一神经网络模型进行预训练的步骤包括:
对文本样本中所包含的句子进行分词处理;
对所划分的单词进行命名实体识别;以及
利用掩码语言模型来对所述第一神经网络模型进行微调以得到经过预训练的第一神经网络模型,其中,掩码语言模型中被随机遮罩的对象为经命名实体识别的单词。
5.如权利要求1所述的方法,其中,通过知识蒸馏方法由经过预训练的第一神经网络模型生成第二神经网络模型。
6.如权利要求5所述的方法,其中,由经过预训练的第一神经网络模型生成第二神经网络模型的步骤包括:
从经过预训练的第一神经网络模型中抽取一部分的层以构建精简的神经网络模型;以及
利用经过预训练的第一神经网络模型对精简的神经网络模型进行训练以得到所述第二神经网络模型。
8.如权利要求1所述的方法,其中,所述输出层包含softmax映射器。
9.一种用于生成文本意图分类器的装置,包括:
存储器;
处理器;以及
存储在所述存储器上并可在所述处理器上运行以执行如权利要求1-8中任意一项所述的方法中的步骤的计算机程序。
10.一种用于对文本意图进行分类的方法,其特征在于,包含下列步骤:
输入文本;以及
利用由如权利要求1-8中任意一项所述的方法生成的文本意图分类器来确定所输入文本的类别。
11.如权利要求10所述的方法,其中,确定所输入文本的类别的步骤包括:
利用第二神经网络模型对所输入文本中的句子进行语义分类以得到所输入文本的特征向量;
利用输出层,由所输入文本的特征向量确定所输入文本属于各个类别的概率值;以及
将所输入文本确定为属于最大概率值所对应的类别。
12.一种文本意图分类器,其特征在于,包括:
输入单元,配置为接收待分类的文本;
处理单元,包含:
特征向量生成模型,配置为对待分类的文本所包含的句子进行语义分类以获取该文本的特征向量;
与特征向量生成模型的输出相连的输出层,配置为基于所述待分类的文本的特征向量确定该文本所属的类别;以及
输出单元,配置为输出分类结果,
其中,所述特征向量生成模型按照下列方式得到:
获得训练数据集,所述训练数据集包含多个文本样本,每个文本样本包含一个或多个句子;
利用所述训练数据集对第一神经网络模型进行预训练以改善所述第一神经网络模型与关联于所述训练数据集的应用领域之间的适配性,其中,所述第一神经网络模型配置为对文本样本中的句子进行语义分类以得到该文本样本的特征向量;
由经过预训练的第一神经网络模型生成特征向量生成模型,其中,特征向量生成模型的层数少于经过预训练的第一神经网络模型的层数。
13.如权利要求12所述的文本意图分类器,其中,获得训练数据集的方式为:
输入原始训练数据集;以及
对所述原始训练数据集中的文本样本进行预处理以生成所述训练数据集中的文本样本,所述预处理包括文本清洗和去除停用词。
14.如权利要求12所述的文本意图分类器,其中,所述第一神经网络模型为下列模型中的一种:BERT模型、XLNET模型和ALBERT模型。
15.如权利要求13或14所述的文本意图分类器,其中,利用所述训练数据集对第一神经网络模型进行预训练的方式为:
对文本样本中所包含的句子进行分词处理;
对所划分的单词进行命名实体识别;以及
利用掩码语言模型来对所述第一神经网络模型进行微调以得到经过预训练的第一神经网络模型,其中,掩码语言模型中被随机遮罩的对象为经命名实体识别的单词。
16.如权利要求12所述的文本意图分类器,其中,通过知识蒸馏方法由经过预训练的第一神经网络模型生成特征向量生成模型。
17.如权利要求16所述的文本意图分类器,其中,由经过预训练的第一神经网络模型生成特征向量生成模型的方式为:
从经过预训练的第一神经网络模型中抽取一部分的层以构建精简的神经网络模型;以及
利用经过预训练的第一神经网络模型对精简的神经网络模型进行训练以得到所述特征向量生成模型。
19.如权利要求12所述的文本意图分类器,其中,所述输入层按照下列方式确定待分类的文本的类别:
由待分类的文本的特征向量确定该文本属于各个类别的概率值;以及
将待分类的文本确定为属于最大概率值所对应的类别。
20.如权利要求12所述的文本意图分类器,其中,所述输出层包含softmax映射器。
21.一种计算机可读存储介质,其上存储计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8中任意一项所述的方法。
22.一种计算机可读存储介质,其上存储计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求10或11所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110265003.8A CN112905795A (zh) | 2021-03-11 | 2021-03-11 | 文本意图分类的方法、装置和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110265003.8A CN112905795A (zh) | 2021-03-11 | 2021-03-11 | 文本意图分类的方法、装置和可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905795A true CN112905795A (zh) | 2021-06-04 |
Family
ID=76104909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110265003.8A Pending CN112905795A (zh) | 2021-03-11 | 2021-03-11 | 文本意图分类的方法、装置和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905795A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254617A (zh) * | 2021-06-11 | 2021-08-13 | 成都晓多科技有限公司 | 基于预训练语言模型和编码器的消息意图识别方法及系统 |
CN113569581A (zh) * | 2021-08-26 | 2021-10-29 | 中国联合网络通信集团有限公司 | 意图识别方法、装置、设备及存储介质 |
CN113626564A (zh) * | 2021-10-09 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 一种概念标签生成方法、装置、电子设备和存储介质 |
CN113688244A (zh) * | 2021-08-31 | 2021-11-23 | 中国平安人寿保险股份有限公司 | 基于神经网络的文本分类方法、系统、设备及存储介质 |
CN114021546A (zh) * | 2021-09-08 | 2022-02-08 | 北京市农林科学院信息技术研究中心 | 迁移语境网络的大桃生产知识开放问答方法及装置 |
CN114218924A (zh) * | 2021-07-27 | 2022-03-22 | 广东电力信息科技有限公司 | 一种基于bert模型的文本意图及实体联合识别方法 |
CN114519399A (zh) * | 2022-02-22 | 2022-05-20 | 平安科技(深圳)有限公司 | 基于人工智能的文本分类方法、装置、设备和存储介质 |
CN114723073A (zh) * | 2022-06-07 | 2022-07-08 | 阿里健康科技(杭州)有限公司 | 语言模型预训练、产品搜索方法、装置以及计算机设备 |
CN116579345A (zh) * | 2023-07-14 | 2023-08-11 | 亚信科技(中国)有限公司 | 命名实体识别模型的训练方法、命名实体识别方法及装置 |
CN116719945A (zh) * | 2023-08-08 | 2023-09-08 | 北京惠每云科技有限公司 | 一种医学短文本的分类方法、装置、电子设备及存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526798A (zh) * | 2017-08-18 | 2017-12-29 | 武汉红茶数据技术有限公司 | 一种基于神经网络的实体识别和规范化联合方法及模型 |
CN107609113A (zh) * | 2017-09-13 | 2018-01-19 | 北京科技大学 | 一种文本自动分类方法 |
CN109215662A (zh) * | 2018-09-18 | 2019-01-15 | 平安科技(深圳)有限公司 | 端对端语音识别方法、电子装置及计算机可读存储介质 |
CN109871444A (zh) * | 2019-01-16 | 2019-06-11 | 北京邮电大学 | 一种文本分类方法及系统 |
CN110263323A (zh) * | 2019-05-08 | 2019-09-20 | 清华大学 | 基于栅栏式长短时记忆神经网络的关键词抽取方法及系统 |
CN111160017A (zh) * | 2019-12-12 | 2020-05-15 | 北京文思海辉金信软件有限公司 | 关键词抽取方法、话术评分方法以及话术推荐方法 |
CN111611377A (zh) * | 2020-04-22 | 2020-09-01 | 淮阴工学院 | 基于知识蒸馏的多层神经网络语言模型训练方法与装置 |
CN111666502A (zh) * | 2020-07-08 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种基于深度学习的异常用户识别方法、装置及存储介质 |
CN111695334A (zh) * | 2019-03-12 | 2020-09-22 | 北京奇虎科技有限公司 | 一种文本相关性识别模型的训练方法及装置 |
CN111709493A (zh) * | 2020-07-10 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 对象分类方法、训练方法、装置、设备及存储介质 |
CN111985239A (zh) * | 2020-07-31 | 2020-11-24 | 杭州远传新业科技有限公司 | 实体识别方法、装置、电子设备及存储介质 |
CN112001187A (zh) * | 2020-08-26 | 2020-11-27 | 重庆理工大学 | 一种基于中文句法和图卷积神经网络的情感分类系统 |
CN112001186A (zh) * | 2020-08-26 | 2020-11-27 | 重庆理工大学 | 一种利用图卷积神经网络和中文句法的情感分类方法 |
CN112084337A (zh) * | 2020-09-17 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 文本分类模型的训练方法、文本分类方法及设备 |
CN112084790A (zh) * | 2020-09-24 | 2020-12-15 | 中国民航大学 | 一种基于预训练卷积神经网络的关系抽取方法及系统 |
CN112214601A (zh) * | 2020-10-21 | 2021-01-12 | 厦门市美亚柏科信息股份有限公司 | 一种社交短文本情感分类方法、装置及存储介质 |
-
2021
- 2021-03-11 CN CN202110265003.8A patent/CN112905795A/zh active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526798A (zh) * | 2017-08-18 | 2017-12-29 | 武汉红茶数据技术有限公司 | 一种基于神经网络的实体识别和规范化联合方法及模型 |
CN107609113A (zh) * | 2017-09-13 | 2018-01-19 | 北京科技大学 | 一种文本自动分类方法 |
CN109215662A (zh) * | 2018-09-18 | 2019-01-15 | 平安科技(深圳)有限公司 | 端对端语音识别方法、电子装置及计算机可读存储介质 |
CN109871444A (zh) * | 2019-01-16 | 2019-06-11 | 北京邮电大学 | 一种文本分类方法及系统 |
CN111695334A (zh) * | 2019-03-12 | 2020-09-22 | 北京奇虎科技有限公司 | 一种文本相关性识别模型的训练方法及装置 |
CN110263323A (zh) * | 2019-05-08 | 2019-09-20 | 清华大学 | 基于栅栏式长短时记忆神经网络的关键词抽取方法及系统 |
CN111160017A (zh) * | 2019-12-12 | 2020-05-15 | 北京文思海辉金信软件有限公司 | 关键词抽取方法、话术评分方法以及话术推荐方法 |
CN111611377A (zh) * | 2020-04-22 | 2020-09-01 | 淮阴工学院 | 基于知识蒸馏的多层神经网络语言模型训练方法与装置 |
CN111666502A (zh) * | 2020-07-08 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种基于深度学习的异常用户识别方法、装置及存储介质 |
CN111709493A (zh) * | 2020-07-10 | 2020-09-25 | 腾讯科技(深圳)有限公司 | 对象分类方法、训练方法、装置、设备及存储介质 |
CN111985239A (zh) * | 2020-07-31 | 2020-11-24 | 杭州远传新业科技有限公司 | 实体识别方法、装置、电子设备及存储介质 |
CN112001187A (zh) * | 2020-08-26 | 2020-11-27 | 重庆理工大学 | 一种基于中文句法和图卷积神经网络的情感分类系统 |
CN112001186A (zh) * | 2020-08-26 | 2020-11-27 | 重庆理工大学 | 一种利用图卷积神经网络和中文句法的情感分类方法 |
CN112084337A (zh) * | 2020-09-17 | 2020-12-15 | 腾讯科技(深圳)有限公司 | 文本分类模型的训练方法、文本分类方法及设备 |
CN112084790A (zh) * | 2020-09-24 | 2020-12-15 | 中国民航大学 | 一种基于预训练卷积神经网络的关系抽取方法及系统 |
CN112214601A (zh) * | 2020-10-21 | 2021-01-12 | 厦门市美亚柏科信息股份有限公司 | 一种社交短文本情感分类方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
WEIXIN_33933118: "BERT:预训练的深度双向 Transformer 语言模型", 《HTTPS://BLOG.CSDN.NET/WEIXIN_33933118/ARTICLE/DETAILS/88022601》, 19 February 2019 (2019-02-19), pages 1 - 14 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254617A (zh) * | 2021-06-11 | 2021-08-13 | 成都晓多科技有限公司 | 基于预训练语言模型和编码器的消息意图识别方法及系统 |
CN114218924A (zh) * | 2021-07-27 | 2022-03-22 | 广东电力信息科技有限公司 | 一种基于bert模型的文本意图及实体联合识别方法 |
CN113569581A (zh) * | 2021-08-26 | 2021-10-29 | 中国联合网络通信集团有限公司 | 意图识别方法、装置、设备及存储介质 |
CN113569581B (zh) * | 2021-08-26 | 2023-10-17 | 中国联合网络通信集团有限公司 | 意图识别方法、装置、设备及存储介质 |
CN113688244A (zh) * | 2021-08-31 | 2021-11-23 | 中国平安人寿保险股份有限公司 | 基于神经网络的文本分类方法、系统、设备及存储介质 |
CN114021546A (zh) * | 2021-09-08 | 2022-02-08 | 北京市农林科学院信息技术研究中心 | 迁移语境网络的大桃生产知识开放问答方法及装置 |
CN113626564B (zh) * | 2021-10-09 | 2021-12-17 | 腾讯科技(深圳)有限公司 | 一种概念标签生成方法、装置、电子设备和存储介质 |
CN113626564A (zh) * | 2021-10-09 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 一种概念标签生成方法、装置、电子设备和存储介质 |
CN114519399A (zh) * | 2022-02-22 | 2022-05-20 | 平安科技(深圳)有限公司 | 基于人工智能的文本分类方法、装置、设备和存储介质 |
CN114723073A (zh) * | 2022-06-07 | 2022-07-08 | 阿里健康科技(杭州)有限公司 | 语言模型预训练、产品搜索方法、装置以及计算机设备 |
CN114723073B (zh) * | 2022-06-07 | 2023-09-05 | 阿里健康科技(杭州)有限公司 | 语言模型预训练、产品搜索方法、装置以及计算机设备 |
CN116579345A (zh) * | 2023-07-14 | 2023-08-11 | 亚信科技(中国)有限公司 | 命名实体识别模型的训练方法、命名实体识别方法及装置 |
CN116579345B (zh) * | 2023-07-14 | 2023-10-24 | 亚信科技(中国)有限公司 | 命名实体识别模型的训练方法、命名实体识别方法及装置 |
CN116719945A (zh) * | 2023-08-08 | 2023-09-08 | 北京惠每云科技有限公司 | 一种医学短文本的分类方法、装置、电子设备及存储介质 |
CN116719945B (zh) * | 2023-08-08 | 2023-10-24 | 北京惠每云科技有限公司 | 一种医学短文本的分类方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905795A (zh) | 文本意图分类的方法、装置和可读介质 | |
CN113987209B (zh) | 基于知识指导前缀微调的自然语言处理方法、装置、计算设备和存储介质 | |
CN113010693B (zh) | 融合指针生成网络的知识图谱智能问答方法 | |
CN110427461B (zh) | 智能问答信息处理方法、电子设备及计算机可读存储介质 | |
CN112270379A (zh) | 分类模型的训练方法、样本分类方法、装置和设备 | |
CN109214006B (zh) | 图像增强的层次化语义表示的自然语言推理方法 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN111046179A (zh) | 一种面向特定领域开放网络问句的文本分类方法 | |
CN112749274B (zh) | 基于注意力机制和干扰词删除的中文文本分类方法 | |
CN108733647B (zh) | 一种基于高斯分布的词向量生成方法 | |
CN113987179A (zh) | 基于知识增强和回溯损失的对话情绪识别网络模型、构建方法、电子设备及存储介质 | |
WO2023137911A1 (zh) | 基于小样本语料的意图分类方法、装置及计算机设备 | |
CN111507093A (zh) | 一种基于相似字典的文本攻击方法、装置及存储介质 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN112988970A (zh) | 一种服务于智能问答系统的文本匹配算法 | |
CN113761868A (zh) | 文本处理方法、装置、电子设备及可读存储介质 | |
Mankolli et al. | Machine learning and natural language processing: Review of models and optimization problems | |
CN113806489A (zh) | 用于数据集创建的方法、电子设备和计算机程序产品 | |
Zhang et al. | Chatbot design method using hybrid word vector expression model based on real telemarketing data | |
CN116680407A (zh) | 一种知识图谱的构建方法及装置 | |
CN117216617A (zh) | 文本分类模型训练方法、装置、计算机设备和存储介质 | |
CN114357166B (zh) | 一种基于深度学习的文本分类方法 | |
CN114239575B (zh) | 语句分析模型的构建方法、语句分析方法、装置、介质和计算设备 | |
CN115510230A (zh) | 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法 | |
CN115600595A (zh) | 一种实体关系抽取方法、系统、设备及可读存储介质 |
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 |