文本聚类方法以及相关装置与流程

文档序号:29614976发布日期:2022-04-13 11:10阅读:145来源:国知局
文本聚类方法以及相关装置与流程

1.本技术属于自然语言处理应用技术领域,具体涉及文本聚类方法以及相关装置。


背景技术:

2.随着信息化进程的不断推荐,日益增长的文本信息给人们带来巨大的困扰,而信息处理技术可以有效帮助人们从海量数据中挖掘出有效的信息。文本类别划分是信息处理技术最基本的方法,其中,文本类别划分目前主要包括有监督的文本分类方法和无监督或者半监督的文本聚类方法。有监督的文本分类方法通过预定义好类别标签,通过对文本数据组织人工标注构建专有的或者面向领域的文本。预定义类别标签一旦确定很难更改,因此,基于有监督的文本分类方法极大的限制了文本类别划分的拓展。基于半监督或者无监督的文本聚类方法,可以解决文本类别划分的问题,在文本类别划分方面得到了广泛的应用。文本聚类功能通过对大量的输入文本进行聚类分析将具有高度相似性的文档划分到相同的类别。同类的文档相似度较大,而类别不同的文档相似度较小。作为一种无监督的机器学习方法,聚类由于不需要训练过程,且不需要预先对文档手工标注类别,因此具有一定的灵活性和较高的自动化处理能力。例如:传统的基于single_pass的新闻聚类方法,基于lda的主题文本聚类方法。
3.但是这些方法也存在一些不足,目前的文本向量特征主要存在几个问题:基于词袋模型的向量表达对于长文本的特征表达效果较差,基于词频统计的tf-idf的向量表达以及基于主题的lda的向量表达均忽略了词语的上下文语义关联信息;另外,在聚类过程中,随着文本数据增加,簇心的偏移,会导致同一个簇内的文本之间的相似性差异较大。因此,无法解决传统方案中只能实现单个文档的摘要生成的缺陷的问题。
4.因此,亟需一种新的文本聚类方法来解决上述问题。


技术实现要素:

