خلاصه مدیریتی و نکات کلیدی مقاله
- جستجوی برداری خالص (Dense Retrieval) روی شمارههای ماده قانونی، کدهای کالا و شناسههای ملی فارسی تا ۲۸٪ خطا دارد.
- نرمالسازی نویسههای فارسی (یکسانسازی ی و ک، مدیریت نیمفاصله) پیش از مرحله Embedding، نرخ Recall@5 را ۱۹ درصد ارتقا میدهد.
- ترکیب Reciprocal Rank Fusion (RRF) به همراه یک لایه Cross-Encoder Reranker بهترین توازن میان دقت و تأخیر زیر ۲۰۰ میلیثانیه را ایجاد میکند.
۱. چرا RAG استاندارد در اسناد اداری و حقوقی فارسی شکست میخورد؟
بسیاری از تیمهای مهندسی هنگام پیادهسازی سیستمهای پرسشوپاسخ روی اسناد سازمانی، مستقیماً از مدلهای Embedding چندزبانه عمومی و تقسیمبندی متنی با طول ثابت (Fixed-Size Chunking) استفاده میکنند. در زبان فارسی، تنوع نگارشی در استفاده از نیمفاصله، پسوندهای متصل و واژگان همنگاره باعث میشود بردارهای معنایی نتوانند عبارات دقیق تخصصی را تفکیک کنند.
علاوه بر این، در اسناد مالی و حقوقی، کاربر اغلب به دنبال یک شماره بخشنامه خاص، کد حسابداری چهاررقمی یا تبصره قانونی است. مدلهای برداری متراکم مفهوم کلی را درک میکنند اما در تطبیق دقیق شناسههای عددی و کدهای آییننامهای ضعیف عمل میکنند.
پس از افزودن پایپلاین نرمالسازی فارسی و ترکیب BM25 با بردارهای ۱۰۲۴ بعدی در آزمایشگاه ویکاد.
۲. استراتژی تقسیمبندی سلسلهمراتبی (Parent-Child Chunking)
به جای بریدن متن در هر ۵۰۰ توکن که موجب قطع شدن زنجیره منطقی یک ماده قانونی یا جدول مالی میشود، در موتور ViCosmo و ViCounsel از معماری Parent-Child استفاده میکنیم.
در این روش، قطعات کوچکتر (۱۵۰ تا ۲۰۰ توکنی) همراه با خلاصه تیتر فصل والد ایندکس میشوند تا دقت تطبیق برداری حداکثر شود؛ اما در زمان ارسال کانتکست به مدل زبانی، کل بخش والد (Parent Section) بازیابی میگردد تا مدل تمام شروط و تبصرههای مرتبط را در اختیار داشته باشد.
۳. نقش کلیدی Reranker و کنترل تأخیر در مقیاس عملیاتی
در مرحله نخست بازیابی، ۲۰ قطعه برتر از جستجوی برداری و ۲۰ قطعه برتر از موتور واژگانی BM25 استخراج شده و با الگوریتم RRF ادغام میشوند. سپس این کاندیداها وارد یک مدل Cross-Encoder فشرده میشوند که رابطه مستقیم پرسش و سند را امتیازدهی میکند.
با استفاده از کشینگ معنایی (Semantic Caching) روی پرسشهای پرتکرار سازمانی و اجرای مدل Reranker روی GPU با کوانتیزاسیون FP16، میانگین زمان کل پایپلاین زیر ۱۸۰ میلیثانیه حفظ شده است.