<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在機器學習中如何進行基本翻譯

zhKF_jqr_AI ? 來源:未知 ? 作者:易水寒 ? 2017-12-22 11:38 ? 次閱讀

Statsbot數據科學家Daniil Korbut簡明扼要地介紹了用于機器學習翻譯的基本原理:RNN、LSTM、BRNN、Seq2Seq、Zero-Shot、BLEU。

我們都在使用的很多技術,我們其實并不知道它們到底是如何工作的。實際上,理解機器學習驅動的引擎并非易事。Statsbot團隊博客希望能講清楚機器學習是怎么一回事。這次我們決定探索機器翻譯,并解釋Google翻譯算法的原理。

許多年前,翻譯來自未知語言的文本是非常耗時的。使用簡單的詞匯表逐字翻譯之所以很困難,是因為讀者必須知道語法規則,在翻譯整句時需要記住所有的語言版本。

現在,我們不需要為此付出太多的努力——只需將它們粘貼到Google翻譯中,就可以翻譯短語、句子甚至大段文本。然而,大多數人實際上并不關心機器翻譯的引擎是如何工作的。本文為那些關心這個的人而寫。

深度學習翻譯問題

如果Google翻譯引擎試圖儲存所有的翻譯,甚至僅僅儲存短句的翻譯,都是行不通的,因為可能的變體數量巨大。最好的想法可能是教會計算機一組語法規則,并根據語法規則來翻譯句子,如果這一切真像聽起來那樣簡單的話。

如果你曾經試過學習外語,那么你該知道規則總是有很多例外的。當我們試圖在程序中刻畫所有這些規則,所有這些例外,乃至例外的例外時,翻譯質量就崩塌了。

現代機器翻譯系統使用不同的方法:通過分析大量文檔將文本與規則聯系起來。

創建你自己的簡單機器翻譯工具,對任何數據科學簡歷來說都是一個很棒的項目。

我們試著調查一下我們稱之為機器翻譯的“黑盒子”里隱藏著什么。深度神經網絡可以在非常復雜的任務(語音/視覺對象識別)中取得優異的結果,但是,盡管它們很靈活,卻只能應用于具有固定維度的輸入和目標的任務。

循環神經網絡

因此,我們需要長短期記憶網絡(LSTM),它能應對事先未知長度的序列。

LSTM是一種能夠學習長期依賴的循環神經網絡(RNN)。循環神經網絡看起來就像一串重復的模塊。

在機器學習中如何進行基本翻譯

via colah.github.io

因此LSTM在模塊之間傳遞數據,比如,為了生成Ht,我們不僅使用Xt,同時使用所有X之前的輸入。關于LSTM的更多信息,可參考Understanding LSTM Networks(英文)和循環神經網絡入門(中文)。

雙向循環神經網絡

我們的下一步是雙向循環神經網絡(BRNN)。 BRNN將常規RNN的神經元分成兩個方向。一個方向是正向的時間,或前饋狀態。另一個方向是負向的時間,或反饋狀態。這兩個狀態的輸出與反方向的狀態的輸入互不相連。

在機器學習中如何進行基本翻譯

要理解為何BRNN效果更好,可以想像一下我們有一個包含9個單詞的句子,然后想要預測第5個單詞。我們可以讓網絡僅僅知道前面4個單詞,或者讓網絡知道前面4個單詞和后面4個單詞。顯然第二種情況下預測的質量會更好。

序列到序列

然后是序列到序列模型(也稱為seq2seq)?;镜膕eq2seq模型包含兩個RNN:一個處理輸入的編碼網絡和一個生成輸出的解碼網絡。

最后,我們將創建我們的第一個機器翻譯工具!

不過,讓我們先考慮一個絕招。Google翻譯目前支持103種語言,所以我們應該有103x102個不同的模型。當然,取決于語言的流行程度和訓練網絡需要的文檔數量,這些模型的質量會有所不同。最好我們能創建一個神經網絡,然后這個網絡能接受任何語言作為輸入,然后將其翻譯成任何語言。

Google翻譯

這個想法正是Google工程師們在2016年末實現的想法。Google工程師使用的正是我們上文提及的seq2seq模型。

唯一的例外是在編碼和解碼網絡之間有8層LSTM-RNN網絡,層間有殘差連接,還有一些出于精度和速度考慮的調整。如果你想深入了解相關信息,可以看Google’s Neural Machine Translation System這篇論文。

最重要的一點是Google的翻譯算法使用單個系統,而不是包含每對語言組合的龐大集合。

在輸入句子的開始,系統需要一個指明目標語言的token。

這一方法改善了翻譯的質量,同時允許翻譯那些系統沒有見過對應譯文語料的語言組合,這一方法稱為“零樣本翻譯”(Zero-Shot Translation)。

更好的翻譯?

當我們談論Google翻譯算法的改進和更好的結果時,我們如何才能正確地評估第一個翻譯候選比第二個候選更好呢?

這不是一個微不足道的問題,因為對于一些常用的句子,我們有來自專業譯員的參考譯文集合,這些譯文間當然有一些差異。

能部分解決這個問題的方法有很多,但最流行和最有效的衡量標準是BLEU(bilingual evaluation understudy)。 想象一下,我們有來自機器翻譯的兩個候選:

候選一: Statsbot makes it easy for companies to closely monitor data from various analytical platforms via natural language.

候選二:Statsbot uses natural language to accurately analyze businesses’ metrics from different analytical platforms.

在機器學習中如何進行基本翻譯

盡管它們的意思相同,但在質量和結構上都有差異。

讓我們看下兩個來自人類的翻譯:

Reference 1: Statsbot helps companies closely monitor their data from different analytical platforms via natural language.

Reference 2: Statsbot allows companies to carefully monitor data from various analytics platforms by using natural language.

顯然,候選一更好,與候選二相比,候選一和人工翻譯共享更多的單詞和短語。這是簡單BLEU方法的核心想法。我們可以比較候選翻譯和參考翻譯的n元語法,并計算匹配的數量(與它們的位置無關)。我們只評估n元語法的準確率,因為計算多個參考的召回很困難,評估結果是n元語法的幾何平均值。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴

原文標題:機器學習翻譯基本原理

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    開源項目!設計一款智能手語翻譯眼鏡

    手語翻譯的依賴。 這款眼鏡的設計既實用又低調,方便日常佩戴,能夠無縫融入用戶的日常生活,讓使用者能夠輕松地與不懂手語的人士溝通。它的亮點在于利用人工智能技術檢測手勢并進行實時翻譯,不
    發表于 05-20 15:59

    STemWinGUI_NUM_LAYERS是如何進行宏定義的,其依據是什么?

    STemWinGUI_NUM_LAYERS 這個層數指什么,是如何進行宏定義的,其依據是什么?
    發表于 04-19 06:21

    TC375如何進行校準?

    初次使用 TC375,使用 EVADC時,當輸入電壓是 0 時,轉換結果是 16,應該是沒有校準原因。 請問如何進行校準。
    發表于 01-31 06:49

    新apcups電源如何進行初充電

    電子發燒友網站提供《新apcups電源如何進行初充電.doc》資料免費下載
    發表于 11-15 09:55 ?0次下載
    新apcups電源如<b class='flag-5'>何進行</b>初充電

    仿真人類的微軟AI翻譯系統

    從歷史上看,曾經主流的機器學習技術在行業中應用是統計機器翻譯 (SMT)。SMT 使用先進的統計分析,從一句話中上下文的幾個詞中來估計最佳可能的翻譯。SMT自20 世紀中期以來的為所有
    的頭像 發表于 10-11 15:27 ?629次閱讀

    在bash中如何進行各種文件重定向呢?

    本文會用以下測試程序,來演示在bash中,如何進行各種文件重定向
    的頭像 發表于 08-25 09:31 ?795次閱讀
    在bash中如<b class='flag-5'>何進行</b>各種文件重定向呢?

    rtthreadstudio何進行匯編的單步前進?

    keil調試時鼠標點擊反匯編窗口可以實現匯編語句的單步前進。 rtthreadstudio中點擊反匯編窗口進行單步前進依然是按c語句的單句進行
    發表于 08-20 17:29

    機器學習有哪些算法?機器學習分類算法有哪些?機器學習預判有哪些算法?

    機器學習有哪些算法?機器學習分類算法有哪些?機器學習預判有哪些算法?
    的頭像 發表于 08-17 16:30 ?1518次閱讀

    機器學習vsm算法

    機器學習vsm算法 隨著機器學習技術的不斷發展,相似性計算是機器學習中的重要組成部分。在信息檢索
    的頭像 發表于 08-17 16:29 ?629次閱讀

    機器學習算法總結 機器學習算法是什么 機器學習算法優缺點

    機器學習算法總結 機器學習算法是什么?機器學習算法優缺點?
    的頭像 發表于 08-17 16:11 ?1219次閱讀

    直線模組如何進行精度校準?

    直線模組如何進行精度校準?
    的頭像 發表于 08-01 17:44 ?808次閱讀
    直線模組如<b class='flag-5'>何進行</b>精度校準?

    機器翻譯研究進展

    成為主流,如神經網絡機器翻譯。神經網絡機器翻譯機器從大量數據中自動學習翻譯知識,而不依靠人類專家撰寫規則,可以顯著提升
    的頭像 發表于 07-06 11:19 ?483次閱讀
    <b class='flag-5'>機器翻譯</b>研究進展

    使用機器學習進行預測

    電子發燒友網站提供《使用機器學習進行預測.zip》資料免費下載
    發表于 07-04 10:22 ?0次下載
    使用<b class='flag-5'>機器</b><b class='flag-5'>學習</b><b class='flag-5'>進行</b>預測

    060. 任務60:機器翻譯 #硬聲創作季

    機器翻譯深度學習
    充八萬
    發布于 :2023年06月21日 18:04:57

    何進行圖像邊緣的檢測

    ? 本期我們一起看看如何進行圖像邊緣的檢測。邊緣檢測通常用于理解圖像中的對象,幫助機器做出更好的預測。編寫邊緣檢測程序是了解機器如何看待外界的好方法?,F在就讓我們使用python進行
    的頭像 發表于 06-20 15:14 ?872次閱讀
    如<b class='flag-5'>何進行</b>圖像邊緣的檢測
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>