1. مقدمه:
این ادامه سری وبلاگهای من در گرافها است. در مقاله: گرافهای ناهمگن و گرافهای رابطهای شبکههای عصبی کانولوشن[1] (RGCN)، در مورد گرافهای ناهمگن صحبت کردم و مشخص شد که یک گراف ناهمگن توسط مجموعهای از گرههای “V” تعریف میشود - گرهها میتوانند انواع مختلفی داشته باشند - مجموعهای از لبهها که گرههای مختلف را به هم متصل میکنند و هر یال ممکن است نوع رابطه متفاوتی داشته باشد همانطور که در شکل 1 و شکل 2 نشان داده شده است.
شکل 1: گراف دانش زیست پزشکی
شکل 2: گرافهای رویداد
این مقاله بر روی گرافهای دانش - به ویژه وظایف تکمیل گراف دانش با استفاده ازتعبیهها تمرکز خواهد کرد. ما در بخشهای 4 تا 11 این مقاله چند روش بسیار جالب تکمیل گراف دانش را مورد بحث قرار خواهیم داد و هدف از معرفی مفهوم گرافهای ناهمگن و جزئیات در قسمت 11، آمادهسازی برای بحث در مورد گرافهای دانش، مانند تمام گرافهای دانش بود. در واقع گرافهای ناهمگن هستند.
گرافهای دانش، دانش یک دامنه معین را به شکل گراف ذخیره میکنند. ایده در اینجا این است که ما باید موجودیتها، رابطه بین موجودیتها را به دست آوریم. بنابراین، گرههایی را خواهیم داشت که موجودیتها هستند، موجودیتها با انواع مختلف برچسبگذاری میشوند، و انواع روابط مختلفی را بین موجودیتها خواهیم داشت که در شکل زیر نشان داده شده است:
شکل 3: گراف دانش - شامل انواع مختلف موجودیتها و انواع روابط مختلف بین موجودیتها
بنابراین، گراف دانش نمونهای از یک گراف ناهمگن است که در قسمت 11 سری وبلاگهای جاری من مورد بحث قرار گرفت، اما به طور کلی، میتوان گراف دانش را بهعنوان جمعآوری دانش واقعی از یک دامنه معین در نظر گرفت.
یکی از ویژگیهای رایج گرافهای دانش این است که آنها عظیم هستند و میلیونها یال/گره دارند. از آنجایی که این گرافهای دانش عظیم هستند، به طور نامطلوبی نیز ناقص هستند، یعنی روابط زیادی وجود ندارد. بنابراین، یکی از اساسیترین وظایف در ادبیات گراف دانش این است که - با توجه به یک گراف دانش عظیم، باید مشخص کرد که کدام حلقههای گمشده در گراف دانش هستند. این قلب این مقاله را تشکیل میدهد و جزئیات پیرامون روشها/الگوریتمهای تکمیل گراف دانش و تعبیه گراف دانش در بخشهای 6 تا 11 این مقاله مورد بحث قرار گرفته است.
بخشهای 2 و 3 به ترتیب در مورد برخی از نمونههای رایج گرافهای دانش و گرافهای دانش در دسترس عموم صحبت میکنند و بخشهای 4 و 5 موضوع تکمیل گراف دانش را معرفی میکنند و زمینه بیشتری را نسبت به آنچه در بالا توضیح داده شد، به آن اضافه میکنند.
2. نمونههایی از گرافهای دانش:
چند نمونه از گرافهای دانش ممکن است شامل موارد زیر باشد:
مثال 1: به عنوان مثال، ما میتوانیم یک شبکه کتابشناختی را در نظر بگیریم که در آن میتوان انواع گرههای مختلفی مانند: مقاله، عنوان، نویسنده، کنفرانس، سالها را داشته باشد و سپس انواع مختلفی از روابط داشته باشیم، مانند اینکه انتشار در چه سالی، عنوان نشریه، نویسنده نشریه و استناد به آن در چه سالی انجام شده است.
شکل 4: نمونهای از گراف دانش – شبکه کتابشناختی
شمای گراف دانش کتابشناختی به شرح بالا خواهد بود - مقاله به کنفرانس پیوند میخورد، مقالات به یکدیگر استناد میکنند، مقالات دارای عنوان، دارای سال انتشار و دارای نویسنده هستند.
مثال 2: نمونه دیگری از گراف دانش در حوزه زیست پزشکی خواهد بود که میتوانیم انواع گرههای مختلفی را از نظر دارو، بیماری، عوارض جانبی، پروتئینها و مسیرهای بیماری داشته باشیم.
همانطور که در شکل زیر نشان داده شده است چندین نوع رابطه میتواند وجود داشته باشد مانند دارای تابع، علل، مرتبط، درمان،...
· مرجع – برای تعامل غیرطبیعی پروتئین و پروتئین منجر به بیماری –
https://www.sciencedirect.com/science/article/abs/pii/S0959440X0500117X
شکل 5: گراف دانش تداخلات غیرطبیعی دارو-بیماری، تداخل پروتئین-پروتئین که مسیرهای مختلف را نشان میدهد.
بنابراین، ما دانش زیستشناسی و نحوه عملکرد زندگی در قالب موجودات مختلف زیستی و روابط آنها را در قالب یک گراف دانش رمزگذاری شده داریم.
مثال 3: گرافهای دانش در دسترس عموم:
سپس، گرافهای دانش را داریم که گرافهای دانش در دسترس عموم هستند که دانش انواع موجودیتهای مختلف را ذخیره میکنند، برخی از نمونههای این گرافهای دانش در دسترس عموم عبارتند از:
الف) گراف دانش گوگل:
نتایج جستجوی Google اطلاعاتی را نشان میدهد که از گراف دانش ما - پایگاه داده میلیاردها حقایق در مورد افراد، مکانها و چیزها به دست میآید.
گراف دانش به ما امکان می دهد به سؤالات واقعی مانند "قد برج ایفل چقدر است؟" یا «بازیهای المپیک تابستانی ۲۰۱۶ کجا برگزار شد» یا «مونالیزا کجاست؟» پاسخ دهیم.
حقایق موجود در گراف دانش از منابع مختلفی میآیند که اطلاعات واقعی را جمعآوری میکنند.
شکل 6: دادههای پانل دانش درباره توماس جفرسون در جستجوی گوگل نمایش داده شده است [منبع: ویکی پدیا]
ب) آمازون از گراف دانش محصول خود برای درک ویژگیهای محصولات مختلف به منظور جستجو و توصیه بهتر محصولات خود استفاده میکند.
گراف محصول آمازون از انواع تکنیکهای یادگیری ماشینی برای دریافت اطلاعات مربوط به محصول از صفحات جزئیات آمازون و اینترنت به طور کلی استفاده میکند.
شکل 7: گراف محصول آمازون
ج) گراف دانش فیس بوک:
جستجوی گراف فیس بوک با استفاده از یک الگوریتم جستجو مشابه موتورهای جستجوی سنتی مانند گوگل انجام میشود.
با این حال، ویژگی جستجو به عنوان یک موتور جستجوی معنایی متمایز میشود که بر اساس معنای مورد نظر جستجو میکند.
موتور جستجو بهجای برگرداندن نتایج بر اساس کلمات کلیدی منطبق، برای مطابقت با عبارات، و همچنین اشیاء در سایت [منبع: https://en.wikipedia.org/wiki/Facebook_Graph_Search] طراحی شده است.
د) IBM Watson از گراف در پس زمینه برای پاسخ به سؤالات و استدلال استفاده میکند.
ه) پروژه هانوفر / Li:
پروژه هوش مصنوعی مایکروسافت هانوفر به پزشکان کمک میکند تا از بین بیش از 800 دارو و واکسن، درمان سرطان را انتخاب کنند. هدف آن حفظ تمام مقالات مربوطه برای پیشبینی اینکه کدام (ترکیب) داروها برای هر بیمار مؤثرتر است.
شکل 8: گرافهای دانش در انکولوژی
و) لینکدین از گراف دانش به عنوان گراف دانش اقتصادی استفاده میکند
به طور خلاصه، گرافهای دانش به طور گسترده در صنعت برای گرفتن دانش پس زمینه از یک دامنه معین، برای گرفتن رابطه بین گرهها در یک دامنه خاص استفاده میشود.
مثال 4: ارائه اطلاعات
یکی از راههایی که میتوانید از گرافهای دانش استفاده کنید، ارائه اطلاعات به سادگی است. به عنوان مثال، اگر “Bing” را تایپ کنیم
شکل 9: گرافهای دانش برای ارائه اطلاعات
جدیدترین فیلمهای کارگردان تایتانیک چیست؟
این در واقع یک پرس و جو گراف دانش است:
· به عنوان مثال، شما تایتانیک را پیدا میکنید.
· سپس متوجه میشوید که چه کسی آن را کارگردانی کرده است
· شما آن شخص را پیدا میکنید و سپس فیلمهای دیگری را که آن شخص کارگردانی کرده است پیدا میکنید.
بنابراین، شما نمیتوانید اطلاعات را بدون رمزگذاری دادهها به صورت گرافیکی ظاهر کنید و پاسخ به نوع پرس و جو با استفاده از گراف عملا غیرممکن خواهد بود.
مثال 5: گرافهای دانش برای پاسخگویی به پرسش با مدلهای زبان بزرگ (LLMS)
من در مورد گرافهای دانش برای RAG صحبت کردهام. ممکن است یادآوری شود که در یک سیستم متداول Retrieval-Augmented Generation (RAG) ما سند(ها) را به یک سری از تکهها تقسیم میکنیم و بردارهای تعبیه شده را برای تکهها به دست میآوریم و سپس بر اساس جستجوی شباهت بین درخواست و دادههای موجود و سپس بر اساس شباهت ایجاد شده، دستور و زمینه را به LLM ارسال کنید تا پاسخ را دریافت کنید.
گرافها نتایج بسیار بهتری را برای جستجوهای چند هاپ ارائه میدهند. به عنوان مثال، پاسخ به سوال کاربر ممکن است در اسناد مختلف قرار گیرد، بنابراین به جای جستجوی پاسخی برای چیزی ساده مانند: "سیاست مراقبتهای بهداشتی شرکت چیست؟" که در آن پاسخ معمولاً در یک بخش از سند قرار میگیرد، اما اگر بخواهیم اطلاعات را در اسناد مختلف ترکیب کنیم، شباهت برداری معمولاً برای یک پرس و جو پیچیده خیلی دور نمیشود.
ثانیا، چیزی که گرافها را بسیار زیبا و همچنین کارآمد میکند این است که هم گرهها و هم روابط میتوانند ویژگیها/ویژگیهایی داشته باشند که قابل جستجو هستند، برای مثال: ممکن است یک شخص با یک پروژه مرتبط باشد، و ما میتوانیم تاریخهایی را داشته باشیم که شخص روی پروژه به عنوان ویژگی (خواص) لبه مربوطه آن کار میکند. ما همچنین میتوانیم احساس - تجربه شخصی که روی پروژه کار میکرد داشته باشیم و اگر این اطلاعات در دسترس باشد، میتوانیم همه افراد و روابط پروژه را جستجو کنیم.
در مقاله گرافهای دانش برای RAG: به جزئیات ساخت RAG بر روی یک گراف دانش از ابتدا رفتهام، همانطور که در شکل زیر نشان داده شده است:
شکل 10: ساختن یک سیستم RAG بر روی یک گراف دانش ساخته شده از ابتدا.
3. گرافهای دانش در دسترس عموم و گرافهای دانش ناقص:
گرافهای زیادی در دسترس عموم وجود دارد مانند:
· FreeBase
· Wikidata
· Dbpedia
· YAGO
· NELL
· و غیره
یکی از ویژگیهای رایج گرافهای دانش این است که آنها عظیم هستند و میلیونها یال/گره دارند. از آنجایی که این گرافهای دانش عظیم هستند، به طور نامطلوبی نیز ناقص هستند، یعنی روابط زیادی وجود ندارد. بنابراین، یکی از اساسیترین وظایف در ادبیات گراف دانش این است که - با توجه به یک گراف دانش عظیم، باید مشخص کرد که کدام حلقههای گمشده در گراف دانش هستند.
به عنوان مثال - Freebase یک گراف دانش است که توسط گوگل به دست آمده است و گوگل از آن به عنوان پایه گراف دانش گوگل استفاده میکند. این شامل دانش موجودات و روابط دنیای واقعی است. این شامل: 50 میلیون موجودیت، ~ 38 هزار نوع رابطه، ~ 3 میلیارد واقعیت/سه گانه است.
کاردینالیته روابط مختلف 38000 است که بسیار زیاد است. بنابراین، از نظر شبکه عصبی کانولوشنال گراف (GCN)، ما باید 38000 ماتریس تبدیل مختلف را یاد بگیریم که یکی برای هر لایه GCN است که مقابله با آن سخت میشود.
نکته جالب این است که: 93.8 درصد از افراد در Freebase محل تولد ندارند، 78 درصد فاقد ملیت هستند و سؤالاتی که به ذهن میرسد این است:
· آیا میتوانیم به طور خودکار محل تولد یک فرد را استنباط کنیم؟
· آیا میتوانیم به طور خودکار ملیت یک فرد را استنباط کنیم؟
اینجاست که "تکمیل گراف دانش" وارد میشود. روشهای مختلفی برای انجام "تکمیل گراف دانش" وجود دارد. به طور خاص، از طریق بخشهای 4 تا 11 در زیر، روشهای زیر را مورد بحث قرار خواهیم داد:
· TransE
· TransR
· DistMult
· ComplEx
بخشهای 4 تا 9 جزئیات اساسی این روشها را معرفی کرده و به آنها میپردازند و بهویژه بر روی انواع روابطی که این روشها میتوانند دریافت و پیشبینی کنند، تمرکز خواهند کرد.
قبل از پرداختن به روشهای فوق، اجازه دهید کمی بیشتر در مورد "وظیفه تکمیل گراف دانش" بدانیم.
4. وظایف تکمیل گراف دانش چیست:
در یک کار تکمیل گراف دانش، گراف دانش عظیمی به ما داده میشود، و سپس این سوال پیش میآید که آیا میتوانیم اطلاعات گمشده را نسبت دهیم/پیشبینی[2] کنیم - زیرا گراف دانش ناقص است.
شکل 11: یک گراف دانش ناقص – روابط نویسنده-ژانر (گراف یک دنباله گم شده دارد)
روش کار وظایف تکمیل گراف دانش به این صورت است که به ما یک گره راس داده میشود، نوع رابطه را داریم و میخواهیم دنباله گم شده را پیشبینی کنیم. بنابراین، باید توجه داشت که این مسئله کمی با مسئله پیشبینی پیوند کلاسیک متفاوت است - جایی که ما به سادگی باید پیوندهای گمشده را در کل گراف بدون اطلاعات از نوع سر/رابطه/به همین ترتیب پیشبینی کنیم.
به عنوان مثال: با توجه به شکل زیر، میگوییم که راس داریم – که گره J.K. Rowling است، ما نوع رابطه را داریم - این ژانر است، و باید که نویسنده کدام ژانر J.K.Rowling به پیشبینی کنیم.
در حالت فوق گره J.K.Rowling به ژانر علمی تخیلی تعلق دارد - بنابراین در مثال بالا، گره راس به ما داده میشود، نوع رابطه به ما داده میشود و باید دنباله را پیشبینی کنیم.
شکل 12: یک گراف دانش ناقص - روابط نویسنده-ژانر - گره JK Rowling دارای دم نیست.
5. چگونه وظایف گراف دانش را انجام دهیم؟
راهی که میخواهیم وظایف تکمیل گراف دانش را انجام دهیم، تعبیه گره است. هر موجودی در گراف دانش یک تعبیه خواهد داشت که ما آن را از طریق تعبیه کم عمق محاسبه میکنیم.
شکل 13: آموزش تعبیههای سه گانه (راس، رابطه، دم) با استفاده از تعبیههای کم عمق
یعنی: ما میخواهیم بردار تعبیه را برای هر نوع موجودی در گراف دانش یاد بگیریم تا بتوانیم پیشبینی را انجام دهیم. نکته این است که ما از شبکههای عصبی گراف استفاده نخواهیم کرد، بلکه از تعبیههای کم عمق همانطور که در بخش 3 از قسمت 5 این سری گراف بحث شد، استفاده خواهیم کرد.
بازنمایی گراف دانش:
بازنمایی گراف دانش به گونهای است که گراف دانش از طریق مجموعهای از سهگانه نمایش داده میشود - راس، دنباله رابطه همانطور که در بخش بالا نشان داده شده است. راس منبعی است که با دم ارتباط دارد. دم نقطه پایانی رابطه است.
به عنوان مثال، رئیسجمهور میتواند راس باشد، و رابطه ملیت خواهد بود، و دنباله آن استانها خواهد بود. همانطور که در بالا ذکر شد، روشی که میخواهیم پیشبینی را انجام دهیم این است که - موجودیتها و روابط را به عنوان بردارهای تعبیه شده در فضای تعبیه مدلسازی میکنیم و از رویکرد تعبیههای کم عمق برای به دست آوردن این بردارها از این بردارهای موجودیتها استفاده میکنیم.
شکل 14: سه گانه راس-رابطه-دم
ایده این است که با توجه به یک سه گانه واقعی (راس/رابطه/دم) (h,r,t)، هدف ریاضی این است که تعبیه (راس، رابطه) باید نزدیک به تعبیه دم باشد. این ممکن است در این نقطه از مقاله کمی انتزاعی به نظر برسد، اما اجازه دهید بفهمیم که چگونه میتوانیم - (راس، رابطه) را تعبیه کنیم و چگونه "نزدیک" را تعریف کنیم - یعنی تعبیه (راس، رابطه) باید به تعبیه دم نزدیک باشد.
همه روشهایی که ما در مورد آنها صحبت میکنیم، در نحوه ایجاد نزدیکی/تعبیه متفاوت است. اجازه دهید روشها را مورد بحث قرار دهیم - همانطور که در بخش 3 ذکر شد، چهار روش را مورد بحث قرار خواهیم داد.
6. الگوریتمهای تکمیل گراف دانش: TransE
۶.۱ TransE: شهود و تفسیر[3]
طبیعی یا سادهترین ایده شامل الگوریتم تکمیل گراف دانش TransE است. TransE شهود "ترجمه[4]" را دارد.
ایده این است که برای یک سه گانه (راس، رابطه، دم)، ما باید یاد بگیریم: تعبیه راس، تعبیه دم و همچنین تعبیه رابطه “r”. سپس، هدف باید این باشد که تعبیه محاسبه شده باید به گونه ای باشد که:
یعنی:
معادله - رابطه TransE
به عنوان مثال، اگر ما یک راس بگوییم - باراک اوباما و ملیت آمریکایی، مایلیم که به گونهای تعبیه شود که اگر با راس (باراک اوباما) همانطور که در شکل زیر نشان داده شده است شروع کنیم و با رابطه “r” حرکت کنیم سپس به نقطهای که v تعبیه شده است پایان میدهیم.
شکل 15: تفسیر ریاضی TransE
این نه تنها باید برای باراک اوباما + ملیت بلکه برای هر فرد و کشور محل تولد آنها صادق باشد. به عنوان مثال - Keir Starmer - ملیت - انگلستان. بنابراین، برای راس متناظر با یک شخص و سپس با استفاده از همان ترجمه با رابطه «ملیت»، نتیجه باید کشور مربوط به ملیت باشد.
6.2 TransE: عملکرد امتیازدهی:
عملکرد امتیاز دهی که نزدیکی راس و دم را اندازهگیری میکند به صورت head + r - tail خواهد بود.
معادله - تابع امتیازدهی برای TransE
میتوان از فاصله اقلیدسی برای موارد فوق استفاده کرد. این روش Trans-E است که در آن میتوان ترجمه را در فضای تعبیهشده یاد گرفت تا بتوان از راس به ترجمهای رسید که مربوط به دم رابطه است. الگوریتم یادگیری برای TransE در محدوده این وبلاگ نیست.
7. الگوهای اتصال در گراف دانش
رویکرد فوق مربوط به Trans-E یک ایده بسیار طبیعی/شهودی است زیرا اکنون ما نه تنها به تعبیهها به عنوان نقاطی در فضا فکر میکنیم، بلکه بردار رابطه “r” را نیز یاد میگیریم که به ما اجازه میدهد بین نقاط مختلف حرکت/ترجمه[5] کنیم/به ما امکان میدهد در جهتهای داده شده حرکت کنیم.
اجازه دهید اکنون نوع روابطی را ببینیم که رویکرد TransE قادر به یادگیری است. منظور ما از روابط در اینجا، رابطه با انواع مختلف خواص است - همانطور که در مثال های زیر نشان داده شده است، خواص ممکن است متقارن یا متقابل (معکوس) باشند:
اجازه دهید چهار الگوی رابطه را مورد بحث قرار دهیم و سعی کنیم به این سوال پاسخ دهیم که آیا TransE میتواند این روابط را مدل کند:
الف) رابطه متقارن[6] و ضد متقارن[7]:
روابط متقارن روابط متقابلی هستند و به بهترین نحو میتوان آنها را از طریق مثال توضیح داد. بیایید بگوییم که یک نفر "الف" داریم که هم خانه شخص دیگری "ب" است - پس بدیهی است که "ب" هم خانه شخص "الف" است. این نمونهای از رابطه متقارن است.
شکل 16: رابطه متقارن - مثال
روابط ضد متقارن شامل "هیپرنام[8]" است - به عنوان مثال. "قرمز" رنگی است که رابطهای بین قرمز و رنگ ایجاد میکند - در اینجا رنگ ابرنام قرمز است. به طور مشابه، میوه ابرنامی از سیب است و نمونههای بیشتری از این نوع وجود دارد.
روابط هیپرنام ضد متقارن هستند:
· همه سیبها میوه هستند اما همه میوهها سیب نیستند
· قرمز یک رنگ است و نه برعکس.
شکل 17: رابطه ضد متقارن- مثال
ب) رابطه معکوس
باز هم، یک رابطه معکوس[9] را میتوان از طریق مثال توضیح داد: - به عنوان مثال، اگر “X” مشاور “X” است، “Y” مشاور “X” است.
در اینجا هر یک از رابطه ها معکوس رابطه دیگر است، یعنی اگر “X” با یک رابطه به “Y” مربوط شود، “Y” به “X” مربوط میشود.
ج) ترکیب (رابطه انتقالی)
و سپس رابطه انتقالی را داریم - به عنوان مثال، اگر x با y دوست باشد و y با z دوست باشد، x و z نیز دوست هستند.
د) روابط 1 به N:
ما میتوانیم چندین رابطه داشته باشیم:
مثالها:
· یک معلم ممکن است چند دانشآموز یا
· یک مربی ممکن است به چندین کارآموز کمک کند
بعد، میخواهیم ببینیم آیا TransE همه این روابط را ثبت میکند یا خیر.
8. روابط مدل شده توسط TansE
بیایید به الگوهای رابطهای که TransE میتواند ضبط کند نگاه کنیم. بیایید روابط را به ترتیب سادگی نگاه کنیم
رابطه ضد متقارن:
طبق تعریف رابطه مورچه متقارن – اگر “h” با “t” مرتبط باشد، “t” را نمیتوان با همان رابطه به “h” مرتبط کرد.
این از طریق معادله زیر نشان داده شده است:
معادله - ریاضی رابطه ضد تقارن
نمونههایی از رابطه ضد متقارن
· هیپرنیم (کلمهای با معنای گستردهتر)
همانطور که در شکل زیر نشان داده شده است، TransE در واقع میتواند روابط ضد متقارن را ثبت کند:
شکل 18: TransE میتواند رابطه ضد متقارن را مدل کند
همانطور که در شکل بالا مشاهده میشود، اگر در راس “h”، تبدیل رابطه “r” را اعمال کنیم، دم “t” به دست میآید. اعمال همان تبدیل رابطه “r” در دم “t” به “h” باز نمیگردد - که در واقع در رابطه ضد متقارن چنین است. این بدان معنی است که TransE به طور طبیعی رابطه ضد متقارن را ثبت میکند.
رابطه معکوس:
نمونههایی از رابطه معکوس در بخش ۷ و ب (مشاور-مشاور، A->B) بحث شده است. بنابراین،
با تعریف رابطه معکوس: اگر h و t با r2 مرتبط باشند، R1 دیگری وجود دارد که t و h را به هم مرتبط میکند.
معادله - ریاضی رابطه معکوس
بنابراین، با قرار گرفتن در راس “h”، یک رابطه تبدیل “r” را اعمال میکنیم و به سمت دم “t” حرکت میکنیم، با قرار گرفتن در دم t، میتوانیم یک رابطه تبدیلی -r را برای بازگشت دوباره به راس باید در جهت منفی حرکت کرد اعمال کنیم.
شکل 19: رابطه معکوس را میتوان با TransE مدل کرد – r1 دیگری وجود دارد که منفی r2 است.
رابطه ترکیب:
رابطه ترکیبی[10] را می توان از طریق معادله زیر نشان داد:
معادله - رابطه ریاضی ترکیب
در اینجا میگوییم که اگر (x, y) مرتبط و (y,z) مرتبط باشند پس x و z نیز مرتبط هستند.
مثال: شوهر مادرم هم پدر من است
در TransE، به سادگی میتوان این کار را با موارد زیر انجام داد:
r3 = r1 + r2
شکل 20: رابطه ترکیب مدلسازی TransE
یعنی – همانطور که در شکل بالا نشان داده شده است، اگر از x از طریق r1 به y و سپس از طریق r2 از y به z برویم، آنگاه میتوانیم از x از طریق r3 به z برویم.
r3 = r1 + r2
بنابراین، روابط ترکیبی را میتوان با TransE مدل کرد
روابط متقارن:
روابط متقارن از طریق معادله زیر نشان داده شده است:
معادله - ریاضی رابطه متقارن
جالب است که TransE نمیتواند روابط متقارن را به عنوان مثال ثبت کند. خانواده، هم خانه که متقابل هستند.
شکل 21: TransE نمیتواند روابط متقارن را همانطور که توضیح داده شد ثبت کند
یعنی اگر از “h” از طریق تبدیل “r” به “t” برویم، برای اینکه رابطه متقارن وجود داشته باشد، باید با اعمال همان تبدیل “r” به “h” برگردیم. اما این تنها زمانی امکانپذیر است که “r” 0 باشد، به این معنی که “h” و “t” روی هم تعبیه شده باشند. اما این امکانپذیر نیست زیرا “h” و “t” هر دو موجودیتهای متفاوت/متمایز[11] هستند. این بدان معناست که TransE نمیتواند روابط متقارن را مدل کند.
روابط 1 به N
باز هم بخش دیگری که TransE نمیتواند انجام دهد روابط 1 به N است. نمونههایی از روابط 1 به N قبلاً مورد بحث قرار گرفتهاند - یک معلم ممکن است مشاور بسیاری از دانشآموزان باشد - سپس، اگر راس در “h” داشته باشیم که با استفاده از رابطه تبدیل “r” به "t1" میرود و سپس دوباره همان رابطه تبدیل “r” به t2 میرود
شکل 22: ناتوانی TransE در مدلسازی روابط 1 به N
همانطور که در شکل مشاهده میشود، این تنها در صورتی امکانپذیر است که t1 و t2 غیرقابل تشخیص باشند / تفاوتی با یکدیگر نداشته باشند اما در واقعیت t1 و t2 موجودیتهای کاملاً متفاوتی هستند. بنابراین، TransE قادر به مدلسازی روابط 1 به N نیست.
اجازه دهید اکنون روش دیگری از مدلسازی را ببینیم که مسئله TransE قادر به مدلسازی روابط متقارن و 1 به N را برطرف میکند.
9. روش Trans-R مدلسازی روابط
در این بخش به روش متفاوتی به نام Trans-R نگاه میکنیم که به ما امکان میدهد برخی از مسائل را که در TransE در رابطه با متقارن و 1-to-N با آن مواجه شدیم برطرف کنیم.
همانطور که در مورد Trans-E دیدیم، ترجمه هر رابطهای را در همان فضای تعبیه مدل میکند. حال سوال این است که آیا میتوانیم برای هر رابطه فضای جدیدی طراحی کنیم و ترجمه را در فضایی خاص نسبت انجام دهیم؟ روش متناظر با این ایده به این صورت نامیده میشود: Trans-R که موجودیتها را به عنوان بردار (یعنی موجودیتها به عنوان نقاط) مدل میکند و رابطه را به عنوان یک بردار در فضای خاص رابطه همراه با ماتریس تبدیل یا طرح ریزی خاص روابط مدل میکند. بیایید ببینیم این چگونه کار میکند.
۹.۱ کار Trans-R و مدلسازی روابط متقارن:
همانطور که در بالا گفته شد، Trans-R موجودیتها را به عنوان نقاط مدل میکند. برای هر رابطه، ما بردار ترجمه را یاد میگیریم و ماتریس طرحریزی MR را برای هر رابطه یاد میگیریم.
بنابراین، در مورد Trans-R،
اگر (h,t) داشته باشیم و آنها با یک رابطه r مرتبط باشند، ابتدا ماتریس MR را به نقاط (h و t) اعمال میکنیم و این نقاط را به یک نقطه جدید تبدیل میکنیم.
و سپس در فضای تبدیل شده جدید، رابطه Trans-R را اعمال خواهیم کرد
شکل 23: تبدیل تعبیه اصلی به فضای خاص رابطه
بنابراین، تعبیه اصلی را میگیریم، و آن را با اعمال یک ماتریس طرحریزی “MR” تبدیل میکنیم - یعنی آن را مقیاس میکنیم (کشش/فشرده[12] میکنیم)، آن را میچرخانیم و سپس بردار “r” را روی h و t تبدیل شده اعمال میکنیم.
این به ما امکان میدهد تا یک رابطه متقارن مانند "هم خانه[13]" را مدل کنیم، ما میvتوانیم ماتریس تبدیل خاص MR را یاد بگیریم که نقاط h و t را گرفته و آن را به h ⊥ و t⊥ ترسیم میکند همانطور که در شکل زیر نشان داده شده است:
شکل 24: h و t به h نگاشت شدهاند
این بدان معنی است که دو نفر که هم خانه هستند به همان نقاط h ⊥ و t⊥ نگاشت میشوند تا r = 0 و یک رابطه متقارن بدست آوریم. این امکان مدلسازی رابطه متقارن را فراهم میکند که TransE نمیتواند آن را مدل کند. بنابراین، با این نوع تبدیل میتوانیم رابطه متقارن را مدل کنیم که TransE نمیتواند همانطور که همه ما در فضای اقلیدسی بودیم. بعد، اجازه دهید رابطه ضد متقارن را در TransR در نظر بگیریم.
۹.۲ رابطه ضد متقارن در Trans-R
معادله - ریاضی رابطه ضد متقارن
TransR به راحتی میتواند رابطه ضد متقارن را مدل کند. با توجه به دو نقطه h، t در فضای تعبیه و اعمال ماتریس تبدیل MR، میتوانیم نقاط h و t را به فضای دیگری تبدیل کنیم به طوری که h و t با هم برخورد نکنند و سپس همان TransE، میتوانیم از h و t به دست آوریم. از طریق رابطه “r” همانطور که در شکل زیر نشان داده شده است اما نمیتوان از “t” به “h” رسید.
بنابراین، Trans-R میتواند روابط متقارن و ضد متقارن را مدل کند.
شکل 25: تبدیل h و t به فضای خاص نسبت به مدل رابطه ضد متقارن - h و t با هم برخورد نمیکنند
۹.۳ روابط 1 به N در TransR
باز هم، Trans-R میتواند انواع رابطه 1-به-N را مدل کند، زیرا ما در ماتریس طرحریزی “r” انعطافپذیری کافی داریم که میتواند یاد بگیرد که چگونه t1 و t2 را در یک موقعیت نگاشت کند.
همانطور که در شکل زیر نشان داده شده است:
شکل 26: مدلسازی روابط 1 به N با استفاده از TransR – t1 و t2 که در یک نقطه نگاشت شدهاند به طوری که h از t1 و t2 مساوی فاصله داشته باشد.
بنابراین، در فضای خاص رابطه، اگر از سر بر اساس رابطه برویم، به t1, t2 میرسیم که در همان موقعیت هستند. در فضای تعبیه اولیه t1 و t2 دو تعبیه متفاوت بودند اما در فضای خاص رابطه، تعبیه که با استفاده از ماتریس تبدیل MR به دست میآید، میتوانیم t1 و t2 را در یک نقطه قرار دهیم و بنابراین 1 به N را میگیریم. رابطه N بنابراین، همانطور که میبینیم از طریق TRAnsR و تبدیل تعبیه به یک فضای خاص روابط، برخی از کوتاه آمدنهای TransE را برطرف کردهایم.
روابط معکوس با استفاده از Trans-R
ما همچنین میتوانیم روابط معکوس مشابه آنچه در TransE انجام دهیم. در مورد رابطه معکوس، ماتریس تبدیل هر دو رابطه باید مانند شکل زیر باشد و سپس یک بردار ترجمه معکوس بردار ترجمه دیگر است.
معادله - ریاضی رابطه معکوس
شکل 27: تبدیل h و t به یک فضای خاص رابطه به گونهای که r1 = -r2
9.4 رابطه ترکیب:
مشکل Trans-R که با Trans-E نبود این است که Trans-R نمیتواند رابطه ترکیب را مدل کند. یعنی، اگر x و y با r1 مرتبط باشند و y و z با r2 مرتبط باشند، آنگاه x و z مطابق با معادله زیر نشان داده شده/نشان داده شده است:
معادله - رابطه ریاضی ترکیب
این مسئله در TransE نبود زیرا همه چیز در یک فضا قرار داشت اما در TransR ما نمیتوانیم رابطه ترکیبی را انجام دهیم. دلیل این امر این است که هر رابطه فضای متفاوتی دارد و ما میدانیم که چگونه از فضای اصلی به فضای خاص رابطه مدلسازی کنیم اما نمیدانیم چگونه بین فضاهای خاص رابطه متفاوت مدلسازی کنیم. فضاهای خاص رابطه به طور طبیعی ترکیبی نیستند. این بدان معنی است که TransR نمیتواند روابط ترکیب را مدل کند.
10. روش 3: DistMult
حال، اجازه دهید به سومین روش مدلسازی تعبیهها که به آن مدلسازی دو خطی گفته میشود نگاهی بیاندازیم. تا کنون، ما در مورد تابع امتیاز دهی (بخش 6.2) به عنوان فاصله در فضای تعبیه بحث میکردیم.
در TransE و TransR ذکر کرده بودیم که سر به علاوه بردار رابطه باید نزدیک به دم باشد. حالا تابع امتیاز دهی را طوری تغییر میدهیم که fr(h,t) یک فاصله نباشد. به عنوان مثال، DistMult بردارهایی را در فضای تعبیه مشابه TransE تعبیه میکند اما از یک تابع امتیازدهی متفاوت استفاده میکند. تابع امتیازدهی در مورد DisMult توسط:
شکل 28: عملکرد امتیازدهی در صورت DisMult
معادله فوق نشان میدهد که تابع امتیازدهی حاصل ضرب عاقلانه h، r و t است.
شکل 29: تابع امتیازدهی در Distmult - ضرب عاقلانه h، r و t
همانطور که در شکل بالا نشان داده شده است، اگر بردارهای h، r و t را داشته باشیم، یک ضرب عاقلانه بر روی موجودیتها انجام میدهیم و آن را جمع میکنیم که امتیاز است. ایده اصلی پشت ریاضی این است که اگر رابطه راس، رابطه، دم درست باشد، نمره باید بالا باشد در غیر این صورت نمره پایین خواهد بود. اجازه دهید تفسیر پشت ریاضی را درک کنیم.
تفسیر تابع امتیازدهی و نحوه عملکرد DistMult:
عملکرد امتیازدهی در DistMult همانطور که در بالا نشان داده شد میتواند به عنوان یک ابرصفحه در فضای تعبیه شده در نظر گرفته شود. یعنی میتوان تابع امتیاز دهی را به صورت شباهت کسینوس بین h ضربدر r و t تفسیر کرد که در شکل زیر نشان داده شده است:
شکل 30: قیاس بین تابع امتیازدهی در DistMult و شباهت کسینوس
حاصلضرب نقطه میتواند مثبت یا منفی باشد که نشان میدهد نقطه در سمت چپ یا راست ابرصفحه قرار دارد. h.r یک ابرصفحه را تعریف میکند که متعامد با آن است و دم مربوط به h.r در همان سمت h.r قرار میگیرد و دم غیر مرتبط h.r در سمت دیگر h.r / هیپرپلان میافتد.
DistMult برای روابط 1 به N:
DistMult همچنین میتواند روابط 1 به N را با موفقیت مدل کند. اگر راس “h” باشد (مثلاً مشاور/معلم) و t1 و t2 دنبالهها (مثلاً نصیحتها/دانشآموزان) باشند، میتوان این را از طریق شکل زیر درک کرد، سپس t1 و t2 در همان سمت ابرصفحه و در همان سمت فاصله از یکدیگر بیفتند.
شکل 31: مدلسازی رابطه 1 به N با DistMult
DistMult برای روابط متقارن:
معادله: تفسیر ریاضی رابطه متقارن در گراف
روابط متقارن را میتوان به راحتی از طریق DistMult مدل کرد زیرا ضرب به صورت جابه جایی است که در معادله زیر نشان داده شده است:
معادله: DistMult میتواند روابط متقارن را مدل کند - زیرا ضرب جابجایی است
محدودیت DistMult: روابط ضد متقارن، روابط معکوس و روابط ترکیبی
روابط ضد متقارن:
محدودیت در مدلسازی برای DistMult یک رابطه ضد متقارن است - مانند یک ابرنام/ بخشی از DistMult نمیتواند رابطه ضد متقارن را به دلیل جابجایی جمع و ضرب مدل کند. ماهیت جابجایی جمع و ضرب به این معنی است که شما تقارن دریافت میکنید و نه ضد تقارن.
توجه / معادله - DistMult به دلیل ماهیت جابجایی در ضرب همانطور که در یادداشت بالا توضیح داده شد نمیتواند ضد تقارن را مدل کند.
روابط معکوس:
باز هم، DistMult نمیتواند روابط معکوس را مدل کند:
معادله - ریاضی رابطه معکوس
همانطور که در بخش 8 ذکر شد، یک رابطه معکوس را میتوان از طریق مثال توضیح داد: - به عنوان مثال، اگر “X” مشاور “X” است، “Y” مشاور “X” است.
دلیل اینکه DistMult نمیتواند رابطه معکوس را مدل کند این است که تنها راه برای مدل کردن رابطه معکوس این است که r2 و r1 برابر هستند. با این حال، از نظر معنایی این امکان پذیر نیست، زیرا اگر r2 و r1 برابر باشند، در آن صورت، تعبیه رابطه مشاوره دهنده، تعبیه رابطه مشاوره گیرنده باید برابر باشد.
رابطه ترکیب:
DistMult نمیتواند رابطه ترکیب را مدل کند. مسئله این است که DistMult برای هر رابطه هایپرپلان تعریف میکند و هر رابطه یک جفت رابطه است و اتحاد ابرصفحههای القا شده توسط چندین جهش رابطه (مثلا r1, r2, …) را نمیتوان با استفاده از یک ابر صفحه منفرد بیان کرد.
معادله - رابطه ریاضی ترکیب
11. روش 4: ComplEx
توجه به تفسیر اعداد مختلط
آخرین روشی که اکنون در مورد آن صحبت خواهیم کرد ComplEx است. دلیل بحث در مورد ComplEx این است که تاکید کنیم که لازم نیست نقاط را در فضای ساده اقلیدسی تعبیه کنیم، w همچنین میتواند نقاط را در فضای پیچیده تعبیه کند. Complex موجودیتها را در فضای برداری پیچیده تعبیه میکند که در آن هر نقطه دارای یک بخش خیالی و یک بخش واقعی است.
یک مفهوم از جبر مختلط که هنگام بحث در مورد ComplEx مهم است در نظر داشته باشید، در مورد مزدوج مختلط است - که در آن میگوییم “u” یک عدد مختلط با قسمت واقعی “a” و قسمت خیالی “b” است به طوری که:
معادله - عدد مختلط”u”
سپس یک مزدوج پیچیده است:
معادله - مزدوج مختلط”u”
شکل 32: مفهوم مزدوج پیچیده
مفهوم مزدوج پیچیده همانطور که بیشتر بحث میکنیم مهم خواهد بود.
تابع امتیازدهی در ComplEx: تابع امتیازدهی در ComplEx همانند DistMult است، اما ما او را بخشی خیالی از تعبیه پیچیده در نظر نمیگیریم، بلکه فقط قسمت واقعی را همانطور که در معادله زیر نشان داده شده است در نظر میگیریم:
معادله - تابع امتیازدهی ComplEx
شکل 33: محاسبه تابع امتیازدهی شامل ضرب عنصری بخش واقعی موجودیتها است (مانند DistMult)
روابط در ComplEx:
به دلیل امکان مدلسازی روابط ضد متقارن با استفاده از مزدوجهای پیچیده، این مدل به اندازه کافی گویا است تا عملکرد امتیازدهی بالا یا ارزش را یاد بگیرد.
به دلیل امکان استفاده از مزدوجات پیچیده
روابط متقارن: فناوری اطلاعات میتواند روابط متقارن را از طریق ComplEx با تنظیم قسمت فرضی برابر با 0 مدلسازی کند.
روابط معکوس: روابط معکوس را میتوان با تنظیم r2 به عنوان مزدوج مختلط r1 مدل کرد.
محدودیتها: روابط 1 به N و روابط ترکیب
ComplEx نمیتواند روابط ترکیب را به خوبی روابط 1 به N مدل کند، زیرا عملکرد امتیازدهی مشابهی با DistMult دارد.
12. خلاصه روشها:
ما چهار روش مورد استفاده برای مدلسازی راس، دم، تعبیه رابطه را مورد بحث قرار دادهایم:
· TransE
· TransR
· DistMult و
· ComplEx
حال اجازه دهید بحثهای بخش 4 تا 11 را خلاصه کنیم. در ادامه به نتایج بحثهای مربوط به روابطی که هر یک از روشها میتوانند مدلسازی شوند، میپردازیم.
جدول - خلاصهای از روشها و روابطی که آنها میتوانند مدل کنند
نکته جالب این است که هر یک از روشها - همانطور که در جدول نشان داده شده است - ایده متفاوتی دارد. TransE و TransR راس، رابطه و دم را در فضای اقلیدسی قرار میدهند. TransE از ایده ترجمه برای هر رابطه استفاده میکند در حالی که TransR تعبیهها را به فضای دیگری تبدیل میکند.
جدول بالا انواع مختلف رابطه را نشان میدهد که روشها میتوانند مدلسازی کنند. همانطور که ملاحظه شد و بحث شد، TransE تنها روشی است که میتواند انواع روابط ترکیب را مدل کند. DistMult تابع امتیاز دهی متفاوتی را اتخاذ میکند - مشابه شباهت کسینوس و ComplEx تعبیه را در فضای پیچیده فرموله میکند.
تعبیه گراف دانش در عمل:
میتوان نتیجه گرفت که گرافهای دانش مختلف دارای الگوهای رابطهای و ویژگیهای متفاوتی هستند. بنابراین، هیچ روشی وجود ندارد که برای همه گرافهای دانش کار کند. روش مورد استفاده به نوع رابطهای که به مدلسازی علاقه دارید و نوع روابطی که میخواهید پیشبینی کنید بستگی دارد.
همانطور که در جدول مشاهده شد، اگر کسی به مدلسازی روابط ترکیبی علاقهمند است، روش انتخابی TransE است، در حالی که اگر مجبور به مدلسازی روابط 1 به N باشد، TransE نمیتواند استفاده شود. به طور کلی، TransR و ComplEx قادر به مدلسازی متنوعترین مجموعه از انواع مختلف روابط هستند.
تکمیل گراف دانش یکی از رایجترین و مهمترین پرسشها هنگام برخورد با گرافهای دانش در عمل است. هر یک از روشهای مورد بحث در این وبلاگ – TransE، TransR، DistMult، ComplEx از فضای تعبیه متفاوتی برای مدلسازی انواع مختلف روابط استفاده میکنند.
[1] Heterogeneous Graphs and Relational Graph Convolutional Neural Networks
[2] Impute/Predict
[3] Intuition and Interpretation
[4] Translation
[5] Move/Translate
[6] Symmetric
[7] Antisymmetric
[8] Hypernyms
[9] Inverse Relation
[10] Composite Relation
[11] Different/Distinct
[12] Stretch/Compress
[13] Housemate