IBM mbukak CodeNet kanggo sistem pembelajaran mesin sing nerjemahake lan verifikasi kode

IBM wis mbukak inisiatif CodeNet, sing tujuane nyedhiyakake panaliti kanthi set data sing ngidini dheweke nyoba nggunakake teknik pembelajaran mesin kanggo nggawe penerjemah basa pamrograman, generator kode lan analisa. CodeNet kalebu koleksi 14 yuta conto kode sing ngrampungake 4053 masalah pemrograman umum. Gunggunge, koleksi kasebut ngemot udakara 500 yuta baris kode lan kalebu 55 basa pamrograman, loro basa modern kayata C++, Java, Python lan Go, lan basa warisan kalebu COBOL, Pascal lan FORTRAN. Pangembangan proyek kasebut disebarake miturut lisensi Apache 2.0, lan set data direncanakake bakal disebarake ing wangun domain umum.

Conto kasebut dianotasi lan ngetrapake algoritma sing padha ing macem-macem basa pamrograman. Dikarepake yen set sing diusulake bakal mbantu nglatih sistem pembelajaran mesin lan ngembangake inovasi ing bidang terjemahan lan parsing kode mesin, padha karo carane database gambar anotasi ImageNet mbantu pangembangan pangenalan pola lan sistem visi komputer. Macem-macem kompetisi pemrograman dikutip minangka salah sawijining sumber utama pembentukan koleksi.

Ora kaya penerjemah tradisional, sing dileksanakake adhedhasar aturan terjemahan, sistem pembelajaran mesin bisa nangkep lan njupuk konteks panggunaan kode. Nalika ngowahi saka basa pamrograman siji menyang basa liyane, konteks uga penting kaya nalika nerjemahake saka basa siji menyang basa liyane. Kurang pertimbangan konteks iki sing ngalangi kode diowahi saka basa warisan kayata COBOL.

Nduwe database akeh implementasi algoritma ing macem-macem basa bakal mbantu nggawe sistem pembelajaran mesin universal sing, tinimbang terjemahan langsung ing antarane basa tartamtu, ngapusi perwakilan kode sing luwih abstrak, ora gumantung saka basa pamrograman tartamtu. Sistem kasebut bisa digunakake minangka penerjemah, nerjemahake kode sing dikirim ing basa sing didhukung menyang perwakilan abstrak internal, saka kode kasebut bisa digawe ing pirang-pirang basa.

Sistem kasebut uga bakal bisa nindakake transformasi bidirectional. Contone, bank lan lembaga pemerintah terus nggunakake proyek ing basa COBOL sing wis lawas. Penerjemah berbasis machine learning bakal bisa ngowahi kode COBOL dadi representasi Jawa, lan, yen perlu, nerjemahake fragmen Jawa maneh menyang kode COBOL.

Saliyane terjemahan ing antarane basa, area aplikasi CodeNet kayata nggawe sistem telusuran kode cerdas lan otomatisasi deteksi klon, uga pangembangan pangoptimal lan sistem koreksi kode otomatis. Utamane, conto sing ditampilake ing CodeNet dilengkapi metadata sing nggambarake asil tes kinerja, ukuran program sing diasilake, konsumsi memori lan negara, sing ngidini kita mbedakake kode sing bener saka kode kanthi kesalahan (kanggo mbedakake kode sing bener saka kode sing salah, koleksi khusus kalebu conto karo kasalahan, nuduhake kang 29.5%). Sistem pembelajaran mesin bisa njupuk metadata iki kanggo ngasilake kode sing paling optimal utawa kanggo ngenali regresi ing kode sing dianalisis (sistem kasebut bisa ngerti yen algoritma ing kode sing dikirim ora ditindakake kanthi optimal utawa ngemot kesalahan).

Source: opennet.ru

Add a comment