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