Skip to content

أداة متقدمة لتحليل النصوص العربية بشكل شامل مع إمكانيات متعددة للتحليل اللغوي والإحصائي

License

Notifications You must be signed in to change notification settings

ayzem88/data-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

محلل البيانات النصية الشامل / Data Analyzer

أداة متقدمة لتحليل النصوص العربية بشكل شامل مع إمكانيات متعددة للتحليل اللغوي والإحصائي.

Python License

المميزات

1. معالجة النصوص

  • تنظيف النصوص من الرموز والأرقام
  • إزالة التشكيل والحركات
  • إزالة الأسطر الفارغة والفراغات الزائدة
  • معالجة متقدمة للنصوص العربية

2. تحليل الكلمات المفردة

  • استخراج جميع الكلمات والكلمات الفريدة
  • حساب تكرار كل كلمة
  • تحليل طول الكلمات
  • إحصائيات شاملة عن الكلمات

3. تحليل المركبات (Bigrams/Trigrams)

  • استخراج المركبات الثنائية والثلاثية
  • حساب تكرار المركبات
  • تحليل المختار التركيبي مع:
    • مقاييس الربط (PMI, T-score, Log-likelihood)
    • تصنيف قوة التراكيب
    • تحليل السياقات النصية

4. استخراج الكيانات المسماة (Named Entity Recognition)

  • الأسماء والأعلام
  • الدول والمدن
  • المؤسسات والمنظمات
  • التواريخ والأماكن

5. تحليل الموضوعات

  • نموذج LDA لاستخراج الموضوعات
  • تصنيف الملفات حسب الموضوعات
  • إحصائيات الموضوعات

6. التقارير التفاعلية

  • تقرير HTML تفاعلي شامل
  • رسوم بيانية وإحصائيات مرئية
  • واجهة مستخدم جميلة

التثبيت

  1. استنسخ المستودع:
git clone https://github.com/ayzem88/data-analyzer.git
cd data-analyzer
  1. المتطلبات:
  • Python 3.6 أو أحدث
  • لا حاجة لمكتبات خارجية (يستخدم المكتبات الأساسية فقط)

الاستخدام

1. إعداد الملفات

محلل البيانات/
├── المدونة/              # ضع ملفات txt هنا
├── stop_words.txt         # ملف كلمات الإيقاف
├── الأعلام والشخصيات.txt # قاعدة بيانات الأسماء
├── الدول والمدن.txt      # قاعدة بيانات الدول
├── المنظمات والمؤسسات.txt # قاعدة بيانات المؤسسات
└── || التشغيل هنا ||.py  # ملف التشغيل الرئيسي

2. تشغيل المحلل

# تشغيل المحلل الأساسي
python "|| التشغيل هنا ||.py"

# أو التشغيل الشامل (المحلل + التقرير التفاعلي)
python تشغيل_شامل.py

3. النتائج

سيتم إنشاء مجلد نتائج_التحليل يحتوي على جميع النتائج:

ملفات معالجة النصوص:

  • نصوص_مُعالجة.txt - النصوص بعد التنظيف
  • تقرير_التنظيف.txt - تقرير عملية التنظيف

ملفات تحليل الكلمات:

  • جميع_الكلمات.txt - جميع الكلمات
  • الكلمات_الفريدة.txt - الكلمات الفريدة
  • تكرار_الكلمات.txt - تكرار كل كلمة
  • طول_الكلمات.txt - طول كل كلمة
  • إحصائيات_الكلمات.txt - إحصائيات شاملة

ملفات تحليل المركبات:

  • المركبات_الثنائية.txt - جميع المركبات الثنائية
  • المركبات_الثلاثية.txt - جميع المركبات الثلاثية
  • تكرار_المركبات_الثنائية.txt - تكرار المركبات الثنائية
  • تكرار_المركبات_الثنائية.txt - تكرار المركبات الثلاثية
  • المركبات_المختارة_تركيبياً.txt - المركبات المختارة بالمختار التركيبي
  • إحصائيات_المركبات.txt - إحصائيات المركبات

ملفات الكيانات المسماة:

  • الأسماء_والأعلام.txt - الأسماء والأعلام المستخرجة
  • الدول_والمدن.txt - الدول والمدن المستخرجة
  • المؤسسات_والمنظمات.txt - المؤسسات والمنظمات
  • التواريخ_والأماكن.txt - التواريخ والأماكن

ملف التقرير النهائي:

  • التقرير_النهائي.txt - تقرير شامل عن جميع العمليات

التقرير التفاعلي:

  • التقرير_التفاعلي_الشامل.html - تقرير تفاعلي شامل مع واجهة جميلة

هيكل المشروع

محلل البيانات/
├── المحلل_الرئيسي.py          # المحلل الرئيسي
├── معالج_النصوص.py            # معالج النصوص
├── محلل_الكلمات.py           # محلل الكلمات
├── محلل_المركبات.py          # محلل المركبات
├── مستخرج_الكيانات.py        # مستخرج الكيانات
├── منشئ_التقرير_التفاعلي.py  # منشئ التقرير التفاعلي
├── تشغيل_شامل.py              # ملف التشغيل الشامل
├── || التشغيل هنا ||.py       # ملف التشغيل الأساسي
├── المدونة/                   # مجلد ملفات النصوص
├── نتائج_التحليل/            # مجلد النتائج
└── README.md                   # هذا الملف

