https://github.com/linuxscout/sylajone-arabic-syntax
Sylajone: Arabic syntax Analyzer library
https://github.com/linuxscout/sylajone-arabic-syntax
Last synced: 3 months ago
JSON representation
Sylajone: Arabic syntax Analyzer library
- Host: GitHub
- URL: https://github.com/linuxscout/sylajone-arabic-syntax
- Owner: linuxscout
- License: gpl-3.0
- Created: 2020-08-08T10:27:22.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-08-27T18:49:12.000Z (over 4 years ago)
- Last Synced: 2024-10-05T06:49:41.619Z (7 months ago)
- Language: Python
- Size: 177 KB
- Stars: 3
- Watchers: 3
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Authors: AUTHORS.md
Awesome Lists containing this project
README
# Sylajone: Arabic syntax Analyzer library
#مكتبة سيلجون للتحليل النحوي
Sylajone: Arabic syntax Analyzer library


Developpers: Taha Zerrouki: http://tahadz.com
taha dot zerrouki at gmail dot com
Features | value
---------|---------------------------------------------------------------------------------
Authors | [Authors.md](https://github.com/linuxscout/sylajone-arabic-syntax/master/AUTHORS.md)
Release | 0.1
License |[GPL](https://github.com/linuxscout/sylajone-arabic-syntax/master/LICENSE)
Tracker |[linuxscout/sylajone/Issues](https://github.com/linuxscout/sylajone-arabic-syntax/issues)
Source |[Github](http://github.com/linuxscout/sylajone-arabic-syntax)
Feedbacks |[Comments](https://github.com/linuxscout/sylajone-arabic-syntax/)
Accounts |[@Twitter](https://twitter.com/linuxscout))## Description
Sylajone: Arabic syntax Analyzer library
### مزايا:
* استخلاص العلاقات النحوية بين ثنائيات الكلمات : (فعل -فاعل، فعل-مفعول به، ناصب منصوب، جار مجرور)-
## Citation
```bibtex
@thesis{zerrouki2020adawat,
author = {Taha Zerrouki},
title = {Towards An Open Platform For Arabic Language Processing},
type = {PhD thesis},
institution = {Ecole Nationale Supérieure d'informatique, Alger, Algérie},
date = {2020},
}
```
### install
```shell
pip install sylajone
```
### Usage#### import
```python
pip install sylajone
```
#### Test
```python
>>> import sylajone.anasyn as asn
>>> import pprint
>>>
>>> text = u"يعبد الله منذ أن تطلع الشمس"
>>> result = []
>>> anasyn = asn.SyntaxAnalyzer()
>>> result = anasyn.analyze_text(text)
>>> anasyn.pprint(result)
```* Extract semantic relation, display only found relations
```python
>>> import pprint
>>> syn_result = anasyn.display_syn(result)
>>> pprint.pprint(syn_result)
[[['اللهَ', 'يُعَبِّدَ', 'اللهُ', 'عَبَّدَ', 20],
['اللهَ', 'يُعَبِّدُ', 'اللهُ', 'عَبَّدَ', 20],
['اللهَ', 'يُعَبِّدْ', 'اللهُ', 'عَبَّدَ', 20],
['اللهَ', 'يَعْبُدَ', 'اللهُ', 'عَبَدَ', 20],
['اللهَ', 'يَعْبُدُ', 'اللهُ', 'عَبَدَ', 20],
['اللهَ', 'يَعْبُدْ', 'اللهُ', 'عَبَدَ', 20],
['اللهُ', 'يُعَبِّدَ', 'اللهُ', 'عَبَّدَ', 10],
...
```
* Extract semantic relation, display all words and tags
```python
>>> syn_result = anasyn.display_syn(result, all=True)
>>> pprint.pprint(syn_result)
[('يعبد', 'B', []),
('الله',
'I',
[['اللهَ', 'يُعَبِّدَ', 'اللهُ', 'عَبَّدَ', 20],
['اللهَ', 'يُعَبِّدُ', 'اللهُ', 'عَبَّدَ', 20],
['اللهَ', 'يُعَبِّدْ', 'اللهُ', 'عَبَّدَ', 20],
['اللهَ', 'يَعْبُدَ', 'اللهُ', 'عَبَدَ', 20],
['اللهَ', 'يَعْبُدُ', 'اللهُ', 'عَبَدَ', 20],
['اللهَ', 'يَعْبُدْ', 'اللهُ', 'عَبَدَ', 20],
['اللهُ', 'يُعَبِّدَ', 'اللهُ', 'عَبَّدَ', 10],
...
>>>
```* convert to pandas
```python
>>> # convert to pandas
... import pandas as pd
>>> # flatten the result
... df = pd.DataFrame(anasyn.decode(result))
>>> print(df.head())
action affix affix_key forced_word_case ... unvocalized unvoriginal vocalized word
0 -ي-- -ي--|المضارع المنصوب:هو:y False ... يعبد عبد يُعَبِّدَ يعبد
1 -ي-- -ي--|المضارع المجهول المجزوم:هو:y False ... يعبد عبد يُعَبَّدْ يعبد
2 -ي-- -ي--|المضارع المجهول:هو:y False ... يعبد عبد يُعَبَّدُ يعبد
3 -ي-- -ي--|المضارع المعلوم:هو:y False ... يعبد عبد يُعَبِّدُ يعبد
4 -ي-- -ي--|المضارع المجزوم:هو:y False ... يعبد عبد يُعَبِّدْ يعبد[5 rows x 50 columns]
>>> df.to_csv("output/test.csv", encoding="utf8", sep="\t")```
#### [requirement]
1. CodernityDB>=0.5.0 / CodernityDB3>=0.6.0
2. libqutrub>=1.2.4.1
3. naftawayh>=0.4
4. pyarabic>=0.6.8
5. qalsadi>=0.3.5### تسمية
أحمد بن سليجون هو أبو العباس أحمد بن يحيى بن زيد بن سيار، البغدادي النحوي، الشيباني أو ثعلب (200 هـ-291 هـ) (816-904)م، إمام الكوفيين في عهده، وثالث ثلاثة قامت على أعمالهم مدرسة الكوفة النحوية، العلامة المحدث، وإمام النحو، صاحب الفصيح والتصانيف، ولد ببغداد في السنة الثانية من خلافة المأمون وبها مات.