[Paper Review] Anima: Adaptive Personalized Software Keyboard
Anima is an adaptive, personalized software keyboard for touchscreen devices that learns users' unique typing habits and vocabulary in real time without relying on a predefined dictionary. By using a weighted trie data structure with dynamic pruning and time-aware prediction, Anima achieves a 24.6% hit ratio in character prediction—outperforming systems with static dictionaries—while maintaining low memory usage through intelligent forgetting of unused words.
We present a Software Keyboard for smart touchscreen devices that learns its owner's unique dictionary in order to produce personalized typing predictions. The learning process is accelerated by analysing user's past typed communication. Moreover, personal temporal user behaviour is captured and exploited in the prediction engine. Computational and storage issues are addressed by dynamically forgetting words that the user no longer types. A prototype implementation is available at Google Play Store.
Motivation & Objective
- To address the limitations of generic software keyboards that fail to adapt to individual typing patterns, especially in non-standard or dialectal language use.
- To reduce reliance on static, preloaded dictionaries that are often inaccurate or incomplete for personal or regional language variations.
- To design a lightweight, efficient prediction engine that adapts in real time to user behavior while minimizing memory footprint.
- To improve typing speed and accuracy by incorporating temporal user behavior patterns into character prediction.
- To enable rapid personalization of the keyboard using past communication data, such as tweets, without requiring manual configuration.
Proposed method
- Anima uses a weighted trie (WT) data structure to track user-typed character sequences, where node weights represent frequency of traversal.
- The prediction engine computes conditional probabilities P(k|W) for each key k in the keyboard, based on node weights at the current cursor position, to generate top-n character predictions.
- A dynamic upper bound nt on prediction set size is adjusted in real time based on user feedback: decreased after conf consecutive correct predictions, increased after diff consecutive incorrect ones.
- The system employs a 'pruning' mechanism that automatically forgets words no longer typed, reducing memory usage and preventing outdated predictions.
- Time-aware prediction (TA) partitions user activity into time windows, allowing the model to adapt predictions to daily behavioral patterns such as time-of-day typing habits.
- An acceleration module uses past user communication (e.g., tweets) to bootstrap the learning process, significantly speeding up personalization.
Experimental results
Research questions
- RQ1Can a software keyboard achieve higher prediction accuracy than systems relying on static, generic dictionaries by learning from user-specific communication history?
- RQ2To what extent does incorporating temporal user behavior patterns improve the accuracy and relevance of character predictions?
- RQ3How effective is dynamic pruning of unused words in maintaining low memory usage without degrading prediction performance?
- RQ4Can user communication data (e.g., tweets) be leveraged to accelerate the initial learning phase of a personalized keyboard?
- RQ5How does the combination of time-aware prediction and adaptive confidence control affect the system’s responsiveness and user experience?
Key findings
- Anima achieved a mean prediction precision of 24.6% when using time-aware prediction and pruning, outperforming systems with static dictionaries even with small training sets.
- The version of Anima without an initial dictionary and with TA and pruning outperformed the version using Google’s UK English dictionary (160,722 words), achieving higher precision despite no preloaded vocabulary.
- As training data size increased from 0 to 1500 tweets, Anima continued learning new words, demonstrating ongoing adaptation beyond initial personalization.
- The precision of Anima with time-aware prediction increased steadily with more time partitions, reaching 24.65% at T=24, indicating that temporal modeling enhances prediction accuracy.
- The pruning mechanism significantly reduced memory footprint, and although disabling pruning slightly hurt performance, the gains from TA and confidence control more than compensated.
- The system demonstrated strong real-world viability, with over 9,000 installations and a 4/5 average rating on Google Play, validating its usability and performance.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.