(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-08
(45)【発行日】2023-09-19
(54)【発明の名称】自然言語理解(NLU)フレームワークを使用して意味探索を実行するシステムおよび方法
(51)【国際特許分類】
G06F 16/90 20190101AFI20230911BHJP
G06F 40/205 20200101ALI20230911BHJP
【FI】
G06F16/90 100
G06F40/205
(21)【出願番号】P 2021577214
(86)(22)【出願日】2020-07-02
(86)【国際出願番号】 US2020040728
(87)【国際公開番号】W WO2021003408
(87)【国際公開日】2021-01-07
【審査請求日】2022-02-18
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-01-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518249328
【氏名又は名称】サービスナウ, インコーポレイテッド
【氏名又は名称原語表記】ServiceNow, Inc.
(74)【代理人】
【識別番号】100121083
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】サプガイ エドウィン
(72)【発明者】
【氏名】マダマラ アニル クマール
(72)【発明者】
【氏名】トゥルカン オマー アニル
(72)【発明者】
【氏名】ナボカ マキシム
【審査官】早川 学
(56)【参考文献】
【文献】特開平06-282295(JP,A)
【文献】特開平09-231221(JP,A)
【文献】特開平04-077955(JP,A)
【文献】米国特許出願公開第2014/0358890(US,A1)
【文献】特開2018-197924(JP,A)
【文献】日笠亘ほか,入力質問と知識表現の柔軟なマッチングによる対話的ヘルプシステムの構築,情報処理学会研究報告,社団法人情報処理学会,1999年11月26日,Vol.99,No.95,pp.101-108
【文献】Kai CHEN et al.,"Computational representation and annotation system for Cognitive Construction Grammar”,2016 International Conference on Machine Learning and Cybernetics (ICMLC) [online],IEEE,2016年07月10日,pp.123-128,[検索日:2023.03.09], DOI: 10.1109/ICMLC.2016.7860888
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
エージェント自動化システムであって、
自然言語理解(NLU)フレームワークおよび探索空間を記憶する
メモリであって、前記NLUフレームワークが意味抽出サブシステムおよび意味探索サブシステムを含み、前記探索空間がサンプル意味表現を含む、メモリと、
前記NLUフレームワークの命令を実行するように構成されたプロセッサと
、
を含み、
前記命令が、前記エージェント自動化システムに、
前記意味抽出サブシステムを介して、ユーザ発話から発話意味モデルを生成するステップであ
って、前記発話意味モデルが探索鍵意味表現セットを含む
、ステップと、
前記発話意味モデルの前記探索鍵意味表現セットと前記探索空間の前記サンプル意味表現とを比較し、競合
合致意味表現セットを選択するように、前記意味探索サブシステムを介して、
動的ビーム幅の認知
構文文法(CCG)形式ベースの探索を実行するステップと、
前記競合
合致意味表現セットと前記探索空間のサンプル意味表現とを比較し、最終
合致意味表現セットを選択するように、前記意味探索サブシステムを介して、
動的ビーム幅のアーティファクト内探索を実行するステップと、
前記意味探索サブシステムを介して、前記最終
合致意味表現セットから前記ユーザ発話の意図、実体、またはこれらの組合せを抽出するステップと
、
を含む
動作を実行させる、システム。
【請求項2】
前記NLUフレームワークの前記意味抽出サブシステムが、語彙サブシステムおよび構造サブシステムを含み、前記構造サブシステムが、品詞(POS)構成要素、補正構成要素、変動性フィルタ構成要素、パーサ構成要素、ならびに最終スコアリングおよびフィルタリング構成要素を含む、請求項1に記載のシステム。
【請求項3】
前記発話意味モデルを生成するために、前記プロセッサが、前記NLUフレームワークの前記命令を実行するように構成され、
前記命令が、前記エージェント自動化システムに、
語彙注入を実行して、前記ユーザ発話に基づいて発話セットを生成するために、前記語彙サブシステムを使用するステップであ
って、前記発話セットが、異なる用語、異なる術語、またはこれらの組合せを有する前記ユーザ発話および前記ユーザ発話の1つまたは複数の再表現を含む
、ステップと、
前記発話セットの品詞(POS)タギングを実行して、前記発話セットから潜在的POSタギングセットを生成するために、前記POS構成要素を使用するステップと、
前記潜在的POSタギングセット内の他のPOSタギングに実質的に類似している1つまたは複数のPOSタギングを前記潜在的POSタギングセットから除去するために、前記変動性フィルタ構成要素を使用するステップと、
前記潜在的POSタギングセットから潜在的意味表現セットを生成するために、前記パーサ構成要素を使用するステップと、
前記潜在的意味表現セット内の各潜在的意味表現に対してそれぞれの最終スコアを計算し、それぞれの最終スコアに基づいて、前記潜在的意味表現セットから前記発話意味モデルの前記探索鍵意味表現セットとして潜在的意味表現を選択するために、前記最終スコアリングおよびフィルタリング構成要素を使用するステップと
、
を含む
動作を実行させる、請求項2に記載のシステム。
【請求項4】
前記プロセッサが、前記NLUフレームワークの前記命令を実行するように構成され、前記命令が、前記エージェント自動化システムに、
前記メモリ内に記憶された少なくとも1つの理解モデルから前記探索空間を生成するステップを含む
動作を実行させ、
前記探索空間を生成するステップが、
語彙注入を実行して、前記少なくとも1つの理解モデルの意図-実体モデルのサンプル発話に基づいて発話セットを生成するために、前記語彙サブシステムを使用することであ
って、前記発話セットが、異なる用語、異なる術語、またはこれらの組合せを有する前記サンプル発話および前記ユーザ発話の1つまたは複数の再表現を含む
、ことと、
前記発話セットの品詞(POS)タギングを実行して、前記発話セットから潜在的POSタギングセットを生成するために、前記POS構成要素を使用することと、
前記潜在的POSタギングセット内の他のPOSタギングに実質的に類似している1つまたは複数のPOSタギングを前記潜在的POSタギングセットから除去するために、前記変動性フィルタ構成要素を使用することと、
前記潜在的POSタギングセットから潜在的意味表現セットを生成するために、前記パーサ構成要素を使用することと、
前記潜在的意味表現セット内の各潜在的意味表現に対するそれぞれの最終スコアを計算し、それぞれの最終スコアに基づいて、前記潜在的意味表現セットからサンプル空間の前記サンプル意味表現として潜在的意味表現を選択するために、前記最終スコアリングおよびフィルタリング構成要素を使用することと
、
によって行われる、請求項2に記載のシステム。
【請求項5】
前記
動的ビーム幅のCCG形式ベースの探索を実行するために、前記プロセッサが、前記NLUフレームワークの前記命令を実行するように構成され、
前記命令が、前記エージェント自動化システムに、
前記発話意味モデルの前記探索鍵意味表現セットの各探索鍵意味表現に対して、
(A)前記探索鍵意味表現に関連付けられたCCG形式および比較関数リストを判定
するステップと、
(B)前記比較関数リストから第1の比較関数を選択し、探索部分空間を前記探索空間の全体として定義
するステップと、
(C)前記探索鍵意味表現と前記探索空間の比較可能なサンプル意味表現とを比較し、対応する類似性スコアセットを計算または精練するために、前記選択された比較関数を使用
するステップと、
(D)緩和された総最小信頼性閾値(AMCT)を下回る対応する類似性スコアを前記対応する類似性スコアセット内に有する意味表現を前記探索部分空間から剪定
するステップと、
(E)前記比較関数リストからの追加の比較関数が適用されるべきであると判定したことに応答して、前記比較関数リストから次の比較関数を選択し、ステップ(C)へ戻
るステップと、
(F)前記探索部分空間内に残っている前記サンプル意味表現を初期競合
合致意味表現セットに追加するステップと、
前記初期競合
合致意味表現セットから前記競合
合致意味表現セットとして意味表現を選択するように、前記初期競合
合致意味表現セットのダイバーシティスコアリングを実行するステップと
、
を含む
動作を実行させる、請求項1に記載のシステム。
【請求項6】
前記
動的ビーム幅のアーティファクト内探索を実行するために、前記プロセッサが、前記NLUフレームワークの前記命令を実行するように構成され、
前記命令が、前記エージェント自動化システムに、
前記競合
合致意味表現セットの各競合
合致意味表現に対して、
(A)前記競合
合致意味表現に関連付けられた意図、CCG形式、および比較関数リストを判定
するステップと、
(B)前記比較関数リストから第1の比較関数を選択し、前記意図を有する前記探索空間のすべてのサンプル意味表現として探索部分空間を定義
するステップと、
(C)前記競合
合致意味表現と前記探索空間の比較可能なサンプル意味表現とを比較して、対応する類似性スコアセットを計算または精練するために、前記選択された比較関数を使用
するステップと、
(D)緩和されたモデルアーティファクト信頼性閾値(MACT)を下回る対応する類似性スコアを前記対応する類似性スコアセット内に有する意味表現を前記探索部分空間から剪定
するステップと、
(E)前記比較関数リストからの追加の比較関数が適用されるべきであると判定したことに応答して、前記比較関数リストから次の比較関数を選択し、ステップ(C)へ戻
るステップと、
(F)前記探索部分空間内に残っている前記サンプル意味表現を前記最終
合致意味表現セットに追加するステップ
と、
を含む
動作を実行させる、請求項1に記載のシステム。
【請求項7】
前記サンプル意味表現および前記探索鍵意味表現が、発話木を含む、請求項1に記載のシステム。
【請求項8】
ユーザ発話の意味探索を
エージェント自動化システムが実行する方法であって、
前記ユーザ発話から発話意味モデルを生成するステップであ
って、前記発話意味モデルが探索鍵意味表現セットを含む
、ステップと、
前記発話意味モデルの前記探索鍵意味表現セットと探索空間のサンプル意味表現とを比較し、競合
合致意味表現セットを選択するように、
動的ビーム幅の認知
構文文法(CCG)形式ベースの探索を実行するステップと、
前記競合
合致意味表現セットと前記探索空間のサンプル意味表現とを比較し、最終
合致意味表現セットを選択するように、
動的ビーム幅のアーティファクト内探索を実行するステップと、
前記最終
合致意味表現セットから前記ユーザ発話の意図、実体、またはこれらの組合せを抽出するステップと
、
を含む、方法。
【請求項9】
前記発話意味モデルを生成するステップが、
前記ユーザ発話に基づいて発話セットを生成するように、語彙注入を実行することであ
って、前記発話セットが、前記ユーザ発話および前記ユーザ発話の1つまたは複数の再表現を含む
、ことと、
前記発話セットに対する潜在的POSタギングセットを生成するように、前記発話セットの品詞(POS)タギングを実行することと、
前記潜在的POSタギングセット内の他のPOSタギングに実質的に類似しているPOSタギングを前記潜在的POSタギングセットから除去するように、変動性フィルタリングを実行することと、
潜在的意味表現セットを生成するように、前記潜在的POSタギングセットを解析することと、
前記潜在的意味表現セット内の各潜在的意味表現に対してそれぞれの最終スコアを計算し、前記潜在的意味表現セット内の各潜在的意味表現の前記それぞれの最終スコアに基づいて、前記潜在的意味表現セットから前記発話意味モデルに対する前記探索鍵意味表現セットを選択することと
、
を含む、請求項8に記載の方法。
【請求項10】
前記
動的ビーム幅のCCG形式ベースの探索を実行するステップが、
前記探索鍵意味表現セットの各探索鍵意味表現に対して、
(A)前記探索鍵意味表現に関連付けられたCCG形式および比較関数リストを判定
するステップと、
(B)前記比較関数リストから第1の比較関数を選択し、探索部分空間を前記探索空間の全体として定義
するステップと、
(C)前記探索鍵意味表現と前記探索空間の比較可能なサンプル意味表現とを比較し、対応する類似性スコアセットを計算または精練するために、前記選択された比較関数を使用
するステップと、
(D)緩和された総最小信頼性閾値(AMCT)を下回る対応する類似性スコアを前記対応する類似性スコアセット内に有する意味表現を前記探索部分空間から剪定
するステップと、
(E)前記比較関数リストからの追加の比較関数が適用されるべきであると判定したことに応答して、前記比較関数リストから次の比較関数を選択し、ステップ(C)へ戻
るステップと、
(F)前記探索部分空間内に残っている前記サンプル意味表現を初期競合
合致意味表現セットに追加するステップと、
前記初期競合
合致意味表現セットから前記競合
合致意味表現セットとして意味表現を選択するように、前記初期競合
合致意味表現セットのダイバーシティスコアリングを実行するステップと
、
を含む、請求項8に記載の方法。
【請求項11】
前記緩和されたAMCTを判定するステップを含み、前記緩和されたAMCTを判定するステップが、
信頼値セットからの最小の信頼値になるようにAMCT値を選択することであ
って、前記信頼値セットが、前記ユーザ発話に関連付けられた信頼値、前記探索空間に関連付けられた理解モデルにおいて定義された信頼値、またはデフォルト信頼値のうちの少なくとも1つを含む
、ことと、
前記AMCT値を拡大し、前記緩和されたAMCTを生成するように、緩和関数を適用することと
、
によって行われる、請求項10に記載の方法。
【請求項12】
ダイバーシティスコアリングを実行するステップが、
前記初期競合
合致意味表現セット内の各競合
合致意味表現に関連付けられた理解モデルおよび意図を判定することと、
固有の理解モデル、固有の意図、またはこれらの組合せを有する意味表現を前記初期競合
合致意味表現セットから選択することと
、
を含む、請求項10に記載の方法。
【請求項13】
前記比較関数リストが、計算的に最も安価な比較関数から計算的に最も高価な比較関数へ計算コストを増大させるという点から順序が付けられている、請求項10に記載の方法。
【請求項14】
前記増大する計算コストの少なくとも一部分が、前記探索鍵意味表現の追加のノード、または前記探索空間の前記比較可能なサンプル意味表現の追加のノードを、前の比較関数に対して比較した結果である、請求項13に記載の方法。
【請求項15】
前記
動的ビーム幅のアーティファクト内探索を実行するステップが、
前記競合
合致意味表現セットの各競合
合致意味表現に対して、
(A)前記競合
合致意味表現に関連付けられた意図、CCG形式、および比較関数リストを判定
するステップと、
(B)前記比較関数リストから第1の比較関数を選択し、前記意図を有する前記探索空間のすべてのサンプル意味表現として探索部分空間を定義
するステップと、
(C)前記競合
合致意味表現と前記探索空間の比較可能なサンプル意味表現とを比較して、対応する類似性スコアセットを計算または精練するために、前記選択された比較関数を使用
するステップと、
(D)緩和されたモデルアーティファクト信頼性閾値(MACT)を下回る対応する類似性スコアを前記対応する類似性スコアセット内に有する意味表現を前記探索部分空間から剪定
するステップと、
(E)前記比較関数リストからの追加の比較関数が適用されるべきであると判定したことに応答して、前記比較関数リストから次の比較関数を選択し、ステップ(C)へ戻
るステップと、
(F)前記探索部分空間内に残っている前記サンプル意味表現を前記最終
合致意味表現セットに追加する
ステップと、
を含む、請求項8に記載の方法。
【請求項16】
前記緩和されたMACTを判定するステップを含み、前記緩和されたMACTを判定するステップが、
前記比較可能なサンプル意味表現のアーティファクトに対して理解モデルにおいて定義された最小アーティファクトレベルの信頼値になるようにMACT値を選択することと、
前記MACT値を拡大し、前記緩和されたMACTを生成するように、緩和関数を適用することと
、
によって行われる、請求項15に記載の方法。
【請求項17】
前記抽出された意図、実体、またはこれらの組合せを挙動エンジン(BE)へ提供するステップを含み、前記BEが、前記ユーザ発話の前記抽出された意図、実体、またはこれらの組合せに応答して、1つまたは複数の行動を実行する、請求項8に記載の方法。
【請求項18】
コンピューティングシステムの1つまたは複数のプロセッサによって実行可能な自然言語理解(NLU)フレームワークの命令を記憶する非一時的コンピュータ可読媒体であって、
前記命令が、
少なくとも1つの理解モデルから探索空間を生成するための命令であ
って、前記探索空間がサンプル意味表現を含む
、命令と、
ユーザ発話から発話意味モデルを生成するための命令であ
って、前記発話意味モデルが探索鍵意味表現セットを含む
、命令と、
前記発話意味モデルの前記探索鍵意味表現セットと前記探索空間の前記サンプル意味表現とを比較し、競合
合致意味表現セットを選択するように、
動的ビーム幅の認知
構文文法(CCG)形式ベースの探索を実行するための命令と、
前記競合
合致意味表現セットと前記探索空間のサンプル意味表現とを比較し、最終
合致意味表現セットを選択するように、
動的ビーム幅のアーティファクト内探索を実行するための命令と、
前記最終
合致意味表現セットから前記ユーザ発話の意図、実体、またはこれらの組合せを抽出するための命令と
、
を含む、媒体。
【請求項19】
前記
動的ビーム幅のCCG形式ベースの探索を実行するための前記命令が、
前記探索鍵意味表現セットの各探索鍵意味表現に対して、
(A)前記探索鍵意味表現に関連付けられたCCG形式および比較関数リストを判定
する命令と、
(B)前記比較関数リストから第1の比較関数を選択し、探索部分空間を前記探索空間の全体として定義
する命令と、
(C)前記探索鍵意味表現と前記探索空間の比較可能なサンプル意味表現とを比較して、対応する類似性スコアセットを計算または精練するために、前記選択された比較関数を使用
する命令と、
(D)緩和された総最小信頼性閾値(AMCT)を下回る対応する類似性スコアを前記対応する類似性スコアセット内に有する意味表現を前記探索部分空間から剪定
する命令と、
(E)前記比較関数リストからの追加の比較関数が適用されるべきであると判定したことに応答して、前記比較関数リストから次の比較関数を選択し、ステップ(C)へ戻
る命令と、
(F)前記探索部分空間内に残っている前記サンプル意味表現を初期競合
合致意味表現セットに追加するための命令と、
前記初期競合
合致意味表現セットから前記競合
合致意味表現セットとして意味表現を選択するように、前記初期競合
合致意味表現セットのダイバーシティスコアリングを実行するための命令と
、
を含む、請求項18に記載の媒体。
【請求項20】
前記
動的ビーム幅のアーティファクト内探索を実行するための前記命令が、
前記競合
合致意味表現セットの各競合
合致意味表現に対して、
(A)前記競合
合致意味表現に関連付けられた意図、CCG形式、および比較関数リストを判定
する命令と、
(B)前記比較関数リストから第1の比較関数を選択し、前記意図を有する前記探索空間のすべてのサンプル意味表現として探索部分空間を定義
する命令と、
(C)前記競合
合致意味表現と前記探索空間の比較可能なサンプル意味表現とを比較して、対応する類似性スコアセットを計算または精練するために、前記選択された比較関数を使用
する命令と、
(D)緩和されたモデルアーティファクト信頼性閾値(MACT)を下回る対応する類似性スコアを前記対応する類似性スコアセット内に有する意味表現を前記探索部分空間から剪定
する命令と、
(E)前記比較関数リストからの追加の比較関数が適用されるべきであると判定したことに応答して、前記比較関数リストから次の比較関数を選択し、ステップ(C)へ戻
る命令と、
(F)前記探索部分空間内に残っている前記サンプル意味表現を前記最終
合致意味表現セットに追加するための命令
と、
を含む、請求項18に記載の媒体。
【発明の詳細な説明】
【技術分野】
【0001】
クロスリファレンス
本出願は、あらゆる目的で全体として参照により本明細書に組み込まれている、2019年7月2日に出願された「SYSTEM AND METHOD FOR PERFORMING A MEANING SEARCH USING A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK」という名称の米国仮特許出願第62/869,864号の優先権および利益を主張する。本出願はまた、あらゆる目的で全体として参照により本明細書に組み込まれている、各々2019年7月2日に出願された「PREDICTIVE SIMILARITY SCORING SUBSYSTEM IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK」という名称の米国仮特許出願第62/869,817号、「DERIVING MULTIPLE MEANING REPRESENTATIONS FOR AN UTTERANCE IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK」という名称の米国仮特許出願第62/869,826号、および「PINNING ARTIFACTS FOR EXPANSION OF SEARCH KEYS AND SEARCH SPACES IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK」という名称の米国仮特許出願第62/869,811号に関係する。
【0002】
本開示は、一般に、自然言語理解(NLU)および人工知能(AI)の分野に関し、より詳細には、NLUのためのハイブリッド学習システムに関する。
【背景技術】
【0003】
本章は、以下の説明および/または特許請求の範囲に記載する本開示の様々な態様に関係しうる様々な技術態様について、読者に紹介することを意図したものである。この議論は、本開示の様々な態様のさらなる理解を容易にするための背景情報を読者に提供することに役立つと考えられる。したがって、これらの記載はこれに鑑みて読まれるべきであり、従来技術の承認ではないことを理解されたい。
【0004】
クラウドコンピューティングは、一般にインターネットを介してアクセスされるコンピューティング資源の共有に関する。特に、クラウドコンピューティングインフラストラクチャは、個人および/または企業などのユーザが、サーバ、記憶デバイス、ネットワーク、アプリケーション、および/または他のコンピューティングベースのサービスなどのコンピューティング資源の共有プールにアクセスすることを可能にする。そうすることによって、ユーザは、要求に応じて、遠隔の場所に位置するコンピューティング資源にアクセスすることが可能になり、これらの資源は、様々なコンピューティング機能(たとえば、大量のコンピューティングデータの記憶および/または処理)を実行するために使用することができる。企業および他の組織のユーザにとって、クラウドコンピューティングは、私用ネットワークインフラストラクチャの確立に高価なネットワーク機器購入または大量の時間投資などの大きな事前コストを生じることなく、クラウドコンピューティング資源へのアクセスの柔軟性を提供する。代わりに、ユーザは、クラウドコンピューティング資源を利用することによって、企業の中核機能に集中するように自身の資源を向け直すことが可能になる。
【0005】
そのようなクラウドコンピューティングサービスは、クライアントインスタンスのユーザからの自然言語要求に基づいてクライアントインスタンスに伴う問題に自動的に応答するように設計されたチャットエージェントなどの仮想エージェントをホストすることができる。たとえば、ユーザは、パスワードの問題の支援のための要求を仮想エージェントへ提供することができ、仮想エージェントは、自然言語処理(NLP)または自然言語理解(NLU)システムの一部である。NLPは、何らかの形態の自然言語入力の処理を伴うコンピュータサイエンスおよびAIの一般領域である。NLPによって対処される領域の例には、言語翻訳、音声生成、解析木抽出、品詞識別などが含まれる。NLUは、ユーザ発話の理解に特別に焦点を当てたNLPの下位領域である。NLUによって対処される領域の例には、質問応答(たとえば、読解力の質問)、記事要約などが含まれる。たとえば、NLUは、人間の言語(たとえば、話し言葉または書き言葉)を、下流の仮想エージェントが消費できる既知の記号セットに縮小するために、アルゴリズムを使用することができる。NLPは、概して、フリーテキストをさらに分析できるように解釈するために使用される。典型的に、NLPに対する現在の手法は深層学習に基づいており、これはプログラムの理解を改善するためにデータ内のパターンを試験および使用する一種のAIである。
【0006】
特定のNLUシステムは、認知構文文法の言語学的原理に基づいている。これらの原理のうちの1つは、発話の形状または形態が発話の意味に密接に関係するということである。したがって、NLUシステムは、NLUシステムの動作を改善するために、発話を理解する複数の有望な方法を抽出または判定することが可能であることが重要であることが現在認識されている。加えて、意図推定が難題となっているが、これはより管理しやすい探索の問題に変換することによって解決することができることが認識されている。
【0007】
特定のNLUシステムに伴う1つの主な問題は、探索空間内に意味整合(意味合致)を突き止めようとしたときの静的探索範囲である。たとえば、NLUシステムが、樹状データ構造の形態で探索空間の意味探索を実行しているとき、このシステムは、その木の端末点または葉を探すことができ、これらの端末点または葉は各々、特有の探索解または意味整合を表す。NLUシステムは、データ構造の根から開始することができ、各分岐において、定義された探索基準に基づいて、どの分岐に従うかを決定するように考慮することができる。次いで、選択された分岐を拡大することができ、探査のための次の分岐を選択するために、データ構造の対応する下位分岐に探索基準を適用することができる。このようにして、意味探索は、NLUシステムがデータ構造の葉に到達するまで進行し、選択された葉または意味整合が、結果セットを形成する。
【0008】
しかし、そのような意味探索動作では、探索空間を表すデータ構造は非常に大きくなる可能性がある(たとえば、ギガバイトまたはテラバイトのサイズ)。加えて、特定の事例では、特定の探索基準は、資源使用(たとえば、処理時間、メモリ空間)の点で適用するのが高価になる可能性がある。そのような状況の場合、定義されたすべての探索基準を使用してデータ構造のすべての分岐を調査することは、非現実的または実行不可能である。したがって、NLUシステムは、一度に考慮することができる分岐の数を制限する固定のまたは静的な探索幅を適用することができ、その結果、データ構造の1つまたは複数の分岐が、考慮することから剪定または除去される。しかし、分岐は、その分岐が実際には、高いスコア、潜在的に最良の整合、葉、または意味整合を含む場合でも、探索基準が適用されたときに低いスコアを実証する可能性がある。したがって、積極的または非効果的な剪定の結果、分岐が考慮することから除去される可能性があり、したがって高スコアの解が意味探索によって突き止められない。加えて、分岐の下方探索は自己達成する傾向にあるが、これはいくつかの狭い経路に沿って深く掘ることによって探索が与えられる傾向にあることを意味する。その結果、意味探索は、深さ第1の木の探査になる方へ向かう可能性があり、これは意味探索を望ましくない形で偏らせる。したがって、意味探索動作中に、潜在的な意味整合を早すぎる段階で考慮することから剪定することを回避し、深い木の探索の問題およびそれに伴う偏りに対処するために、改善された意味探索技法が所望されていることが認識されている。
【発明の概要】
【0009】
本明細書に開示する特定の実施形態の概要について、以下に記載する。これらの態様は、これらの特定の実施形態の簡単な概要を読者に提供するためにのみ提示されており、これらの態様は、本開示の範囲を限定することを意図したものではないことを理解されたい。実際には、本開示は、様々な態様を包含することができるが、そのような態様は、以下に記載されていないこともある。
【0010】
本実施形態は、仮想エージェント(たとえば、チャットエージェント)によって受け取られた要求などのユーザ発話から意味を抽出し、好適にはこれらのユーザ発話に応答することが可能なエージェント自動化フレームワークを対象とする。これを行うため、エージェント自動化フレームワークは、NLUフレームワークおよび意図-実体モデルを含み、意図-実体モデルは、サンプル発話に伴う定義された意図および実体を有する。NLUフレームワークは、意図-実体モデルのサンプル発話が理解モデルを構築するための意味表現、ならびに受け取られたユーザ発話が発話意味モデルを構築するための意味表現を生成するように設計された意味抽出サブシステムを含む。加えて、開示するNLUフレームワークは、発話意味モデル(探索鍵とも呼ぶ)の意味表現に対する整合を突き止めるための理解モデル(探索空間とも呼ぶ)の意味表現を探索するように設計された意味探索サブシステムを含む。したがって、本実施形態は、概して、管理しやすい探索問題に変換することによって、NLUに伴う難題に対処する。
【0011】
上述した他のNLUシステムの欠点に対処するために、焦点閾値(たとえば、ビーム幅)を使用して、意味探索の資源消費に関する限界または境界を確立することができることが現在認識されている。また、異なる探索基準は異なる資源消費またはコストを伴う可能性があるため、探索基準は、漸進的な探索基準予測機能に組織化されるべきであり、最初に適用された探索基準は、比較的安価かつ不正確であるが、後に適用される探索基準は、比較的高価かつ正確であることも現在認識されている。加えて、焦点閾値(たとえば、ビーム幅)は、適用されている探索基準予測機能の精度レベルに基づいて、動的に調整されることが望ましいことが現在認識されている。たとえば、焦点閾値は、適用された探索基準予測機能の精度が比較的低いときは、より低くすることができ(たとえば、動的に緩和された焦点閾値、より広いビーム幅)、適用された探索基準予測機能の精度が比較的高いときは、より高くすることができる(たとえば、動的に制限された焦点閾値、より狭いビーム幅)。これにより、低い初期探索基準予測機能スコアを有する分岐が考慮下に残ることを有効にして、潜在的に良好な意味整合の早期の損失を防止しながら、それでもなお探索動作の資源消費を低減させる。さらに、深い木の探索の問題およびそれに伴う偏りは、考慮された解が互いに十分に異なることを確実にする強制ダイバーシティを使用することによって軽減することができることが現在認識されている。加えて、開示する動的焦点閾値、漸進的な探索基準予測機能、および強制ダイバーシティは、理解モデルにおける意図-実体アーティファクトに対する第1の探索段階、およびさらなる探査に値する第1の段階からの各意図-実体アーティファクト内の後の第2の探索段階など、2つの段階で適用することができることが理解されよう。
【0012】
さらに、意味探索の性能は、比較のために、発話意味モデルにおけるユーザ発話の複数の意味表現と、理解モデルにおけるサンプル発話の複数の意味表現とを有することによって強化されることが現在認識されている。さらに、特定の代替の意味表現は、意味探索中に整合を識別する確率を改善するが、意味探索はまた、明らかに誤ったまたは実質的に冗長な意味表現を探索して、追加のコンピューティング資源を消費する可能性があることも現在認識されている。したがって、意味探索を強化するために、特定の高価値の代替の発話意味表現が追求されるべきであり、コンピューティング資源の使用を制限し、NLUフレームワークの効率を改善するために、他の代替の意味表現は廃棄されるべきであることが認識されている。
【0013】
上記を念頭に、本実施形態は、意図-実体モデルにおけるサンプル発話およびユーザから受け取った発話を含む発話に対する複数の意味表現を生成することが可能な意味抽出サブシステムを含むNLUフレームワークを対象とする。開示する意味抽出サブシステムは、強化された柔軟性のためにプラグインを実施することができる複数の異なる構成要素を含む。特定の実施形態では、これらの構成要素は、品詞(POS)プラグイン、補正プラグイン、変動フィルタ(VF)プラグイン、パーサプラグイン、ならびに最終スコアリングおよびフィルタリング(FSF)プラグインを含む。たとえば、POSプラグインは、機械学習(ML)ベースの構成要素を含むことができ、MLベースの構成要素は、発話およびPOS閾値を受け取り、そのPOS閾値に基づいて、その発話に対する潜在的POSタギングセットを、これらのPOSタギングに対応する信頼性スコアとともに生成する。補正プラグインは、潜在的POSタギングセットを受け取り、規則ベースまたはMLベースの技法を適用して、潜在的POSタギングセット内のエントリを修正または除去することができる。VFプラグインは、潜在的POSタギングセットおよび変動閾値を受け取ることができ、変動閾値に基づいて、他のエントリから十分に異ならない特定のエントリを、潜在的POSタギングセットから除去することができる。パーサプラグインは、MLベースまたは規則ベースの構成要素を含むことができ、MLベースまたは規則ベースの構成要素は、潜在的POSタギングセットを受け取り(たとえば、補正および/または変動性フィルタリング後)、潜在的POSタギングセット内の各エントリに対するそれぞれの意味表現(たとえば、依存性解析木)および対応する信頼性スコアを生成する。FSFプラグインは、意味表現セット、POSタギングおよび解析からの信頼性スコア、ならびにFSF閾値を受け取り、FSF閾値に基づいて、発話に対する最終的な意味表現セットを判定することができる。
【0014】
さらに、意味探索の様々な段階を実行するとき、弾性(たとえば、非静的、可変)の閾値を使用することによって、意味探索の性能を強化することができることが現在認識されている。たとえば、ユーザ発話に対する意味表現が生成され、サンプル空間にサンプル発話の意味表現が格納された後、第1の探索動作が、弾性ビーム幅のCCG形式ベースの探索を使用して、競合整合意味表現セットを識別することができる。この探索は、1群の潜在的な信頼値(たとえば、推論レベルの信頼値、モデルレベルの信頼値、アーティファクトレベルの信頼値)のうちの最小の信頼値である総最小信頼性閾値(AMCT)の値に基づく弾性信頼性閾値を有する。AMCT値は、CCG形式ベースの探索のための動的閾値を定義する緩和されたAMCT値をもたらすために、緩和関数によってさらに拡大される。弾性信頼性閾値を使用することによって、CCG形式ベースの探索は、潜在的整合意味表現に、探索動作の初期比較から低信頼性スコアを受け取ることに耐える機会を与え、したがって意味表現は、探索動作の後の比較において、その信頼性スコアを増大させることができ、最後のアーティファクト(たとえば、意図および/または実体)抽出に対する最終整合意味表現セットに到達する資格を得ることができることが現在認識されている。
【0015】
同様に、意味探索の他の態様も、弾性(たとえば、非静的、可変)の閾値を使用することによって強化することができる。たとえば、第2の探索動作は、弾性ビーム幅のアーティファクト内探索を使用して、弾性ビーム幅のCCG形式ベースの探索によって識別された各潜在的整合意味表現と、探索空間のうち、潜在的整合意味表現と共通の意図を共有する部分とを比較することができる。CCG形式ベースの探索と同様に、弾性ビーム幅のアーティファクト内探索は、比較されている特定のアーティファクト(たとえば、意図または実体)に対する理解モデルにおけるアーティファクトレベルの信頼値であるモデルアーティファクト信頼性閾値(MACT)の値に基づく弾性信頼性閾値を有する。MACT値は、アーティファクト内探索のための動的閾値を定義する緩和されたMACT値をもたらすために、第2の緩和関数によってさらに拡大される。弾性信頼性閾値を使用することによって、アーティファクト内探索は、潜在的整合意味表現に、探索動作の初期比較から低信頼性スコアを受け取ることに耐える機会を与え、したがって意味表現は、探索動作の後の比較においてその信頼性スコアを増大させることができ、最後のアーティファクト(たとえば、意図および/または実体)抽出に対する最終整合意味表現セットに到達する資格を得ることができることが現在認識されている。
【0016】
本開示の様々な態様は、以下の詳細な説明および図面の参照を読めば、よりよく理解されよう。
【図面の簡単な説明】
【0017】
【
図1】本技法の実施形態が動作することができるクラウドコンピューティングシステムの一実施形態のブロック図である。
【
図2】本技法の実施形態が動作することができるマルチインスタンスクラウドアーキテクチャの一実施形態のブロック図である。
【
図3】本技法の態様による、
図1または
図2に存在することができるコンピューティングシステムで利用されるコンピューティングデバイスのブロック図である。
【
図4A】本技法の態様による、クラウドコンピューティングシステムによってホストされるクライアントインスタンスの一部であるNLUフレームワークを含むエージェント自動化フレームワークの一実施形態を示す概略図である。
【
図4B】本技法の態様による、NLUフレームワークのいくつかの部分が、クラウドコンピューティングシステムによってホストされる企業インスタンスの一部である、エージェント自動化フレームワークの代替実施形態を示す概略図である。
【
図5】本技法の態様による、NLUフレームワークおよび挙動エンジンフレームワークを含むエージェント自動化フレームワークが、ユーザ発話から意図および/または実体を抽出してユーザ発話に応答するプロセスの一実施形態を示す流れ図である。
【
図6】本技法の態様による、意味抽出サブシステムが、受け取ったユーザ発話から意味表現を生成して、発話意味モデルをもたらし、理解モデルのサンプル発話から意味表現を生成して、理解モデルもたらし、意味探索サブシステムが、発話意味モデルの意味表現と理解モデルの意味表現とを比較して、受け取ったユーザ発話からアーティファクト(たとえば、意図および実体)を抽出する、意味抽出サブシステムおよび意味探索サブシステムを含むNLUフレームワークの一実施形態を示すブロック図である。
【
図7】本技法の態様による、NLUフレームワークの語彙サブシステム、構造サブシステム、および韻律サブシステム内で規則ベースの方法および機械学習(ML)ベースの方法の組合せを使用して、発話に対する意味表現を生成する、意味抽出サブシステムの一実施形態を示すブロック図である。
【
図8】本技法の態様による、発話に対して生成される発話木の一例を示す図である。
【
図9】本技法の態様による、意味抽出サブシステムが、受け取ったユーザ発話に基づいて発話意味モデル(探索鍵)を生成し、1つまたは複数の理解モデルに基づいて探索空間を生成し、意味探索サブシステムが、探索鍵に基づいて探索空間を探索して、ユーザ発話のアーティファクトを抽出する、プロセスの一実施形態を示す流れ図である。
【
図10】本技法の態様による、意味抽出サブシステムが、複数の理解モデルから探索空間を生成し、ユーザ発話の複数の意味表現を意味探索の探索鍵として生成して、ユーザ発話のアーティファクトを抽出する、一実施形態を示す情報の流れ図である。
【
図11】本技法の態様による、語彙サブシステムおよび構造サブシステムを含むNLUフレームワークの意味抽出サブシステムが、発話の再表現および意味表現を生成する、プロセスの一実施形態を示す流れ図である。
【
図12】本技法の態様による、NLUフレームワークの構造サブシステムが、発話に対して異なる意味表現を生成する、プロセスの一実施形態を示す流れ図である。
【
図13】本技法の態様による、任意の好適な数の意味表現間の効率的な比較を有効にする数学的比較関数リストを検索するために、NLUフレームワークの意味探索サブシステム内で実施することができる、類似性スコアリングサブシステムの一実施形態を示す流れ図である。
【
図14】本技法の態様による、意味探索サブシステムが弾性ビーム幅のCCG形式ベースの探索を実行するプロセスの一実施形態の流れ図である。
【
図15】本技法の態様による、発話ベースの意味表現に整合する意味表現を識別するための関心探索部分空間を選択的に狭めるために、比較関数リストを適用する、意味探索サブシステムの一実施形態を示す概略図である。
【
図16】本技法の態様による、弾性ビーム幅のCCG形式ベースの探索中に使用される緩和された総最小信頼性閾値(AMCT)によって提供される一実施形態の有効ビーム幅を示す概略図である。
【
図17】本技法の態様による、意味探索サブシステムが弾性ビーム幅のアーティファクト内探索を実行するプロセスの一実施形態の流れ図である。
【
図18】本技法の態様による、弾性ビーム幅のアーティファクト内探索中に使用される緩和されたモデルアーティファクト信頼性閾値(MACT)によって提供される一実施形態の有効ビーム幅を示す概略図である。
【発明を実施するための形態】
【0018】
1つまたは複数の特有の実施形態について、以下に説明する。これらの実施形態の簡潔な説明を提供するために、実際の実施例の特徴のすべてが本明細書に説明されているとは限らない。そのようなあらゆる実際の実施例の開発において、あらゆる工学または設計計画と同様に、実施例ごとに変動しうるシステム関連および事業関連の制約への準拠などの開発者の特有の目標を実現するために、実施例に特有の多数の決定がされなければならないことを理解されたい。さらに、そのような開発努力は、複雑で時間のかかることがあるが、それにもかかわらず、本開示の利益を有する当業者にとっては、日常的な設計、製作、および製造の業務であることを理解されたい。
【0019】
本明細書では、「コンピューティングシステム」または「コンピューティングデバイス」という用語は、それだけに限定されるものではないが、単一のコンピュータ、仮想マシン、仮想コンテナ、ホスト、サーバ、ラップトップ、および/もしくは移動デバイス、またはコンピューティングシステム上でもしくはコンピューティングシステムによって実行されるものとして記載した機能を実行するようにともに動作する複数の電子コンピューティングデバイスなどの電子コンピューティングデバイスを指す。本明細書では、「機械可読媒体」という用語は、1つまたは複数の命令またはデータ構造を記憶する単一の媒体または複数の媒体(たとえば、集中もしくは分散データベース、ならびに/または関連するキャッシュおよびサーバ)を含むことができる。「非一時的機械可読媒体」という用語はまた、任意の有形の媒体を含むと解釈されるものとし、そのような有形の媒体は、コンピューティングシステムによって実行するための命令の記憶、符号化、もしくは搬送が可能であり、コンピューティングシステムに、本主題の方法のうちのいずれか1つもしくは複数を実行させ、またはそのような命令によって利用されもしくはそのような命令に関連するデータ構造の記憶、符号化、もしくは搬送が可能である。したがって、「非一時的機械可読媒体」という用語は、それだけに限定されるものではないが、固体状態メモリならびに光および磁気媒体を含むと解釈されるものとする。非一時的機械可読媒体の特有の例には、それだけに限定されるものではないが、例として、半導体メモリデバイス(たとえば、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、およびフラッシュメモリデバイス)、内部ハードディスクおよび取外し可能ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクなどの磁気ディスクを含む不揮発性メモリが含まれる。
【0020】
本明細書では、「アプリケーション」、「エンジン」、および「プラグイン」という用語は、特定の機能を提供するためにコンピューティングシステムの1つまたは複数のプロセッサによって実行可能な1つまたは複数のコンピュータソフトウェア命令セット(たとえば、コンピュータプログラムおよび/またはスクリプト)を指す。コンピュータソフトウェア命令は、C、C++、C#、Pascal、Fortran、Perl、MATLAB、SAS、SPSS、JavaScript、AJAX、およびJAVAなどの任意の好適なプログラミング言語で書くことができる。そのようなコンピュータソフトウェア命令は、データ入力およびデータ表示モジュールを有する独立したアプリケーションを含むことができる。別法として、開示するコンピュータソフトウェア命令は、分散オブジェクトにインスタンス化されたクラスとすることができる。開示するコンピュータソフトウェア命令はまた、コンポーネントソフトウェア、たとえばJAVABEANSまたはENTERPRISE JAVABEANSとすることができる。加えて、開示するアプリケーションまたはエンジンは、コンピュータソフトウェア、コンピュータハードウェア、またはこれらの組合せで実施することができる。
【0021】
本明細書では、「フレームワーク」という用語は、1つまたは複数の全体的な機能を実行するように協働するアプリケーションおよび/またはエンジン、および任意の他の支持データ構造、ライブラリ、モジュール、ならびに任意の他の支持機能のシステムを指す。特に、「自然言語理解フレームワーク」または「NLUフレームワーク」は、理解モデルに基づいて、自然言語発話から意味(たとえば、意図、実体、アーティファクト)を処理および導出するように設計された1群のコンピュータプログラムを含む。本明細書では、「挙動エンジン」または「BE」は、推論エージェントまたはRA/BEとしても知られており、会話モデルに基づいてユーザと対話するように設計された仮想エージェントなどの規則ベースのエージェントを指す。たとえば、「仮想エージェント」は、特定の会話または通信チャネルにおける自然言語要求を介してユーザと対話するように設計されたBEの特定の例を指すことができる。これを念頭に、「仮想エージェント」および「BE」という用語は、本明細書では区別なく使用される。特有の例として、仮想エージェントは、チャットルーム環境において自然言語要求を介してユーザと対話および応答するチャットエージェントとすることができ、またはそのようなチャットエージェントを含むことができる。仮想エージェントの他の例には、電子メール、フォーラムポスト、およびサービスチケットへの自動返信、通話などのコンテキストにおいてユーザと対話する電子メールエージェント、フォーラムエージェント、チケッティングエージェント、通話エージェントなどを含むことができる。
【0022】
本明細書では、「意図」は、発話などの通信の根本的な目的に関係しうるユーザの要望または目標を指す。本明細書では、「実体」は、目的、対象、または何らかの他の意図のパラメータ化を指す。本実施形態では、特定の実体が、対応する意図のパラメータとして扱われることに留意されたい。より具体的には、特定の実体(たとえば、時間および場所)は、すべての意図に対して広範に認識および抽出することができ、他の実体は、意図に特定的であり(たとえば、購入意図に関連する商品実体)、概してそれらを定義する意図の範囲内で見られたときにのみ抽出される。本明細書では、「アーティファクト」は、集合的に、発話の意図および実体の両方を指す。本明細書では、「理解モデル」は、自然言語発話の意味を推論するためにNLUフレームワークによって使用される1群のモデルである。理解モデルは、特定のトークン(たとえば、単語またはフレーズ)を特定の単語ベクトル、意図-実体モデル、実体モデル、またはこれらの組合せに関連付ける語彙モデルを含むことができる。本明細書では、「意図-実体モデル」は、特定の意図を特定のサンプル発話に関連付けるモデルを指し、意図に関連付けられた実体は、モデルのサンプル発話内の意図のパラメータとして符号化することができる。本明細書では、「エージェント」という用語は、会話チャネル内で互いに対話するコンピュータ生成ペルソナ(たとえば、チャットエージェントまたは他の仮想エージェント)を指すことができる。本明細書では、「コーパス」は、様々なユーザおよび仮想エージェント間の対話を含む捕捉された一連のソースデータを指し、対話は、1つまたは複数の好適なタイプの媒体(たとえば、ヘルプライン、チャットルーム、またはメッセージ列、電子メール列)内の通信または会話を含む。本明細書では、「発話木」は、発話の意味表現を記憶するデータ構造を指す。論じるように、発話木は、発話の構文構造を表す木構造(たとえば、依存性解析木構造)を有し、木構造のノードは、発話の意味論的意味を符号化するベクトル(たとえば、単語ベクトル、部分木ベクトル)を記憶する。
【0023】
本明細書では、「ソースデータ」または「会話ログ」は、様々なエージェント間の任意の好適な捕捉された対話を含むことができ、そのような対話には、それだけに限定されるものではないが、チャットログ、電子メール列、文書、文書化ヘルプ、よくある質問(FAQ)、フォーラムエントリ、サポートチケッティングのアイテム、ヘルプライン通話の記録などが含まれる。本明細書では、「発話」は、1つまたは複数の意図を含むことができるユーザまたはエージェントによってなされた単一の自然言語発言を指す。したがって、発話は、事前に捕捉されたソースデータのコーパスの一部とすることができ、発話はまた、仮想エージェントとの対話の一部としてユーザから受け取った新しい発言とすることができる。本明細書では、「機械学習」または「ML」は、教師あり、教師なし、および半教師ありの学習技法を含む機械学習技法を使用して訓練することが可能な任意の好適な統計的な形態の人工知能を指すために使用することができる。たとえば、特定の実施形態では、MLベースの技法は、人工ニューラルネットワーク(ANN)(たとえば、ディープニューラルネットワーク(DNN)、回帰型ニューラルネットワーク(RNN)、再帰型ニューラルネットワーク、順伝播型ニューラルネットワーク)を使用して実施することができる。対照的に、「規則ベース」の方法および技法は、発話から意味表現を導出するために言語構造および意味論的理解の精密な判断を有効にする精度規則セットおよび手作りのオントロジの使用を指す。本明細書では、「ベクトル」(たとえば、単語ベクトル、意図ベクトル、対象ベクトル、部分木ベクトル)は、発話の一部分(たとえば、単語またはフレーズ、意図、実体、トークン)の意味論的意味の数学表現を提供する浮動小数点値の順序付きのn次元リスト(たとえば、300次元リスト)(たとえば、1×NまたはN×1行列)である線形代数ベクトルを指す。本明細書では、「ドメイン特異性」は、所与のドメインおよび/または会話チャネル内の実際の会話で表される意図および実体を正確に抽出するためにシステムがどれだけ調和されるかを指す。
【0024】
上述したように、コンピューティングプラットホームは、プラットホーム上で機能を実行しまたは問題に対処するためのユーザ要求に自動的に応答するように設計されたチャットエージェントまたは別の類似の仮想エージェントを含むことができる。自然言語発話からユーザの意図を導出しようとするとき、単一の発話が、その発話のトークンに対して異なる潜在的な品詞(POS)タギングを有することができ、これらの異なるPOSタギングは、その発話の異なる形式派生を表すことが現在認識されている。その結果、単一の発話に対して複数の異なる意味表現(たとえば、発話木)を生成することができ、各意味表現は、その発話の別個の形式派生を表す。発話のすべての可能な形式派生を与えることで、十分な考慮により、NLUフレームワークの意図推定能力が改善されることが現在認識されている。しかし、発話の特定の形式派生は、すでに考慮されている他の形式にとって誤っておりまたは実質的に冗長である可能性があり、NLUフレームワークの意図推定能力を実質的に改善することなく、処理およびメモリ資源の消費を実質的に増大させる可能性があることも現在認識されている。
【0025】
したがって、本実施形態は、自然言語発話に対する複数の意味表現を生成するためにMLベースおよび規則ベースの技法を適用する意味抽出サブシステムを含むNLUフレームワークを対象とする。意味抽出サブシステムは、構造サブシステムを含み、構造サブシステムは、理解モデルのサンプル発話の複数の意味表現を生成して、探索空間を拡大することが可能であり、かつ/または受け取ったユーザ発話の複数の意味表現を生成して、探索鍵を拡大することが可能である。開示する構造サブシステムは、MLベースの技法を使用して発話に対する複数の潜在的な品詞(POS)タギングを生成し、事前定義された閾値より大きい対応する信頼性スコアを有する潜在的POSタギングのみが前へ進められる。開示する構造サブシステムは、規則ベースおよび/またはMLベースの補正技法を適用して、誤った潜在的POSタギングを修正または削除することができる。開示する構造サブシステムはまた、変動性フィルタを適用して、事前定義された変動閾値に基づいて互いに十分に異ならない潜在的POSタギングを削除することができる。補正および/または変動性フィルタリング後、開示する構造サブシステムは、MLベースまたは規則ベースの技法を使用して、各々の残りの潜在的POSタギングに対してそれぞれの意味表現(たとえば、発話木)を生成し、事前定義された閾値より大きい対応する信頼性スコアを有する意味表現のみが前へ進められる。最終的に、開示する構造サブシステムは、前へ進められた意味表現の信頼性スコア、ならびに対応するPOSタギングの根本的な信頼性スコアを考慮する最終スコアリングおよびフィルタリングステップを適用して、最終的なスコアを生成し、事前定義された閾値を下回る最終的なスコアを有する意味表現を除去する。したがって、開示する構造サブシステムは、意味探索の探索鍵および/または探索空間のために生成される形式派生の数を効果的に拡大して、NLUフレームワークの意図推定能力を改善しながら、誤ったまたは実質的に冗長な形式派生を削除して、資源消費を低減させ、NLUフレームワークの効率を改善する。
【0026】
さらに、意味探索の様々な段階を実行するとき、弾性(たとえば、非静的、可変)の閾値を使用することによって、意味探索の品質を強化することができることが現在認識されている。したがって、本実施形態は、弾性閾値を使用して意味探索動作を実行することが可能な意味探索サブシステムを含むNLUフレームワークを対象とする。たとえば、ユーザ発話に対する意味表現が生成され、サンプル空間にサンプル発話の意味表現が格納された後、第1の探索動作が、弾性ビーム幅のCCG形式ベースの探索を使用して、競合整合意味表現セットを識別することができる。探索の各CCG比較は、1群の潜在的な信頼値(たとえば、推論レベルの信頼値、モデルレベルの信頼値、アーティファクトレベルの信頼値)のうちの最小の信頼値である総最小信頼性閾値(AMCT)の値に基づく弾性信頼性閾値を有する。AMCT値は、CCG形式ベースの探索のための動的閾値を定義する緩和されたAMCT値をもたらすために、緩和関数によってさらに拡大される。弾性信頼性閾値を使用することによって、CCG形式ベースの探索は、潜在的整合意味表現に、探索動作の初期比較から低信頼性スコアを受け取ることに耐える機会を与え、したがって意味表現は、探索動作の後の比較においてその信頼性スコアを増大させることができ、最後のアーティファクト(たとえば、意図および/または実体)抽出に対する最終整合意味表現セットに到達する資格を得ることができることが現在認識されている。
【0027】
同様に、弾性(たとえば、非静的、可変)の閾値を使用することによって、意味探索の他の態様も強化することができる。たとえば、意味探索サブシステムによって実行される第2の探索動作は、弾性ビーム幅のアーティファクト内探索を使用して、弾性ビーム幅のCCG形式ベースの探索によって識別された各々の潜在的整合意味表現と、探索空間のうち、潜在的整合意味表現と共通の意図を共有する部分とを比較することができる。CCG形式ベースの探索と同様に、弾性ビーム幅のアーティファクト内探索における各比較動作は、理解モデルにおけるアーティファクト(たとえば、意図または実体)に対するアーティファクトレベルの信頼値であるモデルアーティファクト信頼性閾値(MACT)の値に基づく弾性信頼性閾値を有する。MACT値は、アーティファクト内探索のための動的閾値を定義する緩和されたMACT値をもたらすために、第2の緩和関数によってさらに拡大される。弾性信頼性閾値を使用することによって、アーティファクト内探索は、潜在的整合意味表現に、探索動作の初期比較から低信頼性スコアを受け取ることに耐える機会を与え、したがって意味表現は、探索動作の後の比較においてその信頼性スコアを増大させることができ、最後のアーティファクト(たとえば、意図および/または実体)抽出に対する最終整合意味表現セットに到達する資格を得ることができることが現在認識されている。したがって、開示する意味探索サブシステムは、普通なら意味探索中に早すぎる段階で除かれうる整合意味表現をより効果的かつ包括的に識別し、NLUフレームワークの動作および性能を改善する。
【0028】
上記を念頭に、以下の図は、マルチインスタンスフレームワーク内の組織へサービスを提供するために用いることができ、本手法を用いることができる、様々なタイプの概略的なシステムアーキテクチャまたは構成に関する。それに対応して、これらのシステムおよびプラットホーム例はまた、本明細書に論じる技法を実施しまたは他の形で利用することができるシステムおよびプラットホームに関することができる。
図1を次に参照すると、本開示の実施形態が動作することができるクラウドコンピューティングシステム10の一実施形態の概略図が示されている。クラウドコンピューティングシステム10は、クライアントネットワーク12、ネットワーク18(たとえば、インターネット)、およびクラウドベースのプラットホーム20を含むことができる。いくつかの実施例では、クラウドベースのプラットホーム20は、構成管理データベース(CMDB)プラットホームとすることができる。一実施形態では、クライアントネットワーク12は、それだけに限定されるものではないが、スイッチ、サーバ、およびルータを含む、様々なネットワークデバイスを有するローカルエリアネットワーク(LAN)などのローカル私用ネットワークとすることができる。別の実施形態では、クライアントネットワーク12は、1つまたは複数のLAN、仮想ネットワーク、データセンタ22、および/または他の遠隔のネットワークを含みうる企業ネットワークを表す。
図1に示すように、クライアントネットワーク12は、1つまたは複数のクライアントデバイス14A、14B、および14Cに接続することが可能であり、したがってクライアントデバイスは、互いに通信しかつ/またはプラットホーム20をホストするネットワークと通信することが可能である。クライアントデバイス14は、全体としてモノのインターネット(IoT)デバイスと呼ばれるコンピューティングシステムおよび/または他のタイプのコンピューティングデバイスとすることができ、そのようなデバイスは、たとえばウェブブラウザアプリケーションを介して、またはクライアントデバイス14とプラットホーム20との間のゲートウェイとして作用することができるエッジデバイス16を介して、クラウドコンピューティングサービスにアクセスする。
図1はまた、クライアントネットワーク12が、プラットホーム20、他の外部アプリケーション、データソース、およびサービスをホストするネットワークと、クライアントネットワーク12との間のデータの通信を容易にする、管理、計測、および発見(MID)サーバ17などの運営または管理デバイス、エージェント、またはサーバを含むことを示す。
図1には具体的に示されていないが、クライアントネットワーク12はまた、接続ネットワークデバイス(たとえば、ゲートウェイまたはルータ)、または顧客ファイアウォールもしくは侵入保護システムを実施するデバイスの組合せを含むことができる。
【0029】
図示の実施形態では、
図1は、クライアントネットワーク12がネットワーク18に結合されることを示す。ネットワーク18は、クライアントデバイス14A~14Cとプラットホーム20をホストするネットワークとの間でデータを伝達するために、他のLAN、ワイドエリアネットワーク(WAN)、インターネット、および/または他の遠隔ネットワークなどの1つまたは複数のコンピューティングネットワークを含むことができる。ネットワーク18内のコンピューティングネットワークの各々は、電気および/または光学ドメインで動作する有線および/または無線のプログラマブルデバイスを含むことができる。たとえば、ネットワーク18は、セルラーネットワーク(たとえば、Global System for Mobile Communications(GSM)ベースのセルラーネットワーク)、IEEE802.11ネットワーク、および/または他の好適な無線ベースのネットワークなどの無線ネットワークを含むことができる。ネットワーク18はまた、伝送制御プロトコル(TCP)およびインターネットプロトコル(IP)などの任意の数のネットワーク通信プロトコルを用いることができる。
図1には明示的に示されていないが、ネットワーク18は、ネットワーク18を介してデータを輸送するように構成されたサーバ、ルータ、ネットワークスイッチ、および/または他のネットワークハードウェアデバイスなどの様々なネットワークデバイスを含むことができる。
【0030】
図1で、プラットホーム20をホストするネットワークは、クライアントネットワーク12およびネットワーク18を介してクライアントデバイス14と通信することが可能な遠隔ネットワーク(たとえば、クラウドネットワーク)とすることができる。プラットホーム20をホストするネットワークは、クライアントデバイス14および/またはクライアントネットワーク12に追加のコンピューティング資源を提供する。たとえば、プラットホーム20をホストするネットワークを利用することによって、クライアントデバイス14のユーザは、様々な企業、IT、および/または他の組織関連の機能のためのアプリケーションを構築および実行することが可能になる。一実施形態では、プラットホーム20をホストするネットワークは、1つまたは複数のデータセンタ22上で実施され、各データセンタは、異なる地理的な場所に対応することができる。データセンタ22の各々は、複数の仮想サーバ24(本明細書では、アプリケーションノード、アプリケーションサーバ、仮想サーバインスタンス、アプリケーションインスタンス、またはアプリケーションサーバインスタンスとも呼ぶ)を含み、各仮想サーバ24は、単一の電子コンピューティングデバイス(たとえば、単一の物理ハードウェアサーバ)などの物理コンピューティングシステム上で実施することができ、または複数のコンピューティングデバイス(たとえば、複数の物理ハードウェアサーバ)にわたって実施することができる。仮想サーバ24の例には、それらだけに限定されるものではないが、ウェブサーバ(たとえば、単体のApacheの導入)、アプリケーションサーバ(たとえば、単体のJAVA仮想マシン)、および/またはデータベースサーバ(たとえば、単体の関係データベース管理システム(RDBMS)カタログ)が含まれる。
【0031】
プラットホーム20内でコンピューティング資源を利用するために、ネットワークオペレータは、様々なコンピューティングインフラストラクチャを使用して、データセンタ22を構成することを選ぶことができる。一実施形態では、データセンタ22のうちの1つまたは複数は、サーバインスタンス24のうちの1つが複数の顧客からの要求を取り扱って複数の顧客を担当するように、マルチテナントクラウドアーキテクチャを使用して構成される。マルチテナントクラウドアーキテクチャを有するデータセンタ22は、複数の顧客からのデータを混ぜ合わせて記憶し、複数の顧客インスタンスが、仮想サーバ24のうちの1つに割り当てられる。マルチテナントクラウドアーキテクチャでは、特定の仮想サーバ24は、様々な顧客のデータおよび他の情報を区別して分離する。たとえば、マルチテナントクラウドアーキテクチャは、各顧客からデータを識別して分離するために、各顧客に対する特定の識別子を割り当てることができる。概して、マルチテナントクラウドアーキテクチャを実施すると、サーバインスタンス24のうちの特定のサーバインスタンス24の障害が、特定のサーバインスタンスに割り当てられたすべての顧客に対して機能停止を引き起こすなど、様々な欠点が生じる可能性がある。
【0032】
別の実施形態では、データセンタ22のうちの1つまたは複数は、すべての顧客に1つまたは複数の固有の顧客インスタンスを提供するように、マルチインスタンスクラウドアーキテクチャを使用して構成される。たとえば、マルチインスタンスクラウドアーキテクチャは、各顧客インスタンスに、独自の専用のアプリケーションサーバおよび専用のデータベースサーバを提供することができる。他の例では、マルチインスタンスクラウドアーキテクチャは、各顧客インスタンスに対して、1つまたは複数の専用のウェブサーバ、1つまたは複数の専用のアプリケーションサーバ、および1つまたは複数のデータベースサーバなど、単一の物理もしくは仮想サーバ24、ならびに/または物理および/もしくは仮想サーバ24の他の組合せを配備することができる。マルチインスタンスクラウドアーキテクチャでは、1つまたは複数のそれぞれのハードウェアサーバ上に、複数の顧客インスタンスを導入することができ、各顧客インスタンスには、コンピューティングメモリ、記憶、および処理電力などの物理サーバ資源の特定の部分が割り当てられる。そうすることによって、各顧客インスタンスは、固有のソフトウェアスタックを有し、それによりデータ分離、顧客がプラットホーム20にアクセスするための比較的短いダウンタイム、および顧客によって駆動されるアップグレードスケジュールの利益が提供される。マルチインスタンスクラウドアーキテクチャ内で顧客インスタンスを実施する一例について、
図2を参照して以下により詳細に論じる。
【0033】
図2は、本開示の実施形態が動作することができるマルチインスタンスクラウドアーキテクチャ40の一実施形態の概略図である。
図2は、マルチインスタンスクラウドアーキテクチャ40が、互いに地理的に分離することができる2つの(たとえば、対の)データセンタ22Aおよび22Bに接続するクライアントネットワーク12およびネットワーク18を含むことを示す。
図2を一例として使用すると、ネットワーク環境およびサービスプロバイダクラウドインフラストラクチャのクライアントインスタンス42(本明細書では、クライアントインスタンス42とも呼ぶ)が、専用の仮想サーバ(たとえば、仮想サーバ24A、24B、24C、および24D)および専用のデータベースサーバ(たとえば、仮想データベースサーバ44Aおよび44B)に関連付けられる(たとえば、対応されて有効にされる)。言い換えれば、仮想サーバ24A~24Dならびに仮想データベースサーバ44Aおよび44Bは、他のクライアントインスタンスによって共有されず、それぞれのクライアントインスタンス42に特異である。図示の例では、クライアントインスタンス42の利用可能性を促進するために、仮想サーバ24A~24Dならびに仮想データベースサーバ44Aおよび44Bは、2つの異なるデータセンタ22Aおよび22Bに割り当てられ、したがってデータセンタ22のうちの1つが、バックアップデータセンタとして作用する。マルチインスタンスクラウドアーキテクチャ40の他の実施形態は、ウェブサーバなどの他のタイプの専用の仮想サーバを含むことができる。たとえば、クライアントインスタンス42は、専用の仮想サーバ24A~24D、専用の仮想データベースサーバ44Aおよび44B、ならびに追加の専用の仮想ウェブサーバ(
図2には図示せず)に関連付けることができる(たとえば、対応されて有効にされる)。
【0034】
図1および
図2は、それぞれクラウドコンピューティングシステム10およびマルチインスタンスクラウドアーキテクチャ40の特有の実施形態を示すが、本開示は、
図1および
図2に示す特有の実施形態に限定されるものではない。たとえば、
図1は、プラットホーム20がデータセンタを使用して実施されることを示すが、プラットホーム20の他の実施形態は、データセンタに限定されるものではなく、他のタイプの遠隔ネットワークインフラストラクチャを利用することもできる。さらに、本開示の他の実施形態は、1つまたは複数の異なる仮想サーバを組み合わせて単一の仮想サーバにすることができ、または逆に、複数の仮想サーバを使用して、単一の仮想サーバに起因する動作を実行することもできる。たとえば、
図2を一例として使用すると、仮想サーバ24A、24B、24C、24Dおよび仮想データベースサーバ44A、44Bを組み合わせて単一の仮想サーバにすることができる。さらに、本手法は、それだけに限定されるものではないが、本明細書に論じる動作のいくつかまたはすべてを実行するように構成されたマルチテナントアーキテクチャ、概略的なクライアント/サーバの実施例、および/または単一の物理プロセッサベースのデバイスを含む他のアーキテクチャまたは構成で実施することができる。同様に、実施例の議論を容易にするために、仮想サーバまたは機械を参照することがあるが、代わりに物理サーバを適宜用いることもできる。
図1および
図2の使用および議論は、記載および説明を容易にするための単なる例であり、これらの図に示す特有の例に本開示を限定することを意図したものではない。
【0035】
理解することができるように、
図1および
図2に関連して論じるそれぞれのアーキテクチャおよびフレームワークは、全体にわたって、様々なタイプのコンピューティングシステム(たとえば、サーバ、ワークステーション、クライアントデバイス、ラップトップ、タブレットコンピュータ、セルラー電話など)を組み込む。完全を期すために、そのようなシステムで典型的に見られる構成要素の簡単な高レベルの概要を提供する。理解することができるように、本概要は、そのようなコンピューティングシステムで典型的な構成要素についての高レベルの概略的な考えを提供することだけを意図したものであり、論じる構成要素または議論から省略した構成要素に関して限定すると見なされるべきではない。
【0036】
背景として、本手法は、
図3などに示す1つまたは複数のプロセッサベースのシステムを使用して実施することができることが理解されよう。同様に、本手法で利用されるアプリケーションおよび/またはデータベースは、そのようなプロセッサベースのシステム上で記憶、利用、および/または維持することができる。理解することができるように、
図3に示すそのようなシステムは、分散されたコンピューティング環境、ネットワーク化された環境、または他の複数のコンピュータを含むプラットホームもしくはアーキテクチャに存在することができる。同様に、
図3に示すものなどのシステムは、本手法を実施することができる1つもしくは複数の仮想環境もしくは計算インスタンスに対応する状態、またはそのような仮想環境もしくは計算インスタンスと通信する状態で使用することができる。
【0037】
これを念頭に、例示的なコンピュータシステムは、
図3に示すコンピュータ構成要素のいくつかまたはすべてを含むことができる。
図3は、全体として、コンピューティングシステム80の例示的な構成要素、および1つまたは複数のバスなどに沿ったそれらの潜在的な相互接続または通信経路のブロック図を示す。図示のように、コンピューティングシステム80は、それだけに限定されるものではないが、1つもしくは複数のプロセッサ82、1つもしくは複数のバス84、メモリ86、入力デバイス88、電源90、ネットワークインターフェース92、ユーザインターフェース94、および/または本明細書に記載する機能を実行するのに有用な他のコンピュータ構成要素など、様々なハードウェア構成要素を含むことができる。
【0038】
1つまたは複数のプロセッサ82は、メモリ86に記憶された命令を実行することが可能な1つまたは複数のマイクロプロセッサを含むことができる。追加または別法として、1つまたは複数のプロセッサ82は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、および/またはメモリ86から命令を呼び出すことなく本明細書に論じる機能のいくつかもしくはすべてを実行するように設計された他のデバイスを含むことができる。
【0039】
他の構成要素に対して、1つまたは複数のバス84は、コンピューティングシステム80の様々な構成要素間にデータおよび/または電力を提供するために、好適な電気チャネルを含む。メモリ86は、任意の有形の非一時的コンピュータ可読記憶媒体を含むことができる。
図1には単一のブロックとして示されているが、メモリ86は、1つまたは複数の物理的な場所において、同じまたは異なるタイプの複数の物理ユニットを使用して実施することができる。入力デバイス88は、1つまたは複数のプロセッサ82へデータおよび/またはコマンドを入力するための構造に対応する。たとえば、入力デバイス88は、マウス、タッチパッド、タッチスクリーン、キーボードなどを含むことができる。電源90は、回線電力および/または電池ソースなど、コンピューティングデバイス80の様々な構成要素の任意の好適な電源とすることができる。ネットワークインターフェース92は、1つまたは複数のネットワーク(たとえば、通信チャネル)を介して他のデバイスと通信することが可能な1つまたは複数のトランシーバを含む。ネットワークインターフェース92は、有線ネットワークインターフェースまたは無線ネットワークインターフェースを提供することができる。ユーザインターフェース94は、1つまたは複数のプロセッサ82との間で伝達されるテキストまたは画像を表示するように構成されたディスプレイを含むことができる。ディスプレイに対する追加および/または代替として、ユーザインターフェース94は、ライト(たとえば、LED)、スピーカなど、ユーザと連係するための他のデバイスを含むことができる。
【0040】
上記に論じたクラウドベースのプラットホーム20は、NLU技術を利用することができるアーキテクチャの一例を提供することを理解されたい。特に、クラウドベースのプラットホーム20は、大規模なソースデータコーパスを含みまたは記憶することができ、そのようなコーパスは、意図-実体モデルを含む複数の出力の生成を容易にするために採掘することができる。たとえば、クラウドベースのプラットホーム20は、特定のシステムの変更または修理のための要求、要求者と問題に対処しようとするサービス技師または管理者との間のダイアログ、チケットが最終的にどのように解決されたかについての説明などを有するチケッティングソースデータを含むことができる。次いで、生成された意図-実体モデルは、将来の要求における意図を分類するための基礎として働くことができ、ユーザからの自然言語要求に基づいてクラウドベースのプラットホーム20内で将来の問題に自動的に対処することができる仮想エージェントに対応するように会話モデルを生成および改善するために使用することができる。したがって、本明細書に記載する特定の実施形態では、開示するエージェント自動化フレームワークは、クラウドベースのプラットホーム20に組み込まれており、他の実施形態では、以下に論じるように、エージェント自動化フレームワークは、発話を処理するようにクラウドベースのプラットホーム20に通信可能に結合された好適なシステムによって(クラウドベースのプラットホーム20とは別個に)ホストおよび実行することができる。
【0041】
上記を念頭に、
図4Aは、クライアントインスタンス42に関連するエージェント自動化フレームワーク100(本明細書では、エージェント自動化システム100とも呼ぶ)を示す。より具体的には、
図4Aは、上記で論じたクラウドベースのプラットホーム20を含む、サービスプロバイダクラウドインフラストラクチャの一部分の一例を示す。クラウドベースのプラットホーム20は、クライアントインスタンス42内で実行されるネットワークアプリケーションに(たとえば、クライアントデバイス14Dのウェブブラウザを介して)ユーザインターフェースを提供するように、ネットワーク18を介してクライアントデバイス14Dに接続される。クライアントインスタンス42は、
図2に関して説明したものに類似した仮想サーバによって対応され、ここでは、クライアントインスタンス42内で本明細書に記載する開示の機能に対応することを示すように示されている。クラウドプロバイダインフラストラクチャは概して、クライアントデバイス14Dなどの複数のエンドユーザデバイスに同時に対応するように構成され、各エンドユーザデバイスは、単一のクライアントインスタンス42と通信している。また、クラウドプロバイダインフラストラクチャは、クライアントインスタンス42などの任意の数のクライアントインスタンスに同時に対応するように構成することができ、インスタンスの各々は、1つまたは複数のエンドユーザデバイスと通信している。上述したように、エンドユーザはまた、ウェブブラウザ内で実行されるアプリケーションを使用して、クライアントインスタンス42と連係することができる。
【0042】
図4Aに示すエージェント自動化フレームワーク100の実施形態は、挙動エンジン(BE)102、NLUフレームワーク104、およびデータベース106を含み、これらはクライアントインスタンス42内で通信可能に結合される。BE102は、自然言語ユーザ要求122(本明細書では、ユーザ発話122または発話122とも呼ぶ)およびエージェント応答124(本明細書では、エージェント発話124とも呼ぶ)を介してクライアントデバイス14Dのユーザと対話する任意の好適な数の仮想エージェントまたはペルソナをホストしまたは含むことができる。実際の実施例では、エージェント自動化フレームワーク100は、本開示による意味抽出サブシステム、意味探索サブシステムなどを含む複数の他の好適な構成要素を含むことができることに留意されたい。
【0043】
図4Aに示す実施形態では、データベース106は、データベースサーバインスタンス(たとえば、
図2に関して論じたデータベースサーバインスタンス44Aまたは44B)、または1群のデータベースサーバインスタンスとすることができる。図示のデータベース106は、データベース106の1つまたは複数のテーブル(たとえば、関係データベーステーブル)内に、意図-実体モデル108、会話モデル110、発話コーパス112、および1群の規則114を記憶する。意図-実体モデル108は、特定のサンプル発話を介して、特定の意図と特定の実体との間の関連または関係を記憶する。特定の実施形態では、意図-実体モデル108は、設計者が好適な作成ツールを使用して作成することができる。他の実施形態では、エージェント自動化フレームワーク100は、データベース106の1つまたは複数のテーブルに記憶された発話コーパス112および1群の規則114から、意図-実体モデル108を生成する。いくつかの実施形態では、意図-実体モデル108はまた、作成された技法およびML技法の組合せに基づいて判定することができる。いずれにせよ、開示する意図-実体モデル108は、意図および/または実体の任意の好適な組合せを、発話コーパス112のうちのそれぞれの発話コーパス112に関連付けることができることを理解されたい。以下に論じる実施形態では、意図-実体モデル108のサンプル発話は、理解モデルの意味表現を生成して、意味探索に対する探索空間を定義するために使用される。
【0044】
図4Aに示す実施形態では、会話モデル110は、意図-実体モデル108の意図と、概してBE102の挙動を定義する特定の応答および/または行動との間の関連を記憶する。特定の実施形態では、会話モデル内の関連の少なくとも一部分は、設計者が、処理された発話内の特定の識別されたアーティファクトにBE102がどのように応答することを望むかに基づいて、BE102の設計者によって手動で作成または事前定義される。異なる実施形態では、データベース106は、コンパイルモデルテンプレートデータ(たとえば、クラス互換性規則、クラスレベルスコアリング係数、木モデル比較アルゴリズム、木下位構造ベクトル化アルゴリズム)、意味表現などに関する情報を記憶するテーブルなど、意図分類に関係する他の情報を記憶する他のデータベーステーブルを含むことができることに留意されたい。
【0045】
図示の実施形態では、NLUフレームワーク104は、NLUエンジン116および語彙マネージャ118を含む。NLUフレームワーク104は、任意の好適な数の他の構成要素を含むことができることが理解されよう。特定の実施形態では、NLUエンジン116は、発話の単語またはフレーズから単語ベクトル(たとえば、意図ベクトル、対象または実体ベクトル、部分木ベクトル)を生成すること、ならびにこれらのベクトル間の距離(たとえば、ユークリッド距離)を判定することを含む、NLUフレームワーク104の複数の機能を実行するように設計される。たとえば、NLUエンジン116は、概して、分析された発話の各意図に対して、それぞれの意図ベクトルを作り出すことが可能である。したがって、2つの意図に対してNLUエンジン116によって作り出されたそれぞれの意図ベクトルを使用して、2つの異なる発話間の類似性測度または距離を計算することができ、類似性測度は、2つの意図間の意味の類似性の指示を提供する。
【0046】
語彙マネージャ118(以下に論じる語彙サブシステムの一部とすることができる)は、語彙訓練中にNLUフレームワーク104によって遭遇されなった語彙外の単語および記号に対処する。たとえば、特定の実施形態では、語彙マネージャ118は、エージェント自動化フレームワーク100によって(たとえば、1群の規則114に基づいて)分析された発話内の単語および頭字語の同義語およびドメイン特有の意味を識別および交換することができ、それによりコンテキスト特有の発話内の意図および実体を適切に識別するように、NLUフレームワーク104の性能を改善することができる。加えて、自然言語の傾向に対応して、既存の単語に対する新しい用法を採用するために、特定の実施形態では、語彙マネージャ118は、コンテキストの変化に基づいて、他の意図または実体に以前に関連付けられた単語を別の目的で利用するように取り扱う。たとえば、語彙マネージャ118は、特定のクライアントインスタンスおよび/または会話チャネルからの発話のコンテキストにおいて、「バイク(bike)」という単語が、実際には自転車ではなくモータサイクルを指す状況を取り扱うことができる。
【0047】
意図-実体モデル108および会話モデル110が作成された後、エージェント自動化フレームワーク100は、ユーザ発話122(自然言語要求の形態)を受け取り、その要求に対処するために適当な行動をとるように設計される。たとえば、
図4Aに示す実施形態では、BE102は、ネットワーク18を介して、クライアントネットワーク12上に配置されたクライアントデバイス14Dによって提出される発話122(たとえば、チャット通信における自然言語要求)を受け取る仮想エージェントである。BE102は、NLUフレームワーク104に発話122を提供し、NLUエンジン116は、以下に論じるNLUフレームワークの様々なサブシステムとともに、意図-実体モデル108に基づいて発話122を処理し、発話内のアーティファクト(たとえば、意図および/または実体)を導出する。NLUエンジン116によって導出されたアーティファクト、ならびに会話モデル110内の関連に基づいて、BE102は、1つまたは複数の特定の事前定義された行動を実行する。図示の実施形態では、BE102はまた、たとえば受け取ったユーザ発話122に応答してBE102によって実行される行動を示す応答124(たとえば、仮想エージェント発話124または確認)を、ネットワーク18を介してクライアントデバイス14Dに提供する。加えて、特定の実施形態では、発話122は、NLUフレームワーク104内の継続学習のために、データベース106内に記憶された発話112に追加することができる。
【0048】
他の実施形態では、エージェント自動化フレームワーク100および/またはNLUフレームワーク104の1つまたは複数の構成要素は、改善された性能のために、他の方法で配置、位置決め、またはホストすることができることが理解されよう。たとえば、特定の実施形態では、NLUフレームワーク104の1つまたは複数の部分は、クライアントインスタンス42とは別個であるがクライアントインスタンス42に通信可能に結合されたインスタンス(たとえば、共有インスタンス、企業インスタンス)によってホストすることができる。そのような実施形態は、有利には、クライアントインスタンス42のサイズを低減させ、それによりクラウドベースのプラットホーム20の効率を改善することができることが現在認識されている。特に、特定の実施形態では、以下に論じる類似性スコアリングサブシステムの1つまたは複数の構成要素は、探索空間内の好適な整合意味表現のために改善された意味探索を有効にし、発話122に対するアーティファクト整合の識別を有効にするように、クライアントインスタンス42ならびに他のクライアントインスタンスに通信可能に結合された別個のインスタンス(たとえば、企業インスタンス)によってホストすることができる。
【0049】
上記を念頭に、
図4Bは、エージェント自動化フレームワーク100の代替実施形態を示し、この実施形態では、NLUフレームワーク104のいくつかの部分が、クラウドベースのプラットホーム20によってホストされる別個の共有インスタンス(たとえば、企業インスタンス125)によって代わりに実行される。図示の企業インスタンス125は、好適なプロトコル(たとえば、好適なRepresentational State Transfer(REST)要求/応答)を介して、任意の好適な数のクライアントインスタンスと、アーティファクトの採掘および分類に関係するデータを交換するように通信可能に結合される。したがって、
図4Bに示す設計の場合、複数のクライアントインスタンス42にアクセス可能な共有資源としてNLUフレームワークの一部分をホストすることによって、クライアントインスタンス42のサイズを実質的に低減させることができ(たとえば、
図4Aに示すエージェント自動化フレームワーク100の実施形態と比較)、エージェント自動化フレームワーク100の全体的な効率を改善することができる。
【0050】
特に、
図4Bに示すNLUフレームワーク104は、NLUフレームワーク104内で別個のプロセスを実行する3つの別個の構成要素に分割される。これらの構成要素は、企業インスタンス125によってホストされる共有NLU訓練部126と、企業インスタンス125によってホストされる共有NLU注釈部127と、クライアントインスタンス42によってホストされるNLU予測部128とを含む。
図4Aおよび
図4Bに示す組織は、単なる例であり、本開示によれば、他の実施形態において、NLUフレームワーク104および/またはエージェント自動化フレームワーク100の他の組織を使用することもできることが理解されよう。
【0051】
図4Bに示すエージェント自動化フレームワーク100の実施形態では、共有NLU訓練部126は、クライアントインスタンス42から発話コーパス112を受け取り、意味論的採掘(たとえば、意味論的解析、文法工学などを含む)を実行して、意図-実体モデル108の生成を容易にするように設計される。意図-実体モデル108が生成された後、BE102が、クライアントデバイス14Dによって提供されるユーザ発話122を受け取ったとき、NLU予測部128は、発話122の解析および注釈のために、発話122および意図-実体モデル108を共有NLU注釈部127に渡す。共有NLU注釈部127は、意図-実体モデル108に基づいて、発話122の意味論的解析、文法工学などを実行し、発話122の意味表現(たとえば、発話木)をクライアントインスタンス42のNLU予測部128へ返す。次いでNLU予測部128は、以下により詳細に論じる発話122のこれらの注釈付き構造を使用して、意図-実体モデル108から整合する意図を識別し、したがってBE102は、識別された意図に基づいて、1つまたは複数の行動を実行することができる。以下に論じるように、共有NLU注釈部127は、NLUフレームワーク104の意味抽出サブシステム150に対応することができ、NLU予測部は、意味探索サブシステム152に対応することができることが理解されよう。
【0052】
図5は、挙動エンジン(BE)102およびNLUフレームワーク104がエージェント自動化フレームワーク100の一実施形態においてそれぞれの役割を実行するプロセス145を示す流れ図である。図示の実施形態では、NLUフレームワーク104は、意図-実体モデル108に基づいて、受け取ったユーザ発話122を処理し、アーティファクト140(たとえば、意図および/または実体)を抽出する。抽出されたアーティファクト140は、BE102によって消費可能な形式で、ユーザ発話122の意図および実体を表す1群の記号として実施することができる。したがって、これらの抽出されたアーティファクト140は、BE102へ提供され、BE102は、会話モデル110に基づいて、受け取ったアーティファクト140を処理し、受け取ったユーザ発話122に応答して、好適な行動142(たとえば、パスワードの変更、記録の作成、アイテムの購入、アカウントの閉鎖)および/または仮想エージェント発話124を判定する。矢印144によって示すように、プロセス145は、エージェント自動化フレームワーク100が会話形式において同じユーザおよび/または他のユーザから追加のユーザ発話122を受け取ってそれに対処するとき、連続して繰り返すことができる。
【0053】
図5に示すように、特定の状況では、好適な行動142が実行された後、さらなる行動または通信を行うことができないことが理解されよう。加えて、本明細書では、ユーザ発話122およびエージェント発話124について、書かれた会話媒体またはチャネル(たとえば、チャット、電子メール、チケッティングシステム、テキストメッセージ、フォーラムポスト)を使用して伝達されるものとして論じたが、本開示によれば、他の実施形態において、話されたユーザ発話122をテキストに変換し、かつ/またはテキストベースのエージェント発話124をスピーチに変換して、音声対話システムを有効にするために、音声-テキストおよび/またはテキスト-音声モジュールまたはプラグインを含むこともできることに留意されたい。さらに、特定の実施形態では、ユーザ発話122および仮想エージェント発話124はどちらも、エージェント自動化フレームワーク100における新しい構造および語彙の継続学習を有効にするために、データベース106(たとえば、発話コーパス112)内に記憶することができる。
【0054】
上述したように、NLUフレームワーク104は、NLUの難題を管理しやすい探索問題に変換するように協働する2つの1次サブシステム、すなわち意味抽出サブシステムおよび意味探索サブシステムを含む。たとえば、
図6は、エージェント自動化フレームワーク100の一実施形態におけるNLUフレームワーク104の意味抽出サブシステム150および意味探索サブシステム152の役割を示すブロック図である。図示の実施形態では、
図6の右側部分154は、NLUフレームワーク104の意味抽出サブシステム150が意図-実体モデル108を受け取るところを示し、意図-実体モデル108は、このモデルの様々なアーティファクトの各々に対するサンプル発話155を含む。意味抽出サブシステム150は、意図-実体モデル108のサンプル発話155の意味表現158(たとえば、サンプル意味表現)を含む理解モデル157を生成する。言い換えれば、理解モデル157は、以下により詳細に論じるように、意味探索サブシステム152による探索(たとえば、比較および整合)を有効にするために意味表現158(たとえば、探索鍵意味表現)を含む意図-実体モデル108の変換または拡大版である。したがって、
図6の右側部分154は、概して、たとえば定期的に、予定どおりに、または意図-実体モデル108の更新に応答して、ユーザ発話122を受け取る前に実行されることが理解されよう。
【0055】
図6に示す実施形態では、左側部分156は、意味抽出サブシステム150がまた、ユーザ発話122を受け取って処理し、少なくとも1つの意味表現162を有する発話意味モデル160(本明細書では、探索鍵160とも呼ぶ)を生成するところを示す。以下により詳細に論じるように、これらの意味表現158および162は、発話の文法構文構造を捕捉する形式を有するデータ構造であり、データ構造の部分木は、発話の一部分の意味論的意味を符号化する部分木ベクトルを含む。したがって、所与の発話に対して、対応する意味表現は、以下により詳細に論じるように、意味探索サブシステム152による探索、比較、および整合を有効にする共通の意味表現形式において、構文的意味および意味論的意味の両方を捕捉する。したがって、発話意味モデル160の意味表現162は、概して、探索鍵のように考えることができ、理解モデル157の意味表現158は、探索鍵を探すことができる探索空間を定義する。したがって、意味探索サブシステム152は、以下に論じるように、理解モデル157の意味表現158を探索して、発話意味モデル160の意味表現162に整合する1つまたは複数のアーティファクトを突き止め、それによって抽出されたアーティファクト140を生成する。
【0056】
図6の意味抽出サブシステム自体は、意味表現158および162を生成するように協働するNLUフレームワーク104の複数のサブシステムを使用する。たとえば、
図7は、エージェント自動化フレームワーク100(本明細書では、エージェント自動化システムとも呼ぶ)のNLUフレームワーク104の意味抽出サブシステム150の一実施形態を示すブロック図である。意味抽出サブシステム150の図示の実施形態は、規則ベースの方法とMLベースの方法を組み合わせて使用して、発話168に対する発話木166を生成し、発話168は、
図6に対して上記で論じたように、ユーザ発話122、または意図-実体モデル108のサンプル発話155のうちの1つとすることができる。より具体的には、
図7は、意味抽出サブシステム150の実施形態が複数のベストオフブリード(best-of-breed)モデルをどのように利用することができるかを示し、そのようなモデルは、全体的なNLUフレームワーク104に差し込むことができる規則ベースおよびMLベースの(たとえば、統計)モデルおよびプログラムの組合せを含む。たとえば、図示の意味抽出サブシステム150の差込み可能な設計により、語彙サブシステム170は、様々な単語またはフレーズに対する単語ベクトルを定義する任意の好適な単語ベクトル分布モデルを含むことができる。すなわち、所与の会話チャネル、言語、コンテキストなどにおいて、異なる単語分布モデルが他のモデルより優れていることが認識されているため、開示する差込み可能な設計は、意味抽出サブシステム150を特定の環境およびアプリケーションにカスタマイズすることを有効にする。
図7に示す実施形態では、意味抽出サブシステム150は、NLUフレームワーク104の3つのプラグイン対応サブシステム、すなわち語彙サブシステム170、構造サブシステム172、および韻律サブシステム174を使用しており、記憶された規則114に従って、これらのサブシステムの様々な出力を組み合わせて、発話168から発話木166を生成する。
【0057】
図7に示す意味抽出サブシステム150の実施形態では、語彙サブシステム170は、概して、意味抽出サブシステム150の語彙を取り扱う。したがって、図示の意味抽出サブシステム150は、発話の語彙の分析および抽出を有効にする複数の語彙プラグイン176を含む。図示の実施形態では、語彙プラグイン176は、学習済みの多峰性単語ベクトル分布モデル178、学習済みの単峰性単語ベクトル分布モデル180、および任意の他の好適な単語ベクトル分布モデル182を含む。この文脈で、「単峰性」は、各単語に対して単一のそれぞれのベクトルを有する単語ベクトル分布モデルを指し、「多峰性」は、異なる文脈で異なる意味を有しうる特定の単語(たとえば、同音異義語、多義語)に対する複数のベクトルに対応する単語ベクトル分布モデルを指す(たとえば、「バンク」は、貨幣を貯蔵する場所、貨幣自体、航空機の操縦、または河川に近い場所を指すことができる)。モデル178、180、および182は、言語、会話形式、会話チャネルなどの好適なパラメータに基づいて選択することができる差込み可能な1群の単語ベクトルを提供する。
【0058】
たとえば、学習済みの多峰性分布モデル178および学習済みの単峰性分布モデル180は、
図12に関して以下に論じるように、教師なし学習または他の汎用のクラスタリングアルゴリズムを使用して生成された単語分布(たとえば、単語ベクトルの定義されたベクトル空間)を提供することができる。すなわち、一般に発話内で密接して使用される単語は、関係する意味を有することが多いことを認識すると、学習済みの多峰性分布モデル178および学習済みの単峰性分布モデル180は、発話(たとえば、発話コーパス112から)の統計的分析を実行し、次いでその単語がこれらの発話内で他の単語に対して一般にどのように使用されるかに基づいて、単語に対するベクトルを定義することによって生成することができる。したがって、これらの語彙プラグイン176は、ユーザ発話122およびサンプル発話155を処理するとき、語彙サブシステム170が、同義語、スペルを間違った単語、符号化された記号(たとえば、ウェブアドレス、ネットワーク経路、エモティコン、および絵文字)、語彙外の用語などを認識してそれに対処することを有効にする。特定の実施形態では、語彙サブシステム170は、以下に論じるように、記憶された規則114に基づいて、様々な語彙プラグイン176によって出力される単語ベクトルから組み合わせまたは選択して、発話木166のノードに対する単語ベクトルを生成することができる。さらに、単語ベクトル分布モデル178、180、および/または182は、
図12に関して以下に論じるように、受け取ったユーザ発話122上で実行される教師なし学習に基づいて、継続的に更新することができる。
【0059】
図7に示す実施形態では、意味抽出サブシステム150の構造サブシステム172は、規則ベースおよびMLベースの構造解析プラグイン184の組合せを使用して、発話168の言語学的形状を分析する。言い換えれば、図示の構造プラグイン184は、発話122および155の構文および文法構造の分析および抽出を有効にする。図示の実施形態では、構造プラグイン184は、規則ベースのパーサ186、MLベースのパーサ188(たとえば、DNNベースのパーサ、RNNベースのパーサなど)、および他の好適なパーサモデル190を含む。たとえば、これらの構造プラグイン184のうちの1つまたは複数は、発話の各単語またはフレーズに対するクラス注釈またはタギング(たとえば、動詞、主語または実体、直接目的語、修飾語などとして)を有効にする。特定の実施形態では、構造サブシステム172は、以下に論じるように、データベース106内に記憶されている1つまたは複数の規則114に基づいて、様々な構造プラグイン184によって出力される解析構造から組み合わせまたは選択することができ、発話木166の構造または形状を定義するために使用される。
【0060】
図7に示す実施形態では、意味抽出サブシステム150の韻律サブシステム174は、規則ベースおよびMLベースの韻律プラグイン196の組合せを使用して、発話168の韻律を分析する。図示の韻律プラグイン192は、規則ベースの韻律システム194、MLベースの韻律システム196、および他の好適な韻律システム198を含む。これらのプラグインを使用して、韻律サブシステム174は、韻律キューに対する発話168を分析し、韻律キューには、リズム(たとえば、発話のほとばしり、句読点または区切りによって示される文節などのチャットリズム)、強調(たとえば、大文字、太字、下線、星印)、焦点または注意(たとえば、特定の用語または形式の反復)などの書かれた韻律キューが含まれ、そのようなキューを使用して、たとえば意図間の境界、異なる意図に対する緊急度または相対的な重要度などを判定することができる。したがって、特定の実施形態では、韻律サブシステム174は、以下に論じるように、データベース106内に記憶されている規則114に基づいて、様々な韻律プラグイン192によって出力される韻律解析構造から組み合わせまたは選択して、発話木166を生成することができる。
【0061】
したがって、
図7に示す意味抽出サブシステム150の実施形態では、NLUフレームワーク104の語彙サブシステム170、構造サブシステム172、および韻律サブシステム174は、1つまたは複数の規則114に基づいて、発話168から発話木166を生成するように協働する。特定の実施形態では、発話168から発話木166を生成するとき、1つのサブシステム(たとえば、韻律サブシステム174)の出力の一部分を、別のサブシステム(たとえば、構造サブシステム172)への入力として提供することができることが理解されよう。意味抽出サブシステム150によって生成される結果の発話木166のデータ構造は、複数のノードを含み、各ノードは、語彙サブシステム170によって提供されるそれぞれの単語ベクトルに関連付けられる。さらに、これらのノードは、記憶された規則114に従って、構造サブシステム172および韻律サブシステム174の出力に基づいて、木構造を形成するようにともに配置および結合される。
【0062】
たとえば、
図8は、本手法の一実施形態によって発話168に対して生成される発話木166の一例を示す図である。上述したように、発話木166は、発話168に基づいて意味抽出サブシステム150によって生成されるデータ構造である。特定の実施形態では、発話意味モデル160の意味表現162および理解モデル157の意味表現158は発話木であり(または発話木から導出される)、他の実施形態では、他の解析構造を使用することもできる。
図8に示す例では、発話木166は、「I want to go to the store by the mall today to buy a blue, collared shirt and black pants and also to return some defective batteries.(私は今日、モールのそばの店に行って、青い襟付きのシャツと黒いズボンを買い、欠陥のある電池を返品したい。)」という例示的な発話に基づいている。図示の発話木166は、木構造内に配置されたノードセット202(たとえば、ノード202A、202B、202C、202D、202E、202F、202G、202H、202I、202J、202K、202L、202M、202N、および202P)を含み、各ノードは、発話168の特定の単語またはフレーズを表す。ノード202の各々はまた、発話木166の特定の部分木を表すものとして説明することができ、部分木は、1つまたは複数のノード202を含むことができることに留意されたい。
【0063】
上述したように、
図8に示す発話木166の形式または形状は、韻律サブシステム174および構造サブシステム172によって判定され、例示的な発話の構文の文法的な意味を表す。より具体的には、韻律サブシステム174は、発話を意図セグメントに分割し、構造サブシステム172は、これらの意図セグメントから発話木166を構築する。ノード202の各々は、語彙サブシステム170によって判定されたそれぞれの単語ベクトルを記憶または参照して、発話の特定の単語またはフレーズの意味論的意味を示す。上述したように、各単語ベクトルは、発話の一部分意味論的意味の数学表現を提供する浮動小数点値の順序付きのn次元リスト(たとえば、300次元リスト)(たとえば、1×NまたはN×1行列)である。
【0064】
さらに、ノード202の各々は、構造サブシステム172によって、ノードによって表される単語またはフレーズに関する追加の情報で注釈が付けられる。たとえば、
図8で、ノード202の各々は、クラスまたは品詞(POS)注釈を有する。特に、
図8に示す例示的な発話木では、特定の部分木またはノード(たとえば、ノード202A、202B、202C、および202D)は、構造サブシステム172によって、動詞ノードになるように注釈が付けられ、特定の部分木またはノード(たとえば、ノード202E、202F、202G、202H、202I、および202J)は、主語または目的語ノードになるように注釈が付けられ、特定の部分木またはノード(たとえば、ノード202K、202L、202M、202N、および202P)は、修飾語ノード(たとえば、主語修飾語ノード、目的語修飾語ノード、動詞修飾語ノード)になるように注釈が付けられる。これらのクラス注釈は、
図8に示す例示的な発話木166のように、発話木から生成された意味表現を比較するときに、意味探索サブシステム152によって使用される。したがって、意味表現が生成される発話木166は、意図および/または実体抽出のための基礎(たとえば、最初の基礎)として働くことが理解されよう。
【0065】
上述した
図6を簡単に参照すると、NLUフレームワーク104による意味探索の性能は、NLUフレームワークが、受け取ったユーザ発話122の複数の代替形式を導出し、意図-実体モデル108のサンプル発話155の複数の代替形式と比較することを有効にすることによって改善することができる。たとえば、特定の実施形態では、意味探索サブシステム152によって実行される意味探索中、理解モデル157の意味表現158および潜在的に追加の理解モデルの意味表現を含む探索空間を定義することができる。加えて、特定の実施形態では、この探索空間は、探索されているユーザ発話122のCCG形式に基づいて、反復して剪定することができ、CCG形式は、発話意味モデル160の意味表現162の構造内で捕捉される。特に、ユーザ発話122から導出される複数の代替意味表現を使用して、どのような他の比較可能な意味表現158が探索空間内に存在するかを判定することができ、比較可能でない意味表現は考慮することから削除して、探索の待ち時間および全体的なコンピューティング資源の使用を改善することができる。したがって、発話意味モデル160において異なるCCG形式を含むユーザ発話122の複数の代替意味表現162を有する結果、意味探索中に探索空間の劇的に異なる剪定を行い、探索空間のより包括的な意味探索を有効にすることができる。
【0066】
さらに、意味探索サブシステム152が、発話意味モデル160の意味表現162と理解モデル157の意味表現158とを比較しているときも、意味表現162および158の複数の代替形式を有することが有利である。たとえば、特定の実施形態では、CCG形式クラスデータベース(たとえば、データベース106の一部)は、複数の異なるCCG形式(たとえば、動詞誘導CCG形式、名詞誘導CCG形式)を記憶することができる。各CCG形式は、意味探索サブシステム152が、CCG形式を有する発話意味モデル160の意味表現162と、同じCCG形式(または異なる比較可能なCCG形式)を有する理解モデル157の意味表現158との間の類似性スコアを計算することを有効にする1群の数学関数に関連付けられる。加えて、特定の実施形態では、意味探索サブシステム152は、これらの数学関数を使用して、2つの比較可能な意味表現の拡大する数のノードを反復して比較することができ、ノードが考慮される順序はまた、意味表現の形式または形状に依存する。したがって、発話意味モデル160において異なるCCG形式を含む複数の代替意味表現162を有することで、異なる数学関数を使用して、異なる理解モデル157の意味表現158との異なる比較が有効になり、それにより、より包括的な意味探索も有効になる。
【0067】
上記を念頭に、
図9は、プロセス250の一実施形態を示す流れ図であり、プロセス250によって、NLUフレームワーク104の意味抽出サブシステム150は、受け取ったユーザ発話122に基づいて、発話意味モデル160の1つまたは複数の探索鍵を生成し、1つまたは複数の理解モデル157に基づいて、探索空間を生成する。プロセス250はまた、概して、意味探索サブシステム152を含み、意味探索サブシステム152は、探索鍵に基づいて探索空間を探索し、ユーザ発話122のアーティファクト140(たとえば、意図および/または実体)を抽出する。他の実施形態では、プロセス250のステップは、NLUフレームワーク104の他の好適な構成要素によって実行することができる。加えて、プロセス250は、
図3、
図4A、および
図4Bに関して上記で論じたように、好適なメモリ(たとえば、メモリ86)内に記憶することができ、クライアントインスタンス42または企業インスタンス125に関連付けられた好適なプロセッサ(たとえば、プロセッサ82)によって実行することができる。
【0068】
プロセス250の図示の実施形態は、意味抽出サブシステム150がユーザ発話122から発話意味モデル160を生成すること(ブロック252)から始まる。上述したように、発話意味モデル160は、1つまたは複数の意味表現を含み、各意味表現は、後の意味探索動作のための探索鍵として働く。発話意味モデル160の探索鍵の生成については、
図10~
図12に関して以下により詳細に論じる。加えて、
図9に示すように、意味抽出サブシステム150はまた、1つまたは複数の理解モデル157から探索空間256(たとえば、コンパイル済み探索空間)を生成する(ブロック254)。探索空間256は、少なくとも1つの理解モデル157からの意味表現を含み、これらの意味表現は、意味探索動作中に発話意味モデル160の探索鍵意味表現と比較される。探索空間の生成についてもまた、
図10~
図12に関して以下により詳細に論じる。
【0069】
後に、意味抽出サブシステム150によって準備された探索空間256および探索鍵160が、意味探索(本明細書では、「意図推定」とも呼ぶ)を実行するために、意味探索サブシステム152に提供され、または意味探索サブシステム152に利用可能にされる。
図9に示す実施形態では、意味探索サブシステム152は、発話意味モデル160の探索鍵に基づいて、探索空間256の比較可能な意味表現の弾性ビーム幅の認知
構文文法(CCG)形式ベースの探索を実行し(ブロック258)、競合整合意味表現セット260を識別する。本明細書では、「弾性ビーム幅」、「動的ビーム幅」、または「可変ビーム幅」は、弾性(たとえば、動的、可変)の信頼性閾値に基づいて、各比較に対する可変の数の探索整合を識別するように定義された探索動作を指す。たとえば、以下に論じるように、弾性ビーム幅の探索動作は、所望の信頼性閾値を提供することができ、意味探索サブシステム152は、信頼性閾値を満たす可変の数の潜在的な探索整合を識別することができる。これは、静的または非弾性のビーム幅として説明することができる意味探索動作中に識別することができる潜在的な整合の静的な最大数を定義する他の意味探索の実施形態とは対照的である。加えて、以下に論じるように、特定の実施形態では、探索動作中に弾性ビーム幅(識別された潜在的な探索整合の数)を広くしまたは拡大するために、緩和関数を使用して、探索動作に関連付けられた信頼性閾値をさらに緩和することができる。たとえば、弾性ビーム幅探索の信頼性閾値は、初期値(たとえば、80%の信頼性)を定義することができるが、緩和された信頼性閾値は、実質的により低くすることができ(たとえば、50%の信頼性)、それにより追加の探索整合の識別を有効にすることができる。弾性ビーム幅のCCG形式ベースの探索については、
図14~
図17に関してより詳細に論じる。
【0070】
図9に示す実施形態では、プロセス250は継続し、意味探索サブシステム152が、ブロック258で識別された競合整合意味表現セット260に基づいて、弾性ビーム幅のアーティファクト内探索を実行し(ブロック262)、最終整合意味表現セット264を生成する。特に、セット264内の各競合は、サンプル空間256の競合アーティファクト特有部分を探査することによってさらに精練される。たとえば、特定の意図(たとえば、「MeetingRequest」)に関連付けられた意味表現が、セット260内の競合である場合、弾性ビーム幅のアーティファクト内探索は、サンプル空間256(たとえば、探索部分空間)のうち、意味表現を比較する意図の範囲に入る部分に焦点を当てる。弾性ビーム幅のアーティファクト内探索の概略的な目標は、競合整合意味表現セット260のアーティファクトによって定義される探索部分空間を累進的に探索することによって、ブロック258の弾性ビーム幅のCCG形式ベースの探索中に判定される信頼値を精練することであり、比較されている意味表現の累進的により大きい部分を考慮することによって、最終的に類似性信頼度に到達する。弾性ビーム幅のアーティファクト内探索については、
図17および
図18に関してより詳細に論じる。
【0071】
図示の実施形態では、プロセス250は、意味探索サブシステム152が、最終整合意味表現セット264からアーティファクト140(たとえば、意図および/または実体)を抽出すること(ブロック266)によって終了する。特定の実施形態では、抽出されたアーティファクト140は、ユーザ発話122の意図および/または実体を表し、それぞれの信頼値に各々関連付けることができる(たとえば、ブロック262で生成され、ブロック266で精練される)。後に、抽出されたアーティファクト140、ならびにこれらのそれぞれの信頼値は、BE102へ提供され、BE102は、
図5に関して論じたように、行動142を実行すること、および/またはエージェント発話124(たとえば、確認メッセージまたはさらなる情報に対するプロンプト)を提供することによって応答する。
【0072】
図10は、意味抽出サブシステム150が、複数の理解モデル157からの探索空間256を集め、次いで発話意味モデル160の探索鍵と探索空間256の意味表現158とを比較して、アーティファクト140を抽出する一実施形態を示す情報の流れ図である。探索空間256の生成に対して、意味抽出サブシステム150は、各々特定の目的またはドメインに適した複数の意図-実体モデル108など、意図-実体モデルセット270のサンプル発話155を集約することができる。上述したように、セット270の各意図-実体モデル108は、NLUフレームワーク104が、多くの他の好適な対話のうち、ユーザへの挨拶、会議の管理、企業の特定の製品の管理、人的資源行動の管理、および/またはユーザとの会話の終了など、ユーザとの任意の好適な自然言語対話に対して意味探索を実行するための案内を提供するサンプル発話155を含むことができる。サンプル発話155は、意味表現セット272を生成するように、意味抽出サブシステム150によって分析され、意味表現セット272は、それぞれの各サンプル発話155に可能な形式を割り当て、ならびに各サンプル発話155の多義表現を考慮する。意味表現セット272に対して、理解モデルセット274のうちのそれぞれの理解モデルを生成することができ、セット274の各理解モデルは、それぞれのモデル特有の探索空間276を定義する。
【0073】
同様に、探索鍵の生成および利用中、意味抽出サブシステム150は、ユーザ発話122を受け取り、ユーザ発話122に対する意味表現セット278を導出する。したがって、意味抽出サブシステム150は、探索空間256と比較するために、意味表現セット278から発話意味モデル160(探索鍵)を生成する。実際には、以下により詳細に論じるように、意味探索サブシステム152は、探索鍵160を定義するセット278の意味表現と、探索空間256の意味表現158とを比較して、任意の好適な整合意味表現280を識別し、それによりNLUフレームワーク104が、抽出されたアーティファクト140を識別することを有効にする。意味探索サブシステム152はまた、整合意味表現280および/またはそのアーティファクトを、添付の信頼性レベルでスコアリングして、意味表現158から抽出される可能性が最も高いアーティファクト140に対する適当なエージェント応答124および/または行動142を容易にすることができる。
【0074】
上記を念頭に、
図11は、プロセス300の一実施形態を示す流れ図であり、プロセス300によって、NLUフレームワーク104の意味抽出サブシステム150は、元の発話302の再表現を生成し、次いでこれらの再表現および元の発話302に基づいて、意味表現セット304を生成する。特定の事例では、元の発話302は、受け取ったユーザ発話122とすることができ、その結果得られる意味表現セット304が、発話意味モデル160の意味表現162になることができ、これは本明細書では探索鍵とも呼ばれることが理解されよう。他の事例では、元の発話302は、探索空間256に格納するために使用される意図-実体モデル108のサンプル発話155のうちの1つとすることができる。
図11に示す実施形態では、プロセス300の一部分が、NLUフレームワーク104の意味抽出サブシステム150の語彙サブシステム170によって実行され、別の部分が、意味抽出サブシステム150の構造サブシステム172によって実行される。他の実施形態では、プロセス300のステップは、NLUフレームワーク104の他の好適な構成要素によって実行することができる。加えて、プロセス300は、
図3、
図4A、および
図4Bに関して上記で論じたように、好適なメモリ(たとえば、メモリ86)に記憶することができ、クライアントインスタンス42または企業インスタンス125に関連付けられた好適なプロセッサ(たとえば、プロセッサ82)によって実行することができる。
【0075】
図11に示す実施形態では、プロセス300は、NLUフレームワーク104の語彙サブシステム170が元の発話302をクレンジングすること(ブロック306)から始まる。たとえば、語彙サブシステム170は、発話の特定のトークン(たとえば、単語、フレーズ、句読点、絵文字)を修正するために、データベース106に記憶されている規則114にアクセスして適用することができる。たとえば、特定の実施形態では、クレンジングは、非テキスト要素(たとえば、エモティコン、絵文字、句読点)を元の発話302から除去するという規則を適用することを伴うことができる。特定の実施形態では、クレンジングは、発話内のスペル間違いまたは誤植を補正することを伴うことができる。加えて、特定の実施形態では、クレンジングは、特定のトークンを他のトークンに置換することを伴うことができる。たとえば、語彙サブシステム170は、時間または色に関するすべての実体が、汎用のまたは包括的な実体(たとえば、「TIME」、「COLOR」)を有するという規則を適用することができる。
【0076】
図11に示す実施形態では、プロセス300は継続し、語彙サブシステム170が、元の発話302上で語彙注入(ブロック308)を実行する。語彙注入は、概して、元の発話302の複数の再表現を導入することを伴う。たとえば、理解モデル157の語彙モデル310による指示に応じて、用語および/または術語を、より談話に適当なフレーズおよび/または用語に交換することができる。特定の実施形態では、複数のフレーズおよび/または用語を交換することができ、そのような交換の様々な順列は、元の発話302に基づいて、発話セット312を生成するために使用される。たとえば、特定の実施形態では、語彙サブシステム170は、理解モデル157の語彙モデル310にアクセスして、異なるトークンを有する発話の再表現を生成するために使用することができる代替の語彙を識別することができる。特有の例として、一実施形態では、語彙サブシステム170は、「開発者(developer)」に対する同義語が「従業員(employee)」であると判定することができ、「開発者」という用語が「従業員」という用語によって置換された新しい発話を生成することができる。
【0077】
図11に示す実施形態では、クレンジングおよび語彙注入後、発話セット312は、POSタギングおよび解析のために構造サブシステム172へ提供される。発話セット312は、元の発話302またはそのクレンジングされた変種を含むことができ、ブロック308の語彙注入によって生成された任意の好適な数の代替の再表現発話を含むことができることが理解されよう。特定の状況では、ブロック308の語彙注入は、元の発話302の再表現を生成しないことがあり、したがって、発話セット312は、元の発話302またはそのクレンジングされた変種のみを含むことができることに留意されたい。他の実施形態では、元の発話302は、ブロック306のクレンジングまたはブロック308の語彙注入なく、構造サブシステム172へ直接提供することができる。
【0078】
発話セット312を受け取ると、構造サブシステム172は、プラグインセット314を使用して、元の発話302を表す1つまたは複数の意味表現セット304を生成する(ブロック316)。他の実施形態では、プラグインセット314は代わりに、意味抽出サブシステム150またはNLUフレームワーク104の差込み不可のアプリケーションまたはモジュールとして実施することができる。しかし、図示の構造サブシステム172の開示する差込み可能な設計は、NLUフレームワーク104がさらなる柔軟性を有することを有効にすることが現在認識されている。たとえば、プラグインセット314を、異なる言語または異なるドメインに対して設計(たとえば、プログラム、訓練)された別のセットに切り換えることによって、NLUフレームワーク104に追加の言語に対する対応を追加することができる。
【0079】
図11に示す実施形態では、構造サブシステム172のプラグインセット314は、品詞(POS)プラグイン318、1つまたは複数の補正プラグイン320、変動フィルタ(VF)プラグイン322、パーサプラグイン354、ならびに最終スコアリングおよびフィルタリング(FSF)プラグイン326を含む。プラグイン314の機能については、
図12に関してより詳細に論じる。概して、POSプラグイン318は、関連付けられた品詞(たとえば、動詞、名詞、形容詞、代名詞、副詞)を有する発話の各トークンのPOSタギングを実行するように訓練されたMLベースの構成要素(たとえば、順伝播型人工ニューラルネットワーク)を含む。POSプラグイン318は、発話の複数の潜在的POSタギング、ならびに発話の各潜在的POSタギングに対する対応する信頼性スコアを出力するように設計される。補正プラグイン320は、MLベースの技法または規則(たとえば、データベース106に記憶)を適用して、POSプラグイン318によって生成された潜在的POSタギングのうち、誤っていることが分かったものを修正または除去するPOS補正プラグインを含む。VFプラグイン322は、POSプラグイン318によって生成された潜在的POSタギングの数学的比較を適用し、互いに十分に異ならないPOSタギングを除去する。パーサプラグイン324は、残りの候補POSタギングの各々に対するそれぞれの意味表現、ならびに解析動作に関する対応する信頼性スコアを生成するように設計および/または訓練された規則ベースまたはMLベースの構成要素(たとえば、順伝播型人工ニューラルネットワーク)を含むことができる。補正プラグイン320はまた、MLベースの技法または規則(たとえば、データベース106に記憶)を適用して、パーサプラグイン324によって生成された潜在的意味表現のうち、誤っていることが分かったものを修正または除去するパーサ補正プラグインを含む。FSFプラグイン326は、生成された各意味表現に対する最終的な信頼性スコアを判定し、次いで事前定義された閾値より大きい対応する最終的な信頼性スコアを有する最終的な意味表現セット304を出力する。
【0080】
図12は、プロセス340の一実施形態を示す流れ図であり、プロセス340によって、NLUフレームワーク104の構造サブシステム172は、発話344に対する複数の代替意味表現342を生成することができる。したがって、
図12のプロセス340は、
図11のブロック316に対応する。
図11を参照すると、発話344は、受け取ったユーザ発話122、意図-実体モデル108のサンプル発話155のうちの1つ、クレンジング(ブロック306)から生成された発話、または語彙注入(ブロック308)から生成された発話などの発話セット312のうちの1つとすることができ、その結果得られる意味表現342は、元の発話302の意味表現セット304の一部分またはすべてとすることができることが理解されよう。
図12に示す実施形態では、プロセス340は、
図3、
図4A、および
図4Bに関して上記で論じたように、好適なメモリ(たとえば、メモリ86)に記憶することができ、クライアントインスタンス42または企業インスタンス125に関連付けられた好適なプロセッサ(たとえば、プロセッサ82)によって実行することができる。
【0081】
図12に示す実施形態では、プロセス340は、2つの段階、すなわちPOSタギング段階346および解析段階347に分割される。POSタギング段階348は、構造サブシステム172が、潜在的POSタギングセット350、ならびに各潜在的POSタギングに対応する信頼性スコア352を生成するために、発話344のPOSタギングを実行すること(ブロック348)から始まる。発話344に加えて、POSプラグイン318はまた、POS閾値を受け取る。たとえば、POSプラグイン318に、特定の信頼性レベル(たとえば、80%)を表すPOS閾値354を提供することができ、したがって潜在的POSタギングセット350は、POS閾値354以上の対応する信頼性スコアを有するタギングのみを含む。他の実施形態では、POSプラグイン318は、追加または別法として、POSタギング限界値(たとえば、10)を受け取ることができ、したがって、POSプラグイン318によって生成される潜在的POSタギングの数が、POSタギング限界値に制限される。特定の状況では、潜在的POSタギングセット350は、単一のPOSタギングのみを含むことができることに留意されたい。
【0082】
図12に示す実施形態では、プロセス340は継続し、構造サブシステム172は、補正プラグイン320を使用して、潜在的POSタギングセット350の自動補正(ブロック356)を実行して、補正済み潜在的POSタギングセット358を生成する。たとえば、上述したように、POSプラグイン318は、MLベースの構成要素を含むことができる。したがって、POSプラグイン318は、訓練中、たとえば欠陥のある訓練データの結果、誤ったPOSタギングを意図せず学習する可能性がある。したがって、補正プラグイン320のうちの少なくとも1つは、欠陥のあるPOSタギングがプロセス340の残りのステップへ前方へ運ばれることを阻止するために、セット358から潜在的POSタギングを修正または除去するように設計される。特定の実施形態では、補正プラグイン320は、トークン表面形式(たとえば、単語表面形式)が、そのトークンに対する選択されたPOSタグに整合することを確実にするために、外部の字句データベース(たとえば、データベース106に記憶、理解モデル157の一部として記憶)を調査することができる。このタイプの補正は、POSプラグイン318がサブワード学習モデル(たとえば、文字埋込みベースのモデル、形態素モデルなど)に基づいて訓練されているときに特に効果的でありうることが理解されよう。他の実施形態では、補正プラグイン320は、特定のトークンを特定のPOSタグに関連付けるように訓練されたMLベースの構成要素(たとえば、人工ニューラルネットワーク)を含むことができる。そのような実施形態では、補正プラグイン320は、セット350内の潜在的POSタギングの各タグに対するタギングスコアを判定することができ、所定のタギング閾値(たとえば、データベース106に記憶)を下回るタギングスコアを有するすべての潜在的POSタギングを削除することができる。
【0083】
たとえば、特定の実施形態では、補正プラグイン320は、規則ベースの補正技法を実施することができる。そのような実施形態では、補正プラグイン320のうちの少なくとも1つは、潜在的POSタギングセット350を補正するために、開発者によって定義されデータベース106に記憶されている規則114にアクセスして適用することができる。たとえば、POSプラグイン318のMLベースの構成要素は、トークン「ストップ(stop)」が動詞または名詞ではなく句読点を示すと、訓練中に誤って学習する可能性がある。したがって、開発者は、この誤ったPOSタギングを含むセット350からの潜在的POSタギングを除去するために、または誤ったPOSタギングを正しいPOSタギングに置き換えるようにセット350からの潜在的POSタギングを修正するために、補正プラグイン320によって適用されるべき1つまたは複数の規則114を定義することができる。特定の実施形態では、補正プラグイン320は代わりに、これらの技法の組合せを使用して、潜在的POSタギングセット350内のエントリを削除または修正することができる。
【0084】
図12に示す実施形態では、プロセス340のPOSタギング段階346は、構造サブシステム172は、VFプラグイン322を使用して、補正済み潜在的POSタギングセット358の変動性フィルタリング(ブロック360)を実行することによって終了し、潜在的POSタギングの最終ノミニーセット362を生成する。補正済み潜在的POSタギングセット358に加えて、VFプラグイン322はまた、補正済みセット358内の潜在的POSタギングが互いにどれだけ異なるべきかを定義する変動閾値364を受け取る。変動性フィルタリングの目的は、補正済みセット358内で他の潜在的POSタギングに類似しすぎていると考えられ、したがって達成しようとするコンピューティング資源の消費に値する十分に別個の経路を表さない潜在的POSタギングを削除することによって、プロセス340ならびに後の意味探索の効率を改善することである。
【0085】
変動性フィルタリングは、複数の異なる方法で実現することができる。概して、補正済みセット358内の2つの潜在的POSタギングが互いにどれだけ異なるかを判定するために、タギング距離または変動性関数が使用される。変動性フィルタリングは、最小のかつ/または表面的な違いしかない意味表現につながる潜在的POSタギング間の「浅い」違いを調査するために、意味探索が追加のコンピューティング資源を消費することを阻止または防止する。たとえば、補正済み潜在的POSタギングセット358内の任意の2つのエントリに対する変動性スコアを計算することができ、変動性スコアが変動閾値364を下回るとき、潜在的POSタギングのうちの1つは、十分に冗長であると考えられ、潜在的POSタギングの最終ノミニーセット362内に含まれない。したがって、潜在的POSタギングの数が比較的小さい(たとえば、10以下)ときは、このようにして補正済みセット358内の各潜在的POSタギングを比較することができる。しかし、補正済みPOSタギングセット358内により多数の潜在的POSタギングが存在する実施形態では、クラスタリング技法を適用することができる。たとえば、タギング距離関数を使用して、潜在的POSタギング間のタギング距離を判定することができ、したがってこれらのタギング距離に基づいて、潜在的POSタギングをグループにクラスタ化することができるようになる(たとえば、クラスタ間の距離を最大化すること、事前定義された数のクラスタを形成することによる)。後に、代表的な潜在的POSタギングが、各グループから選択され(たとえば、各クラスタの質量中心の潜在的POSタギング)、プロセス340内の次のステップへ進められる。本開示によれば、他の変動性フィルタリング技法を使用することもできることが理解されよう。
【0086】
比較的小さい補正済みPOSタギングセット358を有する一例では、VFプラグイン322が、ダイバーシティベースの包含技法を使用することができる。この例では、発話344は、「Change my password(私のパスワードを変更してください)」とすることができる。ブロック348で、POSプラグイン318は、発話344のトークンが順に、(1)動詞の命令形、形容詞、および名詞、または(2)動詞、形容詞、および名詞、または(3)名詞、形容詞、および名詞、または(4)動詞、代名詞、および名詞であることを示す潜在的POSタギングセット350を判定することができる。ブロック356における補正後、VFプラグイン322は、補正済み潜在的POSタギングセット358を受け取り、変動性関数を適用して、潜在的POSタギングが互いにどれだけ異なるかを判定する。この例では、VFプラグイン322は、補正済み潜在的POSタギングセット358内の第1のエントリを考慮することによって始まる。VFプラグイン322は、比較のための基礎がないため、第1のエントリが十分に異なり、潜在的POSタギングの最終ノミニーセット362内に含まれるべきであると判定する。次に、VFプラグイン322は、変動性関数を使用して第1のエントリと比較することによって、補正済み潜在的POSタギングセット358内の第2のエントリを考慮することができる。例示的な変動性関数は、加重平均とすることができる。この例では、第1および第2のエントリが比較されるとき、第1のエントリの第1のタグ(たとえば、動詞の命令形)と、第2のエントリの第1のタグ(たとえば、動詞)とが比較される。異なるタグ比較に対する差分値を、規則114の一部としてデータベース106に記憶することができる。たとえば、データベース106内で、動詞と動詞の比較、名詞と名詞の比較、形容詞と形容詞の比較などに割り当てられる差分値は0とすることができ、動詞の命令形と動詞の比較に割り当てられる差分値は、0よりわずかに大きくすることができ(たとえば、0.1)、動詞と名詞の比較、動詞と形容詞の比較、名詞と形容詞の比較などに割り当てられる差分値は、1とすることができ、以下同様である。特定の実施形態では、データベース106は、異なるPOSタグに対する加重値をさらに記憶することができ、したがって特定のPOSタグ(たとえば、動詞)は、変動性関数の出力に対して、他のPOSタグ(たとえば、名詞、代名詞)より大きい寄与を有する。この例では、POSタグの重みは同等である。したがって、変動性関数は、第1のエントリと第2のエントリとの間の変動性スコアを計算することができ(たとえば、(第1のタグ間の差分に対する0.1+第2のタグ間の差分に対する0+第3のタグ間の差分に対する0)/(比較される3つのタグ)=0.03)、次いでこの変動性スコアと変動閾値364(たとえば、0.3)とを比較することができる。変動性スコアは変動閾値364を下回るため、第2のエントリは、POSタギングの最終ノミニーセット362内に含まれない。このプロセスは継続し、補正済み潜在的POSタギングセット358内の第3のエントリが第1のエントリと比較され(たとえば、(第1のタグ間の差分に対する1+第2のタグ間の差分に対する0+第3のタグ間の差分に対する0)/(比較される3つのタグ)=0.3であり、これは0.3の変動閾値である)、第3のエントリは、潜在的POSタギングの最終ノミニーセット362内に含まれる。後に、補正済み潜在的POSタギングセット358内の第4のエントリが第1のエントリと比較され(たとえば、(第1のタグ間の差分に対する0.1+第2のタグ間の差分に対する1+第3のタグ間の差分に対する0)/(比較される3つのタグ)=0.33であり、これは0.3の変動閾値より大きい)、また第3のエントリとも比較され(たとえば、(第1のタグ間の差分に対する1+第2のタグ間の差分に対する1+第3のタグ間の差分に対する0)/(比較される3つのタグ)=0.66であり、これは0.3の変動閾値より大きい)、第4のエントリもまた、潜在的POSタギングの最終ノミニーセット362内に含まれ、プロセス340において前方へ運ばれる。
【0087】
図12に示す実施形態では、解析段階347は、構造サブシステム172が、潜在的POSタギングの最終ノミニーセット362から潜在的意味表現セット368を生成し、ならびにセット368における各潜在的意味表現の解析のために、対応する信頼性スコア370を生成するために、パーサプラグイン324を使用して解析推論を実行すること(ブロック366)から始まる。潜在的POSタギングの最終ノミニーセット362に加えて、POSプラグイン318はまた、データベース106に記憶することができる解析閾値372を受け取る。たとえば、パーサプラグイン324に、特定の信頼性レベル(たとえば、80%)を表す解析閾値372を提供することができ、したがって潜在的意味表現セット368は、解析閾値372以上の対応する信頼性スコアを有する意味表現のみを含む。特定の事例では、パーサプラグイン324は、特定の潜在的POSタギングに対する意味表現を生成することが可能でないことに留意されたい。
【0088】
特定の実施形態では、プロセス340は、最終スコアリングおよびフィルタリングが実行される前に、潜在的意味表現セット368内のエントリを修正または除去するために、第2の自動補正ステップ(ブロック374)を含むことができることが理解されよう。たとえば、上述したように、パーサプラグイン324は、MLベースの構成要素を含むことができる。したがって、パーサプラグイン324は、訓練中、たとえば欠陥のある訓練データの結果、誤った解析木構造の生成を意図せず学習する可能性がある。したがって、特定の実施形態では、構造サブシステム172は、補正プラグイン320の一部として、欠陥のある意味表現がプロセス340の残りのステップへ前方へ運ばれることを阻止するために、セット368から潜在的意味表現を修正または除去するように設計されたパーサ補正プラグインを含むことができる。特定の実施形態では、このパーサ補正プラグインは、特定のPOSタギングを特定の解析木構造に関連付けるように訓練されたMLベースの構成要素(たとえば、人工ニューラルネットワーク)を含むことができる。他の実施形態では、パーサ補正プラグインは、POS補正プラグインに関して上記で論じたように、規則ベースの補正技法、または規則ベースおよびMLベースの技法の組合せを実施することができる。
【0089】
図12に示す実施形態では、プロセス340の解析段階347は、構造サブシステム172が、FSFプラグイン326を使用して、ブロック366でパーサプラグイン324によって生成された潜在的意味表現セット368の最終スコアリングおよびフィルタリング(ブロック376)を実行することによって終了する。たとえば、
図12に示すように、特定の実施形態では、FSFプラグイン326は、パーサプラグイン324によって生成された潜在的意味表現セット368、潜在的意味表現の各々に対応する信頼性スコア370、および潜在的意味表現セット368を生成するために使用される潜在的POSタギングに対応する信頼性スコア352を受け取る。加えて、FSFプラグイン326はまた、FSF閾値378を受け取り、FSF閾値378は、データベース106に記憶することができる。FSFプラグイン326は、これらの信頼値に基づいて潜在的意味表現セット368内の各エントリに対する最終的(たとえば、全体的、累積的)なスコアを計算する最終スコアリング関数を定義し、FSF閾値378以上の最終スコアを有する意味表現のみを前進させる。
【0090】
異なる実施形態では、FSFプラグイン326の最終スコアリング関数は、POSタギングからの信頼性スコア352と、解析からの信頼性スコア370とを、異なる形で組み合わせることができる。たとえば、特定の実施形態では、最終スコアリング関数は、潜在的意味表現セット368内の各エントリに対する信頼性スコア352および370をそれぞれ乗算および/または加算することができる。特定の実施形態では、この乗算および/または加算プロセスは、最終スコアに対するPOSタギングからの信頼性スコア352または解析からの信頼性スコア370の影響を増大させるように加重することができる。特有の例として、一実施形態では、潜在的意味表現セット368内の意味表現の対応する最終スコアは、POSタギングからの信頼性スコア352に解析からの信頼性スコア370を足した値の5倍とすることができる。他の実施形態では、信頼性スコア352および370は、加重平均として組み合わせることができ、各信頼性スコアに対する相対的な重みは、データベース106内で事前定義することができる。
【0091】
例として、
図13は、NLUフレームワーク104の意味探索サブシステム152内で実施することができる類似性スコアリングサブシステム388の一実施形態を示す情報の流れ図である。以下に論じるように、類似性スコアリングサブシステム388は、数学的比較関数を検索および利用し、より高価な関数を介して任意の好適な数の意味表現を互いに反復して比較する。一例として、
図13の本実施形態は、第1の意味表現390および第2の意味表現392が探索空間256の意味表現158と比較される類似性スコアリングサブシステム388の機能を対象とするが、以下に論じる技法は、NLUフレームワーク104の各意味表現に適用可能であることを理解されたい。理解されるように、第1の意味表現390は、上記で論じた意味表現162のうちの第1の意味表現162に対応することができ、第2の意味表現164は、意味表現162のうちの第2の意味表現162に対応することができる。意味表現390、392は各々、本明細書ではユーザ発話122に対応するものとして主に論じた発話266から導出することができるが、他の実施形態では、上記で論じたサンプル発話155のうちの1つに対応することもできる。
【0092】
概して、各意味表現390、392は、意味表現390、392の形状(たとえば、発話木構造および品詞タギング)に基づいて割り当てられた0、1つ、または複数の認知構文文法(CCG)形式クラスに属する。言い換えれば、CCG技法に基づいて、類似性スコアリングサブシステム388は、各意味表現390、392が、集合的にCCG形式にマッピング可能なノード(たとえば、単語ベクトルおよび/または単語ベクトルの組合せ)に対する品詞タグを含む形状または構造(たとえば、発話木または他の好適なメタ構造によって定義される)を有すると認識する。したがって、類似性スコアリングサブシステム388は、意味表現390、392の形状に基づいて探索を実行し、意味表現390、392に対するアーティファクト整合を含む好適な整合意味表現158を識別することができる。
【0093】
図示の実施形態では、類似性スコアリングサブシステム388は形式クラスデータベース396を含み、形式クラスデータベース396内には形式クラステーブル398が含まれる。テーブルとして主に論じるが、他の実施形態では、形式クラステーブル398を任意の好適なデータ構造で実施することができる。いくつかの実施形態では、形式クラスデータベース396および形式クラステーブル398は、エージェント自動化フレームワーク100のデータベース106内に記憶することができる。本明細書で認識されるように、形式クラステーブル398の各エントリ400(たとえば、形式クラスエントリ)は、意味探索サブシステム152が対応する1対1の形式クラス比較(CCG形式クラス比較とも呼ぶ)を記述する。特に、形式クラステーブル398は、第1の意味表現のCCG形式に関連付けられた第1の軸402と、第2の意味表現のCCG形式に関連付けられた第2の軸404とを含み、これらが比較されている。各軸のラベルは、動詞誘導フレーズ、名詞誘導フレーズなど、類似性スコアリングサブシステム388が対応するそれぞれのCCG形式の各々に対する形式パターンに関連付けられており、対応されるf1~fNのCCG形式範囲内で好適な関数名によって表される。したがって、特定の意味表現に対する形式パターンは、特定の意味表現に対するCCG形式クラスのメンバーシップを定義することを理解されたい。
【0094】
本実施形態では、形式クラステーブル398は、2つの関連付けられたCCG形式が比較可能であるかどうかを示すために、CCG形式のうちの2つの各交差に対して、エントリ400のうちのそれぞれのエントリ400を含み、比較可能である場合、比較の性能に関する命令を含む。形式クラステーブル398は、比較されたCCG形式クラスの可能な各順列に対応する任意の好適な数のエントリ400を含むことができることを理解されたい。特に、各々が同じCCG形式クラスに属する意味表現は、それ自体が互いに比較可能であり、形式クラステーブル398の中心対角線406に沿って各エントリ400内に示されている以下に論じる比較関数リストによって表される。本明細書に示すように、形式クラステーブル398は、中心対角線406に沿って鏡映対称線を有し、形式クラステーブル398の本実施形態の比較関数が可換であることを示す。すなわち、第1の意味表現を第2の意味表現と比較することは、第2の意味表現を第1の意味表現と比較することと同じ結果をもたらす。他の実施形態では、形式クラステーブル398は、鏡映対称線を含まなくてもよく、したがって類似性スコアリングサブシステム388が、意味表現が比較されている順序または方向に基づいて、以下に論じる比較関数リストを適合させることが有効になる。特定の例として、形式クラステーブル398の1つのエントリ400は、動詞誘導CCG形式を有する意味表現を、動詞誘導CCG形式、名詞誘導CCG形式などを有する他の意味表現と比較することができると指定することができる。本実施形態では、類似性スコアリングサブシステム388は、比較のためのエントリ400が空(たとえば、ナル、未定義)であると判定したことに応答して、1対の意味表現が比較可能でないと判定し、したがって比較可能でない意味表現間の比較を実行しない。
【0095】
上述したように、類似性スコアリングサブシステム388の対応される各CCG形式クラス比較に対する形式クラステーブル398のエントリ400はまた、1つまたは複数の関数410(たとえば、比較関数)を有する数学的比較関数リスト408(たとえば、形式代数関数リスト、処理規則)を含み、または、類似性スコアリングサブシステム388を数学的比較関数リスト408に向ける。各数学的比較関数リスト408の関数410は、以下により詳細に説明するように、意味表現390、392の各々を探索空間256と比較することを有効にする累進的により高価なスコアリング関数を提供する入れ子状の関数セットである。数学的比較関数リスト408は、類似性スコアリングサブシステム388が任意の好適な数の意味表現間の類似性スコアを判定するために用いることができるベクトル代数、コサイン類似性関数、外部データベースへのクエリ、および/または任意の他の好適な数学関数もしくは数式を含むことができる。関数410は、数学的比較関数リスト408の前の機能をさらに定義することができ、または別法として前の関数410から完全に独立したものとすることもできることを理解されたい。いくつかの実施形態では、形式クラステーブル398の各エントリ400に対する数学的比較関数リスト408は、言語学者またはユーザによって手動で指定されたもの、ML技法によって導出されたものなどである。
【0096】
概して、数学的比較関数リスト408の関数410は各々、意味表現390、392の考慮された部分が探索空間256の意味表現158に好適に整合することに応答して、特定の閾値スコアを上回る類似性スコアを与えることによって、意味表現390、392のうちの比較可能な意味表現と探索空間256との間の類似性をそれぞれスコアリングする。特定の実施形態では、関数410は、それぞれの意味表現158が、対応する探索鍵意味表現390、392の重要または顕著なノードを除外したこと、またはそのようなノードに整合しないことに応答して、探索空間256のそれぞれの意味表現158に関連付けられた類似性スコアに0を割り当てることができ、または他の方法でペナルティを与えることができる。理解されるように、類似性スコアリングサブシステム388は、空の形式クラステーブル398のエントリ400によって示されるように、形式クラスデータベース396の形式クラス互換性規則に基づいて、比較に好適でないCCG形式を有する別の意味表現と、意味表現を比較しない。
【0097】
他の実施形態では、類似性スコアリングサブシステム388は、いくつかの実施形態において、比較可能でない対の意味表現に、0の類似性スコアをすぐに割り当てることができる。さらなる実施形態では、類似性スコアリングサブシステム388は、類似性スコアリングサブシステム388に、比較可能でない意味表現間の0の類似性スコアを生成させる関数410を有する数学的比較関数リスト408を実施することによって、比較を実行することができる。そのような実施形態では、数学的比較関数リスト408は自然に、類似性スコアリングサブシステム388に、意味表現390、392との比較に好適でないCCG形式を有する意味表現158に0またはナルの類似性スコアを割り当てさせることができるため、形式クラステーブル398は、形式クラステーブル398の各エントリ400内に適当な数学的比較関数リスト408を含むことができる。
【0098】
さらに、特定の実施形態では、類似性スコアリングサブシステム388は、発話意味モデル160から発話394の複数の感情表現の表現を受け取ることができる。たとえば、探索鍵意味表現390、392は、発話266に対する代替形式を表すものとして、発話意味モデル160内に含むことができる。概して、意味表現390、392(意味抽出サブシステム150によって作成され、発話意味モデル160内に含まれる)の各々は、発話394のアーティファクトに対応する好適に別個の意味表現を表す。比較可能な各対の意味表現390、392を考慮することによって、本実施形態の類似性スコアリングサブシステム388は、対応する抽出されたアーティファクト140に対してより徹底的な探索を提供するために、またはそのようなアーティファクト140に対してより大きい網をかけるために、発話394の複数の解釈を評価することができる。
【0099】
図14は、プロセス420の一実施形態の流れ図であり、プロセス420によって、意味探索サブシステム152は、比較関数リスト408を使用して探索空間256から整合意味表現を反復して識別する弾性ビーム幅のCCG形式ベースの探索を実行する。理解されるように、プロセス420は、意味探索サブシステム152が、発話意味モデル160の意味表現162の各々と、探索空間256内の多数の意味表現158との間の類似性を予測的に評価することを有効にする。プロセス420は、
図3、
図4A、および
図4Bに関して上記で論じたように、好適なメモリ(たとえば、メモリ86)内に記憶することができ、クライアントインスタンス42または企業インスタンス125に関連付けられた好適なプロセッサ(たとえば、プロセッサ82)によって実行することができる。
【0100】
プロセス420の図示の実施形態では、図示の実施形態の意味探索サブシステム152は、for-eachループ422によって、発話意味モデル160の意味表現162の各々に対して反復される。意味探索サブシステム152は、for-eachループの代わりに、発話意味モデル160の意味表現162の各々に対する類似性スコアの生成を有効にする任意の他の好適な処理体系を実施することができることを理解されたい。たとえば、意味探索サブシステム152は、別法として、do-whileループ、forループ、whileループ、do-untilループなどを実施することができる。いずれにせよ、発話意味モデル160の意味表現162の各々に対して、類似性スコアリングサブシステムは、
図13に示すように、それぞれの意味表現のCCG形式を判定し(ブロック424)、形式クラスデータベース396から関連付けられた比較関数リスト408を検索する。プロセス420に対する反復パラメータを初期化することで、意味探索サブシステム152はまた、意味表現のCCG形式に対応する比較関数リスト408の第1の関数410を選択し(ブロック426)、最初に全探索空間256になるように、関心探索部分空間を定義する。
【0101】
プロセス420の図示の実施形態では、意味探索サブシステム152は、対応する比較関数リスト408の第1の比較関数410を使用して、意味表現162(ユーザ発話122から導出される)と、探索部分空間の比較可能な意味表現158とを比較し(ブロック428)、それによって意味表現162と探索部分空間の比較可能な意味表現との比較に対応する類似性スコアセット430を生成および精練する。いくつかの実施形態では、意味探索サブシステム152は、比較された意味表現の意味ベクトル(たとえば、単語ベクトル、部分木ベクトル)間の距離に基づいて、類似性スコアセット430を判定することができる。上述したように、第1の比較関数410は、比較関数リスト408の比較関数の最小量の計算資源を消費する。したがって、意味探索サブシステム152は、ユーザ発話の意味表現の全体と、探索空間または理解モデル内の意味表現の全体とを包括的に比較する他の探索システムより、この初期CCG形式探索および類似性スコアリングを急速かつ/または効率的に実行することができる。
【0102】
たとえば、
図15を次に参照すると、この図は、比較関数リスト408を適用して探索空間256を好適な探索部分空間に選択的に精練する意味探索サブシステム152の一実施形態の概略図を示す。たとえば、第1の比較432中、意味探索サブシステム152は、第1の比較関数410Aを適用して、意味表現162と、探索空間256の全体になるように初期化された探索部分空間434内の比較可能な意味表現158、またはより厳密には探索空間256のすべての比較可能な意味表現158とを比較することができる。本明細書で認識されるように、最も正確でないが最も効率的な比較関数410Aをこうして適用することで、意味探索サブシステム152が探索空間256において第1回の探索を効率的に実行することが有効になる。図示の例では、第1の比較関数410Aは、意味表現162の根ノード436を考慮するが、第1の比較関数410Aを介して、意味表現162の別の好適な部分(たとえば、他のノードまたはノードの組合せ)を分析することもできることを理解されたい。
【0103】
図14に戻ると、意味探索サブシステム152は、探索部分空間434から意味表現158を除去または剪定し(ブロック438)、剪定される意味表現は、類似性スコアセット430内に、CCG形式ベースの探索の弾性ビーム幅を定義する弾性または可変の閾値である緩和された総最小信頼性スコア(緩和されたAMCT)を下回る対応する類似性スコアを有する。AMCTおよび緩和されたAMCTの判定については、
図16に関して説明する。したがって、意味探索サブシステム152は、探索部分空間434の低減された数の意味表現158に対する比較関数リスト408の後の比較関数410の効率的な適用のために、探索部分空間434を縮小することができる。実際には、
図15に戻ると、探索部分空間434は、第1の比較432後、緩和されたAMCTを下回る類似性スコアに関連付けられた意味表現158を探索部分空間434から除去することによって狭められる(たとえば、収縮される、刈り込まれる)。
【0104】
図14のプロセス420に戻ると、意味探索サブシステム152は、CCG形式比較(たとえば、for-eachループ422の現在の反復)が継続するべきであるかどうかを判定する(ブロック440)。本明細書で認識されるように、意味探索サブシステム152は、1つまたは複数の好適な停止条件が満たされたことに基づいて、CCG形式の比較を継続すると判定することができる。たとえば、意味探索サブシステム152は、すべての意味表現158が探索部分空間434から剪定されたこと(たとえば、整合がないことを示す)、意味表現158の閾値数が探索部分空間内に残っていること(たとえば、最も可能性が高い整合を示す)、最近適用された比較関数410が、その関数内に定義された埋込み停止条件が満たされたことを示すこと、比較関数リスト408のすべての関数が適用されたことなどに応答して、CCG形式の比較を終了することができる。
【0105】
ブロック440で、停止条件が満たされていないと判定したことに応答して、意味探索サブシステム152は、比較関数リスト408の次の比較関数410を選択する(ブロック442)。次いで、矢印444によって示すように、意味探索サブシステム152は、ブロック428へ戻り、意味表現162と、探索部分空間434の残りの比較可能な意味表現158とを比較する。次いで、意味探索サブシステム152は、比較関数リスト408の後のより計算的に高価な比較関数410を利用することによって、探索部分空間434の残りの比較可能な意味表現158に関連付けられた類似性スコアセット430を精練(たとえば、修正、更新)する。各比較後、意味探索サブシステム152は、前の反復を介して生成された類似性スコアセット430を精練することができ、または別法として、セット430の前に生成された各類似性スコアを、そのより正確な同等物に交換することができる。実際には、後の比較関数410の適用中にさらなる処理資源が利用されるため、類似性スコアセット430は概して、追加の比較関数410が適用されると、正確さおよび/または精度に関して改善される。類似性スコアセット430に基づいて、意味探索サブシステム152は、セット430のうち、緩和されたAMCTを下回るそれぞれの類似性スコアを有する意味表現158の探索部分空間434を再び剪定する(ブロック438)。
【0106】
図15を再び参照すると、類似性スコアセット430を精練し、探索部分空間434を剪定するために、意味探索サブシステム152は、第2の比較446中に第2の比較関数410Bを適用して、意味表現162と、サイズが低減された探索部分空間434内の残りの意味表現158とを比較する。したがって、意味探索サブシステム152は、緩和されたAMCTを満たす好適な候補のみを含むように、探索部分空間434をさらに縮小することができる。特定の実施形態では、各比較関数410は、比較された意味表現のそれぞれのノードの露出または拡大を案内する。たとえば、第1の比較関数410Aは、意味表現162の根ノード436と探索部分空間434の意味表現158とを比較する単一の条項を含むことができ、第2の比較関数410Bは、意味表現162の拡大部分と探索部分空間434の意味表現158とを比較する1つまたは複数の条項を含むことができる。
【0107】
したがって、意味探索サブシステム152は、所与の比較のために、累進的により正確かつ資源集約的になる比較関数410を、探索部分空間434の残存している(たとえば、ビーム内の)意味表現158に反復して適用する。
図14のプロセス420を
図15に対して継続すると、意味探索サブシステム152は、第3の比較448中に第3の比較関数410Cを実施して、意味表現162の一部分(たとえば、露出または考慮された部分)と、さらに剪定された探索部分空間434とを比較することができ、以下同様である。したがって、意味探索サブシステム152は、最終比較450中に最終比較関数410Dを実施して、意味表現162の全体と、さらに剪定された探索部分空間434とを比較するように設計され、著しく低減された数の残りの意味表現158の候補のために、最も計算集約的な最終比較関数410Dの実行を節約する。実際には、特定の事例では、
図15の最終比較450は、意味表現162内の利用可能な情報の全体を活用して(たとえば、すべてのノードを考慮する)、探索空間256から競合整合意味表現158を識別することができる。
【0108】
したがって、
図14に戻ると、意味探索サブシステム152は、ブロック440でCCG形式比較の停止パラメータが満たされていると判定することができ、それに応答して、for-eachループ422を反復して(ブロック441)、発話意味モデル160の次の意味表現162を処理することができる。意味表現162のすべてが処理された後、意味探索サブシステム152は、初期競合整合意味表現セット452を識別し、初期セット452の各々は、発話意味モデル160の特定の意味表現162に対する整合意味表現を含む。加えて、これらの初期競合整合意味表現セット452は、後の部分の意味探索中に焦点を狭めすぎることを回避するために、ダイバーシティスコアリングへ提出される。ここで論じるダイバーシティスコアリングは、上記で論じた変動性フィルタリングとは別個であることに留意されたい。
【0109】
したがって、図示の実施形態では、意味探索サブシステム152は、すべての初期競合整合意味表現セット452にわたってダイバーシティスコアリングを実行し(ブロック454)、事前定義されたダイバーシティ閾値を下回るそれぞれのダイバーシティスコアを有するエントリを除去する。たとえば、一実施形態では、意味探索サブシステム152は、探索空間256の2つの意味表現158を比較し、意味表現が互いにどれだけ異なるかを示すダイバーシティスコアを返すように設計されたダイバーシティスコアリング構成要素を含むことができる。特有の例として、一実施形態では、ダイバーシティスコアリング関数は、探索空間256を生成するために使用された1つまたは複数の理解モデル157にアクセスして、どの特定の理解モデル157およびどの意図が、ダイバーシティスコアリングを受けている各意味表現に関連付けられているかを判定することができる。この例では、ダイバーシティスコアリング関数は、共通の意図または理解モデルを共有しない意味表現に対して、最も高い相対ダイバーシティスコア(たとえば、1)を判定し、共通の理解モデルを共有するが共通の意図は共有しない意味表現に対して、ならびに共通の意図を共有するが共通の理解モデルは共有しない意味表現に対して、より低い相対ダイバーシティスコア(たとえば、0.5)を判定し、共通の理解モデルおよび共通の意図の両方を共有する意味表現に対して、最も低い相対ダイバーシティスコア(たとえば、0)を判定することができる。
【0110】
ブロック454のダイバーシティスコアリング中、意味探索サブシステム152は、初期競合整合意味表現セット452から、「競合バッグ」である(最終)競合整合意味表現セット260へ、意味表現を選択的に追加する。したがって、意味表現を最終セット260に追加する前に、意味表現は、ダイバーシティスコアリング関数を使用して、現在最終セット260に入っているあらゆる意味表現に対して測定される。最終競合意味表現セット260内のすべてのエントリと比較されたとき、意味表現が、事前定義されたダイバーシティ閾値を上回るダイバーシティスコアを有していない場合、この意味表現は廃棄され、最終セット260に追加されない。しかし、新しい競合が、すべてのバッグ内の競合と比較して、事前定義されたダイバーシティ閾値より大きいダイバーシティ測度を有する場合、この競合は最終セット260に追加される。特定の実施形態では、意味探索サブシステム152は、以下に論じるように、競合意味表現セット260を使用して、アーティファクト内探索を実行する。
【0111】
図16は、
図13の弾性ビーム幅のCCG形式ベースの探索の一実施形態中に使用される緩和された総最小信頼性閾値(AMCT)によって提供される有効ビーム幅を示す概略図である。図示の実施形態では、各円が、
図14のブロック438などの弾性ビーム幅のCCG形式ベースの探索の一部分中に剪定を切り抜けた意味表現470を表す。有効ビーム幅472は、緩和されたAMCT値以上のそれぞれの信頼性スコアを有する競合整合意味表現470を示し、したがって探索部分空間内に保持され、かつ/または探索動作の次の比較もしくは段階へ進められる。たとえば、
図14および
図15に示すように、有効ビーム幅472内の意味表現158は、関数比較リスト408の後の比較関数410を使用して、発話意味モデル160の探索鍵に対して比較された探索部分空間434を定義することができ、またはブロック454でダイバーシティスコアリングへ提出される初期競合整合意味表現セット452内に含むことができる。
図16に示すように、緩和されたAMCT値を下回るそれぞれの信頼性スコアを有する残りの意味表現470は、廃棄または除去される。
【0112】
上述したように、弾性ビーム幅有効探索動作は、弾性信頼性閾値に基づいて、可変数の探索整合を識別することができる。たとえば、AMCT値は、総信頼性閾値セットから選択された最小の信頼性閾値である。たとえば、一実施形態では、信頼値セットは、意味探索動作に対して所望の信頼性閾値を定義するためにユーザ発話とともに提供される信頼値、特定の意図または実体に対して定義されるアーティファクトレベルの信頼性閾値などの探索空間に関連付けられた理解モデルにおいて定義される信頼値、およびNLUフレームワーク104の構成によって定義されるデフォルト信頼値のうちの1つまたは複数を含むことができる。信頼性閾値セットの最も低いまたは最小の信頼性閾値は、AMCT値として選択される。したがって、弾性ビーム幅のCCG形式ベースの探索中、特定の比較を異なるAMCT値(たとえば、異なるアーティファクトレベルの信頼性閾値による)に関連付けることができ、したがって、各比較段階において、可変の数の競合整合意味表現を識別するために、異なる有効ビーム幅が使用されることが理解されよう。
【0113】
加えて、特定の実施形態では、
図13の弾性ビーム幅のCCG形式ベースの探索中に弾性ビーム幅(識別される潜在的な探索整合の数)を広くしまたは拡大するために、緩和関数を使用して、AMCTをさらに緩和することができる。たとえば、緩和関数は、AMCT値を緩和されたAMCT値に修正および拡大(たとえば、低減)するために、1つまたは複数の数学動作を定義することができ、緩和されたAMCT値は、比較中に識別することができる潜在的整合意味表現の数に対する静的閾値または静的限界によって考慮することから除去されるはずであるより低いスコアリングの潜在的意味表現整合が保持されることを有効にする。特有の例として、AMCT値は、初期閾値(たとえば、75%の信頼性)を指定することができ、緩和されたAMCTは、実質的により低くして(たとえば、50%の信頼性)、
図17の弾性ビーム幅のアーティファクト内探索へ最終的に進めることができる追加の潜在的整合意味表現の識別を有効にすることができる。したがって、意味探索サブシステム152は、緩和されたAMCT値を判定し、次いで弾性ビーム幅のCCG形式ベースの探索の比較中に、緩和されたAMCT値を満たす可変数の潜在的整合意味表現を識別することができる。
【0114】
図17は、プロセス480の一実施形態の流れ図であり、プロセス480によって、意味探索サブシステム152は、競合意味表現セットに対して弾性ビーム幅のアーティファクト内探索を実行する。たとえば、特定の実施形態では、意味探索サブシステム152は、関心探索部分空間を、CCG形式ベースの探索によって識別された特定の意図へさらに集中させ、発話意味モデル160の意味表現162または探索鍵と探索空間256の意味表現158との間の類似性スコアセット430をさらに精練するように、弾性ビーム幅のCCG形式ベースの探索によって出力される競合意味表現セット260に対して、弾性ビーム幅のアーティファクト内探索を実行することができる。
図17のプロセス480の構造は、
図14のプロセス480の構造に類似しており、したがって、以下の議論は、プロセス420および480間の違いに焦点を当てることが理解されよう。プロセス480は、
図3、
図4A、および
図4Bに関して上記で論じたように、好適なメモリ(たとえば、メモリ86)内に記憶することができ、クライアントインスタンス42または企業インスタンス125に関連付けられた好適なプロセッサ(たとえば、プロセッサ82)によって実行することができる。
【0115】
図17に示す実施形態では、プロセス480はfor-eachループ482を含み、for-eachループ482は、競合意味表現セット260内の各エントリに対して反復され、各エントリに対して一連のステップを実行する。図示のように、意味探索サブシステム152は、for-eachループ482の現在選択されている意味表現に対する意図、CCG形式、および比較関数リスト408を判定する(ブロック484)。たとえば、意味探索サブシステム152は、探索空間256の根本的な理解モデル157から、意味表現の意図を検索することができる。次いで、意味探索サブシステムは、比較関数リスト408の第1の比較関数を選択し(ブロック486)、検索された意図を有する探索空間256の意味表現158のみを含むように、関心探索部分空間を定義する。
【0116】
for-eachループ482内のブロックの残りは、概して、
図14に関して上述したように機能する。しかし、緩和されたAMCT値を使用するのではなく、プロセス480は、緩和されたモデルアーティファクト信頼性(MACT)閾値に基づいて、反復して狭められた探索部分空間からの意味表現を除去または剪定する(ブロック488)。緩和されたAMCTと同様に、緩和されたMACT値は、アーティファクト内探索の弾性ビーム幅を定義する弾性または可変の閾値である。MACTおよび緩和されたMACTの判定については、
図18に関して説明する。競合整合意味表現セット260内のエントリのアーティファクト内比較中に少なくとも1つの停止条件が満たされていると判定された後(ブロック490)、意味探索サブシステム152は、for-eachループ482を反復し(ブロック492)、セット260内の次のエントリに対して、for-eachループ482内のステップを実行する。セット260内にエントリが残っていないとき、for-eachループ482は終了し、累進的に剪定された探索部分空間内に残っているあらゆる意味表現が、アーティファクト抽出のために前へ進められる最終的な整合意味表現セット264に追加される。
【0117】
図18は、弾性ビーム幅のアーティファクト内探索の一実施形態中に使用される緩和されたモデルアーティファクト信頼性閾値(MACT)によって提供される有効ビーム幅を示す概略図である。図示の実施形態では、各円が、
図17のブロック488などの弾性ビーム幅のアーティファクト内探索の一部分中に剪定を切り抜けた意味表現500を表す。有効ビーム幅502は、緩和されたMACT値以上のそれぞれの信頼性スコアを有する複数の競合整合意味表現を示し、したがって探索部分空間内に保持され、かつ/または探索動作の次の比較もしくは段階へ進められる。たとえば、
図17に示すように、有効ビーム幅内の意味表現は、関数比較リスト408の後の比較関数を使用して、発話意味モデル160の探索鍵に対して比較された探索部分空間を定義することができ、または意図/実体抽出へ提出される最終的な意味表現セット264内に含むことができる。緩和されたMACT値を下回るそれぞれの信頼性スコアを有する残りの意味表現500は、廃棄または除去される。
【0118】
上述したように、弾性ビーム幅有効探索動作は、弾性信頼性閾値に基づいて、可変数の探索整合を識別することができる。たとえば、MACT値は、特定の意図または実体に対して定義されるアーティファクトレベルの信頼性閾値などの探索空間256に関連付けられた理解モデル157において定義される信頼性閾値とすることができる。加えて、特定の実施形態では、
図17の弾性ビーム幅のアーティファクト内探索中に弾性ビーム幅(識別される潜在的探索整合の数)を広くしまたは拡大する緩和関数(AMCTを緩和するために使用される緩和関数とは別個)を使用して、MACTをさらに緩和することができる。たとえば、この緩和関数は、MACT値を緩和されたMACT値へ修正および拡大(たとえば、低減)するために、1つまたは複数の数学動作を定義することができ、緩和されたMACT値は、比較中に識別することができる潜在的整合意味表現の数に対する静的閾値または静的限界によって考慮することから除去されるはずであるより低いスコアリングの潜在的意味表現整合を保持することを有効にする。特有の例として、MACTは、初期閾値(たとえば、60%の信頼性)を定義することができ、緩和されたMACTは、実質的により低くして(たとえば、30%の信頼性)、意図および/または実体の抽出へ最終的に進めることができる追加の潜在的整合意味表現の識別を有効にすることができる。したがって、意味探索サブシステム152は、緩和されたMACT値を判定することができ、弾性ビーム幅のアーティファクト内探索中に、緩和されたMACT値を満たす可変数の潜在的整合意味表現を識別することができる。
【0119】
本開示の技術的な効果は、仮想エージェント(たとえば、チャットエージェント)によって受け取られた要求などのユーザ発話から意味を抽出し、これらのユーザ発話に好適に応答することが可能なエージェント自動化フレームワークを提供することを含む。加えて、本実施形態は、所与の自然言語発話に対して複数の代替の意味表現(たとえば、発話木)を検出することが可能な構造サブシステムを有するNLUフレームワークを提供する。開示する構造サブシステムは、発話の形式または形状の異なる面を検出するMLベースおよび規則ベースの技法の結果に対して一連の精練を適用することによって、これらの複数の意味表現を生成する。開示する構造サブシステムは、意味探索中に十分な考慮が与えられるべきである複数の有望な形式派生を考慮しながら、誤ったまたは実質上冗長な形式派生を考慮することから効果的に剪定することによって、自然言語要求の改善された意図推定を有効にする。さらに、開示する意味探索サブシステムは、意味探索の様々な段階を実行するとき、弾性(たとえば、非静的、可変)の閾値を有効にする。たとえば、弾性ビーム幅のCCG形式ベースの探索中に、緩和されたAMCTを使用することができ、弾性ビーム幅のアーティファクト内探索中に、緩和されたMACTを使用することができる。弾性信頼性閾値を使用することによって、意味探索サブシステムは、潜在的整合意味表現に、探索動作の初期比較から低信頼性スコアを受け取ることに耐える機会を与え、したがって意味表現は、探索動作の後の比較においてその信頼性スコアを増大させることができ、最後のアーティファクト(たとえば、意図および/または実体)抽出に対する最終整合意味表現セットに到達する資格を得ることができることが現在認識されている。したがって、開示する技法は、NLUフレームワークの性能、ドメイン特異性、推論品質、および/または効率を改善する。
【0120】
上述した特有の実施形態は、例として示されており、これらの実施形態は、様々な修正および代替の形態を受けることができることを理解されたい。特許請求の範囲は、開示する特定の形態に限定されることを意図したものではなく、本開示の精神および範囲内のすべての修正、均等物、および代替を包含することを意図したものであることをさらに理解されたい。
【0121】
本明細書に提示および主張される技法は、本技術分野を実証可能に改善し、したがって抽象的、無形、または純粋に理論的ではない、実際的な性質の有形物および具体例に参照および適用される。さらに、本明細書の終わりに添付するいずれかの請求項が、「・・・[機能]を[実行]する手段」または「・・・[機能]を[実行]するステップ」と呼ばれる1つまたは複数の要素を含む場合、そのような要素は、米国特許法第112条(f)に基づいて解釈されることが意図される。しかし、任意の他の形で呼ばれる要素を含む請求項の場合、そのような要素は、米国特許法第112条(f)に基づいて解釈されるべきではないことが意図される。