# US 12,008,326 B2 · Computer implemented method for the automated analysis or use of data

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

- Number: US 12,008,326 B2
- Document ID: US12008326B2
- Status: Granted
- Kind: B2
- Application number: 18/088,577
- Filed: 2022-12-25
- Published: 2023-05-04
- Granted: 2024-06-11
- Earliest claimed: 2020-08-24
- Assignees: Unlikely Artificial Intelligence Limited
- Applicants: Unlikely Artificial Intelligence Limited
- Inventors: William Tunstall-Pedoe; Finlay Curran; Harry Roscoe; Robert Heywood
- Web page: https://patentgrep.com/patent/US12008326B2

## CPC

- G06F 40/35: Discourse or dialogue representation
- G06F 16/243: {Natural language query formulation}
- G06F 16/322: {Trees}
- G06F 16/3329: Natural language query formulation
- G06F 16/951: Indexing; Web crawling techniques
- G06F 40/123: Storage facilities
- G06F 40/126: Character encoding
- G06F 40/20: Natural language analysis (semantic analysis of natural language G06F40/30)
- G06F 40/205: Parsing
- G06F 40/211: Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
- G06F 40/226: Validation
- G06F 40/242: Dictionaries
- G06F 40/279: Recognition of textual entities
- G06F 40/30: Semantic analysis
- G06F 40/45: Example-based machine translation; Alignment
- G06F 40/47: Machine-assisted translation, e.g. using translation memory
- 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
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/0455: Auto-encoder networks; Encoder-decoder networks
- G06N 3/0499: Feedforward networks
- G06N 3/08: Learning methods
- G06N 5/02: Knowledge representation; Symbolic representation
- G06Q 10/1053: Employment or hiring
- G06Q 30/0255: {based on user history}
- G06Q 30/0257: {User requested}
- G06Q 30/0631: {Recommending goods or services}
- G10L 15/16: using artificial neural networks
- G10L 15/1815: {Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning}
- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L 15/26: Speech to text systems (G10L15/08 takes precedence)
- G10L 25/63: for estimating an emotional state
- G16H 10/60: for patient-specific data, e.g. for electronic patient records
- H04L 51/02: using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
- G06N 3/091: Active learning
- G10L 2015/088: {Word spotting}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- 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
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computer implemented method for the automated analysis or use of data is implemented by a voice assistant. The method comprises the steps of: (a) storing in a memory a structured, machine-readable representation of data that conforms to a machine-readable language (‘machine representation’); the machine representation including representations of user speech or text input to a human/machine interface; and (b) automatically processing the machine representations to analyse the user speech or text input.

## Claims

### Claim 1

A computer implemented method for the automated analysis or use of data, comprising the steps of:
(a) storing in a non-transitory computer-readable medium a structured, machine-readable representation of data that conforms to a machine-readable language, and in which a question is represented in the non-transitory computer-readable medium as a structured, machine-readable representation of data; and
(b) automatically generating a response to the question, using the following steps: (i) matching the question with structured, machine-readable representations of data previously stored in a memory store; (ii) fetching and executing one or more computation units, wherein each computation unit is a semantic node, where computation units represent computational capabilities relevant to answering the question; (iii) fetching and executing one or more reasoning passages, which are structured, machine-readable representations of data that represent semantics of applicable reasoning steps relevant to answering the question;
and in which the representation of the question, the structured, machine-readable representations of data previously stored in the memory store, the computation units and the reasoning passages are all represented in substantially the same machine-readable language;
in which the step of fetching and executing the one or more reasoning passages, which are one or more initial reasoning passages, returns other passages with unknowns that need to be processed, and results of that processing is a tree of connection that is used to give results for the one or more initial reasoning passages;
in which the tree of connection is stored and the processing of these other passages with unknowns happens in parallel, allowing data fetching and exploration of reasoning to be parallelized;
in which once all passages are processed up to a given maximum reasoning depth, a second non-parallelised step is used to walk through this tree of connection of processed passages and unknowns, including unknowns mappings, to find valid answers.

### Claim 2 (depends on 1)

The method of claim 1 in which the structured, machine-readable representation of data conforms to a machine-readable language that comprises semantic nodes and passages; and in which a semantic node represents an entity and is itself represented by an identifier; and a passage is either (i) a semantic node or (ii) a combination of semantic nodes; and where machine-readable meaning comes from the choice of semantic nodes and the way they are combined and ordered as passages.

### Claim 3 (depends on 1)

The method of claim 1 which includes a reasoning step, in which reasoning is done with a series of one or more queries being answered to see if the reasoning step is valid.

### Claim 4 (depends on 3)

The method of claim 3 in which reasoning is done with a series of one or more queries being answered to generate results needed for a result of the reasoning.

### Claim 5 (depends on 1)

The method of claim 1 in which passages represent details for the one or more computation units that are needed to select and run the one or more computation units, namely defining what the one or more computation units can do, how to run the one or more computation units and how to interpret results.

### Claim 6 (depends on 1)