5.本技术提供文本聚类方法以及相关装置,以解决传统方案中只能实现单个文档的摘要生成的缺陷的问题。
6.为解决上述技术问题,本技术采用的一个技术方案是:提供一种文本聚类方法,包括:获得多个文档;响应于多个所述文档中存在字符长度超过阈值的待处理文档,对所述待处理文档进行降维处理以使得所述待处理文档的字符长度小于或等于所述阈值;对字符长度小于或等于所述阈值的所有所述文档进行聚类以获得至少一个聚类簇;针对每个所述聚类簇生成对应的摘要。
7.其中,所述待处理文档包括正文和标题,所述对所述待处理文档进行降维处理以使得所述待处理文档的字符长度小于或等于所述阈值的步骤,包括:对所述待处理文档的正文进行切分,以获得多个语句;获得所述正文中每个语句的语句特征向量、以及获得所述标题的标题特征向量;获得所述标题特征向量和每个所述语句特征向量之间的相似度值;将相似度值较高的多个所述语句拼接以形成降维后的所述待处理文档。
8.其中,所述语句特征向量和所述标题特征向量基于训练后的tpbert模型获得;其中,训练所述tpbert模型的步骤包括:构建多个训练文本对,每个所述训练文本对中包括第一训练文本和第二训练文本,且每个所述训练文本对标注有相似度标签,所述相似度标签为0或1;对所述第一训练文本和所述第二训练文本分别进行特征提取以获得对应的第一输出向量和第二输出向量;对所述第一输出向量和所述第二输出向量进行拼接以获得第一拼接向量;利用第一激活函数和所述第一拼接向量获得相似度预测值;基于所述相似度预测值和对应的所述相似度标签更新所述tpbert模型中的参数。
9.其中,所述对所述第一输出向量和所述第二输出向量进行拼接以获得第一拼接向量的步骤,包括:将所述第一输出向量和所述第二输出向量做差以获得第一差异向量、以及将所述第二输出向量和所述第一输出向量做差以获得第二差异向量;将所述第一输出向量、所述第二输出向量、所述第一差异向量和所述第二差异向量作异或处理以获得所述第一拼接向量。
10.其中,所述对字符长度小于或等于所述阈值的所有所述文档进行聚类以获得至少一个聚类簇的步骤,包括:利用dbscan聚类算法对所有所述文档进行聚类以获得至少一个聚类簇。
11.其中,所述针对每个所述聚类簇生成对应的摘要的步骤,包括:针对当前所述聚类簇中的每个文档中的每个语句,获得当前所述语句中每个单词的位置向量,并基于所述语句中的所有单词的位置向量以及所述语句的语句特征向量获得语义特征向量;对当前所述聚类簇中每个所述文档的所有所述语义特征向量进行编码以获得中间层的隐藏状态向量;对当前所述聚类簇中所有文档的所述隐藏状态向量进行解码以获得所述摘要。
12.其中,所述摘要基于训练后的md_pgnet模型获得;其中,训练所述md_pgnet模型的步骤,包括:构建多个训练文本簇,每个所述训练文本簇中包括相似度超过预设值的多个训练文档,且每个所述文本簇设置有对应的摘要标签;将同一个训练文本簇中的多个训练文档中的单词依次并行输入至所述md_pgnet模型中;获得当前时间步下所述md_pgnet模型中解码获得的所有单词的解码状态向量、以及解码获得的所有单词对应的编码状态向量;基于所述解码状态向量和所述编码状态向量获得所述训练文本簇的平均注意力;基于所述平均注意力、所述解码状态向量和所述摘要标签获得拷贝权重概率、以及基于所述解码状态向量和所述编码状态向量获得当前时间步下的生成词概率;基于所述拷贝权重概率和所述生成词概率获得当前时间步下的预测词概率;基于所述预测词概率和所述训练文本簇内所有训练文档的覆盖向量的损失获得总损失,并根据所述总损失调整所述md_pgnet模型中的参数。
13.其中,所述基于所述解码状态向量和所述编码状态向量获得所述训练文本簇的平均注意力的步骤,包括:基于每个所述单词的所述解码状态向量和所述编码状态向量获得所述单词的注意力权重;针对非首个单词,基于所述注意力权重和覆盖向量更新非首个单词的注意力权重;获得每个训练文本中已解码获得的所有单词的注意力权重的和值,并将每个训练文本的所述和值乘以对应的篇章权重系数以获得第一数值;将所述训练文本簇内所有训练文本的第一数值的平均值作为所述平均注意力。
14.其中,所述基于所述预测词概率和所述训练文本簇内所有训练文档的覆盖向量的损失获得总损失的步骤,包括:获得训练文本簇内每个训练文本的覆盖向量在当前时间步
下的第一损失之和;获得第二系数与所述第一损失之和的乘积,并将所述乘积与所述预测词概率的对数值的差值作为所述总损失。
15.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种文本聚类装置,包括:获得模块,用于获取目的地信息;处理模块,与所述获得模块耦接,用于响应于多个所述文档中存在字符长度超过阈值的待处理文档,对所述待处理文档进行降维处理以使得所述待处理文档的字符长度小于或等于所述阈值;聚类模块,与所述处理模块耦接,用于对字符长度小于或等于所述阈值的所有所述文档进行聚类以获得至少一个聚类簇;生成模块,与所述聚类模块耦接,用于针对每个所述聚类簇生成对应的摘要。
16.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种电子设备,包括相互耦接的存储器和处理器,所述存储器内存储有程序指令,所述处理器用于执行所述程序指令以实现上述任一实施例所提及的文本聚类方法。
17.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于实现上述任一实施例所提及的文本聚类方法。
18.区别于现有技术的情况,本技术的有益效果是:本技术所提供的文本聚类方法包括:获得多个文档;响应于多个文档中存在字符长度超过阈值的待处理文档,对待处理文档进行降维处理以使得待处理文档的字符长度小于或等于阈值;对字符长度小于或等于阈值的所有文档进行聚类以获得至少一个聚类簇;针对每个聚类簇生成对应的摘要。通过这种设计方式,对pgnet模型进行了改进,使其能够同时处理多篇文档,得到多篇章文档的共同摘要,基于pgnet模型的多篇章的文本短描述生成方法,解决了传统方案中只能解决单个文档的摘要生成的缺陷。
附图说明
19.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
20.图1是本技术所提供的文本聚类方法的总体框架图;
21.图2是本技术文本聚类方法一实施方式的流程示意图;
22.图3是图2中步骤s2对应一实施方式的流程示意图;
23.图4是训练tpbert模型的流程示意图;
24.图5是tpbert模型的结构示意图;
25.图6是图4中步骤s22一实施方式的流程示意图;
26.图7是图2中步骤s4一实施方式的流程示意图;
27.图8是训练md_pgnet模型的流程示意图;
28.图9是md_pgnet模型的网络结构图;
29.图10是图8中步骤s43一实施方式的流程示意图;
30.图11是图8中步骤s46一实施方式的流程示意图;
31.图12是本技术文本聚类装置一实施方式的框架示意图;
32.图13是本技术电子设备一实施方式的框架示意图;
33.图14是本技术计算机可读存储介质一实施方式的框架示意图。
具体实施方式
34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
35.请参阅图1和图2,图1是本技术所提供的文本聚类方法的总体框架图,图2是本技术文本聚类方法一实施方式的流程示意图。本技术所提供的整体方案为:将多个文档输入进去,当多个文档中存在字符长度超过阈值的超长文本时,利用基于句子对的tpbert模型对上述超长文本进行语义降维处理,并完成无指定簇数的文本聚类(例如,聚类为政治、娱乐等),当文档中不存在字符长度超过阈值的超长文本时,直接进入文本聚类的步骤,最后生成多篇章的短描述主题并输出。具体地,该文本聚类方法包括:
36.s1:获得多个文档。
37.具体而言,上述文档中包括多个待处理文档。
38.s2:判断多个文档中是否存在字符长度超过阈值的待处理文档。
39.s3:若是,则对待处理文档进行降维处理以使得待处理文档的字符长度小于或等于阈值。
40.具体而言,若多个文档中是否存在字符长度超过阈值的待处理文档,则对待处理文档进行降维处理以使得待处理文档的字符长度小于或等于阈值。由于tpbert模型具有输入长度512字符的限制,且由于bert本身的神经网络结构的原因,实验分析超过300个字符则会导致无法捕获到更长的语义信息,因此tpbert模型在处理长篇章文本数据时候无法完整地获取长篇章内容的语义信息,因此若多个文档中是否存在字符长度超过阈值的待处理文档,需要先对超长文本进行语义降维处理。
41.具体地,在本实施例中,待处理文档包括正文和标题。请参阅图3,图3是图2中步骤s3对应一实施方式的流程示意图。具体而言,步骤s2中对待处理文档进行降维处理以使得待处理文档的字符长度小于或等于阈值的步骤包括:
42.s10:对待处理文档的正文进行切分,以获得多个语句。
43.具体而言,将待处理文档的正文按照标点符号进行切分,即将一篇长文章转换为语句列表,上述语句列表中包括正文中的多个语句。当然,在其他实施例中,待处理文档的正文也可以按照其他方式进行切分,本技术在此不作限定。
44.s11:获得正文中每个语句的语句特征向量、以及获得标题的标题特征向量。
45.具体地,在本实施例中,语句特征向量和标题特征向量基于训练后的tpbert模型获得。基于训练后的tpbert模型得到每个语句的语句特征向量表示,一篇文章即表示为多个向量。此外,在本实施例中,这里在实际应用时输入的是单个的语句,基于tpbert模型获得每个语句对应的语句特征向量,并不会进入到后面的激活函数softmax的步骤。通过上述设计方式,虽然输入的文本不同,但是如果两个语句的意思表述相同,那么这两个语句输出的语句特征向量是相同的。进一步,对于一篇文章,标题的重要性也是非常高的,基于优化
训练后的tpbert模型可以将标题进行向量化,从而得到标题的标题特征向量。
46.s12:获得标题特征向量和每个语句特征向量之间的相似度值。
47.具体而言,利用余弦相似度,计算上述标题的标题特征向量和文章列表的每个语句的语句特征向量之间的相似度,在本实施例中,基于topn分析法动态选择top前n个相似的语句,使得前n个相似的语句的总长度小于512字节。这个步骤的实际意义为与标题相似度高的前n个语句能够表达整个文章的绝大多数语义信息。其中,n的个数由语句的总长度来决定。
48.s13:将相似度值较高的多个语句拼接以形成降维后的待处理文档。
49.具体而言,将相似度值较高的多个语句(前n个相似的语句)拼接成一个新的长篇章内容(new_discourse),此时文本的总长度则降到512个字符以下,从而实现长文本的语义降维。
50.在处理长文本的过程中,采用语义降维的方法对较长的文本进行分句检索,保留原本文本中的语义特征信息,使得获取的文本向量表达剔除了长文本中的无用信息,减少了后续处理的复杂性,以便于后续进行预训练语言模型处理。
51.当前最先进的自然语言处理方法莫过于预训练模型+微调的方式,本方式提出了一种针对文本对(text pair)特性而专门设计的改进预训练语言模型:tpbert模型。标准的bert模型是一种简单的基于文本上下文信息的语义建模,无法显示的捕捉到句子中的关键信息,因此在面对相似文本对的时候,两个语句之间的内容高度相似,只有少量的关键词汇的信息不同,bert模型很难有效的区分,从而影响整个语句对之间的深层语义,甚至语义完全相反。因此基于bert模型的改进方法是利用一种基于keyword-bert模型作为本方法的核心架构,在其基础上进行的文本对的优化改进,实现了一种新的预训练语言模型tpbert模型。具体地,请一并参阅图4和图5,图4是训练tpbert模型的流程示意图,图5是tpbert模型的结构示意图。具体而言,训练tpbert模型的步骤包括:
52.s20:构建多个训练文本对。
53.具体而言,在训练tpbert模型时是基于文本对的,每个训练文本对中包括第一训练文本sentence1和第二训练文本sentence2,且每个训练文本对标注有相似度标签。在本实施例中,可以将每个训练文本对人工标注其相似度标签为0或1。具体地,当第一训练文本sentence1和第二训练文本sentence2相似时,其相似度标签为1;当第一训练文本sentence1和第二训练文本sentence2不相似时,其相似度标签为0。
54.s21:对第一训练文本和第二训练文本分别进行特征提取以获得对应的第一输出向量和第二输出向量。
55.具体而言,将第一训练文本sentence1和第二训练文本sentence2分别输入至keyword-bert模型,并通过特征提取层transformer layer分别得到第一输出向量emb1和第二输出向量emb2。
56.s22:对第一输出向量和第二输出向量进行拼接以获得第一拼接向量。
57.具体地,在本实施例中,请参阅图6,图6是图4中步骤s22一实施方式的流程示意图。步骤s22具体包括:
58.s220:将第一输出向量和第二输出向量做差以获得第一差异向量、以及将第二输出向量和第一输出向量做差以获得第二差异向量。
59.具体而言,将第一输出向量emb1和第二输出向量emb2做差以获得第一差异向量emb1-emb2、以及将第二输出向量emb2和第一输出向量emb1做差以获得第二差异向量emb2-emb1,其中,第一差异向量emb1-emb2和第二差异向量emb2-emb1是为了增强互信息。
60.s221:将第一输出向量、第二输出向量、第一差异向量和第二差异向量作异或处理以获得第一拼接向量。
61.具体地,在本实施例中,将第一输出向量emb1、第二输出向量emb2、第一差异向量emb1-emb2和第二差异向量emb2-emb1作异或处理以获得第一拼接向量output(即为新的输出特征),其计算公式为:output=emb1

emb2

(emb2-emb1)

(emb1-emb2),其中,

为异或运算符。当然,在其他实施例中,也可以将公式中的第一差异向量emb1-emb2或第二差异向量emb2-emb1替换为第一输出向量emb1和第二输出向量emb2的乘积emb1*emb2,本技术在此不作限定。
62.s23:利用第一激活函数和第一拼接向量获得相似度预测值。
63.具体而言,将第一拼接向量output输出到第一激活函数softmax中并分别输出文本对的相似度标签为1的概率和文本对的相似度标签为0的概率,最终将最大概率作为相似度预测值输出。
64.s24:基于相似度预测值和对应的相似度标签更新tpbert模型中的参数。
65.具体而言,在大量的相似文本对数据集上进行细微调整训练(fine-tuning),基于相似度预测值和对应的相似度标签更新tpbert模型、keyword-bert模型中的参数,直至收敛即完成。判断是否达到收敛状态的方法可以为判断训练的次数是否达到设定的次数,也可以为其他方法,本技术在此不作限定。采用改进keybert-bert模型计算文本特征向量,继而通过特征向量构建文本聚类模型,改进之后的keybert-bert模型修改了文本预训练语言模型的损失函数,从而优化了文本特征向量表达方法。
66.s4:否则,直接进入至步骤s5。
67.具体而言,若多个文档中不存在字符长度超过阈值的待处理文档,则直接进入至对字符长度小于或等于阈值的所有文档进行聚类以获得至少一个聚类簇的步骤。
68.s5:对字符长度小于或等于阈值的所有文档进行聚类以获得至少一个聚类簇。
69.进一步,在本实施例中,步骤s5具体包括:利用dbscan聚类算法对所有文档进行聚类以获得至少一个聚类簇。具体而言,针对降维后的长篇章内容(new_discourse)组成的大量文档集合,利用dbscan聚类算法实现文本聚类且无需指定簇的个数。dbscan是基于密度空间的聚类算法,是基于数据推测聚类的数目,它能够针对任意形状产生聚类。步骤s5采用公开通用的方法,当然,也可以利用其它相似的方法来实现对所有文档进行聚类,本技术在此不作限定。dbscan聚类算法的具体流程如下所示:
70.输入:样本集d=(x1,x2,...,xm),邻域参数(∈,minpts),样本距离度量方式。具体地,邻域参数(∈,minpts)用来描述邻域的样本分布紧密程度,其中,∈描述了某一样本的邻域距离阈值,minpts描述了某一样本的距离为∈的邻域中样本个数的阈值。
71.输出:簇划分c。
72.1)初始化核心对象集合初始化聚类簇数k=0,初始化未访问样本集合γ=d,簇划分
73.2)对于j=1,2,...m,按下面的步骤找出所有的核心对象:
74.a)通过距离度量方式,找到样本xj的∈-邻域子样本集n∈(xj);
75.b)如果子样本集样本个数满足|n∈(xj)|≥minpts,将样本xj加入核心对象样本集合:ω=ω∪{xj};
76.3)如果核心对象集合则算法结束,否则转入步骤4;
77.4)在核心对象集合ω中,随机选择一个核心对象o,初始化当前簇核心对象队列ωcur={o},初始化类别序号k=k+1,初始化当前簇样本集合ck={o},更新未访问样本集合γ=γ-{o};
78.5)如果当前簇核心对象队列则当前聚类簇ck生成完毕,更新簇划分c={c1,c2,...,ck},更新核心对象集合ω=ω-ck,转入步骤3。否则更新核心对象集合ω=ω-ck;
79.6)在当前簇核心对象队列ωcur中取出一个核心对象o

