IP Library Granted Patent US 10,652,187
Granted Patent B2
US 10,652,187 · App. 15/150,918 · Granted May 12, 2020

System and method for relevance-based electronic message presentation

Inventors: Liane Lewin-Eytan (Binyamina, IL); David Carmel (Haifa, IL); Yoelle Maarek (Haifa, IL); Ariel Raviv (Haifa, IL); Alexander Libov (Haifa, IL); Peter Monaco (Los Altos, CA)
Assignee: OATH INC.
H04L51/16G06F16/335G06Q10/10G06Q10/107H04L51/22
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,652,187
App. No.
15/150,918
Granted
May 12, 2020
Kind
B2
Abstract

Relevant messages, or “hero results”, which are not ranked at the uppermost part of a time-based listing of search results are identified and such hero results can be displayed apart from the time-based listing of search results. A user can be provided with messages in a time-based presentation as well as messages in a relevance-based presentation. The user can be presented with the most relevant messages from a set of message generated from a search query, even where the most relevant messages are not the most recent ones.

Claims (65)

1. A computing device comprising:

a processor; and

a storage medium for tangibly storing thereon program logic for execution by the processor, the stored program logic comprising:

receiving logic executed by the processor for receiving a message search request as a single request of the user;

generating logic executed by the processor for generating both time-ranked search results and relevance-ranked search results in response to the message search request, the time-ranked search results comprising a temporally-ranked set of messages selected from a corpus of messages using a search query associated with the received search request and the relevance-ranked search results comprising a relevance-ranked set of messages selected from the corpus using the search query, each selected message having temporal data and a relevance score representing its relevance to the search query;

selecting logic executed by the processor for selecting a first number of messages from the time-ranked search results for a first message set to be displayed in a search results display presentation for the user, the first message set selection being based on a temporal ordering of the search results in the time-ranked search results using the temporal data associated with each message in the time-ranked search results;

selecting logic executed by the processor for selecting a determined second number of messages from the relevance-ranked search results using relevance scores associated with the relevance-ranked set of messages, the second message set selection comprising ensuring that each message selected for the first message set, from the time-ranked search results, is excluded from the determined second number of messages of a second message set selected from the relevance-ranked search results;

generating logic executed by the processor for generating the search results display presentation in response to the message search request, the search results display presentation having a first display area comprising an entry for each message in the first message set temporally ordered in accordance with the temporal data of the messages selected for the first message set, the generating comprising determining based on the determined second number of messages whether to include a second display area comprising an entry for each message of the determined second number of messages in the second message set ordered based on relevance to the search query; and

providing logic executed by the processor for providing the display presentation for display by a client computing device in response to the message search request.

2. The computing device of claim 1 , the determined second number of messages is a predetermined number that is greater than zero and is based on the search results display presentation's total number of entries and the first number of messages, and the generating comprising determining to include the second display area comprising an entry for each message of the predetermined second number of messages in the second message set ordered based on relevance to the search query.

3. The computing device of claim 1 , the determined second number of messages is determined in accordance with a determined relevance of at least one message in the first set of messages, and the first number of messages is based on the search results display presentation's total number of entries and the determined second number of messages.

4. The computing device of claim 3 , selecting logic executed by the processor for selecting a determined second number of messages further comprising:

identifying logic executed by the processor for identifying a candidate message set comprising the relevance-ranked search results excluding any message included in the first message set;

selecting logic executed by the processor for selecting a candidate message from the candidate message set, the selected candidate message is more relevant to the search query than any other candidate message in the candidate message set;

determining logic executed by the processor for making a first determination whether the selected candidate message is more relevant to the search query than an oldest message in the first message set; and

performing logic executed by the processor for selectively performing the following if the first determination indicates that the selected candidate message is more relevant than the oldest message:

updating logic executed by the processor for updating the first and second message sets by adding the most relevant candidate message to the second message set and removing the oldest message from the first message set;

determining logic executed by the processor for making a second determination whether or not the second number of messages reaches a threshold number of messages;

if the second determination indicates that the second number of messages is less than the threshold number of messages, repeating logic executed by the processor for repeating the candidate message selection and first determination and selectively performing the updating and the second determination based on the first determination.

