近日,analyticsvidhya 上出現了一篇題為《30 Questions to test a data scientist on Natural Language Processing [Solution: Skilltest – NLP]》的文章,透過 30 道題的測試,幫助資料科學家瞭解其對自然語言處理的掌握水平。同時文章還附上了截至目前的分數排行榜,最高得分為 24(超過 250 人參與了測試)。如果你也是一名資料科學家,或者相關愛好者,不妨也來比試一下。
引言
人類具有社交屬性,語言是人與社會交流資訊的主要工具。但是,如果機器也能理解我們的語言並採取相應行動呢?自然語言處理(NLP)是一門教授機器如何理解人類語言的科學。
我們最近推動了一項 NLP 技巧測試,獲知你對 NLP 知識的瞭解,共有 817 人註冊。如果你錯過了這項測試的機會,沒關係,本文中有所有的測試問題和解答。
所有參與者的排行榜
總體分佈
下面是所有人的得分,你可以透過它進行自我評估。超過 250 人參與了該項測試,最高得分是 24。
得分排行榜:https://datahack.analyticsvidhya.com/contest/skilltest-text-mining/lb
有用的資源
下面的資源有助於你對 NLP 有一個更深入的瞭解。
- 自然語言處理簡單學——透過 SpaCy ( Python):https://www.analyticsvidhya.com/blog/2017/04/natural-language-processing-made-easy-using-spacy-%E2%80%8Bin-python/
- 終極指南:自然語言處理的理解與實現(附 Python 程式碼):https://www.analyticsvidhya.com/blog/2017/01/ultimate-guide-to-understand-implement-natural-language-processing-codes-in-python/
測試問題與答案
1)下面哪項技巧可用於關鍵詞歸一化(keyword normalization),即把關鍵詞轉化為其基本形式?
1. 詞形還原(Lemmatization)
2.Levenshtein
3. 詞幹提取(Stemming)
4. 探測法(Soundex)
A) 1 和 2
B) 2 和 4
C) 1 和 3
D) 1、2 和 3
E) 2、3 和 4
F) 1、2、3 和 4
答案:C
詞形還原和詞幹提取是用於關鍵詞歸一化的技術;Levenshtein 和探測法是用於字串匹配的技術。
2)N-gram 被定義為 N 個關鍵片語合在一起。從給定的句子可以產生多少二元組短語(Bigram):
「Analytics Vidhya is a great source to learn data science」
A) 7
B) 8
C) 9
D) 10
E) 11
答案:C
二元組短語: Analytics Vidhya, Vidhya is, is a, a great, great source, source to, To learn, learn data, data science
3)在執行了以下的文字清理步驟之後,可從下面的語句中生成多少三元組短語(trigram):
- 停用詞移除
- 使用單一空格替換標點符號
「#Analytics-vidhya is a great source to learn @data_science.」
A) 3
B) 4
C) 5
D) 6
E) 7
答案:C
在執行了停用詞移除和標點符號替換之後,文字變成:「Analytics vidhya great source learn data science」
三元組短語——Analytics vidhya great, vidhya great source, great source learn, source learn data, learn data science
4)以下哪個正規表示式可用於標識文字物件中存在的日期:「The next meetup on data science will be held on 2017-09-21, previously it happened on 31/03, 2016」
A) \d{4}-\d{2}-\d{2}
B) (19|20)\d{2}-(0[1-9]|1[0-2])-[0-2][1-9]
C) (19|20)\d{2}-(0[1-9]|1[0-2])-([0-2][1-9]|3[0-1])
D) 沒有一個
答案:D
問題背景 5-6:
你已經蒐集了 10,000 行推特文字的資料並且沒有其他資訊。你想要建立一個推特分類模型,可以把每條推特分為三類:積極、消極、中性。
5)下面哪個模型可以執行問題背景中提及的推特分類問題?
A) 樸素貝葉斯
B) 支援向量機
C) 以上都不是
答案:C
由於你被給定了推特資料並且沒有其他資訊,這意味著不存在目標變數,所以不可能訓練一個監督學習模型,支援向量機和樸素貝葉斯都是監督學習技巧。
6)透過把每個推特視為一個文件,你已經建立了一個資料的文件詞矩陣。關於檔案詞矩陣以下哪項是正確的?
1. 從資料中移除停用詞(stopwords)將會影響資料的維度
2. 資料中詞的歸一化將會減少資料的維度
3. 轉化所有的小寫單詞將不會影響資料的維度
A) 只有 1
B) 只有 2
C) 只有 3
D) 1 和 2
E) 2 和 3
F) 1、2 和 3
答案:D
1 和 2 是正確的,因為停用詞移除將會減少矩陣中特徵的數量,詞的歸一化也將會減少不相關的特徵,並且把所有的詞變成小寫也會減少資料維度。
7)下面哪個特徵可以用來提升分類模型的精度?
A) 詞頻計數
B) 語句的向量符號
C) 語音標籤部分
D) 依賴度(Dependency)語法
E) 以上所有
答案:E
8)關於主題建模,總體語句佔比多少才是正確的?
1. 它是一個監督學習技巧
2. 線性判別分析(LDA)可用於執行主題建模
3. 模型中主題數量的選擇不取決於資料的大小
4. 主題術語的數量與資料的大小成正比
A) 0
B) 25
C) 50
D) 75
E) 100
答案:A
LDA 是無監督學習模型,但 LDA 代表的是隱狄利克雷分佈,而不是線性判別分析。模型中主題數量的選擇直接與資料的大小成正比,而主題詞條的數量並不直接與資料大小成正比。因此沒有一個陳述是正確的。
9)在用於文字分類的隱狄利克雷分佈(LDA)模型中,α 和 β 超參數列徵什麼?
A) α :文件中的主題數量,β:假主題中的詞條數量
B) α :主題內生成的詞條密度,β:假詞條中生成的主題密度
C) α :文件中的主題數量,β:假主題中的詞條數量
D) α :文件中生成的主題密度,β:真主題內生成的詞密度
答案:D
10)根據語句「I am planning to visit New Delhi to attend Analytics Vidhya Delhi Hackathon」解方程。
A = (名詞作為語音標籤的一部分)
B = (動詞作為語音標籤的一部分)
C = (頻率計數大於 1)
下面哪個是A、B、 C 的正確值?
A) 5、5、2
B) 5、5、0
C) 7、5、1
D) 7、4、2
E) 6、4、3
答案:D
名詞:I, New, Delhi, Analytics, Vidhya, Delhi, Hackathon (7)
動詞:am, planning, visit, attend (4)
頻率計數大於 1 的詞:to, Delhi (2)
因此,選項 D 正確。
11)在包含 N 個文件的語料庫中,隨機選擇一個文件。該檔案總共包含 T 個詞,詞條「資料」出現 K 次。如果詞條「資料」出現在檔案總數的數量接近三分之一,則 TF(詞頻)和 IDF(逆文件頻率)的乘積的正確值是多少?
A) KT * Log(3)
B) K * Log(3) / T
C) T * Log(3) / K
D) Log(3) / KT
答案:B
TF 的公式是 K/T
IDF 的公式是 log
= log(1 / (⅓))
= log (3)
因此正確答案是 Klog(3)/T
12 到 14 的問題背景:
參閱以下的文件詞矩陣
12)下面哪個文件包含相同數量的詞條,並且在整個語料庫中其中一個文件的詞數量不等同於其他任何文件的最低詞數量。
A) d1 和 d4
B) d6 和 d7
C) d2 和 d4
D) d5 和 d6
答案:C
文件 d2 和 d4 包含 4 個詞條並且不是詞條最低數量 3。
13)語料庫中最常見和最稀少的詞條分別是什麼?
A) t4、t6
B) t3、t5
C) t5、t1
D) t5、t6
答案:A
T5 是最常見的詞條,出現在 7 個文件中的 5 個,T6 是最稀疏的詞條,只在 d3 和 d4 中出現。
14)在該檔案中使用最多次數的詞條的頻次是多少?
A) t6 – 2/5
B) t3 – 3/6
C) t4 – 2/6
D) t1 – 2/6
答案:B
t3 在整個語料庫中的使用的最大次數是 3,t3 的 tf 是 3/6
15)下列哪種方法不是靈活文字匹配的一部分?
A)字串語音表示(Soundex)
B)語音發聲雜湊(Metaphone)
C)編輯距離演算法(Edit Distance)
D)關鍵詞雜湊演算法(Keyword Hashing)
答案:D
除了關鍵詞雜湊演算法,其它所有方法都用於靈活字串匹配
16)正誤判斷:Word2vec 模型是一種用於給文字目標建立向量標記的機器學習模型。Word2vec 包含多個深度神經網路
A)正確
B)錯誤
答案:B
Word2vec 也包含預處理模型(preprocessing mode),它不屬於深度神經網路。
下列關於 Word2vec 的說法哪些是正確的(不定項選擇)?
A)word2vec 的結構僅包括兩層——連續性詞包和 skip-gram 模型
B)連續性詞包是淺層神經網路模型
C)Skip-gram 是深度神經網路模型
D)CBOW 和 Skip-gram 都是深度神經網路模型
E)以上表述全部正確
答案:D
Word2vec 包含連續性詞包和 skip-gram 模型,都是深度神經網路
18)關於無語境依賴關係圖(context-free dependency graph),句子裡有多少子決策樹(sub-trees)?
A)3
B)4
C)5
D)6
答案:D
依賴關係圖中的子決策樹可以被看做是擁有外部連線的節點,例如:Media, networking, play, role, billions, 和 lives 是子決策樹的根。
19)文字分類模型組成部分的正確順序是:
1. 文字清理(Text cleaning)
2. 文字標註(Text annotation)
3. 梯度下降(Gradient descent)
4. 模型調優(Model tuning)
5. 文字到預測器(Text to predictors)
A) 12345
B) 13425
C) 12534
D) 13452
答案:C
正確的文字分類模型包含——文字清理以去除噪聲,文字標註以建立更多特徵,將基於文字的特徵轉換為預測器,使用梯度下降學習一個模型,並且最終進行模型調優。
20)多義現象可以被定義為在文字物件中一個單詞或短語的多種含義共存。下列哪一種方法可能是解決此問題的最好選擇?
A)隨機森林分類器
B)卷積神經網路
C)梯度爆炸
D)上述所有方法
答案:B
CNN 是文字分類問題中比較受歡迎的選擇,因為它們把上下文的文字當作特徵來考慮,這樣可以解決多義問題。
21)下列那種模型可以被用於文字相似度(document similarity)問題?
A)在語料中訓練一個由詞到向量(word 2 vector)的模型來對文字中呈現的上下文語境進行學習
B)訓練一個詞包模型(a bag of words model)來對文字中的詞的發生率(occurrence)進行學習
C)建立一個文獻檢索詞矩陣(document-term matrix)並且對每一個文字應用餘弦相似性
D)上述所有方法均可
答案:D
word2vec 模型可在基於上下文語境的情況下用於測量文字相似度。詞包模型(Bag Of Words)和文獻檢索詞矩陣(document term matrix)可以在基於詞條的情況下用來測量相似度。
22)下列哪些是語料庫的可能性特徵?
1. 文字中詞的總數
2. 布林特徵——文字中詞的出現
3. 詞的向量標註
4. 語音標註部分
5. 基本依賴性語法
6. 整個文字作為一個特徵
A) 1
B) 12
C) 123
D) 1234
E) 12345
F) 123456
答案:E
除了全部文字作為特徵這個選項,其餘均可被用作文字分類特徵,從而來對模型進行學習。
當在文字資料中建立一個機器學習模型時,你建立了一個輸入資料為 100K 的文獻檢索詞矩陣(document-term matrix)。下列哪些糾正方法可以用來減少資料的維度——
1. 隱狄利克雷分佈(Latent Dirichlet Allocation)
2. 潛在語義索引(Latent Semantic Indexing)
3. 關鍵詞歸一化(Keyword Normalization)
A)只有 1
B)2、3
C)1、3
D)1、2、3
答案:D
所有的這些方法都可用於減少資料維度。
24)谷歌搜尋特徵——「Did you mean」,是不同方法相混合的結果。下列哪種方法可能是其組成部分?
1. 用協同過濾模型(Collaborative Filtering model)來檢測相似使用者表現(查詢)
2. 在術語中檢查 Levenshtein 距離的模型
3. 將句子譯成多種語言
A)1
B)2
C)1、2
D)1、2、3
答案:C
協同過濾可以用於檢測人們使用的是何種模式,Levenshtein 用來測量術語間的距離。
25)在處理自然結構的新聞性句子的時候,哪種基於語法的文字句法分析方法可以用於名詞短語檢測、動詞短語檢測、主語檢測和賓語檢測。
A)部分語音標註
B)依存句法分析(Dependency Parsing)和選取句法分析(Constituency Parsing)
C)Skip Gram 和 N-Gram 提取
D)連續性詞包
答案:B
依存句法分析和選取句法分析可從文字中提取這些關係。
26)社交媒體平臺是文字資料最直觀的呈現形式。假設你有一個推特社交媒體完整語料庫,你會如何建立一個建議標籤的模型?
A)完成一個主題模型掌握語料庫中最重要的詞彙;
B)訓練一袋 N-gram 模型捕捉頂尖的 n-gram:詞彙和短語
C)訓練一個詞向量模型學習複製句子中的語境
D)以上所有
答案:D
上面所有的技術都可被用於提取語料庫中最重要的詞條。
27. 在從文字資料中提取語境時,你遇到兩個不同的句子:The tank is full of soldiers. The tank is full of nitrogen。下面哪種措施可被用於句子中詞意模糊的問題?
A)對比模糊詞彙與近義詞在詞典上的定義
B)同指(Co-reference) 解決方案,使用先前句子中包含的正確詞意解決模糊單詞的含義。
C)使用句子的依存解析理解含義
答案:A
A 選項被稱為 Lesk 演算法,被用在詞意模糊問題上,其他選擇不對。
28)協同過濾和基於內容的模型是兩種流行的推薦引擎,在建立這樣的演算法中 NLP 扮演什麼角色?
A 從文字中提取特徵
B 測量特徵相似度
C 為學習模型的向量空間程式設計特徵
D 以上都是
答案:D
NLP 可用於文字資料相關的任何地方:特徵提取、測量特徵相似度、創造文字的向量特徵。
29)基於檢索的模型和生成式模型是建立聊天機器人的兩個主流技術,下面那個選項分別包含檢索模型和生成式模型例子?
A. 基於辭典的學習和詞向量模型
B. 基於規則的學習和序列到序列模型
C. 詞向量和句子到向量模型
D. 迴圈神經網路和卷積神經網路
答案:B
選項 B 最佳詮釋了基於檢索的模型和生成式模型的例子。
30)CRF(條件隨機場)和 HMM(隱馬爾可夫模型)之間的主要區別是什麼?
A.CRF 是生成式的,而 HMM 是判別式模型;
B.CRF 是判別式模型,HMM 是生成式模型。
C.CRF 和 HMM 都是生成式模型;
D.CRF 和 HMM 都是判別式模型。
答案:B
原文連結:https://www.analyticsvidhya.com/blog/author/shivam5992/