CN114048290A - 一种文本分类方法及装置 - Google Patents

一种文本分类方法及装置 Download PDF

Info

Publication number
CN114048290A
CN114048290A CN202111386639.4A CN202111386639A CN114048290A CN 114048290 A CN114048290 A CN 114048290A CN 202111386639 A CN202111386639 A CN 202111386639A CN 114048290 A CN114048290 A CN 114048290A
Authority
CN
China
Prior art keywords
text
vector
loss function
label
matrix
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
Application number
CN202111386639.4A
Other languages
English (en)
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.)
Dingfu Intelligent Technology Co ltd
Original Assignee
Dingfu Intelligent 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 Dingfu Intelligent Technology Co ltd filed Critical Dingfu Intelligent Technology Co ltd
Priority to CN202111386639.4A priority Critical patent/CN114048290A/zh
Publication of CN114048290A publication Critical patent/CN114048290A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种文本分类方法及装置。其中,该方法包括:获取文本的文本表示向量与标签矩阵之间的相似度向量;获取从相似度向量到文本对应的标签之间的第一损失函数;对文本表示向量进行线性映射,得到文本的对抗向量;获取从对抗向量到文本对应的标签之间的第二损失函数;将第一损失函数和第二损失函数的结合作为文本分类模型的总损失函数,以训练文本分类模型;根据训练后的文本分类模型对未知文本进行分类。本申请实施例的技术方案,通过引入对抗训练使文本分类模型不再专注于学习某个类别的简单特征,而是学习到各个类别的共性特征,使文本分类模型学习到类别更深层次的表示,提高了文本分类模型的泛化性和鲁棒性。

Description

一种文本分类方法及装置
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种文本分类方法及装置。
背景技术
目前,由于基于深度神经网络的文本分类模型通常使用特定的数据集训练得到,因此文本分类模型的参数和类别标签(以下简称标签)一般是非常固定的,这就导致了在某一个数据集上训练的文本分类模型无法直接应用在其他数据集场景中。
以训练一个新闻领域的文本分类模型为例。假设有两个数据集:其中一个数据集是电视新闻数据集(以下简称数据集1),标签包括文化、体育、经济等;另一个数据集是网络新闻数据集(以下简称数据集2),标签除了包含文化、体育、经济等以外,还包括娱乐、军事、搞笑等电视新闻数据集没有的标签,因此标签的数量更多,对标签的语言描述也更加丰富。在这种情况下,如果使用数据集1训练一个文本分类模型,那么该文本分类模型由于标签不能修改、数据集差异等原因不能很好地应用在数据集2上,导致文本分类模型的泛化性和鲁棒性较差。
发明内容
本申请实施例提供了一种文本分类方法及装置,以解决目前基于文本分类模型的文本分类方案泛化性和鲁棒性差的问题。
第一方面,本申请实施例提供了一种文本分类方法,该方法可以应用于文本分类模型,包括:获取文本的文本表示向量与标签矩阵之间的相似度向量,标签矩阵包括多个标签向量,每个标签向量对应一个类别;获取从相似度向量到文本对应的标签之间的第一损失函数;对文本表示向量进行线性映射,得到文本的对抗向量;获取从对抗向量到文本对应的标签之间的第二损失函数;将第一损失函数和第二损失函数的结合作为文本分类模型的总损失函数,以训练文本分类模型;根据训练后的文本分类模型对未知文本进行分类。
本申请实施例提供的文本分类方法,通过引入对抗训练使文本分类模型不再专注于学习某个类别的简单特征,而是学习到各个类别的共性特征,使文本分类模型学习到类别更深层次的表示,提高了文本分类模型的泛化性和鲁棒性。这样,文本分类模型可以很容易地在不同的数据集之间迁移使用,而无需重新训练。
在一种实现方式中,将第一损失函数和第二损失函数的结合,通过以下公式实现:
L=Ltask+αLAdv
其中,Ltask为第一损失函数,LAdv为第二损失函数,L为总损失函数,α为可变的超参数。
在一种实现方式中,获取文本的文本表示向量与标签矩阵之间的相似度向量之前,还包括:将文本切分成多个子文本;将文本的切分结果转换成文本的编码表示;将文本的编码表示输入到预训练的语言模型,以得到文本表示向量。
在一种实现方式中,文本表示向量为以下任意一种:文本表示向量为文本的首个字符或词对应的向量;或者,文本表示向量为子文本隐含层维度的最大池化向量;或者,文本表示向量为子文本隐含层维度的平均池化向量。
在一种实现方式中,标签矩阵通过以下任意一种方式生成:将各个类别的标签向量以随机初始化的方式生成标签矩阵;或者,为每个类别的标签添加一个或者多个描述文本,将各个标签的描述文本输入到语言模型,以得到对应的描述文本向量,将各个标签的描述文本向量构成标签矩阵;或者,为每个类别的标签添加至少一个高频词,将各个标签的高频词输入到语言模型,以得到对应的高频词向量,将各个标签的高频词向量构成标签矩阵。
在一种实现方式中,相似度向量为文本表示向量与标签矩阵的转置的矩阵乘积;或者,相似度向量为对归一化后的文本表示向量和归一化后的标签矩阵的转置的矩阵乘积;或者,相似度向量为文本表示向量与标签矩阵的欧式距离。
在一种实现方式中,第一损失函数为相似度向量与文本对应的标签之间的交叉熵损失函数;或者,第一损失函数为相似度向量与文本对应的标签之间的二元交叉熵损失函数;或者,第一损失函数为相似度向量与文本对应的标签之间的单文档法损失函数;或者,第一损失函数为相似度向量与文本对应的标签之间的文档对法损失函数。
在一种实现方式中,该方法还包括:将文本的子文本隐含层输出组成文本表示矩阵;将标签的子文本隐含层输出组成标签表示矩阵;将文本表示矩阵与标签表示矩阵之间的陆地移动距离作为第一损失函数。
在一种实现方式中,获取从对抗向量到文本对应的标签之间的第二损失函数,包括:使用交叉熵损失函数获取第二损失函数。
第二方面,本申请实施例提供了一种文本分类装置,包括:向量表示模块,用于获取文本的文本表示向量与标签矩阵之间的相似度向量,标签矩阵包括多个标签向量,每个标签向量对应一个类别;第一损失函数获取模块,用于获取从相似度向量到文本对应的标签之间的第一损失函数;对抗向量生成模块,用于对文本表示向量进行线性映射,得到文本的对抗向量;第二损失函数获取模块,用于获取从对抗向量到文本对应的标签之间的第二损失函数;总损失函数获取模块,用于将第一损失函数和第二损失函数的结合作为文本分类模型的总损失函数,以训练文本分类模型;文本分类模块,用于根据训练后的文本分类模型对未知文本进行分类。
本申请实施例提供的文本分类装置,通过引入对抗训练使文本分类模型不再专注于学习某个类别的简单特征,而是学习到各个类别的共性特征,使文本分类模型学习到类别更深层次的表示,提高了文本分类模型的泛化性和鲁棒性。这样,文本分类模型可以很容易地在不同的数据集之间迁移使用,而无需重新训练。
附图说明
图1是本申请实施例提供的文本分类方法的流程图;
图2是本申请实施例提供的生成文本的表示向量的方法的流程图;
图3是本申请实施例提供的一种文本分类装置的结构示意图;
图4是本申请实施例提供的一种文本分类装置的结构示意图。
具体实施方式
目前,由于基于深度神经网络的文本分类模型通常使用特定的数据集训练得到,因此文本分类模型的参数和类别标签(以下简称标签)一般是非常固定的,这就导致了在某一个数据集上训练的文本分类模型无法直接应用在其他数据集场景中。
以训练一个新闻领域的文本分类模型为例。假设有两个数据集:其中一个数据集是电视新闻数据集(以下简称数据集1),标签包括文化、体育、经济等;另一个数据集是网络新闻数据集(以下简称数据集2),标签除了包含文化、体育、经济等以外,还包括娱乐、军事、搞笑等电视新闻数据集没有的标签,因此标签的数量更多,对标签的语言描述也更加丰富。在这种情况下,文本分类模型的泛化性和鲁棒性较差,例如:如果使用数据集1训练一个文本分类模型,那么该文本分类模型不能很好地应用在数据集2上。其原因包括:1、文本分类模型在训练之后无法对标签进行缩放,即训练时预先设定的标签不能修改,如果需要修改则需要完全重新训练模型。2、由于数据集1和数据集2存在差异,导致使用数据集1训练的文本分类模型直接应用在数据集2场景时的效果会大幅下降。
为了使某一个数据集上训练的文本分类模型能够直接应用在其他数据集场景中,提高文本分类模型的泛化性和鲁棒性,本申请实施例提供了一种文本分类方法。
图1是本申请实施例提供的文本分类方法的流程图。如图1所示,该方法可以包括以下步骤S101-步骤S106:
步骤S101,获取文本的文本表示向量与标签矩阵之间的相似度向量,标签矩阵包括多个标签向量,每个标签向量对应一个类别。
本申请实施例中,一条文本可视为一个独立的句子,由若干子文本组成,子文本可以是字、词、短语等。向量空间模型将子文本表示成实数值分量所构成的向量或矩阵,代表该文本的语义。近年来,研究人员开始使用神经网络来提取文本的特征表示。示例性的,假设某个分类任务有I条文本,对应的第i条文本可以表示为xi,使用神经网络提取的文本xi的特征表示向量可以表示为
Figure BDA0003367289630000031
目前,文本分类模型首先得到文本表示向量,之后会通过一个线性层将文本表示向量映射成对应每个标签的概率,从而判断文本所属的类别。模型通过计算预测概率与真实类别之间的损失更新参数,这其中,文本到类别的映射关系都采用的一个线性映射函数来学习,不同分类任务之间的线性映射分别独立且没有实际意义,在不同模型之间不可迁徙,这种方式有可能造成潜在的标签语义信息丢失。
为了避免标签语义信息丢失,本申请实施例也采用上述文本表示的方式对标签进行向量化表示(称为Label Embedding),每个类别标签可以表示为一个向量(或矩阵),即标签向量(或矩阵)。标签向量(矩阵)的维度与文本表示向量的维度相同,即均为文本分类模型隐层单元数。这样,文本表示向量与标签向量位于同一个向量空间中,标签向量同样为标签的语义表示,从而本申请实施例可以将传统文本分类的“将文本表示向量映射到标签概率”的分类任务转变为文本表示向量(矩阵)与标签(矩阵)向量之间的匹配任务。
本申请实施例中,每个标签对应一个或若干个标签向量或矩阵,示例性的,假设某个分类任务有N个标签,对应的标签向量分别为l1,l2,...,lN
本申请实施例对文本表示向量和标签矩阵的生成方式不作具体限定,这里仅示例性的提供文本表示向量和标签矩阵的几种实现方式。
对于文本表示向量
Figure BDA0003367289630000032
本申请实施例示例性的提供了以下四种实现方式:
第一种实现方式,文本表示向量
Figure BDA0003367289630000033
为文本xi的首个字符或词对应的向量。在这种实现方式中,文本表示向量
Figure BDA0003367289630000034
具体可以通过BERT、RoBERTa等基于Transformers的预训练的语言模型生成。
具体实现中,可以首先对文本xi进行切分(该切分为切词、切字或WordPiece等方式切分),然后将切分后的子文本编码后输入到语言模型中,然后从语言模型的输出中将文本xi的首个字符或词对应的向量作为文本表示向量
Figure BDA0003367289630000035
如果模型为BERT等Transfomers模型,直接获取“[CLS]”位置的向量作为文本表示向量
Figure BDA0003367289630000041
示例性的:文本xi=“奥运会男子接力”,对应使用WordPiece切分的子文本是“[CLS]|奥|运|会|男|子|接|力|[SEP]”,其中,“|”代表子文本之间的分隔,“[CLS]”和“[SEP]”是BERT词表中内置的特殊字符,分别表示文本的开始和两句文本之间的分隔符。BERT会使用“[CLS]”位置的向量做分类,可以理解为这个位置的向量可以表示句子的信息,即“[CLS]”位置的向量作为文本表示向量
Figure BDA00033672896300000418
第二种实现方式,文本表示向量
Figure BDA0003367289630000042
为子文本隐含层维度的最大池化向量。
具体实现中,可以将文本xi句子切分后,通过语言模型获取的每个子文本对应的隐含层输出向量,并在隐含层维度取每个向量的最大池化,作为文本表示向量
Figure BDA0003367289630000043
示例性的,对于文本切分“奥运会|男子|接力”,通过模型获取的隐含层向量分别为
Figure BDA0003367289630000044
那么该文本表示向量
Figure BDA0003367289630000045
即在隐含层输出维度上,所有子文本向量元素的最大值。
第三种实现方式,文本表示向量
Figure BDA0003367289630000046
为子文本隐含层维度的平均池化向量。
具体实现中,可以将文本xi句子切分后,通过语言模型获取的每个子文本对应的隐含层输出向量,并在隐含层维度取每个向量的平均池化,作为文本表示向量
Figure BDA0003367289630000047
示例性的,对于文本切分“奥运会|男子|接力”,通过模型获取的隐含层向量分别为
Figure BDA0003367289630000048
那么该文本表示向量
Figure BDA0003367289630000049
即在隐含层输出维度上,所有子文本向量元素的均值。
第四种实现方式,与前三种方式不同,文本表示为子文本xi隐含层输出组成的矩阵,为与文本表示向量
Figure BDA00033672896300000410
区分,这里称作文本表示矩阵
Figure BDA00033672896300000411
示例性的,对于文本切分“奥运会|男子|接力”,通过模型获取的隐含层向量分别为
Figure BDA00033672896300000412
那么该文本表示矩阵
Figure BDA00033672896300000413
Figure BDA00033672896300000414
对于标签矩阵Le,本申请实施例示例性的提供了以下五种生成方式:
第一种生成方式,各个类别的标签向量li以随机初始化的方式生成标签矩阵Le。
第二种生成方式,为每个类别的标签添加一个描述文本,将各个标签的描述文本使用语言模型(可采用上述用于生成文本表示向量
Figure BDA00033672896300000415
的任意一种实现方式)生成描述文本向量,将各个标签的描述文本向量构成标签矩阵Le。示例性的,对于标签“体育”,其描述文本可以是“体育类新闻”。
第三种生成方式,为每个类别的标签添加多个描述文本,将各个标签的描述文本使用语言模型(可采用上述用于生成文本表示向量
Figure BDA00033672896300000416
的任意一种实现方式)生成描述文本向量,将各个标签的描述文本向量构成标签矩阵Le。可以理解的是,由于每个标签添加了多个描述文本,因此标签矩阵Le中每个标签对应的维度数量增加,具体为描述文本的数量。示例性的,对于标签“体育类新闻”,其维度可以丰富为[“体育类新闻”,“奥运会新闻”,“足球新闻”]等。使用此种方式计算标签表示和文本表示的相似度时,针对单个标签的所有描述文本,取相似度最高的描述文本的相似度表示作为针对该标签的相似度。
第四种生成方式,该方式在第二种生成方式的基础上,可以将描述文本替换成更加丰富的内容。例如可以将标签“体育类新闻”的描述文本丰富成“体育新闻(外文名:Sports News)对体育运动中新近发生的事实的报道。包括运动竞赛、运动训练、学校体育、群众体育领域中的各种新发生的事实。其中运动竞赛中的新闻占据主要地位。”这样,描述文本包含的与“体育类新闻”有关的信息更多,有利于丰富标签矩阵Le中各个标签的语义表示。
第五种生成方式,为每个类别的标签确定至少一个高频词,将各个标签的高频词使用语言模型(可采用上述用于生成文本表示向量
Figure BDA00033672896300000417
的任意一种实现方式)生成高频词向量,将各个标签的高频词向量构成标签矩阵Le。该方式可以视作在第二种生成方式的基础上,将描述文本替换成高频词,例如,标签“体育类新闻”的描述文本可以被替换成以下高频词:游泳、奥运会、篮球、足球等。
本申请实施例通过引入标签的描述文本或者高频词,可以丰富文本分类模型学习到的信息,提高文本分类模型的泛化性,当对标签结合引入多种描述方式时,文本分类模型的泛化性、可迁移性可以得到进一步增强。
本申请实施例中,文本表示向量
Figure BDA0003367289630000051
与标签矩阵Le之间的相似度向量simi的维度等于标签数量,相似度向量simi的每个维度值对应文本xi与其中一个标签的相似度。
本申请实施例对相似度向量simi的计算方式不做具体限定,能够表示文本xi与各个标签之间相似度的向量均可以作为相似度向量simi,这里仅示例性的提供相似度向量simi的三种计算方式:
第一种计算方式,相似度向量simi为文本表示向量
Figure BDA0003367289630000052
与标签矩阵Le的转置的矩阵乘积,即:
Figure BDA0003367289630000053
其中,
Figure BDA0003367289630000054
为第i个文本xi的文本表示向量,Le为标签矩阵,simi为文本表示向量
Figure BDA0003367289630000055
与标签矩阵Le之间的相似度向量,T表示矩阵的转置。
第二种计算方式,相似度向量simi为对归一化后的文本表示向量
Figure BDA0003367289630000056
和归一化后的标签矩阵Le的转置的矩阵乘积,具体包括将文本表示向量
Figure BDA0003367289630000057
进行归一化处理,将标签矩阵Le中的每一个标签向量进行归一化处理,然后将归一化后的文本表示向量
Figure BDA0003367289630000058
与归一化后的标签矩阵Le的转置做矩阵乘法,即:
Figure BDA0003367289630000059
其中,
Figure BDA00033672896300000510
为第i个文本xi的文本表示向量,Le为标签矩阵,simi为文本表示向量
Figure BDA00033672896300000511
与标签矩阵Le之间的相似度向量,T表示矩阵的转置,‖*‖表示向量或矩阵的二范数。
第三种计算方式,相似度向量simi为文本表示向量
Figure BDA00033672896300000512
与标签矩阵Le的欧式距离,具体来说是文本表示向量
Figure BDA00033672896300000513
与标签矩阵Le中的每一个标签向量的欧式距离,即:
Figure BDA00033672896300000514
其中,
Figure BDA00033672896300000515
为第i个文本xi的文本表示向量,Le为标签矩阵,simi为文本表示向量
Figure BDA00033672896300000516
与标签矩阵Le之间的相似度向量,‖*‖表示向量或矩阵的二范数。
步骤S102,获取从相似度向量到文本对应的标签之间的第一损失函数。
相似度向量simi到文本xi对应的标签yi之间的第一损失函数可以通过任意一种损失函数算法来实现,本申请实施例对此不做限定,这里仅示例性的提供第一损失函数的几种可实现的方式。其中,文本xi对应的标签yi是指文本xi所属类别的标签。
在一种实现方式中,第一损失函数为相似度向量simi与文本xi对应的标签yi之间的交叉熵损失函数(Cross Entropy Loss,CE),即:
Ltask=CE(simi,yi)
其中,Ltask为第一损失函数,simi为相似度向量,yi为文本xi对应的标签。
在一种实现方式中,第一损失函数为相似度向量simi与文本xi对应的标签yi之间的二元交叉熵损失函数(Binary Cross Entropy Loss,BCE),即:
Ltask=BCE(simi,yi)
其中,Ltask为第一损失函数,simi为相似度向量,yi为文本xi对应的标签。
在一种实现方式中,第一损失函数为相似度向量simi与文本xi对应的标签yi之间的单文档法损失函数Pointwise,即:
Figure BDA0003367289630000061
其中,Ltask为第一损失函数,
Figure BDA0003367289630000062
为正确标签对应的相似度向量simi的值,
Figure BDA0003367289630000063
为错误标签对应的相似度向量simi的值,N为标签的数量,这里的正确标签指的是文本xi所属类别的标签,其余的标签即为错误标签。
在一种实现方式中,第一损失函数为相似度向量simi与文本对应的标签yi之间的文档对法损失函数Pairwise,即:
Figure BDA0003367289630000064
其中,Ltask为第一损失函数,m为正确标签和错误标签的相似度的阈值差,
Figure BDA0003367289630000065
为正确标签对应的相似度向量simi的值,
Figure BDA0003367289630000066
为错误标签对应的相似度向量simi的值。
Figure BDA0003367289630000067
Figure BDA0003367289630000068
时,
Figure BDA0003367289630000069
Figure BDA00033672896300000610
时,Ltask=0;因此,该损失函数的优化目标是希望
Figure BDA00033672896300000611
即:正确标签对应的相似度向量simi的值
Figure BDA00033672896300000612
大于错误标签对应的相似度向量simi的值
Figure BDA00033672896300000613
与m之和。
在一种实现方式中,当文本表示为子文本隐含层表示向量组成的矩阵(即文本表示矩阵)时,标签表示同样使用标签的描述文本的子文本隐含层表示向量组成的矩阵(即标签表示矩阵),第一损失函数为文本表示矩阵和标签表示矩阵之间的陆地移动距离(EarthMover’s Distance,EMD)。其中,EMD首先计算每一个子文本与标签子文本的欧氏距离,然后根据该距离确定子文本和标签子文本之间的最佳的转移向量,从而得到文本和标签之间的距离。
步骤S103,对文本表示向量进行线性映射,得到文本的对抗(Adversarial)向量。
具体实现中,可以将文本表示向量
Figure BDA00033672896300000614
使用线性层映射到标签个数值,每个数值表示其属于对应标签的概率,从而得到文本xi属于各个类别的概率,将映射后得到的向量作为对抗向量
Figure BDA00033672896300000615
即:
Figure BDA00033672896300000616
其中,
Figure BDA00033672896300000617
为文本xi的对抗向量,
Figure BDA00033672896300000618
为文本表示向量,可以理解的是,由于将文本表示向量
Figure BDA00033672896300000619
使用线性层映射得到了标签个数值,因此,对抗向量
Figure BDA00033672896300000620
是一个长度等于标签数量的向量。
步骤S104,获取从对抗向量到文本对应的标签之间的第二损失函数。
具体实现中,第二损失函数可以采用交叉熵损失函数实现,例如:
Figure BDA00033672896300000621
其中,LAdv为第二损失函数,
Figure BDA00033672896300000622
为文本xi的对抗向量,yi为文本xi对应的标签,
Figure BDA00033672896300000623
为对抗向量
Figure BDA00033672896300000624
的期望,
Figure BDA00033672896300000625
表示对抗向量
Figure BDA00033672896300000626
的期望通过判别器网络(Discriminator)输出,N为标签的数量,maxθ表示判别器输出朝最大值方向寻优,
Figure BDA00033672896300000627
表示第二损失函数朝最小值的方向寻优,λ是一个已知的超参数,可人为设置。
步骤S105,将第一损失函数和第二损失函数的结合作为文本分类模型的总损失函数,以训练文本分类模型。
具体实现中,文本分类模型的总损失函数可以为:
L=Ltask+αLAdv
其中,Ltask为第一损失函数,LAdv为第二损失函数,L为总损失函数,α为可变的超参数,α的值可以为5e-3或者其他值,本申请实施例对此不作限定。
本申请实施例在训练文本分类模型时,将对抗损失(即第二损失函数)与模型的原有损失(即第一损失函数)结合,进行对抗训练,从而反向更新模型的总损失函数对应的梯度。
在引入对抗训练的情况下,训练文本分类模型时的输入包含了文本表示向量和文本的对抗向量,因此可以给输入文本带来扰动,从而优化文本分类模型的训练效果,使文本分类模型不再专注于学习某个类别的简单特征,而是学习到这个类别的共性特征。例如,假设体育新闻类相关的文本都包含“奥运会”这个词,那么文本分类模型很容易将所有带有“奥运会”的文本分类到体育类新闻。然而“奥运会”相关文本在其他数据集上可能属于政治类新闻,通过对抗训练,可以将“奥运会”属于各个类别的概率信息引入到文本分类模型中,因此能够驱使文本分类模型弱化“奥运会”对于某一个类别的影响,使文本分类模型学习到类别更深层次的表示,提高了文本分类模型的泛化性和鲁棒性。
步骤S106,根据训练后的文本分类模型对未知文本进行分类。
步骤S106具体可以在测试或者生产环境中实现。具体来说,可以将未知文本输入到训练好的文本分类模型,那么文本分类模型的输出即为该未知文本的类别。
本申请实施例提供的文本分类方法,通过引入标签的描述文本,可以丰富文本分类模型学习到的信息,提高了文本分类模型的泛化性,通过引入对抗训练使文本分类模型不再专注于学习某个类别的简单特征,而是学习到各个类别的共性特征,使文本分类模型学习到类别更深层次的表示,提高了文本分类模型的泛化性和鲁棒性。这样,文本分类模型可以很容易地在不同的数据集之间迁移使用,而无需重新训练。
本申请实施例还提供了一种生成文本表示向量的方法,该方法可以应用于S101之前,图2是该方法的流程图,如图2所示,该方法具体可以包括以下步骤S201-步骤S204:
步骤S201,将文本切分成多个子文本。
该切分为切词、切字或WordPiece等方式切分,本申请实施例对此不做限定。
步骤S202,将文本的切分结果转换成文本的编码表示。
具体实现中,可以从词表中查询到切分结果中的各个子文本对应的编码,将各个子文本的编码按序排列,从而得到文本的编码表示。本申请实施例中,词表可以以词典的形式包含大量字、词,以及包含各个字、词的编码,每个字、词具有一个唯一的编码,不同字、词的编码不同。例如:假设词表中包含一万个字、词,那么第一个字、词的编码可以是0001,第二个字、词的编码可以是0002,依次类推。这样,在步骤S202中,可以通过查表的方式在词表中查询到各个子文本的编码。
步骤S203,将文本的编码表示输入到预训练的语言模型中,以得到文本表示向量。
具体实现中,可以将文本的编码表示输入到BERT、RoBERTa等预训练的语言模型中,以该模型的输出作为文本表示向量。其中,当训练的语言模型为BERT模型时,该模型的输入还可以包括表示文本类别的向量和表示文本句子长度的向量。预训练的语言模型具体可以采用本申请先前的内容示例性提供的几种实现方式生成文本表示向量,此处不再赘述。
上述各实施例对本申请提供的文本分类方法的各方案进行了介绍。可以理解的是,各个设备或模块为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各硬件及方法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图3是本申请实施例提供的一种文本分类装置的结构示意图。如图3所示,该装置包括了用于实现本申请实施例提供的文本分类方法的硬件模块,包括:处理器310和存储器320,存储器320中包括程序指令330,当程序指令330被处理器310执行时,使该文本分类装置执行以下方法步骤:
获取文本的文本表示向量与标签矩阵之间的相似度向量,标签矩阵包括多个标签向量,每个标签向量对应一个类别;
获取从相似度向量到文本对应的标签之间的第一损失函数;
对文本表示向量进行线性映射,得到文本的对抗向量;
获取从对抗向量到文本对应的标签之间的第二损失函数;
将第一损失函数和第二损失函数的结合作为文本分类模型的总损失函数,以训练文本分类模型;
根据训练后的文本分类模型对未知文本进行分类。
本申请实施例提供的文本分类装置,通过引入对抗训练使文本分类模型不再专注于学习某个类别的简单特征,而是学习到各个类别的共性特征,使文本分类模型学习到类别更深层次的表示,提高了文本分类模型的泛化性和鲁棒性。这样,文本分类模型可以很容易地在不同的数据集之间迁移使用,而无需重新训练。
图4是本申请实施例提供的一种文本分类装置的结构示意图。如图4所示,该装置包括了用于实现本申请实施例提供的文本分类方法的软件模块,包括:
向量表示模块410,用于获取文本的文本表示向量与标签矩阵之间的相似度向量,标签矩阵包括多个标签向量,每个标签向量对应一个类别;
第一损失函数获取模块420,用于获取从相似度向量到文本对应的标签之间的第一损失函数;
对抗向量生成模块430,用于对文本表示向量进行线性映射,得到文本的对抗向量;
第二损失函数获取模块440,用于获取从对抗向量到文本对应的标签之间的第二损失函数;
总损失函数获取模块450,用于将第一损失函数和第二损失函数的结合作为文本分类模型的总损失函数,以训练文本分类模型;
文本分类模块460,用于根据训练后的文本分类模型对未知文本进行分类。
本申请实施例提供的文本分类装置,通过引入对抗训练使文本分类模型不再专注于学习某个类别的简单特征,而是学习到各个类别的共性特征,使文本分类模型学习到类别更深层次的表示,提高了文本分类模型的泛化性和鲁棒性。这样,文本分类模型可以很容易地在不同的数据集之间迁移使用,而无需重新训练。
容易理解的是,本领域技术人员在本申请提供的几个实施例的基础上,可以对本申请的实施例进行结合、拆分、重组等得到其他实施例,这些实施例均没有超出本申请的保护范围。
以上的具体实施方式,对本申请实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围,凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。

