首页> 中国专利> 一种基于滑动窗口和随机离散采样的文本结构化技术

一种基于滑动窗口和随机离散采样的文本结构化技术

摘要

本申请适应于短文本分类领域,针对文本太短而导致语义表征不明显的问题,提出了一种基于滑动窗口和随机离散采样的处理技术。具体方案为:包括以下步骤:S1:输入文本,对本文进行分词并训练得到若干词向量;S2:得到由词向量组成的文本矩阵之后,采用滑动窗口方法得到多个上下文靠近的子序列,构成的新的文本矩阵;S3:采用随机离散采样得到多个上下文距离较远但能增强语义的子序列,构成新的文本矩阵;S4:将S2和S3得到的矩阵分别输入到属于同一层但是不同的Transformer的Encoder层,每一层交互影响增强语义;S5:重复S4直到训练出两个具有强特征和强语义的矩阵,然后分别输入到CNN得到两个一维向量进行拼接,再将其输入全连接神经网络进行分类。

著录项

  • 公开/公告号CN113239192A

    专利类型发明专利

  • 公开/公告日2021-08-10

    原文格式PDF

  • 申请/专利权人 湘潭大学;

    申请/专利号CN202110471898.0

  • 申请日2021-04-29

  • 分类号G06F16/35(20190101);G06F40/289(20200101);G06F40/216(20200101);G06N3/04(20060101);

  • 代理机构

  • 代理人

  • 地址 411100 湖南省湘潭市雨湖区湘潭大学

  • 入库时间 2023-06-19 12:10:19

说明书

技术领域

本发明涉及自然语言处理及深度学习,属于计算机应用技术领域,更更具体来说,它涉及了一种基于滑动窗口和随机离散采样的文本结构化技术。

背景技术

Google在2013年开源了word2vec,它是一个用来获取word vector的工具包,它简单、高效。word2vec用到了两个重要模型—CBOW模型(Continuous Bag-of-Words Model)和Skip-gram模型(Continuous Skip-gram Model),两个模型都包含了三层:输出层、投影层、输入层。其中CBOW模型训练是输入一个特征词的上下文相关词对应的词向量,输出这个特征词所对应的词向量,简而言之就是利用上下文得出特征词向量,而Skip-gram模型的思想与CBOW模型思想恰恰相反,是输入特定的一个词的词向量,输出特定词对应的上下文词向量,简而言之也就是根据当前词来预测上下文,其中在小型语料库中CBOW模型更加合适,大型语料库中Skip-gram模型效果比较好。

Transformer由论文《Attention is All You Need》提出,现在是谷歌云TPU推荐的参考模型。主要用于自然语言处理(NLP)领域,Transformer的结构是由Encoder和Decoder组成,和大多数的Seq2Seq模型一样。Encoder由6个相同的layer组成,每个layer由两个sub-layer组成,分别是多头自注意力机制(multi-head self-attention mechanism)和全连接前馈神经网络(fully connected feed-forward network)。Decoder和Encoder的结构差不多,多了一个attention的sub-layer。像循环神经网络(RNN)一样,Transformer旨在处理顺序数据(例如自然语言),以执行翻译和文本摘要之类的任务。和RNN相比,因为attention的加入,Transformer允许更多的并行化,大大的减少了训练时间,从而可以对更大的训练集进行训练,而RNN最大的优点是在时间序列上对数据的抽象,但是Transformer的两种Positional Encoding的方法可以给每个词加上一个位置序列,从而弥补了Transformer这个缺点。自Transformer问世以来,已成为解决NLP领域诸多问题的首选,取代了旧的RNN,效果也比以前有了大大的提升。

发明内容

