Determining and servicing user intent with a virtual assistant

US10877784B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-10877784-B1
Application numberUS-201815993510-A
CountryUS
Kind codeB1
Filing dateMay 30, 2018
Priority dateMay 30, 2018
Publication dateDec 29, 2020
Grant dateDec 29, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A virtual assistant receives a message including message content from a client device. The virtual assistant determines an intent to organize an event and initial parameters for the event based on the message content. The virtual assistant retrieves a set of messages related to the received message from a data store and refines the initial parameters based on the related messages. A set of potential recommendations is generated based on the refined event parameters and the virtual assistant selects one or more of the potential recommendations to surface to users. The selected recommendations are sent to the client device for presentation to the user.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving at a first time, from a client device, a message including message content, the message in a thread of messages between one or more users; determining, based on the message content, an intent to organize an event; determining initial parameters for the event based on the message content, wherein at least one parameter of the initial parameters is associated with a preference score, the preference score indicating desirability of selecting a particular parameter for the event, the preference score being able to take at least three distinct values; retrieving, from a data store, a set of related messages, the related messages including previous messages that were added to the thread of messages at an earlier time than the first time, before the message was received; refining the initial parameters based on the previous messages to produce refined event parameters, the refining comprising adjusting the preference score of the parameter based on a reference to the parameter in the related messages; generating a set of potential recommendations based on the refined event parameters; selecting one or more of the potential recommendations to surface as recommendations; and providing the recommendations to the client device for presentation to a user. 2. The method of claim 1 , further comprising: determining the potential recommendations are not sufficient to surface as recommendations; retrieving an additional message that is related to the message; further refining the refined event parameters based on the additional message to produce further refined event parameters; and updating the set of potential recommendations based on the further refined event parameters, wherein the potential recommendations to surface as recommendations are selected from among the updated set of potential recommendations. 3. The method of claim 1 , further comprising: creating, responsive to the intent, an event data object, the event data object including a plurality of fields for storing the event parameters, each field corresponding to a different type of event parameter, the plurality of fields including at least one of: a who field configured to store identifiers of users who may participate in the event; a what field configured to store activities that may be included in the event; a where field configured to store locations at which the event may take place; and a when field configured to store times at which the event may occur, wherein the set of potential recommendations is generated based on a value stored in at least one of the plurality of fields. 4. The method of claim 3 , wherein determining the initial parameters comprises: adding, to the who field, a user identifier of at least one of: a user that sent the message or a user that received the message; determining a specific intent based on the content of the message; and adding, to the what field, an activity based on the specific intent, wherein the set of potential recommendations include an event involving a user identified by the user identifier and the activity. 5. The method of claim 1 , wherein generating the set of potential recommendations comprises: identifying potential recommendations based on the refined event parameters; calculating match scores for at least some of the potential recommendations, each match score indicating a likelihood that a corresponding potential recommendation will service the intent, wherein the potential recommendations to surface as recommendations are selected based on the match scores. 6. The method of claim 5 , wherein the event parameters include an activity to include in the event, users who will participate in the event, and a location for the event, and wherein calculating the match scores comprises: applying a model that takes one or more signals as input and outputs a match score, the one or more signals including at least one of: a time that users generally perform the activity, a time at which the users specified in the event parameters typically perform the activity, a time that users typically visit the location; a time that the users specified in the event parameters typically visit the location, affinities of the users specified in the event parameters for the activity, or affinities of the users specified in the event parameters for the location. 7. The method of claim 5 , wherein at least some of the match scores are based on the preference score of the particular parameter. 8. The method of claim 1 , wherein each of the recommendations includes identifiers of a plurality of users to include in the event, the method further comprising: receiving feedback regarding the recommendations from client devices of at least some of the plurality of users; selecting one of the recommendations based on the feedback; and sending information about the selected recommendation to client devices of the plurality of users identified by the identifiers includes in the selected recommendation. 9. The method of claim 1 , further comprising refining the initial parameters based on user profile information of the one or more users. 10. The method of claim 1 further comprising: identifying, from the initial parameters, an additional user in one or more of the users' contacts, the additional user predicted to find value in the event; and responsive to identifying the additional user, recommending the additional user as a potential attendee for the event. 11. The method of claim 1 , wherein the preference score is expressed as a preference level, and the three or more distinct values comprise a high level, a medium level, and a low level. 12. A non-transitory computer-readable medium storing computer program instructions executable by a processor to perform operations comprising: receiving at a first time, from a client device, a message including message content, the message in a thread of messages between one or more users; determining, based on the message content, an intent to organize an event; determining initial parameters for the event based on the message content, wherein at least one parameter of the initial parameters is associated with a preference score, the preference score indicating desirability of selecting a particular parameter for the event, the preference score being able to take at least three distinct values; retrieving, from a data store, a set of related messages, the related messages including previous messages that were added to the thread of messages at an earlier time than the first time, before the message was received; refining the initial parameters based on the previous messages to produce refined event parameters, the refining comprising adjusting the preference score of the parameter based on a reference to the parameter in the related messages; generating a set of potential recommendations based on the refined event parameters; selecting one or more of the potential recommendations to surface as recommendations; and providing the recommendations to the client device for presentation to a user. 13. The non-transitory computer-readable medium of claim 12 , wherein the operations further comprise: determining the potential recommendations are not sufficient to surface as recommendations; retrieving an additional message that is related to the message; further refining the refined event parameters based on the additional message to produce further refined event parameters; and updating the set of potential recommendations based on the further refined event parameters, wherein the potential recommendations to surface as recomm

Assignees

Inventors

Classifications

  • G06Q10/40Primary

    Business processes related to social networking or social networking services · CPC title

  • Handling conversation history, e.g. grouping of messages in sessions or threads · CPC title

  • for supporting social networking services · CPC title

  • G06F9/453Primary

    Help systems · CPC title

  • Determination of affinities or common interests between users · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10877784B1 cover?
A virtual assistant receives a message including message content from a client device. The virtual assistant determines an intent to organize an event and initial parameters for the event based on the message content. The virtual assistant retrieves a set of messages related to the received message from a data store and refines the initial parameters based on the related messages. A set of pote…
Who is the assignee on this patent?
Facebook Inc
What technology area does this patent fall under?
Primary CPC classification G06Q10/40. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 29 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).