IP Library Granted Patent US 10,559,223
Granted Patent B2
US 10,559,223 · App. 14/480,401 · Granted Feb 11, 2020

Food description processing methods and apparatuses

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,559,223
App. No.
14/480,401
Granted
Feb 11, 2020
Kind
B2
Abstract

Disclosed embodiments include apparatuses, methods and storage media associated with standardization or normalization of a food description. In embodiments, an apparatus may include one or more processors and a food data pre-processing engine. The food data processing engine may, when operated by the one or more processors, cause the apparatus to receive a description of a food item, process the description to generate a standardized or normalized description for the food item, and store the standardized or normalized description in a food record in a food data storage arrangement of a fitness management system. Other embodiments may be described and claimed.

Claims (77)

1. A system comprising:

a preexisting database of crowd-sourced food records, the crowd-sourced food records including descriptions of associated food items previously entered by a plurality of first users;

one or more processors; and

a food data pre-processing engine, which, when operated by the one or more processors, limits the number of crowd-sourced food records in the database by causing the system to:

receive a description of a food item entered by a second user;

compare the user entered description to the preexisting database, the comparison comprising:

division of the user entered description into a plurality of component words;

elimination of unnecessary ones of the plurality of component words;

standardization of remaining ones of the plurality of component words of the user entered description via removal of special characters or features therefrom; and

determination of a single distance between the standardized remaining ones of the plurality of component words and respective component words of a description field for each of the food items associated with the food records in the preexisting database;

when the distance indicates that the user entered description comprises a distinct food item having a description that is outside a threshold of similarity to an existing food record, store the standardized description of the food item in the preexisting database, wherein storage of the standardized description includes addition of the standardized description as a new food record to a cluster associated with the existing food record, and wherein the addition of the standardized description as a new food record to the cluster comprises (i) determination of a score associated with the standardized description, wherein the score is calculated based at least in part on a number of times the food record has been logged or a number of times the food record appeared in recent searches of the database, (ii) storage of the standardized description as a new food record of the cluster, and (iii) designation of the new food record as a new candidate record representative of the cluster based on a result of the determination of the score; and

when the distance indicates that the user entered description of the food item is within a threshold of similarity to an existing food record in the preexisting database, merge the standardized description with the existing food record.

2. The system of claim 1 , wherein the removal of special characters comprises at least one of:

removal of punctuation from the description;

removal of usernames from the description; and

removal of a country name from a food name contained within the description.

3. The system of claim 1 , wherein at least one of the component words comprises a brand name and the standardization comprises causing the user entered description to match a description provided by a brand owner.

4. The system of claim 3 , wherein when it is determined that the distance between the standardized remaining ones of the plurality of component words and the respective component words of one of the food items in the preexisting database is within a predefined threshold of similarity and is therefore identifying a same food item, the merge further comprising identification of the user entered description of the food item as a variant of the food item in the preexisting database.

5. The system of claim 1 , wherein the description includes nutritional information associated with the food item.

6. The system of claim 1 , wherein food includes beverage.

7. The system of claim 1 , wherein the preexisting database comprises a cloud data storage arrangement.

8. The system of claim 1 , wherein when the distance indicates that a duplicate food record exists in the preexisting database, omitting to store the standardized or normalized description.

9. The system of claim 1 , wherein the standardization further comprises uniformly applying or omitting to apply capitalization of the remaining ones of the plurality of component words.

10. A method of limiting a number of records in a preexisting database of crowd-sourced food records, the method comprising:

receiving, at a food data pre-processing engine of a fitness management system, a description of a food item entered by a user at a user device;

processing, by the food data pre-processing engine, the description, wherein the processing includes comparing the user entered description to the preexisting database of crowd-sourced food records, the crowd-sourced food records including descriptions of food items previously entered by a plurality of first users, wherein the comparing includes:

dividing the user entered description into a plurality of component words,

eliminating unnecessary ones of the plurality of component words,

standardizing remaining ones of the plurality of component words of the user entered description via removal of special characters or features therefrom, and

determining a single distance between the standardized remaining ones of the plurality of component words of the user entered description and respective component words of food items in the database;

determining, at the food data pre-processing engine, whether a previous record for the food item entered by the user exists within a food data storage arrangement of the fitness management system based on the distance, wherein the determination of whether a previous record for the food item entered by the user exists comprises determining whether the description of the food item is above a threshold of similarity to an existing food record;

when it is determined that a previous record for the food item exists, using the description of the food item entered by the user to create a new record to be stored in a cluster of similar food records having descriptions for the same food item in the food data storage arrangement of the fitness management system, and storing the new record in the cluster of similar food records, wherein the act of storing comprises associating a score with the standardized description and subsequently designating the new record as a new candidate record of the cluster based on the score being the greatest score within the cluster, wherein the score is calculated based at least in part on a number of times the food record has been logged or a number of times the food record appeared in recent searches of the database; and

when it is determined that a previous record for the food item does not exist, using the description of the food item entered by the user to create a new food record in the food data storage arrangement of the fitness management system.

11. The method of claim 10 , wherein the act of processing comprises one or more of:

removing punctuation from the description; removing usernames from the description;

removing a country name from a food name contained within the description; and

standardizing capitalization of the description.

12. The method of claim 10 , wherein the act of processing further comprises:

extracting, by the pre-processing engine, a brand name from the description; standardizing the brand name; and

storing, by the preprocessing engine, the standardized brand name in a brand name field of a food record relating to the description.

13. The method of claim 12 , wherein the act of processing further comprises:

removing, by the pre-processing engine, special characters from the brand name to generate a standardized brand name; and

identifying, by the pre-processing engine, a normalized brand name, from a list of normalized brand names, that is above a predefined threshold level of similarity to the standardized brand name.

14. The method of claim 10 , wherein the description includes nutritional information associated with the food item.

15. The method of claim 10 , wherein food includes beverage.

16. The method of claim 10 , wherein the determination of whether a previous record for the food item entered by the user exists within a storage arrangement of the fitness management system further comprises: determining a distance between the standardized remaining ones of the plurality of component words and respective component words of the food items in the preexisting database; and comparing the distance to a threshold value.

17. A non-transitory computer-readable storage media having instructions embodied thereon for limiting a number of records in a preexisting database of crowd-sourced food records, which, when executed by a processor of a computing device, cause the computing device to:

receive a description of a food item entered by a user;

compare the description entered by the user to a database comprising a plurality of crowd-sourced food records, the crowd-sourced food records including descriptions of food items previously entered by a plurality of other users, the comparison comprising:

standardization of the description for the food item entered by the user; and

determination of a similarity between the standardized description and respective

ones of the descriptions for the food records in the database, wherein the similarity is based on a distance between the standardized description and text in a description field for the food record;

when the standardized description is not determined to be within a threshold level of similarity to at least one of the descriptions in the database, store the standardized description as a new record in the database; and

when the standardized description is determined to be within a threshold level of similarity to at least one of the descriptions in the database:

determine a score associated with the standardized description, wherein the score is calculated based at least in part on a number of times the food record has been logged or a number of times the food record appeared in recent searches of the database;

save the standardized description as a new food record of a cluster of records each associated with the at least one description in the database; and

when the score is above a given threshold, designate the new food record as one of a plurality of candidate records of the cluster, the candidate records comprising one or more records having descriptions to which the standardized description is compared.

18. The non-transitory computer-readable storage media of claim 17 , wherein the standardization further comprises at least one of removal of

punctuation from the description;

removal of usernames from the description;

removal of a country name from a food name contained within the description; and

uniform application of capitalization of the description.

19. The non-transitory computer-readable storage media of claim 17 , wherein the standardization further comprises at least one of:

extraction of a brand name from the description;

amendment of the brand name to generate a standardized and normalized brand name; and

storage of the standardized and normalized brand name in a brand name field of the food record.

20. The non-transitory computer-readable storage media of claim 19 , wherein the standardization further comprises at least one of:

removal of special characters from the brand name to generate a standardize brand name; and

identification of a normalized brand name, from a list of normalized brand names, that is above a predefined threshold of similarity to the standardized brand name as the standardized and normalized brand name.

21. The non-transitory computer-readable storage media of claim 17 , wherein the description includes nutritional information associated with the food item.

22. The non-transitory computer-readable storage media of claim 17 , wherein food includes beverage.

23. The non-transitory computer-readable storage media of claim 17 , wherein when the standardized description is determined to be within a threshold level of similarity to at least one of the descriptions in the database the instructions are further configured to when the score is below the given threshold, cause the computing device to merge the standardized description with an existing food record.

24. The non-transitory computer-readable storage media of claim 17 , wherein the standardization of the description for the food item entered by the user further comprises:

division of the user entered description into a plurality of component words;

elimination of unnecessary ones of the plurality of component words; and

standardization of remaining ones of the plurality of component words of the user entered description via removal of special characters or features therefrom.

25. The non-transitory computer-readable storage media of claim 24 , wherein the determination of the similarity between the standardized description and respective ones of the descriptions in the database further comprises a determination of a distance between the standardized remaining ones of the plurality of component words and respective component words of the food items in the preexisting database.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2024
From: MIDCAP FINANCIAL TRUST
To: MYFITNESSPAL, INC.
Reel/Frame 068174/0276 →
PATENT SECURITY AGREEMENT Recorded Jul 26, 2024
From: MYFITNESSPAL, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 068173/0300 →
CHANGE OF NAME Recorded Jan 20, 2021
From: UA CONNECTED FITNESS, INC.
To: MYFITNESSPAL, INC.
Reel/Frame 055043/0278 →
SECURITY INTEREST Recorded Dec 18, 2020
From: UA CONNECTED FITNESS, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 054804/0627 →
RELEASE OF SECURITY INTEREST Recorded Dec 18, 2020
From: JPMORGAN CHASE BANK, N.A.
To: UNDER ARMOUR, INC.
Reel/Frame 054806/0473 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2020
From: UNDER ARMOUR, INC.
To: UA CONNECTED FITNESS, INC.
Reel/Frame 054403/0426 →
SECURITY INTEREST Recorded May 13, 2020
From: UNDER ARMOUR, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052654/0756 →
MERGER Recorded Oct 27, 2016
From: MYFITNESSPAL, INC.
To: UNDER ARMOUR, INC.
Reel/Frame 040149/0370 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2014
From: JAIN, AADHAR; LEE, CHUL; LEVINE, BRYAN
To: MYFITNESSPAL, INC.
Reel/Frame 033693/0214 →