【解決手段】技術的アーキテクチャにおいて、多数の意図を処理するために、多目的会話型エージェントからなる複数の構成要素を定義し、論理的に統合することと、高レベル意図識別技法によって、1つまたは複数の自然言語問合せを処理するために適切なエージェントを識別することと、あり得るユーザ意図を予測することと、問合せを分類することと、1つまたは複数の知識グラフ322に問い合わせるかまたはそれを更新することによって応答のセットを生成することと、を含む。
前記論理的な統合が、予期される自然言語ユーザ問合せの前記セットに基づいて、前記自然言語問合せを処理するために前記複数の構成要素と前記1つまたは複数の多目的会話型エージェントとを階層的に定義するステップを含む、請求項1に記載の方法。
前記定義された複数の構成要素が、1つまたは複数のトレーニング・データセットに基づいて、自然言語問合せの前記処理を可能にするために1人または複数のユーザのための複数の推奨される質問を自動生成するための自動提案機構をさらに備える、請求項2に記載の方法。
前記1つまたは複数のトレーニング・データセットが、問合せの意味論的に類似のセットのセットと、問合せの前記意味論的に類似のセットに対応する返答のセットとを含む、請求項3に記載の方法。
前記1つまたは複数の知識グラフが、前記知識グラフ関与エージェントによって1人または複数のユーザから取得された情報のセットに基づいて、前記知識グラフ更新エージェントによって更新され、情報の前記セットが自然言語問合せの前記処理に対応する、請求項1に記載の方法。
情報の前記セットが、積極的ユーザ関与によって、または前記知識グラフ関与エージェントによる前記1つまたは複数の知識グラフに対応する情報の分析によってのいずれかで、前記1人または複数のユーザから取得される、請求項5に記載の方法。
応答の前記第2のセットが、自然言語問合せの前記セットに対応する前記綿密な情報を抽出するために前記ユーザを関与させることによって、またはインターフェースによってコマンドのセットを実行することによってのいずれかで生成される、請求項1に記載の方法。
前記論理的な統合が、予期される自然言語ユーザ問合せの前記セットに基づいて、前記自然言語問合せを処理するために前記複数の構成要素と前記1つまたは複数の多目的会話型エージェントとを階層的に定義することを含む、請求項9に記載のシステム(100)。
前記定義された複数の構成要素が、1つまたは複数のトレーニング・データセットに基づいて、自然言語問合せの前記処理を可能にするために1人または複数のユーザのための複数の推奨される質問を自動生成するための自動提案機構(305)をさらに備える、請求項10に記載のシステム(100)。
前記1つまたは複数のトレーニング・データセットが、問合せの意味論的に類似のセットのセットと、問合せの前記意味論的に類似のセットに対応する返答のセットとを含む、請求項11に記載のシステム(100)。
前記1つまたは複数のハードウェア・プロセッサ(104)が、1人または複数のユーザから取得された情報のセットに基づいて前記知識グラフ更新エージェント(321)を実装することによって前記1つまたは複数の知識グラフ(322)を更新するように構成され、情報の前記セットが自然言語問合せの前記処理に対応し、情報の前記セットが前記知識グラフ関与エージェント(317)を使用して取得される、請求項9に記載のシステム(100)。
情報の前記セットが、積極的ユーザ関与によって、または前記知識グラフ関与エージェント(317)による前記1つまたは複数の知識グラフ(322)に対応する情報の分析によってのいずれかで、前記1人または複数のユーザから取得される、請求項13に記載のシステム(100)。
前記1つまたは複数のハードウェア・プロセッサ(104)が、自然言語問合せの前記セットに対応する前記綿密な情報を抽出するために前記ユーザを関与させることによって、またはインターフェースによってコマンドのセットを実行することによってのいずれかで応答の前記第2のセットを生成するように構成された、請求項9に記載のシステム。
【発明を実施するための形態】
【0011】
添付の図面を参照しながら、例示的な実施形態が説明される。図では、参照番号の(1つまたは複数の)左端の桁は、参照番号が最初に現れる図を識別する。好都合な場合はいつでも、同じまたは類似の部分を指すために図面全体にわたって同じ参照番号が使用される。開示される原理の例および特徴が本明細書で説明されるが、開示される実施形態の趣旨および範囲から逸脱することなく、変更形態、適応形態、および他の実装形態が可能である。以下の詳細な説明は例示にすぎないと見なされ、真の範囲および趣旨は以下の特許請求の範囲によって示されることが意図される。
【0012】
本開示の実施形態は、本開示のいくつかの実施形態による、自然言語問合せを処理するための深層学習技法ベースの多目的会話型エージェントのためのシステムおよび方法を提供する。自然言語処理モデルは、人間言語と対話するためにコンピュータ・システムによって使用される、機械学習システム、またはそれの構成要素であり得る。たとえば、自然言語処理モデルは、問合せを入力として受信し得、問合せのテキストに関する予測を行って、問合せが何を要求しているかと、どの情報または行為が、問合せに対する関連のある応答であり得るかと、を決定するのを助け得る。自然言語処理は、それが、技術が理解し得る形式で話すことをユーザに強制するのではなく、情報についてのユーザの要求を構築するときにユーザがユーザ自身の言語を話すことを可能にするので、望まれる。
【0013】
人工知能ベースの会話型システムの大部分は、深層学習アルゴリズムを採用せず、したがって、多数の意図を処理することができない。さらに、それらのシステムのいずれも、現在、知識の引き出し(knowledge elicitation)のための知識グラフまたは積極的ユーザ関与(proactive user engagement)をサポートしていないが、我々はそれをサポートしている。また、現在のAIベースの会話型システムは、単一のデジタルペルソナ(digital persona)を介した仮想支援のために複数の異なる処理および返答エージェントをホストする能力がない。意図を識別するために、システムの大部分は、我々が意図識別のために畳み込みニューラル・ネットワーク(Convolutional Neural Networks)(CNN)、長短期記憶(LSTM)ベースのモデルを使用することによって回避してきた、ルールを使用する。エンドツーエンド・モデルが、複数の異なる領域(たとえば、組織における休暇(leave)、保険など)におけるユーザの問合せを処理し、また、必要とされる情報を引き出すためにユーザを有意味なダイアログに関与させることは、難しいことがある。所与の意図のコンテキストにおいてどの情報が引き出される必要があるかに関する明確な構成がなければ、(1人または複数の)ユーザと会話を行うことは、難しいことがある。
【0014】
したがって、並行して動作する複数の機械学習確率的構成要素間のシームレスな相互作用(interaction)と、エージェントのための継続的トレーニングおよび作業リストと、知識シンセシスのための積極的ユーザ関与と、同じデジタルペルソナの下で複数のエージェントをサポートするための高レベル意図識別とを提供し、プログラムを書くことなしにエージェントを作成する能力を提供する技術が必要である。
【0015】
次に、類似の参照符号が図全体にわたって一貫して対応する特徴を示す図面、より詳細には、
図1〜
図9を参照すると、好ましい実施形態が示されており、これらの実施形態は、以下の例示的なシステムおよび/または方法のコンテキストにおいて説明される。
【0016】
図1は、本開示の一実施形態による、自然言語問合せを処理するための深層学習技法ベースの多目的会話型エージェントのためのシステム100の例示的なブロック図を示す。一実施形態では、システム100は、1つまたは複数のプロセッサ104と、(1つまたは複数の)通信インターフェース・デバイスまたは(1つまたは複数の)入出力(I/O)インターフェース106と、1つまたは複数のプロセッサ104に動作可能に結合された1つまたは複数のデータ記憶デバイスまたはメモリ102とを含む。ハードウェア・プロセッサである1つまたは複数のプロセッサ104は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理ユニット、状態機械、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実装され得る。能力の中でも、(1つまたは複数の)プロセッサは、メモリ102に記憶されたコンピュータ可読命令をフェッチし、実行するように構成される。一実施形態では、システム100は、ラップトップ・コンピュータ、ノートブック、ハンドヘルド・デバイス、ワークステーション、メインフレーム・コンピュータ、サーバ、ネットワーク・クラウドなど、様々なコンピューティング・システムにおいて実装され得る。
【0017】
(1つまたは複数の)I/Oインターフェース・デバイス106は、様々なソフトウェアおよびハードウェア・インターフェース、たとえば、ウェブ・インターフェース、グラフィカル・ユーザ・インターフェースなどを含むことができ、ワイヤード・ネットワーク、たとえば、LAN、ケーブルなどと、WLAN、セルラー、または衛星など、ワイヤレス・ネットワークとを含む、多種多様なネットワークN/Wおよびプロトコル・タイプ内での複数の通信を可能にすることができる。一実施形態では、(1つまたは複数の)I/Oインターフェース・デバイスは、いくつかのデバイスを互いにまたは別のサーバに接続するための1つまたは複数のポートを含むことができる。
【0018】
メモリ102は、たとえば、スタティック・ランダム・アクセス・メモリ(SRAM)およびダイナミック・ランダム・アクセス・メモリ(DRAM)などの揮発性メモリ、ならびに/または、読取り専用メモリ(ROM)、消去可能プログラマブルROM、フラッシュ・メモリ、ハードディスク、光ディスク、および磁気テープなどの不揮発性メモリを含む、当技術分野で知られている任意のコンピュータ可読媒体を含み得る。
【0019】
図2A〜
図2Cは、
図1を参照しながら、本開示の一実施形態による、自然言語問合せを処理するための深層学習技法ベースの多目的会話型エージェントのための方法の例示的な流れ図を示す。一実施形態では、システム100は、1つまたは複数のハードウェア・プロセッサ104に動作可能に結合されたメモリ102の1つまたは複数のデータ記憶デバイスを備え、1つまたは複数のプロセッサ104による方法のステップの実行のための命令を記憶するように構成される。次に、
図1に示されているシステム100の構成要素、および流れ図を参照しながら、本開示の方法のステップが説明される。本開示の実施形態では、ハードウェア・プロセッサ104は、命令を構成したとき、本明細書で説明される1つまたは複数の方法論を実施する。
【0020】
本開示の一実施形態によれば、ステップ201において、1つまたは複数のハードウェア・プロセッサ104は、ダイアログ状態マネージャ(DSM)302、(DSM302の一部としての)マルチレベル意図識別構成要素303、エージェント・マネージャ304、複数の1次エージェント306、複数の補助エージェント319、および知識グラフ最適化エージェントからなる複数の構成要素を定義する。一実施形態では、複数の構成要素の中の各構成要素は、1つまたは複数の多目的会話型エージェントを備える。次に、
図3を参照しながら、定義された複数の構成要素が詳細に考慮され得る。
【0021】
本開示の一実施形態によれば、DSM302は、1つまたは複数の深層学習技法ベースのマルチレベル意図識別構成要素303からなる。複数の構成要素の中の多目的会話型エージェントのうちのいずれかが、1人または複数のユーザによって開始されたマルチターン・ダイアログ(multi-turn dialogue)に入る必要があるとき、複数の構成要素の中の構成要素の各々に対応するすべての多目的会話型エージェントは、マルチターン・ダイアログに入る必要がある多目的会話型エージェントがフローを決定するために再びDSM302に制御を解放するまで、1人または複数のユーザによって開始されたマルチターン・ダイアログを、マルチターン・ダイアログに入る必要があるその多目的会話型エージェントにフォワーディングし続けるためにDSM302と(1つまたは複数のアプリケーション・プログラミング・インターフェース(API)を介して)(図示せず)通信する。
【0022】
一実施形態では、DSM302はスタックを維持し、スタックは、複数の1次エージェント306と、複数の補助エージェント319と、知識グラフ最適化エージェントと、
図3に示されている他のエージェントとの間の相互作用を可能にする1つまたは複数のポインタからなる。例示的なシナリオでは、再び
図3を参照すると、健康保険エージェント(Health Insurance Agent)310が、ある意図のためにダイアログ・エージェント320を呼び出すかまたはそれと対話し得る。スタックは、1つまたは複数が、
図3で参照される複数のエージェントにわたって会話を行うとき、セッション状態にとどまり(persisted)得る。
【0023】
本開示の一実施形態によれば、マルチレベル意図識別構成要素303は、(後で説明される)深層学習分類器によって複数のユーザ発話(または自然言語問合せ)に基づいて適切な多目的会話型エージェントを識別する。適切な多目的会話型エージェントによって生成された(1つまたは複数の)応答が適切でないか、または、1人または複数のユーザの期待通りでない場合、マルチレベル意図識別構成要素303は、APIを介して、複数の1次エージェント306または複数の補助エージェント319、および複数の1次エージェント306または複数の補助エージェント319に対応する1つまたは複数の多目的会話型エージェントに、自然言語問合せを通信する。1つまたは複数の多目的会話型エージェントは、(1つまたは複数の)適切な応答とともに、または問合せが処理されないことがあるというステータスとともに、DSM302に制御を返す。(1つまたは複数の)応答はDSM302によって評価され、(後で説明される)問合せ−返答類似度に基づいて、1人または複数のユーザへの最良の応答が生成される。
【0024】
本開示の一実施形態によれば、定義された複数の構成要素は、1つまたは複数のトレーニング・データセットに基づいて、自然言語問合せを処理するために1人または複数のユーザのための複数の推奨される質問を自動生成するための自動提案(auto−suggestion)機構305をさらに備える。一実施形態では、(1つまたは複数の)過去の使用または問合せに基づき得る複数の推奨される質問が、1人または複数のユーザに対して自動生成され得る。複数の推奨される質問は、1つまたは複数のトレーニング・データセットに基づき得る質問の異なるカテゴリーを含み得る。
【0025】
一実施形態では、1つまたは複数の多目的会話型エージェントの各々は、1つまたは複数のトレーニング・データセットを維持し、1人または複数のユーザからの自然言語問合せが1つまたは複数のトレーニング・データセットと一致する場合、1つまたは複数の多目的会話型エージェントは、機械学習モデルを実行せず、1つまたは複数のトレーニング・データセットに基づいて(1つまたは複数の)応答を生成する。これは、受信された自然言語問合せに対応する(1つまたは複数の)正しい応答が、1つまたは複数のトレーニング・データセットを介して生成されることを保証する。例示的なシナリオでは、自動生成され得る複数の推奨される質問は、現在のエージェントの1つまたは複数のトレーニング・データセット中の(たとえば、病気休暇(sick leave)など、同じ休暇タイプに属する)1人または複数のユーザの直近の質問と類似の意図からとられた質問と、1つまたは複数のトレーニング・データセット中で利用可能であるような次の意図からの質問と、ランダムに選定されたエージェントの1つまたは複数のトレーニング・データセットからの質問とを含み得る。
【0026】
一実施形態では、エージェント・マネージャ304は、複数の1次エージェント306、複数の補助エージェント319および1つまたは複数の多目的会話型エージェントの(1つまたは複数の)トレーニングを管理するための、または、使用パターンを観測するための、たとえば、使用統計値、ユーザ・ログ、好まれなかった/好まれた問合せなどを示すためのコマンドのセット、ならびに、継続的トレーニングを提供する(以下で説明される)。コマンドのセットは、マルチレベル意図識別構成要素303の対象とならず、DSM302によって別様に扱われ得る。
【0027】
1人または複数のユーザによる自然言語問合せに対応する(1つまたは複数の)適切な応答が生成されないとき、1人または複数のユーザは、代替応答、たとえば、「x opt」コマンドを求め得、次いで、「x opt」コマンドは、分類器確率の順で(1つまたは複数の)適切な応答を返す。その後、「x intent−id 4」などのコマンドが、正しい意図をマークする。コマンドのセットに基づいて生成された(1つまたは複数の)適切な応答は、それぞれのエージェントの1つまたは複数のトレーニング・データセットに追加され、その結果、同じ問合せが後で1人または複数のユーザによって提起される場合、(1つまたは複数の)正しい応答が生成される。知識グラフ更新−自然言語(KGU−NL)エージェント316、休暇エージェント(Leave Agent)309および健康保険エージェント310などのような1つまたは複数の多目的会話型エージェントの機能、使用および実装は、例示的な実装形態とともに後で説明される。
【0028】
機械学習構成要素の性能の継続的改善には、1人または複数のユーザからフィードバックを取得することが必要であり得る。提案される開示は、これを可能にするためのフィードバック管理機構(図示せず)を可能にする。フィードバック管理機構は、1つまたは複数の多目的会話型エージェントの各々のための1つまたは複数のメンター(mentor)を備える。1人または複数のユーザが、処理された自然言語問合せに対応する(1つまたは複数の)応答を好まないとき、ワークフローが作成され得、ワークフローは、(1つまたは複数の)応答を生成した(1つまたは複数の多目的会話型エージェントの中の)多目的会話型エージェントに対応する1つまたは複数のメンターによってクリアされる。
【0029】
一実施形態では、1つまたは複数のメンターは、ワークフローをクリアする前に((1つまたは複数の)応答を生成した)多目的会話型エージェントをトレーニングするために1つまたは複数のコマンドを最初に使用する。(自然言語問合せのセットの中の)1つまたは複数の自然言語問合せが(1つまたは複数の多目的会話型エージェントの中の)間違ったエージェントに通信された場合、1つまたは複数のメンターは、DSM302に対応するメンターのセットにワークフローをフォワーディングする。
【0030】
DSM302に対応するメンターのセットの中のメンターのワークフロー中の1つまたは複数の自然言語問合せの中の放置された問合せ(un−attended query)に基づいて、適切な多目的会話型エージェントが、メンターとの(すなわち、DSM302に対応するメンターのセットの中のメンターとの)ダイアログを積極的に開始し、放置された問合せに最良のやり方で返答することに関する指導を求める。フィードバック管理機構は、すべての複数の構成要素および1つまたは複数の多目的会話型エージェントの周期トレーニングを可能にする。
【0031】
図4を参照すると、自然言語問合せを処理するための深層学習技法ベースの多目的会話型エージェントの機能的アーキテクチャが参照され得る。再び
図4を参照すると、3つのタイプの会話型カテゴリー、すなわち、a)1人または複数のユーザが会話を開始する状況の場合のユーザ主導型会話(UDC:User Driven Conversation)、b)1つまたは複数の多目的会話型エージェントの中のエージェントが会話を積極的に開始するときの、エージェント主導型会話(ADC:Agent Driven Conversation)、およびc)機械学習モデルがそれのトレーニング・データを更新するためにダイアログを開始するときの、モデル主導型会話(MDC:Model Driven Conversation)が示されていることに留意されたい。
【0032】
本開示の一実施形態によれば、ステップ202において、1つまたは複数のハードウェア・プロセッサ104は、予期される自然言語ユーザ問合せのセットに基づいて、1つまたは複数のAPIによって複数の構成要素を論理的に統合する。再び
図3および
図4を参照すると、複数の構成要素の論理的な統合が、(技術的アーキテクチャおよび機能的アーキテクチャを介して)参照され得る。予期される自然言語ユーザ問合せのセットは、単純な問合せ、たとえば、「いかがお過ごしですか」から、健康または医療関係の保険契約に関係する複雑な問合せ、および研究質問から変動する極めて複雑な問合せに及び得、それらは、知識データベースから問合せをマッピングすることによって応答を生成することを必要とし得る。さらに、(自然言語問合せの形態の)研究質問は、組織内の研究ユニットのような複数のソースから来ることがある。
【0033】
初期層は、コア構成要素からなり、コア構成要素は、DSM302、エージェント・マネージャ304および自動提案(Auto−suggest)機構305である。複数の構成要素の機能が上記で説明されたが、それは、論理的な統合の概念を理解するために以下で再び参照され得る。
【0034】
一実施形態では、自然言語問合せのセットは、最初にDSM302によって受信され、次いで(自然言語問合せのセットの中の)自然言語問合せの各々の意図に基づいて、それは、次いで、マルチレベル意図識別構成要素303によって、(後で詳細に後で説明される)処理のために1つまたは複数の多目的会話型エージェントの中の適切なエージェントにフォワーディングされる。自動提案機構305は、1人または複数のユーザが、どんな種類の自然言語問合せまたは複数の質問が提起され得るかを決定するのを支援する。エージェント・マネージャ304は、複数の1次エージェント306、複数の補助エージェント319および1つまたは複数の多目的会話型エージェントを管理するためのコマンドのセットを提供する。
【0035】
再び
図3を参照すると、次の層が、一般チャター・ボックス・エージェント(General Chatter Box Agent)307、意図−行為−ダイアログ(IAD)フレームワーク308および問合せ−更新−関与(QUE)フレームワーク314からなる複数の1次エージェント306からなることに留意されたい。一般チャター・ボックス・エージェント307は、IADフレームワーク308に対応し、一般的な発話、たとえば、「いかがお過ごしですか?」、「お仕事は何ですか?」などに返答する。IADフレームワーク308は、1人または複数のユーザからの1つまたは複数の自然言語問合せに返答するための1つまたは複数の多目的会話型エージェントからなる。例示的なシナリオを考慮し、再び
図3を参照すると、IADフレームワーク308に対応する1つまたは複数の多目的会話型エージェントは、休暇エージェント309、健康保険エージェント310、救急医療エージェント(Emergency Medical Agent)311、タイムシート・エージェント(Timesheet Agent)312および旅行エージェント(Travel Agent)313からなる。
【0036】
一実施形態では、IADフレームワーク308に対応する1つまたは複数の多目的会話型エージェントは、複数の機能を実施し得る。再び例示的なシナリオを考慮すると、健康保険エージェント310は、自然言語問合せ「私の支払う健康保険料の額はどのくらいですか(what is my health premium amount due)」に返答し得、休暇エージェント309は、自然言語問合せ「私は何日の休暇が残っていますか?(how many leaves I have pending?)」に返答し得る。同様に、タイムシート・エージェント312は、タイムシート関係の自然言語問合せに返答し得、旅行エージェント313は、旅行関係の自然言語問合せに返答し得る。救急医療エージェント311は、医療関係の緊急時に1人または複数のユーザを支援し得る。本開示の実施形態が、IADフレームワーク308を上記で説明された1つまたは複数の多目的会話型エージェントに制限しないことに留意されたい。IADフレームワーク308は、様々な種類の機能を実施するための(説明されたもの以外の)複数の異なる多目的会話型エージェントを備え得る。
【0037】
一実施形態では、QUEフレームワーク314は、研究に関する自然言語問合せに返答するように構成された知識グラフ質問返答(KGQA:Knowledge Graph Question Answering)エージェント315、知識シンセシスのために構成された知識グラフ自然言語更新(KGU−NL)エージェント316、および1人または複数のユーザからの自然言語問合せに対応するさらなる情報を取得するために1人または複数のユーザを積極的に関与させるための知識グラフ関与エージェント317からなる。知識グラフ関与エージェント317は、1人または複数のユーザまたは研究者および他の関連のある利害関係者との(1つまたは複数の)ダイアログのために1人または複数のユーザを関与させる。上述のように、(自然言語問合せの形態の)研究質問は、組織内の研究ユニットのような複数のソースから来ることがある。
【0038】
一実施形態では、再び
図3を参照すると、複数の補助エージェント319が、すべてのダイアログを管理するためのダイアログ・エージェント320、1つまたは複数の知識グラフ322を更新し、知識グラフ・データベースと通信する知識グラフ更新エージェント321からなることに留意されたい(今度は図示される)。知識グラフ・データベースは、1つまたは複数の知識グラフ322に対応するすべての関連のある情報を維持する。
【0039】
一実施形態では、1つまたは複数の外部サービス318が、1つまたは複数のAPIを介して複数の構成要素と通信し得る(1つまたは複数の)外部ソースからの、任意のデータベースまたはアーキテクチャ、あるいは任意の他のハードウェア/ソフトウェア構成要素からなり得る。したがって、複数の構成要素および1つまたは複数の多目的会話型エージェントは、論理的に統合され、予期される自然言語ユーザ問合せのセット、それらの(1つまたは複数の)使用、機能、および他の必要なパラメータに基づいて階層的に定義される。
【0040】
次に、複数の構成要素の技術的な統合が詳細に考慮され得る。クライアント・インターフェース層301は、入って来る表現状態転送(REST:Representational State Transfer)要求を受信し、要求の真正性を実施し、要求をDSM302にフォワーディングする、JAVA(登録商標)におけるフロント・コントローラ・サーブレット(front controller servlet)を使用して実装され得る。複数の構成要素は、Numpy、Scipy、Keras、Tensorflow/Theanoなど、様々な機械学習および深層学習ライブラリを使用するpythonにおいて実装されている。複数の構成要素はRESTfulサービスとして展開され、JavaScript(登録商標)オブジェクト表記法(JavaScript Object Notation)(JSON)フォーマットがメッセージ交換のために使用される。ユーザ・セッション状態は、no−sqlデータベースRedisに記憶される。システム開始型ダイアログを可能にするために、質問キューが、Redisデータベース自体中で、1人または複数のユーザの中のユーザごとに維持され、知識グラフ関与エージェント317がこれらの質問をピック・アップする。論理的な統合は、デジタルペルソナとの、1人または複数のユーザの(1つまたは複数の)相互作用の追跡を可能にし、相互作用ログを維持する。相互作用ログは、コンピューティング・システムの使用統計値を生成するために使用される。コンピューティング・システム(すなわち、提案される方法論が実装され、テストされたコンピューティング・システム)が常に起動していることを保証するために、すべての個々のrestfulサービスのために自動起動機構(auto-startup mechanism)が確立された。
【0041】
本開示の実施形態が、複数の構成要素の論理的な統合を
図3および
図4で参照されるようなもののみに制限しないことに留意されたい。本開示の実施形態は、1つまたは複数の新しい構成要素を定義すること、ならびに、自然言語問合せに基づくおよび/または予期される自然言語問合せのセットに基づく、あるいは(1つまたは複数の)任意の他の技術的/非技術的要件に基づく、1つまたは複数の新しい構成要素の論理的な統合を提供する。
【0042】
本開示の一実施形態によれば、ステップ203において、1つまたは複数のハードウェア・プロセッサ104は、論理的に統合された複数の構成要素を実装することによって、複数のソースから自然言語問合せのセットを受信する。自然言語問合せのセットは、最初に、(上記で説明された)DSM302によって受信され得、次いで、マルチレベル意図識別構成要素303は、受信された自然言語問合せのセットを処理するために1つまたは複数の多目的会話型エージェントの中の適切な多目的会話型エージェントを識別する(以下のステップ204(i)において詳細に説明される)。
【0043】
概して、自然言語問合せのセットは、通常の様式で、英語でまたは任意の他の話し言葉(spoken language)(または任意の自然言語)で表される1つまたは複数の問合せからなり得る。たとえば、「私の支払う健康保険料はどのくらいですか」または「私の休暇の残りはどのくらいですか(what is my leave balance)」。自然言語テキストの特性は、通常、他の単語、あるいはテキストの他の部分(先行詞)において現れるかまたはそれらによって暗示される概念を指す単語(参照)の使用である。自然言語問合せのセットは、処理のための複数のソースから、たとえば、1人または複数のユーザから受信され得る。さらに、現代のコンピューティング・システムおよびプロセッサを使用すると、様々なソースからの情報が、ほとんど瞬時に取得され得、さらなる処理のために自然言語での問合せとして提起され得る。
【0044】
本開示の一実施形態によれば、ステップ204(i)において、1つまたは複数のハードウェア・プロセッサ104は、受信された自然言語問合せのセットに基づいて、DSM302を使用することによって1つまたは複数の多目的会話型エージェントの中の少なくとも1つの多目的会話型エージェントを識別し、識別された多目的会話型エージェントはIADフレームワーク308またはQUEフレームワーク314のうちのいずれかに対応する。ステップ204(ii)において、1つまたは複数のハードウェア・プロセッサ104は、1つまたは複数の深層学習技法を使用することによって、分類されていない自然言語問合せのセットの中のユーザ問合せに対してあり得るユーザ意図を予測する。自然言語問合せに返答するために対話型ボイス応答を使用する旧来のシステムおよび方法と比較して、提案される開示は、多目的会話型エージェントを識別するための高レベル意図識別技法を提供する。ステップ204(i)および(ii)は、以下で説明される意図識別技法を介して、並行して詳細に説明され得る。
【0045】
意図識別:
一実施形態では、IADフレームワーク308は、あり得るユーザ意図を予測するための2つのタイプのモデル、シンプル意図モデル(Simple Intent Model)およびアドバンス意図モデル(Advance Intent Model)を可能にする。モデルは、1つまたは複数のトレーニング・データセットを入力としてとる。1つまたは複数のトレーニング・データセットは、問合せの意味論的に類似のセットのセットと、問合せの意味論的に類似のセットに対応する返答のセットとを含む。一実施形態では、モデルは、意
図ID s
iのセットである、D={s
1,s
2......s
i}として表現されるトレーニング・データをとる。上述のように、各意
図ID s
iは、
【数1】
として表現される意味論的に類似の問合せのセットと、
【数2】
として表現される返答の対応するセットとを含み、すなわち、s
i=(X
i,Y
i)である。モデルの目標は、意
図IDF、すなわち、ユーザ問合せxごとのs
iを識別することである。例示的な一実装形態では、以下の表1を参照すると、1つまたは複数のトレーニング・データセットの一例が参照され得る。
【0046】
シンプル意図モデル:
データの量が限られており、データが低い意
図ID間類似度(inter−intent ID similarity)を有するとき、すなわち、任意の2つの異なる意
図IDに属する(自然言語問合せのセットの中の)1つまたは複数の自然言語問合せ間のテキスト類似度が低いとき、シンプル意図モデルが実装される。一実施形態では、量は、意
図IDの数と意
図IDにおける問合せの数とを指す。テキスト類似度に基づくモデル、すなわち、シンプル意図モデルは、そのような状況下で好適である。問合せのペアの間の1つまたは複数の類似度を見つけるためにシーケンサーマッチャー(Sequencer Matcher)技法が実装され得、これは、以下の式に示されているように各問合せを文字のシーケンスと見なす。シーケンサーマッチャー技法は、シンプル意図モデルを実装しながらスペル・ミスに対するロバストネスを可能にする。
【0047】
一実施形態では、ユーザ問合せxに返答するために、ユーザ問合せxとDに存在するあらゆる問合せとの間の類似度が計算され得、最も類似する問合せをもつ意
図IDが、
【数3】
として識別され、ここで、
【数4】
上式で、Mは一致の数であり、Tは、xおよび
【数5】
における総文字数である。意図s
iが識別されると、応答Y
iの対応するセットからのランダム応答が生成され得る。
表1
【表1】
【0048】
例示的な一実装形態では、ユーザ問合せが「事前に病気休暇を申請してもよいですか?」であり、問合せの意味論的に類似のセットが「事前に病気休暇を申請することは可能ですか?」または「明日医師の予約があるので、事前に病気休暇を申請してもよいですか?」を含むと仮定する。シンプル意図モデルを実装することによる、あり得るユーザ意図は、「病気休暇」または「(1日または複数の)休日」として予測され得、問合せの意味論的に類似のセットに対応する返答のセットは、「事前病気休暇を申請してください」または「医師の予約の場合、(1日または複数の)病気休暇を申請してください」として生成され得る。
【0049】
アドバンス意図モデル
提案される開示は、意図の数が高く、2つの異なるIDの1つまたは複数の自然言語問合せ、たとえば、「次の金曜日と月曜日に休暇をとった場合、週末もカウントされますか?」間で多くの単語が共通であると決定すると、高レベル意図識別技法を提供する。
【0050】
アドバンス意図モデルは、リカレント・ニューラル・ネットワークの変形態である双方向長短期記憶(BiLSTM)に基づく。一実施形態では、あらゆる意
図ID s
iは、マルチクラス分類問題におけるクラスであると仮定され、すなわち、
s=argmaxP(s
i|x)
s
i∈D
【0051】
本開示の一実施形態によれば、あらゆる自然言語問合せは、最初に、単語埋込みのシーケンスとして表現され得る。単語埋込みのシーケンスは、(1つまたは複数の)アルゴリズムによる処理を可能にするためにテキスト中のあらゆる単語をベクトルとして表現するword2vec技法を使用して取得され得る。次いで、単語ベクトルのシーケンスが、単語埋込み(word embedding)のシーケンスとして表現される自然言語問合せの表現を取得するためにBiLSTMの層に供給され得る。
【0052】
あらゆるステップ(すなわち、ユーザ発話に対応する単語)において、単語埋込みが長短期記憶(LSTM)に入力として供給され得る。双方向アーキテクチャにより、シーケンスは順方向および逆方向順序で入力として与えられ、これは、あらゆる単語において両方の方向からのコンテキスト保持を生じる。その結果、BiLSTMの層からT個の隠れ状態(hidden states)が取得され得、隠れ状態は、さらに、最大プール層に入力として供給され、最大プール層は隠れ状態にわたる監視層(supervisory layer)として働く。
【0053】
最大プール層は、あらゆる次元において隠れ状態から意味論的に有意な特徴を抽出する。最大プール層の出力が、センテンス埋込み(sentence embedding)として保持される。最終的に、センテンス埋込みは、対応する意
図IDを取得するためにソフトマックス(softmax)分類器を使用して分類され得る。例示的な一実装形態では、
図5を参照すると、BiLSTM、最大プール、および平方根カルバック・ライブラー・ダイバージェンス(SQRD−LKD)に基づく深層学習アーキテクチャが参照され得る。とはいえ、アドバンス意図モデルは、限られた領域の問合せについて、すなわち、問合せがデータに関してトレーニングされたそのデータのみについて、意図を決定することができる。ただし、アドバンス意図モデルは、他の領域の問合せ、すなわち、トレーニングされていない問合せをもサポートし得る。
【0054】
ステップ204(i)の例示的な一実装形態では、1人または複数のユーザからの自然言語問合せのセットの中の1つまたは複数の自然言語問合せが、「次の金曜日と月曜日に休暇をとった場合、週末もカウントされますか?」および「その間に病気休暇をとった場合、無給休暇日がカウントされますか?」を含むと仮定する。高レベル意図識別技法を実装することによって、多目的会話型エージェントは休暇エージェント309として識別され得、休暇エージェント309はIADフレームワーク308に対応する。
【0055】
同様に、1つまたは複数の自然言語問合せが、「クラウド・ロボティクスの深層学習論文を見せてください」を含むと仮定する。高レベル意図識別技法を実装することによって、多目的会話型エージェントはKGQAエージェント315として識別され得、KGQAエージェント315はQUEフレームワーク314に対応する。
【0056】
ステップ204(ii)の例示的な一実装形態では、1人または複数のユーザからの自然言語問合せのセットの中の1つまたは複数の自然言語問合せが、「私の年間の健康保険料はどのくらいですか?」を含むと仮定する。アドバンス意図モデルを実装することによって、予測され得る、あり得るユーザ意図は、意味論的に類似の質問、たとえば、「私の健康保険料の額はどのくらいですか」および「私の保険料はどのくらいですか」のカテゴリーを含む。
【0057】
本開示の一実施形態によれば、ステップ205において、1つまたは複数のハードウェア・プロセッサ104は、予測されたあり得るユーザ意図と識別された多目的会話型エージェントとに基づいて、ステップ205(i)または205(ii)のうちのいずれか1つを実施する。
【0058】
一実施形態では、1つまたは複数の自然言語問合せ「次の金曜日と月曜日に休暇をとった場合、週末もカウントされますか?」について、予測されたあり得るユーザ意図が、意味論的に類似の質問、たとえば、「金曜日と月曜日に休暇をとった場合には週末もカウントされますか」および「金曜日と月曜日に休暇をとることを計画した場合、週末も含まれますか?」のカテゴリーからなると仮定する。多目的会話型エージェントは休暇エージェント309として識別され、休暇エージェント309はIADフレームワーク308に対応する。1つまたは複数のハードウェア・プロセッサ104は、識別された多目的会話型エージェントがIADフレームワーク308に対応していると決定すると、応答の複数のあらかじめ定義されたセットの中の応答の1つまたは複数のあらかじめ定義されたセットを選択すること、または、綿密な情報を抽出するためにユーザを関与させること、または、綿密な情報を1つまたは複数の外部サービス318に通信するために外部APIを呼び出すことのいずれかを行い得、応答のあらかじめ定義されたセットと綿密な情報とは自然言語問合せのセットに対応する。
【0059】
一実施形態では、1つまたは複数の自然言語問合せが「事前に病気休暇を申請してもよいですか」を含むと仮定すると、1つまたは複数のハードウェア・プロセッサ104が、「はい」および/または「病気休暇は事前に申請することができます」として応答のあらかじめ定義されたセットを選択し得る。しかしながら、1人または複数のユーザが、さらに、問合せ「次の金曜日と月曜日に休暇をとった場合、週末もカウントされますか?」を尋ねた場合、および上記で説明された意図識別モデルのうちのいずれかによる予測されたあり得るユーザ意図に基づいて、さらなる問合せは、「金曜日と月曜日に休暇をとった場合には週末もカウントされますか」および「金曜日と月曜日に休暇をとることを計画した場合、週末も含まれますか?」として識別される。そのような状況は、さらなる綿密な情報を必要とし得る。
【0060】
一実施形態では、適切な応答を選択するために意図が追加情報を必要とするとき、ダイアログ開始が必要とされ得る。1つまたは複数の自然言語問合せが「2日間の臨時休暇(Casual leave)」を含むと仮定する。そのようなシナリオでは、休暇タイプ、休暇開始日および休暇終了日が必要とされ得る。しかしながら、1人または複数のユーザは、さらに、上記のコンテキストとは異なる1つまたは複数の自然言語問合せに関係する(1つまたは複数の)質問をし得る。そのようなシナリオでは、1つまたは複数のハードウェア・プロセッサ104は、DSM302に制御をフォワーディングし、DSM302は、(1つまたは複数の多目的会話型エージェントの中の)適切なエージェントに1つまたは複数の自然言語問合せをフォワーディングし、1人または複数のユーザにダイアログまたは会話を続けさせることを決定する。
【0061】
図6を参照すると、有限状態オートメーション(FSA)があり得る。ダイアログの現在の状態に応じて、1人または複数のユーザは、1つまたは複数の多目的会話型エージェントのうちのいずれかによって(1つまたは複数の)応答を生成することを可能にするために、すべての関連のある情報が取得されるまで、さらなる情報を尋ねられ得る。1つまたは複数の外部サービス318から1つまたは複数の自然言語問合せに対する応答するために情報を取得する必要がある場合、1つまたは複数の外部サービス318に綿密な情報を通信するために外部APIが呼び出され得る。
【0062】
図7を参照すると、提案される開示が、IADフレームワーク308において必要とされるダイアログのためのFSAを指定するためにスプレッドシート・フォーマットでセルフサービス・コンソール・ポータルを提供することに留意されたい。「条件(Condition)」列(図示せず)において、FSAの状態のための適格条件(qualifying condition)が指定され得る。同様に、「次の応答」(図示せず)において、1人または複数のユーザに尋ねられるべき次の質問が指定され得る。同様に、「抽出器列(Extractors Column)」では、適切な情報抽出器API、すなわち、IE−APIが指定され得る。IE−APIは、「私は臨時休暇を申請することを希望します」からの休暇タイプ=「臨時休暇」など、1人または複数のユーザから取得された応答から適切な情報を抽出するために使用される。一実施形態では、すべてのIE−APIは2つの追加のタイプの情報「ヘルプ」および「新しい問合せ」を抽出することを可能にする。IADフレームワーク308は、(エンティティ名の指定されたリストに基づいて)日付抽出器、数抽出器、パターン抽出器など、情報抽出器のライブラリを提供する。上記のものが十分でない場合、他の要件のためにカスタム抽出器(Custom extractors)も書かれ得る。
【0063】
本開示の一実施形態によれば、1つまたは複数の自然言語問合せが、「クラウド・ロボティクス(cloud robotics)の深層学習論文を見せてください」、「何人の人がディープ・ゲノミクス(Deep Genomics)の会社Xで働いていますか」、および「我々の論文がKDDに受け入れられました」を含む場合。予測されたあり得るユーザ意図は、以下のようである:「クラウド・ロボティクスの深層学習論文を見せてください」は、疑似事実の質問(factoid question)に対応し、「何人の人がディープ・ゲノミクスの会社Xで働いていますか」は、集約質問(aggregate question)に対応し、「我々の論文がKDDに受け入れられました」は、1つまたは複数の知識グラフ322を更新することに対応する。さらに、識別された多目的会話型エージェントはQUEフレームワーク314に対応し、1つまたは複数のハードウェア・プロセッサ104は、リカレント・ニューラル・ネットワーク技法を実装することによって会話の1つまたは複数のカテゴリーを識別するために問合せを分類する。上記で説明されたように、自然言語問合せのセットは、DSM302のマルチレベル意図識別構成要素303を介してQUEフレームワーク314に達する。
【0064】
QUEフレームワーク314は、(1つまたは複数の)発話に基づいて、すなわち、それが、1つまたは複数の知識グラフ322を更新するためのユーザ主導型会話(UDC)であるのか、それが集約質問、たとえば、「何人の人がディープ・ゲノミクスの会社Xで働いていますか」であるのか、あるいは、それが、1つまたは複数の知識グラフ322からの疑似事実の取出し要求または疑似事実の質問、たとえば、「組織Xの研究には、高度センサー・データ分析の再利用可能なアセットがありますか」または「クラウド・ロボティクスの深層学習論文を見せてください」であるかどうかに基づいて、問合せを分類する。一実施形態では、分類は、問合せ−更新−関与(QUE)意図識別器801を実装することによって、上記で説明されたBiLSTM分類を実装することによって実施され得る。
図8を参照すると、QUE意図識別器801のアーキテクチャが参照され得る。
【0065】
上記で説明されたように、1つまたは複数のハードウェア・プロセッサ104は、識別された多目的会話型エージェントがQUEフレームワーク314に対応していると決定すると、リカレント・ニューラル・ネットワーク技法を実装することによって会話の1つまたは複数のカテゴリーを識別するために問合せを分類する。分類された問合せに基づいて、1つまたは複数のハードウェア・プロセッサ104は、ステップ205(iii)(a)または205(iii)(b)のうちのいずれかを実施する。次に、これが詳細に考慮され得る。
【0066】
分類された問合せに基づいて、1つまたは複数のハードウェア・プロセッサ104は、1つまたは複数の知識グラフ322に問い合わせて、自然言語問合せのセットに対応する応答の第1のセットを生成する。応答の第1のセットを生成するステップは、転置インデックス・ベースの探索技法によって、1つまたは複数の知識グラフ322に対応する1つまたは複数のエンティティを自然言語問合せの分類されたセットに対応する1つまたは複数のフレーズとマッピングすることと、マッピングに基づいて、応答の第1のセットを生成するために1つまたは複数の知識グラフ322をトラバースすることとを含む。次に、問い合わせることと、応答の第1のセットの生成とのプロセスが詳細に説明され得る。
【0067】
一実施形態では、疑似事実の質問に返答するために、1つまたは複数のハードウェア・プロセッサ104は、最初に、KGQAエージェント315を実装することによって、1つまたは複数の知識グラフ322に対応する1つまたは複数のエンティティ(たとえば、自然言語問合せ「クラウド・ロボティクスの深層学習論文を見せてください」におけるクラウド・ロボティクス)を、自然言語問合せの分類されたセットに対応する1つまたは複数のフレーズとマッピングする。例示的なシナリオを考慮すると、自然言語問合せ「クラウド・ロボティクスの深層学習論文を見せてください」および「何人の人がディープ・ゲノミクスの会社Xで働いていますか」の分類されたセットに対応する1つまたは複数のフレーズは、それぞれ、「クラウド・ロボティクス」および「ディープ・ゲノミクス」であり得る。これは、転置インデックス・ベースの探索技法を実装することによって実施される。
【0068】
転置インデックス・ベースの探索技法を使用することによって、1つまたは複数の知識グラフ322に対応する1つまたは複数のノードが識別され、1つまたは複数の知識グラフ322のトラバーサルの開始点になる。次いで、KGQAエージェント315は、分類された自然言語問合せに対応するターゲット・エンティティ・タイプが何であるかを決定するために、深層学習ベースの分類モデルを実行し得る。例示的なシナリオを考慮すると、分類された自然言語問合せ「組織Xの研究には、高度センサー・データ分析の再利用可能なアセットがありますか」および「クラウド・ロボティクスの深層学習論文を見せてください」について、ターゲット・エンティティ・タイプは、それぞれ、「再利用可能なアセット」および「研究出版物」として決定され得る。これは、知識グラフ・データベース中の(1つまたは複数の)スキーマにおけるターゲット・エンティティ・タイプの数に対応する数のクラスにあらゆる問合せを分類するように深層学習ベースの分類モデルをトレーニングすることによって、実施される。例示的な一実装形態では、
図9を参照すると、「データ分析グループ(Data Analytics Group)」、「ソーシャル・ワークプレイス(Social Workplace)」および「ディープNLP」などのようなサンプル・データを含み、(
図3で参照される)技術的アーキテクチャと統合された1つまたは複数の知識グラフ322が参照され得る。
【0069】
本開示の一実施形態によれば、1人または複数のユーザが、1つまたは複数の知識グラフ322から取り出される必要がある疑似事実の質問の種類について述べない場合(たとえば、「エネルギー管理の領域において我々が何を行っているか?」)。そのような場合、ターゲット・エンティティ・タイプ分類器において「ターゲットなし」と称されるもう1つのクラスが追加され得る。次いで、そのターゲット・エンティティ・タイプは、知識グラフ・トラバーサル(traversal)の終了点になる。1つまたは複数の知識グラフ322中に開始ノードとターゲット・エンティティ・タイプのノードとの間の複数の異なる経路がある場合、正しい経路は、別の深層学習ベースの分類モデルを使用して識別され得、1つまたは複数の知識グラフ322中に存在しなければならない少なくとも1つの関係タイプが分類される(提案される開示を介して説明されない)。経路が識別されると、対応する返答は、経路をトラバースすることによって取り出され得る。
【0070】
本開示の一実施形態によれば、集約質問の場合、疑似事実の質問の場合に使用されるのと同じ技法が実装され得るが、疑似事実の最終リストを表示する代わりに、疑似事実は、表示の前に集約され得る。一実施形態では、(1つまたは複数の)スキーマについてメタスキーマが作成され得、メタスキーマは、2つのタイプのエンティティ、すなわち、有形エンティティ(たとえば、研究論文、研究者、再利用可能なアセット、研究プロジェクトなど)および無形エンティティ(たとえば、技術キーワード、ビジネス・キーワードなど)からなり得る。一実施形態では、ターゲットが与えられないとき、KGQAエージェント315が、自然言語問合せにおいて与えられた開始ノードに関係するすべての有形エンティティ・タイプのカウントを返し得る。
【0071】
ステップ205(iii)(a)の例示的な一実装形態では、応答の第1のセットは、「エネルギー管理に関するn
1人の研究者、n
1個の再利用可能なアセット、n
3個の出版物、n
4個の研究プロジェクトがあります」として生成され得る。
【0072】
本開示の一実施形態によれば、ステップ205(iii)(b)において、識別された多目的会話型エージェントがQUEフレームワーク314に対応していると決定すると、1つまたは複数のハードウェア・プロセッサ104は、分類された問合せに基づいて、自然言語問合せのセットに対応する応答の第2のセットを生成するためにKGU−NLエージェント316を実装することによって、1つまたは複数の知識グラフ322を更新する。1つまたは複数の知識グラフ322は、知識グラフ関与エージェント317によって1人または複数のユーザから取得された情報のセットに基づいて、知識グラフ更新エージェント321によって更新され、情報のセットは、自然言語問合せの処理に対応する。さらに、情報のセットは、積極的ユーザ関与によって、または知識グラフ関与エージェント317による1つまたは複数の知識グラフ322に対応する情報の分析によってのいずれかで、1人または複数のユーザから取得される。
【0073】
一実施形態では、1つまたは複数の知識グラフ322を更新するために、複数の補助エージェント319が1つまたは複数のAPIを公開する(expose)。KGU−NLエージェント316は、(上記で説明されたように)IADフレームワーク308を介して複数の補助ボット(Auxiliary bots)と対話する。QUE意図識別器801は、(1つまたは複数の)ユーザ発話(たとえば、「我々の論文がKDDに受け入れられました」)をKGU−NLエージェント316に通信する。(1つまたは複数の)ユーザ発話を受信すると、KGU−NLエージェント316は、より多くの情報、たとえば「論文のタイトルは何ですか」および「どのプロジェクトにおいてこの論文を書いたのですか」を取得するために、1人または複数のユーザとのダイアログを開始する。したがって、自然言語問合せのセットに対応する綿密な情報は、KGU−NLエージェント316によって抽出され得る。
【0074】
一実施形態では、コマンド・ベースのインターフェース知識グラフ更新−コマンドが、コマンドのセット、たとえば、「x pik KNADIA」を実行し、次いで、それにより、KNADIAに関連するリテラルのリスト(再利用可能なアセット)を表示する。同様に、1人または複数のユーザは、コマンドのセット、たとえば、「会話型エージェントを構築するためのx mod 3プラットフォーム」を実行して、1つまたは複数の知識グラフ322を更新し得る。
【0075】
ステップ205(iii)(b)の例示的な一実装形態では、応答の第2のセットは、「ロボティクス応用で更新されたプロジェクトXYZにおいて発表された研究論文X」として生成され得る。
【0076】
本開示の一実施形態によれば、提案される開示の技術的利点のうちのいくつかが詳細に考慮され得る。自然言語問合せに返答するために対話型ボイス応答を使用する旧来のシステムおよび方法と比較して、提案される開示は、(上記で説明された)多目的会話型エージェントを識別するための高レベル意図識別技法を提供する。さらに、提案される開示は、知識グラフ関与エージェント317を使用することによって1つまたは複数の知識グラフ322中の情報/データのセットの整合性、精度および真正性を維持することを提供する。1つまたは複数の知識グラフ322を更新すると、1つまたは複数の知識グラフ322にロードされたデータは、不整合があり得るか、または、何らかの関連のある情報が消失していることがあり、たとえば、論文に関する情報が、組織におけるプロジェクトへの好適な関連付けなしに利用可能であり得る。提案される開示は、スキーマに対して1つまたは複数の知識グラフ322中の消失した情報のリストを取得することを可能にする。
【0077】
一実施形態では、消失した情報のリストに基づいて、1つまたは複数のハードウェア・プロセッサ104は、エンティティおよび対応する消失したプロパティに従って、テンプレートのセットから自然言語での1つまたは複数の質問を生成する。さらに、1つまたは複数の知識グラフ322中の情報/データは、真正である必要があり、許可されたユーザのみによって更新されなければならない。たとえば、プロジェクトに関する質問は、プロジェクト・リードのみによって返答されなければならない。ターゲット・エンティティ、すなわち、ターゲット・ユーザ名は、ターゲット・ユーザが1つまたは複数の知識グラフ322中で消失している場合、または、プロジェクト・リードがいない場合、決定されることが困難であり得る。そのような場合、(1人または複数の)何らかの他の許可されたユーザがその質問に返答しなければならない。提案される開示は、1つまたは複数の知識グラフ322の(1つまたは複数の)スキーマにおけるあらゆるエンティティおよびプロパティの注釈(annotation)を可能にする。
【0078】
一実施形態では、質問およびそれらに返答すべき(1人または複数の)ターゲット・ユーザのリストを取得すると、知識グラフ関与エージェント317は、1人または複数のユーザを関与させ、会話中の適切な時間において(1つまたは複数の)質問をする。たとえば、1人または複数のユーザは、「私は、KDDでのあなたの最近の論文を知っています。どのプロジェクトのためにこの作業が行われたのですか」と尋ねられ得る。したがって、その会話は、1人または複数のユーザが(1つまたは複数の)質問をいつでも無視し、別の質問、たとえば、「組織Xでは誰か深層学習に取り組んでいますか?」を尋ね得るので、リアルタイムの会話である。1人または複数のユーザによって尋ねられた質問が、最初に返答される。提案される開示は、情報が1つまたは複数の知識グラフ322中で利用可能でない場合、word2vec技法を使用することによって、誰が自然言語問合せのセットに返答し得るかについて推測することをも可能にする。推測が行われると、1つまたは複数の知識グラフ322が更新され得、更新に基づく1つまたは複数の知識グラフ322からの(1つまたは複数の)好適な返答が、1人または複数のユーザに通信され得る。したがって、知識シンセシスが達成される。
【0079】
提案される方法論は、マルチテナント・アーキテクチャ(multi-tenant architecture)を提供し、すなわち、(
図3で提供される)アーキテクチャの同じインスタンスが、テナントと呼ばれる、並列の複数の異なるデジタルペルソナのために使用され得る。さらに、すべての多目的会話型エージェントは、自然言語問合せを受信するとテナントidを検証し、次いで、適切な機械学習/深層学習モデルをアップロードして、自然言語問合せを処理する。また、メモリ・キャッシュがラウンド・ロビン様式でクリアされ、それにより、効率のためにk個の最も最近使用されたモデルを保持し得る。提案される開示は、1つまたは複数のトレーニング・データセットに基づいて新しい多目的会話型エージェントを作成することをも可能にする。
【0080】
一実施形態では、メモリ102は、自然言語問合せを処理するための深層学習技法ベースの多目的会話型エージェントに関連する任意のデータを記憶するように構成され得る。一実施形態では、定義され、論理的に統合された複数の構成要素に関係する情報、受信された自然言語問合せのセット、識別された多目的会話型エージェント、予測されたあり得るユーザ意図、問合せの分類、ならびに、生成された応答の第1のセットおよび生成された応答の第2のセットなどが、メモリ102に記憶される。さらに、自然言語問合せを処理するための深層学習技法ベースの多目的会話型エージェントに関係するすべての情報(入力、出力など)も、参照の目的で、履歴データとして、データベースに記憶され得る。
【0081】
本明細書は、当業者が実施形態を製作および使用することを可能にするために、本明細書の主題について説明する。主題の実施形態の範囲は、特許請求の範囲によって定義され、当業者が思い付く他の変更形態を含み得る。そのような他の変更形態は、それらが特許請求の範囲の文字通りの文言と異ならない類似の要素を有する場合、または、それらが特許請求の範囲の文字通りの文言とのわずかな差をもつ等価要素を含む場合、特許請求の範囲内に入ることが意図される。
【0082】
保護の範囲は、そのようなプログラムに、および追加として、その中にメッセージを有するコンピュータ可読手段に拡張されることを理解されたい。そのようなコンピュータ可読記憶手段は、プログラムがサーバまたはモバイル・デバイスあるいは任意の好適なプログラマブル・デバイス上で動作するとき、方法の1つまたは複数のステップの実装のためのプログラムコード手段を含んでいる。ハードウェア・デバイスは、たとえば、サーバまたはパーソナル・コンピュータなど、あるいはそれらの任意の組合せのような任意の種類のコンピュータを含む、プログラムされ得る任意の種類のデバイスであり得る。デバイスは、たとえば、たとえば特定用途向け集積回路(ASIC)、フィールドプログラマブル・ゲート・アレイ(FPGA)のようなハードウェア手段、あるいは、ハードウェア手段とソフトウェア手段の組合せ、たとえばASICおよびFPGA、またはソフトウェア・モジュールがその中にある少なくとも1つのマイクロプロセッサおよび少なくとも1つのメモリであり得る、手段をも含み得る。したがって、手段は、ハードウェア手段とソフトウェア手段の両方を含むことができる。本明細書で説明された方法実施形態は、ハードウェアおよびソフトウェアで実装され得る。デバイスはソフトウェア手段をも含み得る。代替的に、実施形態は、たとえば複数のCPUを使用して、異なるハードウェア・デバイス上で実装され得る。
【0083】
本明細書の実施形態は、ハードウェア要素とソフトウェア要素とを含み得る。ソフトウェアで実装される実施形態は、限定はしないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。本明細書で説明された様々なモジュールによって実施される機能は、他のモジュールまたは他のモジュールの組合せにおいて実装され得る。この説明では、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによる使用のための、あるいはそれらに関するプログラムを含むか、記憶するか、通信するか、伝搬するか、トランスポートすることができる任意の装置であり得る。
【0084】
示されたステップは図示の例示的な実施形態について説明するために提示され、進行中の技術発展が、特定の機能が実施される様式を変更することが予期されるべきである。これらの例は、限定ではなく例示の目的で本明細書で提示される。さらに、機能的ビルディング・ブロックの境界は、説明の便宜のために、任意に、本明細書で定義された。指定された機能およびその関係が適宜に実施される限り、代替境界が定義され得る。(本明細書で説明されたものの等価物、拡張、変形、逸脱などを含む)代替は、本明細書に含まれている教示に基づいて当業者に明らかになろう。そのような代替は、開示された実施形態の範囲および趣旨内に入る。また、「備える、含む(comprising)」、「有する(having)」、「含んでいる(containing)」、および「含む(including)」という単語、ならびに他の類似の形式は、意味において等価であり、これらの単語のいずれか1つの後にくる1つまたは複数の項目が、そのような1つまたは複数の項目の網羅的なリスティングであるように意図されていないか、または、1つまたは複数のリストされた項目のみに限定されるように意図されていないという点で、オープンエンドであることが意図される。本明細書でおよび添付の特許請求の範囲において使用される単数形「a」、「an」、および「the」が、文脈が別段に明確に規定するのでなければ、複数形の言及を含むことにも留意されたい。
【0085】
さらに、1つまたは複数のコンピュータ可読記憶媒体が、本開示に従う実施形態を実装する際に利用され得る。コンピュータ可読記憶媒体は、プロセッサによって可読な情報またはデータが記憶され得る任意のタイプの物理的メモリを指す。したがって、コンピュータ可読記憶媒体は、(1つまたは複数の)プロセッサに本明細書で説明された実施形態に従うステップまたは段階を実施させるための命令を含む、1つまたは複数のプロセッサが実行するための命令を記憶し得る。「コンピュータ可読媒体」という用語は、有形の品物を含み、搬送波および過渡信号を除外し、すなわち、非一時的であることを理解されよう。例は、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハード・ドライブ、CD ROM、DVD、フラッシュ・ドライブ、ディスク、および任意の他の知られている物理的記憶媒体を含む。
【0086】
本開示および例は例示にすぎないと見なされ、開示された実施形態の真の範囲および趣旨は以下の特許請求の範囲によって示されることが意図される。