# US 10,872,125 B2 · Concept networks and systems and methods for the creation, update and use of same to select images, including the selection of images corresponding to destinations in artificial intelligence systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,872,125 B2
- Document ID: US10872125B2
- Status: Granted
- Kind: B2
- Application number: 16/150,975
- Filed: 2018-10-03
- Published: 2019-04-11
- Granted: 2020-12-22
- Earliest claimed: 2017-10-05
- Assignees: Realpage, Inc.
- Applicants: Realpage Inc.
- Inventors: Chao Pan; Melanie Tosik
- Web page: https://patentgrep.com/patent/US10872125B2

## CPC

- G06F 16/9535: Search customisation based on user profiles and personalisation
- G06F 16/50: of still image data
- G06F 16/58: Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F 16/9027: {Trees}
- G06F 16/9038: Presentation of query results
- G06F 40/216: using statistical methods
- G06F 40/295: Named entity recognition
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06N 20/00: Machine learning
- G06Q 10/107: Computer-aided management of electronic mailing [e-mailing]
- G06Q 30/0269: {based on user profile or attribute}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Systems and methods for concept based searching or recommendation 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 images.

## Claims

### Claim 1

A artificial intelligence system, comprising:
a processor; and
a data store, storing a destination concept vector for each of a set of destinations and destination content for each of the set of destinations, wherein the destination content for each destination includes a set of images for the destination and each of the set of images is associated with an image concept vector;
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 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 destination data service, the request including the canonical concept determined for the working frame, the destination data service determining a destination associated with the canonical concept by: determining a score for the canonical concept for each destination in the set of destinations, wherein determining a score for the canonical concept for the destination comprises accessing the destination concept vector associated with the destination to determine the score for the canonical concept for the destination and selecting the destination based on the score for the canonical concept for each destination in the set of destinations;
determining content related to the canonical concept and the destination, including an image, where determining an image comprises:
accessing the set of images associated with the destination;
determining a score associated with the canconincal concept for each of the set of images based on the image concept vector associated with each of the set of images; and
selecting the image from the set of images based on the score associated with the canonical concept for each of the set of images;
receiving the content related to the canonical concept and the destination from the destination data service;
applying a set of follow-up rules to the current interaction and the previous interaction to determine a follow-up interaction;
forming a response to the widget including the content related to the canonical concept, destination and the follow-up interaction; 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 follow-up interaction and the content in the interface such that the content presented in the interface is synchronized with the canonical concept.

### Claim 2 (depends on 1)

The system of claim 1, wherein the image includes a first image and a second image, wherein the second image image is selected from the set of images after the selection of the first image and the second image comprises determining a second score associated with the canconincal concept for each of the set of images based on the image concept vector associated with each of the set of images and applying a scoring penalty determined based on a similarity between the first image.

### Claim 3 (depends on 1)

The system of claim 1, wherein the image concept vector for the image was determined by: determining one or more concepts associated with the image; determining a score for the one or more concepts associated with the image and applying the score for the one or more concepts associated with the image to a concept net relationship matrix.

### Claim 4 (depends on 3)

The system of claim 3, wherein the concept net relationship matrix includes a score between each of a set of concepts utilized by the artificial intelligence system.

### Claim 5 (depends on 4)

The system of claim 4, wherein the score between each of the set of concepts in the concept net relationship matrix is determined based on a concept network representing the set of concepts and a set of relationships between the set of concepts.

### Claim 6 (depends on 5)

The system of claim 5, wherein the concept network is a trie and the score between a first concept and a second concept in the concept net relationship matrix is determined based on a traversal distance between a first node representing the first concept in the concept network and a second node representing the first concept in the concept network.

### Claim 7

