基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法及系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法及系統(tǒng),方法包括:對(duì)所有操作行為進(jìn)行采集并儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù);根據(jù)行為數(shù)據(jù),對(duì)其進(jìn)行處理并識(shí)別出對(duì)應(yīng)的活動(dòng)結(jié)果,得到活動(dòng)數(shù)據(jù);將識(shí)別得到的活動(dòng)數(shù)據(jù)進(jìn)行處理并以可視化的方式進(jìn)行呈現(xiàn)。系統(tǒng)包括:數(shù)據(jù)采集單元、識(shí)別處理單元和數(shù)據(jù)呈現(xiàn)單元。本發(fā)明通過(guò)建立活動(dòng)識(shí)別模型能從動(dòng)作日志中自動(dòng)識(shí)別用戶(hù)活動(dòng),并且有良好擴(kuò)展性,允許使用者添加邏輯規(guī)則,而且采用規(guī)則挖掘算法從訓(xùn)練樣本集中挖掘出強(qiáng)關(guān)聯(lián)規(guī)則作為邏輯規(guī)則,有效解決了解決動(dòng)作與在線活動(dòng)的對(duì)應(yīng)關(guān)系的不確定性,大大提高識(shí)別的準(zhǔn)確性。本發(fā)明可廣泛應(yīng)用于計(jì)算機(jī)領(lǐng)域中。
【專(zhuān)利說(shuō)明】
基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí) 別方法及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,智能手機(jī)、智能手表等智能設(shè)備越來(lái)越普及,人類(lèi)的 活動(dòng)越來(lái)越多的在線上發(fā)生。用戶(hù)與在線系統(tǒng)的交互操作記錄的形勢(shì)被記錄下來(lái)。如何從 用戶(hù)在線系統(tǒng)記錄的動(dòng)作數(shù)據(jù)中識(shí)別出背后的活動(dòng),對(duì)提高網(wǎng)站的點(diǎn)擊率、提供個(gè)性化服 務(wù)等有非常大的幫助,特別是智能家居、醫(yī)療監(jiān)護(hù)、電子商務(wù)等研究領(lǐng)域。
[0003] 活動(dòng)識(shí)別的目的是對(duì)計(jì)算機(jī)記錄的用戶(hù)動(dòng)作記錄進(jìn)行分析,從而識(shí)別出用戶(hù)當(dāng)前 正在進(jìn)行的活動(dòng)。動(dòng)作記錄反映的是用戶(hù)的一個(gè)操作片段,例如網(wǎng)站記錄的一條用戶(hù)打開(kāi) 某個(gè)URL的日志,而用戶(hù)背后正在進(jìn)行的活動(dòng)是比較不同產(chǎn)品價(jià)格,或者是評(píng)估產(chǎn)品性能。
[0004] 而在線活動(dòng)具有高度的復(fù)雜性和多樣性,具體來(lái)說(shuō)有下面的幾個(gè)挑戰(zhàn):
[0005] 1、動(dòng)作與在線活動(dòng)的對(duì)應(yīng)關(guān)系的不確定性,一個(gè)在線活動(dòng)能產(chǎn)生多個(gè)被記錄下來(lái) 的動(dòng)作,而不同的活動(dòng)可能觸發(fā)同樣的動(dòng)作。
[0006] 2、活動(dòng)的并發(fā)性:人們能夠同時(shí)在做幾個(gè)活動(dòng),實(shí)際的在線活動(dòng)一般不會(huì)按時(shí)間 先后順序依次發(fā)生(沒(méi)有時(shí)序性),而是互相交錯(cuò)進(jìn)行。比如用戶(hù)可能一邊瀏覽新聞,一邊進(jìn) 行購(gòu)物。
[0007] 3、數(shù)據(jù)中的噪音:在線系統(tǒng)搜集到的動(dòng)作日志是帶有很多噪音的,這些噪音由各 方面導(dǎo)致的,例如用戶(hù)一些無(wú)意義的,與當(dāng)前活動(dòng)不相關(guān)的操作。
[0008] 但是現(xiàn)有的方法不能很好的解決以上的幾個(gè)問(wèn)題。基于邏輯的方法依賴(lài)確定的邏 輯規(guī)則進(jìn)行推理,不能很好的解決動(dòng)作與在線活動(dòng)的對(duì)應(yīng)關(guān)系的不確定性,另外也不能很 好的解決數(shù)據(jù)總的噪音問(wèn)題。而基于概率推理的方法需要大量的訓(xùn)練樣本,實(shí)踐中往往難 以獲取,而且無(wú)法利用活動(dòng)識(shí)別的領(lǐng)域背景知識(shí)。
【發(fā)明內(nèi)容】
[0009] 為了解決上述技術(shù)問(wèn)題,本發(fā)明的目的是提供一種能有效處理噪音,提高識(shí)別準(zhǔn) 確性的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法及系統(tǒng)。
[0010] 本發(fā)明所采取的技術(shù)方案是:
[0011] 基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法,包括以下步驟:
[0012] A、對(duì)所有操作行為進(jìn)行采集并儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù);
[0013] B、根據(jù)行為數(shù)據(jù),對(duì)其進(jìn)行處理并識(shí)別出對(duì)應(yīng)的活動(dòng)結(jié)果,得到活動(dòng)數(shù)據(jù);
[0014] C、將識(shí)別得到的活動(dòng)數(shù)據(jù)進(jìn)行處理并以可視化的方式進(jìn)行呈現(xiàn)。
[0015] 作為所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法的進(jìn)一步改進(jìn),所述步驟 A包括:
[0016] A1、對(duì)所有操作行為發(fā)出的HTTP請(qǐng)求進(jìn)行截??;
[0017] A2、從HTTP請(qǐng)求中獲取請(qǐng)求信息,并將其儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù)。
[0018] 作為所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法的進(jìn)一步改進(jìn),所述步驟 B包括:
[0019] B1、將行為數(shù)據(jù)導(dǎo)出并進(jìn)行預(yù)處理,得到行為數(shù)據(jù)集;
[0020] B2、根據(jù)行為數(shù)據(jù)集,進(jìn)行活動(dòng)識(shí)別建模,得到活動(dòng)識(shí)別模型;
[0021 ] B3、通過(guò)活動(dòng)識(shí)別模型對(duì)行為數(shù)據(jù)集進(jìn)行推理識(shí)別,得到活動(dòng)數(shù)據(jù)。
[0022]作為所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法的進(jìn)一步改進(jìn),所述步驟 B2包括:
[0023] B21、根據(jù)行為數(shù)據(jù)集,通過(guò)規(guī)則發(fā)掘算法得出一階邏輯規(guī)則;
[0024] B22、對(duì)行為數(shù)據(jù)以及其對(duì)應(yīng)的活動(dòng)進(jìn)行數(shù)據(jù)標(biāo)注;
[0025] B23、根據(jù)標(biāo)注的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),進(jìn)行一階邏輯規(guī)則的權(quán)重學(xué)習(xí),得到每條規(guī) 則的權(quán)重。
[0026]本發(fā)明所采用的另一技術(shù)方案是:
[0027] 基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng),包括:
[0028] 數(shù)據(jù)采集單元,用于對(duì)所有操作行為進(jìn)行采集并儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù); [0029]識(shí)別處理單元,用于根據(jù)行為數(shù)據(jù),對(duì)其進(jìn)行處理并識(shí)別出對(duì)應(yīng)的活動(dòng)結(jié)果,得到 活動(dòng)數(shù)據(jù);
[0030] 數(shù)據(jù)呈現(xiàn)單元,用于將識(shí)別得到的活動(dòng)數(shù)據(jù)進(jìn)行處理并以可視化的方式進(jìn)行呈 現(xiàn)。
[0031] 作為所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng)的進(jìn)一步改進(jìn),所述數(shù)據(jù) 采集單元包括:
[0032] 請(qǐng)求截取單元,用于對(duì)所有操作行為發(fā)出的HTTP請(qǐng)求進(jìn)行截??;
[0033]信息獲取單元,用于從HTTP請(qǐng)求中獲取請(qǐng)求信息,并將其儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行 為數(shù)據(jù)。
[0034]作為所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng)的進(jìn)一步改進(jìn),所述識(shí)別 處理單元包括:
[0035]預(yù)處理單元,用于將行為數(shù)據(jù)導(dǎo)出并進(jìn)行預(yù)處理,得到行為數(shù)據(jù)集;
[0036]建模單元,用于根據(jù)行為數(shù)據(jù)集,進(jìn)行活動(dòng)識(shí)別建模,得到活動(dòng)識(shí)別模型;
[0037]活動(dòng)識(shí)別單元,用于通過(guò)活動(dòng)識(shí)別模型對(duì)行為數(shù)據(jù)集進(jìn)行推理識(shí)別,得到活動(dòng)數(shù) 據(jù)。
[0038] 作為所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng)的進(jìn)一步改進(jìn),所述建模 單元包括:
[0039] 規(guī)則發(fā)掘單元,用于根據(jù)行為數(shù)據(jù)集,通過(guò)規(guī)則發(fā)掘算法得出一階邏輯規(guī)則;
[0040] 數(shù)據(jù)標(biāo)注單元,用于對(duì)行為數(shù)據(jù)以及其對(duì)應(yīng)的活動(dòng)進(jìn)行數(shù)據(jù)標(biāo)注;
[0041] 權(quán)重學(xué)習(xí)單元,用于根據(jù)標(biāo)注的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),進(jìn)行一階邏輯規(guī)則的權(quán)重學(xué) 習(xí),得到每條規(guī)則的權(quán)重。
[0042]本發(fā)明的有益效果是:
[0043]本發(fā)明基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法及系統(tǒng)通過(guò)建立活動(dòng)識(shí)別模 型能從動(dòng)作日志中自動(dòng)識(shí)別用戶(hù)活動(dòng),并且有良好擴(kuò)展性,允許使用者添加邏輯規(guī)則,而且 采用規(guī)則挖掘算法從訓(xùn)練樣本集中挖掘出強(qiáng)關(guān)聯(lián)規(guī)則作為邏輯規(guī)則,有效解決了解決動(dòng)作 與在線活動(dòng)的對(duì)應(yīng)關(guān)系的不確定性,大大提尚識(shí)別的準(zhǔn)確性。
【附圖說(shuō)明】
[0044] 下面結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步說(shuō)明:
[0045] 圖1是本發(fā)明基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法的步驟流程圖;
[0046] 圖2是本發(fā)明基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法步驟A的步驟流程圖;
[0047] 圖3是本發(fā)明基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法步驟B的步驟流程圖;
[0048] 圖4是本發(fā)明基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法步驟B2的步驟流程圖;
[0049] 圖5是本發(fā)明基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng)的系統(tǒng)方框圖。
【具體實(shí)施方式】
[0050] 參考圖1,本發(fā)明基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法,包括以下步驟:
[0051] A、對(duì)所有操作行為進(jìn)行采集并儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù);
[0052] B、根據(jù)行為數(shù)據(jù),對(duì)其進(jìn)行處理并識(shí)別出對(duì)應(yīng)的活動(dòng)結(jié)果,得到活動(dòng)數(shù)據(jù);
[0053] C、將識(shí)別得到的活動(dòng)數(shù)據(jù)進(jìn)行處理并以可視化的方式進(jìn)行呈現(xiàn)。
[0054]參考圖2,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟A包括:
[0055] A1、對(duì)所有操作行為發(fā)出的HTTP請(qǐng)求進(jìn)行截??;
[0056] A2、從HTTP請(qǐng)求中獲取請(qǐng)求信息,并將其儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù)。
[0057]其中,請(qǐng)求信息包括請(qǐng)求的類(lèi)型,訪問(wèn)的時(shí)間,請(qǐng)求的資源等具體信息。
[0058]本發(fā)明實(shí)施例中,系統(tǒng)的用戶(hù)是通過(guò)Web的形式訪問(wèn)系統(tǒng)的,因此我們通過(guò)記錄系 統(tǒng)后臺(tái)收到的每個(gè)HTTP請(qǐng)求來(lái)實(shí)現(xiàn)數(shù)據(jù)采集的目的。
[0059]當(dāng)系統(tǒng)后端收到Nginx轉(zhuǎn)發(fā)的HTTP請(qǐng)求時(shí),Django先將該請(qǐng)求轉(zhuǎn)成HttpRequest的 對(duì)象,然后傳遞給Request中間件處理。如果該中間件返回了HTTP Response,那么就交到 Response中間件處理;否則傳給view中間件,同理,如果view中間件沒(méi)有返回HTTP Response,那么Django就會(huì)根據(jù)系統(tǒng)后端URL的匹配結(jié)構(gòu),來(lái)調(diào)用對(duì)應(yīng)的view函數(shù),之后返 回HTTP Response給Response中間件。如果在過(guò)程中拋出異常,就轉(zhuǎn)到Exception中間件處 理。最后Response中間件處理完HTTP Response對(duì)象后,返回HTTP響應(yīng)給客戶(hù)端。
[0060] 其中,系統(tǒng)主要邏輯在自定義函數(shù)中,根據(jù)功能的不同,編寫(xiě)對(duì)應(yīng)的view函數(shù)和設(shè) 置對(duì)應(yīng)的URL模式。系統(tǒng)中的這種MVC設(shè)計(jì)模式,就能很方便應(yīng)用程序根據(jù)用戶(hù)訪問(wèn)的不同 URL,轉(zhuǎn)跳到不同的View函數(shù)處理來(lái)實(shí)現(xiàn)不同的功能。
[0061] 通過(guò)在系統(tǒng)服務(wù)器后端添加鉤子函數(shù)(hook)的方法來(lái)實(shí)現(xiàn)對(duì)每個(gè)HTTP請(qǐng)求的檢 測(cè)和記錄。即先定義一個(gè)鉤子函數(shù),該函數(shù)主要作用是記錄每個(gè)接收到HTTP請(qǐng)求,獲取其中 的類(lèi)型,然后存儲(chǔ)到MySQL數(shù)據(jù)庫(kù)中。我們需要在系統(tǒng)服務(wù)器把HttpResponse傳給Response 中間件前,執(zhí)行該hook函數(shù)。
[0062] 因此,定義一個(gè)hook函數(shù)on_request,函數(shù)聲明如下:
[0063] def on_request(request,access_type,action,param=None):
[0064] on_request函數(shù)接收4個(gè)參數(shù),其中request是對(duì)應(yīng)的HttpRequest對(duì)象,access_ type表示該請(qǐng)求處理狀態(tài),成功或者失敗;action是這次HTTP請(qǐng)求的具體動(dòng)作類(lèi)型,param 是action的參數(shù)。
[0065] 當(dāng)收到從view中間件傳來(lái)的httpRequest對(duì)象時(shí),D jango框架中的URLDispatcher 根據(jù)訪問(wèn)的URL不同,把httpRequest對(duì)象轉(zhuǎn)發(fā)到對(duì)應(yīng)的view函數(shù)處理,view函數(shù)處理完后, 在返回httpResponse對(duì)象前,執(zhí)行on_request函數(shù)記錄本次的操作記錄。
[0066] Django的URLConf接收到view中間件傳來(lái)的HttpRequest對(duì)象,根據(jù)該對(duì)象中的 url屬性,調(diào)用對(duì)應(yīng)UploadSubmission函數(shù),UploadSubmission函數(shù)先檢查作業(yè)提交的時(shí)間 是否屬于題目規(guī)定的時(shí)間內(nèi),如果是,倉(cāng)ll建一個(gè)UploadSubmission任務(wù),并把任務(wù)放到后端 的任務(wù)隊(duì)列中異步處理,任務(wù)隊(duì)列處理完(評(píng)完分?jǐn)?shù))會(huì)將分?jǐn)?shù)保存到數(shù)據(jù)庫(kù)中;然后執(zhí)行 hook函數(shù)on_request存儲(chǔ)這次用戶(hù)提交答案的動(dòng)作到數(shù)據(jù)庫(kù)中;最后返回HttpResponse給 Response中間件。然后Response中間件模塊執(zhí)行已經(jīng)設(shè)置好的Response中間件,最后返回 Http回應(yīng)給客戶(hù)端。
[0067] 參考圖3,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟B包括:
[0068] B1、將行為數(shù)據(jù)導(dǎo)出并進(jìn)行預(yù)處理,得到行為數(shù)據(jù)集;
[0069] B2、根據(jù)行為數(shù)據(jù)集,進(jìn)行活動(dòng)識(shí)別建模,得到活動(dòng)識(shí)別模型;
[0070] B3、通過(guò)活動(dòng)識(shí)別模型對(duì)行為數(shù)據(jù)集進(jìn)行推理識(shí)別,得到活動(dòng)數(shù)據(jù)。
[0071] 其中,導(dǎo)出數(shù)據(jù)。有兩種方法,第一種從MySQL數(shù)據(jù)庫(kù)中直接導(dǎo)出AccessRecord表, 第二種方法通過(guò)Django的0RM模型導(dǎo)出。
[0072]數(shù)據(jù)預(yù)處理,包括數(shù)據(jù)格式轉(zhuǎn)換和去除重復(fù)項(xiàng)等處理。
[0073]推理識(shí)別的方法可采用極大化推理(MAP)和概率推理等。
[0074]參考圖4,進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟B2包括:
[0075] B21、根據(jù)行為數(shù)據(jù)集,通過(guò)規(guī)則發(fā)掘算法得出一階邏輯規(guī)則;
[0076] B22、對(duì)行為數(shù)據(jù)以及其對(duì)應(yīng)的活動(dòng)進(jìn)行數(shù)據(jù)標(biāo)注;
[0077] B23、根據(jù)標(biāo)注的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),進(jìn)行一階邏輯規(guī)則的權(quán)重學(xué)習(xí),得到每條規(guī) 則的權(quán)重。
[0078]本發(fā)明實(shí)施例中的一階邏輯規(guī)則如下: VTimestep t, Identifier id :
[o079] m CurrentAction('?Click submit question button'!, id,t) 二〉CurrentActivity("Ask a question",id,f)
[0080] VTimestep t, Identifier id: ⑶ CurrcntAction("Click submit question answer buttcm' id4) =>CuiTcntActivity("Answer a question ", id, 〇 VTimestep t, Identifier id : ^. CurrentAction(" Open FAQ Page", id?t) V 3 ) ; =>CurrentActivity('!View a question", id,/) VTirncstcp t, ,t,, Identifier id: (4) CurrcntAetivityC'Correct assignment answer", id,t,)A(t2>tl) " ^>!CurrcntActivity("Writc assignment answer", id, t2)
[0081] 上述的第1,2,3條規(guī)則,是在數(shù)據(jù)集中挖掘出的規(guī)則,都是關(guān)于互動(dòng)問(wèn)答環(huán)節(jié)的。 規(guī)則1說(shuō)明如果用戶(hù)在t時(shí)刻點(diǎn)擊了提交FAQ問(wèn)題按鈕的動(dòng)作,就代表用戶(hù)在t時(shí)刻的活動(dòng)是 提問(wèn)問(wèn)題。規(guī)則2表示用戶(hù)在t時(shí)刻點(diǎn)擊了提交FAQ回答按鈕動(dòng)作,說(shuō)明該用戶(hù)正在回答問(wèn) 題。規(guī)貝lj3表示用戶(hù)在t時(shí)刻點(diǎn)擊了 FAQ頁(yè)面的動(dòng)作,說(shuō)明該用戶(hù)瀏覽問(wèn)題。
[0082] 規(guī)則4描述的是編寫(xiě)作業(yè)答案和改正答案兩個(gè)活動(dòng)之間的先后順序??紤]用戶(hù)做 編程題目的場(chǎng)景,編寫(xiě)完程序(活動(dòng)"Write assignment answer")提交后,如果沒(méi)有通過(guò), 用戶(hù)根據(jù)系統(tǒng)批改反饋的信息,對(duì)程序進(jìn)行修改(活動(dòng)"Correct assignment answer")后 再次提交,直到完全正確為止。用一階邏輯描述是"Write assignment answer"要發(fā)生在 "Correct assignment"活動(dòng)之前,規(guī)則4就是對(duì)應(yīng)的一階邏輯表達(dá)式。
[0083]本發(fā)明實(shí)施例中,規(guī)則發(fā)掘算法采用的Apriori挖掘關(guān)聯(lián)規(guī)則的思路,從訓(xùn)練數(shù)據(jù) 集中找出所有滿(mǎn)足給定的最小置信度閥值(threshold)的關(guān)聯(lián)規(guī)則。對(duì)于查找出的關(guān)聯(lián)規(guī) 則八〇1:;[011 = >八(31:;[¥;^7,對(duì)應(yīng)]\11^的一階邏輯規(guī)則為〇111'代1^八(:1:;[011(&(31:;[011,1(1,1:;[1116)=> CurrentActivity(activity,id, time)。整個(gè)算法的過(guò)程如下:
[0084] 1.用戶(hù)給定訓(xùn)練集合,Action類(lèi)型集合,Activity類(lèi)型集合以及設(shè)置最小置信度 閥值。
[0085] 2 ?計(jì)算所有Act ion,Activity,以及(Act ion, Activity)的支持度。
[0086] 3.求出數(shù)據(jù)集中所有的Action = >Activity和Activity = >Action的組合并且求 出其對(duì)應(yīng)的置信度。
[0087] 4.最后挑選出大于給定的最小置信度閥值的關(guān)聯(lián)規(guī)則,以及其可信度。
[0088]其中,Action表示行為數(shù)據(jù),Activity表示活動(dòng)數(shù)據(jù)
[0089]本發(fā)明具體實(shí)施例如下,用戶(hù)在系統(tǒng)上面進(jìn)行各種操作,比如點(diǎn)擊了某個(gè)頁(yè)面按 鈕,轉(zhuǎn)跳到某個(gè)頁(yè)面,提交作業(yè),提問(wèn)了一個(gè)問(wèn)題等。系統(tǒng)服務(wù)器后端收到來(lái)自客戶(hù)端發(fā)來(lái) 的HTTP請(qǐng)求,經(jīng)過(guò)后端一系列的處理后,在返回響應(yīng)內(nèi)容給客戶(hù)端前,系統(tǒng)對(duì)該請(qǐng)求截取并 且記錄該請(qǐng)求的類(lèi)型。系統(tǒng)從該HTTP請(qǐng)求中獲取請(qǐng)求的類(lèi)型,訪問(wèn)的時(shí)間,請(qǐng)求的資源等具 體信息,并存儲(chǔ)到數(shù)據(jù)庫(kù)中。系統(tǒng)按照正常流程繼續(xù)執(zhí)行返回內(nèi)容給客戶(hù)端,用戶(hù)繼續(xù)正常 使用系統(tǒng)。
[0090]從數(shù)據(jù)存儲(chǔ)系統(tǒng)的數(shù)據(jù)庫(kù)中查詢(xún)并導(dǎo)出相關(guān)行為數(shù)據(jù)。把得到的行為數(shù)據(jù)進(jìn)行處 理后,作為推理數(shù)據(jù)輸入活動(dòng)識(shí)別系統(tǒng)中進(jìn)行學(xué)習(xí)活動(dòng)識(shí)別。識(shí)別系統(tǒng)內(nèi)部使用活動(dòng)識(shí)別 方法,對(duì)輸入的數(shù)據(jù)推理,識(shí)別出對(duì)應(yīng)用戶(hù)學(xué)習(xí)活動(dòng)的結(jié)果,最后以統(tǒng)一格式輸出。對(duì)識(shí)別 出來(lái)的活動(dòng)數(shù)據(jù)做進(jìn)一步處理,存儲(chǔ)到存儲(chǔ)系統(tǒng)中,方便后面的活動(dòng)可視化展示和其它的 應(yīng)用。
[0091 ]使用活動(dòng)識(shí)別方法,對(duì)活動(dòng)建模,定義活動(dòng)識(shí)別模型。主要工作有定義在系統(tǒng)上的 活動(dòng),編寫(xiě)一階邏輯規(guī)則和相關(guān)的背景規(guī)則。針對(duì)定義好的學(xué)習(xí)活動(dòng),標(biāo)注原始數(shù)據(jù)。從收 集到的行為數(shù)據(jù)集中取出典型的部分行為數(shù)據(jù)來(lái)人工標(biāo)注,標(biāo)識(shí)出每條記錄對(duì)應(yīng)的背后的 學(xué)習(xí)活動(dòng)。訓(xùn)練學(xué)習(xí)活動(dòng)的活動(dòng)識(shí)別模型。使用得到的標(biāo)注數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),輸入識(shí)別系 統(tǒng)中進(jìn)行活動(dòng)識(shí)別模型的規(guī)則權(quán)重學(xué)習(xí)。最后得到每條規(guī)則的權(quán)重。
[0092] 最后,用戶(hù)通過(guò)瀏覽器訪問(wèn)系統(tǒng)的活動(dòng)可視化Web頁(yè)面。用戶(hù)在該Web頁(yè)面點(diǎn)擊想 要查看的鏈接。瀏覽器轉(zhuǎn)跳到對(duì)應(yīng)的活動(dòng)識(shí)別展示頁(yè)面。用戶(hù)在該頁(yè)面能夠查看活動(dòng),能夠 自由地放大/縮小,伸縮,移動(dòng)時(shí)間軸。
[0093]參考圖5,基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng),包括:
[0094]數(shù)據(jù)采集單元,用于對(duì)所有操作行為進(jìn)行采集并儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù); [0095]識(shí)別處理單元,用于根據(jù)行為數(shù)據(jù),對(duì)其進(jìn)行處理并識(shí)別出對(duì)應(yīng)的活動(dòng)結(jié)果,得到 活動(dòng)數(shù)據(jù);
[0096] 數(shù)據(jù)呈現(xiàn)單元,用于將識(shí)別得到的活動(dòng)數(shù)據(jù)進(jìn)行處理并以可視化的方式進(jìn)行呈 現(xiàn)。
[0097] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述數(shù)據(jù)采集單元包括:
[0098]請(qǐng)求截取單元,用于對(duì)所有操作行為發(fā)出的HTTP請(qǐng)求進(jìn)行截?。?br>[0099]信息獲取單元,用于從HTTP請(qǐng)求中獲取請(qǐng)求信息,并將其儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行 為數(shù)據(jù)。
[0100] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述識(shí)別處理單元包括:
[0101] 預(yù)處理單元,用于將行為數(shù)據(jù)導(dǎo)出并進(jìn)行預(yù)處理,得到行為數(shù)據(jù)集;
[0102] 建模單元,用于根據(jù)行為數(shù)據(jù)集,進(jìn)行活動(dòng)識(shí)別建模,得到活動(dòng)識(shí)別模型;
[0103] 活動(dòng)識(shí)別單元,用于通過(guò)活動(dòng)識(shí)別模型對(duì)行為數(shù)據(jù)集進(jìn)行推理識(shí)別,得到活動(dòng)數(shù) 據(jù)。
[0104] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述建模單元包括:
[0105] 規(guī)則發(fā)掘單元,用于根據(jù)行為數(shù)據(jù)集,通過(guò)規(guī)則發(fā)掘算法得出一階邏輯規(guī)則;
[0106] 數(shù)據(jù)標(biāo)注單元,用于對(duì)行為數(shù)據(jù)以及其對(duì)應(yīng)的活動(dòng)進(jìn)行數(shù)據(jù)標(biāo)注;
[0107] 權(quán)重學(xué)習(xí)單元,用于根據(jù)標(biāo)注的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),進(jìn)行一階邏輯規(guī)則的權(quán)重學(xué) 習(xí),得到每條規(guī)則的權(quán)重。
[0108] 從上述內(nèi)容可知,本發(fā)明基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法及系統(tǒng)通過(guò) 建立活動(dòng)識(shí)別模型能從動(dòng)作日志中自動(dòng)識(shí)別用戶(hù)活動(dòng),并且有良好擴(kuò)展性,允許使用者添 加邏輯規(guī)則,而且采用規(guī)則挖掘算法從訓(xùn)練樣本集中挖掘出強(qiáng)關(guān)聯(lián)規(guī)則作為邏輯規(guī)則,有 效解決了解決動(dòng)作與在線活動(dòng)的對(duì)應(yīng)關(guān)系的不確定性,大大提高識(shí)別的準(zhǔn)確性。
[0109]以上是對(duì)本發(fā)明的較佳實(shí)施進(jìn)行了具體說(shuō)明,但本發(fā)明創(chuàng)造并不限于所述實(shí)施 例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替 換,這些等同的變形或替換均包含在本申請(qǐng)權(quán)利要求所限定的范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法,其特征在于,包括以下步驟: A、 對(duì)所有操作行為進(jìn)行采集并儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù); B、 根據(jù)行為數(shù)據(jù),對(duì)其進(jìn)行處理并識(shí)別出對(duì)應(yīng)的活動(dòng)結(jié)果,得到活動(dòng)數(shù)據(jù); C、 將識(shí)別得到的活動(dòng)數(shù)據(jù)進(jìn)行處理并以可視化的方式進(jìn)行呈現(xiàn)。2. 根據(jù)權(quán)利要求1所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法,其特征在于:所 述步驟A包括: Al、對(duì)所有操作行為發(fā)出的HTTP請(qǐng)求進(jìn)行截??; A2、從HTTP請(qǐng)求中獲取請(qǐng)求信息,并將其儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù)。3. 根據(jù)權(quán)利要求1所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法,其特征在于:所 述步驟B包括: Bl、將行為數(shù)據(jù)導(dǎo)出并進(jìn)行預(yù)處理,得到行為數(shù)據(jù)集; B2、根據(jù)行為數(shù)據(jù)集,進(jìn)行活動(dòng)識(shí)別建模,得到活動(dòng)識(shí)別模型; B3、通過(guò)活動(dòng)識(shí)別模型對(duì)行為數(shù)據(jù)集進(jìn)行推理識(shí)別,得到活動(dòng)數(shù)據(jù)。4. 根據(jù)權(quán)利要求3所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別方法,其特征在于:所 述步驟B2包括: B21、根據(jù)行為數(shù)據(jù)集,通過(guò)規(guī)則發(fā)掘算法得出一階邏輯規(guī)則; B22、對(duì)行為數(shù)據(jù)以及其對(duì)應(yīng)的活動(dòng)進(jìn)行數(shù)據(jù)標(biāo)注; B23、根據(jù)標(biāo)注的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),進(jìn)行一階邏輯規(guī)則的權(quán)重學(xué)習(xí),得到每條規(guī)則的 權(quán)重。5. 基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng),其特征在于,包括: 數(shù)據(jù)采集單元,用于對(duì)所有操作行為進(jìn)行采集并儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù)據(jù); 識(shí)別處理單元,用于根據(jù)行為數(shù)據(jù),對(duì)其進(jìn)行處理并識(shí)別出對(duì)應(yīng)的活動(dòng)結(jié)果,得到活動(dòng) 數(shù)據(jù); 數(shù)據(jù)呈現(xiàn)單元,用于將識(shí)別得到的活動(dòng)數(shù)據(jù)進(jìn)行處理并以可視化的方式進(jìn)行呈現(xiàn)。6. 根據(jù)權(quán)利要求5所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng),其特征在于:所 述數(shù)據(jù)采集單元包括: 請(qǐng)求截取單元,用于對(duì)所有操作行為發(fā)出的HTTP請(qǐng)求進(jìn)行截?。? 信息獲取單元,用于從HTTP請(qǐng)求中獲取請(qǐng)求信息,并將其儲(chǔ)存于數(shù)據(jù)庫(kù)中,得到行為數(shù) 據(jù)。7. 根據(jù)權(quán)利要求5所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng),其特征在于:所 述識(shí)別處理單元包括: 預(yù)處理單元,用于將行為數(shù)據(jù)導(dǎo)出并進(jìn)行預(yù)處理,得到行為數(shù)據(jù)集; 建模單元,用于根據(jù)行為數(shù)據(jù)集,進(jìn)行活動(dòng)識(shí)別建模,得到活動(dòng)識(shí)別模型; 活動(dòng)識(shí)別單元,用于通過(guò)活動(dòng)識(shí)別模型對(duì)行為數(shù)據(jù)集進(jìn)行推理識(shí)別,得到活動(dòng)數(shù)據(jù)。8. 根據(jù)權(quán)利要求7所述的基于馬爾可夫邏輯網(wǎng)絡(luò)的在線活動(dòng)識(shí)別系統(tǒng),其特征在于:所 述建模單元包括: 規(guī)則發(fā)掘單元,用于根據(jù)行為數(shù)據(jù)集,通過(guò)規(guī)則發(fā)掘算法得出一階邏輯規(guī)則; 數(shù)據(jù)標(biāo)注單元,用于對(duì)行為數(shù)據(jù)以及其對(duì)應(yīng)的活動(dòng)進(jìn)行數(shù)據(jù)標(biāo)注; 權(quán)重學(xué)習(xí)單元,用于根據(jù)標(biāo)注的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),進(jìn)行一階邏輯規(guī)則的權(quán)重學(xué)習(xí),得 到每條規(guī)則的權(quán)重。
【文檔編號(hào)】G06K9/62GK105894017SQ201610188359
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月28日
【發(fā)明人】王欣明, 聶瑞華, 趙淦森, 紀(jì)求華
【申請(qǐng)人】中山大學(xué)