Rakhshai Graph-based NLP – نخستین کتابخانه گراف‌محور متن‌باز برای پردازش زبان فارسی

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

شبکه‌های عصبی گرافی (GNNها) رویکردی نویدبخش برای مدل‌سازی اطلاعات زبانی در چنین شرایطی ارائه می‌دهند. کتابخانه پردازش زبان طبیعی مبتنی بر گراف رخشای (Rakhshai Graph-based NLP) به‌عنوان نخستین چارچوب گراف‌محور متن‌باز برای NLP فارسی، با تبدیل متن فارسی به ساختارهای گرافی و بهره‌گیری از مدل‌های GCN، GraphSAGE و GAT امکان تحلیل عمیق‌تر روابط معنایی را فراهم می‌کند.

در این مقاله، ابتدا اهمیت به‌کارگیری GNNها در NLP و مزایای ویژه‌ی آن‌ها برای زبانی مانند فارسی را مرور می‌کنیم. سپس معماری و مؤلفه‌های کلیدی Rakhshai Graph-based NLP – از مرحله‌ی پیش‌پردازش و ساخت گراف گرفته تا پردازش end-to-end و تولید خروجی – تشریح می‌شود. نوآوری کتابخانه پردازش زبان طبیعی مبتنی بر گراف رخشای (Rakhshai Graph-based NLP) به‌عنوان نخستین چارچوب عمومی از این نوع برای زبان فارسی مورد تأکید قرار گرفته و کاربردهای متنوع آن برای پژوهش‌های دانشگاهی (مانند تحلیل گفتمان و استخراج دانش)، صنعت NLP (تحلیل شبکه‌های اجتماعی فارسی، سیستم‌های توصیه‌گر محتوا) و شرکت‌های تحلیل داده (شناسایی ترندهای معنایی در متن‌های گسترده‌ی فارسی) بحث می‌گردد. در ادامه، با رویکردهای سنتی NLP مقایسه شده و نشان داده می‌شود که چگونه ساختارهای گرافی می‌توانند درک ژرف‌تری از ارتباطات معنایی نسبت به روش‌های متوالی فراهم کنند. در پایان نیز جمع‌بندی و چشم‌اندازهایی برای توسعه‌های آتی – از جمله ادغام با مدل‌های زبانی بزرگ و گسترش چارچوب به سایر زبان‌های کم‌منبع – ارائه شده است.

مقدمه و اهمیت GNNها در پردازش زبان فارسی

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

مدل‌های متداول NLP عمدتاً بر توالی کلمات متکی هستند؛ برای مثال، RNNها و CNNها هرچند در بسیاری از مسائل موثر بوده‌اند، اما غالباً تنها الگوهای محلی متوالی را می‌آموزند و روابط معنایی غیرمحلی در کل جمله یا متن را صراحتاً مدل نمی‌کنند. این مسأله مخصوصاً در زبان فارسی که وابستگی‌های نحوی می‌توانند با فاصله‌ی زیاد در جمله ظاهر شوند، محسوس است. در مقابل، شبکه‌های عصبی گرافی (GNN) امکان بهره‌گیری از ساختارهای گرافی (نمودار) برای نمایش صریح روابط میان واحدهای زبانی را فراهم می‌سازند.

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

اهمیت این رویکرد در زبان فارسی دوچندان است، زیرا می‌تواند با داده‌های کمتر، اطلاعات ساختاری زبان را بهتر استخراج کند و خلأ کمبود داده را تا حدی جبران نماید.

در سال‌های اخیر، رویکردهای گرافی در حوزه‌های مختلف NLP رشد قابل‌توجهی داشته‌اند؛ از تحلیل نحوی و نقش معنایی گرفته تا پاسخ‌گویی به پرسش بر پایه گراف دانش و ترجمه‌ی ماشینی مبتنی بر ساختار، با این حال، بیشتر چارچوب‌ها و کتابخانه‌های موجود برای بهره‌گیری از GNNها در NLP، بر روی زبان انگلیسی یا سایر زبان‌های پرمنبع متمرکز بوده‌اند. تاکنون برای زبان فارسی (که یک زبان کم‌منبع محسوب می‌شود) یک چارچوب عمومی گراف‌محور ارائه نشده بود و پژوهش‌های گرافی اغلب به ساخت گراف‌های دانش نظیر FarsBase محدود بوده‌اند که اولین گراف دانش فارسی در سال ۲۰۱۸ ایجاد شده است.

کتابخانه پردازش زبان طبیعی مبتنی بر گراف رخشای (Rakhshai Graph-based NLP) نخستین تلاش برای ایجاد یک چارچوب متن‌باز گرافی در پردازش متن فارسی است که با هدف پرکردن این شکاف طراحی شده است. در ادامه، جزئیات این چارچوب نوین را معرفی می‌کنیم.

معرفی کتابخانه Rakhshai Graph-based NLP و معماری گراف‌محور آن

Rakhshai Graph-based NLP یک کتابخانه‌ی متن‌باز است که متن ورودی فارسی را به یک ساختار گرافی قابل‌پردازش تبدیل می‌کند و سپس انواع مدل‌های شبکه عصبی گرافی را برای پردازش و تحلیل آن به‌کار می‌گیرد. طراحی Rakhshai Graph-based NLP از معماری‌های استاندارد الهام گرفته است که در آن یک خط لوله‌ی end-to-end برای پردازش متن تا استنتاج نهایی فراهم می‌شود. این معماری شامل مؤلفه‌ها و ماژول‌های کلیدی زیر است:

  • پیش‌پردازش و ساخت گراف: متن خام فارسی ابتدا توسط ماژول‌های پیش‌پردازش Rakhshai Graph-based NLP پاک‌سازی و توکن‌سازی می‌شود (برطرف کردن نویسه‌های غیرمجاز، یکدست‌سازی نیم‌فاصله‌ها، تبدیل اعداد و غیره). سپس براساس متن پردازش‌شده، یک گراف زبانی ساخته می‌شود. این گراف می‌تواند شکل‌های مختلفی داشته باشد؛ گراف وابستگی نحوی جمله (گره‌ها کلمات و یال‌ها روابط نحوی مانند فاعل، مفعول و متمم)، گراف هم‌رخدادی کلمات در متن (گره‌ها کلمات و یال‌ها بیانگر هم‌ظهوری کلمات در یک بافت متنی واحد)، یا حتی گراف دانش استخراج‌شده از متن (گره‌ها موجودیت‌ها و مفاهیم و یال‌ها روابط معنایی بین آن‌ها).
  • Rakhshai Graph-based NLP از ابزارهای موجود NLP فارسی برای این منظور بهره می‌گیرد؛ به‌طور مثال می‌تواند از برچسب‌زن‌های نحوی (dependency parsers) موجود برای فارسی استفاده کند تا ساختار درخت وابستگی را استخراج و سپس آن را به گراف تبدیل نماید. خروجی این مرحله یک گراف وزندار جهت‌دار است که هر گره دارای ویژگی‌هایی نظیر تعبیه کلمه (Word Embedding)، برچسب نحوی یا معنایی و … است و هر یال می‌تواند برچسب رابطه (مانند نوع وابستگی) یا وزن هم‌بستگی داشته باشد.
  • مدل‌سازی گرافی با GNNها: در قلب Rakhshai Graph-based NLP، پیاده‌سازی مدل‌های متنوع شبکه عصبی گرافی قرار دارد که برای پردازش گراف متن به کار می‌روند. سه مدل اصلی که در نسخه فعلی Rakhshai Graph-based NLP پشتیبانی می‌شوند عبارتند از:
    (1) GCN (Graph Convolutional Network): یک شبکه‌ی عصبی پیچشی گرافی کلاسیک که مستقیماً روی گراف عمل کرده و بردارهای تعبیه‌ی گره‌ها را بر مبنای ویژگی‌های همسایگان آن‌ها به‌روز می‌کند. GCN با انتشار اطلاعات در لایه‌های پیاپی، زمینه‌ی محلی هر گره (مثلاً کلمه در جمله) را در بازنمایی آن ادغام می‌کند. این مدل به‌دلیل سادگی و عملکرد قوی، برای وظایفی چون برچسب‌زنی گره‌ها (کلمات) یا رده‌بندی کل گراف (مثلاً طبقه‌بندی نوع جمله یا سند) مناسب است.
    (2) GraphSAGE: مدلی پیشرفته‌تر که رویکرد یادگیری القایی را دنبال می‌کند و به‌طور ویژه برای گراف‌های بزرگ و پویا طراحی شده است. ایده‌ی کلیدی GraphSAGE این است که به‌جای یادگیری یک بردار مجزا برای هر گره (که برای گره‌های جدید قابل‌تعمیم نیست)، یک تابع قابل یادگیری را آموزش دهد که می‌تواند با نمونه‌برداری و تجمیع ویژگی‌های همسایگان یک گره، بردار تعبیه‌ی آن را حتی برای گره‌های دیده‌نشده نیز تولید کند. در Rakhshai Graph-based NLP، این قابلیت اجازه می‌دهد تا مدل روی یک گراف آموزشی کوچکتر تعلیم ببیند اما سپس بتواند روی داده‌های جدید (متون یا گراف‌های ساخته‌شده از متن‌های دیگر) نیز به‌کار رود؛ ویژگی‌ای که برای زبان فارسی با داده‌های محدود بسیار ارزشمند است.
    (3) GAT (Graph Attention Network): مدلی مبتنی بر مکانیزم توجه که به هر گره امکان می‌دهد وزن اهمیت متفاوتی به هر یک از همسایه‌هایش در هنگام تجمع پیام اختصاص دهد. برخلاف GCN که به طور ضمنی همه همسایه‌ها را (پس از نرمال‌سازی) به یک میزان در نظر می‌گیرد، در GAT یک مکانیزم یادگیری‌پذیر تعیین می‌کند که کدام همسایه برای یک گره اهمیت بیشتری دارد و باید سهم بیشتری در به‌روزرسانی ویژگی آن گره داشته باشد. این رویکرد به‌ویژه برای متن‌هایی که روابط برخی کلمات با هم قوی‌تر است (مثلاً موجودیت‌های اصلی جمله) مفید خواهد بود، زیرا مدل می‌تواند تمرکز خود را بر روی این روابط کلیدی معطوف کند. Rakhshai Graph-based NLP با پیاده‌سازی GAT، امکان استفاده از لایه‌های توجه گرافی چندسری (multi-head) را نیز فراهم کرده است تا بتواند الگوهای متنوع توجه را به‌صورت موازی یاد بگیرد و کارایی مدل را بالاتر ببرد.
  • واسط‌ها و ابزارهای توسعه: به‌عنوان یک کتابخانه متن‌باز مدرن، Rakhshai Graph-based NLP دارای مجموعه‌ای از APIهای سطح‌بالا و ابزارهای کمکی برای سهولت استفاده پژوهشگران و توسعه‌دهندگان است. برای مثال، واسط‌هایی جهت بارگذاری داده‌ها و گراف‌های ورودی (از فرمت‌های رایج مانند JSON یا GraphML)، تقسیم‌بندی داده به مجموعه‌های آموزش/ارزیابی، تنظیم ابرپارامترهای مدل‌های گرافی (نظیر تعداد لایه‌های GCN یا ابعاد تعبیه‌ها)، و نیز ارزیابی خروجی مدل (محاسبه دقت، F1 و …) در این کتابخانه پیش‌بینی شده است. معماری ماژولار Rakhshai Graph-based NLP اجازه می‌دهد پژوهشگران بتوانند به‌آسانی مدل گرافی خود را اضافه یا تنظیم کنند یا روش ساخت گراف را براساس نیاز تغییر دهند. به بیان دیگر، Rakhshai Graph-based NLP همچون چارچوب Graph4NLP دارای لایه‌هایی مجزا برای داده، ماژول‌ها، مدل‌ها و کاربردهاست که این تفکیک لایه‌ای، توسعه و اشکال‌زدایی سیستم را تسهیل می‌کند.
  • فرآیند End-to-End: مجموعه مؤلفه‌های فوق در کنار هم یک خط لوله‌ی کامل را تشکیل می‌دهند که از متن خام تا خروجی مدل را به‌صورت خودکار پیمایش می‌کند. برای نمونه، یک کاربرد ممکن در Rakhshai Graph-based NLP بدین صورت است: ابتدا کاربر یک متن خبری فارسی را به سیستم می‌دهد؛ Rakhshai Graph-based NLP متن را نرمال‌سازی و tokenization می‌کند؛ سپس با بهره‌گیری از مدل وابستگی نحوی، یک گراف وابستگی از متن می‌سازد که مثلاً حاوی ۲۰ گره (کلمات مهم خبر) و یال‌هایی بر اساس روابط نحوی میان آن‌هاست؛ آنگاه یک مدل GCN دو-لایه روی این گراف اعمال می‌شود تا هر گره یک بردار معنایی بهبودیافته (با در نظر گرفتن همسایه‌ها) به‌دست آورد؛ سپس بردارهای گره‌ها باهم ترکیب شده و مثلاً برای رده‌بندی موضوع خبر استفاده می‌شوند (خروجی مدل می‌تواند برچسب موضوعی متن باشد). تمام این مراحل بدون دخالت کاربر و به‌صورت خودکار توسط توابع کتابخانه انجام می‌شود. چنین فرایند end-to-end یکنواختی، مزیت بزرگی برای پژوهشگران و مهندسان است زیرا آن‌ها را از پیچیدگی‌های پیاده‌سازی هر مرحله رها کرده و امکان آزمایش سریع ایده‌های جدید را فراهم می‌کند.

در مجموع، Rakhshai Graph-based NLP با ارائه‌ی یک چارچوب یکپارچه، اولین زیرساخت پردازش گرافی زبان فارسی را مهیا کرده است. این چارچوب به پژوهشگران اجازه می‌دهد تا به‌جای صرف زمان برای ساخت ابزارهای پایه‌ای، مستقیماً بر روی مسائل علمی نظیر طراحی مدل‌های بهتر یا تحلیل داده‌های زبانی متمرکز شوند. همچنین متن‌باز بودن پروژه به معنای آن است که جامعه‌ی متخصصان می‌توانند در توسعه‌ی آن سهیم شده و آن را مطابق نیازهای خود گسترش دهند.

کاربردهای Rakhshai Graph-based NLP در پژوهش و صنعت

یکی از اهداف اصلی معرفی Rakhshai Graph-based NLP، پل زدن بین تحقیقات دانشگاهی و نیازهای صنعتی در حوزه‌ زبان فارسی است. این چارچوب به‌دلیل ماهیت گرافی خود، فرصت‌های تازه‌ای برای انواع کاربردهای NLP فراهم می‌کند. در این بخش به چند نمونه مهم اشاره می‌کنیم:

  • پژوهش‌های دانشگاهی (تحلیل گفتمان و استخراج دانش): Rakhshai Graph-based NLP می‌تواند به عنوان یک سکوی پژوهشی برای مطالعات زبان‌شناختی و هوش مصنوعی در دانشگاه‌ها مورد استفاده قرار گیرد. برای مثال، در تحلیل گفتمان (Discourse Analysis)، می‌توان جملات یک متن را به‌صورت گراف گفتمانی مدل کرد؛ گره‌ها می‌توانند نمایانگر جملات یا پاراگراف‌ها باشند و یال‌ها روابط گفتمانی (مانند نتیجه‌گیری، تضاد یا علت) را نمایش دهند. با استفاده از GNNها روی این گراف، پژوهشگر می‌تواند ساختار کلان گفتمان را تحلیل کرده و مثلاً تشخیص دهد کدام بخش‌های متن مقدمات و کدام بخش نتیجه‌گیری را تشکیل می‌دهند. در استخراج دانش (Knowledge Extraction) نیز Rakhshai Graph-based NLP کاربردی است؛ این سیستم قادر است از متون خام فارسی، گراف‌های دانش استخراج کند و سپس با GNNها الگوهای پنهان در آن‌ها را بیابد. برای نمونه، از متون علمی فارسی می‌توان یک گراف ساخت که در آن گره‌ها مفاهیم علمی (مانند «پروتون» یا «بار الکتریکی») و یال‌ها روابط میان آن‌ها (مثل «بخشی از» یا «دارای واحد») باشند. GNNها روی این گراف می‌توانند به شناسایی خوشه‌های مفهومی یا استنتاج روابط جدید کمک کنند. چنین رویکردی قبلاً در زبان انگلیسی با بهره‌گیری از گراف‌های دانش (مانند DBpedia و Google Knowledge Graph) نتایج موفقیت‌آمیزی داشته و به بهبود کاربردهای متنوع انجامیده است؛ اکنون Rakhshai Graph-based NLP امکان پیاده‌سازی مشابه را برای زبان فارسی فراهم می‌سازد. پژوهشگران دانشگاهی همچنین می‌توانند از Rakhshai Graph-based NLP برای ایجاد بردارهای معنایی گراف‌بنیان برای کلمات و عبارات فارسی استفاده کنند که در فرهنگ‌های لغت و وردنت‌های زبان فارسی نیز کاربرد دارد.
  • کاربردهای صنعتی NLP (تحلیل شبکه‌های اجتماعی و سیستم‌های پیشنهادگر): در صنعت فناوری زبان فارسی، نیازهای گوناگونی مطرح است که Rakhshai Graph-based NLP می‌تواند در آن‌ها نقش کلیدی ایفا کند. یکی از این نیازها تحلیل شبکه‌های اجتماعی فارسی (مانند تحلیل محتوا و تعاملات در توییتر فارسی یا اینستاگرام) است. به‌عنوان نمونه، می‌توان یک گراف کاربر-محتوا ساخت که در آن گره‌های نوع اول کاربران و گره‌های نوع دوم پست‌ها یا توییت‌ها هستند، و یال‌ها بیانگر تعامل (مانند لایک، کامنت یا منشن) میان کاربر و محتوا یا میان دو کاربر (ارتباط دنبال‌کردن) می‌باشند. اجرای مدل GraphSAGE بر چنین گرافی می‌تواند به خوشه‌بندی کاربران بر اساس علایق یا کشف جامعه‌های مجازی بیانجامد، چرا که GraphSAGE در گراف‌های بزرگ مقیاس‌پذیر است و می‌تواند بازنمایی برداری هر کاربر را با توجه به همسایگانش (دوستان و محتوایی که تعامل کرده) بیاموزد. کاربرد صنعتی دیگر موتورهای پیشنهادگر محتوا (Content Recommender Systems) است. در یک سیستم پیشنهاد خبر یا فیلم برای کاربران فارسی‌زبان، می‌توان گراف دووجهی کاربر-آیتم تشکیل داد (کاربران در یک سو، آیتم‌های محتوا در سوی دیگر، و یال نشانگر تعامل یا بازخورد مثبت). با اعمال GAT بر این گراف، مدل یاد می‌گیرد که کدام تعاملات کاربر اهمیت بیشتری در تعیین سلیقه‌ی او دارند و بر همان اساس توصیه‌های شخصی‌سازی‌شده دقیق‌تری ارائه می‌دهد. پژوهش‌های اخیر نشان داده‌اند که بهره‌گیری از گراف و شبکه‌های عصبی گرافی در سیستم‌های توصیه‌گر می‌تواند دقت پیشنهادها را افزایش دهد و ارتباطات پنهان بین کاربران و آیتم‌ها را آشکار کند. Rakhshai Graph-based NLP این قابلیت را برای نخستین بار در مقیاس ابزارهای فارسی در اختیار شرکت‌های داخلی قرار می‌دهد تا بتوانند سامانه‌های پیشنهادگر هوشمندتری توسعه دهند.
  • تحلیل داده و کشف ترندهای معنایی: برای شرکت‌ها و سازمان‌هایی که با کلان‌داده‌های متنی فارسی سر و کار دارند (مثل بانک‌های اطلاعاتی خبر، آرشیو اسناد، یا داده‌کاوی رسانه‌های جمعی)، Rakhshai Graph-based NLP می‌تواند به‌عنوان ابزاری برای کشف الگوهای معنایی و ترندها عمل کند. تصور کنید یک شرکت تحلیل داده می‌خواهد روند ظهور و گسترش یک مفهوم (مثلاً فناوری «بلاک‌چین» در متون فارسی) را طی زمان بررسی کند. با Rakhshai Graph-based NLP می‌توان در هر بازه‌ی زمانی یک گراف معنایی ساخت که گره‌های آن مفاهیم کلیدی آن دوره و یال‌ها میزان هم‌آیندی یا ارتباط معنایی آن مفاهیم در متون هستند. سپس با به‌کارگیری GCN بر روی این گراف‌ها، می‌توان مشخص کرد که کدام مفاهیم به‌مرور در حال پیوند خوردن قوی‌تر با «بلاک‌چین» هستند (مثلاً مفاهیم «ارز دیجیتال»، «قرارداد هوشمند») و کدام مفاهیم اهمیت خود را از دست می‌دهند. بدین ترتیب یک نقشه‌ی گرافی از روند معنایی حوزه‌ی موردنظر ترسیم می‌شود که برای تصمیم‌گیری کسب‌وکارها بسیار ارزشمند است. همچنین در پایش شبکه‌های اجتماعی، Rakhshai Graph-based NLP می‌تواند ترندهای بحث‌شده میان کاربران را به شکل گراف کلمات استخراج کند و با شناسایی مرکزیت گره‌ها یا جوامع زیرگراف‌ها، موضوعات داغ و ارتباطات بین آن‌ها را گزارش نماید.

