NLP چیست؟

NLP چیست؟

عبارات منظم در NLP (بخش سوم)

در بخش سوم آموزش ان ال پی لگوهای پیشرفته برای استخراج اطلاعات در متون بزرگ ارائه خواهد شد. سپس با استفاده از زبان برنامه‌نویسی پایتون مثال‌هایی در این زمینه حل می‌گردد.

nlp چیست

ان ال پی چیست؟ (بخش سوم)

آموزش فارسی پردازش زبان طبیعی (بخش سوم)

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


1-    انفصال (disjunction) : در عبارات منظم انفصال به معنای زیر است :
با توجه به این مطلب که عبارات منظم در انگلیسی به حروف بزرگ یا کوچک حساس هستند اگر بخواهیم واژه‌های خاصی را در ابتدا و درون جمله پیدا کنیم باید از انفصال استفاده نمود:

مثلاً اگر بخواهیم  تعداد تکرار واژه، اعداد یا کاراکترهای خاصی را در متون حجیم بیابیم باید از الگوهای زیر استفاده کنیم:

 آموزش فارسی پردازش زبان طبیعی
تصویر 3-3 نمونه‌ای از انفصال

انفصال با استفاده از [] قابل پیاده‌سازی است. مثلاً اگر بخواهیم در متن واژه‌هایی که با "آ" و "ا" شروع می‌شوند را تشخیص دهیم باید از دستور زیر استفاده کنیم:
 

آموزش ان ال پی
تصویر 4-1. نمونه‌ای از انفصال

در این تکه کد واژه‌های آبی و ابی هردو تشخیص داده می‌شوند، زیرا از انفصال استفاده نموده‌ایم:
 

صفر تا صد nlp
تصویر 4-2 نتیجه اجرای کد

2-    تعریف یک دامنه (Range): جهت راحتی استفاده از عبارات منظم می‌توان از تعریف یک دامنه استفاده نمود. برای مثال اگر بخواهیم اعداد یک متن را استخراج کنیم، از دو روش می‌توان این کار را انجام داد. در اولین قدم می‌توان تمام اعداد را به‌عنوان ورودی و الگو به نرم‌افزار داد که این کار منطقی نیست. راه دوم استفاده از یک دامنه یا range است. 

 آموزش natural language processing به زبان فارسی
تصویر 5-1. استفاده از range

 

RE در پردازش زبان طبیعی
تصویر 5-2 نتیجه کد

در این کد اعدا به‌صورت تک‌تک استخراج‌شده‌اند که در تصویر 5-2 نتیجه اجراشدن کد نمایش داده شده است.

 

عبارات منظم در پردازش زبان طبیعی
 تصویر 6. تعریف range  با استفاده از "-"

همان‌طور که در تصویر 6 مشاهده می‌شود با استفاده از "-" و   [] می‌توان یک Range  تعریف نمود.  
 [A-Z] یعنی تمامی کاراکترهای بزرگ از  A تا Z
[a-z] یعنی تمامی کاراکترهای کوچک از a-z 
[0-9] یعنی تمامی اعداد 

برای مثال [A-Z]  برابر است [ABCDEFGHIJKLMNOPQRSTUVWXYZ]

 

range در nlp
تصویر 7. نمونه‌ای از range

اگر کاراکتر شروع بعد از [ کاراکتر ^ باشد به این معنی است که تمامی range در [] به‌صورت not  می‌باشد و معنی به جز می‌دهد. مثلاً [A-Z^] به این معنی است همه حروف شناسایی شوند به ‌جز حروف بزرگ. 

 

آموزش یادگیری عمیق
تصویر 8-1 نمونه از negated range

 

آموزش فارسی nlp 
تصویر 8-2 نتیجه اجرای کد

همان‌طور که در تصویر 8-2 مشاهده می‌شود، همه کاراکترهای موجود در متن تصویر 8-1 شناسایی‌شده‌اند به‌جز کاراکترهای بزرگ. کاراکتر فاصله نیز شناسایی شده است.


3-    تشخیص کاراکترهای optional

در این بخش مثلاً اگر بخواهیم واژه‌های color  و colour را تشخیص دهیم نباید از [] استفاده نمود. در مثال زیر به‌وضوح توضیح داده خواهد شد:
 

re در پردازش زبان طبیعی
تصویر 9-1 Range

 

اجرای کد در ان ال پی
9-2 نتیجه اجرای کد

در این تکه کد فقط کلمه color  تشخیص داده می‌شود و انتظار می‌رفت که کلمه colour  نیز تشخیص داده شود. اما این مشکل باید با استفاده از کاراکتر ? و بدون استفاده از []  حل گردد. به کد زیر توجه نمایید:

 

اجرای کد در پردازش زبان طبیعی
تصویر 10-1 نمونه‌ای استفاده از تشخیص کاراکتر optional

 

يادگيري پردازش زبان طبيعي
تصویر 10-2 نتیجه اجرای کد

ou در nlp

"?ou" به چه معناست:
"?ou" به این معناست که اگر بعد از o، u صفر بار یا بیشتر تکرار شود رشته موردنظر قابل‌قبول است. اگر u  بعد از o نباشد رشته قابل‌قبول است و اگر موجود هم باشد بازهم رشته موردنظر قابل‌قبول است. 

در مباحث بعدی درمورد عبارات منظم بیشتر بحث خواهد شد.

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس