Methods and apparatuses for troubleshooting a computer system
A method and apparatus of troubleshooting a computer system are disclosed. The method comprises obtaining a list that comprises one or more events textually describing an activity of the computer system being tested; selecting a group of events in the list, wherein the group of events is indicative of a failed test of the computer system; extracting textual features from the selected group of events; generating a feature vector comprising the extracted textual features; mapping the feature vector to a plurality of predefined troubleshooting activities; selecting one or more of the plurality of predefined troubleshooting activities for execution in response to the mapping of the feature vector.
1 . A method of troubleshooting a computer system, the method comprising:
obtaining a list that comprises one or more events textually describing an activity of the computer system being tested;
selecting a group of events in the list, wherein the group of events is indicative of a failed test of the computer system;
extracting textual features from the selected group of events;
generating a feature vector comprising the extracted textual features, wherein generating the feature vector comprises generating word embeddings from the set of words using a masked language model or a neural network model, wherein the masked language model or the neural network model is trained on a plurality of events in the list textually describing the activity of the computer system being tested to capture contextual relationships between words in the textually described activity;
mapping the feature vector to a plurality of predefined troubleshooting activities;
automatically selecting one or more of the plurality of predefined troubleshooting activities for execution in response to the mapping of the feature vector; and
automatically initiating execution of the automatically selected one or more of the plurality of predefined troubleshooting activities, wherein the initiating execution comprises issuing one or more commands that modify a configuration or operational state of the computer system.
2 . The method of claim 1 , wherein the one or more textually described events are written in a natural language.
3 . The method of claim 1 , wherein the one or more of the plurality of troubleshooting activities comprises an instruction or a command directed at resolving a root cause of the failed test.
4 . The method of claim 1 , further comprising:
filtering the list by retaining information corresponding to one or more of: location, software version, event type, date, priority, function, event message, status, uniform resource locator, URL, wherein other information in the list is removed or replaced with one or more predefined tags.
5 . The method of claim 1 , wherein automatically selecting the group of events in the list comprises searching the list for a word descriptive of the failed test and selecting a failure event comprising said word.
6 . The method of claim 5 , wherein the events in the list are arranged in a chronological order and selecting the group of events in the list further comprises selecting a predefined number of events directly preceding the failure event.
7 . The method of claim 1 , wherein extracting the textual features comprises:
splitting the group of events into a set of words.
8 . The method of claim 7 , wherein mapping the feature vector to the plurality of predefined troubleshooting activities comprises:
calculating, using the masked language model, a respective probability value associated with one or more of the plurality of predefined troubleshooting activities based on the word embeddings, and wherein selecting the one or more of the plurality of predefined troubleshooting activities is based on the calculated probability value.
9 . The method of claim 8 , wherein the masked language model is a Distilled Bidirectional Encoder Representations from Transformers, DistilBERT-based machine learning function.
10 . The method of claim 1 , wherein extracting the textual features comprises:
splitting the group of events into a set of words; and
wherein the generating word embeddings from the set of words comprises generating morphology-based word embeddings based on the words in the set.
11 . The method of claim 10 , wherein generating the feature vector comprises:
weighting the morphology-based word embeddings with a respective term frequency metric calculated for the word represented by the respective morphology-based word-embedding;
calculating a mean value for word embeddings corresponding to a single event in the group of events;
selecting a position in the feature vector for the calculated mean value in accordance with a priority assigned to the event corresponding to the calculated mean value;
storing the calculated mean value in the selected position in the feature vector.
12 . The method of claim 10 , wherein splitting the group of events and generating the morphology-based word embeddings is performed using FastText Word2Vec-based neural network model.
13 . The method of claim 10 , wherein mapping of the feature vector to the plurality of predefined troubleshooting activities is performed using a decision tree-based ensemble machine learning function.
14 . The method of claim 13 , wherein the decision tree-based ensemble machine learning function comprises an Extreme Gradient Boosting, XGBoost-based machine learning function.
15 . The method of claim 10 , wherein generating the feature vector comprises concatenating the morphology-based word embeddings and wherein the method further comprises training a Long short-term memory, LSTM-based neural network classifier that is used to map the feature vector to the plurality of predefined troubleshooting activities.
16 . The method according to claim 1 , wherein the computer system comprises a network node in a communication network.
17 . A computer program product comprising a computer readable medium, the computer readable medium having computer readable code embodied therein, the computer readable code being configured such that, on execution by a suitable computer or processor, the computer or processor is caused to perform a method as claimed in claim 1 .
18 . An apparatus for troubleshooting a computer system, the apparatus comprising a processor circuit and a memory coupled to the processor circuit, wherein the memory comprises computer program instructions that, when executed by the processor circuit cause the apparatus to:
obtain a list that comprises one or more events textually describing an activity of the computer system being tested;
select a group of events in the list, wherein the group of events is indicative of a failed test of the computer system;
extract textual features from the selected group of events;
generate a feature vector comprising the extracted textual features, wherein generating the feature vector comprises generating word embeddings from the set of words using a masked language model or a neural network model, wherein the masked language model or the neural network model is trained on a plurality of events in the list textually describing the activity of the computer system being tested to capture contextual relationships between words in the textually described activity;
map the feature vector to a plurality of predefined troubleshooting activities;
automatically select one or more of the plurality of predefined troubleshooting activities for execution in response to the mapping of the feature vector; and
automatically initiate execution of the automatically selected one or more of the plurality of predefined troubleshooting activities, wherein the initiating execution comprises issuing one or more commands that modify a configuration or operational state of the computer system.
19 . The apparatus of claim 18 , wherein mapping the feature vector to the plurality of predefined troubleshooting activities comprises:
calculating, using the masked language model, a respective probability value associated with one or more of the plurality of predefined troubleshooting activities based on the word embeddings, and wherein selecting the one or more of the plurality of predefined troubleshooting activities is based on the calculated probability value,
wherein the masked language model is a Distilled Bidirectional Encoder Representations from Transformers, DistilBERT-based machine learning function.
20 . The apparatus of claim 18 , wherein extracting the textual features comprises:
splitting the group of events into a set of words; and
wherein the generating word embeddings from the set of words comprises generating morphology-based word embeddings based on the words in the set, wherein splitting the group of events and generating the morphology-based word embeddings is performed using FastText Word2Vec-based neural network model.