آیا تا به حال به این موضوع اندیشیدهاید که «موتورهای جستجوی» (Search Engines) نظیر «گوگل» (Google) و «بینگ» (Bing)، چگونه معانی و مفاهیم موجود در حجم عظیمی از اطلاعات سطح وب را درک میکنند و به راحتی قادر هستند اطلاعات مرتبط با پرس و جوی کاربران را بازیابی کنند؟ پاسخ به این سؤال، «متن کاوی» (Text Mining) است. متن کاوی، این توانایی را برای سیستمهای کامپیوتری ایجاد میکند تا بتوانند اطلاعات معنادار را از «دادههای متنی غیر ساختیافته» (Unstructured Text Data) استخراج کنند.
مقدمهای بر متن کاوی
شاید مانند بسیاری از مفاهیم مرتبط با «پردازش زبان طبیعی» (Natural Language processing)، درک و فهم متن کاوی، ساز و کارها و مفاهیم آن کمی سخت به نظر بیاید. با این حال، در این متن سعی شده است با زبانی ساده، مقدمات متنکاوی، تکنیکها و روشهای مختلف آن و دلیل اهمیت متن کاوی شرح داده شود.
متنکاوی، که به آن «تحلیل متن» (Text Analysis) نیز گفته میشود، فرایند تبدیل دادههای متنی غیر ساختیافته به اطلاعات با معنا و عملی است. متن کاوی، از طریق شناسایی «موضوعات» (Topics)، «الگوها» (Patterns) و «کلمات کلیدی» (Keywords) مرتبط به کاربران اجازه میدهد بدون نیاز به بررسی دستی حجم عظیمی از اطلاعات، دانش و اطلاعات مفیدی از دادههای متنی غیر ساخت یافته به دست آورند.
به کمک متنکاوی، شرکتهای تجاری قادر هستند تا مجموعه دادههای بزرگ و پیچیده را به شکل ساده، سریع و بسیار مؤثری تجزیه و تحلیل کنند. همچنین، شرکتهای بزرگ از این ابزار مفید بهره میبرند تا حجم کارهای دستی و بعضا تکراری کارمندان و هدر رفت زمان با ارزش تیمهای پشتیبانی و شاغل در شرکت را کاهش دهند.
برای واضحتر شدن موضوع، به این سناریو دقت کنید. فرض کنید شما یک شرکت نرمافزاری هستید که محصولات خود را به صورت سرویسهای تحت وب ارائه میدهید. شما، به عنوان مدیر استراتژی شرکت قصد دارید تا بفهمید مشتریان از کدام یک از محصولات شما رضایت دارند، کدام محصول نیاز به بهبود دارد و چه ویژگیهای جدیدی نیاز است به محصولات شرکت اضافه شود. در چنین حالتی، الگوریتمهای متن کاوی میتوانند موضوعات مهمی که در نظرات مشتریان نمایان میشوند را شناسایی و احساسات (منفی، مثبت و خنثی) آنها در قبال یک محصول خاص را تجزیه و تحلیل کنند.
به عبارت دیگر، متنکاوی از طریق استخراج اطلاعات و دانش مفید از دادههای سازمانی و غیرسازمانی مرتبط، منجر به ایجاد تصمیمات تجاری داده محور (Data-Driven Business Decisions) بهتر در شرکتها میشوند. در این جا، شاید این سوال برای شما پیش بیاید که متن کاوی چگونه میتواند تمامی این موارد را محقق کند؟ پاسخ به این سوال در مفهوم «یادگیری ماشین» (Machine Learning) نهفته است.
یادگیری ماشین یکی از زیر شاخههای «هوش مصنوعی» (Artificial Intelligence) و هدف آن، تولید الگوریتمهایی است که کامپیوتر را قادر به یادگیری انجام وظایف، بر مبنای نمونهها (دادهها) میکنند. مدلهای یادگیری ماشین، پیش از آنکه مورد استفاده قرار بگیرند، باید توسط دادهها آموزش داده شوند. پس از آموزش، مدلهای یادگیری ماشین قادر خواهند بود تا به طور خودکار و با درصد دقت مشخصی، در مورد دادههای ورودی پیشبینی انجام دهند. وقتی که متنکاوی و یادگیری ماشین با هم ترکیب شوند، «تحلیل اتوماتیک متن» ممکن میشود.
اجازه دهید به مثال قبلی شرکت نرمافزاری تولید کننده محصولات تحت وب باز گردیم. فرض کنید که شما مایل هستید تا نظرات مشتریان را در موضوعات خاصی نظیر «طراحی واسط کاربری» (User Interface Design)، باگها، قیمت گذاری محصولات و پشتیبانی مشتریان دستهبندی کنید. اولین کاری که باید انجام دهید، آموزش یک «مدل دستهبند موضوع» (Topic Classifier Model) است. برای این کار، تعدادی نمونه آموزشی که منعکس کننده نظرات مشتریان است فراهم میشوند. سپس، این نمونهها به عنوان ورودی به مدل آموزشی داده میشوند. پس از چند تکرار، مدل یاد خواهد گرفت که میان نظرات متعلق به دستههای مختلف تفاوت قائل شود. پس از پایان آموزش، مدل یادگیری دستهبندی موضوع قادر خواهد بود نظرات مشتریان به یکی از موضوعات مشخص شده تخصیص دهد.
باید توجه داشت که برای افزایش دقت مدل دستهبند موضوع، لازم است تا تعداد زیادی داده به عنوان داده آموزشی به سیستم داده شود. همچنین، دادههای آموزشی حتما باید منعکس کننده دامنه مسألهای باشند که مدل یادگیری برای حل آن ارائه شده است. پس از آشنایی با مفهوم متن کاوی، در مرحله بعد، تفاوت میان مفاهیم متنکاوی، «تحلیل کیفی متن» (Text Analysis) و «تحلیل کمی متن» (Text Analytics) مورد بررسی قرار میگیرد.
تفاوت میان مفاهیم متن کاوی، تحلیل کمی و کیفی متن
مفاهیم متن کاوی و تحلیل کیفی متن معمولا مترادف هستند. با این حال، مفهوم تحلیل کمی متن، تا حدودی متفاوت از دو مفهوم دیگر است. به اختصار، مدلهای متنکاوی و مدلهای تحلیل کمی متن سعی دارند مسألهای یکسان (تحلیل خودکار دادههای متنی خام) را به وسیله تکنیکهای متفاوت حل کنند. تکنیکهای متن کاوی، اطلاعات مرتبط درون یک متن را شناسایی میکنند و در نتیجه، نتایج کیفی تولید میکنند. در نقطه مقابل، هدف تکنیکهای تحلیل کمی متن، یافتن الگوهای موجود در مجموعههای بزرگ داده است. در نتیجه، تکنیکهای تحلیل کمی متن، معمولا نتایج کمی تولید میکنند. این تکنیکها معمولا برای تولید دادهنما، جدول و دیگر انواع گزارشات بصری مورد استفاده قرار میگیرند.
متنکاوی، مفاهیم آمار، زبانشناسی و یادگیری ماشین را ترکیب میکند تا مدلهای هوشمندی برای یادگیری رفتار و مدل دادههای آموزشی تولید کند. مدل هوشمند یادگیری ماشین به سیستم اجاز میدهد تا براساس دادههای آموزشی، پیشبینیهای جدیدی در مورد دادههای ورودی جدید تولید کند (به عنوان نمونه، دستهبندی موضوعی دادههای متنی غیر ساخت یافته جدید را پیشبینی کند). در نقطه مقابل، تحلیل کمی متن از نتایج حاصل از تحلیلهای انجام شده توسط مدلهای متن کاوی، برای تولید دادهنما و انواع مختلفی از واسطهای بصری داده استفاده میکند.
انتخاب مدل متنکاوی یا روش تحلیل کمی متن مناسب که بتواند نیازهای اطلاعاتی سازمانها و یا شرکتهای تجاری را محقق کند، بستگی زیادی به نوع اطلاعات در دسترس دارد. در غالب موارد، مدلهای متن کاوی با روشهای تحلیل کمی متن ترکیب و دادههای حاوی محتوای متنی تحلیل میشوند. نتایج تحقیقات نشان داده است که چنین رویکردی، سبب تولید جوابهای به مراتب بهتری نسبت به روشهای دیگر تحلیل متن خواهد شد.
روشها و تکنیکها
تاکنون، روشها و تکنیکهای متفاوتی برای متنکاوی توسعه داده شده است. در این بخش سعی شده است تا تعریف مفید و مختصری از برخی روشهای ساده و پیشرفته در حوزه متن کاوی ارائه شود.
روشهای ساده متن کاوی
در ادامه، برخی از روشهای ساده برای تحلیل دادههای متنی آورده شده است.
روشهای مبتنی بر تناوب کلمات (Word Frequency)
از روشهای مبتنی بر تناوب کلمه برای شناسایی متناوبترین لغات یا مفاهیم موجود در مجموعهای از دادههای متنی استفاده میشود. در کاربردهایی نظیر تحلیل نظرات مشتریان، گفتگوهای میان کاربران در شبکههای اجتماعی یا بازخورد مشتریان نسبت به یک محصول یا سرویس خاص، پیدا کردن کلماتی که پیش از همه در دادههای متنی غیر ساخت یافته ظاهر شدهاند، نقش مهمی در تولید اطلاعات با معنی و استخراج دانش از این دادهها خواهند داشت. به عنوان نمونه، در صورتی که لغاتی نظیر «گران» (Expensive)، «قیمت بیش از حد» (Overpriced) و «مبالغه در مورد امکانات» (Overrated)، به طور متناوب در نظرات مشتریان ظاهر شود، بهتر است که شرکتهای تجاری ارائه دهنده این محصول یا خدمات قیمتها (و یا بازار هدف این محصول یا سرویس) را کمی تغییر دهند.
روشهای مبتنی بر باهمگذاری یا هماتفاقی کلمات (Word Collocation)
اصطلاح باهمگذاری یا هماتفاقی کلمات، به دنبالهای از کلمات یا مفاهیم اطلاق میشود که معمولا در یک داده متنی در کنار همدیگر (همسایگی یکدیگر) ظاهر میشوند. شایعترین نوع کلمات یا مفاهیم باهمگذاری (هماتفاقی)، «دو کلمهایها» (Bigrams) و «سه کلمهایها» (Trigrams) هستند. دو کلمهایها، عباراتی دو کلمهای هستند که معمولا در کنار یکدیگر اتفاق میافتند. به عنوان نمونه، در زبان انگلیسی عباراتی نظیر (Get Started)، (Save Time) و (Decision Making) نمونهای از عبارات دو کلمهای هستند. به طور مشابه، سه کلمهایها، عباراتی سه کلمهای هستند که معمولا در بیشتر زمینههای موضوعی کنار یکدیگر اتفاق میافتند. به عنوان نمونه، در زبان انگلیسی عباراتی نظیر (Within Walking Distance) و (Keep In Touch) سه کلمهای هستند.
شناسایی عبارات باهمگذاری یا هماتفاق (و در نظر گرفتن آنها به عنوان یک کلمه)، نقش مهمی در بهبود فرایند شناسایی واحدهای سازنده یک داده متنی غیر ساخت یافته خواهد داشت. چنین کاری، به مدل متنکاوی اجازه میدهد تا درک بهتری از ساختار معنایی موجود در دادههای متنی پیدا کند و به تبع آن، نتایج دقیقتری از تحلیلهای متن کاوی حاصل شود.
روشهای مبتنی بر راهنمای لغات (Concordance)
اصطلاح راهنمای لغات، به لیستی از لغات یا مفاهیم موجود در یک سند به همراه مشخصه محل ظاهر شدن آنها اطلاق میشود. از روشهای مبتنی بر راهنمای لغات، برای بازشناسی یک «زمینه محتوایی» (Context) خاص استفاده میشود که یک کلمه یا مجموعهای از کلمات در آن ظاهر شدهاند. باید توجه داشت که ویژگی ذاتی زبانهای انسانی، ابهام موجود در آنها است. یکی از مشکلات موجود در پیادهسازی مدلهای متن کاوی این است که یک کلمه میتواند در زمینههای محتوایی متفاوتی استفاده شود. تحلیلهای مبتنی بر راهنمای لغات از یک کلمه، به سیستم اجازه میدهد تا معنای دقیق یک کلمه در زمینه محتوایی که در آن ظاهر میشود را درک کند.