中小學AI 素養 – 生活中用的人工智慧語音及翻譯系統


中小學AI 素養 – 生活中用的人工智慧語音及翻譯系統(I)


03 July, 2019


前言(ref)

動動嘴巴,手機語音助理服務,就能讓手機言聽計從,機器可以把聽到的一段聲音訊號變成文字,就是語音辨識。再來讓機器能夠理解文字的內容。機器的學習從詞彙的理解開始。用Word Embedding讓機器去閱讀文本,透過上下文之間的關係來推論出每個詞彙之間的意義。讓機器讀越多的書,機器就越能理解這些詞彙之間的關係,猜出他們代表什麼意思。

語音辨識


語音辨識(speech recognition)技術,也被稱為自動語音辨識(英語:Automatic Speech Recognition, ASR)、電腦語音識別(英語:Computer Speech Recognition)或是語音轉文字識別(英語:Speech TText, STT),其目標是以電腦自動將人類的語音內容轉換為相應的文字。與說話人辨識說話人確認不同,後者嘗試辨識或確認發出語音的說話人而非其中所包含的詞彙內容。

語音辨識技術的應用包括語音撥號、語音導航、室內裝置控制、語音文件檢索、簡單的聽寫資料錄入等。語音辨識技術與其他自然語言處理技術如機器翻譯語音合成技術相結合,可以構建出更加複雜的應用,例如語音到語音的翻譯。[1]

語音辨識技術所涉及的領域包括:訊號處理圖形辨識概率論資訊理論、發聲機理和聽覺機理、人工智慧等等。

歷史

早在電腦發明之前,自動語音辨識的設想就已經被提上了議事日程,早期的聲碼器可被視作語音辨識及合成的雛形。而1920年代生產的"Radio Rex"玩具狗是最早的語音辨識器,當這隻狗的名字被呼喚的時候,它能夠從底座上彈出來。最早的基於電腦的語音辨識系統是由AT&T貝爾實驗室開發的Audrey語音辨識系統,它能夠辨識10個英文數位。其辨識方法是跟蹤語音中的共振峰。該系統得到了98%的正確率。到1950年代末,倫敦學院(Colledge of London)的Denes已經將語法概率加入語音辨識中。

1960年代,人工神經網路被引入了語音辨識。這一時代的兩大突破是線性預測編碼Linear Predictive Coding (LPC), 及動態時間規整Dynamic Time Warp技術。

語音辨識技術的最重大突破是隱含馬爾科夫模型Hidden Markov Model的應用。從Baum提出相關數學推理,經過Rabiner等人的研究,卡內基梅隆大學李開復最終實現了第一個基於隱馬爾科夫模型的大詞彙量語音辨識系統Sphinx。此後嚴格來說語音辨識技術並沒有脫離HMM框架。

儘管多年來研究人員一直嘗試將「聽寫機」推廣,語音辨識技術在目前還無法支援無限領域,無限說話人的聽寫機應用。

模型

目前,主流的大詞彙量語音辨識系統多採用統計圖形辨識技術。典型的基於統計圖形辨識方法的語音辨識系統由以下幾個基本模組所構成:

訊號處理及特徵提取模組。該模組的主要任務是從輸入訊號中提取特徵,供聲學模型處理。同時,它一般也包括了一些訊號處理技術,以儘可能降低環境雜訊、通道、說話人等因素對特徵造成的影響。

聲學模型。典型系統多採用基於一階隱馬爾科夫模型進行建模。

發音詞典。發音詞典包含系統所能處理的詞彙集及其發音。發音詞典實際提供了聲學模型建模單元與語言模型建模單元間的對映。

語言模型。語言模型對系統所針對的語言進行建模。理論上,包括正規語言,上下文無關文法在內的各種語言模型都可以作為語言模型,但目前各種系統普遍採用的還是基於統計的N元文法及其變體。

解碼器。解碼器是語音辨識系統的核心之一,其任務是對輸入的訊號,根據聲學、語言模型及詞典,尋找能夠以最大概率輸出該訊號的詞串。

系統構成

聲學特徵

