# US 12,182,706 B2 · Context and domain sensitive spelling correction in a database

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

- Number: US 12,182,706 B2
- Document ID: US12182706B2
- Status: Granted
- Kind: B2
- Application number: 18/184,268
- Filed: 2023-03-15
- Published: 2023-09-07
- Granted: 2024-12-31
- Earliest claimed: 2017-08-18
- Assignees: MyFitnessPal, Inc.
- Applicants: Myfitnesspal, Inc.
- Inventors: Wenzhe Xue; Hesamoddin Salehian; Patrick Howell
- Web page: https://patentgrep.com/patent/US12182706B2

## CPC

- G06N 3/08: Learning methods
- G16H 20/60: relating to nutrition control, e.g. diets
- G06F 16/35: Clustering; Classification
- G06F 16/353: into predefined classes
- G06F 16/355: Creation or modification of classes or clusters
- G06F 40/232: Orthographic correction, e.g. spell checking or vowelisation
- G06F 40/284: Lexical analysis, e.g. tokenisation or collocates
- G06F 40/35: Discourse or dialogue representation
- G06F 40/56: Natural language generation
- G06N 3/044: Recurrent networks, e.g. Hopfield networks
- 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/09: Supervised learning
- G06N 20/00: Machine learning
- G16H 20/30: relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising
- G16H 40/67: for remote operation
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A health tracking system and method of operation is disclosed herein. The method of operating the health tracking system comprises: receiving a first data record comprising at least a first descriptive string regarding a consumable item, the first descriptive string having at least one word thereof incorrectly spelled; generating a vector using the first descriptive string using a machine learning model; identifying a second descriptive string which corresponds to the consumable item and which has a correct spelling of the at least one incorrectly spelled word by applying the machine learning model to the generated vector; calculating a confidence factor regarding the identified second descriptive string using the machine learning model; and when it is determined that the confidence factor exceeds a predetermined threshold, (i) modifying the first data record by replacing the first descriptive string with the second descriptive string, and (ii) storing the modified first data record in the database.

## Claims

### Claim 1

A health tracking system comprising:
a database configured to store a plurality of data records, each of the plurality of data records comprising at least a descriptive string and nutritional data regarding a respective consumable item; and
a data processor in communication with the database, the data processor being configured to:
filter the plurality of data records to identify a subset thereof, the subset comprising those records in which the respective descriptive strings have a first type of spelling of every word contained therein;
generate, for each data record in the identified subset of the plurality of data records, a plurality of companion descriptive strings, each of the companion descriptive strings comprising one of a second type of spelling of at least one word contained therein;
train a machine learning model using pairs of descriptive strings, each pair of descriptive strings including (i) the descriptive string of a respective data record in the identified subset of the plurality of data records, and (ii) a corresponding one of the companion descriptive strings having at least one word thereof with the second type of spelling;
receive a descriptive string for a first data record having at least one word thereof with the second type of spelling and a second character sequence, the first data record comprising nutritional data regarding a consumable item;
use the trained machine learning model to identify a substitute descriptive string to replace the received descriptive string for the first data record, the substitute descriptive string having the first type of spelling and a first character sequence of the at least one word instead of the second type of spelling and the second character sequence;
calculate a confidence factor regarding the substitute descriptive string using the machine learning model; and
when it is determined that the calculated confidence factor exceeds a predetermined threshold:
modify the first data record by replacing the descriptive string with the substitute descriptive string; and
store the modified first data record in a database.

### Claim 2 (depends on 1)

The health tracking system according to claim 1, wherein the data processor is further configured to:
generate a vector with the received descriptive string of the first data record using the machine learning model; and
identify the substitute descriptive string by applying the machine learning model to the generated vector.

### Claim 3 (depends on 1)

The health tracking system according to claim 1, wherein the data processor is further configured to:
filter the plurality of data records to identify the subset of the plurality of data records based on a frequency with which each data record in the plurality of data records has been selected by a plurality of users to be logged in a food diary.

### Claim 4 (depends on 1)

The health tracking system according to claim 1, wherein the data processor is further configured to:
filter the plurality of data records to identify the subset of the plurality of data records based on language settings for users who initially generated each data record in the plurality of data records.

### Claim 5 (depends on 1)

The health tracking system according to claim 1, wherein the data processor is further configured to:
generate the plurality of companion descriptive strings having at least one word thereof with the second type of spelling by introducing one or more spelling errors into the descriptive strings of the identified subset of the plurality of data records.

### Claim 6 (depends on 1)

The health tracking system according to claim 1, wherein the machine learning model includes an encoder having at least one long short term memory layer and a decoder having at least one long short term memory layer.

### Claim 7

