Input methods can be employed to convert phonetic strings (reading) into display characters for East Asian languages such as Chinese, Korean, and Japanese, for example, and also process strokes such as in the Traditional Chinese characters. Ambiguity exists in conversion due to homonyms and various possible word segmentations. An input method tries to solve the ambiguity based on a general (e.g., baseline, default) language model and user input history. Adaptation to the user input history can be performed in several ways, for example, short-term memory and long-term memory. Short-term memory corresponds to the quickness of adaptation, and long-term memory corresponds to the stability of the adaptation. Conversion results are determined by adding information from the short-term and long-term memory to the general language model.
Short-term memory can be implemented by boosting word scores or changing word rank based on a previous user choice of words (user input history). However, some words do not appear soon enough after being used and some words appear unexpectedly in unacceptable contexts after being used. Long-term memory can be implemented by accumulating user input history. However, some words still appear unexpectedly in unacceptable context in spite of the utilization of long-term memory.