در بخش قبلی مقاله گفتیم که :
رابط کاربری محاوره ای یک مفهوم جدید نیست. فن آوری هایی مانند پردازش زبان طبیعی برای یک مکالمه بسیار عالی هستند و ما در نهایت داریم به نقطه ای می رسیم که همه می توانند بدون در نظر گرفتن سطح مهارت از آن استفاده کنند.
برای مدت زمان طولانی، ما از نظر بصری در حال تغییر بودیم: دکمه ها، لیست های کشویی، اسلایدر و ... اما در حال حاضر ما به یک آینده که نه تنها از رابط های بصری، بلکه از موارد محاوره ای نیز تشکیل شده است، فکر می کنیم. مایکروسافت به تنهایی گزارش داده که سه هزار ربات جدید هر هفته در چارچوب رباتش ساخته می شوند.
مهمترین پیشرفت در رابط کاربری محاوره ای، پردازش زبان طبیعی (NLP) بوده است. این زمینه نه با رمزگشایی دقیق کلمات یک کاربر، بلکه با درک درستی از هدف واقعی آنهاست. اگر ربات رابط است، NLP مغز است.
دولوپرها به خیلی از آموزش های ماشینی هنوز دسترسی ندارند. با این حال، پیشرفت های قابل توجهی در زمینه پردازش زبان داشته ایم، تا جایی که برای توسعه دهندگان تقریبا با هر سطح مهارت در دسترس است.
پردازش زبان طبیعی بر اساس سرویس متفاوت است، اما ایده کلی این است که کاربر هدفی دارد و این شامل زیرمجموعه هایی است. برای فهم بهتر اجازه دهید ربات اتوماسیون خانه را ببینید که چگونه کار می کند.
مثال اتوماسیون خانه
در زمینه پردازش زبان طبیعی، یک نسخه آزمایشی Home Automation است. که کمک می کند تا به وضوح مفاهیم اساسی NLP را بدون گیج کردن بیش از حد مغزتان نشان دهید.
ای ربات یک سرویس است که می تواند چراغ های فرضی را در یک خانه فرضی خاموش و روشن کند. به عنوان مثال، ما ممکن است بخواهیم بگوییم " چراغ آشپزخانه را روشن کن". این هدف ماست. اگر بگوییم "سلام"، ما به وضوح هدف متفاوتی را بیان می کنیم. در این قصد، دو بخش اطلاعاتی وجود دارد که ما باید عملیات را کامل کنیم:
1. محل "نور" (آشپزخانه)
2. وضعیت مورد نظر چراغ ها (روشن / خاموش)
که مکان و روشن یا خاموش کردن هدف های زیر مجموعه اند.
بسیاری از خدمات NLP وجود دارد که امروز برای دولوپرها در دسترس هستند. برای این مثال، من قصد دارم پروژه LUIS را از مایکروسافت نشان دهم زیرا استفاده از آن رایگان است.
LUIS ابزار کاملا بصری است، بنابراین ما در واقع هیچ چیزی نمی نویسیم. درباره هدف و زیرمجموعه صحبت کردیم. اولین قدم این است که قصد کنترل چراغ ها را در LUIS ایجاد کنیم. قبل از اینکه هر کاری را با این قصد انجام دهم، باید مکان و وضعیت خود را تعریف کنم. که می توانند انواع مختلفی باشند - نوعی از انواع مختلف در یک زبان برنامه نویسی. شما می توانید تاریخ ها، لیست هایی که مرتبط هستند داشته باشید. در این مورد، وضعیت یک زیرمجموعه از مقادیر (روشن، خاموش) و محل چراغ موجودیت ساده است، که می تواند هر جایی باشد.
LUIS به اندازه کافی هوشمند خواهد بود تا دقیقا همان جایی را که محل است کشف کند. اکنون ما می توانیم این مدل را آموزش دهیم تا همه راه های مختلفی را که می توانیم از آن برای کنترل چراغ ها در مکان های مختلف استفاده کنیم را درک کنیم. بیایید به همه روش های مختلفی که می توانیم انجام دهیم فکر می کنیم:
• چراغ آشپزخانه را خاموش کن؛
• چراغ هایی که در دفترکار است را خاموش کن
• روشن کن چراغ اتاق نشیمن را؛
• چراغ، آشپزخانه، خاموش
• چراغ ها را خاموش کن (بدون مکان)
LUIS هیچ ایده ای ندارد که یک مکان چیست. LUIS می خواهد ما از طریق این لیست جلو برویم محل را بفرستیم. این کار با کلیک کردن بر روی یک کلمه یا گروهی از کلمات انجام می شود. همانطور که ما این کار را انجام می دهیم، یک مدل یادگیری ماشین را ایجاد می کنیم که LUIS قصد دارد به طور آماری تخمین بزند که چه چیزی به عنوان یک موقعیت مکانی واجد شرایط است.
اکنون می توانم آن را با استفاده از پانل تست آزمایش کنم. می توانید ببینید که LUIS بسیار هوشمند است. وضعیت را انتخاب کنید، در واقع می تواند مکان هایی را که قبلا آن را ندیده پیدا کند. این کاری است که مغز شما انجام می دهد - با استفاده از اطلاعاتی که باید آن ها را حدس بزنید.
اکنون به بخش مهم چگونگی استفاده از NLP در برنامه استت. LUIS دارای یک گزینه منو "انتشار" است که به ما اجازه می دهد مدل خود را در اینترنت منتشر کنیم که از طریق یک نقطه پایانی HTTP نمایش داده می شود.
بخش آخر این زنجیر ، q = یک متغیر است. این جایی است که هدف را قرار میدهیم. در حال حاضر این چیزی است که ما می توانیم به عنوان دولوپر بسازیم! این همان چگونگی اضافه کردن NLP به هر پروژه است - با یک نقطه پایانی تنها. حالا شما آزاد هستید که یک ربات با مغزهای واقعی ایجاد کنید.
بخش اول مقاله را در اینجا بخوانید
بخش دوم مقاله را در اینجا بخوانید