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