iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 6
0

Classifictaion

昨天提到的情感分析器,其運作方式大致上可以用這張圖表示

https://ithelp.ithome.com.tw/upload/images/20171224/20107448QohgYJHuWq.jpg

在得到輸入後經過分類最後輸出正類/負類兩種輸出結果

當然該分類模型不單單只能輸出二元的模型

Examples of classification tasks

還有非常多領域已經實際上應用到這個演算法的

https://ithelp.ithome.com.tw/upload/images/20171224/20107448wNZHJ4UDeQ.png

  • 醫療診斷除了倚靠顯而易見的體溫、X光、抽血外,現在可以加上DNA序列甚至生活習性來透過分類器診療
  • 在影像辨識上透過分類可以更精確是測出狗的品種
  • 過濾垃圾郵件,事實上20世紀初的郵件過濾都是手動加上特徵,所以垃圾郵件製作人,也試圖改變某些字眼被過濾掉,它不單單只考慮文字上的特徵,也考慮了發信者的IP位置,發信人是否跟你是熟識的...
  • 分類過濾出找出你感興趣的網頁

最酷的還有他已經可以讀懂你的想法了,有一種稱為FMRI的技術,他獲得你大腦的影像,掃描你的大腦,預測你在閱讀什麼文字(此圖以Hammer與House),甚至在它分類理解之後,當你看著Hammer或House時,它也能判斷你現在望著何者

Linear classifiers

Linear classifiers 是最常見的分類器,那其classifiers mode是如何運作的呢?

在情感分析當中,想像一下一個簡單的狀況,我們有一個簡單的Threshold classifiers,分析我們的句子

input = '涼麵過譽,服務品質普通,味增湯好喝,溫泉蛋不錯吃'
List of positive words = ['不錯','好','棒','讚','驚豔','...']
List of negative words = ['普通','差','難吃','屎','過譽','...']

count positive & negative words in input:
    List of positive words in inptu:
        positive ++
    List of negative words in input:
        negative ++

if number of positive words >  number of negative words:
    ŷ = +
else:
    ŷ = -

這時候就會碰到一些問題了

-字詞該從那裏取得?
-字詞該怎麼分配權重?(好、棒、讚,那一個好?難吃、屎、過譽,那一個壞?)
-單一個字詞沒辦法分類,像是好吃跟不好吃,其實差了一個字,但評價完全是相反的

第三個問題比較困難,會留到後面在解決

我們來看看在Linear classifiers,是怎麼運作的

它會將每一個word加入權值,並且排除無關的字詞

Word Weight
驚豔 2.5
1.5
讚、棒 1
不錯 0.5
普通 -1
-2.1
過譽 -3
難吃 -3.5
-5
其他詞語 0.0
input = '涼麵過譽,服務品質普通,味增湯好喝,溫泉蛋不錯吃'

socre(x) = (-3) + (-1) + (1.5) + (0.5) = -2

if score(x) > 0
    ŷ = +
esle score(x) <= 0
    ŷ = -

後記

這門課還是有一些Python的作業,但為了不耽誤發文的時程,所以我的打算是每天我還是會持續聽課,然後更新筆記

作業的部分利用周末六日來寫,所以作業的章節會跟上課的筆記不連貫

如果造成閱讀不便請見諒:D

Reference:


上一篇
[day 4] 分類-1
下一篇
[day 6] 分類-3
系列文
到底是在learning什麼拉30

尚未有邦友留言

立即登入留言