۱. مقدمه

در تحقیقات بسیاری در گذشته، از semantic vector space یا فضاهای برداری معنایی برای نمایش تک کلمات استفاده می شد و به عنوان ویژگی در نظر گرفته می شد. از اشکالات این نحوه ی نمایش این است که قابل بسط به ترکیب چندین semantic (معنا) نبودند. در بسیاری از سیستم ها تنها به تک تک کلمات و مثبت یا منفی بودن هر کلمه توجه می شود و نهایتا با برآیند گیری، بار کلی عبارت یا جمله مشخص می گردد. در این موارد، به ترتیب بیان شدن کلمات اهمیت داده نمی شود و از دقت تشخیص بار عبارت می کاهد. با توجه به این موضوع، مدل های ترکیبی از فضای بردار معنی کلمات، برای کاربردهای جملات و عبارات بزرگتر مورد توجه قرار گرفت. از مشکلاتی که امروزه در بررسی این مدل ها وجود دارد، محدودیت در داشتن منابع بزرگ و برچسب دار داده های ترکیبی در این حوزه میباشد. در راستای رفع این مشکل، در این مقاله منابع داده ی Stanford Sentiment Treebanks و شبکه ی Recursive Neural Tensor Network یا (RNTN) معرفی شده است که موفق به تشخیص معنای یک مجموعه ی متن با دقت بالایی شده است.

۲. داده

در این مقاله از داده های Stanford Sentiment Treebaks استفاده شده است که مجموعه ای از ۱۱۸۵۵ تک جمله میباشد که از نظرات کاربران برای فیلم ها برداشته شده است و توسط Stanford parser تجزیه شده است. این مجموعه داده شامل ۲۱۵۱۵۴ عبارت یکتا از درخت های پارس اشاره شده میباشد که هر کدام توسط سه نیروی انسانی تفسیر و تایید شده است. Stanford Sentiment Treebank اولین مجموعه داده ایست که شامل درخت های پارس به طور کامل برچسب زده شده میباشد و می توان از آن ها برای تحلیل ترکیبات معنی استفاده کرد. داده های آموزش هم که بانک درخت می باشند در این آدرس آمده است.

۳. شبکه

در این مقاله مدل یادگیری عمیق نمایش کل جمله را بر اساس ساختار جمله ایجاد می کند و احساس و بار جمله را بر اساس اینکه چگونه کلمات در کنار هم معنی ساختار بزرگتر جمله را تشکیل می دهند تشخیص می دهد.
برای تشخیص بار معنایی ترکیبی یک عبارت، مدل RNTN معرفی شده است. ورودی این شبکه عبارات با طول های متفاوت است که هر عبارت بوسیله ی بردارهای کلمات تشکیل دهنده ی آن و یک درخت پارس ارائه می شود و بردار گره های بالاتر درخت از روی گره های برگ و به صورت سلسله مراتبی با استفاده از همان تابع ترکیبی tensor-based بدست میاید. نتایج حاصل از این شبکه را با نتایج بسیاری از مدل های ترکیبی با ناظر مانند شبکه ی عصبی استاندارد (RNN)، شبکه ی عصبی مبتنی بر ماتریکس و مدل هایی که ترتیب کلمات را در نظر نمیگیرند، مانند Naive Bayse و SVM، مقایسه کردیم و شبکه ی RNTN زمانیکه fined-grained sentiment (تشخیص احساس و بار معنایی جمله در یک سیستم پنج کلاسه شامل خیلی منفی، منفی، تا حدودی منفی، خنثی، تا حدودی مثبت، مثبت، خیلی مثبت که در تصویر ۱ نشان داده شده است.) را برای تمامی گره ها محاسبه میکرد، از تمام مدل های دیگر با دقت بالاتری به اندازه ی 80.7% عمل کرد. با همین سیستم روی داده های آزمون، کلاس بندی دو کلاس مثبت و منفی انجام شد و بر خلاف مدل های bag of words با دقت خوبی مثبت و منفی بودن جملات را تشخیص می دهد. این سیستم هم چنین این قابلیت را دارد که بار احساسی و معنایی جملاتی که در آن ها لغت but به کار برده شده است را تشخیص دهد.
اطلاعات مربوط به پروژه و داده های آن در این آدرس قرار دارد.

۴. کارهای مرتبط