تمامی این کاربردها نشان می‌دهند که Rakhshai Graph-based NLP صرفاً یک ابزار تئوریک نیست، بلکه پلی است بین تحقیق و توسعه. پژوهشگران می‌توانند الگوریتم‌های جدید خود را روی داده‌های واقعی بیازمایند و صنعت‌گران می‌توانند از آخرین دستاوردهای پژوهشی در محصولات خود بهره بگیرند؛ آن هم با زبان و داده‌های فارسی که تاکنون کمتر مورد توجه جهانی بوده است.

مزایای ساختار گرافی در مقایسه با روش‌های سنتی NLP

رویکرد گراف‌محور Rakhshai Graph-based NLP در برابر روش‌های رایج مبتنی بر توالی (seq2seq، ترنسفورمرها و …) مزایای قابل‌ملاحظه‌ای به همراه دارد که در این بخش به آن‌ها می‌پردازیم:

  • درک صریح‌تر روابط نحوی و معنایی: در روش‌های سنتی NLP، نمایه‌سازی متن عمدتاً به‌صورت یک بردار تخت یا دنباله‌ای از تعبیه‌های کلمات انجام می‌شود. این امر باعث می‌شود که مدل به‌طور ضمنی و از خلال لایه‌های شبکه، روابط میان کلمات را بیاموزد. اما در روش گرافی، این روابط به‌طور صریح در ساختار گراف شده‌اند (مثلاً وجود یک یال مستقیم بین دو کلمه در گراف وابستگی نشان می‌دهد که یک ارتباط نحوی مستقیم دارند). در نتیجه مدل گرافی از ابتدا با آگاهی از این وابستگی‌ها آموزش می‌بیند و نیازی نیست آنها را تنها از داده استنباط کند. این موضوع به‌ویژه در زبان فارسی که روابط نحوی مانند متممی و موصولی می‌توانند پیچیده باشند، به فهم بهتر مدل کمک می‌کند. به بیان دیگر، ساختار گرافی دانش نحوی را به مدل تزریق می‌کند و مدل را قادر می‌سازد استنتاج‌های پیشرفته‌تر و توضیح‌پذیرتری داشته باشد.
  • مدل‌سازی روابط بلندبرد و غیرخطی: ساختار جمله در فارسی می‌تواند غیرخطی باشد؛ مثلاً اجزای وابسته ممکن است در سطح جمله پراکنده شوند یا ترتیب جمله به صورت فاعل-مفعول-فعل (SOV) باشد که با ترتیب انگلیسی متفاوت است. روش‌های ترتیبی (sequence-based) هرچند با مکانیزم‌هایی نظیر Self-Attention در ترنسفورمرها تلاش می‌کنند وابستگی‌های دور را بیابند، اما همچنان با محدودیت طول توالی و چالش یادگیری ضمنی همه روابط مواجه‌اند. در مقابل، گراف به ما امکان می‌دهد وابستگی‌های دور را با مسیرهای کوتاه در گراف مدل کنیم. اگر دو کلمه‌ی دور در جمله وابستگی نحوی داشته باشند، در گراف مستقیماً با یک یال یا مسیر کوتاه متصل می‌شوند. بنابراین مسیرهای اطلاعات در GNN کوتاه‌تر و کاراترند و حتی با افزایش طول جمله، عملکرد مدل دچار افت شدید نمی‌شود. این مزیت به مدل کمک می‌کند که جملات بلند فارسی یا اسناد چندجمله‌ای را بهتر پردازش کند، در حالی‌که مدل‌های سنتی ممکن است در حفظ وابستگی‌های طولانی دچار مشکل شوند.
  • استفاده‌ی بهینه‌تر از داده‌های کم: برای زبان‌هایی با منابع محدود (مانند فارسی)، یکی از دغدغه‌های اصلی، داده‌کارآمدی (Data Efficiency) مدل‌های یادگیری عمیق است. روش‌های گرافی با بهره‌گیری از اطلاعات ساختاری، نیاز به داده‌ی کاملاً برچسب‌خورده‌ی حجیم را کاهش می‌دهند. به عنوان مثال، وجود یک گراف دانش اولیه یا قواعد نحوی می‌تواند مانند دانش پیشینی برای مدل عمل کند و یادگیری را جهت‌دهی نماید. همچنین مدل‌های گرافی مانند GraphSAGE ماهیتاً القایی هستند و می‌توانند از ترکیب داده‌های ناهمگون بهره بگیرند (مثلاً داده‌های شبکه اجتماعی + داده‌های متنی) و دانش را میان آن‌ها تعمیم دهند. این به معنای آن است که حتی اگر داده‌ی برچسب‌خورده‌ی مستقیمی برای یک وظیفه‌ی فارسی نداشته باشیم، می‌توانیم از سیگنال‌های غیرمستقیم (روابط در گراف) استفاده کنیم و مدل قابل قبولی به‌دست آوریم. در مقابل، روش‌های سنتی معمولاً برای هر وظیفه نیازمند حجم انبوهی مثال آموزشی‌اند تا روابط را خود کشف کنند. بنابراین رویکرد گرافی راهی برای کاهش وابستگی به بیگ‌دیتا در حوزه‌ی زبان فارسی ارائه می‌دهد.
  • قابلیت تلفیق با دانش بیرونی و منابع معنایی: یکی از مزایای دیگر گراف، انعطاف آن در ادغام دانش‌های مختلف است. برای نمونه، می‌توان یک شبکه‌ی معنایی (Semantic Network) مانند واژگان فارسی یا گراف دانش (مانند FarsBase) را با گراف متن ترکیب کرد. این کار به‌راحتی با افزودن یال‌ها یا گره‌های جدید به گراف امکان‌پذیر است. مدل GNN حاصل می‌تواند همزمان از متن و دانش بیرونی برای نتیجه‌گیری بهره بگیرد. چنین ادغامی در مدل‌های ترتیبی سنتی دشوارتر است، زیرا باید دانش بیرونی را به شکل ویژگی یا ورودی اضافی تزریق کرد که اغلب پیچیده است. بنابراین ساختار گرافی زمینه‌ی بهره‌مندی از هر گونه منبع اطلاعاتی مرتبط را فراهم می‌کند و از این جهت برای زبان فارسی که منابع دانش واژگانی/معنایی دستی (مانند فرهنگ لغات) دارد، بسیار مفید است.

