JP2023545994A - 敵対的攻撃を防ぐための質問回答対話システムのトレーニング - Google Patents

敵対的攻撃を防ぐための質問回答対話システムのトレーニング Download PDF

Info

Publication number
JP2023545994A
JP2023545994A JP2023521038A JP2023521038A JP2023545994A JP 2023545994 A JP2023545994 A JP 2023545994A JP 2023521038 A JP2023521038 A JP 2023521038A JP 2023521038 A JP2023521038 A JP 2023521038A JP 2023545994 A JP2023545994 A JP 2023545994A
Authority
JP
Japan
Prior art keywords
adversarial
statement
question
answer
entity
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
JP2023521038A
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 JP2023545994A publication Critical patent/JP2023545994A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • 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/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Bioethics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Feedback Control In General (AREA)

Abstract

方法、コンピュータ・プログラム製品、またはコンピュータ・システム、あるいはその組合せが、質問に間違って回答する敵対的ステートメントによって攻撃されることから質問回答対話システムを保護する。コンピューティング・デバイスは、特定の種類の質問に対する正しい回答を提供するようにトレーニングされた質問回答対話システムに対して敵対的攻撃を行うことができる複数の敵対的ステートメントにアクセスする。コンピューティング・デバイスは、複数の敵対的ステートメントを利用して、質問回答対話システムのための機械学習モデルをトレーニングする。次に、コンピューティング・デバイスは、複数の種類の敵対的ステートメントを識別する敵対的ポリシーをトレーニングされた機械学習モデルにブートストラップすることによって、トレーニングされた機械学習モデルを強化する。その後、コンピューティング・デバイスは、質問回答対話システムに提出された質問に応答するときに、トレーニングされ、ブートストラップされた機械学習モデルを利用して、敵対的攻撃を防ぐ。

Description

