Asmai: (Al'asma'i) Arabic semantic analysis library for Python
Project description
Asmai: (Al’asma’i) Arabic semantic analysis
مكتبة الأصمعي الدلالية
Asmai: (Al’asma’i) Arabic semantic analysis library for Python
Developpers: Taha Zerrouki: http://tahadz.com taha dot zerrouki at gmail dot com
Features |
value |
---|---|
Authors |
|
Release |
0.1 |
License |
|
Tracker |
|
Source |
|
Feedbacks |
|
Accounts |
[@Twitter](https://twitter.com/linuxscout) |
Description
Asmai: (Al’asma’i) Arabic semantic analysis library for Python
مزايا:
استخلاص ثنائيات الكلمات التي تحمل دلالات من نوع : (فاعلية، مفعولية، إضافة)
install
pip install asmai
Usage
import
pip install asmai
Test
import asmai.anasem as asm
text = u"يعبد الله منذ أن تطلع الشمس"
result = []
anasem = asm.SemanticAnalyzer()
result = anasem.analyze_text(text)
# the result contains objets
anasem.pprint(result)
Extract semantic relation, display only found relations
>>> import pprint
>>> sem_result = anasem.display_sem(result)
>>> pprint.pprint(sem_result)
[[['الشَّمْسُ', 'تَطْلُعَ', 'شَمْسٌ', 'طَلَعَ', 'Subject'],
['الشَّمْسُ', 'تَطْلُعُ', 'شَمْسٌ', 'طَلَعَ', 'Subject'],
['الشَّمْسُ', 'تَطْلُعْ', 'شَمْسٌ', 'طَلَعَ', 'Subject'],
['الشَّمْسُ', 'تَطْلَعَ', 'شَمْسٌ', 'طَلَعَ', 'Subject'],
['الشَّمْسُ', 'تَطْلَعُ', 'شَمْسٌ', 'طَلَعَ', 'Subject'],
['الشَّمْسُ', 'تَطْلَعْ', 'شَمْسٌ', 'طَلَعَ', 'Subject']]]
Extract semantic relation, display all words and tags
>>> sem_result = anasem.display_sem(result, all=True) >>> pprint.pprint(sem_result) [('يعبد', 'O', []), ('الله', 'O', []), ('منذ', 'O', []), ('أن', 'O', []), ('تطلع', 'B', []), ('الشمس', 'I', [['الشَّمْسُ', 'تَطْلُعَ', 'شَمْسٌ', 'طَلَعَ', 'Subject'], ['الشَّمْسُ', 'تَطْلُعُ', 'شَمْسٌ', 'طَلَعَ', 'Subject'], ['الشَّمْسُ', 'تَطْلُعْ', 'شَمْسٌ', 'طَلَعَ', 'Subject'], ['الشَّمْسُ', 'تَطْلَعَ', 'شَمْسٌ', 'طَلَعَ', 'Subject'], ['الشَّمْسُ', 'تَطْلَعُ', 'شَمْسٌ', 'طَلَعَ', 'Subject'], ['الشَّمْسُ', 'تَطْلَعْ', 'شَمْسٌ', 'طَلَعَ', 'Subject']])] >>>
convert to pandas ```python >>> import pandas as pd >>> >>> # flatten the result … df = pd.DataFrame(anasem.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=”:raw-latex:’t’”)
[requirement]
1- pyarabic 2. sqlite 3. sylajone
Data Structure:
Semantic database
CREATE TABLE sqlite_sequence(name,seq);
CREATE TABLE "derivations" (
"id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL UNIQUE ,
"verb" varchar NOT NULL ,
"transitive" BOOL NOT NULL DEFAULT 1,
"derived" VARCHAR NOT NULL ,
"type" VARCHAR NOT NULL
);
CSV Structure:
Derivattion
id : id unique in the database
verb : vocalized collocation
transtive : if the verb is transitive
derived : derived word from verb number
type : type
Semantic relations
CREATE TABLE "relations" (
"id" INTEGER PRIMARY KEY NOT NULL ,
first" VARCHAR NOT NULL DEFAULT ('') ,
"second" VARCHAR NOT NULL DEFAULT ('') ,
"rule" VARCHAR NOT NULL DEFAULT (0)
);
CSV Structure:
id : id unique in the database
first: first word
second: second word
rule : the extraction rule number :
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file asmai-0.1.tar.gz
.
File metadata
- Download URL: asmai-0.1.tar.gz
- Upload date:
- Size: 7.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d29aeb7ae7ecc12e0eada21ac41be7fbf049abbb58bca8e5ce518fbbd9dfaecf |
|
MD5 | bb87bb0af43b138eba98605db8655c74 |
|
BLAKE2b-256 | e3ba99efc20677b0d3634e547052afde5f051b0c2d95626dde3ac109c37affe5 |
File details
Details for the file asmai-0.1-py3-none-any.whl
.
File metadata
- Download URL: asmai-0.1-py3-none-any.whl
- Upload date:
- Size: 4.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2774425c726025718d3116baed2507761f3ef3aff4e6643b542f538e42468a7d |
|
MD5 | 15c9b54740128e39af3ed6b6a331c3fa |
|
BLAKE2b-256 | fc4ff096c0136c2b5ac342fe5642c41abc6358c8545d5192f6575ff58a6cf3ac |
File details
Details for the file asmai-0.1-py2-none-any.whl
.
File metadata
- Download URL: asmai-0.1-py2-none-any.whl
- Upload date:
- Size: 4.3 MB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.15.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.19.9 CPython/2.7.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 536a2ce279ce6c67815481a5b9fc71e931a6450988f3d43354d625b14cb0450f |
|
MD5 | 8cbd4fbd728e8632dca97b87d5be5d75 |
|
BLAKE2b-256 | fb3a546a1fb901061b4fa8c214d4346d615617b8576432625f4c2fb427f6a204 |