متنکاوی چیست؟
مقاله زیر خلاصهای از نتایج مطالعه چندین مقاله معتبر انگلیسی و فارسی بوده و سعی در ارائه توضیحاتی هرچند مختصر درباره متنکاوی یا text mining و روشها و تکنولوژیهای مورداستفاده در آن و همچنین معرفی برخی از کاربردهای متنکاوی و درنهایت معرفی برخی ابزارهای متنکاوی موجود در وب به همراه لینک سایت موردنظر این ابزارها دارد. هرچند معرفی کلیه روشها و کاربردها و ابزارهای بیشماری که برای متنکاوی وجود دارد در یک مقاله امکانپذیر نیست ولی در این مقاله سعی شده بسیاری از این موارد در حد آشنایی مقدماتی شما خواننده محترم پوشش داده شود.
در ادامه ابتدا با تعریف متنکاوی آغاز میکنیم سپس نحوه کار آن و روشها و تکنولوژیهای مورداستفاده در متنکاوی را بررسی کرده و درنهایت کاربردهای متنکاوی در عرصههای مختلف را بررسی کرده و در آخر هم برخی ابزارهای نرمافزاری موجود معرفی میشوند.
ازآنجاییکه حجم اطلاعات الکترونیکی و آنلاین روزبهروز بیشتر میشود دسترسی سریع و صحیح به منابع مهم و موردعلاقه، یکی از دغدغههای استفاده از این منبع اطلاعاتی بسیار بزرگ است. ارائه ابزارهایی که با بررسی متون بتواند تحلیلی روی آنها انجام دهند منجر به شکلگیری این زمینه در هوش مصنوعی شده که به متنکاوی معروف است. این حوزه تمام فعالیتهایی که بهنوعی به دنبال کسب دانش از متن هستند را شامل میگردد. آنالیز دادههای متنی توسط تکنیکهای یادگیری ماشین، بازیابی اطلاعات هوشمند، پردازش زبان طبیعی یا روشهای مرتبط دیگر همگی در زمره مقوله متنکاوی قرار میگیرند. این تکنیکها در ابتدا در مورد دادههای ساختیافته به کار گرفته شدند و علمی به نام دادهکاوی را به وجود آوردند. دادههای ساختیافته به دادههایی گفته میشود که بهطور کاملاً مستقل از همدیگر ولی یکسان ازلحاظ ساختاری در یک محل گردآوریشدهاند. انواع بانکهای اطلاعاتی را میتوان نمونههایی از این دسته اطلاعات نام برد. در این صورتمسئله دادهکاوی عبارت از کسب اطلاعات و دانش از این مجموعه ساختیافته؛ اما در مورد متون که عمدتاً غیر ساختیافته یا نیمه ساختیافته هستند ابتدا باید توسط روشهایی، آنها را ساختارمند نمود و سپس از این روشها برای استخراج اطلاعات و دانش از آنها استفاده کرد. بههرحال استفاده از دادهکاوی در مورد متن خود شاخهای دیگر را در علوم هوش مصنوعی به وجود آورد به نام متنکاوی. ازجمله فعالیتهای بسیار مهم در این زمینه، طبقهبندی (دستهبندی) متن است.
طبقهبندی متن، یعنی انتساب اسناد متنی بر اساس محتوی به یک یا چندطبقه از قبل تعیینشده، یکی از مهمترین مسائل در متنکاوی است. فعالیتهای مهم دیگری هم درزمینه متنکاوی وجود دارد که در ادامه نامبرده و توضیح دادهشدهاند.
متنکاوی به دنبال استخراج اطلاعات مفید از دادههای متنی غیر ساختیافته از طریق تشخیص و نمایش الگوها است یا بهعبارتدیگر متنکاوی روشی برای استخراج دانش از متون است. متنکاوی کشف اطلاعات جدید و از پیش ناشناخته، بهوسیله استخراج خودکار اطلاعات از منابع مختلف نوشتاری است.
دادهکاوی در متن در زمانهای مختلف بر اساس کاربرد و روششناسی مورداستفاده، بهصورت پردازش متن آماری، کشف دانش در متن، آنالیز هوشمند متن یا پردازش زبان طبیعی تعیینشده است. بهعنوان مثالهایی از کارهایی که متنکاوی انجام میدهد میتوان به دستهبندی یا classifying اسناد به مجموعهای از تایپک های مشخص (یادگیری با نظارت)، گروهبندی کردن اسناد بهطوریکه هر یک از اعضای هر گروه معنای مشابهی داشته باشد (کلاسترینگ یا یادگیری بدون ناظر) و یافتن اسنادی که برخی از معیارهای جستجو را satisfy کند (information Retrieval) یا بازیابی اطلاعات اشاره کرد.
متنکاوی بهعنوان تجزیهوتحلیل هوشمند متن، دادهکاوی متن یا کشف دانش در متن نیز شناخته میشود. متنکاوی بر رویدادههای متنی غیر ساختیافته و نیمه ساختیافته تعریف میگردد دادههای متنی غیر ساختیافته مانند صفحات وب، یادداشت، صورتحساب و …؛ و دادههای متنی نیمه ساختیافته مانند XML, HTML….
چندین تکنیک برای متنکاوی پیشنهادشده است عبارتاند از ساختار مفهومی، کاوشassociation rule ها درخت تصمیمگیری، روشهای استنتاج قوانین، همچنین تکنیکهای بازیابی اطلاعات برای کارهایی مانند تطبیق دادن سندها، مرتب کردن، کلاسترینگ و…. ازجمله مشکلاتی که درزمینه متنکاوی وجود دارد کشف کردن دانش مفید از متن نیمه ساختیافته یا غیر ساختیافته است که توجه زیادی را به خود جلب کرده است.
پس متنکاوی یکی از زمینههای است که به دنبال استخراج اطلاعات مفید، از دادههای متنی بدون ساختار، بهوسیله شناسایی و اکتشاف الگوها است. ایده اصلی متنکاوی، یافتن قطعات کوچک اطلاعات از حجم زیاد دادههای متنی، بدون نیاز به خواندن تمام آن است. متنکاوی با انتقال کلمات و عبارات که بهصورت دادههای unstructured یا غیر ساختیافته هستند به مقادیر عددی عمل میکند که پسازآن میتواند این دادههای غیر ساختیافته را به دادههای ساختیافته در یک پایگاه داده لینک داد و آن را با استفاده از روشهای سنتی دادهکاوی آنالیز کرد. به استفاده از روشهای متنکاوی برای حل مسائل بیزینسی یا کسبوکار text analytics میگویند. متنکاوی به سازمانها این امکان را میدهد که بینش تجاری ارزشمندی از محتواهای مبتنی بر متن خود مانند اسناد word، ایمیل و پستهایی که در استریم رسانههای اجتماعی مانند فیسبوک و توییتر و linkedIn وجود دارد به دست آورند.
کاوش دادههای غیر ساختیافته با پردازش زبان طبیعی (NLP)، مدلسازی آماری و روشهای یادگیری ماشین ممکن است سخت و چالشبرانگیز باشد چون متنهای زبان طبیعی اغلب متناقض هستند. این متنها اغلب شامل ابهاماتی هستند که از سینت کسها و معناشناسیهای (سمنتک) متناقض مانند اصطلاحات عامیانه یا زبانهای مربوط به یک گروه سنی خاص یا صحبتهای کنایهدار و طعنهآمیز نشاءت میگیرد.
علاوه بر دادههای آشنای کمی و کیفی برای آمارشناسان، دادههایی که بهعنوان ورودی الگوریتمهای استخراج اطلاعات استفاده میشوند میتوانند هر شکلی داشته باشند مانند تصویر، فیلم، صدا یا متن. در متنکاوی ما بر منابع دادهای که به شکل متن هستند تمرکز میکنیم. همانطور که پیشتر گفته شد منابع داده متنی برای استخراج اطلاعات میتوانند از free form text (متنهایی به شکلهای آزاد) تا متنهای semi formatted مانند html، xml و... را شامل شوند و آن دسته از منابعی را هم در برمیگیرد که به فرمتهای اسناد کدباز یا open source رمزگذاری شدهاند (OpenDocument) و همچنین سایر فرمتهای اختصاصی یک شرکت برای مثال مایکروسافت word یا مایکروسافت پاورپوینت. استخراج اطلاعات از این منابع اطلاعاتی چالش بزرگی برای جامعه آماری و فناوری اطلاعات بوده است.
در متنکاوی الگوها از متنهایی به زبان طبیعی استخراج میشوند و ورودی آن، یک متن غیر ساختیافته و آزاد است. ولی مثلاً در وب ماینینگ منابع وب اغلب ساختیافته هستند. در تعریف متنکاوی گفته میشود کشف اطلاعات جدید و اطلاعاتی که از قبل ناشناخته بودهاند، توسط کامپیوتر به کمک استخراج خودکار اطلاعات از منابع متنی غیر ساختیافته اغلب بزرگ.
در بازیابی اطلاعات برخلاف متنکاوی هیچ اطلاعات جدیدی پیدا نمیشود و اطلاعات موردنظر و مطلوب بهندرت با اطلاعات مشابه دیگری بهطور همزمان وجود دارند. متنکاوی ترکیبی از تکنولوژیهای آماری، بازیابی اطلاعات، وب کاوی، دادهکاوی و پردازش زبان طبیعی است.
متنکاوی و دادهکاوی
دادهکاوی روشی بسیار کارا برای کشف اطلاعات از دادههای ساختیافته است. متنکاوی مشابه دادهکاوی است، اما ابزارهای دادهکاوی طراحیشدهاند تا دادههای ساختیافته از پایگاه داده را به کار ببرند. میتوان گفت، متنکاوی راهحل بهتری برای شرکتها است. پس تفاوت متنکاوی و دادهکاوی این است که دادهکاوی بر رویدادههای ساختیافته پایگاه داده کار میکند و متنکاوی، بر رویدادههای غیر ساختیافته و نیم ساختیافته مانند Email و مستندات تمام متنی کار میکند. در متنکاوی سعی میگردد از همان تکنیکهای دادهکاوی استفاده گردد. برای این منظور به تکنولوژیهایی دیگری مانند پردازش زبان طبیعی، یادگیری ماشین و … نیاز است تا بهصورت اتوماتیک آمارهایی را جمعآوری نموده و ساختار و معنای مناسبی از متن استخراج گردد. در این موارد، دیدگاه عمومی استخراج ویژگیهای کلیدی از متن است. ویژگیهای استخراجشده بهعنوان داده برای تحلیل استفاده میگردد.
متنکاوی و بازیابی اطلاعات
معمولاً در بازیابی اطلاعات با توجه به نیاز مطرحشده از سوی کاربر، مرتبطترین متون و مستندات و یا درواقع «کیسه کلمه» از میان دیگر مستندات یک مجموعه بیرون کشیده میشود. بازیابی اطلاعات یافتن دانش نیست بلکه تنها آن مستنداتی را که مرتبطتر به نیاز اطلاعاتی جستجوگر تشخیص داده به او تحویل میدهد. این روش درواقع هیچ دانش و حتی هیچ اطلاعاتی را به ارمغان نمیآورد.
متنکاوی ربطی به جستجوی کلمات کلیدی در وب ندارد. این عمل در حوزه بازیابی اطلاعات گنجانده میشود. به عبارتی بازیابی اطلاعات جستجو، کاوش، طبقهبندی و فیلتر نمودن اطلاعاتی است که در حال حاضر شناختهشدهاند و در متن قرار دادهشده است. ولی در متنکاوی مجموعهای از مستندات بررسیشده و اطلاعاتی که در هیچیک از مستندات بهصورت مجرد یا صریح وجود ندارد، استخراج میگردد.
پردازش زبان طبیعی یا NLP
هدف کلی آن رسیدن به یک درک بهتر از زبان طبیعی توسط کامپیوترهاست. تکنیکهای مستحکم و سادهای را برای پردازش سریع متن به کار میبرد. همچنین از تکنیکهای آنالیز زبانشناسی نیز برای پردازش متن استفاده میکند. نقش NLP در متنکاوی فراهم کردن یک سیستم در مرحله استخراج اطلاعات با دادههای زبانی است.
متنکاوی و استخراج اطلاعات
هدف استخراج اطلاعات خاص از سندهای متنی است و میتواند بهعنوان یکفاز پیشپردازش در متنکاوی به کار رود که در ادامه توضیح دادهشده است. استخراج اطلاعات عبارتاند از نگاشت متنهای زبان طبیعی به یک نمایش ساختیافته و از پیش تعریفشده یا قالبهایی که وقتی پر میشوند، منتخبی از اطلاعات کلیدی از متن اصلی را نشان میدهند. این سیستمهای استخراج اطلاعات بهشدت بر دادههای تولیدشده توسط سیستمهای NLP تکیهدارند.
فرآیند متنکاوی
دو فاز اصلی برای فرآیند متنکاوی تعریفشده است: پیشپردازش مستندات و استخراج دانش.
اولین فاز پیشپردازش مستندات است. خروجی این فاز میتواند دو شکل مختلف داشته باشد:
۱)مبتنی بر سند
۲) مبتنی بر مفهوم
در فرمت اول، نحوه نمایش بهتر مستندات مهم است، برای مثال تبدیل اسناد به یک فرمت میانی و نیمه ساختیافته، یا به کار بردن یک ایندکس بر روی آنها یا هر نوع نمایش دیگری که کار کردن با اسناد را کاراتر میکند. هر موجودیت در این نمایش درنهایت بازهم یک سند خواهد بود. در فرمت دوم، نمایش اسناد بهبود بخشیده میشود، مفاهیم و معانی موجود در سند و نیز ارتباط میان آنها و هر نوع اطلاعات مفهومی دیگری که قابلاستخراج است، از متن استخراج میشود. در این حالت نه با خود موجودیت بلکه با مفاهیمی که از این مستندات استخراجشدهاند، مواجه هستیم.
قدم بعدی استخراج دانش از این فرمهای میانی است که بر اساس نحوه نمایش هر سند متفاوت است. نمایش مبتنی بر سند، برای گروهبندی، طبقهبندی و تجسم سازی استفاده میشود، درحالیکه نمایش مبتنی بر مفهوم برای یافتن روابط میان مفاهیم، ساختن اتوماتیک آنتولوژی و… به کار میرود. متنکاوی برای آن قسمت از کشف دانش از متن بکار میرود که مربوط به استخراج الگوها از دادهها متنی است. مراحل کشف دانش از متن:
۱-جمعآوری مستندات مرتبط
۲- پردازش اولیه مستندات
۳-عملیات متنکاوی
پردازش متن
یکی از مراحل ابتدایی در متنکاوی پردازش متن است. در پردازش متن چند مورد مهم وجود دارد مثلاً تمیز کردن متن، حذف تبلیغات از صفحات وب، نرمالیزه کردن متنهای تبدیلشده از فرمتهای باینری، کار با جدولها شکلها و فرمولها. مورد بعدی نشانهگذاری متن است یعنی تقسیم رشتهای از کاراکترها به مجموعهای از نشانهها که بهاینترتیب بر مشکلاتی از قبیل آپاستروف ها مانند he’s، کلمات چندشکلی مانند data base، database یا data-base، کلماتی مانند c++، A/C، نشانههایی مثل “…” یا «:-)» غلبه کرد یا برای سوالاتی مثلاینکه میزان فضای سفید مهم هست یا نه پاسخ پیدا نمود. موضوع بعدی Parts Of Speech tagging یا فرایند علامتگذاری کلمات یک متن با corresponding parts of speech آنهاست؛ که مبتنی بر قواعد گرامری است و بر اساس احتمالات ترتیبی کلمات مختلف بوده و نیاز به یک corpus ای (مجموعهای از نوشتهها یا گزارهها) دارد که برای یادگیری ماشین بهصورت دستی تگ شود.
مسئله بعدی Word Sense Disambiguation یعنی تعیین این است که کلمهای که چند معنی دارد، در این جمله موردنظر کدام معنی را میدهد.
در ساختارهای معنایی دو روش داریم یکی full parsing است که یک parse tree برای جمله ایجاد میکند و دیگری partial parsing است که ساختارهای نحوی مانند عبارات اسمی و گروههای فعلی برای جمله ایجاد میکند. کدام بهتر است؟ ایجاد full parse tree اغلب به دلیل بیدقتیهای گرامری، نشانهگذاریهای بد، لغات جدید، جداسازی اشتباه جملات، اشتباه در تگهای POS شکست میخورد؛ بنابراین partial parsing بیشتر استفاده میشود.
متن noisy چیست؟
یک ارتباط ذخیرهشده الکترونیکی است که نمیتوان آن را با برنامه نرمافزاری متنکاوی بهدرستی طبقهبندی کرد. در یک سند الکترونیکی، یک متن نویزی با اختلاف میان حروف و سمبلها در کد HTML و معنای موردنظر نویسنده، مشخص میشود.
متن نویزی با قوانینی که برنامه برای تعیین و دستهبندی لغات، اصطلاحات، عبارات و کلاسها در یکزبان خاص استفاده میکند مطابقت و همخوانی ندارد. اصطلاحات، مخففها، کلمات اختصاری یا سرنامها و زبان منحصر به کسبوکار همه میتوانند متن نویزی ایجاد کنند. این متون در چت، پستهای وبلاگها، اس ام اس ها و... کاملاً رایجاند. سایر دلایلی که متن نویزی ایجاد میکنند شامل املا و نقطهگذاریهای ضعیف، اشتباهات تایپی و ترجمههای ضعیف برنامههای تشخیص گفتار و نوری (OCR) است.
در ادامه روشهایی که متنکاوی از آنها برای استخراج اطلاعات از متن استفاده میکند توضیح داده میشوند:
روشهای متنکاوی
بهطورکلی روشهایی که در متنکاوی استفاده میشوند عبارتاند از:
استخراج اطلاعات، طبقهبندی، خوشهبندی، خلاصهسازی، ردیابی موضوع، ارتباطدهنده مفاهیم، نمایش اطلاعات، پرسش و پاسخ، کاوش مبتنی بر متن، تجزیهوتحلیل گرایشها
استخراج اطلاعات
* در استخراج اطلاعات، عبارات کلیدی و ارتباط آنها در متن تشخیص داده میشود.
* این عمل بهوسیله پردازش تطبیقدهنده الگو انجام میپذیرد.
* عبارات و اصطلاحات استخراجشده باید بهصورت استاندارد باشد:
مثلاً: یادگیری و فراگیری، یک کلمه تشخیص داده شود.
feature extraction یا استخراج ویژگی
اولین مرحله متنکاوی استخراج ویژگی یا feature extraction در مجموعه اسناد است بهطوریکه شخص بتواند محاسبات انجام داده و از روشهای آماری استفاده کند.
در متنکاوی از دو کلمه corpus و lexicon استفاده میشود که corpus به معنی مجموعهای از اسناد است و بسیاری از روشهای استخراج ویژگی وابسته به corpus هستند و lexicon (واژهنامه) مجموعهای از همه کلمات منحصربهفرد در corpus است.
تولید و انتخاب ویژگی
اسناد متنی توسط لغات (ویژگیها) یی که دارند و ارتباط میان آنها نمایش داده میشوند دو رویکرد عمده نمایش اسناد bag of words و Vector Space هستند.
متنکاوی معمولاً وارد تحلیل عمیق زبانشناختی نمیشود بلکه بر نمایش ساده متن با تکنیک “bag-of-words” تکیهبر اساس vector space تکیه میکند. رویکردهای متفاوتی در تعیین الگوها در این روش وجود دارند مانند کاهش ابعاد و کلاسترینگ و دستهبندی خودکار.
Bag-of-Words چیست؟ اگر w دیکشنری باشد و مجموعه همه کلماتی که حداقل یکبار در مجموعهای از اسناد رخدادهاند D باشد، نمایش Bag-of-Words از سند dn برداری از وزنهاست. (w1n,. . . ,wj,Wjn) به عبارتی وزنها یا ۰ هستند یا ۱ و نشاندهنده این هستند که یک کلمه در آن سند وجود دارد یا ندارد. یا میتوان گفت که win نشاندهنده فرکانس تکرار i امین لغت در n امین سند است که بهصورت نمایش تکرار کلمات نشان داده میشود.
کدام ویژگی یک سند را بهتر طبقهبندی میکند؟
تولید ویژگیهای واقعی: از یک دستهبندی کننده یا classifier برای تولید خودکار لیبل ها (ویژگیها) از ویژگیهایی که به آن دادهشده استفاده میکند.
در این روش که در ادامه هم کامل توضیح دادهشده هر لغت بهعنوان یک متغیر جداگانه که وزن عددی دارد نمایش دادهشده. محبوبترین روش وزن دهی هم روش tfidf است.
انتخاب ویژگی چیست؟ انتخاب زیرمجموعهای از ویژگیها برای نمایش سند؛ یعنی ایجاد روش نمایش بهتر متن. این کار باعث میشود هرچه تعداد ویژگی بیشتر شود بار معنایی کمتر میشود. مثلاً اگر تعداد ویژگیها زیاد باشد ممکن است در آنها stop word یا کلمات توقف وجود داشته باشد، برخی از ویژگیها گمراهکننده هستند و برخی اضافه بوده و منجر به دو بار شمردن میشوند برخی الگوریتمها هم با ویژگیهای کمتر بهتر کار میکنند زیرا هرچه ویژگی بیشتر باشد کلاسیفایر های پیچیدهتری ایجاد میشود (مثل درختهای تصمیم پیچیده) بنابراین فضای کلاسیفایرهای بهدستآمده خیلی بزرگ میشود.
دو روش برای انتخاب ویژگی
۱. انتخاب ویژگی قبل از استفاده از آن در کلاسیفایر که نیازمند یک روش رنکینگ ویژگی است و انتخابها هم بسیار زیاد میشود ۲. انتخاب ویژگیها بر اساس اینکه در یک کلاسیفایر چقدر خوب عمل میکنند که اغلب یکروال تکرارشونده است و کلاسیفایر هم بخشی از روش انتخاب ویژگی میشود.
در آخر فرایند متنکاوی با دادهکاوی مخلوط میشود و از روشهای دادهکاوی قدیمی برای دیتابیسهای ساختیافته حاصل از مراحل قبل استفاده میشود.
اولین بخش Feature Extraction پیشپردازش lexicon است؛ که معمولاً شامل ۳ بخش است: حذف stop word ها، ریشهیابی و term weighting. همه این موارد را میتوان برای lexicon به کار گرفت. Stop word ها کلمات متداولی هستند که محتوای مفهومی جمله را تغییر نمیدهند مثل و، یا. اینها را میتوان از قبل تعیین کرد. ریشهیابی: اغلب درزمینه بازیابی اطلاعات به کار گرفته میشود زمانی که هدف بالا بردن کارایی سیستم و کاهش تعداد لغات منحصربهفرد باشد. ریشهیابی یعنی فرایند حذف پیشوندها و پسوندها و به دست آوردن ریشه کلمه. البته برخی ریشهیابها دچار مشکلاتی هستند مثلاً برای کلمه probate ریشه را probe و برای کلمه relativity ریشه را relate معرفی میکنند که معانی مختلفی دارند البته این موضوع بر نتایج بازیابی اطلاعات تأثیری ندارد ولی عواقب ناخوشایندی در دستهبندی و خوشهبندی خواهد گذاشت. ریشهیابی و حذف stop word ها اندازه lexicon را کاهش میدهند بنابراین در منابع محاسباتی صرفهجویی میشود. الگوریتم ریشهیابی Porter برای ریشهیابی بسیار متداول است.
یکی از راههای انکدینگ متن شمردن تعداد دفعاتی است که یک عبارت در متن ظاهرشده که به این کار روش term-frequency میگویند. البته عباراتی که فرکانس بالاتری دارند لزوماً مهمتر نیستند برای همین با توجه به متن، سند یا corpus ای که داریم به آن ترم وزن میدهیم.
به نظر میرسد یکی از محبوبترین term weighting ها inverse document frequency باشد که در آن فرکانسترم با توجه به تعداد کل دفعاتی که آن عبارت در corpus ظاهرشده وزن میشود.
Interpoint Distance Calculation
برای بررسی متنکاوی در دستهبندی و خوشهبندی و بازیابی اطلاعات ما به درک فاصله یا شباهت میان اسناد نیاز داریم. انتخاب این معیار در آنالیز متن مهم است. متداولترین معیار مورداستفاده در متنکاوی و بازیابی اطلاعات کسینوس زاویه میان بردارهای نمایش دادهشده در سند است.
کاهش بعد (reduce dimensionality)
فضایی که سند در آن قرارگرفته معمولاً هزاران بعد دارد. با توجه به تعداد اسناد به همراه ماتریکس فاصله داخلی متناظر با آن اشخاص اغلب تمایل دارند فضایی با ابعاد پایینتری برای تحلیلهای بعدی پیدا کنند. این کار visualization، کلاسترینگ و دستهبندی را راحتتر میسازد. با به کار بردن کاهش بعد میتوان نویز دادهها را از بین برد و روشهای دادهکاوی آماری را بهتر به کار گرفت تا ارتباط میان اسناد را پیدا کرد.
این روش کاهش بعد در متنکاوی و پردازش زبان طبیعی با عنوان latent semantic indexing (analysis) یاد میشود. روشهای دیگری هم برای کاهش بعد وجود دارند که از ماتریسهای استخراجشده از ماتریس term-document به دست میآیند. مثلاً استفاده از بردارهای ویژه کوواریانس یا ماتریس همبستگی برای کاهش بعد.
یکی دیگر از روشهای جدید multidimensional scaling کاهش بعد غیرخطی ایزومتریک مپینگ است. ایده این روش هم این است که برخی مواقع نمایشدهنده بهتر فاصله میان دوشی فاصله اقلیدسی نیست بلکه حداقل فاصله میان برخی سطوح است که دیتاست را بر اساس پارامترها توصیف میکنند.
Visualization
Visualization نقش مهمی در تمام تایپک های بررسیشده بازی میکند. میتوان از Visualization برای ارزیابی تکنیکهای استخراج ویژگی استفاده کرد. یا برای کمک به تشخیص ساختار داده بعد از به کار بردن روشهای کاهش بعد. یا برای تشخیص بصری ساختارهای کلاستری یا برای کمک به تعیین دادههای پرت. یا برای پیشنهاد ارتباطات جالب میان اسناد و ترمها. این رویکرد هنگام مقایسه corpus های مختلف میتواند مفید باشد.
خوشهبندی یا کلاسترینگ
در این قسمت به یکی دیگر از تکنیکهای مورداستفاده در متنکاوی که بسیار مهم است میپردازیم یعنی کلاسترینگ یا خوشهبندی. در مورد خوشهبندی در مقاله دیگری بهطور کامل توضیح دادهشده در اینجا تنها اشاره مختصری به کلاسترینگ در متنکاوی خواهیم داشت.
خوشهبندی تکنیکی است برای گروهبندی اسناد، که امروزه نقش حیاتی در روشهای بازیابی اطلاعات دارد. هدف آن قرار دادن اسناد مشابه در یک خوشه است بهطوریکه با اسنادی که در خوشههای دیگر قرار دارند، متفاوت باشند. برخلاف طبقهبندی در خوشهبندی گروهها از قبل مشخص نیست و همچنین معلوم نیست که برحسب کدام ویژگی گروهبندی صورت میگیرد. الگوریتمهای خوشهبندی خوشهها را بر اساس ویژگی دادهها و اندازهگیری شباهتها و یا عدم شباهتها محاسبه میکنند. دو روش برای ارزیابی نتایج خوشهبندی وجود دارد ۱) اقدامات آماری، ۲) دستهبندیهای استاندارد.
دستههای مختلف الگوریتمهای خوشهبندی
روشهای سلسله مراتبی: مثل single linkage، complete linkage و...
انواع الگوریتمهای افراز بندی مانند k-means و bi-seaction-k-means
میباشند که در مقاله دیگری بهطور کامل در مورد این روشها صحبت شده است.
* خوشه: مجموعهای از مستندات مرتبط به هم است.
* خوشهبندی، تکنیکی است که برای دستهبندی نمودن مستندات مشابه مورداستفاده قرار میگیرد.
در خوشهبندی دستهها بهصورت دینامیک تشکیل میگردد.
با استفاده از روشهایی که متن را به دادههای کمی تبدیل میکنند میتوانیم وارد مرحله خوشهبندیشده و از هر یک از روشهای کلاسترینگی که به آن آشنا هستیم برای دادههای کمی استفاده کنیم. برای مثال میتوانیم از کلاسترینگ kmeans یا کلاسترینگهای سلسله مراتبی یا مبتنی بر مدل )بر اساس تخمین تراکم محدود احتمال ترکیبی ( (finite mixture probability) استفاده کنیم. مثلاً در kmeans مجموعهای از اسناد نشاندهنده بردار، معیار فاصله مناسب (کسینوس) و k تعداد کلاسترهاست. برای هر k گروه با یک سند تصادفی شروع کنید. هر سند به نزدیکترین گروه منتسب میشود، برای هر گروه یک مرکز جدید محاسبه میشود (داکیومنت میانگین در گروه یا نقطه تراکم گروه).
در کلاسترینگ سند، حجم بالایی از اسناد داده میشود و هیچ تصوری از اینکه چه اسنادی هستند نداریم بنابراین از کلاسترینگ اسناد استفاده میکنیم (بی ناظر: در روشهای بی ناظر بدون هیچگونه نظارتی از جانب شخص ثالث الگوریتم بر مبنای شباهت اسناد یا دادهها خوشهبندی را انجام میدهد).
دستهبندی یا طبقهبندی یا classifying
طبقهبندی
* عبارت است از تشخیص موضوع اصلی یک سند.
* هدف از طبقهبندی، ایجاد امکان استفاده از مدلی بر ای پیشبینی کلاسی از اشیا است که با عنوان ناشناخته برچسب خورده است
* طبقهبندی یک فرایند ۲ مرحلهای است:
الف- ساخت مدل
ب- استفاده از مدل
طبقهبندی در مواردی مانند تعیین اعتبار، مشخص نمودن گروههایی از مشتریها که خصوصیات و علایق مشترکی دارند، تشخیص میزان تأثیر داروها و مؤثر بودن درمان بکار میرود. در ادامه طبقهبندی و برخی روشها و الگوریتمهای آن بهطور کامل توضیح دادهشدهاند.
زمانی که corpus به ماتریس inner point distance تبدیل شد میتوان از کلاسیفایر های ساده نزدیکترین همسایه برای دادهها استفاده کرد. ازآنجاییکه ابعاد بالای موروثی ویژگیهای اسناد، مانع از یک رویکرد ساده برای استفاده از درختهای دستهبندی مبتنی بر ویژگی میشوند میتوان یا از رویکردهای دستهبندی دیگر استفاده کرد یا این درختها را در ترکیب با استراتژیهای کاهش بعد به کاربرد. در توسعه دستهبندی برای اسناد متنی چالشهایی وجود دارد مثلاً یکی از این چالشها برخورد با مترادفها و کلمات چند معنی است. چالش دیگر ایجاد دستهبندیهایی است که بتواند مجموعههای بزرگ اسناد را دستهبندی کند. یا چالش دیگر دستهبندی منابع اسناد در حال استریم است؛ مانند اخبار که بهصورت مداوم پخش میشوند. بد نیست اشارهکنیم که تکنیکهای طبقهبندی برخلاف خوشهبندی، تکنیکهای با ناظر یا supervised هستند.
هدف از طبقهبندی متون نسبت دادن کلاسهای از پیش تعریفشده به اسناد متنی است. در طبقهبندی یک مجموعه آموزشی از اسناد، باکلاسهای معین وجود دارد. با استفاده از این مجموعه، مدل طبقهبندی معینشده و کلاس سند جدید مشخص میگردد. برای اندازهگیری کارایی مدل طبقهبندی، یک مجموعه تست، مستقل از مجموعه آموزشی در نظر گرفته میشود. برچسبهای تخمین زدهشده با برچسب واقعی اسناد مقایسه میشود. نسبت اسنادی که بهدرستی طبقهبندیشدهاند به تعداد کل اسناد، دقت نامیده میشود. در ادامه برخی از تکنیکهای کلاسیفایینگ یا طبقهبندی بهاختصار معرفی میشوند:
درختهای تصمیم
برای ساختن این درختها از یک استراتژی تصمیم و غلبه استفاده میشود.
درخت تصمیم متوالی بر پایه طبقهبندی
در این مدل هر یک از گرههای داخلی بهعنوان تصمیمگیرنده و هر یک از برگها بهعنوان یک برچسب کلاس میباشند. این مدل از دو مرحله تشکیلشده است: ۱ القای درخت- که از مجموعه آموزشی دادهشده القا میشود.۲- هرس درخت- درخت القاشده را با از بین بردن هر وابستگی آماری روی مجموعه داده آموزشی خاص، کوتاهتر و قویتر میکند.
روش Hunt
ساخت درخت بهصورت بازگشتی و با استفاده از راهبرد حریصانه تقسیم و حل اول عمق است.
الگوریتم C4.5
مراحل کلی الگوریتم C4.5 برای ساخت درخت تصمیم:
1. انتخاب ویژگی برای گره ریشه
2. ایجاد شاخه برای هر مقدار از آن ویژگی
3. تقسیم موارد با توجه به شاخهها
4. تکرار روند برای هر شاخه تا زمانی که تمام موارد شاخه، کلاس یکسان داشته باشند
انتخاب هر ویژگی بهعنوان ریشه بر پایه بالاترین حصول از هر صفت است.
الگوریتم SPRINT
SPRINT یک درخت تصمیم طبقهبندی کننده سریع و مقیاسپذیر است. این الگوریتم مجموعه داده آموزشی را بهصورت بازگشتی با استفاده از تکنیک حریصانه اول به پهنا تقسیم میکند تا وقتیکه هر قسمت متعلق به گره برگ یا کلاس یکسان باشد. این روش، از مرتبسازی دادهها استفاده میکند و محدودیتی برای حجم داده ورودی نداشته و میتواند بر روی الگوهای سریال یا موازی برای جایگزینی دادههای خوب و با توازن بار اجرا شود. دو ساختار دادهای را به کار میگیرد: لیست دادهها و پیشینه نما، که مقیم در حافظه نیستند و این مسئله SPRINT را برای مجموعه دادههای بزرگ مناسب میسازد؛ بنابراین همه محدودیتهای حافظه برداده ها را حذف میکند. این الگوریتم صفتهای پیوسته و طبقهای را به کار میبرد.
فرمولبندی موازی از درخت تصمیم بر پایه طبقهبندی
هدف این روش مقیاسپذیری در زمان اجرا و حافظه موردنیاز است. فرمولبندی موازی بر محدودیت حافظه که برای الگوریتمهای ترتیبی مشکلساز است غلبه میکند، بدینصورت رسیدگی به مجموعه دادههای بزرگتر بدون نیاز به دیسک I/O افزونه را ممکن میسازد. همچنین فرمولبندی موازی سرعت بالاتری نسبت به الگوریتم سریال ارائه میکند. انواع فرمولبندیهای موازی برای ساخت درخت تصمیم طبقهبندی:
رویکرد ساخت درخت همزمان
رویکرد ساخت درخت قسمتبندی شده
فرموله بندی موازی ترکیبی
طبقهبندی کننده ساده بیزی
یک روش طبقهبندی احتمالی است. کلاس یک سند متناسب با کلماتی است که در یک سند ظاهرشدهاند.
نزدیکترین همسایه K طبقهبندی کننده
راه دیگر این است که اسنادی از مجموعه آموزش انتخاب شوند که مشابه سند جاری هستند. کلاس سند جاری، کلاسی است که اکثریت اسناد مشابه، دارند. در این روش K تا سند از مجموعه آموزش که بیشترین شباهت (بر اساس معیار شباهت تعریفشده) را به سند جاری دارند بهعنوان همسایگان آن سند انتخاب میشوند. این طبقهبندی به سه مورد اطلاعاتی نیاز دارد:
۱( مقدارK
2( مجموعهای از دادههای برچسب دار، که بهعنوان دادههای آموزشی مورداستفاده قرار گیرند
۳( یک معیار شباهت
یک روش ساده برای معیار شباهت شماردن تعداد کلمات مشترک در دو سند است. این روش باید برای اسناد با طول مختلف نرمالسازی شود. یک روش استاندارد برای اندازهگیری شباهت، شباهت کسینوسی است.
شبکههای عصبی
در مسائل مربوط به طبقهبندی، شبکه عصبی با داشتن ورودیها و خروجیهای مشخص باید تشخیص دهد که هر ورودی با کدام طبقه از خروجیهای تعریفشده بیشترین تطابق را دارد. در شبکه پرسپترون چندلایه از روش آموزش با نظارت استفاده میشود. هدف از آموزش شبکه به حداقل رساندن خطای تولیدشده است که بر اساس تنظیم وزنهای شبکه انجام میشود. معمولاً از الگوریتم آموزش پس انتشار استفاده میشود. در این الگوریتم پس از محاسبه مقدار خطا در لایه خروجی مقادیر وزنها در لایه پنهان در جهت کاهش خطا تنظیم میشوند.
استفاده از شبکههای عصبی مزایا و معایبی دارند که مزایای آن بهاختصار عبارتاند از
روشهای خود تطبیقی برای مبنای داده هستند. میتوانند هر تابعی را با دقت دلخواه تخمین بزند. مدلهای غیرخطی هستند. با دادههای ناقص یا گمشده بهخوبی کار میکنند.
و معایب شبکههای عصبی عبارتاند از: برآورد یا پیشبینی خطا انجام نمیشود. چگونگی برآورد شدن روابط میان لایههای پنهان را نمیتوان معین کرد.
(SVM) ماشین بردار پشتیبانی
الگوریتم طبقهبندی یا دستهبندی ماشین بردار پشتیبان که از روشهای یادگیری با نظارت استفاده میکند که در مقاله دیگری بهطور کامل در مورد این روش توضیح دادهشده است.
ژنتیک
یک روش بهینهسازی اکتشافی است که از قوانین تکامل بیولوژیک طبیعی تقلید میکند. الگوریتم ژنتیک قوانین را بر روی جوابهای مسئله (کروموزومها)، برای رسیدن به جوابهای بهتر، اعمال میکند. در هر نسل به کمک فرآیند انتخابی متناسب باارزش جوابها و تولیدمثل جوابهای انتخابشده و به کمک عملگرهایی که از ژنتیک طبیعی تقلیدشدهاند، تقریبهای بهتری از جواب نهایی به دست میآید. این فرایند باعث میشود که نسلهای جدید با شرایط مسئله سازگارتر باشند. بهمنظور حل هر مسئله، ابتدا باید یک تابع برازندگی برای آن ابداع شود. این تابع برای هر کروموزوم، عددی را برمیگرداند که نشاندهنده شایستگی آن کروموزوم است. در طی مرحله تولید نسل از عملگرهای ژنتیکی استفاده میشود که با تأثیر آنها بر روی یک جمعیت، نسل بعدی تولید میشود. عملگرهای انتخاب، آمیزش و جهش معمولاً بیشترین کاربرد را در الگوریتمهای ژنتیکی دارند. تعدادی شروط خاتمه برای الگوریتم ژنتیک وجود دارد ازجمله: تعداد مشخصی نسل، عدم بهبود در بهترین شایستگی جمعیت در طی چند نسل متوالی و عدمتغییر بهترین شایستگی جمعیت تا یکزمان خاص.
در اکثر مواقع طبقهبندی کنندههای SVM و K نزدیکترین همسایه کار آیی بالایی را ارائه میکنند و پسازآن ها شبکه عصبی، درختهای تصمیم و روش ساده بیزی قرارگرفتهاند.
خلاصهسازی
* عملیاتی است که مقدار متن را در یک مستند، با حفظ معنای اصلی آن، کاهش میدهد.
استراتژیهای مهم:
۱- روشهای آماری
۲- روشهای مکاشفهای
در خلاصهسازی، کاربر تعیین مینماید که متن خلاصهشده، چند درصد از متن اصلی باشد.
منظور از خلاصهسازی، روند ساختن مجموعهای مفاهیم پایهای از متن است تنها در چند خط. این نوع از متنکاوی به نظر میرسد که اطلاعات جدیدی از متن به دست ندهد به این دلیل که خود نویسنده احتمالاً میدانسته است که چه چیزی میخواسته است بگوید و خلاصهی نوشتههای او، اطلاع جدیدی را اضافه نمیکند. گرچه این کار میتواند بررسی محتویات مستندات را برای کاربران سادهتر کند و آنها را در مسیر رسیدن به آنچه نیاز دارند، سرعت دهد.
ردیابی موضوع
سیستم ردیابی موضوع بهوسیله نگهداری پروفایل کاربران و بر اساس مستنداتی که کاربر تاکنون دیده است، پیشبینی سایر مستنداتی که ممکن است برای کاربر جالب باشد را انجام میدهد.
مثال کاربردی: اعلام داروی جدید یا اعلام رقیب جدید
ارتباطدهنده مفاهیم
مستندات موجود را از طریق تشخیص مفاهیم مشترکی که دارند به هم ارتباط داده و به این وسیله کاربران قادر خواهند بود تا اطلاعاتی را پیدا نمایند که از طریق روشهای جستجوی سنتی قادر به یافتن آنها نیستند.
ازجمله واقعیتهایی که میتوان از یک مجموعه متون دریافت، ارتباط و وابستگی برخی مفاهیم با مفاهیم دیگراست. این واقعیات بهطور مثال میتواند بگوید که پدیدار شدن بعضی کلمات ممکن است که وابسته باشد بهظاهر شدن بعضی دیگر از کلمات. منظور این است که هرگاه شما مجموعهی اول کلمات را ببینید، ما میتوانیم انتظار داشته باشیم که مجموعهی دوم لغات را نیز ببینیم. این مفهوم نیز از دادهکاوی در دیتابیس به امانتگرفته شده است.
نمایش اطلاعات
* منابع متنی زیاد را در سلسلهمراتب بصری یا نقشه قرار داده و امکان جستجو بر روی آنها را فراهم میآورد.
* Informatik V’S docminer ابزاری است که قادر به نمایش حجم زیادی از اطلاعات در نقشه بوده و بدین طریق تحلیل تصویری آن را ارائه میدهد.
پرسش و پاسخ
در پاسخ به پرسشهای زبان طبیعی، طریقه پیدا کردن بهترین پاسخ به پرسشهای مطرحشده موردتوجه است
دانشگاه MIT اولین سیستم پاسخگویی به سؤالات زبان طبیعی را بانام START را پیادهسازی نموده است.
در پرسش و پاسخ میتواند از تکنیکهای مختلف متنکاوی استفاده کرد.
کاوش مبتنی بر متن
کاربر را قادر میسازد تا در مجموعهای از مستندات بر اساس موضوعات مرتبط و عبارات مشخص حرکت کرده و مفاهیم کلیدی را تشخیص دهد.
تجزیهوتحلیل گرایشها
* برای مشخص نمودن گرایشهای مستنداتی که در طول زمان مشخص جمعآوریشدهاند بهکاربرده میشود.
* مثلاً برای تشخیص آنکه یک شرکت علایق خود را از یک موضوع به موضوع دیگری تغییر داده بکار میرود.
یافتن و تحلیل ترندها
برای شرح این کاربرد فرض کنید که مدیر یک کمپانی تجاری هستید. مشخصاً شما بایستی همواره بر فعالیتهای رقیبانتان نظارت داشته باشید. این میتواند هر نوع اطلاعاتی باشد که شما از اخبار، معاملات بورس و یا از مستندات تولیدشده توسط همان کمپانی رقیب گرفتهاید. حال حاضر که اطلاعات بهطور فزایندهای در حال افزایش است، مدیریت تمامی این منابع دادهای قطعاً تنها به کمک چشمان ممکن نیست. متنکاوی این امکان را میدهد که بهطور اتوماتیک ترندها و تغییرات جدید را بیابید. درواقع آنچه اصولاً باید از متنکاوی انتظار برود این است که به شما بگوید چه اخباری در میان گسترهای از اخبار به آنچه میخواهید مرتبط است و در این میان کدام خبر جدیداست، چه پیشرفتهایی در زمینهی کاری شما صورت میگیرد و علایق و ترندهای فعلی چگونه است و با چه روندی تغییر میکند. با استفاده از این اطلاعات، مدیر تنها از اطلاعات کشفشده برای بررسی وضعیت رقیب میتواند سود جوید.
بهعنوان خلاصهای از عملیات متنکاوی میتوان گفت:
اقتباس واژه، اساسیترین شکل متنکاوی است؛ مانند تمام تکنیکهای دیگر متنکاوی اطلاعات را از داده ساخت نیافته به یک فرمت ساخته یافته نگاشت میدهد. سادهترین ساختمان داده در متنکاوی، بردار ویژگی یا لیست وزندار کلمات است. مهمترین کلمات در یک متن به همراه اندازه اهمیت نسبی آنها فهرست میشود. متن به فهرستی از واژگان و وزنها کاهش مییابد. کل معناشناختی یک متن ممکن است وجود نداشته باشد، ولی مفاهیم کلیدی شناسایی میشوند. برای انجام این کار، متنکاوی شامل این مراحل است:
۱ -حذف کلماتی که معمولاً استفاده میشوند (مثل the،and و(other یا همان کلمات توقف
۲ -جایگزینی کلمات با واژهها یا ریشههایشان (مثلاً، حذف شکل جمع کلمات و حروف ربط مختلف و صرفها). در این مرحله، واژههایphoning phones،phoned، به phone نگاشت میشوند.
۳ -مترادفها و عبارات را در نظر بگیرید. کلماتی که مترادف هستند باید به طریقی ترکیب شوند. مثلاً، student و pupil باید با یکدیگر گروهبندی شوند. ولی باید دقت کرد که مثلاً Microsoft Windows به سیستمعامل کامپیوتر اشاره دارد، ولی Windows ممکن است به یک پروژه خانهسازی مرتبطتر باشد.
۴ -وزنهای ریشههای باقیمانده را محاسبه کنید. رایجترین روش، محاسبه فرکانسی است که کلمه با آن پدیدار میشود. دو معیار رایج وجود دارد: واژه فرکانس یا tf factor، تعداد واقعی دفعاتی را که یک کلمه در یک سند ظاهرشده است، اندازهگیری میکند و فرکانس سند وارون یا idf factor تعداد دفعاتی را نشان میدهد که کلمه در تمام اسناد در یک مجموعه آمده است. استدلال این است که یک tf factor بزرگ، وزن را افزایش میدهد، درحالیکه یکidf factor بزرگ، آن را کاهش میدهد، زیرا واژههایی که مکرراً در تمام اسناد روی میدهند، کلمات رایجی در صنعت هستند و مهم در نظر گرفته نمیشوند اجزای متعددی در یک سیستم متنکاوی وجود دارند، ازجمله این موارد:
*سیستمی برای مدیریت اسناد به شکلهای گوناگون. مثلاً، متن ساده، فرمتهای واژهپرداز وPDF از منابع مختلف (مثلاً، فایلها، فرمهای وب، ایمیلها). اجزای مورداستفاده برای پردازش این اسناد و ایجاد فایلهای دادهای که میتوانند متنکاوی شوند. اینها عبارتاند از: تقسیمکنندههای جملات، بخشهایی از کلام، taggerها، …، پارسرهای کامل، …، خلاصه کنندهها و الیآخر.
*ابزارهای دادهکاوی از قبیل الگوریتمهای خوشهبندی، الگوریتمهای طبقهبندی و الیآخر. علاوه بر این ابزارها، تعدادی از فروشندگان دادهکاوی، قابلیتهای متنکاوی را دربستههای نرمافزاری خود ارائه میدهند. به دلیل اینکه ناحیه هنوز در دست تحقیق و توسعه است، قابلیتهای نرمافزار بهسرعت تغییر میکند. در انتهای مقاله برخی از ابزارها نامبرده شدهاند.
زمینههای مرتبط با متنکاوی
دادهکاوی، بازیابی اطلاعات، یادگیری ماشین، پردازش زبان طبیعی و استخراج اطلاعات از زمینههای مرتبط با متنکاوی هستند. این تکنیکها به همراه هم برای کشف خودکار الگوها در اطلاعات استخراجشده و متادیتای بهدستآمده از مستندات بکار میروند.
میتوان گفت که متنکاوی از تکنیکهای بازیابی اطلاعات، استخراج اطلاعات همچنین پردازش کردن زبان طبیعی استفاده کرده و آنها را به الگوریتمها و متدهای KDD، دادهکاوی، یادگیری ماشین و آماری مرتبط میکند. با توجه به ناحیههای تحقیق گوناگون، بر هر یک از آنها میتوان تعاریف مختلفی از متنکاوی در نظر گرفت در ادامه برخی از این تعاریف بیان میشوند:
متنکاوی = استخراج اطلاعات:
در این تعریف متنکاوی متناظر با استخراج اطلاعات در نظر گرفته میشود (استخراج واقعیتها از متن)
متنکاوی = کشف داده متنی:
متنکاوی را میتوان بهعنوان متدها و الگوریتمهایی از فیلدهای یادگیری ماشین و آماری برای متنها باهدف پیدا کردن الگوهای مفید در نظر گرفت. برای این هدف پیشپردازش کردن متون ضروری است. در بسیاری از روشها، متدهای استخراج اطلاعات، پردازش کردن زبان طبیعی یا برخی پیشپردازشهای ساده برای استخراج داده از متون استفاده میشود. سپس میتوان الگوریتمهای دادهکاوی را بر رویدادههای استخراجشده اعمال کرد.
ایده اولیه استخراج دانش از متن یا کشف دانش برای اولین بار توسط آقای فلدمن در سال ۱۹۹۵ مطرح گردید. وی پیشنهاد داد تا از مفهوم طبقهبندی مستندات جهت تفسیر مقالات با توجه به معنا و مفهومشان و سازماندهی آنها در ساختارهای سلسله مراتبی مطرح نمود. برای اولین بار، بحث خلاصهسازی دادهها و کشف الگوهای مفید را مطرح نمود.
کاربردهای عملی متنکاوی:
۱ Spam filtering:
یکی از مهمترین جنبههای کشف اسپم از طریق استخراج اطلاعات متنی موجود در ایمیل و استفاده از آنها برای جداسازی است. برای فیلتر کردن اسپمها با استفاده از متنکاوی میتوانید از کلاسیفایر بیز برای ساخت فیلتر اسپم بر روی کلمات داخل پیام استفاده کنید. البته از کلاسیفایرهای دیگر هم میتوان استفاده کرد ولی بهجز کلاسیفایر های ترکیبی، این کلاسیفایر بهتر است. این کلاسیفایر احتمالی نسبت میدهد که یک سمپل جدید در یک کلاس هست یا خیر. از کلماتی که داخل پیام هستند و کلماتی که نیستند میتوان احتمال اسپم یا ham (غیر اسپم) بودن را محاسبه کرد.
۲: توصیه و پیشنهاد دادن: مانند آمازون
هدف یک recommendation system مبتنی بر متنکاوی برای کمک به تصمیمگیری برای مشتریان در سفارش آنلاین محصولات این است که به مشتریان این اجازه را بدهد که علایق خود را با فرمت متنی بیان کنند و بدین ترتیب علایق آنها را جمعآوری کرده و برای پیشنهادها و توصیههای دقیق استفاده میکرد. این سیستم از تکنیک متنکاوی برای یادگیری ویژگیهای محصول و بهتبع آن پیشنهاد محصولاتی که مطابق با علایق مشتریان باشد استفاده میکند. مقالهای درباره سیستمهای توصیه گر یا پیشنهاددهنده بهصورت مجزا در ماهنامه رایانه قرار دادهشده است.
۳: متنکاوی و موتورهای جستجو
تکنیک اصلی مورداستفاده موتورهای جستجو بازیابی اطلاعات است. مرحله اول متنکاوی در موتورهای جستجو طبقهبندی متن است: در این حالت از مقولههای چندبعدی برای تشریح (گروهی از) اسناد استفاده میشود. توصیفات غنیتر هستند و برای توسعه آن مقوله پرهزینهاند. مرحله بعدی جستجوی معنایی وب است که متن را آنالیز زبانشناختی کرده و از تکنیکهای کاملاً آماری هم استفاده میکند؛ و مرحله بعدی کلاسترینگ مفهومی است که نتایج جستجو را بر اساس موضوع گروهبندی میکند و اسناد را بر اساس کلماتی که در اسناد پیداکرده کلاستر میکند.
۴: مانیتور کردن نظرات افراد (برای مثال در وبلاگها یا نظرات موجود در سایتها)
۵: آنالیز بازخورد یا فیدبک تجربه مشتریان
۶: خدمات مشتریان، پشتیبانی ایمیل
۷: برچسبگذاری خودکار اسناد در کتابخانههای شرکتها
۸: بررسی و ارزیابی ارجحیتهای مشتریان با آنالیز مصاحبههای کیفی
۹: تشخیص تقلب با بررسی نوتیفیکیشن مطالبهها
۱۰: مبارزه با زورگیری سایبری یا جرائم نرم در چت IRC و IM
۱۱: پیشنهاد محصول در) check-out جستجوها(
۱۲: مدیریت روابط مشتریان
۱۳: تحلیل رسانههای اجتماعی
مرتب کردن بلادرنگ نامههای الکترونیکی یا فایلها در سلسله مراتبی از پوشهها، تشخیص موضوع متن، جستجوی ساختیافته یا پیدا کردن اسنادی که در راستای علایق کاربر است، ازجمله کاربردهای مبحث طبقهبندی (دسته بندی-کلاسه بندی ) متن هستند.
دیگر مزایای text mining
اگر متنی دارید و درباره الگوها و روابط و … که در متن وجود دارد کنجکاو هستید میتوانید از متنکاوی استفاده کنید. متنکاوی هنگام ۱: خلاصهسازی اسناد، ۲: استخراج مفهوم از متن، ۳: ایندکس گذاری متن برای استفاده در آنالیزهای پیش بینانه بسیار مفید است.
کاربرد متنکاوی در صنایع هواپیمایی:
ثابتشده متنکاوی ابزار ارزشمندی در اقتباس دانش سازمانی از گزارشها به شکل دیجیتال است. تحلیلگران از نرمافزار متنکاوی برای تمرکز بر نواحی کلیدی از طریق شناسایی الگو استفاده میکنند. مثلاً، شرکتها در صنعت هواپیمایی میتوانند متنکاوی را بر گزارشهای تصادفی برای افزایش کیفیت دانش سازمانی به کار برند. آنها میتوانند مشکلات مکانیکی، سازمانی و رفتاری را به روشی منظم از طریق کاربرد متنکاوی مطالعه کنند. خطوط هوایی با تحلیل کامل و نظاممند از عملیات کار میکنند. یک گزارش سانحه هنگامی تهیه میشود که رویدادی روی میدهد که ممکن است منجر به مشکلی گردد. مسائل کلیدی ممکن است از تعداد زیادی از گزارشهای سانحه با استفاده از متنکاوی شناسایی شوند. پایگاههای داده عظیمی که خطوط هوایی نگهداری میکنند دارای تفسیر انسانی محدودی هستند و اصطلاحشناسی که برای یک کامپیوتر داریم، متفاوت از انسان است. مثلاً، دادههایی از Aer Lingus (aerlingus.com) در طی دوره زمانی ژانویه ۱۹۹۸ تا دسامبر ۲۰۰۳ که برای یافتن الگوهای و وابستگیها استفاده شد، منجر به تحلیل بیشتر و توسعه مدل گردید.
متنکاوی گزارشهای سوانح هوایی میتواند سوانحی را شناسایی کند که ممکن است منجر به دردسر شده باشند. متنکاوی میتواند با مجموعه بزرگی از گزارشهای داده سانحه برای تأیید اعتبار تئوریهای از پیش تعیینشده و برای برگزیدن الگوهای جدید دانش استفاده شود.
متنکاوی برای اقتباس موجودیتها و اشیا برای تحلیل فرکانس، تعیین فایلهایی که صفات خاصی برای تحلیل آماری بیشتری دارند و ایجاد ویژگیهای داده کاملاً جدید برای مدلسازی پیشبینی استفاده میشود. این سه روش، ابتدا در ارتباط با نمونههایی ازجمله لاستیکهای firestone در ford suvs استفاده شد.
یکی دیگر از کاربردهای متنکاوی دیدگاه کاوی است که نظرات دادهشده کاربران به یک موضوع خاص در یک تایپک، وبلاگ یا غیره را بررسی میکند.
کاربرد بعدی نظارت است یعنی نظارت کردن رفتار شخص یا گروهی از انسانها بهصورت پنهان. پروژهای به نام ENCODA تلفن، اینترنت و دیگر وسایل ارتباطی را برای شناسایی تروریسم نظارت میکند.
شناسایی نامهای مستعار: نامهای مستعار در مراقبتهای پزشکی برای شناسایی تقلبها آنالیز میشوند. برای مثال یک صورتحساب ممکن است بانام John Smith، J. Smith و Smith, John ارائه شود. از این طریق یا بهوسیله روشهای دیگری مطالبه کنندگان ممکن است سوءاستفاده کنند و مطالبات حق بیمه زیادی تحت نامهای مستعار مختلف ارائه دهند.
ابزارها
در این قسمت برخی از ابزارهای متنکاوی که اکثر آنها رایگان هستند معرفی میشوند.
پلاتین استخراج اطلاعات در rapidMiner
rapidMiner یک فریم ورک کدباز معروف است یا به عبارتی یک workbench تحلیلات کسبوکار کامل با تمرکز شدید برداده کاوی، متنکاوی و predictive analytics است. این ابزار از مجموعه گستردهای از تکنیکهای توصیفی و پیش بینانه برای ارائه آگاهی کافی به کاربر برای انجام تصمیمگیری مناسبتر استفاده میکند. این پلتفرم نرمافزاری توسط شرکتی با همین نام بهعنوان محیطی یکپارچه برای یادگیری ماشین، متنکاوی، دادهکاوی، predictive analytics و business analytics توسعه دادهشده است.
RapidMiner Studio رویهمرفته بیش از ۱۵۰۰ عملیات برای همه کارهای مربوط به تحلیل داده حرفهای انجام میدهد از تقسیم داده تا تحلیل مبتنی بر بازار این ابزار دربردارنده همه ابزارهایی است که برای اینکه بتوان از داده به نحو مفید استفاده کرد میباشد. بهعلاوه ابزارهایی برای متنکاوی، وب کاوی، automatic sentiment Analysis در فروم های بحث در اینترنت sentiment analysis) و(opinion mining و همینطور تحلیل سریهای زمانی و پیشبینی هم در این ابزار وجود دارد.
Information Extraction Plugin استفاده از تکنیکهای استخراج اطلاعات در RapidMiner را میسر میکند. میتوان از آن بهعنوان اینترفیسی میان زبان طبیعی و IE یا روشهای دادهکاوی با استخراج اطلاعات ارزشمند از اسناد یادکرد.
Extension متنکاوی در rapidminer از یک کلاس خاص برای کار با اسناد استفاده میکند: Document-class. این کلاس کل اسناد در ترکیب با متا اطلاعات دیگر را در بردارد. در مورد متنکاوی اسناد به نشانههای منحصربهفرد تقسیم میشوند که برای دستهبندی کل اسناد استفاده میشود. برای اهداف استخراج اطلاعات سند نشانهگذاری میشود (tokenize) و ترتیب این نشانههای حفظ میشود بنابراین نشانهگذارهایی در آن تعبیهشده که قادر به پردازش مجموعههای نمونه (examplesets) استخراجشده از کلاسهای اسناد هستند. به کاربردن این نشانهگذارها منجر به یک صفحه گسترده (spreadsheet) میشود که دربردارنده نشانهها با یک ترتیب خاص یعنی همانطور که در سند یافت شدهاند میباشد. هر نشانه شامل یک شماره خاص است که نشان میدهد از کدام واحد عمومی ایجادشده است. برای مثال هر word-token یک جمله خاص دربردارنده شماره جمله است درحالیکه هر sentence-token از یک سند شامل شماره سند است.
در این فرایند متنکاوی، یک سند لود میشود، به exampleset ای حاوی نمونهای که متن کامل سند را دارد تبدیل میشود و دو نشانهگذار (tokenizers) متن را به چندین نشانه (مثال یا نمونهها) تبدیل میکند. سومین عملگر متن را به جملهها تقسیم میکند و چهارمین عملگر جملات را به کلمات تبدیل میکند. پس از به اتمام رسیدن فرایند دیتاست بهدستآمده حاوی نمونههایی است که هر یککلمهای را نگهداری میکنند. بهعلاوه کلمات دربردارنده شماره جملات هستند و امکان دسترسی به همه کلمات یک جمله را میسر میکنند.
NetOwl Extractor
http://www.textmining.com/
NetOwl Extractor ابتدا برای پر تقاضاترین برنامههای اطلاعاتی دولتی ساخته شد و مبتنی بر زبانشناسی محاسباتی پیشرفته و پردازش زبان طبیعی است. با آنالیز هوشمندانه ساختار و محتوای درونمتن این ابزار میتواند بهدقت اطلاعات کلیدی را شناسایی کند. این ابزار یک سیستم ایندکس گذاری اتوماتیک است که عبارات اصلی را در متن پیدا و کلاسیفای میکند مانند نامهای شخصی، نام شرکتها، نام مکانها، تاریخها و … این ابزار همه نامههای یکسان را پیداکرده و نامها را به موجودیت مشابه به آن لینک میدهد. تشخیص دینامیک را با جستجوی استاتیک ترکیب میکند تا بهدقت بالا رسیده و با سرعت بالایی به نتیجه برسد.
TextAnalyst: natural language text analysis software
http://www.megaputer.com/html/textanalyst.html
TextAnalyst یک سیستم متنکاوی است که تعدادی تابع آنالیز مهم را با تکیهبر استفاده از یک شبکه معنایی ایجادشده خودکار از متن موردبررسی، پیاده میکند. مزیت اصلی آن در برابر سایر سیستمهای بازیابی اطلاعات و تحلیل متن این است که میتواند شبکه معنایی یک متن را بهطور کامل و بهصورت خودکار بدون نیاز به از پیش توسعه دادن یک دیکشنری موضوعی خاص توسط انسان درآورد. کاربر مجبور نیست به این ابزار هیچ اطلاعات پسزمینهای از موضوع بدهد سیستم این دانش را بهصورت خودکار به دست میآورد پس با این حساب از یکی از تکنیکهای یادگیری ماشین بی ناظر استفاده میکند.
Intelligent Miner for Text
http://www-4.ibm.com/software/data/iminer/fortext/
مربوط به شرکت IBM software است. این ابزار مجموعه جامعی از ابزارهای تحلیل متن و جستجوی متن ارائه میکند:
The Language Identi¯cation tool: این ابزار بهصورت خودکار زبان سند را پیدا میکند میتوانید آن را برای پوشش دادن زبانهای دیگر آموزش دهید (از روشهای یادگیری ماشین با ناظر (کلسیفایینگ) میتوان استفاده کرد).
The Feature Extraction tool: این ابزار آیتمهای لغت را در متن پیدا میکند خودش بهصورت خودکار این کار را انجام میدهد و نیازی نیست شما محدودهای که مربوط به لغت است را برای آن تعیین کنید.
The Summarizer tool این ابزار کلمات و جملات را در سند آنالیز میکند و از سند یک خلاصه ایجاد میکند.
The Topic Categorization tool این ابزار بهصورت خودکار اسناد را به مقولهها، تایپک ها یا زمینههایی که از قبل تعیین کردید نسبت میدهد.
The Clustering tools این ابزار مجموعهای از اسناد را به گروهها یا کلاسترهایی تقسیم میکند. اعضای هر کلاستر به هم شبیه هستند زیرا از ویژگیهای مشترکی برخوردارند. این کلاسترهای از قبل تعیینشده نیستند.
ICrossReader
http://www.insight.com.ru/
تنها اسناد بسیار مرتبط را در www پیدا میکند. متنهای داخلی یک پایگاه داده غیر ساختیافته را اسکرین کرده و اطلاعات را کلاستر معنایی میکند.
Yahoo Planet
http://www-ai.ijs.si/DunjaMladenic/yplanet.html
در این ابزار چندین مقوله برتر بهعنوان برنامههای جداگانه گرفته میشود و برای هر یک از آنها یک کلاسیفایر خودکار ساخته میشود.
Dataset
http://www.ds-dataset.com/default.htm
این ابزار از دیتابیسهای رابطهای و Focused Informa-tion Retrieval استفاده میکند. تکنولوژی RDB یا دیتابیس رابطهای باقابلیتهای منحصربهفرد این ابزار برای مدیریت متن ترکیبشده و استفاده میشود. این ابزار، ابزارهای بازیابی و جستجوی جامعی فراهم میکند که میتواند آیتمها را تقریباً بهصورت آنی با کلمات، عبارات و … پیدا کند.
Texis
http://www.thunderstone.com/jump/texisdetail.html
این ابزار تنها SQL RDBMS کاملاً یکپارچه است که بهصورت هوشمندانه پایگاه دادههایی را که شامل متون زبان طبیعی، دیتا تایپهای استاندارد، تصاویر، ویدئو، صوت و سایر دادهها هستند کوئری و مدیریت میکند. میتوانید در آن متن را با هراندازهای ذخیره کنید و این اطلاعات را با زبان طبیعی بپرسید.
نرمافزار Text analytics میتواند با پسوپیش کردن و تبدیل کلمات و اصطلاحات و عبارات دادههای غیر ساختیافته به مقادیر عددی که بدین ترتیب پسازآن بتواند آنها را با دادههای ساختیافته موجود در دیتابیس لینک کند و با روشهای دادهکاوی تحلیل کند در این زمینه کمک کند. سازمانها میتوانند با یک رویکرد تکرار گونه از Text analytics برای آگاهی یافتن از ارزشهای محتوایی خاص مانند احساس، عاطفه و شدت و ارتباط استفاده نمایند. ازآنجاییکه تکنولوژی Text analytics هنوز بهعنوان یک تکنولوژی در حال ظهور محسوب میشوند، نتایج و عمق تحلیلها میتواند از فروشندهای به فروشنده دیگر تغییر کند.
GATE
GATE معماری عمومی Text Engineering است و یک جعبهابزار کدباز برای پردازش زبان طبیعی و مهندسی زبان است. این ابزار یک سیستم استخراج اطلاعات به نام ANNIE دارد که دربردارنده مجموعهای از ماژولهاست مانند tokenizer، یک gazetteer، یک تقسیمکننده جمله، یک part of speech tagger و ….
Carrot2
این ابزار یک چارچوب کلاسترینگ نتایج جستجو و متن است. این ابزار میتواند بهطور اتوماتیک مجموعههای کوچکی از اسناد، نتایج جستجو یا خلاصه اسناد را بر اساس زمینه آنها کلاستر کند.
SAS Text Analytics
SAS یک نرمافزار تحلیل متن جامع است برای کشف و استخراج اطلاعات از متن. این ابزار از مدلسازی آماری پیشرفته، پردازش زبان طبیعی و تکنولوژیهای زبانشناختی پیشرفته برای کشف الگوها از هر متن به هر زبان استفاده میکند. این ابزار در سیستمهای اخطار فوری، هوش شهری، امنیت بیمار و عملکرد محتوای دیجیتال استفاده میشود.
نمونههایی دیگر از نرمافزارهای متنکاوی
۱-Copernic Summarizer (www.Copernic.com)
۲- Wizdoc (www.wizsoft.com)
۳-Insight Discoverer Categorizer(www.temis-group.com)
۴- Insight Discoverer Clusterer (www.temis-group.com)
۵- TextAnalyst (www.megaputer.com)
۶- SPSS (www.spss.com)
منابع
http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=4035880&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D4035880
http://www.predictiveanalyticstoday.com/top-30-software-for-text-analysis-text-mining-text-analytics/
http://en.wikipedia.org/wiki/List_of_text_mining_software
http://searchbusinessanalytics.techtarget.com/essentialguide/Tapping-the-potential-of-social-media-analytics-tools#guideSection2
http://en.wikipedia.org/wiki/Text_mining
http://www.statsoft.com/Textbook/Text-Mining
http://www.predictiveanalyticstoday.com/top-11-free-software-for-text-analysistext-mining-text-analytics/
http://arxiv.org/pdf/0807.2569.pdf
http://text-analysis.sourceforge.net/practical-applications
http://www3.cs.stonybrook.edu/~cse634/presentations/TextMining.pdf
http://www.emis.de/journals/NSJOM/Papers/38_3/NSJOM_38_3_227_234.pdf
https://staff.fnwi.uva.nl/j.c.vangemert/pub/textminingtools.pdf
Role of Text Mining in Search Engine from Jay R Modi
http://text-analysis.sourceforge.net/practical-applications
http://www.optimizationgroup.com/methods/text-mining
Role of Text Mining in Search Engine from Jay R Modi
http://www3.nd.edu/~steve/computing_with_data/20_text_mining/text_mining_example.html#/
http://rasekhoon.net/article/show/166623/%D9%85%D 8%AA%D9%86%20%DA%A9%D8%A7%D9%88%D9%8A/
——————————-
برگردان: هدی ابیضی
منبع: ماهنامه کامپیوتری رایانه www.rayanehmag.net
گروه توسعه اندیشه نوین: اندیشه، تلاش و خلاقیت
یکی از سایتهای جالب درزمینه دادهکاوی که با در اختیار گذاشتن خدمات و اطلاعات, معرفی کتاب و مقالات مختلف درزمینه های مختلف علم دادهکاوی در اینترنت وجود دارد مربوط به گروه توسعه اندیشه نوین است که فعالیت خودش را در پارک علم و فناوری استان گیلان آغاز کرده است این گروه عموماً متشکل از دانشجویان و فارغالتحصیلان دانشگاه گیلان در رشتههای مختلف بوده که با همکاری یکدیگر درزمینههای مختلف فعالیت خود را ادامه دادند.
سایت گروه توسعه اندیشه نوین با آدرس زیر در اختیار علاقهمندان است.
این سایت در قسمت مربوط به خدمات دادهکاوی به دو قسمت خدمات دادهکاوی و آکادمی دادهکاوی و بیگ دیتا تقسیم میشود؛ که در هرکدام از قسمتها مطالب و سرویسهای خاصی قرار دادهشده است تا در اختیار علاقهمندان قرار گیرد. لینک مربوط به این دو قسمت در زیر قرار دارد.
خدمات دادهکاوی: https://www.tanoco.ir/contact
آکادمی دادهکاوی و بیگ دیتا: https://www.tanoco.ir/datamining