Claims (10)

1.一种文本分类方法,其特征在于,应用于文本分类模型,包括:
获取文本的文本表示向量与标签矩阵之间的相似度向量,所述标签矩阵包括多个标签向量,每个标签向量对应一个类别;
获取从所述相似度向量到所述文本对应的标签之间的第一损失函数;
对所述文本表示向量进行线性映射,得到所述文本的对抗向量;
获取从所述对抗向量到所述文本对应的标签之间的第二损失函数;
将所述第一损失函数和所述第二损失函数的结合作为所述文本分类模型的总损失函数,以训练所述文本分类模型;
根据训练后的所述文本分类模型对未知文本进行分类。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一损失函数和所述第二损失函数的结合,通过以下公式实现:
L=Ltask+αLAdv
其中,Ltask为所述第一损失函数,LAdv为所述第二损失函数,L为所述总损失函数,α为可变的超参数。
3.根据权利要求1所述的方法,其特征在于,所述获取文本的文本表示向量与标签矩阵之间的相似度向量之前,还包括:
将所述文本切分成多个子文本;
将所述文本的切分结果转换成文本的编码表示;
将所述文本的编码表示输入到预训练的语言模型,以得到所述文本表示向量。
4.根据权利要求3所述的方法,其特征在于,所述文本表示向量为以下任意一种:
所述文本表示向量为所述文本的首个字符或词对应的向量;
或者,所述文本表示向量为子文本隐含层维度的最大池化向量;
或者,所述文本表示向量为子文本隐含层维度的平均池化向量。
5.根据权利要求1所述的方法,其特征在于,所述标签矩阵通过以下任意一种方式生成:
将各个类别的标签向量以随机初始化的方式生成所述标签矩阵;
或者,为每个类别的标签添加一个或者多个描述文本,将各个标签的描述文本输入到语言模型,以得到对应的描述文本向量,将各个标签的所述描述文本向量构成所述标签矩阵;
或者,为每个类别的标签添加至少一个高频词,将各个标签的高频词输入到语言模型,以得到对应的高频词向量,将各个标签的所述高频词向量构成所述标签矩阵。
6.根据权利要求1所述的方法,其特征在于,
所述相似度向量为所述文本表示向量与所述标签矩阵的转置的矩阵乘积;
或者,所述相似度向量为对归一化后的所述文本表示向量和归一化后的所述标签矩阵的转置的矩阵乘积;
或者,所述相似度向量为所述文本表示向量与所述标签矩阵的欧式距离。
7.根据权利要求1所述的方法,其特征在于,
所述第一损失函数为所述相似度向量与所述文本对应的标签之间的交叉熵损失函数;
或者,所述第一损失函数为所述相似度向量与所述文本对应的标签之间的二元交叉熵损失函数;
或者,所述第一损失函数为所述相似度向量与所述文本对应的标签之间的单文档法损失函数;
或者,所述第一损失函数为所述相似度向量与所述文本对应的标签之间的文档对法损失函数。
8.根据权利要求1所述的方法,其特征在于,还包括:
将文本的子文本隐含层输出组成文本表示矩阵;
将标签的子文本隐含层输出组成标签表示矩阵;
将所述文本表示矩阵与标签表示矩阵之间的陆地移动距离作为所述第一损失函数。
9.根据权利要求1所述的方法,其特征在于,所述获取从所述对抗向量到所述文本对应的标签之间的第二损失函数,包括:使用交叉熵损失函数获取所述第二损失函数。
10.一种文本分类装置,其特征在于,包括:
向量表示模块,用于获取文本的文本表示向量与标签矩阵之间的相似度向量,所述标签矩阵包括多个标签向量,每个标签向量对应一个类别;
第一损失函数获取模块,用于获取从所述相似度向量到所述文本对应的标签之间的第一损失函数;
对抗向量生成模块,用于对所述文本表示向量进行线性映射,得到所述文本的对抗向量;
第二损失函数获取模块,用于获取从所述对抗向量到所述文本对应的标签之间的第二损失函数;
总损失函数获取模块,用于将所述第一损失函数和所述第二损失函数的结合作为所述文本分类模型的总损失函数,以训练所述文本分类模型;
文本分类模块,用于根据训练后的所述文本分类模型对未知文本进行分类。
CN202111386639.4A 2021-11-22 2021-11-22 一种文本分类方法及装置 Pending CN114048290A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111386639.4A CN114048290A (zh) 2021-11-22 2021-11-22 一种文本分类方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111386639.4A CN114048290A (zh) 2021-11-22 2021-11-22 一种文本分类方法及装置

