ارائه استخراج اطلاعات متنی با رویکرد یادگیری ژرف | دانشگاه صنعتی امیرکبیر

جلسه هفتم سمینارهای ماهانه یادگیری عمیق در پردازش زبان طبیعی دوشنبه آینده، ۱ آبان، ساعت ۱۲:۱۵ در آمفی تئاتر دانشکده مهندسی کامپیوتر برگزار خواهد شد. در این جلسه آقای یعقوب‌زاده فارغ‌التحصیل دانشگاه مونیخ در مورد موضوع پایان‌نامه دکترای خود با عنوان زیر ارائه سخنرانی خواهند داشت
Deep Learning for Information Extraction

 

دانلود ویس جلسه

 

دانلود فایل ارایه

 

جهت اطلاعات بیشتر از برنامه ارائه‌های انجام شده و ارائه‌های آیتی می‌توانید به لینک زیر مراجعه نمایید
http://nlp.ceit.aut.ac.ir/seminars.html

آموزش کار با ابزارهای پردازش زبان طبیعی (نسخه متنی – کار در لینوکس)

برای کار با ابزارهای پردازش زبان طبیعی همچون NLTK و هضم بر آن شدیم تا یک یادداشت اختصاصی برای مخاطبان خود داشته باشیم. در این یادداشت سعی میشود مطالبی خلاصه اما کاربردی بیان گردد. همه مطالبی که بیان میگردد تقریبا مثل موارد آموزش داده شده در فیلم آموزش موجود در لینک است. اما نکته اصلی که وجود دارد این است که در فیلم مذکور، با Anaconda کار پیگیری شد و این بیشتر بدرد فضای آموزشی میخورد. در فضای عملی که بخواهید یک پروژه بنویسید و یا یک نسخه release به مشتری بدهید، نیاز است تا یک خورده اصولی تر به بحث نگاه کنید. لذا در اینجا ما با پایتون خام (pure) کار را پی میگیریم…

تقریبا همه کارهایمان را در دایرکتوری ذیل انجام میدهیم:

 

گام اول :

برای انجام پروژه های مختلف پیشنهاد میشود تا با استفاده از virtualenv کار ها را اختصاصی و در فضای ایزوله مختص هر پروژه پیش ببرید. آموزش مربوط به virtualenv در یک یادداشت اختصاصی در لینک آمده است. خلاصه آنها در ذیل آمده است:

برای فعالسازی در دفعات بعدی :

 

گام دوم:

در این گام قرار است تا یک بستر و محیطی برای مشاهده کارها و فعالیت های کدنویسی پایتونی را آماده کنیم. شما میتوانید از IDEهای خوبی که با یک جستجو ساده در محیط نت هم پیدا میکنید کار کنید. IntelliJ، Spyder و همچنین Ipython از محیط های خوب برای کدنویسی هستند (همانطور که گفتم ابزارها زیاد هستند مثلا sublime و … اما نکته اصلی بحث راحتی شماست که با کدام راحت هستید). پیشنهاد ما استفاده از Ipython برای بارهای اول است. این یک محیط تعاملیست که طبق آن میتوانید خیلی جالب و راحت کارهایتان را پی بگیرید.

برای نصب ipython در محیط ایزوله خودتان کافیست پس از ایجاد یک محیط ایزوله و فعال کردن آن (در آموزش این لینک قبلا توضیح داده شده است)، کد ذیل را در محیط فعال ایزوله تان در terminal وارد کنید:

همچنین برای بهتر کار کردن یک «نوت بوک» هم نصب کنید که بتوانید از امکانات خوب Jupeter که با Ipython نیز در ارتباط است، استفاده کنید.

پس از نصب کامل، همه چیز فراهم شده و کافیست از طریق کامند به پوشه پروژه های مورد نظر بروید. مثلا در اینجا من با این فرض ادامه میدهم که در دایرکتوری خودم یک پوشه با نام nlpta دارم و سپس در درون این پوشه قبلا در یک زیرپوشه ای به نام ev هست که قبلا سعی میکردم گام یک که بحث virtualenv ها بود را در آنجا ایجاد کنم. اینک در این پوشه نیز یک پوشه با نام prj اینک میسازم و بحث های مربوط به پروژه های مرتبط با پردازش زبان طبیعی ام را در اینجا انجام میدهم. پس طبق کد ذیل جلو میروم:

