2013年5月11日 星期六

從 "錘子 OS" 談智能語音服務


上篇文章中跟各位分享了一些 Google Now 的相關技術,不知道大家看得懂嗎?如果看不懂或懶得看 (的確是扯太多了) 都無所謂,因為最重要的是使用者的感受,撇開那些技術問題,你到底覺得這些智能技術好不好用?

我在 Twitter 上認識了幾位很優秀的香港網友,其中一位比我早一天開始測試 Google Now,然後又比我晚一天放棄 (真有耐心,小弟甘拜下風),我看到他的吐槽也半開玩笑地回了幾句:

他:這回 Google Now 就在我回公司後叫我回家休息,真他媽體貼。 
我:給它點時間慢慢學嘛  XDXD
他:我的電池沒那麼多時間 Orz

很有意思對吧?讓我們再看另一個例子:


這是我某天心血來潮時做的測試,坦白說我並沒有刁難 Siri,問家人的生日並不奇怪吧?如果沒有記載在手機裡,"理論上" Siri 應該能直接幫我加入,因為內建的 "聯絡資訊" App 裡的確有 "生日" 這一欄。可是呢,首先我在講日期時 "結巴" 了一下,然後 Siri 就不知道我在說啥了。如果是這樣也無彷,所以我再說了一次正確的句子,它仍然不知道我在幹麼,於是就一直問我要不要搜尋。在之後的測試裡,我發現 Siri 無法做 "加入聯絡人生日" 這個動作,它只會一直回覆 "對不起,我無法新增聯絡人" (有趣的是,我可以口頭設定某人是我爸爸,但不能加入他的生日),先不論這檔子事很不合邏輯,那上圖的測試為何會一直以搜尋結尾呢?原因是我講錯話後,Siri 把問題導向搜尋,然後就完全 "忘記" 前面的 "對話上下文",若我不把問題重講一次,它就只會一直搜尋。

看到這裡大家感覺如何?老實說我很想作個調查,問問大家平時到底有沒有在使用這些 "智能" 的語音服務 (不是單純的語音 "輸入" 喔!),不過我認為結果應該不會跟我想得差太多 -- 其實這些語音服務的使用率根本就不高,偶爾問問天氣算不錯了。

那為什麼使用率不高呢?簡單的說就是一個字:


沒錯吧?瞧瞧 Google Now 那付德行,連 Android 使用者都不見得買帳,但原因不完全是它太耗電,而是它的人工智能根本做不到廣告中說的那麼神,而且還不容易手動干預 (我是不知道怎麼做啦) 它的行為,完全無法適用於突發狀況,所以就不知道它要到哪一天才會有用,如強者我朋友說的 "我的電池沒那麼多時間"。

至於 Siri 則有另外的問題。老實說,雖然 Siri 的主打功能是 "自然語音",但也只是它能辨識的關鍵字特別多而已 (如右圖的簡訊語法),不過這是一個正確的方向,因為人工智能就是需要龐大的資料庫,而這一點也跟人腦類似,比如說問一個人某部車子好不好,若他壓根兒不知道輪胎、儀表板、馬力、耗油量 ... 等等相關術語,那你怎麼問也是沒用的,因為他沒有相關的背景知識,故結果比問機器還糟。

因此,我們可以理解為什麼 Siri 必須要連上網路才可以用,原因是那龐大的資料庫無法放在各自的手持裝置中,故需要雲端的支援,而撇開各國語言的文法問題 (這其實是大問題,但很難解決),Siri 的人工智能其實已經非常強大了,它的理解力常常超越大家的想像,但它的問題不在於人工智能 (語 "意" 辨識) 不到位,而是語音辨識能力太爛!聽起來很可笑,因為這是語音服務的 "基本",也是一切的開端,但這是事實。Siri 在語音辨識方面使用的是 Nuance 公司的技術,雖然其效果不差,但很明顯地速度慢、失敗率又高,比如說中英混雜 [1] 一定掛點,摻有任何專有名詞 (包括餐廳名稱等特殊名詞) 也大多失敗 [2],另外像上面的示範圖所示,若講話中斷或舌頭打結也是死路一條,即使這些問題未來都可能解決,但目前的確造成很大的不便,用幾次都失敗就不會想再用了。而在這方面,Google 不愧是搜尋引擎的龍頭,仗著手中握有全世界的網路資料,其語音辨識方面的確比 Siri 強很多,不僅速度快,連一些怪名詞都能辨識成功,甚至中英混雜都沒問題 (有時候啦),可惜配上一個仍在牙牙學語的 Google Now。

