JP6549682B2 - Group recommendation virtual assistant generation - Google Patents

Group recommendation virtual assistant generation Download PDF

Info

Publication number
JP6549682B2
JP6549682B2 JP2017230273A JP2017230273A JP6549682B2 JP 6549682 B2 JP6549682 B2 JP 6549682B2 JP 2017230273 A JP2017230273 A JP 2017230273A JP 2017230273 A JP2017230273 A JP 2017230273A JP 6549682 B2 JP6549682 B2 JP 6549682B2
Authority
JP
Japan
Prior art keywords
group
user
list
recommendations
recommendation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017230273A
Other languages
Japanese (ja)
Other versions
JP2018109954A (en
Inventor
リロン・ヤチヴ
シュロモ・クレプナー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2018109954A publication Critical patent/JP2018109954A/en
Application granted granted Critical
Publication of JP6549682B2 publication Critical patent/JP6549682B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • 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/103Workflow collaboration or project management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Bioethics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Primary Health Care (AREA)

Description

幾つかのコンピューティング・デバイスはユーザ・インタフェースを提供しうる。当該ユーザ・インタフェースから、ユーザは仮想の計算アシスタント(例えば、「インテリジェントなアシスタント」または単に「アシスタント」とも称される)とチャットし、会話し、または通信して、当該アシスタントに、有用な情報を出力させ、ユーザのニーズに応答させ、またはユーザが様々な実世界のまたは仮想のタスクを完了するのを支援するための特定の動作を実施させることができる。幾つかのアシスタントは、グループ・メンバの嗜好に基づいてユーザのグループに推奨を提供するような、ユーザのグループを同時に支援するための動作を実施しうる。   Some computing devices may provide a user interface. From the user interface, the user can chat, talk or communicate with a virtual computational assistant (e.g., also referred to as "intelligent assistant" or simply "assistant") to provide useful information to the assistant Specific actions can be performed to output, respond to the needs of the user, or assist the user in completing various real-world or virtual tasks. Some assistants may perform actions to simultaneously assist a group of users, such as providing recommendations to the group of users based on the preferences of the group members.

一般に、本開示の諸技術は、グループのユーザに関連付けられた仮想の計算アシスタント(例えば、「インテリジェントなアシスタント」とも称されまたは単に「アシスタント」とも称される)が、個々のユーザのプライベート情報を当該グループの他のユーザに示すことなく、ユーザのプライベート情報に基づいて、当該グループに対する推奨を提供することを可能としうる。例えば、計算アシスタントは、ユーザに対する利用可能な情報(例えば、ユーザに対するパブリックな情報、またはユーザが推奨生成に関して利用可能とすることに同意した情報)に基づいて元の推奨のリストを生成してもよい。元の推奨リストはユーザの当該グループに対する一般的な関心であってもよく、当該グループの1つまたは複数の独立なユーザは、当該推奨の幾つかを優先してまたはそれに対抗してプライベートな嗜好を有してもよい。したがって、元の推奨リストは、当該推奨を生成するときに当該プライベート嗜好を示すユーザに対するプライベート情報に当該アシスタントがアクセスできる場合に、当該グループに対するより多くの関心であってもよい。しかし、特定のユーザに関連付けられたアシスタントが別のユーザの別のプライベート情報およびプライベート嗜好にアクセスするのは望ましくないかもしれない。   In general, the techniques of the present disclosure are directed to virtual computing assistants (e.g., also referred to as "intelligent assistants" or simply referred to as "assistants") associated with the users of the group, but to the private information of the individual users. It may be possible to provide recommendations for the group based on the user's private information without indicating to other users of the group. For example, the calculation assistant may also generate a list of original recommendations based on available information for the user (eg, public information for the user or information the user has agreed to make available for recommendation generation) Good. The original recommendation list may be the general interest of the user to the group, and one or more independent users of the group may have private preferences in favor of or against some of the recommendations. May be included. Thus, the original recommendation list may be of more interest to the group if the assistant has access to private information for the user indicating the private preference when generating the recommendation. However, it may not be desirable for an assistant associated with a particular user to access another user's other private information and preferences.

1つまたは複数の本開示の諸技術によれば、夫々のアシスタントは、その関連付けられたユーザに対する夫々のプライベート情報に基づいて、刈り取られた推奨リストに含めるための元のリストからの推奨を評価してもよい。夫々のアシスタントは、その関連付けられたユーザに対する当該夫々のプライベート情報が、当該関連付けられたユーザが当該推奨に対するネガティブな嗜好を有すると示す場合に、推奨を当該刈り取られたリストに含めないと判定(即ち、ノックアウト)してもよい。当該アシスタントはついで、当該刈り取られたリストをユーザに提供(即ち、表示または出力)してもよい。このように、当該夫々のアシスタントは、その関連付けられたユーザのプライベート情報のプライバシを保存しつつ、当該グループ内のユーザの各々の独立な嗜好を考慮したより高品質のグループ推奨を提供しうる。   According to one or more techniques of the present disclosure, each assistant evaluates the recommendations from the original list for inclusion in the pruned recommendations list based on the respective private information for the associated user. You may Each assistant determines that the recommendation will not be included in the cutaway list if the respective private information for the associated user indicates that the associated user has a negative preference for the recommendation ( That is, it may be knocked out. The assistant may then provide (i.e., display or output) the clipped list to the user. In this way, the respective assistants may provide higher quality group recommendations that take into account the independent preferences of each of the users in the group while preserving the privacy of the associated user's private information.

1例では、方法は、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成するステップを含む。この例では、当該方法はさらに当該グループのユーザに関連付けられた夫々の計算アシスタントによりおよび当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、当該グループに対する刈り取られた推奨リストに含めるための元の推奨リストから推奨を評価するステップであって、当該第2のプライバシ・レベルは当該第1のプライバシ・レベルよりも制限される、ステップを含む。この例では、当該方法はさらに、当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、当該グループのユーザに表示するために、当該刈り取られた推奨リストを出力するステップを含む。   In one example, the method responds to receiving a request for recommendations to a group of users and based on the first privacy level data for users of the group, the original recommendation list for the group Including the step of generating. In this example, the method further comprises, based on the respective calculation assistants associated with the users of the group and the respective second privacy level data for the users of the group, a cut recommendations list for the group. Evaluating the recommendation from the original recommendation list to include, wherein the second privacy level is more restricted than the first privacy level. In this example, the method further comprises the step of outputting the cut-off recommendation list for display to the user of the group in response to the cut-off recommendation list including at least one recommendation .

別の例では、コンピューティング・デバイスは、少なくとも1つのプロセッサと、実行されたとき、当該少なくとも1つのプロセッサに、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成し、当該グループのユーザに関連付けられた夫々の計算アシスタントに、元の推奨リストを出力し、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、当該刈り取られた推奨リストを当該グループのユーザに表示するために出力するように構成されたアシスタントを提供させる命令を備えた少なくとも1つのメモリであって、当該第2のプライバシ・レベルは当該第1のプライバシ・レベルよりも制限される、メモリとを備える。   In another example, the computing device, when executed with the at least one processor, responds to the at least one processor receiving a request for a recommendation to the group of users and the user of the group Create an original recommendation list for the group based on the first privacy level data for the group, and output the original recommendation list to the respective calculation assistants associated with the users of the group; Should recommendations from the original recommendation list be included in the cut-off recommendations list for the group based on the respective second privacy level data for the users of the group from each calculation assistant associated with the user? Receive an indication of whether or not the cut-off recommendation list is at least At least one memory comprising instructions for providing an assistant configured to output the clipped recommendations list for display to the users of the group in response to including the recommendations; The second privacy level comprises a memory that is more restrictive than the first privacy level.

別の例では、実行されたとき、コンピューティング・デバイスの1つまたは複数のプロセッサに、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成し、当該グループのユーザに関連付けられた夫々の計算アシスタントに、元の推奨リストを出力し、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、当該刈り取られた推奨リストを当該グループのユーザに表示するために出力させる命令を格納した非一時的コンピュータ可読記憶媒体であって、当該第2のプライバシ・レベルは当該第1のプライバシ・レベルよりも制限される、非一時的コンピュータ可読記憶媒体が提供される。   In another example, when executed, one or more processors of the computing device are responsive to receiving a request for a recommendation to a group of users and a first privacy to the users of the group Based on the level data, generate an original recommendation list for the group, and output the original recommendation list to each calculation assistant associated with the user of the group, and each associated with the user of the group Receive an indication from the calculation assistant in step s based on the respective second privacy level data for the users of the group whether or not the recommendations from the original recommendation list should be included in the pruned recommendations list for the group , In response to the cut-off recommendation list including at least one recommendation, A non-transitory computer readable storage medium storing instructions for causing a user of the group to output a dismantled recommendation list, the second privacy level being higher than the first privacy level. A limited, non-transitory computer readable storage medium is provided.

1つまたは複数の例の詳細を添付図面および下記の説明で説明する。本開示の他の特徴、目的、および利点は、当該説明、図面、および添付の特許請求の範囲から明らかであろう。   The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the present disclosure will be apparent from the description, the drawings, and the appended claims.

本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行する例示的なシステムを示す概念図である。FIG. 1 is a conceptual diagram illustrating an example system that executes an example virtual assistant, in accordance with one or more aspects of the present disclosure. 本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行するように構成される例示的なコンピューティング・デバイスを示すブロック図である。FIG. 16 is a block diagram illustrating an example computing device configured to perform an example virtual assistant, in accordance with one or more aspects of the present disclosure. 本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行するように構成された例示的なコンピューティングシステムを示すブロック図である。FIG. 16 is a block diagram illustrating an example computing system configured to execute an example virtual assistant, in accordance with one or more aspects of the present disclosure. 本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行する1つまたは複数のプロセッサにより実施される例示的な動作を示す流れ図である。5 is a flowchart illustrating exemplary operations performed by one or more processors executing an exemplary virtual assistant, in accordance with one or more aspects of the present disclosure. 本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行する1つまたは複数のプロセッサにより実施される例示的な動作を示す流れ図である。5 is a flowchart illustrating exemplary operations performed by one or more processors executing an exemplary virtual assistant, in accordance with one or more aspects of the present disclosure.

図1は、本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行する例示的なシステムを示す概念図である。図1のシステム100は、ネットワーク130を介して、検索サーバシステム180およびコンピューティング・デバイス110A乃至110N(集合的に、「コンピューティング・デバイス110」)と通信するアシスタントサーバシステム160を含む。システム100をアシスタントサーバシステム160、検索サーバシステム180、およびコンピューティング・デバイス110の間で分散されているとして示しているが、他の例では、システム100に属する特徴および技術が、コンピューティング・デバイス110のローカルコンポーネントにより内部的に実施されてもよい。同様に、アシスタントサーバシステム160は、特定のコンポーネントを含み、以下の説明において検索サーバシステム180および/またはコンピューティング・デバイス110に属する様々な技術を実施してもよい。   FIG. 1 is a conceptual diagram illustrating an example system that executes an example virtual assistant, in accordance with one or more aspects of the present disclosure. System 100 of FIG. 1 includes an assistant server system 160 in communication with search server system 180 and computing devices 110A-110N (collectively, "computing devices 110") via network 130. Although system 100 is illustrated as being distributed among assistant server system 160, search server system 180, and computing devices 110, in other examples, features and techniques belonging to system 100 may be computing devices. It may be implemented internally by 110 local components. Similarly, assistant server system 160 may include specific components and may implement various techniques belonging to search server system 180 and / or computing device 110 in the following description.

ネットワーク130は、コンピューティングシステム、サーバ、およびコンピューティング・デバイスの間でデータを送信するための任意のパブリックまたはプライベート通信ネットワーク、例えば、セルラ、Wi−Fi、および/または他のタイプのネットワークを表す。アシスタントサーバシステム160は、ネットワーク130を介して、データをコンピューティング・デバイス110のコンピューティング・デバイスと交換して、コンピューティング・デバイス110がネットワーク130に接続されたときにコンピューティング・デバイス110にアクセス可能な仮想アシスタントサービスを提供してもよい。アシスタントサーバシステム160は、ネットワーク130を介して、検索サーバシステム180とデータを交換して、検索サーバシステム180により提供された検索サービスを提供してもよい。コンピューティング・デバイス110は、ネットワーク130を介して、検索サーバシステム180とデータ交換して、検索サーバシステム180により提供された当該検索サービスにアクセスしてもよい。   Network 130 may represent any public or private communication network, eg, cellular, Wi-Fi, and / or other types of networks for transmitting data between computing systems, servers, and computing devices. . The assistant server system 160 exchanges data with the computing devices of the computing device 110 via the network 130 and accesses the computing device 110 when the computing device 110 is connected to the network 130 It may provide possible virtual assistant services. The assistant server system 160 may exchange data with the search server system 180 via the network 130 to provide the search service provided by the search server system 180. The computing device 110 may exchange data with the search server system 180 via the network 130 to access the search service provided by the search server system 180.

ネットワーク130は、動作可能に相互接続されそれによりサーバシステム160および180およびコンピューティング・デバイス110の間での情報交換を提供する、1つまたは複数のネットワークハブ、ネットワークスイッチ、ネットワークルータ、または他の任意のネットワーク機器を含んでもよい。コンピューティング・デバイス110、アシスタントサーバシステム160、および検索サーバシステム180は、任意の適切な通信技術を用いてネットワーク130にわたってデータを送受信してもよい。コンピューティング・デバイス110、アシスタントサーバシステム160、および検索サーバシステム180はそれぞれ、夫々のネットワークリンクを用いてネットワーク130に動作可能に接続されてもよい。コンピューティング・デバイス110、アシスタントサーバシステム160、および検索サーバシステム180をネットワーク130に接続するリンクがイーサネット(登録商標)または他のタイプのネットワーク接続であってもよく、かかる接続が無線および/または有線接続であってもよい。   Network 130 is operatively interconnected to thereby provide information exchange between server systems 160 and 180 and computing device 110, one or more network hubs, network switches, network routers, or the like. Any network device may be included. Computing device 110, assistant server system 160, and search server system 180 may send and receive data across network 130 using any suitable communication technology. Computing device 110, assistant server system 160, and search server system 180 may each be operatively connected to network 130 using respective network links. The link connecting computing device 110, assistant server system 160, and search server system 180 to network 130 may be Ethernet or other type of network connection, such connection being wireless and / or wired It may be a connection.

アシスタントサーバシステム160および検索サーバシステム180は、1つまたは複数のデスクトップコンピュータ、ラップトップコンピュータ、メインフレーム、サーバ、ネットワーク130のようなネットワークと情報を送受信できるクラウドコンピューティングシステム等のような任意の適切なリモートコンピューティングシステムを表す。アシスタントサーバシステム160は、仮想アシスタントサービスをホストする(かまたは少なくともそこへのアクセスを提供する)。検索サーバシステム180は検索サービスをホストする(かまたは少なくともそこへのアクセスを提供する)。幾つかの例では、アシスタントサーバシステム160および検索サーバシステム180は、クラウドを介してその夫々のサービスへのアクセスを提供するクラウドコンピューティングシステムを表す。   The assistant server system 160 and the search server system 180 may be any suitable one such as one or more desktop computers, laptop computers, mainframes, servers, a cloud computing system capable of sending and receiving information to and from a network such as the network 130, etc. Represents a powerful remote computing system. The assistant server system 160 hosts (or at least provides access to) a virtual assistant service. Search server system 180 hosts (or at least provides access to) a search service. In some examples, assistant server system 160 and search server system 180 represent cloud computing systems that provide access to their respective services via the cloud.

コンピューティング・デバイス110の各々は、独立なモバイルまたは非モバイルコンピューティング・デバイスを表す。コンピューティング・デバイス110の例は、携帯電話、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、サーバ、メインフレーム、セットトップボックス、テレビ、ウェラブルデバイス(例えば、コンピュータ化された時計、コンピュータ化されたアイウェア、コンピュータ化されたグローブ等)、ホームオートメーションデバイスまたはシステム(例えば、インテリジェントサーモスタットまたはホームアシスタントデバイス)、携帯情報端末(PDA)、ゲーミングシステム、メディアプレイヤ、電子書籍リーダ、モバイルテレビプラットフォーム、自動車ナビゲーションおよび娯楽システム、または、仮想アシスタントを実行またはそれにアクセスしネットワーク130のようなネットワークを介して情報を受信するように構成された、他の任意の種類のモバイル、非モバイル、ウェラブル、非ウェラブルなコンピューティングデバイスが含まれる。   Each of computing devices 110 represents an independent mobile or non-mobile computing device. Examples of computing devices 110 include cell phones, tablet computers, laptop computers, desktop computers, servers, mainframes, set top boxes, televisions, wearable devices (eg, computerized watches, computerized eyes, etc. , Computerized gloves etc), home automation devices or systems (eg intelligent thermostats or home assistant devices), personal digital assistants (PDAs), gaming systems, media players, electronic book readers, mobile television platforms, car navigation and An entertainment system or a virtual assistant running or accessing it via a network like network 130 Configured to receive information Te was, any other type of mobile, non-mobile, wearable, include non-wearable computing device.

アシスタントサーバシステム160および/または検索サーバシステム180は、ネットワーク130を介してコンピューティング・デバイス110と通信して、コンピューティング・デバイス110に、アシスタントサーバシステム160により提供された仮想アシスタントサービスへのアクセスを提供し、かつ/または、コンピューティング・デバイス110に、検索サーバシステム180により提供された検索サービスへのアクセスを提供してもよい。仮想アシスタントサービスを提供する過程で、アシスタントサーバシステム160は、ネットワーク130を介して検索サーバシステム180と通信して、タスクを完了するための仮想アシスタントサービス情報をユーザにを提供するための検索結果を取得してもよい。   The assistant server system 160 and / or the search server system 180 communicate with the computing device 110 via the network 130 to allow the computing device 110 to access the virtual assistant service provided by the assistant server system 160. The providing and / or computing device 110 may be provided with access to search services provided by the search server system 180. In the process of providing a virtual assistant service, the assistant server system 160 communicates with the search server system 180 via the network 130 to provide search results for providing the user with virtual assistant service information for completing the task. You may get it.

システム100は仮想アシスタントサービスを複数のユーザに提供してもよい。当該仮想アシスタントサービスはローカルおよびリモートのコンポーネントの組合せにより提供されてもよい。図1の例では、アシスタントサーバシステム160はリモートアシスタント・モジュール123A乃至123N(集合的に、「リモートアシスタント・モジュール123」)およびユーザ情報データ・ストア125A乃至125N(集合的に、「ユーザ情報データ・ストア125」)を含む。リモートアシスタント・モジュール123の各々は、ユーザ情報データ・ストア125の夫々のユーザ情報データ・ストアを、アシスタントサーバシステム160がネットワーク130を介して特定のユーザに提供する夫々の仮想アシスタントサービスの一部として維持してもよい。例えば、リモートアシスタント・モジュール123Aは、アシスタントサーバシステム160がユーザAにネットワーク130を介して提供する仮想アシスタントサービスの一部としてユーザ情報データ・ストア125Aを維持してもよく、リモートアシスタント・モジュール123Bは、アシスタントサーバシステム160がユーザBにネットワーク130を介して提供する仮想アシスタントサービスの一部としてユーザ情報データ・ストア125Bを維持してもよく、・・・、リモートアシスタント・モジュール123Nはアシスタントサーバシステム160がユーザNにネットワーク130を介して提供する仮想アシスタントサービスの一部としてユーザ情報データ・ストア125Nを維持してもよい。   System 100 may provide virtual assistant services to multiple users. The virtual assistant service may be provided by a combination of local and remote components. In the example of FIG. 1, assistant server system 160 includes remote assistant modules 123A-123N (collectively, "remote assistant modules 123") and user information data stores 125A-125N (collectively, "user information data Store 125 "). Each of the remote assistant modules 123 is part of a respective virtual assistant service provided by the assistant server system 160 to a particular user via the network 130 for each user information data store of the user information data store 125. You may maintain it. For example, remote assistant module 123A may maintain user information data store 125A as part of a virtual assistant service that assistant server system 160 provides user A via network 130, and remote assistant module 123B may , The assistant server system 160 may maintain the user information data store 125B as part of a virtual assistant service provided to the user B via the network 130,..., The remote assistant module 123N the assistant server system 160. The user information data store 125 N may be maintained as part of a virtual assistant service that the user provides to the user N via the network 130.

コンピューティング・デバイス110Aはユーザ・インタフェース・デバイス(UID)112、ユーザ・インタフェース(UI)モジュール120、ローカルアシスタント・モジュール122A、およびユーザ情報データ・ストア124Aを含む。ローカルアシスタント・モジュール122Aは、ユーザAのような特定のユーザに対してローカルにコンピューティング・デバイス110Aで実行する仮想アシスタントサービスの一部としてユーザ情報データ・ストア124Aを維持してもよい。コンピューティング・デバイス110の他のコンピューティング・デバイスはコンピューティング・デバイス110Aと同様なコンポーネントを含んでもよい。幾つかの例では、コンピューティング・デバイス110の夫々のコンピューティング・デバイスは、夫々のユーザに関連付けられた夫々のローカルアシスタント・モジュールおよび夫々のユーザ情報データ・ストアを含んでもよい。例えば、コンピューティング・デバイス110Bは、ユーザBに関連付けられたローカルアシスタント・モジュール122B(図示せず)およびユーザ情報データ・ストア124B(図示せず)を含んでもよく、コンピューティング・デバイス110NはユーザBに関連付けられたローカルアシスタント・モジュール122N(図示せず)およびユーザ情報データ・ストア124N(図示せず)を含んでもよい。ローカルアシスタント・モジュール122A乃至122Nを、集合的に「ローカルアシスタント・モジュール122」と称してもよい。ユーザ情報データ・ストア124A乃至124Nを、集合的に「ユーザ情報データ・ストア124」と称してもよい。   Computing device 110A includes a user interface device (UID) 112, a user interface (UI) module 120, a local assistant module 122A, and a user information data store 124A. The local assistant module 122A may maintain the user information data store 124A as part of a virtual assistant service executing on the computing device 110A locally for a particular user, such as user A. Other computing devices of computing device 110 may include similar components to computing device 110A. In some examples, each computing device of computing device 110 may include a respective local assistant module and a respective user information data store associated with a respective user. For example, computing device 110B may include local assistant module 122B (not shown) and user information data store 124B (not shown) associated with user B, with computing device 110N being user B. May include a local assistant module 122N (not shown) and a user information data store 124N (not shown). Local assistant modules 122A-122N may be collectively referred to as "local assistant module 122". User information data stores 124A-124N may be collectively referred to as "user information data store 124".

モジュール120、122、123、および182は、コンピューティング・デバイス110、アシスタントサーバシステム160、または検索サーバシステム180のうち1つにおいて常駐および/または実行するソフトウェア、ハードウェア、ファームウェア、またはハードウェア、ソフトウェア、およびファームウェアの混合を用いて記述された動作を実施してもよい。コンピューティング・デバイス110、アシスタントサーバシステム160、および検索サーバシステム180はモジュール120、122、123、および182を複数のプロセッサまたは複数のデバイスで実行してもよい。コンピューティング・デバイス110、アシスタントサーバシステム160、および検索サーバシステム180は、モジュール120、122、123、および182を基盤ハードウェアで実行される仮想マシンとして実行してもよい。モジュール120、122、123、および182を、オペレーティング・システムまたはコンピューティングプラットフォームの1つまたは複数のサービスとして実行してもよい。モジュール120、122、123、および182を、コンピューティングプラットフォームのアプリケーションレイヤの1つまたは複数の実行可能プログラムとして実行してもよい。   Modules 120, 122, 123, and 182 are software, hardware, firmware, or hardware, software that reside and / or execute on one of computing device 110, assistant server system 160, or search server system 180. , And a mix of firmware may be used to perform the described operations. Computing device 110, assistant server system 160, and search server system 180 may execute modules 120, 122, 123, and 182 on multiple processors or multiple devices. Computing device 110, assistant server system 160, and search server system 180 may execute modules 120, 122, 123, and 182 as virtual machines running on underlying hardware. Modules 120, 122, 123, and 182 may be implemented as one or more services of an operating system or computing platform. Modules 120, 122, 123, and 182 may be implemented as one or more executable programs of the application layer of the computing platform.

コンピューティング・デバイス110AのUID112はコンピューティング・デバイス110Aに対する入力および/または出力デバイスとして機能してもよい。UID112は様々な技術を用いて実装してもよい。例えば、UID112は抵抗性タッチスクリーン、弾性表面波タッチスクリーン、静電容量タッチスクリーン、投影静電容量タッチスクリーン、圧力センシティブスクリーン、音響パルス認識タッチスクリーン、または別の存在センシティブ・ディスプレイ技術のような存在感知入力スクリーンを用いて入力デバイスとして機能してもよい。   The UID 112 of computing device 110A may function as an input and / or output device for computing device 110A. The UID 112 may be implemented using various techniques. For example, the UID 112 may be present as a resistive touch screen, a surface acoustic wave touch screen, a capacitive touch screen, a projected capacitive touch screen, a pressure sensitive screen, an acoustic pulse recognition touch screen, or another presence sensitive display technology A sensing input screen may be used to act as an input device.

UID112は、マイクロフォン技術、赤外線センサ技術、またはユーザ入力を受信する際に使用するための他の入力デバイス技術を用いて入力デバイスとして機能してもよい。例えば、UID112は、UIモジュール120および/またはローカルアシスタント・モジュール122がタスクを完了するために処理する音声入力を、ビルトインマイクロフォン技術を用いて検出してもよい。別の例として、UID112は、コンピューティング・デバイス110Aのユーザから触覚入力を受信しうる存在センシティブ・ディスプレイを含んでもよい。UID112は、ユーザからの1つまたは複数のジェスチャ(例えば、指またはスタイラスペンを用いたPSD112の1つまたは複数の位置をユーザがタッチまたはポインティングすること)を検出することによって触覚入力の指示を検出してもよい。   The UID 112 may function as an input device using microphone technology, infrared sensor technology, or other input device technology for use in receiving user input. For example, UID 112 may detect voice input that UI module 120 and / or local assistant module 122 processes to complete a task using built-in microphone technology. As another example, UID 112 may include a presence sensitive display that may receive haptic input from a user of computing device 110A. The UID 112 detects an indication of tactile input by detecting one or more gestures from the user (eg, the user touching or pointing to one or more positions of the PSD 112 using a finger or a stylus pen) May.

UID112は出力(例えば、ディスプレイ)デバイスとして機能して、ユーザに出力を提供してもよい。UID112は、液晶ディスプレイ(LCD)、ドット・マトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、電子インク、またはコンピューティング・デバイス110Aのユーザに可視情報を出力できる同様なモノクロまたはカラーディスプレイのような任意の1つまたは複数のディスプレイデバイスを用いて出力デバイスとして機能してもよい。UID112は、スピーカ技術、触覚フィードバック技術、または情報をユーザに出力するための他の出力デバイス技術を用いて出力デバイスとして機能してもよい。UID112は、ローカルアシスタント・モジュール122および/またはリモートアシスタント・モジュール123Aにより提供された仮想アシスタントに関連するユーザ・インタフェース(例えば、ユーザ・インタフェース114)を提供してもよい。UID112は、コンピューティング・デバイス110で実行されておりかつ/またはそこからアクセス可能なコンピューティングプラットフォーム、オペレーティング・システム、アプリケーション、および/またはサービス(例えば、電子メール、チャット、オンラインサービス、電話、ゲーム等)の他の特徴に関連するユーザ・インタフェースを提供してもよい。   The UID 112 may function as an output (eg, display) device to provide output to the user. The UID 112 may be a liquid crystal display (LCD), a dot matrix display, a light emitting diode (LED) display, an organic light emitting diode (OLED) display, an electronic ink, or similar monochrome or color information capable of outputting visible information to a user of the computing device 110A. Any one or more display devices, such as a color display, may be used as an output device. The UID 112 may function as an output device using speaker technology, haptic feedback technology, or other output device technology for outputting information to the user. The UID 112 may provide a user interface (e.g., user interface 114) associated with the virtual assistant provided by the local assistant module 122 and / or the remote assistant module 123A. The UID 112 is a computing platform, operating system, application, and / or service (eg, email, chat, online service, phone, game, etc.) running on and / or accessible from the computing device 110 User interface associated with the other features of.

UIモジュール120は、UID112を介してアシスタントサービスを提供するためにアシスタントサーバシステム160と対話することを含む、UID112およびコンピューティング・デバイス110Aの他のコンポーネントとのユーザの対話を管理してもよい。UIモジュール120はUID112に、ユーザ・インタフェース114のようなユーザ・インタフェース(または他の例ユーザ・インタフェース)を、コンピューティング・デバイス110Aのユーザが出力を参照しかつ/または入力をUID112で提供する際に、出力させてもよい。UIモジュール120およびUID112は、入力の1つまたは複数の指示(例えば、音声入力、ジェスチャ入力等)を、異なる時点に、かつ、ユーザおよびコンピューティング・デバイス110Aが異なる位置にいるときに、ユーザがユーザ・インタフェースと対話する際にユーザから受信してもよい。UIモジュール120およびUID112は、UID112で検出された入力を解釈して、UID112で検出された入力に関する情報を、コンピューティング・デバイス110Aで実行されているローカルアシスタント・モジュール122Aおよび/または1つまたは複数の他の関連付けられたプラットフォーム、オペレーティング・システム、アプリケーション、および/またはサービスに中継して、例えば、コンピューティング・デバイス110Aに機能を実施させてもよい。   UI module 120 may manage user interaction with UID 112 and other components of computing device 110A, including interacting with assistant server system 160 to provide assistant services via UID 112. UI module 120 may provide UID 112 with a user interface (or other example user interface), such as user interface 114, when the user of computing device 110A references output and / or provides input with UID 112. May be output. The UI module 120 and the UID 112 may allow the user to input one or more instructions (eg, voice input, gesture input, etc.) at different times and when the user and the computing device 110A are in different positions. It may be received from the user when interacting with the user interface. The UI module 120 and the UID 112 interpret the input detected by the UID 112 to interpret information regarding the input detected by the UID 112, the local assistant module 122A running on the computing device 110A and / or one or more May be relayed to other associated platforms, operating systems, applications, and / or services, for example, to cause computing device 110A to perform the function.

UIモジュール120は、コンピューティング・デバイス110Aおよび/またはサーバシステム160および180のような1つまたは複数のリモートコンピューティングシステムで実行されている1つまたは複数の関連付けられたプラットフォーム、オペレーティング・システム、アプリケーション、および/またはサービスから情報および命令を受信してもよい。さらに、UIモジュール120が、コンピューティング・デバイス110A、およびコンピューティング・デバイス110Aの様々な出力デバイス(例えば、スピーカ、LEDインジケータ、オーディオまたは触覚出力デバイス等)で実行されている1つまたは複数の関連付けられたプラットフォーム、オペレーティング・システム、アプリケーション、および/またはサービスの間の介在物として動作して、出力(例えば、グラフィック、光のフラッシュ、音、触覚応答等)をコンピューティング・デバイス110Aで出力してもよい。   UI module 120 may be one or more associated platforms, operating systems, applications running on computing device 110 A and / or one or more remote computing systems such as server systems 160 and 180. And / or may receive information and instructions from the service. Further, the UI module 120 is associated with the computing device 110A and one or more associations being performed on various output devices (eg, speakers, LED indicators, audio or haptic output devices, etc.) of the computing device 110A. Acting as an intermediary between selected platforms, operating systems, applications, and / or services, the output (e.g., graphics, flash of light, sound, tactile response, etc.) is output at computing device 110A It is also good.

検索モジュール182は、検索モジュール182が(例えば、コンピューティング・デバイス110Aに関連付けられた文脈情報に基づいて)自動的に生成した検索クエリまたは検索モジュール182がアシスタントサーバシステム160またはコンピューティング・デバイス110から(例えば、コンピューティング・デバイス110のコンピューティング・デバイスのユーザの代わりに仮想アシスタントが実行しているタスクの一部として)受信した検索クエリに関連すると判定された情報の検索を実行してもよい。検索モジュール182は、(例えば、ローカルに格納されるかまたは検索サーバシステム180にリモートに格納される)様々な情報ソースからの当該検索クエリに関連する情報(例えば、天気または交通状況、ニュース、株価、スポーツスコア、ユーザスケジュール、輸送スケジュール、不動産価格等)を識別するための検索クエリに基づいてインターネット検索を実行してもよい。検索を実行した後、検索モジュール182は当該検索から返された情報(例えば、検索結果)をアシスタントサーバシステム160またはコンピューティング・デバイス110のコンピューティング・デバイスに出力してもよい。   Search module 182 may be a search query or search module 182 automatically generated by search module 182 (eg, based on context information associated with computing device 110A) from assistant server system 160 or computing device 110. A search for information determined to be relevant to the received search query may be performed (eg, as part of a task being performed by a virtual assistant on behalf of the computing device user of computing device 110) . The search module 182 may generate information related to the search query from various information sources (eg, stored locally or remotely at the search server system 180) (eg, weather or traffic conditions, news, stock prices, etc.) Internet searches may be performed based on search queries to identify, sports scores, user schedules, shipping schedules, real estate prices, etc.). After performing the search, the search module 182 may output the information returned from the search (eg, search results) to the assistant server system 160 or the computing device 110 computing device.

図1の例では、ユーザ・インタフェース114は、(例えば、アシスタントサーバシステム160のローカルアシスタント・モジュール122および/またはリモートアシスタント・モジュール123Aにより提供された)コンピューティング・デバイス110Aによりアクセスされる仮想アシスタントサービスに関連付けられたグラフィカルユーザ・インタフェースである。ユーザ・インタフェース114は幾つかの例では可聴ユーザ・インタフェースであってもよい。図1に示すように、ユーザ・インタフェース114は、コンピューティング・デバイス110Aのユーザ(即ち、「ユーザA」)、コンピューティング・デバイス110Bのユーザ(即ち、「ユーザB」)、コンピューティング・デバイス110Cのユーザ(即ち、「ユーザC」)、およびコンピューティング・デバイス110で実行されているかまたはそれにアクセス可能な仮想アシスタントの間の会話のテキストを示す。ユーザ・インタフェース114は、可聴音、振動、テキスト、グラフィックス、コンテンツカード、画像等のような様々な形態で仮想アシスタント情報を含んでもよい。UIモジュール120はUID112に、ユーザ・インタフェース114を、データUIモジュール120がネットワーク130を介してアシスタントサーバシステム160から受信するデータに基づいて出力させてもよい。UIモジュール120は、ユーザ・インタフェース114を表示するための情報(例えば、オーディオデータ、テキストデータ、画像データ等)を、UID112でユーザ・インタフェース114内で情報を提供するためのアシスタントサーバシステム160および/またはローカルアシスタント・モジュール122からの命令とともに、アシスタントサーバシステム160および/またはローカルアシスタント・モジュール122からの入力として受信してもよい。   In the example of FIG. 1, the user interface 114 is a virtual assistant service accessed by the computing device 110A (eg, provided by the local assistant module 122 and / or the remote assistant module 123A of the assistant server system 160). A graphical user interface associated with The user interface 114 may be an audible user interface in some instances. As shown in FIG. 1, user interface 114 may be a user of computing device 110A (ie, “user A”), a user of computing device 110B (ie, “user B”), computing device 110C. The text of the conversation between the user of (i.e., "user C") and the virtual assistant running on or accessible to computing device 110 is shown. The user interface 114 may include virtual assistant information in various forms such as audible sounds, vibrations, text, graphics, content cards, images and the like. UI module 120 may cause UID 112 to output user interface 114 based on data received by data UI module 120 from assistant server system 160 via network 130. The UI module 120 is configured to provide the assistant server system 160 and / or the information for providing the information for displaying the user interface 114 (for example, audio data, text data, image data, etc.) in the user interface 114 with the UID 112. Or may be received as input from assistant server system 160 and / or local assistant module 122 along with instructions from local assistant module 122.

コンピューティング・デバイス110のローカルアシスタント・モジュール122およびアシスタントサーバシステム160のリモートアシスタント・モジュール123は、推奨をユーザのグループに提供するように構成されたユーザの当該グループに対する夫々のアシスタントを自動的に実行するための本明細書で説明した同様な機能をそれぞれ実施してもよい。リモートアシスタント・モジュール123およびユーザ情報データ・ストア125は例示的な仮想アシスタントのサーバサイドまたはクラウドの実装を表し、ローカルアシスタント・モジュール122およびユーザ情報データ・ストア124は当該例示的な仮想アシスタントのクライアントサイドのまたはローカル実装を表す。   The local assistant module 122 of the computing device 110 and the remote assistant module 123 of the assistant server system 160 automatically execute their respective assistants for the group of users configured to provide the group of users. Each of the same functions described herein may be performed to The remote assistant module 123 and the user information data store 125 represent an exemplary virtual assistant server side or cloud implementation, and the local assistant module 122 and the user information data store 124 are client side of the exemplary virtual assistant Represents a local or local implementation.

モジュール122および123は、コンピューティング・デバイス110のコンピューティング・デバイスのユーザのような個人に対するタスクまたはサービスを実施できるインテリジェントな個人アシスタントとして実行するように構成された夫々のソフトウェアエージェントをそれぞれ含んでもよい。モジュール122および123は、(例えば、UID112で検出された)ユーザ入力、(例えば、コンテキストに基づく)位置認識、および/または(例えば、コンピューティング・デバイス110、アシスタントサーバシステム160にローカルに格納されるか、または検索サーバシステム180により提供された当該検索サービスを介して取得された)様々な情報ソースから他の情報(例えば、天気または交通状況、ニュース、株価、スポーツスコア、ユーザスケジュール、輸送スケジュール、不動産価格等)にアクセスするための能力に基づいて、これらのタスクまたはサービスを実施してもよい。モジュール122および123は、人工知能および/または機械学習技術を実施して、ユーザの代わりに1つまたは複数のタスクを自動的に識別し完了してもよい。   Modules 122 and 123 may each include respective software agents configured to execute as intelligent personal assistants capable of performing tasks or services to an individual, such as a user of the computing device 110 computing device. . Modules 122 and 123 may be user input (e.g., detected by UID 112), location recognition (e.g., based on context), and / or stored locally (e.g., computing device 110, assistant server system 160) Or other information (eg, weather or traffic conditions, news, stock prices, sports scores, user schedules, transportation schedules, etc.) from various sources of information provided via the search service provided by the search server system 180 These tasks or services may be performed based on the ability to access property prices etc.). Modules 122 and 123 may implement artificial intelligence and / or machine learning techniques to automatically identify and complete one or more tasks on behalf of the user.