حال ما در پوشه prj قرار داریم. کافیست در اینجا یک زیر پروژه ایجاد کنیم مثلا پروژه شماره یک:

حال در اینجا کافیست یک «نوت بوک» را ایجاد کنیم و کار کنیم. برای اینکار کافیست کد ذیل را بزنید:

سپس چند لحظه صبر کنید. سپس متوجه میشوید که یک آدرس به نشانی مثلا ۱۲۷٫۰٫۰٫۱:۸۸۸۸ برای شما آماده کرده تا از آن استفاده نمایید. اگر به طور اتوماتیک مرورگر باز نشد کافیست شما این آدرس را در مرورگر خود وارد کنید. وقتی که باز کردید دقیقا این فضایی که مشاهده میکنید فضای Jupeter است که محیط Ipython را در یک فضای گرافیکی همراه با قابلیت ایجاد نوت های مختلف آماده کرده است. سپس شما کافیست از قسمت راست بالا، روی New کلیک کنید و روی بخش notebook و نسخه پایتون آن نوت تان را انتخاب کنید. مثلا ما از بخش notebook نسخه پایتون۳ را انتخاب میکنیم. سپس یک محیط «نوت بوک» برای یادداشت موارد پایتونی ما آماده میکند. خب تقریبا همه چیز محیا شده تا به گام بعدی برویم…

لازم به ذکر است که در این محیط برای اجرا کافیست CTRL سپس Enter را در هر سلول(هر کادری که در آن مینویسید یک سلول است) فشار دهید.

گام سوم:

پس از گذراندن گام دوم، میبایست NLTK را نصب کنید.

برای نصب NLTK طبق آموزش لینک پیش روید. یعنی درواقع همانطور که قبلا نیز بیان شده کار خاصی ندارد کافیست شما طبق داکیومنت موجود در سایت رسمی nltk.org پی بگیریدو پیشروید (ما دقیقا همانند کدهایی که در سایت رسمی برای تست در صفحه اصلی آن رفته ادامه هم برایتان آورده ایم) :

سپس برای تست nltk کافیست کدهای ذیل را در «نوت بوک» تان وارد کنید:

خب در قسمت کد بالا در ابتدا ما nltk را import کردیم و سپس یک رشته با یک مقدار را آماده کردیم. در گام بعدی قرار است ما با استفاده از یک توکنایزر آن را توکن توکن کنیم. لذا داریم :

احتمال دارد با زدن دستور بالا به خطا برخورد کنید و دلیل آن عموما این است که nltk شما احتمالا توکنایزر ندارد. لذا نیاز است تا طبق کامند ذیل آن را از بخش module پیدا و سپس ماژول های مورد نظر مثلا توکنایزر پنتریبنک را نصب کنید.

در حین نصب احتمال دارد به خاطر بحث های فیلترینگ نیاز به یک سری ابزارها ( ابزارهای عبور فیلترینگ 🙂 ) داشته باشید تا بتوانید آن را به راحتی نصب کنید. پس از اینکه نصب کردید کافیست مجددا کد مذکور (کد تولید توکن) را اجرا کنید.

اگر بخواهیم خروجی توکن های تولیدی را مشاهده کنیم کافیست با دستور print پایتون این کار را بکنیم. اما نکته ای که وجود دارد این است که ما میتوانیم این کار را در محیط Ipython بدون print هم انجام دهیم. ولی چون بعدها احتمال دارد بخواهید آنها را export بگیرید و در محیط های دیگری اجرا کنید پیشنهاد میشود از همان دستور printاستفاده کنید. لذا داریم :

خب به همین راحتی تست nltk هم به اتمام رسید.

گام چهارم:

پس از گذراندن گام سوم، برای کار با ابزارها و زبان فارسی میبایست هضم را نصب کنید.

برای نصب هضم طبق آموزش لینک پیش روید. یعنی درواقع همانطور که قبلا نیز بیان شده کار خاصی ندارد کافیست شما طبق داکیومنت موجود در سایت رسمی www.sobhe.ir/hazm پی بگیریدو پیشروید (ما دقیقا همانند کدهایی که در سایت رسمی برای تست در صفحه اصلی آن رفته ادامه هم برایتان آورده ایم) :

سپس برای تست هضم کافیست کدهای ذیل را در «نوت بوک» تان وارد کنید:

