自然語言處理3-1:文本表示之one-hot representation


詞的one-hot表示

下面直接舉例吧

現在假設我們有一個詞典庫【“我們”,“去”,“爬山”,“今天”,“你們”,“昨天”,“跑步”】,對於“我們”這個詞,可以用這么一個向量表示,向量的維度是詞典庫的長度,這個向量的元素是0和1。由於“我們”在詞典中是第一個位置,所以對應的向量第一個元素是1,其他位置元素是0,即【1,0,0,0,0,0,0】

對於“去”這個單詞,它在詞典庫中是第二個位置,所以對應的向量第二個元素是1,其他元素是0,即【0,1,0,0,0,0,0】

同理,對於“你們”這個單詞,對應的one-hot向量為【0,0,0,0,1,0,0】

……

 

總結:one-hot向量的維度等於詞典庫的大小,每一個單詞對應的one-hot向量只有一個元素是1,其他元素是0。並且1這個元素所在的位置就是該單詞在詞典庫中的位置

 

句子的one-hot表示

還是舉例吧

第一種是boolean representation:

例如,對於“我們今天去爬山”這一句話,仍然構造一個向量,且向量的維度等於詞典的大小。這個向量的元素也是0或者1。如果某個單詞在句子中出現了,那么向量中對應位置的元素是1,否則是0。例如,“我們”在詞典中位置是1,所以向量第一個元素是1,“今天”在詞典中的位置是4,所以向量的第4個元素是1,“去”在詞典中的位置是2,所以向量的第2個元素是1,“爬山”在詞典中的位置是3,所以向量的第3個元素是1。而向量的其他位置的元素則是0。該向量為【1,1,1,1,0,0,0】

而對於“你們昨天去爬山”這一句話,因為“你們”在詞典庫中的第5個位置,“昨天”在第6個位置,所以對應的one-hot向量是【0,1,1,0,1,1,0】

總結:句子的Boolean representation 對應的one-hot向量維度也是詞典庫的長度,元素是0或者1。對於向量的第k個元素,如果詞典庫中的第k個詞出現在句子中,那么其值為1,否則為0

 

第二種是count-based representation

和Boolean representation的區別是,它的向量的值的范圍是所有非負整數,每一個值代表的是對應位置的單詞在句子中的出現次數。例如“我們昨天去爬山今天去爬山”,“我們”出現了1次,所以第一個元素的值是1,“昨天”,“今天”也是出現一次,所以第4個和第6個元素的值是1。“去”和“爬山”出現了兩次,所以向量的第2和第3個元素的值是2,即【1,2,2,1,0,1,0】

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM