深度学习(8)-NLP(词嵌入,嵌入矩阵,词向量,情绪分类,偏见问题)
看了這一節內容,結合之前CV相關知識,認為NLP也是將詞表達為數字化,然后進行一系列預測判斷等的過程,詞嵌入得到學習矩陣E類似于圖片解析為數字矩陣。
上一篇:深度學習(7)-RNN(網絡模式,典型應用場景,梯度修剪,GRU,LSTM,雙向RNN,深度RNN)https://blog.csdn.net/qq_36187544/article/details/93052465
下一篇:深度學習(9)-序列模型(seq2seq,機器翻譯,集束搜索,注意力模型,語音檢測與CTC)https://blog.csdn.net/qq_36187544/article/details/93715297
目錄
詞匯表征(詞嵌入)
詞嵌入的特性
嵌入矩陣(學習矩陣E)
詞向量
情緒分類應用舉例
詞嵌入的偏見問題
詞匯表征(詞嵌入)
one-hot表示:比如詞典里有10000個單詞,man是第1234個,表示為[0,0...0,1,0...0](第1234位為1,也表示為O1234)。這種表示法最大缺陷是每個詞都相互獨立,沒有關聯。
特征向量:利用各個特征將詞更加細分化,比如特征1為是否為食物,香蕉最終300個特征得到[0.97,0.1,0.5...]等,這樣就得到了300維特征,相較于one-hot表示更加強調關聯性。但是一般來講,機器不是通過人為規定的特征來記錄這次詞匯的,是通過某些可能我們也不清楚的特征來學習的,但是這些特征可以進行詞嵌入實現低維化。
詞嵌入:把一個維數為所有詞的數量的高維空間嵌入到一個維數低得多的連續向量空間中,每個單詞或詞組被映射為實數域上的向量。比如下圖為詞嵌入二維空間表示,采用t-SNE算法進行可視化展示,可以看到詞之間的關聯程度關系:
詞嵌入的特性
詞嵌入的特性:在多維空間內,找到向量對應關系。比如man->woman,那么king->?,可以求平行向量來找到最匹配的詞語。注意:不要使用t-SNE算法轉到二維可視化看這個關系,因為算法采用的是非線性映射,得到的結果不是可視的結果
計算方法可以通過計算余弦相似度:
嵌入矩陣(學習矩陣E)
嵌入矩陣即將詞的特征(圖為300維特征,10000個詞庫詞語)組成矩陣,這個矩陣與獨熱編碼的詞語相乘能得到獨立的特征詞向量。比如,orange為第6257個向量,學習矩陣E×O6257得到orange的詞向量。
意義:實現了矩陣與獨熱編碼、詞向量之間的相互轉化,實現了詞語轉為數字向量,以便進行神經網絡迭代更新矩陣E。
注意:由于獨熱編碼的特性,一般不采用E×O的方式進行計算,將消耗大量計算資源,直接采用取特定的某一列的方式。
詞向量
詞向量意味著該詞語的特征,常用的有word2Vec(包含CBOW和Skip-gram結構,前者通過上下文預測中間詞,后者通過某詞預測上下文某詞)和GloVe詞向量算法。
意義:將詞語轉化為詞向量,之后可以通過這樣進行下游工程應用。可以簡單理解為這些算法就是簡單神經網絡將詞語輸出為序列
word2Vec迭代計算是比較慢的,所以也有將softmax層轉化為分類樹的softmax等方法加快速度。
情緒分類應用舉例
將詞語轉為詞向量后,將其放入RNN網絡,輸出Y(情緒可分為5分好評,1分差評),應用場景比如分析顧客對某店的評價等:
詞嵌入的偏見問題
通過詞嵌入得到的結果往往具有偏見性,比如利用詞嵌入分析男人->醫生,女人->?,算法結果很可能得到護士的結果(性別歧視了,為啥不是醫生),因為訓練的語料庫是人類本身的語言,所以得到的結果受人類認知的影響。詞嵌入可能包含很多偏見,性別歧視、種族歧視等。
SVD(奇值分解)可以用來處理偏見問題,類似于PCA主成分分析算法,減少偏見。
因為機器學習逐漸被提上輔助分析社會重大決策的議程,所以消除這些偏見是很重要的。
總結
以上是生活随笔為你收集整理的深度学习(8)-NLP(词嵌入,嵌入矩阵,词向量,情绪分类,偏见问题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Bloom Filter 和 Count
- 下一篇: 西瓜种植教学