詞的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】