# UzMorphAnalyser
https://pypi.org/project/UzMorphAnalyser <br>
https://github.com/UlugbekSalaev/UzMorphAnalyser
UzMorpAnalyser tool is focused to make morphological analysis of Uzbek word based on morphemes. The tool includes Stemmer, Lemmatizer, Morphological Analyze methods.
It is created as a python library and uploaded to [PyPI](https://pypi.org/). It is simply easy to use in your python project or other programming language projects via the API.
## About project
The tool is focused to make morphological analysis of Uzbek word based on morphemes. The tool includes Stemmer, Lemmatizer, Morphological Analyze methods.
## Quick links
- [Github](https://github.com/UlugbekSalaev/UzMorphAnalyser)
- [PyPI](https://pypi.org/project/UzMorphAnalyser/)
- [Web-UI](https://nlp.urdu.uz/?page=uzmorphanalyser)
## Demo
You can use [web interface](http://nlp.urdu.uz/?page=morphanalyser).
## Features
- Stemmer
- Lemmatizer
- Lemmatizer with POS tag
- Extract Morphemes list
- Analyzer
- Analyzer with POS tag
## Usage
Three options to run UzMorphAnalyser:
- pip
- API
- Web interface
### pip installation
To install UzMorphAnalyser, simply run:
```code
pip install UzMorphAnalyser
```
After installation, use in python like following:
```yml
# import the library
from UzMorphAnalyser import UzMorphAnalyser
# create an object
analyzer = UzMorphAnalyser()
# call stem method
analyzer.stem('maktabimda')
# call lemmatize method
analyzer.lemmatize('maktabimda')
# call lemmatize method with POS tag
analyzer.lemmatize('maktabimda', analyzer.POS.NOUN)
# call analyze method
analyzer.analyze('maktabimda')
# call analyze method with POS tag
analyzer.analyze('maktabimda', analyzer.POS.NOUN)
```
### API
API configurations:
- Method: GET
- Response type: <code>string</code>
- URL: https://nlp.urdu.uz:8080/uzmorphanalyser/stem
- Parameters: <code>word:string</code></code>
- Sample Request: https://nlp.urdu.uz:8080/uzmorphanalyser/stem?word=maktabimda
- https://nlp.urdu.uz:8080/uzmorphanalyser/lemmatize
- Parameters: <code>word:string</code>, <code>pos:string</code>
- Sample Request: https://nlp.urdu.uz:8080/uzmorphanalyser/lemmatize?word=maktabimda&pos=NOUN
- https://nlp.urdu.uz:8080/uzmorphanalyser/analyze
- Parameters: <code>word:string</code>, <code>pos:string</code>
- Sample Request: https://nlp.urdu.uz:8080/uzmorphanalyser/analyze?word=maktabimda&pos=NOUN
<i>Note: argument <code>pos</code> is optional in all methods</i>
### Web-UI
The web interface created to use easily the library:
You can use web interface [here](http://nlp.urdu.uz/?page=uzmorphanalyser).
![Demo image](./docs/images/web-interface-ui.png)
### Options
When you use PyPI or API, you should use following options as POS tag of a word which is optional parameters of `lemmatize()` and `analyze()` metods:<br>
`NOUN` Noun<br>
`VERB` Verb<br>
`ADJ` Adjective<br>
`NUM` Numerical<br>
`PRN` Pronoun<br>
`ADV` Adverb
_`pos` parameters is optional for `lemmatize` and `analyze` metods._
### Result Explaining
It returns single word in a string type from each method, `stem` and `lemmatize`, that is stem and lemma of given word, respectively.
#### Result from `analyze` method
`analyze` method returns a response as list of dictionary which is may contain following keys:
```yml
{'word', 'lemma', 'pos', 'affix','affixed','tense','person','cases','singular','plural','question','negative','impulsion','copula','verb_voice','verb_func'}:
```
## Documentation
See [here](https://github.com/UlugbekSalaev/UzMorphAnalyser).
## Citation
```tex
@misc{ulugbek_salaev_2023_10155225,
author = {Ulugbek Salaev},
title = {{MODELING MORPHOLOGICAL ANALYSIS BASED ON WORD-
ENDING FOR UZBEK LANGUAGE}},
month = nov,
year = 2023,
publisher = {Zenodo},
doi = {10.5281/zenodo.10155225},
url = {https://doi.org/10.5281/zenodo.10155225}
}
```
## Contact
For help and feedback, please feel free to contact [the author](https://github.com/UlugbekSalaev).
Raw data
{
"_id": null,
"home_page": "https://github.com/UlugbekSalaev/UzMorphAnalyser",
"name": "UzMorphAnalyser",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "mophology,uzbek-language,stemmer,lemmatize,morphological analysis",
"author": "Ulugbek Salaev",
"author_email": "ulugbek0302@gmail.com",
"download_url": "",
"platform": null,
"description": "# UzMorphAnalyser\r\n\r\nhttps://pypi.org/project/UzMorphAnalyser <br>\r\nhttps://github.com/UlugbekSalaev/UzMorphAnalyser\r\n\r\nUzMorpAnalyser tool is focused to make morphological analysis of Uzbek word based on morphemes. The tool includes Stemmer, Lemmatizer, Morphological Analyze methods.\r\nIt is created as a python library and uploaded to [PyPI](https://pypi.org/). It is simply easy to use in your python project or other programming language projects via the API. \r\n\r\n## About project\r\nThe tool is focused to make morphological analysis of Uzbek word based on morphemes. The tool includes Stemmer, Lemmatizer, Morphological Analyze methods.\r\n\r\n## Quick links\r\n\r\n- [Github](https://github.com/UlugbekSalaev/UzMorphAnalyser)\r\n- [PyPI](https://pypi.org/project/UzMorphAnalyser/)\r\n- [Web-UI](https://nlp.urdu.uz/?page=uzmorphanalyser)\r\n\r\n## Demo\r\n\r\nYou can use [web interface](http://nlp.urdu.uz/?page=morphanalyser).\r\n\r\n## Features\r\n\r\n- Stemmer\r\n- Lemmatizer\r\n- Lemmatizer with POS tag\r\n- Extract Morphemes list\r\n- Analyzer\r\n- Analyzer with POS tag\r\n\r\n## Usage\r\n\r\nThree options to run UzMorphAnalyser:\r\n\r\n- pip\r\n- API \r\n- Web interface\r\n\r\n### pip installation\r\n\r\nTo install UzMorphAnalyser, simply run:\r\n\r\n```code\r\npip install UzMorphAnalyser\r\n```\r\n\r\nAfter installation, use in python like following:\r\n```yml\r\n# import the library\r\nfrom UzMorphAnalyser import UzMorphAnalyser\r\n# create an object \r\nanalyzer = UzMorphAnalyser()\r\n# call stem method\r\nanalyzer.stem('maktabimda')\r\n# call lemmatize method\r\nanalyzer.lemmatize('maktabimda')\r\n# call lemmatize method with POS tag\r\nanalyzer.lemmatize('maktabimda', analyzer.POS.NOUN)\r\n# call analyze method\r\nanalyzer.analyze('maktabimda')\r\n# call analyze method with POS tag\r\nanalyzer.analyze('maktabimda', analyzer.POS.NOUN)\r\n```\r\n\r\n### API\r\nAPI configurations: \r\n - Method: GET\r\n - Response type: <code>string</code>\r\n\r\n\r\n - URL: https://nlp.urdu.uz:8080/uzmorphanalyser/stem\r\n - Parameters: <code>word:string</code></code>\r\n - Sample Request: https://nlp.urdu.uz:8080/uzmorphanalyser/stem?word=maktabimda\r\n\r\n\r\n - https://nlp.urdu.uz:8080/uzmorphanalyser/lemmatize\r\n - Parameters: <code>word:string</code>, <code>pos:string</code>\r\n - Sample Request: https://nlp.urdu.uz:8080/uzmorphanalyser/lemmatize?word=maktabimda&pos=NOUN\r\n\r\n\r\n - https://nlp.urdu.uz:8080/uzmorphanalyser/analyze\r\n - Parameters: <code>word:string</code>, <code>pos:string</code>\r\n - Sample Request: https://nlp.urdu.uz:8080/uzmorphanalyser/analyze?word=maktabimda&pos=NOUN\r\n\r\n<i>Note: argument <code>pos</code> is optional in all methods</i>\r\n### Web-UI\r\n\r\nThe web interface created to use easily the library:\r\nYou can use web interface [here](http://nlp.urdu.uz/?page=uzmorphanalyser).\r\n\r\n![Demo image](./docs/images/web-interface-ui.png)\r\n\r\n\r\n### Options\r\nWhen you use PyPI or API, you should use following options as POS tag of a word which is optional parameters of `lemmatize()` and `analyze()` metods:<br>\r\n `NOUN` Noun<br>\r\n `VERB` Verb<br>\r\n `ADJ` Adjective<br>\r\n `NUM` Numerical<br>\r\n `PRN` Pronoun<br>\r\n `ADV` Adverb\r\n\r\n_`pos` parameters is optional for `lemmatize` and `analyze` metods._\r\n\r\n### Result Explaining\r\n\r\nIt returns single word in a string type from each method, `stem` and `lemmatize`, that is stem and lemma of given word, respectively. \r\n#### Result from `analyze` method\r\n`analyze` method returns a response as list of dictionary which is may contain following keys: \r\n```yml\r\n {'word', 'lemma', 'pos', 'affix','affixed','tense','person','cases','singular','plural','question','negative','impulsion','copula','verb_voice','verb_func'}: \r\n```\r\n\r\n## Documentation\r\n\r\nSee [here](https://github.com/UlugbekSalaev/UzMorphAnalyser).\r\n\r\n## Citation\r\n\r\n```tex\r\n@misc{ulugbek_salaev_2023_10155225,\r\n author = {Ulugbek Salaev},\r\n title = {{MODELING MORPHOLOGICAL ANALYSIS BASED ON WORD- \r\n ENDING FOR UZBEK LANGUAGE}},\r\n month = nov,\r\n year = 2023,\r\n publisher = {Zenodo},\r\n doi = {10.5281/zenodo.10155225},\r\n url = {https://doi.org/10.5281/zenodo.10155225}\r\n}\r\n```\r\n\r\n## Contact\r\n\r\nFor help and feedback, please feel free to contact [the author](https://github.com/UlugbekSalaev).\r\n",
"bugtrack_url": null,
"license": "",
"summary": "UzMorphAnalyser | Uzbek Morphological Analyser on Python",
"version": "0.0.16",
"project_urls": {
"Bug Tracker": "https://github.com/UlugbekSalaev/UzMorphAnalyser/issues",
"Homepage": "https://github.com/UlugbekSalaev/UzMorphAnalyser"
},
"split_keywords": [
"mophology",
"uzbek-language",
"stemmer",
"lemmatize",
"morphological analysis"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b2083622159aefd1813b000d9cf7b3e28af36c5a0a12e21cd5e93915f59dcb2b",
"md5": "23038da69ca846c116f9465a43bc7d0d",
"sha256": "64a8f91cca4e05d6f46170ac59fde4052be3b130651e9e40f6524290bef11689"
},
"downloads": -1,
"filename": "UzMorphAnalyser-0.0.16-py3-none-any.whl",
"has_sig": false,
"md5_digest": "23038da69ca846c116f9465a43bc7d0d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 33683,
"upload_time": "2023-12-18T08:49:51",
"upload_time_iso_8601": "2023-12-18T08:49:51.949410Z",
"url": "https://files.pythonhosted.org/packages/b2/08/3622159aefd1813b000d9cf7b3e28af36c5a0a12e21cd5e93915f59dcb2b/UzMorphAnalyser-0.0.16-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-18 08:49:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "UlugbekSalaev",
"github_project": "UzMorphAnalyser",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "uzmorphanalyser"
}