JP2022106980A - クエリ文の生成方法、装置、電子機器及び記憶媒体 - Google Patents

クエリ文の生成方法、装置、電子機器及び記憶媒体 Download PDF

Info

Publication number
JP2022106980A
JP2022106980A JP2022078448A JP2022078448A JP2022106980A JP 2022106980 A JP2022106980 A JP 2022106980A JP 2022078448 A JP2022078448 A JP 2022078448A JP 2022078448 A JP2022078448 A JP 2022078448A JP 2022106980 A JP2022106980 A JP 2022106980A
Authority
JP
Japan
Prior art keywords
node
vector representation
vector
target
query statement
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
JP2022078448A
Other languages
English (en)
Inventor
アオ ヂャン,
Ao Zhang
リージェ ワン,
Lijie Wang
シァォ,シンイェン
Xinyan Xiao
ティンティン リー,
Tingting Li
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022106980A publication Critical patent/JP2022106980A/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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】生成中に、コンテキストのセマンティック情報が十分に考慮され、正確性と信頼性が向上するクエリ文の生成方法、装置、電子機器及び記憶媒体を提供する。【解決手段】方法は、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定するステップ101と、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定するステップ102と、ターゲット生成戦略を実行して、第1のベクトル表現又は第2のベクトル表現に基づいて、ターゲットノードを生成するステップ103と、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成するステップ104と、を含む。第2のベクトル表現は、生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現である。【選択図】図1

Description

