UPDATING POPULATION LANGUAGE MODELS BASED ON CHANGES MADE BY USER CLUSTERS
First Claim
1. A method in a computing system of selectively updating population language models used by language recognition systems, the method comprising:
- receiving events for representing user changes to local language models, wherein the events are received from devices of multiple users;
receiving information characterizing the multiple users;
using a hardware processor, identifying a user cluster from the received information;
identifying a subset of the events associated with the user cluster;
filtering the events by excluding events associated with a blacklist of vocabulary not to be added or events associated with a whitelist of vocabulary not to be deleted;
identifying words associated with the subset of the events;
identifying other words that are connected to the associated words;
generating or updating a population language model for the user cluster based on aggregating the user changes, the other words and the associated words; and
providing the population language model or updates thereof to a computing device of one or more users in the user cluster for subsequently recognizing input information provided to the computing device by the one or more users in the user cluster.
2 Assignments
0 Petitions
Accused Products
Abstract
Technology for improving the predictive accuracy of input word recognition on a device by dynamically updating the lexicon of recognized words based on the word choices made by similar users. The technology collects users'"'"' vocabulary choices (e.g., words that each user uses, or adds to or removes from a word recognition dictionary), associates users who make similar choices, aggregates related vocabulary choices, filters the words, and sends words identified as likely choices for that user to the user'"'"'s device. Clusters may include, for example, users in a particular location (e.g., sets of people who use words such as “Puyallup,” “Gloucester,” or “Waiheke”), users with a particular professional or hobby vocabulary, or application-specific vocabulary (e.g., word choices in map searches or email messages).
-
Citations
21 Claims
-
1. A method in a computing system of selectively updating population language models used by language recognition systems, the method comprising:
-
receiving events for representing user changes to local language models, wherein the events are received from devices of multiple users; receiving information characterizing the multiple users; using a hardware processor, identifying a user cluster from the received information; identifying a subset of the events associated with the user cluster; filtering the events by excluding events associated with a blacklist of vocabulary not to be added or events associated with a whitelist of vocabulary not to be deleted;
identifying words associated with the subset of the events;identifying other words that are connected to the associated words; generating or updating a population language model for the user cluster based on aggregating the user changes, the other words and the associated words; and providing the population language model or updates thereof to a computing device of one or more users in the user cluster for subsequently recognizing input information provided to the computing device by the one or more users in the user cluster. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 20)
-
-
15. A non-transitory computer-readable memory containing instructions that, when executed by a computing system, implement a method of selectively updating local language models used to predictively complete user input, the method comprising:
-
receiving information about local language models including a first local language model and other local language models, wherein the information about local language models includes information about local language model events representing user changes to at least one of the local language models; receiving information characterizing users associated with the user changes; identifying a user cluster from the received characterization information; identifying a set of the local language models including the first local language model and one or more other local language models, based at least in part on the other local language models having local language model events similar to first local language model events; for each local language model in the set, identifying additional local language model events; identifying words associated with the additional local language model events; identifying other words that are connected to the associated words; generating modifications to the first local language model using the additional local language model event information of one or more of the identified other local language models in the set, and also using the user cluster, the associated words, and the other words; filtering the generated modifications by excluding events associated with a blacklist of vocabulary not to be added or events associated with a whitelist of vocabulary not to be deleted before updating the first local language model with the generated modifications; and updating the first local language model with the generated modifications based on providing the generated modifications to a computing device of one or more users in the user cluster. - View Dependent Claims (16, 17, 18, 19, 21)
-
Specification