IP Library Granted Patent US 10,809,974
Granted Patent B2
US 10,809,974 · App. 15/727,132 · Granted Oct 20, 2020

Voice commands for online social networking systems

Inventors: Jenny Yuen (Cambridge, MA); David Harry Garcia (Campbell, CA)
Assignee: Facebook, Inc.
G06F3/167G06F3/048G06F16/9024G06Q10/10H04L65/403H04L67/18G06Q50/01
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,809,974
App. No.
15/727,132
Granted
Oct 20, 2020
Kind
B2
Abstract

In one embodiment, a method includes receiving, from a client system of a first user of an online social network, voice input of the first user; receiving, from the client system, information indicating a current geo-location of the first user; parsing the voice input to identify one or more commands in the voice input; determining a data object of the online social network corresponding to the current geo-location of the first user and a command of the one or more commands associated with the current geo-location of the first user; and executing the command associated with the current geo-location of the first user on the online social network, wherein the executed command operates on the data object corresponding to the current geo-location of the first user.

Claims (39)

1. A method comprising, by one or more computing systems:

receiving, from a client system of a first user of an online social network, voice input of the first user, wherein the first user is represented by a first profile;

receiving, from the client system, information indicating a current geo-location of the first user;

parsing, based on the current geo-location of the first user, the voice input to identify one or more commands in the voice input, and identify an action to perform on a social graph associated with the online social network and one or more social-graph elements on which to perform the action;

determining a second profile of the online social network representing the current geo-location of the first user and a command of the one or more commands associated with the current geo-location of the first user; and

executing the command associated with the current geo-location of the first user on the online social network to modify the social graph based on the command and the current geo-location, wherein the executed command operates on a first data object from the first profile representing the first user and a second data object from the second profile representing the current geo-location of the first user.

2. The method of claim 1 , wherein the voice input is a voice message received at an audio input of the client system.

3. The method of claim 1 , wherein parsing the voice input comprises natural-language processing the voice input to identify one or more commands in the voice input.

4. The method of claim 1 , wherein each identified command comprises one or more n-grams.

5. The method of claim 4 , wherein parsing the voice input comprises processing the voice input to identify a sequence of n-grams in the voice input, and wherein each command is identified based on a relative position of each n-gram in the sequence.

6. The method of claim 1 , wherein the information indicating the current geo-location of the first user comprises one or more of a Global Positioning System coordinate, a street name, a street intersection, or an identity of a physical venue.

7. The method of claim 1 , wherein the information indicating the current geo-location of the first user is determined by the client system based on one or more of a Global Positioning System signal, a wireless local area network signal, a cellular signal, or a quick response code.

8. The method of claim 1 , further comprising:

accessing a social graph comprising a plurality of nodes and a plurality of edges connecting the nodes, each of the edges between two nodes establishing a single degree of separation between them, the nodes comprising:

a first node corresponding to the first user, and

a plurality of second nodes corresponding to a plurality of profiles of the online social network, respectively, each second node being of a particular node-type corresponding to the respective profile.

9. The method of claim 8 , wherein the executed command comprises a social-networking action, the social-networking action indicating a particular relationship, and wherein the first and second profiles correspond to nodes of the social graph.

10. The method of claim 8 , wherein the second profile representing the current geo-location of the first user corresponds to a concept-type node of the social graph.

11. The method of claim 1 , further comprising:

calculating, for each of the identified commands, a probability that the identified command corresponds to a particular type of social-graph element;

determining, for each of the identified commands, one or more types of social-graph elements corresponding to the respective identified command based on the calculated probability that the identified command from the voice input corresponds to a particular type of social-graph element exceeds a threshold probability; and

generating, responsive to determining that at least one probability exceeds the threshold probability, one or more social-graph elements in a social graph of the online social network, each generated social-graph element being one of the determined types.

12. The method of claim 11 , wherein determining, for each identified command, the one or more types of social-graph elements corresponding to the respective identified command is based on the respective determined probability.

13. The method of claim 11 , wherein the probabilities are determined based on the current geo-location of the first user.

14. The method of claim 11 , wherein one or more of the probabilities are determined based on a degree of separation between the first user node and a second node in the social graph.

15. The method of claim 11 , wherein determining, for each identified command, the one or more types of social-graph elements corresponding to the respective identified command is based on information indicating that the first user is proximate to a particular second user.

16. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

receive, from a client system of a first user of an online social network, voice input of the first user, wherein the first user is represented by a first profile;

receive, from the client system, information indicating a current geo-location of the first user;

parse, based on the current geo-location of the first user, the voice input to identify one or more commands in the voice input, and identify an action to perform on a social graph associated with the online social network and one or more social-graph elements on which to perform the action;

determine a second profile of the online social network representing the current geo-location of the first user and a command of the one or more commands associated with the current geo-location of the first user; and

execute the command associated with the current geo-location of the first user on the online social network to modify the social graph based on the command and the current geo-location, wherein the executed command operates on a first data object from the first profile representing the first user and a second data object from the second profile representing the current geo-location of the first user.

17. The media of claim 16 , wherein the voice input is a voice message received at an audio input of the client system.

18. A system comprising: one or more processors; and a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

receive, from a client system of a first user of an online social network, voice input of the first user, wherein the first user is represented by a first profile;

receive, from the client system, information indicating a current geo-location of the first user;

parse, based on the current geo-location of the first user, the voice input to identify one or more commands in the voice input, and identify an action to perform on a social graph associated with the online social network and one or more social-graph elements on which to perform the action;

determine a second profile of the online social network representing the current geo-location of the first user and a command of the one or more commands associated with the current geo-location of the first user; and

execute the command associated with the current geo-location of the first user on the online social network to modify the social graph based on the command and the current geo-location, wherein the executed command operates on a first data object from the first profile representing the first user and a second data object from the second profile representing the current geo-location of the first user.

Assignments (1)
CHANGE OF NAME Recorded Jan 19, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058771/0178 →
Continuity (3)
Continuation 14708567 · May 11, 2015
Continuation 13652767 · Oct 16, 2012
Related Publication 20180032310A1 · Feb 1, 2018