تعبیه گراف دانش

در یادگیری بازنمایی، تعبیه گراف دانش (معادل Knowledge Graph Embedding یا KGE)، که از آن به عنوان یادگیری بازنمایی دانش (KRL) و یا یادگیری چند رابطه‌ای هم یاد می‌شود، یک کار یادگیری ماشینی برای یادگیری یک نمایش کم بعدی از موجودیت ها و روابط یک نمودار دانش است. با حفظ معنای معنایی آنها. نمودارهای دانش (KGs) با استفاده از نمایش تعبیه شده آنها می‌توانند برای کاربردهای مختلفی مانند پیش‌بینی پیوند، طبقه‌بندی سه‌گانه، شناسایی موجودیت، خوشه بندی و استخراج رابطه استفاده شوند.

## تعریف
یک گراف دانش، با \mathcal{G} = \{E, R, F\} نمایش داده می‌شود و مجموعه‌ای‌ از موجودیت‌ها (entity) و روابط (relations) و حقایق (fact) است. یک حقیقت، سه‌گانه‌ای به صورت (h, r, t) \in F است که در آن، r \in R ارتباطی میان ابتدا یا سر (h \in E) و انتها یا دم (t \in E) برقرار می‌کند. طریقه دیگر نشان دادن حقیقت، به صورت  است که به این نمادگذاری، چارچوب توصیف منابع (RDF) هم می‌گویند. نمودار دانش، نشان‌دهنده دانش مربوط به یک حوزه خاص است. با استفاده از این نمایش ساختاریافته، می‌توان پس از چند مرحله اصلاح، بخشی از دانش جدید را از آن استنتاج کرد. با این حال، امروزه، مردم برای استفاده از آنها در یک برنامه واقعی باید با پراکندگی داده ها و ناکارآمدی محاسباتی دست و پنجه نرم کنند. تعبیه یک نمودار دانش، هر موجودیت و رابطه یک نمودار دانش (\mathcal{G}) را به بردار با یک بعد معین (d یا بعد تعبیه)، ترجمه می‌کند. مجموعه بردارهای جاسازی شده برای همه موجودیت ها و روابط در نمودار دانش، نمایش متراکم و کارآمدتری از دامنه است که می تواند به راحتی برای بسیاری از وظایف مختلف استفاده شود.

تعبیه گراف دانش با چهار جنبه مختلف مشخص می‌شود:

# فضای بازنمایی: فضایی با تعداد بعد کم که موجودیت ها و روابط در آن نمایش داده می‌شوند.
# تابع امتیاز دهی: معیار خوب بودن برای نمایش سه گانه تعبیه شده.
# مدل‌های رمزگذاری: روشی که در آن بازنمایی تعبیه‌شده موجودیت‌ها و روابط با یکدیگر تعامل دارند.
# اطلاعات اضافی: هر گونه اطلاعات اضافی که از نمودار دانش حاصل می‌شود و می‌تواند نمایش تعبیه شده را غنی کند. معمولاً برای هر اطلاعات اضافی، یک تابع امتیازدهی موقت در تابع امتیازدهی عمومی ادغام می‌شود.

### '''فرایند تعبیه'''
همه مدل‌های مختلف جاسازی نمودار دانش تقریباً از یک روش برای یادگیری معنای معنایی حقایق پیروی می‌کنند. در ابتدا، برای یادگیری یک نمایش تعبیه شده از یک نمودار دانش، بردارهای تعبیه شده موجودیت ها و روابط به مقادیر تصادفی مقداردهی اولیه می‌شوند. سپس، با شروع از یک مجموعه آموزشی تا رسیدن به یک شرط توقف، الگوریتم به طور مداوم تعبیه‌ها را بهینه می‌کند. معمولاً شرط توقف با اضافه شدن بیش از حد روی مجموعه تمرینی داده می‌شود. برای هر تکرار، یک دسته از اندازه b از مجموعه آموزشی نمونه‌برداری می‌شود و برای هر سه‌گانه‌ای از دسته، یک واقعیت خراب تصادفی نمونه برداری می‌شود، (منظور از واقعیت خراب تصادفی، یعنی سه‌گانه‌ای که یک واقعیت درست و واقعی را در نمودار دانش نشان نمی‌دهد.) فساد سه‌گانه شامل جایگزینی سر یا دم (یا هر دو) سه گانه با موجودیت دیگری است که واقعیت را نادرست می کند. سه گانه اصلی و سه گانه خراب در دسته آموزشی اضافه می‌شوند و سپس جاسازی ها به روز می‌شوند و یک تابع امتیازدهی را بهینه می‌کنند. در پایان الگوریتم، تعبیه‌های آموخته شده باید معنای معنایی را از سه‌گانه استخراج کرده و حقایق واقعی را به درستی در نمودار دانش مشاهده نکرده باشند.

