從詞袋模型到詞向量


 

1、自然語言處理的幾個核心問題

  • 怎么表示單詞,句子
  • 怎么表示單詞或者句子的意思(語意信息)?
  • 怎么衡量單詞之間,句子之間的相似度?

2、詞袋模型

詞袋模型(Bag-of-word Model)是一種常用的單詞表示方法。

假設我們辭典里有六個單詞:[今天,我們,去,游泳,明天,跑步]

每個單詞的表示:

  • 我們    [1,0,0,0,0,0]
  • 去       [0,1,0,0,0,0]
  • 游泳   [0,0,1,0,0,0]
  • 今天   [0,0,0,1,0,0]
  • 你們   [0,0,0,0,1,0]
  • 跑步   [0,0,0,0,0,1]

句子的表示:eg我們今天去游泳:[1,1,1,1,0,0]

     2.1 怎么計算兩個單詞、句子之間的相似度?

           即怎么計算兩個向量之間的距離,有很多種方法,歐氏距離、曼哈頓距離、切比雪夫距離、閔可夫斯基距離、標准化歐氏距離、夾角余弦等,這里暫介紹兩種方法:歐式距離,和余弦相似度

          2.1.1 歐式距離(數值越小,相似度越大)

                  歐式距離源自N維歐氏空間中兩點x1,x2的距離公式

                 

           2.1.2   余弦相似度(數值越大,相似度越大)

                   余弦相似度,又稱為余弦相似性,是通過計算兩個向量的夾角余弦值來評估他們的相似度。0度角的余弦值是1,而其他任何角度的余弦值都不大於1;並且其最小值是-1。 

余弦相似度通常用於正空間,因此給出的值為0到1之間。

 

 

                ||A||為向量A的范數,向量的模是絕對值在二維和三維空間的推廣,可以認為就是向量的長度。推廣到高維空間中稱為范數。

                

2.2    詞袋模型的缺點

         2.2.1    不能計算詞的相似度

  • 我們    [1,0,0,0,0,0]
  • 去       [0,1,0,0,0,0]
  • 游泳   [0,0,1,0,0,0]
  • 今天   [0,0,0,1,0,0]
  • 你們   [0,0,0,0,1,0]
  • 跑步   [0,0,0,0,0,1]         

以上文的辭典為例,     (我們,游泳),和(游泳,跑步)之間的相似度是不同的,但是計算其向量距離得到的結果是相同的。

      2.2.1   Sparsity  稀疏性

        這里我們的辭典中有六個詞,每個向量為六維的,但是在應用中,辭典中的詞會很多,比如一百萬個,那么此時每個向量就是一百萬維的,但是每個向量中只有一個1,其他參數全為0,含有信息量非常稀疏。

 

3、為了克服詞袋模型的缺點,我們提出了詞向量表示方法

這樣就可以計算詞的相關性,當辭典規模較大時,也可以將每個詞的向量維度控制在一定范圍,不會出現維度災難。 

經過深度學習模型訓練后,把相似的詞的賦予較相近的向量值。

 

 

 

 


免責聲明!

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



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