本開示は、コンピュータ技術の分野に関し、具体的には、自然言語処理、深層学習などの人工知能技術の分野に関し、特に、クエリ文の生成方法、装置、電子機器及び記憶媒体に関する。
コンピュータ技術の活発な発展に伴い、深層学習、自然言語処理、知識グラフなどの分野も急速に発展し、機械による自動質問応答は、実際の業務シーンにますます適用されている。知識ベースに基づく質問応答では、より正確なクエリ文を如何に生成するかが非常に重要である。
本開示は、クエリ文の生成方法、装置、電子機器及び記憶媒体を提供する。
本開示の一態様は、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定するステップと、前記第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定するステップと、前記ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、前記ターゲットノードを生成するステップであって、前記第2のベクトル表現は、前記生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現であるステップと、前記ターゲットノードがターミネータである場合、前記各既知のノード及び前記ターミネータに基づいて、前記クエリ文を生成するステップと、を含むクエリ文の生成方法を提供する。
本開示の別の態様は、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定するための第1の決定モジュールと、前記第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定するための第2の決定モジュールと、前記ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、前記ターゲットノードを生成するための第1の生成モジュールであって、前記第2のベクトル表現は、前記生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現である第1の生成モジュールと、前記ターゲットノードがターミネータである場合、前記各既知のノード及び前記ターミネータに基づいて、前記クエリ文を生成するための第2の生成モジュールと、を含むクエリ文の生成装置を提供する。
本開示の別の態様は、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサに通信可能に接続されるメモリと、を備える電子機器であって、前記メモリには、前記少なくとも1つのプロセッサによって実行される命令が記憶されており、前記命令は、前記少なくとも1つのプロセッサが上記の一態様に記載の方法を実行できるように、前記少なくとも1つのプロセッサによって実行される電子機器を提供する。
本開示の別の態様は、コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータ命令は、コンピュータに上記の一態様に記載の方法を実行させる。
本開示の別の態様は、コンピュータプログラムを提供し、前記コンピュータプログラムがプロセッサによって実行される場合、上記の一態様に記載の方法が実現される。
本開示によって提供されるクエリ文の生成方法、装置、電子機器及び記憶媒体は、先に、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定し、次に、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定し、その後ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成し、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。これにより、クエリ文の生成中に、コンテキストのセマンティック情報が十分に考慮され、生成されたクエリ文の正確性と信頼性が向上する。
なお、ここで記載されている内容は、本開示の実施例の肝心な又は重要な特徴を限定することを意図するものではなく、本開示の範囲を限定することを意図するものでもない。本出願の他の特徴は下記の明細書の記載によって理解されやすくなる。
図面は、本技術案をより良く理解するために使用され、本開示を限定するものではない。
本開示の一実施例によって提供されるクエリ文の生成方法の概略フローチャートである。 本開示の別の実施例によって提供されるクエリ文の生成方法の概略フローチャートである。 本開示の別の実施例によって提供される構文ツリーの模式図である。 本開示の別の実施例によって提供される構文ツリーの実行プロセスの模式図である。 本開示のさらなる別の実施例によって提供されるクエリ文の生成方法の概略フローチャートである。 本開示の別の実施例によって提供されるクエリ文の生成方法の概略フローチャートである。 本開示の別の実施例によって提供されるクエリ文の生成装置の概略構成図である。 本開示の実施例に係るクエリ文の生成方法を実行するための電子機器のブロック図である。
以下、図面と組み合わせて本出願の例示的な実施例を説明し、理解を容易にするために、その中には本開示の実施例の様々な詳細が含まれており、それらは単なる例示的なものと見なされるべきである。したがって、当業者は、本開示の範囲および精神から逸脱することなく、本明細書に記載の実施例に対して様々な変更および修正を行うことができる。また、わかりやすくかつ簡潔にするために、以下の説明では、周知の機能および構造の説明を省略する。
人工知能は、コンピュータに人間のある思惟過程と知能行為(例えば学習、推論、考え、計画など)をシミュレーションさせることを研究する学科であり、ハードウェアレベルの技術もソフトウェアレベルの技術もある。人工知能のハードウェア技術は、一般的に、例えばセンサ、人工知能専用チップ、クラウドコンピューティング、分散記憶、ビッグデータ処理などの技術を含み、人工知能のソフトウェア技術は、主に、コンピュータビジョン技術、音声認識技術、自然言語処理技術及び機械学習、深層学習、ビッグデータ処理技術、知識マップ技術などのいくつかの面を含む。
自然言語処理とは、コンピュータを使用して人間の言語(中国語、英語など)を処理、理解、および運用することであり、コンピュータサイエンスと言語学の交差学科であり、常に、計算言語学とも呼ばれる。自然言語は人間を他の動物から区別する基本的な印である。言語がなければ、人間の思考もできないので、自然言語処理は、人工知能の最高のタスクと境界を反映しており、つまり、コンピュータが自然言語を処理する能力を持っている場合にのみ、機械は真の知能を実現している。
深層学習とは、多層の人工ニューラルネットワークとそのトレーニング方法を指す。一層のニューラルネットワークは、多数の行列数字を入力とし、非線形活性化手法によって重みを取り、別のデータセットを出力として生成する。適切な行列数で多層の組織がリンクされ、人間が物体を認識して画像をマークするように、ニューラルネットワーク「脳」を形成して正確で複雑な処理を行う。
以下、図面を参照して、本開示の実施例に係るクエリ文の生成方法、装置、電子機器及び記憶媒体を説明する。
本開示の実施例に係るクエリ文の生成方法は、本開示の実施例によって提供されるクエリ文の生成装置によって実行することができ、この装置は、電子機器に配置することができる。
説明の便宜上、本開示のクエリ文の生成装置は、単に「入力装置」と呼ばれる。
図1は、本開示の実施例によって提供されるクエリ文の生成方法の概略フローチャートである。
図1に示すように、このクエリ文の生成方法は、以下のステップ101~104を含むことができる。
ステップ101では、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定する。
なお、構文ツリーは、文の導出結果を表す文構造のグラフィカル表現であってもよく、文の構文構造のレベルを理解するのに役たち、即ち、構文ツリーは、特定の規則に従って導出するときに形成されてもよい。従って、本開示の第1の構文ツリーは、生成対象のクエリ文を決定する中に対応して形成されてもよく、このクエリ文の導出結果を表すことができる。
また、第1のベクトル表現は、行列形式またはベクトル形式などであってもよいが、本開示ではこれを限定しない。
また、現在の第1のベクトル表現を決定する場合、さまざまな方法がある。
例えば、第1の構文ツリーの各既知のノードにそれぞれ対応するベクトルをスプライシングして、現在の第1のベクトル表現とすることができる。または、第1の構文ツリーの各既知のノード間の関係に基づいて、各既知のノードに対応するベクトルを融合することもでき、得られた結果は、現在の第1のベクトル表現である。本開示ではこれを限定しない。
ステップ102では、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定する。
ここで、ターゲット生成戦略は、ターゲットノードの具体的な生成方式を示すために使用され、例えば、コピー戦略及びコピーされたコンテンツを実行すること、またはコピー戦略を実行しないことなどであってもよいが、本開示ではこれを限定しない。
また、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定する場合、さまざまな方法がある。
例えば、第1のベクトル表現と予め設定されたコピー基準マトリックスを乗算して、乗算結果に基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定することができる。
例えば、閾値を事前に設定することができる。第1のベクトル表現と予め設定されたコピー基準マトリックスの積がこの閾値よりも大きい場合、コピーを実行することを示し、両者の積がこの閾値よりも小さい場合、コピーを実行しない。
または、第1のベクトル表現と予め設定されたコピー基準マトリックスの積がベクトル(1、1、1)である場合、コピーを実行し、コピーされたコンテンツが前に生成された構文ツリーの構文であることを示し、両者の積が別のベクトルである場合、コピーを実行しない。
なお、上記の例は単なる例であり、本開示の実施例において現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定する方法などの制限として使用することはできない。
ステップ103では、ターゲット生成戦略を実行して、第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成し、ここで、第2のベクトル表現は、生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現である。
例えば、ターゲット生成戦略は、コピーを実行しないことである場合、第1のベクトル表現に基づいて、ターゲットノードに対応するベクトルを直接生成することができ、即ちターゲットノードを生成することができる。
または、ターゲット生成戦略が、コピーを実行することであり、コピーされたコンテンツが、生成された隣接する前のクエリ文に対応する構文ツリーのノードである場合、隣接する前のクエリ文に対応する第2のベクトル表現に基づいて、ターゲットノードを生成することができる。
これにより、ターゲットノードを生成するとき、隣接する前のクエリ文及び現在の生成対象のクエリ文の各既知のノードのコンテンツが十分に考慮され、即ち、コンテキストのセマンティック情報などが十分に考慮され、ターゲットノードの生成の正確性と信頼性が向上し、後続の処理が保障される。
なお、上記の例は単なる例であり、本開示の実施例においてターゲットノードを生成する方法などの制限として使用することはできない。
ステップ104では、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。
ここで、ターミネータは、クエリ文の終わりを表すことができ、即ち、このノードに到達したときに、クエリ文に対応する構文ツリーが生成されたことを表す。
本開示の実施例では、先に、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定し、次に、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定し、その後、ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成し、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。これにより、クエリ文の生成中に、コンテキストのセマンティック情報が十分に考慮され、生成されたクエリ文の正確性と信頼性が向上する。
上記の実施例では、第1の構文ツリーの各既知のノードによって決定された第1のベクトル表現と予め設定されたコピー基準マトリックスに基づいて、対応するターゲット生成戦略を決定することができ、そして、ターゲット生成戦略を実行して、ターゲットノードを生成し、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成することができる。実際の実現では、ターゲットノードが非ターミネータである場合、ターゲットノード及び各既知のノードに基づいて、第1のベクトル表現を更新し、ひいては、新しいターゲットノードを生成することができ、以下に、図2と組み合わせて上記のプロセスをさらに説明する。
図2は、本開示の実施例によって提供されるクエリ文の生成方法の概略フローチャートであり、図2に示すように、このクエリ文の生成方法は、以下のステップ201~206を含むことができる。
ステップ201では、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定する。
ここで、生成対象のクエリ文に対応する第1の構文ツリーのルートノードを決定する方法は、複数あり得る。
例えば、現在の質問文のキーワードをエンコードして、対応するベクトルを生成し、すなわちルートノードを生成することができる。
または、現在の質問文のエンコード結果、クエリ対象の知識ベースなどに基づいて、ルートノードを決定することもできるが、本開示ではこれを限定しない。
なお、質問文は、テキスト形式であってもよく、または処理後にテキスト形式に変換する音声形式などであってもいが、本開示ではこれを限定しない。
選択的に、現在の質問文をエンコードして、質問文に対応する第3のベクトル表現を決定し、次に、第3のベクトル表現、第2のベクトル表現及びクエリ対象の知識ベースに基づいて、基準ベクトル表現を決定し、その後、基準ベクトル表現及び予め設定されたコピー基準マトリックスに基づいて、第1の構文ツリーのルートノードに対応するターゲット生成戦略を決定し、ターゲット生成戦略を実行して、基準ベクトル表現または第2のベクトル表現に基づいて、ルートノードを生成することができる。
ここで、現在の質問文をエンコードする場合、さまざまな方法があり得る。
例えば、現在の質問文をテキストシーケンスとして、双方向LSTM(long
short-term memory、長短期記憶ネットワーク)をエンコーダーとして質問文をエンコードしてもよく、または、RNN(recurrent neural
network、リカレントニューラルネットワーク)、多層LSTMなどを使用して質問文をエンコードしてもよく、取得されたエンコード結果は、質問文に対応する第3のベクトル表現である。本開示ではこれを限定しない。
また、クエリ対象の知識ベースは、知識グラフ、リレーショナルデータベース、スプレッドシートなどの様々な形式をとることができるが、本開示ではこれを限定しない。
また、基準ベクトルを決定する場合、さまざまな方法があり得る。
例えば、第3のベクトル表現、第2のベクトル表現及びクエリ対象の知識ベースにそれぞれ対応する重みに基づいて、複数のベクトルを重み付け融合することができ、得られる結果は基準ベクトル表現である。
または、第3のベクトル表現、第2のベクトル表現及びクエリ対象の知識ベースに対応するベクトル表現をスプライシングして、基準ベクトル表現を取得することもできるが、本開示ではこれを限定しない。
また、ターゲット生成戦略を実行してルートノードを生成する場合、複数のケースがあり得る。
例えば、ターゲット生成戦略がコピーを実行しないことである場合、基準ベクトル表現に基づいてルートノードを直接生成することができる。例えば、基準ベクトル表現をルートノードとして使用する。
または、ターゲット生成戦略がコピーを実行することであり、コピーされたコンテンツが、生成された隣接する前のクエリ文に対応する構文ツリーのノードである場合、隣接する前のクエリ文に対応する第2のベクトル表現に基づいて、ルートノードを生成することができる。
なお、上記の例は単なる例であり、本開示の実施例においてルートノードの生成方法などの制限として使用することはできない。
なお、上記のルートノードを決定する方法に従って、第1の構文ツリーの各ノードを決定し、ひいては現在の第1のベクトル表現を決定することができ、このプロセスはここでは繰り返されない。
ステップ202では、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定する。
ステップ203では、ターゲット生成戦略を実行して、第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成し、ここで、第2のベクトル表現は、生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現である。
ステップ204では、ターゲットノードが非ターミネータである場合、ターゲットノードと各既知のノードとに基づいて、第1のベクトル表現を更新する。
ここで、非ターミネータは、クエリ文に対応する構文ツリーが、このノードに到達したときに引き続き生成できることを表す。
また、第1のベクトル表現を更新する方法は、複数あり得る。
例えば、ターゲットノードと各既知のノードとの間の関係に基づいて、第1のベクトル表現を更新することができる。または、ターゲットノード及び各既知のノードをスプライシングして、第1のベクトル表現を更新することもでき、本開示ではこれを限定しない。
本開示の実施例では、第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成することにより、生成されたターゲットノードにコンテキストのセマンティック情報が十分に考慮され、ターゲットノードの正確性と信頼性が向上する。その後、ターゲットノードが非ターミネータである場合、ターゲットノードと各既知のノードとに基づいて、第1のベクトル表現を更新する。これにより、更新された第1のベクトル表現をより正確かつ信頼できるものにすることができ、後続の処理の信頼性と正確性を保障することができる。
ステップ205では、更新された第1のベクトル表現に基づいて、生成されたノードがターミネータになるまで、ターゲット生成戦略を決定するステップに戻って実行する。
なお、更新された第1のベクトル表現には、コンテキストのセマンティック情報が十分に考慮される。これにより、更新された第1のベクトル表現に基づいて生成されたターゲットノードもより正確で信頼できるものになる。
本開示の実施例では、ターゲットノードが非ターミネータである場合、第1のベクトル表現を更新し、更新された第1のベクトル表現に基づいてターゲットノードを生成するプロセスを繰り返し実行することにより、第1のベクトル表現の更新とターゲットノードの生成には完全なセマンティクスが完全に考慮しされて、正確性と信頼性が向上する。
ステップ206では、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。
例えば、生成されたクエリ文は、SELECT
車種 FROM 車のテーブル WHERE エネルギータイプ=「燃料」 AND 販売量 > (SELECT AVG(販売量) FROM 車のテーブル )であり、それに対応する構文ツリーを図2aに示す。
なお、図2aに示すような構文ツリーを実行するプロセスでは、この構文ツリーの深さ優先トラバーサルが実行され、各タイムスタンプtにおいて特定の構文制限があるため、構文の正確性が保障される。
また、図2aに示すような構文ツリーの実行プロセスの模式図を図2bに示す。ここで、図2bに示される各ノードは、図2aに示される構文ツリーのノードに対応し、実線の矢印は実行プロセスを表し、破線の矢印は一部のノード間の親子関係を表す。
本開示の実施例では、先に、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定し、次に、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定し、その後、ターゲット生成戦略を実行して、第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成し、ターゲットノードが非ターミネータである場合、ターゲットノードと各既知のノードとに基づいて、第1のベクトル表現を更新し、生成されたノードがターミネータになるまで、ターゲット生成戦略を決定するステップに戻って実行し、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成することができる。これにより、第1のベクトル表現を複数回更新し、更新された第1のベクトル表現に基づいてターゲットノードを生成し、ひいてはクエリ文を生成することにより、生成されたクエリ文は、コンテキストの完全なセマンティクスを完全に組み合わせることができ、生成されたクエリ文の正確性と信頼性が向上する。
上記の実施例では、ターゲットノードが非ターミネータである場合、ターゲットノードと各既知のノードとに基づいて、第1のベクトル表現を更新し、その後、新しいターゲットノードを生成し、ひいてはクエリ文を生成することができる。実際の実現では、第2の構文ツリーの各ノードに対応する基本ベクトル表現を更新して、前のクエリ文に対応する第2のベクトル表現を取得することができる。以下に、図3と組み合わせて上記のプロセスをさらに説明する。
図3は、本開示の実施例によって提供されるクエリ文の生成方法の概略フローチャートであり、図3に示すように、このクエリ文の生成方法は、以下のステップ301~306を含むことができる。
ステップ301では、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定する。
ステップ302では、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定する。
ステップ303では、前のクエリ文をエンコードして、前のクエリ文に対応する第2の構文ツリーの各ノードに対応する基本ベクトル表現を決定する。
ここで、クエリ文は、SQL(structured
query language、構造化クエリ文)などのさまざまな形式をとることができるが、本開示ではこれを限定しない。
ここで、前のクエリ文をエンコードする場合、さまざまな方法があり得る。
例えば、前のクエリ文をテキストシーケンスとして、BiLSTM(双方向LSTM)をエンコーダーとしてクエリ文をエンコードしてもよく、または、RNN、多層LSTMなどを使用してクエリ文をエンコードしてもよく、取得されたエンコード結果は、第2の構文ツリーの各ノードに対応する基本ベクトル表現である。本開示ではこれを限定しない。
また、次の式(1)を使用して前のクエリ文をエンコードすることもできる。
Figure 2022106980000002
ここで、
Figure 2022106980000003
は、前のクエリ文に対応する第2の構文ツリーの各ノードに対応する基本ベクトル表現であり、BiLSTMは双方向LSTMであり、SQLは前のクエリ文の形式であり、Tokensは、前のクエリ文に含まれる各ベクトルである。
なお、上記の例は単なる例であり、本開示の実施例において前のクエリ文をエンコードする方法の制限として使用することはできない。
ステップ304では、第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応する基本ベクトル表現を更新して、前のクエリ文に対応する第2のベクトル表現を取得する。
ここで、第2の構文ツリーの各ノード間の関係は並列、包含など、様々であってもよいが、本開示ではこれを限定しない。
また、各ノードに対応する基本ベクトル表現を更新した後、各ノードを順にスプライシングして、前のクエリ文に対応する第2のベクトル表現を取得することができる。または、各ノードに対応する基本ベクトル表現を更新した後、第2の構文ツリーの各サブツリー間の関係に基づいて、各ノードに対応する更新されたベクトルを融合させて、前のクエリ文に対応する第2のベクトル表現を決定することもできるが、本開示ではこれを限定しない。
また、各ノードに対応する基本ベクトル表現を更新する方法は複数あり、例えば、第2の構文ツリーの各ノードに対応する重み係数と基本ベクトル表現とに基づいて更新することも、または、トレーニングによって生成されたアテンションモデルを使用して更新することもできるが、本開示ではこれを限定しない。
選択的に、第2の構文ツリーの各ノードに対応する重み係数に基づいて、各ノードに関連付けられたサブノードの基本ベクトル表現を使用して、各ノードの基本ベクトル表現を更新して、各ノードの更新されたベクトル表現を取得し、そして、各ノードの更新されたベクトル表現に基づいて、前のクエリ文に対応する第2のベクトル表現を決定することができる。
ここで、各ノードに対応する重み係数は、ユーザによって必要に応じて設定されたものであってもよいし、トレーニングによって得られたものであってもよいが、本開示ではこれを限定しない。
例えば、第2の構文ツリーのノードBに対応する重み係数は0.5であり、対応する基本ベクトルは(0 0 1)であり、このノードBに関連付けられたサブノードはB1とB2であり、対応する基本ベクトルはそれぞれ(0
1 0)と(1 0 0)であり、B1とB2に対応する基本ベクトルを加算して、ベクトル(1 1 0)を取得し、対応する重み係数は0.5であり、重みを付けて融合して、0.5*(0 0 1)+0.5(1 1 0)、即ち、ノードBの更新されたベクトル表現を取得することができる。
または、次の式(2)を使用して、各ノードの基本ベクトルを更新することができる。
Figure 2022106980000004
ここで、
Figure 2022106980000005
は、各ノードの更新されたベクトル表現であり、αは、各ノードに対応する重み係数であり、
Figure 2022106980000006
は、各ノードの基本ベクトル表現であり、(1-α)は、各ノードに関連付けられたサブノードの重み係数であり、
Figure 2022106980000007
は、各ノードに関連付けられたサブノードの基本ベクトル表現であり、ここで、iは、このノードに関連付けられたサブノードである。
なお、上記の例は単なる例であり、本開示の実施例において各ノード、対応する重み係数及びノードのベクトル表現を更新する方法の制限として使用することはできない。
なお、上記のノードBのベクトル表現を更新する方法に従って、第2の構文ツリーの各ノードを順次に更新して、各ノードの更新されたベクトル表現を取得することができ、このプロセスについて、ここでは説明を省略する。その後、各ノードのそれぞれに対応する更新されたベクトル表現をスプライシングして、前のクエリ文に対応する第2のベクトル表現とすることができる。または、第2の構文ツリーの各ノード間の関係に基づいて、各ノードの更新されたベクトル表現を融合することもでき、得られた結果は、前のクエリ文に対応する第2のベクトル表現である。本開示ではこれを限定しない。
本開示の実施例では、第2の構文ツリーの各ノードに対応する基本ベクトルを更新する場合、第2の構文ツリーの各ノード間の対応する重みが十分に考慮され、決定された第2のベクトル表現の正確性と信頼性が向上する。
選択的に、トレーニングによって生成された第1のアテンションモデルを使用して、各ノードの更新されたベクトル表現を取得することもできる。
具体的に、第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応するサブノードを決定し、そして、各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを、トレーニングによって生成された第1のアテンションモデルに入力して、各ノードの更新されたベクトル表現を取得し、各ノードの更新されたベクトル表現に基づいて、前のクエリ文に対応する第2のベクトル表現を決定する。
ここで、第1のアテンションモデルは、事前にトレーニングによって生成されたアテンションモデルであってもよく、第2の構文ツリーの各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを入力し、第1のアテンションモデルで処理した後、各ノードの更新されたベクトル表現を出力することができる。
なお、本開示の第1のアテンションモデルは、入力された各ベクトルをベクトルシーケンスとしてエンコードした後、デコード中に、ベクトルシーケンスからサブセットを選択的に選択してさらに処理することができるため、各出力を生成する場合、入力シーケンスに含まれる情報を十分に活用することができる。これにより、各ノードの更新されたベクトル表現には、各ノードの基本ベクトル及び対応するサブノードの基本ベクトルなどのコンテンツが十分に組み合わせられ、即ち、コンテキストのセマンティック情報が十分に考慮されるため、各ノードの更新されたベクトル表現はより確実で正確であり、さらに第2のベクトル表現の正確性と信頼性を向上させることができる。
また、第1のアテンションモデルをトレーニングする場合、第1の入力ベクトルを、更新が必要なノードとして事前に設定することができる。または、最後に入力されるベクトルを、更新が必要なノードとして設定することもできる。または、必要に応じて入力順序を設定することもできるが、本開示ではこれを限定しない。
例えば、第2の構文ツリーの各ノード間の関係に基づいて、ノードBに対応するサブノードがB1とB2であると決定され、第1のアテンションモデルを使用する場合、第1の入力ベクトルは更新が必要なノードである。これにより、ノードB、サブノードB1とB2の基本ベクトルノードの順序でそれらをこの第1のアテンションモデルに順次に入力して処理し、ノードBの更新されたベクトル表現を出力することができる。
または、次の式(3)を使用して、各ノードの基本ベクトルを更新することができる。
Figure 2022106980000008
ここで、
Figure 2022106980000009
は、各ノードの更新されたベクトル表現であり、ReLUは活性化関数であり、Linearは線形マッピング関数であり、Concatはベクトルスプライシング演算子であり、
Figure 2022106980000010
は各ノードの基本ベクトル表現であり、Attentionはアテンションを計算するための演算子であり、
Figure 2022106980000011
は各ノードに対応するサブノードの基本ベクトル表現である。
なお、上記の例は単なる例であり、本開示の実施例において第1のアテンションモデルを使用して各ノードの更新されたベクトル表現を決定する方法の制限として使用することはできない。
なお、上記のノードBのベクトル表現を更新する方法に従って、第2の構文ツリーの各ノードを順次に更新して、各ノードの更新されたベクトル表現を取得することができ、このプロセスについて、ここでは説明を省略する。その後、各ノードのそれぞれに対応する更新されたベクトル表現をスプライシングして、前のクエリ文に対応する第2のベクトル表現とすることができる。または、第2の構文ツリーの各ノード間の関係に基づいて、各ノードの更新されたベクトル表現を融合することもでき、得られた結果は、前のクエリ文に対応する第2のベクトル表現である。本開示ではこれを限定しない。
本開示の実施例では、第2の構文ツリーの各ノードに対応する基本ベクトルを更新する場合、第2の構文ツリーの各ノード及びサブノード間の関係が十分に考慮されるため、第1のアテンションモデルを使用して処理することによって得られた第2のベクトル表現も第2の構文ツリーの各ノード間の関係を組み合わせ、決定された第2のベクトル表現の正確性と信頼性を向上させる。
選択的に、第2のアテンションモデルを使用して、各ノードの更新されたベクトル表現を取得することができる。
具体的に、第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応するサブノードを決定し、次に、現在の質問文に対応する第3のベクトル表現を取得し、第3のベクトル表現、各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを、トレーニングによって生成された第2のアテンションモデルに入力して、各ノードの更新されたベクトル表現を取得し、各ノードの更新されたベクトル表現に基づいて、前のクエリ文に対応する第2のベクトル表現を決定することができる。
ここで、第2のアテンションモデルは、事前にトレーニングによって生成されたアテンションモデルであってもよく、第3のベクトル表現、各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを入力し、第2のアテンションモデルで処理した後、各ノードの更新されたベクトル表現を出力することができる。
なお、本開示の第2のアテンションモデルは、入力された各ベクトルをベクトルシーケンスとしてエンコードした後、デコード中に、ベクトルシーケンスからサブセットを選択的に選択してさらに処理することができるため、各出力を生成する場合、入力シーケンスに含まれる情報を十分に活用することができる。これにより、各ノードの更新されたベクトル表現には、質問文のコンテンツ、各ノード及び対応するサブノードの基本ベクトルなどが十分に組み合わせされ、即ち、コンテキストのセマンティック情報が十分に考慮されるため、各ノードの更新されたベクトル表現はより確実で正確であり、さらに第2のベクトル表現の正確性と信頼性を向上させることができる。
また、第2のアテンションモデルをトレーニングする場合、第1の入力ベクトルを、更新が必要なノードとして事前に設定することができる。または、最後に入力されるベクトルを、更新が必要なノードとして設定することもできる。または、必要に応じて入力順序を設定することもできるが、本開示ではこれを限定しない。
例えば、第2の構文ツリーの各ノード間の関係に基づいて、ノードBに対応するサブノードがB1とB2であると決定され、第2のアテンションモデルを使用する場合、第1の入力ベクトルは更新が必要なノードである。これにより、ノードB、サブノードB1とB2の基本ベクトルノード、及び第3のベクトル表現をこの第1のアテンションモデルに順次に入力して処理し、ノードBの更新されたベクトル表現を出力することができる。
または、次の式(4)を使用して、各ノードの基本ベクトルを更新することができる。
Figure 2022106980000012
ここで、
Figure 2022106980000013
は各ノードの更新されたベクトル表現であり、ReLUは活性化関数であり、Linearは線形マッピング関数であり、Concatはベクトルスプライシング演算子であり、
Figure 2022106980000014
は各ノードの基本ベクトル表現であり、
Attentionはアテンションを計算するための演算子であり、
Figure 2022106980000015
は第3のベクトル表現であり、
Figure 2022106980000016
は、各ノードに対応するサブノードの基本ベクトル表現である。
なお、上記の例は単なる例であり、本開示の実施例において第2のアテンションモデルを使用して各ノードの更新されたベクトル表現を決定する方法などの制限として使用することはできない。
なお、上記のノードBのベクトル表現を更新する方法に従って、第2の構文ツリーの各ノードを順次に更新して、各ノードの更新されたベクトル表現を取得することができ、このプロセスについて、ここでは説明を省略する。その後、各ノードのそれぞれに対応する更新されたベクトル表現をスプライシングして、前のクエリ文に対応する第2のベクトル表現とすることができる。または、第2の構文ツリーの各ノード間の関係に基づいて、各ノードの更新されたベクトル表現を融合することもでき、得られた結果は、前のクエリ文に対応する第2のベクトル表現である。本開示ではこれを限定しない。
本開示の実施例では、第2の構文ツリーの各ノードに対応する基本ベクトルを更新する場合、第2の構文ツリーの各ノード間の関係、および現在の質問文が十分に考慮されるため、第2のアテンションモデルで処理することによって得られた第2のベクトル表現にも第2の構文ツリーの各ノード間の関係及び現在の質問文が組み合わせられ、即ち、コンテキストのセマンティック情報が十分に考慮され、決定された第2のベクトル表現の正確性と信頼性が向上する。
なお、本開示において、ステップ301およびステップ302を先に実行し、次にステップ303およびステップ304を実行するか、ステップ303およびステップ304を先に実行し、次にステップ301およびステップ302を実行するか、またはステップ301、ステップ302、およびステップ303、ステップ304を並行して実行してもよいが、本開示ではこれを限定しない。
ステップ305では、ターゲット生成戦略を実行して、第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成し、ここで、第2のベクトル表現は、生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現である。
ステップ306では、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。
本開示の実施例では、先に、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定し、次に、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定し、前のクエリ文をエンコードして、前のクエリ文に対応する第2の構文ツリーの各ノードに対応する基本ベクトル表現を決定し、その後、第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応する基本ベクトル表現を更新して、前のクエリ文に対応する第2のベクトル表現を取得し、ターゲット生成戦略を実行して、第1のベクトル表現または第2のベクトル表現に基づいてターゲットノードを生成し、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成することができる。これにより、第2の構文ツリーの各ノードに対応する基本ベクトル表現を更新して、前のクエリ文に対応する第2のベクトル表現を取得し、この第2のベクトル表現に基づいてターゲットノードを生成し、ひいてはクエリ文を生成することにより、生成されたクエリ文には、コンテキストの完全なセマンティクスが完全に組み合わせられ、生成されたクエリ文の正確性と信頼性を向上させることができる。
上記の実施例では、第2の構文ツリーの各ノードに対応する基本ベクトル表現を更新して、前のクエリ文に対応する第2のベクトル表現を取得し、この第2のベクトル表現に基づいてターゲットノードを生成し、ひいてはクエリ文を生成することにより、生成されたクエリ文の正確性と信頼性が向上する。可能な一実現形態では、ターゲットノードは非リーフノードであってもよく、ターゲット生成戦略は、ターゲットノードを生成するときにコピーを実行するか否かを示すための第1の演算子、及び文法コピー動作を実行するか否かを示すための第2の演算子を含んでもよく、以下に、図4と組み合わせて、上記のプロセスをさらに説明する。
図4は、本開示の実施例によって提供されるクエリ文の生成方法の概略フローチャートであり、図4に示すように、このクエリ文の生成方法は、以下のステップ401~409を含む。
ステップ401では、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定する。
ステップ402では、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定する。
例えば、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定することができ、このターゲット生成戦略は、ターゲットノードを生成するときにコピーを実行するか否かを示すための第1の演算子、及び文法コピー動作を実行するか否かを示すための第2の演算子を含むことができる。
ここで、第1の演算子と第2の演算子は、トレーニングによって生成されてもよいし、ユーザによって必要に応じて設定されてもよいが、本開示ではこれを限定しない。
ここで、文法は、言語の構文構造を説明する正式な規則、つまり構文規則などであるが、本開示ではこれを限定しない。
また、第1の演算子および第2の演算子によって、ターゲットノードを生成するときにコピーを実行するか否か、及び文法コピー動作を実行するか否かを決定することができる。
例えば、第1の閾値および第2の閾値を事前に設定することができる。第1の演算子が第1の閾値よりも大きい場合、コピーを実行することを表す。コピーを実行する場合、第2の演算子が第2の閾値よりも大きい場合、文法コピーを実行することを表し、第2の演算子が第2の閾値以下である場合、文法コピーを実行しないことを表す。
または、ゲートメカニズムにより、コピーを実行するか否か、及び文法コピー動作を実行するか否かを決定することもできる。
例えば、次の式(5)を使用して、コピーを実行するか否か、及び文法コピー動作を実行するか否かを決定することができる。
Figure 2022106980000017
ここで、Probはゲートメカニズムに対応する確率値であり、ApplyRuleはコピーを実行するか否かということであり、γはApplyRuleに対応する確率であり、CopyRuleは文法コピー動作を実行することであり、βはCopyRuleに対応する確率であり、CopyTreeはコピー動作を実行しないことであり、(1-γ)はCopyTreeに対応する確率である。
例えば、計算により、ゲートメカニズムでは、「コピーを実行して文法コピー動作を実行する」に対応する確率が最も大きいと決定された場合、現在の生成対象のターゲットノードに対応するターゲット生成戦略が、コピーを実行して文法コピー動作を実行することであると決定することができる。
なお、上記の例は単なる例であり、本開示の実施例においてターゲット生成戦略、第1の演算子、および第2の演算子などの制限として使用することはできない。
ステップ403では、第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行するように示す場合、前のクエリ文に対応する第2の構文ツリーに含まれる各候補文法ベクトルを取得する。
ここで、第2の構文ツリーには、select、chooseなど、複数の文法を含んでもよく、各文法は、それ自体の文法ベクトルに対応しているが、本開示ではこれを限定しない。
また、第2の構文ツリーに含まれる候補文法ベクトルは、1つまたは複数であってもよいが、本開示ではこれを限定しない。
ステップ404では、各候補文法ベクトルと第1のベクトル表現との距離に基づいて、ターゲット文法ベクトルを決定する。
なお、候補文法ベクトルと第1のベクトル表現との距離値が大きいほど、この候補文法ベクトルと第1のベクトル表現とのマッチング度は低くなり、候補文法ベクトルと第1のベクトル表現と間の距離値が小さいほど、この候補文法ベクトルと第1のベクトル表現とのマッチング度が高くなる。
これにより、各候補文法ベクトルのうち、第1のベクトル表現からの距離値が最も小さい候補文法ベクトルを、ターゲット文法ベクトルとして決定することができる。即ち、この候補文法ベクトルと第1のベクトルとのマッチング度が最も高いため、ターゲット文法ベクトルの正確性と信頼性が向上する。
ここで、候補文法ベクトルと第1のベクトル表現との距離の決定方法は複数あり、例えばユークリッド距離式、マンハッタン距離式などを使用することができるが、本開示ではこれを限定しない。
ステップ405では、ターゲット文法ベクトルに基づいて、ターゲットノードを生成する。
例えば、ターゲット文法ベクトルに対応する文法に基づいて、ターゲットノードを生成することができる。例えば、ターゲット文法ベクトルWに対応する文法が、Where
::= Condition1 And Condition2である場合、この文法に基づいて、ターゲットノードを生成することができるが、本開示ではこれを限定しない。
または、ターゲット文法ベクトルに基づいて、ターゲットノードに対応するベクトルを生成し、即ちターゲットノードを生成することもできる。
なお、上記の例は単なる例であり、本開示の実施例においてターゲットノードを生成する方法の制限として使用することはできない。
本開示の実施例では、ターゲット文法ベクトルを決定する場合、候補文法ベクトルと第1のベクトル表現との距離が十分に考慮されるため、決定されたターゲット文法ベクトルがより正確で信頼できるものになる。その後、このターゲット文法ベクトルに基づいて生成されたターゲットノードも正確で信頼できるものになる。
ステップ406では、第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行しないように示す場合、第2の構文ツリーに含まれる各候補サブツリーにそれぞれ対応する各サブツリーベクトルを取得する。
ここで、第2の構文ツリーは、1つのサブツリーを含んでもよいし、複数のサブツリーを含んでもよく、各サブツリーは、それ自体のサブツリーベクトルに対応しているが、本開示ではこれを限定しない。
ステップ407では、各候補サブツリーベクトルと第1のベクトル表現との距離に基づいて、ターゲットサブツリーベクトルを決定する。
なお、候補サブツリーベクトルと第1のベクトル表現との距離値が大きいほど、この候補サブツリーベクトルと第1のベクトル表現とのマッチング度は低くなり、候補サブツリーベクトルと第1のベクトル表現との距離値が小さいほど、この候補サブツリーベクトルと第1のベクトル表現とのマッチング度が高くなる。
これにより、各候補サブツリーベクトルのうち、第1のベクトル表現からの距離値が最も小さい候補サブツリーベクトルを、ターゲットサブツリーベクトルとして決定することができる。即ち、この候補サブツリーベクトルと第1のベクトルとのマッチング度が最も高いため、ターゲットサブツリーベクトルの正確性と信頼性が向上する。
ここで、決定候補サブツリーベクトルと第1のベクトル表現との距離の決定方法は複数あり、例えばユークリッド距離式、マンハッタン距離式などを使用することができるが、本開示ではこれを限定しない。
ステップ408では、ターゲットサブツリーベクトルに対応するサブツリーを、ターゲットノードとして決定する。
本開示の実施例では、ターゲットサブツリーベクトルに対応するサブツリーを、ターゲットノードとして決定する場合、完全なサブツリーを直接コピーすることができ、例えば、サブツリーに含まれる中間ノード及びすべてのリーフノードを直接コピーすることができる。これにより、ターゲットサブツリーベクトルに対応するサブツリーに基づいてターゲットノードを決定する場合、サブツリーの完全なセマンティクスが十分に考慮され、フラグメントの理解が深まり、後続の処理が保障される。
選択的に、ターゲットノードがリーフノードであり、コピー戦略には、ターゲットノードを生成するときに、指定されたコピー動作を実行するか否かを示すための第3の演算子が含まれ、指定されたコピー動作に基づいて、ターゲットノードを生成することができる。
具体的に、第3の演算子が、指定されたコピー動作を実行するように示す場合、第2の構文ツリーに含まれる、指定されたコピー動作に対応する各候補ノードベクトルを取得し、各候補ノードベクトルと第1のベクトル表現との距離に基づいて、ターゲットノードベクトルを決定し、ターゲットノードベクトルに基づいて、ターゲットノードを生成する。
ここで、指定されたコピー動作は、テーブル名のコピー、列名のコピー、または値のコピーなどであってもよいが、本開示ではこれを限定しない。
例えば、第3の演算子により指定されたコピー動作が列コピーである場合、X1、X2、X3などの、第2の構文ツリーに含まれる、列コピーに対応する各候補ノードベクトルを取得することができる。その後、各候補ノードベクトルX1、X2、X3と第1のベクトル表現と間の距離に基づいて、ターゲットノードベクトルを決定し、ターゲットノードベクトルに基づいて、ターゲットノードを生成することができる。
なお、各候補ノードベクトルと第1のベクトル表現との距離値が大きいほど、この候補ノードベクトルと第1のベクトル表現とのマッチング度は低くなり、候補ノードベクトルと第1のベクトル表現との距離値が小さいほど、この候補ノードベクトルと第1のベクトル表現とのマッチング度が高くなる。
これにより、各候補ノードベクトルのうち、第1のベクトル表現からの距離値が最も小さい候補ノードベクトルを、ターゲットノードベクトルとして決定することができる。即ち、この候補ノードベクトルと第1のベクトルとのマッチング度が最も高いため、ターゲットノードベクトルの正確性と信頼性が向上する。
ここで、決定候補ノードベクトルと第1のベクトル表現との距離の決定方法は複数あり、例えばユークリッド距離式、マンハッタン距離式などを使用することができるが、本開示ではこれを限定しない。
本開示の実施例では、リーフノードについて、第3の演算子によって示される指定されたコピー動作を実行することに基づいて、第2の構文ツリーに含まれる、指定されたコピー動作に対応する各候補ノードベクトルを取得し、各候補ノードベクトルと第1のベクトル表現との距離に基づいて、ターゲットノードベクトルを決定し、ターゲットノードベクトルに基づいて、ターゲットノードを生成することができる。これにより、ターゲットノードの決定中に、コンテキスト間の関係が十分に考慮され、ターゲットノードの生成の正確性と信頼性が向上する。
ステップ409では、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。
本開示の実施例では、先に、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定し、次に、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定し、第1の演算子がコピーを実行するように示し、かつ第2の演算子が文法コピー動作を実行するように示す場合、前のクエリ文に対応する第2の構文ツリーに含まれる各候補文法ベクトルを取得し、各候補文法ベクトルと第1のベクトル表現との距離に基づいて、ターゲット文法ベクトルを決定して、ターゲットノードを生成し、または、第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行しないように示す場合、第2の構文ツリーに含まれる各候補サブツリーにそれぞれ対応する各サブツリーベクトルを取得し、各候補サブツリーベクトルと第1のベクトル表現との距離に基づいて、ターゲットサブツリーベクトルを決定し、ターゲットサブツリーベクトルに対応するサブツリーを、ターゲットノードとして決定し、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。これにより、異なる演算子によって示される異なる動作に基づいて、ターゲットノードを対応する方法で決定して、クエリ文を生成することができる。これにより、決定されたターゲットノードには、コンテキストの完全なセマンティクスが完全に組み合わせられるため、より正確で信頼できるものになり、クエリ文の生成の正確性と信頼性がさらに向上する。
上記実施例を実現するために、本開示は、クエリ文の生成装置をさらに提供する。
図5は、本開示の実施例によって提供されるクエリ文の生成装置の概略構成図である。
図5に示すように、このクエリ文の生成装置500は、第1の決定モジュール510、第2の決定モジュール520、第1の生成モジュール530、及び第2の生成モジュール540を備える。
ここで、第1の決定モジュール510は、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定する。
第2の決定モジュール520は、前記第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定する。
第1の生成モジュール530は、前記ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、前記ターゲットノードを生成し、ここで、前記第2のベクトル表現は、前記生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現である。
第2の生成モジュール540は、前記ターゲットノードがターミネータである場合、前記各既知のノード及び前記ターミネータに基づいて、前記クエリ文を生成する。
選択的に、第1の決定モジュール510はさらに、現在の質問文をエンコードして、前記質問文に対応する第3のベクトル表現を決定する。
選択的に、第1の決定モジュール510はさらに、前記第3のベクトル表現、前記第2のベクトル表現及びクエリ対象の知識ベースに基づいて、基準ベクトル表現を決定する。
選択的に、第1の決定モジュール510はさらに、前記基準ベクトル表現と前記予め設定されたコピー基準マトリックスとに基づいて、前記第1の構文ツリーのルートノードに対応するターゲット生成戦略を決定する。
選択的に、第1の生成モジュール530はさらに、前記ターゲット生成戦略を実行して、前記基準ベクトル表現または前記第2のベクトル表現に基づいて、前記ルートノードを生成する。
選択的に、上記の装置は、前記ターゲットノードが非ターミネータである場合、前記ターゲットノードと前記各既知のノードとに基づいて、前記第1のベクトル表現を更新する更新モジュールと、前記更新された第1のベクトル表現に基づいて、生成されたノードがターミネータになるまで、前記ターゲット生成戦略を決定するステップに戻って実行する実行モジュールと、をさらに備えることができる。
選択的に、上記の装置は、前記前のクエリ文をエンコードして、前記前のクエリ文に対応する第2の構文ツリーの各ノードに対応する基本ベクトル表現を決定するエンコードモジュールと、前記第2の構文ツリーの各ノード間の関係に基づいて、前記各ノードに対応する基本ベクトル表現を更新して、前記前のクエリ文に対応する第2のベクトル表現を取得する取得モジュールと、をさらに備えることができる。
選択的に、前記取得モジュールは、具体的に、前記各ノードに対応する重み係数に基づいて、前記各ノードに関連付けられたサブノードの基本ベクトル表現を使用して、前記各ノードの基本ベクトル表現を更新して、前記各ノードの更新されたベクトル表現を取得し、前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定する。
選択的に、前記取得モジュールは、さらに、前記第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応するサブノードを決定し、前記各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを、トレーニングによって生成された第1のアテンションモデルに入力して、前記各ノードの更新されたベクトル表現を取得し、前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定する。
選択的に、第1の決定モジュール510はさらに、前記第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応するサブノードを決定する。
選択的に、第1の生成モジュール530はさらに、現在の質問文に対応する第3のベクトル表現を取得する。
選択的に、第1の生成モジュール530はさらに、前記第3のベクトル表現、前記各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを、トレーニングによって生成された第2のアテンションモデルに入力して、前記各ノードの更新されたベクトル表現を取得する。
選択的に、第1の決定モジュール510はさらに、前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定する。
選択的に、前記ターゲットノードが非リーフノードであり、前記ターゲット生成戦略には、前記ターゲットノードを生成するときにコピーを実行するか否かを示すための第1の演算子、及び文法コピー動作を実行するか否かを示すための第2の演算子が含まれ、前記第1の生成モジュール530は、具体的に、前記第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行するように示す場合、前記前のクエリ文に対応する第2の構文ツリーに含まれる各候補文法ベクトルを取得し、前記各候補文法ベクトルと前記第1のベクトル表現との距離に基づいて、ターゲット文法ベクトルを決定し、前記ターゲット文法ベクトルに基づいて、前記ターゲットノードを生成する。
選択的に、第1の生成モジュール530はさらに、前記第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行しないように示す場合、前記第2の構文ツリーに含まれる各候補サブツリーに対応する各サブツリーベクトルを取得し、前記各サブツリーベクトルと前記第1のベクトル表現との距離に基づいて、ターゲットサブツリーベクトルを決定し、前記ターゲットサブツリーベクトルに対応するサブツリーを、前記ターゲットノードとして決定する。
選択的に、前記ターゲットノードがリーフノードであり、前記コピー戦略には、前記ターゲットノードを生成するときに、指定されたコピー動作を実行するか否かを示すための第3の演算子がさらに含まれ、前記第1の生成モジュール530は、さらに、前記第3の演算子が前記指定されたコピー動作を実行するように示す場合、前記第2の構文ツリーに含まれる、前記指定されたコピー動作に対応する各候補ノードベクトルを取得し、前記各候補ノードベクトルと前記第1のベクトル表現との距離に基づいて、ターゲットノードベクトルを決定し、前記ターゲットノードベクトルに基づいて、前記ターゲットノードを生成する。
本開示の実施例における上記の各モジュールの機能及び具体的な実施原理については、上記の各方法の実施例を参照することができ、ここでは説明を省略する。
本開示の実施例に係るクエリ文の生成装置は、先に、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定し、次に、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定し、その後、ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成し、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。これにより、クエリ文の生成中に、コンテキストのセマンティック情報が十分に考慮され、生成されたクエリ文の正確性と信頼性が向上する。
本開示の実施例によれば、本開示は、電子機器、及び読み取り可能な記憶媒体をさらに提供する。
本開示の実施例によれば、本開示は、コンピュータプログラムをさらに提供し、上記コンピュータプログラムがプロセッサによって実行される場合、本開示によって提供されるクエリ文の生成方法が実現される。
図6は、本開示の実施例を実施するための例示的な電子機器600の概略ブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、及びその他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことを目的とする。電子機器は、パーソナルデジタルアシスタント、セルラー電話、スマートフォン、ウェアラブルデバイス、及びその他の類似のコンピュータ装置などの様々な形態のモバイルデバイスを表すこともできる。本開示に記載されているコンポーネント、それらの接続関係、及び機能は例示的なものに過ぎず、本明細書の説明及び/又は求められる本開示の実現を制限するものではない。
図6に示すように、デバイス600は、リードオンリーメモリ(ROM)602に記憶されたコンピュータプログラム命令、又は記憶ユニット608からランダムアクセス/アクセスメモリ(RAM)603にローディングされたコンピュータプログラムに基づいて、様々な適切な動作と処理を実行できる計算ユニット601を備える。RAM603には、デバイス600の動作に必要な様々なプログラム及びデータも記憶されてもよい。計算ユニット601と、ROM602と、RAM603とは、バス604を介して互いに接続されている。入力/出力(I/O)インターフェース605もバス604に接続されている。
デバイス600における複数のコンポーネントは、I/Oインターフェース605に接続されており、その複数のコンポーネントは、キーボードやマウスなどの入力ユニット606と、種々なディスプレイやスピーカなどの出力ユニット607と、磁気ディスクや光学ディスクなどの記憶ユニット608と、ネットワークカード、モデム、無線通信トランシーバーなどの通信ユニット609と、を備える。通信ユニット609は、デバイス600がインターネットのようなコンピュータネット及び/又は種々なキャリアネットワークを介して他の機器と情報/データを交換することを可能にする。
計算ユニット601は、処理及び計算能力を有する様々な汎用及び/又は専用の処理コンポーネントであってもよい。計算ユニット601のいくつかの例としては、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用の人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタ信号プロセッサ(DSP)、及び任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを備えるが、これらに限定されない。計算ユニット601は、上述で説明された各方法及び処理、例えばクエリ文の生成方法を実行する。例えば、いくつかの実施形態では、クエリ文の生成方法は、記憶ユニット608のような機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウエアプログラムとして実現することができる。一部の実施形態では、コンピュータプログラムの一部又は全ては、ROM
602及び/又は通信ユニット609を介して、デバイス600にロード及び/又はインストールすることができる。コンピュータプログラムがRAM
603にロードされて計算ユニット601によって実行される場合に、前述したクエリ文の生成方法の一つ又は複数のステップを実行することができる。選択的に、他の実施例では、計算ユニット601は、クエリ文の生成方法を実行するように他の任意の適当な形態(例えば、ファームウェア)で構成されてもよい。
ここで記載されているシステムまたは技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、専用集積回路(ASIC)、専用標準品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータのハードウェア、ファームウェア、ソフトウェア、及び/またはこれらの組み合わせによって実現することができる。これらの様々な実施形態は、少なくとも1つのプログラマブルプロセッサを備えるプログラマブルシステムにて実行及び/または解釈される1つまたは複数のコンピュータプログラムで実行されてもよく、当該プログラマブルプロセッサは、専用及び/又は汎用プログラマブルプロセッサであってもよく、ストレージシステム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受け取り、データ及び命令を該ストレージシステム、当該少なくとも1つの入力デバイス、及び当該少なくとも1つの出力デバイスに転送することができる。
本開示の方法を実施するためのプログラムコードは、1または複数のプログラミング言語の組み合わせで記述されていてもよい。これらのプログラムコードは、プロセッサ又はコントローラによって実行されると、フローチャート及び/又はブロック図に規定された機能/動作が実施されるように、汎用コンピュータや専用コンピュータ等のプログラマブルデータ処理装置のプロセッサやコントローラに提供されてもよい。プログラムコードは、機械上で完全に実行されてもよいし、機械上で部分的に実行されてもよいし、独立したソフトウェアパッケージとして機械上で部分的に実行されるとともにリモートマシン上で部分的に実行されてもよいし、リモートマシンまたはサーバ上で完全に実行されてもよい。
本開示の文脈において、機械読み取り可能な媒体は、命令実行システム、装置又はデバイスによって使用されるために、又は命令実行システム、装置又はデバイスと組み合わせて使用するためのプログラムを含む、又は記憶した有形媒体であってもよい。機械読み取り可能な媒体は、機械読み取り可能な信号媒体であってもよいし、機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体としては、電子的、磁気的、光学的、電磁的、赤外線的、半導体システム、装置、デバイス、またはこれらの任意の適切な組み合わせを含むが、これらに限定されるものではない。機械的に読み取り可能な記憶媒体のより具体的な例としては、1又は複数のワイヤによる電気的接続、可搬型コンピュータディスク、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、消去可能なプログラム可能なリードオンリメモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、又はこれらの任意の適切な組み合わせを含む。
ユーザとのインタラクションを提供するために、ここで説明されているシステム及び技術をコンピュータで実施することができ、当該コンピュータは、ユーザに情報を表示するためのディスプレイ装置(例えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタ)と、キーボード及びポインティングデバイス(例えば、マウス又はトラックボール)とを有し、ユーザは、当該キーボード及び当該ポインティングデバイスによって入力をコンピュータに提供することができる。他の種類の装置も、ユーザとのインタラクションを提供することができ、例えば、ユーザに提供されるフィードバックは、任意の形式のセンシングフィードバック(例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバック)であってもよく、任意の形式(音響入力と、音声入力と、触覚入力とを含む)でユーザからの入力を受信することができる。
ここで説明されるシステム及び技術は、バックエンドコンポーネントを備えるコンピューティングシステム(例えば、データサーバとする)、又はミドルウェアコンポーネントを備えるコンピューティングシステム(例えば、アプリケーションサーバー)、又はフロントエンドコンポーネントを備えるコンピューティングシステム(例えば、グラフィカルユーザインターフェース又はウェブブラウザを有するユーザコンピュータ、ユーザは、当該グラフィカルユーザインターフェース又は当該ウェブブラウザによってここで説明されるシステム及び技術の実施形態とインタラクションする)、又はこのようなバックエンドコンポーネントと、ミドルウェアコンポーネントと、フロントエンドコンポーネントの任意の組み合わせを備えるコンピューティングシステムで実施することができる。任意の形式又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によってシステムのコンポーネントを互いに接続することができる。通信ネットワークの例は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ブロックチェーンネットワークとを含む。
コンピュータシステムは、クライアントとサーバとを備えることができる。クライアントとサーバは、一般的に、互いに離れており、通常に通信ネットワークを介してインタラクションする。対応するコンピュータで実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによってクライアントとサーバとの関係が生成される。ここで、サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービス体系のうちのホスト製品であり、従来の物理ホストとVPS(Virtual
Private Server、また、「VPS」と略記する)サービスでは、管理が難しく、業務拡張性が弱いという欠点を解決している。サーバは、分散システムのサーバ、又はブロックチェーンを組み合わせたサーバであってもよい。
本開示の技術案によれば、先に、生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定し、次に、第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定し、その後ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、ターゲットノードを生成し、ターゲットノードがターミネータである場合、各既知のノードとターミネータとに基づいて、クエリ文を生成する。これにより、クエリ文の生成中に、コンテキストのセマンティック情報が十分に考慮され、生成されたクエリ文の正確性と信頼性が向上する。
なお、上述した様々な形態のフローを用いて、ステップを並び替え、追加または削除を行うことができることを理解されるべきである。例えば、本開示に記載された各ステップは、並列に実行されてもよいし、順番に実行されてもよいし、異なる順序で実行されてもよいが、本願で開示されている技術案が所望の結果を実現することができれば、本明細書では限定しない。
上記具体的な実施形態は、本開示の保護範囲を限定するものではない。当業者であれば、設計要件および他の要因に応じて、様々な修正、組み合わせ、サブコンビネーション、および代替を行うことができる。本願の精神および原理内で行われる任意の修正、同等の置換および改善などは、いずれも本開示の保護範囲内に含まれるべきである。

