IP Library Granted Patent US 9,606,977
Granted Patent B2
US 9,606,977 · App. 14/161,368 · Granted Mar 28, 2017

Identifying tasks in messages

Inventors: Amarnag Subramanya (Sunnyvale, CA); Edgar Gonzalez Pellicer (San Francisco, CA); Shalini Agarwal (San Francisco, CA)
Assignee: GOOGLE INC.
G06F17/243G06F17/274G06F17/2765G06Q10/107G06Q10/1097
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 9,606,977
App. No.
14/161,368
Granted
Mar 28, 2017
Kind
B2
Abstract

Methods and apparatus are described herein for identifying tasks in messages. In various implementations, natural language processing may be performed on a received message to generate an annotated message. The annotated message may be analyzed pursuant to a grammar. A portion of the message may be classified as a user task entry based on the analysis of the annotated message.

Claims (43)

1. A computer-implemented method, comprising:

performing, by a computing system, natural language processing on a received message sent to a user to generate an annotated message, wherein the message was composed by one or more other individuals different than the user;

analyzing, by the computing system, the annotated message pursuant to a grammar;

classifying, by the computing system, a portion of the received message as a task assigned to the user by the one or more other individuals based on the analysis of the annotated message;

selecting by the computing system from a plurality of distinct user interfaces associated with a plurality of distinct software applications, based on the analysis of the annotated message, a user interface operable by the user to fulfill the task; and

automatically populating, by the computing system, one or more data entry fields of the selected user interface that are editable by the user with information based on the analysis of the annotated message.

2. The computer-implemented method of claim 1 , wherein:

the analyzing comprises analyzing, by the computing system, the annotated message pursuant to a plurality of rule paths of the grammar to generate a plurality of candidate user tasks and associated scores; and

the classifying comprises selecting, by the computing system, the task from the plurality of candidate user tasks based on the associated scores.

3. The computer-implemented method of claim 1 , wherein performance of the natural language processing comprises identifying, by the computing system, a reference to a task interaction entity of the task in the message.

4. The computer-implemented method of claim 3 , wherein performance of the natural language processing further comprises classifying, by the computing system, the task interaction entity as a person, location or organization.

5. The computer-implemented method of claim 4 , wherein performance of the natural language processing further comprises identifying, by the computing system, a task action of the task.

6. The computer-implemented method of claim 5 , wherein selecting the user interface comprises selecting the user interface based on the task interaction entity and task action.

7. The computer-implemented method of claim 1 , further comprising automatically launching or opening, by the computing system, the user interface.

8. The computer-implemented method of claim 1 , further comprising selecting, by the computing system from a plurality of distinct URLs, based on the analysis of the annotated message, a URL associated with a network-based resource that is operable by the user to fulfill the task.

9. A system including memory and one or more processors operable to execute instructions stored in the memory, comprising instructions to:

perform natural language processing on a voicemail addressed to a user to generate an annotated message, wherein the voicemail message was composed by another individual different than the user;

analyze the annotated message pursuant to a grammar;

classify a portion of the voicemail as a task assigned to the user by the another individual based on the analysis of the annotated message; and

select, from a plurality of distinct user interfaces associated with a plurality of distinct software applications, based on the analysis of the annotated message, a user interface operable by the user to fulfill the task.

10. The system of claim 9 , wherein the system further comprises instructions to:

analyze the annotated message pursuant to a plurality of rule paths of the grammar to generate a plurality of candidate user tasks and associated scores; and

select the task from the plurality of candidate user tasks based on the associated scores.

11. The system of claim 9 , wherein the system further comprises instructions to identify a reference to a task interaction entity of the task in the voicemail.

12. The system of claim 11 , wherein the system further comprises instructions to classify the task interaction entity as a person, location or organization.

13. The system of claim 12 , wherein the system further comprises instructions to identify a task action of the task.

14. The system of claim 13 , wherein the system further comprises instructions to select the user interface based on the task interaction entity and task action.

15. The system of claim 9 , wherein the system further comprises instructions to automatically launch or open the selected user interface and populate one or more data entry fields of the selected user interface that are editable by the user with information based on the analysis of the annotated message.

16. The system of claim 9 , wherein the system further comprises instructions to:

perform natural language processing on an email addressed to a user to generate another annotated message;

analyze the another annotated message pursuant to a grammar; and

classify a portion of the email as a task assigned to the user based on the analysis of the another annotated message.

17. A non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by a computing system, cause the computing system to perform operations comprising:

performing natural language processing on electronic correspondence transmitted from a remote computing device to a computing device accessible by a user to generate an annotated message prior to the user opening the electronic correspondence, wherein the electronic correspondence is composed by one or more individuals different than the user;

analyzing the annotated message pursuant to a grammar;

classifying a portion of the electronic correspondence as a task assigned to the user by the one or more individuals based on the analysis of the annotated message; and

selecting, by the computing system from a plurality of distinct user interfaces provided by a plurality of distinct software applications, based on the analysis of the annotated message, a user interface operable by the user to fulfill the task.

18. A computer-implemented method, comprising:

performing, by a computing system, natural language processing on electronic correspondence transmitted over a communication network to a computing device accessible by a user to generate an annotated message, wherein the electronic correspondence is composed by one or more individuals different than the user;

analyzing, by the computing system, the annotated message pursuant to a plurality of rule paths of a grammar to generate a plurality of candidate user tasks tentatively assigned to the user by the one or more individuals and associated scores; and

selecting, by the computing system, a task assigned to the user from the plurality of candidate user tasks based on the associated scores;

selecting, by the computing system from a plurality of distinct user interfaces provided by a plurality of distinct software applications, based on the analysis of the annotated message, a user interface operable by the user to fulfill the task assigned to the user, wherein the plurality of distinct user interfaces includes at least one URL associated with a network-based resource that is operable by the user to fulfill a task; and

automatically populating, by the computing system, one or more data entry fields of the selected user interface that are editable by the user with information based on the analysis of the annotated message.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044097/0658 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 23, 2014
From: SUBRAMANYA, AMARNAG; AGARWAL, SHALINI; PELLICER, EDGAR GONZALEZ
To: GOOGLE INC.
Reel/Frame 032028/0108 →
Continuity (1)
Related Publication 20150205782A1 · Jul 23, 2015