Turkish Dictionary
============
This resource is a dictionary of Modern Turkish, comprised of the definitions of over 50.000 individual entries. Each entry is matched with its corresponding synset (set of synonymous words and expressions) in the Turkish WordNet, KeNet.
The bare-forms in the lexicon consists of nouns, adjectives, verbs, adverbs, shortcuts, etc. Each bare-form appears the same in the lexicon except verbs. Since the bare-forms of the verbs in Turkish do not have the infinitive affix ‘mAk’, our lexicon includes all verbs without the infinitive affix. The bare-forms with diacritics are included in two forms, with and without diacritics. For example, noun ‘rüzgar’ appear both as ‘rüzgar’ and ‘rüzgâr’.
Special markers are included as bare-forms such as doc, s, etc.
Some compound words are included in their affixed form. For instance, ‘acemlalesi’ appears as it is, but not as ‘acemlale’.
Foreign words, especially proper noun foreign words, are included, so that the system can easily recognize them as proper nouns. For instance, the words ‘abbott’, ‘abbigail’ are example foreign proper nouns. Including foreign proper nouns, there are 19,000 proper nouns in our lexicon.
From derivational suffixes, we only include words which has taken -lI, -sIz, -CI, -lIk, and -CIlIk derivational affixes. For example, the bare-forms ‘abacı’, ‘abdallık’, ‘abdestli’ and ‘abdestlilik’, are included, since they have taken one or more derivational affixes listed above.
Each bare-form has a set of attributes. For instance, ‘abacı’ is a noun, therefore, it includes CL_ISIM attribute. Similarly, ‘abdestli’ is an adjective, which includes IS_ADJ attribute. If the bare-form has homonyms with different part of speech tags, all corresponding attributes are included.
|Name|Purpose|
|---|---|
|CL ISIM, CL FIIL, IS_OA|Part of speech tag(s)|
|IS_DUP|Part of a duplicate form|
|IS_KIS|Abbreviation, which does not obey vowel harmony while taking suffixes.|
|IS_UU, IS_UUU|Does not obey vowel harmony while taking suffixes.|
|IS_BILES|A portmanteau word in affixed form, such as ‘adamotu’|
|IS_B_SI|A portmanteau word ending with ‘sı’, such as ‘acemlalesi’|
|IS_CA|Already in a plural form, therefore can not take plural suffixes such as ‘ler’ or ‘lar’.|
|IS_ST|The second consonant undergoes a resyllabification.|
|IS_UD, IS_UDD, F_UD|Includes vowel epenthesis.|
|IS_KG|Ends with a ‘k’, and when it is followed by a vowel-initial suffix, the final ‘k’ is replaced with a ‘g’.|
|IS_SD, IS_SDD, F_SD|Final consonant gets devoiced during vowel-initial suffixation.|
|F GUD, F_GUDO|The verb bare-form includes vowel reduction.|
|F1P1, F1P1-NO-REF|A verb, and depending on this attribute, the verb can (or can not) take causative suffix, factitive suffix, passive suffix etc.|
Video Lectures
============
[<img src="https://github.com/StarlangSoftware/Dictionary/blob/master/video1.jpg" width="50%">](https://youtu.be/10iAqbfsA2A)[<img src="https://github.com/StarlangSoftware/Dictionary/blob/master/video2.jpg" width="50%">](https://youtu.be/C-_TZDkFwzQ)
For Developers
============
You can also see [Cython](https://github.com/starlangsoftware/Dictionary-Cy), [Java](https://github.com/starlangsoftware/Dictionary), [C++](https://github.com/starlangsoftware/Dictionary-CPP), [C](https://github.com/starlangsoftware/Dictionary-C), [Swift](https://github.com/starlangsoftware/Dictionary-Swift), [Js](https://github.com/starlangsoftware/Dictionary-Js), or [C#](https://github.com/starlangsoftware/Dictionary-CS) repository.
## Requirements
* [Python 3.7 or higher](#python)
* [Git](#git)
### Python
To check if you have a compatible version of Python installed, use the following command:
python -V
You can find the latest version of Python [here](https://www.python.org/downloads/).
### Git
Install the [latest version of Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).
## Pip Install
pip3 install NlpToolkit-Dictionary
## Download Code
In order to work on code, create a fork from GitHub page.
Use Git for cloning the code to your local or below line for Ubuntu:
git clone <your-fork-git-link>
A directory called Dictionary will be created. Or you can use below link for exploring the code:
git clone https://github.com/starlangsoftware/Dictionary-Py.git
## Open project with Pycharm IDE
Steps for opening the cloned project:
* Start IDE
* Select **File | Open** from main menu
* Choose `DataStructure-PY` file
* Select open as project option
* Couple of seconds, dependencies will be downloaded.
Detailed Description
============
+ [TxtDictionary](#txtdictionary)
+ [TxtWord](#txtword)
+ [SyllableList](#syllablelist)
## TxtDictionary
Dictionary is used in order to load Turkish dictionary or a domain specific dictionary. In addition, misspelled words and the true forms of the misspelled words can also be loaded.
To load the Turkish dictionary and the misspelled words dictionary,
a = TxtDictionary()
To load the domain specific dictionary and the misspelled words dictionary,
TxtDictionary(self, fileName=None, misspelledFileName=None)
And to see if the dictionary involves a specific word, getWord is used.
getWord(self, name: str) -> Word
## TxtWord
The word features: To see whether the TxtWord class of the dictionary is a noun or not,
isNominal(self) -> bool
To see whether it is an adjective,
isAdjective(self) -> bool
To see whether it is a portmanteau word,
isPortmanteau(self) -> bool
To see whether it obeys vowel harmony,
notObeysVowelHarmonyDuringAgglutination(self) -> bool
And, to see whether it softens when it get affixes, the following is used.
rootSoftenDuringSuffixation(self) -> bool
## SyllableList
To syllabify the word, SyllableList class is used.
SyllableList(self, word: str)
# Cite
@inproceedings{yildiz-etal-2019-open,
title = "An Open, Extendible, and Fast {T}urkish Morphological Analyzer",
author = {Y{\i}ld{\i}z, Olcay Taner and
Avar, Beg{\"u}m and
Ercan, G{\"o}khan},
booktitle = "Proceedings of the International Conference on Recent Advances in Natural Language Processing (RANLP 2019)",
month = sep,
year = "2019",
address = "Varna, Bulgaria",
publisher = "INCOMA Ltd.",
url = "https://www.aclweb.org/anthology/R19-1156",
doi = "10.26615/978-954-452-056-4_156",
pages = "1364--1372",
}
Raw data
{
"_id": null,
"home_page": "https://github.com/StarlangSoftware/Dictionary-Py",
"name": "NlpToolkit-Dictionary",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "olcaytaner",
"author_email": "olcay.yildiz@ozyegin.edu.tr",
"download_url": "https://files.pythonhosted.org/packages/8a/58/f8331631ce24c8435cb7658dfcd1b52f1a1978b5ac1419cfe118ed725039/NlpToolkit-Dictionary-1.0.35.tar.gz",
"platform": null,
"description": "Turkish Dictionary\n============\n\nThis resource is a dictionary of Modern Turkish, comprised of the definitions of over 50.000 individual entries. Each entry is matched with its corresponding synset (set of synonymous words and expressions) in the Turkish WordNet, KeNet.\n\nThe bare-forms in the lexicon consists of nouns, adjectives, verbs, adverbs, shortcuts, etc. Each bare-form appears the same in the lexicon except verbs. Since the bare-forms of the verbs in Turkish do not have the infinitive affix \u2018mAk\u2019, our lexicon includes all verbs without the infinitive affix. The bare-forms with diacritics are included in two forms, with and without diacritics. For example, noun \u2018r\u00fczgar\u2019 appear both as \u2018r\u00fczgar\u2019 and \u2018r\u00fczg\u00e2r\u2019.\n\nSpecial markers are included as bare-forms such as doc, s, etc.\n\nSome compound words are included in their affixed form. For instance, \u2018acemlalesi\u2019 appears as it is, but not as \u2018acemlale\u2019.\n\nForeign words, especially proper noun foreign words, are included, so that the system can easily recognize them as proper nouns. For instance, the words \u2018abbott\u2019, \u2018abbigail\u2019 are example foreign proper nouns. Including foreign proper nouns, there are 19,000 proper nouns in our lexicon.\n\nFrom derivational suffixes, we only include words which has taken -lI, -sIz, -CI, -lIk, and -CIlIk derivational affixes. For example, the bare-forms \u2018abac\u0131\u2019, \u2018abdall\u0131k\u2019, \u2018abdestli\u2019 and \u2018abdestlilik\u2019, are included, since they have taken one or more derivational affixes listed above.\n\nEach bare-form has a set of attributes. For instance, \u2018abac\u0131\u2019 is a noun, therefore, it includes CL_ISIM attribute. Similarly, \u2018abdestli\u2019 is an adjective, which includes IS_ADJ attribute. If the bare-form has homonyms with different part of speech tags, all corresponding attributes are included.\n\n|Name|Purpose|\n|---|---|\n|CL ISIM, CL FIIL, IS_OA|Part of speech tag(s)|\n|IS_DUP|Part of a duplicate form|\n|IS_KIS|Abbreviation, which does not obey vowel harmony while taking suffixes.|\n|IS_UU, IS_UUU|Does not obey vowel harmony while taking suffixes.|\n|IS_BILES|A portmanteau word in affixed form, such as \u2018adamotu\u2019|\n|IS_B_SI|A portmanteau word ending with \u2018s\u0131\u2019, such as \u2018acemlalesi\u2019|\n|IS_CA|Already in a plural form, therefore can not take plural suffixes such as \u2018ler\u2019 or \u2018lar\u2019.|\n|IS_ST|The second consonant undergoes a resyllabification.|\n|IS_UD, IS_UDD, F_UD|Includes vowel epenthesis.|\n|IS_KG|Ends with a \u2018k\u2019, and when it is followed by a vowel-initial suffix, the final \u2018k\u2019 is replaced with a \u2018g\u2019.|\n|IS_SD, IS_SDD, F_SD|Final consonant gets devoiced during vowel-initial suffixation.|\n|F GUD, F_GUDO|The verb bare-form includes vowel reduction.|\n|F1P1, F1P1-NO-REF|A verb, and depending on this attribute, the verb can (or can not) take causative suffix, factitive suffix, passive suffix etc.|\n\nVideo Lectures\n============\n\n[<img src=\"https://github.com/StarlangSoftware/Dictionary/blob/master/video1.jpg\" width=\"50%\">](https://youtu.be/10iAqbfsA2A)[<img src=\"https://github.com/StarlangSoftware/Dictionary/blob/master/video2.jpg\" width=\"50%\">](https://youtu.be/C-_TZDkFwzQ)\n\nFor Developers\n============\n\nYou can also see [Cython](https://github.com/starlangsoftware/Dictionary-Cy), [Java](https://github.com/starlangsoftware/Dictionary), [C++](https://github.com/starlangsoftware/Dictionary-CPP), [C](https://github.com/starlangsoftware/Dictionary-C), [Swift](https://github.com/starlangsoftware/Dictionary-Swift), [Js](https://github.com/starlangsoftware/Dictionary-Js), or [C#](https://github.com/starlangsoftware/Dictionary-CS) repository.\n\n## Requirements\n\n* [Python 3.7 or higher](#python)\n* [Git](#git)\n\n### Python \n\nTo check if you have a compatible version of Python installed, use the following command:\n\n python -V\n \nYou can find the latest version of Python [here](https://www.python.org/downloads/).\n\n### Git\n\nInstall the [latest version of Git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git).\n\n## Pip Install\n\n\tpip3 install NlpToolkit-Dictionary\n\n## Download Code\n\nIn order to work on code, create a fork from GitHub page. \nUse Git for cloning the code to your local or below line for Ubuntu:\n\n\tgit clone <your-fork-git-link>\n\nA directory called Dictionary will be created. Or you can use below link for exploring the code:\n\n\tgit clone https://github.com/starlangsoftware/Dictionary-Py.git\n\n## Open project with Pycharm IDE\n\nSteps for opening the cloned project:\n\n* Start IDE\n* Select **File | Open** from main menu\n* Choose `DataStructure-PY` file\n* Select open as project option\n* Couple of seconds, dependencies will be downloaded. \n\nDetailed Description\n============\n\n+ [TxtDictionary](#txtdictionary)\n+ [TxtWord](#txtword)\n+ [SyllableList](#syllablelist)\n\n## TxtDictionary\n\nDictionary is used in order to load Turkish dictionary or a domain specific dictionary. In addition, misspelled words and the true forms of the misspelled words can also be loaded.\n\nTo load the Turkish dictionary and the misspelled words dictionary,\n\n\ta = TxtDictionary()\n\t\nTo load the domain specific dictionary and the misspelled words dictionary,\n\n\tTxtDictionary(self, fileName=None, misspelledFileName=None)\n\nAnd to see if the dictionary involves a specific word, getWord is used.\n\n\tgetWord(self, name: str) -> Word\n\n## TxtWord\n\nThe word features: To see whether the TxtWord class of the dictionary is a noun or not,\n\n\tisNominal(self) -> bool\n\nTo see whether it is an adjective,\n\n\tisAdjective(self) -> bool\n\nTo see whether it is a portmanteau word,\n\n\tisPortmanteau(self) -> bool\n\nTo see whether it obeys vowel harmony,\n\n\tnotObeysVowelHarmonyDuringAgglutination(self) -> bool\n\nAnd, to see whether it softens when it get affixes, the following is used.\n\n\trootSoftenDuringSuffixation(self) -> bool\n\n## SyllableList\n\nTo syllabify the word, SyllableList class is used.\n\n\tSyllableList(self, word: str)\n\n# Cite\n\n\t@inproceedings{yildiz-etal-2019-open,\n \ttitle = \"An Open, Extendible, and Fast {T}urkish Morphological Analyzer\",\n \tauthor = {Y{\\i}ld{\\i}z, Olcay Taner and\n \tAvar, Beg{\\\"u}m and\n \tErcan, G{\\\"o}khan},\n \tbooktitle = \"Proceedings of the International Conference on Recent Advances in Natural Language Processing (RANLP 2019)\",\n \tmonth = sep,\n \tyear = \"2019\",\n \taddress = \"Varna, Bulgaria\",\n \tpublisher = \"INCOMA Ltd.\",\n \turl = \"https://www.aclweb.org/anthology/R19-1156\",\n \tdoi = \"10.26615/978-954-452-056-4_156\",\n \tpages = \"1364--1372\",\n\t}",
"bugtrack_url": null,
"license": null,
"summary": "Simple Dictionary Processing",
"version": "1.0.35",
"project_urls": {
"Homepage": "https://github.com/StarlangSoftware/Dictionary-Py"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8a58f8331631ce24c8435cb7658dfcd1b52f1a1978b5ac1419cfe118ed725039",
"md5": "7bdea79f4694a11c503e454c2f2e23ba",
"sha256": "b8e1b468ef31d99ba992cfe296050623aacb1b153a16351a3bc528dd36ab614b"
},
"downloads": -1,
"filename": "NlpToolkit-Dictionary-1.0.35.tar.gz",
"has_sig": false,
"md5_digest": "7bdea79f4694a11c503e454c2f2e23ba",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 1352675,
"upload_time": "2024-08-23T11:05:17",
"upload_time_iso_8601": "2024-08-23T11:05:17.082464Z",
"url": "https://files.pythonhosted.org/packages/8a/58/f8331631ce24c8435cb7658dfcd1b52f1a1978b5ac1419cfe118ed725039/NlpToolkit-Dictionary-1.0.35.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-23 11:05:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "StarlangSoftware",
"github_project": "Dictionary-Py",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "nlptoolkit-dictionary"
}