chunking_test / README.md
leilaghomashchi's picture
Update README.md
565c6e7 verified

A newer version of the Gradio SDK is available: 6.12.0

Upgrade
metadata
title: Persian Text Anonymizer
emoji: 🔐
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.44.0
python_version: '3.11'
app_file: app.py
pinned: false
license: mit

🔐 Persian Text Anonymizer

سیستم پیشرفته ناشناس‌سازی متون فارسی با قابلیت پردازش متن‌های بلند

✨ ویژگی‌ها

🔹 Intelligent Chunking

  • پردازش خودکار متن‌های بلند (بدون محدودیت طول)
  • تقسیم هوشمند به chunks با overlap
  • Merge هوشمند mapping tables

🔹 Entity Types

  • 👤 Person: اسامی اشخاص
  • 🏢 Company: نام شرکت‌ها و سازمان‌ها
  • 💰 Amount: مبالغ مالی و اعداد
  • 📊 Percent: درصدها

🔹 Multi-LLM Support

  • ChatGPT: GPT-4, GPT-4o, GPT-5
  • Grok: Grok-2, Grok-3, Grok-4

🔹 Advanced Matching

  • Exact Matching: تطابق دقیق entities تکراری
  • Fuzzy Matching: تطابق تقریبی برای شرکت‌ها
  • Normalization: نرمال‌سازی پیشرفته

🚀 نحوه استفاده

مرحله 1: انتخاب موجودیت‌ها

انتخاب کنید که کدام موجودیت‌ها ناشناس شوند:

  • ✅ اسامی اشخاص
  • ✅ نام شرکت‌ها
  • ✅ مبالغ
  • ✅ درصدها

مرحله 2: وارد کردن متن

متن مورد نظر خود را وارد کنید (بدون محدودیت طول)

مرحله 3: انتخاب LLM

  • Provider: ChatGPT یا Grok
  • Model: مدل مورد نظر

مرحله 4: دستور تحلیل (اختیاری)

مثال: "این گزارش مالی را خلاصه کن و نکات کلیدی را استخراج کن"

مرحله 5: اجرا

دکمه "شروع پردازش" را بزنید

📊 نتایج

چهار خروجی دریافت می‌کنید:

  1. متن بازیابی شده: نتیجه نهایی با اطلاعات اصلی
  2. پاسخ LLM: تحلیل روی متن ناشناس
  3. متن ناشناس: متن با placeholders
  4. جدول Mapping: تطابق placeholders با مقادیر اصلی

🎯 مثال عملی

ورودی:

شرکت پارس در سال گذشته فروش 50 میلیارد ریال داشت. 
علی احمدی مدیرعامل اعلام کرد که این رشد 15 درصدی قابل توجه است.

متن ناشناس:

company-01 در سال گذشته فروش amount-01 داشت.
person-01 مدیرعامل اعلام کرد که این رشد percent-01 قابل توجه است.

Mapping Table:

company-01 → شرکت پارس
person-01 → علی احمدی
amount-01 → 50 میلیارد ریال
percent-01 → 15 درصد

🔧 معماری سیستم

متن کوتاه (< 6000 tokens):

متن → Cerebras (ناشناس‌سازی) → LLM (تحلیل) → بازگردانی

متن بلند (> 6000 tokens):

متن → Chunking → ناشناس‌سازی هر Chunk → 
     Intelligent Merge → LLM → بازگردانی

🛡️ امنیت و حریم خصوصی

  • ✅ تمام پردازش‌ها real-time
  • ✅ هیچ داده‌ای ذخیره نمی‌شود
  • ✅ API keys از Hugging Face Secrets
  • ✅ ارتباطات رمزنگاری شده

⚙️ تنظیمات پیشرفته

Chunking:

  • Chunk Size: 1000 tokens
  • Overlap: 150 tokens
  • Threshold: 6000 tokens

Merge:

  • Fuzzy Threshold: 0.75
  • Method: Token Overlap + Exact Match

📖 مستندات

برای اطلاعات بیشتر:

🤝 مشارکت

این پروژه open-source است. مشارکت شما خوش‌آمد است!

📄 License

MIT License