IP Library Granted Patent US 10,997,259
Granted Patent B2
US 10,997,259 · App. 16/150,954 · Granted May 4, 2021

Concept networks and systems and methods for the creation, update and use of same in artificial intelligence systems

Inventors: Richard Lawrence Stillwell, Jr. (Austin, TX); Carter Myers Brooking (Austin, TX); Jed Jackoway (Austin, TX); Brandon Michael Burkett (Cedar Park, TX)
Assignee: REALPAGE, INC.
G06F16/9535G06F16/313G06F16/335G06F16/3329G06F16/3344G06F16/367G06F16/9024G06F16/9027G06F16/9038G06F40/20G06F40/279G06F40/295G06F40/30
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,997,259
App. No.
16/150,954
Granted
May 4, 2021
Kind
B2
Abstract

Systems and methods for concept based searching or recommendation based on a concept networks are disclosed. More particularly, embodiments of a concept based approach to the search and analysis of data, including the creation, update or use of concept networks in searching and analyzing data are disclosed, including embodiments of the usage of such concept networks in artificial intelligence systems that are capable of utilizing concepts expressed by users to return or evaluate associated entities or content.

Claims (61)

1. A artificial intelligence system, comprising:

a processor; and

a data store, storing a concept network, the concept network comprises a set of nodes, including nodes representing each of a set of concepts utilized by the artificial intelligence system and a set of relationships between the set of concepts

a non-transitory computer-readable medium comprising instructions for:

receiving a request from a widget at a user device, the request including a current interaction entered by a user in an interface displayed at the user device;

retrieving a session associated with the user, wherein the session includes one or more previous frames associated with previous user interactions;

creating a working frame based on the retrieved session, including one or more intents and one or more concepts expressed in the previous user interactions and included in the one or more previous frames associated with previous user interactions included in the session;

sending a request to a natural language processing extraction service, wherein the request includes the current interaction;

receiving a response from the natural language processing extraction service including a determined concept;

evaluating the determined concept and the one or more concepts included in the previous frames to determine a canonical concept for the working frame;

sending a request to a data service, the request including the canonical concept determined for the working frame, the data service determining an entity associated with the canonical concept by:

determining a score for the canonical concept for the entity, wherein determining a score for the canonical concept for the entity comprises accessing the concept network to determine a score for the canonical concept and the entity based on the relationships of the concept network between a first node of the concept network for the canonical concept and a second node of the concept network for the entity and selecting the entity based on the score for the canonical concept for the entity, wherein

the concept network is a graph,

the set of nodes includes nodes representing a set of entities, and

the set of relationships are represented by a set of edges between the set of nodes of the graph, where each edge connects two of the set of nodes and is associated with a weight indicating a degree of affinity between the two nodes connected by the edge, and wherein

the score for the canonical concept for the entity is determined by:

determining a path in the concept network between the node in the concept network representing the canonical concept and the node in the concept network representing the entity, the path comprising a set of intervening nodes and a set of intervening relationships and determining the score based on each of the weights assigned to the set of intervening relationships;

determining content related to the entity and the canonical concept;

forming a response to the widget including the content related to the canonical concept and entity; and

returning the response to the widget at the user device, to be rendered at the user device in the interface displayed at the user device by presenting the content in the interface such that the content presented in the interface is synchronized with the canonical concept.

2. The system of claim 1 , wherein the path is a shortest navigational path between the node in the concept network representing the canonical concept and the node in the concept network representing the entity.

3. The system of claim 1 , wherein the concept network is a trie and the score for the canonical concept for the entity is determined based on a traversal distance between the node in the concept network representing the canonical concept and the node in the concept network representing the entity.

4. A non-transitory computer readable medium, comprising instructions for implementing an artificial intelligence system, the instructions executable for:

providing a concept network, the concept network comprises a set of nodes, including nodes representing each of a set of concepts utilized by the artificial intelligence system and a set of relationships between the set of concepts;

receiving a request from a widget at a user device, the request including a current interaction entered by a user in an interface displayed at the user device;

retrieving a session associated with the user, wherein the session includes one or more previous frames associated with previous user interactions;

creating a working frame based on the retrieved session, including one or more intents and one or more concepts expressed in the previous user interactions and included in the one or more previous frames associated with previous user interactions included in the session;

sending a request to a natural language processing extraction service, wherein the request includes the current interaction;

receiving a response from the natural language processing extraction service including a determined concept;

evaluating the determined concept and the one or more concepts included in the previous frames to determine a canonical concept for the working frame;

sending a request to a data service, the request including the canonical concept determined for the working frame, the data service determining an entity associated with the canonical concept by:

determining a score for the canonical concept for the entity, wherein determining a score for the canonical concept for the entity comprises accessing the concept network to determine a score for the canonical concept and the entity based on the relationships of the concept network between a first node of the concept network for the canonical concept and a second node of the concept network for the entity and selecting the entity based on the score for the canonical concept for the entity, wherein

