【大咖來(lái)了 第6期】面向交互的人工智能
原創(chuàng)【51CTO.com原創(chuàng)稿件】本期出席《大咖來(lái)了》直播欄目的嘉賓是百度DuerOS首席布道師曹洪偉,進(jìn)行了主題為《面向交互的人工智能》的分享,主要講解了語(yǔ)音交互中用到的AI技術(shù),如ASR、NLU、NLG、TTS等,以及基于這些細(xì)分技術(shù)構(gòu)建的面向?qū)υ?huà)式的人工智能操作系統(tǒng)——DuerOS,通過(guò)本次分享大家可以基本上掌握如何在智能語(yǔ)音交互平臺(tái)上開(kāi)發(fā)應(yīng)用,進(jìn)一步體會(huì)智能語(yǔ)音如何服務(wù)我們的生活。
語(yǔ)音使人機(jī)交互更加便捷
什么是交互?交互是指 A 和 B 之間的一系列動(dòng)作和行為,語(yǔ)出《京氏易傳·震》:“震分陰陽(yáng),交互用事”。
那什么是人機(jī)交互呢?人機(jī)交互是一門(mén)研究系統(tǒng)與用戶(hù)之間的互動(dòng)關(guān)系的學(xué)問(wèn)。系統(tǒng)可以是各種各樣的機(jī)器,也可以是計(jì)算機(jī)化的系統(tǒng)和軟件。人機(jī)交互重點(diǎn)研究用戶(hù)與計(jì)算機(jī)之間的接口,既包括人類(lèi)與計(jì)算機(jī)的交互方式,也包括設(shè)計(jì)技術(shù),使人類(lèi)以新穎的方式與計(jì)算機(jī)交互。人機(jī)交互與人機(jī)界面是兩個(gè)有著緊密聯(lián)系而又不盡相同的概念。
在計(jì)算機(jī)時(shí)代,人機(jī)交互的發(fā)展歷程如下圖所示:
從鍵盤(pán)+鼠標(biāo)到使用觸摸屏,再到語(yǔ)音交互,人機(jī)交互在不斷地演進(jìn),由面向機(jī)器的人機(jī)交互,演變?yōu)槊嫦蛴脩?hù)自身的交互。語(yǔ)音是非常低成本的溝通手段和工具,為我們帶來(lái)非常大的便利。
語(yǔ)音交互的優(yōu)勢(shì)在于:其一是速度,每分鐘可以說(shuō)120到150個(gè)字。其二是釋放雙手,做飯時(shí)通過(guò)語(yǔ)音可以完成一些期望做的事。其三是直覺(jué)性,語(yǔ)言是人類(lèi)的天賦,也是人類(lèi)交際溝通的自然手段。其四是同理心,語(yǔ)音中包含了語(yǔ)氣、音量、語(yǔ)調(diào)和語(yǔ)速,這些特征傳達(dá)了大量的信息。
語(yǔ)音交互離不開(kāi)人工智能技術(shù),在語(yǔ)音交互中所涉及的人工智能技術(shù)如下圖所示:
如今,智能語(yǔ)音交互正在為我們服務(wù),背后有一整套完整的技術(shù)和流程,從語(yǔ)音喚醒到自動(dòng)語(yǔ)音識(shí)別,再到自然語(yǔ)言理解,最終通過(guò)自然語(yǔ)言生成以及語(yǔ)音合成技術(shù)形成反饋,整套流程背后又有很多細(xì)分的AI技術(shù)在支持,如對(duì)話(huà)管理、深度學(xué)習(xí),DNN、CNN、NLP、TTS等。
面對(duì)涉及如此之廣的AI技術(shù), 我們?cè)鯓硬拍軕?yīng)用到工作和生活之中呢?這和我們有了計(jì)算機(jī)之后,如何使用計(jì)算機(jī)是類(lèi)似的。計(jì)算機(jī)上的操作系統(tǒng)及其API為程序員們打開(kāi)了計(jì)算機(jī)世界的大門(mén)。面向智能交互的AI系統(tǒng), 我們同樣需要一個(gè)類(lèi)似的操作系統(tǒng),才能方便而且高效地構(gòu)建我們的人工智能交互應(yīng)用。
面向語(yǔ)音交互的DuerOS操作系統(tǒng)
百度的DuerOS是一個(gè)面向語(yǔ)音交互的對(duì)話(huà)式人工智能操作系統(tǒng),在包含了語(yǔ)音交互的整套流程的同時(shí),還提供開(kāi)放能力平臺(tái),如SDK、工具、編程接口和設(shè)備等,如下圖所示:
DuerOS操作系統(tǒng)有三個(gè)層面,分別是智能設(shè)備開(kāi)放平臺(tái)(應(yīng)用層)、對(duì)話(huà)核心系統(tǒng)(核心層)和技能開(kāi)放平臺(tái)(能力層)。下面我們進(jìn)一步從基于DuerOS的智能語(yǔ)音設(shè)備、智能語(yǔ)音設(shè)備的工作原理、智能語(yǔ)音交互的交互流程和智能語(yǔ)音應(yīng)用的開(kāi)發(fā)流程等方面了解DuerOS操作系統(tǒng)。
了解一個(gè)操作系統(tǒng)主要是看有哪些語(yǔ)音設(shè)備,基于這些設(shè)備才能進(jìn)行具體的應(yīng)用開(kāi)放,DuerOS的智能語(yǔ)音設(shè)備有很多,部分的小度系列產(chǎn)品如下圖:
DuerOS廣泛適用于音箱、電視、冰箱、手機(jī)、機(jī)器人、車(chē)載、可穿戴、玩具等多種場(chǎng)景及設(shè)備,這些智能語(yǔ)音設(shè)備的工作原理是怎樣的呢?
相比傳統(tǒng)設(shè)備,智能語(yǔ)音設(shè)備是面向交互的,通過(guò)語(yǔ)音、觸屏進(jìn)行輸入,利用TTS、麥克風(fēng)、信號(hào)處理等手段,把本地能力轉(zhuǎn)移到云端,再利用云端ASR、TTS、NLU、NLG等具體的AI技術(shù)實(shí)現(xiàn)智能語(yǔ)音,最后把業(yè)務(wù)引擎、業(yè)務(wù)資源和技能服務(wù)進(jìn)行融合,這樣就可以通過(guò)語(yǔ)音完成一系列服務(wù),如下圖所示。
技能開(kāi)放平臺(tái)包含很多層次,如底層基礎(chǔ)能力、BOT-SDK、配置服務(wù)、協(xié)議開(kāi)放、平臺(tái)開(kāi)放、周邊工具等。下面介紹一下智能語(yǔ)音交互應(yīng)用的交互流程。
這里,我們以詢(xún)問(wèn)天氣意圖為例,當(dāng)用戶(hù)發(fā)出語(yǔ)音指令后,智能音箱本地做用戶(hù)喚醒詞識(shí)別,然后通過(guò)音箱把語(yǔ)音流傳到DuerOS平臺(tái),DuerOS平臺(tái)進(jìn)行語(yǔ)音識(shí)別、語(yǔ)義理解、發(fā)送結(jié)構(gòu)化數(shù)據(jù)給技能服務(wù)器。技能服務(wù)器處理請(qǐng)求,向DuerOS平臺(tái)返回文本或可視化的結(jié)果,DuerOS平臺(tái)收到后,TTS服務(wù)器處理返回的文本,將播報(bào)流發(fā)送給智能音箱,如果是有屏音箱的話(huà),也可將可視化結(jié)果在設(shè)備上進(jìn)行展示。
那么,我們?nèi)绾卧贒uerOS開(kāi)發(fā)一個(gè)智能語(yǔ)音交互的應(yīng)用呢?
智能語(yǔ)音交互應(yīng)用的開(kāi)發(fā)流程一般分為六個(gè)步驟,分別是注冊(cè)、創(chuàng)建技能、建立交互模型、編寫(xiě)代碼部署、調(diào)試與驗(yàn)證和技能上線(xiàn)商用,如下,為具體步驟圖解。
第一步,訪(fǎng)問(wèn)https://dueros.baidu.com/dbp, 注冊(cè)成為DuerOS的開(kāi)發(fā)者。
第二步,創(chuàng)建技能,和我們?cè)贏ndroid或iOS上創(chuàng)建應(yīng)用是類(lèi)似的。
進(jìn)入技能控制臺(tái),選擇“從頭開(kāi)始”創(chuàng)建自定義技能。技能名稱(chēng)是2~50個(gè)字符,調(diào)用名稱(chēng)是2~15個(gè)字符。調(diào)用名稱(chēng)是技能服務(wù)的入口,打開(kāi)+調(diào)用名稱(chēng)。不建議使用生僻詞匯、中英文混合及數(shù)字與漢字混合。技能創(chuàng)建后會(huì)生成一個(gè)技能ID,是技能服務(wù)在DuerOS系統(tǒng)中的唯一標(biāo)識(shí)。
第三步,建立交互模型,這可能是智能語(yǔ)音應(yīng)用與App,小程序,web之類(lèi)應(yīng)用的最大的不同點(diǎn)。
用戶(hù)詢(xún)問(wèn)的核心在這里稱(chēng)為意圖,建立交互模型就是創(chuàng)建多種用戶(hù)意圖的過(guò)程。意圖的標(biāo)識(shí)就相當(dāng)于具體事件的編號(hào)。交互模型的建立實(shí)際上是一種面向接口的設(shè)計(jì)方式,明確的交互的意圖就是在一定程度上確定了技能服務(wù)的功能。
第四步,編寫(xiě)代碼并部署。
DuerOS 提供了高效安全的百度云服務(wù)免費(fèi)使用,開(kāi)放平臺(tái)的在線(xiàn)編輯器提供了對(duì)Python 和Node 的語(yǔ)言支持,編碼主要是對(duì)交互模型中的意圖進(jìn)行匹配和處理。在線(xiàn)編輯器中的代碼將自動(dòng)部署在百度云的CFC,CFC是百度云FaaS無(wú)服務(wù)架構(gòu)的具體應(yīng)用。當(dāng)然,技能代碼的編寫(xiě)還可以通過(guò)Java,PHP等其他語(yǔ)言進(jìn)行編寫(xiě),也可以部署在自己的服務(wù)器或者其他云服務(wù)上。
第五步,對(duì)技能服務(wù)進(jìn)行測(cè)試與驗(yàn)證。
DuerOS開(kāi)放平臺(tái)提供了兩種測(cè)試方式:模擬器和真機(jī)調(diào)試。在真機(jī)調(diào)試時(shí),要保證技能開(kāi)發(fā)賬號(hào)和設(shè)備登錄賬號(hào)一致,對(duì)設(shè)備說(shuō)“開(kāi)啟技能調(diào)試模式”即開(kāi)啟了“技能調(diào)試模式”功能,需要注意的是同一時(shí)間僅支持一個(gè)技能測(cè)試。
第六部,技能應(yīng)用的上線(xiàn)商用。
類(lèi)比來(lái)看,發(fā)布上線(xiàn)與App在安卓市場(chǎng)或者蘋(píng)果商店上的上線(xiàn)發(fā)布過(guò)程是類(lèi)似的。至此,我們可以基于DuerOS的開(kāi)放平臺(tái)開(kāi)發(fā)符合用戶(hù)需求的各種智能語(yǔ)音交互應(yīng)用。同時(shí), DuerOS 還提供了零編程的智能語(yǔ)音交互應(yīng)用實(shí)現(xiàn)方式。應(yīng)用的種類(lèi)豐富多彩,可以為我們的生活帶來(lái)更多的便利和樂(lè)趣!
基于智能語(yǔ)音交互服務(wù)的一天
從早上通過(guò)音箱叫你起床,通過(guò)搭載DuerOS的車(chē)機(jī)導(dǎo)航出發(fā)上班,用小度助手去安排當(dāng)日工作,工作中小度助手可以提醒休息,孩子可以用搭載DuerOS的設(shè)備打電話(huà)、看電視和聽(tīng)故事。
隨著交互形式的變化,交互技術(shù)發(fā)展到了今天的智能語(yǔ)音時(shí)代,在智能語(yǔ)音服務(wù)中可以直接應(yīng)用到各種人工智能技術(shù),可以不用深入關(guān)注具體的NLU、NLG等具體AI技術(shù),只要使用基于DuerOS這樣對(duì)話(huà)式的AI開(kāi)放平臺(tái),就可以完成面向語(yǔ)音交互的各種服務(wù)。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】