回顧·如何打造主動對話式AI

DataFunTalk發表於2018-08-24

本文根據竹間智慧 CTO、聯合創始人翁嘉頎在DataFun Talk人工智慧技術沙龍 ——“基於情感情緒識別的對話式AI及應用實踐”中分享的《如何打造主動對話式AI》編輯整理而成,在未改變原意的基礎上稍做整理。

回顧·如何打造主動對話式AI

前人工智慧時代是基於關鍵詞模板,只能接受固定命令,能力無法持續提升,不能識別使用者情緒,沒有使用者記憶。如現在的智慧音響,你如果對音響說“我現在吃很飽”關鍵詞是“吃飯”,音響就會為你推薦附近的菜館。當然我們的期望不是這樣,期望可以用比較好的方式來做。如“我不喜歡吃牛肉麵”,看到句子是一個否定陳述句,這不是一個命令句和意圖,所以可以避開定外賣這個意圖。利用自然語言理解意圖,自然語言目前分為三個層次,第一個是nlp,語句分詞;第二層叫意圖理解,“肚子好餓”和“我想吃東西”這兩個意圖相近;第三層就是結合場景、理解使用者情緒,實現意圖識別。

回顧·如何打造主動對話式AI

接下來講一下情感計算的設計與應用,我們做了22種文字情緒,計算出你寂寞和無聊的情感要幹嘛。但是僅僅做負、正、中情緒是不夠的,圖中紅色代表憤怒,藍色是討厭、難過,紫色是害怕,都是負面情緒,但是這三種負面情緒是不一樣的,因此機器反饋也是不一樣的。除此之外還做了9種人臉表情、4種語音情緒,將“文字+表情+語音”形成多模態情感。這樣的意義是什麼呢,舉個例子如“高考我考了500分”這個時候你是應該恭喜還是安慰呢,但是如果加入說話的語氣就完全不一樣,語音情緒表達更多資訊。再加上人臉表情,如面帶微笑說“你死定了”這個時候很難判斷意圖,結合上下文,如果都是微笑那就是開玩笑,如果兩者在吵架,這個時候就是威脅。

回顧·如何打造主動對話式AI

上面是一個多模態情感例子,上面是人臉表情,中間是語音情緒,下面是文字情緒,圖片的正上方是其總情緒。

回顧·如何打造主動對話式AI

有了情緒接下來是做一個好的機器人,那麼一個好的機器人如何製作呢。目前市面上的聊天機器人智商在2-3歲,竹間科技的機器人在5-6歲,它可以查天氣、查快遞、查股票、成語接龍等40種原生功能與技能。

回顧·如何打造主動對話式AI

再者就是知識圖譜,機器人很多使用者是小朋友,針對同一個問題需要識別不同問法,識別什麼是疑問句、感嘆句。然後做一些推論,如“姚明的老婆有多高”先找到姚明的老婆,然後推出葉莉的身高190cm。“謝霆鋒跟陳小春有什麼關係”通過知識圖譜可以推斷謝霆鋒的前妻的前男友是陳小春,還有“陸奇加入百度之後股價漲還是跌”,知識圖譜需要找到“陸奇”是誰,百度是什麼,陸奇是哪一天離開的,哪一天百度的股價是多少等等資訊然後推斷,這些是機器少數能替代人的地方。還有就是Bi-attention flow,利用深度學習模型,詢問問題,由知識圖譜深度模型尋找答案,這個存在缺點是不可控。

回顧·如何打造主動對話式AI

閒聊不是隨便的聊,好的閒聊需要用主題控制,主題還有階層關係,如“你喜歡英超哪支球隊?”,該問句的主題是運動下面的足球底下的五大聯賽的英超,如果回答“我喜歡巴薩”或者“我喜歡蛋炒飯”這些都是不對的。現在對話的主題是體育裡面的足球,因此回答應該更強烈的選擇與足球相關的,依據主題做對話的控制。那如何做話題的跳轉呢,機器人主動引導話題跳轉,依據你對話中的相關屬性來主導話題,或者根據 memory,根據 user profile,根據前面的對話來主導話題。

