改進後的電話語音機器人

拙文“更聰明的電話語音機器人”解決了電話語音機器人的兩個痛點,即模糊識別和關鍵詞配置,但從實際的效果看,關鍵詞(詞槽)配置還是簡單了一些,實際應用需要將詞槽串接起來。經過改進後的例子如下:

cfg = """ {  

"init":{"voc/welcome1.wav","voc/welcome2.wav",},  

"keys":{    

 {{"額度","多少"}, "voc/quota.wav", 0, "額度解釋"},    

 {{"資料","證件","資質","抵押","信用"},"voc/info.wav", 0,"所需資料"},    

 {{"銀行","中行","建行","平安銀行","農行","工行","招行"},"voc/banks.wav",0,"銀行情況"},    

 {{"利息","利率"},"voc/interest.wav",0,"利率情況"},    

 {{"沒興趣","討厭","投訴","騷擾","不需要","不用了"}, "voc/Sorry.wav", 1, "否定"},    

 {{"好的","有的","瞭解","可以","行啊","好啊","正好","好吧"}, "work_or_buss",2,"肯定"}   }

} """;

LxjWordSlotAdd("main", cfg); // 詞槽名=main

重點的改進在關鍵字節點,增加了額外的3個值:{{關鍵詞列表}, "動作", flag, "說明"}

其中“動作”:可以是文件放音或TTS合成放音、或下一個詞槽名;

flag:0表示不返回,播放tts或語音文件; 1播放後返回; 2轉到下一個詞槽

“說明”:相當於對節點的一個文字描述

現在可以解釋上面的例子了,進入main詞槽,隨機選擇播放welcome1.wav或welcome2.wav後,你可以說話打斷,如果你說的話中帶有“額度”,則系統會播放“quota.wav”,即解釋實際的額度是多少。因爲flag值配成1,播完後還是等你說話,並不會退出這個詞槽循環。

同樣,如果你說“要什麼資料”或“利率怎麼樣”或“支持什麼銀行”,AI會給你對應的回答。但如果系統捕獲到你說的關鍵字是“沒興趣”“討厭”,系統會播放抱歉語音,然後退出循環,詞槽的值填充爲“否定”。如果捕獲到“好的”“可以”,系統則將這個詞槽填充爲“肯定”的值,然後進到下一個詞槽"work_or_buss"--詢問你是做生意還是上班。

 

cfg = """ {  

"init":{"voc/work_or_buss.wav"},  

"keys":{    

{{"上班","工作","打工"},"is_has_property" ,2,"上班"},    

{{"生意","公司","開店","開工廠","開廠"},"is_has_property" ,2,"做生意"}  

}

} """;

LxjWordSlotAdd("work_or_buss", cfg);  // 配置調查詞槽"work_or_buss":做生意還是上班,                  

 // 出口會到詢問有沒有房產的詞槽"is_has_property"

這個調查詞槽就簡單了,按要求回答後填充值,然後轉到下一個詞槽,調查你有沒有房產。

cfg = """ {  

"init":{"voc/has_property.wav"},  

"keys":{    

{{"沒有"},"to_agent" ,2,"否定"},    

{{"有"},"to_agent" ,2,"肯定"}  

} } """;

LxjWordSlotAdd("is_has_property", cfg);  // 配置調查詞槽"is_has_property":有沒有房產,                   

    // 出口會到轉接客服經理詞槽"to_agent"

cfg = """ {  

"init":{"voc/goto_agent.wav"},  

"keys":{    

{{"不用","算了", "下次吧","不需要"},"voc/Sorry.wav" ,1,"否定"},    

{{"可以","好","行"},"voc/wait.wav" ,1,"肯定"}  

} } """;

LxjWordSlotAdd("to_agent", cfg);  // 配置轉坐席詞槽"to_agent":可以轉客服經理嗎?

 

最後這個詞槽,是真正的出口,客人說“可以”,放音後將返回應用層,讓應用層去轉坐席了。

如果你想體驗實際的效果,請下載:“藍星際電話語音機器人”,5路,可免費使用1個月。

除了上述改進,新版本組合使用了更先進的WebRTC之VAD算法和我自己實現的VAD算法,效果頗佳。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章