1. قبل از شروع
موجودیت ها مکانیزمی در Dialogflow برای شناسایی و استخراج داده های مفید از ورودی های زبان طبیعی هستند. در حالی که مقاصد به نماینده شما اجازه میدهد انگیزه پشت ورودی کاربر خاص را درک کند، نهادها برای انتخاب بخشهای خاصی از اطلاعاتی که کاربران شما ذکر میکنند - از آدرس خیابان گرفته تا نام محصول و مقادیر با واحدها - استفاده میشوند. هر داده مهمی که میخواهید از درخواست کاربر دریافت کنید، یک موجودیت متناظر خواهد داشت.
لیست زیر سه نوع موجودیت را توضیح می دهد:
- موجودیتهای سیستم، که با Dialogflow ارائه میشوند، به عوامل اجازه میدهند تا اطلاعات مربوط به طیف وسیعی از مفاهیم را بدون هیچ گونه پیکربندی اضافی استخراج کنند. برای مثال، موجودیتهای سیستم برای استخراج تاریخها، زمانها و مکانها از ورودیهای زبان طبیعی در دسترس هستند.
- موجودیتهای توسعهدهنده، که شما تعریف میکنید، اطلاعاتی را درباره مفاهیم فراتر از مفاهیمی که توسط موجودیتهای سیستم پوشش داده میشوند استخراج میکنند. برای مثال، یک برند ممکن است یک نهاد توسعهدهنده ایجاد کند تا مجموعه منحصربهفرد نامهای محصول خود را تشخیص دهد.
- نهادهای جلسه، که شما نیز تعریف می کنید، فقط برای یک مکالمه خاص اعمال می شوند. برای مثال، ممکن است یک نهاد جلسه ایجاد کنید تا گزینههای حساس به زمان در دسترس یک کاربر خاص را هنگام رزرو کردن نشان دهد.
پیش نیازها
قبل از ادامه، باید کدهای زیر را تکمیل کنید:
- با Dialogflow یک برنامه قرار ملاقات بسازید
- یک ربات گفتگوی Dialogflow را با Actions on Google ادغام کنید
شما همچنین باید مفاهیم و ساختارهای اولیه Dialogflow را درک کنید، که می توانید از ویدیوهای زیر که در ساخت ربات چت با مسیر Dialogflow یافت می شوند، به دست آورید:
چیزی که یاد خواهید گرفت
- نحوه ایجاد و استفاده از موجودیت های سیستم در Dialogflow
- نحوه ایجاد و استفاده از موجودیت های توسعه دهنده در Dialogflow
- نحوه تست عامل
چیزی که خواهی ساخت
- یک نسخه پیشرفته از یک عامل Dialogflow ساخته شده از قبل
- موجودیت های توسعه دهنده در Dialogflow
- موجودیت های سیستم در Dialogflow
آنچه شما نیاز دارید
- یک مرورگر وب و یک آدرس ایمیل برای ورود به کنسول Dialogflow
2. نحوه فعال کردن و استفاده از موجودیت های سیستم در Dialogflow
- به کنسول Dialogflow بروید.
- عامل AppointmentScheduler را که قبلا ایجاد کرده اید انتخاب کنید.
- روی Intents کلیک کنید.
- روی Schedule Appointments کلیک کنید تا تنظیمات intent باز شود.
متوجه عبارات آموزشی مانند "قرار ملاقات برای ساعت 4 بعدازظهر فردا" میشوید، که در آن تاریخ و زمان بهطور خودکار بهعنوان @sys.date و @sys.time استخراج میشوند. با خیال راحت عبارات آموزشی بیشتری اضافه کنید تا ببینید که چگونه Dialogflow به طور خودکار موجودیت های سیستم را استخراج می کند.
همانطور که دیدید، موجودیتهای سیستم به عوامل اجازه میدهند تا اطلاعات مربوط به طیف وسیعی از مفاهیم را بدون هیچ گونه پیکربندی اضافی استخراج کنند. داده هایی مانند آدرس، ایمیل، ارز و شماره تلفن برخی از نمونه های رایج موجودیت های سیستم هستند. بیشتر بیابید، به نهادهای سیستم مراجعه کنید.
3. نحوه فعال کردن و استفاده از موجودیت های توسعه دهنده در Dialogflow
موجودیت های توسعه دهنده ایجاد کنید
تا کنون، شما به طور کلی به زمانبندی قرار ملاقات خود پرداختهاید. حال، فرض کنید برنامهریز شما برای اداره وسایل نقلیه موتوری یک ایالت است که عمدتاً گواهینامه رانندگی و خدمات ثبت نام را ارائه میدهد. آن موجودیت ها را ایجاد کنید.
- روی Entities کلیک کنید.
- روی Create Entity کلیک کنید.
- "AppointmentType" را به عنوان نام نهاد وارد کنید، سپس "ثبت خودرو" و "گواهینامه رانندگی" را به عنوان دو مقدار مرجع با چند مترادف همانطور که در تصویر زیر مشاهده می کنید، اضافه کنید. روی ذخیره کلیک کنید.
میتوانید ردیفهای بیشتری را با سرویسهای بیشتر به عنوان انواع موجودیت اضافه کنید.
- روی ذخیره کلیک کنید.
قصد را ویرایش کنید تا موجودیت توسعهدهنده جدید ایجاد شود
- روی Intent کلیک کنید.
- "تنظیم قرار ملاقات برای گواهینامه رانندگی برای ساعت 3 بعد از ظهر فردا" را در برنامه قرار ملاقات وارد کنید.
شناسایی خودکار گواهینامه رانندگی را در ساعت 3 بعدازظهر و فردا به عنوان برنامهنویس و موجودیتهای سیستم مشاهده خواهید کرد.
- عبارات آموزشی زیر را وارد کنید:
- قرار تمدید پروانه روز دوشنبه
- قرار ملاقاتی را در ساعت 2 بعد از ظهر روز دوشنبه برای مجوز تعیین کنید
- نوبت ثبت نام خودرو برای دوشنبه
- شما باید AppointmentType را یک قسمت الزامی، مشابه زمان و تاریخ قرار دهید. برای انجام این کار، به Actions and Parameters بروید، سپس کادر را در ردیف AppointmentType انتخاب کنید.
- درخواستی مانند "به دنبال دریافت چه خدماتی هستید؟ DMV خدمات گواهینامه رانندگی و ثبت خودرو را ارائه می دهد" اضافه کنید. اگر کاربر نوع قرار را ارائه ندهد، از دستور استفاده خواهد شد.
- روی ذخیره کلیک کنید.
4. چت بات خود را تست کنید
میتوانید ربات چت خود را در شبیهساز Actions آزمایش کنید یا از یکپارچهسازی وب یا Google Home که قبلاً یاد گرفتهاید استفاده کنید.
مورد آزمایشی 1
در این حالت، کاربر فقط درخواست میکند که یک قرار ملاقات بدون سه قطعه اطلاعات تنظیم کند، بنابراین Dialogflow با استفاده از اعلانهای پر کردن شکافی که تنظیم کردهاید، تاریخ، زمان و نوع قرار را میپرسد.
- کاربر: "تنظیم یک قرار".
- چت بات: "چه تاریخی؟"
- کاربر: "23 می."
- چت بات: "دوست داری ساعت چند وارد بشی؟"
- کاربر: "10 AM"
- Chatbot: "به دنبال دریافت چه خدماتی هستید؟ DMV خدمات گواهینامه رانندگی و ثبت خودرو را ارائه می دهد."
- کاربر: "مجوز."
- چت بات: "شما برای قرار ملاقات ثبت نام وسیله نقلیه خود در 2019-05-23 ساعت 10:00 آماده هستید. پس شما را می بینیم!"
مورد آزمایشی 2
در این حالت، کاربر درخواست میکند تا یک قرار ملاقات با اطلاعات جزئی تنظیم کند، بنابراین Dialogflow با استفاده از اعلانهای پر کردن شکافی که تنظیم کردهاید، تاریخ، زمان و نوع قرار را میپرسد.
- کاربر: "به یک قرار ملاقات فردا برای ساعت 4 عصر نیاز دارم."
- Chatbot: "به دنبال دریافت چه خدماتی هستید؟ DMV خدمات گواهینامه رانندگی و ثبت خودرو را ارائه می دهد."
- کاربر: "مجوز."
- چت بات: "شما آماده هستید تا قرار گواهینامه رانندگی خود را در تاریخ 2019-04-24 ساعت 16:00:00 دریافت کنید. پس شما را می بینیم!"
مورد آزمایشی 3
در این حالت کاربر تمام اطلاعات را ارائه می دهد. Dialogflow اطلاعات را پردازش می کند و پاسخی را با تأیید قرار ارائه می دهد.
- کاربر: "برای ثبت نام خودرو فردا ساعت 14 وقت بگذارید."
- چت بات: "شما برای قرار ملاقات ثبت نام خودروی خود در 2019-04-24 ساعت 14:00 آماده هستید. پس شما را می بینیم!"
5. پاکسازی کنید
اگر قصد دارید سایر کدهای Dialogflow را تکمیل کنید، فعلاً از این بخش صرفنظر کرده و بعداً به آن بازگردید.
عامل Dialogflow را حذف کنید
- کلیک کنید در کنار نماینده فعلی شما
- در برگه عمومی ، به پایین بروید و روی Delete This Agent کلیک کنید.
- Delete را در گفتگو تایپ کنید و روی Delete کلیک کنید.
6. تبریک می گویم
شما یک ربات چت ساخته اید که ورودی های سفارشی را با نهادهای توسعه دهنده مدیریت می کند. شما اکنون یک توسعه دهنده ربات چت هستید!
بیشتر بدانید
برای کسب اطلاعات بیشتر منابع زیر را بررسی کنید:
- درک تحقق: نحوه ادغام Dialogflow با Calendar
- نمونه کد در صفحه Dialogflow Github .