از کارهای مرتبط با این مقاله می توان به پنج حوزه ی تحقیقاتی NLP اشاره کرد که در ادامه به آن ها میپردازیم:

5. semantic vector spaces

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

6. compositionality in vector space

اکثریت الگوریتم های ترکیبیاتی و داده های مربوطه با استفاده از ترکیب دوتایی کلمات، شباهت و معنای آن ها را بررسی میکنند و این کار را از طریق عملیات ضرب و جمع بین بردارهای کلمات انجام میدهند. از نمونه روش های دیگر می توان به محاسبه ی نمایش برداری عبارات بلندتر و تعریف ترکیب با ضرب ماتریس ها اشاره کرد. هم چنین در روشی دیگر سه تایی فاعل، فعل و مفعول را تعریف کرده اند و با یک مدل مبتنی بر ماتریس آن ها را با تفسیرهای انسانی تطبیق داده اند. در این مقاله به طور خاص شبکه ی RNTN را با مدل های ترکیبی با ناظر شامل شبکه ی عصبی بازگشتی (RNN) و شبکه ی عصبی بازگشتی مبتنی بر ماتریس که هر دو روی داده های bag of words اعمال شده اند مقایسه کرده است.

7. Logical Form

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

8. Deep Learning

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

9. Semantic Analysis

در کناز تمام مواردی که برای تشخیص و تحلیل احساس و بار معنایی جملات و عبارات استفاده شد، بسیاری از روش ها از نمایش bag of words استفاده می کنند.

10. Stanford Sentiment Treebank

بکارگیری روش bag of words در متون و مستندات بلند، با تاکید بر تعداد کمی کلمات با بار معنایی قوی (مثبت یا منفی) می تواند به خوبی عمل کند، در حالی که تشخیص بار معنایی تک جملات، حتی در دسته بندی دو کلاسه ی مثبت و منفی، تاکنون نتوانسته دقتی بیش از ۸۰ درصد داشته باشد. در حالتی که تعداد کلاس ها بیشتر هم باشد، برای نمونه شامل برچسب خنثی، این روش با دقتی حداکثر زیر ۶۰ درصد عمل کرده است. برای تشخیص و تحلیل جملات و نمونه های سخت تر نمی توان ترتیب ظهور کلمات را در نظر نگرفت،‌ این در حالی است که در بعضی از روش ها مانند استفاده از bag of words این معیار مهم دخیل نیست. در این مقاله روی داده ی Semantic Treebank تحلیل و بررسی انجام شده است و برای تمام عبارات در مجموعه ی جملات پایگاه داده برچسب وجود دارد و به آموزش و ارزیابی کمک کرده است.
پایگاه داده ی مورد استفاده در این مقاله از نظرات کاربران در مورد فیلم ها از سایت rottentomatoes.com توسط متخصصان برداشته شده است و شامل ۱۰۶۶۲ جمله، نیمی مثبت و نیمی منفی، میباشد. این جملات از متون بزرگتر و پس از پیش پردازش به صورت مرتب استخراج شده اند و بار احساسی و معنایی آن ها با توجه به بار معنایی متن کلی در نظر گرفته شده است. تمام جملات توسط Stanford Parser تجزیه شده است و برچسب گذاری عبارات استخراج شده از جملات از دسته بندی شامل ۲۵ درجه بندی مانند شکل ۱ استفاده شده است که ۵ مقدار اصلی خیلی منفی، منفی، تا حدودی منفی، خنثی، تا حدودی مثبت، مثبت و خیلی مثبت را شامل می شود. در شکل زیر توزیع نرمال سازی شده ی برچسب جملات بر حسب طول آن ها (n-gram) مشاهده می شود.

مواردی که در تحلیل جملات پایگاه داده مشاهده شده است شامل اطلاعات زیر است: بسیاری از جملات می توانkد خنثی در نظر گرفته شوند. هم چنین جملاتی که بار معنایی قوی تر و جهت دهی شده تری دارند، معمولا از متون بلند تری استخراج شده اند و بیشتر جملات کوتاه خنثی هستند. برچسب بیشتر جملات از موارد منفی، تا حدودی منفی، خنثی، تا حدودی مثبت و مثبت است و جملات با بار معنایی شدید (خیلی منفی و خیلی مثبت) به ندرت استفاده شده اند. بنابراین کلاس بندی جملات را به همین ۵ کلاس محدود کردند که بار معنایی جملات را به خوبی می تواند منتقل کند. به این دسته بندی ۵ کلاسه fine-grained sentiment classification گفته شده است. در این مقاله بررسی ها روی این ۵ برچسب روی جملات با طول های متفاوت انجام و تعریف شده است.