聲學特徵的提取與選擇是語音辨識的一個重要環節。聲學特徵的提取既是一個資訊大振幅壓縮的過程,也是一個訊號解卷過程,目的是使圖形劃分器能更好地劃分。

由於語音訊號的時變特性,特徵提取必須在一小段語音訊號上進行,也即進行短分時析。這一段被認為是平穩的分析區間稱之為影格,影格與影格之間的偏移通常取影格長的1/2或1/3。通常要對訊號進行預加重以提升高頻,對訊號加窗以避免短時語音段邊緣的影響。

中文聲學特徵

以普通話發音為例,我們會將一個字的發音切割成兩個部分,分別是聲母(initials)與韻母(finals)。而在發音的過程之中,聲母轉變至韻母是一個漸進而非瞬間的改變,因此我使用右文相關聲韻母圖形(Right-Context-Dependent Initial Final, RCDIF)作為分析方法,可以更精準的辨識出正確的音節(syllable)。

而根據聲母的不同特徵,又可以將聲母分為下面四類:


左:ㄅ之時頻圖 右:ㄆ之時頻圖

發音時嘴唇緊閉後,吐出氣流製造出類似爆破的聲音。其聲音震幅變化會先降至極小值後(代表嘴唇緊閉)後在急劇上升,而端視是否有持續送氣,倘若有持續送氣(aspirated),則震幅可能會有另一個波峰,若無(un-aspirated )則在波峰之後,震幅將有所下降。如:ㄆ與ㄅ便是前述的關係,ㄆ有持續送氣,而ㄅ則無。右圖左為ㄅ,右圖右為ㄆ。

發音時,舌頭緊貼硬顎,形成狹窄的通道,氣流通過時造成湍流發生摩擦,由此發出聲響。由於摩擦音是透過穩定輸出氣流,使得聲音震幅變化相較於爆破音變化振幅較小。如ㄏ、ㄒ 等皆為摩擦音。

此類型的發聲模型兼具爆破音與摩擦音的發聲特性。其主要發聲構造如同摩擦音是由舌頭緊貼硬顎使氣流通過時產生摩擦的聲音。而其通道更加緊密,使得氣流會在瞬間衝出,產生出如同爆破音般的特徵。如:ㄑ 、ㄔ等。


鼻音(ㄋ)之特徵

發音時,軟顎會下壓,下壓後,由氣管吐出的氣流被阻塞,無法進入口腔,因而轉往鼻腔。也因此鼻腔與口腔會產生共振,如右圖的時頻譜上可以明顯地看到零點(formants)分布有共振的現象,而這樣的共振現象在右文相關聲韻母圖形(Right-Context-Dependent Initial Final, RCDIF)下與韻母倆相對較下更加明顯。因此,此一現象可作為辨識鼻音(Nasal)的重要依據之一。右圖便為鼻音ㄋ之特徵,其中紅點便為零點(formants)

而韻母又有雙母音、單母音之分,端視再發生時是否有音調的改變。而根據聲帶振動與否,又分為清音(unvoiced:聲帶不震動)等差異,以上發音時不同的方式,在時頻圖上大多可以找到相對應的特徵,透過處理二維的時頻圖,藉由傳統影像處理的方式,達到語音辨識的目的。

聲學模型

主條目:聲學模型

語音辨識系統的模型通常由聲學模型和語言模型兩部封包成,分別對應於語音到音節概率的計算和音節到字概率的計算。本節和下一節分別介紹聲學模型和語言模型方面的技術。

英語的上下文相關建模通常以音素為基元,由於有些音素對其後音素的影響是相似的,因而可以通過音素解碼狀態的群集進行模型參數的共用。群集的結果稱為senone。決策樹用來實現高效的triphone對senone的對應,通過回答一系列前後音所屬類別(元/輔音、清/濁音等等)的問題,最終確定其HMM狀態應使用哪個senone。分類回歸樹CART模型用以進行詞到音素的發音標註。


// STEAMCourses 課程介紹:

當AI 進入 Scratch

•生活 AI

•創意 AI

•Scratch

•Scratch 的智能語音

•Scratch 的智能翻譯

•做個 Scratch 多語系專家系統(智能導覽)

•視覺辨識

•人臉辨識

•車牌辨識

•文字辨識

