CN112307208A - 长文本的分类方法、终端及计算机存储介质 - Google Patents

长文本的分类方法、终端及计算机存储介质 Download PDF

Info

Publication number
CN112307208A
CN112307208A CN202011223749.4A CN202011223749A CN112307208A CN 112307208 A CN112307208 A CN 112307208A CN 202011223749 A CN202011223749 A CN 202011223749A CN 112307208 A CN112307208 A CN 112307208A
Authority
CN
China
Prior art keywords
text
classified
preset
texts
short texts
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
CN202011223749.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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202011223749.4A priority Critical patent/CN112307208A/zh
Publication of CN112307208A publication Critical patent/CN112307208A/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/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • 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
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis

Landscapes

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

Abstract

本申请实施例公开了一种长文本的分类方法、终端及计算机存储介质,所述方法包括:确定待分类文本中的标点符号,并基于标点符号获得待分类文本对应的多个短文本;其中,多个短文本中的每两个连续的文本存在重叠的字符;将多个短文本依次输入至预设BERT模型中,输出多个短文本对应的多个特征向量;根据多个特征向量生成待分类文本对应的目标向量;将目标向量输入至全连接层,输出待分类文本对应的分类结果。

Description

长文本的分类方法、终端及计算机存储介质
技术领域
本发明涉及信息处理技术领域,尤其涉及一种长文本的分类方法、终端及计算机存储介质。
背景技术
基于多头自注意力机制的双向编码语言模型(Bidirectional EncoderRepresentations from Transformers,BERT)的新语言表示模型,它代表Transformer的双向编码器表示。与常见的其他语言表示模型不同,BERT旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,预训练的BERT表示可以通过一个额外的输出层进行微调(fine-tuning),适用于广泛任务的最先进模型的构建,比如问答任务和语言推理,无需针对具体任务做大幅架构修改。
目前,为了对BERT的计算量进行控制,需要限制输入至BERT模型的文本长度,因此,在使用BERT模型进行长文本的分类时,会存在信息丢失的风险。也就是说,对于长文本的分类问题,往往无法利用BERT模型获得满意的分类结果。
发明内容
本申请实施例提供了一种长文本的分类方法、终端及计算机存储介质,可以在解决BERT限制文本输入长度的问题的同时,避免文本信息的丢失,大大提高分类处理的准确性。
本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供了一种长文本的分类方法,所述方法包括:
确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本;其中,所述多个短文本中的每两个连续的文本存在重叠的字符;
将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量;
根据所述多个特征向量生成所述待分类文本对应的目标向量;
将所述目标向量输入至全连接层,输出所述待分类文本对应的分类结果。
第二方面,本申请实施例提供了一种终端,所述终端包括:确定单元、获取单元、输入单元、输出单元以及生成单元,
所述确定单元,用于确定所述待分类文本中的标点符号;
所述获取单元,用于基于所述标点符号获得所述待分类文本对应的多个短文本;其中,所述多个短文本中的每两个连续的文本存在重叠的字符;
所述输入单元,用于将所述多个短文本依次输入至预设BERT模型中;
所述输出单元,用于输出所述多个短文本对应的多个特征向量;
所述生成单元,用于根据所述多个特征向量生成所述待分类文本对应的目标向量;
所述输入单元,还用于将所述目标向量输入至全连接层;
所述输出单元,还用于输出所述待分类文本对应的分类结果。
第三方面,本申请实施例提供了一种终端,所述终端包括处理器、存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如上所述的长文本的分类方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时,实现如上所述的长文本的分类方法。
本申请实施例提供了一种长文本的分类方法、终端及计算机存储介质,终端确定待分类文本中的标点符号,并基于标点符号获得待分类文本对应的多个短文本;其中,多个短文本中的每两个连续的文本存在重叠的字符;将多个短文本依次输入至预设BERT模型中,输出多个短文本对应的多个特征向量;根据多个特征向量生成待分类文本对应的目标向量;将目标向量输入至全连接层,输出待分类文本对应的分类结果。也就是说,在本申请的实施例中,终端通过对长文本进行分割处理,获得存在上下文联系的、具有重叠字符的多个短文本,然后基于多个短文本,利用预设BERT模型和全连接层进行分类处理,获得分类结果,从而可以在解决BERT限制文本输入长度的问题的同时,避免文本信息的丢失,大大提高分类处理的准确性。
附图说明
图1为BERT的网络结构示意图;
图2为Transformer的网络结构的编码器的示意图;
图3为BERT模型的输入表示;
图4为BERT的整体预训练和微调程序;
图5为本申请实施例提出的长文本的分类方法的实现流程示意图一;
图6为本申请实施例提出的长文本的分类方法的实现流程示意图二;
图7为本申请实施例提出的长文本的分类方法的实现流程示意图三;
图8为本申请实施例提出的长文本的分类方法的实现流程示意图四;
图9为本申请实施例提出的长文本的分类方法的实现流程示意图五;
图10为本申请实施例提出的长文本的分类方法的实现流程示意图六;
图11为本申请实施例提出的终端组成结构示意图一;
图12为本申请实施例提出的终端组成结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
BERT是由谷歌在2018年提出的预训练模型,即双向Transformer的编码(Encoder),因为解码(decoder)是不能获要预测的信息的。该模型的主要创新点都在pre-train方法上,即用了掩码语言模型(Masked Language Model,MLM)和预测下一个句子(Next Sentence Prediction,NSP)两种方法分别捕捉词语和句子级别的表述。
具体地,BERT采用和(Generative pre-trained transformer,GPT)完全相同的两阶段模型,首先是语言模型预训练;其次是使用Fine-Tuning模式解决下游任务。和GPT的最主要不同在于在预训练阶段采用了类似ELMO的双向语言模型,即双向的Transformer,当然另外一点是语言模型的数据规模要比GPT大。
图1为BERT的网络结构示意图,如图1所示,BERT提供了简单和复杂两个模型,对应的超参数分别如下:
BERT-base:L=12,H=768,A=12,参数总量110M;(与GPT持平)
BERT-large:L=24,H=1024,A=16,参数总量340M。
其中,L表示网络的层数(即Transformer blocks的数量),A表示Multi-HeadAttention中self-Attention的数量,filter的尺寸是4H。
作为一个Word2Vec的替代者,BERT在自然语言处理(Natural LanguageProcessing,NLP)领域的11个方向大幅刷新了精度,主要包括以下几个特点:
1、BERT使用了Transformer作为算法的主要框架,Transformer能更彻底的捕捉语句中的双向关系;其中,Transformer是一个encoder-decoder的结构,由若干个编码器和解码器堆叠形成。图2为Transformer的网络结构的编码器的示意图,如图2所示,编码器由Multi-Head Attention和一个全连接组成,用于将输入语料转化成特征向量。
2、使用了MLM和NSP的多任务训练目标
其中,MLM可以理解为完形填空,可以随机掩盖(mask)每一个句子中15%的词,用其上下文来做预测,例如:句子“my dog is hairy”在经过mask之后可以为“my dog is[MASK]”。可见,此处将hairy进行了mask处理,然后采用非监督学习的方法预测mask位置的词是什么。
NSP的任务是判断句子B是否是句子A的下文,如果是的话输出'IsNext',否则输出'NotNext'。训练数据的生成方式是从平行语料中随机抽取的连续两句话,其中50%保留抽取的两句话,它们符合IsNext关系,另外50%的第二句话是随机从预料中提取的,它们的关系是NotNext的。
在训练BERT模型时,MLM和NSP是一起训练的,目标就是要最小化两种策略的组合损失函数。
3、使用更强大的机器训练更大规模的数据,使BERT的结果达到了全新的高度,且由于Google开源了BERT模型,用户可以直接使用BERT作为Word2Vec的转换矩阵并高效地将其应用到自己的任务中。
BERT是通过在海量的语料上运行自监督学习方法,为单词学习一个好的特征表示,所谓自监督学习是指在没有人工标注的数据上运行的监督学习。在以后特定的NLP任务中,可以直接使用BERT的特征表示作为该任务的词嵌入特征。因此BERT提供的是一个供其它任务迁移学习的模型,该模型可以根据任务微调或者固定之后作为特征提取器。
图3为BERT模型的输入表示,如图3所示,BERT的输入的编码向量(长度是512)是3个嵌入特征的单位和,其中,Token Embeddings是词向量,第一个单词是CLS标志,可以用于之后的分类任务;分割嵌入(Segment Embedding)用于区分两个句子,例如B是否是A的下文(对话场景,问答场景等);对于句子对,第一个句子的特征值是0,第二个句子的特征值是1;位置嵌入(Position Embedding)是指将单词的位置信息编码成特征向量,位置嵌入是向模型中引入单词位置关系的至关重要的一环。
具体地,说明一下图3中的两个特殊符号[CLS]和[SEP],其中,[CLS]表示该特征用于分类模型,对非分类模型,该符合可以省去;[SEP]表示分句符号,用于断开输入语料中的两个句子。
图4为BERT的整体预训练和微调程序,如图4所示,除了输出层之外,在预训练(Pre-training)和微调(Fine-Tuning)中都使用相同的架构,相同的预训练模型参数用于初始化不同下游任务的模型。在微调期间,所有参数都经过微调。其中,MNLI是给定一个前提(Premise),根据这个前提去推断假设(Hypothesis)与前提的关系。该任务的关系分为三种,蕴含关系(Entailment)、矛盾关系(Contradiction)以及中立关系(Neutral)。所以这个问题本质上是一个分类问题,我们需要做的是去发掘前提和假设这两个句子对之间的交互信息。SQuAD是给定一个句子(通常是一个问题)和一段描述文本,输出这个问题的答案,类似于做阅读理解的简答题。SQuAD的输入是问题和描述文本的句子对。输出是特征向量,通过在描述文本上接一层激活函数为softmax的全连接来获得输出文本的条件概率,全连接的输出节点个数是语料中Token的个数。
BERT模型的时间复杂度是o(n^2),其中n表示句子的长度,所以当n很大的时候,BERT的计算量是相当大的,因此一般情况下会限制n的大小,谷歌设置BERT的输入最大长度为512。但是在实际业务中,经常有很多长文本,长度远远大于512,这个时候,BERT就无能为力了。
目前,主要通过以下两种方案来解决BERT不擅长识别长文本的问题:
1、截断
BERT允许输入的文本的最大长度为512,所以最直接的方案是对输入文本进行截断,简单地抽取文本最前面或者最后面的512个字符。
2、关键句抽取
由于BERT不擅长文本生成类的任务,因此BERT主要用于文本分类、相似度判断等任务中,当利用预设规则的方式把长文本变成短文本的时候,例如去掉停用词等,几乎不会对分类任务产生影响,也可以利用算法的方式来处理,比如利用tfidf,textrank类的算法,这些算法主要是用来做抽取式的摘要,不建议使用seq2seq抽象式的摘要方法,因为目前抽象式抽取方法不成熟,效果不佳,对文本处理的时候会极大地引入噪声,从而导致Garbagein,garbage out。
然而,虽然截断的处理方式简单直接,不需要做多余的工作,但是在很多情况下,仅仅依靠文本的前面或后面的一部分进行识别处理,往往会造成信息的极大损失,导致任务效果不好的缺陷。关键句抽取的处理方式,则需要做多余的统计计算和特征工程,增加了算法的复杂度,且关键句抽取是NLP另一个复杂的任务,很难实现足够好的效果。
为了解决相关技术存在的问题,在本申请的实施例中,终端通过对长文本进行分割处理,获得存在上下文联系的、具有重叠字符的多个短文本,然后基于多个短文本,利用预设BERT模型和全连接层进行分类处理,获得分类结果,从而可以在解决BERT限制文本输入长度的问题的同时,避免文本信息的丢失,大大提高分类处理的准确性。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请一实施例提供了一种长文本的分类方法,图5为本申请实施例提出的长文本的分类方法的实现流程示意图一,如图5所示,在本申请的实施例中,终端进行长文本的分类的方法可以包括以下步骤:
步骤101、确定待分类文本中的标点符号,并基于标点符号获得待分类文本对应的多个短文本;其中,多个短文本中的每两个连续的文本存在重叠的字符。
在本申请的实施例中,终端可以先确定待分类文本中的标点符号,然后可以基于标点符号进一步获得该待分类文本对应的多个短文本。
需要说明的是,在本申请的实施例中,待分类文本的字符数量可以大于或者等于预设数量阈值。其中,预设数量阈值可以为终端预先设置的、用于对文本的长度进行限制的具体数值。
可以理解的是,在本申请的实施例中,终端可以先对待分类文本进行长度的确定,以对待分类文本是否为长文本进行判定。
具体地,在本申请的实施例中,如果待分类文本的字符数量大于或者等于预设数量阈值,那么可以确定待分类文本为长文本,进而需要采取本申请提出的长文本的分类方法进行下一步的分类处理;如果待分类文本的字符数量小于预设数量阈值,那么可以确定待分类文本为短文本,则可以按照常见的分类方法进行分类处理。
示例性的,在本申请中,终端可以设置预设数量预设为40,那么对于字符数量为117的待分类文本“判断输入的目标文本的第P个字符是否在哈希索引中,输入字符不在哈希索引中则直接偏移到下一字符进行判断;若输入目标文本的第p个字符在哈希索引中能够找到一个查找区间,则从当前字符开始,获取该字符起始词汇所在位置索引区间R到E与长度区间D到M”,可以确定该待分类文本为长文本。
进一步地,在本申请的实施例中,如果待分类文本为长为本,那么终端可以先对待分类文本中的标点符号进行确定,从而可以进一步根据待分类文本中的标点符号进行多个短文本的生成。
示例性的,在本申请中,终端可以通过对字符中的标点符号进行识别,从而确定出待分类文本中的标点符号。其中,标点符号包括点号(如句号、问号、叹号、逗号、顿号、分号、冒号等)和标号(如引号、括号、破折号、省略号、着重号、书名号、分隔号等)。
需要说明的是,在本申请的实施例中,多个短文本中的每两个连续的文本均存在重叠的字符。也就是说,基于待分类文本的标点符号所获得的多个短文本中的两个连续的短文本,前一个短文本的结尾部分与后一个短文本的开始部分,具有一个或者多个相同的字符。
示例性的,在本申请中,连续的两个短文本中的前一个短文本为“时令已快到惊蛰,雪当然再不会存留,往往还没等落地,”,后一个短文本为“往往还没等落地,就已经消失得无踪无影了。”,可见,这两个连续的短文本之间,存在有重叠的字符“往往还没等落地,”。
进一步地,在本申请的实施例中,终端在基于所述标点符号获得所述待分类文本对应的多个短文本时,可以先按照所述标点符号对所述待分类文本进行分割处理,从而获得分割后文本;然后可以对所述分割后文本中的任意两个连续文本进行组合处理,最终便可以获得所述多个短文本。
需要说明的是,在本申请的实施例中,终端在进行多个短文本的获取时,可以参考N元模型(N-Gram)来进行任意两个连续文本的组合处理。其中,N-Gram是大词汇连续语音识别中常用的一种语言模型,对中文而言,可以称之为汉语语言模型(Chinese LanguageModel,CLM)。汉语语言模型利用上下文中相邻词间的搭配信息,可以实现到汉字的自动转换。
具体地,N-Gram基于这样一种假设,第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。常用的是二元的Bi-Gram和三元的Tri-Gram。
N-Gram是自然语言处理中一个非常重要的概念。假设有一个字符串,那么该字符串的N-Gram就表示按长度N切分原词得到的词段,也就是其中所有长度为N的子字符串。设想如果有两个字符串,然后分别求它们的N-Gram,那么就可以从它们的共有子串的数量这个角度去定义两个字符串间的N-Gram距离。
可以理解的是,在本申请的实施例中,终端可以按照待分类文本中的标点符号逆行断句,从而将待分类文本分割成为多个分割后文本,然后,终端可以参考N-Gram的方式对这些分割后文本进行组合处理,最终生成的多个短文本中的任意连续的两个短文本,均满足存在重叠的字符的要求。
需要说明的是,在本申请中,每两个连续的文本存在重叠的字符的实现,能够保持待分类文本对应的多个短文本中之间的上下文关系。
进一步地,在本申请的实施例中,终端在确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本时,可以先识别所述待分类文本中的k个标点符号;然后便可以基于所述标点符号获得所述待分类文本对应的m个短文本;其中,k为大于或者等于1的整数,m为小于k的整数。
也就是说,在本申请中,终端获取的短文本的数量不大于待分类文本中的标点符号的数量。
示例性的,在本申请中,如果待分类文本为“时令已快到惊蛰,雪当然再不会存留,往往还没等落地,就已经消失得无踪无影了。黄土高原严寒而漫长的冬天看来就要过去,但那真正温暖的春天还远远地没有到来。”,其中,待分类文本的标点符号的数量k等于6,终端在基于标点符号对待分类文本进行分割和组合之后,可以获得“时令已快到惊蛰,雪当然再不会存留,往往还没等落地,”、“往往还没等落地,就已经消失得无踪无影了。”、“就已经消失得无踪无影了。黄土高原严寒而漫长的冬天看来就要过去,”、“黄土高原严寒而漫长的冬天看来就要过去,但那真正温暖的春天还远远地没有到来。”这4个短文本,即m等于4。
步骤102、将多个短文本依次输入至预设BERT模型中,输出多个短文本对应的多个特征向量。
在本申请的实施例中,终端在确定待分类文本中的标点符号,并基于标点符号获得待分类文本对应的多个短文本之后,可以将多个短文本分别输入至预设BERT模型中,从而可以输出多个短文本对应的多个特征向量。
可以理解的是,在本申请中,终端在获得待分类文本的多个短文本之后,可以使用预设BERT模型分别对每一个短文本进行编码,以获得多个短文本对应的多个特征向量。其中,一个短文本对应一个文本向量。
进一步地,在本申请的实施例中,预设BERT模型可以为采用MLM和NSP同步训练获得的,在训练的过程中,需要最小化MLM和NSP的组合损失函数,
需要说明的是,在本申请的实施例中,终端在将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量之前,即步骤102之前,终端对长文本进行分类的方法还可以包括以下步骤:
步骤105、训练预设BERT模型,获得预设BERT模型。
在本申请的实施例中,终端可以先进行预设BERT模型的训练,最终训练获得预设BERT模型。
具体地,在本申请中,终端训练预设BERT模型的方法可以包括以下步骤:
步骤105a、获取原始语料。
在本申请的实施例中,终端可以先进行原始语料的获取,其中,原始语料可以包括语料库中的多个基本语料,以及与多个基本语料对应的多个分类语料。其中,基本语料和分类语料的数量可以相同,即原始语料中包括有一半的基本语料和一半的分类语料。
可以理解的是,在本申请中,终端采用由基本语料和分类语料构成的原始语料进行模型的训练,能够提高预设BERT模型的分类精度。
步骤105b、按照字符对原始语料进行分割处理,获得分割后语料。
在本申请的实施例中,终端可以对原始语料进行字符级的分割处理,获得分割后语料。具体地,终端可以对原始语料中的标点符号等字符进行分割。其中,进行字符级分割的处理主要用于后续连接句子对,以及将标点符号等非字词的字符去掉。
步骤105c、基于原始语料构建句子对,其中,句子对包括正样本和负样本。
在本申请的实施例中,针对可以利用原始语料进行多组句子对的构建,其中,每一组句子对均包括有至少两个句子。
具体地,在本申请中,句子对可以包括正样本和负样本,其中,正样本的句子对中的句子之间存在有上下文关系;负样本的句子对中的句子之间不存在上下文关系。
也就是好说,在本申请中,包括有正样本和负样本的句子对正可以用于进行是否存在上下文关系的确定。
步骤105d、基于分割后语料连接句子对,获得连接后句子对。
进一步地,在本申请的实施例中,终端在完成句子对的构建之后,可以使用分割后语料进行句子对的连接,从而获得连接后句子对。
进一步地,在本申请中,终端是以字符为最小单位进行句子对连接的,进而可以使初始BERT模型在训练过程能以字符为最小单位进行特征的学习。
具体地,在本申请中,终端可以采用[SEP]标签进行句子间的连接,句首采用[CLS]作为标签,句末采用[SEP]作为标签。该采用标签的形式对句子本身的位置、句子间的前后关系进行标记,能够帮助训练初始BERT模型时让初始BERT模型学习到这些特征。
步骤105e、按照预设比例对连接后句子对进行遮掩处理,获得训练语料。
在本申请的实施例中,终端在进行训练语料的确定时,可以对连接后的句子对进行对字符遮掩处理。具体地,终端可以按照预设比例对连接后句子对进行遮掩处理。
进一步地,在本申请中,终端可以采用模型训练的mask(遮掩)机制,其中,遮掩的字符具体可采用预训练的预测模型得到预测字符。
可以理解的是,在本申请中,终端可以采用随机遮掩字符的方式,按照预设比例进行遮掩处理,从而能够让模型在训练过程中进行判断的能力,使训练得到的模型具有更强的泛化能力,特征提取的能力更强。
需要说明的是,在本申请中,预设比例可以为终端预先设置的固定数值,例如,预设比例可以为0.1或0.2等。
步骤105f、使用训练语料对初始BERT模型进行训练,获得预设BERT模型。
在本申请的实施例中,终端在基于原始语料生成的训练语料之后,便可以利用训练语料训练初始BERT模型,最终得到完成训练的BERT模型。
具体地,在本申请中,终端可以将训练语料输入到初始BERT模型中进行训练,得到预设BERT模型。
进一步地,在本申请的实施例中,由于预设BERT模型是一个预训练模型,只要学到其中语义关系即可,不需要去解码完成具体的任务,因此,预设BERT模型主要用了Transformer的Encoder,而没有用其Decoder。
可以理解的是,在本申请中,预设BERT模型可以通过查询字向量表将文本中的每个字转换为一维向量,作为模型输入;而预设BERT模型的模型输出则是输入各字对应的融合全文语义信息后的向量表示。
需要说明的是,在本申请中,除了字向量以外,预设BERT模型的模型输入除了字向量还可以包括文本向量和位置向量。其中,文本向量的取值在模型训练过程中自动学习,用于刻画文本的全局语义信息,并与单字/词的语义信息相融合;位置向量用于解决出现在文本不同位置的字/词所携带的语义信息存在差异的问题,即预设BERT模型对不同位置的字/词分别附加一个不同的位置向量以作区分。
也就是说,在本申请的实施例中,预设BERT模型可以将字向量、文本向量以及位置向量的加和作为模型输入。
具体地,在本申请中,终端将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量时,可以先确定所述多个短文本中的一个短文本对应的子向量、文本向量以及位置向量;然后可以根据所述子向量、所述文本向量以及所述位置向量确定输入向量;进而可以将所述输入向量输入至所述预设BERT模型中,输出所述一个短文本对应的特征向量;最终在遍历多个短文本之后,便可以获得多个短文本对应的多个特征向量。
步骤103、根据多个特征向量生成待分类文本对应的目标向量。
在本申请的实施例中,终端在将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量之后,可以进一步根据多个特征向量生成待分类文本对应的目标向量。
进一步地,在本申请的实施例中,终端在根据多个特征向量生成待分类文本对应的目标向量时,可以在获得多个段文本对应的多个特征向量之后,对所述多个特征向量进行拼接处理,从而获得所述目标向量。
进一步地,在本申请的实施例中,终端在根据多个特征向量生成待分类文本对应的目标向量时,还可以在获得多个段文本对应的多个特征向量之后,对所述多个特征向量进行相加处理,从而获得所述目标向量。
也就是说,在本申请的实施例中,多个短文本依次输入至预设BERT模型后输出获得的多个特征向量,可以通过拼接处理或者相加处理,生成与待分类文本对应的一个向量,即生成目标向量。
步骤104、将目标向量输入至全连接层,输出待分类文本对应的分类结果。
在本申请的实施例中,终端在根据所述多个特征向量生成所述待分类文本对应的目标向量之后,接着可以将目标向量输入至全连接层,输出所述待分类文本对应的分类结果。
全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。在实际使用中,全连接层可由卷积操作实现。
进一步地,在本申请的实施例中,终端可以通过全连接层最终实现分类处理。具体地,对于由多个短文本对应的多个特征向量获得的目标向量,可以将该目标向量输入值全连接层中,以进行分类处理,最终输出的结果即为待分类文本的分类结果。
图6为本申请实施例提出的长文本的分类方法的实现流程示意图二,如图6所示,在本申请的实施例中,终端在将所述目标向量输入至全连接层,输出所述待分类文本对应的分类结果之前,即步骤104之前,终端进行长文本分类的方法还可以包括以下步骤:
步骤106、确定待分类文本对应的业务标签数量。
步骤107、根据业务标签数量确定全连接层对应的节点数量。
在本申请的实施例中,终端可以先确定待分类文本对应的业务标签数量,然后再根据业务标签数量对全连接层对应的节点数量进行确定。也就是说,在本申请中,对于不同的待分类文本,使用的全连接层的节点数量可能不同。
示例性的,在本申请中,如果待分类文本对应的业务标签包括优秀、良好、及格,即业务标签数量为3,那么训练时的全连接层的节点数量为3;如果待分类文本对应的业务标签包括好评和差评,即业务标签数量为2,那么训练时的全连接层的节点数量为2。
进一步地,在本申请的实施例中,在将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量之后,即步骤102之后,终端进行分类处理的方法还可以包括以下步骤:
步骤108、固定预设BERT模型的内部参数。
在本申请的实施例中,终端在利用预设BERT模型完成多个特征向量的获取之后,便可以固定预设BERT模型的内部参数,而在后续的训练中,只对全连接层的参数进行调整。
综上所述,通过步骤101至步骤108所提出的长文本分类方法,如果待分类文本为长文本,那么终端可以把待分类文本划分成多个短句子,且划分后的每个短句子之间有字符的重叠,以使得多个短句子之间仍然保存上下文关系,进而在后续使用预设BERT模型完成分类的过程中不会造成信息的丢失。
也就是说,本申请提出的长文本分类方法,本方案通过对长文本的预处理,把长文本分成多个短句子,并分别对多个短句子使用预设BERT模型进行分类处理,从而可以解决预设BERT限制文本输入长度的问题,且分类的过程中不会造成信息丢失,提高业务效果。
本申请实施例提供了一种长文本的分类方法,终端确定待分类文本中的标点符号,并基于标点符号获得待分类文本对应的多个短文本;其中,多个短文本中的每两个连续的文本存在重叠的字符;将多个短文本依次输入至预设BERT模型中,输出多个短文本对应的多个特征向量;根据多个特征向量生成待分类文本对应的目标向量;将目标向量输入至全连接层,输出待分类文本对应的分类结果。也就是说,在本申请的实施例中,终端通过对长文本进行分割处理,获得存在上下文联系的、具有重叠字符的多个短文本,然后基于多个短文本,利用预设BERT模型和全连接层进行分类处理,获得分类结果,从而可以在解决BERT限制文本输入长度的问题的同时,避免文本信息的丢失,大大提高分类处理的准确性。
基于上述实施例,在本申请的再一实施例中,图7为本申请实施例提出的长文本的分类方法的实现流程示意图三,如图7所示,在本申请的实施例中,在确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本之前,即步骤101之前,终端进行长文本分类的方法还可以包括以下步骤:
步骤109、确定待分类文本对应的业务类型。
步骤110、根据业务类型确定判断是否满足预设分割条件。
步骤111、若满足预设分割条件,则执行多个短文本的获取流程。
在本申请的实施例中,终端在对待分类文本进行分类之前,可以先确定待分类文本对应的业务类型,然后可以根据业务类型判断待分类文本是否满足预设分割条件;其中,预设分割条件用于对是否将待分类文本划分为多个短文本进行确定;进一步地,如果待分类文本满足预设分割条件,那么终端便可以执行多个短文本的获取流程,即执行步骤101。
需要说明的是,在本申请的实施例中,终端先根据待分类文本对应的业务类型进行是否满足预设分割条件的判断,从而可以对需要提升分类效果和性能的业务执行本申请所提出的长文本的分类方法。
也就是说,在本申请中,终端可以根据待分类文本的业务类型,进一步确定是否需要先将待分类文本分割为多个短文本之后再进行分类结果的确定。具体地,如果待分类文本对应的业务类型为预设类型,那么可以判定待分类文本满足预设分割条件,则可以执行如步骤101所提出的多个短文本的获取流程。
示例性的,在本申请中,当待分类文本的业务类型为法律类(预设类型)时,即在需要根据法律判决书内容来判断犯罪类型,犯罪严重程度,惩罚结果等的场景下,终端需要避免信息的损失,并提升分类处理的性能,此时,终端可以选择先对待分类文本进行分割处理,获得对应的多个短文本,然后再基于多个短文本进行分类处理。
图8为本申请实施例提出的长文本的分类方法的实现流程示意图四,如图8所示,在本申请的实施例中,在根据业务类型确定判断是否满足预设分割条件之后,即步骤110之后,终端进行长文本分类的方法还可以包括以下步骤:
步骤112、若不满足预设分割条件,则按照预设长度上限阈值对待分类文本进行截断处理,获得截断后文本。
步骤113、基于截断后文本和预设BERT模型进行分类处理,获得分类结果。
在本申请的实施例中,终端在根据业务类型确定判断是否满足预设分割条件之后,如果确定待分类文本不满足预设分割条件,那么终端可以按照预设长度上限阈值对待分类文本进行截断处理,从而获得截断后文本,接着,终端可以基于截断后文本和预设BERT模型进行分类处理,进一步获得待分类文本的分类结果。
也就是说,在本申请中,终端可以根据待分类文本的业务类型,进一步确定是否需要先将待分类文本分割为多个短文本之后再进行分类结果的确定。具体地,如果待分类文本对应的业务类型不为预设类型,那么可以判定待分类文本不满足预设分割条件,则不需要执行如步骤101所提出的多个短文本的获取流程,而是直接按照常见的截断方法来进行分类结果的确定。
可以理解的是,在本申请的实施例中,终端在对待分类文本进行截断处理时,可以按照预设长度上限阈值截取待分类文本的前面部分或者后面部分。其中,预设长度上限阈值可以表征预设BERT模型允许输入的最大长度。
示例性的,在本申请中观,如果预设BERT模型允许输入的文本的最大长度为512,即预设长度上限阈值为512,那么在判定待分类文本不满足预设分割条件之后,终端可以对待分类文本进行截断处理,获取待分类文本前面的512个字符作为截断后文本,或者,获取待分类文本后面的512个字符作为截断后文本。
进一步地,在本申请的实施例中,终端在通过截断处理获得截断后文本之后,便可以将截断后文本输入至预设BERT模型,输出目标向量;然后再将所述目标向量输入至全连接层,最终便可以输出所述待分类文本对应的分类结果。
图9为本申请实施例提出的长文本的分类方法的实现流程示意图五,如图9所示,在本申请的实施例中,在所述根据所述业务类型确定判断是否满足预设分割条件之后,即步骤110之后,终端进行长文本分类的方法还可以包括以下步骤:
步骤114、若不满足预设分割条件,则对待分类文本进行抽取处理,获得关键文本。
步骤115、基于关键文本和预设BERT模型进行分类处理,获得分类结果。
在本申请的实施例中,终端在根据所述业务类型确定判断是否满足预设分割条件之后,如果确定待分类文本不满足预设分割条件,那么终端可以对待分类文本进行抽取处理,从而获得关键文本,接着,终端可以基于关键文本和预设BERT模型进行分类处理,进一步获得待分类文本的分类结果。
也就是说,在本申请中,终端可以根据待分类文本的业务类型,进一步确定是否需要先将待分类文本分割为多个短文本之后再进行分类结果的确定。具体地,如果待分类文本对应的业务类型不为预设类型,那么可以判定待分类文本不满足预设分割条件,则不需要执行如步骤101所提出的多个短文本的获取流程,而是直接按照常见的关键句抽取方法来进行分类结果的确定。
可以理解的是,在本申请的实施例中,终端在对待分类文本进行抽取处理时,可以利用预设规则将待分类文本中的部分字符去掉,获得抽取后的关键文本;也可以使用预设算法,如tfidf,textrank类的算法,最终获得的关键文本。
进一步地,在本申请的实施例中,终端在通过抽取处理获得关键文本之后,便可以将关键文本输入至预设BERT模型,输出目标向量;然后再将所述目标向量输入至全连接层,最终便可以输出所述待分类文本对应的分类结果。
综上所述,在本申请中,终端可以基于预设分割条件,根据待分类文本的业务类型确定待分类文本适合的分类方式。例如,对分类效果和性能均有较高要求的业务类型,终端可以先通过分割处理进行对应的多个短文本的生成,再基于多个短文本进行分类结果的获取;而如果对分类效果和性能的要求并不高,终端也可以采用常见的截断方式或关键句抽取方式先对待分类文本进行处理,再执行分类流程。
本申请实施例提出了一种长文本的分类方法,终端确定待分类文本中的标点符号,并基于标点符号获得待分类文本对应的多个短文本;其中,多个短文本中的每两个连续的文本存在重叠的字符;将多个短文本依次输入至预设BERT模型中,输出多个短文本对应的多个特征向量;根据多个特征向量生成待分类文本对应的目标向量;将目标向量输入至全连接层,输出待分类文本对应的分类结果。也就是说,在本申请的实施例中,终端通过对长文本进行分割处理,获得存在上下文联系的、具有重叠字符的多个短文本,然后基于多个短文本,利用预设BERT模型和全连接层进行分类处理,获得分类结果,从而可以在解决BERT限制文本输入长度的问题的同时,避免文本信息的丢失,大大提高分类处理的准确性。
基于上述实施例,本申请的再一实施例提出了一种长文本的分类方法,图10为本申请实施例提出的长文本的分类方法的实现流程示意图六,如图10所示,终端进行长文本分类的方法可以包括以下步骤:
步骤201、获取待处理文本。
步骤202、待处理文本是否为长文本,如果是,执行步骤203,否则执行步骤209。
在本申请的实施例中,终端可以先获取待处理文本,然后可以进一步确定待处理文本是否为长文本。
示例性的,在本申请中,终端可以将待处理文本的字符数量与预设数量阈值进行比较,如果待处理文本的字符数量大于预设数量阈值,那么可以确定待处理文本为长文本,否则,待处理文本为短文本。
步骤203、待处理文本是否满足预设分割条件,如果满足,则执行步骤204,否则执行步骤207。
在本申请的实施例中,如果待处理文本为长文本,那么终端可以进一步判断待处理文本是否满足预设分割条件。具体地,终端可以先确定待处理文本的业务类型,然后再基于该业务类型判定是否需要对待处理文本执行多个短文本的获取。
步骤204、将待处理文本分割为多个短文本。
步骤205、将多个短文本依次输入至预设BERT模型,获得多个特征向量。
步骤206、根据多个特征向量生成待处理文本对应的目标向量。
在本申请的实施例中,终端在判断待处理文本是否满足预设分割条件之后,如果确定待处理文本满足预设分割条件,那么终端可以先将待处理文本分割为多个短文本,然后将所述多个短文本依次输入至预设BERT模型中,获得多个特征向量,最后可以再根据所述多个特征向量生成所述待处理文本对应的目标向量。
需要说明的是,在本申请的实施例中,终端在进行多个短文本的分割处理时,可以先确定所述待处理文本中的标点符号,并基于所述标点符号获得所述待处理文本对应的多个短文本。其中,多个短文本中的每两个连续的文本存在重叠的字符,从而可以保证多个短文本之间的相关性和连续性。
进一步地,在本申请中,终端在将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量时,可以先确定所述多个短文本中的一个短文本对应的子向量、文本向量以及位置向量;然后根据所述子向量、所述文本向量以及所述位置向量确定输入向量;接着将所述输入向量输入至所述预设BERT模型中,输出所述一个短文本对应的特征向量;最后,终端可以遍历所述多个短文本,获得所述多个特征向量。
可以理解的是,在本申请中,终端在根据所述多个特征向量生成所述待处理文本对应的目标向量时,可以对所述多个特征向量进行拼接处理,获得所述目标向量;或者,可以对所述多个特征向量进行相加处理,获得所述目标向量。
步骤207、通过截断处理(抽取处理),获得截断后文本(关键文本)。
步骤208、将截断后文本(关键文本)输入至预设BERT模型,获得目标向量。
在本申请的实施例中,终端在判断待处理文本是否满足预设分割条件之后,如果确定待处理文本不满足预设分割条件,那么终端可以先对待处理文本进行截断处理,从而获得截断后文本,然后可以将截断后文本输入至预设BERT模型中,最终获得待处理文本对应的目标向量。
进一步地,在本申请中,如果确定待处理文本不满足预设分割条件,那么终端也可以先对待处理文本进行抽取处理,从而获得关键文本,然后可以将关键文本输入至预设BERT模型中,最终获得待处理文本对应的目标向量。
步骤209、将待处理文本输入至预设BERT模型,获得目标向量。
在本申请的实施例中,如果待处理文本为短文本,那么终端便可以直接将待处理文本输入至预设BERT模型,输出获得待处理文本对应的目标向量。
步骤210、将目标向量输入至全连接层,获得分类结果。
在本申请的实施例中,终端在获得待处理文本对应的目标向量之后,便可以将目标向量输入至全连接层,最终输出待处理文本的分类结果。
可以理解的是,在本申请中,终端可以根据待处理文本对应的业务标签数量来进行全连接层的参数的设置。具体地,终端可以根据所述业务标签数量确定所述全连接层对应的节点数量。
综上所述,通过上述步骤201至步骤210所提出的长文本的分类方法,终端可以将长文本直接根据标点符号进行分割,获得对应的多个短句,同时要求连续的短句必须有字符的重叠,通过这样的分割方式保持短句之间仍然保持上下文关系,便可以完全利用整个长文本的信息进行分类,从而可以避免信息的丢失,进而基于多个短句获得的准确性更高的分类结果。
进一步地,在本申请中,终端可以根据标点符号进行长文本的分割处理,然后按照n-gram的方式组合成多个短句。
可以理解的是,在本申请中,终端可以将每个短句都输入至BERT中,进行编码。也就是说,长文本在被分成多个短句之后,需要跑多次BERT。
需要说明的是,在本申请中,终端在通过多个短句跑多次BERT,得到多个BERT输出之后,可以将多个输出进行拼接或者相加,然后输入至一个全连接层,其中,全连接层节点数由业务标签数量决定(比如文本情感分析业务,假设只有好评和差评两种标签,那么就是两个节点的全连接层)。
进一步地,在本申请的实施例中,终端在进行BERT模型训练时,对BERT模型进行微调,在添加全连接层之后训练模型时,可以固定BERT内部的参数,只调整全连接层的参数。
本申请实施例提出了一种长文本的分类方法,终端确定待分类文本中的标点符号,并基于标点符号获得待分类文本对应的多个短文本;其中,多个短文本中的每两个连续的文本存在重叠的字符;将多个短文本依次输入至预设BERT模型中,输出多个短文本对应的多个特征向量;根据多个特征向量生成待分类文本对应的目标向量;将目标向量输入至全连接层,输出待分类文本对应的分类结果。也就是说,在本申请的实施例中,终端通过对长文本进行分割处理,获得存在上下文联系的、具有重叠字符的多个短文本,然后基于多个短文本,利用预设BERT模型和全连接层进行分类处理,获得分类结果,从而可以在解决BERT限制文本输入长度的问题的同时,避免文本信息的丢失,大大提高分类处理的准确性。
基于上述实施例,在本申请的另一实施例中,图11为本申请实施例提出的终端的组成结构示意图一,如图11示,本申请实施例提出的终端10可以包括确定单元11、获取单元12、输入单元13、输出单元14,生成单元15,训练单元16,判断单元17,截断单元18,抽取单元19。
所述确定单元11,用于确定所述待分类文本中的标点符号;
所述获取单元12,用于基于所述标点符号获得所述待分类文本对应的多个短文本;其中,所述多个短文本中的每两个连续的文本存在重叠的字符;
所述输入单元13,用于将所述多个短文本依次输入至预设BERT模型中;
所述输出单元14,用于输出所述多个短文本对应的多个特征向量;
所述生成单元15,用于根据所述多个特征向量生成所述待分类文本对应的目标向量;
所述输入单元13,还用于将所述目标向量输入至全连接层;
所述输出单元14,还用于输出所述待分类文本对应的分类结果。
进一步地,在本申请的实施例中,所述获取单元12,具体用于按照所述标点符号对所述待分类文本进行分割处理,获得分割后文本;对所述分割后文本中的任意两个连续文本进行组合处理,获得所述多个短文本。
进一步地,在本申请的实施例中,所述确定单元11,具体用于识别所述待分类文本中的k个标点符号;其中,k为大于或者等于1的整数;
进一步地,在本申请的实施例中,所述获取单元12,具体用于基于所述标点符号获得所述待分类文本对应的m个短文本;其中,m为小于k的整数。
进一步地,在本申请的实施例中,所述确定单元11,还用于所述将所述目标向量输入至全连接层,输出所述待分类文本对应的分类结果之前,确定所述待分类文本对应的业务标签数量;根据所述业务标签数量确定所述全连接层对应的节点数量。
进一步地,在本申请的实施例中,所述生成单元15,具体用于对所述多个特征向量进行拼接处理,获得所述目标向量;或者,对所述多个特征向量进行相加处理,获得所述目标向量。
进一步地,在本申请的实施例中,所述训练单元16,用于将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量之后,固定所述预设BERT模型的内部参数。
进一步地,在本申请的实施例中,所述待分类文本的字符数量大于或者等于预设数量阈值;其中,所述预设数量阈值用于对文本的长度进行限制。
进一步地,在本申请的实施例中,所述输入单元13和所述输出单元14,具体用于确定所述多个短文本中的一个短文本对应的子向量、文本向量以及位置向量;根据所述子向量、所述文本向量以及所述位置向量确定输入向量;将所述输入向量输入至所述预设BERT模型中,输出所述一个短文本对应的特征向量;遍历所述多个短文本,获得所述多个特征向量。
进一步地,在本申请的实施例中,所述训练单元16,还用于将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量之前,训练所述预设BERT模型。
进一步地,在本申请的实施例中,所述训练单元16,具体用于获取原始语料;按照字符对所述原始语料进行分割处理,获得分割后语料;基于所述原始语料构建句子对,其中,所述句子对包括正样本和负样本;基于所述分割后语料连接所述句子对,获得连接后句子对;按照预设比例对所述连接后句子对进行遮掩处理,获得训练语料;使用所述训练语料对初始BERT模型进行训练,获得所述预设BERT模型。
进一步地,在本申请的实施例中,所述确定单元11,还用于所述确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本之前,确定所述待分类文本对应的业务类型;
进一步地,在本申请的实施例中,所述判断单元17,用于根据所述业务类型确定判断是否满足预设分割条件;
进一步地,在本申请的实施例中,所述获取单元12,还用于若满足所述预设分割条件,则执行所述多个短文本的获取流程。
进一步地,在本申请的实施例中,所述截断单元18,用于根据所述业务类型确定判断是否满足预设分割条件之后,若不满足所述预设分割条件,则按照预设长度上限阈值对所述待分类文本进行截断处理,获得截断后文本;
进一步地,在本申请的实施例中,所述获取单元12,还用于基于所述截断后文本和所述预设BERT模型进行分类处理,获得所述分类结果。
进一步地,在本申请的实施例中,所述抽取单元19,用于根据所述业务类型确定判断是否满足预设分割条件之后,若不满足所述预设分割条件,则对所述待分类文本进行抽取处理,获得关键文本;
进一步地,在本申请的实施例中,所述获取单元12,还用于基于所述关键文本和所述预设BERT模型进行分类处理,获得所述分类结果。
在本申请的实施例中,进一步地,图12为本申请实施例提出的终端组成结构示意图,如图12示,本申请实施例提出的终端10还可以包括处理器110、存储有处理器110可执行指令的存储器111,进一步地,终端10还可以包括通信接口112,和用于连接处理器110、存储器111以及通信接口112的总线113。
在本申请的实施例中,上述处理器110可以为特定用途集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital Signal Processing Device,DSPD)、可编程逻辑装置(ProgRAMmable Logic Device,PLD)、现场可编程门阵列(Field ProgRAMmable GateArray,FPGA)、中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本申请实施例不作具体限定。终端10还可以包括存储器111,该存储器111可以与处理器110连接,其中,存储器111用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器111可能包含高速RAM存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
在本申请的实施例中,总线113用于连接通信接口112、处理器110以及存储器111以及这些器件之间的相互通信。
在本申请的实施例中,存储器111,用于存储指令和数据。
进一步地,在本申请的实施例中,上述处理器110,用于确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本;其中,所述多个短文本中的每两个连续的文本存在重叠的字符;将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量;根据所述多个特征向量生成所述待分类文本对应的目标向量;将所述目标向量输入至全连接层,输出所述待分类文本对应的分类结果。
在实际应用中,上述存储器111可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器110提供指令和数据。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供了一种终端,该终端确定待分类文本中的标点符号,并基于标点符号获得待分类文本对应的多个短文本;其中,多个短文本中的每两个连续的文本存在重叠的字符;将多个短文本依次输入至预设BERT模型中,输出多个短文本对应的多个特征向量;根据多个特征向量生成待分类文本对应的目标向量;将目标向量输入至全连接层,输出待分类文本对应的分类结果。也就是说,在本申请的实施例中,终端通过对长文本进行分割处理,获得存在上下文联系的、具有重叠字符的多个短文本,然后基于多个短文本,利用预设BERT模型和全连接层进行分类处理,获得分类结果,从而可以在解决BERT限制文本输入长度的问题的同时,避免文本信息的丢失,大大提高分类处理的准确性。
本申请实施例提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现如上所述的长文本的分类方法。
具体来讲,本实施例中的一种长文本的分类方法对应的程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种长文本的分类方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本;其中,所述多个短文本中的每两个连续的文本存在重叠的字符;
将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量;
根据所述多个特征向量生成所述待分类文本对应的目标向量;
将所述目标向量输入至全连接层,输出所述待分类文本对应的分类结果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (16)

1.一种长文本的分类方法,其特征在于,所述方法包括:
确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本;其中,所述多个短文本中的每两个连续的文本存在重叠的字符;
将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量;
根据所述多个特征向量生成所述待分类文本对应的目标向量;
将所述目标向量输入至全连接层,输出所述待分类文本对应的分类结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述标点符号获得所述待分类文本对应的多个短文本,包括:
按照所述标点符号对所述待分类文本进行分割处理,获得分割后文本;
对所述分割后文本中的任意两个连续文本进行组合处理,获得所述多个短文本。
3.根据权利要求1或2所述的方法,其特征在于,所述确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本,包括:
识别所述待分类文本中的k个标点符号;其中,k为大于或者等于1的整数;
基于所述标点符号获得所述待分类文本对应的m个短文本;其中,m为小于k的整数。
4.根据权利要求1所述的方法,其特征在于,所述将所述目标向量输入至全连接层,输出所述待分类文本对应的分类结果之前,所述方法还包括:
确定所述待分类文本对应的业务标签数量;
根据所述业务标签数量确定所述全连接层对应的节点数量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述多个特征向量生成所述待分类文本对应的目标向量,包括:
对所述多个特征向量进行拼接处理,获得所述目标向量;或者,
对所述多个特征向量进行相加处理,获得所述目标向量。
6.根据权利要求1所述的方法,其特征在于,所述将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量之后,所述方法还包括:
固定所述预设BERT模型的内部参数。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述待分类文本的字符数量大于或者等于预设数量阈值;其中,所述预设数量阈值用于对文本的长度进行限制。
8.根据权利要求1所述的方法,其特征在于,所述将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量,包括:
确定所述多个短文本中的一个短文本对应的子向量、文本向量以及位置向量;
根据所述子向量、所述文本向量以及所述位置向量确定输入向量;
将所述输入向量输入至所述预设BERT模型中,输出所述一个短文本对应的特征向量;
遍历所述多个短文本,获得所述多个特征向量。
9.根据权利要求1所述的方法,其特征在于,所述将所述多个短文本依次输入至预设BERT模型中,输出所述多个短文本对应的多个特征向量之前,所述方法还包括:
训练所述预设BERT模型。
10.根据权利要求8所述的方法,其特征在于,所述训练所述预设BERT模型包括:
获取原始语料;
按照字符对所述原始语料进行分割处理,获得分割后语料;
基于所述原始语料构建句子对,其中,所述句子对包括正样本和负样本;
基于所述分割后语料连接所述句子对,获得连接后句子对;
按照预设比例对所述连接后句子对进行遮掩处理,获得训练语料;
使用所述训练语料对初始BERT模型进行训练,获得所述预设BERT模型。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述确定所述待分类文本中的标点符号,并基于所述标点符号获得所述待分类文本对应的多个短文本之前,所述方法还包括:
确定所述待分类文本对应的业务类型;
根据所述业务类型确定判断是否满足预设分割条件;
若满足所述预设分割条件,则执行所述多个短文本的获取流程。
12.根据权利要求11所述的方法,其特征在于,所述根据所述业务类型确定判断是否满足预设分割条件之后,所述方法还包括:
若不满足所述预设分割条件,则按照预设长度上限阈值对所述待分类文本进行截断处理,获得截断后文本;
基于所述截断后文本和所述预设BERT模型进行分类处理,获得所述分类结果。
13.根据权利要求11所述的方法,其特征在于,所述根据所述业务类型确定判断是否满足预设分割条件之后,所述方法还包括:
若不满足所述预设分割条件,则对所述待分类文本进行抽取处理,获得关键文本;
基于所述关键文本和所述预设BERT模型进行分类处理,获得所述分类结果。
14.一种终端,其特征在于,所述终端包括:确定单元、获取单元、输入单元、输出单元以及生成单元,
所述确定单元,用于确定所述待分类文本中的标点符号;
所述获取单元,用于基于所述标点符号获得所述待分类文本对应的多个短文本;其中,所述多个短文本中的每两个连续的文本存在重叠的字符;
所述输入单元,用于将所述多个短文本依次输入至预设BERT模型中;
所述输出单元,用于输出所述多个短文本对应的多个特征向量;
所述生成单元,用于根据所述多个特征向量生成所述待分类文本对应的目标向量;
所述输入单元,还用于将所述目标向量输入至全连接层;
所述输出单元,还用于输出所述待分类文本对应的分类结果。
15.一种终端,其特征在于,所述终端包括处理器、存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如权利要求1-13任一项所述的方法。
16.一种计算机可读存储介质,其上存储有程序,应用于终端中,其特征在于,所述程序被处理器执行时,实现如权利要求1-13任一项所述的方法。
CN202011223749.4A 2020-11-05 2020-11-05 长文本的分类方法、终端及计算机存储介质 Pending CN112307208A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011223749.4A CN112307208A (zh) 2020-11-05 2020-11-05 长文本的分类方法、终端及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011223749.4A CN112307208A (zh) 2020-11-05 2020-11-05 长文本的分类方法、终端及计算机存储介质

