亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于行業(yè)上下游關(guān)系的個(gè)性化推薦系統(tǒng)和推薦方法與流程

文檔序號:12824984閱讀:407來源:國知局
基于行業(yè)上下游關(guān)系的個(gè)性化推薦系統(tǒng)和推薦方法與流程

本發(fā)明涉及機(jī)器學(xué)習(xí)、智能推薦領(lǐng)域,尤其涉及一種基于用戶行業(yè)及行業(yè)上下游背景的綜合、智能推薦系統(tǒng)和方法。



背景技術(shù):

推薦系統(tǒng)是根據(jù)用戶的信息需求、興趣等,將用戶感興趣的信息、產(chǎn)品等推薦給用戶的個(gè)性化信息推薦系統(tǒng)。

目前主流的推薦系統(tǒng)包括協(xié)同過濾推薦、基于內(nèi)容的推薦、基于知識的推薦和混合推薦。

協(xié)同過濾推薦的基本思想是,如果用戶過去有相同的偏好,那么他們在未來也會(huì)有相似的偏好。這種系統(tǒng)得到了廣泛使用,主要作為在線零售系統(tǒng)對某個(gè)顧客需求個(gè)性化定制內(nèi)容的工具,由此可以促銷商品和提升銷售額。

基于內(nèi)容的推薦:根據(jù)歷史信息(如評價(jià)、分享、收藏過的文檔)構(gòu)造用戶偏好文檔,計(jì)算推薦項(xiàng)目與用戶偏好文檔的相似度,將最相似的項(xiàng)目推薦給用戶。例如,在電影推薦中,基于內(nèi)容的系統(tǒng)首先分析用戶已經(jīng)看過的打分比較高的電影的共性(演員、導(dǎo)演、風(fēng)格等),再推薦與這些用戶感興趣的電影內(nèi)容相似度高的其他電影?;趦?nèi)容的推薦幾種技術(shù)主要來源于信息檢索和信息過濾領(lǐng)域。由于純粹基于內(nèi)容的推薦的局限性在很多領(lǐng)域都非常嚴(yán)重,目前商業(yè)領(lǐng)域幾乎沒有純粹的的基于內(nèi)容的推薦系統(tǒng)。更多的還是和其他推薦算法結(jié)合使用。

基于知識的推薦:使用用戶知識和產(chǎn)品知識,通過推理什么產(chǎn)品能滿足用戶需求來產(chǎn)生推薦。這種推薦系統(tǒng)不依賴于用戶評分等關(guān)于用戶偏好的歷史數(shù)據(jù),故其不存在冷啟動(dòng)方面的問題?;谥R的推薦系統(tǒng)響應(yīng)用戶的即時(shí)需求,當(dāng)用戶偏好發(fā)生變化時(shí)不需要任何訓(xùn)練?;谥R的推薦系統(tǒng)主要幫我們解決購買頻度較低的商品,如房屋、汽車、相機(jī)等等。基于知識的推薦系統(tǒng)分為基于約束推薦和基于實(shí)例推薦。目前,基于知識的推薦也有比較多的應(yīng)用案例。如餐館、汽車、電影和消費(fèi)電子產(chǎn)品等等,同時(shí)也有比較多的領(lǐng)域研究成果。

混合推薦:混合推薦系統(tǒng)是推薦系統(tǒng)的另一個(gè)研究熱點(diǎn),它是指將多種推薦技術(shù)進(jìn)行混合相互彌補(bǔ)缺點(diǎn),從而可以獲得更好的推薦效果。最常見的是將協(xié)同過濾技術(shù)和其他技術(shù)相結(jié)合,克服冷啟動(dòng)的問題。

但是,無論是協(xié)同過濾、基于內(nèi)容和基于知識的推薦,又或是通常的混合推薦系統(tǒng),都有比較強(qiáng)的行業(yè)局限性。另外,如果需要依賴比較強(qiáng)的專業(yè)知識背景(比如行業(yè)上下游關(guān)系),并且希望推薦結(jié)果不必過于集中化,比如同一類型的結(jié)果被集中推薦出來,這時(shí)候傳統(tǒng)的推薦系統(tǒng)就顯得有些捉襟見肘。

