amir.kenarang
amir.kenarang
خواندن ۳ دقیقه·۵ سال پیش

پردازش زبان طبیعی و کاربردهایش - بخش 2


تکنیک‌ها

در بخش 1 به معرفی NLP و کاربردهایش پرداختیم. حال میخواهیم چند تا از مهمترین تکنیک‌های‌ NLP را به زبان خودمانی بیان کنیم. در بخش‌های آینده به کد‌های هر کدام از این تکنیک‌ها و روش‌های پیاده سازی آن‌ها خواهیم پرداخت. اما اکنون با ما همراه باشید تا ابتدا با این تکنیک‌ها آشنا شویم.

چندین مرحله برای پردازش زبان طبیعی وجود دارد که انجام دادن هر کدام با توجه به نیاز ما انجام می‌شود.

  • Tokenization
  • Stemming
  • Lemmatization
  • POS Tags
  • Named Entity Recogonitions
  • Chunking

Tokenization:

Tokenization
Tokenization

با tokenization شروع می کنیم که پروسه تبدیل یک string (یک رشته از متن) به توکن های ریزتر می‌باشد که ساختار کوچک‌تری دارند. اگر به مثال توجه کنیم می‌بینیم که یک جمله به چندین کلمه تقسیم شده است. این روش بسیار کارآمد در پردازش زبان طبیعی می‌باشد. همچنین یک متن میتواند به جملات تقسیم شود و یا حتی یک کلمه می‌تواند به حروف تقسیم شود. مرحله Tokenization مهمترین‌کاری می‌باشد که در NLP وجود دارد و تقریبا برای اکثر پردازش‌ها به این مرحله نیاز خواهیم داشت.

Tokenization Example
Tokenization Example


Stemming:

Stemming
Stemming

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

Stemming Example
Stemming Example

Lemmatization:

Lemmatization
Lemmatization

در Lemmatization کلمات مشابه را شبیه به هم میکنیم. چند نکته قابل توجه در مورد این تکنیک وجود دارد که مشاهده می‌کنیم.

· در Lemmatization کلمات معنی دارند ولی در Stemming کلمات بی معنی هستند.

· زمان بیشتری نسبت به Stemming نیاز دارد.

· زمانی که به معنی کلمات نیاز داریم، مثل Question and Answering از Lemmitization استفاده
می‌کنیم.

به عنوان مثال کلمات زیر به یک ریشه با معنی رسیده‌اند.

gone, going and went ===> go

POS Tags:

POS
POS

زمانی که به صورت گرامری در مورد نوع کلمات صحبت می کنیم منظور ما POS Tags می باشد. POS یا Part of speech موقعیت یک کلمه به عنوان فعل، اسم، قید،صفت و یا ... می‌باشد. این تکنیک می‌تواند ‌بخش‌های مختلف یک جمله را تشخیص بدهد. در مثال زیر مشاهده می‌کنید که نقش‌های هر کدام از کلمات چه چیزی می‌باشد.POS Example

Name Entity Recognition:

Name Entity
Name Entity


تکنیک Name Entity Recognition که به عنوان NER شناخته می شود. در این روش موجودیت یک کلمه را به دست می آوریم. به عنوان مثال یک کلمه را می گوییم فیلم، اسم کمپانی، مکان، شخص و یا ... می باشد.

به مثال زیر توجه کنید:

NER Example
NER Example


Chunking:

Chunking
Chunking

حال نوبت این است که این گروه از تکنیک ها را جمع کنیم و یک حسی نسبت به آن به دست آوریم.

ما chunking را داریم. Chunking به معنی برداشت قطعات جداگانه اطلاعات و گروه کردن آن ها به یک قطعه بزرگتر می باشد. در NLP مفهوم chunking به این معنی است که کلمات یا توکن ها را به هم وصل کنیم.

تکنیک Chunking فرآیند استخراج عبارات از متن بدون ساختار است. به جای فقط نشانه های ساده که ممکن است معنای واقعی متن را نشان ندهد، توصیه هایی است برای استفاده از عباراتی مانند «آفریقای جنوبی» به عنوان یک کلمه به جای واژه های جداگانه «جنوب» و «آفریقا».

Chunkung Example
Chunkung Example


در بالا تکنیک های مهم NLP را بررسی کردیم و با آن ها آشنا شدیم.

چندین toolkit مهم برای پردازش زبان طبیعی وجود دارد که در بخش بعد همین مقاله با آن ها بیشتر آشنا خواهیم شد و روش های استفاده از آن ها را با همدیگر بررسی میکنیم. ابزار ها و کتابخانه هایی همانند NLTK، Gensim، Hazm و spaCy


ممنون از این که با من همراه بودید. کامنت های شما باعث بهتر نوشتن و رفع مشکلات مقاله میشه.
استفاده از این مقاله با ذکر نام نویسنده، بلامانع است.
nlpپردازش متنtext miningtokeizationnatural language processe
Web Programmer, Android Developer, and NLP Data Science. Master of Ai
دیتا‌آی‌او، یک وبلاگ اجتماعی از متخصصین علوم داده، یادگیری ماشین، کلان داده، پردازش تصویر، صوت و ویدیو است که تجربیات و آموخته‌های خود را در قالب نوشته در این وبلاگ منتشر می‌کنند.
شاید از این پست‌ها خوشتان بیاید