embedder readme
This commit is contained in:
parent
65a6e39425
commit
91d3f9be6c
|
@ -0,0 +1,70 @@
|
|||
# تولید بردار جملات (امبدینگ)
|
||||
|
||||
این پروژه شامل یک اسکریپت پایتون (`embedding.py`) برای تولید بردارهای جملات با استفاده از کتابخانه [Sentence Transformers] است.
|
||||
|
||||
## پیشنیازها
|
||||
|
||||
قبل از استفاده از این اسکریپت، کتابخانههای زیر را نصب کنید:
|
||||
|
||||
```bash
|
||||
pip install sentence-transformers numpy
|
||||
```
|
||||
|
||||
## نحوه عملکرد
|
||||
|
||||
- اسکریپت از مدل آماده `sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2` استفاده میکند.
|
||||
- دو تابع اصلی دارد:
|
||||
- `single_section_embedder(sentence)`: یک جمله (رشته متنی) را گرفته و بردار عددی متناظر با آن را برمیگرداند.
|
||||
- `do_word_embedder(sections)`: یک دیکشنری از بخشها (هر بخش دارای فیلد `content`) را گرفته، برای هر بخش امبدینگ تولید میکند و نتیجه را به صورت فایل JSON ذخیره میکند.
|
||||
|
||||
## نحوه استفاده
|
||||
|
||||
### ۱. دریافت امبدینگ برای یک جمله
|
||||
|
||||
```python
|
||||
from embedding import single_section_embedder
|
||||
|
||||
sentence = "این یک جمله نمونه است."
|
||||
embedding = single_section_embedder(sentence)
|
||||
print(embedding)
|
||||
```
|
||||
|
||||
### ۲. تولید امبدینگ برای چند بخش و ذخیره در فایل
|
||||
|
||||
فرض کنید دادههای شما به صورت زیر است:
|
||||
|
||||
```python
|
||||
sections = {
|
||||
"1": {"content": "متن بخش اول"},
|
||||
"2": {"content": "متن بخش دوم"}
|
||||
}
|
||||
```
|
||||
|
||||
سپس میتوانید امبدینگها را به شکل زیر تولید و ذخیره کنید:
|
||||
|
||||
```python
|
||||
from embedding import do_word_embedder
|
||||
|
||||
result = do_word_embedder(sections)
|
||||
```
|
||||
|
||||
پس از اجرا، فایلی با نامی مانند `sections_embeddings_سال-ماه-روز-ساعت.json` در مسیر `./data/embeddings/` ساخته میشود که شامل امبدینگ هر بخش است.
|
||||
|
||||
## ساختار خروجی
|
||||
|
||||
خروجی به صورت یک فایل JSON است که برای هر بخش، بردار امبدینگ اضافه شده است:
|
||||
|
||||
```json
|
||||
{
|
||||
"1": {
|
||||
"content": "متن بخش اول",
|
||||
"embeddings": [0.123, 0.456, ...]
|
||||
},
|
||||
...
|
||||
}
|
||||
```
|
||||
|
||||
## نکات
|
||||
|
||||
- قبل از اجرا، پوشه `./data/embeddings/` را ایجاد کنید.
|
||||
- این اسکریپت از زبان فارسی نیز پشتیبانی میکند.
|
Loading…
Reference in New Issue
Block a user