JP2022551788A - 補助システムのためのプロアクティブコンテンツを生成すること - Google Patents

補助システムのためのプロアクティブコンテンツを生成すること Download PDF

Info

Publication number
JP2022551788A
JP2022551788A JP2021577907A JP2021577907A JP2022551788A JP 2022551788 A JP2022551788 A JP 2022551788A JP 2021577907 A JP2021577907 A JP 2021577907A JP 2021577907 A JP2021577907 A JP 2021577907A JP 2022551788 A JP2022551788 A JP 2022551788A
Authority
JP
Japan
Prior art keywords
user
proactive
suggestions
way
particular embodiments
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.)
Pending
Application number
JP2021577907A
Other languages
English (en)
Inventor
ウィリアム クロスビー プレサント,
シアオレイ リー,
ハオ チョウ,
ピユシュ ケムカ,
ポール アンソニー クルック,
カイ チュン ウォン,
フランツ-ジュリアス チェン,
マイケル ロバート ハンソン,
リサ シアオイー ファン,
エリック シアオ,
アヌイ クマール,
チンソン ユイ,
バイヤン リョウ,
フランシスラフ ピー. ペノフ,
シャオフー リウ,
パラルト パレシュ シャー,
ヴィンセント チャールズ チャン,
ニコラス マイケル ベンソン,
ヤーティン ション,
ツーチエン ホー,
ルイ シャオ,
アニメシュ シンハ,
クシティス マリク,
スンファン ムン,
ホンレイ リョウ,
アハメド アリー,
ホンユアン チャン,
Original Assignee
メタ プラットフォームズ, インク.
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 メタ プラットフォームズ, インク. filed Critical メタ プラットフォームズ, インク.
Publication of JP2022551788A publication Critical patent/JP2022551788A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

第1のユーザに関連付けられたプロアクティブトリガに関連付けられた1つまたは複数の入力を受信することと、1つまたは複数のプロアクティブポリシーに基づいて、第1のユーザがプロアクティブ提案を受信するのに適格であるかどうかを決定することと、第1のユーザに関連付けられた1つまたは複数の入力およびユーザコンテキストデータに基づいて、1つまたは複数のプロアクティブ提案を生成することと、第1のユーザに関連付けられたタスク履歴データに基づいて、プロアクティブ提案のうちの1つまたは複数を選択することと、プロアクティブコンテンツを第1のユーザに提示するための命令を、第1のユーザに関連付けられたクライアントシステムに送ることであって、プロアクティブコンテンツが、選択されたプロアクティブ提案を含む、命令をクライアントシステムに送ることと、を含む、システム、媒体、および方法。【選択図】図8

Description

