55 lines
2.8 KiB
Markdown
55 lines
2.8 KiB
Markdown
# اسکریپت بازنمایی جملات فارسی
|
||
|
||
این اسکریپت (`p5_representer.py`) برای سادهسازی و بازنمایی جملات پیچیده حقوقی فارسی به مجموعهای از جملات سادهتر و قابل فهمتر طراحی شده است. مدل مورد استفاده در این سورس `meta-llama/Meta-Llama-3.1-8B-Instruct` میباشد.
|
||
|
||
**نکته:** برای مشاهده نسخه کتابخانهها به فایل `requirements.txt` مراجعه کنید.
|
||
|
||
## مدل مورد استفاده
|
||
|
||
- مدل: `meta-llama/Meta-Llama-3.1-8B-Instruct`
|
||
- بارگذاری با استفاده از کتابخانه Transformers (توکنایزر و مدل)
|
||
|
||
## پرامپتهای سیستمی و کاربری
|
||
|
||
- **پرامپت سیستمی:** مدل را به عنوان یک وکیل حقوقدان معرفی میکند که باید متون حقوقی را بدون تغییر اصطلاحات فنی، به زبان ساده برای افراد غیرحقوقدان توضیح دهد.
|
||
- **پرامپت کاربری:** از مدل میخواهد متن ورودی را در تعداد جمله مشخص، ساده و روان به زبان فارسی بازنویسی کند.
|
||
|
||
## متدهای اصلی
|
||
|
||
### ۱. `single_section_representation(content)`
|
||
- **هدف:** سادهسازی یک بخش متنی حقوقی.
|
||
- **ورودی:**
|
||
- `content` (رشته): متن حقوقی برای سادهسازی.
|
||
- **خروجی:**
|
||
- `result` (بولین): وضعیت عملیات.
|
||
- `desc` (رشته): توضیح نتیجه.
|
||
- `sentences` (لیست): لیست جملات سادهشده.
|
||
|
||
### ۲. `do_representation(sections)`
|
||
- **هدف:** پردازش چندین بخش و ذخیره نتایج.
|
||
- **ورودی:**
|
||
- `sections` (دیکشنری): هر کلید شناسه بخش و مقدار آن شامل فیلد `content` است.
|
||
- **خروجی:**
|
||
- `operation_result` (بولین): وضعیت کلی عملیات.
|
||
- `sections` (دیکشنری): دیکشنری ورودی با فیلد جدید `represented_sentences` برای هر بخش.
|
||
|
||
## مثال ورودی
|
||
|
||
```python
|
||
sections = {
|
||
"1": {"content": "این یک متن حقوقی پیچیده است که باید ساده شود."},
|
||
"2": {"content": "متن حقوقی دوم برای بازنمایی."}
|
||
}
|
||
result, output_sections = do_representation(sections)
|
||
```
|
||
|
||
## خروجی
|
||
|
||
برای هر بخش، یک فیلد جدید به نام `represented_sentences` شامل جملات سادهشده اضافه میشود.
|
||
|
||
## نکات
|
||
|
||
- اسکریپت به صورت خودکار در صورت وجود GPU از آن استفاده میکند.
|
||
- خطاهای هر بخش در مسیر `./data/represent/` ثبت میشوند.
|
||
- فایل خروجی JSON در مسیر `./data/represent/` ذخیره میشود.
|