在近幾年人工智能高歌猛進(jìn)的大趨勢(shì)下移国,機(jī)器與人的關(guān)系日趨復(fù)雜微妙。
一方面道伟,機(jī)器在專能上必然或已經(jīng)逐步超過(guò)人類迹缀,比如今年名聲大噪的 AlphaGo,還有從工業(yè)革命起就已越來(lái)越發(fā)達(dá)的取代了無(wú)數(shù)紡織女工的工業(yè)機(jī)器蜜徽;另一方面祝懂,走上另一條岔路的機(jī)器人在往越來(lái)越“像人”的方向發(fā)展——要不為什么會(huì)叫“機(jī)器人”呢。不難想象到拘鞋,越來(lái)越像人的終極目標(biāo)之一就是使機(jī)器人具備與普通人用人類語(yǔ)言自如交流合作的能力砚蓬。
.
這類機(jī)器人的雛形就是像現(xiàn)階段 Siri 這樣的智能個(gè)人助理。說(shuō)“雛形”是因?yàn)?Siri 還遠(yuǎn)遠(yuǎn)達(dá)不到能與普通人正常交流的水平盆色。在普通用戶中流傳最廣的 Siri 講段子反而是最沒(méi)技術(shù)含量的功能灰蛙。那些段子僅僅是提前存儲(chǔ)好的問(wèn)題和答案罷了祟剔,與人工智能啊人機(jī)對(duì)話啊扯不上一丁點(diǎn)關(guān)系,主要在為營(yíng)銷宣傳做貢獻(xiàn)摩梧。
雖然 Siri 2011年才剛問(wèn)世障本,但智能個(gè)人助理背后的核心科技——自然語(yǔ)言處理(Natural Language Processing)——卻相當(dāng)"古老"教届。最早試圖進(jìn)行機(jī)器翻譯(自然語(yǔ)言處理的一個(gè)細(xì)分領(lǐng)域)的嘗試出現(xiàn)在上世紀(jì) 30 年代。在自然語(yǔ)言處理中驾霜,一系列應(yīng)用于智能個(gè)人助理的技術(shù)組合即為對(duì)話系統(tǒng)(Dialogue System)案训。
.
建立對(duì)話系統(tǒng)究竟難在哪兒
為什么自然語(yǔ)言處理的研究已經(jīng)如火如荼進(jìn)行了八十年,但 Siri 還是現(xiàn)在這個(gè)鳥(niǎo)樣呢粪糙?
因?yàn)槔斫馇况⑻幚砣祟愓Z(yǔ)言對(duì)于機(jī)器來(lái)說(shuō)實(shí)在太難。
.
首先蓉冈,Siri 要學(xué)會(huì)語(yǔ)音識(shí)別(Speech Recognition)城舞。當(dāng)你家中某處呼喚“Hey Siri”時(shí),它能迅速忽略背景雜音并拾起你的語(yǔ)音信號(hào)寞酿,但不會(huì)在你跟人打招呼“Hi Sarah”時(shí)誤以為在跟它對(duì)話家夺。
開(kāi)啟后,Siri 接著就要進(jìn)行下一步伐弹,自然語(yǔ)言理解(Natural Language Understanding)拉馋,它得搞清楚你在說(shuō)什么〔液茫“我小學(xué)時(shí)的美國(guó)總統(tǒng)有誰(shuí)煌茴?”——“我”還是“你”?“小學(xué)”日川?“美國(guó)總統(tǒng)”蔓腐?互聯(lián)網(wǎng)上不存在這個(gè)問(wèn)題的現(xiàn)成答案,Siri 必須拆解出這個(gè)問(wèn)題背后的假設(shè)(小學(xué)生的通常年齡段龄句,“我”在那個(gè)年齡段的年份)和需要的常識(shí)性知識(shí)(美國(guó)總統(tǒng)有誰(shuí)回论,分別在哪幾年任職)。
接著還需要識(shí)別用戶意圖(Intent Recognition)分歇。人類語(yǔ)言可以有無(wú)數(shù)種形式來(lái)表達(dá)同一意思透葛,Siri 需要在模糊、多義卿樱、多變的人類語(yǔ)言里準(zhǔn)確鑒別出真實(shí)意圖僚害。“我今晚出門需要帶傘嗎?”——這其實(shí)是在問(wèn)天氣萨蚕。人可以毫不費(fèi)勁地迅速理解這句話靶草,但對(duì)于機(jī)器來(lái)說(shuō),這就繞了不止兩個(gè)彎岳遥。
.
當(dāng)以上過(guò)程出現(xiàn)在人機(jī)對(duì)話中時(shí)奕翔,難度又翻了幾番。
有時(shí) Siri 需要推斷談話目的(Goal Inference)浩蓉,主人為什么要跟我講這個(gè)派继?我若是說(shuō)“我想看電影”,那 Siri 究竟應(yīng)該網(wǎng)頁(yè)搜索最近熱門電影捻艳,還是定位附近電影院驾窟,還是應(yīng)該問(wèn)我想看什么類別的電影呢?
有對(duì)話就出現(xiàn)了語(yǔ)境认轨,一些人類眼中無(wú)比自然的信息到了 Siri 這兒绅络,就需要額外建模分析 (Context Modeling)。比如嘁字,下面這一串問(wèn)題恩急,
“奧巴馬是誰(shuí)?”
“他的妻子是誰(shuí)纪蜒?”
“她生日在什么時(shí)候衷恭?”
這里只提到過(guò)一回“奧巴馬”,從未提及“米歇爾”纯续,但 Siri 需要推斷出第二句話中的“他”指奧巴馬随珠,第三句的“她”則指米歇爾。
有時(shí)杆烁,用戶并不會(huì)給出一個(gè)明確指令或意圖,Siri 就得自己琢磨此時(shí)該生成何種反饋(Response Generation)简卧。當(dāng)聽(tīng)到“Siri兔魂,我很無(wú)聊”時(shí),該做出什么反應(yīng)才合適举娩?很多人類自己也拿不準(zhǔn)該如何回應(yīng)的話題析校,機(jī)器有可能表現(xiàn)得更好嗎?
.
對(duì)話系統(tǒng)的基本架構(gòu)
現(xiàn)在市場(chǎng)中的智能個(gè)人助理應(yīng)用主要有這幾個(gè)玩家:
雖然名稱圖標(biāo)長(zhǎng)短處各有不同铜涉,但它們背后的基本架構(gòu)大同小異智玻。
當(dāng)開(kāi)啟任務(wù)時(shí),先要識(shí)別人類語(yǔ)音芙代,有時(shí)還需要核實(shí)個(gè)人音色來(lái)解密吊奢。輸入的語(yǔ)音信號(hào)轉(zhuǎn)化成文字,再理解這個(gè)文字內(nèi)容纹烹。接下來(lái)到了對(duì)話管理環(huán)節(jié)页滚,需要決定該做出什么回應(yīng)召边,調(diào)用相關(guān)的任務(wù)。接著把這個(gè)回應(yīng)轉(zhuǎn)化為人類語(yǔ)言裹驰,最后把內(nèi)容合成為語(yǔ)音隧熙,輸出給用戶。
觀察一下幻林,這個(gè)架構(gòu)設(shè)計(jì)其實(shí)模擬了人類社交談話時(shí)的過(guò)程分解贞盯。其中,對(duì)話管理(Dialogue Manager)就扮演了 Siri 大腦的角色沪饺。
.
對(duì)話管理
作為對(duì)話系統(tǒng)的大腦躏敢,對(duì)話管理模塊既負(fù)責(zé)處理輸入信息,還負(fù)責(zé)決定接下來(lái)該采取什么行動(dòng)随闽,并輸出信息給任務(wù)管理器與語(yǔ)言生成/語(yǔ)音合成模塊父丰。
對(duì)話管理存在多種架構(gòu),比如:(中文譯名僅供參考)
有限狀態(tài)(Finite State)
基于框架 (Frame-based)
信息狀態(tài) (Information State, Markov Decision Process)
經(jīng)典 AI 設(shè)計(jì) (Classic AI Planning)
分布式/神經(jīng)網(wǎng)絡(luò) (Distributional / neural network)
這里只簡(jiǎn)單介紹前兩種常見(jiàn)對(duì)話管理實(shí)現(xiàn)方式掘宪。
.
有限狀態(tài)對(duì)話管理
想象當(dāng)你網(wǎng)上訂機(jī)票時(shí)蛾扇,需要做出哪些決定呢?
大致是以下幾個(gè)關(guān)鍵信息吧:
出發(fā)城市魏滚;
目的地镀首;
何時(shí)起飛/到達(dá);
單程 or 往返鼠次。
當(dāng)使用有限狀態(tài)對(duì)話管理系統(tǒng)來(lái)預(yù)訂機(jī)票時(shí)更哄,系統(tǒng)與你之間的對(duì)話簡(jiǎn)化之后是這樣的:
這個(gè)系統(tǒng)確實(shí)非常清晰有邏輯腥寇,開(kāi)發(fā)難度也不高成翩,一切盡在電腦的掌控中。
但其缺陷也很明顯赦役。因?yàn)?strong>對(duì)話主動(dòng)權(quán)(dialogue initiative)完全由系統(tǒng)控制麻敌,系統(tǒng)只接受特定的答復(fù),非常機(jī)械生硬掂摔。只能適應(yīng)于極其有限且簡(jiǎn)單的專門應(yīng)用术羔。這個(gè)例子也許會(huì)喚起你對(duì)帶聲音 ATM 的記憶;除此之外乙漓,創(chuàng)建用戶名與密碼的場(chǎng)景也應(yīng)用了有限狀態(tài)機(jī)级历。
.
基于框架的對(duì)話管理
在人與人之間的對(duì)話中,對(duì)話主動(dòng)權(quán)會(huì)在說(shuō)話方中交替?zhèn)鬟f叭披。除了特殊關(guān)系和情景寥殖,并不會(huì)有一方一直提問(wèn)、主導(dǎo)對(duì)話走向,還不允許對(duì)方給出不同回應(yīng)或轉(zhuǎn)移話題扛禽。為了讓人機(jī)對(duì)話更自然靈活锋边,就需要雙方均有使用對(duì)話主動(dòng)權(quán)的機(jī)會(huì)(mixed initiative)。實(shí)現(xiàn)共享對(duì)話主動(dòng)權(quán)的最簡(jiǎn)對(duì)話管理模型编曼,即為基于框架的對(duì)話管理豆巨。
此處的框架可以理解為,在某個(gè)特定領(lǐng)域下涉及到的信息都可以在某個(gè)框架里確定掐场。
看個(gè)例子往扔,還是剛才預(yù)訂機(jī)票的情景,可以先設(shè)計(jì)好這樣一個(gè)框架:
在所有空格都被填滿前熊户,用戶可以直接提供信息萍膛,“我想訂下個(gè)月 5 號(hào)從倫敦飛紐約的單程機(jī)票”;對(duì)話系統(tǒng)也可以提問(wèn)嚷堡,“早上的航班可以嗎巨坊?”
當(dāng)這個(gè)框架被必要信息填滿后棺滞,就可以查詢相關(guān)數(shù)據(jù)庫(kù)崔挖,驗(yàn)證無(wú)誤后就能下單出票碱工。
這個(gè)對(duì)話管理系統(tǒng)的背后理論涉及框架語(yǔ)義學(xué)(frame semantics)、隱馬爾可夫模型(HMM)與機(jī)器學(xué)習(xí)北苟,在這兒就不展開(kāi)講了桩匪,有興趣的讀者可自行查閱相關(guān)資料。
基于框架的對(duì)話管理系統(tǒng)已經(jīng)非秤驯牵“古老”傻昙,最早在 1977 年就有人提出。不僅古老還十分長(zhǎng)壽彩扔;直到今天妆档,大多數(shù)現(xiàn)代商業(yè)對(duì)話機(jī)器人(比如智能客服)都依然在使用這個(gè)對(duì)話管理系統(tǒng)。
.
小結(jié)
本文非常簡(jiǎn)單地掃盲了 Siri 類智能個(gè)人助理背后的對(duì)話系統(tǒng)原理虫碉。
限于篇幅與作者知識(shí)水平贾惦,講了講一部分機(jī)器人必然會(huì)越來(lái)越像人、最終達(dá)到能與人交流合作的未來(lái)趨勢(shì)蔗衡,從語(yǔ)言學(xué)和自然語(yǔ)言處理角度講了講機(jī)器要理解纤虽、處理人類語(yǔ)言需要克服的幾大困難乳绕,最后寫了寫對(duì)話系統(tǒng)的基本架構(gòu)绞惦,以及對(duì)話系統(tǒng)的大腦——對(duì)話管理。
對(duì)話系統(tǒng)科技以及其中各個(gè)小模塊目前大都處于快速發(fā)展期洋措,仍有很大發(fā)展?jié)撃芗貌酰艺J(rèn)為這是非常適合自然語(yǔ)言處理或人工智能從業(yè)者學(xué)習(xí)進(jìn)入的領(lǐng)域。歡迎從業(yè)者們留言交流 :)
.
既然有一部分專能機(jī)器人的工作效率早已超過(guò)人類,還有一部分機(jī)器人在拼命向人類靠齊王滤。那贺嫂,未來(lái)會(huì)是什么樣呢?
也許會(huì)是這樣吧:
(但我不覺(jué)得這會(huì)在自己有生之年發(fā)生 :P
.
References:
Speech and Language Processing. Daniel Jurafsky & James H. Martin.
Keynote: Conversational AI in Amazon Alexa - Ashwin Ram | Udacity Intersect 2017.
CS224S Spoken Language Processing, Lecture 10.