A study on Turkish sentence analysis using a sample English generator

Page 1

CMPE 590 Machine Translation

Spring 2006

A study on Turkish sentence analysis using a sample English generator

Application Project CMPE 590 Machine Translation

Işık Barış Fidaner

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

Introduction Can a text be translated without being understood? In the Chinese room experiment, the man in the room had no idea what was going on, yet he could answer chinese questions. Similarly, in machine translation, it is very difficult to make the machine understand evn the structure of the sentence. Because in human language, structure and context are intact. In this application project, I choose to translate from Turkish to English. This is because analysing Turkish text seems more interesting. And more difficult too. Turkish morphology is far more complicated than English. Many prepositions, postpositions, pronouns and helping verbs in English can be translated as suffixes after Turkish words. In analysis, I tried to make use of PCKIMMO2 Turkish analyzer. This analyzer is adequate for a successful analysis of a Turkish text. But it is necessary to parse its input. And more importantly, the translator must select which morphology is correct. As there are many suffixes and many forms of these suffixes, a single word can be understood in up to 4-6 ways. As an example, "arkadaşları" could be translated as any of the following "friends"

plural, dative

"their friends" plural, nominative, possesive third plural "their friend" singular, nominative, possesive third plural "his friends"

plural, nominative, possesive third singular

After analysis, the results are converted to English translation.

Method In transfer MT systems, there is a seperate transfer phase where Turkish sentence structures are converted to english structures. But in this project, there is no seperate generation phase, analysis of Turkish also includes the generation of english sentence. Therefore, it is a direct MT system.

Turkish sentences

Analysis and translation

Morphological analysis

Correct Morphologies

Alternative Morphologies

Homograph resolution

Işık Barış Fidaner

English sentences

Grammar and translation rules

2005702532


CMPE 590 Machine Translation

Spring 2006

Stages of translation The translation process is composed of three main stages. These stages are explained in detail in the next part. •

Morphological analysis o In this stage, input text is divided into its words and each word is morphologically analyzed in PCKIMMO2 Turkish analyzer. The analyzer gives several alternative interpretations for every word. o Platform : C++ o Input : Turkish sentences o Output : Alternative morphologies for each word

Homograph resolution o In this stage, correct homograph of each word is chosen. The alternatives may have different suffixes, different roots, different categories. The program enforces some rules for relations among words in same sentence. Best overall combination is selected. o Platform : C++ o Input : Alternative morphologies o Output : Correct morphological analysis for every word

Sentence analysis and generation o After selecting the correct homography, the words must be combined to make Turkish sentences and corresponding English translations. Analysis rules that combine Turkish words into Turkish grammatical structures also contain translation information. When a Turkish sentence is recognized, its English translation is already formed. The analyzer-generator is a slightly modified version of the Feature-Based Parser in the website of the book "Natural Language Processing Techniques in Prolog" (1). o Platform : Prolog o Input : Word morphologies, Turkish grammar and English translation rules o Output : English translation of input sentences

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

Implementation We are going to explain the implementation by an example input sentence: Kağıt yazıcının arkasından yerleştirilmelidir Processing the input Input is divided into sentences and words. In Turkish, every word must be morphologically analyzed before recognizing the sentence structures. input.txt  sentences, words The result of this process is the file input.tr that is to be given to PCKIMMO2 Turkish analyzer. input.txt

input.tr

Kağıt yazıcının arkasından yerleştirilmelidir

kaGIt yazIcInIn arkasIndan yerleStirilmelidir

Morphological Analysis PCKIMMO2 is used as the Turkish morphological analyzer. It gets words of input text as input, and creates alternative morphologies for every word in its output. The output of morphological analysis includes several alternatives for every word in the Turkish text. words  alternative morphologies for every word The result is output.tr file (on the next page) that is given by PCKIMMO2. As you can see, there are four alternative interpretations for "yazıcının", and three alternatives for "yerleştirilmelidir". These alternatives have the following meanings in order. Text-seller is because Turkish "cı" suffix can be added to any noun and means seller of something. Also conversion meaning in suffixes "-leş-tir" and the "-r" suffix that makes an adjective from verb "ye" makes very interesting interpretations. yazıcının of your text-seller of the text-seller of your printer of the printer Işık Barış Fidaner

