148
WORD PREDICTION SYSTEM WITH VIRTUAL KEYBOARD FOR TEXT ENTRY IN HINDI Manoj Kumar Sharma

WORD PREDICTION SYSTEM WITH VIRTUAL KEYBOARD FOR …cse.iitkgp.ac.in/~dsamanta/resources/thesis/Manoj-Kumar-Sharma-Thesis.pdfKeyboard for Text Entry in Hindi, submitted by Manoj Kumar

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • WORD PREDICTION SYSTEM WITH VIRTUALKEYBOARD FOR TEXT ENTRY IN HINDI

    Manoj Kumar Sharma

  • WORD PREDICTION SYSTEM WITH VIRTUALKEYBOARD FOR TEXT ENTRY IN HINDI

    Thesis submitted to theIndian Institute of Technology Kharagpur

    for award of the degree

    of

    Master of Science (by Research)

    by

    Manoj Kumar Sharma

    Under the guidance of

    Dr. Debasis Samanta

    School of Information TechnologyIndian Institute of Technology Kharagpur

    Kharagpur - 721 302, IndiaJune 2012

    c⃝2012 Manoj Kumar Sharma. All rights reserved.

  • CERTIFICATE OF APPROVAL

    19/06/2012

    Certified that the thesis entitled Word Prediction System with Virtual Keyboardfor Text Entry in Hindi submitted by Manoj Kumar Sharma to the Indian Insti-tute of Technology, Kharagpur, for the award of the degree Master of Science has beenaccepted by the external examiners and that the student has successfully defended thethesis in the viva-voce examination held today.

    (Member of DAC) (Member of DAC) (Member of DAC)

    (Member of DAC) (Member of DAC) (Member of DAC)

    (Supervisor)

    (Internal Examiner) (Chairman)

  • CERTIFICATE

    This is to certify that the thesis entitled Word Prediction System with VirtualKeyboard for Text Entry in Hindi, submitted by Manoj Kumar Sharma toIndian Institute of Technology Kharagpur, is a record of bona fide research work undermy supervision and I consider it worthy of consideration for the award of the degree ofMaster of Science (by Research) of the Institute.

    Date: 19/06/2012

    Dr. Debasis SamantaAssociate ProfessorSchool of Information TechnologyIndian Institute of Technology KharagpurKharagpur - 721 302, India

  • DECLARATION

    I certify that

    a. The work contained in the thesis is original and has been done by myself under thegeneral supervision of my supervisor.

    b. The work has not been submitted to any other Institute for any degree or diploma.

    c. I have followed the guidelines provided by the Institute in writing the thesis.

    d. I have conformed to the norms and guidelines given in the Ethical Code of Conductof the Institute.

    e. Whenever I have used materials (data, theoretical analysis, and text) from othersources, I have given due credit to them by citing them in the text of the thesisand giving their details in the references.

    f. Whenever I have quoted written materials from other sources, I have put themunder quotation marks and given due credit to the sources by citing them andgiving required details in the references.

    Manoj Kumar Sharma

  • Dedicated toMy parents and other family members

  • ACKNOWLEDGMENT

    First and foremost I wish to convey my deep sense of gratitude to my mentor Prof.Debasis Samanta. It has been my blessed opportunity to be his student. I appreciateall his contributions in the form of time, idea, and greater vision to make my researchexperience productive and cherish able. I basically learnt an approach of humanity,patience and hard working from him.

    I would like to thank Prof. Jayanta Mukhopadhyay, Head of SIT for extending meall the possible facilities to carry out the research work. I also wish to thank all of mydepartmental academic committee members Prof. A. Gupta, Prof. C. R. Mandal, Prof.S. Sural, Prof. S. K. Ghosh, Prof. K. S. Rao, Prof. S. Misra, Prof. R. R. Sahay fortheir valuable suggestions during my research. I sincerely remember the support of officestaffs Mithun Da, Soma Di, Malay Da, Vinod Da and others. I am also grateful to allmembers of School of Information Technology.

    I owe my deepest gratitude to Somnath Da, Barik Da, Ranjan Da for strengtheningmy research by constant moral support and providing necessary guidance when required.I really learnt a lot from them. I wish to convey my heartfelt thanks to Sayan Sar-car, Pradipta Kumar Saha, Soumalya Ghosh, Santa Maiti, Debasish Kundu, ArindamDasgupta, Jayeeta Mukherjee, Sankar Narayan Das, Indira Mukherjee, Soumyajit Dey,Chandan Karfa, Kanchan Manna, Sudhamay Maity, Shashidhar Koolagudi, Col. RanjitSingh, Puspak, Krishnendu, Soumya, Ankit, Anmol and many more.

    I am greatly indebted to many of my friends for their constant inspiration. I usedto receive frequent boosting calls from K. Satish, Dilip Kumar Singh, Chandra MohanPrasad, Jay Singh, Richard Xalxo, Kundan Shrivastava, Shakti Singh, Amit Sharma,Mithun Mittra, Vijay Verma, Chittapriya Mahato, Prosenjit Banerjee, Raj, Anil, Bipinand many more.

    Nothing would have been possible without the moral support of my parents, brothers,sisters and their families. I deeply indebted to them. Thanks to my wife Jyoti for beingwith me. I would like to thank Dr. N. C. Pal, Prof. S. Mitra, Prof. A. Chakrabortyand Partha Sarathi Santra for reducing my research burden by creating and maintainingcordial family relationship with us.

    Manoj Kumar Sharma

    ix

  • Abstract

    With the growth of Information and Communication Technology (ICT), text compo-sition in users’ languages has drawn attention of HCI researchers. The conventional textentry mechanism with QWERTY keyboard is not so efficient, in particular, in Indianlanguages. This work aims to develop an efficient text entry system in Hindi.

    To develop a text entry system, we address two main issues: designing text entryinterface and enhancement of text entry rate. Virtual keyboard has been advocated asa best alternative to the QWERTY hardware keyboard because of its user friendlinessand easy to customize. We develop a layout of a virtual keyboard for text compositionin Hindi. Our design considers Indian language related issues such as large set of char-acters, complex and diacritic characters etc. We also consider the size and placement ofprediction window in the layout to achieve better text entry rate.

    Next, we propose to augment the virtual keyboard with text entry rate enhancementstrategy namely word prediction. In the context of Hindi language, users commit manyerrors. Our approach is to predict the correct words even there are errors in the initialinput. We also consider another rate enhancement approach called visual clue whichreduces visual search time and hence improves the text entry rate significantly.

    The experiments with users and simulation reveal that text entry rate accordingto our developed system is 13.12 wpm compare to the text entry rates (approximately5.17 wpm) with existing state of the arts virtual keyboards in Hindi.

    Keywords: Human computer interaction, Text entry rate enhancement, Word predic-tion, Hindi text entry interface, Indian languages, Virtual keyboard, Visual clue.

    xi

  • Contents

    Approval i

    Certificate iii

    Declaration v

    Dedication vii

    Acknowledgment ix

    Abstract xi

    Contents xiii

    List of Figures xvii

    List of Tables xxi

    List of Symbols and Abbreviations xxiii

    1 Introduction 1

    1.1 Different modes of text composition . . . . . . . . . . . . . . . . . . . . . 21.2 Advantages and issues with virtual keyboard . . . . . . . . . . . . . . . . 41.3 Word prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.4 Issues in designing predictive virtual keyboard in Indian languages . . . . 61.5 Scope and objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.6 Thesis outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2 Related Work 11

    2.1 Text entry interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    xiii

  • Contents

    2.1.1 Virtual keyboard in English . . . . . . . . . . . . . . . . . . . . . . 122.1.2 Virtual keyboards in other non-Indian languages . . . . . . . . . . 142.1.3 Virtual keyboards in Indian languages . . . . . . . . . . . . . . . . 14

    2.2 Text entry rate enhancement strategies . . . . . . . . . . . . . . . . . . . . 182.2.1 Abbreviation expansion . . . . . . . . . . . . . . . . . . . . . . . . 182.2.2 Semantic coding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.3 Sentence compansion . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2.4 Text prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.3 Word prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3.1 Statistical prediction . . . . . . . . . . . . . . . . . . . . . . . . . 222.3.2 Syntactical prediction . . . . . . . . . . . . . . . . . . . . . . . . . 242.3.3 Semantical prediction . . . . . . . . . . . . . . . . . . . . . . . . . 262.3.4 Other prediction methods . . . . . . . . . . . . . . . . . . . . . . . 272.3.5 Practical outcomes of word prediction . . . . . . . . . . . . . . . . 272.3.6 Available commercial tools . . . . . . . . . . . . . . . . . . . . . . 282.3.7 Indian scenario of word prediction . . . . . . . . . . . . . . . . . . 28

    2.4 Prediction with virtual keyboard . . . . . . . . . . . . . . . . . . . . . . . 292.4.1 Position of prediction window . . . . . . . . . . . . . . . . . . . . 322.4.2 Size of prediction window . . . . . . . . . . . . . . . . . . . . . . . 322.4.3 Visual clue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    3 Text Composition Interface 37

    3.1 Designing a virtual keyboard for text composition in Hindi . . . . . . . . 383.2 Finding a place for positioning the prediction window . . . . . . . . . . . 403.3 Deciding the size of the prediction window . . . . . . . . . . . . . . . . . . 483.4 Experiments and experimental results . . . . . . . . . . . . . . . . . . . . 49

    3.4.1 Metrics for performance measure . . . . . . . . . . . . . . . . . . . 503.4.2 Experimental setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.4.3 Evaluation procedures . . . . . . . . . . . . . . . . . . . . . . . . . 513.4.4 Experimental results . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

    4 Word Prediction in Hindi 65

    4.1 Word-level prediction with error correction support . . . . . . . . . . . . . 664.1.1 Development of language model . . . . . . . . . . . . . . . . . . . . 664.1.2 Score metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    xiv

  • Contents

    4.1.3 Prediction methodology . . . . . . . . . . . . . . . . . . . . . . . . 704.2 Experimental results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.3 Comparison with some relevant word prediction systems . . . . . . . . . . 804.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    5 Predicting Next Character Highlighter 83

    5.1 Framework of the PNCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.2 Proposed methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    5.2.1 Identification of candidate characters . . . . . . . . . . . . . . . . . 855.2.2 Filteration of candidate characters . . . . . . . . . . . . . . . . . . 93

    5.3 Algorithm walkthrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955.4 Experimental results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

    5.4.1 Metrics for performance measure . . . . . . . . . . . . . . . . . . . 1005.4.2 PNCH performance measure . . . . . . . . . . . . . . . . . . . . . 100

    5.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    6 Summary and Conclusion 103

    6.1 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1036.2 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056.3 Future scope of work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

    References 107

    Publications 119

    xv

  • List of Figures

    1.1 Different modes of text composition . . . . . . . . . . . . . . . . . . . . . 3(a) Keyboard-based text composition [81] . . . . . . . . . . . . . . . . . 3(b) Gesture-based text composition [1] . . . . . . . . . . . . . . . . . . . 3(c) Icon-based text composition [6] . . . . . . . . . . . . . . . . . . . . 3(d) Speech-based text composition [112] . . . . . . . . . . . . . . . . . . 3(e) Eyegaze-based text composition [82] . . . . . . . . . . . . . . . . . . 3

    2.1 Popular virtual keyboard layouts in English . . . . . . . . . . . . . . . . . 13(a) QWERTY keyboard [97] . . . . . . . . . . . . . . . . . . . . . . . . 13(b) FITALY keyboard [33] . . . . . . . . . . . . . . . . . . . . . . . . . 13(c) Dvorak keyboard [28] . . . . . . . . . . . . . . . . . . . . . . . . . . 13(d) Lewis keyboard [66] . . . . . . . . . . . . . . . . . . . . . . . . . . . 13(e) OPTI keyboard [74] . . . . . . . . . . . . . . . . . . . . . . . . . . . 13(f) Cirrin keyboard [77] . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    2.2 Virtual keyboard layouts in non-Indian languages [117] . . . . . . . . . . . 15(a) Arabic keyboard layout . . . . . . . . . . . . . . . . . . . . . . . . . 15(b) Chinese keyboard layout . . . . . . . . . . . . . . . . . . . . . . . . . 15(c) Japanese keyboard layout . . . . . . . . . . . . . . . . . . . . . . . . 15(d) Russian keyboard layout . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.3 InScript keyboard layout [43] . . . . . . . . . . . . . . . . . . . . . . . . . 162.4 Microsoft keyboard layout [81] . . . . . . . . . . . . . . . . . . . . . . . . 17

    (a) Microsoft keyboard (without pressing Shift key) . . . . . . . . . . . 17(b) Microsoft keyboard (with Shift key pressed) . . . . . . . . . . . . . . 17

    2.5 Lipik keyboard layout [68] . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6 Google keyboard layout [44] . . . . . . . . . . . . . . . . . . . . . . . . . . 172.7 Alphabetical virtual keyboard layouts . . . . . . . . . . . . . . . . . . . . 18

    (a) Avro Bengali keyboard [89] . . . . . . . . . . . . . . . . . . . . . . . 18

    xvii

  • List of Figures

    (b) Guruji Hindi keyboard [46] . . . . . . . . . . . . . . . . . . . . . . . 182.8 SulekhA interface for Bengali text composition [84] . . . . . . . . . . . . . 192.9 Minspeak interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.10 An example of word prediction by WordQ [31] . . . . . . . . . . . . . . . 212.11 Google interface for Hindi text composition [44] . . . . . . . . . . . . . . . 292.12 Lipik interface for Hindi text composition [68] . . . . . . . . . . . . . . . . 302.13 SIBYLLE interface [114] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.14 PoBox interface [79] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    (a) PoBox - normal typing . . . . . . . . . . . . . . . . . . . . . . . . . . 31(b) PoBox - using string approximation . . . . . . . . . . . . . . . . . . 31

    2.15 WordTree interface [5] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    3.1 Our proposed virtual keyboard hIndiA for Hindi . . . . . . . . . . . . . . 383.2 Run time combination of consonant g [g@] with dependent vowel group . 393.3 Different zones in the interface for text entry in Hindi . . . . . . . . . . . 41

    (a) Layout of text entry system . . . . . . . . . . . . . . . . . . . . . . . 41(b) Bigram probability distribution of character based on zones . . . . . 41

    3.4 Possible positions of prediction window . . . . . . . . . . . . . . . . . . . 43(a) Case 1: Prediction window at top left . . . . . . . . . . . . . . . . . 43(b) Case 2: Prediction window at top right . . . . . . . . . . . . . . . . 43(c) Case 3: Prediction window at left of middle . . . . . . . . . . . . . . 43(d) Case 4: Prediction window at middle of middle . . . . . . . . . . . . 44(e) Case 5: Prediction window at right of middle . . . . . . . . . . . . . 44(f) Case 6: Prediction window at left of keyboard . . . . . . . . . . . . 44(g) Case 7: Prediction window at right of keyboard . . . . . . . . . . . . 45(h) Case 8: Prediction window toward frequently used area . . . . . . . 45(i) Case 9: Dynamic position . . . . . . . . . . . . . . . . . . . . . . . . 45

    3.5 Trade-off between keystroke savings and text entry rate . . . . . . . . . . 49(a) Potential keystroke savings vs. size of prediction window . . . . . . 49(b) Potential keystroke savings with step difference two . . . . . . . . . 49(c) Potential keystroke savings with step difference one . . . . . . . . . 49(d) Text entry rate vs. size of prediction window . . . . . . . . . . . . . 49

    3.6 Editing window for Read and Type . . . . . . . . . . . . . . . . . . . . . . 553.7 Performance of different keyboards . . . . . . . . . . . . . . . . . . . . . . 563.8 Performance of different positions of prediction window . . . . . . . . . . 573.9 Effect of different prediction window sizes on Hindi word prediction . . . . 60

    xviii

  • List of Figures

    (a) Keystroke savings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60(b) Keystroke until prediction . . . . . . . . . . . . . . . . . . . . . . . . 60(c) Hit rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60(d) Prediction utilization . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    3.10 Effect of window size on different modes of error . . . . . . . . . . . . . . 61(a) Potential keystroke savings . . . . . . . . . . . . . . . . . . . . . . . 61(b) Keystroke until prediction . . . . . . . . . . . . . . . . . . . . . . . . 61(c) Hit rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61(d) Percentage of error avoidance . . . . . . . . . . . . . . . . . . . . . . 61

    3.11 PKS on different positions of errors (with window size seven) . . . . . . . 63

    4.1 Texting and prediction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.2 Flowchart of the proposed word prediction system . . . . . . . . . . . . . 724.3 Text entry performance with empirical evaluation . . . . . . . . . . . . . . 78

    (a) Text entry rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78(b) Percentage of error on different corpus . . . . . . . . . . . . . . . . . 78

    4.4 Text entry performance with simulated evaluation . . . . . . . . . . . . . 79(a) PKS on different corpus and modes . . . . . . . . . . . . . . . . . . 79(b) PKS with and without error . . . . . . . . . . . . . . . . . . . . . . 79(c) KuP on different corpus and modes . . . . . . . . . . . . . . . . . . 79(d) KuP with and without error . . . . . . . . . . . . . . . . . . . . . . 79(e) Hit rate on different corpus and modes . . . . . . . . . . . . . . . . . 79(f) Hit rate with and without error . . . . . . . . . . . . . . . . . . . . . 79(g) Number of errors introduced and uncorrected . . . . . . . . . . . . . 79(h) Percentage of errors avoided and corrected . . . . . . . . . . . . . . 79

    5.1 Augmentation of PNCH with the proposed word prediction system . . . . 845.2 Next character identification . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    (a) Identification of next character . . . . . . . . . . . . . . . . . . . . . 86(b) Pointing to correct character . . . . . . . . . . . . . . . . . . . . . . 86

    5.3 Sliding Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865.4 Steps involved in the computation of candidate character . . . . . . . . . 875.5 Example for the computation of candidate character . . . . . . . . . . . . 885.6 Issue in the computation of Locationcounter . . . . . . . . . . . . . . . . . 905.7 Illustration of computing Locationcounter . . . . . . . . . . . . . . . . . . . 905.8 Issue in the computation of Halantcounter . . . . . . . . . . . . . . . . . . 915.9 Illustration of computing Halantcounter . . . . . . . . . . . . . . . . . . . 91

    xix

  • List of Figures

    5.10 Illustration of modified Locationcounter . . . . . . . . . . . . . . . . . . . . 925.11 Illustration of modified Halantcounter . . . . . . . . . . . . . . . . . . . . . 935.12 Illustration of working of Halantcounter . . . . . . . . . . . . . . . . . . . 94

    (a) Halantcounter: example 1 . . . . . . . . . . . . . . . . . . . . . . . . 94(b) Halantcounter: example 2 . . . . . . . . . . . . . . . . . . . . . . . . 94

    5.13 List of character to be highlighted . . . . . . . . . . . . . . . . . . . . . . 945.14 A snapshot of ∗hInidA augmented with PNCH . . . . . . . . . . . . . . . 995.15 Performance of the systems with and without PNCH . . . . . . . . . . . . 101

    (a) hIndiA with and without PNCH . . . . . . . . . . . . . . . . . . . . 101(b) ∗hIndiA with and without PNCH . . . . . . . . . . . . . . . . . . . 101

    5.16 Hit rate and keystroke savings when word prediction is used . . . . . . . . 101(a) Hit rate achieved between hIndiA and ∗hIndiA on different modes

    of simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101(b) Hit rate and PKS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    xx

  • List of Tables

    1.1 Character combination and normalization . . . . . . . . . . . . . . . . . . 8

    2.1 Different work on size and position of prediction window . . . . . . . . . . 33

    3.1 Analytical analysis on placing of prediction window . . . . . . . . . . . . . 473.2 Description of text composition method and benchmark texts . . . . . . . 523.3 User description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.4 Different modes of simulation . . . . . . . . . . . . . . . . . . . . . . . . . 543.5 Average text entry rates with different virtual keyboards . . . . . . . . . . 553.6 Post-hoc test for different virtual keyboards . . . . . . . . . . . . . . . . . 573.7 Post-hoc test for different virtual keyboards and benchmark texts . . . . . 583.8 Average text entry rate with different positions of prediction window . . . 583.9 Post-hoc test for different positions of prediction window and benchmark

    texts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593.10 Post-hoc analysis of PKS, KuP, HR and PEA for window size 1-20 . . . . 62

    4.1 Calculation matrix for EDEqual and Edit distance . . . . . . . . . . . . . 694.2 Graphical or phonetic similar sets of characters in Hindi . . . . . . . . . . 704.3 Calculation of different scores . . . . . . . . . . . . . . . . . . . . . . . . . 744.4 Ranking of words for β= bh� j [b@Hu:Í@] and wi=bh� jn [b@HuÍ@n@] . . . . 764.5 A summary of comparison with some existing text prediction systems . . 81

    5.1 Generating candidate character in various conditions in PNCH . . . . . . 995.2 PNCH on different conditions . . . . . . . . . . . . . . . . . . . . . . . . . 100

    xxi

  • List of Symbols and Abbreviations

    List of Symbols

    BScore Absolute value of logarithmic (base 10) value of a backoff prob-

    ability

    EDEqual The minimum number of edit operations needed to transform a

    typed word into a part of target word

    EScore Error within the typed word and desired word

    HR Hit Rate

    KS Percentage of Keystroke Savings

    KuP Keystrokes until Prediction

    PEA Percentage of error avoidance

    PKS Percentage of Potential Keystroke Savings

    Pnchhit The percentage of times the next character is correctly predicted

    PScore Graphical/phonetic character similarity between typed word and

    desired word

    PU Prediction Utilization

    List of Abbreviations

    AAC Augmentative and Alternative Communication

    ANN Artificial Neural Network

    ANOVA ANalysis Of VAriance

    xxiii

  • List of Symbols and Abbreviations

    C-DAC Center for Development of Advanced Computing

    CFG Context Free Grammar

    CMU-SLM Carnegie Mellon Statistical Language Modeling

    CSID Character Set ID

    HCI Human Computer Interaction

    ICT Information and Communication Technology

    InScript Indian Script

    LSA Latent Semantic Analysis

    LT Listen and Type

    NLP Natural Language Processing

    PAL Predictive Adaptive Lexicon

    PDA Personal Digital Assistant

    PNCH Predicting Next Character Highlighter

    POS Parts Of Speech

    RT Read and Type

    SPSS Statistical Package for the Social Sciences

    WoP Without Prediction

    WP With Prediction

    WPM Words Per Minute

    ZWJ Zero-Width Joiner

    ZWNJ Zero-Width Non Joiner

    xxiv

  • Chapter 1

    Introduction

    Words are symbols to represent an idea and writing them are the most flexible way tostore as a record for longer duration. With the advancement of digital devices, textbased communication has been increased rapidly. The composed documents are com-municated with the use of the Internet, mobile phones and office documents. Accordingto “Wikipedia stats"1, Wikipedia pages in Indian languages, written in unicode, contain475, 163 articles where 229, 516 edit-operations are done per month on these data. Inaddition to this, each day nearly 133 new articles are being added in these languages. Incontext of Hindi language, it contains about 92, 650 articles where 6, 168, 666 pages areviewed per month. Also, around 15 new articles are added per day and 78, 096 existingdata are edited per month for Hindi language2. The above-mentioned statistics revealthat text composition is becoming popular. In contrast, text composition rate is stilltoo low. For example, user performs on an average 20 − 25 words per minute (wpm)in Hindi document composition using hardware keyboard [55]. Typing a text quicklyand accurately in Hindi is not an easy task as significant training is required [55]. Thisdissertation investigates for the development of an efficient text entry system in Hindi.

    The rest of the chapter is organized as follows. In Section 1.1, we review the differentmodes of text composition. The advantages and issues with virtual keyboard is illustratedin Section 1.2. Section 1.3 describes word prediction methodology and its benefit. Theissues and challenges for Indian language prediction system are discussed in Section 1.4.Section 1.5 describe the scope and objectives of our work. Finally, the outline of thesisis presented in Section 1.6.

    1http://stats.wikimedia.org/EN_India/TablesCurrentStatusVerbose.htm2http://stats.wikimedia.org/EN_India/ReportCardIndia.htm

    1

    http://stats.wikimedia.org/EN_India/TablesCurrentStatusVerbose.htmhttp://stats.wikimedia.org/EN_India/ReportCardIndia.htm

  • 1. Introduction

    1.1 Different modes of text composition

    Now-a-days, people are using a variety of devices and methods to compose texts. In thisregard, keyboards, iconic interfaces, handwritten recognizers and speech-to-text systemsare gaining popularity. In other words, text can be composed with many modes askeyboard, gesture, icon, speech, gaze etc. The different modes of text compositions aredescribed below.

    • Keyboard-based text composition: This method is commonly used for enteringtext by means of keyboard (Fig. 1.1(a)). The performance of text composition isusually better than other methods with regard to cognitive load. Using keyboard,a user utilizes ten fingers for performing text composition task. Now-a-days, as sizeof digital devices are getting smaller, many other text-based methods have beenevolved.

    • Gesture-based text composition: It allows user to draw the shape of charactersby pen stroke or stylus tapping (Fig. 1.1(b)). In this method, users require tomemorize gesture for each alphabet which increases the cognitive load on them.

    • Icon-based text composition: This mode facilitates users to compose texts in theform of selecting icons (a small computer graphics bearing some meaning). Thesystem composed sentences often lack in completing sense which user needs toconvey (Fig. 1.1(c)).

    • Speech-based text composition: Users compose texts by the method of speech totext conversion (Fig. 1.1(d)). The conversion accuracy depends on subsequenttraining of users. In addition, it has been observed that the text composition rateis lower than the keyboard-based text entry.

    • Eyegaze-based text composition: By using a computer equipped with an eye-tracking device, people can produce text by using the focus of gaze as a meansof input (Fig. 1.1(e)).

    It may be noted that a particular mode of text composition facilitates a type of users.For example, speech and icon-based text entry methods are suitable for users who arelanguage illiterate, whereas text-based text entry is suitable for expert and intermediateusers. Further, a mode is suitable in a particular application context. For example, thegesture-based text entry method is very useful in small handheld devices where displayarea is the constraint.

    2

  • 1.1. Different modes of text composition

    (a) Keyboard-based text composition [81]

    (b) Gesture-based text composition [1] (c) Icon-based text composition [6]

    (d) Speech-based text composition [112] (e) Eyegaze-based text composi-tion [82]

    Figure 1.1: Different modes of text composition

    In the keyboard-based text composition, as QWERTY keyboard is not feasible inmany applications like hand-held mobile devices, PDA, iPod, Palmtops etc. due tosize and portability, designers advocate virtual keyboard (also called on-screen graphicskeyboard). Being a software component, a virtual keyboard can easily be enabled to

    3

  • 1. Introduction

    support text entry in different languages and can also easily be augmented with differenttext entry enhancement strategies like word prediction, adaptation, personalization etc.

    1.2 Advantages and issues with virtual keyboard

    Some of the advantages of virtual keyboard are given below followed by issues in contextof Indian languages.

    • Easy to personalization: The facilities provided in virtual keyboard interface caneasily be customized depending on the users’ need. For example, experienced userscan use optimized keyboard layout whereas novice users can switch to their conve-nient layout.

    • Different language supports: One of the benefits of virtual keyboard is languagesupport. The virtual keyboard can easily be developed to support different lan-guages depending upon users’ need.

    • Portability: The keyboard can easily be incorporated with small screen devices likemobile phone and other handheld devices. Virtual keyboard can be beneficial fordevices having very few keys (either ambiguous keypad or few command buttons)or no keys (touch-screen device).

    • Augmenting text entry rate enhancement strategy: Typically, virtual keyboardbased text entry systems yield less text entry rate than the hardware keyboard [109].The performance can be improved incorporating some text entry rate enhancementstrategies into virtual keyboard like word prediction, abbreviation expansion, adap-tation and personalization etc.

    • Reducing the risk of keystroke logging: Virtual keyboards are used to enter securedata into web document to reduce the risk of keystroke logging which is possiblein case of hardware keyboard.

    The use of virtual keyboard is not only limited to devices for able-bodied users,it is also found suitable for physically impaired users in the field of Augmentative andAlternative Communication (AAC). Scanning keyboard is one of such examples wherethe keys are spatially arranged in rows and columns in the interface [13]. Users selectthe keys from the interface using a scanning input method in order to compose text.However, text entry rate using scanning virtual keyboard is lower than conventionalhardware keyboard [109].

    4

  • 1.3. Word prediction

    A preliminary investigation has been made to analyze the performance of virtualkeyboards for composing texts in Indian languages. The major issues are:

    • Lower text entry rate: A lower text entry rates (3−6 words per minute (wpm) [92])have been observed for Indian languages compared to their English counterparts(20− 43 wpm)) [75].

    • Lesser user friendliness: Virtual keyboard design principles support single finger ormouse-based text entry. The size of any Indian language-based virtual keyboard ismore than English language keyboards as the number of characters in any Indianlanguage is moderately high. With the increment of keyboard size, mouse and eyemovements increase significantly compared to English virtual keyboards. Moreover,a keyboard having more number of characters demands a higher cognitive load ofthe user.

    • Error prone text entry: It is frequent for majority of the users to commit errors.Also, errors committed by users in Indian language text entry is much higher thanerrors in English language text composition because of presence of conjunct char-acters, inflexed characters, graphically similar (look alike) characters etc [92].

    To enhance the text composition rate using virtual keyboard, word prediction strategyis found to be the most popular and has been widely used among various methods.

    1.3 Word prediction

    Word prediction enables a user to enter text without completely typing and thus savesnumber of keystrokes. In other word, prediction system suggests an intended word whichuser is in the process of entering or going to type. While a user types text, the predictionsystem monitors the input character-by-character and produces a list of texts beginningwith context (previously typed sequence). Each time a character is added or deleted, thelist of predicted words gets updated. When the target word appears in the list (predictionwindow), it can be chosen and inserted into the text under composition. Following arethe some merits of word prediction facility.

    • Text entry rate improvement: Use of word prediction eliminates the need to com-pose the text completely and hence the performance of text composition gets im-proved. It has been reported that word prediction boosts up the text compositionrate of virtual keyboard [109].

    5

  • 1. Introduction

    • Effort reduction: As word prediction system predicts the word after entering fewcharacters, it saves the keystrokes required to compose the text completely andhence reduces the effort required to type it [31].

    • Spelling assistance: Word prediction can offer spelling support by providing cluesto compose a word [42]. If person can enter first few characters of a word correctly,the system identifies the word and eliminates the need to spell it entirely [122]. Inthe spelling support offered by word prediction, the spelling skill of writing a wordcharacter by character is possibly being replaced by selecting the word [47]. Wordprediction helps users to correct errors as they occur by realizing that the predictedwords are not looked like the word they require. Then user will experiment withother possibilities (like manipulating the character entered so far until the enteredword looked right (for detail see [47]).

    According to MacArthur [71], individuals with physical disabilities or fine-motor prob-lems, users with severe spelling problems, whose errors are too severe for correction bya spell checker may get benefit from word prediction system. Please note that, whilecomposing text, spelling error can be occurred due to several reasons such as motor-coordination slip, spelling knowledge and organization of keys in layout.

    1.4 Issues in designing predictive virtual keyboard in Indianlanguages

    Virtual keyboard augmented with word prediction method helps user to compose text ina user friendly way for the languages containing complex scripts, specifically in East orSouth-east Asian languages. For example, word prediction supports user to compose aword by means of entering few characters which saves the keystrokes required to composethe text. This scenario reduces the effort of users much more in case of Indian languagesdue to complexity involved in writing the word completely.

    Moreover, in case of word prediction system, as reported by MacArthur [69–71], usermust spell the beginning of word correctly with no allowance for phonetic substitutions.Specific to an Indian language, there are some issues to develop a predictive virtualkeyboard. We consider Hindi language in our study because it is a majority spokenlanguage with 490 million speakers [113]. Also, it is the 2nd spoken language in theranking of the languages in the world [113] as well as the national language of India. Theissues are as follows.

    6

  • 1.4. Issues in designing predictive virtual keyboard in Indian languages

    • Large character set: Hindi language uses a large number of base characters. Combi-nation with consonant and matra, consonant and consonant with the help of halantare used to compose texts. Combining the characters in this way forms a Ligatureand representing all of them into the standard keyboard is not feasible. Researcherspropose to map more than one characters in a single key with the use of specialkeys, namely Shift, Ctrl, and Alt key, for selection of suitable characters [73]. But,it necessitates the use of special keys which in turn increases the number of keypresses required. Presence of a large character set and use of multiple key pressaffect the word prediction performance by decreasing the keystroke savings andimposing huge cognitive load on users.

    • Normalization: Indian language data require normalisation [20, 23], as there existcharacters having equivalent Unicode representation shown in Table 1.1(a). Forexample, the word Er)v [riz@rv@] can be composed as r+E+j+.+r+^+v (consistof 7 character) as well as r+E+)+r+^+v (consist of 6 character) [20]. Note themultiple representation of characters with nukta. In addition to this, the use of“Zero-Width Joiner"1 (Unicode value U200D) and the “Zero-Width Non Joiner"2

    (Unicode value U200C) represent a conjunct in different ways. For example, “""[kù@] (unicode sequence U0915 +U094D+U0937) in different forms can be repre-sented as “ " (unicode sequence U0915 + U094D + U200D + U0937) and “k̂q"(unicode sequence U0915+U094D+U200C +U0937) [24]. According to Unicodeconsortium [23] various characters are analyzed visually as consisting of multipleparts to represent them units as shown in Table 1.1(b). These compositions, in fact,are not valid to compose text although they appear to be correct [23]. If propernormalization is not done, then searching the word written in one form will omitthe words in another form [20]. This increases the miss rate in word predictionalthough alternative words are present in vocabulary.

    • Input sequence: The diacritics in Indian languages are not necessarily written orread in a linear sequence. In other words, the writing order and the phonologicalorder may not match in Devanagari [53, 73]. Further, the position of a characterin a word may not be fixed. For example, to compose a word EnEmt [nirmit”@] userhas to select the characters in the order: n+E+r+ ^+m+E+t. Note that this type ofrequired ordering demands enough cognitive load on users in addition to trappinginto failure of the prediction system.

    1Zero-width joiner, http://en.wikipedia.org/wiki/Zero-width_joiner2Zero-width non-joiner, http://en.wikipedia.org/wiki/Zero-width_non-joiner

    7

    http://en.wikipedia.org/wiki/Zero-width_joinerhttp://en.wikipedia.org/wiki/Zero-width_non-joiner

  • 1. Introduction

    Normalized form Combining sequenceCharacter Unicode Combination Equivalent unicode

    � U0959 K + nukta U0916+U093Cw U095C X + nukta U0921+U093C' U095E P + nukta U092B+U093C) U095B j + nukta U091C + U093C" U0915+U094D+U0937 k+^+q U0915+U094D+U0937" U0915+U094D+U0937 k+^+ZWJ+q U0915+U094D+U200D+U0937" U0915+U094D+U0937 k+^+ZWNJ+q U0915+U094D+U200C+U0937

    (a) Canonical Equivalence

    Use/representation In-valid formCharacter Unicode Combination Unicode

    aA U0906 a + A U0905+093Ee� U9010 e +� U090F+U0947ao U0913 a + o U0905+U094BaO U0914 a + O U0905+U094CI U0908 r + ^ + i U0930+U094D+U0907

    U0911 a + U0905+U0911U0912 a + U0905+U094A

    (b) Combinations not handled by normalization

    Table 1.1: Character combination and normalization

    • Typographical variants: In Hindi language, several words have multiple correctspellings and alternate representation forms [19,20]. The character “anuswar" canbe used as both half-na (e.g. Eh\dF [Hind”i:] and Eh�dF [Hind”i:]) and half-ma (e.g. m�\bI[munb@i:] and m� MbI [mumb@i:]) [19,20]. In addition to this, it also have dual formswhich are technically correct but only the one form is acceptable (as in Ele [lie:]and Ely� [lije:]) [7] in standardized Hindi. According to “Centre for Development ofAdvanced Computing"(CDAC), in Indian language some misspelled words are moresignificantly in use than their grammatically correct counterpart. For example, theword jA\c [éA:nc@] is incorrect but is used more often than its correctly spelled formjA c [éA:nc@] [19].

    • Presence of phonetically or graphically similar characters: There exist charactersor their combinations which are phonetically similar (sounds alike) [96, 106] as (f[C@], q [ù@] and s [s@]), (� [ô] and rF [ri:]) and (I [i:] and yF [ji:]) and (e [@:] andy� [j@:]) etc. Some of the characters are so much similar to the others in shape thatthere remains a finite chance of confusion between B [bh@] and m [m@]; G [gh@] andD [d”h@]; and K [kh@] and rv [rv@] [41]. The above mentioned issues make task oftext entry more erroneous.

    • Text entry interface: Text entry mechanism should facilitate a higher text entryrate, minimum keystrokes, lower cognitive load on users and minimum hand move-

    8

  • 1.5. Scope and objectives

    ment time for composing text accurately [39, 73]. Also, the system should be easyto learn and provides an effective way of correcting mistakes. An effective textentry system must include localization, error correction, editor support, feedback,and context of use [62]. The same is more pertinently true in the context of Indianlanguages and indeed it is a challenge to deal with all the issues mentioned above.

    1.5 Scope and objectives

    • Hindi language which follows Devanagari script1, contains a large set of characters,among them 13 vowels, 33 consonants, 2 modifiers, 12 matras and special symbolslike anusvara, visarga, chandra bindu and nukta etc. are frequently used [21, 45],along with complex characters called conjuncts (character composed with two ormore characters and halant) [73]. Further, there are some graphically and phonet-ically similar characters which increase cognitive load on users to select the propercharacter and occasionally lead toward tapping wrong characters. The above men-tioned issues make text composition task erroneous2 and as a consequence, yieldpoor performance in word prediction.

    • While composing text with virtual keyboard, enough eye movements are involvedto search desired word in the list of predicted words. The scenario also demandshand movements to select a word from the prediction window. In order to achievea better text entry rate, these eye and hand movements need to be minimized.One way to achieve minimization is to place the prediction window at a preciselycalculated location instead of at any ad hoc place.

    • Average word length in Hindi is 4.69 whereas 5.1 in English [12]. A large numberof entries in lexicon with the lesser average word length affects the overall keystrokesavings [114] and needs a judicious size of prediction window to yield a better hitrate to the users.

    • Virtual keyboards in Indian languages contain a large set of characters. Findinga target character in such a virtual keyboard demands a high reaction time anddecreases the text entry rate. One of the possible solutions is to provide visual cluefor required characters which will improve the performance of virtual keyboard.

    1Devanagari script, http://en.wikipedia.org/wiki/Devanagari2Spelling mistakes, http://www.transparent.com/hindi/spelling-mistakes-vowels/

    9

    http://en.wikipedia.org/wiki/Devanagarihttp://www.transparent.com/hindi/spelling-mistakes-vowels/

  • 1. Introduction

    1.6 Thesis outline

    This thesis contains six chapters including this introductory chapter. This chapter con-tains brief description of text composition techniques, word prediction system and issuesrelated to the development of Hindi word prediction system with virtual keyboard.

    Chapter 2 : Related Work

    This chapter includes state of the arts for different text composition interface and wordprediction system. We discuss about existing virtual keyboard design and different wordprediction methods.

    Chapter 3 : Text Composition Interface

    This chapter discusses about the design of text entry interface for Hindi. This includesvirtual keyboard design, proper positioning of prediction window and deciding the num-ber of suggestions to be displayed in the prediction list. The experimental result withthe proposed virtual keyboard design, different positions and sizes of prediction windoware presented in this chapter.

    Chapter 4 : Word Prediction in Hindi

    The proposed word prediction method is described in this chapter. It includes generationof language model, word completion and prediction methodology. Finally, we discuss theexperimental evaluation of the proposed word prediction system.

    Chapter 5 : Predicting Next Character Highlighter

    The method for predicting next character highlighter is described in this chapter followedby experimental result.

    Chapter 6 : Summary and Conclusion

    In this chapter, we discuss about the summary of our work and future scope of the work.

    10

  • Chapter 2

    Related Work

    This chapter discusses about the recent research works in the field of text entry interfacealong with word prediction strategy. We also review literatures in support of provid-ing visual clue to further improve text entry rate. Word prediction is one of the mostefficient text entry rate enhancement strategies which can be used with standard textentry methods like virtual keyboard. We illustrate the various keyboard layouts used inentering text in English as well as Indian languages (Hindi in particular). In this sec-tion, we review recent literatures on overall design of text entry interface that includesvirtual keyboard and its key organization, word prediction methods, positioning of theprediction window (to display the suggestions) and deciding the number of suggestionsto be presented etc. Also, the state-of-art scenarios of augmenting visual clue towardtext composition are illustrated.

    We plan the organization of this chapter as follows: in Section 2.1, we assess differentmethodologies of designing virtual keyboards in English as well as Indian and otherlanguages. The strategies applicable for text entry rate enhancement are discussed inSection 2.2. Several word prediction strategies suitable for text entry reported in recentliteratures are described in Section 2.3. Section 2.4 describes the present scenario aboutvirtual keyboard interfaces augmented with word prediction system in English as wellas in Hindi. The section also considers the description about research work on size andplacement of the prediction window in the interface. Further, in the same section, wereview the reported work on incorporating visual clue with the text composition interface.Finally, the chapter is summarized in Section 2.5.

    11

  • 2. Related Work

    2.1 Text entry interface

    In digital devices, text-based text entry can be accomplished usually by two ways, throughQWERTY hardware keyboard and virtual keyboard. In this section, we concentrate onvirtual keyboard based text composition. In this regard, we first discuss about theavailable virtual keyboards in English followed by Indian languages. Also, we reportexisting virtual keyboard layouts in some other major languages.

    2.1.1 Virtual keyboard in English

    The design principles of existing English keyboards are discussed below.

    • QWERTY keyboard: QWERTY keyboard [97] is the most commonly used textcomposition tool. The keyboard layout has been invented by “Sholes" and thename comes from the first six characters of keys in a keyboard [73]. The keys arearranged primarily to overcome the mechanical limitations inherited in typewritersand the layout (shown in Fig. 2.1(a)) has been adopted as a standard in 1971 byAmerican Standards Institute.

    • FITALY keyboard: This layout is designed to optimize hand movement during textentry with one finger, mouse, stylus [33] etc. It has two space bars in the layout(see Fig. 2.1(b)). The keyboard name has been taken from character sequence insecond row. The frequently used characters like E, T, A are placed closed to thespace bar. The average hand movement is found lower compared to the QWERTYlayout.

    • Dvorak keyboard: Dvorak et al. [28] propose an arrangement of the keys (Fig. 2.1(c))which provides less finger motion, more typing rate and less error compared tostandard QWERTY keyboard [95]. Moreover, the layout organization is based onthe strength of each finger keeping most frequently used characters on the middlerow. The Dvorak keyboard is designed mainly to optimize two-handed typing andcan also be used as virtual keyboard.

    • Lewis keyboard: The keys in the keyboard of Lewis et al. [66] is alphabeticallyarranged. The layout yields better text entry rate than QWERTY for single fingertyping (see Fig. 2.1(d)).

    • OPTI keyboard: The layout has been optimized to increase typing speed using trialand error. The design involves Fits’ law [34] and digraph frequency [13] of charactersin English (shown in Fig. 2.1(e)). The OPTI keyboard is theoretically 35% and 5%

    12

  • 2.1. Text entry interface

    faster text entry rate than QWERTY and FITALY layout, respectively. The errorrate with OPTI is lower than QWERTY keyboard [74].

    • Cirrin keyboard: The layout is proposed by Mankoff and Abowd [77] to facilitatestylus based text entry. Input is generated from the coordinates of the point wherethe stylus crosses the interface. For example, composition of word “cirrin” is shownin Fig. 2.1(f).

    (a) QWERTY keyboard [97] (b) FITALY keyboard [33]

    (c) Dvorak keyboard [28] (d) Lewis keyboard [66]

    (e) OPTI keyboard [74] (f) Cirrin keyboard [77]

    Figure 2.1: Popular virtual keyboard layouts in English

    13

  • 2. Related Work

    2.1.2 Virtual keyboards in other non-Indian languages

    We review literatures about some non-Indian (other than English) keyboard layouts. Inthis topic, we choose four popular languages (written and spoken) in the world namelyArabic, Chinese, Japanese and Russian. Descriptions of each layout are given in thefollowing.

    • Arabic keyboard: This layout is used to enter text in Arabic language. It containsboth Arabic and Latin, as Latin characters are necessary for URLs and Emailaddresses (Fig. 2.2(a)) [117].

    • Chinese keyboard: The Chinese traditional keyboard [117], shown in Fig. 2.2(b),incorporates three input methods in a single layout namely Zhuyin (upper right),Cangjie (lower left) and Dayi (lower right). Here, Zhuyin follows bopomofo stylethat is, lexicographical order (top-to-bottom left-to-right) of designing keyboardand Cangjie is the standard method for speed-typing in traditional Chinese.

    • Japanese keyboard: Japanese keyboards (as shown in the Fig. 2.2(c)) [117] useboth Hiragana and Roman letters. The Japanese Industrial Standard keyboardlayout keeps the Roman letters in the English QWERTY layout. Many of thenon-alphanumeric symbols are the same as on English-language keyboards.

    • Russian keyboard: The most common keyboard layout in Russia which is used inthe Windows operating system, is displayed in Fig. 2.2(d) [117]. This layout allowsusing keyboards of the same physical design as in many other countries. Here, thecomma and full stop symbols are on the same key in this layout.

    2.1.3 Virtual keyboards in Indian languages

    Various layouts are proposed to enter texts in Indian languages which have been incor-porated in hardware as well as in virtual keyboards. This section highlights some of thedesigns implemented in Indian language virtual keyboards.

    InScript keyboard layout (Fig. 2.3) [43, 104], developed by CDAC, has been stan-dardized by Government of India for composing text in Indian languages [105]. Thisis the standard keyboard for 12 Indian scripts including Devanagari, Bengali, Gujarati,Gurmukhi, Kannada, Malayalam, Oriya, Tamil, Telugu etc.

    As the hardware keyboard is majorly made with English keys and the manufacturersnever think of making keyboards with Devanagari keys, the decision has been takento place the stickers that can be stuck on top of the keys so that one can understand

    14

  • 2.1. Text entry interface

    (a) Arabic keyboard layout

    (b) Chinese keyboard layout

    (c) Japanese keyboard layout

    (d) Russian keyboard layout

    Figure 2.2: Virtual keyboard layouts in non-Indian languages [117]

    15

  • 2. Related Work

    Figure 2.3: InScript keyboard layout [43]

    where a particular language character is mapped on a particular keyboard. Now, as thenumber of characters present in Indian languages are more than that of English, mappingall characters into keyboard is an issue. The more than one characters in the InScriptkeyboard are mapped to single key in the keyboard. Users need to select the “Shift"button in order to use the character associated with it.

    Virtual keyboards, following InScript layout [104], contain each key having two char-acter mapping which can be accessed using “shift" key alternatively (Fig. 2.4) [81]. Thishas been implemented in different commercial softwares following two design principles:a) all the characters present in the layout are displayed at a stretch and the alternatecharacters can be accessed using special key (such as Lipik interface [68] in Fig. 2.5) andb) there are two separate layouts for displaying all the characters where one layout showscharacters which do not require “Shift" key and other layout contains the characterswhich needs “Shift" key to be entered (Shown in Fig. 2.4). At a time, only one layout isvisible and alternate one can be activated using “Shift" key. Google [44] (Fig. 2.6) andMicrosoft [81] keyboard layouts follow this design principle.

    A popular virtual keyboard layout, called Avro [89] for Bengali language is shownin Fig. 2.7(a). In this layout, keys are grouped in alphabetical order as well as somefrequently used complex characters are kept to minimize the key press required in formingthem. Guruji [46] has developed alphabetical keyboard to support users in composingIndian language texts by means of reducing text composition time. This keyboard usesdifferent colors to distinguish consonants, vowels and numeric keys (shown in Fig. 2.7(b)).Some virtual keyboard layouts have also been developed for small display devices in Hindiby Joshi et. al. [54], Jung et. al. [56] and Kumar et. al. [64].

    A virtual keyboard interface is developed to support motor disabled persons in Ben-gali language [84, 85] (Fig. 2.8). It consists of several panels for independent vowels,consonants, matra etc. The keys in each panel are arranged in alphabetical fashion.This keyboard supports text prediction which is further described in Section 2.3.7.

    16

  • 2.1. Text entry interface

    (a) Microsoft keyboard (without pressing Shift key)

    (b) Microsoft keyboard (with Shift key pressed)

    Figure 2.4: Microsoft keyboard layout [81]

    Figure 2.5: Lipik keyboard layout [68]

    Figure 2.6: Google keyboard layout [44]

    17

  • 2. Related Work

    (a) Avro Bengali keyboard [89]

    (b) Guruji Hindi keyboard [46]

    Figure 2.7: Alphabetical virtual keyboard layouts

    2.2 Text entry rate enhancement strategies

    Researchers explore several strategies [27] to improve the text entry performance further.Some of them are illustrated in the following subsection.

    2.2.1 Abbreviation expansion

    This method helps user to compose words with fewer keystrokes. The implementation ofsome of the abbreviation expansion system depends on predefined code and lookup tablescontaining words and their respective codes. As a result, user needs to remember a largeset of codes for retrieving the words. In contrast, some systems are rule-based which donot maintain a predefined lookup table but, in this case, the user has to memorize therules. A rule-based system is developed by Moulton et al.[83]. Using abbreviation expan-sion methodology, the word “M ed iterranean" can be composed specifying “mdtrn".

    18

  • 2.2. Text entry rate enhancement strategies

    Figure 2.8: SulekhA interface for Bengali text composition [84]

    2.2.2 Semantic coding

    This rate enhancement strategy deals with large vocabulary of semantic-primitives thatcan be arranged to compose words. As an example, Minspeak system [6,27,31] representssemantic concepts in terms of icons where each icon is having multiple meanings depend-ing on the context [6]. Although the technique is very useful, it requires to memorize alarge number of icon sequences. The composition of text “i like to go home" using theMinspeak is shown in Fig. 2.9 [67].

    2.2.3 Sentence compansion

    In a sentence compansion system [27], input can be given as compressed messages, whichare to be expanded into a well-structured grammatical sentence. It uses syntactic andsemantic information to reduce text entry effort [27]. For serving the purpose, the systemrequires a vocabulary set of noninflected words. The system works in several steps: first,

    19

  • 2. Related Work

    Figure 2.9: Minspeak interface [67]

    it gives the input a syntactic analysis, second it assigns semantic roles to the analyzedwords and finally, it generates a well-formed sentence based on the semantic represen-tation. For instance, if the user enters “APPLE EAT JOHN”, the system will generateoutput as “THE APPLE IS EATEN BY JOHN” [27].

    2.2.4 Text prediction

    It is a method to predict a chunk of data based on the previously entered context. Here,the chunk can be represented as a character, word or multi-word. The descriptions ofeach category are given below.

    • Character level: Character level prediction suggests character(s) at runtime to userwhile composing text. The prediction can be implemented using n-gram or k-grambased approach [38]. In n-gram based system, nth character is predicted depend-ing on previous (n − 1)th characters. It is used commonly in scanning keyboardwhere the most probable characters are placed on some specific location. On theother hand, k-gram based system considers n-gram statistical information whose1st character represents beginning of the word. As n-gram character prediction isindependent of character positioning within word, k-gram utilizes the advantage ofthe position. Note that, the character level prediction methods do not provide anykeystroke savings but found helpful in the scanning keyboard by minimizing theaverage access time.

    20

  • 2.3. Word prediction

    • Word level: Word level prediction method predicts the possible words depending onthe previous context and suggests it to user, as shown in Fig. 2.10. Word predictionuses language modeling where the words which are most likely to occur next arecalculated [38]. The mechanism increases text entry rate and keystroke savings.

    • Multi-word or phrase level: This approach [10] predicts more than one word ata time. It actually suggests phrase elements that begin with the already typedcharacters or the chunk typed in sequence. For example, if user types “do", thenext possibilities can be “do you", “do you know", “down to the" etc. Alternatively,if user has already typed “do yo", then “do you go" becomes the most probablephrase [10]. This scenario increases the keystroke savings. In contrast, as thismethod suggests more than one word at a time, it can lead to ambiguity.

    Among the above mentioned method, word-level text prediction is mostly used dueto optimum relationship between hit rate, keystroke savings and cognitive load on theuser [38].

    2.3 Word prediction

    In recent literatures, a number of word prediction methodologies have been reported.Fazly [31] has broadly classified word prediction into two categories, statistical and

    Figure 2.10: An example of word prediction by WordQ [31]

    21

  • 2. Related Work

    syntactical method. On the other hand, N. Garay-Vitoria and J. Abascal [38] haveseparated the same into five different categories namely prediction using frequencies,prediction using word probability tables, syntactic-prediction using probability tables,syntactic-prediction using grammars and semantic-prediction. In our thesis, word pre-diction methods are broadly classified into three groups, statistical, syntactical and se-mantical prediction. We have considered remaining works in other category.

    2.3.1 Statistical prediction

    Language information are the supportive source for most of the existing word predictionsystems. The statistical information used in prediction systems are mostly n-gram lan-guage models [14,65,87]. The n-gram modeling can be used to compute the frequency ofwords in unigram, bigram and trigram categories in order to suggest the most likelihoodword given the previous one. The description of unigram, bigram and trigram predictorsare as follows.

    • Unigram predictor: Through this word prediction system, words are displayedwhich are matched with the word prefix entered so far, according to their fre-quency of use [31]. Word frequency is calculated from a corpus while training theprediction system. The system then predicts top n words where n is the size of theprediction window, decided by the system developer.

    • Bigram predictor: This kind of prediction system takes one previous word intoaccount with additional word prefix entered so far [31]. It first looks for all thevocabulary words that are matched with the existing word prefix, then it retrievesthe bigram probability for each candidate word computed as P (wi|wj) where, wiis the predicted word and wj is the previous word.

    • Trigram predictor: In this method, last two words are taken as context and based onthose, the probability of occurrence of the next word is computed using P (wi|wi−1,wi−2). This methodology gives better result and it is treated as baseline model [31].

    Most of the word prediction systems in early 1980s use word frequency informa-tion [31], that is, a word unigram model for predicting words. These prediction methodsignore all previous context entered by the user and use only word frequency informationfor prediction. Some systems use the concept of last recently used words in word predic-tion method. Due to this reason, it has been found that word prediction efficiency hasgot improved [31,39,50].

    22

  • 2.3. Word prediction

    In order to further improve the accuracy of a prediction method, approaches like wordbigram or trigram models [31] are considered. The bigram and trigram are computedfrom a corpus in order to predict the most probable words knowing the previous con-text. Trigram models, whose performance are usually better than bigram methods, aregenerally considered as a standard baseline model in natural language processing [57,78].One issue with trigram models is that training generally requires massive text corpusthan basic word frequency methods to provide useful prediction [109]. Many of thetrigram sequences may never occur even with huge training corpus. Thus, the datasparseness problem is an issue and must be solved with processing techniques such assmoothing [58, 109]. In addition to this, we need to store all forms of a word contain-ing different inflection in the lexicon [39], which in turn increases the lexicon size andhence demands huge memory to store all of them. Some of the systems developed usingstatistical method are “Reactive keyboard" [26], “WordQ", Predictive Adaptive Lexicon(“PAL") [3] and “Profet" [17,18].

    The more detailed description of some statistical word prediction methods followedby their observations are described in the subsection below.

    • Trnka et al. [109] compares three different text entry methods namely no prediction,basic word prediction (using recency and word frequency model) and advanced wordprediction (using trigram language model with Backoff ) on the basis of text entrymethod, communication rate and prediction utilization. There are 33 users gotinvolved in the experiment and they have not been pressurized to use the wordprediction system and also encouraged to compose the text quickly and accurately.

    It has been observed from the experiment that use of advanced word predictioncan lead to higher text entry rates and less fatigue than poor word prediction orno word prediction [109]. It is also reported that the increased keystroke savingscompensates the added cognitive load incurred due to word prediction. In additionto this, generally, the user fully utilizes a better word prediction system and thereare fewer typos committed with advanced prediction [121].

    • Predictive Adaptive Lexicon (PAL) has been developed by Arnott et al. [3]. Itdoes not consider the previous word and uses only word frequency information andword prefix entered so far. It also uses words’ recency information to suggest nextwords. It addition to this, PAL system automatically adds a new word to thelexicon for future predictions. In order to prevent wrongly spelled words presentinto the master lexicon, PAL is supplemented with a spelling corrector program anddisplays 10 words in a prediction window with 1000 words in the initial lexicon.

    23

  • 2. Related Work

    Newell et al. [88] have studied the effects of the PAL word prediction systemon users. They have found that word prediction helps in order to improve thespelling of individuals having spelling disorders. They also state that children withsevere spelling problems can enter the initial character(s) and select the desiredword from the prediction list [47]. Newell has also observed that word predictiongenerally increases text entry rate and greatly reduces fatigue by decreasing thenumber of keystrokes required to compose the text.

    • The Profet is a statistical and adaptive program developed by Carlberger et al. [18]for Swedish language. It displays top 9 word in the prediction window. To predictthe next word after completion of current word, system uses bigram information.However, unigram probability is used to complete current word. In other words, itignores any previously typed word sequence. Another version of Profet, named asProfet II [18], includes syntactic and semantic information and uses Markov modelsto consider the previous last two words and their frequencies.

    • LetterWise is developed by MacKenzie et al. [72] for entering text in mobile phonesusing 12 keys. Here, three to four keys are grouped together to decrease thekeystrokes required to compose a text. Each key press is disambiguated basedon previously typed characters.

    • The Reactive Keyboard has been developed by Darragh et al. [26]. It providesalternative interface for physically disabled people. It uses the (n − 1) previouscharacters to predict the nth character [31]. The model uses a tree structure tostore data and if a match is not found the context is shortened by one character.

    2.3.2 Syntactical prediction

    The goal of syntactic prediction is to ensure that the system suggests grammaticallycorrect words to the users [39]. It uses the probability of occurrences of a word for agiven parts-of-speech (POS) tag information for prediction. Given the most likely tagsfor the two previous words ti−1 and ti−2, probability of the word wi is being estimatedas P (wi|ti−1, ti−2) [31, 91]. This approach takes the syntactic information from naturallanguages into account for predicting next probable words. It uses the probability of ap-pearance of each word and the relative probability of occurrence of each tag P (ti−1|ti−2)(i.e n-gram modal for parts-of-speech tag). Example of systems developed using suchmethod are “SyntaxPal" [3], “New Profet" [16,17] and “FASTY" [80].

    • Word and tag: In this method [31], we need to compute the probability of occur-rence of a word given last two given tags. Probability of the word wi given the

    24

  • 2.3. Word prediction

    most likely tags for the two previous words ti−1 and ti−2, respectively is computedas P (wi|ti−1, ti−2).

    • Word bigram and tag trigram: This prediction method [31] combines word bigramand tag trigram model. The algorithm estimates the probability of a word wi giventhe last word wi−1 and last two tags ti−1 and ti−2 where P (wi|wi−1, ti−1, ti−2).

    • Linear combination: The prediction uses two models [31, 32]. In the first model,the most likely parts-of-speech tag for the current position according to the twoprevious parts-of-speech tags are computed (P (ti|ti−1, ti−2)). After that, it looksfor words that have the highest probability of being in the current position given themost likely tag for this position (P (wi|ti)). Whereas, the second model is the simplebigram model denoted as P (wi|wi−1). The final probability P (wi|wi−1, ti−1, ti−2)is a weighted combination of the last two models [31].

    Syntactic prediction using grammar: It considers subject-object agreement in the sen-tences entered by users [39]. Sentences are analyzed by grammar rules using NaturalLanguage Processing (NLP) techniques in order to obtain the suitable parts-of-speechtag information [120]. Methods for analyzing sentences may follow top-down [29] orbottom-up [40,57] procedures. These methods consider that user enters the word whichare already present in the vocabulary and their grammatical information are alreadyknown. Words which are not present in the grammar file are to be entered manually inthe system with its proper tag information by the user [57,78]. “Windmill" [120] is onesuch system based on the concept of syntactic prediction using English grammar.

    Syntactic method assumes that tagger tags the sentence from beginning and has tolook at the context several times to decide the final tag assignment for the word [31,57,78].Whereas, system which uses tagger for tagging the word instead of the whole sentencefrom beginning performs better (as it has to look only few surrounding words instead ofcomplete sentence). A detailed description can be found in [31, 32, 39, 57, 78, 87, 100]. Itis also found that by including syntactic information into prediction, appropriate wordsare removed from the prediction list almost as often inappropriate words prohibit themto appear in the list [39]. Another possible issue of a syntactic predictor is to adapt newwords since all words in the lexicon need to be tagged with their syntactic category [31].In this context, the presence of out-of-vocabulary words becomes an issue and it needsuser intervention.

    Some syntactical word prediction systems are reported below.

    • Syntax PAL is a version of PAL that includes some grammar rules into its predictionmodule to offer more appropriate predictions. A set of 16 basic syntactic classes is

    25

  • 2. Related Work

    used to tag the words in the lexicon and in the sentence being entered [102]. Topredict words, the word frequency and the syntactic category bigrams are used.

    • The Predictive Program [107] is a system used as a writing aid for people withdisabilities. The system predicts word based on grammatical information and fre-quency of English words and presents 10 possible suggestions based on the wordprefix entered.

    • Windmill is the system developed by Wood [120]. It employs a context-free gram-mar (CFG) along with augmented phrase structure rule to improve prediction per-formance. All the possible syntactic categories for current position are extractedand sorted using statistical information.

    • The FASTY system [80] has several features such as prediction of compounds,prediction of inflected forms based on parsing, support of abbreviation expansionwith support for different languages such as Dutch, French, German etc.

    • Garay-Vitoria and Gonzelez-Abascal [40] have developed word prediction usingchart parser to analyze the structure of the sentence. The system uses lexiconcontaining statistical, syntactical and morphological information for each word.

    2.3.3 Semantical prediction

    In this prediction method, the sentences are semantically analyzed while under composi-tion [38]. In a sentence, each word is associated with its semantic-category. However, themain difficulty lies in adding semantic-category to each word. It produces very similarresult to syntactic approaches with a much higher computational complexity. Also theapproach is quite complex and difficult to implement in a real-time system [38].

    • Even-Zohar and Roth [30] have used a very large set of features characterizingthe syntactic and semantic contexts. Whereas, some systems combine semanticknowledge with n-gram probabilities to predict more appropriate words than n-gram for English language.

    • Wandmacher et al. [115] have integrated semantic information with a standardlanguage model for word prediction system through evaluating two main methodsnamely Latent Semantic Analysis (LSA) and n-gram language model. The methodfinally integrates two above mentioned mechanisms. Significant gains have beenobserved by using LSA information [121].

    26

  • 2.3. Word prediction

    2.3.4 Other prediction methods

    One of the popular prediction methods, VITIPI system, is developed by Boissiere etal. [15]. The main feature is to even predict those words which are not present invocabulary by inferring certain analogies. It is also claimed that the system incrementsthe text-entry speed and improves the quality of the composed text with respect toHandiWord [38] which is one of the systems comparable to VITIPI [15].

    Some approaches follow artificial neural networks to predict the word [38]. In [90], asystem for Spanish uses ANN having 130 neurons in it (100 in the input layer, 10 in thehidden layer and 20 in the output layer).

    2.3.5 Practical outcomes of word prediction

    Although the word prediction system is developed with an intention to help physicallydisabled users, it has been also found to be beneficial to any one when integrated withtext entry interface. However, mixed effects have been observed while augmenting textprediction system with interface. Study performed by Newell et al. [35]; Anson et al. [4];Wobbrock & Myers [118]; Wandmacher et al. [116] summarize that the system enhancesthe text entry rate and reduces the number of keystrokes required to compose text. Alsothey have reported that word prediction provides spelling and grammar assistance to theusers [121]. On contrary, some observations reveal that there is no significant gain intext entry rate using word prediction (Venkatagiri [110, 111]). Possible explanation forthis finding, as stated by Trnka et al. [109], can be due to the overhead of the experimentconducted as instruction given to user to constantly scan a very large prediction list afterevery key press. As the words from the prediction window are selected by pressing thecorresponding key on a standard keyboard such as “0− 9", “[" and “/", it is required toremember which key to press. An important fact, observed by Trnka et al. [109], is to benoted that the performance of text entry rate through virtual keyboard increases whenit is augmented with word prediction method.

    It is also observed that word prediction systems provide spelling assistance to user.Herold [47] has reported that spelling support offered by word prediction appears thatwriting text character by character is replaced by selecting the word instead of formingit. The system facilitates user to identify and select a word of his interest from predictionwindow so that he can avoid spelling error in advance [59]. Study also reveals that systemrecognizes the word and eliminates the need to spell it completely when user can correctlyenter first few characters of the word [122]. People with physical disabilities and userswith severe-spelling problems whose errors can not be corrected by a spelling checker canalso get assistance from the word prediction system [71].

    27

  • 2. Related Work

    2.3.6 Available commercial tools

    WordQ is a word prediction tool developed by Bloorview MacMillan Centre, Toronto,Canada [86]. It can be augmented with word processing software. The mechanism [86]

    uses the unigram and bigram statistics along with users vocabulary [31]. In case bigramsequence is not available, it ignores the previous word and predicts according to wordfrequency, whereas speech module provides text to speech feedback.

    Various other word prediction programs are commercially available in a market likeAccessibility Suite, Co:Writer etc1. All of them are available in non-Indian languages.

    2.3.7 Indian scenario of word prediction

    Indian languages are inflected [36] and the presence of inflection has effects on the per-formance of word prediction in these languages. In non-inflected language, it is possibleto include all word derived from every root word into dictionary. However, in case of in-flected language, this makes dictionary size relatively large. Possible solution is to breakthe prediction in two steps; prediction of root word followed by prediction of suffix, assuggested by [37]. In contrast, it reduces text entry rate as it requires two keystrokes tocomplete the word. Also, Hindi is relatively free word order so in addition to statisticaland syntactical, a semantic relation should also be considered further detail can be foundat [11,61].

    In Indian scenario, very few work have been reported so far considering the wordprediction as a rate enhancement strategy augmented with text composition interface.We describe the existing work in the following.

    SulekhA interface: A interface for neuro-motor disabled people augmented with wordprediction system is developed by [85]. It implements scanning mechanism for Bengalitext composition. The keys in virtual keyboard attached with the interface are arrangedin alphabetical fashion. To predict the word, it uses the bigram probability and displaytop 12 words into prediction window. The interface also provides speech feedback. Theglimpse of the SulekhA interface [85] is shown in Fig. 2.8.

    Apart from the research interface, some utility programs are available on the Internetfor search-query composition in native languages. Google provides a word predictionmechanism to predict search keywords (in many Indian languages including Hindi). It isaugmented with InScript virtual keyboard and displays result vertically in the predictionwindow (see Fig. 2.11). In the system, when a user enters a prefix of a word, it returns

    1A list of word prediction softwares with their descriptions are given at http://www.abledata.com/abledata.cfm?pageid=19327&top=11314

    28

    http://www.abledata.com/abledata.cfm?pageid=19327&top=11314http://www.abledata.com/abledata.cfm?pageid=19327&top=11314

  • 2.4. Prediction with virtual keyboard

    Figure 2.11: Google interface for Hindi text composition [44]

    top ten possible suggestions. In other way, it also provides multi-word to be predictedand displays those in the prediction window. After selection of the predicted word fromthe window, it searches the Internet and returns the results.

    Lipik interface: It is the multi-lingual predictive software which supports text com-position in Hindi language [68]. It has an built-in virtual keyboard based on QWERTYlayout to enter texts. The prediction window is horizontally organized and placed be-tween text and keyboard area (see Fig. 2.12). It displays upto 10 suggestions at a time.Once the word is completed, user needs to press a space bar to populate the next pos-sible words. In other words, it necessitates one additional key press on each successfulcompletion of a word apart from the selection of a word from the prediction window.

    2.4 Prediction with virtual keyboard

    Many word prediction systems are attached with virtual keyboard interface to specificallyserve the purpose of enhancing text entry rate in English as well as Indian language. Someof the popular word prediction systems augmented with virtual keyboard interface areelaborated below.

    SIBYLLE: This interface [114] increases the text composition rate in two ways a) dy-namically rearranging the characters in the keyboard after every key press and b) wordprediction module based on syntactic analysis. Here, the position of prediction windowis kept in left side of the text entry area as shown in Fig. 2.13.

    29

  • 2. Related Work

    Figure 2.12: Lipik interface for Hindi text composition [68]

    PoBox: Another efficient text input technique, named as PoBox [79], has been im-plemented for the environments where conventional full-sized keyboards cannot be used.This technique consists of two steps for entering word or phrase. First, when a userenters a small part of the word, the system searches vocabulary for candidate words andshows the matching result to the user (see Fig. 2.14(a)). Second, when no word is foundfrom the keys given by the user, PoBox automatically performs approximate patternmatching in which words closest to the given pattern are listed. For example, if theuser does not remember the spelling of “M ed iterranean", he can specify “mdtrn" (seeFig. 2.14(b)) [79].

    WordTree: This technique provides the facility to select a substring of the word whichhelps in composing large words [5]. In other words, when the user clicks on any character,the part of word upto this character is inserted into the composed text. The interface ofWordTree is shown in Fig. 2.15. As an example, in composing the word “applicable", ifuser starts typing “app", a list of candidate words is displayed. It may happen that userfinds “application" instead of “applicable" in the list after typing “app". Then, user canclick on second “a" in “application" and substring “applica" is inserted in the text [5].

    30

  • 2.4. Prediction with virtual keyboard

    Some text composition interfaces in Indian language also integrate word predictionsystem with them like SulekhA [84, 85] for Bengali (Fig. 2.8), Lipik [68] (Fig. 2.12) forHindi as well as for other Indian languages etc. which have being already described inprevious section.

    We present literature review related with positioning the prediction window, identi-fying the suitable number of words to be presented and providing visual clue.

    Figure 2.13: SIBYLLE interface [114]

    (a) PoBox - normal typing (b) PoBox - using string approximation

    Figure 2.14: PoBox interface [79]

    31

  • 2. Related Work

    2.4.1 Position of prediction window

    Tam et al. [103] has experimented the effect of word prediction on text composition fordisabled users. The experiments have been conducted to judge the effect of three differentpositions of the word prediction window namely upper right, following the cursor andlower middle positions. In the experiment, users have been instructed to search theword in the prediction window after composing two characters. The word predictionsystem, involved in the study, is based on word frequency. Higher accuracy is observedin lower middle position of the prediction window in the interface [103] [121]. However,insignificant difference in accuracy is reported between typing with no prediction, upperright and following cursor condition.

    Swiffin et al. [101] has observed that the prediction window kept in close proximityto the text cursor helps user to access the prediction window and the text cursor at oneglance. They have also found that a large amount of head and eye movements is requiredwhile accessing word prediction window horizontally. When a word is displayed verticallyin the prediction window, the length and shape of the words provide some clues to guidethe visual search.

    2.4.2 Size of prediction window

    Venkatagiri [110, 111] has conducted a study to evaluate the effects on the number ofwords present in the prediction window. Prediction window providing 5, 10, and 15suggestions are analyzed and user is instructed to scan the list after every keystroke.The prediction method used in this experiment is based on frequency and recency of use.The words from the prediction window are selected by pressing the corresponding keyson a standard keyboard such as “0 − 9", “[" and “/"(also see [108]). He has found thatsuggesting five words at a time can be suitable for user.

    Figure 2.15: WordTree interface [5]

    32

  • 2.4. Prediction with virtual keyboard

    Sno System Position of Orientation Number of Inputprediction window suggestion method1 SulekhA [84,85] Lower right Block 12 Scanning keyboard

    2 Lipik [68] Middle of text andkey area Horizontal 10 Virtual keyboard

    3 WordTree [5] Right of keyboard Vertical 8 Virtual keyboard4 PoBox [79] Lower to key area Horizontal Variable Mobile phone5 DonKey [2] Following the cursor Horizontal 6 Hardware keyboard6 Sibylle [114] Left of text entry area Vertical 5 Virtual keyboard7 Google[44] Right to text area Vertical 10 Virtual keyboard

    8 Venkatagiri[110,

    111] - -5,10,15 (5 isgood) Hardware keyboard

    9 Wandmatar [114] - - 5-7 is good -10 PAL [3] - - 10 -11 Profet [17,18] - - 9 -

    12 Predictive pro-gram [107] - - 10 -

    13 Wood [120] Right of text entryarea Vertical 8 Hardware keyboard

    Table 2.1: Different work on size and position of prediction window

    Wandmacher [114] and Trnka [108] have found that the relation between keystrokesavings and prediction window size is not linear. According to Wandmacher [114], aprediction window of size 3 − 7 seems a reasonable trade-off between keystroke savingsand cognitive load. Trnka [108] also observes the theoretical limit of word completionand prediction.

    A summary of reviewed literature regarding size and position of prediction windowis given in Table 2.1.

    2.4.3 Visual clue

    Laurent Magnien et. al. [76] propose a solution to optimize a new or unfamiliar keyboardlayout by means of providing visual clue. In the system [76], the next probable keys arehighlighted in bold after each keystroke at the time of typing. The prediction of characteris based on a French dictionary of 1462 words using lexical tree. According to them, themethod helps novice user to enter a text. This can lead to better acceptance of virtualkeyboard layouts which are optimized but also unfamiliar.

    This work [76] concludes that visual clues improve the text-entry rate. However, theimprovement tends to decrease when previously entered text is error-prone. In additionto this, they also observe that the use of visual clues significantly saves time while enteringa character using a virtual keyboard.

    Joshi et al. [55] uses the color code to differentiate the consonant and vowel blocksin hardware keyboard Keylekh2 and Keylekh3. Whereas, another system Guruji usesthe color code to distinguish between consonants, vowels and numeric keys to provide avisual clue in virtual keyboard (see Fig. 2.7(b)).

    33

  • 2. Related Work

    2.5 Summary

    This chapter has discussed various approaches to word prediction; each has its own meritsand demerits. Statistical word prediction method can use unigram, bigram and trigramapproach. One issue with trigram method is that training usually requires huge text.As many of the trigram sequences may never occur even with large training corpus, theproblem of data sparseness is an issue and it must be addressed with techniques suchas smoothing. In syntactic word prediction method, parts-of-speech information is used.However, some system uses the grammatical rule in their word prediction system. Thesyntactic word prediction can provide words which are grammatically correct wher