一种基于子主题建模的关键词生成方法技术

技术编号:34840394 阅读:22 留言:0更新日期:2022-09-08 07:36
本发明专利技术公开了一种基于子主题建模的关键词生成方法,所述方法包括以下步骤:步骤1:新闻文本数据采集;步骤2:数据预处理;步骤3:模型训练;步骤4:模型测试与关键词文本生成。本发明专利技术能够改善现有关键词生成方法中依赖文本完整语义作为基本解码单元,导致模型无法有效建模“文本

【技术实现步骤摘要】
一种基于子主题建模的关键词生成方法


[0001]本专利技术涉及一种基于子主题建模的关键词生成方法,该方法可用于互联网新闻内容等自动生成关键词,属于互联网和人工智能


技术介绍

[0002]随着互联网技术的飞速发展,人们能够快捷的查找和阅读各大网络媒体网站发布的新闻。相较于传统的新闻报刊需要订阅等待和手持纸质文档的不便,人们更习惯于通过手机等移动设备查阅时事新闻。然而,随之而来的网络新闻数据量呈指数型增长,也给人们从中甄别有价值和满足需求的信息带来不便。因此,如何利用人工智能技术对新闻内容进行压缩提炼,能够帮助读者在短时间内了解新闻内容大意,再决定是否继续阅读,从而能节约读者的时间成本。
[0003]根据短语是否在原文中存在完全匹配的单词序列,关键词可分为存在关键词和缺失关键词。与此相对应,获取文本关键词的方法被分为抽取式方法和生成式方法。抽取式方法首先从输入文档中截取单词序列,再通过打分或分类等机制判断是否为关键词。通过这种方法只能得到已存在关键词,然而有研究人员在相关工作中指出,缺失关键词在总关键词中占比接近一半。因此,需要更为先进的关键词方法,用于预测新闻内容的缺失关键词。随着自然语言处理技术的进步,以及基于序列到序列(Sequence

to

Sequence,Seq2Seq)框架在文本生成任务中应用的启发,基于该框架的生成式关键词方法在近些年得到了越来越多的关注。
[0004]基于Seq2Seq的关键词生成模型通常采用编码器

码器的结构。Seq2Seq模型首先通过编码器将输入的文本序列,映射为一个能够表征文本语义的中间向量,然后通过解码器将语义向量解码并逐字生成目标输出序列。然而,标准的Seq2Seq模型通常采用“一对一”生成模式,在解决需要“一对多”生成的关键词任务时存在局限性,容易导致生成的关键词多样性欠缺。此外,确定性建模方法,也会影响模型的多样性表达能力。
[0005]为此,本专利技术在Seq2Seq模型的基础上,尝试将完整的新闻文本语义信息进行分解,提出一种子主题感知机制,采用基于聚类的方法为输出文本产生若干子主题,并以子主题为解码单位生成目标关键词。此外,为了提高模型对变化性信息的建模能力,引入子主题潜在变量网络进行采样实现具体关键词的生成。通过子主题建模和采样方式提高生成关键词的多样性。

技术实现思路

[0006]为了解决现有技术中存在的问题与不足,本专利技术提出一种基于子主题建模的关键词生成方法,该方法利用子主题感知机制为输入文本提供可选择的子主题,从而提高模型对“文本

关键词”的一对多关系建模的能力,在此基础上通过子主题潜在变量网络生成关键词。
[0007]为了实现上述目的,本专利技术的技术方案如下:一种基于子主题建模的关键词生成
方法,包括如下步骤:
[0008]步骤1:新闻文本数据采集。通过爬虫工具采集多个新闻平台新闻文本,积累样本数据集,数据集中的一个样本包括新闻文本和其对应的参考关键词;
[0009]步骤2:数据预处理。对数据集中每一个样本进行预处理,并构造二元组数据,一个二元组数据包括文本和标准关键词;
[0010]步骤3:模型训练。在输入层对文本进行分句,再将文本和关键词进行分词处理,并利用Word2Vec进行向量初始化,生成词嵌入向量。在编码层,首先利用Bi

