CN109086463B - 一种基于区域卷积神经网络的问答社区标签推荐方法 - Google Patents

一种基于区域卷积神经网络的问答社区标签推荐方法 Download PDF

Info

Publication number
CN109086463B
CN109086463B CN201811139465.XA CN201811139465A CN109086463B CN 109086463 B CN109086463 B CN 109086463B CN 201811139465 A CN201811139465 A CN 201811139465A CN 109086463 B CN109086463 B CN 109086463B
Authority
CN
China
Prior art keywords
question
neural network
convolutional neural
train
word
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811139465.XA
Other languages
English (en)
Other versions
CN109086463A (zh
Inventor
刘进
周平义
储玮
李兵
崔晓晖
陈旭
施泽洋
彭新宇
赵发凯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201811139465.XA priority Critical patent/CN109086463B/zh
Publication of CN109086463A publication Critical patent/CN109086463A/zh
Application granted granted Critical
Publication of CN109086463B publication Critical patent/CN109086463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Abstract

本发明涉及一种基于区域卷积神经网络的问答社区标签推荐方法,具体是涉及对问答社区中的问题数据集先进行数据预处理,再通过建立词典生成句向量,在卷积层中,对数据集中的每个问题中的每个单词都进行词嵌入处理,然后用区域卷积神经网络模型对句向量进行训练,最后利用训练完成的模型对问答社区中的新问题进行标签推荐。具有如下突出特点和优点:第一,引入双向循环卷积层,结合单词的上下文对单词进行表示,可以更好的反应句子中单词之间的联系,双向循环结构可以准确抓取单词的上下文;第二,卷积神经网络处理大型图片的能力使得其可以处理较大的数据集;第三,卷积神经网络在图片处理中的迁移性,使得其用在标签推荐中也能有很好的迁移性。

Description

一种基于区域卷积神经网络的问答社区标签推荐方法
技术领域
本发明涉及一种基于区域卷积神经网络的问答社区标签推荐方法。
背景技术
随着互联网的快速发展,越来越多的IT爱好者在互联网上寻求帮助,分享经验,以及学习新技术知识,由此出现了各种开发者问答社区,像StackOverflow和Freeecode这样的软件信息站点可以为全世界的开发者提供信息共享和交流。
为了便于正确的分类和高效的搜索,开发者需要为他们的发布提供标签。然而,标签本质上是一个不协调的过程,不仅取决于开发者对自己帖子的理解,还取决于其他因素,包括开发者的英语技能和对现有帖子的了解。
因此,即使现有的标签已经足够,开发者也不断创建新的标签。最终的效果是,随着时间的推移,越来越多的标签具有严重的冗余性,并有更多的新标签发布,从而导致任何基于标签的算法效率和准确性都会降低。
目前国内外针对问答社区的标签推荐,有基于模糊集合理论,考虑了系统的动态演化的标签推荐方法,有包含多标签排名组件,基于相似度的排名组件和基于标签项的排名组件的标签推荐方法,还有基于贝叶斯推理组件和频率推理组件的标签推荐方法。
上述基于模糊集合理论和相似度排名及贝叶斯推理的方法存在以下不足:
(1)它们应用限制在相对较小的数据集中;
(2)它们是不可扩展的,并且不能够处理问答社区中的连续更新;
(3)它们的召回率和精度指标表现并不理想。
发明内容
本发明的目的在于针对目前问答社区标签推荐方面的不足,提供一种基于区域卷积神经网络的标签推荐方法,对问答社区中的问题数据集先进行数据预处理,再通过建立词典生成句向量,在卷积层中,对数据集中的每个问题中的每个单词都进行词嵌入处理,然后用区域卷积神经网络模型对句向量进行训练,最后利用训练完成的模型对问答社区中的新问题进行标签推荐。
为了达到上述的目的,本发明的构思如下:首先使用scrapy框架从StackOverflow等问答社区上获取问题数据,并用脚本对数据进行清洗,然后对清洗后的数据建立词典并利用词典生成训练集矩阵,利用Mikilovo方法将训练集的矩阵变成三维矩阵,再用区域卷积神经网络模型对句向量进行训练以得到合适的模型参数,最后利用训练得到的模型新问题进行标签推荐。
根据以上构思,本发明采用的一个技术方案是:提供一种基于区域卷积神经网络的问答社区标签推荐方法,其特征在于:包括以下步骤:
步骤1、使用scrapy框架从问答社区上获取问题数据集和标签集;
步骤2、对每条问题数据进行数据清洗,去除问题中的标点符号,多余空格和代码,只留下单词,并将单词全部转化为小写,得到清洗后的数据集data;
步骤3、将数据集data分为规模为n的训练集train和规模为m的测试集test;
步骤4、对训练集train建立词典D:
步骤5、对训练集train中的每一个问题数据建立句向量,对于第j个问题中的第i个单词Wij将其用Wij在词典D中的编号来代替,采样如下:
trainj=[1,2,11,32,35,25,68,37,…,66,89]
步骤6、标签集大小为s_tag,对trainj建立长度为s_tag的向量tagj,将tagj中trainj的标签在标签集中的对应位置的元素置1,其余元素置0,将tagj中的元素追加到trainj的最后;
步骤7、由训练集train词向量可以得到对应的n*k矩阵,其中k为最长的问题的大小与s_tag之和;
步骤8、对训练集trian进行打乱顺序得到训练集t:
步骤9.利用Mikilovo方法将训练集t变成三维矩阵T;
步骤10、构建卷积神经网络模型TagRCNN,包括双向循环结构卷积层、池化层和softmax层;
步骤11、对训练集T进行多轮迭代卷积神经网络训练;
步骤12、利用测试集对模型TagRCNN进行测试,计算召回率准确率和F1-scorel来检验模型TagRCNN的效果,调整参数,重复步骤7-10直到得一个最终卷积神经网络模型TagRCNN。
在上述的一种基于区域卷积神经网络的问答社区标签推荐方法,所述步骤4具体包括
步骤4a、建立字典变量dict;
步骤4b、对于train中的每个词Wi来说,如果Wi没有出现在dict中,则将键值对{Wi:1}加入dict,如果Wi在dict中已存在,则对D中的Wi的值进行更新:{Wi:w+1};
步骤4c、对dict中的词dicti进行编号得到词典D。
在上述的一种基于区域卷积神经网络的问答社区标签推荐方法,所述步骤10具体包括
步骤10a、对域矩阵T中的每个句子oi中的单词Wi,其对应的词嵌入向量为e(Wi),其对应的左右上下文Cl(Wi)和Cr(Wi)可以由Wi-1的词嵌入和左右上下文表示,公式如下:
Cl(Wi)=f(WlCl(Wi))+Wsle(Wi-1))
Cr(Wi)=f(WrCr(Wi+1))+Wsre(Wi+1))
其中Wl是将当前隐藏层转换为下一个隐藏层的矩阵,Wsl是用于将当前单词语义与下一个单词的上下文进行组合的矩阵,f是非线性激活数;
步骤10b、单词Wi的表示xi由单词Wi以及Wi的左右上下文组成,如下所示:
xi=[Cl(Wi):e(Wi):Cr(Wi)]
步骤10c:对xi应用tanh线性激活函数得到结果yi:
Figure BDA0001815437600000031
其中W(2)是将第二层隐藏层转换为下一个隐藏层的矩阵,b(2)是第二层隐藏层的偏置;
步骤10d、将
Figure BDA0001815437600000041
作为第三层最大池化层的输入,选取
Figure BDA0001815437600000042
中最大的元素作为输出:
Figure BDA0001815437600000043
步骤10e、将最大池化层的输出经过输出层的处理,得到最终的输出结果
Figure BDA0001815437600000044
Figure BDA0001815437600000045
步骤10f、用softmax函数处理
Figure BDA0001815437600000046
从而得到标签的概率分布Pi,前K个概率最高的标签被推荐给问题oi,其中概率分布的计算公式如下:
Figure BDA0001815437600000047
在上述的一种基于区域卷积神经网络的问答社区标签推荐方法,所述步骤12具体包括
步骤12a、计算召回率:对于测试集中的问题testi,其召回率Recall@ki计算方式如下,其中
Figure BDA0001815437600000048
为模型推荐的标签,tagi为testi原有标签,topK为自定义推荐标签数;
Figure BDA0001815437600000049
整个测试集的召回率计算方式如下:
Figure BDA00018154376000000410
步骤12b、计算准确率:对于测试集中的问题testi,其召回率Precision@ki计算方式如下,其中
Figure BDA00018154376000000411
为模型推荐的标签,tagi为testi原有标签,topK为自定义推荐标签数;
Figure BDA00018154376000000412
整个测试集的准确率计算方式如下:
Figure BDA00018154376000000413
步骤12c、计算F1-score:对于测试集中的问题testi,其F1-score@ki计算方式如下
Figure BDA0001815437600000051
整个测试集的准确率计算方式如下:
Figure BDA0001815437600000052
步骤12d、调整模型参数,使得F1-score尽可能的大,召回率尽可能高。
本发明的有益效果是:一种基于区域卷积神经网络的问答社区标签推荐方法与现有的技术相比较,具有如下突出特点和优点:第一,引入双向循环卷积层,结合单词的上下文对单词进行表示,可以更好的反应句子中单词之间的联系,双向循环结构可以准确抓取单词的上下文;第二,卷积神经网络处理大型图片的能力使得其可以处理较大的数据集;第三,卷积神经网络在图片处理中的迁移性,使得其用在标签推荐中也能有很好的迁移性。
附图说明
图1是本发明中区域卷积神经网络的示意图。
具体实施方式
以下结合附图对本发明的实施例作进一步的说明。
1)对域矩阵T中的每个句子oi中的单词Wi,其对应的词嵌入向量为e(Wi),其对应的左右上下文Cl(Wi)和Cr(Wi)可以由Wi-1的词嵌入和左右上下文表示,公式如下:
Cl(Wi)=f(WlCl(Wi))+Wsle(Wi-1))
Cr(Wi)=f(WrCr(Wi+1))+Wsre(Wi+1))
其中Wl是将当前隐藏层转换为下一个隐藏层的矩阵,Wsl是用于当前单词语义与下一个单词的上下文进行组合的矩阵。f是非线性激活函数。
2)单词Wi的表示xi由单词Wi以及Wi的左右上下文组成,如下所示:
xi=[Cl(Wi):e(Wi):Cr(Wi)]
3)对xi应用tanh线性激活函数得到结果yi:
Figure BDA0001815437600000061
其中W(2)是将第二层隐藏层转换为下一个隐藏层的矩阵,b(2)是第二层隐藏层的偏置。
4)将
Figure BDA0001815437600000062
作为第三层最大池化层的输入,选取
Figure BDA0001815437600000063
中最大的元素作为输出:
Figure BDA0001815437600000064
5)将最大池化层的输出经过输出层的处理,得到最终的输出结果
Figure BDA0001815437600000065
Figure BDA0001815437600000066
6)用softmax函数处理
Figure BDA0001815437600000067
从而得到标签的概率分布Pi,前K个概率最高的标签被推荐给问题oi,其中概率分布的计算公式如下:
Figure BDA0001815437600000068
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (3)

