王祥翔,方 薈, 2,陳崇成
(1. 福州大學(xué)福建省空間信息工程研究中心,數(shù)據(jù)挖掘與信息共享教育部重點實驗室,福建 福州 350116; 2. 閩江學(xué)院福建省信息處理與智能控制重點實驗室,福建 福州 350108)
隨著旅游業(yè)的不斷發(fā)展,文化旅游因其蘊含的廣博知識、悠遠體驗和濃厚關(guān)懷獲得了各國旅游者的青睞[1]. 望路者文化旅游服務(wù)網(wǎng)[2]是根據(jù)文化專題對旅游資源進行分類,然而我國景點數(shù)目達到幾萬個,景點描述文本都以非結(jié)構(gòu)化的形式存在,以人工的方式對景點描述文本進行分類,需要耗費大量的時間,而且存在主觀的誤差. 因此,實現(xiàn)景點描述文本按照文化專題自動分類,是亟待解決的問題.
文本分類技術(shù)是文本信息挖掘領(lǐng)域中的基礎(chǔ)技術(shù)之一,主要流程為: 文本預(yù)處理(分詞,去停用詞,語料庫選擇)、文本表示、特征選擇、特征賦值、分類器設(shè)計、分類結(jié)果評估等[3]. 典型的文本分類算法有K近鄰(K-nearest neighbor, KNN)[4]、最大熵模型[5]、支持向量機(support vector machine, SVM)[6]、樸素貝葉斯(naive Bayes, NB)等[7]. 李鋒剛等[8]結(jié)合LDA主題模型和SVM分類算法,提出一種LDA-wSVM分類算法模型. 利用LDA進行特征選擇,并設(shè)計了一種新的權(quán)重計算方法,該模型在搜狗實驗室的新聞文本集上取得較好的效果. 文獻[9]提出一種基于聚類的改進 KNN 算法,采用改進 χ2 統(tǒng)計量方法進行文本特征提取,先使用聚類方法將文本集聚類成幾個簇,之后采用改進的 KNN 方法對簇類進行文本分類. 在旅游文本方面,現(xiàn)有的工作大多集中于旅游數(shù)據(jù)挖掘[10-12],目前尚無景點描述文本分類的研究. 本研究根據(jù)文化旅游景點描述文本信息特點,首先構(gòu)建文化專題關(guān)鍵詞庫,采用向量空間模型(vector space model, VSM)將景點描述文本轉(zhuǎn)換為向量,通過信息增益進行詞匯特征的選擇,利用詞頻-逆文檔頻率(term frequency -inverse document frequency, TF-IDF)進行權(quán)重計算,并根據(jù)文化專題關(guān)鍵詞庫更新文化專題詞匯的權(quán)重,最終構(gòu)建樸素貝葉斯分類模型.
圖1 景點描述文本分類過程Fig.1 Scenic spot texts classification process
景點描述文本分類主要分為兩個過程: 訓(xùn)練過程和測試過程. 訓(xùn)練過程的主要目標是根據(jù)已有的訓(xùn)練數(shù)據(jù)獲得文本分類器. 主要步驟為: a)對景點描述文本進行預(yù)處理,去除景點描述文本中的HTML標簽,對景點描述文本進行自動分詞,并去除停用詞; b)通過對相關(guān)的文化專題文本進行詞頻分析,人工選取文化專題關(guān)鍵詞匯,并構(gòu)建文化專題關(guān)鍵詞庫; c)使用VSM表示景點描述文本; d)通過信息增益法進行特征選擇; e)以TF-IDF值為權(quán)重對詞匯特征進行賦值,并根據(jù)文化專題關(guān)鍵詞庫更改權(quán)值; f)采用樸素貝葉斯算法進行景點描述文本的分類. 測試過程的數(shù)據(jù)經(jīng)過同樣的處理,根據(jù)訓(xùn)練過程的特征進行特征過濾. 最后利用訓(xùn)練得到分類器對文本進行分類. 景點描述文本分類的處理過程如圖1所示.
在文本分類過程中,文本預(yù)處理是指去除文本中包含的HTML標簽、數(shù)字、標點符號和停用詞等對分類器產(chǎn)生影響的標記和詞匯. 一般在分類過程中,語料庫的文檔不包含文檔的標題,但是在景點描述文本中,旅游景點的名稱含有專題特征比較明顯的詞匯(如景點名稱中包含“舊址”,“紀念碑”,則這個景點就很有可能屬于紅色文化景點),因此在語料庫的構(gòu)建過程中,將景點的名稱納入景點描述文本,從而增加重點詞匯對分類的影響. 預(yù)處理過程主要步驟為: a)利用python編寫正則表達式,過濾HTML標簽批; b)引入開源分詞工具結(jié)巴分詞(jieba)工具包進行分詞; c)使用百度和哈工大停用詞表過濾停用詞.
景點描述文本中常包含人物、事件、地名等文化專題信息(如圖2所示),這些文化專題詞匯是分類過程中的重要特征. 本研究根據(jù)不同文化專題的百度百科數(shù)據(jù)以及相應(yīng)的專題網(wǎng)站文本數(shù)據(jù)進行詞頻分析,人工選取了文化專題關(guān)鍵詞庫. 表1列舉了部分文化專題關(guān)鍵詞.
圖2 景點描述文本Fig.2 Scenic spot texts
項目紅色文化客家文化閩南文化生態(tài)文化專題詞庫革命、 紀念、 烈士、 舊址、 紀念館、 紅軍、 毛澤東、 抗日、 中共、 紀念碑、 共產(chǎn)黨、 根據(jù)地、 工農(nóng)、 新四軍、 長征、 朱德、 革命戰(zhàn)爭、 紅四軍、 土地革命、 周恩來、 陳毅、 鄧小平、 解放戰(zhàn)爭、 游擊、 解放軍客家、 土樓、 永定、 長汀、 堂、 廊、 對聯(lián)、 閩西、 樓群、 門樓、 家祠、 古村落、 客家人、 拱門閩南、 厝、 南靖、 漳州、 泉州、 臺灣、 廈門、 技藝、 木雕、 華僑、 浮雕、 閩臺、 歌仔、 僑胞、 石雕生態(tài)、 自然、 休閑、 風(fēng)景、 度假、 森林、 公園、 觀光、 天然、 山水、 景觀、 峽谷
特征選擇的目標是從原始的特征集合中選擇最具代表性的特征子集. 在文本分類領(lǐng)域特征選擇方法主要有三類,嵌入式特征選擇(embed)、融合式特征選擇(wrapper)和過濾式特征選擇(filtering)[13]. 過濾式特征選擇方法由于具有操作簡單,計算成本低、分類效果好等特點,在文本分類領(lǐng)域得到廣泛的應(yīng)用. 常見的特征選擇算法[14]有: 文檔頻率(document frequency,DF)、互信息(mutual information,MI)、χ2統(tǒng)計量(chi-square,CHI)、期望交叉熵(expected cross entropy,ECE)、文本證據(jù)權(quán)(weight of evidence for text,WET)和信息增益(information gain,IG)等. 文獻[15]通過實驗得出信息增益是目前最好的特征選擇算法之一. 信息增益是度量特征能給分類系統(tǒng)帶來多少信息,帶來的信息越多,則該特征越重要. 信息增益以熵為理論基礎(chǔ),熵在信息論中是指不確定性的度量,對于任意一個隨機變量X,它有n種可能值,它的信息熵定義如下.
(1)
在Y確定后,X的信息熵定義為:
(2)
在文本分類過程中,特征w的信息增益值為特征w在Y類中出現(xiàn)與不出現(xiàn)帶來的信息量,定義為:
IG(w)=H(Y)-H(Y|w)
(3)
通過計算特征詞的信息增益值,將特征詞按信息增益值進行排序,本研究共選取5 000個特征詞.
選取特征值之后,通過TF-IDF計算所有詞匯的權(quán)重. 在特定的文檔中,詞頻(term frequency,TF)是指某一給定詞匯在該文檔中出現(xiàn)的頻率. TFi, j定義為:
(4)
上式中ni, j表示特定詞匯出現(xiàn)的次數(shù),分母則表示文檔中所有詞匯出現(xiàn)的次數(shù)之和. 逆向文件頻率(inverse document frequency,IDF)是一個詞語普遍重要性的度量. 定義為:
(5)
其中: |D|表示語料庫中文檔的總數(shù),|{j:ti∈dj}|表示包含詞語ti的文檔數(shù)目. 則TF-IDF定義為:
TFIDFi, j=TFi, j×IDFi
(6)
本研究根據(jù)特征詞是否包含文化專題詞庫中的詞匯調(diào)整特征權(quán)重. 假設(shè)文化專題關(guān)鍵詞集合為:U={ui|i=1, 2, …,n},經(jīng)過特征選擇后的特征子集S={si|i=1, 2, …,m},其中m=5 000,景點描述文本的詞匯TF-IDF鍵值(key:value)對集合T={ti:vi|i=1, 2, …,q}權(quán)重的計算規(guī)則如下
Fori=1, 2, …m
IFsi∈ T.keys
IFsi∈ U
TFIDFi=T.get(si)+0.2
ELSE
TFIDFi= T.get(si)
ELSE
TFIDFi=0
分別采用不同的權(quán)重更改規(guī)則對景點描述文本進行訓(xùn)練,結(jié)果顯示當(dāng)權(quán)重增加0.2時,測試效果最好. 通過對特征權(quán)重的調(diào)整能夠突出文化專題關(guān)鍵詞匯在分類過程中的作用,進而提高分類的準確度.
貝葉斯網(wǎng)絡(luò)是從一系列帶有類別標記的樣本實例中學(xué)習(xí)得到的分類器,對于一個給定實例X,由特征向量〈a1,a2, …,an〉表示,貝葉斯網(wǎng)絡(luò)使用以下的方程進行分類:
c(x)=arg maxP(c)P(a1,a2, …,am|C)
(7)
其中:C是可能的類別c的集合,c(x)是貝葉斯網(wǎng)絡(luò)分類器預(yù)測x的類別. 對已知類別,假設(shè)所有屬性條件相互獨立,基于屬性條件獨立性假設(shè)貝葉斯網(wǎng)絡(luò)分類器被稱作樸素貝葉斯分類器. 樸素貝葉斯算法是貝葉斯網(wǎng)絡(luò)分類器的最簡單的形式,是分類領(lǐng)域應(yīng)用最廣泛的算法之一[16],樸素貝葉斯分類器的表達式為:
(8)
前面提到的概率P(c)和條件概率P(ai|c)可以通過以下等式計算:
(9)
(10)
其中:n是訓(xùn)練的實例總數(shù);l是類別總數(shù);ni是第i個屬性的可能的取值數(shù);cj是第j個實例的類別;aji是第j個實例的第i個屬性;δ(·)是一個二元函數(shù),如果兩個參數(shù)值相同,則函數(shù)值為1,否則為0.
實驗是在CPU為Intel(R)Core(TM) i7-6700 3.40 GHz、內(nèi)存為16 GB、操作系統(tǒng)為 Windows 10企業(yè)版的 PC 機上運行. 算法基于PyCharm軟件平臺,python的版本為2.7. 選用scikit-learn作為樸素貝葉斯分類器的訓(xùn)練環(huán)境實現(xiàn).
望路者文化旅游服務(wù)網(wǎng)現(xiàn)有旅游景點8 730個,涉及紅色文化、生態(tài)文化、建筑文化、宗教文化、名
表2 景點描述文本測試數(shù)據(jù)
人文化等幾十個文化專題. 本研究以望路者文化旅游服務(wù)網(wǎng)上的景點描述文本與對應(yīng)的分類信息為實驗數(shù)據(jù). 選取語料庫中的四個分類節(jié)點,分別為紅色文化、客家文化、閩南文化和生態(tài)文化四大主題類. 隨機不重復(fù)選取訓(xùn)練樣本,測試樣本,如表2所示.
文本分類算法的評價指標主要有3種,分別是準確率P、召回率R和F1值. 其公式為
(11)
(12)
(13)
其中:sr是指分類正確的文本數(shù)量;sa是指實際分類的文本數(shù)量;so是指屬于該類別的文本數(shù)量;F1值由準確率P和召回率R計算獲得.
在獲取語料庫的基礎(chǔ)上,本研究采用Scikit-Learn進行實驗,并使用Scikit-Learn中的Grid Search選取最優(yōu)參數(shù). 首先選用支持向量機、KNN、決策樹(DT)、邏輯回歸(LR)、樸素貝葉斯(NB)幾種常用的文本分類算法分別測試,其中,SVM設(shè)定參數(shù)C=100,核函數(shù)為線性核函數(shù),KNN設(shè)定參數(shù)K=3,LR正則化項采用L1范數(shù),樸素貝葉斯的拉普拉斯平滑參數(shù)alpha =1.0. 結(jié)果如表3所示.
表3 景點描述文本分類測試結(jié)果
由表3得出,SVM和樸素貝葉斯分類算法的準確率較高,分別達到了90.42%和91.07%. SVM和樸素貝葉斯算法明顯比KNN、決策樹、邏輯回歸分類效果理想. 而且KNN還要考慮K值的選取問題. SVM和樸素貝葉斯分類算法的準確率相近,但SVM需要的訓(xùn)練時間較長.
表4 權(quán)重賦值方法比較
其次,針對樸素貝葉斯算法,對改變權(quán)重規(guī)則前后的算法進行測試,將改變規(guī)則后的樸素貝葉斯算法命名為NB2,結(jié)果如表4所示.
由表4得出,改變權(quán)重賦值規(guī)則后,樸素貝葉斯算法的分類準確率、召回率和F1值都有一定的提高,分別達到了92.06%,87.88%和89.68%,說明文化專題關(guān)鍵詞匯對于文化旅游文本分類有一定的影響,這也驗證了本研究提出的權(quán)重計算方法的有效性.
最后,繪制了幾種算法在不同類別下比較實驗對比圖,如圖3所示.
圖3 6種算法在不同類別下實驗對比Fig.3 Experimental comparison of six algorithms under different types
由圖3可知: 分類算法對紅色文化和生態(tài)文化的準確率、召回率和F1值較高,分類效果比較好. 而對于閩南文化和客家文化的分類效果比較一般. 改變權(quán)重賦值規(guī)則后紅色文化的準確率、召回率和F1值提高比較明顯. 在文化專題關(guān)鍵詞庫中,紅色文化的專題詞匯大多是關(guān)于紅色文化人物和事件,對比其它文化專題的關(guān)鍵詞匯可以發(fā)現(xiàn),紅色文化景點描述文本的詞語特征非常明顯,而閩南文化、客家文化和生態(tài)文化的一些關(guān)鍵詞匯特征性不夠強,例如,“門樓”、“家祠”等詞匯在閩南文化和客家文化景點描述文本中都有出現(xiàn),這些詞匯不能很好區(qū)分不同的文化類別,所以改進權(quán)重賦值規(guī)則后,準確率沒有明顯的提高.
本研究構(gòu)建了一種基于樸素貝葉斯的旅游文本分類模型,基于不同文化專題的特點,構(gòu)建文化專題關(guān)鍵詞庫,采用VSM模型將景點描述文本表示成向量,通過信息增益進行詞語特征選擇,根據(jù)文化專題詞庫調(diào)整權(quán)重賦值,能夠使相關(guān)度較高的特征在分類過程中起到更重要的作用. 通過實驗對比了SVM、KNN、DT、LR、NB和NB2算法,實驗結(jié)果表明,樸素貝葉斯分類算法的效果優(yōu)于其它算法,改進特征權(quán)重賦值后,樸素貝葉斯的分類精度提高了約1%. 最后分析了6種不同的分類模型在不同文化專題的分類效果,其中,紅色文化和生態(tài)文化分類的準確率較高. 通過上述的分類技術(shù),按照不同的文化專題劃分景點,為文化專題景點資源庫的建設(shè)和文化專題旅游產(chǎn)品的設(shè)計提供便利,促進文化旅游的發(fā)展.