خب در قسمت کد بالا در ابتدا یک سری موارد که برای بحث های یونیکد و فارسی نیاز بوده اضافه کردیم سپس همه توابعی که از هضم داشته توسط * import کردیم. سپس یک رشته با یک مقدار را آماده کردیم. در گام بعدی قرار است ما با استفاده از یک توکنایزر آن را توکن توکن کنیم. لذا داریم :

خروجی آن نیز به صورت ذیل است:

 

موفق و موید باشید/.

بررسی پیکره ها و ابزارهای پردازش زبان فارسی


در این پژوهش ابزارهای پردازش زبان فارسی مورد بررسی قرار گرفته اند. در فصل اول این پژوهش بحث مترجم های ماشینی انگلیسی-فارسی موجود و توسعه یافته در کشور تا سال ۱۳۹۴ از جنبه های کیفیت رده بندی شده اند. در فصل دوم به بررسی ابزارهای خطایاب و یکسان ساز فارسی پرداخته شده است. در فصل سوم به بحث پیکره های دوزبانه و تک زبانه فارسی- انگلیسی موجود پرداخته شده است. همچنین بحث ابزارهای تبدیل متن به گفتار و همچنین ابزارهای وردنت موجود درزبان فارسی موجود در جهان نیز تشریح شده است.
در انتهای هر فصل نیز شاخص های ارزیابی هر یک ابزارها و سرویس ها پرداخته شده است.

برخی منابع درس پردازش زبان طبیعی دانشگاه های مطرح

پردازش زبان طبیعی به عنوان یکی از شاخه های مهم فناوری هوش مصنوعی, سعی در تحلیل متنی را دارد که از طریق منابع مختلف اطلاعاتی دریافت شده است. با توجه به بالا بودن کاربرد آن در نتایج خیلی از مسائل, نیاز است تا به آن با اهتمام بیشتری پرداخته شود.

در دانشگاه های مختلف مطرح دنیا نیز این درس ارائه میگردد که در ادامه برخی از آنها به همراه منابع درسی (اسلاید و نوت) شان ارائه میشود:

 

دانشگاه استنفورد

درس cs224d یکی از دروس مطرح در حوزه پردازش زبان طبیعی و نیز استفاده از رویکرد یادگیری ژرف در استنفورد بوده است. منابع اطلاعاتی آن در لینک صفحه اصلی این درس به نشانی http://web.stanford.edu/class/cs224n قرار گرفته است. همچنین برای مشاهده فیلم های درسی این دوره به https://mvideox.stanford.edu/Course/848 مراجعه کنید.

سرفصل های درسی آن به صورت ذیل است :

نوع رویداد تاریخ ارائه توضیحات محتویات درسی
جلسه درس Jan 10 معرفی پردازش زبان طبیعی و همچنین یادگیری ژرف

Introduction to NLP and Deep Learning

منابع پیشنهادی مطالعه

  1. [Linear Algebra Review]
  2. [Probability Review]
  3. [Convex Optimization Review]
  4. [More Optimization (SGD) Review]

[python tutorial]
[slides]
[Lecture Notes 1]

جلسه درس Jan 12 بازنمایی وکتوری کلمات و توضیح در خصوص Word2Vec

Word Vector Representations: word2vec

Suggested Readings:

  1. [Word2Vec Tutorial – The Skip-Gram Model]
  2. [Distributed Representations of Words and Phrases and their Compositionality]
  3. [Efficient Estimation of Word Representations in Vector Space]

[slides]
Spotlight: [slides] [paper]

تمرین یک Jan 12 Assignment #1 released [Assignment 1][Written solution]
جلسه درس Jan 17 Advanced Word Vector Representations Suggested Readings:

  1. [GloVe: Global Vectors for Word Representation]
  2. [Improving Distributional Similarity with Lessons Learned fromWord Embeddings]
  3. [Evaluation methods for unsupervised word embeddings]

[slides]
[Lecture Notes 2]
Spotlight: [slides] [paper]

جلسه درس Jan 19 Word Window Classification and Neural Networks Suggested Readings:

  1. cs231n notes on [backprop] and [network architectures]
  2. [Review of differential calculus]
  3. [Natural Language Processing (almost) from Scratch]
  4. [Learning Representations by Backpropogating Errors]

[slides]
[Lecture Notes 3]