1.一种基于区域卷积神经网络的问答社区标签推荐方法,其特征在于:包括以下步骤:
步骤1、使用scrapy框架从问答社区上获取问题数据集和标签集;
步骤2、对每条问题数据进行数据清洗,去除问题中的标点符号,多余空格和代码,只留下单词,并将单词全部转化为小写,得到清洗后的数据集data;
步骤3、将数据集data分为规模为n的训练集train和规模为m的测试集test;
步骤4、对训练集train建立词典D:
步骤5、对训练集train中的每一个问题数据建立句向量,对于第j个问题中的第i个单词Wij将其用Wij在词典D中的编号来代替,采样如下:
trainj=[1,2,11,32,35,25,68,37,…,66,89]
步骤6、标签集大小为s_tag,对trainj建立长度为s_tag的向量tagj,将tagj中trainj的标签在标签集中的对应位置的元素置1,其余元素置0,将tagj中的元素追加到trainj的最后;
步骤7、由训练集train句向量可以得到对应的n*k矩阵,其中k为最长的问题的大小与s_tag之和;
步骤8、对训练集train进行打乱顺序得到训练集t:
步骤9.利用Mikilov方法将训练集t变成三维矩阵T;
步骤10、构建卷积神经网络模型TagRCNN,包括双向循环结构卷积层、池化层和softmax层;
步骤11、对训练集T进行多轮迭代卷积神经网络训练;
步骤12、利用测试集对模型TagRCNN进行测试,计算召回率准确率和F1-score来检验模型TagRCNN的效果,调整参数,重复步骤7-10直至得到一个最终卷积神经网络模型TagRCNN。
2.根据权利要求1所述的一种基于区域卷积神经网络的问答社区标签推荐方法,其特征在于:所述步骤4具体包括
步骤4a、建立字典变量dict;
步骤4b、对于train中的每个词Wi来说,如果Wi没有出现在dict中,则将键值对{Wi:1}加入dict,如果Wi在dict中已存在,则对D中的Wi的值进行更新:{Wi:w+1};
步骤4c、对dict中的词dicti进行编号得到词典D。
3.根据权利要求1所述的一种基于区域卷积神经网络的问答社区标签推荐方法,其特征在于:所述步骤10具体包括
步骤10a、对域矩阵T中的每个句子oi中的单词Wi,其对应的词嵌入向量为e(Wi),其对应的左右上下文Cl(Wi)和Cr(Wi)可以由Wi-1的词嵌入和左右上下文表示,公式如下:
Cl(Wi)=f(WlCl(Wi)+Wsle(Wi-1))
Cr(Wi)=f(WrCr(Wi+1)+Wsre(Wi+1))
其中Wl是将当前隐藏层转换为下一个隐藏层的矩阵,Wsl是用于将当前单词语义与下一个单词的上下文进行组合的矩阵,f是非线性激活数;
步骤10b、单词Wi的表示xi由单词Wi以及Wi的左右上下文组成,如下所示:
xi=[Cl(Wi):e(Wi):Cr(Wi)]
步骤10c:对xi应用tanh线性激活函数得到结果yi:
Figure FDA0003543376990000021
其中W(2)是将第二层隐藏层转换为下一个隐藏层的矩阵,b(2)是第二层隐藏层的偏置;
步骤10d、将
Figure FDA0003543376990000022
作为第三层最大池化层的输入,选取
Figure FDA0003543376990000023
中最大的元素作为输出:
Figure FDA0003543376990000024
步骤10e、将最大池化层的输出经过输出层的处理,得到最终的输出结果
Figure FDA0003543376990000025
Figure FDA0003543376990000031
步骤10f、用softmax函数处理
Figure FDA0003543376990000032
从而得到标签的概率分布Pi,前K个概率最高的标签被推荐给问题oi,其中概率分布的计算公式如下:
Figure FDA0003543376990000033
CN201811139465.XA 2018-09-28 2018-09-28 一种基于区域卷积神经网络的问答社区标签推荐方法 Active CN109086463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811139465.XA CN109086463B (zh) 2018-09-28 2018-09-28 一种基于区域卷积神经网络的问答社区标签推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811139465.XA CN109086463B (zh) 2018-09-28 2018-09-28 一种基于区域卷积神经网络的问答社区标签推荐方法