在我們的應(yīng)用場景中,首先依賴比較強(qiáng)的專業(yè)知識背景(比如行業(yè)上下游關(guān)系)。除了需要推薦出優(yōu)質(zhì)用戶以外,我們還希望可以對推薦結(jié)果進(jìn)行高度定制,即希望推薦結(jié)果按類別重要程度推出,這個(gè)重要程度依賴行業(yè)經(jīng)驗(yàn)。同時(shí),我們也不希望推薦結(jié)果集中化,即同一類別的用戶集中出現(xiàn),這樣避免對其他類別有需求的用戶帶來不好的用戶體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是為了提供一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦系統(tǒng)和推薦方法,保證與用戶業(yè)務(wù)相關(guān)性比較高的用戶可以優(yōu)先被推薦。

為解決上述技術(shù)問題,第一方面,本發(fā)明提供了一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦系統(tǒng),包括:

數(shù)據(jù)同步模塊:用于將線上數(shù)據(jù)庫的數(shù)據(jù)源同步到本地服務(wù)器,所述數(shù)據(jù)源包括用戶數(shù)據(jù)和標(biāo)簽數(shù)據(jù);

標(biāo)簽計(jì)算模塊:用于按照行業(yè)關(guān)系對用戶標(biāo)簽進(jìn)行分類,并根據(jù)每一類中用戶所持有的標(biāo)簽頻度進(jìn)行排序,獲得標(biāo)簽順序列表;所述行業(yè)關(guān)系包括上游行業(yè)、下游行業(yè)和同行業(yè);

用戶計(jì)算模塊:用于按照用戶特征進(jìn)行分類,然后對每類用戶按照預(yù)定的規(guī)則計(jì)算排序指標(biāo),然后根據(jù)計(jì)算結(jié)果排序,獲得用戶順序列表;

標(biāo)簽推送模塊:用于根據(jù)用戶所提供的注冊信息,確定其所在行業(yè),然后根據(jù)標(biāo)簽順序列表為其推送行業(yè)上游、行業(yè)下游、同行業(yè)三組標(biāo)簽;以及

用戶推送模塊:用于根據(jù)用戶發(fā)送的推薦請求中包含的信息參數(shù),然后按照用戶順序列表為其推送有關(guān)分類的用戶。

可選地或優(yōu)選地,所述用戶計(jì)算模塊的對每類用戶按照預(yù)定的規(guī)則計(jì)算排序指標(biāo),然后根據(jù)計(jì)算結(jié)果排序包括:計(jì)算用戶的好友數(shù)、共同好友數(shù)和標(biāo)簽相似性三項(xiàng)指標(biāo),為每一項(xiàng)指標(biāo)分配權(quán)重并按權(quán)重進(jìn)行加總獲得所述排序指標(biāo)。

可選地或優(yōu)選地,所述計(jì)算用戶的好友數(shù)具體包括:查詢用戶好友表,統(tǒng)計(jì)各用戶正常好友狀態(tài)的好友數(shù),然后對統(tǒng)計(jì)結(jié)果進(jìn)行z-core標(biāo)準(zhǔn)化。

可選地或優(yōu)選地,計(jì)算所述共同好友數(shù)具體包括:查詢用戶好友表,分別得到第一用戶的第一好友集合和第二用戶的第二好友集合,然后計(jì)算第一好友集合和第二好友集合的雅可比系數(shù),即用第一好友集合和第二好友集合的交集除以第一好友集合和第二好友集合的并集。

