---
tags: NLP
---
# NLP Note
:::info
+ 課程名稱:自然語言處理 Natural Language Processing
+ 授課老師:[name=林川傑 Chuan-Jie Lin]
+ 開課學期:1071
:::
[TOC]
## 1001
Lexicon 合法詞彙的集合
## 1008
### Morphology 英文變形
+ Inflectional 名詞動詞的變形
Ex: dog, dogs, dog's
Ex: go, went, gone
+ Derivational 衍生出來的詞
英文詞分成兩部份
Stem 枝幹
Affixes 修飾
Ex: international
Stem: nation
Affixes: inter- (prefix), -al (suffix)
有些語言也有 infix
+ Verb/Adj to Noun
-ation computerize
Linguistics 語言的
翻譯比較不需要還原
搜尋引擎會比較需要用到變形還原
Maximum Likelihood 就是直接算出來的統計機率方法
N-gram用來放在語音辨識,確認辨識出來的這句話合不合理常不常見
## 1015
只要 a > b, 則 log(a) > log(b)
bigram 可能無從判斷不存在的詞是否為真的不存在
→ 會讓機率的估算變成 0
∴ 改用 Smoothing Method
### Smoothing Method
使用一個近似 0 但不是 0 的數
機率模型有個很重要的原則:所有的事件總和要是 1
方法一、Discounting
把所有事件打個九折,剩下 10% 分給未出現的詞
方法二、Model Combination
結合 Unigram, Bigram 之類的G#XFKUUTG%TG$F
## 1022
+ Article 冠詞 a, the
+ 量詞,英文就沒有
+ Function Words
+ 通常沒什麼資訊
+ 而且集合固定,沒什麼變
+ Content Words
+ 有很多資訊
+ 而且常常冒出新的詞
## 1029
如何做詞性標記
+ 詞性集
+ 辭典紀錄每個詞有幾種詞性
Project念成專案跟投射時讀音不同
Google小姐能分的清楚
Rule Base的方法太耗人力、過時、錯誤率高
詞性標記的機率模型可能有0機率的出現
如果是0,可能真的是0
通常可以相信真的是0
就算要做Smoothing那個值也是超小
不需要太複雜的Smoothing Method
大部分的機率模型大多都是監督式學習
### Context Sensitive Grammar
a S b → a NP + VP b
因為S前面是a,後面是b,所以變成後面那樣
### Context Free Grammar
不需要根據前後文就可以剖析成某種語法
S → NP + VP
大多用Syntax,也是語法的意思,Grammar比較像是文法
在做翻譯、問答,需要語法剖析才能知道例如主詞在哪
語法差異例如:A of B → B的A
Ex: You can view these great rules as analysis and synthesis machine.
介系詞開頭的都是PP
動詞接NP是VP
VP + PP > VP
最後NP + VP變成S
## 1105
NP 名詞詞組
VP 動詞詞組
### Parsing (Ch 9 P.38)
有個假設,Right hand side只有兩個子節點
+ Top-Down Parsing
+ 把 Left hand side 做一個分群
+ Bottom-Up Parsing
+ 把 Right hand side 的第一個做分群
可能有 Ambiguity
1. PP Attachment
Ex: I observed the boy with a telescope.
+ 望遠鏡到底是我的還是男孩的
2. 同義字
Ex: I walk to the bank.
+ 到底是走去銀行還是走去河岸
3. P and Q or R
+ P and (Q or R)
+ (P and Q) or R
+ 可能用語音的停頓點來表示
4. NN-Compound
+ 兒童 新聞主播
+ 兒童新聞 主播
5. Movement
Which flight do you want me to have the travel agent book?
## 1126
### Feature (Ch 11)
+ Number, case, gender...
| | 單數 Singular | 複數 Plural |
| :-----------: | ------------ | ------------ |
| First Person | I, me, mine | we, us, ours |
| Second Person | you, yours | you, yours |
| Third Person | he, she, its | they, them |
+ Feature 的使用
+ 語法檢查 (Ex: Office Word)
+ 解決 PP-attachment
+ 有些語法有陰性、陽性和中性,展開就會有18種
### Feature Matching
+ `S -> NP VP`
+ 確認數量與人稱要相等
+ `<NP NUM> == <VP NUM>`
+ `<NP PERSON> == <VP PERSON>`
+ `NP -> dog`
+ `<NP NUM> = sing. // 單數`
+ `<NP PERSON> = 3 // 第三人稱`
+ `NP -> dogs`
+ `<NP NUM> = plur. // 複數`
+ `<NP PERSON> = 3 // 第三人稱`
### Representing Meaning (Ch 14)
+ 一開始從 Word 到 Syntax
+ 現在要來研究語意 Meaning
+ 人類透過一連串的聲音與一堆符號來進行溝通
+ 我們用一種 Representation 來教電腦何謂語意
### First Order Predicate Calculus (FOPC)
+ 雖然不是最完美的表達法
+ 但其他表達法有更多嚴重的限制與問題
+ Predicate 述語
+ Ex: 我吃了一個紅蘋果
1. 動詞
+ `吃(x, y): x 吃 y`
2. 形容詞
+ `紅(x): x 是紅的`
3. 名詞
+ `蘋果(x): x 是蘋果`
4. 介係詞
+ `吃(我, e) & 蘋果(e) & 紅(e)`
+ Mary giving a list to John
+ Mary 是**語意**上的主詞
+ John was given a list from Mary
+ John 是**語法**上的主詞,但 John 不是主動
+ 所以乾脆寫成:
```
Giving(x) & Giver(Mary, x)
& Given(y, x) & Givee(John, x)
& Isa(y, List)
```
### Semantic Analysis (Ch 15)
+ Mass-Noun 集合名詞
+ Proper-Noun 專有名詞
## 1203
### Review Predicate
+ 述語式邏輯
+ Giving(Mary, John, List)
+ Mary giving John a list
+ Predicate 其實很少使用
+ 但 State of the Art 的 QA System 就有使用
### Compositional Analysis
+ Serving-Server-Served
+ $Isa(e, Serving)\land Server(e, y)\land Served(e, x)$
+ #### Ex: I told Harry to go to Maharani.
+ Telling-Teller-Tellee
+ Going-Goer
+ To
+ -ee 結尾是被...的人
1. $\lambda x\lambda y\exists e, telling(e) \land teller(e, x) \land tellee(e, y)$
2. $\lambda t\lambda k\exists z, going(z)\land goer(z, k)$
3. $\lambda a\lambda b, to(a, b)$
+ 2 跟 3 可以直接 $\land$ 在一起
+ 從語法樹的葉子不斷 Parse 上來就可以完成一個 Compositional Logic
### Logic Problem
+ 這世界上有甜西瓜
+ $\exists x, 西瓜(x)\land甜(x)$
+ 這世界上的西瓜都是甜的
+ $\forall x, 西瓜(x)\to甜(x)$
+ #### Who Love Who
+ $\exists x\exists y, love(x,y)$
+ 至少有個 x 愛著 y
+ 也有可能是同一個人愛自己
+ $\forall x\forall y, love(x,y)$
+ 所有人都愛所有人
+ 這世界充滿了愛
+ $\exists x\forall y, love(x,y)$
+ 有個人愛著所有人
+ $\forall x\exists y, love(x,y)$
+ 所有人都愛著一個人
+ $\exists y\forall x, love(x, y)$
+ 有個人被所有人愛
+ 若集合裡面不只有人(可能有摩天輪)
+ $\exists x\forall y, People(x)\land People(y)\to love(x,y)$
+ 出現 $\forall$ 就要用 $\to$
### Non-Compositionality (Ch15 P36)
+ Idioms
+ Kick the bucket
+ Buy the farm
+ Bite the bullet
+ Run the show
+ Bury the hatchet
+ 以上都是講人去世了
+ The Tip of the Iceberg
+ 冰山一角
+ The tip of 1000-page iceberg.
+ 一千頁裡面的冰山一角
+ 語意的轉換上會直接轉成它直接的意思
+ Jokes
+ Irony
+ Sarcasm
+ Metaphor
+ Metonymy
+ Indirect Requests
### Information Extraction
+ 跟 IR 可能比較沒有關係
+ 例如:要找一個跟恐怖攻擊有關的事情
+ 會有發生時間、發生地點、攻擊者是誰等等
+ 需要做一些日期時間的解析
+ 例如:上星期三轉成實際的日期
+ 有些地名等等
+ 可以查表
+ 但恐怖組織,可能需要專有名詞辨識
+ 組織名:Bridgestone Sport Co.
+ 國家名:Taiwan, Japan
+ 時間:Friday, January 1990
+ 數量:20 million new Taiwan dollars, 20,000
## 1210
### Lexical Semantics
+ 分成三個層面
+ 整篇文章在講啥
+ 每句話在講啥
+ 每個詞在講啥
+ 接下來探討詞的意思
+ Paradigmatic
+ 兩個詞之間的關係
+ 同義詞、反義詞、上下義詞
+ Syntagmatic
+ 討論構詞的結構
+ Ex: 好喝、難聽
+ 在中文比較常討論
+ What's a word
+ 詞的單位 Lexeme
+ 同一個 Entry
+ Lexicon
+ Lexeme 的集合
+ 單純的詞列表
+ 與 Dictionary 不一樣
### Homonymy 同名詞
+ 指兩個詞很像
+ Phonological 同音詞
+ Homophony
+ Threw/Through, Deer/Dear
+ 意義、異議、意譯
+ 造成語音辨識上的困擾
+ Orthographic 形近詞
+ Homographic
+ Tear (眼淚或撕裂)
+ Minute (Time/Tiny)
+ 空(ㄎㄨㄥ/ㄎㄨㄥˋ)
+ 造成語音合成的問題
+ Both
+ Bat (球棒/蝙蝠)
+ 讀音跟字形都一樣
### Polysemy 多義詞
+ Bank 河岸、銀行
+ Interest 興趣、利息
+ 如果有大量閱讀經驗,可以解決歧義問題
### Synonyms 同義詞
+ 同義詞其實沒有很同義
+ 其實同義詞很少
+ 開心 & 快樂
+ 但快樂可以當抽象名詞
+ 詞的發明就是為了分辨更細微的差異
+ 如果真的同義就不會被發明出來
+ Big/Large
+ Big sister (O)
+ Large sister (X)
+ Small/Tiny
+ Tiny 是 Small 的狹義詞
+ 如果兩個詞是反義詞,則他們的下義詞都互相是反義詞
### Hyponymy 上下義詞
+ Hypernym 上義詞
+ Hyponym 下義詞
+ Ex: Dog is an animal
+ Hypernym: Animal
+ Hyponym: Dog
+ 工作身份則不是語意的問題
+ 比較像 Attribute,可以變的
+ 上義詞有的特性,下義詞都有
+ 人會說話,所以男人女人都會說話
+ WordNet 由普林斯頓大學認識科學實驗室建立的
| Category | Unique Strings | Synsets | Total Word-Sense Pairs |
|:---------:|:--------------:|:-------:|:----------------------:|
| Noun | 117097 | 81426 | 145104 |
| Verb | 11488 | 13650 | 24890 |
| Adjective | 22141 | 18877 | 31302 |
| Adverb | 4601 | 3644 | 5720 |
+ Synset 是語意
+ 動詞雖然只有 11488 個,但語意卻有 13650 個
+ 名詞雖然有 117097 個,但語意只有 81426 個
+ WordNet vs Word2Vec
+ WordNet 是專家系統
+ Word2Vec 是機器學習
+ 以白宮為例:
+ 語句中可能以白宮代表美國政權
+ 但 WordNet 裡面就是定義成那棟建築
+ 因為人類用詞不像專家那樣精準
+ 所以情感上 Word2Vec 好像準一點
## 1217
### Wordnet Relation (Ch.16 P.21)
+ 上下義
+ Hypernym
+ Hyponym
+ 團體:團體中的一員
+ Has-Member
+ Member-Of
+ 部件:彼此之間的差異可能有點大
+ Has-Part
+ Part-Of
+ 反義詞
+ Antonym
+ 在 Wordnet 裡面只有 Holonym/Meronym
+ 包含 Group/Member & Whole/Part
### Inside Verbs
+ Agents of the actions
+ Takers, givers
+ Thematic Role (P.28)
+ Agent
+ Experiencer
+ Force
+ Theme
+ 做事情的時候就在的
+ Result
+ 做完事情才會長出來的東西
+ Content
+ Instrument
+ Beneficiary
+ Source
+ 例如起點
+ Goal
+ 例如目的地
+ Sally gave Harry a book.
+ $Giver(Sally)\land Givee(Harry)\land Given(book)$
+ $Agent(Sally)\land Goal(Harry)\land Theme(book)$
+ 語意角色在機器翻譯扮演重要的角色
### Supervised & Unsupervised Learning
+ 訓練的過程有沒有用到標準答案
### Bound on Performance
+ Upper Bound
+ 人類的 Performance
+ Lower Bound
+ 最簡單演算法的 Performance
+ Baseline
+ Random Method
+ Majority Method
+ 選最常出現的
+ Other Model
+ 選別人家的系統
### WSD Tags
+ Wordnet的分類太細了
+ 光 bass 就有八種解釋
+ 有時候可能沒必要分太細
+ Collocational
+ 用前後幾個詞的搭配來判斷
+ Ex: [guitar, NN, and, CJC, player, NN, stand, VVB]
+ Co-Occurrence
+ 只標示有沒有出現,看不出順序的
+ Ex: [0, 0, 0, 1, 0, 0, 1, 0, ..., 0]
### Classifiers
+ Naive Bayes
+ 貝氏定理寫出來的機器學習分類器
+ Decision Lists
+ 比較像規則式
+ 機器學習寫出來的規則式
+ Decision Trees
+ Neural Nets
+ 強調只餵 raw text
+ Support Vector Machines, SVM
+ Nearest Neighbor Methods
### Bootstrapping
+ 從小型語料庫選擇 100% 正確的規則出來
+ 用這 100% 正確的規則去分析大型語料庫
+ 因此獲得大量訓練資料
### One Sense per Discourse
+ Discourse 篇章、文章
+ 假設在一篇文章中同一個詞都是一樣的語意
### One Sense per Collocation
+ 附近的詞加強本身的語意
### Unsupervised Disambiguation
+ EM Algorithm
+ 先執行 E-Step 再執行 M-Step
+ 不斷執行這兩個步驟直到收斂為止
+ 若要判斷不同的詞,就要分別訓練不同的模型
> Maximum Likelihood
> 直接計算最大值
## Pragmatic Level
## 1224
### Discourse (Ch.18)
+ 有點像是一整個篇章主題的呈現
+ 整篇文章的 Discourse 要一致
+ Discourse coherent 主題連貫性
+ Rhetorical Structure
+ 修辭的結構
+ 討論兩句話是否有因果、舉例、假設等
+ Nucleus/Satellite
+ 補充 Elaboration
+ Features
+ Exlicit markers: because, however, therefore, then
+ 可以窮舉這些連接詞
+ 順序、時態、聲音
+ RST Problem
+ 即便有訓練過的標記者,標記的一致性可能還是很低
+ Discourse/Topic Structure
+ Referring Expressions
+ Co-refernence 同指涉
+ 指涉字串:例如經常用代名詞來講話
+ 需要解決同指涉現象就要找出候選詞
+ Candidcate 候選詞
+ 所有的代名詞 vs. Full NP
+ Definite vs. Indefinite NPs
+ Definite NPs
+ the ...
+ 專有名詞
+ Indefinite NPs
+ a ...
+ Common vs. Proper Noun
+ Modified vs. Bare head NP
+ 代名詞解析分兩大派
+ 人稱代名詞、非人
+ More NP types
+ Inferrables
+ Ex: Sally bought a used car. **The tires** need to be replaced.
+ The tires 代表車子的部件
+ Discontinuous Sets
+ Ex: John has known Bill for many years now. **They** often go hiking together.
+ They 指涉 John & Bill
+ Anaphora 往前指涉
+ 最常見的指涉現象
+ 前面提過的名詞,後面用代名詞表示
+ Zero Anaphora 零指涉
+ 指涉一個省略的代名詞
+ Co-reference between named entities
+ 用 the White House 指涉 The US government
+ 借代修辭
+ Co-reference between noun phrases
+ Ex: I stayed in Grand Hotel yesrerday. **The hotel** was ...
+ The hotel 指涉 Grand Hotel
### Dialogue (Ch.19)
+ [Reference](https://www.slideshare.net/tw_dsconf/ss-75294430)
+ Basic Model
+ NLU -> DM -> NLG -> Loop
+ Language Understanding (LU)
+ Dialogue Management (DM)
+ State Tracking
+ 這部份也要負責確認人沒有講清楚的部份
+ Natural Language Generation (NLG)
+ Dialogue vs. Monologue
+ Dialogue
+ Turn-Talking
+ 確認誰要說話
+ Grounding
+ 達成共識
+ Detecting & Repairing Misunderstanding
+ Initiative & Confirmation Strategies
+ 人類常常在講一些不合語意的話
+ 口語化、哈哈笑之類的
+ Utterances
+ 講話被中斷
+ 可以用語句間的暫停、語氣聲調來解決
+ Turn Talking
+ 誰該講
+ 何時該講
+ 如何判斷講話的人
+ 放棄這個回合
+ Holding the floor
+ 可被中斷的
+ 如何判斷我必須講話
+ Simple Turn-Talking Rule
+ Ch.19 P.8
+ Turn Taking Scripts
+ Greeting/Greeting
+ Question/Answer
+ Compliment/Downplayer
+ 稱讚/感謝之類的
+ Request/Grant or Not
+ 明顯的沉默是不好的
+ Initiative
+ System Initiative
+ 總是讓系統起頭
+ 穩定
+ 但是不友善
+ Mixed Initiative
+ 比較多是這種
+ User 講多少算多少
+ 沒講到的系統再問
+ User Initiative
+ Grounding
+ 參與者雙方是否 Establish common ground
+ 瞭解我們是否具有共同的背景知識
+ NLG
+ Template-Based NLG
+ 透過設計 Pattern 來產生文句
+ 也可以透過 ML 來學習句型
+ Evaluation
+ 能不能完成任務
+ 花費多少時間完成任務
+ 花費多少成本建構系統
## **Homework 4 WordNet**
+ Wu & Palmer Similarity
+ $Sim_{wp} = \frac{2N}{N1+N2}$
+ 計算兩個詞之間的相似度最高的那個
+ 可以使用 NLTK
+ 只要算名詞的語意就好
## Final Project
+ 幫某個已知的系統加上某個 NLP 技術替它增加一個新的 Feature
+ 常見的 NLP 技術
+ 斷詞、詞頻統計
+ 抽取關鍵詞
+ 翻譯
+ 意見探勘
+ 情緒偵測
+ 光學文字辨識、字幕
+ 語音辨識與合成
+ 文句生成
+ FAQ系統、問答系統、閱讀測驗
+ 專有名詞辨識
+ 資訊擷取
+ 自動摘要
+ 文章相似度比對、資訊含量的比對
+ NE 關聯性、Ontology
+ 不同的專有名詞之間的關聯性為何
+ 找出所有的關聯性之後就能建立一個 Ontology
+ 例如:
+ 學校有個學術單位叫電資學院
+ 學校有個行政單位叫做教務處
+ 文句蘊含
+ 告訴我兩個句子 $t_1, t_2$
+ $t_1$ 成立的時候 $t_2$ 成不成立
+ Paraphrase 換句話說
+ 美國反對北韓發展核武
+ 白宮不支持金正恩擁有核武
+ 報告五項
+ 哪些已經有惹
+ 哪些沒有der
+ 提供四個新功能
+ 或者提供五個新功能
## Additional
+ Linguistic
+ Lexical (Word)
+ Syntactic (Syntax)
+ Semantic (Semantics)
+ Pragmatic (Pragmatics 語用)
+ Ambiguity 歧義性
+ Ex: 土地公有政策略有感覺
+ Surface information
+ Character 字元
+ Letter 字母
+ Word 詞
+ Matching
+ String Matching
+ Pattern Matching
+ Lexical Level (Word)
+ Terminology
+ Lexicon 辭典、詞條
+ Word
+ Inflection(變形、單複數、三態變化、比較級)
+ Lemmatization:還原成原形
+ Lemma:原形
+ Stemming:
+ taking -> tak
+ takes -> tak
+ teeth -> teeth
+ earlier -> earli
+ Word segmentation 斷詞
+ Morphological analysis(還原日文動詞變化)
+ Tokenization
+ Token, Term, Word, String
+ Syntactic Level (Syntax)
+ Part-of-Speech 詞性標記
+ POS Tagger
+ Phrase 詞組、Sentence 句子
+ Syntax 語法、Grammar 文法
+ Syntactic Label 語法角色(主詞、受詞)
+ Parsing 語法剖析
+ Parsing Tree, Syntax Tree 語法樹
+ Structural
+ Bracket Tree
+ Head 中心語 如果是人名就取姓
+ Modifier 修飾語
+ Dependency Tree 語法相依樹
+ Dependency Relation
+ Semantic Level
+ Resource
+ WordNet
+ 中文 WordNet
+ 同義詞詞林(擴展版)
+ 廣義知網 E-Hownet
+ Synonyms 同義詞
+ Hyponym 下義詞、狹義詞
+ Hypernym 上義詞、廣義詞
+ Progmatic Level
+ Context 上下文
+ Contextual Information
+ Content 內容,主角的
+ Ellipsis 省略現象
+ Co-reference 同指涉
+ Anaphora 代名詞指涉
+ Experiment & Evaluation
+ Training
+ Tuning
+ Testing
+ Dataset
+ Machine Learning
+ Classifier 分類器
+ Features 特徵
+ Object
+ Classes
+ N-Fold Cross-Validation
+ Evaluate System Performance
+ Accuracy
+ Precision
+ Recall
+ F-Measure
+ Utterance 對話中的句子,不一定是完整或者語法完備的句子