首页> 中国专利> 一种长文本分类方法、装置、计算机设备和可读存储介质

一种长文本分类方法、装置、计算机设备和可读存储介质

摘要

本申请提出一种长文本分类方法、装置、计算机设备和可读存储介质,涉及文本分类技术领域,其中,该方法包括:获取待分类文本;根据预定长度对待分类文本进行分割得到待分类文本对应的多个短文本;将多个短文本依次输入至预先训练的微调模型得到多个短文本对应的多个词向量序列,其中,预设微调模型是预先使用训练文本对预设BERT模型进行微调后得到的;生成与多个词向量序列对应的多个特征向量;根据多个特征向量获取待分类文本对应的分类结果。上述方案通过预先使用训练文本对预设BERT模型进行微调,微调后的预设微调模型能捕捉上下文信息,便于识别多义字词,精确提取待分类文本的特征,进而实现对待分类文本的精确分类。

著录项

  • 公开/公告号CN113821637A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 北京微播易科技股份有限公司;

    申请/专利号CN202111041158.X

  • 申请日2021-09-07

  • 分类号G06F16/35(20190101);G06F40/279(20200101);

  • 代理机构11581 北京瀚群律师事务所;

  • 代理人王姗姗

  • 地址 100000 北京市朝阳区小营北路53号院中源科技大厦3号楼9层

  • 入库时间 2023-06-19 13:46:35

说明书

技术领域

本申请涉及文本分类技术领域,尤其涉及一种长文本分类方法、装置、计算机设备和可读存储介质。

背景技术