Publications (1)

Publication Number Publication Date
CN112307208A true CN112307208A (zh) 2021-02-02

Family

ID=74326243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011223749.4A Pending CN112307208A (zh) 2020-11-05 2020-11-05 长文本的分类方法、终端及计算机存储介质

Country Status (1)

Country Link
CN (1) CN112307208A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507628A (zh) * 2021-02-03 2021-03-16 北京淇瑀信息科技有限公司 基于深度双向语言模型的风险预测方法、装置和电子设备
CN113052487A (zh) * 2021-04-12 2021-06-29 平安国际智慧城市科技股份有限公司 评价文本的处理方法、装置以及计算机设备
CN113064973A (zh) * 2021-04-12 2021-07-02 平安国际智慧城市科技股份有限公司 文本分类方法、装置、设备及存储介质
CN113095062A (zh) * 2021-04-12 2021-07-09 阿里巴巴新加坡控股有限公司 数据处理方法、装置、电子设备及计算机存储介质
CN113220892A (zh) * 2021-06-15 2021-08-06 苏州大学 基于bert的自适应文本分类方法及装置
CN113535918A (zh) * 2021-07-14 2021-10-22 梁晨 预训练对偶注意力神经网络语义推断对话检索方法及系统、检索设备、存储介质
CN113553848A (zh) * 2021-07-19 2021-10-26 北京奇艺世纪科技有限公司 长文本分类方法、系统、电子设备、计算机可读存储介质
CN113627152A (zh) * 2021-07-16 2021-11-09 中国科学院软件研究所 一种基于自监督学习的无监督机器阅读理解训练方法
CN113672726A (zh) * 2021-07-20 2021-11-19 贵州电网有限责任公司 一种基于重采样的多轮对话分类方法
CN116186562A (zh) * 2023-04-27 2023-05-30 中南大学 基于编码器的长文本匹配方法
CN116386800A (zh) * 2023-06-06 2023-07-04 神州医疗科技股份有限公司 基于预训练语言模型的医疗病历数据分割方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109977415A (zh) * 2019-04-02 2019-07-05 北京奇艺世纪科技有限公司 一种文本纠错方法及装置
CN110008469A (zh) * 2019-03-19 2019-07-12 桂林电子科技大学 一种多层次命名实体识别方法
CN111241234A (zh) * 2019-12-27 2020-06-05 北京百度网讯科技有限公司 文本分类方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008469A (zh) * 2019-03-19 2019-07-12 桂林电子科技大学 一种多层次命名实体识别方法
CN109977415A (zh) * 2019-04-02 2019-07-05 北京奇艺世纪科技有限公司 一种文本纠错方法及装置
CN111241234A (zh) * 2019-12-27 2020-06-05 北京百度网讯科技有限公司 文本分类方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507628A (zh) * 2021-02-03 2021-03-16 北京淇瑀信息科技有限公司 基于深度双向语言模型的风险预测方法、装置和电子设备
CN113052487A (zh) * 2021-04-12 2021-06-29 平安国际智慧城市科技股份有限公司 评价文本的处理方法、装置以及计算机设备
CN113064973A (zh) * 2021-04-12 2021-07-02 平安国际智慧城市科技股份有限公司 文本分类方法、装置、设备及存储介质
CN113095062A (zh) * 2021-04-12 2021-07-09 阿里巴巴新加坡控股有限公司 数据处理方法、装置、电子设备及计算机存储介质
CN113220892A (zh) * 2021-06-15 2021-08-06 苏州大学 基于bert的自适应文本分类方法及装置
CN113535918A (zh) * 2021-07-14 2021-10-22 梁晨 预训练对偶注意力神经网络语义推断对话检索方法及系统、检索设备、存储介质
CN113627152B (zh) * 2021-07-16 2023-05-16 中国科学院软件研究所 一种基于自监督学习的无监督机器阅读理解训练方法
CN113627152A (zh) * 2021-07-16 2021-11-09 中国科学院软件研究所 一种基于自监督学习的无监督机器阅读理解训练方法
CN113553848A (zh) * 2021-07-19 2021-10-26 北京奇艺世纪科技有限公司 长文本分类方法、系统、电子设备、计算机可读存储介质
CN113553848B (zh) * 2021-07-19 2024-02-02 北京奇艺世纪科技有限公司 长文本分类方法、系统、电子设备、计算机可读存储介质
CN113672726A (zh) * 2021-07-20 2021-11-19 贵州电网有限责任公司 一种基于重采样的多轮对话分类方法
CN116186562A (zh) * 2023-04-27 2023-05-30 中南大学 基于编码器的长文本匹配方法
CN116386800A (zh) * 2023-06-06 2023-07-04 神州医疗科技股份有限公司 基于预训练语言模型的医疗病历数据分割方法和系统
CN116386800B (zh) * 2023-06-06 2023-08-18 神州医疗科技股份有限公司 基于预训练语言模型的医疗病历数据分割方法和系统