Publications (1)

Publication Number Publication Date
CN114048290A true CN114048290A (zh) 2022-02-15

Family

ID=80210216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111386639.4A Pending CN114048290A (zh) 2021-11-22 2021-11-22 一种文本分类方法及装置

Country Status (1)

Country Link
CN (1) CN114048290A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383724A (zh) * 2023-02-16 2023-07-04 北京数美时代科技有限公司 一种单一领域标签向量提取方法、装置、电子设备及介质
CN117349344A (zh) * 2023-10-23 2024-01-05 广州欧派创意家居设计有限公司 一种基于大数据的产品销售数据智能采集方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116383724A (zh) * 2023-02-16 2023-07-04 北京数美时代科技有限公司 一种单一领域标签向量提取方法、装置、电子设备及介质
CN116383724B (zh) * 2023-02-16 2023-12-05 北京数美时代科技有限公司 一种单一领域标签向量提取方法、装置、电子设备及介质
CN117349344A (zh) * 2023-10-23 2024-01-05 广州欧派创意家居设计有限公司 一种基于大数据的产品销售数据智能采集方法及系统
CN117349344B (zh) * 2023-10-23 2024-03-05 广州欧派创意家居设计有限公司 一种基于大数据的产品销售数据智能采集方法及系统

Similar Documents