本发明提供一种基于滑动窗口和随机离散采样的文本结构化技术同时也对Transformer的Encoder层进行了创新,在原有的基础上加入了语义交互层,让由滑动窗口方法和随机离散采样方法提取出来的特征矩阵,能够相互影响,进而更近一步的增强其语义。解决文本太短而导致语义表征不明显的问题,使用基于python语言由Facebook开源的神经网络框架Pytorch完成代码的编写,先将训练集中的每一个文本分为两个语义较强的子序列矩阵,然后将其反复迭代互相增加语义,最后根据特征矩阵进行多分类,选出结果中权重最大的类别得出最终分类结果。

本发明的上述技术目的是通过以下技术方案得以实现的:

一种基于滑动窗口和随机离散采样的文本结构化技术,包括以下步骤:

S1:输入需要进行分类的文本,先对文本进行分词处理然后通过Word2Vec对词语进行词向量训练,然后加入单词位置信息得到新的词向量;

S2:得到由词向量组成的文本矩阵之后,采用滑动窗口方法得到多个上下文靠近的子序列,构成的新的文本矩阵;

S3:采用随机离散采样得到多个上下文距离较远但能增强语义的子序列,构成新的文本矩阵;

S4:将S2和S3得到的矩阵分别输入到属于同一层但是不同的Transformer的Encoder层,每一层互相交互影响增强语义;

S5:重复S4直到训练出两个具有强特征和强语义的矩阵,然后分别输入到CNN得到两个一维向量进行拼接,再将其输入全连接神经网络进行分类。

步骤S1输入文本,通过Word2Vec预训练可以得到由多个词向量组合表达的嵌入矩阵,再由positional encoding的方法给每个词向量加入唯一的位置信息,得到新的词向量。

步骤S2采用滑动窗口方法得到多个上下文靠近的子序列,构成的新的文本矩阵,对于由n个词向量组成的词序列T(1:n),用大小为k的滑动窗口从首部滑动到尾部,将所有滑动出来的子句组合成新的特征矩阵用做Transformer的输入,序列T中的第i个词生成的子序列表示为(Ti-2,Ti-1,Ti,Ti+1,Ti+2),其中Ti=T[(n+i)%n],生成的子序列数量m=n-k+1,因为滑动窗口方法所得出的子序列数量要尽量靠近随机离散采样方法所得出的子序列数量,所以k的取值一般为n的一半或者三分之一,这样可以更好的保留短文本的语义,从而可以使其进行分类时更加准确。

步骤S3采用随机离散采样得到多个上下文距离较远但能增强语义的子序列,根据前面滑动窗口的大小将文本分成几等分,这里以3为例,将一个文本分为以下等分:“贝克汉姆/喜欢/踢/足球”;“乔丹/热爱/打/篮球”;“张怡宁/爱/打/乒乓球”,随机抽取其中一个子句,从这个子句中的第一个词向量开始匹配其他子句中余弦相似度最近的词向量组合成一个新的子序列,可能组成的新序列为:“贝克汉姆/乔丹/张怡宁”;“喜欢/热爱/爱”;“踢/打/打”;“足球/篮球/乒乓球”,这时滑动窗口的大小为9,这样也可以得到四个子序列,如上步骤就可以得到两个具有较强语义由多个子序列组成的特征矩阵。

步骤S4将S2和S3得到的矩阵分别输入到属于同一层但是不同的Transformer的Encoder层,每一层交互影响增强语义,Transformer的Encoder层由两个sub-layer组成,分别是multi-head self-attention mechanism和fully connected feed-forwardnetwork。两个特征矩阵在语义交互层进行交互影响从而增强表征语义,其中交互公式为:

其中Y表示由滑动窗口方法提取出的特征矩阵,X表示由离散随机采样方法提取出的特征矩阵。

步骤S5重复S4直到训练出两个具有强特征和强语义的矩阵,然后分别作为CNN的输入,经过不断的卷积和池化之后,得到两个语义表征很强的一维向量,进行拼接作为全连接神经网络然后进行分类。

综上所述,本发明具有以下有益效果:

