A Survey on Thai Input Methods on Smartphones <s> Character Candidate Generation Techniques <s> This paper introduces an approach for improving Thai text inputting via virtual keyboard on touch screen mobile phones. We propose a technique for character candidate selection to choose the most proper character sequence. The proposed approach consists of two main parts i.e. candidate character generation based on touch area, and trigram model for candidate selection. The candidate generation is used to acquire more than one character per one touch. We define the area nearby the touch point as a touch area. The area is defined based on the statistics collected from various users. The characters within the touch area are considered as a set of candidate characters. The candidates are weighted based on their distances from the touch point. Then, the character trigram model is applied to select the combination of characters with the highest probability suggested to user. In order to evaluate the performance of the proposed technique, we evaluate the word-level accuracy of the words generated by the proposed technique and the words generated by combining the characters with the shortest distances from the touch point. Our technique yields better performance. It produces the results with the accuracy of 93.29% in character level and 66.67% in word level, while the accuracy is 83.48% in character level and 48.33% in word level when the nearest characters are selected. <s> BIB001 </s> A Survey on Thai Input Methods on Smartphones <s> Character Candidate Generation Techniques <s> This paper presents an approach to improve the correctness for Thai text inputting via virtual keyboard on touch screen mobile phones. The proposed approach is to generate candidate character based on statistical model from bivariate analysis of pre-collected coordinate data and apply the character trigram model to each candidate character sequence. From user's touch positions, a set of candidate characters with high position-based probability is generated. Then, the character trigram model is applied to each generated candidate characters sequence. For each character sequence, a probability is computed from the weighted combination of position-based and character trigram models. In the end, the character sequence with the highest probability is selected to be the most appropriate sequence. Experiments were conducted to compare the typing accuracy between an ordinary Thai virtual keyboard and our proposed algorithm using the same Thai keyboard layout. Results demonstrate that the proposed algorithm provides the improvement in the text entry accuracy in both character levels and word levels. <s> BIB002
The character candidate generation is a process that transforms an (x, y) coordinate of the touch point on the keyboard layout to a character. It can be written in form of a function as: where P is a set of touch points, and C is a set of characters. However, the size of buttons typically prevents a user from effectively selecting the preferred character. It is comparatively small because of the screen size and the number of characters. To improve the performance, a number of techniques have been proposed to efficiently transform a given touch point into a character candidate. We will review them in this section. Button Size Adjustment is the technique proposed in Keyboard ManMan  . This technique adjusts the size of buttons based on the statistics related to the characters. The buttons with a high chance to be the next characters are adjusted to be larger than the other keys. This makes it easier for a user to select those characters. The size of the buttons can be adjusted based on a statistical language model, such as the character n-gram model. However, this technique may cause a negative effect when the user intends to type a character different from the language model, for example, inputting a proper noun. Distance-based Candidate Generation is the technique used in Janpinijrut et al. BIB001 . Instead of generating a character from a given touch point, this technique generates a set of character candidates for the given touch point. Thus, the above function for character candidate generation should be rewritten as: where C is a set of character candidates, and 2 C denotes the power set of C. A set of character candidates is based on the distance between the touch point and the buttons around the touch point. A button with the distance to the touch point less than a predefined radius is selected as a character candidate. Then, the generated set of character candidates can be used to construct a list of word candidates. A number of experiments were conducted to get an appropriate distance value as well as the center of each button. The results showed that users tended to touch lower from the center of the buttons so that they can see the button labels before touching. Nevertheless, the technique models that the touch points are distributed as a circle of the predefined radius around the center of the button. This may not match the actual behaviors of users. Bivariate Normal Distribution-based Candidate Generation is used in Phanchaipetch and Nattee BIB002 . The technique applies the bivariate normal distribution to model the (x, y) coordinates for each individual button. Thus, each button on the keyboard layout can be represented as five parameters of the bivariate distribution i.e. μ x , μ y , σ x , σ y , and σ xy . From a given touch coordinate, the probability that the coordinate belongs to a particular button can be calculated. A number of character candidates can, then, be generated by ranking the probability values: where c is a character candidate, T is a mean vector of the coordinates on x and y axes, and Σ is covariance matrix of the coordinates i.e.: Here, ρ represents a correlation between x and y. We also have σ x > 0 and σ y > 0. A number of experiments have been conducted based on the usage data collected from real-world users. The results showed that the candidate generation based on bivariate normal distribution performed more accurately than the technique based on distance. This is because the bivariate normal distribution is more flexible and capable of capturing the behaviors of the users. Candidate Generation using sliding input is a technique used in a number of Thai input methods including Swype  and TSwipe-Pro  . They allow a user to input Thai text by sliding a finger on the Ketmanee layout to form a word. Both methods are commercial and proprietary software. Thus, the techniques used by them are not disclosed. We can only observe their advantages and disadvantages by observing their functions and behaviors. From our observations, the sliding technique improves the text input speed since the user can move his/her finger through a sequence of intended characters. Then, a list of word candidates can be built from the sliding trail using the pre-collected word list.