مهندسی عمیق۲۴ مهر ۱۴۰۵9 دقیقه مطالعه

معماری Graph-RAG در مقیاس سازمانی: گذار از جستجوی برداری ساده به استدلال رابطه‌ای

چرا جستجوی برداری کلاسیک (Naive Vector RAG) در اسناد حقوقی، مالی و فنی فارسی شکست می‌خورد و چگونه ترکیب گراف دانش با بازیابی هیبریدی دقت پاسخگویی را به ۹۹.۴٪ می‌رساند؟

نویسنده: دکتر آرش راد · معمار ارشد هوش مصنوعی ویکاد
LAB BENCHMARK METRIC
۸۳٪-

کاهش نرخ توهم (Hallucination) در بنچمارک اسناد فارسی

پیشرفت مطالعه شما:0%
خلاصه مدیریتی و یافته‌های کلیدی (Key Takeaways):
  • چانکینگ کورکورانه بر اساس تعداد کاراکتر، زنجیره استدلال بندهای قراردادی و جداول مالی را متلاشی می‌کند.
  • ترکیب جستجوی واژگانی (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) می‌نماید.

نمونه پایپ‌لاین بازیابی هیبریدی و بازرتبه‌بندی در هسته Vikad RAG
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 ارتباط دقیق سوال و تک‌تک قطعات را امتیازدهی می‌کند و تنها ۵ قطعه با اطمینان بالای ۸۲ درصد وارد پرامپت نهایی مدل زبانی می‌شوند.

در نهایت، خروجی تولیدشده پیش از نمایش به کاربر از یک گاردریل استناددهی عبور می‌کند تا هر ادعای عددی یا حقوقی مستقیماً به شماره صفحه و سند مرجع لینک شود.

## ۱. محدودیت‌های ساختاری جستجوی برداری تک‌بعدی در زبان فارسی در بسیاری از پیاده‌سازی‌های اولیه هوش مصنوعی سازمانی، اسناد PDF یا Word بدون توجه به سلسله‌مراتب معنایی به قطعات ۵۰۰ توکنی شکسته شده و در یک پایگاه داده برداری ذخیره می‌شوند. این رویکرد زمانی که کاربر سوالی درباره ارتباط دو تبصره در دو فصل مختلف قرارداد می‌پرسد، کاملاً ناکارآمد است. علاوه بر این، در متون تخصصی فارسی، شماره بخشنامه‌ها، کدهای حسابداری و اصطلاحات دقیق حقوقی با شباهت کسینوسی (Cosine Similarity) به‌تنهایی بازیابی نمی‌شوند و نیازمند تطابق دقیق واژگانی در کنار درک معنایی هستند. > یافته کلیدی آزمایشگاه ویکاد: استفاده از چانکینگ سلسله‌مراتبی (Parent-Child Chunking) به همراه نرمال‌سازی نویسه‌های فارسی، خطای بازیابی جداول مالی را تا ۶۴ درصد کاهش می‌دهد. ## ۲. معماری ترکیبی: BM25 + Dense Vector + Knowledge Graph در معماری نسل جدید ویکاد، هر سند هنگام ورود (Ingestion) علاوه بر تبدیل به بردار معنایی، توسط یک مدل استخراج موجودیت پردازش شده و گره‌ها (Nodes) و یال‌های ارتباطی آن در گراف دانش ثبت می‌شوند. هنگامی که کاربر پرسشی را مطرح می‌کند، موتور بازیابی به صورت موازی هم بردارهای نزدیک، هم کلیدواژه‌های دقیق BM25 و هم زیرگراف مرتبط با موجودیت‌های سوال را استخراج و ادغام (Reciprocal Rank Fusion) می‌نماید. ## ۳. لایه بازرتبه‌بندی (Cross-Encoder Reranking) و ممیزی ضدتوهم پس از استخراج ۲۰ قطعه کاندید در مرحله اول، یک مدل Cross-Encoder ارتباط دقیق سوال و تک‌تک قطعات را امتیازدهی می‌کند و تنها ۵ قطعه با اطمینان بالای ۸۲ درصد وارد پرامپت نهایی مدل زبانی می‌شوند. در نهایت، خروجی تولیدشده پیش از نمایش به کاربر از یک گاردریل استناددهی عبور می‌کند تا هر ادعای عددی یا حقوقی مستقیماً به شماره صفحه و سند مرجع لینک شود.