優先権
本出願は、2020年8月28日に出願の米国非仮特許出願第17/006,260号、2019年10月18日に出願の米国仮特許出願第62/923,342号、および2020年6月25日に出願の米国仮特許出願第63/044,270号の利益を主張する。上記の特許出願の開示は、本明細書によって参照により本明細書に組み込まれる。
本開示は、一般に、ネットワーク環境内のデータベースおよびファイル管理に関し、詳細には、スマート補助システムのためのハードウェアおよびソフトウェアに関する。
補助システムは、ユーザ入力と、ロケーションアウェアネスと、(気象条件、交通渋滞、ニュース、株価、ユーザスケジュール、小売価格などの)様々なオンラインソースからの情報にアクセスする能力との組合せに基づいて、ユーザのために情報またはサービスを提供することができる。ユーザ入力は、特にインスタントメッセージングアプリケーションまたは他のアプリケーションにおけるテキスト(たとえば、オンラインチャット)、ボイス、画像、動き、またはそれらの組合せを含み得る。補助システムは、コンシェルジュタイプのサービス(たとえば、ディナーを予約すること、イベントチケットを購入すること、旅行の手配をすること)を実施するか、またはユーザ入力に基づいて情報を提供し得る。補助システムはまた、ユーザ始動または対話なしに、オンライン情報およびイベントに基づいて、管理またはデータハンドリングタスクを実施し得る。補助システムによって実施され得るタスクの例は、スケジュール管理(たとえば、ディナーデートについて交通状況によりユーザが遅れているというアラートを送る、双方のためのスケジュールを更新する、およびレストラン予約時間を変更する)を含み得る。補助システムは、コンピューティングデバイスと、アプリケーションプログラミングインターフェース(API)と、ユーザデバイス上のアプリケーションの普及との組合せによって可能にされ得る。
ソーシャルネットワーキングウェブサイトを含み得る、ソーシャルネットワーキングシステムは、そのユーザ(個人または法人など)が、ソーシャルネットワーキングシステムと対話し、ソーシャルネットワーキングシステムを通して互いと対話することを可能にし得る。ソーシャルネットワーキングシステムは、ユーザからの入力を用いて、ユーザに関連付けられたユーザプロファイルを作成し、ソーシャルネットワーキングシステムに記憶し得る。ユーザプロファイルは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な興味に関する情報を含み得る。ソーシャルネットワーキングシステムはまた、ユーザからの入力を用いて、ソーシャルネットワーキングシステムの他のユーザとのユーザの関係のレコードを作成し、記憶し、ならびに、サービス(たとえば、プロファイル/ニュースフィード投稿、写真共有、イベント編成、メッセージング、ゲーム、または広告)を提供して、ユーザ間のソーシャルな対話を円滑にし得る。
ソーシャルネットワーキングシステムは、1つまたは複数のネットワークを介して、そのサービスに関係するコンテンツまたはメッセージを、ユーザのモバイルまたは他のコンピューティングデバイスに送り得る。ユーザはまた、ユーザのモバイルまたは他のコンピューティングデバイス上に、ユーザのユーザプロファイルおよびソーシャルネットワーキングシステム内の他のデータにアクセスするためのソフトウェアアプリケーションをインストールし得る。ソーシャルネットワーキングシステムは、ユーザにつながっている他のユーザの集約されたストーリーのニュースフィードなど、ユーザに表示するためのコンテンツオブジェクトの個人化されたセットを生成し得る。
特定の実施形態では、補助システムは、ユーザが情報またはサービスを取得するのを補助し得る。補助システムは、ユーザが、補助を得るためのステートフルおよびマルチターン会話における(ボイス、テキスト、画像、ビデオ、動きなどの)マルチモーダルユーザ入力で補助システムと対話することを可能にし得る。限定としてではなく一例として、補助システムは、ビジョン、ロケーション、ジェスチャー、動き、またはハイブリッド/マルチモーダル入力など、オーディオ(口頭)入力と非口頭入力の両方をサポートし得る。補助システムは、ユーザに関連付けられた個人情報とコンテキスト情報の両方を含むユーザプロファイルを作成および記憶し得る。特定の実施形態では、補助システムは、自然言語理解を使用してユーザ入力を分析し得る。分析は、より個人化されたおよびコンテキストアウェア理解のために、ユーザのユーザプロファイルに基づき得る。補助システムは、分析に基づいて、ユーザ入力に関連付けられたエンティティを解析し得る。特定の実施形態では、補助システムは、解析されるエンティティに関連付けられた情報またはサービスを取得するために、異なるエージェントと対話し得る。補助システムは、自然言語生成を使用することによって、情報またはサービスに関してユーザのための応答を生成し得る。ユーザとの対話を通して、補助システムは、ダイアログ管理技法を使用して、ユーザとの会話のフローを管理し進め得る。特定の実施形態では、補助システムは、情報を要約することによって、ユーザが、取得された情報を効果的におよび効率的に消化するのをさらに補助し得る。補助システムはまた、(たとえば、投稿、コメント、メッセージを作成して)ユーザがオンラインソーシャルネットワークと対話するのを助けるツールを提供することによって、ユーザがオンラインソーシャルネットワークにより関与するのを補助し得る。補助システムは、ユーザが、イベントを追跡することなど、異なるタスクを管理するのをさらに補助し得る。特定の実施形態では、補助システムは、ユーザ入力なしに、ユーザにとって好適なときに、ユーザプロファイルに基づいて、ユーザ興味および選好に関連するタスクをプロアクティブに実行し得る。特定の実施形態では、補助システムは、ユーザのプロファイルまたは他のユーザ情報にアクセスすることと、異なるタスクを実行することとが、ユーザのプライバシー設定を条件として許諾されることを確実にするために、プライバシー設定を検査し得る。
特定の実施形態では、補助システムは、クライアント側処理とサーバ側処理の両方に構築されたハイブリッドアーキテクチャを介してユーザを補助し得る。クライアント側処理とサーバ側処理とは、ユーザ入力を処理するため、およびユーザへの補助を提供するための2つの並行のワークフローであり得る。特定の実施形態では、クライアント側処理は、ユーザに関連付けられたクライアントシステム上でローカルに実施され得る。対照的に、サーバ側処理は、1つまたは複数のコンピューティングシステム上でリモートに実施され得る。特定の実施形態では、クライアントシステム上のアービトレータは、ユーザ入力(たとえば、オーディオ信号)の受信を協調させること、ユーザ入力に応答するために、クライアント側処理を使用すべきか、サーバ側処理を使用すべきか、両方を使用すべきか決定すること、および、各処理からの処理結果を分析することを行い得る。アービトレータは、前述の分析に基づいて、ユーザ入力に関連付けられたタスクを実行するように、クライアント側またはサーバ側のエージェントに命令し得る。実行結果は、クライアントシステムへの出力としてさらにレンダリングされ得る。クライアント側処理とサーバ側処理の両方を活用することによって、補助システムは、ユーザプライバシーを保護すること、およびセキュリティを強化することを同時に行いつつ、ユーザがコンピューティングリソースを最適に使用するのを効果的に補助することができる。
特定の実施形態では、補助システムは、様々なマルチモーダル信号によってトリガされ得る、ユーザへのプロアクティブコンテンツ提案を行い得る。プロアクティブコンテンツはまた、ユーザの要求に応答したフォローアップアクションとして提供され得、セミプロアクティブユースケースの1つのタイプと考えられ得る(すなわち、プロアクティブコンテンツは、ユーザ要求に応答性があるので、完全にプロアクティブでなくなり得る)。プロアクティブコンテンツは、提案されるクエリ、提案されるフォローアップアクション、補足情報、調査、または任意の他の好適なコンテンツを含み得る。フォローアップアクションとして提供されるとき、プロアクティブコンテンツは、ユーザのタスクが完了した後、ダイアログを延長することによってユーザダイアログを豊かにし得る。限定としてではなく一例として、ユーザは、「何時ですか。」と尋ね得る。補助システムは、「午前11:30です。」と答え得る。補助システムは、「カレンダーを見たいですか。」などの提案されるフォローアップアクション、または「正午の歯医者の予約にたどり着くのに15分かかります。」のような補足情報をさらに提供し得る。限定としてではなく別の一例として、ユーザは「今何の歌を流しているのですか。」と尋ね得、ここで、ユーザからの要求タスクは、[IN:get_track_info_music()]であり得る。補助システムは、「OutkastによるHey Yaです。」と答え得、これがタスクの完了をマークする。補助システムは、「この歌をお気に入りに追加したいですか。」とさらにプロアクティブに尋ね得、これが、提案されるフォローアップアクション(すなわち、[IN:add_to_favorites()])に対応する。タスクの完了、ユーザコンテキストの変化、または関連するマルチモーダル信号は、プロアクティブポリシーをトリガし得る。プロアクティブポリシーに基づいて、補助システムは、どの種類のプロアクティブコンテンツを実行すべきかを決定し得る。補助システムは、どのプロアクティブコンテンツが好適であるかを決定するために、ユーザとの事前対話またはユーザについての予備知識を考慮し得る。補助システムは、ダイアログの各ターンへのユーザフィードバックに基づいて、または、(ユーザによるプロアクティブコンテンツとの対話、もしくは動的なマルチモーダル信号に応答してコンテンツをプロアクティブに提供することを補助システムが続け得る)マルチモーダルコンテキストにおいて、プロアクティブコンテンツのチェーンを生成し得る。限定としてではなく一例として、補助システムは、補助システムが各ターンの終わりに新しい推奨を提供するリコメンダシステムとして機能し得る。プロアクティブコンテンツを通じて、補助システムは、成長(たとえば、ユーザ教育)のすぐに得られる機会、ならびに、ユーザ満足度測定、および、補助システムに関連付けられたさらなる特徴または強化のために使用され得るコア技法を提供し得る。本開示は、特定の様式で特定のシステムによって特定のプロアクティブコンテンツを生成することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適なプロアクティブコンテンツを生成することを企図する。
特定の実施形態では、補助システムは、第1のユーザに関連付けられたプロアクティブトリガに関連付けられた1つまたは複数の入力を受信し得る。補助システムは、1つまたは複数のプロアクティブポリシーに基づいて、第1のユーザがプロアクティブ提案を受信するのに適格であるかどうかを決定し得る。補助システムは、次いで、第1のユーザに関連付けられた1つまたは複数の入力およびユーザコンテキストデータに基づいて、1つまたは複数のプロアクティブ提案を生成し得る。特定の実施形態では、補助システムは、第1のユーザに関連付けられたタスク履歴データに基づいて、プロアクティブ提案のうちの1つまたは複数を選択し得る。補助システムは、さらに、プロアクティブコンテンツを第1のユーザに提示するための命令を、第1のユーザに関連付けられたクライアントシステムに送り得る。プロアクティブコンテンツは、選択されたプロアクティブ提案を含み得る。
プロアクティブ提案を提供するという目的を達成するために、いくつかの技術的課題が存在し得る。1つの技術課題は、どのプロアクティブ提案をユーザに提供すべきかを正確に決定することを含み得る。上記の課題に対処するための、本明細書で開示される実施形態によって提示されるソリューションは、ユーザコンテキスト、ダイアログコンテキスト、ユーザタスク履歴、ユーザメモリ、および知識グラフが、推奨されるプロアクティブ提案がユーザに関するものであり、ユーザにとって興味のあるものであることを保証し得るので、これらの種々のタイプのデータを使用してプロアクティブ提案を決定することである。別の技術課題は、不要な提案でユーザに過負荷をかけないことを含み得る。この課題に対処するための、本明細書で開示される実施形態によって提示されるソリューションは、ユーザコンテキストデータ、タスク履歴データ、またはユーザメモリに基づくダイアログポリシーが、ユーザに関連した現在の情報と履歴情報の両方を使用して、ユーザがプロアクティブ提案を望むかどうかを効果的に評価し得るので、このようなダイアログポリシーを使用して、ユーザがプロアクティブ提案に適格であるかどうかを決定することを含む。別の技術課題は、最適な状態でプロアクティブコンテンツをユーザに提供することを含み得る。この課題に対処するための、本明細書で開示される実施形態によって提示されるソリューションは、プロアクティブコンテンツで促される意思をユーザが有し得る個人的な選好を、ユーザコンテキストデータ、ユーザメモリ、または知識グラフがキャプチャし得るので、これらのタイプのデータに基づいて、プロアクティブコンテンツの配信スケジュールを決定することを含む。
本明細書で開示されるいくつかの実施形態は、1つまたは複数の技術的利点を提供し得る。実施形態の技術的利点は、種々のタイプのマルチモーダル信号に応答して、プロアクティブ提案をユーザに自動的に提供することによって、ユーザが補助システムと関わり合う度合いを増加させることを含み得る。別の実施形態の技術的利点は、補助システムが、履歴データに基づいて、どのスキルをユーザがまだ探求していないかを正確に決定し、このようなスキルに関する提案をユーザに提供し得るので、補助システムが有し得る新しいスキルをユーザが学習するのを補助することを含み得る。本明細書で開示されるいくつかの実施形態は、上記の技術的利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。1つまたは複数の他の技術的利点が、本開示の図、説明、および特許請求の範囲に鑑みて、当業者に容易に明らかになり得る。
本明細書で開示される実施形態は例にすぎず、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書で開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべてを含むか、いくつかを含むか、またはいずれをも含まないことがある。本発明による実施形態は、特に、方法、記憶媒体、システムおよびコンピュータプログラム製品を対象とする添付の特許請求の範囲で開示され、1つの請求項カテゴリー、たとえば、方法において述べられた任意の特徴は、別の請求項カテゴリー、たとえば、システムにおいても請求され得る。添付の特許請求の範囲における従属関係または参照は、形式的理由で選定されるにすぎない。ただし、前の請求項への意図的な参照(特に複数の従属関係)から生じる主題も請求され得、その結果、請求項とその特徴との任意の組合せが、開示され、添付の特許請求の範囲で選定された従属関係にかかわらず請求され得る。請求され得る主題は、添付の特許請求の範囲に記載の特徴の組合せだけでなく、特許請求の範囲における特徴の任意の他の組合せをも含み、特許請求の範囲において述べられた各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組合せと組み合わせられ得る。さらに、本明細書で説明または示される実施形態および特徴のいずれかは、別個の請求項において、ならびに/あるいは、本明細書で説明もしくは示される任意の実施形態もしくは特徴との、または添付の特許請求の範囲の特徴のいずれかとの任意の組合せで請求され得る。
補助システムに関連付けられた例示的なネットワーク環境を示す図である。 補助システムの例示的なアーキテクチャを示す図である。 補助システムのサーバ側処理の例示的な図のフローである。 補助システムによるユーザ入力の処理の例示的な図のフローである。 プロアクティブ提案を提供するための例示的なアーキテクチャを示す図である。 時間を確かめたいというユーザ要求に応答した、例示的なプロアクティブ提案を示す図である。 時間を確かめたいというユーザ要求に応答した、別の例示的なプロアクティブ提案を示す図である。 写真を撮りたいというユーザ要求に応答した、例示的なプロアクティブ提案を示す図である。 写真を撮りたいというユーザ要求に応答した、別の例示的なプロアクティブ提案を示す図である。 ビジュアル信号に応答した、例示的なプロアクティブ提案を示す図である。 オーディオ信号に応答した、例示的なプロアクティブ提案を示す図である。 プロアクティブ提案のチェーンの一例を示す図である。 プロアクティブ提案を提供するための例示的な方法を示す図である。 例示的なソーシャルグラフを示す図である。 埋込み空間の例示的なビューを示す図である。 例示的な人工ニューラルネットワークを示す図である。 例示的なコンピュータシステムを示す図である。
システムの全体像
図1は、補助システムに関連付けられた例示的なネットワーク環境100を示す。ネットワーク環境100は、ネットワーク110によって互いに接続された、クライアントシステム130と、補助システム140と、ソーシャルネットワーキングシステム160と、サードパーティシステム170とを含む。図1は、クライアントシステム130、補助システム140、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110の特定の構成を示すが、本開示は、クライアントシステム130、補助システム140、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110の任意の好適な構成を企図する。限定としてではなく一例として、クライアントシステム130、ソーシャルネットワーキングシステム160、補助システム140、およびサードパーティシステム170のうちの2つまたはそれ以上が、ネットワーク110をバイパスして、直接互いに接続され得る。別の例として、クライアントシステム130、補助システム140、ソーシャルネットワーキングシステム160、およびサードパーティシステム170のうちの2つまたはそれ以上が、全体的にまたは部分的に、物理的にまたは論理的に互いとコロケートされ得る。その上、図1は、特定の数のクライアントシステム130、補助システム140、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110を示すが、本開示は、任意の好適な数のクライアントシステム130、補助システム140、ソーシャルネットワーキングシステム160、サードパーティシステム170、およびネットワーク110を企図する。限定としてではなく一例として、ネットワーク環境100は、複数のクライアントシステム130と、補助システム140と、ソーシャルネットワーキングシステム160と、サードパーティシステム170と、ネットワーク110とを含み得る。
本開示は、任意の好適なネットワーク110を企図する。限定としてではなく一例として、ネットワーク110の1つまたは複数の部分は、アドホックネットワーク、イントラネット、エクストラネット、仮想プライベートネットワーク(VPN)、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。ネットワーク110は、1つまたは複数のネットワーク110を含み得る。
リンク150は、クライアントシステム130と、補助システム140と、ソーシャルネットワーキングシステム160と、サードパーティシステム170とを、通信ネットワーク110にまたは互いに接続し得る。本開示は、任意の好適なリンク150を企図する。特定の実施形態では、1つまたは複数のリンク150は、1つまたは複数の、(たとえば、デジタル加入者回線(DSL)またはデータオーバーケーブルサービスインターフェース仕様(DOCSIS)などの)ワイヤラインリンク、(たとえば、Wi-Fiまたはワールドワイドインターオペラビリティフォーマイクロウェーブアクセス(WiMAX)などの)ワイヤレスリンク、または(たとえば、同期光ネットワーク(SONET)または同期デジタルハイアラーキ(SDH)などの)光リンクを含む。特定の実施形態では、1つまたは複数のリンク150は、各々、アドホックネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー技術ベースネットワーク、衛星通信技術ベースネットワーク、別のリンク150、または2つまたはそれ以上のそのようなリンク150の組合せを含む。リンク150は、ネットワーク環境100の全体にわたって必ずしも同じである必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の第2のリンク150とは1つまたは複数の点で異なり得る。
特定の実施形態では、クライアントシステム130は、ハードウェア、ソフトウェア、または埋込み論理構成要素、または2つまたはそれ以上のそのような構成要素の組合せを含み、クライアントシステム130によって実装またはサポートされる適切な機能性を行うことが可能な、電子デバイスであり得る。限定としてではなく一例として、クライアントシステム130は、デスクトップコンピュータ、ノートブックまたはラップトップコンピュータ、ネットブック、タブレットコンピュータ、電子ブックリーダー、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、スマートスピーカー、仮想現実(VR)ヘッドセット、拡張現実(AR)スマートグラス、他の好適な電子デバイス、あるいはそれらの任意の好適な組合せなど、コンピュータシステムを含み得る。特定の実施形態では、クライアントシステム130は、スマート補助デバイスであり得る。スマート補助デバイスに関するより多くの情報が、その各々が参照により組み込まれる、2018年4月9日に出願された米国特許出願第15/949011号、2018年10月5日に出願された米国特許出願第16/153574号、2018年1月3日に出願された米国意匠特許出願第29/631910号、2018年1月2日に出願された米国意匠特許出願第29/631747号、2018年1月3日に出願された米国意匠特許出願第29/631913号、および2018年1月3日に出願された米国意匠特許出願第29/631914号において見つけられ得る。本開示は、任意の好適なクライアントシステム130を企図する。クライアントシステム130は、クライアントシステム130におけるネットワークユーザが、ネットワーク110にアクセスすることを可能にし得る。クライアントシステム130は、クライアントシステム130のユーザが、他のクライアントシステム130における他のユーザと通信することを可能にし得る。
特定の実施形態では、クライアントシステム130は、ウェブブラウザ132を含み得、1つまたは複数のアドオン、プラグイン、あるいは、他の拡張を有し得る。クライアントシステム130におけるユーザは、ウェブブラウザ132を(サーバ162、またはサードパーティシステム170に関連付けられたサーバなどの)特定のサーバに向けるユニフォームリソースロケータ(URL)または他のアドレスを入力し得、ウェブブラウザ132は、ハイパーテキスト転送プロトコル(HTTP)要求を生成し、HTTP要求をサーバに通信し得る。サーバは、HTTP要求を受け入れ、HTTP要求に応答する1つまたは複数のハイパーテキストマークアップ言語(HTML)ファイルをクライアントシステム130に通信し得る。クライアントシステム130は、ユーザへの提示のためにサーバからのHTMLファイルに基づいてウェブインターフェース(たとえば、ウェブページ)をレンダリングし得る。本開示は、任意の好適なソースファイルを企図する。限定としてではなく一例として、ウェブインターフェースは、特定の必要に応じて、HTMLファイル、拡張可能ハイパーテキストマークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルから、レンダリングされ得る。そのようなインターフェースは、スクリプト、マークアップ言語とスクリプトとの組合せなどをも実行し得る。本明細書では、ウェブインターフェースへの言及は、適切な場合、(ブラウザがウェブインターフェースをレンダリングするために使用し得る)1つまたは複数の対応するソースファイルを包含し、その逆も同様である。
特定の実施形態では、クライアントシステム130は、クライアントシステム130上にインストールされたソーシャルネットワーキングアプリケーション134を含み得る。クライアントシステム130におけるユーザは、オンラインソーシャルネットワーク上でアクセスするために、ソーシャルネットワーキングアプリケーション134を使用し得る。クライアントシステム130におけるユーザは、ユーザのソーシャルつながり(たとえば、友達、フォロワー、フォローされるアカウント、連絡先など)と通信するために、ソーシャルネットワーキングアプリケーション134を使用し得る。クライアントシステム130におけるユーザはまた、オンラインソーシャルネットワーク上の複数のコンテンツオブジェクト(たとえば、投稿、ニュース記事、エフェメラルコンテンツなど)と対話するために、ソーシャルネットワーキングアプリケーション134を使用し得る。限定としてではなく一例として、ユーザは、ソーシャルネットワーキングアプリケーション134を使用して、トレンディングトピックおよびニュース速報をブラウズし得る。
特定の実施形態では、クライアントシステム130は、補助アプリケーション136を含み得る。クライアントシステム130におけるユーザは、補助システム140と対話するために、補助アプリケーション136を使用し得る。特定の実施形態では、補助アプリケーション136は、スタンドアロンアプリケーションを含み得る。特定の実施形態では、補助アプリケーション136は、ソーシャルネットワーキングアプリケーション134または別の好適なアプリケーション(たとえば、メッセージングアプリケーション)に組み込まれ得る。特定の実施形態では、補助アプリケーション136は、クライアントシステム130、補助ハードウェアデバイス、または任意の他の好適なハードウェアデバイスにも組み込まれ得る。特定の実施形態では、補助アプリケーション136は、ウェブブラウザ132を介してアクセスされ得る。特定の実施形態では、ユーザは、異なるモダリティを介して入力を提供し得る。限定としてではなく一例として、モダリティは、オーディオ、テキスト、画像、ビデオ、動き、向きなどを含み得る。補助アプリケーション136は、ユーザ入力を補助システム140に通信し得る。ユーザ入力に基づいて、補助システム140は、応答を生成し得る。補助システム140は、生成された応答を補助アプリケーション136に送り得る。補助アプリケーション136は、次いで、クライアントシステム130におけるユーザに応答を提示し得る。提示された応答は、オーディオ、テキスト、画像、およびビデオなど、異なるモダリティに基づき得る。限定としてではなく一例として、ユーザは、クライアントシステム130のマイクロフォンに話しかけることによって、交通情報について補助アプリケーション136に口頭で(すなわち、オーディオモダリティを介して)尋ね得る。補助アプリケーション136は、次いで、要求を補助システム140に通信し得る。したがって、補助システム140は、応答を生成し、結果を補助アプリケーション136に返送し得る。さらに、補助アプリケーション136は、クライアントシステム130のディスプレイに、テキストおよび/または画像でユーザへの応答を提示し得る。
特定の実施形態では、補助システム140は、ユーザが、異なるソースから情報を取り出すのを補助し得る。補助システム140はまた、ユーザが、異なるサービスプロバイダにサービスを要求するのを補助し得る。特定の実施形態では、補助システム140は、クライアントシステム130中の補助アプリケーション136を介して情報またはサービスについてのユーザ要求を受信し得る。補助システム140は、ユーザのプロファイルおよび他の関連情報に基づいて、ユーザ要求を分析するために、自然言語理解を使用し得る。分析の結果は、オンラインソーシャルネットワークに関連付けられた異なるエンティティを含み得る。補助システム140は、次いで、これらのエンティティに関連付けられた情報を取り出すか、またはサービスを要求し得る。特定の実施形態では、補助システム140は、ユーザのために情報を取り出すかまたはサービスを要求するとき、ソーシャルネットワーキングシステム160および/またはサードパーティシステム170と対話し得る。特定の実施形態では、補助システム140は、自然言語生成技法を使用して、ユーザのための個人化された通信コンテンツを生成し得る。個人化された通信コンテンツは、たとえば、取り出された情報または要求されたサービスのステータスを含み得る。特定の実施形態では、補助システム140は、ダイアログ管理技法を使用することによって、ユーザが、ステートフルおよびマルチターン会話において情報またはサービスに関して補助システム140と対話することを可能にし得る。補助システム140の機能性は、以下の図2の説明でより詳細に説明される。
特定の実施形態では、ソーシャルネットワーキングシステム160は、オンラインソーシャルネットワークをホストすることができるネットワークアドレス指定可能なコンピューティングシステムであり得る。ソーシャルネットワーキングシステム160は、たとえば、ユーザプロファイルデータ、概念プロファイルデータ、ソーシャルグラフ情報、またはオンラインソーシャルネットワークに関係する他の好適なデータなど、ソーシャルネットワーキングデータを生成し、記憶し、受信し、送り得る。ソーシャルネットワーキングシステム160は、直接的にまたはネットワーク110を介してのいずれかで、ネットワーク環境100の他の構成要素によってアクセスされ得る。限定としてではなく一例として、クライアントシステム130は、直接的にまたはネットワーク110を介してのいずれかで、ウェブブラウザ132、またはソーシャルネットワーキングシステム160に関連付けられたネイティブアプリケーション(たとえば、モバイルソーシャルネットワーキングアプリケーション、メッセージングアプリケーション、別の好適なアプリケーション、またはそれらの任意の組合せ)を使用して、ソーシャルネットワーキングシステム160にアクセスし得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、1つまたは複数のサーバ162を含み得る。各サーバ162は、単一サーバ、あるいは複数のコンピュータまたは複数のデータセンターにわたる分散型サーバであり得る。サーバ162は、たとえば、限定はしないが、ウェブサーバ、ニュースサーバ、メールサーバ、メッセージサーバ、広告サーバ、ファイルサーバ、アプリケーションサーバ、交換サーバ、データベースサーバ、プロキシサーバ、本明細書で説明される機能またはプロセスを実施するのに好適な別のサーバ、あるいはそれらの任意の組合せなど、様々なタイプのものであり得る。特定の実施形態では、各サーバ162は、サーバ162によって実装またはサポートされる適切な機能性を行うための、ハードウェア、ソフトウェア、または埋込み論理構成要素、または2つまたはそれ以上のそのような構成要素の組合せを含み得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、1つまたは複数のデータストア164を含み得る。データストア164は、様々なタイプの情報を記憶するために使用され得る。特定の実施形態では、データストア164に記憶された情報は、固有のデータ構造に従って編成され得る。特定の実施形態では、各データストア164は、リレーショナルデータベース、列指向データベース、相関データベース、または他の好適なデータベースであり得る。本開示は、特定のタイプのデータベースを説明するかまたは示すが、本開示は任意の好適なタイプのデータベースを企図する。特定の実施形態は、クライアントシステム130、ソーシャルネットワーキングシステム160、補助システム140、またはサードパーティシステム170が、データストア164に記憶された情報を管理する、取り出す、修正する、追加する、または削除することを可能にするインターフェースを提供し得る。
特定の実施形態では、ソーシャルネットワーキングシステム160は、1つまたは複数のソーシャルグラフを1つまたは複数のデータストア164に記憶し得る。特定の実施形態では、ソーシャルグラフは、(各々特定のユーザに対応する)複数のユーザノードまたは(各々特定の概念に対応する)複数の概念ノードを含み得る、複数のノードと、ノードを接続する複数のエッジとを含み得る。ソーシャルネットワーキングシステム160は、オンラインソーシャルネットワークのユーザに、他のユーザと通信および対話する能力を提供し得る。特定の実施形態では、ユーザは、ソーシャルネットワーキングシステム160を介してオンラインソーシャルネットワークに加わり、次いで、ユーザがつなげられることを希望するソーシャルネットワーキングシステム160の何人かの他のユーザへのつながり(たとえば、関係)を追加し得る。本明細書では、「友達」という用語は、ソーシャルネットワーキングシステム160を介してユーザがつながり、関連付け、または関係を形成したソーシャルネットワーキングシステム160の任意の他のユーザを指し得る。
特定の実施形態では、ソーシャルネットワーキングシステム160は、ソーシャルネットワーキングシステム160によってサポートされる様々なタイプのアイテムまたはオブジェクトに関するアクションをとる能力をユーザに提供し得る。限定としてではなく一例として、アイテムおよびオブジェクトは、ソーシャルネットワーキングシステム160のユーザが属し得るグループまたはソーシャルネットワーク、ユーザが興味があり得るイベントまたはカレンダーエントリ、ユーザが使用し得るコンピュータベースアプリケーション、ユーザがサービスを介してアイテムを購入または販売することを可能にするトランザクション、ユーザが実施し得る広告との対話、あるいは他の好適なアイテムまたはオブジェクトを含み得る。ユーザは、ソーシャルネットワーキングシステム160において、またはソーシャルネットワーキングシステム160とは別個であり、ネットワーク110を介してソーシャルネットワーキングシステム160に結合された、サードパーティシステム170の外部システムによって、表されることが可能であるものと対話し得る。
特定の実施形態では、ソーシャルネットワーキングシステム160は、様々なエンティティをリンクすることが可能であり得る。限定としてではなく一例として、ソーシャルネットワーキングシステム160は、ユーザが、互いと対話し、ならびにサードパーティシステム170または他のエンティティからコンテンツを受信することを可能にするか、あるいは、ユーザが、アプリケーションプログラミングインターフェース(API)または他の通信チャネルを通して、これらのエンティティと対話することを可能にし得る。
特定の実施形態では、サードパーティシステム170は、1つまたは複数のタイプのサーバ、1つまたは複数のデータストア、限定はしないがAPIを含む1つまたは複数のインターフェース、1つまたは複数のウェブサービス、1つまたは複数のコンテンツソース、1つまたは複数のネットワーク、またはたとえばサーバが通信し得る任意の他の好適な構成要素を含み得る。サードパーティシステム170は、ソーシャルネットワーキングシステム160を動作させるエンティティとは異なるエンティティによって動作させられ得る。しかしながら、特定の実施形態では、ソーシャルネットワーキングシステム160とサードパーティシステム170とは、互いと連携して動作して、ソーシャルネットワーキングシステム160またはサードパーティシステム170のユーザにソーシャルネットワーキングサービスを提供し得る。この意味で、ソーシャルネットワーキングシステム160は、サードパーティシステム170などの他のシステムが、インターネットにわたってユーザにソーシャルネットワーキングサービスおよび機能性を提供するために使用し得る、プラットフォームまたはバックボーンを提供し得る。
特定の実施形態では、サードパーティシステム170は、サードパーティコンテンツオブジェクトプロバイダを含み得る。サードパーティコンテンツオブジェクトプロバイダは、クライアントシステム130に通信され得る、コンテンツオブジェクトの1つまたは複数のソースを含み得る。限定としてではなく一例として、コンテンツオブジェクトは、たとえば、映画の上映時間、映画のレビュー、レストランのレビュー、レストランのメニュー、製品情報およびレビュー、または他の好適な情報など、ユーザにとって興味のある物またはアクティビティに関する情報を含み得る。限定としてではなく別の例として、コンテンツオブジェクトは、クーポン、ディスカウントチケット、ギフト券、または他の好適なインセンティブオブジェクトなど、インセンティブコンテンツオブジェクトを含み得る。特定の実施形態では、サードパーティコンテンツプロバイダは、1つまたは複数のサードパーティエージェントを使用して、コンテンツオブジェクトおよび/またはサービスを提供し得る。サードパーティエージェントは、サードパーティシステム170でホストされ、実行している実装形態であり得る。
特定の実施形態では、ソーシャルネットワーキングシステム160は、ソーシャルネットワーキングシステム160とのユーザの対話を向上させ得る、ユーザ生成されたコンテンツオブジェクトをも含む。ユーザ生成されたコンテンツは、ユーザがソーシャルネットワーキングシステム160に追加するか、アップロードするか、送るか、または「投稿」することができるものを含み得る。限定としてではなく一例として、ユーザは、クライアントシステム130からソーシャルネットワーキングシステム160に投稿を通信する。投稿は、ステータス更新または他のテキストデータ、ロケーション情報、写真、ビデオ、リンク、音楽あるいは他の同様のデータまたはメディアなど、データを含み得る。コンテンツはまた、ニュースフィードまたはストリームなどの「通信チャネル」を通して、サードパーティによってソーシャルネットワーキングシステム160に追加され得る。
特定の実施形態では、ソーシャルネットワーキングシステム160は、様々なサーバ、サブシステム、プログラム、モジュール、ログ、およびデータストアを含み得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、ウェブサーバ、アクションロガー、API要求サーバ、関連性およびランキングエンジン、コンテンツオブジェクト分類子、通知コントローラ、アクションログ、サードパーティコンテンツオブジェクト露出ログ、推論モジュール、許可/プライバシーサーバ、検索モジュール、広告ターゲッティングモジュール、ユーザインターフェースモジュール、ユーザプロファイルストア、つながりストア、サードパーティコンテンツストア、またはロケーションストアのうちの1つまたは複数を含み得る。ソーシャルネットワーキングシステム160は、ネットワークインターフェース、セキュリティ機構、ロードバランサ、フェイルオーバサーバ、管理およびネットワーク運用コンソール、他の好適な構成要素、またはそれらの任意の好適な組合せなど、好適な構成要素をも含み得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、ユーザプロファイルを記憶するための1つまたは複数のユーザプロファイルストアを含み得る。ユーザプロファイルは、たとえば、経歴情報、人口統計学的情報、行動情報、ソーシャル情報、あるいは、職歴、学歴、趣味もしくは選好、興味、親和性、またはロケーションなど、他のタイプの記述的情報を含み得る。興味情報は、1つまたは複数のカテゴリーに関係する興味を含み得る。カテゴリーは一般的であるかまたは固有のものであり得る。限定としてではなく一例として、ユーザが、靴のブランドに関する記事に対して「いいね!」を表明した場合、カテゴリーは、ブランド、あるいは「靴」または「衣類」の一般的なカテゴリーであり得る。つながりストアは、ユーザに関するつながり情報を記憶するために使用され得る。つながり情報は、同様のまたは共通の職歴、グループメンバーシップ、趣味、学歴を有するか、あるいはいかなる形でも関係するか、または共通属性を共有する、ユーザを指示し得る。つながり情報は、(内部と外部の両方の)異なるユーザとコンテンツとの間のユーザ定義されたつながりをも含み得る。ウェブサーバは、ネットワーク110を介して、ソーシャルネットワーキングシステム160を、1つまたは複数のクライアントシステム130または1つまたは複数のサードパーティシステム170にリンクするために使用され得る。ウェブサーバは、ソーシャルネットワーキングシステム160と1つまたは複数のクライアントシステム130との間でメッセージを受信およびルーティングするためのメールサーバまたは他のメッセージング機能性を含み得る。API要求サーバは、たとえば、補助システム140またはサードパーティシステム170が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキングシステム160からの情報にアクセスすることを可能にし得る。アクションロガーは、ソーシャルネットワーキングシステム160上の、またはソーシャルネットワーキングシステム160から離れた、ユーザのアクションに関するウェブサーバからの通信を受信するために使用され得る。アクションログと併せて、サードパーティコンテンツオブジェクトへのユーザ露出についてのサードパーティコンテンツオブジェクトログが維持され得る。通知コントローラは、クライアントシステム130にコンテンツオブジェクトに関する情報を提供し得る。情報は、通知としてクライアントシステム130にプッシュされ得るか、または、情報は、クライアントシステム130から受信された要求に応答してクライアントシステム130からプルされ得る。許可サーバは、ソーシャルネットワーキングシステム160のユーザの1つまたは複数のプライバシー設定を施行するために使用され得る。ユーザのプライバシー設定は、ユーザに関連付けられた特定の情報がどのように共有され得るかを決定する。許可サーバは、ユーザが、たとえば、適切なプライバシー設定をセットすることなどによって、そのユーザのアクションがソーシャルネットワーキングシステム160によってロギングされるか、または他のシステム(たとえば、サードパーティシステム170)と共有されることをオプトインまたはオプトアウトすることを可能にし得る。サードパーティコンテンツオブジェクトストアは、サードパーティシステム170など、サードパーティから受信されたコンテンツオブジェクトを記憶するために使用され得る。ロケーションストアは、ユーザに関連付けられたクライアントシステム130から受信されたロケーション情報を記憶するために使用され得る。広告価格設定モジュールは、ソーシャル情報、現在時間、ロケーション情報、または他の好適な情報を組み合わせて、関連する広告を通知の形態でユーザに提供し得る。
補助システム
図2は、補助システム140の例示的なアーキテクチャを示す。特定の実施形態では、補助システム140は、ユーザが情報またはサービスを取得するのを補助し得る。補助システム140は、ユーザが、補助を得るためのステートフルおよびマルチターン会話における(ボイス、テキスト、画像、ビデオ、動きなどの)マルチモーダルユーザ入力で補助システム140と対話することを可能にし得る。限定としてではなく一例として、補助システム140は、ビジョン、ロケーション、ジェスチャー、動き、またはハイブリッド/マルチモーダル入力など、オーディオ入力(口頭)と非口頭入力の両方をサポートし得る。補助システム140は、ユーザに関連付けられた個人情報とコンテキスト情報の両方を含むユーザプロファイルを作成および記憶し得る。特定の実施形態では、補助システム140は、自然言語理解を使用してユーザ入力を分析し得る。分析は、より個人化されたおよびコンテキストアウェア理解のために、ユーザのユーザプロファイルに基づき得る。補助システム140は、分析に基づいて、ユーザ入力に関連付けられたエンティティを解析し得る。特定の実施形態では、補助システム140は、解析されるエンティティに関連付けられた情報またはサービスを取得するために、異なるエージェントと対話し得る。補助システム140は、自然言語生成を使用することによって、情報またはサービスに関してユーザのための応答を生成し得る。ユーザとの対話を通して、補助システム140は、ダイアログ管理技法を使用して、ユーザとの会話のフローを管理およびフォワーディングし得る。特定の実施形態では、補助システム140は、情報を要約することによって、ユーザが、取得された情報を効果的におよび効率的に消化するのをさらに補助し得る。補助システム140はまた、(たとえば、投稿、コメント、メッセージを作成して)ユーザがオンラインソーシャルネットワークと対話するのを助けるツールを提供することによって、ユーザがオンラインソーシャルネットワークにより関与するのを補助し得る。補助システム140は、ユーザが、イベントを追跡することなど、異なるタスクを管理するのをさらに補助し得る。特定の実施形態では、補助システム140は、ユーザ入力なしに、ユーザについて関連する時間において、ユーザプロファイルに基づいて、ユーザ興味および選好に関連する、事前許可されたタスクをプロアクティブに実行し得る。特定の実施形態では、補助システム140は、ユーザのプロファイルまたは他のユーザ情報にアクセスすることと、異なるタスクを実行することとが、ユーザのプライバシー設定を条件として許諾されることを確実にするために、プライバシー設定を検査し得る。プライバシー設定を条件とするユーザを補助することに関するより多くの情報が、参照により組み込まれる、2018年11月6日に出願された米国特許出願第16/182542号において見つけられ得る。
特定の実施形態では、補助システム140は、クライアント側処理とサーバ側処理の両方に構築されたハイブリッドアーキテクチャを介してユーザを補助し得る。クライアント側処理とサーバ側処理とは、ユーザ入力を処理するため、およびユーザへの補助を提供するための2つの並行のワークフローであり得る。特定の実施形態では、クライアント側処理は、ユーザに関連付けられたクライアントシステム130上でローカルに実施され得る。対照的に、サーバ側処理は、1つまたは複数のコンピューティングシステム上でリモートに実施され得る。特定の実施形態では、クライアントシステム130上の補助オーケストレータは、ユーザ入力(たとえば、オーディオ信号)の受信を協調させること、および、ユーザ入力に応答するために、クライアント側処理を使用すべきか、サーバ側処理を使用すべきか、両方を使用すべきかを決定することを行い得る。ダイアログアービトレータは、各処理からの処理結果を分析し得る。ダイアログアービトレータは、前述の分析に基づいて、ユーザ入力に関連付けられたタスクを実行するように、クライアント側またはサーバ側のエージェントに命令し得る。実行結果は、クライアントシステム130への出力としてさらにレンダリングされ得る。クライアント側処理とサーバ側処理の両方を活用することによって、補助システム140は、ユーザプライバシーを保護すること、およびセキュリティを強化することを同時に行いつつ、ユーザがコンピューティングリソースを最適に使用するのを効果的に補助することができる。
特定の実施形態では、補助システム140は、ユーザに関連付けられたクライアントシステム130からユーザ入力を受信し得る。特定の実施形態では、ユーザ入力は、シングルターンで補助システム140に送られる、ユーザ生成された入力でよい。ユーザ入力は、口頭、非口頭、またはそれらの組合せであり得る。限定としてではなく一例として、非口頭ユーザ入力は、ユーザのボイス、ビジョン、ロケーション、アクティビティ、ジェスチャー、動き、またはそれらの組合せに基づき得る。ユーザ入力がユーザのボイスに基づく場合(たとえば、ユーザがクライアントシステム130に話しかけ得る場合)、このようなユーザ入力は、システムオーディオAPI202(アプリケーションプログラミングインターフェース)によって最初に処理され得る。システムオーディオAPI202は、補助システム140で容易に処理可能なオーディオデータを生成するために、エコーキャンセル、ノイズ除去、ビーム形成、ならびに、セルフユーザボイス活性化、話者識別、ボイスアクティビティ検出(VAD)、および任意の他の音響技法を行い得る。特定の実施形態では、システムオーディオAPI202は、ユーザ入力からの起動ワード検出204を実施し得る。限定としてではなく一例として、起動ワードは、「ヘイ、アシスタント。」でよい。このような起動ワードが検出されると、補助システム140は、適宜アクティブにされ得る。代替実施形態では、ユーザは、起動ワードなしに、ビジュアル信号を介して補助システム140をアクティブにし得る。ビジュアル信号は、様々なビジュアル信号を検出可能な低電力センサー(たとえば、カメラ)において受信され得る。限定としてではなく一例として、ビジュアル信号は、クライアントシステム130によって検出されたバーコード、QRコード、または統一商品コード(UPC)であり得る。限定としてではなく別の例として、ビジュアル信号は、オブジェクトへのユーザの注視であり得る。限定としてではなくさらに別の例として、ビジュアル信号は、ユーザジェスチャー(たとえば、ユーザがオブジェクトを指し示すこと)であり得る。
特定の実施形態では、システムオーディオAPI202からのオーディオデータは、補助オーケストレータ206に送られ得る。補助オーケストレータ206は、クライアントシステム130において実行中であり得る。特定の実施形態では、補助オーケストレータ206は、クライアント側処理、サーバ側処理、または両方を使用することによってユーザ入力に応答すべきかどうかを決定し得る。図2に示されているように、クライアント側処理が断続線207の下に示されており、その一方でサーバ側処理が断続線207の上に示されている。補助オーケストレータ206はまた、クライアント側処理とサーバ側処理の両方を同時に使用することによってユーザ入力に応答することを決定し得る。図2は、補助オーケストレータ206をクライアント側処理として示しているが、補助オーケストレータ206はサーバ側処理でもよく、またはクライアント側処理とサーバ側処理との間で分かれるハイブリッド処理でもよい。
特定の実施形態では、オーディオデータがシステムオーディオAPI202から生成された後、サーバ側処理は以下のようなものであり得る。補助オーケストレータ206は、ユーザ入力に応答するために、補助システム140の種々のモジュールをホストするリモートコンピューティングシステムにオーディオデータを送り得る。特定の実施形態では、オーディオデータは、リモート自動言語認識(ASR)モジュール208において受信され得る。ASRモジュール208は、ユーザが口述筆記させ、発言を、書かれたテキストとして文字に起こさせること、オーディオストリームとしてドキュメントを合成させること、またはシステムによってそのようなものとして認識されたコマンドを発行することを可能にし得る。ASRモジュール208は、統計モデルを使用して、補助システム140によってオーディオ入力として受信された発言の所与の部分に対応する単語の最も可能性の高いシーケンスを決定し得る。モデルは、隠れマルコフモデル、ニューラルネットワーク、ディープラーニングモデル、またはそれらの任意の組合せのうちの1つまたは複数を含み得る。受信されたオーディオ入力は、特定のサンプリングレート(たとえば、16kHz、44.1kHz、または96kHz)で、および、各サンプルを表す特定の数のビット(たとえば、24ビットのうちの8ビット、16ビット)で、デジタルデータにエンコードされ得る。
特定の実施形態では、ASRモジュール208は、種々の構成要素を備え得る。ASRモジュール208は、書記素-音素(G2P:grapheme-to-phoneme)モデル、発音学習モデル、個人化音響モデル(personalized acoustic model)、個人化言語モデル(PLM:personalized language model)、またはエンドポインティングモデルのうちの1つまたは複数を備え得る。特定の実施形態では、G2Pモデルは、ユーザの書記素-音素スタイル(たとえば、特定のユーザが特定の単語を話すときに聞こえ得るようなもの)を決定するために使用され得る。個人化音響モデルは、オーディオ信号と、言語内の音声単位の音との間の関係のモデルであり得る。したがって、このような個人化音響モデルは、ユーザのボイスがどのように聞こえるかを識別し得る。個人化音響モデルは、オーディオ入力、および(発言に対応する)対応する音声単位として受信されたトレーニング発言などの、トレーニングデータを使用して生成され得る。個人化音響モデルは、特定のユーザの発言を認識するために、特定のユーザのボイスを使用してトレーニングまたは洗練され得る。特定の実施形態では、個人化言語モデルは、次いで、特定のオーディオ入力に対する識別された音声単位に対応する最も可能性の高い句を決定し得る。個人化言語モデルは、様々な単語シーケンスが言語の中で発生し得る確率のモデルであり得る。オーディオ入力内の音声単位の音は、個人化言語モデルを使用して単語シーケンスと一致され得、より大きな重みが、言語内の句である可能性が最も高い単語シーケンスに割り当てられ得る。最大の重みを有する単語シーケンスが、次いで、オーディオ入力に対応するテキストとして選択され得る。特定の実施形態では、個人化言語モデルはまた、文脈を考慮に入れて、どの単語をユーザが言う可能性が最も高いかを予測するために使用され得る。特定の実施形態では、エンドポインティングモデルは、いつ発話の終わりに達したかを検出し得る。
特定の実施形態では、ASRモジュール208の出力は、リモート自然言語理解(NLU)モジュール210に送られ得る。NLUモジュール210は、固有表現解決(NER:named entity resolution)を実施し得る。NLUモジュール210は、ユーザ入力を分析するときにコンテキスト情報をさらに考慮し得る。特定の実施形態では、意図および/またはスロットは、NLUモジュール210の出力であり得る。意図は、補助システム140と対話するユーザの目的を指示し得る、意味論的意図の事前定義された分類法における要素であり得る。NLUモジュール210は、ユーザ入力を、事前定義された分類法のメンバーに分類し得、たとえば、入力「ベートーベンの第5番をプレイしてください」の場合、NLUモジュール210は、その入力を、意図[IN:play_music]を有するものとして分類し得る。特定の実施形態では、ドメインは、対話の社会的背景(たとえば、教育)、または、意図のセットのための名前空間、たとえば、音楽を示し得る。スロットは、基本的な意味論的エンティティを表す、ユーザ入力内の文字ストリングに対応する名前付きサブストリングでよい。たとえば、「ピザ」のためのスロットは、[SL:dish]であり得る。特定の実施形態では、有効なまたは予想される名前付きスロットのセットは、分類された意図を条件とし得る。限定としてではなく一例として、意図[IN:play_music]に対して、有効なスロットは[SL:song_name]であり得る。特定の実施形態では、NLUモジュール210は、ソーシャルグラフ、知識グラフ、または概念グラフのうちの1つまたは複数から情報をさらに抽出し、1つまたは複数のリモートデータストア212からユーザのプロファイルを取り出し得る。NLUモジュール210は、さらに、どの情報を集約すべきか決定すること、ユーザ入力のnグラムにアノテーションを付けること、集約された情報に基づいて信頼性スコアでnグラムをランク付けすること、および、ランク付けされたnグラムを、ユーザ入力を理解するためにNLUモジュール210によって使用され得る特徴に構築することによって、これらの異なるソースからの情報を処理し得る。
特定の実施形態では、NLUモジュール210は、個人化されたおよびコンテキスト認識様式で、ユーザ入力からのドメイン、意図、またはスロットのうちの1つまたは複数を識別し得る。限定としてではなく一例として、ユーザ入力は「コーヒーショップへの行き方を教えてください」を含み得る。NLUモジュール210は、ユーザの個人情報および関連付けられたコンテキスト情報に基づいて、ユーザが行くことを希望する特定のコーヒーショップを識別し得る。特定の実施形態では、NLUモジュール210は、特定の言語の辞典と、センテンスを内部表現に区分するためのパーサおよび文法ルールとを含み得る。NLUモジュール210は、ユーザ入力を理解するための語用論の使用に対して単純な意味論または確率的意味論的分析を実施する、1つまたは複数のプログラムをも含み得る。特定の実施形態では、パーサは、複数の長短期記憶(LSTM)ネットワークを含む、深層学習アーキテクチャに基づき得る。限定としてではなく一例として、パーサは、リカレントおよび再帰的LSTMアルゴリズムのタイプである、リカレントニューラルネットワーク文法(RNNG)モデルに基づき得る。自然言語理解に関するより多くの情報が、その各々が参照により組み込まれる、2018年6月18日に出願された米国特許出願第16/011062号、2018年7月2日に出願された米国特許出願第16/025317号、および2018年7月17日に出願された米国特許出願第16/038120号において見つけられ得る。
特定の実施形態では、NLUモジュール210の出力は、リモート推理モジュール214に送られ得る。推理モジュール214は、ダイアログマネージャおよびエンティティ解析構成要素を備え得る。特定の実施形態では、ダイアログマネージャは、複雑なダイアログロジックおよび製品関連ビジネスロジックを有し得る。ダイアログマネージャは、ユーザと補助システム140との間の会話のダイアログ状態およびフローを管理し得る。ダイアログマネージャは、ユーザと補助システム140との間の以前の会話をさらに記憶し得る。特定の実施形態では、ダイアログマネージャは、1つまたは複数のスロットに関連付けられたエンティティを解析するために、エンティティ解析構成要素と通信し得、エンティティ解析構成要素は、ユーザと補助システム140との間の会話のフローを進めるようにダイアログマネージャをサポートする。特定の実施形態では、エンティティ解析構成要素は、エンティティを解析するときに、ソーシャルグラフ、知識グラフ、または概念グラフのうちの1つまたは複数にアクセスし得る。エンティティは、たとえば、一意のユーザまたは概念を含み得、それらの各々は、一意の識別子(ID)を有し得る。限定としてではなく一例として、知識グラフは、複数のエンティティを含み得る。各エンティティは、1つまたは複数の属性値に関連付けられた単一のレコードを含み得る。特定のレコードは、一意のエンティティ識別子に関連付けられ得る。各レコードは、エンティティの属性について多様な値を有し得る。各属性値は、信頼性確率に関連付けられ得る。属性値についての信頼性確率は、所与の属性について値が正確である確率を表す。各属性値は、意味論的重みにも関連付けられ得る。属性値についての意味論的重みは、すべての利用可能な情報を考慮して、所与の属性について値が意味論的にどのくらい適切であるかを表し得る。たとえば、知識グラフは、「Alice’s Adventures」という本のエンティティを備え得、このエンティティは、複数のコンテンツソース(たとえば、オンラインソーシャルネットワーク、オンライン百科事典、ブックレビューソース、メディアデータベース、およびエンターテイメントコンテンツソース)から抽出され、その後、知識グラフのための単一の一意のレコードを生成するために重複排除、解析、および融合が行われた情報を含む。エンティティは、「Alice’s Adventures」という本のジャンルを示す「空想」属性値と関連付けられ得る。知識グラフに関するより多くの情報が、その各々が参照により組み込まれる、2018年7月27日に出願された米国特許出願第16/048049号、および2018年7月27日に出願された米国特許出願第16/048101号において見つけられ得る。
特定の実施形態では、エンティティ解析構成要素は、エンティティの解析がプライバシーポリシーに違反しないことを保証するために、プライバシー制約を検査し得る。限定としてではなく一例として、解析されるべきエンティティは、自分の識別情報がオンラインソーシャルネットワーク上で検索可能であるべきでないことを、自分のプライバシー設定において指定する別のユーザであり得、したがって、エンティティ解析構成要素は、要求に応答する、そのユーザの識別子を返さないことがある。ソーシャルグラフ、知識グラフ、概念グラフ、およびユーザプロファイルから取得された情報に基づいて、ならびに適用可能なプライバシーポリシーを条件として、エンティティ解析構成要素は、したがって、個人化された、コンテキストアウェアの、およびプライバシーアウェアの様式で、ユーザ入力に関連付けられたエンティティを解析し得る。特定の実施形態では、解析されたエンティティの各々は、ソーシャルネットワーキングシステム160によってホストされる1つまたは複数の識別子に関連付けられ得る。限定としてではなく一例として、識別子は、特定のユーザに対応する一意のユーザ識別子(ID)(たとえば、一意のユーザ名またはユーザID番号)を含み得る。特定の実施形態では、解析されたエンティティの各々は、信頼性スコアにも関連付けられ得る。エンティティを解析することに関するより多くの情報が、その各々が参照により組み込まれる、2018年7月27日に出願された米国特許出願第16/048049号、および2018年7月27日に出願された米国特許出願第16/048072号において見つけられ得る。
特定の実施形態では、ダイアログマネージャは、ダイアログ最適化および補助状態追跡を行い得る。ダイアログ最適化は、データを使用して、ダイアログにおける最も可能性の高い分岐が何であるべきかを理解するという問題である。限定としてではなく一例として、ダイアログ最適化を用いて、補助システム140は、ダイアログ最適化に基づいて推論された人物が、ユーザが電話したいと思う非常に可能性の高い人であるはずであるという高い信頼性を補助システム140が有するので、誰にユーザが電話したいと思っているかを確認する必要がなくなり得る。特定の実施形態では、ダイアログマネージャは、ダイアログ最適化のために強化学習を使用し得る。補助状態追跡は、ユーザが世界と対話し、補助システム140がユーザと対話すると同時に経時的に変化する状態の経過を追うことを目指す。限定としてではなく一例として、補助状態追跡は、適用可能なプライバシーポリシーに従って、何についてユーザが話しているか、誰とユーザが一緒にいるか、どこにユーザがいるか、どのタスクが現在進んでいるか、およびどこをユーザが注視しているか等を追跡し得る。特定の実施形態では、ダイアログマネージャは、オペレータのセットを使用してダイアログ状態を追跡し得る。オペレータは、ダイアログ状態を更新するのに必要なデータおよびロジックを含み得る。各オペレータは、入ってくる要求を処理した後のダイアログ状態のデルタとして機能し得る。特定の実施形態では、ダイアログマネージャは、ダイアログ状態トラッカおよびアクションセレクタをさらに含み得る。代替実施形態では、ダイアログ状態トラッカは、エンティティ解析構成要素を置き替え、参照/言及を解析し、状態の経過を追い得る。
特定の実施形態では、推理モジュール214は、さらに、偽トリガの軽減を行い得る。偽トリガの軽減の目的は、補助要求の偽トリガ(たとえば、起動ワード)を検出すること、および、ユーザが実際には補助システム140を起動するつもりがないときの偽のレコードの生成を回避することである。限定としてではなく一例として、推理モジュール214は、ナンセンス検出器に基づいて、偽トリガの軽減を実現し得る。ユーザとの対話におけるこの時点で起動ワードが意味をなさないことをナンセンス検出器が決定すると、推理モジュール214は、ユーザが補助システム140を起動するつもりだったとの推論が正しくない可能性があると決定し得る。特定の実施形態では、推理モジュール214の出力は、リモートダイアログアービトレータ216に送られ得る。
特定の実施形態では、ASRモジュール208、NLUモジュール210、および推理モジュール214の各々は、ユーザをより効果的に補助する方法を決定するために、ユーザエピソードメモリを備えるリモートデータストア212にアクセスし得る。エピソードメモリについてのより多くの情報は、参照により組み込まれる、2019年8月27日に出願の米国特許出願第16/552559号において見つけられ得る。データストア212は、さらに、ユーザのユーザプロファイルを記憶し得る。ユーザのユーザプロファイルは、ユーザに関連付けられた人口統計学的情報、社会情報、およびコンテキスト情報を含むユーザプロファイルデータを備え得る。ユーザプロファイルデータはまた、ニュースフィードについての会話、検索ログ、メッセージングプラットフォーム等を通じて集約された複数のトピックについてのユーザ興味および選好を含み得る。ユーザプロファイルの使用は、ユーザの情報がユーザの利益のためだけに使用され得ること、および他人と共有され得ないことを保証するために、プライバシー制約に従い得る。ユーザプロファイルについてのより多くの情報は、参照により組み込まれる、2018年4月30日に出願の米国特許出願第15/967239号において見つけられ得る。
特定の実施形態では、ASRモジュール208、NLUモジュール210、および推理モジュール214を伴う前述のサーバ側処理と同様に、クライアント側処理は以下のようなものであり得る。特定の実施形態では、補助オーケストレータ206の出力は、クライアントシステム130上のローカルASRモジュール216に送られ得る。ASRモジュール216は、個人化言語モデル(PLM)、G2Pモデル、およびエンドポインティングモデルを備え得る。クライアントシステム130の限定的な計算能力により、補助システム140は、クライアント側処理中の実行時に個人化言語モデルを最適化し得る。限定としてではなく一例として、補助システム140は、ユーザが話し得る複数の考えうる主題のための複数の個人化言語モデルを予め計算し得る。ユーザが補助を要求すると、補助システム140は、次いで、ユーザアクティビティに基づいて、実行時に補助システム140によって個人化言語モデルがローカルに最適化され得るように、これらの予め計算された言語モデルを素早く取り替え得る。結果として、補助システム140は、何についてユーザが話している可能性があるかを効率的に決定しつつ、計算リソースを節約するという技術的利点を有し得る。特定の実施形態では、補助システム140はまた、実行時にユーザ発音を素早く再学習し得る。
特定の実施形態では、ASRモジュール216の出力は、ローカルNLUモジュール218に送られ得る。特定の実施形態では、ここでのNLUモジュール218は、サーバ側でサポートされるリモートNLUモジュール210に比べて、よりコンパクトであり得る。ASRモジュール216およびNLUモジュール218がユーザ入力を処理するとき、これらは、ローカル補助メモリ220にアクセスし得る。ローカル補助メモリ220は、ユーザプライバシーを保護するために、データストア212に記憶されたユーザメモリとは異なり得る。特定の実施形態では、ローカル補助メモリ220は、ネットワーク110を介して、データストア212に記憶されたユーザメモリと同期している可能性がある。限定としてではなく一例として、ローカル補助メモリ220は、ユーザのクライアントシステム130上のカレンダーを、ユーザに関連付けられたサーバ側のカレンダーと同期し得る。特定の実施形態では、ローカル補助メモリ220内の任意のセキュアなデータが、クライアントシステム130上でローカルに実行している補助システム140のモジュールにしかアクセス可能になり得ない。
特定の実施形態では、NLUモジュール218の出力は、ローカル推理モジュール222に送られ得る。推理モジュール222は、ダイアログマネージャおよびエンティティ解析構成要素を備え得る。限定的な計算能力により、推理モジュール222は、クライアントシステム130に特に合わせられた学習アルゴリズムに基づくオンデバイス学習を行い得る。限定としてではなく一例として、連合学習は、推理モジュール222によって使用され得る。連合学習は、携帯電話などのエンドデバイス上に常駐する非集中化データを使用して機械学習モデルをトレーニングする、分散型機械学習アプローチの特定のカテゴリーである。特定の実施形態では、推理モジュール222は、特定の連合学習モデル、すなわち連合ユーザ表現学習を使用して、既存のニューラルネットワーク個人化技法を連合学習に拡張し得る。連合ユーザ表現学習は、タスク固有のユーザ表現(すなわち、埋込み)を学習することによって、または、モデルの重みを個人化することによって、連合学習におけるモデルを個別化することができる。連合ユーザ表現学習は、簡単であり、拡張可能であり、プライバシーを保護し、リソース効率が良い。連合ユーザ表現学習は、モデルパラメータを連合およびプライベートパラメータに分割し得る。プライベートユーザ埋込みなどのプライベートパラメータは、リモートサーバに移送またはリモートサーバ上で分配されるのでなく、クライアントシステム130上でローカルにトレーニングされ得る。連合パラメータは、対照的に、サーバ上でリモートにトレーニングされ得る。特定の実施形態では、推理モジュール222は、別の特定の連合学習モデル、すなわちアクティブな連合学習を使用して、リモートサーバ上でトレーニングされたグローバルモデルをクライアントシステム130に伝送し、これらのクライアントシステム130上でローカルに勾配を計算し得る。アクティブな連合学習は、モデルのダウンロードおよび勾配のアップロードに関連付けられた伝送コストを推理モジュールが最小化することを可能にし得る。アクティブな連合学習については、各ラウンドにおいて、クライアントシステムは、一様ではなく、効率を最大化するために、現在のモデルおよびクライアントシステム上のデータを条件とする確率でランダムに選択される。特定の実施形態では、推理モジュール222は、別の特定の連合学習モデル、すなわち連合Adamを使用し得る。従来の連合学習モデルは、確率的勾配降下(SGD)オプティマイザを使用し得る。対照的に、連合Adamモデルは、モーメントベースのオプティマイザを使用し得る。従来の機能が行うもののように、分配されたモデルを直接使用するのではなく、連合Adamモデルは、分配されたモデルを使用して近似勾配を計算し得る。これらの勾配は、次いで、連合Adamモデルに供給され得、連合Adamモデルは確率勾配をノイズ除去し、パラメータごとの適応可能な学習率を使用し得る。連合学習によって生み出された勾配は、(データが独立しておらず、同一に配布され得ないので)確率的勾配降下よりもさらにノイズが多くなり得、したがって、連合Adamモデルは、ノイズにさらに多く対処するのに役立ち得る。連合Adamモデルは勾配を使用して、目的関数の最小化に向けてよりスマートなステップを行い得る。実験は、ベンチマークに対する従来の連合学習が、ROC(受信者動作特性)曲線において1.6%の低下を有し、その一方で連合Adamモデルが、0.4%の低下しか有していないことを示す。さらに、連合Adamモデルは、通信またはオンデバイス計算の増加がない。特定の実施形態では、推理モジュール222はまた、偽トリガの軽減を実施し得る。この偽トリガの軽減は、ユーザの発言入力がプライバシー制約に従うデータを含むとき、クライアントシステム130上での偽の活性化要求(たとえば、起動ワード)の検出に役立ち得る。限定としてではなく一例として、ユーザが音声電話中のとき、ユーザの会話はプライベートであり、このような会話に基づく偽トリガの検出は、ユーザのクライアントシステム130上でローカルにしか発生し得ない。
特定の実施形態では、補助システム140は、ローカルコンテキストエンジン224を備え得る。コンテキストエンジン224は、より有益な手がかりを推理モジュール222に提供するために、他の利用可能な信号すべてを処理し得る。限定としてではなく一例として、コンテキストエンジン224は、人々に関する情報、コンピュータビジョン技術によってさらに分析されるクライアントシステム130のセンサー(たとえば、マイクロフォン、カメラ)からのセンサーデータ、形状構築、アクティビティデータ、(たとえば、VRヘッドセットによって収集された)慣性データ、ロケーション等を有し得る。特定の実施形態では、コンピュータビジョン技術は、人の骨格の再現、顔検出、顔認識、ハンドトラッキング、視線追跡等を含み得る。特定の実施形態では、形状構築は、クライアントシステム130によって収集されたデータを使用して、ユーザを取り囲むオブジェクトを構築することを含み得る。限定としてではなく一例として、ユーザはARグラスを着用していてよく、形状構築は、どこに床があるか、どこに壁があるか、どこにユーザの手があるか等を決定することを目指し得る。特定の実施形態では、慣性データは、線運動および角運動に関連付けられたデータでよい。限定としてではなく一例として、慣性データは、ユーザの体の部位がどのように動くかを測定するARグラスによってキャプチャされ得る。
特定の実施形態では、ローカル推理モジュール222の出力は、ダイアログアービトレータ216に送られ得る。ダイアログアービトレータ216は、3つのシナリオでそれぞれに機能し得る。第1のシナリオでは、補助オーケストレータ206はサーバ側処理を使用することを決定し、サーバ側処理のために、ダイアログアービトレータ216は、推理モジュール214の出力をリモートアクション実行モジュール226に伝送し得る。第2のシナリオでは、補助オーケストレータ206は、サーバ側処理とクライアント側処理の両方を使用することを決定し、これらの処理のために、ダイアログアービトレータ216は、両方の処理の両方の推理モジュール(すなわち、リモート推理モジュール214とローカル推理モジュール222と)からの出力を集約し、これらを分析し得る。限定としてではなく一例として、ダイアログアービトレータ216はランク付けを実施し、ユーザ入力に応答するための最善の推理結果を選択し得る。特定の実施形態では、ダイアログアービトレータ216は、さらに、分析に基づいて、関連タスクを実行するために、サーバ側のエージェントを使用すべきか、クライアント側のエージェントを使用すべきかを決定し得る。第3のシナリオでは、補助オーケストレータ206は、クライアント側処理を使用することを決定し、ダイアログアービトレータ216は、ローカル推理モジュール222の出力を評価して、ユーザ入力をハンドリングするタスクをクライアント側処理が完了させることができるかを決定する必要がある。代替実施形態では、推理モジュール222の出力は、クライアント側処理を使用すること、および、クライアント側処理がユーザ入力を完全に処理可能であることを補助オーケストレータ206が決定した場合、ダイアログアービトレータ216に送られなくてよい。
特定の実施形態では、上記で言及された第1および第2のシナリオのために、ダイアログアービトレータ216は、サーバ側のエージェントが、ユーザ入力に応答してタスクを実行する必要があると決定し得る。したがって、ダイアログアービトレータ216は、ユーザ入力に関する必要な情報をアクション実行モジュール226に送り得る。アクション実行モジュール226はタスクを実行するために、1つまたは複数のエージェントをコールし得る。代替実施形態では、ダイアログマネージャのアクションセレクタは、実行すべきアクションを決定し、アクション実行モジュール226に適宜命令し得る。特定の実施形態では、エージェントは、1つのドメインのための複数のコンテンツプロバイダにわたるブローカーとして働く実装形態であり得る。コンテンツプロバイダは、意図に関連付けられたアクションを行うこと、または意図に関連付けられたタスクを完了することを担当するエンティティであり得る。特定の実施形態では、エージェントは、ファーストパーティエージェントとサードパーティエージェントとを含み得る。特定の実施形態では、ファーストパーティエージェントは、補助システム140によってアクセス可能かつ制御可能な内部エージェント(たとえば、メッセージングサービスまたは写真共有サービスなどのオンラインソーシャルネットワークによって提供されるサービスに関連付けられたエージェント)を備え得る。特定の実施形態では、サードパーティエージェントは、補助システム140が制御を有しない外部エージェント(たとえば、サードパーティオンライン音楽アプリケーションエージェント、チケットセールスエージェント)を含み得る。ファーストパーティエージェントは、ソーシャルネットワーキングシステム160によってホストされるコンテンツオブジェクトおよび/またはサービスを提供するファーストパーティプロバイダに関連付けられ得る。サードパーティエージェントは、サードパーティシステム170によってホストされるコンテンツオブジェクトおよび/またはサービスを提供するサードパーティプロバイダに関連付けられ得る。特定の実施形態では、ファーストパーティエージェントまたはサードパーティエージェントの各々は、特定のドメインのために指定され得る。限定としてではなく一例として、ドメインは、天候、輸送手段、音楽、ショッピング、ソーシャル、ビデオ、写真、イベント、ロケーション、作業等を含み得る。特定の実施形態では、補助システム140は、ユーザ入力に応答するために複数のエージェントを共同的に使用し得る。限定としてではなく一例として、ユーザ入力は「次の会議に私を案内してください」を含み得る。補助システム140は、次の会議のロケーションを取り出すためにカレンダーエージェントを使用し得る。補助システム140は、次いで、ユーザを次の会議に案内するためにナビゲーションエージェントを使用し得る。
特定の実施形態では、上記で言及された第2のおよび第3のシナリオのために、ダイアログアービトレータ216は、クライアント側のエージェントが、ユーザ入力に応答してタスクを実行可能であるが、追加の情報が必要であること(たとえば、応答テンプレート)、またはサーバ側のエージェントによってのみタスクをハンドリング可能であることを決定し得る。サーバ側のエージェントによってのみタスクをハンドリング可能であるとダイアログアービトレータ216が決定すると、ダイアログアービトレータ216は、ユーザ入力に関する必要な情報をアクション実行モジュール226に送り得る。クライアント側のエージェントがタスクを実行可能であるが、応答テンプレートが必要であることをダイアログアービトレータ216が決定すると、ダイアログアービトレータ216は、ユーザ入力に関する必要な情報をリモート応答テンプレート生成モジュール228に送り得る。応答テンプレート生成モジュール228の出力は、クライアントシステム130上で実行するローカルアクション実行モジュール230にさらに送られ得る。特定の実施形態では、クライアント側処理を使用すること、および、クライアント側処理がユーザ入力を完全に処理可能であることを補助オーケストレータ206が決定すると、推理モジュール222の出力は、アクション実行モジュール230に直接送られ得る。
特定の実施形態では、アクション実行モジュール230は、タスクを実行するためにローカルエージェントをコールし得る。クライアントシステム130上のローカルエージェントは、サーバ側のエージェントに比べて、より単純なタスクを実行可能であり得る。限定としてではなく一例として、複数のデバイス固有の実装形態(たとえば、クライアントシステム130のためのリアルタイムのコール、またはクライアントシステム130上のメッセージングアプリケーション)は、単一のエージェントによって内部でハンドリングされ得る。代替として、これらのデバイス固有の実装形態は、複数のドメインに関連付けられた複数のエージェントによってハンドリングされ得る。特定の実施形態では、アクション実行モジュール230は、一般的な実行可能ダイアログアクションのセットをさらに実施し得る。実行可能ダイアログアクションのセットは、エージェント、ユーザ、および補助システム140自体と対話し得る。これらのダイアログアクションは、スロット要求、承認、あいまいさ除去、エージェント実行等のためのダイアログアクションを含み得る。ダイアログアクションは、アクションセレクタまたはダイアログポリシーの基礎をなす実装形態と無関係でよい。ツリーベースのポリシーとモデルベースのポリシーの両方が、同じ基本的なダイアログアクションを生成し得、コールバック関数が、任意のアクションセレクタ固有の実装形態の詳細を隠す。
特定の実施形態では、サーバ側のリモートアクション実行モジュール226からの出力は、リモート応答実行モジュール232に送られ得る。特定の実施形態では、アクション実行モジュール226は、より多くの情報を求めてダイアログアービトレータ216に通信し返し得る。応答実行モジュール232は、リモート会話理解(CU)コンポーザに基づき得る。特定の実施形態では、アクション実行モジュール226からの出力は、<k,c,u,d>タプルとして構築され得、ここで、kは知識ソースを示し、cは通信目標を示し、uはユーザモデルを示し、dは談話モデルを示す。特定の実施形態では、CUコンポーザは、自然言語生成(NLG)モジュールと、ユーザインターフェース(UI)ペイロード生成器とを備え得る。自然言語生成器は、種々の言語モデルおよび/または言語テンプレートを使用して、アクション実行モジュール226の出力に基づいて通信コンテンツを生成し得る。特定の実施形態では、通信コンテンツの生成は、各ユーザに固有で、また、個人化されたアプリケーションでよい。CUコンポーザはまた、UIペイロード生成器を使用して、生成された通信コンテンツのモダリティを決定し得る。特定の実施形態では、NLGモジュールは、コンテンツ決定構成要素と、センテンスプランナと、表層実現構成要素とを備え得る。コンテンツ決定構成要素は、知識ソース、通信目標、およびユーザの予想に基づいて、通信コンテンツを決定し得る。限定としてではなく一例として、決定することは、記述論理に基づき得る。記述論理は、たとえば、(ドメインにおけるオブジェクトを表す)個体、(個体のセットを記述する)概念、および(個体または概念間の2項関係を表す)役割である、3つの基本観念を含み得る。記述論理は、自然言語生成器が原子的なものから複雑な概念/役割を組み立てることを可能にする、コンストラクタのセットによって特徴づけられ得る。特定の実施形態では、コンテンツ決定構成要素は、通信コンテンツを決定するために、以下のタスクを実施し得る。第1のタスクは、自然言語生成器への入力が概念にトランスレートされ得る、トランスレーションタスクを含み得る。第2のタスクは、関連する概念が、ユーザモデルに基づいて、トランスレーションタスクから生じたものの中から選択され得る、選択タスクを含み得る。第3のタスクは、選択された概念の一貫性が検証され得る、検証タスクを含み得る。第4のタスクは、検証された概念が、自然言語生成器によって処理され得る実行ファイルとしてインスタンス化され得る、インスタンス化タスクを含み得る。センテンスプランナは、通信コンテンツを人間が理解できるものにするために、通信コンテンツの編成を決定し得る。表層実現構成要素は、使用すべき固有ワード、センテンスのシーケンス、および通信コンテンツのスタイルを決定し得る。UIペイロード生成器は、ユーザに提示されるべき通信コンテンツの選好されるモダリティを決定し得る。特定の実施形態では、CUコンポーザは、通信コンテンツの生成がプライバシーポリシーに従っていることを確実にするために、ユーザに関連付けられたプライバシー制約を検査し得る。自然言語生成に関するより多くの情報が、その各々が参照により組み込まれる、2018年4月30日に出願された米国特許出願第15/967279号、および2018年4月30日に出願された米国特許出願第15/966455号において見つけられ得る。
特定の実施形態では、クライアントシステム130上のローカルアクション実行モジュール230からの出力は、ローカル応答実行モジュール234に送られ得る。応答実行モジュール234は、ローカル会話理解(CU)コンポーザに基づき得る。CUコンポーザは、自然言語生成(NLG)モジュールを備え得る。クライアントシステム130の計算能力は限定され得るので、NLGモジュールは、計算効率の考慮が簡単になり得る。NLGモジュールが簡単になり得るので、応答実行モジュール234の出力は、ローカル応答拡大モジュール236に送られ得る。応答拡大モジュール236は、応答をより自然にし、より豊かな意味論的情報を収めるように、応答実行モジュール234の結果をさらに拡大し得る。
特定の実施形態では、ユーザ入力がオーディオ信号に基づく場合、サーバ側の応答実行モジュール232の出力は、リモートテキスト音声(TTS:text-to-speech)モジュール238に送られ得る。同様に、クライアント側の応答拡大モジュール236の出力は、ローカルTTSモジュール240に送られ得る。両方のTTSモジュールが、応答をオーディオ信号にコンバートし得る。特定の実施形態では、両側の応答実行モジュール232、応答拡大モジュール236、またはTTSモジュールからの出力は、最終的に、ローカルレンダリング出力モジュール242に送られ得る。レンダリング出力モジュール242は、クライアントシステム130に好適な応答を生成し得る。限定としてではなく一例として、応答実行モジュール232または応答拡大モジュール236の出力は、VRヘッドセットまたはARスマートグラスに表示可能な、自然言語ストリング、発言、パラメータを伴うアクション、またはレンダリングされた画像もしくはビデオのうちの1つまたは複数を備え得る。結果として、レンダリング出力モジュール242は、応答を適切にレンダリングして、VRヘッドセットまたはARスマートグラスに表示するために、CUコンポーザの出力に基づいて、どのタスクを実施すべきかを決定し得る。たとえば、応答は、VRヘッドセットまたはARスマートグラスを介して表示可能な視覚ベースモーダリティ(たとえば、画像またはビデオクリップ)でよい。別の例として、応答は、VRヘッドセットまたはARスマートグラスを介してユーザによって再生可能なオーディオ信号でよい。さらに別の例として、応答は、ユーザの体感を強化するために、VRヘッドセットまたはARスマートグラスを介してレンダリング可能な拡張現実データでよい。
特定の実施形態では、補助システム140は、音声認知、視覚認知、シグナルインテリジェンス、推理、およびメモリを含む様々な能力を有し得る。特定の実施形態では、音声認識の能力は、補助システム140が、種々の言語での様々なドメインに関連付けられたユーザの入力を理解すること、会話を理解し、会話を要約可能であること、複雑なコマンドのオンデバイス音声認知を実施すること、ボイスでユーザを識別すること、会話からのトピックおよび会話の自動タグセクションを抽出すること、起動ワードのない音声対話を可能にすること、環境ノイズおよび会話からユーザのボイスをフィルタリングし、増幅すること、どのクライアントシステム130(複数のクライアントシステム130が近くにある場合)にユーザが話しているかを理解することを可能にし得る。
特定の実施形態では、視覚認知の能力は、顔検出および追跡を実施すること、ユーザを認識すること、様々な角度で主要大都市圏における関心のあるほとんどの人々を認識すること、既存の機械学習モデルと1回限りの学習との組合せを通じて世界中の関心のあるオブジェクトの大部分を認識すること、関心のある瞬間を認識し、これを自動キャプチャすること、時間の異なるエピソードにわたる複数の視覚フレームに対する意味論的理解を実現すること、人々、場所、オブジェクト認識におけるさらなる能力へのプラットフォームサポートを提供すること、個人化されたロケーションを含む設定およびマイクロロケーションの完全なセットを認識すること、複雑なアクティビティを認識すること、クライアントシステム130を制御するための複雑なジェスチャーを認識すること、(たとえば、動き、キャプチャ角度、解像度等により)自己中心的カメラからの画像/ビデオをハンドリングすること、より低い解像度の画像に関する同様のレベルの正確さおよびスピードを実現すること、人々、場所、およびオブジェクトの1回限りの登録および認識を行うこと、ならびに、クライアントシステム130上で視覚認識を実施することを、補助システム140が行うことを可能にし得る。
特定の実施形態では、補助システム140は、視覚認知を実現するために、コンピュータビジョン技法を活用し得る。コンピュータビジョン技法の他に、補助システム140は、オブジェクトの認識を拡大するために、これらの技法を補足可能なオプションを探究し得る。特定の実施形態では、補助システム140は、オブジェクトのラベルの光学式文字認識(OCR)などの補足信号、場所認識のためのGPS信号、ユーザを識別するためのユーザのクライアントシステム130からの信号を使用し得る。特定の実施形態では、補助システム140は、最も可能性の高いオブジェクトまたは人々を識別するために、一般的なシーン認識(家、仕事、公共空間等)を実施して、ユーザのためのコンテキストをセットし、コンピュータビジョン検索空間を低減させ得る。特定の実施形態では、補助システム140は、補助システム140をトレーニングするようにユーザを誘導し得る。たとえば、クラウドソーシングは、ユーザにタグを付けてもらい、補助システム140がより多くのオブジェクトを経時的に認識するのに役立てるために、使用され得る。別の例として、ユーザは、補助システム140を使用するときに、初期セットアップの一部として、ユーザの個人的なオブジェクトを登録することができる。補助システム140は、さらに、ユーザのための個人化されたモデルをトレーニングし、改善するために、ユーザが対話するオブジェクトに正/負の信号をユーザが提供することを可能にし得る。
特定の実施形態では、シグナルインテリジェンスの能力は、補助システム140が、ユーザロケーションを決定すること、日付/時刻を理解すること、ファミリロケーションを決定すること、ユーザのカレンダーおよび将来の所望のロケーションを理解すること、音だけを通じて設定/コンテキストを識別するために、より豊かな音理解を統合すること、ユーザの個々のルーチンに個人化され得るシグナルインテリジェンスモデルを実行時に構築することを可能にし得る。
特定の実施形態では、推理の能力は、補助システム140が、将来の任意の時点で任意の以前の会話スレッドをピックアップする能力を有すること、マイクロコンテキストおよび個人化されたコンテキストを理解するためにすべての信号を合成すること、ユーザの履歴上の行動から対話パターンおよび選好を学習し、ユーザが尊重し得る対話を正確に提案すること、マイクロコンテキスト理解に基づいて、非常に予測的なプロアクティブ提案を生成すること、1日のどの時刻にどのコンテンツをユーザが見たいと思い得るかを理解すること、シーンの変化、およびシーンの変化がユーザの所望のコンテンツにどのようにインパクトを及ぼし得るかを理解することを可能にし得る。
特定の実施形態では、メモリの能力は、補助システム140が、どのソーシャル接続をユーザが以前にコールまたは対話したかを覚えていること、メモリに書き込み、メモリに随意に問い合わせること(すなわち、オープンディクテーションおよび自動タグ)、事前対話および長期学習に基づいて、より豊かな選好を抽出すること、ユーザのライフヒストリを覚えていること、データおよび自動カタログの自己中心的ストリームから豊かな情報を抽出すること、ならびに、豊かで短い、エピソードの、および長期のメモリを形成するために構造化形式でメモリに書き出すことを可能にし得る。
図3は、補助システム140のサーバ側処理の例示的な図のフローを示す。特定の実施形態では、サーバ補助サービスモジュール301は、ユーザ要求を受信すると、要求マネージャ302にアクセスし得る。代替実施形態では、ユーザ要求は、ユーザ要求がオーディオ信号に基づく場合、リモートASRモジュール208によって最初に処理され得る。特定の実施形態では、要求マネージャ302は、コンテキスト抽出器303および会話理解オブジェクト生成器(CUオブジェクト生成器)304を備え得る。コンテキスト抽出器303は、ユーザ要求に関連付けられたコンテキスト情報を抽出し得る。コンテキスト抽出器303はまた、クライアントシステム130上で実行している補助アプリケーション136に基づいて、コンテキスト情報を更新し得る。限定としてではなく一例として、コンテキスト情報の更新は、コンテンツアイテムがクライアントシステム130上に表示されることを含み得る。限定としてではなく別の例として、コンテキスト情報の更新は、アラームがクライアントシステム130上でセットされたかどうかを含み得る。限定としてではなく別の例として、コンテキスト情報の更新は、歌がクライアントシステム130上でプレイしているかどうかを含み得る。CUオブジェクト生成器304は、ユーザ要求に関連する特定のコンテンツオブジェクトを生成し得る。コンテンツオブジェクトは、補助システム140のすべてのモジュールと共有され得る、ユーザ要求に関連付けられたダイアログセッションデータおよび特徴を含み得る。特定の実施形態では、要求マネージャ302は、コンテキスト情報および生成されたコンテンツオブジェクトを、補助システム140において実装される特定のデータストアであるデータストア212に記憶し得る。
特定の実施形態では、要求マネージャ302は、生成されたコンテンツオブジェクトをリモートNLUモジュール210に送り得る。NLUモジュール210は、コンテンツオブジェクトを処理するために複数のステップを実施し得る。ステップ305において、NLUモジュール210は、コンテンツオブジェクトについてのホワイトリストを生成し得る。特定の実施形態では、ホワイトリストは、ユーザ要求に一致する解釈データを含み得る。ステップ306において、NLUモジュール210は、ホワイトリストに基づいて特徴化を実施し得る。ステップ307において、NLUモジュール210は、ユーザ要求を、事前定義されたドメインに分類するために、特徴化から生じた特徴に基づいて、ユーザ要求に関するドメイン分類/選択を実施し得る。ドメイン分類/選択の結果は、2つの関係するプロシージャに基づいて、さらに処理され得る。ステップ308aにおいて、NLUモジュール210は、意図分類器を使用して、ドメイン分類/選択の結果を処理し得る。意図分類器は、ユーザ要求に関連付けられたユーザの意図を決定し得る。特定の実施形態では、所与のドメインにおいて最も可能性がある意図を決定するために、各ドメインについて1つの意図分類器があり得る。限定としてではなく一例として、意図分類器は、ドメイン分類/選択の結果を入力としてとり、その入力が特定の事前定義された意図に関連付けられる確率を計算し得る、機械学習モデルに基づき得る。ステップ308bにおいて、NLUモジュール210は、メタ意図分類器を使用して、ドメイン分類/選択の結果を処理し得る。メタ意図分類器は、ユーザの意図について説明するカテゴリーを決定し得る。特定の実施形態では、複数のドメインに共通である意図は、メタ意図分類器によって処理され得る。限定としてではなく一例として、メタ意図分類器は、ドメイン分類/選択の結果を入力としてとり、その入力が特定の事前定義されたメタ意図に関連付けられる確率を計算し得る、機械学習モデルに基づき得る。ステップ309aにおいて、NLUモジュール210は、ユーザ要求に関連付けられた1つまたは複数のスロットにアノテーションを付けるために、スロットタガーを使用し得る。特定の実施形態では、スロットタガーは、ユーザ要求のnグラムについての1つまたは複数のスロットにアノテーションを付け得る。ステップ309bにおいて、NLUモジュール210は、メタ意図分類器からの分類結果についての1つまたは複数のスロットにアノテーションを付けるために、メタスロットタガーを使用し得る。特定の実施形態では、メタスロットタガーは、アイテム(たとえば、第1の)、スロットのタイプ、スロットの値などへの参照など、一般スロットをタグ付けし得る。限定としてではなく一例として、ユーザ要求は「私の口座の500ドルを日本円に両替してください」を含み得る。意図分類器は、ユーザ要求を入力としてとり、その入力をベクトルに構築し得る。意図分類器は、次いで、ユーザ要求を表すベクトルと、異なる事前定義された意図を表すベクトルとの間のベクトル比較に基づいて、ユーザ要求が、異なる事前定義された意図に関連付けられる、確率を計算し得る。同様にして、スロットタガーは、ユーザ要求を入力としてとり、各ワードをベクトルに構築し得る。意図分類器は、次いで、ワードを表すベクトルと、異なる事前定義されたスロットを表すベクトルとの間のベクトル比較に基づいて、各ワードが、異なる事前定義されたスロットに関連付けられる、確率を計算し得る。ユーザの意図は「両替する」として分類され得る。ユーザ要求のスロットは、「500」と「ドル」と「口座」と「日本円」とを含み得る。ユーザのメタ意図は「金融サービス」として分類され得る。メタスロットは「金融」を含み得る。
特定の実施形態では、NLUモジュール210は、意味論的情報アグリゲータ310を備え得る。意味論的情報アグリゲータ310は、意味論的情報を提供することによって、NLUモジュール210がコンテンツオブジェクトのドメイン分類/選択を改善するのに役立ち得る。特定の実施形態では、意味論的情報アグリゲータ310は、以下のようにして意味論的情報を集約し得る。意味論的情報アグリゲータ310は、最初に、ユーザコンテキストエンジン315から情報を取り出し得る。特定の実施形態では、ユーザコンテキストエンジン315は、オフラインアグリゲータとオンライン推論サービスとを含み得る。オフラインアグリゲータは、前の時間ウィンドウから収集された、ユーザに関連付けられた複数のデータを処理し得る。限定としてではなく一例として、データは、所定の時間フレーム中に(たとえば、前の90日のウィンドウから)収集された、ニュースフィード投稿/コメント、ニュースフィード投稿/コメントとの対話、検索履歴等を含み得る。処理結果は、ユーザプロファイルの一部として、ユーザコンテキストエンジン315に記憶され得る。オンライン推論サービスは、現在時間において補助システム140によって受信された、ユーザに関連付けられた会話データを分析し得る。分析結果は、同じくユーザプロファイルの一部として、ユーザコンテキストエンジン315に記憶され得る。特定の実施形態では、オフラインアグリゲータとオンライン推論サービスの両方は、複数のデータから個人化特徴を抽出し得る。抽出された個人化特徴は、ユーザ入力をより良く理解するために、補助システム140の他のモジュールによって使用され得る。特定の実施形態では、意味論的情報アグリゲータ310は、次いで、以下のステップにおいて、ユーザコンテキストエンジン315からの取り出された情報、すなわち、ユーザプロファイルを処理し得る。ステップ311において、意味論的情報アグリゲータ310は、自然言語処理(NLP)に基づいて、ユーザコンテキストエンジン315からの取り出された情報を処理し得る。特定の実施形態では、意味論的情報アグリゲータ310は、テキスト正規化によってテキストをトークン化し、テキストからシンタックス特徴を抽出し、NLPに基づいてテキストから意味論的特徴を抽出し得る。意味論的情報アグリゲータ310は、ユーザと補助システム140との間のダイアログ履歴からアクセスされるコンテキスト情報から、特徴をさらに抽出し得る。意味論的情報アグリゲータ310は、コンテキスト情報に基づいて、グローバルワード埋込み、ドメイン固有埋込み、および/または動的埋込みをさらに行い得る。ステップ312において、処理結果は、エンティティタガーによってエンティティでアノテーションを付けられ得る。アノテーションに基づいて、意味論的情報アグリゲータ310は、ステップ313において、取り出された情報についての辞書を生成し得る。特定の実施形態では、辞書は、オフラインで動的に更新され得るグローバル辞書特徴を含み得る。ステップ314において、意味論的情報アグリゲータ310は、エンティティタガーによってタグ付けされたエンティティをランク付けし得る。特定の実施形態では、意味論的情報アグリゲータ310は、ユーザコンテキストエンジン315からの取り出された情報に関連するオントロジデータを抽出するために、ソーシャルグラフ、知識グラフ、または概念グラフのうちの1つまたは複数を含む、異なるグラフ330と通信し得る。特定の実施形態では、意味論的情報アグリゲータ310は、ユーザプロファイルと、ランク付けされたエンティティと、グラフ320からの情報とを集約し得る。意味論的情報アグリゲータ310は、次いで、ドメイン分類/選択を可能にするために、集約された情報をNLUモジュール210に提供し得る。
特定の実施形態では、NLUモジュール210の出力は、リモート推理モジュール214に送られ得る。推理モジュール214は、共参照構成要素325、エンティティ解析構成要素330、およびダイアログマネージャ335を備え得る。NLUモジュール210の出力は、ユーザ要求に関連付けられたコンテンツオブジェクトの参照を解釈するために、共参照構成要素325で最初に受信され得る。特定の実施形態では、共参照構成要素325は、ユーザ要求が指すアイテムを識別するために使用され得る。共参照構成要素325は、参照作成326と参照解析327とを含み得る。特定の実施形態では、参照作成326は、NLUモジュール210によって決定されたエンティティについての参照を作成し得る。参照解析327は、これらの参照を正確に解析し得る。限定としてではなく一例として、ユーザ要求は「最寄の雑貨店を見つけて、私をそこに案内してください」を含み得る。共参照構成要素325は、「そこ」を「最寄の雑貨店」として解釈し得る。特定の実施形態では、共参照構成要素325は、改善された正確さで参照を解釈するのに必要なとき、ユーザコンテキストエンジン315およびダイアログマネージャ335にアクセスし得る。
特定の実施形態では、識別されたドメイン、意図、メタ意図、スロット、およびメタスロットは、解析された参照とともに、関連するエンティティを解析するためにエンティティ解析構成要素330に送られ得る。エンティティは、(一般的な知識ベースからの)現実世界エンティティ、(ユーザメモリからの)ユーザエンティティ、コンテキストエンティティ(デバイスコンテキスト/ダイアログコンテキスト)、または値解析(数字、日時等)のうちの1つまたは複数を含み得る。エンティティ解析構成要素330は、包括的かつドメイン固有のエンティティ解析を実行し得る。特定の実施形態では、エンティティ解析構成要素330は、ドメインエンティティ解析331と一般エンティティ解析332とを含み得る。ドメインエンティティ解析331は、スロットおよびメタスロットを、異なるドメインにカテゴリー分類することによって、エンティティを解析し得る。特定の実施形態では、エンティティは、グラフ320から抽出されたオントロジデータに基づいて解析され得る。オントロジデータは、異なるスロット/メタスロットおよびドメイン間の構造関係を含み得る。オントロジは、スロット/メタスロットがどのように、グループ化され、より高いレベルがドメインを含む階層内で関係付けられ、類似度および差異に従って再分割され得るかという情報をも含み得る。一般エンティティ解析332は、スロットおよびメタスロットを、異なる一般トピックにカテゴリー分類することによって、エンティティを解析し得る。特定の実施形態では、解析することは、グラフ320から抽出されたオントロジデータにも基づき得る。オントロジデータは、異なるスロット/メタスロットおよび一般トピック間の構造関係を含み得る。オントロジは、スロット/メタスロットがどのように、グループ化され、より高いレベルがトピックを含む階層内で関係付けられ、類似度および差異に従って再分割され得るかという情報をも含み得る。限定としてではなく一例として、特定のブランドの電気自動車の利点の照会の入力に応答して、一般エンティティ解析332は、参照されたブランドの電気自動車を車両として解析し得、ドメインエンティティ解析331は、参照されたブランドの電気自動車を電気自動車として解析し得る。
特定の実施形態では、エンティティ解析構成要素330は、種々の技法を使用して、種々のタイプのエンティティを解析し得る。現実世界エンティティについて、エンティティ解析構成要素330は、知識グラフを使用して、「音楽トラック」、「映画」等の、エンティティへのスパンを解析し得る。ユーザエンティティについて、エンティティ解析構成要素330は、ユーザメモリまたはいくつかのエージェントを使用して、「連絡先」、「リマインダ」、「関係」等のユーザ固有エンティティへのスパンを解析し得る。コンテキストエンティティについて、エンティティ解析構成要素330は、共参照モジュール325を使用して、「彼を」、「彼女を」、「最初の1つ」、「最後の1つ」等のコンテキスト内のエンティティへの参照を解析し得る。さらに、エンティティ解析構成要素330は、画面に示されたエンティティ、最新の会話履歴からのエンティティ等のコンテキスト(デバイスコンテキストまたはダイアログコンテキスト)の下でのエンティティを解析し得る。値解析について、エンティティ解析構成要素330は、数値、日時、アドレス等の標準形式の正確な値への言及を解析し得る。
特定の実施形態では、エンティティ解析構成要素330は、エンティティ解析を実施するために、ASRモジュール208またはASRモジュール216と同等に機能し得る。名前の解析を例としてとると、エンティティ解析構成要素330は、以下のように機能し得る。エンティティ解析構成要素330は、ダブルメタフォンアルゴリズムを使用して、ユーザに関連付けられた名前を、これらの正規化テキスト形式、および音声子音表現に最初に拡大し得る。エンティティ解析構成要素330は、次いで、候補転写の完全なnベストセットを決定し、すべての転写に対する包括処理を同時に実行し得る。特定の実施形態では、同じ意図に解析する各転写は、単一の意図に解体され得る。意図は、最も高いスコア候補転写に対応するスコアを得ることができる。解体中、エンティティ解析構成要素330は、スロットの転写に関連付けられた境界タイミングオフセットによって相関され、各スロットに関連付けられた様々な可能なテキスト転写を識別し得る。エンティティ解析構成要素330は、候補転写が同じ意図に分類されるかどうかにかかわらず、複数の(たとえば、1000個の)候補転写からスロットテキストの可能性を抽出し得る。意図におけるスロットは、したがって、句のスコア付きリストでよい。特定の実施形態では、意図をハンドリング可能な新しいまたは実行中のタスクが識別され、意図を配信し得る。タスクは、タスクのスロットのうちの1つに関連付けられた句のスコア付きリスト、および、タスクが解析されるべきカテゴリーをエンティティ解析構成要素330が提供することをトリガし得る。
特定の実施形態では、友人カテゴリーが指定されると、エンティティ解析構成要素330は、マッチャーコンパイル(matcher compilation)時に実行された同じ広がりで、用語のあらゆる候補リストを検索し得る。用語の各候補の広がりは、事前コンパイルされたトライマッチング構造内で一致され得る。一致は、文字に起こされた入力、一致した形式、および友人名を利用する関数を使用してスコア付けされ得る。特定の実施形態では、有名人/著名人カテゴリーが指定されると、エンティティ解析構成要素330は、ASRモジュール208またはASRモジュール216からのスロットのために、用語の各候補セットのための知識グラフに対して同時検索を実行し得る。エンティティ解析構成要素330は、一致した人物の評判およびASR提供のスコア信号に基づいて、一致にスコア付けし得る。特定の実施形態では、メモリカテゴリーが指定されると、エンティティ解析構成要素330は、ユーザメモリに対して同じ検索を実施し得る。エンティティ解析構成要素330は、ユーザメモリを通じて遡ってクロールし、各メモリ(たとえば、会話で最近言及された、またはビジュアル信号を介して確認され、認識された人物、等)を一致させようとし得る。各人物について、エンティティ解析構成要素330は、友人と一致する方法と同様の(すなわち、音声の)マッチングを使用し得る。特定の実施形態では、スコア付けは、名前がどれだけ最近言及されたかに関連した時間的減衰要因を含み得る。エンティティ解析構成要素330はさらに、すべての一致の結合、ソート、および重複排除を行い得る。特定の実施形態では、タスクは、候補のセットを受信し得る。複数の高いスコアの候補が存在するとき、エンティティ解析構成要素330は、ユーザを容易にするあいまいさ除去を実施し得る。
特定の実施形態では、エンティティ解析構成要素330は、(エージェント350に対応する)タスクによって動かされ得る。処理順序のこの反転は、そうすることが明らかかつ好適なとき、解析ターゲットのセットを事前フィルタリングするか、バイアスをかけるように、タスク内に存在するドメイン知識が適用されることを可能にし得る。限定としてではなく一例として、「誰がJohnですか。」という発話については、発話の中ではっきりしたカテゴリーが示唆されない。したがって、エンティティ解析構成要素330は、あらゆるものに対して「John」を解析し得る。限定としてではなく別の例として、「メッセージをJohnに送る。」という発話については、エンティティ解析構成要素330は、人がメッセージを送ることが可能な人物を「John」が指すことを簡単に決定し得る。結果として、エンティティ解析構成要素330は、友人への解析にバイアスをかけ得る。限定としてではなく別の例として、「Johnの最も有名なアルバムは何ですか。」という発話については、「John」を解析するために、エンティティ解析構成要素330は、発話に対応するタスクを最初に決定し得、タスクは、音楽アルバムを見つけることである。エンティティ解析構成要素330は、音楽アルバムに関するエンティティが、歌手、プロデューサ、およびレコーディングスタジオを含むと決定し得る。したがって、エンティティ解析構成要素330は、「John」を解析するために、音楽ドメインにおけるエンティティのこれらのタイプの中から検索し得る。
特定の実施形態では、エンティティ解析構成要素330の出力は、ユーザとの会話のフローを進めるために、ダイアログマネージャ335に送られ得る。ダイアログマネージャ335は、状態を繰り返し更新し、新しい状態に基づいてアクションを選択する、非同期式ステートマシンでよい。ダイアログマネージャ335は、ダイアログ意図解析336およびダイアログ状態トラッカ337を備え得る。特定の実施形態では、ダイアログマネージャ335は、選択されたアクションを実行し、次いで、選択されたアクションがユーザ応答を要求するか、または実行すべきアクションがこれ以上なくなるまで、ダイアログ状態トラッカ337を再びコールし得る。選択された各アクションは、前のアクションからの実行結果に依存し得る。特定の実施形態では、ダイアログ意図解析336は、ユーザと補助システム140との間のダイアログ履歴に基づいて、現在のダイアログセッションに関連付けられたユーザ意図を解析し得る。ダイアログ意図解析336は、NLUモジュール210によって決定された意図を、異なるダイアログ意図にマッピングし得る。ダイアログ意図解析336は、さらに、NLUモジュール210、エンティティ解析構成要素330からの信号と、ユーザと補助システム140との間のダイアログ履歴とに基づいて、ダイアログ意図をランク付けし得る。特定の実施形態では、ダイアログ状態を直接変化させるのではなく、ダイアログ状態トラッカ337は、副次的作用のない構成要素であり得、ダイアログ状態への更新を提案するダイアログ状態更新オペレータのnベスト候補を生成し得る。ダイアログ状態トラッカ337は、ダイアログ状態に基づいて種々のタイプのNLU意図をハンドリングし、オペレータを生成するためのロジックを収める意図リゾルバを備え得る。特定の実施形態では、ロジックは、補助システム140があいまいさ除去を依頼するときに意図をハンドリングするためのあいまいさ除去意図ハンドラ、承認をハンドリングするためのロジックを備える承認意図ハンドラ等の、意図ハンドラによって編成され得る。意図リゾルバは、ユーザとの会話のためのコンテキスト更新を生成するために、ダイアログ状態とともにターン意図を結合させ得る。スロット解決構成要素は、次いで、知識グラフおよびドメインエージェントを含む解析プロバイダで、更新オペレータ内のスロットを再帰的に解析し得る。特定の実施形態では、ダイアログ状態トラッカ337は、現在のダイアログセッションのダイアログ状態を更新/ランク付けし得る。限定としてではなく一例として、ダイアログ状態トラッカ337は、ダイアログセッションが終了した場合、ダイアログ状態を「完了した」として更新し得る。限定としてではなく別の例として、ダイアログ状態トラッカ337は、ダイアログ状態に関連付けられた優先度に基づいて、ダイアログ状態をランク付けし得る。
特定の実施形態では、推理モジュール214は、リモートアクション実行モジュール226およびダイアログアービトレータ216とそれぞれ通信し得る。特定の実施形態では、推理モジュール214のダイアログマネージャ335は、ダイアログ意図および関連付けられたコンテンツオブジェクトについて、アクション実行モジュール226のタスク完了構成要素340と通信し得る。特定の実施形態では、タスク完了モジュール340は、異なるダイアログ意図について、異なるダイアログ仮定をランク付けし得る。タスク完了モジュール340は、アクションセレクタ341を備え得る。代替実施形態では、アクションセレクタ341は、ダイアログマネージャ335に含まれ得る。特定の実施形態では、ダイアログマネージャ335は、さらに、ダイアログ状態に関して、ダイアログアービトレータ216に含まれるダイアログポリシー345に対して検査し得る。特定の実施形態では、ダイアログポリシー345は、エージェント350によるアクションの実行プランについて説明するデータ構造を含み得る。ダイアログポリシー345は、一般ポリシー346およびタスクポリシー347を備え得る。特定の実施形態では、一般ポリシー346は、個々のタスクに固有でないアクションのために使用され得る。一般ポリシー346は、低信頼性意図、内部エラー、再試行を伴う受入れ不能なユーザ応答、ASRまたはNLU信頼性スコアに基づく承認のスキップまたは挿入、等をハンドリングすることを含み得る。一般ポリシー346はまた、ダイアログ状態トラッカ337の出力からダイアログ状態更新候補をランク付けするロジックを含み、(最上位にランク付けされたタスク意図を選ぶことなど)更新のための1つを選び得る。特定の実施形態では、補助システム140は、散らばったクロスドメインポリシー/ビジネスルール、特にダイアログ状態トラッカ337において見つかるものをアクションセレクタ341の機能に統合することを可能にする、一般ポリシー346のための特定のインターフェースを有し得る。また、一般ポリシー346のためのインターフェースは、特定の状況またはクライアントに結びつけられ得る自己完結型サブポリシーユニットのオーサリング(たとえば、クライアント、状況等に基づいて簡単にスイッチオンまたはオフされ得るポリシー機能)を可能にし得る。一般ポリシー346のためのインターフェースはまた、特定の状況を扱う非常に特化されたポリシーユニットが、より広い状況で適用されるより多くの一般ポリシー346によってバックアップされる、バックオフ、すなわち複数のポリシーユニットで、ポリシーの層を作成することを可能にし得る。このコンテキストでは、一般ポリシー346は、代替として、意図またはタスク固有のポリシーを含み得る。特定の実施形態では、タスクポリシー347は、タスクおよび現在の状態に基づく、アクションセレクタ341のためのロジックを備え得る。特定の実施形態では、タスクポリシー347のタイプは、(1)手動で策定されたツリーベースのダイアログプラン、(2)アクションを生成するためのインターフェースを直接実装するコード化されたポリシー、(3)コンフィギュレータ指定のスロット補充タスク、または(4)データから学習された機械学習モデルベースのポリシー、といったタイプのうちの1つまたは複数を含み得る。特定の実施形態では、補助システム140は、ルールベースのロジックで新しいドメインをブートストラップし、タスクポリシー347を機械学習モデルで、後で洗練し得る。特定の実施形態では、ダイアログポリシー345は、事前構築されたダイアログプランであるツリーベースのポリシーであり得る。現在のダイアログ状態に基づいて、ダイアログポリシー345は、対応するアクションを実行および生成するためのノードを選び得る。限定としてではなく一例として、ツリーベースのポリシーは、トピックグルーピングノードおよびダイアログアクション(葉)ノードを備え得る。
特定の実施形態では、アクションセレクタ341は、ダイアログ状態の候補オペレータを利用し、どのアクションが実行されるべきかを決めるためにダイアログポリシー345を調べ得る。補助システム140は、クロスドメインビジネスロジックをハンドリングする一般ポリシー346を伴う階層式ダイアログポリシーを使用し得、タスクポリシー347は、タスク/ドメイン固有ロジックをハンドリングする。特定の実施形態では、一般ポリシー346は、タスクポリシー347によるユーザ対応アクションの選択の前にダイアログ状態を更新するために、候補オペレータから1つのオペレータを選び得る。タスクがダイアログ状態においてアクティブになると、対応するタスクポリシー347は、正しいアクションを選択するために調べられ得る。特定の実施形態では、ダイアログ状態トラッカ337とアクションセレクタ341の両方は、選択されたアクションが実行されるまで、ダイアログ状態を変更し得ない。これは、補助システム140が、憶測によるASR結果を処理するためにダイアログ状態トラッカ337およびアクションセレクタ341を実行すること、ならびに、予行演習によるnベストランク付けを行うことを可能にし得る。特定の実施形態では、アクションセレクタ341は、ダイアログ状態更新オペレータを入力の一部として利用して、ダイアログアクションを選択し得る。ダイアログアクションの実行は、将来のターンをハンドリングするようにダイアログ状態トラッカ337に命令するために、予想のセットを生成し得る。特定の実施形態では、予想は、次のターンからのユーザ入力をハンドリングするときに、ダイアログ状態トラッカ337にコンテキストを提供するために使用され得る。限定としてではなく一例として、スロット要求ダイアログアクションは、要求されたスロットの値の証明の予想を有し得る。
特定の実施形態では、ダイアログマネージャ335は、スロットの言及のマルチターン構成解析をサポートし得る。NLU210からの構成パースに対して、リゾルバは、ネストされたスロットを再帰的に解析し得る。ダイアログマネージャ335は、さらに、ネストされたスロットのためのあいまいさ除去をサポートし得る。限定としてではなく一例として、ユーザ要求は、「Alexに電話するのを思い出させてください。」であり得る。リゾルバは、実行可能なリマインダto-doエンティティを作り出す前に、どのAlexに電話すべきかを知る必要があり得る。リゾルバは、さらなるユーザ明確化が特定のスロットに必要なとき、解決を停止し、解決状態をセットし得る。一般ポリシー346は、解決状態を検査し、ユーザ明確化のための対応するダイアログアクションを作り出し得る。ダイアログ状態トラッカ337において、ユーザ要求および最新のダイアログアクションに基づいて、ダイアログマネージャは、ネストされたスロットを更新し得る。この能力は、欠落したスロット値を収集するだけでなく、より複雑な/あいまいな発話のあいまいさを低減させてタスクを完了させるためにも、補助システム140がユーザと対話することを可能にし得る。特定の実施形態では、ダイアログマネージャは、ユーザが要求するネストされた意図およびマルチ意図中の欠落したスロットを要求することをさらにサポートし得る(たとえば、「この写真を撮って、写真を父さんに送ってください。」)。特定の実施形態では、ダイアログマネージャ335は、より堅牢なダイアログ体験のための機械学習モデルをサポートし得る。限定としてではなく一例として、ダイアログ状態トラッカ337は、ニューラルネットワークベースのモデル(または任意の他の好適な機械学習モデル)を使用して、タスク仮定に対する信念をモデル化し得る。限定としてではなく別の例として、アクションセレクタ341のために、最高優先度のポリシーユニットは、デザインごとに発生しなければならなくなり得るホワイトリスト/ブラックリストのオーバーライドを備え得、中優先度のユニットは、アクション選択のためにデザインされた機械学習モデルを備え得、より低い優先度のユニットは、状況をハンドリングしないことを機械学習モデルが選んだときのルールベースのフォールバックを備え得る。特定の実施形態では、機械学習モデルベースの一般ポリシーユニットは、補助システム140が冗長なあいまいさ除去または承認ステップを低減させ、これにより、ユーザ要求を実行するためのターンの数を低減させるのに役立ち得る。
特定の実施形態では、アクション実行モジュール226は、タスク実行のために異なるエージェント350をコールし得る。エージェント350は、アクションを完了させるために登録コンテンツプロバイダの中から選択し得る。データ構造は、意図および意図に関連付けられた1つまたは複数のスロットに基づいて、ダイアログマネージャ335によってコンストラクトされ得る。ダイアログポリシー345は、論理演算子を通して互いに関係する複数の目標をさらに含み得る。特定の実施形態では、目標は、ダイアログポリシーの一部分の成果であり得、それは、ダイアログマネージャ335によってコンストラクトされ得る。目標は、目標をパラメータ化する、1つまたは複数の名前付き引数をもつ識別子(たとえば、ストリング)によって表され得る。限定としてではなく一例として、その関連付けられた目標引数をもつ目標は、{confirm_artist,args:{artist:“Madonna”}}として表され得る。特定の実施形態では、ダイアログポリシーは、目標がツリーのリーフにマッピングされる、ツリー構造化された表現に基づき得る。特定の実施形態では、ダイアログマネージャ335は、行うべき次のアクションを決定するために、ダイアログポリシー345を実行し得る。ダイアログポリシー345は、一般ポリシー346とドメイン固有ポリシー347とを含み得、それらの両方は、ダイアログ状態に基づいて、次のシステムアクションをどのように選択すべきかをガイドし得る。特定の実施形態では、アクション実行モジュール226のタスク完了構成要素340は、次のシステムアクションのガイダンスを取得するために、ダイアログアービトレータ216に含まれるダイアログポリシー345と通信し得る。特定の実施形態では、アクション選択構成要素341は、したがって、ダイアログ意図、関連付けられたコンテンツオブジェクト、およびダイアログポリシー345からのガイダンスに基づいて、アクションを選択し得る。
特定の実施形態では、アクション実行モジュール226の出力は、リモート応答実行モジュール232に送られ得る。具体的には、アクション実行モジュール226のタスク完了構成要素340の出力は、応答実行モジュール226のCUコンポーザ355に送られ得る。代替実施形態では、選択されたアクションは、1つまたは複数のエージェント350が関与することを必要とし得る。その結果、タスク完了モジュール340は、エージェント350に選択されたアクションを通知し得る。一方、ダイアログマネージャ335は、ダイアログ状態を更新するようにとの命令を受信し得る。限定としてではなく一例として、更新は、エージェント350の応答を待つことを含み得る。特定の実施形態では、CUコンポーザ355は、タスク完了モジュール340の出力に基づいて、自然言語生成(NLG)モジュール356を使用して、ユーザのための通信コンテンツを生成し得る。特定の実施形態では、NLGモジュール356は、自然言語出力を生成するために、異なる言語モデルおよび/または言語テンプレートを使用し得る。自然言語出力の生成は、アプリケーション固有であり得る。自然言語出力の生成はまた、各ユーザについて個人化され得る。CUコンポーザ355はまた、UIペイロード生成器357を使用して、生成された通信コンテンツのモダリティを決定し得る。生成された通信コンテンツは、ユーザ要求への応答と見なされ得るので、CUコンポーザ355は、さらに、応答ランカー358を使用して、生成された通信コンテンツをランク付けし得る。限定としてではなく一例として、ランキングは、応答の優先度を指示し得る。特定の実施形態では、CUコンポーザ355は、NLGモジュール356とは別個であり得る自然言語合成(NLS:natural-language synthesis)モジュールを備え得る。NLSモジュールは、特定のユーザ、タスク、またはエージェントのための応答をカスタマイズするために、性、ボリューム、ペース、スタイル、またはレジスタを含む、CUコンポーザ355によって生成された合成発言の属性を指定し得る。NLSモジュールは、関連付けられたタスクの実装形態を利用せずに言語合成を調整し得る。自然言語生成のカスタマイズについてのより多くの情報は、参照により組み込まれる、2018年4月30日に出願の米国特許出願第15/966455号において見つけられ得る。
特定の実施形態では、応答実行モジュール232は、CUコンポーザ355の出力に基づいて異なるタスクを実施し得る。これらのタスクは、データストア212から取り出されたダイアログ状態の書込み361(すなわち、記憶/更新)、および応答の生成362を含み得る。特定の実施形態では、CUコンポーザ355の出力は、VRヘッドセットまたはARスマートグラスに表示可能な、自然言語ストリング、発言、パラメータを伴うアクション、またはレンダリングされた画像もしくはビデオのうちの1つまたは複数を含み得る。結果として、応答実行モジュール232は、CUコンポーザ355の出力に基づいて、どのタスクを実施すべきかを決定し得る。特定の実施形態では、生成された応答および通信コンテンツは、応答実行モジュール232によって、ローカルレンダリング出力モジュール242に送られ得る。代替実施形態では、CUコンポーザ355の出力は、通信コンテンツの決定されたモダリティがオーディオの場合、リモートTTSモジュール238にさらに送られ得る。TTSモジュール238によって生成された発言、および応答実行モジュール232によって生成された応答は、次いで、レンダリング出力モジュール242に送られ得る。
図4は、補助システム140によるユーザ入力の処理の例示的な図のフローを示す。限定としてではなく一例として、ユーザ入力は、オーディオ信号に基づき得る。特定の実施形態では、クライアントシステム130のマイクアレイ402は、オーディオ信号(たとえば、発言)を受信し得る。オーディオ信号は、オーディオフレームのフォーマットで処理ループ404に伝送され得る。特定の実施形態では、処理ループ404は、ボイスアクティビティ検出(VAD:voice activity detection)406およびウェイクオンボイス(WoV:wake-on-voice)検出408のためにオーディオフレームを送り得る。検出結果は、処理ループ404に返され得る。ユーザが補助システム140を起動したいと思っていることをWoV検出408が示す場合、オーディオフレームはVAD406の結果とともに、エンコードされたオーディオデータを生成するためにエンコードユニット410に送られ得る。エンコード後、エンコードされたオーディオデータは、リンクユニット414および復号ユニット416の前に、プライバシーおよびセキュリティのために暗号化ユニット412に送られ得る。復号後、オーディオデータはマイクドライバ418に送られ得、マイクドライバ418は、オーディオデータをオーディオサービスモジュール420にさらに伝送し得る。代替実施形態では、ユーザ入力は、クライアントシステム130とペアリングされたワイヤレスデバイス(たとえば、Bluetoothデバイス)において受信され得る。これに対応して、オーディオデータは、ワイヤレスデバイスドライバ422(たとえば、Bluetoothドライバ)からオーディオサービスモジュール420に送られ得る。特定の実施形態では、オーディオサービスモジュール420は、クライアントシステム130上で実行するアプリケーションによってユーザ入力が果たされ得ると決定し得る。したがって、オーディオサービスモジュール420は、ユーザ入力をリアルタイム通信(RTC:real-time communication)モジュール424に送り得る。RTCモジュール424は、オーディオパケットをビデオまたはオーディオ通信システム(たとえば、VOIPまたはビデオコール)に配信し得る。RTCモジュール424は、関連アプリケーション(App)426をコールして、ユーザ入力に関連したタスクを実行し得る。
特定の実施形態では、オーディオサービスモジュール420は、補助システム140が応答する必要がある補助をユーザが要求していると決定し得る。したがって、オーディオサービスモジュール420は、クライアント補助サービスモジュール426に知らせ得る。特定の実施形態では、クライアント補助サービスモジュール426は、補助オーケストレータ206と通信し得る。補助オーケストレータ206は、ユーザ入力に応答するために、クライアント側処理を使用すべきか、サーバ側処理を使用すべきかを決定し得る。特定の実施形態では、補助オーケストレータ206は、クライアント側処理を使用し、クライアント補助サービスモジュール426にこのような決定を知らせることを決定し得る。結果として、クライアント補助サービスモジュール426は、ユーザ入力に応答するために関連モジュールをコールし得る。
特定の実施形態では、クライアント補助サービスモジュール426は、ローカルASRモジュール216を使用して、ユーザ入力を分析し得る。ASRモジュール216は、書記素-音素(G2P)モデル、発音学習モデル、個人化言語モデル(PLM)、エンドポインティングモデル、および個人化音響モデルを備え得る。特定の実施形態では、クライアント補助サービスモジュール426は、さらに、ローカルNLUモジュール218を使用してユーザ入力を理解し得る。NLUモジュール218は、固有表現解決(NER)構成要素およびコンテキストセッションベースNLU構成要素を備え得る。特定の実施形態では、クライアント補助サービスモジュール426は、意図ブローカー428を使用して、ユーザの意図を分析し得る。ユーザの意図について正確であるように、意図ブローカー428は、ユーザおよび世界に関連付けられたエンティティを含むエンティティストア430にアクセスし得る。代替実施形態では、ユーザ入力は、クライアントシステム130上で実行するアプリケーション432を介して投入され得る。この場合、入力マネージャ434はユーザ入力を受信し、アプリケーション環境(App Env)モジュール436によってユーザ入力を分析し得る。分析結果はアプリケーション432に送られ得、アプリケーション432は、分析結果をASRモジュール216およびNLUモジュール218にさらに送り得る。代替実施形態では、ユーザ入力は、クライアントシステム130上で実行する補助アプリケーション438を介してクライアント補助サービスモジュール426に直接投入され得る。次いで、クライアント補助サービスモジュール426は、前述のようなモジュール、すなわち、ASRモジュール216、NLUモジュール218、および意図ブローカー428に基づいて、同様の手順を実施し得る。
特定の実施形態では、補助オーケストレータ206は、サーバ側処理を使用することを決定し得る。したがって、補助オーケストレータ206は、補助システム140の異なるモジュールをホストする1つまたは複数のコンピューティングシステムにユーザ入力を送り得る。特定の実施形態では、サーバ補助サービスモジュール301は、補助オーケストレータ206からユーザ入力を受信し得る。サーバ補助サービスモジュール301は、ユーザ入力のオーディオデータを分析するようにリモートASRモジュール208に命令し得る。ASRモジュール208は、書記素-音素(G2P)モデル、発音学習モデル、個人化言語モデル(PLM)、エンドポインティングモデル、および個人化音響モデルを備え得る。特定の実施形態では、サーバ補助サービスモジュール301は、ユーザ入力を理解するようにリモートNLUモジュール210にさらに命令し得る。特定の実施形態では、サーバ補助サービスモジュール301は、ASRモジュール208およびNLUモジュール210からの出力を処理するために、リモート推理モデル214をコールし得る。特定の実施形態では、推理モデル214は、エンティティ解析およびダイアログ最適化を実施し得る。特定の実施形態では、推理モデル314の出力は、1つまたは複数の関連タスクを実行するためにエージェント350に送られ得る。
特定の実施形態では、エージェント350は、関連タスクを正確に実行できるように、エンティティ解析およびダイアログ最適化からの結果を正確に理解するために、オントロジモジュール440にアクセスし得る。オントロジモジュール440は、複数の所定のドメイン、意図、およびスロットに関連付けられたオントロジデータを提供し得る。また、オントロジデータは、異なるスロットとドメインとの間の構造関係を含み得る。オントロジデータは、さらに、スロットが、グループ化され、高い方のレベルがドメインを含む階層内で関連付けられ、類似点および差に従って再分割され得る方法についての情報を含み得る。オントロジデータはまた、スロットが、グループ化され、高い方のレベルがトピックを含む階層内で関連付けられ、類似点および差に従って再分割され得る方法についての情報を含み得る。タスクが実行されると、エージェント350は、タスク完了指示とともに実行結果を推理モジュール214に返し得る。
本明細書で開示される実施形態は、人工現実システムを含むか、人工現実システムとともに実施され得る。人工現実は、ユーザへの提示の前に何らかの方法で調節された現実の形式であり、たとえば、仮想現実(VR)、拡張現実(AR)、複合現実(MR)、ハイブリッド現実、またはそれらのいくつかの組合せおよび/もしくは派生語を含み得る。人工現実コンテンツは、完全に生成されたコンテンツ、または、キャプチャされたコンテンツ(たとえば、現実世界の写真)と組み合わせた生成されたコンテンツを含み得る。人工現実コンテンツは、ビデオ、オーディオ、触感フィードバック、またはそれらのいくつかの組合せを含み得、これらのいずれかが、単一のチャネル、または複数のチャネル(ビューアへの3次元効果を生み出すステレオビデオなど)で提示され得る。さらに、いくつかの実施形態では、人工現実は、たとえば、人工現実におけるコンテンツを作り出すために使用される、かつ/または人工現実で使用される(たとえば、人工現実におけるアクティビティを実施する)、アプリケーション、製品、アクセサリ、サービス、またはそれらのいくつかの組合せに関連付けられ得る。人工現実コンテンツを提供する人工現実システムは、ホストコンピュータシステムに接続されたヘッドマウントディスプレイ(HMD)、スタンドアロンHMD、モバイルデバイスもしくはコンピューティングシステム、または、人工現実コンテンツを1つまたは複数のビューアに提供可能な任意の他のハードウェアプラットフォームを含む、様々なプラットフォームで実施され得る。
プロアクティブコンテンツの生成
特定の実施形態では、補助システム140は、様々なマルチモーダル信号によってトリガされ得る、ユーザへのプロアクティブコンテンツ提案を行い得る。プロアクティブコンテンツはまた、ユーザの要求に応答したフォローアップアクションとして提供され得、セミプロアクティブユースケースの1つのタイプと考えられ得る(すなわち、プロアクティブコンテンツは、ユーザ要求に応答性があるので、完全にプロアクティブでなくなり得る)。プロアクティブコンテンツは、提案されるクエリ、提案されるフォローアップアクション、補足情報、調査、または任意の他の好適なコンテンツを含み得る。フォローアップアクションとして提供されるとき、プロアクティブコンテンツは、ユーザのタスクが完了した後、ダイアログを延長することによってユーザダイアログを豊かにし得る。限定としてではなく一例として、ユーザは、「何時ですか。」と尋ね得る。補助システム140は、「午前11:30です。」と答え得る。補助システム140は、「カレンダーを見たいですか。」などの提案されるフォローアップアクション、または「正午の歯医者の予約にたどり着くのに15分かかります。」のような補足情報をさらに提供し得る。限定としてではなく別の例として、ユーザは「今何の歌を流しているのですか。」と尋ね得、ここで、ユーザからの要求タスクは、[IN:get_track_info_music()]であり得る。補助システム140は、「OutkastによるHey Yaです。」と答え得、これがタスクの完了をマークする。補助システム140は、「この歌をお気に入りに追加したいですか。」とさらにプロアクティブに尋ね得、これが、提案されるフォローアップアクション(すなわち、[IN:add_to_favorites()])に対応する。タスクの完了、ユーザコンテキストの変化、または関連するマルチモーダル信号は、プロアクティブポリシーをトリガし得る。プロアクティブポリシーに基づいて、補助システム140は、どの種類のプロアクティブコンテンツを実行すべきかを決定し得る。補助システム140は、どのプロアクティブコンテンツが好適であるかを決定するために、ユーザとの事前対話またはユーザについての予備知識を考慮し得る。補助システム140は、ダイアログの各ターンへのユーザフィードバックに基づいて、または、マルチモーダルコンテキストにおいて、プロアクティブコンテンツのチェーンを生成し得、マルチモーダルコンテキストでは、補助システム140は、ユーザによるプロアクティブコンテンツとの対話、または動的なマルチモーダル信号に応答して、コンテンツをプロアクティブに提供し続け得る。限定としてではなく一例として、補助システム140は、補助システム140が各ターンの終わりに新しい推奨を提供するリコメンダシステムとして機能し得る。プロアクティブコンテンツを通じて、補助システム140は、成長(たとえば、ユーザ教育)のためのすぐに得られる機会、ならびに、補助システム140に関連付けられたさらなる特徴または強化のために使用され得るユーザ満足度測定およびコア技法を提供し得る。本開示は、特定の様式で特定のシステムによって特定のプロアクティブコンテンツを生成することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適なプロアクティブコンテンツを生成することを企図する。
特定の実施形態では、補助システム140は、第1のユーザに関連付けられたプロアクティブトリガに関連付けられた1つまたは複数の入力を受信し得る。補助システム140は、1つまたは複数のプロアクティブポリシーに基づいて、第1のユーザがプロアクティブ提案を受信するのに適格であるかどうかを決定し得る。補助システム140は、次いで、第1のユーザに関連付けられた1つまたは複数の入力およびユーザコンテキストデータに基づいて、1つまたは複数のプロアクティブ提案を生成し得る。特定の実施形態では、補助システム140は、第1のユーザに関連付けられたタスク履歴データに基づいて、プロアクティブ提案のうちの1つまたは複数を選択し得る。補助システム140は、さらに、プロアクティブコンテンツを第1のユーザに提示するための命令を、第1のユーザに関連付けられたクライアントシステム130に送り得る。プロアクティブコンテンツは、選択されたプロアクティブ提案を含み得る。
特定の実施形態では、補助システム140は、種々のタイプのマルチモーダル信号を使用して、どのプロアクティブコンテンツをユーザに提供すべきかを決定し得る。マルチモーダル信号は、日付、時間、ロケーション、ビジュアル信号、サウンド信号、エンティティ更新、またはユーザコンテキストのうちの1つまたは複数を含み得る。限定としてではなく一例として、日付および時刻がクリスマス前の週を示す場合、プロアクティブコンテンツは、ギフトを買うためのプロアクティブ提案でよい。限定としてではなく別の例として、サウンドが歌の場合、プロアクティブコンテンツは、関連するアーティストのプロアクティブ提案でよい。結果として、補助システム140は、種々のタイプのマルチモーダル信号に応答して、プロアクティブ提案をユーザに自動的に提供することによって、ユーザが補助システム140と関わり合う度合いを増加させるという技術的利点を有し得る。本開示は、特定の様式で特定の信号に基づいて特定のコンテンツを決定することを説明するが、本開示は、任意の好適な様式で任意の好適な信号に基づいて任意の好適なコンテンツを決定することを企図する。
図5は、プロアクティブ提案を提供するための例示的なアーキテクチャ500を示す。特定の実施形態では、プロアクティブ提案は、ユーザ要求に応答して提供され得る。図5に示されるように、ユーザ要求は発言に基づき、サーバ側のASRモジュール208またはクライアント側のASRモジュール216で受信され得る。ASRモジュール208/216は、発言からテキストを抽出し、抽出されたテキストをサーバ側のNLUモジュール210またはクライアント側のNLUモジュール218に送り得る。NLUモジュール210/218は、ユーザ要求に関連付けられた意図およびスロットを決定し得る。意図およびスロットは、ダイアログ状態トラッカ337に送られ得る。特定の実施形態では、プロアクティブ提案は、マルチモーダル信号に応答して提供され得る。限定としてではなく一例として、マルチモーダル信号は、ジェスチャー、ロケーション、ビジュアル等であり得る。補助システム140はマルチモーダル信号を理解し、マルチモーダル信号をイベントにマッピングし得る。イベントは、異なるソースから生じ得る。限定としてではなく一例として、意図は、特別なタイプのイベントと見なされ得る。補助システム140は、オントロジを使用して、有効なイベントのタイプを維持し得る。特定の実施形態では、マルチモーダル信号は、ユーザコンテキストエンジン(UCE:user context engine)315で受信され得る。UCE315は、1つまたは複数のマルチモーダルイベントを決定し、マルチモーダルイベントをダイアログ状態トラッカ337に送り得る。特定の実施形態では、プロアクティブ提案は、世界またはソーシャルの最新情報に応答して提供され得る。1つまたは複数のオブザーバ505は、このような更新情報を検出し、世界/ソーシャルイベントを適宜生成し得る。限定としてではなく一例として、世界イベントはサンフランシスコの天候変化であり得る。限定としてではなく別の例として、ソーシャルイベントは、ママがオンラインに接続することであり得る。オブザーバ505は、世界/ソーシャルイベントをダイアログ状態トラッカ337に送り得る。特定の実施形態では、補助システム140は、ダイアログ状態トラッカ337の前または内部のいずれかで、有効なイベントをフィルタリングし得る。本開示は、特定の様式で特定のシステムによって特定の信号に応答して特定の提案を提供することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適な信号に応答して任意の好適な提案を提供することを企図する。
特定の実施形態では、ダイアログ状態トラッカ337は、ユーザに関連したイベントを追跡し、意図、スロット、マルチモーダルイベント、世界イベント、またはソーシャルイベントのうちの1つまたは複数に基づく候補タスクを提案し得る。ユーザ状態(たとえば、ユーザの現在のアクティビティ)とタスク状態(たとえば、トリガ条件)の両方が追跡され得る。現在の状態を考慮して、ダイアログ状態トラッカ337は、補助システム140がユーザのために行い得る候補タスクを提案し得る。限定としてではなく一例として、候補タスクは、「提案を示すこと」、「天候情報を得ること」、または「写真を撮ること」であり得る。特定の実施形態では、ダイアログ状態トラッカ337は、知識グラフ510、ユーザメモリ515、およびユーザタスク履歴520を含む利用可能な知識に基づく候補タスクを提案し得る。特定の実施形態では、ユーザメモリ515は、ユーザのためにトリガされ得るすべての可能なプロアクティブタスクを記憶するための真実を語る資料であり得る。候補タスクは、プロアクティブコンテンツをユーザに提示するために他のモジュールと通信し得る、アクションセレクタ341に送られ得る。特定の実施形態では、アクションセレクタ341は、ダイアログ状態トラッカ337から提案された候補タスクを取り込み、このタスクの優先度、および、このタスクを配信することがOKであるかどうかを決定するためにスマートスケジューラ525を調べ得る。アクションセレクタ341はまた、ペイロードを生成して、クライアントシステム130に行くことが予想される「インフォーム」アクションを返すために、ペイロード生成器をコールし得る。提案される候補タスクを考慮して、アクションセレクタ341は、タスクを果たすために行うべきアクションを決め得る。タスクが実行/配信される用意ができているかなどの確認は、アクションセレクタ341によって行われ得る。特定の実施形態では、補助リコメンダ530は、どのプロアクティブ提案をユーザに提供すべきかを決定し得る。補助リコメンダ530は、第1のユーザに関連付けられたユーザコンテキストデータ、第1のユーザに関連付けられたユーザメモリ515、または知識グラフ510のうちの1つまたは複数に基づいて、プロアクティブ提案のうちの1つまたは複数を選択し得る。特定の実施形態では、補助リコメンダ530は、プロアクティブ提案がエージェント350によって実行されることを要求する場合、異なるエージェント350と通信し得る。補助リコメンダ530はまた、ユーザ教育モジュール535と通信し得る。本開示は、特定の様式で特定のシステムによって特定のタスクおよびアクションを決定することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適なタスクおよびアクションを決定することを企図する。
特定の実施形態では、ユーザ教育モジュール535は、補助システム140が何を行えるかについての新しいスキルをユーザが学習できるプロアクティブ提案を推奨することを担当し得る。ユーザ教育モジュール535は、何を行う方法をユーザが既に知っているかを確認し、次いで、ユーザが以前に行おうとしたことがないスキルを推奨するためにユーザタスク履歴520およびユーザメモリ515にアクセスし得る。結果として、補助システム140は、補助システム140が、履歴データに基づいて、どのスキルをユーザがまだ探求していないかを正確に決定し、このようなスキルに関する提案をユーザに提供し得るので、補助システム140が行うことができる新しいスキルをユーザが学習するのを補助するという技術的利点を有し得る。さらに、ユーザ教育モジュール535は、推奨されるプロアクティブ提案がユーザに関するものであり、ユーザにとって興味のあるものであることを確実にするために、ユーザコンテキスト、ダイアログコンテキスト、ユーザタスク履歴520、ユーザメモリ515を考慮に入れ得る。ユーザ教育モジュール535は、特定の補助スキルを決定するためにユーザの次の意図を予測し得る。具体的には、ユーザ教育モジュール535は、1つまたは複数の入力に基づいて、第1のユーザに関連付けられた初期の意図を決定し得る。ユーザ教育モジュール535は、次いで、初期の意図に基づいて、第1のユーザに関連付けられたその後の意図を決定し得る。したがって、補助システム140は、その後の意図にさらに基づいて、1つまたは複数のプロアクティブ提案を生成し得る。限定としてではなく一例として、次の意図は、新しいタスクについての推奨であり得る。特定の実施形態では、次の意図は、ユーザが以前に使用したスキルをユーザが次に行いたいと思い得ることを、補助システム140がUCE315およびユーザタスク履歴520から知っている場合、このスキルについての推奨でよい。結果として、ユーザ教育モジュール535は、既にユーザに以前推奨されたことがあるプロアクティブ提案を推奨し得る。特定の実施形態では、その後の意図を決定することは、機械学習モデルに基づき得る。機械学習モデルは、複数の意図のペアに関連付けられたデータに基づいてトレーニングされ得る。特定の実施形態では、複数の意図のペアに関連付けられたデータは、初期の意図とその後の意図との間の意図のペアに関連付けられたデータを含み得る。限定としてではなく一例として、意図Bが意図Aに常に続いたことを複数のユーザ対話が明らかにする場合、補助システム140は、意図のペアA-Bを生成し得る。したがって、ユーザ教育モジュール535が将来、意図Aを識別するとき、ユーザ教育モジュール535は、ユーザの次の意図が意図Bであると予測し得る。特定の実施形態では、ユーザ教育モジュール535は、値-モデルランカーを使用して、モジュール層における第1レベルのランク付けを得て、推奨のための最善のプロアクティブ提案を決定し得る。ユーザコンテキスト、ダイアログコンテキスト、ユーザタスク履歴、ユーザメモリ、および知識グラフを使用してプロアクティブ提案を決定することは、推奨されるプロアクティブ提案がユーザに関するものであり、ユーザにとって興味のあるものであることを、これらの種々のタイプのデータが保証し得るので、どのプロアクティブ提案をユーザに提供すべきかを正確に決定するという技術課題に対処するための効果的なソリューションになり得る。本開示は、特定の様式で特定のシステムによって特定の提案を推奨することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適な提案を推奨することを企図する。
特定の実施形態では、スマートスケジューラ525は、タスクがまだスケジュールされていない場合、タスクをスケジュールするため、ならびに、配信のためのペイロードを生成する前に、速度制限、優先度設定、および任意の他の個人化要件を施行するために使用され得る。スマートスケジューラ525は、プロアクティブコンテンツの配信スケジュールを決定し得る。これに対応して、プロアクティブコンテンツを第1のユーザに提示するための命令を送ることは、配信スケジュールに基づき得る。配信スケジュールは、第1のユーザに関連付けられた(すなわち、UCE315からの)ユーザコンテキストデータ、第1のユーザに関連付けられたユーザメモリ515、または知識グラフ510のうちの1つまたは複数に基づいて決定され得る。スマートスケジューラ525は、決定された配信スケジュールをアクションセレクタ341に送り返し得る。ユーザコンテキストデータ、ユーザメモリ、または知識グラフに基づいて、プロアクティブコンテンツの配信スケジュールを決定することは、プロアクティブコンテンツで促される意思をユーザが有し得る個人的な選好を、これらのタイプのデータがキャプチャし得るので、最適な状態下のプロアクティブコンテンツをユーザに提供するための効果的なソリューションになり得る。特定の実施形態では、アクションセレクタ341は、特定のデバイスにアクションを配信すること、および、リアルタイムのデバイスコンテキストをフェッチすること、および、上流の構成要素によってセットされた対話モード(たとえば、割込みなし)とデバイスコンテキストをマッチングすることによって、タスクを果たすためにクライアントシステム130に対するアクションを配信および実行し得る。限定としてではなく一例として、アクションは、知らせること、提案すること、スロットの要求、またはデバイス制御のうちの1つまたは複数を含み得る。たとえば、補助システム140は、意図-承認ダイアログアクション(すなわち、「プロンプト」ダイアログアクトタイプ)を構築し得る。これは、新しいタスクのためのプロアクティブ提案のための意図およびスロットを含み得る。補助システム140は、「プロンプト」ダイアログアクトテンプレートに対応する、はい/いいえの質問をさらに尋ね得る。ユーザが「はい。」と言うと、新しいタスクが実行され得る。さらに、アクションセレクタ341は、配信状態の最新情報を考慮して、ダイアログ状態トラッカ337にフィードバックを送り得る。本開示は、特定の様式で特定のシステムによって特定のコンテンツをスケジュールすることを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適なコンテンツをスケジュールすることを企図する。
特定の実施形態では、補助システム140はプロアクティブタスクを、オンライン式に(たとえば、ユーザの明示的な要求を考慮してすぐに作り出される)、または、オフライン式に(たとえば、ユーザの行動パターンをオフラインでマイニングすることによって非同期的に作り出される)、のいずれかで作り出し得る。限定としてではなく一例として、タスクの完了時にフィードバックをユーザに送るため、またはタスクを再試行するためのタスクは、オンラインで作り出され得る。プロアクティブタスクはまた、オフライン処理で非同期的に作り出され得る。補助システム140は、ユーザメモリに加えてオフライン推理を実施してユーザ行動パターンをマイニングし、次いで、ユーザのためのルーチンベースのプロアクティブタスクをスケジュールし得る。補助システム140は、ユーザメモリ515に加えて推論層を実行し、バッチ処理をハンドリングするためにスマートスケジューラ525を非同期的にコールし得る。本開示は、特定の様式で特定のシステムによって特定のタスクを作り出すことを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適なタスクを作り出すことを企図する。
特定の実施形態では、補助システム140は、ダイアログポリシーを使用して、ユーザにプロアクティブ提案を提供すべきかどうか、および提供する場合、どのプロアクティブ提案を提供すべきかを決定し得る。ダイアログポリシーは、ユーザがプロアクティブ提案の基準を満たすかどうかを決定可能な適格性ポリシーを含み得る。また、適格性ポリシーは、このようなプロアクティブ提案を提供するのに好適な時間であるかどうかを決定し得る。適格性ポリシーは、ユーザコンテキスト(UCE315からの)、ユーザタスク履歴520、またはユーザメモリ515などの異なる情報に基づき得る。言い換えれば、第1のユーザがプロアクティブ提案を受け取るのに適格であるかどうかを決定することは、第1のユーザに関連付けられたユーザコンテキストデータ、第1のユーザに関連付けられたタスク履歴データ520、または第1のユーザに関連付けられたユーザメモリ515のうちの1つまたは複数にさらに基づき得る。ユーザコンテキストは、第1のユーザが従事する現在のタスク/アクティビティを示し得る。限定としてではなく一例として、ユーザが眠るつもりである場合、または、ユーザが別のタスクに集中すること(たとえば、運転すること、走ること、もしくは会議中であること)に忙しい場合、補助システム140は、適格性ポリシーに基づいてプロアクティブ提案を提供し得ない。特定の実施形態では、ユーザは、入力に関連付けられたタスク/意図がタスク/意図/スキルのホワイトリスト内にある場合、プロアクティブ提案を受け取るのに適格であり得る。さらに、ユーザが最近(たとえば、つい先ほど、昨日等に)別のプロアクティブ提案を受け取っていた場合、適格性ポリシーは、不要な提案でユーザに過負荷をかけないように、どの新しいプロアクティブ提案も提供しないことを決定し得る。それでも、プロアクティブポリシーは、プロアクティブ提案のチェーンでつなぐことを可能にするための最新の提案をユーザが受け入れていた場合、適格性ポリシーを無視することを決定し得る。ユーザコンテキストデータ、タスク履歴データ、またはユーザメモリに基づくダイアログポリシーを使用して、ユーザがプロアクティブ提案に適格であるかどうかを決定することは、このようなダイアログポリシーが、ユーザに関連した現在の情報と履歴情報の両方を使用して、ユーザがプロアクティブ提案を望むかどうかを効果的に評価し得るので、不要な提案でユーザに過負荷をかけないという技術課題に対処するための効果的なソリューションになり得る。本開示は、特定の様式で特定の提案のための特定のポリシーを説明するが、本開示は、任意の好適な様式で任意の好適な提案のための任意の好適なポリシーを企図する。
各ユーザのために、補助システム140は、構造化された意図履歴をユーザタスク履歴520またはユーザメモリ515に記憶し得る。結果として、各ユーザおよび各意図のために、補助システム140は、ユーザの以前の意図を素早く探索可能であり得る。さらに、各ユーザのために、補助システム140は、いずれかのプロアクティブ提案が提供され、プロアクティブ提案がユーザの補助アクティビティログとして提供された最新の時間を記憶し得る。ユーザの補助アクティビティログを記憶することは、プロアクティブ提案をトリガし過ぎないこと、および同じプロアクティブ提案を2回以上行わないことという目的を満たすのに有用であり得る。本開示は、特定の様式で特定のシステムによって特定のユーザ履歴/メモリを記憶することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適なユーザ履歴/メモリを記憶することを企図する。
特定の実施形態では、補助システム140は、異なるプロアクティブコンテンツモジュールを使用してプロアクティブ提案を生成し得る。これらのコンテンツモジュールは、どのプロアクティブ提案が関連するか、または利用可能であるかを決定し得る。すべてのコンテンツモジュールが同時に実行し、候補プロアクティブ提案を生み出し得る。プロアクティブコンテンツモジュールの同時化は、単一のポリシーがモジュールすべてを制御すること、および、さらなるタイプのプロアクティブコンテンツへのスケーリングをより容易にすることを可能にし得る。ダイアログアクションを作り出す任意のモジュールは、他のモジュールと同時に実行するためのプロアクティブコンテンツモジュールのうちの1つであり得る。特定の実施形態では、各モジュールは、可能なプロアクティブコンテンツの独自のランク付けを決定し、最高にランク付けされたコンテンツだけを出力し得る。本開示は、特定の様式で特定のコンテンツモジュールを説明するが、本開示は、任意の好適な様式で任意の好適なコンテンツモジュールを企図する。
特定の実施形態では、1つまたは複数のプロアクティブ提案の各々は、提案される調査、提案されるクエリ、または提案されるタスクのうちの1つまたは複数を含み得る。特定の実施形態では、プロアクティブ提案が1つまたは複数の提案される調査を含む場合、補助システム140は、ユーザフィードバックを要求するダイアログアクションを作り出すことによって、包括的なユーザ満足度調査を生成し得る。限定としてではなく一例として、提案される調査は、「今日、あなたの経験は良かったですか。」でよく、これに対して、ユーザは「はい。」または「いいえ。」を回答し得る。限定としてではなく別の例として、提案される調査は、「あなたの経験を1から5までで評価してください。」でよく、これに対して、ユーザは1から5までを選び得る。限定としてではなくさらに別の例として、提案される調査は、「私が学習するのを手伝ってください。私はあなたの要求を正しく解析しましたか。」でよい。補助システム140は、提案される調査を利用して、ユーザ満足度測定についての明示的なユーザフィードバックを集め得る。本開示は、特定の様式で特定の調査を説明するが、本開示は、任意の好適な様式で任意の好適な調査を企図する。
特定の実施形態では、1つまたは複数のプロアクティブ提案を生成することは、複数のプロアクティブ提案を含む所定の提案リストにアクセスすることを含み得る。所定の提案リストは、第1のユーザに関連付けられたタスク履歴データ520、第1のユーザに関連付けられたユーザメモリ515、または知識グラフ510のうちの1つまたは複数に基づいて生成され得る。限定としてではなく一例として、プロアクティブ提案が1つまたは複数の提案される質問を含む場合、所定の提案リストは、ブラックリストに載った質問シナリオ/意図を含み得る。ブラックリストに載った質問シナリオ/意図は、ユーザが、ユーザが以前に既に回答したことがある提案される質問を受信しないこと、所与の期間内に2回以上、何らかの提案される質問で促されないこと(たとえば、1日あたり最大1つの提案される質問)、および、何らかの特定の提案される質問でこれまでに2回以上促されないことを保証し得る。補助システム140は、ユーザが特定のスキルを実行したいと思っているかどうかについて尋ねるダイアログアクションを作り出し得る。限定としてではなく一例として、ダイアログアクションタイプは「プロンプト」、たとえば、「新しいアラームをセットしたいですか。」でよい。ユーザが「はい。」と言うと、補助システム140は、推奨されるスキルを実行し得る。ユーザが「いいえ。」と言うと、補助システム140はアクションを実行し得ない。限定としてではなく別の例として、プロアクティブ提案が1つまたは複数の提案されるタスクを含む場合、所定の提案リストは、ブラックリストに載ったタスクシナリオ/意図を含み得る。ブラックリストに載ったタスクシナリオ/意図は、ブラックリストに載った質問シナリオ/意図として同様の目的を満たし得る。補助システム140は、別の補助スキルをユーザに知らせるダイアログアクションを作り出し得る。限定としてではなく一例として、ダイアログアクションタイプは「提案」、たとえば、「私もあなたのためにアラームをセットすることができます。ヘイ、アシスタント、明日朝7時にアラームをセットしてください、のようなことを言ってみてください。」でよい。この場合、ユーザフィードバック/応答は要求され得ない。本開示は、特定の様式で特定のリストに基づいて特定の提案を生成することを説明するが、本開示は、任意の好適な様式で任意の好適なリストに基づいて任意の好適な提案を生成することを企図する。
ユーザが提案される調査、提案される質問、提案されるタスク、または任意のタイプのプロアクティブコンテンツに適格な場合、補助システム140は、ユーザに提供するために1つだけを選び得る。特定の実施形態では、アクションセレクタ341は、最高のプロアクティブ提案を提示するために、プロアクティブコンテンツモジュールすべての中からオプションをランク付けし得る。言い換えれば、アクションセレクタ341は、クロスドメインランク付けを実施し得る。プロアクティブコンテンツモジュールの各々は、任意選択として、ダイアログアクションを生み出し得、これに対して、アクションセレクタ341は、実際に実行するために、これらのアクションのうちの1つを選び得る。特定の実施形態では、ダイアログアクションは、ランダムに、またはより洗練されたルール/モデルに基づいて、選ばれ得る。限定としてではなく一例として、1つのルールは、多様性を改善することを目指す、ユーザタスク履歴520および/またはユーザメモリ515に基づくプロアクティブ提案のために、最も長い間使用されていないどのプロアクティブコンテンツモジュールにも、選好が与えられるべきであるというものであり得る。アクションセレクタ341は、ユーザタスク履歴520および/またはユーザメモリ515にアクセスすること、プロアクティブダイアログアクションがタイムスタンプを提供されたと決定すること、アクションを実行したプロアクティブコンテンツモジュールの名称を識別すること、ならびに、モジュール固有情報にアクセスすることを行い得る。本開示は、特定の様式で特定のシステムによって特定の提案をランク付けすることを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適な提案をランク付けすることを企図する。
特定の実施形態では、1つまたは複数の入力は、第1のタスクの完了の1つまたは複数の指示を含み得る。これに対応して、1つまたは複数のプロアクティブ提案の各々は、フォローアップ調査、フォローアップ質問、またはフォローアップタスクのうちの1つまたは複数を含み得る。このシナリオでは、補助システム140は、第1のタスクが、プロアクティブ提案に適格なタスクのホワイトリスト内にあることを検証し得る。特定の実施形態では、補助システム140は、各ターンにおけるユーザフィードバックに基づいて、プロアクティブ提案のチェーンを生成し得る。補助システム140は、提示されたプロアクティブコンテンツに応答して、第1のユーザからのユーザ入力をクライアントシステム130から受信し得る。補助システム140は、次いで、ユーザ入力に応答して第2のタスクを実行し得る。補助システム140は、さらに、第1のタスクと、第2のタスクの実行とに基づいて、1つまたは複数の更新されたプロアクティブ提案を生成し得る。特定の実施形態では、補助システム140は、チェーンでつながれたプロアクティブ提案を生成するために、コンテキストキャリーオーバーを使用し得る(すなわち、意図および/またはスロットをユーザの初期の要求からプロアクティブ提案に発展させ得る)。限定としてではなく一例として、第1のタスクが完了した後、補助システム140は、第2のタスクに対応する第1のプロアクティブ提案を生成し、第1のプロアクティブ提案をユーザにプロアクティブに提示し得る。ユーザが、(たとえば、「はい。」と言うことによって)第1のプロアクティブ提案を承認すると、補助システム140は、第2のタスクを完了させ得る。補助システム140は、次いで、第1のタスクと第2のタスクの両方を考慮して、第3のタスクに対応する第2のプロアクティブ提案を生成し、第2のプロアクティブ提案をユーザにプロアクティブに提示し得る。補助システム140は、ユーザがプロアクティブ提案にこれ以上関心がないことを、ユーザフィードバックが示すまで、プロアクティブ提案のこのようなチェーンでつながれたシーケンスを続け得る。本開示は、特定の様式で特定のシステムによって特定のチェーンでつながれた提案を生成することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適なチェーンでつながれた提案を生成することを企図する。
特定の実施形態では、1つまたは複数の入力は、1つまたは複数のマルチモーダル信号を含み得る。各マルチモーダル信号は、日付、時間、ロケーション、ビジュアル信号、サウンド信号、エンティティ更新、またはユーザコンテキストのうちの1つまたは複数に基づき得る。補助システム140は、同様に、マルチモーダルコンテキストにおけるプロアクティブ提案のチェーンを生成し得る。特定の実施形態では、補助システム140は、1つまたは複数の更新されたマルチモーダル信号を受信し得る。補助システム140は、次いで、更新されたマルチモーダル信号に基づいて、1つまたは複数の更新されたプロアクティブ提案を生成し得る。限定としてではなく一例として、新しいマルチモーダル信号が入って来ると、UCE315は、ユーザに関連付けられたユーザコンテキストを更新し得る。更新されたユーザコンテキストは、マルチモーダルダイアログ状態に記録され得る。補助システム140は、次いで、更新されたユーザコンテキストに応答して、新しいプロアクティブ提案を提供し得る。本開示は、特定の様式で特定のシステムによって特定のチェーンでつながれた提案を生成することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適なチェーンでつながれた提案を生成することを企図する。
特定の実施形態では、選択されたプロアクティブ提案は、ダイアログマネージャ335に返され得る。ダイアログマネージャ335は、NLGモジュール356を使用して、プロアクティブ提案、たとえば、提案される調査、提案される質問、または提案されるタスクに基づいて応答を生成し得る。特定の実施形態では、NLGダイアログアクトは、ターゲットロケールがダイアログアクトのスタッキングを可能にするために有効化され得る。プロアクティブ提案のためのNLGテンプレートはローカライズされ得る。特定の実施形態では、選択されたプロアクティブ提案は、将来の使用のためにユーザタスク履歴520および/またはユーザメモリ515に同時に記憶され得る。本開示は、特定の様式で特定のシステムによって特定の応答を生成することを説明するが、本開示は、任意の好適な様式で任意の好適なシステムによって任意の好適な応答を生成することを企図する。
図6Aは、時間を確かめたいというユーザ要求に応答した、例示的なプロアクティブ提案を示す。図6Aに示されているように、ユーザ600は、自分のクライアントシステム130(たとえば、スマートフォン)を介して補助システム140に「ヘイ、アシスタント、何時ですか。(602)」と尋ね得る。補助システム140は、時間を確かめるタスクを実行し、「午前11:30です。(604)」と答え得る。補助システム140は、「カレンダーを見たいですか。(606)」というプロアクティブ提案をさらに生成し得る。図6Bは、時間を確かめたいというユーザ要求に応答した、別の例示的なプロアクティブ提案を示す。図6Bに示されているように、ユーザ600は、「ヘイ、アシスタント、何時ですか。(602)」という同じ質問を補助システム140に尋ね得る。補助システム140は時間を確かめ、「午前11:30です。(604)」と答え得る。補助システム140は、ユーザ600のカレンダーをさらに確かめ、「正午の歯医者の予約にたどり着くのに15分かかります。(606)」というプロアクティブ提案を生成し得る。
図7Aは、写真を撮りたいというユーザ要求に応答した、例示的なプロアクティブ提案を示す。図7Aに示されているように、ユーザ700は、自分のクライアントシステム130(たとえば、タブレット)を介して補助システム140に、「ヘイ、アシスタント、この犬の写真を撮ってください。(702)」という要求を話しかけ得る。補助システム140はタスクを実行し、「行いました。(704)」と答える。補助システム140は、「これをオンラインに投稿したいですか。(706)」というプロアクティブ提案をさらに生成し得る。図7Bは、写真を撮りたいというユーザ要求に応答した、別の例示的なプロアクティブ提案を示す。図7Bに示されているように、ユーザ700は同じこと、すなわち写真を撮ることを行うように補助システム140に要求し得る。補助システム140はタスクを実行し、「行いました。(704)」と答える。補助システム140は、「あなたはスマートカメラツールを使用してこれを編集することができます。(708)」というプロアクティブ提案をさらに生成し得る。
図8は、ビジュアル信号に応答した、例示的なプロアクティブ提案を示す。図8に示されているように、ユーザ800は、AR/VRグラスをクライアントシステム130として着用中であり得る。ユーザは時計802を見ることができ、時計802は、日付が2020年12月20日であることを示している。AR/VRグラスによってキャプチャされたビジュアル信号は、プロアクティブ提案をトリガし得る。したがって、補助システム140は、「そろそろクリスマスです。クリスマスギフトのために何かオンラインショッピングを行いたいですか。(804)」というプロアクティブ提案を生成し得る。
図9は、オーディオ信号に応答した、例示的なプロアクティブ提案を示す。図9に示されているように、ユーザ900はリビングルーム内に着座中であり得、スマートドック(すなわち、クライアントシステム130)が近くにある。ユーザは何かの音楽が聞こえ得る。スマートドックによってキャプチャされたオーディオ信号は、プロアクティブ提案をトリガし得る。したがって、補助システム140は、受信されたオーディオ信号に基づいて音楽の検索を最初に実施し、これが何の歌であるか、およびこれがどのアーティストのものであるかを決定し得る。補助システム140は、「これは、アーティストAによる新しいビルボードヒットです。アーティストBおよびCが同様の歌を有しています。聴きたいですか。」のような応答902を生成し得る。応答902は、ユーザが聞いた音楽の情報、およびまた、いくつかの同様の歌を聴くことをユーザに提案するプロアクティブ提案を備え得る。
図10は、プロアクティブ提案のチェーンの一例を示す。図10に示されているように、ユーザ900はリビングルーム内に着座中であり得、スマートドック(すなわち、クライアントシステム130)が近くにある。ユーザ900は、「ヘイ、アシスタント、何か良いギリシャレストランが近くにありますか。(904)」と補助システム140に尋ね得る。補助システム140は、「Gyro Bistroが良いレストランです。(906)」と答え得る。補助システム140は、「予約するか、宅配を注文したいですか。(908)」という第1のプロアクティブ提案を生成し得る。ユーザ900は「宅配。(910)」と答え得る。ユーザフィードバックに基づいて、補助システム140は、「配信アプリで注文するなら、配信アプリが今プロモーションを行っています。(912)」という第2のプロアクティブ提案をさらに生成し得る。ユーザ900は、「あ、本当に?それなら、配信アプリで注文しよう。(914)」と言い得る。ユーザ900の承認を受信すると、補助システム140は、「グリークラムサラダを注文したいですか。これは、彼らの特別料理であり、ベストセラーです。(916)」という第3のプロアクティブ提案を生成し得る。ユーザ900は、「ええ。(918)」と言って承認し得る。補助システム140は、「他に何か欲しいですか。(920)」という第4のプロアクティブ提案をさらに生成し得る。ユーザ900は、「以上です。(922)」と言うことによって、自分がこれ以上の提案を聞く意思がないことを示し得る。補助システム140は食品注文のタスクを実行し、「現在注文中(924)」というステータスをユーザに通知し得る。
図11は、プロアクティブ提案を提供するための例示的な方法1100を示す。方法はステップ1110において始まり得、ここで、補助システム140は、第1のユーザに関連付けられたプロアクティブトリガに関連付けられた1つまたは複数の入力を受信し得、1つまたは複数の入力は、第1のタスクの完了の指示、または、日付、時間、ロケーション、ビジュアル信号、サウンド信号、エンティティ更新、もしくはユーザコンテキストのうちの1つもしくは複数に基づくマルチモーダル信号のうちの1つまたは複数を含む。ステップ1120において、補助システム140は、プロアクティブポリシー、第1のユーザに関連付けられたユーザコンテキストデータ、第1のユーザに関連付けられたタスク履歴データ、または第1のユーザに関連付けられたユーザメモリのうちの1つまたは複数に基づいて、第1のユーザがプロアクティブ提案を受信するのに適格であるかどうかを決定し得る。ステップ1130において、補助システム140は、第1のユーザに関連付けられた1つまたは複数の入力およびユーザコンテキストデータに基づいて、1つまたは複数のプロアクティブ提案を生成し得、1つまたは複数のプロアクティブ提案の各々は、提案される調査、提案されるクエリ、提案されるタスク、フォローアップ調査、フォローアップ質問、またはフォローアップタスクのうちの1つまたは複数を含み、生成することは、複数のプロアクティブ提案を含む所定の提案リストにアクセスすることを含み、所定の提案リストは、第1のユーザに関連付けられたタスク履歴データ、第1のユーザに関連付けられたユーザメモリ、知識グラフ、またはその後の意図のうちの1つまたは複数に基づいて生成される。ステップ1140において、補助システム140は、1つまたは複数の入力に基づいて、第1のユーザに関連付けられた初期の意図を決定し得る。ステップ1150において、補助システム140は、機械学習モデルに基づいて、初期の意図に基づいて、第1のユーザに関連付けられたその後の意図を決定し得、機械学習モデルは、複数の意図のペアに関連付けられたデータに基づいてトレーニングされ、複数の意図のペアに関連付けられたデータは、初期の意図とその後の意図との間の意図のペアに関連付けられたデータを含む。ステップ1160において、補助システム140は、第1のユーザに関連付けられたタスク履歴データ、第1のユーザに関連付けられたユーザコンテキストデータ、第1のユーザに関連付けられたユーザメモリ、または知識グラフのうちの1つまたは複数に基づいて、プロアクティブ提案のうちの1つまたは複数を選択し得る。ステップ1170において、補助システム140は、プロアクティブコンテンツの配信スケジュールを決定し得、配信スケジュールは、第1のユーザに関連付けられたユーザコンテキストデータ、第1のユーザに関連付けられたユーザメモリ、または知識グラフのうちの1つまたは複数に基づいて決定される。ステップ1180において、補助システム140は、配信スケジュールに基づいて、プロアクティブコンテンツを第1のユーザに提示するための命令を、第1のユーザに関連付けられたクライアントシステム130に送り得、プロアクティブコンテンツは、選択されたプロアクティブ提案を含む。特定の実施形態は、適切な場合、図11の方法の1つまたは複数のステップを繰り返し得る。本開示は、図11の方法の特定のステップを、特定の順序で行われるものとして説明し、示すが、本開示は、図11の方法の任意の好適なステップが任意の好適な順序で行われることを企図する。その上、本開示は、図11の方法の特定のステップを含むプロアクティブ提案を提供するための例示的な方法を説明し、示すが、本開示は、適切な場合、図11の方法のステップのすべてまたは一部を含み得るか、どれも含み得ない任意の好適なステップを含むプロアクティブ提案を提供するための任意の好適な方法を企図する。さらに、本開示は、図11の方法の特定のステップを行う特定の構成要素、デバイス、またはシステムを説明し、示すが、本開示は、図11の方法の任意の好適なステップを行う任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
ソーシャルグラフ
図12は、例示的なソーシャルグラフ1200を示す。特定の実施形態では、ソーシャルネットワーキングシステム160は、1つまたは複数のソーシャルグラフ1200を1つまたは複数のデータストアに記憶し得る。特定の実施形態では、ソーシャルグラフ1200は、複数のユーザノード1202または複数の概念ノード1204を含み得る、複数のノードと、それらのノードを接続する複数のエッジ1206とを含み得る。各ノードは、一意の数字またはユーザ名など、一意の識別子(ID)をその各々が有し得る、一意のエンティティ(すなわち、ユーザまたは概念)に関連付けられ得る。説明のために、2次元ビジュアルマップ表現において、図12に示されている例示的なソーシャルグラフ1200が示される。特定の実施形態では、ソーシャルネットワーキングシステム160、クライアントシステム130、補助システム140、またはサードパーティシステム170は、好適な適用例のためにソーシャルグラフ1200および関係するソーシャルグラフ情報にアクセスし得る。ソーシャルグラフ1200のノードおよびエッジは、たとえば(ソーシャルグラフデータベースなどの)データストアに、データオブジェクトとして記憶され得る。そのようなデータストアは、ソーシャルグラフ1200のノードまたはエッジの1つまたは複数の検索可能またはクエリ可能なインデックスを含み得る。
特定の実施形態では、ユーザノード1202は、ソーシャルネットワーキングシステム160または補助システム140のユーザに対応し得る。限定としてではなく一例として、ユーザは、ソーシャルネットワーキングシステム160または補助システム140と、あるいはソーシャルネットワーキングシステム160または補助システム140上で、対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネス、またはサードパーティアプリケーション)、または(たとえば、個人またはエンティティの)グループであり得る。特定の実施形態では、ソーシャルネットワーキングシステム160にユーザがアカウントを登録すると、ソーシャルネットワーキングシステム160は、ユーザに対応するユーザノード1202を作成し、1つまたは複数のデータストアにユーザノード1202を記憶し得る。本明細書で説明されるユーザおよびユーザノード1202は、適切な場合、登録済みユーザおよび登録済みユーザに関連付けられたユーザノード1202を指し得る。さらに、または代替として、本明細書で説明されるユーザおよびユーザノード1202は、適切な場合、ソーシャルネットワーキングシステム160に登録されていないユーザを指し得る。特定の実施形態では、ユーザノード1202は、ユーザによって提供された情報、またはソーシャルネットワーキングシステム160を含む様々なシステムによって集められた情報に関連付けられ得る。限定としてではなく一例として、ユーザは、自分の名前、プロファイルピクチャ、連絡先情報、生年月日、性、配偶者の有無、家族状況、勤務先、学歴、選好、興味、または他の人口統計学的情報を提供し得る。特定の実施形態では、ユーザノード1202は、ユーザに関連付けられた情報に対応する1つまたは複数のデータオブジェクトに関連付けられ得る。特定の実施形態では、ユーザノード1202は、1つまたは複数のウェブインターフェースに対応し得る。
特定の実施形態では、概念ノード1204は、概念に対応し得る。限定としてではなく一例として、概念は、(たとえば、映画館、レストラン、ランドマーク、または都市などの)場所、(たとえば、ソーシャルネットワーキングシステム160に関連付けられたウェブサイト、またはウェブアプリケーションサーバに関連付けられたサードパーティウェブサイトなどの)ウェブサイト、(たとえば、人、ビジネス、グループ、スポーツチーム、または有名人などの)エンティティ、ソーシャルネットワーキングシステム160内に、またはウェブアプリケーションサーバなどの外部サーバ上に置かれ得る(たとえば、オーディオファイル、ビデオファイル、デジタル写真、テキストファイル、構造化文書、またはアプリケーションなどの)リソース、(たとえば、彫刻、絵画、映画、ゲーム、歌、アイデア、写真、または書かれた作品などの)物的財産または知的財産、ゲーム、アクティビティ、アイデアまたは理論、別の好適な概念、あるいは2つまたはそれ以上のそのような概念に対応し得る。概念ノード1204は、ユーザによって提供された概念の情報、またはソーシャルネットワーキングシステム160と補助システム140とを含む様々なシステムによって集められた情報に関連付けられ得る。限定としてではなく一例として、概念の情報は、名前またはタイトル、1つまたは複数の画像(たとえば、本のカバーページの画像)、ロケーション(たとえば、住所または地理的ロケーション)、(URLに関連付けられ得る)ウェブサイト、連絡先情報(たとえば、電話番号または電子メールアドレス)、他の好適な概念情報、あるいはそのような情報の任意の好適な組合せを含み得る。特定の実施形態では、概念ノード1204は、概念ノード1204に関連付けられた情報に対応する1つまたは複数のデータオブジェクトに関連付けられ得る。特定の実施形態では、概念ノード1204は、1つまたは複数のウェブインターフェースに対応し得る。
特定の実施形態では、ソーシャルグラフ1200内のノードは、(「プロファイルインターフェース」と呼ばれることがある)ウェブインターフェースを表すか、またはウェブインターフェースによって表され得る。プロファイルインターフェースは、ソーシャルネットワーキングシステム160または補助システム140によってホストされるか、あるいはソーシャルネットワーキングシステム160または補助システム140にとってアクセス可能であり得る。プロファイルインターフェースはまた、サードパーティシステム170に関連付けられたサードパーティウェブサイト上でホストされ得る。限定としてではなく一例として、特定の外部ウェブインターフェースに対応するプロファイルインターフェースは、特定の外部ウェブインターフェースであり得、プロファイルインターフェースは、特定の概念ノード1204に対応し得る。プロファイルインターフェースは、他のユーザのすべてまたは選択されたサブセットによって閲覧可能であり得る。限定としてではなく一例として、ユーザノード1202は、対応するユーザが、コンテンツを追加するか、発表するか、または場合によっては自分自身を明示し得る、対応するユーザプロファイルインターフェースを有し得る。限定としてではなく別の例として、概念ノード1204は、特に、概念ノード1204に対応する概念に関連して、1人または複数のユーザがコンテンツを追加するか、発表するか、または自分自身を明示し得る、対応する概念プロファイルインターフェースを有し得る。
特定の実施形態では、概念ノード1204は、サードパーティシステム170によってホストされるサードパーティウェブインターフェースまたはリソースを表し得る。サードパーティウェブインターフェースまたはリソースは、他の要素の中でも、コンテンツ、選択可能なまたは他のアイコン、あるいは、アクションまたはアクティビティを表す他の対話可能オブジェクトを含み得る。限定としてではなく一例として、サードパーティウェブインターフェースは、「いいね!」、「チェックイン」、「食べる」、「推奨」、あるいは別の好適なアクションまたはアクティビティなど、選択可能なアイコンを含み得る。サードパーティウェブインターフェースを閲覧しているユーザは、アイコンのうちの1つ(たとえば「チェックイン」)を選択することによってアクションを実施し、クライアントシステム130が、ユーザのアクションを指示するメッセージをソーシャルネットワーキングシステム160に送ることを引き起こし得る。メッセージに応答して、ソーシャルネットワーキングシステム160は、ユーザに対応するユーザノード1202と、サードパーティウェブインターフェースまたはリソースに対応する概念ノード1204との間のエッジ(たとえば、チェックインタイプのエッジ)を作成し、1つまたは複数のデータストアにエッジ1206を記憶し得る。
特定の実施形態では、ソーシャルグラフ1200内のノードのペアが、1つまたは複数のエッジ1206によって互いに接続され得る。ノードのペアを接続するエッジ1206は、ノードのペア間の関係を表し得る。特定の実施形態では、エッジ1206は、ノードのペア間の関係に対応する1つまたは複数のデータオブジェクトまたは属性を含むか、または表し得る。限定としてではなく一例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であることを指示し得る。この指示に応答して、ソーシャルネットワーキングシステム160は、「友達要求」を第2のユーザに送り得る。第2のユーザが「友達要求」を承認した場合、ソーシャルネットワーキングシステム160は、ソーシャルグラフ1200内で、第1のユーザのユーザノード1202を第2のユーザのユーザノード1202に接続するエッジ1206を作成し、データストア164の1つまたは複数にソーシャルグラフ情報としてエッジ1206を記憶し得る。図12の例では、ソーシャルグラフ1200は、ユーザ「A」のユーザノード1202とユーザ「B」のユーザノード1202との間の友達関係を指示するエッジ1206と、ユーザ「C」のユーザノード1202とユーザ「B」のユーザノード1202との間の友達関係を指示するエッジとを含む。本開示は、特定の属性をもつ特定のエッジ1206が、特定のユーザノード1202を接続することを説明するかまたは示すが、本開示は、任意の好適な属性をもつ任意の好適なエッジ1206が、ユーザノード1202を接続することを企図する。限定としてではなく一例として、エッジ1206は、友人関係、家族関係、ビジネスまたは雇用関係、(たとえば、いいね!を表明することなどを含む)ファン関係、フォロワー関係、(たとえば、アクセスすること、閲覧すること、チェックインすること、共有することなどを含む)ビジター関係、加入者関係、上下関係、互恵関係、非互恵関係、別の好適なタイプの関係、あるいは2つまたはそれ以上のそのような関係を表し得る。その上、本開示は一般に、ノードを、接続されているものとして説明しているが、本開示は、ユーザまたは概念も、接続されているものとして説明する。本明細書では、接続されるユーザまたは概念への参照は、適切な場合、1つまたは複数のエッジ1206によってソーシャルグラフ1200内で接続されるこれらのユーザまたは概念に対応するノードを参照し得る。2つのノードによってそれぞれ表された2つのオブジェクトの間の分離の程度は、ソーシャルグラフ1200における2つのノードを接続する最短経路におけるエッジのカウントである。限定としてではなく一例として、ソーシャルグラフ1200において、ユーザ「C」のユーザノード1202は、たとえば、ユーザ「B」のユーザノード1202を直接通る第1の経路、会社「A1me」の概念ノード1204とユーザ「D」のユーザノード1202とを通る第2の経路、ならびに、ユーザノード1202と、学校「Stateford」、ユーザ「G」、会社「A1me」、およびユーザ「D」を表す概念ノード1204とを通る第3の経路を含む、複数の経路を介してユーザ「A」のユーザノード1202に接続される。ユーザ「C」およびユーザ「A」は、これらの対応するノードに接続する最短経路(すなわち、第1の経路)が2つのエッジ1206を含むので、2つの分離の程度を有する。
特定の実施形態では、ユーザノード1202と概念ノード1204との間のエッジ1206は、概念ノード1204に関連付けられた概念に向かってユーザノード1202に関連付けられたユーザによって実施された特定のアクションまたはアクティビティを表し得る。限定としてではなく一例として、図12に示されているように、ユーザは、概念に対して「いいね!」を表明する、「通っていた」、「プレイした」、「聴いた」、「料理した」、「勤務した」、または「読んだ」ことがあり、これらの各々が、エッジのタイプまたはサブタイプに対応し得る。概念ノード1204に対応する概念プロファイルインターフェースは、たとえば、(たとえば、クリック可能な「チェックイン」アイコンなどの)選択可能な「チェックイン」アイコン、または選択可能な「お気に入りに追加」アイコンを含み得る。同様に、ユーザがこれらのアイコンをクリックした後、ソーシャルネットワーキングシステム160は、それぞれのアクションに対応するユーザのアクションに応答して、「お気に入り」エッジ、または「チェックイン」エッジを作成し得る。限定としてではなく別の例として、ユーザ(ユーザ「C」)は、特定のアプリケーション(サードパーティオンラインミュージックアプリケーション)を使用して、特定の歌(「イマジン」)を聴き得る。この場合、ソーシャルネットワーキングシステム160は、ユーザに対応するユーザノード1202と、歌およびアプリケーションに対応する概念ノード1204との間に(図12に示されているような)「聴いた」エッジ1206および「使用した」エッジを作成し、ユーザが歌を聴き、アプリケーションを使用したことを指示し得る。その上、ソーシャルネットワーキングシステム160は、歌に対応する概念ノード1204と、アプリケーションに対応する概念ノード1204との間に(図12に示されているような)「プレイした」エッジ1206を作成し、特定の歌が特定のアプリケーションによってプレイされたことを指示し得る。この場合、「プレイした」エッジ1206は、外部オーディオファイル(歌「Imagine」)に対して外部アプリケーション(サードパーティオンラインミュージックアプリケーション)によって実施されるアクションに対応する。本開示は、特定の属性をもつ特定のエッジ1206が、ユーザノード1202と概念ノード1204とを接続することを説明するが、本開示は、任意の好適な属性をもつ任意の好適なエッジ1206が、ユーザノード1202と概念ノード1204とを接続することを企図する。その上、本開示は、ユーザノード1202と概念ノード1204との間のエッジが、単一の関係を表すことを説明するが、本開示は、ユーザノード1202と概念ノード1204との間のエッジが、1つまたは複数の関係を表すことを企図する。限定としてではなく一例として、エッジ1206は、ユーザが、特定の概念に対して、いいね!を表明することと、特定の概念において使用したことの両方を表し得る。代替的に、別のエッジ1206は、(図12において、ユーザ「E」のためのユーザノード1202と「オンラインミュージックアプリケーション」のための概念ノード1204との間に示されているような)ユーザノード1202と概念ノード1204との間の関係(または単一の関係の倍数)の各タイプを表し得る。
特定の実施形態では、ソーシャルネットワーキングシステム160は、ソーシャルグラフ1200内にユーザノード1202と概念ノード1204との間にエッジ1206を作成し得る。限定としてではなく一例として、(たとえば、ウェブブラウザ、またはユーザのクライアントシステム130によってホストされる専用アプリケーションを使用することなどによって)概念プロファイルインターフェースを閲覧するユーザは、「いいね!」アイコンをクリックまたは選択することによって、概念ノード1204によって表される概念に対して自分が、いいね!を表明したことを指示し得、これにより、ユーザのクライアントシステム130に、概念プロファイルインターフェースに関連付けられた概念に対してユーザが、いいね!を表明したことを指示するメッセージをソーシャルネットワーキングシステム160に送らせ得る。メッセージに応答して、ソーシャルネットワーキングシステム160は、ユーザと概念ノード1204との間の「いいね!」エッジ1206によって示されているように、ユーザに関連付けられたユーザノード1202と、概念ノード1204との間にエッジ1206を作成し得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、1つまたは複数のデータストアにエッジ1206を記憶し得る。特定の実施形態では、エッジ1206は、特定のユーザアクションに応答して、ソーシャルネットワーキングシステム160によって自動的に形成され得る。限定としてではなく一例として、第1のユーザがピクチャをアップロードするか、本を読むか、映画を観るか、または歌を聴く場合、エッジ1206は、第1のユーザに対応するユーザノード1202とそれらの概念に対応する概念ノード1204との間に形成され得る。本開示は、特定の様式で特定のエッジ1206を形成することについて説明するが、本開示は、任意の好適な様式で任意の好適なエッジ1206を形成することを企図する。
ベクトル空間および埋込み
図13は、ベクトル空間1300の例示的なビューを示す。特定の実施形態では、オブジェクトまたはnグラムは、d次元ベクトル空間において表され得、ここで、dは、任意の好適な数の次元を示す。ベクトル空間1300は3次元空間として示されているが、ベクトル空間1300は任意の好適な次元のものであり得るので、これは説明のためのものにすぎない。特定の実施形態では、nグラムは、用語埋込みと呼ばれるベクトルとして、ベクトル空間1300において表され得る。各ベクトルは、ベクトル空間1300における特定の点(すなわち、ベクトルの終点)に対応する座標を含み得る。限定としてではなく一例として、ベクトル1310、1320、および1330は、図13に示されているように、ベクトル空間1300における点として表され得る。nグラムは、それぞれのベクトル表現にマッピングされ得る。限定としてではなく一例として、nグラムtおよびtが、辞書によって定義された
Figure 2022551788000002
を適用することによって、それぞれ、ベクトル空間1300における
Figure 2022551788000003
にマッピングされ得、したがって、
Figure 2022551788000004
である。限定としてではなく別の例として、テキストをベクトル表現にマッピングするようにトレーニングされた辞書が利用され得るか、または、そのような辞書は、それ自体、トレーニングを介して生成され得る。限定としてではなく別の例として、nグラムを、ベクトル空間1300におけるベクトル表現にマッピングするために、ワード埋込みモデルが使用され得る。特定の実施形態では、nグラムは、機械学習モデル(たとえば、ニューラルネットワーク)を使用することによって、ベクトル空間1300におけるベクトル表現にマッピングされ得る。機械学習モデルは、トレーニングデータのシーケンス(たとえば、各々がnグラムを含むオブジェクトのコーパス)を使用してトレーニングされていることがある。
特定の実施形態では、オブジェクトは、特徴ベクトルまたはオブジェクト埋込みと呼ばれるベクトルとして、ベクトル空間1300において表され得る。限定としてではなく一例として、オブジェクトeおよびeが、
Figure 2022551788000005
を適用することによって、それぞれ、ベクトル空間1300における
Figure 2022551788000006
にマッピングされ得、したがって、
Figure 2022551788000007
である。特定の実施形態では、オブジェクトは、オブジェクトの1つまたは複数の特性、属性、または特徴、他のオブジェクトとのオブジェクトの関係、あるいはオブジェクトに関連付けられた任意の他の好適な情報に基づいて、ベクトルにマッピングされ得る。限定としてではなく一例として、
Figure 2022551788000008
が、特徴抽出によってオブジェクトをベクトルにマッピングし得、特徴抽出は、測定されたデータの初期セットから開始し、導出される値(たとえば、特徴)を組み立て得る。限定としてではなく一例として、ビデオまたは画像を含むオブジェクトが、オブジェクトの様々な所望の部分または形状を検出または分離するためのアルゴリズムを使用することによって、ベクトルにマッピングされ得る。ベクトルを計算するために使用される特徴が、エッジ検出、コーナー検出、ブロブ検出、リッジ検出、スケール不変特徴変換、エッジ方向、変化する強度、自己相関、動き検出、オプティカルフロー、しきい値処理、ブロブ抽出、テンプレートマッチング、ハフ変換(たとえば、線、円、楕円、任意の形状)から取得された情報、または任意の他の好適な情報に基づき得る。限定としてではなく別の例として、オーディオデータを含むオブジェクトが、スペクトル傾斜、調性係数、オーディオスペクトル重心、オーディオスペクトルエンベロープ、メル周波数ケプストラムなどの特徴、または任意の他の好適な情報に基づいて、ベクトルにマッピングされ得る。特定の実施形態では、オブジェクトが、効率的に処理されるには大きすぎるか、または冗長データを含むかのいずれかであるデータを有するとき、
Figure 2022551788000009
が、変換された低減された特徴のセット(たとえば、特徴選択)を使用して、オブジェクトをベクトルにマッピングし得る。特定の実施形態では、
Figure 2022551788000010
が、オブジェクトeに関連付けられた1つまたは複数のnグラムに基づいて、オブジェクトeを
Figure 2022551788000011
にマッピングし得る。本開示は、特定の様式でベクトル空間においてnグラムまたはオブジェクトを表すことについて説明するが、本開示は、任意の好適な様式でベクトル空間においてnグラムまたはオブジェクトを表すことを企図する。
特定の実施形態では、ソーシャルネットワーキングシステム160は、ベクトル空間1300におけるベクトルの類似度メトリックを計算し得る。類似度メトリックは、コサイン類似度、ミンコフスキー距離、マハラノビス距離、ジャカード類似度係数、または任意の好適な類似度メトリックであり得る。限定としてではなく一例として、
Figure 2022551788000012
との類似度メトリックは、
Figure 2022551788000013
であり得る。限定としてではなく別の例として、
Figure 2022551788000014
との類似度メトリックは、
Figure 2022551788000015
であり得る。2つのベクトルの類似度メトリックは、ベクトル空間1300における2つのベクトル間の距離によって測定されるように、それぞれ、2つのベクトルに対応する2つのオブジェクトまたはnグラムが、互いにどのくらい類似しているかを表し得る。限定としてではなく一例として、それぞれのベクトル間の距離に基づいて、ベクトル1310およびベクトル1320は、ベクトル1310およびベクトル1330に対応するオブジェクトよりも互いに類似しているオブジェクトに対応し得る。本開示は、特定の様式でベクトル間の類似度メトリックを計算することについて説明するが、本開示は、任意の好適な様式でベクトル間の類似度メトリックを計算することを企図する。
ベクトル空間、埋込み、特徴ベクトル、および類似度メトリックに関するより多くの情報が、その各々が参照により組み込まれる、2015年11月23日に出願された米国特許出願第14/949436号、2016年10月5日に出願された米国特許出願第15/286315号、および2016年11月30日に出願された米国特許出願第15/365789号において見つけられ得る。
人工ニューラルネットワーク
図14は、例示的な人工ニューラルネットワーク(「ANN」)1400を示す。特定の実施形態では、ANNは、1つまたは複数のノードを含む計算モデルを指し得る。例示的なANN1400は、入力層1410と、隠れ層1420、1430、1440と、出力層1450とを含み得る。ANN1400の各層は、ノード1405またはノード1415など、1つまたは複数のノードを含み得る。特定の実施形態では、ANNの各ノードは、ANNの別のノードに接続され得る。限定としてではなく一例として、入力層1410の各ノードは、隠れ層1420のより多くのノードのうちの1つに接続され得る。特定の実施形態では、1つまたは複数のノードは、バイアスノード(たとえば、前の層中のいかなるノードにも接続されず、前の層中のいかなるノードからも入力を受信しない、層中のノード)であり得る。特定の実施形態では、各層中の各ノードは、前のまたは後続の層の1つまたは複数のノードに接続され得る。図14は、特定の数の層、特定の数のノード、およびノード間の特定の接続をもつ特定のANNを示すが、本開示は、任意の好適な数の層、任意の好適な数のノード、およびノード間の任意の好適な接続をもつ任意の好適なANNを企図する。限定としてではなく一例として、図14は、入力層1410の各ノードと隠れ層1420の各ノードとの間の接続を示すが、入力層1410の1つまたは複数のノードが、隠れ層1420の1つまたは複数のノードに接続されないことがある。
特定の実施形態では、ANNは、フィードフォワードANN(たとえば、入力層から始まり、連続する層に進む一方向において、ノード間の通信が流れる、サイクルまたはループのないANN)であり得る。限定としてではなく一例として、隠れ層1420の各ノードへの入力は、入力層1410の1つまたは複数のノードの出力を含み得る。限定としてではなく別の例として、出力層1450の各ノードへの入力は、隠れ層1440の1つまたは複数のノードの出力を含み得る。特定の実施形態では、ANNは、深層ニューラルネットワーク(たとえば、少なくとも2つの隠れ層を含むニューラルネットワーク)であり得る。特定の実施形態では、ANNは、深層残差ネットワークであり得る。深層残差ネットワークは、残差ブロックに編成された隠れ層を含むフィードフォワードANNであり得る。第1の残差ブロックの後の各残差ブロックへの入力は、前の残差ブロックの出力と前の残差ブロックの入力との関数であり得る。限定としてではなく一例として、残差ブロックNへの入力は、F(x)+xであり得、ここで、F(x)は、残差ブロックN-1の出力であり得、xは、残差ブロックN-1への入力であり得る。本開示は、特定のANNについて説明するが、本開示は、任意の好適なANNを企図する。
特定の実施形態では、活性化関数が、ANNの各ノードに対応し得る。ノードの活性化関数は、所与の入力に対するノードの出力を定義し得る。特定の実施形態では、ノードへの入力は、入力のセットを含み得る。限定としてではなく一例として、活性化関数は、恒等関数、バイナリステップ関数、ロジスティック関数、または任意の他の好適な関数であり得る。限定としてではなく別の例として、ノードkについての活性化関数は、
Figure 2022551788000016