可選地或優(yōu)選地,計(jì)算所述標(biāo)簽相關(guān)性具體包括:查詢用戶標(biāo)簽表,分別得到第一用戶的第一標(biāo)簽集合和第二用戶的第二標(biāo)簽集合,然后計(jì)算第一標(biāo)簽集合和第二標(biāo)簽集合的雅可比系數(shù),即用第一標(biāo)簽集合和第二標(biāo)簽集合的交集除以第一標(biāo)簽集合和第二標(biāo)簽集合的并集。

可選地或優(yōu)選地,所述標(biāo)簽推送模塊根據(jù)標(biāo)簽順序列表為其推送行業(yè)上游、行業(yè)下游、同行業(yè)三組標(biāo)簽包括:推送標(biāo)簽順序列表中的前n項(xiàng)的標(biāo)簽,如果該標(biāo)簽順序列表中的標(biāo)簽數(shù)小于n,則用按照預(yù)定規(guī)則計(jì)算得到的熱門標(biāo)簽補(bǔ)足。

可選地或優(yōu)選地,所述熱門標(biāo)簽的計(jì)算方式包括:選取活躍用戶的標(biāo)簽,然后按頻次排序,出現(xiàn)頻次越高即越優(yōu)先作為熱門標(biāo)簽。

可選地或優(yōu)選地,所述用戶推送模塊根據(jù)用戶發(fā)送的推薦請求中包含的信息參數(shù),然后按照用戶順序列表為其推送有關(guān)分類的用戶包括:

將各類用戶作為不同的推薦途徑,對推薦途徑按照預(yù)定規(guī)則進(jìn)行排序;

在每一推薦途徑中根據(jù)用戶順序列表提取的前m人作為推送用戶;

查看當(dāng)前已提取人數(shù),如果人數(shù)小于n,則進(jìn)行新一輪提取,直到提取人數(shù)達(dá)到n人為止;

如果最終選定結(jié)果的人數(shù)仍未達(dá)到n,則通過熱門和/或同城用戶補(bǔ)足。

可選地或優(yōu)選地,所述數(shù)據(jù)同步模塊將線上數(shù)據(jù)庫的數(shù)據(jù)源同步到本地服務(wù)器時(shí)采用增量提取,即只抽取自上次抽取以來線上數(shù)據(jù)庫中要抽取的表中新增或修改的數(shù)據(jù)。

第二方面,本發(fā)明提供了一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦方法,包括如下步驟:

將線上數(shù)據(jù)庫的數(shù)據(jù)源同步到本地服務(wù)器,所述數(shù)據(jù)源包括用戶數(shù)據(jù)和標(biāo)簽數(shù)據(jù);

按照行業(yè)關(guān)系對用戶標(biāo)簽進(jìn)行分類,并根據(jù)每一類中用戶所持有的標(biāo)簽頻度進(jìn)行排序,獲得標(biāo)簽順序列表;所述行業(yè)關(guān)系包括上游行業(yè)、下游行業(yè)和同行業(yè);

按照用戶特征進(jìn)行分類,然后對每類用戶按照預(yù)定的規(guī)則計(jì)算排序指標(biāo),然后根據(jù)計(jì)算結(jié)果排序,獲得用戶順序列表;

根據(jù)用戶所提供的注冊信息,確定其所在行業(yè),然后根據(jù)標(biāo)簽順序列表為其推送行業(yè)上游、行業(yè)下游、同行業(yè)三組標(biāo)簽;

根據(jù)用戶發(fā)送的推薦請求中包含的信息參數(shù),然后按照用戶順序列表為其推送有關(guān)分類的用戶。

本發(fā)明提供的一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦方法和系統(tǒng),包括推標(biāo)簽和推人兩部分。推標(biāo)簽主要是根據(jù)用戶本身的行業(yè)或從業(yè)單位所在行業(yè),為其推薦同行業(yè)及行業(yè)上下游產(chǎn)品及服務(wù)作為用戶初始化標(biāo)簽,后續(xù)的標(biāo)簽維護(hù)交給用戶自行維護(hù)以適應(yīng)其個(gè)性化;推人則是要按照不同的類別分別推薦,基于行業(yè)上下游事實(shí)表的推薦,保證了與用戶業(yè)務(wù)相關(guān)性比較高的用戶可以優(yōu)先被推薦,同時(shí)兼顧用戶相關(guān)度、并且使新用戶也有機(jī)會(huì)被推薦到。

附圖說明

圖1為本發(fā)明實(shí)施例1提供的一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦方法的流程圖;

圖2為實(shí)施例1推薦方法的標(biāo)簽計(jì)算中計(jì)算上游行業(yè)標(biāo)簽的具體流程圖;

圖3為實(shí)施例1推薦方法的標(biāo)簽計(jì)算中計(jì)算同行業(yè)標(biāo)簽的具體流程圖;

圖4為實(shí)施例1推薦方法的標(biāo)簽計(jì)算中計(jì)算下游行業(yè)標(biāo)簽的具體流程圖;

圖5為實(shí)施例1推薦方法的用戶計(jì)算的具體流程圖;

圖6為實(shí)施例1推薦方法的用戶推送的具體流程圖;

圖7為本發(fā)明實(shí)施例2提供的一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦系統(tǒng)的結(jié)構(gòu)示意圖;

圖8為本發(fā)明實(shí)施例2提供的一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦系統(tǒng)的架構(gòu)圖。

具體實(shí)施方式

為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。

實(shí)施例1

本發(fā)明實(shí)施例提供的一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦方法,特別適用于為職場人士推薦行業(yè)相關(guān)的的用戶,以便發(fā)現(xiàn)合作機(jī)會(huì),尋找合作商機(jī)。其主要技術(shù)構(gòu)思是基于行業(yè)上下游關(guān)系來優(yōu)化推薦結(jié)果,以使得業(yè)務(wù)相關(guān)性比較高的用戶可以優(yōu)先被推薦。

請參考圖1-6,本實(shí)施例中提供的一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦方法,具體包括如下步驟:

s1:將線上數(shù)據(jù)庫的數(shù)據(jù)源同步到本地服務(wù)器,所述數(shù)據(jù)源包括用戶數(shù)據(jù)和標(biāo)簽數(shù)據(jù);

通過將線上數(shù)據(jù)庫中的數(shù)據(jù)源同步到本地服務(wù)器中,可以對用戶進(jìn)行及時(shí)的更新,保證推薦結(jié)果的及時(shí)性,在同步過程中,優(yōu)選采用新增提取的方法對線上數(shù)據(jù)庫進(jìn)行用戶提取,增量抽取只抽取自上次抽取以來數(shù)據(jù)庫中要抽取的表中新增或修改的用戶數(shù)據(jù),然后將增量數(shù)據(jù)與本地?cái)?shù)據(jù)實(shí)現(xiàn)合并,這樣可以避免相同用戶數(shù)據(jù)的重復(fù)提取和相同數(shù)據(jù)的覆蓋,提高了數(shù)據(jù)同步效率。本地服務(wù)器的系統(tǒng)架構(gòu)可以采用hadoop,其具有利用集群的威力進(jìn)行高速運(yùn)算和存儲的優(yōu)點(diǎn)。增量提取可以采用sqoop以及mr合并工具進(jìn)行增量同步。

s2:按照行業(yè)關(guān)系對用戶標(biāo)簽進(jìn)行分類,并根據(jù)每一類中用戶所持有的標(biāo)簽頻度進(jìn)行排序,獲得標(biāo)簽順序列表;所述行業(yè)關(guān)系包括上游行業(yè)、下游行業(yè)和同行業(yè)。

在用戶數(shù)據(jù)庫中,每個(gè)用戶都具有自己的標(biāo)簽,各個(gè)標(biāo)簽之間存在的行業(yè)關(guān)系,本發(fā)明實(shí)施例按照標(biāo)簽之間的行業(yè)關(guān)系進(jìn)行分類,具體分為與本標(biāo)簽屬于同行業(yè)的同行業(yè)標(biāo)簽、上游行業(yè)的標(biāo)簽和下游行業(yè)的標(biāo)簽。具體的計(jì)算過程包括:

s21:上游行業(yè)標(biāo)簽計(jì)算,即通過行業(yè)上游關(guān)系確定行業(yè)上游用戶,然后依據(jù)行業(yè)上游用戶所持有的標(biāo)簽頻度,確定行業(yè)上游標(biāo)簽順序列表。

s22:同行標(biāo)簽計(jì)算,即通過同行用戶所持有標(biāo)簽的頻度進(jìn)行順序確定。

s23:下游行業(yè)標(biāo)簽計(jì)算,即通過行業(yè)下游關(guān)系確定行業(yè)下游用戶,然后依據(jù)行業(yè)下游用戶所持有的標(biāo)簽頻度,確定行業(yè)下游標(biāo)簽順序列表。

得到各行業(yè)的標(biāo)簽順序列表后,將這些列表存儲在本地服務(wù)器中,以供后續(xù)流程調(diào)取。標(biāo)簽計(jì)算的具體計(jì)算算法可以通過hive以及mr算法包,在hadoop集群進(jìn)行算法運(yùn)算,運(yùn)算結(jié)果會(huì)被推送到hbase進(jìn)行存儲。

s3:按照用戶特征進(jìn)行分類,然后對每類用戶按照預(yù)定的規(guī)則計(jì)算排序指標(biāo),然后根據(jù)計(jì)算結(jié)果排序,獲得用戶順序列表。

除了步驟s2中對行業(yè)進(jìn)行分類推送外,本發(fā)明實(shí)施例還對用戶進(jìn)行分類推送。在用戶分類時(shí),仍然可以按照行業(yè)關(guān)系進(jìn)行分類,并兼顧一些其他用戶特征,這樣推送結(jié)果是基于行業(yè)關(guān)系和其他社會(huì)關(guān)系數(shù)據(jù)融合而成的,推送依據(jù)更加廣泛,用戶獲得的推送結(jié)果相關(guān)性更高,且避免了推送結(jié)果的集中度過高。例如,在一些實(shí)施例中,可以按照下表的用戶特征對用戶進(jìn)行分類:

說明:這里的聚信是指采用該推薦算法的移動(dòng)社交應(yīng)用。

進(jìn)一步,對各個(gè)分類的用戶計(jì)算排序指標(biāo),并按照計(jì)算結(jié)果排序。排序指標(biāo)可以是單一的指標(biāo),優(yōu)選是多種指標(biāo)按照預(yù)定策略的融合。例如,在本實(shí)施例中,采用的三種指標(biāo)來計(jì)算排序指標(biāo),即用戶的好友數(shù)、用戶之間的共同好友數(shù)以及用戶之間的標(biāo)簽相似性,最后的排序指標(biāo)是該三種指標(biāo)按照各自的權(quán)重進(jìn)行加和得到的。在一些實(shí)施例中,具體的計(jì)算方式可以是:

s31:計(jì)算用戶的好友數(shù):查詢用戶好友表,統(tǒng)計(jì)各用戶正常好友狀態(tài)的好友數(shù),然后對統(tǒng)計(jì)結(jié)果進(jìn)行z-core標(biāo)準(zhǔn)化。z-core標(biāo)準(zhǔn)化的公式為:

對序列x1,x2,……xn進(jìn)行變換:

其中,

則新序列y1,y2……yn的值均為0,而方差為1,且無量綱。這種無量綱的處理方法提高了數(shù)據(jù)之間的可比性。

s32:計(jì)算所述共同好友數(shù):查詢用戶好友表,分別得到第一用戶的第一好友集合和第二用戶的第二好友集合,然后計(jì)算第一好友集合和第二好友集合的雅可比系數(shù),即用第一好友集合和第二好友集合的交集除以第一好友集合和第二好友集合的并集。

以用戶a和用戶b為例,計(jì)算共同好友數(shù)時(shí),首先在各自的用戶好友表中獲取用戶a的好友集合a,以及用戶b的好友集合b,然后求兩者的雅克比(jaccard)系數(shù),公式如下:

即統(tǒng)計(jì)既是用戶a的好友、也是用戶b的好友數(shù),再除以用戶a和用戶b好友數(shù)的集合。

s33:計(jì)算所述標(biāo)簽相關(guān)性:查詢用戶標(biāo)簽表,分別得到第一用戶的第一標(biāo)簽集合和第二用戶的第二標(biāo)簽集合,然后計(jì)算第一標(biāo)簽集合和第二標(biāo)簽集合的雅可比系數(shù),即用第一標(biāo)簽集合和第二標(biāo)簽集合的交集除以第一標(biāo)簽集合和第二標(biāo)簽集合的并集。其具體的計(jì)算方法與s32中計(jì)算共同好友數(shù)的方法相同。

需要說明的是,上述步驟s31-s33的執(zhí)行順序不分先后。

s34:將以上三項(xiàng)的統(tǒng)計(jì)結(jié)果進(jìn)行融合,作為最終的排序指標(biāo)。本實(shí)施例以f表示好友數(shù),以s表示共同好友數(shù),以l表示標(biāo)簽相似性,以a1、a2、a3表示三者的系數(shù),融合公式表示為:

a1×f+a2×s+a3×l

針對于公式中的系數(shù),因?yàn)闆]有先驗(yàn)文檔,本實(shí)施例中還是采用人工設(shè)定的,根據(jù)用戶反饋進(jìn)行相應(yīng)調(diào)整。三者的數(shù)值設(shè)定分別為a1=0.3,a2=0.4,a3=0.3。用戶計(jì)算的具體算法也可以通過hive以及mr算法包,在hadoop集群進(jìn)行算法運(yùn)算,運(yùn)算結(jié)果會(huì)被推送到hbase進(jìn)行存儲。

s4:根據(jù)用戶所提供的注冊信息,確定其所在行業(yè),然后根據(jù)標(biāo)簽順序列表為其推送行業(yè)上游、行業(yè)下游、同行業(yè)三組標(biāo)簽。

在推送過程中,推送標(biāo)簽順序列表中的前n項(xiàng)的標(biāo)簽,例如可以推送前20項(xiàng)標(biāo)簽,如果該標(biāo)簽順序列表中的標(biāo)簽數(shù)小于n,則用按照預(yù)定規(guī)則計(jì)算得到的熱門標(biāo)簽補(bǔ)足,這樣可以確保在行業(yè)關(guān)系緊密的用戶數(shù)量不足的情況下,用戶仍然能夠獲得一些具有潛在合作商機(jī)的用戶推送結(jié)果。用戶也可以從這些熱門標(biāo)簽中獲得提示,來完善、維護(hù)自己的標(biāo)簽,以在后續(xù)的請求過程中獲得更多的相關(guān)標(biāo)簽。熱門標(biāo)簽的計(jì)算方式優(yōu)選包括:選取活躍用戶的標(biāo)簽,然后按頻次排序,出現(xiàn)頻次越高即越優(yōu)先作為熱門標(biāo)簽。例如假設(shè)需要推送前20項(xiàng)標(biāo)簽,但是標(biāo)簽順序列表中只有16項(xiàng)標(biāo)簽,則選取出現(xiàn)頻次最高的4項(xiàng)熱門標(biāo)簽排在上述16項(xiàng)標(biāo)簽后推送給用戶。標(biāo)簽推送的目的主要是給用戶做一個(gè)標(biāo)記,為下一步推送用戶做準(zhǔn)備。

s5:根據(jù)用戶發(fā)送的推薦請求中包含的信息參數(shù),然后根據(jù)用戶順序列表為其推送有關(guān)分類的用戶。

用戶推薦面向所有用戶,只要用戶有添加新用戶需求,就可以調(diào)用推薦接口,提供用戶基本信息參數(shù),推薦后臺會(huì)根據(jù)用戶基本特征為其推薦用戶。

以推送n人,每一類型每輪提取m人(n>m)為例,具體的推送過程可以包括:

s51:將各類用戶作為不同的推薦途徑,對推薦途徑按照預(yù)定規(guī)則進(jìn)行排序;

s52:在每一推薦途徑中根據(jù)用戶順序列表提取的前m人作為推送用戶;

s53:查看當(dāng)前已提取人數(shù),如果人數(shù)小于n,則進(jìn)行新一輪提取,直到提取人數(shù)達(dá)到n人為止;

s54:如果最終選定結(jié)果的人數(shù)仍未達(dá)到n,則通過熱門和/或同城用戶補(bǔ)足。

在步驟s51中,用戶特征分類(即推薦途徑分類)及每類中每一輪的提取人數(shù)m可以按照下表來設(shè)定:

最終,每一種推薦渠道的用戶都會(huì)以該類的用戶順序列表的排序指標(biāo)進(jìn)行降序排列,排序指標(biāo)高的用戶會(huì)被優(yōu)先推舉出來呈現(xiàn)給用戶。

在本實(shí)施例中,接收外來調(diào)用需求,傳遞需求參數(shù),同時(shí)接收推薦結(jié)果返回給調(diào)用遠(yuǎn)端都可以通過一個(gè)調(diào)用接口來實(shí)現(xiàn)。

實(shí)施例2

本實(shí)施例提供了一種基于實(shí)施例1中推薦方法的基于行業(yè)上游關(guān)系的個(gè)性化推薦系統(tǒng),如圖7所示,其具體包括以下的模塊:

數(shù)據(jù)同步模塊101:用于將線上數(shù)據(jù)庫的數(shù)據(jù)源同步到本地服務(wù)器,所述數(shù)據(jù)源包括用戶數(shù)據(jù)和標(biāo)簽數(shù)據(jù);

數(shù)據(jù)同步模塊101將線上數(shù)據(jù)庫的數(shù)據(jù)源同步到本地服務(wù)器時(shí)采用增量提取,即只抽取自上次抽取以來線上數(shù)據(jù)庫中要抽取的表中新增或修改的數(shù)據(jù)。

標(biāo)簽計(jì)算模塊102:按照行業(yè)關(guān)系對用戶標(biāo)簽進(jìn)行分類,并根據(jù)每一類中用戶所持有的標(biāo)簽頻度進(jìn)行排序,獲得標(biāo)簽順序列表;所述行業(yè)關(guān)系包括上游行業(yè)、下游行業(yè)和同行業(yè);

用戶計(jì)算模塊103:按照用戶特征進(jìn)行分類,然后對每類用戶按照預(yù)定的規(guī)則計(jì)算排序指標(biāo),然后根據(jù)計(jì)算結(jié)果排序,獲得用戶順序列表;

用戶計(jì)算模塊103的對每類用戶按照預(yù)定的規(guī)則計(jì)算排序指標(biāo),然后根據(jù)計(jì)算結(jié)果排序具體包括:計(jì)算用戶的好友數(shù)、共同好友數(shù)和標(biāo)簽相似性三項(xiàng)指標(biāo),為每一項(xiàng)指標(biāo)分配權(quán)重并按權(quán)重進(jìn)行加總獲得所述排序指標(biāo)。

計(jì)算用戶的好友數(shù)具體包括:查詢用戶好友表,統(tǒng)計(jì)各用戶正常好友狀態(tài)的好友數(shù),然后對統(tǒng)計(jì)結(jié)果進(jìn)行z-core標(biāo)準(zhǔn)化。

計(jì)算所述共同好友數(shù)具體包括:查詢用戶好友表,分別得到第一用戶的第一好友集合和第二用戶的第二好友集合,然后計(jì)算第一好友集合和第二好友集合的雅可比系數(shù),即用第一好友集合和第二好友集合的交集除以第一好友集合和第二好友集合的并集。

