# US 12,223,272 B2 · System for natural language processing of safety incident data

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

- Number: US 12,223,272 B2
- Document ID: US12223272B2
- Status: Granted
- Kind: B2
- Application number: 17/942,853
- Filed: 2022-09-12
- Published: 2023-03-16
- Granted: 2025-02-11
- Earliest claimed: 2021-09-12
- Assignees: Benchmark Digital Partners LLC
- Applicants: Benchmark Digital Partners LLC
- Inventors: R Mukund; Matthew Bayuk; Natasha Porter; Vijay Alluru; Charles Malone
- Web page: https://patentgrep.com/patent/US12223272B2

## CPC

- G06F 40/284: Lexical analysis, e.g. tokenisation or collocates
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 3/04895: Guidance during keyboard input operation, e.g. prompting
- G06F 40/166: Editing, e.g. inserting or deleting
- G06F 40/242: Dictionaries
- G06F 40/253: Grammatical analysis; Style critique
- G06F 40/263: Language identification
- G06F 40/279: Recognition of textual entities
- G06F 40/58: Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
- G06Q 10/0635: Risk analysis of enterprise or organisation activities
- G06Q 10/10: Office automation; Time management
- G06Q 40/08: Insurance
- G08B 21/02: Alarms for ensuring the safety of persons
- G16H 50/30: for calculating health indices; for individual health risk assessment
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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
- G08B: SIGNALLING SYSTEMS, e.g. PERSONAL CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA

## Abstract

An incident report management system is configured to receive and analyze incident reports relating to workplace accidents and injuries. A natural language processing function utilizes word dictionaries of varying type and scope to reduce an incident description to a set of core components that are far smaller than the input text while also preserving important aspects of the input text. The reduced core component set may be analyzed for meaning, compared to large volumes of historic incident reports, and otherwise processed more quickly and more efficiently whether by an expert function or AI function. In this manner, the system is able to provide real-time feedback during submission of incidents to improve quality and completeness, and after submission of incidents to notify users of serious incidents, provide dashboard analytics, and identify underlying and undiscovered risks in the workplace.

## Claims

### Claim 1

A system comprising:
(a) an incident server comprising one or more processors;
(b) a set of dictionaries, wherein each dictionary of the set of dictionaries defines a plurality of words and is associated with a dictionary type and a dictionary scope; and
(c) a set of prior incident data, wherein the set of prior incident data comprises a plurality of
prior incident datasets that each describe a past incident;
wherein the one or more processors are configured to:
(i) cause an incident submission interface to display on a display of a user device, and receive a set of partial inputs via the incident submission interface, wherein the set of partial inputs comprises a provisional incident description that is received as unstructured data;
(ii) analyze the provisional incident description to determine a quality score that indicates a level of descriptiveness and, in response to determining that the quality score is less than a maximal quality score, display one or more suggested changes via the incident submission interface, wherein the incident submission interface displays one or more user input controls to be selected by a user in response to the one or more suggested changes;
(iii) in response to determining that the one or more suggested changes are displayed, receiving a user selection, via the one or more user controls, to cause the incident submission interface to revise the provisional incident description and receive an incident dataset that includes an incident description as unstructured data via the incident submission interface, and pre-process the incident description using a preprocessing function and based on the set of dictionaries;
(iv) using a core component function and based on the set of dictionaries, identify a plurality of risk words in the incident description and map each of the plurality of risk words to one of a plurality of categorical risks to produce a set of core components;
(v) using a natural language processing (“NLP”) function, compare the set of core components to the set of prior incident data to identify one or more prior incident datasets that are similar to the incident dataset; and
(vi) provide an incident alert to one or more user devices based on the one or more identified prior incident datasets.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to:
(i) identify an incomplete incident component in the provisional incident description;
(ii) determine whether a component descriptor that corresponds to the incomplete incident component is contained in the provisional incident description; and
(iii) where the component descriptor is not contained in the provisional incident description, display a suggested changes via the incident submission interface that describes the incomplete incident component and an expected component descriptor.