### شبه کد
شبه‌ کد برای توصیف رفتار یک KGE به صورت زیر است:
```cpp
Algorithm Compute entity and relation embeddings
input: The training set S={(h,r,t)}, entity set E, relation set R, embedding dimension k
output: Entity and relation embeddings 
initialization: the entities e and relations r, embeddings (vectors) are randomly initialized 
while stop condition do 
    S_batch <- sample(S,b) // From the training set randomly sample a batch of size b 
    for each (h,r,t) in S_{batch} do 
        (h',r,t') <- sample(S') // sample a corrupted fact of triple 
        T_{batch} <- T_{batch} union {((h,r,t),(h',r,t'))}}
    end for 
     Update embeddings by minimizing the loss function 
 end while
```


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

#### Hits@K
Hits@K یا به طور خلاصه، H@K، یک شاخص عملکرد است که احتمال یافتن پیش‌بینی صحیح را در اولین K پیش‌بینی‌های برتر مدل اندازه‌گیری می‌کند. معمولاً از k=10 استفاده می‌شود. Hits@K منعکس کننده دقت یک مدل تعبیه شده برای پیش بینی رابطه بین دو سه‌گانه به درستی است.

= \frac \in [0, 1] Hits@K

مقادیر بالاتر، نشان‌دهنده نتایج پیش‌بینی بهتر است.

#### Mean rank (MR)
میانگین رتبه، میانگین رتبه‌بندی اقلام پیش‌بینی شده توسط مدل در بین تمامی آیتم‌های ممکن است.

MR = \frac{1}\sum_{q \in Q}{q}

مقادیر پایین‌تر، نشان‌دهنده مدل بهتر است.

#### Mean reciprocal rank (MRR)
میانگین رتبه متقابل، تعداد سه گانه های پیش بینی شده درست را اندازه می‌گیرد. اگر اولین سه‌گانه پیش‌بینی شده درست باشد، 1 اضافه می‌شود. اگر دومی درست باشد، \frac{1}{2} اضافه می‌شود و به همین ترتیب تا انتها.

MRR معمولاً برای تعیین کمیت اثر الگوریتم های جستجو استفاده می شود.

MRR = \frac{1}\sum_{q \in Q}{\frac{1}{q}}  \in [0, 1]

مقادیر بالاتر، نشان‌دهنده مدل بهتر است.

## کاربردها

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

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

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

## مدل‌ها
با فرض داده‌ شدن مجموعه‌ای از سه‌گانه‌ها (یا حقایق) به صورت \mathcal{F} = \{\}، نمودار تعبیه دانش برای هر موجودیت و رابطه حاضر در داده‌ها، یک نمایش برداری پیوسته می‌سازد، که همان مدل ماست. (h, r, t) متناظر با سه‌گانه‌ای با مشخصات h,t \in {\rm I\!R}^{d} و r \in {\rm I\!R}^{k} است که d بیانگر بعد تعبیه برای موجودیت‌ها و k برابر بعد تعبیه برای روابط است. مدل‌ها انواع مختلفی دارند که در ادامه به آنها می‌پردازیم.

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

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

### مدل‌های هندسی
فضای هندسی تعریف شده توسط این خانواده از مدل‌ها، این رابطه را به عنوان یک تبدیل هندسی بین ابتدا و انتهای یک واقعیت و حقیقت رمزگذاری می‌کند.

## مراجع

رده:یادگیری ماشین
رده:الگوریتم‌های گراف
رده:علم اطلاعات