data_processes/readme/readme-words-embedder-fa.md
2025-08-16 15:14:27 +03:30

2.5 KiB
Raw Blame History

تولید بردار جملات (امبدینگ)

این پروژه شامل یک اسکریپت پایتون (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/ را ایجاد کنید.
  • این اسکریپت از زبان فارسی پشتیبانی می‌کند.