成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用Azure Bot Services創建聊天機器人的分步說明

譯文
人工智能
信使、網絡服務和其他軟件都離不開機器人(bot)。而在軟件開發和應用中,機器人是一種應用程序,旨在自動執行(或根據預設腳本執行)響應用戶請求創建的操作。

譯者 | 李睿?

審校 | 孫淑娟?

信使、網絡服務和其他軟件都離不開機器人(bot)。而在軟件開發和應用中,機器人是一種應用程序,旨在自動執行(或根據預設腳本執行)響應用戶請求創建的操作。在本文中, NIX United公司的.NET?開發人員Daniil Mikhov介紹了使用微軟Azure Bot Services創建聊天機器人的一個例子。本文將對想要使用該服務開發聊天機器人的開發人員有所幫助。

為什么使用Azure Bot Services? ?

在Azure Bot Services上開發聊天機器人的優勢在于微軟公司對其產品的高度支持。該公司的專家積極與技術社區溝通,并迅速識別和修復服務中的漏洞。此外,微軟公司提供了創建自定義JSON文件的能力,以配合?一些信使的API,讓開發人員在創建聊天機器人時有很多可能性。

記住Azure Bot Services的其他優點也很重要:?

  • Azure Bot Services允許開發人員使用開源SDK工具(軟件開發工具包)來創建、測試和部署聊天機器人。 ?
  • 與認知服務的集成是指在工作中使用機器學習工具來解決典型任務的服務。認知服務確保了聊天機器人和用戶之間更好的交互過程。 ?
  • 多平臺是指將聊天機器人連接到多個通道而無需更改原始代碼的能力。 ?
  • 大量的開源示例以促進開發過程和快速啟動(GitHub上有很多現成的代碼示例)。 ?

開發人員可以通過添加新功能來擴展Azure平臺上的聊天機器人基礎設施。例如,可以添加更多通道并使用每個通道進行測試。可以使用Cosmos DB服務來存儲對話狀態和用戶輸入的信息。要訓練聊天機器人,可以添加語言理解 (LUIS)。它使用機器學習算法來更好地與用戶交流。然而,LUIS并不是免費的,并且不是每個客戶都想分配額外的資金。 ?

Azure Bot Services中的聊天機器人剖析 ?

在Azure上創建的聊天機器人的功能結構可以表示為: ?

可以在右側看到連接到聊天機器人的可能通道列表。這個列表會隨著新的平臺不斷更新。其底部是Azure平臺可以使用的Microsoft認知服務。這些服務允許通過語音請求、面部表情、手勢等與聊天機器人交流。 ?

Bot Builder SDK用于在Azure上開發聊天機器人。該產品處于公共領域,其主要優勢是開發人員的持續支持。在GitHub上的一個單獨的分支中,可以獲得關于該服務的最新信息,或者向其開發人員提問。 ?

創建聊天機器人?

在編寫代碼之前,分析一下在Azure Bot Service上創建聊天機器人之前應該考慮的細微差別: ?

  • 破壞功能的更新。微軟公司正在不斷更新其產品。新的更新經常會破壞以前可以工作的部分代碼。所以一定要了解新的Bot Builder SDK版本的補丁列表,而用來開發聊天機器人的其他手冊可能會變得無關緊要。 ?
  • 不明顯的解決方案。在使用Bot Builder SDK時,應該始終對實驗持開放態度,并愿意以不同于以往的方式進行操作。?
  • 多功能性。同一個聊天機器人可以上傳到不同的頻道(Telegram、Skype、Slack等等),而不需要更改源代碼。在開發聊天機器人時應該記住,每個平臺都有細微差別,這需要開發人員在創建應用程序的工作邏輯時采用不同的方法。 ?

(1)聊天機器人能正確理解人們的問題嗎? ?

與聊天機器人的交流是通過用戶界面進行的。用戶界面允許開發人員采用聊天機器人能理解的語言與它交流。為此,微軟Azure使用了一個對話框系統,它遵循特定的層次結構: ?

