CN105117398B - 一种基于众包的软件开发问题自动应答方法 - Google Patents

一种基于众包的软件开发问题自动应答方法 Download PDF

Info

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
Application number
CN201510366332.6A
Other languages
English (en)
Other versions
CN105117398A (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.)
Yangzhou University
Original Assignee
Yangzhou University
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 Yangzhou University filed Critical Yangzhou University
Priority to CN201510366332.6A priority Critical patent/CN105117398B/zh
Publication of CN105117398A publication Critical patent/CN105117398A/zh
Application granted granted Critical
Publication of CN105117398B publication Critical patent/CN105117398B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural 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值。
CN201510366332.6A 2015-06-25 2015-06-25 一种基于众包的软件开发问题自动应答方法 Active CN105117398B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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