新聞中心
詞袋 - 英文為:Bag of Word(BoW) ,它是自然語言處理中的一個模型,基本上用于從文本中提取特征,以便文本可用于建模,以便在機器學習算法中使用。

十余年的南山網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。營銷型網站建設的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整南山建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯公司從事“南山網站設計”,“南山網站推廣”以來,每個客戶項目都認真落實執(zhí)行。
現在問題出現了,為什么我們需要從文本中提取特征。 這是因為機器學習算法不能處理原始數據,他們需要數字數據,以便可以從中提取有意義的信息。 將文本數據轉換為數字數據稱為特征提取或特征編碼。
它是怎么運行的 這是從文本中提取特征的非常簡單的方法。 假設我們有一個文本文檔,并且希望將其轉換為數字數據或者說想從中提取特征,那么首先這個模型從文檔中的所有單詞中提取詞匯。 然后通過使用文檔術語矩陣,它將建立一個模型。通過這種方式,BoW 僅將文件表示為一袋文字。 丟棄關于文檔中單詞的順序或結構的任何信息。
文檔術語矩陣的概念
BoW 算法通過使用文檔術語矩陣來建立模型。 顧名思義,文檔術語矩陣就是文檔中出現的各種字數的矩陣。 在這個矩陣的幫助下,文本文檔可以表示為各種單詞的加權組合。 通過設置閾值并選擇更有意義的單詞,我們可以構建文檔中可用作特征向量的所有單詞的直方圖。 以下是了解文檔術語矩陣概念的示例 -
示例
假設有以下兩個句子 -
- 句子1 - 正在使用詞袋模型。
- 句子2 - Bag of Words模型用于提取特征。
現在,通過考慮這兩句子,有以下13個不同的單詞 -
- we
- are
- using
- the
- bag
- of
- words
- model
- is
- used
- for
- extracting
- features
現在,我們需要使用每個句子中的單詞計數為每個句子建立一個直方圖 -
- 子句1 ? [1,1,1,1,1,1,1,1,0,0,0,0,0]
- 子句2 ? [0,0,0,1,1,1,1,1,1,1,1,1,1]
這樣,就得到了已經提取的特征向量。每個特征向量都是 13 維的,因為這里有 13 個不同的單詞。
統計概念
統計學的概念稱為 TermFrequency-Inverse Document Frequency(tf-idf)。 每個單詞在文檔中都很重要。 統計數據有助于我們理解每個詞的重要性。
術語頻率(tf) 這是衡量每個單詞出現在文檔中的頻率。 它可以通過將每個詞的計數除以給定文檔中的詞的總數來獲得。
逆文檔頻率(idf) 這是衡量在給定的文檔集中這個文檔有多獨特的一個單詞。要計算 idf 和制定一個特征向量,我們需要減少像這樣的常見詞的權重,并權衡稀有詞。
在NLTK中建立一個詞袋模型
在本節(jié)中,我們將使用 CountVectorizer 從這些句子中創(chuàng)建矢量來定義字符串集合。
導入必要的軟件包 -
from sklearn.feature_extraction.text import CountVectorizer現在定義一組句子。
Sentences = ['We are using the Bag of Word model', 'Bag of Word model is
used for extracting the features.']
vectorizer_count = CountVectorizer()
features_text = vectorizer.fit_transform(Sentences).todense()
print(vectorizer.vocabulary_)上述程序生成如下所示的輸出。它表明在上述兩句話中有13個不同的單詞 -
{'we': 11, 'are': 0, 'using': 10, 'the': 8, 'bag': 1, 'of': 7,
'word': 12, 'model': 6, 'is': 5, 'used': 9, 'for': 4, 'extracting': 2, 'features': 3}這些是可以用于機器學習的特征向量(文本到數字形式)。
網頁題目:創(chuàng)新互聯AI教程:AI人工智能詞袋(BOW)模型
本文地址:http://m.fisionsoft.com.cn/article/cdpoioe.html


咨詢
建站咨詢