yerleştirilmelidir It must be converted into ground (root: yer) It must be converted into an eater (root: ye) It must be placed (root: yerleş) 2005702532


CMPE 590 Machine Translation

Spring 2006

output.tr kaGIt 0 kaGId 0 ((*CAT* N)(*R* "kaGIt")(*ROLE* MAT) ) INITIAL NOUNS End yazIcInIn 0 yazI +cH +Hn +nHn 0 ((*CAT* N)(*R* "yazI") (*CONV* N "ci") (*POSS* 2SG) (*CASE* GEN) ) INITIAL NOUNS POST-NOUN PLURAL POSSESSIVE End 0 yazI +cH +nHn 0 ((*CAT* N)(*R* "yazI") (*CONV* N "ci") (*CASE* GEN) ) INITIAL NOUNS POST-NOUN POSSESSIVE End 0 yaz +yHcH +Hn +nHn 0 ((*CAT* V)(*R* "yaz") (*CONV* ADJ "yici") (*POSS* 2SG) (*CASE* GEN) ) INITIAL VERBS POSITIVE PLURAL POSSESSIVE End 0 yaz +yHcH +nHn 0 ((*CAT* V)(*R* "yaz") (*CONV* ADJ "yici") (*CASE* GEN) ) INITIAL VERBS POSITIVE POSSESSIVE End arkasIndan 0 arka +sH +nDAn 0 ((*CAT* N)(*R* "arka")(*ROLE* ADJ) (*POSS* 3SG) (*CASE* ABL) ) INITIAL NOUNS PLURAL POSSESSIVE-3 End yerleStirilmelidir 0 yer +lAS +DHr +Hl +mAlH +DHr 0 0 ((*CAT* N)(*R* "yer") (*CONV* V "las") (*VOICE* CAUS) (*VOICE* PASS) (*ASPECT* NECES) (*MISC* COPU) (*AGR* 3SG) ) INITIAL NOUNS POST-NOUN F5PR CAUSATIVE-DHR VERBAL-STEM OTHER-TENSE OTHER-TENSE-DIR End 0 ye +Hl ((*CAT* V)(*R* CAUS) (*VOICE* ) INITIAL VERBS CAUSATIVE-DHR

+Hr +lAS +DHr +mAlH +DHr 0 0 "ye") (*CONV* ADJ "ir") (*CONV* V "las") (*VOICE* PASS) (*ASPECT* NECES) (*MISC* COPU) (*AGR* 3SG) VERBAL-STEM POST-NOUN F5PR VERBAL-STEM OTHER-TENSE OTHER-TENSE-DIR End

0 yerleS +DHr +Hl +mAlH +DHr 0 0 ((*CAT* V)(*R* "yerleS") (*VOICE* CAUS) (*VOICE* PASS) (*ASPECT* NECES) (*MISC* COPU) (*AGR* 3SG) ) INITIAL VERBS F5PR CAUSATIVE-DHR VERBAL-STEM OTHER-TENSE OTHER-TENSE-DIR End

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

Homograph resolution The correct alternative for each word is selected in this part. This is based on some rules that check types and attributes of words that come before and after the word. alternative morphologies  correct morphology of each word Kağıt yazıcının arkasından yerleştirilmelidir In this sentence, kağıt and arkasından both have a single morphology, and are not a problem. But yazıcının and yerleştirilmelidir have several alternatives to be selected from. yazıcının 1) Noun, possessive second person singular, genitive case 2) Noun, not possessive, genitive case 3) Adjective converted from verb, possessive second person singular, genitive case 4) Adjective converted from verb, not possessive, genitive case As you see, all alternatives have genitive case in common. Then, it must be decided: •

if the word is possesive second singular, or not

if the word is adjective converted from verb, or just a noun.

In the homograph resolution stage, the loop is as follows: 1) Mark every word in the sentence "incorrect" 2) Do... 3)

Randomly change interpretation of "incorrect" words.

4)

Check every word against a set of rules, by marking "incorrect" words.

