• <strike id="fdgpu"><input id="fdgpu"></input></strike>
    <label id="fdgpu"></label>
    <s id="fdgpu"><code id="fdgpu"></code></s>

  • <label id="fdgpu"></label>
  • <span id="fdgpu"><u id="fdgpu"></u></span>

    <s id="fdgpu"><sub id="fdgpu"></sub></s>
    您當前的位置是:  首頁(yè) > 新聞 > 文章精選 >
     首頁(yè) > 新聞 > 文章精選 >

    Chatopera多輪對話(huà)設計器

    2018-08-03 11:10:31   作者:   來(lái)源:CTI論壇   評論:0  點(diǎn)擊:


    多輪對話(huà)設計器
    多輪對話(huà)設計器是設計滿(mǎn)足業(yè)務(wù)需求的對話(huà)機器人的PC端應用程序,現已支持Windows和Mac OSX平臺。多輪對話(huà)能力是聊天機器人模仿人的對話(huà)能里的一大挑戰,在復雜的上下文和需要很多背景知識的前提下,現有的人工智能技術(shù)是無(wú)能為力的,在Chatopera,我們相信在企業(yè)服務(wù)中,當話(huà)術(shù)或流程固定的情況下,依賴(lài)Chatopera的產(chǎn)品可以輸出用對話(huà)完成任務(wù)的服務(wù),比如用對話(huà)完成點(diǎn)餐、報銷(xiāo)、請假。這些對話(huà)可以在企業(yè)的聊天工具中,也可以通過(guò)智能音箱的等其他客戶(hù)端。
    在真正介紹腳本語(yǔ)法前,我們先來(lái)認識下面的術(shù)語(yǔ):
    • 對話(huà):滿(mǎn)足設定需求的多輪對話(huà);
     
    • 輸入:用戶(hù)向聊天機器人發(fā)送的消息的文字形式;
    • 觸發(fā)器:匹配用戶(hù)輸入文字的字符串,可以聲明槽位,當用戶(hù)的輸入發(fā)生時(shí),會(huì )按照算法順序匹配觸發(fā)器;
    • 回復:機器人回復用戶(hù)輸入的文字;
    • 多輪對話(huà):根據上一次回復的狀態(tài),聲明下輪對話(huà)的優(yōu)先匹配規則。
    • 函數:可以從腳本中接受輸入,并通過(guò)JavaScript執行任務(wù)返回結果的代碼。
    現在讀者對這些概念有一個(gè)模糊的理解就可以,在閱讀本文,在對照我們提供的多輪對話(huà)設計器:快速開(kāi)始和多輪對話(huà)設計器: 實(shí)現天氣查詢(xún)機器人的過(guò)程就可以很快掌握它們。

    觸發(fā)器

    觸發(fā)器是對話(huà)的基礎,當用戶(hù)向bot發(fā)送一條消息時(shí),機器人引擎會(huì )從所有定義的觸發(fā)器中找到匹配的一個(gè)。在機器人引擎中,觸發(fā)器用半角字符加號( + )表示。機器人的回答用半角字符減號( - )表示。
    例如,我們可以這樣定義一個(gè)對話(huà):
    + 晚飯吃什么
    - 北京烤鴨
    注意:這里( + )和( - )和文字之間需要隔一個(gè)空格。

    槽位

    為了讓觸發(fā)器能適應復雜的需求,機器人引擎使用槽位規則,槽位既能讓規則具有更好的匹配能力,也能讓回復和函數中使用不同槽位的值。
    注意:下面的某些槽位帶有空格,這些空格是必須的。

    通用槽位

    通用槽位會(huì )匹配零到無(wú)窮個(gè)字符、單詞。此處的輸入不會(huì )被系統捕獲或者存儲。
    + (*) 你好 (*)
    - 歡迎光臨
    匹配:客服你好
    匹配:你好
    匹配:你好嗎

    確定長(cháng)度槽位

    如果你知道你想要的字符長(cháng)度,可以試試確定長(cháng)度槽位。此處的槽位可以被系統捕獲,而且可以在回答中使用
    語(yǔ)法為*n, 其中n代表長(cháng)度。
    + 早安 *2
    - 早安
    匹配:早安北京
    不匹配:早安烏魯木齊

    可控長(cháng)度槽位

    如果你只想匹配一些字符,可控長(cháng)度的槽位是個(gè)不錯的選擇。
    語(yǔ)法為*~n, n代表你想匹配的最大長(cháng)度
    + 早安 *~4
    - 早安
    匹配:早安
    匹配:早安北京
    匹配:早安哈爾濱
    匹配:早安烏魯木齊
    不匹配:早安一些不知道的地方

    區間槽位

    如果你想匹配一個(gè)確定的區間,比如2到4個(gè)字符之間,區間槽位絕對可以滿(mǎn)足需要。
    語(yǔ)法為*(min-max), 此槽位可以被系統捕獲和用在回答中。
    *(n)和*n是一樣的
    + 早安 *(2-4)
    - 早安
    匹配:早安北京
    匹配:早安烏魯木齊
    不匹配:早安

    必選項

    必選項用在你有一系列可選項,但是必須有一個(gè)被匹配。輸入中的可選項會(huì )被系統捕獲和用在回答中
    + 早安(北京|上海|天津)
    - 早安
    匹配:早安北京
    匹配:早安上海
    不匹配:早安

    可選項

    可選項用來(lái)確定一些額外的內容
    + 早安 [美麗的] 北京
    - 早安
    匹配:早安北京
    匹配:早安美麗的北京
    不匹配:早安熱鬧的北京

    回復

    在觸發(fā)器中,我們已經(jīng)學(xué)到了怎么添加一個(gè)回答。事實(shí)上你可以添加任意數量的回答。這里還有一些高級功能可以幫助你完成更多的任務(wù)。

    基礎回復

    + 在嗎
    - 你好,在的
    如果添加了多個(gè)回答,系統會(huì )從中隨機挑選一個(gè)作為回復, 然后丟掉這個(gè)回答。
    + 在嗎
    - 親,在的
    - 親,有什么需要幫助
    - 你好,請問(wèn)遇到什么問(wèn)題了嗎?
    所謂丟掉這個(gè)答案,是指機器人針對同一個(gè)用戶(hù),在半個(gè)小時(shí)內再次匹配上該觸發(fā)器時(shí),選擇回復時(shí),不考慮使用過(guò)的回復。
    在一個(gè)觸發(fā)器中聲明多個(gè)回復后,保存,邏輯中將出現分支。
    如果不想讓系統丟掉使用過(guò)的回復,可以在回復前添加{keep}。
    + 在嗎
    - {keep} 親,在的
    - 親,有什么需要幫助
    - 你好,請問(wèn)遇到什么問(wèn)題了嗎?
    也可以在觸發(fā)器前添加{keep},就不用在每個(gè)回答中都添加了
    + {keep} 在嗎
    - 親,在的
    - 親,有什么需要幫助
    - 你好,請問(wèn)遇到什么問(wèn)題了嗎?
    如果回答很長(cháng),可以通過(guò)^分割以方便可讀性。可以通過(guò)/n實(shí)現換行
    + 在嗎
    - 你好,這里是客服中心,\n
    ^ 請問(wèn)遇到什么問(wèn)題了嗎?
    等價(jià)于
    + 在嗎
    - 你好,這里是客服中心,請問(wèn)遇到什么問(wèn)題了嗎?

    槽位取值

    有些時(shí)候,你希望在回答中使用輸入中的內容。可以使用<cap>達成目的。
    + 我是 *~3
    - 你好,<cap>
    如果用戶(hù)輸入,我是張三,那么系統將回復,你好,張三
    當有多個(gè)捕獲時(shí),你可以使用多個(gè)<cap>
    + *2 比 *2 高
    - 你確定<cap1>比<cap2>高嗎?
    匹配:小明比小紅高
    回答:你確定小明比小紅高嗎?
    在對話(huà)中,我們有時(shí)候會(huì )需要以前的捕獲,看一下下面這個(gè)例子
    + 我叫 *~3
    - 你好,<cap1>

        + 你猜我叫什么?
        % 你好,<cap1>
        - 你剛說(shuō)了,你叫<p1cap1>
    <pNcapM>代表了以前的捕獲。其中N代表在在對話(huà)中之前的問(wèn)答,M代表捕獲的位移。
    此處,還有一個(gè)重要語(yǔ)法:%。(%) 開(kāi)頭的句子代表觸發(fā)器“你猜我叫什么?”只服務(wù)于“你好,”作為回復時(shí),它會(huì )被優(yōu)先匹配。上一輪對話(huà)的回復通過(guò)(%)的方式指定了接下來(lái)的邏輯,形成多輪對話(huà)。 關(guān)于(%)的用法,后文還會(huì )進(jìn)行詳細介紹,此處,讀者只需要掌握從上下文的槽位取值便可。
    另外,(+, %, -) 前的空格不是必須的,在多輪對話(huà)中,空格可以增強腳本的可讀性,但是系統是忽略的。

    重定向 {@reply}

    有些時(shí)候,在問(wèn)答對中重用一些回復能使編寫(xiě)腳本效率更高,這時(shí)可以定義一個(gè)問(wèn)答對,并在腳本其它位置引用它。
    + 在嗎
    - {@__greeting__} 請問(wèn)有什么能幫助您?

    + __greeting__
    - 親,在的。
    - 你好,客服小美為您服務(wù)
    - 親親,稍等,客服馬上就到
    引用的方式就是 “{@觸發(fā)器}”,觸發(fā)器中的下劃線(xiàn)不是必須的,但是它能增強腳本的可讀性。

    多輪對話(huà)

    在實(shí)際應用中,和機器人聊天時(shí),很可能要通過(guò)多輪對話(huà)完成一個(gè)任務(wù)。我們用(%)來(lái)定位之前回復,聲明新的觸發(fā)器,(%)后的內容是和某個(gè)回復內容一樣的字符串。
    + *
    - 您身高多少

      + *(3-5)
      % 您身高多少
      - 我的身高也是<cap>
    讓我們一起看看這個(gè)例子:
    1. 當用戶(hù)輸入任何文字,我們用通用槽位觸發(fā)回答,然后系統回復“您身高多少”。
    2. 當用戶(hù)繼續輸入時(shí),系統會(huì )先從歷史中查看之前的回復中是否有對應的上下文,在這里指的是% 您身高多少
    3. 最后,如果用戶(hù)輸入3到5個(gè)字符,系統匹配觸發(fā)器+ *(3-5), 并且回復我也是<cap>。<cap>代表的就是用戶(hù)輸入的內容 。

    函數

    函數是一個(gè)強大而有趣的設計。在回復中,可以使用函數來(lái)獲取整條消息對象,用戶(hù)對象或者其它資源,比如數據庫。把槽位值當做變量傳給函數,例如下面這個(gè)例子:
    + 我的用戶(hù)名是 *(2-10)
    - ^getUserAccount(<cap>)
    所以,調用函數的方式就是使用“^”。在函數的編輯窗口中,可以這樣定義:
    exports.getUserAccount(account, cb) {
      cb(null, "對不起,系統沒(méi)有找到" + account);
    }
    函數的聲明中,參數列表首先是槽位的值,可以傳多個(gè),然后最后一個(gè)參數始終是回調函數(cb),cb的參數列表為(error, text)。text作為文本添加到回復中。

    復合函數

    在回復中,可以添加任意多的函數,比如
    + ...
    - 聯(lián)合 ^callFunction1() 和 ^callFunction2()

    嵌套函數

    在函數的回調函數中,函數名會(huì )被解析成對應的函數,所以放心的在回復中添加任意合法的函數,比如在腳本中這樣寫(xiě):
    + ...
    - ^nestedAFunction()
    然后,在函數中,定義如下:
    exports.nestedAFunction = function(cb) {
      cb(null, "張三 ^nestedBFunction()");
    }
    exports.nestedBFunction = function(cb) {
      cb(null, "和李四");
    }
    以上是多輪對話(huà)設計器 v1.x 版本中支持的腳本語(yǔ)法,這些語(yǔ)法能夠保證業(yè)務(wù)人員實(shí)現滿(mǎn)足需求的聊天機器人。多輪對話(huà)設計器將在2018年07月21日發(fā)布,如果您想參加這兩個(gè)產(chǎn)品的發(fā)布會(huì ),請報名Chatopera產(chǎn)品發(fā)布會(huì ):追求高度智能化和自動(dòng)化的企業(yè)服務(wù)

    【免責聲明】本文僅代表作者本人觀(guān)點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對文中陳述、觀(guān)點(diǎn)判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。

    專(zhuān)題

    亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩 宁阳县| 华蓥市| 柘城县| 蒙城县| 景德镇市| 阳东县| 图们市| 萨迦县| 泰来县| 盱眙县| 绵阳市| 永登县| 塔城市| 镶黄旗| 平顺县| 丹东市| 涿鹿县| 三江| 商洛市| 资中县| 浑源县| 南丹县| 克什克腾旗| 宁晋县| 利辛县| 慈利县| 宁城县| 临清市| 康乐县| 静安区| 金堂县| 云林县| 卢湾区| 扬中市| 无为县| 祁阳县| 新宁县| 简阳市| 秦安县| 民丰县| 衡阳市| http://444 http://444 http://444 http://444 http://444 http://444