IP Library Granted Patent US 11,625,426
Granted Patent B2
US 11,625,426 · App. 16/450,673 · Granted Apr 11, 2023

Incorporating opinion information with semantic graph data

Inventors: Saurabh Abhyankar (McLean, VA); Scott Rigney (Arlington, VA); Timothy Lang (McLean, VA)
Assignee: MicroStrategy Incorporated
G06F16/36G06F16/3344G06F16/9024G06F16/9027G06F16/953G06F16/9535G06F40/30G06N5/04G06T11/206G10L13/027
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 11,625,426
App. No.
16/450,673
Granted
Apr 11, 2023
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer-readable storage media, for incorporating opinion information with semantic graph data. In some implementations, semantic graph data indicating objects relationships among the objects is stored. Opinion data indicating user sentiment with respect to the objects is generated. A particular object of the objects indicted by the semantic graph is identified. An opinion measure for the particular object is determined based on the generated opinion data. Output data is provided to a client device for presentation, where the output data is generated based on the opinion measure for the particular object.

Claims (55)

1. A method performed by one or more computers, the method comprising:

storing, by the one or more computers, semantic graph data indicating objects and relationships among the objects;

tracking, by the one or more computers, accesses to the objects by multiple different users and contexts in which the accesses to the objects were made;

generating, by the one or more computers, opinion data indicating user sentiment with respect to the objects, the opinion data for the objects being generated based on inferences of user opinion derived from the tracked user accesses to the objects by the multiple different users;

identifying, by the one or more computers, a particular object of the objects indicated by the semantic graph;

obtaining, by the one or more computers, context data indicating a current context of a client device;

determining, by the one or more computers, an opinion measure for the particular object based on the generated opinion data, the opinion measure for the particular object being determined by aggregating portions of the generated opinion data indicating sentiment with respect to the particular object, wherein the aggregation combines sentiment determined from tracked user accesses to the particular object by a plurality of the multiple different users, wherein the opinion measure is generated based at least in part on an aggregation of multiple items of opinion data for the particular object in which different opinion data for the particular object is weighted based on a level of similarity between the current context of the client device and the contexts of the tracked accesses from which the respective items of opinion data were generated; and

providing, by the one or more computers, output data to the client device, wherein the output data is generated based on the opinion measure for the particular object.

2. The method of claim 1 , comprising receiving a query;

wherein the particular object is identified as representing a candidate search result for the query; and

wherein providing the output data comprises providing search results that are selected based on the opinion measure for the particular object or are ranked based on the opinion measure for the particular document.

3. The method of claim 1 , comprising receiving a request, wherein the identifying, determining, and providing are performed in response to receiving the request; and

wherein the score is generated based on sentiment scores in the generated opinion data for a proper subset of the multiple users, the proper subset of the multiple users being determined based on the request.

4. The method of claim 1 , comprising receiving a request associated with a particular user;

wherein the opinion measure for the particular object is generated based on a (i) an opinion measure for the particular user with respect to the particular object (ii) an opinion measure for the particular user indicating sentiment of the particular user with respect to other users, and (iii) opinion measures of the other users with respect to the particular object.

5. The method of claim 1 , wherein the opinion measure for the particular document is based on opinion measures with respect to objects representing users associated with the document.

6. The method of claim 1 , wherein the particular object represents a document, and the opinion measure is generated based on opinion measures for multiple objects that represent elements of the document or represent data referenced by the document.

7. The method of claim 1 , wherein the output data is provided to a client device associated with a particular user, and wherein the opinion measure is generated based on opinion measures indicating sentiment of the particular user with respect to the multiple objects.

8. The method of claim 1 , wherein generating the opinion data comprises setting weights for connections in the semantic graph between individual users and the objects in the graph based on the inferences of user opinion derived from the tracked user accesses to the objects by the respective users.

9. The method of claim 1 , wherein the output data indicates a recommendation to a user or a response to a request from a user.

10. The method of claim 1 , comprising identifying multiple objects representing candidate search results for a query;

obtaining, for each of the multiple objects, (i) an opinion measure, based on the generated opinion data, indicating sentiment of one or more of the multiple users, and (ii) a relevance measure indicating relevance of the object with respect to the query;

determining, for each of the multiple objects, a combined measure based on the opinion measure for the object and the relevance measure for the object; and

ranking the multiple objects based on the combined measures;

wherein the output data indicates a highest-ranking subset of the multiple objects.

11. The method of claim 1 , wherein generating the opinion data comprises generating opinion data indicating user sentiment of each of multiple users with respect to the objects of each of multiple users.

12. A system comprising:

one or more computers; and

one or more computer-readable media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

storing, by the one or more computers, semantic graph data indicating objects and relationships among the objects;

tracking, by the one or more computers, accesses to the objects by multiple different users and contexts in which the accesses to the objects were made;