Similar Documents

Publication Publication Date Title
CN112307208A (zh) 长文本的分类方法、终端及计算机存储介质
CN110135457B (zh) 基于自编码器融合文档信息的事件触发词抽取方法及系统
CN109992782B (zh) 法律文书命名实体识别方法、装置及计算机设备
CN113158665B (zh) 一种基于文本摘要生成与双向语料改善对话文本生成的方法
CN111914091B (zh) 一种基于强化学习的实体和关系联合抽取方法
CN111783462A (zh) 基于双神经网络融合的中文命名实体识别模型及方法
CN110263325B (zh) 中文分词系统
CN107797987B (zh) 一种基于Bi-LSTM-CNN的混合语料命名实体识别方法
CN112163092B (zh) 实体及关系抽取方法及系统、装置、介质
US20220284321A1 (en) Visual-semantic representation learning via multi-modal contrastive training
CN113268586A (zh) 文本摘要生成方法、装置、设备及存储介质
CN113177412A (zh) 基于bert的命名实体识别方法、系统、电子设备及存储介质
CN111611346A (zh) 一种基于动态语义编码和双注意力的文本匹配方法及装置
CN112749274A (zh) 基于注意力机制和干扰词删除的中文文本分类方法
CN111563375A (zh) 一种文本生成方法和装置
CN114529903A (zh) 文本细化网络
CN107797988A (zh) 一种基于Bi‑LSTM的混合语料命名实体识别方法
CN113553848A (zh) 长文本分类方法、系统、电子设备、计算机可读存储介质
CN111145914B (zh) 一种确定肺癌临床病种库文本实体的方法及装置
CN114428850A (zh) 一种文本检索匹配方法和系统
CN114742016A (zh) 一种基于多粒度实体异构图的篇章级事件抽取方法及装置
CN114218921A (zh) 一种优化bert的问题语义匹配方法
CN110874408B (zh) 模型训练方法、文本识别方法、装置及计算设备
CN116595166A (zh) 一种结合特征改进及扩展的双通道短文本分类方法及系统
CN115794998A (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