摘 要:本文結(jié)合對原始樸素貝葉斯分類器原理的分析,論述智能助理軟件的設計過程中,所需推薦算法與其之間存在的差異性。并針對在校園收集和整合信息的特點和所需推薦方式,對原始樸素貝葉斯文本分類器算法加以修改。將得到的校園信息智能推薦算法實現(xiàn)在智能助理軟件中。經(jīng)測試,算法具有較好的準確性。
關鍵詞:樸素貝葉斯分類器;校園信息提示;智能推薦算法
中圖分類號:TP181 文獻標識碼:A
1 引言(Introduction)
隨著知識社會的到來及“互聯(lián)網(wǎng)+”行動計劃的制定,互聯(lián)網(wǎng)上的海量數(shù)據(jù)逐漸被有效地收集和整合。國內(nèi)的一些互聯(lián)網(wǎng)企業(yè)在針對用戶的個性化服務上進行了探索,如豆瓣網(wǎng)提供了推薦書籍、音樂等服務,百度旅游在假期提供推薦旅游路線,自動匹配低價機票和酒店等服務。這些創(chuàng)新取得了很好的效果,大大提高了企業(yè)的競爭力。目前的智能個人助理軟件都沒有針對特定群體進行優(yōu)化,而是面向所有用戶進行開發(fā)。這樣的軟件涉及的信息過于分散,缺乏解決實際問題的能力。此外,由于樸素貝葉斯方法在預測和分類中被廣泛應用,如在預測項目交付率[1]、互聯(lián)網(wǎng)流量分類[2]、云檢測和估計算法[3]等。因此本文提出了針對校園實時信息進行推薦的基于樸素貝葉斯方法的智能推薦算法研究。
2 樸素貝葉斯分類器(Naive Bayes classifier)
2.1 樸素貝葉斯分類器概述
貝葉斯學習方法中的樸素貝葉斯學習器,常被稱為樸素貝葉斯分類器。在某些領域其性能可與神經(jīng)網(wǎng)絡和決策樹學習能力相當[4]。分類問題一直是機器學習、模式分類和數(shù)據(jù)挖掘的核心問題[5]。
貝葉斯方法的新實例分類目標是在給定描述實例的屬性值
其中,VNB表示樸素貝葉斯分類器輸出的目標值。
2.2 樸素貝葉斯分類器分析
假設給定了如下表1所示的訓練樣本數(shù)據(jù),學習的目標是根據(jù)給定天氣的結(jié)果判斷是否打網(wǎng)球。
樣本數(shù)據(jù)集提供了14個訓練樣本,使用此表的數(shù)據(jù),并以樸素貝葉斯分類器來分類下面的新實例:(Outlook=sunny,Temperature=cool,Humidity=high,Wind=strong)對于新實例預測目PlayTennis的目標值(Yes或No),由上面的公式可以得到:
其他數(shù)據(jù)同理代入后得到:
故應分類到no中。
3 校園信息智能推薦算法(Campus recommendation
algorithm)
3.1 算法說明
與上述例子有所區(qū)別,在校園信息智能推薦算法中,所面對情況中的新實例的屬性值范圍不是僅限于數(shù)據(jù)庫中記錄,而是所有可能的輸入值。在新實例中可能存在記錄中沒有涉及到的屬性值。算法需要根據(jù)新實例與數(shù)據(jù)記錄的匹配程度推測新實例的目標值,將其所對應關鍵字返回,將新實例記錄于數(shù)據(jù)庫中,以此來達到對新實例學習的目的。
給定了如表2所示的訓練樣本數(shù)據(jù),學習的目標是以當前的時間節(jié)點為條件,根據(jù)用戶歷史查詢記錄,推測客戶當前可能最需要獲取的信息,即返回通過算法計算得出的概率值最大的記錄所對應的關鍵字(時間僅以上下午進行分類)。
3.2 算法的過程
如圖1程序框圖所示,通過二層循環(huán)依次計算每條記錄與其他記錄匹配程度的概率值并保存概率最高的一組記錄。最后,將保存的記錄關鍵字返回。算法包含二層循環(huán),時間復雜度為O(n2)。
3.3 算法測試
算法測試所采用的數(shù)據(jù)庫為MySQL,通過Android客戶端在特定時間進行相應內(nèi)容的查詢,由Java Web端的Servlet將數(shù)據(jù)記錄在服務器中,即生成如圖2所示的數(shù)據(jù)表。
當數(shù)據(jù)庫完成對基礎數(shù)據(jù)的收集后,用戶再通過客戶端要求推薦信息時,算法會根據(jù)以上信息進行計算,分析數(shù)據(jù)表記錄。將得出關鍵字返回,查詢相應關鍵字,得到所需信息,結(jié)果和表2計算結(jié)果一致,如圖3所示。
4 結(jié)論(Conclusion)
本文闡述了原始樸素貝葉斯分類器的基本原理,給出了對其進行變換后的形式化定義。在此基礎上,進一步對基于此理論的校園信息智能推薦算法進行描述,給出了算法的過程、時間復雜度,并將算法實際應用于基于JavaWeb服務器的項目中,得到測試結(jié)果。測試結(jié)果與計算結(jié)果一致,達到了預期目的,能夠返回所期望數(shù)據(jù)。
參考文獻(References)
[1] Stewart,B.Predicting Project Delivery Rates Using the Naive-Bayes Classifier[J].Journal of Software Maintenance and Evolution Research and Practice,2002,14(3):161-79.
[2] Jun Zhang,Chao Chen.Internet Traffic Classification by Aggregating Correlated Naive Bayes Predictions[J].IEEE Transactions on Information Forensics and Security,2013,8(1):5-15.
[3] Islam,T.CLOUDET:a Cloud Detection and Estimation Algorithm for Passive Microwave Imagers and Sounders Aided by NaiveBayes Classifier and Multilayer Perceptron[J].IEEE Journal of Selected Topics In Applied Earth Observations And Remote Sensing,2015,8(9):296-301.
[4] Tom M.Mitchell.Machine Learning[M].The McGraw-Hill Companies,Inc.1997.
[5] LI Xu-Sheng,GU0 Yao-Huang.Extended Tree Augmented Naive Bayesian Classifier[J].Pattern Recognition and Artificial Intelligence,2006,19(4):470-474.
[6] Zhong Hong-rui,Zhang Yong,Yu Jing-wen.Data Classification On Naive Bayes In Cloud Computing Environment[J].Computer Applications and Software,2005,32(3):28-30.
[7] Yazdami,M.Artificial intelligence:Principles and Applications[M].Chapman and Hall,Ltd.,New York,NY,1995(1):1.
[8] Langley P,Iba W,Thompson K.An Analysis of Bayesian Classifiers[J].In:Proc of the 10th National Conference on Artificial Intelligence.San Jose,USA;AAAI Press,1992:223-228.
[9] Thomas G.Dietterieh.Ensemble Methods in Machine Learning
[C]. Lecture Notes in Computer Science,2000.
[10] Phinecos.Text Classification Algorithm Based on Naive Bayes Classifier(http://phinecos.cnblogs.com/2008,10,21).
作者簡介:
賈志鵬(1994-),男,本科生.研究領域:機器學習.