Skip to main content

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

asmai logo

asmai logo

PyPI - Downloads

PyPI - Downloads

Developpers: Taha Zerrouki: http://tahadz.com taha dot zerrouki at gmail dot com

Features

value

Authors

Authors.md

Release

0.1

License

GPL

Tracker

linuxscout/asmai/Issues

Source

Github

Feedbacks

Comments

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

  1. id : id unique in the database

  2. verb : vocalized collocation

  3. transtive : if the verb is transitive

  4. derived : derived word from verb number

  5. 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:

  1. id : id unique in the database

  2. first: first word

  3. second: second word

  4. rule : the extraction rule number :

Project details


Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asmai-0.1.tar.gz (7.7 MB view details)

Uploaded Source

Built Distributions

asmai-0.1-py3-none-any.whl (4.3 MB view details)

Uploaded Python 3

asmai-0.1-py2-none-any.whl (4.3 MB view details)

Uploaded Python 2

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

Hashes for asmai-0.1.tar.gz
Algorithm Hash digest
SHA256 d29aeb7ae7ecc12e0eada21ac41be7fbf049abbb58bca8e5ce518fbbd9dfaecf
MD5 bb87bb0af43b138eba98605db8655c74
BLAKE2b-256 e3ba99efc20677b0d3634e547052afde5f051b0c2d95626dde3ac109c37affe5

See more details on using hashes here.

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

Hashes for asmai-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2774425c726025718d3116baed2507761f3ef3aff4e6643b542f538e42468a7d
MD5 15c9b54740128e39af3ed6b6a331c3fa
BLAKE2b-256 fc4ff096c0136c2b5ac342fe5642c41abc6358c8545d5192f6575ff58a6cf3ac

See more details on using hashes here.

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

Hashes for asmai-0.1-py2-none-any.whl
Algorithm Hash digest
SHA256 536a2ce279ce6c67815481a5b9fc71e931a6450988f3d43354d625b14cb0450f
MD5 8cbd4fbd728e8632dca97b87d5be5d75
BLAKE2b-256 fb3a546a1fb901061b4fa8c214d4346d615617b8576432625f4c2fb427f6a204

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page