نگاهی جزئی تر بر ساخت گراف دانش

Published on 06/20,2017

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

خب طبق پست قبلی که کمی با دیبی پدیا آشنا شدیم، در این پست به صورت جزئی تر بحث رو ادامه میدیم...

 

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

هر صفحه ویکی پدیا تقریبا ساختاری مشابه ساختار زیر دارد:

Title

Abstract

Infoboxes

Geo-coordinates

Categories

Images

Links

اما در این بین یکی از مهمترین قسمت هایی که یک صفحه ویکی پدیا دارد، قسمت infobox آن است. این تکه از صفحه معمولا در سمت راست و بالای صفحه ویکی پدیا قرار دارد که اطاعاتی را راجع به آن صفحه در قالب ساخت یافته ای در اختیار کاربر قرار می دهد. اطلاعات صفحات ویکی پدیا به صورت منظم و دوره ای به صورت dump ذخیره سازی می شوند که از طریق لینک هایی مانند https://dumps.wikimedia.org/other/static_html_dumps/

قابل دسترس هستند و با مراجعه به این لینک ها می توان فایل های دامپ ویکی پدیا را دانلود کرد. بعد از دانلود کردن این فایل ها ساختار هر صفحه ویکی پدیا را می توانیم مشاهده کنیم که مثلا اگر به صورت XML دانلود کرده باشیم، تمام اطلاعات یک صفحه در تگ page قرار می گیرد. ضمنا کل اطلاعات infobox ها نیز داخل { Infobox}} قرار می گیرد. مثلا به داده ی زیر توجه فرمایید:

{{Infobox Korean settlement

| title = Busan Metropolitan City

| img = Busan.jpg

| imgcaption = A view of the [[Geumjeong]] district in Busan

| hangul =

...

| area_km2 = 763.46

| pop = 3635389

| popyear = 2006

| mayor = Hur Nam-sik

| divs = 15 wards (Gu), 1 county (Gun)

| region = [[Yeongnam]]

| dialect = [[Gyeongsang]]

}}

در اینجا یک infobox داریم که Korean settlement را معرفی می کند و عنوان آن (title) Busan Metropolitan City است. همانطور که می بینید هر سطر از داده های اینفوباکس به صورت زوجی از خصیصه و مقدار هست. یعنی ابتدا نام خصیصه ( title) و سپس مقدار آن (Busan Metropolitan City) گفته می شود. همین روند برای سایر خطوط داده نیز وجود دارد.

دیبی پدیا یک گراف دانش فراگیر است. پس نگاهی کوتاه به دیبی پدیا نیز خواهیم داشت. حال در شکل زیر نگاهی کلی به معماری سیستم دیبی پدیا می اندازیم:

در سمت چپ داده های ویکی پدیا را داریم که به دو صورت بدست می آیند ؛ یا به صورت فایل های دامپ از پیش دانلود شده و یا به صورت داده هایی که توسط یک api از صفحات ویکی پدیا استخراج می شوند. البته برای استفاده از این api نیاز به داشتن پروتکلی برای مشخص کردن چارچوب جمع آوری فرا داده ها از روی منابع ویکی پدیا داریم که با عنوان OAI_PMH شناخته می شود. در هر صورت بعد از جمع آوری داده های ویکی پدیا، با پارس کردن داده ها به یک abstract syntax tree می رسیم. حال با توجه به اینکه این درخت عام است می توانیم تمام اطلاعات مربوط به برچسب های مورد نیاز خود را از آن استخراج کنیم. در نهایت آنها را به صورت rdf که می تواند فرمت های مختلفی از ذخیره سازی نیز داشته باشد، بر روی یک Triple Store ذخیره سازی کنیم که در اینجا با نام Virtuoso آمده است. بعد از آن می توانیم از این منبع با اجرای کوئری های اسپارکل و یا داده های پیوندی از طریق دسترسی وب که شامل (4 روش دسترسی است) استفاده کنیم. اما همانطور که در شکل نیز می بینیم، بلاکی با عنوان Ontology Mappings نیز داریم. با توجه به اینکه داده های ویکی پدیا در بیش از 120 زبان مختلف دنیا وجود دارد، لذا مشکلاتی وجود دارد که در ادامه در سناریویی درباره آن بحث می کنیم:

به شکل زیر توجه بفرمایید:

 

در این شکل در سمت چپ پایین یک template اینفوباکس را مشاهده می کنید که نام آن book است و در سمت راست پایین نیز قالب کلی برای کتاب است که به زبانی دیگر نوشته شده است. هر دو اینفوباکس به کتاب اشاره می کنند. در حالی که در آنتولوژی موجود در دیبی پدیا داریم فقط یک کلاس داریم که موجودیت کتاب را مدل می کند. این کلاس، کلاس Book است که شامل ویژگی هایی می باشد (شکل وسط صفحه بالا). حال برای آنکه اطلاعات بدست آمده از هر قالب کلی را بتوانیم به صورت یکپارچه در آنتولوژی خود داشته باشیم از نگاشت هایی استفاده می کنیم تا معلوم کنیم که اولا هر قالب کلی به کدام کلاس نگاشت می شود و ثانیا هر کدام از ویژگی های موجود در قالب ها به کدام ویژگی در کلاس نگاشت می­شود (قسمت بالاراست و بالاچپ شکل). بدین ترتیب به ازای هر زبان، یک قالب کلی برای "کتاب" داریم و یک فایل نگاشت.

اما در نهایت یکی از راه های دسترسی به پایگاه دانش ساخته شده را در شکل زیر می بینیم که در معماری سیستم نیز گفته شده بود. 

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

 

انشالله شاد و پیروز باشین.. البته این بحث هنوز ادامه داره و در پست آینده یک راه کار جالب و علمی رو خدمتتون ارائه می کنم.

  


http://fumblog.um.ac.ir/trackback.php?id=12435

نگاهی جزئی تر بر ساخت گراف دانش

 

ارسال نظر
Info

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


در غیر اینصورت نظر شما پس از تایید توسط مالک وبلاگ منتشر خواهد شد.

 authimage