リモートアシスタント・モジュール123およびローカルアシスタント・モジュール122により提供された夫々のアシスタントは、情報の個人記録を自動的に作成、生成、または維持し、当該個人記録を、ユーザに固有な値として、それぞれユーザ情報データ・ストア124およびユーザ情報データ・ストア125として構造化された意味的な形式で格納してもよい。データ・ストア124および125は、それぞれ、リモートアシスタント・モジュール123およびローカルアシスタント・モジュール122により実行される夫々のアシスタントが、当該個人情報(例えば、ユーザに固有な値)に迅速にアクセスして、実世界のタスク、仮想タスクを完了し、またはユーザの即座のまたは将来のニーズに応答できるようにしてもよい。   The respective assistants provided by the remote assistant module 123 and the local assistant module 122 automatically create, create or maintain personal records of the information, and the respective personal records as user-specific values, respectively. It may be stored in a semantic form structured as information data store 124 and user information data store 125. Data stores 124 and 125, respectively, allow each assistant executed by remote assistant module 123 and local assistant module 122 to quickly access the personal information (eg, a value specific to the user) to It may be possible to complete world tasks, virtual tasks, or respond to the immediate or future needs of the user.

アシスタント・モジュール122および123は、そうすることの明示的な許可をユーザから最初に受信した後にユーザに関連付けられた個人記録のみを保持してもよい。したがって、ユーザは、どのようにそのアシスタントがユーザに関する情報を収集し使用するかに対する完全な制御を有してもよい。例えば、コンピューティング・デバイス110AのユーザAに関連付けられた個人記録を保持する前に、アシスタント・モジュール122Aおよび123AはUIモジュール120にユーザ・インタフェースをUID112を介して提供させてもよい。当該ユーザ・インタフェースは、ボックスを選択し、ボタンをクリックし、音声入力を述べ、またはアシスタント・モジュール122Aおよび123Aによりアシスタント・モジュール122Aおよび123Aがユーザの個人情報を収集し利用するための曖昧でない、肯定的な同意として解釈される特定の入力を当該ユーザ・インタフェースに提供することをユーザAに要求する。   The assistant modules 122 and 123 may only maintain personal records associated with the user after first receiving explicit permission from the user to do so. Thus, the user may have complete control over how the assistant collects and uses information about the user. For example, before holding personal records associated with user A of computing device 110A, assistant modules 122A and 123A may cause UI module 120 to provide a user interface via UID 112. The user interface selects a box, clicks a button, speaks an audio input, or is unambiguous for assistant modules 122A and 123A to collect and use the personal information of the user by assistant modules 122A and 123A, Request user A to provide the user interface with specific input that is interpreted as a positive consent.

アシスタント・モジュール122および123は、当該個人情報をデータ・ストア124および125に格納する前にユーザの実際のアイデンティティを除去するために、個人記録として維持されている情報を暗号化または処理してもよい。例えば、データ・ストア124および125に格納されたとき、任意の個人的に識別可能な情報がユーザの当該個人記録から除去されるように、当該情報がアシスタント・モジュール122および123により処理されてもよい。   The assistant modules 122 and 123 may also encrypt or process the information maintained as personal records to remove the user's actual identity prior to storing the personal information in the data stores 124 and 125. Good. For example, the information may be processed by assistant modules 122 and 123 such that any personally identifiable information may be removed from the user's personal record when stored in data stores 124 and 125. Good.

アシスタント・モジュール122および123はUIモジュール120にユーザ・インタフェースを提供させてもよい。当該ユーザ・インタフェースから、ユーザが、データ・ストア124および125に格納された個人記録から情報を修正または除去してもよい。例えば、当該ユーザ・インタフェースは、ユーザが特定の個人情報を修正または除去するコマンドをアシスタント・モジュール122および123に送信するための入力を提供できる領域を提供してもよい。このように、コンピューティング・デバイス110のユーザの各々は、データ・ストア124および125で夫々のアシスタント・モジュール122および123により保持されている情報に対する完全な制御を有してもよい。   The assistant modules 122 and 123 may cause the UI module 120 to provide a user interface. From the user interface, the user may modify or remove information from personal records stored in data stores 124 and 125. For example, the user interface may provide an area where the user can provide input to send commands to the assistant modules 122 and 123 to modify or remove specific personal information. In this manner, each of the users of computing device 110 may have complete control over the information held by the respective assistant modules 122 and 123 at data stores 124 and 125, respectively.

アシスタント・モジュール122および123は、ユーザが、データ・ストア124および125内の情報がどのように使用されるかを制御できるようにしてもよい。例えば、アシスタント・モジュール122および123は、データ・ストア124および125内の情報を様々なプライバシ・レベルでタグ付けし、マークし、または注釈付けしてもよい。例えば、アシスタント・モジュール122および123は、データ・ストア124および125内の幾つかの情報を第1のプライバシ・レベルでマークし、データ・ストア124および125内の幾つかの情報を第2のプライバシ・レベルでマークしてもよい。当該第2のプライバシ・レベルは当該第1のプライバシ・レベルよりも制限的であってもよい。即ち、当該第2のプライバシ・レベルを有するとしてマークされた情報を、当該第1のプライバシ・レベルを有するとしてマークされた情報よりもプライベートであると考えてもよい。幾つかの例では、当該第1のプライバシ・レベルを有するとしてマークされた情報はパブリック情報、または公に利用可能である情報であってもよい。   Assistant modules 122 and 123 may allow the user to control how the information in data stores 124 and 125 is used. For example, assistant modules 122 and 123 may tag, mark, or annotate the information in data stores 124 and 125 at various privacy levels. For example, assistant modules 122 and 123 mark some information in data stores 124 and 125 at a first privacy level, and some information in data stores 124 and 125 a second privacy. -You may mark by level. The second privacy level may be more restrictive than the first privacy level. That is, information marked as having the second privacy level may be considered more private than information marked as having the first privacy level. In some instances, the information marked as having the first privacy level may be public information or information that is publicly available.

アシスタント・モジュール122および123は、様々な動作を実施する過程で、様々な目的のため様々なプライバシ・レベルでマークされたデータ・ストア124および125内の情報を利用してもよい。例えば、当該情報がよりプライベートになると、アシスタント・モジュール122および123が、当該情報を保護する際により厳格になってもよい。例えば、アシスタント・モジュール122および123は、パブリックとしてマークされた情報を他のユーザおよび/または他のユーザに関連付けられた仮想アシスタントに示すかまたは提供し、プライベートとしてマークされた情報を、他のユーザおよび/または他のユーザに関連付けられた仮想アシスタントから隠蔽するかまたは保護してもよい。このように、コンピューティング・デバイス110のユーザの各々は、データ・ストア124および125にある情報をどのように夫々のアシスタント・モジュール122および123により使用するかについて完全な制御を有しうる。   The assistant modules 122 and 123 may utilize the information in the data stores 124 and 125 marked at different privacy levels for different purposes in the course of performing different operations. For example, as the information becomes more private, assistant modules 122 and 123 may become more rigid in protecting the information. For example, assistant modules 122 and 123 may indicate or provide information marked as public to other users and / or virtual assistants associated with other users, and information marked as private to other users And / or may be hidden or protected from virtual assistants associated with other users. In this manner, each of the users of computing device 110 may have complete control over how to use the information in data stores 124 and 125 by their respective assistant modules 122 and 123.

データ・ストア124および125により格納された個人記録内の各エントリは、アシスタント・モジュール122および123により迅速に訪問または解析して、ユーザのニーズを理解しユーザがタスクを完了するのを支援するための現在時点での情報アシスタント・モジュール122および123のニーズを発見できる、予め定義されたスキーマに関連付けられてもよい。個人情報がユーザに固有な1つまたは複数の値として記録されると、ユーザに関連付けられたアシスタント・モジュール122および123のアシスタント・モジュールは、ユーザに関連付けられたデータ・ストア124および125に格納された情報を迅速に使用してタスクを完了することができる。進行中のタスクがない場合、アシスタント・モジュール122および123は、ユーザに(例えば、ユーザ・インタフェース114を介して)、どのように当該アシスタントが当該情報を使用して将来ユーザを支援できるかの例を提供してもよい。ユーザは後に、この情報を忘れるかまたは修正するようにアシスタント・モジュール122および123に指示するための入力をUID112で提供してもよい。   Each entry in the personal records stored by data stores 124 and 125 can be visited or analyzed quickly by assistant modules 122 and 123 to understand the user's needs and assist the user in completing the task. It may be associated with a pre-defined schema where the needs of the information assistant modules 122 and 123 at the current point in time can be found. When personal information is recorded as one or more values specific to the user, the assistant modules of assistant modules 122 and 123 associated with the user are stored in data stores 124 and 125 associated with the user. Information can be used quickly to complete the task. If there are no tasks in progress, the assistant modules 122 and 123 may give the user (e.g., via the user interface 114) an example of how the assistant can use the information to assist the user in the future. May be provided. The user may later provide input at UID 112 to instruct assistant modules 122 and 123 to forget or modify this information.

