احتمالا شما نیز با یک چت بات (Chatbot) ارتباط برقرار کردهاید، حتی بدون اینکه خود متوجه آن شده باشید. به عنوان مثال، شما در رایانه خود در حال تحقیق درباره یک محصول هستید و پنجرهای با این پیام روی صفحه نمایش ظاهر میشود: «آیا شما به کمک نیاز دارید؟» یا ممکن است در حال رفتن به یک کنسرت باشید و با استفاده از تلفن هوشمند خود و از طریق یک سرویس چت درخواست خودرو کنید و یا ممکن است از دستورات صوتی برای سفارش یک قهوه از کافه محله خود استفاده کرده باشید و پاسخی دریافت کردهاید که به شما میگوید چه زمانی سفارش شما آماده است و چه هزینهای باید بپردازید.
اینها همه نمونههایی از سناریوهایی است که در آنها میتوان از یک چت بات استفاده کرد. در ادامه قصد داریم به معرفی چت بات ها، معماری و کاربرد آنها بپردازیم. همچنین کاربرد هوش مصنوعی در ربات چت را بررسی میکنیم.
چت بات چیست؟
چت بات یک نرم افزار مبتنی بر هوش مصنوعی است که میتواند مکالمه یا چت با کاربر را به زبان طبیعی از طریق برنامههای پیام رسان، وبسایتها، اپلیکیشنهای تلفن همراه و یا از طریق تلفن شبیهسازی کند. استفاده از هوش مصنوعی در چت باتها نقش اساسی در کارایی آنها دارد.
چرا چت بات ها مهم هستند؟
چت بات ها از اهمیت زیادی برخوردار هستند، چرا که به عنوان یکی از پیشرفتهترین و امیدبخشترین تعاملات بین انسان و ماشین شناخته میشوند. از نظر فنی ربات های چت نشان دهنده تکامل طبیعی سیستمهای پاسخ به سوالات هستند که از پردازش زبان طبیعی استفاده میکنند.
چت بات ها تعامل بین کاربران و خدمات سازمان را تسهیل میکنند و سبب بهبود تجربه مشتری میشوند. در عین حال، آنها فرصتهای جدیدی برای بهبود روند تعامل با کاربر و بهرهوری عملیاتی از طریق کاهش هزینههای معمول ارائه خدمات به مشتریان در اختیار شرکتها قرار میدهند.
برای دستیابی به موفقیت، یک ربات چت باید بتواند وظایف خود را به طور موثر انجام دهد. در اینجا پشتیبانی انسانی نقش اساسی دارد. صرف نظر از روش استفاده از ربات های چت و بستر پیاده سازی آنها، چگونگی مداخله انسان در پیکربندی، آموزش و بهینهسازی نرم افزار ربات چت بسیار مهم است.
چت بات چگونه کار میکند؟
چت بات ها دادهها را با استفاده از هوش مصنوعی، قوانین از پیش تعریف شده، پردازش زبانهای طبیعی (Natural language processing) و یادگیری ماشین پردازش میکنند تا بتوانند به درخواستهای مختلف پاسخ مناسب بدهند. به صورت کلی، دو نوع ربات چت وجود دارد.
۱- چت بات های وظیفه محور یا اعلانی (Task-oriented یا Declarative):
برنامههایی تک منظوره هستند که تمرکز آنها بر انجام یک عملکرد است. آنها با استفاده از قوانین، تکنیکهای پردازش زبانهای طبیعی و تا حدودی یادگیری ماشین، پاسخهای خودکار اما مکالمهای برای پرسشهای کاربران ایجاد میکنند.
تعاملات با این چت باتها بسیار مشخص و ساختار یافته است و بیشتر برای عملکردهای پشتیبانی و ارائه خدمات مشخص مناسب هستند. به عنوان مثال میتوان از آنها برای بخش سوالات متداول یک وبسایت استفاده کرد. همچنین، از ربات های چت وظیفه محور میتوان برای پاسخگویی به سوالات متداول و یا درخواستهایی که شامل متغیرهای متنوعی نیستند مانند سوالات مربوط به ساعات کاری، استفاده کرد.
اگر چه این نوع رباتهای چت از پردازش زبانهای طبیعی استفاده میکنند تا کاربران حس و حال یک مکالمه واقعی را داشته باشند، اما توانایی آنها کاملا ابتدایی است. در حال حاضر این نوع چت باتها بیشترین کاربرد را دارند.
۲- چت باتهای داده محور و پیشگویانه یا محاورهای (Conversational یاData-driven):
از این نوع چت باتها بیشتر به عنوان دستیار مجازی یا دستیار دیجیتال استفاده میشود و بسیار پیشرفتهتر و تعاملیتر از رباتهای چت وظیفه محور بوده و قابلیت شخصیسازی بیشتری دارند.
این نوع چت باتها از محتوای متن آگاهی دارند و از تکنیکهای تفسیر زبانهای طبیعی (Natural-language understanding)، پردازش زبانهای طبیعی و یادگیری ماشین برای یادگیری در حین اجرا استفاده میکنند. همچنین آنها از هوش پیشگویانه و تجزیه و تحلیل استفاده میکنند تا شخصیسازی را بر اساس پروفایل کاربر و رفتار گذشته او انجام دهند.
دستیارهای دیجیتال میتوانند ترجیحات کاربر را به مرور زمان یاد بگیرند و بر این اساس به او پیشنهاداتی بدهند و حتی تا حدودی نیازهایش را پیشبینی کنند. علاوه بر نظارت بر دادهها و درخواستها، میتوانند مکالمات را شروع کنند. نرم افزار سیری شرکت اپل (Apple Siri) و الکسا آمازون (Amazon Alexa) نمونههایی از چت باتهای داده محور و پیشگویانه هستند.
معرفی یک ابزار فوقالعاده: تله بات دیتاک؛ ربات جستجوی رایگان در فضای مجازی
چت بات ها چه وظایفی دارند؟
هسته نرم افزار چت بات دو وظیفه مهم به عهده دارد.
- تجزیه و تحلیل درخواست کاربر
- ارائه پاسخ
در ادامه به بررسی هر یک از آنها میپردازیم.
۱- تجزیه و تحلیل درخواست کاربر:
این اولین کاری است که یک چت بات باید انجام دهد. درخواست کاربر به منظور شناسایی قصد وی و استخراج موجودیتهای مربوط به آن تجزیه و تحلیل میشود. شناسایی قصد کاربر و استخراج دادهها و نهادهای مربوطه، اولین شرط و مهمترین مرحله در هسته ربات چت است، به این دلیل که اگر توانایی تشخیص درست درخواست کاربر را نداشته نباشد، قادر به ارائه پاسخ صحیح نخواهید بود.
۲- ارائه پاسخ:
پس از مشخص شدن قصد کاربر، چت بات باید مناسبترین پاسخ را برای درخواست او ارائه دهد. پاسخ میتواند یکی از موارد زیر باشد:
- پاسخ ارائه شده میتواند یک متن عمومی و از پیش تعریف شده باشد
- متنی که از یک پایگاه دانش (Knowledge base) بازیابی شده و حاوی پاسخهای مختلف است
- بخشی از یک متن متناسب با اطلاعاتی که کاربر ارائه داده است
- ارائه پاسخ میتواند بر اساس دادههای ذخیره شده در سامانههای سازمان انجام شود
- ممکن است پاسخ انجام عملی باشد که با تعامل با یک یا چند برنامه دیگر انجام میشود
- یک سوال برای دریافت جزئیات بیشتر که به ربات چت کمک میکند تا به درستی درخواست کاربر را تشخیص دهد
معماری چت بات
معماری چت بات برای پاسخگویی به سوالات کاربران از طریق متن، تصاویر و صدا به بخشهای تولید کننده پاسخهای کاندیدا و انتخاب پاسخ نیاز دارد. معماری چت بات در تصویر زیر نشان داده شده است.
همان طور که در تصویر بالا مشاهده میکنید، پیامهای کاربر به بخش طبقه بندی قصد (Intent Classification) و شناسایی موجودیت (Entity Recognition) ارسال میشوند. در ادامه به بررسی مهمترین بخشهای معماری بالا میپردازیم.
قصد (Intent): قصد در تصویر بالا به عنوان منظور کاربر تعریف شده است، به عنوان مثال هدف فرد از به کار بردن کلمه انگلیسی خدا حافظ «Good Bye» این است که مکالمه را پایان دهد و یا قصد دیگری دارد.
موجودیت (Entity): یک موجودیت در ربات چت برای اصلاح یک قصد (Intent) استفاده میشود. به طور کلی در معماری چت بات سه نوع موجودیت با نامهای موجودیت سیستم، توسعه دهنده و جلسه وجود دارد.
تولید کننده پاسخهای کاندیدا (Candidate Response Generator): در این بخش با استفاده از الگوریتمهای مختلف تجزیه و تحلیل درخواست کاربر انجام میشود که نتیجه آن ارائه چند پاسخ کاندید است.
انتخاب کننده پاسخ (Response Selector): انتخاب کننده پاسخ بهترین پاسخ را با توجه به سوال کاربر، انتخاب میکند.
علاوه بر موارد بالا، معماری چت بات دارای بخش های زیر نیز است:
سیستم پرسش و پاسخ (Question and Answer System)
این سیستم به سوالات متداول کاربران پاسخ میدهد. سیستم پرسش و پاسخ، درخواستها را تفسیر میکند و با استفاده از پاسخهای مرتبط موجود در پایگاه دانش به آنها پاسخ میدهد. این سیستم دارای اجزای زیر است:
آموزش دستی (Manual Training):
آموزش دستی به این صورت است که کارشناسان مربوطه فهرستی از سوالات متداول کاربران را ایجاد میکنند و پاسخهای آن را نگاشت میکنند. این کار به چت بات کمک میکند تا پاسخ مهمترین سوالات را به سرعت شناسایی کند.
آموزش خودکار (Automated Training):
در این روش ربات چت با استفاده از اسناد شرکت مانند قوانین سیاست گذاری و دیگر اسناد مربوط پرسش و پاسخ، به صورت خودکار آموزش میبیند.
آموزش خودکار شامل ارسال اسناد شرکت مانند قوانین سیاست گذاری و دیگر اسناد مربوط پرسش و پاسخ به ربات چت است و از آن می خواهد خودش آموزش ببیند. هسته چت بات فهرستی از سوال و جوابهای مختلف را با استفاده از این اسناد در اختیار نرم افزار قرار میدهد و در نتیجه ربات چت با ضریب اطمینان بالایی میتواند به درخواستها پاسخ دهد.
بخش مدیریت گفت و گو (Dialogue Management)
فرآیند گفت و گو با کاربر از طریق این سیستم مدیریت میشود. به عنوان مثال، ممکن است کاربر بستنی سفارس دهد و ربات چت سفارش او را ثبت کند. سپس ممکن است همان کاربر سفارش خود را به قهوه تغییر دهد، در این گونه موارد، چت بات باید بتواند درخواست مشتری را به درستی تفسیر کند و در سفارشی که قبلا ثبت کرده است، تغییراتی ایجاد کند. سیستم مدیریت گفت و گو شما را قادر به انجام چنین کارهای میکند.
سیستم مدیریت گفت و گو دارای بخشهای اصلی زیر است.
مکانیسم بازخورد (Feedback Mechanism):
این بخش از سیستم در زمانهای مختلف از کاربران بازخورد دریافت میکند تا از میزان رضایت آنها در تعامل با چت بات آگاهی کسب کند. انجام این کار به ربات چت کمک میکند تا خود را اصلاح کند و از بروز اشتباهات خود در مکالمات بعدی اجتناب کند.
سیاست یادگیری (Policy Learning):
بخش سیاست یادگیری چارچوبی است که به چت بات میآموزد تا روش مکالمه خود با کاربران را بهبود دهد تا رضایت کاربران نهایی را بهبود بخشد. چت ربات سپس سعی میکند از تعاملات یاد بگیرد و جریان تعامل راجع به مکالمهای که با کاربران مشابه گذشته داشته است را دنبال میکند.
انواع معماری چت بات
معماری چت بات (Chatbot architecture) قلب توسعه آن است. با توجه به کاربرد و زمینه فعالیتهای تجاری، ممکن است معماری مربوط به ساخت ربات چت به طرز چشمگیری تغییر کند. بنابراین، باید بر اساس نیاز مشتری عناصر مختلف را تغییر دهیم. اما روش برقراری ارتباط اولیه همواره ثابت است. شما باید یاد بگیرید که چگونه معماری چت بات و جنبه های مختلف گفت و گو را به درستی انتخاب کنید.
انتخاب یک معماری مناسب بستگی به دامنه فعالیت ربات چت دارد. به عنوان مثال، ممکن است از چت بات چیزی بپرسید و به آن پاسخ دهد. شاید در بین گفتوگو، کاربر بخواهد جلسه را ترک کند و بعدا آن را ادامه دهد. در این صورت باید تصمیم بگیرید که ربات چت قابلیت ذخیره مکالمه را داشته باشد یا خیر.
برای کاربردهای ساده، استفاده از معماری تطبیق الگو (Pattern matching) میتواند مناسب باشد. اما برای ربات های چتی که دامنه فعالیت گستردهتری دارند و یا چندین سرویس مختلف ارائه میدهند، بهتر است از معماریهای پیچیدهتری مانند شبکه عصبی مصنوعی (Artificial neural network)، حافظه طولانی کوتاه-مدت (Long short-term memory) و یادگیری تقویتی (Reinforcement learning) استفاده شود. بنابراین، بر اساس ماهیت استفاده از چت بات، معماری با توجه به نیازهای منحصر به فرد هر کاربرد تغییر میکند.
[button color=”red” size=”big” link=”https://t.me/dataakcom_telebot” icon=”” target=”true” nofollow=”false”]همین حالا در تله بات دیتاک، رایگان جستجو کنید[/button]
سلام
ایمیل هایی که برای انتشار مطلب جدید میفرستین درست نمایش داده نمیشوند
حیف مطالب به این خوبی ایمیل ها ناموزون ارسال بشوند
سلام سپاس از نظرتون
حتما بررسی و اصلاح خواهد شد