自然语言处理(Nature Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向,而文本分类为自然语言处理中的一种重要应用,其主要应用在情感分类、用户评价分类等领域。20世纪90年代以前,文本自动分类主要采用基于知识工程的方式,即由专业人员手工进行分类,其缺点是成本高、费时费力;90年代以后,研究人员开始将各种统计方法和机器学习应用于自动文本分类,例如SVM、朴素贝叶斯算法、KNN算法和LR等;近年来,随着深度学习和各种神经网络模型的快速发展,基于深度学习的文本分类方法引起了学术界和工业界的密切关注与研究,循环神经网络RNN、卷积神经网络CNN 等被广泛地应用于文本的分类中。

但是,目前的文本分类方法中,输入往往是非动态字向量或者词向量,字向量或者词向量不能根据它的上下文改变,信息涵盖量比较单一;采用的特征提取模型为深度学习中的CNN、RNN模型,缺少在输入维度对输入信息流的不同重要性级别的细粒度调整,致使文本分类的准确度较低。

发明内容

有鉴于此,本申请的主要目的在于解决现有的分类方法精确度低的技术问题。

为此,本申请的第一个目的在于提出一种长文本分类方法,在微调模型处理的基础上进行分类,可以提高对待分类文本进行分类的精确度。

本申请的第二个目的在于提出一种长文本分类装置。

本申请的第三个目的在于提出一种计算机设备。

本申请的第四个目的在于提出一种非临时性计算机可读存储介质。

为达上述目的,本申请第一方面实施例提出了一种长文本分类方法,包括:

获取待分类文本;

根据预定长度对所述待分类文本进行分割,得到所述待分类文本对应的多个短文本;

将所述多个短文本依次输入至预设微调模型,得到所述多个短文本对应的多个词向量序列,其中,所述预设微调模型是使用训练文本对预设BERT模型进行微调后得到的;

生成与所述多个词向量序列对应的多个特征向量;

根据所述多个特征向量获取所述待分类文本对应的分类结果。

为达上述目的,本申请第二方面实施例提出了一种长文本分类装置,包括:

文本获取模块,用于获取待分类文本;

分割模块,与所述文本获取模块相连,用于根据预定长度对所述待分类文本进行分割,得到所述待分类文本对应的多个短文本;

序列获取模块,与所述分割模块相连,用于将所述多个短文本依次输入至预设微调模型,得到所述多个短文本对应的多个词向量序列,其中,所述预设微调模型是使用训练文本对预设BERT模型进行微调后得到的;

生成模块,与所述序列获取模块相连,用于生成与所述多个词向量序列对应的多个特征向量;

分类模块,与所述生成模块相连,用于根据所述多个特征向量获取所述待分类文本对应的分类结果。

为达上述目的,本申请第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现本申请第一方面实施例所述的长文本分类方法。

为达上述目的,本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请第一方面实施例所述的长文本分类方法。

综上所述,上述实施例通过使用训练文本对预设BERT模型进行微调,进而提高对待分类文本分类的精确度。本申请实施例提供的技术方案,在获取待分类文本之后,先根据预定长度将待分类文本分割成与其对应的多个短文本,然后通过预设微调模型获取与多个短文本对应的多个词向量序列,其中,预设微调模型是使用训练文本对预设BERT模型进行微调后得到的。使用训练文本对预设BERT模型进行微调后,不仅能捕捉上下文信息,便于识别多义字词,还可以很好的进行特征提取,有助于提高文本分类的精确度。

本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例1所提供的长文本分类方法的流程图;

图2为本申请实施例2所提供的长文本分类方法的流程图;

图3为本申请实施例3所提供的长文本分类方法的流程图;

图4为本申请实施例4所提供的长文本分类装置的结构示意图一;

图5为本申请实施例4所提供的长文本分类装置的结构示意图二;以及

图6为本申请实施例4所提供的长文本分类装置的结构示意图三。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。

实施例1

图1为本申请实施例所提供的长文本分类方法的流程图。

如图1所示,本申请实施例提供的一种长文本分类方法,包括以下步骤:

步骤110,获取待分类文本。

在本申请实施例中,在执行步骤120之前,可以先对待分类文本的长度进行确定,以对待分类文本是否为长文本进行判定。

具体而言,在本申请的实施例中,如果待分类文本的字符数量大于或者等于预设数量阈值,那么可以确定待分类文本为长文本,进而采取本申请实施例提出的长文本分类方法中步骤120进行下一步的处理;如果待分类文本的字符数量小于预设数量阈值,那么可以确定待分类文本为短文本,进而按照本领域常见的文本分类方法进行分类处理即可。

步骤120,根据预定长度对待分类文本进行分割,得到待分类文本对应的多个短文本。

步骤130,将多个短文本依次输入至预设微调模型,得到多个短文本对应的多个词向量序列,其中,预设微调模型是预先使用训练文本对预设BERT模型进行微调后得到的。

在本实施例中,通过步骤130将多个短文本依次输入预设微调模型后,可以取最后一层的[CLS]位置的词向量作为对应短文本的词向量序列。

步骤140,生成与多个词向量序列对应的多个特征向量。

在本实施例中,通过步骤140生成多个特征向量的过程具体可以为:利用预设LSTM网络对所述多个词向量序列进行深度编码,得到与所述多个词向量序列对应的多个特征向量。

步骤150,根据多个特征向量获取待分类文本对应的分类结果。

在本申请实施例中,可以将经步骤140生成的多个特征向量依次输入至全连接层进行降维处理,之后,使用softmax对降维处理后的特征向量进行概率分类,输出概率预测向量,进而根据概率预测向量之中最大概率值确定上述待分类文本对应的分类结果。

本申请实施例提供的技术方案,根据预定长度对待分类文本进行分割的方案解决了现有技术中待分类文本受bert模型定长的限制的技术问题;在根据预定长度对待分类文本进行分割之后,通过预先使用训练文本对预设BERT模型进行微调后得到的微调模型可以有效捕捉待分类文本上下文信息,识别上述文本中的多义词,即通过预设微调模型可以精确获取与多个短文本对应的多个词向量序列,随后生成与上述多个词向量序列对应的多个特征向量;进而根据上述特征向量得到待分类文本对应的分类结果。

综上,本申请实施例的方案根据预定长度对待分类文本进行分割的方案实现了待分类文本不受BERT模型定长的限制,同时,本申请实施例通过使用训练文本对预设BERT模型进行微调,微调后的预设微调模型不仅能捕捉上下文信息,便于识别多义字词,精确提取待分类文本的特征,进而实现对待分类文本的精确分类。

实施例2

图2为本申请实施例所提供的长文本分类方法的流程图。

如图2所示,本申请实施例提供的一种长文本分类方法,包括以下步骤:

步骤210,获取待分类文本。具体过程与图1所示的步骤110相似,在此不再一一赘述。

步骤220,对待分类文本进行预处理。

步骤230,根据预定长度对预处理后的待分类文本进行分割,得到待分类文本对应的多个短文本。

步骤240,将多个短文本依次输入至预设微调模型,得到多个短文本对应的多个词向量序列,其中,预设微调模型是预先使用训练文本对预设BERT模型进行微调后得到的。

步骤250,生成与多个词向量序列对应的多个特征向量。

步骤260,根据多个特征向量获取待分类文本对应的分类结果。

在本实施例种,步骤230至260的具体实现过程,与图1所示的步骤120至步骤150相似,在此不再一一赘述。

与实施例1相比,在根据预定长度对所述待分类文本进行分割之前,本申请实施例先对所述待分类文本进行预处理,其中,本申请实施例的预处理包括过滤标点符号、数字、链接地址、停用词、空格和非法字符,以及补齐缩写等,需要强调的是,本申请实施例中的预处理包括但不限于上述预处理方法中的一种或者多种。

具体而言,由于标点符号、数字、链接地址、停用词、空格、特殊字符和非法字符等对文本分析影响不大,而本申请实施例是根据预定长度对待分类文本进行分割的,因此,为了避免上述标点符号、数字、链接地址、停用词、空格、特殊字符和非法字符等占用过多的内存,本申请实施例将对文本分析帮助不大的标点符号等过滤掉,进而提升对待分类文本的分割速度,故本申请实施例将其去除。

另外,对于缩写词,本申请实施例可以将其补齐,即将缩写词还原,例如:We’ll,don’t, I’m,I’ve,He’s之类的缩写词,可以采用自定义正则匹配的方式进行缩写词补齐,本申请实施例包括但不限于采用上述方式补齐缩写词,在此不在一一列举。

实施例3

图3为本申请实施例所提供的长文本分类方法的流程图。

如图3所示,本申请实施例提供的一种长文本分类方法,包括以下步骤:

步骤310至步骤320,获取待分类文本和对应的多个短文本。该过程与图1所示的步骤110至步骤120相似;特别的,在获取待分类文本后,还可以对待分类文本进行预处理,与本发明实施例2相似,在此不再一一赘述。

步骤330,获取预设微调模型。

在本实施例中,通过步骤330获取预设微调模型的过程可以包括:获取所述训练文本和所述训练文本对应的分类标签;根据所述预定长度对所述训练文本进行分割,得到第一个短文本;确定所述第一个短文本对应的向量编码、句子编码和位置编码;根据所述向量编码、句子编码和位置编码生成输入向量;将所述输入向量输入到所述预设BERT模型中,得到所述第一个短文本对应的词向量序列;根据所述第一个短文本对应的词向量序列和所述分类标签对所述预设BERT模型进行微调,得到所述预设微调模型。其中,根据所述向量编码、句子编码和位置编码生成输入向量,包括对所述向量编码、句子编码和位置编码进行相加处理,获得所述输入向量。

特别的,为了使分割后的文本仍然保持位置顺序,可以额外添加单句向量,使得位置信息保留的更完整,即分割后的文本仍然保持位置顺序,补充了位置编码只能在单段中发挥作用,无法贯穿整体的弊端。具体的,在确定所述第一个短文本对应的向量编码、句子编码和位置编码的同时,还确定对应的单句向量;然后根据向量编码、句子编码、位置编码和单句向量生成输入向量,再执行获取词向量序列、微调BERT模型等过程。其中,根据向量编码、句子编码、位置编码和单句向量生成输入向量具体可以为将上述参数进行相加处理;可以使用正弦位置向量作为单句向量。

为了使本领域技术人员更好的理解本申请实施例,现通过下述例子对本申请实施例进行中获取预设微调模型的过程解释说明,详情如下:

假设获取的训练文本为“小明在哈尔滨上班,我也是”,分类标签为“1”,预定长度为8。

根据训练文本生成的短文本集合L=[“小明在哈尔滨”,“上班,我也是”],其中,短文本集合中的短文本是按照预定长度对训练文本进行分割后得到的,由此可知,上述短文本集合中的每个短文本的文本内容为6。

而本申请实施例在短文本集合中的每个短文本的开头和结尾处分别设有额外符号 [CLS]和[SEP],每个分隔符所占的长度均为1,或者,在短文本集合中的每个短文本的开头处设置前缀,在结尾处设置后缀,每个前缀和后缀所占的长度均为1。换言之,每个短文本的文本内容所占的长度,与开头和结尾处设置的额外符号所占长度的长度之和等于预定长度6;或者每个短文本的文本内容所占的长度,与设在开头的前缀以及设在结尾处的后缀所占的长度之和等于预定长度6。

在上述实施例中,设在每个短文本开头和结尾处的额外符号,或者设在每个短文本开头的前缀和设在结尾是为了确定个短文本的起始和结束,另外,本申请实施例中的预设长度可以为20、50、100等,预定长度的大小根据训练文本的属性进行确定。因此,上述方案使得本申请的待分类文本长度不受预设BERT模型定长的输入限制。

在上述实施例中,短文本集合包括两个短文本,两个短文本分别为第一个短文本和第二个短文本,其中第一个短文本为“小明在哈尔滨”,第二短文本为“上班,我也是”。

在按照所述预定长度对所述训练文本进行分割后得到包括第一短文本和第二短文本的短文本集合之后,从短文本集合中确定第一个短文本,即“小明在哈尔滨”,然后获取第一个短文本对应的向量编码、句子编码和位置编码(同时还可获取单句向量);随后,根据向量编码、句子编码和位置编码(以及单句向量)生成输入向量;将输入向量输入到预设BERT模型进行处理,以得到第一个短文本对应的词向量序列“x1”;根据第一个短文本对应的词向量序列“x1”和分类标签“1”对预设BERT模型进行微调,以得到预设微调模型。

本申请实施例获取预设微调模型的方法包括,首先,根据预定长度对训练文本进行分割生成第一个短文本;然后,确定第一个短文本对应的词向量序列;最后,根据词向量序列和分类标签对预设BERT模型进行微调,以得到微调模型。在实际应用中,本申请实施例根据预定长度对待分类文本进行分割的方案实现了待分类文本不受BERT模型定长的限制,同时,本申请实施例通过使用训练文本对预设BERT模型进行微调,微调后的预设微调模型不仅能捕捉上下文信息,便于识别多义字词,精确提取待分类文本的特征,进而实现对待分类文本的精确分类。

实施例4

图4为本申请实施例所提供的长文本分类装置的结构示意图。

如图4所示,本申请实施例提供的一种长文本分类装置,包括:

文本获取模块410,用于获取待分类文本。

分割模块420,与所述文本获取模块相连,用于根据预定长度对所述待分类文本进行分割,得到所述待分类文本对应的多个短文本;

序列获取模块430,与所述分割模块相连,用于将所述多个短文本依次输入至预设微调模型,得到所述多个短文本对应的多个词向量序列,其中,所述预设微调模型是预先使用训练文本对预设BERT模型进行微调后得到的;

生成模块440,与所述序列获取模块相连,用于生成与所述多个词向量序列对应的多个特征向量;

分类模块450,与所述生成模块相连,用于根据所述多个特征向量获取所述待分类文本对应的分类结果。

在本实施例中,通过上述模块实现长文本分类的过程,与本发明实施例1提供的相似,在此不再一一赘述。

其中,所述生成模块,具体用于:利用预设LSTM网络对所述多个词向量序列进行深度编码,得到与所述多个词向量序列对应的多个特征向量。

进一步的,如图5所示,本实施例提供的长文本分类装置,还包括:

预处理模块460,分别与所述文本获取模块和所述分割模块相连,用于对所述待分类文本进行预处理,所述预处理包括过滤标点符号、补齐缩写、过滤空格、过滤非法字符中的一种或者多种;

所述分割模块420,具体用于根据预定长度对预处理后的待分类文本进行分割。

在本实施例中,长文本分类装置还包括预处理模块时,实现长文本分类过程,与本发明实施例2提供的相似,在此不再一一赘述。

进一步的,如图6所示,本实施例提供的长文本分类装置,还包括:

模型获取模块470,与所述序列获取模块相连,用于获取所述预设微调模型。

具体的,模型获取模块470包括:

文本获取单元,用于获取所述训练文本和所述训练文本对应的分类标签;

分割单元,与所述文本获取单元相连,用于根据所述预定长度对所述训练文本进行分割,得到第一个短文本;

确定单元,与所述分割单元相连,用于确定所述第一个短文本对应的向量编码、句子编码和位置编码;

向量生成单元,与所述确定单元相连,用于根据所述向量编码、句子编码和位置编码生成输入向量;

序列获取单元,与所述向量生成单元相连,用于将所述输入向量输入到所述预设BERT 模型中,得到所述第一个短文本对应的词向量序列;

训练单元,分别与所述文本获取单元和序列获取单元相连,用于根据所述第一个短文本对应的词向量序列和所述分类标签对所述预设BERT模型进行微调,得到所述预设微调模型。

特别的,向量生成单元,具体用于:对所述向量编码、句子编码和位置编码进行相加处理,获得所述输入向量。

在本实施例中,长文本分类装置还包括模型获取模块470时,实现长文本分类的过程,与本发明实施例3提供的相似,在此不再一一赘述。

综上,本申请实施例的方案通过分割模块实现了待分类文本不受BERT模型定长的限制,通过序列获取模块不仅能捕捉上下文信息,便于识别多义字词,精确提取待分类文本的特征,进而实现对待分类文本的精确分类。

综上,上述实施例在实际应用中,待分类文本经预处理模块处理后,通过分割模块的方案实现了待分类文本不受BERT模型定长的限制的技术效果,同时,本申请实施例中的序列获取模块中通过使用训练文本对预设BERT模型进行微调,微调后的预设微调模型不仅能捕捉上下文信息,便于识别多义字词,精确提取待分类文本的特征,进而实现对待分类文本的精确分类;之后,生成模块利用LSTM网络对多个词向量序列进行深度编码,以得到与多个词向量序列对应的多个特征向量,由此可以实现对多种长文本进行精确的分类处理。本申请实施例将BERT模型+LSTM网络结合的方式,可以扩展到其它定长的预训练模型,后接神经网络等模型进行长文本的分类,均能取得不同的准确率提升。

为了实现上述实施例,本申请还提出一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述实施例所述的长文本分类方法。

为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例所述的长文本分类方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个预处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号