IP Library Granted Patent US 9,161,188
Granted Patent B2
US 9,161,188 · App. 13/973,175 · Granted Oct 13, 2015

System and method for automatically suggesting diverse and personalized message completions

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,161,188
App. No.
13/973,175
Granted
Oct 13, 2015
Kind
B2
Abstract

Disclosed is a system and method for suggesting messages that are automatically learned, personalized and diversified by leveraging messages sent by a large number of users in order to provide message completions that are as engaging as possible. The disclosed systems and methods learn from recurrent messages sent to a recipient, and suggest message completions based upon user behavior. The systems and methods compute a ranked list of suggested message completions after every key stroke or character input, and if the list satisfies a given confidence threshold, it is returned and displayed to the user.

Claims (58)

1. A method comprising:

receiving, at a computing device over a network, message input entered by a first user in a messaging application running on a mobile device associated said first user, said message input responsive to said first user drafting a message for delivery to a second user, said message input comprising a character string of at least one character, an identifier of said first user and an identifier of said second user;

determining, via the computing device, a word listing that corresponds to the message input, said word listing comprising word strings that begin with said character string, said determining comprises identifying scores associated with each word string based upon said first user identifier and said second user identifier;

determining, via the computing device, a message suggestion listing based on said word listing, said message suggestion listing comprising a set of messages, each of said messages having an associated occurrence score above an occurrence threshold;

ranking, via the computing device, the messages within the message set based on a ranking score for each message, said ranking scores comprising identified scores associated with each words string and the occurrence scores for each message in the message set; and

facilitating display, via the computing device, of the ranked message set to said first user within said message application.

2. The method of claim 1 , wherein said ranking scores comprise a linear combination of the scores associated with the word strings and the occurrence scores for each message in the message set, said linear combination accounting for message usage data compiled for each word within the messages of the message set based on observed user messaging behavior.

3. The method of claim 2 , further comprising:

determining a total ranking score, said total ranking score comprising a summation of the ranking score for each message in the message set; and

determining whether said total ranking score satisfies a confidence threshold,

wherein if said total ranking score is at least equal to the confidence threshold, said ranked message set is transmitted to said first user for visible display,

wherein if said total ranking score is below the confidence threshold, a null message is transmitted to said first user for visible display.

4. The method of claim 1 , wherein said identifying scores associated with each word string comprises:

identifying a first sender score based upon information corresponding to message activity of said first user, said first sender score indicating the number of times said first user utilized each word string within a previously sent message; and

identifying second sender score based on information corresponding to message activity of all users, said second score indicating the number of times all users utilized each word string within a previously sent message.

5. The method of claim 4 , further comprising:

identifying a third sender score that is based upon the first sender score, the second sender score, information corresponding to message activity of said second user, and message activity of other recipients of messages.

6. The method of claim 5 , further comprising:

summing said first sender score and said second sender score to compute a personal score for said first user; and

summing said personal score with said third sender score, said third sender score comprising a summation of an absolute count of a number of times each word string was sent to said second user, and a number of times each word string was sent to said other recipients normalized by a frequency of interactions between said first user and said other recipients.

7. The method of claim 6 , wherein said frequency of interactions is between said first user and said second user.

8. The method of claim 1 , further comprising:

receiving a second input from said first user in response to said facilitated display of the ranked message set.

9. The method of claim 8 , wherein said second input is a selection of one message within said ranked message set, wherein upon selection of a message within the ranked message set, the selected message is displayed within a text box of said message application.

10. The method of claim 8 , wherein said second input comprises an additional character entry from said first user, wherein upon reception of said additional character entry, another ranked message set is compiled based on said message input and said additional character entry.

11. A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a processor of a computing device, perform a method comprising:

receiving message input entered by a first user in a messaging application running on a mobile device associated said first user, said message input responsive to said first user drafting a message for delivery to a second user, said message input comprising a character string of at least one character, an identifier of said first user and an identifier of said second user;

determining a word listing that corresponds to the message input, said word listing comprising word strings that begin with said character string, said determining comprises identifying scores associated with each word string based upon said first user identifier and said second user identifier;

determining a message suggestion listing based on said word listing, said message suggestion listing comprising a set of messages, each of said messages having an associated occurrence score above an occurrence threshold;

ranking the messages within the message set based on a ranking score for each message, said ranking scores comprising identified scores associated with each words string and the occurrence scores for each message in the message set; and

facilitating display of the ranked message set to said first user within said message application.

12. The non-transitory computer-readable storage medium of claim 11 , wherein said ranking scores comprise a linear combination of the scores associated with the word strings and the occurrence scores for each message in the message set, said linear combination accounting for message usage data compiled for each word within the messages of the message set based on observed user messaging behavior.

13. The non-transitory computer-readable storage medium of claim 12 , further comprising:

determining a total ranking score, said total ranking score comprising a summation of the ranking score for each message in the message set; and

determining whether said total ranking score satisfies a confidence threshold,

wherein if said total ranking score is at least equal to the confidence threshold, said ranked message set is transmitted to said first user for visible display,

wherein if said total ranking score is below the confidence threshold, a null message is transmitted to said first user for visible display.

14. The non-transitory computer-readable storage medium of claim 11 , wherein said identifying scores associated with each word string comprises:

identifying a first sender score based upon information corresponding to message activity of said first user, said first sender score indicating the number of times said first user utilized each word string within a previously sent message; and

identifying second sender score based on information corresponding to message activity of all users, said second score indicating the number of times all users utilized each word string within a previously sent message.

15. The non-transitory computer-readable storage medium of claim 14 , further comprising:

identifying a third sender score that is based upon the first sender score, the second sender score, information corresponding to message activity of said second user, and message activity of other recipients of messages.

16. The non-transitory computer-readable storage medium of claim 15 , further comprising:

summing said first sender score and said second sender score to compute a personal score for said first user; and

summing said personal score with said third sender score, said third sender score comprising a summation of an absolute count of a number of times each word string was sent to said second user, and a number of times each word string was sent to said other recipients normalized by a frequency of interactions between said first user and said other recipients.

17. The non-transitory computer-readable storage medium of claim 11 , further comprising:

receiving a second input from said first user in response to said facilitated display of the ranked message set.

18. The non-transitory computer-readable storage medium of claim 17 , wherein said second input is a selection of one message within said ranked message set, wherein upon selection of a message within the ranked message set, the selected message is displayed within a text box of said message application.

19. The non-transitory computer-readable storage medium of claim 17 , wherein said second input comprises an additional character entry from said first user, wherein upon reception of said additional character entry, another ranked message set is compiled based on said message input and said additional character entry.

20. A system comprising:

at least one computing device comprising:

memory storing computer-executable instructions; and

one or more processors for executing said computer-executable instructions, comprising:

receiving message input entered by a first user in a messaging application running on a mobile device associated said first user, said message input responsive to said first user drafting a message for delivery to a second user, said message input comprising a character string of at least one character, an identifier of said first user and an identifier of said second user;

determining a word listing that corresponds to the message input, said word listing comprising word strings that begin with said character string, said determining comprises identifying scores associated with each word string based upon said first user identifier and said second user identifier;

determining a message suggestion listing based on said word listing, said message suggestion listing comprising a set of messages, each of said messages having an associated occurrence score above an occurrence threshold;

ranking the messages within the message set based on a ranking score for each message, said ranking scores comprising identified scores associated with each words string and the occurrence scores for each message in the message set; and

facilitating display of the ranked message set to said first user within said message application.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNOR NAME PREVIOUSLY RECORDED AT REEL: 052853 FRAME: 0153. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 29, 2021
From: R2 SOLUTIONS LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 056832/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED ON REEL 053654 FRAME 0254. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST GRANTED PURSUANT TO THE PATENT SECURITY AGREEMENT PREVIOUSLY RECORDED. Recorded Dec 30, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: R2 SOLUTIONS LLC
Reel/Frame 054981/0377 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 8, 2020
From: STARBOARD VALUE INTERMEDIATE FUND LP
To: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
Reel/Frame 053654/0254 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2020
From: EXCALIBUR IP, LLC
To: R2 SOLUTIONS LLC
Reel/Frame 053459/0059 →
PATENT SECURITY AGREEMENT Recorded Jun 5, 2020
From: ACACIA RESEARCH GROUP LLC; AMERICAN VEHICULAR SCIENCES LLC; BONUTTI SKELETAL INNOVATIONS LLC; CELLULAR COMMUNICATIONS EQUIPMENT LLC; INNOVATIVE DISPLAY TECHNOLOGIES LLC; LIFEPORT SCIENCES LLC; LIMESTONE MEMORY SYSTEMS LLC; MERTON ACQUISITION HOLDCO LLC; MOBILE ENHANCEMENT SOLUTIONS LLC; MONARCH NETWORKING SOLUTIONS LLC; NEXUS DISPLAY TECHNOLOGIES LLC; PARTHENON UNIFIED MEMORY ARCHITECTURE LLC; R2 SOLUTIONS LLC; SAINT LAWRENCE COMMUNICATIONS LLC; STINGRAY IP SOLUTIONS LLC; SUPER INTERCONNECT TECHNOLOGIES LLC; TELECONFERENCE SYSTEMS LLC; UNIFICATION TECHNOLOGIES LLC
To: STARBOARD VALUE INTERMEDIATE FUND LP, AS COLLATERAL AGENT
Reel/Frame 052853/0153 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038950/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2016
From: EXCALIBUR IP, LLC
To: YAHOO! INC.
Reel/Frame 038951/0295 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 18, 2016
From: YAHOO! INC.
To: EXCALIBUR IP, LLC
Reel/Frame 038383/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2013
From: SMADJA, YOELLE MAAREK; GOLBANDI, NADAV
To: YAHOO! INC.
Reel/Frame 031063/0977 →