کاربرد متن کاوی در بورس

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

اما نکته در اینجاست، به‌دلیل حجم بالای اخبار کسی قادر نیست، تمام اخبار را پیگیری کند و تمام تحلیل‌ها را بخواند.

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

مقدمه ای از کاربردهای متن کاوی در بورس

در این بخش استفاده از متن کاوی در خلاصه کردن حجم انبوه اخبار و متون کارایی اثبات شده‌ای دارد، که در ادامه در خصوص آن بحث شده است. فلدمن و سانجر (۲۰۰۷) در کتاب خود کاربردهای متنوعی از متن کاوی را برشمرده‌اند. که به صورت خلاصه آن برای تحلیل متون و نظرات افراد در خصوص بازارهای مالی، در ادامه به آنان اشاره خواهد شد.

خوشه‌بندی متون یکی از کاربردهای رایج در متن کاوی است، پس از ساختن مجموعه داده پالایش شده با استفاده از الگوریتم‌های خوشه‌بندی بخصوص الگوریتم ساده‌ای مانند k-means می‌توان، متون و اخبار و تحلیل‌هایی که به هم شباهت دارند را در یک خوشه در کنار هم قرار داد و متون غیر مشابه را در خوشه‌های جدا از هم قرار داد. در این شرایط یک فرد لازم نیست تمام اخبار و تحلیل‌ها یا شایعات را بررسی کند، صرفا لازم است چند سند نماینده خوشه را ببند تا از محتوای سایر اعضای خوشه نیز مطلع گردد. نکته کلیدی در خوشه‌بندی متون استفاده از نوع فاصله کسینوسی است. به صورت معمول برای خوشه‌بندی از فاصله اقلیدسی استفاده می‌شود. ولی فاصله اقلیدسی در خوشه‌بندی متن به نتایج مناسبی ختم نمی‌گردد، در واقع فرض کنید یک متن با چند پاراگراف در خصوص یک موضوع مشخص صحبت می‌کند و یک متن دیگر با چند صفحه در خصوص همان موضوع صحبت می‌کند. از لحاظ فاصله اقلیدسی این دو متن با هم بسیار متفاوت هستند، چون تعداد عبارات در متن طولانی‌تر بیشتر از عبارات متن کوتاه‌تر است. در صورتی که از لحاظ فاصله کسینوسی این دو متن در امتداد دو بردار هستند که این دو بردار بر هم منطبق هستند (هرچند طول متفاوتی دارند.).

استفاده از قوائد تلازمی در متن کاوی به ما کمک می‌کند تا متوجه شویم کدام مشخصه‌ها در متون با یکدیگر مشاهده می‌گردند. استفاده از قواعد تلازمی به ایجاد قوانینی منجر می‌شود که نشانگر مشاهده ویژگی‌های خاص در کنار یکدیگر هستند. برای نمونه ممکن است استفاده از قواعد تلازمی نشانگر این نکته باشد، که در این مجموعه متون عبارت “شرکت ذوب آهن اصفهان” با عبارت “مجمع سالاته” در ۵۰ درصد متون دیده شده‌اند و در ۸۰% متونی که عبارت ” شرکت ذوب آهن اصفهان” وجود داشته، عبارت “مجمع سالانه” نیز آمده است.

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


خلاصه ای از کلیات متن کاوی (Text mining)

فرآیند متن کاوی با جمع‌آوری متون اخبار و تحلیل‌ها توسط نرم‌افزارهای خبرخوان از سایت‌های مختلف خبری و تحلیل شروع می‌گردد. پس از دریافت متون، ابتدا بایست متون در یک مجموعه داده قرار گیرند، این مرحله به نرمال کردن متن مشهور است، در این مرحله فرمت تمام متون به فرمت یکسانی مانند، txt تبدیل می‌گردد و کدینگ حروف یکسان می‌گردد، برای نمونه در زبان فارسی برای حرف “ی” چند نوع کدینگ وجود دارد، که لازم است تمام آنها به یک نوع تبدیل گردد.

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

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

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

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

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

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

یکی از تکنیک‌های کاهش ابعاد در روش های متن کاوی تکنیک [۱]SVD است. روش SVD از سه دیدگاه قابل بررسی است. دیدگاه اول روش SVD را روش تبدیل متغیرهای وابسته به مجموعه‌ای از متغیرهای غیروابسته، که روابط متنوع موجود در میان مجموعه داده اصلی را به صورت شفافتر در معرض دید قرار داده است. دیدگاه دوم، روشSVD برای تشخیص و رتبه‌بندی ابعاد موجود در مجموعه داده، که بیشترین تنوع را دارد بکار برده می‌شود. دیدگاه سوم، برای استفاده از تعداد کمتری از ابعاد مجموعه داده اصلی (کاهش بعد)، لازم است تشخیص دهیم بیشترین تغیرات در کدام قسمت از مجموعه داده اصلی رخ می‌دهد، تا بهترین تقریب از داده‌هایی با کاهش بعد ایجاد گردد. در واقع بنا به نگرش های بالا روش SVD ، یک مجموعه داده با ابعاد زیاد و داده‌های فراوان را به یک مجموعه داده با ابعاد کمتر که تبدیل می‌کند و در این تبدیل ابعاد را به ترتیب بیشترین تنوع به کمترین تنوع مرتب می‌کند. روش SVD ماتریس M را به سه ماتریس U , ∑ , V  تفکیک می کند. که در آن U , V ماتریس‌های متعامد و V همیشه به صورت ترانهاده قراردارد. ماتریس ∑ یک ماتریس قطری است، که مقادیر غیر قطراصلی در آن صفر هستند و مقادیر روی قطر به فرم کاهشی نشانگر مقادیر ویژه ماتریس هستند.  در ادبیات موضوع متن کاوی به استفاده از ماتریس V‌به عنوان مجموعه داده تبدیل یافته [۲]LSI گفته می‌شود.

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

[۱] Singular Value Decomposition

[۲] Latent Semantic Indexing