自然言語から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.com , SQL


次の記事
VMwareとPivotal、KubernetesなどをホストするCloud Native Computing Foundationに参加。Kubernetesに追い風

前の記事
アップルとアクセンチュアが提携、アクセンチュアの専門部隊とアップルのエンジニアが協力。iOSアプリを業務システムやIoTプラットフォームと連係強化へ


カテゴリ



Blogger in Chief

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

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



新着記事 10本


PR - Books


fig

fig

fig