The method of claim 1 in which each passage in a list of passages is processed to identify valid mappings from a passage memory store and the one or more computation units, where a valid mapping for that list of passages is one where all unknowns have a value and there are no contradicting mappings between passages in the list.

### Claim 7 (depends on 6)

The method of claim 6 in which the step of identifying valid mappings recursively looks through the data and finds all valid mappings for an initial question which can be returned as an answer.

### Claim 8 (depends on 6)

The method of claim 6 in which at least some passages that have been generated from reasoning or computation are stored in the passage memory store, making these available in the future for faster processing.

### Claim 9 (depends on 6)

The method of claim 6 in which, when a new passage is added to the passage memory store, the new passage is assigned a low initial trust value when added by a normal user and a higher starting value when added by a privileged user.

### Claim 10 (depends on 1)

The method of claim 1 in which a history of generated passages is also stored so that changes to a trust level in passages that were used to generate the generated passages can be extended to the trust given to these generated passages.

### Claim 11 (depends on 1)

The method of claim 1 in which a history of generated passages is also stored to enable removal of generated passages when a trusted status of one or more of passages used to generate the generated passages changes.

### Claim 12 (depends on 1)

The method of claim 1 in which questions are represented in the machine-readable language with a passage which comprises a node identifying the passage as a question, language representing zero or one or more unknown entities being requested within semantics of the question and language representing the semantics of the question and referencing the zero or one or more unknown entities.

### Claim 13 (depends on 1)

The method of claim 1 in which questions are represented in the machine-readable language with a passage of the form ((Question <unknowns>)(<passage>)) where Question is a semantic node and <unknowns> is a list of zero or one or more semantic nodes representing unknown values and where <passage> is where the unknowns are used to express what is being asked.

### Claim 14 (depends on 1)

The method of claim 1 in which a signal from an application of the method is stored in association with passages utilised by the application in order to keep track of the value of the passages.

### Claim 15 (depends on 1)

The method of claim 1 in which a respective passage of passages is assigned a vector of values where a number at each index represents a different quality of the respective passage of the passages.

### Claim 16 (depends on 15)

The method of claim 15 in which a plurality of different qualities include veracity, usefulness, and efficiency.

### Claim 17 (depends on 1)

The method of claim 1 in which a process that uses passages utilises a priorities vector with a respective number at each index that indicates how much the passages prioritise a respective quality of the passages.

### Claim 18 (depends on 17)

The method of claim 17 in which an overall value of a respective passage to that process that uses the passages can then be obtained from the dot product of the priorities vector with a vector of values where a number at each index represents a different quality of the respective passage.

### Claim 19 (depends on 1)

The method of claim 1 in which a reasoning engine experiments with high and lower value passages to answer the question and answers provided by the reasoning engine are then monitored for any signals that would indicate whether the lower value passages have a positive or negative effect on the answers and this information then feeds back into an auto-curation process which re-evaluates the value of the passage with the any signals.

### Claim 20 (depends on 1)

The method of claim 1 in which an auto-curation process automatically tests passages to determine if they should be used for question-answering.

### Claim 21 (depends on 1)

The method of claim 1 in which the structured, machine-readable representations of data previously stored in the memory store have been curated with an automatic method.

### Claim 22 (depends on 1)

The method of claim 1 in which the question is a result of translating natural language asked by a user into a substantially semantically-equivalent representation in the machine-readable language.

### Claim 23 (depends on 1)

The method of claim 1 in which the response to the question is subsequently translated into semantically equivalent natural language and presented to one or more users.

### Claim 24 (depends on 1)

The method of claim 1 in which the question is a result of translating a question spoken by a user in a natural language into a substantially semantically-equivalent representation in the machine-readable language and the user is subsequently played a spoken answer where the spoken answer is a result of translating the response to the question into the natural language.

### Claim 25

A computer-based system configured to analyse data, the system being configured to:
(a) store in a non-transitory computer-readable medium a structured, machine-readable representation of data that conforms to a machine-readable language, and in which a question is represented in the non-transitory computer-readable medium as a structured, machine-readable representation of data; and
(b) automatically generate a response to the question, using: (i) matching the question with structured, machine-readable representations of data previously stored in a memory store; (ii) fetching and executing one or more computation units, wherein each computation unit is a semantic node, where computation units represent computational capabilities relevant to answering the question; (iii) fetching and executing one or more reasoning passages, which are structured, machine-readable representations of data that represent semantics of applicable reasoning steps relevant to answering the question;
and in which the representation of the question, the structured, machine-readable representations of data previously stored in the memory store, the computation units and the reasoning passages are all represented in substantially the same machine-readable language;
in which the fetching and executing of the one or more reasoning passages, which are one or more initial reasoning passages, returns other passages with unknowns that need to be processed, and results of that processing is a tree of connection that is used to give results for the one or more initial reasoning passages;
in which the tree of connection is stored and the processing of these other passages with unknowns happens in parallel, allowing data fetching and exploration of reasoning to be parallelized;
in which once all passages are processed up to a given maximum reasoning depth, a second non-parallelised step is used to walk through this tree of connection of processed passages and unknowns, including unknowns mappings, to find valid answers.
