JP6806879B2 - 次のユーザプロンプトタイプの選択 - Google Patents

次のユーザプロンプトタイプの選択 Download PDF

Info

Publication number
JP6806879B2
JP6806879B2 JP2019507947A JP2019507947A JP6806879B2 JP 6806879 B2 JP6806879 B2 JP 6806879B2 JP 2019507947 A JP2019507947 A JP 2019507947A JP 2019507947 A JP2019507947 A JP 2019507947A JP 6806879 B2 JP6806879 B2 JP 6806879B2
Authority
JP
Japan
Prior art keywords
user
dimension
dimensions
knowledge graph
prompt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019507947A
Other languages
English (en)
Other versions
JP2019530920A (ja
Inventor
ガスキル、ブラドック
ギラ ハビブ、アディ
ギラ ハビブ、アディ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
eBay Inc
Original Assignee
eBay Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by eBay Inc filed Critical eBay Inc
Publication of JP2019530920A publication Critical patent/JP2019530920A/ja
Application granted granted Critical
Publication of JP6806879B2 publication Critical patent/JP6806879B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

従来の検索は非人間的である。普通の言語では従来のブラウジングエンジンと話すことはできない。従来の検索は時間がかかり、選択が多すぎ、結果のページを閲覧するのに多くの時間が浪費される可能性がある。従来のツールの技術的限界に捕らえられることによりユーザが意図を伝えることは困難であり、例えば、ユーザは検索に役立てるために製品の写真を共有することができない。現在のソリューションはこの規模に対応するようには設計されていないものの、選択が何十億ものオンラインのアイテムにまで膨らむにつれて、比較検索の重要性がこれまで以上に増している。無関係な結果がしばしば表示され、最良の結果が提示されない。従来の形式の比較検索(検索+絞り込み+閲覧)は、もはや役に立たない。
一例では、インテリジェントパーソナルアシスタントシステムは、インテリジェントオンラインパーソナルアシスタント(または「ボット」)を提供するために既存のメッセージングプラットフォームのファブリックに浸透しているスケーラブル人工知能(AI)を含む。このシステムは、既存のインベントリおよび精選されたデータベースを利用して、人間のユーザとインテリジェントオンラインパーソナルアシスタントとの間のコミュニケーションの予測的な順番で、インテリジェントな、パーソナライズされた回答を提供することができる。インテリジェントパーソナルアシスタントシステムの一例は、ナレッジグラフを含む。機械学習コンポーネントは、ユーザの識別および理解が時間の経過とともに向上するように、ユーザの意図から継続的に識別および学習することができる。このようにして提供されるユーザエクスペリエンスは、感動的で直感的でユニークであり、例えば、ミレニアル世代などの特定の年齢層の利用および行動パターンに焦点を合わせることが可能である。
図面は概して限定としてではなく例として本明細書で論じられる様々な実施形態を示す。任意の特定の要素または動作の議論をより容易に識別するために、参照番号中の最上位桁または複数の桁は、その要素が最初に紹介された図の番号を指す。
いくつかの例示的実施形態によるネットワーク化されたシステムを示す図である。 いくつかの例示的な実施形態によるインテリジェントパーソナルアシスタントシステムの概略的なアーキテクチャを示す図である。 いくつかの例示的な実施形態による音声認識コンポーネントの構成要素を示す図である。 いくつかの例示的な実施形態による音声認識コンポーネントの構成要素を示す図である。 本明細書に記載の様々なハードウェアアーキテクチャと併せて使用することができる代表的なソフトウェアアーキテクチャを示す図である。 機械可読媒体(例えば、コンピュータ可読記憶媒体)から命令を読み取り、本明細書で論じられる方法のうちの任意の1つまたは複数を実行することができる、いくつかの例示的実施形態による機械の構成要素を示す図である。 いくつかの例示的実施形態による、インテリジェントオンラインパーソナルアシスタントをデプロイすることが可能な例示的環境を示す図である。 いくつかの例示的実施形態による、自然言語ユーザ入力を処理して電子市場におけるアイテム推薦を生成するインテリジェントパーソナルアシスタントシステムの概要を示す図である。 いくつかの例示的実施形態による、自然言語理解(NLU)コンポーネント、そのサブコンポーネント、およびそれが対話する他の構成要素を示す図である。 いくつかの例示的実施形態によるさまざまな分析の結果を示す図である。 いくつかの例示的な実施形態によるナレッジグラフを示す図である。 いくつかの例示的実施形態による、アイテムカテゴリ、アイテム属性、およびアイテム属性値を有する簡潔なナレッジグラフを示す図である。 いくつかの例示的実施形態による、アイテムカテゴリ、アイテム属性、およびアイテム属性値を有する簡潔なナレッジグラフを示す図である。 いくつかの例示的実施形態による、自然言語ユーザ入力を処理して示唆的プロンプトを生成するインテリジェントパーソナルアシスタントシステムの概要を示す図である。 いくつかの例示的実施形態による、自然言語ユーザ入力を処理してアイテム推薦を生成するための方法のフローチャートである。
この文脈における「キャリア信号」とは、機械による実行のための命令を格納、符号化、または搬送することができる任意の無形媒体をいい、そのような命令の通信を容易にするためのデジタルまたはアナログ通信信号または他の無形媒体を含む。命令は、ネットワークインタフェースデバイスを介して伝送媒体を使用し、複数の周知の転送プロトコルのうちの任意の1つを使用して、ネットワークを介して送信または受信することができる。
この文脈における「クライアントデバイス」とは、1つまたは複数のサーバシステムまたは他のクライアントデバイスからリソースを取得するために通信ネットワークとインタフェースする任意の機械を指す。クライアントデバイスは、携帯電話、デスクトップコンピュータ、ラップトップ、携帯デジタルアシスタント(PDA)、スマートフォン、タブレット、ウルトラブック、ネットブック、ラップトップ、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な家電製品、ゲーム機、セットトップボックス、またはユーザがネットワークにアクセスするために使用できる任意の他の通信デバイスであってよいが、これに限定されない。
この文脈における「通信ネットワーク」とは、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、無線LAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネット、インターネットの一部、公衆交換電話網(PSTN)の一部、旧来の基本電話サービス(POTS)ネットワーク、携帯電話ネットワーク、無線ネットワーク、Wi−Fi(登録商標)ネットワーク、別の種類のネットワーク、またはそのようなネットワークの2以上の組み合わせであり得るネットワークの1つまたは複数の部分を指す。例えば、ネットワークまたはネットワークの一部は、無線またはセルラーネットワークを含むことができ、接続は、符号分割多元アクセス(CDMA)接続、移動体通信用グローバルシステム(GSM(登録商標))接続、または他のタイプのセルラーまたは無線接続であり得る。この例では、接続は、シングルキャリア無線伝送技術(1xRTT)、進化データ最適化(EVDO)技術、汎用パケット無線サービス(GPRS)技術、GSM進化型高速データレート(EDGE)技術、3Gを含む第3世代パートナーシッププロジェクト(3GPP)、第4世代無線(4G)ネットワーク、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)、高速パケットアクセス(HSPA)、マイクロ波アクセスの世界規模相互運用(WiMAX)、ロングタームエボリューション(LTE)規格、種々の規格設定団体によって定義された他の規格、他の長距離プロトコル、または他のデータ転送技術などの様々なタイプのデータ転送技術のうちの任意のものを実装することができる。
この文脈における「構成要素(コンポーネント)」は、機能またはサブルーチン呼び出し、分岐点、アプリケーションプログラムインタフェース(API)、または特定の処理または制御機能の分割またはモジュール化を提供する他の技術によって定義される境界を有するデバイス、物理エンティティ、または論理回路を指す。構成要素は、それらのインタフェースを介して他の構成要素と組み合わされて、機械プロセスを実行することができる。構成要素は、他の構成要素および関連する機能のうちの特定の機能を通常実行するプログラムの一部と共に使用するために設計されたパッケージ化された機能的ハードウェアユニットであり得る。構成要素は、ソフトウェア構成要素(例えば、機械可読媒体上に具現化されたコード)またはハードウェア構成要素のいずれかを構成し得る。「ハードウェア構成要素」は、特定の動作を実行することができる有形のユニットであり、特定の物理的方法で構成または配置することができる。様々な例示的実施形態では、1つまたは複数のコンピュータシステム(例えば、スタンドアロンコンピュータシステム、クライアントコンピュータシステム、またはサーバコンピュータシステム)、またはコンピュータシステムの1つまたは複数のハードウェア構成要素(例えば、プロセッサまたはプロセッサのグループ)は、本明細書で説明されるような特定の動作を実行するように動作するハードウェア構成要素としてソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって構成され得る。ハードウェア構成要素は、機械的に、電子的に、またはそれらの任意の適切な組み合わせで実装されることもできる。例えば、ハードウェア構成要素は、特定の動作を実行するように恒久的に構成された専用の回路または論理回路を含み得る。ハードウェア構成要素は、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサであり得る。ハードウェア構成要素は、特定の動作を実行するためにソフトウェアによって一時的に構成されるプログラマブルロジックまたは回路を含むこともできる。例えば、ハードウェア構成要素は、汎用プロセッサまたは他のプログラム可能なプロセッサによって実行されるソフトウェアを含み得る。そのようなソフトウェアによって構成されると、ハードウェア構成要素は、構成された機能を実行するように独自に調整された特定の機械(または機械の特定の構成要素)になり、もはや汎用プロセッサではない。ハードウェア構成要素を機械的に、専用の恒久的に構成された回路内に、または(例えばソフトウェアによって構成された)一時的に構成された回路内に実装するという決定は、コストおよび時間を考慮して決定され得ることが理解されるであろう。したがって、「ハードウェア構成要素」(または「ハードウェアで実装された構成要素」)という語句は、特定の方法で動作するように、または本明細書に記載の特定の動作を実行するように物理的に構築された、恒久的に構成された(例えばハードワイヤード)、または一時的に構成された(例えばプログラムされた)エンティティなどの有形のエンティティを包含するものと理解されたい。ハードウェア構成要素が一時的に構成される(例えば、プログラムされる)実施形態を考慮すると、ハードウェア構成要素の各々は、任意の一時点において構成またはインスタンス化されている必要はない。例えば、ハードウェア構成要素が、専用プロセッサになるようにソフトウェアによって構成された汎用プロセッサを含む場合、汎用プロセッサは、異なる時にそれぞれ異なる(例えば、異なるハードウェア構成要素を含む)専用プロセッサとして構成され得る。したがって、ソフトウェアは、特定の1つまたは複数のプロセッサが、例えばある時点で特定のハードウェア構成要素を構成し、異なる時点で異なるハードウェア構成要素を構成するように構成する。ハードウェア構成要素は、他のハードウェア構成要素に情報を提供し、そこから情報を受け取ることができる。したがって、説明したハードウェア構成要素は、通信可能に結合されていると見なすことができる。複数のハードウェア構成要素が同時に存在する場合、通信は、2つ以上のハードウェア構成要素間の信号伝送を介して(例えば、適切な回路およびバスを介して)達成され得る。複数のハードウェア構成要素が異なる時間に構成またはインスタンス化される実施形態では、そのようなハードウェア構成要素間の通信は、例えば複数のハードウェア構成要素がアクセスするメモリ構造における情報の格納および検索を通じて達成され得る。例えば、1つのハードウェア構成要素が動作を実行し、その動作の出力をそれが通信可能に結合されているメモリデバイスに格納することができる。その後、さらなるハードウェア構成要素が、後の時間に、メモリデバイスにアクセスして、格納された出力を検索し処理することができる。ハードウェア構成要素は、入力デバイスまたは出力デバイスとの通信を開始することもでき、リソース(例えば情報のコレクション)によって動作することができる。本明細書に記載の例示的な方法の様々な動作は、関連する動作を実行するように一時的に(例えばソフトウェアによって)構成された、または恒久的に構成された1つまたは複数のプロセッサによって少なくとも部分的に実行され得る。一時的に構成されているか恒久的に構成されているかにかかわらず、そのようなプロセッサは、本明細書で説明される1つまたは複数の動作または機能を実行するように動作するプロセッサ実装構成要素を構成し得る。本明細書で使用される場合、「プロセッサ実装構成要素」は、1つまたは複数のプロセッサを使用して実装されたハードウェア構成要素を指す。同様に、本明細書に記載の方法は、ハードウェアの一例である特定の1つまたは複数のプロセッサを用いて、少なくとも部分的にプロセッサにより実装されてもよい。例えば、方法の動作のうちの少なくともいくつかは、1つまたは複数のプロセッサまたはプロセッサ実装構成要素によって実行され得る。さらに、1つまたは複数のプロセッサは、「クラウドコンピューティング」環境において、または「サービスとしてのソフトウェア」(SaaS)として、関連する動作の実行をサポートするように動作することもできる。例えば、動作の少なくともいくつかは(プロセッサを含む機械の例として)一群のコンピュータによって実行されてもよく、これらの動作はネットワーク(例えばインターネット)を介して、および1つまたは複数の適切なインタフェース(例えば、アプリケーションプログラムインタフェース(API))を介して、アクセス可能である。特定の動作の実行は、単一の機械内に存在するだけでなく、多数の機械にわたってデプロイされてプロセッサ間で分散されてもよい。いくつかの例示的実施形態では、プロセッサまたはプロセッサ実装構成要素は、単一の地理的位置(例えば、家庭環境、オフィス環境、またはサーバファーム内)に配置することができる。他の例示的実施形態では、プロセッサまたはプロセッサ実装構成要素は、複数の地理的位置にわたって分散され得る。
この文脈における「機械可読媒体」とは、命令およびデータを一時的または恒久的に格納することができる構成要素、デバイスまたは他の有形の媒体を指し、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、バッファメモリ、フラッシュメモリ、光媒体、磁気媒体、キャッシュメモリ、他の種類の記憶装置(例えば、消去可能プログラマブル読み出し専用メモリ(EEPROM))および/またはそれらの任意の適切な組み合わせを含み得るが、これらに限定されない。「機械可読媒体」という用語は、命令を格納することができる単一の媒体または複数の媒体(例えば、集中型または分散型データベース、あるいは関連するキャッシュおよびサーバ)を含むと解釈されるべきである。「機械可読媒体」という用語は、機械によって実行するための命令(例えば、コード)を格納することができる任意の媒体、または複数の媒体の組合せを含むとも解釈され、命令は、機械の1つまたは複数のプロセッサにより実行される場合に、本明細書に記載の方法のうちの任意の1つまたは複数を機械に実行させる。したがって、「機械可読媒体」は、単一の記憶装置またはデバイス、ならびに複数の記憶装置またはデバイスを含む「クラウドベースの」記憶システムまたは記憶ネットワークを指す。「機械可読記憶媒体」という用語は、信号自体を除外する。機械可読媒体は、機械可読記憶媒体と伝送媒体またはキャリア信号とを含む。
この文脈における「プロセッサ」とは、制御信号(例えば、「コマンド」、「オペコード」、「機械コード」)に従ってデータ値を操作する任意の回路または仮想回路(実際のプロセッサ上で実行する論理によってエミュレートされる物理回路)を指し、これは、機械を動作させるために適用される対応する出力信号を生成する。プロセッサは、例えば、中央処理装置(CPU)、縮小命令セット計算(RISC)プロセッサ、複合命令セット計算(CISC)プロセッサ、グラフィック処理装置(GPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、無線周波数集積回路(RFIC)、またはそれらの任意の組み合わせであり得る。プロセッサはさらに、同時に命令を実行することができる2つ以上の独立したプロセッサ(「コア」と呼ばれることもある)を有するマルチコアプロセッサであってもよい。
この特許文書の開示の一部は、著作権保護の対象となる資料を含む。著作権の所有者は、特許商標庁の特許ファイルまたは記録のとおりの特許文書または特許開示の第三者によるファクシミリ複製に異議を唱えないが、その他の点においてはすべての著作権を留保する。以下の通知は、下記および本明細書の一部を構成する図面に記載されているソフトウェアおよびデータに適用される:Copyright 2016, eBay Inc., All Rights Reserved.
以下の説明は、本開示の例示的な実施形態を具体化するシステム、方法、技術、命令シーケンス、および計算機プログラム製品を含む。以下の説明では、本発明の主題の様々な実施形態の理解を促すために、多数の具体的な詳細が説明の目的で述べられている。しかしながら、本発明の主題の実施形態がこれらの具体的な詳細なしで実施されてもよいことは当業者には明らかであろう。一般に、周知の命令インスタンス、プロトコル、構造、および技術は必ずしも詳細に示されていない。
図1を参照すると、高レベルSaaSネットワークアーキテクチャ100の例示的な実施形態が示されている。ネットワーク化されたシステム116は、ネットワーク110(例えば、インターネットまたは広域ネットワーク(WAN))を介してサーバ側機能をクライアントデバイス108に提供する。ウェブクライアント102およびアプリケーション104の形態の例におけるプログラマティッククライアントは、クライアントデバイス108上でホストされ実行される。ネットワーク化されたシステム116はアプリケーションサーバ122を含み、アプリケーションサーバ122は、ネットワーク化されたシステム116にアクセスするアプリケーション104に複数の機能およびサービスを提供するインテリジェントパーソナルアシスタントシステム106をホストする。アプリケーション104は、本明細書に記載されている複数のインタフェースも提供し、それは追跡および分析動作の出力をクライアントデバイス108のユーザに提示する。
クライアントデバイス108は、ユーザがネットワーク化されたシステム116にアクセスし、対話することを可能にする。例えば、ユーザは入力(例えば、タッチスクリーン入力または英数字入力)をクライアントデバイス108に提供し、その入力はネットワーク110を介してネットワーク化されたシステム116に伝達される。この場合、ネットワーク化されたシステム116は、ユーザからの入力を受信したことに応答して、ユーザに提示されるべき情報を、ネットワーク110を介してクライアントデバイス108に返信する。
アプリケーションプログラムインタフェース(API)サーバ118およびウェブサーバ120は、アプリケーションサーバ122に結合され、それぞれプログラマティックインタフェースおよびウェブインタフェースを提供する。アプリケーションサーバ122は、構成要素またはアプリケーションを含むインテリジェントパーソナルアシスタントシステム106をホストする。アプリケーションサーバ122は、次に、情報格納リポジトリ(例えば、データベース/クラウド126)へのアクセスを容易にするデータベースサーバ124に結合されるように示されている。例示の実施形態では、データベース/クラウド126は、インテリジェントパーソナルアシスタントシステム106によってアクセスされ生成された情報を格納する記憶装置を含む。
さらに、サードパーティサーバ112上で実行されているサードパーティアプリケーション114は、アプリケーションプログラムインタフェース(API)サーバ118によって提供されるプログラマティックインタフェースを介して、ネットワーク化されたシステム116へのプログラムによるアクセスを有するものとして示されている。例えば、サードパーティアプリケーション114は、ネットワーク化されたシステム116から検索された情報を使用して、サードパーティによってホストされているウェブサイト上の1つまたは複数の特徴または機能をサポートすることができる。
ここで特にクライアントデバイス108によってホストされるアプリケーションに目を向けると、ウェブクライアント102は、ウェブサーバ120によってサポートされるウェブインタフェースを介して様々なシステム(例えば、インテリジェントパーソナルアシスタントシステム106)にアクセスすることができる。同様に、アプリケーション104(例えば「アプリ(app)」)は、アプリケーションプログラムインタフェース(API)サーバ118によって提供されるプログラマティックインタフェースを介してインテリジェントパーソナルアシスタントシステム106によって提供される様々なサービスおよび機能にアクセスする。アプリケーション104は、例えば、ユーザがオフラインでネットワーク化されたシステム116上のデータにアクセスし、データを入力すること、およびプログラマティッククライアントアプリケーション104とネットワーク化されたシステム116との間のバッチモード通信を実施することを可能にするための、iOSまたはアンドロイドOSアプリケーションなどのクライアントデバイス108上で実行される「アプリ」であってよい。
さらに、図1に示すSaaSネットワークアーキテクチャ100はクライアント−サーバアーキテクチャを採用しているが、本発明の主題はもちろんそのようなアーキテクチャに限定されず、例えば、分散型またはピアツーピア型アーキテクチャシステムにおいても、同様にアプリケーションを見出すことができる。インテリジェントパーソナルアシスタントシステム106は、必ずしもネットワーキング機能を有するわけではないスタンドアロンソフトウェアプログラムとして実装することも可能である。
図2は、いくつかの例示的実施形態による、インテリジェントパーソナルアシスタントシステム106の概略的なアーキテクチャを示すブロック図である。具体的には、インテリジェントパーソナルアシスタントシステム106は、(例えばネットワーク110を介して)SaaSネットワークアーキテクチャ100内の他のシステムと通信するためのフロントエンドコンポーネント202(FE)を含むように示されている。フロントエンドコンポーネント202は、既存のメッセージングシステムのファブリックと通信することができる。本明細書で使用されているように、メッセージングファブリックという用語は、フェイスブックメッセンジャー、マイクロソフトコルタナおよび他の「ボット」などのサードパーティプラットフォームを動作させることができる一群のAPIおよびサービスを指す。一例では、メッセージングファブリックは、ユーザが商業目的で対話することを可能にするオンラインコマースエコシステムをサポートすることができる。フロントエンドコンポーネント202の出力は、インテリジェントパーソナルアシスタント、または「ボット」とのインタフェースの一部として、図1のクライアントデバイス108などのクライアントデバイスのディスプレイにレンダリングされることが可能である。
インテリジェントパーソナルアシスタントシステム106のフロントエンドコンポーネント202は、フロントエンドコンポーネント202を人工知能フレームワーク128とリンクするように動作するフロントエンド用のバックエンドコンポーネント204(BFF)に結合されている。人工知能フレームワーク128は、以下で論じるようにいくつかのコンポーネントを含み得る。様々なコンポーネント間で交換されるデータおよび各コンポーネントの機能は、特定の実装形態に応じてある程度変動し得る。
インテリジェントパーソナルアシスタントシステム106の一例では、AIオーケストレータ206は、人工知能フレームワーク128の内部と外部のコンポーネント間の通信を調整する。AIオーケストレータ206に対する入力モダリティは、例えば、コンピュータビジョンコンポーネント208、音声認識コンポーネント210、および音声認識コンポーネント210の一部を形成し得るテキスト正規化コンポーネントから導出され得る。コンピュータビジョンコンポーネント208は、ビジュアル入力(例えば写真)からオブジェクトおよび属性を識別することができる。音声認識コンポーネント210は、音声信号(例えば、話し言葉)をテキストに変換することができる。テキスト正規化コンポーネントは、例えば、絵文字をテキストにレンダリングすることによる言語正規化などの入力正規化を行うように動作することができる。正字法正規化(orthographic normalization)、外国語正規化、会話型テキスト正規化などの他の正規化も可能である。
人工知能フレームワーク128は、ユーザの意図および様々な意図パラメータを抽出するように動作する自然言語理解またはNLUコンポーネント214をさらに含む。NLUコンポーネント214は、図8からさらに詳細に説明される。
人工知能フレームワーク128は、(例えば、検索クエリまたは発話などの入力の)「特異性の完全性(completeness of specificity)」を理解し、次のアクションタイプおよび関連パラメータ(例えば、「検索」または「ユーザからの追加情報の要求」)を決定するように動作するダイアログマネージャ216をさらに含む。便宜上、この説明におけるすべてのユーザ入力は、テキスト、音声、または画像関連フォーマットのいずれであろうと、「発話(utterance)」と呼ばれることがある。
一例では、ダイアログマネージャ216は、コンテキストマネージャ218および自然言語生成(NLG)コンポーネント212と関連して動作する。コンテキストマネージャ218は、インテリジェントオンラインパーソナルアシスタント(または「ボット」)およびアシスタントの関連人工知能に関するユーザのコンテキストおよび通信を管理する。コンテキストマネージャ218は、ユーザ対話(interaction)の短期間の履歴を保持する。ユーザ嗜好の長期間の履歴は、以下に説明されるアイデンティティサービス222に保持され得る。これらの履歴のうちの一方または両方におけるデータ入力は、例えば、所与の入力、ボット対話、または通信の順番についてのすべての関連する結果、関連する目的およびすべてのパラメータを含み得る。NLGコンポーネント212は、AIメッセージから自然言語発話を構成するように動作し、インテリジェントボットと対話するユーザに提示する。
検索コンポーネント220も人工知能フレームワーク128内に含まれる。検索コンポーネント220は、フロントエンドユニットおよびバックエンドユニットを有することができる。バックエンドユニットは、アイテムまたは製品のインベントリを管理し、インベントリに対する検索機能を提供し、ユーザの意図および意図パラメータの特定のタプルに対する最適化を行うことができる。検索コンポーネント220は、非常に大きな高品質インベントリに対して、世界中で1日あたり数十億のクエリを提供するように設計されている。検索コンポーネント220は、テキスト、または人工知能(AI)符号化音声および画像入力を収容し、明示的および導出されたクエリ意図に基づいてユーザに関連するインベントリアイテムを識別することができる。
アイデンティティサービス222コンポーネントは、ユーザプロファイル、例えば、「名前」、「年齢」、「性別」、「地理的位置」などのユーザ属性の形式の明示的な情報と、「ユーザの興味」や「似たような人物」などの「抽出された情報」のような形式の黙示的な情報を管理するように動作する。人工知能フレームワーク128は、アイデンティティサービス222の一部を含むか、またはそれに関連して動作することができる。アイデンティティサービス222は、一組のポリシーと、APIと、すべてのユーザ情報をエレガントに一元管理するサービスとを含み、人工知能フレームワーク128がユーザの意図に対する「知的な」見識を得るのを助ける。アイデンティティサービス222は、オンライン小売業者およびユーザを個人情報の詐欺または悪意のある使用から保護することができる。
本開示のアイデンティティサービス222は多くの利点を提供する。アイデンティティサービス222は、ユーザアイデンティティおよびプロファイルデータを含む単一の中央リポジトリである。それは絶えず新しい見識およびアップデートでユーザプロファイルを補強することが可能である。それは、アカウントリンクとアイデンティティフェデレーションを使用して、ユーザと会社、世帯、その他のアカウント(例えば、コアアカウント)との関係、およびユーザの人と関係のソーシャルグラフをマッピングする。アイデンティティサービス222は、ユーザが選択した時間およびメディアにおいて、ユーザが望むすべての情報だけを伝達する豊富な通知システムを発展させる。
一例では、アイデンティティサービス222は、検索、AI、商品化、および機械学習モデルについて中央クリアリングハウスで可能な限り多くのユーザ情報を統合することに集中し、各ユーザに見識を提供する各コンポーネントの能力を最大化する。単一の中央リポジトリは、細部にわたる詳細なスキーマでユーザアイデンティティとプロファイルデータを含む。オンボーディングフェーズでは、アイデンティティサービス222は、ユーザプロファイルおよびボットアプリケーションにおける必須の認証による見解を教える。認証元から入手可能な任意の公開情報(ソーシャルメディアなど)がロードされ得る。サイドボーディングフェーズでは、アイデンティティサービス222は、公的な情報源、ユーザの行動、対話、およびユーザがAIに告げる目的の明示的なセット(例えば、ショッピングミッション、インスピレーション、好み)から収集されたユーザに関する情報でプロファイルを補強することができる。ユーザが人工知能フレームワーク128と対話すると、アイデンティティサービス222は、ユーザについてさらに収集して推測し、明示的なデータ、導出された情報を格納し、他の統計的推論の確率および推定を更新する。時間の経過とともに、プロファイル強化フェーズにおいて、アイデンティティサービス222は、クリック、インプレッション、および閲覧活動などの行動データを、嗜好、好み、およびショッピングバーティカルなどの派生情報についてマイニングも行う。アイデンティティフェデレーションおよびアカウントリンクフェーズでは、通信または推測される場合、アイデンティティサービス222は、ユーザの世帯、雇用者、グループ、所属、ソーシャルグラフ、および共有アカウントを含む他のアカウントを更新する。
人工知能フレームワーク128の機能は、例えば決定部およびコンテキスト部などの複数の部にグループ化することができる。一例では、決定部は、AIオーケストレータ206、NLUコンポーネント214、ダイアログマネージャ216、NLGコンポーネント212、コンピュータビジョンコンポーネント208、および音声認識コンポーネント210による動作を含む。AI機能のコンテキスト部は、ユーザの周囲のパラメータ(黙示的および明示的)および伝達される意図(例えば、特定のインベントリに対する、またはその他の)に関連している。経時的にAI品質を測定し改善するために、人工知能フレームワーク128は、サンプルクエリ(例えば、開発セット)を用いてトレーニングされ、異なるセットのクエリ(例えば、評価セット)でテストされてもよく、両セットは、人間のキュレーションによって開発され得る。また、人工知能フレームワーク128は、経験豊富なキュレーション専門家、または人間のテイストメーカーのオーバーライドルール224によって定義された取引および対話の流れについてトレーニングされてもよい。人工知能フレームワーク128の様々なコンポーネント内に符号化されたフローおよび論理は、識別されたユーザの意図に基づいてインテリジェントアシスタントによってどのようなフォローアップ発話または提示(例えば質問、結果セット)がなされるかを定義する。
インテリジェントオンラインパーソナルアシスタントの例示的な入力モダリティ、またはインテリジェントパーソナルアシスタントシステム106内のボットについて上記がさらに参照される。インテリジェントパーソナルアシスタントシステム106は、ユーザの意図(例えば、ターゲット検索、比較、買い物/閲覧など)および任意の必須パラメータ(例えば、製品、製品カテゴリ、アイテムなど)および/またはオプションのパラメータ(例えば、アイテム/製品、場面などの属性のような明示的な情報)と黙示的な情報(地理的位置、個人的な好み、年齢、性別など)とを理解し、よく考え抜かれた、または「知的な」応答により、ユーザに応答しようと努める。明示的な入力モダリティは、テキスト、音声、およびビジュアル入力を含むことができ、ユーザに関する黙示的な知識(例えば、地理位置情報、以前の閲覧履歴など)により補強され得る。出力モダリティは、テキスト(スピーチ、または自然言語文、または製品関連情報など)、およびスマートデバイス、例えばクライアントデバイス108の画面上の画像を含むことができる。したがって、入力モダリティは、ユーザがボットと通信するためのさまざまな方法を指す。入力モダリティは、キーボードまたはマウスによるナビゲーション、タッチセンシティブジェスチャなども含むことができる。
コンピュータビジョンコンポーネント208のモダリティに関連して、写真は、テキストよりもユーザが探しているものを良く表していることが多い。ユーザはアイテムが何と呼ばれるのかわからない可能性があり、あるいは、専門家だけが知っている可能性がある細かい詳細な情報、例えば、衣服の複雑な模様や家具の特定のスタイルのためにテキストを使うことは難しいか、不可能でさえあるかもしれない。さらに、携帯電話で複雑なテキストクエリを入力することは不便であり、長いテキストクエリは一般的に再現率が低い。したがって、コンピュータビジョンコンポーネント208の重要な機能は、オブジェクトの位置特定、オブジェクトの認識、光学式文字認識(OCR)、および画像またはビデオからの視覚的合図に基づくインベントリに対するマッチングを含むことができる。コンピュータビジョンを有効にしたボットは、内蔵カメラを備えたモバイル機器で実行するときに有利である。強力なディープニューラルネットワークは、コンピュータビジョンアプリケーションを可能とするために使用され得る。
一例では、ダイアログマネージャ216は、サブコンポーネントとしてコンテキストマネージャ218およびNLGコンポーネント212を有する。上述のように、ダイアログマネージャ216は、「特異性の完全性」を理解し、次のアクションタイプおよびパラメータ(例えば、「検索」または「ユーザからの追加情報の要求」)を決定するように動作する。コンテキストマネージャ218は、ボットおよびそのAIに対して所与のユーザのコンテキストおよび通信を管理するように動作する。コンテキストマネージャ218は、2つの部分、すなわち長期間の履歴と短期間のメモリとを含む。各コンテキストマネージャエントリは、関連する意図およびすべてのパラメータ、ならびにすべての関連する結果を記述することができる。コンテキストは、インベントリに対するものであり、他の将来の知識源に対するものである。NLGコンポーネント212は、インテリジェントボットと対話するユーザに提示するために、AIメッセージから自然言語発話を構成するように動作する。
人と機械との間の流暢で、自然で、有益で、さらには面白い対話は、過去の世紀の大半にわたって研究されてきた困難な技術的課題であり、まだ解決していないと見なされている。しかしながら、最近のAIの発展は、Siri(登録商標)およびAlexa(登録商標)のような有用な対話システムを生み出した。
インテリジェントボットの電子商取引の例では、この課題を解決しようとする上で最初に非常に役立つ要素は、膨大なセットの電子商取引データを活用することである。このデータのいくつかは、独自のデータベースまたはクラウド、例えばデータベース/クラウド126に保持され得る。このデータに関する統計は、コンテキストとして検索コンポーネント220からダイアログマネージャ216に伝達され得る。人工知能フレームワーク128は、ユーザからの発話に直接作用し、これは、音声認識コンポーネント210、次にNLUコンポーネント214を通り、次いで半解析済みデータとしてコンテキストマネージャ218に渡され得る。したがって、NLGコンポーネント212は、ダイアログマネージャ216が、ユーザに対しテキストまたはスピーチで人間のような質問および回答を生成するのを助けることができる。コンテキストマネージャ218は、ユーザと人工知能フレームワーク128との間のマルチターンおよび長期の会話の一貫性を維持する。
識別は、関連性のある有用な情報のみについて、膨大な電子商取引データセットをポーリングするために推奨され得る。一例では、人工知能フレームワーク128は、検索コンポーネント220からの結果および検索コンポーネント220内のインテリジェンスを使用して、この情報を提供する。この情報は、コンテキストマネージャ218からの対話の履歴と組み合わせることが可能である。次に、人工知能フレームワーク128は、対話の次の順番を決定することができ、例えば、それが質問であるべきか、または例えば既存の見解もしくはユーザの意図を検証するための「根拠記述」であるべきか、またはアイテムの推薦であるべきか(または、例えば、3つすべての任意の組み合わせか)を決定し得る。これらの決定は、データセット、ユーザのチャット履歴、およびユーザの見解のモデルの組み合わせによって行われ得る。NLGコンポーネント212は、これらの決定に基づいて、ユーザへのテキストまたは音声による返信のための言葉を生成することができる。
本発明の主題によって提供される技術的解決策は、ユーザが自然な会話でインテリジェントオンラインパーソナルアシスタントとコミュニケーションすることを可能にする。アシスタントは、時間の経過とともに次第に特定のユーザの好みを理解し、幅広い製品についての知識が豊富になるため効率的である。様々な便利な入力様式であるが、ユーザは写真を共有すること、または音声またはテキストを使用することができ、そして支援されたユーザエクスペリエンスは、例えば、高級店で信頼できる知識豊富な人間の買い物アシスタントと話すことと類似であり得る。
従来、オンラインショッピングシステムにより使用されているアプローチとデータは、短期的な収益を最大化するために、無遠慮に単純化された仮定で、顔の見えない購買者のグループに狙いを定めている。従来のサイトやアプリは、ユーザがどのように、なぜ、そしていつ通知されたいのかを理解していない。通知は、迷惑であり、不適切であり、人間味がなく、各ユーザの好みに無関心なものであり得る。一人の個人は、単一のアカウントと同じではない。人々はアカウントとデバイスを共有する。パスワードはプラットフォームを安全にも使いやすくもしない。弱いオンラインアイデンティティおよび(デバイス、場所、異常な行動後の通知などのような)環境信号の無視の問題は、市場で詐欺行為をすることを容易にする。
図3Aを参照して、音声認識コンポーネント210の図示された構成要素について説明する。特徴抽出構成要素は、生のオーディオ波形を、音を表すある次元の数ベクトルに変換するように動作する。この構成要素は、ディープラーニングを使用して、生の信号を高次元の意味空間に射影する。音響モデル構成要素は、音素および異音などの音声単位の統計モデルをホストするように動作する。ディープニューラルネットワークの使用は可能であるが、これらには混合ガウスモデル(GMM)を含めることが可能である。言語モデル構成要素は、文法の統計モデルを使用して、単語を文にまとめる方法を定義する。このようなモデルは、Nグラムベースのモデルや、単語の埋め込みに基づいて構築されたディープニューラルネットワークを含み得る。音声−テキスト(STT)デコーダ構成要素は、音声発話を、隠れマルコフモデル(HMM)フレームワークにおいて、特徴抽出構成要素、音響モデル構成要素、および言語モデル構成要素を使用して生信号から導出される特徴を通常利用する一連の単語に変換して、特徴シーケンスから単語シーケンスを導出することが可能である。一例では、クラウド内の音声−テキストサービス(例えば、データベース/クラウド126)は、音声サンプルを音声発話用に投稿し、対応する単語シーケンスを検索することを可能にするAPIを有するクラウドフレームワーク内にデプロイされたこれらのコンポーネントを有する。制御パラメータは、音声−テキストプロセスをカスタマイズし、またはそれに影響を与えるために利用可能である。
人工知能フレームワーク128の一例では、音声認識コンポーネント210のための2つの追加部分、すなわち話者適応構成要素および言語モデル(LM)適応構成要素が提供される。話者適応構成要素は、STTシステムのクライアント(例えば、音声認識コンポーネント210)が各話者/ユーザに対して特徴抽出構成要素および/または音響モデル構成要素をカスタマイズすることを可能にする。このことは、ほとんどの音声−テキストシステムが、ターゲット地域の話者の代表的なセットからのデータに基づいてトレーニングされ、通常、システムの精度はターゲット話者とトレーニングプールの話者の一致度に大きく依存するため、重要である可能性がある。話者適応構成要素は、ユーザのイントネーション、発音、アクセント、および他の音声ファクタの特異性を継続的に学習することによって音声認識コンポーネント210(およびその結果として人工知能フレームワーク128)が話者の変動に対してロバストになり、これらを音声依存構成要素、例えば、特徴抽出構成要素、および音響モデル構成要素に適用することを可能にする。このアプローチでは、各話者に対して小さな音声プロファイルを作成して永続化する必要があり得るが、一般に、精度の潜在的な利点はストレージの欠点をはるかに上回る。
LM適応構成要素は、ターゲットドメインからの新しい単語および代表的な文、例えばインベントリカテゴリまたはユーザペルソナを用いて言語モデル構成要素および音声−テキストボキャブラリをカスタマイズするように動作する。この能力は、新しいカテゴリおよびペルソナがサポートされるときに人工知能フレームワーク128が拡張性のあるものであることを可能にする。
図3Bは、人工知能フレームワーク128におけるテキスト正規化のためのフローシーケンス302を示す。一例では、フローシーケンス302を実行するテキスト正規化コンポーネントは、音声認識コンポーネント210に含まれる。フローシーケンス302における重要な機能は、(句読点、数字、大文字小文字などを扱うための)正字法の正規化、(頭字語、略語、不完全な断片、スラングなどを含む口語体のチャットタイプのテキストを扱うための)会話テキストの正規化、および(正規化された一連の外国語の単語を、例えば、英語を含むがこれに限定されない動作言語の一連の単語に変換するための)機械翻訳を含む。
人工知能フレームワーク128は現代のコミュニケーションを容易にする。例えばミレニアル世代は、写真、音声、およびテキストを介してコミュニケーションをすることをしばしば望む。人工知能フレームワーク128が複数のモダリティを使用する技術的能力は、単なるテキストの代わりに意図のコミュニケーションを可能にする。人工知能フレームワーク128は、技術的解決策を提供し、かつ効率的である。多くの場合、テキストよりも音声コマンドまたは写真を使用してスマートパーソナルアシスタントと対話する方が速い。
図4は、本明細書に記載の様々なハードウェアアーキテクチャと併せて使用することができる例示的なソフトウェアアーキテクチャ406を示すブロック図である。図4は、ソフトウェアアーキテクチャの非限定的な例であり、本明細書に記載の機能を容易にするために他の多くのアーキテクチャが実装され得ることが理解されよう。ソフトウェアアーキテクチャ406は、とりわけ、プロセッサ504、メモリ514、および入力/出力(I/O)コンポーネント518を含む、図5の機械500などのハードウェア上で実行することができる。代表的なハードウェア層452が示されており、これは、例えば、図5の機械500を表すことができる。代表的なハードウェア層452は、関連する実行可能な命令404を有する処理ユニット454を含む。実行可能な命令404は、本明細書に記載の方法、構成要素などの実装を含む、ソフトウェアアーキテクチャ406の実行可能な命令を表す。ハードウェア層452は、実行可能命令404も有するメモリおよび/または記憶モジュール、メモリ/記憶装置456も含む。ハードウェア層452は、他のハードウェア458も含むことができる。
図4の例示的アーキテクチャでは、ソフトウェアアーキテクチャ406は、各層が特定の機能を提供する層のスタックとして概念化することができる。例えば、ソフトウェアアーキテクチャ406は、オペレーティングシステム402、ライブラリ420、アプリケーション416、およびプレゼンテーション層414などの層を含むことができる。動作上、アプリケーション416および/または層内の他のコンポーネントは、ソフトウェアスタックを介してアプリケーションプログラミングインタフェース(API)コール408を呼び出し、APIコール408に応じて、応答を受け取ることができる。示された層は本質的に代表的なものであり、全てのソフトウェアアーキテクチャが全ての層を有するわけではない。例えば、いくつかのモバイルまたは特殊用途のオペレーティングシステムは、フレームワーク/ミドルウェア418を提供しないかもしれないが、他のものはそのような層を提供するかもしれない。他のソフトウェアアーキテクチャは、追加の層または異なる層を含み得る。
オペレーティングシステム402は、ハードウェアリソースを管理し、共通のサービスを提供することができる。オペレーティングシステム402は、例えば、カーネル422、サービス424、およびドライバ426を含み得る。カーネル422は、ハードウェアと他のソフトウェア層との間の抽象化層として機能することができる。例えば、カーネル422は、メモリ管理、プロセッサ管理(例えば、スケジューリング)、コンポーネント管理、ネットワーキング、セキュリティ設定などを担当してもよい。サービス424は、他のソフトウェア層に他の共通サービスを提供することができる。ドライバ426は、基礎となるハードウェアを制御またはインタフェースすることを担当する。例えば、ドライバ426は、ハードウェア構成に応じて、ディスプレイドライバ、カメラドライバ、ブルートゥース(登録商標)ドライバ、フラッシュメモリドライバ、シリアル通信ドライバ(例えば、ユニバーサルシリアルバス(USB)ドライバなど)、Wi−Fi(登録商標)ドライバ、オーディオドライバ、電源管理ドライバなどを含み得る。
ライブラリ420は、アプリケーション416および/または他のコンポーネントおよび/または層によって使用される共通のインフラストラクチャを提供する。ライブラリ420は、他のソフトウェアコンポーネントが、基礎となるオペレーティングシステム402の機能(例えば、カーネル422、サービス424、および/またはドライバ426)と直接インタフェースするよりも簡単な方法でタスクを実行することを可能にする機能を提供し得る。ライブラリ420は、メモリ割り当て機能、文字列操作機能、数学的機能などの機能を提供することができるシステムライブラリ444(例えば、C標準ライブラリ)を含むことができる。さらに、ライブラリ420は、メディアライブラリ(例えば、MPREG4、H.264、MP3、AAC、AMR、JPG、およびPNGなどの様々な既知のメディアフォーマットの提示および操作をサポートするためのライブラリ)、グラフィックライブラリ(例えば、ディスプレイ上に2Dおよび3Dグラフィックコンテンツをレンダリングするために使用できるOpenGLフレームワーク)、データベースライブラリ(例えば、様々なリレーショナルデータベース機能を提供できるSQLite)、ウェブライブラリ(例えば、ウェブブラウジング機能を提供することができるWebKit)などのAPIライブラリ446を含むことができる。ライブラリ420は、アプリケーション416および他のソフトウェアコンポーネント/モジュールに、他の多くのAPIを提供するための多種多様な他のライブラリ448も含み得る。
フレームワーク、フレームワーク/ミドルウェア418(ミドルウェアとも呼ばれる)は、アプリケーション416および/または他のソフトウェアコンポーネント/モジュールによって使用され得るより高いレベルの共通インフラストラクチャを提供し得る。例えば、フレームワーク/ミドルウェア418は、様々なグラフィックユーザインタフェース(GUI)機能、高レベルのリソース管理、高レベルの位置特定サービスなどを提供することができる。フレームワーク/ミドルウェア418は、アプリケーション416および/または他のソフトウェアコンポーネント/モジュール(それらのうちのいくつかは特定のオペレーティングシステムまたはプラットフォームに固有のもの)によって利用され得る広範囲の他のAPIを提供し得る。
アプリケーション416は、ビルトインアプリケーション438および/またはサードパーティアプリケーション440を含む。代表的なビルトインアプリケーション438の例は、連絡先アプリケーション、ブラウザアプリケーション、ブックリーダーアプリケーション、ロケーションアプリケーション、メディアアプリケーション、メッセージングアプリケーション、および/またはゲームアプリケーションを含み得るが、それらに限定されない。サードパーティアプリケーション440は、特定のプラットフォームのベンダ以外のエンティティによるANDROID(登録商標)またはIOS(登録商標)ソフトウェア開発キット(SDK)を用いて開発された任意のアプリケーションを含み得、IOS(登録商標)、ANDROID(登録商標)、WINDOWS(登録商標)フォン、または他のモバイルオペレーティングシステムなどのモバイルオペレーティングシステム上で実行されるモバイルソフトウェアであり得る。サードパーティアプリケーション440は、本明細書で説明されている機能を容易にするために、(オペレーティングシステム402などの)モバイルオペレーティングシステムによって提供されるAPIコール408を呼び出すことができる。
アプリケーション416は、ビルトインオペレーティングシステム機能(例えば、カーネル422、サービス424および/またはドライバ426)、ライブラリ420、およびフレームワーク/ミドルウェア418を使用して、システムのユーザと対話するためのユーザインタフェースを生成することができる。代替的に、または追加で、いくつかのシステムでは、ユーザとの対話は、プレゼンテーション層414などのプレゼンテーション層を介して行われ得る。これらのシステムでは、アプリケーション/コンポーネントの「ロジック」は、ユーザと対話するアプリケーション/コンポーネントの態様から切り離すことが可能である。
一部のソフトウェアアーキテクチャは、仮想マシンを使用している。図4の例では、これは仮想マシン410によって示されている。仮想マシン410は、アプリケーション/コンポーネントがハードウェアマシン(例えば、図5の機械500など)上で実行されているかのように実行することができるソフトウェア環境を生成する。仮想マシン410は、ホストオペレーティングシステム(図4のオペレーティングシステム(OS)436)によってホストされ、通常、必ずというわけではないが、仮想マシンの動作ならびにホストオペレーティングシステム(例えば、オペレーティングシステム402)とのインタフェースを管理する仮想マシンモニタ460を有する。オペレーティングシステム、オペレーティングシステム(OS)436、ライブラリ434、フレームワーク432、アプリケーション430、および/またはプレゼンテーション層428などのソフトウェアアーキテクチャが仮想マシン410内で実行される。仮想マシン410内で実行されるソフトウェアアーキテクチャのこれらの層は、前述の対応する層と同じでもよく、または異なってもよい。
図5は、機械可読媒体(例えば、機械可読記憶媒体)から命令を読み取り、本明細書で論じる方法の任意の1つまたは複数を実行することができる、いくつかの例示的な実施形態による機械500の構成要素を示すブロック図である。具体的には、図5は、その中で機械500に本明細書で論じられる方法のうちの任意の1つまたは複数を実行させるための命令510(例えば、ソフトウェア、プログラム、アプリケーション、アプレット、アプリ、または他の実行可能なコード)が実行され得るコンピュータシステムの例示の形態における機械500の概略図を示す。したがって、命令は、本明細書に記載のモジュールまたはコンポーネントを実装するために使用され得る。命令は、一般的なプログラムされていない機械を、説明された方法で説明され図示された機能を実行するようにプログラムされた特定の機械に変換する。代替の実施形態では、機械500は、スタンドアロンデバイスとして動作するか、または他の機械に結合されてもよい(例えばネットワーク接続されてもよい)。ネットワーク化されたデプロイメントでは、機械500は、サーバ−クライアントネットワーク環境ではサーバ機器またはクライアント機器のキャパシティで、またはピアツーピア(または分散)ネットワーク環境ではピア機器として動作することができる。機械500は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットコンピュータ、ラップトップコンピュータ、ネットブック、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、エンターテイメントメディアシステム、携帯電話、スマートフォン、モバイルデバイス、ウェアラブルデバイス(例えばスマートウォッチ)、スマートホームデバイス(例えばスマート電化製品)、その他のスマートデバイス、ウェブ電化製品、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、または機械500によってとられるべき動作を指定する命令500を順次または他の方法で実行することができる任意の機械を含み得るが、これに限定されない。さらに、単一の機械500のみが示されているが、「機械」という用語は、命令510を個別にまたは共同で実行して本明細書で論じる方法のうちの任意の1つまたは複数を実行する機械の集合も含むものと解釈されよう。
機械500は、バス502を介するなどして互いに通信するように構成され得るプロセッサ504、メモリ/記憶装置506、およびI/Oコンポーネント518を含み得る。メモリ/記憶装置506は、メインメモリなどのメモリ514、または他のメモリ記憶装置、およびストレージユニット516を含むことができ、両方ともバス502を介するなどして、プロセッサ504にアクセス可能である。記憶装置516およびメモリ514は、本明細書に記載の方法または機能のうちの任意の1つまたは複数を具体化する命令510を格納する。命令510は、機械500によるその実行中、メモリ514内、記憶装置ユニット516内、プロセッサ504のうちの少なくとも一つ内(例えば、プロセッサのキャッシュメモリ内)、またはそれらの任意の適切な組合せ内に、完全にまたは部分的に存在し得る。したがって、メモリ514、記憶装置ユニット516、およびプロセッサ504のメモリは、機械可読媒体の例である。
I/Oコンポーネント518は、入力を受信し、出力を提供し、出力を生成し、情報を送信し、情報を交換し、測定値を捕捉するなどのための多種多様な構成要素を含み得る。特定の機械に含まれる特定のI/Oコンポーネント518は、機械の種類に依存する。例えば、携帯電話などの携帯機器は、タッチ入力デバイスまたは他のそのような入力機構を含む可能性があり、ヘッドレスサーバ機器は、そのようなタッチ入力デバイスを含まない可能性が高いであろう。I/Oコンポーネント518は、図5には示されていない他の多くの構成要素を含み得ることが理解されよう。I/Oコンポーネント518は、単に以下の説明を単純化するために機能に従ってグループ化されており、そのグループ化は決して限定的なものではない。様々な例示的実施形態では、I/Oコンポーネント518は出力コンポーネント526および入力コンポーネント528を含み得る。出力コンポーネント526は、視覚的構成要素(例えば、プラズマディスプレイパネル(PDP)、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)、プロジェクタ、または陰極線管(CRT))、音響部品(例えばスピーカ)、触覚部品(例えば振動モータ、抵抗機構)、その他の信号発生器などを含み得る。入力コンポーネント528は、英数字入力構成要素(例えば、キーボード、英数字入力を受け取るように構成されたタッチスクリーン、フォトオプティカルキーボード、または他の英数字入力構成要素)、ポイントベースの入力構成要素(例えば、マウス、タッチパッド、トラックボール、ジョイスティック、モーションセンサ、またはその他のポインティングデバイス)、触覚入力コンポーネント(例えば、物理ボタン、タッチまたはタッチジェスチャの位置および/または力を提供するタッチスクリーン、またはその他の触覚入力構成要素)、音声入力部品(例えば、マイク)などを含み得る。
さらなる例示的実施形態では、I/Oコンポーネント518は、他の様々なコンポーネントの中で、バイオメトリックコンポーネント530、モーションコンポーネント534、環境コンポーネント536、または位置コンポーネント538を含み得る。例えば、バイオメトリックコンポーネント530は、表情(例えば、手の表情、顔の表情、声の表情、身体のジェスチャ、または目の動き)を検出し、生体信号(例えば、血圧、心拍数、体温、発汗、または脳波)を測定し、人物を識別(例えば、音声識別、網膜識別、顔識別、指紋識別、または脳波に基づく識別)する等のための構成要素を含み得る。モーションコンポーネント534は、加速度センサ構成要素(例えば、加速度計)、重力センサ構成要素、回転センサ構成要素(例えば、ジャイロスコープ)などを含み得る。環境コンポーネント536は、例えば、照明センサ構成要素(例えば、光度計)、温度センサ構成要素(例えば、周囲温度を検出する1つまたは複数の温度計)、湿度センサ構成要素、圧力センサ構成要素(例えば、気圧計)、音響センサ構成要素(例えば、背景雑音を検出する1つまたは複数のマイクロホン)、近接センサ構成要素(例えば、近くの物体を検出する赤外線センサ)、ガスセンサ(例えば、安全のために有害ガスの濃度を検出、または大気中の汚染物質を測定するためのガス検出センサ)、または周囲の物理的環境に対応する標示、測定値、または信号を提供することができる他の構成要素を含み得る。位置コンポーネント538は、位置センサ構成要素(例えば、全地球測位システム(GPS)受信機部品)、高度センサ構成要素(例えば、高度が導出され得る気圧を検出する高度計または気圧計)、方位センサ構成要素(例えば、磁力計)などを含み得る。
通信は、多種多様な技術を使用して実装することができる。I/Oコンポーネント518は、カップリング522およびカップリング524を介してそれぞれ機械500をネットワーク532またはデバイス520に結合するように動作可能な通信コンポーネント540を含み得る。例えば、通信コンポーネント540は、ネットワーク532とインタフェースするためのネットワークインタフェース構成要素または他の適切なデバイスを含み得る。さらなる例では、通信コンポーネント540は、有線通信構成要素、無線通信構成要素、セルラー通信構成要素、近距離無線通信(NFC)構成要素、Bluetooth(登録商標)構成要素(例えば、Bluetooth(登録商標)LowEnergy)、Wi−Fi(登録商標)構成要素、および他のモダリティを介して通信を提供するための他の通信構成要素を含み得る。デバイス520は、他の機械または多種多様な周辺デバイス(例えば、ユニバーサルシリアルバス(USB)を介して結合された周辺デバイス)のうちのいずれかであってよい。
さらに、通信コンポーネント540は、識別子を検出するか、または識別子を検出するように動作可能な構成要素を含み得る。例えば、通信コンポーネントプロセッサ、通信コンポーネント540は、無線周波数識別(RFID)タグリーダ構成要素、NFCスマートタグ検出構成要素、光学式リーダ構成要素(例えば、ユニバーサルプロダクトコード(UPC)バーコード、QuickResponse(QR)コード、Aztecコード、Data Matrix、Dataglyph、MaxiCode、PDF417、UltraCode、UCC RSS−2Dバーコード、およびその他の光学コードなどの1次元バーコードなどの1次元バーコードを検出するための光学センサ)、または音響検出コンポーネント(例えば、タグ付きオーディオ信号を識別するためのマイク)を含み得る。さらに、通信コンポーネント540を介して、インターネットプロトコル(IP)ジオロケーションによる位置、Wi−Fi(登録商標)信号三角測量による位置、特定の位置を示すことができるNFCビーコン信号を検出することによる位置などのような、様々な情報が導出され得る。
ここで図6を参照すると、インテリジェントパーソナルアシスタントシステム106によって提供されるインテリジェントオンラインパーソナルアシスタントをデプロイすることができる例示的な環境600が示されている。環境600の中心に、AIを有するインテリジェントボット602が示されている。ボットは、コンピュータビジョンコンポーネント208、音声認識コンポーネント210、NLUコンポーネント214、ダイアログマネージャ216、NLGコンポーネント212、検索コンポーネント220、およびアイデンティティサービス222を利用して、効率的で、興味深く、効果的なダイアログにユーザを参加させ、彼らの意図を解読し、パーソナライズされた結果を提供する。
関連付けられたアプリケーション604は、魅力的なモバイル設計機能および要素を備えたボット602の全能力および知能を紹介することが可能である。ファブリック606は、フェイスブックメッセンジャー(登録商標)、Skype(登録商標)およびCortana(登録商標)(例えば)と統合されて、ユーザがすでに時間を費やしている場所で取引することを可能にする。スマート通知610プラットフォームは、任意の数のチャネル(例えば、SMS、プッシュ通知、電子メール、メッセージング)を介して適切なタイミングで適切な情報をユーザに配信し、ユーザがボット602および関連市場に関わることを促す。コミュニティ608の機能により、ユーザは、自分の時間の大部分を既に費やしている同じメッセージングシステムを使用して、友達、テイストメーカー(流行を作り出す人)、およびブランドと接続し、関与し、対話することができる。その他の機能は、グループ購入とギフト購入を含む。リワード612プラットフォームは、ボット602により深く関与することをユーザに奨励する。リワードは、製品の大幅な割引、ユニークなインベントリへのアクセス、スコア、レベルなどによるアプリ内の認識などを含み得る。マーケティング614では、より個人的な方法で、ある人々(例えば、ミレニアル世代)の注目を集めるために、伝統的、社会的、その他のマーケティングの組み合わせが行われる。従来の技術は、販売方法、電子メール、検索エンジン最適化(SEO)、および検索エンジンマーケティング(SEM)、ならびに新規および既存のユーザをターゲットとしたソーシャル広告、バイラルクーポンなどの実験的技術を含み得る。
図7は、電子市場においてアイテム推薦を生成するために自然言語ユーザ入力を処理するインテリジェントパーソナルアシスタントシステム106の概要を示す。インテリジェントパーソナルアシスタントシステム106はこの使用シナリオに限定されないが、この状況において特に有用であり得る。前述のように、テキスト、画像、および音声データの任意の組み合わせが、人工知能フレームワーク128によって受信され得る。画像データは、コンピュータビジョンコンポーネント208によって処理されて、画像属性データを提供することができる。音声データは、音声認識コンポーネント210によってテキストへと処理されてもよい。
これらの入力および他のすべては、分析のためにNLUコンポーネント214に提供され得る。NLUコンポーネント214は、ユーザ入力を解析し、ユーザの意図および意図に関連するパラメータを判定するのを助けるように動作することができる。例えば、NLUコンポーネント214は、ユーザの関心のある主要なオブジェクト、およびその主要なオブジェクトに関連する様々な属性および属性値を識別することができる。NLUコンポーネント214は、ユーザ入力タイプ(例えば、質問または発言)およびターゲットアイテムの受取人などの他のパラメータを判定することもできる。NLUコンポーネント214は、抽出されたデータをダイアログマネージャ216、ならびに前述のAIオーケストレータ206に提供することができる。
NLUコンポーネント214は、一般に、フォーマルな、およびインフォーマルな自然言語ユーザ入力を、よりフォーマルな、機械可読の、ユーザのクエリの構造化された表現に変換することができる。その形式化されたクエリは、ダイアログマネージャ216によってさらに強化することが可能である。ひとつのシナリオでは、NLUコンポーネント214は、マルチターン対話型ダイアログにおいてダイアログマネージャ216からの機械生成プロンプトに応答して、元のクエリおよびユーザによって提供されるさらなるデータを含む一連のユーザ入力を処理する。このユーザ−機械対話は、電子市場で購入可能な最も関連性のあるアイテムについての1つまたは複数の自動検索の効率および精度を向上させることができる。検索は、検索コンポーネント220によって実行され得る。
ユーザの意図を抽出することは、どのようなさらなるアクションが必要であるか判定する上でAIボットにとって非常に役立つ。あるeコマース関連の例では、最も高いレベルでは、ユーザの意図は、ショッピング、雑談(chit-chat)、ジョーク、天気などであり得る。ユーザの意図が買い物である場合、それは、特定の買い物ミッションの探求、ユーザ以外のターゲット受取人にアイテムを贈ること、または単に購入可能なアイテムの一覧を閲覧することに関連し得る。高位の意図が識別されると、人工知能フレームワーク128は、ユーザが何を探しているのか、すなわち、要求は広いのか(例えば、靴、ドレス)、あるいはもっと具体的なのか(例えば、2組の新しい黒のNike(登録商標)のサイズ10のスニーカー)、それとも中間のどこかであるのか(例えば、黒のスニーカー)の判定を課せられる。
この分野における従来技術に対する新規で明確な改善では、人工知能フレームワーク128は、利用可能な所望のアイテムを最もよく特徴付ける、カテゴリ、属性、および属性値などの特定の主要なディメンションにユーザ要求をマッピングすることができる。これにより、ボットは、必要に応じて検索条件をさらに絞り込むためにユーザに関与する能力を与えられる。例えば、ユーザがドレスに関する情報をボットに要求した場合、詳細が必要な上位の属性は、色、素材、およびスタイルであり得る。さらに、時間の経過とともに、機械学習は、より深い意味論およびより広い「世界知識(world knowledge)」をシステムに追加して、ユーザの意図をよりよく理解することができる。例えば、「私はイタリアでの6月の結婚式のためのドレスを探しています」という入力は、そのドレスが所与の時期および場所における特定の気象条件に適しているべきであり、フォーマルな場面にも適しているべきであることを意味している。別の例としては、ユーザがボットに「私の甥のための贈り物」を尋ねることが挙げられる。訓練されると、人工知能フレームワーク128は、贈り物が特別なタイプの意図であること、ターゲット受取人が「甥」の意味に基づく男性であること、およびターゲット受取人の年齢、機会、趣味などの属性が明確にされるべきことを理解するだろう。
図8は、いくつかの例示的実施形態による、NLUコンポーネント214、そのサブコンポーネント、およびそれが対話する他の構成要素を示す。いくつかの実施形態において、ユーザの意図の抽出は、NLUコンポーネント214によって、このしばしば複雑である技術的問題を複数の部分に分解することによって実行される。ユーザの意図を抽出するという問題全体のうちの様々な部分の各々は、時には別々に、そして時には組み合わせて、NLUコンポーネント214の特定のサブコンポーネントによって処理され得る。
サブコンポーネントは、例えば、スペル訂正器(スペラー)802、機械翻訳器(MT)804、構文解析器806、ナレッジグラフ808、固有表現認識(Named Entity Recognition)(NER)サブコンポーネント810、語義検出器(WSD)812、意図検出器813、およびインタプリタ814を含み得る。NLUコンポーネント214は、一実施形態では、例えば、AIオーケストレータ206を介して、テキスト、視覚的セレクタ、および画像属性を受信し、それぞれ別々にまたは組み合わせて処理することができる。視覚的セレクタは、典型的には、提示された多数の色見本からの色の選択、または関連し、したがって選択された精神状態を有する顔文字の選択など、ユーザによって提供されるグラフィカルな選択である。NLUコンポーネント214は、一実施形態では、説明されるその様々な出力をAIオーケストレータ206に提供して、ダイアログマネージャ216などの人工知能フレームワーク128の他のコンポーネントに配信されるようにできる。
NLUコンポーネント214によって考慮される他の入力は、(例えば、コンテキストマネージャ218からの)ダイアログコンテキスト816、(例えば、アイデンティティサービス222からの)ユーザ識別情報818、(例えば、電子市場のコア検索エンジン220機能からの)アイテムインベントリ関連情報820、およびユーザ入力からのユーザの意図の意味的推論を改善するための外部の世界知識822を含み得る。これらの入力の異なる種類の分析は、全体として解釈され、かつナレッジグラフ808を介して調整されることが可能な結果をそれぞれ生み出すことができる。ナレッジグラフ808は、例えば過去のユーザの対話、インベントリ関連データ、またはその両方に基づいていてもよい。
スペラー802は、ユーザにより入力されたテキスト内のスペルミスを識別し訂正することができる。ユーザテキストは、ユーザクエリおよびアイテムタイトルを含み得るが、それらに限定されない。機械翻訳器804は、任意選択で、ユーザの自然言語からのユーザ入力を、例えば英語を含むがこれに限定されない動作言語に翻訳することができる。スペラー802および機械翻訳器804は、他の正規化サブコンポーネントおよび/または構文解析器806と協調して、分析を改善するために、略語、頭字語、およびスラングを、よりフォーマルなデータへと処理することができる。
構文解析器(または係り受け解析器)806は、ユーザの入力クエリの主要なオブジェクトを見つけることによってユーザの意図を検出するのを助けることができる。このプロセスは、構文解析器が、マルチターンダイアログなどからのユーザ入力における前置詞ならびに直接および間接の目的語、動詞、ならびに肯定および否定を含む名詞句を識別および分析することを含み得る。肯定および否定は、いくつかの実施形態では意図検出器サブコンポーネント813において、または語義検出器812などの異なるサブコンポーネントによって検出され得る。
一実施形態では、構文解析器806は、完全に分解することができるユーザ入力の最長フラグメントから、ユーザの関心のある主要なオブジェクトを見つける。構文解析器806は、「こんにちは」および「私を助けてもらえますか」などの、少ない内容のユーザ入力語を破棄すること、および/または機械を混乱させることが少ないフレーズでそれらを置き換えることもできる。構文解析器806はまた、様々な機会(例えば、結婚式、母の日など)を認識することができる。
意図検出器813は、関心のある主要なオブジェクト(必ずではないが通常はアイテムカテゴリである)および構文解析器806によって示唆された結果に対するそれぞれの最良の属性を識別することによって、ユーザの意図の識別をさらに絞り込むことができる。例えば、ユーザの意図が特定のアイテムを買うことである場合、ナレッジグラフ808は、それがマッピングされる所与のアイテムインベントリ(例えば、eBayインベントリ、またはデータベース/クラウド126)内の主要アイテムカテゴリを使用することができる。ナレッジグラフ808は、そのアイテムカテゴリに関係する主要な(例えば、アイテムインベントリにおいて最も頻繁にユーザに照会される、または最も頻繁に発生する)アイテム属性、およびそれらの属性に対する主要な値を使用することもできる。したがって、NLUコンポーネント214は、その出力として、主要なオブジェクト、ユーザ意図、およびユーザクエリに関連する可能性が高いディメンションに沿って定式化されるナレッジグラフ808を提供することができる。この情報は、ユーザのクエリをアイテムの推薦に完全に分解するのに必要な情報、したがって追加の入力を介してユーザの要求をさらに絞り込むようにユーザに促すかどうか(そしてその方法)が欠けている場合に、ダイアログマネージャ216の助けとなり得る。
ナレッジグラフ808の背景情報は、人手で集められたカタログから導出された情報と、過去のユーザの行動から抽出された情報(例えば、一定期間にわたる電子市場との以前のユーザ対話すべての履歴)との混合として、アイテムインベントリから抽出され得る。ナレッジグラフは、インターネット百科事典(例えば、ウィキペディア)、オンライン辞書、シソーラス、および語彙データベース(例えば、WordNet)などの外部の情報源から抽出された世界知識も含み得る。例えば、用語類似性および関係性に関するデータは、女の子、娘、姉妹、女性、叔母、姪、祖母、および母親という用語がすべて女性および異なる特定の相対家族関係を指すことを判定するために利用可能であり得る。これらの追加の関連付けは、その意味、またはユーザのクエリ用語の意味を明確にし、ボットを教育するがユーザを困惑させるようなプロンプトの生成を防ぐのに役立ち得る。フォーカスグループの調査によると、一部のユーザはプロンプトに対し、所定の回数、例えば3回を超えて回答することを望まないことが示されており、そのため、これらのプロンプトの各々はできるだけ鋭いものであるべきである。
ナレッジグラフ808は、いくつかの実施形態では、例えばAIオーケストレータ206によって動的に更新され得る。すなわち、アイテムインベントリが変化した場合、または新しいユーザ行動または新しい世界知識データがユーザ検索の成功をもたらした場合、インテリジェントオンラインパーソナルアシスタント106は、将来のユーザ検索のためにそれらの変更を利用することができる。学習するアシスタントは、特にそれらのユーザが広範な会話に傾く傾向が少ないため、さらなるユーザ対話を促進し得る。したがって、実施形態は、ナレッジグラフ808を修正して、それが含み、かつNLUコンポーネント214内の他のサブコンポーネント、および外部の例えばダイアログマネージャ216の両方と共有する情報を調整することができる。
NERサブコンポーネント810は、解析されたユーザ入力からより深い情報(例えば、ブランド名、サイズ情報、色、および他の記述子)を抽出し、ユーザ自然言語クエリを、そのような解析されたデータ要素を含む構造化されたクエリに変換するのを助けることができる。NERサブコンポーネントは、世界知識を活用して、抽出された用語の意味を分解するのを助けることもできる。例えば、「ボルドー」に対するクエリは、そのクエリ用語が、アイテムカテゴリ(ワイン)、属性(タイプ、色、原産地)、およびそれぞれの対応する属性値(ボルドー、赤、フランス)を指し得ることをオンライン辞書および百科事典から、より成功裏に判定できる。同様に、地名(例えば、タホ湖)は、ユーザが関連アイテムを見つけるのを助けることができる所与の地理的位置、天気データ、文化情報、相対コスト、および人気のアクティビティに対応し得る。構造化クエリ深度(例えば、所与のユーザ発話長に対し分解されたタグの数)は、ダイアログマネージャ216が、検索コンポーネント220によって実行される検索におけるランク付けを改善するためにどのようなさらなるアクションを取るべきかを選択するのを助けることができる。
語義検出器812は、多義的である、すなわち文脈に基づいて異なる複数の意味を有する単語を処理することができる。例えば、入力用語「bank」は、地理的な意味での「土手」または購入取引支払いの意味での「金融機関」を指し得る。語義検出器812は、そのような単語を検出し、語義があいまいなままである場合には、ダイアログマネージャ216をトリガして、ユーザからさらなる解決を求めることができる。語義検出器812または意図検出器サブコンポーネント813は、それぞれ、「もっと見せて下さい」または「いいえ、それは好みません」などを含むがこれらに限定されない例示的なフレーズから肯定および否定を識別することもできる。したがって、構文解析器804、意図検出器813、および語義検出器812の機能は、特定の実装形態に応じて、ある程度重複するかまたはある程度相互に作用することができる。
インタプリタ814は、様々なNLUサブコンポーネントから来る分析された情報を調整し、出力を準備する。出力は、例えば、ユーザクエリの主要なオブジェクト、ならびに関連ナレッジグラフのディメンション(例えば、アイテムカテゴリ、アイテム属性、アイテム属性値)に関して分解された情報、ユーザの意図(例えば、ショッピングの場合、特定のアイテムを購入するか、贈り物を探すか、または一般的な閲覧か)、認識されたユーザステートメントの種類、意図されたターゲットアイテムの受取人などを含み得る。共有され、拡張され、そして処理されたユーザ入力に対して行われる個々の分析の組み合わせを通して、人工知能フレームワーク128の構成要素は、ユーザの意図を理解し、かつ広範囲の製品について精通している信頼できるパーソナルショッパー(ボット)を提供する。したがって、NLUコンポーネント214は、自然言語のユーザクエリを構造化されたクエリに変換して、最も関連性の高い結果をユーザに提供するのを助ける。
したがって、NLUコンポーネント214は、ミスを減らし、ユーザクエリの根底にあるユーザの意図を正しく予知する可能性を高め、より速くより的を絞った検索およびアイテムの推薦を生成することによって、インテリジェントパーソナルアシスタントシステム106の動作全体を改善する。NLUコンポーネント214は、特にマルチターンダイアログシナリオにおけるダイアログマネージャ216と共に、よりユーザ対話履歴に焦点を当てた、および/またはアイテムインベントリに焦点を当てた検索クエリを提供して実行することによって、検索コンポーネント220の動作を効果的に管理する。この際立った機能は、記載されているような要素の特定の規則化された組み合わせによって現在の技術水準を超えている。
より一般的にはユーザからの入力データを処理するためのNLUコンポーネント214およびインテリジェントパーソナルアシスタントシステム106の使用の例が説明される。ユーザは、「妻のためにサングラスを探しています」のような発言を提供し得る。NLUコンポーネント214は、この自然言語のユーザ入力を処理して、検索エンジン220および/またはダイアログマネージャ216に提供されるべき、よりフォーマルなクエリを生成することができる。よりフォーマルなクエリは、1つまたは複数の分解されたハンドルのそれぞれを、対応する分解された値と関連付けるタグのグループを含み得る。例えば、よりフォーマルなクエリは、「<意図:贈与、発言タイプ:発言、主要オブジェクト:サングラス、ターゲット:妻、ターゲットジェンダー:女性>」を含み得る。検索エンジンは、これらのタグの検索に基づいて、もともと提示されたユーザ入力の検索から得られる結果よりも、さらに関連性の高い結果を提供し得る。
この例では、インテリジェントパーソナルアシスタントシステム106は、ユーザの意図が(単なるセルフショッピングまたはブラウズに対して)贈り物であり、ユーザが(質問に対して)発言を提供したこと、およびユーザの関心がある主要なオブジェクトがサングラスであることを判定する。ユーザは買い物をしているが、その意図は、アイテムを特定のターゲットアイテム受取人である彼の妻に贈ることである。贈り物ミッションは、一般的なインベントリ閲覧またはユーザによるユーザのためのアイテムの購入とは多少異なる扱いを受け得る特別なタイプのショッピングミッションであることが知られている。
インテリジェントパーソナルアシスタントシステム106は、典型的には、固有表現認識サブコンポーネント810によって、「妻」が女性を指すことを認識することもできる。ターゲットとされたアイテム受取人である特定の個人は、例えば、アイデンティティサービス222によって提供されたデータから見つけることができる。さらに、世界知識を使用して、インテリジェントパーソナルアシスタントシステム106は、「妻」という用語が既婚女性を指しており、子供は一般に未婚であると判定することができる。この情報は、同じ情報を取得するためにユーザに要求することなく、より関連性の高いアイテム推薦を生成するために、他の種類のサングラス(例えば、男性用サングラス、子供用サングラス)に対し、女性のサングラスに検索を制限するのに役立ち得る。
図9は、いくつかの例示的実施形態による、さまざまな分析の結果を示す。一例では、ユーザは、テキスト入力「こんにちは、私に1組の赤いnikeyの靴を見つけてくれませんか?」とタイプし得る。結果として生じるフォーマルなクエリは、「<意図:買い物、発言タイプ:質問、主要オブジェクト:靴、ターゲット:自己、色:赤、ブランド:nike>」を含むことができる。ここでは、ユーザ入力は質問であり、ユーザは(単にアイテムインベントリを閲覧すること、または他の誰かへの贈り物を探すこととは対照的に)特定のアイテムの買い物をしている。構文解析器806は、「こんにちは、私に見つけてくれませんか」という用語は、有用なコンテンツを多くは提供しないので、無視することが可能であることを判定することができる。
スペラーサブコンポーネント802は、「nikey」が用語「nike(ナイキ)」の既知のスペルミスであると判定し、適切に訂正することができる。構文解析器サブコンポーネント806は、動詞、前置詞、および名詞句を識別することによって正規化された入力データを文法的に分析することができる。個々の単語間の文法的関係は、ある単語が別の単語にどのように係り受けするか、またはそれを修飾するかを示すことができ、この情報はユーザクエリを変換するための手がかりを提供し得る。
構文解析器サブコンポーネント806は、名詞句のチャンキングを実行し、最も長い解析済みクエリフラグメント「赤いナイキの靴」から、ユーザの関心の主要なオブジェクトが靴であることを識別することができる。すなわち、靴は、最も多数の修飾語の対象であると判定され、結果として得られるチャンキング構造の最も深いレベルにある。主要オブジェクトは多くの場合アイテムのカテゴリであるが、必ずしも常にそうであるとは限らないことに注意されたい。ここでの主要オブジェクトは、固有表現認識器810がそれぞれ色およびブランドに関連して判定することができる修飾語(「赤」および「nike(ナイキ)」)によっても説明される。
この例では2つの属性(色、ブランド)と対応する属性値(赤、ナイキ)が主要オブジェクトに対して提供されているが、前述の例では、せいぜい1つの属性しか提供されていなかった(例えば、女性のサングラスは推論によって間接的に指定されていた)ことに留意されたい。結果として、ダイアログマネージャ216は、適切なプロンプトが、後続の検索をさらに絞り込む可能性のある追加の条件をユーザに尋ねる質問ではなく、1つまたは複数のアイテム推薦であることが可能なほど十分にユーザのもともとのクエリが制約されていると判断し得る。対照的に、前のクエリでは、女性のサングラスに関するより詳細な情報が必要となる可能性があるので、ダイアログマネージャ216は、その目的のためにマルチターンダイアログでいくつかのプロンプトを生成することが可能である。しかしながら、あるユーザは、大量のプロンプトに悩まされており、毎ターンそれ自身でより多くの情報を抽出することができるボットを扱うことを好むかもしれない。したがって、各ユーザ発話からできるだけ多くの情報を収集することによって、マルチターンダイアログ内のターン数を最小限に抑えることが有利である。
例えば、NLUコンポーネント214は、検索されたアイテムインベントリに赤いナイキの靴のための多くの異なる項目があること、および/またはユーザがアイテムを選択する前に過去のユーザの対話が追加の属性値を決定したことを判定し得る。したがって、NLUコンポーネント214は、ナレッジグラフ808を調べて、ユーザが関心を持つこの主要なオブジェクトに対し最も有用な属性を判定することができる。ナレッジグラフ808は、アイテムカテゴリ「靴」について、最も有用な、および/または頻繁に指定される属性が、関連アイテムを見つけるうえでの各々の重要性の相対相関または関連強度または条件付き確率を示す、対応する条件付き確率値とともに、色、ブランド、およびサイズであることを示す情報を有し得る。これらの属性の全ては、検索を成功させるのに十分なほど具体的であると見なされるためには、クエリに対してパラメータ化される必要がある可能性がある。しかしながら、所定の割合の利用可能な関連付けを適切にカバーする限られた数の属性のみがパラメータ化される必要があるということもあり得る。
この例では、ユーザは色およびブランドの属性値を提供したが、サイズの属性値は提供していないので、ダイアログマネージャ216はユーザに「どのサイズが欲しいですか」と尋ね、さらにユーザ入力を待つことができる。ユーザが「10を希望します(I want 10)」と返信したと仮定する。これは何を意味するのだろうか。インテリジェントパーソナルアシスタントシステム106は、「10を希望します(I want 10)」を、以前に指定された10個の赤いナイキの靴をユーザが欲していると解釈するということもあり得る。世界知識は、靴が一般的にはペアになっているという情報を提供するかもしれないので、プロンプトに対するユーザの応答の再解釈は、ユーザが代わりに10組の赤いナイキの靴を欲しているという考えに多少絞り込まれ得る。しかしながら、会話のコンテキストがどちらも考慮されていないため、どちらの解釈も正しくない。すなわち、「10を希望します(I want 10)」というユーザ入力は、前の発話に関するより多くの情報(この場合はサイズ属性の値)を収集するために生成されたプロンプトに対する応答である。インテリジェントパーソナルオンラインアシスタント106は、その応答を以前のユーザ入力と関連付けることができない場合、会話型コンテキストを解決できないことを示すエラーステートメントを出力することができる。
コンテキストマネージャ218は、ユーザ対話の長期履歴だけでなく、所与の買い物ミッションについての現在のユーザ対話の短期記録も追跡することによって、そのような混乱を防ぐことができる。マルチターンダイアログにおけるプロンプトへの応答は、必ずしも単独のユーザの発話ではなく、通常、ダイアログ内の前のユーザの発話および前のプロンプト(もしあれば)に文脈的に関連している。したがって、インテリジェントパーソナルアシスタントシステム106は、絞り込まれた検索クエリが、推薦する関連項目を見つけるのにより成功するようにするのに十分な蓄積された検索条件をもたらすユーザの会話に対して適合している。
しかしながら、場合によっては、NLUコンポーネント214は、ユーザが以前のクエリミッションを放棄し、今は何か他のものを見つけることに興味があると判定し得る。したがって、ダイアログマネージャ216は、いくつかの実施形態では、NLUコンポーネント214からその判定の標示を受信し、それに応じてその動作を変更することができる。そのダイアログマネージャ216の動作は、例えば、可能性のある後の使用のために、現在の検索ミッションのための対話を保存すること、および前の検索ミッションに関するコンテキスト情報のいずれも使用することなく現在のユーザ発話に基づいて新しいダイアログを開始することを含み得る。一実施形態では、NLUコンポーネント214は、ユーザの関心のある新しい主要なオブジェクトが検出されたときにミッションのそのような変更が発生したと判定することができる。
図10は、いくつかの例示的実施形態によるナレッジグラフ808を示す。ナレッジグラフ808は一般に、ここでは楕円で示されている複数のノードを表すデータベースまたはファイルである。各ノードは、アイテム推薦を生成するために自然言語ユーザ入力を処理する例示的なシナリオについてのアイテムカテゴリ、アイテム属性、またはアイテム属性値を表すことができる。この例では、アイテムカテゴリは、「男性用運動靴」、「車&トラック」、および「女性用運動靴」を含む。図示のように、各アイテムカテゴリには、例えば、インベントリ追跡システムまたはインテリジェントパーソナルアシスタントシステム106によって識別番号が割り当てられていてもよい。
この例においてナレッジグラフ808に示されるアイテム属性は、「製品ライン」、「ブランド」、「色」、および「スタイル」を含む。アイテム属性は多くの場合、アイテムカテゴリに直接リンクされているが、必ずしもそうとは限らない。この例においてナレッジグラフ808に示されるアイテム属性値は、「エアジョーダン」、「コービー・ブライアント」、「エアフォース1」、「アシックス」、「ナイキ」、「ニューバランス」、「アディダス」、「ブルー」、「白」、「赤」、「黒」、「メタリックブラック」、「ランニング」、「バスケットボール」、「スニーカー」を含む。多くの場合、アイテム属性値はアイテム属性に直接リンクされているが、これはまた必ずしもそうとは限らない。
ナレッジグラフ808ノード間に示されるリンクは、2つの特定のノード間の関係の強さを示す関連相関値または関連値を有することができる有向エッジである。ナレッジグラフ808の相関値のいくつかを図10に示す。相関値は様々な方法で作成することができ、様々な目的に使用することができる。
例えば、一実施形態では、相関値は購入可能なアイテムのインベントリから導出することができる。インベントリは最新のものでも履歴的なものでもよい。売り手が販売用のアイテムをリストアップするとき、売り手は、アイテムを記述し、したがってアイテムを購入しようとしているユーザによって提供され得る有用な検索用語である、メタデータとしての1つまたは複数のアイテムカテゴリ、属性、および/または属性値を指定することができる。場合によっては、電子市場は、利用可能な所定のアイテムカテゴリおよび一般的に使用される説明用語を記載したガイドを売り手に提供することによるなどの、様々な方法で売り手のアイテムを分類することができる。
例えば、売り手は、売るべき1組の靴を有していることがあり、それらがアディダスによって製造された男性用の青い運動用ランニング靴であると指定することができる。売り手は、アイテムカテゴリが「男性用運動靴」であることを市場に対し指定することができ、売り手は、例えばアイテム属性のリストからアイテム属性を指定するように促され得る。あるいは、電子市場は、売り手がいくつかのアイテム属性値を提供したことを識別し、これらのアイテム属性値をさまざまなアイテム属性、例えば、おそらくメタデータ内の、所定の可能性としてこれらの値を持つ属性に自動的に関連付けることができる。電子市場は、例えば、「男性用運動靴」が実際にはより広いカテゴリの「靴」のサブカテゴリまたは属性であると判断することができ、これはなぜなら、例えば売り手または電子市場のいずれかがそのカテゴリのサブカテゴリまたは属性を定義しているからである。
電子市場は、販売可能なアイテムのインベントリを定期的に分析し、そのインベントリを記述する要約データをナレッジグラフ808の形で提供することができる。この手法において、例示的なナレッジグラフ808は、図示されているように、カテゴリ「男性用運動靴」内のすべてのインベントリアイテムのうち、アイテムの30%(または0.3)がアイテム属性「製品ライン」によって特徴付けられ、アイテムの40%(または0.4)がアイテム属性「ブランド」によって特徴付けられ、アイテムの20パーセント(または0.2)がアイテム属性「色」によって特徴付けられることを意味することができる。示されるように、アイテム属性「製品ライン」によって特徴付けられるアイテムのうち、20%(または0.2)はアイテム属性値「コービー・ブライアント」を有し、10%(または0.1)はアイテム属性値「エアフォース1」を有する。したがって、この実施形態では、ナレッジグラフ808は、利用可能なアイテムの実際のインベントリを記述するエントリを含み得る。
購入可能な数百万ものアイテムがある非常に大きな電子市場に対して、アイテムインベントリ全体の詳細な分析、特に任意の所与の時点でのその状況の分析は、計算コストがかかる可能性がある。したがって、そのような分析は、時折または定期的に継続的にのみ実行され得る。統計的サンプリング方法は、アイテムインベントリの特性のおおよその推定を記述するナレッジグラフ808を生成することができる。
ユーザクエリの処理中に、ユーザクエリからの解析された入力データ要素がナレッジグラフ808のディメンションと照合されて、ユーザの要求を利用可能なアイテムの供給と合致させるのを助けることができる。ナレッジグラフ808のディメンションは、購入に利用可能なアイテムを記述するアイテムカテゴリ、アイテム属性、およびアイテム属性値を含み得る。ユーザが男性用運動靴への関心を表明した場合、ユーザは、購入可能なアイテムのインベントリから関連アイテムを見つけるのをインテリジェントパーソナルアシスタントシステム106が助けることを期待する。購入できないアイテムを見つけることは、ユーザに買い物への興味を完全に失わせる可能性があり、これは大きな懸念の結果である。したがって、相関値は、所与のアイテム属性によって記述される、または所与のアイテム属性値を有する、所与のアイテムカテゴリ内のアイテムの相対数を表すことができる。相関値は、条件付き確率、例えば、特定のアイテム属性が指定されていると仮定した場合に、特定のアイテム属性値が指定される確率はいくらか、に基づいていてもよい。
異なる実施形態では、ナレッジグラフ808は、ある期間にわたるすべてのユーザと電子市場との過去の対話に基づいていてもよい。すなわち、ノードは、多くの以前のユーザにより、彼らの発話または市場でのナビゲーション履歴において提供された検索語を含むことができる。前述のようにインベントリを分析するのではなく、このアプローチではユーザの行動、例えば、購入者が市場と対話してインベントリにおいて関連するアイテムを見つける際に、購入者が何を言っているか、および何を行っているかを分析する。
この例示的実施形態では、図10に示される相関値は、条件付き確率に関して、最も流行している、または頻繁に発生するユーザ対話を示すことができる。例えばユーザが女性用運動靴への興味を示す場合、ナレッジグラフ808は、そのような購入者の対話の30%(または0.3)において、購入者が「スタイル」のアイテム属性を指定し、そのような購入者の対話の20%(または0.2)において、購入者が「ブランド」のアイテム属性を指定し、そのような購入者の対話の30%(または0.3)において、購入者が「カラー」のアイテム属性を指定することを示すことができる。したがって、利用可能なインベントリに関係なく、ナレッジグラフ808は、ユーザの検索行動、例えば、ユーザがどのように関連アイテムを見つけようとしているかを特徴付ける。
前の実施形態と同様に、ユーザクエリの処理中に、ユーザクエリからの解析済み入力データ要素をナレッジグラフ808のディメンションと照合して、ユーザの要求と利用可能なアイテムの供給との照合を支援することができる。しかしながら、ナレッジグラフ808のディメンションは、今や、購入する関連アイテムを探していたときに前のユーザのクエリ入力によって提供されたカテゴリ、属性、および属性値を含むことができる。例えば、ユーザが女性用運動靴に関心を表明した場合、インテリジェントパーソナルアシスタントシステム106は、購入可能なアイテムインベントリから他のユーザがどのように女性用運動靴アイテムに関連するアイテムを見つけたかを判定することによって最善の方法で遂行することができる。したがって、ナレッジグラフ808内の相関値またはスコアは、満足のいく検索の結論を導く際に所与のカテゴリ、所与の属性、または所与の属性値が使用された相対回数を表すことができる。言い換えれば、相関値は、ナレッジグラフ808内で1つの検索語から別の検索語へと横断するユーザ対話経路の所与の部分がどのように「踏み固められている(beaten)」かの尺度を効果的に表すことができる。
ナレッジグラフ808がどのように定式化されているかにかかわらず、ユーザ入力語とナレッジグラフのディメンション(例えば、アイテムカテゴリ、アイテム属性、およびアイテム属性値)との間のマッチングは、元のユーザクエリを改善されたクエリに変換するために使用され得る。このマッチングは、例えば、関連する検索結果を最もよく見つけるために、マルチターンダイアログにおいてユーザに対して、もしあるならば、どのようなプロンプトが生成されるべきかを判定するのを助けることができる。したがって、NLUコンポーネント214は、この目的のためにナレッジグラフ808からの情報をダイアログマネージャ216に提供することができる。すなわち、NLUコンポーネント214は、ある程度関連性を有するディメンションを有する簡潔なナレッジグラフ808を、ユーザの関心のある主要なオブジェクト、ユーザの意図、および関連パラメータと共にダイアログマネージャ216に配信することができる。
図11Aおよび図11Bは、いくつかの例示的実施形態による、アイテムカテゴリ、いくつかのアイテム属性、およびいくつかのアイテム属性値を有する簡潔なナレッジグラフ808を示す。明確にするために各図は別々に示され論じられているが、実際には2つの図に共通のナレッジグラフ808を一緒に指す場合がある。図11Aにおいて、正規化され解析されたユーザクエリは、前述したように、ユーザの関心の主要なオブジェクト「靴」に対し、アイテム属性/値タグ<色:赤、ブランド:ナイキ>を提供している。ナレッジグラフ808は、「靴」と「男性用運動靴」との間に40%(0.4)の相関関係があること、「男性用運動靴」と「ブランド」との間に40%(0.4)の相関関係があること、および「男性用運動靴」と「色」との間に20%(0.2)の相関関係があることを示している。また、「男性用運動靴」と「製品ライン」との間には30%(0.3)の相関関係があり、様々なアイテム属性値(例えば「エアジョーダン」、「コービー・ブライアント」、および「エアフォース1」)に対する様々な相関関係が既知である。よって、インベントリやユーザの行動に基づいているかどうかにかかわらず、「男性用運動靴」および「製品ライン」の未だ指定されていないクエリ用語は、検索の成功と有意な関連性を有している。したがって、ダイアログマネージャ216は、これらの未だに指定されていない可能性のパラメータ化を、それらの関連もしくは相関値、またはナレッジグラフ808階層におけるそれらの相対位置、または両方の組み合わせに従って、ユーザプロンプトを通してランク付けおよび優先順位付けし得る。
同様に、図11Bに関して、ナレッジグラフ808は、「靴」と「女性用運動靴」との間に30%(0.3)の相関関係があること、および「女性用運動靴」と「スタイル」との間に30%(0.3)の相関関係があることを示している。「女性用運動靴」も「スタイル」も、ユーザによって指定されておらず、「スタイル」に対する関連するアイテム属性値(例えば、「バスケットボール」、「ランニング」、および「スニーカー」)も指定されていない。したがって、ダイアログマネージャ216は、これらの未だに指定されていない可能性のパラメータ化を、それらの関連もしくは相関値、またはナレッジグラフ808階層におけるそれらの相対位置、または両方の組み合わせに従って、ユーザプロンプトを介して優先順位付けし得る。
あるプロンプト生成戦略では、ダイアログマネージャ216は、最も広いカテゴリからサブカテゴリまたは属性へ、そして次に属性値へと進み、その順序で一連のプロンプトトピックを決定することができる。すなわち、「靴」のカテゴリが指定されていると仮定すると、ダイアログマネージャ216は、ユーザが「男性用運動靴」または「女性用運動靴」に関心があるかどうかの解決へ直接進み得、これは、これらの2つの可能性が、ナレッジグラフ808内の最も高い(または唯一の)利用可能な関連強度を有しているからである。この階層的なガイドされた検索アプローチは、関連するアイテムに焦点を絞るために限られた数より多くのプロンプトに回答することを望まないユーザには魅力的であり得る。
別のプロンプト生成戦略では、ダイアログマネージャ216は、ナレッジグラフ808に現れる未指定のすべての属性および属性値からよりランダムにプロンプトトピックを選択することができる。このアプローチは多少無目的なものであるが、特定のショッピングミッションを遂行するのではなく、ユーザがインベントリを閲覧している場合に適していることがある。インテリジェントパーソナルアシスタントシステム106とチャットすることに悩まされていないユーザは、ある意味でナレッジグラフ808の可能性をさまよう、このより探索的または会話的なアプローチを好むかもしれない。
図11Aおよび図11Bでは、さらなるユーザ入力の候補プロンプトは、ユーザが男性用または女性用の運動靴に関心があるかどうか、したがって、ユーザが特定の製品ラインまたはスタイルに関心があるかどうかによって選択され得る。ナレッジグラフ808内のより狭い属性(この場合、製品ラインまたはスタイル)は、実際には、各候補がどれほど解決の手掛かりとなるかに応じて、いくつかの状況ではユーザプロンプトに対するより良い候補となり得ることに留意されたい。すなわち、スタイルおよび製品ラインはそれぞれ、ナレッジグラフ808内のそれらの各々の上の個別のアイテム属性またはサブカテゴリに等しく関連付けられているが、製品ライン属性値の可能性について利用可能なデータはさらに多い。したがって、ユーザがエアジョーダンの靴に興味があるかどうかを尋ねるプロンプトでは、ユーザが特定の製品ラインおよび男性用運動靴に興味があるかどうかも暗黙的に尋ねられる。したがって、ユーザによる単一の肯定または否定は、一度に複数の可能性(例えば、属性および属性値)を受け入れるか、または拒否することに関して、ユーザの意図を識別するのに役立ち得る。
図12は、いくつかの例示的実施形態による、示唆的プロンプトを生成するために自然言語ユーザ入力を処理するインテリジェントパーソナルアシスタントシステム106の概要を示す。ユーザに対する鋭くないプロンプト(例えば、ユーザに尋ねることなく決定され得る情報を提供すること)は、一部のユーザを困らせることが知られているので、いくつかの実施形態は、追加のデータを使用して、ユーザにより明示的に与えられる可能性のある検索条件のフィールドを絞り込むことが可能である。例えば、NLUコンポーネント214は、ユーザが赤いナイキの靴の買い物に興味があることを見抜き、ナレッジグラフ808は、男性用運動靴および女性用運動靴が(とりわけ)可能性のあるプロンプト対象であることを示す。
しかしながら、尋ねることなく男性用運動靴または女性用運動靴にユーザが興味を有しているかどうかを示す追加のデータが利用可能であり得る。例えば、電子市場との現在のユーザの対話履歴は、ユーザの購入の大部分または全部が女性に関連するアイテムに対するものであることを示し得る。それは、例えば、現在のユーザが別のセルフショッピングのミッションを実行している女性であるからか、または意図されたターゲット受取人が女性である贈り物のミッションをユーザがしばしば実行するからであり得る。さらに、世界知識または他の潜在的に関連性のある外部の文脈情報は、ダイアログマネージャ216によるプロンプトの可能性の重み付けを調整することができる。例えば、場所、天気、費用、文化、および機会に関する外部データは、最も鋭敏であることを求める次のプロンプトの判定を調整する際に同様の役割を果たし得る。
したがって、インテリジェントパーソナルアシスタントシステム106は、その点を確認するためのプロンプトを生成することなく、ユーザはおそらく男性用運動靴よりも女性用運動靴に関心があると結論付けることができる。よって、ダイアログマネージャ216は、処理されたユーザ入力およびナレッジグラフ808に基づいて、次に最も鋭いと思われるプロンプトトピックに進むことができる。図11Bの例では、ユーザが女性用運動靴に興味があり、ブランドおよび色の属性についてすでに値を指定していると仮定すると、最良の候補プロンプトは、未だ指定されていない属性、スタイルに関連している可能性がある。
したがって、ダイアログマネージャ216は、単に「どんなタイプのスタイルがお好みですか?」とユーザに尋ねることができる。しかしながら、このアプローチは、アイテムインベントリデータからであろうと過去のユーザ対話データからであろうと、ナレッジグラフ808内のアイテム属性値に関して利用可能な追加の知識を利用しない。したがって、一実施形態では、ダイアログマネージャは、ナレッジグラフ808で利用可能な代替案を提示する、および/またはナレッジグラフ808で利用可能な関連値を有することができる追加のユーザ入力を求めるプロンプトを生成することができる。
例えば、プロンプト1202は、代わりに、「スニーカーやランニングシューズなど、どんなタイプのスタイルがお好みですか?」とユーザに尋ねてもよい。このタイプの質問プロンプト作成は、成功した検索に関連する(例えば、インベントリまたは過去のユーザ対話行動による)可能性がある提案をユーザに通知し、追加のユーザ入力を収集する。ナレッジグラフ内の既知のアイテム属性値のすべてが提案される必要があるわけではなく、エントリ間で方向づけられたエッジのすべてが指定されたスコア値を持つとは限らないことに留意されたい。前述のように、インテリジェントパーソナルアシスタントシステム106は、他のデータを使用して、より目の肥えた人々に対する可能性を精査することができる。
さらに、ダイアログマネージャ216は、返信に使用される場合に関連する検索結果につながる可能性が高い、提案された正確なユーザ入力表現を提供することさえできる。例えば、プロンプト1202は、代わりに、「『スニーカースタイル』か、それとも『ランニングシューズスタイル』をご希望ですか?」とユーザに尋ねてもよい。そのような表現の提案は、残りの未だ指定されていない条件のすべてを容易に処理される形式で有する返信(特に音声返信)につながる可能性がある(例えば、「スニーカースタイル」は、スニーカーの属性値とスタイルの属性の両方を指定する)。
別の例では、ダイアログマネージャ216は、ユーザ入力の分析から、および他のデータからの十分なデータを有して、示唆的にアイテム推薦を行うプロンプトを生成することができる。この場合、ダイアログマネージャは、ユーザがスニーカーに興味がある可能性があることを示すデータを有することができる。それを直接確認するために質問タイププロンプトを使用するのではなく、ダイアログマネージャ216は、検索を進め、少数の関連性のある可能性があるインベントリアイテムのテキストおよび/または画像をユーザに出力することができる。したがって、プロンプト1204は、「これらのスニーカーが見つかりました:」とアナウンスし、購入可能な特定のアイテムまたはアイテムグループの画像(またはより一般的にはそれらの特徴を表す画像)を表示することができる。このアプローチにより、完全に条件付けされていないクエリを提供したユーザが、単一の提案タイプのプロンプトを肯定または否定することが容易になる。肯定は、例えば口頭による応答または特定の表示されたアイテムの選択であり得る。
別の例では、ダイアログマネージャ216は、「赤いナイキの靴を見つけたいのですね」、または「分かりました。赤いナイキの靴を見つけるのを手伝うことができます」などの確認ステートメントを含むプロンプトを選択して、ユーザの関心のある主要なオブジェクトについてのさらなる確認的かつ発見的な議論を提供するように会話的にユーザに導き得る。このプロンプトタイプは、混乱を引き起こし得る質問タイプのプロンプトを尋ねることなく、インテリジェントパーソナルアシスタントシステム106が自動的に解決することができなかったかもしれない曖昧さをユーザが解決することを可能にする。この曖昧さは、例えば、ユーザのテキスト入力に多くの異常なスペルミスがある場合、またはユーザの音声が雑音の多い環境で受信されたために正規化がうまく機能しない場合に発生する可能性がある。
ユーザが、ユーザの興味の変化を示す発話を提供したときに、確認ステートメントタイプのプロンプトは特に有用でもあり得る。すなわち、ボットは、確認ステートメントを作成して、新しい検索ミッションが始まったこと、および以前の検索ミッションの文脈がもはや適用可能ではないことをユーザが確認することを可能にし得る。例えば、以前は赤いナイキの靴を探していたボットが、「分かりました。赤いナイキの靴の代わりに今すぐ傘を探しましょう」と、傘に関するユーザ入力に応答することができる。ユーザが興味を変えることを意図していなかったのであれば、ユーザはボットを「ターゲットに戻す」ために関連するクエリ用語を要約したより詳細な回答を提供しようとする可能性が高い。
別の例では、ダイアログマネージャ216は、指定された検索条件のすべてを満たすアイテムがインベントリから見つからなかったことを示すだけでなく、指定された検索条件の一部またはほとんどを満たすアイテムが利用可能であると検索を通じて判明したことを示すプロンプトを生成し得る。例えば、ユーザクエリの赤のナイキの靴がインベントリにない場合、ダイアログマネージャ216は、「赤のナイキの靴は現在利用可能ではありませんが、青または緑のナイキの靴は現在利用可能です」と述べることができる。したがって、このプロンプトのアプローチは、ユーザが検索に完全に興味を失う原因となり得る行き止まりの検索結果を回避し、成功する可能性が高いと既に判定されているわずかに広い、または修正された検索をユーザが続行することを奨励する。よって、ダイアログマネージャ216は、ユーザが「バックトラック(backtrack)」して、関連するアイテム属性値、アイテム属性、またはアイテムカテゴリさえも介して検索を続けることを促すことができる。このプロンプト生成アプローチは、好みがあまり知られていないターゲット受取人への贈り物をブラウズまたは検索している者にとって特に有用であり得る。
同様に、ユーザが黒のナイキの靴を探しているが、検索によって赤、青、および緑のナイキの靴のみがインベントリで利用可能であると判定された場合、ユーザが黒のナイキの靴に興味があるかどうかを尋ねるプロンプトは逆効果であり、そして実際に迷惑であり得る。したがって、一実施形態では、そのようなプロンプトがユーザの応答によって確認された場合にインベントリで利用できないアイテムにつながる場合、ダイアログマネージャ216によっていかなるタイプのプロンプトも生成されない。すなわち、このバージョンのインテリジェントオンラインパーソナルアシスタント106は、ユーザを積極的に行き止まりに導いてはいない。
図13は、いくつかの例示的実施形態による、自然言語ユーザ入力を処理してアイテム推薦を生成するための方法のフローチャートを示す。この方法は、前述の構造的要素を介して、ならびに計算機内のプロセッサによって実行される命令を介して実施することができる。1302において、方法は、ユーザから入力データを受信することができる。1304において、方法は、受信された入力データを正規化することができる。1306において、方法は、正規化された入力データを解析して、例えば、解析された入力データからユーザの関心のある主要なオブジェクトおよび関連するパラメータを識別することができる。
1308において、方法は、解析された入力データを分析して、ナレッジグラフ808のディメンションと主要なオブジェクトおよび関連するパラメータとの間のマッチングを見つけることができる。1310において、方法は、分析結果を検索のための正式なクエリに集約することができる。1312において、方法は、任意選択で、ユーザからの追加の入力データを求める1つまたは複数のユーザプロンプトを生成することができる。
主題を特定の例示的な実施形態を参照して説明したが、開示された主題のより広い範囲から逸脱することなくこれらの実施形態に様々な修正および変更を加えることができることは明らかであろう。したがって、明細書および図面は限定的な意味ではなく例示的な意味で見なされるべきである。本明細書の一部を形成する添付の図面は、限定ではなく例示として本主題を実施することができる特定の実施形態を示す。示された実施形態は、当業者が本明細書に開示された教示を実施することを可能にするのに十分詳細に記載されている。本開示の範囲から逸脱することなく構造的および論理的な置換および変更を行うことができるように、他の実施形態を利用し、そこから導き出すことができる。したがって、この説明は限定的な意味で解釈されるべきではなく、様々な実施形態の範囲は、特許請求の範囲が権利を与える等価物の全範囲とともに、添付の特許請求の範囲のいずれかによってのみ定義される。
本発明の主題のそのような実施形態は、本明細書において、個別におよび/または集合的に「発明」という用語で呼ばれ得るが、これは単に便宜上のものであり、かつ本出願の範囲を、もし2つ以上が実際に開示されている場合に、任意の単一の発明または発明の概念に自発的に限定することは意図していない。したがって、本明細書では特定の実施形態を例示し説明してきたが、同じ目的を達成するために計算された任意の構成を、示された特定の実施形態の代わりに使用できることを理解されたい。本開示は、様々な実施形態の任意の全ての適応または変形を網羅することを意図している。上記の実施形態の組み合わせ、および本明細書に具体的に記載されていない他の実施形態は、上記の説明を検討すれば当業者には明らかであろう。
以下の番号付き実施例は実施形態である。
[実施例1]
マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するための方法であって、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを受信することであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも1つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記受信すること、
インベントリを検索し、検索結果をナレッジグラフに組み込むこと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定すること、
十分なレベルのマッチングが達成されていない場合、少なくとも1つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力すること
を含む方法。
[実施例2]
応答が十分な検索結果をもたらさない場合、質問プロンプトを抑止することをさらに含む、実施例1に記載の方法。
[実施例3]
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、実施例1または実施例2に記載の方法。
[実施例4]
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも1つに基づいて、提案された応答表現を提供する、実施例1乃至3のいずれか一つに記載の方法。
[実施例5]
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを記す異なる質問プロンプトを代わりに生成することをさらに含む、実施例1乃至4のいずれか一つに記載の方法。
[実施例6]
十分なレベルのマッチングが達成されていない場合、ナレッジグラフ要素関連強度値と、ナレッジグラフのディメンションタイプの所定の順序とのうちの少なくとも1つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例1乃至5のいずれか一つに記載の方法。
[実施例7]
十分なレベルのマッチングが達成されていない場合、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも1つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例1乃至6のいずれか一つに記載の方法。
[実施例8]
コンピュータの1つまたは複数のプロセッサによって実行されると、マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するために前記コンピュータに動作を実行させる一組の命令が組み込まれたコンピュータ可読記憶媒体であって、前記動作は、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを受信することであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも1つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記受信すること、
インベントリを検索し、検索結果をナレッジグラフに組み込むこと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定すること、
十分なレベルのマッチングが達成されていない場合、少なくとも1つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力すること
を含む、媒体。
[実施例9]
応答が十分な検索結果をもたらさない場合、質問プロンプトを抑止することをさらに含む、実施例8に記載の媒体。
[実施例10]
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、実施例8または実施例9に記載の媒体。
[実施例11]
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも1つに基づいて、提案された応答表現を提供する、実施例8乃至10のいずれか一つに記載の媒体。
[実施例12]
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを記す異なる質問プロンプトを代わりに生成することをさらに含む、実施例8乃至11のいずれか一つに記載の媒体。
[実施例13]
十分なレベルのマッチングが達成されていない場合、ナレッジグラフ要素関連強度値と、ナレッジグラフのディメンションタイプの所定の順序とのうちの少なくとも1つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例8乃至12のいずれか一つに記載の媒体。
[実施例14]
十分なレベルのマッチングが達成されていない場合、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも1つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例8乃至13のいずれか一つに記載の媒体。
[実施例15]
マルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するシステムであって、
ナレッジグラフのディメンションとユーザクエリデータの分析の結果との間のランク付けされたマッチングを提供するように構成された自然言語理解コンポーネントであって、前記ナレッジグラフのディメンションは、カテゴリ、属性、および属性値の各々を少なくとも1つ含み、前記結果は、ユーザの関心がある主要なオブジェクト、ユーザの意図、および関連パラメータを含む、前記自然言語理解コンポーネントと、
インベントリを検索し、検索結果をナレッジグラフに組み込むように構成された検索コンポーネントと、
前記分析の結果と、前記主要なオブジェクトに直接的または間接的にリンクされたナレッジグラフのディメンションとの間の、所定の十分なレベルのマッチングが達成されたかどうかを判定するように構成されたダイアログマネージャコンポーネントと
を備え、
十分なレベルのマッチングが達成されていない場合、前記ダイアログマネージャコンポーネントを用いて、少なくとも1つの指定されていないリンクされたナレッジグラフのディメンションに基づいて質問タイプのプロンプトを生成して出力する、システム。
[実施例16]
応答が十分な検索結果をもたらさない場合、質問プロンプトが抑止される、実施例15に記載のシステム。
[実施例17]
質問プロンプトが、関連強度値に基づいて、リンクされたナレッジグラフのディメンションの選択を提案する、実施例15または実施例16に記載のシステム。
[実施例18]
質問プロンプトが、前記リンクされたナレッジグラフのディメンションのうちの少なくとも1つに基づいて、提案された応答表現を提供する、実施例15乃至17のいずれか一つに記載のシステム。
[実施例19]
すべてのユーザ検索条件を満たすナレッジグラフのディメンションがない場合、前記ダイアログマネージャコンポーネントを用いて、すべてのユーザ検索条件を満たさないナレッジグラフのディメンションを示す異なる質問プロンプトを代わりに生成することをさらに含む、実施例15乃至18のいずれか一つに記載のシステム。
[実施例20]
十分なレベルのマッチングが達成されていない場合、前記ダイアログマネージャコンポーネントを用いて、ナレッジグラフ要素関連強度値、ナレッジグラフのディメンションタイプの所定の順序、肯定または否定型の応答により分解され得るリンクされたナレッジグラフデータ要素の深さ、および指定されていないナレッジグラフのディメンションの選択におけるランダム性の程度のうちの少なくとも1つに基づいて、リンクされた指定されていないナレッジグラフのディメンションに関する質問タイプのプロンプトを生成して出力することをさらに含む、実施例15乃至19のいずれか一つ記載のシステム。
[実施例21]
コンピュータの1つまたは複数のプロセッサによって実行されると、前記コンピュータに実施例1乃至7のいずれか一つに記載の方法を実行させる一組の命令を搬送する機械可読媒体。

