0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Facebook AI發(fā)布了一個(gè)包含編碼問(wèn)題和代碼片段答案的數(shù)據(jù)集

倩倩 ? 來(lái)源:新經(jīng)網(wǎng) ? 2020-03-22 16:53 ? 次閱讀

Facebook AI發(fā)布了一個(gè)包含編碼問(wèn)題和代碼片段答案的數(shù)據(jù)集,旨在評(píng)估基于AI的自然語(yǔ)言代碼搜索系統(tǒng)。該版本還包括Facebook自己的幾種代碼搜索模型的基準(zhǔn)測(cè)試結(jié)果,以及來(lái)自24,000個(gè)GitHub存儲(chǔ)庫(kù)的超過(guò)400萬(wàn)種Java方法的訓(xùn)練語(yǔ)料庫(kù)。

在arXiv上發(fā)表的一篇論文中,研究人員描述了他們收集數(shù)據(jù)的技術(shù)。訓(xùn)練數(shù)據(jù)語(yǔ)料庫(kù)是從最受歡迎的GitHub Android代碼存儲(chǔ)庫(kù)中收集的,按星數(shù)排序。解析存儲(chǔ)庫(kù)中的每個(gè)Java文件,以標(biāo)識(shí)各個(gè)方法。Facebook在培訓(xùn)代碼搜索系統(tǒng)的研究中使用了所得的語(yǔ)料庫(kù)。為了創(chuàng)建評(píng)估數(shù)據(jù)集,他們從Stack Overflow 的問(wèn)答數(shù)據(jù)轉(zhuǎn)儲(chǔ)開(kāi)始,僅選擇同時(shí)具有“ Java”和“ Android”的問(wèn)題研究人員說(shuō):“其中,他們只保留答案被投票的問(wèn)題,這些問(wèn)題也與訓(xùn)練數(shù)據(jù)語(yǔ)料庫(kù)中確定的一種方法相匹配。結(jié)果將518個(gè)問(wèn)題手動(dòng)過(guò)濾為最終的287個(gè)問(wèn)題。研究人員表示:

我們的數(shù)據(jù)集不僅是當(dāng)前可用于Java的最大數(shù)據(jù)集,而且還是唯一以自動(dòng)化(一致)方式針對(duì)Stack Overflow的真實(shí)答案進(jìn)行驗(yàn)證的數(shù)據(jù)集。

Facebook最近發(fā)表了幾篇關(guān)于神經(jīng)代碼搜索的論文,這是一種用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)回答“如何”編碼問(wèn)題的機(jī)器學(xué)習(xí)技術(shù)。軟件開(kāi)發(fā)人員通常會(huì)使用Stack Overflow來(lái)學(xué)習(xí)如何解決特定的編碼問(wèn)題,例如,如何解決 Android應(yīng)用程序中的錯(cuò)誤。但是,在處理使用專(zhuān)有API或較不常見(jiàn)的編程語(yǔ)言的代碼時(shí),這不是一個(gè)選擇。在這種情況下,程序員自己的組織之外的專(zhuān)家很少(或沒(méi)有)。相反,F(xiàn)acebook和其他公司探索了使用源代碼本身作為培訓(xùn)數(shù)據(jù)來(lái)產(chǎn)生可以回答編碼問(wèn)題的自然語(yǔ)言處理(NLP)系統(tǒng)的想法。

去年,F(xiàn)acebook發(fā)表了一篇關(guān)于無(wú)監(jiān)督學(xué)習(xí)方法的論文,稱(chēng)為神經(jīng)代碼搜索(NCS),該方法接受了從GitHub收集的數(shù)據(jù)的培訓(xùn)。該技術(shù)從源代碼中提取單詞,并學(xué)習(xí)將每個(gè)單詞映射到高維空間中的向量的嵌入。嵌入通常具有向量的性質(zhì),向量在向量空間中彼此“接近”,表示具有相似含義的詞,并且詞之間的關(guān)系可用向量算術(shù)表示。一個(gè)例子是在Wikipedia上訓(xùn)練的word2vec模型,當(dāng)給定向量表達(dá)式“ Paris-France + Spain”時(shí),該模型將返回“ Madrid”。

