竹間智慧:人機互動未來如何改變人類生活
本文是AI科技大本營6月21日線上公開課的文字版,分享嘉賓是竹間智慧的 CTO 翁嘉頎。
現階段利用 NLP 以及 NLU 技術及機器學習方式,正慢慢脫離關鍵詞的束縛。再下一步呢?是否機器人能主動跟人產生互動?沒有情感情緒的機器人真的算是智慧機器人嗎?情感情緒又有哪些應用呢?
本次公開課,翁嘉頎將帶你揭曉“人機互動下一步,該如何使用主動式對話機器人做到更好的互動”。學習地址:
免費報名地址:
竹間智慧 CTO 翁嘉頎,AI 領域的技術專家,他帶領團隊負責竹間在 AI 領域產品研發與技術規劃,領域主要涵蓋對話機器人、計算機視覺、金融科技等領域。
作者 | 翁嘉頎
編譯 | 姍姍
出品 | 人工智慧頭條(公眾號 ID:AI_Thinker)
導讀
在人機互動過程中,人通過和計算機系統進行資訊交換,資訊可以是語音、文字、影象等一種模態或多種模態。對人來說,採用自然語言與機器進行智慧對話互動是最自然的互動方式之一,但這條路充滿了挑戰,如何機器人更好的理解人的語言,從而更明確人的意圖?如何給出使用者更精準和不反感的回覆?都是在人機互動對話過程中最為關注的問題。對話系統作為 NLP 的一個重要研究領域受到大家越來越多的關注,被應用於多個領域,有著很大的價值。
本期大本營公開課,我們邀請到了竹間智慧的 CTO 翁嘉頎老師,他將通過對技術方法通俗易懂的講解和 Demo 演示相結合的方式為大家講解本次課題,本次課題主要包含一些幾個內容:
- 上下文理解技術——補全與指代消解
- 上下文理解技術——對話主題式補全
- NLU 的模組架構及如何利用NLU的基礎資訊
- Live Demo 演示
- 人機互動的案例分享與研究發展趨勢
- Q & A
以下是公開課文字版整理內容。
前言
我從 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. 有人問對於學生有什麼建議?
在校的學生我的建議是說,你要先想,你現在有很多各式各樣的框架,資料網路上也都能拿得到,甚至這些程式碼都可以直接下載,你就可以做一些基本的東西,這是練習,你最後要解決仍然是真實的問題,你到底要解決什麼問題?解決那些問題你打算怎麼解?你要設定一個目標,解到使什麼地步才是人類可以用的,而不是做一個模型,做一個 PPT,這個是不夠的,你越早能夠知道人工智慧實際的技術邊界在哪裡,什麼東西只是一個花俏的東西,什麼是東西是真的可以用的,這個對你未來進入職場會有幫助,或者對你未來研究的方向有幫助,畢竟人工智慧幫助人,幫助各種各樣的行業,才能夠幫上忙。
13. 有人問什麼時候機器人可以寫一本中文小說,或者機器人什麼時候可以思考?
我覺得還非常非常遙遠,也許十年,也許十五年,機器人的思考方式一定跟人是不一樣的,但是現在機器人都是一大堆的規則,我不覺得機器人是可以思考,甚至有創造力。
14. 五年內人工智慧的實際應用場景結合最好的方向?
這個我無法預測,人工智慧目前都在摸索,我大概可以猜到一年後會有哪些東西?哪些東西是假的,哪些東西不可能實現的,哪些東西是有機會的,一年內我大概可以猜得出來,五年內我猜不出來,因為技術的發展超過我的控制範圍。但是我覺得深度學習、機器學習沒辦法解決 NLP,NLP 的複雜度不是可以解決的,而且沒有這樣的資料鏈,NLP 要解決好也許還出現更新的科技能夠出來。
15. 如何斷句,如何分詞?
這樣說好了這其實是一個大的難題,我在黃浦江邊,我是分成黃浦跟江邊,還是黃浦江跟邊,你好可愛,是你好、可愛還是你好加可愛,我們先不要講長句,光這個短句分可能分錯,有時候你好在一起,有時候你好要分開,這個東西只能說我拿現在的東西,我再去不斷不斷優化,而且有可能說,我們累積好幾萬的 bug,我去看這些 bug 我可能用新的模型來解,新的 bug 可能用新的演算法來解,一群一群去解這些問題,才能慢慢前進,這個沒有什麼快速的方法。
一場場看太麻煩?成為 GitChat 會員,暢享 1000+ 場 Chat !點選檢視