CN105117398B - 一种基于众包的软件开发问题自动应答方法 - Google Patents
一种基于众包的软件开发问题自动应答方法 Download PDFInfo
- Publication number
- CN105117398B CN105117398B CN201510366332.6A CN201510366332A CN105117398B CN 105117398 B CN105117398 B CN 105117398B CN 201510366332 A CN201510366332 A CN 201510366332A CN 105117398 B CN105117398 B CN 105117398B
- Authority
- CN
- China
- Prior art keywords
- answer
- user
- degree
- similarity
- presenter
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90332—Natural language query formulation or dialogue systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于众包的软件开发问题自动应答方法。本发明用tag‑LDA对用户提交的问题进行标签推荐,将历史问题答案对匹配,选出相关问题答案对,对所有问题和答案进行预处理,将答案的内容与用户提出的问题进行内容匹配,计算出内容相似度、可信度,根据反馈计算答案的采纳度,对相似度、可信度和采纳度三个角度分别进行排序,为用户推荐出答案和提出者信息。本发明克服了没有直接解决用户对答案的迫切需求的缺陷。本发明利用历史库中已有问题和答案(即众包知识),挖掘出合适答案和提出者信息推荐给用户,极大地减少了信息淹没的可能性,并从内容相似度,提出者可信度,答案采纳度三个角度为用户推荐相关答案及答案的提出者信息。
Description
技术领域
本发明提出了一种基于众包的软件开发问题自动应答方法,属于软件数据挖掘与分析领域。
背景技术
随着信息科技的进步以及电子化时代的到来,人们更倾向于在网络上寻求问题的解决方法和途径。众包就是互联网带来的新的生产组织形式。众包是一种分布式的问题解决和生产模式。问题以公开招标的方式传播给未知的解决方案提供者群体。用户(这里指众包里的“众”)典型地组成在线社区并提交方案。群“众”还要审查方案,发现最好的。这些最好的方案最后由最先提出问题的一方(众包人,crowdsourcer)所有,并且群“众”中胜出的个人有时会被奖励。
在本发明作出之前,随着众包(crowd)模式的流行,诸如Stack Overflow,Sourceforge等软件论坛受到越来越多的开发者的喜爱。Q&A网站的使用人数也日益增多,伴随着使用人数的剧增,网站上的数据也成倍增长,而这也就造成了用户提交的问题不能得到及时的解决,造成信息被淹没的现象。在之前的研究中,集中在对用户提出的问题的研究,包括问题的质量,未被回答的问题的特征,旨在帮助用户提出更易于理解和被回答的问题。之前的研究并没有直接解决用户对答案的迫切需求,仅仅改善问题的质量,而Q&A网站不仅仅有问题,忽略了对答案的研究。
发明内容
本发明的目的就在于克服上述缺陷,研制一种基于众包的软件开发问题自动应答方法。
本发明的技术方案是:
一种基于众包的软件开发问题自动应答方法,其主要技术步骤如下:
(1)用tag-LDA对用户提交的问题进行标签推荐;
(2)将标签同问题库Stack Overflow中的历史问题答案对进行匹配,选出相关问题答案对;
(3)在答案质量评估机制中对所有问题和答案进行预处理,将答案的内容与用户提出的问题进行内容匹配,计算出内容相似度;
(4)根据答案提出者的历史表现,计算答案的可信度;
(5)根据其他用户和问题提出者的反馈,计算答案的采纳度;
(6)根据评估机制计算得到的相似度,可信度和采纳度三个角度分别进行排序;
(7)根据排序结果,为用户推荐出答案和提出者信息。
所述步骤(2)标签匹配的计算公式如下:
相似度=相同标签个数/所有标签个数
并将相似度高于0.30的问题答案对导出。
所述步骤(3)预处理过程包括以下步骤:
a)移除数字;
b)对一些按照驼峰规则和有下划短线相连的组合词进行分词;
c)去除英语停用词;
d)将词语的不同形式进行归一化;
内容相似度的计算公式如下:
其中A,B是表示文档一和文档二的量化表示。文档一和文档二经过分词,去停用词,移除数字,词根化等预处理过程,将剩余的单词按一定顺序数值化后形成向量A,B。在信息检索中,每个词条拥有不同的度,一个文档是由一个由有权值的特征向量表示的,权值的计算取决于词条在该文档中出现的频率。余弦相似度因此可以给出两篇文档其主题方面的相似度。
所述步骤(4)答案可信度的计算公式如下:
可信度=标签得分/总声望值
所述步骤(5)答案采纳度的计算公式如下:
采纳度=vote值/view值
此外,需要知道的是Stack Overflow会把vote量最多的作为best answer,另外问题提出者可以把自己中意的答案选为accept answer,这两种答案的采纳度明显高于其他答案,所以分别为best answer和accept answer加2个vote。
本发明的优点和效果:
(1)目前与众包知识相关的研究有很多,但是并没有针对软件开发问题自动应答,而本发明最终输出的是相关答案及其提出者信息。
(2)本发明从内容相似度,提出者可信度和答案采纳度三个角度提供用户相关答案,适应不同的用户需求。
(3)本发明不仅推荐出相关答案,最终还会推荐出答案的提出者信息,以便在用户未找到满意的答案或对答案有部分疑问时,与提出者直接沟通,达到解决问题的最终目的。
本发明是一种基于众包知识的软件开发问题自动应答推荐技术,利用历史库中已有问题和答案(即众包知识),挖掘出合适答案和提出者信息推荐给用户,极大地减少了信息淹没的可能性。
本发明最终会从内容相似度,提出者可信度,答案采纳度三个角度为用户推荐相关答案及答案的提出者信息,有利于软件开发者在使用Q&A网站时更快的获得解决问题的方法和选择满足自己需求的答案,降低了问题得不到解答的可能性。
附图说明
图1——软件开发问题自动应答方法的整体流程示意图。
图2——Tag-LDA模型的示意图,用于推荐标签。
图3——Stack Overflow上用户提交的用户问题示例示意图。
图4——Stack Overflow上的一个答案示例示意图。
图5——Stack Overflow上的一个答案示例示意图。
图6——Stack Overflow上一个用户的主页,用于计算用户可信度示意图。
图7——Stack Overflow上一个用户的主页,用于计算用户可信度示意图。
具体实施方式
本发明的技术思路是:
本发明运用到了Tag-LDA主题模型,对文档,单词,标签进行建模。Tag-LDA是对Latent Dirichlet Allocation模型的一种延伸。通过Tag-LDA主题模型,可以推荐和文档内容相关的多个标签,并且对每个标签和文章相关程度的概率进行估算,如图2是Tag-LDA主题模型的示意图。输出结果后,按照概率高低进行排序,挑选出最能表达文档内容的作为推荐标签。本发明运用Tag-LDA来为问题文档推荐标签。
下面具体说明本发明。
本发明提供一种基于众包知识的软件开发问题自动应答推荐技术,下面结合附图对本发明的技术方案进行详细说明:
如图1所示的程序:
(1)用tag-LDA对用户提交的问题进行标签推荐;
(2)将标签同问题库Stack Overflow中的历史问题答案对进行匹配,选出相关问题答案对;
(3)在答案质量评估机制中对所有问题和答案进行预处理,将答案的内容与用户提出的问题进行内容匹配,计算出内容相似度;
(4)根据答案提出者的历史表现,计算答案的可信度;
(5)根据其他用户和问题提出者的反馈,计算答案的采纳度;
(6)根据评估机制计算得到的相似度,可信度和采纳度三个角度分别进行排序;
(7)根据排序结果,为用户推荐出答案和提出者信息。
具体说明:
(1)根据用户提交的用户问题,利用tag-LDA推荐标签,将生成的tag文档提交给用户,由用户选择满意的标签。如图3所示,为一个用户提交的问题,问题文档如下:
经过tag-LDA处理后推荐出java,junit,tdd,private,unit-test等标签,由用户选择出最满意的标签。(此处用户选择了标签java,junit,tdd,private,unit-test);
(2)根据第一步所得到的标签对问题库(例如Stack Overflow)中的问题进行匹配,将每个问题答案对的标签与用户问题的标签进行比较,计算相同标签所占比重。如下是问题库中的几个问题:
问题一:
问题二:
问题三:
根据公式:相似度=相同标签个数/所有标签个数计算,问题一的相似度为2/6=0.333,问题二的相似度为1/7=0.143。问题三的相似度为3/7=0.428。设定门槛值为0.30,将相似度高于0.30的问题及其答案排序。
(3)根据排序得到的问题和答案,将答案的内容与用户提出的问题利用余弦相似度进行内容匹配。以下是问题一和问题三的几个答案:
答案一如图4,答案二如图5
将用户问题,答案一和答案二预处理(包括分词,去停用词,移除数字,词根化等)过后:
答案一的向量表示为D1
(<test,5>,<class,4>,〈method,6>,<Junit,6>,<mark,3>,<extend,2>,<framework,3>,<Case,2>,<inherite,1>,<Assert,6>,<version,1>,〈Annotation,1>,〈static,4>,<import,4>,<org,2>,<Redesign,1>,<package,2>);
答案二的向量表示为D2
(<class,1>,<method,1>,<Mockito,5>,<JMock,1>,<Mock,6>,〈syntax,2>,<Abridge,1>,<homepage,1>,<import,1>,〈static,2>,<org,1>,<List,5>,<clear,2>);
用户问题的向量表示为D
(<test,3>,<class,4>,〈method,3>,<JUnit,1>,<private,2>,<field,2>,<inner,1>,<internal,1>,<neste,1>,〈change,1>,<access,1>,<modifier,1>)。
根据余弦公式计算答案一与问题的内容相似度:首先量化D1和D,由于D和D1中共出现:
test,class,method,JUnit,private,field,inner,internal,neste,change,1access,modifier,mark,extend,framework,Case,inherite,Assert,version,Annotation,static,import,org,Redesign,package 25个单词,按这种顺序进行量化如下
D(3,4,3,1,2,2,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0),
D1(5,4,6,6,0,0,0,0,0,0,0,0,3,2,3,2,1,6,1,1,4,4,2,1,2),
根据余弦公式
计算的答案一的内容相似度为cos<D,D1>=0.5345。
同上处理D和D2,计算的答案二的内容相似度为cos<D,D2>=0.0976。
(4)根据答案提出者的历史表现计算答案的可信度,如图6是答案一的提出者主页,图7是答案二的提出者主页,根据公式:可信度=标签得分/总声望值,计算答案一的可信度为0.04287,答案二的可信度为0.14429。
(5)根据其他用户和问题提出者的反馈计算答案的采纳度。
如图4,答案一的vote值为148,是best answer且被标记为accept answer;
如图5,答案二的vote值为273,是best answer且被标记为accept answer,分别为best answer和accept answer加2个vote。根据公式:采纳度=vote值/view值,计算答案一的采纳度为0.00763,答案二的采纳度为0.00263。
(6)将完成上述处理后得到的内容相似度,可信度和采纳度,按相似度,可信度和采纳度分别进行排序。
可信度 | |
答案二 | 0.14429 |
答案一 | 0.04287 |
采纳度 | |
答案一 | 0.00763 |
答案二 | 0.00263 |
相似度 | |
答案一 | 0.5345 |
答案二 | 0.0976 |
(7)为用户推荐出答案和提出者信息:
相似度 | |
答案一的内容和提出者信息 | 0.5345 |
答案二的内容和提出者信息 | 0.0976 |
可信度 | |
答案二的内容和提出者信息 | 0.14429 |
答案一的内容和提出者信息 | 0.04287 |
采纳度 | |
答案一的内容和提出者信息 | 0.00763 |
答案二的内容和提出者信息 | 0.00263 |
尽管本发明就优选实施方式进行了示意和描述,但本领域的技术人员应当理解,只要不超出本发明的权利要求所限定的范围,可以对本发明进行各种变化和修改。
Claims (5)
1.一种基于众包的软件开发问题自动应答方法,其特征在于包括如下步骤:
(1)用tag-LDA对用户提交的问题进行标签推荐;
(2)将标签同问题库Stack Overflow中的历史问题答案对进行匹配,选出相关问题答案对;
(3)在答案质量评估机制中对所有问题和答案进行预处理,将答案的内容与用户提出的问题进行内容匹配,计算出内容相似度;
(4)根据答案提出者的历史表现,计算答案的可信度;
(5)根据其他用户和问题提出者的反馈,计算答案的采纳度;
(6)根据评估机制计算得到的相似度、可信度和采纳度三个角度分别进行排序;
(7)根据排序结果,为用户推荐出答案和提出者信息。
2.根据权利要求1所述的一种基于众包的软件开发问题自动应答方法,其特征在于步骤(2)标签匹配的计算公式如下:
相似度=相同标签个数/所有标签个数
并将相似度高于0.30的问题答案对导出。
3.根据权利要求1所述的一种基于众包的软件开发问题自动应答方法,其特征在于步骤(3)预处理过程包括以下步骤:
a)移除数字;
b)对一些按照驼峰规则和有下划短线相连的组合词进行分词;
c)去除英语停用词;
d)将词语的不同形式进行归一化;
另外,内容相似度的计算公式如下:
其中A,B是表示文档一和文档二的量化表示;文档一和文档二经过分词,去停用词,移除数字,词根化预处理过程,将剩余的单词按一定顺序数值化后形成向量A,B;在信息检索中,每个词条拥有不同的度,一个文档是由一个由有权值的特征向量表示的,权值的计算取决于词条在该文档中出现的频率,余弦相似度因此可以给出两篇文档其主题方面的相似度。
4.根据权利要求1所述的一种基于众包的软件开发问题自动应答方法,其特征在于步骤(4)答案可信度的计算公式如下:
可信度=标签得分/声望值。
5.根据权利要求1所述的一种基于众包的软件开发问题自动应答方法,其特征在于步骤(5)答案采纳度的计算公式如下:
采纳度=vote值/view值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510366332.6A CN105117398B (zh) | 2015-06-25 | 2015-06-25 | 一种基于众包的软件开发问题自动应答方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510366332.6A CN105117398B (zh) | 2015-06-25 | 2015-06-25 | 一种基于众包的软件开发问题自动应答方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117398A CN105117398A (zh) | 2015-12-02 |
CN105117398B true CN105117398B (zh) | 2018-10-26 |
Family
ID=54665390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510366332.6A Active CN105117398B (zh) | 2015-06-25 | 2015-06-25 | 一种基于众包的软件开发问题自动应答方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117398B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105930352A (zh) * | 2016-04-05 | 2016-09-07 | 扬州大学 | 一种面向众包任务的探索性搜索方法 |
CN108427685B (zh) * | 2017-02-15 | 2022-03-04 | 北京京东尚科信息技术有限公司 | 一种智能应答***自动应答获取方法 |
CN107491299B (zh) * | 2017-07-04 | 2021-09-10 | 扬州大学 | 面向多源软件开发数据融合的开发者画像建模方法 |
CN108596800B (zh) * | 2018-04-13 | 2022-05-13 | 北京交通大学 | 一种基于贝叶斯的开放性答案决策方法 |
CN111382144B (zh) * | 2018-12-27 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 信息处理方法及装置、存储介质及处理器 |
CN111460810A (zh) * | 2020-03-02 | 2020-07-28 | 平安科技(深圳)有限公司 | 众包任务的抽检方法、装置、计算机设备及存储介质 |
CN111460811A (zh) * | 2020-03-02 | 2020-07-28 | 平安科技(深圳)有限公司 | 众包任务的答案验证方法、装置、计算机设备及存储介质 |
US11487770B2 (en) * | 2020-05-18 | 2022-11-01 | International Business Machines Corporation | Sorting data elements of a given set of data elements |
CN112100314B (zh) * | 2020-08-16 | 2022-07-22 | 复旦大学 | 一种基于软件开发问答网站的api教程汇编生成方法 |
CN112784032A (zh) * | 2021-01-28 | 2021-05-11 | 上海明略人工智能(集团)有限公司 | 会话语料推荐评价方法、装置、存储介质和电子设备 |
CN113204682A (zh) * | 2021-05-13 | 2021-08-03 | 武汉理工大学 | 一种基于知识联盟链的知识查询交易***和方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986293A (zh) * | 2010-09-03 | 2011-03-16 | 百度在线网络技术(北京)有限公司 | 用于在搜索界面中呈现搜索答案信息的方法及设备 |
CN104133817A (zh) * | 2013-05-02 | 2014-11-05 | 深圳市世纪光速信息技术有限公司 | 网络社区交互方法、装置及网络社区平台 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9117194B2 (en) * | 2011-12-06 | 2015-08-25 | Nuance Communications, Inc. | Method and apparatus for operating a frequently asked questions (FAQ)-based system |
-
2015
- 2015-06-25 CN CN201510366332.6A patent/CN105117398B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986293A (zh) * | 2010-09-03 | 2011-03-16 | 百度在线网络技术(北京)有限公司 | 用于在搜索界面中呈现搜索答案信息的方法及设备 |
CN104133817A (zh) * | 2013-05-02 | 2014-11-05 | 深圳市世纪光速信息技术有限公司 | 网络社区交互方法、装置及网络社区平台 |
Non-Patent Citations (1)
Title |
---|
Tag-LDA for Scalable Real-time Tag Recommendation;Xiance Si 等;《Journal of Information & Computational Science》;20090331;第6卷(第2期);1009-1016 * |
Also Published As
Publication number | Publication date |
---|---|
CN105117398A (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105117398B (zh) | 一种基于众包的软件开发问题自动应答方法 | |
WO2022161202A1 (zh) | 多媒体资源分类模型训练方法和多媒体资源推荐方法 | |
CN105989040B (zh) | 智能问答的方法、装置及*** | |
US9348900B2 (en) | Generating an answer from multiple pipelines using clustering | |
US9146987B2 (en) | Clustering based question set generation for training and testing of a question and answer system | |
US20150286627A1 (en) | Contextual sentiment text analysis | |
CN109145216A (zh) | 网络舆情监控方法、装置及存储介质 | |
US20170124157A1 (en) | Providing Search Result Content Tailored to Stage of Project and User Proficiency and Role on Given Topic | |
CN102866989A (zh) | 基于词语依存关系的观点抽取方法 | |
US20180181544A1 (en) | Systems for Automatically Extracting Job Skills from an Electronic Document | |
US20170169355A1 (en) | Ground Truth Improvement Via Machine Learned Similar Passage Detection | |
CN107436916B (zh) | 智能提示答案的方法及装置 | |
CN102663129A (zh) | 医疗领域深度问答方法及医学检索*** | |
US20160299891A1 (en) | Matching of an input document to documents in a document collection | |
CN103970802A (zh) | 一种歌曲推荐的方法及装置 | |
CN109255012A (zh) | 一种机器阅读理解的实现方法以及装置 | |
US20190384856A1 (en) | Description matching for application program interface mashup generation | |
Hoyle et al. | Are neural topic models broken? | |
Aggarwal et al. | Providing web credibility assessment support | |
CN114399396A (zh) | 保险产品推荐方法、装置、计算机设备及存储介质 | |
US20140272842A1 (en) | Assessing cognitive ability | |
Liu et al. | U-need: A fine-grained dataset for user needs-centric e-commerce conversational recommendation | |
US8560468B1 (en) | Learning expected values for facts | |
CN112541069A (zh) | 一种结合关键词的文本匹配方法、***、终端及存储介质 | |
CN113836395B (zh) | 一种基于异构信息网络的服务开发者按需推荐方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |