بخشی از مقاله
چکیده
امروزه حجم محتوای ویدئویی موجود در اینترنت به شدت زیاد است و کاربران برای پیدا کردن ویدئوهای مورد علاقه خود مجبور به گذراندن زمان زیادی هستند. به همین دلیل از روشهای جدیدی که به منظور کاهش زمان سپری شده برای پیدا کردن ویدئوهای مورد نظرشان ارائه میشود، استقبال میکنند. با گسترش روزافزون شبکههای اجتماعی ویدئویی نیاز به وجود راهی برای کمک به کاربران در پیدا کردن ویدئوهای مورد علاقهشان بیشتر حس میشود. استفاده از پردازش زبانهای طبیعی میتواند به پیدا کردن مطالب موردنظر در حجم عظیم اطلاعات مفید باشد.
در این مقاله روشی ارائه میشود که بر اساس آن بتوان ویدئوهای موجود در یک کانال ویدئویی را بر اساس تحلیل احساسی کامنتهای ویدئوها طبقهبندی کرد. در این روش ویدئوهایی که ازنظر تحلیل احساسی کامنتها محبوبترند در رتبه بالاتری قرار میگیرند. به این صورت که هرچه تعداد کامنتهای مثبت در یک ویدئو بیشتر باشد آن ویدئو درون آن کانال و در بین ویدئوهایی که موضوع مشابهی دارند محبوبتر به نظر میرسد و با احتمال بیشتری کاربر از دیدن آن رضایت خواهد داشت. در ادامه روش انجام این کار و نتایج بهدستآمده روی یک کانال ویدئویی موجود در یک شبکه اجتماعی ویدئویی را بررسی میکنیم.
-1مقدمه
امروزه حجم محتوای ویدئویی موجود در اینترنت بسیار زیاد است و کاربران برای پیدا کردن ویدئوهای مورد علاقه خود مجبور به گذراندن زمان زیادی هستند. به همین دلیل از روشهای جدیدی که به منظور کاهش زمان سپری شده برای پیدا کردن ویدئوهای مورد نظرشان ارائه میشود، استقبال میکنند. با گسترش روزافزون شبکههای اجتماعی ویدئویی نیاز به وجود راهی برای کمک به کاربران در پیدا کردن ویدئوهای مورد علاقهشان بیشتر حس میشود.
استفاده از علم پردازش زبانهای طبیعی در شبکههای اجتماعی میتواند بهطور چشمگیری به تسهیل روند جستجو و بهدست آوردن نتایج مرتبط کمک کند. در این مقاله با استفاده از روشهای موجود در علم پردارش زبانهای طبیعی، روشی برای مرتبسازی و طبقهبندی ویدئوهای موجود در یک کانال ویدئویی در یک شبکه اجتماعی ویدئویی ارائه میشود.
روش ارائهشده در این مقاله با استفاده از تحلیل احساسی کامنتهای یک ویدئو میزان مقبولیت و محبوبیت آن ویدئو در نزد کاربران تخمین زده میشود. تحلیل احساسی شاخهای از علم پردازش زبان طبیعی است که به مطالعه نظرات، احساسات، ارزیابیها و نگرشهای مردم درباره محصولات، خدمات، و هر موضوع دیگری میپردازد.[1]
تحقیقات بسیاری در این زمینه انجامشدهاند. برای مثال یک مدل احساسی برای پیشبینی عملکرد فروش ارائه شد.[2] در یک تحقیق دیگر با استفاده از نظرات محصولات را رتبهبندی کردند.[3] احساسات در توئیتر و ارتباطش با افکار عمومی مورد بررسی قرار گرفت.[4] همچنین برای پیشبینی نتایج انتخابات از تحلیل احساسی در توئیتر استفاده شد.[5] همچنین از این علم برای مطالعه دیدگاههای سیاسی هم استفاده شده است.[6]
روشی هم برای پیشبینی حجم نظرات وبلاگها معرفی شدهاست.[7] در چند تحقیق از دادههای توئیتر، بررسی فیلمها و وبلاگها برای پیشبینی سود گیشه فیلمها استفاده شده است10]،9،.[8 از این روش برای بررسی جریان احساسات در شبکههای اجتماعی هم استفاده شده است.[11] در ایمیلها از تحلیل احساسات برای مشخص کردن تفاوت محورهای عاطفی در مردان و زنان استفاده شده است.[12]
در تحقیقی مشابه از این روش برای بررسی عواطف و احساسات در رمانها و افسانهها استفاده شده است.[13] از توئیتر و دادههای آن برای پیشبینی بازار سهام استفاده شده است.[14] تاثیرات اجتماعی در بررسیهای کتاب آنلاین هم در تحقیق دیگری بررسی شدهاند.[15] همچنین از تحلیل احساسات برای توصیف روابط اجتماعی استفاده شده است.[16] در این مقاله از جنبهای دیگر از این روش استفاده میشود و در شبکههای اجتماعی ویدئویی از تحلیل احساسات استفاده میشود.
امروزه سیستمهای به اشتراکگذاری آنلاین فیلم بهخصوص یوتیوب نشان دادهاند که ویدئو انتخاب عده زیادی از مردم برای ردوبدل کردن اطلاعات است. از سوی دیگر افزایش محتوای ویدئویی بهخصوص در یوتیوب کاربر استفادهکننده را با مقدار بیشماری از داده روبهرو میکند و فقط توسط جستجوگر معنایی چندرسانهای پیشرفته و یا فناوری مدیریت خاص میتوانند از به دست آوردن اطلاعاتی که نیازی به آنها نیست؛ جلوگیری کنند.
بیشتر موتورهای جستجوگر آنلاین، یک جستجو بر اساس کلیدواژه دارند که ابهام واژگانی زبان طبیعی معمولا باعث به دست آمدن نتایج اشتباه میشود. برای مثال یوتیوب از یک جستجو بر اساس کلیدواژه پشتیبانی میکند که روی فرادادهای که کاربر موقع به اشتراک گذاشتن ویدئو فراهم کرده است؛ جستجو میکند.[17] هدف ما استفاده از پردازش زبان طبیعی در تسهیل پیدا کردن ویدئوهای مناسب و پرطرفدار به کاربران است.
-2مفاهیم اولیه موردنیاز
در این قسمت تعدادی از مفاهیم اولیه موردبحث در مقاله شرح داده میشوند.
-1-2پردازش زبان طبیعی
پردازش زبان طبیعی یک زمینه بینرشتهای از علوم کامپیوتر، هوش مصنوعی و زبانشناسی رایانشی است که به تعاملات بین رایانهها و زبان انسانها میپردازد. بنابراین به حوزه تعاملات انسان-رایانه مربوط است. در این رشته چالشهای مختلفی وجود دارد مثل درک زبان طبیعی، فهم معنی از ورودی با زبان انسانی یا طبیعی و سایر چالشهایی که به تولید زبان طبیعی مربوط هستند. این علم در دهه 1950 بهعنوان تقاطع هوش مصنوعی و زبانشناسی آغاز شد. از پردازش زبان طبیعی برای وظایف مختلفی استفاده میشود. خلاصهسازی خودکار، ترجمه ماشینی، تولید زبان طبیعی، سیستمهای پرسش و پاسخ، تحلیل احساسی و استخراج اطلاعات ازجمله مهمترین وظایف این رشته هستند.
-2-2تحلیل احساسی
تحلیل احساسی شاخهای از علم پردازش زبان طبیعی است که به مطالعه نظرات، احساسات، ارزیابیها و نگرشهای مردم درباره محصولات، خدمات، و هر موضوع دیگری میپردازد. باوجوداینکه استفاده از علم پردازش زبان طبیعی بسیار فراگیر است اما تا قبل از سال 2000 روی نظرات مردم مطالعات بسیار کمی انجام شده است. بعدازاین زمان این مطالعات در زمینههای مختلفی انجام شدند. افراد و سازمانها با رشد انفجاری شبکههای اجتماعی - مثل بررسی فیلمها، انجمنها، وبلاگها، توییتر، نظرات و پستهای سایتهای شبکه اجتماعی - بهطور فزایندهای از محتوای این رسانهها برای تصمیمگیری استفاده میکنند.[1]
تحلیل احساسی یک مسئله پردازش زبان طبیعی است که با بسیاری از جنبههای آن مثل تحلیل مرجع ضمیر و ابهامزدایی حس کلمه سروکار دارد. ازآنجاییکه این مسائل بهطور کامل حلنشدهاند؛ سختی تحلیل احساسی بیشتر میشود. تحلیل احساسی یک مسئله محدود در این حوزه است به این معنا که سیستم نیازی به درک کل متن ندارد و فقط با شناخت کلمات مثبت و منفی و کلمات هدف آنها سروکار دارد.[1]
-3-2شبکههای اجتماعی
گسترش روزافزون استفاده از سایتهای شبکه اجتماعی، این سایتها توجهات زیادی را به خود منعطف کردهاند و از آنها به عنوان یک منببع اطلاعاتی مهم در تحقیقات زیادی استفاده شده است. به طور کلی ساختار این سایتها به این صورت است که هر فرد در آنها میتواند مطالب مورد نظر خود را به اشتراک بگذارد و از مطالب دیگران کاربران استفاده کند.
دستهبندی سایتهای شبکه اجتماعی از جنبههای مختلفی ممکن است. بعضی از آنها محوریت متنی دارند مثل توئیتر، بعضی محوریت به اشتراکگذاری عکس دارند مثل اینستاگرام و دسته سوم که در این پایاننامه موردبحث هستند بر محور به اشتراکگذاری فیلم و ویدئو هستند که بهترین مثال از این دسته سایت معروف یوتیوب است.
یوتیوب یک سایت شبکه اجتماعی بهمنظور به اشتراک گذاشتن ویدئو است. علاوه بر آن در یوتیوب ویژگیهای دیگری نظیر داشتن پروفایل شخصی، امکان ابراز علاقه یا رای دادن به یک ویدئو و همچنین نظر گذاشتن برای آنهم وجود دارد. همچنین در یوتیوب هر شخص میتواند چند کانال برای به اشتراکگذاری ویدئو با سایر کاربران داشته باشد. واژه کانال درواقع برای دستهبندی موضوعی ویدئوهای به اشتراک گذاشتهشده هر فرد استفاده میشود. به علت گسترش روزافزون استفاده از این سایت، یوتیوب سایتی غنی از اطلاعات است و تحقیقات فراوانی روی آن انجامشده است.
در این تحقیق ما از یوتیوب بهعنوان یک نمونه از شبکه اجتماعی ویدئویی موفق استفاده کردیم و الگوریتم پیشنهادی را روی یک کانال ویدئویی منتخب از یوتیوب و کامنتهای ویدئوهای آن اعمال کردیم اما بدیهی است که این الگوریتم میتواند روی هر شبکه اجتماعی دارای کامنت ازجمله شبکههای اجتماعی فارسی که آپارات یک نمونه موفق از آن است، اعمال شود.
-2طرح مسئله
امروزه حجم اطلاعات موجود در اینترنت و شبکههای اجتماعی بسیار بالاست بهطوریکه تشخیص مطالب مفید از غیرمفید بسیار سخت و وقتگیر است. به کمک تکنیکهای پردازش زبان طبیعی میتوان با پردازش متن فیلترهای هوشمندی برای تشخیص مطالب مفید از غیرمفید ایجاد کرد. یکی از تکنیکهای سودمند پردازش زبان طبیعی، تحلیل احساسات است که با استفاده از آن میتوان جهتگیری عمومی درباره یک متن را تخمین زد. در این مقاله از تکنیک تحلیل احساس برای پیدا کردن محبوبترین ویدئوها در یک کانال ویدئویی در یک شبکه اجتماعی ویدئویی استفاده میشود.
-3راهحل پیشنهادی
یک روش طبقهبندی برای ویدئوهای یک کانال ویدئویی در شبکه اجتماعی ویدئویی یوتیوب ارائه میشود. برای این کار یکی از کانالهای محبوب یوتیوب که تعداد ویدئوهای زیادی دارد را انتخاب میکنیم. با استفاده از API مخصوص یوتیوب کامنتهای تمام ویدئوهای آن کانال را استخراج میکنیم. ویدئوهایی که تعداد کامنتهای کمتر از مقدار آستانه - در اینجا 20 در نظر میگیریم - دارند را حذف میکنیم.
حال با اعمال الگوریتم تحلیل احساسات بر روی کامنتهای هر ویدئو جهتگیری هر کامنت را مشخص میکنیم. این کار در محیط Pycharm و تحت زبان برنامهنویسی پایتون انجام میگیرد. پایتون یک زبان برنامهنویسی سطح بالا، مفسری، همهمنظوره و پویاست که طراحیاش بر خوانایی بالا تاکید بسیار دارد. قواعد آن به برنامهنویسان اجازه میدهد که مفاهیم موردنظرشان را در خطهای کمتری نسبت به زبانهای دیگر مثال C++ عنوان کنند.
nltk یک پلتفرم پایتون است که به برنامههای پایتون برای کار کردن با دادههای به زبان انسان کمک میکند. این پلتفرم واسطهای کاربری برای استفاده آسان از بیش از 50 منبع لغوی و پیکره مثل WordNet را به همراه کتابخانههای مناسب برای پردازش متن برای وظایف مختلف مثل طبقهبندی، ریشهیابی، برچسبگذاری، تجزیهوتحلیل معنایی را ارائه میدهد. با استفاده از این پلتفرم تحلیل معنایی روی کامنتها انجام میگیرد و نتایج بعد از نرمالسازی بهعنوان یک طبقهبندی بر اساس تحلیل احساسی ارائه میشوند. مراحل این کار در قسمتهای بعد توضیح داده میشود.
-1-3تشکیل پایگاه داده
بعد از انتخاب کانال موردنظر و با توجه به قابلیت API مخصوص یوتیوب بعد از اخذ مجوزهای لازم از این API در یک برنامه جاوا استفاده شد. در این برنامه کامنتهای هر ویدئو از این کانال استخراج میشوند و در یک پایگاه داده جمعآوری میشوند. سپس تعداد کامنتهای هر ویدئو را بررسی میکنیم و درصورتیکه کمتر از یک مقدار آستانه تعیینشده - در اینجا - 20 بود آن ویدئو و کامنتهایش را با فرض نداشتن اطلاعات کافی حذف میکنیم.
-2-3طبقهبندی احساسی کامنتها
بعد از تشکیل پایگاه داده، مسئله پیشرو طبقهبندی احساسی این کامنتهاست. برای این کار از طبقهبندی کنندههای مختلف استفاده میشود. طبقهبندی کنندههای دودویی برای تشخیص مثبت یا منفی بودن سندها استفاده میشوند. بهعنوان مرجع برچسب زدهشده دو پیکره را برای کلمات مثبت و منفی معرفی میکنیم. برای این کار باید ابتدا یک مجموعه ویژگی برای یادگیری تشکیل شود.
مجموعه ویژگیها پراستفادهترین کلمات موجود در پیکرههای مثبت و منفی میباشند. که یک مقدار آستانه برای آن انتخاب میشود. بد از این کار مجموعه آموزش و آزمون را تشکیل میدهیم و قسمتبندی پیکره برچسب زدهشده طبقهبندی کننده موردنظر را آموزش میدهیم. طبقهبندی کنندههای مختلفی در nltk وجود دارند. اولین طبقهبندی کننده استفادهشده Bayes ساده است.
Bayes ساده یک مدل ساده برای ساخت طبقهبندی کننده است. طبقهبندی کننده مدلی است که برچسبهای کلاس را به نمونههایی از مسئله اختصاص میدهد. بهصورت بردارهایی از مقادیر ویژگی نشان داده میشود و برچسب کلاس از چند مجموعه متناهی کشیده میشود. برای آموزش این طبقهبندی کنندهها چندین الگوریتم مختلف وجود دارد. در الگوریتمهای بر پایه Bayes ساده فرض میشود که مقدار هر ویژگی از ویژگیهای دیگر مستقل است. طبقهبندی کنندههای Bayes ساده در برخی از مدلهای احتمالاتی و در یادگیری نظارتشده میتوانند بهصورت موثری آموزش ببینند. علاوه بر این طبقهبندی کنندههای دیگری هم استفادهشدهاند.