۱. قبل از شروع
موجودیتها مکانیزمی در Dialogflow برای شناسایی و استخراج دادههای مفید از ورودیهای زبان طبیعی هستند. در حالی که intentها به عامل شما اجازه میدهند انگیزه پشت یک ورودی خاص کاربر را درک کند، از موجودیتها برای انتخاب بخشهای خاصی از اطلاعات که کاربران شما ذکر میکنند استفاده میشود - هر چیزی از آدرس خیابان گرفته تا نام محصولات و مبالغ با واحد. هر داده مهمی که میخواهید از درخواست کاربر دریافت کنید، یک موجودیت مربوطه خواهد داشت.
لیست زیر سه نوع موجودیت را توضیح میدهد:
- موجودیتهای سیستمی که با Dialogflow ارائه میشوند، به عاملها اجازه میدهند تا بدون هیچ پیکربندی اضافی، اطلاعات مربوط به طیف وسیعی از مفاهیم را استخراج کنند. به عنوان مثال، موجودیتهای سیستمی برای استخراج تاریخ، زمان و مکان از ورودیهای زبان طبیعی در دسترس هستند.
- موجودیتهای توسعهدهنده، که شما تعریف میکنید، اطلاعاتی در مورد مفاهیمی فراتر از آنچه توسط موجودیتهای سیستم پوشش داده میشود، استخراج میکنند. به عنوان مثال، یک برند ممکن است یک موجودیت توسعهدهنده ایجاد کند تا مجموعه منحصر به فرد نامهای محصول خود را تشخیص دهد.
- موجودیتهای جلسه، که شما نیز تعریف میکنید، فقط برای یک مکالمه خاص اعمال میشوند. برای مثال، ممکن است یک موجودیت جلسه ایجاد کنید تا گزینههای حساس به زمان موجود برای یک کاربر خاص هنگام رزرو را نشان دهد.
پیشنیازها
قبل از ادامه، باید codelab های زیر را تکمیل کنید:
شما همچنین باید مفاهیم و ساختارهای اساسی Dialogflow را درک کنید، که میتوانید از ویدیوهای زیر که در مسیر ساخت چتبات با Dialogflow یافت میشوند، آنها را فرا بگیرید:
آنچه یاد خواهید گرفت
- نحوه ایجاد و استفاده از موجودیتهای سیستم در Dialogflow
- نحوه ایجاد و استفاده از موجودیتهای توسعهدهنده در Dialogflow
- نحوه آزمایش عامل
آنچه خواهید ساخت
- نسخه بهبود یافتهای از یک عامل Dialogflow از پیش ساخته شده
- موجودیتهای توسعهدهنده در Dialogflow
- موجودیتهای سیستم در Dialogflow
آنچه نیاز دارید
- یک مرورگر وب و یک آدرس ایمیل برای ورود به کنسول Dialogflow
۲. نحوه فعالسازی و استفاده از موجودیتهای سیستم در Dialogflow
- به کنسول Dialogflow بروید.
- عامل AppointmentScheduler را که قبلاً ایجاد کردهاید، انتخاب کنید.

- روی «اهداف» کلیک کنید.

- برای باز کردن تنظیمات اینتنت، روی «زمانبندی قرار ملاقاتها» کلیک کنید.
متوجه عبارات آموزشی مانند «قرار ملاقات برای ساعت ۴ بعد از ظهر فردا» خواهید شد، که در آن تاریخ و زمان به طور خودکار به صورت @sys.date و @sys.time استخراج میشوند. میتوانید عبارات آموزشی بیشتری اضافه کنید تا ببینید Dialogflow چگونه به طور خودکار موجودیتهای سیستم را استخراج میکند.

همانطور که دیدید، موجودیتهای سیستم به عاملها اجازه میدهند تا بدون هیچ پیکربندی اضافی، اطلاعات مربوط به طیف وسیعی از مفاهیم را استخراج کنند. دادههایی مانند آدرس، ایمیل، واحد پول و شماره تلفن، برخی از نمونههای رایج موجودیتهای سیستم هستند. برای اطلاعات بیشتر، به بخش موجودیتهای سیستم مراجعه کنید.
۳. نحوه فعالسازی و استفاده از موجودیتهای توسعهدهنده در Dialogflow
ایجاد موجودیتهای توسعهدهنده
تا اینجا، شما به صورت کلی به برنامهریز قرار ملاقات خود پرداختید. حال، فرض کنید که برنامهریز شما برای اداره وسایل نقلیه موتوری یک ایالت است که عمدتاً خدمات گواهینامه رانندگی و ثبت نام ارائه میدهد. آن موجودیتها را ایجاد کنید.
- روی موجودیتها کلیک کنید.

- روی ایجاد نهاد کلیک کنید.

- «نوع انتصاب» را به عنوان نام نهاد وارد کنید، سپس «ثبت وسیله نقلیه» و «گواهینامه رانندگی» را به عنوان دو مقدار مرجع به همراه چند مترادف، همانطور که در تصویر زیر مشاهده میکنید، اضافه کنید. روی ذخیره کلیک کنید.

