# US 11,442,947 B2 · Issues recommendations using machine learning

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

- Number: US 11,442,947 B2
- Document ID: US11442947B2
- Status: Granted
- Kind: B2
- Application number: 16/909,843
- Filed: 2020-06-23
- Published: 2021-12-23
- Granted: 2022-09-13
- Earliest claimed: 2020-06-23
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Deng Feng Wan; Yangchun Deng; Zuxing Wang; Hui Zhang
- Web page: https://patentgrep.com/patent/US11442947B2

## CPC

- G06F 16/24578: {using ranking}
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/0499: Feedforward networks
- G06N 3/08: Learning methods
- G06N 3/09: Supervised learning
- G06N 20/00: Machine learning
- G06Q 10/101: Collaborative creation, e.g. joint development of products or services
- G06Q 30/0282: Rating or review of business operators or products
- 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

A query is received that requests issues relevant to a user. Thereafter, a plurality of issues responsive to the query are retrieved. The retrieved issues are ranked using a first machine learning model to result in a first subset of the retrieved issues. The first subset of the retrieved issues are then ranked using a second, different machine learning model to result in a second subset of the retrieved issues which are a subset of the first subset of the retrieved issues. Data can then be provided which is responsive the query and includes at least a portion of the second subset of the retrieved issues. Related apparatus, systems, techniques and articles are also described.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving a query requesting issues relevant to a user;
retrieving a plurality of issues responsive to the query;
generating a user similarity matrix by generating a plurality of user profile vectors and calculating a similarity between each pair of user profile vectors;
first ranking the retrieved issues using a first machine learning model to result in a first subset of the retrieved issues;
second ranking the first subset of the retrieved issues using a second, different machine learning model to result in a second subset of the retrieved issues, the second subset of the retrieved issues being a subset of the first subset of the retrieved issues; and
providing data responsive to the query comprising at least a portion of the second subset of the retrieved issues;
wherein generating a user profile vector comprises:
scoring each issue based on user actions stored in a user actions log;
ranking keywords for the user based on the scoring of the issues to generate a list of top keywords; and
generating user keywords vectors based on the list of top keywords.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first machine learning model comprises a logistic regression model.

### Claim 3 (depends on 2)

The method of claim 2, wherein the second machine learning model comprises a neural network model.

### Claim 4 (depends on 3)

The method of claim 3, wherein the neural network model comprises a DeepFM model.

### Claim 5 (depends on 1)

The method of claim 1, wherein the plurality of issues are retrieved using different retrieval modalities.

### Claim 6 (depends on 5)

The method of claim 5, wherein one of the retrieval modalities comprises:
predicting scores for the user against each issue using an alternating least squares algorithm;
ranking the issues according to their scores; and
filtering out scores below a pre-defined threshold.

### Claim 7 (depends on 6)

The method of claim 6 further comprising:
filtering the retrieved plurality of issues based on collaborative filtering in relation to issues.

### Claim 8 (depends on 7)

The method of claim 7, wherein the collaborative filtering in relation to issues uses an issues similarity matrix.

### Claim 9 (depends on 8)

The method of claim 8 further comprising:
generating the issues similarity matrix by:
identifying, based on issues data, a predefined number of top keywords associated with the user using a term frequency-inverse document frequency; and
generating, based on issues data, a plurality of word vectors using a word embedding model;
generating a plurality of issue vectors based on the identification of the predefined number of top keywords and the generated plurality of word vectors;
calculating a similarity between each pair of issue vectors to result in the issues similarity matrix.

### Claim 10 (depends on 6)

The method of claim 6 further comprising:
filtering the retrieved plurality of issues based on collaborative filtering in relation to users.

### Claim 11 (depends on 10)

The method of claim 10, wherein the collaborative filtering in relation to users uses the user similarity matrix.

### Claim 12 (depends on 1)

The method of claim 1, wherein each user profile vector is generated by concatenating a user keywords vector with a user basic vector.

### Claim 13 (depends on 12)

The method of claim 12, wherein the user keywords vector is derived from the user actions log which comprises information comprising a user identification (ID), issue ID, a type of action associated with the issue, a timestamp for the action, and a duration of the action.

### Claim 14 (depends on 1)

The method of claim 1, wherein the providing data comprises at least one of: causing the data to be displayed in a graphical user interface, loading the data into memory, storing the data in physical persistence, or transmitting the data to a remote computing system.

### Claim 15

A system comprising:
at least one data processor; and
memory storing instructions which, when executed by the at least one data processor, result in operations comprising:
receiving a query requesting issues relevant to a user;
retrieving a plurality of issues responsive to the query;
generating a user similarity matrix by generating a plurality of user profile vectors and calculating a similarity between each pair of user profile vectors;
first ranking the retrieved issues using a first machine learning model to result in a first subset of the retrieved issues;
second ranking the first subset of the retrieved issues using a second, different machine learning model to result in a second subset of the retrieved issues, the second subset of the retrieved issues being a subset of the first subset of the retrieved issues; and
providing data responsive to the query comprising at least a portion of the second subset of the retrieved issues,
wherein generating a user profile vector comprises:
scoring each issue based on user actions stored in a user actions log;
ranking keywords for the user based on the scoring of the issues to generate a list of top keywords; and
generating user keywords vectors based on the list of top keywords.

### Claim 16 (depends on 15)

The system of claim 15 further comprising:
an in-memory database which receives the query and retrieves the plurality of issues responsive to the query.

### Claim 17

A non-transitory computer program product storing instructions which, when executed by at least one computing device, results in operations comprising:
receiving a query requesting issues relevant to a user;
retrieving a plurality of issues responsive to the query;
generating a user similarity matrix by generating a plurality of user profile vectors and calculating a similarity between each pair of user profile vectors;
first ranking the retrieved issues using a first machine learning model to result in a first subset of the retrieved issues;
second ranking the first subset of the retrieved issues using a second, different machine learning model to result in a second subset of the retrieved issues, the second subset of the retrieved issues being a subset of the first subset of the retrieved issues; and
providing data responsive to the query comprising at least a portion of the second subset of the retrieved issues,
wherein generating a user profile vector comprises:
scoring each issue based on user actions stored in a user actions log;
ranking keywords for the user based on the scoring of the issues to generate a list of top keywords; and
generating user keywords vectors based on the list of top keywords.

### Claim 18 (depends on 17)

The non-transitory computer program product of claim 17, wherein the first machine learning model comprises a logistic regression model and the second machine learning model comprises a DeepFM model.
