基于社交的信息推薦系統(tǒng)的制作方法
【專利說(shuō)明】基于社交的信息推薦系統(tǒng)
[0001] Μ?
[0002] 軟件開(kāi)發(fā)者持續(xù)尋找用于開(kāi)發(fā)軟件(又稱"代碼")的更加高效且有效的技術(shù)。 例如,軟件開(kāi)發(fā)者通常使用開(kāi)發(fā)者工具來(lái)促進(jìn)對(duì)他們的軟件的開(kāi)發(fā)。這樣的開(kāi)發(fā)者工具 可執(zhí)行關(guān)于正被開(kāi)發(fā)的軟件的診斷操作(例如,標(biāo)識(shí)問(wèn)題源、調(diào)試、剖析、控制等)。開(kāi)發(fā) 者工具的示例包括但不限于:web開(kāi)發(fā)平臺(tái)(例如,Windows Azure Piatform?、Amazon Web Services?、Google App Engine:?、VMWare:?、Force.conv?等)以及集成開(kāi)發(fā)環(huán) 境(例如,Microsoft Visual. Studio:?、丨 Developer^、NetBeans?、Eclipse Platform? 等)。
[0003] 隨著開(kāi)源軟件和其他支架方案增加的可用性和使用,開(kāi)發(fā)者已經(jīng)開(kāi)始尋找"拿上 就走"的方案,其中預(yù)先開(kāi)發(fā)的代碼段可被組裝以減少開(kāi)發(fā)者用來(lái)開(kāi)發(fā)他們的軟件的時(shí)間 量。然而,傳統(tǒng)的"拿上就走"的方法通常在網(wǎng)站上或開(kāi)發(fā)者工具中提供通知可用庫(kù)和控件 的靜態(tài)列表。在傳統(tǒng)的開(kāi)源"拿上就走"的方案的情況下,儲(chǔ)存庫(kù)可經(jīng)由Web可用,使得儲(chǔ) 存庫(kù)可經(jīng)由Web界面瀏覽以展示供復(fù)制并粘貼的代碼和/或可用于下載的文件或者以經(jīng)由 下載或經(jīng)由分布式版本控制系統(tǒng)獲得存儲(chǔ)庫(kù)的本地副本。
[0004]
[0005] 在此描述了尤其用于使用社交數(shù)據(jù)圖來(lái)推薦與代碼在上下文上相關(guān)的 信息的各種方式。機(jī)器學(xué)習(xí)技術(shù)被用于確定與代碼在上下文上相關(guān)的信息。機(jī) 器學(xué)習(xí)技術(shù)的各示例包括但不限于,神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。社交數(shù)據(jù)圖是存 儲(chǔ)與社交聯(lián)網(wǎng)環(huán)境中的用戶相關(guān)聯(lián)的信息的圖數(shù)據(jù)庫(kù)。例如,這樣的信息可從用 戶的用戶簡(jiǎn)檔、社交更新等中檢索和/或推斷。社交聯(lián)網(wǎng)環(huán)境是促進(jìn)對(duì)共享興 趣、活動(dòng)、背景、現(xiàn)實(shí)生活的聯(lián)系等的用戶之間的社交網(wǎng)絡(luò)(例如,社交關(guān)系)的 構(gòu)建的在線服務(wù)、平臺(tái)或域(例如,網(wǎng)站)。社交聯(lián)網(wǎng)環(huán)境的示例包括但不限于, Badoo? , Beb?? , Faeebook?. Ymmetm, Google+? , Linkedin? , Myspace?、Orkut?、Renren?、Twitter⑧、Vkontakte?、Microsoft Team Foundation Server?^ 〇
[0006] 描述了一示例方法,其中作出開(kāi)發(fā)者執(zhí)行關(guān)于對(duì)指定代碼的開(kāi)發(fā)的操作的確定。 使用機(jī)器學(xué)習(xí)技術(shù)來(lái)確定與指定代碼在上下文上相關(guān)的信息。該信息在社交數(shù)據(jù)圖中與社 交聯(lián)網(wǎng)環(huán)境中的用戶相關(guān)聯(lián)?;谠撔畔⒌闹辽僖徊糠峙c社交數(shù)據(jù)圖中被包括在開(kāi)發(fā)者的 社交網(wǎng)絡(luò)中的至少一個(gè)用戶相關(guān)聯(lián)來(lái)推薦該信息的該至少一部分以供關(guān)于指定代碼來(lái)使 用。
[0007] 描述了包括操作確定邏輯、信息確定邏輯和推薦邏輯的系統(tǒng)。操作確定邏輯被配 置成確定開(kāi)發(fā)者是否執(zhí)行關(guān)于對(duì)指定代碼的開(kāi)發(fā)的操作。信息確定邏輯被配置成使用機(jī)器 學(xué)習(xí)技術(shù)來(lái)確定與指定代碼在上下文上相關(guān)的信息。該信息在社交數(shù)據(jù)圖中與社交聯(lián)網(wǎng)環(huán) 境中的用戶相關(guān)聯(lián)。推薦邏輯被配置成基于該信息的至少一部分與社交數(shù)據(jù)圖中被包括在 開(kāi)發(fā)者的社交網(wǎng)絡(luò)中的至少一個(gè)用戶相關(guān)聯(lián)來(lái)推薦該信息的該至少一部分以供關(guān)于指定 代碼來(lái)使用。
[0008] 描述了包括計(jì)算機(jī)可讀介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,計(jì)算機(jī)可讀介質(zhì)上記錄有用于使 得基于處理器的系統(tǒng)能夠使用社交數(shù)據(jù)圖來(lái)推薦與代碼在上下文上相關(guān)的信息的計(jì)算機(jī) 程序邏輯。計(jì)算機(jī)程序產(chǎn)品包括第一程序邏輯模塊、第二程序邏輯模塊和第三程序邏輯模 塊。第一程序邏輯模塊用于使得基于處理器的系統(tǒng)能夠確定開(kāi)發(fā)者是否執(zhí)行關(guān)于對(duì)指定代 碼的開(kāi)發(fā)的操作第二程序邏輯模塊用于使得基于處理器的系統(tǒng)能夠使用機(jī)器學(xué)習(xí)技術(shù)來(lái) 確定與指定代碼在上下文上相關(guān)的信息。該信息在社交數(shù)據(jù)圖中與社交聯(lián)網(wǎng)環(huán)境中的用戶 相關(guān)聯(lián)。第三程序邏輯模塊用于使得基于處理器的系統(tǒng)能夠基于該信息的至少一部分與社 交數(shù)據(jù)圖中被包括在開(kāi)發(fā)者的社交網(wǎng)絡(luò)中的至少一個(gè)用戶相關(guān)聯(lián)來(lái)推薦該信息的該至少 一部分以供關(guān)于指定代碼來(lái)使用。
[0009] 提供本概述以便以簡(jiǎn)化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本 概述并不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù) 主題的范圍。此外,注意到本發(fā)明不限于在詳細(xì)描述和/或本文的其它章節(jié)中所述的特定 實(shí)施例。本文呈現(xiàn)這些實(shí)施例僅用于說(shuō)明性的用途?;诒疚乃拿枋?,其它實(shí)施例 對(duì)于相關(guān)領(lǐng)域的技術(shù)人員將是顯而易見(jiàn)的。
【附圖說(shuō)明】
[0010] 本文結(jié)合的并且組成本說(shuō)明書(shū)的一部分的附圖示出了本發(fā)明的各實(shí)施例,并且還 與本描述一起用于解釋所涉及的原理以及使相關(guān)領(lǐng)域的技術(shù)人員能夠?qū)崿F(xiàn)和使用所公開(kāi) 的技術(shù)。
[0011] 圖1是根據(jù)一實(shí)施例的示例基于社交的信息推薦系統(tǒng)的框圖。
[0012] 圖2是示出根據(jù)一實(shí)施例的基于社交的信息推薦技術(shù)的示例實(shí)現(xiàn)的圖。
[0013] 圖3和5描述根據(jù)各實(shí)施例的用于推薦信息的示例方法的流程圖。
[0014] 圖4是根據(jù)一實(shí)施例的圖1中示出的信息推薦模塊的示例實(shí)現(xiàn)的框圖。
[0015] 圖6是根據(jù)一實(shí)施例的圖1中所示的信息確定邏輯的示例實(shí)現(xiàn)的框圖。
[0016] 圖7描繪了其中可實(shí)現(xiàn)各實(shí)施例的示例計(jì)算機(jī)。
[0017] 通過(guò)下面的結(jié)合附圖對(duì)本發(fā)明進(jìn)行的詳細(xì)說(shuō)明,所公開(kāi)的技術(shù)的特點(diǎn)和優(yōu)點(diǎn)將變 得更加顯而易見(jiàn),在附圖中,類似的附圖標(biāo)記在整個(gè)說(shuō)明書(shū)中標(biāo)識(shí)對(duì)應(yīng)的元素。在附圖中, 相同的參考標(biāo)號(hào)一般指相同的、功能上相似的和/或結(jié)構(gòu)上相似的元素。其中元素第一次 出現(xiàn)的附圖由對(duì)應(yīng)的參考標(biāo)號(hào)中最左側(cè)的數(shù)字指示。
【具體實(shí)施方式】
[0018] I.介紹
[0019] 以下詳細(xì)描述參考示出本發(fā)明的示例性實(shí)施例的附圖。但是,本發(fā)明的范圍不限 于這些實(shí)施例,而是由所附權(quán)利要求書(shū)定義。因此,諸如所示實(shí)施例的修改版本之類的在附 圖所示之外的實(shí)施例仍然由本發(fā)明所包含。
[0020] 本說(shuō)明書(shū)中對(duì)" 一個(gè)實(shí)施例"、"實(shí)施例"、"示例實(shí)施例"等的引用指的是所述實(shí)施 例可包括特定的特征、結(jié)構(gòu)或特點(diǎn),但是每一實(shí)施例不一定包括該特定的特征、結(jié)構(gòu)或特 點(diǎn)。此外,這些短語(yǔ)不一定指相同的實(shí)施例。此外,當(dāng)結(jié)合實(shí)施例描述具體特征、結(jié)構(gòu)或特性 時(shí),應(yīng)當(dāng)理解在相關(guān)領(lǐng)域的技術(shù)人員的知識(shí)范圍內(nèi)能夠結(jié)合其他實(shí)施例來(lái)實(shí)現(xiàn)具體特征、 結(jié)構(gòu)或特性,無(wú)論是否被顯式地描述。
[0021] II.示例實(shí)施例
[0022] 在此描述的示例實(shí)施例能夠使用社交數(shù)據(jù)圖來(lái)推薦與代碼在上下文上相關(guān)的信 息。機(jī)器學(xué)習(xí)技術(shù)被用于確定與代碼在上下文上相關(guān)的信息。機(jī)器學(xué)習(xí)技術(shù)的各示例包括 但不限于,神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。社交數(shù)據(jù)圖是存儲(chǔ)與社交聯(lián)網(wǎng)環(huán)境中的用戶相關(guān)聯(lián)的 信息的圖數(shù)據(jù)庫(kù)。例如,這樣的信息可從用戶的用戶簡(jiǎn)檔、社交更新等中檢索。社交聯(lián)網(wǎng)環(huán) 境是促進(jìn)對(duì)共享興趣、活動(dòng)、背景、現(xiàn)實(shí)生活的聯(lián)系等的用戶之間的社交網(wǎng)絡(luò)(例如,社交 關(guān)系)的構(gòu)建的在線服務(wù)、平臺(tái)或域(例如,網(wǎng)站)。社交聯(lián)網(wǎng)環(huán)境的示例包括但不限于, Badoo?、Beb〇?、Facebook?、Google+?、Linkedin?、Myspace?、Orkut?、 Renren?、TwitterOfe、Vkontakte?等。
[0023] 與傳統(tǒng)的軟件開(kāi)發(fā)技術(shù)相比,本文描述的示例技術(shù)具有各種益處。例如,示例技術(shù) 能夠使用開(kāi)發(fā)者的社交關(guān)系來(lái)推薦與開(kāi)發(fā)者在編寫的代碼在上下文上相關(guān)的信息。這樣的 信息可幫助開(kāi)發(fā)者尋找合并到代碼中的現(xiàn)有的組件、確定使用哪個(gè)可重用軟件、確定雇傭 誰(shuí)來(lái)工作、確定在代碼中使用的可用代碼段的質(zhì)量、確定哪些人在處置代碼、向使用代碼的 消費(fèi)者作出有針對(duì)性的營(yíng)銷機(jī)會(huì)等。利用上下文關(guān)系可解決與傳統(tǒng)技術(shù)相關(guān)聯(lián)的可發(fā)現(xiàn)性 問(wèn)題。
[0024] 示例技術(shù)能夠充分利用開(kāi)發(fā)者到開(kāi)發(fā)者的社交關(guān)系以及開(kāi)發(fā)者到終端用戶的社 交關(guān)系。例如,在開(kāi)發(fā)者到開(kāi)發(fā)者的場(chǎng)景中,修復(fù)代碼的開(kāi)發(fā)者可社交地連接到代碼的先前 所有者和/或簽入(check-in)。開(kāi)發(fā)者可充分利用社交數(shù)據(jù)圖中的簡(jiǎn)歷、實(shí)際貢獻(xiàn)以及技 能來(lái)確定雇傭誰(shuí)來(lái)解決技術(shù)問(wèn)題。開(kāi)發(fā)者可充分利用如在社交數(shù)據(jù)圖中提供的用戶的信譽(yù) 以及用戶所編寫的代碼段來(lái)尋找人員以填充新的開(kāi)發(fā)職位。開(kāi)發(fā)者之間關(guān)于代碼的通信可 被包括在社交數(shù)據(jù)圖中所包括的代碼歷史中。這樣的歷史可被用于作出與開(kāi)發(fā)者在解決的 問(wèn)題的類型以及開(kāi)發(fā)者可用來(lái)解決這些問(wèn)題的資源有關(guān)的推斷。
[0025] 在開(kāi)發(fā)者到終端用戶場(chǎng)景中,社交數(shù)據(jù)圖提供對(duì)與代碼的質(zhì)量有關(guān)的信息以及與 代碼有關(guān)的消費(fèi)者反饋的訪問(wèn)。這樣的信息可被用于作出關(guān)于代碼重用以及對(duì)代碼的未來(lái) 增強(qiáng)的明智決定。例如,信息可指示代碼的性能、提出的隱錯(cuò)的數(shù)量、剖析、熱點(diǎn)、多少其他 人員正主動(dòng)地使用該代碼(以及他們關(guān)于代碼的反饋或觀點(diǎn))。示例技術(shù)可被用于將新的 用戶吸引到應(yīng)用。例如,社交數(shù)據(jù)圖可包括與用戶購(gòu)買哪些類型的應(yīng)用有關(guān)的信息。示例 技術(shù)可使用用戶偏好和/或用戶的人口統(tǒng)計(jì)、與用戶的社交網(wǎng)絡(luò)中的人員使用了哪些應(yīng)用 有關(guān)的信息等來(lái)向用戶推薦附加的應(yīng)用或開(kāi)源。例如,可向用戶通知指定應(yīng)用,因?yàn)樵撚脩?的社交網(wǎng)絡(luò)中的人員使用該指定的應(yīng)用。
[0026] 示例技術(shù)能夠?qū)⑸婕霸创a控制和簽入的數(shù)據(jù)連接到社交關(guān)系。社交數(shù)據(jù)圖可包 括除了典型源配置管理數(shù)據(jù)之外的信息。例如,社交數(shù)據(jù)圖可包括來(lái)自Skype?和/或消 息收發(fā)服務(wù)(例如,電子郵件、短消息服務(wù)(SMS)、即時(shí)消息(頂)等)中的會(huì)話的數(shù)據(jù);來(lái) 自技術(shù)論壇、代碼樣本庫(kù)和/或?qū)<揖W(wǎng)站(例如,www. stackoverflow. com)的發(fā)現(xiàn)模式和 /或使用模式;來(lái)自任何合適的本地