JP2023507286A - 自然言語クエリを構造化クエリ言語に変換するためのスキーマ注釈ファイルの自動作成 - Google Patents

自然言語クエリを構造化クエリ言語に変換するためのスキーマ注釈ファイルの自動作成 Download PDF

Info

Publication number
JP2023507286A
JP2023507286A JP2022534804A JP2022534804A JP2023507286A JP 2023507286 A JP2023507286 A JP 2023507286A JP 2022534804 A JP2022534804 A JP 2022534804A JP 2022534804 A JP2022534804 A JP 2022534804A JP 2023507286 A JP2023507286 A JP 2023507286A
Authority
JP
Japan
Prior art keywords
relational database
natural language
metadata
schema
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022534804A
Other languages
English (en)
Inventor
コラサニ、エライ
ヨー、ハング
ポペスク、オクタビアン
シェイニン、バディム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023507286A publication Critical patent/JP2023507286A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24573Query processing with adaptation to user needs using data annotations, e.g. user-defined metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • G06N5/025Extracting rules from data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

自然言語クエリを処理するためのリレーショナル・データベースのセマンティック・モデルを自動的に作成する方法、システム及びコンピュータ可読媒体が提供される。コンピューティング・デバイスが、リレーショナル・データベース・メタデータを自動的に抽出する。コンピューティング・デバイスは、抽出されたメタデータのカラムについてテキスト・ラベルを入力するようにユーザに促す。コンピューティング・デバイスは、リレーショナル・データベース・メタデータとカラムについてのテキスト・ラベルとに基づいて、スキーマ注釈ファイルを自動的に生成する。スキーマ注釈ファイルを用いて、リレーショナル・データベースについて自然言語クエリが処理される。

Description

本発明の実施形態は、自然言語クエリを構造化クエリ言語に変換する規則ベースのシステムに関し、具体的には、自然言語クエリを処理するために、データベース内の関係を記述するメタデータのユーザ注釈に基づいて、スキーマ注釈ファイルを自動的に生成するシステムに関する。
リレーショナル・データベース管理システムは、構造化データを格納し管理するために用いることができる。データベース内のデータへのアクセスは、技術的知識と構造化クエリ言語の専門的知識とに基づく場合があり、一般的に複雑で時間がかかるプロセスである。格納されたデータへのアクセスを改善するために、データベース・システムに対する自然言語インタフェースを用いることができ、これにより、ユーザが、自然言語の質問を尋ね、回答をデータベースから受け取ることによって、データにアクセスすることができるようになる。データベース・システムに対する自然言語インタフェースは、自然言語表現を構造化クエリに変換するもので、データベース内の情報への簡単で迅速なアクセスを提供する。
データベース・システムに対する規則ベースの自然言語インタフェースは、エンティティの間の関係を定義するデータベース要素のセマンティック・モデルを用いて動作する。データベース・システムに対する規則ベースの自然言語インタフェースは、エンティティの分類及びそれらのエンティティ間の関係のモデル化を含む、データベースのオントロジ表現に依存する。
しかし、データベース・オントロジを生成することは、通常、時間がかかり、手作業集約的なプロセスである。データベース・オントロジは、エンティティが互いに有する関係のタイプを指定するためにスキーマを用いる。通常、エンティティ間の関係の明示的な性質が、基礎となるデータベース構造及びオントロジの深い知識を有する専門家によって提供される。例えば、従来の手法では、スキーマ注釈ファイルの作成は、データベース構造及びオントロジ、並びに、スキーマ注釈ファイル構造、スキーマ注釈ファイルを作成するために用いられるフレーズ及びフラグ・ステートメントのサポート形式の知識を有するユーザによって、行われる。
そのようなセマンティック・モデル又はオントロジを作成することは、各々の関係が手作業で定められるので、データベース構造及びスキーマの深い知識を必要とする、時間がかかる手作業プロセスである。大規模で複雑なシステムでは、この手法は通用しない。
従って、当技術分野には、上記の問題に取り組む必要性がある。
第1の態様から見ると、本発明は、コンピューティング・デバイスを用いて自然言語クエリを処理するためのリレーショナル・データベースのセマンティック・モデルを作成する自動化された方法であって、コンピューティング・デバイスによって、リレーショナル・データベース・メタデータを自動的に抽出することと、コンピューティング・デバイスによって、抽出されたメタデータのカラムについてユーザからのテキスト・ラベルを促すことと、コンピューティング・デバイスによって、リレーショナル・データベース・メタデータとカラムに与えられたテキスト・ラベルとに基づいて、スキーマ注釈ファイルを自動的に生成することと、スキーマ注釈ファイルを用いて、リレーショナル・データベースについて自然言語クエリを処理することとを含む方法を提供する。
さらに別の態様から見ると、本発明は、コンピューティング領域におけるソフトウェア・サービスを処理するためのシステムであって、1つ又は複数のプロセッサと、1つ又は複数のコンピュータ可読ストレージ媒体と、1つ又は複数のコンピュータ可読ストレージ媒体に格納された、1つ又は複数のコンピュータ・プロセッサのうちの少なくとも1つによる実行のためのプログラム命令とを備えるシステムを提供し、そのプログラム命令は、コンピューティング・デバイスによって、リレーショナル・データベース・メタデータを自動的に抽出し、コンピューティング・デバイスによって、抽出されたメタデータのカラムについてユーザからのテキスト・ラベルを促し、コンピューティング・デバイスによって、リレーショナル・データベース・メタデータとカラム内に与えられたテキスト・ラベルとに基づいて、スキーマ注釈ファイルを自動的に生成し、スキーマ注釈ファイルを用いて、リレーショナル・データベースについて自然言語クエリを処理するための命令を含む。
さらに別の態様から見ると、本発明は、コンピューティング領域におけるソフトウェア・サービスを処理するためのコンピュータ・プログラム製品であって、1つ又は複数のコンピュータ可読ストレージ媒体に集合的に格納されたプログラム命令を集合的に有する1つ又は複数のコンピュータ可読ストレージ媒体を備えるコンピュータ・プログラム製品を提供し、そのプログラム命令は、コンピュータによって実行可能であり、コンピューティング・デバイスによって、リレーショナル・データベース・メタデータを自動的に抽出し、コンピューティング・デバイスによって、抽出されたメタデータのカラムについてユーザからのテキスト・ラベルを促し、コンピューティング・デバイスによって、リレーショナル・データベース・メタデータとカラム内に与えられたテキスト・ラベルとに基づいて、スキーマ注釈ファイルを自動的に生成し、スキーマ注釈ファイルを用いて、リレーショナル・データベースについて自然言語クエリを処理することをコンピュータに行わせる。
さらに別の態様から見ると、本発明は、自然言語クエリを処理するためのリレーショナル・データベースのセマンティック・モデルを作成するためのコンピュータ・プログラム製品であって、処理回路によって読み取り可能であり、本発明のステップを行う方法を行うための処理回路による実行命令を格納する、コンピュータ可読ストレージ媒体を備えるコンピュータ・プログラム製品を提供する。
さらに別の態様から見ると、本発明は、コンピュータ可読媒体に格納され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、コンピュータ上で実行されたときに本発明のステップを行うためのソフトウェア・コード部分を含む、コンピュータ・プログラムを提供する。
本発明の実施形態により、自然言語クエリを処理するためのリレーショナル・データベースのセマンティック・モデルを自動的に作成するための、方法、システム、及びコンピュータ可読媒体が提供される。コンピューティング・デバイスが、リレーショナル・データベースのメタデータを自動的に抽出する。コンピューティング・デバイスは、抽出されたメタデータのカラムについてテキスト・ラベルを入力するようにユーザに促し、リレーショナル・データベース・メタデータと各々のカラムについてのテキスト・ラベルとに基づいて、スキーマ注釈ファイルを自動的に生成する。リレーショナル・データベースについての自然言語クエリが、スキーマ注釈ファイルを用いて処理される。システムは、自動化されたスキーマ注釈ファイルに基づいて、語彙規則を生成することができる。この手法は、スキーマ注釈ファイルが手作業で生成される従来の手法とは対照的に、注釈付きメタデータに基づいてスキーマ注釈ファイルを生成するための自動化された手法を提供する。
別の態様により、ユーザは、リレーショナル・データベースの構造又はリレーショナル・データベースのオントロジの知識なしに、抽出されたメタデータに注釈を付ける。この手法は、基礎となるデータベース又はオントロジの専門知識なしに、注釈付きメタデータに基づいてスキーマを生成することができるという利点を提供する。
別の態様において、リレーショナル・データベースについてのセマンティック注釈を用いて、スキーマ注釈ファイルを処理して語彙規則にする。さらに別の態様において、自然言語質問がユーザから受け取られる。受け取った自然言語質問は、セマンティック注釈に基づいて生成された語彙規則を用いて、構造化クエリに変換される。受け取った自然言語質問に対する回答は、構造化クエリの結果に基づいて生成される。これらの手法は、ユーザがデータベースのコンテンツに関する質問をすることを可能にし、システムが、スキーマ注釈ファイルに基づいて生成された語彙規則に基づいてデータベースの関連するコンテンツを検索することを可能にするという利点を有する。この手法は、データベース内のコンテンツにアクセスするためにユーザが構造化クエリを生成することを必要としない。
他の態様において、抽出されたメタデータの注釈はテキスト・ラベルを含み、テキスト・ラベルは、少なくともセマンティック・タイプ及び要素ラベルを含む。ここで、スキーマが生成されるためには、最小限の注釈(例えば、本明細書で提供される例では、2つのカラムのみに注釈が付けられる)が必要である。
他の態様において、スキーマ注釈ファイルは、ユーザ入力の自然言語処理を用いてセマンティックを抽出して作成され、抽出されたセマンティックは、リレーショナル・データベースのエンティティの間の関係を作成するために用いられる。自然言語処理を用いるスキーマ注釈ファイルの作成は、関係を自動的に確立することを可能にする。
さらに別の態様において、セマンティック注釈を用いてスキーマ固有の語彙規則を作成するために、機械学習システムを用いることができ、機械学習システムは、スキーマ注釈ファイルと英語の固定構文規則に基づくテンプレート規則とを用いて、スキーマ固有の語彙規則を作成する。この手法は、ユーザとの対話のためのNLIDBシステムをさらに自動化するという利点を有する。
発明の概要は、本開示の実施形態の重要な又は本質的な特徴を特定することを意図したものではなく、本開示の範囲を限定するために用いられることを意図したものでもないことを理解されたい。本開示の他の特徴は、以下の説明を通して容易に理解できることになる。
次に本発明が、単なる例として以下の図面に示される好ましい実施形態を参照しながら、説明されることになる。
本発明の一実施形態による、自動スキーマ生成システムのための例示的なコンピューティング環境の概略図である。 本発明の一実施形態による、図1のコンピューティング環境のための例示的なコンピューティング・デバイスである。 本発明の一実施形態による、抽出されたメタデータの一例である。 本発明の一実施形態による、ユーザによって注釈を付けられた、抽出されたメタデータの一例である。 本発明の一実施形態による、ユーザと対話する自然言語処理システム内の自動スキーマ生成システムのオペレーションを示すフローチャートである。 本発明の一実施形態による、自動スキーマ生成システムによって生成された例示的なスキーマ注釈ファイルである。 本発明の一実施形態による、スキーマ注釈ファイルに含めるための付加的な関係の決定及びフィルトレーションを示すフローチャートである。 本発明の一実施形態による、自動スキーマ注釈ファイル・システムのオペレーションを示す高レベルのフローチャートである。
スキーマ注釈ファイル(SAF)の形式のリレーショナル・データベースのオントロジ表現又はセマンティック・モデルを作成するための自動化技術が提供される。SAFは、データベース・システムへの自然言語インタフェース(NLIDB)を特定のスキーマに適合させるために用いることができ、基礎となるデータベース構造及びオントロジの知識に依存しないテキスト・ファイルである。
実施形態において、データベースの構造を記述するリレーショナル・データベース・メタデータが自動的に抽出される。ユーザは、抽出されたメタデータのカラムに注釈を付ける(例えば、テキスト・ベースのラベルを与える)。本明細書において提供される技術に基づいて、ラベル付けされた抽出付きデータベースのエンティティ間のセマンティック関係が、自動的に注釈付けされて、セマンティック・モデルを形成する。実施形態において、セマンティック・モデルは、リレーショナル・データベースに適用される語彙規則を生成するために、任意の自然言語処理(NLP)システムによって処理することができる自然言語テキストで生成される。生成されたSAFを用いて、NLIDBシステムを特定のデータベース・スキーマに自動的に適合させることができる。
データベースのセマンティック・モデルを表すテキスト・ファイルのタイプであるSAFの形式でオントロジ・モデルを作成するための技術が、本明細書において提供される。ユーザからの最小限の入力に基づいて、データベースの事前知識なしに、SAFを自動的に生成することができる。
本発明の実施形態による使用のための例示的な環境が図1に示される。具体的には、この環境は、1つ又は複数のサーバ・システム10、1つ又は複数のクライアント又はエンドユーザ・システム20、データベース30、及びネットワーク45を含む。サーバ・システム10及びクライアント・システム20は、互いに遠隔にあることができ、ネットワーク45上で通信することができる。ネットワークは、任意の数の任意の適切な通信媒体、例えば、広域ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、インターネット、イントラネットなど、によって実装することができる。代替的に、サーバ・システム10及びクライアント・システム20は、互いにローカルにあることができ、任意の適切なローカル通信媒体、例えば、ローカル・エリア・ネットワーク(LAN)、結線接続、無線リンク、イントラネットなどを介して通信することができる。
クライアント・システム20は、自動SAF作成のために、構造化データベースに基づいて、サーバ・システム10によって生成された抽出されたメタデータに、ユーザが注釈を付けることを可能にする。サーバ・システム10は、本明細書で説明されるように、メタデータ抽出エンジン105、ユーザ・インタフェース・エンジン110、SAF生成エンジン115、規則生成エンジン120、及びNLIDBモジュールを備えた、自動スキーマ注釈ファイル生成システム15を含む。
データベース30は、解析のための種々の情報、例えば、抽出されたデータ32、抽出された注釈付きデータ34、作成されたスキーマ36、及び語彙規則38などを格納することができる。抽出されたデータ32は、データベース50から抽出された情報(例えば、テーブル・フォーマット、タブ区切りフォーマット、又は任意の他の適切なフォーマットなどの)を含むことができる。抽出されたデータ32は、ユーザ・インタフェース・エンジン110を介して、注釈のためにユーザに提供される。注釈が付けられると、データは、抽出された注釈付きデータ34として格納することができる。自動スキーマ注釈ファイル生成システム15が、抽出された注釈付きデータ34に基づいてスキーマ36を作成する。システム15はさらに、生成されたスキーマに基づいて語彙規則38を生成することができる。
データベース・システム30及び構造化データベース50は、任意の通常の若しくは他のデータベース又はストレージ・ユニットによって実装することができ、サーバ・システム10及びクライアント・システム20に対してローカルに又はそれらから遠隔に存在することができ、任意の適切な通信媒体、例えば、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、結線接続、無線リンク、イントラネットなどを介して通信することができる。クライアント・システムは、ユーザからのメタデータ注釈に関する情報を要請するための、グラフィカル・ユーザ・インタフェース、例えば、GUIなど、又は他のインタフェース、例えば、コマンド・ライン・プロンプト、メニュー・スクリーンなど、並びに、構造化データベース50のコンテンツに関連する質問を行い、回答を受け取るためのNLIDBモジュール125を提示することができる。
サーバ・システム10及びクライアント・システム20は、ディスプレイ又はモニタ、少なくとも1つのハードウェア・プロセッサ(例えば、マイクロプロセッサ、コントローラ、中央処理装置(CPU)など)を含むベース、1つ又は複数のメモリ、及び/又は、内部若しくは外部ネットワーク・インタフェース又は通信デバイス(例えば、モデム、ネットワーク・カードなど)、オプションの入力デバイス(例えば、キーボード、マウス又は他の入力デバイス)、並びに、任意の市販及び特注ソフトウェア(例えば、サーバ/通信ソフトウェア、自動スキーマ注釈ファイル生成システム・ソフトウェア、ブラウザ/インタフェース・ソフトウェアなど)が装備されることが好ましい任意の通常の又は他のコンピュータ・システムによって実施することができる。例として、サーバ/クライアントは、少なくとも1つのプロセッサ16、22、1つ又は複数のメモリ17、24、及び/又は、内部若しくは外部ネットワーク・インタフェース、又は、モデム若しくはネットワーク・カードのような通信デバイス18、26、及びユーザ・インタフェース19、28などを含む。オプションの入力デバイスは、キーボード、マウス、又は他の入力デバイスを含むことができる。
代替的に、1つ又は複数のクライアント・システム20は、独立型ユニットとして自動ソフトウエア・サービス解析を行うことができる。独立型モードのオペレーションにおいて、クライアント・システムは、抽出されたデータ32、抽出された注釈付きデータ34、スキーマ34及び語彙規則38などのデータを格納するか、又はそれらへのアクセス権を有する。独立型ユニットは、自動スキーマ注釈ファイル生成システム15を含む。GUI、コマンド・ライン・プロンプト、メニュー・スクリーンなどのグラフィカル・ユーザ又は他のインタフェース19、28は、メタデータ注釈に関する対応するユーザからの情報とともに、構造化データベース50のコンテンツに関する質問を行って回答を受け取るNLIDBモジュール125も求める。
自動スキーマ注釈ファイル生成システム15は、本明細書で説明される本発明の実施形態の様々な機能を行うための1つ又は複数のモジュール若しくはユニットを含むことができる。様々なモジュール、メタデータ抽出エンジン105、ユーザ・インタフェース・エンジン110、SAF生成エンジン115、規則生成エンジン120、及びNLIDBモジュール125などは、任意の量のソフトウェア及び/又はハードウェア・モジュール若しくはユニットの任意の組み合わせによって実装することができ、プロセッサ16による実行のために、サーバのメモリ17内に常駐することができる。これらのモジュールは、以下で、更に詳細に説明される。
メタデータ抽出エンジン105は、構造化データベース50のようなリレーショナル・データベースからメタデータを抽出する。メタデータは、任意の適切な形式の1つ又は複数のテーブルを含むことができる。
本明細書で提供される技術は、データベースに接続することと、データベースを特徴付けるメタデータを抽出することとを提供する。メタデータは、テーブル名、カラム名、データベース内に存在するデータのタイプなどのエンティティ/コンセプト情報、若しくは、テーブルの間の関係を作成するために用いられる主キー及び外部キーに関する情報、又はその両方を含む。ユーザは、ユーザ証明を用いてデータベースに接続することができ、JDBC APIなどのアプリケーション・プログラミング・インタフェース(API)を用いてデータベースに関連付けられる種々のメタデータ情報を検索することができる。
ユーザ・インタフェース・エンジン110は、抽出されたメタデータからの1つ又は複数のカラムに注釈を付けるように、ユーザに促すことができる。ユーザ・インタフェース・エンジンは、ユーザから、注釈付きメタデータを生成するための入力を受け取る。
ユーザ・インタフェース・エンジン110は、リレーショナル・データベースに格納されているデータの構造及び関係を示す、抽出されたメタデータのビューを作成することができる。幾つかの態様において、ビューは、ビュー内の一組のエンティティ/コンセプトがリンクで接続されている抽象化層とすることができる。ビューは、抽出されたメタデータに意味のある記述を与えるために、テーブル及びカラム内のデータ・エントリの名称変更を可能にする。
他の態様において、ビューはまた、計算されたカラムをテーブルに加えることを可能にする。例えば、カラムの値が、報告のために頻繁に加えられる場合、カラムを加えて、そのカラムに集計値を割り当てることができる。特に、その値が、複数のテーブルからの値を用いて計算される場合に、この手法は、複雑さを隠すことができる。他の場合には、クエリが単一のテーブルからデータの異なる断片を取得するための複雑なプロセスを必要としたり、クエリが多くの異なるテーブルに対応する必要があるため、データの取得が、より遅くなったり、より複雑になったりする可能性がある。本明細書において与えられる例は、単一のテーブルに関するものであるが、本技術は複数のテーブルに拡張することができる。
SAF生成エンジン115は、注釈付きメタデータ及びSAF関連ファイル117に基づいて、SAFを自動的に生成する。SAF生成は、本出願及び図面(図3A~3Cも参照されたい)を通してさらに詳細に説明される。SAF作成のためには、テンプレート規則(TR)ファイル、パーサ116、単語セマンティック(WS)ファイル、不規則動詞(IV)ファイル、及び、動詞パラフレーズ(VP)ファイルを含む、種々のSAF関連ファイル117が必要である。各々のファイル・タイプは、さらに詳細に以下のように説明される、
テンプレート規則(TR)ファイルは、一般的な文章構造及び構文に適合するテンプレート規則を含む既存のファイルであり、SAF生成において用いることができる。文章構造は、英語でも別の自然言語でもよい。
パーサ116は、データベース・コンセプトを記述する単語又はフレーズを解析するためのツールである。パーサは、抽出された注釈付きデータからの単語及びフレーズの文法的特性(例えば、ある単語が動詞であるか名詞形であるかなどの品詞)を判断することができる。
単語セマンティック(WS)ファイルは、特定の性質を示す関連したセマンティック・タイプ(semantic type)を持つ一般的な単語のリストを含むファイルである。例えば、WSファイルは、識別単語(例えば、名前(name)、タイプ、スタイルなど)、日付タイプ(例えば、日付(date)、年(year)、日(day)、時間(time)、期間(duration)など)、場所タイプ(例えば、都市(city)、国(country)、住所(address)、通り(street)など)などを含むことができる。
不規則動詞(IV)ファイルは、不規則動詞及びそれらの過去形のリストを含む。
動詞パラフレーズ(VP)ファイルは、SAFエントリ内の名詞及びそれらのパラフレーズ動詞の、自動的に作成されたファイルである。例えば、「従業員は給料を有する(employee has salary)」に対応するエントリの場合には、給料(salary)という単語は、稼ぐ(earn)、作る(make)、受け取る(receive)などの動詞に関連付けることができる。
パーサ、WSファイル、及びIVファイルを用いて、SAF生成エンジンは、各々のカラムについての情報を処理し、1つ又は複数のSAFエントリを作成する。SAF生成エンジンは、さらに、NLIDBモジュール125に関連付けられる質問回答プロセスの際に用いることができるVPファイルのためのエントリを作成することができる。
SAFは、1行に1つのエントリを有するテキスト・ファイルである。各々のエントリは、データベース内のエントリ/コンセプトと、エントリ/コンセプトを説明するフラグのセットとの間の関係を記述する、固定フォーマットの単語又はフレーズで構成される。SAFは、少なくとも3つのタイプのエントリ、「特性(property)/識別(identity)」、「関連(association)」、及び「行為(action)」のエントリを含むことができる。特性/識別エントリは、コンセプト/エンティティを識別する情報(例えば、名前、ID、タイプなど)を含む。関連エントリは、コンセプト/エンティティに関連付けられる(例えば、雇用の日付(date of hire)、管理者(manager)など)が、コンセプト/エンティティを直接に識別しない情報を含む。行為エントリは、コンセプト/エンティティ(例えば、典型的には2つのエンティティ)の間のセマンティック関係を定義する。多くの場合、エンティティ/コンセプトの間には1つより多くの関係が存在し、従って、各々の関係を記述するために複数のエントリが必要となり得る。
単一の「EMPLOYEE」テーブルを有する人的資源(HR)スキーマについての例示的なSAFエントリが以下に示される。第1のエントリは、従業員(employee)のコンセプト/エンティティについての特性エントリである。具体的には、単語/フレーズ「従業員」には、2つのフラグ・ステートメントが付けられる。フラグの第1のセットは、「従業員」がテーブルEMPLOYEE及びカラムEMPNOによって識別され、整数のデータ・タイプを有することを示す。フラグの第2のセットは、「名前」コンセプト/エンティティがテーブルEMPLOYEE、カラムEMPNAME、及び文字列のデータ・タイプによって識別されることを示す。第2及び第3のエントリは、「給料」及び「雇用日(hiring date)」コンセプトが従業員に関連付けられることを示し、第1のエントリと同様にフラグが各々のコンセプトを識別する。第4、第5、及び第6のエントリは「行為」エントリである。これらのエントリは、コンセプト/エンティティの間のセマンティック関係を記述する。例が次のように示される。
従業員は名前を有する(Employee has name);テーブル名はEMPLOYEEである;カラム名はEMPNOである;データ・タイプは整数である;テーブル名1はEMPLOYEEである;カラム名1はEMPNAMEである;データ・タイプ1は文字列である;
従業員は給料を有する(Employee has salary);テーブル名はEMPLOYEEである:カラム名はEMPNOである;データ・タイプは整数である;テーブル名1はEMPLOYEEである;カラム名1はSALARYである:データ・タイプ1は文字列である:
従業員は雇用日を有する(Employee has hire-date);テーブル名はEMPLOYEEである;カラム名はEMPNOである;データ・タイプは整数である:テーブル名1はEMPLOYEEである;カラム名1はHIREDATEである;データ・タイプ1は日付である;
管理者は従業員を管理する(Manager manages employee);テーブル名はEMPLOYEEである;カラム名はMGRNAMEである;データ・タイプは文字列である;テーブル名1はEMPLOYEEである;カラム名1はEMPNOである;データ・タイプ1は整数である;
従業員はある日付に雇用される(Employee is hired on a date);テーブル名はEMPLOYEEである;カラム名はEMPNOである;データ・タイプは整数である;テーブル名1はEMPLOYEEである;カラム名1はHIREDATEである;データ・タイプ1は日付である;
部門は従業員を雇用する(Department hires employee);テーブル名はEMPLOYEEである;カラム名はDPTNAMEである;データ・タイプは文字列である;テーブル名1はEMPLOYEEである;カラム名1はEMPNOである;データ・タイプ1は整数である。
規則生成エンジン120は、作成されたSAFに基づいて語彙規則を生成する。NLIDBモジュール125は、ユーザがサーバ・システムと対話して、構造化データベース50のコンテンツに関する質問に関連する回答を受け取ることを可能にする。これらの特徴及び他の特徴は、本明細書及び図面を通して説明される。
クライアント・システム20及びサーバ・システム10は、コンピューティング環境100に関する図2に示されるコンピューティング・デバイス212のような、任意の適切なコンピューティング・デバイスによって実施することができる。この例は、本明細書において説明される本発明の使用又は機能性の範囲に対する何らかの限定を示唆することを意図したものではない。とにかく、コンピューティング・デバイス212は、本明細書で説明されるいずれの機能性をも実装されること若しくは実行すること又は両方が可能である。
コンピューティング・デバイス内に、多数の他の汎用又は特定目的コンピューティング・システム環境又は構成と共にオペレーション可能なコンピュータ・システムが存在する。このコンピュータ・システムと共に用いるのに適切であり得る、周知のコンピューティング・システム、環境若しくは構成又は両方は、限定されるものではないが、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、手持ち又はラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セット・トップ・ボックス、プログラム可能コンシューマ電子装置、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び、上記のシステム又はデバイスのいずれかを含む分散クラウド・コンピューティング環境、などを含む。
コンピュータ・システム212は、コンピュータ・システムによって実行されるプログラム・モジュール(例えば、自動スキーマ注釈ファイル生成システム15及びその対応するモジュール)などのコンピュータ・システム実行可能命令の一般的文脈において説明することができる。一般に、プログラム・モジュールは、特定のタスクを実行するか又は特定の抽象データ・タイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造体など、を含むことができる。
コンピュータ・システム212は、汎用コンピューティング・デバイスの形態で示される。コンピュータ・システム212のコンポーネントは、限定されるものではないが、1つ又は複数のプロセッサ若しくは処理ユニット155、システム・メモリ136、及び、システム・メモリ136を含む様々なシステム・コンポーネントをプロセッサ155に結合するバス218を含むことができる。
バス218は、メモリ・バス又はメモリ・コントローラ、周辺バス、高速グラフィックス・ポート、及び、様々なバス・アーキテクチャのいずれかを用いるプロセッサ又はローカル・バスを含む、幾つかのタイプのバス構造体のいずれかの1つ又は複数を表す。例として、限定されるものではないが、そのようなアーキテクチャは、業界標準アーキテクチャ(ISA)バス、マイクロチャネル・アーキテクチャ(MCA)バス、強化(ISA)バス、ビデオ電子機器標準協会(VESA)ローカル・バス、及び周辺コンポーネント相互接続(PCI)バス、を含む。
コンピュータ・システム212は、典型的には、様々なコンピュータ・システム可読媒体を含む。その媒体は、コンピュータ・システム212によってアクセス可能な、任意の入手可能な媒体とすることができ、揮発性及び不揮発性媒体、取り外し可能及び固定媒体の両方を含む。
システム・メモリ136は、ランダム・アクセス・メモリ(RAM)230若しくはキャッシュ・メモリ232又はこれらの両方のような揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム212は、他の取り外し可能/固定、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含むことができる。単なる例として、ストレージ・システム234は、固定式不揮発性磁気媒体(図示されず、通常「ハード・ドライブ」と呼ばれる)から読み出し、及びそれに書き込むために備えることができる。図示されないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピー・ディスク」)から読み出し、及びそれに書き込むための磁気ディスク・ドライブ、及び、CD-ROM、DVD-ROM又は他の光学媒体のような取り外し可能な不揮発性光ディスクから読み出し、及びそれに書き込むための光ディスク・ドライブを備えることができる。そのような場合、各々は、1つ又は複数のデータ媒体インタフェースによってバス218に接続することができる。以下でさらに図示され説明されるように、メモリ136は、本発明の実施形態の機能を実行するように構成された、一組の(例えば、少なくとも1つの)プログラム・モジュールを有する少なくとも1つのプログラム製品を含むことができる。
一組の(少なくとも1つの)プログラム・モジュール242(例えば、自動スキーマ注釈ファイル生成システム15及び対応するモジュール、など)を有するプログラム/ユーティリティ240、並びに、オペレーティング・システム、1つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データは、例として及び非限定的に、メモリ136に格納することができる。オペレーティング・システム、1つ又は複数のアプリケーション・プログラム、他のプログラム・モジュール、及びプログラム・データの各々、又はそれらの組み合わせは、ネットワーキング環境の実装を含むことができる。プログラム・モジュール242は、一般に、本明細書で説明される本発明の実施形態の機能若しくは方法又はそれらの両方を実行する。
コンピュータ・システム212はまた、キーボード、ポインティング・デバイス、ディスプレイ224などの1つ又は複数の外部デバイス214、ユーザがコンピュータ・システム212と対話することを可能にする1つ又は複数のデバイス、及び/又は、コンピュータ・システム212が1つ又は複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(例えば、ネットワーク・カード、モデムなど)と通信することができる。そのような通信は、入力/出力(I/O)インタフェース222を介して行うことができる。さらに、コンピュータ・システム212は、ローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、及び/又は、公共ネットワーク(例えば、インターネット)のような1つ又は複数のネットワークと、ネットワーク・アダプタ225を介して通信することができる。図示されているように、ネットワーク・アダプタ225は、コンピュータ・システム212の他のコンポーネントとバス218を介して通信する。図示されていないが、他のハードウェア若しくはソフトウェア又はそれらの両方のコンポーネントをコンピュータ・システム212と共に用いることができることを理解されたい。例には、限定されるものではないが、マイクロコード、デバイス・ドライバ、重複処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、及びデータ保存ストレージ・システムなどが含まれる。
図3Aは、単一テーブルHRデータベースからのメタデータ抽出の一例を示す。このテーブルは、従業員特性を含むデータベースからデータを抽出することによって生成される。この例において、メタデータは、例えば、メタデータ抽出エンジン105を用いて、リレーショナル・データベース50から自動的に抽出される(例えば、テーブル名、カラム名、及びデータ・タイプ)。
抽出されたデータは、例えば、ユーザ・インタフェース・エンジン110を用いて、ブラウザ形式又は任意の他の適切な対話型等価物により、ユーザに提示され、ユーザが抽出されたデータに注釈を付けることを可能にする。この例において、注釈者は、このカラム内の各行(例えば、従業員ID、従業員名など)についての記述を入力することによって、カラム「要素ラベル(elementLabel)」についての記述を与える。注釈者は、また、カラム「要素ラベル」内の各々の対応するエントリについての有効タイプ(例えば、人(person)、日付、貨幣(money)、なし(none)、など)のリストからセマンティック・タイプを選択することができる。
幾つかの実施形態において、ユーザには、カラムに注釈を付けるためのガイドラインが提示され、ガイドラインとして例とともに、サポートされるセマンティック・タイプのリストが提供される場合がある。ガイドライン及びサポートされるセマンティック・タイプを用いて、ユーザは、各々のエントリについて要素ラベル及びセマンティック・タイプを含むように、メタデータに注釈を付ける。さらに別の態様において、ユーザはまた、テーブル名が標準的な英単語でない場合、英単語をテーブルの名称として与えることができる(例えば、テーブルの名称が、EMP_TABLEのような変数名である場合、ユーザは、テーブル名を「従業員」を指すように変更することができる)。
この例において、ユーザは、図3Bに示されるように、中間の抽出されたカラム(例えば、テーブル名(tableName)、カラム名(columnName)、及データ・タイプ(dataType))内に与えられた情報に基づいて、最初のカラムと最後のカラムに注釈を付ける。ユーザは、例えば、テキスト・フォーマットで、又は、注釈付きテーブルを生成するためにテキストに変換できる音声フォーマットで、示されるカラムに注釈を付けることができる。
この情報(例えば、ユーザ注釈、抽出されたデータなど)は、自動スキーマ注釈ファイル生成システム15によってSAFファイルを生成するように、本明細書で説明される技術を用いて処理される。SAFファイルの各々のエントリは、データベース内のエンティティ/コンセプトと、各々のエンティティ/コンセプトを記述するフラグのセットとの間の関係を記述する、固定フォーマットのフレーズを含む。SAFファイルを生成するために、カラムの記述及びセマンティック・タイプが解析され、カラムのセマンティック及びそれらの相互関係が決定される。SAFファイルは、スキーマ36として格納することができる。このプロセスはさらに詳細に説明され、例えば図3Cを参照されたい。
図3Cは、NLIDBモジュール125を備えるシステムにおけるSAFの自動生成の例示的なワークフローを示す。オペレーション410において、メタデータがデータベース(例えば、リレーショナル・データベース)から抽出される。オペレーション415において、ユーザはメタデータに注釈を付けるように促される。オペレーション420において、注釈付きメタデータが受け取られる。
オペレーション425において、注釈付きメタデータが自動スキーマ注釈ファイル生成システム15によって処理され、典型的には複数のエントリを含むSAFが生成される。エントリにラベル付けするためにユーザによって与えられた単語若しくはフレーズ又はその両方(カラム・エントリ)は、一組のカテゴリに分類することができる。例えば、単語は、それらのタイプ(例えば、識別、日付など)に基づいて分類することができる。単語は、品詞(例えば、名詞、動詞など)に基づいてさらに分類することができる。幾つかの態様において、名詞の動詞形は動詞として分類することができる。
分類結果の各々のセットは、セマンティック関係の特定のパターンに対応する。例えば、ラベルが「従業員名」である場合、SAFエントリは「従業員は名前を有する(employee has name)」とすることができる。別の例として、ラベルが「雇用の日付」である場合、「従業員は雇用日を有する(employee has hiring date)」及び「従業員はある日付に雇用される(employee is hired on a date)」のように複数のエントリを作成することができる。自動スキーマ注釈ファイル生成システム15によって生成された、SAF内のエントリの付加的な例が、図4に示される。インデントされたエントリは、2つの名詞を繋ぐ動詞を識別するパラフレーズ・エンジン118によって作成される。
テーブルの主要なコンセプト/エンティティ(例えば、「従業員」であるテーブル名)は、名詞分類によって他のカラムと対にすることができ、コンセプト/エンティティ(例えば、2つ又はそれ以上の単語)をセマンティック的に繋ぐ動詞を生成するパラフレーズ・エンジン118に送ることができる。例えば、エンティティ「従業員」及び「管理者」の場合に、パラフレーズ・エンジンは、「のために働く(work for)」、「に報告する(report to)」、「によって雇用される(hired by)」などの動詞を生成することができる。動詞は、それらの使用頻度に基づいてランク付けすることができる。これらの動詞は、同じテーブル内の、或いは、異なるカラム若しくはテーブル又はその両方の中の、エントリ間の関係を記述するエントリを作成するために用いることができる。
カラム(要素ラベル)の注釈が2つまたはそれ以上の単語を含む場合、システムは、サポートされる構文を用い、サポートされない構文を許容しない。例えば、「従業員雇用日(employee hire/hiring date)」又は「従業員の雇用日(hire/hiring date of employee)」はサポートされるが、「従業員の雇用の日(date of hire/hiring of employee)」はサポートされない。
SAF作成に関する付加的な詳細が以下のように与えられる。パーサ116をSAF関連ファイル117(例えば、WSファイル及びIVファイル)と共に用いて、SAF生成エンジン115は、以下のようにエントリを解析する。
a.主要なテーブル・コンセプトについての「識別」コンセプト/エンティティ(例えば、従業員名)があるか? フレーズが、コンセプト/エンティティの1つとしてテーブル名を含むか?
イエスであれば、エントリは、テーブル名に直接関連するコンセプト/エンティティを記述し、他の単語のセマンティック・タイプがWSファイルと比較される。エントリが、「識別」単語の1つと一致する場合、システムはこれが識別エントリであると判断する。
b.これは、主要なテーブル名以外の「識別」エンティティ/コンセプト(例えば、「管理者名」又は「部門名」)であるか?
システムは、このコンセプト/エンティティを(a)と同じプロセスを用いて評価し、ここでは、エントリは主要なテーブル名ではない。
c.これは「非識別」エンティティ/コンセプト(例えば、「従業員の給料」、「従業員の管理者」又は「従業員雇用日」であるか?
システムは、この解析を用いて、第2のコンセプト/エンティティが、WSファイル内に与えられる「識別」セマンティックと一致しないかどうか評価する。エンティティ/コンセプトが複数の単語(例えば雇用日)を含む場合、複数単語のエンティティ(例えば、雇用日、雇用する、など)を表すために、単一単語のリストが作成される。
これらの分類を用いて、どの記述単語/フレーズがユニークであり(例えば、テーブル・カラム内に「管理者」又は「部門」などの単一の参照がある)、どの単語/フレーズがユニークでない(例えば、「名前」)かを判断することができる。セマンティック・タイプ「日付」のような幾つかのコンセプトは、特別な分類を受ける。テーブル内に複数の日付(例えば、「雇用日」及び「退職日(leaving-date)」)がある場合、個々の単語はユニークであるにも関わらず、これらの単語は、同じコンセプト・タイプ「日付」を指し、従ってユニークであるとは見做されない。
これらの分類に基づき、テーブルから抽出された情報に基づいてSAFエントリが作成され、フラグ・ステートメントが構成される。第1の分類では、主要な要素について単一の「特性」エントリが作成される(例えば、「従業員は名前を有する(employee has name)」)。
第2の分類では、複数のエントリが以下のように作成される。
a)コンセプトについて「特性」エントリが作成される(例えば、「管理者は名前を有する(manager has name)」)。
b)主要な要素について第2の「特性」エントリが作成される(例えば、「従業員は管理者を有する(employee has manager)」)。
c)パーサ116が、コンセプト/エンティティの特性を抽出する。この場合、「管理者」が名詞として示されるが、動詞形「管理する」を有する場合もある。主要な要素について動詞形が存在するので、「管理者は従業員を管理する(manager manages employee)」という第3のエントリが作成される。主要な要素が動詞形を持たない場合、エントリは、非特定的なデフォルトのキーワード動詞を用いてエントリを作成することができる(例えば、「部門名」カラムについて、エントリは「部門名-動詞-従業員」となり、ここで、動詞はデフォルトの動詞(例えば、含む、雇用するなど)として設定されている)。
d)構文「主要な要素-動詞-前置詞-名詞」を用いて第4のエントリが作成される。動詞及び前置詞は、デフォルトのキーワードである。エントリは、フォーマット「従業員-動詞-前置詞-管理者」を有することになり、これは、動詞及び前置詞についての特定のセマンティックを指定することなしに「従業員は管理者に報告する(employee reports to manager)」と等価である。同様に、「従業員-動詞-前置詞-部門」は、作成される別のエントリとすることができる。
e)SAFエントリに加えて、2つの名前コンセプト(例えば、従業員及び管理者)がパラフレーズ・エンジン118によって処理され、これらのコンセプトを繋ぐ関連動詞のリストが抽出される(例えば、「従業員及び部門」については動詞「働く(work)」、「従業員」及び「給料」については動詞「稼ぐ」、など)。コンセプトの名詞とそれらに関連する動詞が、VPファイルに加えられ、質問回答フェーズの際に用いられる。
第3の分類は、コンセプト、若しくは日付などの特定のセマンティック・タイプ、又はその両方を記述する複数の単語がコンセプトを特徴付ける場合を除いて、第2の分類と類似する。
a)複数の単語から作成された強調された単一単語について特性エントリが作成される(例えば、従業員は雇用日を有する(employee has hire date))。
b)複数の単語自体から特性エントリが作成される(例えば、雇用は日付を有する(hire has date))。
c)複数の単語がWSファイルと比較される。単語の1つが「日付」又は「場所」タイプを有し、パーサ116が他の単語の動詞形を検出した場合、動詞の過去形が作成されるか又はIVファイルから抽出され、単語の動詞形を用いてエントリが作成される。例えば、「従業員雇用日(employee hiring date)」は、「従業員はある日付に雇用される(employee is hired on a date)」を生成することになる。記述「従業員の居住国(employee’s residence country)」を有するカラムがある場合、「従業員はある国に居住する(employee resides in a country)」のようにエントリを作成することができる。用いられる前置詞は、日付については「on」であり、場所については「in」であり、他のタイプについては「for」である。しかし、エントリは、構文が正しい限り、用いられる特定の前置詞に関わらずに作成される。
この自動プロセスは、語彙規則作成プロセスによって退けられる可能性がある不正確な構文又はセマンティックを持つ少数のエントリを生成する場合がある。それにもかかわらず、エントリの集合体は、大部分の質問に回答することを可能にする十分なオントロジ表現を提供する。
オペレーション425において、本明細書で説明されるように、注釈と抽出されたメタデータとに基づいてSAFファイルが生成される(図4も参照されたい)。パーサ、WSファイル、及びIVファイルは、SAFの作成の際に用いられる既存のリソースである。TRファイルは、SAFがスキーマのためにセマンティック規則を作成するように処理される訓練フェーズの際に用いられる。VPファイルは、ユーザの質問に回答するために、SAF作成の際に生成され、オペレーション・フェーズで用いられる。
オペレーション435において、SAFエントリを自動化するために、語彙規則が作成される。SAFが生成されると、ユーザ・クエリに応答してSAFを処理するために、語彙規則を含む既存のファイルを用いることができる。語彙規則は、言語構文及び構造に適合するように用いることができる。
自動的に行われるSAF生成について、生成される語彙規則には、(1)正確な語彙情報を有するフレーズに適合する規則と、さらに(2)より広い、正確な語彙情報を課さずにフレーズに適合する規則とがある。自動的にSAFを生成することで、より抽象的で正確な語彙情報を含まないエントリが可能になる。
正確な語彙情報を有するフレーズに適合するように用いられるテンプレート規則の一例(最初のラインは、規則の名前であり、2つの名詞(noun)の変化形及び1つの動詞(verb)があることを指定する)は、以下の通りである。
root=prop_owner_VAR1_VAR2_VAR3_
-> VAR2 [ hasPartOfSpeech("verb"), hasLemmaForm(“VAR2”) ]
{ subj -> VAR1[hasPartOfSpeech(“noun”), hasLemmaForm("VAR1")]}
{ obj -> VAR3 [hasPartOfSpeech(“noun”), hasLemmaForm("VAR3")]}
上記の規則は、「主語 動詞 目的語(Subject Verb Object)」のパターンを有する任意の文章に適合する。第1のラインは、規則の題名又は名前である。VAR1及びVAR2は、主語及び目的語の一般的表現であり、動詞は、任意の動詞の表現である。このテンプレート規則によって作成される語彙規則は、主語、動詞、及び目的語に正確な単語に適合することになる(規則が単語の見出し形(lemma form)を課すため)。
自動SAF処理に用いられるテンプレート規則の一例(正確な語彙情報を課さずにフレーズに適合する)は、以下の通りである。
root=prop_owner_VAR1_VAR2_VAR3_
-> VAR2 [ hasPartOfSpeech("verb") ]
{ subj -> VAR1[hasPartOfSpeech(“noun”), hasLemmaForm("VAR1") ] }
{ obj -> VAR3 [hasPartOfSpeech(“noun”), hasLemmaForm("VAR3")]}
上記の規則は、構文においては第1の規則に類似しているが、動詞については見出し形を指定しない。その結果、作成される語彙規則は、明示的なセマンティック情報を有さず、動詞についての特定の単語がなく(幾つかの場合には、デフォルトのキーワード動詞で作成される)、適合する構文を有する任意の文章は、動詞についての単語が何であるかに関わらず、主語及び目的語についての単語に適合することになる。これらのタイプの規則は、本明細書で説明されるように識別することができる。
別の例として、カラム「部門名」(複数のSAFエントリを生成する)の場合に、エントリ「部門は名前を有する(department has name)」及び「管理者は従業員を管理する(manager manages employee)」は、正確な語彙規則を生成する。しかし、「部門-動詞-従業員」は以下のように規則に適合することになる:
root=prop_owner_department_verb_employee_
-> _verb_ [ hasPartOfSpeech("verb") ]
{ subj -> department[hasLemmaForm("department") ] }
{ obj -> employee [ hasLemmaForm("employee")]}
上記の規則は、主語 動詞 目的語の構文を有する任意の文章に適合することになり、ここで主語は部門であり、目的語は従業員である。「販売部門は何人の従業員を雇用したか(how many employees did the sales department hire)」のような質問は、上記の規則の派生物の1つに適合することになり、正しく回答されることになる。しかし、「販売部門の何人の従業員が退職したか(how many employees in the sales department retired)」のような質問の場合には、規則内の動詞が非特定的であるので、この質問は、前の質問と同じように正確に回答されることになる。ミスマッチを避けるために、質問処理の際に、非特定的な動詞を伴う規則は、SAF作成プロセスの際に作成されたVPファイルに対してチェックされる。このファイルは、パラフレーズ・エンジン118を用いて作成され、従業員を部門に関連付ける合理的な動詞のリストを含む。文章中の動詞が、これらの2つの名詞について列挙された動詞のいずれにも適合しない場合、この規則は無効になる。
適合構文を見つけるために、語彙規則がSAFエントリに適用される。SAFエントリが規則に適合すると、テンプレート規則の構文によって新しい規則が自動的に作成されるが、一般的な変数は、SAFエントリからの単語で置き換えられる。例えば、テンプレート・ファイルの「主語 動詞 目的語」規則を、上記例の第4のエントリに適用すると、次の語彙規則が作成されることになる。
root=prop_owner_manager_manage_employee_
-> manage [ hasPartOfSpeech("verb"), hasLemmaForm(“manage”) ]
{ subj -> manager hasLemmaForm("manage") ] }
{ obj -> employee [ hasLemmaForm("employee")]}
上記の規則は、「管理者は従業員を管理する(manager manages employee)」の構文及びセマンティックに正確に適合する。テンプレート規則の1つに適合するエントリの各々について、異なる構文及び同じセマンティック情報を有する派生規則の範囲が自動的に作成されて、異なるタイプの質問に回答することを可能にする。例えば、エントリ4の派生規則は、「何人の授業員をジョンが管理するのか(how many employees does John manage)」又は「どの管理者がジャックを管理するか(which manager manages Jack)」、又は「誰が、ジョーより多くの従業員を管理するか(who manages more employees than Joe)」に適合することができる。エントリ5の派生規則は、「2013年の後に誰が雇用されたか(who was hired after 2013)」、又は「ジムの後に何人の従業員が雇用されたか(how many employees were hired after Jim)」などの質問をサポートすることになる。
テンプレート規則は、訓練プロセスの際にSAFエントリに適用することができ、テンプレート規則の構文に適合するがSAFのセマンティック情報を含むスキーマ依存語彙規則を、自動的に作成することができる。
語彙規則ファイルは、オペレーション・フェーズの際に、オペレーション440、445及び450で示されるように、ユーザからの入力質問を処理してSQLにするために用いることができる。自動SAFの語彙規則はより広く、データベースに存在しないセマンティックを有する入力文章に適合することが可能である。それ故に、自動的に作成されたSAF規則は、不正確な規則適合を識別するために、より多くのリソース及びアルゴリズム解析を必要とすることになる。これらの技術は、SAFエントリの正確な構文及びセマンティックを有する任意の入力文章に適合するように、手作業で作成された語彙規則と共に用いることができる。
従って、データベースのための自動スキーマ及び語彙規則は、ユーザ質問に回答するために用いることができる。質問は、オペレーション445において、ユーザによってシステムに送ることができる。システムは、語彙規則及び自動スキーマを用いて質問を処理して、データベース50における回答を得ることができる。ユーザ質問に対する回答は、オペレーション450において、システムによって与えることができる。
図4は、自動スキーマ注釈ファイル生成システム15によって生成されたSAF内のエントリの一例を示す。インデントされたエントリは、2つの名詞を接続する動詞を識別するパラフレーズ・エンジン118から作成される。
図5は、コンセプト/エンティティをオントロジ関係に、即ち引数としてそれぞれの名詞を有する動詞を用いて、接続するために、コーパス解析及び付加的なリソース(例えば、オンライン・リソース)を用いることができる、別の実施形態を示す。このタイプの解析は、単一の単語である注釈を処理するために用いることができる。
この実施形態によれば、オペレーション505において、リレーショナル・データベースからのメタデータ抽出を行うことができる。オペレーション510において、エントリに、幾つかは単一の単語で注釈を付けることができる。オペレーション515において、単一単語の注釈を識別して、さらに別の解析のために選択することができる。オペレーション518において、付加的なオントロジ規則が提供される。システムは、種々の構文規則、オントロジ規則、及びセマンティック規則を用いることができる。
オペレーション530において、システムは、単語の間の関係を学習するためにデータのコーパスを解析する。幾つかの態様において、システムは、各々の動詞について特定の構文的位置に現れる確率を計算し、次いで、連鎖確率式を用いて候補をランク付けして、正確で適切な関係が決定されることを可能にする。
それぞれ任意の名詞(n)について、及び任意の構文的位置((s)、例えば、主語、目的語、又は、前置詞(例えば、to、at、from)の前置詞によって支配される目的語、及び任意の動詞(v))について、確率計算の一例として、nに対するv及びsの確率を決定することができる。
p(v,s|n) = p(v,s,n)/p(n) ~ p(v|n)*p(v|s)*p(n|v,s)
コーパスからの確率p(v|n)、p(v|s)、p(n|s)を決定することができ、これらは、ドメイン固有である場合も一般的である場合もある。任意の2つの名詞(n1及びn2)について、及び構文的位置(s1、s2)の任意の組み合わせについて、確率を計算することができ、
p(v,n1,n2) ~ p(v,s1|n1)*p(v,s2|n2)
この確率に基づいて動詞をランク付けすることができる。動詞が、あまりに高くランク付けされたり、あまりに低くランク付けされたり、あまりに頻繁にランク付けされることは、通常は考えられない。オントロジ制約は、任意のオンライン又はデジタル・ソースのような情報ソースから自動的に収集することができ、関係を識別するために用いることができる。
オペレーション520において、コーパスから識別された関係は、オントロジ規則に基づいて、例えば、構文的制限、オントロジ類似性、若しくはセマンティック類似性、又はそれら全てを適用することによって、フィルタにかけることができる。例えば、オントロジ規則は、一緒に存在する名詞、名詞と一緒に存在する動詞などを含む。別の例として、「主語 主語」などのような補語の位置は考慮しないなど、構文組み合わせの可能な組み合わせに制限を課すこともできる。フィルタにかけられた関係は、オペレーション540において提供される。
他の態様において、機械学習システムを、セマンティック注釈を用いてスキーマ固有の語彙規則を作成するように訓練することができる。機械学習システムは、スキーマ固有の語彙規則を作成するために、SAFと英語の固定構文規則に基づくテンプレート規則とを用いることができる。例えば、SAFエントリをパラフレーズする自然言語フレーズを用いた教師あり機械学習訓練によって、付加的な語彙規則を作成することができる。これらの付加的な規則は、初期の固定規則セットを拡張し、より広い範囲の自然言語フレーズの処理を可能にする語彙規則のより豊富なセットを作成する。
図6は、本明細書で提供される、自動スキーマ注釈ファイル生成システム15の高レベルのオペレーションを示す、オペレーションのフローチャートである。オペレーション610において、リレーショナル・データベース・メタデータが、コンピューティング・デバイスによって自動的に抽出される。オペレーション620において、コンピューティング・デバイスは、メタデータのカラムについてテキスト・ラベル(例えば、ユーザによって提供される)を促す。オペレーション630において、コンピューティング・デバイスは、リレーショナル・データベース・メタデータとカラムのテキスト・ラベルとに基づいて、スキーマ注釈ファイルを自動的に生成する。オペレーション640において、リレーショナル・データベースについての自然言語クエリが、スキーマ注釈ファイルを用いて処理される。
本発明の実施形態の特徴は、SAFの自動生成を含む。SAFファイルの生成は、ユーザからの最小限の注釈に基づいて行われ、ユーザは、メタデータを取得したデータベースの構造又はオントロジの知識を必要としない。さらに、SAFエントリは、手作業で生成されるエントリより広く生成される。従って、SAFは、手作業でSAFファイルを作成する方法よりも堅牢である。またさらに、自動的に生成されたSAFから、スキーマ固有の語彙規則を作成することができる。ここで生成されたSAFは、例えば質問及び回答方式でユーザと対話するシステムで用いることができる。例えば、自動化SAFから生成された語彙規則をユーザ入力の質問に適用して、ユーザ質問のコンテンツを検出し、処理する。作成されたSAF及び固定テンプレート規則を用いて、特定のデータベース・スキーマに関連する語彙規則のセットが自動的に作成される。NLPエンジンが、これらの規則を自然言語のユーザ質問に適用して、単語の間の要素及びセマンティック関係を検出し、次にSQL節に変換されることになる中間構造化フレーズのセットを作成する。
自動的に作成されたSAFによる語彙規則は、広範囲の非特定的な語彙情報を含むことができる。語彙規則は、適切なSQLクエリを構築するために、付加的な情報(例えば、入力質問の要素から正しい意味を抽出するためのオンライン又は他のテキスト・リソース)によって改良することができる。
従って、これらの技術は、最小限の注釈でSAFを自動的に生成することができるので、コンピュータのオペレーション、特に、ユーザと対話するNLIDBに対するオペレーションを、改良することができる。SAFは、データベースのコンテンツにアクセスするための語彙規則を生成するための枠組みを提供する。
上記で説明され、図面に示される実施形態は、受け取った注釈に基づいて自動的にSAFを生成するための実施形態を実施する多くの方法のうちのほんの一部を表すに過ぎないことを認識されたい。
本発明の実施形態の環境は、任意の数のコンピュータ又は他の処理システム(例えば、クライアント又はエンドユーザ・システム、サーバ・システムなど)、及び、本発明の実施形態を、任意の所望のタイプのコンピューティング環境(例えば、クラウド・コンピューティング、クライアント-サーバ、ネットワーク・コンピューティング、メインフレーム、独立型システム、など)に適用することができる、任意の所望の様式で配置されたデータベース又は他のレポジトリを含むことができる。本発明の実施形態によって用いられるコンピュータ又は他の処理システムは、任意の数の任意のパーソナル又は他のタイプのコンピュータ又は処理システム(例えば、デスクトップ、ラックトップ、PDA、携帯デバイスなど)によって実装することができ、任意の市販のオペレーティング・システム、又は、市販及び特注ソフトウェア(例えば、ブラウザ・ソフトウェア、通信ソフトウェア、サーバ・ソフトウェア、自動スキーマ註釈ファイル生成システム15など)の任意の組み合わせを含むことができる。これらのシステムは、情報を入力若しくは見る又は両方のための任意のタイプのモニタ及び入力デバイス(例えば、キーボード、マウス、音声認識など)を含むことができる。
本発明の実施形態のソフトウェア(例えば、メタデータ抽出エンジン105、ユーザ・インタフェース・エンジン110、SAF生成エンジン115、規則生成エンジン120及びNLIDBモジュール125などを含む自動スキーマ注釈ファイル生成システム15)は、任意の所望のコンピュータ言語で実装することができ、コンピュータ技術分野の一人の当業者によって、本明細書及び図面に示されるフローチャートに含まれる機能性の説明に基づいて、開発することが可能である。さらに、種々の機能を実行するソフトウェアの本明細書におけるいずれの言及も、一般に、ソフトウェアの制御下でそれらの機能を実行するコンピュータ・システム又はプロセッサに関連する。本発明の実施形態のコンピュータ・システムは、代替的に、任意のタイプのハードウェア若しくは他の処理回路又は両方によって実装することができる。
コンピュータ又は他の処理システムの種々の機能は、任意の数のソフトウェア若しくはハードウェア又は両方のモジュール若しくはユニット、処理又はコンピュータ・システム若しくは回路又は両方、の間に任意の方式で分散させることができ、ここで、コンピュータ又は処理システムは、互いにローカルに又は遠隔に配置することができ、任意の適切な通信媒体(例えば、LAN、WAN、イントラネット、インターネット、結線接続、モデム接続、無線など)を介して通信することができる。例えば、本発明の実施形態の機能は、種々のエンド・ユーザ/クライアント及びサーバ・システム、若しくは任意の他の中間処理デバイス、又はそれら全部の間に、任意の方式で分散させることができる。上で説明され、フローチャートに示されたソフトウェア若しくはアルゴリズム又は両方は、本明細書で説明された機能を実行する任意の仕方で修正することができる。さらに、フローチャート又は説明の中の機能は、所望のオペレーションを遂行する任意の順番で実行することができる。
本発明の実施形態のソフトウェア(例えば、メタデータ抽出エンジン105、ユーザ・インタフェース・エンジン110、SAF生成エンジン115、規則生成エンジン120及びNLIDBモジュール125などを含む自動スキーマ注釈ファイル生成システム15)は、独立型システム又はネットワーク若しくは他の通信媒体に接続されたシステムを用いて使用するための据付型又は携帯型プログラム製品装置若しくはデバイスの、固定型コンピュータ使用可能媒体(例えば、磁気又は光学媒体、磁気光学媒体、フロッピー・ディスケット、CD-ROM、DVD、メモリ・デバイスなど)上で利用することができる。
通信ネットワークは、任意の数の任意のタイプの通信ネットワーク(例えば、LAN、WAN、インターネット、イントラネット、VPNなど)によって実装することができる。本発明の実施形態のコンピュータ又は他の処理システムは、任意の通常の又は他のプロトコルを介してネットワーク上で通信するための任意の通常の又は他の通信デバイスを含むことができる。そのコンピュータ又は他の処理システムは、ネットワークへのアクセスのために、任意のタイプの接続(例えば、有線、無線など)を利用することができる。ローカル通信媒体は、任意の適切な通信媒体(例えば、ローカル・エリア・ネットワーク(LAN)、結線接続、無線リンク、イントラネットなど)によって実装することができる。
本システムは、情報(例えば、抽出されたデータ32、抽出された注釈付きデータ34、スキーマ36、語彙規則38など)を格納するために、任意の数の任意の通常の又は他のデータベース、データ・ストア、ストレージ構造体(例えば、ファイル、データベース、データ構造、データ又は他のリポジトリなど)を用いることができる。データベース・システムは、情報(例えば、抽出されたデータ32、抽出された注釈付きデータ34、スキーマ36、語彙規則38など)を格納するために、任意の数の任意の通常の又は他のデータベース、データ・ストア又はストレージ構造(例えば、ファイル、データベース、データ構造、データ又は他のリポジトリなど)を用いることができる。データベース・システムは、サーバ若しくはクライアント又は両方のシステムの中に含めるか又はそれらに結合することができる。データベース・システム若しくはストレージ構造又は両方は、コンピュータ又は他の処理システムから遠隔に又はそれらに対してローカルに配置することができ、任意の所望のデータ(例えば、抽出されたデータ32、抽出された注釈付きデータ34、スキーマ36、語彙規則38など)を格納することができる。
本発明の実施形態は、情報(例えば、抽出されたデータ32、抽出された注釈付きデータ34、スキーマ36、語彙規則38など)を取得するか又は提供するために、任意の数の任意のタイプのユーザ・インタフェース(例えば、グラフィカル・ユーザ・インタフェース(GUI)、コマンド・ライン、プロンプトなど)を用いることができ、ここでインタフェースは任意の形式で配置された任意の情報を含むことができる。インタフェースは、情報を入力/表示し、任意の適切な入力デバイス(例えば、マウス、キーボードなど)を介して所望の行為を開始するために、任意の場所に配置された、任意の数の任意のタイプの入力または作動機構(例えば、ボタン、アイコン、フィールド、ボックス、リンクなど)を含むことができる。インタフェース・スクリーンは、任意の方式でスクリーンの間をナビゲートするための任意の適切なアクチュエータ(例えば、リンク、タブなど)を含むことができる。
自動スキーマ注釈ファイル生成システム15は、任意の形式で配置された任意の情報を含むことができ、ユーザに所望の情報(例えば、メタデータ、質問に対する回答など)を提供するための規則又は他の基準に基づいて構成することができる。
本発明の実施形態は、上述した特定のタスク又はアルゴリズムに限定されるものではないが、自動化スキーマ生成が有用なあらゆるアプリケーションに対して利用することができる。さらに、この手法は、一般に、これらに限定されるものではないが、人材、医療、金融、マーケティング、政府等を含む種々の技術領域にも適用可能である。
本明細書で使用される用語は、特定の実施形態を説明するためのものにすぎず、本発明を限定することを意図するものではない。本明細書で使用される場合、単数形「a」、「an」及び「the」は、文脈で特に断りのない限り、複数形も含むことを意図している。さらに、「含む(comprise)」、「含んでいる(comprising)」、「含む(comprise)」、「含んでいる(including)」、「有する(has)」、「有する(have)」、「有している(having)」、「備える(with)」などの用語は、本明細書で用いられる場合、記述された特徴、整数、ステップ、オペレーション、要素もしくはコンポーネント、又はそれらの組み合わせの存在を指定するが、1つ又は複数の他の特徴、整数、ステップ、オペレーション、要素、コンポーネント、もしくはその群、又はそれらの組み合わせの存在又は追加を排除するものではないことも理解されるであろう。
以下の特許請求の範囲における「手段又はステップと機能との組み合わせ(ミーンズ又はステップ・プラス・ファンクション)」要素の対応する構造、材料、動作及び均等物は、明確に特許請求された他の請求された要素と共に機能を実行するための任意の構造、材料、又は行為を含むことを意図したものである。本開示の説明は、例証及び説明のためだけに提示されたものであり、網羅的であること又は本発明を開示した形態に限定することを意図したものではない。当業者には、本発明の範囲から逸脱しない多くの修正物及び変形物が明らかとなるであろう。実施形態は、本発明の原理及び実際の用途を最もよく説明するため、及び、当業者が、企図した特定の用途に適するように種々の修正を有する種々の実施形態に関して本発明を理解することができるように、選択され記述された。
本発明の種々の実施形態の説明は、例証の目的のために提示されたが、これらは、網羅的であること、又は開示した実施形態に限定することを意図するものではない。当業者には、説明される実施形態の範囲から逸脱することなく、多くの修正及び変形が明らかであろう。本明細書で用いられる用語は、実施形態の原理、実際の適用、又は市場に見られる技術に優る技術的改善を最もよく説明するため、又は、当業者が、本明細書に開示される実施形態を理解するのを可能にするために選択された。
本発明は、システム、方法もしくはコンピュータ・プログラム製品又はそれらの組み合わせを、いずれかの可能な技術的詳細レベルで統合したものとすることができる。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(単数又は複数)を含むことができる。
コンピュータ可読ストレージ媒体は、命令実行デバイスにより使用される命令を保持及び格納できる有形デバイスとすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストとして、以下のもの、すなわち、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリ・スティック、フロッピー・ディスク、パンチカードもしくは命令がそこに記録された溝内の隆起構造のような機械的にエンコードされたデバイス、及び上記のいずれかの適切な組み合わせが挙げられる。本明細書で使用される場合、コンピュータ可読ストレージ媒体は、電波、又は他の自由に伝搬する電磁波、導波管もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通る光パルス)、又はワイヤを通って送られる電気信号などの、一時的信号自体として解釈されない。
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、又は、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワーク、及び/又は無線ネットワークなどのネットワークを介して外部コンピュータ又は外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバ、又はそれらの組み合わせを含むことができる。各コンピューティング/処理デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令を転送して、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体内に格納する。
本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、「C」プログラミング言語もしくは類似のプログラミング言語などの従来の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述されるソース・コード又はオブジェクト・コードとすることができる。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータもしくはサーバ上で実行される場合もある。最後のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネットサービスプロバイダを用いたインターネットを通じて)。幾つかの実施形態において、例えば、プログラム可能論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、又はプログラム可能論理アレイ(PLA)を含む電子回路は、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行して、電子回路を個別化することができる。
本発明の態様は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図もしくはブロック図又はその両方を参照して説明される。フローチャート図もしくはブロック図又はその両方の各ブロック、並びにフローチャート図もしくはブロック図又はその両方におけるブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることが理解されるであろう。
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロック内で指定された機能/動作を実施するための手段を作り出すようにすることができる。これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置もしくは他のデバイス又はその組み合わせを特定の方式で機能させるように指示することができるコンピュータ可読媒体内に格納し、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロックにおいて指定された機能/動作の態様を実施する命令を含む製品を含むようにすることもできる。
コンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、一連のオペレーション・ステップをコンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で行わせてコンピュータ実施のプロセスを生産し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャートもしくはブロック図又は両方の1つ又は複数のブロックにおいて指定された機能/動作を実行するためのプロセスを提供するようにすることもできる。
図面内のフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート内の各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む、モジュール、セグメント、又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に示される機能は、図に示される順序とは異なる順序で生じることがある。例えば、連続して示される2つのブロックは、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックはときとして逆順で実行されることもある。ブロック図もしくはフローチャート図又は両方の各ブロック、及びブロック図もしくはフローチャート図又はその両方におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用のハードウェアとコンピュータ命令との組み合わせを実行する、専用ハードウェア・ベースのシステムによって実装できることにも留意されたい。

Claims (19)

  1. コンピュータ・デバイスを用いて自然言語クエリを処理するためのリレーショナル・データベースのセマンティック・モデルを作成する自動化された方法であって、
    前記コンピュータ・デバイスによって、リレーショナル・データベース・メタデータを自動的に抽出することと、
    前記コンピュータ・デバイスによって、前記抽出されたメタデータのカラムについてユーザからのテキスト・ラベルを促すことと、
    前記コンピュータ・デバイスによって、前記リレーショナル・データベース・メタデータと前記カラムに与えられた前記テキスト・ラベルとに基づいて、スキーマ注釈ファイルを自動的に生成することと、
    前記スキーマ注釈ファイルを用いて、前記リレーショナル・データベースについて自然言語クエリを処理することと、
    を含む方法。
  2. 前記ユーザは、前記リレーショナル・データベースの構造又は前記リレーショナル・データベースのオントロジの知識なしに、前記抽出されたメタデータに注釈を付ける、
    請求項1に記載の方法。
  3. 前記リレーショナル・データベースについてのセマンティック注釈を用いて、前記スキーマ注釈ファイルを処理して語彙規則にすることをさらに含む、請求項1又は請求項2に記載の方法。
  4. 前記抽出されたメタデータはテーブルの形式で提供され、前記メタデータは、テーブル名と前記テーブル内の1つ又は複数のカラム名とを含む、請求項1~請求項3のいずれか1項に記載の方法。
  5. 前記抽出されたメタデータは、前記テキスト・ラベルを与えるようにユーザによって注釈を付けられ、前記テキスト・ラベルは、少なくともセマンティック・タイプ及び要素ラベルを含む、請求項4に記載の方法。
  6. 前記スキーマ注釈ファイルは、前記リレーショナル・データベースのエンティティと前記エンティティの間の関係とを記述するフレーズを含むテキスト・ファイルである、請求項1~5のいずれか1項に記載の方法。
  7. 前記リレーショナル・データベースは領域に依存しない、請求項1~請求項6のいずれか1項に記載の方法。
  8. 前記スキーマ注釈ファイルは、ユーザ入力の自然言語処理を用いてセマンティックを抽出して作成され、前記抽出されたセマンティックは、前記リレーショナル・データベースの前記エンティティの間の関係を作成するために用いられる、請求項5に記載の方法。
  9. 機械学習システムにより、セマンティック注釈を用いてスキーマ固有の語彙規則を作成することをさらに含み、
    前記機械学習システムは、前記スキーマ注釈ファイルと英語の固定構文規則に基づくテンプレート規則とを用いて、前記スキーマ固有の語彙規則を作成する、
    請求項1~請求項8のいずれか1項に記載の方法。
  10. 前記自然言語クエリを処理することは、
    前記ユーザから自然言語質問を受け取ることと、
    セマンティック注釈に基づいて生成された語彙規則を用いて、前記受け取った自然言語質問を構造化クエリに変換することと、
    前記構造化クエリの結果に基づいて、前記受け取った自然言語質問に対する回答を生成することと、
    を含む、請求項1~請求項9のいずれか1項に記載の方法。
  11. 自然言語クエリを処理するためのリレーショナル・データベースのセマンティック・モデルを作成するシステムであって、
    1つ又は複数のプロセッサと、
    1つ又は複数のコンピュータ可読ストレージ媒体と、
    前記1つ又は複数のコンピュータ可読ストレージ媒体に格納された、前記1つ又は複数のコンピュータ・プロセッサのうちの少なくとも1つによる実行のためのプログラム命令と
    を備え、
    前記プログラム命令は、
    コンピューティング・デバイスによって、リレーショナル・データベース・メタデータを自動的に抽出し、
    前記コンピューティング・デバイスによって、前記抽出されたメタデータのカラムについてユーザからのテキスト・ラベルを促し、
    前記コンピューティング・デバイスによって、前記リレーショナル・データベース・メタデータと前記カラムに与えられた前記テキスト・ラベルとに基づいて、スキーマ注釈ファイルを自動的に生成し、
    前記スキーマ注釈ファイルを用いて、前記リレーショナル・データベースについて自然言語クエリを処理する、
    命令を含む、システム。
  12. 前記ユーザは、前記リレーショナル・データベースの構造又は前記リレーショナル・データベースのオントロジの知識なしに、前記抽出されたメタデータに注釈を付ける、請求項11に記載のシステム。
  13. 前記プロセッサによって実行可能な前記命令は、前記リレーショナル・データベースについてのセマンティック注釈を用いて、前記スキーマ注釈ファイルを処理して語彙規則にするようにさらに構成される、請求項11又は請求項12に記載のシステム。
  14. 前記抽出されたメタデータはテーブルの形式で提供され、前記メタデータは、テーブル名と前記テーブル内の1つ又は複数のカラム名とを含む、請求項11~請求項13のいずれか1項に記載のシステム。
  15. 前記抽出されたメタデータは、前記テキスト・ラベルを与えるようにユーザによって注釈を付けられ、前記テキスト・ラベルは、少なくともセマンティック・タイプ及び要素ラベルを含む、請求項14に記載のシステム。
  16. 前記スキーマ注釈ファイルは、ユーザ入力の自然言語処理を用いてセマンティックを抽出して作成され、前記抽出されたセマンティックは、前記リレーショナル・データベースの前記エンティティの間の関係を作成するために用いられる、請求項15に記載のシステム。
  17. 前記プロセッサによって実行可能な前記命令は、
    前記ユーザから自然言語質問を受け取り、
    セマンティック注釈に基づいて生成された語彙規則を用いて、前記受け取った自然言語質問を構造化クエリに変換し、
    前記構造化クエリの結果に基づいて、前記受け取った自然言語質問に対する回答を生成する、
    ようにさらに構成される、請求項11~請求項16のいずれか1項に記載のシステム
  18. 自然言語クエリを処理するためのリレーショナル・データベースのセマンティック・モデルを作成するコンピュータ・プログラム製品であって、
    処理回路によって読み取り可能であり、請求項1~請求項10のいずれか1項に記載の方法を行うための前記処理回路による実行命令を格納する、コンピュータ可読ストレージ媒体を備える、コンピュータ・プログラム製品。
  19. コンピュータ可読媒体に格納され、デジタル・コンピュータの内部メモリにロード可能なコンピュータ・プログラムであって、コンピュータ上で実行されたときに請求項1~請求項10のいずれか1項に記載の方法を行うためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
JP2022534804A 2019-12-20 2020-12-18 自然言語クエリを構造化クエリ言語に変換するためのスキーマ注釈ファイルの自動作成 Pending JP2023507286A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/722,994 US11693855B2 (en) 2019-12-20 2019-12-20 Automatic creation of schema annotation files for converting natural language queries to structured query language
US16/722,994 2019-12-20
PCT/IB2020/062189 WO2021124252A1 (en) 2019-12-20 2020-12-18 Automatic creation of schema annotation files for converting natural language queries to structured query language

Publications (1)

Publication Number Publication Date
JP2023507286A true JP2023507286A (ja) 2023-02-22

Family

ID=76438311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022534804A Pending JP2023507286A (ja) 2019-12-20 2020-12-18 自然言語クエリを構造化クエリ言語に変換するためのスキーマ注釈ファイルの自動作成

Country Status (6)

Country Link
US (1) US11693855B2 (ja)
JP (1) JP2023507286A (ja)
CN (1) CN114846461A (ja)
DE (1) DE112020005268T5 (ja)
GB (1) GB2606920A (ja)
WO (1) WO2021124252A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11989261B2 (en) * 2020-09-30 2024-05-21 International Business Machines Corporation Answering questions with artificial intelligence using tabular data
CN113553414B (zh) * 2021-06-30 2023-08-25 北京百度网讯科技有限公司 智能对话方法、装置、电子设备和存储介质
CN113741864B (zh) * 2021-08-16 2024-04-05 广州木链云科技有限公司 基于自然语言处理的语义化服务接口自动设计方法与系统
US20230169075A1 (en) * 2021-11-30 2023-06-01 POSTECH Research and Business Development Foundation Apparatus and method for processing natural language query about relational database using transformer neural network
US11907226B2 (en) 2022-03-21 2024-02-20 International Business Machines Corporation Refining understanding of natural language database queries
CN114579605B (zh) * 2022-04-26 2022-08-09 阿里巴巴达摩院(杭州)科技有限公司 表格问答数据处理方法、电子设备及计算机存储介质
CN116302218B (zh) * 2023-03-15 2024-05-10 北京百度网讯科技有限公司 函数信息的添加方法、装置、设备以及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999963B1 (en) 2000-05-03 2006-02-14 Microsoft Corporation Methods, apparatus, and data structures for annotating a database design schema and/or indexing annotations
CA2423965A1 (en) * 2000-09-29 2002-04-04 Gavagai Technology Incorporated A method and system for adapting synonym resources to specific domains
US8401991B2 (en) 2008-08-08 2013-03-19 Oracle International Corporation Database-based inference engine for RDFS/OWL constructs
US8140556B2 (en) 2009-01-20 2012-03-20 Oracle International Corporation Techniques for automated generation of queries for querying ontologies
US9106600B2 (en) * 2012-11-16 2015-08-11 Lu Wang Platform-independent method and system for electronically engaging customers
US9348815B1 (en) * 2013-06-28 2016-05-24 Digital Reasoning Systems, Inc. Systems and methods for construction, maintenance, and improvement of knowledge representations
US9418086B2 (en) * 2013-08-20 2016-08-16 Microsoft Technology Licensing, Llc Database access
US10452661B2 (en) * 2015-06-18 2019-10-22 Microsoft Technology Licensing, Llc Automated database schema annotation
US10719667B1 (en) * 2015-06-30 2020-07-21 Google Llc Providing a natural language based application program interface
US9959311B2 (en) * 2015-09-18 2018-05-01 International Business Machines Corporation Natural language interface to databases
US10346401B2 (en) 2016-07-07 2019-07-09 Accenture Global Solutions Limited Query rewriting in a relational data harmonization framework
US10754886B2 (en) * 2016-10-05 2020-08-25 International Business Machines Corporation Using multiple natural language classifier to associate a generic query with a structured question type
US20190034540A1 (en) * 2017-07-28 2019-01-31 Insight Engines, Inc. Natural language search with semantic mapping and classification
CN110019555B (zh) 2017-12-26 2023-08-25 中国科学院沈阳自动化研究所 一种关系数据语义化建模方法
US10437931B1 (en) * 2018-03-23 2019-10-08 Abbyy Production Llc Information extraction from natural language texts
US11113324B2 (en) * 2018-07-26 2021-09-07 JANZZ Ltd Classifier system and method
US12079714B2 (en) * 2019-07-03 2024-09-03 Kpn Innovations, Llc Methods and systems for an artificial intelligence advisory system for textual analysis

Also Published As

Publication number Publication date
WO2021124252A1 (en) 2021-06-24
GB202209966D0 (en) 2022-08-24
US11693855B2 (en) 2023-07-04
CN114846461A (zh) 2022-08-02
GB2606920A (en) 2022-11-23
DE112020005268T5 (de) 2022-08-18
US20210191936A1 (en) 2021-06-24

Similar Documents

Publication Publication Date Title
US10698977B1 (en) System and methods for processing fuzzy expressions in search engines and for information extraction
US11693855B2 (en) Automatic creation of schema annotation files for converting natural language queries to structured query language
US10713571B2 (en) Displaying quality of question being asked a question answering system
US10102254B2 (en) Confidence ranking of answers based on temporal semantics
US9740685B2 (en) Generation of natural language processing model for an information domain
CN110337645B (zh) 可适配的处理组件
US9286290B2 (en) Producing insight information from tables using natural language processing
US11017312B2 (en) Expanding training questions through contextualizing feature search
US10339453B2 (en) Automatically generating test/training questions and answers through pattern based analysis and natural language processing techniques on the given corpus for quick domain adaptation
US9715531B2 (en) Weighting search criteria based on similarities to an ingested corpus in a question and answer (QA) system
US10095740B2 (en) Selective fact generation from table data in a cognitive system
US9542496B2 (en) Effective ingesting data used for answering questions in a question and answer (QA) system
US9720962B2 (en) Answering superlative questions with a question and answer system
US20140114942A1 (en) Dynamic Pruning of a Search Index Based on Search Results
US9760828B2 (en) Utilizing temporal indicators to weight semantic values
WO2010107327A1 (en) Natural language processing method and system
TW201314476A (zh) 基於本體之自動自助式使用者支援
US9886480B2 (en) Managing credibility for a question answering system
US10606903B2 (en) Multi-dimensional query based extraction of polarity-aware content
Song et al. Semantic query graph based SPARQL generation from natural language questions
di Buono Semi-automatic indexing and parsing information on the web with NooJ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220621

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240925