Publication Publication Date Title
CN110298037B (zh) 基于增强注意力机制的卷积神经网络匹配的文本识别方法
Kim et al. Semantic sentence matching with densely-connected recurrent and co-attentive information
CN110969020B (zh) 基于cnn和注意力机制的中文命名实体识别方法、系统及介质
CN111767405A (zh) 文本分类模型的训练方法、装置、设备及存储介质
CN112990296B (zh) 基于正交相似度蒸馏的图文匹配模型压缩与加速方法及系统
CN112115687B (zh) 一种结合知识库中的三元组和实体类型的生成问题方法
CN112733866A (zh) 一种提高可控图像文本描述正确性的网络构建方法
CN114048290A (zh) 一种文本分类方法及装置
CN113705313A (zh) 文本识别方法、装置、设备及介质
CN112527993B (zh) 一种跨媒体层次化深度视频问答推理框架
CN115658954B (zh) 一种基于提示学习的跨模态检索对抗防御方法
Zhang et al. A BERT fine-tuning model for targeted sentiment analysis of Chinese online course reviews
CN112905762A (zh) 一种基于同等注意力图网络的视觉问答方法
Huang et al. C-Rnn: a fine-grained language model for image captioning
CN111858984A (zh) 一种基于注意力机制哈希检索的图像匹配方法
CN114429132A (zh) 一种基于混合格自注意力网络的命名实体识别方法和装置
CN115331075A (zh) 一种多模态场景图知识增强的对抗式多模态预训练方法
CN114254645A (zh) 一种人工智能辅助写作系统
CN115858750A (zh) 基于自然语言处理的电网技术标准智能问答方法及系统
CN116385946B (zh) 面向视频的目标片段定位方法、系统、存储介质及设备
CN116226357B (zh) 一种输入中包含错误信息场景下的文档检索方法
CN117033961A (zh) 一种上下文语境感知的多模态图文分类方法
Zhang et al. Japanese sentiment classification with stacked denoising auto-encoder using distributed word representation
CN111666375A (zh) 文本相似度的匹配方法、电子设备和计算机可读介质
CN114357166B (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