データ・ストア124および125により格納された値は、テキスト値(例えば、人の名前、場所の名前、エンティティの他のテキスト記述子)、数値(例えば、年齢、身長、体重、他の生理的データ、エンティティに関連付けられた他の数値情報)、または当該データ・ストアに関連付けられたユーザに固有な値に対するポインタ(例えば、ユーザの知識グラフ内のエンティティに対するメモリ内の位置、アドレスブック内の連絡先に対するメモリ内の位置等)であってもよい。換言すれば、ユーザに固有な値は、多くの形態をとってもよく、当該記録スキーマによって定義された個人記録の分野に固有であってもよい。当該値は、ユーザに固有である実際の情報を示してもよく、または、ユーザに固有な情報をそこから取り出せる位置への参照であってもよい。   The values stored by the data stores 124 and 125 may be text values (eg, person's name, place's name, other text descriptors of the entity), numbers (eg, age, height, weight, other physiological data) , A pointer to a value specific to the user associated with the data store, or other numeric information associated with the entity (eg, a location in memory for the entity in the user's knowledge graph, a contact in the address book) Location in the memory, etc.). In other words, the user specific value may take many forms and may be specific to the field of personal records defined by the record schema. The value may indicate actual information specific to the user, or may be a reference to a location from which information specific to the user can be retrieved.

コンピューティング・デバイス110のユーザはグループ内にあってもよい。グループの例は、ソーシャル・メディアのサイト、チャット・ルーム、グループチャット、ユーザのグループのアドホックな指定、または他の任意の複数のユーザの関連付けに関するグループを含むがこれらに限られない。コンピューティング・デバイス110のユーザは、当該グループに自力で参加してもよく、(同意をユーザから受信した後に)当該グループに追加されてもよく、または当該グループを生成してもよい。   The user of computing device 110 may be in a group. Examples of groups include, but are not limited to, groups relating to social media sites, chat rooms, group chats, ad hoc designation of groups of users, or any other multiple user associations. The user of computing device 110 may participate in the group on its own, may be added to the group (after receiving consent from the user), or may generate the group.

アシスタント・モジュール122および123は、グループ推奨またはマルチユーザ推奨としても知られる1つまたは複数の推奨をユーザのグループに提供するように構成されてもよい。例えば、ユーザは、ユーザに関連付けられたアシスタント・モジュール122および123のアシスタント・モジュールがグループの1つまたは複数の推奨を提供することを要求してもよい。グループ推奨の幾つかの例は、娯楽(例えば、当該グループが観る映画の推奨)、食べ物(例えば、当該グループが行くためのレストランまたはバーの推奨)、旅行(例えば、旅行先、飛行先、またはツアーの場所の推奨)、および共有された商品(例えば、購入する車/テレビ/ゲーム・コンソールの推奨)を含むがこれらに必ずしも制限されない。   The assistant modules 122 and 123 may be configured to provide one or more recommendations, also known as group recommendations or multi-user recommendations, to a group of users. For example, the user may request that the assistant modules of assistant modules 122 and 123 associated with the user provide one or more recommendations of the group. Some examples of group recommendations are entertainment (eg, movie recommendations for the group to watch), food (eg, restaurant or bar recommendations for the group to go), travel (eg, travel destination, flight destination, or Recommendations for the location of the tour), and shared products (for example, recommendations for purchasing a car / TV / game console), but not necessarily limited thereto.

当該要求するユーザ(即ち、当該推奨を要求したユーザ)に関連付けられたアシスタント・モジュール122および123により提供されたグループ推奨の品質は、当該要求するユーザに関連付けられたアシスタント・モジュール122および123に利用可能な情報の品質に関連してもよい。例えば、当該要求するユーザに関連付けられたアシスタント・モジュール122および123が当該グループ内のユーザに関する情報をより多く使用すると、当該結果の推奨の品質がより高くなる(即ち、当該推奨が当該グループのメンバにより受理される可能性が高くなる)。したがって、当該要求するユーザに関連付けられたアシスタント・モジュール122および123が、当該グループのより多くのメンバにより受理される可能性が高い推奨を生成するために、グループの独立なメンバの個人情報をできるだけ多く使用するのが望ましいかもしれない。   The quality of group recommendations provided by the assistant modules 122 and 123 associated with the requesting user (ie, the user who requested the recommendation) is available to the assistant modules 122 and 123 associated with the requesting user It may relate to the quality of information possible. For example, if the assistant modules 122 and 123 associated with the requesting user use more information about the users in the group, the quality of the recommendation for the result is higher (ie, the recommendation is a member of the group Are more likely to be accepted by Thus, the assistant modules 122 and 123 associated with the requesting user may be able to personalize the independent members of the group in order to generate recommendations likely to be accepted by more members of the group. It may be desirable to use a lot.

しかし、当該グループのユーザは、その情報が、当該グループの他のメンバ、または当該要求するユーザに関連付けられたアシスタント・モジュール122および123によりアクセス可能であることを望まないかもしれない。したがって、当該要求するユーザに関連付けられたアシスタント・モジュール122および123は、当該要求するユーザと異なる当該グループのユーザに対する情報への制限されたアクセスを有してもよい。したがって、当該要求するユーザに関連付けられたアシスタント・モジュール122および123は当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて元の推奨リストを生成してもよい。当該第1のプライバシ・レベル・データは当該グループのユーザに対するパブリック情報、および/または、当該グループのユーザがグループ推奨の目的のために利用可能にするのを同意した情報を含んでもよい。元の推奨リストが当該グループのユーザに対する制限されたデータに基づいて生成されるので、元の推奨リストは、当該要求するユーザに関連付けられたアシスタント・モジュール122および123が当該グループの他のユーザに対するプライベート情報に対するアクセスを有した場合ほど高品質でないかもしれない。   However, the users of the group may not want the information to be accessible by other members of the group or assistant modules 122 and 123 associated with the requesting user. Thus, assistant modules 122 and 123 associated with the requesting user may have limited access to information for users of the group different from the requesting user. Thus, assistant modules 122 and 123 associated with the requesting user may generate the original recommendation list based on the first privacy level data for the users of the group. The first privacy level data may include public information for users of the group, and / or information that users of the group agree to make available for the purpose of group recommendation. Since the original recommendation list is generated based on the restricted data for the users of the group, the original recommendation list is generated by the assistant modules 122 and 123 associated with the requesting user for the other users of the group. It may not be as high quality as having access to private information.

1つまたは複数の本開示の諸技術によれば、当該グループのユーザに関連付けられたアシスタント・モジュール122および123の夫々のアシスタント・モジュールは、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、当該グループに対する刈り取られた推奨リストに含めるための元の推奨リストから推奨を評価してもよい。例えば、当該グループの第1のユーザに関連付けられたアシスタント・モジュール122および123(例えば、アシスタント・モジュール122Aおよび/または123A)は、当該グループに対する当該刈り取られた推奨リストに含めるための元の推奨リストからの推奨を、当該第1のユーザに対する第2のプライバシ・レベル・データに基づいて評価してもよく、当該グループの第2のユーザに関連付けられたアシスタント・モジュール122および123(例えば、アシスタント・モジュール122Bおよび/または123B)は、当該グループに対する当該刈り取られた推奨リストに含めるための元の推奨リストからの推奨を、当該第2のユーザに対する第2のプライバシ・レベル・データに基づいて評価してもよい、等である。当該第2のプライバシ・レベル・データは当該第1のプライバシ・レベル・データより制限されてもよい。例えば、幾つかのデータはデフォルトで第2のプライバシ・レベル・データとしてマークされてもよく、かつ/または、当該グループのユーザは、データを第2のプライバシ・レベル・データとしてマークさせるように1つまたは複数の設定を調節していてもよい。   According to one or more techniques of the present disclosure, the respective assistant modules of assistant modules 122 and 123 associated with the users of the group are associated with a respective second privacy level for the users of the group. Based on the data, the recommendations may be evaluated from the original recommendations list for inclusion in the trimmed recommendations list for the group. For example, assistant modules 122 and 123 (e.g., assistant modules 122A and / or 123A) associated with the first user of the group may be included in the original recommendation list for inclusion in the cut recommendations list for the group. Recommendations from the second user may be evaluated based on second privacy level data for the first user, and assistant modules 122 and 123 associated with the second user of the group (e.g. Modules 122B and / or 123B) evaluate recommendations from the original recommendation list for inclusion in the cut recommendations list for the group based on the second privacy level data for the second user. And so on. The second privacy level data may be more restrictive than the first privacy level data. For example, some data may be marked as second privacy level data by default and / or users of the group may want to mark data as second privacy level data 1 One or more settings may be adjusted.

当該グループのユーザに関連付けられたアシスタント・モジュール122および123の夫々のアシスタント・モジュールは、当該評価の結果を当該要求するユーザに関連付けられたアシスタント・モジュール122および123に出力してもよい。例えば、当該グループのユーザに関連付けられたアシスタント・モジュール122および123の夫々のアシスタント・モジュールは、元の推奨リストの夫々の推奨ごとに、当該夫々の推奨を当該グループに対する当該刈り取られた推奨リストに含めるべきであるかどうかの指示を出力してもよい。特定のユーザに関連付けられたアシスタント・モジュール122および123は特定の推奨を当該刈り取られた推奨リストに含めるべきではないと判定してもよい。この場合、当該特定のユーザに対する第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する何等かのネガティブな嗜好を有することを示す。ユーザに対するデータはユーザが推奨に対するネガティブな嗜好を有し、当該データが、ユーザが当該推奨を受け入れず、当該推奨を好まず、当該推奨を受け入れ得るが別のオプション、または他の何等かのネガティブな含蓄を好むことを示すと示してもよい。しかし、当該要求するユーザに関連付けられたアシスタント・モジュール122および123には、当該評価の結果とともに正当化または説明が提供されなくてもよい。   The assistant modules of the assistant modules 122 and 123 associated with the users of the group may output the result of the evaluation to the assistant modules 122 and 123 associated with the requesting user. For example, the assistant modules of the assistant modules 122 and 123 associated with the users of the group, for each recommendation of the original recommendation list, put the respective recommendations into the cut recommendations list for the group You may output an indication of whether it should be included. The assistant modules 122 and 123 associated with a particular user may determine that the particular recommendation should not be included in the cut recommendations list. In this case, the second privacy level data for the particular user indicates that the particular user has some negative preference for the recommendation. The data for the user is that the user has a negative preference for the recommendation, the data is such that the user does not accept the recommendation, does not like the recommendation, can accept the recommendation but has another option, or any other negative It may be shown to indicate that it prefers However, the assistant modules 122 and 123 associated with the requesting user may not be provided with justification or an explanation along with the result of the evaluation.

当該要求するユーザに関連付けられたアシスタント・モジュール122および123は、当該評価の結果を受信し、元の推奨リストからの何等かの推奨を当該刈り取られた推奨リストに含めるべきであるかどうかを判定してもよい。当該グループのユーザに関連付けられたアシスタント・モジュール122および123の夫々のアシスタント・モジュールが当該推奨を当該刈り取られた推奨リストに含めるべきではないと判定しない場合、元の推奨リストからの推奨を当該刈り取られた推奨リストに含めるべきである。   The assistant modules 122 and 123 associated with the requesting user receive the results of the evaluation and determine whether any recommendations from the original recommendations list should be included in the cut-off recommendations list You may If the assistant module of each of the assistant modules 122 and 123 associated with the user of the group does not determine that the recommendation should not be included in the cut recommendation list, the cut recommendation from the original recommendation list is cut Should be included in the recommended list.

当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、当該要求するユーザに関連付けられたアシスタント・モジュール122および123は、当該グループのユーザに表示するために、当該刈り取られた推奨リストを出力してもよい。例えば、当該要求するユーザに関連付けられたアシスタント・モジュール122および123は当該刈り取られた推奨リストを当該グループの他のユーザに関連付けられたアシスタント・モジュール122および123に出力してもよく、アシスタント・モジュール122および123は、その関連付けられたユーザに提供するために表示、発話、または出力してもよい。元の推奨リストが当該グループのユーザに知られておらず、当該グループのユーザは、どのユーザのアシスタント・モジュールが推奨を当該刈り取られた推奨リストに含めなかったかを知らないので、当該グループのユーザに関連付けられたアシスタント・モジュール122および123の夫々のアシスタント・モジュールは、元の推奨リストからの推奨に対する暗黙の「拒否権」を効果的に有しうる。このように、アシスタント・モジュール122および123は、その関連付けられたユーザのプライベート情報のプライバシを依然として保存しつつ、より高品質のの推奨を提供することができる。   In response to the cut-off recommendations list including at least one recommendation, the assistant modules 122 and 123 associated with the requesting user select the cut-off recommendations to display to the users of the group. You may output a list. For example, assistant modules 122 and 123 associated with the requesting user may output the cut recommendation list to assistant modules 122 and 123 associated with other users of the group, the assistant module 122 and 123 may be displayed, spoken or output to be provided to the associated user. Since the original recommendation list is not known to the users of the group and the users of the group do not know which user's assistant module did not include the recommendation in the cut-off recommendations list, the users of the group Each assistant module of assistant modules 122 and 123 associated with may effectively have an implicit "deny right" for recommendations from the original recommendation list. In this manner, assistant modules 122 and 123 can provide higher quality recommendations while still preserving the privacy of their associated user's private information.

幾つかの例では、上述の例にように、当該要求するユーザは当該推奨が生成されるユーザのグループに含まれてもよい。例えば、ユーザはユーザおよび1つまたは複数の他のユーザに対する推奨を要求してもよい。したがって、かかる例では、当該推奨が当該要求するユーザに対するデータに基づいて生成されてもよい。幾つかの例では、当該要求するユーザは、当該推奨が生成されるユーザのグループに含まれなくてもよい。例えば、ユーザは他のユーザに対する推奨を要求してもよい(例えば、管理アシスタントが他のユーザのグループに対する推奨を要求してもよい)。したがって、かかる例では、当該推奨が当該要求するユーザに対するデータに基づいて生成されなくてもよい。   In some instances, as in the previous example, the requesting user may be included in the group of users for which the recommendation is generated. For example, the user may request recommendations for the user and one or more other users. Thus, in such an example, the recommendation may be generated based on data for the requesting user. In some instances, the requesting user may not be included in the group of users for which the recommendation is generated. For example, a user may request recommendations for other users (e.g., an administrative assistant may request recommendations for a group of other users). Thus, in such an example, the recommendation may not be generated based on data for the requesting user.

前述のアプローチにより提供される幾つかの利点には、1)ユーザの個人情報を利用して、当該ユーザを含むグループに対してより高品質の推奨を生成しつつ、独立なユーザの個人情報のプライバシを維持すること、2)より高品質の推奨を生成して、グループの合意に達するのに必要な、時間量、およびしたがって電力(例えば、バッテリ電力)を最小化することがある。   Some of the advantages provided by the above approach include: 1) utilizing the user's personal information to generate higher quality recommendations for the group that includes the user while maintaining the personal information of the independent user Maintaining privacy, 2) may generate higher quality recommendations to minimize the amount of time, and thus power (eg, battery power), needed to reach group agreement.

図2は、本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行するように構成される例示的なコンピューティング・デバイスを示すブロック図である。図2のコンピューティング・デバイス210を、図1のコンピューティング・デバイス110のコンピューティング・デバイスの1例として後述する。図2はコンピューティング・デバイス210の1つの特定の例のみを示しているが、コンピューティング・デバイス210の他の多くの例を他の事例で使用してもよく、例示的なコンピューティング・デバイス210に含まれるコンポーネントのサブセットを含んでもよく、または、図2に示されていない追加のコンポーネントを含んでもよい。   FIG. 2 is a block diagram illustrating an exemplary computing device configured to execute an exemplary virtual assistant in accordance with one or more aspects of the present disclosure. The computing device 210 of FIG. 2 is described below as an example of the computing device of the computing device 110 of FIG. Although FIG. 2 shows only one particular example of computing device 210, many other instances of computing device 210 may be used in other instances and the exemplary computing device A subset of components included in 210 may be included, or additional components not shown in FIG. 2 may be included.

図2の例に示すように、コンピューティング・デバイス210はユーザ・インタフェース・デバイス(USD)212、1つまたは複数のプロセッサ240、1つまたは複数の通信ユニット242、1つまたは複数の入力コンポーネント244、1つまたは複数の出力コンポーネント246、および1つまたは複数の記憶コンポーネント248を含む。USD212はディスプレイコンポーネント202、存在検知入力コンポーネント204、マイクロフォンコンポーネント206、およびスピーカコンポーネント208を含む。コンピューティング・デバイス210の記憶コンポーネント248は、UIモジュール220、アシスタント・モジュール222、検索モジュール282、1つまたは複数のアプリケーションモジュール226、およびユーザ情報データ・ストア224を含む。   As shown in the example of FIG. 2, the computing device 210 may be a user interface device (USD) 212, one or more processors 240, one or more communication units 242, one or more input components 244. , One or more output components 246, and one or more storage components 248. The USD 212 includes a display component 202, a presence detection input component 204, a microphone component 206, and a speaker component 208. Storage component 248 of computing device 210 includes UI module 220, assistant module 222, search module 282, one or more application modules 226, and user information data store 224.

通信チャネル250は、コンポーネント212、240、242、244、246、および248の各々をコンポーネント間通信のために(物理的に、通信可能に、および/または動作可能に)相互接続してもよい。幾つかの例では、通信チャネル250は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他の任意の方法を含んでもよい。   Communication channel 250 may interconnect (physically, communicatively and / or operatively) each of components 212, 240, 242, 244, 246, and 248 for inter-component communication. In some instances, communication channel 250 may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data.

コンピューティング・デバイス210の1つまたは複数の通信ユニット242は、1つまたは複数のネットワーク(例えば、図1のシステム100のネットワーク130)上でネットワーク信号を送受信することにより、1つまたは複数の有線および/または無線ネットワークを介して外部デバイス(例えば、図1のシステム100のアシスタントサーバシステム160および/または検索サーバシステム180)と通信してもよい。通信ユニット242の例は(例えば、イーサネット(登録商標)カードのような)ネットワークインタフェースカード、光送受信器、無線周波数送受信器、GPS受信器、または情報を送受信できる他の任意のタイプのデバイスを含む。通信ユニット242の他の例は短波無線、セルラデータ無線、無線ネットワーク無線、ならびにユニバーサル・シリアル・バス(USB)コントローラを含んでもよい。   One or more communication units 242 of the computing device 210 transmit and receive network signals over one or more networks (eg, the network 130 of the system 100 of FIG. 1) to generate one or more wired And / or may communicate with external devices (eg, assistant server system 160 and / or search server system 180 of system 100 of FIG. 1) via a wireless network. Examples of communication unit 242 include a network interface card (eg, an Ethernet card), an optical transceiver, a radio frequency transceiver, a GPS receiver, or any other type of device capable of transmitting and receiving information. . Other examples of communication unit 242 may include shortwave radio, cellular data radio, wireless network radio, as well as Universal Serial Bus (USB) controller.

コンピューティング・デバイス210の1つまたは複数の入力コンポーネント244は入力を受信してもよい。入力の例は触覚、オーディオ、およびビデオ入力である。コンピューティング・デバイス210の入力コンポーネント242は、1例では、存在感知入力デバイス(例えば、タッチセンシティブスクリーン、PSD)、マウス、キーボード、音声応答システム、カメラ、マイクロフォンまたは人間またはマシンからの入力を検出するための他の任意のタイプのデバイスを含む。幾つかの例では、入力コンポーネント242は、1つまたは複数のセンサコンポーネント、1つまたは複数の位置センサ(GPSコンポーネント、Wi−Fiコンポーネント、セルラコンポーネント)、1つまたは複数の温度センサ、1つまたは複数の移動センサ(例えば、加速度計、ジャイロスコープ)、1つまたは複数の圧力センサ(例えば、バロメータ)、1つまたは複数の周辺光センサ、および1つまたは複数の他のセンサ(例えば、赤外線近接性センサ、湿度計等)を含んでもよい。他のセンサは、他の非限定的な例を幾つか挙げると、心拍数センサ、磁気計、グルコースセンサ、湿度計センサ、嗅覚センサ、コンパスセンサ、ステップ・カウンタ・センサを含んでもよい。   One or more input components 244 of computing device 210 may receive input. Examples of inputs are tactile, audio and video input. The input component 242 of computing device 210, in one example, detects input from a presence sensitive input device (eg, touch sensitive screen, PSD), mouse, keyboard, voice response system, camera, microphone or human or machine For any other type of device. In some examples, the input component 242 can be one or more sensor components, one or more position sensors (GPS components, Wi-Fi components, cellular components), one or more temperature sensors, one or more Multiple motion sensors (eg, accelerometers, gyroscopes), one or more pressure sensors (eg, barometers), one or more ambient light sensors, and one or more other sensors (eg, infrared proximity) Sensor, a hygrometer, etc.). Other sensors may include heart rate sensors, magnetometers, glucose sensors, hygrometer sensors, olfactory sensors, compass sensors, step counter sensors, to name a few other non-limiting examples.

コンピューティング・デバイス110の1つまたは複数の出力コンポーネント246は出力を生成してもよい。出力の例は触覚、オーディオ、およびビデオ出力である。コンピューティング・デバイス210の出力コンポーネント246は、1例では、存在検知ディスプレイ、サウンドカード、ビデオグラフィックスアダプタカード、スピーカ、カソード・レイ・チューブ(CRT)モニタ、液晶ディスプレイ(LCD)、または人間またはマシンへの出力を生成するための他の任意のタイプのデバイスを含む。   One or more output components 246 of computing device 110 may generate output. Examples of outputs are haptic, audio and video output. The output component 246 of the computing device 210 is, in one example, a presence detection display, a sound card, a video graphics adapter card, a speaker, a cathode ray tube (CRT) monitor, a liquid crystal display (LCD), or a human or machine. Including any other type of device for generating output to.

コンピューティング・デバイス210のUID212は、コンピューティング・デバイス110のUID112と同様であってもよく、ディスプレイコンポーネント202、存在検知入力コンポーネント204、マイクロフォンコンポーネント206、およびスピーカコンポーネント208を含む。ディスプレイコンポーネント202は情報がUSD212により表示されるスクリーンであってもよく、存在検知入力コンポーネント204はディスプレイコンポーネント202でおよび/またはその近くでオブジェクトを検出しうる。スピーカコンポーネント208は可聴情報がUID212により再生されるスピーカであってもよく、マイクロフォンコンポーネント206は、ディスプレイコンポーネント202および/またはスピーカコンポーネント208でおよび/またはその近くで可聴入力を検出しうる。   UID 212 of computing device 210 may be similar to UID 112 of computing device 110 and includes display component 202, presence detection input component 204, microphone component 206, and speaker component 208. The display component 202 may be a screen on which information is displayed by the USD 212, and the presence detection input component 204 may detect an object at and / or near the display component 202. Speaker component 208 may be a speaker where audible information is reproduced by UID 212, and microphone component 206 may detect audible input at and / or near display component 202 and / or speaker component 208.

コンピューティング・デバイス210の内部コンポーネントとして示されているが、UID212は、入力および出力を送受信するためにコンピューティング・デバイス210とデータ経路を共有する外部コンポーネントを表してもよい。例えば、1例では、UID212は、コンピューティング・デバイス210の外部パッケージング内に配置されそこに物理的に接続されたコンピューティング・デバイス210の組み込みコンポーネント(例えば、携帯電話のスクリーン)を表す。別の例では、UID212は、コンピューティング・デバイス210のパッケージングまたは筐体の外部に配置されそこから物理的に分離したコンピューティング・デバイス210の外部コンポーネント(例えば、有線および/または無線データ経路をコンピューティング・デバイス210と共有するモニタ、プロジェクタ等)を表す。   Although shown as an internal component of computing device 210, UID 212 may represent an external component that shares a data path with computing device 210 to send and receive input and output. For example, in one example, the UID 212 represents an embedded component of the computing device 210 (e.g., a screen of a mobile phone) disposed within and physically connected to an external packaging of the computing device 210. In another example, the UID 212 is located external to the packaging or enclosure of the computing device 210 and is physically separated from the external components of the computing device 210 (eg, wired and / or wireless data paths) The monitor, projector, etc. shared with the computing device 210).

1つの例示的な範囲として、存在感知入力コンポーネント204は、ディスプレイコンポーネント202から2インチ以下内にある指またはスタイラスのようなオブジェクトを検出してもよい。存在感知入力コンポーネント204は、当該オブジェクトが検出されたディスプレイコンポーネント202の位置(例えば、[x、y]座標)を決定してもよい。別の例示的な範囲では、存在感知入力コンポーネント204は、ディスプレイコンポーネント202から6インチ以下のオブジェクトを検出してもよく、他の範囲も可能である。存在感知入力コンポーネント204は、ユーザの指により選択されたディスプレイコンポーネント202の位置を、静電容量、誘導、および/または光認識技術を用いて決定してもよい。幾つかの例では、存在感知入力コンポーネント204はまた、ディスプレイコンポーネント202に関して説明したように、触覚、オーディオ、またはビデオ刺激を用いて、出力をユーザに提供する。図2の例では、PSD212は(図1のグラフィカルユーザ・インタフェース114のような)ユーザ・インタフェースを提供してもよい。   As one exemplary range, the presence sensing input component 204 may detect an object such as a finger or stylus that is within 2 inches or less from the display component 202. The presence sensing input component 204 may determine the position (e.g., [x, y] coordinates) of the display component 202 at which the object was detected. In another exemplary range, the presence sensing input component 204 may detect objects 6 inches or less from the display component 202, and other ranges are possible. The presence sensing input component 204 may determine the position of the display component 202 selected by the user's finger using capacitive, inductive, and / or light recognition techniques. In some examples, the presence sensing input component 204 also provides output to the user using haptic, audio, or video stimulation as described for the display component 202. In the example of FIG. 2, PSD 212 may provide a user interface (such as graphical user interface 114 of FIG. 1).

スピーカコンポーネント208は、コンピューティング・デバイス210の筐体へのスピーカビルトインを備えてもよく、幾つかの例では、コンピューティング・デバイス210に動作可能に接続された1組の有線または無線のヘッドフォンに対するスピーカビルトインであってもよい。マイクロフォンコンポーネント206は、UID212でまたはその近くで発生する可聴入力を検出してもよい。マイクロフォンコンポーネント206は、背景雑音を除去しユーザ会話を検出された音声信号から隔離するための様々な雑音除去技術を実施してもよい。   The speaker component 208 may comprise a speaker built-in to the housing of the computing device 210, and in some instances, to a set of wired or wireless headphones operatively connected to the computing device 210. It may be a speaker built-in. Microphone component 206 may detect an audible input occurring at or near UID 212. Microphone component 206 may implement various denoising techniques to remove background noise and isolate user speech from the detected speech signal.

コンピューティング・デバイス210のUID212は、2次元および/または3次元ジェスチャをコンピューティング・デバイス210のユーザからの入力として検出してもよい。例えば、UID212のセンサは、UID212の当該センサの閾値距離内におけるユーザの移動(例えば、手、腕、ペン、スタイラス等の移動)を検出してもよい。UID212は、当該移動の2次元または3次元ベクトル表現を決定し、当該ベクトル表現を複数の次元を有するジェスチャ入力(例えば、ハンドウェーブ、ピンチ、拍手、ペンストローク等)に相関付けてもよい。換言すれば、UID212は、UID212が表示のための情報を出力するスクリーンまたはサーフェスでまたはその近傍でユーザがジェスチャすることを要求せずに、多次元ジェスチャを検出することができる。その代わり、UID212は、UID212が表示のための情報を出力するスクリーンまたはサーフェスでまたはその近くに存在しうるかまたは存在しえないセンサでまたはその近くで実施された多次元ジェスチャを検出することができる。   UID 212 of computing device 210 may detect two-dimensional and / or three-dimensional gestures as input from a user of computing device 210. For example, the sensor of UID 212 may detect movement of the user within a threshold distance of the sensor of UID 212 (e.g. movement of a hand, an arm, a pen, a stylus, etc.). The UID 212 may determine a two-dimensional or three-dimensional vector representation of the movement, and correlate the vector representation to gesture inputs having multiple dimensions (eg, hand waves, pinches, clapping, pen strokes, etc.). In other words, the UID 212 can detect multi-dimensional gestures without requiring the user to make a gesture on or near the screen or surface on which the UID 212 outputs information for display. Instead, the UID 212 can detect multi-dimensional gestures performed at or near sensors that may or may not be present at or near the screen or surface where the UID 212 outputs information for display. .