در مجموع، هرچند مدل‌های زبانی بزرگ (مانند ترنسفورمرهای عظیم) در سال‌های اخیر پیشرفت‌های چشمگیری در پردازش زبان داشته‌اند، اما رویکرد گراف‌محور یک مسیر مکمل و بعضاً کم‌هزینه‌تر ارائه می‌دهد که می‌تواند درک دقیق‌تری از ساختار درونی زبان فراهم کند. Rakhshai Graph-based NLP با تلفیق این رویکرد در چارچوبی عملیاتی، بهترین‌های هر دو جهان (یادگیری عمیق و دانش زبان‌شناختی) را برای زبان فارسی به ارمغان می‌آورد.

نتیجه‌گیری و چشم‌انداز آینده

در این مقاله، Rakhshai Graph-based NLP به‌عنوان نخستین چارچوب گراف‌محور متن‌باز برای پردازش زبان فارسی معرفی شد. ما دیدیم که چرا شبکه‌های عصبی گرافی برای زبان‌هایی نظیر فارسی که ساختار نحوی پیچیده و منابع محدود دارند، راهکاری امیدبخش محسوب می‌شوند. Rakhshai Graph-based NLP با معماری ماژولار خود، امکان تبدیل متن فارسی به گراف و به‌کارگیری مدل‌های متنوع GNN (GCN، GraphSAGE، GAT) را در یک زنجیره‌ی end-to-end فراهم کرده و بدین ترتیب دریچه‌ی جدیدی به روی پژوهشگران و صنعت‌گران گشوده است. این چارچوب با تاکید بر صراحت روابط معنایی در ساختار داده، درک عمیق‌تر و غنی‌تری از متن ارائه می‌دهد و برتری‌های خود را نسبت به رویکردهای سنتی NLP نشان می‌دهد.