// STEAMCourses 課程介紹 end


語言模型

主條目:語言模型

語言模型主要分為規則模型統計模型兩種。統計語言模型是用概率統計的方法來揭示語言單位內在的統計規律,其中n元語法簡單有效,被廣泛使用。

n元語法:該模型基於這樣一種假設,第n個詞的出現只與前面N-1個詞相關,而與其它任何詞都不相關,整句的概率就是各個詞出現概率的乘積。這些概率可以通過直接從語料中統計N個詞同時出現的次數得到。由於計算量太大,N一般取值不會很大,常用的是二元語法(Bi-Gram)和三元語法(Tri-Gram)。

語言模型的效能通常用交叉和複雜度(Perplexity)來衡量。交叉熵的意義是用該模型對文字辨識的難度,或者從壓縮的角度來看,每個詞平均要用幾個位來編碼。複雜度的意義是用該模型表示這一文字平均的分支數,其倒數可視為每個詞的平均概率。平滑是指對沒觀察到的N元組合賦予一個概率值,以保證詞序列總能通過語言模型得到一個概率值。通常使用的平滑技術有圖靈估計、刪除插值平滑、Katz平滑和Kneser-Ney平滑。

系統實現

語音辨識系統選擇辨識基元的要求是,有準確的定義,能得到足夠資料進行訓練,具有一般性。英語通常採用上下文相關的音素建模,漢語的協同發音不如英語嚴重,可以採用音節建模。系統所需的訓練資料大小與模型複雜度有關。模型設計得過於複雜以至於超出了所提供的訓練資料的能力,會使得效能急劇下降。

聽寫機:大詞彙量、非特定人、連續語音辨識系統通常稱為聽寫機。其架構就是建立在前述聲學模型和語言模型基礎上的HMM拓撲結構。訓練時對每個基元用前向後向演算法獲得模型參數,辨識時,將基元串接成詞,詞間加上靜音模型並引入語言模型作為詞間轉移概率,形成迴圈結構,用Viterbi演算法進行解碼。針對漢語易於分割的特點,先進行分割再對每一段進行解碼,是用以提高效率的一個簡化方法。

對話系統:用於實現人機口語對話的系統稱為對話系統。受目前技術所限,對話系統往往是面向一個狹窄領域、詞彙量有限的系統,其題材有旅遊查詢、訂票、資料庫檢索等等。其前端是一個語音辨識器,辨識產生的N-best候選或詞候選網格,由語法分析器進行分析取得語意資訊,再由對話管理器確定應答資訊,由語音合成器輸出。由於目前的系統往往詞彙量有限,也可以用提取關鍵詞的方法來取得語意資訊。

自適應與強健性

語音辨識系統的效能受許多因素的影響,包括不同的說話人、說話方式、環境噪音、傳輸通道等等。提高系統強健性,是要提高系統克服這些因素影響的能力,使系統在不同的應用環境、條件下效能穩定;自適應的目的,是根據不同的影響來源,自動地、有針對性地對系統進行調整,在使用中逐步提高效能(其中以李開復博士的不特定語音辨識系統為例)。以下對影響系統效能的不同因素分別介紹解決辦法。

解決辦法按針對語音特徵的方法(以下稱特徵方法)和模型調整的方法(以下稱模型方法)分為兩類。前者需要尋找更好的、高強健性的特徵參數,或是在現有的特徵參數基礎上,加入一些特定的處理方法。後者是利用少量的自適應語料來修正或變換原有的說話人無關(SI)模型,從而使其成為說話人自適應(SA)模型。

說話人自適應的特徵方法有說話人規一化和說話人子空間法,模型方法有貝葉斯方法、變換法和模型合併法。

語音系統中的雜訊,包括環境雜訊和錄音過程加入的電子雜訊。提高系統魯棒性的特徵方法包括語音增強和尋找對雜訊干擾不敏感的特徵,模型方法有並列模型組合PMC方法和在訓練中人為加入雜訊。通道畸變包括錄音時話筒的距離、使用不同靈敏度的話筒、不同增益的前置放大和不同的濾波器設計等等。特徵方法有從倒譜向量中減去其長時平均值和RASTA濾波,模型方法有倒譜平移。

