NLP系列文章(三) 文字向量的表示方法

2021-10-05 06:28:51 字數 1838 閱讀 6093

雖然one-hot和tf-idf的表示方式也成為詞向量,但是我們這裡討論的基於詞向量的表示方式是圍繞分布式詞表徵進行的。也就是利用word2vec、glove和fasttext等詞向量對文字進行表示,詞向量可以根據任務或者資源的不同隨意選擇,文字表示的方法是通用的。

首先我們根據語料庫訓練詞向量,也就是針對文字中的每個詞彙,我們均有它的向量表示。當要獲得每個文字的向量表示,可以將文字**現的詞彙進行求和、求平均以及加權求和等方式獲取最後的結果。

求和與求平均的方式相對簡單,此處不再贅述。如何進行加權求和可以針對任務的需求進行。常見的方式為tf-idf加權的文字表示。

s en

tenc

evec

tor(

s)=∑

in(t

f−id

f(wo

rdi)

×wor

d2ve

c(wo

rdi)

)其中w

ordi

∈s

sentencevector(s) = \sum_i^n (tf - idf(word_i) \times word2vec(word_i)) \\其中 word_i \in s

senten

ceve

ctor

(s)=

i∑n​

(tf−

idf(

word

i​)×

word

2vec

(wor

di​)

)其中w

ordi

​∈s上述為對tf-idf加權的word2vec的表示,其中s是需要表示為向量的文字,wor

di

word_i

wordi​

是每個文字中的句子。tf−

idf(

word

i)

tf-idf(word_i)

tf−idf

(wor

di​)

代表針對wor

di

word_i

wordi​

求對應的tf-idf值,wor

d2ve

c(wo

rdi)

word2vec(word_i)

word2v

ec(w

ordi

​)代表對應詞彙的詞向量。

一般情況下,加權之後的文字向量要優於直接求和或求平均的方式,此外,類似的加權方式還有sif演算法,當然也可以用doc2vec的方式直接求取對應文字的文件向量。

基於詞向量的文字表示方式,由於向量的維度是可控的,所以不會造成維度災難和資料稀疏的問題,同時也能較好的反應出文字的語義,現在被廣泛的使用。

無監督的文字表示方法和有監督的文字表示方法的最主要區別在於,是否需要訓練模型以及優化目標來實現某項任務。很明顯無監督的方式是拿來訓練好的詞向量進行進一步的處理,並沒有搭建任何的模型。

有監督的文字表示可以從某一項任務中模型的隱層向量提取出來認為是對應文字的表示向量。例如文字分類模型textcnn,根據模型不斷的迭代,最終收斂到較好的效果,可以將模型的池化層拼接後的結果輸出作為文字的表示向量。基於翻譯任務的seq2seq模型,亦可以將rnn最後乙個時間步的輸出作為表徵文字的向量。根據這種思想可以將很多模型中的隱層輸出的向量視為文字向量。

近年來,較為流行的bert、gpt和albert等模型均是依據依據訓練神經語言模型來得到句向量的表示。經過大量的訓練資料以及較長時間的訓練,這種向量盡可能的表徵了文字自身的語義特徵。

無論是無監督的方式還是有監督的方式,均沒有哪種方式比另一種絕對性的好。在使用文字的表示方式的時候,需要根據上下游任務的特點,還有現有的資源以及資料的規模等多種特性來使用一種較為合適的文字表示方式。

2020 09 09 文字三劍客

文字三劍客 1 正規表示式 grep 文字過濾 模式 pattern 工具 grep,egrep,fgrep 不支援正規表示式搜尋 模式 由正規表示式字元及文字字元所編寫的過濾條件 grep options pattern file.grep root etc passwd dev null gre...

命令(三) 文字編輯器應用

一,vi 純文字編輯器 內部操作 1 vimtutor命令可以看它的操作方法 2 ctrl u向檔案頭翻半屏,ctrl d 往檔案尾翻半屏,ctrl f 往檔案尾翻一屏,ctrl b 往檔案首翻一屏 3 esc從編輯模式到命令模式 4 行號跳到指定的行 5 dd,ndd命令模式下刪除行 6 p或者p...

HTML基礎知識 三 文字格式標籤

從h1到h6字型大小依次減小,字型預設加粗,可設定水平對齊方式 文字標籤font 文字 設定字型大小大小文字 預設3號字,從小到大有1到7號7個字型大小可選 設定字型顏色文字 預設黑色 設定字型屬性文字 預設瀏覽器預設字型,本地無某字型時,設定該字型無效,還是按預設字型顯示 直線標籤hr 設定水平對...