با وجود تمام مزایای فعلی، توسعه‌ی Rakhshai Graph-based NLP می‌تواند در گام‌های بعدی ادامه یابد و قدرت‌مندتر شود. یکی از جهت‌های مهم آینده، ادغام Rakhshai Graph-based NLP با مدل‌های زبانی بزرگ (LLMها) است. برای مثال، می‌توان خروجی گرافی Rakhshai Graph-based NLP (تعبیه‌های گره‌ها یا کل گراف) را به‌عنوان ورودی یک مدل زبانی بزرگ مانند BERT یا GPT قرار داد تا این مدل‌ها با آگاهی از ساختار گرافی عملکرد بهتری بر روی زبان فارسی داشته باشند. رویکرد دیگر، استفاده از Rakhshai Graph-based NLP به‌عنوان ماژول پیش‌پردازشی برای پالایش دانش ضمنی مدل‌های بزرگی است که روی داده‌های خام آموزش دیده‌اند؛ به‌عبارت دیگر، می‌توان با کمک GNNها دانش نحوی استخراج‌شده را در مرحله‌ی تنظیم ظریف (Fine-tuning) به شبکه‌های ترنسفورمر تزریق کرد. تحقیقات اولیه در سایر زبان‌ها حاکی از آن است که ترکیب GNN و ترنسفورمر می‌تواند به ارتقای دقت در وظایفی مثل تحلیل احساس، پاسخ به پرسش و غیره منجر شود؛ بنابراین این مسیر برای زبان فارسی نیز بسیار جذاب خواهد بود.

