US 12,008,002 B2
System and method for associating user-entered text to database entries
Patrick Howell, San Francisco, CA (US); Chul Lee, San Francisco, CA (US); and Hesamoddin Salehian, San Francisco, CA (US)
Assigned to MyFitnessPal, Inc., Austin, TX (US)
Filed by MYFITNESSPAL, INC., San Francisco, CA (US)
Filed on Apr. 4, 2022, as Appl. No. 17/712,902.
Application 17/712,902 is a continuation of application No. 15/832,111, filed on Dec. 5, 2017, granted, now 11,347,751.
Claims priority of provisional application 62/431,073, filed on Dec. 7, 2016.
Prior Publication US 2022/0229844 A1, Jul. 21, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/2457 (2019.01); G06F 40/20 (2020.01); G06N 3/045 (2023.01); G06N 3/08 (2023.01); G06N 7/01 (2023.01); G06N 20/10 (2019.01)
CPC G06F 16/24578 (2019.01) [G06F 40/20 (2020.01); G06N 3/045 (2023.01); G06N 3/08 (2013.01); G06N 7/01 (2023.01); G06N 20/10 (2019.01)] 17 Claims
OG exemplary drawing
 
1. A method for enabling efficient association of a consumable item to one of a plurality of consumable item records in a crowd-sourced database, said method comprising:
receiving at a server apparatus a text input from a user device, said text input provided as an initial search query comprising user-generated descriptive data regarding said consumable item;
using a first machine learning technique to derive one or more additional search queries based on said text input, wherein the first machine learning technique includes (i) deriving at least one hidden query based on the text input, (ii) assigning a weight to each term of the at least one hidden query and iteratively updating the weight assigned to each term, (iii) obtaining search results based on the at least one hidden query, and (iv) iteratively updating the weights based on the obtained search results, wherein iteratively updating the weights includes iteratively deriving a plurality of old and new weight vectors until a distance between the new and old weight vectors is less than a predetermined threshold amount;
querying said crowd-sourced database for a list of possible consumable item records which are determined to comprise descriptive data which matches to said text input using said one or more additional search queries;
receiving said list of possible consumable item records, said list of possible consumable item records having an initial ranking;
applying a second machine learning technique to re-rank said list of possible consumable item records to generate a re-ranked list, wherein said first machine learning technique and said second machine learning technique are characterized by different training sets and different heuristically chosen features; and
outputting a highest ranked one of said re-ranked list to said user device.