【技术实现步骤摘要】
一种基于支持向量机的对话语句正确性评价方法
本专利技术涉及开发者对话内容中语句正确性的评价方法,尤其针对大型软件在演化过程中,开发者的讨论与交流历史中语句的正确性,提出的一种基于支持向量机的对话语句正确性评价方法。
技术介绍
随着当今信息技术的不断发展,软件的规模在不断扩大,软件的演化需求也在不断提速。大规模软件的频繁演化使得协同开发成为了当前软件开发的主要形式。开发人员需要经常通过频繁的沟通和讨论来完成协同开发,长期运营的软件团队会将这些沟通和讨论进行记录,从而为之后软件的维护和开发提供参考。Ubuntu开发者经常使用的Lanuchpad网站,Apache相关软件团队维护的错误报告管理网站Jira,以及大多数软件开发团队维护的MailList,都记录了开发人员在软件演化过程中,以对话形式开展的,针对各种问题的讨论。这些开发者的对话历史可以帮助开发人员减少在处理类似问题时的时间与开销,同时也可以作为大量学术科研领域的数据资料。RaymondPLBuse等人的工作《Automaticallydocumentingprogramchanges》以及EiriniKalliamvakou等人的工作《Opensource-stylecollaborativedevelopmentpracticesincommercialprojectsusingGitHub》指出,诸如错误报告管理系统,以及MailList这样的开发者对话历史做为软件的重要数据资料之一,为软件的开发维护,开发人员的协同和调度提供了非常大的帮助。但是,由于这些对 ...
【技术保护点】
1.一种基于支持向量机的对话语句正确性评价方法,其特征在于,包括以下步骤:/n步骤一、从错误报告或邮件列表管理网站上获取包含完整讨论过程的错误报告或邮件列表,并根据标点符号队所获得的数据进行分句,得到待标注数据;/n步骤二、从待标注数据进行语气标注肯定或者否定,并获得肯定语气标注和否定语气标注两类数据各至少5000个进行人工打标数据;/n步骤三、通过统一大小写、标点符号,停用词去除和单词词根提取对数据进行标准化,构建支持向量机的训练集;/n步骤四、通过调节参数和利用所获得的训练数据,训练支持向量机;/n步骤五、根据对话中明确的引用关系和关键词共享,获取对话历史中的评价关系,明确评论者语句和被评价语句;/n步骤六、根据评价者语句的观点分数,以及评价者语句的正确性得分,对被评价的语句正确性进行评估。/n
【技术特征摘要】
1.一种基于支持向量机的对话语句正确性评价方法,其特征在于,包括以下步骤:
步骤一、从错误报告或邮件列表管理网站上获取包含完整讨论过程的错误报告或邮件列表,并根据标点符号队所获得的数据进行分句,得到待标注数据;
步骤二、从待标注数据进行语气标注肯定或者否定,并获得肯定语气标注和否定语气标注两类数据各至少5000个进行人工打标数据;
步骤三、通过统一大小写、标点符号,停用词去除和单词词根提取对数据进行标准化,构建支持向量机的训练集;
步骤四、通过调节参数和利用所获得的训练数据,训练支持向量机;
步骤五、根据对话中明确的引用关系和关键词共享,获取对话历史中的评价关系,明确评论者语句和被评价语句;
步骤六、根据评价者语句的观点分数,以及评价者语句的正确性得分,对被评价的语句正确性进行评估。
2.根据权利要求1所述的基于支持向量机的对话语句正确性评价方法,其特征在于,所述获取步骤一中待标注数据方法为:
(1)从错误报告管理网站https://issues.apache.org/jira/secure/Dashboard.jspa上获取关于bug的讨论过程作为待标注数据,需要获取至少10000个错误报告中的讨论内容,讨论内容包括全部的错误描述和讨论内容;
(2)对所获取讨论历史进行筛选,只保留状态为“Closed”的错误报告;
(3)根据符号‘,’,‘.’,‘?’,‘!’对语句进行分句,其中,当‘.’作为单词的一部分出现时,不作为划分单元。
3.根据权利要求1所述的一种基于支持向量机的对话语句正确性评价方法,其特征在于,所述获取步骤二中人工打标数据方法为:
(1)对同一组数据进行标注,标注内容为肯定或者否定,标注依据为句子中包含明确的肯定或者否定词语,不能明确判断语气的语句不作标注并舍弃;
(2)根据所有标注人员的标注获得语句的标签;语句被任一人员舍弃,则舍弃该语句;语句被所有人员同时认定为肯定,则语句标签为肯定;被同时认定为否定,则标签为否定,标注人员出现意见不同的语句舍弃;
(3)具有肯定与否定标签的语句,应分别不少于5000个;如果少于,则转步骤(1),直至肯定与否定标签分别达到5000个;
(4)取肯定标签与否定标签的语句各5000个作为训练数据。
4.根据权利要求1所述的一种基于支持向量机的对话语句正确性评价方法,其特征在于,所述步骤三中数据标准化方法为:
(1)将训练数据中所有单词统一为小写;
(2)去除标点符号,保留单词内部连接号、函数调用关系符号“.”;
(3)去除停用词,停用词列表使用RankNL提供的常用英文停用词列表;
(3)统一单词时态,保持单词词根,单词时态统一采用python中,nltk扩展包中,stem函数实现。
5.根据权利要求1所述的一种基于支持向量机的对话语句正确性评价方法,其特征在于,所述步骤四中对支持向量机的参数设置与训练包括以下步骤:
(1)支持向量机使用python数据库中,sklearn扩展包中的svm组件来实现,Python版本取3.5及以上;
(2)支持向量机的参数设置如下:
C=10.0,cache_size=200,class_weight=None,coef0=0.0,decision_function_shape=None,degree=3,gamma='auto',kernel='rbf',max_iter=-1,probability=True,random_state=None,shrinking=True,tol=0.001,verbose=False;
(3)将包含肯定标签与否定标签的语句各不少于5000个的训练数据输...
【专利技术属性】
技术研发人员:李姗姗,毛晓光,董威,刘浩然,陈振邦,陈立前,尹良泽,文艳军,刘万伟,贾周阳,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。