GRU编码器对文本句子和关键词进行编码,获得单词上下文语义信息,然后利用池化得到句子的向量表示和关键词的表示,接着利用多头自注意力机制获得句子在整个文本语境下的特征向量。在子主题发现层,获得文本的若干子主题,并通过采样获得子主题的向量表示。最后在关键词生成层,设计了一种子主题感知的多解码器组,利用子主题为解码单元的模式,并行生成目标关键词集合。最后利用训练损失函数训练所述模型;
[0011]步骤4:模型测试与关键词生成,根据训练所得到的最佳模型,对待预测关键词的文本进行关键词的生成。先对测试文本进行预处理,然后根据步骤2构建模型的输入形式,最后根据步骤3中训练好的关键词生成模型,生成测试文本的关键词。并对生成的关键词与参考的关键词进行比较,利用准确性F1值和多样性评价指标进行评价,检验生成关键词的质量。
[0012]一种基于子主题建模的关键词生成方法,所述方法文本输入层、编码层、子主题感知层、关键词生成层。相对于现有技术,本专利技术的优点如下:
[0013](1)本专利技术采用的基于子主题建模的关键词生成技术,构建子主题发现机制,对完整文本语义进行分解,显示的建模“文本

关键词”的一对多映射,通过多解码器聚焦不同子主题,实现关键词在多样性方面的提高;
[0014](2)本专利技术采用基于子主题潜在空间采样子主题特征表示,提高模型对关键词因对自然语言中措辞变化的建模能力,为输入的新闻文本提供更加多样化的关键词预测结果。
附图说明
[0015]图1为本专利技术实施例的方法流程图。
[0016]图2为本专利技术实施例的整体模型图。
具体实施方式
[0017]为了加深对本专利技术的认识和理解,下面结合具体实施例,进一步阐明本专利技术。
[0018]实施例1:一种基于子主题建模的关键词生成方法。该方法首先对互联网中的新闻文本进行采集和预处理;接着,采用一个双层编码方法,对输入文本中单词进行向量化表示,并利用多头注意力机制获得在全文语境下的句子特征表示;然后,通过子主题发现层产生输入文本的子主题;随后,子主题通过采样网络提取用于解码的子主题特征表示;最后,为了提高关键词生成过程对子主题的感知,利用子主题感知的多解码器组生成目标关键词。具体模型参见图2,详细实施步骤如下:
[0019]步骤1,新闻文本数据采集。为了保证数据的多样性与普适性,本实施首先从新闻
媒体平台中抓取大量的文本样本,并根据人工标注产生标准关键词。新闻文本和对应的标准关键词共同构成样本数据集D。标准关键词的生成规则主要是利用“众包”技术对新闻文本进行标注,形成标准关键词。最后将所有得到的数据按照6:2:2进行分割形成训练集、验证集和测试集。
[0020]步骤2,数据预处理。为了能保证数据更适用于所设计的模型训练。首先对数据进行数据清洗,保留包含新闻文本以及参考关键词的数据并过滤重复数据,利用nltk库对样本文本进行分句处理,通过jieba库实现分词处理,以便后续模型对数据进行向量化表示。最后,将数据集分别处理为二元组的形式,其中多个关键词通过分号连接,以便于后续步骤的应用。
[0021]步骤3,模型训练。利用步骤2处理后的数据集对基于自主体建模的关键词生成模型进行训练,该步骤的实施可以分为以下子步骤:
[0022]子步骤3

