• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    考慮開(kāi)發(fā)者興趣遷移的開(kāi)源項(xiàng)目推薦方法

    2021-03-21 05:12:00趙佳斌趙海燕陳慶奎
    關(guān)鍵詞:開(kāi)發(fā)者開(kāi)源建模

    趙佳斌,趙海燕,曹 健,陳慶奎

    1(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院 上海市現(xiàn)代光學(xué)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室光學(xué)儀器與系統(tǒng)教育部工程研究中心,上海 200093) 2(上海交通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,上海 200030)

    1 引 言

    開(kāi)源軟件已經(jīng)成為軟件開(kāi)發(fā)與應(yīng)用中的重要模式.隨著開(kāi)源項(xiàng)目托管系統(tǒng)如GitHub等的發(fā)展和普及,使得開(kāi)源項(xiàng)目的數(shù)量大幅增加,開(kāi)源社區(qū)也隨之受益.在開(kāi)源項(xiàng)目托管系統(tǒng)中,開(kāi)發(fā)者可以對(duì)感興趣的項(xiàng)目關(guān)注、分叉[1],在完成了一個(gè)功能的開(kāi)發(fā)或者漏洞的修復(fù)后可進(jìn)行提交.開(kāi)源社區(qū)通過(guò)分叉和pull-request將項(xiàng)目的修改與整合功能分開(kāi),這樣的模式吸引了大量的開(kāi)發(fā)者,也便于他們參與貢獻(xiàn)[2,3].開(kāi)發(fā)者也可以創(chuàng)建自己的公共倉(cāng)庫(kù),吸引其他的開(kāi)發(fā)者參與貢獻(xiàn).因此,開(kāi)發(fā)者的積極參與造就了許多繁榮的開(kāi)源社區(qū).

    開(kāi)發(fā)者參與開(kāi)源項(xiàng)目有著不同的需求和目的,例如專業(yè)的軟件開(kāi)發(fā)人員會(huì)尋找新的編程挑戰(zhàn)或者是商業(yè)機(jī)會(huì),而初學(xué)者會(huì)利用社區(qū)中的優(yōu)質(zhì)資源來(lái)學(xué)習(xí)新的技能、提高能力等[4].為了尋找適合自己并有興趣的項(xiàng)目,開(kāi)發(fā)者需要花費(fèi)時(shí)間在大量的項(xiàng)目中進(jìn)行尋找和決策.為了給這些開(kāi)發(fā)者提供幫助,開(kāi)源項(xiàng)目推薦系統(tǒng),它能幫助開(kāi)發(fā)人員有效地發(fā)現(xiàn)那些潛在的、他們感興趣的開(kāi)源項(xiàng)目.近年來(lái),不少研究者提出了針對(duì)開(kāi)源項(xiàng)目的推薦方法,如基于協(xié)同過(guò)濾的方法[6].然而,區(qū)別于傳統(tǒng)的電子商務(wù)推薦系統(tǒng),開(kāi)發(fā)者通常不會(huì)對(duì)大量的開(kāi)源項(xiàng)目貢獻(xiàn),這就使得開(kāi)發(fā)者-項(xiàng)目的關(guān)聯(lián)矩陣較為稀疏.因此,研究者提出了根據(jù)開(kāi)發(fā)者的行為對(duì)開(kāi)發(fā)者的興趣進(jìn)行建模的方法[7,8],考慮項(xiàng)目的編程語(yǔ)言、主題等對(duì)開(kāi)發(fā)者興趣建模的方法[9,10]等.這些方法的核心是基于開(kāi)發(fā)者的歷史項(xiàng)目來(lái)對(duì)開(kāi)發(fā)者進(jìn)行興趣建模.

    然而,開(kāi)發(fā)者在開(kāi)源社區(qū)中的興趣是發(fā)生變化的.例如,出于能力拓展的需要,開(kāi)發(fā)者可能會(huì)在小規(guī)模的開(kāi)源項(xiàng)目中得到鍛煉后,切換到更大規(guī)模的項(xiàng)目.又如,新的編程語(yǔ)言出現(xiàn)后,開(kāi)發(fā)者可能會(huì)進(jìn)入該語(yǔ)言的開(kāi)源項(xiàng)目.目前提出的方法通過(guò)對(duì)一個(gè)開(kāi)發(fā)者的歷史項(xiàng)目進(jìn)行分析難以反映其興趣遷移.

    本文提出了一種混合方法來(lái)揭示開(kāi)發(fā)者群體中存在的興趣遷移,首先對(duì)開(kāi)源項(xiàng)目采用概率主題模型的方法進(jìn)行主題建模,其次對(duì)其中存在的主題順序模式進(jìn)行挖掘從而形成開(kāi)發(fā)者群體的興趣遷移模式.在此基礎(chǔ)上,可以根據(jù)開(kāi)發(fā)者的歷史項(xiàng)目信息預(yù)測(cè)其感興趣的項(xiàng)目,然后結(jié)合開(kāi)發(fā)者的社交關(guān)系及項(xiàng)目流行度這兩項(xiàng)特征對(duì)候選池中的項(xiàng)目做排序進(jìn)而實(shí)現(xiàn)最相關(guān)的前N個(gè)開(kāi)源項(xiàng)目的推薦.

    2 相關(guān)工作

    推薦系統(tǒng)已經(jīng)存在了很長(zhǎng)一段時(shí)間了,軟件工程中的推薦系統(tǒng)近年來(lái)也逐漸得到了重視,為開(kāi)發(fā)者推薦開(kāi)源項(xiàng)目也引起了研究者的興趣.

    協(xié)同過(guò)濾是推薦系統(tǒng)的重要算法之一,它基于如下假設(shè):如果兩個(gè)用戶執(zhí)行相似的操作,那么他們也更有可能以相同的方式執(zhí)行其他操作.文獻(xiàn)[5]就采用了協(xié)同過(guò)濾的推薦思想,他們根據(jù)開(kāi)發(fā)者行為構(gòu)建了用戶行為矩陣,如果開(kāi)發(fā)者參與過(guò)該項(xiàng)目則評(píng)分為1,否則為0.然后,基于項(xiàng)目協(xié)同過(guò)濾方法進(jìn)行TopN推薦.由于該矩陣的高度稀疏性,其實(shí)際性能不高.

    為了揭示什么類型的行為數(shù)據(jù)適合用于項(xiàng)目推薦,文獻(xiàn)[6]中分析了在GitHub開(kāi)源社區(qū)中開(kāi)發(fā)者的多種不同行為,這些行為主要包括了分叉、關(guān)注、問(wèn)題評(píng)論、推拉請(qǐng)求、成員等.在經(jīng)定量和定性的實(shí)驗(yàn)分析后,他們發(fā)現(xiàn)分叉行為適合推薦相關(guān)項(xiàng)目.文獻(xiàn)[7]進(jìn)一步研究了開(kāi)發(fā)者的分叉行為.分叉行為主要用于對(duì)原項(xiàng)目進(jìn)行貢獻(xiàn),調(diào)查結(jié)果顯示42%的開(kāi)發(fā)者表示自動(dòng)化推薦功能能夠有效幫助他們選擇項(xiàng)目進(jìn)行分叉操作;分叉的主要原因是開(kāi)發(fā)者想要修改項(xiàng)目發(fā)起推拉請(qǐng)求并對(duì)項(xiàng)目做貢獻(xiàn);分叉行為不會(huì)產(chǎn)生不正當(dāng)競(jìng)爭(zhēng)以及版本兼容性問(wèn)題.他們的工作為開(kāi)源社區(qū)中的項(xiàng)目個(gè)性化推薦提供了新的見(jiàn)解.文獻(xiàn)[8]采用了一種結(jié)合開(kāi)發(fā)人員行為以及項(xiàng)目特征的推薦方法,從項(xiàng)目所包含的描述文件在內(nèi)的多種不同文件中提取項(xiàng)目特征進(jìn)而構(gòu)建項(xiàng)目相似矩陣,通過(guò)開(kāi)發(fā)者行為構(gòu)建開(kāi)發(fā)者項(xiàng)目關(guān)聯(lián)矩陣,同時(shí)還考慮了開(kāi)發(fā)者反饋來(lái)提高推薦的準(zhǔn)確率.

    開(kāi)源項(xiàng)目的內(nèi)容特征也可以用于揭示開(kāi)發(fā)者的興趣.文獻(xiàn)[9]使用了協(xié)同主題回歸的方式即結(jié)合用戶矩陣的傳統(tǒng)協(xié)同過(guò)濾與文本語(yǔ)料庫(kù)上的概率主題建模.文中提到的方法還為開(kāi)發(fā)者和項(xiàng)目提供了高度可解釋的潛在結(jié)構(gòu).文獻(xiàn)[10]考慮了開(kāi)源項(xiàng)目中出現(xiàn)的編程語(yǔ)言、主題和自述文檔,提出了一種混合方法來(lái)生成開(kāi)源項(xiàng)目的推薦,最終的項(xiàng)目相似性為3種不同相似性的線性組合.具體做法是分別構(gòu)建語(yǔ)言向量、主題向量和項(xiàng)目自述文件向量,同時(shí)也為開(kāi)發(fā)者構(gòu)建在這3個(gè)特征上的向量,然后計(jì)算得到最終的項(xiàng)目排序.文獻(xiàn)[11,12]主要關(guān)注項(xiàng)目的描述及源代碼來(lái)推薦開(kāi)源項(xiàng)目,忽略了開(kāi)發(fā)者的個(gè)性化需求.文獻(xiàn)[13]則用到了關(guān)聯(lián)規(guī)則挖掘的思想并結(jié)合了協(xié)同過(guò)濾,使用關(guān)聯(lián)規(guī)則挖掘共同參與的項(xiàng)目,而協(xié)同過(guò)濾被用于確定相似的項(xiàng)目.文獻(xiàn)[14]提出了一種基于深度學(xué)習(xí)的項(xiàng)目推薦方法,采用自動(dòng)編碼器來(lái)學(xué)習(xí)開(kāi)發(fā)者與開(kāi)源項(xiàng)目的向量表示.

    不同于上述的工作,本文關(guān)注開(kāi)發(fā)者在參與不同開(kāi)源項(xiàng)目中存在的興趣遷移模式,提出了一種基于項(xiàng)目主題遷移頻繁模式挖掘的推薦算法.

    3 基于項(xiàng)目主題遷移頻繁模式挖掘的推薦算法

    3.1 算法思想

    本文提出的算法關(guān)注了開(kāi)發(fā)者參與不同開(kāi)源項(xiàng)目的行為序列,在選擇項(xiàng)目的過(guò)程中會(huì)存在一定的規(guī)律和模式,通過(guò)主題建模的方式將開(kāi)發(fā)者所參與的開(kāi)源項(xiàng)目映射到不同的主題,由此開(kāi)發(fā)者參與的項(xiàng)目序列轉(zhuǎn)化為主題序列;對(duì)不同的主題序列進(jìn)行順序模式挖掘,找到社區(qū)中開(kāi)發(fā)者在選擇項(xiàng)目時(shí)的順序頻繁主題模式;然后用一種打分機(jī)制對(duì)產(chǎn)生的候選項(xiàng)目進(jìn)行打分,具體來(lái)說(shuō)就是融合開(kāi)發(fā)者社交關(guān)聯(lián)和項(xiàng)目流行度對(duì)項(xiàng)目進(jìn)行綜合打分,最后將得分最高的前N個(gè)項(xiàng)目作為最終的推薦結(jié)果.方法框架如圖1所示.

    圖1 算法框架Fig.1 Algorithm framework

    3.2 項(xiàng)目主題抽取

    在該方法中,首先對(duì)開(kāi)源項(xiàng)目的主題進(jìn)行挖掘,將類似的項(xiàng)目映射到同一個(gè)主題.用到的方法是LDA(Latent Dirichlet Allocation)概率主題模型,它是對(duì)文本隱含主題的一種建模方法,其主要功能是將文檔-詞匯矩陣轉(zhuǎn)化成文檔-主題分布和主題-詞匯分布.3層貝葉斯主題模型通過(guò)無(wú)監(jiān)督的學(xué)習(xí)方法發(fā)現(xiàn)文本所含主題,其基本思想就是文檔可以表示成一系列主題的混合分布.LDA模型的生成過(guò)程如圖2所示:1)對(duì)每篇文檔,從主題分布中提取一個(gè)主題;2)從該主題所對(duì)應(yīng)的單詞分布中抽取一個(gè)單詞;3)重復(fù)上述操作,直至遍歷整篇文檔.算法的輸入:分詞后為文檔集,超參數(shù)α,η.算法的輸出為:1)文檔中每個(gè)詞被分配的主題編號(hào);2)文檔的概率概率主題分布;3)每個(gè)主題下詞的概率分布;4)每個(gè)主題下概率從高到低排序的特征詞.

    圖2 LDA概率主題生成模型Fig.2 LDA probabilistic topic generation model

    圖2中α,η為分布的超參數(shù),θd表示對(duì)于任意文檔d的主題分布,βk對(duì)任意主題k的詞分布,文檔主題的先驗(yàn)分布和主題中詞的先驗(yàn)分布均為Dirichlet分布.Zd,n表示對(duì)文檔d中的第n個(gè)詞在θd下得到的主題編號(hào),wd,n表示在Zd,n主題編號(hào)下詞的概率分布.其中的核心公式如公式(1)所示,公式中以主題t作為中間層,通過(guò)當(dāng)前的θd和βk給出了文檔d中出現(xiàn)單詞w的概率,用θd計(jì)算得到p(t|d),用βk計(jì)算得到p(w|t).

    p(w|d)=p(w|t)*p(t|d)

    (1)

    為了抽取開(kāi)源項(xiàng)目的主題,對(duì)融合了開(kāi)源項(xiàng)目描述、標(biāo)簽和開(kāi)發(fā)語(yǔ)言的文本文檔做基于LDA的概率主題建模,從而將項(xiàng)目對(duì)應(yīng)的文本轉(zhuǎn)化成了若干主題的分布.首先對(duì)文本做預(yù)處理,包括分詞、去除標(biāo)點(diǎn)、去停用詞、詞干還原等;其次,將經(jīng)過(guò)預(yù)處理的文本用TF-IDF做文本向量化,然后進(jìn)行LDA主題建模,輸出項(xiàng)目對(duì)應(yīng)的概率主題分布.

    LDA是一個(gè)概率主題模型,為了更多地保留項(xiàng)目的特征信息,本文在選出了每個(gè)項(xiàng)目最貼切的一個(gè)主題的基礎(chǔ)上,設(shè)置了一個(gè)閾值.具體做法是,將項(xiàng)目所對(duì)應(yīng)的多個(gè)主題分布按概率大小做排序保留大于該閾值的主題.如此,一個(gè)項(xiàng)目可能只對(duì)應(yīng)一個(gè)主題,也可能對(duì)應(yīng)多個(gè)主題.

    3.3 主題順序頻繁模式挖掘

    數(shù)據(jù)集中頻繁出現(xiàn)的項(xiàng)集、序列或子結(jié)構(gòu)稱之為頻繁模式,經(jīng)常被用于購(gòu)物籃分析、網(wǎng)頁(yè)日志分析等.本文采用順序頻繁模式挖掘的方法對(duì)項(xiàng)目的主題的序列模式進(jìn)行挖掘.開(kāi)發(fā)者的偏好變化通過(guò)參與項(xiàng)目的行為序列來(lái)凸顯,通過(guò)對(duì)開(kāi)發(fā)者參與項(xiàng)目序列的主題的挖掘可以預(yù)計(jì)開(kāi)發(fā)者在參與了某一主題的項(xiàng)目后會(huì)接著參與哪個(gè)主題對(duì)應(yīng)的項(xiàng)目.

    對(duì)開(kāi)源項(xiàng)目完成主題建模后,開(kāi)發(fā)者原本參與項(xiàng)目的行為序列由轉(zhuǎn)化為<{topic11,topic12, …,topic1k1},{topic21,topic22, …,topic2k2},…,{topicn1,topicn2, …,topicnkn}>,其中repoi表示開(kāi)發(fā)者參與的項(xiàng)目名,topicij表示項(xiàng)目i對(duì)應(yīng)的第j個(gè)主題,并且假設(shè)每個(gè)項(xiàng)目取kn個(gè)主題.本文對(duì)其中存在的順序頻繁主題模式進(jìn)行

    圖3 GSP算法流程Fig.3 GSP algorithm flow

    挖掘.順序頻繁模式挖掘的主要任務(wù)是找到數(shù)據(jù)庫(kù)中存在的所有順序模式,即在序列集合中出現(xiàn)頻率超過(guò)最小支持度的子序列.常用到的算法是GSP(Generalized Sequential Pattern mining algorithm)[16]算法,該算法增加了掃描過(guò)程中的條件約束包括時(shí)間、滑動(dòng)窗口和分類層次,是一種基于優(yōu)先級(jí)原則的算法,其中用來(lái)存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu)為哈希樹(shù).算法的輸入是主題序列數(shù)據(jù)、最小支持度閾值,輸出是順序頻繁模式.

    GSP算法的主要流程如圖3所示.

    但是,本文需要挖掘的序列是由數(shù)量不等的主題構(gòu)成的集合序列.因此,結(jié)合本文所涉及問(wèn)題的特點(diǎn),對(duì)GSP算法進(jìn)行修改.在其基礎(chǔ)上本文提出了GSP-SS(GSP for Set Sequences)算法.在主題建模的過(guò)程中,一個(gè)項(xiàng)目對(duì)應(yīng)了多個(gè)主題,例如項(xiàng)目i,在經(jīng)閾值篩選后它的第1主題為topic52,第2主題為topic16,第3主題為topic44,采用GSP-SS算法在得到順序頻繁模式的同時(shí)也會(huì)得到該頻繁模式所對(duì)應(yīng)的重要度.

    GSP-SS算法偽代碼如下:

    輸入:項(xiàng)目所對(duì)應(yīng)的主題序列數(shù)據(jù),最小支持度閾值;

    輸出:主題順序模式Li及其重要度.

    1.C1←init-pass(S);//遍歷輸入數(shù)據(jù)并產(chǎn)生1頻繁模式

    2.topicSupportArray=[repo1:[0,0,…,0k1],repo2:[0,0, …,0k2], … ,repon:[0,0,…,0kn].]

    //空數(shù)組topicSupportArray保存重要度

    3.L1←{<{l}>|l∈C1,Count(l)/n≥min_sup};

    //最小支持度閾值的判斷

    4.for(i=2,Li-1≠Φ,i++)do

    5.Ci←generate-candidate-SPM(Ci-1)

    //產(chǎn)生k-頻繁序列模式

    6.foreachs∈Sdo

    7.foreachc∈Cido

    8.ifcis contained insthen

    9. Count(c)++;//c的支持度

    10.fortopicinc:

    11.topicSupportArray[s.index][c′sindexins]++ //每出現(xiàn)一次重要度計(jì)數(shù)加1

    12.endfor

    13.endfor

    14.Li={c∈Ci|Count(c)≥min_sup};

    15.endfor

    16. sort(topicSupportArray[data sequence index:])

    //交換key,value;key填回topic

    函數(shù)generate-candidate-SPM(Ci-1)偽代碼如下:

    To generateCk//產(chǎn)生大小為k的候選項(xiàng)

    1. Join step.

    si′=si-1st //-1st,表示去掉第一個(gè)元素項(xiàng)

    sj′=sj-Last //-Last,表示去掉最后一個(gè)元素項(xiàng)

    ifsi′==sj′do

    s←Joinsi′ andsj′ // 做連接操作

    2. Prune step

    ifany subsequence ofck-1is not infrequent

    deleteck-1//做剪枝操作

    S為主題序列數(shù)據(jù),Ck為候選k-頻繁序列模式,Lk為候選k-頻繁序列模式.

    GSP-SS算法說(shuō)明:對(duì)產(chǎn)生的主題序列S數(shù)據(jù)庫(kù)進(jìn)行掃描,得到長(zhǎng)為1-主題順序模式L1并做最小支持度判斷將其作為初始種子集;對(duì)L1做連接操作并判斷是否滿足最小支持度,產(chǎn)生2-主題順序模式;用L2做連接操作產(chǎn)生3-主題順序模式,其中會(huì)有剪枝操作和最小支持度判斷;然后用3-順序主題模式L3挖掘直到不產(chǎn)生候選項(xiàng).在挖掘的過(guò)程中設(shè)置了數(shù)組topicSupportArray來(lái)存放所挖掘出主題模式的重要度,最后在得到主題順序模式的同時(shí)附帶將其重要度一并輸出.其中完成連接操作和剪切操作的generate-candiate-SPM是該算法的核心.連接階段:對(duì)于兩個(gè)順序模式Si和Sj,如果刪除Si的第一個(gè)項(xiàng)目得到序列與刪掉Sj的最后一個(gè)項(xiàng)目所得序列相同.那么對(duì)Si和Sj做連接操作.剪切階段:對(duì)于任意一個(gè)序列模式,如若它的子序列不是序列模式,那么這個(gè)序列模式就不可能成為序列模式,將其剪切即刪除掉.

    3.4 開(kāi)發(fā)者社交特征及項(xiàng)目流行度建模

    3.4.1 開(kāi)發(fā)者社交關(guān)聯(lián)

    不同于企業(yè)有組織的軟件開(kāi)發(fā)團(tuán)隊(duì),開(kāi)源軟件團(tuán)隊(duì)具有多樣性和流動(dòng)性,通常以自組織[17]的方式參與到軟件項(xiàng)目開(kāi)發(fā)中.Github開(kāi)源社區(qū)提供了包括@、關(guān)注和評(píng)論等多種方式方便開(kāi)發(fā)人員溝通和交流.

    通過(guò)使用關(guān)注功能,開(kāi)發(fā)者能關(guān)注自己感興趣的開(kāi)發(fā)者,關(guān)注開(kāi)發(fā)者能看到他們以往及近期的實(shí)踐工作,了解他們?cè)谙嚓P(guān)領(lǐng)域的貢獻(xiàn)以及研究.通過(guò)評(píng)論功能,開(kāi)發(fā)者們能夠在不同問(wèn)題下展開(kāi)討論進(jìn)而解決問(wèn)題.對(duì)自組織網(wǎng)絡(luò)的研究表明,相較于新的合作,人們更喜歡重復(fù)合作,因?yàn)樗麄冋J(rèn)為這樣的合作往往更有凝聚性.文獻(xiàn)[18]研究了社會(huì)化因素對(duì)GitHub這個(gè)新興生態(tài)系統(tǒng)的影響,包括開(kāi)發(fā)團(tuán)隊(duì)的形成已經(jīng)開(kāi)發(fā)人員的遷移等.其中社交關(guān)系的強(qiáng)度會(huì)影響開(kāi)發(fā)者的選擇,開(kāi)發(fā)人員會(huì)優(yōu)先加入存在社交聯(lián)系的項(xiàng)目.有社交關(guān)聯(lián)的開(kāi)發(fā)者們往往具有類似的興趣點(diǎn),同時(shí)基于先前的互動(dòng)或合作,開(kāi)發(fā)人員對(duì)彼此的技能和社交習(xí)慣都有更多地了解.因此,本文將開(kāi)發(fā)者的社交關(guān)系作為開(kāi)源項(xiàng)目推薦過(guò)程中考慮的因素之一.

    GitHub中所提供的項(xiàng)目issue功能是一種輕量級(jí)的協(xié)作系統(tǒng),在issue comment下可以進(jìn)行內(nèi)容豐富的交流,主要針對(duì)問(wèn)題解決、項(xiàng)目存在的Bug和下一項(xiàng)功能的增加等展開(kāi)討論.GitHub定義了pull-request為一種通知機(jī)制即你修改了他人的代碼希望原作者能合并你的修改,用pull-request來(lái)通知作者.它是一種軟件開(kāi)發(fā)合作方式,將不同功能的代碼通過(guò)這一流程納入到項(xiàng)目主干.通過(guò)其自帶的評(píng)論功能對(duì)所提交的修改進(jìn)行討論、測(cè)試并決定是否將其合并.根據(jù)社區(qū)中的參與同一個(gè)issue問(wèn)題評(píng)論、同一個(gè)pull-request評(píng)論來(lái)構(gòu)建每位開(kāi)發(fā)者的社交關(guān)系.對(duì)于開(kāi)發(fā)者u,其候選項(xiàng)目池中的項(xiàng)目i的社交關(guān)系計(jì)算如公式(2)所示:

    Social(u,i)=n(uinteract)

    (2)

    其中n(uinteract)表示在項(xiàng)目i中與之有過(guò)互動(dòng)的開(kāi)發(fā)者數(shù)量.

    3.4.2 項(xiàng)目流行度

    在開(kāi)源社區(qū)中,也存在“馬太效應(yīng)”,相比于那些冷門的項(xiàng)目,活躍的、受關(guān)注度高的開(kāi)源項(xiàng)目更容易吸引開(kāi)發(fā)者.在每個(gè)GitHub項(xiàng)目頁(yè)面的右上方有watch、star、fork這3個(gè)不同的按鈕.其中的star更像是“點(diǎn)贊”,因此本文選擇了關(guān)注和分叉的數(shù)量來(lái)評(píng)價(jià)一個(gè)項(xiàng)目的流行與否.

    Watch(關(guān)注)的數(shù)量,對(duì)于他人的項(xiàng)目默認(rèn)都是Not watching的狀態(tài),當(dāng)開(kāi)發(fā)者對(duì)該項(xiàng)目感興趣時(shí)就能選擇關(guān)注該項(xiàng)目的所有動(dòng)態(tài),例如該項(xiàng)目有開(kāi)發(fā)者提交pull request、提出了issue等,便能從系統(tǒng)推送中了解該項(xiàng)目發(fā)生的一切動(dòng)態(tài)變化.所以項(xiàng)目擁有的關(guān)注者數(shù)量能反應(yīng)其受用戶關(guān)注程度.

    Fork(分叉)的數(shù)量,當(dāng)你有了對(duì)一個(gè)項(xiàng)目做貢獻(xiàn)的想法包括增加新功能、漏洞修復(fù)或者在該項(xiàng)目的基礎(chǔ)上開(kāi)發(fā)一個(gè)自己的版本,可以點(diǎn)擊fork按鈕得到一份原項(xiàng)目的副本.

    結(jié)合關(guān)注和分叉這兩者的數(shù)量來(lái)計(jì)算項(xiàng)目的流行度,對(duì)兩者者的數(shù)量歸一化后進(jìn)行求和.對(duì)于項(xiàng)目i的流行度,計(jì)算公式如公式(3)所示:

    pop(i)=nor(n(iwatch))+nor(n(ifork))

    (3)

    其中n(iwatch)表示項(xiàng)目i關(guān)注者的數(shù)量,n(ifork)表示項(xiàng)目i分叉者的數(shù)量,nor()表示歸一化計(jì)算函數(shù).

    3.5 推薦方法

    通過(guò)概率主題建模的方法將開(kāi)發(fā)者參與的開(kāi)源項(xiàng)目映射成主題序列,將訓(xùn)練集中的開(kāi)發(fā)者參與主題序列事務(wù)集記作C={C1,C2,C3,…,Cu}其中u為開(kāi)發(fā)者人數(shù),Cu表示開(kāi)發(fā)者參與項(xiàng)目經(jīng)過(guò)主題泛化后得到的主題序列.將主題順序模式記作P,min_supp是最小支持度閾值,當(dāng)模式P的支持度大于min_supp則P為順序主題模式.采用GSP-SS算法對(duì)順序主題序列模式做挖掘,將開(kāi)發(fā)者參與的主題序列事物集作為GSP-SS算法的輸入,設(shè)置min_supp,運(yùn)行GSP-SS程序輸出主題頻繁順序模式項(xiàng),記作P={P1,P2,P3,…,Pj}其中j為產(chǎn)生的模式數(shù)量.

    采用一個(gè)多叉樹(shù)的數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)主題模式與模式庫(kù)中的模式項(xiàng)的對(duì)應(yīng)關(guān)系.將模式的候選集記作H={HP1,HP2,HP3, …,HPj}.

    對(duì)于測(cè)試集中的數(shù)據(jù),給定開(kāi)發(fā)者參與的歷史項(xiàng)目,將其映射為對(duì)應(yīng)的主題即,將其與多叉樹(shù)中存儲(chǔ)的主題模式做匹配,重復(fù)該操作得到候選推薦項(xiàng)目集合H(ri).對(duì)于產(chǎn)生的集合中的項(xiàng)目用計(jì)算評(píng)分的方法為其打分,將集合H中的項(xiàng)目按照分值做降序排列得到Top-N個(gè)推薦項(xiàng)目列表,開(kāi)發(fā)者u對(duì)項(xiàng)目ri的得分計(jì)算如公式(4)所示:

    S(u,ri)=α*nor(pop(i))+(1-α)*nor(social(u,i))

    (4)

    其中pop(i)表示項(xiàng)目的流行度,social(u,i)表示社交關(guān)聯(lián)度,α表示權(quán)重參數(shù),nor()表示歸一化函數(shù).

    算法描述如下:

    輸入:開(kāi)發(fā)者參與的歷史項(xiàng)目集合X,順序模式P;

    輸出:Top-N推薦項(xiàng)目列表.

    1.使用LDA主題模型將X轉(zhuǎn)化為C={C1,C2,C3,…,Cu};

    2.forj=1 tojdo

    3.foreachCu∈Cdo

    4.ifPjinCudo

    5.Pj在Cu中的末尾位置記作l,從X中的第l+1個(gè)位置得到ri

    6.endif

    7.endfor

    8.H←H∪HPj

    9.endfor

    10.用公式(4)為H中的項(xiàng)目打分并做降序排序

    11.returnTop-N 推薦項(xiàng)目列表

    4 實(shí)驗(yàn)與討論

    4.1 數(shù)據(jù)集

    本文使用的數(shù)據(jù)集是從GHTorrent[15]中轉(zhuǎn)儲(chǔ)得到的,GHTorrent項(xiàng)目提供了GitHub 的API數(shù)據(jù)的鏡像,可以離線查詢.它旨在用于與軟件存儲(chǔ)倉(cāng)庫(kù)有關(guān)的研究與發(fā)現(xiàn).本文選取了2016-2018年間的數(shù)據(jù),為了讓實(shí)驗(yàn)數(shù)據(jù)更具有代表性,篩選出的開(kāi)發(fā)者和開(kāi)源項(xiàng)目滿足如下條件:1)開(kāi)發(fā)者至少參與了5個(gè)不同的開(kāi)源項(xiàng)目;2)與其他開(kāi)發(fā)者有過(guò)互動(dòng)即在同一個(gè)問(wèn)題或推拉請(qǐng)求下有過(guò)討論;3)開(kāi)源項(xiàng)目為原始項(xiàng)目即不是從其他項(xiàng)目分叉而來(lái);4)開(kāi)源項(xiàng)目至少有5名開(kāi)發(fā)者參與過(guò).開(kāi)發(fā)者參與項(xiàng)目數(shù)據(jù)格式如:開(kāi)發(fā)者編號(hào)-項(xiàng)目編號(hào)-時(shí)間戳.開(kāi)源項(xiàng)目信息包含:項(xiàng)目編號(hào)、項(xiàng)目開(kāi)發(fā)語(yǔ)言、項(xiàng)目描述和項(xiàng)目標(biāo)簽.經(jīng)篩選后得到了開(kāi)發(fā)者數(shù)量18399個(gè),開(kāi)源項(xiàng)目數(shù)量23076個(gè).根據(jù)開(kāi)發(fā)者參與項(xiàng)目的時(shí)間戳的先后順序來(lái)創(chuàng)建開(kāi)發(fā)者參與項(xiàng)目序列數(shù)據(jù),根據(jù)項(xiàng)目開(kāi)發(fā)語(yǔ)言、項(xiàng)目描述和項(xiàng)目標(biāo)簽來(lái)創(chuàng)建項(xiàng)目文檔數(shù)據(jù)用作主題建模.

    關(guān)于訓(xùn)練集和測(cè)試集的劃分.本文將開(kāi)發(fā)者近一年參與的項(xiàng)目作為測(cè)試集用作實(shí)驗(yàn)的預(yù)測(cè)數(shù)據(jù),剩余的其他數(shù)據(jù)用作實(shí)驗(yàn)?zāi)P偷挠?xùn)練數(shù)據(jù).

    4.2 評(píng)價(jià)指標(biāo)采用召回率

    考慮到本文的推薦場(chǎng)景為Top-N的前N個(gè)項(xiàng)目的推薦即向開(kāi)發(fā)者提供一個(gè)推薦的列表讓其進(jìn)行選擇,故采用了召回率Recall來(lái)評(píng)價(jià)所提算法的推薦效果.召回率表示用戶感興趣的項(xiàng)目被推薦系統(tǒng)成功推薦的概率,計(jì)算公式如公式(5)所示:

    (5)

    其中R(u)為根據(jù)開(kāi)發(fā)者u在訓(xùn)練集上的表現(xiàn)向其推薦的項(xiàng)目集,T(u)為開(kāi)發(fā)者u在測(cè)試集上參與過(guò)的項(xiàng)目集.

    4.3 基準(zhǔn)推薦算法

    本文選擇了3種常見(jiàn)的推薦算法作為對(duì)比方法.

    1)基于項(xiàng)目流行度的推薦方法,該方法圍繞項(xiàng)目“熱度”展開(kāi),將對(duì)用戶有著強(qiáng)吸引力的項(xiàng)目推薦給其他開(kāi)發(fā)者.采用這一方法做推薦的主要工作就是計(jì)算每個(gè)項(xiàng)目的流行度,推薦列表為開(kāi)發(fā)者未曾參與過(guò)的流行的Top-N個(gè)開(kāi)源項(xiàng)目;

    2)基于用戶的協(xié)同過(guò)濾推薦[19],這個(gè)算法通常分為兩個(gè)步驟,首先找到與目標(biāo)開(kāi)發(fā)者相似的若干開(kāi)發(fā)者,然后將這個(gè)集合中開(kāi)發(fā)者參與過(guò)的但目標(biāo)開(kāi)發(fā)者未曾參與的項(xiàng)目作為推薦列表.設(shè)置最相似的開(kāi)發(fā)者數(shù)量K=20,相似度計(jì)算采用余弦相似性;

    3)基于內(nèi)容的推薦算法,根據(jù)開(kāi)發(fā)者做過(guò)的項(xiàng)目描述、開(kāi)發(fā)語(yǔ)言及標(biāo)簽來(lái)推薦類似的開(kāi)源項(xiàng)目,采用文本處理方法:詞頻-逆文檔頻率(TF-IDF)將文本向量化隨后計(jì)算項(xiàng)目之間的余弦相似度,推薦列為與其最相似的Top-N個(gè)項(xiàng)目.

    本文所提推薦的推薦算法,將主題個(gè)數(shù)K設(shè)置為90,主題模式挖掘中的最小支持度min_supp設(shè)置為5.

    4.4 實(shí)驗(yàn)結(jié)果分析

    不同推薦方法下實(shí)驗(yàn)結(jié)果如表1所示,采用的評(píng)價(jià)方法為召回率.

    表1 實(shí)驗(yàn)結(jié)果表Table 1 Experiment resultTable

    開(kāi)發(fā)者社交特征及項(xiàng)目流行度建模中的公式(4),不同α的取值對(duì)推薦結(jié)果的影響如圖4所示.實(shí)驗(yàn)中本文將α值設(shè)置為0.3.

    圖4 α的取值對(duì)推薦結(jié)果的影響Fig.4 Value of α versus the recommended result

    實(shí)驗(yàn)結(jié)果表明,當(dāng)推薦項(xiàng)目數(shù)量N值增大的時(shí)候,四種不同推薦方法的召回率均逐漸增大,說(shuō)明在推薦列表中開(kāi)發(fā)者感興趣的項(xiàng)目數(shù)量增多了.本文提出的基于主題模式挖掘的推薦方法在召回率上優(yōu)于其余3種對(duì)比方法,對(duì)項(xiàng)目的主題模式挖掘考慮到了開(kāi)源項(xiàng)目的內(nèi)容特征,引入的評(píng)分機(jī)制兼顧了開(kāi)發(fā)者的社交情況以及項(xiàng)目自身的流行度特點(diǎn),進(jìn)而提高了推薦效果.

    5 總結(jié)與展望

    近年來(lái),分布式軟件開(kāi)發(fā)與社交化編程得到了人們的廣泛認(rèn)可,GitHub開(kāi)源社區(qū)更是引領(lǐng)了新的開(kāi)源文化.GitHub“去中心化”的開(kāi)源模式,不斷彰顯和強(qiáng)調(diào)作為個(gè)體的開(kāi)發(fā)者的作用,鼓勵(lì)他們對(duì)他人的項(xiàng)目做修復(fù)和改進(jìn).開(kāi)源社區(qū)的壯大也使得開(kāi)源項(xiàng)目的數(shù)量大幅增加,開(kāi)源項(xiàng)目推薦系統(tǒng)能幫助開(kāi)發(fā)者找到他們有意愿參與的項(xiàng)目.

    本文提出了一種基于項(xiàng)目主題模式挖掘的推薦方法,關(guān)注了開(kāi)發(fā)者在項(xiàng)目遷移過(guò)程中存在的規(guī)律,用開(kāi)源項(xiàng)目的內(nèi)容特征為項(xiàng)目進(jìn)行主題建模,開(kāi)發(fā)者參與項(xiàng)目的項(xiàng)目序列轉(zhuǎn)化為主題序列;隨后對(duì)其中存在的主題順序模式進(jìn)行挖掘;接著融合開(kāi)發(fā)者的社交關(guān)聯(lián)和項(xiàng)目自身的流行度這兩個(gè)特點(diǎn)實(shí)現(xiàn)了Top-N個(gè)開(kāi)源項(xiàng)目推薦;最后在實(shí)驗(yàn)數(shù)據(jù)集上與傳統(tǒng)推薦方法進(jìn)行對(duì)比,推薦效果得到了有效的提升.未來(lái)的工作可以關(guān)注對(duì)項(xiàng)目的主題建模和開(kāi)發(fā)者在項(xiàng)目遷移過(guò)程中是選擇下一個(gè)項(xiàng)目的其他因素,考慮更多的文本內(nèi)容比如代碼所蘊(yùn)含的注釋、函數(shù)名等,有助于提高項(xiàng)目與主題的契合程度.

    猜你喜歡
    開(kāi)發(fā)者開(kāi)源建模
    聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃?chǎng)中做圓周運(yùn)動(dòng)”為例
    五毛錢能買多少頭牛
    基于PSS/E的風(fēng)電場(chǎng)建模與動(dòng)態(tài)分析
    電子制作(2018年17期)2018-09-28 01:56:44
    不對(duì)稱半橋變換器的建模與仿真
    大家說(shuō):開(kāi)源、人工智能及創(chuàng)新
    開(kāi)源中國(guó)開(kāi)源世界高峰論壇圓桌會(huì)議縱論開(kāi)源與互聯(lián)網(wǎng)+創(chuàng)新2.0
    16%游戲開(kāi)發(fā)者看好VR
    CHIP新電腦(2016年3期)2016-03-10 13:06:42
    開(kāi)源計(jì)算機(jī)輔助翻譯工具研究
    iOS開(kāi)發(fā)者調(diào)查
    電腦迷(2015年8期)2015-05-30 12:27:10
    iOS開(kāi)發(fā)者調(diào)查
    電腦迷(2015年4期)2015-05-30 05:24:09
    精品久久久久久久末码| 男女视频在线观看网站免费 | 美女 人体艺术 gogo| 久久精品成人免费网站| 精品欧美国产一区二区三| 法律面前人人平等表现在哪些方面| 中文资源天堂在线| 一本大道久久a久久精品| 丁香六月欧美| 老汉色∧v一级毛片| 国产高清视频在线播放一区| 久久精品国产清高在天天线| 色播亚洲综合网| e午夜精品久久久久久久| 国产探花在线观看一区二区| 一本大道久久a久久精品| 日韩精品青青久久久久久| 五月玫瑰六月丁香| 国产精品自产拍在线观看55亚洲| 黄色片一级片一级黄色片| 男女那种视频在线观看| 精品国产亚洲在线| АⅤ资源中文在线天堂| 亚洲aⅴ乱码一区二区在线播放 | 精品国产美女av久久久久小说| 国产av不卡久久| 日韩大码丰满熟妇| 色尼玛亚洲综合影院| 国产又黄又爽又无遮挡在线| 757午夜福利合集在线观看| 色在线成人网| 香蕉丝袜av| 最近最新免费中文字幕在线| 亚洲色图 男人天堂 中文字幕| 欧美黑人欧美精品刺激| 国产欧美日韩一区二区三| 久久人妻福利社区极品人妻图片| 高清毛片免费观看视频网站| 国产69精品久久久久777片 | 久久草成人影院| 黄色丝袜av网址大全| 黑人操中国人逼视频| 亚洲成人免费电影在线观看| 亚洲国产精品sss在线观看| 亚洲熟妇熟女久久| 国模一区二区三区四区视频 | 国产精品自产拍在线观看55亚洲| 免费看美女性在线毛片视频| 免费人成视频x8x8入口观看| a在线观看视频网站| tocl精华| 亚洲人成伊人成综合网2020| 欧美中文日本在线观看视频| 日本三级黄在线观看| 高潮久久久久久久久久久不卡| 波多野结衣巨乳人妻| 757午夜福利合集在线观看| 国产精品国产高清国产av| 欧美日本视频| 免费一级毛片在线播放高清视频| 91在线观看av| 夜夜看夜夜爽夜夜摸| 国产三级中文精品| 国产精品香港三级国产av潘金莲| 国产一区二区在线av高清观看| 黄频高清免费视频| 久久久国产成人免费| √禁漫天堂资源中文www| 国产精品野战在线观看| 天天一区二区日本电影三级| 久久精品91蜜桃| 国产午夜福利久久久久久| 亚洲熟女毛片儿| 特级一级黄色大片| 亚洲国产欧美网| 欧美 亚洲 国产 日韩一| 亚洲欧美精品综合一区二区三区| 床上黄色一级片| 99re在线观看精品视频| 十八禁网站免费在线| 香蕉丝袜av| 毛片女人毛片| 熟女少妇亚洲综合色aaa.| 怎么达到女性高潮| www日本在线高清视频| 久久婷婷成人综合色麻豆| avwww免费| 久久婷婷人人爽人人干人人爱| 欧美日韩乱码在线| 热99re8久久精品国产| 夜夜躁狠狠躁天天躁| 身体一侧抽搐| 精品久久久久久久毛片微露脸| 免费在线观看黄色视频的| 男女那种视频在线观看| 此物有八面人人有两片| 国产一区二区在线观看日韩 | 亚洲aⅴ乱码一区二区在线播放 | 一级毛片女人18水好多| 搞女人的毛片| 久久国产精品影院| 亚洲美女黄片视频| 国产高清视频在线观看网站| 免费看美女性在线毛片视频| a在线观看视频网站| 午夜激情福利司机影院| 国产在线精品亚洲第一网站| 搡老熟女国产l中国老女人| 亚洲精品在线美女| 精品久久久久久,| 亚洲熟妇熟女久久| 久久精品91无色码中文字幕| 欧美色欧美亚洲另类二区| 亚洲 欧美一区二区三区| 亚洲精品在线美女| 国产私拍福利视频在线观看| or卡值多少钱| 性色av乱码一区二区三区2| 麻豆国产av国片精品| 欧洲精品卡2卡3卡4卡5卡区| 日韩国内少妇激情av| 男人舔奶头视频| 亚洲,欧美精品.| 最近最新中文字幕大全免费视频| 无人区码免费观看不卡| svipshipincom国产片| 国产亚洲精品综合一区在线观看 | 狠狠狠狠99中文字幕| 午夜免费激情av| 日本黄大片高清| 小说图片视频综合网站| 久久久久久免费高清国产稀缺| 日韩欧美国产一区二区入口| 欧美日本亚洲视频在线播放| 国产不卡一卡二| 久久久国产精品麻豆| 99精品久久久久人妻精品| 欧美极品一区二区三区四区| 精品国产乱子伦一区二区三区| 不卡av一区二区三区| 精品一区二区三区视频在线观看免费| 美女免费视频网站| 长腿黑丝高跟| 男女视频在线观看网站免费 | 国产熟女xx| 国产精品亚洲一级av第二区| 国产野战对白在线观看| 18禁国产床啪视频网站| 狠狠狠狠99中文字幕| 三级毛片av免费| 国产又黄又爽又无遮挡在线| 两性午夜刺激爽爽歪歪视频在线观看 | 亚洲真实伦在线观看| 亚洲男人天堂网一区| 亚洲七黄色美女视频| 可以在线观看的亚洲视频| 精品高清国产在线一区| 久久这里只有精品中国| 狂野欧美白嫩少妇大欣赏| 国产熟女xx| 亚洲精品久久成人aⅴ小说| 日本一二三区视频观看| 亚洲 欧美一区二区三区| 亚洲精品一区av在线观看| 欧美成人性av电影在线观看| 亚洲人成网站高清观看| 亚洲国产精品sss在线观看| 色精品久久人妻99蜜桃| 真人做人爱边吃奶动态| 99久久精品热视频| 午夜精品在线福利| 少妇熟女aⅴ在线视频| 亚洲国产精品sss在线观看| 国产精品日韩av在线免费观看| 18禁裸乳无遮挡免费网站照片| 高清毛片免费观看视频网站| 1024手机看黄色片| 99久久综合精品五月天人人| 色综合婷婷激情| 免费在线观看影片大全网站| 一a级毛片在线观看| а√天堂www在线а√下载| 精品无人区乱码1区二区| 国产精品永久免费网站| 国产熟女xx| 此物有八面人人有两片| 男女床上黄色一级片免费看| 99久久无色码亚洲精品果冻| 亚洲成a人片在线一区二区| 日韩大尺度精品在线看网址| av福利片在线观看| 村上凉子中文字幕在线| 黄色视频不卡| 国模一区二区三区四区视频 | 蜜桃久久精品国产亚洲av| 欧美乱码精品一区二区三区| 欧美性长视频在线观看| 国产亚洲精品久久久久久毛片| 男女午夜视频在线观看| 免费高清视频大片| 亚洲五月天丁香| 精品久久蜜臀av无| 人人妻人人看人人澡| 午夜视频精品福利| 男女床上黄色一级片免费看| 免费看十八禁软件| 亚洲欧洲精品一区二区精品久久久| 欧美日韩瑟瑟在线播放| 天天躁狠狠躁夜夜躁狠狠躁| 国产精品爽爽va在线观看网站| 后天国语完整版免费观看| 久久久久久久久免费视频了| 精品国产亚洲在线| 亚洲激情在线av| 国产精品久久视频播放| 午夜久久久久精精品| 黄色成人免费大全| 大型黄色视频在线免费观看| 亚洲精品久久成人aⅴ小说| av视频在线观看入口| 亚洲第一欧美日韩一区二区三区| 久久精品国产综合久久久| 99久久久亚洲精品蜜臀av| 男女床上黄色一级片免费看| 十八禁人妻一区二区| svipshipincom国产片| 成年版毛片免费区| 一级a爱片免费观看的视频| 男女之事视频高清在线观看| 成人国语在线视频| 9191精品国产免费久久| 人人妻,人人澡人人爽秒播| 精品久久久久久久毛片微露脸| 日本在线视频免费播放| 亚洲国产精品999在线| 午夜精品在线福利| 午夜激情av网站| videosex国产| 久久人妻av系列| 欧美日本亚洲视频在线播放| 99精品久久久久人妻精品| 亚洲一区中文字幕在线| 国产一区二区三区在线臀色熟女| 亚洲人成网站高清观看| 草草在线视频免费看| aaaaa片日本免费| 在线观看免费视频日本深夜| 亚洲国产精品成人综合色| 成人一区二区视频在线观看| 在线永久观看黄色视频| 又爽又黄无遮挡网站| 在线a可以看的网站| 久久久久久大精品| 久久久久久久久免费视频了| 国产av一区二区精品久久| 欧美人与性动交α欧美精品济南到| 免费在线观看视频国产中文字幕亚洲| 国产v大片淫在线免费观看| 午夜激情av网站| 精品久久久久久久毛片微露脸| 一本精品99久久精品77| 天天躁狠狠躁夜夜躁狠狠躁| 99热6这里只有精品| 国产亚洲精品久久久久久毛片| 免费看美女性在线毛片视频| 麻豆一二三区av精品| 在线永久观看黄色视频| 老司机福利观看| 男人舔女人的私密视频| 亚洲色图 男人天堂 中文字幕| 99久久99久久久精品蜜桃| 久久天堂一区二区三区四区| 精品日产1卡2卡| 久久久久久九九精品二区国产 | 一级黄色大片毛片| 亚洲七黄色美女视频| 丁香六月欧美| 十八禁网站免费在线| 亚洲国产中文字幕在线视频| 午夜免费成人在线视频| 国产成人aa在线观看| 国产视频一区二区在线看| 久久人妻福利社区极品人妻图片| 国产成人精品久久二区二区免费| 欧美黄色片欧美黄色片| 国产人伦9x9x在线观看| 久久亚洲精品不卡| 狂野欧美激情性xxxx| 悠悠久久av| av超薄肉色丝袜交足视频| 中文资源天堂在线| 90打野战视频偷拍视频| 国产精品野战在线观看| 天堂√8在线中文| 国产成人啪精品午夜网站| 国产精品久久久久久亚洲av鲁大| 久9热在线精品视频| 欧美不卡视频在线免费观看 | 精品福利观看| 精品免费久久久久久久清纯| 欧美高清成人免费视频www| 中文字幕人妻丝袜一区二区| svipshipincom国产片| 国产三级在线视频| 久99久视频精品免费| 在线观看免费视频日本深夜| 色精品久久人妻99蜜桃| 757午夜福利合集在线观看| 19禁男女啪啪无遮挡网站| 欧美国产日韩亚洲一区| 国产精品久久久av美女十八| 女人被狂操c到高潮| 在线观看www视频免费| 久久精品国产亚洲av高清一级| 亚洲av片天天在线观看| 亚洲精品色激情综合| 老司机午夜福利在线观看视频| 亚洲全国av大片| a在线观看视频网站| 欧美精品啪啪一区二区三区| 久久中文字幕一级| 日韩欧美在线乱码| 国产亚洲欧美在线一区二区| 国产精品电影一区二区三区| 国产精品一区二区三区四区久久| 久久午夜综合久久蜜桃| 少妇被粗大的猛进出69影院| 成熟少妇高潮喷水视频| 精品久久久久久,| 免费在线观看黄色视频的| 亚洲熟女毛片儿| 两个人视频免费观看高清| 中文资源天堂在线| av在线天堂中文字幕| 欧美最黄视频在线播放免费| 国产成年人精品一区二区| 国产久久久一区二区三区| 午夜影院日韩av| 亚洲成人久久爱视频| 国产亚洲av高清不卡| 一夜夜www| 亚洲国产欧美网| 99在线人妻在线中文字幕| 久久午夜综合久久蜜桃| 国产精品免费一区二区三区在线| 日本在线视频免费播放| 日本 av在线| 成年女人毛片免费观看观看9| 日韩精品青青久久久久久| 成人av在线播放网站| 一区二区三区激情视频| 麻豆av在线久日| 日韩国内少妇激情av| 亚洲狠狠婷婷综合久久图片| 免费一级毛片在线播放高清视频| 日韩三级视频一区二区三区| 国产精品一区二区免费欧美| 91麻豆精品激情在线观看国产| www国产在线视频色| 久久国产精品影院| 国产精品精品国产色婷婷| 亚洲av成人精品一区久久| 午夜福利高清视频| 亚洲精品久久国产高清桃花| 三级男女做爰猛烈吃奶摸视频| 狠狠狠狠99中文字幕| 欧美乱码精品一区二区三区| 黄色视频,在线免费观看| 看片在线看免费视频| 色综合亚洲欧美另类图片| 欧美日韩亚洲国产一区二区在线观看| 亚洲美女黄片视频| 免费看十八禁软件| svipshipincom国产片| 正在播放国产对白刺激| 手机成人av网站| 两个人免费观看高清视频| 91国产中文字幕| 好看av亚洲va欧美ⅴa在| 丰满的人妻完整版| 久久这里只有精品19| 国产精品98久久久久久宅男小说| 无遮挡黄片免费观看| 男人的好看免费观看在线视频 | 婷婷精品国产亚洲av在线| 亚洲七黄色美女视频| 欧美成人免费av一区二区三区| 在线观看www视频免费| 精品国产乱码久久久久久男人| 亚洲精品国产一区二区精华液| 国产一级毛片七仙女欲春2| а√天堂www在线а√下载| 一级毛片女人18水好多| 美女大奶头视频| 欧美日韩一级在线毛片| 亚洲国产欧美网| 啦啦啦免费观看视频1| 这个男人来自地球电影免费观看| 亚洲欧美日韩高清在线视频| 国产野战对白在线观看| 嫁个100分男人电影在线观看| 黄色毛片三级朝国网站| 亚洲成人中文字幕在线播放| 亚洲色图 男人天堂 中文字幕| 国产免费男女视频| 亚洲av美国av| 亚洲成a人片在线一区二区| 久久香蕉精品热| 最近视频中文字幕2019在线8| www.精华液| 欧美+亚洲+日韩+国产| 99riav亚洲国产免费| 757午夜福利合集在线观看| 麻豆国产97在线/欧美 | 欧美三级亚洲精品| 国产真实乱freesex| 神马国产精品三级电影在线观看 | 久久欧美精品欧美久久欧美| 一边摸一边抽搐一进一小说| 一本综合久久免费| 亚洲精品久久成人aⅴ小说| 99精品久久久久人妻精品| 欧美精品亚洲一区二区| 久久久久九九精品影院| 国产亚洲精品第一综合不卡| 欧美日韩亚洲国产一区二区在线观看| 国产精品一及| 精品国内亚洲2022精品成人| 极品教师在线免费播放| 在线十欧美十亚洲十日本专区| 69av精品久久久久久| 在线a可以看的网站| 香蕉国产在线看| 老司机午夜福利在线观看视频| 日韩欧美国产一区二区入口| 国产v大片淫在线免费观看| 午夜a级毛片| 亚洲精品国产一区二区精华液| 亚洲激情在线av| 看免费av毛片| 最近视频中文字幕2019在线8| 亚洲va日本ⅴa欧美va伊人久久| 日韩av在线大香蕉| 久久久久久免费高清国产稀缺| 可以在线观看的亚洲视频| 最好的美女福利视频网| 日韩欧美在线二视频| 丰满人妻一区二区三区视频av | 午夜精品久久久久久毛片777| www.自偷自拍.com| 欧美中文日本在线观看视频| 久久精品国产亚洲av香蕉五月| 久久久久久久久免费视频了| 淫秽高清视频在线观看| 麻豆一二三区av精品| 国产伦人伦偷精品视频| 国产一区二区在线av高清观看| 在线观看66精品国产| 午夜久久久久精精品| 日本 av在线| 男人的好看免费观看在线视频 | 麻豆国产av国片精品| 女人爽到高潮嗷嗷叫在线视频| 人妻久久中文字幕网| 欧美日韩黄片免| 男女视频在线观看网站免费 | 国产av不卡久久| 国产视频内射| 大型黄色视频在线免费观看| 日韩高清综合在线| 欧美激情久久久久久爽电影| 免费在线观看完整版高清| 日本三级黄在线观看| 嫩草影视91久久| 色播亚洲综合网| 午夜福利成人在线免费观看| 一二三四在线观看免费中文在| 精品久久久久久久毛片微露脸| 国产精品一区二区免费欧美| 午夜影院日韩av| 中亚洲国语对白在线视频| 国产亚洲精品av在线| 国产一区二区三区在线臀色熟女| 两个人看的免费小视频| 亚洲,欧美精品.| 在线观看日韩欧美| 身体一侧抽搐| 久久久久久大精品| 国产激情久久老熟女| 无遮挡黄片免费观看| 一个人观看的视频www高清免费观看 | 亚洲七黄色美女视频| 91大片在线观看| 少妇人妻一区二区三区视频| 男女视频在线观看网站免费 | av免费在线观看网站| 国产精品久久久久久久电影 | 成年女人毛片免费观看观看9| 久久久久免费精品人妻一区二区| 国产又色又爽无遮挡免费看| 国产精品久久久av美女十八| or卡值多少钱| 美女 人体艺术 gogo| 久久久久免费精品人妻一区二区| 国产真人三级小视频在线观看| 日韩大码丰满熟妇| 亚洲精品国产一区二区精华液| 两个人看的免费小视频| 最好的美女福利视频网| 露出奶头的视频| 老司机午夜十八禁免费视频| 一边摸一边做爽爽视频免费| 国产不卡一卡二| 黄频高清免费视频| 99热这里只有精品一区 | 香蕉国产在线看| 婷婷亚洲欧美| 男插女下体视频免费在线播放| 无限看片的www在线观看| a级毛片在线看网站| 超碰成人久久| 色精品久久人妻99蜜桃| 一本综合久久免费| 色播亚洲综合网| 成人高潮视频无遮挡免费网站| 欧美黑人巨大hd| 日本黄色视频三级网站网址| 51午夜福利影视在线观看| 全区人妻精品视频| 国产麻豆成人av免费视频| 老司机在亚洲福利影院| 午夜免费激情av| 亚洲真实伦在线观看| 国产欧美日韩一区二区精品| 妹子高潮喷水视频| 国产日本99.免费观看| 成人国产一区最新在线观看| 黄片大片在线免费观看| av天堂在线播放| 亚洲av成人不卡在线观看播放网| 精品熟女少妇八av免费久了| 亚洲 欧美一区二区三区| 欧美黑人欧美精品刺激| 欧美日韩国产亚洲二区| 免费在线观看日本一区| 亚洲真实伦在线观看| 成人av一区二区三区在线看| 精品免费久久久久久久清纯| 亚洲第一欧美日韩一区二区三区| 男女午夜视频在线观看| tocl精华| 国产成+人综合+亚洲专区| 国产一区二区在线观看日韩 | 一区福利在线观看| 亚洲欧美精品综合久久99| 亚洲 欧美一区二区三区| 亚洲无线在线观看| 国产av一区在线观看免费| 岛国视频午夜一区免费看| 国产精品美女特级片免费视频播放器 | 亚洲av成人不卡在线观看播放网| 可以在线观看的亚洲视频| 男女午夜视频在线观看| 欧美黄色片欧美黄色片| 最近最新中文字幕大全电影3| av中文乱码字幕在线| 一卡2卡三卡四卡精品乱码亚洲| 欧美国产日韩亚洲一区| 男女床上黄色一级片免费看| 精品久久久久久成人av| 国产精品久久久av美女十八| 后天国语完整版免费观看| 欧美+亚洲+日韩+国产| www国产在线视频色| 国产亚洲精品久久久久久毛片| 黄片大片在线免费观看| 女警被强在线播放| 熟女电影av网| 久久久久久大精品| 国产av麻豆久久久久久久| 香蕉av资源在线| 人妻丰满熟妇av一区二区三区| 九九热线精品视视频播放| 国产激情欧美一区二区| 亚洲人成77777在线视频| 亚洲午夜理论影院| 少妇被粗大的猛进出69影院| 国产在线精品亚洲第一网站| 深夜精品福利| 久久婷婷成人综合色麻豆| 欧美黑人欧美精品刺激| 久久久久久久精品吃奶| 女人爽到高潮嗷嗷叫在线视频| 国产一区二区三区视频了| 久久99热这里只有精品18| 美女扒开内裤让男人捅视频| 美女午夜性视频免费| 一本精品99久久精品77| 91字幕亚洲| e午夜精品久久久久久久| 亚洲av五月六月丁香网| 99国产综合亚洲精品| 亚洲在线自拍视频| 一进一出好大好爽视频| 精品国产乱子伦一区二区三区| 男人舔女人下体高潮全视频| 亚洲第一电影网av| 天堂√8在线中文| 99精品在免费线老司机午夜| 亚洲欧美一区二区三区黑人| 亚洲国产欧美网| 久久久久国内视频| 日韩免费av在线播放| 精品日产1卡2卡| 日本五十路高清|