A method of operating a health tracking system, the method comprising:
accessing a database configured to store a plurality of data records, each of the plurality of data records comprising at least a descriptive string and nutritional data regarding a respective consumable item;
filtering the plurality of data records to identify a subset thereof, the subset comprising those records in which the respective descriptive strings have a first type of spelling of every word contained therein;
generating, for each data record in the identified subset of the plurality of data records, a plurality of companion descriptive strings, each of the companion descriptive strings comprising one of a second type of spelling of at least one word contained therein;
training a machine learning model using pairs of descriptive strings, each pair of descriptive strings including (i) the descriptive string of a respective data record in the identified subset of the plurality of data records, and (ii) a corresponding one of the companion descriptive strings having at least one word thereof with the second type of spelling;
receiving a descriptive string for a first data record having at least one word thereof with the second type of spelling and a second character sequence, the first data record comprising nutritional data regarding a consumable item;
using the trained machine learning model to identify a substitute descriptive string to replace the received descriptive string for the first data record, the substitute descriptive string having the first type of spelling and a first character sequence of the at least one word instead of the second type of spelling and the second character sequence;
calculating a confidence factor regarding the substitute descriptive string using the machine learning model; and
when it is determined that the calculated confidence factor exceeds a predetermined threshold:
modifying the first data record by replacing the first descriptive string with the substitute descriptive string; and
storing the modified first data record in a database.

### Claim 8 (depends on 7)

The method of operating a health tracking system according to claim 7, the method further comprising:
generating a vector with the received descriptive string of the first data record using the machine learning model; and
identifying the substitute descriptive string by applying the machine learning model to the generated vector.

### Claim 9 (depends on 7)

The method of operating a health tracking system according to claim 7, the method further comprising:
filtering the plurality of data records to identify the subset of the plurality of data records based on a frequency with which each data record in the plurality of data records has been selected by a plurality of users to be logged in a food diary.

### Claim 10 (depends on 7)

The method of operating a health tracking system according to claim 7, the method further comprising:
filtering the plurality of data records to identify the subset of the plurality of data records based on language settings for users who initially generated each data record in the plurality of data records.

### Claim 11 (depends on 7)

The method of operating a health tracking system according to claim 7, the method further comprising:
generating the plurality of companion descriptive strings having at least one word thereof with the second type of spelling by introducing one or more spelling errors into the descriptive strings of the identified subset of the plurality of data records.

### Claim 12 (depends on 7)

The method of operating a health tracking system according to claim 7, wherein the machine learning model includes an encoder having at least one long short term memory layer and a decoder having at least one long short term memory layer.

### Claim 13

A non-transitory computer-readable medium comprising instructions which, when executed on a processor, cause the processor to:
access a database configured to store a plurality of data records, each of the plurality of data records comprising at least a descriptive string and nutritional data regarding a respective consumable item;
filter the plurality of data records to identify a subset thereof, the subset comprising those records in which the respective descriptive strings have a first type of spelling of every word contained therein;
generate, for each data record in the identified subset of the plurality of data records, a plurality of companion descriptive strings, each of the companion descriptive strings comprising one of a second type of spelling of at least one word contained therein;
access a trained machine learning model trained using pairs of descriptive strings, each pair of descriptive strings including (i) the descriptive string of a respective data record in the identified subset of the plurality of data records, and (ii) a corresponding one of the companion descriptive strings having at least one word thereof with the second type of spelling;
receive a descriptive string for a first data record having at least one word thereof with the second type of spelling and a second character sequence, the first data record comprising nutritional data regarding a consumable item;
use the trained machine learning model to identify a substitute descriptive string to replace the received descriptive string for the first data record, the substitute descriptive string having the first type of spelling and a first character sequence of the at least one word instead of the second type of spelling and the second character sequence;
calculate a confidence factor regarding the substitute descriptive string using the machine learning model; and
when it is determined that the calculated confidence factor exceeds a predetermined threshold:
modify the first data record by replacing the descriptive string with the substitute descriptive string; and
store the modified first data record in a database.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13 further comprising instructions which, when executed on the processor, cause the processor to:
generate a vector with the received descriptive string of the first data record using the machine learning model; and
identify the substitute descriptive string by applying the machine learning model to the generated vector.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13 further comprising instructions which, when executed on the processor, cause the processor to:
filter the plurality of data records to identify the subset of the plurality of data records based on a frequency with which each data record in the plurality of data records has been selected by a plurality of users to be logged in a food diary.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium of claim 13 further comprising instructions which, when executed on the processor, cause the processor to:
filter the plurality of data records to identify the subset of the plurality of data records based on language settings for users who initially generated each data record in the plurality of data records.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium of claim 13 further comprising instructions which, when executed on the processor, cause the processor to:
generate the plurality of companion descriptive strings having at least one word thereof with the second type of spelling by introducing one or more spelling errors into the descriptive strings of the identified subset of the plurality of data records.

### Claim 18 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the machine learning model includes an encoder having at least one long short term memory layer and a decoder having at least one long short term memory layer.
