自然言語からSQLクエリを機械学習で生成、業務データベースが言葉で検索できるように。セールスフォース・ドットコムがAIの研究成果を公開

2017年9月1日

セールスフォース・ドットコムの人工知能研究部門であるSalesforce Researchは、自然言語による質問とデータベーススキーマの情報を基に、質問に対応するSQLクエリを機械学習で生成する研究成果を公開しました

これによってビジネスパーソンがSQL言語を学ぶことなく、業務データベースから必要な情報を自然言語で検索できることが期待できます。

自然言語を解析してSQLクエリを生成

下記の図は、公開された研究成果の概要を示したものです。

図の左上「How many engine types did Val Musetti use?」が自然言語の問いとなり、「Entrant / Constructor / Chassis / Engine / No / Driver」がデータベースのテーブルスキーマとなります。

このふたつの情報を機械学習済みのソフトウェア「Seq2SQL」にインプットすると、適切なSQLクエリが生成されることが示されています。

ちなみに問いの日本語訳は「Val Musettiは何種類のエンジンを使ったのか?」で、Val Musetti氏は有名なスタントマンとしてさまざまなレーシングカーを操ったそうです。

fig

「Seq2SQL」は、自然言語の問いから、SQLクエリを構成する次の3つの要素を生成すると説明されています。

1つ目は「Aggregation classifier」。問いの答えに対応する集約を行います。この例では、問いの「How many」に対応して、SELECT Countで数を数えるための「COUNT」が生成されます。

2つ目が「column pointer」。SELECT節に対応し、問いの答えを得るべき列を示します。ここでは問いの「How many engine types」から、エンジンの種類を問われていると判断し、列名「Engine」が生成されます。

3つ目がWhere節に書くべき条件です。問いに「Val Musetti氏は」とあることから、ここでは「driver = Val Musetti」が生成されます。

Salesforce Researchは、機械学習を用いることでより正確なSQLクエリが生成できるようになったとしています。

また、このように自然言語をもとにデータベースへの問い合わせができるようになることで、ユーザーはテーブルスキーマなどを知らなくてもさまざまな業務データベースから自然言語で情報を取得できるようになり、より効果的な営業やマーケティング施策が実現しやすくなることが期待されるとしています。

あわせて読みたい

機械学習・AI Salesforce SQL




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本