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

    基于用戶(hù)反饋的API推薦工具①

    2021-09-10 07:32:06楊忻瑩
    關(guān)鍵詞:列表語(yǔ)句文檔

    楊忻瑩,周 宇,2

    1(南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南京 211106)

    2(南京航空航天大學(xué) 高安全系統(tǒng)的軟件開(kāi)發(fā)與驗(yàn)證技術(shù)工信部重點(diǎn)實(shí)驗(yàn)室,南京 211106)

    在軟件開(kāi)發(fā)過(guò)程中,應(yīng)用程序接口(API) 發(fā)揮了重要作用[1],開(kāi)發(fā)人員可以使用API 更有效地執(zhí)行編程任務(wù).但是由于API的數(shù)量龐大,開(kāi)發(fā)者不可能熟悉所有的API,也不可能始終為特定的開(kāi)發(fā)任務(wù)選擇合適的API.當(dāng)遇到不熟悉的編程任務(wù)時(shí),開(kāi)發(fā)者往往會(huì)通過(guò)上網(wǎng)搜索相關(guān)功能的案例進(jìn)行代碼復(fù)用,或者搜索相關(guān)的API 文檔,學(xué)習(xí)相關(guān)API的使用方法.能夠針對(duì)程序員的需求進(jìn)行合理的API 接口推薦便成為了提高軟件開(kāi)發(fā)效率的重要途徑之一.為了解決這個(gè)問(wèn)題,國(guó)內(nèi)外大量科研人員已在API 接口推薦領(lǐng)域展開(kāi)了一系列研究工作,并實(shí)現(xiàn)了許多API 推薦方法,以減輕開(kāi)發(fā)人員理解和搜索API的負(fù)擔(dān).

    Thung 等通過(guò)將歷史特征請(qǐng)求與API 文檔信息相結(jié)合的方式,進(jìn)行API 方法推薦[2].BIKER[3]獲取Stack Overflow 問(wèn)答網(wǎng)站上的問(wèn)答信息和JDK的API 文檔信息[4],根據(jù)帖子問(wèn)題與用戶(hù)查詢(xún)的相似性推薦API.

    這些方法往往基于信息檢索技術(shù)以及自然語(yǔ)言處理相關(guān)技術(shù)提取關(guān)鍵字,來(lái)縮小目標(biāo)API的搜索范圍、加快推薦效率.然而他們大多均未考慮用戶(hù)交互信息(例如用戶(hù)從推薦列表中選擇API),這些信息通常被認(rèn)為能夠大大提高API 推薦性能.

    針對(duì)這一不足之處,有少數(shù)工作利用了用戶(hù)反饋信息.例如,NLP2API[5]利用來(lái)自Stack Overflow 網(wǎng)站的問(wèn)答對(duì)來(lái)模擬偽用戶(hù)交互,從而重新制定查詢(xún)語(yǔ)句,實(shí)際上并沒(méi)有進(jìn)行真正的用戶(hù)交互.Wang 等[6]將反饋納入到代碼搜索過(guò)程中,提出了一種主動(dòng)代碼搜索方法,盡管他們的工作利用了反饋信息,但需要用戶(hù)明確的對(duì)推薦結(jié)果中的每一條信息進(jìn)行相關(guān)性評(píng)分,開(kāi)銷(xiāo)太大.這部分工作雖然將反饋信息從傳統(tǒng)的推薦系統(tǒng)領(lǐng)域引入到代碼推薦領(lǐng)域,但仍有改進(jìn)的空間.

    因此,在現(xiàn)有的API 推薦工作上,本文提出一個(gè)新穎的API 推薦工具.

    首先,記錄用戶(hù)使用本工具時(shí)產(chǎn)生的真實(shí)交互信息(即用戶(hù)輸入的查詢(xún)語(yǔ)句和用戶(hù)從推薦列表中選擇的API),將其作為用戶(hù)反饋數(shù)據(jù),即反饋信息,并構(gòu)建反饋庫(kù),將反饋數(shù)據(jù)以<用戶(hù)查詢(xún),API>對(duì)的形式存入其中.故用戶(hù)在使用時(shí)不需要主動(dòng)提供額外信息(如評(píng)分),可減輕用戶(hù)負(fù)擔(dān).

    其次,引入排序?qū)W習(xí)和主動(dòng)學(xué)習(xí)技術(shù)以提升API推薦性能.通過(guò)將API 視為文檔,本工作將排序?qū)W習(xí)技術(shù)應(yīng)用至API 推薦領(lǐng)域中,利用用戶(hù)反饋等數(shù)據(jù)構(gòu)建特征向量,訓(xùn)練排序?qū)W習(xí)模型,將用戶(hù)反饋有效的融入到API 推薦中,以提高API 推薦結(jié)果的準(zhǔn)確性;為了緩解“冷啟動(dòng)”問(wèn)題、加速反饋數(shù)據(jù)的學(xué)習(xí)過(guò)程,本工作采用了主動(dòng)學(xué)習(xí),通過(guò)收集Stack Overflow的問(wèn)答信息,構(gòu)造問(wèn)答數(shù)據(jù)對(duì),用于輔助訓(xùn)練主動(dòng)學(xué)習(xí)模型,從而保證即使在反饋數(shù)據(jù)十分稀缺時(shí),仍能實(shí)現(xiàn)良好的推薦效果.

    最后,為了實(shí)現(xiàn)更好的擴(kuò)展性,可利用第三方API 推薦方法作為組件,根據(jù)用戶(hù)需求,靈活地嵌套到其他的API 推薦方法之上.

    本工具以插件的形式集成到了VS Code IDE中,向用戶(hù)提供API 推薦,這將會(huì)對(duì)API 推薦系統(tǒng)產(chǎn)生積極影響.值得強(qiáng)調(diào)的是,盡管本工作目前專(zhuān)注于Java,但是我們希望可以將其應(yīng)用于其他編程語(yǔ)言的API.本工作不僅提出了一種推薦方法,而且提高了API 推薦性能.本文著重介紹了本工作的工具實(shí)現(xiàn),讀者可參考原始論文[7]以獲得更多詳細(xì)信息.

    為了評(píng)估所提出方法的有效性,本文實(shí)驗(yàn)選擇了最先進(jìn)的API 推薦方法BIKER[3]作為對(duì)比,利用Hit@k/Top-k,MAP,MRR 作為評(píng)估指標(biāo).實(shí)驗(yàn)結(jié)果表明,對(duì)比BIKER,本工具API 推薦的Hit@1 準(zhǔn)確率相對(duì)提升了18.2%,高達(dá)51.8%.

    1 方法實(shí)現(xiàn)

    工作流程如下,首先從JDK 8 官方文檔中提取用于描述API 類(lèi)和方法的總結(jié)句,作為API 文檔,再利用現(xiàn)有API 推薦方法,對(duì)用戶(hù)輸入的自然語(yǔ)言查詢(xún)語(yǔ)句進(jìn)行推薦,得到初始API 推薦列表.通過(guò)語(yǔ)義相似度計(jì)算模型(1.1 節(jié))進(jìn)行相似度計(jì)算,對(duì)API 推薦列表中的API 構(gòu)建特征向量(1.2 節(jié)),利用訓(xùn)練好的排序?qū)W習(xí)和主動(dòng)學(xué)習(xí)模型(1.3 節(jié)),對(duì)初始API 推薦列表進(jìn)行重新排序,并向用戶(hù)呈現(xiàn)重排序的API 推薦列表(1.4 節(jié)).此外,可將用戶(hù)從列表中選擇的最合適的API,與本條查詢(xún)語(yǔ)句一起形成反饋數(shù)據(jù),存入反饋庫(kù)中(1.5 節(jié)),再根據(jù)反饋數(shù)據(jù)對(duì)推薦結(jié)果進(jìn)行優(yōu)先級(jí)調(diào)整,使得用戶(hù)選擇的推薦項(xiàng)位于推薦結(jié)果列表中更加靠前的位置,從而提高API 推薦準(zhǔn)確率.本工作的具體實(shí)現(xiàn)細(xì)節(jié)可以在文獻(xiàn)[7]中找到,在此不做贅述.本工具的整體架構(gòu)如圖1所示.

    圖1 方法整體架構(gòu)

    1.1 語(yǔ)義相似度計(jì)算模型構(gòu)建

    本模塊構(gòu)建一個(gè)語(yǔ)義相似度計(jì)算模型,為特征提取模塊提供相似度計(jì)算方法.首先從Stack Overflow[8]問(wèn)答網(wǎng)站上下載歷史問(wèn)答信息[9],問(wèn)答信息以.xml 格式文件保存.由于本工具是針對(duì)Java 相關(guān)的API 推薦,因此只提取帶有Java 標(biāo)記的帖子信息.隨后利用NLTK[10]對(duì)帖子信息進(jìn)行傳統(tǒng)的文本預(yù)處理操作,包括標(biāo)記和詞干分析.接著使用Word2Vec[11]對(duì)詞嵌入模型進(jìn)行訓(xùn)練,并計(jì)算預(yù)處理后語(yǔ)料庫(kù)中每個(gè)單詞的IDF (逆文檔頻率),從而構(gòu)建一個(gè)IDF 逆文檔頻率表作為詞嵌入模型的權(quán)重項(xiàng).利用訓(xùn)練得到Word2Vec 模型和IDF 逆文檔頻率表文檔,構(gòu)建語(yǔ)義相似度計(jì)算模型[12].

    1.2 特征提取

    特征提取模塊主要任務(wù)是根據(jù)構(gòu)建的語(yǔ)義相似度計(jì)算模型,進(jìn)行相似度計(jì)算,并構(gòu)建特征向量,構(gòu)造完成的特征向量可作為訓(xùn)練模型或預(yù)測(cè)模型的輸入數(shù)據(jù).

    在接收到查詢(xún)語(yǔ)句、初始API 推薦列表之后,結(jié)合反饋庫(kù)數(shù)據(jù),為初始API 推薦列表中每個(gè)API 提取一個(gè)特征向量,特征向量包括兩個(gè)部分,相關(guān)信息特征和反饋特征.相關(guān)信息特征可從API 文檔中獲取,由API 路徑功能和API 描述功能組成,分別表示推薦的API與用戶(hù)查詢(xún)和相關(guān)文檔描述的相關(guān)性;反饋特征可從反饋庫(kù)中提取,代表與反饋庫(kù)中API的相關(guān)性.

    1.3 排序?qū)W習(xí)和主動(dòng)學(xué)習(xí)模型訓(xùn)練

    本模塊用于訓(xùn)練排序?qū)W習(xí)和主動(dòng)學(xué)習(xí)模型,為API 重排序模塊提供模型支撐.通過(guò)1.2 節(jié)中特征提取過(guò)程,對(duì)反饋庫(kù)中的每條反饋數(shù)據(jù)提取特征向量,以構(gòu)建訓(xùn)練集.

    通過(guò)將特征向量輸入到排序?qū)W習(xí)模型,最終得到訓(xùn)練良好的排序?qū)W習(xí)模型.

    訓(xùn)練主動(dòng)學(xué)習(xí)模型之前,先利用來(lái)自Stack Overflow的問(wèn)答信息構(gòu)造<查詢(xún),API>問(wèn)答數(shù)據(jù)對(duì),其中查詢(xún)與問(wèn)題相對(duì)應(yīng),API與接受的答案中的API 相對(duì)應(yīng).這些問(wèn)答數(shù)據(jù)對(duì)可對(duì)主動(dòng)學(xué)習(xí)模型選取的樣本提供標(biāo)注,將其放入訓(xùn)練集中再次訓(xùn)練模型.通過(guò)迭代此過(guò)程,可以獲得訓(xùn)練好的主動(dòng)學(xué)習(xí)模型.

    1.4 API 重排序推薦

    本模塊的目的是根據(jù)訓(xùn)練好的模型,得到用戶(hù)輸入查詢(xún)對(duì)應(yīng)的重排序API 推薦列表,供用戶(hù)選擇.對(duì)于用戶(hù)輸入查詢(xún)語(yǔ)句,首先通過(guò)1.2 節(jié)得到其對(duì)應(yīng)的API 特征向量,將其分別輸入到訓(xùn)練好的排序?qū)W習(xí)和主動(dòng)學(xué)習(xí)模塊中,得到各個(gè)模塊的預(yù)測(cè)值,計(jì)算出API 推薦列表中每個(gè)API的分?jǐn)?shù).列表中的API 排名位置根據(jù)分?jǐn)?shù)降序排列,得到重排序API 推薦列表,供用戶(hù)進(jìn)行選擇,使得用戶(hù)選擇的API 在列表中位于更加靠前的位置.API 綜合得分的計(jì)算公式如下:

    其中,S coreQ(i)表示第i個(gè)API 在初始API 列表中的排序?qū)W習(xí)預(yù)測(cè)值,ALrelevQ(i) 表示列表中第i個(gè)API的排序?qū)W習(xí)預(yù)測(cè)值.S coremax和S coremin分別為排序分?jǐn)?shù)的最大值和最小值,用于進(jìn)行歸一化處理.相關(guān)性得分的權(quán)重是一個(gè)動(dòng)態(tài)值,它依賴(lài)于第i個(gè)API 在列表中所處的位置,即posi.

    1.5 用戶(hù)反饋

    用戶(hù)反饋模塊負(fù)責(zé)更新反饋庫(kù).用戶(hù)從重排序API 推薦列表中,根據(jù)自身需求,選擇API,將查詢(xún)語(yǔ)句和用戶(hù)所選API 作為反饋數(shù)據(jù),存入反饋庫(kù),為后續(xù)推薦提供反饋信息.

    2 工具實(shí)現(xiàn)

    本工具以插件的形式集成到VS Code IDE中,采用客戶(hù)端/服務(wù)器架構(gòu).服務(wù)器端對(duì)VS Code 獲取的用戶(hù)輸入數(shù)據(jù)進(jìn)行處理,返回?cái)?shù)據(jù)處理結(jié)果,并通過(guò)客戶(hù)端將結(jié)果展示給用戶(hù).

    為方便用戶(hù)在編程過(guò)程中快速查詢(xún)所遇到的問(wèn)題,本工具直接內(nèi)嵌在VS Code IDE中,不涉及另外的系統(tǒng)界面.用戶(hù)可以在源碼編程面板任意位置點(diǎn)擊右鍵,或者使用快捷鍵喚醒.

    根據(jù)用戶(hù)交互信息,本工具為用戶(hù)提供了個(gè)性化的API 推薦列表,實(shí)現(xiàn)了API 個(gè)性化推薦功能.系統(tǒng)架構(gòu)主要分為兩個(gè)模塊:用戶(hù)輸入查詢(xún)模塊和API 推薦反饋模塊.

    2.1 用戶(hù)輸入查詢(xún)模塊

    用戶(hù)輸入查詢(xún)模塊的整體流程如圖2所示,該模塊的目的是提供一個(gè)接口,以獲取用戶(hù)輸入的自然語(yǔ)言查詢(xún)語(yǔ)句,傳遞給后臺(tái)服務(wù)器進(jìn)行API 推薦的后續(xù)處理工作.

    圖2 用戶(hù)輸入查詢(xún)流程

    具體來(lái)說(shuō),當(dāng)用戶(hù)在編程環(huán)境中,想要獲取API 推薦,可以通過(guò)圖2中的操作(a)、(b)或(c)打開(kāi)文本輸入框(d)以進(jìn)行自然語(yǔ)言查詢(xún)輸入.客戶(hù)端從文本輸入框中獲得查詢(xún)語(yǔ)句,傳給服務(wù)器端進(jìn)行處理,再將得到的推薦結(jié)果返回給用戶(hù),即API 推薦列表頁(yè)面(圖3).

    圖3 API 推薦列表頁(yè)面

    2.2 API 推薦反饋模塊

    服務(wù)器獲取自然語(yǔ)言查詢(xún)語(yǔ)句后,會(huì)返回相關(guān)的API,客戶(hù)端為用戶(hù)展示如圖3所示的API 推薦列表頁(yè)面.用戶(hù)可在該頁(yè)面上進(jìn)行API 選擇,客戶(hù)端將查詢(xún)語(yǔ)句連同用戶(hù)選擇的API 視為反饋數(shù)據(jù)傳遞給服務(wù)器.服務(wù)器將其放入反饋庫(kù),用以?xún)?yōu)化模型.

    2.2.1 API 推薦

    服務(wù)器將與查詢(xún)語(yǔ)句最相關(guān)的前30 個(gè)API 返回給客戶(hù)端,客戶(hù)端以每頁(yè)10 個(gè)API的方式分頁(yè)展示,用戶(hù)可以通過(guò)圖3中操作(g)切換頁(yè)面,以瀏覽更多的API.本工具不僅為列表中每個(gè)API 提供API 方法名(e),還提供對(duì)應(yīng)的描述語(yǔ)句(f),為用戶(hù)選擇反饋提供參考依據(jù).

    2.2.2 用戶(hù)反饋

    用戶(hù)可以選中一個(gè)API(h),此時(shí)會(huì)彈出一個(gè)對(duì)話(huà)框,向用戶(hù)確認(rèn)是否將該API 作為反饋信息存入反饋庫(kù)中.

    若用戶(hù)選擇“是”,則該API與本次輸入的自然語(yǔ)言查詢(xún)語(yǔ)句一起構(gòu)成反饋數(shù)據(jù),存入反饋庫(kù),為下一次用戶(hù)查詢(xún)提供更加個(gè)性化的推薦;若用戶(hù)選擇“否”,則會(huì)返回至API 推薦列表界面.

    3 應(yīng)用場(chǎng)景

    本章通過(guò)示例來(lái)說(shuō)明本工具如何提升API 推薦性能.在通常情況下,API 方法名和文檔描述信息有助于用戶(hù)了解API的用途.對(duì)于諸如:How to convert int to string的查詢(xún)語(yǔ)句,用戶(hù)在瀏覽API 方法名時(shí)可以快速找到正確的答案:java.lang.Integer.toString.但是,在許多情況下,僅通過(guò)API 方法名來(lái)判斷該API是否有用是很困難的.例如,給定查詢(xún):Make a negative number positive,其對(duì)應(yīng)的答案:java.lang.Math.abs 在語(yǔ)義上與查詢(xún)語(yǔ)句沒(méi)有重疊,但借助文檔描述信息(即:返回參數(shù)的絕對(duì)值),可以很容易判斷該API是正確答案.

    當(dāng)用戶(hù)了解API的用法之后,可以選擇他認(rèn)為合適的答案,放入反饋庫(kù)中保存,這些反饋信息對(duì)于后續(xù)的推薦有顯著幫助.例如,對(duì)于查詢(xún)語(yǔ)句:killing a running thread in java,在反饋庫(kù)中沒(méi)有相關(guān)查詢(xún)語(yǔ)句的情況下,根據(jù)API 方法名和描述信息,用戶(hù)能很快確定排名第7的API:java.lang.Thread.interrupt是正確答案,并對(duì)其進(jìn)行選擇,放入反饋庫(kù)中存儲(chǔ).當(dāng)用戶(hù)之后再次查詢(xún)類(lèi)似的語(yǔ)句,例如:how to stop a thread,通過(guò)檢索反饋庫(kù)數(shù)據(jù),本工具能將原本排在第8 位的:java.lang.Thread.interrupt 提升到第1 位.使得用戶(hù)瀏覽API 推薦結(jié)果時(shí),能迅速找到正確答案,極大提升了API 推薦效率.

    4 實(shí)驗(yàn)評(píng)估

    為了驗(yàn)證方法的有效性,本文使用目前最先進(jìn)的API 推薦方法之一的BIKER[3]作為對(duì)比實(shí)驗(yàn).BIKER和現(xiàn)有的大多數(shù)API 推薦方法一樣,僅利用了語(yǔ)義相似度技術(shù),根據(jù)文本相似度分?jǐn)?shù)向用戶(hù)推薦API.而本文提出了一種基于用戶(hù)反饋的API 推薦工具,將用戶(hù)反饋融入到API 推薦過(guò)程中,并且采用了排序?qū)W習(xí)和主動(dòng)學(xué)習(xí)技術(shù),通過(guò)語(yǔ)義相似度構(gòu)建特征向量,訓(xùn)練模型進(jìn)行預(yù)測(cè),根據(jù)模型預(yù)測(cè)綜合得分,為用戶(hù)提供個(gè)性化的API 推薦.

    為了確保與對(duì)比實(shí)驗(yàn)進(jìn)行公平的比較,本文實(shí)驗(yàn)的數(shù)據(jù)集復(fù)用BIKER 發(fā)布的數(shù)據(jù)集,即來(lái)自Stack Overflow 上與Java API 相關(guān)的413 個(gè)問(wèn)答對(duì).為了評(píng)估實(shí)驗(yàn)性能,實(shí)驗(yàn)設(shè)置遵循標(biāo)準(zhǔn)的10 折交叉驗(yàn)證,即將數(shù)據(jù)集隨機(jī)分割為9:1,每次使用1 折作為測(cè)試數(shù)據(jù),其余9 折用于模型訓(xùn)練.重復(fù)實(shí)驗(yàn)5 次,將結(jié)果記錄下來(lái),并計(jì)算平均值作為最終結(jié)果.為了避免偏差,反饋庫(kù)與測(cè)試集中不存在相同的查詢(xún)語(yǔ)句.讀者可以查看之前的工作[7],以獲取有關(guān)實(shí)驗(yàn)結(jié)果的更多詳細(xì)信息.

    4.1 增加反饋數(shù)據(jù)量

    通過(guò)從訓(xùn)練集中隨機(jī)選擇問(wèn)答對(duì),來(lái)構(gòu)建反饋庫(kù).反饋庫(kù)的大小從訓(xùn)練集的10%到100%不等,且增幅為10%.實(shí)驗(yàn)結(jié)果如表1所示,結(jié)果表明,在可接受的開(kāi)銷(xiāo)條件下,與BIKER 相比,隨著反饋數(shù)據(jù)的增加,本工具的推薦性能穩(wěn)步提升,Hit@1 準(zhǔn)確率最高提升了18.2%,MAP和MRR 提升了12%左右,Hit@5 突破了80%.實(shí)驗(yàn)結(jié)果驗(yàn)證了反饋信息有助于提升API 推薦性能.

    表1 增加反饋數(shù)據(jù)量對(duì)工具的影響

    4.2 有效性分析

    為了評(píng)估實(shí)驗(yàn)結(jié)果的意義,本節(jié)對(duì)得到的結(jié)果進(jìn)行了統(tǒng)計(jì)分析.根據(jù)Mann-Whitney U 檢驗(yàn)[13],可從統(tǒng)計(jì)意義上判定實(shí)驗(yàn)是否有顯著的改善.此外,通過(guò)Vargha和Delaneys的測(cè)量(一種標(biāo)準(zhǔn)化的非參數(shù)效應(yīng)量測(cè)量) 來(lái)評(píng)估分析效應(yīng)量的改進(jìn)程度.一般來(lái)說(shuō),對(duì)于A和B兩種算法,如果為0.5,則認(rèn)為這兩種算法是等價(jià)的.如果大于0.5,則算法A 優(yōu)于算法B.通過(guò)以下統(tǒng)計(jì)量計(jì)算:

    其中,R1是第一個(gè)數(shù)據(jù)組的秩和,m和n分別是第一個(gè)和第二個(gè)數(shù)據(jù)樣本中的觀察次數(shù).在本文實(shí)驗(yàn)中,運(yùn)行了相同次數(shù)的兩種算法,即m和n的值都設(shè)置為5.

    結(jié)果表明,大多數(shù)p值在0.003 到0.005 范圍內(nèi),效應(yīng)量為1,表明在96%的置信度上,該提升具有統(tǒng)計(jì)學(xué)意義.在50 個(gè)案例中有2 個(gè)案例(反饋數(shù)據(jù)量為10%時(shí)的Hit@3和Hit@5),其中p值大于0.005(即,應(yīng)否定原假設(shè)).

    4.3 模擬用戶(hù)反饋場(chǎng)景

    本節(jié)設(shè)計(jì)了一個(gè)偽用戶(hù)來(lái)模擬真實(shí)場(chǎng)景下的用戶(hù)推薦及反饋過(guò)程.實(shí)驗(yàn)隨機(jī)選擇50 個(gè)查詢(xún),將其作為偽用戶(hù)在編程環(huán)境中輸入的查詢(xún)語(yǔ)句,依次進(jìn)行自然語(yǔ)言查詢(xún).在每次查詢(xún)期間,本工具都會(huì)根據(jù)反饋庫(kù)信息推薦API,而偽用戶(hù)則會(huì)從推薦結(jié)果中選擇API.查詢(xún)語(yǔ)句和選擇的API 用于擴(kuò)展反饋庫(kù).實(shí)驗(yàn)結(jié)果如表2所示,通過(guò)記錄每次用戶(hù)查詢(xún)的評(píng)價(jià)指標(biāo),可計(jì)算出評(píng)價(jià)指標(biāo)的平均值(表2Avg.Tool),通過(guò)計(jì)算本文方法與對(duì)比方法的絕對(duì)提升值和相對(duì)提升值(表2Abs.Imp.和Rel.Imp.),可以更清晰的看出本工作相對(duì)于對(duì)比實(shí)驗(yàn)的優(yōu)越性.

    表2 模擬用戶(hù)反饋場(chǎng)景

    5 結(jié)論與展望

    本文提出了一種新的工具來(lái)提升API 推薦方法的性能,并將其以插件的形式集成到VS Code IDE中.在用戶(hù)編程環(huán)境中,通過(guò)獲取用戶(hù)輸入的自然語(yǔ)言查詢(xún)語(yǔ)句,推薦相關(guān)API.受傳統(tǒng)推薦系統(tǒng)中的用戶(hù)反饋信息的啟發(fā),本工作通過(guò)不斷收集用戶(hù)對(duì)于API 推薦列表的反饋,提高推薦準(zhǔn)確率.實(shí)驗(yàn)表明,本工具的推薦性能優(yōu)于對(duì)比實(shí)驗(yàn),隨著反饋信息數(shù)量的增加,API 推薦的有效性也顯著提升.未來(lái)的工作計(jì)劃是擴(kuò)展工具以支持更多的編程語(yǔ)言.此外,本文中提出的方法實(shí)際上具有更廣泛的適用性,因此計(jì)劃將其擴(kuò)展到軟件工程中的其他推薦場(chǎng)景.

    猜你喜歡
    列表語(yǔ)句文檔
    巧用列表來(lái)推理
    有人一聲不吭向你扔了個(gè)文檔
    學(xué)習(xí)運(yùn)用列表法
    重點(diǎn):語(yǔ)句銜接
    擴(kuò)列吧
    精彩語(yǔ)句
    基于RI碼計(jì)算的Word復(fù)制文檔鑒別
    Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
    不含3-圈的1-平面圖的列表邊染色與列表全染色
    如何搞定語(yǔ)句銜接題
    91午夜精品亚洲一区二区三区| 日韩成人av中文字幕在线观看| 亚洲人成电影观看| 一区二区日韩欧美中文字幕| 欧美 亚洲 国产 日韩一| 国产黄频视频在线观看| 久久久精品免费免费高清| 国产日韩欧美亚洲二区| 国产1区2区3区精品| 看免费av毛片| 国产精品亚洲av一区麻豆 | 久久久久久久精品精品| 婷婷色麻豆天堂久久| 80岁老熟妇乱子伦牲交| 乱人伦中国视频| 午夜激情av网站| 久久人人爽av亚洲精品天堂| 日韩中文字幕视频在线看片| 69精品国产乱码久久久| 久久99一区二区三区| 秋霞伦理黄片| 丁香六月天网| 三级国产精品片| 亚洲精品久久午夜乱码| 啦啦啦在线观看免费高清www| 一区二区av电影网| 男女边摸边吃奶| 99精国产麻豆久久婷婷| 欧美激情 高清一区二区三区| 免费看不卡的av| 熟女av电影| 久久毛片免费看一区二区三区| www.自偷自拍.com| 少妇人妻精品综合一区二区| 侵犯人妻中文字幕一二三四区| 啦啦啦在线免费观看视频4| av天堂久久9| 国产亚洲欧美精品永久| 午夜免费男女啪啪视频观看| 国产精品国产三级国产专区5o| 欧美人与性动交α欧美软件| 精品国产国语对白av| 国产精品一区二区在线不卡| 国产成人精品婷婷| 爱豆传媒免费全集在线观看| 两性夫妻黄色片| 国产免费福利视频在线观看| 黄片小视频在线播放| 一区福利在线观看| 丝袜喷水一区| 亚洲三级黄色毛片| 男人添女人高潮全过程视频| 久久久久久久大尺度免费视频| 热re99久久精品国产66热6| 亚洲精品国产av成人精品| 免费观看无遮挡的男女| 国产人伦9x9x在线观看 | 日韩一区二区三区影片| 在线 av 中文字幕| 热99国产精品久久久久久7| a 毛片基地| 亚洲国产最新在线播放| 久久人人爽人人片av| 丝瓜视频免费看黄片| 久久久国产欧美日韩av| 天天躁狠狠躁夜夜躁狠狠躁| 久久久久久久国产电影| 少妇人妻精品综合一区二区| 最近的中文字幕免费完整| 毛片一级片免费看久久久久| 日本av手机在线免费观看| 多毛熟女@视频| 欧美日韩亚洲国产一区二区在线观看 | 国产成人精品久久二区二区91 | 最近手机中文字幕大全| 好男人视频免费观看在线| 一二三四中文在线观看免费高清| 人人澡人人妻人| 又粗又硬又长又爽又黄的视频| 久久久久精品久久久久真实原创| 电影成人av| 免费人妻精品一区二区三区视频| 黄片无遮挡物在线观看| 中文欧美无线码| 香蕉丝袜av| 国产一区二区三区综合在线观看| 精品国产乱码久久久久久男人| 成人毛片60女人毛片免费| 日韩一本色道免费dvd| 人成视频在线观看免费观看| 中文天堂在线官网| 中文字幕人妻丝袜制服| 国产精品av久久久久免费| 欧美激情高清一区二区三区 | 亚洲av电影在线进入| 欧美精品一区二区大全| 午夜日本视频在线| 国产 一区精品| 日韩精品有码人妻一区| 久久久久视频综合| 成人影院久久| 黄色毛片三级朝国网站| 国产免费一区二区三区四区乱码| 日日摸夜夜添夜夜爱| 一区二区三区四区激情视频| 一区二区三区四区激情视频| 久久久久精品性色| 婷婷色av中文字幕| 97在线人人人人妻| 国产又色又爽无遮挡免| 国产精品.久久久| 国产av精品麻豆| 亚洲国产精品一区二区三区在线| 91aial.com中文字幕在线观看| av免费在线看不卡| 欧美少妇被猛烈插入视频| 日本爱情动作片www.在线观看| 校园人妻丝袜中文字幕| 国精品久久久久久国模美| 午夜福利影视在线免费观看| 最近2019中文字幕mv第一页| 99久久人妻综合| 亚洲,欧美,日韩| 免费观看在线日韩| 日韩av不卡免费在线播放| 1024视频免费在线观看| 日韩伦理黄色片| 一级片'在线观看视频| 中文精品一卡2卡3卡4更新| 一本—道久久a久久精品蜜桃钙片| 一边亲一边摸免费视频| 又粗又硬又长又爽又黄的视频| 蜜桃在线观看..| 不卡视频在线观看欧美| 边亲边吃奶的免费视频| 亚洲精品,欧美精品| 波多野结衣一区麻豆| 美女主播在线视频| 日本vs欧美在线观看视频| av又黄又爽大尺度在线免费看| 亚洲国产欧美在线一区| 综合色丁香网| 一本大道久久a久久精品| 国产一级毛片在线| 久久久久久人妻| 精品亚洲成a人片在线观看| 男人添女人高潮全过程视频| 十八禁网站网址无遮挡| 满18在线观看网站| 91午夜精品亚洲一区二区三区| 欧美精品人与动牲交sv欧美| 最黄视频免费看| 色吧在线观看| 亚洲av福利一区| av一本久久久久| videossex国产| 在现免费观看毛片| 最近的中文字幕免费完整| 纯流量卡能插随身wifi吗| 亚洲三级黄色毛片| 美女高潮到喷水免费观看| 亚洲一码二码三码区别大吗| 久久久久精品久久久久真实原创| 性少妇av在线| 国产精品欧美亚洲77777| 99久久综合免费| 久久人人爽人人片av| 男人舔女人的私密视频| 乱人伦中国视频| 成年人免费黄色播放视频| 亚洲av欧美aⅴ国产| 亚洲欧洲国产日韩| 久久久国产一区二区| 亚洲国产精品一区三区| 高清欧美精品videossex| 国产一级毛片在线| 青春草视频在线免费观看| 色94色欧美一区二区| 母亲3免费完整高清在线观看 | 综合色丁香网| 国产精品熟女久久久久浪| 如何舔出高潮| 18禁国产床啪视频网站| 巨乳人妻的诱惑在线观看| 国产av一区二区精品久久| 成年人免费黄色播放视频| 精品国产一区二区三区久久久樱花| 欧美日韩成人在线一区二区| 国产精品欧美亚洲77777| 午夜日韩欧美国产| 人妻系列 视频| 国产亚洲精品第一综合不卡| 久久久久精品人妻al黑| 久久久久久久久久人人人人人人| 亚洲精品,欧美精品| 自拍欧美九色日韩亚洲蝌蚪91| 色播在线永久视频| 国产无遮挡羞羞视频在线观看| 亚洲,欧美,日韩| 国产精品 国内视频| 一级毛片 在线播放| 精品久久久久久电影网| 中国国产av一级| 在线 av 中文字幕| 亚洲精品国产av蜜桃| 国产伦理片在线播放av一区| 亚洲第一区二区三区不卡| 搡女人真爽免费视频火全软件| 美女xxoo啪啪120秒动态图| 亚洲一区中文字幕在线| 狠狠精品人妻久久久久久综合| 秋霞伦理黄片| 国产av精品麻豆| 欧美日韩视频精品一区| 欧美另类一区| videossex国产| 飞空精品影院首页| kizo精华| 人成视频在线观看免费观看| 国产成人免费观看mmmm| 日韩成人av中文字幕在线观看| 国产老妇伦熟女老妇高清| 精品亚洲成a人片在线观看| 免费在线观看完整版高清| 久久人妻熟女aⅴ| 日韩精品有码人妻一区| 青春草亚洲视频在线观看| videossex国产| 国产无遮挡羞羞视频在线观看| 中文字幕人妻丝袜一区二区 | 亚洲第一青青草原| 日韩熟女老妇一区二区性免费视频| 久久久亚洲精品成人影院| av福利片在线| 亚洲国产精品一区三区| 亚洲一区中文字幕在线| 乱人伦中国视频| 看免费成人av毛片| 男女边摸边吃奶| 久久久久国产一级毛片高清牌| 一区二区三区四区激情视频| 一级a爱视频在线免费观看| 亚洲国产精品国产精品| 在线天堂中文资源库| 亚洲,欧美,日韩| 欧美激情 高清一区二区三区| 满18在线观看网站| 亚洲av成人精品一二三区| 黄片播放在线免费| 免费在线观看视频国产中文字幕亚洲 | 老鸭窝网址在线观看| 欧美亚洲 丝袜 人妻 在线| 成人国产av品久久久| 中文字幕亚洲精品专区| 国产精品二区激情视频| 大香蕉久久成人网| 久久午夜综合久久蜜桃| 日韩一区二区三区影片| 欧美变态另类bdsm刘玥| 久久免费观看电影| 免费久久久久久久精品成人欧美视频| 亚洲综合精品二区| 精品亚洲成a人片在线观看| 欧美日韩综合久久久久久| 菩萨蛮人人尽说江南好唐韦庄| 久久国产亚洲av麻豆专区| 国产精品久久久久久精品古装| 亚洲欧美成人精品一区二区| 亚洲精品视频女| 制服人妻中文乱码| 国产乱来视频区| 久久精品国产亚洲av涩爱| 大香蕉久久成人网| 久久影院123| 国产精品一二三区在线看| 蜜桃在线观看..| 大香蕉久久成人网| 日韩成人av中文字幕在线观看| 婷婷成人精品国产| 国产一区二区三区综合在线观看| 亚洲熟女精品中文字幕| 黄色怎么调成土黄色| 999久久久国产精品视频| 国产成人精品福利久久| 看非洲黑人一级黄片| 日日摸夜夜添夜夜爱| 久久精品国产a三级三级三级| 人体艺术视频欧美日本| 中文字幕色久视频| av不卡在线播放| 欧美在线黄色| 欧美精品人与动牲交sv欧美| 国产精品三级大全| 亚洲五月色婷婷综合| 亚洲精华国产精华液的使用体验| 美女大奶头黄色视频| 亚洲内射少妇av| 一二三四在线观看免费中文在| 国产精品国产av在线观看| 日韩av不卡免费在线播放| 亚洲欧洲精品一区二区精品久久久 | 亚洲欧美精品自产自拍| 大码成人一级视频| 在线 av 中文字幕| 国产免费又黄又爽又色| 亚洲一码二码三码区别大吗| 国产男女内射视频| 欧美成人午夜精品| 亚洲精品美女久久久久99蜜臀 | 亚洲精品在线美女| 老汉色av国产亚洲站长工具| 少妇人妻 视频| 久久午夜福利片| 亚洲av在线观看美女高潮| 国产av精品麻豆| 免费不卡的大黄色大毛片视频在线观看| 一本大道久久a久久精品| 一区二区日韩欧美中文字幕| 亚洲国产精品一区二区三区在线| 国产一区亚洲一区在线观看| 男男h啪啪无遮挡| 免费黄网站久久成人精品| 免费大片黄手机在线观看| 亚洲国产av新网站| 亚洲四区av| 男女无遮挡免费网站观看| 亚洲精品自拍成人| 亚洲国产精品一区三区| 欧美亚洲日本最大视频资源| 波野结衣二区三区在线| 久久久久国产一级毛片高清牌| 黄色视频在线播放观看不卡| 蜜桃在线观看..| 国产熟女午夜一区二区三区| 免费观看无遮挡的男女| 涩涩av久久男人的天堂| 交换朋友夫妻互换小说| 国产一区二区 视频在线| 18禁观看日本| 久久99一区二区三区| 精品一区在线观看国产| 激情视频va一区二区三区| 日韩熟女老妇一区二区性免费视频| 久久这里只有精品19| av电影中文网址| 亚洲精华国产精华液的使用体验| 国产熟女午夜一区二区三区| av国产久精品久网站免费入址| 精品一区二区三卡| 亚洲色图 男人天堂 中文字幕| 91精品国产国语对白视频| 十八禁高潮呻吟视频| 人成视频在线观看免费观看| 黑人欧美特级aaaaaa片| 亚洲av综合色区一区| 国产精品一区二区在线观看99| 又粗又硬又长又爽又黄的视频| 亚洲精品第二区| 成人亚洲精品一区在线观看| 亚洲成国产人片在线观看| 麻豆精品久久久久久蜜桃| 久久女婷五月综合色啪小说| 成年女人毛片免费观看观看9 | av不卡在线播放| 欧美老熟妇乱子伦牲交| 久久这里只有精品19| 久久久久国产一级毛片高清牌| 嫩草影院入口| 久久久精品免费免费高清| 青草久久国产| 国产免费一区二区三区四区乱码| 日韩电影二区| 观看av在线不卡| 夜夜骑夜夜射夜夜干| 人妻 亚洲 视频| 亚洲天堂av无毛| 老司机亚洲免费影院| 1024香蕉在线观看| 欧美日韩精品成人综合77777| 亚洲四区av| 久久久久国产网址| 男女边吃奶边做爰视频| 韩国精品一区二区三区| 男女边摸边吃奶| 精品国产国语对白av| 亚洲,欧美精品.| 亚洲伊人久久精品综合| 婷婷色综合www| 久久久久国产网址| 一边亲一边摸免费视频| 国产日韩欧美视频二区| 国产免费现黄频在线看| 如日韩欧美国产精品一区二区三区| 春色校园在线视频观看| 大香蕉久久网| 国产97色在线日韩免费| 黄网站色视频无遮挡免费观看| 女性生殖器流出的白浆| 久久久精品94久久精品| 精品亚洲成a人片在线观看| 男女下面插进去视频免费观看| av在线播放精品| 国产色婷婷99| 只有这里有精品99| 久久国产亚洲av麻豆专区| 国产日韩欧美在线精品| 波多野结衣一区麻豆| 成年人午夜在线观看视频| 国产伦理片在线播放av一区| 亚洲成国产人片在线观看| 久久精品久久久久久久性| 欧美日韩一区二区视频在线观看视频在线| 亚洲精品国产色婷婷电影| 欧美成人精品欧美一级黄| 高清黄色对白视频在线免费看| 美女xxoo啪啪120秒动态图| 纯流量卡能插随身wifi吗| 免费观看在线日韩| 天美传媒精品一区二区| 久久久久久人妻| 免费女性裸体啪啪无遮挡网站| 午夜免费鲁丝| 欧美97在线视频| 国产熟女午夜一区二区三区| 亚洲精品日本国产第一区| 成人免费观看视频高清| 精品午夜福利在线看| 999久久久国产精品视频| 久久久亚洲精品成人影院| 啦啦啦中文免费视频观看日本| 亚洲国产毛片av蜜桃av| 91aial.com中文字幕在线观看| 中文字幕精品免费在线观看视频| 尾随美女入室| 女人精品久久久久毛片| 97精品久久久久久久久久精品| 国产精品一区二区在线观看99| 制服人妻中文乱码| 日本欧美视频一区| 国产一区二区三区av在线| www日本在线高清视频| 欧美人与善性xxx| 中国三级夫妇交换| 久久精品夜色国产| 精品国产一区二区三区久久久樱花| 在线观看美女被高潮喷水网站| 亚洲三级黄色毛片| 日韩不卡一区二区三区视频在线| 少妇熟女欧美另类| 99国产综合亚洲精品| 亚洲国产精品一区三区| 午夜影院在线不卡| 少妇被粗大猛烈的视频| 免费黄色在线免费观看| 在线看a的网站| 亚洲欧美清纯卡通| 日韩,欧美,国产一区二区三区| 91精品三级在线观看| 国产成人一区二区在线| 夫妻午夜视频| 亚洲国产欧美日韩在线播放| 最新的欧美精品一区二区| 亚洲一区中文字幕在线| 黑丝袜美女国产一区| 免费观看性生交大片5| 黄片小视频在线播放| 自拍欧美九色日韩亚洲蝌蚪91| 亚洲精品一区蜜桃| 观看av在线不卡| 韩国高清视频一区二区三区| 永久网站在线| 少妇猛男粗大的猛烈进出视频| 亚洲久久久国产精品| 欧美另类一区| 久久国产精品男人的天堂亚洲| 国产一区二区在线观看av| 婷婷色av中文字幕| 91午夜精品亚洲一区二区三区| 美女xxoo啪啪120秒动态图| 成人午夜精彩视频在线观看| 在线观看三级黄色| 精品亚洲乱码少妇综合久久| 日本色播在线视频| 一边摸一边做爽爽视频免费| 国产福利在线免费观看视频| 精品卡一卡二卡四卡免费| 亚洲在久久综合| 欧美少妇被猛烈插入视频| 午夜影院在线不卡| 日日撸夜夜添| 久久久久久人妻| 一区在线观看完整版| 亚洲欧美精品综合一区二区三区 | 又大又黄又爽视频免费| 国产乱来视频区| av网站免费在线观看视频| 久久国内精品自在自线图片| 五月开心婷婷网| 久久精品久久精品一区二区三区| 亚洲国产精品999| 国产片内射在线| 少妇的逼水好多| av一本久久久久| 免费在线观看完整版高清| 国产精品欧美亚洲77777| 国产又爽黄色视频| 色吧在线观看| 国产深夜福利视频在线观看| 久久精品国产自在天天线| 青春草国产在线视频| 亚洲一区二区三区欧美精品| 五月天丁香电影| 天堂中文最新版在线下载| 国产成人a∨麻豆精品| 欧美日本中文国产一区发布| 久久综合国产亚洲精品| 成年动漫av网址| 2018国产大陆天天弄谢| 波多野结衣av一区二区av| 日韩制服骚丝袜av| 中文字幕亚洲精品专区| 亚洲天堂av无毛| 在线观看www视频免费| 欧美亚洲 丝袜 人妻 在线| 秋霞在线观看毛片| 亚洲av欧美aⅴ国产| 男人爽女人下面视频在线观看| 免费观看av网站的网址| 亚洲婷婷狠狠爱综合网| 成人亚洲精品一区在线观看| 久久国产亚洲av麻豆专区| 伦理电影大哥的女人| 日本爱情动作片www.在线观看| 91精品三级在线观看| 亚洲国产精品一区三区| 欧美老熟妇乱子伦牲交| 久久久久久久久免费视频了| 高清视频免费观看一区二区| 天美传媒精品一区二区| 国产不卡av网站在线观看| 久久影院123| 亚洲男人天堂网一区| 9色porny在线观看| 欧美老熟妇乱子伦牲交| 久久热在线av| 人人妻人人爽人人添夜夜欢视频| 两个人看的免费小视频| 亚洲成av片中文字幕在线观看 | 麻豆乱淫一区二区| 欧美亚洲 丝袜 人妻 在线| 狂野欧美激情性bbbbbb| 婷婷色麻豆天堂久久| 美女国产高潮福利片在线看| 免费观看av网站的网址| 高清欧美精品videossex| 男女免费视频国产| 老司机亚洲免费影院| 满18在线观看网站| 久久久久精品性色| a级毛片在线看网站| 久久久久国产精品人妻一区二区| 亚洲激情五月婷婷啪啪| 狂野欧美激情性bbbbbb| 一区二区三区精品91| 成人二区视频| 亚洲天堂av无毛| 伊人久久大香线蕉亚洲五| 一区二区av电影网| 天天躁狠狠躁夜夜躁狠狠躁| 中文精品一卡2卡3卡4更新| 久久精品熟女亚洲av麻豆精品| 午夜久久久在线观看| 人妻 亚洲 视频| 制服人妻中文乱码| 深夜精品福利| 久久精品久久精品一区二区三区| 国产免费现黄频在线看| 色播在线永久视频| 免费观看av网站的网址| 亚洲一区中文字幕在线| 男女啪啪激烈高潮av片| 一级黄片播放器| 成人手机av| 18禁观看日本| 国产成人91sexporn| 亚洲国产毛片av蜜桃av| 国产激情久久老熟女| 国产又色又爽无遮挡免| 黄片播放在线免费| 国产在线免费精品| 午夜91福利影院| 久久精品国产亚洲av高清一级| 国产片特级美女逼逼视频| 亚洲av欧美aⅴ国产| 久久人人爽人人片av| 欧美人与性动交α欧美精品济南到 | av国产久精品久网站免费入址| 亚洲经典国产精华液单| 午夜福利影视在线免费观看| 满18在线观看网站| 亚洲精品第二区| 最黄视频免费看| 亚洲精品一区蜜桃| 国产精品人妻久久久影院| 成人午夜精彩视频在线观看| 黄片播放在线免费| 黄色一级大片看看| av卡一久久| 日本-黄色视频高清免费观看| a级毛片黄视频| 免费人妻精品一区二区三区视频| 18禁观看日本| 各种免费的搞黄视频| 久久久国产欧美日韩av| 免费av中文字幕在线|