最大後驗概率

主條目:最大後驗概率

最大後驗機率估計是後驗機率分布的眾數。利用最大後驗機率估計可以獲得對實驗資料中無法直接觀察到的量的點估計。它與最大似然估計中的經典方法有密切關係,但是它使用了一個增廣的最佳化目標,進一步考慮了被估計量的先驗機率分布。所以最大後驗機率估計可以看作是規則化的最大似然估計。

以此為基礎的自適性方法有以下特性:

  • 越大的調整測資(adaptation data)可以讓結果越接近理想的客製化模型
  • 當調整測資(adaptation data)不足時,無法顯著提升模型的精準度

最大似然線性回歸

最大似然線性回歸(Maximum Likelihood Linear Regression(MLLR) )是一種基於詞網的最大似然線性回歸(Lattice-MLLR)無監督自適應演算法,並進行了改進。是一種基於變換的方法,對資料量依賴較小,常用於資料量較少的情況或進行快速自適應。

一種基於詞網的最大似然線性回歸(Lattice-MLLR)無監督自適應演算法,並進行了改進。 Lattice-MLLR是根據解碼得到的詞網估計MLLR變換參數,詞網的潛在誤識率遠小於識別結果,因此可以使參數估計更為準確。 Lattice-MLLR的一個很大的缺點是計算量極大,較難實用。MLLR 是一種基於變換的方法,對資料量依賴較小,常用於資料量較少的情況或進行快速自適應。

以此為基礎的自適性方法有以下特性:

  • 在少量的調整測資(adaptation data)可以顯著提升模型的精準度
  • 當調整測資(adaptation data)達到一定量後,精準度的提升會進入飽和狀態,有明顯的效率上界

而最大似然線性回歸(Maximum Likelihood Linear Regression(MLLR) )也有許多變形。其中區段對角最大似然線性回歸(block-diagonal Maximum Likelihood Linear Regression(MLLR))可以再更少量的調整測資下提升更大的精準度,然而其進入準度的飽和狀態也更快,精準度上限也更低。

綜合以上,端視調整測資(adaptation data)的多寡,可以選擇適當的方法,讓模型的精準度最高。

參考文獻[編輯]

  • ^ 語音輸入法
  • ^ 5.1 Automatic Speech Recognition (ASR) History, www.icsi.berkeley.edu/eecs225d/spr95/lecture05.ps....
  • ^ Davis, Biddulph and Balashek Automatic Recognition of Spoken Digits, Journal of the Acoustical Society of America Vol 24 No 6, November 1952
  • ^ Automatic Speech Recognition: The Development of the Sphinx Recognition System KF Lee, R Reddy - 1988 - Kluwer Academic Publishers Norwell, MA, USA

外部連結[編輯]

  • [1][永久失效連結] - CMU Sphinx 最早的語音辨識軟體
  • [2] - HTK 由劍橋大學開發的一套完備的語音辨識系統
  • simon - 一個開源的語音辨識軟體
  • [3][永久失效連結] - 靈雲開發者社群,提供免費及商用的語音辨識SDK

// STEAMCourses 課程介紹:

當AI 進入 Scratch

•生活 AI

•創意 AI

•Scratch

•Scratch 的智能語音

•Scratch 的智能翻譯

•做個 Scratch 多語系專家系統(智能導覽)

•視覺辨識

•人臉辨識

•車牌辨識

•文字辨識

// STEAMCourses 課程介紹 end

// STEAMKid 實體課程

【AI 創客】Scratch AI & Machine Learning

【文化創客】 博物館文物創客夏令營

// STEAMKid 實體課程

// 相關文章系列

中小學AI 素養 – AI 簡史(I)

中小學AI 素養 – AI 簡史(II)

中小學AI 素養 – 生活中用的人工智慧語音及翻譯系統(I)

中小學AI 素養 – 生活中用的人工智慧語音及翻譯系統(II)

中小學AI 素養 – 生活中用的智慧導航

中小學AI 素養 – 生活中用的智慧視訊偵測


// 相關文章系列

中小學AI 素養 – 生活中用的人工智慧語音及翻譯系統(II)

機器翻譯的進展及問題(ref)

機器翻譯起源及歷史(Ref)

機器翻譯(Ref)(英語:Machine Translation,經常簡寫為MT,簡稱機翻)屬於計算語言學的範疇,其研究藉由電腦程式將文字或演說從一種自然語言翻譯成另一種自然語言。簡單來說,機器翻譯是透過將一個自然語言的字辭取代成另一個自然語言的字辭。藉由使用語料庫的技術,可達成更加複雜的自動翻譯,包含可更佳的處理不同的文法結構、辭彙辨識慣用語的對應等。

目前的翻譯機器,有時可以得到可以理解的翻譯結果,但是想要得到較有意義的翻譯結果,往往需要在輸入語句時適當地編輯,以利電腦程式分析。

但是,機器翻譯的結果好壞,往往取決於譯入及譯出語之間的詞彙、文法結構、語系甚至文化上的差異,例如英語荷蘭語同為印歐語系日耳曼語族,這兩種語言間的機器翻譯結果通常比漢語英語間機器翻譯的結果好。

因此,要改善機器翻譯的結果,人為的介入仍顯相當重要。


機器翻譯有時會得出這樣令人難以理解又啼笑皆非的翻譯結果


峇里島景區上的 no entry(禁止進入)被機器翻譯成「沒有進入」


峇里島景區上的 forbidden to stand on(禁止站在上方)被機器翻譯成了「嚴禁站在」

一般而言,大眾使用機器翻譯的目的只是為了獲知原文句子或段落的要旨,而不是精確的翻譯。總的來說,機器翻譯的效果並沒有達到可以取代人工翻譯的程度,所以無法成為正式的翻譯。

不過現在已有越來越多的公司嘗試以機器翻譯的技術來提供其公司網站多語系支援的服務。例如微軟公司試將其 MSDN 以機器翻譯來自動翻譯成多國語言,如上文所說,知識庫作為專業領域,其文法較為制式化,翻譯結果亦更加符合自然語言。

機器翻譯的概念最早可追溯到17世紀。1629年,哲學家笛卡兒(René Descartes)提出了世界語言的概念,即將不同語言相同含義的詞彙以統一符號表示。笛卡兒、萊布尼茲(Gottfried Wilhelm Leibniz)、貝克(Cave Beck)、基爾施(Athanasius Kircher)以及貝希爾(Johann Joachim Becher)等人曾試圖編寫類似世界語言的辭典。直到近代,藉由機械的輔助,機器翻譯的可行性大為提升。20世紀初期便有多位科學家與發明家陸續提出機器翻譯的理論與實作計畫或想法。沃倫韋弗被譽為機器翻譯的鼻祖。他拋卻了俄語文本的含義,轉而視為一堆「密碼」。在美國和歐洲,他的團隊和繼任者在工作時都遵循著一個常理:「任何語言都是由一堆詞彙和一套語法規則組成。只要把兩種詞彙放到機器里,按照人類組合這兩種詞彙的方式,為之建立一套完整的規則,機器就能破譯「密碼」。」1954年美國喬治城大學在一項實驗中,成功將約60句的俄文自動翻譯成英文,被視為機器翻譯可行的開端。自此開始的十年間,政府與企業相繼投入相當的資金,用於機器翻譯的研究上。然而,ALPAC(自動語言處理顧問委員會,Automatic Language Processing Advisory Committee)在1966年提出的一項報告中表明十年來的機器翻譯研究進度緩慢,未達預期。該項報告使得之後的研究資金大為減縮,直到近1980年代,由於電腦運算科技的進步,以及演算成本相對降低,才使政府與企業對機器翻譯再次提起興趣,特別是在統計法機器翻譯的領域上。

從人為的翻譯來看機器翻譯,翻譯的過程可被細分如下:

1.解譯來源文字的文意

2.重新編譯此解析後所得的文意至目標語言

在這看似簡單的步驟之後其實是複雜的認知操作。要能解譯來源文字的完整意義,一個譯者必須能夠分析與詮釋整段文章的所有特徵,必須能夠深度的了解其文法語義語法成語等等,相當於了解來源語言的文化背景。譯者同時也必須兼備目標語言相同深度的知識。

