IP Library Granted Patent US 8,751,511
Granted Patent B2
US 8,751,511 · App. 12/749,972 · Granted Jun 10, 2014

Ranking of search results based on microblog data

Inventors: Anlei Dong (Fremont, CA); Pranam Kolari (Santa Clara, CA); Ruiqiang Zhang (Cupertino, CA); Jing Bai (Santa Clara, CA); Yi Chang (Sunnyvale, CA); Zhaohui Zheng (Sunnyvale, CA)
Assignee: Yahoo! Inc.
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 8,751,511
App. No.
12/749,972
Filed
Mar 30, 2010
Granted
Jun 10, 2014
Kind
B2
Art Unit
2153
USPC
707/725
Abstract

An information retrieval system is described herein that monitors a microblog data stream that includes microblog posts to discover and index fresh resources for searching by a search engine. The information retrieval system also uses data from the microblog data stream as well as data obtained from a microblog subscription system to compute novel and effective features for ranking fresh resources which would otherwise have impoverished representations. An embodiment of the present invention advantageously enables a search engine to produce a fresher set of resources and to rank such resources for both relevancy and freshness in a more accurate manner.

Claims (65)

1. A computer-implemented method for generating a ranked list of resources in response to a query, comprising:

pairing the query with a plurality of microblog resource identifiers, wherein each microblog resource identifier comprises a resource identifier obtained from monitoring a received data stream of microblog posts, thereby generating a plurality of query/microblog resource identifier pairs;

generating a feature set for each query/microblog resource identifier pair, wherein generating the feature set includes generating at least one textual feature by analyzing text of one or more microblog posts that refer to the microblog resource identifier in conjunction with text of the query or generating at least one social networking feature by analyzing one or more characteristics associated with one or more microblog users that issued or received the microblog resource identifier via the microblog;

processing the feature sets associated with each query/microblog resource identifier pair in a first machine learned ranker to produce a ranking for each microblog resource identifier; and

generating one single combined ranked list of resources by combining the rankings for each microblog resource identifier produced by the first machine learned ranker with rankings generated for a plurality of network resource identifiers, wherein each network resource identifier comprises a resource identifier obtained from resources other than the received data stream of microblog posts.

2. The method of claim 1 , wherein generating the at least one textual feature by analyzing the text of the one or more microblog posts that refer to the microblog resource identifier in conjunction with the text of the query comprises:

constructing a term vector for the microblog resource identifier based on terms used in the one or more microblog posts that refer to the microblog resource identifier;

constructing a term vector for the query based on terms used in the query; and

calculating a cosine similarity between the term vector for the microblog resource identifier and the term vector for the query.

3. The method of claim 1 , wherein generating the at least one textual feature by analyzing the text of the one or more microblog posts that refer to the microblog resource identifier in conjunction with the text of the query comprises:

calculating a measure of term overlap between terms used in the one or more microblog posts that refer to the microblog resource identifier and terms used in the query.

4. The method of claim 1 , wherein generating the at least one textual feature by analyzing the text of the one or more microblog posts that refer to the microblog resource identifier in conjunction with the text of the query comprises:

counting a number of microblog posts that refer to the microblog resource identifier in which all query tokens appear contiguously and in the same order.

5. The method of claim 1 , wherein generating the at least one social networking feature by analyzing one or more characteristics associated with one or more microblog users that issued or received the microblog resource identifier via the microblog comprises:

calculating a measure of authority of a microblog user that issued the microblog resource identifier via the microblog based on an analysis of follower and following relationships between microblog users.

6. The method of claim 1 , wherein generating the at least one social networking feature by analyzing one or more characteristics associated with one or more microblog users that issued or received the microblog resource identifier via the microblog comprises performing one or more of:

calculating an average number of microblog users that are following microblog users that issued the microblog resource identifier;

calculating an average number of microblog users that re-issued the microblog resource identifier after receiving the microblog resource identifier;

calculating a number of microblog users that re-issued the microblog resource identifier to a microblog user that issued the microblog resource identifier and is determined to have a maximal authoritative rank; and

calculating a number of microblog users that are following a microblog user that issued the microblog resource identifier and is determined to have a maximal authoritative rank.

7. The method of claim 1 , wherein generating the feature set for each query/microblog resource identifier pair further comprises generating content features based on analyzing content of a resource identified by the microblog resource identifier in conjunction with the text of the query.

8. The method of claim 1 , wherein combining the rankings for each microblog resource identifier produced by the first machine learned ranker with rankings generated for a plurality of network resource identifiers comprises:

pairing the query with the plurality of network resource identifiers, thereby generating a plurality of query/network resource identifier pairs;

generating a feature set for each query/network resource identifier pair; and

processing the feature sets associated with each query/network resource identifier pair in a second machine learned ranker to produce the ranking for each network resource identifier.

9. The method of claim 8 , wherein generating the feature set for each query/network resource identifier pair comprises:

generating at least one content feature based on analyzing content of a resource identified by the network resource identifier in conjunction with the text of the query and generating at least one aggregate feature based on analyzing popularity and/or usage characteristics of the resource identified by the network resource identifier.

10. An information retrieval system, comprising:

one or more processing units;

a microblog URL filter configured for pairing a query with a plurality of microblog resource identifiers, wherein each microblog resource identifier comprises a resource identifier obtained from monitoring a received data stream of microblog posts, thereby generating a plurality of query/microblog resource identifier pairs;

