「自然語言處理」暨「機器翻譯系統」實驗室是幹什麼的??
What are You Doing in the NLP & MT Labs ??
- 什麼是「自然語言」(NL; Natural Languages)??
- 自然語言就是我們一般人平常所用的, 所寫的中文, 英文, 日文, 跟阿拉伯文等語言文字 (廣義來說, 也包含語音).
- 所謂的 "自然" 是相對於 "人工" 或 "程式" 語言 (Artificial or Programming Languages) 而言.
- 用程式語言寫合法的程式, 一定要遵循規定的語法, 要不然, Compiler 就會說你的程式 illegal, 有 syntax error, 要退回去重寫等等. 這 Compiler 只處理符合程式語言的輸入, 還蠻輕鬆的!!
- 講媽媽教的話, 或寫文章, 就不一定要那麼規規矩矩, 偶而出現火星文也很酷啊!!
- 不過, 酷歸酷, 這種特性也讓電腦處理自然語言變得很難.
- 「自然語言」的角色 ~ 從遠古到網際網路世紀
- 幾乎所有人類知識, 都是以自然語言的文字(或語音)形式儲存起來的.
- 因此, 要處理大量人類及網際網路上的資訊, 而不碰觸到自然語言的處理技術,
是絕對不可能的.
- 如果電腦能讀懂這些文字資訊, 要應用這些資訊就會輕而易舉...
- 這是所有資工系學生都應該學學基本的自然語言處理技術的根本原因.
- 自然語言處理的「錢景」: "Make Billions of $ from trillions of words."
- 這是 Microsoft 對以文字為本的網路應用 (包括各式 Web Search & Mining ...) 的「錢景」.
- Google 就是個鮮明的例子.
- Apple SIRI ... iPhone 靠他賺很大.
- IBM Watson ... 可以在益智競賽中打敗人類... 當然也可以賺大錢.
- Facebook ... 努力中.
- 百度 (BaiDu)... 中文最大搜尋引擎有群 NLP 高手等著出招.
- 華為 (HuaWei)... 還不知道他想幹什麼?
- 現在大家所說的 Big Data 跟 Cloud Computing ... 沒這技術就不太行...
- 沒錢是萬萬不可能... 如果你能掌握「自然語言處理」的關鍵技術的話 ...
- 只有文字形式的「自然語言」才是語言??
- 當然不是...
- 音樂 (Do-Re-Mi) ...
- 基因序列 (A-T-G-C) ...
- NL 的其他形式 ...
- 語音 ... (signal/non-text forms of NL) ...
- 手語/點字系統 (transformation of NL)
- 凡具有結構性語法 (Grammar) 的符號序列, 都是語言, 都是語言處理&應用的潛在對象
- 意思就是: 學會自然語言處理可以「吃很大」 !!
- 什麼是「自然語言『處理』」(What is Natural Language "Processing" / NLP) ??
- 「自然語言處理」: 簡單講, 就是教電腦讀懂書的技術... 讓電腦變成學霸的技術...
- 就『處理』的型態來講, 大概可分為三類: 分析, 轉換及生成.
- 分析 (Analysis): 就是透過統計機率模式 (Statistical Models, Inferences), 圖形辨識 (Pattern Recognition/Classification), 機器學習 (Machine Learning) 等特異功能, 去 "分析" 文字的內涵, 結構, 了解文件在講什麼.
- 轉換 (Transfer): 分析之後, 可以將他 "轉換" 成另一種形式的有用資訊, 作進一步的應用. 比如轉到另一種語言的深層結構 (自動翻譯), 或資料庫 (資料倉儲).
- 生成 (Generation): 有時候, 我們也會把某些有用, 但是比較抽象的資訊, 用文字寫出來, 或用語音說出來, 這叫 "生成" 或 "合成". 比如, 在機器翻譯的應用中, 將分析轉換後的深層結構, 以另一種語言呈現出來, 造出適當的句子, 就是屬於生成這個層次在做的事. 這方面的技術也可以應用在自動產生論文或一般文章之上.
- 「自然語言處理」有什麼大路用??
- 一旦電腦讀懂全世界的書 (網路上的, 至少), 變成學霸, 它就能做很多事, 取代很多人的工作...
- 純文字應用 ...
- 機器翻譯 (MT; machine translation), 文字轉語音 (TTS; text-to-speech), 翻譯電話/電話轉譯 (Interpreter Telephony)...
- 論文自動寫作 (automatic authoring), 拼字校正 (spelling checker), 文法校正 (grammar checker), 自動校稿 (automatic post editing)...
- 智慧型輸入系統 (Smart IM), 身障輔助輸入系統...
- 一般辭典建構 (automatic lexicon construction)...
- 特定領域專業辭典建構 (domain specific word extraction)...
- 雙語詞典自動建構 (automatic construction of bilingual dictionaries), 雙語自動對應 (word/phrase alignment)...
- 知識本體自動建構 (ontology construction)
- 文字語言教學 ...
- 電子學習 (e-Learning), 語言教學 (CALL; Computer Aided Language Learning)...
- 自動出題 (test item generation) (e.g., TOFEL, 全民英檢), 自動改題 (automatic test scoring)...
- 解救瀕危語言 (endangered languages) 及古語. (如, 由聖經之西拉雅語音譯本與荷蘭語譯本對照, 解譯西拉雅語)...
- 搜尋 ...
- 資訊檢索與搜尋 (IR; information retrieval), 資訊擷取 (IE; information extraction), 資料採擷 (DM; data mining), 文字採擷 (TM; text mining), 網路採擷 (WM: web mining)...
- 多媒體 (圖像, 音樂, 影片) 搜尋 (Text-Based Media Search) ...
- 自動詢答 (Question Answering) ...
- 簡報與摘要 (Text Summarization) ...
- 文件/網頁分類/分級 (TC; text classification/categorization), 垃圾信分類 (anti-spamming)...
- 跨語言資訊檢索與搜尋 (CLIR; cross-lingual IR), 跨語言資訊擷取 (CLIE; cross-lingual IE), 跨語言*...
- 情報分析 ...
- 關鍵詞攔截 (keyword spotting)...
- 情緒分析 (emotion/sentiment analysis), 民意分析 (opinion analysis/mining), 情報分析 (intelligence analysis)...
- 使用者行為 (user modelling), 情境認知 (situation awareness), 社群網路分析 (social media modelling)...
- 自動廣告 (e.g., Google AdSense), 自動行銷 (automatic information pushing)...
- 這麼說, 自然語言處理技術就是新世代的電腦「讀心術」, 監控你網上的一切行動, 然後做些 evil 或 non-evil 的勾當?? (被發現了)
- 類文字應用 ...
- 音樂分析, 搜尋, 推薦 (Recommendation), 自動作曲 (Composition) & 編曲 (Arrangement) ...
- 生物資訊 (bio-informatics), 序列比對 (sequence alignment), 結構比對 (secondary structure)...
- 總之...
- 所有你想像得到, 跟 "文字" 或 "類文字" 的符號系列 (如 DNA, 樂譜) 相關的自動化分析, 轉換, 合成, 要想做得更好, 最終都不能不考慮他們的結構跟功能 (語法跟語意). 所以, 自然語言處理的技術, 最終都會被用到這些應用領域.
- 還有些課本沒告訴你的有趣應用, 來上我的課, 當我的專題生或研究生, 就知道啦!!
- 那你說, 重不重要?
- 「自然語言處理」研究的終極目標是什麼?? (總括上述各式應用...)
- 智慧型代理人: 自動獲取我們所要的知識.
- 自然語言介面: 讓機器來學習我們的語言, 了解我們想做什麼, 而不是讓我們學習機器的語言, 一步一步教他下一步怎麼做!!
- NL-aware Robot (... 可用自然語言控制的機器人)
- Natural Language OS (... 可用自然語言控制的電腦) (其實兩者可以合而為一)
- 智慧問答系統: 即問即答, 實問實答的百科全書.
- 跨越語言障礙: 用不同語言, 理解各種語言材料內容, 跨語言運用上述(單語)自然語言應用.
- 機器翻譯
- 跨語言資訊檢索: 用英文搜尋引擎查詢中文資料, 並轉譯為英文輸出.
- 「機器翻譯」(MTS; Machine Translation Systems) 是什麼碗糕?? 在 NLP 中的地位與角色?
- 機器翻譯系統就是可以用來將一種語言 (來源語; SL; Source Language) 翻譯成另一種語言 (目標語; TL; Target Language) 的系統.
- 主要是透過對的原始語言 (來源語) 的分析, 得到其結構, 再將分析的結構轉換成目標語的結構, 而後根據目標語結構, 生成目標語, 來達到翻譯的目的.
- 這樣的翻譯模式, 統稱為 Transfer-Based MT (轉換式機器翻譯).
- 這很像 Compilers 所作的 Lexical analysis, Syntax analysis, Semantic analysis, Intermediate Code Generation, Code Optimization, Target Machine Code Generation 等步驟. 只是自然語言具有高度的 ambiguity (歧義性,模糊性), 需要有最佳化決策模式, 來挑選最好的分析.
- 上面提到的自然語言三種主要處理型態 (分析/轉換/生成), 其實就是以機器翻譯系統為本的分類.
- 1988 年開始, 另外有純統計模式的機器翻譯系統 (SMT; Statistical MT) 被 IBM 研究人員開發出來. 主要是利用逐句對應好的雙語語料, 及簡單的統計模式, 學習詞彙對應 (alignment), 轉換規則及翻譯機率, 從而由生成的可能翻譯句中, 挑選最可能的翻譯的做法.
- 為什麼要透過學習「機器翻譯」系統的架構當學習「自然語言處理」的起始點?
- 「自然語言處理」涵蓋的應用及技術非常廣泛. 上述個別應用無法窮盡所有處理技巧.
- 跨語言的資訊應用更需要一個翻譯機制.
- 機器翻譯系統是最複雜的自然語言處理系統. 因此, 學過或開發過大型機器翻譯系統, 能讓你充分了解各種不同層次的語言處理問題與處理技巧. 所以, 要透徹了解自然語言處理的人, 不能不了解機器翻譯系統.
- 「機器翻譯」不只是「語言翻譯」!!
- 凡是從一種符號序列轉成另一種符號系列, 都是一種形式的機器翻譯. 都可用類似的模式處理.
- 語言翻譯 (language-to-language translation)
- 外國人名音譯/反音譯 (forward/backward machine transliteration)
- 文字轉語音 (text-to-speech)
- 電話轉譯/自動口譯 (interpreter telephony; speech-to-speech)
- 同音字自動辨識選取 (phonetic input methods; phonetic-symbols-to-characters)
- 自動作曲/作詞/伴奏/和絃 (automatic composition)
- 多媒體情境呈現 (text-to-emotion)
- 劇本轉動畫 (script to motion pictures)
- 火星文/注音文還原
- 中文對聯自動產生 (Chinese Couplet Generator, 微軟亞洲研究院, 2006)
- 以後, 自動改寫哈利波特, 自動產生偶像劇劇本有沒有可能呢 ?
- more ... (自己想像吧!!)
- 為什麼「自然語言處理」是資訊處理的明日之星??
- 人類的所有智慧跟知識, 多數是以文字的型態存在的.
- 要自動處理跟挖掘裡面的知識, 自然不能不採用自然語言處理的技術.
- 看看 Google 跟 Microsoft 拼命找 NLP 的研究人員, 就知道了!!
- Google 跟 Microsoft 怎麼贏, 就看我們囉 !!
- 為什麼「機器翻譯」是資訊擷取的明日之星??
- 網路打破了距離的障礙,
- 但是... 語言障礙 (Language Barrier) 仍舊存在 !!
- 語言成了目前妨礙資訊流通及存取的最大絆腳石.
- 跨語言的知識擷取與分享, 必須有強力的「翻譯引擎」才容易達成目標.
- 哪些語言會是未來幾年的重要研究對象??
- 中文囉 !! 使用人口眾多, 大家要賺錢啊 !!
- 美國老大哥也很怕非和平崛起啊 !! :)
- 資訊封鎖/過濾 (screening) 也需要這一套啊. (哦哦... 被拿來做壞事囉!! 真尷尬!!)
- 還有阿拉伯文囉!! 美國大哥大對這地區一向很頭痛 !! :)
- 你猜「全民公敵」裡那樣的衛星, 平常都是在攔截哪些關鍵詞啊 ?!
- 沒錯, 自然語言處理技術就是新世代的電腦「讀心術」, 監控你網上的一切行動, 然後做些 evil 或 non-evil 的勾當??
- 「中文處理」與英文處理有什麼不一樣的地方??
- 字集 (character set) 非常大. (e.g., Big5 有 13,053 個字). 字碼 (code set) 不統一.
- 同音字極多. 注音或拼音輸入有極高的歧義性.
- 字的排序 (sorting sequence) 沒有一定標準 (通常依筆劃或部首順序).
- 詞 (word) 的界線不明顯, 沒有空格把詞分開, 多數應用需要先作斷詞 (或稱分詞) (word segmentation) 的動作.
- 句子的界線也不明顯. 標點符號沒有統一的標準. 不像英文一樣, 一個句子只有一個主要動詞.
- 沒有像英文一樣明顯的時態, 動貌系統, 單複數名詞同型. 名詞及動詞難以從型態分辨出來.
- 縮寫詞 (abbreviation) 產生方式非常自由, 具有相當程度的歧義性.
- 中文詞序 (word order) 非常自由, 同一句子部分用詞位置調動後, 意思還是不變.
- 還有好多大家還沒注意到的... to be found
- 學自然語言處理一定要文法很強嗎??
- 有當然最好.
- 但目前的趨勢是用統計模式 (statistical models) 跟機器學習 (machine learning) 的方法, 從大量的語料裡面, 自動學習語言的細微規則.
- 所以, 基本的語文知識要有, 有利於建立統計模型; 卻不必要到語言學家的層次. 問題不大.
- 學自然語言處理可以學到哪些相關的技術??
- 看看上面相關的應用, 你還覺得有哪些學不到的 ?!
- 語言分析 (<=> compilers, formal languages)
- 統計推論/參數估計/假設檢定 (<=> statistical inference, estimation theories)
- 樣形識別 (<=> statistical pattern recognition)
- 機器學習 (<=> statistical machine learning)
- 統計式的機器學習模型 (Statistical ML, NLP Models)
- 神經網路式的機器學習模型 (Neural ML, NLP Models)
- 基本技術不難... 老師有講, 你有專心在聽就容易學會.
- 老師開的課... (最近課綱大公開) (2013/秋)
- 這個實驗室研究的重點是什麼??
- 當個一流的自然語言處理及機器翻譯系統實驗室 !! (隨時保持樂觀心態...)
- 當個一流的中文處理實驗室 !!
- 當個一等好玩的實驗室 !!
- 台灣的機器翻譯研究作多久了?
- 台灣從 1985 年開始在新竹清華大學展開機器翻譯的研究, 由電機系蘇克毅教授主持.
- 張老師從 1986 年就加入這個團隊, 開發系統的 Parser (文法剖析器), 及其他相關模組. 寫了或修改了大部分的 papers :).
- 這個系統還幫很多大牌外商翻過不少使用手冊.
- 算算, 也蠻久了. 應該在歷史上寫一筆了吧?! :)
- 有人認為統計式的機器翻譯模型 (SMT) 解救了全世界. 老師的看法呢??
- 目前多數 SMT Models 太過簡化, 難以完全表達語言轉譯的機制, 跟目標語特有的結構.
- SMT 在語言知識抽取方面是有可取之處, 但太誇張的說法, 聽聽就好. 真有那麼神, 那些發明人就不會跑去華爾街分析股票了. :)
- 多數研究 SMT 的人沒真正開發過大型的 MT 系統. 不過, papers 倒是很容易產生. :)
- SMT 在知識抽取方面的優點還是要學, 但要知道他的先天限制, 才能予以改善.
- 為什麼要? 為什麼不要? 跟老師學一陣子, 就知道了 !!
- 感覺上, 登陸月球都沒那麼難, 要努力的地方還多著呢 !!
- 神經網路模型 (Deep Learning) 是不是 NLP 的終極 Boss??
- 從時間來講, 大約 2013 年 (ACL-2013, Sofia, Bulgaria) 起 papers 大量冒出頭...
- 從結構來講, 很簡單 (所以, 連 TPU, NPU, ... 都出來了)
- 也很暴力...
- 可以視為多層次的 binary classifiers
- 每個 neuron 代表一個 decision boundary, 負責一個 yes/no question
- 把高維度的 feature spaces 做極大極細碎的分割...
- 也可以視為是個 smart 的 記憶體架構
- input = encoded addresses / embedded messages
- model = a well trained smart hash function
- output = class labels/distribution
- 還可視為其他 anologies...
- 從效果來講, 有夠多的資料就可能比相似的統計模型好一點點...
- 可解釋性差... (僅 convolution, compositionality 稍微能改善解釋性問題)...
- 外部知識 (prior, common sense knowledge) 不易引入... (regularization 可能是個通用入口...)
- 從其他潛在問題來看, 跟統計模型 (或其他機器學習模型) 類似... 還有很多事要做呢...
- Statistical + Deep Learning 是個方向...
- 從商業模式來看, 進入門檻很低, 有資本的大公司更容易壟斷生態的發展方向 ... (學校只能當苦勞訓練所...)
#Visits Since 2000/08:
參考文章
General Introduction to Machine Translation
Machine Translation in Taiwan