• 沒有找到結果。

實驗工具與方法參考

第二章 文獻探討

第四節 實驗工具與方法參考

第四節 實驗工具與方法參考

(

) Standford CoreNLP

Stanford CoreNLP5為史丹佛大學的自然語言處理團隊所開發與維護的自然 語言工具包,其中包含可以分析句子文法結構的剖析器、各式專有名詞(可標示 如:人名、地點、組織、國家、時間)的標示器…等等。這些工具可以讓使用者透 過網站直接使用,也可以讓使用者下載後自行包裝在程式內,開發自己的文件解 析自動化系統。目前史丹佛大學提供可支援的程式語言包含Java、PHP、Python、

Ruby、C# …等。本研究中的句子擷取與詞性判定即是透過這套剖析器分析產生 的剖析樹來實作完成。

(二) 支持向量機

(Support Vector Machine)

支持向量機(Support Vector Machine,SVM)是由Cortes 和 Vapnik 於 1995 年 所提出的一種監督式機器學習方法,其主要目的為將資料透過定義好的特徵進行 分類,也可以應用於迴歸分析,屬於機器學習中的監督式學習,可應用於自然語 言判斷、圖像辨識、手寫文字辨識、生醫領域中蛋白質或疾病的分類等。

其訓練過程是將每筆資料都視作多維空間的點,透過選定的函數將這些點轉

5

Stanford CoreNLP https://stanfordnlp.github.io/CoreNLP/

換到特徵空間來進行分類,分類概念如圖2.4.1 所示,此圖假設資料分布在二維 空間,以形狀為方塊與圓圈做為區別的兩種類別資料透過超平面(黑色實線)分隔,

且超平面距離兩類資料為最大距離,w 為超平面的法向量,x 為樣本,b 為偏差 值。可選擇的函數有多種,如:核函數包括線性(Linear)、多項式(Polynomial)、

放射(Radial Basis Function, RBF)和 S 型(Sigmoid),這些同時也是本研究所使用的 SVM 工具,由台灣大學林智仁(Chih-Jen Lin)博士等人開發的 LIBSVM6 (Chang and Lin, 2011),內建所提供的函數。除了這幾種以外,使用者透過 LIBSVM 也可 以使用自行設計的函數進行分類。

圖2.4.1 支持向量機示意圖 圖片來源:石琢暐(2011)

6

LIBSVM https://www.csie.ntu.edu.tw/~cjlin/libsvm/

11

(三) 合成少數採樣技術

(Synthetic Minority Over-sampling Technique)

合成少數採樣技術(Synthetic Minority Over-sampling Technique, SMOTE7)是 由學者Chawla 於 2002 年提出,是一種處理 SVM 的訓練資料不平衡狀況時的一 種增加少量資料至平衡的方法。一般機器學習如果遇到資料不平衡可以採取的方 法有增加少數類別資料、減少多數類別資料、分群抽樣、調整錯誤分類成本,張 毓珊(2009)整理了幾種不平衡資料處理的基本做法,其中增加少數類別資料方法 的優點為可以避免失去有用的資訊,也是本研究所選用的方法。

圖 2.4.2 SMOTE 方法示意圖

圖片來源: https://stackoverflow.com/questions/19089913/

SMOTE 是以 SVM 的理論基礎進行增加少數類別資料至平衡的方法,為選

7

SMOTE: Synthetic Minority Over-sampling Technique

https://www.jair.org/media/953/live-953-2037-jair.pdf

定一個T 值為要增加的資料量和一個 k 值為進行 SMOTE 時要找的鄰近點數量,

在資料被視為多維的座標點的情況下,對每一筆資料找k 個鄰近點,並在鄰近點 和這筆資料間所形成的向量建立新的點。這些新增的資料因為是透過同類別的點 之間的向量新增,所以可以有效的控制在同類別的範圍內。如圖2.4.2 所示,其 中 𝑥#為基準點,設定一個 k (本圖的為 k 值 5),將少數資料樣本(Minority class samples)以每個點為基準,找 k 個鄰近點,並在基準點和所有鄰近點之間建立新 的樣本。圖中的範例是以 𝑥# 作為基準點, 𝑥$ 到 𝑥% 為與 𝑥# 相同類別且離 基準點最近的五個鄰近點,a、bcde 等五個點則為基準點分別與每個鄰近 點間建立的新樣本,這些新樣本在資料中的類別與基準點的類別相同。

圖2.4.3 為 SMOTE 應用範例,兩張圖使用相同的原始資料,其中有三種分 類的資料,分別為靠左邊的紫色資料、中間的綠色資料、靠右邊的黃色資料,圖 左為將SMOTE 演算法加入決策函數並進行分類的結果,其中的點為原始資料;

圖右為將原始資料透過SMOTE 增加少數分類樣本後新的整體資料內容。

圖 2.4.3 SMOTE 結果呈現示意圖 圖片來源: imbalanced-learn8

8

imbalanced-learn

http://contrib.scikit-learn.org/imbalanced-learn/stable/auto_examples/over-

sampling/plot_comparison_over_sampling.html#sphx-glr-auto-examples-over-sampling-plot-comparison-over-sampling-py

13