Figure 2022551788000017
、整流器F(s)=max(0,s)、または任意の他の好適な関数F(s)であり得、ここで、sは、ノードkへの有効な入力であり得る。特定の実施形態では、ノードに対応する活性化関数の入力は、重み付けされ得る。各ノードは、重み付けされた入力に基づいて、対応する活性化関数を使用して、出力を生成し得る。特定の実施形態では、ノード間の各接続は、重みに関連付けられ得る。限定としてではなく一例として、ノード1405とノード1415との間の接続1425は、0.4の重み付け係数を有し得、これは、0.4にノード1405の出力を乗算したものが、ノード1415への入力として使用されることを指示し得る。限定としてではなく別の例として、ノードkの出力yは、y=F(s)であり得、ここで、Fは、ノードkに対応する活性化関数であり得、s=Σ(wjk)は、ノードkへの有効な入力であり得、xは、ノードkに接続されたノードjの出力であり得、wjkは、ノードjとノードkとの間の重み付け係数であり得る。特定の実施形態では、入力層のノードへの入力は、オブジェクトを表すベクトルに基づき得る。本開示は、ノードへの特定の入力およびノードの特定の出力について説明するが、本開示は、ノードへの任意の好適な入力およびノードの任意の好適な出力を企図する。その上、本開示は、ノード間の特定の接続および重みについて説明し得るが、本開示は、ノード間の任意の好適な接続および重みを企図する。
特定の実施形態では、ANNは、トレーニングデータを使用してトレーニングされ得る。限定としてではなく一例として、トレーニングデータは、ANN1400への入力と予想される出力とを含み得る。限定としてではなく別の例として、トレーニングデータは、各々がトレーニングオブジェクトを表すベクトルと、各トレーニングオブジェクトについての予想されるラベルとを含み得る。特定の実施形態では、ANNをトレーニングすることは、目的関数を最適化することによって、ANNのノード間の接続に関連付けられた重みを修正することを含み得る。限定としてではなく一例として、(たとえば、2乗和誤差を最小限に抑えるコスト関数を使用して)トレーニングオブジェクトを表す各ベクトル間の距離として測定された2乗和誤差をバックプロパゲートするためのトレーニング方法(たとえば、共役勾配法、勾配降下法、確率的勾配降下法)が使用され得る。特定の実施形態では、ANNは、ドロップアウト技法を使用してトレーニングされ得る。限定としてではなく一例として、1つまたは複数のノードは、トレーニングしている間、一時的に省略され得る(たとえば、入力を受信せず、出力を生成しない)。各トレーニングオブジェクトについて、ANNの1つまたは複数のノードは、ある程度の省略される確率を有し得る。特定のトレーニングオブジェクトについて省略されるノードは、他のトレーニングオブジェクトについて省略されるノードとは異なり得る(たとえば、ノードは、オブジェクトごとに一時的に省略され得る)。本開示は、特定の様式でANNをトレーニングすることについて説明するが、本開示は、任意の好適な様式でANNをトレーニングすることを企図する。
プライバシー
特定の実施形態では、コンピューティングシステムの1つまたは複数のオブジェクト(たとえば、コンテンツまたは他のタイプのオブジェクト)は、1つまたは複数のプライバシー設定に関連付けられ得る。1つまたは複数のオブジェクトは、たとえば、ソーシャルネットワーキングシステム160、クライアントシステム130、補助システム140、サードパーティシステム170、ソーシャルネットワーキングアプリケーション、補助アプリケーション、メッセージングアプリケーション、写真共有アプリケーション、あるいは任意の他の好適なコンピューティングシステムまたはアプリケーションなど、任意の好適なコンピューティングシステムまたはアプリケーションに記憶されるか、または場合によっては関連付けられ得る。本明細書で説明される例はオンラインソーシャルネットワークのコンテキストにおけるものであるが、これらのプライバシー設定は、任意の他の好適なコンピューティングシステムに適用され得る。オブジェクトについてのプライバシー設定(または「アクセス設定」)は、たとえば、オブジェクトに関連して、許可サーバ上のインデックス中で、別の好適な様式で、またはそれらの任意の好適な組合せなど、任意の好適な様式で記憶され得る。オブジェクトについてのプライバシー設定は、オブジェクト(またはオブジェクトに関連付けられた特定の情報)がオンラインソーシャルネットワーク内でどのようにアクセスされ、記憶され、または場合によっては使用され(たとえば、閲覧、共有、修正、コピー、実行、表面化、または識別され)得るかを指定し得る。オブジェクトについてのプライバシー設定が、特定のユーザまたは他のエンティティがそのオブジェクトにアクセスすることを可能にするとき、オブジェクトは、そのユーザまたは他のエンティティに関して「可視」であるものとして説明され得る。限定としてではなく一例として、オンラインソーシャルネットワークのユーザは、ユーザプロファイルページに関する職歴情報にアクセスし得るユーザのセットを識別するユーザプロファイルページについてのプライバシー設定を指定し、したがって、他のユーザがその情報にアクセスすることを除外し得る。
特定の実施形態では、オブジェクトについてのプライバシー設定は、オブジェクトに関連付けられたある情報にアクセスすることを可能にされるべきでないユーザまたは他のエンティティの「ブロックリスト」を指定し得る。特定の実施形態では、ブロックリストは、サードパーティエンティティを含み得る。ブロックリストは、オブジェクトが可視でない1つまたは複数のユーザまたはエンティティを指定し得る。限定としてではなく一例として、ユーザは、ユーザに関連付けられた写真アルバムにアクセスしてはいけないユーザのセットを指定し、したがって、それらのユーザが写真アルバムにアクセスすることを除外し得る(また、場合によってはユーザの指定されたセット内にない何人かのユーザが写真アルバムにアクセスすることを可能にする)。特定の実施形態では、プライバシー設定は、特定のソーシャルグラフ要素に関連付けられ得る。ノードまたはエッジなど、ソーシャルグラフ要素のプライバシー設定は、ソーシャルグラフ要素、ソーシャルグラフ要素に関連付けられた情報、またはソーシャルグラフ要素に関連付けられたオブジェクトが、どのようにオンラインソーシャルネットワークを使用してアクセスされ得るかを指定し得る。限定としてではなく一例として、特定の写真に対応する特定の概念ノード1204は、写真が、写真においてタグ付けされたユーザと写真においてタグ付けされたユーザの友達とによってのみアクセスされ得ることを指定するプライバシー設定を有し得る。特定の実施形態では、プライバシー設定は、ユーザが、そのユーザのコンテンツ、情報、またはアクションがソーシャルネットワーキングシステム160または補助システム140によって記憶/ロギングされるか、または他のシステム(たとえば、サードパーティシステム170)と共有されることをオプトインまたはオプトアウトすることを可能にし得る。本開示は、特定の様式で特定のプライバシー設定を使用することについて説明するが、本開示は、任意の好適な様式で任意の好適なプライバシー設定を使用することを企図する。
特定の実施形態では、プライバシー設定は、ソーシャルグラフ1200の1つまたは複数のノードまたはエッジに基づき得る。プライバシー設定は、ソーシャルグラフ1200の1つまたは複数のエッジ1206またはエッジタイプについて、あるいはソーシャルグラフ1200の1つまたは複数のノード1202、1204またはノードタイプに関して指定され得る。2つのノードを接続する特定のエッジ1206に適用されるプライバシー設定は、ノードに対応する2つのエンティティ間の関係がオンラインソーシャルネットワークの他のユーザに可視であるかどうかを制御し得る。同様に、特定のノードに適用されるプライバシー設定は、ノードに対応するユーザまたは概念がオンラインソーシャルネットワークの他のユーザに可視であるかどうかを制御し得る。限定としてではなく一例として、第1のユーザは、ソーシャルネットワーキングシステム160に対してオブジェクトを共有し得る。オブジェクトは、エッジ1206によって第1のユーザのユーザノード1202に接続された概念ノード1204に関連付けられ得る。第1のユーザは、オブジェクトの概念ノード1204に接続する特定のエッジ1206に適用されるプライバシー設定を指定し得るか、または概念ノード1204に接続するすべてのエッジ1206に適用されるプライバシー設定を指定し得る。限定としてではなく別の例として、第1のユーザは、特定のオブジェクトタイプのオブジェクトのセット(たとえば、画像のセット)を共有し得る。第1のユーザは、特定のプライバシー設定を有するものとして、その特定のオブジェクトタイプの第1のユーザに関連付けられたすべてのオブジェクトに関してプライバシー設定を指定し得る(たとえば、第1のユーザによって投稿されたすべての画像が、第1のユーザの友達、および/または画像においてタグ付けされたユーザのみに可視であることを指定する)。
特定の実施形態では、ソーシャルネットワーキングシステム160は、第1のユーザが1つまたは複数のプライバシー設定を指定するのを補助するために、第1のユーザに(たとえば、ウェブページ、モジュール、1つまたは複数のダイアログボックス、または任意の他の好適なインターフェース内に)「プライバシーウィザード」を提示し得る。プライバシーウィザードは、命令、好適なプライバシー関係情報、現在のプライバシー設定、プライバシー設定の変更または確認を指定する、第1のユーザからの1つまたは複数の入力を受け付けるための1つまたは複数の入力フィールド、あるいはそれらの任意の好適な組合せを表示し得る。特定の実施形態では、ソーシャルネットワーキングシステム160は、第1のユーザの現在のプライバシー設定を第1のユーザに表示し得る「ダッシュボード」機能性を第1のユーザに与え得る。ダッシュボード機能性は、任意の適切な時間において(たとえば、ダッシュボード機能性を召喚する第1のユーザからの入力に続いて、特定のイベントまたはトリガアクションの発生に続いて)第1のユーザに表示され得る。ダッシュボード機能性は、第1のユーザが、任意の時間において、任意の好適な様式(たとえば、第1のユーザをプライバシーウィザードにリダイレクトすること)で第1のユーザの現在のプライバシー設定のうちの1つまたは複数を修正することを可能にし得る。
オブジェクトに関連付けられたプライバシー設定は、許諾されるアクセスまたはアクセスの拒否の任意の好適なグラニュラリティを指定し得る。限定としてではなく一例として、アクセスまたはアクセスの拒否は、特定のユーザ(たとえば、私のみ、私のルームメート、私の上司)、特定の分離の程度内のユーザ(たとえば、友達、友達の友達)、ユーザグループ(たとえば、ゲームクラブ、私の家族)、ユーザネットワーク(たとえば、特定の雇用主の従業員、特定の大学の学生または卒業生)、すべてのユーザ(「公開」)、ユーザなし(「プライベート」)、サードパーティシステム170のユーザ、特定のアプリケーション(たとえば、サードパーティアプリケーション、外部ウェブサイト)、他の好適なエンティティ、あるいはそれらの任意の好適な組合せについて指定され得る。本開示は、許諾されるアクセスまたはアクセスの拒否の特定のグラニュラリティについて説明するが、本開示は、許諾されるアクセスまたはアクセスの拒否の任意の好適なグラニュラリティを企図する。
特定の実施形態では、1つまたは複数のサーバ162が、プライバシー設定を施行するための許可/プライバシーサーバであり得る。データストア164に記憶された特定のオブジェクトについてのユーザ(または他のエンティティ)からの要求に応答して、ソーシャルネットワーキングシステム160は、オブジェクトについての要求をデータストア164に送り得る。要求は、要求に関連付けられたユーザを識別し得、オブジェクトは、オブジェクトに関連付けられたプライバシー設定に基づいてユーザがオブジェクトにアクセスすることを許可されると許可サーバが決定した場合、ユーザ(またはユーザのクライアントシステム130)にのみ送られ得る。要求元ユーザがオブジェクトにアクセスすることを許可されない場合、許可サーバは、要求されたオブジェクトがデータストア164から取り出されることを防ぎ得るか、または要求されたオブジェクトがユーザに送られることを防ぎ得る。検索クエリコンテキストでは、問い合わせているユーザがオブジェクトにアクセスすることを許可された場合のみ、たとえば、オブジェクトについてのプライバシー設定が、オブジェクトが、問い合わせているユーザに対して表面化されること、そのユーザによって発見されること、または場合によってはそのユーザに可視であることを可能にする場合のみ、オブジェクトが検索結果として提供され得る。特定の実施形態では、オブジェクトは、ユーザのニュースフィードを通してユーザに可視であるコンテンツを表し得る。限定としてではなく一例として、1つまたは複数のオブジェクトは、ユーザの「トレンディング」ページに可視であり得る。特定の実施形態では、オブジェクトは、特定のユーザに対応し得る。オブジェクトは、特定のユーザに関連付けられたコンテンツであり得るか、あるいはソーシャルネットワーキングシステム160、または他のコンピューティングシステムに記憶された特定のユーザのアカウントまたは情報であり得る。限定としてではなく一例として、第1のユーザは、オンラインソーシャルネットワークの「知り合いかも」機能を通して、または第1のユーザの友達のリストを閲覧することによって、オンラインソーシャルネットワークの1人または複数の第2のユーザを閲覧し得る。限定としてではなく一例として、第1のユーザは、第1のユーザが、第1のユーザのニュースフィードまたは友達リスト中の特定の第2のユーザに関連付けられたオブジェクトを参照することを望まないことを指定し得る。オブジェクトについてのプライバシー設定が、オブジェクトが、ユーザに対して表面化されること、ユーザによって発見されること、またはユーザに可視であることを可能にしない場合、オブジェクトは、検索結果から除外され得る。本開示は、特定の様式でプライバシー設定を施行することについて説明するが、本開示は、任意の好適な様式でプライバシー設定を施行することを企図する。
特定の実施形態では、ユーザに関連付けられた同じタイプの異なるオブジェクトは、異なるプライバシー設定を有し得る。ユーザに関連付けられた異なるタイプのオブジェクトは、異なるタイプのプライバシー設定を有し得る。限定としてではなく一例として、第1のユーザは、第1のユーザのステータス更新が公開であるが、第1のユーザによって共有される画像がオンラインソーシャルネットワーク上の第1のユーザの友達にのみ可視であることを指定し得る。限定としてではなく別の例として、ユーザは、個人ユーザ、友達の友達、フォロワー、ユーザグループ、または企業エンティティなど、異なるタイプのエンティティについて異なるプライバシー設定を指定し得る。限定としてではなく別の例として、第1のユーザは、第1のユーザによって投稿されたビデオが第1のユーザの雇用主に可視でないようにしながら、それらのビデオを閲覧し得るユーザのグループを指定し得る。特定の実施形態では、異なるユーザグループまたはユーザ層について異なるプライバシー設定が提供され得る。限定としてではなく一例として、第1のユーザは、第1のユーザと同じ大学に通う他のユーザが、第1のユーザのピクチャを閲覧し得ることを指定するが、第1のユーザの家族である他のユーザが、それらの同じピクチャを閲覧し得ないことを指定し得る。
特定の実施形態では、ソーシャルネットワーキングシステム160は、特定のオブジェクトタイプの各オブジェクトについての1つまたは複数のデフォルトプライバシー設定を提供し得る。デフォルト値に設定されたオブジェクトについてのプライバシー設定は、そのオブジェクトに関連付けられたユーザによって変更され得る。限定としてではなく一例として、第1のユーザによって投稿されるすべての画像は、第1のユーザの友達にのみ可視であるというデフォルトプライバシー設定を有し得、特定の画像について、第1のユーザは、画像が友達および友達の友達に可視であるようにプライバシー設定を変更し得る。
特定の実施形態では、プライバシー設定は、ソーシャルネットワーキングシステム160または補助システム140が任意の目的のために第1のユーザに関連付けられた特定のオブジェクトまたは情報を受信すること、収集すること、ロギングすること、または記憶することを行い得るかどうかを、第1のユーザが(たとえば、オプトアウトすることによって、オプトインしないことによって)指定することを可能にし得る。特定の実施形態では、プライバシー設定は、特定のアプリケーションまたはプロセスが第1のユーザに関連付けられた特定のオブジェクトまたは情報にアクセスすること、それを記憶すること、または使用することを行い得るかどうかを、第1のユーザが指定することを可能にし得る。プライバシー設定は、固有のアプリケーションまたはプロセスによって、オブジェクトまたは情報がアクセスされること、記憶されること、または使用されることを、第1のユーザがオプトインすることまたはオプトアウトすることを可能にし得る。ソーシャルネットワーキングシステム160または補助システム140は第1のユーザに特定の機能またはサービスを提供するためにそのような情報にアクセスし、ソーシャルネットワーキングシステム160または補助システム140は任意の他の目的のためにその情報へのアクセスを有しないことがある。そのようなオブジェクトまたは情報にアクセスするか、それを記憶するか、または使用する前に、ソーシャルネットワーキングシステム160または補助システム140は、任意のそのようなアクションを可能にする前に、もしあれば、どのアプリケーションまたはプロセスがオブジェクトまたは情報にアクセスするか、それを記憶するか、または使用し得るかを指定するプライバシー設定を提供するようにユーザにプロンプトし得る。限定としてではなく一例として、第1のユーザは、オンラインソーシャルネットワークに関係するアプリケーション(たとえば、メッセージングアプリ)を介して第2のユーザにメッセージを伝送し得、そのようなメッセージがソーシャルネットワーキングシステム160または補助システム140によって記憶されるべきでないというプライバシー設定を指定し得る。
特定の実施形態では、ユーザは、第1のユーザに関連付けられたオブジェクトまたは情報の特定のタイプが、ソーシャルネットワーキングシステム160または補助システム140によってアクセス、記憶、または使用され得るかどうかを指定し得る。限定としてではなく一例として、第1のユーザは、ソーシャルネットワーキングシステム160または補助システム140を通して第1のユーザによって送られた画像が、ソーシャルネットワーキングシステム160または補助システム140によって記憶され得ないことを指定し得る。限定としてではなく別の例として、第1のユーザは、第1のユーザから特定の第2のユーザに送られたメッセージが、ソーシャルネットワーキングシステム160または補助システム140によって記憶され得ないことを指定し得る。限定としてではなくまた別の例として、第1のユーザは、特定のアプリケーションを介して送られたすべてのオブジェクトが、ソーシャルネットワーキングシステム160または補助システム140によって保存され得ることを指定し得る。
特定の実施形態では、プライバシー設定は、第1のユーザに関連付けられた特定のオブジェクトまたは情報が特定のクライアントシステム130またはサードパーティシステム170からアクセスされ得るかどうかを、第1のユーザが指定することを可能にし得る。プライバシー設定は、特定のデバイス(たとえば、ユーザのスマートフォン上の電話帳)から、特定のアプリケーション(たとえば、メッセージングアプリ)から、または特定のシステム(たとえば、電子メールサーバ)からオブジェクトまたは情報がアクセスされることを、第1のユーザがオプトインするかまたはオプトアウトすることを可能にし得る。ソーシャルネットワーキングシステム160または補助システム140は、各デバイス、システム、またはアプリケーションに関してデフォルトプライバシー設定を提供し得、および/または、第1のユーザは、各コンテキストについての特定のプライバシー設定を指定するようにプロンプトされ得る。限定としてではなく一例として、第1のユーザは、ユーザに近接しているレストランまたは他の場所についての推奨を提供するために、ソーシャルネットワーキングシステム160または補助システム140のロケーションサービス特徴を利用し得る。第1のユーザのデフォルトプライバシー設定は、ソーシャルネットワーキングシステム160または補助システム140が、ロケーションベースサービスを提供するために、第1のユーザのクライアントシステム130から提供されたロケーション情報を使用し得ることを指定するが、ソーシャルネットワーキングシステム160または補助システム140が、第1のユーザのロケーション情報を記憶すること、またはそれを任意のサードパーティシステム170に提供することを行い得ないことを指定し得る。第1のユーザは、次いで、写真にジオタグを付けるために、ロケーション情報がサードパーティ画像共有アプリケーションによって使用されることを可能にするように、プライバシー設定を更新し得る。
特定の実施形態では、プライバシー設定は、オブジェクトがアクセスされ得る1つまたは複数の地理的ロケーションを、ユーザが指定することを可能にし得る。オブジェクトに対するアクセスまたはアクセスの拒否は、オブジェクトにアクセスすることを試みているユーザの地理的ロケーションに依存し得る。限定としてではなく一例として、ユーザは、オブジェクトを共有し、同じ都市におけるユーザのみがオブジェクトにアクセスすること、またはオブジェクトを閲覧することを行い得ることを指定し得る。限定としてではなく別の例として、第1のユーザは、オブジェクトを共有し、第1のユーザが特定のロケーションにいる間のみ、オブジェクトが第2のユーザに可視であることを指定し得る。第1のユーザが特定のロケーションを離れた場合、オブジェクトは第2のユーザにもはや可視でないことがある。限定としてではなく別の例として、第1のユーザは、第1のユーザからしきい値距離内の第2のユーザにのみ、オブジェクトが可視であることを指定し得る。その後、第1のユーザがロケーションを変更した場合、オブジェクトへのアクセスをもつ元の第2のユーザはアクセスを失うことがあるが、第2のユーザの新しいグループが、第1のユーザのしきい値距離内に自身が入るので、アクセスを獲得し得る。
特定の実施形態では、ソーシャルネットワーキングシステム160または補助システム140は、ユーザ認証またはエクスペリエンス個人化目的のために、ユーザの個人情報または生体情報を入力として使用し得る機能性を有し得る。ユーザは、オンラインソーシャルネットワーク上のユーザのエクスペリエンスを向上させるためにこれらの機能性を利用することを選び得る。限定としてではなく一例として、ユーザは、ソーシャルネットワーキングシステム160または補助システム140に個人情報または生体情報を提供し得る。ユーザのプライバシー設定は、そのような情報が認証などの特定のプロセスのためにのみ使用され得ることを指定し、そのような情報が、任意のサードパーティシステム170と共有されないか、またはソーシャルネットワーキングシステム160または補助システム140に関連付けられた他のプロセスまたはアプリケーションのために使用され得ないことをさらに指定し得る。限定としてではなく別の例として、ソーシャルネットワーキングシステム160は、ユーザがオンラインソーシャルネットワークにボイスプリント記録を提供するための機能性を提供し得る。限定としてではなく一例として、ユーザが、オンラインソーシャルネットワークのこの機能を利用することを望む場合、ユーザは、オンラインソーシャルネットワーク上でステータス更新を行うために自分自身のボイスのボイス記録を提供し得る。ボイス入力の記録は、どんなワードがユーザによって話されたかを決定するために、ユーザのボイスプリントと比較され得る。ユーザのプライバシー設定は、そのようなボイス記録がボイス入力目的のために(たとえば、ユーザを認証するために、ボイスメッセージを送るために、オンラインソーシャルネットワークのボイス動作式特徴を使用するためにボイス認識を改善するために)のみ使用され得ることを指定し、そのようなボイス記録が、任意のサードパーティシステム170と共有されないか、またはソーシャルネットワーキングシステム160に関連付けられた他のプロセスまたはアプリケーションによって使用され得ないことをさらに指定し得る。限定としてではなく別の例として、ソーシャルネットワーキングシステム160は、ユーザがオンラインソーシャルネットワークに参照画像(たとえば、顔プロファイル、網膜スキャン)を提供するための機能性を提供し得る。オンラインソーシャルネットワークは、(たとえば、ユーザを認証するために、写真においてユーザをタグ付けするために)参照画像を、後で受信された画像入力と比較し得る。ユーザのプライバシー設定は、そのような画像が限られた目的(たとえば、認証、写真においてユーザをタグ付けすること)のためにのみ使用され得ることを指定し、そのような画像が、任意のサードパーティシステム170と共有されないか、またはソーシャルネットワーキングシステム160に関連付けられた他のプロセスまたはアプリケーションによって使用され得ないことをさらに指定し得る。
システムおよび方法
図15は、例示的なコンピュータシステム1500を示す。特定の実施形態では、1つまたは複数のコンピュータシステム1500は、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施する。特定の実施形態では、1つまたは複数のコンピュータシステム1500は、本明細書で説明または示される機能性を提供する。特定の実施形態では、1つまたは複数のコンピュータシステム1500上で稼働しているソフトウェアは、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施するか、あるいは本明細書で説明または示される機能性を提供する。特定の実施形態は、1つまたは複数のコンピュータシステム1500の1つまたは複数の部分を含む。本明細書では、コンピュータシステムへの言及は、適切な場合、コンピューティングデバイスを包含し得、その逆も同様である。その上、コンピュータシステムへの言及は、適切な場合、1つまたは複数のコンピュータシステムを包含し得る。
本開示は、任意の好適な数のコンピュータシステム1500を企図する。本開示は、任意の好適な物理的形態をとるコンピュータシステム1500を企図する。限定としてではなく例として、コンピュータシステム1500は、組込み型コンピュータシステム、システムオンチップ(SOC)、(たとえば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)などの)シングルボードコンピュータシステム(SBC)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、対話型キオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。適切な場合、コンピュータシステム1500は、1つまたは複数のコンピュータシステム1500を含むか、単一または分散型であるか、複数のロケーションにわたるか、複数のマシンにわたるか、複数のデータセンターにわたるか、あるいは1つまたは複数のネットワーク中の1つまたは複数のクラウド構成要素を含み得るクラウド中に常駐し得る。適切な場合、1つまたは複数のコンピュータシステム1500は、実質的な空間的または時間的制限なしに、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。限定としてではなく一例として、1つまたは複数のコンピュータシステム1500は、リアルタイムでまたはバッチモードで、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。1つまたは複数のコンピュータシステム1500は、適切な場合、異なる時間においてまたは異なるロケーションにおいて、本明細書で説明または示される1つまたは複数の方法の1つまたは複数のステップを実施し得る。
特定の実施形態では、コンピュータシステム1500は、プロセッサ1502と、メモリ1504と、ストレージ1506と、入出力(I/O)インターフェース1508と、通信インターフェース1510と、バス1512とを含む。本開示は、特定の構成において特定の数の特定の構成要素を有する特定のコンピュータシステムを説明し、示すが、本開示は、任意の好適な構成において任意の好適な数の任意の好適な構成要素を有する任意の好適なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ1502は、コンピュータプログラムを作り上げる命令など、命令を実行するためのハードウェアを含む。限定としてではなく一例として、命令を実行するために、プロセッサ1502は、内部レジスタ、内部キャッシュ、メモリ1504、またはストレージ1506から命令を取り出し(またはフェッチし)、それらの命令を復号および実行し、次いで、内部レジスタ、内部キャッシュ、メモリ1504、またはストレージ1506に1つまたは複数の結果を書き込み得る。特定の実施形態では、プロセッサ1502は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ1502を企図する。限定としてではなく一例として、プロセッサ1502は、1つまたは複数の命令キャッシュと、1つまたは複数のデータキャッシュと、1つまたは複数のトランスレーションルックアサイドバッファ(TLB)とを含み得る。命令キャッシュ中の命令は、メモリ1504またはストレージ1506中の命令のコピーであり得、命令キャッシュは、プロセッサ1502によるそれらの命令の取出しを高速化し得る。データキャッシュ中のデータは、プロセッサ1502において実行する命令が動作する対象のメモリ1504またはストレージ1506中のデータのコピー、プロセッサ1502において実行する後続の命令によるアクセスのための、またはメモリ1504もしくはストレージ1506に書き込むための、プロセッサ1502において実行された前の命令の結果、あるいは他の好適なデータであり得る。データキャッシュは、プロセッサ1502による読取りまたは書込み動作を高速化し得る。TLBは、プロセッサ1502のための仮想アドレストランスレーションを高速化し得る。特定の実施形態では、プロセッサ1502は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含み得る。本開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ1502を企図する。適切な場合、プロセッサ1502は、1つまたは複数の算術論理ユニット(ALU)を含むか、マルチコアプロセッサであるか、または1つまたは複数のプロセッサ1502を含み得る。本開示は、特定のプロセッサを説明し、示すが、本開示は任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ1504は、プロセッサ1502が実行するための命令、またはプロセッサ1502が動作する対象のデータを記憶するためのメインメモリを含む。限定としてではなく一例として、コンピュータシステム1500は、ストレージ1506または(たとえば、別のコンピュータシステム1500などの)別のソースからメモリ1504に命令をロードし得る。プロセッサ1502は、次いで、メモリ1504から内部レジスタまたは内部キャッシュに命令をロードし得る。命令を実行するために、プロセッサ1502は、内部レジスタまたは内部キャッシュから命令を取り出し、それらの命令を復号し得る。命令の実行中またはその後に、プロセッサ1502は、(中間結果または最終結果であり得る)1つまたは複数の結果を内部レジスタまたは内部キャッシュに書き込み得る。プロセッサ1502は、次いで、メモリ1504にそれらの結果のうちの1つまたは複数を書き込み得る。特定の実施形態では、プロセッサ1502は、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1506または他の場所とは対照的な)メモリ1504中の命令のみを実行し、1つまたは複数の内部レジスタまたは内部キャッシュ中の、あるいは(ストレージ1506または他の場所とは対照的な)メモリ1504中のデータのみに対して動作する。(アドレスバスおよびデータバスを各々含み得る)1つまたは複数のメモリバスが、プロセッサ1502をメモリ1504に結合し得る。バス1512は、以下で説明されるように、1つまたは複数のメモリバスを含み得る。特定の実施形態では、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ1502とメモリ1504との間に常駐し、プロセッサ1502によって要求されるメモリ1504へのアクセスを可能にする。特定の実施形態では、メモリ1504は、ランダムアクセスメモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であり得る。その上、適切な場合、このRAMは、シングルポートまたはマルチポートRAMであり得る。本開示は任意の好適なRAMを企図する。メモリ1504は、適切な場合、1つまたは複数のメモリ1504を含み得る。本開示は、特定のメモリを説明し、示すが、本開示は任意の好適なメモリを企図する。
特定の実施形態では、ストレージ1506は、データまたは命令のための大容量ストレージを含む。限定としてではなく一例として、ストレージ1506は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。ストレージ1506は、適切な場合、リムーバブルまたは非リムーバブル(または固定)媒体を含み得る。ストレージ1506は、適切な場合、コンピュータシステム1500の内部または外部にあり得る。特定の実施形態では、ストレージ1506は、不揮発性ソリッドステートメモリである。特定の実施形態では、ストレージ1506は、読取り専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、またはフラッシュメモリ、あるいはこれらのうちの2つまたはそれ以上の組合せであり得る。本開示は、任意の好適な物理的形態をとる大容量ストレージ1506を企図する。ストレージ1506は、適切な場合、プロセッサ1502とストレージ1506との間の通信を可能にする1つまたは複数のストレージ制御ユニットを含み得る。適切な場合、ストレージ1506は、1つまたは複数のストレージ1506を含み得る。本開示は、特定のストレージを説明し、示すが、本開示は任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース1508は、コンピュータシステム1500と1つまたは複数のI/Oデバイスとの間の通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。コンピュータシステム1500は、適切な場合、これらのI/Oデバイスのうちの1つまたは複数を含み得る。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータシステム1500との間の通信を可能にし得る。限定としてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカー、スチールカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の好適なI/Oデバイス、またはこれらのうちの2つまたはそれ以上の組合せを含み得る。I/Oデバイスは1つまたは複数のセンサーを含み得る。本開示は、任意の好適なI/Oデバイスと、それらのI/Oデバイスのための任意の好適なI/Oインターフェース1508とを企図する。適切な場合、I/Oインターフェース1508は、プロセッサ1502がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイスまたはソフトウェアドライバを含み得る。I/Oインターフェース1508は、適切な場合、1つまたは複数のI/Oインターフェース1508を含み得る。本開示は、特定のI/Oインターフェースを説明し、示すが、本開示は任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース1510は、コンピュータシステム1500と、1つまたは複数の他のコンピュータシステム1500または1つまたは複数のネットワークとの間の(たとえば、パケットベース通信などの)通信のための1つまたは複数のインターフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、通信インターフェース1510は、イーサネットまたは他のワイヤベースネットワークと通信するためのネットワークインターフェースコントローラ(NIC)またはネットワークアダプタ、あるいはWI-FIネットワークなどのワイヤレスネットワークと通信するためのワイヤレスNIC(WNIC)またはワイヤレスアダプタを含み得る。本開示は、任意の好適なネットワークと、そのネットワークのための任意の好適な通信インターフェース1510とを企図する。限定としてではなく一例として、コンピュータシステム1500は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、またはインターネットの1つまたは複数の部分、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、ワイヤードまたはワイヤレスであり得る。一例として、コンピュータシステム1500は、(たとえば、BLUETOOTH WPANなどの)ワイヤレスPAN(WPAN)、WI-FIネットワーク、WI-MAXネットワーク、(たとえば、モバイル通信用グローバルシステム(GSM)ネットワークなどの)セルラー電話ネットワーク、または他の好適なワイヤレスネットワーク、あるいはこれらのうちの2つまたはそれ以上の組合せと通信し得る。コンピュータシステム1500は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース1510を含み得る。通信インターフェース1510は、適切な場合、1つまたは複数の通信インターフェース1510を含み得る。本開示は、特定の通信インターフェースを説明し、示すが、本開示は任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス1512は、コンピュータシステム1500の構成要素を互いに結合する、ハードウェア、ソフトウェア、またはその両方を含む。限定としてではなく一例として、バス1512は、アクセラレーテッドグラフィックスポート(AGP)または他のグラフィックスバス、拡張業界標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、HYPERTRANSPORT(HT)相互接続、業界標準アーキテクチャ(ISA)バス、INFINIBAND相互接続、ローピンカウント(LPC)バス、メモリバス、マイクロチャネルアーキテクチャ(MCA)バス、周辺構成要素相互接続(PCI)バス、PCI-Express(PCIe)バス、シリアルアドバンストテクノロジーアタッチメント(SATA)バス、ビデオエレクトロニクス規格協会ローカル(VLB)バス、または別の好適なバス、あるいはこれらのうちの2つまたはそれ以上の組合せを含み得る。バス1512は、適切な場合、1つまたは複数のバス1512を含み得る。本開示は、特定のバスを説明し、示すが、本開示は任意の好適なバスまたは相互接続を企図する。
本明細書では、1つまたは複数のコンピュータ可読非一時的記憶媒体は、適切な場合、(たとえば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向けIC(ASIC)などの)1つまたは複数の半導体ベースまたは他の集積回路(IC)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピーディスケット、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、セキュアデジタルカードまたはドライブ、任意の他の好適なコンピュータ可読非一時的記憶媒体、あるいはこれらのうちの2つまたはそれ以上の任意の好適な組合せを含み得る。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性との組合せであり得る。
その他
本明細書では、「または」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、包括的であり、排他的ではない。したがって、本明細書では、「AまたはB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「A、B、またはその両方」を意味する。その上、「および」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、共同と個別の両方である。したがって、本明細書では、「AおよびB」は、明確に別段に指示されていない限り、またはコンテキストによって別段に指示されていない限り、「共同でまたは個別に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書で説明または示される例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または示される例示的な実施形態に限定されない。その上、本開示は、本明細書のそれぞれの実施形態を、特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明し、示すが、これらの実施形態のいずれも、当業者が理解するであろう、本明細書のどこかに説明または示される構成要素、要素、特徴、機能、動作、またはステップのうちのいずれかの任意の組合せまたは置換を含み得る。さらに、特定の機能を実施するように適応されるか、構成されるか、実施することが可能であるか、実施するように設定されるか、実施することが可能にされるか、実施するように動作可能であるか、または実施するように動作する、装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲における参照は、その装置、システム、または構成要素が、そのように適応されるか、構成されるか、可能であるか、設定されるか、可能にされるか、動作可能であるか、または動作する限り、その装置、システム、構成要素またはその特定の機能が、アクティブにされるか、オンにされるか、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。さらに、本開示は、特定の実施形態を、特定の利点を提供するものとして説明するかまたは示すが、特定の実施形態は、これらの利点のいずれをも提供しないか、いくつかを提供するか、またはすべてを提供し得る。

