الگوها در نویز: تجسم ساختارهای پنهان اسناد بدون ساختار

همه ما با چالش استخراج داده‌های بدون ساختار از اسناد، ضمن حفظ آگاهی از زمینه و صحت، مواجه شده‌ایم. ابزارهای زیادی برای تبدیل PDF یا DOCX به Markdown یا متن ساده وجود دارد. این ابزارها برای اسنادی با چیدمان ساده و تمیز به خوبی کار می‌کنند، که با آنچه در دنیای واقعی می‌یابیم فاصله زیادی دارد: گزارش‌های سازمانی، فرم‌ها، اسناد، مجلات، ارائه‌ها و هر چیز دیگری.

یک سند سازمانی فقط متن یا جداول ساده نیست. اسناد سازمانی و فنی ممکن است حاوی نمودارها، گراف‌ها، جداول، چیدمان‌های چند ستونی، متن برجسته یا قالب‌بندی شده، بلوک‌های متنی برای نقل‌قول‌ها و قطعه کدها باشند. این عناصر و تصاویر، وضوح را تضمین کرده و درک موضوع در سند را افزایش می‌دهند. حل این مشکل برای مسائل سنتی پردازش زبان طبیعی (NLP) یا سیستم‌های بازیابی، یا استخراج دانش از اسناد برای آموزش مدل‌ها، همچنان چالش‌برانگیز است. ابزارهای مختلف جنبه‌های متفاوتی از این حوزه را پوشش می‌دهند و برای بخش‌های مختلفی از این چالش بهینه‌سازی شده‌اند. طی سال‌ها، من از ابزارهای زیادی هنگام کار در این حوزه‌ها استفاده کرده‌ام و هر بار یک "ترکیب جادویی" که برای مورد استفاده خاص کار می‌کند، ساخته‌ام.

سال گذشته، هنگام جستجو برای بهبود تکنیک‌های قطعه‌بندی (chunking) آگاه از زمینه، با ابزار متن‌باز Docling آشنا شدم. در ابتدا، فکر کردم این فقط یک ابزار پردازش PDF دیگر است و با همین ذهنیت شروع به آزمایش آن کردم. اما سخت در اشتباه بودم! اشتباه نکنید - Docling همه این کارها را انجام می‌دهد، اما بسیار فراتر از آن است، و راز آن در "چه چیزی" و "چگونه" نهفته است - روشی که چیدمان سند، قالب‌بندی متن و انواع بلوک‌ها را در سند ثبت می‌کند و آن‌ها را در دسترس توسعه‌دهندگان قرار می‌دهد - این چیزی است که آن را منحصر به فرد می‌کند.

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

نمودار گردش کار پردازش Docling

به عنوان مثال، یک سند اسپانیایی از دولت السالوادور https://www.mh.gob.sv را در نظر بگیرید. فایل PDF برای مثال زیر Estrategia-de-Gestion-Financiera-ante-el-Riesgo-de-Desastres.pdf است که حاوی جداول، تصاویر، فهرست‌ها، متن عمودی و عناصر بصری زیربنایی است که مشخص می‌کنند آیا یک متن به هم تعلق دارد یا بخشی از یک قطعه متفاوت است. هنگام استخراج متن به یک فرمت ساده مانند Markdown، حتی زمانی که متن شناسایی می‌شود، بسیاری از اطلاعات زمینه‌ای از بین می‌رود و تعیین زمینه یک متن با دقت بالا برای کارهای پیشرفته NLP دشوار می‌شود.

برای تجسم آسان‌تر تأثیر انواع مختلف تبدیل‌ها، بیایید از docling-serve استفاده کنیم.


# install docling-serve
pip install docling-serve gradio
            

# run the docling serve API interface
docling-serve run --enable-ui --host 127.0.0.1 --port 10100
Starting production server
Server started at http://127.0.0.1:10100
Documentation at http://127.0.0.1:10100/docs
UI at http://127.0.0.1:10100/ui
Logs:
INFO: Started server process [8863]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:10100 (Press CTRL+C to quit)
...
            

اتصال به رابط کاربری (UI) امکان دسترسی سریع به تنظیمات و تعامل را فراهم می‌کند.

رابط کاربری وب docling-serve
رابط کاربری docling-serve

