文字表示模型中涉及的知識點整理(詞袋模型,TF-IDF,主題模型,詞嵌入模型)
1.詞袋模型(Bags of Words)
詞袋模型是最基礎的文字表示模型,就是把每一篇文章看成一袋子單詞,並忽略每個此出現的順序。具體就是將整段文字以詞為單位分開,每篇文章可以表示成一個長向量,向量中的每一維代表一個單詞,而該維對應的權重代表這個詞在文章中的重要程度。一般用TF-IDF計算權重,公式如下:
TF-IDF(t,d) = TF(t,d) x IDF(t)
其中TF(t,d)為單詞t在文件d中出現的頻率,IDF(t)為逆文件頻率,用來衡量單詞t對錶達語義所起的重要性,公式表示如下:
其中,m為文章總數,n為包含單詞t的文章總數
對於上述公式直觀的解釋:如果一個單詞在很多文章中出現,那麼它有可能是一個比較通用的單詞,對於區分某篇文章的特殊語義的貢獻較小,因此對權重作一定的懲罰。
2.N-gram模型
應用詞袋模型將文章進行單詞級別的劃分有的時候未必是一種好的做法,例如:將general purpose intelligence(通用智慧)一詞,如果將general , purpose, intelligence這三個詞拆開,所表達的意思與三個詞連在一起時大相徑庭。通常,可以將n個連續出現的單詞()組成的片語(N-gram)也作為一個單獨的特徵放到向量表示中去,構成N-gram模型。另外,同一個詞可能有多種詞性變化,但是卻有相似的含義。在實際應用中,,一般會對單詞進行詞幹抽取(Word Stemming)處理,即將不同詞性的單詞統一稱為同一詞幹的形式。
3.主題模型
主題模型用於從文字庫中發現有代表性的主題(得到每個主題上面詞的分佈特性),並能夠計算出每篇文章的主題分佈。
(這一塊在後面概率圖模型中再總結)
4.詞嵌入與深度學習模型
谷歌2013年提出的Word2vec就是詞嵌入模型之一,詞嵌入時將詞向量化的模型的通稱,其核心思想是將每個詞對映成低維-K維空間(通常K=50~300)的一個稠密向量(Dense Vector)。K維空間的每一維都可以看作一個隱含的主題,只不過不像主題模型中的主題那樣直觀。
詞嵌入將每個詞對映成K維向量,每篇文件假設有N個詞,則這篇文件就可以用N x K的矩陣表示,但是這樣的表示太底層化。在實際的應用中,如果將這個矩陣作為原文字的表示特徵輸入到機器學習模型中,很難達到令人滿意的結果。因此需要在在次基礎上加工出更高層的特徵。
在傳統的淺層機器學習模型中,一個好的特徵工程往往可以帶來演算法效果的顯著提升,而深度學習模型則可以為我們提供一種自動化地進行特徵工程地方式,模型中地每個隱層都可以認為對應著不同抽象層次地特徵。從這個角度來講,深度學習模型打敗淺層模型也就順理成章了。卷積神經網路和迴圈神經網路地結構在文字表示中取得了很好地效果,主要由於它們能夠更好地對文字進行建模,抽取一些高層的語義特徵。與全連結網路相比,卷積神經網路和迴圈神經網路一方面很好地抓住了文字的特性,另一方面又減少了網路中待學習的引數,提高了訓練的速度,降低了過擬合的風險。
相關推薦
機器學習筆記筆記之三——文字型別處理-詞袋法、TF-IDF理解
在面對文字型特徵時,大致可以分為兩種。 一是列舉型別,比如:男女,小學生初中生高中生大學生……這種型別下類別一般不會超過百種,那麼就可以使用 啞編碼(one-hot)來處理。 另一種就是真正意義上的文字,一條評論或是一篇文章。對於這樣的資
文字表示模型中涉及的知識點整理(詞袋模型,TF-IDF,主題模型,詞嵌入模型)
1.詞袋模型(Bags of Words) 詞袋模型是最基礎的文字表示模型,就是把每一篇文章看成一袋子單詞,並忽略每個此出現的順序。具體就是將整段文字以詞為單位分開,每篇文章可以表示成一個長向量,向量中的每一維代表一個單詞,而該維對應的權重代表這個詞在文章中的重要程度。
文字分析--關鍵詞獲取(jieba分詞器,TF-IDF模型)
關鍵詞獲取可以通過兩種方式來獲取: 1、在使用jieba分詞對文字進行處理之後,可以通過統計詞頻來獲取關鍵詞:jieba.analyse.extract_tags(news, to
backbone原始碼學習中的知識點整理(一)
一、self var root = (typeof self == 'object' && self.self
自然語言處理之Bag-of-words,TF-IDF模型
轉自:https://blog.csdn.net/m0_37744293/article/details/78881231 Bag-of-words,TF-IDF模型 Bag-of-words model (BoW model)忽略文字的語法和語序,用一組無序的單詞(words)來表達一段文
文字情感分析(一):基於詞袋模型(VSM和LSA)和n-gram的文字表示
現在自然語言處理用深度學習做的比較多,我還沒試過用傳統的監督學習方法做分類器,比如SVM、Xgboost、隨機森林,來訓練模型。因此,用Kaggle上經典的電影評論情感分析題,來學習如何用傳統機器學習方法解決分類問題。 通過這個情感分析的題目,我會整理做特徵工程、引數調優和模型融合的方法,這一系列會有四篇文
簡練網軟考知識點整理-項目招標投標中的法律責任
再次 暫停 需要 nag 執行 com 進行 shadow 考題 (1)據招投標法的規定,必須進行招標的項目而不招標的,將必須進行招標的項目化整為零或者以其他任何方式規避招標的,責令其限期改正,可以處項目合同金額千分之五以上千分之十以下的罰款;對全部或者部分使用國有
整理c#學習中的知識點
alt 其他 相同 bool 操作數 分享 知識 轉義符 else 首先作為一個小白,在短時間內學會C#是有一定難度的,我就最近學習的內容,梳理了一下知識點,日後回過頭來多看看多想想,我想這對自己的學習幫助很大,知識點如下: 1.轉義符 在代碼中書寫一個斜杠(\),用於改變
簡練軟考知識點整理-智慧城市參考模型
簡練軟考 項目管理 智慧城市 物聯網 國際電工委員會(IEC)對智慧城市的定義是:智慧城市是城市發展的新理念,是推動政府職能轉變、推進社會管理創新的新方法,目標是使得基礎設施更加智能、公共服務更加便捷、社會管理更加精細、生態環境更加宜居、產業體系更加優化。 物聯網在城市管理中綜合
Vue面試中,經常會被問到的面試題/Vue知識點整理
log 學習 ajax rom mount ams 特定 ren 原理 看看面試題,只是為了查漏補缺,看看自己那些方面還不懂。切記不要以為背了面試題,就萬事大吉了,最好是理解背後的原理,這樣面試的時候才能侃侃而談。不然,稍微有水平的面試官一看就能看出,是否有真才實學還是剛好
工作中涉及運維知識點的匯總
阿裏 常見 語句 空間 擴展名 因此 兩個 -h 臨時 對工作中常見運維知識點的一個簡單匯總 0)設置阿裏雲pip源,加速pip更新速度 mkdir ~/.pip #創建文件夾 vi ~/.pip/pip.conf #添加如下內容 [global]index-url=htt
知識點整理2:Java記憶體模型
原子性、記憶體可見性、重排序、順序一致性、volatile、鎖、final 一、原子性 原子性操作指相應的操作是單一不可分割的操作。例如,對int變數count執行count++d操作就不是原子性操作。因為count++實際上可以分解為3個操作:(1)讀取變數count的當前值
Java 知識點整理-10.Java集合框架 去除ArrayList中重複字串、自定義物件 棧和佇列 泛型 JDK5新特性 asList() toArray(T[] a) ArrayList迴圈巢狀
詳細標題:去除ArrayList中重複字串、自定義物件元素方式 棧和佇列 泛型 JDK5新特性(增強for迴圈 三種迭代(普通for、迭代器、增強for)中的元素能否刪除 靜態匯入 可變引數)Arrays工具類的asList() Collection中toArray(T[] a) 集合巢狀之Arra
Vue 面試中常問知識點整理
看看面試題,只是為了查漏補缺,看看自己那些方面還不懂。切記不要以為背了面試題,就萬事大吉了,最好是理解背後的原理,這樣面試的時候才能侃侃而談。不然,稍微有水平的面試官一看就能看出,是否有真才實學還是剛好背中了這道面試題。 (都是一些基礎的vue面試題,大神不用浪費時間往下看)
對文字抽取詞袋模型特徵
from sklearn.feature_extraction.text import CountVectorizer vec = CountVectorizer( analyzer='word',
迴環檢測中的詞袋模型(bag of words)
將會從以下四個方面進行展開 關於詞袋模型的基本理解 演算法簡介 開原始碼庫DBoW2庫的簡單介紹 關於DBoW的一些總結 關於詞袋模型的基本理解 BoW基本簡介 Bag of words模型最初被用在文字分類中,將文件表示成特徵向量。它的基本思想是假定對於一個文字,
文字相似度-詞袋模型
1、詞袋模型 將兩篇文字通過詞袋模型變為向量模型,通過計算向量的餘弦距離來計算兩個文字間的相似度。 詞袋模型的缺點: 詞袋模型最重要的是構造詞表,然後通過文字為詞表中的詞賦值,但詞袋模型嚴重缺乏相
自然語言處理中的詞袋模型
詞袋模型 from sklearn.feature_extraction.text import CountVectorizer import os import re import jieba.posseg as pseg # 載入停用詞表 stop_
自然語言處理(NLP) 三:詞袋模型 + 文字分類
1.詞袋模型 (BOW,bag of words) 用詞頻矩陣作為每個樣本的特徵 Are you curious about tokenization ? Let’s see how it works! we need to analyze a coupl
典型的Top K演算法 _找出一個數組裡面前K個最大數_找出1億個浮點數中最大的10000個_一個文字檔案,找出前10個經常出現的詞,但這次檔案比較長,說是上億行或十億行,總之無法一次讀入記憶體.
搜尋引擎會通過日誌檔案把使用者每次檢索使用的所有檢索串都記錄下來,每個查詢串的長度為1-255位元組。 假設目前有一千萬個記錄(這些查詢串的重複度比較高,雖然總數是1千萬,但如果除去重複後,不超過3百萬個。一個查詢串的重複度越高,說明查詢