Claims (23)

  1. 生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定するステップと、
    前記第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定するステップと、
    前記ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、前記ターゲットノードを生成するステップであって、前記第2のベクトル表現は、前記生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現であるステップと、
    前記ターゲットノードがターミネータである場合、前記各既知のノード及び前記ターミネータに基づいて、前記クエリ文を生成するステップと、
    を含むクエリ文の生成方法。
  2. 現在の質問文をエンコードして、前記質問文に対応する第3のベクトル表現を決定するステップと、
    前記第3のベクトル表現、前記第2のベクトル表現及びクエリ対象の知識ベースに基づいて、基準ベクトル表現を決定するステップと、
    前記基準ベクトル表現と前記予め設定されたコピー基準マトリックスとに基づいて、前記第1の構文ツリーのルートノードに対応するターゲット生成戦略を決定するステップと、
    前記ターゲット生成戦略を実行して、前記基準ベクトル表現または前記第2のベクトル表現に基づいて、前記ルートノードを生成するステップと、
    を含む請求項1に記載の方法。
  3. 前記ターゲットノードを生成するステップの後に、
    前記ターゲットノードが非ターミネータである場合、前記ターゲットノードと前記各既知のノードとに基づいて、前記第1のベクトル表現を更新するステップと、
    前記更新された第1のベクトル表現に基づいて、生成されたノードがターミネータになるまで、前記ターゲット生成戦略を決定するステップに戻って実行するステップと、
    を含む請求項1に記載の方法。
  4. 前記前のクエリ文をエンコードして、前記前のクエリ文に対応する第2の構文ツリーの各ノードに対応する基本ベクトル表現を決定するステップと、
    前記第2の構文ツリーの各ノード間の関係に基づいて、前記各ノードに対応する基本ベクトル表現を更新して、前記前のクエリ文に対応する第2のベクトル表現を取得するステップと、
    を含む請求項1に記載の方法。
  5. 前記第2の構文ツリーの各ノード間の関係に基づいて、前記各ノードに対応する基本ベクトル表現を更新して、前記前のクエリ文に対応する第2のベクトル表現を取得するステップが、
    前記各ノードに対応する重み係数に基づいて、前記各ノードに関連付けられたサブノードの基本ベクトル表現を使用して、前記各ノードの基本ベクトル表現を更新して、前記各ノードの更新されたベクトル表現を取得するステップと、
    前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定するステップと、
    を含む請求項4に記載の方法。
  6. 前記第2の構文ツリーの各ノード間の関係に基づいて、前記各ノードに対応する基本ベクトル表現を更新して、前記前のクエリ文に対応する第2のベクトル表現を取得するステップが、
    前記第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応するサブノードを決定するステップと、
    前記各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを、トレーニングによって生成された第1のアテンションモデルに入力して、前記各ノードの更新されたベクトル表現を取得するステップと、
    前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定するステップと、
    を含む請求項4に記載の方法。
  7. 前記前のクエリ文の各ノードに対応する基本ベクトル表現を決定するステップの後に、
    前記第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応するサブノードを決定するステップと、
    現在の質問文に対応する第3のベクトル表現を取得するステップと、
    前記第3のベクトル表現、前記各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを、トレーニングによって生成された第2のアテンションモデルに入力して、前記各ノードの更新されたベクトル表現を取得するステップと、
    前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定するステップと、
    を含む請求項4に記載の方法。
  8. 前記ターゲットノードは非リーフノードであり、前記ターゲット生成戦略には、前記ターゲットノードを生成するときにコピーを実行するか否かを示すための第1の演算子、及び文法コピー動作を実行するか否かを示すための第2の演算子が含まれ、
    前記ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、前記ターゲットノードを生成するステップが、
    前記第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行するように示す場合、前記前のクエリ文に対応する第2の構文ツリーに含まれる各候補文法ベクトルを取得するステップと、
    前記各候補文法ベクトルと前記第1のベクトル表現との距離に基づいて、ターゲット文法ベクトルを決定するステップと、
    前記ターゲット文法ベクトルに基づいて、前記ターゲットノードを生成するステップと、
    を含む請求項1に記載の方法。
  9. 前記第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行しないように示す場合、前記第2の構文ツリーに含まれる各候補サブツリーに対応する各サブツリーベクトルを取得するステップと、
    前記各サブツリーベクトルと前記第1のベクトル表現との距離に基づいて、ターゲットサブツリーベクトルを決定するステップと、
    前記ターゲットサブツリーベクトルに対応するサブツリーを、前記ターゲットノードとして決定するステップと、
    を含む請求項8に記載の方法。
  10. 前記ターゲットノードはリーフノードであり、前記コピー戦略には、前記ターゲットノードを生成するときに、指定されたコピー動作を実行するか否かを示すための第3の演算子がさらに含まれ、
    前記ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、前記ターゲットノードを生成するステップが、
    前記第3の演算子が前記指定されたコピー動作を実行するように示す場合、前記第2の構文ツリーに含まれる、前記指定されたコピー動作に対応する各候補ノードベクトルを取得するステップと、
    前記各候補ノードベクトルと前記第1のベクトル表現との距離に基づいて、ターゲットノードベクトルを決定するステップと、
    前記ターゲットノードベクトルに基づいて、前記ターゲットノードを生成するステップと、
    を含む請求項1に記載の方法。
  11. 生成対象のクエリ文に対応する第1の構文ツリーの各既知のノードに基づいて、現在の第1のベクトル表現を決定する第1の決定モジュールと、
    前記第1のベクトル表現と予め設定されたコピー基準マトリックスとに基づいて、現在の生成対象のターゲットノードに対応するターゲット生成戦略を決定する第2の決定モジュールと、
    前記ターゲット生成戦略を実行して、前記第1のベクトル表現または第2のベクトル表現に基づいて、前記ターゲットノードを生成する第1の生成モジュールであって、前記第2のベクトル表現は、前記生成対象のクエリ文に隣接する前のクエリ文に対応するベクトル表現である第1の生成モジュールと、
    前記ターゲットノードがターミネータである場合、前記各既知のノード及び前記ターミネータに基づいて、前記クエリ文を生成する第2の生成モジュールと、
    を備えるクエリ文の生成装置。
  12. 前記第1の決定モジュールが、現在の質問文をエンコードして、前記質問文に対応する第3のベクトル表現を決定し、
    前記第1の決定モジュールが、前記第3のベクトル表現、前記第2のベクトル表現及びクエリ対象の知識ベースに基づいて、基準ベクトル表現を決定し、
    前記第1の決定モジュールが、前記基準ベクトル表現と前記予め設定されたコピー基準マトリックスとに基づいて、前記第1の構文ツリーのルートノードに対応するターゲット生成戦略を決定し、
    前記第1の生成モジュールが、前記ターゲット生成戦略を実行して、前記基準ベクトル表現または前記第2のベクトル表現に基づいて、前記ルートノードを生成する請求項11に記載の装置。
  13. 前記ターゲットノードが非ターミネータである場合、前記ターゲットノードと前記各既知のノードとに基づいて、前記第1のベクトル表現を更新する更新モジュールと、
    前記更新された第1のベクトル表現に基づいて、生成されたノードがターミネータになるまで、前記ターゲット生成戦略を決定するステップに戻って実行する実行モジュールと、
    を備える請求項11に記載の装置。
  14. 前記前のクエリ文をエンコードして、前記前のクエリ文に対応する第2の構文ツリーの各ノードに対応する基本ベクトル表現を決定するエンコードモジュールと、
    前記第2の構文ツリーの各ノード間の関係に基づいて、前記各ノードに対応する基本ベクトル表現を更新して、前記前のクエリ文に対応する第2のベクトル表現を取得する取得モジュールと、
    を備える請求項11に記載の装置。
  15. 前記取得モジュールが、
    前記各ノードに対応する重み係数に基づいて、前記各ノードに関連付けられたサブノードの基本ベクトル表現を使用して、前記各ノードの基本ベクトル表現を更新して、前記各ノードの更新されたベクトル表現を取得し、
    前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定する請求項14に記載の装置。
  16. 前記取得モジュールが、
    前記第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応するサブノードを決定し、
    前記各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを、トレーニングによって生成された第1のアテンションモデル
    に入力して、前記各ノードの更新されたベクトル表現を取得し、
    前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定する請求項14に記載の装置。
  17. 前記第1の決定モジュールが、前記第2の構文ツリーの各ノード間の関係に基づいて、各ノードに対応するサブノードを決定し、
    前記第1の生成モジュールが、現在の質問文に対応する第3のベクトル表現を取得し、
    前記第1の生成モジュールが、前記第3のベクトル表現、前記各ノードの基本ベクトル及び対応するサブノードの基本ベクトルを、トレーニングによって生成された第2のアテンションモデルに入力して、前記各ノードの更新されたベクトル表現を取得し、
    前記第1の決定モジュールが、前記各ノードの更新されたベクトル表現に基づいて、前記前のクエリ文に対応する第2のベクトル表現を決定する請求項14に記載の装置。
  18. 前記ターゲットノードが非リーフノードであり、前記ターゲット生成戦略には、前記ターゲットノードを生成するときにコピーを実行するか否かを示すための第1の演算子、及び文法コピー動作を実行するか否かを示すための第2の演算子が含まれ、
    前記第1の生成モジュールが、
    前記第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行するように示す場合、前記前のクエリ文に対応する第2の構文ツリーに含まれる各候補文法ベクトルを取得し、
    前記各候補文法ベクトルと前記第1のベクトル表現との距離に基づいて、ターゲット文法ベクトルを決定し、
    前記ターゲット文法ベクトルに基づいて、前記ターゲットノードを生成する請求項11から17のいずれか一項に記載の装置。
  19. 前記第1の生成モジュールが、
    前記第1の演算子がコピーを実行するように示し、第2の演算子が文法コピー動作を実行しないように示す場合、前記第2の構文ツリーに含まれる各候補サブツリーに対応する各サブツリーベクトルを取得し、
    前記各サブツリーベクトルと前記第1のベクトル表現との距離に基づいて、ターゲットサブツリーベクトルを決定し、
    前記ターゲットサブツリーベクトルに対応するサブツリーを、前記ターゲットノードとして決定する請求項18に記載の装置。
  20. 前記ターゲットノードはリーフノードであり、前記コピー戦略には、前記ターゲットノードを生成するときに、指定されたコピー動作を実行するか否かを示すための第3の演算子がさらに含まれ、
    前記第1の生成モジュールが、
    前記第3の演算子が前記指定されたコピー動作を実行するように示す場合、前記第2の構文ツリーに含まれる、前記指定されたコピー動作に対応する各候補ノードベクトルを取得し、
    前記各候補ノードベクトルと前記第1のベクトル表現との距離に基づいて、ターゲットノードベクトルを決定し、
    前記ターゲットノードベクトルに基づいて、前記ターゲットノードを生成する請求項11から17のいずれか一項に記載の装置。
  21. 少なくとも1つのプロセッサと、
    該少なくとも1つのプロセッサに通信可能に接続されるメモリと、
    を備え、
    前記メモリには、前記少なくとも1つのプロセッサによって実行される命令が記憶されており、前記命令が、前記少なくとも1つのプロセッサが請求項1から10のいずれか一項に記載の方法を実行できるように、前記少なくとも1つのプロセッサによって実行される電子機器。
  22. コンピュータ命令が記憶されている非一時的なコンピュータ読み取り可能な記憶媒体であって、
    前記コンピュータ命令は、コンピュータに請求項1から10のいずれか一項に記載の方法を実行させる非一時的なコンピュータ読み取り可能な記憶媒体。
  23. プロセッサによって実行される場合、請求項1から10のいずれか一項に記載の方法が実現されるコンピュータプログラム。
