Technology service management using graph neural network
In some embodiments, a computer system may compute a knowledge graph using a graph neural network and source data corresponding to historical incidents, with the source data comprising knowledge base article data, historical incident data, component data, user data, and swarm data. The computer system may compute a new incident vector based on new incident data using a natural language understanding algorithm, and, for each one of a plurality of users, compute an updated user vector using the knowledge graph. The computer system may then compute a ranked list of the plurality of users based on a comparison of the new incident vector with the corresponding updated user vector of each one of the plurality of users.
1 . A computer-implemented method performed by a computer system comprising a memory and at least one hardware processor, the computer-implemented method comprising:
computing a corresponding knowledge base article vector for each of one or more knowledge base articles used in solving historical incidents for which corresponding tickets were created in an online system, using a first natural language understanding algorithm;
computing a corresponding historical incident vector for each of one or more historical incidents described in historical incident data, using a second natural language understanding algorithm; and
computing a corresponding component vector for each of one or more components that were affected by the historical incidents, using a third natural language understanding algorithm;
computing a knowledge graph using a graph neural network by inputting the computed knowledge base article vectors, historical incident vectors, component vectors, user data indicating a plurality of users who were involved in solving the historical incidents, and swarm data indicating swarms of users that were involved in solving the historical incidents, into the graph neural network;
computing a new incident vector based on new incident data of a new incident for which a new ticket was created in the online system, the new incident data comprising a natural language description of the new incident, the new incident vector being computed using a fourth natural language understanding algorithm;
for each one of the plurality of users, computing a corresponding updated user vector using the knowledge graph; and
computing a ranked list of the plurality of users based on a comparison of the new incident vector with the corresponding updated user vector of each one of the plurality of users.
2 . The computer-implemented method of claim 1 , further comprising:
for each one of the swarms of users, computing a corresponding updated swarm vector using the knowledge graph, wherein the computing the ranked list of the plurality of users is further based on a comparison of the new incident vector with the corresponding updated swarm vector of each one of the swarms of users.
3 . The computer-implemented method of claim 1 , wherein the computing the ranked list of the plurality of users based on the comparison of the new incident vector with the corresponding user vector of each one of the plurality of users comprises:
for each one of the plurality of users, computing a corresponding difference between the new incident vector and the corresponding updated user vector using a triplet loss function; and
ranking the plurality of users based on the corresponding differences between the new incident vector and the corresponding updated user vectors for the plurality of users.
4 . The computer-implemented method of claim 1 , further comprising:
selecting a subset of the plurality of users based on the ranked list of the plurality of users; and
causing the selected subset of the plurality of users to be displayed on a computing device in association with the new incident.
5 . The computer-implemented method of claim 1 , wherein the historical incident data comprises corresponding communications between the users who were involved in solving the historical incidents.
6 . The computer-implemented method of claim 1 , wherein the knowledge base article data further comprises authors of the knowledge base articles used in solving the historical incidents.
7 . The computer-implemented method of claim 1 ,
wherein the fourth natural language understanding algorithm comprises a transformer-based language model that produces contextual embeddings of the natural language description.
8 . A system comprising:
at least one hardware processor; and
a non-transitory computer-readable medium storing executable instructions that, when executed, cause the system to perform computer operations comprising:
computing a corresponding knowledge base article vector for each of one or more knowledge base articles used in solving historical incidents for which corresponding tickets were created in an online system, using a first natural language understanding algorithm;
computing a corresponding historical incident vector for each of one or more historical incidents described in historical incident data, using a second natural language understanding algorithm; and
computing a corresponding component vector for each of one or more components that were affected by the historical incidents, using a third natural language understanding algorithm;
computing a knowledge graph using a graph neural network by inputting the computed knowledge base article vectors, historical incident vectors, component vectors, user data indicating a plurality of users who were involved in solving the historical incidents, and swarm data indicating swarms of users that were involved in solving the historical incidents, into the graph neural network;
computing a new incident vector based on new incident data of a new incident for which a new ticket was created in the online system, the new incident data comprising a natural language description of the new incident, the new incident vector being computed using a fourth natural language understanding algorithm;
for each one of the plurality of users, computing a corresponding updated user vector using the knowledge graph; and
computing a ranked list of the plurality of users based on a comparison of the new incident vector with the corresponding updated user vector of each one of the plurality of users.
9 . The system of claim 8 , wherein the computer operations further comprise:
for each one of the swarms of users, computing a corresponding updated swarm vector using the knowledge graph, wherein the computing the ranked list of the plurality of users is further based on a comparison of the new incident vector with the corresponding updated swarm vector of each one of the swarms of users.
10 . The system of claim 8 , wherein the computing the ranked list of the plurality of users based on the comparison of the new incident vector with the corresponding user vector of each one of the plurality of users comprises:
for each one of the plurality of users, computing a corresponding difference between the new incident vector and the corresponding updated user vector using a triplet loss function; and
ranking the plurality of users based on the corresponding differences between the new incident vector and the corresponding updated user vectors for the plurality of users.
11 . The system of claim 8 , wherein the computer operations further comprise:
selecting a subset of the plurality of users based on the ranked list of the plurality of users; and
causing the selected subset of the plurality of users to be displayed on a computing device in association with the new incident.
12 . The system of claim 8 , wherein the historical incident data comprises corresponding communications between the users who were involved in solving the historical incidents.
13 . The system of claim 8 , wherein the knowledge base article data further comprises authors of the knowledge base articles used in solving the historical incidents.
14 . The system of claim 8 ,
wherein the fourth natural language understanding algorithm comprises a transformer-based language model that produces contextual embeddings of the natural language description.
15 . A non-transitory machine-readable storage medium tangibly embodying a set of instructions that, when executed by at least one hardware processor, causes the at least one processor to perform computer operations comprising:
computing a corresponding knowledge base article vector for each of one or more knowledge base articles used in solving historical incidents for which corresponding tickets were created in an online system, using a first natural language understanding algorithm;
computing a corresponding historical incident vector for each of one or more historical incidents described in historical incident data, using a second natural language understanding algorithm; and
computing a corresponding component vector for each of one or more components that were affected by the historical incidents, using a third natural language understanding algorithm;
computing a knowledge graph using a graph neural network by inputting the computed knowledge base article vectors, historical incident vectors, component vectors, user data indicating a plurality of users who were involved in solving the historical incidents, and swarm data indicating swarms of users that were involved in solving the historical incidents, into the graph neural network;
computing a new incident vector based on new incident data of a new incident for which a new ticket was created in the online system, the new incident data comprising a natural language description of the new incident, the new incident vector being computed using a fourth natural language understanding algorithm;
for each one of the plurality of users, computing a corresponding updated user vector using the knowledge graph; and
computing a ranked list of the plurality of users based on a comparison of the new incident vector with the corresponding updated user vector of each one of the plurality of users.
16 . The non-transitory machine-readable storage medium of claim 15 , wherein the computer operations further comprise:
for each one of the swarms of users, computing a corresponding updated swarm vector using the knowledge graph, wherein the computing the ranked list of the plurality of users is further based on a comparison of the new incident vector with the corresponding updated swarm vector of each one of the swarms of users.
17 . The non-transitory machine-readable storage medium of claim 15 , wherein the computing the ranked list of the plurality of users based on the comparison of the new incident vector with the corresponding user vector of each one of the plurality of users comprises:
for each one of the plurality of users, computing a corresponding difference between the new incident vector and the corresponding updated user vector using a triplet loss function; and
ranking the plurality of users based on the corresponding differences between the new incident vector and the corresponding updated user vectors for the plurality of users.
18 . The non-transitory machine-readable storage medium of claim 15 , wherein the computer operations further comprise:
selecting a subset of the plurality of users based on the ranked list of the plurality of users; and
causing the selected subset of the plurality of users to be displayed on a computing device in association with the new incident.
19 . The non-transitory machine-readable storage medium of claim 15 , wherein the historical incident data comprises corresponding communications between the users who were involved in solving the historical incidents.
20 . The non-transitory machine-readable storage medium of claim 15 , wherein the knowledge base article data further comprises authors of the knowledge base articles used in solving the historical incidents.