(57)【要約】マルチターン対話型ダイアログにおいてユーザからの追加データを求める生成されたプロンプトの種類を選択する。１つのシナリオでは、処理された一連のユーザ入力および機械生成プロンプトは、電子市場で購入可能な最も関連性のあるアイテムの検索を改善する。プロンプトの数は所定の最大値に制限されてもよい。ユーザの意図を推測するのに役立つ世界知識をナレッジグラフに組み込むことでプロンプトの生成は最小限に抑えられる。プロンプトへの応答が十分な検索結果をもたらさないことを検索が示す場合、プロンプトの生成は抑止され得る。プロンプトは、すべてのクエリ条件を満たすか、またはすべてのクエリ条件を満たす検索結果がないことを検索が示す場合には一部のクエリ条件のみを満たす利用可能な検索結果についての提案を提示し得る。プロンプトは、肯定または否定の応答を介して検索結果を改善する可能性が高い提案された鋭敏な応答表現を提供できる。
2019530920.tif 000002
【特許請求の範囲】
【請求項１】
マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するための方法であって、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを受信することであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも１つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記受信すること、
インベントリを検索し、検索結果をナレッジグラフに組み込むこと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定すること、
十分なレベルのマッチングが達成されていない場合、少なくとも１つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力すること
を含む方法。
【請求項２】
応答が十分な検索結果をもたらさない場合、質問プロンプトを抑止することをさらに含む、請求項１に記載の方法。
【請求項３】
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、請求項１に記載の方法。
【請求項４】
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも１つに基づいて、提案された応答表現を提供する、請求項１に記載の方法。
【請求項５】
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを記す異なる質問プロンプトを代わりに生成することをさらに含む、請求項１に記載の方法。
【請求項６】
十分なレベルのマッチングが達成されていない場合、ナレッジグラフ要素関連強度値と、ナレッジグラフのディメンションタイプの所定の順序とのうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、請求項１に記載の方法。
【請求項７】
十分なレベルのマッチングが達成されていない場合、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、請求項１に記載の方法。
【請求項８】
コンピュータの１つまたは複数のプロセッサによって実行されると、マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するために前記コンピュータに動作を実行させる一組の命令が組み込まれたコンピュータ可読記憶媒体であって、前記動作は、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを受信することであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも１つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記受信すること、
インベントリを検索し、検索結果をナレッジグラフに組み込むこと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定すること、
十分なレベルのマッチングが達成されていない場合、少なくとも１つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力すること
を含む、媒体。
【請求項９】
応答が十分な検索結果をもたらさない場合、質問プロンプトを抑止することをさらに含む、請求項８に記載の媒体。
【請求項１０】
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、請求項８に記載の媒体。
【請求項１１】
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも１つに基づいて、提案された応答表現を提供する、請求項８に記載の媒体。
【請求項１２】
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを記す異なる質問プロンプトを代わりに生成することをさらに含む、請求項８に記載の媒体。
【請求項１３】
十分なレベルのマッチングが達成されていない場合、ナレッジグラフ要素関連強度値と、ナレッジグラフのディメンションタイプの所定の順序とのうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、請求項８に記載の媒体。
【請求項１４】
十分なレベルのマッチングが達成されていない場合、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、請求項８に記載の媒体。
【請求項１５】
マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するシステムであって、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを提供するように構成された自然言語理解コンポーネントであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも１つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記自然言語理解コンポーネントと、
インベントリを検索し、検索結果をナレッジグラフに組み込むように構成された検索コンポーネントと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定するように構成されたダイアログマネージャコンポーネントと
を備え、
十分なレベルのマッチングが達成されていない場合、前記ダイアログマネージャコンポーネントを用いて、少なくとも１つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力する、システム。
【請求項１６】
応答が十分な検索結果をもたらさない場合、質問プロンプトが抑止される、請求項１５に記載のシステム。
【請求項１７】
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、請求項１５に記載のシステム。
【請求項１８】
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも１つに基づいて、提案された応答表現を提供する、請求項１５に記載のシステム。
【請求項１９】
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、前記ダイアログマネージャコンポーネントを用いて、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを示す異なる質問プロンプトを代わりに生成することをさらに含む、請求項１５に記載のシステム。
【請求項２０】
十分なレベルのマッチングが達成されていない場合、前記ダイアログマネージャコンポーネントを用いて、ナレッジグラフ要素関連強度値、ナレッジグラフのディメンションタイプの所定の順序、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、請求項１５記載のシステム。
【請求項２１】
コンピュータの１つまたは複数のプロセッサによって実行されると、前記コンピュータに請求項１乃至７のいずれか一項に記載の方法を実行させる一組の命令を搬送する機械可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
従来の検索は非人間的である。普通の言語では従来のブラウジングエンジンと話すことはできない。従来の検索は時間がかかり、選択が多すぎ、結果のページを閲覧するのに多くの時間が浪費される可能性がある。従来のツールの技術的限界に捕らえられることによりユーザが意図を伝えることは困難であり、例えば、ユーザは検索に役立てるために製品の写真を共有することができない。現在のソリューションはこの規模に対応するようには設計されていないものの、選択が何十億ものオンラインのアイテムにまで膨らむにつれて、比較検索の重要性がこれまで以上に増している。無関係な結果がしばしば表示され、最良の結果が提示されない。従来の形式の比較検索（検索＋絞り込み＋閲覧）は、もはや役に立たない。
【発明の概要】
【０００２】
一例では、インテリジェントパーソナルアシスタントシステムは、インテリジェントオンラインパーソナルアシスタント（または「ボット」）を提供するために既存のメッセージングプラットフォームのファブリックに浸透しているスケーラブル人工知能（ＡＩ）を含む。このシステムは、既存のインベントリおよび精選されたデータベースを利用して、人間のユーザとインテリジェントオンラインパーソナルアシスタントとの間のコミュニケーションの予測的な順番で、インテリジェントな、パーソナライズされた回答を提供することができる。インテリジェントパーソナルアシスタントシステムの一例は、ナレッジグラフを含む。機械学習コンポーネントは、ユーザの識別および理解が時間の経過とともに向上するように、ユーザの意図から継続的に識別および学習することができる。このようにして提供されるユーザエクスペリエンスは、感動的で直感的でユニークであり、例えば、ミレニアル世代などの特定の年齢層の利用および行動パターンに焦点を合わせることが可能である。
【図面の簡単な説明】
【０００３】
図面は概して限定としてではなく例として本明細書で論じられる様々な実施形態を示す。任意の特定の要素または動作の議論をより容易に識別するために、参照番号中の最上位桁または複数の桁は、その要素が最初に紹介された図の番号を指す。
【図１】いくつかの例示的実施形態によるネットワーク化されたシステムを示す図である。
【図２】いくつかの例示的な実施形態によるインテリジェントパーソナルアシスタントシステムの概略的なアーキテクチャを示す図である。
【図３Ａ】いくつかの例示的な実施形態による音声認識コンポーネントの構成要素を示す図である。
【図３Ｂ】いくつかの例示的な実施形態による音声認識コンポーネントの構成要素を示す図である。
【図４】本明細書に記載の様々なハードウェアアーキテクチャと併せて使用することができる代表的なソフトウェアアーキテクチャを示す図である。
【図５】機械可読媒体（例えば、コンピュータ可読記憶媒体）から命令を読み取り、本明細書で論じられる方法のうちの任意の１つまたは複数を実行することができる、いくつかの例示的実施形態による機械の構成要素を示す図である。
【図６】いくつかの例示的実施形態による、インテリジェントオンラインパーソナルアシスタントをデプロイすることが可能な例示的環境を示す図である。
【図７】いくつかの例示的実施形態による、自然言語ユーザ入力を処理して電子市場におけるアイテム推薦を生成するインテリジェントパーソナルアシスタントシステムの概要を示す図である。
【図８】いくつかの例示的実施形態による、自然言語理解（ＮＬＵ）コンポーネント、そのサブコンポーネント、およびそれが対話する他の構成要素を示す図である。
【図９】いくつかの例示的実施形態によるさまざまな分析の結果を示す図である。
【図１０】いくつかの例示的な実施形態によるナレッジグラフを示す図である。
【図１１Ａ】いくつかの例示的実施形態による、アイテムカテゴリ、アイテム属性、およびアイテム属性値を有する簡潔なナレッジグラフを示す図である。
【図１１Ｂ】いくつかの例示的実施形態による、アイテムカテゴリ、アイテム属性、およびアイテム属性値を有する簡潔なナレッジグラフを示す図である。
【図１２】いくつかの例示的実施形態による、自然言語ユーザ入力を処理して示唆的プロンプトを生成するインテリジェントパーソナルアシスタントシステムの概要を示す図である。
【図１３】いくつかの例示的実施形態による、自然言語ユーザ入力を処理してアイテム推薦を生成するための方法のフローチャートである。
【発明を実施するための形態】
【０００４】
この文脈における「キャリア信号」とは、機械による実行のための命令を格納、符号化、または搬送することができる任意の無形媒体をいい、そのような命令の通信を容易にするためのデジタルまたはアナログ通信信号または他の無形媒体を含む。命令は、ネットワークインタフェースデバイスを介して伝送媒体を使用し、複数の周知の転送プロトコルのうちの任意の１つを使用して、ネットワークを介して送信または受信することができる。
【０００５】
この文脈における「クライアントデバイス」とは、１つまたは複数のサーバシステムまたは他のクライアントデバイスからリソースを取得するために通信ネットワークとインタフェースする任意の機械を指す。クライアントデバイスは、携帯電話、デスクトップコンピュータ、ラップトップ、携帯デジタルアシスタント（ＰＤＡ）、スマートフォン、タブレット、ウルトラブック、ネットブック、ラップトップ、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家電製品、ゲーム機、セットトップボックス、またはユーザがネットワークにアクセスするために使用できる任意の他の通信デバイスであってよいが、これに限定されない。
【０００６】
この文脈における「通信ネットワーク」とは、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク（ＶＰＮ）、ローカルエリアネットワーク（ＬＡＮ）、無線ＬＡＮ（ＷＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ワイヤレスＷＡＮ（ＷＷＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネット、インターネットの一部、公衆交換電話網（ＰＳＴＮ）の一部、旧来の基本電話サービス（ＰＯＴＳ）ネットワーク、携帯電話ネットワーク、無線ネットワーク、Ｗｉ−Ｆｉ（登録商標）ネットワーク、別の種類のネットワーク、またはそのようなネットワークの２以上の組み合わせであり得るネットワークの１つまたは複数の部分を指す。例えば、ネットワークまたはネットワークの一部は、無線またはセルラーネットワークを含むことができ、接続は、符号分割多元アクセス（ＣＤＭＡ）接続、移動体通信用グローバルシステム（ＧＳＭ（登録商標））接続、または他のタイプのセルラーまたは無線接続であり得る。この例では、接続は、シングルキャリア無線伝送技術（１ｘＲＴＴ）、進化データ最適化（ＥＶＤＯ）技術、汎用パケット無線サービス（ＧＰＲＳ）技術、ＧＳＭ進化型高速データレート（ＥＤＧＥ）技術、３Ｇを含む第３世代パートナーシッププロジェクト（３ＧＰＰ）、第４世代無線（４Ｇ）ネットワーク、ユニバーサルモバイルテレコミュニケーションシステム（ＵＭＴＳ）、高速パケットアクセス（ＨＳＰＡ）、マイクロ波アクセスの世界規模相互運用（ＷｉＭＡＸ）、ロングタームエボリューション（ＬＴＥ）規格、種々の規格設定団体によって定義された他の規格、他の長距離プロトコル、または他のデータ転送技術などの様々なタイプのデータ転送技術のうちの任意のものを実装することができる。
【０００７】
この文脈における「構成要素（コンポーネント）」は、機能またはサブルーチン呼び出し、分岐点、アプリケーションプログラムインタフェース（ＡＰＩ）、または特定の処理または制御機能の分割またはモジュール化を提供する他の技術によって定義される境界を有するデバイス、物理エンティティ、または論理回路を指す。構成要素は、それらのインタフェースを介して他の構成要素と組み合わされて、機械プロセスを実行することができる。構成要素は、他の構成要素および関連する機能のうちの特定の機能を通常実行するプログラムの一部と共に使用するために設計されたパッケージ化された機能的ハードウェアユニットであり得る。構成要素は、ソフトウェア構成要素（例えば、機械可読媒体上に具現化されたコード）またはハードウェア構成要素のいずれかを構成し得る。「ハードウェア構成要素」は、特定の動作を実行することができる有形のユニットであり、特定の物理的方法で構成または配置することができる。様々な例示的実施形態では、１つまたは複数のコンピュータシステム（例えば、スタンドアロンコンピュータシステム、クライアントコンピュータシステム、またはサーバコンピュータシステム）、またはコンピュータシステムの１つまたは複数のハードウェア構成要素（例えば、プロセッサまたはプロセッサのグループ）は、本明細書で説明されるような特定の動作を実行するように動作するハードウェア構成要素としてソフトウェア（例えば、アプリケーションまたはアプリケーション部分）によって構成され得る。ハードウェア構成要素は、機械的に、電子的に、またはそれらの任意の適切な組み合わせで実装されることもできる。例えば、ハードウェア構成要素は、特定の動作を実行するように恒久的に構成された専用の回路または論理回路を含み得る。ハードウェア構成要素は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）などの専用プロセッサであり得る。ハードウェア構成要素は、特定の動作を実行するためにソフトウェアによって一時的に構成されるプログラマブルロジックまたは回路を含むこともできる。例えば、ハードウェア構成要素は、汎用プロセッサまたは他のプログラム可能なプロセッサによって実行されるソフトウェアを含み得る。そのようなソフトウェアによって構成されると、ハードウェア構成要素は、構成された機能を実行するように独自に調整された特定の機械（または機械の特定の構成要素）になり、もはや汎用プロセッサではない。ハードウェア構成要素を機械的に、専用の恒久的に構成された回路内に、または（例えばソフトウェアによって構成された）一時的に構成された回路内に実装するという決定は、コストおよび時間を考慮して決定され得ることが理解されるであろう。したがって、「ハードウェア構成要素」（または「ハードウェアで実装された構成要素」）という語句は、特定の方法で動作するように、または本明細書に記載の特定の動作を実行するように物理的に構築された、恒久的に構成された（例えばハードワイヤード）、または一時的に構成された（例えばプログラムされた）エンティティなどの有形のエンティティを包含するものと理解されたい。ハードウェア構成要素が一時的に構成される（例えば、プログラムされる）実施形態を考慮すると、ハードウェア構成要素の各々は、任意の一時点において構成またはインスタンス化されている必要はない。例えば、ハードウェア構成要素が、専用プロセッサになるようにソフトウェアによって構成された汎用プロセッサを含む場合、汎用プロセッサは、異なる時にそれぞれ異なる（例えば、異なるハードウェア構成要素を含む）専用プロセッサとして構成され得る。したがって、ソフトウェアは、特定の１つまたは複数のプロセッサが、例えばある時点で特定のハードウェア構成要素を構成し、異なる時点で異なるハードウェア構成要素を構成するように構成する。ハードウェア構成要素は、他のハードウェア構成要素に情報を提供し、そこから情報を受け取ることができる。したがって、説明したハードウェア構成要素は、通信可能に結合されていると見なすことができる。複数のハードウェア構成要素が同時に存在する場合、通信は、２つ以上のハードウェア構成要素間の信号伝送を介して（例えば、適切な回路およびバスを介して）達成され得る。複数のハードウェア構成要素が異なる時間に構成またはインスタンス化される実施形態では、そのようなハードウェア構成要素間の通信は、例えば複数のハードウェア構成要素がアクセスするメモリ構造における情報の格納および検索を通じて達成され得る。例えば、１つのハードウェア構成要素が動作を実行し、その動作の出力をそれが通信可能に結合されているメモリデバイスに格納することができる。その後、さらなるハードウェア構成要素が、後の時間に、メモリデバイスにアクセスして、格納された出力を検索し処理することができる。ハードウェア構成要素は、入力デバイスまたは出力デバイスとの通信を開始することもでき、リソース（例えば情報のコレクション）によって動作することができる。本明細書に記載の例示的な方法の様々な動作は、関連する動作を実行するように一時的に（例えばソフトウェアによって）構成された、または恒久的に構成された１つまたは複数のプロセッサによって少なくとも部分的に実行され得る。一時的に構成されているか恒久的に構成されているかにかかわらず、そのようなプロセッサは、本明細書で説明される１つまたは複数の動作または機能を実行するように動作するプロセッサ実装構成要素を構成し得る。本明細書で使用される場合、「プロセッサ実装構成要素」は、１つまたは複数のプロセッサを使用して実装されたハードウェア構成要素を指す。同様に、本明細書に記載の方法は、ハードウェアの一例である特定の１つまたは複数のプロセッサを用いて、少なくとも部分的にプロセッサにより実装されてもよい。例えば、方法の動作のうちの少なくともいくつかは、１つまたは複数のプロセッサまたはプロセッサ実装構成要素によって実行され得る。さらに、１つまたは複数のプロセッサは、「クラウドコンピューティング」環境において、または「サービスとしてのソフトウェア」（ＳａａＳ）として、関連する動作の実行をサポートするように動作することもできる。例えば、動作の少なくともいくつかは（プロセッサを含む機械の例として）一群のコンピュータによって実行されてもよく、これらの動作はネットワーク（例えばインターネット）を介して、および１つまたは複数の適切なインタフェース（例えば、アプリケーションプログラムインタフェース（ＡＰＩ））を介して、アクセス可能である。特定の動作の実行は、単一の機械内に存在するだけでなく、多数の機械にわたってデプロイされてプロセッサ間で分散されてもよい。いくつかの例示的実施形態では、プロセッサまたはプロセッサ実装構成要素は、単一の地理的位置（例えば、家庭環境、オフィス環境、またはサーバファーム内）に配置することができる。他の例示的実施形態では、プロセッサまたはプロセッサ実装構成要素は、複数の地理的位置にわたって分散され得る。
【０００８】
この文脈における「機械可読媒体」とは、命令およびデータを一時的または恒久的に格納することができる構成要素、デバイスまたは他の有形の媒体を指し、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、バッファメモリ、フラッシュメモリ、光媒体、磁気媒体、キャッシュメモリ、他の種類の記憶装置（例えば、消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ））および／またはそれらの任意の適切な組み合わせを含み得るが、これらに限定されない。「機械可読媒体」という用語は、命令を格納することができる単一の媒体または複数の媒体（例えば、集中型または分散型データベース、あるいは関連するキャッシュおよびサーバ）を含むと解釈されるべきである。「機械可読媒体」という用語は、機械によって実行するための命令（例えば、コード）を格納することができる任意の媒体、または複数の媒体の組合せを含むとも解釈され、命令は、機械の１つまたは複数のプロセッサにより実行される場合に、本明細書に記載の方法のうちの任意の１つまたは複数を機械に実行させる。したがって、「機械可読媒体」は、単一の記憶装置またはデバイス、ならびに複数の記憶装置またはデバイスを含む「クラウドベースの」記憶システムまたは記憶ネットワークを指す。「機械可読記憶媒体」という用語は、信号自体を除外する。機械可読媒体は、機械可読記憶媒体と伝送媒体またはキャリア信号とを含む。
【０００９】
この文脈における「プロセッサ」とは、制御信号（例えば、「コマンド」、「オペコード」、「機械コード」）に従ってデータ値を操作する任意の回路または仮想回路（実際のプロセッサ上で実行する論理によってエミュレートされる物理回路）を指し、これは、機械を動作させるために適用される対応する出力信号を生成する。プロセッサは、例えば、中央処理装置（ＣＰＵ）、縮小命令セット計算（ＲＩＳＣ）プロセッサ、複合命令セット計算（ＣＩＳＣ）プロセッサ、グラフィック処理装置（ＧＰＵ）、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、無線周波数集積回路（ＲＦＩＣ）、またはそれらの任意の組み合わせであり得る。プロセッサはさらに、同時に命令を実行することができる２つ以上の独立したプロセッサ（「コア」と呼ばれることもある）を有するマルチコアプロセッサであってもよい。
【００１０】
この特許文書の開示の一部は、著作権保護の対象となる資料を含む。著作権の所有者は、特許商標庁の特許ファイルまたは記録のとおりの特許文書または特許開示の第三者によるファクシミリ複製に異議を唱えないが、その他の点においてはすべての著作権を留保する。以下の通知は、下記および本明細書の一部を構成する図面に記載されているソフトウェアおよびデータに適用される：Copyright 2016, eBay Inc., All Rights Reserved.
以下の説明は、本開示の例示的な実施形態を具体化するシステム、方法、技術、命令シーケンス、および計算機プログラム製品を含む。以下の説明では、本発明の主題の様々な実施形態の理解を促すために、多数の具体的な詳細が説明の目的で述べられている。しかしながら、本発明の主題の実施形態がこれらの具体的な詳細なしで実施されてもよいことは当業者には明らかであろう。一般に、周知の命令インスタンス、プロトコル、構造、および技術は必ずしも詳細に示されていない。
【００１１】
図１を参照すると、高レベルＳａａＳネットワークアーキテクチャ１００の例示的な実施形態が示されている。ネットワーク化されたシステム１１６は、ネットワーク１１０（例えば、インターネットまたは広域ネットワーク（ＷＡＮ））を介してサーバ側機能をクライアントデバイス１０８に提供する。ウェブクライアント１０２およびアプリケーション１０４の形態の例におけるプログラマティッククライアントは、クライアントデバイス１０８上でホストされ実行される。ネットワーク化されたシステム１１６はアプリケーションサーバ１２２を含み、アプリケーションサーバ１２２は、ネットワーク化されたシステム１１６にアクセスするアプリケーション１０４に複数の機能およびサービスを提供するインテリジェントパーソナルアシスタントシステム１０６をホストする。アプリケーション１０４は、本明細書に記載されている複数のインタフェースも提供し、それは追跡および分析動作の出力をクライアントデバイス１０８のユーザに提示する。
【００１２】
クライアントデバイス１０８は、ユーザがネットワーク化されたシステム１１６にアクセスし、対話することを可能にする。例えば、ユーザは入力（例えば、タッチスクリーン入力または英数字入力）をクライアントデバイス１０８に提供し、その入力はネットワーク１１０を介してネットワーク化されたシステム１１６に伝達される。この場合、ネットワーク化されたシステム１１６は、ユーザからの入力を受信したことに応答して、ユーザに提示されるべき情報を、ネットワーク１１０を介してクライアントデバイス１０８に返信する。
【００１３】
アプリケーションプログラムインタフェース（ＡＰＩ）サーバ１１８およびウェブサーバ１２０は、アプリケーションサーバ１２２に結合され、それぞれプログラマティックインタフェースおよびウェブインタフェースを提供する。アプリケーションサーバ１２２は、構成要素またはアプリケーションを含むインテリジェントパーソナルアシスタントシステム１０６をホストする。アプリケーションサーバ１２２は、次に、情報格納リポジトリ（例えば、データベース／クラウド１２６）へのアクセスを容易にするデータベースサーバ１２４に結合されるように示されている。例示の実施形態では、データベース／クラウド１２６は、インテリジェントパーソナルアシスタントシステム１０６によってアクセスされ生成された情報を格納する記憶装置を含む。
【００１４】
さらに、サードパーティサーバ１１２上で実行されているサードパーティアプリケーション１１４は、アプリケーションプログラムインタフェース（ＡＰＩ）サーバ１１８によって提供されるプログラマティックインタフェースを介して、ネットワーク化されたシステム１１６へのプログラムによるアクセスを有するものとして示されている。例えば、サードパーティアプリケーション１１４は、ネットワーク化されたシステム１１６から検索された情報を使用して、サードパーティによってホストされているウェブサイト上の１つまたは複数の特徴または機能をサポートすることができる。
【００１５】
ここで特にクライアントデバイス１０８によってホストされるアプリケーションに目を向けると、ウェブクライアント１０２は、ウェブサーバ１２０によってサポートされるウェブインタフェースを介して様々なシステム（例えば、インテリジェントパーソナルアシスタントシステム１０６）にアクセスすることができる。同様に、アプリケーション１０４（例えば「アプリ（app）」）は、アプリケーションプログラムインタフェース（ＡＰＩ）サーバ１１８によって提供されるプログラマティックインタフェースを介してインテリジェントパーソナルアシスタントシステム１０６によって提供される様々なサービスおよび機能にアクセスする。アプリケーション１０４は、例えば、ユーザがオフラインでネットワーク化されたシステム１１６上のデータにアクセスし、データを入力すること、およびプログラマティッククライアントアプリケーション１０４とネットワーク化されたシステム１１６との間のバッチモード通信を実施することを可能にするための、ｉＯＳまたはアンドロイドＯＳアプリケーションなどのクライアントデバイス１０８上で実行される「アプリ」であってよい。
【００１６】
さらに、図１に示すＳａａＳネットワークアーキテクチャ１００はクライアント−サーバアーキテクチャを採用しているが、本発明の主題はもちろんそのようなアーキテクチャに限定されず、例えば、分散型またはピアツーピア型アーキテクチャシステムにおいても、同様にアプリケーションを見出すことができる。インテリジェントパーソナルアシスタントシステム１０６は、必ずしもネットワーキング機能を有するわけではないスタンドアロンソフトウェアプログラムとして実装することも可能である。
【００１７】
図２は、いくつかの例示的実施形態による、インテリジェントパーソナルアシスタントシステム１０６の概略的なアーキテクチャを示すブロック図である。具体的には、インテリジェントパーソナルアシスタントシステム１０６は、（例えばネットワーク１１０を介して）ＳａａＳネットワークアーキテクチャ１００内の他のシステムと通信するためのフロントエンドコンポーネント２０２（ＦＥ）を含むように示されている。フロントエンドコンポーネント２０２は、既存のメッセージングシステムのファブリックと通信することができる。本明細書で使用されているように、メッセージングファブリックという用語は、フェイスブックメッセンジャー、マイクロソフトコルタナおよび他の「ボット」などのサードパーティプラットフォームを動作させることができる一群のＡＰＩおよびサービスを指す。一例では、メッセージングファブリックは、ユーザが商業目的で対話することを可能にするオンラインコマースエコシステムをサポートすることができる。フロントエンドコンポーネント２０２の出力は、インテリジェントパーソナルアシスタント、または「ボット」とのインタフェースの一部として、図１のクライアントデバイス１０８などのクライアントデバイスのディスプレイにレンダリングされることが可能である。
【００１８】
インテリジェントパーソナルアシスタントシステム１０６のフロントエンドコンポーネント２０２は、フロントエンドコンポーネント２０２を人工知能フレームワーク１２８とリンクするように動作するフロントエンド用のバックエンドコンポーネント２０４（ＢＦＦ）に結合されている。人工知能フレームワーク１２８は、以下で論じるようにいくつかのコンポーネントを含み得る。様々なコンポーネント間で交換されるデータおよび各コンポーネントの機能は、特定の実装形態に応じてある程度変動し得る。
【００１９】
インテリジェントパーソナルアシスタントシステム１０６の一例では、ＡＩオーケストレータ２０６は、人工知能フレームワーク１２８の内部と外部のコンポーネント間の通信を調整する。ＡＩオーケストレータ２０６に対する入力モダリティは、例えば、コンピュータビジョンコンポーネント２０８、音声認識コンポーネント２１０、および音声認識コンポーネント２１０の一部を形成し得るテキスト正規化コンポーネントから導出され得る。コンピュータビジョンコンポーネント２０８は、ビジュアル入力（例えば写真）からオブジェクトおよび属性を識別することができる。音声認識コンポーネント２１０は、音声信号（例えば、話し言葉）をテキストに変換することができる。テキスト正規化コンポーネントは、例えば、絵文字をテキストにレンダリングすることによる言語正規化などの入力正規化を行うように動作することができる。正字法正規化（orthographic normalization）、外国語正規化、会話型テキスト正規化などの他の正規化も可能である。
【００２０】
人工知能フレームワーク１２８は、ユーザの意図および様々な意図パラメータを抽出するように動作する自然言語理解またはＮＬＵコンポーネント２１４をさらに含む。ＮＬＵコンポーネント２１４は、図８からさらに詳細に説明される。
【００２１】
人工知能フレームワーク１２８は、（例えば、検索クエリまたは発話などの入力の）「特異性の完全性（completeness of specificity）」を理解し、次のアクションタイプおよび関連パラメータ（例えば、「検索」または「ユーザからの追加情報の要求」）を決定するように動作するダイアログマネージャ２１６をさらに含む。便宜上、この説明におけるすべてのユーザ入力は、テキスト、音声、または画像関連フォーマットのいずれであろうと、「発話（utterance）」と呼ばれることがある。
【００２２】
一例では、ダイアログマネージャ２１６は、コンテキストマネージャ２１８および自然言語生成（ＮＬＧ）コンポーネント２１２と関連して動作する。コンテキストマネージャ２１８は、インテリジェントオンラインパーソナルアシスタント（または「ボット」）およびアシスタントの関連人工知能に関するユーザのコンテキストおよび通信を管理する。コンテキストマネージャ２１８は、ユーザ対話（interaction）の短期間の履歴を保持する。ユーザ嗜好の長期間の履歴は、以下に説明されるアイデンティティサービス２２２に保持され得る。これらの履歴のうちの一方または両方におけるデータ入力は、例えば、所与の入力、ボット対話、または通信の順番についてのすべての関連する結果、関連する目的およびすべてのパラメータを含み得る。ＮＬＧコンポーネント２１２は、ＡＩメッセージから自然言語発話を構成するように動作し、インテリジェントボットと対話するユーザに提示する。
【００２３】
検索コンポーネント２２０も人工知能フレームワーク１２８内に含まれる。検索コンポーネント２２０は、フロントエンドユニットおよびバックエンドユニットを有することができる。バックエンドユニットは、アイテムまたは製品のインベントリを管理し、インベントリに対する検索機能を提供し、ユーザの意図および意図パラメータの特定のタプルに対する最適化を行うことができる。検索コンポーネント２２０は、非常に大きな高品質インベントリに対して、世界中で１日あたり数十億のクエリを提供するように設計されている。検索コンポーネント２２０は、テキスト、または人工知能（ＡＩ）符号化音声および画像入力を収容し、明示的および導出されたクエリ意図に基づいてユーザに関連するインベントリアイテムを識別することができる。
【００２４】
アイデンティティサービス２２２コンポーネントは、ユーザプロファイル、例えば、「名前」、「年齢」、「性別」、「地理的位置」などのユーザ属性の形式の明示的な情報と、「ユーザの興味」や「似たような人物」などの「抽出された情報」のような形式の黙示的な情報を管理するように動作する。人工知能フレームワーク１２８は、アイデンティティサービス２２２の一部を含むか、またはそれに関連して動作することができる。アイデンティティサービス２２２は、一組のポリシーと、ＡＰＩと、すべてのユーザ情報をエレガントに一元管理するサービスとを含み、人工知能フレームワーク１２８がユーザの意図に対する「知的な」見識を得るのを助ける。アイデンティティサービス２２２は、オンライン小売業者およびユーザを個人情報の詐欺または悪意のある使用から保護することができる。
【００２５】
本開示のアイデンティティサービス２２２は多くの利点を提供する。アイデンティティサービス２２２は、ユーザアイデンティティおよびプロファイルデータを含む単一の中央リポジトリである。それは絶えず新しい見識およびアップデートでユーザプロファイルを補強することが可能である。それは、アカウントリンクとアイデンティティフェデレーションを使用して、ユーザと会社、世帯、その他のアカウント（例えば、コアアカウント）との関係、およびユーザの人と関係のソーシャルグラフをマッピングする。アイデンティティサービス２２２は、ユーザが選択した時間およびメディアにおいて、ユーザが望むすべての情報だけを伝達する豊富な通知システムを発展させる。
【００２６】
一例では、アイデンティティサービス２２２は、検索、ＡＩ、商品化、および機械学習モデルについて中央クリアリングハウスで可能な限り多くのユーザ情報を統合することに集中し、各ユーザに見識を提供する各コンポーネントの能力を最大化する。単一の中央リポジトリは、細部にわたる詳細なスキーマでユーザアイデンティティとプロファイルデータを含む。オンボーディングフェーズでは、アイデンティティサービス２２２は、ユーザプロファイルおよびボットアプリケーションにおける必須の認証による見解を教える。認証元から入手可能な任意の公開情報（ソーシャルメディアなど）がロードされ得る。サイドボーディングフェーズでは、アイデンティティサービス２２２は、公的な情報源、ユーザの行動、対話、およびユーザがＡＩに告げる目的の明示的なセット（例えば、ショッピングミッション、インスピレーション、好み）から収集されたユーザに関する情報でプロファイルを補強することができる。ユーザが人工知能フレームワーク１２８と対話すると、アイデンティティサービス２２２は、ユーザについてさらに収集して推測し、明示的なデータ、導出された情報を格納し、他の統計的推論の確率および推定を更新する。時間の経過とともに、プロファイル強化フェーズにおいて、アイデンティティサービス２２２は、クリック、インプレッション、および閲覧活動などの行動データを、嗜好、好み、およびショッピングバーティカルなどの派生情報についてマイニングも行う。アイデンティティフェデレーションおよびアカウントリンクフェーズでは、通信または推測される場合、アイデンティティサービス２２２は、ユーザの世帯、雇用者、グループ、所属、ソーシャルグラフ、および共有アカウントを含む他のアカウントを更新する。
【００２７】
人工知能フレームワーク１２８の機能は、例えば決定部およびコンテキスト部などの複数の部にグループ化することができる。一例では、決定部は、ＡＩオーケストレータ２０６、ＮＬＵコンポーネント２１４、ダイアログマネージャ２１６、ＮＬＧコンポーネント２１２、コンピュータビジョンコンポーネント２０８、および音声認識コンポーネント２１０による動作を含む。ＡＩ機能のコンテキスト部は、ユーザの周囲のパラメータ（黙示的および明示的）および伝達される意図（例えば、特定のインベントリに対する、またはその他の）に関連している。経時的にＡＩ品質を測定し改善するために、人工知能フレームワーク１２８は、サンプルクエリ（例えば、開発セット）を用いてトレーニングされ、異なるセットのクエリ（例えば、評価セット）でテストされてもよく、両セットは、人間のキュレーションによって開発され得る。また、人工知能フレームワーク１２８は、経験豊富なキュレーション専門家、または人間のテイストメーカーのオーバーライドルール２２４によって定義された取引および対話の流れについてトレーニングされてもよい。人工知能フレームワーク１２８の様々なコンポーネント内に符号化されたフローおよび論理は、識別されたユーザの意図に基づいてインテリジェントアシスタントによってどのようなフォローアップ発話または提示（例えば質問、結果セット）がなされるかを定義する。
【００２８】
インテリジェントオンラインパーソナルアシスタントの例示的な入力モダリティ、またはインテリジェントパーソナルアシスタントシステム１０６内のボットについて上記がさらに参照される。インテリジェントパーソナルアシスタントシステム１０６は、ユーザの意図（例えば、ターゲット検索、比較、買い物／閲覧など）および任意の必須パラメータ（例えば、製品、製品カテゴリ、アイテムなど）および／またはオプションのパラメータ（例えば、アイテム／製品、場面などの属性のような明示的な情報）と黙示的な情報（地理的位置、個人的な好み、年齢、性別など）とを理解し、よく考え抜かれた、または「知的な」応答により、ユーザに応答しようと努める。明示的な入力モダリティは、テキスト、音声、およびビジュアル入力を含むことができ、ユーザに関する黙示的な知識（例えば、地理位置情報、以前の閲覧履歴など）により補強され得る。出力モダリティは、テキスト（スピーチ、または自然言語文、または製品関連情報など）、およびスマートデバイス、例えばクライアントデバイス１０８の画面上の画像を含むことができる。したがって、入力モダリティは、ユーザがボットと通信するためのさまざまな方法を指す。入力モダリティは、キーボードまたはマウスによるナビゲーション、タッチセンシティブジェスチャなども含むことができる。
【００２９】
コンピュータビジョンコンポーネント２０８のモダリティに関連して、写真は、テキストよりもユーザが探しているものを良く表していることが多い。ユーザはアイテムが何と呼ばれるのかわからない可能性があり、あるいは、専門家だけが知っている可能性がある細かい詳細な情報、例えば、衣服の複雑な模様や家具の特定のスタイルのためにテキストを使うことは難しいか、不可能でさえあるかもしれない。さらに、携帯電話で複雑なテキストクエリを入力することは不便であり、長いテキストクエリは一般的に再現率が低い。したがって、コンピュータビジョンコンポーネント２０８の重要な機能は、オブジェクトの位置特定、オブジェクトの認識、光学式文字認識（ＯＣＲ）、および画像またはビデオからの視覚的合図に基づくインベントリに対するマッチングを含むことができる。コンピュータビジョンを有効にしたボットは、内蔵カメラを備えたモバイル機器で実行するときに有利である。強力なディープニューラルネットワークは、コンピュータビジョンアプリケーションを可能とするために使用され得る。
【００３０】
一例では、ダイアログマネージャ２１６は、サブコンポーネントとしてコンテキストマネージャ２１８およびＮＬＧコンポーネント２１２を有する。上述のように、ダイアログマネージャ２１６は、「特異性の完全性」を理解し、次のアクションタイプおよびパラメータ（例えば、「検索」または「ユーザからの追加情報の要求」）を決定するように動作する。コンテキストマネージャ２１８は、ボットおよびそのＡＩに対して所与のユーザのコンテキストおよび通信を管理するように動作する。コンテキストマネージャ２１８は、２つの部分、すなわち長期間の履歴と短期間のメモリとを含む。各コンテキストマネージャエントリは、関連する意図およびすべてのパラメータ、ならびにすべての関連する結果を記述することができる。コンテキストは、インベントリに対するものであり、他の将来の知識源に対するものである。ＮＬＧコンポーネント２１２は、インテリジェントボットと対話するユーザに提示するために、ＡＩメッセージから自然言語発話を構成するように動作する。
【００３１】
人と機械との間の流暢で、自然で、有益で、さらには面白い対話は、過去の世紀の大半にわたって研究されてきた困難な技術的課題であり、まだ解決していないと見なされている。しかしながら、最近のＡＩの発展は、Ｓｉｒｉ（登録商標）およびＡｌｅｘａ（登録商標）のような有用な対話システムを生み出した。
【００３２】
インテリジェントボットの電子商取引の例では、この課題を解決しようとする上で最初に非常に役立つ要素は、膨大なセットの電子商取引データを活用することである。このデータのいくつかは、独自のデータベースまたはクラウド、例えばデータベース／クラウド１２６に保持され得る。このデータに関する統計は、コンテキストとして検索コンポーネント２２０からダイアログマネージャ２１６に伝達され得る。人工知能フレームワーク１２８は、ユーザからの発話に直接作用し、これは、音声認識コンポーネント２１０、次にＮＬＵコンポーネント２１４を通り、次いで半解析済みデータとしてコンテキストマネージャ２１８に渡され得る。したがって、ＮＬＧコンポーネント２１２は、ダイアログマネージャ２１６が、ユーザに対しテキストまたはスピーチで人間のような質問および回答を生成するのを助けることができる。コンテキストマネージャ２１８は、ユーザと人工知能フレームワーク１２８との間のマルチターンおよび長期の会話の一貫性を維持する。
【００３３】
識別は、関連性のある有用な情報のみについて、膨大な電子商取引データセットをポーリングするために推奨され得る。一例では、人工知能フレームワーク１２８は、検索コンポーネント２２０からの結果および検索コンポーネント２２０内のインテリジェンスを使用して、この情報を提供する。この情報は、コンテキストマネージャ２１８からの対話の履歴と組み合わせることが可能である。次に、人工知能フレームワーク１２８は、対話の次の順番を決定することができ、例えば、それが質問であるべきか、または例えば既存の見解もしくはユーザの意図を検証するための「根拠記述」であるべきか、またはアイテムの推薦であるべきか（または、例えば、３つすべての任意の組み合わせか）を決定し得る。これらの決定は、データセット、ユーザのチャット履歴、およびユーザの見解のモデルの組み合わせによって行われ得る。ＮＬＧコンポーネント２１２は、これらの決定に基づいて、ユーザへのテキストまたは音声による返信のための言葉を生成することができる。
【００３４】
本発明の主題によって提供される技術的解決策は、ユーザが自然な会話でインテリジェントオンラインパーソナルアシスタントとコミュニケーションすることを可能にする。アシスタントは、時間の経過とともに次第に特定のユーザの好みを理解し、幅広い製品についての知識が豊富になるため効率的である。様々な便利な入力様式であるが、ユーザは写真を共有すること、または音声またはテキストを使用することができ、そして支援されたユーザエクスペリエンスは、例えば、高級店で信頼できる知識豊富な人間の買い物アシスタントと話すことと類似であり得る。
【００３５】
従来、オンラインショッピングシステムにより使用されているアプローチとデータは、短期的な収益を最大化するために、無遠慮に単純化された仮定で、顔の見えない購買者のグループに狙いを定めている。従来のサイトやアプリは、ユーザがどのように、なぜ、そしていつ通知されたいのかを理解していない。通知は、迷惑であり、不適切であり、人間味がなく、各ユーザの好みに無関心なものであり得る。一人の個人は、単一のアカウントと同じではない。人々はアカウントとデバイスを共有する。パスワードはプラットフォームを安全にも使いやすくもしない。弱いオンラインアイデンティティおよび（デバイス、場所、異常な行動後の通知などのような）環境信号の無視の問題は、市場で詐欺行為をすることを容易にする。
【００３６】
図３Ａを参照して、音声認識コンポーネント２１０の図示された構成要素について説明する。特徴抽出構成要素は、生のオーディオ波形を、音を表すある次元の数ベクトルに変換するように動作する。この構成要素は、ディープラーニングを使用して、生の信号を高次元の意味空間に射影する。音響モデル構成要素は、音素および異音などの音声単位の統計モデルをホストするように動作する。ディープニューラルネットワークの使用は可能であるが、これらには混合ガウスモデル（ＧＭＭ）を含めることが可能である。言語モデル構成要素は、文法の統計モデルを使用して、単語を文にまとめる方法を定義する。このようなモデルは、Ｎグラムベースのモデルや、単語の埋め込みに基づいて構築されたディープニューラルネットワークを含み得る。音声−テキスト（ＳＴＴ）デコーダ構成要素は、音声発話を、隠れマルコフモデル（ＨＭＭ）フレームワークにおいて、特徴抽出構成要素、音響モデル構成要素、および言語モデル構成要素を使用して生信号から導出される特徴を通常利用する一連の単語に変換して、特徴シーケンスから単語シーケンスを導出することが可能である。一例では、クラウド内の音声−テキストサービス（例えば、データベース／クラウド１２６）は、音声サンプルを音声発話用に投稿し、対応する単語シーケンスを検索することを可能にするＡＰＩを有するクラウドフレームワーク内にデプロイされたこれらのコンポーネントを有する。制御パラメータは、音声−テキストプロセスをカスタマイズし、またはそれに影響を与えるために利用可能である。
【００３７】
人工知能フレームワーク１２８の一例では、音声認識コンポーネント２１０のための２つの追加部分、すなわち話者適応構成要素および言語モデル（ＬＭ）適応構成要素が提供される。話者適応構成要素は、ＳＴＴシステムのクライアント（例えば、音声認識コンポーネント２１０）が各話者／ユーザに対して特徴抽出構成要素および／または音響モデル構成要素をカスタマイズすることを可能にする。このことは、ほとんどの音声−テキストシステムが、ターゲット地域の話者の代表的なセットからのデータに基づいてトレーニングされ、通常、システムの精度はターゲット話者とトレーニングプールの話者の一致度に大きく依存するため、重要である可能性がある。話者適応構成要素は、ユーザのイントネーション、発音、アクセント、および他の音声ファクタの特異性を継続的に学習することによって音声認識コンポーネント２１０（およびその結果として人工知能フレームワーク１２８）が話者の変動に対してロバストになり、これらを音声依存構成要素、例えば、特徴抽出構成要素、および音響モデル構成要素に適用することを可能にする。このアプローチでは、各話者に対して小さな音声プロファイルを作成して永続化する必要があり得るが、一般に、精度の潜在的な利点はストレージの欠点をはるかに上回る。
【００３８】
ＬＭ適応構成要素は、ターゲットドメインからの新しい単語および代表的な文、例えばインベントリカテゴリまたはユーザペルソナを用いて言語モデル構成要素および音声−テキストボキャブラリをカスタマイズするように動作する。この能力は、新しいカテゴリおよびペルソナがサポートされるときに人工知能フレームワーク１２８が拡張性のあるものであることを可能にする。
【００３９】
図３Ｂは、人工知能フレームワーク１２８におけるテキスト正規化のためのフローシーケンス３０２を示す。一例では、フローシーケンス３０２を実行するテキスト正規化コンポーネントは、音声認識コンポーネント２１０に含まれる。フローシーケンス３０２における重要な機能は、（句読点、数字、大文字小文字などを扱うための）正字法の正規化、（頭字語、略語、不完全な断片、スラングなどを含む口語体のチャットタイプのテキストを扱うための）会話テキストの正規化、および（正規化された一連の外国語の単語を、例えば、英語を含むがこれに限定されない動作言語の一連の単語に変換するための）機械翻訳を含む。
【００４０】
人工知能フレームワーク１２８は現代のコミュニケーションを容易にする。例えばミレニアル世代は、写真、音声、およびテキストを介してコミュニケーションをすることをしばしば望む。人工知能フレームワーク１２８が複数のモダリティを使用する技術的能力は、単なるテキストの代わりに意図のコミュニケーションを可能にする。人工知能フレームワーク１２８は、技術的解決策を提供し、かつ効率的である。多くの場合、テキストよりも音声コマンドまたは写真を使用してスマートパーソナルアシスタントと対話する方が速い。
【００４１】
図４は、本明細書に記載の様々なハードウェアアーキテクチャと併せて使用することができる例示的なソフトウェアアーキテクチャ４０６を示すブロック図である。図４は、ソフトウェアアーキテクチャの非限定的な例であり、本明細書に記載の機能を容易にするために他の多くのアーキテクチャが実装され得ることが理解されよう。ソフトウェアアーキテクチャ４０６は、とりわけ、プロセッサ５０４、メモリ５１４、および入力／出力（Ｉ／Ｏ）コンポーネント５１８を含む、図５の機械５００などのハードウェア上で実行することができる。代表的なハードウェア層４５２が示されており、これは、例えば、図５の機械５００を表すことができる。代表的なハードウェア層４５２は、関連する実行可能な命令４０４を有する処理ユニット４５４を含む。実行可能な命令４０４は、本明細書に記載の方法、構成要素などの実装を含む、ソフトウェアアーキテクチャ４０６の実行可能な命令を表す。ハードウェア層４５２は、実行可能命令４０４も有するメモリおよび／または記憶モジュール、メモリ／記憶装置４５６も含む。ハードウェア層４５２は、他のハードウェア４５８も含むことができる。
【００４２】
図４の例示的アーキテクチャでは、ソフトウェアアーキテクチャ４０６は、各層が特定の機能を提供する層のスタックとして概念化することができる。例えば、ソフトウェアアーキテクチャ４０６は、オペレーティングシステム４０２、ライブラリ４２０、アプリケーション４１６、およびプレゼンテーション層４１４などの層を含むことができる。動作上、アプリケーション４１６および／または層内の他のコンポーネントは、ソフトウェアスタックを介してアプリケーションプログラミングインタフェース（ＡＰＩ）コール４０８を呼び出し、ＡＰＩコール４０８に応じて、応答を受け取ることができる。示された層は本質的に代表的なものであり、全てのソフトウェアアーキテクチャが全ての層を有するわけではない。例えば、いくつかのモバイルまたは特殊用途のオペレーティングシステムは、フレームワーク／ミドルウェア４１８を提供しないかもしれないが、他のものはそのような層を提供するかもしれない。他のソフトウェアアーキテクチャは、追加の層または異なる層を含み得る。
【００４３】
オペレーティングシステム４０２は、ハードウェアリソースを管理し、共通のサービスを提供することができる。オペレーティングシステム４０２は、例えば、カーネル４２２、サービス４２４、およびドライバ４２６を含み得る。カーネル４２２は、ハードウェアと他のソフトウェア層との間の抽象化層として機能することができる。例えば、カーネル４２２は、メモリ管理、プロセッサ管理（例えば、スケジューリング）、コンポーネント管理、ネットワーキング、セキュリティ設定などを担当してもよい。サービス４２４は、他のソフトウェア層に他の共通サービスを提供することができる。ドライバ４２６は、基礎となるハードウェアを制御またはインタフェースすることを担当する。例えば、ドライバ４２６は、ハードウェア構成に応じて、ディスプレイドライバ、カメラドライバ、ブルートゥース（登録商標）ドライバ、フラッシュメモリドライバ、シリアル通信ドライバ（例えば、ユニバーサルシリアルバス（ＵＳＢ）ドライバなど）、Ｗｉ−Ｆｉ（登録商標）ドライバ、オーディオドライバ、電源管理ドライバなどを含み得る。
【００４４】
ライブラリ４２０は、アプリケーション４１６および／または他のコンポーネントおよび／または層によって使用される共通のインフラストラクチャを提供する。ライブラリ４２０は、他のソフトウェアコンポーネントが、基礎となるオペレーティングシステム４０２の機能（例えば、カーネル４２２、サービス４２４、および／またはドライバ４２６）と直接インタフェースするよりも簡単な方法でタスクを実行することを可能にする機能を提供し得る。ライブラリ４２０は、メモリ割り当て機能、文字列操作機能、数学的機能などの機能を提供することができるシステムライブラリ４４４（例えば、Ｃ標準ライブラリ）を含むことができる。さらに、ライブラリ４２０は、メディアライブラリ（例えば、ＭＰＲＥＧ４、Ｈ．２６４、ＭＰ３、ＡＡＣ、ＡＭＲ、ＪＰＧ、およびＰＮＧなどの様々な既知のメディアフォーマットの提示および操作をサポートするためのライブラリ）、グラフィックライブラリ（例えば、ディスプレイ上に２Ｄおよび３Ｄグラフィックコンテンツをレンダリングするために使用できるＯｐｅｎＧＬフレームワーク）、データベースライブラリ（例えば、様々なリレーショナルデータベース機能を提供できるＳＱＬｉｔｅ）、ウェブライブラリ（例えば、ウェブブラウジング機能を提供することができるＷｅｂＫｉｔ）などのＡＰＩライブラリ４４６を含むことができる。ライブラリ４２０は、アプリケーション４１６および他のソフトウェアコンポーネント／モジュールに、他の多くのＡＰＩを提供するための多種多様な他のライブラリ４４８も含み得る。
【００４５】
フレームワーク、フレームワーク／ミドルウェア４１８（ミドルウェアとも呼ばれる）は、アプリケーション４１６および／または他のソフトウェアコンポーネント／モジュールによって使用され得るより高いレベルの共通インフラストラクチャを提供し得る。例えば、フレームワーク／ミドルウェア４１８は、様々なグラフィックユーザインタフェース（ＧＵＩ）機能、高レベルのリソース管理、高レベルの位置特定サービスなどを提供することができる。フレームワーク／ミドルウェア４１８は、アプリケーション４１６および／または他のソフトウェアコンポーネント／モジュール（それらのうちのいくつかは特定のオペレーティングシステムまたはプラットフォームに固有のもの）によって利用され得る広範囲の他のＡＰＩを提供し得る。
【００４６】
アプリケーション４１６は、ビルトインアプリケーション４３８および／またはサードパーティアプリケーション４４０を含む。代表的なビルトインアプリケーション４３８の例は、連絡先アプリケーション、ブラウザアプリケーション、ブックリーダーアプリケーション、ロケーションアプリケーション、メディアアプリケーション、メッセージングアプリケーション、および／またはゲームアプリケーションを含み得るが、それらに限定されない。サードパーティアプリケーション４４０は、特定のプラットフォームのベンダ以外のエンティティによるＡＮＤＲＯＩＤ（登録商標）またはＩＯＳ（登録商標）ソフトウェア開発キット（ＳＤＫ）を用いて開発された任意のアプリケーションを含み得、ＩＯＳ（登録商標）、ＡＮＤＲＯＩＤ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）フォン、または他のモバイルオペレーティングシステムなどのモバイルオペレーティングシステム上で実行されるモバイルソフトウェアであり得る。サードパーティアプリケーション４４０は、本明細書で説明されている機能を容易にするために、（オペレーティングシステム４０２などの）モバイルオペレーティングシステムによって提供されるＡＰＩコール４０８を呼び出すことができる。
【００４７】
アプリケーション４１６は、ビルトインオペレーティングシステム機能（例えば、カーネル４２２、サービス４２４および／またはドライバ４２６）、ライブラリ４２０、およびフレームワーク／ミドルウェア４１８を使用して、システムのユーザと対話するためのユーザインタフェースを生成することができる。代替的に、または追加で、いくつかのシステムでは、ユーザとの対話は、プレゼンテーション層４１４などのプレゼンテーション層を介して行われ得る。これらのシステムでは、アプリケーション／コンポーネントの「ロジック」は、ユーザと対話するアプリケーション／コンポーネントの態様から切り離すことが可能である。
【００４８】
一部のソフトウェアアーキテクチャは、仮想マシンを使用している。図４の例では、これは仮想マシン４１０によって示されている。仮想マシン４１０は、アプリケーション／コンポーネントがハードウェアマシン（例えば、図５の機械５００など）上で実行されているかのように実行することができるソフトウェア環境を生成する。仮想マシン４１０は、ホストオペレーティングシステム（図４のオペレーティングシステム（ＯＳ）４３６）によってホストされ、通常、必ずというわけではないが、仮想マシンの動作ならびにホストオペレーティングシステム（例えば、オペレーティングシステム４０２）とのインタフェースを管理する仮想マシンモニタ４６０を有する。オペレーティングシステム、オペレーティングシステム（ＯＳ）４３６、ライブラリ４３４、フレームワーク４３２、アプリケーション４３０、および／またはプレゼンテーション層４２８などのソフトウェアアーキテクチャが仮想マシン４１０内で実行される。仮想マシン４１０内で実行されるソフトウェアアーキテクチャのこれらの層は、前述の対応する層と同じでもよく、または異なってもよい。
【００４９】
図５は、機械可読媒体（例えば、機械可読記憶媒体）から命令を読み取り、本明細書で論じる方法の任意の１つまたは複数を実行することができる、いくつかの例示的な実施形態による機械５００の構成要素を示すブロック図である。具体的には、図５は、その中で機械５００に本明細書で論じられる方法のうちの任意の１つまたは複数を実行させるための命令５１０（例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、または他の実行可能なコード）が実行され得るコンピュータシステムの例示の形態における機械５００の概略図を示す。したがって、命令は、本明細書に記載のモジュールまたはコンポーネントを実装するために使用され得る。命令は、一般的なプログラムされていない機械を、説明された方法で説明され図示された機能を実行するようにプログラムされた特定の機械に変換する。代替の実施形態では、機械５００は、スタンドアロンデバイスとして動作するか、または他の機械に結合されてもよい（例えばネットワーク接続されてもよい）。ネットワーク化されたデプロイメントでは、機械５００は、サーバ−クライアントネットワーク環境ではサーバ機器またはクライアント機器のキャパシティで、またはピアツーピア（または分散）ネットワーク環境ではピア機器として動作することができる。機械５００は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ（ＰＣ）、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス（ＳＴＢ）、パーソナルデジタルアシスタント（ＰＤＡ）、エンターテイメントメディアシステム、携帯電話、スマートフォン、モバイルデバイス、ウェアラブルデバイス（例えばスマートウォッチ）、スマートホームデバイス（例えばスマート電化製品）、その他のスマートデバイス、ウェブ電化製品、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、または機械５００によってとられるべき動作を指定する命令５００を順次または他の方法で実行することができる任意の機械を含み得るが、これに限定されない。さらに、単一の機械５００のみが示されているが、「機械」という用語は、命令５１０を個別にまたは共同で実行して本明細書で論じる方法のうちの任意の１つまたは複数を実行する機械の集合も含むものと解釈されよう。
【００５０】
機械５００は、バス５０２を介するなどして互いに通信するように構成され得るプロセッサ５０４、メモリ／記憶装置５０６、およびＩ／Ｏコンポーネント５１８を含み得る。メモリ／記憶装置５０６は、メインメモリなどのメモリ５１４、または他のメモリ記憶装置、およびストレージユニット５１６を含むことができ、両方ともバス５０２を介するなどして、プロセッサ５０４にアクセス可能である。記憶装置５１６およびメモリ５１４は、本明細書に記載の方法または機能のうちの任意の１つまたは複数を具体化する命令５１０を格納する。命令５１０は、機械５００によるその実行中、メモリ５１４内、記憶装置ユニット５１６内、プロセッサ５０４のうちの少なくとも一つ内（例えば、プロセッサのキャッシュメモリ内）、またはそれらの任意の適切な組合せ内に、完全にまたは部分的に存在し得る。したがって、メモリ５１４、記憶装置ユニット５１６、およびプロセッサ５０４のメモリは、機械可読媒体の例である。
【００５１】
Ｉ／Ｏコンポーネント５１８は、入力を受信し、出力を提供し、出力を生成し、情報を送信し、情報を交換し、測定値を捕捉するなどのための多種多様な構成要素を含み得る。特定の機械に含まれる特定のＩ／Ｏコンポーネント５１８は、機械の種類に依存する。例えば、携帯電話などの携帯機器は、タッチ入力デバイスまたは他のそのような入力機構を含む可能性があり、ヘッドレスサーバ機器は、そのようなタッチ入力デバイスを含まない可能性が高いであろう。Ｉ／Ｏコンポーネント５１８は、図５には示されていない他の多くの構成要素を含み得ることが理解されよう。Ｉ／Ｏコンポーネント５１８は、単に以下の説明を単純化するために機能に従ってグループ化されており、そのグループ化は決して限定的なものではない。様々な例示的実施形態では、Ｉ／Ｏコンポーネント５１８は出力コンポーネント５２６および入力コンポーネント５２８を含み得る。出力コンポーネント５２６は、視覚的構成要素（例えば、プラズマディスプレイパネル（ＰＤＰ）、発光ダイオード（ＬＥＤ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、プロジェクタ、または陰極線管（ＣＲＴ））、音響部品（例えばスピーカ）、触覚部品（例えば振動モータ、抵抗機構）、その他の信号発生器などを含み得る。入力コンポーネント５２８は、英数字入力構成要素（例えば、キーボード、英数字入力を受け取るように構成されたタッチスクリーン、フォトオプティカルキーボード、または他の英数字入力構成要素）、ポイントベースの入力構成要素（例えば、マウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサ、またはその他のポインティングデバイス）、触覚入力コンポーネント（例えば、物理ボタン、タッチまたはタッチジェスチャの位置および／または力を提供するタッチスクリーン、またはその他の触覚入力構成要素）、音声入力部品（例えば、マイク）などを含み得る。
【００５２】
さらなる例示的実施形態では、Ｉ／Ｏコンポーネント５１８は、他の様々なコンポーネントの中で、バイオメトリックコンポーネント５３０、モーションコンポーネント５３４、環境コンポーネント５３６、または位置コンポーネント５３８を含み得る。例えば、バイオメトリックコンポーネント５３０は、表情（例えば、手の表情、顔の表情、声の表情、身体のジェスチャ、または目の動き）を検出し、生体信号（例えば、血圧、心拍数、体温、発汗、または脳波）を測定し、人物を識別（例えば、音声識別、網膜識別、顔識別、指紋識別、または脳波に基づく識別）する等のための構成要素を含み得る。モーションコンポーネント５３４は、加速度センサ構成要素（例えば、加速度計）、重力センサ構成要素、回転センサ構成要素（例えば、ジャイロスコープ）などを含み得る。環境コンポーネント５３６は、例えば、照明センサ構成要素（例えば、光度計）、温度センサ構成要素（例えば、周囲温度を検出する１つまたは複数の温度計）、湿度センサ構成要素、圧力センサ構成要素（例えば、気圧計）、音響センサ構成要素（例えば、背景雑音を検出する１つまたは複数のマイクロホン）、近接センサ構成要素（例えば、近くの物体を検出する赤外線センサ）、ガスセンサ（例えば、安全のために有害ガスの濃度を検出、または大気中の汚染物質を測定するためのガス検出センサ）、または周囲の物理的環境に対応する標示、測定値、または信号を提供することができる他の構成要素を含み得る。位置コンポーネント５３８は、位置センサ構成要素（例えば、全地球測位システム（ＧＰＳ）受信機部品）、高度センサ構成要素（例えば、高度が導出され得る気圧を検出する高度計または気圧計）、方位センサ構成要素（例えば、磁力計）などを含み得る。
【００５３】
通信は、多種多様な技術を使用して実装することができる。Ｉ／Ｏコンポーネント５１８は、カップリング５２２およびカップリング５２４を介してそれぞれ機械５００をネットワーク５３２またはデバイス５２０に結合するように動作可能な通信コンポーネント５４０を含み得る。例えば、通信コンポーネント５４０は、ネットワーク５３２とインタフェースするためのネットワークインタフェース構成要素または他の適切なデバイスを含み得る。さらなる例では、通信コンポーネント５４０は、有線通信構成要素、無線通信構成要素、セルラー通信構成要素、近距離無線通信（ＮＦＣ）構成要素、Ｂｌｕｅｔｏｏｔｈ（登録商標）構成要素（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）ＬｏｗＥｎｅｒｇｙ）、Ｗｉ−Ｆｉ（登録商標）構成要素、および他のモダリティを介して通信を提供するための他の通信構成要素を含み得る。デバイス５２０は、他の機械または多種多様な周辺デバイス（例えば、ユニバーサルシリアルバス（ＵＳＢ）を介して結合された周辺デバイス）のうちのいずれかであってよい。
【００５４】
さらに、通信コンポーネント５４０は、識別子を検出するか、または識別子を検出するように動作可能な構成要素を含み得る。例えば、通信コンポーネントプロセッサ、通信コンポーネント５４０は、無線周波数識別（ＲＦＩＤ）タグリーダ構成要素、ＮＦＣスマートタグ検出構成要素、光学式リーダ構成要素（例えば、ユニバーサルプロダクトコード（ＵＰＣ）バーコード、ＱｕｉｃｋＲｅｓｐｏｎｓｅ（ＱＲ）コード、Ａｚｔｅｃコード、Ｄａｔａ Ｍａｔｒｉｘ、Ｄａｔａｇｌｙｐｈ、ＭａｘｉＣｏｄｅ、ＰＤＦ４１７、ＵｌｔｒａＣｏｄｅ、ＵＣＣ ＲＳＳ−２Ｄバーコード、およびその他の光学コードなどの１次元バーコードなどの１次元バーコードを検出するための光学センサ）、または音響検出コンポーネント（例えば、タグ付きオーディオ信号を識別するためのマイク）を含み得る。さらに、通信コンポーネント５４０を介して、インターネットプロトコル（ＩＰ）ジオロケーションによる位置、Ｗｉ−Ｆｉ（登録商標）信号三角測量による位置、特定の位置を示すことができるＮＦＣビーコン信号を検出することによる位置などのような、様々な情報が導出され得る。
【００５５】
ここで図６を参照すると、インテリジェントパーソナルアシスタントシステム１０６によって提供されるインテリジェントオンラインパーソナルアシスタントをデプロイすることができる例示的な環境６００が示されている。環境６００の中心に、ＡＩを有するインテリジェントボット６０２が示されている。ボットは、コンピュータビジョンコンポーネント２０８、音声認識コンポーネント２１０、ＮＬＵコンポーネント２１４、ダイアログマネージャ２１６、ＮＬＧコンポーネント２１２、検索コンポーネント２２０、およびアイデンティティサービス２２２を利用して、効率的で、興味深く、効果的なダイアログにユーザを参加させ、彼らの意図を解読し、パーソナライズされた結果を提供する。
【００５６】
関連付けられたアプリケーション６０４は、魅力的なモバイル設計機能および要素を備えたボット６０２の全能力および知能を紹介することが可能である。ファブリック６０６は、フェイスブックメッセンジャー（登録商標）、Ｓｋｙｐｅ（登録商標）およびＣｏｒｔａｎａ（登録商標）（例えば）と統合されて、ユーザがすでに時間を費やしている場所で取引することを可能にする。スマート通知６１０プラットフォームは、任意の数のチャネル（例えば、ＳＭＳ、プッシュ通知、電子メール、メッセージング）を介して適切なタイミングで適切な情報をユーザに配信し、ユーザがボット６０２および関連市場に関わることを促す。コミュニティ６０８の機能により、ユーザは、自分の時間の大部分を既に費やしている同じメッセージングシステムを使用して、友達、テイストメーカー（流行を作り出す人）、およびブランドと接続し、関与し、対話することができる。その他の機能は、グループ購入とギフト購入を含む。リワード６１２プラットフォームは、ボット６０２により深く関与することをユーザに奨励する。リワードは、製品の大幅な割引、ユニークなインベントリへのアクセス、スコア、レベルなどによるアプリ内の認識などを含み得る。マーケティング６１４では、より個人的な方法で、ある人々（例えば、ミレニアル世代）の注目を集めるために、伝統的、社会的、その他のマーケティングの組み合わせが行われる。従来の技術は、販売方法、電子メール、検索エンジン最適化（ＳＥＯ）、および検索エンジンマーケティング（ＳＥＭ）、ならびに新規および既存のユーザをターゲットとしたソーシャル広告、バイラルクーポンなどの実験的技術を含み得る。
【００５７】
図７は、電子市場においてアイテム推薦を生成するために自然言語ユーザ入力を処理するインテリジェントパーソナルアシスタントシステム１０６の概要を示す。インテリジェントパーソナルアシスタントシステム１０６はこの使用シナリオに限定されないが、この状況において特に有用であり得る。前述のように、テキスト、画像、および音声データの任意の組み合わせが、人工知能フレームワーク１２８によって受信され得る。画像データは、コンピュータビジョンコンポーネント２０８によって処理されて、画像属性データを提供することができる。音声データは、音声認識コンポーネント２１０によってテキストへと処理されてもよい。
【００５８】
これらの入力および他のすべては、分析のためにＮＬＵコンポーネント２１４に提供され得る。ＮＬＵコンポーネント２１４は、ユーザ入力を解析し、ユーザの意図および意図に関連するパラメータを判定するのを助けるように動作することができる。例えば、ＮＬＵコンポーネント２１４は、ユーザの関心のある主要なオブジェクト、およびその主要なオブジェクトに関連する様々な属性および属性値を識別することができる。ＮＬＵコンポーネント２１４は、ユーザ入力タイプ（例えば、質問または発言）およびターゲットアイテムの受取人などの他のパラメータを判定することもできる。ＮＬＵコンポーネント２１４は、抽出されたデータをダイアログマネージャ２１６、ならびに前述のＡＩオーケストレータ２０６に提供することができる。
【００５９】
ＮＬＵコンポーネント２１４は、一般に、フォーマルな、およびインフォーマルな自然言語ユーザ入力を、よりフォーマルな、機械可読の、ユーザのクエリの構造化された表現に変換することができる。その形式化されたクエリは、ダイアログマネージャ２１６によってさらに強化することが可能である。ひとつのシナリオでは、ＮＬＵコンポーネント２１４は、マルチターン対話型ダイアログにおいてダイアログマネージャ２１６からの機械生成プロンプトに応答して、元のクエリおよびユーザによって提供されるさらなるデータを含む一連のユーザ入力を処理する。このユーザ−機械対話は、電子市場で購入可能な最も関連性のあるアイテムについての１つまたは複数の自動検索の効率および精度を向上させることができる。検索は、検索コンポーネント２２０によって実行され得る。
【００６０】
ユーザの意図を抽出することは、どのようなさらなるアクションが必要であるか判定する上でＡＩボットにとって非常に役立つ。あるｅコマース関連の例では、最も高いレベルでは、ユーザの意図は、ショッピング、雑談（chit-chat）、ジョーク、天気などであり得る。ユーザの意図が買い物である場合、それは、特定の買い物ミッションの探求、ユーザ以外のターゲット受取人にアイテムを贈ること、または単に購入可能なアイテムの一覧を閲覧することに関連し得る。高位の意図が識別されると、人工知能フレームワーク１２８は、ユーザが何を探しているのか、すなわち、要求は広いのか（例えば、靴、ドレス）、あるいはもっと具体的なのか（例えば、２組の新しい黒のＮｉｋｅ（登録商標）のサイズ１０のスニーカー）、それとも中間のどこかであるのか（例えば、黒のスニーカー）の判定を課せられる。
【００６１】
この分野における従来技術に対する新規で明確な改善では、人工知能フレームワーク１２８は、利用可能な所望のアイテムを最もよく特徴付ける、カテゴリ、属性、および属性値などの特定の主要なディメンションにユーザ要求をマッピングすることができる。これにより、ボットは、必要に応じて検索条件をさらに絞り込むためにユーザに関与する能力を与えられる。例えば、ユーザがドレスに関する情報をボットに要求した場合、詳細が必要な上位の属性は、色、素材、およびスタイルであり得る。さらに、時間の経過とともに、機械学習は、より深い意味論およびより広い「世界知識（world knowledge）」をシステムに追加して、ユーザの意図をよりよく理解することができる。例えば、「私はイタリアでの６月の結婚式のためのドレスを探しています」という入力は、そのドレスが所与の時期および場所における特定の気象条件に適しているべきであり、フォーマルな場面にも適しているべきであることを意味している。別の例としては、ユーザがボットに「私の甥のための贈り物」を尋ねることが挙げられる。訓練されると、人工知能フレームワーク１２８は、贈り物が特別なタイプの意図であること、ターゲット受取人が「甥」の意味に基づく男性であること、およびターゲット受取人の年齢、機会、趣味などの属性が明確にされるべきことを理解するだろう。
【００６２】
図８は、いくつかの例示的実施形態による、ＮＬＵコンポーネント２１４、そのサブコンポーネント、およびそれが対話する他の構成要素を示す。いくつかの実施形態において、ユーザの意図の抽出は、ＮＬＵコンポーネント２１４によって、このしばしば複雑である技術的問題を複数の部分に分解することによって実行される。ユーザの意図を抽出するという問題全体のうちの様々な部分の各々は、時には別々に、そして時には組み合わせて、ＮＬＵコンポーネント２１４の特定のサブコンポーネントによって処理され得る。
【００６３】
サブコンポーネントは、例えば、スペル訂正器（スペラー）８０２、機械翻訳器（ＭＴ）８０４、構文解析器８０６、ナレッジグラフ８０８、固有表現認識（Named Entity Recognition）（ＮＥＲ）サブコンポーネント８１０、語義検出器（ＷＳＤ）８１２、意図検出器８１３、およびインタプリタ８１４を含み得る。ＮＬＵコンポーネント２１４は、一実施形態では、例えば、ＡＩオーケストレータ２０６を介して、テキスト、視覚的セレクタ、および画像属性を受信し、それぞれ別々にまたは組み合わせて処理することができる。視覚的セレクタは、典型的には、提示された多数の色見本からの色の選択、または関連し、したがって選択された精神状態を有する顔文字の選択など、ユーザによって提供されるグラフィカルな選択である。ＮＬＵコンポーネント２１４は、一実施形態では、説明されるその様々な出力をＡＩオーケストレータ２０６に提供して、ダイアログマネージャ２１６などの人工知能フレームワーク１２８の他のコンポーネントに配信されるようにできる。
【００６４】
ＮＬＵコンポーネント２１４によって考慮される他の入力は、（例えば、コンテキストマネージャ２１８からの）ダイアログコンテキスト８１６、（例えば、アイデンティティサービス２２２からの）ユーザ識別情報８１８、（例えば、電子市場のコア検索エンジン２２０機能からの）アイテムインベントリ関連情報８２０、およびユーザ入力からのユーザの意図の意味的推論を改善するための外部の世界知識８２２を含み得る。これらの入力の異なる種類の分析は、全体として解釈され、かつナレッジグラフ８０８を介して調整されることが可能な結果をそれぞれ生み出すことができる。ナレッジグラフ８０８は、例えば過去のユーザの対話、インベントリ関連データ、またはその両方に基づいていてもよい。
【００６５】
スペラー８０２は、ユーザにより入力されたテキスト内のスペルミスを識別し訂正することができる。ユーザテキストは、ユーザクエリおよびアイテムタイトルを含み得るが、それらに限定されない。機械翻訳器８０４は、任意選択で、ユーザの自然言語からのユーザ入力を、例えば英語を含むがこれに限定されない動作言語に翻訳することができる。スペラー８０２および機械翻訳器８０４は、他の正規化サブコンポーネントおよび／または構文解析器８０６と協調して、分析を改善するために、略語、頭字語、およびスラングを、よりフォーマルなデータへと処理することができる。
【００６６】
構文解析器（または係り受け解析器）８０６は、ユーザの入力クエリの主要なオブジェクトを見つけることによってユーザの意図を検出するのを助けることができる。このプロセスは、構文解析器が、マルチターンダイアログなどからのユーザ入力における前置詞ならびに直接および間接の目的語、動詞、ならびに肯定および否定を含む名詞句を識別および分析することを含み得る。肯定および否定は、いくつかの実施形態では意図検出器サブコンポーネント８１３において、または語義検出器８１２などの異なるサブコンポーネントによって検出され得る。
【００６７】
一実施形態では、構文解析器８０６は、完全に分解することができるユーザ入力の最長フラグメントから、ユーザの関心のある主要なオブジェクトを見つける。構文解析器８０６は、「こんにちは」および「私を助けてもらえますか」などの、少ない内容のユーザ入力語を破棄すること、および／または機械を混乱させることが少ないフレーズでそれらを置き換えることもできる。構文解析器８０６はまた、様々な機会（例えば、結婚式、母の日など）を認識することができる。
【００６８】
意図検出器８１３は、関心のある主要なオブジェクト（必ずではないが通常はアイテムカテゴリである）および構文解析器８０６によって示唆された結果に対するそれぞれの最良の属性を識別することによって、ユーザの意図の識別をさらに絞り込むことができる。例えば、ユーザの意図が特定のアイテムを買うことである場合、ナレッジグラフ８０８は、それがマッピングされる所与のアイテムインベントリ（例えば、ｅＢａｙインベントリ、またはデータベース／クラウド１２６）内の主要アイテムカテゴリを使用することができる。ナレッジグラフ８０８は、そのアイテムカテゴリに関係する主要な（例えば、アイテムインベントリにおいて最も頻繁にユーザに照会される、または最も頻繁に発生する）アイテム属性、およびそれらの属性に対する主要な値を使用することもできる。したがって、ＮＬＵコンポーネント２１４は、その出力として、主要なオブジェクト、ユーザ意図、およびユーザクエリに関連する可能性が高いディメンションに沿って定式化されるナレッジグラフ８０８を提供することができる。この情報は、ユーザのクエリをアイテムの推薦に完全に分解するのに必要な情報、したがって追加の入力を介してユーザの要求をさらに絞り込むようにユーザに促すかどうか（そしてその方法）が欠けている場合に、ダイアログマネージャ２１６の助けとなり得る。
【００６９】
ナレッジグラフ８０８の背景情報は、人手で集められたカタログから導出された情報と、過去のユーザの行動から抽出された情報（例えば、一定期間にわたる電子市場との以前のユーザ対話すべての履歴）との混合として、アイテムインベントリから抽出され得る。ナレッジグラフは、インターネット百科事典（例えば、ウィキペディア）、オンライン辞書、シソーラス、および語彙データベース（例えば、ＷｏｒｄＮｅｔ）などの外部の情報源から抽出された世界知識も含み得る。例えば、用語類似性および関係性に関するデータは、女の子、娘、姉妹、女性、叔母、姪、祖母、および母親という用語がすべて女性および異なる特定の相対家族関係を指すことを判定するために利用可能であり得る。これらの追加の関連付けは、その意味、またはユーザのクエリ用語の意味を明確にし、ボットを教育するがユーザを困惑させるようなプロンプトの生成を防ぐのに役立ち得る。フォーカスグループの調査によると、一部のユーザはプロンプトに対し、所定の回数、例えば３回を超えて回答することを望まないことが示されており、そのため、これらのプロンプトの各々はできるだけ鋭いものであるべきである。
【００７０】
ナレッジグラフ８０８は、いくつかの実施形態では、例えばＡＩオーケストレータ２０６によって動的に更新され得る。すなわち、アイテムインベントリが変化した場合、または新しいユーザ行動または新しい世界知識データがユーザ検索の成功をもたらした場合、インテリジェントオンラインパーソナルアシスタント１０６は、将来のユーザ検索のためにそれらの変更を利用することができる。学習するアシスタントは、特にそれらのユーザが広範な会話に傾く傾向が少ないため、さらなるユーザ対話を促進し得る。したがって、実施形態は、ナレッジグラフ８０８を修正して、それが含み、かつＮＬＵコンポーネント２１４内の他のサブコンポーネント、および外部の例えばダイアログマネージャ２１６の両方と共有する情報を調整することができる。
【００７１】
ＮＥＲサブコンポーネント８１０は、解析されたユーザ入力からより深い情報（例えば、ブランド名、サイズ情報、色、および他の記述子）を抽出し、ユーザ自然言語クエリを、そのような解析されたデータ要素を含む構造化されたクエリに変換するのを助けることができる。ＮＥＲサブコンポーネントは、世界知識を活用して、抽出された用語の意味を分解するのを助けることもできる。例えば、「ボルドー」に対するクエリは、そのクエリ用語が、アイテムカテゴリ（ワイン）、属性（タイプ、色、原産地）、およびそれぞれの対応する属性値（ボルドー、赤、フランス）を指し得ることをオンライン辞書および百科事典から、より成功裏に判定できる。同様に、地名（例えば、タホ湖）は、ユーザが関連アイテムを見つけるのを助けることができる所与の地理的位置、天気データ、文化情報、相対コスト、および人気のアクティビティに対応し得る。構造化クエリ深度（例えば、所与のユーザ発話長に対し分解されたタグの数）は、ダイアログマネージャ２１６が、検索コンポーネント２２０によって実行される検索におけるランク付けを改善するためにどのようなさらなるアクションを取るべきかを選択するのを助けることができる。
【００７２】
語義検出器８１２は、多義的である、すなわち文脈に基づいて異なる複数の意味を有する単語を処理することができる。例えば、入力用語「ｂａｎｋ」は、地理的な意味での「土手」または購入取引支払いの意味での「金融機関」を指し得る。語義検出器８１２は、そのような単語を検出し、語義があいまいなままである場合には、ダイアログマネージャ２１６をトリガして、ユーザからさらなる解決を求めることができる。語義検出器８１２または意図検出器サブコンポーネント８１３は、それぞれ、「もっと見せて下さい」または「いいえ、それは好みません」などを含むがこれらに限定されない例示的なフレーズから肯定および否定を識別することもできる。したがって、構文解析器８０４、意図検出器８１３、および語義検出器８１２の機能は、特定の実装形態に応じて、ある程度重複するかまたはある程度相互に作用することができる。
【００７３】
インタプリタ８１４は、様々なＮＬＵサブコンポーネントから来る分析された情報を調整し、出力を準備する。出力は、例えば、ユーザクエリの主要なオブジェクト、ならびに関連ナレッジグラフのディメンション（例えば、アイテムカテゴリ、アイテム属性、アイテム属性値）に関して分解された情報、ユーザの意図（例えば、ショッピングの場合、特定のアイテムを購入するか、贈り物を探すか、または一般的な閲覧か）、認識されたユーザステートメントの種類、意図されたターゲットアイテムの受取人などを含み得る。共有され、拡張され、そして処理されたユーザ入力に対して行われる個々の分析の組み合わせを通して、人工知能フレームワーク１２８の構成要素は、ユーザの意図を理解し、かつ広範囲の製品について精通している信頼できるパーソナルショッパー（ボット）を提供する。したがって、ＮＬＵコンポーネント２１４は、自然言語のユーザクエリを構造化されたクエリに変換して、最も関連性の高い結果をユーザに提供するのを助ける。
【００７４】
したがって、ＮＬＵコンポーネント２１４は、ミスを減らし、ユーザクエリの根底にあるユーザの意図を正しく予知する可能性を高め、より速くより的を絞った検索およびアイテムの推薦を生成することによって、インテリジェントパーソナルアシスタントシステム１０６の動作全体を改善する。ＮＬＵコンポーネント２１４は、特にマルチターンダイアログシナリオにおけるダイアログマネージャ２１６と共に、よりユーザ対話履歴に焦点を当てた、および／またはアイテムインベントリに焦点を当てた検索クエリを提供して実行することによって、検索コンポーネント２２０の動作を効果的に管理する。この際立った機能は、記載されているような要素の特定の規則化された組み合わせによって現在の技術水準を超えている。
【００７５】
より一般的にはユーザからの入力データを処理するためのＮＬＵコンポーネント２１４およびインテリジェントパーソナルアシスタントシステム１０６の使用の例が説明される。ユーザは、「妻のためにサングラスを探しています」のような発言を提供し得る。ＮＬＵコンポーネント２１４は、この自然言語のユーザ入力を処理して、検索エンジン２２０および／またはダイアログマネージャ２１６に提供されるべき、よりフォーマルなクエリを生成することができる。よりフォーマルなクエリは、１つまたは複数の分解されたハンドルのそれぞれを、対応する分解された値と関連付けるタグのグループを含み得る。例えば、よりフォーマルなクエリは、「＜意図：贈与、発言タイプ：発言、主要オブジェクト：サングラス、ターゲット：妻、ターゲットジェンダー：女性＞」を含み得る。検索エンジンは、これらのタグの検索に基づいて、もともと提示されたユーザ入力の検索から得られる結果よりも、さらに関連性の高い結果を提供し得る。
【００７６】
この例では、インテリジェントパーソナルアシスタントシステム１０６は、ユーザの意図が（単なるセルフショッピングまたはブラウズに対して）贈り物であり、ユーザが（質問に対して）発言を提供したこと、およびユーザの関心がある主要なオブジェクトがサングラスであることを判定する。ユーザは買い物をしているが、その意図は、アイテムを特定のターゲットアイテム受取人である彼の妻に贈ることである。贈り物ミッションは、一般的なインベントリ閲覧またはユーザによるユーザのためのアイテムの購入とは多少異なる扱いを受け得る特別なタイプのショッピングミッションであることが知られている。
【００７７】
インテリジェントパーソナルアシスタントシステム１０６は、典型的には、固有表現認識サブコンポーネント８１０によって、「妻」が女性を指すことを認識することもできる。ターゲットとされたアイテム受取人である特定の個人は、例えば、アイデンティティサービス２２２によって提供されたデータから見つけることができる。さらに、世界知識を使用して、インテリジェントパーソナルアシスタントシステム１０６は、「妻」という用語が既婚女性を指しており、子供は一般に未婚であると判定することができる。この情報は、同じ情報を取得するためにユーザに要求することなく、より関連性の高いアイテム推薦を生成するために、他の種類のサングラス（例えば、男性用サングラス、子供用サングラス）に対し、女性のサングラスに検索を制限するのに役立ち得る。
【００７８】
図９は、いくつかの例示的実施形態による、さまざまな分析の結果を示す。一例では、ユーザは、テキスト入力「こんにちは、私に１組の赤いｎｉｋｅｙの靴を見つけてくれませんか？」とタイプし得る。結果として生じるフォーマルなクエリは、「＜意図：買い物、発言タイプ：質問、主要オブジェクト：靴、ターゲット：自己、色：赤、ブランド：ｎｉｋｅ＞」を含むことができる。ここでは、ユーザ入力は質問であり、ユーザは（単にアイテムインベントリを閲覧すること、または他の誰かへの贈り物を探すこととは対照的に）特定のアイテムの買い物をしている。構文解析器８０６は、「こんにちは、私に見つけてくれませんか」という用語は、有用なコンテンツを多くは提供しないので、無視することが可能であることを判定することができる。
【００７９】
スペラーサブコンポーネント８０２は、「ｎｉｋｅｙ」が用語「ｎｉｋｅ（ナイキ）」の既知のスペルミスであると判定し、適切に訂正することができる。構文解析器サブコンポーネント８０６は、動詞、前置詞、および名詞句を識別することによって正規化された入力データを文法的に分析することができる。個々の単語間の文法的関係は、ある単語が別の単語にどのように係り受けするか、またはそれを修飾するかを示すことができ、この情報はユーザクエリを変換するための手がかりを提供し得る。
【００８０】
構文解析器サブコンポーネント８０６は、名詞句のチャンキングを実行し、最も長い解析済みクエリフラグメント「赤いナイキの靴」から、ユーザの関心の主要なオブジェクトが靴であることを識別することができる。すなわち、靴は、最も多数の修飾語の対象であると判定され、結果として得られるチャンキング構造の最も深いレベルにある。主要オブジェクトは多くの場合アイテムのカテゴリであるが、必ずしも常にそうであるとは限らないことに注意されたい。ここでの主要オブジェクトは、固有表現認識器８１０がそれぞれ色およびブランドに関連して判定することができる修飾語（「赤」および「ｎｉｋｅ（ナイキ）」）によっても説明される。
【００８１】
この例では２つの属性（色、ブランド）と対応する属性値（赤、ナイキ）が主要オブジェクトに対して提供されているが、前述の例では、せいぜい１つの属性しか提供されていなかった（例えば、女性のサングラスは推論によって間接的に指定されていた）ことに留意されたい。結果として、ダイアログマネージャ２１６は、適切なプロンプトが、後続の検索をさらに絞り込む可能性のある追加の条件をユーザに尋ねる質問ではなく、１つまたは複数のアイテム推薦であることが可能なほど十分にユーザのもともとのクエリが制約されていると判断し得る。対照的に、前のクエリでは、女性のサングラスに関するより詳細な情報が必要となる可能性があるので、ダイアログマネージャ２１６は、その目的のためにマルチターンダイアログでいくつかのプロンプトを生成することが可能である。しかしながら、あるユーザは、大量のプロンプトに悩まされており、毎ターンそれ自身でより多くの情報を抽出することができるボットを扱うことを好むかもしれない。したがって、各ユーザ発話からできるだけ多くの情報を収集することによって、マルチターンダイアログ内のターン数を最小限に抑えることが有利である。
【００８２】
例えば、ＮＬＵコンポーネント２１４は、検索されたアイテムインベントリに赤いナイキの靴のための多くの異なる項目があること、および／またはユーザがアイテムを選択する前に過去のユーザの対話が追加の属性値を決定したことを判定し得る。したがって、ＮＬＵコンポーネント２１４は、ナレッジグラフ８０８を調べて、ユーザが関心を持つこの主要なオブジェクトに対し最も有用な属性を判定することができる。ナレッジグラフ８０８は、アイテムカテゴリ「靴」について、最も有用な、および／または頻繁に指定される属性が、関連アイテムを見つけるうえでの各々の重要性の相対相関または関連強度または条件付き確率を示す、対応する条件付き確率値とともに、色、ブランド、およびサイズであることを示す情報を有し得る。これらの属性の全ては、検索を成功させるのに十分なほど具体的であると見なされるためには、クエリに対してパラメータ化される必要がある可能性がある。しかしながら、所定の割合の利用可能な関連付けを適切にカバーする限られた数の属性のみがパラメータ化される必要があるということもあり得る。
【００８３】
この例では、ユーザは色およびブランドの属性値を提供したが、サイズの属性値は提供していないので、ダイアログマネージャ２１６はユーザに「どのサイズが欲しいですか」と尋ね、さらにユーザ入力を待つことができる。ユーザが「１０を希望します（I want 10）」と返信したと仮定する。これは何を意味するのだろうか。インテリジェントパーソナルアシスタントシステム１０６は、「１０を希望します（I want 10）」を、以前に指定された１０個の赤いナイキの靴をユーザが欲していると解釈するということもあり得る。世界知識は、靴が一般的にはペアになっているという情報を提供するかもしれないので、プロンプトに対するユーザの応答の再解釈は、ユーザが代わりに１０組の赤いナイキの靴を欲しているという考えに多少絞り込まれ得る。しかしながら、会話のコンテキストがどちらも考慮されていないため、どちらの解釈も正しくない。すなわち、「１０を希望します（I want 10）」というユーザ入力は、前の発話に関するより多くの情報（この場合はサイズ属性の値）を収集するために生成されたプロンプトに対する応答である。インテリジェントパーソナルオンラインアシスタント１０６は、その応答を以前のユーザ入力と関連付けることができない場合、会話型コンテキストを解決できないことを示すエラーステートメントを出力することができる。
【００８４】
コンテキストマネージャ２１８は、ユーザ対話の長期履歴だけでなく、所与の買い物ミッションについての現在のユーザ対話の短期記録も追跡することによって、そのような混乱を防ぐことができる。マルチターンダイアログにおけるプロンプトへの応答は、必ずしも単独のユーザの発話ではなく、通常、ダイアログ内の前のユーザの発話および前のプロンプト（もしあれば）に文脈的に関連している。したがって、インテリジェントパーソナルアシスタントシステム１０６は、絞り込まれた検索クエリが、推薦する関連項目を見つけるのにより成功するようにするのに十分な蓄積された検索条件をもたらすユーザの会話に対して適合している。
【００８５】
しかしながら、場合によっては、ＮＬＵコンポーネント２１４は、ユーザが以前のクエリミッションを放棄し、今は何か他のものを見つけることに興味があると判定し得る。したがって、ダイアログマネージャ２１６は、いくつかの実施形態では、ＮＬＵコンポーネント２１４からその判定の標示を受信し、それに応じてその動作を変更することができる。そのダイアログマネージャ２１６の動作は、例えば、可能性のある後の使用のために、現在の検索ミッションのための対話を保存すること、および前の検索ミッションに関するコンテキスト情報のいずれも使用することなく現在のユーザ発話に基づいて新しいダイアログを開始することを含み得る。一実施形態では、ＮＬＵコンポーネント２１４は、ユーザの関心のある新しい主要なオブジェクトが検出されたときにミッションのそのような変更が発生したと判定することができる。
【００８６】
図１０は、いくつかの例示的実施形態によるナレッジグラフ８０８を示す。ナレッジグラフ８０８は一般に、ここでは楕円で示されている複数のノードを表すデータベースまたはファイルである。各ノードは、アイテム推薦を生成するために自然言語ユーザ入力を処理する例示的なシナリオについてのアイテムカテゴリ、アイテム属性、またはアイテム属性値を表すことができる。この例では、アイテムカテゴリは、「男性用運動靴」、「車＆トラック」、および「女性用運動靴」を含む。図示のように、各アイテムカテゴリには、例えば、インベントリ追跡システムまたはインテリジェントパーソナルアシスタントシステム１０６によって識別番号が割り当てられていてもよい。
【００８７】
この例においてナレッジグラフ８０８に示されるアイテム属性は、「製品ライン」、「ブランド」、「色」、および「スタイル」を含む。アイテム属性は多くの場合、アイテムカテゴリに直接リンクされているが、必ずしもそうとは限らない。この例においてナレッジグラフ８０８に示されるアイテム属性値は、「エアジョーダン」、「コービー・ブライアント」、「エアフォース１」、「アシックス」、「ナイキ」、「ニューバランス」、「アディダス」、「ブルー」、「白」、「赤」、「黒」、「メタリックブラック」、「ランニング」、「バスケットボール」、「スニーカー」を含む。多くの場合、アイテム属性値はアイテム属性に直接リンクされているが、これはまた必ずしもそうとは限らない。
【００８８】
ナレッジグラフ８０８ノード間に示されるリンクは、２つの特定のノード間の関係の強さを示す関連相関値または関連値を有することができる有向エッジである。ナレッジグラフ８０８の相関値のいくつかを図１０に示す。相関値は様々な方法で作成することができ、様々な目的に使用することができる。
【００８９】
例えば、一実施形態では、相関値は購入可能なアイテムのインベントリから導出することができる。インベントリは最新のものでも履歴的なものでもよい。売り手が販売用のアイテムをリストアップするとき、売り手は、アイテムを記述し、したがってアイテムを購入しようとしているユーザによって提供され得る有用な検索用語である、メタデータとしての１つまたは複数のアイテムカテゴリ、属性、および／または属性値を指定することができる。場合によっては、電子市場は、利用可能な所定のアイテムカテゴリおよび一般的に使用される説明用語を記載したガイドを売り手に提供することによるなどの、様々な方法で売り手のアイテムを分類することができる。
【００９０】
例えば、売り手は、売るべき１組の靴を有していることがあり、それらがアディダスによって製造された男性用の青い運動用ランニング靴であると指定することができる。売り手は、アイテムカテゴリが「男性用運動靴」であることを市場に対し指定することができ、売り手は、例えばアイテム属性のリストからアイテム属性を指定するように促され得る。あるいは、電子市場は、売り手がいくつかのアイテム属性値を提供したことを識別し、これらのアイテム属性値をさまざまなアイテム属性、例えば、おそらくメタデータ内の、所定の可能性としてこれらの値を持つ属性に自動的に関連付けることができる。電子市場は、例えば、「男性用運動靴」が実際にはより広いカテゴリの「靴」のサブカテゴリまたは属性であると判断することができ、これはなぜなら、例えば売り手または電子市場のいずれかがそのカテゴリのサブカテゴリまたは属性を定義しているからである。
【００９１】
電子市場は、販売可能なアイテムのインベントリを定期的に分析し、そのインベントリを記述する要約データをナレッジグラフ８０８の形で提供することができる。この手法において、例示的なナレッジグラフ８０８は、図示されているように、カテゴリ「男性用運動靴」内のすべてのインベントリアイテムのうち、アイテムの３０％（または０．３）がアイテム属性「製品ライン」によって特徴付けられ、アイテムの４０％（または０．４）がアイテム属性「ブランド」によって特徴付けられ、アイテムの２０パーセント（または０．２）がアイテム属性「色」によって特徴付けられることを意味することができる。示されるように、アイテム属性「製品ライン」によって特徴付けられるアイテムのうち、２０％（または０．２）はアイテム属性値「コービー・ブライアント」を有し、１０％（または０．１）はアイテム属性値「エアフォース１」を有する。したがって、この実施形態では、ナレッジグラフ８０８は、利用可能なアイテムの実際のインベントリを記述するエントリを含み得る。
【００９２】
購入可能な数百万ものアイテムがある非常に大きな電子市場に対して、アイテムインベントリ全体の詳細な分析、特に任意の所与の時点でのその状況の分析は、計算コストがかかる可能性がある。したがって、そのような分析は、時折または定期的に継続的にのみ実行され得る。統計的サンプリング方法は、アイテムインベントリの特性のおおよその推定を記述するナレッジグラフ８０８を生成することができる。
【００９３】
ユーザクエリの処理中に、ユーザクエリからの解析された入力データ要素がナレッジグラフ８０８のディメンションと照合されて、ユーザの要求を利用可能なアイテムの供給と合致させるのを助けることができる。ナレッジグラフ８０８のディメンションは、購入に利用可能なアイテムを記述するアイテムカテゴリ、アイテム属性、およびアイテム属性値を含み得る。ユーザが男性用運動靴への関心を表明した場合、ユーザは、購入可能なアイテムのインベントリから関連アイテムを見つけるのをインテリジェントパーソナルアシスタントシステム１０６が助けることを期待する。購入できないアイテムを見つけることは、ユーザに買い物への興味を完全に失わせる可能性があり、これは大きな懸念の結果である。したがって、相関値は、所与のアイテム属性によって記述される、または所与のアイテム属性値を有する、所与のアイテムカテゴリ内のアイテムの相対数を表すことができる。相関値は、条件付き確率、例えば、特定のアイテム属性が指定されていると仮定した場合に、特定のアイテム属性値が指定される確率はいくらか、に基づいていてもよい。
【００９４】
異なる実施形態では、ナレッジグラフ８０８は、ある期間にわたるすべてのユーザと電子市場との過去の対話に基づいていてもよい。すなわち、ノードは、多くの以前のユーザにより、彼らの発話または市場でのナビゲーション履歴において提供された検索語を含むことができる。前述のようにインベントリを分析するのではなく、このアプローチではユーザの行動、例えば、購入者が市場と対話してインベントリにおいて関連するアイテムを見つける際に、購入者が何を言っているか、および何を行っているかを分析する。
【００９５】
この例示的実施形態では、図１０に示される相関値は、条件付き確率に関して、最も流行している、または頻繁に発生するユーザ対話を示すことができる。例えばユーザが女性用運動靴への興味を示す場合、ナレッジグラフ８０８は、そのような購入者の対話の３０％（または０．３）において、購入者が「スタイル」のアイテム属性を指定し、そのような購入者の対話の２０％（または０．２）において、購入者が「ブランド」のアイテム属性を指定し、そのような購入者の対話の３０％（または０．３）において、購入者が「カラー」のアイテム属性を指定することを示すことができる。したがって、利用可能なインベントリに関係なく、ナレッジグラフ８０８は、ユーザの検索行動、例えば、ユーザがどのように関連アイテムを見つけようとしているかを特徴付ける。
【００９６】
前の実施形態と同様に、ユーザクエリの処理中に、ユーザクエリからの解析済み入力データ要素をナレッジグラフ８０８のディメンションと照合して、ユーザの要求と利用可能なアイテムの供給との照合を支援することができる。しかしながら、ナレッジグラフ８０８のディメンションは、今や、購入する関連アイテムを探していたときに前のユーザのクエリ入力によって提供されたカテゴリ、属性、および属性値を含むことができる。例えば、ユーザが女性用運動靴に関心を表明した場合、インテリジェントパーソナルアシスタントシステム１０６は、購入可能なアイテムインベントリから他のユーザがどのように女性用運動靴アイテムに関連するアイテムを見つけたかを判定することによって最善の方法で遂行することができる。したがって、ナレッジグラフ８０８内の相関値またはスコアは、満足のいく検索の結論を導く際に所与のカテゴリ、所与の属性、または所与の属性値が使用された相対回数を表すことができる。言い換えれば、相関値は、ナレッジグラフ８０８内で１つの検索語から別の検索語へと横断するユーザ対話経路の所与の部分がどのように「踏み固められている（beaten）」かの尺度を効果的に表すことができる。
【００９７】
ナレッジグラフ８０８がどのように定式化されているかにかかわらず、ユーザ入力語とナレッジグラフのディメンション（例えば、アイテムカテゴリ、アイテム属性、およびアイテム属性値）との間のマッチングは、元のユーザクエリを改善されたクエリに変換するために使用され得る。このマッチングは、例えば、関連する検索結果を最もよく見つけるために、マルチターンダイアログにおいてユーザに対して、もしあるならば、どのようなプロンプトが生成されるべきかを判定するのを助けることができる。したがって、ＮＬＵコンポーネント２１４は、この目的のためにナレッジグラフ８０８からの情報をダイアログマネージャ２１６に提供することができる。すなわち、ＮＬＵコンポーネント２１４は、ある程度関連性を有するディメンションを有する簡潔なナレッジグラフ８０８を、ユーザの関心のある主要なオブジェクト、ユーザの意図、および関連パラメータと共にダイアログマネージャ２１６に配信することができる。
【００９８】
図１１Ａおよび図１１Ｂは、いくつかの例示的実施形態による、アイテムカテゴリ、いくつかのアイテム属性、およびいくつかのアイテム属性値を有する簡潔なナレッジグラフ８０８を示す。明確にするために各図は別々に示され論じられているが、実際には２つの図に共通のナレッジグラフ８０８を一緒に指す場合がある。図１１Ａにおいて、正規化され解析されたユーザクエリは、前述したように、ユーザの関心の主要なオブジェクト「靴」に対し、アイテム属性／値タグ＜色：赤、ブランド：ナイキ＞を提供している。ナレッジグラフ８０８は、「靴」と「男性用運動靴」との間に４０％（０．４）の相関関係があること、「男性用運動靴」と「ブランド」との間に４０％（０．４）の相関関係があること、および「男性用運動靴」と「色」との間に２０％（０．２）の相関関係があることを示している。また、「男性用運動靴」と「製品ライン」との間には３０％（０．３）の相関関係があり、様々なアイテム属性値（例えば「エアジョーダン」、「コービー・ブライアント」、および「エアフォース１」）に対する様々な相関関係が既知である。よって、インベントリやユーザの行動に基づいているかどうかにかかわらず、「男性用運動靴」および「製品ライン」の未だ指定されていないクエリ用語は、検索の成功と有意な関連性を有している。したがって、ダイアログマネージャ２１６は、これらの未だに指定されていない可能性のパラメータ化を、それらの関連もしくは相関値、またはナレッジグラフ８０８階層におけるそれらの相対位置、または両方の組み合わせに従って、ユーザプロンプトを通してランク付けおよび優先順位付けし得る。
【００９９】
同様に、図１１Ｂに関して、ナレッジグラフ８０８は、「靴」と「女性用運動靴」との間に３０％（０．３）の相関関係があること、および「女性用運動靴」と「スタイル」との間に３０％（０．３）の相関関係があることを示している。「女性用運動靴」も「スタイル」も、ユーザによって指定されておらず、「スタイル」に対する関連するアイテム属性値（例えば、「バスケットボール」、「ランニング」、および「スニーカー」）も指定されていない。したがって、ダイアログマネージャ２１６は、これらの未だに指定されていない可能性のパラメータ化を、それらの関連もしくは相関値、またはナレッジグラフ８０８階層におけるそれらの相対位置、または両方の組み合わせに従って、ユーザプロンプトを介して優先順位付けし得る。
【０１００】
あるプロンプト生成戦略では、ダイアログマネージャ２１６は、最も広いカテゴリからサブカテゴリまたは属性へ、そして次に属性値へと進み、その順序で一連のプロンプトトピックを決定することができる。すなわち、「靴」のカテゴリが指定されていると仮定すると、ダイアログマネージャ２１６は、ユーザが「男性用運動靴」または「女性用運動靴」に関心があるかどうかの解決へ直接進み得、これは、これらの２つの可能性が、ナレッジグラフ８０８内の最も高い（または唯一の）利用可能な関連強度を有しているからである。この階層的なガイドされた検索アプローチは、関連するアイテムに焦点を絞るために限られた数より多くのプロンプトに回答することを望まないユーザには魅力的であり得る。
【０１０１】
別のプロンプト生成戦略では、ダイアログマネージャ２１６は、ナレッジグラフ８０８に現れる未指定のすべての属性および属性値からよりランダムにプロンプトトピックを選択することができる。このアプローチは多少無目的なものであるが、特定のショッピングミッションを遂行するのではなく、ユーザがインベントリを閲覧している場合に適していることがある。インテリジェントパーソナルアシスタントシステム１０６とチャットすることに悩まされていないユーザは、ある意味でナレッジグラフ８０８の可能性をさまよう、このより探索的または会話的なアプローチを好むかもしれない。
【０１０２】
図１１Ａおよび図１１Ｂでは、さらなるユーザ入力の候補プロンプトは、ユーザが男性用または女性用の運動靴に関心があるかどうか、したがって、ユーザが特定の製品ラインまたはスタイルに関心があるかどうかによって選択され得る。ナレッジグラフ８０８内のより狭い属性（この場合、製品ラインまたはスタイル）は、実際には、各候補がどれほど解決の手掛かりとなるかに応じて、いくつかの状況ではユーザプロンプトに対するより良い候補となり得ることに留意されたい。すなわち、スタイルおよび製品ラインはそれぞれ、ナレッジグラフ８０８内のそれらの各々の上の個別のアイテム属性またはサブカテゴリに等しく関連付けられているが、製品ライン属性値の可能性について利用可能なデータはさらに多い。したがって、ユーザがエアジョーダンの靴に興味があるかどうかを尋ねるプロンプトでは、ユーザが特定の製品ラインおよび男性用運動靴に興味があるかどうかも暗黙的に尋ねられる。したがって、ユーザによる単一の肯定または否定は、一度に複数の可能性（例えば、属性および属性値）を受け入れるか、または拒否することに関して、ユーザの意図を識別するのに役立ち得る。
【０１０３】
図１２は、いくつかの例示的実施形態による、示唆的プロンプトを生成するために自然言語ユーザ入力を処理するインテリジェントパーソナルアシスタントシステム１０６の概要を示す。ユーザに対する鋭くないプロンプト（例えば、ユーザに尋ねることなく決定され得る情報を提供すること）は、一部のユーザを困らせることが知られているので、いくつかの実施形態は、追加のデータを使用して、ユーザにより明示的に与えられる可能性のある検索条件のフィールドを絞り込むことが可能である。例えば、ＮＬＵコンポーネント２１４は、ユーザが赤いナイキの靴の買い物に興味があることを見抜き、ナレッジグラフ８０８は、男性用運動靴および女性用運動靴が（とりわけ）可能性のあるプロンプト対象であることを示す。
【０１０４】
しかしながら、尋ねることなく男性用運動靴または女性用運動靴にユーザが興味を有しているかどうかを示す追加のデータが利用可能であり得る。例えば、電子市場との現在のユーザの対話履歴は、ユーザの購入の大部分または全部が女性に関連するアイテムに対するものであることを示し得る。それは、例えば、現在のユーザが別のセルフショッピングのミッションを実行している女性であるからか、または意図されたターゲット受取人が女性である贈り物のミッションをユーザがしばしば実行するからであり得る。さらに、世界知識または他の潜在的に関連性のある外部の文脈情報は、ダイアログマネージャ２１６によるプロンプトの可能性の重み付けを調整することができる。例えば、場所、天気、費用、文化、および機会に関する外部データは、最も鋭敏であることを求める次のプロンプトの判定を調整する際に同様の役割を果たし得る。
【０１０５】
したがって、インテリジェントパーソナルアシスタントシステム１０６は、その点を確認するためのプロンプトを生成することなく、ユーザはおそらく男性用運動靴よりも女性用運動靴に関心があると結論付けることができる。よって、ダイアログマネージャ２１６は、処理されたユーザ入力およびナレッジグラフ８０８に基づいて、次に最も鋭いと思われるプロンプトトピックに進むことができる。図１１Ｂの例では、ユーザが女性用運動靴に興味があり、ブランドおよび色の属性についてすでに値を指定していると仮定すると、最良の候補プロンプトは、未だ指定されていない属性、スタイルに関連している可能性がある。
【０１０６】
したがって、ダイアログマネージャ２１６は、単に「どんなタイプのスタイルがお好みですか？」とユーザに尋ねることができる。しかしながら、このアプローチは、アイテムインベントリデータからであろうと過去のユーザ対話データからであろうと、ナレッジグラフ８０８内のアイテム属性値に関して利用可能な追加の知識を利用しない。したがって、一実施形態では、ダイアログマネージャは、ナレッジグラフ８０８で利用可能な代替案を提示する、および／またはナレッジグラフ８０８で利用可能な関連値を有することができる追加のユーザ入力を求めるプロンプトを生成することができる。
【０１０７】
例えば、プロンプト１２０２は、代わりに、「スニーカーやランニングシューズなど、どんなタイプのスタイルがお好みですか？」とユーザに尋ねてもよい。このタイプの質問プロンプト作成は、成功した検索に関連する（例えば、インベントリまたは過去のユーザ対話行動による）可能性がある提案をユーザに通知し、追加のユーザ入力を収集する。ナレッジグラフ内の既知のアイテム属性値のすべてが提案される必要があるわけではなく、エントリ間で方向づけられたエッジのすべてが指定されたスコア値を持つとは限らないことに留意されたい。前述のように、インテリジェントパーソナルアシスタントシステム１０６は、他のデータを使用して、より目の肥えた人々に対する可能性を精査することができる。
【０１０８】
さらに、ダイアログマネージャ２１６は、返信に使用される場合に関連する検索結果につながる可能性が高い、提案された正確なユーザ入力表現を提供することさえできる。例えば、プロンプト１２０２は、代わりに、「『スニーカースタイル』か、それとも『ランニングシューズスタイル』をご希望ですか？」とユーザに尋ねてもよい。そのような表現の提案は、残りの未だ指定されていない条件のすべてを容易に処理される形式で有する返信（特に音声返信）につながる可能性がある（例えば、「スニーカースタイル」は、スニーカーの属性値とスタイルの属性の両方を指定する）。
【０１０９】
別の例では、ダイアログマネージャ２１６は、ユーザ入力の分析から、および他のデータからの十分なデータを有して、示唆的にアイテム推薦を行うプロンプトを生成することができる。この場合、ダイアログマネージャは、ユーザがスニーカーに興味がある可能性があることを示すデータを有することができる。それを直接確認するために質問タイププロンプトを使用するのではなく、ダイアログマネージャ２１６は、検索を進め、少数の関連性のある可能性があるインベントリアイテムのテキストおよび／または画像をユーザに出力することができる。したがって、プロンプト１２０４は、「これらのスニーカーが見つかりました：」とアナウンスし、購入可能な特定のアイテムまたはアイテムグループの画像（またはより一般的にはそれらの特徴を表す画像）を表示することができる。このアプローチにより、完全に条件付けされていないクエリを提供したユーザが、単一の提案タイプのプロンプトを肯定または否定することが容易になる。肯定は、例えば口頭による応答または特定の表示されたアイテムの選択であり得る。
【０１１０】
別の例では、ダイアログマネージャ２１６は、「赤いナイキの靴を見つけたいのですね」、または「分かりました。赤いナイキの靴を見つけるのを手伝うことができます」などの確認ステートメントを含むプロンプトを選択して、ユーザの関心のある主要なオブジェクトについてのさらなる確認的かつ発見的な議論を提供するように会話的にユーザに導き得る。このプロンプトタイプは、混乱を引き起こし得る質問タイプのプロンプトを尋ねることなく、インテリジェントパーソナルアシスタントシステム１０６が自動的に解決することができなかったかもしれない曖昧さをユーザが解決することを可能にする。この曖昧さは、例えば、ユーザのテキスト入力に多くの異常なスペルミスがある場合、またはユーザの音声が雑音の多い環境で受信されたために正規化がうまく機能しない場合に発生する可能性がある。
【０１１１】
ユーザが、ユーザの興味の変化を示す発話を提供したときに、確認ステートメントタイプのプロンプトは特に有用でもあり得る。すなわち、ボットは、確認ステートメントを作成して、新しい検索ミッションが始まったこと、および以前の検索ミッションの文脈がもはや適用可能ではないことをユーザが確認することを可能にし得る。例えば、以前は赤いナイキの靴を探していたボットが、「分かりました。赤いナイキの靴の代わりに今すぐ傘を探しましょう」と、傘に関するユーザ入力に応答することができる。ユーザが興味を変えることを意図していなかったのであれば、ユーザはボットを「ターゲットに戻す」ために関連するクエリ用語を要約したより詳細な回答を提供しようとする可能性が高い。
【０１１２】
別の例では、ダイアログマネージャ２１６は、指定された検索条件のすべてを満たすアイテムがインベントリから見つからなかったことを示すだけでなく、指定された検索条件の一部またはほとんどを満たすアイテムが利用可能であると検索を通じて判明したことを示すプロンプトを生成し得る。例えば、ユーザクエリの赤のナイキの靴がインベントリにない場合、ダイアログマネージャ２１６は、「赤のナイキの靴は現在利用可能ではありませんが、青または緑のナイキの靴は現在利用可能です」と述べることができる。したがって、このプロンプトのアプローチは、ユーザが検索に完全に興味を失う原因となり得る行き止まりの検索結果を回避し、成功する可能性が高いと既に判定されているわずかに広い、または修正された検索をユーザが続行することを奨励する。よって、ダイアログマネージャ２１６は、ユーザが「バックトラック（backtrack）」して、関連するアイテム属性値、アイテム属性、またはアイテムカテゴリさえも介して検索を続けることを促すことができる。このプロンプト生成アプローチは、好みがあまり知られていないターゲット受取人への贈り物をブラウズまたは検索している者にとって特に有用であり得る。
【０１１３】
同様に、ユーザが黒のナイキの靴を探しているが、検索によって赤、青、および緑のナイキの靴のみがインベントリで利用可能であると判定された場合、ユーザが黒のナイキの靴に興味があるかどうかを尋ねるプロンプトは逆効果であり、そして実際に迷惑であり得る。したがって、一実施形態では、そのようなプロンプトがユーザの応答によって確認された場合にインベントリで利用できないアイテムにつながる場合、ダイアログマネージャ２１６によっていかなるタイプのプロンプトも生成されない。すなわち、このバージョンのインテリジェントオンラインパーソナルアシスタント１０６は、ユーザを積極的に行き止まりに導いてはいない。
【０１１４】
図１３は、いくつかの例示的実施形態による、自然言語ユーザ入力を処理してアイテム推薦を生成するための方法のフローチャートを示す。この方法は、前述の構造的要素を介して、ならびに計算機内のプロセッサによって実行される命令を介して実施することができる。１３０２において、方法は、ユーザから入力データを受信することができる。１３０４において、方法は、受信された入力データを正規化することができる。１３０６において、方法は、正規化された入力データを解析して、例えば、解析された入力データからユーザの関心のある主要なオブジェクトおよび関連するパラメータを識別することができる。
【０１１５】
１３０８において、方法は、解析された入力データを分析して、ナレッジグラフ８０８のディメンションと主要なオブジェクトおよび関連するパラメータとの間のマッチングを見つけることができる。１３１０において、方法は、分析結果を検索のための正式なクエリに集約することができる。１３１２において、方法は、任意選択で、ユーザからの追加の入力データを求める１つまたは複数のユーザプロンプトを生成することができる。
【０１１６】
主題を特定の例示的な実施形態を参照して説明したが、開示された主題のより広い範囲から逸脱することなくこれらの実施形態に様々な修正および変更を加えることができることは明らかであろう。したがって、明細書および図面は限定的な意味ではなく例示的な意味で見なされるべきである。本明細書の一部を形成する添付の図面は、限定ではなく例示として本主題を実施することができる特定の実施形態を示す。示された実施形態は、当業者が本明細書に開示された教示を実施することを可能にするのに十分詳細に記載されている。本開示の範囲から逸脱することなく構造的および論理的な置換および変更を行うことができるように、他の実施形態を利用し、そこから導き出すことができる。したがって、この説明は限定的な意味で解釈されるべきではなく、様々な実施形態の範囲は、特許請求の範囲が権利を与える等価物の全範囲とともに、添付の特許請求の範囲のいずれかによってのみ定義される。
【０１１７】
本発明の主題のそのような実施形態は、本明細書において、個別におよび／または集合的に「発明」という用語で呼ばれ得るが、これは単に便宜上のものであり、かつ本出願の範囲を、もし２つ以上が実際に開示されている場合に、任意の単一の発明または発明の概念に自発的に限定することは意図していない。したがって、本明細書では特定の実施形態を例示し説明してきたが、同じ目的を達成するために計算された任意の構成を、示された特定の実施形態の代わりに使用できることを理解されたい。本開示は、様々な実施形態の任意の全ての適応または変形を網羅することを意図している。上記の実施形態の組み合わせ、および本明細書に具体的に記載されていない他の実施形態は、上記の説明を検討すれば当業者には明らかであろう。
【０１１８】
以下の番号付き実施例は実施形態である。
［実施例１］
マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するための方法であって、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを受信することであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも１つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記受信すること、
インベントリを検索し、検索結果をナレッジグラフに組み込むこと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定すること、
十分なレベルのマッチングが達成されていない場合、少なくとも１つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力すること
を含む方法。
【０１１９】
［実施例２］
応答が十分な検索結果をもたらさない場合、質問プロンプトを抑止することをさらに含む、実施例１に記載の方法。
【０１２０】
［実施例３］
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、実施例１または実施例２に記載の方法。
【０１２１】
［実施例４］
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも１つに基づいて、提案された応答表現を提供する、実施例１乃至３のいずれか一つに記載の方法。
【０１２２】
［実施例５］
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを記す異なる質問プロンプトを代わりに生成することをさらに含む、実施例１乃至４のいずれか一つに記載の方法。
【０１２３】
［実施例６］
十分なレベルのマッチングが達成されていない場合、ナレッジグラフ要素関連強度値と、ナレッジグラフのディメンションタイプの所定の順序とのうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例１乃至５のいずれか一つに記載の方法。
【０１２４】
［実施例７］
十分なレベルのマッチングが達成されていない場合、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例１乃至６のいずれか一つに記載の方法。
【０１２５】
［実施例８］
コンピュータの１つまたは複数のプロセッサによって実行されると、マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するために前記コンピュータに動作を実行させる一組の命令が組み込まれたコンピュータ可読記憶媒体であって、前記動作は、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを受信することであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも１つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記受信すること、
インベントリを検索し、検索結果をナレッジグラフに組み込むこと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定すること、
十分なレベルのマッチングが達成されていない場合、少なくとも１つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力すること
を含む、媒体。
【０１２６】
［実施例９］
応答が十分な検索結果をもたらさない場合、質問プロンプトを抑止することをさらに含む、実施例８に記載の媒体。
【０１２７】
［実施例１０］
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、実施例８または実施例９に記載の媒体。
【０１２８】
［実施例１１］
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも１つに基づいて、提案された応答表現を提供する、実施例８乃至１０のいずれか一つに記載の媒体。
【０１２９】
［実施例１２］
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを記す異なる質問プロンプトを代わりに生成することをさらに含む、実施例８乃至１１のいずれか一つに記載の媒体。
【０１３０】
［実施例１３］
十分なレベルのマッチングが達成されていない場合、ナレッジグラフ要素関連強度値と、ナレッジグラフのディメンションタイプの所定の順序とのうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例８乃至１２のいずれか一つに記載の媒体。
【０１３１】
［実施例１４］
十分なレベルのマッチングが達成されていない場合、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例８乃至１３のいずれか一つに記載の媒体。
【０１３２】
［実施例１５］
マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するシステムであって、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを提供するように構成された自然言語理解コンポーネントであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも１つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記自然言語理解コンポーネントと、
インベントリを検索し、検索結果をナレッジグラフに組み込むように構成された検索コンポーネントと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定するように構成されたダイアログマネージャコンポーネントと
を備え、
十分なレベルのマッチングが達成されていない場合、前記ダイアログマネージャコンポーネントを用いて、少なくとも１つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力する、システム。
【０１３３】
［実施例１６］
応答が十分な検索結果をもたらさない場合、質問プロンプトが抑止される、実施例１５に記載のシステム。
【０１３４】
［実施例１７］
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、実施例１５または実施例１６に記載のシステム。
【０１３５】
［実施例１８］
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも１つに基づいて、提案された応答表現を提供する、実施例１５乃至１７のいずれか一つに記載のシステム。
【０１３６】
［実施例１９］
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、前記ダイアログマネージャコンポーネントを用いて、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを示す異なる質問プロンプトを代わりに生成することをさらに含む、実施例１５乃至１８のいずれか一つに記載のシステム。
【０１３７】
［実施例２０］
十分なレベルのマッチングが達成されていない場合、前記ダイアログマネージャコンポーネントを用いて、ナレッジグラフ要素関連強度値、ナレッジグラフのディメンションタイプの所定の順序、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも１つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例１５乃至１９のいずれか一つ記載のシステム。
【０１３８】
［実施例２１］
コンピュータの１つまたは複数のプロセッサによって実行されると、前記コンピュータに実施例１乃至７のいずれか一つに記載の方法を実行させる一組の命令を搬送する機械可読媒体。
【図１】
2019530920.tif 000003
【図２】
2019530920.tif 000004
【図３Ａ】
2019530920.tif 000005
【図３Ｂ】
2019530920.tif 000006
【図４】
2019530920.tif 000007
【図５】
2019530920.tif 000008
【図６】
2019530920.tif 000009
【図７】
2019530920.tif 000010
【図８】
2019530920.tif 000011
【図９】
2019530920.tif 000012
【図１０】
2019530920.tif 000013
【図１１Ａ】
2019530920.tif 000014
【図１１Ｂ】
2019530920.tif 000015
【図１２】
2019530920.tif 000016
【図１３】
2019530920.tif 000017
【国際調査報告】
2019530920.tif 000018