目的:把文本用數據的形式表達出來
方法:傳統基於規則,現代基於統計
一、詞編碼方式1——離散表示
1、One-hot編碼
和句子中順序無關,耗空間耗時
2、詞袋模型
每個數表示該詞出現的次數(One-hot的加和)
3、TF_IDF
每個數代表該詞在整個文檔中的占比
4、N-gram
相鄰N個詞作為一組進行編碼,缺點是浪費空間、無法衡量詞之間的關系
二、詞編碼方式2——分布式表示
所謂分布式表示,就是將“紅色小型汽車”變成“紅色+小型+汽車”
於是產生了現代統計自然語言處理中最有創見的想法之一:用一個詞附近的其他詞來表示該詞。
一開始用“共現矩陣”表示,后來發現它有耗空間過大、稀疏等問題,因此需要找到方法構造低維稠密向量作為詞的分布式表示 (25~1000維)!
一開始有用SVD分解的方法,后來發現它與其他深度學習模型框架差異大
又有了NNLM方法如下圖所示:(七月算法自然語言處理課程PPT)
這個模型復雜度較高。於是有了現在最常用的word2vec模型。
三、Work2Vec
1、CBOW
待續
2、Skip-Gram
待續
當語料特別大時,多用Skip-Gram
-》Word2Vec對多義詞表示的並不好,因此有了改進版本GloVe,但用的不多。
-》還有sense2vec模型,它是將詞性和word2vec結合的技術。
-》seq2seq 待續