1つまたは複数のプロセッサ240は、コンピューティング・デバイス210に関連付けられた機能を実装しかつ/または命令を実行してもよい。プロセッサ240の例は、アプリケーションプロセッサ、ディスプレイコントローラ、補助プロセッサ、1つまたは複数のセンサハブ、およびプロセッサ、処理ユニット、または処理デバイスとして機能するように構成された他の任意のハードウェアを含む。モジュール220、222、226、および282は、コンピューティング・デバイス210の様々なアクション、動作、または機能を実施するようにプロセッサ240により動作可能であってもよい。例えば、コンピューティング・デバイス210のプロセッサ240は、プロセッサ240に当該動作モジュール220、222、226、および282を実施させる記憶コンポーネント248により格納された命令を取り出し、実行してもよい。当該命令は、プロセッサ240により実行されたとき、コンピューティング・デバイス210に、記憶コンポーネント248内に情報を格納させてもよい。   One or more processors 240 may implement functionality and / or execute instructions associated with computing device 210. Examples of processor 240 include an application processor, a display controller, an auxiliary processor, one or more sensor hubs, and any other hardware configured to function as a processor, a processing unit, or a processing device. Modules 220, 222, 226, and 282 may be operable by processor 240 to perform various actions, operations, or functions of computing device 210. For example, processor 240 of computing device 210 may retrieve and execute instructions stored by storage component 248 that cause processor 240 to perform such operational modules 220, 222, 226, and 282. The instructions may cause the computing device 210 to store information in the storage component 248 when executed by the processor 240.

コンピューティング・デバイス210内の1つまたは複数の記憶コンポーネント248は、コンピューティング・デバイス210の動作中の処理のための情報を格納してもよい(例えば、コンピューティング・デバイス210は、コンピューティング・デバイス210での実行中にモジュール220、222、226、および282によりアクセスされるデータを格納してもよい)。幾つかの例では、記憶コンポーネント248は一時メモリであり、これは、記憶コンポーネント248の主な目的が長期記憶でないことを意味する。コンピューティング・デバイス210上の記憶コンポーネント248は、揮発性メモリとしての情報の短期記憶に関して構成されてもよく、したがって、電源がオフの場合に、格納されたコンテンツを保持しない。揮発性メモリの例はランダム・アクセスメモリ(RAM)、動的ランダム・アクセスメモリ(DRAM)、静的ランダム・アクセスメモリ(SRAM)、および当業界で公知な他の形態の揮発性メモリを含む。   One or more storage components 248 within the computing device 210 may store information for processing during operation of the computing device 210 (e.g., computing device 210 is a computing device). Data accessed by modules 220, 222, 226, and 282 during execution on device 210 may be stored). In some instances, storage component 248 is a temporary memory, which means that the primary purpose of storage component 248 is not long-term storage. Storage component 248 on computing device 210 may be configured for short-term storage of information as volatile memory, and thus does not hold stored content when powered off. Examples of volatile memory include random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), and other forms of volatile memory known in the art.

記憶コンポーネント248はまた、幾つかの例において、1つまたは複数のコンピュータ可読記憶媒体を含む。幾つかの例において、記憶コンポーネント248は1つまたは複数の非一時的コンピュータ可読記憶媒体を含む。記憶コンポーネント248を、一般に揮発性メモリにより格納されたものよりも大量の情報を格納するように構成してもよい。記憶コンポーネント248をさらに、不揮発性メモリ空間としての情報の長期記憶のために構成してもよく、電源のオン/オフのサイクルの後に情報を保持してもよい。不揮発性メモリの例は、磁気ハードディスク、光ディスク、フロッピーディスク、、または電気的プログラム可能メモリ(EPROM)または電気的消去可能およびプログラム可能(EEPROM)メモリの形態を含む。記憶コンポーネント248はモジュール220、222、226、および282ならびにデータ・ストア224に関連付けられたプログラム命令および/または情報(例えば、データ)を格納してもよい。記憶コンポーネント248はモジュール220、222、226、および282ならびにデータ・ストア224に関連付けられたデータまたは他の情報を格納するように構成されたメモリを含んでもよい。   Storage component 248 also includes one or more computer readable storage media in some examples. In some instances, storage component 248 includes one or more non-transitory computer readable storage media. Storage component 248 may be configured to store a larger amount of information than that generally stored by volatile memory. Storage component 248 may further be configured for long term storage of information as non-volatile memory space, and may retain information after power on / off cycles. Examples of non-volatile memory include the form of magnetic hard disks, optical disks, floppy disks, or electrically programmable memory (EPROM) or electrically erasable and programmable (EEPROM) memory. Storage component 248 may store modules 220, 222, 226, and 282 and program instructions and / or information (eg, data) associated with data store 224. Storage component 248 may include modules 220, 222, 226, and 282 and memory configured to store data or other information associated with data store 224.

UIモジュール220は図1のコンピューティング・デバイス110のUIモジュール120の全ての機能を含んでもよく、コンピューティング・デバイス210が、コンピューティング・デバイス110のユーザとアシスタント・モジュール222の間の対話を促進するためのUSD212で提供するユーザ・インタフェース(例えば、ユーザ・インタフェース114)を管理するためのUIモジュール120と同様な動作を実施してもよい。例えば、コンピューティング・デバイス210のUIモジュール220は、アシスタント・ユーザ・インタフェース(例えば、ユーザ・インタフェース114)を出力する(例えば、音声の表示または再生)ための命令を含む情報を、アシスタント・モジュール222から受信してもよい。UIモジュール220は、アシスタント・モジュール222からの情報を通信チャネル250で受信し、当該データを用いてユーザ・インタフェースを生成してもよい。UIモジュール220は、ディスプレイコマンドおよび可聴出力コマンドおよび関連するデータを通信チャネル250で送信して、UID212にユーザ・インタフェースをUID212で提供させてもよい。   UI module 220 may include all the functionality of UI module 120 of computing device 110 of FIG. 1, with computing device 210 facilitating the interaction between the user of computing device 110 and assistant module 222. The same operations as the UI module 120 for managing a user interface (for example, the user interface 114) provided by the USD 212 may be performed. For example, the UI module 220 of the computing device 210 may send information to the assistant module 222 including instructions for outputting an assistant user interface (eg, user interface 114) (eg, displaying or playing sound). You may receive from. The UI module 220 may receive the information from the assistant module 222 over the communication channel 250 and use the data to generate a user interface. UI module 220 may transmit display commands and audible output commands and associated data over communication channel 250 to cause UID 212 to provide a user interface with UID 212.

幾つかの例では、UIモジュール220は、UID212で検出された1つまたは複数のユーザ入力の指示を受信し、ユーザ入力に関する情報をアシスタント・モジュール222に出力してもよい。例えば、UID212は、音声入力をユーザから検出し、当該音声入力に関するデータをUIモジュール220に送信してもよい。   In some examples, UI module 220 may receive an indication of one or more user inputs detected at UID 212 and may output information regarding the user inputs to assistant module 222. For example, the UID 212 may detect voice input from the user and send data regarding the voice input to the UI module 220.

UIモジュール220は当該音声入力の指示をさらなる解釈のためにアシスタント・モジュール222に送信してもよい。アシスタント・モジュール222は、当該音声入力に基づいて、当該検出された音声入力が、アシスタント・モジュール222が1つまたは複数のタスクを実施するためのユーザ要求を表すと判定してもよい。   The UI module 220 may send an indication of the voice input to the assistant module 222 for further interpretation. The assistant module 222 may determine based on the speech input that the detected speech input represents a user request for the assistant module 222 to perform one or more tasks.

アプリケーションモジュール226は、ユーザに情報を提供しかつ/またはタスクを実施するアシスタント・モジュール222のようなアシスタントによりアクセスされうる、コンピューティング・デバイス210で実行されておりそこからアクセス可能な全ての様々な独立なアプリケーションおよびサービスを表す。コンピューティング・デバイス210のユーザは、1つまたは複数のアプリケーションモジュール226に関連付けられたユーザ・インタフェースと対話して、コンピューティング・デバイス210に機能を実施させてもよい。アプリケーションモジュール226の多数の例が存在してもよく、フィットネスアプリケーション、カレンダアプリケーション、パーソナルアシスタントまたは予測エンジン、検索アプリケーション、地図またはナビゲーションアプリケーション、輸送サービスアプリケーション(例えば、バスまたは列車の追跡アプリケーション)、ソーシャルメディアアプリケーション、ゲームアプリケーション、電子メールアプリケーション、チャットまたはメッセージングアプリケーション、インターネットブラウザアプリケーション、またはコンピューティング・デバイス210で実行しうる任意のおよび全ての他のアプリケーションを含んでもよい。   The application module 226 may be any of a variety of things executed by and accessible from the computing device 210 that may be accessed by an assistant such as the assistant module 222 providing information to the user and / or performing tasks. Represents independent applications and services. A user of computing device 210 may interact with a user interface associated with one or more application modules 226 to cause computing device 210 to perform a function. There may be numerous examples of application modules 226, such as fitness applications, calendar applications, personal assistants or prediction engines, search applications, map or navigation applications, transport services applications (eg bus or train tracking applications), social media Applications, gaming applications, email applications, chat or messaging applications, Internet browser applications, or any and all other applications that may run on computing device 210.

コンピューティング・デバイス210の検索モジュール282は、コンピューティング・デバイス210の代わりに統合された検索機能を実施してもよい。検索モジュール282を、UIモジュール220、アプリケーションモジュール226、および/またはアシスタント・モジュール222のうち1つまたは複数により起動して、検索動作をその代わりに実施してもよい。起動されたとき、検索モジュール282は様々なローカルおよびリモートの情報ソースにわたって生成された検索クエリに基づいて検索クエリを生成し検索を実行するような、検索機能を実施してもよい。検索モジュール282は実行された検索の結果を当該起動コンポーネントまたはモジュールに提供してもよい。即ち、検索モジュール282は、起動コマンドに応答して、検索結果をUIモジュール220、アシスタント・モジュール222、および/またはアプリケーションモジュール226に出力してもよい。   The search module 282 of computing device 210 may perform integrated search functionality on behalf of computing device 210. The search module 282 may be invoked by one or more of the UI module 220, the application module 226, and / or the assistant module 222 to perform the search operation instead. When invoked, the search module 282 may perform search functions such as generating search queries and performing searches based on search queries generated across various local and remote information sources. The search module 282 may provide the results of the performed search to the launch component or module. That is, the search module 282 may output search results to the UI module 220, the assistant module 222, and / or the application module 226 in response to the activation command.

アシスタント・モジュール222は、図1のコンピューティング・デバイス110のコンピューティング・デバイスのローカルアシスタント・モジュール122のローカルアシスタント・モジュールの全ての機能を含んでもよく、アシスタントを提供するために当該ローカルアシスタント・モジュールと同様な動作を実施してもよい。幾つかの例では、アシスタント・モジュール222は、ローカルに(例えば、プロセッサ240で)実行して、アシスタント機能を提供してもよい。幾つかの例では、アシスタント・モジュール222が、コンピューティング・デバイス210にアクセス可能なリモートアシスタントサービスへのインタフェースとして動作してもよい。例えば、アシスタント・モジュール222が、図1のアシスタントサーバシステム160のリモートアシスタント・モジュール124のリモートアシスタント・モジュールへのインタフェースまたはアプリケーションプログラミングインタフェース(API)であってもよい。   The assistant module 222 may include all features of the local assistant module of the local assistant module 122 of the computing device of the computing device 110 of FIG. The same operation may be performed. In some examples, assistant module 222 may execute locally (eg, at processor 240) to provide assistant functionality. In some examples, assistant module 222 may act as an interface to a remote assistant service accessible to computing device 210. For example, assistant module 222 may be an interface or application programming interface (API) to the remote assistant module of remote assistant module 124 of assistant server system 160 of FIG.

図1のシステム100のユーザ情報データ・ストア124および125と同様に、ユーザ情報データ・ストア224は、アシスタント・モジュール222がコンピューティング・デバイス210のユーザに関して学習したかまたは提供されてきた情報を含む、アシスタント・モジュール222により作成された個人記録を格納してもよい。アシスタント・モジュール222は、検索モジュール282により提供された任意の情報に加えて、データ・ストア224に格納された情報に依存して、アシスタントタスクを実施してもよい。   Similar to the user information data stores 124 and 125 of the system 100 of FIG. , Personal records created by the assistant module 222 may be stored. The assistant module 222 may perform the assistant task depending on the information stored in the data store 224 in addition to any information provided by the search module 282.