جلسه درس Jan 24 Backpropagation and Project Advice Suggested Readings:

  1. [Vector, Matrix, and Tensor Derivatives]
  2. Section 4 of [A Primer on Neural Network Models for Natural Language Processing]

[slides]
Spotlight: [slides] [paper]

جلسه درس Jan 26 Dependency Parsing Suggested Readings:

  1. Joakim Nivre. 2004. Incrementality in Deterministic Dependency Parsing. Workshop on Incremental Parsing.
  2. Danqi Chen and Christopher D. Manning. 2014. A Fast and Accurate Dependency Parser using Neural Networks. EMNLP 2014.
  3. Sandra Kübler, Ryan McDonald, Joakim Nivre. 2009. Dependency Parsing. Morgan and Claypool. [Free access from Stanford campus, only!]
  4. Daniel Andor, Chris Alberti, David Weiss, Aliaksei Severyn, Alessandro Presta, Kuzman Ganchev, Slav Petrov, and Michael Collins. 2016. Globally Normalized Transition-Based Neural Networks. ACL 2016.
  5. Marie-Catherine de Marneffe, Timothy Dozat, Natalia Silveira, Katri Haverinen, Filip Ginter, Joakim Nivre, and Christopher D. Manning. 2014. Universal Stanford Dependencies: A cross-linguistic typology. Proceedings of the Ninth International Conference on Language Resources and Evaluation (LREC-2014). Revised version for UD v1.
  6. Universal Dependencies website

[slides]
[Lecture Notes 4]
Spotlight: [slides] [paper]

مهلت تمرین یک Jan 26 Assignment #1 due
تمرین دوم Jan 26 Assignment #2 released [Assignment 2][Written solution]
جلسه درس Jan 31 Introduction to TensorFlow Suggested Readings:

  1. [TensorFlow Basic Usage]

[slides]
[Lecture Notes Tensorflow]
Spotlight: [slides] [paper]

جلسه درس Feb 2 Recurrent Neural Networks and Language Models [slides]
[vanishing grad example] [vanishing grad notebook]
Spotlight: [slides] [paper]
جلسه درس Feb 7 Machine translation and advanced recurrent LSTMs and GRUs [slides]
[Lecture Notes 5]
Spotlight: [slides] [paper 1] [paper 2] [paper 3]
مرور Feb 9 Midterm Review [slides]
پروپوزال پروژه Feb 9 Final project proposal due [Project page]
پایان مهلت تمرین دوم Feb 9 Assignment #2 due
تمرین سوم Feb 13 Assignment #3 released [Assignment 3][Written solution]
میانترم Feb 14 In-class midterm [Gradient Computation Notes]
Practice midterms: [Midterm 1] [Midterm 2] [Midterm 1 Solutions] [Midterm 2 Solutions]
جلسه درس Feb 16 Neural Machine Translation and Models with Attention Suggested Readings:

  1. [Sequence to Sequence Learning with Neural Networks]
  2. [Neural Machine Translation by Jointly Learning to Align and Translate]
  3. [Effective Approaches to Attention-based Neural Machine Translation]

[slides]
Spotlight: [slides] [paper]

جلسه درس Feb 21 Gated recurrent units and further topics in NMT Suggested Readings:

  1. [On Using Very Large Target Vocabulary for Neural Machine Translation]
  2. [Pointing the Unknown Words]
  3. [Neural Machine Translation of Rare Words with Subword Units]
  4. [Achieving Open Vocabulary Neural Machine Translation with Hybrid Word-Character Models]

[slides]
[Lecture Notes 6]
Spotlight: [slides] [paper]

جلسه درس Feb 23 End-to-end models for Speech Processing [slides]
پایان مهلت تمرین سوم Feb 25 Assignment #3 due
تمرین چهارم Feb 25 Assignment #4 released Default final project [Assignment 4]
جلسه درس Feb 28 Convolutional Neural Networks Suggested Readings:

  1. [A Convolutional Neural Network for Modelling Sentences]
  2. [Convolutional Neural Networks for Sentence Classification]

[slides]
Spotlight: [slides] [paper]

جلسه درس Mar 2 Tree Recursive Neural Networks and Constituency Parsing Suggested Readings:

  1. [Parsing with Compositional Vector Grammars]
  2. [Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank]
  3. [Improved Semantic Representations From Tree-Structured Long Short-Term Memory Networks]

