日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Bot Framework 搭建聊天机器人

發(fā)布時(shí)間:2023/12/19 43 生活家
生活随笔 收集整理的這篇文章主要介紹了 Bot Framework 搭建聊天机器人 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這周我來跟大家分享的是在Microsoft Build 2016上發(fā)布的微軟聊天機(jī)器人的框架。

現(xiàn)如今,各種人工智能充斥在我們的生活里。最典型的人工智能產(chǎn)品就是聊天機(jī)器人,它既可以陪我們聊天,也可以替代客服人員回答客戶的問題,甚至還可以充當(dāng)秘書幫助我們訂電影票、飛機(jī)票等等。最成功的產(chǎn)品就是蘋果公司的Siri和微軟公司的Cortana。

那么如何搭建一個(gè)自己的聊天機(jī)器人呢?今天我會(huì)用微軟公司出品的Bot Framework來搭建一個(gè)聊天機(jī)器人。

官網(wǎng)上介紹 Bot Framework 可以用C#, Node.js來編寫,由于我個(gè)人技術(shù)限制問題,我只介紹C#的部分。大家可以使用Node.js來編寫。你也可以從Github獲取官方事例代碼。

前提準(zhǔn)備

Visual Studio 2015 或者Visual Studio 2017
在Visual Studio 中,將所有插件進(jìn)行更新
下載Bot Framework 模板,將下載的zip文件夾直接復(fù)制到%USERPROFILE%DocumentsVisual Studio 2017TemplatesProjectTemplatesVisual C#

創(chuàng)建你的機(jī)器人

打開Visual Studio 并且創(chuàng)建一個(gè)C#項(xiàng)目,選擇Bot Application作為項(xiàng)目的模板。

使用 Bot Application作為項(xiàng)目模板創(chuàng)建出來的項(xiàng)目已經(jīng)包含了一個(gè)簡(jiǎn)單的機(jī)器人。請(qǐng)檢查一下項(xiàng)目是否包含了最新的Bot Application模板:

右鍵點(diǎn)擊項(xiàng)目,找到Manage NuGet Packages
在Browse標(biāo)簽欄,輸入“Microsoft.Bot.Builder”
在結(jié)果中找到Microsoft.Bot.Builder并點(diǎn)擊后面的更新按鈕
根據(jù)提示來更改并更新引用的程序包

輸入代碼

首先,編寫ControllersMessagesController.cs文件中的Post方法來獲得用戶的消息并且調(diào)用根對(duì)話框

C#
[BotAuthentication]
public class MessagesController : ApiController
{
    /// <summary>
    /// POST: api/Messages
    /// Receive a message from a user and reply to it
    /// </summary>
    public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
    {
        if (activity.Type == ActivityTypes.Message)
        {
            await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
        }
        else
        {
            HandleSystemMessage(activity);
        }
        var response = Request.CreateResponse(HttpStatusCode.OK);
        return response;
    }
    ...
}

這個(gè)根對(duì)話框會(huì)處理消息并且生成一個(gè)回復(fù),DialogsRootDialog.cs文件中的MessageRevicedAsync方法會(huì)回復(fù)用戶的消息。

C#
[Serializable]
public class RootDialog : IDialog<object>
{
    public Task StartAsync(IDialogContext context)
    {
        context.Wait(MessageReceivedAsync);
        return Task.CompletedTask;
    }

    private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
    {
        var activity = await result as Activity;

        // calculate something for us to return
        int length = (activity.Text ?? string.Empty).Length;

        // return our reply to the user
        await context.PostAsync($"You sent {activity.Text} which was {length} characters");

        context.Wait(MessageReceivedAsync);
    }
}

測(cè)試你的機(jī)器人

下一步,使用Bot Framework Emulator來測(cè)試你的機(jī)器人,首先你需要下載并安裝它。

運(yùn)行你的機(jī)器人

在安裝完Bot Framework Emulator之后,你可以點(diǎn)擊 "Microsoft Edge"按鈕來運(yùn)行它。

運(yùn)行成功界面如下圖所示

打開你的emulator并且連接到機(jī)器人

首先,需要確保你的機(jī)器人正在本機(jī)上運(yùn)行,之后打開emulator然后連接到你的機(jī)器人:

在地址欄輸入http://localhost:port-number/api/messages,port-number是你瀏覽器中顯示的,機(jī)器人占用的端口號(hào)碼
點(diǎn)擊Connect,你不需要輸入Microsoft App ID和Microsoft App Password。現(xiàn)在他們是空白的也沒有問題,在之后,如果你注冊(cè)了bot, 你會(huì)得到這些信息。

測(cè)試你的機(jī)器人

現(xiàn)在你的機(jī)器人已經(jīng)開始運(yùn)行了,并且emulator已經(jīng)開始工作了。你可以輸入你想輸入的任何東西。在輸入后,你會(huì)看到*'You sent' and ending with the text 'which was ## characters', where ## is the total number of characters in the message that you sent.* 這樣的回復(fù)。

結(jié)語

好啦,搭建自己的機(jī)器人是不是非常簡(jiǎn)單呢。但是,如果想搭建一個(gè)如Siri或者Cortana這樣的機(jī)器人,那是需要海量數(shù)據(jù)來支持的,甚至還需要自學(xué)習(xí)算法以及人工智能的知識(shí)。因?yàn)楫?dāng)一個(gè)用戶輸入一段話的時(shí)候,機(jī)器人必須了解這句話的含義,甚至要去猜測(cè)這句話的意思,并給出正確或者接近的答案。這也是為什么能做聊天機(jī)器人的公司大都是搜索公司或者用戶量極大的互聯(lián)網(wǎng)公司。

這個(gè)項(xiàng)目只是我們觸及機(jī)器人的一小步,還有很多的知識(shí)來不及介紹,比如如何將Bot發(fā)布到服務(wù)器上,并且用微信或者Skype進(jìn)行訪問,如何將Bot和一些Cortana這些智能平臺(tái)進(jìn)行交互,這些大家可以自行到官網(wǎng)上去了解并學(xué)習(xí)。

How the Bot Framework works
Principles of bot design
Bot Builder SDK for .NET
Deploy a bot to the cloud
Bot Framework FAQ

總結(jié)

以上是生活随笔為你收集整理的Bot Framework 搭建聊天机器人的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。