K annada Sandhi Generator for L opa and Adesha Sandhi (2021)

Abstract: Kannada is one of the major spoken classical languages in India. It is morphologically rich and highly agglutinative in nature. One of the important grammatical aspects is the concept of sandhi(euphonic change). There has not been a sandhi generator for Kannada and this work aims at basic sandhi generation. In this paper, we present algorithms for lopa and Adesha sandhi using a rule-based approach. The proposed method generates the sandhied word and corresponding sandhi without any help of dictionary. This work is significant for agglutinative languages especially to Dravidian languages and can be used to enhance the vocabulary for language related tasks.

## introduction kannada is one of the dravidian languages spoken predominantly by people of karnataka. the dravidian languages are highly agglutinative and morphologically rich in nature (shashirekha and @xcite . euphonic change known as sandhi @xcite is quite common in this language. sandhi occurs at the character level between two valid words of a particular language based on a set of rules. it also occurs between a root word/nominal stem and suffix as well. as @xcite rightly mentions the sanskrit grammarians' point that the sandhi is a mandatory action in the case of compound words in sanskrit, this condition aptly applicable to kannada as well. the classification of sandhi can be done as internal sandhi and external sandhi. the euphonic change that occurs, between a root word and suffix, and in the case of construction of a compound word, is considered as internal sandhi. for in-stance, hu + annu @xmath0. in this case, the first word hu is a nominal stem and annu is a suffix. it undergoes euphonic change and vakara-agama sandhi occurs here. hence, it is an internal sandhi. an example for another internal type is -parama + @xmath1. here both parama and isvara are words forming the compound word paramesvara. if sandhi occurs between the characters present in two different words, then it can be called as external sandhi. for example: illi + ixxaly @xmath2. both the wordsilli and ixxaly ev are two different words. another way of classification is kannada sandhi and sanskrit sandhi. this can be classified based on the words present in the usage. as described by @xcite , kannada has borrowed many words from sanskrit. it is possible to identify sandhi corresponding to pure kannada words or a combination of kannada and sanskrit words. if both the purvapaxa(first word) and uwwarapaxa(second word) are chosen to be kannada words, then, kannada sandhi occurs. for instance, nanu + @xmath3. both the words are kannada words and the sanskrit sandhi is not applicable here. the non-application of guna sandhi (a sanskrit sandhi) affirms that through the previous instance. if either or both are sanskrit words, then sanskrit sandhi occurs. for instance, deva+@xmath4. both the words are borrowed words and will follow guna sandhi of sanskrit and, not any kannada sandhi. in this paper, our focus is on kannada sandhi. there are mainly three kannada sand-his: lopa(elision) sandhi, agama(addition) sandhi and adesha(substitution) sandhi as mentioned by sharma (2015). example: manev + @xmath5. here the first vowel i of uwwarapaxa is prefixed with y and then joined to form the new word. example: maly ev +@xmath6. here uwwarapaxa begins with k, in the euphonic change, it is replaced with g to form the new word. the kannada sandhi can be further sub-categorized as svara(vowel) sandhi and vyafjana(consonant) sandhi. the svara sandhi has vowel at the end of the purvapaxa and at the beginning of uwwarapaxa. vyafjana sandhi must have a consonant character at the beginning of uwwarapaxa and there can be any character svara or vyafjana at the end of the purvapaxa. this classification helps us to apply the sandhi rules unambiguously to some extent. however, in some cases, we can see some overlapping of the rules of the sandhi. one such instance is nanu + @xmath7. though the sandhi rule of vakara-agama sandhi explained by @xcite is applicable, we have to choose lopa sandhi, based on the usage. there are no research or reason present for the preference of lopa sandhi over the agama sandhi. due to this complexity, we have excluded the agama sandhi in this paper. the work on sandhi generation for kannada has not been successfully carried out. there are sandhi generator tools developed for basic malayalam by @xcite and for sanskrit by amba (2002), @xcite and many others. we may find some works in sandhi generation for other indian languages @xcite as well. the sandhi splitter tasks were carried out for kannada by shashirekha and vanishree ( 2016 ), but generator was left out due to the complexity and ambiguity involved. we are addressing this issue by proposing a novel idea by defining the algorithm necessary to generate sandhi formation for the given input kannada words using a rule based approach. the sandhi generator is useful for students who wish to learn the concept of euphonic change in kannada and to researchers working on nlp applications for the tasks like morphological analysers and machine translation. the paper is organized as follows: section 1 introduction, section 2 literature review, section 3 methodology, section 4 result analysis and section 5 conclusion and future scope followed by references. ## literature survey kannada spell checker and sandhi splitter work was carried out by @xcite making use of transliterated dictionaries which stored the words and affixes. the agama sandhi splitter was developed by shashirekha and vanishree (2016) using a rule based approach with manual annotation of suitable words and their affixes. there are other kannada sandhi splitter works but here we have reviewed a few as our focus is on generation than splitting. @xcite has implemented sandhi-rule based compound word generator for malayalam, the basic sandhi rules for malayalam was addressed along with supplementary details for words to identify the sandhi. this work was semi-automatic and required human intervention to resolve ambiguities. significant work on sanskrit word segmentation was carried out by @xcite . the disambiguation of a given word was performed using a rule-based approach. though there are sandhi generator tools developed for sanskrit by @xcite , @xcite , sachin kumar and many others, we see that there has not been a successful sandhi generator for pure kannada sandhi. ## methodology the implementation of a basic lopa and adesha sandhi using regular expression is presented in this section. we have excluded the internal sandhi (root + suffix) and considered only compound words and external sandhi. as we mentioned earlier in the introduction section, some rules of agama sandhi overlaps with the rules of lopa sandhi. let us consider the yakara-agama sandhi as an example -manev + @xmath8. the rules for lopa sandhi and agama sandhi overlap here and there is no semantic information which can distinguish and avoid the overlap. by convention and practical usage, manevyalli is the expected output, whereas due to the overlapping rules, our system generates maneli as the output. though the word maneli is also correct in colloquial kannada and the meaning is also exactly similar as manevyalli, we may not find the word maneli in formal usage. hence, we have skipped writing the algorithms to agama sandhi at this stage. the block diagram of the methodology is shown in figure 1 . the user inputs two kannada words in wx notation. the check regular expression module will validate the input words to check if the words follow the pattern suitable to perform lopa or adesha sandhi. if it follows the pattern, then the inputs are passed into generate sandhi module. in this module, the rules are defined. the rules to perform lopa and adesha sandhi are different. we have referred mainly to the kannada grammar book by sharma (2015) and inspired by the sanskrit sandhi works of @xcite and @xcite to obtain these rules and implementation was performed following the same. the generated output is the sandhi word in wx notation. however, we may render the wx input in utf-8 (kannada scripts) to ease the process of learning or understanding the sandhi concept, using the existing standard transliteration schemes. ## results and analysis we have checked in total for 386 unique pairs of kannada words manually extracted from the data we requested from the work carried out by @xcite . we were able to identify 255 pairs for lopa sandhi and 131 pairs for adesha sandhi. the sample data is shown in in one of the instances of adesha sandhi, "kan + @xmath9, the generated output was kamgavalu which is not a valid sandhied word. in the case of lopa sandhi, all the generated outputs are valid outputs. since the input words are not validated by a morphological analyser, any non-kannada word which follows the pattern prescribed for lopa and adesha sandhi will generate a sandhi output as per the rules is the major flaw in this tool. however, for a given input, no pair can undergo both lopa and adesha sandhi at once. the evaluation of this task is performed manually by checking the generated output for the correct euphonic change and the type of that sandhi, and is verified by a senior linguist and a few native speakers as well. ## conclusion and future scope a basic sandhi generator for lopa and adesha sandhi is carried out in this work. this work can be helpful for beginners and teachers who are engaged in the kannada language and trying to understand/teach the concept of sandhi. in future, we would like to enhance this work by adding the non-overlapping and unambiguous rules for agama sandhi. we will include the dictionary in the process to check the validity of the input words. we shall make a user-friendly interface to interact with the system. the generated words can be used to enhance the vocabulary for performing language related tasks viz. kannada machine translation(mt) systems, kannada computational linguistics tools etc. in future.