نسخه Markdown می‌تواند تصویر را به صورت درون‌خطی (inline) رمزگذاری کرده و متن را استخراج کند.

نمونه خروجی Markdown در رابط کاربری docling-serve
خروجی Markdown تولید شده توسط Docling

نسخه رندر شده Markdown نشان می‌دهد که چگونه متن هنگام تبدیل PDF به Markdown تفسیر می‌شود. همانطور که تصویر زیر نشان می‌دهد، اطلاعات زمینه‌ای حاصل از چیدمان اصلی کاملاً از بین رفته است.

نمایش رندر شده خروجی Markdown که از دست دادن ساختار را نشان می‌دهد
نمایش رندر شده خروجی Markdown؛ ساختار بصری از بین رفته است.

هنگام استفاده از فرمت DoclingDocument، بخش Docling-Rendered داستان متفاوتی را روایت می‌کند. این گزینه یک نمایش با وفاداری بالا از سند اصلی، شامل چیدمان و قالب‌بندی را حفظ می‌کند. هر متن، از جمله متن چرخانده شده در سمت چپ صفحه، به عنوان یک عنصر متنی مستقل با مختصات و فراداده‌های (metadata) دیگر شناسایی و استخراج می‌شود که امکان رندر کردن سندی بسیار نزدیک به PDF اصلی را از یک فرمت JSON ساختاریافته فراهم می‌کند.

نمایش رندر شده خروجی DoclingDocument که حفظ ساختار را نشان می‌دهد
نمایش رندر شده با استفاده از فرمت DoclingDocument؛ چیدمان حفظ شده است.

غنای فراداده‌ها و چیدمانی که Docling هنگام پردازش یک سند به عنوان خروجی ساختاریافته ثبت می‌کند، آن را متمایز می‌سازد. این نوع اطلاعات، امکانات را برای موارد استفاده سنتی NLP و موارد استفاده برای سیستم‌های بازیابی مانند RAG و ایجاد مجموعه داده‌های آموزشی برای مدل‌های زبان بزرگ (LLMs) گسترش می‌دهد.

هنگام طراحی یک سیستم بازیابی، قطعه متن (chunk) را می‌توان به راحتی به مکان و موقعیت دقیق در سندی که از آن می‌آید، نگاشت کرد. علاوه بر این، هنگام استفاده از HybridChunker، یک قطعه‌بند سلسله‌مراتبی آگاه از توکن‌سازی (tokenization-aware)، هر قطعه آگاهی از زمینه و اطلاعات سلسله‌مراتبی خود را حفظ می‌کند. تمام این قابلیت‌های بومی تأثیر مثبتی بر دقت و کیفیت اسناد بازیابی شده دارند. آنچه معمولاً نیازمند پیاده‌سازی‌های سفارشی با ترکیب رویکردهای متعدد برای غنی‌سازی قطعات متن است، اکنون با تبدیل شدن به یک عملکرد بومی ابزار، ساده‌سازی شده است.

هنگام استفاده از متن استخراج‌شده برای تکنیک‌های تقطیر مدل (model distillation) به منظور ایجاد مجموعه داده‌های آموزشی پایه، غنای فراداده‌ها امکان زمینه‌سازی بخش‌هایی از سند را که برای استخراج دانش برای مجموعه داده آموزشی تحلیل می‌شوند، فراهم می‌کند.

نتیجه‌گیری

Docling پیشرفت قابل توجهی در فناوری پردازش اسناد محسوب می‌شود. این ابزار یکپارچگی ساختاری و زمینه‌ای را که اکثر ابزارهای تبدیل کنار می‌گذارند، حفظ می‌کند. حفظ اطلاعات چیدمان، قالب‌بندی متن و روابط سلسله‌مراتبی به توسعه‌دهندگان امکان می‌دهد تا سیستم‌های پردازش اسناد دقیق‌تر و آگاه‌تری از زمینه ایجاد کنند.