چشم‌انداز دیگر، گسترش دامنه‌ی زبانی Rakhshai Graph-based NLP است. هرچند تمرکز این چارچوب بر فارسی بوده، بسیاری از مؤلفه‌های آن قابل تطبیق برای زبان‌های کم‌منبع دیگر نیز هستند. برای مثال، زبان‌هایی مانند کردی، پشتو یا اردو اشتراکات ریشه‌ای یا ساختاری با فارسی دارند و می‌توان با اندکی تنظیم، از موتور گرافی Rakhshai Graph-based NLP برای آن‌ها نیز بهره برد. حتی زبان‌های غیرخانواده‌ای اما کم‌منبع (مانند زبان‌های آفریقایی یا بومی) که ترتیب کلمات آزاد یا ساختار غنی دارند، می‌توانند از ایده‌های پشت Rakhshai Graph-based NLP سود ببرند. بدین ترتیب، Rakhshai Graph-based NLP می‌تواند هسته‌ی یک چارچوب چندزبانه‌ی گراف‌محور در آینده باشد که هر زبان تنها با افزودن ماژول‌های زبانی خاص خود (مانند تحلیل‌گر صرفی) از قدرت GNNها بهره‌مند شود.

در پایان، لازم به ذکر است که موفقیت Rakhshai Graph-based NLP مرهون رویکرد متن‌باز آن و مشارکت جامعه است. ما از تمامی پژوهشگران و توسعه‌دهندگان علاقه‌مند دعوت می‌کنیم که با آزمایش Rakhshai Graph-based NLP روی داده‌های خود، گزارش بازخوردها و به‌اشتراک‌گذاری بهبودهای پیشنهادی، در بلوغ هرچه بیشتر این چارچوب سهیم باشند. ترکیب دانش جمعی جامعه و پتانسیل فناوری‌های گرافی، نویدبخش آینده‌ای روشن برای پردازش زبان فارسی و سایر زبان‌های کم‌منبع است. Rakhshai Graph-based NLP گامی مهم در این مسیر به‌شمار می‌رود و امید می‌رود که با استمرار تلاش‌ها، شاهد ظهور نسل جدیدی از ابزارهای NLP باشیم که فهم ماشین از زبان انسان را عمیق‌تر و دقیق‌تر از همیشه می‌کنند.

