<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های textmining</title>
        <link>https://virgool.io/feed/@textmining</link>
        <description>سرویس‌های متن‌کاوی و پردازش متن فارسی‌یار</description>
        <language>fa</language>
        <pubDate>2026-06-17 01:59:47</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/27707/avatar/94xAz1.png?height=120&amp;width=120</url>
            <title>textmining</title>
            <link>https://virgool.io/@textmining</link>
        </image>

                    <item>
                <title>تبدیل متن به بردارهای عددی - بخش اول - مقدمه</title>
                <link>https://virgool.io/textmining/feature-extraction-from-text-jwko3whd3ucr</link>
                <description>استخراج و انتخاب ویژگی‌های مناسب (Relevant features) از یک مجموعه داده نقش حیاتی در بهبود کیفیت و کارایی روش‌های یادگیری ماشین دارند. خصوصاً در داده‌های با تعداد ابعاد بالا مانند متون، داده‌های بیان ژنی (Gene expression data)، تصویر، صوت، ویدئو و غیره انتخاب ویژگی امری ضروری است.هدف از استخراج ویژگی‌های عددی از متناغلب روش‌های یادگیری ماشین بر روی داده‌های عددی قابل اجرا هستند و برای استفاده و اجرای آنها روی داده‌های متنی نیاز به تبدیل متون به مجموعه اعداد است. پس هدف رویکردهای مختلف تبدیل متن به بردارهای عددی، استخراج و انتخاب مجموعه‌ای از ویژگی‌های مناسب از متون زبان طبیعی است که در مرحله بعد بوسیله روش‌های یادگیری ماشین از قبیل دسته‌بندی متون (Text classification) استفاده می‌شوند. بطور کلی، استخراج ویژگی از مجموعه داده‌ها با دو هدف انجام می‌شود:افزایش کارایی و سرعت روش‌های دسته‌بندی با کاهش ابعاد و اندازه داده‌ها: بخصوص جهت بکارگیری برخی روش‌های دسته‌بندی که فاز آموزش آنها هزینه و سربار زمانی یا حافظه‌ای بالایی دارند (مانند SVM)، این امر ضروری است.افزایش دقت روش‌های دسته‌بندی: با حذف ویژگی‌های نویزی (که وجود آنها باعث افزایش خطای دسته‌بندی برای داده‌های جدید می‌شوند) و استخراج ویژگی‌های مناسب (که باعث نزدیک شدن داده‌های درون دسته‌ها و تمایز بیشتر بین داده‌های دسته‌های مختلف می‌شوند).رویکردهای مختلف بازنمایی برداری متونبه فرایند تبدیل متن به اعداد، بردارسازی (vectorization) یا بازنمایی برداری (vector representation) متون  یا مدل بردار کلمات (vector space model - VSM) می‌گویند. رویکردهای مختلفی برای بردارسازی متون زبان طبیعی وجود دارند:رویکرد کیف کلمات (bag-of-word - BOW)کدگذاری دودویی (Binary) یا وان‌هات (One-Hot Encoding)بردارسازی شمارشی (Frequency/Count Vectorizer) یا وزن‌دهی مبتنی بر TF-IDFبردارسازی درهم (Hashing Vectorizer)شمارش چندگانه‌ها (Word/Char N-gram)رویکرد بازنمایی توزیع شده (Distributed Representation) و انتقال یادگیری (Transfer Learning)روش‌های تعبیه کلمات (Word Embedding) و متن از قبیل:Word2Vec، GloVe، Doc2Vec، FastTextو ...روش‌های مبتنی بر یادگیری عمیق (Deep Learning) از قبیل: Embedding Layer در شبکه عصبیاستفاده از بردارهای از پیش آموزش داده شده (pre-trained models) از قبیل: Elmo، GPT، BERT، GPT2، XLM، XLNet، Transfom-XL، DistillBERT و ...جایگاه پیش‌پردازش در بازنمایی برداری متنیکی از مراحل مهم در فرایند متن‌کاوی پیش‌پردازش متن است. اغلب پیش‌پردازش متن در ابتدای فرایند متن کاوی و با یکی از اهداف ذیل انجام می‌شود:پاک‌سازی و استانداردسازی متن از قبیل: اصلاح نویسه‌ها، فاصله و نیم‌فاصله‌ها، وندها یا کلمات مرکب جدانوشته شده، تبدیل کلمات محاوره‌ای و کاراکترهای حسی (ایموجی) به شکل استاندارد، ریشه‌یابی و ...غنی‌سازی یا حاشیه‌نویسی متن (افزودن اطلاعات جانبی مفید به متن) از قبیل: برچسب‌زنی نقش ادات سخن، گسترش معنایی کلمات (افزودن کلمات هم‌معنی یا هم‌کاربرد با کلمات کلیدی داخل متن) و ...حذف ویژگی‌های اضافه (کلمات بدون ارزش) از قبیل: حذف کلمات توقف، انتخاب کلیدواژه‌ها یا موجودیت‌های نامی و حذف سایر کلمات و ...گرفته شده از مقاله مفهوم فرایند متن‌کاوی در وبلاگ متن کاوی فارسی‌یارپیشنهاد می‌کنیم، برای اطلاع بیشتر درباره فرایند متن کاوی به این مقاله و برای آشنایی با ابزارهای پردازش متن به این مقاله مراجعه بفرمایید.در بخش‌های بعدی این مقاله درباره رویکردهای مختلف بازنمایی برداری متون صحبت خواهیم کرد.استفاده از این مقاله با ذکر منبع سامانه متن کاوی فارسی‌یار‌ - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Mon, 16 Sep 2019 07:27:11 +0430</pubDate>
            </item>
                    <item>
                <title>پیکره اخبار فارسی‌یار (مناسب برای زمینه‌های مختلف متن کاوی)</title>
                <link>https://virgool.io/textmining/farsiyar-news-corpus-ds76f5tdfrk1</link>
                <description>با توجه به کمبود پیکره‌های متنی بزرگ و مناسب برای فعالیت‌های پردازش زبان طبیعی متن کاوی در زبان فارسی، تصمیم به تهیه یکی از بزرگترین پیکره‌های متن باز فارسی گرفتیم. به این منظور حجم زیادی از اخبار چند خبرگزاری بصورت تفکیک شده (بخش‌های مختلف خبر اعم از عنوان، خلاصه، متن اصلی، تاریخ، نظرات، برچسب‌ها و ...) و قابل استفاده در مسائل مختلف متن کاوی گردآوری شدند. پیکره اخبار در حال حاضر شامل دو بخش (مجموعه اخبار دو خبرگزاری) است. این پیکره هم‌اکنون در این آدرس برای استفاده محققان بصورت رایگان قرار داده شده است.بخش اول پیکره اخبار، شامل اخبار سال 1397 خبرگزاری باشگاه خبرنگاران جوان است. در این پیکره بخش‌های (فیلدهای) مختلف حدود 1000000 خبر (بصورت تفکیک شده) در قالب فایل JSON ذخیره شده است. با توجه به اطلاعات مفید جمع‌آوری شده، استفاده از این پیکره علاوه بر تحلیل‌های آماری و ساخت مدل‌های تعبیه کلمات، برای کاربردهای مختلف متن کاوی نظیر خلاصه‌سازی خودکار، تشخیص موضوع (زمینه) متن خبر (دسته‌بندی متون) و میزان مفید بودن نظرات، قابل استفاده است.در این بخش از پیکره (YJC) برای هر خبر فیلدهای ذیل وجود دارد:عنوان خبر (Title)تاریخ انتشار (Date)گروه/نوع خبری (بصورت فارسی و انگلیسی) (CatPanel و CatFa، CatEn) - هر خبر می‌تواند یک یا دو گروه (و زیرگروه) خبری داشته باشد.متن نرمال‌شده خلاصه خبر (Summary)متن نرمال‌شده اصلی خبر (Body)برچسب‌های خبر (Tag)نظرات (CommentItemPanel) شامل: 1.تاریخ، 2.تعداد رای مثبت و منفی، 3.متن نظرنمونه خبر (یک سطر) از اخبار باشگاه خبرنگاران جوان: https://gist.github.com/ehsanasgarian/15e7347036e014daded6e9e4630decd7 بخش دوم پیکره اخبار، شامل اخبار سال 1397 خبرگزاری فارس‌نیوز است. در این پیکره بخش‌های (فیلدهای) مختلف حدود 286000 خبر (بصورت تفکیک شده) در قالب فایل JSON ذخیره شده است. با توجه به اطلاعات مفید جمع‌آوری شده، استفاده از این پیکره برای مسائل زیادی در حوزه متن کاوی قابل استفاده است.در این بخش از پیکره اخبار (FarsNews) برای هر خبر یک سطر از فایل json شامل فیلدهای ذیل در نظر گرفته شده است:عنوان خبر (NewsTitle)تاریخ انتشار  (NewsDate)گروه/نوع خبری بصورت فارسی و انگلیسی (CategoryPanel و CategoryEn، CategoryFa) - هر خبر می‌تواند یک یا دو گروه (و زیرگروه) خبری داشته باشد.متن نرمال‌شده خلاصه خبر (NewsSummary)متن نرمال‌شده اصلی خبر (NewsBody)نظرات (CommentsJsonArray) شامل: 1.تاریخ، 2.مشخصات نویسنده، 3.متن نظر، 4.پاسخ‌های هر نظر (در صورت وجود)نمونه خبر (یک سطر) از اخبار فارس‌نیوز: https://gist.github.com/ehsanasgarian/8e2b7318bbd78c114025f0d2a8f8cd92 </description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Wed, 17 Jul 2019 11:27:45 +0430</pubDate>
            </item>
                    <item>
                <title>مفهوم و فرآیند متن کاوی و ارتباط آن با پردازش زبان طبیعی</title>
                <link>https://virgool.io/textmining/text-mining-process-tapz6y4qbz8r</link>
                <description>رابطه متن کاوی با شش حوزه علمی مرتبط با آنتعریف و مفهوم متن کاویبه فرایند پیدا کردن قوانین و الگوهای غیربدیهی، جدید (از قبل نامشخص)، مخفی، احتمالاً مفید و کاربردی از انبوه داده‌های (پیکره) مستندات را متن کاوی (Text Mining) یا تحلیل متن (Text Analytics) می‌گویند. در تعریف دیگر، متن کاوی به فرایند تحلیل و اکتشاف انبوهی از متون غیرساخت‌یافته بوسیله نرم‌افزار به منظور شناسایی مفاهیم، الگوها، موضوعات، کلیدواژه‌ها و دیگر ویژگی‌های داده‌های متنی گفته می‌شود. به عبارت دیگر هدف متن کاوی، کشف معنا (مفهموم و هدف) و استخراج اطلاعات نهفته (برای مثال موجودیت‌ها و روابط) در داده‌های متنی است.فرایند متن کاویمتن کاوی نوعی داده کاوی بر روی داده‌های متنی است. ولی هدف، تکنیک‌ها و فرآیند آن کمی متفاوت از داده کاوی است. برای مثال ممکن است هدف از متن کاوی، خلاصه‌سازی مستندات، تشخیص موضوع متن، شناسایی حس نویسنده و ... باشد. در شکل زیر فرآیند و روال متداول متن کاوی نشان داده شده است.در اغلب زمینه‌های متن کاوی نیاز به پیش‌پردازش متن با استفاده از ابزارهای پردازش زبان طبیعی و سپس تبدیل داده‌های متنی به بردارهای عددی داریم.  منظور از ابزارهای پردازش متن، کتابخانه‌هایی است که برای آماده‌سازی متن جهت متن کاوی و استخراج دانش از متن بکار می‌روند. ان‌شاء‌الله بزودی در مقاله‌ای جداگانه درباره انواع مدل‌های زبانی و رویکردهای تبدیل متن به بردارهای عددی بطور مفصل صحبت خواهیم کرد. در گام بعد با توجه به هدف و صورت مساله، فرایند اصلی متن کاوی (داده کاوی برای داده‌های متنی) انجام می‌شود. در نهایت، نتایج خروجی متن کاوی بعد از ارزیابی نیاز به بصری‌سازی (Visualization) برای نمایش به شخص خبره (مدیران) دارد. همچنین با بازنمایی دانش (Knowledge Representation) با استفاده از تکنیک‌های وب معنایی (Semantic Web) از قبیل تهیه هستان‌شناسی (Ontology)، قابلیت استنتاج و تهیه گزارشات مختلف امکان‌پذیر خواهد بود.پیشنهاد می‌کنیم برای آشنایی بیشتر با حوزه متن کاوی، مطالب تهیه شده در خصوص مفاهیم پردازش زبان طبیعی، کاربردهای متن کاوی و ابزارهای پردازش متن را مطالعه بفرمایید. مسائل و زمینه‌های اصلی متن کاویهمانطور که در شکل بالای این نوشته مشاهده می‌کنید، حوزه متن کاوی (دایره پررنگ وسط) شامل 7 زمینه و مساله اصلی است:دسته‌بندی متون (Document Classification): فرایند انتخاب بهترین برچسب (موضوع یا نمایه، نوع حس، ...) برای متون بدون برچسب (untagged documents) از مجموعه برچسب‌های از قبل مشخص شده، با استفاده از مدلی که از روی متون برچسب‌گذاری شده (داده‌های آموزشی) یادگرفته و ساخته شده است. به عبارت دیگر ابتدا از روی مجموعه مستندات دارای برچسب (که داده آموزشی نام دارند) یک مدل محاسباتی (پیشگو) ساخته می‌شود که به این مرحله، یادگیری مدل یا آموزش می‌گویند. به دلیل وجود داده آموزشی و برچسب‌دار به دسته‌بندی یک روش باناظر (Supervised) می‌گویند. در مرحله بعد، با استفاده از بخش مجزایی از مستندات دارای برچسب (که در ابتدا از داده‌های آموزشی جدا کردیم) مدل ساخته شده را تست می‌کنیم تا میزان دقت آن برای پیشبینی برچسب مستندات مجموعه تستی ما مشخص شود. به این مرحله، آزمایش یا تست می‌گویند. اگر کیفیت مدل ساخته شده مطلوب نباشد، باید به مرحله اول برگشته و پارامترهای الگوریتم دسته‌بندی یا روش ساخت مدل را تغییر دهیم و در غیراین‌صورت به مرحله بعد می‌رویم. در نهایت در مرحله آخر با استفاده از مدل از ساخته شده، به پیشبینی و تشخیص برچسب سایر مستندات بدون برچسب می‌پردازیم که به این مرحله، بکارگیری می‌گویند.خوشه‌بندی متون (Document Clustering): به فرایند گروه‌بندی مستندات مشابه درون خوشه‌های مختلف خوشه‌بندی می‌گویند. به دلیل عدم استفاده از داده‌های برچسب‌دار به خوشه‌بندی یک روش بدون ناظر یا بدون نظارت (Unsupervised) گفته می‌شود. پس دو عامل 1- فرمول و نحوه محاسبه شباهت/فاصله داده‌های متنی و 2- رویکرد و نحوه گروه‌بندی (نوع الگوریتم و پارامترهای آن) در نتایج خوشه‌بندی موثر هستند.بازیابی اطلاعات (Information Retrieval-IR): فرایند شاخص‌گذاری (indexing)، جستجو (searching) و بازیابی و استخراج (retrieving) مستندات از بین مجموعه داده‌های عظیم متنی با توجه به کلیدواژه‌های پرس‌وجو (query) را بازیابی اطلاعات می‌گویند. مهم‌ترین کاربرد بازیابی اطلاعات در موتورهای جستجوی وب از قبیل گوگل، بینگ، یاهو و ... دیده می‌شود.وب کاوی (Web Mining): فرایند داده و متن کاوی روی محتوای صفحات و ارتباطات (لینک‌های) بین صفحات وب را وب کاوی می‌گویند. صفحات وب حالتی نیمه‌ساخت‌یافته از متون و لینک (ارتباط) به صفحات دیگر تشکیل شده‌اند. لذا یک رویکرد متداول برای وب‌کاوی، بازنمایی صفحات وب در قالب گراف و تحلیل گراف وب هست. امروزه زیرشاخه‌ای از وب‌کاوی برای تحلیل شبکه‌های اجتماعی مانند فیس‌بوک، توئیتر و ... بسیار مورد توجه پژوهشگران و کسب‌وکارهای مختلف قرار گرفته است.استخراج اطلاعات (Information Extraction-IE): فرایند شناسایی و استخراج موجودیت‌های مناسب و همچنین روابط بین آنها از درون متن (غیرساخت‌یافته) را استخراج اطلاعات می‌گویند. به عبارت دیگر استخراج اطلاعات فرایندی برای پردازش داده‌های غیرساخت‌یافته (مثل متن، تصویر، صوت، ...) یا نیمه‌ساخت‌یافته (مثل صفحات وب، XML، ...) و ساخت (تبدیل کردن آنها به) مجموعه داده ساخت‌یافته (از قبیل جداول پایگاه‌داده) است. استخراج اطلاعات به دو نوع باز (عمومی) و بسته (خاص و در حوزه مشخص) تقسیم می‌شود. فیلد استخراج اطلاعات یکی از زمینه‌های مهم و بسیار دشوار متن کاوی است.پردازش زبان طبیعی (Natural Language Processing-NLP): هدف آن، پردازش سطح پایین و فهم (درک) زبان و بخصوص متن توسط کامپیوترها است. معمولاً معادل با اصلاح زبان‌شناسی محاسباتی (computational linguistics) بکار گرفته می‌شود، هرچند که اغلب زبان‌شناسان زبان‌شناسی محاسباتی را کلی‌تر از پردازش زبان طبیعی می‌دانند.استخراج مفاهیم (Concept Extraction): فرایند گروه‌بندی کلمات و عبارات‌های متن درون گروه‌های مشابه معنایی را استخراج مفاهیم می‌گویند. معمولاً از تکنیک‌های آماری (مانند n-grams یا هم‌رخدادی)، تعبیه کلمات (word embedding)، مدل‌سازی موضوعات (topics modeling) و خوشه‌بندی متون و کلمات برای استخراج مفاهیم استفاده می‌شود.ارتباط بین زمینه‌های مختلف متن کاویدر شکل زیر یک طبقه‌بندی جالب از مسائل و زمینه‌های مختلف متن کاوی در قالب یک درخت تصمیم انجام شده است.طبقه‌بندی نه‌چندان دقیق از مسائل و زمینه‌های تحقیقاتی اصلی در حوزه متن کاویدر شکل زیر نیز علاوه بر نمایش اشتراک و رابطه بین زمینه‌های مختلف متن کاوی، فیلدها و مسائل مهم مربوط به هر زمینه نشان داده شده است.نمایش زمینه‌های اصلی متن کاوی (بیضی) و مسائل مهم موجود در هر زمینه (برچسب‌های درون بیضی‌ها)کاربردهای متن کاوی در دنیای واقعیقبلاً در مقاله دیگری درباره مسائل کاربردی متن کاوی از قبیل خلاصه‌سازی خودکار، نمایه‌زنی (تشخیص موضوع) متن، تحلیل احساسات، چت‌بات‌ها، مترجم‌‌های ماشینی، موتورهای جستجو و ... صحبت کردیم. اکنون قصد معرفی کاربردهای ابزارها و تکنیک‌های متن کاوی در حوزه‌های مختلف زندگی بشر را داریم :تجارت و کسب‌وکارها : کاربردهایی از قبیل تحلیل حس و میزان رضایتمندی مشتریان نسبت به محصولات یا شرکت‌ها، گرایش و علاقه بازار نسبت به ویژگی‌های مختلف محصولات، شناسایی سلیقه یا رویدادهای زندگی کاربر و تبلیغات موثر، شناسایی خودکار و فیلتر نظرات نامناسب (غیرقابل انتشار) کاربران و ...اقتصادی : تحلیل اخبار و پیشبینی شاخص‌های مختلف اقتصادی، تحلیل و شناسایی رابطه بین رویدادهای مختلف با شاخص‌های اقتصادی، تحلیل بازار بورس و ...سیاسی : تحلیل شبکه‌های اجتماعی برای شناسایی حس و میزان رضایتمندی مردم نسبت به کاندیداهای انتخاباتی و موضوعات مختلف جامعه، شناسایی موضوعات داغ (Trend) و تحلیل شکل‌گیری، گسترش و جهت‌دهی آنها، شناسایی شایعات و اخبار جعلی (Fake News) در فضای مجازی و ...کتابخانه‌ای : نمایه‌زنی و دسته‌بندی موضوعی مقالات و کتاب‌ها، مشابهت‌یابی بین مستندات مختلف، جستجوی (غیردقیق) متن یا عبارت در بین حجم انبوه منابع و ...جامعه‌شناسی و روان‌شناسی : تحلیل علائق، خصوصیات و خلقیات افراد، شناسایی و تحلیل لحن و نحوه بیان نشریات و رسانه‌های مختلف برای القای مقصود خود به افراد و ...حقوقی و جرم‌شناسی : تشخیص سرقت ادبی، تشخیص نویسنده متن (با توجه به سبک نگارش)، شناسایی انواع پیام‌ها یا نظرات مشکوک، تبلیغاتی، دارای عبارات توهین‌آمیز و ...آموزش : ویرایش و اصلاح متون، کمک به انسان برای یادگیری زبان‌های جدید، ...زیست‌شناسی : نام این فیلد به متن کاوی داده‌های زیستی (Biomedical Text Mining) معروف است که بیشتر روی تحلیل تعاملات بین توالی پروتئین آنها و ارتباط و وابستگی بین آنها با بیماری‌ها با استفاده از تکنیک‌های متن کاوی تمرکز دارد.روزمره : مترجم‌ها، موتورهای جستجو، دستیارهای صوتی و متنی، چت‌بات‌ها و سیستم‌های پرسش و پاسخ و ...بعضی تصاویر و مطالب برگرفته از کتاب Practical Text Mining and Statistical Analysis for Non-structured Text Data Applications هستند. استفاده از مطالب این مقاله با ذکر منبع &quot;سامانه متن کاوی فارسی‌یار‌ - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Fri, 05 Jul 2019 15:44:07 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی کتاب‌های برتر در زمینه متن کاوی و پردازش زبان طبیعی</title>
                <link>https://virgool.io/textmining/%D9%85%D8%B9%D8%B1%D9%81%DB%8C-%DA%A9%D8%AA%D8%A7%D8%A8%D9%87%D8%A7%DB%8C-%D8%A8%D8%B1%D8%AA%D8%B1-%D8%AF%D8%B1-%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%85%D8%AA%D9%86-%DA%A9%D8%A7%D9%88%DB%8C-%D9%88-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B7%D8%A8%DB%8C%D8%B9%DB%8C-i7gidd1rnw8k</link>
                <description>چنانچه قصد یادگیری عمقی و اصولی مباحث مرتبط با متن کاوی را دارید به شما توصیه می‌کنیم که این مطلب را دنبال کنید. سعی کردیم اینجا بهترین کتاب‌ها و مقالات آموزشی برای آشنایی و یادگیری مفاهیم متن کاوی و پردازش زبان طبیعی را معرفی کنیم. در این نوشته، کتاب‌های مفید در 4 حوزه ذیل برای محققین و علاقمندان معرفی می‌گردند:مفاهیم پایه پردازش زبان طبیعیآموزش کاربردی متن کاویبازیابی اطلاعاتزبان‌شناسی پیکره‌ایبرای دریافت رایگان نسخه الکترونیکی کتاب‌ها، با ما در تماس باشید.1- مفاهیم پایه پردازش زبان طبیعیکتاب Foundations of Statistical Natural Language Processingاین کتاب در سال 1999 توسط انتشارات MIT منتشر شده و یکی از منابع اصلی پردازش زبان طبیعی در دانشگاه‌ها است. این کتاب شامل 680 صفحه در قالب 4 بخش و 16 فصل هست. بخش اول، مربوط به بیان مقدمات، مفاهیم و پیش‌نیازهای پردازش زبان طبیعی است. بخش دوم، درباره مفاهیم پردازش زبان طبیعی در سطح واژه از قبیل مدل n-gram، ابهام‌زدایی معنایی کلمات و اهمیت نقش‌های نحوی کلمات است. بخش سوم، به بیان مفاهیم گرامر از قبیل مدل مارکوف، برچسب‌زنی نقش ادات سخن، گرامر مستقل از متن و تجزیه‌گر آماری می‌پردازد. بخش چهارم درباره تکنیک‌ها و کاربردهای پردازش زبان طبیعی شامل مترجم‌های ماشینی، خوشه‌بندی متون، بازیابی اطلاعات و دسته‌بندی (باناظر) متون است.مطالعه این کتاب به افراد علاقمند به آشنایی کلی با متن کاوی توصیه نمی‌شود.کتاب Speech and Language Processingویرایش دوم این کتاب در سال 2008 توسط انتشارات Prentice Hall منتشر شد و جزء منابع خوب دانشگاهی و دارای حدود 1000صفحه در قالب 5 بخش و 25 فصل است. در بخش اول بعد از مقدمه درباره مفاهیم پردازش زبان طبیعی در سطح واژه از قبیل عبارات باقاعده، تزاروس، n-grams، نقش‌های نحوی کلمات و مدل مخفی مارکوف صحبت شده است. بخش دوم، درباره سطح آوایی از لایه‌های پردازش زبان طبیعی است. در بخش سوم به سطح نحوی پردازش زبان طبیعی شامل گرامر زبان، تجزیه‌گرهای مبتنی بر گرامر مستقل از متن، تجزیه‌گر آماری و پیچیدگی‌های زبانی پرداخته شده است. بخش چهارم درباره سطح معنایی و کاربردگرایی است. در بخش آخر نیز درباره کاربردهایی برای پردازش زبان طبیعی از قبیل استخراج اطلاعات، سیستم پرسش و پاسخ، خلاصه‌سازی خودکار، چت‌بات‌ها و مترجم‌های ماشینی مطالبی بیان شده است.کتاب Handbook of natural language processingویرایش دوم این کتاب در سال 2010 توسط انتشارات Chapman and Hall منتشر شده است. این کتاب نگاهی کاربردی به پردازش زبان طبیعی داشته و شامل 666 صفحه در قالب 3 بخش و 26 فصل است. بخش اول درباره رویکردهای کلاسیک پردازش زبان طبیعی برای پیش‌پردازش متن، تحلیل لغوی، تجزیه‌گر نحوی، تحلیل معنایی و تولید زبان طبیعی است. سپس بخش دوم به رویکردهای تجربی و آماری از قبیل تهیه پیکره، برچسب‌زنی treebank، مفاهیم تکنیک‌های آماری، برچسب‌زنی نقش ادات سخن، تجزیه‌گر آماری، تکنیک‌های محاسبه شباهت کلمات و متون، ابهام‌زدایی معنایی کلمات و مترجم‌های (آماری) ماشینی پرداخته است. بخش سوم به کاربردهای پردازش زبان طبیعی اختصاص دارد. در این بخش درباره کاربردهای نظیر بازیابی اطلاعات، سیستم پرسش و پاسخ، تولید خودکار گزارش، کاربرد پردازش زبان طبیعی در مجسم‌سازی داده و همچنین حوزه آموزش و سلامت و در نهایت نحوه ساخت هستان‌شناسی، متن کاوی در داده‌های زیستی و تحلیل احساسات مطالبی بیان شده است.برای آشنایی با مفاهیم و کاربردهای پردازش زبان طبیعی، مطلالعه این کتاب بسیار مفید است.همچنین برای آشنایی بهتر با روند تحقیقات در زمینه پردازش زبان طبیعی، مطالعه این مقاله را به شما توصیه می‌کنیم.2- آموزش کاربردی متن کاویکتاب Practical Text Mining and Statistical Analysis for Non-structured Text Data Applicationsاین کتاب در سال 2012 توسط انتشارات Academic Press منتشر شده است. این کتاب در 1053 صفحه و 17 فصل به بیان مفاهیم مرتبط به کاربردهای مختلف متن کاوی و Case Studyهای عملی در حوزه‌های مختلف می‌پردازد. برای آشنایی با مفاهیم و کاربردهای متن کاوی، مطلالعه این کتاب بسیار مفید است. بخصوص در سه فصل ابتدایی کتاب (تا صفحه 51) توضیحات و دید خوبی درباره مفاهیم و جایگاه متن کاوی ترسیم شده است.کتاب Mining Text Dataاین کتاب در سال 2012 توسط انتشارات Springer منتشر شده است. این کتاب شامل 522 صفحه و 14 فصل است. از آنجایی که نویسندگان مختلفی فصل‌های این کتاب را تالیف کردند، این کتاب از پیوستگی خوبی برخوردار نیست. فصل اول به بیان مقدمات و مفاهیم متن کاوی پرداخته شده و از آن به بعد در واقع در هر فصل کتاب یک survey درباره یکی از زمینه‌ها یا کاربردهای متن کاوی بیان شده است.کتاب Text Analytics with Python: A Practical Real-World Approach to Gaining Actionable Insights from your Dataاین کتاب در سال 2016 توسط انتشارات Apress منتشر شده است. این کتاب شامل 385 صفحه در قالب 7 فصل است. فصل اول درباره مفاهیم و لایه‌های پردازش زبان طبیعی است. فصل دوم مروری بر برنامه‌نویسی زبان پایتون داشته است. فصل سوم به مفاهیم پیش‌پردازش و ابزارهای پایه پردازش متن پرداخته شده است. فصل چهارم درباره مفاهیم و شبه کد پایتون مرتبط با دسته‌بندی متون است. فصل پنجم درباره تکنیک‌ها و ابزارهای استخراج کلیدواژه و خلاصه‌سازی متن است. فصل ششم درباره رویکردهای محاسبه شباهت و خوشه‌بندی متون است. در نهایت در فصل هفتم، به بیان مفاهیم شبکه واژگان، تحلیل معنایی متن و مفاهیم و روش‌های تحلیل احساسات پرداخته شده است.مطالعه این کتاب برای یادگیری کاربردی متن کاوی بهمراه استفاده از نمونه کدهای آماده پایتون توصیه می‌شود. کتاب Applied Text Analysis with Python_ Enabling Language-Aware Data Products with Machine Learningاین کتاب در سال 2018 توسط انتشارات O&#x27;Reilly Media منتشر شده است. این کتاب برای استفاده عملیاتی و کاربردی متن کاوی مناسب بوده و شامل 310 صفحه در قالب 12 فصل است. ویژگی خاص این کتاب، بیان رویکردهای جدید متن کاوی از قبیل تحلیل‌های گرافی بر روی متون، مجسم‌سازی (بصری‌سازی) متن، روش‌های مقیاس‌پذیر متن کاوی (پردازش بصورت چندهسته‌ای و با Spark) و مفاهیم یادگیری عمیق است. این کتاب نیز شامل نمونه کدهای پایتون برای استفاده راحتتر مخاطبان از مطالب بیان شده می‌باشد.کتاب Natural Language Processing in Action: Understanding, analyzing, and generating text with Pythonاین کتاب در سال 2019 توسط انتشارات Manning Publications در قالب 3 بخش و 13 فصل و 512 صفحه منتشر شده است. بخش اول درباره مفاهیم و اصول پردازش زبان طبیعی و متن کاوی از قبیل ابزارهای پیش‌پردازش متن، مدل‌سازی زبان و تحلیل معنایی و آماری متن است. بخش دوم به بیان مفاهیم یادگیری عمیق و شبکه‌های عصبی و کاربرد آنها در پردازش متن و همچنین مدل‌های تعبیه کلمات (بازنمایی برداری کلمه و متن) می‌پردازد. در بخش سوم این کتاب، درباره چالش‌ها و مسائل دنیای واقعی حوزه پردازش زبان طبیعی از قبیل شناسایی و استخراج موجودیت‌ها و ارتباطات آنها در متن، رویکردهای مختلف مورد استفاده در چت‌بات‌ها و مبحث مقیاس‌پذیری مطالب مفیدی بیان شده است. این کتاب نیز شامل نمونه کدهای پایتون برای استفاده راحتتر مخاطبان از مطالب بیان شده می‌باشد.مطالعه این کتاب به افراد ناآشنا با مفاهیم کلی پردازش زبان طبیعی و متن کاوی توصیه نمی‌شود.همچنین برای آشنایی بهتر با متن کاوی، مطالعه این فایل آموزشی را به شما توصیه می‌کنیم.3- بازیابی اطلاعاتکتاب Introduction to Information Retrievalاین کتاب در سال 2008 توسط انتشارات  Cambridge University Press منتشر شده است. این کتاب یکی از بهترین مراجع برای درس بازیابی اطلاعات متنی است. این کتاب مرجع درس بازیابی اطلاعات دانشگاه استنفورد است و برای دسترسی به نسخه HTML و مشاهده سرفصل آن می‌توانید به این لینک مراجعه فرمایید. این کتاب شامل 482 صفحه و 21 فصل هست. مطالعه این کتاب، برای آشنایی با مفاهیم و رویکردهای بازیابی اطلاعات متنی توصیه می‌شود.کتاب Text Data Management and Analysis: A Practical Introduction to Information Retrieval and Text Miningاین کتاب در سال 2016 توسط انتشارات ACM Books در قالب 4 بخش، 20 فصل و 510 صفحه منتشر شده است. در بخش اول مروری بر مفاهیم و اصول بازیابی اطلاعات شده است. در بخش دوم مسائل و رویکردهای مختلف بازیابی اطلاعات بیان شده است. بخش سوم به تکنیک‌های تحلیل داده‌های متنی از قبیل خوشه‌بندی، دسته‌بندی، خلاصه‌سازی، تحلیل موضوعات، نظرکاوی و تحلیل احساسات پرداخته است. بخش آخر درباره سیستم‌های تحلیل و مدیریت داده‌های متنی است.4- زبان‌شناسی پیکره‌ایکتاب Corpus Linguistics: Method, Theory and Practiceاین کتاب در سال 2011 توسط انتشارات Cambridge University Press در قالب 9 فصل و 294 صفحه منتشر شده است. این کتاب به بیان مفاهیم، اصول و رویکردهای زبان‌شناسی پیکره‌ای و روش‌های تولید پیکره می‌پردازد. مطالعه این کتاب برای محققین زبان‌شناسی رایانشی توصیه می‌شود.کتاب Corpus Linguistics and Linguistically Annotated Corporaاین کتاب در سال 2015 توسط انتشارات Bloomsbury Academic در قالب 4 بخش، 13 فصل و 312 صفحه منتشر شده است. بخش اول این کتاب درباره مفاهیم زبان‌شناسی پیکره‌ای و رویکردهای آن است. در بخش دوم به توضیح درباره حاشیه‌نویسی در سطح واژه، تحلیل لغوی، تحلیل نحوی، تحلیل معنایی و تحلیل مبتنی بر گفتمان (درک مطلب) پرداخته شده است. در بخش‌های بعدی درباره روش‌های زبان‌شناسی برای حاشیه‌نویسی و تولید پیکره‌های مختلف توضیح داده شده است. مطالعه این کتاب برای محققین زبان‌شناسی رایانشی توصیه می‌شود.برای دریافت رایگان نسخه الکترونیکی کتاب‌ها، با ما در تماس باشید.لطفاً اگر کتاب یا مقاله مفید دیگری درباره مفاهیم پردازش زبان طبیعی و متن کاوی می‌شناسید، در بخش نظرات به ما اعلام بفرمایید. استفاده از مطالب این مقاله با ذکر منبع &quot;سامانه متن کاوی فارسی‌یار‌ - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Wed, 26 Jun 2019 12:00:46 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی حس‌نگار : شبکه واژگان حسی فارسی</title>
                <link>https://virgool.io/textmining/hesnegar-persian-sentiment-wordnet-zj1diuqoc8ma</link>
                <description> مقدمهنظرکاوی (تحلیل احساسات) یکی از زمینه‌های کاربردی پردازش زبان طبیعی است. هدف کلی نظر کاوی مشخص نمودن میزان رضایتمندی (نوع و شدت حس) شخص نویسنده نظر هست. بدیهی است که برای ماشین تشخیص عبارات حسی و تعیین میزان حس آنها (کمی‌سازی میزان حس) بدون کمک انسان، غیر ممکن است. لذا در روش‌های تحلیل حس، ابتدا لیستی از عبارات حسی اولیه که معمولاً دارای مقدار عددی تعیین کننده میزان بار حسی می‌باشند، توسط اشخاص آشنا با زمینه نظرات تهیه شده و به عنوان ورودی به تحلیل‌گر حس متن داده می‌شود. سپس بوسیله الگوریتم‌های مختلفی لیست اولیه عبارات حاوی حس بسط و تکمیل می‌گردد و میزان و شدت حس نیز با توجه به برخی از کلمات جمله از قبیل منفی‌کننده‌ها (معکوس‌کننده‌های حسی) تنظیم می‌شود. تولید واژه‌نامه لغات حسی یکی از بخش‌های اساسی و مهم برای تشخیص حس و شدت آن می‌باشد. رویکردهای تولید واژه‌نامه‌های حسی در چند سال گذشته، ساخت مجموعه لغات حاوی حس با بار حسی مثبت و منفی، یکی از روشهای مورد توجه محققان برای تشخیص حس جملات بوده است. بطور کلی روش‌های تحلیل احساسات را می‌توان به دو گروه تقسیم‌بندی نمود:روش‌های مبتنی بر واژه‌نامه حسی و استفاده از دانش زمینه (یادگیری بدون ناظر یا شبه‌ناظر) روش‌های یادگیری باناظر دقت روش‌های مبتنی واژه‌نامه حسی کاملاً وابسته به مجموعه لغات حاوی حس و وزن‌های از پیش تعیین شده است. این روش‌ها بطور بدون ناظر و برای حوزه‌های عمومی قابل استفاده هستند. در رویکرد دوم (دسته‌بندی حسی متون) نیز از واژگان حسی به عنوان یکی از ویژگی‌های مهم متن نظرات استفاده می‌شود.از دیگر روش‌های تشخیص حس عبارات استفاده از روش‌های محاسبه شباهت معنایی کلمات می‌باشد. در این روش‌ها برای تشخیص حس نظرات معمولاً از شباهت معنایی عبارات و لیست کوچکی از کلمات حاوی حس اولیه استفاده می‌شود. برای محاسبه شباهت معنایی معمولاً از سه روش استفاده می‌شود:مبتنی بر شبکه واژگان یا سایر لغت‌نامه‌ها و دانش‌نامه‌هاروابط وابستگی نحوی بین عبارت حاوی حس با کلمات موجود در واژه‌نامه حسیهم‌رخدادی عبارات حاوی حس با کلمات موجود در لیست اولیه کلمات حاوی حس (روش‌های یادگیر بدون ناظر) در درون پیکره‌های مختلف مستندات می‌توان رویکرد سوم را زیر مجموعه‌ای از رویکرد تشخصی حس مبتنی بر مجموعه لغات به شمار آورد با این تفاوت که لیست کلمات حاوی حس برای مستندات ورودی (داده شده) تشکیل می‌شود و از اینرو کارکرد بهتری برای تشخیص حس عبارات در حوزه‌های مختلف خواهد داشت. با توجه به وابستگی زیاد روش‌های مختلف تحلیل احساسات به لغت‌نامه واژگان حسی، در این بخش به توضیح روش‌های مختلف واژه‌نامه حسی می‌پردازیم. بطور کلی از سه رویکرد ذیل برای تولید واژه‌نامه‌های حسی استفاده می‌شوند:مبتنی بر پیکره مبتنی بر لغت‌نامه و پایگاه دانش مبتنی بر روش‌های یادگیر باناظر  برای دریافت اطلاعات بیشتر درباره این سه رویکرد به این مقاله مراجعه بفرمایید.شبکه واژگان (WordNet)  شبکه واژگان دانشگاه پرینستون (Princeton WordNet یا PWN) یک پایگاه داده لغوی (Lexical Database) برای زبان انگلیسی است. شبکه واژگان حاوی لغات زبان طبیعی در قالب مجموعه‌های کلمات هم‌معنی (synonymous sets) یا بصورت مختصر گروه هم‌معنی (synset) می‌باشد که در دسته‌هایی با توجه به نقش نحوی مانند فعل و اسم و صفت و قید تقسیم‌بندی شده‌اند. این مجموعه‌های هم‌معنی توسط روابط معنایی مانند :هم‌معنایی (synonymy)، تضاد معنایی (antonymy)، رابطه شمول معنایی یا دربرداشتن (meronymy)، روابط سلسله مراتبی (Taxonomic) شامل دو نوع جزء به کل (hyponymy) و کل به جزء (hypernymy) و غیره با هم ارتباط دارند. اغلب شبکه واژگان برای ابهام‌زدایی و تعیین شباهت معنایی در کاربردهای مختلف پردازش زبان طبیعی و بازیابی اطلاعات مانند ترجمه ماشینی، استخراج اطلاعات و خلاصه‌سازی و ... مورد استفاده قرار می‌گیرد. آخرین نسخه PWN (WordNet 3.1 database statistics) شامل حدود 155327 کلمه هست که در قالب 117597 گروه هم‌معنی سازماندهی شدند. اخیراً در بعضی از مقالات از شبکه واژگان برای استخراج واژگان حسی و ویژگی‌های موجودیت مورد نظر استفاده شده است. اکنون برای بیش از 40 زبان طبیعی در جهان شبکه واژگان ایجاد شده است که بین اغلب آنها با PWN لینک وجود دارد. برای ایجاد شبکه واژگان برای سایر زبان‌ها معمولاً از دو رویکرد استفاده می‌شود:روش اول ساخت شبکه واژگان با استفاده از ترجمه گروه‌های هم‌معنی PWN مانند فردوس‌نت و شبکه واژگان فارسی دانشگاه تهران.در روش دوم ابتدا شبکه واژگان با استفاده از منابع زبان مقصد و روشهای زبان‌شناسی ایجاد شده و سپس بین گروه‌های هم‌معنی آن با PWN ازتباط (لینک) برقرار می‌شود. مانند فارس‌نت.مراحل ایجاد گروه‌های هم‌معنی در شبکه واژگان فردوس‌نتبرای دریافت اطلاعات بیشتر درباره فردوس‌نت و سایر شبکه‌های واژگان زبان فارسی به این مقاله مراجعه بفرمایید.شبکه واژگان حسی انگلیسی (SentiWordNet)شبکه واژگان حسی انگلیسی (SentiWordNet) یکی از بهترین منابع موجود برای شناسایی کلمات حسی است که بر اساس تعیین میزان بار حسی هر گروه هم‌معنی در شبکه واژگان انگلیسی پرینستون (PWN) ایجاد شده است. شبکه واژگان حسی انگلیسی برای هر گروه‌های هم‌معنی میزان بار حسی منفی (negativity)، مثبت (positivity) و همچنین مقدار غیرحسی (objectivity) بودن (با توجه به مقدار حس مثبت و منفی) را با عددی بین صفر و یک مشخص می‌کند.شبکه واژگان حسی انگلیسی نسخه 1.0 بوسیله یک الگوریتم یادگیر شبه‌ناظر در 4 مرحله تشکیل شده است. سپس در نسخه سوم این شبکه واژگان حسی با استفاده از الگوریتم تکراری گام تصادفی بر روی گراف شبکه واژگان PWN، نتایج حاصل از نسخه قبل (SentiWordNet v1.0) را اصلاح کردند. تا کنون شبکه واژگان حسی انگلیسی به عنوان یک منبع واژگان حسی مستقل از دامنه و موضوع در بسیاری از کاربردهای نظر کاوی مورد استفاده قرار گرفته است. علاوه بر این با توجه به رابطه این واژه‌نامه با PWN ، از این منبع در بسیاری از کاربردهای نظرکاوی در زبان‌های دیگر نیز (با برقرار کردن لینک بین شبکه‌های واژگان آن زبان‌ها با PWN) استفاده شده است. ساخت واژه‌نامه حسی زبان فارسی (حس‌نگار)برای تولید حس‌نگار ابتدا با استفاده از نگاشت مفاهیم (گروه‌های هم‌معنی) در شبکه واژگان پرینستون به زبان فارسی، شبکه واژگان جامع (فردوس‌نت) ساخته شده است. در نهایت، با استفاده از فردوس‌نت، میزان بار حسی محاسبه شده برای هر گروه هم‌معنی در شبکه واژگان حسی انگلیسی به گروه‌های هم‌معنی متناظر با آن در حس‌نگار نگاشت می‌شود. پس در واقع با ابهام‌زدایی مفاهیم شبکه واژگان حسی انگلیسی، یک شبکه واژگان حسی برای زبان فارسی ایجاد شده است. از شبکه واژگان حسی فارسی می‌توان به عنوان یک واژه‌نامه حسی مرجع برای زبان فارسی استفاده نمود. علاوه بر این با توجه به وجود درجه اطمینان (برای کلمات موجود در هر گروه هم‌معنی در فردوس‌نت)، برای هر کلمه حسی علاوه بر بار حسی مثبت و منفی، میزان اطمینان (اعتبار) نیز خواهیم داشت. تعداد کلمات حسی مثبت (Pos#) و منفی (Neg#) موجود در شبکه واژگان حسی فارسی (حس‌نگار) براساس محدودیت‌های مختلف برای دریافت نسخه فعلی حس‌نگار به این منبع مراجعه فرمایید.برای ارجاع درصورت استفاده از مطالب این نوشته، همچنین جهت اطلاع از منابع اصلی استفاده شده، یا دریافت توضیحات و جزئیات بیشتر به این مقاله مراجعه بفرمایید.    </description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Sat, 08 Jun 2019 00:04:12 +0430</pubDate>
            </item>
                    <item>
                <title>برچسب‌زن نقش معنایی (Semantic Role Labeling - SRL)</title>
                <link>https://virgool.io/textmining/srl-semantic-role-labeling-rkfclfmoqnyg</link>
                <description> برچسب گذاری نقش معنایی (Semantic Role Labeling) یا SRL ابزاری برای تشخیص نقش معنایی کلمات و اجزای جمله است. این ابزار یکی از مهمترین ابزارهای پردازش زبان طبیعی بوده و نقش‌ بسزایی در پردازش‌های زبانی و درک منظور نوشته (متن) دارد. برای آشنایی با سایر ابزارهای پردازش زبانهای طبیعی به این مقاله مراجعه فرمایید.دقت ابزار SRL بسیار حائز اهمیت است. وظیفه اصلی این ابزار تشخیص نقش‌های معنایی کلمات در جمله مانند: عامل (agent)، هدف (goal)، فعالیت (action)، نتیجه (result) و ... است. معمولاً نقش‌های معنایی مختلف بر محور ارتباط آنها با بخش گزاره یا فعل جمله مشخص می‌شوند. برای مثال در تمام جملات زیر بصورت یکسان، فعل &quot;فروختن/خریدن&quot; به عنوان گزاره جمله یا رویداد و عمل انجام شده است و &quot;احمد&quot; دارای نقش عامل (agent)، &quot;ماشین&quot; کالا یا زمینه و موضوع (theme) جمله و &quot;پژمان&quot; به عنوان دریافت‌کننده است.احمد ماشینش را به پژمان فروخت.پژمان ماشین احمد را خرید.ماشین احمد توسط پژمان خریداری شد.ماشین احمد به پژمان فروخته شد.فروش ماشین احمد به پژمان ...پس هدف اصلی این ابزار، فهم معنای جمله و اطلاعات بیان شده در متن است. تحلیل معنایی انجام شده در این ابزار دارای درجه انتزاعی کمتری (عینی بیشتر) نسبت به تجزیه‌گر جمله است. به عبارت دیگر، برچسب‌زنی نقش معنایی دسته‌های (برچسب‌های) بیشتر و دقیق‌تری را نسبت به پارسر تولید می‌کند. پس طبیعتاً در خروجی این ابزار شاهد واحد یا گروه‌های کلمات ایجاد شده، کوتاه‌تر (کوچکتر) هستیم. به عنوان مثال در جمله «پیامبر خاتم صل الله علیه و آله با جمع کردن مردم در غدیر، امام علی علیه السلام را به همه مسلمانان به عنوان جانشین خود معرفی نمود»؛ ابتدا در این ابزار فعل &quot;معرفی نمودن&quot; را به عنوان گزاره شناسایی می‌کند. سپس &quot;پیامبر صل الله علیه و آله&quot; که عمل انتساب جانشینی را انجام داده است به عنوان نقش عامل (Agent) و &quot;امام علی علیه السلام&quot; به عنوان دریافت‌کننده (Recipient)، &quot;جانشینی پیامبر&quot; به عنوان موضوع یا زمینه (Theme)، &quot;همه مسلمانان&quot; نیز به عنوان ذینفعان (Beneficiary)، &quot;جمع کردن مردم&quot; به عنوان ابزار (Instrument) و &quot;غدیر&quot; به عنوان مکان (Location) جمله در نظر گرفته می‌شود.در واقع برچسب‌زن نقش معنایی به دنبال پاسخ به سوالات &quot;چه کسی، چه عملی را برای/درباره چه کس/چیزی انجام داد؟&quot; در جمله می‌گردد. لذا نوعاً نقش‌های گرامری از قبیل فعل (گزاره یا نوع عمل و رویداد)، فاعل (بوسیله عامل)، مفعول مستقیم و غیرمستقیم (بوسیله نقش دریافت‌کننده و موضوع یا مضمون) و … در این ابزار شناسایی می‌شوند.برای تولید این ابزار اغلب از رویکرد تجزیه‌گر نحوی (پارسر) و استفاده از رویکرد یادگیری ماشین استفاده می‌شود. به عنوان منبع (جهت آموزش مدل‌های یادگیر) پیکره‌هایی در زبان انگلیسی از جمله FrameNet و PropBank گردآوری و منتشر شده است. در ذیل به چند نمونه از ابزارهای SRL که اغلب برای زبان انگلیسی و آلمانی هستند، اشاره شده است:Mate tools - demo Stanford SRL - demoIllinois SRL - demoAllenNLP - demoPathLSTM MatePlusPractNLPToolsBioKIT - For biomedical text  استفاده از این مقاله با ذکر منبع (سامانه متن کاوی فارسی‌یار  - text-mining.ir)، بلامانع است. </description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Sat, 01 Jun 2019 12:57:33 +0430</pubDate>
            </item>
                    <item>
                <title>ژورنال‌ها و نشریات معتبر در زمینه متن کاوی و پردازش زبان طبیعی</title>
                <link>https://virgool.io/textmining/%D9%85%D8%AC%D9%84%D8%A7%D8%AA-%D9%88-%D9%86%D8%B4%D8%B1%DB%8C%D8%A7%D8%AA-%D9%85%D8%B9%D8%AA%D8%A8%D8%B1-%D8%AF%D8%B1-%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%85%D8%AA%D9%86-%DA%A9%D8%A7%D9%88%DB%8C-%D9%88-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B7%D8%A8%DB%8C%D8%B9%DB%8C-aylawprfbbdg</link>
                <description>یکی از دغدغه‌های محققین به خصوص در دانشگاه‌ها انتخاب یک همایش یا مجله مناسب در زمینه پژوهشی آنهاست. اینجا قصد معرفی کنفرانس‌ها و ژورنال‌های معتبر در حوزه‌های متن کاوی و پردازش زبان طبیعی را داریم. همچنین منابعی به شما معرفی می‌کنیم که می‌تواند کمک بسزایی در انتخاب کنفرانس یا ژورنال  متناسب با مقاله تهیه شده یا فیلد دقیق کاری شما نماید. مجلات (ژورنال‌ها) معتبر ملی (زبان فارسی) و بین‌المللیدر بخش اول این مقاله به معرفی کنفرانس‌های معتبر در زمینه پردازش زبان طبیعی پرداختیم. در جدول زیر، لیست نشریات و مجلات معتبر بین‌المللی و مرتبط با حوزه‌ی پردازش زبان طبیعی و متن کاوی را گردآوری کردیم. چنانچه نیاز به جدول با کیفیت داشتید با ما تماس بگیرید. همچنین اگر اشتباهی در سنجه‌ها مشاهده فرمودید یا ژورنال یا نشریه مرتبط دیگری سراغ دارید که از قلم افتاده، لطفاً با ما در میان بگذارید. فهرست ژورنال‌های معتبر بین‌المللی و مرتبط با حوزه پردازش زبان طبیعی و متن کاویدر فهرست فوق مجلات معتبر براساس میزان اعتبار و میزان ارجاعاتی که به آنها شده است، به چهار بخش (به ترتیب Q1، Q2، Q3 و Q4) تقسیم شده و رتبه آنها در ستون دوم درج نمودیم. در بخش اول این مقاله مفهوم h-index توضیح داده شد.  جهت دریافت فایل قابل ویرایش و باکیفیت تصویر فوق به اینجا مراجعه بفرمایید.در سال‌های اخیر، مجلات علمی و پژوهشی در حوزه پردازش زبان طبیعی شروع بکار کردند. برخی از مجلات معتبر در این زمینه که در پایگاه استنادی علوم جهان اسلام (ISC) و سامانه رتبه‌بندی نشریات علمی وزارت علوم نیز نمایه شده‌اند را در فهرست ذیل گردآوری نمودیم:فصل‌نامه‌ی پردازش علائم و داده‌ها پژوهشنامه پردازش و مدیریت اطلاعاتزبان و زبان‌شناسیلینک‌های مفیدیکی از چالش‌های محققین پیدا کردن مجله (ژورنال) مناسب برای موضوع پژوهشی آنهاست. شاید برای هر پژوهشگری اتفاق افتاده باشد که چند روز یا چند هفته بعد از ارسال مقاله برای یک مجله (ژورنال) با ایمیلی از طرف ناشر مجله مبنی بر اینکه &quot;متاسفانه مقاله شما مورد توجه و علاقه برای انتشار در آن مجله نیست&quot;، مواجه شود. از طرفی ارسال مقاله برای ژورنال‌های غیرتخصصی و نامرتبط احتمال رد شدن مقاله یا نظرات داوری غیر اصولی را بالا می‌برد. برای پیدا نمودن مجله (ژورنال) متناسب با پژوهش شما می‌توانید از سرویس‌های مختص به این کار استفاده کنید. برای این امر، کافی است عنوان و چکیده مقاله آماده شده خود را وارد نموده و سرویس مربوطه مجلات مرتبط (که احتمالاً مقالاتی نزدیک به موضوع شما را اخیراً چاپ کردند) را پیشنهاد می‌دهد. برخی از سرویس‌های معروف یافتن مجله در ذیل ذکر شدند:Elsevier Journal FinderSpringer Journal SuggesterWiley Journal FinderIEEE Publication RecommenderJournal/Author Name Estimator (in MEDLINE)Scientific Journal RecommenderEnago Journal Finder JournalGuide Toolsچنانچه هنوز نسخه اولیه عنوان و چکیده مقاله شما آماده نشده است، می‌توانید از سرویس‌های ذیل (برای پیدا کردن مجله مناسب) با مشخص کردن فیلد (زمینه) تحقیقاتی و کلیدواژه‌های مرتبط استفاده کنید:Scopus Journal AnalyzerScientific Journal FinderEdanz Journal Selectorشما می‌توانید از منابع زیر برای پیدا کردن مجلات مناسب در زمینه پردازش زبان طبیعی و اطلاع از میزان اعتبار ژورنال‌های مختلف استفاده نمایید:Scimago Journal &amp;amp; Country RankGoogle Scholar Publications Association for Computational Linguistics - JournalsLetPub - Scientific Journal Selectorهمچنین لیست JCR (Journal Citation Report) شامل اطلات بسیار مفیدی در زمینه ژورنال‌ها و رتبه‌بندی علمی آنهاست که فایل مربوط به سال 2017 آن در این لینک قرار داده شده است. استفاده از این مقاله با ذکر منبع (سامانه متن کاوی فارسی‌یار)، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Wed, 24 Apr 2019 12:38:51 +0430</pubDate>
            </item>
                    <item>
                <title>کنفرانس‌ها و همایش‌های معتبر در زمینه متن کاوی و پردازش زبان طبیعی</title>
                <link>https://virgool.io/textmining/%DA%A9%D9%86%D9%81%D8%B1%D8%A7%D9%86%D8%B3%D9%87%D8%A7-%D9%88-%D9%87%D9%85%D8%A7%DB%8C%D8%B4%D9%87%D8%A7%DB%8C-%D9%85%D8%B9%D8%AA%D8%A8%D8%B1-%D8%AF%D8%B1-%D8%B2%D9%85%DB%8C%D9%86%D9%87-%D9%85%D8%AA%D9%86-%DA%A9%D8%A7%D9%88%DB%8C-%D9%88-%D9%BE%D8%B1%D8%AF%D8%A7%D8%B2%D8%B4-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B7%D8%A8%DB%8C%D8%B9%DB%8C-gykpvshwx9fg</link>
                <description>یکی از دغدغه‌های محققین به خصوص در دانشگاه‌ها انتخاب یک همایش یا مجله مناسب در زمینه پژوهشی آنهاست. اینجا قصد معرفی کنفرانس‌ها و ژورنال‌های معتبر در حوزه‌های متن کاوی و پردازش زبان طبیعی را داریم. همچنین منابعی به شما معرفی می‌کنیم که می‌تواند کمک بسزایی در انتخاب کنفرانس یا ژورنال متناسب با مقاله تهیه شده یا فیلد دقیق کاری شما نماید.کنفرانس‌ها و همایش‌های معتبر بین‌المللیدر جدول زیر، لیست کنفرانس‌ها و همایش‌های معتبر بین‌المللی در حوزه متن کاوی و پردازش زبان طبیعی را گردآوری کردیم. همچنین برای تعیین رتبه، سه سنجه اولین سال برگزاری، اندیس h5 و معیار میانه h5 استفاده شده است.  چنانچه نیاز به جدول با کیفیت داشتید با ما تماس بگیرید. همچنین اگر اشتباهی در سنجه‌ها مشاهده فرمودید یا کنفرانس یا نشریه مرتبط دیگری سراغ دارید که از قلم افتاده، لطفاً با ما در میان بگذارید. فهرست کنفرانس‌های معتبر بین‌المللی و مرتبط با حوزه پردازش زبان طبیعی و متن کاویجهت دریافت فایل قابل ویرایش و باکیفیت تصویر فوق به اینجا مراجعه بفرمایید.برای درک بهتر از سنجه‌های استفاده شده در جدول فوق، اطلاع از موارد ذیل الزامی است.سنجه h-index، تعداد مقالاتی را مشخص می‌کند که حداقل h بار به آنها ارجاع شده است. مثلاً اگر h-index یک محقق یا یک نشریه برابر 10 باشد، به این معنی است که ایشان 10 مقاله دارند که حداقل 10 مرتبه به همه آنها (در مقالات علمی معتبر) ارجاع شده است. پس طبیعتاً کسب h-index بالاتر به صورت نمایی دشوار خواهد شد.منظور از h5-index، مقدار h-index مقالات منتشر شده در کنفرانس یا نشریه مربوطه در طول 5 سال اخیر (ارجاع مقالات از ابتدای 2013 تا انتهای 2017) است. به عبارت دیگر، h5-index فقط ارجاعات 5 سال اخیر را مورد توجه قرار می‌دهد.سنجه h5-median، تعداد میانه ارجاعات مقالاتی که دارای تعداد ارجاع بیشتر یا مساوی h5-index هستند را مشخص می‌کند. برای مثال اگر h5-index یک محقق یا یک نشریه برابر 10 و h5-median آن برابر 15 باشد، نشان می‌دهد که 10 مقاله ایشان در 5 سال اخیر بیشتر یا مساوی 10 بار ارجاع داده شده است. پس تعداد ارجاعات این 10 مقاله را مرتب نموده و تعداد ارجاع میانه (عنصر وسط لیست مرتب) 15 بار در 5 سال اخیر خواهد بود.سنجه‌های h5-index و h5-median این مقاله، در فروردین 1398 (2019 April) و از روی سرویس Google Scholar استخراج شده‌اند.لینک‌های مفیدبرای کسب اطلاعات بیشتر درباره کنفرانس‌های معتبر می‌توانید به لینک‌های ذیل مراجعه فرمایید:Google Scholar (Publication) Microsoft Academic The CORE Conference Ranking NLP Conference acceptance ratesهمچنین برای اطلاع از کنفرانس‌های آتی (در حال برگزاری) در زمینه پردازش زبان طبیعی به لینک‌های ذیل مراجعه کنید (Upcoming Conference on NLP fields / NLP Call for papers - CFP) : http://wikicfp.com/cfp/call?conference=NLPhttps://www.conference-service.com/conferences/natural-language-processing.htmlhttps://www.aclweb.org/portal/eventshttps://aclweb.org/aclwiki/Conferences_and_workshopsدر بخش بعدی به معرفی نشریات و مجلات معتبر بین‌المللی و داخلی در زمینه پردازش زبان‌های طبیعی پرداختیم.استفاده از این مقاله با ذکر منبع (سامانه متن کاوی فارسی‌یار)، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Thu, 18 Apr 2019 11:06:50 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی بهترین کتابخانه‌های پردازش متن - بخش پنجم (GATE, RapidMiner, MALLET, FreeLing)</title>
                <link>https://virgool.io/textmining/nlp-lib5-gate-rapidminer-freeling-mallet-upo5ktfzp2ps</link>
                <description> در مقالات قبل به مقایسه ویژگی‌های کتابخانه‌ها و ابزارهای پردازش زبان طبیعی اشاره شد. سپس 12 کتابخانه محبوب پردازش متن معرفی و نمونه کد آن‌ها قرار داده شد. بخش‌های دیگر این مقاله:بخش اول - معرفی بهترین کتابخانه‌های پردازش متن (NLTK, SpaCy, CoreNLP)بخش دوم - معرفی بهترین کتابخانه‌های پردازش متن (TextBlob, Pattern, StanfordNLP)بخش سوم - معرفی بهترین کتابخانه‌های پردازش متن (Polyglot, Gensim, Illinois NLP Curator)بخش چهارم - معرفی بهترین کتابخانه‌های پردازش متن (Spark-NLP, OpenNLP, SyntaxNet)بخش پنجم - معرفی بهترین کتابخانه‌های پردازش متن (GATE, RapidMiner, MALLET, FreeLing)در جدول زیر بطور خلاصه لیست کتابخانه‌ها و جعبه ابزارهای معروف و رایگان پردازش متن، ویژگی‌های مهم آنها و ابزارهای پیاده‌سازی شده در هریک را گردآوری کردیم.  مقایسه ویژگی‌ها و امکانات کتابخانه‌های (جعبه ابزار) محبوب و رایگان پردازش زبان طبیعی تا سال 2019 ذکر چند نکته درباره این جدول را لازم می‌دانیم. ستون دوم سال تولید و  سالی که آخرین نسخه ابزار (بروزرسانی) در آن ارائه شده است را نشان می‌دهد. در ستون ششم، تعداد ستاره‌ی داده شده به پروژه مربوط به هر کتابخانه‌ در گیت‌هاب (یا پرستاره‌ترین پروژه مرتبط با آنها) را به عنوان سنجه میزان محبوبیت درنظر گرفتیم. همچنین از شاخص تعداد سوالات پرسیده شده در StackoverFlow (درباره هر کتابخانه)، به عنوان مبنای میزان استفاده و جامعه بهره‌بردار آن کتابخانه استفاده شده است. ستون هفدهم به پشتیبانی از زبان فارسی هر کتابخانه (همه یا بعضی از ابزارهای آن) اختصاص داده شده است. این اطلاعات و ارقام در تاریخ 15 اسفند 97 جمع‌آوری شدند. در این بخش به معرفی چند جعبه ابزار پردازش متن محبوب و کاربردی دیگر می‌پردازیم.ابزار GATE (General Architecture for Text Engineering)ابزار GATE، یک بستر نرم‌افزاری جهت متن کاوی بهمراه مجموعه‌ای از افزونه (پلاگین‌ها) و ابزارهای برچسب‌گذاری و پردازش متن است. در سال 1995، نرم‌افزار GATE توسط دانشگاه شفیلد با زبان جاوا ایجاد شده و تا کنون بخوبی پشتیبانی گشته و  افزونه‌های متعددی بصورت سورس‌باز برای آن تهیه شده است. نرم‌افزار GATE علاوه بر واسط کاربری گرافیکی، دارای API و واسط برای توسعه‌دهندگان است و تا کنون افزونه‌های مختلف پردازش متن، برچسب‌گذاری متن، مهندسی هستان‌شناسی (آنتولوژی) و یادگیری ماشین برای آن توسعه داده شده است.یکی از مشهورترین افزونه‌های این نرم‌افزار ANNIE (A Nearly-New Information Extraction System) نام دارد که شامل ابزارهای پایه‌ای پردازش متن از قبیل تقطیع جملات و توکن‌بندی، برچسب‌زنی نقش ادات سخن، انواع موجودیت‌های نامی، مرجع‌یابی ضمائر و ... برای 12 زبان مختلف است. تصویری از محیط نرم‌افزار GATE در شکل زیر نشان داده شده است.محیط نرم‌افزار GATEمنابع آموزشی بسیار خوبی برای این نرم‌افزار وجود دارد که پیشنهاد می‌کنیم برای آشنایی بیشتر به لینک‌های زیر مراجعه بفرمایید:https://gate.ac.uk/wiki/TrainingCourseJune2018/https://gate.ac.uk/demos/developer-videos/ابزار RapidMinerابزار RapidMiner، یک نرم‌افزار قدرتمند و مشهور در زمینه داده کاوی است که توسط یک شرکت به همین نام در سال 2006 بوسیله زبان جاوا توسعه داده شده است. RapidMiner شامل محیطی برای آماده‌سازی داده، یادگیری ماشین، یادگیری عمیق، متن کاوی، تحلیل‌های پیش‌بینی و بصری‌سازی داده است. این ابزار مشابه GATE علاوه بر واسط کاربری گرافیکی دارای API برای محققین و پژوهشگران می‌باشد. البته برای کاربردهای واقعی (حجم داده بالا) باید لایسنس RapidMiner را خریداری کنید و تنها بصورت تجاری قابل استفاده است. هزینه لایسنس بسته به حجم داده ورودی بین 2500 الی 10000 دلار به ازای هر کاربر در هر سال است.یکی از علل موفقیت این نرم‌افزار محیط بسیار ساده و طراحی مطابق نیاز یا اصطلاحاً کاربرپسند این نرم‌افزار است. تصویری از محیط نرم‌افزار RapidMiner در شکل زیر نشان داده شده است.تصویری از محیط نرم‌افزار RapidMinerبا استفاده از افزونه آیلین (AYLIEN) می‌توانید از کاربردهای مهم متن‌کاوی و عملیات اساسی داده کاوی برروی داده‌های متنی بهره‌مند شوید. در حال حاضر سرویس‌های تشخیص نوع زبان متن، تحلیل حسی متن، استخراج مفاهیم و کلیدواژه‌های متن، دسته‌بندی موضوعی متون و حذف تبلیغات صفحات وب در این افزونه آماده شده است. استفاده از توابع API متن کاوی آیلین برای کاربردهای پژوهشی و آزمایشی تا سقف روزانه 1000 فراخوانی رایگان هستند. برای اطلاعات بیشتر درباره افزونه آیلین به این لینک مراجعه فرمایید.کتابخانه FreeLingکتابخانه FreeLing، مجموعه‌ای از عملیات پایه پردازش زبان طبیعی (تحلیل لغوی، تحلیل نحوی، برچسب‌زنی نقش معنایی، ابهام‌زدایی معنایی کلمات و شناسایی موجودیت‌های نامی) را برای بیش از 15 زبان مختلف آماده کرده است. این کتابخانه با زبان C++ و بصورت سورس‌باز توسعه داده شده ولی برای سایر زبان‌ها از قبیل جاوا، پایتون، Perl و Ruby نیز API دارد. لیست الگوریتم‌های پیاده‌سازی شده توسط این کتابخانه در شکل زیر نشان داده شده است.برای اطلاع از نحوه نصب و راه‌اندازی و همچنین آشنایی بیشتر با این کتابخانه به مستندات رسمی آن مراجعه بفرمایید. همچنین دموی آنلاین ابزارهای مختلف این کتابخانه نیز در این آدرس قرار دارد.کتابخانه MAchine Learning for LanguagE Toolkit  (MALLET)کتابخانه MALLET، یک بسته نرم‌افزاری جاوا برای پردازش آماری زبان‌های طبیعی، دسته‌بندی و خوشه‌بندی متون،مدل‌سازی موضوع، استخراج اطلاعات و دیگر تکنیک‌های یادگیری ماشین برای داده‌های متنی است. اولین نسخه این کتابخانه به شکل سورس‌باز در سال 2002 منتشر شده است. متاسفانه بعد از سال 2010 (نسخه  mallet-2.0.6) تا کنون نسخه رسمی جدید از این کتابخانه منتشر نشده و تنها پروژه آن در گیت‌هاب تعدادی بروزرسانی جزئی داشته است. لیست الگوریتم‌های پیاده‌سازی شده توسط این کتابخانه در شکل زیر نشان داده شده است. استفاده از این مقاله با ذکر منبع &quot;سامانه متن کاوی فارسی‌یار‌ - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Fri, 05 Apr 2019 22:29:05 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی بهترین کتابخانه‌های پردازش متن - بخش چهارم (Spark-NLP, OpenNLP, SyntaxNet)</title>
                <link>https://virgool.io/textmining/nlp-lib4-sparknlp-opennlp-syntaxnet-q9jsp3ndjemz</link>
                <description> در مقالات قبل به مقایسه ویژگی‌های کتابخانه‌ها و ابزارهای پردازش زبان طبیعی اشاره شد. سپس 9 کتابخانه محبوب پردازش متن معرفی و نمونه کد آن‌ها قرار داده شد. بخش‌های دیگر این مقاله:بخش اول - معرفی بهترین کتابخانه‌های پردازش متن (NLTK, SpaCy, CoreNLP)بخش دوم - معرفی بهترین کتابخانه‌های پردازش متن (TextBlob, Pattern, StanfordNLP)بخش سوم - معرفی بهترین کتابخانه‌های پردازش متن (Polyglot, Gensim, Illinois NLP Curator)بخش چهارم - معرفی بهترین کتابخانه‌های پردازش متن (Spark-NLP, OpenNLP, SyntaxNet)بخش پنجم - معرفی بهترین کتابخانه‌های پردازش متن (GATE, RapidMiner, MALLET, FreeLing)در  جدول زیر بطور خلاصه لیست کتابخانه‌ها و جعبه ابزارهای معروف و رایگان پردازش متن، ویژگی‌های مهم آنها و ابزارهای پیاده‌سازی شده در هریک را گردآوری کردیم.  مقایسه ویژگی‌ها و امکانات کتابخانه‌های (جعبه ابزار) محبوب و رایگان پردازش زبان طبیعی تا سال 2019 ذکر چند نکته  درباره این جدول را لازم می‌دانیم. ستون دوم سال تولید و سالی که آخرین نسخه ابزار (بروزرسانی) در آن ارائه شده است را نشان می‌دهد. در ستون ششم، تعداد ستاره‌ی داده شده به پروژه مربوط به هر کتابخانه‌ در گیت‌هاب (یا  پرستاره‌ترین پروژه مرتبط با آنها) را به عنوان سنجه میزان محبوبیت درنظر گرفتیم. همچنین از شاخص تعداد سوالات پرسیده شده در StackoverFlow (درباره هر کتابخانه)، به عنوان مبنای میزان استفاده و جامعه بهره‌بردار آن کتابخانه استفاده شده است. ستون هفدهم به پشتیبانی از زبان فارسی هر کتابخانه (همه یا بعضی از ابزارهای آن) اختصاص داده شده است. این اطلاعات و ارقام در تاریخ 15 اسفند 97 جمع‌آوری شدند.  در این بخش به معرفی چند جعبه ابزار پردازش متن محبوب و کاربردی دیگر می‌پردازیم.کتابخانه SparkNLPکتابخانه SparkNLP، بوسیله شرکت John Snow Labs برای استفاده از ماژول‌های کاربردی پردازش متن روی بستر Apache Spark و کتابخانه Spark ML توسعه یافته است. این کتابخانه برای استفاده در زبان‌های اسکالا، پایتون و جاوا و با هدف محاسبات مقیاس‌پذیر (scalable) برای داده‌های حجیم بصورت توزیع شده، ایجاد شده است. اغلب امکانات این کتابخانه بصورت رایگان در اختیار پژوهشگران قرار داده شده است و تنها امکانات بخش یادگیری عمیق و ارتباط با Tensorflow بصورت تجاری میسر است. بوسیله کتابخانه SparkNLP قادر خواهید بود که اغلب ابزارهای برچسب‌زنی کتابخانه‌های spaCy و StanfordNLP برای زبان انگلیسی را، روی بستر Spark بشکل توزیع شده، استفاده کنید. متاسفانه مدل‌های آموزش داده شده برای ابزارهای مختلف این کتابخانه تنها جهت بکارگیری در زبان انگلیسی و ایتالیایی است. قابلیت‌ها و ماژول‌های اصلی این کتابخانه در شکل زیر نشان داده شده است.برای نصب و راه‌اندازی این کتابخانه به این آدرس مراجعه کنید. همچنین برای مشاهده مثال نسبتاً کامل از استفاده از ابزارهای مختلف SparkNLP و دسته‌بندی حسی متن به این آدرس مراجعه فرمایید.شرکت جان اسنو برای نشان دادن دقت و سرعت اجرای ابزارهای تولید شده خود، این کتابخانه را با SpaCy (که یک کتابخانه فوق‌العاده سریع و بهینه شده با C++ بوسیله Cython می‌باشد) مقایسه نموده است. در شکل‌های ذیل، نتایج خلاصه آزمایشات صورت گرفته را مشاهده می‌کنید. مقایسه دقت SpaCy و SparkNLP برای برچسب‌زنی نقش کلمات در جمله برای زبان انگلیسی (مقدار دقت بیشتر بهتر است)در شکل فوق نشان داده شده است که علیرغم ضعف SparkNLP نسبت به SpaCy از نظر دقت، ولی از کیفیت قابل قبولی برخوردار است.مقایسه کارایی (زمانی) SpaCy و SparkNLP در آموزش مدل یادگیر برای برچسب‌زنی نقش کلمات (مقدار زمان کمتر بهتر است)همانطور که مشاهده می‌کنید با افزایش حجم داده‌ها، زمان آموزش کتابخانه SparkNLP میزان ناچیزی افزایش پیدا کرده است.مقایسه سرعت اجرای (زمان مصرف شده برای پیشبینی برچسب نقش کلمات) SpaCy و SparkNLP (مقدار زمان کمتر بهتر است) لطفاً برای مشاهده شبه کد و جزئیات این آزمایشات در فاز آموزش، اجرا و توضیحات بیشتر، به مقالات اصلی آنها در سایت oreilly مراجعه فرمایید.کتابخانه Apache OpenNLPکتابخانه OpenNL، یکی از پروژه‌های نبستاً باسابقه شرکت محبوب Apache برای پردازش زبان طبیعی است. طبق معمول پروژه‌های قدیمی شرکت آپاچی این کتابخانه نیز با زبان جاوا توسعه داده شده و بخوبی پشتیبانی و بروزرسانی می‌شود. البته نسخه‌های غیررسمی و پورت شده این کتابخانه برای زبان‌های مختلف از جمله سی‌شارپ، پایتون و ... موجود است. در این کتابخانه تعداد زیادی از ابزارهای پایه پردازش متن بوسیله روش‌های مبتنی بر یادگیری ماشین پیاده‌سازی شده است. البته مدل آموزش داده شده‌ی اغلب این ابزارها فقط برای زبان انگلیسی (و بندرت برای چینی و عربی) آماده شده است.در دو جدول زیر (گرفته شده از این مقاله در سال 2016) نتایج مقایسه کتابخانه‌های مختلف پردازش متن از جمله OpenNLP برای دو ابزار قطعه‌بند و شناسایی موجودیت‌های نامی متن انگلیسی روی دو پیکره مختلف (متن رسمی و متن محاوره‌ای درون شبکه‌ی اجتماعی توئیتر) نمایش داده شده است.مقایسه کیفیت نتایج کتابخانه‌های مختلف برای ابزار قطعه‌بند متن انگلیسی بر روی دو پیکره مختلف (ستون اول نتایج منظور از P دقت، ستون دوم R منظور بازآوری و ستون سوم معیار F1 که از ترکیب دقت و بازآوری بدست می‌آید)مقایسه کیفیت نتایج کتابخانه‌های مختلف برای ابزار تشخیص موجودیت‌های نامدار (انواع اسامی خاص) متن انگلیسی بر روی دو پیکره مختلف (ستون اول نتایج منظور از P دقت، ستون دوم R منظور بازآوری و ستون سوم معیار F1 که از ترکیب دقت و بازآوری بدست می‌آید)برای استفاده از کتابخانه جاوا OpenNLP باید JDK 8 و Maven 3.3.9 (یا نسخه‌های بالاتر) را نصب کنید. برای مشاهده مستندات کامل این کتابخانه به این آدرس مراجعه فرمایید.کتابخانه SyntaxNetکتابخانه SyntaxNet، به عنوان یک ابزار (toolkit) جانبی کتابخانه TensorFlow برای پردازش زبان طبیعی توسط شرکت گوگل در سال 2016 توسعه یافته است. علت ستاره زیاد این کتابخانه در گیت‌هاب نیز قرار گرفتن پروژه مربوط به SyntaxNet درون (زیربخش) پروژه TensorFlow است. در واقع این کتابخانه یک چارچوب کدباز (open-source) برای فهم (درک) زبان‌های طبیعی مختلف (Natural Language Understanding-NLU) مبتنی بر شبکه‌های عصبی است.در شکل زیر دقت ابزارهای تقطیع کلمات و برچسب‌زنی نقش کلمات این کتابخانه با کتابخانه‌های SpaCy، Stanford و NLTK روی سه مجموعه داده متنی مقایسه شده است. البته در فضای دانشگاهی این کتابخانه به پارسر وابستگی آن (پارسر Parsey McParseface که مدل‌های از پیش آموزش داده شده‌ی آن برای زبان‌های مختلف موجود می‌باشد) معروف شده است.مقایسه دقت برخی از ابزارهای کتابخانه‌های SyntaxNet، Stanford، Spacy و NLTK روی سه پیکره متنی مختلفبرای نصب و استفاده از این کتابخانه باید از پایتون نسخه 2.7 و سیستم عامل Ubuntu یا OSX استفاده نمایید. شما می‌توانید جهت کسب اطلاعات کافی برای نصب و راه‌اندازی این کتابخانه به این آدرس مراجعه فرمایید. البته پیشنهاد می‌شود برای استفاده از مدل‌های از پیش آموزش داده شده (pre-Trained) در تحقیقات آکادمیک خود از وب سرویس‌های آنلاین استفاده کنید:سرویس ابری deepaiسرویس ابری algorithmiaنحوه نصب و نمونه کد پایتون algorithmia :# Install the Algorithmia Python client with pip:
# pip install algorithmia
 
import Algorithmia
 
input = {
   &amp;quotsrc&amp;quot: &amp;quotمن با پدر احمد به مدرسه شهید قاسمی رفتیم.&amp;quot,
   &amp;quotformat&amp;quot: &amp;quottree&amp;quot,
   &amp;quotlanguage&amp;quot: &amp;quotpersian&amp;quot
}

client = Algorithmia.client(&#039;YOUR_API_KEY&#039;) 
algo = client.algo(&#039;deeplearning/Parsey/1.1.1&#039;)
algo.set_options(timeout=300) # optional
print(algo.pipe(input).result)خروجی کد فوق:Input: من با پدر احمد به مدرسه شهید قاسمی رفتیم.
Parse:
رفتیم. VERB++V_PA ROOT
 +-- من PRON++PRO nsubj
 +-- پدر NOUN++N_SING nmod
 |   +-- با ADP++P case
 |   +-- احمد NOUN++N_SING name
 +-- مدرسه NOUN++N_SING nmod
     +-- به ADP++P case
     +-- شهید NOUN++N_SING nmod:poss
           +-- قاسمی NOUN++N_SING nameمنابع برترCOGCOMPNLP: Your Swiss Army Knife for NLP.; In Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC-2018). 2018.Choosing an NLP library for analyzing software documentation: a systematic literature review and a series of experiments.; In Proceedings of the 14th International Conference on Mining Software Repositories, pp. 187-197. IEEE Press, 2017. Comparing the performance of  different NLP toolkits in formal and social media text.; In 5th Symposium on Languages, Applications and Technologies (SLATE2016), 2016.https://www.johnsnowlabs.com/spark-nlp/https://www.oreilly.com/ideas/comparing-production-grade-nlp-libraries-accuracy-performance-and-scalabilityAnnouncing SyntaxNet: The World’s Most Accurate Parser Goes Open Source  استفاده از این مقاله با ذکر منبع &quot;سامانه متن کاوی فارسی‌یار‌ - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Sat, 30 Mar 2019 13:09:08 +0430</pubDate>
            </item>
                    <item>
                <title>معرفی بهترین کتابخانه‌های پردازش متن - بخش سوم (Polyglot, Gensim, NLP Curator)</title>
                <link>https://virgool.io/textmining/nlp-lib3-polyglot-gensim-nlpcurator-xj3pbrzbopyh</link>
                <description> در مقالات قبل به مقایسه ویژگی‌های کتابخانه‌ها و ابزارهای پردازش زبان طبیعی اشاره شد. سپس شش کتابخانه محبوب پردازش متن معرفی و نمونه کد آن‌ها قرار داده شد. بخش‌های دیگر این مقاله:بخش اول - معرفی بهترین کتابخانه‌های پردازش متن (NLTK, SpaCy, CoreNLP)بخش دوم - معرفی بهترین کتابخانه‌های پردازش متن (TextBlob, Pattern, StanfordNLP)بخش سوم - معرفی بهترین کتابخانه‌های پردازش متن (Polyglot, Gensim, Illinois NLP Curator)بخش چهارم - معرفی بهترین کتابخانه‌های پردازش متن (Spark-NLP, OpenNLP, SyntaxNet)بخش پنجم - معرفی بهترین کتابخانه‌های پردازش متن (GATE, RapidMiner, MALLET, FreeLing)در جدول زیر بطور خلاصه لیست کتابخانه‌ها و جعبه ابزارهای معروف و رایگان پردازش متن، ویژگی‌های مهم آنها و ابزارهای پیاده‌سازی شده در هریک را گردآوری کردیم.  مقایسه ویژگی‌ها و امکانات کتابخانه‌های (جعبه ابزار) محبوب و رایگان پردازش زبان طبیعی تا سال 2019 ذکر چند نکته درباره این جدول را لازم می‌دانیم. ستون دوم سال تولید و  سالی که آخرین نسخه ابزار (بروزرسانی) در آن ارائه شده است را نشان می‌دهد. در ستون ششم، تعداد ستاره‌ی داده شده به پروژه مربوط به هر کتابخانه‌ در  گیت‌هاب (یا پرستاره‌ترین پروژه مرتبط با آنها) را به عنوان سنجه میزان محبوبیت درنظر گرفتیم. همچنین از شاخص تعداد سوالات پرسیده شده در StackoverFlow (درباره هر کتابخانه)، به عنوان مبنای میزان استفاده و جامعه بهره‌بردار آن کتابخانه استفاده شده است. ستون هفدهم به پشتیبانی از زبان فارسی هر کتابخانه (همه یا بعضی از ابزارهای آن) اختصاص داده شده است. این اطلاعات و ارقام در تاریخ 15 اسفند 97 جمع‌آوری شدند. در این بخش به معرفی چند جعبه ابزار پردازش متن محبوب و کاربردی دیگر می‌پردازیم.کتابخانه Polyglotکتابخانه Polyglot،یکی از کتابخانه‌های پرطرفدار پردازش متن در زبان پایتون هست. با وجود پشتیبانی ضعیف و عدم بروزرسانی این کتابخانه، بدلیل پشتیبانی از زبان‌های طبیعی متعدد (بین 16 الی 169 زبان در ابزارهای مختلف) از جمله فارسی، از محبوبیت خوبی بین پژوهشگران برخوردار است.نصب و راه‌اندازی:pip install -U polyglot
pip install pyicu   # or install using .whl file from &quot;https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyicu&quot;
pip install pycld2
pip install morfessorسپس باید مدل‌های مورد نیاز خود را دانلود کنید. برای اطلاع از مدل‌های موجود از شبه کد زیر استفاده نمایید:import polyglot
from polyglot.downloader import downloader
# supported language for special nlp task:
print(downloader.supported_languages_table(task=&quot;ner2&quot;))
# supported tools (tasks) for special language:
print(downloader.supported_tasks(lang=&quot;fa&quot;))برای دانلود مدل‌های polyglot دو روش وجود دارد:1- دانلود مستقیم (در کنسول):polyglot download --help
polyglot download morph2.fa
polyglot download embeddings2.fa
polyglot download embeddings2.en
polyglot download ner2.fa
polyglot download sentiment2.fa
polyglot download transliteration2.fa2- دانلود درون سورس کد:import polyglot
from polyglot.downloader import downloader
#downloader.download_dir = r&quot;E:\polyglot&quot;

downloader.download(&quot;morph2.fa&quot;)
downloader.download(&quot;embeddings2.fa&quot;)
downloader.download(&quot;embeddings2.en&quot;)
downloader.download(&quot;ner2.fa&quot;)
downloader.download(&quot;sentiment2.fa&quot;)
downloader.download(&quot;transliteration2.fa&quot;)چنانچه از سیستم عامل ویندوز استفاده می‌کنید، هنگام استفاده از این کتابخانه احتمالاً با خطاهایی مواجه می‌شوید. برای حل آنها دستورالعمل ذیل را انجام بدهید:خطای ImportError: cannot import name SIGPIPE : درون فایل &quot;C:\Python36\Lib\site-packages\polyglot\__main__.py&quot;، خط 9 (from signal import signal, SIG_DFL, SIGPIPE) و خط 28 (signal(SIGPIPE, SIG_DFL)) را حذف کنید.خطای IndexError: list index out of range : درون فایل &quot;C:\Python36\Lib\site-packages\polyglot\downloader.py&quot;، در تابع fromcsobj واقع در خط 205، مقدار path.sep را با &quot;/&quot; جایگزین نمایید (4 مورد در خطوط 208، 210، 215 و 216 باید در این تابع جایگزین شوند).نمونه کد استفاده از ابزارهای مختلف این کتابخانه:import polyglot
from polyglot.text import Text, Word

blob = u&quot;سلام! به سامانه متن کاوی فارسی یار خوش آمدید. ارائه دهنده بهترین ابزارهای متن کاوی فارسی در ایران.&quot;
text = Text(blob) # , hint_language_code=&#039;fa&#039;
print(&quot;Language Detected: Code={}, Name={}\n&quot;.format(text.language.code, text.language.name))
print(text.sentences)
print(text.tokens)
print(text.morphemes)
print(text.entities)
print(&quot; &quot;.join(map(str,text.transliterate(&quot;en&quot;))))
print(&quot;{:&lt;16}{}&quot;.format(&quot;Word&quot;, &quot;Polarity&quot;)+&quot;\n&quot;+&quot;-&quot;*30)
for w in text.words[-10:]:
    print(&quot;{:&lt;16}{:&gt;2}&quot;.format(w, w.polarity))خروجی این کد (به ترتیب خروجی ابزارهای تشخیص زبان، تقطیع جملات، تقطیع کلمات، تحلیل لغوی و بن‌واژه‌یابی، شناسایی موجودیت‌های نامی، ترجمه و نهایتاً شناسایی لغاتی حسی):Language Detected: Code=fa, Name=فارسی

[Sentence(&quot;سلام!&quot;), Sentence(&quot;به سامانه متن کاوی فارسی یار خوش آمدید.&quot;), Sentence(&quot;ارائه دهنده بهترین ابزارهای متن کاوی فارسی در ایران.&quot;)]

[&#039;سلام&#039;, &#039;!&#039;, &#039;به&#039;, &#039;سامانه&#039;, &#039;متن&#039;, &#039;کاوی&#039;, &#039;فارسی&#039;, &#039;یار&#039;, &#039;خوش&#039;, &#039;آمدید&#039;, &#039;.&#039;, &#039;ارائه&#039;, &#039;دهنده&#039;, &#039;بهترین&#039;, &#039;ابزارهای&#039;, &#039;متن&#039;, &#039;کاوی&#039;, &#039;فارسی&#039;, &#039;در&#039;, &#039;ایران&#039;, &#039;.&#039;]

[&#039;سلام&#039;, &#039;!&#039;, &#039; به سامانه متن کاوی فارسی یار &#039;, &#039;خوش&#039;, &#039; آمدید. ارائه دهنده بهترین &#039;, &#039;ابزار&#039;, &#039;های&#039;, &#039; متن کاوی فارسی در &#039;, &#039;ایران&#039;, &#039;.&#039;]

[I-LOC([&#039;ایران&#039;])]

slam  bh samanh mtn kavi farsi iar josh amdid  araeh dhendh bhtrin abzarhai mtn kavi farsi dr airan

Word            Polarity
------------------------------
ارائه            0
دهنده            0
بهترین           0
ابزارهای         0
متن              0
کاوی             0
فارسی            0
در               0
ایران            0
.                0همانطور که مشاهده می‌کنید، دقت خروجی polyglot برای زبان فارسی رضایت‌بخش نیست!کتابخانه Gensimکتابخانه gensim، یکی از محبوب‌ترین و بهترین ابزارهای مدلسازی موضوع (topic modelling) و بازنمایی متن (تبدیل متن به بردار) است. در این کتابخانه اغلب روش‌های مشهور تعبیه کلمات (word embedding) و بازنمایی کلمات (Word Representation) در زبان پایتون پیاده‌سازی شده و بخوبی بروزرسانی و پشتیبانی می‌شوند. شما برای پیش‌پردازش متن بهتر است از کتابخانه‌های دیگر مانند NLTK یا  SpaCy استفاده نموده و در تحلیل‌های بعدی (مانند استخراج کلمات کلیدی یا موضوعات درون متن) از این کتابخانه استفاده نمایید.نصب و راه‌اندازی:pip install -U gensimنمونه کد مدل‌سازی موضوعی متن:import gensim
from pprint import pprint  # pretty-printer

documents = [u&quot;سلام! به سامانه متن کاوی فارسی یار خوش آمدید.&quot;,
             &quot; ارائه دهنده بهترین ابزارهای متن کاوی فارسی در ایران.&quot;]
stoplist = set(u&#039;و را که به با برای از ها های ی می نمی این آن است هست نیست باشد شد کرد &#039;.split())
texts = [[word for word in document.lower().split() if word not in stoplist] for document in documents]
dictionary = gensim.corpora.Dictionary(texts)
bow_corpus = [dictionary.doc2bow(doc) for doc in texts]

##Then the dictionary and corpus can be used to train using LDA
lda_model =  gensim.models.ldamodel.LdaModel(bow_corpus, num_topics = 2, id2word = dictionary, passes = 10)
pprint(lda_model.print_topics(2, 5))
print(&#039;------------------------------------&#039;)
lsi_model = gensim.models.lsimodel.LsiModel(corpus=bow_corpus, id2word=dictionary, num_topics=2)
pprint(lsi_model.print_topics(2, 5))خروجی:[(0,  &#039;0.105*&quot;متن&quot; + 0.104*&quot;کاوی&quot; + 0.104*&quot;فارسی&quot; + 0.063*&quot;ارائه&quot; + &#039;&#039;0.063*&quot;ابزارهای&quot;&#039;),
 (1,  &#039;0.073*&quot;خوش&quot; + 0.073*&quot;آمدید.&quot; + 0.073*&quot;یار&quot; + 0.072*&quot;سلام!&quot; + &#039;&#039;0.072*&quot;سامانه&quot;&#039;)]
 ------------------------------------
 [(0,  &#039;0.415*&quot;متن&quot; + 0.415*&quot;کاوی&quot; + 0.415*&quot;فارسی&quot; + 0.225*&quot;بهترین&quot; + &#039;&#039;0.225*&quot;ارائه&quot;&#039;),
  (1,  &#039;0.327*&quot;آمدید.&quot; + 0.327*&quot;سلام!&quot; + 0.327*&quot;یار&quot; + 0.327*&quot;سامانه&quot; + &#039;&#039;0.327*&quot;خوش&quot;&#039;)]کتابخانه Illinois NLP Curatorکتابخانه NLP Curator، شامل ابزارهای کاملی از پردازش زبان طبیعی است که در دانشگاه ایلینوی آمریکا بوسیله زبان جاوا توسعه داده شده است. البته API آن به زبان پایتون نیز تهیه شده است.نصب و راه‌اندازی (API زبان پایتون):دستورات لازم برای نصب:pip install cython
pip install ccg_nlpyبرای از نصب و استفاده از این کتابخانه باید به چند نکته توجه داشته باشید:نصب Java Development Kit (JDK) و ایجاد متغیر سیستمی (environment variable) به نام JDK_HOME برای قرار دادن آدرس محل نصب جاوا مثل &quot;&quot;C:\Program Files\Java\jdk1.XXXX&quot;استفاده از فیلترشکن (در ایران) هنگام نصب و استفاده از API پایتون (بشکل ریموت یا آنلاین)برای دانلود کتابخانه‌ها و مدل‌ها (حدود 650 مگابایت) و استفاده بصورت آفلاین (لوکال)، بعد از نصب maven و افزودن آدرس جاوا به Path در متغیرهای سیستمی، دستورات زیر را اجرا و عمل نمایید:python -m ccg_nlpy download
pip install -U jnius
# add &quot;C:\Program Files\Java\jdk1.XXXX\jre\bin\client&quot; or &quot;C:\Program Files\Java\jdk1.XXXX\jre\bin\server&quot; to your Path of Windows environment نمونه کد استفاده از API پایتون:############ for remote (online) running #############
#from ccg_nlpy import remote_pipeline
#pipeline = remote_pipeline.RemotePipeline()
############ for local (offline) running #############
from ccg_nlpy import local_pipeline
pipeline = local_pipeline.LocalPipeline()

doc = pipeline.doc(&quot;Hello, how are you. I am doing fine&quot;)
print(doc.get_lemma)
print(doc.get_pos)خروجی:LEMMA view: (hello Hello) (, ,) (how how) (be are) (you you) (. .) (i I) (be am) (do doing) (fine fine)
POS view: (UH Hello) (, ,) (WRB how) (VBP are) (PRP you) (. .) (PRP I) (VBP am) (VBG doing) (JJ fine)منابع برترCOGCOMPNLP: Your Swiss Army Knife for NLP.; In Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC-2018). 2018.Choosing an NLP library for analyzing software documentation: a systematic literature review and a series of experiments.; In Proceedings of the 14th International Conference on Mining Software Repositories, pp. 187-197. IEEE Press, 2017. https://dzone.com/articles/nlp-tutorial-using-python-nltk-simple-exampleshttps://www.analyticsvidhya.com/blog/2017/04/natural-language-processing-made-easy-using-spacy-%E2%80%8Bin-python/https://medium.com/@datamonsters/text-preprocessing-in-python-steps-tools-and-examples-bf025f872908https://kleiber.me/blog/2018/02/25/top-10-python-nlp-libraries-2018/https://towardsdatascience.com/5-heroic-tools-for-natural-language-processing-7f3c1f8fc9f0https://towardsdatascience.com/nlp-engine-part-2-best-text-processing-tools-or-libraries-for-natural-language-processing-c7fd80f456e3  استفاده از این مقاله با ذکر منبع &quot;سامانه متن کاوی فارسی‌یار - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Tue, 19 Mar 2019 13:01:12 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی بهترین کتابخانه‌های پردازش متن - بخش دوم (TextBlob, Pattern, StanfordNLP)</title>
                <link>https://virgool.io/textmining/nlp-lib2-textblob-pattern-stanfordnlp-srohuhxdmj2v</link>
                <description>در مقاله قبل به مقایسه ویژگی‌های کتابخانه‌ها و ابزارهای پردازش زبان طبیعی اشاره شد. سپس سه کتابخانه NLTK, SpaCy و CoreNLP معرفی و نمونه کد آن قرار داده شد. دیگر بخش‌های این مقاله:بخش اول - معرفی بهترین کتابخانه‌های پردازش متن (NLTK, SpaCy, CoreNLP)بخش دوم - معرفی بهترین کتابخانه‌های پردازش متن (TextBlob, Pattern, StanfordNLP)بخش سوم - معرفی بهترین کتابخانه‌های پردازش متن (Polyglot, Gensim, Illinois NLP Curator)بخش چهارم - معرفی بهترین کتابخانه‌های پردازش متن (Spark-NLP, OpenNLP, SyntaxNet)بخش پنجم - معرفی بهترین کتابخانه‌های پردازش متن (GATE, RapidMiner, MALLET, FreeLing)در جدول زیر بطور خلاصه لیست کتابخانه‌ها و جعبه ابزارهای معروف و رایگان پردازش متن، ویژگی‌های مهم آنها و ابزارهای پیاده‌سازی شده در هریک را گردآوری کردیم.  مقایسه ویژگی‌ها و امکانات کتابخانه‌های (جعبه ابزار) محبوب و رایگان پردازش زبان طبیعی تا سال 2019 ذکر چند نکته درباره این جدول را لازم می‌دانیم. ستون دوم سال تولید و سالی که آخرین نسخه ابزار (بروزرسانی) در آن ارائه شده است را نشان می‌دهد. در ستون ششم، تعداد ستاره‌ی داده شده به پروژه مربوط به هر کتابخانه‌ در گیت‌هاب (یا پرستاره‌ترین پروژه مرتبط با آنها) را به عنوان سنجه میزان محبوبیت درنظر گرفتیم. همچنین از شاخص تعداد سوالات پرسیده شده در StackoverFlow (درباره هر کتابخانه)، به عنوان مبنای میزان استفاده و جامعه بهره‌بردار آن کتابخانه استفاده شده است. ستون هفدهم به پشتیبانی از زبان فارسی هر کتابخانه (همه یا بعضی از ابزارهای آن) اختصاص داده شده است. این اطلاعات و ارقام در تاریخ 15 اسفند 97 جمع‌آوری شدند. در این بخش به معرفی چند جعبه ابزار پردازش متن محبوب و کاربردی دیگر می‌پردازیم.کتابخانه TextBlobکتابخانه TextBlob، یکی از ابزارهای بسیار کامل و راحت برای پردازش داده‌های متنی در زبان پایتون است. این کتابخانه شامل ابزارهای مختلف پردازش زبان طبیعی از قبیل: استخراج عبارات اسمی، بن‌واژه‌یابی، برچسب‌زنی نقش ادت سخن، پارسر (تجزیه‌گر) جملات، تحلیل احساسات، دسته‌بندی (نایوبیز و درخت تصمیم)، ترجمه (بوسیله مترجم گوگل)، تصحیح اشتباهات املایی، اتصال به وردنت است.نصب و راه‌اندازی: pip install -U textblob
python -m textblob.download_corporaنمونه کد استفاده از امکانات مختلف این کتابخانه:from textblob import TextBlob

text = &#039;&#039;&#039;TextBlob is a Python (2 and 3) library for processing textual data. It provides a consistent API for diving into common natural language processing (NLP) tasks such as part-of-speech tagging, noun phrase extraction, sentiment analysis, and more.&#039;&#039;&#039;

blob = TextBlob(text)
print(blob.tags) 
print(blob.noun_phrases)

for sentence in blob.sentences:
    print(sentence.sentiment.polarity)

blob.translate(to=&quot;fa&quot;) خروجی:[(&#039;TextBlob&#039;, &#039;NNP&#039;), (&#039;is&#039;, &#039;VBZ&#039;), (&#039;a&#039;, &#039;DT&#039;), (&#039;Python&#039;, &#039;NNP&#039;), (&#039;2&#039;, &#039;CD&#039;), (&#039;and&#039;, &#039;CC&#039;), (&#039;3&#039;, &#039;CD&#039;), (&#039;library&#039;, &#039;NN&#039;), (&#039;for&#039;, &#039;IN&#039;), (&#039;processing&#039;, &#039;VBG&#039;), (&#039;textual&#039;, &#039;JJ&#039;), (&#039;data&#039;, &#039;NNS&#039;), (&#039;It&#039;, &#039;PRP&#039;), (&#039;provides&#039;, &#039;VBZ&#039;), (&#039;a&#039;, &#039;DT&#039;), (&#039;consistent&#039;, &#039;JJ&#039;), (&#039;API&#039;, &#039;NNP&#039;), (&#039;for&#039;, &#039;IN&#039;), (&#039;diving&#039;, &#039;VBG&#039;), (&#039;into&#039;, &#039;IN&#039;), (&#039;common&#039;, &#039;JJ&#039;), (&#039;natural&#039;, &#039;JJ&#039;), (&#039;language&#039;, &#039;NN&#039;), (&#039;processing&#039;, &#039;NN&#039;), (&#039;NLP&#039;, &#039;NNP&#039;), (&#039;tasks&#039;, &#039;NNS&#039;), (&#039;such&#039;, &#039;JJ&#039;), (&#039;as&#039;, &#039;IN&#039;), (&#039;part-of-speech&#039;, &#039;JJ&#039;), (&#039;tagging&#039;, &#039;NN&#039;), (&#039;noun&#039;, &#039;JJ&#039;), (&#039;phrase&#039;, &#039;NN&#039;), (&#039;extraction&#039;, &#039;NN&#039;), (&#039;sentiment&#039;, &#039;NN&#039;), (&#039;analysis&#039;, &#039;NN&#039;), (&#039;and&#039;, &#039;CC&#039;), (&#039;more&#039;, &#039;JJR&#039;)][&#039;textblob&#039;, &#039;python&#039;, &#039;processing textual data&#039;, &#039;api&#039;, &#039;common natural language processing&#039;, &#039;nlp&#039;, &#039;noun phrase extraction&#039;, &#039;sentiment analysis&#039;]0.0
0.11000000000000001TextBlob یک کتابخانه پایتون (2 و 3) برای پردازش داده های متنی است. این یک API سازگار برای غواصی را به وظایف پردازش زبان مشترک طبیعی (NLP) مانند تگ های بخشی از گفتار، عبارات استخراج کلمات، تحلیل احساسات و موارد دیگر فراهم می کند.کتابخانه Patternکتابخانه Pattern، یک مجموعه ماژول مناسب برای وب کاوی (Web Mining) با زبان پایتون ارائه داده است. این کتابخانه شامل API برای دریافت اطلاعات و استفاده از موتور جستجوی گوگل و مایکروسافت بینگ، مترجم گوگل، تویئتر، فیس‌بوک و ویکی‌پدیا است. همچنین مجهز به یک خزشگر وب (کرولر و پارسر قالب HTML) برای جمع‌آوری داده از سایر سایت‌هاست. ماژول پردازش زبان طبیعی این کتابخانه عملیات اصلی پردازش متن از قبیل: POS Tagger، n-gram search، تحلیل حس و اتصال به وردنت را داراست. ماژول سوم آن بخش یادگیری ماشین است که مدل بردار کلمات، خوشه‌بندی و دسته‌بندی SVM را شامل می‌شود. علاوه بر اینها، این کتابخانه ماژولی برای تحلیل گراف (شبکه) و مجسم‌سازی (visualization) نیز دارد.توجه داشته باشید که برای کار با API تویئتر و ... در ایران، باید از فیلترشکن استفاده کنید :)نصب و راه‌اندازی: pip install patternنمونه کد برای دریافت پیکره (مجموعه داده متنی) و استفاده از APIهای گوگل، تویئتر و کرولر:from pattern.web import  URL, DOM, plaintext, Twitter, Google

url = URL(&quot;https://text-mining.ir&quot;)
dom = DOM(url.download(cached=True, unicode=True))
print(plaintext(dom.head.by_tag(&quot;title&quot;)[0]))

twitter = Twitter(language=&#039;en&#039;)
for tweet in twitter.search(&#039;#win OR #fail&#039;, start=1, count=3):
    print(tweet.text)
    
g = Google(license=None)  # Enter your license key.
q = &quot;Persian language needs your online help.&quot;  # en
print(plaintext(g.translate(q, input=&quot;en&quot;, output=&quot;fa&quot;)))  # ar, de, es, fr, sv, ja, ... خروجی:سامانه متن کاوی : ارائه دهنده سرویس‌های متن‌کاوی و پردازش متن فارسی همراه با API رایگانRT @Cruise_118: RT &amp; Follow this post before the weekend for a chance to #win these @MyRoyalUK goodies! UK only. #WinItWednesday #Competition https://t.co/5dSyXVveqz
RT @dkbooks: RT &amp; follow by 5PM for your chance to #win 1 of 3 copies of @The_RHS Propagating Plants, publishing tomorrow! It&#039;s packed with hundreds of step-by-step tutorials and ideal for thrifty #gardening this Spring ? #WinItWednesday #competition #giveaway https://t.co/lP74RJzXap
RT @lipsticktv: #Competition Just FOLLOW US &amp; RETWEET? https://t.co/QDwFJPFOBD to enter! #win this fab(sold out!) #DollBeauty Eye palette/pigments ?All our #giveaways are International! Ends 10th March ???? https://t.co/GU7eskh5V1زبان فارسی نیاز به کمک آنلاین شما دارد.نمونه کد ابزارهای پایه پردازش زبان طبیعی:from pattern.en import parse, pprint, tag

s = &quot;I eat pizza with a fork.&quot;
s = parse(s,
     tokenize = True,  # Tokenize the input, i.e. split punctuation from words.
     tags = True,  # Find part-of-speech tags.
     chunks = True,  # Find chunk tags, e.g. &quot;the black cat&quot; = NP = noun phrase.
     relations = True,  # Find relations between chunks.
     lemmata = True,  # Find word lemmata.
     light = False)

# The output is a string with each sentence on a new line.
# Words in a sentence have been annotated with tags,
# for example: fork/NN/I-NP/I-PNP  (NN = noun, NP = part of a noun phrase, PNP = part of a prepositional phrase.)
print(s)
# Prettier output can be obtained with the pprint() command:
pprint(s)خروجی شبه کد فوق:I/PRP/B-NP/O/NP-SBJ-1/i eat/VBP/B-VP/O/VP-1/eat pizza/NN/B-NP/O/NP-OBJ-1/pizza with/IN/B-PP/B-PNP/O/with a/DT/B-NP/I-PNP/O/a fork/NN/I-NP/I-PNP/O/fork ././O/O/O/.
...
          WORD   TAG    CHUNK   ROLE   ID     PNP    LEMMA
          I   PRP    NP      SBJ    1      -      i
          eat   VBP    VP      -      1      -      eat
          pizza   NN     NP      OBJ    1      -      pizza
          with   IN     PP      -      -      PNP    with
          a   DT     NP      -      -      PNP    a
          fork   NN     NP ^    -      -      PNP    fork
          .   .      -       -      -      -      .نمونه کد تحلیل حس:from pattern.en import sentiment, polarity, subjectivity, positive

# The polarity() function measures positive vs. negative, as a number between -1.0 and +1.0.
# The subjectivity() function measures objective vs. subjective, as a number between 0.0 and 1.0.
# The sentiment() function returns an averaged (polarity, subjectivity)-tuple for a given string.
for word in (&quot;amazing&quot;, &quot;horrible&quot;, &quot;public&quot;):
    print(word, sentiment(word))
    
print(sentiment(&quot;The movie attempts to be surreal by incorporating time travel and various time paradoxes,&quot;
    &quot;but it&#039;s presented in such a ridiculous way it&#039;s seriously boring.&quot;))خروجی به شکل (نوع حس [-1,+1]، میزان حس بکاررفته[0-1]) :amazing (0.6000000000000001, 0.9)
horrible (-1.0, 1.0)
public (0.0, 0.06666666666666667)
...
(-0.21666666666666665, 0.8)کتابخانه StanfordNLPکتابخانه StanfordNLP، یکی از جدیدترین کتابخانه‌های پردازش متن چندزبانه است که در سال 2018 ایجاد گردید. نکته قابل توجه و مهم این کتابخانه پشتیبانی بیش از 53 زبان با استفاده از آموزش مدل‌های یادگیری عمیق بوسیله Pytorch و با پیکره‌های آماده شده به فرمت استاندارد CoNLL است. خوشبخانه مدل‌های یادگیری عمیق ابزارهای مختلف این کتابخانه، براساس پیکره خانم دکتر سراجی، برای زبان فارسی نیز آموزش داده شده و در زبان فارسی نیز قابل استفاده هستند. تصمیم جالب دانشگاه استنفورد این بود که برخلاف کتابخانه Stanford CoreNLP که با زبان جاوا نوشته شده بود، این کتابخانه کلاً با زبان محبوب پایتون نوشته شده است.نصب و راه‌اندازی:pip install stanfordnlpنمونه کد و خروجی ابزارهای مختلف این کتابخانه برای زبان فارسی:# -*- coding: utf-8 -*-
import stanfordnlp

MODELS_DIR = r&#039;E:\Data&#039;
# stanfordnlp.download(&#039;fa&#039;, MODELS_DIR, False)  # This downloads the Persian models for the neural pipeline (used only for the first time)
nlp = stanfordnlp.Pipeline(lang=&quot;fa&quot;, models_dir=MODELS_DIR, treebank=&#039;fa_seraji&#039;, use_gpu=False) # This sets up a default neural pipeline in Persian

doc = nlp(u&quot;احمد و بردارش با هم به مدرسه شهید اسماعیل‌زاده در جنوب تهران می رفتند.&quot;)
print(*[f&#039;text: {word.text+&quot; &quot;}\tlemma: {word.lemma}\tupos: {word.upos}\txpos: {word.xpos}&#039; for sent in doc.sentences for word in sent.words], sep=&#039;\n&#039;)
print(&quot;----------------------------------------------&quot;)
doc.sentences[0].print_dependencies()خروجی نمونه کد فوق:text: احمد      lemma: احمد     upos: NOUN      xpos: N_SING
text: و         lemma: و        upos: CCONJ     xpos: CON
text: بردار     lemma: بردار    upos: NOUN      xpos: N_SING
text: ش         lemma: او       upos: PRON      xpos: PRO
text: با        lemma: با       upos: ADP       xpos: P
text: هم        lemma: هم       upos: PRON      xpos: PRO
text: به        lemma: به       upos: ADP       xpos: P
text: مدرسه     lemma: مدرسه    upos: NOUN      xpos: N_SING
text: شهید      lemma: شهید     upos: NOUN      xpos: N_SING
text: اسماعیل‌زاده      lemma: اسماعیل‌زاده     upos: ADJ       xpos: ADJ
text: در        lemma: در       upos: ADP       xpos: P
text: جنوب      lemma: جنوب     upos: NOUN      xpos: N_SING
text: تهران     lemma: تهران    upos: NOUN      xpos: N_SING
text: می        lemma: می       upos: NOUN      xpos: N_SING
text: رفتند     lemma: رفت#رو   upos: VERB      xpos: V_PA
text: .         lemma: .        upos: PUNCT     xpos: DELM
----------------------------------------------
(&#039;احمد&#039;, &#039;15&#039;, &#039;nsubj&#039;)
(&#039;و&#039;, &#039;3&#039;, &#039;cc&#039;)
(&#039;بردار&#039;, &#039;1&#039;, &#039;conj&#039;)
(&#039;ش&#039;, &#039;3&#039;, &#039;nmod:poss&#039;)
(&#039;با&#039;, &#039;6&#039;, &#039;case&#039;)
(&#039;هم&#039;, &#039;15&#039;, &#039;obl&#039;)
(&#039;به&#039;, &#039;8&#039;, &#039;case&#039;)
(&#039;مدرسه&#039;, &#039;15&#039;, &#039;obl&#039;)
(&#039;شهید&#039;, &#039;8&#039;, &#039;nmod:poss&#039;)
(&#039;اسماعیل\u200cزاده&#039;, &#039;9&#039;, &#039;amod&#039;)
(&#039;در&#039;, &#039;12&#039;, &#039;case&#039;)
(&#039;جنوب&#039;, &#039;9&#039;, &#039;nmod&#039;)
(&#039;تهران&#039;, &#039;12&#039;, &#039;nmod:poss&#039;)
(&#039;می&#039;, &#039;15&#039;, &#039;compound:lvc&#039;)
(&#039;رفتند&#039;, &#039;0&#039;, &#039;root&#039;)
(&#039;.&#039;, &#039;15&#039;, &#039;punct&#039;)منتظر ما باشید: بزودی مقاله‌ای درباره دقت و کارایی (زمانی) این کتابخانه برای زبان فارسی می‌نویسیم.منابع برتر Universal Dependency Parsing from Scratch In Proceedings of the CoNLL 2018 Shared Task: Multilingual Parsing from Raw Text to Universal Dependencies, pp. 160-170, 2018. https://www.analyticsvidhya.com/blog/2018/02/natural-language-processing-for-beginners-using-textblob/https://medium.com/@datamonsters/text-preprocessing-in-python-steps-tools-and-examples-bf025f872908https://kleiber.me/blog/2018/02/25/top-10-python-nlp-libraries-2018/https://towardsdatascience.com/5-heroic-tools-for-natural-language-processing-7f3c1f8fc9f0https://towardsdatascience.com/nlp-engine-part-2-best-text-processing-tools-or-libraries-for-natural-language-processing-c7fd80f456e3 استفاده از این مقاله با ذکر منبع &quot;سامانه متن کاوی فارسی‌یار - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Mon, 11 Mar 2019 11:29:52 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی بهترین کتابخانه‌های پردازش متن - بخش اول (NLTK, SpaCy, CoreNLP)</title>
                <link>https://virgool.io/textmining/nlp-lib1-nltk-spacy-corenlp-jrgpcjfyawfx</link>
                <description>امروزه با توسعه ابزارهای ارتباطی، پردازش زبان طبیعی (Natural language processing - NLP) محبوبیت و جایگاه ویژه‌ای یافته است. بخصوص با ورود یادگیری عمیق به پردازش و فهم زبان، تحولی در این حوزه رخ داده است. یکی از فیلدهای مهم پردازش زبان‌های طبیعی، پردازش متن است. خوشبختانه امروزه برای پردازش متن ابزارهای (کتابخانه‌های) بسیار مفید و منبع باز، بخصوص در زبان پایتون، ایجاد شده است. خبر خوب دیگر اینکه در سال‌های اخیر توجه توسعه دهندگان این ابزارها به سمت چندزبانه شدن بوده است.در جدول زیر بطور خلاصه لیست کتابخانه‌ها و جعبه ابزارهای معروف و رایگان پردازش متن، ویژگی‌های مهم آنها و ابزارهای پیاده‌سازی شده در هریک را گردآوری کردیم. مقایسه ویژگی‌ها و امکانات کتابخانه‌های (جعبه ابزار) محبوب و رایگان پردازش زبان طبیعی تا سال 2019  ذکر چند نکته درباره این جدول را لازم می‌دانیم. ستون دوم سال تولید و سالی که آخرین نسخه ابزار (بروزرسانی) در آن ارائه شده است را نشان می‌دهد. در ستون ششم، تعداد ستاره‌ی داده شده به پروژه مربوط به هر کتابخانه‌ در گیت‌هاب (یا پرستاره‌ترین پروژه مرتبط با آنها) را به عنوان سنجه میزان محبوبیت درنظر گرفتیم. همچنین از شاخص تعداد سوالات پرسیده شده در StackoverFlow (درباره هر کتابخانه)، به عنوان مبنای میزان استفاده و جامعه بهره‌بردار آن کتابخانه استفاده شده است. ستون هفدهم به پشتیبانی از زبان فارسی هر کتابخانه (همه یا بعضی از ابزارهای آن) اختصاص داده شده است. این اطلاعات و ارقام در تاریخ 15 اسفند 97 جمع‌آوری شدند. حال قصد معرفی مختصر و نمونه کد بعضی از کتابخانه‌های محبوب فوق را داریم. سعی شده است در توضیحات ذیل از تکرار مشخصات و لیست ابزارهای پیاده‌سازی شده (که در جدول فوق مشخص شده) برای هر کتابخانه جلوگیری شود. دیگر بخش‌های این مقاله:بخش اول - معرفی بهترین کتابخانه‌های پردازش متن (NLTK, SpaCy, CoreNLP)بخش دوم - معرفی بهترین کتابخانه‌های پردازش متن (TextBlob, Pattern, StanfordNLP)بخش سوم - معرفی بهترین کتابخانه‌های پردازش متن (Polyglot, Gensim, Illinois NLP Curator)بخش چهارم - معرفی بهترین کتابخانه‌های پردازش متن (Spark-NLP, OpenNLP, SyntaxNet)بخش پنجم - معرفی بهترین کتابخانه‌های پردازش متن (GATE, RapidMiner, MALLET, FreeLing)کتابخانه Natural Language Toolkit - NLTKکتابخانه‌ NLTK یکی از جامع‌ترین و قدیمی‌ترین کتابخانه‌های پردازش زبان طبیعی در پایتون است. این کتابخانه پایه و استانداردی برای کتابخانه‌های پردازش متن محسوب شده و برای کاربردهای پژوهشی فوق‌العاده است. یکی از ویژگی‌های خوب این کتابخانه امکان اتصال به پیکره‌های مختلف متنی است.نصب و راه‌اندازی:# pip install nltk

import nltk
nltk.download(&#039;punkt&#039;) # tokenizer
nltk.download(&#039;stopwords&#039;) # remove stop-words
nltk.download(&#039;averaged_perceptron_tagger&#039;) # pos tagger
nltk.download(&#039;maxent_ne_chunker&#039;) # chunker
nltk.download(&#039;words&#039;) # ner
nltk.download(&#039;treebank&#039;) # dependency parser
nltk.download(&#039;wordnet&#039;) # lematizerمثال‌هایی برای تقطیع جمله، کلمات و حذف کلمات زائد با این ابزار:from nltk.tokenize import word_tokenize, sent_tokenize
from nltk.corpus import stopwords
stopWords = set(stopwords.words(&#039;english&#039;))

sentence = &quot;At eight o&#039;clock on Thursday morning. Arthur didn&#039;t feel very good.&quot;
print(sent_tokenize(sentence))
words = word_tokenize(sentence)
print(words)

wordsFiltered = []
for w in words:
 if w not in stopWords:
 wordsFiltered.append(w)
print(wordsFiltered)خروجی نمونه کد بالا:[&quot;At eight o&#039;clock on Thursday morning.&quot;, &quot;Arthur didn&#039;t feel very good.&quot;]
[&#039;At&#039;, &#039;eight&#039;, &quot;o&#039;clock&quot;, &#039;on&#039;, &#039;Thursday&#039;, &#039;morning&#039;, &#039;.&#039;, &#039;Arthur&#039;, &#039;did&#039;, &quot;n&#039;t&quot;, &#039;feel&#039;, &#039;very&#039;, &#039;good&#039;, &#039;.&#039;]
[&#039;At&#039;, &#039;eight&#039;, &quot;o&#039;clock&quot;, &#039;Thursday&#039;, &#039;morning&#039;, &#039;.&#039;, &#039;Arthur&#039;, &quot;n&#039;t&quot;, &#039;feel&#039;, &#039;good&#039;, &#039;.&#039;]نمونه کد برای ریشه‌یابی و بن‌واژه‌یابی (در ادامه کد فوق):from nltk.stem import PorterStemmer
from nltk.stem import WordNetLemmatizer

pstemer = PorterStemmer()
wordnet_lemmatizer = WordNetLemmatizer()
words = word_tokenize(&quot;gaming, the gamers play games&quot;)

for word in words: 
 print(word + &quot;:&quot; + pstemer.stem(word))

for word in words:
 print(word + &quot;:&quot; + wordnet_lemmatizer.lemmatize(word))خروجی:gaming:game
,:,
the:the
gamers:gamer
play:play
games:game
...
gaming:gaming
,:,
the:the
gamers:gamers
play:play
games:gameنمونه کد برای برچسب‌زنی نقش ادت سخن، قطعه‌بند و شناسایی موجودیت‌ها و نهایتاً پارسر وابستگی (در ادامه کد فوق):words = word_tokenize(&quot;Mark and John are working at Google.&quot;)

tagged = nltk.pos_tag(words)
print(tagged)

entities = nltk.chunk.ne_chunk(tagged)
print(entities)

from nltk.corpus import treebank
t = treebank.parsed_sents(&#039;wsj_0001.mrg&#039;)[0]
print(t) # t.draw()خروجی: [(&#039;Mark&#039;, &#039;NNP&#039;), (&#039;and&#039;, &#039;CC&#039;), (&#039;John&#039;, &#039;NNP&#039;), (&#039;are&#039;, &#039;VBP&#039;), (&#039;working&#039;, &#039;VBG&#039;), (&#039;at&#039;, &#039;IN&#039;), (&#039;Google&#039;, &#039;NNP&#039;), (&#039;.&#039;, &#039;.&#039;)]
...
(S
 (PERSON Mark/NNP)
 and/CC
 (PERSON John/NNP)
 are/VBP
 working/VBG
 at/IN
 (ORGANIZATION Google/NNP)
 ./.)
...
(S
 (NP-SBJ
 (NP (NNP Pierre) (NNP Vinken))
 (, ,)
 (ADJP (NP (CD 61) (NNS years)) (JJ old))
 (, ,))
 (VP
 (MD will)
 (VP
 (VB join)
 (NP (DT the) (NN board))
 (PP-CLR (IN as) (NP (DT a) (JJ nonexecutive) (NN director)))
 (NP-TMP (NNP Nov.) (CD 29))))
 (. .))کتابخانه SpaCyکتابخانه SpaCy با زبان پایتون برای متن کاوی تهیه شده و با اجرا روی Cython به سرعت مشهور است. این کتابخانه ارتباط خوبی با ابزارهای یادگیری ماشین و یادگیری عمیق از قبیل gensim ،Keras ،TensorFlow و scikit-learn داشته و برای پیش‌پردازش متن در این حوزه بسیار کاربردی است. به گفته توسعه‌دهندگان این کتابخانه ماموریت این ابزار، فراهم‌سازی بهترین ابزار در دسترس برای عملیات کاربردی پردازش زبان طبیعی است. این کتابخانه چندزبانه است ولی متاسفانه در حال حاضر از زبان فارسی پشتیبانی نمی‌کند. اگرچه امکان افزودن مدل‌های زبان‌های دیگر را دارد.نصب و راه‌اندازی:pip install spacy
python -m spacy download en_core_web_smمثال‌هایی برای استفاده از این ابزار:import spacy
# Load English tokenizer, tagger, parser, NER and word vectors
nlp = spacy.load(&#039;en_core_web_sm&#039;)

# Preprocessing (Process whole documents)
text = u&#039;Apple is looking at buying U.K. startup for $1 billion.&#039;
doc = nlp(text)

# Tokenization, Stopwords, Lemmatization, POS tagging, Dependency Parsing
for token in doc:
 print(token.text, token.is_stop, token.lemma_, token.pos_, token.tag_, token.dep_)

# Find named entities, phrases and concepts
for entity in doc.ents:
 print(entity.text, entity.label_, ent.start_char, ent.end_char)
 
# Determine semantic similarities
doc1 = nlp(u&quot;my fries were super gross&quot;)
doc2 = nlp(u&quot;such disgusting fries&quot;)
similarity = doc1.similarity(doc2)
print(doc1.text, doc2.text, similarity)خروجی:(u&#039;Apple&#039;, False, u&#039;apple&#039;, u&#039;PROPN&#039;, u&#039;NNP&#039;, u&#039;nsubj&#039;)
(u&#039;is&#039;, True, u&#039;be&#039;, u&#039;VERB&#039;, u&#039;VBZ&#039;, u&#039;aux&#039;)
(u&#039;looking&#039;, False, u&#039;look&#039;, u&#039;VERB&#039;, u&#039;VBG&#039;, u&#039;ROOT&#039;)
(u&#039;at&#039;, True, u&#039;at&#039;, u&#039;ADP&#039;, u&#039;IN&#039;, u&#039;prep&#039;)
(u&#039;buing&#039;, False, u&#039;bu&#039;, u&#039;VERB&#039;, u&#039;VBG&#039;, u&#039;pcomp&#039;)
(u&#039;U.k&#039;, False, u&#039;u.k&#039;, u&#039;PROPN&#039;, u&#039;NNP&#039;, u&#039;dep&#039;)
(u&#039;.&#039;, False, u&#039;.&#039;, u&#039;PUNCT&#039;, u&#039;.&#039;, u&#039;punct&#039;)
(u&#039;startup&#039;, False, u&#039;startup&#039;, u&#039;VERB&#039;, u&#039;VBG&#039;, u&#039;ROOT&#039;)
(u&#039;for&#039;, True, u&#039;for&#039;, u&#039;ADP&#039;, u&#039;IN&#039;, u&#039;prep&#039;)
(u&#039;$&#039;, False, u&#039;$&#039;, u&#039;SYM&#039;, u&#039;$&#039;, u&#039;quantmod&#039;)
…
(u&#039;Apple&#039;, u&#039;ORG&#039;, 0, 5)
(u&#039;$1 billion&#039;, u&#039;MONEY&#039;, 43, 53)
…
 my fries were super gross such disgusting fries 0.7139701576579747کتابخانه Stanford’s CoreNLPکتابخانه Stanford’s CoreNLP، ابزار بسیار مناسب برای تحلیل‌های دستوری برای زبان است. این ابزار با زبان جاوا نوشته شده ولی API آن برای زبان‌های مختلف از قبیل پایتون و سی‌شارپ موجود است. چندزبانه بودن و تمرکز بر استخراج اطلاعات باز از متن از ویژگی‌های اصلی این ابزار است.مثال‌هایی برای استفاده از این ابزار:import edu.stanford.nlp.coref.data.CorefChain;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.ie.util.*;
import edu.stanford.nlp.pipeline.*;
import edu.stanford.nlp.semgraph.*;
import edu.stanford.nlp.trees.*;
import java.util.*;

public class BasicPipelineExample {
 public static String text = &quot;Joe Smith was born in California. &quot; +
 &quot;In 2017, he went to Paris, France in the summer. &quot; +
 &quot;His flight left at 3:00pm on July 10th, 2017. &quot;;
 
 public static void main(String[] args) {
 // set up pipeline properties
 Properties props = new Properties();
 // set the list of annotators to run
 props.setProperty(&quot;annotators&quot;, &quot;tokenize,ssplit,pos,lemma,ner,parse,depparse,coref,kbp,quote&quot;);
 
 // set a property for an annotator, in this case the coref annotator is being set to use the neural algorithm
 props.setProperty(&quot;coref.algorithm&quot;, &quot;neural&quot;);
 
 // build pipeline
 StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
 // create a document object
 CoreDocument document = new CoreDocument(text);
 // annnotate the document
 pipeline.annotate(document);
 
 // examples
 // 10th token of the document
 CoreLabel token = document.tokens().get(10);
 System.out.println(token);
 
 // list of the part-of-speech tags for the second sentence
 List&lt;String&gt; posTags = sentence.posTags();
 System.out.println(posTags);
 }
}برای دریافت مثال‌های بیشتر و کامل به مستندات یا صفحه آموزش این کتابخانه مراجعه بفرمایید. همچنین برای استفاده از این کتابخانه در زبان پایتون، کتابخانه‌های غیررسمی زیادی وجود دارد که می‌توانید از آنها استفاده کنید ولی پیشنهاد می‌شود که از پروژه رسمی آن به نام Stanford CoreNLP Python Interface استفاده کنید. برای آشنایی با نحوه استفاده از کتابخانه Stanford CoreNLP در سایر زبان‌ها از قبیل C#، Go، PHP، Perl، Ruby، Scala، ... به این صفحه مراجعه بفرمایید.نتیجه‌گیریدر این مقاله، کتابخانه‌ها و جعبه ابزارهای محبوب پردازش زبان طبیعی در زبان‌های مختلف برنامه‌نویسی معرفی شدند. از جمله آنها می‌توان به NLTK، spaCy، TextBlob، Gensim، Pattern، Polyglot، Stanford CoreNLP، SyntaxNet، FreeLing و GATE اشاره کرد. البته هنوز کتابخانه‌های دیگری برای پردازش متن (بخصوص در زبان پایتون) مانند: Vocabulary، PyNLPl، MontyLingua NlpNet و ... وجود دارند که در این مقاله به معرفی آنها پرداخته نشده است. انشالله در مقالاتی جداگانه به معرفی سایر کتابخانه‌های محبوب پردازش متن خواهیم پرداخت. همانطور که مستحضر هستید، در سال‌های اخیر تمایل دانشمندان داده به سمت زبان پایتون بسیار زیاد بوده است. حوزه‌ی پردازش زبان طبیعی نیز از این امر مستثنی نبوده و اغلب کتابخانه‌ها و ابزارهای جدید با زبان پایتون توسعه داده شده‌ یا پوششی (wrapper) از زبان پایتون برای آنها تهیه شده است.در پایان، پنج کتابخانه‌ی پردازش متن که بیشترین طرفدار را دارند با هم از نظر محبوبیت در 5 سال اخیر مقایسه نمودیم.قایسه محبویت پرطرفدارترین کتابخانه‌های پردازش متن (استخراج شده از Google Trends)در این مقاله مقایسه جالبی بین سرعت اجرای چهار کتابخانه SpaCy ،NLTK ،Stanford CoreNLP وIllinois COGCOMP NLP روی سخت‌افزاری با مشخصات CPU=12×Intel Xeon six-core 3.2GHz و Memory=32GB انجام شده است:مقایسه سرعت اجرای چهار کتابخانه پردازش زبان طبیعی برای تقطیع جملات و کلمات، برچسب‌زنی نقش ادات سخن و موجودیت‌های نامی (مقدار بیشتر بهتر هست) همچنین مطابق در آزمایشات انجام شده در همین مقاله، سرعت (کارایی) ابزارهای NLTK و TextBlob در یک سطح هستند.در مقاله دیگری، روی دقت چهار کتابخانه‌ Stanford CoreNLP، Google SyntaxNet، SpaCy و NLTK بر روی سه پیکره مختلف، مطالعه شده و نهایتاً مشخص شد که کتابخانه NLTK و SpaCy از دقت خوبی برخوردار هستند:مقایسه دقت (accuracy) چهار کتابخانه پردازش زبان طبیعی در شناسایی کلمات (توکن) و برچسب‌زنی نقش ادات سخن (مقدار بیشتر بهتر هست)منابع برترCOGCOMPNLP: Your Swiss Army Knife for NLP.; In Proceedings of the Eleventh International Conference on Language Resources and Evaluation (LREC-2018). 2018.Choosing an NLP library for analyzing software documentation: a systematic literature review and a series of experiments.; In Proceedings of the 14th International Conference on Mining Software Repositories, pp. 187-197. IEEE Press, 2017. https://dzone.com/articles/nlp-tutorial-using-python-nltk-simple-exampleshttps://www.analyticsvidhya.com/blog/2017/04/natural-language-processing-made-easy-using-spacy-%E2%80%8Bin-python/https://medium.com/@datamonsters/text-preprocessing-in-python-steps-tools-and-examples-bf025f872908https://kleiber.me/blog/2018/02/25/top-10-python-nlp-libraries-2018/https://towardsdatascience.com/5-heroic-tools-for-natural-language-processing-7f3c1f8fc9f0https://towardsdatascience.com/nlp-engine-part-2-best-text-processing-tools-or-libraries-for-natural-language-processing-c7fd80f456e3 استفاده از این مقاله با ذکر منبع &quot;سامانه متن کاوی فارسی‌یار - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Sun, 03 Mar 2019 14:54:12 +0330</pubDate>
            </item>
                    <item>
                <title>حوزه‌های تحقیقاتی نظرکاوی (تحلیل حس نویسنده از روی متن)</title>
                <link>https://virgool.io/textmining/opinion-mining-categories-aimyqgphdqmx</link>
                <description> وقتی صحبت از نظر کاوی پیش می‌آید ابتدا ذهن همه به دنبال دسته‌بندی حسی (تحلیل احساسات) می‌رود. ولی دسته‌بندی حسی یا تشخیص حس نویسنده از متن یکی از فیلدهای پرطرفدار و کاربردی نظرکاوی است درحالیکه در این حوزه زمینه‌های تحقیقاتی مفید دیگری نیز وجود دارد.در مقاله قبل درباره تعاریف و مقدمات نظرکاوی صحبت کردیم. حالا قصد معرفی زمینه‌های مختلف تحقیقاتی در حوزه نظر کاوی را داریم. در شکل زیر زمینه‌های کلی نظر کاوی نشان داده شده است. دسته‌بندی زمینه‌های تحقیقاتی مرتبط با نظر کاوی به همراه نمایش ارتباط بین آنهاتولید مجموعه لغات حسیساخت مجموعه لغات حاوی حس (بار حسی مثبت و منفی)، یکی از روشهای مورد توجه محققان برای تشخیص حس جملات است. بطور کلی روش‌های تحلیل احساسات (دسته‌بندی حسی نظرات) را می‌توان به سه گروه تقسیم‌بندی نمود :  روش‌های مبتنی بر واژه‌نامه حسی و استفاده از دانش زمینه (یادگیری بدون ناظر یا شبه‌ناظر)روش‌های یادگیری باناظر روش‌های تشخیص حس عبارات با استفاده از محاسبه شباهت و روابط معنایی کلمات دقت روش‌های مبتنی بر واژه‌نامه حسی کاملاً وابسته به مجموعه لغات حاوی حس و وزن‌های از پیش تعیین شده است. این روش‌ها بدون نیاز به پیکره برچسب‌خورده و برای حوزه‌های عمومی قابل استفاده هستند. در رویکرد دوم (برای دسته‌بندی حسی متون) نیز می‌توان از واژگان حسی به عنوان یکی از ویژگی‌های مهم متن نظرات استفاده نمود.بطور کلی از سه رویکرد ذیل برای تولید واژه‌نامه‌های حسی استفاده می‌شوند:مبتنی بر پیکرهمبتنی بر لغت‌نامه و پایگاه دانش مبتنی بر روش‌های یادگیر باناظر روش‌های مبتنی بر پیکره از پیکره‌های متنی نسبتاً بزرگ و از قوانین زبان‌شناسی استفاده می‌کنند. معمولاً از ابن رویکرد برای ایجاد واژه‌نامه حسی برای یک دامنه (موضوع) خاص استفاده می‌شود. البته با درنظر گرفتن پیکره‌های متنی بزرگ می‌توان از این رویکرد برای تولید واژه‌نامه‌های حسی عمومی (مستقل از دامنه) نیز استفاده کرد.  روش‌های مبتنی بر لغت‌نامه اغلب از شبکه واژگان (WordNet) برای تعیین روابط معنایی و محاسبه بار حسی کلمات استفاده می‌کنند. یکی از معروفترین منابع ایجاد شده مبتنی بر اساس این رویکرد، شبکه واژگان حسی انگلیسی به نام سنتی وردنت (SentiWordNet) است.  شبکه واژگان حسی انگلیسی یکی از بهترین منابع موجود برای شناسایی کلمات حسی است که بر اساس تعیین میزان بار حسی هر گروه کلمات هم‌معنی در شبکه واژگان انگلیسی دانشگاه پرینستون (Princeton WordNet یا PWN) ایجاد شده است. شبکه واژگان حسی انگلیسی برای هر گروه کلمات، میزان بار حسی منفی، مثبت و همچنین مقدار غیرحسی بودن (با توجه به مقدار حس مثبت و منفی) را با عددی دربازه [0, +1] مشخص می‌کند.در رویکرد ساخت لغت‌نامه حسی با استفاده از روش‌های یادگیر باناظر، نیاز به داده‌های آموزشی دارای برچسب حسی اولیه می‌باشد. بدلیل مشکلات برچسب‌گذاری حسی کلمات (تهیه پیکره آموزشی) اغلب از این رویکرد برای استخراج واژگان حسی در دامنه محدود (خاص) نظرات استفاده می‌شود. در عمل، معمولاً این رویکرد با روش‌های مبتنی بر پایگاه دانش و یا پیکره نظرات (با قالب مشخص) ترکیب می‌شود.تحلیل احساسات (تشخیص میزان رضایتمندی نویسنده از روی متن) بیشتر پژوهش‌های اولیه در زمینه نظرکاوی، سعی در دسته‌بندی حسی نظرات یا تعیین حس کلی یک متن، در قالب دو دسته حس مثبت و منفی، داشتند. در ادامه، پژوهشگران سعی در تعیین درجه (میزان) رضایت‌مندی یا نارضایتی (به جای دسته‌بندی دو حالته) در متن نمودند. در تحلیل حس متون سعی می‌شود تا قبل از شروع کار، نوع متن (از نظر حسی) یا بخش‌های آن از نظر عینی (objective) یا ذهنی (subjective) مشخص شود. منظور از ذهنی بودن متن، متنی است که وابسته به طرز تفکر فردی بوده و دارای نظر و حس آن فرد می‌باشد. منظور از عینی بودن متن نیز همان حقایق یا متنی است که حاوی نظر نویسنده نمی‌باشد.پس ابتدا لازم است تا تحلیل ذهنیت روی متن انجام شود زیرا ممکن است متن مورد بررسی فقط شامل حقایق باشد (مانند اخبار)، بدون اینکه حس یا نظر نویسنده را بیان کرده باشد. برای تحلیل ذهنیت از روش‌های دسته‌بندی بدون ناظر (unsupervised)، باناظر (supervised)، شباهت جملات یا استفاده از لیست اولیه از کلمات حاوی حس و شبکه واژگان (وردنت یا WordNet) یا روش متنی بر گراف برای مرز‌بندی بخش‌های ذهنی و عینی در یک متن استفاده شده است. مشکل دیگر این دسته پژوهش‌ها، فرض یکسان بودن نظر نویسنده در تمام متن هست. به عبارت دیگر یک متن می‌تواند دارای نظرات مختلف یا بیش از یک حس باشد. برای مثال در متن &quot;این فیلم فروش بسیار خوبی داشت و از بازیگران مطرحی استفاده نموده است. بازیگر اول آن فوق العاده طبیعی و عالی نقش خود را ایفا نمود. داستان این فیلم نیز برای من بسیار جالب توجه بود. البته به نظر من این فیلم در رسیدن به هدف خود شکست خورد.&quot; همانطور که مشاهده می‌شود، نویسنده این عبارت نظرات متفاوتی را در یک متن بیان نموده است و با وجود بیان عبارات حسی مثبت فراوان، نظر کلی او منفی بوده است. مشکل دیگری که در پژوهش‌های اولیه وجود داشت این است که فرض بر این است که همه متن یا متون جمع‌آوری شده به یک موضوع اشاره دارند. در حالیکه ممکن است بخش‌های مختلف متن یا متون مختلف جمع‌آوری شده، به موضوعات متفاوتی پرداخته باشند. پس لازم هست قبل از تحلیل حس، موضوع بخش‌های مختلف شناسایی و جدا از هم بررسی شوند.در نتیجه، محققان نظرکاوی کار تحلیل حس را در سطح جمله (Sentence level sentiment analysis) یا بخش‌های معنایی (Semantic frame) اشاره‌کننده به یک موضوع، ادامه دادند. بدین ترتیب برای هر جمله علاوه تحلیل ذهنیت، تحلیل حس نیز در سطح جمله انجام می‌گرفت. البته در این روش نیز فرض شده بود که هر جمله تنها حاوی یک حس است که این فرض در بعضی از نمونه‌ها صادق نیست. علاوه بر این، در بسیاری از موارد تحلیل حس در سطح جمله، موجودیت‌ها (موضوعات) و ویژگی‌های آنها در متن، بخوبی شناسایی و تفکیک نمی‌شدند.بدلیل مشکلات موجود در تحلیل حس در سطح متن (سند) و در سطح جمله، رویکرد نظرکاوی مبتنی بر ویژگی یا جنبه (Feature/Aspect based opinion mining) مطرح شد. در این رویکرد ابتدا موجودیت‌ها (موضوعات) و ویژگی‌های بیان شده برای آنها از متن استخراج و سپس به تحلیل حس بیان شده برای هر یک از این ویژگی‌ها می‌پردازند. استخراج موجودیت و ویژگی‌های مورد بحث (هدف نویسنده) و رتبه‌بندی نظر یا حس بیان شده در مورد هر ويژگی، می‌تواند اطلاعات بسیار کامل و مفیدی را برای تصمیم‌گیری فراهم آورد. برای مثال در جمله &quot;کیفیت تماس گوشی نوکیا خوب است ولی قیمت بالایی دارد&quot;؛ درباره موجودیت (هدف نظرسنجی) گوشی موبایل نوکیا و در مورد ویژگی‌های (یا جنبه‌های) کیفیت تماس و قیمت به ترتیب نظرات مثبت و منفی بیان شده است.خلاصه‌سازی نظراتبر اساس تحلیل احساسات در سطح ویژگی (جنبه)، خلاصه‌سازی ساخت‌یافته نظرات شکل گرفته است که اطلاعات مفید و طبقه‌بندی شده‌ای نسبت به خلاصه‌سازهای سنتی در اختیار کاربران قرار می‌دهد. قبلاً در این مقاله توضیحات مفصلی درباره انواع روش‌های خلاصه‌سازی نظرات و تفاوت‌های آنها بیان شده است.تحلیل نظرات مقایسه‌ایتحلیل نظرات مقایسه‌ای در بسیاری از کاربردهای تحلیل بازار، نظرسنجی‌ها و بطور کلی هوش رقابتی، از  جمله پیداکردن بینش بازار و عملکرد فروش یک شرکت در مقایسه با رقبای آن، مورد استفاده قرار می‌گیرد. بدین منظور ابتدا لازم است که گونه‌های مختلف جملات مقایسه‌ای شناسایی و سپس اجزای آن مشخص شوند. محققان گونه‌های ذیل را برای یک جمله در متن نظرات در نظر می‌گیرند:جمله غیرمقایسه‌ای: هیچ گونه مقایسه در جمله صورت نگرفته است.جمله مقایسه‌ای (Comparative Sentence): به نوعی نویسنده چند موجودیت را مورد مقایسه قرار داده است.قیاسی (Gradable): برتری یک یا چند موجودیت نسبت به دیگر موجودیت‌هاقیاس نامساوی (Non-Equal Gradable): بیشتر یا کمتر کیفی یک موجودیت نسبت به دیگر موجودیت‌ها. مثل: کیفیت دوربین iPhone X خیلی بهتر از دوربین S9 است.قیاس مساوی (Equality): مثل: دوربین‌های S4 و iPhone X فرق چندانی ندارند.قیاس تفضیل (Superlative): مثل: iPhone X بهترین دوربین رو داره.غیرقیاسی (Non-gradable): یک موجودیت یک ویژگی دارد ولی موجودیت(های) دیگر آن ویژگی را ندارد (ندارند).در مرحله بعد اجزاء ذیل (در صورت وجود) از جملات مقایسه‌ای استخراج می‌شوند:موجودیت اول: موجودیت اصلی یا طرف اول مقایسه.موجودیت دوم: موجودیت(های) دیگر که مورد مقایسه با موجودیت اصلی قرار گرفتند.کلمه یا عبارت بیان مقایسه مثل: فرقی نداره، خیلی بهتر، بهترین، ...ویژگی‌ها مثل: دوربین، کیفیت ساخت، ...نوع مقایسه: غیر قیاسی، قیاس تفضیلی، قیاس نامساوی یا قیاس مساویدر بعضی از تحقیقات اجزاء دیگری از جملات مقایسه‌ای مانند زمان مقایسه، فرد یا مرجع مقایسه کننده، موجودیت برتر (ترجیح داده شده) و ... نیز مورد توجه قرار گرفتند.تشخیص نظرات اسپم (هرز)با توجه به گسترش کسب‌وکارهای دیجیتال در اینترنت و فضای مجازی طبیعتاً تعداد کاربران آنها افزایش چشمگیری پیدا کرده است. پس تعامل و دریافت نظرات و فیدبک کاربران تبدیل به یکی از چالش‌های کسب‌وکارهای نسل جدید شده است. دریافت و نمایش نظرات و تجربیات مشتریان قبلی می‌تواند کمک بسزایی به انتخاب کاربران دیگر و جذب مشتریان جدید نماید. ولی در کنار این مزایا، انتشار خودکار همه پیام‌ها و نظرات کاربران و مشتریان می‌تواند چالش‌ها و مشکلات جدی برای کسب و کارها ایجاد نماید.منظور از تشخیص اسپم نظرات شناسایی پیام‌های تبلیغاتی، غیر اخلاقی و توهین آمیز یا نژادپرستانه، غیرانسانی (نوشته شده بوسیله ربات) و ... است. معمولاً برای حل این مساله از رویکردهای یادگیری ماشین استفاده می‌شود. البته چالش اصلی این رویکردها تهیه پیکره برچسب خورده مناسب با زمینه کسب و کار مورد نظر است.تعیین میزان مفید بودن نظرات به هرگونه محتوایی که توسط کاربر  ایجاد شود، محتوای تولید شده توسط کاربر  می‌گویند. با توجه به اهمیت تحلیل خودکار نظرات و محتوای تولید شده توسط کاربران (user generated content یا UGC) در رسانه‌های اجتماعی یا هر بستر دیجیتال دیگر، انتخاب و جداسازی نظرات مناسب و مفید ضروری است. نوعاً مشاهده می‌شود که کاربران در بخش نظرات، سوالات یا درخواست خود را بیان می‌کنند. همچنین درج مطالب اضافه و غیر ضروری و نامرتبط در بخش نظرات بسیار رایج است.یکی از راه‌های متداول این مساله کمک گرفتن از خود کاربران برای تعیین نظرات مناسب و مفید است. معمولاً در در بخش نظرات سایت‌های مختلف بخشی برای امتیازدهی به نظرات (مفید یا غیرمفید بودن نظر) توسط سایر کاربران وجود دارد. ولی انجام این عمل، در بعضی از رسانه‌ها مانند شبکه‌های اجتماعی شناسایی مطالب و نظرات غیرمفید یا جعلی بسیار پیچیده و دشوار است.می‌توان شناسایی شایعات و نظرات جعلی و غیرواقعی، که امروزه یکی از چالش‌های جدی فضای مجازی و شبکه‌های اجتماعی است، را زیرمجموعه این دسته برشمرد.  استفاده از این مقاله با ذکر منبع (سامانه متن کاوی فارسی‌یار)، بلامانع است. </description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Wed, 13 Feb 2019 15:19:54 +0330</pubDate>
            </item>
                    <item>
                <title>خلاصه‌سازی متن نظرات (تحلیل حس در سطح ویژگی)</title>
                <link>https://virgool.io/textmining/opinion-summarization-tmxv95brtxnm</link>
                <description>انواع خلاصه‌سازی مستندات (متن نظر)خلاصه‌سازی خودکار متن به عنوان هسته‌ی مرکزی طیف گسترده‌ای از ابزارهای پردازش‌گر متن مانند خلاصه‌سازهای ماشینی، سیستم‌های تصمیم‌یار، سیستم‌های پاسخ‌گو، موتورهای جستجو و غیره از سال‌ها پیش مطرح شده و همواره به عنوان یک موضوع مهم مورد بررسی و تحقیق قرار گرفته است. خلاصه‌سازي خودکار سند، يعني توليد يک نسخه مختصرتر از سند اصلي توسط يک برنامه رايانه‌اي به نحوي که ويژگي‌ها و نکات اصلي سند اوليه حفظ شود. همچنین خلاصه تولید شده باید از خوانایی (Readability) و پیوستگی (Coherency) بالایی برخوردار بوده و فاقد اطلاعات تکراری (Information Redundancy) باشد. روش‌های خلاصه‌سازی را از دیدگاه نوع خروجی می‌توان به سه دسته ذیل تقسیم‌بندی نمود:خلاصه‌سازی استخراجی (extractive summarization) خلاصه‌سازی چکیده‌ای (abstractive summarization)خلاصه‌سازی ساخت‌یافته (structured summarization)مهمترین مسئله در خلاصه­ سازی استخراجی، انتخاب درست و صحیح قسمت­هايی از متن (عموماً واحد جمله) است. جملات باید به نحوی انتخاب شوند که ضمن پوشش کامل محتوای متن، فاقد افزونگی و جملات تکراری بوده و همچنین دارای خوانایی و پیوستگی مناسبی باشند. اکثر اين روش‌ها، به جملات بطور جداگانه امتيازدهي کرده و سپس جمله­هاي با بالاترين امتياز را به عنوان خلاصه انتخاب مي­کنند. بنابراين در اين روش ساختار جمله­‌ها تغييری نمي­‌کند. تقریباً بیشتر روش­های ارائه شده برای خلاصه‌سازی خودکار ماشینی از این دسته هستند. در روش خلاصه­‌سازی چکيده­‌ای علاوه بر انتخاب جملات مناسب، ساختار جملات نیز می­‌تواند عوض شود. در این مدل می‌توان جملاتی را حذف نمود یا اینکه ساختار آنها را تغییر داد و یا حتی جملات جدیدی تولید نمود. خلاصه‌­سازی چکیده­‌ای بسيار نزديک به مدل ذهنی برای خلاصه‌سازی انسان است. یعنی همانطور که انسان برای یک متن خلاصه تولید می­‌کند، در این مدل هم خلاصه­‌ساز باید قادر به اعمال تغییر در ساختار جملات باشد. خلاصه­‌هایی که توسط این روش تولید می­‌شوند نسبت به خلاصه­‌های استخراجی، شباهت بیشتری به خلاصه‌­های انسانی دارند ولی تولید خودکار آنها بسیار دشوار بوده و اغلب روش‌های موجود از دقت کافی برخوردار نیستند.در حوزه نظرکاوی، دسته‌ای از پژوهش‌ها برای خلاصه‌سازی نظرات، نوعی خلاصه استخراجی (یا چکیده‌ای) از متن نظرات ایجاد می‌کنند. پس خروجی این روش‌ها شامل بخشی کوتاهی از متن نظرات است که حاوی عبارات حسی مربوط به ویژگی‌ها/موجودیت اصلی می‌باشد. به این نوع خلاصه‌سازی نظرات، خلاصه‌سازی متنی نظرات یا خلاصه‌سازی سنتی (Traditional Summarization) نظرات اطلاق می‌شود.اولین بار در سال 2003، یک روش یادگیری باناظر برای انتخاب جملات مهم متن نظرات پیشنهاد شد. با رویکردی مشابه، در مقالات بعدی نیز الگوریتم‌های خوشه‌بندی پاراگراف‌ها، بهینه‌سازی با هدف انتخاب بهترین عبارات یا جملات و همچنین استفاده از روش‌های خلاصه‌سازی استخراجی متن با ترکیب رویکردهای مبتنی بر گراف و رتبه‌بندی جملات مهم حسی در متن نظرات پیشنهاد شدند. نوع دیگری از خلاصه‌سازی، خلاصه‌سازی ساخت‌یافته است. خلاصه‌سازی ساخت‌یافته یکی از اهداف اصلی سیستم‌های استخراج اطلاعات (Information Extraction) می‌باشد. هدف از این نوع خلاصه‌سازی، استخراج موجودیت‌ها یا رویداد‌های و ویژگی‌های آنها از قبیل زمان، مکان یا سایر ویژگی‌های توصیفی آنها (وابسته به کاربرد) از درون متن در قالب ساخت‌یافته از پیش تعیین شده می‌باشد.  خلاصه‌سازی ساخت‌یافته نظراتخلاصه‌سازی ساخت‌یافته متون نظرات، بر پایه نظرکاوی مبتنی بر جنبه یا ویژگی است. در خلاصه سازی ساختیافته نظرات هدف نمایش ویژگی‌های اشاره شده درون متون نظرات و بیان کمّی میزان حس نظردهندگان برای هر ویژگی است. خلاصه‌سازی ساخت‌یافته نظرات شامل سه مرحله اساسی است: استخراج ویژگی‌ها از متنتشخیص حس بیان شده درباره آنها تلفیق و یکپارچه‌سازی ویژگی‌ها و نظرات (احساسات)مشکل اصلی کاوش نظرات در واحد ویژگی، پیچیدگی‌های استخراج ویژگی‌ها و ارتباط آنها با کلمات حاوی حس از درون متن غیرساخت‌یافته (unstructured) است، که باعث کاهش دقت نظرکاوی می‌شود. خلاصه‌سازی ساخت‌یافته مستندات یکی از اهداف اصلی سیستم‌های استخراج اطلاعات (Information Extraction) می‌باشد. هدف از این نوع خلاصه‌سازی، استخراج موجودیت‌ها یا رویداد‌های و ویژگی‌های آنها از قبیل زمان، مکان یا سایر ویژگی‌های توصیفی آنها (وابسته به کاربرد) از درون متن در قالب (ساخت‌یافته) از پیش تعیین شده می‌باشد. هدف این پژوهش ایجاد یک چارچوب معنایی برای خلاصه‌سازی ساخت‌یافته متن نظرات می‌باشد. خلاصه‌سازی ساخت‌یافته نظرات، بر پایه تحلیل حس مبتنی بر ویژگی شکل گرفته است که می‌تواند اطلاعات مفید و طبقه‌بندی شده‌ای را در مقایسه با سایر انواع خلاصه‌های متنی در اختیار کاربران قرار دهد. جنبه اصلی در خلاصه‌سازی ساخت‌یافته نظرات توجه به موجوديت و يا ويژگی‌هایی از یک موجودیت است که نویسنده درباره آن(ها) حس خود را بیان نموده است. نمونه‌ای از ورودی و خروجی مطلوب این نوع خلاصه‌سازی در شکل زیر نمایش داده شده است.  در سال‌های اخیر تعداد قابل توجهی از پژوهش‌های صورت گرفته در زمینه نظرکاوی به سمت زبان‌های غیر انگلیسی (بخصوص اسپانیایی، چینی، آلمانی و عربی)، معطوف شده است. همچنین رویکرد جدیدی برای نظرکاوی چندزبانه (Multi-Lingual) در حال ایجاد می‌باشد. در زمینه نظرکاوی چندزبانه بیشتر کارهای انجام شده به تحلیل حس در واحد متن (سند) و یا تحلیل ذهنیت و حس در واحد جمله پرداختند. غالباً این روش‌ها با ایده‌های نسبتاً ساده‌ای از مترجم‌های ماشینی به منظور بهره‌گیری از مجموعه اصطلاحات حاوی حس و سایر منابع و ابزارهای زبان انگلیسی برای زبان مورد نظر خود، استفاده می‌کنند. ولی با توجه به تفاوت‌های قواعد نحوی زبان‌ها، اصطلاحات حاوی حس و سایر پیچیدگی‌های زبانی، نتایج بدست آمده از این دسته روش‌ها دقت مناسبی برای استفاده در زبان‌های مختلف ندارند. بطور کلی تهیه واژه‌نامه عبارات حاوی حس برای زبان‌های طبیعی یکی از حوزه‌های پژوهشی در نظرکاوی به شمار می‌رود. در حال حاضر تحقیقات بسیار اندکی برروی نظر کاوی در زبان فارسی صورت گرفته است. البته کمبود منابع (از قبیل پیکره استاندارد و حجیم متون نظرات و مجموعه واژگان حاوی حس استاندارد) و ابزارهای پردازش متن مناسب قابل دسترس و سایر پیچیدگی‌های نحوی و گرامری زبان فارسی مانع بزرگی برای انجام مطالعات نظر کاوی در زبان فارسی است. بزودی در سامانه متن کاوی API استفاده از تحلیل حس مبتنی بر جنبه/ویژگی برای محصولات تجاری راه‌اندازی و بطور رایگان در اختیار پژوهشگران قرار خواهد گرفت.  استفاده از این مقاله با ذکر منبع (سامانه متن کاوی فارسی‌یار)، بلامانع است. </description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Mon, 04 Feb 2019 09:05:28 +0330</pubDate>
            </item>
                    <item>
                <title>مقدمه‌ای بر نظرکاوی (تحلیل حس) و کاربردهای آن</title>
                <link>https://virgool.io/textmining/opinion-mining-intro-ywoyfvzza925</link>
                <description> نظر کاوی (Opinion Mining) یکی از جدیدترین حوزه‌های پژوهشی در پردازش زبان طبیعی (Natural Language Processing)، بازیابی اطلاعات (Information Retrieval) و متن کاوی (Text Mining)، است. بطور کلی اطلاعات متنی را می‌توان به دو دسته واقعیات (Facts) یا همان اطلاعات عینی (Objective) یا مشخص و نظرات یاهمان اطلاعات ذهنی (Subjective) یا حسی (Sentiment) تقسیم‌بندی نمود. حقایق اطلاعات صریح و مشخصی را در رابطه با یک موجودیت یا رویداد و ویژگی‌های آنها بیان می‌کند. درحالیکه نظرات معمولاً غیرشفاف و بصورت ضمنی، ذهنی، حسی، یا ارزیابی سلیقه‌ای (Appraisal)، گرایش (Attitude)، یا تجربه و دیدگاه یک شخص را درباره یک شیء یا رویداد، مشخص می‌نمایند.بیشتر پژوهش‌های انجام شده در حوزه پردازش اطلاعات متنی، برروی کاوش و استخراج اطلاعات حقایق، مانند بازیابی اطلاعات، تمرکز دارند. این در حالی است که در فرایند تصمیم‌گیری (توسط مشتریان یا مدیران سازمان‌ها) نیاز به اطلاع از نظرات دیگران احساس می‌شود.یکی از دلایل اصلی کم توجهی به بحث نظر کاوی، کمبود منابع متنی از نظرات، قبل از گسترش وب بوده است (به خصوص با پیدایش وب 2.0 حجم نظرات کاربران بسرعت افزایش یافت). قبل از پیدایش وب، برای اطلاع از نظرات از روش‌های پرسش‌نامه یا نظرخواهی شفاهی از نزدیکان و دوستان استفاده می‌شد. در سالهای اخیر با رشد محتوای تولید شده توسط کاربران (User-generated content) برروی بخش نظرسنجی در فروشگاه‌های الکترونیک یا سایت‌های خبری، فروم‌ها (forums)، گروه‌های مباحثه‌ای (Discussion groups)، شبکه‌های اجتماعی (Social Networks) و وبلاگ‌ها، حجم انبوهی از نظرات متنی تولید شده است. با وجود افرایش سریع حجم متون مربوط به نظرات افراد و ایجاد منابع نظرسنجی مختلف و نظرات مغایر درباره یک موجودیت (موضوع)، فرایند استخراج و پردازش نظرات از میان منابع معتبر را بسیار دشوار ساخته است. بنابراین، هدف اصلی نظر کاوی استخراج، دسته‌بندی و خلاصه‌سازی خودکار نظرات و دیدگاه‌های افراد درباره ویژگی‌های مختلف یک موجودیت یا رویداد خاص، از میان منابع متنی معتبر، می‌باشد. در صنعت (کاربردهای تجاری) و همچنین بعضی از مقالات علمی به جای نظرکاوی، از اصطلاح تحلیل احساسات (Sentiment Analysis) استفاده شده است. مفهوم نظر و دیدگاه بسیار وسیع است و طیف وسیعی از کارهای پژوهشی انجام گرفته در این حوزه، تنها محدود به استخراج حس مثبت یا منفی افراد، از روی اطلاعات متنی می‌شوند. هر نظر از سه بخش اصلی: 1- نظردهنده، 2- موجودیت یا مساله‌ای که نسبت به آن نظر بیان شده است و 3- نظر یا حس بیان شده تشکیل شده است. شخص نظردهنده و زمان اظهار نظر در بعضی از کاربردهای نظرکاوی بسیار حائز اهمیت هستند. موجودیت مورد نظرسنجی ممکن است از بخش‌های (اجزای) مختلفی تشکیل شده باشد و یا دارای ویژگی‌های مختلفی باشد که معمولاً نظردهنده تنها به بخشی از آنها اشاره می‌نماید. البته ممکن است نظردهنده با اشاره به مفاهیم مرتبط با شیء اصلی یا بعضی از ویژگی‌های ضمنی آن موجودیت، منظور خود را بخواهد بیان کند؛ که این مساله کار شناسایی موجودیت مورد نظر را دشوارتر می‌کند. برای مثال در جملات &quot;نوکیا گل کاشت؛ کیفیت دوربین این گوشی بسیار خوب است&quot; و &quot;عکس‌های گرفته شده با این موبایل معرکه است&quot; و &quot;تصاویر گرفته شده با این نوکیا واقعاً زنده است&quot;؛ سه عبارت &quot;دوربین خوب&quot; و &quot;عکس معرکه&quot; و &quot;تصویر زنده&quot; به یک ويژگی مثبت خاص از گوشی موبایل نوکیا اشاره می‌کنند. همچنین، نظر بیان شده نیز می‌تواند ضمنی یا صریح باشد. بیشتر کارهای انجام شده در زمینه شناسایی حس نظرات صریح هستند. شناسایی نظرات ضمنی مبحث پیچیده‌ای است که نیاز به مجموعه اصطلاحات حسی و همچنین تحلیل عمقی حس بیان شده در ضرب المثل‌ها و کنایه‌های رایج زبان مقصد، قوانین زبان‌شناسی و درک دامنه و زمینه مورد نظر دارد. بحث مهم دیگری که در زمینه تشخیص حس مطرح شده است، شناسایی و تحلیل منفی کننده‌ها و یا نقیض کننده‌های معنایی جملات هستند. مانند جمله &quot;تصاویر گرفته شده با دوربین این گوشی کاملاً غیر واقعی است&quot; که منفی‌کننده &quot;غیر&quot; معنی &quot;تصاویر واقعی&quot; را برعکس می‌کند و یا در جمله &quot;بغیر از آنتن‌دهی مشکل دیگر ندارد&quot; دو منفی کننده &quot;بغیر از&quot; و &quot;ندارد&quot; یکدیگر را خنثی می‌کنند و جمله به &quot;آنتن‌دهی مشکل دارد&quot; تبدیل می‌شود.بطور کلی، وابستگی حس برخی کلمات به دامنه (موضوع)، ضرب‌المثل‌ها و اصطلاحات در زمینه‌ها و فرهنگ‌های مختلف، کنایه‌های جدید وارد شده در حوزه‌ها مختلف زبان، نظرات غیر مستقیم، دیدگاه‌ها (زاویه دید) متفاوت، نوشتار محاوره‌ای و غیر رسمی، جملات شرطی و مبهم، وابستگی معنی به زمینه و موضوع نظرسنجی، جملات بی‌معنی، هرز، و یا موضوع مجهول و جملات مقایسه‌ای از مهم‌ترین چالش‌های تشخیص حس در متن نظرات هستند. علاوه بر آن، کلمات حسی نیز می‌توانند در نقش صفت (مانند &quot;دوربین با‌کفیتی دارد&quot;)، قید (دوربین آن بخوبی کار میکند)، اسم (مانند &quot;دوربین آن معرکه است&quot; یا &quot;دوربین آن باعث ناامیدی است&quot;) و یا فعل (مانند &quot;دوربین آنرا دوست دارم&quot;) باشند. در اغلب کارهای انجام شده در حوزه نظرکاوی، بیشتر برروی صفات و قیدها تمرکز شده است. بصورت کلی هر عبارت یا جمله را، از نظر حسی، می‌توان به سه دسته 1- حس مثبت 2- حس منفی 3- بدون نظر (حقیقت) تقسیم‌بندی نمود که در بیشتر تحقیقات انجام شده از دسته سوم صرف نظر شده است.  اهمیت و ضرورت نظر کاویاعتقادات و درک ما از واقعیات و تصمیم‌گیری‌های ما تا حد قابل توجهی وابسته به طرز تفکر و دیدگاه‌های سایر افراد است. اغلب افراد در فرایند تصمیم‌گیری (بخصوص تصمیم‌گیری درباره پدیده‌های ناشناخته و جدید) نیاز به دانستن نظرات دیگر افرادی که با آن پدیده آشنایی دارند یا قبلاً آن پدیده را تجربه کردند، دارند. این موضوع برای مشتریان ساده تا مدیران سطح بالای صنایع (که نیاز به درک دیدگاه مشتریان درباره خود و شرکت‌های رقیب دارند) و سازمان‌های مختلف صادق است. تا کنون بسیاری از کارهای انجام ‌شده در حوزه نظرکاوی درباره بازار و محصولات تجاری از دیدگاه مشتریان، جهت انتخاب و خرید کالا، یا عرضه‌کنندگان برای بهبود کسب و کار، رقابت در بازار، قراردهی تبلیغات موثر (Ads placements)، محک‌زنی (Bench-marking) و شناخت سلیقه و علایق کاربران، بوده است. همچنین کاربردهایی در زمینه‌های پزشکی، علوم اجتماعی، مدیریت و سیاست نیز دیده می‌شوند. البته کار بر روی این زمینه تحقیقاتی بسرعت ادامه دارد و می‌توان کاربردهای جدیدی برای نظر کاوی در مسائل مختلف برای تعاملات بهتر و مسائل تصمیم‌گیری کاربران یا مدیران تعریف نمود. تقریباً از اوایل سال 2002، هم‌زمان با رشد منابع موجود در اینترنت، فعالیت‌های پژوهشی در زمینه استخراج خودکار نظرات و احساسات افراد آغاز شده و در بسیاری از جنبه‌ها بصورت کاربردی در آمده است. بطوریکه تا سال 2012، حدود 60 شرکت در ایالات متحده آمریکا از پژوهش‌های نظرکاوی حمایت نموده و بهره می‌بردند. بیشترین موارد کاربرد نظرکاوی برای تحلیل نظرات مشتریان درباره محصولات تجاری در فروشگاه‌های اینترنتی و شبکه‌های اجتماعی و نظرات کاربران در سایت‌های خبری و سایت‌های اقتصادی و بورس می‌باشد. نمونه‌های سرویس‌های تحلیل حس ارائه شده دانشگاهی و تجاری در جدول زیر ذکر شده است.     برخی سرویس‌های تحلیل حس معتبر (دانشگاهی و تجاری) ارائه شده  تعداد مقالات منتشر شده با موضوع تحلیل احساسات در طی سال‌های اخیر (بوسیله موتور جستجوی google scholar استخراج شده) در شکل زیر نمایش داده شده است. همانطور که در این شکل مشاهده می‌کنید، تعداد مقالات علمی نظرکاوی در سال‌های اخیر رشد چشمگیری دارد. همانطور که اشاره شد، از سال 2002 تاکنون و هم‌زمان با رشد منابع موجود در اینترنت، این زمینه تحقیقاتی بسیار گسترده شده و در بسیاری از جنبه‌ها بصورت کاربردی در آمده است. تعداد مقالات منتشر شده در زمینه نظرکاوی در سال‌های اخیر  استفاده از این مقاله با ذکر منبع (سامانه متن کاوی فارسی‌یار)، بلامانع است. </description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Sun, 27 Jan 2019 11:18:00 +0330</pubDate>
            </item>
                    <item>
                <title>ابزارها و فعالان واقعی در حوزه پردازش متن فارسی</title>
                <link>https://virgool.io/textmining/nlp-companies-tools-lnpzfivvybqf</link>
                <description>هدف از این مقاله ارائه فهرست مراکز و کسب‌وکارهای فعال در حوزه‌های مرتبط با متن کاوی و پردازش متن برای زبان فارسی است. در جمع‌آوری این لیست، تمرکز اصلی ما برروی محصول ایجاد شده و قابل رویت در حوزه تحلیل متن فارسی بوده و به صرف ادعا بسنده نکردیم. همچنین از گردآوری فعالین در حوزه پردازش گفتار و تصویر خوان (OCR) خودداری کردیم.فعالین حوزه مرتبط با پردازش متن فارسیدر جدول ذیل لیستی از استارتاپ‌ها و شرکت‌ها، دانشگاه‌ها، مراکز پژوهشی و ... فعال و همچنین ابزارهای مختلف پیش‌پردازش و متن کاوی تولید شده آنها جمع‌آوری کردیم. انشالله بزودی توضیح کامل‌‍‌تری درباره هر کدام از فعالین این حوزه و محصولات آنها می‌نویسیم. دانشگاه امیرکبیر (دکتر ممتازی، دکتر خدیوی، دکتر همایونپور)دانشگاه تهران (دکتر فیلی و دکتر شاکری)دانشگاه بهشتی (دکتر شمس فرد)دانشگاه گیلان (دکتر میرروشن دل)دانشگاه شریف (زبانشناسی رایانشی)دانشگاه علم و صنعت (دکتر مینایی)دانشگاه فردوسی (دکتر کاهانی)دانشگاه اوپسالا (دکتر سراجی)پژوهشگاه ایرانداک (دکتر نصیری)فرهنگستان زبان و ادب فارسی پژوهشکده پردازش هوشمند علائممرکز تحقیقات مخابراتسازمان فناوری اطلاعات ایرانمرکز نورآرمان رایان شریفگروه سبحه (هضم)راهبران فناوری نستوهعامر اندیش هوشمندعصر گویش پرداز (نویسا، آریانا)انیگمایند (آوای همراه هوشمند هزاردستان)سرزمین هوشمندفناوران اطلاعات سخنویراست‌لایوتکسوسویرا افراز آدان (مترجم فرازین)ترجمیارترگماندیتامون (هوش داده مهتاب)ریکامندنظربینواکاویکداده‌کاوی سحابزال (میراث تِک)دیالوگ (کانت‌ماینر)روتیکدیتاککاوانمتن کاوی فارسی‌یارپیشاپیش از اینکه جدول مذکور به شکل تصویر هست و شاید خوانایی کافی را نداشته باشد، عذرخواهیم. ولی این محدودیت ویرگول برای درج جدول هست، لطفاً عکس اصلی را دانلود و مشاهده فرمایید. چنانچه نیاز به جدول با کیفیت داشتید با ما تماس بگیرید. همچنین اگر شرکت، پژوهشگاه یا مرکز فعال یا ابزاری مرتبط با متن کاوی و تحلیل شبکه‌های اجتماعی از قلم افتاده، لطفاً با ما در میان بگذارید.خدمات ارائه شده در حوزه پردازش متن زبان فارسی
فعالین در تحلیل شبکه‌های اجتماعی با توجه به اینکه در سال‌های اخیر گردآوری و تحلیل اخبار و نظرات کاربران در شبکه‌های اجتماعی یکی از اولویت‌های تجاری شرکت‌های خصوصی برای پردازش متن قرار گرفته است؛ بصورت جداگانه شرکت‌های فعال در حوزه تحلیل و تولید داشبوردهای اطلاعاتی شبکه‌های اجتماعی و اخبار فارسی زبان را معرفی می‌کنیم:دیتاک : تحلیل، گزارشگیری، رصد شبکه‌های اجتماعی مختلف شامل اکانت‌های توئیتر، کانال‌های تلگرام و صفحات اینستاگرام و حدود 2000 سایت‌ خبریهشتگ : رصد و تحلیل شبکه‌های اجتماعی شامل بیش از یک‌میلیون کانال تلگرام، کاربران اینستاگرام با بیش از 10هزار دنبال کننده، توییتر، بعضی از خبرگزاری‌ها و کامنت‌های آنهاترندا (رسانه شهر) : سامانه رصد و پایش اخبار، رسانه‌های مکتوب، صدا و سیما و شبکه‌های اجتماعی مختلفزلکا : رصد اخبار، شبکه‌های اجتماعی مختلف، برنامه‌های تلویزیون و رادیویی، تبلیغات/آگهی در روزنامه‌ها و مجلات، بیلبوردها و استربوردهاکاوان : رصد و تحلیل شبکه‌های اجتماعی شامل کانال‌های تلگرام، اکانت‌های توییتر، صفحات اینستاگرام، وب‌سایتهای فارسی، روزنامه‌ها و مجلات چاپی و کانال‌های رادیو و تلویزیون داخلی و خارجیلایف وب (فن‎آفرینان زندگی نو) : رصد اخبار و شبکه‌های اجتماعی مختلفطراحان تاش رسانه : جمع‌آوری اخبار از منابع مختلف و ایجاد بولتن اخبار بصورت سفارشیپرتوتک سامانه : جمع‌آوری و دسته‌بندی اخبار و ایجاد بولتن خبری سفارشیپیشگام رایان : جمع‌آوری اخبار از منابع مختلف و ایجاد بولتن اخبار بصورت سفارشیخبرفارسی (پرتوتک سامانه) : رصد، گردآوری، دسته‌بندی و تحلیل اخبار فارسی از خبرگزاری‌های مختلفسامانه پایش اخبار نیوزویت : رصد و پایش خبرها بر اساس کلمات کلیدی انتخابی از ۱۰۰۰ منبع خبریجادوبی : تحلیل داده‌های سازمانی، بازدید سایت و شبکه‌های اجتماعینوین‌هاب : یکپارچه‌سازی و تحلیل اکانت‌های شخصی در شبکه‌های اجتماعی و پیام‌رسان‌های مختلف داخلی و خارجیبه نظر می‌رسد که شرکت‌های فعال در زمینه رصد و تحلیل فضای مجازی در کسب‌وکار خود نسبت به سایر شرکتهای حوزه پردازش متن موفق‌تر هستند و سازمان‌های دولتی و شرکت‌های بزرگی در بین لیست بلند مشتریان‌شان به چشم می‌خورد. البته نکته جالبی که در بین مشتریان آنها وجود دارد، اشتراک بعضی از این مشتریان (مانند سازمان صدا و سیمای جمهوری اسلامی ایران) در لیست چند شرکت رصدکنندۀ شبکه‌های اجتماعی با خدمات مشابه است! استفاده از این مقاله با ذکر منبع (سامانه متن کاوی فارسی‌یار)، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Tue, 15 Jan 2019 13:08:28 +0330</pubDate>
            </item>
                    <item>
                <title>معرفی پیکره ویکی‌پدیا فارسی برای متن کاوی (بصورت اطلاعات تفکیک و پیش‌پردازش شده) بهمراه مدلهای تعبیه کلمات (یادگیری عمیق)</title>
                <link>https://virgool.io/textmining/persian-wikipedia-corpus-gqvko2ct6wdz</link>
                <description>اخیراً با استخراج بخش‌های مختلف صفحات (مقالات) ویکی‌پدیا پیکره‌ای تهیه و در گیت‌هاب بارگزاری کردیم. در ساخت پیکره موجودیت‌های نامی زبان فارسی از همین پیکره استفاده شده است. همچنین این پیکره کاربردهای مختلفی دیگری نیز برای پژوهشگران خواهد داشت.هر سطر از پیکره شامل اطلاعات یک صفحه ویکی‌پدیا با فرمت JSON و شامل موارد ذیل است:شناسه (Id): یک عدد منحصربه‌فرد براساس ترتیب صفحات عنوان صفحه (Title): عنوان مقاله بصورت متن غیرنرمال نوع موجودیت (Type): عدد صحیح که نوع موجودیت (0: نامعلوم؛  1:شخص؛  2:مکان؛  3:سازمان؛  4:رویداد،  5:سایر که شامل فیلم، موسیقی، کتاب و ... می‌شود) را نشان می‌دهد.رتبه (Rank): عددی صحیح که میزان اهمیت صفحه (مقاله) را براساس طول متن، لینک‌های ارجاع شده به آن مقاله و ... مشخص می‌نماید.فضای نام (Namespace): عدد صحیح معادل Wikipedia namespace استاندارد است.لیست تغییرمسیر (RedirectList): شامل عناوین صفحات (مقالات) دیگر ویکی‌پدیا است که به این مقاله تغییر مسیر داده شده‌اند.مشخص‌کننده ابهام‌زدایی (IsDisambiguati): مقدار بولین (false, true) که مشخص می‌کند صفحه فعلی یک صفحه ابهام‌زدایی است یا خیر.تعداد ارجاعات (TargetLinksCount): عدد صحیح که تعداد مقالاتی که به این مقاله ارجاع دادند را نشان می‌دهد.بخش جعبه اطلاعات (InfoBox): در صورت وجود جعبه اطلاعات در صفحه مربوطه، حاوی لیستی از بخش‌های (فیلدهای) مختلف جعبه اطلاعات مقاله بصورت تفکیک شده است.متن اصلی (Text): متن نرمال (استانداردسازی) شده‌ی مقاله است.لینک‌ها (Links): لینک به سایر مقالات ویکی‌پدیا یا ارجاعات به خارج (لیست عناوین صفحات) از این مقاله است.لیست رده‌ها (Parents): لیست اسامی رده‌های مشخص شده برای مقاله فعلی است.همچنین خروجی مدل‌های زبانی مختلف آموزش داده شده‌ی بوسیله روش‌های مدرن یادگیری عمیق از قبیل (word2vec، glove و fast-text) به مخرن مربوطه اضافه شدند.این پیکره هم‌اکنون در این آدرس برای استفاده محققان بصورت رایگان قرار داده شده است.در ذیل مثالی از محتوای یک خط (سطر) که معادل با بخش‌های یکی از مقالات ویکی‌پدیا است، آورده شده است. البته انتهای بخش‌های طولانی آن، برای اختصار، حذف و علامت ... گذاشتیم. {
   &amp;quotId&amp;quot:56,
   &amp;quotTitle&amp;quot:&amp;quotسعدی&amp;quot,
   &amp;quotType&amp;quot:1,
   &amp;quotRank&amp;quot:1414,
   &amp;quotNamespace&amp;quot:0,
   &amp;quotRedirectList&amp;quot:[
      &amp;quotسعدي&amp;quot,
      &amp;quotسعدي شيرازي&amp;quot,
      &amp;quotسعدی شیرازی&amp;quot,
      &amp;quotسعدي و غزل&amp;quot,
      &amp;quotشیخ مشرف الدین بن مصلح الدین سعدی شیرازی&amp;quot,
      &amp;quotسعدی و غزل&amp;quot,
      &amp;quotغزل سعدی&amp;quot,
      &amp;quotغزليات سعدي&amp;quot,
      &amp;quotمصلح سعدی&amp;quot,
      &amp;quotشیخ اجل&amp;quot,
      &amp;quotاستاد سخن&amp;quot,
      &amp;quotشيخ اجل&amp;quot,
      &amp;quotشيخ مشرف الدين بن مصلح الدين سعدي شيرازي&amp;quot,
      &amp;quotغزل سعدي&amp;quot,
      &amp;quotمصلح سعدي&amp;quot,
      &amp;quotمصلح‌الدین&amp;quot
   ],
   &amp;quotIsDisambiguati&amp;quot:false,
   &amp;quotTargetLinksCount&amp;quot:508,
   &amp;quotInfoBox&amp;quot:{
      &amp;quotTitle&amp;quot:&amp;quotشاعر و نویسنده&amp;quot,
      &amp;quotKeysAndValues&amp;quot:[
         {
            &amp;quotItem1&amp;quot:&amp;quotنام&amp;quot,
            &amp;quotItem2&amp;quot:&amp;quotسعدی شیرازی&amp;quot
         },
         {
            &amp;quotItem1&amp;quot:&amp;quotتصویر&amp;quot,
            &amp;quotItem2&amp;quot:&amp;quotSadi in a Rose garden.jpg&amp;quot
         },
         {
            &amp;quotItem1&amp;quot:&amp;quotتوضیح تصویر&amp;quot,
            &amp;quotItem2&amp;quot:&amp;quotسعدی در گلستان، از یک نسخه خطی گورکانی &#039;&#039;[[گلستان]]&#039;&#039;، حدود ۱۶۴۵&amp;quot
         },
         {
            &amp;quotItem1&amp;quot:&amp;quotنام اصلی&amp;quot,
            &amp;quotItem2&amp;quot:&amp;quot&#039;&#039;&#039;[[لقب]]&#039;&#039;&#039;: مشرف‌الدین&#039;&#039;&#039;[[کنیه]]&#039;&#039;&#039;: ابومحمد&#039;&#039;&#039;[[نام کوچک]]&#039;&#039;&#039;: مصلح&#039;&#039;&#039;[[تخلص شعری]]&#039;&#039;&#039;: سعدی&#039;&#039;&#039;نسبت&#039;&#039;&#039;: شیرازی&amp;quot
         },
         {
            &amp;quotItem1&amp;quot:&amp;quotزمینه فعالیت&amp;quot,
            &amp;quotItem2&amp;quot:&amp;quotشعر و نثر فارسی&amp;quot
         },
         {
            &amp;quotItem1&amp;quot:&amp;quotملیت&amp;quot,
            &amp;quotItem2&amp;quot:&amp;quot[[ایران]]ی&amp;quot
         },
         {
            &amp;quotItem1&amp;quot:&amp;quotتاریخ تولد&amp;quot,
            &amp;quotItem2&amp;quot:&amp;quot۶۰۶ هجری قمری (۱۲۱۰ میلادی)&amp;quot
         },
         {
            &amp;quotItem1&amp;quot:&amp;quotمحل تولد&amp;quot,
            &amp;quotItem2&amp;quot:&amp;quot[[شیراز]]&amp;quot
         },
         ...
      ]
   },
&amp;quotText&amp;quot:&amp;quotابومحمد مشرف‌الدین مصلح بن عبدالله بن مشرف متخلص به سعدی (۶۰۶ – ۶۹۰ هجری قمری) شاعر و نویسنده پارسی‌گوی ایرانی است. اهل ادب به او لقب استاد سخن، پادشاه سخن، شیخ اجل و حتی به‌طور مطلق، استاد داده‌اند. او در نظامیه بغداد — که مهم‌ترین مرکز علم و دانش جهان اسلام در آن زمان به حساب می‌آمد — تحصیل و پس از آن  ...&amp;quot,
 &amp;quotLinks&amp;quot:[
      &amp;quotگلستان سعدی&amp;quot,
      &amp;quotلقب&amp;quot,
      &amp;quotکنیه&amp;quot,
      &amp;quotنام کوچک&amp;quot,
      &amp;quotتخلص&amp;quot,
      &amp;quotایران&amp;quot,
      &amp;quotشیراز&amp;quot,
      &amp;quotبغداد&amp;quot,
      &amp;quotسعدیه&amp;quot,
      &amp;quotاتابکان فارس&amp;quot,
      &amp;quotخلفای عباسی&amp;quot,
      &amp;quotخوارزمشاهیان&amp;quot,
      &amp;quotایلخانان&amp;quot,
      &amp;quotحمله مغول به ایران&amp;quot,
      &amp;quotاسلام&amp;quot,
      ...
   ],
   &amp;quotParents&amp;quot:[
      &amp;quotسعدی&amp;quot,
      &amp;quotافراد صدساله اهل ایران&amp;quot,
      &amp;quotافراد صدساله فارسی‌زبانان&amp;quot,
      &amp;quotاهالی ایران در سده ۱۳ (میلادی)&amp;quot,
      &amp;quotاهالی شیراز&amp;quot,
      &amp;quotدانش‌آموختگان نظامیه بغداد&amp;quot,
      ...  
   ]
}      </description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Tue, 15 Jan 2019 10:31:41 +0330</pubDate>
            </item>
                    <item>
                <title>فراخوان مشارکت عمومی برای کمک به زبان فارسی</title>
                <link>https://virgool.io/textmining/ner-crowdsourcing-yplilirbnqsu</link>
                <description> https://app.text-mining.ir  تصویری از سامانه مشارکت عمومی دعوت به همکاریهدف ما این است که با مشارکت شما دوستان، بتوانیم پیکره برچسب‌خورده بزرگ و منبع باز (رایگان) ایجاد شده برای تشخیص موجودیت‌های نامدار (Named Entity Recognition یا NER) در زبان فارسی را اصلاح کنیم. تا بدین ترتیب، با حل یکی از چالش‌های زبان فارسی، قدم کوچکی برای احیای این زبان برداشته باشیم. برای این منظور پیکره‌ای در حدود ۲۵ میلیون توکن (واژه یا علامت) در قالب (نزدیک به) یک میلیون جمله از متون ویکی‌پدیا استخراج و با روش‌های مختلف بصورت خودکار برچسب‌گذاری اولیه شده است. از شما دوستان خواهشمندیم که با تصحیح برچسب‌های اشتباه یا برچسب‌زنی کلمات جاافتاده ما را در این راه یاری فرمایید. برای بالا بردن دقت کار هر جمله توسط دو نفر از دوستان مشارکت‌کننده، اصلاح و درصورت توافق‌نظر به پیکره اصلی اضافه می‌شود.برای انجام این کار، سامانه‌ای به آدرس ذیل ایجاد شده که می‌توانید با ثبت‌نام و ورود به این سامانه در اوقات فراغت خود، بوسیله گوشی هوشمند یا سیستم (کامپیوتر) خود، براحتی با مصرف حجم کمی از اینترنت کار اصلاح برچسب‌گذاری را انجام بفرمایید.همچنین اپلیکیشن اندروید فارسی‌یار بصورت متن‌باز برای برچسب‌زنی در کافه بازار قرار داده شده است.خروجی پیکره برچسب‌گذاری شده در فواصل زمانی منظم در این آدرس برای پژوهشگران و علاقه‌مندان به تحقیقات پردازش زبان طبیعی قابل دسترس خواهد بود.درنهایت سرویس (ابزار) NER زبان فارسی با کمک و استفاده از اولین خروجی پیکره برچسب خورده توسط دوستانی که در این پروژه مشارکت داشتند، در بخش API ابزارهای پردازش متن در سامانه متن کاوی فارسی‌یار قرار داده شده است که برای عموم قابل استفاده است.توضیح درباره ابزار تشخیص موجودیت‌های نامییکی از ابزارهای مهم جهت استخراج اطلاعات از متن، شناسایی موجودیت‌های نامدار[۱] یا کلمات خاص است. تشخیص موجودیت‌های نامدار (نامی) به این معناست که اسامی خاص در یک متن را بتوان تشخیص داد و آنها را به رده‌های مشخصی دسته‌بندی کرد. این رده‌ها چیزهای مختلفی می‌توانند باشند که هدف ما استخراج رده‌های ذیل است:1. نام شخص (نام کوچک یا فامیل افراد و القاب و عناوین منتسب و یا همراه آنها)2. نام سازمان (شرکت، نهاد‌ها، ادارات و تشکل‌های خصوصی یا دولتی، نام بخش‌های ادارات، گروه، تیم یا باشگاه ورزشی، وزارت، نام کارخانه یا نام فروشگاه معروف یا اصناف، نام نشریات و خبرگزاری‌ها و …)3. نام مکان (کشور، استان، شهر، روستا، کوه، رودخانه، دریا، صحرا، بنای تاریخی، خیابان، مجتمع مسکونی، منطقه یا ناحیه  خاص، اشاره به مکان مدرسه یا کارخانه یا مغازه یا ایستگاه مترو یا حرم یا …  در متن). لطفاً توجه شود که محل اشیا و … مثل “زیر میز”، “در قلبم” جزء اسامی مکان نیست.4. نام یا عبارت رویداد (حادثه، تصادف، قتل، جنگ، سرقت، آتش‌سوزی، عملیات تروریستی یا نظامی، برگزاری مسابقات مختلف، انتخابات، مذاکرات یا اجلاس، جشن یا کنگره یا …، توافق‌نامه، تظاهرات، مناسبت‌های مختلف و …)5. عبارت زمان یا تاریخ (روز هفته، ماه، سال،  ساعت، تاریخ، قرن، دوره یا عصر زمانی، اشاره به تاریخ یا زمان خاص یا نسبی مثل “دیروز”، “یک ساعت قبل”، “نیمه شب” و …)رویکردهای شناسایی موجودیت‌های نامیمتاسفانه تهیه لیست اسامی خاص خیلی وقت‌ها کمکی چندانی نمی‌کند، چون نوعاً کلماتی وجود دارند که می‌توانند با توجه به جمله و متن، در چند رده قرار بگیرند. برای مثال :“۱۱ سپتامبر”، می‌تواند اشاره به حادثه ۱۱ سپتامبر داشته و از رده رویداد یا از رده تاریخ/زمان باشد.“صیاد شیرازی” می‌تواند در جمله به یک خیابان (رده مکان) یا نام یک شخص (رده اشخاص) باشد.دو رویکرد استفاده از الگوهای متنی (مثلا آقای ؟ اشاره به نام شخص دارد) و استفاده از روش‌های یادگیری ماشین برای حل این مشکل وجود دارد. با توجه به ضعف‌ها و موارد استثنای زیاد، استفاده از رویکرد الگوهای متنی به تنهایی خیلی کاربردی نیست و رویکرد مبتنی بر روش‌های یادگیری ماشین توصیه می‌شود. در روش‌های یادگیری ماشین از قواعد از پیش‌تعیین شده و لیست لغات استفاده  نمی‌شود و به جای آن از حجم زیادی از داده‌های برچسب‌خورده (یا در برخی  موارد بدون برچسب) استفاده می‌شود. منظور از پیکره برچسب خورده، متون زیادی است که موجودیت‌های آن بوسیله‌ی یک روش دستی یا نیمه دستی (توسط انسان) مشخص (برچسب‌گذاری) شده باشد. از پیکره برچسب خورده برای فرایند یادگیری روش‌های هوشمند استفاده می‌شود. اما متاسفانه چالش اصلی این رویکرد، عدم  وجود پیکره برچسب خورده مناسب و کافی برای زبان فارسی است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Mon, 14 Jan 2019 10:56:54 +0330</pubDate>
            </item>
                    <item>
                <title>ابزارهای پردازش متن</title>
                <link>https://virgool.io/textmining/text-preprocessing-o2wzgzkagzyj</link>
                <description>متن کاوی یکی از شاخه‌های مهم پردازش زبان طبیعی محسوب می‌شود. در ادامه، ابزارهای مختلف پردازش زبان طبیعی به ترتیب (متداول) استفاده برای پیش‌پردازش متن بهمراه نمونه کد برای آنها معرفی می‌شوند.  منظور از ابزارهای پردازش متن، کتابخانه‌هایی است که برای آماده‌سازی متن جهت متن کاوی و استخراج دانش از متن بکار می‌روند.لازم به ذکر است که برای اجرای نمونه کدهای مربوط به زبان فارسی ابتدای فایل شبه کد ذیل را اضافه نمایید و قبل از اجرا لازم است تا عبارت YOUR_API_KEY (خط 14 شبه کد زیر) را با کلید ای.پی.آی واقعی خودتان جایگزین نمایید. شما می‌توانید در کمتر از دو دقیقه از اینجا کلید API رایگان برای استفاده از کلیه امکانات متن کاوی فارسی تهیه کنید.import requests
import json

def callApi(url, data, tokenKey): 
 headers = {
 &#039;Content-Type&#039;: &quot;application/json&quot;,
 &#039;Authorization&#039;: &quot;Bearer &quot; + tokenKey,
 &#039;Cache-Control&#039;: &quot;no-cache&quot;
 }
 response = requests.request(&quot;POST&quot;, url, data=data.encode(&quot;utf-8&quot;), headers=headers)
 return response.text
##################### Get Token by Api Key ##########################
url = &quot;http://api.text-mining.ir/api/Token/GetToken&quot;
querystring = {&quot;apikey&quot;:&quot;YOUR_API_KEY&quot;}
response = requests.request(&quot;GET&quot;, url, params=querystring)
data = json.loads(response.text)
tokenKey = data[&#039;token&#039;]نرمالساز متن (Normalizer)هدف این ابزار، تمیز و مرتب کردن متن و یکسان‌سازی کاراکترها با جایگزین کردن کاراکترهای استاندارد در متن ورودی است. در واقع قبل از پردازش متون جهت استانداردسازی حروف و فاصله‌ها بایستی پیش‌پردازش‌هایی روی آنها انجام شود. در واقع در این مرحله بایستی همه‌ی نویسه‌های (حروف) متن با جایگزینی با معادل استاندارد آنها، یکسان‌سازی گردند. در پردازش رسم الخط زبان فارسی، با توجه به شباهتی که با رسم الخط عربی دارد، همواره در نگارش تعدادی از حرف‌ها مشکل استفاده از کاراکترهای عربی معادل وجود دارد؛ که از جمله‌ی آنها می‌توان به حروف “ک”، “ی” و همزه اشاره نمود. در اولین گام باید مشکلات مربوط به این حروف را با یکسان‌سازی آنها برطرف کرد.علاوه بر این، اصلاح و یکسان‌سازی نویسه‌ی نیم‌فاصله و فاصله در کاربردهای مختلف آن و همچنین حذف نویسه‌های اعراب، تشدید، تنوین و «ـ» که برای کشش نویسه‌های چسبان مورد استفاده قرار می‌گیرد و مواردی مشابه برای یکسان‌سازی متون، از اقدامات لازم قبل از شروع پردازش متن می‌باشد.در ابزار طراحی شده و موجود در سامانه متن کاوی حدود هزار کاراکتر (حرف) با معادل صحیح آن در صفحه کلید استاندارد فارسی جایگزین می‌شود.سپس مطابق با یک سری قاعده دقیق و مشخص، فاصله‌ها و نیم‌فاصله‌های موجود در متن برای وندهایی نظیر “ها”، “تر” و “ی” غیرچسبان (در انتهای لغات) و همچنین پیشوندها و پسوندهای فعل‌ساز نظیر “نمی”، “می”، “ام”، “ایم”، “اید” و موارد مشابه نیز اصلاح می‌گردند.نمونه کد نرمال‌سازی فارسی با جایگزینی بیش از 1000 کاراکتر غیراستاندارد و اصلاح فاصله و نیم‌فاصله‌ها بصورت ذیل می‌باشد:url = &quot;http://api.text-mining.ir/api/PreProcessing/NormalizePersianWord&quot;
payload = u&quot;{\&quot;text\&quot;:\&quot;ولــے اگــر دڪــمــه مــڪــث رو لــمــس ڪــنــیــم ڪــلــا مــتــن چــنــدیــن صــفــحــه جــابــه جــا مــیــشــه و دیــگــه نــمــیــشــه فــهمــیــد ڪــدوم آیــه تــلــاوت مــی شود بــایــد چــے ڪــنــیــم؟.\&quot;, \&quot;refineSeparatedAffix\&quot;:true}&quot;
print(callApi(url, payload, tokenKey))خروجی:ولی اگر دکمه مکث رو لمس کنیم کلا متن چندین صفحه جابه جا میشه و دیگه نمیشه فهمید کدوم آیه تلاوت می‌شود باید چی کنیم؟تقطیع جملات و واژه‌ها (Sentence Splitter and Tokenizer)هدف این ابزار شخیص جملات را در متن ورودی است. به عبارت دیگر جداسازی جملات ساده و مرکب (غیرتودرتو) و واژه‌ها و عبارات خاص (توکن‌ها) از یکدیگر هست. پس از پایان مرحله‌ی نرمالسازی متن، ابزار تشخیص‌دهنده‌ی جملات با استفاده از نمادهای (علامت‌های) پایانی جمله از قبیل: ”.“،”؛“، ”!“، ”؟“، ”?“، … و بکارگیری برخی علائم، قواعد دستوری زبان و در نظرگرفتن حروف ربط یا برخی لغات آغاز کننده‌ی جملات مرکب (از قبیل حروف ربط مانند “که”، “تا”، “اما”، “ولی”، “زیرا”، “سپس”، “و”، “یا”، … در زبان فارسی)، مرز جمله‌ها را تعیین می‌نماید. تشخیص‌دهنده‌ی لغات (توکن) نیز با استفاده از علامت‌های فضای خالی، ”،“، ”,“، ”-“ و غیره و در نظر گرفتن اصلاحات اعمال شده در مورد پیشوندها و پسوندها در فاز قبلی، واحدهای با معنی مانند واژه‌ها را شناسایی می‌نماید.در ابزار طراحی شده و موجود در سامانه متن کاوی، علاوه بر شناسایی واژه‌ها، پردازش ویژه‌ای برای درنظر گرفتن توکن واحد برای کلمات اختصاری (از قبیل A.T.R یا بی.بی.سی)، تاریخ و زمان (از قبیل ۵:۳۵ یا ۲۰۱۵/۲/۲۵)، اعداد اعشاری (از قبیل ۵/۱۷ یا ۵٫۱۷)، آدرس صفحات وب، ایمیل و سایر عبارات و علائم خاص (جایگزینی کلمه ”ا… “ با کلمه اصلی آن) انجام می‌شود.با توجه به پایه بودن جمله یا توکن در بسیاری از پردازش‌های زبانی، خروجی دقیق این ابزار از درجه‌ی اهمیت بالایی برخوردار است. نمونه کد این ابزار برای زبان فارسی:url = &quot;http://api.text-mining.ir/api/PreProcessing/SentenceSplitterAndTokenize&quot;
payload = u&#039;&#039;&#039;{\&quot;text\&quot;: \&quot;من با دوستم به مدرسه می رفتیم و در آنجا مشغول به تحصیل بودیم. سپس به دانشگاه راه یافتیم\&quot;,
 \&quot;checkSlang\&quot;: true, 
 \&quot;normalize\&quot;: true, 
 \&quot;normalizerParams\&quot;: {
 \&quot;text\&quot;: \&quot;don&#039;t care\&quot;,
 \&quot;replaceWildChar\&quot;: true,
 \&quot;replaceDigit\&quot;: true,
 \&quot;refineSeparatedAffix\&quot;: true,
 \&quot;refineQuotationPunc\&quot;: false
 },
 \&quot;complexSentence\&quot;: false}&#039;&#039;&#039;
print(callApi(url, payload, tokenKey))خروجی:[[&quot;من&quot;,&quot;با&quot;,&quot;دوستم&quot;,&quot;به&quot;,&quot;مدرسه&quot;,&quot;می‌رفتیم&quot;],[&quot;و&quot;,&quot;در&quot;,&quot;آنجا&quot;,&quot;مشغول&quot;,&quot;به&quot;,&quot;تحصیل&quot;,&quot;بودیم&quot;,&quot;.&quot;],[&quot;سپس&quot;,&quot;به&quot;,&quot;دانشگاه&quot;,&quot;راه&quot;,&quot;یافتیم&quot;]]تشخیص کسره اضافهبا آنکه کسرۀ اضافه در زبان فارسی بازنمایی صوری ندارد و به بیانی در صورت‌بندی زبانی، وزنه‌‌ای به شمار نمی‌رود، اما به لحاظ کارکردی بسیار ضروری و حائز اهمیت است. از این ابزار در ابزارهای تشخیص موجودیت‌های نامی، قطعه‌بند جملات و … می‌توان استفاده کرد. شناسایی کسره اضافه از دو رویکرد زبان‌شناسی (بوسیله تعیین نقش کلمات و بدست آوردن درخت تجزیه جملات) و یادگیری ماشین (با استفاده از پیکره برچسب خورده) میسر است.حذف کلمات توقف (Stop Word Removal)منظور از حذف کلمات توقف، حذف علائم، اعداد، کلمات عمومی و بدون ارزش معنایی (از قبیل: از، در، با، به، است، پس، …) در جمله است. در بسیاری از کاربردهای بازیابی اطلاعات، حذف لغات کم‌اهمیت که شاخصه متن نیستند، می‌تواند بدون از بین بردن معنا باعث بهبود دقت و سرعت الگوریتم‌های متن‌کاوی شوند. لیست کلمات توقف وابسته به کاربرد مورد نظر باید تهیه شود. برای مثال: کلمات “هست” و “نیست” برای دسته‌بندی موضوعی متن حائز اهمیت نیستند ولی در تحلیل حس، می‌توانند حس جمله را معکوس کنند.نمونه کد این ابزار برای زبان فارسی: url = &quot;http://api.text-mining.ir/api/InformationRetrieval/StopWordRemoval&quot;
 payload = u&#039;&#039;&#039; &quot;تیم متن کاوی فارسی‌یار با مجموعه‌ای از فارغ التحصیلان دانشگاه‌های صنعتی شریف، تربیت مدرس و فردوسی مشهد از سال ۱۳۹۰ بصورت تخصصی در زمینه پردازش زبان طبیعی مشغول به فعالیت است. در سال ۱۳۹۶ در جهت فعالیت پژوهشی عمیق­‌تر در زمینه پردازش متون برای زبان فارسی، این گروه با آزمایشگاه متن کاوی و یادگیری ماشین پژوهشگاه علوم و فناوری اطلاعات ایران (ایرانداک) همکاری تنگاتنگی داشته است.&quot; &#039;&#039;&#039;
print(callApi(url, payload, tokenKey)) خروجی: # result: تیم متن کاوی فارسی‌یار مجموعه‌ای فارغ التحصیلان دانشگاه‌های صنعتی شریف، تربیت مدرس فردوسی مشهد سال ۱۳۹۰ تخصصی پردازش زبان طبیعی مشغول فعالیت. سال ۱۳۹۶ فعالیت پژوهشی عمیق‌تر پردازش متون زبان فارسی، گروه آزمایشگاه متن کاوی یادگیری ماشین پژوهشگاه علوم فناوری اطلاعات ایران (ایرانداک) همکاری تنگاتنگی.
نمونه کد این ابزار با استفاده از NLTK:input_str = “NLTK is a leading platform for building Python programs to work with human language data.”
stop_words = set(stopwords.words(‘english’))
from nltk.tokenize import word_tokenize
tokens = word_tokenize(input_str)
result = [i for i in tokens if not i in stop_words]
print (result)خروجی:[‘NLTK’, ‘leading’, ‘platform’, ‘building’, ‘Python’, ‘programs’, ‘work’, ‘human’, ‘language’, ‘data’, ‘.’]ریشه‌یابی کلمات یا بُن‌واژه‌یاب (Stemmer and Lemmatizer)ریشه‌یابی کلمات یکی از مهمترین عملیات پیش‌پردازش متون در بازیابی اطلاعات و پردازش زبان‌های طبیعی است. هدف الگوریتم‌های ریشه‌یابی، حذف وندهای کلمات (پیشوند و پسوندها) و تعیین ریشه اصلی کلمه، براساس قواعد ساخت واژه‌ای (ریخت‌شناسی)، هستند.برخلاف زبان انگلیسی، چالش‌های مختلفی هنگام ریشه‌یابی کلمات زبان فارسی وجود دارد از جمله اینکه ضمایر می‌توانند به دو صورت جدا و متصل در جمله ظاهر شوند. البته در مورد افعال مسئله کمی پیچیده‌تر است، بطوری که علاوه بر وندهای فعلی، شخص (فاعل) و زمان جمله نیز بر روی حالت فعل تاثیر‌گذار هستند. معروفترین الگوریتم ریشه یابی در انگلیسی porter می باشد.در روش‌های ریشه‌یابی رایج، بعد از حذف انواع وندها (اشتقاقی، تصریفی و واژه‌بست) ممکن است معنای کلمه تغییر یابد. ولی در بُن‌واژه‌یاب (یا Lemmatizer) سعی در ریشه‌یابی بُن کلمه بدون تغییر مفهوم اصلی کلمه در جمله شده است. همچنین در بن‌واژه‌یاب تولید شده در سامانه متن کاوی، قابلیت تعیین ریشه در چند سطح را دارد. برای مثال ریشه کلمه “دانشجویان” به ترتیب در سطوح مختلف : “دانشجو”، “دانش” و “دان” است. این سطوح مختلف ریشه می‌توانند در کاربردهای مختلف پردازش زبان طبیعی مورد استفاده قرار گیرند. در ابزار ریشه‌یاب موجود در سامانه متن کاوی از دو رویکرد مبتنی بر فرهنگ لغات و قواعد ریخت‌شناسی بهره گرفته شده است. بر پایه تحلیل‌های آماری انجام شده، برای این ابزار از پنج فرهنگ لغت مختلف استفاده شده است.نمونه کد بن‌واژه‌یابی در زبان فارسی:url = &quot;http://api.text-mining.ir/api/Stemmer/LemmatizeText2Text&quot;
payload = u&#039;&quot;من با دانشجویان دیگری برخورد کردم. سپس به آنها گفتم\nمن با شما کارهای زیادی دارم&quot;&#039;
print(callApi(url, payload, tokenKey))خروجی:من با دانشجو دیگر بر خورد کرد. سپس به آن گفت
من با شما کار زیاد داشتنمونه کد ریشه‌یاب انگلیسی بوسیله کتابخانه NLTK:from nltk.stem import PorterStemmer
from nltk.tokenize import word_tokenize
stemmer= PorterStemmer()
input_str=”There are several types of stemming algorithms.”
input_str=word_tokenize(input_str)
for word in input_str:
 print(stemmer.stem(word))خروجی:There are sever type of stem algorithm.نمونه کد بن‌واژه‌یابی در زبان انگلیسی بوسیله NLTK:from nltk.stem import WordNetLemmatizer
from nltk.tokenize import word_tokenize
lemmatizer=WordNetLemmatizer()
input_str=”been had done languages cities mice”
input_str=word_tokenize(input_str)
for word in input_str:
 print(lemmatizer.lemmatize(word))خروجی:be have do language city mouseتبدیل عبارات محاوره‌ای به رسمی (Conversational/Slang to Formal Converter)یکی از مشکلات رایج در پردازش متون نظرات وجود کلمات به شکل غیر رسمی (محاوره‌ای) و عبارات اختصاری برای سادگی در نگارش متن نظر می‌باشد. درک معنای این‌گونه کلمات برای انسان کار راحتی است در حالیکه در پردازش خودکار ماشینی متون، وجود این عبارات مشکل‌ساز خواهد بود. لذا سعی می‌شود در فاز پیش‌پردازش این‌گونه عبارات با شکل رسمی و صحیح آنها (که مطابق با پیکره‌های متن رسمی، لغت‌نامه‌ها و سایر دانش‌نامه‌ها موجود است) جایگزین شود.برای این‌منظور مشابه ریشه‌یاب، در ابزار تهیه شده در سامانه متن کاوی، کلمات به دو گروه فعل و غیر فعل تقسیم شده و در هر گروه وندهای (پیشوند و پسوند) کلمات و ریشه (بُن) کلمه بصورت مجزا بوسیله مجموعه‌ای از قوانین بررسی می‌شوند. همچنین برای ریشه (بُن) کلمات در هر دو گروه کلمات لیستی از کلمات و اختصارات که حالت استثنا دارند، استفاده شده است.نمونه کد:url = &quot;http://api.text-mining.ir/api/TextRefinement/FormalConverter&quot;
payload = u&#039;&#039;&#039; &quot;اگه اون گزینه رو کلیک کنین، یه پنجره باز میشه که میتونین رمز عبورتون رو اونجا تغییر بدین
 داشتم مي رفتم برم، ديدم گرفت نشست، گفتم بذار بپرسم ببينم مياد نمياد ديدم ميگه نميخوام بيام بذار 
 برم بگيرم بخوابم نمیتونم بشینم.
 کتابای خودتونه
 نمیدونم چی بگم که دیگه اونجا نره
 ساعت چن میتونین بیایین؟&quot; &#039;&#039;&#039;
 print(callApi(url, payload, tokenKey))خروجی:اگر آن گزینه را کلیک کنید، یک پنجره باز می‌شود که می‌توانید رمز عبورتان را آنجا تغییر بدهید
داشتم می‌رفتم بروم، دیدم گرفت نشست، گفتم بگذار بپرسم ببینم می‌آید نمی‌آید دیدم می‌گوید نمی‌خواهم بیایم بگذار بروم بگیرم بخوابم نمی‌توانم بنشینم.
کتاب‌های خودتان است
نمی‌دانم چه بگویم که دیگر آنجا نرود
ساعت چند می‌توانید بیایید؟تصحیح‌کننده خطاهای املایی یا خطا در تایپ کلمات (Spell Correction)با بررسی اولیه متون شبکه‌های اجتماعی و نظرات می‌توان پی برد که علاوه بر مشکلات مربوط به شکل اختصاری یا محاوره‌ای کلمات، غلط‌های املایی زیادی سهواً یا عمداً (برای راحتی در نگارش) در متون زبان مختلف وجود دارد. هدف از تولید این ابزار تصحیح خودکار خطاهای املایی ناشی از تایپ اشتباه کلمات در متون می‌باشد. بدین منظور در ابزار تصحیح‌کننده خطاهای املایی موجود در سامانه متن کاوی، به ازای کلمات بدون مفهوم (که کلمه یا ریشه‌ی آن در لیست کلمات رسمی یا محاوره‌ای زبان فارسی وجود ندارند)، شبیه‌ترین کلمه براساس تحلیل‌های آماری و از نظر املایی جایگزین آن خواهد شد. معیار استفاده شده برای آستانه شباهت املایی تبدیل کلمات به شکل ممکن است:جداسازی کلمات بهم چسبیدهاصلاح/تغییر تنها یک حرف با یکی از کاراکترهای مجاور آن در صفحه کلید استاندارد زبان فارسیاصلاح حروف هم صدا از نظر تلفظ (مانند حروف: “ز”، “ذ”، “ض” و “ظ” که همگی به صدای “z” اشاره دارند).نمونه کد خطایاب املایی/تایپی:url = &quot;http://api.text-mining.ir/api/TextRefinement/SpellCorrector&quot;
payload = u&#039;&#039;&#039;{\&quot;text\&quot;: \&quot;فهوه با مبات میجسبد\&quot;,
 \&quot;checkSlang\&quot;: true, 
 \&quot;normalize\&quot;: true, 
 \&quot;candidateCount\&quot;: 2}&#039;&#039;&#039;
print(callApi(url, payload, tokenKey))خروجی:قهوه با {نبات,ملات} {میچسبد,میجنبد}برچسب‌زنی ادات سخن یا نقش کلمات در جمله (Part of Speech Tagging)برچسب‌­زنی نقش ادات سخن عمل انتساب برچسب­‌های نحوی (از قبیل اسم، انواع صفت، انواع قید، نوع فعل، انواع حروف و …) به واژه­‌ها و نشانه­‌های تشکیل دهنده یک متن است به صورتی که این برچسب‌­ها نشان دهنده نقش کلمات و نشانه­‌ها در جمله باشند. در زبان فارسی اغلب کلمات دارای نقشی واحد در جملات مختلف هستند. سایر واژگان از نقطه نظر برچسب­‌زن نحوی دارای ابهام هستند، زیرا ممکن است کلمات در جایگاه­‌های مختلف در جمله، برچسب­‌های نحوی متفاوتی داشته باشند. بنابراین برچسب‌زنی نحوی، عمل ابهام‌زدایی از برچسب­‌ها با توجه به زمینه (ساختار جمله) مورد نظر است.ابزار تهیه شده در سامانه متن کاوی، برای برچسب‌گذاری نقش ادات سخن در متون فارسی، از پیکره برچسب خورده و از ترکیب دو رویکرد یادگیری ماشین و برچسب‌گذاری مبتنی بر قاعده استفاده می‌نماید.نمونه کد برچسب‌زنی نقش ادات سخن در زبان فارسی:url = &quot;http://api.text-mining.ir/api/PosTagger/GetPos&quot;
payload = u&#039;&quot;احمد و علی به مدرسه پایین خیابان می رفتند&quot;&#039;
result = json.loads(callApi(url, payload, tokenKey))
for phrase in result:
 print(&quot;(&quot;+phrase[&#039;word&#039;]+&quot;,&quot;+phrase[&#039;tags&#039;][&#039;POS&#039;][&#039;item1&#039;]+&quot;) &quot;)خروجی:(احمد,N)
(و,CON)
(علی,N)
(به,P)
(مدرسه,N)
(پایین,ADJ)
(خیابان,N)
(می‌رفتند,V)مثالی از برچسب زنی نقش ادات سخن در زبان انگلیسی با استفاده از TextBlob:input_str=”Parts of speech examples: an article, to write, interesting, easily, and, of”
from textblob import TextBlob
result = TextBlob(input_str)
print(result.tags)خروجی:[(‘Parts’, u’NNS’), (‘of’, u’IN’), (‘speech’, u’NN’), (‘examples’, u’NNS’), (‘an’, u’DT’), (‘article’, u’NN’), (‘to’, u’TO’), (‘write’, u’VB’), (‘interesting’, u’VBG’), (‘easily’, u’RB’), (‘and’, u’CC’), (‘of’, u’IN’)]قطعه‌بند (Chunker) یا پارسر کم‌عمق (Shallow Parser)ابزاری برای تشخیص گروه‌های (عبارات یا  phrases) اسمی، فعلی، صفات و …. در یک جمله است. جهت تقویت ابزارهای سطح بالاتر از قبیل پارسر، برچسب‌زن نقش معنایی و تشخیص موجودیت‌های نامدار لازم است نه تنها نقش‌های کلمات مشخص گردند، بلکه باید وابستگی‌های کلمات مجاور هم به لحاظ نقشی در جمله مشخص شوند. از اینرو به این ابزار پارسر سبک (light) یا کم عمق (shallow) نیز می‌گویند. در ادامه نمونه کد و خروجی ابزار قطعه‌بند NLTK نمایش داده شده است:input_str=”A black television and a white stove were bought for the new apartment of John.”
from textblob import TextBlob
result = TextBlob(input_str)
print(result.tags)خروجی:[(‘A’, u’DT’), (‘black’, u’JJ’), (‘television’, u’NN’), (‘and’, u’CC’), (‘a’, u’DT’), (‘white’, u’JJ’), (‘stove’, u’NN’), (‘were’, u’VBD’), (‘bought’, u’VBN’), (‘for’, u’IN’), (‘the’, u’DT’), (‘new’, u’JJ’), (‘apartment’, u’NN’), (‘of’, u’IN’), (‘John’, u’NNP’)]در ادامه (مرحله بعد) قطعه‌بند:reg_exp = “NP: {&lt;DT&gt;?&lt;JJ&gt;*&lt;NN&gt;}”
rp = nltk.RegexpParser(reg_exp)
result = rp.parse(result.tags)
print(result)خروجی این بخش:(S (NP A/DT black/JJ television/NN) and/CC (NP a/DT white/JJ stove/NN) were/VBD bought/VBN for/IN (NP the/DT new/JJ apartment/NN)
of/IN John/NNP)نمایش ساختار درختی مثال فوق با دستور result.draw() :پارسر یا تجزیه‌گر جملات (Parser)به موازات پیشرفت و تحولات نظری در زبان‌شناسی جدید، روش‌های تحلیل متون و دستورات زبان بوسیله‌ی رایانه نیز تحول یافته است. منظور از گرامر هر زبان، در دست داشتن یک سری دستورات زبانی قابل فهم برای رایانه است که به کمک آنها بتوان اجزای نحوی یک جمله را به طور صحیح تفکیک نمود. تجزیه و تحلیل جمله و شکستن آن به اجزای تشکیل‌دهنده‌ مانند گروه‌های اسمی، فعلی، قیدی و غیره و روابط بین آنها توسط ابزاری به نام پارسر صورت می‌گیرد که نقش اساسی در طراحی و یا افزایش دقت سایر ابزارهای پردازش متن دارد. نمایش نحوه عملکرد و تحلیل پارسر وابستگی گرفته شده از مقاله Announcing SyntaxNetبرچسب‌زن نقش معنایی (Semantic Role Labeling)ابزاری برای تشخیص نقش معنایی کلمات و اجزای جمله است. این ابزار یکی از مهمترین نقش‌ها را در پردازش‌های زبانی و درک منظور نوشته برعهده دارد. دقت در این ابزار بسیار حائز اهمیت است. این ابزار باید نقش‌های معنایی کلمات در جمله مانند عامل (agent)، هدف (goal)، فعالیت (action)، نتیجه (result) و ... را تشخیص دهد. معمولاً نقش‌های معنایی مختلف بر محور ارتباط آنها با بخش گزاره یا فعل جمله مشخص می‌شوند. برای آشنایی بیشتر با این ابزار و مشاهده مثال‌هایی از زبان فارسی برای تشخیص نقش معنایی به این مقاله مراجعه فرمایید.تشخیص موجودیت‌های نامدار (Named Entity Recognition)تشخیص موجودیت‌های نامدار (نامی) به این معناست که اسامی خاص در یک متن را بتوان تشخیص داد و آنها را به رده‌های مشخصی دسته‌بندی کرد. این رده‌ها چیزهای مختلفی از قبیل اعم از اسامی افراد، اماکن، سازمان‌ها، مقادیر عددی و … می‌توانند باشند. متاسفانه تهیه لیست اسامی خاص خیلی وقت‌ها کمکی چندانی نمی‌کند، چون نوعاً کلماتی وجود دارند که می‌توانند با توجه به جمله و متن، در چند رده قرار بگیرند. دو رویکرد استفاده از الگوهای متنی و استفاده از روش‌های یادگیری ماشین برای حل این مشکل وجود دارد. با توجه به ضعف‌ها و موارد استثنای زیاد استفاده از رویکرد الگوهای متنی به تنهایی خیلی کاربردی نیست و رویکرد مبتنی بر روش‌های یادگیری ماشین توصیه می‌شود. در روش‌های یادگیری ماشین از قواعد از پیش‌تعیین شده و لیست لغات استفاده نمی‌شود و به جای آن از حجم زیادی از داده‌های برچسب‌خورده (یا در برخی موارد بدون برچسب) استفاده می‌شود.نمونه کد ابزار NER در زبان فارسی:url = &quot;http://api.text-mining.ir/api/NamedEntityRecognition/Detect&quot;
payload = u&#039;&quot;احمد عباسی به تحصیلات خود در دانشگاه آزاد اسلامی در مشهد ادامه داد&quot;&#039;
result = json.loads(callApi(url, payload, tokenKey))
for phrase in result:
 print(&quot;(&quot;+phrase[&#039;word&#039;]+&quot;,&quot;+phrase[&#039;tags&#039;][&#039;NER&#039;][&#039;item1&#039;]+&quot;) &quot;)خروجی:(احمد,B-PER)
(عباسی,I-PER)
(به,O)
(تحصیلات,O)
(خود,O)
(در,O)
(دانشگاه,B-ORG)
(آزاد,I-ORG)
(اسلامی,I-ORG)
(در,O)
(مشهد,B-LOC)
(ادامه,O)
(داد,O)نمونه کد NLTK و خروجی بدست آمده این ابزار در زبان انگلیسی:from nltk import word_tokenize, pos_tag, ne_chunk
input_str = “Bill works for Apple so he went to Boston for a conference.”
print ne_chunk(pos_tag(word_tokenize(input_str)))خروجی:(S (PERSON Bill/NNP) works/VBZ for/IN Apple/NNP so/IN he/PRP went/VBD to/TO (GPE Boston/NNP) for/IN a/DT conference/NN ./.)ارجاع به ضمایر هم‌مرجع یا مرجع‌یابی ضمایر (Coreference Resolution)هدف این ابزار تعیین مرجع اسمی، یک ضمیر یا اسم اشاره در جملات یک متن است. این ابزار در زبان انگلیسی معادل ابزاری است که مرجع ضمیر را که به صورت اسم در ابتدای جمله یا جمله‌های قبلی آمده است، مشخص می‌کند. استفاده از ضمایر به جای اسامی در زبان انگلیسی بسیر رایج می‌باشد. البته در زبان فارسی این کار چندان رایج نیست. اما در زبان فارسی عنوان یک مفهوم اسمی با اصطلاحات و عناوین مختلف بسیار رایج است. پس هدف طراحی ابزاری است که مرجع خاص عناوین مختلف اسمی (که به یک اسم/موجودیت خاص اشاره می‌کنند) را درون متن مشخص کند.حاشیه نویس (Annotator)ابزاری برای ایجاد یک نمونه از یک آنتولوژی در یک سند ورودی است. همچنین این ابزار، برای برچسب‌گذاری و افزودن متاداده بصورت دستی در پیکره‌های متنی مورد استفاده قرار می‌گیرد. معروف‌ترین ابزار موجود برای این کار GATE نام دارد.شبکه واژگان (Wordnet)پایگاه داده لغوی (lexical database) شامل مجموعه‌ای از لغات در قالب گروه‌های هم‌معنی (Synset) و ارتباطات مختلف معنایی بین آنهاست. ارتباطات معنایی در داخل این مجموعه شامل ۱۶ نوع رابطه می‌باشد. این مجموعه به عنوان یک مرجع در بسیاری از پردازش‌های زبانی برای توجه به معنای لغات مورد استفاده قرار می‌گیرد. از نمونه‌های انگلیسی آن می‌توان به Princeton WordNet و EuroWordNet اشاره کرد. برای زبان فارسی تا کنون سه شبکه واژگان فارس‌نت (دانشگاه شهید بهشتی و مرکز تحقیقات مخابرات)، فردوس‌نت (دانشگاه فردوسی مشهد) و شبکه واژگان دانشگاه تهران ایجاد و منتشر شده است.محاسبه شباهت (Similarity recognition)ابزاری برای تشخیص میزان شباهت میان دو عبارت، جمله یا متن است. در این ابزار پس از تشخیص نوع کلمات به کار رفته در یک جمله و سپس بر اساس جایگاه آن کلمات در جمله، کلماتی که در جایگاه های یکسان قرار دارند، مورد مقایسه قرار می‌گیرند. برای تعیین شباهت کلمات و مفاهیم سه رویکرد مختلف وجود دارد: شباهت لغوی: استفاده از توابع تعیین شباهت توالی کاراکترها مثل سورنسون، جکارد، بزرگترین زیررشته مشترک و …شباهت معنایی: استفاده از فرهنگ لغات، شبکه واژگان و یا سایر دانش‌نامه‌ها و هستان‌شناسی‌هاشباهت آماری یا کاربردی: توجه به جایگاه مشترک یا هم‌رخدادی در پیکره بزرگ متنی و روش‌های جاسازی کلمات (word embedding) مثال‌های مربوط به ابزارهای پردازش متن زبان فارسی از اینجا و برای زبان انگلیسی از این منبع جمع‌آوری شدند.استفاده از این مقاله با ذکر منبع سامانه متن کاوی فارسی‌یار‌ - text-mining.ir&quot;، بلامانع است.</description>
                <category>textmining</category>
                <author>textmining</author>
                <pubDate>Mon, 14 Jan 2019 09:50:38 +0330</pubDate>
            </item>
            </channel>
</rss>