999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GitHub的開發人員提交評論情感分析

2018-04-24 07:58:45楊紅
現代計算機 2018年8期
關鍵詞:情感分析

楊紅

(四川大學計算機學院,成都 610065)

0 引言

GitHub是一個基于網頁的提供版本控制存儲和托管服務的Git,根據GitHub 2017年發布的年度報告顯示,目前GitHub社區開發者已經達到2400萬,150萬個組織機構包括Microsoft、Facebook、Google和Apple等全球科技巨頭,超過6700萬個資源庫信息,自2016年9月以來提交行為到達10億次[1],且這些數目還在迅速增長。托管在GitHub上面的項目可以通過標準的Git命令進行訪問和操作,同時GitHub還提供一系列社交網絡具有的功能,例如贊、關注和評論等,在開源世界中享有深遠的聲望,逐漸形成了自己的社交化編程文化(Social Coding),用戶可以通過使用GitHub的發現(Explore)或者搜索功能發現感興趣的內容,之后選擇復刻他人項目參與到開發中。

軟件開發是一個參與者高度合作的過程,開發過程中不乏交流分享。在GitHub中,開發者們可以通過提交評論(Commit Comments)來表達他們的觀點,開發者可以表達對項目的滿意程度或者提出在開發過程中遇到的問題,這些評論信息表達了開發者們的情感色彩和情感傾向性,如喜怒哀樂等,通過開發者們發表的提交評論的情感分析,我們希望挖掘其中潛在的規律。

本文從分析GitHub上提交評論的角度出發,使用情感分析工具SentiStrength進行情感打分,對軟件開發過程中的影響因素進行了分析,提出了提交評論頻率和提交評論最大惰性時間對項目情感打分的影響進行了分析。

1 相關研究

隨著開源軟件的快速發展,世界各地的開發者都通過互聯網參與到項目的協作開發中,同時GitHub作為目前最為流行的代碼托管和社交編程網站,也得到了眾多開發者的青睞。Zhang Yang[2]等研究了GitHub中@提及符號對軟件開發的影響,選取GitHub上的兩個項目Ruby on Rails和AngularJS數據,通過定性和定量分析得出@提及符號吸引了更多的參與者,尤其在困難的問題上使用較多,促進開發人員之間的協作。Ray Baishakhi[3]等研究了GitHub中編程語言對軟件質量的影響,收集了GitHub中17種語言的728個項目,29000作者和150萬提交的大量數據,將多元回歸建模與可視化文本分析相結合,通過控制如團隊規模、項目規模和項目歷史等的證明編程語言對軟件質量有適當顯著的影響。

Emitza Guzman[4]等通過定量情緒總結研究了軟件開發團隊中成員情緒,將概率建模與情感分析技術相結合,自動提取和總結在協作工件中表達的情感,實驗使用三個開發團隊在三個月內產生的1000個提交信息,缺陷報告,郵件和Twitter信息。崔安頎[5]提出了基于情感記號的情感詞典構造與情感分析方法,提出不穩定性程度、在線話題可能性程度與標簽作者信息熵這三種度量,使用標簽分類發現微博熱點事件。

2 研究方法

2.1 研究數據

GitHub擁有數據量龐大的開源軟件倉庫,對于其中開源軟件的數據采集有多種方法,例如爬蟲抓取和GitHub API等,本文使用的方法是調用GHTorrent[6-7],使用Google BigQuery來,獲取GHTorrent上的數據,BigQuery可以使用類似SQL語句的方法來對GHTor?rent的MySQL數據庫進行查詢,同時對查詢結果提供CSV和JSON格式下載。圖1為數據采集過程中主要涉及的4張表的關系。

圖1 數據表關系圖

GHTorrent監控著GitHub上的每一次更改,并且將每一次的更改以JSON字符串的形式存儲在Mon?goDB數據庫中,通過公開的GHTorrent on the Google Cloud,在BigQuery中使用如下所示的部分SQL語句進行查詢:

通過執行上述SQL語句,可以獲得項目名稱,提交作者ID,提交ID,提交評論者ID,評論內容和評論創建時間等信息。

對于獲取的研究數據,由于存在部分內容缺失和評論使用非常規語言造成原始數據下載亂碼情況,因此對數據進行預處理操作,刪除其中的亂碼數據,通過git log查詢補全部分數據缺失信息。

2.2 研究工具

(1)SentiStrength