図1のアシスタント・モジュール122および123と同様に、アシスタント・モジュール222はユーザのグループに対する推奨を生成するように構成されてもよい。例えば、アシスタント・モジュール222は、当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて元の推奨リストを生成し、当該グループの他のユーザに関連付けられた計算アシスタントによる評価のために元の推奨リストを出力してもよい。アシスタント・モジュール222は、当該グループの他のユーザに関連付けられた計算アシスタントから、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかかどうかの指示を受信してもよい。幾つかの例では、当該指示はポジティブであってもよい。例えば、当該グループの別のユーザに関連付けられた計算アシスタントは、アシスタント・モジュール222に、当該刈り取られた推奨リストに含めるために承認された元の推奨リストからの推奨リストを出力してもよい。幾つかの例では、当該指示はネガティブであってもよい。例えば、当該グループの別のユーザに関連付けられた計算アシスタントは、アシスタント・モジュール222に、当該刈り取られた推奨リストに含めるために承認されていない元の推奨リストからの推奨リスト(即ち、別のユーザに関連付けられた計算アシスタントが拒否する元の推奨リストからの推奨リスト)を出力してもよい。   Similar to assistant modules 122 and 123 of FIG. 1, assistant module 222 may be configured to generate recommendations for a group of users. For example, the assistant module 222 may generate an original recommendation list based on first privacy level data for the users of the group, and may generate the original recommendations for evaluation by computational assistants associated with other users of the group. You may output a list of recommendations for Assistant module 222 may receive from the calculation assistant associated with other users of the group an indication of whether recommendations from the original recommendation list should be included in the cut-off recommendation list for the group . In some instances, the indication may be positive. For example, a calculation assistant associated with another user of the group may output to the assistant module 222 a recommendation list from the original recommendation list that has been approved for inclusion in the cropped recommendation list. In some instances, the indication may be negative. For example, a calculation assistant associated with another user of the group may send the assistant module 222 a recommendation list from the original recommendation list that has not been approved for inclusion in the cut recommendation list (ie, another user The recommendation list from the original recommendation list that the calculation assistant associated with is rejected may be output.

当該グループのユーザに関連付けられた計算アシスタントは当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて当該指示を生成してもよい。上述のように、当該第2のプライバシ・レベルでマークされたデータの利用が、当該第1のプライバシ・レベルでマークされたデータより制限されてもよい。上述のように、当該グループのユーザに、どのデータが当該第2のプライバシ・レベルとしてマークされるかを制御するためのオプションを提供してもよく、当該グループの他のユーザに関連付けられた計算アシスタントは、グループ推奨を生成するための当該第2のプライバシ・レベルでマークされたデータを使用するための同意を受信してもよい。   The computational assistant associated with the users of the group may generate the indication based on the respective second privacy level data for the users of the group. As mentioned above, the use of data marked at the second privacy level may be more restricted than data marked at the first privacy level. As mentioned above, the users of the group may be provided with an option to control which data is marked as the second privacy level, and calculations associated with other users of the group The assistant may receive consent to use the data marked at the second privacy level to generate a group recommendation.

当該グループの特定のユーザに関連付けられた計算アシスタントは特定の推奨を当該刈り取られた推奨リストに含めるべきではないと判定してもよい。この場合、当該特定のユーザに対する第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する何等かのネガティブな嗜好を有することを示す。ユーザに対するデータはユーザが推奨に対するネガティブな嗜好を有し、当該データが、ユーザが当該推奨を受け入れず、当該推奨を好まず、当該推奨を受け入れ得るが別のオプション、または他の何等かのネガティブな含蓄を好むことを示すと示してもよい。   A computational assistant associated with a particular user of the group may determine that the particular recommendation should not be included in the cut-off recommendation list. In this case, the second privacy level data for the particular user indicates that the particular user has some negative preference for the recommendation. The data for the user is that the user has a negative preference for the recommendation, the data is such that the user does not accept the recommendation, does not like the recommendation, can accept the recommendation but has another option, or any other negative It may be shown to indicate that it prefers

アシスタント・モジュール222は当該計算アシスタントにより実施された評価に基づいて当該刈り取られた推奨リストを生成してもよい。例えば、アシスタント・モジュール222は元の推奨リストに含まれる夫々の推奨が当該計算アシスタントの少なくとも1つにより拒否されたかどうかを判定してもよい。元の推奨リストからの推奨が当該計算アシスタントの何れによっても拒否されなかった場合、アシスタント・モジュール222は当該推奨を当該刈り取られた推奨リストに含めてもよい。   The assistant module 222 may generate the cut recommendation list based on the evaluation performed by the calculation assistant. For example, assistant module 222 may determine whether each recommendation included in the original recommendation list has been rejected by at least one of the calculation assistants. If the recommendations from the original recommendations list were not rejected by any of the calculation assistants, the assistant module 222 may include the recommendations in the cut recommendations list.

当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して(即ち、元の推奨リストからの少なくとも1つの推奨が当該グループのユーザに関連付けられた計算アシスタントの何れによっても拒否されなかった場合)、アシスタント・モジュール222は、当該グループのユーザに表示するために当該刈り取られた推奨リストを出力してもよい。1例として、アシスタント・モジュール222はUIモジュール220に、ディスプレイコンポーネント202を介して、当該刈り取られた推奨リストを含むGUIを表示させてもよい。別の例として、アシスタント・モジュール222はUIモジュール220に、スピーカコンポーネント208を介して、当該刈り取られた推奨リストを含む合成された会話を出力させてもよい。別の例として、アシスタント・モジュール222は当該刈り取られた推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよい。当該計算アシスタントは次いで、当該刈り取られた推奨リストをその夫々のユーザに表示、発話、または出力してもよい。   In response to the cropped recommendations list including at least one recommendation (ie, at least one recommendation from the original recommendations list was not rejected by any of the calculation assistants associated with the users of the group If so, the assistant module 222 may output the cut recommendations list for display to the users of the group. As one example, the assistant module 222 may cause the UI module 220 to display, via the display component 202, a GUI that includes the clipped recommendation list. As another example, the assistant module 222 may cause the UI module 220 to output, via the speaker component 208, the synthesized conversation including the cut recommendation list. As another example, the assistant module 222 may output the cut recommendation list to calculation assistants associated with other users of the group. The calculation assistant may then display, speak or output the cut recommendation list to its respective user.

幾つかの例では、当該刈り取られた推奨リストは推奨を含まなくてもよい。例えば、元の推奨リストからの全ての推奨が当該グループのユーザに関連付けられた計算アシスタントの少なくとも1つの計算アシスタントにより拒否されるかもしれない。幾つかの例では、アシスタント・モジュール222は、コンピューティング・デバイス210のユーザに、アシスタント・モジュール222が当該グループに対する推奨を生成できなかったことを知らせてもよい。しかし、特に推奨が、ユーザが当該推奨に対する何等かのネガティブな嗜好を有することに基づいて刈り取られた場合には、アシスタント・モジュール222が当該グループに対して推奨を生成できないのが望ましいかもしれない。   In some instances, the cut recommendations list may not include recommendations. For example, all recommendations from the original recommendations list may be rejected by at least one calculation assistant of the calculation assistant associated with the user of the group. In some examples, assistant module 222 may inform the user of computing device 210 that assistant module 222 could not generate a recommendation for the group. However, it may be desirable for the assistant module 222 not to generate recommendations for the group, especially if the recommendations are clipped based on the user having some negative preference for the recommendations .

1つまたは複数の本開示の諸技術によれば、アシスタント・モジュール222は当該グループのユーザに関連付けられた計算アシスタントに、当該グループのユーザに対する重み付けされた第2のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価させてもよい。1例として、当該グループの特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、元の推奨リストからの推奨を当該改良された刈り取られた推奨リストに含めるべきではないと判定してもよい。別の例として、当該グループの特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、元の推奨リストからの推奨を当該改良された刈り取られた推奨リストに含めるべきであると判定してもよい。   In accordance with one or more techniques of the present disclosure, the assistant module 222 causes the computational assistant associated with the users of the group to use the weighted second privacy level data for the users of the group. The recommendations from the original recommendations list may be evaluated for inclusion in the improved reaped recommendations list. As an example, a calculation assistant associated with a particular user of the group may have second privacy level data for a particular user of the group such that the particular user has a complete negative preference for the recommendation. In response to determining that it indicates, it may be determined that recommendations from the original recommendation list should not be included in the improved reaped recommendation list. As another example, a calculation assistant associated with a particular user of the group may have second privacy level data for a particular user of the group that the particular user has a partially negative preference for the recommendation. In response to determining that it indicates that it has, it may be determined that recommendations from the original recommendation list should be included in the improved reaped recommendation list.

ユーザに対するデータは、ユーザが推奨に対する完全にネガティブな嗜好を有し、当該データが、ユーザが当該推奨を受け入れず、当該推奨を好まず、当該推奨を決して受け入れないこと、または他の任意の完全にネガティブな嗜好を示すと示してもよい。例えば、ユーザがベジタリアンであることを示すデータが、ユーザがステーキハウスに行くことについて立腹している場合に、ユーザが完全にネガティブな嗜好を有することを示してもよい。ユーザに対するデータはユーザが推奨に対する部分的にネガティブな嗜好を有し、当該データが、ユーザは当該推奨を受け入れ得るが別のオプションを好み、通常は当該推奨を好まないが当該グループのために当該推奨を受け入れること、または他の任意の緩和的な含蓄を示すと示してもよい。例えば、ユーザがベジタリアンであることを示すデータが、ユーザがサラダを注文するのに関してOKである場合に、ユーザが部分的にネガティブな嗜好を有することを示してもよい。   The data for the user is that the user has a completely negative preference for the recommendation, the data does not accept the recommendation, the user does not accept the recommendation, never accepts the recommendation, or any other complete May indicate negative preferences. For example, data indicating that the user is a vegetarian may indicate that the user has a completely negative preference if the user is angry about going to the steakhouse. The data for the user is that the user has a partially negative preference for the recommendation and the data allow the user to accept the recommendation but prefer another option, and usually do not like the recommendation but for the group It may be shown to accept recommendations or to indicate any other palliative connotations. For example, data indicating that the user is a vegetarian may indicate that the user has a partially negative preference if it is OK for the user to order a salad.

アシスタント・モジュール222は、当該計算アシスタントにより実施された評価に基づいて改良された刈り取られた推奨リストを生成してもよい。例えば、アシスタント・モジュール222は、当該重み付けされたデータに基づいて、元の推奨リストに含まれる夫々の推奨が当該計算アシスタントの少なくとも1つにより拒否されたかどうかを判定してもよい。元の推奨リストからの推奨が当該重み付けされたデータに基づいて当該計算アシスタントの何れによっても拒否されなかった場合、アシスタント・モジュール222は当該推奨を当該改良された刈り取られた推奨リストに含めてもよい。   The assistant module 222 may generate an improved cropped recommendation list based on the evaluation performed by the calculation assistant. For example, assistant module 222 may determine, based on the weighted data, whether each recommendation included in the original recommendation list has been rejected by at least one of the calculation assistants. If a recommendation from the original recommendation list is not rejected by any of the calculation assistants based on the weighted data, the assistant module 222 may also include the recommendation in the improved reaped recommendation list Good.

当該改良された刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、アシスタント・モジュール222は当該グループのユーザに表示するために当該改良された刈り取られた推奨リストを出力してもよい。1例として、アシスタント・モジュール222はUIモジュール220に、ディスプレイコンポーネント202を介して、当該改良された刈り取られた推奨リストを含むGUIを表示させてもよい。別の例として、アシスタント・モジュール222はUIモジュール220に、スピーカコンポーネント208を介して、当該改良された刈り取られた推奨リストを含む合成された会話を出力させてもよい。別の例として、アシスタント・モジュール222は当該改良された刈り取られた推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよく、当該計算アシスタントは次いで、当該改良された刈り取られた推奨リストをその夫々のユーザに表示、発話、または出力してもよい。   In response to the improved cropped recommendations list including at least one recommendation, the assistant module 222 may also output the modified cropped recommendations list for display to the user of the group Good. As one example, the assistant module 222 may cause the UI module 220 to display, via the display component 202, a GUI that includes the improved cropped recommendations list. As another example, the assistant module 222 may cause the UI module 220 to output, via the speaker component 208, the synthesized conversation including the improved clipped recommendations list. As another example, the assistant module 222 may output the improved cropped recommendation list to the computational assistant associated with the other users of the group, and the computational assistant then generates the improved cropped information. The suggested list may be displayed, spoken or output to its respective user.

幾つかの例では、アシスタント・モジュール222を含む、当該グループのユーザに関連付けられた計算アシスタントは、(刈り取られたかまたは改良され刈り取られた)推奨リストを生成するために使用される当該データの任意の指示の出力を控えてもよい。例えば、当該計算アシスタントは、当該推奨リストが、第2のプライバシ・レベル・データに基づくか(即ち、当該刈り取られたリストであるか)または重み付けされた第2のプライバシ・レベル・データに基づくか(即ち、当該改良された刈り取られたリストであるか)どうかを示すのを控えてもよい。当該計算アシスタントは元の推奨リストの任意の指示を出力するのを控えてもよい。したがって、当該計算アシスタントが、グループ・メンバのプライベートデータに基づいて、当該プライベートデータを示すことなく、グループ推奨を生成できてもよい。このように、当該計算アシスタントはグループに対するより高品質の推奨を生成してもよい。   In some instances, the calculation assistants associated with the users of the group, including the assistant module 222, may use any of the data that is used to generate the recommendation list (clipped or improved and clipped) You may refrain from the output of instructions. For example, whether the calculation assistant is based on the second privacy level data (i.e. is the pruned list) or based on the weighted second privacy level data It may refrain from showing (i.e., whether it is the improved cropped list). The calculation assistant may refrain from outputting any indication of the original recommendation list. Thus, the calculation assistant may be able to generate a group recommendation based on the group member's private data without showing the private data. In this way, the calculation assistant may generate higher quality recommendations for the group.

図3は、本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行するように構成された例示的なコンピューティングシステムを示すブロック図である。図3のアシスタントサーバシステム360を、図1のアシスタントサーバシステム160の1例として後述する。図3はアシスタントサーバシステム360の1つの特定の例を示すにすぎず、アシスタントサーバシステム360の他の多くの例を他の事例で使用してもよく、例示的なアシスタントサーバシステム360に含まれるコンポーネントのサブセットを含んでもよく、または、図3に示されていない追加のコンポーネントを含んでもよい   FIG. 3 is a block diagram illustrating an example computing system configured to execute an example virtual assistant in accordance with one or more aspects of the present disclosure. The assistant server system 360 of FIG. 3 will be described later as an example of the assistant server system 160 of FIG. FIG. 3 only illustrates one particular example of assistant server system 360, and many other examples of assistant server system 360 may be used in other instances and are included in exemplary assistant server system 360. It may include a subset of components or may include additional components not shown in FIG.

図3の例に示すように、アシスタントサーバシステム360はユーザの1つまたは複数のプロセッサ340、1つまたは複数の通信ユニット342、および1つまたは複数の記憶デバイス348を含む。記憶デバイス348はアシスタント・モジュール322、検索モジュール382、およびユーザ情報データ・ストア325A乃至325N(集合的に、「ユーザ情報データ・ストア325」)を含む。   As shown in the example of FIG. 3, assistant server system 360 includes one or more processors 340 of the user, one or more communication units 342, and one or more storage devices 348. Storage device 348 includes an assistant module 322, a search module 382, and user information data stores 325A through 325N (collectively, "user information data stores 325").

プロセッサ340は図2のコンピューティングシステム210のプロセッサ240と同様である。通信ユニット342は図2のコンピューティングシステム210の通信ユニット242と同様である。記憶デバイス348は図2のコンピューティングシステム210の記憶デバイス248と同様である。通信チャネル350は図2のコンピューティングシステム210の通信チャネル250と同様であり、したがって、コンポーネント間通信のためにコンポーネント340、342、および348の各々を相互接続してもよい。幾つかの例では、通信チャネル350は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他の任意の方法を含んでもよい。   Processor 340 is similar to processor 240 of computing system 210 of FIG. Communication unit 342 is similar to communication unit 242 of computing system 210 of FIG. Storage device 348 is similar to storage device 248 of computing system 210 of FIG. Communication channel 350 is similar to communication channel 250 of computing system 210 of FIG. 2, and thus may interconnect each of components 340, 342, and 348 for inter-component communication. In some instances, communication channel 350 may include a system bus, a network connection, an inter-process communication data structure, or any other method for communicating data.

アシスタントサーバシステム360の検索モジュール382はコンピューティング・デバイス210の検索モジュール282と同様であり、アシスタントサーバシステム360のの代わりに統合された検索機能を実施してもよい。即ち、検索モジュール482は、アシスタント・モジュール322の代わりに検索動作を実施してもよい。幾つかの例では、検索モジュール382は、外部検索システムとインタフェースして、アシスタント・モジュール322の代わりに検索動作を実施してもよい。起動されたとき、検索モジュール382は様々なローカルおよびリモート情報ソースにわたって生成された検索クエリに基づいて検索クエリを生成し検索を実行するような、検索機能を実施してもよい。検索モジュール382は実行された検索の結果を当該起動コンポーネントまたはモジュールに提供してもよい。即ち、検索モジュール382は検索結果をアシスタント・モジュール322に出力してもよい。   The search module 382 of the assistant server system 360 is similar to the search module 282 of the computing device 210 and may implement an integrated search function instead of the assistant server system 360. That is, search module 482 may perform a search operation instead of assistant module 322. In some instances, search module 382 may interface with an external search system to perform search operations instead of assistant module 322. When invoked, search module 382 may implement a search function, such as generating search queries and performing searches based on search queries generated across various local and remote information sources. The search module 382 may provide the results of the executed search to the launch component or module. That is, the search module 382 may output the search result to the assistant module 322.

アシスタント・モジュール322は、図1のローカルアシスタント・モジュール122のローカルアシスタント・モジュールおよびリモートアシスタント・モジュール123のリモートアシスタント・モジュール、ならびに図2のコンピューティング・デバイス210のアシスタント・モジュール222の全ての機能を含んでもよい。アシスタント・モジュール322は、アシスタントサーバシステム360を介してアクセス可能であるアシスタントサービスを提供するためのリモートアシスタント・モジュール122のリモートアシスタント・モジュールと同様な動作を実施してもよい。即ち、アシスタント・モジュール322は、ネットワーク上でアシスタントサーバシステム360と通信しているコンピューティング・デバイスにアクセス可能なリモートアシスタントサービスへのインタフェースとして動作してもよい。例えば、アシスタント・モジュール322は、図1のアシスタントサーバシステム160のリモートアシスタント・モジュール122のリモートアシスタント・モジュールへのインタフェースまたはAPIであってもよい。   The assistant module 322 includes all functions of the local assistant module of the local assistant module 122 of FIG. 1 and the remote assistant module of the remote assistant module 123, and the assistant module 222 of the computing device 210 of FIG. May be included. Assistant module 322 may perform similar operations as the remote assistant module of remote assistant module 122 to provide an assistant service accessible via assistant server system 360. That is, assistant module 322 may act as an interface to a remote assistant service that can access computing devices in communication with assistant server system 360 over a network. For example, assistant module 322 may be an interface or API to the remote assistant module of remote assistant module 122 of assistant server system 160 of FIG.

図1のシステム100のユーザ情報データ・ストア124および125と同様に、ユーザ情報データ・ストア325はそれぞれ、アシスタント・モジュール322が夫々のユーザに関して学習したかまたは提供されてきた情報を含む、アシスタント・モジュール322により作成された個人記録を格納してもよい。アシスタント・モジュール322は、検索モジュール382により提供された任意の情報に加えて、データ・ストア325に格納された当該情報に依存して、アシスタントタスクを実施してもよい。   Similar to the user information data stores 124 and 125 of the system 100 of FIG. 1, the user information data stores 325 each include information that the assistant module 322 has learned or provided for each user. The personal records created by module 322 may be stored. The assistant module 322 may perform assistant tasks depending on the information stored in the data store 325 in addition to any information provided by the search module 382.

図4は、本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行する1つまたは複数のプロセッサにより実施される例示的な動作を示す流れ図である。図4を図1のシステム100の文脈で後述する。例えば、ローカルアシスタント・モジュール122Aは、コンピューティング・デバイス110Aの1つまたは複数のプロセッサで実行されている間に、本開示の1つまたは複数の態様に従う動作402乃至420のうち1つまたは複数を実施してもよい。幾つかの例では、リモートアシスタント・モジュール122Aは、アシスタントサーバシステム160の1つまたは複数のプロセッサで実行されている間に、本開示の1つまたは複数の態様に従う動作402乃至420のうち1つまたは複数を実施してもよい。例示の目的のためにのみ、図4を図1のコンピューティング・デバイス110Aの文脈で後述する。   FIG. 4 is a flow chart illustrating exemplary operations performed by one or more processors executing an exemplary virtual assistant, in accordance with one or more aspects of the present disclosure. FIG. 4 is described below in the context of the system 100 of FIG. For example, while local assistant module 122A is executing on one or more processors of computing device 110A, one or more of operations 402-420 in accordance with one or more aspects of the present disclosure may be performed You may implement. In some examples, while remote assistant module 122A is executing on one or more processors of assistant server system 160, one of operations 402-420 in accordance with one or more aspects of the present disclosure Or you may implement two or more. For the purposes of illustration only, FIG. 4 is described below in the context of computing device 110A of FIG.

動作において、コンピューティング・デバイス110Aはユーザのグループに対する推奨を生成するための要求を受信してもよい(402)。図1の例でに示すように、ユーザA、ユーザB、およびユーザCがグループチャットをしていてもよい。ユーザAは「everyone still interested in taking a trip in March?」と尋ねるかもしれず、ユーザBは「I’m interested」と言うことで応答するかもしれず、ユーザCが「where were you thinking?」と尋ねるかもしれない。しかし、チャットの流れを見て、ユーザBは「not this again, we can never agree on a place」と言うかもしれない。潜在的な目的地を議論しなければならないのを避けるために、ユーザAは、彼らが「ask their virtual assistant for some recommendations」と述べてもよい。図1の例では、ユーザAは、アシスタント起動コマンドを入力することでその仮想アシスタントに幾つかの推奨に問い合わせ、ユーザの当該グループに対する推奨の要求を提供してもよい。例えば、UIモジュール120は「@assistant where should we take a trip in March」とタイプするユーザAのUID112でのユーザ入力の指示を受信してもよい。UIモジュール120はアシスタント・モジュール122Aおよび/または123Aに当該ユーザ入力を提供してもよい。   In operation, computing device 110A may receive a request to generate a recommendation for a group of users (402). As shown in the example of FIG. 1, the user A, the user B, and the user C may have a group chat. User A may ask "everyone still interested in taking a trip in March?", User B may respond by saying "I'm interested" and user C asks "where were you thinking?" It may be. However, looking at the flow of chat, user B may say "not this again, we can never agree on a place". To avoid having to discuss potential destinations, user A may say that they are "ask their virtual assistant for some recommendations". In the example of FIG. 1, user A may query the virtual assistant for some recommendations by entering an assistant activation command and provide a request for recommendations for the user's group. For example, the UI module 120 may receive an indication of user input at UID 112 of user A typing “@assistant where should we take a trip in March”. The UI module 120 may provide the user input to the assistant module 122A and / or 123A.

当該グループのユーザに関連付けられたアシスタント・モジュールは第1のおよび第2のプライバシ・レベル・データを使用することの同意を当該グループのユーザから取得してもよい(404)。例えば、アシスタント・モジュール122Aおよび/または123AはユーザAの第1のおよび第2のプライバシ・レベル・データを使用することの同意をユーザAから取得してもよく、アシスタント・モジュール122Bおよび/または123BはユーザBの第1のおよび第2のプライバシ・レベル・データを使用することの同意をユーザBから取得してもよく、アシスタント・モジュール122Cおよび/または123CはユーザCの第1のおよび第2のプライバシ・レベル・データを使用することの同意をユーザCから取得してもよい。   An assistant module associated with the user of the group may obtain an agreement from the user of the group to use the first and second privacy level data (404). For example, assistant module 122A and / or 123A may obtain consent from user A to use the first and second privacy level data of user A, and assistant module 122B and / or 123B. May obtain consent from user B to use the first and second privacy level data of user B, and assistant modules 122C and / or 123C may receive first and second assistants of user C. Consent to use the privacy level data of may be obtained from user C.

アシスタント・モジュール122Aおよび/または123Aは、当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成してもよい(406)。例えば、アシスタント・モジュール122Aおよび/または123AはユーザA、ユーザB、およびユーザCに対する第1のプライバシ・レベル・データを評価して元の推奨リストを生成してもよい。この例では、当該グループに対する第1のプライバシ・レベル・データは、ユーザA、ユーザB、およびユーザCが全て冬山スポーツ(例えば、スキーまたはスノーボーディング)、バーボン、およびトロピカルバケーションを楽しむことを示してもよい。当該第1のプライバシ・レベル・データに基づいて、アシスタント・モジュール122Aおよび/または123Aは、冬山スポーツに対するモンタナ州ボーズマン、バーボン・テイスティングおよび蒸留所ツアーに対するケンタッキー州レキシントン、およびビーチ・バケーションに対するカリブ海諸島を含む元の推奨リストを生成してもよい。アシスタント・モジュール122Aおよび/または123Aは、元の推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに広めるかまたは出力してもよい。例えば、アシスタント・モジュール122Aおよび/または123Aは、元の推奨リストをユーザBに関連付けられた計算アシスタント(例えば、アシスタント・モジュール122Bおよび/または123B)、およびユーザCに関連付けられた計算アシスタント(例えば、アシスタント・モジュール122Cおよび/または123C)に出力してもよい。   Assistant modules 122A and / or 123A may generate an original recommendation list for the group based on the first privacy level data for the users of the group (406). For example, assistant modules 122A and / or 123A may evaluate the first privacy level data for user A, user B, and user C to generate the original recommendation list. In this example, the first privacy level data for the group indicates that User A, User B, and User C all enjoy winter mountain sports (eg, ski or snowboarding), bourbon, and tropical vacation. It is also good. Based on the first privacy level data, assistant modules 122A and / or 123A are used in Bozeman, Montana for winter mountain sports, Lexington, Kentucky for Bourbon tasting and distillery tours, and Caribbean Islands for beach vacations. You may generate an original recommendation list that includes Assistant modules 122A and / or 123A may disseminate or output the original recommendation list to the calculation assistants associated with other users of the group. For example, assistant modules 122A and / or 123A may calculate the original recommendation list associated with user B (eg, assistant module 122B and / or 123B) and user C associated with the calculated assistant (eg, It may be output to the assistant module 122C and / or 123C).

当該グループのユーザに関連付けられた夫々の計算アシスタントは、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい(408)。例えば、アシスタント・モジュール122Aおよび/または123Aは、ユーザAに対する第2のプライバシ・レベル・データに基づいて、ユーザAが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよい。同様に、ユーザBに関連付けられた計算アシスタントは、ユーザBに対する第2のプライバシ・レベル・データに基づいて、ユーザBが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよく、ユーザCに関連付けられた計算アシスタントは、ユーザCに対する第2のプライバシ・レベル・データに基づいて、ユーザCが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよい。   Each of the calculation assistants associated with the users of the group is based on the respective second privacy level data for the users of the group, and makes recommendations from the original recommendation list for inclusion in the clipped recommendations list. It may be evaluated (408). For example, assistant modules 122A and / or 123A determine whether user A has any negative preferences for recommendations from the original recommendation list based on the second privacy level data for user A You may Similarly, based on the second privacy level data for user B, the computational assistant associated with user B determines whether user B has any negative preference for recommendations from the original recommendation list. The calculation assistant associated with user C may determine that user C has some negative preference for recommendations from the original recommendation list based on the second privacy level data for user C. It may be determined whether or not.

上述の例を続けると、アシスタント・モジュール122Aおよび/または123Aは、ユーザAが最近スキー旅行に行ったことを示すユーザAに対する第2のプライバシ・レベル・データに少なくとも基づいて、ユーザAがモンタナ州ボーズマンでの冬山スポーツに対する部分的にネガティブな嗜好を有すると判定してもよい。したがって、アシスタント・モジュール122Aおよび/または123Aはケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきであると判定してもよく、モンタナ州ボーズマンでの冬山スポーツを当該刈り取られたリストに含めるべきではないと判定してもよい。   Continuing the above example, assistant modules 122A and / or 123A indicate that user A is in Montana based at least on the second privacy level data for user A indicating that user A has recently made a ski trip. It may be determined that it has a partially negative preference for winter mountain sports at Bozeman. Thus, the assistant modules 122A and / or 123A may determine that Bourbon tasting and distillery tours in Lexington, Kentucky and beach vacations in the Caribbean islands should be included in the cropped list, It may be determined that winter mountain sports in Bozeman, Montana should not be included in the cut-off list.

ユーザBに関連付けられた計算アシスタントは、ユーザBが子供を説得しようとしていてZikaウィルスに関する大量の検索を実施したことを示すユーザBに対する第2のプライバシ・レベル・データおよびZikaウィルスがカリブ海諸島に存在することを示すデータに少なくとも基づいて、ユーザBがカリブ海諸島に対する完全にネガティブな嗜好を有すると判定してもよい。したがって、ユーザBに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該刈り取られたリストに含めるべきであると判定してもよく、カリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきではないと判定してもよい。   The computational assistant associated with user B indicates that user B attempted to persuade a child and performed a heavy search for Zika virus Second privacy level data for user B and Zika virus to the Caribbean islands Based at least on the data indicating that it exists, it may be determined that user B has a completely negative preference for the Caribbean islands. Thus, the computational assistant associated with user B may determine that winter mountain sports in Bozeman, Montana and Bourbon tasting and distillery tours in Lexington, Kentucky should be included in the cut-off list, Caribbean It may be determined that beach vacations on the sea islands should not be included in the cut list.

ユーザCに関連付けられた計算アシスタントは、ユーザCがあまりアルコールを飲まないようにしてきていることを示すユーザCに対する第2のプライバシ・レベル・データに少なくとも基づいて、ユーザCがケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対する部分的にネガティブな嗜好を有すると判定してもよい。したがって、ユーザCに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびカリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきであると判定してもよく、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該刈り取られたリストに含めるべきではないと判定してもよい。   The computational assistant associated with user C indicates that user C is in Lexington, Kentucky, based at least on the second privacy level data for user C indicating that user C is not getting too much alcohol. It may be determined to have a partially negative preference for bourbon tasting and distillery tours. Thus, the computational assistant associated with user C may determine that winter mountain sports in Bozeman, Montana and beach vacations in the Caribbean islands should be included in the cut-off list, and in Lexington, Kentucky. It may be determined that bourbon tasting and distillery tours should not be included in the cut list.

アシスタント・モジュール122Aおよび/または123Aは当該計算アシスタントにより実施された評価に基づいて当該刈り取られた推奨リストを生成してもよい。例えば、アシスタント・モジュール122Aおよび/または123Aは元の推奨リストに含まれる夫々の推奨が当該計算アシスタントの少なくとも1つにより拒否されたかどうかを判定してもよい。元の推奨リストからの推奨が当該計算アシスタントの何れによっても拒否されなかった場合、アシスタント・モジュール122Aおよび/または123Aは当該推奨を当該刈り取られた推奨リストに含めてもよい。   The assistant modules 122A and / or 123A may generate the cut recommendation list based on the evaluation performed by the calculation assistant. For example, assistant modules 122A and / or 123A may determine whether each recommendation included in the original recommendation list has been rejected by at least one of the calculation assistants. If a recommendation from the original recommendation list is not rejected by any of the calculation assistants, assistant module 122A and / or 123A may include the recommendation in the cut-off recommendation list.

アシスタント・モジュール122Aおよび/または123Aは当該結果の刈り取られた推奨リスト内に推奨があるかどうかを判定してもよい(410)。当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して(即ち、元の推奨リストからの少なくとも1つの推奨が当該グループのユーザに関連付けられた計算アシスタントの何れかによっても拒否されなかった場合)(410の「はい」分岐)、アシスタント・モジュール122Aおよび/または123Aは当該刈り取られた推奨リストを出力してもよい(412)。1例として、アシスタント・モジュール122Aおよび/または123AはUIモジュール120に当該刈り取られた推奨リストを含むGUIを表示させてもよい。別の例として、アシスタント・モジュール122Aおよび/または123AはUIモジュール120に当該刈り取られた推奨リストを含む合成された会話を出力させてもよい。別の例として、アシスタント・モジュール122Aおよび/または123Aは当該刈り取られた推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよく、当該計算アシスタントは次いで、当該刈り取られた推奨リストをその夫々のユーザに表示、発話、または出力してもよい。   The assistant module 122A and / or 123A may determine 410 if there is a recommendation in the cut recommendations list for the result. In response to the clipped recommendations list including at least one recommendation (ie, at least one recommendation from the original recommendations list is not rejected by any of the calculation assistants associated with the users of the group If so ("yes" branch of 410), the assistant module 122A and / or 123A may output the cut recommendation list (412). As one example, the assistant modules 122A and / or 123A may cause the UI module 120 to display a GUI including the clipped recommendation list. As another example, the assistant modules 122A and / or 123A may cause the UI module 120 to output a synthesized conversation including the clipped recommendation list. As another example, assistant modules 122A and / or 123A may output the cut recommendations list to a calculation assistant associated with another user of the group, which calculation assistant is then The recommendation list may be displayed, spoken or output to its respective user.

当該刈り取られた推奨リストが少なくとも1つの推奨を含まないことに応答して(410の「いいえ」分岐)、当該グループのユーザに関連付けられた夫々の計算アシスタントは、当該グループのユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい(414)。幾つかの例では当該評価が並列に実施されてもよい。例えば、当該グループのユーザに関連付けられた夫々の計算アシスタントは、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、当該刈り取られた推奨リストに含めるための元の推奨リストからの推奨を並列に評価し、当該グループのユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、当該改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい。当該改良された刈り取られたリストが少なくとも1つの推奨を含む場合(416の「はい」分岐)、アシスタント・モジュール122Aおよび/または123Aは当該改良された刈り取られた推奨リストを出力してもよい(418)。例えば、アシスタント・モジュール122Aおよび/または123Aは上述の刈り取られた推奨リストの出力と同様な方式で当該改良された刈り取られた推奨リストを出力してもよい。当該改良された刈り取られたリストが少なくとも1つの推奨を含む場合(416の「いいえ」分岐)、アシスタント・モジュール122Aおよび/または123Aは当該計算アシスタントが当該グループに対して推奨を提供できなかったという指示を出力してもよい(420)。   In response to the clipped recommendations list not including at least one recommendation ("No" branch of 410), each computational assistant associated with the users of the group is weighted for the users of the group Based on the respective second privacy level data, recommendations from the original recommendation list may be evaluated 414 for inclusion in the refined, clipped recommendation list. In some instances, the assessments may be performed in parallel. For example, each of the calculation assistants associated with the users of the group may, based on the respective second privacy level data for the users of the group, from the original recommendation list for inclusion in the cut recommendations list Recommendations from the original recommendation list to be evaluated in parallel and to be included in the improved reaped recommendation list, based on the weighted second privacy level data for the users of the group May be assessed. If the improved cropped list includes at least one recommendation ("yes" branch of 416), the assistant module 122A and / or 123A may output the improved cropped recommendation list ((4) 418). For example, assistant modules 122A and / or 123A may output the improved cropped recommendation list in a manner similar to the output of the cropped recommendation list described above. If the improved cropped list includes at least one recommendation ("No" branch of 416), then assistant module 122A and / or 123A may not have been able to provide a recommendation for the group by the calculation assistant An indication may be output (420).

元の推奨リストが冬山スポーツに対するモンタナ州ボーズマン、バーボン・テイスティングおよび蒸留所ツアーに対するケンタッキー州レキシントン、およびビーチ・バケーションに対するカリブ海諸島を含む上述の例を続ける。アシスタント・モジュール122Aおよび/または123Aは、当該評価に基づいて、当該刈り取られたリストに残存する推奨がないと判定してもよい。特に、モンタナ州ボーズマンでの冬山スポーツがユーザAの計算アシスタント(即ち、アシスタント・モジュール122Aおよび/または123A)により拒否され、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーがユーザCの計算アシスタント(即ち、アシスタント・モジュール122Cおよび/または123C)により拒否され、カリブ海諸島でのビーチ・バケーションがユーザBの計算アシスタント(即ち、アシスタント・モジュール122Bおよび/または123B)により拒否された。   The original recommendation list continues the example above, including Bozeman, Montana for winter mountain sports, Lexington, Kentucky for Bourbon tasting and distillery tours, and the Caribbean islands for beach vacations. The assistant modules 122A and / or 123A may determine based on the evaluation that there are no recommendations remaining on the pruned list. In particular, winter mountain sports in Bozeman, Montana are denied by User A's computational assistant (ie, assistant modules 122A and / or 123A), and Bourbon Tasting and Distillery Tours in Lexington, Kentucky have User C's computational assistant ( That is, a beach vacation in the Caribbean islands was rejected by user B's calculation assistant (ie, assistant module 122B and / or 123B), which was rejected by the assistant modules 122C and / or 123C.

ユーザA、ユーザB、およびユーザCに関連付けられた計算アシスタントは、当該夫々のユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい。例えば、ユーザAに対する第2のプライバシ・レベル・データが、ユーザAがモンタナ州ボーズマンでの冬山スポーツに対する部分的にネガティブな嗜好のみを有し、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションに対するネガティブな嗜好を有さないことを示すので、アシスタント・モジュール122Aおよび/または123Aはモンタナ州ボーズマンでの冬山スポーツ、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアー、およびカリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきであると判定してもよい。同様に、ユーザCに対する第2のプライバシ・レベル・データが、ユーザCがケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対する部分的にネガティブな嗜好を有し、モンタナ州ボーズマンでの冬山スポーツおよびカリブ海諸島でのビーチ・バケーションに対するネガティブな嗜好を有さないことを示すので、ユーザCに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツ、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーと判定してもよく、カリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきであると判定してもよい。しかし、ユーザBに対する第2のプライバシ・レベル・データが、ユーザBがカリブ海諸島でのビーチ・バケーションに対する完全にネガティブな嗜好を有し、モンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対するネガティブな嗜好を有さないことを示すので、ユーザBに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該改良された刈り取られたリストに含めるべきであると判定してもよく、カリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきではないと判定してもよい。   The calculation assistants associated with user A, user B and user C are to be included in the improved cut-off recommendation list based on the respective weighted second privacy level data for that respective user You may evaluate the recommendations from the original recommendation list of For example, the second privacy level data for user A shows that user A has only a partially negative preference for winter mountain sports in Bozeman, Montana, Bourbon tasting and distillery tours in Lexington, Kentucky and Assistant Modules 122A and / or 123A are winter mountain sports in Bozeman, Montana, Bourbon tasting and distillery tours in Lexington, KY, as they show no negative preference for beach vacations in the Caribbean Islands. And a beach vacation on the Caribbean islands may be determined to be included in the improved cropped list. Similarly, the second privacy level data for User C shows that User C has partially negative preferences for Bourbon tasting and distillery tours in Lexington, Kentucky, and winter mountain sports and Bozeman, Montana. The computational assistant associated with user C is Winter Mountain Sports in Bozeman, Montana, Bourbon Tasting and Distillery Tour in Lexington, Kentucky, as it shows no negative preference for beach vacations in the Caribbean Islands. It may be determined that beach vacations in the Caribbean islands should be included in the improved cropped list. However, the second privacy level data for user B shows that user B has a completely negative preference for beach vacations in the Caribbean islands, winter mountain sports in Bozeman, Montana and Bourbon in Lexington, Kentucky • The computational assistant associated with user B is concerned with winter mountain sports in Bozeman, Montana and Bourbon tasting and distillery tours in Lexington, KY, as it shows no taste preference for tasting and distillery tours. It may be determined that it should be included in the improved cropped list, and it may be determined that beach vacations in the Caribbean islands should not be included in the improved cropped list.

アシスタント・モジュール122Aおよび/または123Aは、当該評価に基づいて、モンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該改良された刈り取られたリストに含めるべきであると判定してもよい。当該改良された刈り取られたリストは少なくとも1つの推奨を含むので、アシスタント・モジュール122Aおよび/または123Aは当該グループのユーザに表示するための当該改良された刈り取られたリストを出力してもよい。   Assistant modules 122A and / or 123A should include Winter Mountain Sports in Bozeman, Montana and Bourbon tasting and distillery tours in Lexington, KY, in the improved cropped list based on the evaluation. It may be determined that Because the refined cropped list includes at least one recommendation, assistant module 122A and / or 123A may output the refined cropped list for display to users of the group.

図5は、本開示の1つまたは複数の態様に従う、例示的な仮想アシスタントを実行する1つまたは複数のプロセッサにより実施される例示的な動作を示す流れ図である。図5を図1のシステム100の文脈で後述する。例えば、ローカルアシスタント・モジュール122Aは、コンピューティング・デバイス110Aの1つまたは複数のプロセッサで実行されている間に、本開示の1つまたは複数の態様に従う動作502乃至524のうち1つまたは複数を実施してもよい。幾つかの例では、リモートアシスタント・モジュール122Aは、アシスタントサーバシステム160の1つまたは複数のプロセッサで実行されている間に、本開示の1つまたは複数の態様に従う動作502乃至520のうち1つまたは複数を実施してもよい。例示の目的のためにのみ、図5を図1のコンピューティング・デバイス110Aの文脈において後述する。   FIG. 5 is a flowchart illustrating exemplary operations performed by one or more processors executing an exemplary virtual assistant, in accordance with one or more aspects of the present disclosure. FIG. 5 is described below in the context of system 100 of FIG. For example, while local assistant module 122A is executing on one or more processors of computing device 110A, one or more of operations 502-524 in accordance with one or more aspects of the present disclosure may be performed You may implement. In some examples, while remote assistant module 122A is executing on one or more processors of assistant server system 160, one of operations 502-520 in accordance with one or more aspects of the present disclosure Or you may implement two or more. For purposes of illustration only, FIG. 5 is described below in the context of computing device 110A of FIG.

動作において、コンピューティング・デバイス110Aはユーザのグループに対する推奨を生成するための要求を受信してもよい(502)。図1の例に示すように、ユーザA、ユーザB、およびユーザCがグループチャットをしていてもよい。ユーザAは「everyone still interested in taking a trip in March?」と尋ねるかもしれず、ユーザBは「I’m interested」と言うことで応答するかもしれず、ユーザCが「where were you thinking?」と尋ねるかもしれない。しかし、チャットの流れを見て、ユーザBは「not this again, we can never agree on a place」と言うかもしれない。潜在的な目的地を議論しなければならないのを避けるために、ユーザAは、彼らが「そask their virtual assistant for some recommendations」と述べてもよい。図1の例では、ユーザAは、アシスタント起動コマンドを入力することでその仮想アシスタントに幾つかの推奨に問い合わせ、ユーザの当該グループへの推奨の要求を提供してもよい。例えば、UIモジュール120は「@assistant where should we take a trip in March」とタイプするユーザAのUID112でのユーザ入力の指示を受信してもよい。UIモジュール120は、アシスタント・モジュール122Aおよび/または123Aへのユーザ入力を提供してもよい。   In operation, computing device 110A may receive a request to generate a recommendation for a group of users (502). As shown in the example of FIG. 1, the user A, the user B, and the user C may have a group chat. User A may ask "everyone still interested in taking a trip in March?", User B may respond by saying "I'm interested" and user C asks "where were you thinking?" It may be. However, looking at the flow of chat, user B may say "not this again, we can never agree on a place". In order to avoid having to discuss potential destinations, user A may say that they ask "what's their ask for virtual assistant for some recommendations". In the example of FIG. 1, user A may query the virtual assistant for some recommendations by entering an assistant activation command, and provide a request for recommendations for the user to the group. For example, the UI module 120 may receive an indication of user input at UID 112 of user A typing “@assistant where should we take a trip in March”. UI module 120 may provide user input to assistant module 122A and / or 123A.

当該グループのユーザに関連付けられたアシスタント・モジュールは第1のおよび第2のプライバシ・レベル・データを使用することの同意を当該グループのユーザから取得してもよい(504)。例えば、アシスタント・モジュール122Aおよび/または123AはユーザAの第1のおよび第2のプライバシ・レベル・データを使用することの同意をユーザAから取得してもよく、アシスタント・モジュール122Bおよび/または123BはユーザBの第1のおよび第2のプライバシ・レベル・データを使用することの同意をユーザBから取得してもよく、およびアシスタント・モジュール122Cおよび/または123CはユーザCの第1のおよび第2のプライバシ・レベル・データを使用することの同意をユーザCから取得してもよい。   The assistant module associated with the user of the group may obtain 504 consent from the user of the group to use the first and second privacy level data. For example, assistant module 122A and / or 123A may obtain consent from user A to use the first and second privacy level data of user A, and assistant module 122B and / or 123B. May obtain consent from user B to use user B's first and second privacy level data, and assistant module 122C and / or 123C may use user C's first and second Consent to use the privacy level data of 2 may be obtained from user C.

アシスタント・モジュール122Aおよび/または123Aは、当該グループに対する第1のプライバシ・レベル・データのユーザに基づいて、当該グループへの元の推奨リストを生成してもよい(506)。例えば、アシスタント・モジュール122Aおよび/または123AはユーザA、ユーザB、およびユーザCに対する第1のプライバシ・レベル・データを評価して元の推奨リストを生成してもよい。この例では、当該グループに対する第1のプライバシ・レベル・データは、ユーザA、ユーザB、およびユーザCが全て冬山スポーツ(例えば、スキーまたはスノーボーディング)、バーボン、およびトロピカルバケーションを楽しむことを示してもよい。当該第1のプライバシ・レベル・データに基づいて、アシスタント・モジュール122Aおよび/または123Aは、冬山スポーツに対するモンタナ州ボーズマン、バーボン・テイスティングおよび蒸留所ツアーに対するケンタッキー州レキシントン、およびビーチ・バケーションに対するカリブ海諸島を含む元の推奨リストを生成してもよい。アシスタント・モジュール122Aおよび/または123Aは、元の推奨リストを広めるかまたはそれを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよい。例えば、アシスタント・モジュール122Aおよび/または123Aは元の推奨リストをユーザBに関連付けられた計算アシスタント(例えば、アシスタント・モジュール122Bおよび/または123B)、およびユーザCに関連付けられた計算アシスタント(例えば、アシスタント・モジュール122Cおよび/または123C)に出力してもよい。   The assistant modules 122A and / or 123A may generate the original recommendation list for the group based on the user of the first privacy level data for the group (506). For example, assistant modules 122A and / or 123A may evaluate the first privacy level data for user A, user B, and user C to generate the original recommendation list. In this example, the first privacy level data for the group indicates that User A, User B, and User C all enjoy winter mountain sports (eg, ski or snowboarding), bourbon, and tropical vacation. It is also good. Based on the first privacy level data, assistant modules 122A and / or 123A are used in Bozeman, Montana for winter mountain sports, Lexington, Kentucky for Bourbon tasting and distillery tours, and Caribbean Islands for beach vacations. You may generate an original recommendation list that includes Assistant modules 122A and / or 123A may disseminate the original recommendation list or output it to a calculation assistant associated with other users of the group. For example, assistant modules 122A and / or 123A may calculate the original recommendation list associated with user B (eg, assistant module 122B and / or 123B) and user C associated with the calculated assistant (eg, assistant -It may output to module 122C and / or 123C).

当該グループのユーザに関連付けられた当該夫々の計算アシスタントは、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい(508)。例えば、アシスタント・モジュール122Aおよび/または123Aは、ユーザAに対する第2のプライバシ・レベル・データに基づいて、ユーザAが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを決定してもよい。同様に、ユーザBに関連付けられた計算アシスタントは、ユーザBに対する第2のプライバシ・レベル・データに基づいて、ユーザBが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよく、ユーザCに関連付けられた計算アシスタントは、ユーザCに対する第2のプライバシ・レベル・データに基づいて、ユーザCが元の推奨リストからの推奨に対する何等かのネガティブな嗜好を有するかどうかを判定してもよい。   The respective calculation assistants associated with the users of the group are based on the respective second privacy level data for the users of the group, from the original recommendation list to be included in the cut recommendation list May be assessed (508). For example, based on the second privacy level data for user A, assistant modules 122A and / or 123A determine whether user A has any negative preference for recommendations from the original recommendation list. You may Similarly, based on the second privacy level data for user B, the computational assistant associated with user B determines whether user B has any negative preference for recommendations from the original recommendation list. The calculation assistant associated with user C may determine that user C has some negative preference for recommendations from the original recommendation list based on the second privacy level data for user C. It may be determined whether or not.

上述の例を続けると、アシスタント・モジュール122Aおよび/または123Aは、ユーザAが最近スキー旅行に行ったことを示すユーザAに対する第2のプライバシ・レベル・データに少なくとも基づいて、ユーザAがモンタナ州ボーズマンでの冬山スポーツに対する部分的にネガティブな嗜好(例えば、60%反対の嗜好)を有すると判定してもよい。したがって、アシスタント・モジュール122Aおよび/または123Aはケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきであると判定してもよく、モンタナ州ボーズマンでの冬山スポーツを当該刈り取られたリストに含めるべきではないと判定してもよい。   Continuing the above example, assistant modules 122A and / or 123A indicate that user A is in Montana based at least on the second privacy level data for user A indicating that user A has recently made a ski trip. It may be determined to have a partially negative preference (eg, 60% opposite preference) to winter mountain sports at Bozeman. Thus, the assistant modules 122A and / or 123A may determine that Bourbon tasting and distillery tours in Lexington, Kentucky and beach vacations in the Caribbean islands should be included in the cropped list, It may be determined that winter mountain sports in Bozeman, Montana should not be included in the cut-off list.

ユーザBに関連付けられた計算アシスタントはユーザBが子供を説得しようとしていてZikaウィルスに関する大量の検索を実施したことを示すユーザBに対する第2のプライバシ・レベル・データおよびZikaウィルスがカリブ海諸島に存在することを示すデータに少なくとも基づいて、ユーザBがカリブ海諸島に対する完全にネガティブな嗜好(例えば、100%反対の嗜好)を有すると判定してもよい。したがって、ユーザBに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該刈り取られたリストに含めるべきであると判定してもよく、カリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきではないと判定してもよい。   Calculation Assistant Associated with User B Shows Second User Privacy Level Data for User B and the Zika Virus in the Caribbean Islands Indicates that User B Attempted to Persuade a Child and Perform a Mass Search About the Zika Virus Based on at least the data indicating that the user B is determined to have a completely negative preference (e.g., 100% opposite preference) to the Caribbean islands. Thus, the computational assistant associated with user B may determine that winter mountain sports in Bozeman, Montana and Bourbon tasting and distillery tours in Lexington, Kentucky should be included in the cut-off list, Caribbean It may be determined that beach vacations on the sea islands should not be included in the cut list.

ユーザCに関連付けられた計算アシスタントは、ユーザCがあまりアルコールを飲まないようにしてきていることを示すユーザCに対する第2のプライバシ・レベル・データに少なくとも基づいて、ユーザCがケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対する部分的にネガティブな嗜好(例えば、25%反対の嗜好)を有すると判定してもよい。したがって、ユーザCに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびカリブ海諸島でのビーチ・バケーションを当該刈り取られたリストに含めるべきであると判定してもよく、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該刈り取られたリストに含めるべきではないと判定してもよい。   The computational assistant associated with user C indicates that user C is in Lexington, Kentucky, based at least on the second privacy level data for user C indicating that user C is not getting too much alcohol. It may be determined to have a partially negative preference (e.g., 25% opposite preference) for bourbon tasting and distillery tours. Thus, the computational assistant associated with user C may determine that winter mountain sports in Bozeman, Montana and beach vacations in the Caribbean islands should be included in the cut-off list, and in Lexington, Kentucky. It may be determined that bourbon tasting and distillery tours should not be included in the cut list.

アシスタント・モジュール122Aおよび/または123Aは、当該計算アシスタントにより実施された評価に基づいて、当該刈り取られた推奨リストを生成してもよい。例えば、アシスタント・モジュール122Aおよび/または123Aは元の推奨リストに含まれる夫々の推奨が当該計算アシスタントの少なくとも1つにより拒否されたかどうかを判定してもよい。元の推奨リストからの推奨が当該計算アシスタントの何れによっても拒否されなかった場合、アシスタント・モジュール122Aおよび/または123Aは当該推奨を当該刈り取られた推奨リストに含めてもよい。   The assistant modules 122A and / or 123A may generate the cut recommendation list based on the evaluation performed by the calculation assistant. For example, assistant modules 122A and / or 123A may determine whether each recommendation included in the original recommendation list has been rejected by at least one of the calculation assistants. If a recommendation from the original recommendation list is not rejected by any of the calculation assistants, assistant module 122A and / or 123A may include the recommendation in the cut-off recommendation list.

アシスタント・モジュール122Aおよび/または123Aは当該結果の刈り取られた推奨リスト内に任意の推奨があるかどうかを判定してもよい(510)。当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して(即ち、元の推奨リストからの少なくとも1つの推奨が当該グループのユーザに関連付けられた計算アシスタントの何れかにより拒否されなかった場合)(510の「はい」分岐)、アシスタント・モジュール122Aおよび/または123Aは当該刈り取られた推奨リストを出力してもよい(512)。1例として、アシスタント・モジュール122Aおよび/または123AはUIモジュール120に当該刈り取られた推奨リストを含むGUIを表示させてもよい。別の例として、アシスタント・モジュール122Aおよび/または123AはUIモジュール120に当該刈り取られた推奨リストを含む合成された会話を出力させてもよい。別の例として、アシスタント・モジュール122Aおよび/または123Aは当該刈り取られた推奨リストを当該グループの他のユーザに関連付けられた計算アシスタントに出力してもよく、次いで、当該刈り取られた推奨リストをその夫々のユーザに表示、発話、または出力してもよい。   The assistant module 122A and / or 123A may determine 510 if there are any recommendations in the resulting cut recommendations list. In response to the cut recommendations list including at least one recommendation (ie, at least one recommendation from the original recommendations list was not rejected by any of the calculation assistants associated with the users of the group If) ("yes" branch of 510), the assistant module 122A and / or 123A may output the trimmed recommendations list (512). As one example, the assistant modules 122A and / or 123A may cause the UI module 120 to display a GUI including the clipped recommendation list. As another example, the assistant modules 122A and / or 123A may cause the UI module 120 to output a synthesized conversation including the clipped recommendation list. As another example, assistant modules 122A and / or 123A may output the cut recommendations list to a calculation assistant associated with other users of the group, and then the cut recommendations list It may be displayed, uttered or outputted to each user.

当該刈り取られた推奨リストが少なくとも1つの推奨を含まない(510の「いいえ」分岐)ことに応答して、当該グループのユーザに関連付けられた当該夫々の計算アシスタントは、当該グループのユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい(514)。例えば、当該グループのユーザに関連付けられた計算アシスタントは、ユーザに対する第2のプライバシ・レベル・データが、ユーザが初期閾値より大きい当該推奨に対するネガティブな嗜好を示すかどうかを判定してもよい。幾つかの例では、当該閾値はを最初に低く(例えば、5%、10%、15%、...、25%等)設定し、以下でさらに詳細に説明するように、推奨を提供できない場合に増大させてもよい。アシスタントは推奨を当該改良された刈り取られた推奨リストに含めるべきではないと判定してもよい。この場合、当該アシスタントは、ユーザに対する第2のプライバシ・レベル・データが、当該推奨に対するユーザの嗜好が当該閾値より大きいことを示すと判定する。幾つかの例では、当該アシスタントが当該初期閾値を用いて推奨を提供できない場合、当該アシスタントはユーザに対する第2のプライバシ・レベル・データが、増大された閾値(例えば、当該以前の閾値より高い5%、10%等)より大きい当該推奨に対するネガティブな嗜好をユーザが有することを示すかどうかを判定してもよい。   In response to the clipped recommendations list not including at least one recommendation ("No" branch of 510), the respective calculation assistants associated with the users of the group are weighted for the users of the group Based on each of the second privacy level data, recommendations from the original recommendation list may be evaluated 514 for inclusion in the improved reaped recommendation list. For example, a computational assistant associated with a user of the group may determine whether the second privacy level data for the user indicates a negative preference for the recommendation above the initial threshold. In some instances, the threshold is initially set low (e.g., 5%, 10%, 15%, ..., 25%, etc.) and can not provide recommendations as described in more detail below. It may be increased as the case may be. The assistant may determine that the recommendations should not be included in the improved reaped recommendations list. In this case, the assistant determines that the second privacy level data for the user indicates that the user's preference for the recommendation is greater than the threshold. In some instances, if the assistant can not provide a recommendation using the initial threshold, the assistant may have the second privacy level data for the user be increased threshold (eg, 5 higher than the previous threshold). %, 10% etc.) may be determined to indicate that the user has a negative preference for the recommendation.

当該改良された刈り取られたリストは少なくとも1つの推奨を含む場合(516の「はい」分岐)、アシスタント・モジュール122Aおよび/または123Aは当該改良された刈り取られた推奨リストを出力してもよい(518)。例えば、アシスタント・モジュール122Aおよび/または123Aは上述の当該刈り取られた推奨リストの出力と同様な方式で当該改良された刈り取られた推奨リストを出力してもよい。当該改良された刈り取られたリストが少なくとも1つの推奨を含む場合(516の「いいえ」分岐)、アシスタント・モジュール122Aおよび/または123Aは当該推奨を評価するために使用される当該重みが最大閾値より大きいかどうかを判定してもよい(520)。例えば、アシスタント・モジュール122Aおよび/または123Aは、当該推奨を評価するために使用される当該閾値が最大全体閾値レベル(例えば、75%、85%、90%、95%)より大きいかどうかを判定してもよい。当該重みが最大閾値より大きい場合(520の「はい」分岐)、アシスタント・モジュール122Aおよび/または123Aは当該計算アシスタントが当該グループに対する任意の推奨を提供できなかったという指示を出力してもよい(524)。当該重みが最大閾値より大きくない場合(520の「いいえ」分岐)、アシスタント・モジュール122Aおよび/または123Aは当該重みを増大させてもよい(522)。例えば、アシスタント・モジュール122Aおよび/または123Aは当該閾値を5%、10%、20%等だけ増大させてもよい。当該グループのユーザに関連付けられた当該夫々の計算アシスタントは、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データの当該増大された重み付けに基づいて、当該改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい(514)。例えば、当該グループのユーザに関連付けられた計算アシスタントは、ユーザに対する第2のプライバシ・レベル・データが、ユーザが当該増大された閾値より大きい当該推奨に対するネガティブな嗜好を有すること示すかどうかを判定してもよい。幾つかの例では、当該計算アシスタントを少なくとも1つの推奨を提供できるまで当該ループを継続してもよい。幾つかの例では、当該ループを、当該推奨を評価するために使用される当該閾値が最大全体閾値レベルより大きくなるまで続けてもよい。このように、アシスタント・モジュールは、幾つかのユーザがそれに対して強いネガティブな嗜好を有する推奨を含まない状態で、最も望ましい推奨を当該改良された刈り取られたリストに含めてもよい。   If the improved cropped list includes at least one recommendation ("yes" branch of 516), the assistant module 122A and / or 123A may output the improved cropped recommendation list ((6) 518). For example, assistant modules 122A and / or 123A may output the improved cropped recommendation list in a manner similar to the output of the cropped recommendation list described above. If the improved cropped list includes at least one recommendation ("No" branch of 516), then assistant module 122A and / or 123A may use the weight at which the recommendation is evaluated to be above the maximum threshold. It may be determined if it is large (520). For example, assistant modules 122A and / or 123A determine whether the threshold used to evaluate the recommendation is greater than the maximum overall threshold level (eg, 75%, 85%, 90%, 95%) You may If the weight is greater than the maximum threshold ("yes" branch of 520), the assistant module 122A and / or 123A may output an indication that the calculation assistant could not provide any recommendation for the group ( 524). If the weight is not greater than the maximum threshold ("No" branch of 520), assistant module 122A and / or 123A may increase the weight (522). For example, assistant modules 122A and / or 123A may increase the threshold by 5%, 10%, 20%, etc. The respective computational assistants associated with the users of the group are based on the increased weighting of the respective second privacy level data for the users of the group in the improved cropped recommendation list. The recommendations from the original recommendations list for inclusion may be evaluated (514). For example, the computational assistant associated with the user of the group determines whether the second privacy level data for the user indicates that the user has a negative preference for the recommendation above the increased threshold. May be In some instances, the loop may continue until the calculation assistant can provide at least one recommendation. In some instances, the loop may continue until the threshold used to evaluate the recommendation is greater than the maximum overall threshold level. In this way, the assistant module may include the most desirable recommendations in the improved cropped list, without including recommendations for which some users have strong negative preferences thereto.

元の推奨リストが冬山スポーツに対するモンタナ州ボーズマン、バーボン・テイスティングおよび蒸留所ツアーに対するケンタッキー州レキシントン、およびビーチ・バケーションに対するカリブ海諸島を含む上述の例を続ける。アシスタント・モジュール122Aおよび/または123Aは、当該評価に基づいて、当該刈り取られたリストに残存する推奨がないと判定してもよい。特に、モンタナ州ボーズマンでの冬山スポーツがユーザAの計算アシスタント(即ち、アシスタント・モジュール122Aおよび/または123A)により拒否され、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーがユーザC(即ち、アシスタント・モジュール122Cおよび/または123C)の計算アシスタントにより拒否され、カリブ海諸島でのビーチ・バケーションがユーザBの計算アシスタント(即ち、アシスタント・モジュール122Bおよび/または123B)により拒否された。   The original recommendation list continues the example above, including Bozeman, Montana for winter mountain sports, Lexington, Kentucky for Bourbon tasting and distillery tours, and the Caribbean islands for beach vacations. The assistant modules 122A and / or 123A may determine based on the evaluation that there are no recommendations remaining on the pruned list. In particular, winter mountain sports in Bozeman, Montana are denied by user A's computational assistant (ie, assistant modules 122A and / or 123A), and Bourbon tasting and distillery tours in Lexington, Kentucky are user C (ie, assistant) The beach vacation in the Caribbean islands has been rejected by user B's calculation assistant (ie assistant module 122 B and / or 123 B), being rejected by the calculation assistant of modules 122 C and / or 123 C).

ユーザA、ユーザB、およびユーザCに関連付けられた計算アシスタントは、当該夫々のユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、改良された刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価してもよい。例えば、ユーザA、ユーザB、およびユーザCに関連付けられた計算アシスタントは、当該夫々のユーザに対する第2のプライバシデータが、当該夫々のユーザが初期閾値(本例の説明のため10%)を満たす元の推奨リストからの推奨に対する嗜好を有することを示すかどうかを判定してもよい。   The calculation assistants associated with user A, user B and user C are to be included in the improved cut-off recommendation list based on the respective weighted second privacy level data for that respective user You may evaluate the recommendations from the original recommendation list of For example, the calculation assistants associated with user A, user B, and user C have second privacy data for the respective users, wherein the respective users satisfy the initial threshold (10% for the description of this example) It may be determined whether it indicates that it has a preference for recommendations from the original recommendation list.

例えば、ユーザAに対する第2のプライバシ・レベル・データが、ユーザAが、モンタナ州ボーズマンでの冬山スポーツに対する60%の嗜好を有し、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションに対するネガティブな嗜好を有さないことを示すので、アシスタント・モジュール122Aおよび/または123Aはモンタナ州ボーズマンでの冬山スポーツ(例えば、60%の嗜好は10%の閾値より大きいので)を当該改良された刈り取られたリストに含めるべきではないと判定し、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーおよびカリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきであると判定してもよい。同様に、ユーザCに対する第2のプライバシ・レベル・データが、ユーザCが、ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対する25%の嗜好を有し、モンタナ州ボーズマンでの冬山スポーツおよびカリブ海諸島でのビーチ・バケーションに対するネガティブな嗜好を有さないことを示すので、ユーザCに関連付けられた計算アシスタントはケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアー(例えば、当該25%の嗜好は10%の閾値より大きいので)を当該改良された刈り取られたリストに含めるべきではないと判定し、モンタナ州ボーズマンでの冬山スポーツ、およびカリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきであると判定してもよい。さらに、ユーザBに対する第2のプライバシ・レベル・データが、ユーザBがカリブ海諸島でのビーチ・バケーションに対する100%の嗜好を有し、モンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対するネガティブな嗜好を有さないことを示すので、ユーザBに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツおよびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該改良された刈り取られたリストに含めるべきであると判定し、カリブ海諸島でのビーチ・バケーションを当該改良された刈り取られたリストに含めるべきではないと判定してもよい。   For example, the second privacy level data for user A shows that user A has a 60% preference for winter mountain sports in Bozeman, Montana, and Bourbon tasting and distillery tours in Lexington, Kentucky and the Caribbean The assistant module 122A and / or 123A is a winter mountain sport in Bozeman, Montana (eg, 60% preference is greater than the 10% threshold, as it indicates no negative preference for beach vacations in the islands) ) Should not be included in the improved cropped list, and Bourbon tasting and distillery tours in Lexington, Kentucky and beach vacations in the Caribbean islands on the improved cropped list. Include It may be determined to be. Similarly, the second privacy level data for User C shows that User C has a 25% preference for Bourbon tasting and distillery tours in Lexington, Kentucky, and winter mountain sports and Caribbean in Bozeman, Montana. The computational assistant associated with user C has shown that he does not have a negative preference for beach vacations on the Sea Islands, and he is taking Bourbon tasting and distillery tours in Lexington, Kentucky (eg, the 25% preference is Determined that it should not be included in the improved cropped list, as it is greater than the 10% threshold, and winter mountain sports in Bozeman, Montana, and beach vacations in the Caribbean islands would be reaped. Should be included in the list It may be determined. In addition, the second privacy level data for user B shows that user B has 100% preference for beach vacations in the Caribbean islands, winter mountain sports in Bozeman, Montana and Bourbon in Lexington, Kentucky. The Calculation Assistant associated with User B improved the Winter Mountain Sports in Bozeman, Montana and the Bourbon Tasting and Distillery Tour in Lexington, Kentucky, as it shows no negative preference for tasting and distillery tours. It may be determined that it should be included in the harvested list and it may be determined that beach vacations in the Caribbean islands should not be included in the improved harvested list.

アシスタント・モジュール122Aおよび/または123Aは、当該評価に基づいて、(例えば、モンタナ州ボーズマンでの冬山スポーツがユーザAの計算アシスタントにより拒否され、カリブ海諸島でのビーチ・バケーションがユーザBの計算アシスタントにより拒否され、およびケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーがユーザCの計算アシスタントにより拒否されたので)元の推奨リストからの推奨を当該改良された刈り取られたリストに含めるべきでないと判定してもよい。当該改良された刈り取られたリストは推奨を含まないので、アシスタント・モジュール122Aおよび/または123Aは当該閾値を増大させてもよい。例えば、アシスタント・モジュール122Aおよび/または123Aは当該閾値を30%に増大させてもよい。ケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーに対するユーザCの25%の嗜好が当該増大された30%の閾値より小さいので、ユーザCに関連付けられた計算アシスタントはケンタッキー州レキシントンでのバーボン・テイスティングおよび蒸留所ツアーを当該改良された刈り取られた推奨リストに含めるべきであると判定してもよい。しかし、モンタナ州ボーズマンでの冬山スポーツに対するユーザAの60%の嗜好が当該増大された30%の閾値より大きいので、ユーザAに関連付けられた計算アシスタントはモンタナ州ボーズマンでの冬山スポーツは依然として当該改良された刈り取られた推奨リストに含まれるべきではないと判定してもよい。同様に、カリブ海諸島でのビーチ・バケーションに対するユーザBの100%の嗜好が当該増大された30%の閾値より大きいので、ユーザBに関連付けられた計算アシスタントはカリブ海諸島でのビーチ・バケーションは依然として当該改良された刈り取られた推奨リストに含まれるべきではないと判定してもよい。当該改良された刈り取られたリストは少なくとも1つの推奨を含むので、アシスタント・モジュール122Aおよび/または123Aは当該グループのユーザに表示するための当該改良された刈り取られたリストを出力してもよい。   The assistant modules 122A and / or 123A (for example, winter mountain sports in Bozeman, Montana are rejected by user A's calculation assistant and beach vacations in the Caribbean islands are user B's calculation assistant based on the evaluation) Denied that the recommendations from the original recommendations list should not be included in the improved reaped list, as it was rejected and because Bourbon tasting and distillery tours in Lexington, Kentucky were rejected by User C's calculation assistant) You may judge. The assistant module 122A and / or 123A may increase the threshold, as the improved cropped list does not include recommendations. For example, assistant module 122A and / or 123A may increase the threshold to 30%. As the 25% preference of User C for Bourbon tasting and distillery tours in Lexington, Kentucky is less than the increased 30% threshold, the computational assistant associated with User C is Bourbon tasting in Lexington, Kentucky And the distillery tour may be determined to be included in the improved reaped recommendations list. However, as the 60% preference of user A for winter mountain sports in Bozeman, Montana is greater than the increased 30% threshold, the computational assistant associated with user A continues to improve winter mountain sports in Bozeman, Montana. It may be determined that it should not be included in the cut-off recommendations list. Similarly, since User B's 100% preference for beach vacations in the Caribbean Islands is greater than the increased 30% threshold, the calculation assistant associated with User B is a beach vacation in the Caribbean Islands It may still be determined that it should not be included in the improved reaped recommendation list. Because the refined cropped list includes at least one recommendation, assistant module 122A and / or 123A may output the refined cropped list for display to users of the group.

以下の採番した例は本開示の1つまたは複数の態様を示しうる。   The following numbered examples may illustrate one or more aspects of the present disclosure.

例1:ユーザのグループへの推奨の要求を受信したことに応答して、当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成するステップと、当該グループのユーザに関連付けられた夫々の計算アシスタントによりおよび当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、当該グループに対する刈り取られた推奨リストに含めるための元の推奨リストから推奨を評価するステップであって、当該第2のプライバシ・レベルは当該第1のプライバシ・レベルよりも制限される、ステップと、当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、当該グループのユーザに表示するために、当該刈り取られた推奨リストを出力するステップとを含む、方法。   Example 1: In response to receiving a request for recommendation to a group of users, generating an original recommendation list for the group based on the first privacy level data for the users of the group The original recommendation list to be included in the cut recommendations list for the group, based on the respective calculation assistants associated with the users of the group and the respective second privacy level data for the users of the group Evaluating the recommendations from, the second privacy level being more restricted than the first privacy level, and responding to the step that the cut-off recommendations list includes at least one recommendation To display the clipped recommendation list for display to the users of the group. And a step of the method.

例2:当該刈り取られた推奨リストは第1の刈り取られた推奨リストを含み、当該方法は、当該第1の刈り取られた推奨リストが推奨を含まないことに応答して、当該グループのユーザの夫々の計算アシスタントによりおよび当該グループのユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、当該グループに対する第2の刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価するステップと、当該第2の刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、当該グループのユーザに表示するために、当該第2の刈り取られた推奨リストを出力するステップとをさらに含む、例1に記載の方法。   Example 2: The cut-off recommendations list includes a first cut-off recommendations list, and the method responds to the first cut-off recommendations list not including a recommendation by the user of the group. Recommendations from the original recommendation list for inclusion in a second, clipped recommendations list for the group based on each computational assistant and on each of the weighted second privacy level data for the users of the group Outputting the second cropped recommendation list for display to a user of the group in response to the step of evaluating the second cropped recommendation list including at least one recommendation. The method according to Example 1, further comprising the steps of

例3:当該グループの特定のユーザに関連付けられた計算アシスタントによりおよび当該グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、当該グループに対する当該第1の刈り取られた推奨リストに含めるための元の推奨リストからの推奨を評価するステップは、当該グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する何等かのネガティブな嗜好を有することを示すと判定したことに応答して、当該推奨を当該第1の刈り取られた推奨リストに含めないと判定するステップを含む、例2に記載の方法。   Example 3: Based on the calculation assistant associated with a particular user of the group and the respective second privacy level data for the particular user of the group, the first cropped recommendation list for the group The step of evaluating the recommendations from the original recommendation list for inclusion in each of the second privacy level data for a particular user of the group is such that the particular user has any negative preference for the recommendation. A method according to example 2, comprising determining not to include the recommendation in the first pruned recommendations list in response to determining that it indicates having the.

例4:当該グループの特定のユーザに関連付けられた計算アシスタントによりおよび当該グループの特定のユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、当該グループに対する当該第2の刈り取られた推奨リストに含めるための元の推奨リストからの当該推奨を評価するステップは、当該グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、当該推奨を当該第2の刈り取られた推奨リストに含めないと判定するステップを含む、例3に記載の方法。   Example 4: The second reaping for the group is performed by the calculation assistant associated with the particular user of the group and based on the respective weighted second privacy level data for the particular user of the group The step of evaluating the recommendation from the original recommendation list for inclusion in the selected recommendation list is that each second privacy level data for a particular user of the group is complete for the particular user to complete the recommendation. The method of example 3, comprising determining not to include the recommendation in the second pruned recommendation list in response to determining that it indicates a negative preference.

例5:当該グループの特定のユーザに関連付けられた計算アシスタントによりおよび当該グループの特定のユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、当該グループに対する当該第2の刈り取られた推奨リストに含めるための元の推奨リストからの当該推奨を評価するステップは、当該グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、当該推奨を当該第2の刈り取られた推奨リストに含めると判定するステップを含む、例1乃至4の任意の組合せに記載の方法。   Example 5: The second reaping for the group is performed by the computational assistant associated with the specific user of the group and based on the respective weighted second privacy level data for the specific user of the group The step of evaluating the recommendation from the original recommendation list for inclusion in the recommended list comprises: each second privacy level data for a particular user of the group, the particular user being a partial for the recommendation The method of any combination of Examples 1 to 4 comprising determining that the recommendation is to be included in the second reaped recommendation list in response to determining that it indicates a negative preference for .

例6:当該要求はユーザの当該グループに含まれない要求するユーザから受信され、元の推奨リストは、当該要求するユーザに対するデータに基づいて生成されない、例1乃至5の任意の組合せに記載の方法。   Example 6: The request is received from a requesting user not included in the group of users, and the original recommendation list is not generated based on data for the requesting user, as described in any combination of examples 1 to 5. Method.

例7:当該要求はユーザの当該グループに含まれる要求するユーザから受信され、元の推奨リストは当該要求するユーザに対するデータに基づいて生成される、例1乃至5の任意の組合せに記載の方法。   Example 7: The method according to any combination of examples 1 to 5, wherein the request is received from a requesting user included in the group of users, and the original recommendation list is generated based on data for the requesting user .

例8:当該要求は、娯楽推奨、食料の推奨、旅行の推奨、および共有された商品推奨のうち1つまたは複数に対するものである、例1乃至7の任意の組合せに記載の方法。   Example 8: The method of any combination of Examples 1 to 7, wherein the request is for one or more of entertainment recommendations, food recommendations, travel recommendations, and shared product recommendations.

例9:当該グループのユーザに対する当該第1のプライバシ・レベル・データは当該グループのユーザに対して公に利用可能なデータを含む、例1乃至8の任意の組合せに記載の方法。   Example 9: The method of any combination of examples 1 to 8, wherein the first privacy level data for the users of the group comprises data publicly available to the users of the group.

例10:少なくとも1つのプロセッサと、実行されたとき、当該少なくとも1つのプロセッサに、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成し、当該グループのユーザに関連付けられた夫々の計算アシスタントに、元の推奨リストを出力し、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、当該刈り取られた推奨リストを当該グループのユーザに表示するために出力するように構成された計算アシスタントを提供させる命令を備えた少なくとも1つのメモリとを備えたコンピューティング・デバイスであって、当該第2のプライバシ・レベルは当該第1のプライバシ・レベルよりも制限される、コンピューティング・デバイス。   Example 10: At least one processor and, when executed, the at least one processor responsive to receiving a request for a recommendation to a group of users and a first privacy level for the users of the group Based on the data, generate an original recommendation list for the group, output the original recommendation list to each calculation assistant associated with the user of the group, and calculate each of the calculations associated with the user of the group Receive an indication from the assistant, based on the respective second privacy level data for the users of the group, whether or not the recommendations from the original recommendation list should be included in the cut-off recommendations list for the group In response to the clipped recommendations list including at least one recommendation, A computing device comprising: at least one memory comprising instructions for providing a computational assistant configured to output a list of recommendations that has been removed for display to a user of the group; A computing device wherein the privacy level of 2 is more restrictive than the first privacy level.

例11:当該刈り取られた推奨リストは第1の刈り取られた推奨リストを含み、当該計算アシスタントは、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する第2の刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該第2の刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答しておよび当該グループのユーザに表示するために、当該第2の刈り取られた推奨リストを出力するようにさらに構成された、例10に記載のコンピューティング・デバイス。   Example 11: The cut-off recommendations list includes the first cut-off recommendations list, and the calculation assistant is configured to calculate each weighted assistant for the users of the group from the calculation assistants associated with the users of the group. Receiving an indication, based on the second privacy level data, whether the recommendations from the original recommendation list should be included in the second clipped recommendations list for the group, and the second clipped recommendations The computing according to Example 10, further configured to output the second cropped recommendation list in response to the list including at least one recommendation and for display to a user of the group. ·device.

例12:特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する何等かのネガティブな嗜好を有することを示すと判定したことに応答して、元の推奨リストからの推奨を当該第1の刈り取られた推奨リストに含めないと判定するように構成される、例11に記載のコンピューティング・デバイス。   Example 12: A computational assistant associated with a particular user may have each second privacy level data for a particular user in the group that the particular user has some negative preference for the recommendation The computing device according to Example 11, configured to determine not to include recommendations from the original recommendation list in the first pruned recommendations list in response to determining to indicate.

例13:当該特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、当該推奨を当該第2の刈り取られた推奨リストに含めないと判定するように構成される、例12に記載のコンピューティング・デバイス。   Example 13: The computational assistant associated with the particular user indicates that each second privacy level data for the particular user of the group indicates that the particular user has a complete negative preference for the recommendation. The computing device of example 12, configured to determine not to include the recommendation in the second pruned recommendation list in response to determining to indicate.

例14:当該特定のユーザに関連付けられた計算アシスタントは、当該グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、当該特定のユーザが当該推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、当該推奨を当該第2の刈り取られた推奨リストに含めると判定するように構成される、例10乃至13の任意の組合せに記載のコンピューティング・デバイス。   Example 14: A computational assistant associated with the particular user indicates that the respective second privacy level data for the particular user of the group has the particular user a partially negative preference for the recommendation. The computing device according to any combination of examples 10-13, configured to determine to include the recommendation in the second pruned recommendation list in response to determining that it is indicated.

例15:当該要求はユーザの当該グループに含まれない要求するユーザから受信され、元の推奨リストは、当該要求するユーザに対するデータに基づいて生成されない、例10乃至14の任意の組合せに記載のコンピューティング・デバイス。   Example 15: The request is received from a requesting user who is not included in the group of users, and the original recommendation list is not generated based on data for the requesting user, as described in any combination of examples 10 to 14. Computing device.

例16:当該要求はユーザの当該グループに含まれる要求するユーザから受信され、元の推奨リストは当該要求するユーザに対するデータに基づいて生成される、例10乃至14の任意の組合せに記載のコンピューティング・デバイス。   Example 16: The computer according to any of the combinations of examples 10 to 14, wherein the request is received from a requesting user included in the group of users, and the original recommendation list is generated based on data for the requesting user. Device.

例17:当該要求は、娯楽推奨、食料の推奨、旅行の推奨、および共有された商品推奨のうち1つまたは複数に対するものである、例10乃至16の任意の組合せに記載のコンピューティング・デバイス。   Example 17: The computing device according to any combination of Examples 10 to 16, wherein the request is for one or more of entertainment recommendations, food recommendations, travel recommendations, and shared product recommendations. .

例18:当該グループのユーザに対する当該第1のプライバシ・レベル・データは当該グループのユーザに対して公に利用可能なデータを含む、例10乃至17の任意の組合せに記載のコンピューティング・デバイス。   Example 18: The computing device according to any combination of examples 10-17, wherein the first privacy level data for the users of the group comprises data publicly available to the users of the group.

例19:実行されたとき、コンピューティング・デバイスの1つまたは複数のプロセッサに、ユーザのグループへの推奨の要求を受信したことに応答しておよび当該グループのユーザに対する第1のプライバシ・レベル・データに基づいて、当該グループへの元の推奨リストを生成し、当該グループのユーザに関連付けられた夫々の計算アシスタントに、元の推奨リストを出力し、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、当該刈り取られた推奨リストを当該グループのユーザに表示するために出力させる命令を格納した非一時的コンピュータ可読記憶媒体であって、当該第2のプライバシ・レベルは当該第1のプライバシ・レベルよりも制限される、非一時的コンピュータ可読記憶媒体。   Example 19: When executed, one or more processors of a computing device, in response to receiving a request for a recommendation to a group of users, and a first privacy level for users of that group Based on the data, generate an original recommendation list for the group, output the original recommendation list to each calculation assistant associated with the user of the group, and calculate each of the calculations associated with the user of the group Receive an indication from the assistant, based on the respective second privacy level data for the users of the group, whether or not the recommendations from the original recommendation list should be included in the cut-off recommendations list for the group In response to the clipped recommendations list including at least one recommendation, Non-transitory computer readable storage medium storing instructions for outputting the recommended list to the user of the group, the second privacy level being more restricted than the first privacy level Non-transitory computer readable storage medium.

例20:当該刈り取られた推奨リストは第1の刈り取られた推奨リストを含み、当該非一時的コンピュータ可読記憶媒体は当該コンピューティング・デバイスの当該1つまたは複数のプロセッサに、当該グループのユーザに関連付けられた夫々の計算アシスタントから、当該グループのユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、元の推奨リストからの推奨を当該グループに対する第2の刈り取られた推奨リストに含めるべきかどうかの指示を受信し、当該第2の刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答しておよび当該グループのユーザに表示するために、当該第2の刈り取られた推奨リストを出力させる命令をさらに格納する、例19に記載の非一時的コンピュータ可読記憶媒体。   Example 20: The cut-off recommendations list includes a first cut-off recommendations list, the non-transitory computer readable storage medium is to the one or more processors of the computing device, to the users of the group From the associated respective calculation assistant, based on the respective weighted second privacy level data for the users of the group, recommendations from the original recommendations list are taken as the second clipped recommendations list for the group Received an indication of whether or not to be included in the second pruned recommendations list in response to the second pruned recommendations list including at least one recommendation and for displaying to a user of the group Non-transitory computer readable according to Example 19, further storing instructions for outputting a recommendation list憶媒 body.

例21:当該1つまたは複数のプロセッサに例1乃至9の任意の組合せに記載の方法を実施させる命令をさらに含む、例19に記載の非一時的コンピュータ可読記憶媒体。   Example 21: The non-transitory computer readable storage medium according to example 19, further comprising instructions that cause the one or more processors to perform the method described in any combination of examples 1-9.

例22:例1乃至9の任意の組合せに記載の方法を実施するための手段を備える、コンピューティング・デバイス。   Example 22: A computing device comprising means for performing the method described in any combination of examples 1-9.

1つまたは複数の例では、説明した機能を、ハードウェア、ソフトウェア、ファームウェア、またはその任意の組合せで実装してもよい。ソフトウェアで実装される場合、当該機能を、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に格納するかまたは当該媒体で送信し、ハードウェアベースの処理ユニットにより実行してもよい。コンピュータ可読媒体はコンピュータ可読記憶媒体または媒体を含んでもよい。当該媒体は、データ記憶媒体のような有形媒体、またはコンピュータプログラムを或る場所から別の場所へ、例えば、通信プロトコルに従って転送するのを促進する任意の媒体を含む通信媒体に対応する。このように、コンピュータ可読媒体は一般に、(1)非一時的である有形コンピュータ可読記憶媒体、または、(2)信号または搬送波のような通信媒体に対応しうる。データ記憶媒体は、本開示で説明した技術を実装するための命令、コードおよび/またはデータ構造を取り出すために、1つまたは複数のコンピュータまたは1つまたは複数のプロセッサによりアクセスしうる任意の利用可能な媒体であってもよい。コンピュータプログラム製品はコンピュータ可読媒体を含んでもよい。   In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer readable medium and executed by a hardware based processing unit. Computer readable media may include computer readable storage media or media. The medium corresponds to a tangible medium such as a data storage medium, or a communication medium including any medium that facilitates transfer of a computer program from one place to another, eg according to a communication protocol. Thus, a computer readable medium may generally correspond to (1) a tangible computer readable storage medium that is non-transitory, or (2) a communication medium such as a signal or carrier wave. A data carrier may be any available to one or more computers or one or more processors to retrieve instructions, code and / or data structures for implementing the techniques described in this disclosure. Media may be used. The computer program product may include computer readable media.

限定ではなく例として、かかるコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶、磁気ディスク記憶、または他の磁気記憶デバイス、フラッシュメモリ、または命令またはデータ構造の形で所望のプログラムコードを格納するために使用できコンピュータによりアクセスされうる他の任意の記憶媒体を含むことができる。また、任意の接続は正しくコンピュータ可読媒体と称される。例えば、命令がウェブサイト、サーバ、または他のリモートソースから同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者線(DSL)、または赤外線、無線、およびマイクロ波のような無線技術を用いて送信される場合、当該同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、DSL、または赤外線、無線、およびマイクロ波のような無線技術は媒体の定義に含まれる。しかし、コンピュータ可読記憶媒体および媒体およびデータ記憶媒体が接続、搬送波、信号、または他の透過的な媒体を含まず、非透過的な、有形記憶媒体に関することは理解されるべきである。ディスクは、本明細書で使用する際、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フロッピーディスクおよびBlu-ray(登録商標)ディスクを含む。ディスクは通常、データを磁気的に再生し、レーザで光学的にデータを再生する。上の組合せはコンピュータ可読媒体の範囲内に含まれるべきである。   By way of example and not limitation, such computer readable storage media may be in the form of RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage device, flash memory, or instructions or data structures. It can include any other storage medium that can be used to store the desired program code and can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, instructions may use wireless technologies such as coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or infrared, wireless, and microwave from a website, server, or other remote source When transmitted, such coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, wireless, and microwave are included in the definition of medium. However, it should be understood that computer readable storage media and media and data storage media relate to non-transparent, tangible storage media without connection, carrier waves, signals or other transparent media. Disks, as used herein, include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks and Blu-ray® disks. The disk normally reproduces the data magnetically and the laser optically reproduces the data. Combinations of the above should be included within the scope of computer readable media.

命令は、1つまたは複数のデジタル信号プロセッサ(DSP)、汎用目的マイクロプロセッサ、特殊用途向け集積回路(ASIC)、フィールドプログラム可能ロジック・アレイ(FPGA)、または他の等価な集積回路または離散論理回路のような1つまたは複数のプロセッサにより実行されうる。したがって、本明細書で使用する際「プロセッサ」という用語は、以上の構造の何れかまたは本明細書で説明した技術を実装するのに適した他の任意の構造を指してもよい。さらに、幾つかの態様では、本明細書で説明する機能を、専用ハードウェアおよび/またはソフトウェアモジュール内で提供してもよい。また、当該技術を、1つまたは複数の回路または論理要素で完全に実装することができる。   The instructions may be one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated circuits or discrete logic circuits May be executed by one or more processors such as Thus, the term "processor" as used herein may refer to any of the foregoing structures or any other structure suitable for implementing the techniques described herein. Further, in some aspects, the functionality described herein may be provided in dedicated hardware and / or software modules. Also, the techniques can be fully implemented with one or more circuits or logic elements.

当該本開示の諸技術を、無線ハンドセット、集積回路(IC)または1組のIC(例えば、チップセット)を含む、多種多様なデバイスまたは装置で実装してもよい。様々なコンポーネント、モジュール、またはユニットは、本開示では、開示された技術を実施するように構成されたデバイスの機能的態様を強調するように説明されているが、異なるハードウェアユニットによる実現を必ずしも必要とするものではない。むしろ、上述のように、様々なユニットは、ハードウェアユニットに結合するか、または、適切なソフトウェアおよび/またはファームウェアと関連して、上述の1つまたは複数のプロセッサを含む相互動作するハードウェアユニットの集合により提供されてもよい。   The techniques of the present disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (eg, a chip set). Although various components, modules, or units are described in this disclosure as highlighting functional aspects of devices configured to implement the disclosed technology, implementations with different hardware units are not necessarily required. It is not necessary. Rather, as mentioned above, the various units couple to hardware units or interoperate hardware units comprising one or more processors as described above in connection with appropriate software and / or firmware. May be provided by a set of

様々な実施形態を説明した。これらのおよび他の実施形態は添付の特許請求の範囲内にある。   Various embodiments have been described. These and other embodiments are within the scope of the following claims.

110A−110N コンピューティング・デバイス
120 UIモジュール
122A ローカル・アシスタント・モジュール
123A−123N リモート・アシスタント・モジュール
124A ユーザ情報データ・ストア
125A−125N ユーザ情報データ・ストア
130 ネットワーク
160 アシスタントサーバシステム
180 検索サーバシステム
182 検索モジュール
202 ディスプレイコンポーネント
204 存在検知入力コンポーネント
206 マイクロフォン・コンポーネント
208 スピーカ・コンポーネント
210 コンピューティング・デバイス
212 ユーザ・インタフェース・デバイス
220 UIモジュール
222 アシスタント・モジュール
224 ユーザ情報データ・ストア
226 アプリケーション・モジュール(複数可)
240 プロセッサ(複数可)
242 通信ユニット(複数可)
244 入力コンポーネント(複数可)
246 出力コンポーネント(複数可)
248 記憶デバイス
250 通信チャネル
282 検索モジュール
322 アシスタント・モジュール
325A−325N ユーザ情報データ・ストア
340 プロセッサ(複数可)
342 通信ユニット(複数可)
348 記憶デバイス
350 通信チャネル
360 アシスタントサーバシステム
382 検索モジュール
110A-110N Computing Device 120 UI Module 122A Local Assistant Module 123A-123N Remote Assistant Module 124A User Information Data Store 125A-125N User Information Data Store 130 Network 160 Assistant Server System 180 Search Server System 182 Search Module 202 Display Component 204 Presence Detection Input Component 206 Microphone Component 208 Speaker Component 210 Computing Device 212 User Interface Device 220 UI Module 222 Assistant Module 224 User Information Data Store 226 Application Module (s)
240 processor (s)
242 Communication unit (s)
244 Input Component (s)
246 Output Component (s)
248 storage device 250 communication channel 282 search module 322 assistant module 325A-325N user information data store 340 processor (s)
342 Communication Unit (s)
348 storage device 350 communication channel 360 assistant server system 382 search module

Claims (20)

グループに属する夫々のユーザに関連付けられる計算アシスタントを実行する1つまたは複数のプロセッサにより実施される方法であって、
前記ユーザのグループへの推奨の要求を受信したことに応答して、前記グループのユーザに対する第1のプライバシ・レベル・データに基づいて、前記グループへの元の推奨リストを生成するステップと、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントによりおよび前記グループの前記ユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、前記グループに対する刈り取られた推奨リストに含めるための前記元の推奨リストから推奨を評価するステップであって、前記第2のプライバシ・レベルは前記第1のプライバシ・レベルよりも制限される、ステップと、
前記刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、前記グループの前記ユーザに表示するために、前記刈り取られた推奨リストを出力するステップと、
を含む、方法。
A method implemented by one or more processors executing a computational assistant associated with each user belonging to the group,
A step of in response to receiving the recommended request to the group of the user, based on the first privacy level data for the users in the group, generates the original recommendation list to the group,
The original to be included in the cut-off recommendation list for the group by respective computational assistants associated with the users of the group and based on respective second privacy level data for the users of the group Evaluating recommendations from the recommendations list, wherein the second privacy level is more restricted than the first privacy level;
Outputting the clipped recommendations list for display to the users of the group in response to the cropped recommendations list including at least one recommendation;
Method, including.
前記刈り取られた推奨リストは第1の刈り取られた推奨リストを含み、前記方法は、
前記第1の刈り取られた推奨リストが推奨を含まないことに応答して、前記グループの前記ユーザの夫々の計算アシスタントによりおよび前記グループの前記ユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、前記グループに対する第2の刈り取られた推奨リストに含めるための前記元の推奨リストからの推奨を評価するステップと、
前記第2の刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、前記グループの前記ユーザに表示するために、前記第2の刈り取られた推奨リストを出力するステップと、
をさらに含む、請求項1に記載の方法。
The clipped recommendations list includes a first clipped recommendations list, and the method
In response to the first pruned recommendations list not including a recommendation, a weighted second privacy level for each user of the user of the group and for each user of the group. Evaluating recommendations from the original recommendation list for inclusion in a second reaped recommendation list for the group based on the data;
Outputting the second cropped recommendations list for display to the users of the group in response to the second cropped recommendations list including at least one recommendation;
The method of claim 1, further comprising
前記グループの特定のユーザに関連付けられた計算アシスタントによりおよび前記グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、前記グループに対する前記第1の刈り取られた推奨リストに含めるための前記元の推奨リストからの推奨を評価するステップは、
前記グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する何等かのネガティブな嗜好を有することを示すと判定したことに応答して、前記推奨を前記第1の刈り取られた推奨リストに含めないと判定するステップ
を含む、請求項2に記載の方法。
To be included in the first cropped recommendation list for the group by the computational assistant associated with the particular user of the group and based on respective second privacy level data for the particular user of the group Evaluating the recommendations from the original recommendation list of
In response to determining that each second privacy level data for a particular user of the group indicates that the particular user has some negative preference for the recommendation, the recommendation is 3. The method of claim 2, including the step of: determining not to include in the first cropped recommendations list.
前記グループの特定のユーザに関連付けられた前記計算アシスタントによりおよび前記グループの特定のユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、前記グループに対する前記第2の刈り取られた推奨リストに含めるための前記元の推奨リストからの前記推奨を評価するステップは、
前記グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、前記推奨を前記第2の刈り取られた推奨リストに含めないと判定するステップ
を含む、請求項3に記載の方法。
The second cropped recommendations for the group by the computational assistant associated with the particular user of the group and based on respective second privacy level data weighted for the particular user of the group Evaluating the recommendations from the original recommendation list for inclusion in the list
Said recommendation in response to determining that each second privacy level data for a particular user of said group indicates that said particular user has a complete negative preference for said recommendation. 4. The method of claim 3, including the step of: determining that it is not included in the two trimmed recommendations list.
前記グループの特定のユーザに関連付けられた前記計算アシスタントによりおよび前記グループの特定のユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、前記グループに対する前記第2の刈り取られた推奨リストに含めるための前記元の推奨リストからの前記推奨を評価するステップは、
前記グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、前記推奨を前記第2の刈り取られた推奨リストに含めると判定するステップ
を含む、請求項3に記載の方法。
The second cropped recommendations for the group by the computational assistant associated with the particular user of the group and based on respective second privacy level data weighted for the particular user of the group Evaluating the recommendations from the original recommendation list for inclusion in the list
Said recommendation in response to determining that each second privacy level data for a particular user of said group indicates that said particular user has a partially negative preference for said recommendation. 4. The method of claim 3, including the steps of: determining to include in the second reaped recommendations list.
前記要求はユーザの前記グループに含まれない要求するユーザから受信され、前記元の推奨リストは、前記要求するユーザに対するデータに基づいて生成されない、請求項1に記載の方法。   The method according to claim 1, wherein the request is received from a requesting user not included in the group of users, and the original recommendation list is not generated based on data for the requesting user. 前記要求はユーザの前記グループに含まれる要求するユーザから受信され、前記元の推奨リストは前記要求するユーザに対するデータに基づいて生成される、請求項1に記載の方法。   The method according to claim 1, wherein the request is received from a requesting user included in the group of users, and the original recommendation list is generated based on data for the requesting user. 前記要求は、
娯楽推奨、
食料の推奨、
旅行の推奨、および
共有された商品推奨
のうち1つまたは複数に対するものである、請求項1に記載の方法。
The request is
Recommended entertainment,
Food recommendations,
The method of claim 1, wherein the method is for one or more of travel recommendations and shared product recommendations.
前記グループの前記ユーザに対する前記第1のプライバシ・レベル・データは前記グループの前記ユーザに対して公に利用可能なデータを含む、請求項1に記載の方法。   The method of claim 1, wherein the first privacy level data for the users of the group comprises data publicly available to the users of the group. 少なくとも1つのプロセッサと、
実行されたとき、前記少なくとも1つのプロセッサに、
ユーザのグループへの推奨の要求を受信したことに応答しておよび前記グループのユーザに対する第1のプライバシ・レベル・データに基づいて、前記グループへの元の推奨リストを生成
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントに、前記元の推奨リストを出力
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントから、前記グループの前記ユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、前記元の推奨リストからの推奨を前記グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信
前記刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、前記刈り取られた推奨リストを前記グループの前記ユーザに表示するために出力する
ように構成された計算アシスタントを提供させる命令を備えた少なくとも1つのメモリと
を備えたコンピューティング・デバイスであって、
前記第2のプライバシ・レベルは前記第1のプライバシ・レベルよりも制限される、
コンピューティング・デバイス。
At least one processor,
When executed, said at least one processor,
Based on the first privacy level data for the user in response and the group that received the recommended requirements of the users of the group, to produce the original recommendation list to the group,
In the calculation assistant respectively associated with the user of the group, to output the source of the recommended list,
The recommendations from the original recommendation list are clipped to the group from the respective calculation assistants associated with the users of the group based on respective second privacy level data for the users of the group or to receive an indication whether or not that should be included in the recommended list,
Instructions for providing a computational assistant configured to output the clipped recommendations list for display to the user of the group in response to the cropped recommendations list including at least one recommendation A computing device comprising: at least one memory;
The second privacy level is more limited than the first privacy level.
Computing device.
前記刈り取られた推奨リストは第1の刈り取られた推奨リストを含み、前記計算アシスタントは、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントから、前記グループの前記ユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、前記元の推奨リストからの推奨を前記グループに対する第2の刈り取られた推奨リストに含めるべきかどうかの指示を受信し、
前記第2の刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答しておよび前記グループの前記ユーザに表示するために、前記第2の刈り取られた推奨リストを出力する
ようにさらに構成された、請求項10に記載のコンピューティング・デバイス。
The cut-off recommendations list includes a first cut-off recommendations list, and the calculation assistant
Recommendations from the original recommendation list for the group based on respective weighted second privacy level data for the users of the group from respective computational assistants associated with the users of the group. Receive instructions on whether to include in the second reaped recommendations list,
Further configured to output the second cropped recommendations list in response to the second cropped recommendations list including at least one recommendation and for display to the user of the group. 11. The computing device of claim 10.
特定のユーザに関連付けられた計算アシスタントは、
前記グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する何等かのネガティブな嗜好を有することを示すと判定したことに応答して、前記元の推奨リストからの前記推奨を前記第1の刈り取られた推奨リストに含めないと判定する
ように構成される、請求項11に記載のコンピューティング・デバイス。
The calculation assistant associated with a particular user is
The original in response to determining that each second privacy level data for a particular user of the group indicates that the particular user has some negative preference for the recommendation. It constituted the recommendations from the recommendation list for determines not included in the first of clippings recommendation list, computing device of claim 11.
前記特定のユーザに関連付けられた前記計算アシスタントは、
前記グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する完全なネガティブな嗜好を有すると示すと判定したことに応答して、前記推奨を前記第2の刈り取られた推奨リストに含めないと判定する
ように構成される、請求項12に記載のコンピューティング・デバイス。
The calculation assistant associated with the particular user is
Said recommendation in response to determining that each second privacy level data for a particular user of said group indicates that said particular user has a complete negative preference for said recommendation. The computing device according to claim 12, configured to determine not to be included in the two trimmed recommendations list.
前記特定のユーザに関連付けられた前記計算アシスタントは、
前記グループの特定のユーザに対する夫々の第2のプライバシ・レベル・データが、前記特定のユーザが前記推奨に対する部分的にネガティブな嗜好を有すると示すと判定したことに応答して、前記推奨を前記第2の刈り取られた推奨リストに含めると判定する、
ように構成される、請求項12に記載のコンピューティング・デバイス。
The calculation assistant associated with the particular user is
Said recommendation in response to determining that each second privacy level data for a particular user of said group indicates that said particular user has a partially negative preference for said recommendation. Determine to include in the second reaped recommendations list,
The computing device of claim 12 configured to:
前記要求はユーザの前記グループに含まれない要求するユーザから受信され、前記元の推奨リストは、前記要求するユーザに対するデータに基づいて生成されない、請求項10に記載のコンピューティング・デバイス。   11. The computing device of claim 10, wherein the request is received from a requesting user not included in the group of users, and the original recommendation list is not generated based on data for the requesting user. 前記要求はユーザの前記グループに含まれる要求するユーザから受信され、前記元の推奨リストは前記要求するユーザに対するデータに基づいて生成される、請求項10に記載のコンピューティング・デバイス。   11. The computing device of claim 10, wherein the request is received from a requesting user included in the group of users, and the original recommendation list is generated based on data for the requesting user. 前記要求は、
娯楽推奨、
食料の推奨、
旅行の推奨、および
共有された商品推奨
のうち1つまたは複数に対するものである、請求項10に記載のコンピューティング・デバイス。
The request is
Recommended entertainment,
Food recommendations,
11. The computing device of claim 10, for one or more of travel recommendations and shared product recommendations.
前記グループの前記ユーザに対する前記第1のプライバシ・レベル・データは前記グループの前記ユーザに対して公に利用可能なデータを含む、請求項10に記載のコンピューティング・デバイス。   11. The computing device of claim 10, wherein the first privacy level data for the users of the group comprises data publicly available to the users of the group. 命令を記録した非一時的コンピュータ可読記憶媒体であって、
前記命令は、実行されたとき、コンピューティング・デバイスの1つまたは複数のプロセッサに、
ユーザのグループへの推奨の要求を受信したことに応答しておよび前記グループのユーザに対する第1のプライバシ・レベル・データに基づいて、前記グループへの元の推奨リストを生成させ、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタント、前記元の推奨リストを出力させ、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントから、前記グループの前記ユーザに対する夫々の第2のプライバシ・レベル・データに基づいて、前記元の推奨リストからの推奨を前記グループに対する刈り取られた推奨リストに含めるべきかどうかの指示を受信させ、
前記刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答して、前記刈り取られた推奨リストを前記グループの前記ユーザに表示するために出力させ
前記第2のプライバシ・レベルは前記第1のプライバシ・レベルよりも制限される、
非一時的コンピュータ可読記憶媒体。
Non-transitory computer readable storage medium having instructions recorded thereon, comprising:
The instructions when executed on one or more processors of a computing device
Generating an original recommendation list for the group in response to receiving a request for a recommendation for the group of users and based on first privacy level data for users of the group,
Outputting the original recommendation list to each calculation assistant associated with the users of the group;
The recommendations from the original recommendation list are clipped to the group from the respective calculation assistants associated with the users of the group based on respective second privacy level data for the users of the group an indication of whether that should be included in the recommended list is received,
Outputting the clipped recommendations list for display to the user of the group in response to the cropped recommendations list including at least one recommendation ;
The second privacy level is more limited than the first privacy level.
Non-transitory computer readable storage medium.
前記刈り取られた推奨リストは第1の刈り取られた推奨リストを含み、前記非一時的コンピュータ可読記憶媒体は前記コンピューティング・デバイスの前記1つまたは複数のプロセッサに、
前記グループの前記ユーザに関連付けられた夫々の計算アシスタントから、前記グループの前記ユーザに対する重み付けされた夫々の第2のプライバシ・レベル・データに基づいて、前記元の推奨リストからの推奨を前記グループに対する第2の刈り取られた推奨リストに含めるべきかどうかの指示を受信させ、
前記第2の刈り取られた推奨リストが少なくとも1つの推奨を含むことに応答しておよび前記グループの前記ユーザに表示するために、前記第2の刈り取られた推奨リストを出力させる
命令をさらに記録する、請求項19に記載の非一時的コンピュータ可読記憶媒体。
The cropped recommendations list includes a first cropped recommendations list, and the non-transitory computer readable storage medium is to the one or more processors of the computing device.
Recommendations from the original recommendation list for the group based on respective weighted second privacy level data for the users of the group from respective computational assistants associated with the users of the group. Receive instructions on whether to include in the second reaped recommendations list,
Further recording instructions causing the second cropped recommendations list to be output in response to the second cropped recommendations list including at least one recommendation and for display to the user of the group 20. The non-transitory computer readable storage medium of claim 19.
JP2017230273A 2016-12-30 2017-11-30 Group recommendation virtual assistant generation Active JP6549682B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/394,979 2016-12-30
US15/394,979 US10699181B2 (en) 2016-12-30 2016-12-30 Virtual assistant generation of group recommendations

Publications (2)

Publication Number Publication Date
JP2018109954A JP2018109954A (en) 2018-07-12
JP6549682B2 true JP6549682B2 (en) 2019-07-24

Family

ID=60270156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017230273A Active JP6549682B2 (en) 2016-12-30 2017-11-30 Group recommendation virtual assistant generation

Country Status (7)

Country Link
US (2) US10699181B2 (en)
JP (1) JP6549682B2 (en)
CN (2) CN113220175A (en)
DE (1) DE202017105676U1 (en)
GB (1) GB2558354A (en)
TW (1) TWI720255B (en)
WO (1) WO2018125377A1 (en)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10699181B2 (en) 2016-12-30 2020-06-30 Google Llc Virtual assistant generation of group recommendations
US10176808B1 (en) * 2017-06-20 2019-01-08 Microsoft Technology Licensing, Llc Utilizing spoken cues to influence response rendering for virtual assistants
US11477219B2 (en) * 2018-02-20 2022-10-18 Darktrace Holdings Limited Endpoint agent and system
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US10978056B1 (en) 2018-04-20 2021-04-13 Facebook, Inc. Grammaticality classification for natural language generation in assistant systems
US11115410B1 (en) 2018-04-20 2021-09-07 Facebook, Inc. Secure authentication for assistant systems
US10782986B2 (en) 2018-04-20 2020-09-22 Facebook, Inc. Assisting users with personalized and contextual communication content
US10896295B1 (en) 2018-08-21 2021-01-19 Facebook, Inc. Providing additional information for identified named-entities for assistant systems
US10949616B1 (en) 2018-08-21 2021-03-16 Facebook, Inc. Automatically detecting and storing entity information for assistant systems
CN111158803B (en) 2018-11-07 2024-05-10 财团法人工业技术研究院 Virtual assistant negotiation system and method thereof
CN109615699B (en) * 2018-12-11 2023-12-08 光禹莱特数字科技(上海)有限公司 Augmented reality grouping method, system, readable storage medium and device
CN110162694B (en) * 2019-04-02 2021-01-05 莫毓昌 Recommendation system and method based on paired association rules
US11442992B1 (en) 2019-06-28 2022-09-13 Meta Platforms Technologies, Llc Conversational reasoning with knowledge graph paths for assistant systems
US11657094B2 (en) 2019-06-28 2023-05-23 Meta Platforms Technologies, Llc Memory grounded conversational reasoning and question answering for assistant systems
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11562744B1 (en) 2020-02-13 2023-01-24 Meta Platforms Technologies, Llc Stylizing text-to-speech (TTS) voice response for assistant systems
US11159767B1 (en) 2020-04-07 2021-10-26 Facebook Technologies, Llc Proactive in-call content recommendations for assistant systems
US11658835B2 (en) 2020-06-29 2023-05-23 Meta Platforms, Inc. Using a single request for multi-person calling in assistant systems
US11563706B2 (en) 2020-12-29 2023-01-24 Meta Platforms, Inc. Generating context-aware rendering of media contents for assistant systems
US11809480B1 (en) 2020-12-31 2023-11-07 Meta Platforms, Inc. Generating dynamic knowledge graph of media contents for assistant systems
US11861315B2 (en) 2021-04-21 2024-01-02 Meta Platforms, Inc. Continuous learning for natural-language understanding models for assistant systems
US11983329B1 (en) 2022-12-05 2024-05-14 Meta Platforms, Inc. Detecting head gestures using inertial measurement unit signals

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1136295B (en) 1980-02-29 1986-08-27 Rossi & Catelli & C Snc FEEDING DEVICE FOR PRESTERILIZED OBJECTS, ENCLOSED IN INTERNALLY STERILE CONTAINERS FOR STERILE PACKAGING SYSTEM
US7603356B2 (en) * 2001-01-26 2009-10-13 Ascentive Llc System and method for network administration and local administration of privacy protection criteria
JP4066237B2 (en) 2002-06-17 2008-03-26 コニカミノルタホールディングス株式会社 Method for producing molding die for optical element
JP4339557B2 (en) 2002-07-05 2009-10-07 富士通株式会社 Information sharing method, information sharing apparatus, and information sharing program
EP1891588A1 (en) 2005-05-27 2008-02-27 Koninklijke Philips Electronics N.V. Method and apparatus for estimating total interest of a group of users directing to a content
WO2007063162A1 (en) 2005-11-30 2007-06-07 Nokia Corporation Socionymous method for collaborative filtering and an associated arrangement
US20110270774A1 (en) * 2010-04-30 2011-11-03 Microsoft Corporation Group Recommendations in Social Networks
US9311308B2 (en) 2010-10-29 2016-04-12 Hewlett-Packard Development Company, L.P. Content recommendation for groups
CN103493463A (en) * 2011-04-25 2014-01-01 阿尔卡特朗讯 Privacy protection in recommendation services
US8949232B2 (en) 2011-10-04 2015-02-03 Microsoft Corporation Social network recommended content and recommending members for personalized search results
CN103186539B (en) 2011-12-27 2016-07-27 阿里巴巴集团控股有限公司 A kind of method and system determining user group, information inquiry and recommendation
JP6138171B2 (en) 2012-03-08 2017-05-31 トムソン ライセンシングThomson Licensing How to recommend items to a group of users
WO2013180704A1 (en) 2012-05-30 2013-12-05 Intel Corporation Determining a profile for a recommendation engine based on group interaction dynamics
KR101847370B1 (en) * 2012-06-15 2018-05-24 알까뗄 루슨트 Architecture of privacy protection system for recommendation services
JP5944251B2 (en) * 2012-07-11 2016-07-05 Kddi株式会社 Item recommendation system, item recommendation method and program
JP5631366B2 (en) 2012-07-30 2014-11-26 株式会社ゼンリンデータコム Navigation system, navigation method, and computer program
US9680959B2 (en) 2012-08-30 2017-06-13 Google Inc. Recommending content based on intersecting user interest profiles
US9536049B2 (en) * 2012-09-07 2017-01-03 Next It Corporation Conversational virtual healthcare assistant
EP2747371B1 (en) * 2012-12-24 2018-02-07 Alcatel Lucent Access policy definition with respect to a data object
US9449077B2 (en) * 2013-02-14 2016-09-20 Wine Ring, Inc. Recommendation system based on group profiles of personal taste
US9679062B2 (en) * 2013-09-18 2017-06-13 Excalibur Ip, Llc Local recommendation engine
US9558242B2 (en) * 2013-10-15 2017-01-31 Google Inc. Social where next suggestion
KR101595178B1 (en) * 2014-03-26 2016-03-02 주식회사 브릿지랩 Recommender system and method thereof
US9710546B2 (en) * 2014-03-28 2017-07-18 Microsoft Technology Licensing, Llc Explicit signals personalized search
CN104050267B (en) * 2014-06-23 2017-10-03 中国科学院软件研究所 The personalized recommendation method and system of privacy of user protection are met based on correlation rule
JP2016126623A (en) 2015-01-06 2016-07-11 株式会社Nttドコモ Action support device, action support system, action support method, and program
US9507960B2 (en) * 2015-02-25 2016-11-29 Citigroup Technology, Inc. Systems and methods for automated data privacy compliance
US20170083962A1 (en) * 2015-09-18 2017-03-23 Rovi Guides, Inc. Methods and systems for recommending gifts using a supplemental profile
CN105631703A (en) * 2015-12-16 2016-06-01 北京奇虎科技有限公司 Prompt window advertisement data processing method and system capable of realizing privacy filtering
CN105718239B (en) * 2016-01-27 2019-03-08 百度在线网络技术(北京)有限公司 A kind of method and apparatus of voice input
CN105959740A (en) * 2016-05-17 2016-09-21 康佳集团股份有限公司 Television program navigation method and system based on user behavior analysis
CN106503566A (en) * 2016-10-22 2017-03-15 肇庆市联高电子商务有限公司 Server for ecommerce
US10699181B2 (en) 2016-12-30 2020-06-30 Google Llc Virtual assistant generation of group recommendations

Also Published As

Publication number Publication date
WO2018125377A1 (en) 2018-07-05
US20200285931A1 (en) 2020-09-10
JP2018109954A (en) 2018-07-12
CN108268130A (en) 2018-07-10
GB201715905D0 (en) 2017-11-15
US11562198B2 (en) 2023-01-24
TWI720255B (en) 2021-03-01
GB2558354A (en) 2018-07-11
US20180189629A1 (en) 2018-07-05
CN113220175A (en) 2021-08-06
US10699181B2 (en) 2020-06-30
TW201828120A (en) 2018-08-01
CN108268130B (en) 2021-04-06
DE202017105676U1 (en) 2018-04-04

Similar Documents

Publication Publication Date Title
JP6549682B2 (en) Group recommendation virtual assistant generation
US11380331B1 (en) Virtual assistant identification of nearby computing devices
US11790207B2 (en) Delayed responses by computational assistant
JP7108122B2 (en) Selection of synthetic voices for agents by computer
US10311856B2 (en) Synthesized voice selection for computational agents
KR102293281B1 (en) Personalization of your virtual assistant
US10853747B2 (en) Selection of computational agent for task performance
US11663535B2 (en) Multi computational agent performance of tasks

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190205

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190603

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190627

R150 Certificate of patent or registration of utility model

Ref document number: 6549682

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250