,通过邻域距离阈值∈找出所有的∈-邻域子样本集n∈(o

),令δ=n∈(o

)∩γ,更新当前簇样本集合ck=ck∪δ,更新未访问样本集合γ=γ-δ,更新ωcur=ωcur∪(δ∩ω)-o

,转入步骤5;
80.输出结果为:簇划分c={c1,c2,...,ck}。
81.s6:针对每个聚类簇生成对应的摘要。
82.针对上述步骤s5中获得的多个聚类簇,每个聚类簇中包含多个文档,将每个文档作为一个篇章discourse输入至训练后的md_pgnet模型中以获得该聚类簇对应的摘要shortsummary。具体地,在本实施例中,请参阅图7,图7是图2中步骤s6一实施方式的流程示意图。具体地,步骤s6包括:
83.s30:针对当前聚类簇中的每个文档中的每个语句,获得当前语句中每个单词的位置向量,并基于语句中的所有单词的位置向量以及语句的语句特征向量获得语义特征向量。
84.具体而言,具体地,在本实施例中,对文本输入新增了获得当前语句中每个单词的位置向量的功能,具体而言,针对编码器encoder的输入形式,本技术采用新的组合的形式:输入嵌入input_embedding+位置嵌入position_embedding(pe),同时利用了单词的绝对位置和相对位置,位置向量可以表示为位置的特征向量的线性变化,这为模型捕捉单词之间的相对位置关系提供了非常大的便利。位置向量可以采用正弦余弦函数形式编码,如下:
[0085][0086][0087]
input=input+pe)(3)
[0088]
其中,i代表维度,pos代表每个位置的单词向量,dim代表输入文档的降维后特征向量的维度大小,这里可以为512,若某个文档中的维度不足512,可以将其补足至512。具体地,在本实施例中,如果在语句中某一单词是第n(n为偶数)个单词,就采用正弦函数(公式1)进行位置编码,如果在语句中某一单词是第n(n为奇数)个单词,就采用余弦函数(公式2)进行位置编码,利用上述正弦函数和余弦函数获得每个单词的位置向量后,将每个单词的位置向量与该单词所在语句的语句特征向量进行叠加获得语句的语义特征向量。这样能够
显示增强文本字符之间的位置相关信息,从而增强了语义特征的表达。
[0089]
s31:对当前聚类簇中每个文档的所有语义特征向量进行编码以获得中间层的隐藏状态向量。
[0090]
具体地,在本实施例中,利用编码器encoder将当前聚类簇中每个文档的所有语义特征向量进行编码以获得一个中间层的隐藏状态向量hi。上述编码器encoder可以采用双向lstm网络结构等,本技术在此不作限定。
[0091]
s32:对当前聚类簇中所有文档的隐藏状态向量进行解码以获得摘要。
[0092]
具体而言,在步骤s31中获得中间层的隐藏状态向量hi之后,利用解码器decoder来将当前聚类簇中所有文档的隐藏状态向量hi进行解码,最终获得当前聚类簇对应的摘要shortsummary,这里的摘要shortsummary是指能够表达当前聚类簇中所有文档的意思的短描述主题文本。上述解码器dncoder可以采用单向lstm网络结构等,本技术在此不作限定。
[0093]
优选地,在本实施例中,步骤s6中的摘要是基于训练后的md_pgnet模型获得的。由于以往的普通编码器架构的网络主要存在两个问题:(1)待生成的文本无法从原始输入文本中获得能够表达意思的重要语义词汇;(2)生成的文本存在重复内容的情况,所以在本技术中借鉴pgnet模型,并引入两种机制来解决对应的问题,这两种机制分别是生成-拷贝的选择机制和重复文本覆盖机制。请一并参阅图8和图9,图8是训练md_pgnet模型的流程示意图,图9是md_pgnet模型的网络结构图。具体而言,训练md_pgnet模型的步骤包括:
[0094]
s40:构建多个训练文本簇。
[0095]
具体地,在本实施例中,每个训练文本簇中包括相似度超过预设值的多个训练文档,且每个文本簇设置有对应的摘要标签。上述预设值可以根据实际需求进行人为设定,本技术在此不作限定。
[0096]
s41:将同一个训练文本簇中的多个训练文档中的单词依次并行输入至md_pgnet模型中。
[0097]
具体而言,在md_pgnet模型的训练阶段时,将每个训练文本簇中的训练文档中的单词输入至md_pgnet模型中。在本实施例中,同一个训练文本簇中的训练文档中的单词是依次并行输入至md_pgnet模型中的。
[0098]
s42:获得当前时间步下md_pgnet模型中解码获得的所有单词的解码状态向量、以及解码获得的所有单词对应的编码状态向量。
[0099]
具体地,在本实施例中,在md_pgnet模型中,解码之后第i个单词在时间步t的解码状态向量为s
t
,解码之后第i个单词的编码状态向量为hi。
[0100]
s43:基于解码状态向量和编码状态向量获得训练文本簇的平均注意力。
[0101]
具体地,在本实施例中,请参阅图10,图10是图8中步骤s43一实施方式的流程示意图。具体地,步骤s43包括:
[0102]
s430:基于每个单词的解码状态向量和编码状态向量获得单词的注意力权重。
[0103]
具体而言,使用上述步骤s43中获得的每个单词在时间步t的解码状态向量s
t
和编码状态向量为hi得到该单词在该时间步t的注意力权重a
t
,其具体计算公式为:
[0104]
q=whhi+wss
t
+b1(4)
[0105]at
=softmax(v
t
tanh(q))(5)
[0106]
其中,wh、ws、b均是神经网络的参数,q是计算得到的输入特征,v
t
是注意力系数,公式5是标准注意力权重的计算方法。
[0107]
s431:针对非首个单词,基于词注意力权重和覆盖向量更新非首个单词的注意力权重。
[0108]
在本实施例中,下一时间步下所解码的单词包括上一时间步下解码的单词,那么对于上一时间步下已经解码的单词的注意力权重a
t
也会发生变化。为解决重复文本生成的问题,需要建立一个覆盖向量ci,并将其添加到注意力权重a
t
上,因此在训练过程中,从第二个单词才开始重新计算输入特征q,这样做的目的是为了对已生成的的文本不再重复生成。具体地,在本实施例中,针对非首个单词,利用注意力权重a
t
和覆盖向量ci更新非首个单词的输入特征q,其具体的计算方法如公式6和公式7所示,最后返回至公式5重新计算注意力权重a
t

