# US 12,001,788 B2 · Systems and methods for diagnosing problems from error logs using natural language processing

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

- Number: US 12,001,788 B2
- Document ID: US12001788B2
- Status: Granted
- Kind: B2
- Application number: 18/145,325
- Filed: 2022-12-22
- Published: 2023-05-04
- Granted: 2024-06-04
- Earliest claimed: 2017-06-30
- Assignees: Open Text Corporation
- Applicants: Open Text Corporation
- Inventors: Ankur Sharma; Ravikanth Somayaji
- Web page: https://patentgrep.com/patent/US12001788B2

## CPC

- G06F 40/205: Parsing
- G06F 8/70: Software maintenance or management
- G06F 16/3329: Natural language query formulation
- G06F 40/30: Semantic analysis
- G06F 40/40: Processing or translation of natural language (natural language analysis G06F40/20; semantic analysis G06F40/30)
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Disclosed is a solution for diagnosing problems from logs used in an application development environment. A random sample of log statements is collected. The log statements can be completely unstructured and/or do not conform to any natural language. The log statements are tagged with predefined classifications. A natural language processing (NLP) classifier model is trained utilizing the log statements tagged with the predefined classification. New log statements can be classified into the plurality of predefined classifications utilizing the trained NLP classifier model. From the log statements thus classified, statements having a problem classification can be identified and presented through a dashboard running in a browser. Outputs from the trained NLP classifier model can be provided as input to another trained model for automatically and quickly identifying a type of problem associated with the statements, eliminating a need to manually sift through tens or hundreds of thousands of lines of logs.

## Claims

### Claim 1

A method for diagnosing problems from logs, the method comprising:
generating a corpus of training data based on accessing a repository storing previously collected known problems and log messages associated with respective ones of the known problems, collected from logs used in an application development, the logs containing statements from a plurality of sources in an enterprise computing environment, the statements including the log messages, the known failures and log messages previously collected in association with generation of a trained natural language processing (NLP) classifier model that is adapted to classify log statements into one or more of a plurality of predefined classifications based on an NLP feature associated with the log statements, the generating including associating each of the log messages with a specified type of problem indicated by the each log message;
training a secondary statistical model for advanced problem diagnostics using the generated corpus of training data, the secondary statistical model adapted to provide classifications of the log statements that are more specific to varying types of problems than the predefined classifications;
classifying new log statements into more specific classifications utilizing the trained secondary statistical model, the classifying performed by a problem diagnostic module;
identifying, from the classified new log statements, a statement having one of the more specific classifications, the identifying performed by the problem diagnostic module; and
presenting, by the problem diagnostic module, the statement having the one of the more specific classifications through a dashboard running in a browser.

### Claim 2 (depends on 1)

The method of claim 1, wherein classifying new log statements into more specific classifications includes tagging each of the classified new log statements.

### Claim 3 (depends on 2)

The method of claim 2, wherein the tagging includes prefixing each of the classified new log statements with a classifier tag.

### Claim 4 (depends on 1)

The method of claim 1, further comprising storing the secondary statistical model in a data store.

### Claim 5 (depends on 1)

The method of claim 1, wherein the plurality of predefined classifications is specific to the application development environment.

### Claim 6 (depends on 1)

The method of claim 1, wherein outputs from the trained NLP classifier model are provided as input to the secondary statistical model.

### Claim 7 (depends on 1)

The method of claim 1, wherein the NLP classifier model is generated using string hashes.

### Claim 8

A system, comprising:
a processor; and
a non-transitory computer-readable medium storing instructions that are executable by the processor for:
generating a corpus of training data based on accessing a repository storing previously collected known problems and log messages associated with respective ones of the known problems, collected from logs used in an application development, the logs containing statements from a plurality of sources in an enterprise computing environment, the statements including the log messages, the known failures and log messages previously collected in association with generation of a trained natural language processing (NLP) classifier model that is adapted to classify log statements into one or more of a plurality of predefined classifications based on an NLP feature associated with the log statements, the generating including associating each of the log messages with a specified type of problem indicated by the each log message;
training a secondary statistical model for advanced problem diagnostics using the generated corpus of training data, the secondary statistical model adapted to provide classifications of the log statements that are more specific to varying types of problems than the predefined classifications;
classifying new log statements into more specific classifications utilizing the trained secondary statistical model, the classifying performed by a problem diagnostic module;
identifying, from the classified new log statements, a statement having one of the more specific classifications, the identifying performed by the problem diagnostic module; and
presenting, by the problem diagnostic module, the statement having the one of the more specific classifications through a dashboard running in a browser.

### Claim 9 (depends on 8)

The system of claim 8, wherein classifying new log statements into more specific classifications includes tagging each of the classified new log statements.

### Claim 10 (depends on 9)

The system of claim 9, wherein the tagging includes prefixing each of the classified new log statements with a classifier tag.

### Claim 11 (depends on 8)

The system of claim 8, wherein the instructions are further for: storing the secondary statistical model in a data store.

### Claim 12 (depends on 8)

The system of claim 8, wherein the plurality of predefined classifications is specific to the application development environment.

### Claim 13 (depends on 8)

The system of claim 8, wherein outputs from the trained NLP classifier model are provided as input to the secondary statistical model.

### Claim 14 (depends on 8)

The system of claim 8, wherein the NLP classifier model is generated using string hashes.

### Claim 15

A non-transitory computer-readable medium storing instructions that are executable by a processor for:
generating a corpus of training data based on accessing a repository storing previously collected known problems and log messages associated with respective ones of the known problems, collected from logs used in an application development, the logs containing statements from a plurality of sources in an enterprise computing environment, the statements including the log messages, the known failures and log messages previously collected in association with generation of a trained natural language processing (NLP) classifier model that is adapted to classify log statements into one or more of a plurality of predefined classifications based on an NLP feature associated with the log statements, the generating including associating each of the log messages with a specified type of problem indicated by the each log message;
training a secondary statistical model for advanced problem diagnostics using the generated corpus of training data, the secondary statistical model adapted to provide classifications of the log statements that are more specific to varying types of problems than the predefined classifications;
classifying new log statements into more specific classifications utilizing the trained secondary statistical model, the classifying performed by a problem diagnostic module;
identifying, from the classified new log statements, a statement having one of the more specific classifications, the identifying performed by the problem diagnostic module; and
presenting, by the problem diagnostic module, the statement having the one of the more specific classifications through a dashboard running in a browser.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein classifying new log statements into more specific classifications includes tagging each of the classified new log statements.

### Claim 17 (depends on 16)

The non-transitory computer-readable medium of claim 16, wherein the tagging includes prefixing each of the classified new log statements with a classifier tag.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the instructions are further for: storing the secondary statistical model in a data store.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the plurality of predefined classifications is specific to the application development environment.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein outputs from the trained NLP classifier model are provided as input to the secondary statistical model.
