Turkish is an amazing language. I have been learning it since my wife is Turk and it has been a pleasure. Everything is regular and well defined, even the way a word is constructed is defined by rule.
Compared to my very irregular native language (French), it is a real pleasure.
I supposed, this makes it a much more simple language to do NLP than a lot of other language.
The good thing about Turkish language besides its grammatical structure is the way you pronounce it. I am a very fluent English speaker (and have been living in the US for 8+ years now) and occasionally i am amazed at how some things pronounced compared to root of the words (though when you get the hang of it, you eventually develop an intuition as to why).
It is much easier, but still it is tricky because of exceptions like palatal / non palatal l, ambiguous a and u because we do not use the circumflex accent anymore, subtleties about soft g etc.
It's really fun to observe the generation that grew up without the circumflex accent. I have heard some bizarre pronunciations on Turkish TV particularly with the young reporters.
Well there are also a lot of exceptions in Turkish. Like "e". "Mert" and "Meyhane" have different "e"s. For many words, you just have to know how to pronounce them.
Actually, this is not an exception in Turkish. It is because of that "meyhane" is a foreign word (adapted from Persian). In any case, no one will expect smo to pronounce these 'e's distinguishably.
I think what causes most people to stumble when learning Turkish is vocabulary - with romance languages and to some extent germanic ones, you can get away with a lot just because of similar word roots. With Turkish, a lot of people have to contend with entirely new words for pretty much everything. The rest is easy.
Fascinating stuff. I think I should study the code to understand the language better. I speak both Turkish and Azeri and most of times I'm unable to explain how the grammar works.
GF (https://www.grammaticalframework.org/) might be relevant to this, it seems to have a similar perspective but is an established multilingual project, though with limited support for Turkish (yet).
Fantastic work! I hope to see it become feature complete with the remaining grammatical cases implemented. It would be great to have an active and mature Turkish NLP library. Much needed work! (Preparing a pull request ATM.)
As I pointed before[1], Turkish and computers don't really get along. The beauty of Turkish lies in its irregularity, not the rules you learn. That irregularity is amplified by the shrinking vocabulary in use owing to the disappearance of many Arabic and Persian words which people used to use as recently as the 30s, 40s, and the 50s.
Understanding a Turkish speaker requires a grasp of the entire context at all times. "Matematikten çakmak" can mean to be good at math or to flunk math.
Another example which I noticed because it involved my name is "Uçak düşsün ama sadece Sinan ölsün!"[2] which Google Translate translates as "The plane is your dream, but only Sinan!"[3].
In fact, it means "I wish the plane crashes and only Sinan dies". Of course, "düş" as a noun is "dream" but "düşsün" is derived from the verb "düşmek" which means "to fall" but when it is coupled with a plane means "crash". Interestingly, there is not a good general purpose translation of "plane crash" to Turkish. Sure, you can get away with "uçak kazası" in most cases, but not all crashes are accidents. In fact, something as simple as "five perished in the crash" is perilous to translate. Most will translate that as "kazada beş kişi hayatını kaybetti" even in cases where the crash was not an accident. To deal with similar things, people end up over-using the word "olay" (event).
Now, ponder the difference between "Sinan bir düş" and "Sinan bir düş".
Turkish and machines don't mix.
Now, let's briefly consider the claim that Turkish pronunciation is easy compared to English. It is not. I am not even going to get into regional differences, but leave this one example which became even harder after the military junta abolished the circumflex. List the meanings of the sentence "Karı severim". Which one is pronounced differently? Note that at least one of those meanings can get you in trouble in polite company.
Edumacated Turkish native speakers always had a tendency to resort to English or French words even when completely unnecessary and I've been observing in the press and social media many examples of automated translation errors making it into daily use.
Many mistranslations may be a result of lack of work/research in Turkish language. I don't agree with that Turkish language does not get along with computers well. Yet, there is not a mature work on this. If a language is understandable, analyzable, executable, expressible by humans, computers most probably can process it (this is a claim, not a fact).
> If a language is understandable, analyzable, executable, expressible by humans, computers most probably can process it (this is a claim, not a fact).
In English, a sentence[1] is "a set of words that is complete in itself, typically containing a subject and predicate, conveying a statement, question, exclamation, or command, ...".
In Turkish, sometimes you need a paragraph, sometimes you need a page, and sometimes you need the whole story to provide "a set of words that is complete in itself".
Try these for size[2,3].
I especially love the translations of the word "tane". Or "say" here[4].
I am going to stop before I keel over. Sure, you can try to codify a rule for each and every "set of words that is complete in itself", but I doubt that set is finite.
The way things are going I full expect to see people being required to use Turkish in a way computers can understand before computers can deal with Turkish.
I feel like you are mixing multiple things together, and giving examples from google translate doesn't really support your argument - it just shows google translate sucks for turkish language.
One approach to test the effectiveness of a translator is translating a passage from L1 to L2 and then its reverse. When you do this action many times, if the final version of the passage in L1 gives the meaning of the original passage in L1; then it is a stable translator. They do this test for English-German at Linguee translator. Their claim is that it is more successful than Google translate in these terms. This gives another idea that Google Translate does not give strong results for English-German translations. Considering German is much more closer language to English than Turkish, I don't expect much from Google Translate. Thus, I don't see it as a proof to any argument.
Computers cannot deal with the ambiguities of Turkish. That says nothing about English being superior to Turkish.
However, not having a central controlling authority and not having gone through censorship drives, English does have a much richer vocabulary in common daily use to more specifically express various subtle distinctions whereas a Turkish speaker has to rely on context that is not embedded in the grammatical structure and specific words used.
I agree with you, it is true that from computer linguistics perspective Turkish is more complex in general, but it is indeed possible to tackle all of these issues it given enough time and energy.
> In fact, it means "I wish the plane crashes and only Sinan dies". Of course, "düş" as a noun is "dream" but "düşsün" is derived from the verb "düşmek" which means "to fall" but when it is coupled with a plane means "crash"
The reality, however, is that "to fall" actually does explain what it is happening to the plane, it does not mean something completely different. The word "dus" still conveys the meaning.
> I am not even going to get into regional differences.
That's called an accent, it exists almost in every language. I have a friend from work who pronounces "latency" with LAT (as in latitude) instead of LATE-ncy. He is from midwest.
Turkish pronunciation is _easier_ than English. I don't remember having a spelling competition, but it's common with american schools (and it made its way to hollywood movies).
Nitpicking examples on circumflex is not fair - how many words does Turkish even have of that kind?
Foreign words still tend to follow rules and get 'Turkified' along the way. The rants are mostly related to synonyms. They are not unique to Turkish. Regional differences and slang exist in every language. I don't see a compelling reason how it makes Turkish harder to grasp compared to other languages.
> Turkish pronunciation is easy compared to English.
Yes, it is, and by a high margin! There are some exceptions. Unlike English, where almost everything is an exception.
As a bilingual person Turkish feels way more logical and structured to me. I also get frustrated when I try to map expressions from English to Turkish, which doesn't always work, but that's not the fault of the Turkish language per se.
> Turkish and machines don't mix.
That's a huge claim. I don't think enough effort has been put into it yet to make it. There's a lot of good work being done and the state of NLP in Turkish might get better soon. It's no small feat, and I'm optimistic about it.
These include monolingual lexicons and bilingual dictionaries that can be compiled to finite state transducers, as well as disambiguators/parsers (in vislcg3 Constraint Grammar format) and annotated corpora. For some pairs in the language group, there are also full machine translation systems and spellcheckers (for LibreOffice, Firefox and Microsoft Office).
Much of the data is already available in Debian/Ubuntu/Fedora/OpenSUSE, if you don't need the newest git:
There's no "predicate logic" yet, but the Constraint Grammars already used for disambiguation in Apertium are very well suited for syntax and dependency parsing (there are some quite advanced ones for the Saami languages that could be used as a basis)
I am also going to point out a subtle mistake committed by this specific library. The examples include this:
hanımelinin çiçeği (flower of a plant called hanımeli)
That's subtly wrong. The flower is called hanımeli çiçeği just like portakal çiçeği etc.
I fear that the inability of computers to deal with Turkish will end up morphing Turkish into something computers can deal with instead of improving computers.
Turks have done great damage to Turkish since the junta. Just a simple example: Almost everyone says "Deniz Sokak" instead of the correct "Deniz Sokağı" while somehow getting things like "Anafartalar Caddesi", "Çanakkale Apartmanı" etc right.
Adding computers to the mix is not going to improve things.
34 comments
[ 1.6 ms ] story [ 90.7 ms ] threadI supposed, this makes it a much more simple language to do NLP than a lot of other language.
With Turkish, it's very trivial.
Mert is actually also a foreign word. Well, most (I'd guess 90%) of the words starting with "me" are of Arabic or Persian origin.
But the difference is there in Turkish words as well. Geri, gerzek (which is interestingly a shortcut for "geri zeka") and gevrek.
There are many "e"s in Turkish, difference among which is very sparsely documented.
Don't even get me started on the "ğ" (which is normally supposed to just make the previous vocal letter longer but took on many other roles).
Tell that to people of Samsun :)
Understanding a Turkish speaker requires a grasp of the entire context at all times. "Matematikten çakmak" can mean to be good at math or to flunk math.
Another example which I noticed because it involved my name is "Uçak düşsün ama sadece Sinan ölsün!"[2] which Google Translate translates as "The plane is your dream, but only Sinan!"[3].
In fact, it means "I wish the plane crashes and only Sinan dies". Of course, "düş" as a noun is "dream" but "düşsün" is derived from the verb "düşmek" which means "to fall" but when it is coupled with a plane means "crash". Interestingly, there is not a good general purpose translation of "plane crash" to Turkish. Sure, you can get away with "uçak kazası" in most cases, but not all crashes are accidents. In fact, something as simple as "five perished in the crash" is perilous to translate. Most will translate that as "kazada beş kişi hayatını kaybetti" even in cases where the crash was not an accident. To deal with similar things, people end up over-using the word "olay" (event).
Now, ponder the difference between "Sinan bir düş" and "Sinan bir düş".
Turkish and machines don't mix.
Now, let's briefly consider the claim that Turkish pronunciation is easy compared to English. It is not. I am not even going to get into regional differences, but leave this one example which became even harder after the military junta abolished the circumflex. List the meanings of the sentence "Karı severim". Which one is pronounced differently? Note that at least one of those meanings can get you in trouble in polite company.
Edumacated Turkish native speakers always had a tendency to resort to English or French words even when completely unnecessary and I've been observing in the press and social media many examples of automated translation errors making it into daily use.
PS: A related rants[4,5].
[1]: https://news.ycombinator.com/item?id=17737333
[2]: http://www.hurriyet.com.tr/kelebek/magazin/ucak-dussun-ama-s...
[3]: https://translate.google.com/#auto/en/U%C3%A7ak%20d%C3%BC%C5...!
[4]: https://www.nu42.com/2013/04/translation-of-programming-term...
[5]: https://www.nu42.com/2014/08/replacing-hash-keys-with-values...
In English, a sentence[1] is "a set of words that is complete in itself, typically containing a subject and predicate, conveying a statement, question, exclamation, or command, ...".
In Turkish, sometimes you need a paragraph, sometimes you need a page, and sometimes you need the whole story to provide "a set of words that is complete in itself".
Try these for size[2,3].
I especially love the translations of the word "tane". Or "say" here[4].
I am going to stop before I keel over. Sure, you can try to codify a rule for each and every "set of words that is complete in itself", but I doubt that set is finite.
The way things are going I full expect to see people being required to use Turkish in a way computers can understand before computers can deal with Turkish.
[1]: https://www.google.com/search?q=define%3Asentence
[2]: https://translate.google.com/#tr/en/%C3%A7akmak%20%C3%A7akma...
[3]: https://translate.google.com/#tr/en/%C3%A7ak%20bir%20tane
[4]: https://translate.google.com/#tr/en/say%20ba%C5%9Ftan
https://translate.google.com/#en/tr/fruit%20flies%20like%20a...
Computers cannot deal with the ambiguities of Turkish. That says nothing about English being superior to Turkish.
However, not having a central controlling authority and not having gone through censorship drives, English does have a much richer vocabulary in common daily use to more specifically express various subtle distinctions whereas a Turkish speaker has to rely on context that is not embedded in the grammatical structure and specific words used.
Lately there are bigger advances in the area (e.g. https://arxiv.org/pdf/1805.07946.pdf)
The reality, however, is that "to fall" actually does explain what it is happening to the plane, it does not mean something completely different. The word "dus" still conveys the meaning.
> I am not even going to get into regional differences.
That's called an accent, it exists almost in every language. I have a friend from work who pronounces "latency" with LAT (as in latitude) instead of LATE-ncy. He is from midwest.
Turkish pronunciation is _easier_ than English. I don't remember having a spelling competition, but it's common with american schools (and it made its way to hollywood movies). Nitpicking examples on circumflex is not fair - how many words does Turkish even have of that kind?
> Turkish pronunciation is easy compared to English.
Yes, it is, and by a high margin! There are some exceptions. Unlike English, where almost everything is an exception.
As a bilingual person Turkish feels way more logical and structured to me. I also get frustrated when I try to map expressions from English to Turkish, which doesn't always work, but that's not the fault of the Turkish language per se.
> Turkish and machines don't mix.
That's a huge claim. I don't think enough effort has been put into it yet to make it. There's a lot of good work being done and the state of NLP in Turkish might get better soon. It's no small feat, and I'm optimistic about it.
Which synonyms?
https://github.com/ahmetaa/zemberek-nlp/tree/master/morpholo...
These include monolingual lexicons and bilingual dictionaries that can be compiled to finite state transducers, as well as disambiguators/parsers (in vislcg3 Constraint Grammar format) and annotated corpora. For some pairs in the language group, there are also full machine translation systems and spellcheckers (for LibreOffice, Firefox and Microsoft Office).
Much of the data is already available in Debian/Ubuntu/Fedora/OpenSUSE, if you don't need the newest git:
Or use the stuff from beta.apertium.org for a quick test; click "analyse" to go from form to analysis: http://beta.apertium.org/index.html?choice=tur&qA=ayn%C4%B1%...Click "generate" to go from analysis to form: http://beta.apertium.org/index.html?choice=tur&qG=%5Eayn%C4%...
There's no "predicate logic" yet, but the Constraint Grammars already used for disambiguation in Apertium are very well suited for syntax and dependency parsing (there are some quite advanced ones for the Saami languages that could be used as a basis)
I fear that the inability of computers to deal with Turkish will end up morphing Turkish into something computers can deal with instead of improving computers.
Turks have done great damage to Turkish since the junta. Just a simple example: Almost everyone says "Deniz Sokak" instead of the correct "Deniz Sokağı" while somehow getting things like "Anafartalar Caddesi", "Çanakkale Apartmanı" etc right.
Adding computers to the mix is not going to improve things.