Claims (21)

  1. 複数のアイテムを含むインベントリを検索するためのマルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するための方法であって、前記方法は、コンピュータの1つまたは複数のプロセッサによって実行されるものであり、前記方法は、
    ユーザから提供された自然言語入力を解析して、ユーザの関心のある主要なオブジェクトを含む少なくとも1つの入力データ要素を識別すること、
    前記少なくとも1つの入力データ要素を、ナレッジグラフのディメンションと照合することであって、前記ナレッジグラフのディメンションは、前記インベントリのアイテムのカテゴリ、属性、および属性値の各々を少なくとも1つ含み、各ディメンションは、少なくとも1つの他のディメンションにリンクされている、前記照合すること、
    前記照合に基づいて、前記ナレッジグラフのディメンションのうち、前記少なくとも1つの入力データ要素により指定されるディメンションを判定すること、
    記主要なオブジェクトにより指定されるディメンションに直接的または間接的にリンクされたナレッジグラフのディメンションのうち、前記少なくとも1つの入力データ要素により指定されていない少なくとも1つのディメンションに基づいて質問タイプのプロンプトを生成して出力すること
    を含む方法。
  2. 前記質問タイプのプロンプトに応答するユーザからの追加の自然言語入力から入力データ要素を識別することができない場合、さらなる質問タイプのプロンプトの代わりに、確認ステートメントを含むプロンプトを生成することをさらに含む、請求項1に記載の方法。
  3. 前記ナレッジグラフのディメンション間の各リンクは、前記ディメンションの間の関係の強さを示す関連強度値を有し、前記質問タイプのプロンプトが、前記関連強度値に基づいて相対的に高い優先順位を付けられた少なくとも1つのディメンションの選択を提案する、請求項1に記載の方法。
  4. 前記質問タイプのプロンプトが、前記ナレッジグラフのディメンションのうちの少なくとも1つに対応する正確なユーザ入力表現を提案する、請求項1に記載の方法。
  5. 前記少なくとも1つの入力データ要素により示される条件のすべてを満たす利用可能なアイテムが前記インベントリに存在せず前記条件の一部のみを満たす利用可能なアイテムが前記インベントリに存在する場合、前記条件の一部のみを満たすアイテムを記述する少なくとも1つのディメンションを含む異なる質問タイプのプロンプトを生成することをさらに含む、請求項1に記載の方法。
  6. 前記ナレッジグラフのディメンション間の各リンクは、前記ディメンションの間の関係の強さを示す関連強度値を有し、前記方法は、前記関連強度値と、ナレッジグラフのディメンションの所定の順序とのうちの少なくとも1つに基づいて相対的に高い優先順位をつけられた少なくとも1つのディメンションに関するさらなる質問タイプのプロンプトを生成して出力することをさらに含み、前記ナレッジグラフのディメンションの所定の順序は、前記カテゴリから前記属性へ、そして次に前記属性値へと進む順序である、請求項1に記載の方法。
  7. 前記ユーザからの単一の肯定または否定型の応答が、前記ナレッジグラフの複数のディメンションを一度に指定または否定することを可能にするさらなる質問タイプのプロンプト、および
    前記少なくとも1つの入力データ要素により指定されていないディメンションからランダムに選択された少なくとも1つのディメンションに関するさらなる質問タイプのプロンプト
    のうちの少なくとも1つを生成して出力することをさらに含む、請求項1に記載の方法。
  8. コンピュータの1つまたは複数のプロセッサによって実行されると、複数のアイテムを含むインベントリを検索するためのマルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するために前記コンピュータに動作を実行させる一組の命令が組み込まれたコンピュータ可読記憶媒体であって、前記動作は、
    ユーザから提供された自然言語入力を解析して、ユーザの関心のある主要なオブジェクトを含む少なくとも1つの入力データ要素を識別すること、
    前記少なくとも1つの入力データ要素を、ナレッジグラフのディメンションと照合することであって、前記ナレッジグラフのディメンションは、前記インベントリのアイテムのカテゴリ、属性、および属性値の各々を少なくとも1つ含み、各ディメンションは、少なくとも1つの他のディメンションにリンクされている、前記照合すること、
    前記照合に基づいて、前記ナレッジグラフのディメンションのうち、前記少なくとも1つの入力データ要素により指定されるディメンションを判定すること、
    記主要なオブジェクトにより指定されるディメンションに直接的または間接的にリンクされたナレッジグラフのディメンションのうち、前記少なくとも1つの入力データ要素により指定されていない少なくとも1つのディメンションに基づいて質問タイプのプロンプトを生成して出力すること
    を含む、媒体。
  9. 前記動作は、前記質問タイプのプロンプトに応答するユーザからの追加の自然言語入力から入力データ要素を識別することができない場合、さらなる質問タイプのプロンプトの代わりに、確認ステートメントを含むプロンプトを生成することをさらに含む、請求項8に記載の媒体。
  10. 前記ナレッジグラフのディメンション間の各リンクは、前記ディメンションの間の関係の強さを示す関連強度値を有し、前記質問タイプのプロンプトが、前記関連強度値に基づいて相対的に高い優先順位を付けられた少なくとも1つのディメンションの選択を提案する、請求項8に記載の媒体。
  11. 前記質問タイプのプロンプトが、前記ナレッジグラフのディメンションのうちの少なくとも1つに対応する正確なユーザ入力表現を提案する、請求項8に記載の媒体。
  12. 前記動作は、前記少なくとも1つの入力データ要素により示される条件のすべてを満たす利用可能なアイテムが前記インベントリに存在せず前記条件の一部のみを満たす利用可能なアイテムが前記インベントリに存在する場合、前記条件の一部のみを満たすアイテムを記述する少なくとも1つのディメンションを含む異なる質問タイプのプロンプトを生成することをさらに含む、請求項8に記載の媒体。
  13. 前記ナレッジグラフのディメンション間の各リンクは、前記ディメンションの間の関係の強さを示す関連強度値を有し、前記動作は、前記関連強度値と、ナレッジグラフのディメンションの所定の順序とのうちの少なくとも1つに基づいて相対的に高い優先順位をつけられた少なくとも1つのディメンションに関するさらなる質問タイプのプロンプトを生成して出力することをさらに含み、前記ナレッジグラフのディメンションの所定の順序は、前記カテゴリから前記属性へ、そして次に前記属性値へと進む順序である、請求項8に記載の媒体。
  14. 前記動作は、
    前記ユーザからの単一の肯定または否定型の応答が、前記ナレッジグラフの複数のディメンションを一度に指定または否定することを可能にするさらなる質問タイプのプロンプト、および
    前記少なくとも1つの入力データ要素により指定されていないディメンションからランダムに選択された少なくとも1つのディメンションに関するさらなる質問タイプのプロンプト
    のうちの少なくとも1つを生成して出力することをさらに含む、請求項8に記載の媒体。
  15. 複数のアイテムを含むインベントリを検索するためのマルチターンダイアログにおいて追加の自然言語入力のためのプロンプトを生成するシステムであって、
    ユーザから提供された自然言語入力を解析して、ユーザの関心のある主要なオブジェクトを含む少なくとも1つの入力データ要素を識別し、前記少なくとも1つの入力データ要素を、ナレッジグラフのディメンションと照合し、前記照合に基づいて、前記ナレッジグラフのディメンションのうち、前記少なくとも1つの入力データ要素により指定されるディメンションを判定するように構成された自然言語理解コンポーネントであって、前記ナレッジグラフのディメンションは、前記インベントリのアイテムのカテゴリ、属性、および属性値の各々を少なくとも1つ含み、各ディメンションは、少なくとも1つの他のディメンションにリンクされている、前記自然言語理解コンポーネントと、
    記主要なオブジェクトにより指定されるディメンションに直接的または間接的にリンクされたナレッジグラフのディメンションのうち、前記少なくとも1つの入力データ要素により指定されていない少なくとも1つのディメンションに基づいて質問タイプのプロンプトを生成して出力するように構成されたダイアログマネージャコンポーネントと
    を備える、システム。
  16. 前記ダイアログマネージャコンポーネントは、前記質問タイプのプロンプトに応答するユーザからの追加の自然言語入力から入力データ要素を識別することができない場合、さらなる質問タイプのプロンプトの代わりに、確認ステートメントを含むプロンプトを生成するようにさらに構成されている、請求項15に記載のシステム。
  17. 前記ナレッジグラフのディメンション間の各リンクは、前記ディメンションの間の関係の強さを示す関連強度値を有し、前記質問タイプのプロンプトが、前記関連強度値に基づいて相対的に高い優先順位を付けられた少なくとも1つのディメンションの選択を提案する、請求項15に記載のシステム。
  18. 前記質問タイプのプロンプトが、前記ナレッジグラフのディメンションのうちの少なくとも1つに対応する正確なユーザ入力表現を提案する、請求項15に記載のシステム。
  19. 前記ダイアログマネージャコンポーネントは、前記少なくとも1つの入力データ要素により示される条件のすべてを満たす利用可能なアイテムが前記インベントリに存在せず前記条件の一部のみを満たす利用可能なアイテムが前記インベントリに存在する場合、前記条件の一部のみを満たすアイテムを記述する少なくとも1つのディメンションを含む異なる質問タイプのプロンプトを生成するようにさらに構成されている、請求項15に記載のシステム。
  20. 前記ナレッジグラフのディメンション間の各リンクは、前記ディメンションの間の関係の強さを示す関連強度値を有し、前記ダイアログマネージャコンポーネントは、
    前記関連強度値、ナレッジグラフのディメンションの所定の順序とのうちの少なくとも1つに基づいて相対的に高い優先順位をつけられた少なくとも1つのディメンションに関するさらなる質問タイプのプロンプト
    前記ユーザからの単一の肯定または否定型の応答が、前記ナレッジグラフの複数のディメンションを一度に指定または否定することを可能にするさらなる質問タイプのプロンプト、および
    前記少なくとも1つの入力データ要素により指定されていないディメンションからランダムに選択された少なくとも1つのディメンションに関するさらなる質問タイプのプロンプト
    のうちの少なくとも1つを生成して出力するようにさらに構成されており、前記ナレッジグラフのディメンションの所定の順序は、前記カテゴリから前記属性へ、そして次に前記属性値へと進む順序である、請求項15記載のシステム。
  21. コンピュータの1つまたは複数のプロセッサによって実行されると、前記コンピュータに請求項1乃至7のいずれか一項に記載の方法を実行させる一組の命令を備えるコンピュータプログラム
