IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サービスナウ, インコーポレイテッドの特許一覧

特許7420842自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム
<>
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図1
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図2
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図3
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図4A
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図4B
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図5
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図6
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図7
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図8
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図9
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図10
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図11
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図12
  • 特許-自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-15
(45)【発行日】2024-01-23
(54)【発明の名称】自然言語理解(NLU)フレームワークにおける予測的類似性スコアリングサブシステム
(51)【国際特許分類】
   G06F 16/90 20190101AFI20240116BHJP
   G06F 40/56 20200101ALI20240116BHJP
【FI】
G06F16/90 100
G06F40/56
【請求項の数】 13
(21)【出願番号】P 2021577215
(86)(22)【出願日】2020-07-01
(65)【公表番号】
(43)【公表日】2022-09-05
(86)【国際出願番号】 US2020040569
(87)【国際公開番号】W WO2021003311
(87)【国際公開日】2021-01-07
【審査請求日】2022-02-24
(31)【優先権主張番号】62/869,817
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/869,864
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/869,826
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/869,811
(32)【優先日】2019-07-02
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】16/570,506
(32)【優先日】2019-09-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518249328
【氏名又は名称】サービスナウ, インコーポレイテッド
【氏名又は名称原語表記】ServiceNow, Inc.
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】サプガイ エドウィン
(72)【発明者】
【氏名】パク ジョングン
(72)【発明者】
【氏名】ヒートン-ダンラップ アン キャサリン
【審査官】成瀬 博之
(56)【参考文献】
【文献】国際公開第2007/105615(WO,A1)
【文献】特表2017-536601(JP,A)
【文献】米国特許出願公開第2017/0069310(US,A1)
【文献】米国特許出願公開第2018/0329879(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/20-40/58
(57)【特許請求の範囲】
【請求項1】
形式クラスデータベースを有する類似性スコアリングサブシステムを含む自然言語理解(NLU)フレームワークを実行するための命令を記憶するメモリと、
前記命令を実行するように構成されたプロセッサと、
を含むエージェント自動化システムであって、
前記命令が、前記プロセッサに、
ユーザ発話の意味表現を受け取るステップと、
前記意味表現の認知構文文法(CCG)形式を識別するステップと、
前記意味表現の前記CCG形式に整合する前記形式クラスデータベースの少なくとも1つの形式クラスエントリを判定するステップと、
前記少なくとも1つの形式クラスエントリからの数学的比較関数リストを検索するステップと、
を含む動作を実行させ、
前記数学的比較関数リストは、前記類似性スコアリングサブシステムが、前記意味表現の少なくとも一部分と探索空間意味表現の少なくとも探索空間部分との間の類似性スコアを判定するために、前記意味表現の前記少なくとも一部分と前記探索空間意味表現の前記少なくとも探索空間部分とを比較することを有効にする、エージェント自動化システム。
【請求項2】
前記数学的比較関数リストは、前記類似性スコアリングサブシステムが、前記意味表現と前記探索空間意味表現とを比較するために、より計算的に高価な関数を累進的に利用することを有効にする順序付きの関数セットを含む、請求項1に記載のエージェント自動化システム。
【請求項3】
前記探索空間意味表現が、前記NLUフレームワークの探索空間を定義する複数の探索空間意味表現のうちの1つであり、
前記命令が、前記プロセッサに、前記ユーザ発話の前記意味表現に整合する前記複数の探索空間意味表現の部分集合に対して前記探索空間を探索するステップを含む動作を実行させる、請求項1に記載のエージェント自動化システム。
【請求項4】
前記命令が、前記プロセッサに、前記意味表現と前記探索空間意味表現との間の前記類似性スコアを判定するために、前記数学的比較関数リストを介して前記意味表現と前記探索空間意味表現とを比較するステップを含む動作を実行させる、請求項1に記載のエージェント自動化システム。
【請求項5】
前記プロセッサが、
前記類似性スコアを判定するために、前記意味表現の第1の根ノードと前記探索空間意味表現の第2の根ノードとを比較することと、
前記類似性スコアを精練するために、前記意味表現の前記第1の根ノードおよび第1の従属ノードと前記探索空間意味表現の前記第2の根ノードおよび第2の従属ノードとを比較することと、
によって、前記意味表現と前記探索空間意味表現とを比較するように構成される、請求項4に記載のエージェント自動化システム。
【請求項6】
前記命令が、前記プロセッサに、
前記類似性スコアが所定の閾値スコアより小さいかどうかを判定するステップと、
前記類似性スコアが前記所定の閾値スコアより小さいと判定したことに応答して、前記探索空間意味表現を前記意味表現との後の比較から無視するステップと、
を含む動作を実行させる、請求項5に記載のエージェント自動化システム。
【請求項7】
前記意味表現が発話木構造を含み、前記発話木構造が、根ノードと、前記根ノードに意味論的に結合された少なくとも1つの従属ノードとを含む、請求項1に記載のエージェント自動化システム。
【請求項8】
前記意味表現の前記少なくとも一部分が、前記根ノードであり、前記探索空間意味表現の前記少なくとも探索空間部分が、前記探索空間意味表現の探索空間根ノードであり、したがって前記類似性スコアが、前記根ノードの部分木ベクトルと前記探索空間根ノードの部分木ベクトルとの間の類似性を定量化する、請求項7に記載のエージェント自動化システム。
【請求項9】
前記CCG形式が第1のCCG形式を含み、前記少なくとも1つの形式クラスエントリが第1の形式クラスエントリを含み、前記数学的比較関数リストが第1の数学的比較関数リストを含み、
前記命令が、前記プロセッサに、
前記意味表現の第2のCCG形式を識別するステップと、
前記意味表現の前記第2のCCG形式に整合する前記形式クラスデータベースの第2の形式クラスエントリを判定するステップと、
前記第2の形式クラスエントリから第2の数学的比較関数リストを検索するステップと、
を含む動作を実行させる、請求項1に記載のエージェント自動化システム。
【請求項10】
前記命令が、前記プロセッサに、
第1の類似性スコアを判定するために、前記第1の数学的比較関数リストを介して前記意味表現と前記探索空間意味表現とを比較するステップと、
第2の類似性スコアを判定するために、前記第2の数学的比較関数リストを介して前記意味表現と前記探索空間意味表現とを比較するステップと、
照合関数を介して前記第1の類似性スコアおよび前記第2の類似性スコアを総類似性スコアに集約するステップと、
を含む動作を実行させ、
前記総類似性スコアは、前記類似性スコアリングサブシステムが、前記探索空間意味表現が前記意味表現に対する整合であるかどうかを判定することを有効にする、請求項9に記載のエージェント自動化システム。
【請求項11】
命令を記憶する非一時的コンピュータ可読媒体であって、
前記命令は、エージェント自動化システムの1つまたは複数のプロセッサによって実行されるとき、前記エージェント自動化システムに類似性スコアリングサブシステムを実施させて、
受け取ったユーザ発話に対応する意味表現の認知構文文法(CCG)形式を識別するステップと、
前記意味表現の前記CCG形式に整合する形式クラスデータベースの少なくとも1つの形式クラスエントリを判定するステップと、
前記意味表現の前記CCG形式に対応する、前記少なくとも1つの形式クラスエントリからの数学的比較関数リストを検索するステップであって、前記数学的比較関数リストは、前記類似性スコアリングサブシステムが、前記意味表現と探索空間意味表現とを累進的に比較することを有効にする、ステップと、
前記意味表現と前記探索空間意味表現とを比較するステップと、
を行うようにし、
前記意味表現と前記探索空間意味表現とを比較するステップが、
前記意味表現の第1の考慮部分と前記探索空間意味表現の第2の考慮部分との間の類似性を定量化する類似性スコアを判定するために、前記数学的比較関数リストのそれぞれの関数を適用するステップと、
前記類似性スコアが前記意味表現の全体と前記探索空間意味表現の少なくとも一部分との間の前記類似性を表すまで、または前記数学的比較関数リストの後の関数が前記数学的比較関数リストの最も高コストの関数になるまで、前記類似性スコアを精練するために、前記数学的比較関数リストの前記後の関数を適用するステップと、
を反復して行うことによって行われる、非一時的コンピュータ可読媒体。
【請求項12】
前記探索空間意味表現が、前記エージェント自動化システムの探索空間を定義する複数の探索空間意味表現のうちの1つである、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記命令が、前記エージェント自動化システムに前記類似性スコアリングサブシステムを実施させて、
前記類似性スコアの各精練後、前記複数の探索空間意味表現のうち、所定のスコア閾値を上回るそれぞれの類似性スコアを提供する類似の探索空間意味表現に、前記探索空間を狭めるステップと、
前記それぞれの類似性スコアが、前記意味表現の全体との類似性を表した後、前記複数の探索空間意味表現のうち、前記探索空間内に残っている類似の探索空間意味表現を、前記意味表現との整合として識別するステップと、
を行うように構成される、請求項12に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
クロスリファレンス
本出願は、あらゆる目的で全体として参照により本明細書に組み込まれている、2019年7月2日に出願された「PREDICTIVE SIMILARITY SCORING SUBSYSTEM IN A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK」という名称の米国仮特許出願第62/869,817号の優先権および利益を主張する。本出願はまた、あらゆる目的で全体として参照により本明細書に組み込まれている、各々2019年7月2日に出願された「SYSTEM AND METHOD FOR PERFORMING A MEANING SEARCH USING A NATURAL LANGUAGE UNDERSTANDING (NLU) FRAMEWORK」という名称の米国仮特許出願第62/869,864号、「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群の記憶されたユーザ発話全体に直接問い合わせることがあり、それによって相当な処理およびメモリ資源を長期間にわたって消費することがある。したがって、既存の手法は、ユーザと実時間で関与するために、かつ/または複数のユーザ発話に対して適当な適時応答を同時に生成するために、好適な形で複雑なユーザ発話に効率的に対処することが可能でないことがある。
【発明の概要】
【0007】
本明細書に開示する特定の実施形態の概要について、以下に記載する。これらの態様は、これらの特定の実施形態の簡単な概要を読者に提供するためにのみ提示されており、これらの態様は、本開示の範囲を限定することを意図したものではないことを理解されたい。実際には、本開示は、様々な態様を包含することができるが、そのような態様は、以下に記載されていないこともある。
【0008】
本実施形態は、仮想エージェントによって受け取られた要求などのユーザ発話から意味を抽出し、これらのユーザ発話に好適に応答するように設計されたエージェント自動化フレームワークを対象とする。これらのタスクを実行するために、エージェント自動化フレームワークは、NLUフレームワークおよび意図-実体モデルを含み、意図-実体モデルは、サンプル発話に伴う定義された意図および実体を有する。NLUフレームワークは、意図-実体モデルのサンプル発話に対する意味表現を生成するように設計された意味抽出サブシステムを含む。したがって、NLUフレームワークは、これらの意味表現から探索可能な理解モデルまたは探索空間を生成し、意味表現は各々、根本的な発話の異なる理解または解釈を表す。意味抽出サブシステムはまた、ユーザから受け取られた発話に基づいて意味表現を生成し、ここで意味表現は、探索空間と比較される探索鍵である。したがって、開示するNLUフレームワークの意味探索サブシステムは、受け取ったユーザ発話の意味表現に対する意味表現整合を突き止めるために、理解モデルの意味表現を探索するように設計される。意味抽出サブシステムは、後に、適当なエージェント応答および/または行動を容易にするために、整合意味表現から意図および実体を抽出することができる。
【0009】
意味-探索ベースの本NLU技法など、受け取ったユーザ発話から理解を抽出するために探索に大いに依拠するNLUフレームワークの場合、特定の事例では、大きい理解モデルまたはさらには理解モデルの組合せに適用される探索プロセスは、相当数の意味表現を評価することがある。したがって、表面上はユーザ発話の意味表現に適合していない意味表現を除去するように探索空間を剪定することで、NLUフレームワークがより大きい探索空間を統合し、または探索空間の本実施形態により巧みに対応することを有効にすることができることが現在認識されている。複数の理解モデルから生成された探索空間を利用する実施形態の場合、本明細書に開示する技法は、各々が対応する理解モデルに関連付けられた複数の異なる事業態様(たとえば、販売、建築情報、サービスチケット)を考慮する意味探索に基づいて、改善されたユーザ満足を届けることができる。以下で論じるように、本実施形態は、概して、理解モデル内の整合意味表現の識別を改善するために、類似性スコアリング能力を活用して大きい探索空間を剪定することによって、意味探索サブシステムの動作を改善する。特に、本実施形態は、意味整合プロセスのより早い部分中に低コストでありまたはそれほど資源集約的でない剪定基準を利用して、探索空間を連続して縮小し、次いでサイズが低減された探索空間により資源集約的な剪定基準を適用する。理解されるように、それによって本技法は、探索鍵にあまり関係しない探索空間内の意味表現を評価することに資源を無駄にしない管理しやすくそれほど資源集約的でない探索問題に変換することによって、NLUに伴う難題に対処する。
【0010】
より具体的には、本実施形態は、受け取ったユーザ発話から導出された意味表現と、意図-実体モデルのサンプル発話から導出された意味表現とを効率的に比較するための意味探索サブシステムの類似性スコアリングサブシステムを対象とする。理解されるように、類似性スコアリングサブシステムは、漸進的な数学的比較関数セットに基づいて、比較される意味表現の各対に対して、類似性スコアを反復して判定する。たとえば、特定の意味表現と理解モデル内の1群の意味表現とを比較するために、類似性スコアリングサブシステムはまず、特定の意味表現に対する認知構文文法(CCG)形式を判定することができる。CCG技法に記載されているように、特定の意味表現のCCG形式クラスメンバーシップは、特定の意味表現の発話木構造の形状、ならびにその意味表現のノードの品詞注釈によって設定される。特定の意味表現のCCG形式に基づいて、類似性スコアリングサブシステムは、次いで、特定の意味表現と理解モデルの意味表現との間の比較を有効にする数学的比較関数リストを検索するために、形式クラスデータベースに問い合わせることができる。さらに、類似性スコアリングサブシステムは、特定の意味表現のCCG形式に適合しているCCG形式を有していない理解モデルの意味表現を無視または剪定することができる。
【0011】
本明細書に記載するように、各数学的比較関数リストは、比較されている意味表現のそれぞれの数のノードを反復して考慮する順序付きの1群の比較関数を含む。特に、比較関数は、類似性スコアリングサブシステムが、計算的に最も安価でありかつ/または最も効率的な関数をまず実施し、したがって特定の意味表現と理解モデルの意味表現との間の初期または予備の類似性スコアを判定するように順序付けられている。たとえば、類似性スコアリングサブシステムは、特定の意味表現の根ノードが理解モデルの比較可能な各意味表現の根ノードに好適に類似しているかどうかを考慮するために、初期関数を用いることができる。類似性スコアリングサブシステムは、次いで、好適に類似の意味表現を狭めることができ、その後、後の関数を適用して、各意味表現の根ノードおよび第1の従属ノードを考慮し、または任意の他のより資源集約的な比較関数を適用することができる。したがって、本明細書に記載する選択的なノード露出の反復的適用および/またはより高コストの比較関数の適用により、ますます複雑になる比較関数を介して、比較される意味表現のさらなる特徴を反復して考慮しながら、理解モデルの潜在的整合意味表現候補を絞り込む。したがって、予測的類似性スコアリングのための本技法は、意味表現整合の標的発見を有効にし、それによってNLUなどの生成空間に計算利益を提供し、意味表現サイズ(たとえば、ノードの数)および探索空間サイズを広大なものにすることができる。
【0012】
本開示の様々な態様は、以下の詳細な説明および図面の参照を読めば、よりよく理解されよう。
【図面の簡単な説明】
【0013】
図1】本技法の実施形態が動作することができるクラウドコンピューティングシステムの一実施形態のブロック図である。
図2】本技法の実施形態が動作することができるマルチインスタンスクラウドアーキテクチャの一実施形態のブロック図である。
図3】本技法の態様による、図1または図2に存在することができるコンピューティングシステムで利用されるコンピューティングデバイスのブロック図である。
図4A】本技法の態様による、クラウドコンピューティングシステムによってホストされるクライアントインスタンスの一部であるNLUフレームワークを含むエージェント自動化フレームワークの一実施形態を示す概略図である。
図4B】本技法の態様による、NLUフレームワークのいくつかの部分が、クラウドコンピューティングシステムによってホストされる企業インスタンスの一部である、エージェント自動化フレームワークの代替実施形態を示す概略図である。
図5】本技法の態様による、NLUフレームワークおよび挙動エンジンフレームワークを含むエージェント自動化フレームワークが、ユーザ発話から意図および/または実体を抽出してユーザ発話に応答するプロセスの一実施形態を示す流れ図である。
図6】本技法の態様による、意味抽出サブシステムが、受け取ったユーザ発話から意味表現を生成して、発話意味モデルをもたらし、理解モデルのサンプル発話から意味表現を生成して、理解モデルもたらし、意味探索サブシステムが、発話意味モデルの意味表現と理解モデルの意味表現とを比較して、受け取ったユーザ発話からアーティファクト(たとえば、意図および実体)を抽出する、意味抽出サブシステムおよび意味探索サブシステムを含むNLUフレームワークの一実施形態を示すブロック図である。
図7】本手法の一実施形態による発話に対して生成された発話木の一例を示す図である。
図8】本技法の態様による、NLUフレームワークが受け取ったユーザ発話からアーティファクトを抽出することを有効にする整合意味表現を判定または識別するために、理解モデルによって定義された探索空間を分析する意味探索サブシステムの一実施形態を示す情報の流れ図である。
図9】本技法の態様による、任意の好適な数の意味表現間の効率的な比較を有効にする数学的比較関数リストを検索するために、NLUフレームワークの意味探索サブシステム内で実施することができる類似性スコアリングサブシステムの一実施形態を示す情報の流れ図である。
図10】本技法の態様による、類似性スコアリングサブシステムが、発話ベースの意味表現と図8の探索空間との間の比較を有効にする数学的比較関数リストを検索する、プロセスの一実施形態を示す流れ図である。
図11】本技法の態様による、意味探索サブシステムの類似性スコアリングサブシステムが、1つの数学的比較関数リストを利用して、第1の意味表現と第2の意味表現とを比較する、一実施形態の図である。
図12】本技法の態様による、類似性スコアリングサブシステムが、探索空間からの整合意味表現を識別するように、数学的比較関数リストを実施する、プロセスの一実施形態の流れ図である。
図13】本技法の態様による、類似性スコアリングサブシステムが、数学的比較関数リストを適用して、発話ベースの意味表現に整合する意味表現を識別するための探索空間を選択的に狭める、一実施形態を示す概略図である。
【発明を実施するための形態】
【0014】
1つまたは複数の特有の実施形態について、以下に説明する。これらの実施形態の簡潔な説明を提供するために、実際の実施例の特徴のすべてが本明細書に説明されているとは限らない。そのようなあらゆる実際の実施例の開発において、あらゆる工学または設計計画と同様に、実施例ごとに変動しうるシステム関連および事業関連の制約への準拠などの開発者の特有の目標を実現するために、実施例に特有の多数の決定がされなければならないことを理解されたい。さらに、そのような開発努力は、複雑で時間のかかることがあるが、それにもかかわらず、本開示の利益を有する当業者にとっては、日常的な設計、製作、および製造の業務であることを理解されたい。
【0015】
本明細書では、「コンピューティングシステム」または「コンピューティングデバイス」という用語は、それだけに限定されるものではないが、単一のコンピュータ、仮想マシン、仮想コンテナ、ホスト、サーバ、ラップトップ、および/もしくは移動デバイス、またはコンピューティングシステム上でもしくはコンピューティングシステムによって実行されるものとして記載した機能を実行するようにともに動作する複数の電子コンピューティングデバイスなどの電子コンピューティングデバイスを指す。本明細書では、「機械可読媒体」という用語は、1つまたは複数の命令またはデータ構造を記憶する単一の媒体または複数の媒体(たとえば、集中もしくは分散データベース、ならびに/または関連するキャッシュおよびサーバ)を含むことができる。「非一時的機械可読媒体」という用語はまた、任意の有形の媒体を含むと解釈されるものとし、そのような有形の媒体は、コンピューティングシステムによって実行するための命令の記憶、符号化、もしくは搬送が可能であり、コンピューティングシステムに、本主題の方法のうちのいずれか1つもしくは複数を実行させ、またはそのような命令によって利用されもしくはそのような命令に関連するデータ構造の記憶、符号化、もしくは搬送が可能である。したがって、「非一時的機械可読媒体」という用語は、それだけに限定されるものではないが、固体状態メモリならびに光および磁気媒体を含むと解釈されるものとする。非一時的機械可読媒体の特有の例には、それだけに限定されるものではないが、例として、半導体メモリデバイス(たとえば、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、およびフラッシュメモリデバイス)、内部ハードディスクおよび取外し可能ディスク、光磁気ディスク、ならびにCD-ROMおよびDVD-ROMディスクなどの磁気ディスクを含む不揮発性メモリが含まれる。
【0016】
本明細書では、「アプリケーション」、「エンジン」、および「プラグイン」という用語は、特定の機能を提供するためにコンピューティングシステムの1つまたは複数のプロセッサによって実行可能な1つまたは複数のコンピュータソフトウェア命令セット(たとえば、コンピュータプログラムおよび/またはスクリプト)を指す。コンピュータソフトウェア命令は、C、C++、C#、Pascal、Fortran、Perl、MATLAB(登録商標)、SAS、SPSS、JavaScript(登録商標)、AJAX、およびJAVA(登録商標)などの任意の好適なプログラミング言語で書くことができる。そのようなコンピュータソフトウェア命令は、データ入力およびデータ表示モジュールを有する独立したアプリケーションを含むことができる。別法として、開示するコンピュータソフトウェア命令は、分散オブジェクトにインスタンス化されたクラスとすることができる。開示するコンピュータソフトウェア命令はまた、コンポーネントソフトウェア、たとえばJAVABEANS(登録商標)またはENTERPRISE JAVABEANS(登録商標)とすることができる。加えて、開示するアプリケーションまたはエンジンは、コンピュータソフトウェア、コンピュータハードウェア、またはこれらの組合せで実施することができる。
【0017】
本明細書では、「フレームワーク」という用語は、1つまたは複数の全体的な機能を実行するように協働するアプリケーションおよび/またはエンジン、および任意の他の支持データ構造、ライブラリ、モジュール、ならびに任意の他の支持機能のシステムを指す。特に、「自然言語理解フレームワーク」または「NLUフレームワーク」は、理解モデルに基づいて、自然言語発話から意味(たとえば、意図、実体、アーティファクト)を処理および導出するように設計された1群のコンピュータプログラムを含む。本明細書では、「挙動エンジン」または「BE」は、推論エージェントまたはRA/BEとしても知られており、会話モデルに基づいてユーザと対話するように設計された仮想エージェントなどの規則ベースのエージェントを指す。たとえば、「仮想エージェント」は、特定の会話または通信チャネルにおける自然言語要求を介してユーザと対話するように設計されたBEの特定の例を指すことができる。これを念頭に、「仮想エージェント」および「BE」という用語は、本明細書では区別なく使用される。特有の例として、仮想エージェントは、チャットルーム環境において自然言語要求を介してユーザと対話および応答するチャットエージェントとすることができ、またはそのようなチャットエージェントを含むことができる。仮想エージェントの他の例には、電子メール、フォーラムポスト、サービスチケットへの自動返信、通話などのコンテキストにおいてユーザと対話する電子メールエージェント、フォーラムエージェント、チケッティングエージェント、通話エージェントなどを含むことができる。
【0018】
本明細書では、「意図」は、発話などの通信の根本的な目的に関係しうるユーザの要望または目標を指す。本明細書では、「実体」は、目的、対象、または何らかの他の意図のパラメータ化を指す。本実施形態では、特定の実体が、対応する意図のパラメータとして扱われることに留意されたい。より具体的には、特定の実体(たとえば、時間および場所)は、すべての意図に対して広範に認識および抽出することができ、他の実体は、意図に特定的であり(たとえば、購入意図に関連する商品実体)、概してそれらを定義する意図の範囲内で見られたときにのみ抽出される。本明細書では、「アーティファクト」は、集合的に、発話の意図および実体の両方を指す。本明細書では、「理解モデル」は、自然言語発話の意味を推論するためにNLUフレームワークによって使用される1群のモデルである。理解モデルは、特定のトークン(たとえば、単語またはフレーズ)を特定の単語ベクトル、意図-実体モデル、実体モデル、またはこれらの組合せに関連付ける語彙モデルを含むことができる。本明細書では、「意図-実体モデル」は、特定の意図を特定のサンプル発話に関連付けるモデルを指し、意図に関連付けられた実体は、モデルのサンプル発話内の意図のパラメータとして符号化することができる。本明細書では、「エージェント」という用語は、会話チャネル内でユーザと対話するコンピュータ生成ペルソナ(たとえば、チャットエージェントまたは他の仮想エージェント)を指すことができる。本明細書では、「コーパス」は、様々なユーザおよび仮想エージェント間の対話を含む捕捉された一連のソースデータを指し、対話は、1つまたは複数の好適なタイプの媒体(たとえば、ヘルプライン、チャットルーム、またはメッセージ列、電子メール列)内の通信または会話を含む。本明細書では、「発話木」は、発話の意味表現を記憶するデータ構造を指す。論じるように、発話木は、発話の構文および文法構造(たとえば、単語間や品詞タギング間の関係)を表す木構造(たとえば、依存性解析木構造)を有し、木構造のノードは、発話の意味論的意味を符号化するベクトル(たとえば、単語ベクトル、部分木ベクトル)を記憶する。
【0019】
本明細書では、「ソースデータ」または「会話ログ」は、様々なエージェントとユーザとの間の任意の好適な捕捉された対話を含むことができ、そのような対話には、それだけに限定されるものではないが、チャットログ、電子メール列、文書、文書化ヘルプ、よくある質問(FAQ)、フォーラムエントリ、サポートチケッティングのアイテム、ヘルプライン通話の記録などが含まれる。本明細書では、「発話」は、1つまたは複数の意図を含むことができるユーザまたはエージェントによってなされた単一の自然言語発言を指す。したがって、発話は、事前に捕捉されたソースデータのコーパスの一部とすることができ、発話はまた、仮想エージェントとの対話の一部としてユーザから受け取った新しい発言とすることができる。本明細書では、「機械学習」または「ML」は、教師あり、教師なし、および半教師ありの学習技法を含む機械学習技法を使用して訓練することが可能な任意の好適な統計的な形態の人工知能を指すために使用することができる。たとえば、特定の実施形態では、ML技法は、ニューラルネットワーク(NN)(たとえば、ディープニューラルネットワーク(DNN)、回帰型ニューラルネットワーク(RNN)、再帰型ニューラルネットワーク)を使用して実施することができる。本明細書では、「ベクトル」(たとえば、単語ベクトル、意図ベクトル、対象ベクトル、部分木ベクトル)は、発話の一部分(たとえば、単語またはフレーズ、意図、実体、トークン)の意味論的意味の数学表現を提供する浮動小数点値の順序付きのn次元リスト(たとえば、300次元リスト)(たとえば、1×NまたはN×1行列)である線形代数ベクトルを指す。本明細書では、「ドメイン特異性」は、所与のドメインおよび/または会話チャネル内の実際の会話で表される意図および実体を正確に抽出するためにシステムがどれだけ調和されるかを指す。本明細書では、発話の「理解」は、NLUフレームワークによる発話の解釈または構造を指す。したがって、発話の異なる理解を、異なる構造(たとえば、異なるノード、ノード間の異なる関係)、異なる品詞タギングなどを有する異なる意味表現に関連付けることができることが理解されよう。
【0020】
上述したように、コンピューティングプラットホームは、NLU技法を介してプラットホーム上で機能を実行しまたは問題に対処するためのユーザ要求に自動的に応答するように設計されたチャットエージェントまたは別の類似の仮想エージェントを含むことができる。開示するNLUフレームワークは、認知構文文法(CCG)の原理に基づいており、自然言語発話の意味または理解の態様は、発話の形式(たとえば、構文構造、形状)および意味論的意味に基づいて判定することができる。開示するNLUフレームワークは、発話に対して複数の意味表現を生成することが可能であり、各意味表現は、発話の特定の理解を表す発話木とすることができる。したがって、開示するNLUフレームワークは、特定のサンプル発話に対して複数の意味表現を有する理解モデルを生成することが可能であり、意味探索の探索空間を拡大し、それによってNLUフレームワークの動作を改善する。しかし、自然言語発話からユーザの意図を導出しようとするとき、特定のNLUフレームワークは、ユーザベースの発話の意味表現に比較可能でないかつ/または類似していない意味表現が含まれるため、過度に大きいサイズの探索空間上で探索を実行する可能性があることが現在認識されている。したがって、探索空間全体に対して、特定のNLUフレームワークは、未適合または単一コストの比較関数を利用することがあり、探索空間が利用可能な処理およびメモリ資源に基づく特定のスケール閾値を上回るため、意味探索の性能が制限される。
【0021】
したがって、本実施形態は、概して、意味探索を強化するためにCCG技法を活用するように設計された意味探索サブシステムを有するエージェント自動化フレームワークを対象とする。本明細書に論じるように、意味探索サブシステムは、整合意味表現に関して探査される探索空間を反復して累進的に狭めることが可能である。実際には、これらの整合意味表現は、受け取ったユーザ発話に対する意図または実体整合の識別を有効にする探索空間の部分集合を定義する。より具体的には、本実施形態は、受け取ったユーザ発話に基づいて判定された意味表現と、探索空間を定義するサンプル発話の意味表現とを効率的に比較する意味探索サブシステムの類似性スコアリングサブシステムを対象とする。理解されるように、漸進的な数学的比較関数セットに基づいて、類似性スコアリングサブシステムは、比較される1対の意味表現間で累進的に正確になる類似性スコアを反復して判定し、類似性スコアの様々な反復に基づいて探索空間を剪定する。
【0022】
たとえば、特定の意味表現と探索空間を定義する1群の意味表現とを比較するために、類似性スコアリングサブシステムはまず、特定の意味表現に対してCCG形式を判定することができる。前述のように、特定の各意味表現のCCG形式クラスメンバーシップは、特定の意味表現の木構造(たとえば、発話木)を形成するノードの形状および意味論的意味によって設定される。特定の意味表現のCCG形式に基づいて、類似性スコアリングサブシステムは、それぞれの対の意味表現間の定量的な比較を有効にする数学的比較関数リストを検索するために、形式クラスデータベースに問い合わせるように設計される。実際には、数学的比較関数リストは、特定の意味表現および探索空間の意味表現のそれぞれの部分間の類似性のどれだけますます正確かつ/または精密な判定を実行することができるかを個々に指定する入れ子関数を含む。比較される1対の意味表現が数学的比較関数リストを有していない場合、類似性スコアリングサブシステムは、関連付けられた意味表現を探索空間から剪定し(たとえば、いかなる比較も実行することなく、可能な限り最も低いスコアをすぐに判定する)、残りの潜在的整合意味表現のために資源使用を節約することができる。
【0023】
より詳細には、各数学的比較関数リストは、比較されているそれぞれの意味表現のノードの少なくとも一部分を考慮する順序付きの1群の比較関数(たとえば、ベクトル代数、コサイン類似性、累進関数、他のデータベースまたは構造の呼出し)を含む。本明細書で認識されるように、比較関数は、類似性スコアリングサブシステムが、計算的に最も安価かつ/またはもっと効率的な比較をまず実行することを有効にするように順序付けされている。類似性スコアリングサブシステムは、特定の意味表現と探索空間内に残っている比較可能な意味表現との間の初期類似性スコアを判定することができる。たとえば、類似性スコアリングサブシステムは、特定の意味表現が探索空間内の各意味表現に好適に類似しているかどうかを考慮するために、計算的に最も安価な関数を用いることができる。この判定は、概して、探索空間のどの領域がさらなる調査に値するかを示す最も正確でないが最も効率的な予測を提供することができる。類似性スコアリングサブシステムは、次いで、類似していない意味表現を探索空間から剪定してから、後の関数を適用して、残りの比較可能な各対の比較された意味表現をさらに考慮することができる。したがって、比較関数の漸進的なデータ活用により、類似性スコアリングサブシステムは、ますます複雑になる比較関数を介して、比較された意味表現の追加の特徴を反復して考慮しながら、探索空間を潜在的整合候補に狭めることが有効になる。したがって、予測的類似性スコアリングのための本技法は、意味表現整合の標的発見を有効にし、それによって計算利益を提供して、これらの技法を実施するエージェント自動化システムに対する効率を改善し、計算経費を低減させる。加えて、エージェント自動化システムの探索容量が増大されることから、自然言語エージェント応答がエージェント自動化システムに対応する事業の複数の異なる面に対処することを有効にするために、複数の理解モデルから探索空間を構築することができる。
【0024】
上記を念頭に、以下の図は、マルチインスタンスフレームワーク内の組織へサービスを提供するために用いることができ、本手法を用いることができる、様々なタイプの概略的なシステムアーキテクチャまたは構成に関する。それに対応して、これらのシステムおよびプラットホーム例はまた、本明細書に論じる技法を実施しまたは他の形で利用することができるシステムおよびプラットホームに関することができる。図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はまた、接続ネットワークデバイス(たとえば、ゲートウェイまたはルータ)、または顧客ファイアウォールもしくは侵入保護システムを実施するデバイスの組合せを含むことができる。
【0025】
図示の実施形態では、図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を介してデータを輸送するように構成されたサーバ、ルータ、ネットワークスイッチ、および/または他のネットワークハードウェアデバイスなどの様々なネットワークデバイスを含むことができる。
【0026】
図1で、プラットホーム20をホストするネットワークは、クライアントネットワーク12およびネットワーク18を介してクライアントデバイス14と通信することが可能な遠隔ネットワーク(たとえば、クラウドネットワーク)とすることができる。プラットホーム20をホストするネットワークは、クライアントデバイス14および/またはクライアントネットワーク12に追加のコンピューティング資源を提供する。たとえば、プラットホーム20をホストするネットワークを利用することによって、クライアントデバイス14のユーザは、様々な企業、IT、および/または他の組織関連の機能のためのアプリケーションを構築および実行することが可能になる。一実施形態では、プラットホーム20をホストするネットワークは、1つまたは複数のデータセンタ22上で実施され、各データセンタは、異なる地理的な場所に対応することができる。データセンタ22の各々は、複数の仮想サーバ24(本明細書では、アプリケーションノード、アプリケーションサーバ、仮想サーバインスタンス、アプリケーションインスタンス、またはアプリケーションサーバインスタンスとも呼ぶ)を含み、各仮想サーバ24は、単一の電子コンピューティングデバイス(たとえば、単一の物理ハードウェアサーバ)などの物理コンピューティングシステム上で実施することができ、または複数のコンピューティングデバイス(たとえば、複数の物理ハードウェアサーバ)にわたって実施することができる。仮想サーバ24の例には、それらだけに限定されるものではないが、ウェブサーバ(たとえば、単体のApacheの導入)、アプリケーションサーバ(たとえば、単体のJAVA仮想マシン)、および/またはデータベースサーバ(たとえば、単体の関係データベース管理システム(RDBMS)カタログ)が含まれる。
【0027】
プラットホーム20内でコンピューティング資源を利用するために、ネットワークオペレータは、様々なコンピューティングインフラストラクチャを使用して、データセンタ22を構成することを選ぶことができる。一実施形態では、データセンタ22のうちの1つまたは複数は、サーバインスタンス24のうちの1つが複数の顧客からの要求を取り扱って複数の顧客を担当するように、マルチテナントクラウドアーキテクチャを使用して構成される。マルチテナントクラウドアーキテクチャを有するデータセンタ22は、複数の顧客からのデータを混ぜ合わせて記憶し、複数の顧客インスタンスが、仮想サーバ24のうちの1つに割り当てられる。マルチテナントクラウドアーキテクチャでは、特定の仮想サーバ24は、様々な顧客のデータおよび他の情報を区別して分離する。たとえば、マルチテナントクラウドアーキテクチャは、各顧客からデータを識別して分離するために、各顧客に対する特定の識別子を割り当てることができる。概して、マルチテナントクラウドアーキテクチャを実施すると、サーバインスタンス24のうちの特定のサーバインスタンス24の障害が、特定のサーバインスタンスに割り当てられたすべての顧客に対して機能停止を引き起こすなど、様々な欠点が生じる可能性がある。
【0028】
別の実施形態では、データセンタ22のうちの1つまたは複数は、すべての顧客に1つまたは複数の固有の顧客インスタンスを提供するように、マルチインスタンスクラウドアーキテクチャを使用して構成される。たとえば、マルチインスタンスクラウドアーキテクチャは、各顧客インスタンスに、独自の専用のアプリケーションサーバおよび専用のデータベースサーバを提供することができる。他の例では、マルチインスタンスクラウドアーキテクチャは、各顧客インスタンスに対して、1つまたは複数の専用のウェブサーバ、1つまたは複数の専用のアプリケーションサーバ、および1つまたは複数のデータベースサーバなど、単一の物理もしくは仮想サーバ24、ならびに/または物理および/もしくは仮想サーバ24の他の組合せを配備することができる。マルチインスタンスクラウドアーキテクチャでは、1つまたは複数のそれぞれのハードウェアサーバ上に、複数の顧客インスタンスを導入することができ、各顧客インスタンスには、コンピューティングメモリ、記憶、および処理電力などの物理サーバ資源の特定の部分が割り当てられる。そうすることによって、各顧客インスタンスは、固有のソフトウェアスタックを有し、それによりデータ分離、顧客がプラットホーム20にアクセスするための比較的短いダウンタイム、および顧客によって駆動されるアップグレードスケジュールの利益が提供される。マルチインスタンスクラウドアーキテクチャ内で顧客インスタンスを実施する一例について、図2を参照して以下により詳細に論じる。
【0029】
図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には図示せず)に関連付けることができる(たとえば、対応されて有効にされる)。
【0030】
図1および図2は、それぞれクラウドコンピューティングシステム10およびマルチインスタンスクラウドアーキテクチャ40の特有の実施形態を示すが、本開示は、図1および図2に示す特有の実施形態に限定されるものではない。たとえば、図1は、プラットホーム20がデータセンタを使用して実施されることを示すが、プラットホーム20の他の実施形態は、データセンタに限定されるものではなく、他のタイプの遠隔ネットワークインフラストラクチャを利用することもできる。さらに、本開示の他の実施形態は、1つまたは複数の異なる仮想サーバを組み合わせて単一の仮想サーバにすることができ、または逆に、複数の仮想サーバを使用して、単一の仮想サーバに起因する動作を実行することもできる。たとえば、図2を一例として使用すると、仮想サーバ24A、24B、24C、24Dおよび仮想データベースサーバ44A、44Bを組み合わせて単一の仮想サーバにすることができる。さらに、本手法は、それだけに限定されるものではないが、本明細書に論じる動作のいくつかまたはすべてを実行するように構成されたマルチテナントアーキテクチャ、概略的なクライアント/サーバの実施例、および/または単一の物理プロセッサベースのデバイスを含む他のアーキテクチャまたは構成で実施することができる。同様に、実施例の議論を容易にするために、仮想サーバまたは機械を参照することがあるが、代わりに物理サーバを適宜用いることもできる。図1および図2の使用および議論は、記載および説明を容易にするための単なる例であり、これらの図に示す特有の例に本開示を限定することを意図したものではない。
【0031】
理解することができるように、図1および図2に関連して論じるそれぞれのアーキテクチャおよびフレームワークは、全体にわたって、様々なタイプのコンピューティングシステム(たとえば、サーバ、ワークステーション、クライアントデバイス、ラップトップ、タブレットコンピュータ、セルラー電話など)を組み込む。完全を期すために、そのようなシステムで典型的に見られる構成要素の簡単な高レベルの概要を提供する。理解することができるように、本概要は、そのようなコンピューティングシステムで典型的な構成要素についての高レベルの概略的な考えを提供することだけを意図したものであり、論じる構成要素または議論から省略した構成要素に関して限定すると見なされるべきではない。
【0032】
背景として、本手法は、図3などに示す1つまたは複数のプロセッサベースのシステムを使用して実施することができることが理解されよう。同様に、本手法で利用されるアプリケーションおよび/またはデータベースは、そのようなプロセッサベースのシステム上で記憶、利用、および/または維持することができる。理解することができるように、図3に示すそのようなシステムは、分散されたコンピューティング環境、ネットワーク化された環境、または他の複数のコンピュータを含むプラットホームもしくはアーキテクチャに存在することができる。同様に、図3に示すものなどのシステムは、本手法を実施することができる1つもしくは複数の仮想環境もしくは計算インスタンスに対応する状態、またはそのような仮想環境もしくは計算インスタンスと通信する状態で使用することができる。
【0033】
これを念頭に、例示的なコンピュータシステムは、図3に示すコンピュータ構成要素のいくつかまたはすべてを含むことができる。図3は、全体として、コンピューティングシステム80の例示的な構成要素、および1つまたは複数のバスなどに沿ったそれらの潜在的な相互接続または通信経路のブロック図を示す。図示のように、コンピューティングシステム80は、それだけに限定されるものではないが、1つもしくは複数のプロセッサ82、1つもしくは複数のバス84、メモリ86、入力デバイス88、電源90、ネットワークインターフェース92、ユーザインターフェース94、および/または本明細書に記載する機能を実行するのに有用な他のコンピュータ構成要素など、様々なハードウェア構成要素を含むことができる。
【0034】
1つまたは複数のプロセッサ82は、メモリ86に記憶された命令を実行することが可能な1つまたは複数のマイクロプロセッサを含むことができる。追加または別法として、1つまたは複数のプロセッサ82は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、および/またはメモリ86から命令を呼び出すことなく本明細書に論じる機能のいくつかもしくはすべてを実行するように設計された他のデバイスを含むことができる。
【0035】
他の構成要素に対して、1つまたは複数のバス84は、コンピューティングシステム80の様々な構成要素間にデータおよび/または電力を提供するために、好適な電気チャネルを含む。メモリ86は、任意の有形の非一時的コンピュータ可読記憶媒体を含むことができる。図1には単一のブロックとして示されているが、メモリ86は、1つまたは複数の物理的な場所において、同じまたは異なるタイプの複数の物理ユニットを使用して実施することができる。入力デバイス88は、1つまたは複数のプロセッサ82へデータおよび/またはコマンドを入力するための構造に対応する。たとえば、入力デバイス88は、マウス、タッチパッド、タッチスクリーン、キーボードなどを含むことができる。電源90は、回線電力および/または電池ソースなど、コンピューティングデバイス80の様々な構成要素の任意の好適な電源とすることができる。ネットワークインターフェース92は、1つまたは複数のネットワーク(たとえば、通信チャネル)を介して他のデバイスと通信することが可能な1つまたは複数のトランシーバを含む。ネットワークインターフェース92は、有線ネットワークインターフェースまたは無線ネットワークインターフェースを提供することができる。ユーザインターフェース94は、1つまたは複数のプロセッサ82との間で伝達されるテキストまたは画像を表示するように構成されたディスプレイを含むことができる。ディスプレイに対する追加および/または代替として、ユーザインターフェース94は、ライト(たとえば、LED)、スピーカなど、ユーザと連係するための他のデバイスを含むことができる。
【0036】
上記に論じたクラウドベースのプラットホーム20は、NLU技術を利用することができるアーキテクチャの一例を提供することを理解されたい。特に、クラウドベースのプラットホーム20は、大規模なソースデータコーパスを含みまたは記憶することができ、そのようなコーパスは、意図-実体モデルを含む複数の出力の生成を容易にするために採掘することができる。たとえば、クラウドベースのプラットホーム20は、特定のシステムの変更または修理のための要求、要求者と問題に対処しようとするサービス技師または管理者との間のダイアログ、チケットが最終的にどのように解決されたかについての説明などを有するチケッティングソースデータを含むことができる。次いで、生成された意図-実体モデルは、将来の要求における意図を分類するための基礎として働くことができ、ユーザからの自然言語要求に基づいてクラウドベースのプラットホーム20内で将来の問題に自動的に対処することができる仮想エージェントに対応するように会話モデルを生成および改善するために使用することができる。したがって、本明細書に記載する特定の実施形態では、開示するエージェント自動化フレームワークは、クラウドベースのプラットホーム20に組み込まれており、他の実施形態では、以下に論じるように、エージェント自動化フレームワークは、発話を処理するようにクラウドベースのプラットホーム20に通信可能に結合された好適なシステムによって(クラウドベースのプラットホーム20とは別個に)ホストおよび実行することができる。
【0037】
上記を念頭に、図4Aは、クライアントインスタンス42に関連するエージェント自動化フレームワーク100(本明細書では、エージェント自動化システム100とも呼ぶ)を示す。より具体的には、図4Aは、上記で論じたクラウドベースのプラットホーム20を含む、サービスプロバイダクラウドインフラストラクチャの一部分の一例を示す。クラウドベースのプラットホーム20は、クライアントインスタンス42内で実行されるネットワークアプリケーションに(たとえば、クライアントデバイス14Dのウェブブラウザを介して)ユーザインターフェースを提供するように、ネットワーク18を介してクライアントデバイス14Dに接続される。クライアントインスタンス42は、図2に関して説明したものに類似した仮想サーバによって対応され、ここでは、クライアントインスタンス42内で本明細書に記載する開示の機能に対応することを示すように示されている。クラウドプロバイダインフラストラクチャは概して、クライアントデバイス14Dなどの複数のエンドユーザデバイスに同時に対応するように構成され、各エンドユーザデバイスは、単一のクライアントインスタンス42と通信している。また、クラウドプロバイダインフラストラクチャは、クライアントインスタンス42などの任意の数のクライアントインスタンスに同時に対応するように構成することができ、インスタンスの各々は、1つまたは複数のエンドユーザデバイスと通信している。上述したように、エンドユーザはまた、ウェブブラウザ内で実行されるアプリケーションを使用して、クライアントインスタンス42と連係することができる。
【0038】
図4Aに示すエージェント自動化フレームワーク100の実施形態は、挙動エンジン(BE)102、NLUフレームワーク104、およびデータベース106を含み、これらはクライアントインスタンス42内で通信可能に結合される。BE102は、自然言語ユーザ要求122(本明細書では、ユーザ発話122または発話122とも呼ぶ)およびエージェント応答124(本明細書では、エージェント発話124とも呼ぶ)を介してクライアントデバイス14Dのユーザと対話する任意の好適な数の仮想エージェントまたはペルソナをホストしまたは含むことができる。実際の実施例では、エージェント自動化フレームワーク100は、本開示による意味抽出サブシステム、意味探索サブシステムなどを含む複数の他の好適な構成要素を含むことができることに留意されたい。
【0039】
図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のサンプル発話は、理解モデルの意味表現を生成して、意味探索に対する探索空間を定義するために使用される。
【0040】
図4Aに示す実施形態では、会話モデル110は、意図-実体モデル108の意図と、概してBE102の挙動を定義する特定の応答および/または行動との間の関連を記憶する。特定の実施形態では、会話モデル内の関連の少なくとも一部分は、設計者が、処理された発話内の特定の識別されたアーティファクトにBE102がどのように応答することを望むかに基づいて、BE102の設計者によって手動で作成または事前定義される。異なる実施形態では、データベース106は、コンパイルモデルテンプレートデータ(たとえば、クラス互換性規則、クラスレベルスコアリング係数、木モデル比較アルゴリズム、木下位構造ベクトル化アルゴリズム)、意味表現などに関する情報を記憶するテーブルなど、意図分類に関係する他の情報を記憶する他のデータベーステーブルを含むことができることに留意されたい。
【0041】
図示の実施形態では、NLUフレームワーク104は、NLUエンジン116および語彙マネージャ118を含む。NLUフレームワーク104は、任意の好適な数の他の構成要素を含むことができることが理解されよう。特定の実施形態では、NLUエンジン116は、発話の単語またはフレーズから単語ベクトル(たとえば、意図ベクトル、対象または実体ベクトル、部分木ベクトル)を生成すること、ならびにこれらのベクトル間の距離(たとえば、ユークリッド距離)を判定することを含む、NLUフレームワーク104の複数の機能を実行するように設計される。たとえば、NLUエンジン116は、概して、分析された発話の各意図に対して、それぞれの意図ベクトルを作り出すことが可能である。したがって、2つの意図に対してNLUエンジン116によって作り出されたそれぞれの意図ベクトルを使用して、2つの異なる発話間の類似性測度または距離を計算することができ、類似性測度は、2つの意図間の意味の類似性の指示を提供する。
【0042】
語彙マネージャ118は、語彙訓練中にNLUフレームワーク104によって遭遇されなった語彙外の単語および記号に対処する。たとえば、特定の実施形態では、語彙マネージャ118は、エージェント自動化フレームワーク100によって(たとえば、1群の規則114に基づいて)分析された発話内の単語および頭字語の同義語およびドメイン特有の意味を識別および交換することができ、それによりコンテキスト特有の発話内の意図および実体を適切に識別するように、NLUフレームワーク104の性能を改善することができる。加えて、自然言語の傾向に対応して、既存の単語に対する新しい用法を採用するために、特定の実施形態では、語彙マネージャ118は、コンテキストの変化に基づいて、他の意図または実体に以前に関連付けられた単語を別の目的で利用するように取り扱う。たとえば、語彙マネージャ118は、特定のクライアントインスタンスおよび/または会話チャネルからの発話のコンテキストにおいて、「バイク(bike)」という単語が、実際には自転車ではなくモータサイクルを指す状況を取り扱うことができる。
【0043】
意図-実体モデル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に追加することができる。
【0044】
他の実施形態では、エージェント自動化フレームワーク100および/またはNLUフレームワーク104の1つまたは複数の構成要素は、改善された性能のために、他の方法で配置、位置決め、またはホストすることができることが理解されよう。たとえば、特定の実施形態では、NLUフレームワーク104の1つまたは複数の部分は、クライアントインスタンス42とは別個であるがクライアントインスタンス42に通信可能に結合されたインスタンス(たとえば、共有インスタンス、企業インスタンス)によってホストすることができる。そのような実施形態は、有利には、クライアントインスタンス42のサイズを低減させ、それによりクラウドベースのプラットホーム20の効率を改善することができることが現在認識されている。特に、特定の実施形態では、以下に論じる類似性スコアリングサブシステムの1つまたは複数の構成要素は、探索空間内の好適な整合意味表現のために改善された意味探索を有効にし、発話122に対するアーティファクト整合の識別を有効にするように、クライアントインスタンス42ならびに他のクライアントインスタンスに通信可能に結合された別個のインスタンス(たとえば、企業インスタンス)によってホストすることができる。
【0045】
上記を念頭に、図4Bは、エージェント自動化フレームワーク100の代替実施形態を示し、この実施形態では、NLUフレームワーク104のいくつかの部分が、クラウドベースのプラットホーム20によってホストされる別個の共有インスタンス(たとえば、企業インスタンス125)によって代わりに実行される。図示の企業インスタンス125は、好適なプロトコル(たとえば、好適なRepresentational State Transfer(REST)要求/応答)を介して、任意の好適な数のクライアントインスタンスと、アーティファクトの採掘および分類に関係するデータを交換するように通信可能に結合される。したがって、図4Bに示す設計の場合、複数のクライアントインスタンス42にアクセス可能な共有資源としてNLUフレームワークの一部分をホストすることによって、クライアントインスタンス42のサイズを実質的に低減させることができ(たとえば、図4Aに示すエージェント自動化フレームワーク100の実施形態と比較)、エージェント自動化フレームワーク100の全体的な効率を改善することができる。
【0046】
特に、図4Bに示すNLUフレームワーク104は、NLUフレームワーク104内で別個のプロセスを実行する3つの別個の構成要素に分割される。これらの構成要素は、企業インスタンス125によってホストされる共有NLU訓練部126と、企業インスタンス125によってホストされる共有NLU注釈部127と、クライアントインスタンス42によってホストされるNLU予測部128とを含む。図4Aおよび図4Bに示す組織は、単なる例であり、本開示によれば、他の実施形態において、NLUフレームワーク104および/またはエージェント自動化フレームワーク100の他の組織を使用することもできることが理解されよう。
【0047】
図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に対応することができることが理解されよう。
【0048】
図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を受け取ってそれに対処するとき、連続して繰り返すことができる。
【0049】
図5に示すように、特定の状況では、好適な行動142が実行された後、さらなる行動または通信を行うことができないことが理解されよう。加えて、本明細書では、ユーザ発話122およびエージェント発話124について、書かれた会話媒体またはチャネル(たとえば、チャット、電子メール、チケッティングシステム、テキストメッセージ、フォーラムポスト)を使用して伝達されるものとして論じたが、本開示によれば、他の実施形態において、話されたユーザ発話122をテキストに変換し、かつ/またはテキストベースのエージェント発話124をスピーチに変換して、音声対話システムを有効にするために、音声-テキストおよび/またはテキスト-音声モジュールまたはプラグインを含むこともできることに留意されたい。さらに、特定の実施形態では、ユーザ発話122および仮想エージェント発話124はどちらも、エージェント自動化フレームワーク100における新しい構造および語彙の継続学習を有効にするために、データベース106(たとえば、発話コーパス112)内に記憶することができる。
【0050】
上述したように、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を受け取る前に実行されることが理解されよう。
【0051】
図6に示す実施形態では、左側部分156は、意味抽出サブシステム150がまた、ユーザ発話122を受け取って処理し、少なくとも1つの意味表現162を有する発話意味モデル160を生成するところを示す。以下により詳細に論じるように、これらの意味表現158および162は、発話の1つの理解の文法構文構造を捕捉する形式を有するデータ構造であり、データ構造の部分木は、発話の一部分の意味論的意味を符号化する部分木ベクトルを含む。したがって、所与の発話に対して、対応する意味表現は、以下により詳細に論じるように、意味探索サブシステム152による探索、比較、および整合を有効にする共通の意味表現形式において、構文的意味および意味論的意味の両方を捕捉する。したがって、発話意味モデル160の意味表現162は、概して、探索鍵のように考えることができ、理解モデル157の意味表現158は、探索鍵を探すことができる探索空間を定義する。したがって、意味探索サブシステム152は、以下に論じるように、理解モデル157の意味表現158を探索して、発話意味モデル160の意味表現162に整合する1つまたは複数のアーティファクトを突き止め、それによって抽出されたアーティファクト140を生成する。
【0052】
本明細書に開示する意味表現158、162のうちの1つの一例として、図7は、発話に対して生成された発話木166の一例を示す図である。理解されるように、発話木166は、ユーザ発話122に基づいて、または別法としてサンプル発話155のうちの1つに基づいて、意味抽出サブシステム150によって生成されるデータ構造である。図7に示す例では、発話木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)を含み、各ノードは、例示的な発話の特定の単語またはフレーズを表す。ノード202の各々はまた、発話木166の特定の部分木を表すものとして説明することができ、部分木は、1つまたは複数のノード202を含むことができることに留意されたい。
【0053】
図7に示す発話木166の形式または形状は、意味抽出サブシステム150によって判定され、例示的な発話の構文の文法的な意味を表す。より具体的には、意味抽出サブシステム150の韻律サブシステムは、発話を意図セグメントに分割し、意味抽出サブシステム150の構造サブシステムは、これらの意図セグメントから発話木166を構築する。ノード202の各々は、語彙サブシステムによって判定されたそれぞれの単語ベクトル(たとえば、トークン)を記憶または参照して、発話の特定の単語またはフレーズの意味論的意味を示す。上述したように、各単語ベクトルは、発話の一部分意味論的意味の数学表現を提供する浮動小数点値の順序付きのn次元リスト(たとえば、300次元リスト)(たとえば、1×NまたはN×1行列)である。
【0054】
さらに、他の実施形態では、発話木166の注釈付きの実施形態を形成するために、ノード202の各々は、構造サブシステムによって、ノードによって表される単語またはフレーズに関する追加の情報で注釈を付けることができる。たとえば、ノード202の各々は、それぞれのノードのクラス注釈を示すそれぞれのタグ、識別子、シェーディング、またはクロスハッチングを含むことができる。特に、図7に示す例示的な発話木166では、特定の部分木またはノード(たとえば、ノード202A、202B、202C、および202D)は、構造サブシステムによって、動詞ノードになるように品詞ラベルまたはタグで注釈を付けることができ、特定の部分木またはノード(たとえば、ノード202E、202F、202G、202H、202I、および202J)は、主語または目的語ノードになるように注釈を付けることができ、特定の部分木またはノード(たとえば、ノード202K、202L、202M、202N、および202P)は、修飾語ノード(たとえば、主語修飾語ノード、目的語修飾語ノード、動詞修飾語ノード)になるように注釈を付けることができる。これらのクラス注釈は、次いで、注釈付きの発話木から生成された意味表現を比較するときに、意味探索サブシステム152によって使用することができる。したがって、意味表現が生成される発話木166は、アーティファクト抽出のための基礎(たとえば、最初の基礎)として働くことが理解されよう。
【0055】
本明細書に認められるように、抽出されたアーティファクト140の生成を容易にするために、意味探索サブシステム152は、発話意味モデル160の意味表現162の1つまたは複数、および理解モデル157の意味表現158の1つまたは複数など、いずれか2つ以上の意味表現間の類似性を判定することができる。たとえば、図8は、探索空間250内で動作している意味探索サブシステム152の一実施形態を示す情報の流れ図である。前述のように、本実施形態の探索空間250は、理解モデル157の意味表現158が格納されており、理解モデル157の意味表現158によって定義される。他の実施形態では、NLUフレームワーク104は、各々が特定のコンテキストまたはドメインに適している理解モデルなどの複数の理解モデルによって作成された意味表現158の露出に基づいて、探索空間250を生成することができる。したがって、ユーザ発話122が受け取られ、潜在的アーティファクトにセグメント化され(たとえば、韻律サブシステムによる)、それぞれの意味表現162に変換された後(たとえば、意味抽出サブシステム150による)、意味探索サブシステム152は、ユーザ発話122の意味表現162と探索空間250の意味表現158とを比較する。実際には、以下により詳細に論じるように、意味探索サブシステム152は、探索空間250から任意の好適な整合意味表現158を識別して、NLUフレームワーク104が、そこから抽出されたアーティファクト140を識別することを有効にすることができる。
【0056】
いくつかの実施形態では、意味探索サブシステム152は、1つまたは複数の意味表現158を、ユーザ発話122の意味表現162の各々に対する好適な整合として識別する。たとえば、1つまたは複数のユーザ発話122に対応する3つの意味表現162を受け取ったことに応答して、特定の実施形態の意味探索サブシステム152は、意味表現整合を見出すことができるという条件で、探索空間250の1つまたは複数の整合意味表現158を戻す。意味探索サブシステム152はまた、整合意味表現158および/またはそのアーティファクトを、付随する信頼性レベルでスコアリングして、意味表現158からの可能性が最も高い抽出されたアーティファクト140に対する適当なエージェント応答124および/または行動142を容易にすることができる。
【0057】
本明細書で認識されるように、意味探索サブシステム152は、意味表現158の標的剪定および抽出されたアーティファクト140の判定を容易にするために、予測的類似性スコアリング体系を利用して、意味表現158および162間のより正確な類似性スコアを累進的に表現することができる。そのような実施形態では、予測的類似性スコアリング体系は、複数のまたは広範な理解モデル157の意味表現158に基づいて生成されたものなどの探索空間250の大きいスケールの出現に対して探索の実行を有効にする。概して、意味探索サブシステム152の類似性スコアリングサブシステムは、特定の発話ベースの意味表現162と、探索空間250内の各意味表現158(たとえば、探索空間意味表現)との間の比較を有効にする数学的比較関数リストをまず識別することによって動作する。意味表現162に対して比較可能な形式を有していない意味表現158の場合、類似性スコアリングサブシステムは、意味表現158を不適合と識別し、探索空間250から剪定することができる。次いで、類似性スコアリングサブシステムは、特定の意味表現162と探索空間250の残りの比較可能な意味表現158との間の初期類似性スコアを生成するために、最も広範なまたは最も高価でない関数を適用することによって、それぞれの数学的比較関数リストを実施する。以下に論じるように、意味探索サブシステム152は、特定の意味表現162に好適に類似していない意味表現158が探索空間250から剪定されているため、より計算的に高価な関数(たとえば、追加のノードを考慮する関数、同じ数のノードの追加の次元を考慮する関数、辞書または外部言語モデルなどのデータベースに問い合わせる関数)を利用するように進むことができる。したがって、意味探索サブシステム152は、抽出されたアーティファクト140を提供する好適な意味表現158を系統的に絞り込む。
【0058】
例として、図9は、NLUフレームワーク104の意味探索サブシステム152内で実施することができる類似性スコアリングサブシステム260の一実施形態を示す情報の流れ図である。以下に論じるように、類似性スコアリングサブシステム260は、数学的比較関数を検索および利用し、より高価な関数を介して任意の好適な数の意味表現を互いに反復して比較する。一例として、図9の本実施形態は、第1の意味表現262および第2の意味表現264が探索空間250の意味表現158と比較される類似性スコアリングサブシステム260の機能を対象とするが、以下に論じる技法は、NLUフレームワーク104の各意味表現に適用可能であることを理解されたい。理解されるように、第1の意味表現262は、上記で論じた意味表現162のうちの第1の意味表現162に対応することができ、第2の意味表現164は、意味表現162のうちの第2の意味表現162に対応することができる。意味表現262、264は各々、本明細書ではユーザ発話122に対応するものとして主に論じた発話266から導出することができるが、他の実施形態では、上記で論じたサンプル発話155のうちの1つに対応することもできる。
【0059】
概して、各意味表現262、264は、意味表現262、264の形状(たとえば、発話木構造および品詞タギング)に基づいて割り当てられた0、1つ、または複数の認知構造文法(CCG)形式クラスに属する。言い換えれば、CCG技法に基づいて、類似性スコアリングサブシステム260は、各意味表現262、264が、集合的にCCG形式にマッピング可能なノード(たとえば、単語ベクトルおよび/または単語ベクトルの組合せ)に対する品詞タグを含む形状または構造(たとえば、発話木または他の好適なメタ構造によって定義される)を有すると認識する。したがって、類似性スコアリングサブシステム260は、意味表現262、264の形状に基づいて探索を実行し、意味表現262、264に対するアーティファクト整合を含む好適な整合意味表現158を識別することができる。
【0060】
図示の実施形態では、類似性スコアリングサブシステム260は形式クラスデータベース270を含み、形式クラスデータベース270内には形式クラステーブル272が含まれる。テーブルとして主に論じるが、他の実施形態では、形式クラステーブル272を任意の好適なデータ構造で実施することができる。いくつかの実施形態では、形式クラスデータベース270および形式クラステーブル272は、エージェント自動化フレームワーク100のデータベース106内に記憶することができる。本明細書で認識されるように、形式クラステーブル272の各エントリ275(たとえば、形式クラスエントリ)は、意味探索サブシステム152が対応する1対1の形式クラス比較(CCG形式クラス比較とも呼ぶ)を記述する。特に、形式クラステーブル272は、第1の意味表現のCCG形式に関連付けられた第1の軸273と、第2の意味表現のCCG形式に関連付けられた第2の軸274とを含み、これらが比較されている。各軸のラベルは、動詞誘導フレーズ、名詞誘導フレーズなど、類似性スコアリングサブシステム260が対応するそれぞれのCCG形式の各々に対する形式パターンに関連付けられており、対応されるf~fのCCG形式範囲内で好適な関数名によって表される。したがって、特定の意味表現に対する形式パターンは、特定の意味表現に対するCCG形式クラスのメンバーシップを定義することを理解されたい。
【0061】
本実施形態では、形式クラステーブル272は、2つの関連付けられたCCG形式が比較可能であるかどうかを示すために、CCG形式のうちの2つの各交差に対して、エントリ275のうちのそれぞれのエントリ275を含み、比較可能である場合、比較の性能に関する命令を含む。形式クラステーブル272は、比較されたCCG形式クラスの可能な各順列に対応する任意の好適な数のエントリ275を含むことができることを理解されたい。特に、各々が同じCCG形式クラスに属する意味表現は、それ自体が互いに比較可能であり、形式クラステーブル272の中心対角線276に沿って各エントリ275内に示されている以下に論じる比較関数リストによって表される。本明細書に示すように、形式クラステーブル272は、中心対角線276に沿って鏡映対称線を有し、形式クラステーブル272の本実施形態の比較関数が可換であることを示す。すなわち、第1の意味表現を第2の意味表現と比較することは、第2の意味表現を第1の意味表現と比較することと同じ結果をもたらす。他の実施形態では、形式クラステーブル272は、鏡映対称線を含まなくてもよく、したがって類似性スコアリングサブシステム260が、意味表現が比較されている順序または方向に基づいて、以下に論じる比較関数リストを適合させることが有効になる。特定の例として、形式クラステーブル272の1つのエントリ275は、動詞誘導CCG形式を有する意味表現を、動詞誘導CCG形式、名詞誘導CCG形式などを有する他の意味表現と比較することができると指定することができる。本実施形態では、類似性スコアリングサブシステム260は、比較のためのエントリ275が空(たとえば、ナル、未定義)であると判定したことに応答して、1対の意味表現が比較可能でないと判定し、したがって比較可能でない意味表現間の比較を実行しない。
【0062】
上述したように、類似性スコアリングサブシステム260の対応される各CCG形式クラス比較に対する形式クラステーブル272のエントリ275はまた、1つまたは複数の関数280(たとえば、比較関数)を有する数学的比較関数リスト278(たとえば、形式代数関数リスト、処理規則)を含み、または、類似性スコアリングサブシステム260を数学的比較関数リスト278に向ける。各数学的比較関数リスト278の関数280は、以下により詳細に説明するように、意味表現262、264の各々を探索空間250と比較することを有効にする累進的により高価なスコアリング関数を提供する入れ子状の関数セットである。数学的比較関数リスト278は、類似性スコアリングサブシステム260が任意の好適な数の意味表現間の類似性スコアを判定するために用いることができるベクトル代数、コサイン類似性関数、外部データベースへのクエリ、および/または任意の他の好適な数学関数もしくは数式を含むことができる。関数280は、数学的比較関数リスト278の前の機能をさらに定義することができ、または別法として前の関数280から完全に独立したものとすることもできることを理解されたい。いくつかの実施形態では、形式クラステーブル272の各エントリ275に対する数学的比較関数リスト278は、言語学者またはユーザによって手動で指定されたもの、ML技法によって導出されたものなどである。
【0063】
概して、数学的比較関数リスト278の関数280は各々、意味表現262、264の考慮された部分が探索空間250の意味表現158に好適に整合することに応答して、特定の閾値スコアを上回る類似性スコアを与えることによって、意味表現262、264のうちの比較可能な意味表現と探索空間250との間の類似性をそれぞれスコアリングする。特定の実施形態では、関数280は、それぞれの意味表現158が、対応する探索鍵意味表現262、264の重要または顕著なノードを除外したこと、またはそのようなノードに整合しないことに応答して、探索空間250のそれぞれの意味表現158に関連付けられた類似性スコアに0を割り当てることができ、または他の方法でペナルティを与えることができる。理解されるように、類似性スコアリングサブシステム260は、空の形式クラステーブル272のエントリ275によって示されるように、形式クラスデータベース270の形式クラス互換性規則に基づいて、比較に好適でないCCG形式を有する別の意味表現と、意味表現を比較しない。
【0064】
他の実施形態では、類似性スコアリングサブシステムは、いくつかの実施形態において、比較可能でない対の意味表現に、0の類似性スコアをすぐに割り当てることができる。さらなる実施形態では、類似性スコアリングサブシステム260は、類似性スコアリングサブシステム260に、比較可能でない意味表現間の0の類似性スコアを生成させる関数280を有する数学的比較関数リスト278を実施することによって、比較を実行することができる。そのような実施形態では、数学的比較関数リスト278は自然に、類似性スコアリングサブシステム260に、意味表現262、264との比較に好適でないCCG形式を有する意味表現158に0またはナルの類似性スコアを割り当てさせることができるため、形式クラステーブル272は、形式クラステーブル272の各エントリ275内に適当な数学的比較関数リスト278を含むことができる。
【0065】
さらに、特定の実施形態では、類似性スコアリングサブシステム260は、発話意味モデル160から発話266の複数の感情表現の表現を受け取ることができる。たとえば、意味表現262、264は、発話266に対する代替形式を表すものとして、発話意味モデル160内に含むことができる。概して、意味表現262、264(意味抽出サブシステム150によって作成され、発話意味モデル160内に含まれる)の各々は、発話266のアーティファクトに対応する好適に別個の意味表現を表す。比較可能な各対の意味表現262、264を考慮することによって、本実施形態の類似性スコアリングサブシステム260は、対応する抽出されたアーティファクト140に対してより徹底的な探索を提供するために、またはそのようなアーティファクト140に対してより大きい網をかけるために、発話266の複数の解釈を評価することができる。
【0066】
特有の例について論じるために図6を簡単に参照すると、特定の実施形態の意味抽出サブシステム150は、「Book meeting(会議を予約して)」という発話266が、「request booking or scheduling a meeting(会議の予約か予定を要求して)」に対応する第1の代替意味表現と、「a meeting about a book(本に関する会議)」に対応する第2の代替意味表現とを有すると判定することができる。意味抽出サブシステム150は、次いで、これらの代替意味表現を発話意味モデル160内に組み込むことができる。意味探索サブシステム152を介してこれらの代替意味表現の両方を類似性スコアリングプロセスの後のステップへ伝えることによって、類似性スコアリングサブシステム260は、好適な抽出されたアーティファクト140の識別を有効にする好適な数学的比較関数リスト278を識別する可能性がより高くなる。
【0067】
類似性スコアリングサブシステム260の構成要素の上記の説明を念頭に、図10は、プロセス300の一実施形態を示す流れ図であり、プロセス300によって、類似性スコアリングサブシステム260は、図9の第1の意味表現262と図8の探索空間250の意味表現158との間の比較を有効にする数学的比較関数リスト278のうちの1つを検索する。プロセス300は、意味探索サブシステム152の類似性スコアリングサブシステム260によって考慮される発話ベースの各意味表現162に対して、繰り返すことができ、または並行して別個に処理することができることを理解されたい。上記で論じたように、類似性スコアリングサブシステム260を含む意味探索サブシステム152は、意味抽出サブシステム150によって定義された発話266に対する意味表現262を発話意味モデル160から受け取ることができる。他の実施形態では、類似性スコアリングサブシステム260は、意味表現262を意味抽出サブシステム150から直接検索することができる。意味抽出サブシステム150の一部として図示および/または説明するステップは、好適なメモリ(たとえば、メモリ86)内に記憶することができ、クライアントインスタンス42(たとえば、データセンタ22内)または企業インスタンス125(たとえば、クラウドベースのプラットホーム20によってホストされる)に関連付けられた好適なプロセッサ(たとえば、プロセッサ82)によって実行することができる。
【0068】
したがって、プロセス300の図示の実施形態を開始する類似性スコアリングサブシステム260は、意味表現262のCCG形式304(たとえば、認知構文文法形式)を判定する(ブロック302)。上述したように、CCG形式304は、ノード内のトークン(たとえば、単語またはフレーズ)の品詞の注釈またはタギングに関して分析される意味表現262のノードによって形成される形状の任意の好適な説明とすることができる。たとえば、類似性スコアリングサブシステム260は、意味表現262が、動詞-代名詞-名詞フレーズ、名詞-動詞-直接目的語フレーズ、名詞-動詞-副詞フレーズなどに対応するCCG形式304を有することを識別することができる。
【0069】
本実施形態では、類似性スコアリングサブシステム260は、処理規則セット306(たとえば、形式処理規則)を適用し、処理規則セット306に対する対応関係に基づいてCCG形式304を意味表現262に割り当てることによって、意味表現262に対するCCG形式304を判定する。他の実施形態では、類似性スコアリングサブシステム260は、意味抽出サブシステム150からCCG形式304を受け取ること、またはMLベースのパターン整合技法など、任意の他の好適な方法によって、CCG形式304を判定することができる。MLベースのパターン整合の一例として、類似性スコアリングサブシステム260は、意味表現262の品詞タグを有する形状と理解モデル157の意味表現158とを比較して、これらの間の類似性を識別することによって、意味表現262に対して好適なまたは最も密接に整合するCCG形式304を判定することができる。理解されるように、類似性スコアリングサブシステム260は、意味表現262のCCG形式304の判定を有効にする任意の好適なプラグインまたは他の処理構成要素を含むことができる。
【0070】
意味表現262に対するCCG形式304が識別された状態で、類似性スコアリングサブシステム260は、次いで、形式クラスデータベース270から、CCG形式304に対する0、1、または複数の整合形式クラス312を判定する(ブロック310)。整合形式クラス312は、パターン整合、形式クラスデータベース270のテーブル式実施形態への問合せなどによって識別することができる。より詳細には、本実施形態の類似性スコアリングサブシステム260は、数学的比較関数リスト278を有する形式クラステーブル272内に対応するエントリ275を突き止め、それによってどの形式クラスと意味表現262を比較することができるかを判定する。実際には、上述したように、特定のCCG形式304に対する形式クラステーブル272の各エントリ275は、意味表現262のCCG形式304と比較することができる各CCG形式に対する数学的比較関数リスト278(たとえば、形式クラス互換性)、ならびに類似性を計算することができる関数セット280のうちの1つを含むことができる。
【0071】
したがって、プロセス300をたどる類似性スコアリングサブシステム260は、形式クラステーブル272の各エントリ275から、意味表現262のCCG形式304と、それぞれのエントリ275に関連付けられた他の意味表現のCCG形式(たとえば、各整合形式クラス312)との間の識別された整合を示すそれぞれの数学的比較関数リスト278を検索する(ブロック314)。本実施形態では、類似性スコアリングサブシステム260は、1つの整合形式クラス312を識別し、1つの数学的比較関数リスト278を出力するが、形式クラス整合の数に応じて、任意の他の好適な数の数学的比較関数リスト278を検索することができることを理解されたい。たとえば、類似性スコアリングサブシステム260は、意味表現262と同じCCG形式304を有する意味表現とをどのように比較するかを指示する第1の数学的比較関数リスト278、ならびに意味表現262と異なるCCG形式304を有する別の意味表現との間の比較を有効にする第2の数学的比較関数リスト278を検索することができる。
【0072】
数学的比較関数リスト278の使用を示すために、図11は、意味探索サブシステム152の類似性スコアリングサブシステム260が、1つの数学的比較関数リスト278を利用して、意味表現262と探索空間意味表現330(たとえば、探索空間250の)とを比較する、一実施形態の図である。本実施形態では、探索空間意味表現330は、探索空間250の意味表現158のうちの1つであるが、本技法は、任意の好適な意味表現を比較するために利用することができることを理解されたい。前述のように、数学的比較関数リスト278は、順序付きの関数セット280を含み、そのような関数セット280は、数学的比較関数リスト278内により深く位置決めされた関数280内の比較される意味表現262、330から、さらなる計算資源および/またはデータ(たとえば、より多数のノード)を累進的に利用する。本明細書で認識されるように、数学的比較関数リスト278は、計算的にそれほど高価でない関数280が最初にくるように順序付けられており、探索空間250内に含まれる潜在的意味表現158が剪定されるにつれて、より高価な関数を活用するように進む。したがって、類似性スコアリングサブシステム260は、概して、後に利用されるより高価な関数280を介して、より正確な類似性スコア340(たとえば、予測的類似性スコア)を判定する。
【0073】
たとえば、第1の比較350中、類似性スコアリングサブシステム260は、第1の関数352を実施して、意味表現262の根ノード354と探索空間意味表現330の探索空間根ノード356とを比較することができる。前述のように、第1の関数352は、数学的比較関数リスト278の最も高価でない関数280である。類似性スコアリングサブシステム260は、次いで、意味表現262、330間の話題の(たとえば、深さが小さく、計算するのに最も安価な)類似性を記述する第1の類似性スコア360を判定することができる。第1の関数352が数学的比較関数リスト278の最も高価でない関数352であることを考慮して、根ノード354、356は、意味表現262、330のうち、第1の関数352を介して比較される部分の例であり、各意味表現262、330の全体を含む他の部分は、第1の比較350において比較することができることを理解されたい。類似性スコア340は、0~1、0~5、0~10などの類似性スコアリング範囲が割り当てられた値など、2つの意味表現に対する品詞タグを含む形式間の類似性または対応関係の任意の好適な数学表現とすることができる。少なくとも類似性スコア340は、2つの意味表現の考慮部分間の包括的な意味および形式ベースの類似性について記述することから、本明細書に記載する類似性スコア340は、2つの意図ベクトル間で判定される上記で論じた類似性測度とは別個であることを理解されたい。
【0074】
図11の本実施形態では、第1の比較350中に評価される根ノード354、356が、中空の円として示されている。中実の円によって示すように、意味表現262、330の残りの従属ノードは、第1の比較350中に事実上「被覆」されている(たとえば、考慮されない)。この方法論を以下に論じる後の比較まで拡大すると、それぞれの比較において中空の円として示すノードは、それぞれの比較において評価され(たとえば、考慮ノード362)、中実の円として示すノードは評価されない(考慮されないノード364)。
【0075】
概して、類似性スコアリングサブシステム260は、最も高価でないものから最も高価なものへの関数280の順序を活用して、数学的比較関数リスト278内で後に位置決めされたより広範かつ計算的に高価な比較を探索空間250の集中部分で実行することを有効にする。いくつかの実施形態では、類似性スコアリングサブシステム260は、類似性スコアリングサブシステム260が後の比較を進むにつれて、意味表現262、330のより多くのノードを選択的に「露出」(たとえば、考慮)することができる。
【0076】
たとえば、第1の類似性スコア360を判定した後、本実施形態の類似性スコアリングサブシステム260は、増大された数の考慮ノード362に基づいてより正確な第2の類似性スコア372を生成する第2の関数368を第2の比較370内で実施するように進む。次いで、類似性スコアリングサブシステム260は、考慮ノード362に関連付けられた単語ベクトルのより多数の次元を考慮すること、外部データベースを調べること、または任意の他の好適な関数もしくは動作によって、同じ数のノードを考慮するがより高価な第3の関数378を介してさらに正確な第3の類似性スコア376を生成する第3の比較374を実行する。類似性スコアリングサブシステム260は、後に、第4の関数384を介して最も正確な最終類似性スコア382を生成する最終比較380を実行し、第4の関数384は、概して、利用される最も高価な関数280とすることができる。意味表現262、330間の図示の比較350、370、374、380に関するさらなる詳細は、以下に提供される。
【0077】
さらに、図示されていないが、類似性スコアリングサブシステム260は、類似性スコアに対する様々な品詞の寄与をコンテキスト依存で調整するように、比較内で重みまたは係数(たとえば、ML技法から導出される)を実施することができることを理解されたい。たとえば、探索エンジン要求を処理するために、類似性スコアリングサブシステム260は、名詞または動詞に対する修飾語の寄与を増大させることができる。別法として、NLUフレームワーク104のチャットボットの実施形態へ提供される購入注文要求中、類似性スコアリングサブシステム260は、修飾語または動詞に対する名詞の寄与を増大させることができる。いくつかの実施形態では、類似性スコアリングサブシステム260は、動作中にNLUフレームワーク104内の意味表現158から重みを学習し、したがって時間とともにより談話特有になることができる。
【0078】
本明細書で認識されるように、特定の実施形態の類似性スコアリングサブシステム260はまた、意味表現の部分木ベクトルの好適な組合せを比較することによって、異なるサイズを有する2つの意味表現間の類似性を分析することができる。たとえば、類似性スコアリングサブシステム260は、より短い意味表現内に比較可能な同等物を有していないより長い意味表現のノードの部分木ベクトルに対する組合せ(たとえば、質量中心または加重平均)を判定することができる。したがって、本技法によれば、これらの実施形態の類似性スコアリングサブシステム260は、より短い意味表現に対して修正された意味表現(比較可能でないノードの代わりに比較を含む)を分析することができる。
【0079】
特定の実施形態では、類似性スコアリングサブシステム260は、意味表現262、330の特定の内容、類似性スコアリングサブシステム260が動作している特定のコンテキスト、類似性スコアリングプロセスの所望の粒度などに基づいて、考慮ノードの部分を一方、他方、または両方の意味表現262、330に対して拡大するように、関数280の特定の依存しない実施形態を適用することができる。たとえば、特に徹底的な類似性スコアリングプロセスが所望される場合、類似性スコアリングサブシステム260は、探索空間意味表現330に対する考慮ノード362の数はそのままにしながら、意味表現262の考慮ノード362の数を拡大することができる。次の比較中、類似性スコアリングサブシステム260は、考慮ノード362の各順列を評価するために、意味表現262の考慮ノード362を縮小し、探索空間意味表現330の考慮ノード362を拡大することができる。急速な類似性スコアリングプロセスが実行される他の実施形態では、類似性スコアリングサブシステム260は、別法として、各比較に対して両方の意味表現262、330の考慮ノード362を拡大することができる。さらに、意味表現262、330が、同一の形式および長さを有するものとして示されているが、類似性スコアリングサブシステム260は、同一でない形式および/または長さを有する任意の好適な意味表現を反復して比較することができることを理解されたい。
【0080】
さらに、いくつかの状況では、発話266の意味表現262は、広範な名詞誘導CCG形式およびより具体的なCCG形式(たとえば、名詞-形容詞-動詞)の両方など、複数のCCG形式304に対応することも認識されよう。したがって、特定の実施形態の類似性スコアリングサブシステム260は、意味表現262が適した形式クラスデータベース270によって対応される複数の形式クラスを識別することができる。そのような実施形態では、類似性スコアリングサブシステム260は、有利には、意味表現262を記述する各CCG形式304に対して類似性スコアを生成することができる。次いで、類似性スコアリングサブシステム260は、意味探索の範囲を増大させることによって、意味表現262の割り当てられた各CCG形式に対する類似性スコアを集約し、エージェント自動化システム100の動作を改善することができる。
【0081】
いずれの場合も、類似性スコアリングサブシステム260は、意味表現の各CCG形式に対する類似性スコアに照合関数を適用し、したがって意味表現262の複数のCCG形式304の解釈によって実行された比較からのそれぞれの類似性スコアリング結果を照合(たとえば、統合)することができる。特定の実施形態では、照合関数は、形式クラスデータベース270内に記憶することができる。本明細書で認識されるように、照合関数は、類似性スコアの最大または加重平均を保持することなどによって、類似性スコアリングサブシステム260が、意味表現262のCCG形式304の単一の解釈に由来する制限を超える総精練類似性スコア(たとえば、総類似性スコア)を生成および出力することを有効にする。さらに、特定の実施形態の照合関数は、CCG形式304の各組合せ、各クライアント、類似性スコアリングサブシステム260が動作する各ドメインなどに対して、個々に適合させることができる。
【0082】
図12は、プロセス400の一実施形態を示す流れ図であり、プロセス400によって、類似性スコアリングサブシステム260は、数学的比較関数リスト278を利用して、探索空間250から整合意味表現を反復して識別することができる。前述のように、探索空間250は、少なくとも1つの理解モデル157の意味表現162によって定義される。理解されるように、プロセス400は、類似性スコアリングサブシステム260が、発話意味モデル160の各意味表現162(上記で導入された意味表現262に対応する)と、探索空間250内の膨大な数の意味表現158との間の類似性を予測的に評価することが有効になる。プロセス400は、図3図4A、および図4Bに関して上記で論じたように、好適なメモリ(たとえば、メモリ86)内に記憶することができ、クライアントインスタンス42または企業インスタンス125に関連付けられた好適なプロセッサ(たとえば、プロセッサ82)によって実行することができる。
【0083】
詳細には、図示の実施形態の類似性スコアリングサブシステム260は、for-eachループによって、発話意味モデル160の各意味表現262に対して反復される(ブロック402)。類似性スコアリングサブシステム260は、for-eachループの代わりに、各CCG形式304に対して精練された類似性スコア414の生成を有効にする任意の他の好適な処理体系を実施することができることを理解されたい。たとえば、類似性スコアリングサブシステム260は、別法として、do-whileループ、forループ、whileループ、do-untilループなどを実施することができる。いずれにせよ、発話意味モデル160の各意味表現262に対して、類似性スコアリングサブシステムは、それぞれの意味表現262のCCG形式を判定し(ブロック404)、形式クラスデータベース270から関連付けられた数学的比較関数リスト278を検索する。CCG形式に基づいてプロセス400に対する反復パラメータを初期化することで、類似性スコアリングサブシステム260はまた、数学的比較関数リスト278の第1の関数280を選択し(ブロック406)、最初に全探索空間250になるように、関心探索部分空間を定義する。
【0084】
プロセス400の図示の実施形態では、ユーザ発話122から導出された意味表現262と、探索部分空間の比較可能な意味表現158とを比較し(ブロック410)、それによって意味表現262と探索部分空間の比較可能な意味表現との比較に対応する類似性スコアセット412を生成する。いくつかの実施形態では、類似性スコアリングサブシステム260は、比較された意味表現の意味ベクトル(たとえば、部分木ベクトル)間の距離に基づいて、類似性スコアセット412を判定することができる。上述したように、類似性スコアリングサブシステム260は、最小量の計算資源を利用する第1の関数352を実施する。したがって、類似性スコアリングサブシステム260は、単一の複雑さの比較関数を利用してユーザ発話の意味表現と探索空間または理解モデル内の各意味表現とを系統的に比較することができる他の探索システムより、この初期CCG形式探索および類似性スコアリングを急速かつ/または効率的に実行することができる。
【0085】
たとえば、図13を次に参照すると、図13は、数学的比較関数リスト278を適用して探索空間250を好適な探索部分空間502に選択的に精練する類似性スコアリングサブシステム260の一実施形態の概略図を示す。たとえば、第1の比較500中、類似性スコアリングサブシステム260は、第1の関数352を適用して、意味表現262と、探索空間250の全体になるように初期化された探索部分空間502内の比較可能な意味表現158とを比較することができる。本明細書で認識されるように、最も正確でないが最も効率的な関数352をこうして適用することで、類似性スコアリングサブシステム260が探索部分空間502において第1回の探索を効率的に実行することが有効になる。本実施形態では、第1の関数352は、意味表現262の根ノード354を考慮するが、第1の関数352を介して、意味表現262の別の好適な部分(たとえば、他のノードまたはノードの組合せ)を分析することもできることを理解されたい。
【0086】
図12に戻ると、類似性スコアリングサブシステム260は、探索部分空間502から意味表現158を除去または剪定し(ブロック414)、剪定された意味表現158は、セット412のうち、閾値類似性スコア(たとえば、所定の閾値スコア)を下回る類似性スコアを有する。特定の実施形態では、閾値類似性スコアは、類似性スコアリングサブシステム260内にパラメータとして記憶された可能な類似性スコアの範囲内の事前定義された値である。したがって、類似性スコアリングサブシステム260は、後の関数280の効率的な適用のために、探索部分空間502を、低減された数の探索部分空間502の意味表現158に縮小することができる。実際には、図14に戻ると、探索部分空間502は、第1の比較500後、セット412のうち閾値を下回る類似性スコアに関連付けられた意味表現158を探索部分空間502から除去するように狭められる(たとえば、収縮される、刈り込まれる)。
【0087】
いくつかの実施形態では、類似性スコアリングサブシステム260は、ユーザ定義値を閾値類似性スコアとして受け取り、それを下回ると探索部分空間502の意味表現158が無視される閾値を較正する。類似性スコアリングサブシステム260はまた、ML技法、類似性スコアリングサブシステム260が現在動作している特有のコンテキストなどに基づいて、閾値類似性スコアを更新することができる。たとえば、類似性スコアリングサブシステム260は、特定の探索部分空間502が非常に大きいコンテキストのために、かつ/または予測的類似性スコアリングプロセスをさらに速めるために、比較的高いまたは選択的な閾値類似性スコア(たとえば、少なくとも90%の整合)を実施することができる。さらに、閾値類似性スコアは、各関数280が適用された後、個々に選択または更新することができる。より詳細には、本明細書に開示する類似性スコアリングサブシステム260は、前の比較において、閾値を上回る数の意味表現158が閾値類似性スコアを満たしたと判定したことに応答して、後の比較に対する閾値類似性スコアの値または選択性を減少させることができる。
【0088】
図12のプロセス400に戻ると、類似性スコアリングサブシステム260は、ブロック410によって記載されるCCG形式探索を継続するべきかどうかを判定する(ブロック416)。本明細書で認識されるように、類似性スコアリングサブシステム260は、1つまたは複数の好適な停止条件が満たされたことに基づいて、CCG形式の探索を継続すると判定することができる。たとえば、類似性スコアリングサブシステム260は、各意味表現が探索部分空間502から剪定されたこと(たとえば、整合がないことを示す)、閾値数の意味表現が探索部分空間内に残っていること(たとえば、可能性が最も高い整合を示す)、最近適用された関数280が、関数280内の埋込み停止条件が満たされたことを示すこと、数学的比較関数リスト278のすべての関数280が適用されたことなどに応答して、CCG形式の探索を終了することができる。
【0089】
ブロック416で、CCG形式の探索を継続するべきであると判定したことに応答して、類似性スコアリングサブシステム260は、数学的比較関数リスト278の次の関数280を選択する(ブロック420)。次いで、矢印422によって示すように、類似性スコアリングサブシステム260は、ブロック410へ戻り、意味表現262と、探索部分空間502の残りの比較可能な意味表現158とを比較する。したがって、類似性スコアリングサブシステム260は、数学的比較関数リスト278のより高価な関数280を利用することによって、探索部分空間502の残りの比較可能な意味表現に関連付けられた類似性スコアセット412を精練(たとえば、修正、更新)する。各比較後、類似性スコアリングサブシステム260は、プロセス400を介して生成された様々な類似性スコアセット412のアレイを記憶することができ、または別法として、セット412の前に生成された各類似性スコアをより正確な同等物に交換することができる。実際には、後の関数280の適用中にさらなる処理資源が利用されるため、類似性スコアセット412は概して、さらなる関数280が適用されると、正確さおよび/または精度に関して改善される。類似性スコアセット412に基づいて、図示のプロセス400を実行する類似性スコアリングサブシステム260は、セット412のうち、閾値類似性スコアを下回るそれぞれの類似性スコアに関連付けられた意味表現158の探索空間250を剪定する(ブロック404)。
【0090】
図13を再び参照すると、類似性スコアセット412を精練し、探索部分空間502を剪定するために、類似性スコアリングサブシステム260は、第2の関数368を適用して、意味表現262と、サイズが低減された探索部分空間502内の残りの意味表現158とを比較する。したがって、類似性スコアリングサブシステム260は、閾値類似性スコアを満たす好適な候補まで探索部分空間502をさらに縮小することができる。特定の実施形態では、関数180の構造は、本質的に数学的比較関数リスト278の関数280内の条項などに基づいて、比較された意味表現のそれぞれのノードの露出または拡大を案内する。たとえば、第1の関数352は、意味表現の根ノード354と探索部分空間502の意味表現158とを比較する単一の用語を含むことができ、第2の関数368は、意味表現262の拡大部分と意味表現158とを比較する1つまたは複数の条項を含むことができる。
【0091】
したがって、類似性スコアリングサブシステム260は、所与の比較のために、累進的により正確かつ高コストになる関数280を、探索部分空間502の残存している(たとえば、ビーム内の)意味表現158に反復して適用する。図12のプロセス400の議論を図13に対して継続すると、類似性スコアリングサブシステム260は、第3の比較516中に第3の関数378を実施して、意味表現262の同じ露出部分510と、探索部分空間502のさらに剪定された実施形態とを比較することができ、以下同様である。したがって、本実施形態の類似性スコアリングサブシステム260は、最終比較524中に最終関数384を実施して、意味表現262の全体526と、探索部分空間502の最終実施形態とを比較するように設計され、著しく低減された数の残りの意味表現158の候補のために、最も計算集約的な最終関数384の使用を節約する。実際には、特定の事例では、図13の最終比較524は、意味表現262内の利用可能な情報の全体を活用して、探索空間250から、意味表現262に好適に整合する意味表現セット158を生成することができる。他の実施形態では、上述したように、最終関数384は、外部言語モデルへの問合せなど、任意の他の好適に資源集約的なプロセスを介して、意味表現262の一部分を考慮することができる。
【0092】
したがって、図12に戻ると、類似性スコアリングサブシステム260は、ブロック416でCCG形式の探索の停止条件が満たされていると判定することができ、次いで探索部分空間502から識別された整合意味表現セット430を出力することができる。したがって、類似性スコアリングサブシステム260は、整合意味表現セット430を効率的に識別し、抽出されたアーティファクト140の後の判定のために、NLUフレームワーク104の他の構成要素へ提供することができる。
【0093】
本開示の技術的な効果は、サンプル発話から導出された意味表現が格納された探索空間をうまく狭める(たとえば、選り分ける)ことが可能な意味探索サブシステムを実施し、それによって受け取ったユーザ発話の意味表現に好適に整合する意味表現の識別を改善するエージェント自動化フレームワークを提供することを含む。本実施形態は特に、CCG技法を介して意味表現を効率的かつ予測的に比較する意味探索サブシステムの類似性スコアリングサブシステムを対象とする。すなわち、特定の意味表現の識別されたCCG形式に基づいて、類似性スコアリングサブシステムは、意味表現間の類似性の定量化を有効にする数学的比較関数リストを判定することができる。リストの比較関数は、類似性スコアリングサブシステムが、意味表現間で最も効率的で最も安価な比較を実行し、それらの間の類似のスコアを判定することを有効にするように、経時的に順序付けられる。類似性スコアに基づいて、類似性スコアリングサブシステムは、探索空間内で特に類似している意味表現を反復して識別し、探索空間をこれらの意味表現に剪定(たとえば、縮小、低減)することができ、次いで意味表現の同じ数または増大させた数のノードにおいて、より計算集約的な比較関数を実施することができる。すなわち、選択的なノードの露出および/または増大する資源利用の反復的な適用は、概して、ますます複雑になる比較関数を介して、比較される意味表現のより多くのデータを考慮しながら、探索空間内の潜在的整合意味表現を絞り込む。したがって、予測的類似性スコアリングのための本技法は、意味表現整合の標的発見を有効にし、それによってNLUフレームワークがアーティファクトを効率的に抽出することを有効にしながら、複数のユーザとの企業レベルの自然言語関与に好適なレベルまで計算経費を低減させる。
【0094】
上述した特有の実施形態は、例として示されており、これらの実施形態は、様々な修正および代替の形態を受けることができることを理解されたい。特許請求の範囲は、開示する特定の形態に限定されることを意図したものではなく、本開示の精神および範囲内のすべての修正、均等物、および代替を包含することを意図したものであることをさらに理解されたい。
【0095】
本明細書に提示および主張される技法は、本技術分野を実証可能に改善し、したがって抽象的、無形、または純粋に理論的ではない、実際的な性質の有形物および具体例に参照および適用される。さらに、本明細書の終わりに添付するいずれかの請求項が、「・・・[機能]を[実行]する手段」または「・・・[機能]を[実行]するステップ」と呼ばれる1つまたは複数の要素を含む場合、そのような要素は、米国特許法第112条(f)に基づいて解釈されることが意図される。しかし、任意の他の形で呼ばれる要素を含む請求項の場合、そのような要素は、米国特許法第112条(f)に基づいて解釈されるべきではないことが意図される。

図1
図2
図3
図4A
図4B
図5
図6
図7
図8
図9
図10
図11
図12
図13