IP Library Granted Patent US 11,953,977
Granted Patent B2
US 11,953,977 · App. 18/120,011 · Granted Apr 9, 2024

Machine-learning based similarity engine

Inventors: Hari Krishna Vutukuru (Hyderabad, IN); Purvanshi Yadav (Hyderabad, IN); Anushree Randad (Santa Clara, CA); Ajesh Sasidharan (Hyderabad, IN); Payal Roy (Hyderabad, IN); Ankit Kumar Das (Hyderabad, IN)
Assignee: ServiceNow, Inc.
G06F11/0787G06F11/0769G06N20/00
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,953,977
App. No.
18/120,011
Filed
Mar 10, 2023
Granted
Apr 9, 2024
Kind
B2
Art Unit
2114
USPC
714/48
Abstract

An embodiment may involve storage containing incident logs and mappings between incident logs and vector representations generated by a machine learning (ML) model. The embodiment may further involve one or more processors configured to: receive, from a client device, a classification request corresponding to an additional incident log; transmit, to the ML model, additional values as appearing in the additional incident log, wherein reception of the additional values causes the ML model to generate an additional vector representation of the additional incident log; obtain confidence measurements respectively representing similarities between the additional vector representation and each of the vector representations corresponding to the incident logs; determine, based on the confidence measurements, a set of one or more incident logs that are semantically relevant to the additional incident log; and transmit, to the client device, representations of the one or more incident logs and their corresponding confidence measurements.

Claims (51)

1. A method comprising:

receiving, from a client device, a classification request corresponding to an incident log, wherein mappings between previous incident logs and n-dimensional vector representations thereof were generated by a machine learning (ML) model based on respective values in one or more fields of the previous incident logs;

providing, to the ML model, values in one or more fields as appearing in the incident log, wherein reception of the values causes the ML model to generate an n-dimensional vector representation of the incident log;

obtaining a plurality of similarities between the n-dimensional vector representation of the incident log and each of the n-dimensional vector representations corresponding to the previous incident logs;

determining, based on the plurality of similarities, one or more incident logs from the previous incident logs with n-dimensional vector representations that are most similar to that of the incident log; and

transmitting, to the client device, representations of the one or more incident logs.

2. The method of claim 1 , further comprising:

before receiving the classification request: (i) generating a representation of a graphical user interface, wherein the graphical user interface includes an identifier for the incident log, a description of the incident log, and an actuatable classification control, and (ii) transmitting, to the client device, the representation of the graphical user interface, wherein the actuatable classification control, when actuated by way of the client device, causes transmission of the classification request.

3. The method of claim 1 , wherein transmitting the representations of the one or more incident logs comprises:

generating a representation of a graphical user interface, wherein the graphical user interface includes a list-based view of the one or more incident logs, and wherein the list-based view specifies in line items for each of the one or more incident logs: (i) an identifier and (ii) a description; and

transmitting, to the client device, the representation of the graphical user interface.

4. The method of claim 3 , wherein the line items for each of the one or more incident logs include respective confidence scores, wherein the respective confidence scores are scaled versions of the plurality of similarities.

5. The method of claim 3 , wherein the line items for each of the one or more incident logs include respective actuatable copy controls, wherein the respective actuatable copy controls, when actuated, cause copying of respective incident solutions to the incident log.

6. The method of claim 1 , further comprising:

receiving, from the client device, a selected incident log from the one or more incident logs; and

storing an association between the selected incident log and the incident log.

7. The method of claim 6 , wherein the association is a parent-child relationship or a sibling relationship.

8. The method of claim 1 , further comprising:

determining, based on the representations of the one or more incident logs, a set of one or more incident solutions associated with the one or more incident logs, each of the incident solutions includes a further set of fields that define a solution to a problem expressed in one of the one or more incident logs.

9. The method of claim 8 , further comprising:

generating a representation of a graphical user interface, wherein the graphical user interface includes a list-based view of the representations of the one or more incident solutions, and wherein the list-based view specifies in line items for each of the one or more incident solutions: (i) a identifier, and (ii) a description; and

