CN109086463A - 一种基于区域卷积神经网络的问答社区标签推荐方法 - Google Patents
一种基于区域卷积神经网络的问答社区标签推荐方法 Download PDFInfo
- Publication number
- CN109086463A CN109086463A CN201811139465.XA CN201811139465A CN109086463A CN 109086463 A CN109086463 A CN 109086463A CN 201811139465 A CN201811139465 A CN 201811139465A CN 109086463 A CN109086463 A CN 109086463A
- Authority
- CN
- China
- Prior art keywords
- word
- label
- neural networks
- convolutional neural
- ask
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
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:
其中W(2)是将第二层隐藏层转换为下一个隐藏层的矩阵,b(2)是第二层隐藏层的偏置;
步骤10d、将作为第三层最大池化层的输入,选取中最大的元素作为输出:
步骤10e、将最大池化层的输出经过输出层的处理,得到最终的输出结果
步骤10f、用softmax函数处理从而得到标签的概率分布Pi,前K个概率最高的标签被推荐给问题oi,其中概率分布的计算公式如下:
在上述的一种基于区域卷积神经网络的问答社区标签推荐方法,所述步骤12具体包括
步骤12a、计算召回率:对于测试集中的问题testi,其召回率Recall@ki计算方式如下,其中为模型推荐的标签,tagi为testi原有标签,topK为自定义推荐标签数;
整个测试集的召回率计算方式如下:
步骤12b、计算准确率:对于测试集中的问题testi,其召回率Precision@ki计算方式如下,其中为模型推荐的标签,tagi为testi原有标签,topK为自定义推荐标签数;
整个测试集的准确率计算方式如下:
步骤12c、计算F1-score:对于测试集中的问题testi,其F1-score@ki计算方式如下
整个测试集的准确率计算方式如下:
步骤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:
其中W(2)是将第二层隐藏层转换为下一个隐藏层的矩阵,b(2)是第二层隐藏层的偏置。
4)将作为第三层最大池化层的输入,选取中最大的元素作为输出:
5)将最大池化层的输出经过输出层的处理,得到最终的输出结果
6)用softmax函数处理从而得到标签的概率分布Pi,前K个概率最高的标签被推荐给问题oi,其中概率分布的计算公式如下:
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (4)
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、对训练集trian进行打乱顺序得到训练集t:
步骤9.利用Mikilovo方法将训练集t变成三维矩阵T;
步骤10、构建卷积神经网络模型TagRCNN,包括双向循环结构卷积层、池化层和softmax层;
步骤11、对训练集T进行多轮迭代卷积神经网络训练;
步骤12、利用测试集对模型TagRCNN进行测试,计算召回率准确率和F1-scorel来检验模型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:
其中W(2)是将第二层隐藏层转换为下一个隐藏层的矩阵,b(2)是第二层隐藏层的偏置;
步骤10d、将作为第三层最大池化层的输入,选取中最大的元素作为输出:
步骤10e、将最大池化层的输出经过输出层的处理,得到最终的输出结果
步骤10f、用softmax函数处理从而得到标签的概率分布Pi,前K个概率最高的标签被推荐给问题oi,其中概率分布的计算公式如下:
4.根据权利要求1所述的一种基于区域卷积神经网络的问答社区标签推荐方法,其特征在于:所述步骤12具体包括
步骤12a、计算召回率:对于测试集中的问题testi,其召回率Recall@ki计算方式如下,其中为模型推荐的标签,tagi为testi原有标签,topK为自定义推荐标签数;
整个测试集的召回率计算方式如下:
步骤12b、计算准确率:对于测试集中的问题testi,其召回率Precision@ki计算方式如下,其中为模型推荐的标签,tagi为testi原有标签,topK为自定义推荐标签数;
整个测试集的准确率计算方式如下:
步骤12c、计算F1-score:对于测试集中的问题testi,其F1-score@ki计算方式如下
整个测试集的准确率计算方式如下:
步骤12d、调整模型参数,使得F1-score尽可能的大,召回率尽可能高。
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 true CN109086463A (zh) | 2018-12-25 |
CN109086463B 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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472010A (zh) * | 2019-07-18 | 2019-11-19 | 天津大学 | 一种实现文本匹配的可解释神经网络的方法 |
CN110908919A (zh) * | 2019-12-02 | 2020-03-24 | 上海市软件评测中心有限公司 | 一种基于人工智能的应答测试***及其应用 |
CN110990003A (zh) * | 2019-11-15 | 2020-04-10 | 南通大学 | 一种基于词嵌入技术的api推荐方法 |
CN112711676A (zh) * | 2020-12-25 | 2021-04-27 | 上海众源网络有限公司 | 一种视频召回方法、装置、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631479A (zh) * | 2015-12-30 | 2016-06-01 | 中国科学院自动化研究所 | 基于非平衡学习的深度卷积网络图像标注方法及装置 |
CN106844741A (zh) * | 2017-02-13 | 2017-06-13 | 哈尔滨工业大学 | 一种面向特定领域的问题解答方法 |
US20170308790A1 (en) * | 2016-04-21 | 2017-10-26 | International Business Machines Corporation | Text classification by ranking with convolutional neural networks |
CN108021616A (zh) * | 2017-11-06 | 2018-05-11 | 大连理工大学 | 一种基于循环神经网络的社区问答专家推荐方法 |
CN108334499A (zh) * | 2018-02-08 | 2018-07-27 | 海南云江科技有限公司 | 一种文本标签标注设备、方法和计算设备 |
CN108399230A (zh) * | 2018-02-13 | 2018-08-14 | 上海大学 | 一种基于卷积神经网络的中文财经新闻文本分类方法 |
-
2018
- 2018-09-28 CN CN201811139465.XA patent/CN109086463B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631479A (zh) * | 2015-12-30 | 2016-06-01 | 中国科学院自动化研究所 | 基于非平衡学习的深度卷积网络图像标注方法及装置 |
US20170308790A1 (en) * | 2016-04-21 | 2017-10-26 | International Business Machines Corporation | Text classification by ranking with convolutional neural networks |
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)
Title |
---|
JIN LIU等: ""FastTagRec: fast tag recommendation for software information sites"", 《AUTOMATED SOFTWARE ENGINEERING》 * |
薛浩: ""在线问答社区推荐算法研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110472010A (zh) * | 2019-07-18 | 2019-11-19 | 天津大学 | 一种实现文本匹配的可解释神经网络的方法 |
CN110472010B (zh) * | 2019-07-18 | 2022-05-10 | 天津大学 | 一种实现文本匹配的可解释神经网络的方法 |
CN110990003A (zh) * | 2019-11-15 | 2020-04-10 | 南通大学 | 一种基于词嵌入技术的api推荐方法 |
CN110990003B (zh) * | 2019-11-15 | 2021-11-23 | 南通大学 | 一种基于词嵌入技术的api推荐方法 |
CN110908919A (zh) * | 2019-12-02 | 2020-03-24 | 上海市软件评测中心有限公司 | 一种基于人工智能的应答测试***及其应用 |
CN112711676A (zh) * | 2020-12-25 | 2021-04-27 | 上海众源网络有限公司 | 一种视频召回方法、装置、电子设备及存储介质 |
CN112711676B (zh) * | 2020-12-25 | 2024-02-27 | 上海众源网络有限公司 | 一种视频召回方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109086463B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Swathi et al. | An optimal deep learning-based LSTM for stock price prediction using twitter sentiment analysis | |
CN109325112B (zh) | 一种基于emoji的跨语言情感分析方法和装置 | |
CN112434517B (zh) | 一种结合主动学习的社区问答网站答案排序方法及*** | |
CN109086463A (zh) | 一种基于区域卷积神经网络的问答社区标签推荐方法 | |
CN111881342A (zh) | 一种基于图孪生网络的推荐方法 | |
CN110633730A (zh) | 一种基于课程学习的深度学习机器阅读理解训练方法 | |
CN110874439B (zh) | 一种基于评论信息的推荐方法 | |
CN112256866B (zh) | 一种基于深度学习的文本细粒度情感分析算法 | |
CN109446414A (zh) | 一种基于神经网络分类的软件信息站点快速标签推荐方法 | |
CN116010684A (zh) | 物品推荐方法、装置及存储介质 | |
Saito et al. | Learning path recommender system based on recurrent neural network | |
CN109145083B (zh) | 一种基于深度学习的候选答案选取方法 | |
CN106599194A (zh) | 标签确定方法及装置 | |
CN113343091A (zh) | 面向产业和企业的科技服务推荐计算方法、介质及程序 | |
CN106407381A (zh) | 一种基于人工智能的推送信息的方法和装置 | |
CN114065048A (zh) | 基于多异构图图神经网络的物品推荐方法 | |
CN112651324A (zh) | 视频帧语义信息的提取方法、装置及计算机设备 | |
CN114398556A (zh) | 学习内容的推荐方法、装置、设备及存储介质 | |
CN112380421A (zh) | 简历的搜索方法、装置、电子设备及计算机存储介质 | |
CN110569355B (zh) | 一种基于词块的观点目标抽取和目标情感分类联合方法及*** | |
Zarzour et al. | Sentiment analysis based on deep learning methods for explainable recommendations with reviews | |
CN114443846A (zh) | 一种基于多层级文本异构图的分类方法、装置及电子设备 | |
CN109299291B (zh) | 一种基于卷积神经网络的问答社区标签推荐方法 | |
CN116975686A (zh) | 训练学生模型的方法、行为预测方法和装置 | |
CN112148994A (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 |