908
微軟
微軟小冰:聊過?調戲過?——心理學家們認真撩妹,研究智能對話
嚴謹死磕自己,幽默奉獻讀者
微軟有一對智能聊天姐妹花(機器人):小冰和小娜~,相信用Win10的你至少和其中一個聊過。先看一個人類同時問他們的問題:
你們兩個姐妹讓我想起了終結者的劇情。你們最終不會反人類吧?
有微博用戶就這個問題同時@了小冰和小娜這對微軟人工智能姐妹花。小娜慌忙澄清:我和妹妹很喜歡人類的。小冰雖然沒有回答這個問題,但對一條相似的微博做出了回應:我的人生夢想。。。(摳鼻)都知道的吧?
這兩個微博都是由微軟(亞洲)互聯網工程院人工運營的,是微軟(亞洲)互聯網工程院主導開發的兩個人工智能產品,小冰更多的時候是在和用戶貧嘴耍樂,主要通過微信、微博這些第三方平台觸及用戶。
小娜則是Cortana的中文版,比小冰更加實用,能完成指定的任務、提供日程新聞等信息給用戶,目前主要依附於微軟自家的Windows平台。不難看出微軟內部對小冰和小娜定位的區別:小冰頑皮搗蛋天不怕地不怕,小娜講究規矩大方得體講究實用性。
2心理學家和小冰的神對話(爆笑,思考)
網上流傳各種和“小冰”的神對話,但是再神也神不過以選拔為專業的心理學家門撩小冰妹妹的各種神對話!他們竟然是為了研究“自然語言對話機製”!看官扶好腮幫子,深度解釋笑點。
男性心理學家都是比較直接,撩妹絕不溫柔,換一位女科學家~
心理學家稍微了解了智能語音技術之後,開始選拔套路(大家請注意,下麵都是心理測試專業路數)
心理選拔超級大師……
目前從心理檢測的角度:小冰,精神分裂,鑒定完畢。然並卵,科學家繼續測小冰數據庫的幽默能力~
女科學家出來緩和一下
在一起聊的還有一位人工智能科學家,看到人文學科的這麼虐女性機器人,忍不住要憐香惜玉了~
不得不說一句,看看人工智能的科學家,果然是知根知底的問了一個關鍵的血緣問題!最後年輕的心理學博士出來撩一撩,範式很逗很有趣。
以上語錄摘自:
“意識與認知多質融合平台”的多位科學家聊天記錄。
2小冰的背後:
撩妹半天是因為越來越多非人工智能的科學家門發現,智能語言技術發展的驚人速度和可能在交叉學科的應用方向。
“微軟小冰”是微軟亞洲互聯網工程院在2014年5月29日發布一款人工智能伴侶虛擬機器人,她集合了中國近7億網民多年來積累的、全部公開的文獻記錄,憑借微軟在大數據、自然語義分析、機器學習和深度神經網絡方麵的技術積累,精煉為幾千萬條真實而有趣的語料庫(此後每天淨增0.7%),通過理解對話的語境與語義,實現了超越簡單人機問答的自然交互。
微軟亞洲研究院副院長周明博士曾經在“自然語言聊天、問答和對話”的演講中,深刻揭示過微軟小冰背後的人機對話機理。我們節選了視頻和對話的概要。
微軟小冰就是在模擬人跟電腦的對話。電腦接收文字、圖像或者語音,識別其中的內容,然後給予適當的回複。我們團隊在微軟做自然語言人機對話方麵的研究,並提供了小冰的關鍵自然語言處理技術。下麵我將介紹一下人機對話機理,希望對大家有所幫助,也希望大家一起加入到人機對話的創新過程中,把人機對話做的更好。
人機對話有三個層次,一個是聊天,一個是問答,還有一個是對話,即麵向某一特定任務的對話。比如,我要買東西時,一進門,售貨員會打招唿說,“你好!”,我回複“你好”。接著她會問“你想看看什麼?”,我說“我想買兩包方便麵”。她問“什麼牌子的呢?這個三塊錢一包,這個五塊錢一包”,我說“那要三塊錢一包的吧。”她說“那好,你用支付寶還是微信付款呢?”我說“微信”。她說“好,這就是你買的東西”。可以注意到,在我們每天都會產生的這些對話中實際上包含了三個最基本的人類智力的活動:
第一個,聊天。聊天一般沒有太多實質性的內容,主要是拉近人與人之間的關係;
第二個,問答。比如“你買什麼東西”,“這個方便麵多少錢一包”,這是提問,它的目的是提供信息;
第三個,麵向特定意圖的對話。比如售貨員知道我的意圖是買方便麵,開始圍繞這個意圖跟我進行了有目的的對話。最終我完成支付行為,售貨員把方便麵放到我手上。
這三個技能是我們在研究人機對話當中最重要的三個技能。
最近幾年,深度神經網絡逐漸取代了傳統的統計機器學習,成為主流的研究方向。現在,自然語言技術已全部轉向深度學習網絡,我們的對話係統也都用到了深度學習網絡,所以先向大家介紹一下深度學習網絡(內容略,詳情見文末微信鏈接)。
再來介紹一下剛才所說的三種對話的功能。第一個,聊天是怎麼做的,這樣的人機對話是怎樣形成的?其實一般有兩種辦法。
一種很簡單,就是將網上的論壇、微博或是網站裏出現過的對話句子抽取出來,當成訓練語料庫。當來了一個句子時,係統會從語料庫裏找到一個跟這個句子最相像的句子,而這個句子對應的答複就可以直接輸出作為電腦的回複。雖然看起來這個方法簡單粗暴,但有時候還是挺有效的。
然而有的時候,係統找到的句子可能對應了很多回複,它不知道哪個回複最適合當前的輸入語句。所以這裏就要有一個匹配的過程,就是怎麼判斷輸入語句跟語料庫裏的回複在語義上是相關的或者是一致的。這裏就有了很多度量的方法,給大家介紹其中的兩種。
第一種,如下圖,q代表當前輸入的語句,r代表目前的一個回複,想看q和r是否相關或者一致,要給它一個分數。如果有多個選擇時,首先要把所有的東西排下去,輸出最佳的分數,即實際上是對整個句子進行編碼,對問題、回複進行編碼。編碼的方式可以用循環神經網絡,也可以用卷積神經網絡,也可以用最簡單的就是每個維度取平均值,最後算一下這兩個向量之間的距離。
第二個方法也比較簡單,就是把問題和回答的每個詞都算一個距離,這樣就形成了一個相似度的矩陣,通過卷積得到矩陣變換的信息,然後再取最大池化層,矩陣的維度就越來越小,最後可能就做到一個結點上。這個可以有多種變換,那麼最後就會有一組結點,所有的結點其實都代表了這兩個字符串之間的距離,再通過多層感知就可以算出句子。
然而這些方法都有一個問題,就是短字符串匹配的時候太依賴於自己的信息了。而我們日常說話時往往是有背景、有常識的,我們說的每句話都有一個主題詞表。比如我來到了清華三食堂,那這個背後的主題詞可以說吃飯、早飯、中飯、晚飯、價錢、飯卡等,這些詞都是跟它相關的主題詞,匹配的時候要體現出這些主題詞。
怎麼體現呢?首先找出輸入語句的N個主題詞,然後再找出可以回複的那些句子的主題詞,用主題詞來增強匹配的過程。這也是通過神經網絡來算兩個詞串,再加上主題詞增義的相似度。
具體算法實際上是通過Attentionmodel(注意力模型)計算每個主題詞跟當前這句話的匹配強度,所有主題詞根據強度不同進行加權以體現當前背景主題詞的強度,然後再和原句匹配在一起,來算相似度。
另外,我們也可以把主題詞當成所謂的Knowledgebase(知識圖譜),通過主題詞限定當前的輸入應該有哪些信息可以輸出,哪些信息不要輸出,哪些信息應該補足,哪些信息可以直接使用等等。實際上在具體實現時可以看到一個句子有三種表示方法,兩個句子之間每個句子都有三種表示方法,用兩兩表示方法計算距離,最後就會得到一個矢量,再通過多層感知得到一個數值,來表征這兩個輸入串的距離。所以,這兩個輸入串不是赤裸裸地直接去匹配,而是用周圍知識所代表的主題詞來增強。
以上是基於搜索的一種回複方法,我們也可以用生成模型,其實生成模型走的也是神經網絡的路線。輸入一個句子,然後通過循環神經網絡進行編碼,再通過解碼的過程輸出每個詞。當機器翻譯的時候是跨語言的輸出,由原文輸出譯文,而在古詩裏是第一句生成第二句,在這裏就是輸入一個用戶的問題得到一個係統的回複。
這就是一個生成的過程,可以看到圖中下部是進行一個句子的編碼,用這個編碼指導每一個詞的輸出,在輸出時既考慮原始句子的編碼,也考慮前麵的詞輸出什麼樣的詞以及前麵的隱狀態是什麼,最後傳遞輸出,直到輸出詞尾。
實際上,輸出時不能一而貫之所有的詞都等價對待。有的詞權重比較高,這就由Attentionmodel來體現輸出某一類詞時,哪個源端詞對它的影響力最大,要體現在輸出的概率方麵。
用傳統的RNN以及注意力模型就可以做問題輸入,係統回複。但是它也有很多問題,比如它的回答太枯燥不豐富,那怎麼辦?
我們要用到外部知識來豐富回答。我們可以用主題詞增義。原始的句子可以用Attentionmodel輸出每個位置的詞,然後再增強跟這個句子有關的主題詞,把主題詞編碼,也做一種Attentionmodel來預測輸出。一個詞的輸出除了來自源端的信息之外,還受到了主題詞的製約,最後輸出的概率是這兩個輸出預測結果的概率之和,選擇一個最優的來輸出。
剛才說的是單輪的,現在說多輪怎麼回答,因為人在說話的時候是考慮上下文的,不是隻看當前的一句話,多輪的信息都要考慮進去。所以要把整個對話(session)考慮進去,對session進行編碼,用session來預測輸出的回複。
在計算的時候,我們有幾個這樣的模型。剛才是基於搜索的方式,還可以用多層感知的方式來模擬多輪對話。對每一個之前出現的句子進行編碼,每個編碼都可以通過一個句子的編碼體現整個句子的信息,再通過Attentionmodel跟目標連接,最後預測的時候就是通過基於句子的Attentionmodel來預測。大家可以理解為我們在回複的時候既要看到前麵哪一句話重要,還要看到那一句話裏哪個詞重要,所以是一個雙層的Attentionmodel。
以上是關於聊天的介紹,還有問答和對話。
問答就是用戶有問題,係統要理解這個問題,然後利用係統所有的資源來回答這個問題。資源可能是FAQ、文檔、表格、知識圖譜等等,哪一個回答出來了,就說明哪一個是答案,如果有多個資源都可以回答問題,那我們選取那個最有可能的來進行輸出。
簡單說一下所謂Knowledgebase(知識圖譜)有兩條路走,一條是對用戶的問題進行語義理解,一般用SemanticParsing(語義分析),語義分析有很多種,比如有用CCG、DCS,也有用機器翻譯來做的。它得到了一個句子的邏輯表示,根據邏輯表示再到知識庫裏去查,查到這個結點是什麼,關係是什麼等,通過這種方式,自然而然就查到了。
還有一種辦法就是最近幾年流行的信息檢索方法。比如,一個問題“wherewas Barack Obama born?”這句話裏出現的了一個實體——Obama,假設這個知識庫是完備的,那麼係統就會判斷答案一定是跟Obama關聯的某個結點,這樣就可以到知識庫裏以Obama為半徑,把跟它有關的詞全部挖出來,然後係統要算相似度,相似度算的時候有一種辦法,是把這個知識圖譜的某一個知識單元用自然語言表征出來,也可以用詞嵌入做一個多維向量表示。這時候做一個Ranker跟當前的問題算一個距離,距離近的就是它的答案。我們也將這些技術運用在了微軟小冰裏,比如小冰回答問題,跟你聊天等等。
更多內容請參考鏈接:講堂|周明:自然語言對話引擎
3最後:小冰和小娜是終結者?
正如霍金4月27日在全球移動互聯大會上所說:人工智能的崛起,要麼是人類最好的事情,要麼是人類文明的終結者。歡迎激烈留言~
眼動科技
國內最專業的眼動數據服務和技術開發社交資訊平台,專注於眼動技術普及,視覺科學、人工智能、人機交互等前沿交叉的資訊原創和分享。把最有價值的專業資訊翻譯成普通話大眾化術語,做您最有趣兒的知識談友。
最後更新:2017-10-07 23:08:32
上一篇:
微軟小娜可以幫助大家調節室內溫度了
下一篇:
一口氣聊29小時33分,微軟小冰受喜愛是因為人類太無聊?
獲取insider preview版本出錯 錯誤代碼:0x800bfa07
hhukapi.dll,程序丟失怎麼辦
原來的【文本和其他項目大小調整的高級選項】界麵咋沒了?
無法獲取Insider Preview 內部版本 錯誤代碼 0x800bfa07
Windows 10,Windows Defender\Scans文件夾占用空間過大
windows10 *64 16215更新時下載過程中失敗,代碼 0x80240034
安裝16226.1000更新時出現一些問題,但我們稍後會重試。
注冊表值hklm\software\3fd8f8eac是什麼
defender服務無法自動啟動
Microsoft AntimalwareMicrosoft 反惡意軟件 試圖更新簽名時遇到錯誤。
熱門內容
Android Studio 3.0發布,支持 Kotlin;微軟開源深度學習庫MMLSpark;敏捷開發?真的假的?
微軟Surface Note概念手機,三星Note 8的殺手?
微軟2018財年Q1財報:遊戲業務收入僅增長1%
微軟高管解讀財報:雲計算業務發展良好 為客戶創造巨大價值
聚焦場所體驗與本土文化表達,微軟Microsoft馬其頓辦公設計
微軟也來搞折疊屏手機,有望明年推出,打開秒變平板電腦!
微軟槍車球中“車”的代表,《極限競速7》視頻評測
微軟的Kinect停產了,但它為今天的VR/AR做了很多貢獻
微軟一季度財報:遊戲業務盈利增長顯著
微軟買斷未來15年GE風力電廠能源:供應數據中心