5. The computing device of claim 4 , the determined second number of messages is variable and has a value range from zero to the threshold, the determined second number of messages being zero if the first determination indicates that the oldest message in the first message set selection selected based on a temporal ordering of the search results is more relevant to the search query than the selected candidate message, and the generating comprising determining to include the second display area in a case that the determined second number of messages is non-zero.

6. The computing device of claim 1 , the stored program logic further comprising:

identifying logic executed by the processor for identifying the determined second number of messages by optimizing relevance over both the first and second display areas.

7. The computing device of claim 1 , the second display area is positioned above the first display area in the search results display presentation and the second display area has a visual appearance different from the first display area's visual appearance.

8. A method comprising:

receiving, by a computing device, a message search request as a single request of the user;

generating, by the computing device, both time-ranked search results and relevance-ranked search results in response to the message search request, the time-ranked search results comprising a temporally-ranked set of messages selected from a corpus of messages using a search query associated with the received search request and the relevance-ranked search results comprising a relevance-ranked set of messages selected from the corpus using the search query, each selected message having temporal data and a relevance score representing its relevance to the search query;

selecting, by the computing device, a first number of messages from the time-ranked search results for a first message set to be displayed in a search results display presentation for the user, the first message set selection being based on a temporal ordering of the search results in the time-ranked search results using the temporal data associated with each message in the time-ranked search results;

selecting, by the computing device, a determined second number of messages from the relevance-ranked search results using relevance scores associated with the relevance-ranked set of messages, the selecting comprising ensuring that each message selected for the first message set, from the time-ranked search results, is excluded from the determined second number of messages of a second message set selected from the relevance-ranked search results;

generating, by the computing device, the search results display presentation in response to the message search request, the search results display presentation having a first display area comprising an entry for each message in the first message set temporally ordered in accordance with the temporal data of the messages selected for the first message set, the generating comprising determining based on the determined second number of messages whether to include a second display area comprising an entry for each message of the determined second number of messages in the second message set ordered based on relevance to the search query; and

providing, by the computing device, the display presentation for display by a client computing device in response to the message search request.

9. The method of claim 8 , the determined second number of messages is a predetermined number that is greater than zero and is based on the search results display presentation's total number of entries and the first number, and the generating comprising determining to include the second display area comprising an entry for each message of the predetermined second number of messages in the second message set ordered based on relevance to the search query.

10. The method of claim 8 , the determined second number of messages is determined in accordance with a determined relevance of at least one message in the first set of messages, and the first number of messages is based on the search results display presentation's total number of entries and the determined second number of messages.

11. The method of claim 10 , selecting a determined second number of messages further comprising:

identifying a candidate message set comprising the relevance-ranked search results excluding any message included in the first message set;

selecting a candidate message from the candidate message set, the selected candidate message is more relevant to the search query than any other candidate message in the candidate message set;

making a first determination whether the selected candidate message is more relevant to the search query than an oldest message in the first message set; and

selectively performing the following if the first determination indicates that the selected candidate message is more relevant than the oldest message:

updating the first and second message sets by adding the most relevant candidate message to the second message set and removing the oldest message from the first message set;

making a second determination whether or not the second number of messages reaches a threshold number of messages;

if the second determination indicates that the second number of messages is less than the threshold number of messages, repeating the candidate message selection and first determination and selectively performing the updating and the second determination based on the first determination.

12. The method of claim 11 , the determined second number of messages is variable and has a value range from zero to the threshold, the determined second number of messages being zero if the first determination indicates that the oldest message in the first message set selection selected based on a temporal ordering of the search results is more relevant to the search query than the selected candidate message, and the generating comprising determining to include the second display area in a case that the determined second number of messages is non-zero.

13. The method of claim 8 , further comprising:

identifying the determined second number of messages by optimizing relevance over both the first and second display areas.

14. The method of claim 8 , the second display area is positioned above the first display area in the search results display presentation and the second display area has a visual appearance different from the first display area's visual appearance.

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

receiving a message search request as a single request of the user;

generating both time-ranked search results and relevance-ranked search results in response to the message search request, the time-ranked search results comprising a temporally-ranked set of messages selected from a corpus of messages using a search query associated with the received search request and the relevance-ranked search results comprising a relevance-ranked set of messages selected from the corpus using the search query, each selected message having temporal data and a relevance score representing its relevance to the search query;