5) Loop until all words are correct, or 10 000 iterations tried. 6) If not all words are correct, select best combination found so far. In this case, rules that are violated by incorrect words are written as comments in the prolog lexicon file. All homograph resolution rules can be found in the next page. The rules that are used in our example are listed below: •

• •

According to the second rule, there must be a corresponding pronoun for a word with possesive (except third person singular). This rule enforces that there must be a corresponding pronoun for second person singular possesive interpretation of "yazıcının". But there is no pronoun, then interpretations (1) and (3) are marked incorrect. Fifth rule says that adjectives and adjective conversions from verbs must be in nominative case. The interpretation (4) of "yazıcının" violates this rule. Therefore, interpretation (2) is selected as the correct morphology for "yazıcının": Noun, not possessive, genitive case

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

Homograph resolution rules 1) There must be a noun/pronoun before a possesive word 2) There must be a corresponding pronoun for a word with possesive (except third person singular) 3) The last word of a sentence must be a verb or a conversion from verb 4) Verbs must be the last word in a sentence, or must be followed by a conjunction (except conditional verbs) 5) Adjectives and adjective conversions from verbs must be in nominative case 6) There must be noun/pronoun or "olmak" just after adjectives 7) There must be adjective/verb/infinitive just after adverbs 8) There cannot be a verb just after a word in genitive case 9) There must be a possesive word after a word in genitive case

The word "yerleştirilmelidir" must also be resolved: yerleştirilmelidir 1) Verb converted from a noun (yer-leş), causative and passive voice, necessity aspect, third person singular 2) Verb root converted into an adjective, then a verb (ye-r-leş), causative and passive voice, necessity aspect, third person singular 3) Verb (yerleş), causative and passive voice, necessity aspect, third person singular As you see, the only difference in these alternatives are the root and conversions of the word. Nevertheless, it is very difficult to decide between them, because all interpretations are consistent with the rules. We cannot know if the root is "ye", "yer" or "yerleş" having no information about the meaning and the context of the sentence. Currently, the program does not analyze this far. Lexicon generation A lexicon is generated by using the correct alternatives of morphological analysis. This lexicon is special to the current input sentences given to the translator. correct morphologies  input-based lexicon The lexicon entries created for our example sentence are on the next page.

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

lex(kagit,N) :- N = [ sozcuk:kagit, rol:materyal, kok:kagit, ceviri:paper, tur:ad, sayi:tekil, durum:yalin, kisi:tekil3, |_]. lex(yazicinin,N) :- N = [ sozcuk:yazicinin, durum:ilgi, tur:ad, kok:yazi, ceviri:printer, sayi:tekil, kisi:tekil3, |_]. lex(arkasindan,N) :- N = [ sozcuk:arkasindan, durum:uzaklasma, iyelik:tekil3, rol:rol_sifat, kok:arka, ceviri:rear, tur:ad, sayi:tekil, kisi:tekil3, |_]. lex(yerlestirilmelidir,N) :- N = [ sozcuk:yerlestirilmelidir, kisi:tekil3, sayi:tekil, diger:kesinlik, kip:zorunluluk, cati:edilgen, tur:eylem, kok:yerles, ceviri:insert, |_].

Root dictionary A dictionary is created. This includes english translations of word roots that are used in the input text. turkish-english root dictionary  root translations for input

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

ceviri.txt kagit paper yerles insert yazici printer arka rear Grammar rules Grammar rules that define structure of a Turkish sentence and English translations are kept as a prolog file. The rules concerning our example are below. Kağıt yazıcının arkasından yerleştirilmelidir In this sentence, "kağıt" is the subject, "yazıcının arkasından" is the object that is in ablative case (uzaklaşma durumu), and "yerleştirilmelidir" is the verb.

Tc

---> [O,T,Y] :Tc = [tur:tumce, ozne:OS, kisi:K, tumlec:TS, yuklem:YS, ceviri:[W1,W3,W2] |X], O = [tur:ozne, sozcuk:OS, ceviri:W1 |_], T = [tur:tumlec, sozcuk:TS, ceviri:W2 |_], Y = [tur:yuklem, sozcuk:YS, kisi:K, ceviri:W3 |X].