generating, by the one or more computers, opinion data indicating user sentiment with respect to the objects, the opinion data for the objects being generated based on inferences of user opinion derived from the tracked user accesses to the objects by the multiple different users;

identifying, by the one or more computers, a particular object of the objects indicated by the semantic graph;

obtaining, by the one or more computers, context data indicating a current context of a client device;

determining, by the one or more computers, an opinion measure for the particular object based on the generated opinion data, the opinion measure for the particular object being determined by aggregating portions of the generated opinion data indicating sentiment with respect to the particular object, wherein the aggregation combines sentiment determined from tracked user accesses to the particular object by a plurality of the multiple different users, wherein the opinion measure is generated based at least in part on an aggregation of multiple items of opinion data for the particular object in which different opinion data for the particular object is weighted based on a level of similarity between the current context of the client device and the contexts of the tracked accesses from which the respective items of opinion data were generated; and

providing, by the one or more computers, output data to the client device, wherein the output data is generated based on the opinion measure for the particular obj ect.

13. The system of claim 12 , comprising receiving a query;

wherein the particular object is identified as representing a candidate search result for the query; and

wherein providing the output data comprises providing search results that are selected based on the opinion measure for the particular object or are ranked based on the opinion measure for the particular document.

14. The system of claim 12 , wherein determining the opinion measure for the particular document comprises determining, as the opinion measure, a score representing the sentiment of a particular user with respect to the particular object.

15. The system of claim 12 , comprising receiving a request associated with a particular user;

wherein the opinion measure for the particular object is generated based on a (i) an opinion measure for the particular user with respect to the particular object (ii) an opinion measure for the particular user with respect to user objects representing other users, and (iii) opinion measures of the other users with respect to the particular object.

16. One or more non-transitory computer-readable media storing instructions that, when executed by one or more computers, cause the one or more computers to perform operations comprising:

storing, by the one or more computers, semantic graph data indicating objects and relationships among the objects;

tracking, by the one or more computers, accesses to the objects by multiple different users and contexts in which the accesses to the objects were made;

generating, by the one or more computers, opinion data indicating user sentiment with respect to the objects, the opinion data for the objects being generated based on inferences of user opinion derived from the tracked user accesses to the objects by the multiple different users;

identifying, by the one or more computers, a particular object of the objects indicated by the semantic graph;

obtaining, by the one or more computers, context data indicating a current context of a client device;

determining, by the one or more computers, an opinion measure for the particular object based on the generated opinion data, the opinion measure for the particular object being determined by aggregating portions of the generated opinion data indicating sentiment with respect to the particular object, wherein the aggregation combines sentiment determined from tracked user accesses to the particular object by a plurality of the multiple different users, wherein the opinion measure is generated based at least in part on an aggregation of multiple items of opinion data for the particular object in which different opinion data for the particular object is weighted based on a level of similarity between the current context of the client device and the contexts of the tracked accesses from which the respective items of opinion data were generated; and

providing, by the one or more computers, output data to the client device, wherein the output data is generated based on the opinion measure for the particular object.

17. The method of claim 1 , wherein tracking the accesses to the objects by multiple different users comprises tracking different types of accesses to the objects; and

wherein the aggregation of the portions of the generated opinion data is based at least in part on the types of accesses that tracking data identifies for the tracked user accesses.

18. The method of claim 1 , wherein tracking the contexts of the tracked accesses comprises storing context information describing the contexts in which the accesses to the objects were made, including, for each of at least some of the tracked accesses, at least one of a location, task, document, or application associated with the tracked access;

wherein the context data indicating a current context of the client device comprises at least one of a location of the client device, a task performed by the client device, a document open at the client device, or an application open at the client device; and

wherein determining the opinion measure for the particular object comprises weighting tracked accesses based on the respective levels of similarity between the location, task, document, or application associated with the tracked access and the location, task, document, or application indicated by the current context of the client device.

Assignments (4)
CHANGE OF NAME Recorded Sep 19, 2025
From: MICROSTRATEGY INCORPORATED
To: STRATEGY INC
Reel/Frame 072974/0529 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT REEL/FRAME: 056647/0687, REEL/FRAME: 057435/0023, REEL/FRAME: 059256/0247, REEL/FRAME: 062794/0255 AND REEL/FRAME: 066663/0713 Recorded Sep 26, 2024
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS SUCCESSOR IN INTEREST TO U.S. BANK NATIONAL ASSOCIATION, IN ITS CAPACITY AS COLLATERAL AGENT FOR THE SECURED PARTIES
To: MICROSTRATEGY INCORPORATED; MICROSTRATEGY SERVICES CORPORATION
Reel/Frame 069065/0539 →
SECURITY INTEREST Recorded Jun 22, 2021
From: MICROSTRATEGY INCORPORATED
To: U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 056647/0687 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2019
From: ABHYANKAR, SAURABH; RIGNEY, SCOTT; LANG, TIMOTHY
To: MICROSTRATEGY INCORPORATED
Reel/Frame 050318/0658 →