JP2022078448A 2021-06-30 2022-05-11 クエリ文の生成方法、装置、電子機器及び記憶媒体 Pending JP2022106980A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110733923.8 2021-06-30
CN202110733923.8A CN113553411B (zh) 2021-06-30 2021-06-30 查询语句的生成方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
JP2022106980A true JP2022106980A (ja) 2022-07-20

Family

ID=78131133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022078448A Pending JP2022106980A (ja) 2021-06-30 2022-05-11 クエリ文の生成方法、装置、電子機器及び記憶媒体

Country Status (3)

Country Link
US (1) US20220179889A1 (ja)
JP (1) JP2022106980A (ja)
CN (1) CN113553411B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115497477A (zh) * 2022-09-09 2022-12-20 平安科技(深圳)有限公司 语音交互方法、语音交互装置、电子设备、存储介质
CN117609288B (zh) * 2024-01-17 2024-04-30 矩阵起源(深圳)信息科技有限公司 数据查询策略优化方法、装置、终端设备以及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788992A (zh) * 2009-05-06 2010-07-28 厦门东南融通系统工程有限公司 一种数据库查询语句的转换方法和转换系统
US9594802B2 (en) * 2014-09-25 2017-03-14 Sap Se Graphical modeling of database query statements
CN106033466A (zh) * 2015-03-20 2016-10-19 华为技术有限公司 数据库查询的方法和设备
CN106610999A (zh) * 2015-10-26 2017-05-03 北大方正集团有限公司 查询处理方法和装置
US10289615B2 (en) * 2017-05-15 2019-05-14 OpenGov, Inc. Natural language query resolution for high dimensionality data
CN107491534B (zh) * 2017-08-22 2020-11-20 北京百度网讯科技有限公司 信息处理方法和装置
CN110334179B (zh) * 2019-05-22 2020-12-29 深圳追一科技有限公司 问答处理方法、装置、计算机设备和存储介质
CN110609849B (zh) * 2019-08-27 2022-03-25 广东工业大学 一种基于sql语法树节点类型的自然语言生成方法
CN111459967A (zh) * 2020-03-03 2020-07-28 深圳壹账通智能科技有限公司 结构化查询语句生成方法、装置、电子设备及介质
CN112559552B (zh) * 2020-12-03 2023-07-25 北京百度网讯科技有限公司 数据对生成方法、装置、电子设备及存储介质
CN113032465B (zh) * 2021-05-31 2021-09-10 北京谷数科技股份有限公司 数据查询方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN113553411B (zh) 2023-08-29
US20220179889A1 (en) 2022-06-09
CN113553411A (zh) 2021-10-26