所以,問題仍然是 "人工智能" 未夠班。而且麻煩的是,不僅做出的 "反應" 需要人工智能,"語音辨識" 同樣也需要人工智能,技術的不到位導致語音服務不好用。

核心技術不夠好該怎麼辦呢?那就乾脆把它的視野縮小,做好它能做的事,不要好高騖遠吧!這就是錘子 OS 之語音服務的目標。


幾個月前,對岸的羅永浩先生舉辦了一場他們團隊 (Smartisan) 的手機 ROM 發表會,雖然是基於 Android 的手機 ROM,但其實已經跟新的 OS 沒什麼兩樣了,所以我一向稱它為 "錘子 OS"。關於這位羅先生,綽號是老羅,台灣的朋友可能不太認識他,但他在大陸可說是鼎鼎有名,怎麼有名的呢?坦白說是褒貶參半,有興趣的朋友可以觀賞他的百度百科

OK,其實老羅是誰並不重要,但他的發表會影片的確是值得一看的,除了他的口才相當好,時常都有笑料之外,我們可以從他們的作品 (或者說是老羅的作品) 中看出這家公司的確很有想法,特別專注於設計,即使底子是 Android,很多 UI 又抄襲了 iOS,但其人性化程度的確有他們的獨到之處。

然而,其中最能引起我共鳴的是語音服務的設計。正如我前面的段落所說,語音服務發展至今始終不好用,原因就在於人工智能的技術還不夠強,依老羅的看法,他認為 "語音辨識不是問題,重點是語音服務的反應做不到真正的人性化",雖然跟我的看法有些出入,但本質是類似的 (可能是因為我不會那麼無聊去調戲 Siri 吧 ....),我整理一下:
  1. 語音服務的效率必須要遠大於手動操作的效率:這是很重要的一點,比如說上次我心血來潮跟 Siri 對話,要它幫我安排個行程,除了要擔心它辨識失敗,講話要故意 "清楚乾淨不斷句" 之外,一來一回的問答搞到最後比用手去操作還花時間,也難怪這種東西會淪為玩具了 [3]。
  2. 連結雲端不該是語音服務的必要條件:目前所有大廠的語音服務都需要連上網路才有用,其實這是相當不方便的事,尤其像台灣這種 WiFi 熱點少、3G 吃不飽的地方,一個服務或軟體需不需要連上網路會直接影響到該物的普及程度。在前面的段落裡,我對此的解釋是人工智能需要強大的資料庫去比對使用者的語意,所以必須尋求雲端伺服器的支援 [4],但是連語音輸入 (聽寫 Dictation) 這種 "單純的語音辨識" 也要連上雲端是怎麼回事?就連 Google 都在 Android Jelly Bean 推出 "離線語音輸入" 了,iOS 只要是跟語音有關的服務仍然全部需要連網,雖然我前面提及語音辨識也需要人工智能,而人工智能就需要雲端的協助,但 iOS 的語音辨識也沒有因此而比較準確啊 ....
  1. 使用語音服務時的心理障礙:這一點時常被人忽略,像我就不敢在人多的地方使用 Siri,因為真的有點丟臉!而這一切的原因是,你必須要跟 Siri 講 "完整的句子",就像跟人對話一樣,可是又不能 "那麼口語" (不然辨識失敗後要講第二次會顯得更難堪),所以就講得很彆扭,旁人一聽就知道你在跟機器講話,於是就紛紛投以異樣的眼光,心裡還想著 "耍什麼潮,直接操作不是更快?" 當然,蠢事如果做的人多就不蠢了,像近年來很紅的大板擦手機,坦白說拿那些板擦講電話真的很蠢,可是看多了也就習慣了,至於語音服務離普及還有很長的一段時間,目前這層心理障礙是很難被突破的。
OK,講 (譙) 了這麼多,那錘子 OS 做了什麼?我以老羅的一句話來解釋:

能不說一句完整的話就不說一句完整的話。

什麼意思呢?就是他完全捨棄人工智能的表現,直接把語音服務的功能限制在少數幾項 (見上上圖),像是撥打電話、傳送簡訊、播放音樂、開啟應用程式、設定鬧鐘、搜尋網頁及查詢地圖。這麼做的好處是,你想用哪個服務就點選哪個,然後直接 "講出單字" 即可,而且若只需要本機相關的資料 (如上述功能的前五項),語音服務會直接批配本機的資料庫,故 "完全不用連上網路" 就能使用,在此同時,由於發出的指令只是 "單字",所以比較不引人注目,連心理層面的問題都解決了 (其餘的示範請看發表會影片)。