於是,這對機器翻譯便是一項挑戰,即:要如何設計一個程式使其能夠如同真人一樣的「了解認知)」一段文字,並且能夠「創造」一段好似真人實際寫作出來的目標語言的文字。

常見機器翻譯的難處在於無法給於適當且足夠龐大的資訊,來滿足不同領域或是不同法則的機器翻譯法。舉例來說,對於一個需要統計學法則的翻譯法,給予它大量的多語言素材是必要的,但對於文法式法則的翻譯法便顯得沒有太大意義。

// STEAMCourses 課程介紹:

當AI 進入 Scratch

•生活 AI

•創意 AI

•Scratch

•Scratch 的智能語音

•Scratch 的智能翻譯

•做個 Scratch 多語系專家系統(智能導覽)

•視覺辨識

•人臉辨識

•車牌辨識

•文字辨識

// STEAMCourses 課程介紹 end


機器翻譯的方法(Ref)

規則法

規則法機器翻譯的範例包含了轉化法(transfer-based)、中間語法(interlingual)、以及辭典法(dictionary-based)機器翻譯 。

辭典法

機器翻譯可利用辭典的詞彙作翻譯。因為這種翻譯是「字對字」的,所以通常各字之間在意思上都沒有任何關聯。這種機器翻譯法最適用於具有冗長的詞語列表(意即非完整的句子)。例如產品型錄的翻譯。

範例法

所謂範例法,即基於實例的翻譯方法。基本思路是電腦模擬大量翻譯實例(翻譯語料庫),進行有效替換的翻譯策略。因此該方法依賴於翻譯語料庫的質量、規模和覆蓋面。如果有完全一樣的例句,則直接採用範例的譯文;如果有多個相似的例句,則自動模擬相似度最高的譯文,只需翻譯不同部分即可;如果沒有相似的譯文,則必須進行基於統計或規則的方法進行翻譯。根據喬姆斯基的轉換生成語法而言,這種方法永遠也無法趕上人的語言的變化。因此,這種方法算是比較笨的方法,類似於字典,我們可以從中查到有用的字詞,甚至短語,但寫出什麼東西,卻是字典無法實現的。因此這種方法有一定的實用性,但局限性也顯而易見。

統計法

統計機器翻譯:是目前非限定領域機器翻譯中,性能較佳的一種方法。統計機器翻譯的基本思想是通過對大量的平行語料進行統計分析,構建統計翻譯模型,進而使用此模型進行翻譯。從早期基於詞的機器翻譯已經過渡到基於短語的翻譯,並正在融合句法信息,以進一步提高翻譯的精確性。

統計機器翻譯的首要任務是為語言的產生構造某種合理的統計模型,並在此統計模型基礎上,定義要估計的模型參數,並設計參數估計算法。早期的基於詞的統計機器翻譯採用的是噪聲信道模型,採用最大似然準則進行無監督訓練,而近年來常用的基於短語的統計機器翻譯則採用區分性訓練方法,一般來說需要參考語料進行有監督訓練。貝氏模型(Bayesian Model)也是一種機器翻譯方法。

Google 神經機器翻譯 (GNMT) (ref)

Google 神經機器翻譯 (GNMT) 是 Google 開發並于 2016 年 11 月推出的神經機器翻譯 (NMT) 系統,它使用人工神經網路提高 Google 翻譯的流暢性和準確性。

GNMT 通過應用基於示例 (EBMT) 的機器翻譯方法,提高翻譯品質,其中系統"從數百萬個示例中學習"。GNMT提出的系統學習架構首先在谷歌翻譯支援的100多種語言上進行了測試。借助大型端到端框架,系統會隨著時間的推移進行學習,以創建更好、更自然的翻譯。GNMT 能夠一次翻譯整個句子,而不僅僅是逐條翻譯。GNMT 網路可以通過編碼句子的語義,而不是通過記憶短語到短語的翻譯來進行語言間機器翻譯。

谷歌大腦專案成立于2011年"秘密谷歌X研究實驗室"[6]由谷歌研究員傑夫迪恩,谷歌研究員葛列格柯拉多和斯坦福大學電腦科學教授Andrew Ng. Ng的工作導致了一些最大的谷歌和斯坦福的突破。

2016 年 9 月,Google 的一個研究小組宣佈開發 Google 神經機器翻譯系統 (GNMT),到 11 月,Google 翻譯開始使用神經機器翻譯 (NMT),而不是以前的統計方法 (SMT)自2007年10月以來一直使用,採用其專有的內部SMT技術。

谷歌翻譯的NMT系統使用大型人工神經網路,能夠進行深度學習。通過使用數百萬個示例,GNMT 提高了翻譯品質,[2] 使用更廣泛的上下文推斷出最相關的翻譯。然後,結果被重新排列和調整,以適應基於語法的人類語言。GNMT提出的系統學習架構首先在谷歌翻譯支援的100多種語言上進行了測試。 GNMT沒有創建自己的通用間語,而是針對許多語言之間的共性,人們認為心理學家和語言學家比電腦科學家更感興趣。2016年,新的翻譯引擎首次啟用了8種語言:英語和法語、德語、西班牙文、葡萄牙文、中文、日語、韓語和土耳其文。2017年3月,又增加了三種語言:俄語、印度文和越南文以及泰語,後來又增加了支援。 同月,在谷歌翻譯社區的説明下,還添加了對希伯來文和阿拉伯文的支援[2017年4月中旬,谷歌荷蘭宣佈支援荷蘭文和其他與英語相關的歐洲語言。2017年4月底增加了對9種印度語言的進一步支援,即印度文、孟加拉文、馬拉提文、古吉拉特文、旁遮普文、坦米爾文、特拉古文、馬來亞拉姆文和卡納達語。

Google機器翻譯的進展

我們以Google 翻譯作例。在過去的運作模式,要將中文翻成西班牙文,傳統的翻譯模型會先將中文轉換為英文,再將英文轉換為目標語言也就是西班牙文,由於中間經過了兩次的轉換,因此容易造成雜訊被放大,語句偏離原意的情況發生,此外系統轉換語意時是以單字到單字的方式進行,儘管每個單字幾乎都能夠正確被翻譯,但拼湊起來卻會變成語句不通順又看不懂的句子。

以傳統的 Google 翻譯來說,我們很容易得到一段莫名其妙的翻譯結果,舉例來說我們以川普的一小段演說詞為例:

We will build new roads, and highways, and bridges, and airports, and tunnels, and railways all across our wonderful nation.

We will get our people off of welfare and back to work - rebuilding our country with American hands and American labor.

透過過去的翻譯演算模型,我們會得到下面的結果:

我們將建設新的道路和公路,橋梁,機場,隧道和鐵路所有在我們美好的國家。

我們將讓我們的人民過福利和恢復工作,重建我們的國家與美國的雙手和美國勞工。

然而,如同上面的翻譯結果,Google 翻譯過往低落的品質是遭人詬病的主要原因,根據官方的資料表示,全世界有大約 50% 的網路內容是以英文呈現,全球卻只有 20% 的使用者是以英語為其主要語言,每月使用 Google 翻譯的使用者超過 10 億人,代表每 3 個網路使用者當中就有 1 個人是 Google 翻譯的活躍使用者,Google 光是一天就要進行超過 10 億次的翻譯行為,這也是為什麼 Google 要如此重視他們的翻譯功能。

不過,經由導入神經網路後的 Google 翻譯,可以發現透過這項技術明顯提升了得到的成果:

我們將在美好的國家建設新的道路,高速公路,橋樑,機場,隧道和鐵路。

我們將讓我們的人民擺脫福利,重返工作 - 用美國的手和美國勞工重建我們的國家。

如果說傳統的翻譯模式是片語式的翻譯,導入神經網路後的翻譯系統就如同類比訊號一樣,是連續且全面的,每一個單字片語從傳統翻譯判定沒有關聯的情形下,開始建立了前後文彼此影響的關係,也就是說擁有了類似人類的推理能力,透過這樣的轉變,雖然與人工翻譯的品質仍然存在一段落差,不過相較於傳統片語式的翻譯,可以說是大幅降低了相對誤差。

image source:網路溫度計/記者 葛緯詩攝

深度學習是人工智慧中成長最快速的一個領域,Google 的神經網路翻譯也是運用這樣的一個概念,每一個翻譯模型並非是自然產生而成,而是需要透過學習,餵養大量的資料與訓練時間才能逐漸完善,不同的語言經過學習之後會轉換成系統容易理解的中間介質語言,因此將兩種語言經過訓練自動學習後,不需要額外的訓練就能自動翻譯另外一種全新的語言。

以 Google 來說平均一個翻譯模型需要 2 至 3 週的訓練時間,所需餵養的資料量則超過 1 億筆,而這樣的學習模式讓資料量成了深度學習中另一個重要的關鍵因素。

舉例來說,相較於英文翻譯成中文,英文翻譯成法文的準確度要來的高許多,這是因為英國與法國從多年前以來就是雙語並行的國家,因此擁有許多正確可用的資料,反觀英文與中文的可用資料就相對較少,不過近幾年來社群網路的蓬勃發展,慢慢解決了資料量上的問題,現在更重要的是蒐集資料的方法,如何從巨量資料中分辨出雜訊與訊號成了最重要的事情

以人類的演化情形來看大約每千年會進到下一個階段,而摩爾定律告訴我們電腦的運算能力大約每兩年會成長一倍,巨量資料雖然帶來了更多的可能性,同時卻也產生了更多的雜訊,如同人類史上第一次的資訊革命印刷術的誕生一樣,雖然讓知識存量快速累積,但這些資訊的品質差異也十分的大,如果我們能有一套正確分辨雜訊與資訊的系統,相信以 Google 透過神經網路成功改善翻譯品質的案例來看,更成熟的人工智慧或許就離我們不遠了。

近期機器翻譯的問題(ref)

I arrived at the bank after crossing the street.I arrived at the bank after crossing the river.

機器翻譯會怎麼處理呢?

機器翻譯的缺點

機器翻譯雖然是一大利器,但也有一些缺點,比如說:按照「一個字一個字」順序翻譯的機器翻譯模型往往會導致嚴重錯誤發生。谷歌在其研究日誌(Research blog)中發表了一篇趣味十足的文章,詳細分析了這個問題並給出解決方案。谷歌自然語言處理部門的 Jakob Uszkoreit 用以下兩句話闡釋了這個問題:

I arrived at the bank after crossing the street. 過了這條街,就到銀行了

I arrived at the bank after crossing the river. 過了這條河,就到對岸了。

(譯者加註:「bank」為多義詞,兼有「銀行」和「河岸」之意。) 顯而易見,「bank」一詞在兩句話中含義截然不同,但是後台算法很容易處理錯-因為不讀完整個句子就無法判定句中「bank」的確切含義。類似這種多義詞的現像比比皆是。

如果讓我去翻譯這句話,我一眼就能看出這兩句話中「bank」的區別,但這對翻譯系統來說就沒那麼簡單了。如果修改神經網絡,使其翻譯完一句話後再檢查是否有誤,有問題的話就再重來一遍,就未免效率太低。

解決方法

為此,Google 提出了在轉換器(Transformer)中建立關注機制(attention mechanism)作為解決方案。

該機制會將單詞逐一與句中其他單詞進行比對,並檢查是否會影響其他詞的詞義


// STEAMCourses 課程介紹:

當AI 進入 Scratch

•生活 AI

•創意 AI

•Scratch

•Scratch 的智能語音

•Scratch 的智能翻譯

•做個 Scratch 多語系專家系統(智能導覽)

•視覺辨識

•人臉辨識

•車牌辨識

•文字辨識

// STEAMCourses 課程介紹 end

// STEAMKid 實體課程

【AI 創客】Scratch AI & Machine Learning

【文化創客】 博物館文物創客夏令營

// STEAMKid 實體課程

// 相關文章系列

中小學AI 素養 – AI 簡史(I)

中小學AI 素養 – AI 簡史(II)

中小學AI 素養 – 生活中用的人工智慧語音及翻譯系統(I)

中小學AI 素養 – 生活中用的人工智慧語音及翻譯系統(II)

中小學AI 素養 – 生活中用的智慧導航

中小學AI 素養 – 生活中用的智慧視訊偵測


// 相關文章系列

Complete and Continue