SentiStrength是一種詞匯情感提取工具,已經有研究證明SentiStrength對于處理短文本具有很高的精度,例如在Twitter和電影評價中。通過對GitHub中的提交評論樣本進行隨機抽取手工查看,結果顯示這些評論內容通常都比較簡短而且廣泛使用表情,而SentiSt?rength除了提供文字的分析外,還可以對文字表情比如:)等進行分析,因此選用SentiStrength可以極好地分析開發者的提交評論情感。

在SentiStrength中,有一個字典中存儲了各個單詞和常用的表情符號分配的固定分數,其中帶有積極情緒的詞組情感分值賦值范圍為[1,5],其中5分代表情感極其正面,而帶有消極情緒的賦值范圍則為[-5,-1],其中-5分代表情感極其負面,(-1,1)表示中性情感。對于在文本中同時出現積極情緒和消極情緒傾向的觀點時,SentiStrength會使用字典中配置好的情感詞表,否定詞表,程度副詞表,疑問詞表和常用表情符號等非規范化用語詞表來計算得出文本的積極情緒和消極情緒強度。表1表示SentiStrength情感強度度量信息。

表1 SentiStrength情感強度度量信息表

表2表示了采集數據中典型的Commit Comments的情感得分。

3 開發人員提交評論的頻率研究

對于開發人員提交評論的頻率研究,主要采用了類似商品條形碼的形式分析,可以有效地表示開發人員提交評論的可視化,可視化圖形由長度相等的平行豎線段組成,這些豎線從左至右分別按照時間順序依次排列,時間以天作為基本單位,其中一條豎線代表對應的這天有開發人員進行提交評論操作,顏色的深淺則表示當天的提交評論次數多少,顏色越深代表當天提交次數越多,空白則表示在對應的時間內沒有提交評論發生。由于頻率分析結果類似于商品條形碼,因此被稱為頻率條形碼可視化。圖2表示實驗中一個頻率條形碼可視化分析結果。

表2 典型Commit Comments情感分析

圖2 頻率條形碼可視化

4 項目提交評論情感分析

對于項目提交評論的情感分析,主要采用SentiSt?rength工具進行分析,將GHTorrent上獲取的數據導入SentiStrength工具中。實驗表明,每個項目的平均得分提交評論平均情感得分傾向于中性分數0,因為很多評論都是描述技術方面,開發者在進行技術交流的時候也只會有輕微的情感傾向,圖3表示實驗數據中6個項目的平均情感得分,圖4描述6個項目的情感得分分布情況。

圖3 部分項目平均情感得分

圖4 項目情感得分分布情況

5 開發人員提交評論因素與評論情感相關性分析

5.1 影響因素定義與相關性分析框架

(1)影響因素定義

定義1:評論提交頻率(CCF)

項目評論提交頻率指的是每月提交評論數,可由如下公式計算獲得:

其中,PC_ALL表示項目提交評論總數,M_NUM表示項目提交評論總間隔月數。

定義2:最大惰性時間占比(MIT)

最大惰性時間占比指的是項目未有評論提交的最大時間間隔占項目總時間的比率,可由如下公式計算獲得:

其中,ITend表示最大惰性區間結束時間,IT_start表示最大惰性區間開始時間,D_NUM表示項目總時間。

(2)相關性分析框架

本文進行的分析框架如圖5所示,主要包括數據收集,數據預處理,處理硬性因素數據和影響因素相關性分析四個主要步驟,其中數據收集包括查詢數據和獲取及保存數據兩步。

5.2 實驗結果

通過選取實驗評價指標,分析項目情感得分與項目提交評論頻率和最大惰性時間占比之間的關系。按照本文提出的相關性分析框架進行實驗之后得到的提交評論因素與評論情感相關性如圖6所示。

實驗共選取GitHub上76個開源項目共計3941條評論進行相關性分析,從圖6可以看出,項目開發人員評論情感得分是由其評論頻率和評論最大惰性時間占比共同影響的,當提交評論頻率越大同時評論最大惰性時間占比越小時,也就是開發人員大量對項目進行討論并且持續參與討論時,這樣的項目往往能獲得較高的情感得分。因此對于開發者來說,在進行項目Fork時,建議選擇提交評論較頻繁且評論惰性區間較小的項目進行開發學習。

5.3 對GitHub開源軟件開發過程的建議

利用本文得出的結論進行進一步思考,對于開發者在對GitHub開源軟件開發過程中提出幾點建議。

(1)盡量提高開發者評論的頻率,這樣或有利于開發者進行積極討論,有助于項目難題解決和順利推進;

圖5 相關性分析框架

(2)盡量在開發過程中進行持續性的討論,這樣或有利于開發者協同跟進項目進度,盡快發現解決問題,從而提高開發效率;

