Natural Language Understanding (NLU) یا درک زبان طبیعی چیست؟ چه کسی قرار است زبان طبیعی ما انسانها را بفهمد؟ چرا مهم است متخصصان دربارهی فهم یا درک زبان طبیعی تلاش کنند؟ فهم زبان طبیعی چه کاربردی در پردازش زبان طبیعی دارد؟
ChatGPT با ما انسانها حرف میزند، درست مانند یک انسان. سؤالهای ما را میفهمد. اگر هم چیزی برایش مبهم باشد، سؤالهای درست و دقیق میپرسد تا ابهامش را رفع کند. آن چتبات، آن ماشین، تا حد بسیار زیاد و قابل قبولی زبان ما را درک میکند. دستیارهای صوتی (مثل Siri & Alexa) هم همینطورند. آنها هم حرف ما را میفهمند.
چطور ممکن است که یک موجود بیجان، یک ماشین که زبان صفرها و یکها و کدها را میفهمد، زبان موجودات زنده را درک کند و با همان زبان با آنها ارتباط برقرار کند و پاسخ سؤالاتشان را بدهد؟
اگر هوش مصنوعی نبود، اگر یادگیری ماشین نبود، اگر متخصصان پردازش زبان طبیعی (NLP) نبودند و اگر زیرشاخهی بسیار مهم هوش مصنوعی بهنام فهم زبان طبیعی نبود؛ هیچ ماشینی نمیتوانست زبان طبیعی انسانها را گوش کند، بخواند، بفهمد و جواب دهد.
این محتوا دربارهی NLU است و به سؤالاتی که در ابتدا طرح شد، پاسخ میدهد.
فهم زبان طبیعی زیرمجموعه پردازش زبان طبیعی یا Natural Language Processing است. گرچه در همین محتوا دربارهی ارتباط و تفاوت NLP & NLU بحث میشود، بهتر است قبلاز شروع این مطلب «متخصص پردازش زبان طبیعی: معلم ادبیات ماشینها» را بخوانید. چون دانستن دربارهی پردازش زبان طبیعی به فهم NLU کمک میکند.
Natural Language Understanding چیست؟
هدف هوش مصنوعی این است که کارکردهای مغز انسان و تواناییهای شناختیاش را شبیهسازی کند. اگر نگاهی به تاریخچه هوش مصنوعی بیندازیم، درمییابیم که متخصصان از رشتههای مختلف در پیشرفت هوش مصنوعی دخیل بودند تا بشود ماشینهایی ساخت شبیه انسانها (رباتهای انساننما).
درک کردن زبان از مهمترین تواناییهای شناختی انسان است. پس،پروژهی شبیهسازی هوش انسانی بدون اینکه به ماشینها یاد داده شود تا زبان را بفهمند کامل نمیشود. فهم زبان طبیعی شاخهای از هوش مصنوعی است که هدفش این است تا ماشین صحبتکردن به زبان انسانها را تقلید کند.
simplilearn تعریفی بسیار ساده از درک زبان طبیعی ارائه کرده است.
Natural Language Understanding (NLU) is the ability of a computer to understand human language.
فهم زبان طبیعی توانایی یک کامپیوتر برای فهمیدن زبان انسان است.
اجزای سیستم درک زبان طبیعی
فرآیند درک زبان طبیعی ۳ مرحله دارد. در این ۳ مرحله نرمافزار یک ورودی (جملهی متنی یا شفاهی) را میگیرد و خروجی خواستهشده را تحویل میدهد. اما برای فهمیدن درست و کامل مراحل، لازم است توضیحاتی دربارهی طراحی و آموزش سیستمها یا مدلهای درک زبان طبیعی و عناصرش داده شود.
متخصصان با کمک گرفتن از زبان پایتون و یادگیری ماشین الگوریتم (مدلی) را برای این کار طراحی میکنند و آموزش میدهند. سیستمهای درک زبان طبیعی را معمولا با اهداف تجاری میسازند. بهترین نمونه چتباتهایی است که کسبوکارها برای خدمات به مشتریان یا پشتیبانی میسازند و آموزش میدهند. این چتباتها دایره لغات (lexicon یا لغتنامه) معلوم و مشخصی دارند. مثلا اگر چتبات قرار است کاربر را برای خرید بلیط هواپیما هدایت و همراهی کند، دایره لغات و جملاتش مربوط به همان موضوع و همان کسبوکار است و نمیشود از او دربارهی اخبار ورزشی روز یا پیشبینی آبوهوا پرسید.
پس، هر سیستم به یک لغتنامه اختصاصی نیاز دارد تا برای پیدا کردن معنای واژگان از آن استفاده کند. همچنین، باید قواعد دستور زبان را داشته باشد تا بتواند نقش هر کلمه در جمله را بفهمد. و درنهایت باید قواعدی برای دستهبندی کردن مفاهیم (Ontology) به آن آموخته شده باشد. برای نمونه، برای سیستم دستههای افراد، مکانها، برندها و … تعریف میشود.
سیستم با کمک همان قواعد است که میتواند هر لغت را در دستهی خودش قرار دهد و ارتباط میان دستهها (مفاهیم) و درنتیجه منظور اصلی از جمله را درک کند. این عناصر و اجزا کنار یکدیگر قرار میگیرند تا سیستم دادهها و اطلاعات لازم برای تحلیل کردن هر ورودی (جمله) و درک کردن منظور و بار احساسی آن را در مراحل زیر داشته باشد.
۳ مرحلهی NLU عبارتاند از:
۱. Tokenization
اولین مرحله این است که سیستم (الگوریتم) ورودی را به اجزای سازندهاش تقسیم کند. هر جزء جمله (کلمات و نشانههای سجاوندی) یک توکن برای نرمافزار است.
۲. Lexical Analysis (تحلیل واژگان)
در دومین مرحله هویت دستوری هر توکن (اسم، صفت، فعل، قید و …) را با کمک گرفتن از لغتنامهای که دارد، مشخص میکند.
۳. Syntactic Analysis (تحلیل نحوی)
در سومین مرحله نقش دستوری هر توکن در جمله مشخص میشود تا ارتباطات اجزای میان جمله هم برای سیستم روشن شود. این مرحله بسیار مهم است.
بگذارید با مثال اهمیت این مرحله توضیح داده شود. ورودی این جمله است: اعصابم خورد شده چون سفارشم ثبت نمیشود. خب، اول سیستم تکتک کلمات را برای خودش معنی میکند و میفهمد که هر کلمه چیست. در این مرحله اعصاب اسم است و خوردشدن یک فعل که معنی شکستن میدهد و ربطی هم به اعصاب ندارد.
اگر مرحلهی سوم در کار نباشد و سیستم نقش کلمات را در کل جمله در نظر نگیرد و به فعل دوم و ارتباط جملهی اول و دوم و ساختار نحوی جمله نپردازد، نمیتواند ناراضیبودن و احساسات منفی گوینده را درک کند. نکتهی مهمی که دربارهی درک زبان طبیعی باید به آن توجه کرد این است که این سیستم طراحی نمیشود که فقط معنی یک جمله را بفهمد. سیستم با تحلیل ساختار کلی جمله به احساس گوینده میرسد.
درست مانند من و شما که اگر آن جمله را بشنویم، متوجه میشویم که گوینده ناراحت و عصبانی است. سیستم هم معنای خوردن شدن اعصاب را با توجه به دلیلی (فعلی منفی) که بعد از حرف اضافهی چون آمده، درک میکند.
پس، سیستم با استفاده از آن اجزا و طی کردن این مراحل میفهمد که کاربر چه میگوید، منظورش چیست، چه احساساتی دارد و چه جوابی باید به او داده شود.
مهمترین کاربردهای NLU
سیستمهای فهم زبان طبیعی در بسیاری کسبوکارها و مجموعهها جای نیروی انسانی را برای انجام دادن پرسش و پاسخهای تکراری گرفتهاند.
- تلفنهای گویا (Interactive Voice Responding or IVR): در این کاربرد سیستم را براساس سؤالات و نیازهای مشتریان کسبوکار یا مراجعهکنندگان به مجموعه طراحی و آموزش میدهند. در تلفنهای گویا این NLU است که پاسخ میدهد و تماسگیرنده را به بخش یا کارشناس مناسب هدایت میکند.
- خدمات پس از فروش به مشتریان: چتباتها از سیستمهای فهم زبان طبیعی استفاده میکنند. در این کاربرد الگوریتم را با مجموعهای از سؤالات و جوابهای متدوال در هر کسبوکار آموزش میدهند.
- Data capture: از سیستم NLU استفاده میشود تا از کاربران داده بگیرد و ثبت کند. برای نمونه، ممکن است کسبوکاری برای ثبت سفارش تلفنی یک مدل درک زبان طبیعی طراحی کرده باشد.
- Conversational interfaces: نمونههای این کاربرد دستیارهای صوتی (Amazon Alexa) و Google Home است. این سیستمها میتوانند فرمانهای صوتی را که کاربران با زبان طبیعی به آنها میگویند، درک کنند و پاسخ دهند.
NLU vs. NLP
همانطور که در آغاز اشاره شد، درک زبان طبیعی زیرمجموعهی پردازش زبان طبیعی است.
پردازش زبان طبیعی مجموعهای از تکنولوژیها و تکنیکها است که زبان انسان را برای ماشین ترجمه میکند تا ماشین آن را بفهمد و اطلاعاتی را که باید از آن استخراج کند و دراختیار انسانها قرار دهد.
پردازش زبان طبیعی به دو بخش تقسیم شده است: درک زبان طبیعی و تولید زبان طبیعی (Natural Language Generation or NLG). درک زبان طبیعی اولین قدم است. درواقع میشود گفت که درک مطلب است. اول باید کامپیوتر بفهمد که منظور انسان چیست تا بتواند پاسخش را بدهد. تولید زبان طبیعی پاسخی مکتوب است که سیستم به زبان طبیعی به سؤال مکتوب کاربر میدهد. بهترین نمونه برای تولید زبان طبیعی ChatGPT است.
جمعبندی و نتیجهگیری
۱. درک یا فهم زبان طبیعی زیرشاخهای از هوش مصنوعی و پردازش زبان طبیعی است.
۲. هدف از طراحی و ساخت سیستم (الگوریتم) درک زبان طبیعی این است که ماشین کلمات، عبارات و از هم مهمتر ارتباط میان آنها را دریابد تا بتواند منظور و مقصود اصلی کاربر را از گفتن یا نوشتن آن جمله بفهمد.
۳. اجزا و مراحل سیستم فهم زبان طبیعی کنار هم قرار میگیرند تا تحلیل لغوی و نحوی جمله را برای سیستم ممکن کنند.
۴. کاربردهای NLU بیشتر تجاری است. مهمترینشان ساخت و آموزش چتباتها برای تعامل و ارتباط با مشتریان است.
۵. طراحی و ساخت سیستمهای فهم زبان طبیعی را ماشین لرنینگ ممکن کرده است.
۶. زبان برنامهنویسی پایتون و کتابخانههای قدرتمند آن در پردازش زبان طبیعی، فهم زبان طبیعی و همچنین تولید زبان طبیعی نقش کلیدی را دارند.
۷. اگر به حوزهی هوش مصنوعی و تخصص پردازش زبان طبیعی علاقه دارید و میخواهید یاد بگیرید که چطور میشود یک سیستم درک زبان طبیعی را ساخت و آموزش داد؛ یاد گرفتن پایتون، آموزش زبان برنامهنویسی پایتون، اولین قدم است.
The post ماشین زبان آدمیزاد را میفهمد appeared first on آمانج آکادمی مرکز آموزش های برنامه نویسی ، دیجیتال مارکتینگ و دیزاین.