[slides]
[Lecture Notes 7]
Spotlight: [slides] [paper]

جلسه درس Mar 7 Coreference Resolution Suggested Readings:

  1. [Easy Victories and Uphill Battles in Coreference Resolution]
  2. [Deep Reinforcement Learning for Mention-Ranking Coreference Models]

[slides]

جلسه درس Mar 9 Dynamic Neural Networks for Question Answering [slides]
[Lecture Notes 8]
Spotlight: [slides] [paper]
جلسه درس Mar 14 Issues in NLP and Possible Architectures for NLP [slides]
Spotlight: [slides] [paper]
جلسه درس Mar 16 Tackling the Limits of Deep Learning for NLP [slides]
Spotlight: [slides] [paper 1] [paper 2]
پایان مهلت تمرین جهارم و شروع پروژه پایانی Mar 17 Final course project / Assignment #4 due
ارائه پروژه Mar 21 Final project poster presentations ۱۲:۱۵-۳:۱۵, Lathrop Library Second Floor
[Piazza Post on Logistics] [Facebook Event]

 

 

 


دانشگاه میشیگان + سامانه درس آنلاین کورسرا

یکی دیگر از منابع مفید برای فراگیری درس پردازش زبان طبیعی, یکی از دوره های آموزش آنلاین و رایگان پردازش زبان طبیعی در سایت رسمی کورسرا است. برای ثبتنام در این درس از آدرس ذیل اقدام نمایید.

https://www.coursera.org/learn/natural-language-processing

منابع مطالعاتی ارائه این درس:

هفته اول Week One (Introduction 1/2) ( به مدت ۱:۳۵:۳۱)

هفته دوم  Week Two (Introduction 2/2) ( به مدت ۱:۳۶:۲۶)

هفته سومWeek Three (NLP Tasks and Text Similarity) ( به مدت ۱:۴۲:۵۲)

هفته چهارم Week Four (Syntax and Parsing, Part 1) ( به مدت ۱:۴۸:۱۴)

هفته پنجم Week Five (Syntax and Parsing, Part 2) ( به مدت ۱:۵۰:۲۹)

هفته ششم Week Six (Language Modeling and Word Sense Disambiguation) ( به مدت ۱:۴۰:۳۳)

هفته هفتم Week Seven (Part of Speech Tagging and Information Extraction) ( به مدت ۱:۳۳:۲۱)

هفته هشتم Week Eight (Question Answering) ( به مدت ۱:۱۶:۵۹)

هفته نهم Week Nine (Text Summarization) ( به مدت ۱:۳۳:۵۵)

هفته دهم Week Ten (Collocations and Information Retrieval) ( به مدت ۱:۲۹:۴۰)

هفته یازدهم Week Eleven (Sentiment Analysis and Semantics) ( به مدت ۱:۰۹:۳۸)

هفته دوازدهم Week Twelve (Discourse, Machine Translation, and Generation) ( به مدت ۱:۳۰:۵۷)


دانشگاه ایلینویز

گروه پردازش زبان طبیعی دانشگاه ایلینویز یکی از گروه های فعال در این حوزه است. همچنین آنها دروس مختلفی را برای بحث پردازش زبان طبیعی ارائه کردند که در آدرس http://nlp.cs.illinois.edu مواردی از آنها مطرح شده است. در بخش https://courses.engr.illinois.edu/cs498jh/syllabus.html میتوانید یکی از دروس فعال آن را مشاهده کنید.

منابع مطالعاتی این دوره نیز به صورت ذیل است :

هفته های درسی تاریخ ارائه فصل بندی درسی موضوع جلسه درسی
۰۱ ۰۸/۲۹ ۰۱ Introduction ۱up 4up HW0 out
What is NLP? What will you learn in this class?
Required reading: Ch.1
Optional reading: Python tutorial (sec. 1-4) or Google’s Python class, Jelinek (2009), Ferrucci et al. (2010)
Links: NLTK
۰۱ ۰۸/۳۱ ۰۲ N-gram language models ۱up 4up
The most basic probabilistic models of language. Also: review of basic probability, finite state automata
Required reading: Ch. 4.1-4
Optional reading: MS, Ch. 2
۰۲ ۰۹/۰۵ ۰۳ Smoothing ۱up 4up MP1 (language modeling) out (pdf, data)
How can we predict what we haven’t seen before?
Required reading: Ch.4.1-3, 4.5-7, 4.5.9.1
Optional reading: MS, Ch. 6, Chen and Goodman (1998)
۰۲ ۰۹/۰۷ ۰۴ Evaluating language models ۱up 4up First 4th-credit hour assignment out
Perplexity, cross-entropy etc.
Required reading: 4.4, 4.10
Optional reading: M &s; S, Ch. 14.1, Brown et al. (1992b)
۰۳ ۰۹/۱۲ ۰۵ Finite-state methods for morphology ۱up 4up
How is the structure of words, and how can we model it? Finite-state transducers
Required reading: Ch.3.1-7;
Optional reading: Karttunen and Beesley ’05, Mohri (1997), the Porter stemmer, Sproat et al. (1996)
۰۳ ۰۹/۱۴ ۰۶ Part-of-speech tagging with Hidden Markov Models ۱up 4up
What are parts of speech? How many are there? Definition of HMMs
Required reading: Ch. 5.1-5
Optional reading: Merialdo (1994), Christodoulopoulos et al. (2010), Roche & Schabes (1995)
۰۴ ۰۹/۱۹ ۰۷ Algorithms for Hidden Markov Models ۱up 4up
How can we learn and apply HMMs? Viterbi, Forward, Forward-backwardf
Required reading: Ch. 6.1-5
Optional reading: MS, Ch. 9
۰۴ ۰۹/۲۱ ۰۸ Shallow parsing ۱up 4up
Chunking, sequence labeling with discriminative models
Required reading: Ch. 6.6-8
Optional reading: Sutton & McCallum (2008) (introduction to Conditional Random Fields), Berger et al. (1996), Etzioni et al. (2008) (web-scale information extraction)
۰۵ ۰۹/۲۶ ۰۹ Formal grammars for English ۱up 4up MP1 due; MP2 (tagging) out (data: data)
What is the structure of sentences, and how can we model it? Phrase-structure grammar and dependency grammar. Review of basic English grammar and context-free grammars
Required reading: Ch. 12.1-3, Ch. 12.7
Optional reading: MS, Ch. 3, Woods (2010)
۰۵ ۰۹/۲۸ ۱۰ Probabilistic context-free grammars ۱up 4up Second 4th-credit hour assignment out
How can we represent and deal with syntactic ambiguity?
Required reading: Ch. 13.1-4, Ch. 14.1
Optional reading: Chi (1999)
۰۶ ۱۰/۰۳ ۱۱ Statistical parsing with (P)CFGs ۱up 4up
Algorithms for learning and parsing with PCFGs
Required reading: Ch. 14.1-3
Optional reading: Collins’ notes, Schabes et al. (1993), Schabes & Pereira (1992), Stolcke (1995)
۰۶ ۱۰/۰۵ ۱۲ More on statistical parsing ۱up 4up
Going beyond simple PCFGs; Penn Treebank parsing
Required reading: Ch. 14.4-7, Ch. 12.4
Optional reading: Marcus et al. (1993), Collins (1997), Johnson (1998), Klein & Manning (2003), Petrov & Klein (2007), Hindle & Rooth
۰۷ ۱۰/۱۰ ۱۳ Review for Midterm ۱up 4up
۰۷ ۱۰/۱۲ ۱۴ Midterm
Good luck!
۰۸ ۱۰/۱۷ ۱۵ Shift-reduce parsing ۱up 4up MP2 due.
Deterministic parsing
Required reading: McDonald & Nivre (2007)
Optional reading: Nivre & Scholz (2004), Kubler et al. (2009), Nivre (2010), McDonald & Nivre (2011)
۰۸ ۱۰/۱۹ ۱۶ Feature structure grammars ۱up 4up
Feature structures and unification
Required reading: Ch. 15.1-4
Optional reading: Abney (1997), Miyao & Tsujii (2008)
۰۹ ۱۰/۲۴ ۱۷ Expressive Grammars ۱up 4up
Mildly context-sensitive grammars: Tree-adjoining grammar, Combinatory Categorial Grammar
Required reading: Ch. 16.1, Ch.16.3
Optional reading: Joshi and Schabes (1997), Steedman & Baldridge (2011), Schabes & Shieber, Schabes & Waters (1995), Bangalore & Joshi (1999), Hockenmaier & Steedman (2007), Clark & Curran (2007)
۰۹ ۱۰/۲۶ ۱۸ Lexical Semantics ۱up 4up
What is the meaning of a word, and how can we represent it?
Required reading: Ch. 19.1-4
Optional reading: Palmer et al. (2005), Gildea & Jurafsky (2002), Punyakanok et al. (2008)
Links: WordNet
۱۰ ۱۰/۳۱ ۱۹ Word Sense Disambiguation ۱up 4up MP3 (parsing) out (data here)
How do we guess what is meant by the plant next to the bank, and where to find it?
Required reading: Ch.20.1-5
Optional reading: Yarowsky (1995), Abney (2004)
۱۰ ۱۱/۰۲ ۲۰ Distributional Similarity ۱up 4up Third 4th-credit hour assignment out
“You shall know a word by the company it keeps” (Firth, 1957)
Required reading: Ch. 20.7
Optional reading: Schutze (1998)
۱۱ ۱۱/۰۷ ۲۱ Introduction to machine translation ۱up 4up
Why is MT difficult? Non-statistical approaches to MT (Vauquois triangle); Noisy channel model
Required reading: Ch. 25.1-4
Optional reading: Brown et al. (1990), Weaver (1949), Lopez (2008), and the MT archive
۱۱ ۱۱/۰۹ ۲۲ Word alignment ۱up 4up
The prerequisite for building a translation model
Required reading: Ch. 25.5-6
Optional reading: Brown et al. (1993)
۱۲ ۱۱/۱۴ ۲۳ Phrase-based machine translation ۱up 4up
Training and using a statistical MT system
Required reading: Ch. 25.4, 25.7-9
Optional reading: Koehn et al., Och & Ney (2004), Wu (1997) Chiang (2007)
Links: www.statmt.org
۱۲ ۱۱/۱۶ ۲۴ Topic models ۱up 4up MP3 due.
Latent Dirichlet Allocation, Bayesian vs. frequentist modeling, conjugate priors
Required reading: Blei (2012)
Optional reading: Blei et al. (2003), Blei & /Lafferty (2009), Blei (2011), Griffiths & Steyvers (2004)
۱۳ ۱۱/۲۸ ۲۵ Compositional Semantics ۱up 4up MP4 (MT) out (data),
What is the meaning of a sentence, and how can we represent it? Basic predicate logic and lambda calculus Fourth 4th-credit hour assignment out
Required reading: Ch. 17.2-3
Optional reading: Blackburn & Bos (2003)
Links: Penn Lambda Calculator
۱۳ ۱۱/۳۰ ۲۶ Reference resolution ۱up 4up
Referring expressions, anaphora resolution, coreference
Required reading: Ch. 21.3-6
Optional reading: Reiter & Belz (2012), Ng (2010)
۱۴ ۱۲/۰۵ ۲۷ Discourse cohesion and coherence ۱up 4up
What does it take for a text to “make sense”?
Required reading: Ch.21.1-2
Optional reading: Grosz et al. (1995), Poesio et al. (2004), Barzilay and Lapata (2008)
۱۴ ۱۲/۰۷ ۲۸ Envoy ۱up 4up
۱۵ ۱۲/۱۲ ۲۹ Review for final exam ۱up 4up MP4 due

گام های شروع کار در پردازش زبان طبیعی مبتنی بر پایتون

برای فعالیت در این حوزه پایتون یکی از زبان های خوبیست که شامل کتابخانه های متعددی است. در پردازش زبان طبیعی نیز استفاده از پایتون به خاطر جامعیت کاربری و … بیشتر کارشده است. پیشنهاد میشود طبق مراحل ذیل بحث سوال و مسئله را فراگیرید و پیش روید:

 

گام اول : فراگیری زبان پایتون

برای آموختن این زبان به نظر بنده ابتدا با یادداشت خاص قبلی پیش روید (آموزش اولیه سایت فرانش)

سپس که پایه ریزی خوب صورت گرفت اگر خواستید یک خورده دقیقتر در پایتون پیشروید و بیشتر بدانید تا بتوانید بهتر در ادامه پیشروید آموزش های این لینک را دانلود و مشاهده کنید.

سپس شما به سطح مطلوبی رسیدید که قرار است به گام بعدی بروید. مدت زمانی که برای گام اول صرف میشود حداکثر یک هفته مطلوب هست.

 

گام دوم : مفاهیم NLTK و Hazm

پیشنهاد میشود برای شروع به کار و همچنین نصب و کسب اطلاعات یک گذر مروری روی سایت های رسمی NLTK  و هضم داشته باشید.

