متن کاوی چیست؟

مقاله زیر خلاصه ای از نتایج مطالعه چندین مقاله معتبر انگلیسی و فارسی بوده و سعی در ارائه توضیحاتی هر چند مختصر درباره متن کاوی یا 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 برای تولید خودکار لیبل ها (ویژگی ها) از ویژگی هایی که به آن داده شده استفاده می کند.
در شکل زیر روش bag of word نشان داده شده که تعداد تکرار لغات موجود در متن را در جدول زیر در کنار آن لغت آورده است.
در این روش که در ادامه هم کامل توضیح داده شده هر لغت به عنوان یک متغیر جداگانه که وزن عددی دارد نمایش داده شده. محبوب ترین روش وزن دهی هم روش 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  براي ساخت درخت تصميم :
۱) انتخاب ويژگي براي گره ريشه
۲) ايجاد شاخه براي هر مقدار از آن ويژگي
۳) تقسيم موارد با توجه به شاخه ها
۴)تكرار روند براي هر شاخه تا زماني كه تمام موارد شاخه، كلاس يكسان داشته باشند.
انتخاب هر ويژگي به عنوان ريشه بر پايه بالاترين حصول از هر صفت است.
الگوريتم 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

http://text-analysis.sourceforge.net/practical-applications

Text Mining


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/

——————————-

برگردان : هدی ابیضی

3 دیدگاه

  1. با سلام
    خیلی مطلب مفید و آموزنده ای بود خیلی استفاده کردم اگر امکان دارد در مورد متن کاوی و هستان شناسی هم مطلب بگذارید چون واقعا منبع فارسی و مقاله در این مورد کم و یا اصلا نیست.

    با تشکر و سپاس فراوان

  2. خیلی عالی زحمت زیادی کشیدید برای این مقاله .
    ممنونم دوست عزیز

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نخواهد شدعلامتدارها لازمند *

*

x

شاید بپسندید

آیا در کارها حضور بشر لازم است؟

رشد تکنولوژی، نیاز به نیروی کار را انسانی را در بسیاری از ...