# US 11,308,945 B1 · Data-preserving text redaction for text utterance data

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

- Number: US 11,308,945 B1
- Document ID: US11308945B1
- Status: Granted
- Kind: B1
- Application number: 16/560,839
- Filed: 2019-09-04
- Granted: 2022-04-19
- Earliest claimed: 2019-09-04
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Thomas Drake; Oluwaseyi Feyisetan; Thomas Diethe
- Web page: https://patentgrep.com/patent/US11308945B1

## CPC

- G06F 40/30: Semantic analysis
- G10L 15/197: Probabilistic grammars, e.g. word n-grams
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06F 40/284: Lexical analysis, e.g. tokenisation or collocates
- G10L 15/22: Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L 15/30: Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
- G10L 15/1822: {Parsing for meaning understanding}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

A hypernym of a word in utterance data may be probabilistically determined. The utterance data may correspond to a spoken query or command. A redacted utterance may be derived by replacing the word with the hypernym. The hypernym may be determined by applying noise to a position in a hierarchical embedding that corresponds to the word. The word may be identified as being potentially sensitive. The hierarchical embedding may be a Hyperbolic embedding that may indicate hierarchical relationships between individual words of a corpus of words, such as “red” is a “color” or “Austin” is in “Texas.” Noise may be applied by obtaining a first value in Euclidean space based on a second value in Hyperbolic space, and obtaining a third value in Hyperbolic space based on the first value in Euclidean space. The second value in Hyperbolic space may correspond to the word.

## Claims

### Claim 1

A computer-implemented method, comprising:
obtaining a transcript derived from an audio signal encoding an utterance, the utterance corresponding to a query;
determining a first portion of the transcript and a second portion of the transcript, wherein the second portion has been classified as including potentially sensitive information;
determining, based at least in part on a second word in the second portion of the transcript, a first value in a Hyperbolic representation of a corpus of words, the first value corresponding to a first position in the Hyperbolic representation;
as a result of adding a noise value to the Hyperbolic representation at the first position, obtaining a second position in the Hyperbolic representation;
determining a first word corresponding to the second position in the Hyperbolic representation;
replacing the second portion with the first word to form a redacted transcript; and
providing the redacted transcript to cause the query to be executed.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein determining the first portion of the transcript is based at least in part on:
determining a candidate n-gram comprising a substring having a maximum length of one less than a length of the transcript;
determining that the candidate n-gram is associated with a longest prefix and a highest frequency count of the differentially private exploration tree; and
selecting the candidate n-gram as the first portion of the transcript.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the second portion includes a second word, and further comprising:
determining a word embedding of the Hyperbolic representation for the second word, wherein the noise value is added to the word embedding of the Hyperbolic representation to generate a perturbed word embedding; and
determining the first word from the perturbed embedding.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the Hyperbolic representation of the corpus of words indicates a plurality of hierarchical relationships between individual words in the corpus of words.

### Claim 5

A system, comprising:
one or more processors; and
memory that stores computer-executable instructions that are executable by the one or more processors to cause the system to:
determine a first portion of utterance data and a second portion of the utterance data, wherein the second portion is classified as including potentially sensitive information;
obtain a hierarchical representation of a corpus of words;
add noise to the hierarchical representation at a position corresponding to at least the second portion to obtain a different position of the hierarchical representation, the different position of the hierarchical representation corresponding to a word, wherein the noise is determined at least in part by simulating a plurality of random walks through a hyperbolic distribution of the hierarchical representation;
replace the second portion with the word to form redacted utterance data; and
provide the redacted utterance data to be processed.

### Claim 6 (depends on 5)

The system of claim 5, wherein the hierarchical representation includes a Hyperbolic embedding of the corpus of words and indicates a plurality of hierarchical relationships between individual words of the corpus of words.

### Claim 7 (depends on 6)

The system of claim 6, wherein the noise is determined at least in part by:
obtaining a first value corresponding to the position in the Hyperbolic embedding;
translating the first value to Euclidian space to obtain a second value; and
translating the second value in Euclidean space to a third value in Hyperbolic space.

### Claim 8 (depends on 7)

The system of claim 7, wherein the word is determined based at least in part on the third value in Hyperbolic space.

### Claim 9 (depends on 5)

The system of claim 5, wherein the added noise includes a Hyperbolic Laplace noise.

### Claim 10 (depends on 5)

The system of claim 5, wherein:
the first portion is based at least in part on a differentially private exploration tree.

### Claim 11 (depends on 5)

The system of claim 5, wherein the utterance data is at least one of a command or a search query.

### Claim 12

A non-transitory computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
determine a portion of stored utterance data;
probabilistically determine a first word that is a hypernym of a second word of the portion, wherein the first word is probabilistically determined as a result of applying a noise value to a Hyperbolic word embedding at a first value, the first value corresponding to the second word;
determine a redacted utterance at least in part by replacing the second word of the portion of the utterance data with the first word; and
store the redacted utterance.

### Claim 13 (depends on 12)

The non-transitory computer-readable storage medium of claim 12, wherein
the noise value that is added to the Hyperbolic word embedding is determined based at least on a Hyperbolic noise distribution and the first value.

### Claim 14 (depends on 13)

The non-transitory computer-readable storage medium of claim 13, wherein the noise value that is applied is determined based at least in part by sampling a probability distribution of the Hyperbolic word embedding that includes the first word and the second word.

### Claim 15 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein sampling the probability distribution includes at least simulating a plurality of random walks through the probability distribution.

### Claim 16 (depends on 14)

The non-transitory computer-readable storage medium of claim 14, wherein the Hyperbolic word embedding is a Poincaré model.

### Claim 17 (depends on 12)

The non-transitory computer-readable storage medium of claim 12, wherein: the first word is determined at least in part by:
determining a second value in a Euclidean word embedding that is based at least in part on the first value; and
determining a third value in Hyperbolic space based at least in part on the second value in the Euclidean word embedding.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the third value includes coordinates in a Poincaré model.

### Claim 19 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the second value is translated into a Lorentz model.