本発明は、質問に回答するために使用される質問回答対話システムの分野に関連している。より詳細には、本発明は、そのような質問回答対話システムを破損する敵対的攻撃から質問回答対話システムを保護する分野に関連している。
本発明の1つまたは複数の実施形態では、方法が、質問に間違って回答する敵対的ステートメントによって攻撃されることから質問回答対話システムを保護する。コンピューティング・デバイスは、特定の種類の質問に対する正しい回答を提供するようにトレーニングされた質問回答対話システムに対して敵対的攻撃を行うことができる複数の敵対的ステートメントにアクセスする。コンピューティング・デバイスは、複数の敵対的ステートメントを利用して、質問回答対話システムのための機械学習モデルをトレーニングする。次に、コンピューティング・デバイスは、複数の種類の敵対的ステートメントを識別する敵対的ポリシーをトレーニングされた機械学習モデルにブートストラップすることによって、トレーニングされた機械学習モデルを強化する。その後、コンピューティング・デバイスは、質問回答対話システムに提出された質問に応答するときに、トレーニングされ、ブートストラップされた機械学習モデルを利用して、敵対的攻撃を防ぐ。
本発明の1つまたは複数の実施形態では、質問回答対話システムに対する質問を、回答のためのプレースホルダを含むステートメントに変換することと、回答から回答実体をランダムに選別し、ランダムに選別された回答実体をプレースホルダの代わりに追加して、敵対的ステートメントを生成することと、敵対的ステートメントを含む、トレーニングされ、ブートストラップされた機械学習モデルに対する攻撃を生成することと、生成された攻撃に対するトレーニングされ、ブートストラップされた機械学習モデルからの応答を測定することと、生成された攻撃に対する応答の応答レベルを向上させるために、トレーニングされ、ブートストラップされた機械学習モデルを変更することとを実行するコンピューティング・デバイスによって、トレーニングされ、ブートストラップされた機械学習モデルがテストされる。
本発明の1つまたは複数の実施形態では、コンテキスト・パッセージ(context passage)が、正しい回答実体を含んでいる正しい回答を含み、特定の種類の質問が特定の種類の質問実体を含み、この方法は、コンピューティング・デバイスが、ランダムな回答ランダムな質問(RARQ:Random Answer Random Question)敵対的ステートメントを生成する/取り出すことであって、RARQ敵対的ステートメントが、正しい回答内の正しい回答実体を置き換えるランダムな回答実体を含み、RARQ敵対的ステートメントが、正しい回答内の正しい質問実体を置き換えるランダムな質問実体を含む、生成する/取り出すことと、ランダムな回答オリジナルの質問(RAOQ:Random Answer Original Question)敵対的ステートメントを生成する/取り出すことであって、RAOQ敵対的ステートメントが、正しい回答内の正しい回答実体を置き換えるランダムな回答実体を含み、RAOQ敵対的ステートメントが、正しい回答からの正しい質問実体を含む、生成する/取り出すことと、回答なしランダムな質問(NARQ:No Answer Random Question)敵対的ステートメントを生成する/取り出すことであって、NARQ敵対的ステートメントが、正しい回答内の正しい回答実体を回答なしに置き換え、NARQ敵対的ステートメントが、正しい回答内の正しい質問実体を置き換えるランダムな質問実体を含む、生成する/取り出すことと、回答なしオリジナルの質問(NAOQ:No Answer Original Question)敵対的ステートメントを生成する/取り出すことであって、NAOQ敵対的ステートメントが、正しい回答内の正しい回答実体を回答なしに置き換え、NAOQ敵対的ステートメントが、正しい回答からの正しい質問実体を含む、生成する/取り出すことと、RARQ敵対的ステートメント、RAOQ敵対的ステートメント、NARQ敵対的ステートメント、およびNAOQ敵対的ステートメントを、敵対的ステートメントを認識するように質問回答対話システムのための機械学習モデルをさらにトレーニングするための入力として利用することとを実行することをさらに含む。
本発明の1つまたは複数の実施形態では、質問回答対話システムが複数の言語で敵対的攻撃を処理できるように、質問回答対話システムにおいて使用されるオリジナルの質問、質問回答対話システムにおいて使用されるオリジナルのコンテキスト・パッセージ、または質問回答対話システムのために生成された敵対的ステートメント、あるいはその組合せは、1つまたは複数の異なる言語である。
1つまたは複数の実施形態では、本明細書に記載された方法は、コンピュータ・プログラム製品またはコンピュータ・システムあるいはその両方の実行によって実行される。
さまざまな実施形態において本発明が実装される例示的なシステムおよびネットワークを示す図である。 本発明の1つまたは複数の実施形態に従って、コンテキスト・パッセージに敵対的ステートメントを含む、質問回答(QA:question answering)対話/学習システムを実行するときに使用される例示的な攻撃パイプラインの高レベルの概要を示す図である。 本発明の1つまたは複数の実施形態において使用されるさまざまな種類の敵対的パッセージを示す図である。 本発明の1つまたは複数の実施形態において敵対的ステートメントを生成するために使用されるステップの例示的なフローを示す図である。 本発明の1つまたは複数の実施形態に従って、質問回答対話システムにおいてトレーニング済みモデルを使用して敵対的ステートメント/攻撃に対して防御するための例示的なプロセスを示す図である。 本発明の1つまたは複数の実施形態に従って、トランスフォーマ・モデル・システムの再帰的トレーニングの高レベルの概要を示す図である。 本発明の1つまたは複数の実施形態に従って、多言語トランスフォーマ双方向エンコーダ表現(multilanguage bidirectional encoder representation from transformers,例えば、MBERT)を使用する、図6に示されたトランスフォーマ・モデル・システムの例示的な実施形態を示す図である。 本発明の1つまたは複数の実施形態において利用される例示的な質問回答対話システムを示す図である。 本発明の1つまたは複数の実施形態に従って、新しい質問に応答するために図8に示されたQA対話システム800によって使用される例示的な深層ニューラル・ネットワークを示す図である。 本発明の1つまたは複数の実施形態に従って、方法によって実行される1つまたは複数のステップの高レベルのフローチャートを示す図である。 本発明の1つまたは複数の実施形態に従って、クラウド・コンピューティング環境を示す図である。 本発明の1つまたは複数の実施形態に従ってクラウド・コンピューティング環境の抽象化モデル・レイヤを示す図である。
1つまたは複数の実施形態では、本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せである。1つまたは複数の実施形態では、コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含む。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持して格納することができる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであることができるが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(登録商標)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、またはワイヤレス・ネットワーク、あるいはその組合せ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えることができる。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令をそれぞれのコンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
1つまたは複数の実施形態では、本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはJava(登録商標)、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードを含む。1つまたは複数の実施形態では、コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行されるか、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行されるか、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行されるか、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行される。後者のシナリオでは、1つまたは複数の実施形態では、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続される、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われる。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールド・プログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用して電子回路をカスタマイズすることによって、コンピュータ可読プログラム命令を実行する。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組合せが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
1つまたは複数の実施形態では、これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されて、マシンを作り出す。1つまたは複数の実施形態では、これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作の態様を実施する命令を含んでいる製品を含むように、コンピュータ可読ストレージ媒体に格納され、1つまたは複数の実施形態では、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示する。
1つまたは複数の実施形態では、コンピュータ可読プログラム命令は、また、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックにおいて指定される機能/動作を実施するように、コンピュータ実装処理を作出するべく、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに読み込まれ、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成する他のデバイス上で実行させる。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、モジュール、セグメント、または命令の部分を表す。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生する。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行される。本発明の1つまたは複数の実施形態では、ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組合せが、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装されるということにも留意されたい。
ここで図を参照し、特に図1を参照すると、本発明の実装によって、または本発明の実装において、あるいはその両方で利用され得る例示的なシステムおよびネットワークのブロック図が示されている。コンピュータ101に関して、およびコンピュータ101内に示された、描かれたハードウェアおよびソフトウェアの両方とも含んでいる、例示的なアーキテクチャの一部またはすべてが、図1に示されている人工知能124、もしくはソフトウェア・デプロイ・サーバ150、もしくはテキスト・ドキュメント・サーバ152、もしくは音声ファイル・サーバ154、もしくは質問回答対話システム156、もしくは質問送信システム158、もしくはビデオ・ファイル・サーバ160、またはその組合せ、または図6に示されているコントローラ601、または図7に示されている多言語トランスフォーマ双方向エンコーダ表現(例えば、MBERT)システム724、または図9に描かれた深層ニューラル・ネットワーク924に示されているニューロン/ノードのうちの1つまたは複数、あるいはその組合せによって利用され得るということに注意する。
例示的なコンピュータ101は、システム・バス106に結合されたプロセッサ104を含んでいる。プロセッサ104は1つまたは複数のプロセッサを利用することができ、プロセッサの各々は1つまたは複数のプロセッサ・コアを含む。ディスプレイ110を駆動/サポートするビデオ・アダプタ108も、システム・バス106に結合される。システム・バス106は、バス・ブリッジ112を介して入出力(I/O:input/output)バス114に結合される。I/Oインターフェイス116は、I/Oバス114に結合される。I/Oインターフェイス116は、キーボード118、マウス120、媒体トレイ122(CD-ROMドライブ、マルチメディア・インターフェイスなどのストレージ・デバイスを含むことができる)、人工知能124、および外部USBポート126を含む、さまざまなI/Oデバイスとの通信を提供する。I/Oインターフェイス116に接続されたポートの形式は、コンピュータ・アーキテクチャの当業者に知られている任意の形式であることができるが、一実施形態では、それらのポートの一部またはすべては、ユニバーサル・シリアル・バス(USB:universal serial bus)ポートである。
図に示されているように、コンピュータ101は、ネットワーク128とのネットワーク・インターフェイス130を使用して、人工知能124、またはソフトウェア・デプロイ・サーバ150、またはテキスト・ドキュメント・サーバ152、または音声ファイル・サーバ154、または質問回答対話システム156、または質問送信システム158、またはビデオ・ファイル・サーバ160、あるいはその組合せと通信することもできる。ネットワーク・インターフェイス130は、ネットワーク・インターフェイス・カード(NIC:network interface card)などのハードウェア・ネットワーク・インターフェイスである。ネットワーク128は、インターネットなどの外部ネットワーク、あるいはイーサネット(登録商標)または仮想プライベート・ネットワーク(VPN:virtual private network)などの内部インターネットであることができる。以下では、物理デバイス154の1つまたは複数の例が提示される。
ハード・ドライブ・インターフェイス132も、システム・バス106に結合される。ハード・ドライブ・インターフェイス132は、ハード・ドライブ134とインターフェイスをとる。一実施形態では、ハード・ドライブ134は、やはりシステム・バス106に結合されたシステム・メモリ136にデータを入力する。システム・メモリは、コンピュータ101内の最低レベルの揮発性メモリとして定義される。この揮発性メモリは、キャッシュ・メモリ、レジスタ、およびバッファを含むがこれらに限定されない、さらに高レベルの追加の揮発性メモリ(図に示されていない)を含む。システム・メモリ136に入力されるデータは、コンピュータ101のオペレーティング・システム(OS:operating system)138およびアプリケーション・プログラム144を含む。
OS138は、アプリケーション・プログラム144などのリソースへの透過的なユーザ・アクセスを提供するためのシェル140を含んでいる。一般にシェル140は、ユーザとオペレーティング・システムの間のインタープリタおよびインターフェイスを提供するプログラムである。より詳細には、シェル140は、コマンド・ライン・ユーザ・インターフェイスに入力されたコマンド、またはファイルからのコマンドを実行する。したがって、シェル140(コマンド・プロセッサとも呼ばれる)は通常、オペレーティング・システムの最高レベルのソフトウェア階層であり、コマンド・インタープリタとして機能する。シェルは、システム・プロンプトを提供し、キーボード、マウス、または他のユーザ入力媒体によって入力されたコマンドを解釈し、解釈されたコマンドを、処理するために適切なさらに低いレベルのオペレーティング・システム(例えば、カーネル142)に送信する。シェル140はテキストベースのライン指向ユーザ・インターフェイスであるが、本発明は、グラフィック、音声、ジェスチャーなどの他のユーザ・インターフェイス・モードも同様に適切にサポートするということに注意する。
図に示されているように、OS138は、OS138の他の部分およびアプリケーション・プログラム144によって必要とされる不可欠なサービス(メモリ管理、プロセスとタスクの管理、ディスク管理、およびマウスとキーボードの管理を含む)を提供することを含めて、OS138のさらに低いレベルの機能を含むカーネル142も含んでいる。
アプリケーション・プログラム144は、ブラウザ146として例示的に示されたレンダラを含んでいる。ブラウザ146は、ワールド・ワイド・ウェブ(WWW:world wide web)クライアント(すなわち、コンピュータ101)で、ハイパーテキスト転送プロトコル(HTTP:hypertext transfer protocol)メッセージングを使用してネットワーク・メッセージをインターネットに対して送受信できるようにするプログラム・モジュールおよび命令を含んでおり、このようにして、ソフトウェア・デプロイ・サーバ150および他のコンピュータ・システムとの通信を可能にする。
コンピュータ101のシステム・メモリ(およびソフトウェア・デプロイ・サーバ150のシステム・メモリ)内のアプリケーション・プログラム144は、質問回答対話システム保護論理(QADSPL:question answering dialog system protection logic)148も含んでいる。QADSPL148は、図2~図10で説明されているプロセスを含めて、下記で説明されているプロセスを実装するためのコードを含んでいる。一実施形態では、コンピュータ101は、ソフトウェア・デプロイ・サーバ150からQADSPL148をダウンロードすることができ、このダウンロードは、実行で必要になるまでQADSPL148のコードがダウンロードされない、オンデマンドのダウンロードを含む。さらに、本発明の一実施形態では、ソフトウェア・デプロイ・サーバ150は、本発明に関連するすべての機能を(QADSPL148の実行を含めて)実行するため、コンピュータ101が、QADSPL148を実行するためにそれ自身の内部コンピューティング・リソースを使用する必要がないということに注意する。
テキスト・ドキュメント・サーバ152は、(コンピュータ101、AI124、またはQA質問回答対話システム156、あるいはその組合せによって受信された)特定の種類の質問を候補回答テキストの特定のセットと照合することによって、コンテキスト(すなわち、図3に示されているようなテキスト・パッセージなどのテキスト・パッセージ)をコンピュータ101、AI124、またはQA質問回答対話システム156、あるいはその組合せに送信するサーバである。
音声ファイル・サーバ154は、(コンピュータ101、AI124、またはQA質問回答対話システム156、あるいはその組合せによって受信された)特定の種類の質問を候補回答音声ファイルの特定のセットと照合することによって、コンテキスト(すなわち、音声ファイル)をコンピュータ101、AI124、またはQA質問回答対話システム156、あるいはその組合せに送信するサーバである。すなわち、音声ファイル・サーバ154は、受信された質問の種類を解釈し、その種類の質問に一致する主題を有する(例えば、各音声ファイルを説明するメタデータによって識別された)関連する音声ファイルを返す。例えば、質問が特定の種類の音楽に関するものである場合、音声ファイル・サーバ154は、その特定の種類の音楽を説明するメタタグを含んでいる音声ファイルを返す。
QA対話システム156は、本明細書に記載されたプロセス/システムを利用して、(例えば、質問送信システム158からの)質問に回答で応答するシステムである。
ビデオ・ファイル・サーバ160は、(コンピュータ101、AI124、またはQA質問回答対話システム156、あるいはその組合せによって受信された)特定の種類の質問を候補回答ビデオ・ファイルの特定のセットと照合することによって、コンテキスト(すなわち、ビデオ・ファイル)をコンピュータ101、AI124、またはQA質問回答対話システム156、あるいはその組合せに送信するサーバである。すなわち、ビデオ・ファイル・サーバ160は、受信された質問の種類を解釈し、その種類の質問に一致する主題を有する(例えば、各ビデオ・ファイルを説明するメタデータによって識別された)関連するビデオ・ファイルを返す。例えば、質問が特定の種類の視覚芸術に関するものである場合、ビデオ・ファイル・サーバ160は、その特定の種類の視覚芸術を説明するメタタグを含んでいるビデオ・ファイルを返す。
コンピュータ101に示されたハードウェア要素は、網羅的であることは意図されておらず、本発明に求められる、本質的なコンポーネントを強調するための代表例であるということに注意する。例えば、コンピュータ101は、磁気カセット、デジタル・バーサタイル・ディスク(DVD:digital versatile disks)、ベルヌーイ・カートリッジなどの代替のメモリ・ストレージ・デバイスを含むことができる。これらおよび他の変形形態が本発明の範囲に含まれることが意図されている。
質問回答対話システムとも呼ばれる質問回答(QA)システムは、回答を求めている人によって使用される重要なツールである。例示的なQAシステムは、質問(例えば、「What is the oldest cafe in Paris?(パリで最も古いカフェは何ですか?)」)を受信し、テキスト、ビデオ、音声などのリソースのコーパスを検索し、正しい回答(例えば、「Cafe X(カフェX)」)を返す。
そのため、そのようなQAシステムは、正しい回答をユーザに提供できることを保証するように、堅牢であることが好ましい。すなわち、QAシステムは、(下記で詳細に説明される)悪意のある攻撃に対して機能しなくなる場合、弱く、(本発明の1つまたは複数の実施形態において説明され、主張されているように)悪意のある攻撃に対して防御することに成功できる場合、堅牢である。
したがって、本発明の1つまたは複数の実施形態は、悪意のある攻撃に対してQAシステム自体を防御するだけでなく、多言語の悪意のある攻撃を処理することもできる堅牢なQAシステムを提供する。
本明細書に記載されているように、本発明の1つまたは複数の実施形態は、1つまたは複数の新しい種類の敵対的ステートメントを利用して、多言語質問回答(MLQA:multilingual question answer)システムにおける弱点を明らかにする。
これらの新しい種類の敵対的ステートメントは、QAモデルをトレーニングするために使用され、このようにして、トレーニング済みQAモデルを、悪意のある攻撃と戦うことにおいてより堅牢にする。
本発明の1つまたは複数の実施形態では、トレーニング済みQAモデルは、敵対的ポリシー(例えば、敵対的種類の新しい種類のうちのどれが監視されるべきかを記述するポリシー)をブートストラップすることによって強化され、それによって、MLQAシステムをトレーニングするためのよりいっそう効果的なQAモデルを作成する。
したがって、本発明の1つまたは複数の実施形態では、方法/装置は、回答のためのプレースホルダを使用することによってオリジナルの質問を一般的なステートメントに変換することと、敵対的ステートメントを作成するために、オリジナルの質問内で発見された質問実体または回答実体あるいはその両方を置き換えるためのさまざまな実体をランダムに選別することと、敵対的ステートメントを、MLQAシステムを攻撃するためのコンテキストにランダムに追加することと、オリジナルのデータに加えて敵対的ステートメントを含んでいるデータを使用してMLQAシステムをトレーニングすることと、敵対的ポリシーをトレーニング済みMLQAにブートストラップする(すなわち、敵対的ステートメントを処理する方法に関するポリシーを追記する)ことによってトレーニング済みMLQAモデルを強化することと、その後、ブートストラップされた敵対的ポリシーと共にトレーニング済みMLQAを使用して、強化されたトレーニング済みMLQAモデルに意味において類似する質問に回答することとによって、MLQAシステムの任意の言語で攻撃ステートメントを生成する。
オープンドメイン質問回答(QA)システム(open domain question answering (QA) systems)における最近の進歩は、主に機械読み取り理解(MRC:machine reading comprehension)を中心に展開しており、MRCの課題は、特定のテキストを読み取って理解し、その後、それに基づいて質問に回答することである。最先端(SOTA:state-of-the-art)の英語のMRCデータセットを取得するための従来技術における多くの信頼は、大規模なトレーニング済み言語モデル(LM:language models)の発明に起因する。従来技術では、多言語質問回答に、ほとんど注意が払われなかった。
そのため、本発明の1つまたは複数の実施形態は、多言語QA(MLQA)システムに重点を置く。より詳細には、本発明の1つまたは複数の実施形態は、堅牢なMLQAモデルを使用して、多言語の攻撃を認識する方法に関してMLQAシステムをトレーニングするために、新規な多言語の敵対的ステートメントを使用することによって、MLQAデータセット(すなわち、質問に回答するためにMLQAシステムによって使用されるコンテキスト/パッセージ)に対する敵対的攻撃の問題に対処する。
本発明の1つまたは複数の実施形態では、図7の例において下記で詳細に説明されるように、トランスフォーマを使用する、多言語トランスフォーマ双方向エンコーダ表現(例えば、MBERT)を使用して、多言語QAモデルがトレーニングされる。トランスフォーマは、左から右へ、または右から左へ読み取ることに制約されずに、パッセージから一連の単語全体を読み取る論理的メカニズムである。すなわち、トランスフォーマは、図4に示されているフローチャート400のステップ1(要素402)およびステップ2(要素404)において下記で説明されているように、さまざまな単語が互いにどのように関連しているかを識別する論理として定義される。
図4において下記で説明されているように、質問が、回答のためのプレースホルダを含む、対応するステートメントに変換され、次に、このステートメントが、(正しい回答において発見される類似する用語、パッセージに起因して)正しい回答のように「見える」が、実際にはそうでない、敵対的ステートメントを作成するために使用される。これらの敵対的ステートメントは、本発明の1つまたは複数の実施形態では、1つまたは複数の異なる言語に翻訳された敵対的ステートメントの翻訳を含み、既存の多言語QAモデルを攻撃し、新しい多言語QAモデルをトレーニングするために使用される。
トレーニング済み多言語QAモデルが構築された後に、そのトレーニング済み多言語QAモデルは、(敵対的ステートメントを含んでいる)敵対的攻撃を認識して、QAシステムを使用している質問者に敵対的攻撃が返されることを阻止するために、人工知能システムによって使用される。
ここで図2を参照すると、本発明の1つまたは複数の実施形態に従って、コンテキスト・パッセージ内の敵対的ステートメントを認識するように質問回答学習システムをトレーニングするときに使用される例示的な攻撃パイプラインの高レベルの概要が示されている。
図2に示されているように、オリジナルの質問およびオリジナルの質問に回答するオリジナルのコンテキスト(例えば、テキスト・パッセージ、ビデオ・ファイルなど)が、ブロック202に示されているように、質問/回答(QA)システム(例えば、図1に示されているQA対話システム156)の保持セクションに入力される。質問およびコンテキストが両方ともテキストである場合、本発明の1つまたは複数の実施形態では、それらの質問およびコンテキストは任意の言語である。
ブロック204に示されているように、オリジナルのコンテキスト/パッセージ/回答において発見された情報と矛盾する新しいステートメントである1つまたは複数の敵対的ステートメントが、オリジナルのコンテキスト/パッセージ/回答に追加される。
本発明の1つまたは複数の実施形態では、オリジナルの質問上にパターン形成されるが、オリジナルのコンテキスト/パッセージ/回答内の情報と矛盾するこれらの敵対的ステートメントは、オリジナルの質問またはオリジナルのコンテキスト/パッセージ/回答あるいはその両方において使用される言語と異なる言語である。
本発明の1つまたは複数の実施形態では、これらの敵対的ステートメントは、オリジナルの質問またはオリジナルのコンテキスト/パッセージ/回答あるいはその両方の言語と同じ言語である。
本発明の1つまたは複数の実施形態では、下記で詳細に説明されるように、これらの敵対的ステートメントは、図3および図4において下記で詳細に説明されるように、ランダムな回答ランダムな質問(RARQ)敵対的ステートメント、ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメント、回答なしランダムな質問(NARQ)敵対的ステートメント、または回答なしオリジナルの質問(NAOQ)敵対的ステートメント、あるいはその組合せの形態である。
図2のブロック206に示されているように、次に、追加された敵対的ステートメントを含むオリジナルのコンテキストが、人工知能(AI:artificial intelligence)システム上で質問/回答(QA)モデルに対して実行される。すなわち、追加された敵対的ステートメントを含むオリジナルのコンテキストは、特定の種類の質問(オリジナルの質問のパラメータ、用語、コンテキストなどに一致する)を特定の種類のコンテキスト/パッセージ/回答(オリジナルのコンテキスト/パッセージ/回答のパラメータ、用語などに一致する)と照合するように質問/回答(QA)モデルによってトレーニングされているAIシステムへの入力として使用される。
しかし、この時点で、システムは、ブロック204で追加された敵対的ステートメントを認識するようにトレーニングされておらず、したがって、ブロック208に示されている出力された回答は、ブロック204で追加された敵対的ステートメントによって引き起こされた誤りのある情報を含む可能性がある。
ここで図3を参照すると、本発明の1つまたは複数の実施形態において使用されるさまざまな種類の敵対的パッセージが示されている。
ブロック301に示されているように、質問のトピックが項目「Paris cafes(パリのカフェ)」に関するものであるということを仮定する。QAシステムに提示されているオリジナルの質問304が「What is the oldest cafe in Paris?(パリで最も古いカフェは何ですか?)」であるということを、さらに仮定する。このオリジナルの質問に対する正しい/オリジナルの回答は、ブロック303に示されているオリジナルの/正しいパッセージ/コンテキストから導き出された「Cafe X(カフェX)」であり、ブロック303の位置302にある。例えば、この例では、位置302は、ブロック303に示されているオリジナルの/正しいパッセージ/コンテキスト内の25番目の単語の位置である。
しかし、ブロック303に示されているオリジナルの/正しいパッセージ/コンテキストは、敵対的パッセージA(ブロック305)、敵対的パッセージB(ブロック309)、敵対的パッセージC(ブロック313)、および敵対的パッセージD(ブロック317)に示されている敵対的ステートメントなどの敵対的ステートメントを使用して変更され得る。
敵対的パッセージに追加される敵対的ステートメントは、質問を、回答のためのプレースホルダを含むステートメントに変換することによって作成される。ステートメントは、図3に示されているように、下記で説明されるような攻撃手法のうちの1つを使用して変更され得る。
したがって、図3に関して、ブロック305に示されている敵対的パッセージAは、ランダムな回答ランダムな質問(RARQ)敵対的ステートメント307を含んでおり、この敵対的ステートメントには、ランダムな回答実体(「Corporation A(会社A)」)が含まれており、この敵対的ステートメント内で、ランダムな質問実体(「Arctic Ocean(北極海)」)が、ブロック301/303に示されている正しい質問実体(「Paris(パリ)」)を置き換えている。
ブロック309に示されている敵対的パッセージBは、ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメント311を含んでおり、この敵対的ステートメントには、ランダムな回答実体(「Alaskan Statehood(アラスカ州)」)が含まれており、ブロック301/303に示されている正しい回答からの特定の種類の質問実体(「Paris(パリ)」)が同じままである。
ブロック313に示されている敵対的パッセージCは、回答なしランダムな質問(NARQ)敵対的ステートメント315を含んでおり、この敵対的ステートメントでは、回答実体が追加されず(単語が存在しないことを示すために「_」として参照される)、ランダムな質問実体(「Brooklyn(ブルックリン)」)が、ブロック301/303に示されている正しい回答において発見された正しい質問実体(「Paris(パリ)」)を置き換えている。
ブロック317に示されている敵対的パッセージDは、回答なしオリジナルの質問(NAOQ)敵対的ステートメント319を含んでおり、この敵対的ステートメントでは、回答実体が追加されず(単語が存在しないことを示すために「_」として参照される)、ブロック301/303に示されている正しい回答からの正しい質問実体(「Paris(パリ)」)が同じままである。
図2のブロック204の説明において前述したように、本発明の1つまたは複数の実施形態では、敵対的ステートメントは、オリジナルの質問またはオリジナルのコンテキスト/パッセージ/回答あるいはその両方の言語以外の言語である。他の言語でのそのような敵対的ステートメントは、QAシステムによって外国語のパッセージが取り出されることの結果であるか、またはQAシステムが前述の敵対的ステートメントのうちの1つを翻訳することによる結果である。どちらの実施形態においても、ブロック321に敵対的パッセージA’が示されており、この敵対的ステートメントでは、RARQ敵対的ステートメント307(「Corporation A is the oldest cafe in the Arctic Ocean.(会社Aは、北極海で最も古いカフェです。)」)がドイツ語の敵対的ステートメント323(「Corporation A ist das alteste Cafe in Arktischen Ozean.」)に翻訳され、ブロック303に示されているオリジナルの/正しいパッセージに挿入されている。
ここで図4を参照すると、本発明の1つまたは複数の実施形態に従って、図3に示された例示的な敵対的ステートメントを生成するために使用されるステップの例示的なフローチャート400が示されている。
ブロック402に示されているように、本発明の1つまたは複数の実施形態では、ステップ1が、図3のブロック301にも示されている質問412(「What is the oldest cafe in Paris?(パリで最も古いカフェは何ですか?)」)に対して言語前処理ステップを実行する。これらの例示的な言語前処理ステップは、(1)普遍的依存関係構文解析(UDP:universal dependency parsing)、(2)固有表現認識(NER:named entity recognition)を含む。ステップ1は、マークアップ・ルールおよび構文解析を使用して、問われている質問の種類(「what(何が)」)を広く識別するルート用語(例えば、要素446)に加えて、タグ付けされた質問実体426(位置、例えばパリ)を識別する。すなわち、この分析は、質問412内で、対応する品詞(POS:part of speech)タグ(例えば、「where(どこで)」などの副詞の場合はwrb、「is(です)」などの動詞の場合はvb)を使用している焦点の単語(例えば、which(どれ)、what(何)など)がパーサーによって生成されることを識別する。この分析は、構文解析での深さ優先探索につながり、質問ルールの一部として、焦点の単語と同じレベルにあるか、または焦点の単語の子であるすべてのPOSトークンにマークを付ける。この手法は、トレーニング・セットとして使用される質問回答データセット内に数千個のパターンを作成し、その一部は一回だけ発生する。一部の例示的なパターンは、「what nn(どのnnが)」「what vb(何がvb)」、「who vb(誰がvb)」、「how many(いくつ)」、および「what vb vb(何がvb vb)」を含む。
加えて、本発明の1つまたは複数の実施形態では、システムが、質問412内のすべての実体(例えば、単語)をマークアップする。
本発明の1つまたは複数の実施形態では、質問パターンの一部でない、NERによってタグ付けされた実体に、優先度が与えられる。しかし、そのような実体が発見されない場合、システムは、より良いカバレッジを保証するために、名詞を調べ、次に動詞を調べるのが好ましい。
したがって、図4に示されている例では、「what vb (何がvb)」が、「What is the oldest cafe in Paris?(パリで最も古いカフェは何ですか?)」において発見されたパターンである。
ブロック404に示されているように、本発明の1つまたは複数の実施形態では、ステップ2が質問412をステートメント414に変換する。
本発明の1つまたは複数の実施形態では、一般的な質問単語{「who(誰が)」、「what(何が)」、「when(いつ)」、「why(なぜ)」、「which(どれが)」、「where(どこで)」、「how(どのように)」}および質問単語を含んでいない任意のパターン(これらは通常、「Mr. Smith’s grandmother’s name was?」などの、文法的に正しくない質問またはミススペルに起因する)のためのキャッチオールに基づいて複数のルールから選択するために、ステップ1で発見されたパターンが使用される。このルールは、質問412(「What is the oldest cafe in Paris?(パリで最も古いカフェは何ですか?)」)を、タグ付けされた質問実体426(「Paris(パリ)」)を含んでおり、ルート用語「what is(何が)」(要素446)の代わりにプレースホルダ424(<ANSWER>(<ANSWER>))を追加する、ステートメント414(「<ANSWER> is the oldest cafe in Paris(<ANSWER>は、パリで最も古いカフェです)」)に変換する。
パターン内で発見された最初の質問単語が「what(何が)」である場合、ステートメント414に示されている「<ANSWER> is the oldest cafe in Paris(<ANSWER>は、パリで最も古いカフェです)」などのように、ルール「what vb(何がvb)」が、「what(何が)」を「<ANSWER>(<ANSWER>)」に置き換える。回答は、ステートメントの末尾に追加されることがある。「when vb vb(いつvb vb)」パターンは、「when(いつ)」に関するルールをトリガーし、このルールは、「When did Rock Band ABC release their second album?(ロック・バンドABCは、2番目のアルバムをいつリリースしましたか?)」を「Rock Band ABC released their second album in <ANSWER>(ロック・バンドABCは、2番目のアルバムを<ANSWER>にリリースしました)」に変換する。
ブロック406に示されているように、本発明の1つまたは複数の実施形態では、ステップ3が、異なる戦略に基づいて1つまたは複数の敵対的ステートメントを生成する。図4に示されている例示的な実施形態では、質問412およびステートメント414が与えられると、例示的な攻撃ステートメントRARQ407(図3に示されている敵対的ステートメント307に類似する)、攻撃ステートメントRAOQ411(図3に示されている敵対的ステートメント311に類似する)、攻撃ステートメントNARQ415(図3に示されている敵対的ステートメント315に類似する)、および攻撃ステートメントNAOQ419(図3に示されている敵対的ステートメント319に類似する)が生成される。
図4に示されているように、攻撃に基づいて<ANSWER>または質問実体あるいはその両方を置き換えるようにRARQ407、RAOQ411、NARQ415、およびNAOQ419が生成される。本発明の1つまたは複数の実施形態では、質問回答データセットのトレーニング・データにおいて発見された実体から、実体の種類に基づいて、候補実体がランダムに選択される。回答実体の種類は、非敵対的設定において開発/テスト用の質問に対してシステムが予測する実体に基づいて選択される。
本発明の1つまたは複数の実施形態では、日付および数値の実体は、質問回答データセットのトレーニング・データから選択されず、単にランダムに生成される。
以下の最も複雑な変換から最も単純な変換までを使用して敵対的ステートメントを作成するために、候補実体が適用される。
ランダムな回答ランダムな質問敵対的/攻撃ステートメントであるRARQ407は、プレースホルダ424(<ANSWER>)を置き換えるランダムな回答実体428(「Corporation A(会社A)」)を含んでおり、質問実体430(「Arctic Ocean(北極海)」)は、ステートメント414において発見されたタグ付けされた質問実体426(「Paris(パリ)」)からランダムに変更される。RARQ407が、RARQ攻撃/敵対的ステートメントを認識する方法に関してQAシステムをトレーニングするために使用されるため、「Corporation A(会社A)」が質問412に対する正しくない回答であり、これが意図的であるということに注意する。
ランダムな回答オリジナルの質問攻撃/敵対的ステートメントであるRAOQ411は、ランダムな回答実体432(「Alaskan Statehood(アラスカ州)」)を含んでいるが、質問実体426(「Paris(パリ)」)は、ステートメント414において発見された同じ質問実体426である。RAOQ411も、RARQ攻撃/敵対的ステートメントを認識する方法に関してQAシステムをトレーニングするために使用される正しくないステートメントであるということに注意する。
回答なしランダムな質問攻撃/敵対的ステートメントであるNARQ415は、回答実体をセクション436に含んでおらず、ランダムに生成された質問実体438(「Brooklyn(ブルックリン)」)を含んでいる。NARQ415も、RARQ攻撃/敵対的ステートメントを認識する方法に関してQAシステムをトレーニングするために使用される正しくないステートメントであるということに注意する。
回答なしオリジナルの質問攻撃/敵対的ステートメントであるNAOQ419は、回答実体をセクション440に含んでいないが、ステートメント414において発見された質問実体426(「Paris(パリ)」)を含んでいる。NAOQ419も、NAOQ攻撃/敵対的ステートメントを認識する方法に関してQAシステムをトレーニングするために使用される正しくないステートメントであるということに注意する。
ブロック408に示されているように、ステップ4が、ステップ3で作成された攻撃/敵対的ステートメントのうちの1つまたは複数を別の言語に翻訳する。すなわち、本発明の1つまたは複数の実施形態では、ステップ3で作成される攻撃/敵対的ステートメントは、質問によって使用される言語と同じ言語(例えば、英語)を使用して最初は生成される。QAシステムが多言語のデータセットおよびモデルを評価するため、次に、これらの攻撃/敵対的ステートメントは、図1に示されたテキスト・ドキュメント・サーバ152から送信されたときにまだ別の言語でない場合、QAシステムによって複数の他の言語に翻訳される。
例えば、(図3に示されたドイツ語の敵対的ステートメント323に類似する)RARQ423を作成するために、RARQ407攻撃/敵対的ステートメントがドイツ語に翻訳される。
ブロック410に示されているように、次にステップ5が、ステップ3またはステップ4あるいはその両方で作成された攻撃/敵対的ステートメントをコンテキスト(例えば、図3のブロック303に示されたオリジナルの/正しいパッセージ/コンテキスト)にランダムに挿入し、図3に示されている敵対的パッセージA、B、C、D、およびA’を作成する。すなわち、生成された敵対的ステートメント(例えば、RARQ407、RAOQ411、NARQ415、NAOQ419、RARQ423など)は、図3のブロック303に示されたオリジナルの/正しいパッセージなどの、コンテキスト内のランダムな位置に挿入され、これが、図4では敵対的パッセージ425として示されている。これによって、新しいインスタンス(Qx、Cy、Ay、Sz)を生成し、ここで、x、y、z∈Lは、それぞれ質問、コンテキスト、およびステートメントの言語であり、図3のブロック305、309、313、317、および321に示されているように、同じである必要はない。
前述の攻撃/敵対的ステートメントは、質問、コンテキスト、および敵対的ステートメントがすべて同じ言語または異なる言語になることができるように、1つの言語だけでなく複数の言語で、間違った回答を予測することをQAシステムに強制することによって、QAシステムがMLQAデータセットおよびMBERTの脆弱性を調査できるようにする。
したがって、ここで図5を参照すると、本発明の1つまたは複数の実施形態に従って、質問回答対話システムにおいてトレーニング済みモデルを使用して敵対的攻撃/ステートメントに対して防御するための例示的なプロセスが示されている。
ブロック501に示されているように、プロセスが、既知の質問およびそれらの既知の正しい回答(例えば、図3のブロック301に示されている質問と回答の対などの質問と回答の対)の質問/回答(QA)データセットを取り出すことから開始する。
図5のブロック503に示されているように、複数の種類(例えば、RARQ、RAOQ、NARQ、またはNAOQ、あるいはその組合せ)または複数の言語あるいはその両方の攻撃/敵対的ステートメントが、図4で説明されているように、(質問と回答の対の)トレーニング・データセット全体のコンテキスト/パッセージに追加される。
図4を説明する際に前述したように、質問412をステートメント414に変換し、次に、質問412をステートメント414と関連付けることによって、QAモデルが作成されている。図5のブロック505で説明されているように、次に、多言語QA(MLQA)モデルを作成するように、このQAモデルが変更される。本発明の1つまたは複数の実施形態では、2つのステップでMLQAモデルが作成される。
第1のステップは、MLQAモデルのための追加の学習データを作成するために、図4で説明されたように、複数の言語での攻撃/敵対的ステートメントのうちの1つまたは複数を使用して、意図的にパッセージ303を汚染する/パッセージ303にデータを入力することである。
さらに、MLQAモデルのための追加の学習データとして新しいパッセージを作成するために、同じ攻撃または異なる攻撃を使用して、パッセージに、1つまたは複数の敵対的ステートメントが複数回、入力され得る。
図5で説明されているように、オリジナルのMLQAモデルを再トレーニングするために、オリジナルの質問/回答/パッセージおよび図4で作成された新しい質問/回答/パッセージが使用される。
第2のステップは、敵対的ポリシーを、攻撃を使用して再トレーニングされたバージョンのMLQAモデルにブートストラップして(すなわち、異なる言語でのさまざまな攻撃/敵対的ステートメントを処理する方法に関するポリシーを追記して)、再トレーニングされたMLQAモデルを改善することである。この再トレーニングされたMLQAモデルは、矢印ブロック506に示されているように、人工知能(AI)システムによって強化学習を使用して再帰的にトレーニングされる。
ブロック507に示されているように、各反復中に、新たに再トレーニングされたMLQAモデルが堅牢である(すなわち、攻撃に影響されない)かどうかを評価するために、敵対的攻撃を含む質問/回答/パッセージが、複数の言語を含んでいる再トレーニングされたMLQAによって実行される。
本発明の1つまたは複数の実施形態では、図5に示されているブロック503またはブロック505あるいはその両方に示されたプロセスは、図1に示された人工知能124などの人工知能を使用する。そのような人工知能124は、本発明の1つまたは複数の実施形態に従って、さまざまな形態である。そのような形態は、多言語トランスフォーマ双方向エンコーダ表現(MBERT:multilanguage bidirectional encoder representation from transformers)を利用するトランスフォーマに基づく強化学習システム、深層ニューラル・ネットワーク(DNN:deep neural network)、再帰的ニューラル・ネットワーク(RNN:recursive neural network)、畳み込みニューラル・ネットワーク(CNN:convolutional neural network)などを含むが、これらに限定されない。
したがって、本発明の1つまたは複数の実施形態では、図7において下記で説明されるMBERTシステムは、図5に示されているように強化された学習と共に使用される、トランスフォーマに基づくシステムである。すなわち、トランスフォーマおよび強化された学習の組合せは、システムが、(1)図3および図4において説明されたRAOQ敵対的ステートメント、NAOQ敵対的ステートメントなどを、図3のブロック303に示された例示的なパッセージなどのコンテキストから作成すること、(2)図4に示された例示的な質問412などの質問を別の言語に翻訳すること、または(3)図4に示された例示的なステートメント414などの回答を別の言語に翻訳すること、あるいはその組合せを実行することを決定することにおいて、どのブートストラップされた敵対的ポリシーを使用するかを決定できるようにする。
すなわち、本発明の1つまたは複数の実施形態における強化学習の設定では、システム(例えば、図1に示されたQA対話システム156)は、(下記で説明される)REINFORCEアルゴリズムなどのポリシー勾配アルゴリズムによって、1つまたは複数の敵対的ポリシーの最良の組合せを見つけ、次に、それらのポリシーを、各反復中に新たに作成され得る、システムの防御をトレーニングするために使用される敵対的ステートメント、翻訳などの大きいプールに適用する。
本明細書に記載されているように、本発明の1つまたは複数の実施形態では、候補コンテキスト(例えば、図3のブロック303、305、309、313、317、321に示されているコンテキスト/パッセージのうちの1つまたは複数)が、それらが場合によっては敵対的状態(例えば、図3に示されている要素307、311、315、319、323)を伴って破損していたとしても、そのようなコンテキスト/パッセージ内の正しい回答の位置を決定するために、評価される。
ここで図6を参照すると、本発明の1つまたは複数の実施形態の高レベルの概要が示されている。
図1に示されたAI124に類似するトランスフォーマ・モデル・システム624(すなわち、本明細書において説明されるように、トランスフォーマを使用することによってコンテキストをモデル化するシステム)が、(図3に示された質問304に類似する)質問604および(図3のブロック303、305、309、313、317、321に示されたコンテキストの一部またはすべてに類似する)候補コンテキスト600を、入力として受信する。候補コンテキスト600は、候補コンテキスト600が質問604に対する正しい回答を保持すると予測される候補コンテキスト600内の位置を示す、候補回答位置602も含む。トランスフォーマ・モデル・システム624は、これらの異なる回答位置602を使用して、候補回答位置602から正しい回答位置を正確に識別する方法に関してトランスフォーマ・モデル・システム624をトレーニングする。ブロック604に示されているように、本発明の1つまたは複数の実施形態では、質問604、候補コンテキスト600、および候補回答位置602が、単一のグループに結合される。質問604、候補コンテキスト600、および候補回答位置602が単一のグループに結合されるかどうかにかかわらず、本発明の1つまたは複数の実施形態では、コントローラ601(例えば、図1に示されたコンピュータ101)が、トランスフォーマ・モデル・システム624をトレーニングするため、またはさまざまな質問、候補コンテキスト、もしくは候補回答位置、またはその組合せを評価するため、あるいはその両方のために、さまざまな質問、候補コンテキスト、または候補回答位置、あるいはその組合せをトランスフォーマ・モデル・システム624に送信する。
ここで図7を参照すると、本発明の1つまたは複数の実施形態において使用されているような例示的な多言語トランスフォーマ双方向エンコーダ表現(multilanguage bidirectional encoder representation from transformers,MBERT)システム724が示されている。
MBERTシステム724(すなわち、人工知能を使用して、図3および図4に示されているような敵対的ステートメントによって破損されているコンテキスト/パッセージを含むコンテキスト/パッセージ内の正しい回答の用語の位置を識別するトレーニング・システム)は、図6で説明された候補コンテキスト600、候補回答位置602、および質問604を入力として使用する。これらの入力は、埋め込み(ベクトル)に変換される。候補回答位置602についての埋め込みEap(要素702)は、候補コンテキスト600内の正しい回答の候補位置を表している。埋め込みEq1~Eqn(要素703~705)は、質問604内の用語を表す異なるベクトルである。埋め込みEcc1~Eccm(要素707~709)は、候補コンテキスト600内の用語を表す異なるベクトルである。
次に、ノード711(すなわち、人工知能計算ノード)が、(図9において下記で示される深層ニューラル・ネットワーク924に関してブロック911で説明される重み、アルゴリズム、バイアスなどに類似する)重み、アルゴリズム、バイアスなどを使用して、候補回答位置602を、正しい回答を質問604に提供するための候補コンテキスト600内の正しい位置であるとして評価する。
ノード711は、開始位置715から始まって終了位置717で終わる、候補コンテキスト600内の位置が正確であるということの信頼度713を出力する。この信頼度713は、開始/終了位置予測721に示されているように、回答可能性予測(answerability prediction)719(すなわち、特定の開始/終了位置が質問604に対する回答を含んでいるということの信頼度)として出力される。次に、回答可能性予測719および開始/終了位置予測721がコントローラ701に送信される。
線723は、ブロック604に行く線723によって示されているように、その後、コントローラ701が、MBERTシステム724によってトレーニングされる候補コンテキスト/質問/回答位置からの異なる候補コンテキスト/質問/回答位置を使用することを示している。図6におけるように、本発明の1つまたは複数の実施形態に従って、これらの異なる候補回答位置、質問、または候補コンテキスト、あるいはその組合せが、集合的に、または個別に、あるいはその両方で、MBERTシステム724に入力され得る。
ここで図8を参照すると、トランスフォーマに基づくシステムを利用して、候補コンテキスト801(例えば、図3に示されたパッセージのうちの1つまたは複数)からの正しい回答816を使用して質問に回答するQA対話システム800が示されている。
本発明の1つまたは複数の実施形態では、(本明細書において説明されたMBERTによって使用されるトランスフォーマなどの)トランスフォーマは、トークン(例えば、文内の単語)を、文内のトークンの位置の位置識別子および文の文識別子と結合して、埋め込みを作成する。これらの埋め込みは、特定のコンテキスト内で質問に回答するために使用され、ここで、所与のコンテキストは、敵対的ステートメントを含むこともあれば、含まないこともある。
次に、強化システム(例えば、モンテカルロ・ポリシー勾配などの勾配を使用するREINFORCE)は、ステートメントが敵対的攻撃である場合に、MLQAモデルがそれを理解することにおいて、どのポリシーが有効であるかをシステムが学習することを可能にする。
敵対的ステートメント(例えば、図4において上で示された例示的な敵対的ステートメント)を理解するためにトランスフォーマに基づく強化学習システム802に使用できる複数のブートストラップされた敵対的ポリシー804が存在すると仮定する。次に、トランスフォーマに基づく強化システム(例えば、QA対話システム800)は、REINFORCEアルゴリズムなどの勾配に基づくアルゴリズムを使用し、勾配に基づくアルゴリズムは、図1に示されたQA対話システム156を攻撃する現実世界の種類の敵対的ステートメントとの比較によって決定された適切な敵対的ステートメント(例えば、RARQ敵対的ステートメント806またはそれに対応する翻訳された敵対的ステートメント814あるいはその両方)が最適なトレーニング・ステートメントであると見なされなくなるまで、ブートストラップされた敵対的ポリシー804からのさまざまな敵対的ポリシーおよび回答位置302を適用する。例えば、質問ステートメント「Cafe X is the oldest cafe in Paris(カフェXは、パリで最も古いカフェです)」が敵対的ステートメント(例えば、RARQ敵対的ステートメント「Corporation A is the oldest cafe in the Arctic Ocean(会社Aは、北極海で最も古いカフェです)」)またはその翻訳された敵対的ステートメント(「Corporation A ist das alteste Cafe im Arktischen Ozean」)あるいはその両方に変換される場合、これらの敵対的ステートメントのうちの1つまたは両方が、QA対話システム156を実際に攻撃する(または攻撃すると予測された)敵対的ステートメントの種類と一致するということが示され、次に、これらの敵対的ステートメントまたは翻訳された敵対的ステートメントあるいはその両方が、MLQAモデルを再トレーニングして(図5のブロック505)攻撃パイプラインを実行する(図5のブロック507)ために、コントローラ(例えば、図1に示されたコンピュータ101)に送信される。
本発明の1つまたは複数の実施形態では、トランスフォーマに基づく学習システム(例えば、図6に示されたトランスフォーマ・モデル・システム624)は、図4で説明されたステップを実行することにおいて使用するために、正しいステートメントを別の言語(翻訳された正しいステートメントまたはオリジナルの質問あるいはその両方)にも翻訳し、このようにして、QA対話システム156が、複数の言語で質問/ステートメントを処理できるようにする。
本発明の1つまたは複数の実施形態では、人工知能124は、深層ニューラル・ネットワーク(DNN)、畳み込みニューラル・ネットワーク(CNN)、または再帰的ニューラル・ネットワーク(RNN)において見られる電子ニューラル・ネットワーク・アーキテクチャなどの、トランスフォーマに基づくシステム(例えば、トランスフォーマ・モデル・システム624)以外の電子ニューラル・ネットワーク・アーキテクチャを、強化された学習システムと共に利用する。
好ましい実施形態では、図1に示されたテキスト・ドキュメント・サーバ152から受信されたテキスト・コーパスからのドキュメント内のテキスト/数値データを評価するために、深層ニューラル・ネットワーク(DNN)が使用され、一方、音声または画像コーパスからの(例えば、それぞれ、図1に示された音声ファイル・サーバ154またはビデオ・ファイル・サーバ160からの)画像を評価するために、CNNが使用される。
CNNは、相互接続され電子ニューロンを両方とも利用するという点において、DNNに類似している。しかし、CNNは、(1)CNNが、フィルタ・サイズ、ストライド値、パディング値などに基づくサイズを有するニューラル層を含むという点、および(2)CNNが、畳み込み方式を利用して画像データを分析するという点において、DNNと異なっている。CNNは、予測された出力を生成する(結果を取得する)ために、ピクセル・データのフィルタリングおよびプーリング(2つの関数に対する数学演算)の畳み込み(すなわち、結果を取得するための2つの関数に対する数学演算)に基づいて、その「畳み込み」という名称を得る。
RNNも、相互接続され電子ニューロンを両方とも利用するという点において、DNNに類似している。しかし、RNNは、親ノードが望ましいベクトルを生成するまで調整される重み行列および非線形性(三角関数など)を使用して子ノードが親ノードにフィードする、非常に単純なアーキテクチャである。
電子ニューラル・ネットワーク(DNNまたはCNNまたはRNN)内の論理ユニットは、「ニューロン」または「ノード」と呼ばれる。電子ニューラル・ネットワークがソフトウェアにおいて全体に実装される場合、各ニューロン/ノードは、個別の1つのコード(すなわち、特定の動作を実行する命令)である。電子ニューラル・ネットワークがハードウェアにおいて全体に実装される場合、各ニューロン/ノードは、個別の1つのハードウェア論理(例えば、プロセッサ、ゲート・アレイなど)である。電子ニューラル・ネットワークがハードウェアおよびソフトウェアの組合せとして実装される場合、各ニューロン/ノードは、命令のセットまたは1つのハードウェア論理あるいはその両方である。
ニューラル・ネットワークは、名前が暗に示しているように、大まかに言えば、生物学的ニューラル・ネットワーク(例えば、人間の脳)をモデルにしている。生物学的ニューラル・ネットワークは、互いに影響を与える一連の相互接続されたニューロンで構成されている。例えば、シナプスによって、(第1のニューロンからの)第2のニューロンによって受け取られる神経伝達物質の放出を介して、第1のニューロンが第2のニューロンに電気的に接続されることができる。これらの神経伝達物質は、第2のニューロンが興奮されるか、または抑制されることを引き起こすことができる。興奮/抑制されて相互接続されたニューロンのパターンが、最終的に、思考、筋肉の動き、記憶回復などを含む生物学的結果につながる。生物学的ニューラル・ネットワークのこの説明は非常に簡略化されているが、高レベルの概要は、1つまたは複数の生物学的ニューロンが、1つまたは複数の他の生体電気的に接続された生物学的ニューロンの動作に影響を与えるということである。
電子ニューラル・ネットワークは、同様に電子ニューロンで構成されている。しかし、生物学的ニューロンとは異なり、電子ニューロンは、技術的に「抑制性」になることはなく、多くの場合、さまざまな程度に「興奮性」になるのみである。
電子ニューラル・ネットワークでは、ニューロンが、入力層、隠れ層、および出力層として知られている層に配置される。入力層は、入力データを受け取ってそれをニューロンの一連の隠れ層に送信するニューロン/ノードを含み、隠れ層のうちの1つの層からのすべてのニューロンが、隠れ層のうちの次の層内のすべてのニューロンと相互接続される。次に、隠れ層のうちの最終的な層が、計算結果を出力層に出力し、出力層は多くの場合、ベクトル情報を保持するための1つまたは複数のノードである。
本発明の1つまたは複数の実施形態では、質問回答対話システムのためのMLQAモデルを作成するために、深層ニューラル・ネットワークが使用される。
次に図7を参照すると、例示的な深層ニューラル・ネットワーク(DNN)の形態であり、本発明の1つまたは複数の実施形態に従って質問に回答する場合に、MLQAモデルを作成して利用するために使用される、トランスフォーマ(すなわち、MBERTシステム724の一部)が、示されている。
例示の目的で、トランスフォーマ/DNNへの入力が、オリジナルの質問412(例えば、「What is the oldest cafe in Paris?(パリで最も古いカフェは何ですか?)」)および正しい回答位置(例えば、候補コンテキストのうちの1つまたは複数内の「(Cafe X)カフェX」の位置)を含んでいると仮定する。そのようなDNNは、これらの入力を使用して、回答実体(例えば、図4に示された要素446および要素424)および質問実体(例えば、図4に示された要素426)を整合させる(aligning)ことによって、初期QAモデルを作成することができる。
図8に示されているように、このDNN(QA対話システム800として示されている)は、ブートストラップされた敵対的ポリシー(例えば、パッセージ内のさまざまな種類の攻撃/敵対的ステートメントを認識する方法を決定するポリシー)、RARQ敵対的ステートメント806(その例が、図3および図4で説明されている)、RAOQ敵対的ステートメント808(その例が、図3および図4で説明されている)、NARQ敵対的ステートメント810(その例が、図3および図4で説明されている)、NAOQ敵対的ステートメント812(その例が、図3および図4で説明されている)に加えて、コンテキスト801に入力される翻訳された敵対的ステートメント814として示されている、これらの敵対的ステートメントの翻訳(例えば、図4に示された423)を使用するアルゴリズム、ルールなども含む。すなわち、RARQ敵対的ステートメント806、RAOQ敵対的ステートメント808、NARQ敵対的ステートメント810、NAOQ敵対的ステートメント812、または翻訳された敵対的ステートメント814、あるいはその組合せは、コンテキスト801の一部である(コンテキスト801に組み込まれる)ということが理解されるべきであるが、これらは単に明確にする目的で、図8の異なるボックスに示されている。
DNN/QA対話システム800において使用されるアルゴリズム、ルールなどは、トレーニング済みMLQAモデルを再帰的に定義し、改善することができる。
図9は、新しい質問901に応答する場合に、提案された回答コンテキスト/パッセージ902内の正しい回答位置915を提供するために使用され得る、例示的なトレーニング済み深層ニューラル・ネットワーク(DNN)924の高レベルの概要を示している。
自動的に調整される場合、「後方伝搬」を使用して、数学関数、出力値、重み、またはバイアス、あるいはその組合せが調整され、後方伝搬では、正確な出力917を提供するために各数学関数、出力値、重み、またはバイアス、あるいはその組合せがどのように調整されるべきかを「勾配降下」法が決定する。すなわち、トレーニング済みMLQAモデル915の期待されるベクトル値に達するまで、例示的なノード909のブロック911に示されている数学関数、出力値、重み、またはバイアス、あるいはその組合せが再帰的調整される。
新しい質問901(例えば、「What is the oldest cafe in Madrid?(マドリードで最も古いカフェは何ですか?)」)も、(例えば、前述の質問/回答データベースなどの質問/回答データベースによって提供された)提案された回答コンテキスト/パッセージ902と共に、入力層903に入力され、入力層903は、そのような情報を中間層905に渡す前に処理する。すなわち、図3~図5において上で説明された類似するプロセスを使用して、類似する種類の回答をコンテキスト/パッセージから取り出すために使用されるQAデータセットから(ステートメント414によって記述された回答に類似する)回答を取り出すために、新しい質問901内の1つまたは複数の回答実体および1つまたは複数の質問実体が使用される。新しい質問1001に正しく回答するために、DNN924によって、これらのコンテキスト/パッセージのうちの1つまたは複数が決定され、一方、敵対的ステートメントは無視される。
そのため、ブロック911に示されており、DNN924内のニューロンのうちの1つもしくは複数またはすべてにおいて見られる要素の数学関数、出力値、重み、バイアス値は、出力層907に出力917を作成させ、出力917は、新しい質問901に関する敵対的ステートメントを含んでいるパッセージ内に見られる回答を含む、新しい質問901に対する正しい回答の正しい回答位置915を含んでいる。
本発明の1つまたは複数の実施形態では、次に、正しい回答位置915が質問者に返される。
そのため、本発明の1つまたは複数の実施形態では、本発明は、コンテキスト/パッセージ内で特定の種類の質問(「What is the oldest cafe in Paris?(パリで最も古いカフェは何ですか?)」)に対する特定の既知の正しい回答(「Cafe X(カフェX)」)を探すだけでなく、特定の種類の質問に対する正しい回答の正しい回答位置を探し、このようにして、単なる単語検索プログラムよりはるかに堅牢なシステムを提供する。
ここで図10を参照すると、本発明の1つまたは複数の実施形態に従って実行される1つまたは複数のステップの高レベルのフローチャートが示されている。
開始ブロック1002の後に、ブロック1004に示されているように、コンピューティング・デバイス(例えば、図7に示されたMBERTシステム724またはDNNあるいはその両方として実装される、図1に示されたコンピュータ101、または人工知能124、またはQA質問回答対話システム156、あるいはその組合せ)が、質問回答対話システムに対して敵対的攻撃を行うことができる複数の敵対的ステートメント(例えば、図3に示された要素307、311、315、319)にアクセスする。図1に示された質問回答対話システム(例えば、人工知能124またはQA質問回答対話システム156あるいはその両方)は、「What is the oldest cafe in a certain city?(特定の都市で最も古いカフェは何ですか?)」などの特定の種類の質問に対する正しい回答を提供するように設計/トレーニングされたQAシステムである。
ブロック1006に示されているように、機械学習モデル(例えば、図9に示されたトレーニング済みMLQAモデル915)をトレーニングすることにおいて、複数の敵対的ステートメントが利用される。
ブロック1008に示されているように、コンピューティング・デバイスが、複数の種類の敵対的ステートメントを識別する敵対的ポリシーをトレーニング済み機械学習モデルにブートストラップすること(例えば、図8に示されたブートストラップされた敵対的ポリシー804)によって、トレーニング済み機械学習モデルを強化する。
ブロック1010に示されているように、コンピューティング・デバイスが、図8に示された質問回答対話システム800(例えば、図7に示されたMBERTシステム724)に提出された質問に応答するときに、トレーニング済みのブートストラップされた機械学習モデル(例えば、更新されてブートストラップされたトレーニング済みMLQAモデル)を利用して、敵対的攻撃を防ぐ。
線1014によって示されているように、プロセスは、QA対話システムが適切にトレーニングされたということが(例えば、敵対的ステートメントを識別して克服するための正しいパーセンテージの既定のレベルを超えることによって)決定されるまで、ブロック1004に戻ることによって、再帰的方法で動作する。
フローチャートは、終了ブロック1012で終了する。
本発明の1つまたは複数の実施形態では、質問回答対話システムに対する質問を、回答のためのプレースホルダを含むステートメントに変換することと、回答から回答実体をランダムに選別し、ランダムに選別された回答実体をプレースホルダの代わりに追加して、敵対的ステートメントを生成することと、敵対的ステートメントを含んでいる質問およびコンテキスト/パッセージを使用して、トレーニング済みのブートストラップされた機械学習モデルに対する攻撃を生成することと、生成された攻撃に対するトレーニング済みのブートストラップされた機械学習モデルからの応答を測定することと、生成された攻撃に対する応答の応答レベルを向上させるために、トレーニング済みのブートストラップされた機械学習モデルを変更することとを実行するコンピューティング・デバイスによって、トレーニング済みのブートストラップされた機械学習モデルがテストされる。
すなわち、図3~図10に示されているように、コンピューティング・デバイスは、質問回答対話システムに対する質問を、回答のためのプレースホルダを含むステートメントに変換する(例えば、図4のステップ1およびステップ2を参照)。次に、コンピューティング・デバイスは、回答から回答実体をランダムに選別し、ランダムに選別された回答実体をプレースホルダの代わりに追加して、敵対的ステートメントを生成する(例えば、図4のステップ3を参照)。本明細書に記載されているように、プロセスは、敵対的ステートメントをパッセージ(例えば、コンテキスト/パッセージ)にランダムに入力して、敵対的パッセージを作成する。その後、コンピューティング・デバイスは、敵対的パッセージを含んでいる質問およびコンテキスト/パッセージを使用して、トレーニング済みのブートストラップされた機械学習モデルに対する攻撃を生成し(例えば、図2のブロック206または図5のブロック507あるいはその両方を参照)、生成された攻撃に対するトレーニング済みのブートストラップされた機械学習モデルからの応答を(例えば、図9に示されたトレーニング済みDNN924内のニューロンによって)測定する。コンピューティング・デバイスは、最後に、生成された攻撃に対する応答の応答レベルを向上させる(すなわち、攻撃が存在することをより明確に示す)ために、トレーニング済みのブートストラップされた機械学習モデルを(例えば、図9に示されたDNN924内の後方伝搬によって)変更する。
本発明の1つまたは複数の実施形態では、複数の敵対的ステートメントは、第1の言語である第1の敵対的ステートメント、および異なる第2の言語である第2の敵対的ステートメントを含むが、第1の敵対的ステートメントおよび第2の敵対的ステートメントは、両方とも質問に対する同じ正しくない回答を提供する。例えば、第1の敵対的ステートメント(例えば、図3に示されたRARQ307-「Corporation A is the oldest cafe in the Arctic Ocean(会社Aは、北極海で最も古いカフェです)」)が、第1の言語(英語)であり、第2の敵対的ステートメント(例えば、図3に示されたRARQ323-「Corporation A ist das alteste Cafe in Arktischen Ozean」)が、異なる第2の言語(ドイツ語)のものであるが、これらの敵対的ステートメントは、両方とも質問「What is the oldest cafe in Paris?(パリで最も古いカフェは何ですか?)」に対する同じ正しくない回答を提供する。そのため、本明細書に記載されているように、QAトレーニング・システム(例えば、DNN924)は、異なる言語で敵対的ステートメントに対応することができる。
本発明の1つまたは複数の実施形態では、コンピューティング・デバイスは、RARQ敵対的ステートメント、RAOQ敵対的ステートメント、NARQ敵対的ステートメント、またはNAOQ敵対的ステートメント、あるいはその組合せを(例えば、これらの敵対的ステートメントのうちの1つまたは複数を実際に生成することによって)生成する。
本発明の1つまたは複数の実施形態では、コンピューティング・デバイスは、RARQ敵対的ステートメント、RAOQ敵対的ステートメント、NARQ敵対的ステートメント、またはNAOQ敵対的ステートメント、あるいはその組合せを(例えば、すでに作成されているデータセットから)取り出す。
本発明の1つまたは複数の実施形態では、コンピューティング・デバイスは、生成されたか、または取り出されたRARQ敵対的ステートメント、RAOQ敵対的ステートメント、NARQ敵対的ステートメント、またはNAOQ敵対的ステートメント、あるいはその組合せを入力として利用して、敵対的ステートメントを認識するように質問回答対話システムのための機械学習モデルをさらにトレーニングする(本特許出願の図6を参照)。
本発明の1つまたは複数の実施形態では、複数の敵対的ステートメントが単一のコンテキスト/パッセージに一度にランダムに配置される。
本発明の1つまたは複数の実施形態では、複数の敵対的ステートメントが、単一のコンテキスト/パッセージに個別にランダムに配置され、新しい敵対的ステートメントを含む各オリジナルのコンテキスト/パッセージが、新しいコンテキスト/パッセージになる。
したがって、本明細書では、質問、コンテキスト、および敵対的ステートメントが同じ言語であるか、または異なる言語であることができる、新しい多言語QAシステムが説明される。敵対的/攻撃ステートメントは、1つの言語で生成された後に、他の言語に翻訳されることが可能であり、または敵対的/攻撃ステートメントは、異なる言語で受信され得る。いずれにしても、本明細書に記載されたQAシステムは、モデルがゼロショットである(質問、コンテキスト、および敵対的ステートメントがテスト・データと異なる言語であるデータに対してトレーニングする)か、または多言語である(質問、コンテキスト、および敵対的ステートメントが2つ以上の異なる言語であるデータに対してトレーニングする)か、あるいはその両方であるかにかかわらず、攻撃に対するQAシステムの防御が効果的になるように、複数の言語を処理することができる単一のトレーニング済みMLQAモデルを利用する。
1つまたは複数の実施形態では、本発明は、クラウド・コンピューティングを使用して実装される。それにもかかわらず、本開示にはクラウド・コンピューティングの詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないということが、あらかじめ理解される。本発明の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と組み合わせて実装できる。
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含む。
特徴は、次の通りである。
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどの計算能力を、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的に、一方的にプロビジョニングすることができる。
幅広いネットワーク・アクセス:クラウドの能力は、ネットワークを通じて利用可能であり、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する標準的なメカニズムを使用してアクセスされる。
リソース・プール:プロバイダの計算リソースは、プールされ、マルチテナント・モデルを使用して、さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされて、複数の利用者に提供される。利用者は通常、提供されるリソースの正確な場所に関して制御することも知ることもないという点において、場所に依存しないという感覚があるが、それでも、さらに高い抽象化レベルでは場所(例えば、国、州、またはデータセンター)を指定できる。
迅速な柔軟性:クラウドの能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できるこれらの能力は、利用者には、多くの場合、無制限であるように見え、任意の量をいつでも購入できる。
測定されるサービス:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した何らかの抽象化レベルで、計測機能を活用することによって、リソースの使用を自動的に制御および最適化する。リソースの使用量は監視、制御、および報告され、利用されるサービスのプロバイダと利用者の両方に透明性を提供することができる。
SaaS(Software as a Service):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
PaaS(Platform as a Service):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
IaaS(Infrastructure as a Service):利用者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御することができ、場合によっては、選択されたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
デプロイメント・モデルは、次の通りである。
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。1つまたは複数の実施形態では、このクラウド・インフラストラクチャは、これらの組織またはサード・パーティによって管理されるか、またはオンプレミスもしくはオフプレミスに存在するか、あるいはその両方である。
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。1つまたは複数の実施形態では、このクラウド・インフラストラクチャは、これらの組織またはサード・パーティによって管理されるか、またはオンプレミスもしくはオフプレミスに存在するか、あるいはその両方である。
パブリック・クラウド:このクラウド・インフラストラクチャは、一般の人々または大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷分散のためのクラウド・バースト)によって固有の実体を維持したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
クラウド・コンピューティング環境は、ステートレス性、疎結合性、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを備えるインフラストラクチャである。
ここで図11を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなど)と互いに通信する、1つまたは複数のクラウド・コンピューティング・ノード10を含んでいる。さらに、ノード10は、互いに通信する。一実施形態では、これらのノードは、前述したプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはそれらの組合せなどの1つまたは複数のネットワーク内で、物理的または仮想的にグループ化される(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組合せを提供できる。図11に示されたコンピューティング・デバイス54A~54Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を通じて任意の種類のコンピュータ制御デバイスと通信することができると理解される。
ここで図12を参照すると、クラウド・コンピューティング環境50(図11)によって提供される機能的抽象化層のセットが示されている。図12に示されたコンポーネント、層、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次の層および対応する機能が提供される。
ハードウェアおよびソフトウェア層60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャに基づくサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化層70は、1つまたは複数の実施形態において、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体の例が提供される、抽象化層を備える。
一例を挙げると、管理層80は、以下で説明する機能を提供する。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよび他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する課金または請求書の送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含む。セキュリティは、クラウドの利用者およびタスクの識別情報の検証を行うと共に、データおよび他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
ワークロード層90は、1つまたは複数の実施形態においてクラウド・コンピューティング環境が利用される機能の例を示している。この層から提供されるワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ分析処理94、トランザクション処理95、および本明細書に記載された本発明の機能のうちの1つまたは複数を実行するQA対話システム保護処理96が挙げられる。
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、本発明を制限することを意図していない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、特に明示的に示されない限り、複数形も含むことが意図されている。「備える」または「備えている」あるいはその両方の用語は、本明細書で使用される場合、記載された機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組合せの存在を示すが、1つまたは複数の他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組合せの存在または追加を除外していないということが、さらに理解されるであろう。
下の特許請求の範囲内のすべての手段またはステップおよび機能要素の対応する構造、材料、動作、および等価なものは、具体的に請求される他の請求された要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことが意図されている。本発明のさまざまな実施形態の説明は、例示および説明の目的で提示されているが、網羅的であることは意図されておらず、または、開示された形態での本発明に制限されない。本発明の範囲および思想から逸脱することなく、多くの変更および変形が当業者にとって明らかになるであろう。本発明の原理および実際的な適用を最も適切に説明するため、および当業者が、企図された特定の用途に適するようなさまざまな変更を伴う多様な実施形態に関して、本発明を理解できるようにするために、実施形態が選択されて説明された。
本発明の1つまたは複数の実施形態では、本開示において説明された任意の方法が、VHDL(VHSIC Hardware Description Language:VHSICハードウェア記述言語)プログラムおよびVHDLチップを使用することによって実装される。VHDLは、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向け集積回路(ASIC:Application Specific Integrated Circuits)、および他の類似の電子デバイス用の設計入力言語の一例である。したがって、本発明の1つまたは複数の実施形態では、本明細書に記載された任意のソフトウェアによって実装される方法が、ハードウェアベースのVHDLプログラムによってエミュレートされ、その後、FPGAなどのVHDLチップに適用される。
したがって、本出願の本発明の実施形態を詳細に説明したことにより、およびその実施形態例を参照することにより、変更および変形が、添付された特許請求の範囲で定義された本発明の範囲から逸脱することなく可能であるということは明らかであろう。

Claims (20)

  1. コンピューティング・デバイスによって、質問回答対話システムに対して敵対的攻撃を行うことができる複数の敵対的ステートメントにアクセスすることであって、前記質問回答対話システムが、特定の種類の質問に対する正しい回答を提供するようにトレーニングされる、前記アクセスすることと、
    前記コンピューティング・デバイスによって、前記複数の敵対的ステートメントを利用して、前記質問回答対話システムのための機械学習モデルをトレーニングすることと、
    前記コンピューティング・デバイスによって、複数の種類の敵対的ステートメントを識別する敵対的ポリシーを前記トレーニングされた機械学習モデルにブートストラップすることによって、前記トレーニングされた機械学習モデルを強化することと、
    前記コンピューティング・デバイスによって、前記質問回答対話システムに提出された質問に応答するときに、前記トレーニングされ、ブートストラップされた機械学習モデルを利用して、敵対的攻撃を防ぐことと
    を含む、方法。
  2. 前記コンピューティング・デバイスによって、前記質問回答対話システムに対する質問を、回答のためのプレースホルダを含むステートメントに変換することと、
    前記コンピューティング・デバイスによって、前記回答から回答実体をランダムに選別し、前記ランダムに選別された回答実体を前記プレースホルダの代わりに追加して、敵対的ステートメントを生成することと、
    前記コンピューティング・デバイスによって、前記敵対的ステートメントを含む、前記トレーニングされ、ブートストラップされた機械学習モデルに対する攻撃を生成することと、
    前記コンピューティング・デバイスによって、前記生成された攻撃に対する前記トレーニングされ、ブートストラップされた機械学習モデルによる応答を測定することと、
    前記コンピューティング・デバイスによって、前記生成された攻撃に対する前記応答の応答レベルを向上させるために、前記トレーニングされ、ブートストラップされた機械学習モデルを変更することと
    によって、前記トレーニングされ、ブートストラップされた機械学習モデルをテストすることをさらに含む、請求項1に記載の方法。
  3. 前記複数の敵対的ステートメントが、第1の言語である第1の敵対的ステートメント、および異なる第2の言語である第2の敵対的ステートメントを含み、前記第1の敵対的ステートメントおよび前記第2の敵対的ステートメントが、両方とも前記質問に対する同じ正しくない回答を提供する、請求項1に記載の方法。
  4. 前記正しい回答が正しい回答実体を含み、正しい質問実体に関連付けられ、前記方法が、
    前記コンピューティング・デバイスによって、ランダムな回答ランダムな質問(RARQ)敵対的ステートメントを生成することであって、前記RARQ敵対的ステートメントが第1の種類の攻撃ステートメントであり、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記生成することと、
    前記コンピューティング・デバイスによって、ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメントを生成することであって、前記RAOQ敵対的ステートメントが第2の種類の攻撃ステートメントであり、前記RAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記生成することと、
    前記コンピューティング・デバイスによって、回答なしランダムな質問(NARQ)敵対的ステートメントを生成することであって、前記NARQ敵対的ステートメントが第3の種類の攻撃ステートメントであり、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記生成することと、
    前記コンピューティング・デバイスによって、回答なしオリジナルの質問(NAOQ)敵対的ステートメントを生成することであって、前記NAOQ敵対的ステートメントが第4の種類の攻撃ステートメントであり、前記NAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記生成することと、
    前記RARQ敵対的ステートメント、前記RAOQ敵対的ステートメント、前記NARQ敵対的ステートメント、および前記NAOQ敵対的ステートメントを、前記コンピューティング・デバイスによって、コンテキスト・パッセージ内で、敵対的ステートメントを認識するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することとをさらに含む、請求項1に記載の方法。
  5. 前記正しい回答が正しい回答実体を含み、正しい質問実体に関連付けられ、前記方法が、
    ランダムな回答ランダムな質問(RARQ)敵対的ステートメントを取り出すことであって、前記RARQ敵対的ステートメントが第1の種類の攻撃ステートメントであり、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記取り出すことと、
    ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメントを取り出すことであって、前記RAOQ敵対的ステートメントが第2の種類の攻撃ステートメントであり、前記RAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    回答なしランダムな質問(NARQ)敵対的ステートメントを取り出すことであって、前記NARQ敵対的ステートメントが第3の種類の攻撃ステートメントであり、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記取り出すことと、
    回答なしオリジナルの質問(NAOQ)敵対的ステートメントを取り出すことであって、前記NAOQ敵対的ステートメントが第4の種類の攻撃ステートメントであり、前記NAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    前記RARQ敵対的ステートメント、前記RAOQ敵対的ステートメント、前記NARQ敵対的ステートメント、および前記NAOQ敵対的ステートメントを、前記コンピューティング・デバイスによって、コンテキスト・パッセージ内で、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することとをさらに含む、請求項1に記載の方法。
  6. 前記正しい回答が正しい回答実体および正しい質問実体を含み、前記方法が、
    ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメントを取り出すことであって、前記RAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    前記コンピューティング・デバイスによって、前記RAOQ敵対的ステートメントを、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することとをさらに含む、請求項1に記載の方法。
  7. 前記正しい回答が正しい回答実体および正しい質問実体を含み、前記方法が、
    回答なしランダムな質問(NARQ)敵対的ステートメントを取り出すことであって、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記取り出すことと、
    前記コンピューティング・デバイスによって、前記NARQ敵対的ステートメントを、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することとをさらに含む、請求項1に記載の方法。
  8. 前記正しい回答が正しい回答実体および正しい質問実体を含み、前記方法が、
    回答なしオリジナルの質問(NAOQ)敵対的ステートメントを取り出すことであって、前記NAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    前記コンピューティング・デバイスによって、前記NAOQ敵対的ステートメントを、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することとをさらに含む、請求項1に記載の方法。
  9. プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・プログラム製品であって、前記コンピュータ可読ストレージ媒体自体が一過性の信号ではなく、前記プログラム・コードが、前記プロセッサによって読み取り可能かつ実行可能であり、質問回答対話システムに対する敵対的攻撃を防ぐ方法を実行し、前記方法が、
    質問回答対話システムに対して敵対的攻撃を行うことができる複数の敵対的ステートメントにアクセスすることであって、前記質問回答対話システムが、特定の種類の質問に対する正しい回答を提供するようにトレーニングされる、前記アクセスすることと、
    前記複数の敵対的ステートメントを利用して、前記質問回答対話システムのための機械学習モデルをトレーニングすることと、
    複数の種類の敵対的ステートメントを識別する敵対的ポリシーを前記トレーニングされた機械学習モデルにブートストラップすることによって、前記トレーニングされた機械学習モデルを強化することと、
    前記質問回答対話システムに提出された質問に応答するときに、前記トレーニングされ、ブートストラップされた機械学習モデルを利用して、敵対的攻撃を防ぐことと
    を含む、コンピュータ・プログラム製品。
  10. 前記方法が、
    前記質問回答対話システムに対する質問を、回答のためのプレースホルダを含むステートメントに変換することと、
    前記回答から回答実体をランダムに選別し、前記ランダムに選別された回答実体を前記プレースホルダの代わりに追加して、敵対的ステートメントを生成することと、
    前記敵対的ステートメントをパッセージにランダムに入力して、敵対的パッセージを作成することと、
    前記敵対的パッセージを含む、前記トレーニングされ、ブートストラップされた機械学習モデルに対する攻撃を生成することと、
    前記生成された攻撃に対する前記トレーニングされ、ブートストラップされた機械学習モデルによる応答を測定することと、
    コンピュータ・デバイスによって前記生成された攻撃に対する前記応答の応答レベルを向上させるために、前記トレーニングされ、ブートストラップされた機械学習モデルを変更することとによって、前記トレーニングされ、ブートストラップされた機械学習モデルをテストすることと
    をさらに含む、請求項9に記載のコンピュータ・プログラム製品。
  11. 前記複数の敵対的ステートメントが、第1の言語である第1の敵対的ステートメント、および異なる第2の言語である第2の敵対的ステートメントを含み、前記第1の敵対的ステートメントおよび前記第2の敵対的ステートメントが、両方とも前記質問に対する同じ正しくない回答を提供する、請求項9に記載のコンピュータ・プログラム製品。
  12. 前記正しい回答が正しい回答実体を含み、正しい質問実体に関連付けられ、前記方法が、
    ランダムな回答ランダムな質問(RARQ)敵対的ステートメントを生成することであって、前記RARQ敵対的ステートメントが第1の種類の攻撃ステートメントであり、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記生成することと、
    ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメントを生成することであって、前記RAOQ敵対的ステートメントが第2の種類の攻撃ステートメントであり、前記RAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記生成することと、
    回答なしランダムな質問(NARQ)敵対的ステートメントを生成することであって、前記NARQ敵対的ステートメントが第3の種類の攻撃ステートメントであり、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記生成することと、
    回答なしオリジナルの質問(NAOQ)敵対的ステートメントを生成することであって、前記NAOQ敵対的ステートメントが第4の種類の攻撃ステートメントであり、前記NAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記生成することと、
    前記RARQ敵対的ステートメント、前記RAOQ敵対的ステートメント、前記NARQ敵対的ステートメント、および前記NAOQ敵対的ステートメントを、前記コンピューティング・デバイスによって、コンテキスト・パッセージ内で、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することと
    をさらに含む、請求項9に記載のコンピュータ・プログラム製品。
  13. 前記正しい回答が正しい回答実体を含み、正しい質問実体に関連付けられ、前記方法が、
    ランダムな回答ランダムな質問(RARQ)敵対的ステートメントを取り出すことであって、前記RARQ敵対的ステートメントが第1の種類の攻撃ステートメントであり、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記取り出すことと、
    ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメントを取り出すことであって、前記RAOQ敵対的ステートメントが第2の種類の攻撃ステートメントであり、前記RAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    回答なしランダムな質問(NARQ)敵対的ステートメントを取り出すことであって、前記NARQ敵対的ステートメントが第3の種類の攻撃ステートメントであり、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記取り出すことと、
    回答なしオリジナルの質問(NAOQ)敵対的ステートメントを取り出すことであって、前記NAOQ敵対的ステートメントが第4の種類の攻撃ステートメントであり、前記NAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    前記RARQ敵対的ステートメント、前記RAOQ敵対的ステートメント、前記NARQ敵対的ステートメント、および前記NAOQ敵対的ステートメントを、前記コンピューティング・デバイスによって、コンテキスト・パッセージ内で、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することと
    をさらに含む、請求項9に記載のコンピュータ・プログラム製品。
  14. 前記正しい回答が正しい回答実体および正しい質問実体を含み、前記方法が、
    ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメントを取り出すことであって、前記RAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    前記RAOQ敵対的ステートメントを、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することと
    をさらに含む、請求項9に記載のコンピュータ・プログラム製品。
  15. 前記正しい回答が正しい回答実体および正しい質問実体を含み、前記方法が、
    回答なしランダムな質問(NARQ)敵対的ステートメントを取り出すことであって、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記取り出すことと、
    前記NARQ敵対的ステートメントを、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することと
    をさらに含む、請求項9に記載のコンピュータ・プログラム製品。
  16. 前記正しい回答が正しい回答実体および正しい質問実体を含み、前記方法が、
    回答なしオリジナルの質問(NAOQ)敵対的ステートメントを取り出すことであって、前記NAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    前記NAOQ敵対的ステートメントを、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することと
    をさらに含む、請求項9に記載のコンピュータ・プログラム製品。
  17. 前記プログラム・コードがクラウド環境内のサービスとして提供される、請求項9に記載のコンピュータ・プログラム製品。
  18. 1つまたは複数のプロセッサと、1つまたは複数のコンピュータ可読メモリと、1つまたは複数のコンピュータ可読非一過性ストレージ媒体とを備えているコンピュータ・システムであって、プログラム命令が、前記1つまたは複数のコンピュータ可読メモリのうちの少なくとも1つを介して、前記1つまたは複数のプロセッサのうちの少なくとも1つによって実行するために、前記1つまたは複数のコンピュータ可読非一過性ストレージ媒体のうちの少なくとも1つに格納され、前記格納されたプログラム命令が、
    質問回答対話システムに対して敵対的攻撃を行うことができる複数の敵対的ステートメントにアクセスすることであって、前記質問回答対話システムが、特定の種類の質問に対する正しい回答を提供するようにトレーニングされる、前記アクセスすることと、
    前記複数の敵対的ステートメントを利用して、前記質問回答対話システムのための機械学習モデルをトレーニングすることと、
    複数の種類の敵対的ステートメントを識別する敵対的ポリシーを前記トレーニングされた機械学習モデルにブートストラップすることによって、前記トレーニングされた機械学習モデルを強化することと、
    前記質問回答対話システムに提出された質問に応答するときに、前記トレーニングされ、ブートストラップされた機械学習モデルを利用して、敵対的攻撃を防ぐことと
    を含む方法を実行するために実行される、コンピュータ・システム。
  19. 前記正しい回答が正しい回答実体を含み、正しい質問実体に関連付けられ、前記方法が、
    ランダムな回答ランダムな質問(RARQ)敵対的ステートメントを取り出すことであって、前記RARQ敵対的ステートメントが第1の種類の攻撃ステートメントであり、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記取り出すことと、
    ランダムな回答オリジナルの質問(RAOQ)敵対的ステートメントを取り出すことであって、前記RAOQ敵対的ステートメントが第2の種類の攻撃ステートメントであり、前記RAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を置き換えるランダムな回答実体を含み、前記RAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    回答なしランダムな質問(NARQ)敵対的ステートメントを取り出すことであって、前記NARQ敵対的ステートメントが第3の種類の攻撃ステートメントであり、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NARQ敵対的ステートメントが、前記正しい回答内の前記正しい質問実体を置き換えるランダムな質問実体を含む、前記取り出すことと、
    回答なしオリジナルの質問(NAOQ)敵対的ステートメントを取り出すことであって、前記NAOQ敵対的ステートメントが第4の種類の攻撃ステートメントであり、前記NAOQ敵対的ステートメントが、前記正しい回答内の前記正しい回答実体を回答なしに置き換え、前記NAOQ敵対的ステートメントが、前記正しい回答からの前記正しい質問実体を含む、前記取り出すことと、
    前記RARQ敵対的ステートメント、前記RAOQ敵対的ステートメント、前記NARQ敵対的ステートメント、および前記NAOQ敵対的ステートメントを、前記コンピューティング・デバイスによって、コンテキスト・パッセージ内で、敵対的ステートメントを認識して無視するように前記質問回答対話システムのための前記機械学習モデルをさらにトレーニングするための入力として利用することとをさらに含む、請求項18に記載のコンピュータ・システム。
  20. 前記格納されたプログラム命令がクラウド環境内のサービスとして提供される、請求項18に記載のコンピュータ・システム。
JP2023521038A 2020-10-21 2021-08-30 敵対的攻撃を防ぐための質問回答対話システムのトレーニング Pending JP2023545994A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/076,031 2020-10-21
US17/076,031 US11520829B2 (en) 2020-10-21 2020-10-21 Training a question-answer dialog sytem to avoid adversarial attacks
PCT/CN2021/115391 WO2022083291A1 (en) 2020-10-21 2021-08-30 Training question-answer dialog system to avoid adversarial attacks

Publications (1)

Publication Number Publication Date
JP2023545994A true JP2023545994A (ja) 2023-11-01

Family

ID=81186490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023521038A Pending JP2023545994A (ja) 2020-10-21 2021-08-30 敵対的攻撃を防ぐための質問回答対話システムのトレーニング

Country Status (6)

Country Link
US (2) US11520829B2 (ja)
JP (1) JP2023545994A (ja)
CN (1) CN116324804A (ja)
DE (1) DE112021004694T5 (ja)
GB (1) GB2615666A (ja)
WO (1) WO2022083291A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220222441A1 (en) * 2021-01-13 2022-07-14 Salesforce.Com, Inc. Machine learning based named entity recognition for natural language processing
US20220391595A1 (en) * 2021-06-02 2022-12-08 Oracle International Corporation User discussion environment interaction and curation via system-generated responses
CN114648032B (zh) * 2022-05-23 2022-08-19 腾讯科技(深圳)有限公司 语义理解模型的训练方法、装置和计算机设备
CN115938530B (zh) * 2023-01-09 2023-07-07 人工智能与数字经济广东省实验室(广州) 抗后门攻击的智能医疗影像诊断意见自动生成方法
CN117131945A (zh) * 2023-10-26 2023-11-28 北京睿企信息科技有限公司 一种用于llm模型的数据训练方法及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684876B2 (en) 2015-03-30 2017-06-20 International Business Machines Corporation Question answering system-based generation of distractors using machine learning
US9996533B2 (en) 2015-09-30 2018-06-12 International Business Machines Corporation Question answering system using multilingual information sources
US11250332B2 (en) 2016-05-11 2022-02-15 International Business Machines Corporation Automated distractor generation by performing disambiguation operations
CN108509463B (zh) * 2017-02-28 2022-03-29 华为技术有限公司 一种问题的应答方法及装置
US11373632B2 (en) * 2017-05-10 2022-06-28 Oracle International Corporation Using communicative discourse trees to create a virtual persuasive dialogue
CN107423437B (zh) 2017-08-04 2020-09-01 逸途(北京)科技有限公司 一种基于对抗网络强化学习的问答模型优化方法
CN108595629B (zh) 2018-04-24 2021-08-06 北京慧闻科技发展有限公司 用于答案选择系统的数据处理方法及应用
US11481416B2 (en) * 2018-07-12 2022-10-25 International Business Machines Corporation Question Answering using trained generative adversarial network based modeling of text
US11275841B2 (en) 2018-09-12 2022-03-15 Adversa Ai Ltd Combination of protection measures for artificial intelligence applications against artificial intelligence attacks
US11836256B2 (en) 2019-01-24 2023-12-05 International Business Machines Corporation Testing adversarial robustness of systems with limited access
CN111078892B (zh) 2019-11-25 2023-05-23 百度在线网络技术(北京)有限公司 对抗样本生成方法、装置、电子设备及存储介质
CN111444346B (zh) 2020-03-31 2023-04-18 广州大学 一种用于文本分类的词向量对抗样本生成方法及装置

Also Published As

Publication number Publication date
WO2022083291A1 (en) 2022-04-28
US11755657B2 (en) 2023-09-12
US11520829B2 (en) 2022-12-06
DE112021004694T5 (de) 2023-07-06
GB2615666A (en) 2023-08-16
GB202305817D0 (en) 2023-06-07
US20230009893A1 (en) 2023-01-12
US20220121710A1 (en) 2022-04-21
CN116324804A (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US10984316B2 (en) Context aware sensitive information detection
US20210073473A1 (en) Vector Representation Based on Context
US11645470B2 (en) Automated testing of dialog systems
US11755657B2 (en) Training a question-answer dialog system to avoid adversarial attacks
US11901047B2 (en) Medical visual question answering
US20210125058A1 (en) Unsupervised hypernym induction machine learning
US11669680B2 (en) Automated graph based information extraction
US20180276198A1 (en) Interactive location sensitive network response
JP2023547802A (ja) 回答スパン訂正
US11645526B2 (en) Learning neuro-symbolic multi-hop reasoning rules over text
US20230095180A1 (en) Question answering information completion using machine reading comprehension-based process
US20230092274A1 (en) Training example generation to create new intents for chatbots
US11080486B2 (en) Remote neural network processing for guideline identification
US20220309107A1 (en) Self-supervision in table question answering
US20210149990A1 (en) Iteratively expanding concepts
US20200302332A1 (en) Client-specific document quality model
US11995111B2 (en) Efficient and compact text matching system for sentence pairs
US20220043848A1 (en) Generating entity relation suggestions within a corpus
US20220067051A1 (en) Word embedding quality assessment through asymmetry
US11520783B2 (en) Automated validity evaluation for dynamic amendment
JP2023508599A (ja) 会話型エージェント・システム、方法、プログラム
US11138383B2 (en) Extracting meaning representation from text
US20220036007A1 (en) Bootstrapping relation training data
US20220300799A1 (en) Neuro-Symbolic Approach for Entity Linking
US11481561B2 (en) Semantic linkage qualification of ontologically related entities

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230426

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20230501

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240123