• 沒有找到結果。

領域關鍵字學習機制(Domain-Keyword Learning Mechanism)

3.1 第一階段:分析案例資訊及特徴蒐集

3.1.3 領域關鍵字學習機制(Domain-Keyword Learning Mechanism)

我們在看一篇文章的時候,可以由內容知道其中的意義,並且可以和其他文 章做比較,了解文章所要表達之概念;但是對於電腦而言,它並無法像人類一樣 去看一篇文章並且知道意義,所以我們必須要用一些方法去讓電腦去模擬人類

「看」的動作,我們所選擇的方法是將文章數值化,因為數值化之後才可以讓電 腦做類似的動作。

就像人類一樣,若是我們看過了許多文章之後,便可以得到某類文章的特 徵,我們也想模擬這種動作,所以我們會先將許多的文章丟給電腦來當做訓練,

並且找到一些特徵,例如對於某個領域的文章,常常都會出現一些的關鍵字,那 麼若是下次在新的文章中,我們也找到類似的關鍵字,那我們也就可以說哪篇新 文章也可能是屬於該領域的。

基於上述想法,我們訂出一個領域關鍵字學習機制(Domain-keyword learning mechanism),讓電腦可以學習出某特定領域(Domain)該有的關鍵字(Keyword)/特

徵(Feature)。在領域關鍵字學習機制中,首要決定的是什麼可以用來表達文件或

領域的「特徵」?關鍵字為表示一份文件內容最簡單的方式,而透過關鍵字詞庫

的使用能限定其範圍在一些較為重要的關鍵字上。但是如何挑選適當且具代表性 的關鍵字,一直是文件分群(Document clustering)、資訊擷取(Information retrieval) 和特徵挑選(Feature selection)等領域的重點研究方向。在本研究中,我們利用機 器學習(Machine learning)技術,學習各領域(Domain)中具代表性的關鍵字,接著 將所獲得的關鍵字作簡單的整理,即可歸納出關鍵字與領域的關係對照表,很容

表(Weighted table),建立此權重值表總共分作三個階段;首先,利用學習階段

(Training Phase)先 建 立 了 基 礎 的 權 重 值 表 , 然 後 利 用 鑑 別 度 調 整 階 段

(Discrimination Phase)調整關鍵字的鑑別能力,最後根據未來新輸入的文章利用

微調階段(Tuning Phase)來做微調動作;以期自動學習產生新的關鍵字權重值,且

章都有計算關鍵字的個數,然後以亂度(Entropy)的方式來做為該關鍵字在該 領域所得到的權重值;然後在經過正規化(Normalize)即可得到該領域的分 佈。公式如下:

WeightiDj KweightiDj* Ni

Relation 中 為 0.6 ( (Current Count)/Σ(Count)=180/(180+120) )。 然 後 是 Weight,計算方法是計算亂度(Entropy)的方法,例如Relation中為354.74(-Σ 文 件 的 count log( 文 件 的 count/Current Count) )=-(50*log(50/180)+

50*log(50/180)+ 50*log(50/180)+ 30*log(30/180)))。%*Weight是將%*Weight 得值計算出來。Normalize是將(%*Weight)的數值縮放到[0,1]的範圍內。

2. 鑑別度調整階段(Discrimination Phase):在學習階段時是區域性觀察

(local view),也就是針對各個領域分別蒐集計算關鍵字的權重值,但在學習

階段完成時,整體性觀察(Global view)卻發現有些關鍵字在每個領域的權重 值都差不多,如此在分群時是較不具鑑別力(Discrimination Power)的關鍵 字,我們稱之為「贅字」,於是為了提高分群時的與檢索時的準確度,我們

Keyword 資料庫領域 DM 領域 作業系統領域 文書處理領域 美工排版領域 Database 1 0.9 0 0 0 Data 0.4 0.3 0.1 0.3 0.2

DBMS 0.5 0.2 0 0 0 Mining 0.2 0.4 0 0 0 Clustering 0 0.4 0 0 0

Step1:先將各個Vector Normalize成總和為1

V

database

=

[1/1.9, 0.9/1.9, 0/1.9, 0/1.9, 0/1.9] = [0.53, 0.47, 0, 0, 0]

V

data

=

[0.31, 0.23, 0.08, 0.23, 0.15]

V

DBMS

=

[0.72, 0.28, 0, 0, 0]

V

Mining

=

[0.33, 0.67, 0, 0, 0]

V

Clustering

=

[0, 1, 0, 0, 0]

Step2:求出各Keyword Vector的gini index value

P

database= 0.53*0.53+0.47*0.47+0*0+0*0+0*0=0.5018

P

data

=

0.2308

P

DBMS

=

0.5968

P

Mining

=

0.5578

P

Clustering

=

1

Step3:新的Keyword Vector = 原Vector * 其gini index value

V’

database=[0.53*0.5018, 0.47*0.5018, 0*0.5018, 0*0.5018, 0*0.5018]=[0.27, 0.23, 0, 0, 0]

V’

data=[0.07, 0.05, 0.02, 0.05, 0.03]

V’

DBMS=[0.43, 0.17, 0, 0, 0]

V’

Mining=[0.18, 0.37, 0, 0, 0]

V’

Clustering=[0, 1, 0, 0, 0]

結果如下:

Keyword 資料庫領域 DM 領域 作業系統領域 文書處理領域 美工排版領域 Database 0.27 0.23 0 0 0

Data 0.07 0.05 0.02 0.05 0.03 DBMS 0.43 0.17 0 0 0 Mining 0.18 0.37 0 0 0 Clustering 0 1 0 0 0

2. 微調階段(Tuning Phase):當有一篇新文章輸入之後,我們依然可以先

計算該文章的關鍵字分佈,將每一個關鍵字在每一個領域的分佈紀錄下來 (若是在學習階段中沒有出現就視為0),然後計算該文章在每一個領域中的 值,算法是以每一個關鍵字的(次數)*(在每個領域中的值)做總合,然後再 除以總次數(所有關鍵字的次數總合),來當做這一篇文章的向量值。然後 對於每一個出現在文章中的關鍵字做修正,修正的方法是將((本來的 vector*N)+(後來的算出的vector))/(N+1)來做為新的vector

舉例如下: 出來的權重值表中的值,公式為Vnew=(Vold*N+Vd*1)/(N+1),其中 N為學 習階段時的文件數目加上已微調過的文章數。所以新向量為:

(50*[1,0.9]+1*[0.4366,0.34])/51=[0.99,0.89]

X. Training

Y. Discrimination Z.Tuning

圖六:三階段示意圖