برای دسترسی به این پروژه به جامعه باز پردازش مراجعه کنید :

مراجع:

  1. mdpi.com Sara Moniri et al., Investigating the Challenges and Opportunities in Persian Language Information Retrieval…, 2024 – توضیحی بر غنای صرفی زبان فارسی و کمبود منابع آن.
  2. pubmed.ncbi.nlm.nih.gov Jamshid Mozafari et al., PerAnSel: A Novel Deep Neural Network-Based System for Persian Question Answering, 2022 – اشاره به ویژگی‌های زبان فارسی (ترتیب آزاد کلمات، راست‌چین، صرف غنی، کم‌منبع بودن).
  3. atailab.cn Yao et al., Graph Convolutional Networks for Text Classification, AAAI 2019 – نقدی بر روش‌های سنتی توالی‌محور که روابط جهانی کلمات را صراحتاً مدل نمی‌کنند.
  4. graph-neural-networks.github.io Bang Liu, Lingfei Wu, Graph Neural Networks in NLP (book chapter), 2021 – تبیین فواید مدل‌سازی متن به‌صورت گراف برای نمایش ساختارهای نحوی و معنایی و استنتاج توضیح‌پذیر در NLP.
  5. epichka.com E. Pichka, Graph Attention Networks Paper Explained, 2023 – معرفی مفهوم مکانیزم توجه در GAT که به هر گره امکان می‌دهد اهمیت نسبی همسایگانش را تعیین کند.
  6. atailab.cn Yao et al., 2019 – تعریف Graph Convolutional Network به عنوان شبکه‌ای که مستقیماً روی گراف عمل کرده و تعبیه گره‌ها را بر اساس همسایگی به‌دست می‌آورد.
  7. arxiv.org Hamilton et al., GraphSAGE: Inductive Representation Learning on Large Graphs, NIPS 2017 – معرفی GraphSAGE به‌عنوان چارچوب القایی برای تولید تعبیه‌ی گره‌های جدید از طریق نمونه‌برداری و تجمع همسایگان.
  8. researchgate.net Asgari-Bidhendi et al., FarsBase: The Persian Knowledge Graph, 2019 – اشاره به FarsBase به‌عنوان اولین گراف دانش زبان فارسی و بیان خلأ پژوهشی در بهره‌گیری از گراف‌های دانش در NLP فارسی.
  9. graph-neural-networks.github.io Bang Liu, Lingfei Wu, 2021 – مثال‌هایی از کاربرد گراف‌ها در NLP نظیر استخراج دانش از منابع چندگانه و سیستم‌های توصیه‌گر مبتنی بر تحلیل متن که نشان‌دهنده‌ی پتانسیل رویکرد گرافی در کاربردهای تجاری است.

Check Also

رونمایی از کتابخانهٔ پردازش زبان طبیعی فارسی نَغز – Naghz

پردازش زبان فارسی یکی از حوزه‌های حیاتی در توسعه فناوری اطلاعات بومی است که طی …