在這里可以看到與聊天機器人建立對話的三種基本方法:?

  • 提示——聊天機器人通過提示和回答與用戶交互。例如,以數字提示的形式給出聊天機器人信息。Prompt檢查用戶是否正確地回答了提示。如果成功,與聊天機器人的對話將繼續進行。如果從用戶那里收到不正確的回答,他將被提示輸入有效的數據。 ?
  • 瀑布——瀑布是一種通過一系列連續任務/問題從用戶那里收集信息的方法。瀑布對話框的每個步驟都是作為異步函數實現的。在每個階段,聊天機器人要求用戶輸入數據,等待響應,然后將結果傳遞到下一步。第一個函數的結果作為參數傳遞給下一個函數,以此類推,直到傳遞完整個問題循環。 ?
  • 組件——組件是將一個龐大的對話框分解成更小的、易于管理的部分的一種方法。組件允許開發人員創建一個可重用的對話框,并在以后的各種獨立場景中使用它。例如,可以使用它來創建一個對話框,該對話框將依次向用戶詢問街道名稱/地址/郵政編碼。 ?

在最下面的一行,可以看到為聊天機器人創建自定義請求的允許方法:?

  • 文本查詢(文本) ?
  • 號碼查詢(數量) ?
  • 日期/時間請求(日期時間) ?
  • 確認請求(確認) ?
  • 選擇請求(選擇) ?
  • 附件要求(附件) ?

在本質上,查詢是分階段的對話框:在第一個階段,聊天機器人請求輸入數據在第二個階段,它向用戶返回有效值,或者在收到無效值時重新啟動數據查詢循環。?

(2)控制器和模板 ?

以下看看Daniil Mikhov創建的“稍后提醒我”聊天聊天機器人示例中的代碼,它的主要任務是提醒他將來需要采取的任何行動。 ?

為了創建聊天機器人,Mikhov使用了Visual Studio提供的Empty Template,它包括幾種類型的控制器:BotController和NotifyController。 ?

BotController為聊天機器人接收消息并將它們傳遞給聊天機器人框架。聊天機器人還包含幾個部署模板,用于更輕松地將應用程序部署到Azure平臺。 ?

Notify Controller確定何時向用戶發送消息。將在后面更詳細地討論這個問題。 ?

(3)啟動功能和填充ToDoDialog選項卡 ?

轉到Startup.cs選項卡,查看它的內容。在這里可以看到注冊的錯誤處理程序AdapterWithErrorHandler。如果錯誤發生在程序中,應用程序對錯誤的反應是必要的。注意注冊ConversationState——使用它來讓聊天機器人了解正在與哪個用戶交流,以及在對話的哪個階段。 ?

以下看看ToDoDialog.cs選項卡的內容。Mikhov聲明了waterfallSteps,這是瀑布對話框的一組步驟,已經在上面提到過了。在waterfallSteps中,指定在每個步驟中使用哪些異步函數來構建用戶和聊天機器人之間的對話。 ?

以下可以看到聊天機器人將使用什么類型的輸入提示。這里的內容是相當標準的:聊天機器人會問人們一些關于事件的問題,然后提供安排提醒。?

現在運行聊天機器人,并使用Bot Framework Emulator界面測試它的操作。 ?

(4)在聊天機器人框架模擬器中首次啟動和測試 ?

當運行這個應用程序時,會出現一個鏈接到聊天機器人將等待用戶消息的URL。 ?

在開始測試之前,在聊天機器人框架模擬器中指定這個鏈接:?

在第一個通信步驟中,聊天機器人要求用戶輸入需要提醒的事件名稱。為此,調用以下代碼 ?

現在,當調用聊天機器人時,它將返回以下文本:請輸入事件描述。在聲明想要進行提醒的事件(例如買牛奶)后,調用第二步的代碼,在這里,聊天機器人將提供三個提醒時間選項中的一個:?

注意stepContext的使用。它保存關于對話框的所有信息,記錄中間值。為了實現可能的提醒時間列表,使用了ChoicePrompt。這個方法將為用戶提供三個選項和一個可能的提醒時間(2分鐘,5分鐘,或第二天的同一時間)。本來可以有更多的選擇,但只選了三個。?

采用選擇來表示每個新的選擇時間,可以得到:?

在聊天機器人框架模擬器中,這段代碼將像這樣呈現:?

可以使用Parse對結果進行解析。在此提醒的是,解析是一個自動收集數據并對其進行結構化的過程。然后聊天機器人會詢問用戶是否確定所選的提醒時間,使用ConfirmPrompt來確認協議:?

從視覺上看,這個方法如下所示:?

最后一步是從stepContext中取出之前填寫的信息,并生成一個SavedNotificationModel,必須向其添加一個conversationReference。如果沒有它,聊天機器人將無法恢復與用戶的對話,也無法確定是哪個用戶專門解決了這個問題。?