a first feature generator, at least partially executed by at least one of the one or more processing units, configured for generating a feature set for each query/microblog resource identifier pair, wherein generating the feature set includes generating at least one textual feature by analyzing text of one or more microblog posts that refer to the microblog resource identifier in conjunction with text of the query or generating at least one social networking feature by analyzing one or more characteristics associated with one or more microblog users that issued or received the microblog resource identifier via the microblog;

a first machine learned ranker configured for processing the feature sets associated with each query/microblog resource identifier pair to produce a ranking for each microblog resource identifier; and

a ranked resource identifier combiner configured for generating one single combined ranked list of resources by combining the rankings for each microblog resource identifier produced by the first machine learned ranker with rankings generated for a plurality of network resource identifiers, wherein each network resource identifier comprises a resource identifier obtained from resources other than the received data stream of microblog posts.

11. The system of claim 10 , wherein the first feature generator generates a textual feature for a query/microblog resource identifier pair by constructing a term vector for the microblog resource identifier based on terms used in one or more microblog posts that refer to the microblog resource identifier, constructing a term vector for the query based on terms used in the query, and calculating a cosine similarity between the term vector for the microblog resource identifier and the term vector for the query.

12. The system of claim 10 , wherein the first feature generator generates a textual feature for a query/microblog resource identifier pair by calculating a measure of term overlap between terms used in one or more microblog posts that refer to the microblog resource identifier and terms used in the query.

13. The system of claim 10 , wherein the first feature generator generates a textual feature for a query/microblog resource identifier pair by counting a number of microblog posts that refer to the microblog resource identifier in which all query tokens appear contiguously and in the same order.

14. The system of claim 10 , wherein the first feature generator generates a social networking feature for a query/microblog resource identifier pair by calculating a measure of authority of a microblog user that issued the microblog resource identifier via the microblog based on an analysis of follower and following relationships between microblog users.

15. The system of claim 10 , wherein the first feature generator generates social networking features for a query/microblog resource identifier pair by performing one or more of the following:

calculating an average number of microblog users that are following microblog users that issued the microblog resource identifier;

calculating an average number of microblog users that re-issued the microblog resource identifier after receiving the microblog resource identifier;

calculating a number of microblog users that re-issued the microblog resource identifier to a microblog user that issued the microblog resource identifier and is determined to have a maximal authoritative rank; and

calculating a number of microblog users that are following a microblog user that issued the microblog resource identifier and is determined to have a maximal authoritative rank.

16. The system of claim 10 , wherein the first feature generator generates content features for each query/microblog resource identifier pair by analyzing content of a resource identified by the microblog resource identifier in conjunction with the text of the query.

17. The system of claim 10 , further comprising:

a network resource identifier filter that pairs the query with the plurality of network resource identifiers, thereby generating a plurality of query/network resource identifier pairs;

a second feature generator that generates a feature set for each query/network resource identifier pair; and

a second machine learned ranker that processes the feature sets associated with each query/network resource identifier pair to produce the ranking for each network resource identifier.

18. The system of claim 17 , wherein the second feature generator generates the feature set for each query/network resource identifier pair by generating at least one content feature based on analyzing content of a resource identified by the network resource identifier in conjunction with the text of the query and generating at least one aggregate feature based on analyzing popularity and/or usage characteristics of the resource identified by the network resource identifier.

19. A method for identifying resources in response to a query received from a user, comprising:

storing resource identifiers extracted from a data stream of microblog posts in a microblog resource identifier index;

determining whether the query is a recency-sensitive query;

responsive to determining that the query is a recency-sensitive query, including resources identified by the resource identifiers in the microblog resource identifier index among resources to be searched based on the query;

identifying resources among the resources to be searched based on the query;

ranking the identified resources; and

providing one single combined list of the identified resources to the user, wherein the one single combined list is ordered based on the ranking and at least one other ranking generated for a plurality of network resource identifiers, wherein each network resource identifier comprises a resource identifier obtained from resources other than the received data stream of microblog posts.

20. The method of claim 19 , wherein ranking the identified resources comprises:

ranking a resource identified by a resource identifier in the microblog resource identifier index based on at least one textual feature generated by analyzing text of one or more microblog posts that refer to the microblog resource identifier in conjunction with text of the query or generating at least one social networking feature by analyzing one or more characteristics associated with one or more microblog users that issued or received the microblog resource identifier via the microblog.

21. A method for identifying and ranking resources in response to a query received from a user comprising:

selecting a first group of resources from among a plurality of resources represented in a first index based on the query, wherein the first index is created by crawling a network of nodes that store resources;

ranking the first group of resources to generate a first ranked list of resources;

selecting a second group of resources from among a plurality of resources represented in a second index based on the query, wherein the second index is created by monitoring a received data stream of microblog posts to identify resource identifiers included in the microblog posts, and the second group of resources are different from the first group of resources;

ranking the second group of resources to generate a second ranked list of resources;

combining the first and second ranked list of resources to generate one single combined ranked list of resources; and

returning the one single combined ranked list of resources to the user.

22. The method for claim 1 , wherein resources in the one single combined ranked list are ranked based on a metric utilized by the first machine learned ranker.

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 Mar 30, 2010
From: DONG, ANLEI; KOLARI, PRANAM; ZHANG, RUIQIANG; BAI, JING; CHANG, YI; ZHENG, ZHAOHUI
To: YAHOO! INC.
Reel/Frame 024161/0769 →
Continuity (1)
Related Publication 20110246457A1 · Oct 6, 2011