国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

自然語言處理——詞袋模型與向量化

姘擱『 / 2256人閱讀

摘要:詞袋模型詞袋模型簡稱,所謂的詞袋模型是一種用機器學(xué)習(xí)算法對文本進(jìn)行建模時表示文本數(shù)據(jù)的方法。再進(jìn)行一些其他的特征工程后,就可以將數(shù)據(jù)帶入機器學(xué)習(xí)算法進(jìn)行分類聚類了。總結(jié)下詞袋模型的三部曲分詞,統(tǒng)計修訂詞特征值與標(biāo)準(zhǔn)化。

詞袋模型

詞袋模型(Bag of Words,簡稱BoW),所謂的詞袋模型是一種用機器學(xué)習(xí)算法對文本進(jìn)行建模時表示文本數(shù)據(jù)的方法。

詞袋模型假設(shè)我們不考慮文本中詞與詞之間的上下文關(guān)系,僅僅只考慮所有詞的權(quán)重。而權(quán)重與詞在文本中出現(xiàn)的頻率有關(guān)。

與詞袋模型非常類似的一個模型是詞集模型(Set of Words,簡稱SoW),和詞袋模型唯一的不同是它僅僅考慮詞是否在文本中出現(xiàn),而不考慮詞頻。也就是一個詞在文本在文本中出現(xiàn)1次和多次特征處理是一樣的。在大多數(shù)時候,我們使用詞袋模型。

向量化

詞袋模型首先會進(jìn)行分詞,在分詞之后,通過統(tǒng)計每個詞在文本中出現(xiàn)的次數(shù),我們就可以得到該文本基于詞的特征,如果將各個文本樣本的這些詞與對應(yīng)的詞頻放在一起,就是我們常說的向量化。向量化完畢后一般也會使用TF-IDF進(jìn)行特征的權(quán)重修正,再將特征進(jìn)行標(biāo)準(zhǔn)化。 再進(jìn)行一些其他的特征工程后,就可以將數(shù)據(jù)帶入機器學(xué)習(xí)算法進(jìn)行分類聚類了。

總結(jié)下詞袋模型的三部曲:分詞(tokenizing),統(tǒng)計修訂詞特征值(counting)與標(biāo)準(zhǔn)化(normalizing)。

在詞袋模型的統(tǒng)計詞頻這一步,我們會得到該文本中所有詞的詞頻,有了詞頻,我們就可以用詞向量表示這個文本。這里我們舉一個例子,例子直接用scikit-learn的CountVectorizer類來完成,這個類可以幫我們完成文本的詞頻統(tǒng)計與向量化,代碼如下:

from sklearn.feature_extraction.text import CountVectorizer  
vectorizer=CountVectorizer()
corpus=["I come to China to travel", 
    "This is a car polupar in China",          
    "I love tea and Apple ",   
    "The work is to write some papers in science"] 
print vectorizer.fit_transform(corpus)

我們看看對于上面4個文本的處理輸出如下:

  (0, 16)    1
  (0, 3)    1
  (0, 15)    2
  (0, 4)    1
  (1, 5)    1
  (1, 9)    1
  (1, 2)    1
  (1, 6)    1
  (1, 14)    1
  (1, 3)    1
  (2, 1)    1
  (2, 0)    1
  (2, 12)    1
  (2, 7)    1
  (3, 10)    1
  (3, 8)    1
  (3, 11)    1
  (3, 18)    1
  (3, 17)    1
  (3, 13)    1
  (3, 5)    1
  (3, 6)    1
  (3, 15)    1

可以看出4個文本的詞頻已經(jīng)統(tǒng)計出,在輸出中,左邊的括號中的第一個數(shù)字是文本的序號,第2個數(shù)字是詞的序號,注意詞的序號是基于所有的文檔的。第三個數(shù)字就是我們的詞頻。

我們可以進(jìn)一步看看每個文本的詞向量特征和各個特征代表的詞,代碼如下:

print vectorizer.fit_transform(corpus).toarray()
print vectorizer.get_feature_names()

輸出如下

 [[0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 2 1 0 0]
 [0 0 1 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0]
 [1 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0]
 [0 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 0 1 1]]

[u"and", u"apple", u"car", u"china", u"come", u"in", u"is", u"love", u"papers", u"polupar", u"science", u"some", u"tea", u"the", u"this", u"to", u"travel", u"work", u"write"]

可以看到我們一共有19個詞,所以4個文本都是19維的特征向量。而每一維的向量依次對應(yīng)了下面的19個詞。另外由于詞"I"在英文中是停用詞,不參加詞頻的統(tǒng)計。

由于大部分的文本都只會使用詞匯表中的很少一部分的詞,因此我們的詞向量中會有大量的0。也就是說詞向量是稀疏的。在實際應(yīng)用中一般使用稀疏矩陣來存儲。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/19793.html

相關(guān)文章

  • 自然語言處理——TF-IDF

    摘要:在自然語言處理詞袋模型與向量化中我們講到在文本挖掘的預(yù)處理中,向量化之后一般都伴隨著的處理,那么什么是,為什么一般我們要加這一步預(yù)處理呢這里就對的原理做一個總結(jié)。 TF-IDF 在自然語言處理——詞袋模型與向量化中我們講到在文本挖掘的預(yù)處理中,向量化之后一般都伴隨著TF-IDF的處理,那么什么是TF-IDF,為什么一般我們要加這一步預(yù)處理呢?這里就對TF-IDF的原理做一個總結(jié)。 文本...

    zhaochunqi 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<