This is a rule for a sentence. It is composed of a subject, object, and verb. These are recognized in order SOV, but translation is in order SVO. There are also rules for sentences that does not have subject, only have subject etc.

AT

---> [A] :AT = [tur:tamlama |X], A = [tur:ad |X].

And this rule defines a phrase from a noun. As the phrase obtains all features of the noun (The X carries this features), phrase for a nominative noun is also in nominative case. First word "kağıt" is a nominative noun. The rule says that it is also a nominative phrase.

O

---> [Tm] :O = [tur:ozne, durum:yalin, ceviri:W |X], Tm = [tur:tamlama, durum:yalin, ceviri:W |X].

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

This rule defines a subject from a phrase that is in nominative case. As "kağıt" is a nominative phrase, it can also be the subject of a sentence. In the next rule, verbs in passive voice and necessity aspect are defined. The translation of the verb is transformed in this step to the form "must be ....ed". Y

---> [E] :Y = [tur:yuklem, kip:zorunluluk, cati:edilgen, ceviri:[must,be,W,ed] |X], E = [tur:eylem, kip:zorunluluk, cati:edilgen, ceviri:W |X].

As the words "yazıcının" and "arkasından" are nouns, they are also considered to be phrases (tamlama) in genitive (ilgi) and ablative (uzaklaşma) cases.

BAT

---> [AT1,AT2] :BAT = [tur:tamlama,tamlayan:T1,tamlanan:T2, sozcuk:T2, ceviri:[W2,of,W1] |X], AT1 = [tur:ad, sayi:yok, durum:ilgi, kisi:A, sozcuk:T1, ceviri:W1 |_], AT2 = [tur:ad, sayi:yok, iyelik:A, sozcuk:T2, ceviri:W2 |X].

This rule defines a "definite noun phrase" (belirtili ad tamlaması) from two nouns. First noun is the determining noun and the second is determined noun. The determining noun must be in genitive case (ilgi durumu), and determined noun must have a possessive (iyelik eki) that matches with the person (kisi) of the determining noun. Note that there is an X after the second noun (determined noun). This is because the noun phrase carries the features of the determined noun. In this case, the whole phrase is considered to be in ablative case, because the determined word "arkasından" is ablative. T

---> [Tm] :T = [tur:tumlec, durum:uzaklasma, ceviri:[from,W]|X], Tm = [tur:tamlama, durum:uzaklasma, ceviri:W |X].

This rule recognizes objects from phrases in ablative case. This rule takes a phrase (tamlama) and the preposition "from" is added to the translation of this phrase. It follows that "yazıcının arkasından" can be an ablative object of a sentence.

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

Finally, the subject, object and verb is recognized together as a sentence, and the translation is created: subject: object: verb:

kağıt yazıcının arkasından yerleştirilmelidir

  

paper [from, [rear, of, printer]] [must, be, insert, ed]

whole sentence: [paper, [must, be, insert, ed], [from, [rear, of, printer]]]

Conclusion Analysis of a language like Turkish, that makes very heavy use of suffixes is difficult. A morphological parser like PC-Kimmo helps very much, but to handle the problem of homograph resolution, there is a need for either a very large database of word usage, or we need a very intelligent program. As homograph resolution and sentence analysis is part of the same problem, they may be combined in the same stage. English generation part of the program could not be more simple. This was because I focused on Turkish analysis. It would be better if a seperate transfer stage is developed that converts Turkish sentence structures into English structures. Lastly, a generation stage must create perfect English sentences from these structures. To conclude, in this project I tried to create a Turkish sentence analyzing system that is adequate for a general purpose machine translation system. With robust transfer and generation stages, the analyzer can be used to translate Turkish into any other language.

References 1)

Natural Language Processing Techniques in Prolog, Patrick Blackburn and Kristina Striegnitz http://www.coli.uni-saarland.de/~kris/nlp-with-prolog/html/

2)

PC-Kimmo: A Morphological Parser http://www.sil.org/pckimmo/

3)

SWI Prolog http://www.swi-prolog.org/

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

