一種好友推薦方法和裝置的制造方法
【專利摘要】本申請?zhí)峁┝艘环N好友推薦方法和裝置,該方法包括:根據(jù)目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所述目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)涞挠脩?;根?jù)目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參與同一會(huì)話的用戶劃分到該目標(biāo)用戶的溝通序列中;將與所述目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)?,且未添加為所述目?biāo)用戶的好友的用戶組成第一好友候選集;將與所述目標(biāo)用戶屬于同一溝通序列,且未添加為所述目標(biāo)用戶的好友的用戶組成第二好友候選集;將所述第一好友候選集和第二好友候選集合并,作為所述目標(biāo)用戶的好友推薦集,并推薦給所述目標(biāo)用戶。該方法提高了設(shè)備處理能力,并能夠?yàn)橛脩羧娴剡M(jìn)行好友推薦。
【專利說明】
-種好友推薦方法和裝置
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別設(shè)及一種好友推薦方法和裝置。
【背景技術(shù)】
[0002] 好友推薦業(yè)務(wù)是一種通過對社交網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行挖掘,分析用戶的社交偏好,從而 為用戶推薦好友的業(yè)務(wù)。
[0003] 好友關(guān)系是社交網(wǎng)絡(luò)中最重要的屬性之一,對用戶的活躍程度具有重要的影響。 通過促進(jìn)用戶交友,好友推薦可W提升用戶的活躍程度,在一定程度上提高用戶的黏性。
[0004] 目前,關(guān)于好友推薦,有一種通過對用戶的關(guān)系網(wǎng)絡(luò)進(jìn)行挖掘,利用好友的好友, 也稱為二度好友,形成推薦候選集推薦給用戶。
[0005] 該種好友推薦方式中,推薦候選集由二度好友組成,運(yùn)種策略傾向于對用戶已有 的成熟社交圈子進(jìn)行擴(kuò)展,如,推薦尚未加為好友的同學(xué)或同事。由于來自成熟的社交圈 子,推薦候選集能在一定程度上反映用戶W前的交友偏好,但未必能刻畫新的交友需求。
[0006] 因此,該好友推薦方法在實(shí)際應(yīng)用中無法為用戶提供全面推薦結(jié)果。
【發(fā)明內(nèi)容】
[0007] 有鑒于此,本申請?zhí)峁┮环N好友推薦方法和裝置,提高了設(shè)備處理能力,并能夠?yàn)?用戶全面地進(jìn)行好友推薦。
[000引為解決上述技術(shù)問題,本申請的技術(shù)方案是運(yùn)樣實(shí)現(xiàn)的:
[0009] -種好友推薦方法,該方法包括:
[0010] 從服務(wù)器獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浜偷诙脩絷P(guān)系拓?fù)?所述目標(biāo)用戶 的第一用戶關(guān)系拓?fù)浒ǖ谝挥脩艏蟇及所述第一用戶集合中各用戶之間的好友關(guān)系, 所述第一用戶集合包括所述目標(biāo)用戶W及所述目標(biāo)用戶的1度至Z度好友用戶;所述目標(biāo)用 戶的第二用戶關(guān)系拓?fù)浒ǖ诙脩艏蟇及所述目標(biāo)用戶與所述第二用戶集合中的各 用戶之間的會(huì)話信息,所述第二用戶集合包括所述目標(biāo)用戶W及與所述目標(biāo)用戶存在信息 交互的用戶;其中,Z為大于1的整數(shù);目標(biāo)用戶的1度好友用戶為已添加為所述目標(biāo)用戶好 友的用戶,目標(biāo)用戶的2到Z度好友用戶為未添加為所述目標(biāo)用戶好友的用戶;
[0011] 根據(jù)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所述目標(biāo)用戶屬于同一第一用戶 關(guān)系子拓?fù)涞挠脩?所述目標(biāo)用戶在第一用戶關(guān)系子拓?fù)渲兄辽俅嬖谝粋€(gè)1度好友用戶;
[0012] 根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參與同一會(huì)話的用戶劃 分到該目標(biāo)用戶的溝通序列中;
[0013] 將與所述目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)洌椅刺砑訛樗瞿繕?biāo)用戶的好 友的用戶組成第一好友候選集;將與所述目標(biāo)用戶屬于同一溝通序列,且未添加為所述目 標(biāo)用戶的好友的用戶組成第二好友候選集;
[0014] 將所述第一好友候選集和第二好友候選集合并,作為所述目標(biāo)用戶的好友推薦 集,并推薦給所述目標(biāo)用戶。
[0015] -種好友推薦裝置,該裝置包括:獲取單元、確定單元、處理單元和推薦單元;
[0016] 所述獲取單元,用于從服務(wù)器獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浜偷诙脩絷P(guān)系 拓?fù)?所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浒ǖ谝挥脩艏蟇及所述第一用戶集合中各用 戶之間的好友關(guān)系,所述第一用戶集合包括所述目標(biāo)用戶W及所述目標(biāo)用戶的1度至Z度好 友用戶;所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)浒ǖ诙脩艏蟇及所述目標(biāo)用戶與所述第 二用戶集合中的各用戶之間的會(huì)話信息,所述第二用戶集合包括所述目標(biāo)用戶W及與所述 目標(biāo)用戶存在信息交互的用戶;其中,Z為大于1的整數(shù);目標(biāo)用戶的1度好友用戶為已添加 為所述目標(biāo)用戶好友的用戶,目標(biāo)用戶的2到Z度好友用戶為未添加為所述目標(biāo)用戶好友的 用戶;
[0017] 所述確定單元,用于根據(jù)所述獲取單元獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與 所述目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)涞挠脩?所述目標(biāo)用戶在第一用戶關(guān)系子拓?fù)?中至少存在一個(gè)1度好友用戶;根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參 與同一會(huì)話的用戶劃分到該目標(biāo)用戶的溝通序列中;
[0018] 所述處理單元,用于將所述確定單元確定的與所述目標(biāo)用戶屬于同一第一用戶關(guān) 系子拓?fù)?,且未添加為所述目?biāo)用戶的好友的用戶組成第一好友候選集;將與所述目標(biāo)用 戶屬于同一溝通序列,且未添加為所述目標(biāo)用戶的好友的用戶組成第二好友候選集;
[0019] 所述推薦單元,用于將所述處理單元處理的所述第一好友候選集和第二好友候選 集合并,作為所述目標(biāo)用戶的好友推薦集,并推薦給所述目標(biāo)用戶。
[0020] 由上面的技術(shù)方案可知,本申請中基于由用戶和與該用戶存在好友關(guān)系的用戶組 成的第一用戶關(guān)系拓?fù)?,W及由用戶和與該用戶進(jìn)行會(huì)話的用戶組成的第二用戶關(guān)系拓?fù)?提供好友推薦方法;第一好友關(guān)系拓?fù)錇橛脩糸L期的交友行為累積下的,反應(yīng)了用戶長期 的交友偏好,第二用戶關(guān)系拓?fù)溆捎脩艚诘慕挥鸦顒?dòng)產(chǎn)生,反映用戶近期的交友興趣。通 過對運(yùn)兩種拓?fù)溥M(jìn)行挖掘和融合,提高設(shè)備處理能力,并能夠?yàn)橛脩暨M(jìn)行全面的好友推薦。
【附圖說明】
[0021 ]圖1為本申請實(shí)施例中好友推薦流程示意圖;
[0022] 圖2為本申請實(shí)施例中表示用戶1的第一用戶關(guān)系拓?fù)涞木W(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的示意圖;
[0023] 圖3為本申請實(shí)施例中用戶1的一對多的用戶關(guān)系拓?fù)涫疽鈭D;
[0024] 圖4為本申請實(shí)施例中用戶1的一對一的用關(guān)系拓?fù)涫疽鈭D;
[0025] 圖5為本申請實(shí)施例中為好友推薦中的用戶排序流程示意圖;
[0026] 圖6為本申請實(shí)施例中好友推薦裝置結(jié)構(gòu)示意圖;
[0027] 圖7為本申請具體實(shí)施例中好友推薦設(shè)備的硬件架構(gòu)組成示意圖。
【具體實(shí)施方式】
[0028] 為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖并舉實(shí)施例, 對本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)說明。
[0029] 本申請實(shí)施例中為了能更全面地為社交網(wǎng)絡(luò)系統(tǒng)中用戶進(jìn)行好友推薦,通過基于 社交網(wǎng)絡(luò)系統(tǒng)中的第一用戶關(guān)系拓?fù)浜偷诙脩絷P(guān)系拓?fù)錇橛脩敉扑]好友。
[0030] 其中,第一用戶關(guān)系拓?fù)錇樯缃痪W(wǎng)絡(luò)系統(tǒng)中用戶間長期的交友行為累積下的,反 應(yīng)了用戶間長期的交友偏好的關(guān)系拓?fù)?。該第一用戶關(guān)系拓?fù)浒ㄉ缃痪W(wǎng)絡(luò)系統(tǒng)中的各用 戶W及各用戶之間的好友關(guān)系信息。具體的,第一用戶關(guān)系拓?fù)淇蒞采用網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)來 表示。該網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)包括頂點(diǎn)集合V和邊集合E,記為G =(V,E)。其中頂點(diǎn)集合V中的每一 個(gè)頂點(diǎn)代表社交網(wǎng)絡(luò)系統(tǒng)中的一個(gè)用戶。邊集合E中的每一條邊表示網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中該邊 所連接的兩個(gè)頂點(diǎn)所代表的用戶之間存在好友關(guān)系,且每條邊包含了好友分組、好友備注 等信息。即當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的兩個(gè)頂點(diǎn)之間存在邊時(shí),表示運(yùn)兩個(gè)頂點(diǎn)所代表的用戶之 間存在好友關(guān)系;當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中的兩個(gè)頂點(diǎn)之間不存在邊時(shí),表示運(yùn)兩個(gè)頂點(diǎn)所代表 的用戶之間不存在好友關(guān)系。
[0031] 第二用戶關(guān)系拓?fù)錇樯缃痪W(wǎng)絡(luò)系統(tǒng)中各用戶近期的交友活動(dòng)產(chǎn)生的,反映各用戶 間近期的交友興趣的關(guān)系拓?fù)洹T摰诙脩絷P(guān)系拓?fù)浒ㄒ粚Χ嘤脩絷P(guān)系拓?fù)浜鸵粚σ挥?戶關(guān)系拓?fù)?。其中一對多用戶關(guān)系拓?fù)涫侵敢粋€(gè)用戶將消息發(fā)送給多個(gè)用戶的關(guān)系拓?fù)洌?如群組會(huì)話等。該一對多用戶關(guān)系拓?fù)浒ㄉ缃痪W(wǎng)絡(luò)系統(tǒng)中的多個(gè)用戶W及各用戶之間的 會(huì)話信息。一對一用戶關(guān)系拓?fù)涫侵竼蝹€(gè)用戶將消息發(fā)送給單個(gè)用戶的關(guān)系拓?fù)洌缫粚?一會(huì)話等。該一對一用戶關(guān)系拓?fù)浒ㄉ缃痪W(wǎng)絡(luò)系統(tǒng)中的任意兩個(gè)用戶W及任意兩個(gè)用戶 之間的會(huì)話信息。
[0032] 下面結(jié)合附圖,詳細(xì)說明本申請實(shí)施例中實(shí)現(xiàn)好友推薦過程。
[0033] 參見圖1,圖1為本申請實(shí)施例中好友推薦流程示意圖。具體步驟為:
[0034] 步驟101,設(shè)備從服務(wù)器上獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浜偷诙脩絷P(guān)系拓 撲。
[0035] 其中,目標(biāo)用戶為社交網(wǎng)絡(luò)系統(tǒng)中需要向其推薦好友的用戶。目標(biāo)用戶可W為社 交網(wǎng)絡(luò)系統(tǒng)中的任意一個(gè)用戶。
[0036] 服務(wù)器可W是一個(gè)服務(wù)器,也可W是多個(gè)服務(wù)器,用于存儲(chǔ)第一用戶關(guān)系拓?fù)浜?第二用戶關(guān)系拓?fù)洹?shí)現(xiàn)本申請?jiān)O(shè)備可W是一臺(tái)PC,也可W是存儲(chǔ)數(shù)據(jù)信息的服務(wù)器,在下 文中統(tǒng)稱為設(shè)備。
[0037] 目標(biāo)用戶的第一用戶關(guān)系拓?fù)浒ǖ谝挥脩艏蟇及該第一用戶集合中各用戶 之間的好友關(guān)系信息。
[0038] 其中,第一用戶集合包括該目標(biāo)用戶W及該目標(biāo)用戶的1度至Z度好友用戶。其中, 目標(biāo)用戶的1度好友用戶是指已被該目標(biāo)用戶添加為好友的用戶。
[0039] 如,社交網(wǎng)絡(luò)系統(tǒng)QQ中的QQ好友,社交網(wǎng)絡(luò)系統(tǒng)微信中的微信好友等。該目標(biāo)用戶 可W有多個(gè)QQ好友,也可W有多個(gè)微信好友。目標(biāo)用戶的2度好友用戶是指該目標(biāo)用戶的好 友的好友用戶,依次類推,目標(biāo)用戶的Z度好友用戶為該目標(biāo)用戶的Z-I度好友的好友用戶。 其中,Z為大于1的整數(shù),即本申請實(shí)施例中,該目標(biāo)用戶的第一用戶集合至少包括該目標(biāo)用 戶W及該目標(biāo)用戶的1度至2度好友用戶。
[0040] 該目標(biāo)用戶的第一用戶集合中各用戶之間的好友關(guān)系信息包括第一用戶集合中 各用戶之間的好友關(guān)系,W及第一用戶集合中各用戶之間的好友關(guān)系對應(yīng)的好友分組信 息、好友備注信息等。
[0041] 參見圖2,圖2為本申請實(shí)施例中表示用戶1的第一用戶關(guān)系拓?fù)涞木W(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu) 的示意圖。
[0042] 圖2中,該用戶1的第一用戶關(guān)系拓?fù)浒ǖ谝挥脩艏虾偷谝挥脩艏现械母饔?戶之間的好友關(guān)系信息,W用戶I的I至2度好友構(gòu)成的第一用戶關(guān)系拓?fù)錇槔?。其中,第?用戶集合包括用戶1、用戶1的一度好友用戶(包括用戶2、用戶3和用戶4) W及用戶1的二度 好友用戶(包括用戶5、用戶6、用戶7、用戶8、用戶9和用戶10);并且在用戶1的1度好友中,用 戶2和用戶3之間互為1度好友;在用戶1的2度好友中,用戶5和用戶6, W及用戶9和用戶10之 間互為1度好友。
[0043] 在圖2所示的用戶1的第一用戶關(guān)系拓?fù)涞木W(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,其包括分別代表用戶 1至用戶10的頂點(diǎn)集合V和分別代表用戶1至10中的各用戶之間的好友關(guān)系的邊的集合E。一 條邊表示兩個(gè)用戶之間存在1度好友關(guān)系,如用戶巧日用戶3之間的邊,表示用戶1和用戶3之 間互為1度好友;用戶5和用戶6之間的邊,表示用戶5和用戶6之間互為1度好友;邊還包含了 分組、備注等信息。
[0044] 本步驟中的目標(biāo)用戶的第二用戶關(guān)系拓?fù)浒ǖ诙脩艏蟇及所述目標(biāo)用戶 與所述第二用戶集合中的各用戶之間的會(huì)話信息,所述第二用戶集合包括所述目標(biāo)用戶W 及與所述目標(biāo)用戶存在信息交互的用戶。
[0045] 第二用戶關(guān)系拓?fù)?,包括兩類拓?fù)?,第一類拓?fù)錇橐粚Χ嘤脩絷P(guān)系拓?fù)?第二類拓 撲為一對一用戶關(guān)系拓?fù)洹?br>[0046] 其中,一對多用戶關(guān)系拓?fù)錇槟繕?biāo)用戶與多個(gè)用戶進(jìn)行會(huì)話的拓?fù)洌蝗缌奶焓抑?的會(huì)話,一個(gè)用戶發(fā)送信息,其他用戶都能夠看到;再比如一個(gè)QQ群、微信群等;一個(gè)QQ群, 或者一個(gè)微信群中用戶之間進(jìn)行會(huì)話時(shí)構(gòu)成一個(gè)一對多用戶關(guān)系拓?fù)洹?br>[0047] 參見圖3,圖3為本申請實(shí)施例中用戶1的一對多的用戶關(guān)系拓?fù)涫疽鈭D。
[0048] 圖3中,W用戶1所在的一個(gè)QQ群為例,該QQ群中包括6個(gè)用戶,分別為用戶1、用戶 2、用戶3、用戶4、用戶5和用戶6。當(dāng)任一用戶發(fā)送消息時(shí),該QQ群中的其他用戶都會(huì)接收到 該用戶發(fā)送的消息,如用戶1發(fā)送消息,該QQ群中的用戶2、用戶3、用戶4、用戶5和用戶6都會(huì) 接收到該消息。
[0049] 其中,一對一用戶關(guān)系拓?fù)錇閱蝹€(gè)用戶與單個(gè)用戶進(jìn)行會(huì)話的拓?fù)?;即兩兩用?之間會(huì)話的拓?fù)?,如QQ聊天中一個(gè)用戶與其一個(gè)好友一對一聊天。
[0050] 參見圖4,圖4為本申請實(shí)施例中用戶1的一對一的用關(guān)系拓?fù)涫疽鈭D。
[0051] 圖4中,W用戶1為目標(biāo)用戶為例,用戶1分別與用戶2和用戶3進(jìn)行單獨(dú)會(huì)話;用戶2 分別與用戶4、用戶5和用戶6進(jìn)行單獨(dú)會(huì)話。
[0052] 步驟102,該設(shè)備根據(jù)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所述目標(biāo)用戶屬 于同一第一用戶關(guān)系子拓?fù)涞挠脩?;該目?biāo)用戶在第一用戶關(guān)系子拓?fù)渲兄辽俅嬖谝粋€(gè)1 度好友用戶。
[0053] 本步驟中該設(shè)備根據(jù)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所述目標(biāo)用戶屬 于同一第一用戶關(guān)系子拓?fù)涞挠脩?,包括?br>[0054] (1)、假設(shè)當(dāng)該目標(biāo)用戶的第一用戶關(guān)系拓?fù)渲械乃杏脩魧儆诓煌牡谝挥脩?關(guān)系子拓?fù)鋾r(shí),計(jì)算目標(biāo)用戶的第一用戶關(guān)系拓?fù)涞哪K度Q;
[0055] (2)、確定該目標(biāo)用戶的第一用戶關(guān)系拓?fù)渲腥我鈨蓚€(gè)用戶是否屬于同一第一用 戶關(guān)系子拓?fù)洌?br>[0056] 假設(shè)所述兩個(gè)用戶屬于同一第一用戶關(guān)系子拓?fù)?,第一用戶關(guān)系拓?fù)渲械钠渌?戶屬于不同的第一用戶關(guān)系子拓?fù)洌揖粚儆谒鰞蓚€(gè)用戶所屬的第一用戶關(guān)系子拓?fù)?時(shí),計(jì)算目標(biāo)用戶的第一用戶關(guān)系拓?fù)涞哪K度p;
[0057] 針對任一用戶,將P大于Q,且值最大的P對應(yīng)的兩個(gè)用戶,確定屬于一個(gè)第一用戶 關(guān)系子拓?fù)洹?br>[0058] 該設(shè)備計(jì)算目標(biāo)用戶的第一用戶關(guān)系拓?fù)涞哪K度的方法為:
[0059] 第一用戶關(guān)系拓?fù)涞哪K度為
[0060] 其中,Aij為鄰接矩陣,若用戶巧日用戶j為1度好友,則Aij = 1,否則Aij = 0;M為第一 用戶關(guān)系拓?fù)渲袃蓛捎脩糁g互為1度好友的個(gè)數(shù);ki為與用戶i存在1度好友關(guān)系的用戶 的個(gè)數(shù),kj為與用戶j存在1度好友關(guān)系的用戶的個(gè)數(shù);Cl為用戶i所屬的第一用戶關(guān)系子拓 撲,C功用戶j所屬的第一用戶關(guān)系子拓?fù)?,若Ci = Cj,則S(Ci尼)=1,否則,S化尼)=〇山 j為1到N的整數(shù),N為第一用戶關(guān)系拓?fù)渲杏脩舻膫€(gè)數(shù)。
[0061] W目標(biāo)用戶為用戶1,用戶1對應(yīng)的第一用戶關(guān)系拓?fù)渲邪?用戶1、用戶2、用戶3 和用戶4;
[0062] 假設(shè)用戶1和用戶2,用戶1和用戶3,用戶1和用戶4, W及用戶2和用戶3計(jì)算出的P 均大于Q,且針對用戶1和用戶2計(jì)算的P大于用戶2和用戶3計(jì)算出的P,也大于用戶1和用戶 4, W及用戶1和用戶3計(jì)算出的P,則將用戶1和用戶2確定屬于同一用戶關(guān)系子拓?fù)?;用? 屬于一個(gè)第一用戶關(guān)系子拓?fù)洌挥脩?屬于一個(gè)用戶關(guān)系子拓?fù)洹?br>[0063] (3)、當(dāng)確定出多個(gè)第一用戶關(guān)系子拓?fù)鋾r(shí),確定所述第一用戶關(guān)系子拓?fù)涫欠衲?合并,如果是,將能夠合并的第一用戶關(guān)系子拓?fù)浜喜ⅰ?br>[0064] 如上述舉例,確定出S個(gè)第一用戶關(guān)系子拓?fù)?,還需確定各第一用戶關(guān)系子拓?fù)?是否能夠合并。
[0065] 當(dāng)確定出多個(gè)第一用戶關(guān)系子拓?fù)鋾r(shí),確定所述第一用戶關(guān)系子拓?fù)涫欠衲芎?并,包括:
[0066] 當(dāng)所有第一用戶關(guān)系子拓?fù)渚荒芎喜r(shí),計(jì)算第一用戶關(guān)系子拓?fù)鋵?yīng)的第一 用戶關(guān)系拓?fù)涞哪K度W;
[0067] 通過W下方法確定所述多個(gè)第一用戶關(guān)系子拓?fù)渲腥我鈨蓚€(gè)第一用戶關(guān)系子拓 撲是否能合并:
[0068] 當(dāng)所述兩個(gè)第一用戶關(guān)系子拓?fù)淠軌蚝喜?,其它第一用戶關(guān)系子拓?fù)渚荒芎喜?時(shí),計(jì)算第一用戶關(guān)系子拓?fù)鋵?yīng)的第一用戶關(guān)系拓?fù)涞哪K度R;
[0069] 將R大于W,且值最大的R對應(yīng)的兩個(gè)第一用戶關(guān)系子拓?fù)浯_定為能合并。
[0070] 如果進(jìn)行上述步驟處理后,還存在多個(gè)第一用戶關(guān)系子拓?fù)鋾r(shí),再進(jìn)行迭代,確定 當(dāng)前確定的各第一用戶關(guān)系子拓?fù)涫欠衲芎喜ⅲ钡酱_定出一個(gè)第一用戶關(guān)系子拓?fù)?,?者確定出的所有第一用戶關(guān)系子拓?fù)渚荒茉俸喜ⅰ?br>[0071] 上述設(shè)備計(jì)算第一用戶關(guān)系子拓?fù)鋵?yīng)的第一用戶關(guān)系拓?fù)涞哪K度的方法為:
[0072] 第一用戶關(guān)系拓?fù)涞哪K度為:
[0073] 其中,Ahi為鄰接矩陣,若第一用戶關(guān)系子拓?fù)鋒中的用戶和第一用戶關(guān)系子拓?fù)? 中的用戶至少存在一對用戶為1度好友,則Ahi = 1,否則Ahi = 0 ;M為第一用戶關(guān)系拓?fù)渲袃?兩用戶之間互為I度好友的個(gè)數(shù);kh為第一用戶關(guān)系子拓?fù)鋒中所有用戶的I度好友去重后 的1度好友的總個(gè)數(shù);kl為第一用戶關(guān)系子拓?fù)?中所有用戶的1度好友去重后的1度好友的 總個(gè)數(shù);Ch為第一用戶關(guān)系子拓?fù)鋒,Ci為第一用戶關(guān)系子拓?fù)?,若Ch = Ci,則S(Ch,Ci) = l, 否則,S(Ch,Ci)=0;h,l為1到T的整數(shù),T為第一用戶關(guān)系子拓?fù)涞膫€(gè)數(shù)。
[0074] W第(2)步對應(yīng)的舉例中確定出的S個(gè)第一用戶關(guān)系子拓?fù)錇槔謩e記為第一 用戶關(guān)系子拓?fù)?(包括用戶1和用戶2)、第一用戶關(guān)系子拓?fù)?(包括用戶3)和第一用戶關(guān) 系子拓?fù)?(包括用戶4)。Wh為1,1為2為例,用戶1或用戶2,與用戶3為1度好友時(shí),則Au = I, 否則Au = Onki為用戶巧日用戶2的1度好友去重后的1度好友的總個(gè)數(shù),如用戶1的1度好友為 用戶2和用戶3,用戶2的1度好友為用戶3和用戶4,則kl為2。
[0075] 仍然W第(2)步對應(yīng)的舉例中確定出的=個(gè)第一用戶關(guān)系子拓?fù)錇槔?,若確定第 一用戶關(guān)系子拓?fù)?和第一用戶關(guān)系子拓?fù)?能夠合并,且進(jìn)一步確定合并后的第一用戶關(guān) 系子拓?fù)浜偷谝挥脩絷P(guān)系子拓?fù)?不能合并,則最終確定出兩個(gè)第一用戶關(guān)系子拓?fù)?,一個(gè) 第一用戶關(guān)系子拓?fù)浒ㄓ脩?、用戶2和用戶3;另一個(gè)第一用戶關(guān)系子拓?fù)浒ㄓ脩?。
[0076] 因此,針對用戶1,確定用戶2和用戶3與用戶1屬于同一第一用戶關(guān)系子拓?fù)洹?br>[0077] 步驟103,該設(shè)備根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參與同 一會(huì)話的用戶劃分到該目標(biāo)用戶的溝通序列中。
[0078] 由于第二用戶關(guān)系拓?fù)浒▋深愅負(fù)?,因此,針對目?biāo)用戶分別計(jì)算在兩類拓?fù)?中的溝通序列,若在兩類拓?fù)渲芯?jì)算出溝通序列,則將運(yùn)兩類拓?fù)渲杏?jì)算出的溝通序列 合并作為該目標(biāo)用戶的溝通序列。
[0079] 下面詳細(xì)描述溝通序列的確定過程:
[0080] 首先,在第一預(yù)設(shè)時(shí)間內(nèi),針對目標(biāo)用戶的一對多用戶關(guān)系拓?fù)浯_定溝通序列;目 標(biāo)用戶與所述第二用戶集合中的各用戶之間的會(huì)話信息包括:發(fā)布信息的用戶的名稱,W 及發(fā)布信息的時(shí)間。
[0081] 確定溝通序列的過程具體如下:
[0082] 在第一預(yù)設(shè)時(shí)間內(nèi),目標(biāo)用戶可能參與了多個(gè)群的會(huì)話,則先針對每個(gè)群的會(huì)話 進(jìn)行如下處理:
[0083] 根據(jù)會(huì)話消息的發(fā)送時(shí)間,將發(fā)送兩條相鄰消息的時(shí)間間隔小于第二預(yù)設(shè)時(shí)間的 會(huì)話消息劃分到一個(gè)會(huì)話段,將參與該會(huì)話段的用戶劃分到同一溝通序列中;若該用戶參 與多個(gè)會(huì)話段,則將該用戶的多個(gè)會(huì)話段對應(yīng)的溝通序列合并作為該目標(biāo)用戶針對一對多 用戶關(guān)系拓?fù)浯_定的溝通序列。
[0084] 若該用戶參與了多個(gè)群的會(huì)話,則將針對各個(gè)群確定的溝通序列再合并為一個(gè)溝 通序列作為該目標(biāo)用戶針對一對多用戶關(guān)系拓?fù)浯_定的溝通序列。
[0085] 根據(jù)每個(gè)會(huì)話段生成一個(gè)溝通序列,如一個(gè)會(huì)話段由用戶A發(fā)起,即用戶A發(fā)布第 一條會(huì)話消息;接下來,用戶B發(fā)送會(huì)話消息;然后用戶A發(fā)送會(huì)話消息,最后用戶C發(fā)送會(huì)話 消息;則針對該會(huì)話段的溝通序列為(A,B,A,C)。
[0086] 若針對一對多用戶關(guān)系拓?fù)?,用戶A的第一個(gè)會(huì)話段對應(yīng)的溝通序列為(A,B,A, C),第二個(gè)會(huì)話段對應(yīng)的溝通序列為(A,D,C,C);則針對用戶A在一對多用戶關(guān)系拓?fù)渲械?溝通序列為運(yùn)兩個(gè)溝通序列的并集,如合并后的溝通序列為(A,B,A,C;A,D,C,C)。
[0087] 若針對用戶A在第一預(yù)設(shè)時(shí)間內(nèi)參與了兩個(gè)群的會(huì)話,針對第一群的溝通序列為 (0,4、(:,〇,針對第二個(gè)群的會(huì)話序列為^,0,〇,則確定用戶4在第一預(yù)設(shè)時(shí)間內(nèi)的溝通序 列為(D,A、C,C,A,D,C)。
[0088] 在合并溝通序列時(shí),可W隨機(jī)選擇將哪個(gè)溝通序列放在序列的前段或后段,也可 W配置規(guī)則,按配置的規(guī)則按順序放置各溝通序列到一個(gè)溝通序列中。
[0089] 其次,在第一預(yù)設(shè)時(shí)間內(nèi),針對一對一用戶關(guān)系拓?fù)浯_定溝通序列。
[0090] 針對一對一用戶關(guān)系拓?fù)洌繕?biāo)用戶與第二用戶集合中的各用戶之間的會(huì)話信息 包括:收、發(fā)會(huì)話消息的用戶的名稱,進(jìn)行會(huì)話的兩個(gè)用戶發(fā)送會(huì)話消息的次數(shù)。
[0091] 仍然W圖4為例,圖4所示的拓?fù)渲?,目?biāo)用戶與第二集合中的各用戶之間的會(huì)話 信息包括:收、發(fā)會(huì)話消息的用戶的名稱為用戶1和用戶2時(shí),發(fā)送會(huì)話消息的次數(shù)為5;收發(fā) 會(huì)話消息的用戶的名稱為用戶1和用戶3時(shí),發(fā)送會(huì)話消息的次數(shù)為10;收、發(fā)會(huì)話消息的用 戶的名稱為用戶2和用戶4時(shí),發(fā)送會(huì)話消息的次數(shù)為3;收、發(fā)會(huì)話消息的用戶名稱為用戶2 和用戶5時(shí),發(fā)送會(huì)話消息的次數(shù)為5;收、發(fā)會(huì)話消息的用戶名稱為用戶2和用戶6時(shí),發(fā)送 會(huì)話消息的次數(shù)為10。
[0092] 針對一對一用戶關(guān)系拓?fù)渲械母饔脩舻臏贤ㄐ蛄猩傻姆绞綖椋琖所述各用戶為 初始遍歷點(diǎn),采用隨機(jī)游走的方式生成所述各用戶的溝通序列。
[0093] 針對一對一用戶關(guān)系拓?fù)渲械哪繕?biāo)用戶確定溝通序列的具體過程如下:
[0094] W目標(biāo)用戶作為初始遍歷點(diǎn);分別確定選擇將各其它用戶作為下一個(gè)遍歷點(diǎn)的概 率,其中,將該目標(biāo)用戶與任一其它用戶發(fā)送會(huì)話消息的次數(shù)在總會(huì)話消息的次數(shù)中所占 百分率作為選擇該其它用戶作為下一個(gè)遍歷點(diǎn)的概率,并按照各其它用戶作為下一個(gè)遍歷 點(diǎn)的概率選擇作為下一遍歷點(diǎn)的用戶,直到曾作為遍歷點(diǎn)的用戶數(shù)達(dá)到預(yù)設(shè)用戶個(gè)數(shù),將 各曾作為遍歷點(diǎn)的用戶組成集合,作為該目標(biāo)用戶的溝通序列。
[00M]如W用戶A為初始遍歷點(diǎn),與用戶A進(jìn)行會(huì)話的用戶為用戶B、C、D,且分別發(fā)送會(huì)話 消息的次數(shù)為50、20、30,則針對用戶B,確定用戶B作為下一遍歷點(diǎn)的概率為50%,針對用戶 C,確定用戶C作為下一遍歷點(diǎn)的概率為20%,針對用戶D,確定用戶D作為下一遍歷點(diǎn)的概率 為30%,則按照各用戶作為下一遍歷點(diǎn)的概率選擇作為下一遍歷點(diǎn)的用戶。
[0096] 假設(shè)選擇用戶D作為下一遍歷起點(diǎn),與用戶D進(jìn)行會(huì)話的用戶為用戶E、F、A,則分別 確定用戶E、F、A作為下一遍歷點(diǎn)的概率,W此類推,直到作為遍歷點(diǎn)的用戶達(dá)到預(yù)設(shè)用戶個(gè) 數(shù),如10,則結(jié)束遍歷,將運(yùn)10個(gè)遍歷點(diǎn)對應(yīng)的用戶組成一個(gè)集合,作為用戶A的溝通序列。
[0097] 最后,針對目標(biāo)用戶,將該目標(biāo)用戶針對一對多用戶關(guān)系拓?fù)浜鸵粚σ挥脩絷P(guān)系 拓?fù)浯_定的溝通序列合并,作為該目標(biāo)用戶針對第二用戶關(guān)系拓?fù)浯_定的溝通序列。
[0098] 本實(shí)施例中,第一預(yù)設(shè)時(shí)間大于第二預(yù)設(shè)時(shí)間;第一預(yù)設(shè)時(shí)間為標(biāo)識(shí)獲取第二用 戶關(guān)系拓?fù)涞臅r(shí)間段,如最近一天、一周等時(shí)間。
[0099] 步驟102和步驟103在執(zhí)行過程中不區(qū)分先后順序。
[0100] 步驟104,該設(shè)備將與該目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)?,且未添加為所?目標(biāo)用戶的好友的用戶組成第一好友候選集;將與所述目標(biāo)用戶屬于同一溝通序列,且未 添加為所述目標(biāo)用戶的好友的用戶組成第二好友候選集。
[0101] 步驟105,該設(shè)備將所述第一好友候選集和第二好友候選集合并,作為所述目標(biāo)用 戶的好友推薦集,并推薦給所述目標(biāo)用戶。
[0102] 通過上述實(shí)現(xiàn)方式,在確定好友推薦集時(shí),考慮了第一用戶關(guān)系拓?fù)浜偷诙脩?關(guān)系拓?fù)?,即既考慮了用戶長期的興趣愛好,也考慮了近期的興趣愛好,能夠更全面地為用 戶推薦好友。
[0103] 通過上述方式可W看出,通常為用戶推薦的好友不止一個(gè),有時(shí)候還會(huì)很多,由于 通常情況下用戶關(guān)注排序靠前的用戶,或者由于頁面顯示關(guān)系,不能全在一個(gè)界面上顯示, 因此,將推薦的好友按照系統(tǒng)認(rèn)為比較優(yōu)質(zhì)的好友,即用戶可能接收推薦的用戶,進(jìn)行排 序,并將優(yōu)質(zhì)的好友優(yōu)先推薦給用戶變得尤為重要。
[0104] 下面結(jié)合附圖,給出本申請?zhí)峁┑臑楹糜淹扑]集中的用戶排序的過程。
[0105] 設(shè)備根據(jù)實(shí)際應(yīng)用為用戶的各特征配置權(quán)重值。
[0106] 參見圖5,圖5為本申請實(shí)施例中為好友推薦中的用戶排序流程示意圖。具體步驟 為:
[0107] 步驟501,設(shè)備將第一用戶關(guān)系子拓?fù)渲谐霈F(xiàn)次數(shù)最多的關(guān)系類型作為該第一用 戶關(guān)系子拓?fù)涞膶傩?,為該屬性配置屬性值,并將該屬性值作為對?yīng)的第一好友候選集中 的各用戶的第一特征的特征值。
[0108] 在第一用戶關(guān)系拓?fù)渲?,存在邊的關(guān)系的用戶,會(huì)包含分組、備注等信息,分組中 如同學(xué)、同事等關(guān)系類型。
[0109] 該設(shè)備通過語義識(shí)別抽取其中包含的關(guān)系類型,將一個(gè)第一用戶關(guān)系子拓?fù)渲谐?現(xiàn)次數(shù)最多的關(guān)系類型,作為該第一用戶關(guān)系子拓?fù)涞膶傩?,并根?jù)實(shí)際需要為該屬性配 置屬性值,如實(shí)際應(yīng)用中認(rèn)為同學(xué)運(yùn)種關(guān)系類型更重要,則為該種關(guān)系類型配置值大的屬 性值;否則,配置值小的屬性值。
[0110] 步驟502,該設(shè)備確定第一用戶關(guān)系子拓?fù)渲懈饔脩襞c該第一用戶關(guān)系子拓?fù)涞?關(guān)系緊密程度,為各用戶與該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度配置緊密關(guān)系程度值, 將各用戶對應(yīng)的緊密關(guān)系程度值作為對應(yīng)第一好友候選集中的對應(yīng)用戶的第二特征值。
[0111] 本步驟中確定第一用戶關(guān)系子拓?fù)渲懈饔脩襞c該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊 密程度,包括:
[0112] 任一用戶與對應(yīng)第一用戶關(guān)系子拓?fù)渲械挠脩舸嬖诠餐糜训膫€(gè)數(shù);或與第一用 戶關(guān)系子拓?fù)渲械挠脩糁g的發(fā)送會(huì)話消息的次數(shù)作為該第一用戶關(guān)系子拓?fù)渲袑?yīng)用 戶與該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度。
[0113] 在具體實(shí)現(xiàn)時(shí),可W將共同好友個(gè)數(shù)多的、發(fā)送會(huì)話消息的次數(shù)多的用戶與該第 一用戶關(guān)系子拓?fù)涞木o密關(guān)系程度值配置的大一些。
[0114] 步驟503,該設(shè)備將第二好友候選集中的用戶在各溝通序列中作為發(fā)起人的次數(shù) 作為該用戶的第=特征值。
[0115] 在一個(gè)溝通序列中,運(yùn)里的溝通序列指針對每個(gè)會(huì)話段的溝通序列,第一個(gè)發(fā)送 會(huì)話消息的用戶作為該溝通序列的發(fā)起人。
[0116] 步驟504,針對任一用戶,該設(shè)備確定該用戶與其第二好友候選集中的用戶的相似 度,并將確定的相似度作為第二候選集中對應(yīng)用戶的第四特征值。
[0117] 本步驟中確定該用戶與其第二好友候選集中的用戶的相似度,包括:
[0118] 通過對第二好友候選集采用預(yù)設(shè)算法,如Word2Vec算法,進(jìn)行訓(xùn)練,獲得每個(gè)用戶 的向量,根據(jù)每個(gè)用戶的向量計(jì)算兩個(gè)用戶的相似度,如使用點(diǎn)積的方式計(jì)算兩個(gè)用戶的 相似度。
[0119] 步驟505,針對一個(gè)好友推薦集中的各用戶使用特征值加權(quán)求和獲得用戶的序列 值,該設(shè)備按照序列值從大到小的順序排列各用戶,并在推薦好友時(shí)按照排列順序推薦。
[0120] 該設(shè)備還可W根據(jù)當(dāng)前實(shí)際應(yīng)用情況,確定是否獲取新的數(shù)據(jù)信息,來重新確定 推薦好友集;也可W通過上線用戶選擇推薦好友的反饋信息來確定是否重新確定好友推薦 集,或者好友推薦集中用戶的排列順序。
[0121] 該設(shè)備根據(jù)上線用戶選擇推薦好友的反饋信息,即用戶添加哪些用戶為好友,或 者用戶一直未使用該種推薦,未添加任何好友;若確定當(dāng)前推薦的好友被用戶選擇添加為 好友的概率小于預(yù)設(shè)值,重新為用戶的各特征值配置權(quán)重,并重新計(jì)算各用戶的序列值,按 重新計(jì)算的序列值排列各用戶,并使用重新排列的順序推薦給用戶。
[0122] 本申請實(shí)施例中通過對好友推薦集中的用戶按照在第一用戶關(guān)系拓?fù)浜偷诙?戶關(guān)系拓?fù)渲械奶卣鲗傩?,按預(yù)設(shè)規(guī)則對各用戶進(jìn)行排序,從而能夠更精確地為用戶推薦 好友。
[0123] 基于同樣的發(fā)明構(gòu)思,本申請實(shí)施例中還提出一種好友推薦裝置。參見圖6,圖6為 本申請實(shí)施例中好友推薦裝置結(jié)構(gòu)示意圖。該裝置包括:獲取單元601、確定單元602、處理 單元603和推薦單元604;
[0124] 獲取單元601,用于從服務(wù)器獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浜偷诙脩絷P(guān)系 拓?fù)?所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浒ǖ谝挥脩艏蟇及所述第一用戶集合中各用 戶之間的好友關(guān)系,所述第一用戶集合包括所述目標(biāo)用戶W及所述目標(biāo)用戶的1度至Z度好 友用戶;所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)浒ǖ诙脩艏蟇及所述目標(biāo)用戶與所述第 二用戶集合中的各用戶之間的會(huì)話信息,所述第二用戶集合包括所述目標(biāo)用戶W及與所述 目標(biāo)用戶存在信息交互的用戶;其中,Z為大于1的整數(shù);目標(biāo)用戶的1度好友用戶為已添加 為所述目標(biāo)用戶好友的用戶,目標(biāo)用戶的2到Z度好友用戶為未添加為所述目標(biāo)用戶好友的 用戶;
[0125] 確定單元602,用于根據(jù)獲取單元601獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所 述目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)涞挠脩?所述目標(biāo)用戶在第一用戶關(guān)系子拓?fù)渲?至少存在一個(gè)1度好友用戶;根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參與 同一會(huì)話的用戶劃分到該目標(biāo)用戶的溝通序列中;
[0126] 處理單元603,用于將確定單元602確定的與所述目標(biāo)用戶屬于同一第一用戶關(guān)系 子拓?fù)洌椅刺砑訛樗瞿繕?biāo)用戶的好友的用戶組成第一好友候選集;將與所述目標(biāo)用戶 屬于同一溝通序列,且未添加為所述目標(biāo)用戶的好友的用戶組成第二好友候選集;
[0127] 推薦單元604,用于將處理單元603處理的所述第一好友候選集和第二好友候選集 合并,作為所述目標(biāo)用戶的好友推薦集,并推薦給所述目標(biāo)用戶。
[012引較佳地,
[0129]確定單元602,具體用于根據(jù)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所述目標(biāo) 用戶屬于同一第一用戶關(guān)系子拓?fù)涞挠脩魰r(shí):當(dāng)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)渲械乃?有用戶屬于不同的第一用戶關(guān)系子拓?fù)鋾r(shí),計(jì)算所述第一用戶關(guān)系拓?fù)涞哪K度Q;通過W 下方法確定第一用戶關(guān)系拓?fù)渲腥我鈨蓚€(gè)用戶是否屬于同一第一用戶關(guān)系子拓?fù)?所述兩 個(gè)用戶屬于同一第一用戶關(guān)系子拓?fù)?,第一用戶關(guān)系拓?fù)渲械钠渌脩魧儆诓煌牡谝挥?戶關(guān)系子拓?fù)洌揖粚儆谒鰞蓚€(gè)用戶所屬的第一用戶關(guān)系子拓?fù)鋾r(shí),計(jì)算目標(biāo)用戶的 第一用戶關(guān)系拓?fù)涞哪K度P;針對任一用戶,將P大于Q,且值最大的P對應(yīng)的兩個(gè)用戶,確 定屬于一個(gè)第一用戶關(guān)系子拓?fù)?;?dāng)確定出多個(gè)第一用戶關(guān)系子拓?fù)鋾r(shí),確定所述第一用 戶關(guān)系子拓?fù)涫欠衲芎喜ⅲ绻?,將能合并的第一用戶關(guān)系子拓?fù)浜喜?直到確定出一個(gè) 第一用戶關(guān)系子拓?fù)?,或者確定出的所有第一用戶關(guān)系子拓?fù)渚荒茉俸喜ⅰ?br>[0130] 較佳地,
[0131] 確定單元602,具體用于當(dāng)確定出多個(gè)第一用戶關(guān)系子拓?fù)鋾r(shí),確定所述多個(gè)第一 用戶關(guān)系子拓?fù)涫欠衲芎喜r(shí):當(dāng)所有第一用戶關(guān)系子拓?fù)渚荒芎喜r(shí),計(jì)算第一用戶 關(guān)系子拓?fù)鋵?yīng)的第一用戶關(guān)系拓?fù)涞哪K度W;通過W下方法確定所述多個(gè)第一用戶關(guān) 系子拓?fù)渲腥我鈨蓚€(gè)第一用戶關(guān)系子拓?fù)涫欠衲芎喜ⅲ寒?dāng)所述兩個(gè)第一用戶關(guān)系子拓?fù)淠?夠合并,其它第一用戶關(guān)系子拓?fù)渚荒芎喜r(shí),計(jì)算第一用戶關(guān)系子拓?fù)鋵?yīng)的第一用 戶關(guān)系拓?fù)涞哪K度R;將R大于W,且值最大的R對應(yīng)的兩個(gè)第一用戶關(guān)系子拓?fù)浯_定為能 合并。
[0132] 較佳地,
[0133] 確定單元602,具體用于根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶 參與同一會(huì)話的用戶劃分到該目標(biāo)用戶的溝通序列中時(shí),針對一對多用戶關(guān)系拓?fù)?,在?一預(yù)設(shè)時(shí)間內(nèi),根據(jù)信息的發(fā)送時(shí)間,根據(jù)會(huì)話消息的發(fā)送時(shí)間,將發(fā)送兩條相鄰消息的時(shí) 間間隔小于第二預(yù)設(shè)時(shí)間的會(huì)話消息劃分到一個(gè)會(huì)話段,將參與該會(huì)話段的用戶劃分到同 一溝通序列中;若該用戶參與多個(gè)會(huì)話段,則將該用戶的多個(gè)會(huì)話段對應(yīng)的溝通序列合并 作為該目標(biāo)用戶針對一對多用戶關(guān)系拓?fù)浯_定的溝通序列;其中,第一預(yù)設(shè)時(shí)間大于第二 預(yù)設(shè)時(shí)間;目標(biāo)用戶與所述第二用戶集合中的各用戶之間的會(huì)話信息包括:發(fā)布信息的用 戶的名稱,W及發(fā)布信息的時(shí)間;針對一對一用戶關(guān)系拓?fù)洌诘谝活A(yù)設(shè)時(shí)間內(nèi),W所述目 標(biāo)用戶為初始遍歷點(diǎn),采用隨機(jī)游走的方式生成該目標(biāo)用戶的溝通序列;將該目標(biāo)用戶針 對一對多用戶關(guān)系拓?fù)浜鸵粚σ挥脩絷P(guān)系拓?fù)渖傻臏贤ㄐ蛄泻喜?,作為該目?biāo)用戶的第 二用戶關(guān)系拓?fù)涞臏贤ㄐ蛄?,其中,所述第二用戶關(guān)系拓?fù)浒?一對多用戶關(guān)系拓?fù)浜鸵?對一用戶關(guān)系拓?fù)洹?br>[0134] 較佳地,
[0135] 確定單元602,進(jìn)一步用于若該用戶參與多個(gè)群的會(huì)話,則將針對各群的會(huì)話確定 溝通序列合并為一個(gè)溝通序列,作為該目標(biāo)用戶的針對一對多用戶關(guān)系拓?fù)浯_定的溝通序 列。
[0136] 較佳地,
[0137] 確定單元602,具體用于W所述目標(biāo)用戶為初始遍歷點(diǎn),采用隨機(jī)游走的方式生成 該目標(biāo)用戶的溝通序列時(shí):W所述目標(biāo)用戶作為初始遍歷點(diǎn);分別確定選擇將各其它用戶 作為下一個(gè)遍歷點(diǎn)的概率,其中,將該目標(biāo)用戶與任一其它用戶發(fā)送會(huì)話消息的次數(shù)在總 會(huì)話消息的次數(shù)中所占百分率作為選擇該其它用戶作為下一個(gè)遍歷點(diǎn)的概率,并按照各其 它用戶作為下一個(gè)遍歷點(diǎn)的概率選擇作為下一遍歷點(diǎn)的用戶,直到曾作為遍歷點(diǎn)的用戶數(shù) 達(dá)到預(yù)設(shè)用戶個(gè)數(shù),將各曾作為遍歷點(diǎn)的用戶組成集合,作為該目標(biāo)用戶的溝通序列。
[013引較佳地,
[0139]確定單元602,進(jìn)一步用于將第一用戶關(guān)系子拓?fù)渲谐霈F(xiàn)次數(shù)最多的關(guān)系類型作 為該第一用戶關(guān)系子拓?fù)涞膶傩?,為該屬性配置屬性值,并將該屬性值作為對?yīng)的第一好 友候選集中的各用戶的第一特征的特征值;確定第一用戶關(guān)系子拓?fù)渲懈饔脩襞c該第一用 戶關(guān)系子拓?fù)涞年P(guān)系緊密程度,為各用戶與該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度配置緊 密關(guān)系程度值,將各用戶對應(yīng)的緊密關(guān)系程度值作為對應(yīng)第一好友候選集中的對應(yīng)用戶的 第二特征值;第二好友候選集中的用戶在各會(huì)話集中作為發(fā)起人的次數(shù)作為該用戶的第= 特征值;針對任一用戶,確定該用戶與其第二好友候選集中的用戶的相似度,并將確定的相 似度作為第二候選集中對應(yīng)用戶的第四特征值;
[0140] 推薦單元604,進(jìn)一步用于為用戶的各特征配置權(quán)重值;針對一個(gè)好友推薦集中的 各用戶使用確定單元602確定的特征值加權(quán)求和獲得用戶的序列值,按照序列值從大到小 的順序排列各用戶,并在推薦好友時(shí)按照排列順序推薦。
[0141] 較佳地,
[0142] 確定單元602,具體用于確定第一用戶關(guān)系子拓?fù)渲懈饔脩襞c該第一用戶關(guān)系子 拓?fù)涞年P(guān)系緊密程度時(shí),任一用戶與對應(yīng)第一用戶關(guān)系子拓?fù)渲械挠脩舸嬖诠餐糜训膫€(gè) 數(shù);或與第一用戶關(guān)系子拓?fù)渲械挠脩糁g的信息交互次數(shù)作為該第一用戶關(guān)系子拓?fù)渲?對應(yīng)用戶與該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度;確定該用戶與其第二好友候選集中的 用戶的相似度時(shí),通過對第二好友候選集采用預(yù)設(shè)算法進(jìn)行訓(xùn)練,獲得每個(gè)用戶的向量,根 據(jù)每個(gè)用戶的向量計(jì)算兩個(gè)用戶的相似度。
[0143] 較佳地,
[0144] 推薦單元604,進(jìn)一步用于通過上線用戶選擇推薦好友的反饋信息,若確定當(dāng)前推 薦的好友被用戶選擇添加為好友的概率小于預(yù)設(shè)值,重新為用戶的各特征值配置權(quán)重,并 重新計(jì)算各用戶的序列值,按重新計(jì)算的序列值排列各用戶,并使用重新排列的順序推薦 給用戶。
[0145] 上述實(shí)施例的單元可W集成于一體,也可W分離部署;可W合并為一個(gè)單元,也可 W進(jìn)一步拆分成多個(gè)子單元。
[0146] 本申請各實(shí)施例中的各單元可W W機(jī)械方式或電子方式實(shí)現(xiàn)。例如,一個(gè)硬件模 塊可W包括專口設(shè)計(jì)的永久性電路或邏輯器件(如專用處理器,如FPGA或ASIC)用于完成特 定的操作。硬件模塊也可W包括由軟件臨時(shí)配置的可編程邏輯器件或電路(如包括通用處 理器或其它可編程處理器)用于執(zhí)行特定操作。至于具體采用機(jī)械方式,或是采用專用的永 久性電路,或是采用臨時(shí)配置的電路(如由軟件進(jìn)行配置)來實(shí)現(xiàn)硬件模塊,可W根據(jù)成本 和時(shí)間上的考慮來決定。
[0147] W上對本申請具體實(shí)施例中的好友推薦裝置進(jìn)行了說明,下面給出本申請具體實(shí) 施例中好友推薦裝置所在設(shè)備的硬件架構(gòu)組成,該設(shè)備可稱為好友推薦設(shè)備,該好友推薦 設(shè)備是可W軟硬件結(jié)合的可編程設(shè)備,具體參見圖7,圖7為本申請具體實(shí)施例中好友推薦 設(shè)備的硬件架構(gòu)組成示意圖。該設(shè)備可包括:處理器710,存儲(chǔ)器720,端口730W及總線740。 處理器710和存儲(chǔ)器720通過總線740互聯(lián)。處理器710可通過端口730獲取和輸出數(shù)據(jù);其 中,
[0148] 獲取單元601被處理器710執(zhí)行時(shí)可W為服務(wù)器獲取目標(biāo)用戶的第一用戶關(guān)系拓 撲和第二用戶關(guān)系拓?fù)?所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浒ǖ谝挥脩艏蟇及所述第 一用戶集合中各用戶之間的好友關(guān)系,所述第一用戶集合包括所述目標(biāo)用戶W及所述目標(biāo) 用戶的1度至Z度好友用戶;所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)浒ǖ诙脩艏蟇及所述 目標(biāo)用戶與所述第二用戶集合中的各用戶之間的會(huì)話信息,所述第二用戶集合包括所述目 標(biāo)用戶W及與所述目標(biāo)用戶存在信息交互的用戶;其中,Z為大于1的整數(shù);目標(biāo)用戶的1度 好友用戶為已添加為所述目標(biāo)用戶好友的用戶,目標(biāo)用戶的2到Z度好友用戶為未添加為所 述目標(biāo)用戶好友的用戶;
[0149] 確定單元602被處理器710執(zhí)行時(shí)可W為:根據(jù)獲取單元601獲取目標(biāo)用戶的第一 用戶關(guān)系拓?fù)浯_定與所述目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)涞挠脩?所述目標(biāo)用戶在 第一用戶關(guān)系子拓?fù)渲兄辽俅嬖谝粋€(gè)1度好友用戶;根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓 撲將與該目標(biāo)用戶參與同一會(huì)話的用戶劃分到該目標(biāo)用戶的溝通序列中;
[0150] 處理單元603被處理器710執(zhí)行時(shí)可W為:將確定單元602確定的與所述目標(biāo)用戶 屬于同一第一用戶關(guān)系子拓?fù)?,且未添加為所述目?biāo)用戶的好友的用戶組成第一好友候選 集;將與所述目標(biāo)用戶屬于同一溝通序列,且未添加為所述目標(biāo)用戶的好友的用戶組成第 二好友候選集;
[0151] 推薦單元604被處理器610執(zhí)行時(shí)可W為:將處理單元603處理的所述第一好友候 選集和第二好友候選集合并,作為所述目標(biāo)用戶的好友推薦集,并推薦給所述目標(biāo)用戶。
[0152] 由此可W看出,當(dāng)存儲(chǔ)在存儲(chǔ)器720中的指令模塊被處理器710執(zhí)行時(shí),可實(shí)現(xiàn)前 述技術(shù)方案中獲取單元、確定單元、處理單元和推薦單元的各種功能。
[0153] 另外,本發(fā)明的實(shí)施例中可W通過由設(shè)備如計(jì)算機(jī)執(zhí)行的數(shù)據(jù)處理程序來實(shí)現(xiàn)。 顯然,數(shù)據(jù)處理程序構(gòu)成了本發(fā)明。此外,通常存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中的數(shù)據(jù)處理程序通過 直接將程序讀取出存儲(chǔ)介質(zhì)或者通過將程序安裝或復(fù)制到數(shù)據(jù)處理設(shè)備的存儲(chǔ)設(shè)備(如硬 盤和/或內(nèi)存)中執(zhí)行。因此,運(yùn)樣的存儲(chǔ)介質(zhì)也構(gòu)成了本發(fā)明。存儲(chǔ)介質(zhì)可W使用任何類型 的記錄方式,例如紙張存儲(chǔ)介質(zhì)(如紙帶等)、磁存儲(chǔ)介質(zhì)(如軟盤、硬盤、閃存等)、光存儲(chǔ)介 質(zhì)(如CD-ROM等)、磁光存儲(chǔ)介質(zhì)(如MO等)等。
[0154] 因此,本發(fā)明還公開了一種存儲(chǔ)介質(zhì),其中存儲(chǔ)有數(shù)據(jù)處理程序,該數(shù)據(jù)處理程序 用于執(zhí)行本發(fā)明上述技術(shù)方案。
[0155] 需要說明的是,圖7所示的設(shè)備只是一個(gè)具體的例子,也可W通過其他的與本實(shí)施 例描述不同結(jié)構(gòu)實(shí)現(xiàn),例如,執(zhí)行上述指令代碼時(shí)所完成的操作,也可W由特定應(yīng)用專用集 成電路(ASIC)實(shí)現(xiàn)。另外,上述的處理器710可W是一個(gè)或多個(gè),如果是多個(gè),則由多個(gè)處理 器共同負(fù)責(zé)讀取和執(zhí)行所述指令代碼。因此,本申請對設(shè)備的具體結(jié)構(gòu)不作具體限定。
[0156] 綜上所述,本申請?jiān)诖_定好友推薦集時(shí),考慮了第一用戶關(guān)系拓?fù)浜偷诙脩絷P(guān) 系拓?fù)涞臄?shù)據(jù)信息,即既考慮了用戶長期的興趣愛好,也考慮了近期的興趣愛好,能夠更全 面地為用戶推薦好友。
[0157] 本申請實(shí)施例中還通過對好友推薦集中的用戶按照在第一用戶關(guān)系拓?fù)浜偷诙?用戶關(guān)系拓?fù)渲械奶卣鲗傩?,按預(yù)設(shè)規(guī)則對各用戶進(jìn)行排序,從而能夠更精確地為用戶推 薦好友。
[0158] W上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用W限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
【主權(quán)項(xiàng)】
1. 一種好友推薦方法,其特征在于,該方法包括: 從服務(wù)器獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浜偷诙脩絷P(guān)系拓?fù)?所述目標(biāo)用戶的第 一用戶關(guān)系拓?fù)浒ǖ谝挥脩艏弦约八龅谝挥脩艏现懈饔脩糁g的好友關(guān)系,所述 第一用戶集合包括所述目標(biāo)用戶以及所述目標(biāo)用戶的1度至Z度好友用戶;所述目標(biāo)用戶的 第二用戶關(guān)系拓?fù)浒ǖ诙脩艏弦约八瞿繕?biāo)用戶與所述第二用戶集合中的各用戶 之間的會(huì)話信息,所述第二用戶集合包括所述目標(biāo)用戶以及與所述目標(biāo)用戶存在信息交互 的用戶;其中,Z為大于1的整數(shù);目標(biāo)用戶的1度好友用戶為已添加為所述目標(biāo)用戶好友的 用戶,目標(biāo)用戶的2到Z度好友用戶為未添加為所述目標(biāo)用戶好友的用戶; 根據(jù)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所述目標(biāo)用戶屬于同一第一用戶關(guān)系 子拓?fù)涞挠脩?所述目標(biāo)用戶在第一用戶關(guān)系子拓?fù)渲兄辽俅嬖谝粋€(gè)1度好友用戶; 根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參與同一會(huì)話的用戶劃分到 該目標(biāo)用戶的溝通序列中; 將與所述目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)?,且未添加為所述目?biāo)用戶的好友的 用戶組成第一好友候選集;將與所述目標(biāo)用戶屬于同一溝通序列,且未添加為所述目標(biāo)用 戶的好友的用戶組成第二好友候選集; 將所述第一好友候選集和第二好友候選集合并,作為所述目標(biāo)用戶的好友推薦集,并 推薦給所述目標(biāo)用戶。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述目標(biāo)用戶的第一用戶關(guān)系拓 撲確定與所述目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)涞挠脩?,包括?當(dāng)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)渲械乃杏脩魧儆诓煌牡谝挥脩絷P(guān)系子拓?fù)?時(shí),計(jì)算所述第一用戶關(guān)系拓?fù)涞哪K度Q; 通過以下方法確定第一用戶關(guān)系拓?fù)渲腥我鈨蓚€(gè)用戶是否屬于同一第一用戶關(guān)系子 拓?fù)洌? 所述兩個(gè)用戶屬于同一第一用戶關(guān)系子拓?fù)?,第一用戶關(guān)系拓?fù)渲械钠渌脩魧儆诓?同的第一用戶關(guān)系子拓?fù)?,且均不屬于所述兩個(gè)用戶所屬的第一用戶關(guān)系子拓?fù)鋾r(shí),計(jì)算 目標(biāo)用戶的第一用戶關(guān)系拓?fù)涞哪K度P; 針對任一用戶,將P大于Q,且值最大的P對應(yīng)的兩個(gè)用戶,確定屬于一個(gè)第一用戶關(guān)系 子拓?fù)洌? 當(dāng)確定出多個(gè)第一用戶關(guān)系子拓?fù)鋾r(shí),確定所述第一用戶關(guān)系子拓?fù)涫欠衲芎喜?,?果是,將能合并的第一用戶關(guān)系子拓?fù)浜喜ⅲ? 直到確定出一個(gè)第一用戶關(guān)系子拓?fù)?,或者確定出的所有第一用戶關(guān)系子拓?fù)渚荒?再合并。其中,Aij為鄰接矩陣,若用戶i和用戶j為1度好友,則Aij = 1,否則Aij = O;M為第一用戶 關(guān)系拓?fù)渲袃蓛捎脩糁g互為1度好友的個(gè)數(shù);1^為與用戶i存在1度好友關(guān)系的用戶的個(gè)3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,計(jì)算目標(biāo)用戶的第一用戶關(guān)系拓?fù)涞哪K 度的方法為: 第一用戶關(guān)系拓?fù)涞哪K度為 數(shù),kj為與用戶j存在1度好友關(guān)系的用戶的個(gè)數(shù);C1為用戶i所屬的第一用戶關(guān)系子拓?fù)洌?^ 為用戶j所屬的第一用戶關(guān)系子拓?fù)?,若Ci = Cj,則δ(Ci,Cj) = 1,否則,δ(Ci,Cj) = O; i,j為1 到N的整數(shù),N為第一用戶關(guān)系拓?fù)渲杏脩舻膫€(gè)數(shù)。4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述當(dāng)確定出多個(gè)第一用戶關(guān)系子拓?fù)?時(shí),確定所述多個(gè)第一用戶關(guān)系子拓?fù)涫欠衲芎喜?,包括?當(dāng)所有第一用戶關(guān)系子拓?fù)渚荒芎喜r(shí),計(jì)算第一用戶關(guān)系子拓?fù)鋵?yīng)的第一用戶 關(guān)系拓?fù)涞哪K度W; 通過以下方法確定所述多個(gè)第一用戶關(guān)系子拓?fù)渲腥我鈨蓚€(gè)第一用戶關(guān)系子拓?fù)涫?否能合并: 當(dāng)所述兩個(gè)第一用戶關(guān)系子拓?fù)淠軌蚝喜?,其它第一用戶關(guān)系子拓?fù)渚荒芎喜r(shí), 計(jì)算第一用戶關(guān)系子拓?fù)鋵?yīng)的第一用戶關(guān)系拓?fù)涞哪K度R; 將R大于W,且值最大的R對應(yīng)的兩個(gè)第一用戶關(guān)系子拓?fù)浯_定為能合并。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述計(jì)算所述第一用戶關(guān)系拓?fù)涞哪K度 的方法為: 第一用戶關(guān)系拓?fù)涞哪K度為: 其中,Ahl為鄰接矩陣,若第一用戶關(guān)系子拓?fù)鋒中的用戶和第一用戶關(guān)系子拓?fù)?中的 用戶至少存在一對用戶為1度好友,則Ahi = I,否則Ahi = O;M為第一用戶關(guān)系拓?fù)渲袃蓛捎?戶之間互為1度好友的個(gè)數(shù);kh為第一用戶關(guān)系子拓?fù)鋒中所有用戶的1度好友去重后的1度 好友的總個(gè)數(shù);ki為第一用戶關(guān)系子拓?fù)?中所有用戶的1度好友去重后的1度好友的總個(gè) 數(shù);Ch為第一用戶關(guān)系子拓?fù)鋒,Ci為第一用戶關(guān)系子拓?fù)?,若Ch=Ci,則δ (Ch,Ci ) = 1,否則, δ (Ch,Ci )= 0; h,1為1到T的整數(shù),T為第一用戶關(guān)系子拓?fù)涞膫€(gè)數(shù)。6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二用戶關(guān)系拓?fù)浒?一對多用戶 關(guān)系拓?fù)浜鸵粚σ挥脩絷P(guān)系拓?fù)洌?所述根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參與同一會(huì)話的用戶劃 分到該目標(biāo)用戶的溝通序列中,包括: 針對一對多用戶關(guān)系拓?fù)?,在第一預(yù)設(shè)時(shí)間內(nèi),根據(jù)信息的發(fā)送時(shí)間,根據(jù)會(huì)話消息的 發(fā)送時(shí)間,將發(fā)送兩條相鄰消息的時(shí)間間隔小于第二預(yù)設(shè)時(shí)間的會(huì)話消息劃分到一個(gè)會(huì)話 段,將參與該會(huì)話段的用戶劃分到同一溝通序列中;若該用戶參與多個(gè)會(huì)話段,則將該用戶 的多個(gè)會(huì)話段對應(yīng)的溝通序列合并作為該目標(biāo)用戶針對一對多用戶關(guān)系拓?fù)浯_定的溝通 序列;其中,第一預(yù)設(shè)時(shí)間大于第二預(yù)設(shè)時(shí)間;目標(biāo)用戶與所述第二用戶集合中的各用戶之 間的會(huì)話信息包括:發(fā)布信息的用戶的名稱,以及發(fā)布信息的時(shí)間; 針對一對一用戶關(guān)系拓?fù)?,在第一預(yù)設(shè)時(shí)間內(nèi),以所述目標(biāo)用戶為初始遍歷點(diǎn),采用隨 機(jī)游走的方式生成該目標(biāo)用戶的溝通序列; 將該目標(biāo)用戶針對一對多用戶關(guān)系拓?fù)浜鸵粚σ挥脩絷P(guān)系拓?fù)渖傻臏贤ㄐ蛄泻喜ⅲ?作為該目標(biāo)用戶的第二用戶關(guān)系拓?fù)涞臏贤ㄐ蛄小?. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法進(jìn)一步包括: 若該用戶參與多個(gè)群的會(huì)話,則將針對各群的會(huì)話確定溝通序列合并為一個(gè)溝通序 列,作為該目標(biāo)用戶的針對一對多用戶關(guān)系拓?fù)浯_定的溝通序列。8. 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述以所述目標(biāo)用戶為初始遍歷點(diǎn),采用 隨機(jī)游走的方式生成該目標(biāo)用戶的溝通序列,包括: 以所述目標(biāo)用戶作為初始遍歷點(diǎn); 分別確定選擇將各其它用戶作為下一個(gè)遍歷點(diǎn)的概率,其中,將該目標(biāo)用戶與任一其 它用戶發(fā)送會(huì)話消息的次數(shù)在總會(huì)話消息的次數(shù)中所占百分率作為選擇該其它用戶作為 下一個(gè)遍歷點(diǎn)的概率,并按照各其它用戶作為下一個(gè)遍歷點(diǎn)的概率選擇作為下一遍歷點(diǎn)的 用戶,直到曾作為遍歷點(diǎn)的用戶數(shù)達(dá)到預(yù)設(shè)用戶個(gè)數(shù),將各曾作為遍歷點(diǎn)的用戶組成集合, 作為該目標(biāo)用戶的溝通序列。9. 根據(jù)權(quán)利要求1-8任意一項(xiàng)所述的方法,其特征在于,所述方法進(jìn)一步包括:為用戶 的各特征配置權(quán)重值; 將第一用戶關(guān)系子拓?fù)渲谐霈F(xiàn)次數(shù)最多的關(guān)系類型作為該第一用戶關(guān)系子拓?fù)涞膶?性,為該屬性配置屬性值,并將該屬性值作為對應(yīng)的第一好友候選集中的各用戶的第一特 征的特征值; 確定第一用戶關(guān)系子拓?fù)渲懈饔脩襞c該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度,為各用 戶與該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度配置緊密關(guān)系程度值,將各用戶對應(yīng)的緊密關(guān) 系程度值作為對應(yīng)第一好友候選集中的對應(yīng)用戶的第二特征值; 將第二好友候選集中的用戶在各溝通序列中作為發(fā)起人的次數(shù)作為該用戶的第三特 征值; 針對任一用戶,確定該用戶與其第二好友候選集中的用戶的相似度,并將確定的相似 度作為第二候選集中對應(yīng)用戶的第四特征值; 針對一個(gè)好友推薦集中的各用戶使用特征值加權(quán)求和獲得用戶的序列值,按照序列值 從大到小的順序排列各用戶,并在推薦好友時(shí)按照排列順序推薦。10. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述確定第一用戶關(guān)系子拓?fù)渲懈饔脩?與該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度,包括: 任一用戶與對應(yīng)第一用戶關(guān)系子拓?fù)渲械挠脩舸嬖诠餐糜训膫€(gè)數(shù);或與第一用戶關(guān) 系子拓?fù)渲械挠脩糁g的發(fā)送會(huì)話消息的次數(shù)作為該第一用戶關(guān)系子拓?fù)渲袑?yīng)用戶與 該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度; 所述確定該用戶與其第二好友候選集中的用戶的相似度,包括: 通過對第二好友候選集采用預(yù)設(shè)算法進(jìn)行訓(xùn)練,獲得每個(gè)用戶的向量,根據(jù)每個(gè)用戶 的向量計(jì)算兩個(gè)用戶的相似度。11. 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述方法進(jìn)一步包括: 通過上線用戶選擇推薦好友的反饋信息,若確定當(dāng)前推薦的好友被用戶選擇添加為好 友的概率小于預(yù)設(shè)值,重新為用戶的各特征值配置權(quán)重,并重新計(jì)算各用戶的序列值,按重 新計(jì)算的序列值排列各用戶,并使用重新排列的順序推薦給用戶。12. -種好友推薦裝置,其特征在于,該裝置包括:獲取單元、確定單元、處理單元和推 薦單元; 所述獲取單元,用于從服務(wù)器獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浜偷诙脩絷P(guān)系拓 撲;所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浒ǖ谝挥脩艏弦约八龅谝挥脩艏现懈饔脩?之間的好友關(guān)系,所述第一用戶集合包括所述目標(biāo)用戶以及所述目標(biāo)用戶的1度至Z度好友 用戶;所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)浒ǖ诙脩艏弦约八瞿繕?biāo)用戶與所述第二 用戶集合中的各用戶之間的會(huì)話信息,所述第二用戶集合包括所述目標(biāo)用戶以及與所述目 標(biāo)用戶存在信息交互的用戶;其中,Z為大于1的整數(shù);目標(biāo)用戶的1度好友用戶為已添加為 所述目標(biāo)用戶好友的用戶,目標(biāo)用戶的2到Z度好友用戶為未添加為所述目標(biāo)用戶好友的用 戶; 所述確定單元,用于根據(jù)所述獲取單元獲取目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所述 目標(biāo)用戶屬于同一第一用戶關(guān)系子拓?fù)涞挠脩?所述目標(biāo)用戶在第一用戶關(guān)系子拓?fù)渲兄?少存在一個(gè)1度好友用戶;根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參與同 一會(huì)話的用戶劃分到該目標(biāo)用戶的溝通序列中; 所述處理單元,用于將所述確定單元確定的與所述目標(biāo)用戶屬于同一第一用戶關(guān)系子 拓?fù)?,且未添加為所述目?biāo)用戶的好友的用戶組成第一好友候選集;將與所述目標(biāo)用戶屬 于同一溝通序列,且未添加為所述目標(biāo)用戶的好友的用戶組成第二好友候選集; 所述推薦單元,用于將所述處理單元處理的所述第一好友候選集和第二好友候選集合 并,作為所述目標(biāo)用戶的好友推薦集,并推薦給所述目標(biāo)用戶。13. 根據(jù)權(quán)利要求12所述的裝置,其特征在于, 所述確定單元,具體用于根據(jù)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)浯_定與所述目標(biāo)用戶 屬于同一第一用戶關(guān)系子拓?fù)涞挠脩魰r(shí):當(dāng)所述目標(biāo)用戶的第一用戶關(guān)系拓?fù)渲械乃杏?戶屬于不同的第一用戶關(guān)系子拓?fù)鋾r(shí),計(jì)算所述第一用戶關(guān)系拓?fù)涞哪K度Q;通過以下方 法確定第一用戶關(guān)系拓?fù)渲腥我鈨蓚€(gè)用戶是否屬于同一第一用戶關(guān)系子拓?fù)?所述兩個(gè)用 戶屬于同一第一用戶關(guān)系子拓?fù)洌谝挥脩絷P(guān)系拓?fù)渲械钠渌脩魧儆诓煌牡谝挥脩絷P(guān) 系子拓?fù)?,且均不屬于所述兩個(gè)用戶所屬的第一用戶關(guān)系子拓?fù)鋾r(shí),計(jì)算目標(biāo)用戶的第一 用戶關(guān)系拓?fù)涞哪K度P;針對任一用戶,將P大于Q,且值最大的P對應(yīng)的兩個(gè)用戶,確定屬 于一個(gè)第一用戶關(guān)系子拓?fù)?;?dāng)確定出多個(gè)第一用戶關(guān)系子拓?fù)鋾r(shí),確定所述第一用戶關(guān) 系子拓?fù)涫欠衲芎喜ⅲ绻?,將能合并的第一用戶關(guān)系子拓?fù)浜喜?直到確定出一個(gè)第一 用戶關(guān)系子拓?fù)?,或者確定出的所有第一用戶關(guān)系子拓?fù)渚荒茉俸喜ⅰ?4. 根據(jù)權(quán)利要求12所述的裝置,其特征在于, 所述確定單元,具體用于當(dāng)確定出多個(gè)第一用戶關(guān)系子拓?fù)鋾r(shí),確定所述多個(gè)第一用 戶關(guān)系子拓?fù)涫欠衲芎喜r(shí):當(dāng)所有第一用戶關(guān)系子拓?fù)渚荒芎喜r(shí),計(jì)算第一用戶關(guān) 系子拓?fù)鋵?yīng)的第一用戶關(guān)系拓?fù)涞哪K度W;通過以下方法確定所述多個(gè)第一用戶關(guān)系 子拓?fù)渲腥我鈨蓚€(gè)第一用戶關(guān)系子拓?fù)涫欠衲芎喜ⅲ寒?dāng)所述兩個(gè)第一用戶關(guān)系子拓?fù)淠軌?合并,其它第一用戶關(guān)系子拓?fù)渚荒芎喜r(shí),計(jì)算第一用戶關(guān)系子拓?fù)鋵?yīng)的第一用戶 關(guān)系拓?fù)涞哪K度R;將R大于W,且值最大的R對應(yīng)的兩個(gè)第一用戶關(guān)系子拓?fù)浯_定為能合 并。15. 根據(jù)權(quán)利要求12所述的裝置,其特征在于, 所述確定單元,具體用于根據(jù)所述目標(biāo)用戶的第二用戶關(guān)系拓?fù)鋵⑴c該目標(biāo)用戶參與 同一會(huì)話的用戶劃分到該目標(biāo)用戶的溝通序列中時(shí),針對一對多用戶關(guān)系拓?fù)洌诘谝活A(yù) 設(shè)時(shí)間內(nèi),根據(jù)信息的發(fā)送時(shí)間,根據(jù)會(huì)話消息的發(fā)送時(shí)間,將發(fā)送兩條相鄰消息的時(shí)間間 隔小于第二預(yù)設(shè)時(shí)間的會(huì)話消息劃分到一個(gè)會(huì)話段,將參與該會(huì)話段的用戶劃分到同一溝 通序列中;若該用戶參與多個(gè)會(huì)話段,則將該用戶的多個(gè)會(huì)話段對應(yīng)的溝通序列合并作為 該目標(biāo)用戶針對一對多用戶關(guān)系拓?fù)浯_定的溝通序列;其中,第一預(yù)設(shè)時(shí)間大于第二預(yù)設(shè) 時(shí)間;目標(biāo)用戶與所述第二用戶集合中的各用戶之間的會(huì)話信息包括:發(fā)布信息的用戶的 名稱,以及發(fā)布信息的時(shí)間;針對一對一用戶關(guān)系拓?fù)洌诘谝活A(yù)設(shè)時(shí)間內(nèi),以所述目標(biāo)用 戶為初始遍歷點(diǎn),采用隨機(jī)游走的方式生成該目標(biāo)用戶的溝通序列;將該目標(biāo)用戶針對一 對多用戶關(guān)系拓?fù)浜鸵粚σ挥脩絷P(guān)系拓?fù)渖傻臏贤ㄐ蛄泻喜?,作為該目?biāo)用戶的第二用 戶關(guān)系拓?fù)涞臏贤ㄐ蛄?,其中,所述第二用戶關(guān)系拓?fù)浒?一對多用戶關(guān)系拓?fù)浜鸵粚σ?用戶關(guān)系拓?fù)洹?6. 根據(jù)權(quán)利要求15所述的裝置,其特征在于, 所述確定單元,進(jìn)一步用于若該用戶參與多個(gè)群的會(huì)話,則將針對各群的會(huì)話確定溝 通序列合并為一個(gè)溝通序列,作為該目標(biāo)用戶的針對一對多用戶關(guān)系拓?fù)浯_定的溝通序 列。17. 根據(jù)權(quán)利要求15所述的裝置,其特征在于, 所述確定單元,具體用于以所述目標(biāo)用戶為初始遍歷點(diǎn),采用隨機(jī)游走的方式生成該 目標(biāo)用戶的溝通序列時(shí):以所述目標(biāo)用戶作為初始遍歷點(diǎn);分別確定選擇將各其它用戶作 為下一個(gè)遍歷點(diǎn)的概率,其中,將該目標(biāo)用戶與任一其它用戶發(fā)送會(huì)話消息的次數(shù)在總會(huì) 話消息的次數(shù)中所占百分率作為選擇該其它用戶作為下一個(gè)遍歷點(diǎn)的概率,并按照各其它 用戶作為下一個(gè)遍歷點(diǎn)的概率選擇作為下一遍歷點(diǎn)的用戶,直到曾作為遍歷點(diǎn)的用戶數(shù)達(dá) 到預(yù)設(shè)用戶個(gè)數(shù),將各曾作為遍歷點(diǎn)的用戶組成集合,作為該目標(biāo)用戶的溝通序列。18. 根據(jù)權(quán)利要求12-17任意一項(xiàng)所述的裝置,其特征在于, 所述確定單元,進(jìn)一步用于將第一用戶關(guān)系子拓?fù)渲谐霈F(xiàn)次數(shù)最多的關(guān)系類型作為該 第一用戶關(guān)系子拓?fù)涞膶傩?,為該屬性配置屬性值,并將該屬性值作為對?yīng)的第一好友候 選集中的各用戶的第一特征的特征值;確定第一用戶關(guān)系子拓?fù)渲懈饔脩襞c該第一用戶關(guān) 系子拓?fù)涞年P(guān)系緊密程度,為各用戶與該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度配置緊密關(guān) 系程度值,將各用戶對應(yīng)的緊密關(guān)系程度值作為對應(yīng)第一好友候選集中的對應(yīng)用戶的第二 特征值;第二好友候選集中的用戶在各會(huì)話集中作為發(fā)起人的次數(shù)作為該用戶的第三特征 值;針對任一用戶,確定該用戶與其第二好友候選集中的用戶的相似度,并將確定的相似度 作為第二候選集中對應(yīng)用戶的第四特征值; 所述推薦單元,進(jìn)一步用于為用戶的各特征配置權(quán)重值;針對一個(gè)好友推薦集中的各 用戶使用所述確定單元確定的特征值加權(quán)求和獲得用戶的序列值,按照序列值從大到小的 順序排列各用戶,并在推薦好友時(shí)按照排列順序推薦。19. 根據(jù)權(quán)利要求18所述的裝置,其特征在于, 所述確定單元,具體用于確定第一用戶關(guān)系子拓?fù)渲懈饔脩襞c該第一用戶關(guān)系子拓?fù)?的關(guān)系緊密程度時(shí),任一用戶與對應(yīng)第一用戶關(guān)系子拓?fù)渲械挠脩舸嬖诠餐糜训膫€(gè)數(shù); 或與第一用戶關(guān)系子拓?fù)渲械挠脩糁g的信息交互次數(shù)作為該第一用戶關(guān)系子拓?fù)渲袑?應(yīng)用戶與該第一用戶關(guān)系子拓?fù)涞年P(guān)系緊密程度;確定該用戶與其第二好友候選集中的用 戶的相似度時(shí),通過對第二好友候選集采用預(yù)設(shè)算法進(jìn)行訓(xùn)練,獲得每個(gè)用戶的向量,根據(jù) 每個(gè)用戶的向量計(jì)算兩個(gè)用戶的相似度。20. 根據(jù)權(quán)利要求18所述的裝置,其特征在于, 所述推薦單元,進(jìn)一步用于通過上線用戶選擇推薦好友的反饋信息,若確定當(dāng)前推薦
【文檔編號】G06Q50/00GK106021325SQ201610296601
【公開日】2016年10月12日
【申請日】2016年5月6日
【發(fā)明人】容毅峰, 高瀚, 賀鵬
【申請人】騰訊科技(深圳)有限公司