「極客公開課·Live」5分鐘帶你複習如何打造對話式交互

這是極客公園「極客公開課 · Live」第二期的活動,來自雲知聲AI Labs的研發總監劉昇平和我們分享了如何打造對話式交互,以及他在AI領域相關技術產品經驗。

什麼是「極客公開課」?

1 位技術產品大牛和 10 位優秀技術產品人圍繞技術產品相關話題,面對面深度分享和討論,共同創造更優的知識與更高的學習效率。

而現在,這種深度的交流方式屬於每一個人,知乎 Live 同步線上實時問答,隨時隨地參與提問互動,與數百人共創一本知乎 live 版的「課堂筆記」

每周 1 次,全年 50 場,極客公開課,推動產品人的自我迭代

以下為本期課堂筆記精華摘要:

會話式交互

什麼是會話式交互?

我們可以從最早2010年,iPhone上一個App剛剛推出,上面可以通過語音說話,說我要查明天天氣、我要看今天晚上有什麼好看的電影,就直接會把結果用GUI的方式反應出來,這是最早的一種形態。然後,蘋果應該在2010年左右,把他收購了,後來用在iPhone4上,iPhone4S的時候把它集成在一塊推出來,但它的定位還是手機上的一個APP。

為什麼現在這種交互形態比較火呢?因為我們在移動互聯網時代,大家都可以看到APP是最主要的形態,但在現在的物聯網時代,有各種各樣的設備在上網,但這些設備可能是沒有屏幕的,可能不是觸手可及的,也有可能它的使用場景不能用在手機和車裡面中控的屏幕,也不能用眼睛去看,也不能用手去摸,這種情況語音交互是最自然的形態。

所以,這也是目前我們說會話式交互也好,叫Bot或者VUI;在IOT時代會話的應用應該會成為主要的交互形式,所以這是我們做產品肯定要跟上時代嘛,不能只停留在GUI的時代。

口語對話系統:

從技術上來講,我們這叫口語對話系統。而這個口語對話系統,也研究了至少有三四十年,最主要有這5個組成部分:

1、語音識別,就是你說話我需要聽清楚,把它轉成文字。

2、轉成文字以後要理解這句話的含義,這就是口語理解。

3、理解完以後,要考慮怎麼跟你深層次應答,對話管理甚至要考慮上下文的理解,因為可能多人交互嘛,所以要對話管理。

4、說了東西以後再轉化成自然語言,把我們的想法組織成一個適合說的語音。

5、然後再用語音合成,就是TTS,把它用語音播報出來。詳細講解請見知乎 Live。

會話交互的技術趨勢:

現在基本上先要語音識別,後要語義理解,然後TTS語音合成。但我們認為這三點,非常想和大家分享。

第一,我們僅僅做語義理解還不夠,而要做到語用。什麼是語用呢?我們在做自然語言處理的時候,一般會說它分4個層次:

1、在詞法這一級,我們考慮一個詞的含義。

2、考慮語法和這個詞怎麼成一個句子。

3、語義,這句話是什麼含義。

4、語用,要考慮同一句話在不同的使用場景下,表達出來的含義是不一樣的。詳細講解請見知乎 Live

遠場語音識別

這種IOT設備,離它有點距離的,所以這時候就是遠場,遠場語音識別比我們跟手機這種近場,我個人認為不止難一個數量級,主要在信號這一層,因為就像我在這裡說話跟那邊收到的,房間里有各種各樣的聲音折射和混響,特別是玻璃房裡面,混響非常嚴重,大家可能在有些會議室開會有這種感覺,聽見有翁翁翁的感覺,所以語音識別如果在這種情況下要識別準確非常難。

遠場還有個很難的地方是,因為有個距離,遠場聲音的衰減是成平方的,所以我的聲音到你那的時候已經變得很小了,這時候再加上各種各樣的混響、環境噪音,聲音質量是非常差的,這種情況下你還要聽清楚這句話,非常困難。

所以,我們在做會話式交互的時候,能近講盡量用近講,不要用遠講,因為遠講對語音識別的干擾是非常大的。詳細講解請見知乎 Live

語用計算概述

什麼叫語用?在研究這句話含義的時候,它有兩個含義:字面表面含義,結合語境一句話的意思會不同,說句話到底是什麼含義?而不是看那幾個字是什麼意思,因為它更多考慮的是說這句話時候真實的意圖,而不是表面意圖。

所以,在語言學裡面更強調怎麼通過語境來理解或者使用。除了在理解的時候要結合語境信息之外,我們在應答的時候也同樣要結合這些語境信息。詳細講解請見知乎 Live

語用計算應用: 基於Seq2Seq的ChatBot

深度學習大家可能都聽過一點,一句話進來另外一句話出去。這就跟我們做機器翻譯一,一句中文進來一句英文出去,中間並沒有真正理解你這句話,只是有很多中英文的語料,大家去訓練這個模型,你說中文然後我說句英文,對話聊天也可以按類似的思路,它的框架實際跟翻譯是一個框架,用一串莫名其妙的數字來表示。然後又吐出一句話,就跟機器翻譯一樣。

但訓練的時候,需要很多聊天訓練這個模型。這是現在學術界的一個方向,可以結合上下文。這個一致性也需要跟大家討論一下。現在碰到最多的問題就是這個問題,以同樣一句話去問它,它的答案會不一樣。就像問小冰多大了,它說我是90後,再問它你是90後嗎?它說不是,或者問它貴庚?它可能說70,再問它年芳幾許?它可能說18歲。這是什麼原因呢?目前聊天機器人的語料是從很多地方彙集在一起的,有人回答說你貴庚了?老人回答說今年88。它也不知道這幾個問題是同一個意思,這會導致你跟一個機器人聊天,感覺它跟人格分裂一樣,雖然說每句話都會回答,但它不是一個人的知識庫,這種情況下是肯定通不過圖靈測試的,如果一個人回答的信息一定是一致的。

在一致性方面,是在聊天方面最困難的問題了,現在有些方法,但也解決不太好。這個例子也是類似的,問住在哪裡?說住在昌平,再問它是不是住在北京?它不知道是不是了,肯定要包含一定的知識,才能得到一致性的回答。詳細講解請見知乎 Live

會話式交互的產業化實踐

這裡面我可以給大家分享一下,可能不僅僅是從產品角度,假設你去做個公司,或者想把會話式交互產品落地,從技術轉變成產品、商業模式,大概是怎樣的思路。

在技術上剛才看到了會話式交互非常複雜,從語音到語言到知識,涉及的非常全面,所以這時就要做一個技術閉環,在技術這塊一定要有用戶、數據,通過這些用戶的數據再去優化你的引擎。如果你的系統沒有用戶數據的反饋,光靠自己在底下吭哧吭哧優化,這個效果肯定不會太好。做搜索引擎的可能都知道,搜索引擎為啥越來越好?最重要的是用戶可以做點擊,如果你發現用戶一般都是點第三個結果,那就可以把第三個結果提到第一個,因為用戶的反饋告訴你了第三個結果最好,第一個結果不是最好,這樣就可以更好的提升你的系統,這就是我們說的一定要形成個技術閉環。詳細講解請見知乎 Live

以上就是本次公開課的所有關鍵內容。

本次課程完整筆記與 PPT,請點擊「極客公開課·Live」第二期

原文鏈接→「極客公開課·Live」5分鐘帶你複習如何打造對話式交互

推薦閱讀:

TAG:知乎Live | 交互设计 | 语音 |