IP Library Granted Patent US 10,031,908
Granted Patent B2
US 10,031,908 · App. 14/880,579 · Granted Jul 24, 2018

System and method for automatically suggesting diverse and personalized message completions

Inventors: Yoelle Maarek Smadja (Haifa, IL); Nadav Golbandi (Haifa, IL)
Assignee: EXCALIBUR IP, LLC
G06F17/277G06F3/048G06F17/276H04L51/26H04L67/22H04M1/00H04W4/14H04M2250/70H04W4/12
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,031,908
App. No.
14/880,579
Granted
Jul 24, 2018
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 (54)

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;

searching, via the computing device, a lexicon database for a set of messages sent from the first user to the second user based on the first user identifier and the second user identifier, said message set comprising a plurality of messages that begin with the character string, said messages comprising a word or phrase, and each message has associated therewith a score indicating a frequency of use by the first user when messaging the second user;

ranking, via the computing device, the messages in the message set based on said score, said ranking causing a message with a higher score to be ranked higher than those with a lesser score;

communicating, via the computing device over the network, a ranked listing of messages to said first user for display in the messaging application;

receiving, at the computing device, an additional input from said first user in response to the display of the ranked message set, said additional input comprising an additional character entry associated with the character string, said additional character entry and the character string resulting in an augmented input;

searching, via the computing device, the lexicon database for a third set of messages sent from the first user to the second user based on the augmented input, said third message set comprising a plurality of messages comprising a word or phrase that begin with the augmented input, each third message has associated therewith a score indicating a frequency of use by the first user when messaging the second user;

ranking, via the computing device, the third messages in the third message set based on said third score, said ranking causing a third message with a higher score to be ranked higher than those with a lesser score; and

communicating, over the network, a third ranked listing of messages to said first user for display in the messaging application.

2. The method of claim 1 , further comprising:

receiving a second message input from the first user, said second message input responsive to said first user drafting a message for delivery to a third user, said message input comprising a second character string of at least one character, the identifier of said first user and an identifier of said third user;

searching the lexicon database for a second set of messages sent from the first user to the third user based on the first user identifier and the third user identifier, said second message set comprising a second plurality of messages that begin with the second character string, said second messages comprising a word or phrase, and each second message has associated therewith a score indicating a frequency of use by the first user when messaging the third user;

ranking the messages in the second message set based on said second score, wherein a second message with a higher score is ranked higher than those with a lesser score; and

communicating a second ranked listing of messages to said first user for display in the messaging application.

3. The method of claim 1 , wherein said additional 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.

4. The method of claim 1 , wherein the score for each message is based on observed messaging behavior by the first user when sending messages to the second user, wherein said observed messaging behavior corresponds to a predetermined time period.

5. The method of claim 3 , further comprising:

updating the score for said selected message within said ranked set based on said selection.

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

receiving, 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;

searching a lexicon database for a set of messages sent from the first user to the second user based on the first user identifier and the second user identifier, said message set comprising a plurality of messages that begin with the character string, said messages comprising a word or phrase, and each message has associated therewith a score indicating a frequency of use by the first user when messaging the second user;

ranking the messages in the message set based on said score, said ranking causing a message with a higher score to be ranked higher than those with a lesser score;

communicating, over the network, a ranked listing of messages to said first user for display in the messaging application;

receiving an additional input from said first user in response to the display of the ranked message set, said additional input comprising an additional character entry associated with the character string, said additional character entry and the character string resulting in an augmented input;

searching the lexicon database for a third set of messages sent from the first user to the second user based on the augmented input, said third message set comprising a plurality of messages comprising a word or phrase that begin with the augmented input, each third message has associated therewith a score indicating a frequency of use by the first user when messaging the second user;

ranking the third messages in the third message set based on said third score, said ranking causing a third message with a higher score to be ranked higher than those with a lesser score; and

communicating, over the network, a third ranked listing of messages to said first user for display in the messaging application.