JP2019507947A 2016-08-16 2017-08-10 次のユーザプロンプトタイプの選択 Active JP6806879B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/238,666 US20180052913A1 (en) 2016-08-16 2016-08-16 Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog
US15/238,666 2016-08-16
PCT/US2017/046243 WO2018034928A1 (en) 2016-08-16 2017-08-10 Selecting next user prompt types

Publications (2)

Publication Number Publication Date
JP2019530920A JP2019530920A (ja) 2019-10-24
JP6806879B2 true JP6806879B2 (ja) 2021-01-06

Family

ID=61191862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019507947A Active JP6806879B2 (ja) 2016-08-16 2017-08-10 次のユーザプロンプトタイプの選択

Country Status (7)

Country Link
US (1) US20180052913A1 (ja)
EP (1) EP3500949A4 (ja)
JP (1) JP6806879B2 (ja)
KR (2) KR102197023B1 (ja)
CN (1) CN109716334B (ja)
AU (1) AU2017312818B2 (ja)
WO (1) WO2018034928A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180052913A1 (en) * 2016-08-16 2018-02-22 Ebay Inc. Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog
US10412076B2 (en) * 2016-09-30 2019-09-10 Facebook, Inc. Identifying users based on federated user identifiers
US11200273B2 (en) 2016-10-16 2021-12-14 Ebay Inc. Parallel prediction of multiple image aspects
US11748978B2 (en) 2016-10-16 2023-09-05 Ebay Inc. Intelligent online personal assistant with offline visual search database
US11004131B2 (en) 2016-10-16 2021-05-11 Ebay Inc. Intelligent online personal assistant with multi-turn dialog based on visual search
US10860898B2 (en) 2016-10-16 2020-12-08 Ebay Inc. Image analysis and prediction based visual search
US10970768B2 (en) 2016-11-11 2021-04-06 Ebay Inc. Method, medium, and system for image text localization and comparison
US10758159B2 (en) * 2017-01-03 2020-09-01 Sensie, LLC Measuring somatic response to stimulus utilizing a mobile computing device
US10270746B2 (en) 2017-01-25 2019-04-23 Facebook, Inc. People-based user synchronization within an online system
US10963493B1 (en) 2017-04-06 2021-03-30 AIBrain Corporation Interactive game with robot system
US10810371B2 (en) 2017-04-06 2020-10-20 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system
US11151992B2 (en) 2017-04-06 2021-10-19 AIBrain Corporation Context aware interactive robot
US10839017B2 (en) * 2017-04-06 2020-11-17 AIBrain Corporation Adaptive, interactive, and cognitive reasoner of an autonomous robotic system utilizing an advanced memory graph structure
US10929759B2 (en) 2017-04-06 2021-02-23 AIBrain Corporation Intelligent robot software platform
US11687544B2 (en) * 2018-04-23 2023-06-27 Qliktech International Ab Adaptive analytics user interfaces
EP3576084B1 (de) * 2018-05-29 2020-09-30 Christoph Neumann Effiziente dialoggestaltung
US11170032B2 (en) * 2018-10-03 2021-11-09 Walmart Apollo, Llc Method and apparatus for determining responses to digital inquiry related questions
GB201818237D0 (en) * 2018-11-08 2018-12-26 Polyal A dialogue system, a dialogue method, a method of generating data for training a dialogue system, a system for generating data for training a dialogue system
GB201818234D0 (en) 2018-11-08 2018-12-26 Polyal A dialogue system and a dialogue method
KR20200094853A (ko) 2019-01-25 2020-08-10 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN109976743B (zh) * 2019-04-09 2022-07-12 苏州浪潮智能科技有限公司 一种代码提示的方法及装置
CN110046227B (zh) * 2019-04-17 2023-07-18 腾讯科技(深圳)有限公司 对话系统的配置方法、交互方法、装置、设备和存储介质
JP7229847B2 (ja) * 2019-05-13 2023-02-28 株式会社日立製作所 対話装置、対話方法、及び対話コンピュータプログラム
WO2020246969A1 (en) 2019-06-05 2020-12-10 Hewlett-Packard Development Company, L.P. Missed utterance resolutions
US11057320B2 (en) * 2019-06-27 2021-07-06 Walmart Apollo, Llc Operation for multiple chat bots operation in organization
WO2021072013A1 (en) * 2019-10-08 2021-04-15 Pricewaterhousecoopers Llp Intent-based conversational knowledge graph for spoken language understanding system
US10970493B1 (en) * 2019-10-18 2021-04-06 Clinc, Inc. Systems and methods for slot relation extraction for machine learning task-oriented dialogue systems
CN113254756B (zh) * 2020-02-12 2024-03-26 百度在线网络技术(北京)有限公司 广告召回方法、装置、设备和存储介质
CN111552818A (zh) * 2020-04-27 2020-08-18 中国银行股份有限公司 一种客服知识库查询方法及装置
CN111339283B (zh) * 2020-05-15 2020-08-21 支付宝(杭州)信息技术有限公司 针对用户问题提供客服答案的方法及装置
JP7080922B2 (ja) * 2020-05-21 2022-06-06 Necパーソナルコンピュータ株式会社 ネットワークシステム、ホスト装置、及びネットワーク制御方法
CN111782965B (zh) * 2020-06-29 2023-08-11 北京百度网讯科技有限公司 意图推荐方法、装置、设备及存储介质
CN112102029B (zh) * 2020-08-20 2022-10-14 浙江大学 一种基于知识图谱的长尾推荐计算方法
CN112182373B (zh) * 2020-09-25 2023-06-02 中国人民大学 一种基于上下文表示学习的性化搜索方法
CN112529615A (zh) * 2020-11-30 2021-03-19 北京百度网讯科技有限公司 自动生成广告的方法、装置、设备和计算机可读存储介质
CN112364148B (zh) * 2020-12-08 2022-05-24 吉林大学 一种基于深度学习方法的生成型聊天机器人
US11650980B2 (en) 2021-01-29 2023-05-16 Walmart Apollo, Llc Methods and apparatus for retrieving information via an intermediate representation
JP7486263B2 (ja) 2021-03-05 2024-05-17 Kddi株式会社 マルチモーダルな知識グラフを用いて雑談的に対話するプログラム、装置及び方法
US11429188B1 (en) * 2021-06-21 2022-08-30 Sensie, LLC Measuring self awareness utilizing a mobile computing device
US11430446B1 (en) 2021-08-12 2022-08-30 PolyAI Limited Dialogue system and a dialogue method
CN116521841B (zh) * 2023-04-18 2024-05-14 百度在线网络技术(北京)有限公司 用于生成回复信息的方法、装置、设备及介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005202353B2 (en) * 1999-11-23 2007-05-17 Hyperknowledge Management Services Ag Methods and apparatus for storing and retrieving knowledge
WO2001067225A2 (en) * 2000-03-06 2001-09-13 Kanisa Inc. A system and method for providing an intelligent multi-step dialog with a user
US6578022B1 (en) * 2000-04-18 2003-06-10 Icplanet Corporation Interactive intelligent searching with executable suggestions
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
JP2009193532A (ja) * 2008-02-18 2009-08-27 Oki Electric Ind Co Ltd 対話管理装置、方法及びプログラム、並びに意識抽出システム
US9405841B2 (en) * 2009-10-15 2016-08-02 A9.Com, Inc. Dynamic search suggestion and category specific completion
KR20120071877A (ko) * 2010-12-23 2012-07-03 삼성전기주식회사 이색 볼 제조장치 및 이색 볼 제조 방법
JP5752245B2 (ja) 2011-05-26 2015-07-22 株式会社日立製作所 情報検索方法、情報検索装置及び記憶媒体
US20130080423A1 (en) * 2011-09-23 2013-03-28 Ebay Inc. Recommendations for search queries
US9465833B2 (en) * 2012-07-31 2016-10-11 Veveo, Inc. Disambiguating user intent in conversational interaction system for large corpus information retrieval
KR20140050217A (ko) * 2012-10-18 2014-04-29 에스케이플래닛 주식회사 키워드 연관 관계 시각화 제공 시스템 및 방법과, 이를 지원하는 장치
US9171542B2 (en) * 2013-03-11 2015-10-27 Nuance Communications, Inc. Anaphora resolution using linguisitic cues, dialogue context, and general knowledge
US10489842B2 (en) * 2013-09-30 2019-11-26 Ebay Inc. Large-scale recommendations for a dynamic inventory
US9189742B2 (en) 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
US9477782B2 (en) 2014-03-21 2016-10-25 Microsoft Corporation User interface mechanisms for query refinement
US9652451B2 (en) * 2014-05-08 2017-05-16 Marvin Elder Natural language query
US10540347B2 (en) * 2014-10-27 2020-01-21 Nuance Communications, Inc. Contextual search disambiguation
US11321759B2 (en) * 2016-06-30 2022-05-03 International Business Machines Corporation Method, computer program product and system for enabling personalized recommendations using intelligent dialog
US20180052913A1 (en) * 2016-08-16 2018-02-22 Ebay Inc. Selecting next user prompt types in an intelligent online personal assistant multi-turn dialog
US10347244B2 (en) * 2017-04-21 2019-07-09 Go-Vivace Inc. Dialogue system incorporating unique speech to text conversion method for meaningful dialogue response

