【IT】Facebook、プログラムコードを別のプログラミング言語に翻訳する「TransCoder AI」を開発 [田杉山脈★]

1: 田杉山脈 ★ 2020/06/17(水) 21:18:57.52 CAP_USER.net
FacebookはC++、J…a、Pythonなどの高水準言語で書かれたプログラムコードを別のプログラミング言語に変換するニューラルトランスコンパイラを開発したという。このシステムは教師なし学習を採用しており、同社は従来よりもかなり効率が改善したとしている。 既存のプログラムコードを別の言語に移行するには、両方の言語について専門的な知識が必要な上、コストがかかってしまいがちだ。たとえばオーストラリアのコモンウェルス銀行はプラットフォームをCOBOLからJ…aに移行するために5年の歳月と約7億5000万米ドルを費やした。 Facebookは教師なし学習というアプローチ法に取り組み、C++、J…a、Python間でソースコードを変換することができる「TransCoder」を開発した。トレーニングには280万件以上のオープンソースリポジトリからなるGitHubコーパスを使用した。TransCoderは元のプログラムコードを別の言語へ変換し、変換したプログラムコードを元の言語へ再度変換することを繰り返して学習している。 TransCoderのパフォーマンス評価にはGeeksforGeeks(コーディングの問題点や解決方法を集めたオンラインプラットフォーム)から抽出したC++、J…a、Pythonの関数852個を使用した。Facebookによると、最も評価の高かったバージョンのTransCoderは、厳密に言えば同一の関数を生成していないことが多かったが、計算精度が高かった。以下にTransCoderが期待される結果を返した割合を…る。 C++からJ…aへの変換:74.8% C++からPythonへの変換:67.2% J…aからC++への変換:91.6% PythonからJ…aへの変換:56.1% PythonからC++への変換:57.8% J…aからPythonへの変換:68.7% TransCoderが各言語に特有のシンタックスを理解するだけでなく、言語のデータ構造やメソッドも理解したことが証明されたと研究者らは述べている。 専門知識を持たなくても、TransCoderを使えばあらゆるプログラミング言語で容易にソースコードを生成できます。しかも商業用のソリューションを大幅に上回っています。 AIによるコード生成システムを開発しているのはFacebookだけではない。今年行われたMicrosoftのカンファレンス「Build」では、OpenAIが英文で書かれたコメントから関数を生成するモデルをデモンストレーションした。2年前にはライス大学の研究者が「意図」を読み取ってコードを生成する「Bayouというシステムを作っている。 Intel Labsの主任研究者兼ディレクターのJustin Gottschlich氏はVentureBeatのインタビューに対してこう語った。 これらはソフトウェア開発の無駄を取り除いてくれます。バグ対応の手間が省けるので、プロダクティビティの加速化に役立ちます。そして新たな職を生み出します。なぜならプログラミングをしたことのない人々でもこれらのインターフェイスを通じてクリエイティブな直観を形にすることができるからです。 https://thebridge.jp/2020/06/facebooks-transcoder-ai-conve…s-code-from-one-programming-language-into-another


3: 名刺は切らしておりまして 2020/06/17(水) 21:28:36.18 Xx+137s0.net
こういうのはだいたい、不具合でて直そうとしたら人には理解できなくて苦労する

4: 名刺は切らしておりまして 2020/06/17(水) 21:32:25.52 3bcWTHJP.net
こういうのって違う言語に変換してから元の言語にもう一回変換しても同じ動きするのかな それか俺が書いた無駄な部分が最適化されてたりして

6: 名刺は切らしておりまして 2020/06/17(水) 21:33:26.30 Cnw6NGdX.net
SE時代、似たようなやつをリプレースの時作ったわ

9: 名刺は切らしておりまして 2020/06/17(水) 21:46:22.86 SwSN/ozR.net
むしろ、ルールベースで出来ないの?

14: 名刺は切らしておりまして 2020/06/17(水) 22:02:55 uosQIoSu.net
よし、COBOLを一括変換だな

16: 名刺は切らしておりまして 2020/06/17(水) 22:10:01.63 0AJ0qp+Y.net
そして、致命的な不具合が発生しても一生修復できないプログラム完成

20: 名刺は切らしておりまして 2020/06/17(水) 22:30:33.79 iSLbcHy0.net
競技プログラミングぐらいなら 100%変換可能だろ

22: 名刺は切らしておりまして 2020/06/17(水) 22:41:36 D3u6MgW+.net
自然言語をプログラム言語に翻訳できる日も近い

24: 名刺は切らしておりまして 2020/06/17(水) 22:49:36.56 HASRNfE3.net
アスペは文章を全部頭に入れてから考えるのが苦手 嫌われる要素しかない人間、それがアスペルガー症候群

31: 名刺は切らしておりまして 2020/06/17(水) 23:15:17.25 DktoS3Cl.net
変換するくらいなら作り直す

33: 名刺は切らしておりまして 2020/06/17(水) 23:18:36.43 Bg7swl4C.net
ちゃんと動くまで勝手にやってくれるなら素晴らしい

38: 名刺は切らしておりまして 2020/06/17(水) 23:38:48 upPVLLb6.net
自動変換は変数名がどうなるか分からず変な変数名になる恐れがあるな。

42: 名刺は切らしておりまして 2020/06/18(Thu) 00:06:26 Mash+A4a.net
変換率100行かないなら、どんだけテストしなきゃいけないのか

44: 名刺は切らしておりまして 2020/06/18(Thu) 00:20:39 l47ar4Dh.net
変換したのを逆変換したら元に戻るのかな

45: 名刺は切らしておりまして 2020/06/18(Thu) 00:28:05 vQXLdcI0.net
PythonからVBAへの変換やってほしい もうVBAとか触りたくないねんけど あれ作れこれ作れってあとからあとからマクロ要望出てきてもうやだ

57: 名刺は切らしておりまして 2020/06/18(Thu) 03:08:47 3JsGnrtI.net
英語の翻訳ソフトのように、プログラムの文法や構文・関数の意味を 視覚的に表してくれるソフトでねーかな

65: 名刺は切らしておりまして 2020/06/18(木) 08:13:19.56 kBXR9y3N.net
変換できなかった部分とオリジナルの違いとか考えると全く使えんな

66: 名刺は切らしておりまして 2020/06/18(木) 08:21:55.90 4GnnWKKg.net
『人間に危害を加えてはいけない』 AI「これ邪魔だから消したろ」

70: 名刺は切らしておりまして 2020/06/18(Thu) 10:35:13 poHFf5wC.net
N88BASICからFBASICへの変換

75: 名刺は切らしておりまして 2020/06/18(Thu) 11:07:49 k242yC7k.net
微妙な割合。

77: 名刺は切らしておりまして 2020/06/18(木) 11:33:18.85 Ht0Ao6jT.net
プログラムは人間が書くから コメントはAIが書いてくれないかな

80: 名刺は切らしておりまして 2020/06/18(木) 11:44:00.83 bYicxqn+.net
変換後のデバックに100倍の時間かかる

97: 名刺は切らしておりまして 2020/06/18(木) 13:54:13.46 SrFf9Alk.net
ライブラリ呼んでる場合はどうするの?

98: 名刺は切らしておりまして 2020/06/18(木) 13:59:44.06 QiIRNLls.net
どっちかというとWin10のアップデートで認識しなくなるとか 変換したデータ全部消去とか。そっちのほうがこわいです

引用元: http://anago.2ch.sc/test/read.cgi/bizplus/1592396337/

人気記事ランキング

コメントを残す

このページの先頭へ