學(xué)習(xí)了嵌入之后,使用“ 詞袋 ”模型將語(yǔ)料庫(kù)中的每個(gè)Java方法轉(zhuǎn)換為嵌入空間中的向量;通過(guò)嵌入將代碼中的每個(gè)單詞轉(zhuǎn)換為向量,并將向量的加權(quán)總和分配給該方法作為其索引。這會(huì)將每個(gè)Java方法映射到嵌入空間中的一個(gè)點(diǎn)。為了回答編碼問(wèn)題,通過(guò)將查詢(xún)中的每個(gè)單詞都通過(guò)嵌入轉(zhuǎn)換并產(chǎn)生加權(quán)和,可以將該問(wèn)題類(lèi)似地映射到嵌入空間中的某個(gè)點(diǎn)。問(wèn)題的“答案”是Java方法,其索引最接近該點(diǎn)。關(guān)鍵思想是查詢(xún)和代碼都使用相同的嵌入,并且訓(xùn)練不需要在輸入數(shù)據(jù)中出現(xiàn)任何問(wèn)題;它僅從源代碼中學(xué)習(xí)。

這種技術(shù)的一個(gè)缺點(diǎn)是它不會(huì)學(xué)習(xí)源代碼中沒(méi)有的單詞的嵌入。Facebook研究人員發(fā)現(xiàn),在Stack Overflow上,有問(wèn)題的單詞中也只有不到一半的單詞包含在源代碼中。這促使研究人員通過(guò)監(jiān)督學(xué)習(xí)擴(kuò)展了NCS,“以彌合自然語(yǔ)言單詞和源代碼單詞之間的鴻溝”。產(chǎn)生的系統(tǒng)稱(chēng)為嵌入統(tǒng)一(UNIF),學(xué)習(xí)查詢(xún)?cè)~的單獨(dú)嵌入。在此培訓(xùn)過(guò)程中,團(tuán)隊(duì)使用類(lèi)似于收集基準(zhǔn)數(shù)據(jù)集的過(guò)程從Stack Overflow中提取了一組問(wèn)題標(biāo)題和代碼段。該訓(xùn)練數(shù)據(jù)集包含451k個(gè)問(wèn)題-答案對(duì),但都不在基準(zhǔn)測(cè)試中。在基準(zhǔn)上進(jìn)行評(píng)估時(shí),對(duì)這一數(shù)據(jù)進(jìn)行培訓(xùn)的聯(lián)合國(guó)系統(tǒng)的性能略?xún)?yōu)于NCS。兩種系統(tǒng)都以大約三分之一的時(shí)間作為最高結(jié)果返回“正確”答案,并以一半的時(shí)間以“前五項(xiàng)”結(jié)果返回“正確”答案。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Facebook
    +關(guān)注

    關(guān)注

    3

    文章

    1429

    瀏覽量

    54610
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4723

    瀏覽量

    68236
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1200

    瀏覽量

    24621
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    base64編碼和解碼的使用方法

    Base64編碼種基于64個(gè)可打印字符來(lái)表示二進(jìn)制數(shù)據(jù)編碼方法。它將每3個(gè)字節(jié)的二進(jìn)制
    的頭像 發(fā)表于 11-10 10:48 ?172次閱讀

    學(xué)習(xí)RV32GC對(duì)比X86-32指令的優(yōu)勢(shì)思考

    : 擁有32個(gè)通用寄存器(x0~x31),其中x0固定為0,這為編譯器和程序員提供更多的寄存器資源。 指令提供三個(gè)寄存器操作數(shù),而不是像X86-32那樣讓源操作數(shù)和目的操作數(shù)共享一個(gè)
    發(fā)表于 10-31 21:47

    AI大模型的訓(xùn)練數(shù)據(jù)來(lái)源分析

    學(xué)術(shù)機(jī)構(gòu)、政府組織或企業(yè)公開(kāi)發(fā)布,涵蓋了各種類(lèi)型的數(shù)據(jù),如圖像、文本、音頻、視頻等。例如: ImageNet :個(gè)廣泛用于圖像識(shí)別任務(wù)的大規(guī)模圖像
    的頭像 發(fā)表于 10-23 15:32 ?313次閱讀

    C2000 DCSM ROM代碼片段/ROP漏洞

    電子發(fā)燒友網(wǎng)站提供《C2000 DCSM ROM代碼片段/ROP漏洞.pdf》資料免費(fèi)下載
    發(fā)表于 08-28 09:39 ?0次下載
    C2000 DCSM ROM<b class='flag-5'>代碼</b><b class='flag-5'>片段</b>/ROP漏洞

    AI模擬器

    用戶(hù)問(wèn)題數(shù)據(jù),然后在數(shù)據(jù)庫(kù)中對(duì)比,調(diào)用Search_HidingHeadVerseFun()回調(diào)函數(shù),獲取答案數(shù)據(jù)信息。 總的來(lái)說(shuō),這段代碼
    發(fā)表于 08-22 17:28

    個(gè)哪夠?是時(shí)候讓AI替你打工

    大模型的下一個(gè)突破方向是什么?斯坦福大學(xué)教授吳恩達(dá)的答案AI智能體工作流。在今年4月的次演講中,吳恩提到多個(gè)智能體起工作,分配任務(wù)并討
    的頭像 發(fā)表于 06-08 08:04 ?121次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>哪夠?是時(shí)候讓<b class='flag-5'>一</b>群<b class='flag-5'>AI</b>替你打工<b class='flag-5'>了</b>

    請(qǐng)問(wèn)NanoEdge AI數(shù)據(jù)該如何構(gòu)建?

    我想用NanoEdge來(lái)識(shí)別異常的聲音,但我目前沒(méi)有辦法生成模型,我感覺(jué)可能是數(shù)據(jù)的問(wèn)題,請(qǐng)問(wèn)我該怎么構(gòu)建數(shù)據(jù)?或者生成模型失敗還會(huì)有哪些原因?
    發(fā)表于 05-28 07:27

    利用神經(jīng)網(wǎng)絡(luò)對(duì)腦電圖(EEG)降噪

    )信號(hào)中的眼電圖(EOG)噪聲。EEGdenoiseNet數(shù)據(jù)包含4514個(gè)干凈的EEG片段和3400
    發(fā)表于 04-30 20:40

    RAG系統(tǒng)中答案無(wú)關(guān)片段對(duì)LLMs生成結(jié)果的影響分析

    與常見(jiàn)語(yǔ)義無(wú)關(guān)的答案無(wú)關(guān)片段相比,LLMs更容易受到高度語(yǔ)義相關(guān)的答案無(wú)關(guān)片段的影響;
    發(fā)表于 04-15 09:49 ?334次閱讀
    RAG系統(tǒng)中<b class='flag-5'>答案</b>無(wú)關(guān)<b class='flag-5'>片段</b>對(duì)LLMs生成結(jié)果的影響分析

    【國(guó)產(chǎn)FPGA+OMAPL138開(kāi)發(fā)板體驗(yàn)】(原創(chuàng))5.FPGA的AI加速源代碼

    復(fù)雜的數(shù)據(jù)依賴(lài)關(guān)系等問(wèn)題。編寫(xiě)FPGA用于AI加速的程序可不是件簡(jiǎn)單的事,它涉及到硬件描述語(yǔ)言和并行計(jì)算的知識(shí)。下面我的目標(biāo)是加速個(gè)簡(jiǎn)單
    發(fā)表于 02-12 16:18

    語(yǔ)音數(shù)據(jù)AI語(yǔ)音技術(shù)的靈魂

    、引言 在人工智能領(lǐng)域,語(yǔ)音技術(shù)被譽(yù)為“未來(lái)人機(jī)交互的入口”,而語(yǔ)音數(shù)據(jù)則是AI語(yǔ)音技術(shù)的靈魂。本文將深入探討語(yǔ)音數(shù)據(jù)
    的頭像 發(fā)表于 12-14 14:33 ?945次閱讀

    語(yǔ)音數(shù)據(jù):推動(dòng)AI語(yǔ)音技術(shù)的核心力量

    、引言 隨著人工智能的快速發(fā)展,語(yǔ)音技術(shù)作為人機(jī)交互的重要手段,正發(fā)揮著越來(lái)越重要的作用。而語(yǔ)音數(shù)據(jù)則是推動(dòng)AI語(yǔ)音技術(shù)的核心力量。本文將詳細(xì)介紹語(yǔ)音
    的頭像 發(fā)表于 12-12 11:32 ?655次閱讀

    大模型數(shù)據(jù):揭秘AI背后的魔法世界

    的魔法世界吧! 二、大模型數(shù)據(jù):智慧的寶庫(kù) 大模型數(shù)據(jù)就如同一個(gè)智慧的寶庫(kù),其中包含了世界各
    的頭像 發(fā)表于 12-07 17:33 ?516次閱讀

    大模型數(shù)據(jù):力量的源泉,進(jìn)步的階梯

    、引言 在? ? 的繁榮發(fā)展中,大模型數(shù)據(jù)的作用日益凸顯。它們?nèi)琮嫶蟮闹R(shí)庫(kù),為AI提供豐富的信息和理解能力。本文將用
    的頭像 發(fā)表于 12-07 17:18 ?618次閱讀

    mysql數(shù)據(jù)庫(kù)默認(rèn)字符編碼是什么

    編碼種將字符映射到二進(jìn)制數(shù)據(jù)的方式。它定義字符在計(jì)算機(jī)中的存儲(chǔ)和傳輸方式,決定計(jì)算機(jī)如何解讀和顯示不同的字符。 為什么需要字符
    的頭像 發(fā)表于 11-16 14:50 ?1504次閱讀