Appendix 1: Example results Some example translations are: Kağıdın yerleştirilmesi [[insert, ing], of, paper] Kağıt yazıcının arkasından yerleştirilmelidir [paper, [must, be, insert, ed], [from, [rear, of, printer]]] Traktör kapağını açınız [open, [tractor, cover]] Çarkın kilidini açınız [open, [lock, of, sprocket]] Henüz yerleşmemişse sağa doğru kaydırınız [slide, [[if, not, place, ed, already], [to, right]]] Çarkı yerinde kilitleyiniz [lock, [sprocket, [at, place]]] Diğer çarkın kilidini açınız [open, [lock, of, other, sprocket]] Kağıt genişliğine uygun olarak yerleştiriniz [insert, [[[to, [paper, width]], appropriate]]] Traktör çubuğu boyunca silindirleri düzenlice aralayınız [space, [[[along, tractor, bar], [roller, s]], evenly]] Çark kapaklarını açınız [open, [sprocket, [cover, s]]] Kağıttaki delikleri iki çarka göre yerleştiriniz [insert, [[[hole, s], on, paper], [to, [in_alignment_with, two, sprocket]]]] Çark kapaklarını kapatınız [close, [sprocket, [cover, s]]] Traktör kapağındaki iki sürgüyü silindirlere göre ayarlayınız [adjust, [[two, slider, s, on, tractor, cover], [in_alignment_with, [roller, s]]]] Kapağı sıkıca kapatınız [close, [cover, firmly]] Kağıt oluğunu alt konumunda koyunuz [paper, put, [chute, [at, [down, position]]]] Kolu çizim için işaretli konuma getiriniz [put, [lever, [to, [position, marked, for, drawing]]]] Kapatılmışsa yazıcıyı açınız [open, [[if, close, ed], printer]] "Load" yazısı ekranda görünür [[load, text], show, [at, display]] Kağıt yüklemek için farklı konumlar seçebilirsiniz [select, [[position, s], different, for, [load, ing, paper]]] Birinci konum yalnızca kapağı açarsanız kullanılabilir [[first, position], [use, ed], [[only, cover], [if, open, ed]]]

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