本发明提供一种基于滑动窗口和随机离散采样的文本结构化技术,将原本语义表征弱的短文本,经过滑动窗口方法和随机离散采样方法,得到了两个特征矩阵,将其语义进行了放大,然后在Transformer的Encoder层进行了设计,增加了语义交互层,使其语义表征反复提高,克服了短文本分类问题中因为文本太短而导致语义表征不明显的问题。此发明能够提高文本的语义表征,提高分类正确率。

附图说明

图1是本发明实现过程图;

图2是基于Word2Vec进行词训练之后,加入词的位置信息的示意图

图3是本发明基于滑动窗口和随机离散采样的文本结构化技术结合Transformer模型的示意图。

具体实施方式

本发明的实际应用环境是针对于短文本分类,以下结合附图对本发明作进一步详细说明。

本发明在具体实施时,如图1所示包括以下步骤:

S1:输入需要进行分类的文本,先对文本进行分词处理然后通过Word2Vec对词语进行词向量训练,然后加入单词位置信息得到新的词向量;

S2:得到由词向量组成的文本矩阵之后,采用滑动窗口方法得到多个上下文靠近的子序列,构成的新的文本矩阵;

S3:采用随机离散采样得到多个上下文距离较远但能增强语义的子序列,构成新的文本矩阵;

S4:将S2和S3得到的矩阵分别输入到属于同一层但是不同的Transformer的Encoder层,每一层互相影响增强语义;

S5:重复S4直到训练出两个具有强特征和强语义的矩阵,然后分别输入到CNN得到两个一维向量进行拼接,再将其输入全连接神经网络进行分类。

如图2所示,步骤S1输入文本,通过Word2Vec预训练可以得到由多个词向量组合表达的嵌入矩阵,再由positional encoding的方法给每个词向量加入唯一的位置信息,得到新的词向量。

如图3所示,步骤S2采用滑动窗口方法得到多个上下文靠近的子序列,构成的新的文本矩阵,对于由n个词向量组成的词序列T(1:n),用大小为k的滑动窗口从首滑动到尾部,将所有滑动出来的子句组合成新的特征矩阵用做Transformer的输入,序列T中的第i个词生成的子序列表示为(Ti-2,Ti-1,Ti,Ti+1,Ti+2),其中Ti=T[(n+i)%n],生成的子序列数量m=n-k+1,因为滑动窗口方法所得出的子序列数量要尽量靠近随机离散采样方法所得出的子序列数量,所以k的取值一般为n的一半或者三分之一,这样可以更好的保留短文本的语义,从而可以使其进行分类时更加准确。

步骤S3采用随机离散采样得到多个上下文距离较远但能增强语义的子序列,根据前面滑动窗口的大小将文本分成几等分,这里以3为例,将一个文本分为以下等分:“贝克汉姆/喜欢/踢/足球”;“乔丹/热爱/打/篮球”;“张怡宁/爱/打/乒乓球”,随机抽取其中一个子句,从这个子句中的第一个词向量开始匹配其他子句中余弦相似度最近的词向量组合成一个新的子序列,可能组成的新序列为:“贝克汉姆/乔丹/张怡宁”;“喜欢/热爱/爱”;“踢/打/打”;“足球/篮球/乒乓球”,这时滑动窗口的大小为9,这样也可以得到四个子序列,如上步骤就可以得到两个具有较强语义由多个子序列组成的特征矩阵。

步骤S4将S2和S3得到的矩阵分别输入到属于同一层但是不同的Transformer的Encoder层,每一层互相交互影响增强语义,Transformer的Encoder层由两个sub-layer组成,分别是multi-head self-attention mechanism和fully connected feed-forwardnetwork。两个特征矩阵在语义交互层进行交互影响增强语义,其中交互公式为:

其中Y表示由滑动窗口方法提取出的特征矩阵,X表示由离散随机采样方法提取出的特征矩阵。

步骤S5重复S4直到训练出两个具有强特征和强语义的矩阵,然后分别作为CNN的输入,经过不断的卷积和池化之后,得到两个语义表征很强的一维向量,进行拼接作为全连接神经网络然后进行分类。

本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号