計(jì)算所述標(biāo)簽相關(guān)性具體包括:查詢用戶標(biāo)簽表,分別得到第一用戶的第一標(biāo)簽集合和第二用戶的第二標(biāo)簽集合,然后計(jì)算第一標(biāo)簽集合和第二標(biāo)簽集合的雅可比系數(shù),即用第一標(biāo)簽集合和第二標(biāo)簽集合的交集除以第一標(biāo)簽集合和第二標(biāo)簽集合的并集。

標(biāo)簽推送模塊104:根據(jù)用戶所提供的注冊信息,確定其所在行業(yè),然后根據(jù)標(biāo)簽順序列表為其推送行業(yè)上游、行業(yè)下游、同行業(yè)三組標(biāo)簽;

標(biāo)簽推送模塊104根據(jù)標(biāo)簽順序列表為其推送行業(yè)上游、行業(yè)下游、同行業(yè)三組標(biāo)簽具體包括:推送標(biāo)簽順序列表中的前n項(xiàng)的標(biāo)簽,如果該標(biāo)簽順序列表中的標(biāo)簽數(shù)小于n,則用按照預(yù)定規(guī)則計(jì)算得到的熱門標(biāo)簽補(bǔ)足。

所述熱門標(biāo)簽的計(jì)算方式包括:選取活躍用戶的標(biāo)簽,然后按頻次排序,出現(xiàn)頻次越高即越優(yōu)先作為熱門標(biāo)簽。

用戶推送模塊105:根據(jù)用戶發(fā)送的推薦請求中包含的信息參數(shù),然后根據(jù)用戶順序列表為其推送有關(guān)分類的用戶。

所述用戶推送模塊105根據(jù)用戶發(fā)送的推薦請求中包含的信息參數(shù),然后根據(jù)用戶順序列表為其推送有關(guān)分類的用戶具體包括:

將各類用戶作為不同的推薦途徑,對推薦途徑按照預(yù)定規(guī)則進(jìn)行排序;

在每一推薦途徑中根據(jù)用戶順序列表提取的前m人作為推送用戶;

查看當(dāng)前已提取人數(shù),如果人數(shù)小于n,則進(jìn)行新一輪提取,直到提取人數(shù)達(dá)到n人為止;

如果最終選定結(jié)果的人數(shù)仍未達(dá)到n,則通過熱門和/或同城用戶補(bǔ)足。

訪問接口模塊106:訪問接口模塊106主要是用于接收外來調(diào)用需求,向推薦模塊傳遞需求參數(shù),同時(shí)接收推薦結(jié)果返回給調(diào)用遠(yuǎn)端。

上述數(shù)據(jù)同步模塊101、標(biāo)簽計(jì)算模塊102、用戶計(jì)算模塊103、標(biāo)簽推送模塊104和用戶推送模塊105分別對應(yīng)實(shí)施例1中推薦的方法的步驟s1-s5的,其具體的實(shí)現(xiàn)方式和工作過程與實(shí)施例1中的s1-s5相同,在本實(shí)施例中不再贅述。

圖8所示的是本發(fā)明實(shí)施例提供的推薦系統(tǒng)的系統(tǒng)架構(gòu)圖,其主要包括線上數(shù)據(jù)庫201、本地服務(wù)器202和用戶端207,具體的數(shù)據(jù)處理流程為:

本地服務(wù)器202從線上數(shù)據(jù)庫201增量同步用戶數(shù)據(jù),利用hadopp集群203和本地?cái)?shù)據(jù)合并,然后存儲在hbase204中。推薦接口205是連接hbase204、用戶端207和redis存儲系統(tǒng)206的接口,其一方面向hbase204傳遞用戶的訪問請求和參數(shù)信息,另一方面將推送結(jié)果發(fā)送給用戶端207,并且還將推送結(jié)果保存在redis存儲系統(tǒng)206中。

以上對本發(fā)明所提供的一種基于行業(yè)上下游關(guān)系的個(gè)性化推薦方法和系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的核心思想。應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1