[0109][0110][0111]
s432:获得每个训练文本中已解码获得的所有单词的注意力权重的和值,并将每个训练文本的和值乘以对应的篇章权重系数以获得第一数值。
[0112]
具体而言,通过计算获得每个训练文本中已解码获得的所有单词的注意力权重a
t
的和值,并将该和值乘以对应的篇章权重系数γ以获得第一数值a,第一数值a的计算公式为:
[0113]
a=γ(∑
iat
)(8)
[0114]
其中,篇章权重系数γ可以根据实际情况进行设定,本技术在此不作限定。
[0115]
s433:将训练文本簇内所有训练文本的第一数值的平均值作为平均注意力。
[0116]
具体而言,计算获得上述步骤s432中的第一数值a的平均值,该平均值即为平均注意力a
n_disc
,这里的平均注意力a
n_disc
代表每个训练文本簇的簇注意力权重向量。总的来说,平均注意力a
n_disc
的计算公式如公式9所示:
[0117][0118]
其中,j为文章编号,j=(1,2

n),γ是篇章权重系数。
[0119]
s44:基于平均注意力、解码状态向量和摘要标签获得拷贝权重概率、以及基于解码状态向量和编码状态向量获得当前时间步下的生成词概率。
[0120]
具体地,在本实施例中,需要设置一个选择阈值用来决定在时间步t生成的内容是来源于词汇表还是输入文本,即生成拷贝权重概率p
gen
。具体而言,利用平均注意力a
n_disc
、解码状态向量s
t
和摘要标签获得拷贝权重概率p
gen
,具体的计算公式为:
[0121]
p
gen
=α*(w
han_disc
+wss
t
+w
x
x
t
+b2)(10)
[0122]
其中,α为每个簇的权重系数,x
t
为解码器的输入,即为每个文本簇对应的摘要标签。
[0123]
此外,在本实施例中,利用解码状态向量s
t
和编码状态向量hi经过线性层映射得到单词概率分布,再通过激活函数softmax得到当前时间步t下的生成词概率p
vocab
,即可预测需要生成的单词,计算公式为:
[0124]
p
vocab
=softmax(v([s
t
,hi])+b3)(11)
[0125]
其中,[s
t
,hi]是拼接。
[0126]
s45:基于拷贝权重概率和生成词概率获得当前时间步下的预测词概率。
[0127]
具体而言,利用拷贝权重概率p
gen
和生成词概率p
vocab
获得当前时间步t下预测生成的单词(字)的预测词概率p,同时会添加输入数据中的词汇,扩充已有的单词表形成一个更大的单词表,以扩充单词表。
[0128]
p=p
gen
*p
vocab
+(1-p
gen
)*a
n_disc
(12)
[0129]
s46:基于预测词概率和训练文本簇内所有训练文档的覆盖向量的损失获得总损失,并根据总损失调整md_pgnet模型中的参数。
[0130]
具体地,在本实施例中,请参阅图11,图11是图8中步骤s46一实施方式的流程示意图。具体地,步骤s46包括:
[0131]
s460:获得训练文本簇内每个训练文本的覆盖向量在当前时间步下的第一损失之和。
[0132]
具体而言,利用pgnet模型通用的覆盖机制的损失,结合预测词概率p的损失,在新改进的模型上,来完成多个文档的摘要生成模型的训练。首先计算训练文本簇内所有文档的覆盖向量在当前时间步t下的第一损失之和cov_loss:
[0133][0134]
其中,分别是单篇章内的第i个词的注意力权重和覆盖向量,j是文章编号。
[0135]
s461:获得第二系数与第一损失之和的乘积,并将乘积与预测词概率的对数值的差值作为总损失。
[0136]
具体而言,在步骤s460中获得当前时间步t下的第一损失之和cov_loss之后,对两个过程的损失函数进行加权计算,最终得到总损失loss,具体的计算公式为:
[0137]
loss=-logp(w
t
)+θcov_loss
t
(14)
[0138]
其中,θ为加权系数。
[0139]
总之,通过对pgnet模型进行了改进,使其能够同时处理多个文档,得到多个文档的共同摘要,基于pgnet模型的多篇章的文本短描述生成方法,解决了传统方案中只能解决单个文档的摘要生成的缺陷。
[0140]
请参阅图12,图12是本技术文本聚类装置一实施方式的框架示意图。该停车场推荐装置具体包括:
[0141]
获得模块10,用于获得多个文档。
[0142]
处理模块11,与获得模块10耦接,用于响应于多个文档中存在字符长度超过阈值的待处理文档,对待处理文档进行降维处理以使得待处理文档的字符长度小于或等于阈值。
[0143]
聚类模块12,与处理模块11耦接,用于对字符长度小于或等于阈值的所有文档进行聚类以获得至少一个聚类簇。
[0144]
生成模块13,与聚类模块12耦接,用于针对每个聚类簇生成对应的摘要。
[0145]
可选地,在本实施例中,处理模块11包括依次相互连接的切分模块、特征向量模块、相似度模块和第一拼接模块。具体地,上述切分模块用于对待处理文档的正文进行切
分,以获得多个语句;特征向量模块用于获得正文中每个语句的语句特征向量、以及获得标题的标题特征向量;相似度模块用于获得标题特征向量和每个语句特征向量之间的相似度值;第一拼接模块用于将相似度值较高的多个语句拼接以形成降维后的待处理文档。
[0146]
在一个实施例中,本技术所提供的文本聚类装置还包括用于训练tpbert模型的第一训练模块14,可选地,在本实施例中,第一训练模块14与获得模块10连接,当然,在其他实施例中,第一训练模块14的两端也可以与获得模块10和处理模块11连接,本技术在此不作限定。其中,第一训练模块14包括依次相互连接的第一构建模块、特征提取模块、第二拼接模块、相似度预测值模块以及第一更新模块。具体而言,第一构建模块用于构建多个训练文本对,其中,每个训练文本对中包括第一训练文本和第二训练文本,且每个训练文本对标注有相似度标签,相似度标签为0或1;特征提取模块用于对第一训练文本和第二训练文本分别进行特征提取以获得对应的第一输出向量和第二输出向量;第二拼接模块用于对第一输出向量和第二输出向量进行拼接以获得第一拼接向量;相似度预测值模块用于利用第一激活函数和第一拼接向量获得相似度预测值;第一更新模块用于基于相似度预测值和对应的相似度标签更新tpbert模型中的参数。
[0147]
可选地,在本实施例中,第二拼接模块包括依次相互连接的差异向量模块和异或模块,差异向量模块用于将第一输出向量和第二输出向量做差以获得第一差异向量、以及将第二输出向量和第一输出向量做差以获得第二差异向量;异或模块用于将第一输出向量、第二输出向量、第一差异向量和第二差异向量作异或处理以获得第一拼接向量。
[0148]
进一步,上述聚类模块具体用于利用dbscan聚类算法对所有文档进行聚类以获得至少一个聚类簇。
[0149]
在又一个实施例中,生成模块13具体包括依次相互连接的语义模块、编码模块以及解码模块。具体而言,语义模块用于针对当前聚类簇中的每个文档中的每个语句,获得当前语句中每个单词的位置向量,并基于语句中的所有单词的位置向量以及语句的语句特征向量获得语义特征向量;编码模块用于对当前聚类簇中每个文档的所有语义特征向量进行编码以获得中间层的隐藏状态向量;解码模块用于对当前聚类簇中所有文档的隐藏状态向量进行解码以获得摘要。
[0150]
在又一个实施例中,本技术所提供的文本聚类装置还包括用于训练md_pgnet模型的第二训练模块15,可选地,在本实施例中,第二训练模块15与获得模块10连接,当然,在其他实施例中,第二训练模块15的两端也可以分别与聚类模块12和生成模块13连接,本技术在此不作限定。其中,第二训练模块15包括依次相互连接的第二构建模块、输入模块、编码解码模块、注意力模块、第一概率模块、第二概率模块以及损失模块。第二构建模块用于构建多个训练文本簇,其中,每个训练文本簇中包括相似度超过预设值的多个训练文档,且每个文本簇设置有对应的摘要标签;输入模块用于将同一个训练文本簇中的多个训练文档中的单词依次并行输入至md_pgnet模型中;编码解码模块用于获得当前时间步下md_pgnet模型中解码获得的所有单词的解码状态向量、以及解码获得的所有单词对应的编码状态向量;注意力模块用于基于解码状态向量和编码状态向量获得训练文本簇的平均注意力;第一概率模块用于基于平均注意力、解码状态向量和摘要标签获得拷贝权重概率、以及基于解码状态向量和编码状态向量获得当前时间步下的生成词概率;此外,第二概率模块还用于基于拷贝权重概率和生成词概率获得当前时间步下的预测词概率;损失模块用于基于预
测词概率和训练文本簇内所有训练文档的覆盖向量的损失获得总损失,并根据总损失调整md_pgnet模型中的参数。
[0151]
可选地,在本实施例中,注意力模块还包括依次相互连接的权重模块、第二更新模块、第一数值模块以及平均值模块。具体地,权重模块用于基于每个单词的解码状态向量和编码状态向量获得单词的注意力权重;第二更新模块用于针对非首个单词,基于注意力权重和覆盖向量更新非首个单词的注意力权重;第一数值模块用于获得每个训练文本中已解码获得的所有单词的注意力权重的和值,并将每个训练文本的和值乘以对应的篇章权重系数以获得第一数值;平均值模块用于将训练文本簇内所有训练文本的第一数值的平均值作为平均注意力。
[0152]
可选地,在本实施例中,损失模块还包括相互连接的第一损失之和模块和总损失模块,具体地,第一损失之和模块用于获得训练文本簇内每个训练文本的覆盖向量在当前时间步下的第一损失之和;总损失模块用于获得第二系数与第一损失之和的乘积,并将乘积与预测词概率的对数值的差值作为总损失。
[0153]
请参阅图13,图13是本技术电子设备一实施方式的框架示意图。该电子设备包括相互耦接的存储器20和处理器22。具体地,在本实施例中,存储器20内存储有程序指令,处理器22用于执行程序指令以实现上述任一实施例所提及的文本聚类方法。
[0154]
具体而言,处理器22还可以称为cpu(central processing unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器22可以由多个集成电路芯片共同实现。
[0155]
请参阅图14,图14是本技术计算机可读存储介质一实施方式的框架示意图。该计算机可读存储介质30存储有计算机程序300,能够被计算机所读取,计算机程序300能够被处理器执行,以实现上述任一实施例中所提及的文本聚类方法。其中,该计算机程序300可以以软件产品的形式存储在上述计算机可读存储介质30中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式所述方法的全部或部分步骤。具有存储功能的计算机可读存储介质30可以是u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
[0156]
总而言之,区别于现有技术的情况,本技术所提供的文本聚类方法包括:获得多个文档;响应于多个文档中存在字符长度超过阈值的待处理文档,对待处理文档进行降维处理以使得待处理文档的字符长度小于或等于阈值;对字符长度小于或等于阈值的所有文档进行聚类以获得至少一个聚类簇;针对每个聚类簇生成对应的摘要。通过这种设计方式,对pgnet模型进行了改进,使其能够同时处理多篇文档,得到多篇章文档的共同摘要,基于pgnet模型的多篇章的文本短描述生成方法,解决了传统方案中只能解决单个文档的摘要生成的缺陷。
[0157]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1