NLP--Doc2Bow簡介與實踐Demo(五)

NLP資料PDF鏈接

 

參考文章:https://blog.csdn.net/qq_16633405/article/details/80578804

總結文章參考:sklearn+gensim︱jieba分詞、詞袋doc2bow、TfidfVectorizer

Doc2Bow是Gensim中封裝的一個方法,主要用於實現Bow模型,下面主要介紹下Bow模型。

1、BoW模型原理
Bag-of-words model (BoW model) 最早出現在自然語言處理(Natural Language Processing)和信息檢索(Information Retrieval)領域.。該模型忽略掉文本的語法和語序等要素,將其僅僅看作是若干個詞彙的集合,文檔中每個單詞的出現都是獨立的。BoW使用一組無序的單詞(words)來表達一段文字或一個文檔.。近年來,BoW模型被廣泛應用於計算機視覺中。 
基於文本的BoW模型的一個簡單例子如下: 
首先給出兩個簡單的文本文檔如下:

    John likes to watch movies. Mary likes too.
    John also likes to watch football games.
1
2
基於上述兩個文檔中出現的單詞,構建如下一個詞典 (dictionary):

 {"John": 1, "likes": 2,"to": 3, "watch": 4, "movies": 5,"also": 6, "football": 7, "games": 8,"Mary": 9, "too": 10}
1
上面的詞典中包含10個單詞, 每個單詞有唯一的索引, 那麼每個文本我們可以使用一個10維的向量來表示。如下:

     [1, 2, 1, 1, 1, 0, 0, 0, 1, 1]
     [1, 1,1, 1, 0, 1, 1, 1, 0, 0]
1
2
該向量與原來文本中單詞出現的順序沒有關係,而是詞典中每個單詞在文本中出現的頻率。 
也是通過餘弦定理計算兩個句子的相似度。

2、實踐Demo

分之一:BOW詞袋模型
由doc2bow變爲詞袋,輸出的格式爲:

[[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1)], [(0, 1), (4, 1), (5, 1), (7, 1), (8, 1), (9, 2), (10, 1)], [(0, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (10, 1)]]
1
例如(9,2)這個元素代表第二篇文檔中id爲9的單詞“silver”出現了2次。
--------------------- 
作者:悟乙己 
來源:CSDN 
原文:https://blog.csdn.net/sinat_26917383/article/details/71436563 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章