11. Recursive Neural Models

در این مدل، برای عبارات با طول ها و بار معنایی و احساسی متفاوت، نمایش برداری ترکیبی محاسبه می گردد و سپس به عنوان ویژگی برای کلاس بندی هر عبارت مورد استفاده قرار می گیرد. هر عبارت با طول n، یا n-gram، به یک مدل ترکیبی درخت باینری داده میشود که هر برگ یک کلمه میباشد و با نمایش برداری ارائه می گردد. سپس به صورت buttom-up یا از پایین به بالا، گره های پدر که بالاتر قرار دارند با توابع ترکیبی متفاوت محاسبه میگردند و ویژگی های این گره ها نیز برای کلاس بندی به classifier داده میشود. نمایشی از مدل ترکیبی درخت باینری برای یک عبارت به طول ۳ در تصویر زیر مشاهده می شود.


عملیات هایی که در این مدل ترکیبیاتی مشترک میباشد شامل نمایش برداری کلمات و کلاس بندی می باشد. هر کلمه یک بردار d تایی است که مقدار اولیه ی آن به صورت تصادفی از توزیع یکنواخت
U(-r, r) , r = 0.0001
انتخاب می شود. بردارهای تمام کلمات به صورت پشته مانند، در یک ماتریس L به طوریکه

قرار می گیرند که |V| تعداد کل کلمات میباشد. مقداردهی ابتدایی رندم است، اما ماتریس L را به عنوان پارامتر با مدل ترکیبی موجود می توان آموزش داد. همینطور می توان از بردارهای لغت به عنوان پارامتری برای بهینه سازی و به عنوان ویژگی های ورودی به رده بند softmax استفاده کرد.
برای رده بندی به ۵ کلاس، احتمال شرطی بر حسب برچسب ها را از روی بردار کلمه با رابطه ی زیر بدست آورده است:

که Ws برداری به ابعاد sXd است که ماتریس رده بندی معانی میباشد. این احتمال برای تمام کلمات یا برگ ها در ابتدا محاسبه می شود. برای مثال در نمونه ای که آورده شده است برای a,b و c. تفاوت اصلی بین مدل ها، محاسبه ی بردار زیر به صورت پایین به بالا میباشد.

12. RNN: Recursive Neural Network

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


تابع fرا برابر tanh که یک تابع عنصر به عنصر غیر خطی است در نظر گرفته و W

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

13. MV-RNN: Matrix-Vector RNN

ایده ای این روش این است که کلمات و عبارات با طول بلندتر را در درخت پارس با هر دو ساختار بردار و ناتریس نمایش دهیم.. زمانی که این دو ساختار نمایشی با هم ترکیب می شوند، ماتریس یکی در بردار دیگری ضرب می گردد و بر عکس، و به این ترتیب تابع ترکیبی با استفاده از کلمات تشکیل دهنده ی هر عبارت ایجاد می شود.
ماتریس اولیه ی هر کلمه، یک ماتریس واحد به اندازه ی dXd است که هر عضو آن با مقدار کوچکی از توزیع گوسی جمع شده است. همانند بردار تصادفی کلمات، پارامترهای این ماتریس ها نیز آموزش داده می شود تا خطای رده بندی را برای هر گره کاهش دهد. در این مدل هر عبارت با طول n یا n-gram به صورت لیستی از جفت های (ماتریس، بردار) همراه با درخت پارس نمایش داده میشود. براب درختی با ساختار زیر:


شبکه یعصبی بازگشتی ماتریس-بردار، برای گره ی پدر هر گره یک بردار و یک ماتریس را با استفاده از دو عملیات زیر بدست می آورد.