الملفات الرئيسية

  • المحلل_الرئيسي.py: المحلل الرئيسي الذي ينسق جميع العمليات
  • معالج_النصوص.py: معالجة وتنظيف النصوص
  • محلل_الكلمات.py: تحليل الكلمات المفردة
  • محلل_المركبات.py: تحليل المركبات (Bigrams/Trigrams)
  • مستخرج_الكيانات.py: استخراج الكيانات المسماة
  • منشئ_التقرير_التفاعلي.py: إنشاء التقارير التفاعلية

المساهمة

نرحب بمساهماتكم! يمكنك المساهمة من خلال:

  1. فتح issue للإبلاغ عن مشاكل أو اقتراح ميزات جديدة
  2. إرسال pull request لإضافة ميزات أو إصلاح أخطاء
  3. تحسين خوارزميات التحليل
  4. إضافة المزيد من قواعد البيانات للكيانات

الترخيص

هذا المشروع مرخص تحت MIT License - راجع ملف LICENSE للتفاصيل.

المطور

تم تطوير هذا المشروع بواسطة أيمن الطيّب بن نجي (ayzem88)

التواصل

للاستفسارات أو المساهمة، يمكنك التواصل معي عبر:

ملاحظات

  • جميع النتائج محفوظة في ملفات txt
  • يمكن تعديل إعدادات المحلل في الملفات الرئيسية
  • تأكد من وجود ملف stop_words.txt لكلمات الإيقاف
  • يمكن إضافة أسماء ودول في ملفات قواعد البيانات

التطوير المستقبلي

  • إضافة واجهة رسومية (GUI)
  • دعم المزيد من صيغ الملفات
  • تحسين خوارزميات استخراج الكيانات
  • إضافة المزيد من مقاييس التحليل
  • دعم التحليل متعدد اللغات

[English]

Data Analyzer

An advanced tool for comprehensive analysis of Arabic texts with multiple linguistic and statistical analysis capabilities.

Python License

Features

1. Text Processing

  • Clean texts from symbols and numbers
  • Remove diacritics and vowels
  • Remove empty lines and extra spaces
  • Advanced processing for Arabic texts

2. Word Analysis

  • Extract all words and unique words
  • Calculate word frequency
  • Analyze word length
  • Comprehensive word statistics

3. N-gram Analysis (Bigrams/Trigrams)

  • Extract bigrams and trigrams
  • Calculate n-gram frequency
  • Syntactic collocation analysis with:
    • Association measures (PMI, T-score, Log-likelihood)
    • Structure strength classification
    • Contextual analysis

4. Named Entity Recognition

  • Names and proper nouns
  • Countries and cities
  • Organizations and institutions
  • Dates and places

5. Topic Analysis

  • LDA model for topic extraction
  • File classification by topics
  • Topic statistics

6. Interactive Reports

  • Comprehensive interactive HTML report
  • Charts and visual statistics
  • Beautiful user interface

Installation

  1. Clone the repository:
git clone https://github.com/ayzem88/data-analyzer.git
cd data-analyzer
  1. Requirements:
  • Python 3.6 or later
  • No external libraries needed (uses standard libraries only)

Usage

1. File Setup

data-analyzer/
├── المدونة/              # Place txt files here
├── stop_words.txt         # Stop words file
├── الأعلام والشخصيات.txt # Names database
├── الدول والمدن.txt      # Countries database
├── المنظمات والمؤسسات.txt # Organizations database
└── || التشغيل هنا ||.py  # Main run file

2. Run the Analyzer

# Run basic analyzer
python "|| التشغيل هنا ||.py"

# Or comprehensive run (analyzer + interactive report)
python تشغيل_شامل.py

3. Results

A نتائج_التحليل folder will be created containing all results.

Project Structure

data-analyzer/
├── المحلل_الرئيسي.py          # Main analyzer
├── معالج_النصوص.py            # Text processor
├── محلل_الكلمات.py           # Word analyzer
├── محلل_المركبات.py          # N-gram analyzer
├── مستخرج_الكيانات.py        # Entity extractor
├── منشئ_التقرير_التفاعلي.py  # Interactive report generator
├── تشغيل_شامل.py              # Comprehensive run file
├── || التشغيل هنا ||.py       # Basic run file
├── المدونة/                   # Text files folder
├── نتائج_التحليل/            # Results folder
└── README.md                   # This file

Main Files

  • المحلل_الرئيسي.py: Main analyzer that coordinates all operations
  • معالج_النصوص.py: Text processing and cleaning
  • محلل_الكلمات.py: Single word analysis
  • محلل_المركبات.py: N-gram analysis (Bigrams/Trigrams)
  • مستخرج_الكيانات.py: Named entity extraction
  • منشئ_التقرير_التفاعلي.py: Interactive report generation

Contributing

We welcome contributions! You can contribute by:

  1. Opening an issue to report problems or suggest new features
  2. Submitting a pull request to add features or fix bugs
  3. Improving analysis algorithms
  4. Adding more entity databases

License

This project is licensed under MIT License - see the LICENSE file for details.

Developer

Developed by Ayman Al-Tayyib Ben Naji (ayzem88)

Contact

For inquiries or contributions, you can contact me via:

Notes

  • All results are saved in txt files
  • Analyzer settings can be modified in main files
  • Make sure stop_words.txt exists for stop words
  • Names and countries can be added to database files

Future Development

  • Add graphical user interface (GUI)
  • Support for more file formats
  • Improve entity extraction algorithms
  • Add more analysis metrics
  • Support for multilingual analysis

About

أداة متقدمة لتحليل النصوص العربية بشكل شامل مع إمكانيات متعددة للتحليل اللغوي والإحصائي

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published