iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
AI & Data

文理組人都能上手的入門 NLP(自然語言處理)系列 第 24

[Day 23] 機器學習好朋友:驚不驚喜?意不意外?-資訊熵(Entropy)與NLP

  • 分享至 

  • xImage
  •  

  大家午安~講了那麼多天模型訓練,想必大家應該都有點膩了吧?今天就來點不一樣的(其實是為了明天鋪路)。在之前的文章裡面,我們提到很多計算詞頻的方法跟變體,但是也說過這樣的計算發法有它的限制性在,所以今天要介紹一個比較進階,應用也更廣泛的常用特徵的算法。
  首先請大家想像一個情境:下課的時候大家在教室裡面玩得很開心,然後老師走進來了,你會怎麼想?應該就是「阿要上課了」吧,內心沒有一點波瀾。好啦可能會有點遺憾下課時間這麼快就結束了。但如果今天換個情況,走進來的不是老師而是校長呢?你心裡一定會出現十萬個為什麼吧。「校長為什麼會來?天要下紅雨了嗎?」
  這是一個很適合用來說明資訊熵(entropy)到底是什麼的情境,因為在訊息理論(Information Theory)裡面,entropy所代表的是訊息所帶有的平均資訊量。一個訊息能帶給我們越大的資訊量,較代表他的資訊熵越大,所以在上面的例子裡面,我們可以認定校長的entropy比老師大很多。因為老師的到來對我們來說不會帶來多少資訊。也就是說,我們可以把entropy視為資料帶來的驚喜程度,或者說無法預測性。把這個道理套用到NLP裡面的話,當一個單位的文本裡面包含比較多type的時候,我們比較難預測下個會出現的字是什麼,所以驚喜度比較高,他的平均資訊量比較高,所以熵也比較大。如果你覺得還是很抽象難解,可以看看下面的例子:
https://ithelp.ithome.com.tw/upload/images/20221008/20151687e2ObRaYW1s.png

  通常資訊量越大的東西,我們會需要問越多問題去完全釐清他,同樣的道理也適用在entropy的計算上面。假設一個語言裡面只有A, B, C三個字母,而我們現在拿到上面三個訊息並且想知道知道其中一個可能是什麼的時候會需要問幾個問題才能回答呢?因為第一個訊息因為全部都是A,所以沒什麼好問的一定是A;第二個訊息則是需要我們問過「他是A嗎?」這個問題才能得到回答;最後一個訊息,如果「他是A嗎?」得到的答案是「否」,我們就需要再問「他是B嗎?」才能確定答案。所以第一個訊息不需要任何問題就是確認答案,第二個訊息需要一個問題來確認答案,第三個訊息需要兩個問題來確認。可以得出entropy的大小是A<B<C。

  現在大家應該都大概理解資訊熵的原理了,我們要進入公式計算的部分。下面是entropy的公式:
https://ithelp.ithome.com.tw/upload/images/20221008/20151687h586suIwHv.png

  看了這個公式,可能有人想問為什麼計算資訊量的時候需要加上一個負號,這是因為entropy的概念來自於物理當中的熱力學,原本是用來表示物體混亂程度的單位,對能量轉換來說是沒有用的東西。但是這用在資訊理論中反而是在指涉文字帶有的資訊量,是一個正向有用的東西,所以幫他加上負號表示跟原來的不同。也是因為這樣,為了區別資訊熵跟物理學上的差異,在使用英文的時候,我們通常會加上提出這個概念的人的名字,稱呼它為Shannon Entropy。

  那麼Shannon Entropy在NLP領域中有什麼樣的應用呢?以語言學來說,因為它計算的是字詞所帶有的資訊量,所以我們也可以把它用來當作一篇文章的詞彙豐富程度指標。再更進階應用像是Shannon Entropy的變體-相對熵(KL Divergence)因為是可以用來計算兩個分布之間擬合程度的指標,所以也常常被用來作文本比對,而交叉熵(cross entropy)則是可以用來計算模型跟正確答案之間的誤差程度,用來評估模型表現的指標之一。

  那麼關於Shannon Entropy的介紹就到這邊告一個段落,以後有機會再針對KL Divergence跟cross entropy做說明,現在大家只要先理解Shannon Entropy的改念就行。而且明天要介紹的決策樹跟隨機森林會運用到Shannon Entropy,所以多理解一點比較有幫助喔~明天見!


上一篇
[Day 22] 機器學習好朋友:到底誰是模型的真朋友?- 特徵重要性(Feature Importance)
下一篇
[Day 24] 監督式機器學習模型:不需要100分也可以騎上獨角獸-決策樹(Decision Tree)與隨機森林(Random Forest)
系列文
文理組人都能上手的入門 NLP(自然語言處理)31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言