1. A non-transitory computer readable storage medium storing instructions that, in response to being executed by a computing device, cause the computing device to perform operations for building a user language model that indicates one or more natural languages for a user associated with a user identifier, the operations comprising: operations for receiving an indication of a set of one or more characteristics associated with the user identifier, wherein at least some of the received characteristics correspond to a specified likelihood that the user is facile with a particular language; operations for combining the specified likelihoods to generate a baseline language prediction; operations for receiving indications of one or more user actions, wherein each user action corresponds to a specified expectation that the user is facile with a particular language; and operations for updating the baseline language prediction to form a current language prediction indicating one or more languages the user is facile with, the updating based on a modification of the baseline language prediction using the specified expectations; wherein, for a selected language of the one or more of the languages which the current language prediction indicates the user is facile with, the language model includes at least a first identifier indicating whether the user can read in the selected language and at least a second identifier, different from the first identifier, indicating whether the user can write in the selected language; and wherein the operations for updating of the baseline language prediction comprise operations for associating one or more user actions with a weight value based on an observed intensity or frequency of the user action.