### Claim 3 (depends on 2)

The system of claim 2, wherein the set of partial inputs includes at least one structured data input, and wherein the one or more processors are further configured to identify the incomplete incident component based on the at least one structured data input.

### Claim 4 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to, when using the pre-processing function to pre-process the incident description:
(i) identify a language of the incident description;
(ii) where the language is not a supported language, translate the incident description to the supported language; and
(iii) remove punctuation from the incident description.

### Claim 5 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to, when using the pre-processing function to pre-process the incident description:
(i) remove a set of stop words from the incident description based on one or more stop word dictionaries of the set of dictionaries; and
(ii) remove a set of imprecise words from the incident description based on one or more imprecise word dictionaries of the set of dictionaries.

### Claim 6 (depends on 5)

The system of claim 5, wherein the one or more stop word dictionaries comprise a global stop word dictionary and an industry specific stop word dictionary.

### Claim 7 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to, when using the pre-processing function to pre-process the incident description:
(i) create a lowercase conversion description based on the incident description; and
(ii) create a tokenized description based on the incident description.

### Claim 8 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to, when using the core component function:
(i) identify the plurality of risk words in the incident description based on one or more risk word dictionaries of the set of dictionaries;
(ii) for each risk word of the plurality of risk words, identify a corresponding categorical risk of the plurality of categorical risks; and
(iii) replace each risk word in the incident description with the corresponding categorical risk for that risk word to produce the set of core components.

### Claim 9 (depends on 8)

The system of claim 8, wherein a total number of risk words defined in the one or more risk word dictionaries is greater than a total number of the plurality of categorical risks.

### Claim 10 (depends on 8)

The system of claim 8, wherein the one or more risk word dictionaries comprises a global risk word dictionary and an industry specific risk word dictionary.

### Claim 11 (depends on 8)

The system of claim 8, wherein the one or more risk word dictionaries define at least one risk word based upon the presence of a first discrete word in a text and the first discrete word's sequence relative to a second discrete word in the text.

### Claim 12 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to, when using the NLP function:
(i) perform a classification test by comparing the set of core components to the set of prior incident data to identify at least one prior incident dataset having core components that match at least some of the set of core components of the incident dataset;
(ii) perform a similar matching test by comparing the set of core components to the set of prior incident data to identify one or more prior incident datasets that are similar to the incident dataset; and
(iii) determine a probability that a similar prior incident dataset is contained in the prior incident dataset.

### Claim 13 (depends on 12)

The system of claim 12, wherein the one or more processors are further configured to:
(i) when performing the similar matching test, compare the set of core components to the set of prior incident data using a fuzzy logic framework; and
(iii) determine the probability that a similar prior incident dataset is contained in the prior incident dataset using a probability density function for a normal distribution.

### Claim 14 (depends on 1)

The system of claim 1, wherein the one or more processors includes at least one central processing unit (“CPU”), and does not include any graphical processing unit (“GPU”).

### Claim 15 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to:
(i) receive a first result set from a severe injury incident data source, wherein the first result set comprises a first set of incident datasets associated with severe injuries;
(ii) receive a second result set from a fatal incident data source, wherein the second result set comprises a second set of incident datasets associated with fatal incidents; and
(iii) add the first result set and the second result set to the set of prior incident data.

### Claim 16 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to, when displaying the one or more suggested changes via the incident submission interface, display the one or more user input controls that are configured to revise the provisional incident description based upon a corresponding suggested change when selected by the user.

### Claim 17

