亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩,日本久久久久,日本-区二区三区免费精品,中文字幕日本亚洲欧美不卡

您當前的位置是:  首頁 > 新聞 > 文章精選 >
 首頁 > 新聞 > 文章精選 >

Chatopera多輪對話設計器

2018-08-03 11:10:31   作者:   來源:CTI論壇   評論:0  點擊:


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

觸發(fā)器

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

槽位

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

通用槽位

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

確定長度槽位

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

可控長度槽位

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

區(qū)間槽位

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

必選項

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

可選項

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

回復

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

基礎回復

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

槽位取值

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

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

重定向 {@reply}

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

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

多輪對話

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

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

函數

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

復合函數

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

嵌套函數

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

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

專題

丹江口市| 漳平市| 两当县| 绥中县| 静乐县| 长春市| 安塞县| 偏关县| 丹江口市| 蒙城县| 鹤壁市| 大足县| 鄢陵县| 湘乡市| 晋中市| 清丰县| 海晏县| 五寨县| 名山县| 水城县| 镇平县| 扬中市| 浠水县| 乌海市| 石棉县| 司法| 怀远县| 丰宁| 新兴县| 崇礼县| 农安县| 延边| 错那县| 锡林浩特市| 化隆| 怀仁县| 龙里县| 南投县| 错那县| 嘉义县| 迁安市|