IBM louvri CodeNet pou sistèm aprantisaj machin ki tradui ak verifye kòd

IBM te revele inisyativ CodeNet li a, ki gen pou objaktif pou bay chèchè yo yon seri done ki pèmèt yo fè eksperyans ak itilizasyon teknik aprantisaj machin pou kreye tradiktè langaj pwogramasyon, jeneratè kòd ak analizeur. CodeNet gen ladann yon koleksyon 14 milyon egzanp kòd ki rezoud 4053 pwoblèm pwogram komen. An total, koleksyon an gen apeprè 500 milyon liy kòd epi li kouvri 55 lang pwogramasyon, tou de lang modèn tankou C++, Java, Python ak Go, ak lang eritaj ki gen ladan COBOL, Pascal ak FORTRAN. Devlopman pwojè a distribye anba lisans Apache 2.0, epi ansanm done yo planifye pou distribye sou fòm domèn piblik.

Egzanp yo anote epi aplike algoritm ki idantik nan diferan lang pwogramasyon. Li espere ke seri yo pwopoze a pral ede fòme sistèm aprantisaj machin yo ak devlope inovasyon nan domèn tradiksyon ak machin kòd parsing, menm jan ak fason ImageNet baz done imaj anote a te ede devlopman nan rekonesans modèl ak sistèm vizyon òdinatè. Yo site plizyè konpetisyon pwogramasyon kòm youn nan sous prensipal fòmasyon koleksyon.

Kontrèman ak tradiktè tradisyonèl yo, ki aplike dapre règ tradiksyon, sistèm aprantisaj machin yo ka pran ak pran an kont kontèks itilizasyon kòd. Lè konvèti soti nan yon lang pwogramasyon nan yon lòt, kontèks enpòtan menm jan ak lè tradui soti nan yon lang imen nan yon lòt. Mank konsiderasyon kontèks sa a se sa ki anpeche kòd konvèti nan lang eritaj tankou COBOL.

Gen yon baz done gwo enplemantasyon algorithm nan diferan lang pral ede kreye sistèm aprantisaj machin inivèsèl ki, olye pou yo tradiksyon dirèk ant lang espesifik, manipile yon reprezantasyon ki pi abstrè nan kòd la, endepandan de lang pwogramasyon espesifik. Yon sistèm sa a ka itilize kòm yon tradiktè, tradui kòd la transmèt nan nenpòt nan lang yo sipòte nan reprezantasyon abstrè entèn li yo, ki soti nan ki kòd yo ka pwodwi nan plizyè lang.

Sistèm nan pral kapab tou fè transfòmasyon bidireksyon. Pa egzanp, bank yo ak ajans gouvènman yo kontinye sèvi ak pwojè yo nan lang COBOL demode. Yon tradiktè ki baze sou aprantisaj machin ap kapab konvèti kòd COBOL nan yon reprezantasyon Java, epi, si sa nesesè, tradui fragman Java a tounen nan kòd COBOL.

Anplis de sa nan tradiksyon ant lang yo, yo mansyone domèn aplikasyon CodeNet tankou kreyasyon sistèm rechèch entelijan kòd ak automatisation deteksyon klonaj, osi byen ke devlopman nan optimize ak sistèm koreksyon kòd otomatik yo mansyone. An patikilye, egzanp yo prezante nan CodeNet yo ekipe ak metadata ki dekri rezilta tès pèfòmans yo, gwosè pwogram ki kapab lakòz, konsomasyon memwa ak eta, ki pèmèt nou fè distenksyon ant kòd kòrèk ak kòd ki gen erè (pou distenge kòd kòrèk ak kòd kòrèk, koleksyon espesyalman gen ladan egzanp ak erè, pati nan ki se 29.5%). Yon sistèm aprantisaj machin ka pran metadata sa yo an kont pou jenere kòd ki pi pi bon an oswa pou idantifye regressions nan kòd analize a (sistèm nan ka konprann ke algorithm nan kòd soumèt la pa enplemante nan fason optimal oswa gen erè).

Sous: opennet.ru

Add nouvo kòmantè