Claims (20)

  1. 方法であって、1つまたは複数のコンピューティングシステムによって、
    第1のユーザに関連付けられたプロアクティブトリガに関連付けられた1つまたは複数の入力を受信することと、
    1つまたは複数のプロアクティブポリシーに基づいて、前記第1のユーザがプロアクティブ提案を受信するのに適格であるかどうかを決定することと、
    前記第1のユーザに関連付けられた前記1つまたは複数の入力およびユーザコンテキストデータに基づいて、1つまたは複数のプロアクティブ提案を生成することと、
    前記第1のユーザに関連付けられたタスク履歴データに基づいて、前記プロアクティブ提案のうちの1つまたは複数を選択することと、
    プロアクティブコンテンツを前記第1のユーザに提示するための命令を、前記第1のユーザに関連付けられたクライアントシステムに送ることであって、前記プロアクティブコンテンツが、前記選択されたプロアクティブ提案を含む、命令をクライアントシステムに送ることと
    を含む、
    方法。
  2. 前記プロアクティブコンテンツの配信スケジュールを決定することであって、前記プロアクティブコンテンツを前記第1のユーザに提示するための前記命令を送ることが、前記配信スケジュールに基づく、配信スケジュールを決定すること
    をさらに含む、
    請求項1に記載の方法。
  3. 前記配信スケジュールが、前記第1のユーザに関連付けられた前記ユーザコンテキストデータ、前記第1のユーザに関連付けられたユーザメモリ、または知識グラフのうちの1つまたは複数に基づいて決定される、
    請求項2に記載の方法。
  4. 前記1つまたは複数のプロアクティブ提案の各々が、提案される調査、提案されるクエリ、または提案されるタスクのうちの1つまたは複数を含む、
    請求項1に記載の方法。
  5. 前記1つまたは複数の入力が、第1のタスクの完了の1つまたは複数の指示を含み、
    前記1つまたは複数のプロアクティブ提案の各々が、フォローアップ調査、フォローアップ質問、またはフォローアップタスクのうちの1つまたは複数を含む、
    請求項1に記載の方法。
  6. 前記提示されたプロアクティブコンテンツに応答して、前記第1のユーザからのユーザ入力を前記クライアントシステムから受信することと、
    前記ユーザ入力に応答して第2のタスクを実行することと、
    前記第1のタスクと、前記第2のタスクの実行とに基づいて、1つまたは複数の更新されたプロアクティブ提案を生成することと
    をさらに含む、
    請求項5に記載の方法。
  7. 前記1つまたは複数の入力が、1つまたは複数のマルチモーダル信号を含み、
    各マルチモーダル信号が、日付、時間、ロケーション、ビジュアル信号、サウンド信号、エンティティ更新、またはユーザコンテキストのうちの1つまたは複数に基づく、
    請求項1に記載の方法。
  8. 1つまたは複数の更新されたマルチモーダル信号を受信することと、
    前記更新されたマルチモーダル信号に基づいて、1つまたは複数の更新されたプロアクティブ提案を生成することと
    をさらに含む、
    請求項7に記載の方法。
  9. 前記1つまたは複数のプロアクティブ提案を生成することが、複数のプロアクティブ提案を含む所定の提案リストにアクセスすることを含む、
    請求項1に記載の方法。
  10. 前記所定の提案リストが、前記第1のユーザに関連付けられた前記タスク履歴データ、前記第1のユーザに関連付けられたユーザメモリ、または知識グラフのうちの1つまたは複数に基づいて生成される、
    請求項9に記載の方法。
  11. 前記第1のユーザがプロアクティブ提案を受信するのに適格であるかどうかを決定することが、前記第1のユーザに関連付けられた前記ユーザコンテキストデータ、前記第1のユーザに関連付けられた前記タスク履歴データ、または前記第1のユーザに関連付けられたユーザメモリのうちの1つまたは複数にさらに基づく、
    請求項1に記載の方法。
  12. 前記プロアクティブ提案のうちの前記1つまたは複数を選択することが、前記第1のユーザに関連付けられた前記ユーザコンテキストデータ、前記第1のユーザに関連付けられたユーザメモリ、または知識グラフのうちの1つまたは複数にさらに基づく、
    請求項1に記載の方法。
  13. 前記1つまたは複数の入力に基づいて、前記第1のユーザに関連付けられた初期の意図を決定することと、
    前記初期の意図に基づいて、前記第1のユーザに関連付けられたその後の意図を決定することであって、前記1つまたは複数のプロアクティブ提案を生成することが、当該その後の意図にさらに基づく、その後の意図を決定することと
    をさらに含む、
    請求項1に記載の方法。
  14. 前記その後の意図を決定することが、機械学習モデルに基づき、
    前記機械学習モデルが、複数の意図のペアに関連付けられたデータに基づいてトレーニングされ、
    前記複数の意図のペアに関連付けられた前記データが、前記初期の意図と前記その後の意図との間の意図のペアに関連付けられたデータを含む、
    請求項13に記載の方法。
  15. ソフトウェアを具現化する1つまたは複数のコンピュータ可読非一時的ストレージ媒体であって、前記ソフトウェアが、実行されると、
    第1のユーザに関連付けられたプロアクティブトリガに関連付けられた1つまたは複数の入力を受信することと、
    1つまたは複数のプロアクティブポリシーに基づいて、前記第1のユーザがプロアクティブ提案を受信するのに適格であるかどうかを決定することと、
    前記第1のユーザに関連付けられた前記1つまたは複数の入力およびユーザコンテキストデータに基づいて、1つまたは複数のプロアクティブ提案を生成することと、
    前記第1のユーザに関連付けられたタスク履歴データに基づいて、前記プロアクティブ提案のうちの1つまたは複数を選択することと、
    プロアクティブコンテンツを前記第1のユーザに提示するための命令を、前記第1のユーザに関連付けられたクライアントシステムに送ることであって、前記プロアクティブコンテンツが、前記選択されたプロアクティブ提案を含む、命令をクライアントシステムに送ることと
    を行うように動作可能である、
    1つまたは複数のコンピュータ可読非一時的ストレージ媒体。
  16. 前記ソフトウェアが、実行されると、
    前記プロアクティブコンテンツの配信スケジュールを決定することであって、前記プロアクティブコンテンツを前記第1のユーザに提示するための前記命令を送ることが、前記配信スケジュールに基づく、配信スケジュールを決定すること
    を行うようにさらに動作可能な、
    請求項15に記載の媒体。
  17. 前記配信スケジュールが、前記第1のユーザに関連付けられた前記ユーザコンテキストデータ、前記第1のユーザに関連付けられたユーザメモリ、または知識グラフのうちの1つまたは複数に基づいて決定される、
    請求項16に記載の媒体。
  18. システムであって、1つまたは複数のプロセッサと、前記プロセッサによって実行可能な命令を含む前記プロセッサに連結された非一時的メモリとを備え、前記プロセッサが、前記命令を実行すると、
    第1のユーザに関連付けられたプロアクティブトリガに関連付けられた1つまたは複数の入力を受信することと、
    1つまたは複数のプロアクティブポリシーに基づいて、前記第1のユーザがプロアクティブ提案を受信するのに適格であるかどうかを決定することと、
    前記第1のユーザに関連付けられた前記1つまたは複数の入力およびユーザコンテキストデータに基づいて、1つまたは複数のプロアクティブ提案を生成することと、
    前記第1のユーザに関連付けられたタスク履歴データに基づいて、前記プロアクティブ提案のうちの1つまたは複数を選択することと、
    プロアクティブコンテンツを前記第1のユーザに提示するための命令を、前記第1のユーザに関連付けられたクライアントシステムに送ることであって、前記プロアクティブコンテンツが、前記選択されたプロアクティブ提案を含む、命令をクライアントシステムに送ることと
    を行うように動作可能な、
    システム。
  19. 前記プロセッサが、前記命令を実行すると、
    前記プロアクティブコンテンツの配信スケジュールを決定することであって、前記プロアクティブコンテンツを前記第1のユーザに提示するための前記命令を送ることが、前記配信スケジュールに基づく、配信スケジュールを決定すること
    を行うようにさらに動作可能な、
    請求項18に記載のシステム。
  20. 前記配信スケジュールが、前記第1のユーザに関連付けられた前記ユーザコンテキストデータ、前記第1のユーザに関連付けられたユーザメモリ、または知識グラフのうちの1つまたは複数に基づいて決定される、
    請求項19に記載のシステム。