the concept network is a graph,

the set of nodes includes nodes representing a set of entities, and

the set of relationships are represented by a set of edges between the set of nodes of the graph, where each edge connects two of the set of nodes and is associated with a weight indicating a degree of affinity between the two nodes connected by the edge, and wherein

the score for the canonical concept for the entity is determined by:

determining a path in the concept network between the node in the concept network representing the canonical concept and the node in the concept network representing the entity, the path comprising a set of intervening nodes and a set of intervening relationships and determining the score based on each of the weights assigned to the set of intervening relationships;

determining content related to the entity and the canonical concept;

forming a response to the widget including the content related to the canonical concept and entity; and

returning the response to the widget at the user device, to be rendered at the user device in the interface displayed at the user device by presenting the content in the interface such that the content presented in the interface is synchronized with the canonical concept.

5. The non-transitory computer readable medium of claim 4 , wherein the path is a shortest navigational path between the node in the concept network representing the canonical concept and the node in the concept network representing the entity.

6. The non-transitory computer readable medium of claim 4 , wherein the concept network is a trie and the score for the canonical concept for the entity is determined based on a traversal distance between the node in the concept network representing the canonical concept and the node in the concept network representing the entity.

7. A method for an artificial intelligence computing system, the method being performed at a computing device including a processor, and the method comprising:

providing a concept network, the concept network comprises a set of nodes, including nodes representing each of a set of concepts utilized by the artificial intelligence system and a set of relationships between the set of concepts;

receiving a request from a widget at a user device, the request including a current interaction entered by a user in an interface displayed at the user device;

retrieving a session associated with the user, wherein the session includes one or more previous frames associated with previous user interactions;

creating a working frame including one or more intents and one or more concepts expressed in the previous user interactions and included in the one or more previous frames associated with previous user interactions;

sending a request to a natural language processing extraction service, wherein the request includes the current interaction;

receiving a response from the natural language processing extraction service including a determined concept;

evaluating the determined concept and the one or more concepts included in the previous frames to determine a canonical concept for the working frame;

sending a request to a data service, the request including the canonical concept determined for the working frame, the data service determining an entity associated with the canonical concept by: determining a score for the canonical concept for the entity, wherein determining a score for the canonical concept for the entity comprises accessing the concept network to determine a score for the canonical concept and the entity based on the relationships of the concept network between a first node of the concept network for the canonical concept and a second node of the concept network for the entity and selecting the entity based on the score for the canonical concept for the entity, wherein

the concept network is a graph,

the set of nodes includes nodes representing a set of entities, and

the set of relationships are represented by a set of edges between the set of nodes of the graph, where each edge connects two of the set of nodes and is associated with a weight indicating a degree of affinity between the two nodes connected by the edge, and wherein

the score for the canonical concept for the entity is determined by:

determining a path in the concept network between the node in the concept network representing the canonical concept and the node in the concept network representing the entity, the path comprising a set of intervening nodes and a set of intervening relationships and determining the score based on each of the weights assigned to the set of intervening relationships;

determining content related to the entity and the canonical concept;

forming a response to the widget including the content related to the canonical concept and entity; and

returning the response to the widget at the user device, to be rendered at the user device in the interface displayed at the user device by presenting the content in the interface such that the content presented in the interface is synchronized with the canonical concept.

8. The method of claim 7 , wherein the path is a shortest navigational path between the node in the concept network representing the canonical concept and the node in the concept network representing the entity.

9. The method of claim 7 , wherein the concept network is a trie and the score for the canonical concept for the entity is determined based on a traversal distance between the node in the concept network representing the canonical concept and the node in the concept network representing the entity.

Assignments (8)
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS AT R/F 056256/0184 Recorded Dec 18, 2024
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: REALPAGE, INC.
Reel/Frame 069717/0388 →
CHANGE OF NAME Recorded Nov 17, 2021
From: COGNITE, INC.
To: WAYBLAZER, INC.
Reel/Frame 058136/0635 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded May 17, 2021
From: REALPAGE, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 056256/0184 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded May 17, 2021
From: REALPAGE, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 056323/0457 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2021
From: JACKOWAY, JED
To: WAYBLAZER, INC.
Reel/Frame 054873/0175 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: STILLWELL, RICHARD LAWRENCE, JR.; BROOKING, CARTER MYERS; BURKETT, BRANDON MICHAEL
To: WAYBLAZER, INC.
Reel/Frame 050293/0056 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: JACKOWAY, JED
To: WAYBLAZER, INC.
Reel/Frame 050293/0070 →
BILL OF SALE Recorded Sep 6, 2019
From: WAYBLAZER, INC.
To: REALPAGE, INC.
Reel/Frame 050301/0001 →
Continuity (2)
Provisional Application 62568887 · Oct 6, 2017
Related Publication 20190108285A1 · Apr 11, 2019