ما هر روزه با زبانِ فارسی با هم گفتوگو میکنیم. انگلیسیها هم با زبانِ انگلیسی با یکدیگر صحبت میکنند. به این صورت است که زبان، ابزاری برای ارتباط با همنوعان درآمده است. به این زبان، زبانِ طبیعی(Natural Language) میگویند و مشکلِ اصلیِ آن(از نگاهِ کامپیوتر) این است که کامپیوتر به صورت پیشفرض فقط ۰ها و ۱ها را میفهمد. یعنی یک کامپیوتر نمیتواند زبانِ طبیعیِ محاورهایِ ما را متوجه شود. برای همین نیاز است تا یک مجموعه عملیات(Processes) بر روی این زبان طبیعی انجام شود(Natural Language Processing یا همان NLP) تا بتوان آن را برای کامپیوتر قابل فهم کرد. بعد از آن میتوان از قدرتِ کامیپوتر در محاسبات و یادگیری ماشین استفاده کنیم تا اطلاعاتِ ارزشمندی را از میان این دادهها استخراج کنیم.
برای درکِ بهتر، وبسایت اخبار گوگل را ببینید. در این وبسایت، اخبارِ روزانه که از منابعِ خبریِ مختلف جمعآوری و به صورت دستهبندی شده بر اساس اولویت و اهمیت ردهبندی میشوند. برای مثال برخی از اخبار، ورزشی هستند و برخی دیگر سیاسی. گوگل برای اینکه بتواند این دستهبندی همراه با اهمیتِ هر خبر را تشخیص دهد، میتوانست چند صد اپراتور(انسان) را استخدام نماید و این کار را به صورت دستی انجام دهد. اما با کمک الگوریتمهای مبتنی بر متن و متنکاوی، گوگل متنهای خبری را به کامپیوتر میدهد و کامپیوتر بعد از انجام عملیاتِ پردازش و آنالیزِ متن، برای مثال میتواند بفهمد که یک خبر ورزشی است یا سیاسی یا اقتصادی! و بعد با کمکِ همین درک از متن، دستهبندیِ مختلفی بر روی این اخبار انجام دهد. همچنین با کمک الگوریتمهای آنالیز متن و آنالیز گراف، میتواند اهمیتِ این یک خیر را درک کرده و اخبار با اهمیت بیشتر را بالاتر نمایش دهد.
مثالِ بالا یک نمونه از کاربردهای پردازشِ متن بود. پردازشِ متن و متنکاوی(Text Mining) در کنار الگوریتمهای یادگیریِ ماشین و دادهکاوی میتواند منجر به خروجیهای مفیدی شود. برای مثال ترجمهی خودکار متون، ساختن ربات خودکار جهت تعامل با کاربر، تشخیص تقلب در پایاننامهها و… از کاربردهای مختلف حوزهی متنکاوی و آنالیز متن میباشد.
متن کاوی و داده كاوي
داده کاوی روشي بسيار كارا براي كشف اطلاعات از داده هاي ساخت يافته است. متن كاوي مشابه داده كاوي است، اما ابزارهاي داده كاوي طراحي شده اند تا داده هاي ساخت يافته از پايگاه داده را به كار ببرند. ميتوان گفت، متن كاوي راه حل بهتری براي شركتها است. پس تفاوت متن كاوي و داده كاوي این است که داده كاوي بر روي داده هاي ساخت يافته پايگاه داده كار مي كند و متن كاوي، بر روي داده هاي غير ساخت يافته و نيم ساخت يافته مانند 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، داده کاوی، یادگیری ماشین و آماری مرتبط می کند. با توجه به ناحیه های تحقیق گوناگون، بر هر یک از آن ها می توان تعاریف مختلفی از متن کاوی در نظر گرفت در ادامه برخی از این تعاریف بیان می شوند:
متن کاوی = استخراج اطلاعات:
در این تعریف متن کاوی متناظر با استخراج اطلاعات در نظر گرفته می شود (استخراج واقعیت ها از متن)
متن کاوی = کشف داده متنی:
متن کاوی را می توان به عنوان متدها و الگوریتم هایی از فیلدهای یادگیری ماشین و آماری برای متن ها با هدف پیدا کردن الگوهای مفید در نظر گرفت. برای این هدف پیش پردازش کردن متون ضروری است. در بسیاری از روش ها، متدهای استخراج اطلاعات، پردازش کردن زبان طبیعی یا برخی پیش پردازش های ساده برای استخراج داده از متون استفاده می شود. سپس می توان الگوریتم های داده کاوی را بر روی داده های استخراج شده اعمال کرد.
ایده اولیه استخراج دانش از متن یا کشف دانش براي اولين بار توسط آقاي فلدمن در سال ۱۹۹۵ مطرح گرديد. وي پيشنهاد داد تا از مفهوم طبقه بندي مستندات جهت تفسير مقالات با توجه به معنا و مفهومشان و سازماندهي آنها در ساختارهاي سلسله مراتبي مطرح نمود. براي اولين بار، بحث خلاصه سازي داده ها و كشف الگوهاي مفيد را مطرح نمود.
منابع: