2.5 KiB
2.5 KiB
تولید بردار جملات (امبدینگ)
این پروژه شامل یک اسکریپت پایتون (p3_words_embedder.py
) برای تولید بردارهای جملات با استفاده از کتابخانه [Sentence Transformers] است.
پیشنیازها
قبل از استفاده از این اسکریپت، کتابخانههای زیر را نصب کنید:
pip install sentence-transformers numpy
نحوه عملکرد
- اسکریپت از مدل آماده
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2
استفاده میکند. - دو تابع اصلی دارد:
single_section_embedder(sentence)
: یک جمله (رشته متنی) را گرفته و بردار عددی متناظر با آن را برمیگرداند.do_word_embedder(sections)
: یک دیکشنری از بخشها (هر بخش دارای فیلدcontent
) را گرفته، برای هر بخش امبدینگ تولید میکند و نتیجه را به صورت فایل JSON ذخیره میکند.
نحوه استفاده
۱. دریافت امبدینگ برای یک جمله
from p3_words_embedder.py import single_section_embedder
sentence = "این یک جمله نمونه است."
embedding = single_section_embedder(sentence)
print(embedding)
۲. تولید امبدینگ برای چند بخش و ذخیره در فایل
فرض کنید دادههای شما به صورت زیر است:
sections = {
"1": {"content": "متن بخش اول"},
"2": {"content": "متن بخش دوم"}
}
سپس میتوانید امبدینگها را به شکل زیر تولید و ذخیره کنید:
from p3_words_embedder.py import do_word_embedder
result = do_word_embedder(sections)
پس از اجرا، فایلی با نامی مانند sections_embeddings_year-month-day-hour.json
در مسیر ./data/embeddings
ساخته میشود که شامل امبدینگ هر بخش است.
ساختار خروجی
خروجی به صورت یک فایل JSON است که برای هر بخش، بردار امبدینگ اضافه شده است:
{
"1": {
"content": "متن بخش اول",
"embeddings": [0.123, 0.456, ...]
},
...
}
نکات
- قبل از اجرا، پوشه
./data/embeddings/
را ایجاد کنید. - این اسکریپت از زبان فارسی پشتیبانی میکند.