rasa對(duì)話系統(tǒng)踩坑記(四)

前面幾篇介紹了rasa-nlu-gao中自定義的幾個(gè)模塊劳曹,最近也沒(méi)有怎么新增特別的模塊奴愉,只是在詞向量這塊不斷在嘗試。后續(xù)項(xiàng)目里用了google的bert做詞向量生成铁孵,當(dāng)然這個(gè)也已經(jīng)集成到了rasa-nlu-gao里面了锭硼。項(xiàng)目里是采用了bert-as-service,使用這個(gè)repo提供bert model的service蜕劝。具體的用法可以參照config_embedding_bilstm.yml這個(gè)配置文件檀头。

- name: "bert_vectors_featurizer"
  ip: '172.16.10.46'
  port: 5555

然而這篇想講的不是模塊的編寫和使用。現(xiàn)在做的這個(gè)對(duì)話系統(tǒng)是在特定領(lǐng)域的耳聾遺傳咨詢岖沛,然而前天給老板匯報(bào)暑始,老板說(shuō)要支持閑聊的功能,我當(dāng)時(shí)是拒絕的婴削。然后經(jīng)過(guò)一天的思考廊镜,現(xiàn)在已經(jīng)能夠?qū)崿F(xiàn)了:)

所以呢,這里說(shuō)說(shuō)集成第三方閑聊接口的實(shí)現(xiàn)方法唉俗。這里的閑聊模型我們沒(méi)有自己訓(xùn)練嗤朴,因?yàn)榇鷥r(jià)太大效果也不見(jiàn)得多好。所以調(diào)用的圖靈機(jī)器人openapi互躬,當(dāng)然你可以調(diào)用其他第三方的接口播赁。那怎么集成到rasa-core之中呢?

這里我的思路是(后面可能會(huì)做些調(diào)整)吼渡,如果在意圖識(shí)別和action識(shí)別低于某個(gè)閾值時(shí)候容为,將調(diào)用第三方api。這里需要在train_dialogue里面加上FallbackPolicy這個(gè)方法,

def train_dialogue(domain_file, model_path, training_folder):
    agent = Agent(domain_file, policies=[
        MemoizationPolicy(max_history=8),
        KerasPolicy(MaxHistoryTrackerFeaturizer(BinarySingleStateFeaturizer(),
                                               max_history=8)),
        FallbackPolicy(nlu_threshold=0.7, core_threshold=0.3, fallback_action_name="action_default_fallback")])

    training_data = agent.load_data(training_folder)

    agent.train(training_data, epochs=100)
    agent.persist(model_path)

比如這里坎背,給意圖的閾值為0.7替劈,action的閾值為0.3,就是說(shuō)意圖和預(yù)測(cè)的action分別低于這兩個(gè)值的時(shí)候得滤,會(huì)調(diào)用action_default_fallback這個(gè)自定義的action陨献。而action_default_fallback在rasa-core寫法如下:

class ActionDefaultFallback(Action):
    def name(self):
        return "action_default_fallback"

    def run(self, dispatcher, tracker, domain):    
        text = tracker.latest_message.get('text')
        message = get_response(text)
    
        if message['code'] == 100000:
            dispatcher.utter_message("{}".format(message['text']))
        else:
            dispatcher.utter_template('utter_default', tracker)

        return [UserUtteranceReverted()]

這里需要去看rasa-core中action的文檔了。而圖靈機(jī)器人api的調(diào)用懂更,網(wǎng)上也有好多教程眨业,我這里用的是v1的api

def get_response(msg):
    key = apikey
    api = 'http://www.tuling123.com/openapi/api?key={}&info={}'.format(
        key, msg)
    return requests.get(api).json()

apikey獲取需要去圖靈官網(wǎng)注冊(cè)獲取,每天有1000次免費(fèi)調(diào)用,想更多需要付費(fèi)了,如果有自己的閑聊模型或者更好的第三方那再好不過(guò)誓沸。

這里就已經(jīng)完成在rasa系統(tǒng)里面集成閑聊的功能了励两,是不是有點(diǎn)簡(jiǎn)單嚼锄,肯定還會(huì)有坑,還要繼續(xù)踩啊,也是醉了。最后展示下效果


1.png

這里的“今天天氣怎么樣奸腺?”意圖不在我的模型中,所以這里會(huì)調(diào)用第三方閑聊的api血久,并將結(jié)果返回突照。好吧,這個(gè)坑還要繼續(xù)踩洋魂,先聊到這兒吧绷旗。
原創(chuàng)文章,轉(zhuǎn)載請(qǐng)說(shuō)明出處

Recommand

liveportrait
novelling

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末副砍,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子庄岖,更是在濱河造成了極大的恐慌豁翎,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件隅忿,死亡現(xiàn)場(chǎng)離奇詭異心剥,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)背桐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門优烧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人链峭,你說(shuō)我怎么就攤上這事畦娄。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵熙卡,是天一觀的道長(zhǎng)杖刷。 經(jīng)常有香客問(wèn)我,道長(zhǎng)驳癌,這世上最難降的妖魔是什么滑燃? 我笑而不...
    開(kāi)封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮颓鲜,結(jié)果婚禮上表窘,老公的妹妹穿的比我還像新娘。我一直安慰自己甜滨,他們只是感情好蚊丐,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著艳吠,像睡著了一般麦备。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上昭娩,一...
    開(kāi)封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天凛篙,我揣著相機(jī)與錄音,去河邊找鬼栏渺。 笑死呛梆,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的磕诊。 我是一名探鬼主播填物,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼霎终!你這毒婦竟也來(lái)了滞磺?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤莱褒,失蹤者是張志新(化名)和其女友劉穎击困,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體广凸,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡阅茶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了谅海。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脸哀。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖扭吁,靈堂內(nèi)的尸體忽然破棺而出撞蜂,到底是詐尸還是另有隱情盲镶,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布谅摄,位于F島的核電站徒河,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏送漠。R本人自食惡果不足惜顽照,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闽寡。 院中可真熱鬧代兵,春花似錦、人聲如沸爷狈。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)涎永。三九已至思币,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間羡微,已是汗流浹背谷饿。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留妈倔,地道東北人博投。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像盯蝴,于是被迫代替她去往敵國(guó)和親毅哗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344