Appendix 2: Sample source codes Source code from homograph resolution: void homograph_resolve() { all_incorrect(); int best_incorrect_count = word_count; int best_alt[WORDCOUNT], iter=0; printf("Resolving homographs...\n"); do {

random_resolve(); determine_incorrect_words(false); if(incorrect_count < best_incorrect_count) { printf("%d incorrect words in iteration %d\n",incorrect_count,iter); best_incorrect_count = incorrect_count; for(int w=0;w<word_count;w++) best_alt[w] = correct_alt[w]; } if(iter == 10000) { for(int w=0;w<word_count;w++) correct_alt[w] = best_alt[w]; determine_incorrect_words(true); break; }

iter++; } while(incorrect_count > 0); printf("Done! %d incorrect words\n",incorrect_count); //getch(); }

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

void determine_incorrect_words(bool message_on) { int w=0,s; bool correct; incorrect_count=0; for(w=0;w<word_count;w++) { s = wordbelong[w]; if(alter_count[w]>1) { correct = true; if( check_at(s,w,"iyelik") ) { correct = correct && ( check_before(s,w,"ad") || check_before(s,w,"adil") ); INCORRECT("İyelik durumundaki kelimeden önce ad/adıl olmalı") if( check_at(s,w,"iyelik","tekil1") ) correct = correct && ( check_before(s,w,"adil","tekil1") ); else if( check_at(s,w,"iyelik","tekil2") ) correct = correct && ( check_before(s,w,"adil","tekil2") ); else if( check_at(s,w,"iyelik","cogul1") ) correct = correct && ( check_before(s,w,"adil","cogul1") ); else if( check_at(s,w,"iyelik","cogul2") ) correct = correct && ( check_before(s,w,"adil","cogul2") ); INCORRECT("İkinci/birinci kişi için öncesinde uygun adıl olmalı")

}

if( check_at(s,w,"iyelik","cogul3") ) correct = correct && ( check_before(s,w,"kisi","cogul3") ); INCORRECT("Üçüncü çoğul iyelik var kişi yok")

if( !check_at(s,w+1) ) correct = correct && ( check_at(s,w,"eylem") || check_at(s,w,"eylemsi") ); INCORRECT("Sondaysa eylem/eylemsi olmalıdır") if( check_at(s,w,"tur","sifat") || check_at(s,w,"yan","sifat") ) correct = correct && !( check_at(s,w,"durum") ); INCORRECT("Sıfat/sıfat-eylemse yalın olmalıdır") if( check_at(s,w,"eylem") ) { correct = correct && (check_at(s,w,"kosul") || check_at(s,w+1,"baglac") || !check_at(s,w+1) ); INCORRECT("Eylemse sonda olmalıdır(yanında baglaç yoksa ve koşul çekiminde değilse)") }

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

if( check_at(s,w,"sifat") ) correct = correct && ( check_at(s,w+1,"ad") || check_at(s,w+1,"adil") || check_at(s,w+1,"kok","ol") ); INCORRECT("Sıfattan hemen sonra ad/adıl gelmeli (olmak hariç)") if( check_at(s,w,"belirtec") && !check_at(s,w,"sinirlama") ) correct = correct && ( check_at(s,w+1,"sifat") || check_at(s,w+1,"eylem") || check_at(s,w+1,"mastar") ); INCORRECT("Belirteçten hemen sonra sıfat/eylem/mastar gelmeli") if( check_at(s,w,"ilgi") ) correct = correct && !check_at(s,w+1,"eylem"); INCORRECT("Tamlayandan hemen sonra eylem gelemez") if( check_at(s,w,"ilgi") ) correct = correct && ( check_after(s,w,"iyelik") ); INCORRECT("Tamlayandan sonra iyelik durumunda kelime olmalı") CHECKCOMPLETE: if(correct) { CORRECT; incorrect[w]=false; } else { incorrect_count++; incorrect[w]=true; } } }

}

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

Appendix 3: Sample grammar rules Example grammar rules from gramer.pl: Rules for a sentence: Tc ---> [O,T,Y] :Tc = [tur:tumce, ozne:OS, kisi:K, tumlec:TS, yuklem:YS, ceviri:[W1,W3,W2] | X], O = [tur:ozne, sozcuk:OS, ceviri:W1 |_], T = [tur:tumlec, sozcuk:TS, ceviri:W2 |_], Y = [tur:yuklem, sozcuk:YS, kisi:K, ceviri:W3 |X]. Tc ---> [T,Y] :Tc = [tur:tumce, tumlec:TS, yuklem:YS, ceviri:[W2,W1] |X], T = [tur:tumlec, sozcuk:TS, ceviri:W1 |_], Y = [tur:yuklem, sozcuk:YS, kisi:cogul2, ceviri:W2 |X]. Tc ---> [Y] :Tc = [tur:tumce, yuklem:YS, ceviri:W |X], Y = [tur:yuklem, sozcuk:YS, ceviri:W |X]. Tc ---> [Tc1,B,Tc2] :Tc = [tur:tumce, ceviri:[W1,WB,W2] |X], Tc1 = [tur:tumce, ceviri:W1 |_], Tc2 = [tur:tumce, ceviri:W2 |X], B = [tur:baglac, ceviri:WB |_]. Tc ---> [Tc1,Tc2] :Tc = [tur:tumce, ceviri:[W1,W2] |X], Tc1 = [tur:tumce, cekim:kosul, ceviri:W1 |_], Tc2 = [tur:tumce, ceviri:W2 |X]. Tc ---> [O,Y] :Tc = [tur:tumce, ozne:OS, yuklem:YS, ceviri:[W1,W2] |X], O = [tur:ozne, kisi:K,sozcuk:OS, ceviri:W1 |_], Y = [tur:yuklem, kisi:K,sozcuk:YS, ceviri:W2 |X].

Rules for an object: T

---> [T1,T2] :T = [tur:tumlec, ceviri:[W1,W2] |X], T1 = [tur:tumlec, ceviri:W1 |X], T2 = [tur:tumlec, ceviri:W2 |_]. T ---> [Tm] :T = [tur:tumlec, durum:yonelme, ceviri:[to,W] |X], Tm = [tur:tamlama, durum:yonelme, ceviri:W |X]. T ---> [Tm] :T = [tur:tumlec, durum:yalin, ceviri:W |X], Tm = [tur:tamlama, durum:yalin, ceviri:W |X]. T ---> [Tm] :T = [tur:tumlec, durum:belirtme, ceviri:W |X], Tm = [tur:belirtec, ceviri:W |X]. T ---> [Tm] :T = [tur:tumlec, durum:belirtme, ceviri:W |X], Tm = [tur:sifat, ceviri:W |X]. T ---> [Tm] :T = [tur:tumlec, durum:belirtme, ceviri:W |X], Tm = [tur:tamlama, durum:belirtme, ceviri:W |X].

Işık Barış Fidaner

2005702532


CMPE 590 Machine Translation

Spring 2006

T

---> [Tm] :T = [tur:tumlec, durum:arac, ceviri:[with,W]|X], Tm = [tur:tamlama, durum:arac, ceviri:W |X]. T ---> [Tm] :T = [tur:tumlec, durum:bulunma, diger:yok, ceviri:[at,W]|X], Tm = [tur:tamlama, durum:bulunma, diger:yok, ceviri:W |X]. T ---> [Tm] :T = [tur:tumlec, durum:uzaklasma, ceviri:[from,W]|X], Tm = [tur:tamlama, durum:uzaklasma, ceviri:W |X].

Rule for a subject: O

O

---> [Tm] := [tur:ozne, durum:yalin, ceviri:W |X],

Tm = [tur:tamlama, durum:yalin, ceviri:W |X].

Rules for a verb: Y Y E Y Y

Y E Y E

Y

Y E

---> [E] := [tur:yuklem, kip:zorunluluk, cati:edilgen, ceviri:[must,be,W,ed] |X], = [tur:eylem, kip:zorunluluk, cati:edilgen, ceviri:W |X]. ---> [E] := [tur:yuklem, cati:edilgen, ceviri:[W,ed] |X], = [tur:eylem, cati:edilgen, ceviri:W |X]. ---> [E] := [tur:yuklem, kip:zorunluluk, ceviri:[must,W] |X], = [tur:eylem, kip:zorunluluk, ceviri:W |X]. ---> [E] := [tur:yuklem |X], = [tur:eylem |X].

Rules for a adjective converted from a verb: YTc ---> [O,T,Y] :YTc = [tur:sifat_eylem, yan:yantumce, ozne:OS, tumlec:TS, yuklem:YS, sozcuk:YS, ceviri:[W1,W3,ed,W2] |X], O = [tur:ozne, kisi:K,sozcuk:OS, ceviri:W1 |_], T = [tur:tumlec, sozcuk:TS, ceviri:W2 |_], Y = [tur:eylemsi, kisi:K,yan:sifat, sozcuk:YS, ceviri:W3 |X]. YTc ---> [T,Y] :YTc = [tur:sifat_eylem, yan:yantumce, tumlec:TS, yuklem:YS, sozcuk:YS, ceviri:[W2,ed,W1] |X], T = [tur:tumlec, sozcuk:TS, ceviri:W1 |_], Y = [tur:eylemsi, diger:yok, yan:sifat, sozcuk:YS, ceviri:W2 |X]. YTc ---> [O,Y] :YTc = [tur:sifat_eylem,yan:yantumce, ozne:OS, yuklem:YS, sozcuk:YS, ceviri:[W1,W2,ed]|X], O = [tur:ozne, kisi:K,sozcuk:OS, ceviri:W1 |_], Y = [tur:eylemsi, kisi:K,yan:sifat, sozcuk:YS, ceviri:W2 |X]. YTc ---> [Y] :YTc = [tur:sifat_eylem, yan:yantumce, yuklem:YS, sozcuk:YS, ceviri:[W,ed] |X], Y = [tur:eylemsi, yan:sifat, sozcuk:YS, ceviri:W |X].

Işık Barış Fidaner

2005702532


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.