1,构建输入层。首先选择训练集中出现频率靠前的50k单词构建词汇表,若该词在Word2Vec中存在,则选择Word2Vec中向量作为其训练初始化向量,否则将其向量随机初始化。然后将本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于子主题建模的关键词生成方法,其特征在于,所述方法包括以下步骤:步骤1:新闻文本数据采集;步骤2:数据预处理;步骤3:模型训练;步骤4:模型测试与关键词生成。2.根据权利要求1所述的基于子主题建模的关键词生成方法,其特征在于,步骤1:新闻文本数据采集,具体如下,所述通过爬虫工具采集多个新闻平台新闻文本,积累样本数据集,数据集中的一个样本包括新闻文本和其对应的参考关键词。3.根据权利要求1所述的基于子主题建模的关键词生成方法,其特征在于,步骤2:数据预处理;具体如下,首先对数据进行数据清洗,保留包含新闻文本以及参考关键词的数据并过滤重复数据,利用nltk库对样本文本进行分句处理,通过jieba库实现分词处理,以便后续模型对数据进行向量化表示,最后,将数据集分别处理为二元组的形式,其中多个关键词通过分号连接,以便于后续步骤的应用。4.根据权利要求1所述的基于子主题建模的关键词生成方法,其特征在于,步骤3:模型训练,在输入层对文本进行分句,再将文本和关键词进行分词处理,并利用Word2Vec进行向量初始化,生成词嵌入向量,在编码层,首先利用Bi

GRU编码器对文本句子和关键词进行编码,获得单词上下文语义信息,然后利用池化得到句子的向量表示和关键词的表示,接着利用多头自注意力机制获得句子在整个文本语境下的特征向量,在子主题发现层,获得文本的若干子主题,并通过采样获得子主题的向量表示,最后在关键词生成层,设计了一种子主题感知的多解码器组,利用子主题为解码单元的模式,并行生成目标关键词集合。最后利用训练损失函数训练所述模型;5.根据权利要求1所述的基于子主题建模的关键词生成方法,其特征在于,步骤4:模型测试与关键词生成,根据训练所得到的最佳模型,对待预测关键词的文本进行关键词的生成。先对测试文本进行预处理,然后根据步骤2构建模型的输入形式,最后根据步骤3中训练好的关键词生成模型,生成测试文本的关键词,并对生成的关键词与参考的关键词进行比较,利用准确性F1值和多样性评价指标进行评价,检验生成关键词的质量。6.根据权利要求1所述的基于子主题建模的关键词生成方法,其特征在于,步骤3,模型训练,具体如下,利用步骤2处理后的数据集对基于自主体建模的关键词生成模型进行训练,该步骤的实施可以分为以下子步骤:子步骤3

1,构建输入层,首先选择训练集中出现频率靠前的50k单词构建词汇表,若该词在Word2Vec中存在,则选择Word2Vec中向量作为其训练初始化向量,否则将其向量随机初始化,然后将输入文本单词序列根据词汇表映射为索引序列,并转化为词向量表示,子步骤3

2,构建文本编码层,采用一个双层Bi

GRU循环神经网络编码器分别对原文词向量序列E
si
和参考词的词向量序列E
yj
进行语义编码提取,计算上下文语义表示的公式如(1)和(2):(1)和(2):其中,E
si
表示原文第i个句子词向量矩阵,E
yj
表示第j个短语的词向量矩阵,s表示输入
文档,y表示关键词,Mean表示平均池化;采用多层Transformer编码器对句子向量进行编码,定义编码器输入为并定义m为句子数目,Transformer对向量更新如公式(3):其中,表示第i层Transformer的输出结果;子步骤3

3,构建子主题发现层,基于K

Means聚类算法为输入文档构建k个子主题,具体实施如下:1)随机选择k个句子表示初始的簇中心;2)计算句子到各个中心的距离,并将其分配给距离最小的簇。其中距离为两个向量表示之间的余弦距离;3)根据簇中所有句子的平均值计算一个新的中心;4)重复步骤2和3,直到中心向量不再更新或达到最大迭代次数。通过上述步骤,可以得到文本的子主题集合,可形式化表示公式(4):{e1,e2,

,e
k
}=K

Means(H
s
)
ꢀꢀꢀꢀ

【专利技术属性】
技术研发人员:杨鹏戈妍妍张朋辉
申请(专利权)人:南京优慧信安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1