transmitting, to the client device, the representation of the graphical user interface.

10. The method of claim 8 , further comprising:

receiving, from the client device, a selected incident solution from the one or more incident solutions; and

storing an association between the selected incident solution and the incident log.

11. The method of claim 1 , wherein the ML model is based on a word vector model or a paragraph vector model, and wherein training the ML model comprises mapping text within a pre-determined set of fields for each of the previous incident logs respectively into the n-dimensional vector representations, wherein the n-dimensional vector representations are encoded in an n-dimensional semantic space related to content of the text.

12. The method of claim 1 , wherein obtaining similarities between the n-dimensional vector representation of the incident log and the n-dimensional vector representations corresponding to the previous incident logs comprises:

calculating respective cosine similarity measurements between the n-dimensional vector representation of the incident log and each of the n-dimensional vector representations corresponding to the previous incident logs;

calculating confidence measurements as multiples of the respective cosine similarity measurements that are greater than zero; and

determining, based on the confidence measurements, a set of one or more incident logs that are semantically relevant to the incident log.

13. The method of claim 1 , wherein each of the incident logs in the previous incident logs and the incident log comprises a description of an incident relating to a managed network.

14. A method comprising:

receiving a classification request corresponding to an incident log;

transmitting, to a server device, values in one or more fields as appearing in the incident log, wherein the server device has access to vector representations corresponding to previous incident logs that were generated by a machine learning (ML) model, and wherein reception of the values causes the server device to: use the ML model to generate an n-dimensional vector representation of the incident log from the values, obtain a plurality of similarities between the n-dimensional vector representation and the n-dimensional vector representations corresponding to the previous incident logs, and determine, based on the plurality of similarities, one or more incident logs from the previous incident logs that are similar to the incident log; and

receiving, from the server device, representations of the one or more incident logs.

15. The method of claim 14 , further comprising:

in response to receiving the representations of the one or more incident logs, (i) generating a representation of a graphical user interface, wherein the graphical user interface includes an identifier for the incident log, a description of the incident log, and an actuatable classification control, wherein the actuatable classification control, when actuated, causes transmission of the classification request.

16. The method of claim 15 , wherein the graphical user interface includes a list-based view of the one or more incident logs, wherein the list-based view specifies in line items for each of the one or more incident logs: (i) an identifier and (ii) a description.

17. The method of claim 14 , further comprising:

receiving a selected incident log from the one or more incident logs; and

transmitting, to the server device, an association between the selected incident log and the incident log.

18. The method of claim 17 , wherein the association is a parent-child relationship or a sibling relationship.

19. The method of claim 14 , wherein receiving the representations of the one or more incident logs further comprise receiving a set of one or more incident solutions associated with the one or more incident logs.

20. A system comprising:

persistent storage containing a plurality of incident logs, wherein mappings between previous incident logs and vector representations thereof were generated by a machine learning (ML) model based on respective values in one or more fields of the previous incident logs; and

one or more processors configured to:

receive, from a client device, a classification request corresponding to an incident log;

provide, to the ML model, values in one or more fields as appearing in the incident log, wherein reception of the values causes the ML model to generate an n-dimensional vector representation of the incident log;

obtain a plurality of similarities between the n-dimensional vector representation and the n-dimensional vector representations corresponding to the previous incident logs;

determine, based on the plurality of similarities, one or more incident logs from the previous incident logs that are similar to the incident log; and

transmit, to the client device, representations of the one or more incident logs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2023
From: VUTUKURU, HARI KRISHNA; YADAV, PURVANSHI; RANDAD, ANUSHREE; SASIDHARAN, AJESH; ROY, PAYAL; DAS, ANKIT KUMAR
To: SERVICENOW, INC.
Reel/Frame 062946/0949 →
Continuity (2)
Continuation 17142769 · Jan 6, 2021
Related Publication 20230222029A1 · Jul 13, 2023