Facebook TransCoder-ро таҳия мекунад, то кодро аз як забони барномасозӣ ба забони дигар тарҷума кунад

Муҳандисони Facebook як транскомпиляторро нашр карданд TransCoder, ки усулҳои омӯзиши мошинро барои табдил додани коди сарчашма аз як забони барномасозии сатҳи баланд ба забони дигар истифода мебарад. Дар айни замон, барои тарҷумаи код байни Java, C++ ва Python дастгирӣ карда мешавад. Масалан, TransCoder ба шумо имкон медиҳад, ки рамзи ибтидоии Java-ро ба рамзи Python ва рамзи Python ба рамзи сарчашмаи Java табдил диҳед. Коркарди лоихахо дар амал чорй карда мешаванд тадқиқоти назариявӣ оид ба ташкили сети нейрон барои транскомпиляции автоматии самараноки код ва паҳн шудан иҷозатномаи Creative Commons Attribution-NonCommercial 4.0 танҳо барои истифодаи ғайритиҷоратӣ.

Татбиқи системаи омӯзиши мошинсозӣ ба Pytorch асос ёфтааст. Ду модели тайёр барои зеркашӣ пешниҳод карда мешаванд: аввал барои тарҷумаи C ++ ба Java, Java ба C ++ ва Java ба Python, ва дуюм барои пахш
C++ ба Python, Python ба C++ ва Python ба Java. Барои омӯзонидани моделҳо, мо кодҳои сарчашмаҳои лоиҳаҳои дар GitHub интишоршударо истифода мебарем. Агар хоҳед, моделҳои тарҷумаро барои дигар забонҳои барномасозӣ эҷод кардан мумкин аст. Барои санҷидани сифати пахш, маҷмӯаи санҷишҳои воҳидҳо ва инчунин маҷмӯи тестӣ, ки 852 функсияи мувозиро дар бар мегирад, омода карда шудааст.

Гуфта мешавад, ки TransCoder аз нигоҳи дақиқии табдилдиҳӣ аз тарҷумонҳои тиҷоратӣ, ки усулҳои бар асоси қоидаҳои табдилро истифода мебаранд, хеле бартарӣ дорад ва дар ҷараёни кор он ба шумо имкон медиҳад, ки бидуни арзёбии коршиносон дар забони манбаъ ва мавриди ҳадаф кор кунед. Аксари хатогиҳоеро, ки дар ҷараёни кори модел ба вуҷуд меоянд, тавассути илова кардани маҳдудиятҳои оддӣ ба декодер бартараф кардан мумкин аст, то дурустии функсияҳои тавлидшуда аз ҷиҳати синтаксисӣ дуруст бошад.

Facebook TransCoder-ро таҳия мекунад, то кодро аз як забони барномасозӣ ба забони дигар тарҷума кунад

Тадқиқотчиён як меъмории нави шабакаи нейронии "Трансформатор" -ро барои моделсозии пайдарпай пешниҳод карданд, ки дар он такроршавӣ бо "" иваз карда мешавад.таваҷҷӯҳ"(модели seq2seq бо таваҷҷӯҳ), ки ба шумо имкон медиҳад, ки аз баъзе вобастагӣ дар графики ҳисоббарорӣ халос шавед ва он чизеро, ки қаблан ба параллелизатсия мувофиқ набуд, параллел кунед. Ҳама забонҳои дастгирӣшаванда як модели ягонаи умумиро истифода мебаранд, ки бо истифода аз се принсип - ибтидосозӣ, моделсозии забон ва тарҷумаи бозгашт таълим дода мешавад.

Facebook TransCoder-ро таҳия мекунад, то кодро аз як забони барномасозӣ ба забони дигар тарҷума кунад

Манбаъ: opennet.ru

Илова Эзоҳ