شما میتوانید ردیفهای بیشتری با سرویسهای بیشتر به عنوان انواع موجودیت اضافه کنید.
- روی ذخیره کلیک کنید.
ویرایش اینتنت برای تطبیق با موجودیت توسعهدهندهی تازه ایجاد شده
- روی «قصد» کلیک کنید.
- در قسمت زمانبندی قرار ملاقات، عبارت «برای فردا ساعت ۳ بعد از ظهر برای گواهینامه رانندگی وقت تعیین کنید» را وارد کنید.
شما ساعت ۳ بعد از ظهر و فردا به عنوان موجودیتهای توسعهدهنده و سیستم، تشخیص خودکار گواهینامه رانندگی را مشاهده خواهید کرد.

- عبارات آموزشی زیر را وارد کنید:
- تمدید مجوز دوشنبه انجام میشود
- برای دریافت مجوز، دوشنبه ساعت ۲ بعد از ظهر وقت بگیرید
- نوبت ثبت نام خودرو برای دوشنبه

- شما باید فیلد نوع قرار ملاقات (AppointmentType) را مانند زمان و تاریخ، الزامی کنید. برای انجام این کار، به بخش اقدامات و پارامترها (Actions and Parameters ) بروید، سپس کادر انتخاب را در ردیف نوع قرار ملاقات (AppointmentType) انتخاب کنید.

- یک سوال اضافه کنید، مثلاً «چه خدماتی مد نظر شماست؟ DMV خدمات گواهینامه رانندگی و ثبت خودرو ارائه میدهد.» اگر کاربر نوع قرار ملاقات را مشخص نکند، از سوال استفاده خواهد شد.
- روی ذخیره کلیک کنید.
۴. چتبات خود را آزمایش کنید
میتوانید چتبات خود را در شبیهساز اکشنها آزمایش کنید، یا از وب یا ادغام با گوگل هوم که قبلاً یاد گرفتهاید استفاده کنید.
مورد آزمایشی ۱
در این حالت، کاربر فقط درخواست تعیین قرار ملاقات بدون سه بخش اطلاعات را دارد، بنابراین Dialogflow با استفاده از دستورات پر کردن جای خالی که شما تنظیم کردهاید، تاریخ، زمان و نوع قرار ملاقات را میپرسد.
- کاربر: "یک قرار ملاقات تعیین کنید."
- چتبات: «چه تاریخی؟»
- کاربر: "۲۳ مه"
- چتبات: «چه ساعتی مایلید تشریف بیاورید؟»
- کاربر: "ساعت 10 صبح"
- چتبات: «به دنبال چه خدماتی هستید؟ DMV خدمات گواهینامه رانندگی و ثبت خودرو ارائه میدهد.»
- کاربر: "مجوز".
- چتبات: «شما برای قرار ملاقات ثبت نام خودرو در تاریخ 2019-05-23 ساعت 10:00:00 آماده هستید. پس میبینمتان!»
مورد آزمایشی ۲
در این حالت، کاربر درخواست تنظیم قرار ملاقات با اطلاعات جزئی را دارد، بنابراین Dialogflow با استفاده از دستورات پر کردن جای خالی که شما تنظیم کردهاید، تاریخ، زمان و نوع قرار ملاقات را درخواست میکند.
- کاربر: «برای فردا ساعت ۴ بعد از ظهر وقت ملاقات لازم دارم.»
- چتبات: «به دنبال چه خدماتی هستید؟ DMV خدمات گواهینامه رانندگی و ثبت خودرو ارائه میدهد.»
- کاربر: "مجوز".
- چتبات: «شما برای قرار ملاقات گواهینامه رانندگی خود در تاریخ 2019-04-24 ساعت 16:00:00 آماده هستید. پس میبینمتان!»
مورد آزمایشی ۳
در این حالت، کاربر تمام اطلاعات را ارائه میدهد. Dialogflow اطلاعات را پردازش کرده و پاسخی به همراه تأیید قرار ملاقات ارائه میدهد.
- کاربر: «برای ثبت نام خودرو، فردا ساعت ۲ بعد از ظهر وقت بگیرید.»
- چتبات: «شما برای قرار ملاقات ثبت نام خودرو در تاریخ 2019-04-24 ساعت 14:00:00 آماده هستید. پس میبینمتان!»
۵. تمیز کردن
اگر قصد دارید سایر آزمایشگاههای کد Dialogflow را تکمیل کنید، فعلاً از این بخش صرف نظر کنید و بعداً به آن برگردید.
عامل Dialogflow را حذف کنید
- کلیک
در کنار نماینده فعلی شما.

- در برگه عمومی ، به پایین بروید و روی حذف این عامل کلیک کنید.
- در کادر محاورهای، عبارت Delete را تایپ کرده و روی Delete کلیک کنید.
۶. تبریک
شما یک چتبات ساختید که ورودیهای سفارشی را با موجودیتهای توسعهدهنده مدیریت میکند. اکنون شما یک توسعهدهنده چتبات هستید!
بیشتر بدانید
برای مطالعه بیشتر به منابع زیر مراجعه کنید:
- درک فرآیند تکمیل سفارش: نحوه ادغام Dialogflow با Calendar
- نمونههای کد در صفحه گیتهاب Dialogflow .