Professional Documents
Culture Documents
Deep NLP
Deep NLP
محمد حیدری
BigDataWorld.ir
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 1
آشنایی با من
محمد حیدری (بنیانگذار مدرسه بیگ دیتا ،پژوهشگر علوم داده و یادگیری ماشین)
• پژوهشگر یادگیری ماشین در HiTS
• مدرس دوره های نرم افزاری در مرکز آموزش های تخصصی جهاد دانشگاهی
• کارشناسی مهندسی نرم افزار و ارشد مهندسی فناوری اطالعات ،دانشگاه تربیت مدرس تهران
• سخنران کارگاه آموزشی Graph Analyticsدر پنجمین سمینار زمستانه علوم کامپیوتر ،صنعتی شریف
• ارائه دهنده مقاله برتر در 6th IEEE International Conference on Web Research, ICWR
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 2
منظور از داده چیست ؟
▪داده انواع و اقسام متنوعی دارد.
▪ صدا
▪ تصاویر
▪ کلمات
▪ اعداد
▪حمل و نقل
▪علمی
▪مالی
▪آماری
▪هواشناسی
▪جغرافیایی
▪و ...
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 3
گام های انجام یک پروژه علم داده
▪گام اول ،شناخت سیستم (فهم کسب و کار)
▪گام دوم ،شناخت داده ها (درک داده)
▪گام سوم ،آماده سازی داده (پاکسازی)
▪گام چهارم ،مدل سازی داده
▪گام پنجم ،ارزیابی داده
▪گام ششم ،توسعه
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 4
مفهوم کتابخانه )(Library
▪کتابخانه مجموعه ای از ماژول هاست! (ماژول چی هست اصال؟)
▪ماژول مجموعه ای از کدها است که برای یک هدف خاص استفاده می شود و می توان در برنامه های گوناگونی از
آن استفاده کرد.
▪مزیت کلیدی
▪پرهیز از تکرار کد
▪اختراع دوباره چرخ ،ممنوع
▪ کسی که در حال ساخت ماشین است
زمان خود را صرف دوباره چرخ نمی کند،
بنابراین ،چرخ یک ماژول است ،چون می تواند در سایر تولیدات
استفاده شود.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 5
طبقه بندی کتابخانه ها در پایتون
▪ماژول ها یا کتابخانه هایی که در پایتون نوشته می شوند سه دسته اند:
▪ توسط شخص ما نوشته شده اند.
▪ توسط دیگران یا منابع خارجی نوشته شده اند)PyPI( .
▪ به صورت پیش فرض به همراه پایتون نصب شده اند.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 6
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 7
پیش نیازهای الزم برای شرکت در کارگاه آموزشی
دانش مقدماتی پایتون
اطالعات مقدماتی در رابطه با داده کاوی
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 8
نصب ابزارهای الزم
Anaconda Jupyter Notebook
PyCharm
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 9
کاربردهای پردازش متن
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 10
ابزارهای پردازش زبان طبیعی در زبان فارسی
هضم
◦ تمیز و مرتب کردن متن
◦ تقطیع جملهها و واژهها
◦ Sentence Segmentation
◦ Tokenization
◦ ریشهیابی واژهها
◦ تحلیل صرفی جمله
◦ تجزیه نحوی جمله
◦ واسط استفاده از دادههای زبان فارسی
◦ سازگاری با بسته NLTK
◦ پشتیبانی از پایتون نسخه ۲و ۳
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 11
ابزارهای پردازش زبان طبیعی در زبان فارسی
پارسی ور
◦ تمیز و مرتب کردن متن
◦ تقطیع جملهها و واژهها
◦ Sentence Segmentation
◦ Tokenization
◦ ریشهیابی واژهها
◦ تحلیل صرفی جمله
◦ تجزیه نحوی جمله
◦ قابلیت استخراج مقادیر تاریخی عددی از متن
◦ تبدیل کلمات فــــینگلیش یا پــــینگلیش به فارسی
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 12
چالشهای پردازش زبان طبیعی در زبان فارسی (مقاله )2019
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 13
چالشهای پردازش زبان طبیعی در زبان فارسی( ،مقاله )2020
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 14
کتابخانه های برتر به منظور بهره برداری در پروژه های یادگیری ماشین
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 15
گامها و مراحل متن کاوی
❑انتخاب متن
❑پردازش متن
❑تبدیل متن به صفات خاصه
❑انتخاب صفات خاصه از متن
❑دادهکاوی بر روی متن
❑تفسیر و ارزیابی خروجی متن کاوی
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 16
کتابخانه های برتر NLP
Persian
)◦ Hazm (Persian Supported
)◦ Parsivar(Persian Supported
)◦ FastText (Persian Supported
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 17
مهمترین روش های پیش پردازش متن
به ترتیب
تبدیل متن به حروف کوچک ◦
پاک کردن اعداد ◦
پاک کردن عالئم نقطه گذاری ◦
پاک کردن فضاهای خالی ◦
توکن بندی کلمات ◦
حذف کردن کلمات فاقد اهمیت کافی ◦
ریشه یابی کلمات ◦
برچسب گذاری نقش کلمات در متنPart of Speech (POS) Tagging ، ◦
تجزیه و تحلیل سطحی جمالت ◦
شناسایی موجودیت های اسمی در جمالتNER ، ◦
شناسایی هم رُخدادی کلمات در جمالت ◦
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 18
پیش پردازش متن ،انواع تحلیل ها
تحلیل صرفی
◦ POS
◦ Tokenizer
◦ Lemmatizer
تحلیل نحوی
◦ Parser
◦ Chunker
تحلیل معنایی
◦ NER
◦ Event Detection
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 19
ابزارهای پیش پردازش متن فارسی
نرمال ساز
تقطیع واژه و جمله
ریشه یابی
برچسب ادات سخن
حذف کلمات توقف
پارسِر
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 20
نرمال سازNormalizer ،
هدف :تمیز ،مرتب کردن متن و یکسانسازی کاراکترها با جایگزین کردن کاراکترهای استاندارد در متن ورودی
همهی حروف متن با جایگزینیِ معادل استاندارد آنها ،یکسانسازی گردند.
◦ مثال :چالش شباهت رسم الخط فارسی با عربی و استفاده از کاراکترهای عربی به جای فارسی
◦ حروف "ک" و "ی"
◦ اصالح و یکسانسازی نویسهی نیمفاصله و فاصله
◦ حذف نویسههای اعراب ،تشدید ،تنوین و «ـ» برای کشش نویسههای چسبان
◦ مطابق با یک سری قاعده دقیق و مشخص ،فاصلهها و نیمفاصلههای موجود در متن برای وندهایی نظیر
◦ "ها"" ،تر" و "ی" غیرچسبان (در انتهای لغات)
◦ و همچنین پیشوندها و پسوندهای فعلساز نظیر "نمی"" ،می"" ،ام"" ،ایم"" ،اید".
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 21
تقطیع واژه و جملهSentence Splitter and Tokenizer ،
هدف :تشخیص جمالت در متن ورودی
◦ با مشخص سازی مرز جمالت و کلمات
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 22
تشخیصدهندهی لغات
هدف :با استفاده از عالمتهای فضای خالی “-” ،“,” ،“،” ،واحدهای با معنی مانند واژهها را شناسایی مینماید.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 23
حذف کلمات توقفStop Word Removal ،
هدف :حذف عالئم ،اعداد ،کلمات عمومی و بدون ارزش معنایی (مثل :از ،در ،با ،به ،است ،پس )… ،در جمله
◦ میتواند بدون از بین بردن معنا باعث بهبود دقت و سرعت الگوریتمهای متنکاوی شوند.
لیست کلمات توقف وابسته به کاربرد مورد نظر باید تهیه شود.
◦ مثال :کلمات “هست” و “نیست” برای دستهبندی موضوعی متن حائز اهمیت نیستند
◦ ولی در تحلیل حس ،میتوانند حس جمله را معکوس کنند!
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 24
ریشهیابی کلماتStemmer and Lemmatizer ،
هدف :ریشهیابی ،حذف پیشوند و پسوندهای کلمات و تعیین ریشه اصلی کلمه
معروفترین الگوریتم ریشه یابی در انگلیسی
◦ Porter
در روشهای ریشهیابی رایج ،بعد از حذف انواع وندها ممکن است معنای کلمه تغییر یابد.
ولی در Lemmatizerسعی در ریشهیابی بُن کلمه بدون تغییر مفهوم اصلی کلمه در جمله می باشد.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 25
بن واژه یابLemmatizer ،
سطوح مختلف
◦ مثال :کلمه دانشجویان
◦ سطح :1دانشجو
◦ سطح :۲دانش
◦ سطح :۳دان
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 26
تصحیحکننده خطاهای امالییSpell Correction ،
به ازای کلمات بدون مفهوم (که کلمه یا ریشهی آن در لیست کلمات رسمی یا محاورهای زبان فارسی وجود
ندارند) ،شبیهترین کلمه براساس تحلیلهای آماری و از نظر امالیی جایگزین آن خواهد شد.
معیار استفاده شده برای آستانه شباهت امالیی تبدیل کلمات
◦ جداسازی کلمات بهم چسبیده
◦ اصالح/تغییر تنها یک حرف با یکی از کاراکترهای مجاور آن در صفحه کلید استاندارد زبان فارسی
◦ اصالح حروف هم صدا از نظر تلفظ
◦ مثال :مانند حروف :س ،ص ،ث که همگی به صدای Sاشاره دارند.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 27
برچسبزنی ادات سخن یا نقش کلمات در جملهPOS Tagging ،
انتساب برچسبهای نحوی (از قبیل اسم ،انواع صفت ،انواع قید ،نوع فعل ،انواع حروف و …) به واژهها
◦ Part of Speech Tagging
نقش کلمات در جمالت از مهم ترین پیش پردازشهایی است که در Chunkerهم استفاده میشود.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 28
قطعهبند Chunkerیا پارسر کمعمق Shallow Parser
ابزاری برای تشخیص گروههای اسمی ،فعلی ،صفات و … .در یک جمله است.
برای مثال اولین دارنده مدال طالی المپیک یک عبارت اسمی است.
جهت تقویت ابزارهای سطح باالتر از قبیل
◦ پارسر،
◦ برچسبزن نقش معنایی
◦ و تشخیص موجودیتهای نامدار
الزم است نه تنها نقشهای کلمات مشخص گردند ،بلکه باید وابستگیهای کلمات مجاور هم به لحاظ
نقشی در جمله مشخص شوند .از اینرو به این ابزار پارسر سبک lightیا کم عمق Shallowمی گویند.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 29
تشخیص موجودیتهای نامدارNamed Entity Recognition ،
به این معناست که اسامی خاص در یک متن را بتوان تشخیص داد و آنها را به ردههای مشخصی دستهبندی کرد.
از قبیل اعم از
اسامی افراد، ◦
اماکن، ◦
سازمانها، ◦
مقادیر عددی و … ◦
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 30
شبکه واژگانWordNet ،
پایگاه داده لغوی شامل مجموعهای از لغات در قالب گروههای هممعنی و ارتباطات مختلف معنایی بین آنهاست.
ارتباطات معنایی در داخل این مجموعه شامل 1۶نوع رابطه میباشد.
این مجموعه به عنوان یک مرجع در بسیاری از پردازشهای زبانی برای توجه به معنای لغات استفاده می شود.
نمونه های انگلیسی
◦ Princeton WordNet
◦ EuroWordNet
نمونه های فارسی
◦ فارسنت (شهید بهشتی و مرکز تحقیقات مخابرات)
◦ فردوس نت ( دانشگاه فردوسی)
◦ شبکه واژگان (دانشگاه تهران)
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 31
کتابخانه NLTK: Natural Language Toolkit
یکی از جامعترین و قدیمیترین کتابخانههای پردازش زبان طبیعی در پایتون است
پایه و استانداردی برای کتابخانههای پردازش متن محسوب شده و برای کاربردهای پژوهشی فوقالعاده است.
دارای بیش از ۵۰مجموعه متن و ۹تکنیک مختلف برای ریشه یابی کلمات است.
یکی از ویژگیهای خوب این کتابخانه امکان اتصال به پیکرههای مختلف متنی است.
برای کار با این کتابخانه الزم است تا در ابتدا مجموعهای از متون را دانلود کنیم.
◦ این مجموعه متون که با نام Corpusنیز شناخته می شوند از طریق NLTKقابل دانلود هستند.
◦ یک Corpusکه صورت جمع آن Corporaاست مجموعه ای از داده های متنی است که در توصیف و تحلیل زبان کاربرد دارند
◦ حجم تمامی Corpusهای NLTKنزدیک به 11گیگابایت است.
منبع
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 32
کتابخانه Stanford’s CoreNLP
ابزار بسیار مناسب برای تحلیلهای دستوری برای زبان است.
این ابزار با زبان جاوا نوشته شده اما APIآن برای زبانهای مختلف از قبیل پایتون و سیشارپ موجود است.
چندزبانه بودن و تمرکز بر استخراج اطالعات باز از متن از ویژگیهای اصلی این ابزار است.
از زبان فارسی پشتیبانی می کند.
https://github.com/stanfordnlp/python-stanford-corenlp
https://nlp.stanford.edu/pubs/StanfordCoreNlp2014.pdf
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 33
کتابخانه SpaCy
با زبان پایتون برای متن کاوی تهیه شده و با اجرا روی Cythonبه سرعت مشهور است.
ارتباط خوبی با ابزارهای یادگیری ماشین و یادگیری عمیق از قبیل ذیل دارد.
Gensim ◦
Keras ◦
TensorFlow ◦
scikit-learn ◦
از زبان فارسی پشتیبانی نمی کند.
http://spacy.io/
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 34
مقایسه جالبی بین سرعت اجرای چهار کتابخانه مطرح
https://pdfs.semanticscholar.org/5930/efbf01efa8944258b1c0f7349111702f779e.pdf
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 35
مقایسه دقت در شناسایی کلمات و برچسبزنی نقش ادات سخن چهار کتابخانه مطرح
https://www.computer.org/csdl/proceedings/msr/2017/1544/00/07962368.pdf
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 36
کتابخانه TextBlob
یکی از ابزارهای بسیار کامل و راحت برای پردازش دادههای متنی در زبان پایتون است.
از قابلیت های NLTKو کتابخانه Patternاستفاده می کند و فرآیند تحلیل احساسات در آن بسیارساده است.
این کتابخانه شامل ابزارهای مختلف پردازش زبان طبیعی از قبیل
استخراج عبارات اسمی، ◦
بنواژهیابی، ◦
برچسبزنی نقش ادت سخن، ◦
پارسر (تجزیهگر) جمالت، ◦
تحلیل احساسات، ◦
دستهبندی (نایوبیز و درخت تصمیم)، ◦
ترجمه (بوسیله مترجم گوگل)، ◦
تصحیح اشتباهات امالیی، ◦
و اتصال به WordNetاست. ◦
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 37
کتابخانه StanfordNLP
یکی از جدیدترین کتابخانههای پردازش متن چندزبانه است که در 2018ایجاد شد.
پشتیبانی بیش از ۵۳زبان با استفاده از آموزش مدلهای یادگیری عمیق بوسیله PyTorchاست.
مدلهای یادگیری عمیق ابزارهای مختلف این کتابخانه ،براساس پیکره خانم دکتر سراجی ،برای زبان فارسی
نیز آموزش داده شده و در زبان فارسی نیز قابل استفاده هستند.
تصمیم جالب دانشگاه استنفورد این بود که برخالف کتابخانه Stanford CoreNLPکه با زبان جاوا نوشته
شده بود ،این کتابخانه کالً با زبان محبوب پایتون نوشته شده است.
از زبان فارسی پشتیبانی می کند.
https://stanfordnlp.github.io
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 38
کتابخانه Gensim
یکی از محبوبترین و بهترین ابزارهای مدلسازی موضوع و بازنمایی متن است و برای تشخیص شباهت متون
مختلف بسیار مناسب است.
◦ Topic Modeling
◦ Vector representation
در این کتابخانه اغلب روشهای مشهور در زبان پایتون پیادهسازی شده و به خوبی بروزرسانی و پشتیبانی میشوند
◦ Word embedding
◦ Word Representation
برای پیشپردازش متن بهتر است از کتابخانههای NLTK, SpaCyاستفاده کنید.
برای تحلیلهای بَعدی مانند استخراج کلمات کلیدی یا موضوعات درون متن از Gensimاستفاده نمایید.
https://radimrehurek.com/gensim/index.html
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 39
کتابخانه SparkNLP
برای استفاده از ماژولهای کاربردی پردازش متن روی بستر Sparkو کتابخانه Spark MLتوسعه یافته است
برای استفاده در زبانهای متنوع و با هدف محاسبات مقیاسپذیر برای بیگ دیتا بصورت توزیع شده ،ایجاد شده است.
◦ Python
◦ Java
◦ Scala
اغلب امکانات این کتابخانه بصورت رایگان در اختیار پژوهشگران قرار داده شده است
و تنها امکانات بخش یادگیری عمیق و ارتباط با Tensorflowبصورت تجاری میسر است.
nlp.johnsnowlabs.com/quickstart.html
github.com/JohnSnowLabs/spark-nlp/blob/2.0.0/python/example/vivekn-sentiment/sentiment.ipynb
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 40
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 41
مقایسه دقت SpaCyو SparkNLPبرای برچسبزنی نقش کلمات در جمله برای زبان انگلیسی
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 42
مقایسه کارایی SpaCyو SparkNLPدر آموزش مدل یادگیر برای برچسبزنی نقش کلمات
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 43
FastText کتابخانه
Text Classification وWord Embedding کتابخانه ای به منظور یادگیری
. ساخته شده استFacebook's AI Research (FAIR) ◦ توسط آزمایشگاه
به منظور دریافت بازنمایی بُرداری کلماتUnSupervised وSupervised امکان ساخت الگوریتم های
. زبان در دسترس است۲۹4 برایFastText شدهPretrain ◦ در حال حاضر مدل های
. استفاده می کندWord Embedding این کتابخانه از یک شبکه عصبی به منظور
. مقاله پژوهشی است۲ بر اساس اینFastText الگوریتم
◦ Enriching Word Vectors with Subword Information , Piotr Bojanowski, Edouard Grave, Armand Joulin
and Tomas Mikolov, 2016
◦ Bag of Tricks for Efficient Text Classification, Armand Joulin, Edouard Grave, Piotr Bojanowski, Tomas
Mikolov, 2016
محمد حیدری، دانشگاه صنعتی امیرکبیر،دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی 44
دسته بند متن
دسته بند متن ،امکان دستهبندی خودکار و هوشمند متن را در دسته های دلخواه فراهم میکند.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 45
خالصه ساز
خالصهساز ،بخشهای مهم متنهای طوالنی را تشخیص می دهد و متن خالصه شده را ارائه می کند.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 46
تعبیه سازی کلمات یا Words Embeddings
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 47
تعبیه سازی کلمات یا Words Embeddings
برای بسیاری از روشهای پردازش متن ،نیاز به نمایش عددی کلمات و متون داریم تا بتوانیم از انواع روشهای
عددی حوزه یادگیری ماشین مانند اکثر الگوریتم های دسته بندی روی لغات و اسناد استفاده کنیم.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 48
تعبیه سازی کلمات یا Words Embeddings
روش Bag of Wordsیا صندوقچه کلمات
◦ برای هر لغت در صندوقچه یا بردار ما ،مکانی درنظر گرفته شده است
مثال
◦ Sentence 1: The cat sat on the hat
◦ Sentence 2: The dog ate the cat and the hat
◦ برای این دو جمله فرهنگ لغت ما عبارت خواهد بود از :
} ◦ { the, cat, sat, on, hat, dog, ate, and
◦ نمایش صندوقچه کلمات این دو جمله:
} ◦ Sentence 1: { 2, 1, 1, 1, 1, 0, 0, 0
}◦ Sentence 2: { 3, 1, 0, 0, 1, 1, 1, 1
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 49
تعبیه سازی کلمات یا Words Embeddings
◦ باوجودسادگیاینروش،امامعایببزرگیدارد.
◦ مثالًاگرفرهنگلغتماصدهزارلغتداشتهباشد،بهازایهرمتنمابایدبرداریصدهزارتایی ذخیرهکنیم
◦ کههمنیازبهفضای ذخیره سازی زیادیخواهیمداشت
◦ وهمپیچیدگی الگوریتم ها و زمان اجرای آنهارابسیارباالمیبرد.
◦ درایننحوهمدلسازی،فقطکلماتوتکرارآنهابرایمامهمبودهاستوترتیبکلماتیازمینهمتن
(اقتصادی،علمی،سیاسیو…)تاثیریدرمدلمانخواهدداشت(واینضعفاست)
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 50
الگوریتم Word2Vec
◦ روش Word2Vec
◦ روشیبسیارکارآمدومناسببراینمایشلغاتومتونوپردازشآنها
◦ نمایشبرداریکلمات کهمیتوانددربسیاریازکاربردهاینوینپردازشمتنمانندسنجشاحساسات،
جستجویمتونمشابهیاپیشنهاداخباریاکاالیمشابهاستفادهشود.
◦ دراینروشبهکمکشبکهعصبییکبرداربااندازهکوچکوثابتبراینمایشتماملغات ومتوندر
نظرگرفتهشدهوبااعدادمناسبدرفازآموزشمدل،برایهرلغتاینبردارمحاسبهمیشود.
◦ اگراینبرداررا 4۰۰تاییفرضکنید،یکفضای 4۰۰بعدیخواهیمداشتکههرلغتدراینفضایک
نمایشمنحصربفردخواهدداشت.
◦ برایافزایشدقتاینروش،مجموعهدادهاولیهکهبرایآموزشمدلموردنیازاست،بایدحدودچند
میلیاردلغتراکهدرونچندینمیلیونسندیامتنبهکاررفتهاند،دربرگیرد.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 51
الگوریتم Word2Vec
محاسبه وکتور هر کلمه پس از اعمال مدل روی کلمات محاسبه وکتور جمله با احتساب میانگین کلمات جمله
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 52
مقایسه این الگوریتم با دو رهیافت مختلف ،از لحاظ حجم داده ها ،زمان الزم برای ایجاد بردارها ،دقت و ابعاد بردارها
در این جدول ،روش Word2Vecبا دو الگوریتم ایجاد بردار CBOWو Skip-gramبا
روشهای مدلسازی زبانی با شبکه عصبی یا NNLMمقایسه و ارزیابی شده است.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 53
الگوریتم Word2Vec
این روش که الگوریتم آن به صورت متن باز نیز منتشر شده است و کتابخانه های مختلفی برای زبانهای مختلف
برای کار با آن تولید شده است ،زمانی که توسط گوگل بر روی حجم باالی متون و اطالعات به کار رفته است ،
نتایج بسیار شگرفی را به همراه داده است .
امکان جمع و تفریق جبری روی کلمات
◦ مثال اگر بردار لغت پادشاه را منهای بردار لغت مرد کنیم ،
نتیجه به بردار کلمه ملکه بسیار نزدیک است.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 54
مثالهایی از روابط تولید شده توسط این الگوریتم
است به ایتالیا فرانسه به پاریس مثل ؟
شباهت ویندوز به مایکروسافت مثل شباهت ؟ است به گوگل
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 55
Skip-gram
این روش برعکس این روش کار می کند به این صورت که بر اساس یک لغت داده شده ،می خواهد چند لغت
قبل و بعد آنرا تشخیص دهد و با تغییر مداوم اعداد بردارهای لغات ،نهایتا به یک وضعیت باثبات می رسد که
همان بردارهای مورد بحث ماست.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 56
روش های CBOW, Skip-Gram
این دو روش که هر دو یک شبکه عصبی ساده هستند که بدون وجود الیه پنهانی که در اغلب روشهای شبکه
عصبی وجود دارد ،به کمک چند قانون ساده ،بردارهای مورد نیاز را تولید می کنند.
در روش کیف لغات پیوسته ،ابتدا به ازای هر لغت یک بردار با طول مشخص و با اعداد تصادفی (بین صفر و
یک) تولید می شود.
سپس به ازای هر کلمه از یک سند یا متن ،تعدادی مشخص از کلمات بعد و قبل آنرا به شبکه عصبی می دهیم (به
غیر از خود لغت فعلی) و با عملیات ساده ریاضی ،بردار لغت فعلی را تولید می کنیم (یا به عبارتی از روی کلمات
قبل و بعد یک لغت ،آنرا حدس می زنیم) که این اعداد با مقادیر قبلی بردار لغت جایگزین می شوند.
زمانی که این کار بر روی تمام لغات در تمام متون انجام گیرد ،بردارهای نهایی لغات همان بردارهای مطلوب ما
هستند.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 57
پیاده سازی در Gensim
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 58
آشنایی با TensorFlow
یک کتابخانه رایگان و متن باز به منظور پیاده سازی الگوریتم های یادگیری ماشین
◦ برای
◦ دسک تاپ ،موبایل ،وب و ابر
◦ را برای مبتدیان و متخصصان آسان می کند
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 59
کتب مفید
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 60
تفسیر و ارزیابی خروجی متن کاوی
تشکیل Confusion Matrix
معیار :Accuracyدقت به این معناست که مدل تا چه اندازه خروجی را درست پیشبینی میکند
معیار :Precisionوقتی که مدل نتیجه را مثبت پیشبینی میکند ،این نتیجه تا چه اندازه درست است
معیار :Recallزمانی که ارزش False Negativesباال باشد ،معیار ،Recallمعیار مناسبی خواهد بود.
معیار :F1یک معیار مناسب برای ارزیابی دقت یک آزمایش است.
◦ این معیار Precisionو Recallرا با هم در نظر میگیرد.
◦ معیار F1در بهترین حالت ،یک و در بدترین حالت صفر است.
دومین دوره مجموعه سخنرانی های علم داده و هوش مصنوعی ،دانشگاه صنعتی امیرکبیر ،محمد حیدری 61