回顧·如何打造主動對話式AI

接下來講一下上下文理解,人不會每次都講完整的句子,如“Q1:明天我們去看電影好不好? A1:明天有事不行,Q2:那後天呢?”,那後天就代表後天我們去看電影好不好,這種就是第一種主謂賓的補全。第二種就是指代消減,如“我喜歡大張偉,我也喜歡他”這個他就是指大張偉。第三種是話題式,如“Q1:你們有賣淨水器嗎?A1:有啊Q2:佔不佔地方啊? A2:不會,很小的Q3:怎麼賣啊?”,根據目前的話題進行上下文的補全。

一個好的機器人還需要一些記憶能力,長時記憶,如“我不喜歡吃辣的”,那麼下次推薦餐館就避免推薦辣的餐館。永久記憶,我今天肚子不舒服,那麼就不能聊大姨媽的事情。短時記憶,一般是48小時到72小時,如“明天要去蘇州間張先生”,晚上詢問明天要去哪裡,回答明天要去蘇州。這種就是短時知識圖譜,放在使用者裡面,在你問問句時回答你。

回顧·如何打造主動對話式AI

人機對話還有一些“Prediction & Generation”,根據上下文去預測下一句話,去預測其主題、意圖、keywords、句型、情感變化等。有了句型、關鍵詞,進行造句,根據上下文生成或者根據不同的使用者說話習慣來生成。那麼如何實現呢,通過外包請人聊天獲取資料,通過資料清洗等操作然後做預測。

回顧·如何打造主動對話式AI

接下來講一下NLP模型架構,其中最核心的是中文分詞,分詞不對語義理解肯定錯誤;然後是詞性標註,名詞、形容詞、副詞等標註;還有就是句式識別,如“人民廣場怎麼走?”,“你喜不喜歡吃蘋果?”這些都是上下文對話的基礎,有的是詢問資訊,有的是問你個人喜好等。“你在北京買衣服花了好多錢?”和“你上個月在北京買衣服花了好多錢”,一個是疑問句一個是感嘆句,說的意思也是完全不同。

回顧·如何打造主動對話式AI

如“你好可愛”,如果分詞為“你好”和“可愛”,會認為你是和名叫可愛的人打招呼。那我們怎麼做呢,舉例說明,如“我明天飛上海,住兩天,要如家”,核心動詞“飛上海”、“住兩天”、“要如家”,核心是“飛、住、要”,“住兩天”知道意圖是要訂酒店。第一種做法是將整個句子丟到一個黑盒子中模型訓練得出意圖,這種需要大量的基礎資料。第二種將句子進行拆分,在丟到模型中訓練,這樣會簡單很多。

如何利用 NLP 的基礎資訊呢,如“上週買衣服花了多少錢?”,首先知道是一個數量問句,核心動詞“花錢買衣服”類別是衣服,時間是上週,通過拆解進行判斷。

回顧·如何打造主動對話式AI

接下來看一下人機互動下一步的變化,目前情況67%的使用者決定轉人工,不是因為匹配錯誤,而是【答案看不懂】,25%的使用者決定轉人工,不是因為匹配錯誤,而是【新問題】,只有 8%的使用者決定轉人工,是因為演算法匹配錯誤。因此應該採用互動的方式,才能解決主要問題。不是所有的問題都是多輪,只要在某一區域的前二十個問題做到多輪就有很大的提升。第二個機器人不再被動,主動和你聊天,根據你的 image,主動跟你交談,根據你的 profile,主動跟你交談。還有就是依據機器視覺實現人機對話互動。

結合使用者畫像和使用者的多輪對話,作為條件制定策略,進行商品或服務的推薦。

回顧·如何打造主動對話式AI

還有一個目前比較潮流的就是多輪之間的切換-中控中心,如訂酒店,找到訂酒店機器人,然後詢問上海是否下雨,還在訂酒店場景,但是同時命中天氣機器人,然後詢問“那我後天入住,住兩個晚上” (回到訂酒店機器人,繼續未完成的場景)。依據多輪對話實現不同機器人的切換。

——END——


相關文章