基于Crowdsourcing的用户需求挖掘与分析文献综述
2020-04-30 16:14:40
众包(Crowdsourcing)是互联网时代的新生事物,正深刻地改变着传统生产组织形式。准确来说,它是指从一广泛群体,特别是在线社区中获取所需想法、服务或内容贡献的实践,它与外包(Outsourcing)的区别是,它将任务分解和分配于一个公众的、未加定义的群体而非某一特定群体。这样做的好处是我们能够从一个不加干预的、纯面向使用者的角度汲取意见与需求,从而改进我们的项目,提高实际工程中的效率。由于Crowdsourcing的种种优势,基于Crowdsourcing的需求工程应运而生。需求工程指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征,因此在结合Crowdsourcing后,需求工程有了更加纯粹、更加稳定、更加有效而直接的数据来源,这对于需求工程来说无疑是一大助力。
在国内外,已经有许多学者着手研究需求工程与Crowdsourcing结合的问题,并且已经取得了一些不错的成果。例如,Snijiders在2015年的研究中指出需求诱导(requirements elicitation)是需求工程当中最为重要的一个环节,因此在各大众包平台的开放用户论坛成为了很好的容器;Vlas和Robinson在2012年的研究中提出一种基于规则的自然语言处理策略用于开源软件开发项目中的需求发现和分类[16];Adepetu等人于2014年引入了一个通用的Requirement engineering众包平台CrowdREquire[17],为众包的发展做了很大贡献。
值得关注的是,当下用户需求的主要体现窗口仍然是各种途径的自然语言,其中以书面的自然语言(如评论数据)为主,因此当面对需求数据时,不可避免地就要面对自然语言的处理过程,传统的自然语言处理方法非常多,例如朴素贝叶斯、SVM等,近年来随着深度学习的迅速风靡,神经网络在文本领域的作用也越来越得到体现,其中,KimY提出了一种运用于文本处理的浅层、能抵抗过拟合的并且效果良好的神经网络结构[3]。
针对当下结合Crowdsourcing与需求工程的研究背景,其中一个最主要亟待突破的领域就是文档的分类问题,而运用于该领域的文档分类并不像已有的类似于情感分类一样清晰可分,该问题本身的分类类别、针对不同项目的关键字提取等等都是非常模糊的。因此本课题拟解决基于Crowdsourcing的需求工程中用户需求的自动分类问题,即在需求工程基本原理的指导下,完成对非结构化的、自由文本的用户需求的抽取、分类等过程,旨在寻找一个科学而有效的类别划分方式,并且获取有效标注数据集,在此基础上能够运用神经网络等机器学习方法对文本数据进行分类操作,力求在数据集非常受限并且需要把监督性标注的大背景下,训练出一个效果拔群的需求工程用户需求分类模型,从而能够使需求工程能够更好地利用到Crowdsourcing的种种优点,推动需求工程的发展。
{title}2. 研究的基本内容与方案
{title}研究(设计)基本内容:首先是针对需求工程,需要确定一个科学、有效的类别划分,有助于后续的分类工作;其次是数据集的获取和标注工作,由于是一个较为新的领域,现在并没有大型的典型数据集,且类别标注模糊,仍然缺乏统一标准;最后,本课题研究重点在于对卷积神经网络的研究,针对标注数据量严重缺乏的现状,为避免严重的过拟合现象,不能采用经典的大型卷积神经网络结构,要尽可能减少训练参数,提升训练过程中验证集上的准确度的可靠性,将卷积神经网络运用于需求文档的分类,力求在数据量非常有限的情况下训练出一个效果拔群的分类器。
研究目标:本课题主要研究神经网络在文本处理领域的运用,寻找根据需求文本进行自动分类的方法,拟充分利用卷积神经网络的局部特征提取能力进行需求文本的分类,通过合理的卷积神经网络结构的设计和参数的调整,训练出一个或一组分类性能优良的模型。
拟采用技术方案及措施:针对三方面,首先是类别的划分,本课题拟阅读近年来国内外较为出色的需求工程论文,获取关于类别信息,加以稍微调整,整理出一个合理的类别划分;其次是数据集的获取,拟在国外用户量较大的众包平台上获取用户针对不同项目的评论数据,辅以半监督方式进行文本的类别标注;最后也是最重要的神经网络部分,拟采用卷积神经网络作为本课题的训练方法,为避免严重过拟合现象,因此降低网络深度,采用浅层卷积 池化的网络进行训练,同时借助dropout和L2正则来降低过拟合风险,卷积神经网络的实现采用python tensorflow anaconda来实现。
3. 参考文献1. Zhou Y, Gu R, Chen T, et al. Analyzing APIsDocumentation and Code to Detect Directive Defects[C]// InternationalConference on Software Engineering. IEEE Press, 2017:27-37.
2. Maalej W, Nabil H.Bug report, feature request, or simply praise? On automatically classifying appreviews[C]// Requirements Engineering Conference. IEEE, 2015:116-125.
3. Kim Y. ConvolutionalNeural Networks for Sentence Classification[J]. Eprint Arxiv, 2014.