本發(fā)明屬于信息處理和特征識別領(lǐng)域,涉及到一種基于高頻刷卡數(shù)據(jù)的朋友關(guān)系識別方法。
背景技術(shù):
現(xiàn)在如果我們假設(shè)你從一個集體到了另一個新的集體中,那么你會有多大的可能性和你周圍的某個人成為朋友呢?又從社會學的方面而言,在一個群體中,兩兩之間的朋友關(guān)系又能占到多大比例呢?要回答這些問題,首先就要建立一種穩(wěn)定、高效同時具有大規(guī)模性質(zhì)的朋友識別方法。另一方面,從商業(yè)角度來說,個人社會朋友關(guān)系的識別對一些企業(yè)或公司拓展新用戶,以及對老用戶開展個性化服務(wù)都具有十分重要的意義。
近年來,隨著互聯(lián)網(wǎng)的普及和發(fā)展,越來越多的專家學者樂于用一些社交軟件,網(wǎng)絡(luò)平臺,虛擬游戲設(shè)備來識別朋友關(guān)系。雖然這些方法對社會研究,企業(yè)發(fā)展能產(chǎn)生一定的指導性意義,但是基于這些方法,認真分析可發(fā)現(xiàn)三點明顯的不足:一是用戶在填寫注冊信息時往往會存在虛假成分,不能真實反映自身的信息;二是用戶的網(wǎng)上行為并不能真實的反映人們現(xiàn)實世界的朋友關(guān)系,比如銀行、超市、健身房等服務(wù)性場所,卻只有現(xiàn)實世界的朋友關(guān)系才能幫助它們有效拓展客戶源;三是在網(wǎng)絡(luò)虛擬平臺上得到的某些朋友關(guān)系及其薄弱,或者地域上相差及遠,很明顯這些所謂的朋友關(guān)系或者不存在,或者不處在一個特定的群體里,對我們的研究而言沒有太大的實際意義。
當前的朋友識別系統(tǒng)通常是基于用戶的注冊信息,以及用戶的上網(wǎng)行為來挖掘用戶之間的朋友關(guān)系,對互聯(lián)網(wǎng)技術(shù)有了應(yīng)用卻又恰恰忽略了現(xiàn)實社會,人們真實生活記錄的重要性,反倒顯得得不償失。經(jīng)過認真分析研究發(fā)現(xiàn)隨著現(xiàn)代信息技術(shù)的快速發(fā)展和網(wǎng)絡(luò)技術(shù)的不斷成熟,以及近些年來大數(shù)據(jù)的分析應(yīng)用技術(shù)已經(jīng)進入人們生活的方方面面,記錄人們?nèi)粘U鎸嵭袨橐豢ㄍㄗ鳛樾畔⒓夹g(shù)的產(chǎn)物,對于改進人們生活的便捷程度和推動數(shù)字化管理起到了巨大的作用。由一卡通產(chǎn)生的反映人們行為的高頻數(shù)據(jù)能夠有效識別人與人之間關(guān)系,那些在大量的數(shù)據(jù)中擁有著相似刷卡行為的個體親密度更高,更有可能是朋友關(guān)系。由此,產(chǎn)生了一種基于高頻刷卡數(shù)據(jù)的朋友關(guān)系識別方法。
日常生活中,高頻刷卡數(shù)據(jù)的來源極其廣泛。例如,高校學生一日三餐的刷卡數(shù)據(jù),以及進出校門,宿舍,圖書館借書、自習,超市購物等數(shù)據(jù)都可以作為很好的研究樣本。并且這種大數(shù)據(jù)的特點從一定程度上保證了研究結(jié)果的穩(wěn)定性和可靠性。另一方面,這些大數(shù)據(jù)可以利用先進的計算機技術(shù)進行分析處理,很好的保證了研究的準確性和高效性。
運用這些高頻刷卡數(shù)據(jù)和先進的應(yīng)用軟件以及計算分析技術(shù)真正實現(xiàn)了從真實的日常生活中來識別朋友關(guān)系。從研究者的角度來說,朋友是從各種各樣的生活數(shù)據(jù)中得來,它的真實性和可靠性無須贅述,對進一步的社會關(guān)系的發(fā)展和演變的研究,以及其規(guī)律的探尋有著不可代替的重要作用。
技術(shù)實現(xiàn)要素:
針對當前朋友關(guān)系識別方法中存在的僅僅依靠用戶注冊信息和用戶上網(wǎng)行為進行朋友關(guān)系識別的不足,本發(fā)明提出了一種基本高頻刷卡數(shù)據(jù)的朋友關(guān)系識別方法。以滿足商家有效挖掘新用戶和對老用戶進行個性化服務(wù)的需求。
本發(fā)明采用的技術(shù)方案是:
一種基于高頻刷卡數(shù)據(jù)的朋友關(guān)系識別方法,主要包括數(shù)據(jù)預處理、相似行為矩陣的生成、相似行為閾值的確定和朋友關(guān)系的識別;
1)數(shù)據(jù)預處理;獲取當前所有用戶的高頻刷卡數(shù)據(jù),提取數(shù)據(jù)中有效信息,包括用戶的id,刷卡的地點,刷卡的時間,刷卡操作的類型,刪除數(shù)據(jù)中所有的標點,僅保留數(shù)字信息,并對數(shù)據(jù)進行統(tǒng)一的命名,存入統(tǒng)一的數(shù)據(jù)倉庫中;
2)相似行為矩陣的生成;
(a)對于數(shù)據(jù)倉庫中的數(shù)據(jù)而言,當任意兩個用戶的刷卡記錄的地點一致,同時刷卡時間間隔不超過t秒時,則稱這兩個用戶之間存在一次相似行為;
(b)設(shè)定時間區(qū)間t,提取數(shù)據(jù)倉庫中在時間區(qū)間t范圍內(nèi)的數(shù)據(jù);在時間區(qū)間t范圍內(nèi),用戶m和用戶n的相似行為次數(shù)就構(gòu)成了相似行為矩陣的一個元素am,n;相似行為矩陣為主對角元素均為0的對稱矩陣;
3)相似行為閾值的確定;提取相似行為矩陣對角線上方的所有元素,生成帕累托圖,取累計百分比首次超過α,0<α<100%所對應(yīng)的相似行為的次數(shù)作為相似行為閾值,α通常取90%;
4)朋友關(guān)系的識別;找出所有相似行為超過相似行為閾值的用戶對,將他們確認為朋友關(guān)系,同時輸出所有的朋友對。
本發(fā)明優(yōu)點是:能夠利用用戶產(chǎn)生的高頻刷卡數(shù)據(jù)有效識別用戶在現(xiàn)實生活中的朋友關(guān)系。
附圖說明
圖1是一卡通數(shù)據(jù)樣例圖。
圖2是數(shù)據(jù)清理圖。
圖3是進入圖書館數(shù)據(jù)圖。
圖4是離開圖書館數(shù)據(jù)圖。
圖5是圖書館數(shù)據(jù)排序結(jié)果圖。
圖6是相似行為節(jié)點對圖。
圖7是相似行為矩陣圖。
圖8是帕累托圖。
具體實施方式
下面結(jié)合說明書附圖1-8及實施例對本發(fā)明進一步詳細說明。
一種基于高頻刷卡數(shù)據(jù)的朋友關(guān)系識別方法,主要包括數(shù)據(jù)預處理、相似行為矩陣的生成、相似行為閾值的確定和朋友關(guān)系的識別;
1)數(shù)據(jù)預處理;獲取當前所有用戶的高頻刷卡數(shù)據(jù),提取數(shù)據(jù)中有效信息,包括用戶的id,刷卡的地點,刷卡的時間,刷卡操作的類型,刪除數(shù)據(jù)中所有的標點,僅保留數(shù)字信息,并對數(shù)據(jù)進行統(tǒng)一的命名,存入統(tǒng)一的數(shù)據(jù)倉庫中;
2)相似行為矩陣的生成;
(a)對于數(shù)據(jù)倉庫中的數(shù)據(jù)而言,當任意兩個用戶的刷卡記錄的地點一致,同時刷卡時間間隔不超過t秒時,則稱這兩個用戶之間存在一次相似行為;
(b)設(shè)定時間區(qū)間t,提取數(shù)據(jù)倉庫中在時間區(qū)間t范圍內(nèi)的數(shù)據(jù);在時間區(qū)間t范圍內(nèi),用戶m和用戶n的相似行為次數(shù)就構(gòu)成了相似行為矩陣的一個元素am,n;相似行為矩陣為主對角元素均為0的對稱矩陣;
3)相似行為閾值的確定;提取相似行為矩陣對角線上方的所有元素,生成帕累托圖,取累計百分比首次超過α,0<α<100%所對應(yīng)的相似行為的次數(shù)作為相似行為閾值,α通常取90%;
4)朋友關(guān)系的識別;找出所有相似行為超過相似行為閾值的用戶對,將他們確認為朋友關(guān)系,同時輸出所有的朋友對。
實施例
1、數(shù)據(jù)預處理
(1)數(shù)據(jù)清理
從學校教務(wù)處獲取的一卡通數(shù)據(jù)如圖1所示,每一行代表一個刷卡記錄,分別為學生的id,學生的刷卡操作,學生刷卡的時間。以10條數(shù)據(jù)為例,對數(shù)據(jù)進行清理。數(shù)據(jù)清理的內(nèi)容包括刪除不完整的數(shù)據(jù),刪除每一條數(shù)據(jù)中刷卡操作記錄中的引號、刷卡時間記錄中的引號和斜線號,經(jīng)處理后得到結(jié)果如圖2。將處理后的數(shù)據(jù)保存到數(shù)據(jù)倉庫中。
(2)數(shù)據(jù)分類
在每一條數(shù)據(jù)中,不僅記錄了刷卡的時間,還記錄了刷卡者是進入還是離開圖書館。由于兩個用戶如果存在朋友關(guān)系,通常都是同時進入圖書館或者同時離開。因此,我們假定只有兩個用戶同時進入或離開才稱作一次相似行為。基于此種假定,我們將進入和離開的數(shù)據(jù)進行分類,建立兩個txt文檔,分別命名為“l(fā)ibrary_in”和“l(fā)ibrary_out”?!發(fā)ibrary_in”和“l(fā)ibrary_out”中的數(shù)據(jù)分別如圖3和圖4所示。
(3)數(shù)據(jù)整理
以“l(fā)ibrary_in”為例,使用c++sort排序方法將文本中的數(shù)據(jù)按時間排序,得到結(jié)果如圖5所示。
2、相似行為矩陣的建立
我們假定當兩名用戶刷卡地點一致,并且刷卡時間間隔不超過30秒時,則稱兩者存在一次相似行為。下面具體闡述相似行為矩陣的生成方法:
首先建立一個空的隊列,之后按行遍歷文本。如果隊列為空,將讀取到的當前行的時間信息排入隊列;如果隊列中存在信息,則將該行時間信息與隊首的時間信息進行比較。若時間間隔小于30秒,則視為一次相似性為,輸出到“friend”文本中,并繼續(xù)向下遍歷隊列;如果時間間隔都小于30秒,則將該行信息加入到隊尾中;如果時間間隔大于30秒,則將隊列中該點的信息替換為文本中該行的信息,繼續(xù)向下遍歷文本。統(tǒng)計出兩個時間間隔不超過30秒的同學id,得到朋友對,朋友對的兩個id按遞增順序輸出,并且保留朋友對的年月日信息。按半月為時間單位生成矩陣,輸出結(jié)果如圖6所示。將“friend”文檔中的數(shù)據(jù)按半月為時間段分成若干個小文本,將用戶id按遞增順序?qū)?yīng)生成如圖7所示的相似行為矩陣。
3、相似行為閾值的確定
我們設(shè)定α的值為90%,獲取相似行為矩陣對角線上方的數(shù)據(jù),生成帕累托圖,如圖8所示。由圖8可知,相似行為次數(shù)為1的,累積百分比為85.04%。,相似行為次數(shù)為1和2時的累積百分比為96.38%,此時已經(jīng)超過了設(shè)定的90%的閾值,因此取2為相似行為閾值。
4.朋友關(guān)系的識別
我們將相似行為次數(shù)為2的用戶對認定為存在朋友關(guān)系,因此用戶id為9733和9773的學生被識別為朋友關(guān)系。