Also Published As

Publication number Publication date
AU2017312818A1 (en) 2019-03-14
KR102197023B1 (ko) 2020-12-30
KR20190039572A (ko) 2019-04-12
CN109716334B (zh) 2023-08-04
AU2017312818B2 (en) 2020-09-10
US20180052913A1 (en) 2018-02-22
EP3500949A4 (en) 2019-07-31
CN109716334A (zh) 2019-05-03
JP2019530920A (ja) 2019-10-24
KR102395988B1 (ko) 2022-05-09
KR20210018318A (ko) 2021-02-17
EP3500949A1 (en) 2019-06-26
WO2018034928A1 (en) 2018-02-22

Similar Documents

Publication Publication Date Title
JP6806879B2 (ja) 次のユーザプロンプトタイプの選択
US11836777B2 (en) Intelligent online personal assistant with multi-turn dialog based on visual search
US11804035B2 (en) Intelligent online personal assistant with offline visual search database
US20180052842A1 (en) Intelligent online personal assistant with natural language understanding
US20180052884A1 (en) Knowledge graph construction for intelligent online personal assistant
US11392598B2 (en) Applying a quantitative range for qualitative terms
US20180052885A1 (en) Generating next user prompts in an intelligent online personal assistant multi-turn dialog
US20210224877A1 (en) Intelligent online personal assistant with image text localization
US20180068031A1 (en) Enhancing user queries using implicit indicators
US10943176B2 (en) Visual aspect localization presentation
CN110692048A (zh) 会话中任务改变的检测
US20200005375A1 (en) Virtual assistant guidance based on category familiarity
US11126685B2 (en) Preview and optimization of publication for target computing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200608

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20201104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201204

R150 Certificate of patent or registration of utility model

Ref document number: 6806879

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250