Neural Relation Extraction with Selective Attention over Instances

تغییرات پروژه از تاریخ 1396/11/21 تا حالا
![دانشکده مهندسی کامپیوتر دانشگاه علم و صنعت](https://www.dropbox.com/s/hiogw4ab9477xxi/290-IUST_logo_color.png?dl=1)

<h2 align="center">استخراج عصبی رابطه ها با توجه انتخابی نمونه ها </h2>
<h3 align="center">رضا مرادی (REZYMO[AT]GMAIL[DOT]COM);آذر 1396.</h3>

[لینک مرجع اصلی](thunlp.org/~lyk/publications/acl2016_nre.pdf)
[لینک پیداه سازی](https://github.com/thunlp/NRE)
<a href="https://www.dropbox.com/s/3fgms4ssau2k37p/Pre-nlp.pptx?dl=1">فایل PDF ارائه حضوری ( فاز سوم ) </a>

----------

به نام خالق قلم

#چکیده :

برای پیدا کردن حقایق جدیدی که در متن با یکدیگر در ارتباطند ، به طور گسترده ای از روش های نظارت دور [^distant supervised] استفاده می شود .با این حال نظارت دور با مشکل برچسب دهی اشتباه [^wrong labeling]  همراه است،اساسا این داده های اشتباه [^noisy] به عملکرد استخراج رابطه [^ relation extraction ] صدمه می زنند . برای تسکین این مشکل در عمل استخراج رابطه می خواهیم  یک مدل مبتنی بر توجه در سطح جمله [^sentence-level attention-based] ارائه بدهیم . در این مدل ما از CNN برای جاسازی  معانی نهفته در جملات استفاده می کنیم. سپس مدل مبتنی بر توجه در سطح جمله را در مورد چندین جمله  [^sentence-level attention over multiple instances] می سازیم که انتظار داریم به صورت پویا وزن این نمونه های اشتباه را کاهش دهد . نتایج آزمایشات روی مجموعه داده[^dataset] های دنیای واقعی نشان می دهد که مدل معرفی شده در این مقاله می تواند به طور کامل بر روی همه جملات معنی دار مورد استفاده قرار گیرد و تاثیر بسزایی در  کاهش تاثیر این نمونه های های با برچسب اشتباه بگذارد . مدل ما در قیاس با سایر روش ها بهبود قابل توجه و استواری را روی عمل استخراج رابطه بدست می آورد .

#مروری بر ادبیات و مقدمات لازم 

##تشریح شبکه کانولوشن :

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

لطفا به مثال زیر دقت کنید :

![مثالی از نحوه ی عملکرد شبکه ی کانکلوشن](https://www.dropbox.com/s/nr77mudy9itk6v3/Screenshot%20%28192%29.png?dl=1)

ماتریس با اندازه ی 3*5*5 را اصطلاحا فیلتر [^filter]  می نامیم . در آیه های این ماتریس معمولا به صورت تصادفی مقدار دهی می شوند .روال کار کانولوشن بر روی تصویر[^image] فوق به این صورت است که فیلتربه ابعاد 3*5*5  را اصطلاحا بر روی تصویر بالا که اندازه ی آن 3*32*32 است می لغزانیم ، ناحیه ای که در تصویر زیر این ماتریس با اندازه ی 3*5*5 قرار می گیرد را با  ماتریس وزنی متناظر با آن  ضرب کرده و  درآیه های ماتریس حاصل را با هم جمع می کنیم  که یک عدد بدست خواهد آمد . بنا بر سیاست تعریف شده بر روی تصویر این فیلتر رامی لغزانیم و بدین ترتیب ماتریسی دیگر با این کار به شکل زیر حاصل خواهد شد .

![شکل حاصل از فیلتر اول](https://www.dropbox.com/s/eerobiamy5qpota/Screenshot%20%28203%29.png?dl=1)

در نهایت پس از 5 بار اعمال فیلتر  بر روی تصویر اصلی به شکل زیر دست می یابیم :

![شکل پس از 5 بار اعمال فیلتر](https://www.dropbox.com/s/znbg1jij27wu9ze/Screenshot%20%28204%29.png?dl=1)

##تشریح متحد کننده [^pooling]

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

گروه اول :

این روش ها همراه با عمل کانولوشن انجام می شوند و باعث کاهش اندازه ی داده ها می شوند . این روش ها  اصطلاحا از گام [^stride] بزرگتر از یک استفاده می کنند که باعث می شوند نتیجه ی کار بعد از هر بار اعمال کانولوشن یک تصویر بسیار کوچکتر از تصویر لایه ی قبل شود .
شکل زیر مثالی است که نحوه ی عملکرد روش مبتنی بر گام را نشان می دهد :

![روش مبتنی بر گام](https://www.dropbox.com/s/frd8jf91mvu7n75/Screenshot%20%28205%29.png?dl=1)

گروه دوم :

روش هایی هستند که از متحد کنند (حداکثر،میانگین و ...) استفاده می کنند . این دسته از روش ها فقط اندازه ی داده ها را کاهش می دهند و کار دیگری انجام نمی دهند . این لایه ها بعد از لایه ی کانولوشن قرار می گیرند و صرفا اندازه ی داده ها را کاهش (مثلا نصف) می کنند . روش های مختلفی برای ایجاد متحد کننده وجود دارد ولی معروفترینشان متحد کننده-حداکثر [^max-pooling] است .شیوه ی کار متحد کننده-حداکثر به شکل زیر است :

![نمونه ای از متحدکننده-حداکثر](https://www.dropbox.com/s/6r9g87nlngwhg8h/Max_pooling.png?dl=1)

در شکل بالا داده ی اصلی به اندازه ی یک ماتریس  4*4  است و عملیات متحد کننده-حداکثر با گام  2  و با اندازه ی پنجره ی  2*2  انجام می گیرد .متحدکننده-حداکثر بیشترین مقدار را انتخاب کرده و در خانه ی متناظر با این پنجره در ماتریس خروجی قرار می دهد .

##حذف کننده[^dropout] :
 
این شیوه به منظور جلوگیری از آموزش بیش از حد [^overfitting]  ایجاد شده است و نحوه کار آن به این صورت است که در هر مرحله از آموزش, هر نورون یا با احتمال ۱-p  (از شبکه) کنار گذاشته می شود [^dropped out] و  یا با احتمال p نگه داشته می شود, بطوری که نهایتا یک شبکه کاهش داده شده باقی بماند. یالهای ورودی و خروجی به یک نود کنار گذاشته شده [^dropped-out node] نیز حذف می شوند.اینگونه  شبکه در مرحله آموزش تنها بر روی داده های کاهش یافته  آموزش خواهد دید . پس از این کار نودهای حذف شده سپس به همراه وزن های سابق آنها(پیش از حذف شدن) دوباره به درون شبکه وارد میشوند.

![نمونه ای از حذف کننده](https://www.dropbox.com/s/4r2797i4u9ved4h/1_iWQzxhVlvadk6VAJjsgXgg.png?dl=1)

##لایه احتمال ساز [^softmax layer] :

خروجی های نهایی شبک ی عصبی را گرفته و آنها را به احتمال تبدیل می کند ، یعنی هر یک از خروجی ها را به اعدادی بین 0 و 1 تبدیل کرده ، به گونه ای که مجموع تمام خروجی ها برابر 1 شود .

شکل زیر نمونه ای از روال کار احتمال ساز را نشان می دهد :

![نمونه ای از روال کار احتمال ساز](https://www.dropbox.com/s/m2y2ezb6cl1v3sv/softmax_regression_en.png?dl=1)

##روش ارزیابی k تایی کردن [^k-fold] :

در این نوع اعتبارسنجی داده ها به K زیرمجموعه افراز می شوند . از این K زیرمجموعه، هر بار یکی برای آزمایش و K-1 تای دیگر برای آموزش بکار میروند. این روال K بار تکرار می شود و همه داده ها دقیقا یکبار برای آموزش و یکبار برای آزمایش بکار می روند. در نهایت میانگین نتیجه این K بار اعتبارسنجی به عنوان یک تخمین نهایی برگزیده می شود. البته می توان از روش های دیگر برای ترکیب نتایج استفاده کرد . بطور معمول از "10تایی کردن [^10-Fold] استفاده می شود.

![مثالی برای شیوه ارزیابی k تایی کردن](https://www.dropbox.com/s/h92z1gr6v3yzwje/K-fold_cross_validation_EN.jpg?dl=1)

##شیوه ی ارزیابی held-out :

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

#معرفی
در سال های اخیر پایگاه های  دانش [^KBs] متنوع و با مقیاس های بزرگی مانند  Freebase ،ِ Dbpedia ، YAGO  ساخته شده اند و برای کار های زیادی در زمینه پردازش زبان های طبیعی [^neural language processing]  مانند جست و جو در وب و  سیستم سوال جواب [^question answering] مورد استفاده قرار گرفته اند . اغلب این پایگاه های دانش رابطه های حقیقی [^ relation fact] ها رو به صورت 3 تایی هایی به شکل ( حقیقت دوم رابطه  حقیقت اول) نشان می دهند . بعنوان نمونه  ( Microsoft  founder  Bill-Gates )  نشان دهنده ی این مطلب است  که بیل گیتس [^Bill-Gates] و شرکت ماکروسافت [^Microsoft ] با یکدیگر رابطه ی مالکیت دارند ، یعنی بیل گیتس مالک ماکروسافت است . با و جود این که پایگاه دانش های موجود شامل مقدار زیادی از حقایق هستند ، اما هنوز در قیاس با حقایق بی نهایت موجود در دنیای واقعی فاصله زیادی دارند . برای غنی سازی پایگاه دانش ها تلاش های زیادی شده است تا رابطه های حقیقی ناشناس ، به صورت اتوماتیک پیدا شوند . بنابراین استخراج رابطه ( فرآیند تولید داده های مرتبط [^relation data] از متن ساده ) ، امری ضروری در پرداز زبان های طبیعی است.
اغلب سیستم های استخراج رابطه مبتنی بر نظارت [^Supervised RE] موجود ، به مجموعه یادگیری[^ training data] های با حجم بسیار بالا که داده های آن ها به صورت رابطه ای برچسب خورده اند احتیاج دارند [^labelled relation-specific training data] که برای تهیه آنها به زمان و نیروی انسانی زیادی احتیاج است.( در انتهای این بخش برخی از این روش ها توضیح داده خواهند شد )

[13]  سیستم با نظرات دوری را پیشنهاد می کند که از طریق پایگاه دانش ها و  متن [^text] ها ، به طور اتوماتیک ، مجموعه یادگیری  تولید کند .
 آنها فرض می کنند اگر دو موجودیت [^ entity]  در پایگاه دانش یک رابطه بایکدیگر داشته باشند  ، پس همه جملاتی که شامل این دو موجودیت  هستند هم این رابطه را بیان می کنند . به عنوان نمونه، ( Microsoft  founder  Bill-Gates ) یک رابطه حقیقی  در پایگاه دانش است . نظارت دور ، همه جملاتی را که شامل  دو موجودیت *بیل گیتس* و  *ماکروسافت* هستند را به عنوان نمونه فعالیتی از رابطه ی *مالکیت*[^founder]  در نظر می گیرد . اگرچه نظارت دور  یک استراتژی موثر برای برچسب دهی اتوماتیک به داده های مجموعه یادگیری است  اما این روش همیشه از مشکل برچسب دهی اشتباه رنج می برد . برای نمونه جمله ی ** "Bill Gates ’s turn to philanthropy was linked to the antitrust problems Microsoft had in the U.S. and the European union"**، رابطه مالکیت  را بیان نمی کند اما هنوز به عنوان نمونه فعالیتی از رابطه ی مالکیت در نظر گرفته می شود .

 [15,12,20] از این رو این 3 فرد در تحقیقتشان شیوه ای برای  یادگیری مبتنی بر چند نمونه  [^ multi-instance learning]   اتخاذ کردند تا تاثیر مسئله لیبل دهی اشتباه را کم کنند . نقطه ضعف اصلی این روش ها این است  که اغلب  ویژگی ها رو از طریق ابزار های آماده ی موجود برای پردازش زبان های طبیعی   [^nlp toolkit]  مانند برچسب گذاری بخشی از گفتار [^Part-of-speech tagging] بدست می آورند و بدین ترتیب خطا [^error]های تولید شده بوسیله ی ابزار های پردازش زبان های طبیعی ، در این روش ها انتشار خواهد یافت .
امروزه برخی محققین سعی کرده اند از از شبکه های عصبی عمیق [^deep neural network] بدون دستکار ویژگی ها در عمل استخراج رابطه  استفاده کنند . این روش ها نیز با مشکلاتی مواجه شدند  تا اینکه [24,25] روش یادگیری چند نمونه ای  را با مدل شبکه های عصبی معرفی کرد که بتواند استخراج کننده رابطه [^relation extractor]  هایی بر پایه مدل نظارت دور  بسازد . اگرچه این روش به بهبود موثری در استخراج رابطه دست یافت ولی هنوز تا نقطه قانع کنند فاصله زیادی وجود داشت . در این روش فرض بر این است که حداقل یک جمله که شامل دو موجودیت موردنظر در پایگاه دانش است ، رابطه بینشان را  بیان خواهد کرد و فقط جمله ای که بیشترین احتمال را دارد برای هر جفت موجودیت ، در آموزش[^training]  و پیش بینی[^prediction] انتخاب می شود . روشن است که این روش حجم زیادی از اطلاعات را در جملات کنار گذاشته شده ، از دست می دهد . در این مقاله یک شبکه کانولوشن مبتنی بر توجه در سطح جمله [^sentence-level attention-based CNN]  برای استخراج رابطه با نظارت دور [^distant supervised relation extraction] پیشنهاد داده می شود .

![شکل 1](https://boute.s3.amazonaws.com/302-Screens.jpg)

 همانطور که در شکل 1 نشان داده شده ، برای جاسازی  معانی جملات از یک  شبکه کانولوشن [^CNN]  استفاده شده است . سپس، برای استفاده از همه جملات بامعنی ، رابطه به صورت ترکیب معنایی جملات جاسازی شده [^sentence embeddings] تعریف می شود . برای کاهش مشکل برچسب زدن اشتباه ، یک مدل چند نمونه ای مبتنی بر توجه در سطح جمله [^ sentence-level attention over multiple instances]  ساخته شده است که انتظار می رود به صورت پویا وزن نمونه های اشتباه را کاهش دهد . در نهایت با بردار رابطه های وزن دهی شده بوسیله ی توجه در سطح جمله [^sentence-level-attention] ،  رابطه را استخراج می کنیم . مدل معرفی شده در این مقاله بر روی یک مجموعه داده ی دنیای واقعی برای کار استخراج رابطه ارزیابی می شود . نتایج آزمایشات نشان می دهد که این  مدل  در قیاس با سایر روش های موجود در عمل استخراج رابطه عملکرد بهتری خواهد داشت .
 
قسمت های مختلف این مقاله را  می توان در بخش های زیر خلاصه کرد:

 -در قیاس با مدل های مبتی بر شبکه های عصبی برای عمل استخراج رابطه ، مدل معرفی شده در این مقاله می تواند کاملا از همه جملات معنی دار برای هر موجودیت استفاده کند.
 -برای حل مشکل برچسب دهی اشتباه  نمونه ها در روش یادگیری دور  در این مقاله روشی پیشنهاد می شود با عنوان ** توجه انتخابی با تاکید بر موراد اشتباه**[^Selective attention to de-emphasize those noisy instance]



  در این آزمایشات ، نشان داده خواهد شد که توجه انتخابی[^selective attention]  در 2 مدل شبکه کانولوشن[^ CNN] در کار استخراج رابطه ها  سودمند است .
  در این بخش به معرفی استخراج رابطه و برخی روش های یافتن آن در متون می پردازیم :
  
  به بیان ساده استخراج رابطه ، رابطه ی بین موجودیت هاست . استخراج رابطه اصلی ترین قسمت عمل استخراج اطاعات [^information extraction]  است.

![در این شکل می توان نمونه ای از رابطه های ممکن بین دو جودیت Drug , Desease را مشاهده کرد](https://www.dropbox.com/s/7zdbikm6tt0kykb/1%20%2822%29.png?dl=1)

![در این شکل می توان نمونه ای از رابطه های ممکن بین دو جودیت Person, Organizationرا مشاهده کرد](https://www.dropbox.com/s/23m79z90s3d1064/1%20%2824%29.png?dl=1)

**روش هایی که با آنها می توان یک استخراج کننده ی رابطه ساخت :**

1. الگو های دست نویس [^Hand-written pattern]
2. ماشین یادگیری با نظارت[^Supervised machin learning]
3. یادگیری نیمه نظارتی یا بدون نظارت[^Semi-supervised and unsupervised] : یادگیری دور و ...

 چگونه در سیستم های Supervised relation extraction ،  کلاس بندی انجام بدیم؟
 1.همه جفت موجودیت ها رو پیدا کنیم(معمولا در هر جمله)
 2.تصمیم بگیریم که آیا دو موجودیت با هم مرتبطند یا نه
 3.اگر مرتبطند  ، رابطه رو کلاس بندی می کنیم
      ![](https://www.dropbox.com/s/sid9q0xbfsbdqbm/Screenshot%20%28143%29.png?dl=1)
     ![](https://www.dropbox.com/s/fun0klmteyq6g6u/Screenshot%20%28144%29.png?dl=1)


# تشریح distant supervised :

 اغلب سیستم های با نظارت [^supervised] نیاز به یک مجموعه به عنوان مجموعه آموزش  دارند . رویکرد سنتی برای جمع آوری مجموعه آموزش این است که یک مجموعه از اسناد [^document]  توسط انسان برچسب زده شود . این رویکرد هم از نظر زمان و هم از نظر نیروی انسانی مقرون به صرفه نیست . مخصوصا اگر حجم متنون [^cupose] زیاد باشد  احتمال خطای عامل انسانی بالا رفته  و ممکن است داده های مجموعه آموزش دچار خطا شوند .
 
 رویکرد جایگزین این است که مجموعه آموزش  با استفاده از نظارت دور  تولید شوند .در نظارت دور  از یک پایگاه داده موجود مانند Freebase استفاده می شود  تا نمونه هایی را برای رابطه ای که می خواهیم استخراج کنیم جمع آوری کنیم . سپس  از این نمونه ها برای تولید   اتوماتیک مجموعه آموزش  استفاده می شود . به عنوان نمونه ، Freebase  شامل این حقیقت است که باراک اوباما و میشل اوباما ازدواج کرده اند ، این حقیقت گرفته می شود و بعد هر جفت "باراک اوباما"،"میشل اوباما"  که در جمله ای آمده باشد  به عنوان یک نمونه مطلوب [^positive]  برای رابطه ی ازدواج ، برچسب زده می شود (البته امکان اشتباه وجود دارد) . از نظارت دور برای بدست آوردن نمونه های مطلوب یک رابطه استفاده می شود ، اما برای بدست آوردن نمونه های غیر مطلوب [^Negative] یک  رابطه به تلاش بیشتری نیاز داریم .

به منظور آموزش صحیح یک سیستم نیاز است که نمونه های غیر مطلوب نیز به خوبی تعریف شوندچرا که در غیر این صورت تمام پیش بینی ها در عمل طبقه بندی [^ classification ] از نوع مطلوب تشخیص داده می شوند . به بیان دیگر اگر نمونه های غیر مطلوب یا Negative  به خوبی تعریف نشوند طبقه بند [^Classifier] به تمام نونه ها بر چسب مطلوب یا Positive خواهد زد .

 چند راه رایج برای تولید نمونه های غیر مطلوب را توضیح می دهیم :
 
1.رابطه ناسازگار[^incompatible relations]
 فرض کنید برای دو موجودیت x , y ، ما یک رابطه A  را می خواهیم .و رابطه B با A ناسازگار است.
 B(x,y) => not A(x,y)
به عنوان مثال اگر بخواهیم برای رابطه "همسری" نمونه های منفی تولید کنیم ، ما می تونیم از رابطه های ناسازگار با رابطه ی "همسری" مانند رابطه های والد ، خواهر و برادری و  یا فرزندی استفاده کنیم . اگر x و y رابطه والد و فرزند داشته باشند دیگر نمی توانند رابطه "همسری" داشته باشند .

2.قوانین دامنه خاص[^ Domain specific rules]

 گاهی اوقات می توانیم از دانش خود در سایر حوزه ها به عنوان فیلتر استفاده کنیم . مثلا این قانون را بگذاریم که افراد غیرهمسن  نمی توانند  با یکدیگر ازدواج کنند پس اگر شخص y دارای تاریخ تولدی بیش از فردی مانند x باشد ، آنها نمی توانند با هم ازدواج کنند .
 
3.نمونه برداری به صورت رندوم [^random-sample] 

  به صورت Random برخی نمونه ها به عنوان نمونه ی غیر مطلوب  در نظر گرفته شوند .

  #کار های مرتبط

استخراج رابطه  یکی از مهمترین کار ها در زمینه  پردازش زبان های طبیعی است . تلاش های زیادی در زمینه استخراج رابطه به خصوص استخراج رابطه با استفاده از روش های با نظارت  شده است .همان طور که پیش تر هم گفته شد بیشتر این روش ها نیاز به اطلاعات برچسب دهی شده ی زیادی هستند که تهیه ی آن ها نیاز به صرف زمان و نیروی انسانی زیادی است . در مقاله [13]  برای حل این مشکل روشی رو برای متن ساده و Freebase با استفاده از نظارت دور  ارائه می شود که متاسفانه با مشکل برچسب دهی اشتباه همراه است . در [15] برای تسکین این مشکل مدل با نام** نظارت از راه دور برای استخراج رابطه به عنوان یک مسئله تک تک چند نمونه**  [^distant supervision for relation extraction as a multi-instance single label problem] پیشنهاد شده است .

سپس  در مقاله [20] روشی با عنوان  یادگیری چند نمونه ای - چند برچسبی در استخراج رابطه ها [^ multi-instance multi-label learning in relation extraction] رو پیشنهاد شده است . به همین ترتیب روش های دیگری نیز مبتنی بر ویژگی [^feature] ها ارائه شده است که وابستگی زیادی به کیفیت ویژگی های تولید شده بوسیله ابزارهای پردازش زبان های طبیعی داشته اند و به همین دلیل از مشکل انتشار خطاها رنج می برند .

اخیرا یادگیری عمق [^deep learning]  به شکل گسترده ای در حوزه های گوناگون شامل بینایی ماشین،پردازش گفتار و ... مورد استفاده قرار می گیرد . از یادگیری عمیق  حتی در پردازش زبان های طبیعی در حوزه های گوناگونی مانند تحلیل احساسی ، تجزیه ، ترجمه ماشینی  استفاده شده است .
به دلیل موفقیت های سال های اخیر در ضمینه یادگیری عمیق ، بسیاری از محققین در حال بررسی احتمال استفاده از شبکه های عصبی در خودکار [^automatic] کردن یادگیری ویژگی ها برای استخراج رابطه  هستند .

  #روش شناسی

یک مجموعه از جملات به صورت { X1 , X2 , ... , Xn} و دو موجودیت متناظر داده شده اند ، مدل معرفی شده در مقاله احتمال هر رابطه r  را اندازه می گیرد . در این بخش قصد داریم  در 2 قسمت ، بخش های اصلی مدل را معرفی کنیم : 

**رمز گذار جمله** [^Sentence  Encoder]

  یک جمله x و دو  موجودیت هدف داده شده اند ، از یک شبکه کانکلوشن برای ساختن نمایش توزیع شده ی جمله x  استفاده شده است .

**توجه انتخابی بر روی نمونه ها** [^Selective Attention over Instances]

وقتی بردار نمایش های توزیع شده ی همه ی جملات یاد گرفته شدند ، از " توجه در سطح جمله" [^sentence-level attention]  استفاده می شود تا جملاتی را که واقعا بیان کننده ی رابطه ی مورد نظر هستند  انتخاب کند .

![شکل 2](https://www.dropbox.com/s/ym985qtvqj6okcq/Screenshot%20%28182%29.png?dl=1)

جمله ی x   بوسیله ی یک شبکه کانولوشن به شکل توزیع شده تبدیل می شود . ابتدا، کلمات جمله در یک بردار چگال [^dense] از ویژگی ها قرار می گیرند  ،بعد کانولوشن ،لایه حداکثر ساز [^max-pooling] و لایه تغییر غیر خطی [^non-linear transformation layer]  استفاده می شوند تا نمایش توزیع شده ای از جملات را بسازند .
   
  ##نمایش ورودی

ورودی های شبکه ی کانولوشن کلمات خام موجود در هر جمله هستند . ابتدا کلمات موجود در جملات در بردار هایی با ابعاد کم جایگذاری می شوند . در این بردار ها از   طریق جاسازی کلمه [^word embedding] و جاسازی موقعیت [^position embedding] ، معنا و موقعیت هر کلمه در جمله حفظ می شود.هر کلمه در هر جمله بردار مختص به خود را خواهد داشت .
     **جاسازی کلمه**
      جاسازی کلمه ، سعی دارد کلمات را به شکلی نمایش دهد که نحو و معنای کلمات در آن قالب حفظ و نمایش داده شود . فرض کنید جمله ی x شامل m  کلمه 
      است ، هر کدام از این کلمات به شکل برداری هایی که معنا ی آنها و موقعیتشان در جمله را نشان می دهند نگهداری می شوند.
     **جاسازی موقعیت**
      در کار استخراج رابطه معمولا ،کلمات نزدیک به موجودیت های هدف شامل اطلاعاتی زیادی در ارتباط با رابطه ی بین موجودیت ها هستند. همان طور               
      که در مقاله [24] امده موقعیت کلمات در جملات بوسیله ی فاصله هر کلمه نسبت به هر کدام از دو موجودیت هدف در نظر گرفته می شود . این کار باعث                                  می شود  شبکه ی کانولوشن بتواند میزان نزدیکی هر کلمه به هر کدام از موجودیت های هدف را تشخیص دهد .موقعیت هر کلمه به صورت ترکیبی از فاصله هر کلمه نسبت به ابتدا یا انتهای هر کدام از موجودیت های مورد نظر در هر جمله تعریف می شود . به عنوان نمونه در جمله ی ""Bill-Gates is the founder of Microsoft "" ، فاصله ی کلمه ی founder نسبت به ابتدا [^head]ی موجودیت Bill-Gates ، سه است و نسبت به انتهای [^tail] مو جودیت Microsoft ، دو است . در شکل 2 فرض شده که ابعاد جاسازی کلمه 3 است و ابعاد جاسازی موقعیت 2 است که از بین 2 خانه ای که برای جاسازی موقعیت در نظر گرفته شده ، یکی مشخص کننده ی فاصله ی هر کلمه نسبت به ابتدای یکی از موجودیت ها است و دیگری نشان دهنده ی فاصله ی کلمه نسبت به انتهای موجودیت دیگر است. در نهایت بردار های مربوط به هر کدام از کلمات جمله در قالب یک بردار کلی برای هر جمله نمایش داده می شود.

##کانولوشن ، حداکثر ساز ، لایه غیر خطی [^Non-linear layer]

در کار استخراج رابطه ها ، چالش اصلی این است که طول جملات متغییر است و اطلاعات مهم تقریبا هر جایی از جملات می تواند ظاهر شود . باید از تمام ویژگی های محلی استفاده شود ولی کار استخراج رابطه  به صورت غیر محلی انجام شود . در این مقاله از لایه کانولوشن استفاده می شود تا تمام ویژگی های محلی ادغام شوند .لایه کانکلوشن ابتدا تمام ویژگی های محلی در هر جمله را با پنجره کشویی [^sliding window] به اندازه ی L استخراج می کند . در نمونه ی نشان داده شده در شکل 2 فرض شده که اندازه ی پنجره ی کشویی 3 است . سپس تمام ویژگی های محلی استخراج شده توسط شبکه کانولوشن توسط یک حداکثر ساز ترکیب می شوند و در نهایت به یک بردار با اندازه ی مشخص برای هر جمله ورودی تبدیل می شوند .

   ![بخشی از جمله که در هر مرحله با پنجره کشویی به اندازه 3 برای محاسبه در کانکلوشن استفاده می شود](https://www.dropbox.com/s/dvvvevnsynvmivx/Screenshot%20%28148%29.png?dl=1)
   ![نمایش بخشی از شبکه کانکلوشن](https://www.dropbox.com/s/k9x4n0enc7u0voj/Screenshot%20%28181%29.png?dl=1)

در نهایت ما از یک تابع غیر خطی مانند تانژانت هیپربولیک در خروجی استفاده می کنیم.

##توجه انتخابی بر روی نمونه ها

فرض کنید که مجموعه ی S دارای n جمله است شامل دو موجودیت خاص که می خواهم وجود رابطه ی مورد نظر را در مورد آنها مورد بررسی قرار دهیم .

S = {X1 , X2 ,  ... ,  Xn}

مدل معرفی شده در این مقاله برای استخراج اطلاعات همه ی جملات مجموعه ی S ، این مجموعه را به صورت برداری به نام s  ، به منظور پیش بینی [^predicting] رابطه ی r نمایش می دهد . واضح است که نمایش مجموعه ی S ، به نمایش تک تک اعضای X1  تا Xn وابسته است .نمایش هر جمله ای مانند Xi شامل اطلاعاتی است که آیا برای هر جفت موجودیت مورد نظر ،  رابطه ی r برقرار است یا نه . مجموعه بردار s که در بالا از آن صحبت شد به صورت جمع وزن دهی شده ی همه ی جملات مجموعه ی S تعریف می شود :

![فرمول شما ره 5 ](https://www.dropbox.com/s/rqnh5er1tu6uoqz/44.png?dl=1)

آلفا وزن هر بردار جمله ی Xi است . منظور از بردار جمله همان نمایش توزیع شده ی جمله ی Xi  است که در مرحله ی قبل با استفاده از رمزگذار جمله بدست آمد.در این مقاله آلفا به دو روش تعریف شده است :

**میانگین**[^Average] : 
فرض می شود که همه ی جملات مجموعه X ، سهم یکسانی در نمایش مجموعه دارند . این بدین معنی است که جاسازی [^embedding] مجموعه S میانگین همه ی بردار جملات است .

![فرمول شماره 6](https://www.dropbox.com/s/yc03c544fu32r2e/45.png?dl=1)

این یک راه ساده و ابتدایی برای مدا توجه انتخابی معرفی شده در مقاله است .

**توجه انتخابی** :
به هر حال  مشکل برچسب دهی اشتباه در هر صورت در یادگیری با نظارت دور رخ می دهد . به همین دلیل اگر وزن هر جمله برابر فرض شود ، مشکل برچسب دهی اشتباه باعث بوجود آمدن حجم عظیمی از داده های اشتباه  هم در مر حله ی آموزش  و هم در مرحله ی آزمایش [^testing] می شود .  برای رفع این مشکل در این مقاله از توجه انتخابی با تاکید بر جملات اشتباه [^selective attention to de-emphasize the noisy sentence] استفاده شده است . از این رو وزن آلفا با استفاده از فرمول زیر تعریف می شود :

![فرمول شماره 7](https://www.dropbox.com/s/z0m070te2wcpo6n/46.png?dl=1)

در فرمول فوق ei یک تابع جست و جوی پایه[^query-base function] است که بوسیله ی امتیازی[^score] که می دهد مشخص می کند جمله ی ورودی Xi و رابطه ی پیش بینی شده ی r چقدر باهم تطابق دارند . eiاینگونه محاسبه می شود :

![فرمول شماره 8](https://www.dropbox.com/s/agj1v4fu6j4ugd7/47.png?dl=1)

در فرمول فوق A یک ماتریس قطری وزن دهی شده است و r بردار جست و جوی[^query vector] مربوط به رابطه ی r است که نمایش رابطه ی r را نشان می دهد .در نهایت  احتمال شرطی (p(r|S,θ بوسیله ی لایه ی softmax به شکل زیر محاسبه می شود:

![فرمول شماره 9](https://www.dropbox.com/s/rrqa108i2hjjgzz/48.png?dl=1)

در فرمول فوق nr ، تعداد کل رابطه ها را مشخص می کند و o خروجی نهایی شبکه عصبی است که برابر است با امتیاز تعلق مجموعه S به رابطه ی مورد نظر ، به عنوان نمونه or نشان دهنده ی امتیاز تعلق مجموعه ی S به رابطه ی r است . o  به این شکل تعریف می شود 
:
![فرمول شماره 10](https://www.dropbox.com/s/ekd3sjmrdkou1r9/49.png?dl=1)

در فرمول فوق d یک بردار تبعیض[^bias vector] است و M ماتریس نمایش رابطه هاست.
در مقاله ی [25] فرض شده که حداقل یک جفت از entity های موجود در متن ، رابطه ی موجود بین خود در پایگاه دانش را بیان خواهند کرد . در مجموعه ی آموزش فقط از جملات با احتمال بالا استفاده می شود .از این رو ، روشی که نویسندگان این مقاله برای یادگیری چند نمونه ای[^multi-instance learning] در پیش گرفتند می تواند به عنوان یک مورد خاص در این مقاله مورد استفاده قرار گیرد ، به این صورت که وزن جملات با احتمال بیشتر 1 در نظر گرفته شود و وزن مابقی جملات 0 .

## بهینه سازی [^/optimization]و جزئیات توسعه[^Implementation details]

در این قسمت جزئیات بیشتری از شیوه ی  بهینه سازی و یادگیری استفاده شده در این مقاله معرفی می شود . تابع هدف [^objective function] که از تقاطع آنتروپی [^cross-entropy] استفاده می کند ، به شکل زیر تعریف می شود :

![فرمول شماره 11](https://www.dropbox.com/s/7mq26jn6uf9d0ve/50.png?dl=1)

در فرمول فوق s نشان دهنده ی تعداد جملات موجود در مجموعه ی S است و θ  نشان دهنده ی تمام مولفه [^parameter] های به کار رفته در مدل معرفی شده در این مقاله است .برای حل مسئله ی بهینه سازی از شیوه ی کاهش تصادفی شیب[^stochastic gradient descent]  یا SGD برای حداقل [^minimum] سازی تابع هدف استفاده شده است .برای مرحله ی یادگیری در یک دوره ی متناوب تا موقع رسیدن به نقطه ی همگرایی(بهینه) ، به صورت تصادفی [^random] دسته ی کوچکی از مجموعه ی یادگیری انتحاب می شود .  در بخش توسعه ی این مقاله برای جلوگیری از یادگیری بیش از حد [^overfitting] همانند آنچه در مقاله ی [18] استفاده شده است از حذف کننده ی تصادفی [^dropout] در لایه ی خروجی  استفاده شده است .

#آزمایشات [^Experiments]

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

##دادگان و معیار های ارزیابی

مدل معرفی شده در این مقاله بر روی  یک دادگانی  پر استفاده که در مقالات [15,12,20] هم از آن استفاده شده است مورد ارزیابی قرار گرفته است .این دادگان بوسیله ی نسبت دادن رابطه های موجود در Freebase به متون خبرگذاری نیویورک تایمز [^New York Times]   یا به اختصار NYT ساخته شده است . ّFreebase یک پایگاه دانش است که مجموعه ی بزرگی از جفت موجودیت ها و رابطه ی بینشان را در خود جای داده است . روال کار برای استفاده از متون خبرگذاری نیویورک تایمز و پایگاه دانش Freebase به این صورت است که موجودیت های موجود در متون نیویورک تایمز  بوسیله ی ابزار **Standford named entity tagger ** برچسب گذاری می شوند . بعد موجودیت های مشخص شده در متن با موجودیت های موجود در پایگاه دانش Freebase  منطبق می شوند ، یعنی از میان آن موجودیت های متن فقط آن دسته از موجودیت ها که در پایگاه دانش Freebase وجود دارند در آزمایشات لحاظ می شوند .روابط موجود در پایگاه دانش Frebase به دو بخش تقسیم می شوند ، یک بخش برای مجموعه یادگیری و یک بخش برای مجموعه ی آزمایش در نظر گرفته می شود .همچنین متون خبرگزاری نیویورک تایمز در حدود سال های 2005 تا 2006 برای مجموعه ی آموزش و متون مبوط به سال 2007 همین خبرگذاری برای مجموعه ی آزمایش در نظر گرفته می شود . 

در پایگاه دانش Freebase ،پنجاه و سه نوع مختلف رابطه وجود دارد که یکی از آنها با عنوان NA به معنی رابطه نداشتن دو موجودیت مورد بحث است .  مجموعه آموزش شامل 512611 جمله ، 281270 جفت موجودیت و 18252 رابطه ی حقیقی  است . همچنین مجموعه آزمایش شامل 172448 جمله ،96678 جفت موجودیت و 1950 رابطه ی حقیقی است .

مانند آنچه در مقاله [13] انجام شده است برای ازریابی مدل معرفی شده در این مقاله از شیوه ی ازریابی held-out  استفاده می شود . این شیوه مدل این مقاله را به این صورت  مورد ارزیابی قرار می دهد که رابطه های کشف شده در مجموعه ی آزمایش را با رابطه های موجود در پایگاه دانش Freebase مقایسه می کند . در واقع شیوه ی held-out ، بدون صرف نیروی انسانی تخمینی از صحت پیش بینی رابطه ها رائه می دهد .


##تنظیمات آزمایش :

###جاسازی کلمات :

در این مقاله از ابزار word2vec  برای جاسازی کلمات در متون خبرگذاری نیویورک تایمز استفاده شده است.[^http://code.google.com/p/word2vec]
در این مقاله کلماتی که بیش از 100 بار تکرار شده اند به عنوان لغت نامه [^vocabulary] در نظر گرفته می شوند . همچنین در این مقاله موجودیت هایی که از چندین کلمه تشکیل شده اند ، کلماتشان با هم ترکیب می شود .

###تنظیمات مولفه ها :

پیرو کار هایی که در مقالاتی که پیش از این مقاله ارائه شده اند انجام شده است ، در این مقاله از مدل اعتبار سه گانه [^three-fold validation] روی مجموعه ی آموزش استفاده شده است . نرخ یادگیری [^learning rate]  های به کار رفته در این مقاله عبارتند از {0.1,0.01,0.001,0.0001} و اندازه ی پنجره کشویی های (L) به کار رفته نیز عبارتند از {8, ... 1,2,3}  و نیز اندازه دسته [^batch size] های به کار رفته در مقاله عبارتند از {40,160,640,1280} . برای سایر مولفه ها هم به علت تاثیر ناچیز بر روی نتیجه ، بدون تغییر از همان مولفه هایی که در مقاله [24] منظور شده است ، استفاده شده است . برای آموزش ، تعداد تکرار برای همه ی مجموعه ی آموزش ، 25 در نظر گرفته شده است  . به طور کلی در جدول زیر تمام مولفه های استفاده شده در تمام آزمایشات نشان داده شده اند :

 ![جدول 1](https://www.dropbox.com/s/6ttsl120w1rdh80/Screenshot%20%28187%29.png?dl=1)

##تاثیر توجه انتخابی در سطح جمله :

برای اینکه تاثیر این مدل نسبت با سایر مدل ها نشان داده شود ، نتایج حاصل از ارزیابی این مدل و مدل های دیگر که همگی با مدل held-out ارزیابی می شوند  نمایش داده می شود . در آزمایشات برای شبکه ی کانکلوشن مورد استفاده در بخش رمز نگار جمله که پیشتر راجع به آن توضیح داده شد  ، هم از مدل شبکه ی کانولوشن استفاده شده در مقاله ی [24] با عنوان CNN استفاده شده است و هم از مدل شبکه کانولوشن به کار رفته در مقاله ی [25] با عنوان PCNN . سپس عملکرد هر دو این مدل ها روی 3 شیوه ی مختلف ATT ، AVE ، ONE مورد مقایسه قرار می گیرد . منظور از ATT همان شیوه ی توجه در سطح جمله است که در مورد فرمول 5 توضیحاتش ارائه شد . منظور از AVE هم همان شیوه ای است که در بخش مربوط به فرمول 6 شرح داده شد . و منظور از مدل ONE مدلیست با عنوان "در حداقل یکی یادگیری چند نمونه "[^at-least-one multi-instance learning]  که در مقاله ی [25] از آن استفاده شده است . 

![نمودار صحت/فراخوانی برای موقعی که از شبکه ی CNN برای رمزگذار جمله استفاده شده باشد](https://www.dropbox.com/s/qqurnmmqoiwyh2g/51.png?dl=1)

![نمودار صحت/فراخوانی برای موقعی که از شبکه یPCNN برای رمزگذار جمله استفاده شده باشد](https://www.dropbox.com/s/ug8mcyktek1dytm/52.png?dl=1)

از نمودار های فوق نتایج ذیل حاصل می شود : 

1.در هر دو مدل CNNو PCNN شیوه ی ONE عملکرد بهتری دارد که دلیل آن این است که در مدل پایه ی  یادگیری با نظارت دور مجموعه ی یادگیری شامل مقدار زیادی داده ی اشتباه است و و این داده های اشتباه به عملکرد استخراج رابطه صدمه ی جدی می زنند . 

2.در هر دو مدل CNNو PCNN  روش AVE طبق آنچه در نمودار ها ملاحظه می شود مفید است که ، این مطلب موید سودمندی ملاحظه ی بیش از یک جمله در عمل استخراج رابطه است چون باعث کاهش تاثیر اشتباهات [^noises]  می شود .

3.در هر دو مدل CNNو PCNN شیوه ی AVE عملکردی شبیه به شیوه ی ONE  دارد . این مطلب نشان دهنده ی این موضوع است که با وجود اینکه شیوه ی AVE ،  از اطلاعات بیش از یک جمله بهره می برد اما وزن (ارزش) هر جمله را برابر در نظر می گیرد و چون این اطلاعات شامل اطلاعات اشتباه حاصل از عمل برچسب دهی اشتباه هستند پس به احتمال زیاد این حجم از اطلاعات اشتباه به عملکرد استخراج رابطه آسیب خواهند زد . 

4.در هر دو مدل CNNو PCNN ، شیوه ی ATT در همه ی محدوده های فراخوانی [^recall]  به بالاترین [^precision] نسبت به سایر روش ها دست می یابد .این موضوع نشان دهنده ی مفید بودن  شیوه ی توجه انتخابی  است . بدین معنی که این شیوه هم  می تواند تاثیر جملات بی معنی را کاهش دهد و  هم تاثیر مشکل برچسب دهی اشتباه را تسکین دهد .

## تاثیر تعداد جمله [^Sentence Number]

در مجموعه داده ی اصلی مورد استفاده در این مقاله 74857 جفت موجودیت وجود دارد که متناظر با فقط یک جمله است  ، یعنی تقریبا 3/4  از کل موجودیت ها متناظر با فقط یک جمله ی خاص اند . این مطلب قطعا به  عمل استخراج رابطه آسیب می زند . به این دلیل که برتری مدل ارئه شده در این مقاله در جایی که یک جفت موجودیت در بیش از یک جمله حضور دارند  نمو پیدا می کند ، عملکرد مدل رائه شده در مورد جفت موجودیت هایی که  در بیش از یک نمونه (جمله) حضور دارند مورد بررسی قرار می گیرد . در ادامه 3 روش CNN/PCNN ONE  ،  CNN/PCNN AVE  و  CNN/PCNN ATT  را با 3 نوع تنظیمات زیر مورد بررسی قرار می دهیم :

+ یک[^One] : در این شیوه برای هر جفت موجودیت به صورت تصادفی فقط یک عدد  از جملات شامل این جفت موجودیت را انتخاب می شودو عمل پیش بینی  رابطه در مورد آن انجام می شود.

+ دو[^Two] :در این شیوه برای هر جفت موجودیت به صورت تصادفی فقط دو عدد  از جملات شامل این جفت موجودیت را انتخاب می شودو عمل پیش بینی  رابطه در مورد آن انجام می شود.

+ همه[^All] :در این شیوه برای هر جفت موجودیت همه ی  جملات شامل این جفت موجودیت را انتخاب می کنیم و عمل پیش بینی  رابطه را در مورد آن ها انجام می دهیم .

  ![جدول شماره 2](https://www.dropbox.com/s/zbsm0n9d9idor0y/Screenshot%20%28149%29.png?dl=1)

  توجه شود هر سه شیوه ی معرفی شده در بالا یعنی روش های "یک"،"دو"و "همه" برای مرحله ی آزمایش اند و برای مرحله ی آموزش از تمام جملات استفاده می شود .
 از روی جدول فوق اطلاعات زیر نتیجه گرفته می شود :

1.برای هر دو شبکه ی کانکلوشن CNN و PCNN ، مدل ATT  عملکردی بهتری را نسبت به دو مدل دیگر خواهد داشت که این مطلب نشان دهنده ی تاثیر شیوه ی توجه انتخابی در سطح جمله برای یادگیری چند نمونه ای را نشان می هد .

2.در هر دو شبکه کانکلوشن CNN و PCNN مدل AVE در شیوه ی one تقریبا عملکرد یکسانی با مدل ATT دارد اما به تدریج با افزایش تعداد جملاتی که باید برای هر جفت موجودیت در نظر گرفته شود عملکرد AVE نه تنها بهبود نمی یابد ، بلکه در حرکت از P@100 به P#@200 کاهش هم می یابد . که دلیل این مسئله  به دو مشکل باز میگردد ، یک اینکه  مدل AVE وزن یکسانی به هر جمله می دهد ، دو اینکه هر چه تعداد جملاتی که برای هر جفت موجودیت در نظر گرفته می شود بیشتر شود ، بر حجم اطلاعات اشتباهی که حاصل مشکل برچسب دهی اشتباه هستند افزوده شده و این 2 مشکل تاثیر منفی خود را روی کار استخراج رابطه می گذارد .

3. مدل CNN+AVE و CNN-ATT در شیوه ی one هر کدام به ترتیب 5%  و  8% عملکرد بهتری نسبت به مدل CNN-ONE دارند که با توجه به اینکه شیوه ی آزمایش one  است و در این شیوه ی آموزش فقط یکی از جمات حاوی جفت موجودیت مورد نظر در کار آزمایش دخیل است ، پس نتیجه می گیریم که تنها فرق بین این 3 مدل ، شیوه ی آموزش آنهاست . این مسئله نشان می دهد که هر چه از جملات بیشتری برای آزمایش استفاده کنیم ، حجم بیشتری از اطلاعات را خواهیم داشت حال آنکه این حجم بیشتر اطلاعات با خود حجم زیادی از اطلاعات با برچسب اشتباه را هم خواهد آورد . 

4.برای هر دو شبکه کانکلوشن CNN و PCNN ، مدل ATT نسبت به دو مدل دیگر به ترتیب 5% و 9% بهتر عمل می کند . که این مسئله نشان از این موضوع دارد که هر چه اطلاعات مفید بیشتری به مدل داده شود ، عمل استخراج رابطه بهتر انجام می شود . 

##قیاس مدل مقاله با مدل های مبتنی بر ویژگی ها

![شکل4-قیاس عملکر مدل پیشنهادی مقاله با روش های سنتی استخراج رابطه](https://www.dropbox.com/s/ykwy7rcin8khxq0/Screenshot%20%28189%29.png?dl=1)

لازم به ذکر است منظور از مدل های مبتنی بر ویژگی ها ،مدل هایی هستند که با ویژگی هایی طراحی شده توسط انسان . به منظور ارزیابی مدل ارائه شده در مقاله ، مدل مقاله با  روش های ارائه شده ی زیر که همگی مبتنی بر ویژگی هستند و از شیوه ی ارزیابی held-out استفاده می مقایسه می شود  :

[13] ، این شیوه  از همان روش یادگیری دور سنتی استفاده می کند .
[12]،یک مدل احتمالاتی و گرافی برای یادگیری چندنمونه ای ارائه می دهد که روابط همپوشان را مدیریت کند .
[20]،از هر دو مدل چند نمونه ای و چند رابطه ای  با هم استفاده می کند .

هر سه شیوه ی ارائه شده در سه مقاله ی فوق توسط کدی که نگارنده های این مقالات منتشر کرده اند پیاده سازی شده است .

اطلاعات موجود در شکل 4 را اینگونه می توان تفسیر کرد :

1. مدل CNN/PCNN+ATT به شدت از مدل های مبتنی بر ویژگی در همه ی محدوده های فراخوانی  بهتر عمل می کند . عملکرد مدل های مبتنی بر ویژگی زمانی که فراخوانی بیش از 0.1 می شود بشدت افت می کند در حالی که مدل معرفی شده در مقاله عملکرد بسیار قابل قبولتری نسبت این مدل ها دارد . این مسئله بیانگر این موضوع است که ویژگی های ساخته دست انسان نمی توانند به خوبی بیانگر معنای جملات باشند  و  همچنین خطاهای ناشی ابزرا های پردازش زبان های طبیعی هم باعث آسیب رسیدن به عملکرد عمل استخراج رابطه می شوند ، این در حالیست که مدل CNN/PCNN+ATT که نمایش هر جمله را یاد میگیرد می تواند به صورت خودکار [^automatic] به خوبی هر جمله را بیان کند . 

2. بنا بر شکل می توان متوجه شد که عملکرد PCNN+ATT به مراتب بهتر از CNN+ATT است . 

![جدول3-چند نمونه از شیوه ی توجه انتخابی در متن نیویورک تایمز](https://www.dropbox.com/s/ayxmz7fh2dqqyik/53.png?dl=1)

##مطالعه موردی

جدول 3 دو نمونه از توجه انتتخابی از مجموعه آزمایش را نشان می دهد . برای هر یک از دو رابطه ی کارفرما بودن[^employ_of] و مکان تولد ، جملات با بیشترین[^highest]  و کمترین[^lowest]  توجه وزن[^attention weight] آورده شده است . جفت موجودیت های مورد بحث در  هر کدام از این دو رابطه هم به صورت پر رنگ [^bold]  نمایش داده شده اند .  

از جدول 3 موراد زیر دریافت می شود :

در مثال مربوط به رابطه ی کارفرما بودن ، جمله ی با توجه وزن کم[^low] ، رابطه ی بین دو موجودیت مورد نظر را بیان نمی کند . در حالی که جمله ی با توجه وزن زیاد [^hight] ، نشان می دهد که فردی با نام " مل کارمازین "[^Mel Karmazin]  رئیس اجرایی ماهواره ی رادیویی سیریوس [^Sirius Satellite Radio] است . در مثال مربوط به رابطه ی مکان تولد ، جمله ی با توجه وزن کم بیان می کند که فردی به نام هفلیگر[^Ernst Haefliger] مرده است در حالی که جمله ی با  توجه وزن زیاد اشاره به متولد او دارد .

#پیچیدگی و کار های آینده

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

نویسندگان مقاله اعلام می دارند که در آینده قصد دارند مسیر های زیر را بررسی نمایند :

- ترکیب کردن مدل ارائه شده در مقاله با یادگیری چند نمونه ای با شبکه های عصبی از طریق توجه انتخابی در سطح نمونه[^instance-level selective attention] . البته این روش می تواند در کارها جز عمل استخراج رابطه از طریق یادگیری دور هم مورد استفاده قرار گیرد . نوسیندگان مقاله اعلام می دارند که قصد دارند ، امکان استفاده از مدل خود را در سایر حوزه ها مانند طبقه بندی متن [^text categorization] نیز بررسی کنند .
- شبکه ی کانکلوشن یکی از شبکه های عصبی موثر برای عمل استخراج عصبی رابطه[^neural relation extraction] هاست . محققین زیادی شبکه های عصبی دیگری را هم برای عمل استخراج رابطه پیشنهاد داده اند . در آنده نویسندگان مقاله قصد دارند  روش [^technique] توجه انتخابی در سطح نمونه را مدل های معرفی شده توسط محققین دیگر برای عمل استخراج رابطه ترکیب کنند .


| نام    | نام خانوادگی | شماره دانشجویی  |
|:----------|:------------------:|:------------------:|
| رضا      |          مرادی         |          96722189         |


#K-fold cross validation after

   [1]S¨oren Auer, Christian Bizer, Georgi Kobilarov, Jens Lehmann, Richard Cyganiak, and Zachary Ives. 2007. Dbpedia: A nucleus for a web of open data.Springer.
   [2]Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio.2014. Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473.
   [3]Yoshua Bengio. 2009. Learning deep architectures for ai. Foundations and trends R in Machine Learning,
2(1):1–127.
[4]Kurt Bollacker, Colin Evans, Praveen Paritosh, Tim Sturge, and Jamie Taylor. 2008. Freebase: a collaboratively
created graph database for structuring human knowledge. In Proceedings of KDD, pages
1247–1250.
[5]Razvan Bunescu and Raymond Mooney. 2007. Learning to extract relations from the web using minimal
supervision. In Proceedings of ACL, volume 45,page 576.
[6]Jan Chorowski, Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2014. End-to-end continuous speech recognition using attention-based recurrent nn: first results. arXiv preprint arXiv:1412.1602.
[7]Ronan Collobert, Jason Weston, L´eon Bottou, Michael Karlen, Koray Kavukcuoglu, and Pavel Kuksa.2011. Natural language processing (almost) from scratch. JMLR, 12:2493–2537.
[8]Thomas G Dietterich, Richard H Lathrop, and Tom´as Lozano-P´erez. 1997. Solving the multiple instance problem with axis-parallel rectangles. Artificial intelligence,
89(1):31–71.
[9]Cıcero Nogueira dos Santos and Maıra Gatti. 2014.Deep convolutional neural networks for sentiment analysis of short texts. In Proceedings of COLING.
[10]Cıcero Nogueira dos Santos, Bing Xiang, and Bowen Zhou. 2015. Classifying relations by ranking with convolutional neural networks. In Proceedings of ACL, volume 1, pages 626–634.
[11]Jenny Rose Finkel, Trond Grenager, and Christopher Manning. 2005. Incorporating non-local information into information extraction systems by gibbs sampling. In Proceedings of ACL, pages 363–370. Association for Computational Linguistics.
[12]Raphael Hoffmann, Congle Zhang, Xiao Ling, Luke Zettlemoyer, and Daniel SWeld. 2011. Knowledgebased
weak supervision for information extraction of overlapping relations. In Proceedings of ACLHLT,pages 541–550.
[13]Mike Mintz, Steven Bills, Rion Snow, and Dan Jurafsky.2009. Distant supervision for relation extraction
without labeled data. In Proceedings of ACLIJCNLP,pages 1003–1011.
[14]Volodymyr Mnih, Nicolas Heess, Alex Graves, et al.2014. Recurrent models of visual attention. In Proceedings
of NIPS, pages 2204–2212.
[15]Sebastian Riedel, Limin Yao, and Andrew McCallum.2010. Modeling relations and their mentions without
labeled text. In Proceedings of ECML-PKDD,pages 148–163.
[16]Richard Socher, Brody Huval, Christopher D Manning,and Andrew Y Ng. 2012. Semantic compositionality
through recursive matrix-vector spaces. In Proceedings of EMNLP-CoNLL, pages 1201–1211.
[17]Richard Socher, John Bauer, Christopher D Manning,and Andrew Y Ng. 2013. Parsing with compositional
vector grammars. In Proceedings of ACL.Citeseer.
[18]Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky,Ilya Sutskever, and Ruslan Salakhutdinov. 2014.
Dropout: A simple way to prevent neural networks from overfitting. JMLR, 15(1):1929–1958.
[19]Fabian M Suchanek, Gjergji Kasneci, and Gerhard Weikum. 2007. Yago: a core of semantic knowledge.
In Proceedings of WWW, pages 697–706.ACM.
[20]Mihai Surdeanu, Julie Tibshirani, Ramesh Nallapati, and Christopher D Manning. 2012. Multi-instance
multi-label learning for relation extraction. In Proceedings of EMNLP, pages 455–465.
[21]Ilya Sutskever, Oriol Vinyals, and Quoc V Le. 2014.Sequence to sequence learning with neural networks.
In Proceedings of NIPS, pages 3104–3112.
[22]Ruobing Xie, Zhiyuan Liu, Jia Jia, Huanbo Luan, and Maosong Sun. 2016. Representation learning of
knowledge graphs with entity descriptions.
[23]Kelvin Xu, Jimmy Ba, Ryan Kiros, Aaron Courville,Ruslan Salakhutdinov, Richard Zemel, and Yoshua
Bengio. 2015. Show, attend and tell: Neural imagecaption generation with visual attention. Proceedings of ICML.
[24]Daojian Zeng, Kang Liu, Siwei Lai, Guangyou Zhou,and Jun Zhao. 2014. Relation classification via convolutional
deep neural network. In Proceedings of COLING, pages 2335–2344.
[25]Daojian Zeng, Kang Liu, Yubo Chen, and Jun Zhao.2015. Distant supervision for relation extraction via
piecewise convolutional neural networks. In Proceedings of EMNLP.