(3)開發者盡量進行友好的討論氛圍,在討論問題時集中焦點,集中解決難題,有助于開發進度提升。

圖6 開發人員提交評論因素與評論情感相關性分析

6 結語

本文主要對開源社區GitHub中的提交評論行為進行情感分析,分析了開發者提交評論頻率與評論最大惰性時間占比與項目情感得分之間的關系,通過調用GHTorrent進行實驗數據獲取,利用SentiStrength工具進行情感分析,實驗得出了一些對GitHub開源軟件開發過程的有力結論。由于GitHub軟件開發過程復雜,本文分析的影響因素還需要在后續工作中改進,考慮多影響因素之間的相關性。

參考文獻:

[1]https://octoverse.github.com/.

[2]Zhang Y,Wang HM,Yin G et al.Social Media in GitHub:the role of@-mention in Assisting Software Development.Science China-Information Sciences,2017:60-3.

[3]Ray B,Posnett D,Devanbu P,Filkov V.A Large-Scale Study of Programming Languages and Code Quality in GitHub.Communications of the ACM,2017:91-100.

[4]E.Guzman and B.Bruegge.Towards Emotional Awareness in Software Development Teams.In Foundations of Software Engineering-FSE'13,pages 671-674,2013.

[5]崔安頎.微博熱點事件的公眾情感分析研究[D].清華大學,2013.

[6]Georgios Gousios,Bogdan Vasilescu et al.Lean GHTorrent:GitHub Data on Demand.MSR'14.2014.

[7]http://ghtorrent.org/

猜你喜歡
情感分析
隱蔽失效適航要求符合性驗證分析
如何在情感中自我成長,保持獨立
被情感操縱的人有多可悲
失落的情感
北極光(2019年12期)2020-01-18 06:22:10
情感
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
如何在情感中自我成長,保持獨立
電力系統及其自動化發展趨勢分析
情感移植
發明與創新(2016年6期)2016-08-21 13:49:38
中西醫結合治療抑郁癥100例分析
主站蜘蛛池模板: 91精品国产情侣高潮露脸| 精品国产aⅴ一区二区三区| 色综合天天娱乐综合网| 国产精品亚洲一区二区三区z| 一本大道东京热无码av| 日本一区二区三区精品AⅤ| 久久福利片| 色亚洲成人| 久久一日本道色综合久久| 久草性视频| 亚洲无码精彩视频在线观看| 成人在线视频一区| 国产拍揄自揄精品视频网站| 国产剧情一区二区| 91福利一区二区三区| 久久黄色毛片| 国产午夜看片| 日韩精品毛片| 日韩经典精品无码一区二区| 国产自无码视频在线观看| 欧美精品伊人久久| 国产精品久久自在自线观看| 在线人成精品免费视频| 五月婷婷导航| 亚洲色图欧美在线| 一本大道在线一本久道| 无码 在线 在线| 国产天天射| 欧美一区二区精品久久久| 亚洲人成色77777在线观看| 国产v精品成人免费视频71pao| 欧美精品不卡| 国产精品露脸视频| 国产不卡一级毛片视频| 无码免费试看| 无码高清专区| 国产在线观看高清不卡| 免费黄色国产视频| 日韩欧美中文在线| 国产无码在线调教| 欧美成人亚洲综合精品欧美激情 | 国产H片无码不卡在线视频| 日韩av手机在线| 国产视频自拍一区| 999福利激情视频| 欧美日韩综合网| 蜜臀AV在线播放| Aⅴ无码专区在线观看| 在线观看av永久| av在线无码浏览| 亚洲欧洲日本在线| 99re66精品视频在线观看 | 亚洲久悠悠色悠在线播放| 99精品在线看| 亚洲男人天堂2020| 国产成人亚洲精品蜜芽影院| 免费人成视网站在线不卡| 狼友av永久网站免费观看| 婷婷在线网站| 亚洲浓毛av| 久久久黄色片| 无码高潮喷水专区久久| 大乳丰满人妻中文字幕日本| 久久免费精品琪琪| 欧美国产在线看| 91外围女在线观看| 国产精品区网红主播在线观看| 国产高清不卡| 国产青青操| 五月天福利视频| 国产一区二区色淫影院| 亚洲人成色在线观看| 国产99欧美精品久久精品久久| 欧美福利在线观看| 在线国产毛片手机小视频| 久久国产精品无码hdav| 国产性爱网站| 欧美一级黄色影院| 青青草原国产av福利网站| 欧美成人一区午夜福利在线| 国产资源免费观看| 中文无码毛片又爽又刺激|