NTTデータは3月16日、IOWN(Innovative Optical and Wireless Network、アイオン)、AI、量子コンピュータなど、同社が開発・実用化に取り組む最新技術を紹介するオンラインイベント「NTTデータR&Dフェスタ2022」を開催した。
本記事ではその中から、同社が開発した自動プログラミング技術である、「IT技術者不足を解消する先進的プログラミング技術」のセミナー内容を紹介する。同技術を用いて、データベースからデータを抽出する“SQLクエリ”を自動生成することができるという。
通常、企業や組織でデータ分析を行う際は、データベースから特定のデータを抽出しなければならない。データを抽出する際にはプログラミングが必要になるが、プログラマーやプログラミングができる人材は限られており、データを活用したくてもできない企業や個人は多いものだ。
セミナーで技術の特徴を説明した、技術革新統括本部の竹之内啓太氏は、「本技術を用いることで、プログラミングスキルが無い人でも、欲しいデータの例を示すだけでデータ活用に必要なプログラムを自動生成できる」と述べた。
例えば、小売店のオーナーが「ある商品が何円のとき何個売れたか」を知りたいとする。同技術を利用すれば、過去の売り上げデータを基に分析のためのプログラムを自動生成できる。店舗オーナーは、そのプログラムを使って、「ある商品が何円のとき何個売れたか」を分析することができる。
セミナーでは、自動プログラミングのデモンストレーションも行われた。下の画像のように、赤いシートに欲しいデータの例を入力することで、自動プログラミング技術が緑のシート(過去のデータ)を基に「分析に必要なSQL」を示してくれる。
「欲しいデータがあって、過去のデータもそろっているけれど、データを活用できない、といった課題を解決すべく今回の技術を開発した。プログラムの知識がなくてもデータ活用が可能な世界を実現したい」と竹之内氏は語った。
NTTデータは、現在、自動プログラミング技術をレガシーシステムの刷新に応用しようとしている。
経済産業省が公表している「DXレポート」では、既存のシステムを長年担当していた有識者の不足によってレガシーシステムのブラックボックス化が起こる「2025年の崖」が指摘されている。既存システムの全貌がつかめていなかったり、実装されている機能の意義がわからなかったりするケースは少なくない。ただ、「稼働している既存のシステムにどのような命令を実行したら、どのような結果が返っていたか」というログなどはデータとして残っている。
NTTデータは、そうしたシステムへの入出力データに注目。レガシーシステムの入出力データを基に、現代的なシステムを稼働させるモダンなプログラムを生成する技術の開発を進めている。
レガシーシステムのブラックボックス化しているプログラムを把握できていなくても、自動プログラミング技術を応用することで、既存のシステム要件を満たしつつ、レガシーシステムをモダンなプログラムで構築されたシステムに刷新できるという。
「レガシーシステムの入出力結果を基にプログラムを作成しているので、元の機能を復元したシステムを設計できる点が、自動プログラミングを応用した手法の特徴だ。最終的な目標としては、人を必要としないシステム刷新の実現を考えている。技術開発が進めば、システム開発にAIが欠かせない時代が来るかもしれない」(竹之内氏)