A method comprising, by one or more processors of an incident server:
(a) causing an incident submission interface to display on a display of a user device, and receiving a set of partial inputs via the incident submission interface, wherein the set of partial inputs comprises a provisional incident description that is received as unstructured data;
(b) analyzing the provisional incident description to determine a quality score that indicates a level of descriptiveness and, in response to determining that the quality score is less than a maximal quality score, displaying one or more suggested changes via the incident submission interface, wherein the incident submission interface displays one or more user input controls to be selected by a user in response to the one or more suggested changes;
(c) in response to determining that the one or more suggested changes are displayed, receiving a user selection, via the one or more user controls, to cause the incident submission interface to revise the provisional incident description and receiving an incident dataset that includes an incident description as unstructured data via the incident submission interface, and pre-processing the incident description using a pre-processing function and based on a set of dictionaries, wherein each dictionary of the set of dictionaries defines a plurality of words and is associated with a dictionary type and a dictionary scope;
(d) using a core component function and based on the set of dictionaries, identifying a plurality of risk words in the incident description and mapping each of the plurality of risk words to one of a plurality of categorical risks to produce a set of core components;
(e) using a natural language processing (“NLP”) function, comparing the set of core components to a set of prior incident data to identify one or more prior incident datasets that are similar to the incident dataset, wherein the set of prior incident data comprises a plurality of prior incident datasets that each describe a past incident; and
providing an incident alert to one or more user devices based on the one or more identified prior incident datasets.

### Claim 18 (depends on 17)

The method of claim 17, further comprising, when pre-processing the incident description using the pre-processing function:
(a) identifying a language of the incident description, and where the language is not a supported language, translating the incident description to the supported language;
(b) removing punctuation from the incident description;
(c) removing a set of stop words from the incident description based on one or more stop word dictionaries of the set of dictionaries;
(d) removing a set of imprecise words from the incident description based on one or more imprecise word dictionaries of the set of dictionaries;
(e) creating a lowercase conversion description based on the incident description; and creating a tokenized description based on the incident description.

### Claim 19 (depends on 17)

The method of claim 17, further comprising, when using the core component function:
(a) identifying the plurality of risk words in the incident description based on one or more risk word dictionaries of the set of dictionaries;
(b) for each risk word of the plurality of risk words, identifying a corresponding categorical risk of the plurality of categorical risks; and
(c) replacing each risk word in the incident description with the corresponding categorical risk for that risk word to produce the set of core components;
wherein a total number of risk words defined in the one or more risk word dictionaries is greater than a total number of the plurality of categorical risks.

### Claim 20

A system comprising:
(a) an incident server comprising one or more processors;
(b) a set of dictionaries, wherein each dictionary of the set of dictionaries defines a plurality of words and is associated with a dictionary type and a dictionary scope; and
(c) a set of prior incident data, wherein the set of prior incident data comprises a plurality of
prior incident datasets that each describe a past incident;
wherein the one or more processors are configured to:
(i) cause an incident submission interface to display on a display of a user device, and receive a set of partial inputs via the incident submission interface, wherein the set of partial inputs comprises a provisional incident description that is received as unstructured data;
(ii) analyze the provisional incident description to determine a quality score that indicates a level of descriptiveness and, in response to determining that the quality score is less than a maximal quality score, display one or more suggested changes via the incident submission interface, wherein the incident submission interface displays one or more user input controls to be selected by a user in response to the one or more suggested changes;
(iii) in response to determining that the one or more suggested changes are displayed, receiving a user selection, via the one or more user controls, to cause the incident submission interface to revise the provisional incident description and receive an incident dataset that includes an incident description as unstructured data via the incident submission interface, and pre-process the incident description using a preprocessing function and based on the set of dictionaries;
(iv) using a core component function and based on the set of dictionaries:
(A) identify a plurality of risk words in the incident description based on one or more risk word dictionaries of the set of dictionaries;
(B) for each risk word of the plurality of risk words, identify a corresponding categorical risk of the plurality of categorical risks; and
(C) replace each risk word in the incident description with the corresponding categorical risk for that risk word to produce a set of core components;
(v) using a natural language processing (“NLP”) function, compare the set of core components to the set of prior incident data to identify one or more prior incident datasets that are similar to the incident dataset; and
(vi) provide an incident alert to one or more user devices based on the one or more identified prior incident datasets;
wherein a total number of risk words defined in the one or more risk word dictionaries is greater than a total number of the plurality of categorical risks, and wherein the one or more processors includes at least one central processing unit (“CPU”), and does not include any graphical processing unit (“GPU”).
