داده کاویداده کاوی و شبکه های اجتماعی
نمونه موردی: چطوری توی یک شبکه اجتماعی بر اساس نظرات کاربران در مورد یکدیگر، رابطه مثبت و منفی بین افراد رو متوجه بشیم؟
توی مطلب قبلی در مورد Signed Social Network مفصل صحبت کردیم توی این مطلب میخواهیم بر اساس نظرات کاربران در مورد یکدیگر، رابطه اونا رو کشف کنیم. ما قصد نداریم وارد جزییات الگوریتم بشیم فقط میخواهیم با یک مثال کلیات رو مشخص کنیم. شبکهای که قرار بسازیم، گره هاش افراد هستند و رابطه بین اونا میتونه مثبت یا منفی باشه.
فرض کنید مجموعه نظرات کاربران ما سه تا جمله زیر رو دارید
S1 : Hassan Nasrallah said: The one who must be punished is the one who ordered the war on Lebanon. Bush wants to punish you because you resisted
S2 : Silvio Berlusconi wrapped up a 2-day meeting yesterday with George Bush at the President’s ranch near Crawford, Texas, a reward for Italy’s strong support
S3 : Berlusconi criticized Prodi
ترجمه جملات بالا میشه
سید حسن نصرالله (Hassan Nasrallah): کسی که جنگ رو در لبنان شروع کرده است باید مجازات شود. بوش (Bush) میخواست شما را به علت اینکه مقاومت کرده این مجازات کند (روبری آمریکا واستادید)
برلوسکونی (Berlusconi) دیروز یک جلسهای دو روزه با بوش در مزرعهاش نزدیک Crawford در Texas. این یک هدیه به خاطر حمایتهای خوب ایتالیا بود شود
بروسکونی، از پرودی (Prodi) انتقاد کرد.
اولین گام استخراج گره ها یا همون افراد ، که میشه مجموعه زیر
{Hassan Nasrallah, George Bush, Silvio Berlusconi, Romano Prodi}
ارتباط بین افراد هم بر اساس نظرات کاربران به صورت زیر است
{(Hassan Nasrallah, George Bush, negative),
(Silvio Berlusconi, George Bush, positive),
(George Bush, Silvio Berlusconi, positive),
(Silvio Berlusconi, Romano Prodi, negative)}
رابطه اول از جمله اول قابل استخراج است ( اما نظر بوش در مود سید حسن نصرالله توی متن وجود نداره)
رابطه های دوم و سوم بر اساس جمله دوم قابل استخراج است (یک رابطه دو طرفه می تواند از متن استخراج بشه)
رابطه ۴ هم از جمله سوم قابل استخراج است
دیدیم که چطوری میشه از یک متن ارتباط ها رو استخراج کرد، در گام اصلی که الگوریتم ها برای رسیدن به رابطه ها انجام میدن عبارت است از :
۱- نیاز است که ابتدا بدونیم Bush که توی متن بهش اشاره شده همون George Bush خودمون هستش
۲- بفهمیم کدوم یک از نظرات کاربران ارتباط دو طرفه دارن و کدوما یک طرفه هستن
یک اشاره کوچیک میکنم چطوری میشه موارد فوق رو تعیین کرد. فرض کنید اگر X و Y دو عضو شبکه باشند و جمله ای با قالب X criticized Y وجود داشته باشد به این معنا است که اولا این رابطه یک رابطه یک طرف است، و دوما جمله اشاره دارد که دید X نسبت Y منفی است. برای بقیه موراد هم، همچنین ساختار ها و الگوهای وجود دارد و از اونجای که قصد نداریم فعلا بحث های ریز الگوریتمی بکنیم. فعلا تا همینجا کافی هستش.
شاید بعدا بهش پرداختیم.