為什麼 N gram 模型需要開始和結束標籤?

時間 2021-05-30 00:12:08

1樓:TniL

這個細節雖然稀鬆平常,不過也是值得思考的。我先拋磚引玉說下我的淺見。

我們都知道概率是定義在事件集上的,和這兩個符號就是用來建模開始和結束的事件的:

1.的加入不是必需的

舉個簡單的例子,Bi-gram模型對乙個長度為 的句子的概率作了以下近似

如果對每個句子開頭加入乙個開始符號 ,那麼

這樣相當於加入了乙個dummy變數,使得Bi-gram可以直接寫成連乘的形式

實際上這個符號即使刪去,N-gram還是可以實現的。

2. 的加入是必需的,它使得N-gram系統中所有的句子的概率和為1(成為乙個真正的分布)

在任何乙個句子中,開始位置都是固定的,但是結束的位置有很多可能,因此需要用符號來建模這個結束事件。如果沒有結束符號,考慮所有長度為1的句子由Bi-gram模型給出的「概率」之和

這是由概率的公理給出的。而我們需要的語言模型應該滿足所有句子的概率之和為1。

上述問題就是由於缺少結束事件的建模,考慮引入結束符號 ,這樣,所有長度為1的句子的Bi-gram概率和

這是因為

當然,還要說明為何加入結束符號 後,所有句子由Bi-gram給出的概率和為1,這依然由 式給出,即

將 帶入 並展開就可以知道,所有句子長度的句子中、所有位置上取任意詞的概率加起來等於1,也就是說所有句子由Bi-gram給出的概率和為1。

P.S. 其實不怎麼需要考究是否嚴格滿足概率分布,簡單來講,如果沒有結束標籤,那麼N-gram系統根本沒法區分乙個長度為m的句子和乙個長度大於m的句子中的前m個詞。

總結一下,N-gram模型裡面開始標籤是可以省略的,但是結束標籤是至關重要的。

* 本文中的標註中, 表示「第乙個詞是 、第二個詞是 、...、第m個詞是 的概率」,為保證沒有歧義,表示第k個詞是 的條件下,第k+1個詞是結束符, 類似。

為什麼現在推薦系統喜歡用雙塔模型?雙塔模型相較於單塔有什麼優缺點?

dragonfly 假定雙塔是user和item雙塔,一般這種結構多用在召回 粗排這種因為待打分item多導致效能跟不上的場景。這種雙塔導致了late fusion,cross feature無法使用等,會拉低模型效果。另乙個意義上的雙塔是指對bias資訊用單獨的tower建模,好處是更靈活更好的對...

剛剛入門玩模型,有什麼需要注意的?

不是很懂你們高達圈 但是在軍模圈裡,新手不用急著上色,先把素組搞好了,不然,上出來色瑕疵也太明顯 田宮那款金牌剪並不是很推薦,好像是雙切的剪鉗,如果新手直接貼著零件剪,切口很容易發白,影響最後的素組效果的。搞那種剪完了處理水口,打磨的話,對新手又過於繁瑣了,影響興趣 零件剪完了,粘合的時候還有問題需...

隨機效應模型和隨機係數模型的區別是什麼?

在面板資料模型中,假設對於個體 模型設定為 其中 衡量的我們稱之為 個體效應 這種 個體效應 是沒有辦法觀察到的。所以,只能做一些假設。假如,個體效應 與 相關,那麼就是固定效應模型 fixed effects 就需要用固定效應模型的方法來估計。如果假設 個體效應 與 無關,那麼就是隨機效應 Ran...