人機交互如何改變人類生活 | 公開課筆記
來自專欄 AI科技大本營5 人贊了文章
作者 | 翁嘉頎
編譯 | 姍姍
出品 | 人工智慧頭條(公眾號ID:AI_Thinker)
【導讀】在人機交互過程中,人通過和計算機系統進行信息交換,信息可以是語音、文本、圖像等一種模態或多種模態。對人來說,採用自然語言與機器進行智能對話交互是最自然的交互方式之一,但這條路充滿了挑戰,如何機器人更好的理解人的語言,從而更明確人的意圖?如何給出用戶更精準和不反感的回復?都是在人機交互對話過程中最為關注的問題。對話系統作為NLP的一個重要研究領域受到大家越來越多的關注,被應用於多個領域,有著很大的價值。
本期大本營公開課,我們邀請到了竹間智能的 CTO 翁嘉頎老師,他將通過對技術方法通俗易懂的講解和Demo 演示相結合的方式為大家講解本次課題,本次課題主要包含一些幾個內容:
1.上下文理解技術——補全與指代消解
2.上下文理解技術——對話主題式補全
3.NLU的模塊架構及如何利用NLU的基礎信息
4.Live Demo 演示
5.人機交互的案例分享與研究發展趨勢
6. Q & A
觀看回放:
人機交互未來如何改變人類生活 - 直播課 - CSDN學院 - 在線學習教程 - 會員免費-CSDN學院以下是公開課文字版整理內容
前言
我從1982年開始坐在電腦前面,一直到現在。上一次做人工智慧是27年前,大概1991年的時候,那個時候做人工智慧的人非常可憐 ,因為做什麼東西都註定做不出來,隨便一個機器學習的訓練、神經網路訓練需要20天,調個參數再重新訓練又是20天,非常非常慢。電腦棋類我除了圍棋沒做以外,其他都做了,本來這輩子看不到圍棋下贏人,結果兩年前看到了。後來做語音識別,語音識別那個年代也都是玩具,所以那個年代做人工智慧的人最後四分五裂,因為根本活不下去,後來就跑去做搜索引擎、跑去做金融、跑去做其他的行業。
這次人工智慧捲土重來,真的開始進入人類生活,在周邊地方幫上我們的忙。今天我來分享這些人機交互的技術到底有哪些變化。
先講「一個手環的故事」,這是一個真實的故事,我們在兩年前的4月份曾經想要做這個,假設有一個用戶戴著手環,「快到周末了,跟女朋友約會,給個建議吧」。背後機器人記得我的一些事情,知道我過去的約會習慣是看電影,還是去爬山,還是在家打遊戲、看視頻。如果要外出的話,周末的天氣到底怎樣,如果下大雨的話那可能不適合。
而且它知道我喜歡看什麼電影、不喜歡看什麼電影、我的女朋友喜歡看什麼、不喜歡看什麼,它甚至知道我跟哪一個女朋友出去,喜歡吃什麼,不喜歡吃什麼,餐廳的價位是吃2000塊一頓,還是200塊一頓,還是30塊一頓的餐館,然後跟女朋友認識多久了,剛認識的可能去高檔一點的地方,認識6年了吃頓便飯就和了,還有約會習慣。
有了這些東西之後,機器人給我一個回應,說有《失落 的世界2》在某某電影院,這是我們習慣去的地方,看完電影,附近某家餐館的價位和口味 是符合我們的需要。我跟它說「OK,沒問題」,機器人就幫我執行這個命令,幫我買電影票、幫我訂餐館、周末時幫我打車,甚至女朋友剛認識,買一束花放在餐館的桌上。
我們當時想像是做這個。這個牽扯到哪些技術?第一,有記憶力,你跟我講過什麼東西,我能記得。還包括人機交互,我今天跟它講「周末是女朋友生日 ,訂個好一點的吧。」它能幫我換個餐館,能理解我的意思。
如果手環能夠做到這個樣子,你會覺得這個手環應該是夠聰明的,這個機器人是夠聰明的,能夠當成 你的助手陪伴你。最後,我們並沒有做出來,我們做到了一部分,但是有一部分並沒有做到。
我們公司的老闆叫Kenny,他之前是 微軟亞洲互聯網工程院副院長,負責小冰及cortana的,老闆是做搜索引擎出身的,我以前也是做搜索引擎的,做了11年。左下角的曹川在微軟做搜索引擎。右上角在微軟做搜索引擎。右下角在谷歌做搜索引擎。目前的人工智慧很多是 搜索引擎跑回來的,因為搜索引擎也是做語義理解、文本 分析,和人工智慧的文本 分析有一定的相關度。
人機交互的發展
一開始都是一些關鍵詞跟模板的方式,我最常舉的例子,我桌上有一個音箱,非常有名的一家公司做的,我今天跟這個音箱說「我不喜歡吃牛肉麵」,音箱會抓到關鍵詞「牛肉麵」,它就跟我說「好的,為您推薦附近的餐館」,推薦給我的第一個搞不好就是牛肉麵。我如果跟它說「我剛剛吃飯吃很飽」,關鍵詞是「吃飯」,然後它又說「好的,為您推薦附近的餐館」,所以用關鍵詞的方式並不是不能做,它對語義意圖理解的準確率可能在七成、七成五左右,也許到八成,但有些東西它是解不了的,因為它並不是真的理解你這句話是什麼意思。所以要做得好的話,必須用自然語言理解的方式,用深度學習、強化學習,模板也用得上,把這些技術混搭在一起,比較有辦法理解你到底要做什麼事情。
這個Chatbot的演變歷程我們不細講,但我今天要表達,在人機交互裡面或者語義理解上面,我們分成三個層次。
最底層的叫自然語言理解,舉例來說,我現在想說「我肚子餓」跟「我想吃東西」這兩句話的句法、句型不太一樣,所以分析的結果也不太一樣,這是最底層的。
第二層叫「意圖的理解」,這兩句話雖然不一樣,但它們的意圖是一致的,「我肚子餓」跟「我想吃東西」可能代表我想知道附近有什麼餐館,或者幫我點個外賣,這是第二層。目前大家做的是第一層跟第二層。
其實還有第三層,第三層就是這一句話背後真正的意思是什麼,比如我們在八點上這個公開課,我突然當著大家的面說「我肚子餓」跟「我想吃東西」,你們心裡會有什麼感受?你們心理是不是會覺得我是不是不耐煩、是不是不想講了。你的感受肯定是負面的。今天如果我對著一個女生說「我肚子餓」,女生心裡怎麼想?會想我是不是要約她吃飯,是不是對她有不良企圖。目前大家離第三層非常遙遠,要走到那一步才是我們心目中真正要的AI,要走到那一步不可避免有情緒 、情感的識別、情境的識別、場景的識別、上下文的識別。
我們公司的名字叫「EMOTIBOT」,情感機器人,我們一開始創立時就試著把情緒 情感 的識別做好。我們情緒情感識別,光文字做了22種情緒 ,這非常變態 ,大部分公司做的是「正、負、中」三種,但是你看負面的情緒 ,有反感、憤怒、難過、悲傷、害怕、不喜歡、不高興,這些情緒 都是負面的,但是它不太一樣,我害怕、我悲傷、 我憤怒,機器人的反饋方式應該是不一樣的。
人臉表情我們做了9種,語言情緒 我們做了4種。而且我們做最多的是把這些情緒混合在一起做了多模態的情感。舉個例子,像高考光結束,我今天看了一段文字:「我高考考了500分」,你看了這段文字不知道該恭喜我還是安慰我。這時要看講話的語氣,如果我的語氣是說「哦,我高考考了500分。」你一聽就知道我是悲傷的,所以會安慰我。所以通常語音情感 比文字情感 來得更直接。
然後人臉表情加進來,三個加在一起,又更麻煩了。我們來看一段視頻,我用桌面 共享。(視頻播放)「鬼知道我經歷了什麼」,文字上是匹配的——我已經要死了、生不如死,我的文字是憤怒的,但我的語音情緒跟臉表情是開心的,所以我的總情緒 仍然是開心的。這是把人臉表情、語音情緒 、文字情緒 混搭在一起做出來的多模態情感。
上下文理解技術
接下來進入比較技術面的部分,講話聊天時,任務型的機器人一定牽扯到上下文的理解技術。
什麼叫上下文理解技術?
這是某個電商網站,我前面一句話跟它說「我要買T恤」,它給我3件T恤,我跟它說「要黑色的」,意思是我要黑色的那件T恤,但它完全不理解我的意思,因為沒有上下文。所以它居然在跟我解釋黑色的基本定義是什麼,是因為不返色,所以你看不到光,所以它是黑色的。這完全不是我要的東西,所以沒有上下文時,它的反應常常啼笑皆非。
我們來看看上下文怎麼做,上下文有幾種做法。第一種是補全與指代消解,像說「明天上海會不會下雨」,回答了「明天上海小雨」,「那後天呢」缺了主謂賓等一些東西,所以往上去找,把它補全,把「那後天呢」改成「後天上海會不會下雨」,然後機器人就有辦法處理。
指代消解也是「我喜歡大張偉」,然後機器人回答說「我也喜歡他」,「他」是誰?這個代名詞,我知道「他」是大張偉,所以把「我也喜歡他」改成「我也喜歡大張偉」,這樣才有辦法去理解。然後那個人就說「最喜歡他唱得《倍兒爽》」,那他是誰?要把它改成寫「最喜歡大張偉唱的《倍兒爽》」。這兩個是基本的東西,基本上每家公司都能夠做得到。
然後我們看難一點的東西,可以不可以做對話主題式補全?這個開始有一些上下文在裡面,「我喜歡大張偉」,第一句話目前的對話主題是大張偉,然後它回答說「對啊,我也喜歡他」改成「我也喜歡大張偉」,這沒問題。
第二句話是「喉嚨痛怎麼辦?」這有兩種可能,因為我現在的對話主題是大張偉,所以可能是「喉嚨痛怎麼辦」,也可能是「大張偉喉嚨痛怎麼辦」,這時候怎麼辦?我到底應該選哪一個?先試第一個「喉嚨痛怎麼辦」,居然就可以找到答案了,我知道能夠找到好的答案,我就回答了「喉嚨痛就多喝開水」,目前的對話主題也變成喉嚨痛。
第三個是「他唱過什麼歌?」這個他到底是誰?有兩個對話主題,一個是喉嚨痛,一個是大張偉,有可能是「喉嚨痛他唱過什麼歌」或者「大張偉他唱過什麼歌」。因為優先,最近的對話主題是喉嚨痛,所以我先看第一個,但是一找不到答案,所以我再去看第二個「大張偉唱過什麼歌」,那我知道大張偉唱過歌,所以他唱過《倍兒爽》,我就可以回答,這是對話主題式補全。
另外,利用主題做上下文對話控制。像現在在世界盃,我問你「你喜歡英超哪支球隊?」我的主題是「運動」底下的「足球」底下的「五大聯賽」底樣。的「英超」,我可以回答「我喜歡巴薩」,你問我英超,我回答西甲,這沒有什麼太大的毛病,雖然最底下的對話主題不太一樣,但是前面是一樣的。或者你問我足球,我可不可以回答籃球,「我比較喜歡看NBA」,這可能不太好,但是也不至於完全不行。如果我回答說「我喜歡吃蛋炒飯」這肯定是不對的,因為你問我的是運動體育裡面的東西,我居然回答美食。
這個對話主題我可不可以根據上下文主題,去生成等一下那句回答應該是什麼主題?我可以根據上下文去猜測等一下你的下一句回答應該有哪些關鍵詞,我可以根據上下文猜出你下一句是什麼句型,是肯定句還是正反問句。我有了關鍵詞、有了句型、有了主題,我可以造句,造出一句回答,這也是上下文解法的一種。或者我什麼東西都不管,我直接根據上下文用生成式的方式回你一句話。這個目前大家還在研究發展之中,目前的準確度還不是很高,但這是一個未來的發展方向。
NLU的重要性
NLU我們做了12個模塊,最基本的當然是分詞,然後詞性標註,是主詞還是動詞、形容詞稱、第二人稱、第三人稱,然後命名實體,北京有什麼好玩的跟上海有什麼好玩的,一個是北京,一個是上海,兩個不太一樣。然後我如果問「你喜歡吃蘋果嗎?」「等一下我們去吃麥當勞好不好?」這是一個問句,而且我在問你的個人意見,所以你的回答可能是一個肯定的,可能是一個否定的,也可能反問我一個問句說「等一下幾點去吃」,無論如何,你的回答不會跟我講「早安」或「晚安」,因為我問的是「等一下我們去吃麥當勞好不好。」我們還做了一些奇怪的東西,例如語義角色的標註 ,後面可以看到一些例子。
以這個句子來說,「我明天飛上海,住兩天,要如家」整個句子的句法結構拆出來,核心動詞是「飛、住、要」,把它分出來「我飛」、「飛上海」、「住兩天」、「要如家」,有了這些核心動詞,我知道我的意圖不是訂機票,如果只有「我明天飛上海」,我的意圖可能是訂機票,但是因為有後面的「住兩天」跟「要如家」,所以根據這些東西判斷出來我的意圖是訂酒店,根據這些東西算出來:明天入住,3天後離店,都市是上海,酒店名稱叫如家酒店。整個東西就可以把它解析出來。
這樣的解法跟深度學習黑盒子最大的差別是,這樣的解法先把句子拆成一些零件,拆成一些基本的信息,我再根據這些信息,可能以深度學習的方式判斷你的意圖、對話主題,這樣我的數據量可以小很多。如果整個大黑盒子,數據量要五十萬比、一百萬比、兩百萬比,才能夠有一定的準確率。今天我做了足夠的拆解,所以我的數據量三萬比、五萬比就夠了,就可以訓練出一個還不錯的模型。
再介紹一下我如何利用NLU的基礎信息,像「上周買衣服多少錢」這句話,我從Speach Act知道這是一個問句,是一個question-info,你不是說「上周買衣服花了好多錢」,這不是一個問句,就不需要處理。是一個問句的話,再看它是一個數量問句,還是地點的問句,還是時間的問句,「我什麼時候買了這件衣服?」「我在哪裡買了這件衣服?」問句不一樣,後面知道查哪個資料庫的哪張表。根據核心動詞「花錢」跟「買衣服」,知道類別 是衣服飾品,不是吃飯、不是交通,由時間知道是「上周」,整個東西就可以幫你算出來。這等於是我一句話先經過NLU的解析,再判斷你的意圖和細節信息。
多輪對話與機器人平台
像剛剛訂酒店那個例子,如果表明「我要訂酒店」,訂酒店有8個信息要抽取,這時機器人要跟你交流:你要訂哪裡的酒店、幾號入住、幾號離店、酒店名稱、星級、價格等等這一堆東西。今天我們的用戶不會乖乖回答。「你要訂哪裡的酒店?」他可能乖乖跟你說「上海的」、「北京的」,它也可能跟你說「我明天飛上海,住兩天,要如家」,他一句話就告訴我四個信息,所以基本用填槽的方式,有N個槽要填。然後看看這句話裡面有哪些信息,把它抽取出來,填到相對應的槽,再根據哪幾個槽缺失信息決定下一輪的問句該問什麼問題,這樣比較聰明。舉例來說,「我想要買一個理財產品」,「您需要是保本還是不保本?」我只問你保本還是不保本,結果他一次回答「保本的,一年的,預期收益不低於5個點。」他一次告訴我3個 信息,而且3個信息已經夠了,我就直接幫你推薦,不用再問你「你要一年、半年還是兩年的?」這樣的機器人看起來就很傻。
我們來看一些Live Demo的東西
第一個是對話機器人的定製,如何快速定製自己的機器人。
我們先切到共享桌面。在這裡,假設我現在創建一個機器人,我的名字「小竹子」,然後我是什麼機器人?是一個聊天 的、電商的還是金融機器人?我是一個聊天機器人好了,兩個步驟創建完了。然後可以做一些設置,機器人有形象,每個人拿到機器人會說:你是男生還是女生?你晚上睡覺嗎?你有沒有長腳?你今年幾歲?你爸爸是誰?你媽媽是誰?你住在哪裡?你問「你是男生是女生」時我回答「我是女生」,可不可以修改?我修改「我是精靈」或者「我沒有性別」,保存。保存以後我還沒有修改,因為我沒有重新建模,我們先來問問看,「你是男生,還是女生?」它還是說「我是女生」。然後「你叫什麼名字?」它說「叫小竹子」。我開始問它「明天上海會不會下雨?」「那北京呢?」這上下文代表北京明天會不會下雨,「北京明天有雨」,我再問「那後天呢?」這個上下文,是北京的後天還是上海的後天?應該是北京的後天,因為離北京最近。
然後再來問它一些知識類的「姚明有多高?」它告訴我是「226厘米」,我再問它「姚明的老婆有多高」,「190厘米」,還可以做些推論,例如像「謝霆鋒跟陳小春有什麼關係?」這個很少有人知道,謝霆鋒的前妻是張柏芝,陳小春的前女友也是張柏芝,所以陳小春是謝霆鋒前妻的前男友。這是知識推論。還有一些該有的功能,如果很無聊,機器會跟你聊天。你可以更改任何你想要的回答,你可以更改知識圖譜,你可以建立自己的意圖。
來看第二個demo,像多輪對話場景要怎麼做?
我先創建一個新的場景,場景的名稱叫「竹間訂餐廳」,觸發條件,什麼樣的語句會觸發這個場景?我要新建一個意圖,意圖的名稱叫「訂餐廳」,使用者說「我要訂位」,或者「我要吃飯」。現在有一個訂餐廳的意圖,我只要講「我要吃飯」或者類似的講法,它就知道我要進入這個場景。下一步,訂餐廳有兩個信息,至少要知道時間跟人數,我打算怎麼問?我可以有默認的問句「你要選擇的時間是什麼?你要選擇的人數是什麼?」但這看起來很死板,我可以自定義「請問 您要訂位的時間?請問總共有幾位?」這兩個問句分別抽取時間跟抽取人數,然後再下一步。抽取之後可以有一個外部的鏈接,鏈接到某個地方去幫你訂位。現在選擇回復的方式,「訂位成功,您的訂位時間是**,總共人數是**,謝謝」,儲存,我一行代碼都沒有寫,然後開始測試。
再來看下一個demo,直接用桌面來講,demo訂餐館。為什麼訂餐館?因為上個月谷歌demo就是訂餐館,有個機器人幫你到餐館訂位置。我說「我要訂位」,它問我「是什麼時間?」我這時候可以回答一個句子給它,可以跟它說「國慶節,我們有大概7、8個人,還帶2個孩子。要是可以的話,幫我訂一個包間,我們7點半左右到,預定8點」「好的」,它只問我一個時間,我回答了這麼多東西,有沒有辦法理解?7、8個人是8個人,不是78個人,還帶2個小孩,要是可以的話幫我訂一個包間,所以是包廂,7點半左右到,所以預定8點好了,它有辦法理解。「好的」,我沒有跟它講時間是早上8點還是晚上8點,「晚上8點」,「需要寶寶椅嗎?」「因為我有小孩,所以一張寶寶椅」,問我「貴姓」,我說「富翁」,它幫我訂好了,但沒位置「要不要排號?」「好啊」,我說我有老人,它幫我排了比較方便出入的位置。「信息是否正確」「沒錯」,訂位完成。
我們再試另外一個,「我要訂位」「什麼時間?」「後天晚上9點,8個人。」「要包間還是大堂?」「大堂太吵了,包間好了。」我不是用關鍵詞做的,如果用關鍵詞,有大堂 ,有包間,到底是哪一個?還有預定都包廂貴姓,「李」,排號。「有沒有人過生日?是否有誤?」「沒問題」,它就幫我訂好了。一個機器人如果能夠做到這個地步,隨便你怎麼講,你不按照順序講,甚至你還可以修正,說「我有8個人,不對,是9個人」,它可以知道你是9個人而不是8個人。
人機交互下一步
有幾個案例可以分享:
第一個AIOT的平台,這個東西目前有一些公司有一些企業在做,舉例來說,我跟我的手環、跟我的音箱、跟我的耳機說我在家裡,我跟它說太暗了,太暗了是什麼意思?假設今天我家裡有很多盞智能燈都已經接到我的平台上面,所以我跟我的平台講太暗了,有哪些東西是跟光線有關?我發現窗帘跟光線有關,電燈跟光線有關,我就跑去問說你要開客廳的燈還是廁所的燈還是廚房的燈?這樣問其實非常傻,因為我可能人現在是在客廳,你幹嗎要問我這個東西?但是我沒辦法人你到底在哪裡?這有幾個解法,我在家裡到處都裝攝像頭,我就知道你在哪裡,但是這是一件非常可怕的事情,家裡裝攝像頭相信里心裡不太舒服。
當然過去的技術我多裝幾個WIFI,我裝三個WIFI在你家裡三個不同的地方,我利用三角定位知道你人在哪裡,我知道你在客廳,你說太暗了,我就把客廳的燈打開,我只要背後都是一個同樣的ALOT的中控中心幫我做這件事情。
另外一個我可能有多種選擇,我說太熱了,太熱了到底要開窗、開空調還是開電風扇?機器問你說我要幫你開電扇還是幫你開空調?你說空調吧,現在太熱,OK,機器人幫你執行,有些時候人的意圖有多種可能性,多個AIOT的家居設備都跟溫度控制有關,機器人可以掌握。當然他會聰明一點,不會有18個跟溫度有關,他一個一個問,最後人會暈倒,這個東西不會太遙遠,我認為在一年半到兩年之內這些東西會出來,甚至一年會出來。慢慢你家裡會變成用ALOT的整個平台跟LOT的設備來幫你管理這些東西,你會生活變得更方便。
第二個人機交互的下一步是人臉+語音的加入,我可不可以根據你人臉知道你是男生女生,你現在的情緒是什麼?是長頭髮短頭髮,有沒有戴眼鏡,有沒有鬍子?語音識別當然是最基本的,這個已經非常非常成熟了,可不可以知道這句話到底代表什麼意思?語音把它轉變成文本,如果可以的話還可以知道你的語氣,你的語音情緒是憤怒還是悲傷,還是高興?我可以做一些參考,語音的情緒是非常重要的。
這個東西可以使用,我從人臉表情特徵可以做什麼,特徵做了22種,性別、年齡、膚色、頭髮、眉頭、顏值,長得漂不漂亮,臉形,特徵是給人負面印象是冷酷無情,還是有正面印象你是有一個魅力值信賴的人,這第一印象這東西說不準。表情我們做了九種,喜怒哀樂、驚、懼、厭惡、藐視、困惑、中性。還有人臉的行為分析,我的視線目前是專註還是一直這樣低頭,顯得不自信,還是眼神飄忽不定,這東西是什麼意思?
我們來講一個真實的應用的案例。
現在一些新零售,包括無人店,包含一些智慧門店,舉例來說,我們在幫某個電視的大廠在某個賣場剛開業,把我們的技術放進去,同時有五家公司都是在賣電視,包括競爭對手索尼,其他知名的品牌,那個賣場開幕三天,我們做了那家夏普收入是90萬,另外四家加起來40多萬,光夏普一家幹掉四家的總和還一倍多。這個怎麼做到?第一個可不可以吸引人流?在我的店的門口擺一個屏幕,擺一些東西,你攝像頭,你人經過的時候可以抓住你是男生女生,你的顏值怎麼樣?你的情緒怎麼樣?非常有趣,所有人經過停下來看,停下來看你是一個四十幾歲的男生,推薦裡面有什麼優惠活動,你是喜歡的,你是一個20歲的女生,推薦另外的優惠活動。你是一對情侶,是一個家庭帶著小孩,推薦給你的東西不一樣。
大家看到這個東西之後,我進店的人就會有機會比別人多,再來我可以主動式的交互,你走到貨架前面,我看到是一個長頭髮的女生主動跟你聊天,一個機器人,一個屏幕,一個平板,這位長頭髮的女士你的頭髮很漂亮,我這裡有一些洗髮水,有一些潤發你有什麼興趣了解,我根據你的屬性,因為你是女生長頭髮,給你推薦某些東西跟你對話,我會跟你說臉上有一些黑斑,我有一些遮瑕膏你要不要?在對話的過程中發現這個人的臉色越來越難看,我趕快停止這個話題,這個東西不應該繼續講下去,是人臉的特徵,人臉的情緒跟整個人機交互綜合的應用。
我們也可以做到,我在一些過道上面,這個商場的過道,我知道你的人進到店裡面你是怎麼走動,我發現你在某一台電視前面停了五分鐘,停了特別久,你離開了什麼都沒有買。兩天後你帶著一家大小來了,這是什麼意思?你帶著老婆、帶著小孩上門,這可能代表你要來做決定你是要花錢的,而且我根據你上次的線上購買記錄,因為我知道你的臉部,知道你是誰,知道你的會員編號,我知道你上次買了一台2萬多塊的冰箱,所以我知道你的消費能力不是那種一兩千塊錢,你可能是兩三萬,我馬上通知銷售員跟他說,這個人來了買電視,因為他兩天前看過某一些電視,而且他的消費能力是以萬來計算的,是萬等級,所以你上去不要推薦他四千塊的電視,你就是往高往貴推薦。也是因為這樣子,我們的賣場,我們的銷售的業績能夠比別人好。這些東西我相信在半年一年內,大家在各種各樣的商場會大量看到。
最後我們舉個例子。今天你們可能說我每個人都有一個機器人,我戴一個手環,手環的背後接我的機器人,我到每個店家也都有一套機器人,麥當勞有一套機器人,肯德基有一套機器人,今天我走進麥當勞,對著我的手環說我喜歡吃巨無霸,大杯可樂去冰,我的機器人聽到以後,我機器人主動去找麥當勞機器人,跟它說我要什麼東西,兩個機器人之間的對話,不需要用中文,不需要用人類的語言,他們直接數據格式的交換,機器人有機器人的語言,他們自己交換,交換完以後麥當勞機器人接到這個訂單通知後面,告訴我三分鐘之後過來拿,可不可以這樣子?我的手環告訴我說,三分鐘之後可以過去拿。所以未來真的變成一個機器人世界,每個人都有一個代語,機器人跟機器人去溝通,把這個東西做好。
Q&A 時間
今天是我的分享,再下來是交互的時間,各位有什麼問題想要問的?有人問一下提一下相關技術,看一下什麼相關的技術?如果是圖像的話,圖像最頂尖的公司各位都可以查得到,當然目前比較以安防為主,不管是刷臉門禁,慢慢做到情緒情感的部分。如果是平台的部分,目前全國做的也差不多有一二十家公司,大家各有它的優缺點,看你是一個封閉的平台或者是開放的平台,你找人工智慧平台,語意理解平台,人工智慧機器學習訓練平台都可以找得到。
1.有人問說出現設定外的情緒機器人能處理嗎?
例如說我的語音情緒做了四種,高興、中性、憤怒跟悲傷,那突然出現一個害怕,語音出現害怕作為分類是分不出來,這是沒辦法處理的。
2.有人問到表情的理解,我大概講一下我們怎麼做的?
我們人臉表情游標注,標註了200萬張的照片以上,每張照片三個人標註,三個人都說他是高興,OK,他是高興,三個人說他是悲傷,他是悲傷,三個人意見不一致,我找心理學家來做最後的判斷,你去算一算,200萬張的照片三個人標註,總共600萬人次,你需要多少時間?多少錢?
3.多模態情緒怎麼做?
通過人臉表情算出一個分數,語音情緒算出一個分數,文字的情緒算出一個分數,我們背後有兩種模型,第一個規則,人臉表情就是多少分,語音情緒多少分以上,我加成上一個比重,或者說文字情緒算出來,這是一種方式。
另外一種,我們後面用的一個深度學習的模型,我們把這些所有的值標進去算出一個總情緒,當然一樣需要大量的標註數據。
4.有人問對話的答案是能機器人自動合成組合出來嗎?
這是自動生成的範圍,目前來說我認為,我實際上看到正確率大概在3—5成之間,它回答好的大概在3成—5成,有一半的概率不靠譜。
5.知識圖譜學習多少可用?
這個東西看你的領域,如果你是金融領域,金融知識可能12萬、18萬就夠了,如果你是一個醫療領域,可能是幾十萬,但是如果你是聊天的領域,衣食住行、電影、電視這些東西,加起來要800萬—1200萬知識圖譜的數據量。有些公司大企業做搜索引擎的,天生的數據量特別大,知識圖譜可能有8億,有20億,非常非常大量的數據。
6.有人問到說交流的過程中打錯字怎麼辦?語音轉文字效果不好,如何提高意圖識別準確率?
在有限的場景之下,這個有辦法做到,像電視就68個意圖,100個意圖,可以做的非常准,真的可以轉成拼音去做,或者真的用一些模糊匹配的方式,可以把匹配的閾值放大一點可以做得好。在一個聊天的場景,有限的場景這個是不可能做得好的。
這其實是包含語音識別在內的,語音識別大家的普通話不一定很標準,像我也是有口音的,所以我語音轉轉文字,可不可以把它轉成拼音,我把平舌、翹舌、前鼻音、後鼻音把它去掉,這樣ch就跟c是一樣的,zh就跟z是一樣的,我用這些方法是做正規化。這些東西尤其在找歌曲的名字、電影的名字、視頻的名字非常有用,因為你歌曲的名字那麼長,視頻的名字那麼長,電視劇的名字那麼長,你不一定講對,我要看《春嬌志明明》,沒有春嬌志明,是《志明與春嬌》,我要看《三生三世》,我知道三生三世十里桃花,我要看半月傳,羋月傳傳那個羋我不會念,我念成半月傳找不到,但是我發現用戶查字典,問了人,下句話他講對了我要看羋月傳,我發現你上面這句話跟下面這句話句型非常非常類似,你上面那句話找不到,下面那句話居然找到了,我可不可以說可能半月傳就是等於羋月傳,自動把它抓出來,做得好由人工判斷,人工做最後的判斷,這些東西就打勾打勾,這些東西是同義詞,一樣就把它輸入進去重新訓練就好了。
7.有人問到對話主題怎麼建立?
我這個屏幕有限都是跳著回答,對話主題不算很龐大了,你的主題看你做到幾百種幾、幾千種,主題是有階層次的關係。就是說你的對話主題做出來之後你如何確定這句話是什麼主題?當然有關鍵詞,也有機器學習、深度學習的方式都可以去做,而且準確度不會太低。
8.有人說在交流的過程中出現場景之外,怎麼做到多輪?
就像剛剛那個我訂酒店機票訂到一半突然說我失戀了,機器人可以怎麼回答?機器人可以開始跟你聊失戀的話題,訂酒店就算了,這是一種解法。列另外一種解法,我訂酒店訂到一半失戀了,我跟你說你失戀了好可憐,敷衍你一下,繼續問你說剛剛酒店還沒有訂,你要不要訂?你要不要繼續?我先把前一個場景處理掉,確定你場景已經結束,我才讓你到下一個場景。
9.有人問怎麼判斷哪個答案更好?
假設我背後有18個模塊,有20個模塊,有20個模塊都可以出答案,天氣、講笑話、知識圖譜的聊天、各種各樣的場景、訂酒店、訂機票,一樣我一句話進來,我可不可以讓每個模塊舉手,這個模塊說這句話我可以回答,別的模塊說這句話我可以回答,當然每個模塊都會回答,而且每個模塊除了回答以外會有一個信心分數,當然有些模塊我都是100分,跑來搶答案,這個時候就要看你到底靠不靠譜?當然我在我的中控中心,我根據上下文判斷我的情緒,我的意圖,我的主題,我發現說你的對話主題是體育、運動,回答的對話主題是美食,我把這個答案直接丟掉,我發現你的問句是快樂的,回答居然是一句悲傷的句子,直接把它丟掉。我可以利用我的中控中心做這樣的事情,還是沒辦法,有些模塊是亂回答的話,我把它分數降低,它以後宣稱它自己是100分,我都打個八折,以證明它不靠譜。
10.一語雙關的語句可以理解多少?
這個非常難,這個是目前解不了的,現在世界盃,我們舉例,中國乒乓球誰都打不贏,中國足球誰都踢不贏,這兩句話的句型完全一模一樣,但是意思可能是相反的,那這個東西怎麼理解?老實話目前還做不到這個地步,不知道五年後、十年後可能有機會,剛剛兩句話你去問一個小學生,其實小學生也搞不懂,你要足夠的社會知識,你有足夠的社會歷練你才知道這句話什麼意思。
11.怎麼知道機器的回答對不對?
有幾種方法了,有一種還是看人工,我今天機器人回答,這個用戶就生氣了,用戶說你這個機器人好笨,我都聽不懂你在講什麼,顯然這個機器人回答不好,我就可以反饋回去說這個回答不對。另外一種,我發現我回答以後,這個用戶決定直接轉人工,假設我是一個智能客服,回答完以後用戶決定轉人工,代表我剛剛的回答肯定是有問題的。第三種是說,我同樣的問題問了第三次,我開戶該帶哪些證件?機器人回答我不滿意,我再問我到底該怎麼開戶?再問說開戶到底應該怎麼辦?我三個句子不太一樣,其實意思是一樣的,所以今天當問了第三句話,代表我前面的回答一定不對,用戶會問到第三句,基本上靠人的反饋來做。
12.有人問對於學生有什麼建議?
在校的學生我的建議是說,你要先想,你現在有很多(01:00:35英文)各式各樣的框架,數據網路上也都能拿得到,甚至這些代碼都可以直接下載,你就可以做一些基本的東西,這是練習,你最後要解決仍然是真實的問題,你到底要解決什麼問題?解決那些問題你打算怎麼解?你要設定一個目標,解到使什麼地步才是人類可以用的,而不是做一個模型,做一個PPT,這個是不夠的,你越早能夠知道人工智慧實際的技術邊界在哪裡,什麼東西只是一個花俏的東西,什麼是東西是真的可以用的,這個對你未來進入職場會有幫助,或者對你未來研究的方向有幫助,畢竟人工智慧幫助人,幫助各種各樣的行業,才能夠幫上忙。
13.有人問什麼時候機器人可以寫一本中文小說,或者機器人什麼時候可以思考?
我覺得還非常非常遙遠,也許十年,也許十五年,機器人的思考方式一定跟人是不一樣的,但是現在機器人都是一大堆的規則,我不覺得機器人是可以思考,甚至有創造力。
14.五年內人工智慧的實際應用場景結合最好的方向?
這個我無法預測,人工智慧目前都在摸索,我大概可以猜到一年後會有哪些東西?哪些東西是假的,哪些東西不可能實現的,哪些東西是有機會的,一年內我大概可以猜得出來,五年內我猜不出來,因為技術的發展超過我的控制範圍。但是我覺得深度學習、機器學習沒辦法解決NLP,NLP的複雜度不是可以解決的,而且沒有這樣的數據鏈,NLP要解決好也許還出現更新的科技能夠出來。
15.如何斷句,如何分詞?
這樣說好了這其實是一個大的難題,我在黃浦江邊,我是分成黃浦跟江邊,還是黃浦江跟邊,你好可愛,是你好、可愛還是你好加可愛,我們先不要講長句,光這個短句分可能分錯,有時候你好在一起,有時候你好要分開,這個東西只能說我拿現在的東西,我再去不斷不斷優化,而且有可能說,我們累積好幾萬的bug,我去看這些bug我可能用新的模型來解,新的bug可能用新的演算法來解,一群一群去解這些問題,才能慢慢前進,這個沒有什麼快速的方法。
我們今天的分享就到這裡。謝謝各位!
推薦閱讀:
※#UCAN嘉賓專訪系列# 「關係式交互」是智能時代下的人機交互設計新趨勢
※[慫-從心-人人心]人機交互/產品/建築/MDes混申小結
※還記得你的第一次駕駛經歷嗎?
※5 Solyent(眾包文本處理)
※[文獻分享]腦機介面經典文獻閱讀分享