自然言語から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クエリが生成できるようになったとしています。

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

このエントリーをはてなブックマークに追加
follow us in feedly


関連タグ 機械学習・AI / Salesforce / SQL



タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準
アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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


最新記事10本