- چانکینگ کورکورانه بر اساس تعداد کاراکتر، زنجیره استدلال بندهای قراردادی و جداول مالی را متلاشی میکند.
- ترکیب جستجوی واژگانی (BM25) با امبدینگهای متراکم و لایه Reranker دقت ۵ نتیجه اول را تا ۳۸٪ ارتقا میدهد.
- استخراج موجودیتها در قالب گراف دانش (Knowledge Graph) امکان پاسخ به سوالات چندگامی (Multi-hop Queries) را فراهم میسازد.
۱. محدودیتهای ساختاری جستجوی برداری تکبعدی در زبان فارسی
در بسیاری از پیادهسازیهای اولیه هوش مصنوعی سازمانی، اسناد PDF یا Word بدون توجه به سلسلهمراتب معنایی به قطعات ۵۰۰ توکنی شکسته شده و در یک پایگاه داده برداری ذخیره میشوند. این رویکرد زمانی که کاربر سوالی درباره ارتباط دو تبصره در دو فصل مختلف قرارداد میپرسد، کاملاً ناکارآمد است.
علاوه بر این، در متون تخصصی فارسی، شماره بخشنامهها، کدهای حسابداری و اصطلاحات دقیق حقوقی با شباهت کسینوسی (Cosine Similarity) بهتنهایی بازیابی نمیشوند و نیازمند تطابق دقیق واژگانی در کنار درک معنایی هستند.
یافته کلیدی آزمایشگاه ویکاد: استفاده از چانکینگ سلسلهمراتبی (Parent-Child Chunking) به همراه نرمالسازی نویسههای فارسی، خطای بازیابی جداول مالی را تا ۶۴ درصد کاهش میدهد.
۲. معماری ترکیبی: BM25 + Dense Vector + Knowledge Graph
در معماری نسل جدید ویکاد، هر سند هنگام ورود (Ingestion) علاوه بر تبدیل به بردار معنایی، توسط یک مدل استخراج موجودیت پردازش شده و گرهها (Nodes) و یالهای ارتباطی آن در گراف دانش ثبت میشوند.
هنگامی که کاربر پرسشی را مطرح میکند، موتور بازیابی به صورت موازی هم بردارهای نزدیک، هم کلیدواژههای دقیق BM25 و هم زیرگراف مرتبط با موجودیتهای سوال را استخراج و ادغام (Reciprocal Rank Fusion) مینماید.
const retrieveEnterpriseContext = async (query: string, tenantId: string) => {
const [denseHits, sparseHits, graphTriples] = await Promise.all([
qdrant.searchDense({ query, tenantId, topK: 20 }),
qdrant.searchBM25({ query: normalizePersian(query), tenantId, topK: 20 }),
neo4j.querySubgraph({ entities: extractEntities(query), depth: 2 }),
]);
const fused = reciprocalRankFusion(denseHits, sparseHits, graphTriples);
return crossEncoderRerank(query, fused, { topN: 6, minScore: 0.82 });
};۳. لایه بازرتبهبندی (Cross-Encoder Reranking) و ممیزی ضدتوهم
پس از استخراج ۲۰ قطعه کاندید در مرحله اول، یک مدل Cross-Encoder ارتباط دقیق سوال و تکتک قطعات را امتیازدهی میکند و تنها ۵ قطعه با اطمینان بالای ۸۲ درصد وارد پرامپت نهایی مدل زبانی میشوند.
در نهایت، خروجی تولیدشده پیش از نمایش به کاربر از یک گاردریل استناددهی عبور میکند تا هر ادعای عددی یا حقوقی مستقیماً به شماره صفحه و سند مرجع لینک شود.