برای توسعه‌دهندگانی که با اسناد سازمانی کار می‌کنند، پیامدها قابل توجه هستند:

  1. سیستم‌های بازیابی بهبودیافته: برنامه‌های کاربردی RAG (Retrieval-Augmented Generation) از نگاشت دقیق اسناد و آگاهی از زمینه بهره‌مند می‌شوند که منجر به بازیابی اطلاعات دقیق‌تر می‌شود.
  2. داده‌های آموزشی بهتر: فراداده‌های غنی امکان زمینه‌سازی بهتر دانش استخراج‌شده را هنگام ایجاد مجموعه داده‌ها برای آموزش LLM فراهم می‌کند.
  3. پردازش آگاه از چیدمان: توانایی درک ساختار سند به این معنی است که برنامه‌های کاربردی می‌توانند اطلاعات را مانند انسان‌ها تفسیر کنند، با در نظر گرفتن عناوین، قالب‌بندی و روابط فضایی.
  4. پشتیبانی بهتر از فرمت‌های چندگانه: عناصر پیچیده مانند متن چرخانده شده، چیدمان‌های چند ستونی و جداول به جای مسطح شدن، حفظ می‌شوند.

از آنجایی که اسناد بدون ساختار همچنان منبع اصلی دانش سازمانی هستند، ابزارهایی مانند Docling که می‌توانند ساختار را از هرج و مرج ظاهری استخراج کنند، به طور فزاینده‌ای ارزشمند می‌شوند. الگوهای پنهان در نویز اسناد ما سرانجام در حال نمایان شدن هستند و به ما امکان می‌دهند اطلاعات را با زمینه و ظرافتی که شایسته آن است پردازش کنیم.

اگر با پردازش اسناد، به ویژه برای اسناد سازمانی یا فنی با چیدمان‌های پیچیده، سر و کار دارید، شما را تشویق می‌کنم تا بررسی کنید که Docling چه چیزی می‌تواند برای موارد استفاده خاص شما ارائه دهد. توانایی حفظ وفاداری ساختاری هنگام تبدیل اسناد به فرمت‌های قابل خواندن توسط ماشین ممکن است قطعه گمشده در خط لوله پردازش اسناد شما باشد.

درباره نویسندگان/سخنرانان ODSC East 2025:

عکس ویلیام کابان
ویلیام کابان

ویلیام کابان (William Caban)، مدیر محصول در واحد کسب‌وکار هوش مصنوعی Red Hat، یک رهبر فناوری است که شکاف بین نوآوری‌های پیشرفته هوش مصنوعی و راه‌حل‌های سازمانی را پر می‌کند. با تخصص عمیق در محاسبات با عملکرد بالا و عملیات یادگیری ماشین (MLOps)، او با موفقیت پلتفرم‌های هوش مصنوعی را معماری و مستقر کرده است که در سراسر سازمان‌های جهانی مقیاس‌پذیر هستند. در Red Hat، ویلیام توسعه راه‌حل‌های هوش مصنوعی مولد (Generative AI) در سطح سازمانی را رهبری می‌کند و به سازمان‌ها در پیمایش پیچیدگی‌های مدل‌های زبان بزرگ (LLM)، حاکمیت مسئولانه هوش مصنوعی و یکپارچه‌سازی یکپارچه با زیرساخت‌های موجود کمک می‌کند. مجموعه پتنت‌های او منعکس‌کننده مشارکت‌های پیشگامانه در محاسبات توزیع‌شده و بهینه‌سازی سیستم‌های هوش مصنوعی است. فراتر از حوزه شرکتی، ویلیام وقت خود را به راهنمایی کارآفرینان اجتماعی و به اشتراک‌گذاری چارچوب‌های عملی برای تعبیه اصول اخلاقی هوش مصنوعی در توسعه محصول ضمن به حداکثر رساندن تأثیر اجتماعی اختصاص می‌دهد.

عکس سدریک کلیبورن
سدریک کلیبورن

سدریک کلیبورن (Cedric Clyburn) (@cedricclyburn)، مدافع ارشد توسعه‌دهندگان در Red Hat، یک فناور نرم‌افزار مشتاق با سابقه در Kubernetes، DevOps و ابزارهای کانتینر است. او تجربه سخنرانی و سازماندهی کنفرانس‌هایی از جمله DevNexus، WeAreDevelopers، The Linux Foundation، KCD NYC و غیره را دارد. سدریک عاشق همه چیزهای متن‌باز است و برای آسان‌تر کردن زندگی توسعه‌دهندگان تلاش می‌کند! مستقر در نیویورک.