فیلم ذیل میتوانید در این راستا دید خوبی بدهد و کلیات مسیر را تقریبا مشخص کند

 

گام سوم : فراگیری جزئیات NLTK و نوشتن مثال

پیشنهاد میشود به صورت سلسله وار از روی یک یا چند منبع معتبر پیشروید. برای شروع به نظر بنده کتاب Python 3 Text Processing with NLTK 3 Cookbook خوب هست. برای دانلود کتاب از منبع اول یا منبع دوم استفاده کنید. اگر در دانلود مشکلی بود اطلاع دهید تا لینک جایگزین درج گردد.

 

البته این مسیر پیشنهادیست.

اگر پیشنهاد بهتری دارید حتما در بخش نظرات بفرستید تا بررسی و در صورت صلاحدید اعمال نماییم.

موفق و موید باشید/.

 

نصب ابزار پردازش زبان طبیعی فارسی (هضم – Hazm)

برای نصب ابزار هضم نیز طبق سایت رسمی دوستان صبحه در آدرس http://www.sobhe.ir/hazm پیش میرویم.

۱- توسط کامند ذیل در ترمینال به راحتی نصب میشود:

۲- یاعلی… بسم الله بگویید و شروع به فعالیت کنید ..

 

 

نکته : طبق اطلاعیه خود بچه های صبحه در نظر داشته باشید که؛

برچسب‌زن صرفی و تجزیه‌گر نحوی نیاز به مدل‌های آموزش‌دیده دارند. ما این مدل‌ها را هم آماده کرده‌ایم، می‌توانید آنها را دریافت کنید و در پوشه‌ای با عنوان resources در پروژه خود قرار دهید. البته رویه‌های آموزش و ارزیابی مدل‌ها هم جزئی از کد هستند.

برای نصب روی ویندوز که اصلا حداقل من پیشنهاد نمیکنم ولی بازم اگر خواستید ، لازم است ویژگی WSL را فعال کرده و با اجرای دستور زیر، پایتون را برای نصب هضم آماده کنید:

همچنین نسخه Jhazm هم هست برای زبان جاوا که اگر نیاز بود بگید آن هم آموزش ساده اش را بگذاریم.

 

به همین راحتی!  (:

نصب ابزار پردازش زبان طبیعی NLTK (Natural Language Toolkit)

برای نصب NLTK طبق توضیحات بیان شده در سایت رسمی آن به نشانی http://www.nltk.org عمل میکنیم. در صفحه نصب آن که در http://www.nltk.org/install.html وجود دارد پیش میرویم:

۱- کامند نصب ذیل را وارد کنید. :

۲- احیانا اگر numpy نداشتید :

 

تموم شد! 🙂

حال برای تست آن در یک پروژه پایتون کافیست تست کنید import nltk خطا ندهد.

به همین راحتی!

استخراج مدل برداری کلمات فارسی ویکی‌پدیا (Word2vec Wikipedia)

فایل مدل

مدل برداری کلمات فارسی بر اساس ویکیپدیا فارسی (تا تاریخ ۲۰ اکتبر ۲۰۱۶) از لینک زیر قابل دریافت می باشد.

دریافت فایل مدل

نحوه استفاده

ابتدا پکیج genism را نصب کرده، سپس با استفاده از قطعه کد زیر مدل را بارگذاری کرده و با متد most_similar کلمات با بیشترین شباهت با کلمه/کلمات ورودی را دریافت می‌کنیم:

Install Gensim:

Code:


نمونه نتایج

نمونه 4

 نمونه 1

 

منبع: http://dml.qom.ac.ir/2017/02/08/%D9%85%D8%AF%D9%84-%D8%A8%D8%B1%D8%AF%D8%A7%D8%B1%DB%8C-%DA%A9%D9%84%D9%85%D8%A7%D8%AA-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D9%88%DB%8C%DA%A9%DB%8C%E2%80%8C%D9%BE%D8%AF%DB%8C%D8%A7/

پردازش متون فارسی با پایتون

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

کتابخانه های قدرتمند این زبان مانند NLTK و همچنین کتابخانه های مخصوص زبان فارسی موجود مانند هضم می باشد