你是合格的數據科學家嗎?30道題測試你的NLP水平
選自Analyticsvidhya
作者:Shivam Bansal
機器之心編譯
參與:黃小天、李亞洲、Smith
近日,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-d-d
B) (19|20)d-(0[1-9]|1[0-2])-[0-2][1-9]
C) (19|20)d-(0[1-9]|1[0-2])-([0-2][1-9]|3[0-1])
D) 沒有一個
答案:D
問題背景 5-6:
你已經搜集了 10,000 行推特文本的數據並且沒有其他信息。你想要創建一個推特分類模型,可以把每條推特分為三類:積極、消極、中性。
5)下面哪個模型可以執行問題背景中提及的推特分類問題?
A) 樸素貝葉斯
B) 支持向量機
C) 以上都不是
答案:C
由於你被給定了推特數據並且沒有其他信息,這意味著不存在目標變數,所以不可能訓練一個監督學習模型,支持向量機和樸素貝葉斯都是監督學習技巧。
通過把每個推特視為一個文檔,你已經創建了一個數據的文檔詞矩陣。關於文件詞矩陣以下哪項是正確的?
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 代表的是隱狄利克雷分布,而不是線性判別分析。模型中主題數量的選擇直接與數據的大小成正比,而主題詞條的數量並不直接與數據大小成正比。因此沒有一個陳述是正確的。
在用於文本分類的隱狄利克雷分布(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
※AMD 開源高性能機器智能庫MIOpen,可加速卷積神經網路
※替代圖靈測試?讓人工智慧參加數學和科學考試
※人臉模型壓縮:MobileID可在移動設備上快速運行
※阿里智能音箱發布前夕,首次公布自然語言處理成果
※從任務到可視化,如何理解LSTM網路中的神經元
TAG:機器之心 |
※Must Know!數據科學家們必須知道的 5 種聚類演算法
※Must Know!數據科學家們必須知道的 5 種聚類演算法
※Gartner:到2019年自助分析和BI用戶創造的分析結果將超過數據科學家
※科學家發現 香蕉的DNA與人類DNA相似度竟達60%!
※NumPy 將停止支持 Python 2,這裡有一份給數據科學家的 Python 3 使用指導
※線性模型可解釋一定比DNN高?UCSD科學家:大錯特錯!
※工業4.0時代下的數據科學家
※科學家的「3P」原則
※誰說科學家不能時尚?C2H4全新Future-Ready教你工作玩潮!
※Nat Biotechnol:我國科學家利用DNA納米機器人在體內高效靶向癌症
※Nature重磅!科學家利用電穿孔成功對人T細胞進行CRISPR基因編輯
※成為搶手的數據科學家最應具備的技能?先學Python准沒錯
※陳列平:follow my heart,我要做那前面5%的科學家!
※給數據科學家的 Python 3 指導;簡單 chatbot 代碼實現
※僅少數聰明絕頂的科學家才能建AI模型?Cortex想要打破這種困局
※Nat Genet:科學家發現了一種能測定細胞年齡的新方法
※科學家Jeff Lieberman:我是誰?
※Nat Commun:重磅!科學家首次成功繪製出人類心肌細胞基因調節子藍圖!
※Immunity:HIV為何無法治癒?科學家找到關鍵機制!
※利用Python做絕地科學家