基于长短时和自注意力神经网络的微博话题标签确定方法与流程

文档序号:18885197发布日期:2019-10-15 20:47阅读:153来源:国知局
基于长短时和自注意力神经网络的微博话题标签确定方法与流程

本发明涉及自然语言处理技术领域,尤其涉及一种基于长短时和自注意力神经网络的微博话题标签确定方法。



背景技术:

微博作为最重要的中文社交媒体平台,每日活跃人数达到1亿人次,因此针对微博信息的自动化处理对于舆情监测、话题引导等任务具有重要的作用。由于微博信息大多为文本信息,现有的自动化处理方法往往无法达到理想的效果,因此亟需一种能够对文本信息为主的微博信息进行分析处理,推导出较为准确的微博话题标签的方法,为网络舆情监测、话题引导等任务的准确完成提供技术基础。



技术实现要素:

本发明的目的是提供一种基于长短时和自注意力神经网络的微博话题标签确定方法,能够对以文本信息为主要内容的微博内容进行准确的话题标签确认,为网络舆情监测、话题引导等任务的准确完成提供技术基础。

本发明采用下述技术方案:

基于长短时和自注意力神经网络的微博话题标签确定方法,依次包括以下步骤:

a:对含有话题标签的微博进行统计后得到微博数据,然后通过预处理将微博数据转化为向量数据,再将经预处理后的微博数据划分为微博内容和该微博内容所使用的话题标签;

b:构建基于长短时和自注意力的神经网络模型,然后将步骤a中得到的经预处理和微博数据划分后得到的微博内容和该微博内容所使用的话题标签,输入到神经网络模型进行正向训练,然后通过随时间反向传播算法训练网络参数,经若干次训练和参数调节后,得到训练后的基于长短时和自注意力的神经网络模型;

c:将待确定话题标签的微博数据按照步骤a进行预处理,然后将处理后所得到的向量数据输入到经过训练后的基于长短时和自注意力的神经网络模型中,最后根据经过训练后的基于长短时和自注意力的神经网络模型得到该待确定话题标签的微博的话题标签。

所述的步骤a中,对微博数据的预处理包含以下步骤:

a1:对微博数据中每一条微博的文本内容进行切分,得到每一个单独的单词;

a2:收集中文新闻数据、中文网页数据、英文网页数据以及网络文档数据集,并使用收集到的中文新闻数据、中文网页数据、英文网页数据以及网络文档数据集分别训练中文词向量模型和英文词向量模型,用于将每个中文单词和英文单词转化为300维的向量数据;

a3:依次对步骤a1中每条微博数据切分后所得到的每个单独的单词进行判断,如果所得到的单独的单词为中文,则使用训练好的中文词向量模型得到该单词的300维向量数据;如果所得到的单独的单词为英文,则使用训练好的英文词向量模型得到该单词的300维向量数据;最后将得到的每个单词的300维向量数据按照微博中各个单词的排列顺序依次排列,作为训练数据的输入数据;

a4:依次对步骤a1中每条微博数据切分后所得到的单独的单词进行话题标签标注,如果该单词是话题标签词则标注为1,如果不是话题标签则标注为0;

a5:将步骤a4中经过话题标签标注的每条微博数据的标注结果1或0按照所对应的微博的单词顺序排列,得到训练数据的标注结果。

所述的步骤b中,构建基于长短时和自注意力的神经网络模型,然后将步骤a3中得到的训练数据的输入数据及步骤a5中得到的训练数据的标注结果,输入到神经网络模型进行正向训练,然后通过随时间反向传播算法训练网络参数,经若干次训练和参数调节后,得到训练后的基于长短时和自注意力的神经网络模型。

所述的基于长短时和自注意力的神经网络模型的层次结构依次为输入层、第一双向长短时网络层、第二双向长短时网络层、第一自注意力层、第二自注意力层、第三自注意力层、条件随机场层和输出层,模型层数共有8层;模型训练迭代次数为2000次;每批次训练数据量为128条;学习率为0.01;每个单词向量维度为300维;双向长短时网络隐藏单元大小为196个;自注意力内部单元大小为64个;每层自注意力头数6个。

所述的步骤b包含以下步骤:

b1:对输入的向量数据赋值为q,使用下述公式计算每一个输入的向量数据的注意力值:

其中,softmax为名为softmax的数学函数,该函数将输入的向量数据转化为(0,1)之间的概率值,k表示矩阵k,kt为矩阵k的转置,dk为矩阵k的维度;v表示矩阵v,其中k=v=q;

b2:为k、v和q分别设置权重wk、wv和wq,使用下述公式分别计算每一个输入的向量数据的自注意力值:

head=attention(qwq,kwk,vwv);

计算的结果head称为单头结果;

b3:使用下述公式,将每一个单头结果相加,结果称之为多头自注意力值:

multihead(q,k,v)=conect(head1,…,headh)wo

其中,multihead表示多头自注意力值,conect表示将矩阵相加,head1,……,headh分别表示步骤b2中所得到的不同的单头结果,wo表示与相加后矩阵进行矩阵乘法操作的权重;

b4:将步骤b3中得到的多头注意力数据输入到条件随机场层中,然后将条件随机场层中输出的数据输入到输出层中,最后得到基于长短时和自注意力神经网络模型的输出结果;

b5:将步骤b4中得到的输出结果与步骤a5中得到训练数据的标注结果进行对比,使用随时间反向传播算法进行计算,使用学习率作为输入参数进行调节,最后完成模型的一次训练;

b6:依次完成步骤b1至步骤b5,直到到达指定的训练迭代次数。

所述的步骤c中,将待确定话题标签的微博数据按照步骤a1至步骤a3中的过程进行预处理,得到该待确定话题标签的微博的向量数据。