JP2021577907A 2019-10-18 2020-10-16 補助システムのためのプロアクティブコンテンツを生成すること Pending JP2022551788A (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962923342P 2019-10-18 2019-10-18
US62/923,342 2019-10-18
US202063044270P 2020-06-25 2020-06-25
US63/044,270 2020-06-25
US17/006,260 2020-08-28
US17/006,260 US20210117214A1 (en) 2019-10-18 2020-08-28 Generating Proactive Content for Assistant Systems
PCT/US2020/056188 WO2021077043A1 (en) 2019-10-18 2020-10-16 Generating proactive content for assistant systems

Publications (1)

Publication Number Publication Date
JP2022551788A true JP2022551788A (ja) 2022-12-14

Family

ID=75490913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021577907A Pending JP2022551788A (ja) 2019-10-18 2020-10-16 補助システムのためのプロアクティブコンテンツを生成すること

Country Status (6)

Country Link
US (1) US20210117214A1 (ja)
EP (1) EP4046097A1 (ja)
JP (1) JP2022551788A (ja)
KR (1) KR20220083789A (ja)
CN (1) CN114930363A (ja)
WO (1) WO2021077043A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US10782986B2 (en) 2018-04-20 2020-09-22 Facebook, Inc. Assisting users with personalized and contextual communication content
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
EP3935628B1 (en) * 2019-05-06 2023-09-20 Google LLC Proactive caching of assistant action content at a client device to enable on-device resolution of spoken or typed utterances
US11328729B1 (en) * 2020-02-24 2022-05-10 Suki AI, Inc. Systems, methods, and storage media for providing presence of modifications in user dictation
US11245648B1 (en) * 2020-07-31 2022-02-08 International Business Machines Corporation Cognitive management of context switching for multiple-round dialogues
US11783827B2 (en) * 2020-11-06 2023-10-10 Apple Inc. Determining suggested subsequent user actions during digital assistant interaction
US20220147547A1 (en) * 2020-11-12 2022-05-12 International Business Machines Corporation Analogy based recognition
US20220156299A1 (en) * 2020-11-13 2022-05-19 International Business Machines Corporation Discovering objects in an ontology database
CN112765477B (zh) * 2021-03-05 2022-03-25 北京百度网讯科技有限公司 信息处理、信息推荐的方法和装置、电子设备和存储介质
CN113297359B (zh) * 2021-04-23 2023-11-28 阿里巴巴新加坡控股有限公司 交互信息的方法以及装置
CN113222031B (zh) * 2021-05-19 2022-04-12 浙江大学 基于联邦个性化学习的光刻热区检测方法
US11593819B2 (en) * 2021-06-09 2023-02-28 Maplebear Inc. Training a model to predict likelihoods of users performing an action after being presented with a content item
WO2022266209A2 (en) * 2021-06-16 2022-12-22 Apple Inc. Conversational and environmental transcriptions
EP4290185A1 (en) * 2021-07-13 2023-12-13 LG Electronics Inc. Mixed reality-based display device and route guide system
US20230027628A1 (en) * 2021-07-26 2023-01-26 Microsoft Technology Licensing, Llc User context-based enterprise search with multi-modal interaction
CN113591459B (zh) * 2021-08-10 2023-09-15 平安银行股份有限公司 地址标准化处理方法、装置、电子设备及可读存储介质
US20230350928A1 (en) * 2022-04-28 2023-11-02 Knowbl LLC Systems and methods for implementing a virtual agent performing context and query transformations using unsupervised machine learning models
KR102518520B1 (ko) * 2022-07-19 2023-04-05 주식회사 엠브이아이 시각장애인의 디지털 정보격차를 해소하기 위한 클라우드 기반의 경영 관리 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9865260B1 (en) * 2017-05-03 2018-01-09 Google Llc Proactive incorporation of unsolicited content into human-to-computer dialogs

Also Published As

Publication number Publication date
CN114930363A (zh) 2022-08-19
US20210117214A1 (en) 2021-04-22
WO2021077043A1 (en) 2021-04-22
KR20220083789A (ko) 2022-06-20
EP4046097A1 (en) 2022-08-24

Similar Documents

Publication Publication Date Title
US11669918B2 (en) Dialog session override policies for assistant systems
US20210117214A1 (en) Generating Proactive Content for Assistant Systems
US11159767B1 (en) Proactive in-call content recommendations for assistant systems
US11567788B1 (en) Generating proactive reminders for assistant systems
US11658835B2 (en) Using a single request for multi-person calling in assistant systems
US20220279051A1 (en) Generating Proactive Reminders for Assistant Systems
US11809480B1 (en) Generating dynamic knowledge graph of media contents for assistant systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230825