【正文】
cult for learners to discover the most appropriate materials according to keyword searching methods. The creation of the technology for personalized lifelong learning has been recognized as a Grand Challenge Problem by peak research bodies (Kay 2008). Therefore, remender systems have been used for elearning environments to remend useful materials to users. The first remender system was developed in the mid of 1990s (Felfernig et al. 2007). Many remendation systems in various fields such as movies, music, news, merce and medicine have been developed but few in education field (Drachsler et al. 2007). The Overview of the remendation strategies and techniques with their usefulness for material remendation have been presented in Table 1. We briefly survey some of important works and explain the drawbacks of them that can be addressed by our proposed approach.Content based filtering This technique suggests items similar to the ones that each user liked in the past taking into account the object content analysis that the user has evaluated in the past (Lops et al. 2011). As an example for elearning application, Khribi et al. ( 2009) used learners39。 Garc237。 Wang and Liao 2011), converting this area in an important receiver of applications and generating numerous research papers. Collaborative filtering was used by Soonthornphisaj et al. ( 2006) for prediction the most suitable materials for the learner. At first, the weight between all users and the active learner is calculated by Pearson correlation. Then, the n users that have the highest similarity to the active learner are selec。 Garc237。 Bobadilla et al. 2010). CF approaches used in elearning environments focus on the correlations among users having similar interests (Marlin 2004。elearning 。感謝全體本科同學,四年的朝夕相處,共同進步,感謝他們給予我的所有關(guān)心和幫助。在課題研究過程中,無論何時我有任何疑問,都能得到老師耐心的解答和幫助。山東科技大學以其優(yōu)良的學習風氣、嚴謹?shù)目蒲蟹諊涛仪髮W,以其博大包容的情懷胸襟、浪漫充實的校園生活育我成人。 Tuzhilin, A. (2005). Toward the next generation of remender systems: A survey of the stateoftheart and possible extensions. IEEE Transactions on Knowledge and Data Engineering, 17(6), 734–749.[5]Bobadilla, J., Serradilla, F., Hernando, A., amp。Isa NakhaiKamalabadiamp。畢業(yè)設計期間,指導教師認真嚴格的要求我們,我們因為是獨立的完成一個方案,需要老師的指導,我們認真的聽取老師的意見,同時也發(fā)表自己對方案的見解,這樣我們可以很好的交換意見,提出更好的完善方案。通過反復的修改以及老師的交流使自己設計思路變的更加清晰,慢慢的完善自己的設計方案。盡管路途十分艱辛,最終還是通過自己的摸索和老師的指導下從熟悉OJ系統(tǒng)完成了到對OJ系統(tǒng)的基礎上完善推薦等功能。一次優(yōu)秀的設計對啟發(fā)我們的思維,掌握設計的規(guī)范、流程、具體操作都很有幫助。此次畢業(yè)設計是我們從大學畢業(yè)生走向未來工作重要的一步。這樣無論前端如何變化,模型層只需很少的改動,并且數(shù)據(jù)庫的變化也不會對前端有所影響,大大提高了系統(tǒng)的可復用性。 SSH交互流程由SSH構(gòu)建系統(tǒng)的基本業(yè)務流程是:在表示層中,首先通過JSP頁面實現(xiàn)交互界面,負責傳送請求(Request)和接收響應(Response),然后Struts根據(jù)配置文件()將ActionServlet接收到的Request委派給相應的Action處理。:(1)開發(fā)工具IDE:Myeclipse Version: 本體開發(fā)工具:weka系統(tǒng)測試工具:谷歌瀏覽器 版本 (2)數(shù)據(jù)存儲關(guān)系數(shù)據(jù)庫:本體存儲:SCMap表 Student表習題存儲:SCMap表 Content表(3)SSH(Struts+Spring+Hibernate) 首先,SSH不是一個框架,而是多個框架(struts+spring+hibernate)的集成,是目前較流行的一種Web應用程序開源集成框架,用于構(gòu)建靈活、易于擴展的多層Web應用程序。系統(tǒng)會利用用戶的歷史習題記錄,分析判斷當前登錄用戶的行為,并且做出響應,反饋給用戶可能需要的題目,用戶可以從推薦模塊挑選滿足需求的題目。除此之外,基于規(guī)則的協(xié)同過濾使用Apriori算法。習題個性化推薦系統(tǒng)的信息來源主要指學生信息、習題信息以及學生成績信息的采集與處理。數(shù)據(jù)庫位于系統(tǒng)最底層,它存儲系統(tǒng)的所有數(shù)據(jù)。在這種情況之下,最終得到每個用戶下的候選題目,賦值給Student類下的scmList字段。以消費者在超市購買商品為例,如果把每一個消費者的一次購買看作一個事件, 考慮從商品X到商品Y的關(guān)聯(lián)規(guī)則,支持度是指在所有事件中同時購買商品X和商品Y的比例置信度則是在所有購買了商品X的事件中也購買商品Y的比例。假設我做了A題目,通過weka返回gruopB和A題目類似(gruop有10個題號)?;谏鲜龅那榫懊枋觯\行一次weka后的系統(tǒng)數(shù)據(jù)的更新(基于記憶的過濾的應用):假設我已經(jīng)知道了groupA和我做的題目相似(gruopA有10個人),系統(tǒng)接收來自weka返回的十個學號,通過對這10個學號的Student類進行搜索對應的SCMap記錄,從而找到候選題Contents1(待處理)。(用于建立用戶的序列模式分析樹);(3)該序列可以在協(xié)同過濾中根據(jù)余弦求之間的相似性?;贠J數(shù)據(jù)的個性化習題推薦系統(tǒng)的關(guān)鍵點在于利用學生用戶的歷史習題提交記錄,因此系統(tǒng)的核心在于怎樣可以整合學生的信息并且運用于系統(tǒng)算法之中。其次,對于沒有歷史習題記錄的新用戶,計算其屬于每個用戶群的概率。 (4)可視化層:實現(xiàn)數(shù)據(jù)可視化、挖掘過程可視化、挖掘結(jié)果可視化,給挖掘提供了良好的輔助工具,提高了挖掘效率。而從數(shù)據(jù)庫導入數(shù)據(jù)則必須要裝載 JDBC 驅(qū)動程序,并利用 SQL 選擇語句獲取實例。 在進行 WEKA 數(shù)據(jù)挖掘?qū)嶒炛?,首先應該來了解一下整個 WEKA 系統(tǒng)的數(shù)據(jù)挖掘過程。WEKA 是一套免費的提供學術(shù)許可、未與其它系統(tǒng)集成的、未漢化的通用軟件,作為數(shù)據(jù)挖掘?qū)W術(shù)界的典型代表,它有如下特點: (1)跨平臺,支持 Windows 與 Unix 等很多操作系統(tǒng); (2)支持結(jié)構(gòu)化文本文件、支持數(shù)據(jù)挖掘格式文件()、提供數(shù)據(jù)庫接口(JDBC); (3)可處理連續(xù)型、離散型(字符型、日期型)數(shù)據(jù); (4)提供空缺值處理、消除噪聲、標準化、數(shù)據(jù)離散化、屬性構(gòu)造、轉(zhuǎn)換變量、拆分數(shù)據(jù)、數(shù)據(jù)平衡、樣本排序、樣本洗牌、數(shù)據(jù)聚集、維歸約、值歸約、抽樣操作; (5)能完成預處理、分類、聚類、關(guān)聯(lián)、可視化等任務; (6)支持機器學習方法和神經(jīng)網(wǎng)絡方法; (7)提供算法組合、用戶算法嵌入、算法參數(shù)設置(基本、高級); (8)能生成基本報告、測試報告、輸出格式,實現(xiàn)模型解釋、模型比較、數(shù)據(jù)評分功能; (9)實現(xiàn)數(shù)據(jù)可視化、挖掘過程可視化及挖掘結(jié)果可視化(理解、評估)。因此基于關(guān)聯(lián)規(guī)則的推薦系統(tǒng)很少被應用于item的推薦體系。缺點在于計算量較大,但是可以離線計算,因此影響不大。置信度指包含某頻繁項目集的事務數(shù)和包含被推薦項目集的事務數(shù)的百分比。相比于Apriori算法,計算量較少,并且可以得出幾乎所有的頻繁項目集;但該算法實現(xiàn)起來要比Apriori復雜,并且FPGrowth需要將全部數(shù)據(jù)庫事務加載到內(nèi)存中,而Apriori雖然需要反復讀取數(shù)據(jù)庫事務,但是不需要全部載入內(nèi)存。目前關(guān)聯(lián)規(guī)則挖掘算法主要從Apriori[2]和FPGrowth兩個算法發(fā)展演變而來。圖 3 給出了一個例子,對于物品A,根據(jù)所有用戶的歷史偏好,喜歡物品 A的用戶都喜歡物品C,得出物品A和物品C比較相似,而用戶C喜歡物品A那么可以推斷出用戶C可能也喜歡物品C。計算上,就是將一個用戶對所有物品的偏好作為一個向量來計算用戶之間的相似度,找到 K 鄰居后,根據(jù)鄰居的相似度權(quán)重以及他們對物品的偏好,預測當前用戶沒有偏好的未涉及物品,計算得到一個排序的物品列表作為推薦。這里的隱含類別變量指定方法比較特殊,屬于硬指定,從k個類別中硬選出一個給樣例,而不是對每個類別賦予不同的概率。然后在其他參數(shù)確定的情況下,重新估計y,周而復始,直至收斂。但是調(diào)整完參數(shù)后,我們發(fā)現(xiàn)有更好的y可以指定,那么我們重新指定y,然后再計算P(x,y)最大時的參數(shù),反復迭代直至沒有更好的y可以指定。下面累述一下Kmeans與EM的關(guān)系,首先回到初始問題,我們目的是將樣本分成k個類,其實說白了就是求每個樣例x的隱含類別y,然后利用隱含類別將x歸類。當J遞減到最小時,和c也同時收斂。J函數(shù)表示每個樣本點到其質(zhì)心的距離平方和。質(zhì)心代表我們對屬于同一個類的樣本中心點的猜測,拿星團模型來解釋就是要將所有的星星聚成k個星團,首先隨機選取k個宇宙中的點(或者k個星星)作為k個星團的質(zhì)心,然后第一步對于每一個星星計算其到k個質(zhì)心中每一個的距離,然后選取距離最近的那個星團作為,這樣經(jīng)過第一步每一個星星都有了所屬的星團;第二步對于每一個星團,重新計算它的質(zhì)心(對里面所有的星星坐標求平均)。對于每一個類j,重新計算該類的質(zhì)心Kmeans算法是將樣本聚類成k個簇(cluster),具體算法描述如下: 隨機選取k個聚類質(zhì)心點(cluster centroids)為。如圖 1 中的 B,從點1出發(fā),計算相似度在 K內(nèi)的鄰居,得到點2,點3,點4和點7,這種方法計算出的鄰居的相似度程度比前一種優(yōu),尤其是對孤立點的處理。固定數(shù)量的鄰居:Kneighborhoods 或者 Fixsize neighborhoods不論鄰居的“遠近”,只取最近的K個,作為其鄰居。當用歐幾里德距離表示相似度,一般采用以下公式進行轉(zhuǎn)換:距離越小,相似度越大。進行的預處理后,根據(jù)不同應用的行為分析方法,可以選擇分組或者加權(quán)處理,之后我們可以得到一個用戶偏好的二維矩陣,一維是用戶列表,另一維是物品列表,值是用戶對物品的偏好,一般是 [0,1] 或者 [1, 1] 的浮點數(shù)值。減噪:用戶行為數(shù)據(jù)是用戶在使用應用過程中產(chǎn)生的,它可能存在大量的噪音和用戶的誤操作,我們可以通過經(jīng)典的數(shù)據(jù)挖掘算法過濾掉行為數(shù)據(jù)中的噪音,這樣可以是我們的分析更加精確。當然其中有一個核心的問題:①如何確定一個用戶是不是和你有相似的品位?②如何將鄰居們的喜好組織成一個排序的目錄?協(xié)同過濾相對于集體智慧而言,它從一定程度上保留了個體的特征,就是你的品位偏好,所以它更多可以作為個性化推薦的算法思想。協(xié)同過濾是利用集體智慧的一個典型方法。鑒于開源軟件Weka的強大功能和對Java應用程序的支持,我們采用Java作為開發(fā)語言,調(diào)用Weka程序返回的數(shù)據(jù)。因此,本文將在前人的基礎上,研究基于記憶的個性化推薦算法,在本系統(tǒng)中,包含兩個緯度:其一,基于用戶(學生)的協(xié)同過濾[4],其二,基于內(nèi)容(習題)的協(xié)同過濾,兩者都是利用學生用戶過去使用在線學習系統(tǒng)的歷史提交記錄,從而對學生進行習題個性化推薦。但具體到在線學習系統(tǒng)領(lǐng)域,系統(tǒng)本身包含的知識評測系統(tǒng)、以及知識表示系統(tǒng)決定了ITS中的個性化推薦模塊對知識的依賴多余對用戶學習行為的依賴。一個用戶喜歡物品的自相似度大,就說明他喜歡的東西都是比較相似的,只有在這種情況下,該方法才會具有較高的推薦效率。同時,這些時刻變化的來自各種數(shù)據(jù)源的數(shù)據(jù)有充滿了噪音,對這些數(shù)據(jù)的管