Guguk-0.0.0.1: NLP library for Turkish

Safe HaskellSafe-Inferred
LanguageHaskell2010

Guguk.Morphology.Phonology

Synopsis

Documentation

vowelHarmony :: Text -> Bool Source

Checks for the vowel harmony in the entire word.

aTypeHarmony :: Text -> Char Source

A syllable's vowels are formed according to the last vowel of the word it appends to. There is an A-Type harmony; if last vowel of the word is a back vowel (a, ı, o, u), a is produced. If last vowel is a frontal vowel (e, i, ö, ü), e is produced. For plural suffix [-lAr] vowel is formed as these; kalem-ler, kitap-lar.

iTypeHarmony :: Text -> Char Source

There is also an I-Type harmony; if last vowel is back and unrounded (a, ı), ı is produced. if it is back and rounded (o,u), u is produced. if it is frontal and unrounded (e, i), i is produced and lastly if it is frontal and rounded (ö, ü), ü is produced. For genitive suffix [-(n)In] eight outcomes are possible, four of them: kalem-in, kitab-ın, okul-un, üzüm-ün.

firstConsonantAlteration :: Text -> Text -> (Text, Text) Source

When a suffix starting with some voiced consonants (c,d) is appended to a word ending with a voiceless consonant (f,s,t,k,ç,ş,h,p) first consonant of the suffix becomes voiceless (ç,t). fıstık->fıstık-çı (not fıstık-cı), muzip->muzip-tir (not muzip-dir)

This function returns the two texts in a tuple, with the first consonant alteration done if necessary.

lastConsonantAlteration :: Text -> Text -> (Text, Text) Source

If last letter of a word or suffix is a stop consonant (tr: süreksiz sert sessiz), and a suffix that starts with a vowel is appended to that word, last letter changes (voicing). Changes are p-b, ç-c, k-ğ, t-d, g-ğ. kitap->kitab-a, pabuç->pabuc-u, çocuk->çocuğ-a, hasat->hasad-ı

This function returns the two texts in a tuple, with the last consonant alteration done if necessary.