黃俊義
(閩南師范大學科研處,福建 漳州 363000)
經(jīng)過多年建設,我國農(nóng)業(yè)科技化水平顯著提升,已經(jīng)進入了農(nóng)業(yè)強國的新階段。農(nóng)業(yè)作為國民經(jīng)濟發(fā)展的基礎性產(chǎn)業(yè),對于國家社會經(jīng)濟穩(wěn)定發(fā)展具有壓艙石作用。隨著農(nóng)業(yè)供給側(cè)結(jié)構(gòu)改革的持續(xù)推進,農(nóng)民對農(nóng)業(yè)科學技術的需求不斷上漲。然而我國目前的農(nóng)業(yè)科技化仍然處于較低的水平。缺乏專業(yè)的農(nóng)業(yè)科技信息服務網(wǎng)站,許多農(nóng)民主要通過搜索引擎搜索農(nóng)業(yè)技術信息,不僅搜索速度慢,還查詢不到精準的農(nóng)業(yè)技術信息。為了有效解決這個問題,促進我國農(nóng)業(yè)的科技化水平。十三五農(nóng)業(yè)發(fā)展規(guī)劃指出,要持續(xù)深入推進農(nóng)業(yè)現(xiàn)代化,不斷完善農(nóng)業(yè)信息收集與農(nóng)業(yè)服務體系。有鑒于此,此次研究在構(gòu)建農(nóng)業(yè)科技推廣算法模型的基礎上,設計了農(nóng)業(yè)科技推廣服務系統(tǒng),該系統(tǒng)能夠根據(jù)農(nóng)戶偏好為其提供精準的農(nóng)業(yè)科技信息,對于農(nóng)業(yè)科技推廣與農(nóng)業(yè)現(xiàn)代化水平提升意義重大。
農(nóng)業(yè)信息文本涵蓋較多的數(shù)據(jù)信息,需要對其進行預處理,包括信息向量化轉(zhuǎn)變與特征值提取等,為后面進行相似度計算、聚類分析以及語義分析奠定基礎。聚類分析前需要進行文本信息相似度計算,相似度計算用到的計算方法為向量空間模型(VSM),VSM的分類效果好,可以提高聚類的效果和質(zhì)量。聚類分析主要用K-means算法與BIRCH算法,前者的魯棒性較好,可以有效解決數(shù)據(jù)干擾,后者可以通過特征數(shù)約減以提升算法聚類判斷的準確性。在對農(nóng)業(yè)科技信息聚類的基礎上,對農(nóng)業(yè)文本信息進行語義分析,同時量化農(nóng)戶的農(nóng)業(yè)信息傾向性,提高系統(tǒng)對農(nóng)業(yè)技術偏好判斷的準確性。最常用的語義分析技術主要有兩種,分別是情感詞典技術、機器學習技術。由于農(nóng)業(yè)科技信息具有情感傾向性,故這里采用情感詞典技術對農(nóng)業(yè)科技信息進行語義分析。農(nóng)業(yè)科技信息語義分析的基礎算法為情感極性統(tǒng)計算法,該算法可通過HowNet情感詞典構(gòu)建農(nóng)業(yè)科技信息評論的極性詞典,構(gòu)建的極性詞典如圖1所示。
圖1 農(nóng)業(yè)科技信息極性詞典體系
由圖1可知,農(nóng)業(yè)科技信息評論極性詞典主要由三部分組成,即評價極性詞典、程度級別詞典與否定詞典。評價詞一般能夠反映農(nóng)戶對此科技的內(nèi)在感受,為了量化農(nóng)戶對農(nóng)業(yè)科技的情感傾向,將情感傾向詞分為褒貶兩大類,褒義用“﹢”標記,貶義用“﹣”標記,按照褒貶程度傾向詞分為五個等級,分別為,其中的代表褒貶邊界傾向詞。通常情況下評價修飾詞也能較為精確地反映農(nóng)戶對農(nóng)業(yè)科技的心理看法,為了提高語義分析的精度,研究中根據(jù)HowNet原則,將程度副詞分為兩大類,一類為情感加強型,一類為情感減弱型,前者用“﹢”標記,后者用“﹣”標記。情感加強型包括“比較”,“越來越”等具有強烈情感傾向的詞語,以0為初始值,按照加強程度,值依次加0.5,例如(較好,0.5),(好,1),(非常,1.5),情感減弱型則涉及“稍微”、有點”等具有弱程度情感傾向的詞語,詞語設分方法同加強類。否定詞典按照否定程度分為兩類,即強否定與弱否定,否定詞統(tǒng)一用“﹣”標記,以0為初始值,按照否定程度,值依次加0.5,例如(未必,-0.5),(不,-1),(絕不,-1.5)。評價詞打分以詞典設計原則為根據(jù),對存在爭議的詞語,則依據(jù)平均值打分。
為了檢驗該語義分析的有效性,便于設計農(nóng)業(yè)科技推廣服務系統(tǒng),研究對此模型進行了測試。實驗數(shù)據(jù)為1.3萬條農(nóng)業(yè)技術評價。每條評價數(shù)據(jù)包含用戶信息、農(nóng)業(yè)技術信息、星級分數(shù)、評價內(nèi)容以及評論時間。結(jié)合上述設計的語義分析極性詞典與農(nóng)業(yè)技術權(quán)重信息,對技術評價信息進行打分,實際評分為星級得分,預測得分則用均方根誤差與絕對誤差均值進行衡量。語義分析性能測試的對比模型為普通協(xié)同過濾算法。均方根誤差(RMES)的計算模型如公式(1)所示。
(1)
絕對誤差均值(MAE)的計算模型如公式(2)所示。
(2)
(1)、(2)式中的rua表示u用戶對a科技的實際評分值,rua′表示u用戶對a科技的預測評分,EP表示一個數(shù)據(jù)測試集。利用SlopeOne算法與上述設計的語義分析算法分別對農(nóng)業(yè)科技信息進行評分。相關計算之后,得到了SlopeOne算法與語義分析的評分預測結(jié)果,詳細情況見圖2。
圖2 農(nóng)業(yè)科技信息評分預測誤差分布
SlopeOne算法為協(xié)同過濾的基礎算法,通過項目評分差異值進而對評分進行預測。通過圖2可知,SlopeOne算法評分預測的絕對誤差均值為0.9433,均方根誤差為1.1714。語義分析評分預測的絕對誤差均值為0.9278,均方根誤差為1.1812。由此可知,雖然此次研究設計的語義分析評分預測具有較大的均方根誤差,總體穩(wěn)定性較差,但是平均誤差較小,說明其預測結(jié)果較精確。故綜合看來,該語義分析模型準確率較高,可應用于推廣服務系統(tǒng)的評分預測中。
農(nóng)業(yè)科技推廣服務系統(tǒng)的主要功能是為農(nóng)戶推薦前沿農(nóng)業(yè)技術,以提高農(nóng)業(yè)現(xiàn)代化水平。該系統(tǒng)以語義分析技術為依托,給農(nóng)戶推薦的都是評價較高,性能較好,符合用戶需求的農(nóng)業(yè)技術。在詳細分析系統(tǒng)需求之后,結(jié)合系統(tǒng)目的,可將農(nóng)業(yè)科技推廣服務系統(tǒng)分為7個模塊,分別是用戶注冊、用戶登錄、用戶信息管理、農(nóng)業(yè)科技信息查詢、農(nóng)業(yè)科技信息管理、推薦結(jié)果展示以及推薦反饋。用戶注冊模塊的主要功能是實現(xiàn)農(nóng)戶賬號注冊;登錄模塊可以實現(xiàn)用戶登錄、密碼修改以及密碼找回功能。用戶管理模塊與農(nóng)業(yè)科技信息管理模塊是系統(tǒng)管理員的權(quán)限,通過用戶管理模塊可以增刪改用戶信息,通過農(nóng)業(yè)科技信息管理模塊可以增刪改農(nóng)業(yè)科技信息。農(nóng)業(yè)科技信息查詢模塊只要是實現(xiàn)系統(tǒng)與用戶之間的交互,用戶向系統(tǒng)提出農(nóng)業(yè)技術信息查詢請求,系統(tǒng)將結(jié)果反饋給用戶。推薦結(jié)果展示模塊也是管理員的權(quán)限,管理員進入系統(tǒng),系統(tǒng)通過相似度計算、特征提取等操作,為目標用戶匹配個性化的農(nóng)業(yè)技術,管理員再將此結(jié)果反饋給用戶。推薦反饋模塊的主要使用者為系統(tǒng)用戶,此處多為農(nóng)戶,農(nóng)戶通過此模塊可以對推薦技術進行評論打分。
基于語義分析的農(nóng)業(yè)科技推廣服務系統(tǒng)設計的核心為用戶相似度計算,相似度計算方法為向量空間模型,計算數(shù)據(jù)源為用戶評價,詳細的計算流程如后概述。首先獲取最近鄰居集,即針對目標項目尋找臨近項目,將搜尋到的臨近項目按一定規(guī)則進行排列。接著計算臨近項目的相似度,假定技術u1,u2之間的相似度為sim(uT,u1),同時滿足sim(uT,u1)>sim(uT,u2)>...>sim(uT,un),其中各技術之間的相似度為sim(ua,ub),對應的計算模型如公式(3)所示。
(3)
公式(3)中的Ixy表示兩技術間的共同評分特征集,其中兩農(nóng)業(yè)技術對特征i的評分依次用rxi,ryi表示,兩農(nóng)用技術全部特征均分為rx,ry。完成相似度計算后,利用協(xié)同過濾算法完成系統(tǒng)推薦模塊的建設,為了避免錯誤評價和無效評價,系統(tǒng)增加了擴展評分功能,即用戶可以修改評價。擴展評分可以提高評價準確性,從而提升推薦效果,基于語義分析的推薦建模流程如圖3所示。
圖3 農(nóng)業(yè)科技推廣服務系統(tǒng)的推薦模型
農(nóng)業(yè)科技推廣服務系統(tǒng)的表示層分別由管理頁面、推薦展示頁面以及瀏覽器端組成,表示層的主要功能為用戶交互。由于管理員與用戶具備不同的權(quán)限,因此交互類型主要有兩種,分別為系統(tǒng)與普通用戶間的交互、系統(tǒng)與管理員間的交互。業(yè)務層是系統(tǒng)的核心層,主要功能是實現(xiàn)農(nóng)業(yè)技術的個性化推薦。當接收到上層指令后,立馬進行指令數(shù)據(jù)操作,并將對應的結(jié)果返回至表示層。數(shù)據(jù)層的主要功能是實現(xiàn)系統(tǒng)間的數(shù)據(jù)交互,并存儲讀取系統(tǒng)數(shù)據(jù)。當業(yè)務層需要調(diào)用數(shù)據(jù)時,數(shù)據(jù)層及時響應,將數(shù)據(jù)傳輸至業(yè)務層,是系統(tǒng)數(shù)據(jù)的供應者與管理者。農(nóng)業(yè)科技推廣服務系統(tǒng)的三層結(jié)構(gòu)如圖4所示。
圖4 農(nóng)業(yè)科技推廣服務系統(tǒng)的體系結(jié)構(gòu)
完成系統(tǒng)三層結(jié)構(gòu)設計以后,需要對農(nóng)業(yè)科技推廣服務系統(tǒng)的數(shù)據(jù)庫進行設計。按照權(quán)限劃分,系統(tǒng)數(shù)據(jù)庫共設計有3張表,分別是用戶信息表、農(nóng)業(yè)技術信息表以及用戶評分表,整體E-R模型見圖5。用戶信息表的主要數(shù)據(jù)類型為字符型與整數(shù)型,其中字符型的字段有用戶編號、用戶姓名、用戶類型、用戶職業(yè)與聯(lián)系地址等,數(shù)據(jù)型的字段只有用戶年齡,各字段均不為空。
圖5 農(nóng)業(yè)科技推廣服務系統(tǒng)的E-R圖
農(nóng)業(yè)技術信息表只有一種數(shù)據(jù)類型,即字符型。一共有5個字段,分別是行業(yè)范圍、技術名字、技術性質(zhì)、技術簡介以及技術編號,這5個字段均不允許為空值。用戶評分表也只有字符型一種數(shù)據(jù)類型,共由4個字段組成,即用戶真實評分、技術編號、用戶編號與用戶預測評分,用戶真實評分與用戶預測評分的字符長度均設置為5,用戶編號與技術編號的字符長度設置為10,各字段均不允許為空值。
為了驗證農(nóng)業(yè)科技推廣服務系統(tǒng)的適用性,現(xiàn)對其進行模塊實現(xiàn)與性能測試。使用的編程語言為Java,開發(fā)工具為Eclipse,后臺數(shù)據(jù)庫運用SQL Serever2008。完成環(huán)境搭建后,運行該系統(tǒng),檢測系統(tǒng)的核心功能。系統(tǒng)的核心功能為農(nóng)業(yè)技術信息展示、農(nóng)業(yè)技術信息管理、農(nóng)業(yè)技術推薦以及推薦反饋,故此次的功能模塊實現(xiàn)主要從這幾方面展開。農(nóng)業(yè)技術信息展示與農(nóng)業(yè)技術信息管理的功能實現(xiàn)效果如圖6所示。
圖6 農(nóng)業(yè)技術信息展示與管理界面
由圖6可知,農(nóng)業(yè)信息展示模塊既可以實現(xiàn)技術搜索,也可以實現(xiàn)技術發(fā)布,用戶通過技術搜索框,實現(xiàn)前沿農(nóng)業(yè)技術的搜索,搜索出來的技術信息包括類型、行業(yè)領域、發(fā)布時間以及評估狀態(tài)。農(nóng)業(yè)技術信息管理模塊可以實現(xiàn)技術信息的增加、刪除、查看以及修改等功能,各技術信息按照時間順序進行排列,時間越早的技術信息所排頁面越靠前。農(nóng)業(yè)技術推薦與推薦效果反饋的功能實現(xiàn)效果如圖7所示。
圖7 農(nóng)業(yè)技術推薦與推薦反饋界面
從圖6可看出,農(nóng)業(yè)技術推薦模塊不僅可以為用戶推薦個性化的的前沿農(nóng)業(yè)技術,還可以為用戶展示相關的技術,從而啟發(fā)用戶的知識聯(lián)想性。在推薦反饋頁面上,用戶可以對系統(tǒng)推薦技術進行評論并打分,為其他技術需求者提供決策參考。整體看來,該系統(tǒng)的核心功能模塊實現(xiàn)效果較好,幾乎能夠滿足農(nóng)業(yè)用戶相關需求,具有較高的實際應用性。完成系統(tǒng)核心功能檢測以后,對其進行性能測試,性能度量指標為召回率、絕對誤差均值準確率以及覆蓋率。測試數(shù)據(jù)為隨機篩選的150名用戶對3500條農(nóng)業(yè)技術的評論與評分,將評論數(shù)據(jù)的80%劃分為訓練數(shù)據(jù)集,20%劃分為測試數(shù)據(jù)集,性能測試的實驗組為基于語義分析的農(nóng)業(yè)科技推廣服務系統(tǒng),對照組為基于傳統(tǒng)協(xié)同過濾算法的農(nóng)業(yè)科技推廣服務系統(tǒng),對比測試結(jié)果如圖8所示。
圖8 系統(tǒng)性能測試結(jié)果
通過圖8可以看出,此次設計的農(nóng)業(yè)科技推廣服務系統(tǒng)召回率為13.25%,覆蓋率為20.76%,絕對誤差均值準確率為25.47%;而基于傳統(tǒng)協(xié)同過濾算法的科技推廣服務系統(tǒng)召回率為6.22%,覆蓋率為2.63%,絕對誤差均值準確率為12.76%。對比兩組結(jié)果可知,此設計系統(tǒng)的三項性能指標都明顯優(yōu)于傳統(tǒng)系統(tǒng),基本上符合農(nóng)業(yè)用戶需求,整體推廣服務效果較好。
為了提升農(nóng)業(yè)科技化水平,本次研究結(jié)合K-means算法與BIRCH算法,構(gòu)建了基于HowNet的農(nóng)業(yè)科技推廣服務系統(tǒng)語義分析模型,該模型能夠根據(jù)用戶評論,精準判斷用戶對農(nóng)業(yè)技術的情感傾向,為農(nóng)業(yè)科技推廣服務系統(tǒng)設計與實現(xiàn)奠定基礎。農(nóng)業(yè)科技推廣服務系統(tǒng)設計分別從功能需求、相似度計算、體系結(jié)構(gòu)搭建與數(shù)據(jù)庫設計四方面展開。為了驗證該系統(tǒng)的有效性,分別從核心功能實現(xiàn)與性能測試兩個角度對該系統(tǒng)進行了檢驗。檢驗結(jié)果表明該系統(tǒng)核心功能實現(xiàn)度高,能夠滿足農(nóng)業(yè)用戶的相關需求。另外性能測試結(jié)果顯示,該農(nóng)業(yè)科技推廣服務系統(tǒng)的絕對誤差均值準確率與覆蓋率分別為25.47%與20.76%,皆達到了較高的水平。而傳統(tǒng)農(nóng)業(yè)科技推廣服務系統(tǒng)除了絕對誤差均值準確率較高以外,其余性能測試指標均較低,僅為6.23%與2.64%。綜合可知,該設計系統(tǒng)不僅核心功能實現(xiàn)效果好,且整體性能較高。盡管此次研究可以為農(nóng)業(yè)科技推廣提供一定的參考意義,但是實驗中存在測試樣本較小,實驗精度不夠高的問題。