Publications (2)

Publication Number Publication Date
CN109086463A CN109086463A (zh) 2018-12-25
CN109086463B true CN109086463B (zh) 2022-04-29

Family

ID=64842674

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811139465.XA Active CN109086463B (zh) 2018-09-28 2018-09-28 一种基于区域卷积神经网络的问答社区标签推荐方法

Country Status (1)

Country Link
CN (1) CN109086463B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472010B (zh) * 2019-07-18 2022-05-10 天津大学 一种实现文本匹配的可解释神经网络的方法
CN110990003B (zh) * 2019-11-15 2021-11-23 南通大学 一种基于词嵌入技术的api推荐方法
CN110908919B (zh) * 2019-12-02 2021-03-26 上海市软件评测中心有限公司 一种基于人工智能的应答测试系统及其应用
CN112711676B (zh) * 2020-12-25 2024-02-27 上海众源网络有限公司 一种视频召回方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105631479A (zh) * 2015-12-30 2016-06-01 中国科学院自动化研究所 基于非平衡学习的深度卷积网络图像标注方法及装置
CN106844741A (zh) * 2017-02-13 2017-06-13 哈尔滨工业大学 一种面向特定领域的问题解答方法
CN108021616A (zh) * 2017-11-06 2018-05-11 大连理工大学 一种基于循环神经网络的社区问答专家推荐方法
CN108334499A (zh) * 2018-02-08 2018-07-27 海南云江科技有限公司 一种文本标签标注设备、方法和计算设备
CN108399230A (zh) * 2018-02-13 2018-08-14 上海大学 一种基于卷积神经网络的中文财经新闻文本分类方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170308790A1 (en) * 2016-04-21 2017-10-26 International Business Machines Corporation Text classification by ranking with convolutional neural networks

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105631479A (zh) * 2015-12-30 2016-06-01 中国科学院自动化研究所 基于非平衡学习的深度卷积网络图像标注方法及装置
CN106844741A (zh) * 2017-02-13 2017-06-13 哈尔滨工业大学 一种面向特定领域的问题解答方法
CN108021616A (zh) * 2017-11-06 2018-05-11 大连理工大学 一种基于循环神经网络的社区问答专家推荐方法
CN108334499A (zh) * 2018-02-08 2018-07-27 海南云江科技有限公司 一种文本标签标注设备、方法和计算设备
CN108399230A (zh) * 2018-02-13 2018-08-14 上海大学 一种基于卷积神经网络的中文财经新闻文本分类方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"FastTagRec: fast tag recommendation for software information sites";Jin Liu等;《Automated Software Engineering》;20180702;第25卷(第4期);第675-701页 *
"在线问答社区推荐算法研究";薛浩;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180815;全文 *

