Data Analysis

データ分析について語ります。

分析プログラムもAIが書いてくれる世界が来る、かも。

ちょっと、いつもと違う話題を。

データ分析をしていると、分析コードは多かれ少なかれ、書かないといけませんね。少し前に、「プログラマはAIに駆逐される職業」みたいな話がありましたが、それが少し真実味を帯びるようなソリューションが出てきました。

AI Programmerという黒船

「何をやりたいかを」適当に日本語で書くと、それに相当するプログラムを各種言語でAIが自動生成してくれる、というサービスが出てきました。

 AI Programmer

結論から言うと、よくできていると思います。まだまだの所はありますが、将来に期待が持てる内容です。しかも、日本で開発されているところがすばらしい。

SQL正規表現はかなり実用的なレベルまで動いていると思います。分析コードやプログラムは、ある程度小規模だとOKな感じですね。ただし、人がある程度寄り添ってあげないと、ドンピシャなプログラムは書けないことが多いです。それに、出てきた結果が妥当かどうかは、ある程度プログラムを読めるスキルがないと厳しいかも、です。それなりに動いちゃうので…。

で、ちょっと、試した感じで、かなりざっくりな推測ですが、こんな感じかと。

 1. 入力された日本語を英語に訳す (既存技術)
  ↓
 2. 英語からNLP分析を経て、ある言語(例えばpython)でのスクリプトを生成
  多分、ある程度ルールベースっぽい感じがする
  ↓
 3. 生成した言語から、他のプログラム言語に変換 (既存技術)

とはいえ、よくできていますね。素晴らしい!

プログラマはAIに駆逐されるか

プログラミングが不得意なデータ分析者がAIの助けを借りて、というのは現実味が出てきました。バリバリ、プログラミングをする人でも、「あの処理どう書くんだっけ」をググるよりは、このような機能を使う方が効率的になるかもしれません。AIのプログラミング支援というのは、ありですね。

今回のAI Programmerを見ていて思いましたが、AIの合成するコードは非常に合理的です。ワンライナーになりがちな傾向が見られます。これは人間のプログラマにとって必ずしもよくはない、特に可読性が高いとは言えないですね。デバッグとかもしにくい(きっとAIにはそんなものがいらない!?)し、メンテナンスもやりにくい。まあ、こういうところも、そのうち調整できるようになるでしょうから、ありはありでしょう。

で、プログラマが駆逐されるか、というと、まだまだな感じはします。短文のプログラムではまだしも、大規模なプログラムや、システム構築、となると少し、いえ、だいぶ先の話になるでしょう。とはいえ、油断してると気付いたら仕事奪われるかも、です。

プログラミングの素人にとっては、プログラミング手法を手に入れられる、玄人にとっては仕事の初動効率を上げられる、ある意味DX的な働き方の一角となる技術かもしれません。楽しみな技術です。
データ分析者にとっては、コーディングは分析の手段なので、コーディングの自動化は喜ばしいことかもしれません。データ分析に集中できるようになりますね。

暫くは、共存共栄というか、我々としてはうまく活用して効率のいい開発・分析をしていきたいところですね。