學年學期Academic Year/Semester: 102學年度第1學期 課程代號Course Number: 215021 授課教師Instructor: 張景新 課程中文名稱Course Title(Chinese): 自然語言處理 課程英文名稱Course Title(English): Natural Lnaguage Processing(NLP) 開課年級Grade: 3GP 學分數Credits: 3.0學分 上課地點Class location: 科三108 上課時間Class hours: 1fgh 本課程可培養學生之核心能力(Core competency)如下列: 1. 具備資訊科學基礎數理知識並應用於發掘、分析與解釋數據的能力。 2. 具備程式設計基礎知識並應用於設計及實作資訊軟體的能力。 3. 具備使用英文閱讀資訊領域技術文件的能力。 4. 具備團隊合作執行資訊工程專題製作的能力。 一、課程目標Course objectives: (請任課教師具體說明課程目標,並加強與核心能力關聯的論述。) 幾乎所有的人類知識,都是以「自然語言」(如中文、英文) 的文字或語音形式儲存起來的。 而當今最大且公開可用的文字或語音資料庫,就間接存在於網際網路的文件內。 如果能自動並充分挖掘其中有用的資訊,開發有趣的資訊應用,則任何人都可能達成 Microsoft 所看到的「錢景」: "Make Billions of Dollars from Trillions of Words." 然而,簡單的搜尋引擎並不能滿足各式各樣的資訊需求,原因在於搜尋引擎 僅能利用簡單的文字比對及簡單的排序公式來推薦網頁;但因為不能真正理解 網路文件在講什麼,是否跟使用者的資訊需求 (user intention) 有關,所以, 常常推薦一堆無用且惱人的資訊,而無法滿足使用者的資訊需求。 因此,要處理大量網際網路的資訊,推出有趣的應用,解決每個人的資訊需求, 而不碰觸到「自然語言」的處理技術,是絕對不可能的。故「自然語言處理」(NLP) 技術, 已成為網際網路資訊處理的重要核心技術,這也是 Google 跟 Microsoft 這些全球知名的 資訊大廠,積極聘雇自然語言研究人員的重要原因。 根據 Google Taiwan 總經理簡立峰博士 9/8 (@ ROCLING 2011) 的說法,未來資訊產業將以 Mobile Search 為趨勢,而在 Mobile + Search 的年代,Voice 跟 Machine Translatiion (機器翻譯) 技術是諸多服務的兩個最重要的技術骨幹。而機器翻譯正是一個最完整的 NLP 系統代表。可見 NLP 技術是資工學生最直得學習的課程之一。 有了 NLP 的技術, Google 才能自動幫你翻譯全世界幾百種常用或罕用語言的網頁,讓你去除資訊 搜尋的障礙;IBM 才能發明打敗人類,拿到益智問答冠軍的機器人 Watson 。電腦才能假裝 虛擬的櫃檯人員,幫銀行自動做客服,或者幫公司自動分析客戶的意見,替網購者推薦合適的商品, 剖析個人或作品的情緒,判別文章作者,自動產生莎士比亞式的文章,幫老師自動改英文作文, 幫老闆自動做剪報,等等。而這些資訊服務,不過是一小部份利用自然語言處理技術所能達成的 有趣應用而已。 本課程主要目的,就在於讓學生瞭解自然語言如何跟日常的資訊應用產生關聯, 介紹自然語言的基本應用及基礎處理技術。並引導學生發掘以文字為本的網路資訊, 所隱藏的巨大能量及創新應用。讓學生了解「自然語言處理」技術在今日 Internet 及 雲端運算模式之下的重要地位。而日漸重要的中文處理 (Chinese NLP),也將是課程重點之一。 最終希望能循序漸進,教導學生基礎及高階的「自然語言處理」技術。 同時讓學生了解資訊技術處理背後的語言障礙,及為什麼有些應用 連 Google 跟 Microsoft 也做不好?他們能怎麼作? 由這個課程,你也將附帶學到一些可適用在其他領域的統計推論 (Statistical Inference) 方法 樣型識別 (Pattern Recognition) 模型及機器學習 (Machine Learning) 的技巧。 由於自然語言處理是以統計推論及機器學習為主,學生並不要求高度的語言背景;所需的重要語言 知識 (英文, 中文為主) 及文法架構會在課中快速復習。因此,對學生往後研讀及寫作論文, 也會有間接的幫助。 (若想了解更多有趣的應用,請參考通識課《自然語言密碼與資訊應用》課綱; 該課程以介紹重要應用及簡單原理為主,資工系同學建議直接修本課程比較適當。) 二、師生晤談時間及地點Instructor office hours: - 3IJ @ 科三館 316 三、授課方式Teaching approach: - 講課為主, 討論, 小考, 報告為輔 - 依學生人數及學習狀況機動調整比重 - 如果時間足夠, 可以讓學生完成一些簡單的計畫, 如利用Google相似的技術, 實作一個簡單的翻譯系統 - 請同學準備一本空白筆記本, 注意老師隨機補充的材料 - 投影片有不認識的英文字隨時發問 四、評量方式Grading criteria:(含評量項目及所佔比例,請運用多元評量) - 平時考試 40%,期末考試40%,Papers/HomeWorks 20% (暫定) 五、參考書目Textbook & references:(酌列作者姓名、出版年份、書名、出版書局等資料) (一)教科書:(以老師上課投影片為主) 1. Foundations of Statistical Natural Language Processing, by Christopher D. Manning and Hinrich Schutze, MIT Press, 1999. (二)參考書: 2. Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, by Daniel Jurafsky & James H. Martin (Second Edition), Pearson Education/Prentice Hall, 2009. 3. Spoken Language Processing: A Guide to Theory, Algorithm, and System Development, by XueDong Huang, Alex Acero and Hsiao-Wen Hon, Prentice Hall PTR, Upper Saddle River, NJ 07458, USA, 2001. http://www.phptr.com 4. CJKV Information Processing: Chinese, Japanese, Korean & Vietnamese Computing, by Ken Lunde, O'reilly, USA, 1999. (Chinese edition available) 5. Papers on NLP issues 6. Lecture for Statistical Natural Language Processing, by Keh-Yih Su (蘇克毅) and Jing-Shin Chang (張景新), Microsoft Research Asia (MSRA, 微軟亞洲研究院), Beijing, 2002/8/17~18. (This is the lecture notes for a two-day lecture given by Prof. Su and me in the Microsoft Research Asia to 150+ NLP researchers of the mainland China. I may develop this notes into the textbook in the future.) 六、教學進度(週次、授課主題、教學活動、評量方式/作業、章節) Course schedule (week, topic, activities, evaluation/assignment, text, etc. Part I. General Topics (概論) (* Part I 是主要上課內容 *) 1. Introduction & Applications (緒論與應用) - Natural vs. Artificial/Programming Languages - Why Bill Gates and Google Care? - Some NLP Applications: - Machine Translation (MT,機器翻譯), - Information Retrieval (IR, 資訊檢索), - Information Extraction (IE, 資訊擷取), - Data Mining (DM, 資料探勘), - Web/Text Mining (WM, 網路探勘), - Bio-informatics (生物資訊), - Intelligent Agents (IA, 智慧型代理人), - Intelligent Search Engines (智慧型搜尋引擎), - Text Classification (文件分類), - Text Summerization (文件摘要), - Text Generation (文件生成), - Question-Answering (QA, 問題詢答), - Text-to-Speech (TTS, 文字轉語音) System, - Opinion Mining & Analysis (意見發掘 & 分析), - Sentimental Computation (情緒運算), - Automatic Test Item Generation (電腦自動出題), - Automatic Composition Evaluation (電腦自動改題), - SIRI (iPhone 的語音助理), - Watson (IBM 打敗人類對手的機智問答機器), - ... and more 2. Stratification of Analysis Levels (自然語言分析與處理層次) 3. Mathematical Foundations (數理基礎) - Brief Review of Probability and Statistics - Classical Bayesian Decision Theory and Bayesian Classifier 4. Linguistic Essentials (語言問題與基礎) 5. Corpus-Based Work & NLP Resources (語料庫及資訊來源) - Machine Learning from Linguistic Data 6. Statistical Inference (統計推論): N-gram Language Models over Sparse Data 7. Example Application (應用例): Part-of-Speech Tagging (詞類自動標定) 8. Example Application (中文應用例): Chinese Word Segmentation (中文斷詞) 9. Hidden Markov Models (HMM, 隱藏式馬可夫模型) 10. Probabilistic Context Free Grammars (統計式的 CFG) 11. Advanced Probabilistic Parsing (高等統計式語法結構剖析) 12. Statistical Alignment and Machine Translation (統計式的文句對應與翻譯) - How "Google Translation" learn to translate? Part II. Advanced Technical Topics (高階技術) (* Part II & III 視可用時間授課 *) 13. Other Classifiers Design & Machine Learning Techniques (分類器設計與機器學習法) 14. Co-Training Methods (互助訓練法) for Integrating Different Models 15. Maximum Entropy Models (最大亂度模型) 16. Support Vector Machine (SVM, 支援向量機) Part III. Special Interested Applications (特定應用) 17. Named Entity Recognition (NER, 專有名詞辨識) (optional) 18. Multi-Word Expressions (MWE, 多字詞) (optional) 19. Word Sense Disambiguation (WSD, 字義理解) (optional) 20. Semantic Role Labeling (SRL, 語義角色標註) 21. Automatic Lexicon Acquisition (詞彙/字典自動抽取) (optional) - Domain-Specific Word (DSW) Extraction (特定領域專用語抽取) 22. Topics in Information Retrieval (IR, 資訊檢索) - Corss-language information retrieval (CLIR, 跨語言檢索) 23. Information Extraction (IE, 資訊擷取) (optional) 24. Text Categorization (文件分類) (optional) - Email Anti-Spamming (垃圾郵件剔除) 25. Question-Answering Systems (QA, 詢答系統) - Answering the 6 W's (What, Who, When, Where, How, Why) and more 26. Opinion Mining (意見發掘) 27. Sentimental Computation (情緒運算) 28. E-Learning (語言學習) - Automatic Test Items Generation (自動出題&測試) - Automatic Evaluation (自動評量) * General Topics: Part I will be given in more details. * Advanced and Specific Topics: Parts II & III will be taught selectively according to available time. 七、TA協助事項Teaching Assistant tasks: - 收集相關線上資訊, 協助同學學習, 討論 八、備註Remarks: 教學網站:(不使用 Moodle) http://nlp.csie.ncnu.edu.tw/~shin/ (http://nlp.csie.ncnu.edu.tw/~shin/crs/shin.crs.html) 教學投影片不定期更新. 可下載最近版本作為預習材料. 深底投影片請於列印時選擇 '純黑白' 選項列印, 以免耗費印表機碳粉. 九、本課程可培養學生之核心能力與教學活動及評量方法對應表 教學活動: 1.課堂討論(含個案討論) 2.書面報告、作業、作品、實驗 3.學生口頭報告 4.課程規劃之校外參訪及實習 5.證照/檢定 6.參與課程規劃之校內外活動及競賽 7.課外閱讀 8.其他 評量方法: 1.紙筆考試或測驗 2.實作評量﹙含口頭、書面報告、實習、表現評量﹚ 3.其他表現 ---------------- (rev 1,0) (2013/6/11) ---------------------------