Also Published As

Publication number Publication date
CN109086463A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
CN109086463B (zh) 一种基于区域卷积神经网络的问答社区标签推荐方法
CN106980683B (zh) 基于深度学习的博客文本摘要生成方法
CN109446414B (zh) 一种基于神经网络分类的软件信息站点快速标签推荐方法
CN111737476B (zh) 文本处理方法、装置、计算机可读存储介质及电子设备
CN113707235B (zh) 基于自监督学习的药物小分子性质预测方法、装置及设备
CN111046275B (zh) 基于人工智能的用户标签确定方法及装置、存储介质
Taylor et al. Learning invariance through imitation
CN104598611B (zh) 对搜索条目进行排序的方法及系统
CN111291165B (zh) 训练词向量嵌入模型的方法及装置
CN113312505B (zh) 一种基于离散在线哈希学习的跨模态检索方法及系统
CN112016601B (zh) 基于知识图谱增强小样本视觉分类的网络模型构建方法
CN106407381A (zh) 一种基于人工智能的推送信息的方法和装置
CN116664719B (zh) 一种图像重绘模型训练方法、图像重绘方法及装置
CN109300128A (zh) 基于卷积神经网隐含结构的迁移学习图像处理方法
CN111582506A (zh) 基于全局和局部标记关系的偏多标记学习方法
CN113821668A (zh) 数据分类识别方法、装置、设备及可读存储介质
CN109299291B (zh) 一种基于卷积神经网络的问答社区标签推荐方法
Liu et al. Rectified binary convolutional networks with generative adversarial learning
CN114091450B (zh) 一种基于图卷积网络的司法领域关系抽取方法和系统
CN109784404A (zh) 一种融合标签信息的多标签分类原型系统及方法
CN112000788A (zh) 一种数据处理方法、装置以及计算机可读存储介质
CN112148879B (zh) 一种自动给代码打数据结构标签的计算机可读存储介质
Wakchaure et al. A scheme of answer selection in community question answering using machine learning techniques
CN116363423A (zh) 面向小样本学习的知识蒸馏方法、装置及存储介质
CN115588487A (zh) 一种基于联邦学习和生成对抗网络的医学图像数据集制作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant