【手続補正書】
【提出日】令和2年8月28日(2020.8.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
１つ以上のコンピュータを含むコンピュータシステムにより実行される方法であって、前記コンピュータシステムは、
データベーススキーマを使用して記憶されたデータに基づく入力自然言語クエリを受信するステップと、
前記入力自然言語クエリのターム、
前記データベーススキーマの列のセット、及び
データベースクエリ言語の語彙
を含む複数のタームからトークンのシーケンスを生成するステップと、
１つ以上の入力表現を生成するステップであり、各入力表現は、前記トークンのシーケンスをエンコードすることにより取得される、ステップと、
複数の機械学習に基づくモデルにアクセスするステップであり、各々の機械学習に基づくモデルは、前記入力自然言語クエリに対応するデータベースクエリの部分を予測するように構成される、ステップと、
前記複数の機械学習に基づくモデルの各々について、前記機械学習に基づくモデルを入力表現を使用して実行して前記データベースクエリの部分を生成するステップと、
前記データベースクエリの前記生成された部分を組み合わせて前記データベースクエリを取得するステップと、
前記データベースクエリを実行して結果セットを取得するステップと、
を実行する、方法。
【請求項２】
前記入力自然言語クエリは、クライアントデバイスから受信され、当該方法は、前記結果セットを前記クライアントデバイスに送信するステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記複数の機械学習に基づくモデルは、前記データベースクエリ内の集約演算子を決定する集約分類器モデルを含み、前記集約分類器モデルは、多層パーセプトロンを含む、請求項１に記載の方法。
【請求項４】
前記複数の機械学習に基づくモデルは、前記データベースクエリの結果列を決定する結果列予測器モデルを含み、前記結果列予測器モデルは、多層パーセプトロンを含む、請求項１に記載の方法。
【請求項５】
前記複数の機械学習に基づくモデルは、前記データベースクエリの条件句を決定する条件句予測器モデルを含み、前記条件句予測器モデルは、強化学習に基づく、請求項１に記載の方法。
【請求項６】
グラウンドトルースデータベースクエリに基づく結果セットを受信するステップと、
前記生成されたクエリから取得された結果と前記グラウンドトルースクエリから取得された結果との比較に基づいて報酬値を決定するステップと、
前記報酬値に基づいて前記条件句予測器モデルの重みを調整するステップと、
をさらに含む請求項５に記載の方法。
【請求項７】
前記シーケンスの各トークンに対応する列エンコーディングを決定するステップと、
前記入力シーケンスの各トークンについてのスカラー注目スコアを含むベクトルを決定するステップと、
前記ベクトルをソフトマックス関数を使用して正規化するステップと、
前記入力表現を、対応する正規化されたスコアにより重み付けされた前記列エンコーディングの和として決定するステップと、
をさらに含む請求項５に記載の方法。
【請求項８】
前記複数の機械学習に基づくモデルを勾配降下を使用して訓練して、前記複数のモデルの各々の結果に基づいて損失を表す目的関数を最小化するステップ
をさらに含む請求項１に記載の方法。
【請求項９】
前記１つ以上の入力表現を生成するステップは、入力表現κａｇｇを、
トークンのシーケンス内の各ｔ番目のトークンについて、スカラー注目スコアαｉｎｔ＝Ｗｉｎｐｈｅｎｃｔを計算し、ｈｅｎｃｔは、前記入力シーケンス内のｔ番目のワードに対応するエンコーダの状態であり、
前記スコアのベクトルαｉｎ＝［αｉｎｐ１，αｉｎｐ２，・・・］を正規化して、前記トークンのシーケンス内の前記トークンにわたる分布を生成し、
前記入力表現κａｇｇを、
【数１】
2020520516.tif 000001
として取得し、βａｇｇ＝ｓｏｆｔｍａｘ（αａｇｇ）及びαａｇｇ＝Ｗａｇｇｔａｎｈ（Ｖａｇｇκａｇｇ＋ｂａｇｇ）＋ｃａｇｇである
ことにより計算するステップを含む、請求項１に記載の方法。
【請求項１０】
１つ以上の列名を有する前記ＳＱＬクエリのｓｅｌｅｃｔ句を定式化するポインタネットワークで長短期記憶（ＬＳＴＭ）を使用するステップであり、
列表現及び質問表現のリストを所与として、質問に最もマッチする列を選択することを含み、前記列表現のリストは、各列名をＬＳＴＭでエンコードすることにより取得され、特定の列ｊの表現ｅｃｊは、
【数２】
2020520516.tif 000002
により与えられる、ステップ、
をさらに含む請求項１に記載の方法。
【請求項１１】
強化学習を使用して、データベースに対して前記生成されたＳＱＬクエリを実行することにより前記ＳＱＬクエリのｗｈｅｒｅ条件を定式化して、
【数３】
2020520516.tif 000003
として定義される報酬Ｒ（ｑ（ｙ），ｑｇ）を取得するステップであり、ｑ（ｙ）は、前記機械学習に基づくモデルにより生成されたクエリを表し、ｑｇは、前記入力自然言語クエリに対応するグラウンドトルースクエリを表す、ステップ
をさらに含む請求項１に記載の方法。
【請求項１２】
自然言語要求を処理してＳＱＬクエリの部分を生成するステップであり、
１つ以上の列名を有する前記ＳＱＬクエリのｓｅｌｅｃｔ句を定式化するポインタネットワークで長短期記憶（ＬＳＴＭ）を使用することと、
強化学習により訓練された拡大ポインタデコーダを使用して前記ＳＱＬクエリのｗｈｅｒｅ条件を定式化することと、を含む、ステップ、
を含む方法。
【請求項１３】
多層パーセプトロンを使用して、指定された条件下で選択された列に適用可能な前記ＳＱＬクエリの集約演算を決定するステップ、
をさらに含む請求項１２に記載の方法。
【請求項１４】
１つ以上の列名を有する前記ＳＱＬクエリのｓｅｌｅｃｔ句を定式化するポインタネットワークで長短期記憶（ＬＳＴＭ）を使用することは、
列表現及び質問表現のリストを所与として、質問に最もマッチする列を選択すること
を含む、請求項１２に記載の方法。
【請求項１５】
前記列表現のリストは、各列名をＬＳＴＭでエンコードすることにより取得され、特定の列ｊの表現ｅｃｊは、
【数４】
2020520516.tif 000004
により与えられる、請求項１４に記載の方法。
【請求項１６】
前記１つ以上の入力表現を生成することは、入力表現κａｇｇを、
トークンのシーケンス内の各ｔ番目のトークンについて、スカラー注目スコアαｉｎｔ＝Ｗｉｎｐｈｅｎｃｔを計算し、ｈｅｎｃｔは、前記入力シーケンス内のｔ番目のワードに対応するエンコーダの状態であり、
前記スコアのベクトルαｉｎ＝［αｉｎｐ１，αｉｎｐ２，・・・］を正規化して、前記トークンのシーケンス内の前記トークンにわたる分布を生成し、
前記入力表現κａｇｇを、
【数５】
2020520516.tif 000005
として取得し、βａｇｇ＝ｓｏｆｔｍａｘ（αａｇｇ）及びαａｇｇ＝Ｗａｇｇｔａｎｈ（Ｖａｇｇκａｇｇ＋ｂａｇｇ）＋ｃａｇｇである
ことにより計算することを含む、請求項１４に記載の方法。
【請求項１７】
強化学習を使用して、データベースに対して前記生成されたＳＱＬクエリを実行することにより前記ＳＱＬクエリのｗｈｅｒｅ条件を定式化して、
【数６】
2020520516.tif 000006
として定義される報酬Ｒ（ｑ（ｙ），ｑｇ）を取得するステップであり、ｑ（ｙ）は、前記機械学習に基づくモデルにより生成されたクエリを表し、ｑｇは、前記入力自然言語クエリに対応するグラウンドトルースクエリを表す、ステップ
をさらに含む請求項１４に記載の方法。
【請求項１８】
１つ以上のコンピュータにより実行されたときに前記１つ以上のコンピュータにステップを実行させるコンピュータ実行可能コードを含む非一時的コンピュータ読取可能記憶媒体であって、前記ステップは、
データベーススキーマを使用して記憶されたデータに基づく入力自然言語クエリを受信するステップと、
前記入力自然言語クエリのターム、
前記データベーススキーマの列のセット、及び
データベースクエリ言語の語彙
を含む複数のタームからトークンのシーケンスを生成するステップと、
１つ以上の入力表現を生成するステップであり、各入力表現は、前記トークンのシーケンスをエンコードすることにより取得される、ステップと、
複数の機械学習に基づくモデルにアクセスするステップであり、各々の機械学習に基づくモデルは、前記入力自然言語クエリに対応するデータベースクエリの部分を予測するように構成される、ステップと、
前記複数の機械学習に基づくモデルの各々について、前記機械学習に基づくモデルを入力表現を使用して実行して前記データベースクエリの部分を生成するステップと、
前記データベースクエリの前記生成された部分を組み合わせて前記データベースクエリを取得するステップと、
前記データベースクエリを実行して結果セットを取得するステップと、
を含む、非一時的コンピュータ読取可能記憶媒体。
【請求項１９】
リカレントニューラルネットワーク（ＲＮＮ）アーキテクチャを生成するコンピュータシステムであって、
１つ以上のコンピュータプロセッサと、
１つ以上のコンピュータにより実行されたときに前記１つ以上のコンピュータにステップを実行させるコンピュータ実行可能コードを含む非一時的コンピュータ読取可能記憶媒体と、
を含み、前記ステップは、
データベーススキーマを使用して記憶されたデータに基づく入力自然言語クエリを受信するステップと、
前記入力自然言語クエリのターム、
前記データベーススキーマの列のセット、及び
データベースクエリ言語の語彙
を含む複数のタームからトークンのシーケンスを生成するステップと、
１つ以上の入力表現を生成するステップであり、各入力表現は、前記トークンのシーケンスをエンコードすることにより取得される、ステップと、
複数の機械学習に基づくモデルにアクセスするステップであり、各々の機械学習に基づくモデルは、前記入力自然言語クエリに対応するデータベースクエリの部分を予測するように構成される、ステップと、
前記複数の機械学習に基づくモデルの各々について、前記機械学習に基づくモデルを入力表現を使用して実行して前記データベースクエリの部分を生成するステップと、
前記データベースクエリの前記生成された部分を組み合わせて前記データベースクエリを取得するステップと、
前記データベースクエリを実行して結果セットを取得するステップと、
を含む、コンピュータシステム。