به طوریکه
، و حاصل یک ماتریس d X d است. این روند تا گره ی ریشه ادامه دارد و برای هر گره توسط فرزندانش محاسبه می گردد. نهایتا از بردار هر گره برای رده بندی عبارتی که آن گره ریشه ی آن است استفاده می شود.
مدل ماتریس-بردار مشکلاتی دارد که از جمله آن ها تعداد پارامترهای بسیاز زیادش است که به تعداد کل کلمات یا همان |V| بستگی دارد. وجود یک تابع ترکیبی که تعداد ثابتی پارامتر داشته باشد می تواند بسیار کمک کننده باشد. شبکه یعصبی بازگشتی استاندارد گزینه ی خوبی برای این انتخاب است. اما در این مدل بردارهای ورودی با یکدیگر از طریق توابع غیرخطی تعاملات ضمنی برقرار میکنند و وجود روابط مستقیم تر، به مدل این امکان را میدهد که بردارهای ورودی تعاملات بیشتری با یکدیگر داشته باشند.
به دنبال چنین تابعی که انتظارات مورد نظر را برآورده کند و معنی ادغام شده از ترکیب اجزای کوچکتر را به طور دقیق تری نسبت به تک تک ورودی ها درک کند، مدل جدید Recursive Neural Tensor Network یا RNTN را در این مقاله پیشنهاد دادند. ایده ی اصلی استفاده از تابع ترکیبی مبتنی بر tensor مشابه برای تمام گره هاست. تصویر زیر یک لایه ی tensor رانشان میدهد:

خروجی ضرب tensor را به صورت زیر h تعریف میکنیم :



همچنین V در رابطه ی زیر یک tensor است:

در مدل RNTN برای محاسبه ی بردار گره ی پدر p1 از رابطه ی زیر استفاده شده است:

که W همانند مدل قبل تعریف می گردد. همینطور گره ی پدر بعدی در مثال آورده شده با استفاده از رابطه ی زیر و طبق تعریف بدست میاید:

مزیت اصلی این مدل نسبت به مدل قبلی شبکه ی عصبی بازگشتی که حالت خاصی از مدل RNTN با V برابر ۰ این است که tensor میتواند ورودی ها را به صورت مستقیم به یکدیگر ارتباط دهد. به صورت شهودی هر slice از tensor را میتوانیم به عنوان دریافت نوع مشخصی از ترکیب تفسیر کنیم.
می توان یک لایه شبکه ی عصبی دوم را به مدل RNTN اضافه کنیم تا تابع ترکیبی را قدرتمند تر کنیم. با این حال آزمایش ها و تحلیل ها نشان داده است که بهینه کردن این مدل و تعاملات بینشان هنوز نسبت به RNTN ضمنی تر است.

14. Tensor Backprop through Structure

در این بخش نحوهی آموزش شبکه ی RNTN توضیح داده می شود. همانطور که قبلا هم اشاره شد، هر گره یک رده بند softmax دارد که روی نمایش برداری آن گره آموزش داده می شود تا پاسخ درست یا بردار هدف عبارت مربوط به ان گره را پیش بینی کند. فرض می کنیم توضیع بردار هدف هر گره به صورت یک بردار کد شده ی 0 و 1 است به طول C، که C تعداد کل کلاس ها میباشد و مقدار متناظر کلاس هدف برابر 1 و سایر مقادیر 0 است. هدف نهایی بیشینه کردن احتمال درست بودن پیش بینی یا کمینه کردن خطای پیش بینی است که در این مقاله از خطای cross-entropy استفاده شده است و بین توزیع پیش بینی شده ی

و توزیع هدف
در گره ی i میباشد. این به معنی کمینه کردن KL_fivergence بین دو توزیع ذکرشده است. خطای پارامترهای شبکه ی RNTN شامل
از رابطه ی زیر بدست میاید:

مشتق وزن های رده بند softmax استاندارد میباشند. xi را بردار گره ی i در نظر میگیریم (برای مثال در نمونه ی ۳تایی آورده شده
برابر
میباشد).
خطای هر گره به صورت بازگشتی به عقب توزیع می گردد. اگر
بردار خطای softmax در گره ی i باشد خواهیم داشت:

که در آن
عملیات ضرب Hadamard بین دو بردار و f' مشتق f میباشد. سایر مشتق ها فقط به صورت از بالا به پایین از ریشه به گره های برگ قابل محاسبه هستند. مشتق کامل V و W از جمع مشتق های هر گره بدست میاید. خطای هر گره i را به صورت
تعریف می کنیم. بالاترین گره ی p2 فقط خطای گره ی softmax را دارد. پس
و ما می توانیم از ان برای بدست آوردن مشتق استاندارد W استفاده کنیم. برای مشتق هر بخش k = 1, ..., d داریم :

به طوریکه
عنصر k ام این بردار است. حال می توانیم خطای دو فرزند p2 را با روابط زیر بدست آوریم:

هر کدام از فرزنددان p2 نیمی از بردار را به خود اختصاص می دهند و خطای softmax خودشان را برای سیگمای کامل اضافه می کنند. داریم :

که

نشان میدهد p1 فرزند راست p2 است و نیم دوم خطا را می گیرد و برای بردار نهایی کلمه ی مشتق a، برابر

خواهد شد. مشتق کامل برای
برای درخت عبارت ۳ تایی برابر با جمع همه ی گره هاست:
که به صورت مشابه برای W تعریف می شود.

15. Experiment

در این مقاله دو نوع تحلیل انجام شده است. نوع اول شامل تعداد زیاد و حجیمی ارزیابی کمی روی داده های آزمون است. نوع دوم روی دو پدیده ی زبانی تمرکز میکند که در بار معنایی و احساسی بسیار مهم هستند. بهترین کارایی مدل ها برای ابعاد ۲۵ تا ۳۵ بردار کلمات و batch size بین ۲۰ و ۳۰ بدست آمده است. این بدین معناست که RNTN از نظر داتشن پارامترهای بیشتر، خیلی بهتر از RNN استاندار عمل نمیکند. مدل MV-RNN از هر مدل ماتریس کلمات دیگر بیشتر پارامتر دارد.
مدل های ابتدایی حاکی از آن بود که مدل های بازگشتی زمانی که از توابع غیر خطی استفاده نکنند به طرز مشهودی بدتر عمل می کنند و به همین دلیل از تابع f = tanhاستفاده شده است. نتایج حاصل از کلاس بندی این مدل ها را با مدل هایی از روش bag of words در Naive Bayes و SVM، و همینطور مدلی که میانگین بردار کلکه را در نظر میگیرد و ترتیب کلمات را مد نظر قرار نمی دهد ، مقایسه کرده است.

جدول ۱

جملات داخل بانک درخت به ۳ بخش آموزشی شامل ۸۵۴۴ جمله، بخش dev شامل ۱۱۰۱ جمله و بخش آزمون شامل ۲۲۱۰ جمله تقسیم شده است. همینطور، کلاس بندی فقط روی دو کلاس مثبت و منفی بدون در نظر گرفتن کلاس خنثی را نیز انجام داده اند که بخشی از داده ها را فیلتر می کند.

۱۶. موارد دیگر

بررسی ها و نتایج نشان داده است که رده بندی ۵ کلاسه ی fine-grained، بهترین حالت رده بندی بار معنایی جمله است. تصویر زیر مقایسه ی بین کارایی RNTN و MV-RNN و RNN را نشان می دهد:


مدل بازگشتی روی عبارات کوتاه تر خیلی خوب عمل می کند. روش RNTN در اکثر موارد از سایر مدل ها بهتر عمل می کند. جدول ۱ دقت کلی برای پیش بینی fine-grained برای تمام طول ها و جملات کامل را نشان می دهد.
هم چنین این مدل قابلیت آموزش روی داده ها و عبارات با فرمت X but Y را نیز دارد که نمونه ای از آن در شکل زیر نسان داده شده است:

که مدل RNTNموفق به کسب دقت 41% شده است، در حالی که مدل های (MV-RNN(37), RNN(36 و مدل (biNB(27 کسب کرده اند.
از دیگر قابلیت های برتر این مدل نسبت به سایر مدل ها این است که تغییر بار (منفی کردن) جمله را چه در جملات منفی و چه در جملات مثبت با دقت خوبی تشخیص می دهد. تصویر زیر منفی کردن نمونه جملات را نشان میدهد.

هم چنین مدل RNTN نسبت به سایر مدل ها جملات با برچسب خیلی منفی و خیلی مثبت را در جملات به نسبت شدید تری تشخیص می دهد.

۱۷. نتیجه

در این مقاله مدل RNTN را روی داده های بانک درخت Stanford sentimentمعرفی کردیم. ترکیب مدل و داده های جدید باعثت افزایش دقت تشخیص احساس و بار جمله به اندازه ی 5.4% برای رده بندی دو کلاهس مثبت و نمنفی شده است. همین طور بر حسب پایگاه داده که ما با چالش های جدیدی روبرو کرد، مدل RNTN دقت کلاس بندی ۵ کلاسه ی fine-grained را به دقت 80.7% رساند و قدرت تشخیص منفی سازی جمله را نیز دارد.