7. The non-transitory computer-readable storage medium of claim 6 , further comprising:

receiving a second message input from the first user, said second message input responsive to said first user drafting a message for delivery to a third user, said message input comprising a second character string of at least one character, the identifier of said first user and an identifier of said third user;

searching the lexicon database for a second set of messages sent from the first user to the third user based on the first user identifier and the third user identifier, said second message set comprising a second plurality of messages that begin with the second character string, said second messages comprising a word or phrase, and each second message has associated therewith a score indicating a frequency of use by the first user when messaging the third user;

ranking the messages in the second message set based on said second score, wherein a second message with a higher score is ranked higher than those with a lesser score; and

communicating a second ranked listing of messages to said first user for display in the messaging application.

8. The non-transitory computer-readable storage medium of claim 6 , wherein said additional 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.

9. The non-transitory computer-readable storage medium of claim 6 , wherein the score for each message is based on observed messaging behavior by the first user when sending messages to the second user, wherein said observed messaging behavior corresponds to a predetermined time period.

10. The non-transitory computer-readable storage medium of claim 8 , further comprising:

updating the score for said selected message within said ranked set based on said selection.

11. A system comprising:

a processor;

a non-transitory computer-readable storage medium for tangibly storing thereon program logic for execution by the processor, the program logic comprising:

receiving logic executed by the processor for receiving, 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;

search logic executed by the processor for searching a lexicon database for a set of messages sent from the first user to the second user based on the first user identifier and the second user identifier, said message set comprising a plurality of messages that begin with the character string, said messages comprising a word or phrase, and each message has associated therewith a score indicating a frequency of use by the first user when messaging the second user;

ranking logic executed by the processor for ranking the messages in the message set based on said score, said ranking causing a message with a higher score to be ranked higher than those with a lesser score;

communication logic executed by the processor for communicating, over the network, a ranked listing of messages to said first user for display in the messaging application;

receiving logic executed by the processor for receiving an additional input from said first user, wherein said additional input comprises an additional character entry associated with the character string, said additional character entry and the character string resulting in an augmented input;

search logic executed by the processor for searching the lexicon database for a third set of messages sent from the first user to the second user based on the augmented input, said third message set comprising a plurality of messages comprising a word or phrase that begin with the augmented input, each third message has associated therewith a score indicating a frequency of use by the first user when messaging the second user;

ranking logic executed by the processor for ranking the third messages in the third message set based on said third score, said ranking causing a third message with a higher score to be ranked higher than those with a lesser score; and

communication logic executed by the processor for communicating a third ranked listing of messages to said first user for display in the messaging application.

12. The system of claim 11 , further comprising:

receiving logic executed by the processor for receiving a second message input from the first user, said second message input responsive to said first user drafting a message for delivery to a third user, said message input comprising a second character string of at least one character, the identifier of said first user and an identifier of said third user;

search logic executed by the processor for searching the lexicon database for a second set of messages sent from the first user to the third user based on the first user identifier and the third user identifier, said second message set comprising a second plurality of messages that begin with the second character string, said second messages comprising a word or phrase, and each second message has associated therewith a score indicating a frequency of use by the first user when messaging the third user;

ranking logic executed by the processor for ranking the messages in the second message set based on said second score, wherein a second message with a higher score is ranked higher than those with a lesser score; and

communication logic executed by the processor for communicating a second ranked listing of messages to said first user for display in the messaging application.

13. The system of claim 11 , further comprising:

receiving logic executed by the processor for receiving an additional input from said first user in response to the display of the ranked message set, wherein said additional 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.

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 Dec 22, 2017
From: SMADJA, YOELLE MAAREK; GOLBANDI, NADAV
To: YAHOO! INC.
Reel/Frame 044471/0113 →
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 →
Continuity (2)
Continuation 13973175 · Aug 22, 2013
Related Publication 20160092432A1 · Mar 31, 2016