CN113849592A - 文本情感分类方法及装置、电子设备、存储介质 - Google Patents

文本情感分类方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN113849592A
CN113849592A CN202111441129.2A CN202111441129A CN113849592A CN 113849592 A CN113849592 A CN 113849592A CN 202111441129 A CN202111441129 A CN 202111441129A CN 113849592 A CN113849592 A CN 113849592A
Authority
CN
China
Prior art keywords
matrix
word
auxiliary array
block
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.)
Granted
Application number
CN202111441129.2A
Other languages
English (en)
Other versions
CN113849592B (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202111441129.2A priority Critical patent/CN113849592B/zh
Publication of CN113849592A publication Critical patent/CN113849592A/zh
Application granted granted Critical
Publication of CN113849592B publication Critical patent/CN113849592B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • 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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及情感识别技术领域,公开了一种文本情感分类方法及装置、电子设备、存储介质,该方法包括:将待情感分类的文本输入到训练好的情感分类模型中,得到情感分类结果;其中所述训练好的情感分类模型,包括:词向量化处理模块,用于对文本进行词向量化处理,得到词KEY、QUERY和VALUE矩阵;辅助数组构建模块,用于根据文本的长度,构建辅助数组;第一计算模块,用于根据辅助数组,对所述KEY与QUERY矩阵中的有效块相乘,将有效块相乘的结果写入到QK中;第二计算模块,用于根据辅助数组,将QK与VALUE矩阵中的有效块相乘,将有效块相乘的结果写入到得到词与词的依赖关系矩阵;映射模块,用于根据依赖关系矩阵得到词与词的依赖关系矩阵与情感分析结果的映射。

Description

文本情感分类方法及装置、电子设备、存储介质
技术领域
本申请涉及情感识别技术领域,尤其涉及一种文本情感分类方法及装置、电子设备、存储介质。
背景技术
对文本进行情感分析具有重要意义。举例来讲,在社交媒体的评论功能中,通过对评论进行情感分析,可以实现对评论的管理,如屏蔽恶意评论。
当前的文本情感分析方法多基于深度学习中的自注意力机制自然语言模型,运行在通用图形处理器(GPU)上对文本进行情感分析,由于文本数据长度的方差较大,当前系统在进行情感分析任务时很难对计算量与情感分析的准确度进行权衡。即准确度较高的分析需要的算力资源大成本高,而算力资源需求小的分析精确度又不佳。
抽象来说,基于自注意力机制的自然语言模型进行句子情感分类任务的原理是通过计算学习一段文本(可以是一句话、一段话或一篇文章)中词与词之间的依赖度与情感分类之间的映射,再将学习到的映射应用到新的语言序列中,得到预测结果。对于一段文本中词与词依赖关系,模型需要计算每一个词与每一个词之间的关系,因此对于一个语言模型往往需要预设一个模型所能处理的最长文本长度进行训练与预测。该预设长度越长,模型就能越好的对文本的上下文进行总结,情感分析的准确度往往也越好。然而在自然语言中,一句话、一段话、一篇文章所包含的词的数量往往不一样,具有不同的长度,且长度的方差极大,即自然语言处理模型的输入是变长输入, 对于一个输入序列,该过程所需的计算量与实际序列长度为二次方关系,因此现有的情感分析方法将进行大量的无用计算,需要计算量巨大,具有较低的成本效率。
当前系统普遍采用补全批次的方法在图形处理器上计算自注意力层,为了方便表示,下文叫做补全批次自注意力机制方法。在这种策略下,多个待分析文本序列聚合为一个批次同时进入通用图形处理器进行计算,仅需一次方法调用,但由于一个批次中不同文本的长度不同,在通用处理器上的计算需要补全到相同长度。由于需要计算序列中所有词之间的关系,补全后无意义的词也会参与到计算中作为无用计算。举例来讲,当设定最长序列长度为128,实际序列长度为16时,补全批次自注意力机制的总计算量与有效计算量的比例为64,即对于该序列的计算,绝大部分为无用计算。因此,当前的情感分析方法因为大量的冗余计算导致实际计算性能不高,难以高效的对海量文本进行分析。
发明内容
本申请实施例的目的是提供一种文本情感分类方法及装置、电子设备、存储介质,以解决相关技术中存在的冗余计算多,效率不高的问题。
根据本申请实施例的第一方面,提供一种文本情感分类方法,包括:
将待情感分类的文本输入到训练好的文本情感分类模型中,得到情感分类结果;其中所述训练好的文本情感分类模型,包括:
词向量化处理模块,用于对输入的文本进行词向量化处理,得到词向量embedding矩阵,将所述词向量embedding矩阵进行线性变换得到KEY矩阵、QUERY矩阵和VALUE矩阵;
辅助数组构建模块,用于根据文本的长度,构建块矩阵索引辅助数组、序列索引辅助数组和块计算次数索引辅助数组;
第一计算模块,用于根据所述块矩阵索引辅助数组,对所述KEY矩阵与QUERY矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的相似性矩阵QK中;
正则化处理模块,用于对所述相似性矩阵QK进行正则化;
第二计算模块,用于根据所述块矩阵索引辅助数组,将正则化后的相似性矩阵QK与VALUE矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的依赖关系矩阵中;
映射模块,用于对所述词与词的依赖关系矩阵进行线性变换,得到词与词的依赖关系矩阵与情感分析结果的映射,所述映射作为情感分类结果。
进一步地,训练好的文本情感分类模型的获得包括:
获取情感分类的文本训练数据集;
基于自注意力机制的预训练模型,构建情感分类模型;
利用所述文本训练数据集对所述情感分类模型进行训练,得到文本情感分类模型。
进一步地,对输入的文本进行词向量化处理,得到词向量embedding矩阵,将所述词向量embedding矩阵进行线性变换得到KEY矩阵、QUERY矩阵和VALUE矩阵,包括:
利用分词工具对所述输入的对话文本进行分词处理,获得若干词汇;
利用现有的词字典,将所述词汇映射为相应的数字化表示,将词的数字化表示组合在一起形成词向量embedding矩阵;
将所述词向量embedding矩阵进行线性映射,获得Key矩阵、Value矩阵和Query矩阵。
进一步地,根据文本的长度,构建块矩阵索引辅助数组、序列索引辅助数组和块计算次数索引辅助数组,包括:
根据待情感分析的文本中每一句子的长度以及有效块的粒度,计算句子的有效块相乘在Key矩阵、Value矩阵和Query矩阵中首地址偏移量,根据所述首地址偏移量,构建块矩阵索引辅助数组;
根据待情感分析的文本中每一句子的长度以及有效词块的粒度,对于块矩阵索引辅助数组中记录的每一个有效块,记录有效块对应于哪一个文本序列,构建序列索引辅助数组;
根据待情感分析的文本中每一句子的长度以及有效词块的粒度,对于块矩阵索引辅助数组中记录的每一个有效块,记录有效块参与相乘的次数,构建快计算次数索引辅助数组。
进一步地,根据所述块矩阵索引辅助数组,对所述KEY矩阵与QUERY矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的相似性矩阵QK中,包括:
将所述块矩阵索引辅助数组读入GPU,根据索引所指向的首地址偏移,对相应有效块的数据进行读取,对有效块相乘进行计算得到中间结果;
将所述序列索引辅助数组和块计算次数索引辅助数组读入GPU,根据所述序列索引辅助数组和块计算次数索引辅助数组中记录的有效块信息,对有效块相乘得到的中间结果进行累加,并将最终结果写入到词与词的相似性矩阵QK中。
进一步地,根据所述块矩阵索引辅助数组,将正则化后的相似性矩阵QK与VALUE矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的依赖关系矩阵中,包括:
将所述块矩阵索引辅助数组读入GPU,根据索引所指向的首地址偏移,对相应有效块的数据进行读取,对有效块相乘进行计算得到中间结果;
将所述序列索引辅助数组和块计算次数索引辅助数组读入GPU,根据所述序列索引辅助数组和块计算次数索引辅助数组中记录的有效块信息,对有效块相乘得到的中间结果进行累加,并将最终结果写入到词与词的依赖关系矩阵中。
进一步地,对所述词与词的依赖关系矩阵进行线性变换,得到词与词的依赖关系矩阵与情感分析结果的映射,所述映射作为情感分类结果,包括:
将所述词与词依赖关系矩阵输入到线性层中,对词与词的依赖关系进行线性变换,利用线性层中的映射关系,将词与词的依赖关系映射为情感分类的结果。
根据本申请实施例的第二方面,提供一种文本的情感分类装置,包括:
分类单元,用于将待情感分类的文本输入到训练好的文本情感分类模型中,得到情感分类结果;
其中所述训练好的文本情感分类模型,包括:
词向量化处理模块,用于对待情感分析的文本进行词向量化处理,得到词向量embedding矩阵,将所述词向量embedding矩阵进行线性变换得到KEY矩阵、QUERY矩阵和VALUE矩阵;
辅助数组构建模块,用于根据一个批次中待情感分析的文本的长度,构建块矩阵索引辅助数组、序列索引辅助数组和块计算次数索引辅助数组;
第一计算模块,用于根据所述块矩阵索引辅助数组,对所述KEY矩阵与QUERY矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的相似性矩阵QK中;
正则化处理模块,用于对所述相似性矩阵QK进行正则化;
第二计算模块,用于根据所述块矩阵索引辅助数组,将正则化后的相似性矩阵QK与VALUE矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的依赖关系矩阵中;
映射模块,用于对所述词与词的依赖关系矩阵进行线性变换,得到词与词的依赖关系矩阵与情感分析结果的映射,所述映射作为情感分类结果。
根据本申请实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本发明通过构建块矩阵索引辅助数组,记录有效块相乘的有效块索引,可以避免大量无效的计算,结合序列索引辅助数组和块计算次数索引辅助数组,保证计算结果正确产生结果矩阵,最终在长度参差的文本数据上取得较高的分析效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种文本情感分类方法的流程图。
图2是根据一示例性实施例示出的训练好的文本情感分类模型的获得的流程图。
图3是根据一示例性实施例示出的词向量化处理模块处理的流程图。
图4是根据一示例性实施例示出的Key矩阵和Query矩阵相乘的示意图。
图5是根据一示例性实施例示出的QK矩阵和Value矩阵相乘的示意图。
图6是根据一示例性实施例列出的Key矩阵和Query矩阵相乘的有效计算示意图。
图7是根据一示例性实施例示出的辅助数组构建模块处理的流程图。
图8是根据一示例性实施例列出的Key矩阵有效块和Query矩阵有效块与相应块矩阵索引辅助数组示意图。
图9是根据一示例性实施例列出的QK矩阵有效块和Value矩阵有效块与相应块矩阵索引辅助数组的示意图。
图10是根据一示例性实施例列出的根据序列索引辅助数组和块计算次数索引辅助数组将Key矩阵有效块与Query矩阵有效块相乘结果写入QK矩阵的示意图。
图11是根据一示例性实施例示出的第一计算模块处理的流程图。
图12是根据一示例性实施例示出的第二计算模块处理的流程图。
图13是根据一示例性实施例示出的一种文本情感分类装置的结构示意图。
图14是根据一示例性实施例示出的文本情感分类模型的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是根据一示例性实施例示出的一种文本情感分类方法的流程图,如图1所示,本发明实施例提供的一种文本的情感分类方法可以包括:
步骤S1,将待情感分类的文本输入到训练好的文本情感分类模型中,得到情感分类结果。
在一实施例中,参考图2,训练好的文本情感分类模型的获得包括:
步骤S11,获取情感分类的文本训练数据集;
具体来说,文本可以是任何评论性的文字,比如微博、知乎等社交媒体工具下的评论等。通过收集文本,再对文本进行情感倾向分类的标注,即可构建文本训练数据集。
步骤S12,基于自注意力机制的预训练模型,构建情感分类模型;
具体地,获取自注意力机制预训练模型,在其基础上增加全连接层结构与SOFTMAX函数将其输出映射为人类易于理解的情感分类结果,分类结果对应于步骤S1所构建的文本数据集的情感倾向分类标准,构建情感分类模型。
步骤S13,利用所述文本训练数据集对所述情感分类模型进行训练,得到文本情感分类模型。
具体地,将训练数据集作为输入进入情感分类模型进行计算,获得的结果利用交叉熵损失函数与数据集的情感倾向分类标注计算损失值,再利用反向传播的原理对模型进行迭代训练,获得文本情感分类模型。
本申请利用预训练模型进行精调得到情感分类模型后应用,避免了大量预训练所需的时间与计算,使得本方法的模型构建快速高效。
所述文本情感分类模型包括:词向量化处理模块、辅助数组构建模块、第一计算模块、正则化处理模块、第二计算模块和映射模块,以下对每个模块的处理做细化描述。
(1)所述词向量化处理模块用于对输入的文本进行词向量化处理,得到词向量embedding矩阵,将所述词向量embedding矩阵进行线性变换得到KEY矩阵、QUERY矩阵和VALUE矩阵,参考图3,该模块的具体处理可以包括以下步骤:
步骤S21,利用分词工具对所述输入的对话文本进行分词处理,获得若干词汇;
步骤S22,利用现有的词字典,将所述词汇映射为相应的数字化表示,将词的数字化表示组合在一起形成词向量embedding矩阵;
具体地,此步骤旨在将自然语言转换为计算机可以处理的数字形式。此转换借助业界成熟的Word2Vec方法,将每一个字符映射为一个向量进行表示,句子有多少词即有多少个向量。
步骤S23,将所述词向量embedding矩阵进行线性映射,获得Key矩阵、Value矩阵和Query矩阵。
举例说明,参考图4和图5,展示了输入包括4个待情感分类的句子序列,Key矩阵、Value矩阵和Query矩阵具有相同的大小,每个词将转换为一个长度为4的向量表示,在图中每个序列的预设长度为6(可理解为预设自然句子的最长长度为6),深色部分(灰)代表当前序列的有效序列长度(某一句自然语言句子的实际长度)。在现有补全批次自注意力机制方法中,所有空白部分都将被填充并参与计算,即空白部分代表无效长度(将自然语言句子的实际长度填充与预设长度的差距),而实际只有灰色部分的计算是有意义的。因此,当前自注意力机制计算的补全批次方法将引入大量的冗余计算,最终导致实际计算性能不高。具体地,图6中所有连线表示Query矩阵与Key矩阵在当前补全批次方法中将进行的计算,而图中深色连线表示实际需要的计算。
(2)所述辅助数组构建模块用于根据文本的长度,构建块矩阵索引辅助数组、序列索引辅助数组和块计算次数索引辅助数组,根据所述块矩阵索引辅助数组,对所述KEY矩阵、QUERY矩阵和VALUE矩阵进行划分得到各矩阵的有效块,如图7所示,该模块的具体处理可以包括以下步骤:
步骤S31,根据待情感分析的文本中每一句子的长度以及有效词块的粒度,计算句子的有效词块相乘在Key矩阵、Value矩阵和Query矩阵中首地址偏移量,根据所述首地址偏移量,构建块矩阵索引辅助数组;
具体地,如图8和图9,当有效块粒度为2×2时,根据线性代数的矩阵分块相乘理论对Query矩阵,Key矩阵与Value矩阵进行划分,图中虚线小框为包含有效计算的有效块。进一步地,通过记录有效块在矩阵中的首地址偏移量,对有效块相乘的顺序进行记录,记录在块矩阵索引辅助数组中。
步骤S32,根据待情感分析的文本中每一句子的长度以及有效词块的粒度,对于块矩阵索引辅助数组中记录的每一个有效块,记录有效块对应于哪一个文本序列,构建序列索引辅助数组;
具体地,如图10表示的是Query矩阵与Key矩阵相乘得到的QK矩阵(图中仅展示了前两个句子序列),图中灰色部分为有效结果,是有效块相乘后需要更新的位置,白色部分为无效结果。通过记录S31中各个有效块相乘有效块所对应的是哪一个句子序列,构建序列索引辅助数组。QK矩阵与Value矩阵的序列索引辅助数组构建原理一致。
步骤S33,根据待情感分析的文本中每一句子的长度以及有效词块的粒度,对于块矩阵索引辅助数组中记录的每一个有效块,记录有效块参与相乘的次数,构建块计算次数索引辅助数组。
具体地,如图10表示的是Query矩阵与Key矩阵相乘得到的QK矩阵(图中仅展示了前两个句子序列),图中灰色部分为有效结果,是有效块相乘后需要更新的位置,白色部分为无效结果。通过记录S31中每一个有效块是第几次参与到有效块相乘中,构建块计算次数索引辅助数组。QK矩阵与Value矩阵的块计算次数索引辅助数组构建原理一致。
基于当前自注意力机制计算的补全批次方法将引入大量的冗余计算,最终导致实际计算性能不高。因此,本发明实施例先对矩阵乘进行分块,通过建立索引,只计算有效矩阵乘。
(3)所述第一计算模块用于根据所述块矩阵索引辅助数组,对所述KEY矩阵与QUERY矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的相似性矩阵QK中,参考图11,该模块的具体处理可以包括以下步骤:
步骤S41,将所述块矩阵索引辅助数组读入GPU,根据索引所指向的首地址偏移,对相应有效块的数据进行读取,对有效块相乘进行计算得到中间结果;
具体地,将所述块矩阵索引辅助数组读入到GPU显存中并按顺序进行读取,由于块矩阵索引数组中通过首地址记录了有效块相乘的顺序,读取即可定位下一步将参与计算的有效块首地址偏移,根据偏移量将一对有效块的数据加载到GPU显存中进行计算,得到有效块相乘的结果。持续按顺序读取块矩阵索引辅助数组并计算有效块的相乘即可完成所有有效块的计算。
根据所述块矩阵索引辅助数组,就能知晓KEY矩阵与QUERY有效块相乘的顺序;
由于通用图形处理器一个线程束包括32个线程,因此通常选择32×32作为矩阵分解中块的大小,使用dim3 grid(index_len)将块相乘的数量传递给通用图像处理器,使用dim3 block(32,32)将每一个块矩阵相乘作为一个线程块映射到通用图形处理器的一个流处理器中实现高效的并行计算。
紧接着,通用图形处理器中每一个线程负责块中两个向量的乘加操作,计算时先将对应的块数据从通用图形处理器全局内存拷贝到共享内存中以提高数据访问性能,为了进一步充分利用共享内存的访问速度,从全局内存拷贝到共享内存的过程需要进行矩阵转置,以避免Bank Conflict降低数据访问带宽。
步骤S42,将所述序列索引辅助数组和块计算次数索引辅助数组读入GPU,根据所述序列索引辅助数组和块计算次数索引辅助数组中记录的有效块信息,对有效块相乘得到的中间结果进行累加,并将最终结果写入到词与词的相似性矩阵QK中。
具体地,在完成有效块相乘后,需要将计算结果正确写回内存。在原来的补全批次自注意力机制方法中,由于所有的矩阵都具有相同的结构,因此可以获取到结果中某一个数值的结构信息,易于定位到QK矩阵中具体的偏移量。然而采用本发明实施例的方法丧失了结构信息。将序列索引辅助数组与块计算次数索引辅助数组读入GPU显存,通过顺序读取序列索引辅助数组可知当前块矩阵属于哪一个序列,用于定位结果对应的序列;通过顺序读取块计算次数索引辅助数组可知当前块在块分解算法中的次序,用于定位到结果中对应的块。至此,每一对有效块相乘的结果对应的在结果中的位置可以被定位,由于有效块矩阵本身的结构信息完整,每一个结果值的写回位置可以被确定。
(4)所述正则化处理模块用于对所述相似性矩阵QK进行正则化,该模块的具体处理可以包括以下步骤:
具体地,相似性矩阵QK整除单个词向量长度的平方根并计算Softmax结果,这一步不影响矩阵的形状,仅对矩阵数值有影响,是深度学习中采用的正则方法。
(5)所述第二计算模块用于根据所述块矩阵索引辅助数组,将正则化后的相似性矩阵QK与VALUE矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的依赖关系矩阵中,参考图12,该模块的具体处理可以包括以下步骤:
步骤S51,将所述块矩阵索引辅助数组读入GPU,根据索引所指向的首地址偏移,对相应有效块的数据进行读取,对有效块相乘进行计算得到中间结果;
具体地,根据所述块矩阵索引辅助数组,就能知晓QK矩阵与VALUE有效块相乘的顺序;由于通用图形处理器一个线程束包括32个线程,因此可通常选择32×32作为矩阵分解中块的大小,使用dim3 grid(index_len)将块相乘的数量传递给通用图像处理器,使用dim3 block(32,32)将每一个块矩阵相乘作为一个线程块映射到通用图形处理器的一个流处理器中实现高效的并行计算。
紧接着,通用图形处理器中每一个线程负责块中两个向量的乘加操作,计算时先将对应的块数据从通用图形处理器全局内存拷贝到共享内存中以提高数据访问性能,为了进一步充分利用共享内存的访问速度,从全局内存拷贝到共享内存的过程需要进行矩阵转置,以避免Bank Conflict降低数据访问带宽。
步骤S53,将所述序列索引辅助数组和块计算次数索引辅助数组读入GPU,根据所述序列索引辅助数组和块计算次数索引辅助数组中记录的有效块信息,对QK矩阵与Value矩阵有效块相乘得到的中间结果进行累加,并将最终结果写入到词与词的依赖关系矩阵中。
具体地,在完成有效块相乘后,需要将计算结果正确写回内存。在原来的补全批次自注意力机制方法中,由于所有的矩阵都具有相同的结构,因此可以获取到结果中某一个数值的结构信息,易于定位到结果矩阵中具体的偏移量。然而采用本发明实施例的方法丧失了结构信息,需要提供额外辅助数组来恢复结构信息以保证正确的结果写回。将序列索引辅助数组与块计算次数索引辅助数组读入GPU显存,通过顺序读取序列索引辅助数组可知当前块矩阵属于哪一个序列,用于定位结果对应的序列;通过顺序读取块计算次数索引辅助数组可知当前块在块分解算法中的次序,用于定位到结果中对应的块。至此,每一对有效块相乘的结果对应的在结果中的位置可以被定位,由于有效块本身的结构信息完整,每一个结果值的写回位置可以被确定。
(6)所述映射模块用于对所述词与词的依赖关系矩阵进行线性变换,得到词与词的依赖关系矩阵与情感分析结果的映射,所述映射作为情感分类结果,该模块的具体处理可以包括以下步骤:
具体地,将所述词与词依赖关系矩阵输入到线性层中,对词与词的依赖关系进行线性变换,利用线性层中的映射关系,将词与词的依赖关系映射为情感分类的结果。
需要说明的是,这里的词向量化处理模块、第一计算模块、正则化处理模块、第二计算模块和映射模块一般会重复多次,值得注意的是,辅助数组构建模块的计算可以一次计算,多次使用。
与前述的文本情感分类方法的实施例相对应,本申请还提供了文本的情感分类装置的实施例。
图13是根据一示例性实施例示出的一种文本的情感分类装置框图。参照图13,该装置包括:
分类单元1,用于将待情感分类的文本输入到训练好的文本情感分类模型中,得到情感分类结果;
其中所述训练好的文本情感分类模型,参考图14,改模型包括:
词向量化处理模块21,用于对待情感分析的文本进行词向量化处理,得到词向量embedding矩阵,将所述词向量embedding矩阵进行线性变换得到KEY矩阵、QUERY矩阵和VALUE矩阵;
辅助数组构建模块22,用于根据文本的长度,构建块矩阵索引辅助数组、序列索引辅助数组和块计算次数索引辅助数组,根据所述块矩阵索引辅助数组,对所述KEY矩阵、QUERY矩阵和VALUE矩阵进行划分得到各矩阵的有效块;
第一计算模块23,用于根据所述块矩阵索引辅助数组,对所述KEY矩阵与QUERY矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的相似性矩阵QK中;
正则化处理模块24,用于对所述相似性矩阵QK进行正则化;
第二计算模块25,用于根据所述块矩阵索引辅助数组,将正则化后的相似性矩阵QK与VALUE矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的依赖关系矩阵中;
映射模块26,用于对所述词与词的依赖关系矩阵进行线性变换,得到词与词的依赖关系矩阵与情感分析结果的映射,所述映射作为情感分类结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的一种文本情感分类方法。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的一种文本情感分类方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种文本情感分类方法,其特征在于,包括:
将待情感分类的文本输入到训练好的文本情感分类模型中,得到情感分类结果;其中所述训练好的文本情感分类模型,包括:
词向量化处理模块,用于对输入的文本进行词向量化处理,得到词向量embedding矩阵,将所述词向量embedding矩阵进行线性变换得到KEY矩阵、QUERY矩阵和VALUE矩阵;
辅助数组构建模块,用于根据文本的长度,构建块矩阵索引辅助数组、序列索引辅助数组和块计算次数索引辅助数组;
第一计算模块,用于根据所述块矩阵索引辅助数组,对所述KEY矩阵与QUERY矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的相似性矩阵QK中;
正则化处理模块,用于对所述相似性矩阵QK进行正则化;
第二计算模块,用于根据所述块矩阵索引辅助数组,将正则化后的相似性矩阵QK与VALUE矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的依赖关系矩阵中;
映射模块,用于对所述词与词的依赖关系矩阵进行线性变换,得到词与词的依赖关系矩阵与情感分析结果的映射,所述映射作为情感分类结果。
2.根据权利要求1所述的方法,其特征在于,训练好的文本情感分类模型的获得包括:
获取情感分类的文本训练数据集;
基于自注意力机制的预训练模型,构建情感分类模型;
利用所述文本训练数据集对所述情感分类模型进行训练,得到文本情感分类模型。
3.根据权利要求1所述的方法,其特征在于,对输入的文本进行词向量化处理,得到词向量embedding矩阵,将所述词向量embedding矩阵进行线性变换得到KEY矩阵、QUERY矩阵和VALUE矩阵,包括:
利用分词工具对所述输入的对话文本进行分词处理,获得若干词汇;
利用现有的词字典,将所述词汇映射为相应的数字化表示,将词的数字化表示组合在一起形成词向量embedding矩阵;
将所述词向量embedding矩阵进行线性映射,获得Key矩阵、Value矩阵和Query矩阵。
4.根据权利要求1所述的方法,其特征在于,根据文本的长度,构建块矩阵索引辅助数组、序列索引辅助数组和块计算次数索引辅助数组,包括:
根据待情感分析的文本中每一句子的长度以及有效块的粒度,计算句子的有效块相乘在Key矩阵、Value矩阵和Query矩阵中首地址偏移量,根据所述首地址偏移量,构建块矩阵索引辅助数组;
根据待情感分析的文本中每一句子的长度以及有效词块的粒度,对于块矩阵索引辅助数组中记录的每一个有效块,记录有效块对应于哪一个文本序列,构建序列索引辅助数组;
根据待情感分析的文本中每一句子的长度以及有效词块的粒度,对于块矩阵索引辅助数组中记录的每一个有效块,记录有效块参与相乘的次数,构建快计算次数索引辅助数组。
5.根据权利要求1所述的方法,其特征在于,根据所述块矩阵索引辅助数组,对所述KEY矩阵与QUERY矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的相似性矩阵QK中,包括:
将所述块矩阵索引辅助数组读入GPU,根据索引所指向的首地址偏移,对相应有效块的数据进行读取,对有效块相乘进行计算得到中间结果;
将所述序列索引辅助数组和块计算次数索引辅助数组读入GPU,根据所述序列索引辅助数组和块计算次数索引辅助数组中记录的有效块信息,对有效块相乘得到的中间结果进行累加,并将最终结果写入到词与词的相似性矩阵QK中。
6.根据权利要求1所述的方法,其特征在于,根据所述块矩阵索引辅助数组,将正则化后的相似性矩阵QK与VALUE矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的依赖关系矩阵中,包括:
将所述块矩阵索引辅助数组读入GPU,根据索引所指向的首地址偏移,对相应有效块的数据进行读取,对有效块相乘进行计算得到中间结果;
将所述序列索引辅助数组和块计算次数索引辅助数组读入GPU,根据所述序列索引辅助数组和块计算次数索引辅助数组中记录的有效块信息,对有效块相乘得到的中间结果进行累加,并将最终结果写入到词与词的依赖关系矩阵中。
7.根据权利要求1所述的方法,其特征在于,对所述词与词的依赖关系矩阵进行线性变换,得到词与词的依赖关系矩阵与情感分析结果的映射,所述映射作为情感分类结果,包括:
将所述词与词依赖关系矩阵输入到线性层中,对词与词的依赖关系进行线性变换,利用线性层中的映射关系,将词与词的依赖关系映射为情感分类的结果。
8.一种文本的情感分类装置,其特征在于,包括:
分类单元,用于将待情感分类的文本输入到训练好的文本情感分类模型中,得到情感分类结果;
其中所述训练好的文本情感分类模型,包括:
词向量化处理模块,用于对待情感分析的文本进行词向量化处理,得到词向量embedding矩阵,将所述词向量embedding矩阵进行线性变换得到KEY矩阵、QUERY矩阵和VALUE矩阵;
辅助数组构建模块,用于根据一个批次中待情感分析的文本的长度,构建块矩阵索引辅助数组、序列索引辅助数组和块计算次数索引辅助数组;
第一计算模块,用于根据所述块矩阵索引辅助数组,对所述KEY矩阵与QUERY矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的相似性矩阵QK中;
正则化处理模块,用于对所述相似性矩阵QK进行正则化;
第二计算模块,用于根据所述块矩阵索引辅助数组,将正则化后的相似性矩阵QK与VALUE矩阵中的有效块相乘,再根据所述序列索引辅助数组和块计算次数索引辅助数组,将有效块相乘的结果写入到词与词的依赖关系矩阵中;
映射模块,用于对所述词与词的依赖关系矩阵进行线性变换,得到词与词的依赖关系矩阵与情感分析结果的映射,所述映射作为情感分类结果。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
CN202111441129.2A 2021-11-30 2021-11-30 文本情感分类方法及装置、电子设备、存储介质 Active CN113849592B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111441129.2A CN113849592B (zh) 2021-11-30 2021-11-30 文本情感分类方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111441129.2A CN113849592B (zh) 2021-11-30 2021-11-30 文本情感分类方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN113849592A true CN113849592A (zh) 2021-12-28
CN113849592B CN113849592B (zh) 2022-04-08

Family

ID=78982550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111441129.2A Active CN113849592B (zh) 2021-11-30 2021-11-30 文本情感分类方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN113849592B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160217500A1 (en) * 2015-01-23 2016-07-28 Conversica, Llc Systems and methods for management of automated dynamic messaging
CN111428039A (zh) * 2020-03-31 2020-07-17 中国科学技术大学 一种方面级别的跨领域情感分类方法及系统
CN112100388A (zh) * 2020-11-18 2020-12-18 南京华苏科技有限公司 一种长文本新闻舆情的情感极性的分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160217500A1 (en) * 2015-01-23 2016-07-28 Conversica, Llc Systems and methods for management of automated dynamic messaging
CN111428039A (zh) * 2020-03-31 2020-07-17 中国科学技术大学 一种方面级别的跨领域情感分类方法及系统
CN112100388A (zh) * 2020-11-18 2020-12-18 南京华苏科技有限公司 一种长文本新闻舆情的情感极性的分析方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHUNYI YUE等: "Collaborative attention neural network for multi-domain sentiment classification", 《APPLIED INTELLIGENCE》 *
JUN XIE等: "a self-attention based LSTM network for text classification", 《IEEE ACCESS》 *

Also Published As

Publication number Publication date
CN113849592B (zh) 2022-04-08

Similar Documents

Publication Publication Date Title
Zhou et al. Rethinking bottleneck structure for efficient mobile network design
CN112633419B (zh) 小样本学习方法、装置、电子设备和存储介质
WO2023236977A1 (zh) 一种数据处理方法及相关设备
CN108921188B (zh) 一种基于Spark大数据平台的并行CRF方法
CN110457718B (zh) 一种文本生成方法、装置、计算机设备及存储介质
CN112699685B (zh) 基于标签引导的字词融合的命名实体识别方法
CN116304748B (zh) 一种文本相似度计算方法、系统、设备及介质
CN115129826B (zh) 电力领域模型预训练方法、精调方法、装置及设备
WO2023042045A1 (en) Convolution attention network for multi-label clinical document classification
CN114021573B (zh) 一种自然语言处理方法、装置、设备及可读存储介质
CN115238893A (zh) 面向自然语言处理的神经网络模型量化方法和装置
CN114861907A (zh) 数据计算方法、装置、存储介质和设备
CN113780418B (zh) 一种数据的筛选方法、系统、设备和存储介质
CN113849592B (zh) 文本情感分类方法及装置、电子设备、存储介质
CN116821696A (zh) 表格问答模型的训练方法、装置、设备及存储介质
CN116797850A (zh) 基于知识蒸馏和一致性正则化的类增量图像分类方法
CN114239575B (zh) 语句分析模型的构建方法、语句分析方法、装置、介质和计算设备
CN113010687B (zh) 一种习题标签预测方法、装置、存储介质以及计算机设备
Fazili et al. Recent trends in dimension reduction methods
CN113297860A (zh) 机器翻译模型的优化方法、系统、电子设备和存储介质
Gan et al. A novel approach to attention mechanism using kernel functions: Kerformer
Yu et al. Research on a Capsule Network Text Classification Method with a Self-Attention Mechanism
CN113297828B (zh) 一种文本生成方法、装置、计算机设备及存储介质
Jiang et al. Multi-Turn Incomplete Utterance Restoration As Object Detection
CN116756012A (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
GR01 Patent grant
GR01 Patent grant