'''Your interests/skills:''' Android programming, efficient algorithms, text processing The standard tools for spelling correction and autocompletion for mobile devices are limited in their functionality and accuracy. You will explore why this is the case, and intend to develop a better tool than the existing ones. '''Goal 1''' of the project is to develop a simple Android keyboard with spelling correction and autocompletion functionalities. The material from the Information Retrieval lecture about Fuzzy Search will be helpful, and you will need to build a (small) n-gram language model (no Machine Learning required, basic statistics is enough).<
> '''Goal 2''' is to understand the limitations of existing methods: which RAM and speed constraints follow from the mobile device setting?<
> '''Goal 3''' is to improve your method as much as you can, while satisfying the constraints. Extension to a '''thesis''' is possible: a proper evaluation and comparison to baselines and existing tools will be required, and you will work on further achievements: improve the accuracy and efficiency of your method, use more complex (possibly neural network) language models, make your tool adaptive to previous user input, deploy a usability study with real humans, and everything you find interesting and want to work on.