Mikhov使用字典方法作為這些事件的臨時存儲庫,多虧采用它,聊天機器人將其唯一的instanceId分配給每個特定的對話框: ?

這將結束與聊天機器人的對話。可以向用戶顯示文本,指示對話框的結束并創建相應的提醒請求:“謝謝。通知已成功保存”。 ?

(5)聊天機器人如何穿越時間 ?

為了及時定位聊天機器人,Mikhov創建了notiffiedcontroller方法NotifyTimeCheck()。這種方法允許系統地輪詢應用程序,如果某個事件即將發生,聊天機器人將從字典中檢索該事件并向用戶發送通知。

為了獲得通知,將調用BotAdapter的ContinueConversationAsync()方法,并將ConversationReference傳遞給它。ContinueConversationAsync()的第一個參數必須始終是聊天機器人服務的appId(應用ID),否則,它將無法工作。 ?

此外,還需要提醒聊天機器人,當某個時間到達時,必須將事件提醒給特定的用戶。開發人員可以使用Azure Function(BotTimerFunction),它將由一個時間觸發器(TimerTrigger)觸發。 ?

每隔一分鐘,函數將向這個端點發送一個請求,并開始檢查指定的事件。如果它到達了正確的時間框架,聊天機器人將通知用戶預定的事件即將發生。?

如今,WhatsApp、Facebook Messenger、Telegram和其他通信工具不僅是交流平臺,也是業務平臺。聊天機器人幫助企業有效地在線銷售和推廣商品和服務。實現日常流程的自動化,及時向客戶提供必要的產品信息,接收和處理請求——所有這些適當配置的聊天機器人的功能將有助于將用戶轉化為客戶。因此,作為開發人員,應該記住這個工具現在是多么流行,能夠創建這樣的應用程序并因此成為受歡迎的專家是多么酷的事。?

原文標題:??How to Create a Chatbot Using Azure Bot Service: Step-by-Step Instruction??作者:Daniil Mikhov?


責任編輯:華軒 來源: 51CTO
相關推薦

2022-07-05 06:42:01

聊天機器人人工智能

2023-04-05 19:32:28

2023-10-13 09:00:00

2017-03-28 12:21:21

機器人定義

2022-07-03 10:23:06

機器人場景個性化

2019-01-25 16:30:34

機器人機器學習人工智能

2020-02-02 09:19:14

聊天機器人機器人智能

2022-08-04 07:03:41

AnswersInfobip無代碼

2024-09-30 13:11:09

2016-02-16 14:46:33

聊天機器人機器學習自然語言

2023-05-18 10:06:00

聊天機器人醫療保健

2023-04-27 08:00:00

2021-10-28 22:46:13

Python機器人數據

2020-08-14 16:18:30

人工智能

2021-11-30 10:56:43

ChatterBot機器人人工智能

2020-12-02 13:00:17

Recast.AI聊天機器人人工智能

2019-12-19 16:08:40

人工智能機器人數據

2025-06-04 08:21:28

2023-06-29 15:04:21

微軟ChatGPT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲欧美在线观看 | 九九热精品视频 | 欧美日韩综合视频 | 午夜精品导航 | 国产成人免费视频网站高清观看视频 | 亚洲精品二区 | 美女黄网站 | 精品国产乱码久久久久久老虎 | 五月综合激情婷婷 | 一级a爱片久久毛片 | 午夜伦4480yy私人影院 | 毛片a级毛片免费播放100 | 久久伊人久久 | 精品91久久| 欧洲一区在线观看 | 欧美久久一区二区三区 | 亚洲精品www| 久久精品国产久精国产 | 欧美日韩18 | 国产在线网站 | 久久麻豆精品 | 久久久五月天 | 少妇一区在线观看 | 欧美久久免费观看 | 国产免费一区二区三区免费视频 | 欧美成年网站 | 国产一区二区日韩 | 国产69精品久久久久777 | 男女视频在线观看免费 | 精品三级在线观看 | 一区二区三区免费 | 成人在线视频网站 | 亚洲成人免费在线 | 亚洲香蕉 | 国产视频精品免费 | 国产资源网 | 在线不卡视频 | 亚洲九九色 | 99pao成人国产永久免费视频 | 日韩精品一区二区三区在线观看 | 一级少妇女片 |