本发明基于自然语言处理技术,通过中文词向量模型和英文词向量模型,将微博话题数据转换为向量数据,再构建基于长短时和自注意力神经网络模型,通过随时间反向传播算法进行计算,并通过使用学习率作为输入参数进行调节,得到训练后的基于长短时和自注意力的神经网络模型,最终依据训练后的基于长短时和自注意力的神经网络模型得到待确定话题标签的微博的话题标签,能够对以文本信息为主要内容的微博内容进行准确的话题标签确认,为网络舆情监测、话题引导等任务的准确完成提供技术基础。

附图说明

图1为本发明的流程示意图。

具体实施方式

以下结合附图和实施例对本发明作以详细的描述:

如图1所示,本发明所述的基于长短时和自注意力神经网络的微博话题标签确定方法,依次包括以下步骤:

a:对含有话题标签的微博进行统计后得到微博数据,然后通过预处理将微博数据转化为向量数据,再将经预处理后的微博数据划分为微博内容和该微博内容所使用的话题标签;

本实例中,步骤a包含以下步骤:

a1:对微博数据中每一条微博的文本内容进行切分,得到每一个单独的单词;

a2:收集中文新闻数据、中文网页数据、英文网页数据以及网络文档数据集,并使用收集到的中文新闻数据、中文网页数据、英文网页数据以及网络文档数据集分别训练中文词向量模型和英文词向量模型,用于将每个中文单词和英文单词转化为300维的向量数据;

a3:依次对步骤a1中每条微博数据切分后所得到的每个单独的单词进行判断,如果所得到的单独的单词为中文,则使用训练好的中文词向量模型得到该单词的300维向量数据;如果所得到的单独的单词为英文,则使用训练好的英文词向量模型得到该单词的300维向量数据;最后将得到的每个单词的300维向量数据按照微博中各个单词的排列顺序依次排列,作为训练数据的输入数据;

a4:依次对步骤a1中每条微博数据切分后所得到的单独的单词进行话题标签标注,如果该单词是话题标签词则标注为1,如果不是话题标签则标注为0;

a5:将步骤a4中经过话题标签标注的每条微博数据的标注结果1或0按照所对应的微博的单词顺序排列,得到训练数据的标注结果。

b:构建基于长短时和自注意力的神经网络模型,然后将步骤a中得到的经预处理和微博数据划分后得到的微博内容和该微博内容所使用的话题标签,输入到神经网络模型进行正向训练,然后通过随时间反向传播算法训练网络参数,经若干次训练和参数调节后,得到训练后的基于长短时和自注意力的神经网络模型;

本实例中,在构建基于长短时和自注意力的神经网络模型后,将步骤a3中得到的训练数据的输入数据及步骤a5中得到的训练数据的标注结果,输入到神经网络模型进行正向训练。

本实例中,基于长短时和自注意力的神经网络模型的层次结构依次为输入层、第一双向长短时网络层、第二双向长短时网络层、第一自注意力层、第二自注意力层、第三自注意力层、条件随机场层和输出层,模型层数共有8层;模型训练迭代次数为2000次;每批次训练数据量为128条;学习率为0.01;每个单词向量维度为300维;双向长短时网络隐藏单元大小为196个;自注意力内部单元大小为64个;每层自注意力头数6个。

本发明中,步骤b包含以下步骤:

b1:对输入的向量数据赋值为q,使用下述公式计算每一个输入的向量数据的注意力值:

其中,softmax为名为softmax的数学函数,该函数将输入的向量数据转化为(0,1)之间的概率值,k表示矩阵k,kt为矩阵k的转置,dk为矩阵k的维度;v表示矩阵v,其中k=v=q;

b2:为k、v和q分别设置权重wk、wv和wq,使用下述公式分别计算每一个输入的向量数据的自注意力值:

head=attention(qwq,kwk,vwv);

计算的结果head称为单头结果;

b3:使用下述公式,将每一个单头结果相加,结果称之为多头自注意力值:

multihead(q,k,v)=conect(head1,…,headh)wo

其中,multihead表示多头自注意力值,conect表示将矩阵相加,head1,…,headh分别表示步骤b2中所得到的不同的单头结果,wo表示与相加后矩阵进行矩阵乘法操作的权重;

b4:将步骤b3中得到的多头注意力数据输入到条件随机场层中,然后将条件随机场层中输出的数据输入到输出层中,最后得到基于长短时和自注意力神经网络模型的输出结果;

b5:将步骤b4中得到的输出结果与步骤a5中得到训练数据的标注结果进行对比,使用随时间反向传播算法进行计算,使用学习率作为输入参数进行调节,最后完成模型的一次训练;

b6:依次完成步骤b1至步骤b5,直到到达指定的训练迭代次数。

c:将待确定话题标签的微博数据按照步骤a进行预处理,然后将处理后所得到的向量数据输入到经过训练后的基于长短时和自注意力的神经网络模型中,最后根据经过训练后的基于长短时和自注意力的神经网络模型得到该待确定话题标签的微博的话题标签。

所述的步骤c中,将待确定话题标签的微博数据按照步骤a1至步骤a3中的过程进行预处理,得到该待确定话题标签的微博的向量数据。

本申请实现了对未知标签的微博数据推荐标签的功能。本方案既实用长短时模型解决了无法确定每个单词在上下文中的位置关系问题,又使用自注意力模型解决了因为句子太长而模型无法有效的学习远距离单词的问题。模型最后还使用了条件随机场层,有效的考虑到了输出结果的前后关系。通过与其他的同类任务的模型相对比,本方案首次将分类问题转化为序列标注问题,有效的提高了模型的准确率,推荐的话题标签的准确率提高了4.2%;而且本方案突破了在已知的话题标签范围内选择话题标签的限制,可以发现更多新的标签。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1