A non-transitory computer readable medium, comprising instructions for implementing an artificial intelligence system, the instructions executable 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 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 destination data service, the request including the canonical concept determined for the working frame, the destination data service determining a destination associated with the canonical concept by: determining a score for the canonical concept for each destination in the set of destinations, wherein determining a score for the canonical concept for the destination comprises accessing a destination concept vector associated with the destination to determine the score for the canonical concept for the destination and selecting the destination based on the score for the canonical concept for each destination in the set of destinations;
determining content related to the canonical concept and the destination, including an image, where determining an image comprises:
accessing a set of images associated with the destination;
determining a score associated with the canonical concept for each of the set of images based on an image concept vector associated with each of the set of images; and
selecting the image from the set of images based on the score associated with the canonical concept for each of the set of images;
receiving the content related to the canonical concept and the destination from the destination data service;
applying a set of follow-up rules to the current interaction and the previous interaction to determine a follow-up interaction;
forming a response to the widget including the content related to the canonical concept, destination and the follow-up interaction; 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 follow-up interaction and the content in the interface such that the content presented in the interface is synchronized with the canonical concept.

### Claim 8 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the image includes a first image and a second image, wherein the second image is selected from the set of images after the selection of the first image and the second image comprises determining a second score associated with the canonical concept for each of the set of images based on the image concept vector associated with each of the set of images and applying a scoring penalty determined based on a similarity between the first image.

### Claim 9 (depends on 7)

The non-transitory computer readable medium of claim 7, wherein the image concept vector for the image was determined by: determining one or more concepts associated with the image; determining a score for the one or more concepts associated with the image and applying the score for the one or more concepts associated with the image to concept net relationship matrix.

### Claim 10 (depends on 9)

The non-transitory computer readable medium of claim 9, wherein the concept net relationship matrix includes a score between each of a set of concepts utilized by the artificial intelligence system.

### Claim 11 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the score between each of the set of concepts in the concept net relationship matrix is determined based on a concept network representing the set of concepts and a set of relationships between the set of concepts.

### Claim 12 (depends on 11)

The non-transitory computer readable medium of claim 11, wherein the concept network is a trie and the score between a first concept and a second concept in the concept net relationship matrix is determined based on a traversal distance between a first node representing the first concept in the concept network and a second node representing the first concept in the concept network.

### Claim 13

A method for an artificial intelligence system, comprising:
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 destination data service, the request including the canonical concept determined for the working frame, the destination data service determining a destination associated with the canonical concept by: determining a score for the canonical concept for each destination in the set of destinations, wherein determining a score for the canonical concept for the destination comprises accessing a destination concept vector associated with the destination to determine the score for the canonical concept for the destination and selecting the destination based on the score for the canonical concept for each destination in the set of destinations;
determining content related to the canonical concept and the destination, including an image, where determining an image comprises:
accessing a set of images associated with the destination;
determining a score associated with the canonical concept for each of the set of images based on an image concept vector associated with each of the set of images; and
selecting the image from the set of images based on the score associated with the canonical concept for each of the set of images;
receiving the content related to the canonical concept and the destination from the destination data service;
applying a set of follow-up rules to the current interaction and the previous interaction to determine a follow-up interaction;
forming a response to the widget including the content related to the canonical concept, destination and the follow-up interaction; 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 follow-up interaction and the content in the interface such that the content presented in the interface is synchronized with the canonical concept.

### Claim 14 (depends on 13)

The method of claim 13, wherein the image includes a first image and a second image, wherein the second image is selected from the set of images after the selection of the first image and the second image comprises determining a second score associated with the canonical concept for each of the set of images based on the image concept vector associated with each of the set of images and applying a scoring penalty determined based on a similarity between the first image.

### Claim 15 (depends on 13)

The method of claim 13, wherein the image concept vector for the image was determined by: determining one or more concepts associated with the image; determining a score for the one or more concepts associated with the image and applying the score for the one or more concepts associated with the image to concept net relationship matrix.

### Claim 16 (depends on 15)

The method of claim 15, wherein the concept net relationship matrix includes a score between each of a set of concepts utilized by the artificial intelligence system.

### Claim 17 (depends on 16)

The method of claim 16, wherein the score between each of the set of concepts in the concept net relationship matrix is determined based on a concept network representing the set of concepts and a set of relationships between the set of concepts.

### Claim 18 (depends on 17)

The method of claim 17, wherein the concept network is a trie and the score between a first concept and a second concept in the concept net relationship matrix is determined based on a traversal distance between a first node representing the first concept in the concept network and a second node representing the first concept in the concept network.
