IP Library Granted Patent US 9,176,945
Granted Patent B1
US 9,176,945 · App. 14/215,366 · Granted Nov 3, 2015

Extracting data from messages for multiple accounts

Inventors: Mikael Berner (Los Altos, CA); Kesava Neeli (San Jose, CA); Yuanhao Wu (Guangzhou, CN); Guibin Zhou (Guangzhou, CN); Liangping Li (Guangzhou, CN)
Assignee: Easilydo, Inc.
G06F17/2705
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,176,945
App. No.
14/215,366
Granted
Nov 3, 2015
Kind
B1
Abstract

Provided are computer implemented methods and systems for extracting data. According to a method, a message associated with one of several accounts is received. The message is processed to detect one or more key words. A template related to the one or more key words is determined. The template is associates one or more portions of the message with one or more tags. Based on the determining, the data from the message is extracted using the template.

Claims (69)

1. A computer-implemented method for extracting data, the method comprising:

receiving, by a processor, a message associated with at least one of a plurality of user accounts;

processing, by the processor, the message to detect one or more key words;

determining a template related to the one or more key words, wherein the template associates one or more portions of the message with one or more tags;

based on the determining, extracting the data from the message using the template;

determining a domain associated with the message, wherein the domain is determined using a plurality of domain learning models, the plurality of domain learning models residing on a shared pool of remote servers accessible by a user and other users; and

based on the determining, categorizing the message.

2. The method of claim 1 , wherein the message includes one or more of the following: an email message, a Short Message Service (SMS) message, a chat message, and a web page notification.

3. The method of claim 1 , further comprising flagging the message as untagged based on the processing.

4. The method of claim 1 , further comprising:

identifying a language associated with the message; and

based on the identifying, preselecting language-specific templates for the determining of the template.

5. The method of claim 1 , further comprising, based on the extracting, flagging the message as one or more of the following: having incomplete tags, broken, and modified format.

6. The method of claim 1 , wherein the user preliminary specifies the one or more key words related to the template.

7. The method of claim 1 , wherein the user predefines the one or more portions of the message and associates the one or more portions of the message with the one or more tags.

8. The method of claim 1 , wherein user modifications to the template are implemented in real time.

9. The method of claim 1 , wherein the processing includes parsing of at least a text, a sender, and a subject of the message.

10. The method of claim 1 , wherein the user is to specify the at least one of a plurality of user accounts and incoming messages to be processed to extract the data.

11. A system for extracting data, the system comprising:

a processor configured to:

receive a message associated with at least one of a plurality of user accounts;

process the message to detect one or more key words;

determine a template related to the one or more key words, wherein the template associates one or more portions of the message with one or more tags;

based on the determining, extract the data from the message using the template;

determine a domain associated with the message, wherein the domain is determined using a plurality of domain learning models, the plurality of domain learning models residing on a shared pool of remote servers accessible by a user and other users; and

based on the determination, categorize the message; and

a database in communication with the processor and configured to store at least the template, the data, and the one or more key words.

12. The system of claim 11 , wherein the processor is further configured to flag the message as untagged based on the processing.

13. The system of claim 11 , wherein the processor is further configured to:

identify a language of the message; and

based on the identifying, preselect language-specific templates for the determining of the template.

14. The system of claim 11 , wherein the extracting includes contact extraction from the message.

15. A non-transitory computer-readable medium comprising instructions, which when executed by one or more processors, perform the following operations:

receive a message associated with at least one of a plurality of user accounts;

process the message to detect one or more key words;

determine a template related to the one or more key words, wherein the template associates one or more portions of the message with one or more tags;

based on the determining, extract the data from the message using the template;

determine a domain associated with the message, wherein the domain is determined using a plurality of domain learning models, the plurality of domain learning models residing on a shared pool of remote servers accessible by a user and other users; and

based on the determination, categorize the message.

16. A computer-implemented method for extracting data, the method comprising:

receiving, by a processor, a message associated with at least one of a plurality of user accounts;

processing, by the processor, the message to detect one or more key words;

determining a template related to the one or more key words, wherein the template associates one or more portions of the message with one or more tags;

based on the determining, extracting the data from the message using the template;

based on the extracting, detecting a match score, wherein the match score represents matching of the message to the template;

providing the match score to a user;

receiving, from the user, an adjustment of the template; and

based on the adjustment, re-extracting the data, wherein the re-extracting is performed automatically in real time.

17. The method of claim 16 , wherein the message includes one or more of the following: an email message, a Short Message Service (SMS) message, a chat message, and a web page notification.

18. A computer-implemented method for extracting data, the method comprising:

receiving, by a processor, a message associated with at least one of a plurality of user accounts;

processing, by the processor, the message to detect one or more key words;

determining a template related to the one or more key words, wherein the template associates one or more portions of the message with one or more tags;

based on the determining, extracting the data from the message using the template;

providing the data to a user via a user interface based on the extracting;

receiving a user request to share the data with one or more other users, wherein the user selects an individual user or groups of users from the one or more other users, with which to share the data; and

based on the user request, sharing the data.

19. A system for extracting data, the system comprising:

a processor configured to:

receive a message associated with at least one of a plurality of user accounts;

process the message to detect one or more key words;

determine a template related to the one or more key words, wherein the template associates one or more portions of the message with one or more tags;

based on the determining, extract the data from the message using the template;

based on the extracting, detect a match score, wherein the match score represents matching of the message to the template;

provide the match score to the user;

receive, from the user, an adjustment of the template; and

based on the adjustment, re-extract the data, wherein the re-extracting is performed automatically in real time; and

a database in communication with the processor and configured to store at least the template, the data, and the one or more key words.

20. The system of claim 19 , wherein the processor is further configured to flag the message as untagged based on the processing.

Assignments (7)
SECURITY INTEREST Recorded Apr 16, 2024
From: YIPIT, LLC; EDISON SOFWARE, INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE, AS AGENT
Reel/Frame 067113/0561 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 16, 2024
From: CANADIAN IMPERIAL BANK OF COMMERCE, AS AGENT
To: EDISON SOFTWARE INC.
Reel/Frame 067124/0572 →
SECURITY INTEREST Recorded Nov 16, 2021
From: EDISON SOFTWARE INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE, AS AGENT
Reel/Frame 058125/0076 →
RELEASE OF SECURITY INTEREST Recorded Aug 6, 2021
From: COMERICA BANK
To: EDISON SOFTWARE, INC. (F/K/A EASILYDO, INC.)
Reel/Frame 057110/0585 →
SECURITY INTEREST Recorded Mar 25, 2020
From: EDISON SOFTWARE, INC. F/K/A EASILYDO, INC.
To: COMERICA BANK
Reel/Frame 052225/0308 →
CHANGE OF NAME Recorded Mar 24, 2020
From: EASILYDO INC.
To: EDISON SOFTWARE INC.
Reel/Frame 052217/0249 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2015
From: BERNER, MIKAEL; NEELI, KESAVA; WU, YUANHAO; ZHOU, GUIBIN; LI, LIANGPING
To: EASILYDO, INC.
Reel/Frame 036443/0023 →
Continuity (1)
Provisional Application 61793685 · Mar 15, 2013