Similar Documents

Publication Publication Date Title
US20220292269A1 (en) Method and apparatus for acquiring pre-trained model
US20220350965A1 (en) Method for generating pre-trained language model, electronic device and storage medium
JP7283009B2 (ja) 対話理解モデルの訓練方法、装置、デバイス及び記憶媒体
JP7228662B2 (ja) イベント抽出方法、装置、電子機器及び記憶媒体
US10496749B2 (en) Unified semantics-focused language processing and zero base knowledge building system
JP7301922B2 (ja) 意味検索方法、装置、電子機器、記憶媒体およびコンピュータプログラム
JP7108675B2 (ja) 意味マッチング方法、装置、電子機器、記憶媒体及びコンピュータプログラム
KR20220005416A (ko) 다항 관계 생성 모델의 트레이닝 방법, 장치, 전자 기기 및 매체
JP2021182430A (ja) 意味解析モデルのトレーニング方法及び装置、電子機器並びに記憶媒体
KR102565673B1 (ko) 시멘틱 표현 모델의 생성 방법, 장치, 전자 기기 및 저장 매체
EP3847591A1 (en) Natural language question answering
KR20210038853A (ko) 이벤트 추출 방법, 이벤트 추출 장치 및 전자 기기
JP2022106980A (ja) クエリ文の生成方法、装置、電子機器及び記憶媒体
EP4113357A1 (en) Method and apparatus for recognizing entity, electronic device and storage medium
JP2022003537A (ja) 対話意図の認識方法及び装置、電子機器並びに記憶媒体
JP7335300B2 (ja) 知識事前訓練モデルの訓練方法、装置及び電子機器
US11321370B2 (en) Method for generating question answering robot and computer device
JP2023012493A (ja) 言語モデルの事前トレーニング方法、装置、デバイスおよび記憶媒体
JP7297038B2 (ja) ニューラルネットワークモデルの事前トレーニング方法、装置、電子機器及び媒体
CN113641830B (zh) 模型预训练方法、装置、电子设备和存储介质
JP7395553B2 (ja) 文章翻訳方法、装置、電子機器及び記憶媒体
CN114281968A (zh) 一种模型训练及语料生成方法、装置、设备和存储介质
JP7369228B2 (ja) ユーザ興味画像の生成方法、装置、電子機器及び記憶媒体
CN113392197A (zh) 问答推理方法、装置、存储介质及电子设备
CN108932225B (zh) 用于将自然语言需求转换成为语义建模语言语句的方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231003

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240412

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240423

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20240524