selecting a first number of messages from the time-ranked search results for a first message set to be displayed in a search results display presentation for the user, the first message set selection being based on a temporal ordering of the search results in the time-ranked search results using the temporal data associated with each message in the time-ranked search results;

selecting a determined second number of messages from the relevance-ranked search results using relevance scores associated with the relevance-ranked set of messages, the selecting comprising ensuring that each message selected for the first message set, from the time-ranked search results, is excluded from the determined second number of messages of a second message set selected from the relevance-ranked search results;

generating the search results display presentation in response to the message search request, the search results display presentation having a first display area comprising an entry for each message in the first message set temporally ordered in accordance with the temporal data of the messages selected for the first message set, the generating comprising determining based on the determined second number of messages whether to include a second display area comprising an entry for each message of the determined second number of messages in the second message set ordered based on relevance to the search query;

providing the display presentation for display by a client computing device in response to the message search request.

16. The non-transitory computer-readable storage medium of claim 15 , the determined second number of messages is a predetermined number that is greater than zero and is based on the search results display presentation's total number of entries and the first number of messages, and the generating comprising determining to include the second display area comprising an entry for each message of the predetermined second number of messages in the second message set ordered based on relevance to the search query.

17. The non-transitory computer-readable storage medium of claim 15 , the determined second number of messages is determined in accordance with a determined relevance of at least one message in the first set of messages, and the first number of messages is based on the search results display presentation's total number of entries and the determined second number of messages.

18. The non-transitory computer-readable storage medium of claim 17 , selecting a determined second number of messages further comprising:

identifying a candidate message set comprising the relevance-ranked search results excluding any message included in the first message set;

selecting a candidate message from the candidate message set, the selected candidate message is more relevant to the search query than any other candidate message in the candidate message set;

making a first determination whether the selected candidate message is more relevant to the search query than an oldest message in the first message set; and

selectively performing the following if the first determination indicates that the selected candidate message is more relevant than the oldest message:

updating the first and second message sets by adding the most relevant candidate message to the second message set and removing the oldest message from the first message set;

making a second determination whether or not the second number of messages reaches a threshold number of messages;

if the second determination indicates that the second number of messages is less than the threshold number of messages, repeating the candidate message selection and first determination and selectively performing the updating and the second determination based on the first determination.

19. The non-transitory computer-readable storage medium of claim 18 , the determined second number of messages is variable and has a value range from zero to the threshold, the determined second number of messages being zero if the first determination indicates that the oldest message in the first message set selection selected based on a temporal ordering of the search results is more relevant to the search query than the selected candidate message, and the generating comprising determining to include the second display area in a case that the determined second number of messages is non-zero.

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

identifying the determined second number of messages by optimizing relevance over both the first and second display areas.

21. The non-transitory computer-readable storage medium of claim 15 , the second display area is positioned above the first display area in the search results display presentation and the second display area has a visual appearance different from the first display area's visual appearance.

Assignments (6)
PATENT SECURITY AGREEMENT (FIRST LIEN) Recorded Sep 29, 2022
From: YAHOO ASSETS LLC
To: ROYAL BANK OF CANADA, AS COLLATERAL AGENT
Reel/Frame 061571/0773 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: YAHOO AD TECH LLC (FORMERLY VERIZON MEDIA INC.)
To: YAHOO ASSETS LLC
Reel/Frame 058982/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 26, 2020
From: OATH INC.
To: VERIZON MEDIA INC.
Reel/Frame 054258/0635 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2018
From: YAHOO HOLDINGS, INC.
To: OATH INC.
Reel/Frame 045240/0310 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: YAHOO! INC.
To: YAHOO HOLDINGS, INC.
Reel/Frame 042963/0211 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2016
From: LEWIN-EYTAN, LIANE; CARMEL, DAVID; MAAREK, YOELLE; RAVIV, ARIEL; LIBOV, ALEXANDER; MONACO, PETER
To: YAHOO! INC.
Reel/Frame 038540/0234 →
Continuity (1)
Related Publication 20170329779A1 · Nov 16, 2017