如何?坦白來說這個設計並沒有技術的創新,能做的事也很有限,但是效率卻異常地高,比起淪為玩具的眾家語音服務搞不好更受歡迎。然而,我知道很多人對此項服務嗤之以鼻,因為它就像個 "開倒車" 的玩意,簡直完全否定了目前正在蓬勃發展的語音技術,而將其限制在最原始的 "語音辨識" 服務裡,不僅對新技術的開發完全沒有貢獻,甚至還帶有嘲笑人工智能的意味。可是,作為一個 "產品" 設計者,功能實不實用及是否能滿足用戶才是第一要務,因此在核心技術還不成熟的時候,做出這樣的妥協其實也無可厚非。

講到這裡,可能有人覺得我很看好錘子 OS,事實上我也不否認 (出自於其他 Android ROM 的 "襯托" ...),但就我看來老羅還必須繳很多學費。就舉語音服務的例子吧,錘子 OS 的語音服務將輸入的訊息盡可能地簡化,以避免 "說長句子容易出錯"、"各國文法紊亂" 等問題,但這一切的重擔都加諸在 "語音辨識" 服務的品質上,如果跟他們合作的語音辨識公司 (據說是訊飛雲知聲) 不夠強,那可能導致全盤皆輸,比當其他廠商的跟屁蟲還糟。另外,如我前面的段落所說,其實語音辨識也非常需要人工智能,好在錘子 OS 的 "單字" 策略減緩了此項需求,但等到功能越來越多的時候,遲早還是要面臨這個問題,老羅似乎把語音辨識的應用看得太單純了。

東尼:賈維斯,瞄準目標!

嗯,我還是堅信語音服務是未來的趨勢,但做產品及做研究完全是兩回事,至今我們只能看到現階段妥協之下的成果,但願在不久的將來,我們能看到真正的 "虛擬助理" 幫我們做事。



附註
1. 聽起來這要求太苛刻了,但除了英語系國家之外,哪一國人講話時不會混雜英文 (或者這麼說,有些場合及對話內容想不摻雜英文根本不可能)?如果不能克服這一點,語音辨識的人工智能永遠不能稱作成功。
2. 這個問題在未來可以用 "與 Siri 一問一答" 來克服,就像人們聽到不懂或未知的名詞一樣,問清楚一點可能就知道了。我認為解決只是時間上的問題,只要 Apple 及 Nuance 肯做。
3. 不是我只願跟 Siri 比較,而是 Google Now 的行為無法用語音自行設定,至於 "自動" 或 "智能" 的效率也很難界定,實在是無力吐槽啊,使用它我甚至有一種 "被 Google 掌控行程" 的不悅感。
4. 蒐集使用者資料的陰謀論我就不提了,或許那真的有助於提升日後的服務品質 (官方說法) 也說不定,但不管你信不信官方的聲明,我認為雲端的支援還是有其必要性的,並非只是要蒐集 Big Data。

2 則留言:

  1. Siri可以中英混雜呀@@
    只是是錯誤率真的滿高的就是

    另外使用Siri,我認為它被設計成需要用自然的講話方式,才會有較高的辨識率,一個字一個字念或故意講慢的反而容易出錯

    我就滿常用來設定鬧鐘和計時器及問天氣的,很少出錯
    比較容易出錯的是設定備忘錄,因為要事先想好再講,中途不能講錯或中斷

    回覆刪除
    回覆
    1. 我對 Siri 講話時只要有摻雜英文一定失敗 .... orz 而且 Siri 有一些很奇怪的 bug,比如說 "賴 XX" (人名) 一定被辨識成 "來 XX",我講得再清楚再標準都沒用 ....

      所以我說,Siri 目前最需要的是 "語音辨識的人工智能",其他部分已經做得不錯了。

      至於你說 "故意講慢的反而容易出錯" 我是沒啥感覺,因為我不會慢到 "一個字一個字念",只是單純講慢一點,但我的經驗是,速度不是很重要的變因,因為要讓它辨識失敗實在太容易了,隨便摻雜個專有名詞就掛了,但是我在使用 Siri 時常常會講到專有名詞,所以 Siri 對我幾乎是沒用的,那些 "問天氣"、"設定鬧鐘" 的兒戲只是官方設定好的東西,不足以證明 Siri 夠格稱作 "個人助理"。

      刪除