本申請要求2014年5月30日提交的非臨時美國專利申請序列號14/292,779的優(yōu)先權(quán),并且其被整體地通過引用并入本文中。
技術(shù)領(lǐng)域
本申請一般地涉及數(shù)據(jù)處理系統(tǒng),并且在一個特定示例中涉及用于推斷在線社交網(wǎng)絡(luò)服務(wù)的成員的身份(例如,成員簡檔屬性)的技術(shù)。
背景技術(shù):
諸如LinkedIn?之類的在線社交網(wǎng)絡(luò)服務(wù)向數(shù)以數(shù)百萬的成員提供多種產(chǎn)品和服務(wù)。典型地,在線社交網(wǎng)絡(luò)服務(wù)的每個成員可以維護成員簡檔頁面,其包括與成員相關(guān)聯(lián)的各種信息(或成員簡檔屬性),諸如成員照片、就業(yè)信息、教育信息、頭銜、技能、地理位置等。
附圖說明
在附圖中的圖中圖示一些實施例作為示例而不是限制,在所述附圖中:
圖1是示出與本發(fā)明的一些實施例一致的社交聯(lián)網(wǎng)服務(wù)的功能部件的框圖;
圖2是根據(jù)各種實施例的示例系統(tǒng)的框圖;
圖3是圖示根據(jù)各種實施例的示例方法的流程圖;
圖4是圖示根據(jù)各種實施例的示例方法的流程圖;
圖5是圖示根據(jù)各種實施例的示例方法的流程圖;
圖6是圖示根據(jù)各種實施例的示例方法的流程圖;
圖7是圖示根據(jù)各種實施例的示例方法的流程圖;
圖8圖示了根據(jù)各種實施例的示例移動設(shè)備;以及
圖9是以計算機系統(tǒng)的示例形式的機器的圖解表示,在其內(nèi)可以執(zhí)行用于使機器執(zhí)行本文中討論的方法中的任一個或多個的指令集。
具體實施方式
描述了用于推斷在線社交網(wǎng)絡(luò)服務(wù)的成員的身份(例如,成員簡檔屬性)的示例方法和系統(tǒng)。在以下描述中,出于解釋的目的,闡述眾多特定細節(jié)以便提供對示例實施例的透徹理解。然而,對本領(lǐng)域技術(shù)人員將明顯的是,可以在沒有這些特定細節(jié)的情況下實踐本發(fā)明。
根據(jù)各種示例實施例,一種身份推斷系統(tǒng)被配置成推斷與在線社交網(wǎng)絡(luò)服務(wù)的成員相關(guān)聯(lián)的缺少的成員簡檔屬性。例如,如果成員具有缺少的雇主(例如,公司)屬性、教育(例如,學(xué)校)屬性、地理位置屬性、頭銜屬性、技能屬性等,則系統(tǒng)被配置成分析與該成員相關(guān)聯(lián)的現(xiàn)有數(shù)據(jù)(例如,成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù)),以及在線社交網(wǎng)絡(luò)的其他成員的現(xiàn)有數(shù)據(jù),以便推斷缺少的成員簡檔屬性的值。
例如,在一些實施例中,系統(tǒng)可以訪問與在線社交網(wǎng)絡(luò)服務(wù)的成員相關(guān)聯(lián)的成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù),行為日志數(shù)據(jù)指示由成員與在線社交網(wǎng)絡(luò)服務(wù)的一個或多個產(chǎn)品的交互。如以下更詳細地描述的那樣,系統(tǒng)然后可以將從成員簡檔數(shù)據(jù)和/或行為日志數(shù)據(jù)提取的一個或多個特征輸入到諸如邏輯回歸模型之類的基于計算機的預(yù)測模型中,并且基于特征數(shù)據(jù)執(zhí)行預(yù)測建模過程以生成與特定成員的缺少的成員簡檔屬性相關(guān)聯(lián)的置信度得分,置信度得分指示缺少的成員簡檔屬性對應(yīng)于候選值的可能性。如果置信度得分大于預(yù)定值,則系統(tǒng)可以確定缺少的成員簡檔屬性很可能對應(yīng)于該候選值。
可以推斷的成員簡檔屬性的非限制性示例包括姓名、頭銜、行業(yè)、地理位置、國家、地區(qū)、聯(lián)系信息、電子郵件地址、性別、當前雇主、先前雇主、當前教育機構(gòu)、先前教育機構(gòu)、學(xué)位、研究領(lǐng)域、技能、推薦、違章記錄、公司大小、資歷水平等。行為日志數(shù)據(jù)的非限制性示例包括指示成員如何與在線內(nèi)容(例如,在線社交網(wǎng)絡(luò)服務(wù)網(wǎng)站和與其相關(guān)聯(lián)的任何web頁面和產(chǎn)品)交互的任何信息。例如,在在線社交網(wǎng)絡(luò)服務(wù)LinkedIn?的情況下,成員的行為日志數(shù)據(jù)包括指示成員何時登錄到站點中、成員在該站點上逗留多久、什么被顯示給他們、他們查看了什么、印象、他們點擊了什么、社交活動信息(例如,他們喜歡、共享、關(guān)注、發(fā)布了什么,對什么進行評論等)、他們與其交互的產(chǎn)品(例如,內(nèi)容饋送或網(wǎng)絡(luò)更新流(NUS)、其他成員的成員簡檔頁面、您可能認識的人(PYMK)產(chǎn)品、您可能感興趣的職位(JYMBII)產(chǎn)品、公司頁面、群組頁面、影響者頁面、大學(xué)/學(xué)校頁面等)、(從成員的移動設(shè)備接收的)地理位置信息、計算平臺信息(例如,成員經(jīng)由臺式還是移動設(shè)備訪問該站點)、IP地址信息(例如,從成員接收到的與用以登錄到網(wǎng)站的登錄請求相關(guān)聯(lián)的IP地址)、成員的成員聯(lián)系(connection)、由成員發(fā)送的邀請、由成員上傳到站點的地址簿或聯(lián)系信息等的信息。
系統(tǒng)可以將以上描述的特征數(shù)據(jù)(例如,前述的成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù))的任何組合考慮在內(nèi)以便確定指示特定成員的缺少的成員簡檔屬性對應(yīng)于候選值的可能性的概率或“置信度得分”。如以上描述的那樣,系統(tǒng)可以使用一個或多個基于計算機的預(yù)測模型(例如,統(tǒng)計學(xué)機器學(xué)習(xí)模型)來執(zhí)行基于計算機的預(yù)測建模,以便生成前述的置信度得分。預(yù)測模型的示例包括邏輯回歸模型、梯度提升機(GBM)模型、樸素貝葉斯模型、支持向量機(SVM)模型、決策樹模型和神經(jīng)網(wǎng)絡(luò)模型。
在一些實施例中,可以基于與具有用于成員簡檔屬性的已知候選值的成員(例如,列出諸如斯坦福之類的特定學(xué)?;蛑T如LinkedIn?之類的特定雇主或諸如舊金山灣區(qū)之類的特定地理位置或諸如計算機工程師之類的特定頭銜或諸如HTML之類的特定技能等的成員)相關(guān)聯(lián)的特征數(shù)據(jù)(例如,成員簡檔數(shù)據(jù)、行為日志數(shù)據(jù)等)來訓(xùn)練預(yù)測模型。在訓(xùn)練過程期間,可以標識與具有用于成員簡檔屬性的已知候選值的這些成員相關(guān)聯(lián)的統(tǒng)計學(xué)趨勢和模式,并且可以相應(yīng)地訓(xùn)練和細化模型的系數(shù),使得經(jīng)訓(xùn)練的模型反映各種特征的相對權(quán)重、重要性或相關(guān)性以用于確定特定成員是否也與用于該成員簡檔屬性的該候選值相關(guān)聯(lián)(例如,特定成員是否上過斯坦福)的目的。例如,經(jīng)訓(xùn)練的模型的系數(shù)可以反映電子郵件地址域和IP地址的屬性具有與位置的成員簡檔屬性的高相關(guān),盡管它們具有與頭銜的成員簡檔屬性的較低相關(guān),并且因此模型中的與電子郵件域和IP地址的屬性相關(guān)聯(lián)的系數(shù)可以被相應(yīng)地加權(quán)。一旦被訓(xùn)練,預(yù)測模型就可以接收與特定成員相關(guān)聯(lián)的可用特征(例如,成員簡檔數(shù)據(jù)、社交活動信息、地理位置信息、IP地址登錄信息等)以便確定該成員的成員簡檔屬性對應(yīng)于給定候選值的可能性。
由于每個成員簡檔屬性可以與多個候選值相關(guān)聯(lián)(例如,公司屬性可以對應(yīng)于諸如LinkedIn?、Google?、Apple?等的候選值),因此系統(tǒng)可以生成與多個候選值相關(guān)聯(lián)的多個置信度得分,每個置信度得分指示該候選值等同于成員的缺少的成員簡檔屬性的可能性。在一些示例實施例中,系統(tǒng)可以基于置信度得分對候選值進行排列以便確定成員很可能在排列最高的候選值處工作。替代地或此外,系統(tǒng)可以確定候選值中的一個或多個是否大于預(yù)定閾值,如以上所描述的那樣。在一些示例實施例中,可以針對每個類型的成員簡檔屬性訓(xùn)練特定預(yù)測模型(例如,針對公司屬性的經(jīng)訓(xùn)練的模型、針對大學(xué)屬性的經(jīng)訓(xùn)練的模型等)。而且,在一些實施例中,可以針對與成員簡檔屬性相關(guān)聯(lián)的每個特定候選值訓(xùn)練特定預(yù)測模型(例如,針對用于公司屬性的LinkedIn?的候選值的經(jīng)訓(xùn)練的模型、針對用于公司屬性的Google?的候選值的經(jīng)訓(xùn)練的模型等)。
可以被包括在特征數(shù)據(jù)中的特定特征的示例包括標識社交網(wǎng)絡(luò)的每個成員的成員聯(lián)系的成員聯(lián)系信息。例如,當推斷John Smith是否在LinkedIn?工作時,系統(tǒng)可以確定如果John Smith的大量成員聯(lián)系在LinkedIn?工作,則很可能John Smith也在LinkedIn?工作。例如,預(yù)測模型可以被關(guān)于在LinkedIn?工作的成員的成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù)進行訓(xùn)練并且確定這樣的成員傾向于具有在LinkedIn?工作的大量成員聯(lián)系,并且可能具有在其他公司工作的相對較小量的成員聯(lián)系。類似地,預(yù)測模型可以被關(guān)于在Google?工作的成員的成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù)進行訓(xùn)練并且確定例如這些成員傾向于具有在LinkedIn?工作的小量成員聯(lián)系,并且可能具有在Google?工作的相對較大量的成員聯(lián)系,等等。相應(yīng)地,當關(guān)于與已知候選值相關(guān)聯(lián)的成員(例如,在LinkedIn?工作的成員)的數(shù)據(jù)訓(xùn)練預(yù)測模型時,系統(tǒng)可以包括在與每個特定成員相關(guān)聯(lián)的特征向量中的指示共享與候選公司相同的公司的該特定成員的成員聯(lián)系的數(shù)量(例如,在LinkedIn?工作的成員聯(lián)系的數(shù)量)的數(shù)值。同樣地,當稍后利用預(yù)測模型來生成與具有特定候選值(例如,LinkedIn?)的John Smith相關(guān)聯(lián)的置信度得分時,系統(tǒng)可以包括在與John Smith相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示共享與候選公司相同的公司的John Smith的成員聯(lián)系的數(shù)量(例如,在LinkedIn?工作的成員聯(lián)系的數(shù)量)的數(shù)值。在該非限制性示例中,該數(shù)值越大,由預(yù)測模型生成的置信度得分越大。同樣地,可以在推斷其他屬性時以類似的方式利用成員聯(lián)系信息,所述其他屬性諸如位置、學(xué)校、頭銜、技能等。例如,當推斷位置屬性時,系統(tǒng)可以利用指示給定成員的多少成員聯(lián)系共享與候選國家/地區(qū)相同的國家/地區(qū)的特征。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括標識與由在線社交網(wǎng)絡(luò)的成員的登錄請求相關(guān)聯(lián)的IP地址的IP地址信息。例如,系統(tǒng)可以推斷從相同/類似IP地址登錄的成員傾向于在相同的公司工作。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示由該成員用于登錄到網(wǎng)站的IP地址的數(shù)值,或指示具有與給定成員相同/類似的IP地址的成員如何共享與候選公司相同的公司的數(shù)值。同樣地,可以在推斷其他屬性時以類似的方式利用IP地址信息,所述其他屬性諸如位置、學(xué)校、頭銜、技能等。例如,當推斷位置屬性時,系統(tǒng)可以利用指示多少與和給定成員相同的IP地址相關(guān)聯(lián)的成員共享與候選國家/地區(qū)相同的國家/地區(qū)的特征。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括標識由在線社交網(wǎng)絡(luò)的成員進行的簡檔查看的簡檔查看信息。例如,系統(tǒng)可以確定如果成員簡檔X被查看成員簡檔Y的相同成員頻繁查看(使得Y被稱為X的“被共同查看的簡檔”并且反之亦然),則成員X和成員Y很可能在一起工作。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示該成員的多少被共同查看的簡檔共享與候選公司相同的公司的數(shù)值(例如,查看該成員的人頻繁查看在LinkedIn?工作的一定數(shù)量的其他成員)。在該非限制性示例中,該數(shù)值越大,由預(yù)測模型生成的置信度得分就越大。同樣地,可以在推斷其他屬性時以類似的方式利用簡檔查看信息,所述其他屬性諸如位置、學(xué)校、頭銜、技能等。例如,當推斷位置屬性時,系統(tǒng)可以利用指示該成員的多少被共同查看的簡檔共享與候選國家/地區(qū)相同的國家/地區(qū)的特征。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括標識與在線社交網(wǎng)絡(luò)的成員相關(guān)聯(lián)的電子郵件域的電子郵件域信息。例如,系統(tǒng)可以推斷利用相同電子郵件域(例如,LinkedIn?.com)簽約社交網(wǎng)絡(luò)賬戶的成員傾向于在相同公司(例如,LinkedIn?)工作。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示由該成員用于在網(wǎng)站上簽約賬號的電子郵件域的數(shù)值,或指示與和成員相同的電子郵件域相關(guān)聯(lián)的成員如何共享與候選公司相同的公司的數(shù)值。同樣地,可以在推斷其他屬性時以類似的方式利用電子郵件域信息,所述其他屬性諸如位置、學(xué)校、頭銜、技能等。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括標識由在線社交網(wǎng)絡(luò)的成員傳輸?shù)难埖难埿畔ⅰ@?,當推斷John Smith是否在LinkedIn?工作時,系統(tǒng)可以確定如果John Smith已經(jīng)向在LinkedIn?工作的其他成員傳輸了大量邀請,則很可能John Smith也在LinkedIn?工作。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示由該特定成員向共享與候選公司相同的公司的其他人(例如,在LinkedIn?工作的成員)發(fā)送的成員邀請的數(shù)量的數(shù)值。同樣地,可以在推斷其他屬性時以類似的方式利用邀請信息,所述其他屬性諸如位置、學(xué)校、頭銜、技能等。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括標識與在線社交網(wǎng)絡(luò)的成員相關(guān)聯(lián)的地址簿中的記錄的地址簿信息。例如,系統(tǒng)可以推斷,如果成員上傳包括在LinkedIn?工作的大量用戶的地址簿,則很可能該成員也在LinkedIn?工作。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示共享與候選公司相同的公司的由該特定成員上傳的地址簿中的用戶(例如,在LinkedIn?工作的用戶)的數(shù)量的數(shù)值。作為另一示例,系統(tǒng)可以推斷,如果特定成員頻繁地與在LinkedIn?工作的其他人共同出現(xiàn)在地址簿中,則該特定成員很可能也在LinkedIn?工作。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示該成員多少次與共享與候選公司相同的公司的至少一個用戶共同出現(xiàn)(在一個或多個地址簿中)或者他們多少次與在候選值公司工作的特定用戶共同出現(xiàn)等的數(shù)值。作為另一示例,系統(tǒng)可以對成員多少次出現(xiàn)在在候選公司工作的成員的地址簿中進行計數(shù)。例如,系統(tǒng)可以確定如果某人非常經(jīng)常出現(xiàn)在LinkedIn?雇員的地址簿中,則他/她更可能已經(jīng)在LinkedIn?工作。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示該成員多少次出現(xiàn)在在候選公司工作的用戶的地址簿中的數(shù)值。同樣地,可以在推斷其他屬性時以類似的方式利用地址簿信息,所述其他屬性諸如位置、學(xué)校、頭銜、技能等。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括與在線社交網(wǎng)絡(luò)的成員相關(guān)聯(lián)的校友群組成員資格信息。例如,系統(tǒng)可以推斷加入相同校友群組(例如,斯坦福校友)的成員傾向于從相同學(xué)校(例如,斯坦福)畢業(yè)。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示加入給定成員加入的群組的上候選學(xué)校的成員的數(shù)量的數(shù)值。同樣地,可以在推斷其他屬性時以類似的方式利用群組成員資格信息,所述其他屬性諸如位置、公司、頭銜、技能等。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括在線社交網(wǎng)絡(luò)的成員的地理位置信息(例如,城市、州、國家、地區(qū)等)。例如,系統(tǒng)可以推斷如果成員(例如,當他們在在線社交網(wǎng)絡(luò)服務(wù)上簽約賬戶時)指定他們在給定國家或地區(qū)中,則他們很可能在該國家或地區(qū)中上學(xué),并且他們很可能沒有在一些其他國家或地區(qū)中上學(xué)。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示(例如,如由成員在他們在在線社交網(wǎng)絡(luò)服務(wù)上簽約賬戶時指定的)國家或地區(qū)的數(shù)值。同樣地,可以在推斷其他屬性時以類似的方式利用地理位置信息,所述其他屬性諸如位置、公司、頭銜、技能等。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括在線社交網(wǎng)絡(luò)的成員的性別分布信息。例如,如果系統(tǒng)確定成員是男性,則他們不太可能上僅有女性的學(xué)校(或其中大多數(shù)成員是女性的學(xué)校)。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示具有與候選學(xué)校處的給定成員相同的性別的成員的數(shù)量或比例的數(shù)目的數(shù)值。同樣地,可以在推斷其他屬性時以類似的方式利用性別分布信息,所述其他屬性諸如位置、公司、頭銜、技能等。
可以被包括在特征數(shù)據(jù)中的特定特征的另一示例包括與在線社交網(wǎng)絡(luò)的成員相關(guān)聯(lián)的行業(yè)信息。例如,系統(tǒng)可以推斷具有相同行業(yè)屬性(例如,音樂行業(yè))的成員傾向于從相同或類似的學(xué)校畢業(yè)。相應(yīng)地,系統(tǒng)可以包括在與給定成員相關(guān)聯(lián)的特征數(shù)據(jù)的特征向量中的指示具有與上候選學(xué)校的給定成員相同的行業(yè)屬性的成員的數(shù)量的數(shù)值。同樣地,可以在推斷其他屬性時以類似的方式利用行業(yè)信息,所述其他屬性諸如位置、公司、頭銜、技能等。
在一些實施例中,系統(tǒng)可以與推斷公司結(jié)合地推斷頭銜。例如,頭銜和公司經(jīng)常是由成員彼此結(jié)合而指定的相關(guān)屬性。在一些實施例中,系統(tǒng)可以通過(例如,使用以上描述的任何實施例)首先推斷給定成員的公司并且然后標識已經(jīng)在所推斷的公司工作的給定成員的一個或多個第一級成員聯(lián)系的集合來推斷給定成員的頭銜。系統(tǒng)然后可以通過比較該第一成員的技能與給定成員的(已知或推斷的)技能來標識成員的集合中的“最類似”于給定成員的第一個。系統(tǒng)然后可以推斷給定成員的頭銜對應(yīng)于第一成員的頭銜。
以上的各種示例描述了被插入到特征向量中的特征和/或數(shù)值,并且這樣的特征和/或數(shù)值可以表示特定時間段內(nèi)的計數(shù)(例如,特定星期、星期的組、特定月份、月份的組等)。例如,當推斷位置屬性時,系統(tǒng)可以利用指示多少與和給定成員相同/類似的IP地址相關(guān)聯(lián)的成員共享與候選國家/地區(qū)相同的國家/地區(qū)。因此,該特征可以包括多少成員在特定星期、星期的組、特定月份、月份的組等期間基于該相同/類似的IP地址登錄到網(wǎng)站中的計數(shù)。
圖1是圖示了與一些實施例一致的諸如社交網(wǎng)絡(luò)系統(tǒng)20的社交網(wǎng)絡(luò)服務(wù)的各種部件或功能模塊的框圖。如圖1中所示,前端包括用戶接口模塊(例如,web服務(wù)器)22,其從各種客戶端-計算設(shè)備接收請求,并且向請求客戶端設(shè)備傳送適當?shù)捻憫?yīng)。例如,(一個或多個)用戶接口模塊22可以接收以超文本傳輸協(xié)議(HTTP)請求或其他基于web的應(yīng)用編程接口(API)請求的形式的請求。應(yīng)用邏輯層包括各種應(yīng)用服務(wù)器模塊14,其與(一個或多個)用戶接口模塊22結(jié)合地生成具有從數(shù)據(jù)層中的各種數(shù)據(jù)源檢索到的數(shù)據(jù)的各種用戶接口(例如,web頁面)。在一些實施例的情況下,個別應(yīng)用服務(wù)器模塊24用于實現(xiàn)與社交網(wǎng)絡(luò)服務(wù)的各種服務(wù)和特征相關(guān)聯(lián)的功能。例如,建立社交網(wǎng)絡(luò)服務(wù)的社交圖中的存在的組織的能力可以是在獨立應(yīng)用服務(wù)器模塊24中實現(xiàn)的服務(wù),所述能力包括代表組織建立經(jīng)定制的web頁面和代表組織發(fā)布消息或狀態(tài)更新的能力。類似地,使其對社交網(wǎng)絡(luò)服務(wù)的成員可用的多種其他應(yīng)用或服務(wù)將被具體化在其自己的應(yīng)用服務(wù)器模塊24中。
如圖1中所示,數(shù)據(jù)層包括若干數(shù)據(jù)庫,諸如用于存儲簡檔數(shù)據(jù)的數(shù)據(jù)庫28,所述簡檔數(shù)據(jù)包括成員簡檔數(shù)據(jù)以及各種組織的簡檔數(shù)據(jù)二者。與一些實施例一致,當人最初登記以成為社交網(wǎng)絡(luò)服務(wù)的成員時,人將被提示提供一些個人信息,諸如他或她的姓名、年齡(例如,出生日期)、性別、興趣、聯(lián)系信息、家鄉(xiāng)、地址、成員的配偶和/或家庭成員的姓名、教育背景(例如,學(xué)校、專業(yè)、入學(xué)和/或畢業(yè)日期等)、就業(yè)歷史、技能、職業(yè)組織等。該信息被例如存儲在具有參考號碼28的數(shù)據(jù)庫中。類似地,當組織的代表最初向社交網(wǎng)絡(luò)服務(wù)登記組織時,代表可能被提示提供關(guān)于該組織的某些信息。該信息可以被例如存儲在具有參考號碼28的數(shù)據(jù)庫或另一數(shù)據(jù)庫(未示出)中。在一些實施例的情況下,可以(例如,在后臺中或離線)處理簡檔數(shù)據(jù)以生成各種經(jīng)導(dǎo)出的簡檔數(shù)據(jù)。例如,如果成員已經(jīng)提供了關(guān)于該成員就相同公司或不同公司擁有的各種工作頭銜以及達多久的信息,則該信息可以用于推斷或?qū)С鲋甘境蓡T的總體資歷水平或特定公司內(nèi)的資歷水平的成員簡檔屬性。在一些實施例的情況下,從一個或多個外部托管的數(shù)據(jù)源輸入或以其他方式訪問數(shù)據(jù)可以增強成員和組織二者的簡檔數(shù)據(jù)。例如,特別地就公司而言,可以從一個或多個外部數(shù)據(jù)源輸入金融數(shù)據(jù),并且所述金融數(shù)據(jù)構(gòu)成公司的簡檔的部分。
一旦被登記,成員就可以邀請其他成員,或者被其他成員邀請,以經(jīng)由社交網(wǎng)絡(luò)服務(wù)進行聯(lián)系?!奥?lián)系”可以要求成員的雙邊協(xié)議,使得兩個成員確認聯(lián)系的建立。類似地,在一些實施例的情況下,成員可以選擇“關(guān)注”另一成員。與建立聯(lián)系形成對照,“關(guān)注”另一成員的概念典型地是單邊操作,并且至少在一些實施例的情況下,不要求被關(guān)注的成員的確認或批準。當一個成員關(guān)注另一個時,關(guān)注的成員可以接收由被關(guān)注的成員發(fā)布的或者涉及由被關(guān)注的成員從事的各種活動的狀態(tài)更新或其他消息。類似地,當成員關(guān)注組織時,成員變得有資格接收代表該組織發(fā)布的消息或狀態(tài)更新。例如,代表成員關(guān)注的組織發(fā)布的消息或狀態(tài)更新將出現(xiàn)在成員的個性化數(shù)據(jù)饋送或內(nèi)容流中。在任何情況下,在圖1中用參考號碼30示出的社交圖內(nèi)存儲和維護成員與其他成員或與其他實體和對象建立的各種關(guān)聯(lián)和關(guān)系。
社交網(wǎng)絡(luò)服務(wù)可以提供允許成員共享和接收通常針對成員的興趣定制的信息的機會的寬范圍的其他應(yīng)用和服務(wù)。例如,在一些實施例的情況下,社交網(wǎng)絡(luò)服務(wù)可以包括照片共享應(yīng)用,其允許成員上傳和與其他成員共享照片。在一些實施例的情況下,成員可能能夠自組織成組或興趣組,其被圍繞感興趣的主題或話題而組織。在一些實施例的情況下,社交網(wǎng)絡(luò)服務(wù)可以托管提供關(guān)于各種組織的職位空缺的細節(jié)的各種職位列表。
當成員與各種應(yīng)用交互時,可以監(jiān)視經(jīng)由社交網(wǎng)絡(luò)服務(wù)使其可用的服務(wù)和內(nèi)容、成員的行為(例如,所查看的內(nèi)容、所選擇的鏈接或成員興趣按鈕等)并且可以存儲關(guān)于成員的活動和行為的信息,例如如圖1中通過具有參考號碼32的數(shù)據(jù)庫所指示的那樣。
在一些實施例的情況下,社交網(wǎng)絡(luò)系統(tǒng)20包括一般在本文中被稱為身份推斷系統(tǒng)200的事物。以下結(jié)合圖2更詳細地描述身份推斷系統(tǒng)200。
盡管未被示出,但是在一些實施例的情況下,社交網(wǎng)絡(luò)系統(tǒng)20提供應(yīng)用編程接口(API)模塊,第三方應(yīng)用可以經(jīng)由其訪問由社交網(wǎng)絡(luò)服務(wù)提供的各種服務(wù)和數(shù)據(jù)。例如,使用API,第三方應(yīng)用可以提供用戶接口和邏輯,其使得組織的經(jīng)授權(quán)的代表能夠從第三方應(yīng)用向促進由社交網(wǎng)絡(luò)服務(wù)維護和呈現(xiàn)的活動或內(nèi)容流的呈現(xiàn)的社交網(wǎng)絡(luò)服務(wù)的內(nèi)容托管平臺發(fā)布消息。這樣的第三方應(yīng)用可以是基于瀏覽器的應(yīng)用,或者可以是操作系統(tǒng)特定的。特別地,一些第三方應(yīng)用可以駐留在具有移動操作系統(tǒng)的一個或多個移動設(shè)備(例如,電話或平板計算設(shè)備)上和在其上執(zhí)行。
現(xiàn)在轉(zhuǎn)向圖2,身份推斷系統(tǒng)200包括確定模塊202、請求生成模塊204和數(shù)據(jù)庫206。身份推斷系統(tǒng)200的模塊可以在諸如被推斷身份設(shè)備之類的單個設(shè)備上實現(xiàn)或由所述單個設(shè)備執(zhí)行,或者在經(jīng)由網(wǎng)絡(luò)互連的分離設(shè)備上實現(xiàn)。前述的被推斷身份設(shè)備可以是例如一個或多個客戶端機器或應(yīng)用服務(wù)器?,F(xiàn)在將結(jié)合圖3更詳細地描述身份推斷系統(tǒng)200的前述模塊中的每個的操作。
圖3是圖示根據(jù)各種示例實施例的示例方法300的流程圖。方法300可以至少部分地通過例如圖2中圖示的身份推斷系統(tǒng)200(或具有類似模塊的裝置,諸如一個或多個客戶端機器或應(yīng)用服務(wù)器)來執(zhí)行。在圖3中的操作301中,標識模塊202標識在與在線社交網(wǎng)絡(luò)服務(wù)的特定成員相關(guān)聯(lián)的成員簡檔頁面中缺少的成員簡檔屬性。在一些實施例中,缺少的成員簡檔屬性對應(yīng)于地理位置、教育屬性、雇主屬性、頭銜和技能中的至少一個。在圖3中的操作302中,預(yù)測模塊204訪問與在線社交網(wǎng)絡(luò)服務(wù)的多個成員相關(guān)聯(lián)的成員簡檔數(shù)據(jù)。成員簡檔數(shù)據(jù)可以被存儲在數(shù)據(jù)庫206中。在圖3中的操作303中,預(yù)測模塊204訪問與成員相關(guān)聯(lián)的行為日志數(shù)據(jù),行為日志數(shù)據(jù)指示由成員與在線社交網(wǎng)絡(luò)服務(wù)的一個或多個產(chǎn)品進行的交互。行為日志數(shù)據(jù)可以被存儲在數(shù)據(jù)庫206中。在圖3中的操作304中,預(yù)測模塊204基于預(yù)測模型和包括成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù)的特征數(shù)據(jù)來執(zhí)行預(yù)測建模以生成與特定成員和缺少的成員簡檔屬性相關(guān)聯(lián)的置信度得分,置信度得分指示缺少的成員簡檔屬性對應(yīng)于候選值的可能性。在一些實施例中,置信度得分可以是預(yù)定范圍內(nèi)的數(shù)值數(shù)字(例如,0至1的范圍內(nèi)的數(shù)字,或0至100的范圍內(nèi)的數(shù)字等)。在一些實施例中,預(yù)測模型是邏輯回歸模型、梯度提升機(GBM)模型、樸素貝葉斯模型、支持向量機(SVM)模型、決策樹模型和神經(jīng)網(wǎng)絡(luò)模型中的任一個。
圖4是圖示了與以上所描述的各種實施例一致的示例方法400的流程圖。在一些實施例中,可以在圖3中圖示的方法300之后執(zhí)行方法400。方法400可以至少部分地通過例如圖2中圖示的身份推斷系統(tǒng)200(或具有類似模塊的裝置,這樣的一個或多個客戶端機器或應(yīng)用服務(wù)器)來執(zhí)行。在操作401中,預(yù)測模塊204確定置信度得分(例如,在圖3中的操作304中生成的置信度得分)大于預(yù)定閾值(例如,0.5、0.8等)。在操作402中,預(yù)測模塊204提示與置信度得分相關(guān)聯(lián)的特定成員更新缺少的成員簡檔屬性(例如,在圖3中的操作301中標識的缺少的成員簡檔屬性)以對應(yīng)于與置信度得分相關(guān)聯(lián)的候選值(例如,參見圖3中的操作304)。在一些實施例中,提示可以包括經(jīng)由用戶接口顯示邀請?zhí)囟ǔ蓡T更新缺少的成員簡檔屬性以對應(yīng)于候選值的提示。在一些實施例中,提示可以包括向特定成員傳輸邀請?zhí)囟ǔ蓡T更新缺少的成員簡檔屬性以對應(yīng)于候選值的消息。例如,前述消息可以對應(yīng)于電子郵件、文本消息、社交網(wǎng)絡(luò)即時消息和聊天消息。設(shè)想方法400的操作可以合并本文中公開的任何其他特征??梢栽诒匾獣r省略或重新布置方法400中的各種操作。
在一些實施例中,在提示成員與候選值對應(yīng)地更新缺少的成員簡檔屬性之前,系統(tǒng)可以首先確定候選值是否已經(jīng)被包括在成員的簡檔頁面中(例如,與另一現(xiàn)有的成員簡檔屬性一致)。例如,假定特定成員已經(jīng)將雇主LinkedIn?作為前任雇主列出在其簡檔上,但是當前雇主屬性缺少。身份推斷系統(tǒng)200然而可以推斷成員當前在LinkedIn?工作(例如,用于當前雇主的缺少的成員簡檔屬性的候選值最可能對應(yīng)于雇主LinkedIn?)。然而,成員已經(jīng)將LinkedIn?作為前任雇主列出的事實將導(dǎo)致系統(tǒng)防止成員被提示將其當前雇主更新成LinkedIn?。相應(yīng)地,在一些實施例中,系統(tǒng)可以分析成員的針對各種值的簡檔頁面(例如,公司、大學(xué)、位置、頭銜、技能等),并且防止那些值被作為預(yù)測建模過程中的候選值而發(fā)送。替代地或此外,在預(yù)測建模過程被完成之后,系統(tǒng)可以忽略與已經(jīng)包括在成員的簡檔頁面中的候選值相關(guān)聯(lián)的任何置信度得分。
圖5是圖示與以上所描述的各種實施例一致的示例方法500的流程圖。方法500可以至少部分地通過例如圖2中圖示的身份推斷系統(tǒng)200(或具有類似模塊的裝置,這樣的一個或多個客戶端機器或應(yīng)用服務(wù)器)來執(zhí)行。在操作501中,標識模塊202確定(例如,從預(yù)測建模過程輸出的)候選值與被包括在成員的成員簡檔頁面中的現(xiàn)有的成員簡檔屬性相關(guān)聯(lián)。例如,現(xiàn)有的成員簡檔屬性可以不同于成員簡檔頁面中的缺少的成員簡檔屬性(例如,前任雇主對當前雇主)。在操作502中,預(yù)測模塊204防止特定成員被提示更新缺少的成員簡檔屬性以對應(yīng)于候選值。設(shè)想,方法500的操作可以合并本文中公開的任何其他特征。在必要時可以省略或重新布置方法500中的各種操作。
在一些實施例中,在身份推斷系統(tǒng)200(例如,基于置信度得分高于預(yù)定閾值,如以上所描述的那樣)確定成員的缺少的成員簡檔屬性對應(yīng)于候選值之后,系統(tǒng)可以修改各種類型的信息以指示成員的缺少的成員簡檔屬性很可能對應(yīng)于候選值。例如,如果系統(tǒng)確定缺少雇主屬性很可能對應(yīng)于在LinkedIn?工作的成員,并且如果系統(tǒng)接收到針對在LinkedIn?工作的成員的列表的請求(或針對這樣的成員的搜索請求),則系統(tǒng)可以將該成員包括在結(jié)果的列表中(或指示該成員應(yīng)當可能被包括在結(jié)果中)。作為另一示例,如果身份推斷系統(tǒng)200正在生成諸如LinkedIn?之類的特定雇主的當前雇員的計數(shù)(例如,以出于營銷和/或打廣告的目的),則系統(tǒng)可以將該計數(shù)增加以包括該成員。
圖6是圖示了與以上所描述的各種實施例一致的示例方法600的流程圖。方法600可以至少部分地通過例如圖2中圖示的身份推斷系統(tǒng)200(或具有類似模塊的裝置,這樣的一個或多個客戶端機器或應(yīng)用服務(wù)器)來執(zhí)行。在操作601中,預(yù)測模塊204接收針對具有對應(yīng)于候選值的成員簡檔屬性的成員的搜索請求(例如,對在LinkedIn?工作的成員的搜索)。在操作602中,預(yù)測模塊204基于與特定成員和候選值相關(guān)聯(lián)的置信度得分而確定特定成員的缺少的成員簡檔屬性很可能對應(yīng)于候選值。例如,可以在圖3中圖示的操作300中計算置信度得分并且所述置信度得分可以指示成員的缺少的成員簡檔屬性對應(yīng)于候選值的可能性(例如,成員可能具有缺少的雇主屬性,并且與雇主LinkedIn?的候選值相關(guān)聯(lián)的置信度得分大于預(yù)定閾值,從而指示成員很可能在LinkedIn?工作)。在操作603中,預(yù)測模塊204修改與在操作601中接收到的搜索請求相關(guān)聯(lián)的搜索結(jié)果以包括特定成員和/或?qū)⑻囟ǔ蓡T標識為具有對應(yīng)于候選值的成員簡檔屬性(例如,搜索結(jié)果可以指示成員在LinkedIn?工作或很可能在LinkedIn?工作)。設(shè)想,方法600的操作可以合并本文中公開的任何其他特征。在必要時可以省略或重新布置方法600中的各種操作。
根據(jù)各種示例實施例,身份推斷系統(tǒng)200還可以提供用于驗證或證實成員的現(xiàn)有的成員簡檔屬性的各種技術(shù)。例如,身份推斷系統(tǒng)200可以標識已經(jīng)被包括在成員的簡檔頁面上的成員簡檔屬性(例如,成員指示他們在Google?工作)。身份推斷系統(tǒng)200然后可以以與以上(例如,結(jié)合圖3)描述的實施例中的方式類似的方式執(zhí)行預(yù)測建模過程以便生成與用于該成員簡檔屬性的各種候選值相關(guān)聯(lián)的各種置信度得分。以此方式,系統(tǒng)可以確定例如當候選值被設(shè)置成如由用戶指定的當前值(例如,LinkedIn?,并且如果用戶指定他們在LinkedIn?工作)時,所生成置信度得分相對相當?shù)?,其指示用戶很可能不在LinkedIn?工作。類似地,身份推斷系統(tǒng)200可以確定例如與某個其他雇主(例如,Apple?)相關(guān)聯(lián)的候選值實際上相對高,其指示用戶很可能在Apple?工作。相應(yīng)地,身份推斷系統(tǒng)200慮及對諸如地理位置、雇主、大學(xué)、頭銜、技能等的包括在成員的簡檔中的各種成員簡檔屬性的驗證和證實。
結(jié)合以上描述的驗證技術(shù),如果身份推斷系統(tǒng)200確定成員的現(xiàn)有的成員簡檔屬性是不準確的(例如,當看起來很可能成員在Apple?工作時,成員指示他們在Google?工作),則身份推斷系統(tǒng)200可以經(jīng)由基于web的用戶接口或經(jīng)由移動應(yīng)用或消息(例如,電子郵件、文本消息、聊天消息等)提示成員相應(yīng)地更新其成員簡檔屬性。例如,系統(tǒng)可以提示用戶將其雇主從Google?改變成Apple?。
在一些實施例中,結(jié)合以上描述的驗證技術(shù),在身份推斷系統(tǒng)200確定成員的現(xiàn)有的成員簡檔屬性很可能不準確之后,系統(tǒng)可以修改各種類型的信息以指示成員的缺少的成員簡檔屬性很可能對應(yīng)于更準確的候選值。例如,如果成員指示他們在Google?工作并且系統(tǒng)確定他們在Apple?工作是更可能的,并且如果系統(tǒng)接收到針對在Apple?工作的成員的列表的請求(或針對這樣的成員的搜索請求),則系統(tǒng)可以將該成員包括在結(jié)果的列表中(或指示成員應(yīng)當很可能被包括在結(jié)果中)。同樣地,如果系統(tǒng)接收到針對在Google?工作的成員的列表的請求(或針對這樣的成員的搜索請求),則系統(tǒng)可以在結(jié)果列表中排除該成員(或指示成員應(yīng)當很可能不被包括在結(jié)果中)。作為另一示例,如果身份推斷系統(tǒng)200正在生成在Apple?處的當前雇員的計數(shù)(例如,以用于營銷和/或打廣告的目的),則系統(tǒng)可以使該計數(shù)增加以包括該成員,然而系統(tǒng)可以使針對雇主Google?的計數(shù)減小。
圖7是圖示了與以上所描述的各種實施例一致的示例方法700的流程圖。方法700可以至少部分地通過例如圖2中圖示的身份推斷系統(tǒng)200(或具有類似模塊的裝置,這樣的一個或多個客戶端機器或應(yīng)用服務(wù)器)來執(zhí)行。在操作701中,標識模塊202標識被包括在特定成員的成員簡檔頁面中的現(xiàn)有的成員簡檔屬性。在操作702中,預(yù)測模塊204生成與特定成員和現(xiàn)有的成員簡檔屬性相關(guān)聯(lián)的置信度得分,置信度得分指示不同于現(xiàn)有的成員簡檔屬性的當前值的新值準確的可能性。在操作703中,預(yù)測模塊204基于置信度得分提示特定成員更新現(xiàn)有的成員簡檔屬性以對應(yīng)于新值。設(shè)想,方法700的操作可以合并本文中公開的任何其他特征。在必要時可以省略或重新布置方法700中的各種操作。
示例預(yù)測模型
如以上所描述的那樣,預(yù)測模塊204可以使用各種已知的預(yù)測建模技術(shù)中的任一個來執(zhí)行預(yù)測建模。例如,根據(jù)各種示例性實施例,預(yù)測模塊204可以向與在線社交網(wǎng)絡(luò)的一個或多個成員相關(guān)聯(lián)的成員簡檔數(shù)據(jù)和/或行為日志數(shù)據(jù)應(yīng)用諸如邏輯回歸模型之類的基于統(tǒng)計的機器學(xué)習(xí)模型。如由本領(lǐng)域技術(shù)人員所理解的那樣,邏輯回歸是使用邏輯函數(shù)的基于統(tǒng)計的機器學(xué)習(xí)技術(shù)的示例。邏輯函數(shù)基于變量,其被稱為分對數(shù)(logit)。根據(jù)對應(yīng)的獨立預(yù)測器變量的回歸系數(shù)的集合來定義分對數(shù)。在給定獨立/預(yù)測器變量的集合的情況下,邏輯回歸可以用于預(yù)測事件發(fā)生的概率。使用邏輯回歸的高度簡化的示例機器學(xué)習(xí)模型可以是ln[p/(1-p)] = a + BX + e或者[p/(1-p)] = exp(a + BX + e),其中l(wèi)n是自然對數(shù)logexp,其中exp=2.71828……,p是事件Y發(fā)生的概率p(Y=1),p/(1-p)是“讓步比”,ln[p/(1-p)]是對數(shù)讓步比或“分對數(shù)”,a是常數(shù)項上的系數(shù),B是(一個或多個)獨立/預(yù)測器變量上的(一個或多個)回歸系數(shù),X是(一個或多個)獨立/預(yù)測器變量,并且e是誤差項。在一些實施例中,邏輯回顧模型的獨立/預(yù)測器變量可以對應(yīng)于與在線社交網(wǎng)絡(luò)服務(wù)的成員相關(guān)聯(lián)的成員簡檔數(shù)據(jù)或行為日志數(shù)據(jù)(其中前述的成員簡檔數(shù)據(jù)或行為日志數(shù)據(jù)可以被編碼成數(shù)值并且插入到特征向量中)??梢允褂米畲笏迫粊砉烙嫽蛲ㄟ^監(jiān)督學(xué)習(xí)技術(shù)從招募意圖(recruiting intent)簽名數(shù)據(jù)學(xué)習(xí)回歸系數(shù),如以下更詳細描述的那樣。相應(yīng)地,一旦確定適當?shù)幕貧w系數(shù)(例如,B),包括在特征向量(例如,與社交網(wǎng)絡(luò)服務(wù)的一個或多個成員相關(guān)聯(lián)的成員簡檔數(shù)據(jù)和/或行為日志數(shù)據(jù))中的特征可以被插入到邏輯回歸模型中以便預(yù)測事件Y發(fā)生的概率(或“置信度得分”)(其中事件Y可以是例如缺少的成員簡檔屬性對應(yīng)于特定候選值)。換言之,倘若特征向量包括與成員相關(guān)聯(lián)的各種成員簡檔數(shù)據(jù)和/或行為特征,則特征向量可以應(yīng)用于邏輯回歸模型以確定特定成員的缺少的成員簡檔屬性對應(yīng)于特定候選值的概率。邏輯回歸被本領(lǐng)域技術(shù)人員良好地理解,并且將不被在本文中進一步詳細地描述,以便避免掩蓋本公開的各種方面。預(yù)測模塊304可以使用本領(lǐng)域技術(shù)人員所理解的各種其他預(yù)測建模技術(shù)生成前述的置信度得分。例如,其他預(yù)測建模技術(shù)可以包括其他基于計算機的機器學(xué)習(xí)模型,諸如梯度提升機(GBM)模型、樸素貝葉斯模型、支持向量機(SVM)模型、決策樹模型和神經(jīng)網(wǎng)絡(luò)模型,其中的全部被本領(lǐng)域技術(shù)人員所理解樣。
根據(jù)以上描述的各種實施例,特征數(shù)據(jù)可以用于離線訓(xùn)練(用于生成、訓(xùn)練和細化預(yù)測模型和或預(yù)測模型的系數(shù))和在線推斷(用于生成置信度得分)二者的目的那樣。例如,如果預(yù)測模型204利用邏輯回歸模型(如以上所描述的那樣),則可以通過監(jiān)督學(xué)習(xí)技術(shù)從特征數(shù)據(jù)學(xué)習(xí)邏輯回歸模型的回歸系數(shù)。相應(yīng)地,在一個實施例中,身份推斷系統(tǒng)200可以通過將特征數(shù)據(jù)組裝成特征向量而在離線訓(xùn)練模式中操作。特征向量然后可以被傳遞到預(yù)測模塊204,以便細化用于邏輯回歸模型的回歸系數(shù)。例如,基于乘法器技術(shù)的交替方向法的統(tǒng)計學(xué)習(xí)可以用于該任務(wù)。此后,一旦回歸系數(shù)被確定,身份推斷系統(tǒng)200就可以操作成基于經(jīng)訓(xùn)練的模型(包括經(jīng)訓(xùn)練的模型系數(shù))對表示在線社交網(wǎng)絡(luò)服務(wù)的特定成員的特征數(shù)據(jù)的特征向量執(zhí)行在線(或離線)推斷。根據(jù)各種示例性實施例,基于成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù)訓(xùn)練預(yù)測模型的離線過程可以以有規(guī)律的時間間隔周期性地(例如,一天一次)執(zhí)行,或者可以以無規(guī)律時間間隔、隨機時間間隔、連續(xù)地執(zhí)行等。因此,由于成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù)可能隨時間而改變,因此要理解的是,預(yù)測模型本身可以(基于用于訓(xùn)練模型的當前成員簡檔數(shù)據(jù)和行為日志數(shù)據(jù))隨時間而改變。
示例移動設(shè)備
圖8是圖示了根據(jù)示例實施例的移動設(shè)備800的框圖。移動設(shè)備可以對應(yīng)于例如一個或多個客戶端機器或應(yīng)用服務(wù)器。圖2中圖示的系統(tǒng)200的一個或多個模塊可以實現(xiàn)在移動設(shè)備800上或由其執(zhí)行。移動設(shè)備800可以包括處理器810。處理器810可以是適合用于移動設(shè)備的多種不同類型的商業(yè)上可得到的處理器中的任何(例如,XScale架構(gòu)微處理器、沒有聯(lián)鎖管線級的微處理器(MIPS)架構(gòu)處理器或另一類型的處理器)。存儲器820,諸如隨機存取存儲器(RAM)、閃存或其他類型的存儲器,典型地對處理器810可訪問。存儲器820可以被適配成存儲操作系統(tǒng)(OS)830,以及應(yīng)用程序840,諸如移動位置啟用的應(yīng)用,其可以向用戶提供基于位置的服務(wù)。處理器810可以直接或經(jīng)由適當?shù)闹虚g硬件而耦合到顯示器850和一個或多個輸入/輸出(I/O)設(shè)備860,諸如小鍵盤、觸摸面板傳感器、麥克風(fēng)等。類似地,在一些實施例中,處理器810可以被耦合到與天線890對接的收發(fā)器870。收發(fā)器870可以被配置成取決于移動設(shè)備800的性質(zhì)而經(jīng)由天線890既發(fā)射也接收蜂窩網(wǎng)絡(luò)信號、無線數(shù)據(jù)信號或其他類型的信號。進一步地,在一些配置中,GPS接收器880還可以利用天線890來接收GPS信號。
模塊、部件和邏輯
在本文中將某些實施例描述為包括邏輯或許多部件、模塊或機構(gòu)。模塊可以構(gòu)成軟件模塊(例如,具體化(1)在非瞬時機器可讀介質(zhì)上或(2)在傳輸信號中的代碼)或硬件實現(xiàn)模塊。硬件實現(xiàn)模塊是能夠執(zhí)行某些操作的有形單元并且可以以某方式進行配置或布置。在示例實施例中,一個或多個計算機系統(tǒng)(例如,獨立的客戶端或服務(wù)器計算機系統(tǒng))或一個或多個處理器可以通過軟件(例如,應(yīng)用或應(yīng)用部分)配置為操作成執(zhí)行如本文中描述的某些操作的硬件實現(xiàn)模塊。
在各種實施例中,硬件實現(xiàn)模塊可以被機械地或電子地實現(xiàn)。例如,硬件實現(xiàn)模塊可以包括被永久地配置(例如,為專用處理器,諸如現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐罚ˋSIC))以執(zhí)行某些操作的專用電路或邏輯。硬件實現(xiàn)模塊還可以包括通過軟件臨時配置成執(zhí)行某些操作的(例如,如涵蓋在通用處理器或其他可編程處理器內(nèi)的)可編程邏輯或電路。將領(lǐng)會到,機械地、在專用且被永久配置的電路中或在臨時配置(例如,通過軟件配置)的電路中實現(xiàn)硬件實現(xiàn)模塊的決定可以被成本和時間考慮而驅(qū)動。
相應(yīng)地,術(shù)語“硬件實現(xiàn)模塊”應(yīng)當理解成涵蓋有形實體,其為經(jīng)物理地構(gòu)造、被永久地配置(例如,硬接線)或臨時或瞬時地配置(例如,編程)成以某方式操作和/或執(zhí)行本文中描述的某些操作的實體。考慮其中硬件實現(xiàn)模塊被臨時配置(例如,編程)的實施例,不需要在時間中的任一個實例處配置或例示硬件實現(xiàn)模塊中的每個。例如,在硬件實現(xiàn)模塊包括使用軟件配置的通用處理器的情況下,可以在不同時間將通用處理器配置為相應(yīng)的不同的硬件實現(xiàn)模塊。軟件可以相應(yīng)地將處理器配置成例如在時間的一個實例處構(gòu)成特定硬件實現(xiàn)模塊并且在時間的不同實例處構(gòu)成不同的硬件實現(xiàn)模塊。
硬件實現(xiàn)模塊可以向其他硬件實現(xiàn)模塊提供信息和從其接收信息。相應(yīng)地,所描述的硬件實現(xiàn)模塊可以被視為被通信地耦合。在多個這樣的硬件實現(xiàn)模塊同時存在的情況下,通信可以通過連接硬件實現(xiàn)模塊(例如,在適當?shù)碾娐泛涂偩€上的)的信號傳輸來實現(xiàn)。在其中多個硬件實現(xiàn)模塊在不同時間被配置或例示的實施例中,這樣的硬件實現(xiàn)模塊之間的通信可以例如通過信息在多個硬件實現(xiàn)模塊能夠訪問的存儲器結(jié)構(gòu)中的存儲和檢索來實現(xiàn)。例如,一個硬件實現(xiàn)模塊可以執(zhí)行操作,并且在其通信耦合到的存儲器設(shè)備中存儲該操作的輸出。進一步的硬件實現(xiàn)模塊然后可以在稍后時間處訪問存儲器設(shè)備以檢索和處理所存儲的輸出。硬件實現(xiàn)模塊還可以發(fā)起與輸入或輸出設(shè)備的通信,并且可以在資源(例如,信息集合)上進行操作。
本文中描述的示例方法的各種操作可以至少部分地由(例如,通過軟件)臨時配置或被永久配置成執(zhí)行相關(guān)操作的一個或多個處理器來執(zhí)行。無論是被臨時還是永久地配置,這樣的處理器都可以構(gòu)成操作成執(zhí)行一個或多個操作或功能的處理器實現(xiàn)模塊。本文提到的模塊可以在一些示例實施例中包括處理器實現(xiàn)模塊。
類似地,本文中描述的方法可以至少部分地是處理器實現(xiàn)的。例如,方法的操作中的至少一些可以由一個或多個處理器或處理器實現(xiàn)模塊來執(zhí)行。操作中的某些的執(zhí)行可以分布在一個或多個處理器之間,不僅僅駐留在單個機器內(nèi)而是被跨許多機器部署。在一些示例實施例中,一個或多個處理器可以位于單個位置中(例如,在家庭環(huán)境、辦公室環(huán)境內(nèi)或作為服務(wù)器農(nóng)場),而在其他實施例中,處理器可以跨許多位置分布。
一個或多個處理器還可以操作成支持相關(guān)操作在“云計算”環(huán)境中或作為“軟件即服務(wù)”(SaaS)的執(zhí)行。例如,操作中的至少一些可以由(作為包括處理器的機器的示例的)計算機的組執(zhí)行,這些操作經(jīng)由網(wǎng)絡(luò)(例如,因特網(wǎng))和經(jīng)由一個或多個適當?shù)慕涌冢ɡ?,?yīng)用程序接口(API))可訪問。
電子裝置和系統(tǒng)
可以用數(shù)字電子電路或用計算機硬件、固件、軟件或用它們的組合實現(xiàn)示例實施例。示例實施例可以使用計算機程序產(chǎn)品來實現(xiàn),所述計算機程序產(chǎn)品例如計算機程序,其被有形地具體化在信息載體中,例如在機器可讀介質(zhì)中供由數(shù)據(jù)處理裝置(例如,可編程處理器、計算機或多個計算機)執(zhí)行或用以控制所述數(shù)據(jù)處理裝置的操作。
計算機程序可以以任何形式的編程語言來編寫,所述編程語言包括經(jīng)編譯或經(jīng)解釋的語言,并且其可以被以任何形式部署,包括作為獨立程序或作為模塊、子例程或適合于在計算環(huán)境中使用的其他單元。計算機程序可以部署成在一個計算機上或在一個站點處或跨多個站點分布并且通過通信網(wǎng)絡(luò)互連的多個計算機上執(zhí)行。
在示例實施例中,操作可以由執(zhí)行計算機程序以通過對輸入數(shù)據(jù)進行操作并且生成輸出來執(zhí)行功能的一個或多個可編程處理器來執(zhí)行。方法操作還可以由專用邏輯電路(例如,現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐罚ˋSIC))執(zhí)行并且示例實施例的裝置可以實現(xiàn)為所述專用邏輯電路。
計算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器一般遠離彼此并且典型地通過通信網(wǎng)絡(luò)進行交互??蛻舳撕头?wù)器的關(guān)系憑借在相應(yīng)計算機上運行并且具有與彼此的客戶端-服務(wù)器關(guān)系的計算機程序而出現(xiàn)。在部署可編程計算系統(tǒng)的實施例中,將領(lǐng)會到,硬件和軟件架構(gòu)二者要求考慮。具體地,將領(lǐng)會到,是用被永久配置的硬件(例如,ASIC)、用被臨時配置的硬件(例如,軟件和可編程處理器的組合)還是在被永久和臨時配置的硬件的組合來實現(xiàn)某些功能的選擇可以是設(shè)計選擇。以下闡述可以在各種示例實施例中部署的硬件(例如,機器)和軟件架構(gòu)。
示例機器架構(gòu)和機器可讀介質(zhì)
圖9是以計算機系統(tǒng)900的示例形式的機器的框圖,在其內(nèi)可以執(zhí)行用于使機器執(zhí)行本文中討論的任一個或多個方法的指令的。在替代的實施例中,機器作為獨立設(shè)備操作或者可以連接(例如,聯(lián)網(wǎng))到其他機器。在聯(lián)網(wǎng)部署中,機器可以以服務(wù)器-客戶端網(wǎng)絡(luò)環(huán)境中的服務(wù)器或客戶端機器的資格進行操作,或者作為端對端(或分布式)網(wǎng)絡(luò)環(huán)境中的對等機器。機器可以是個人計算機(PC)、平板PC、機頂盒(STB)、個人數(shù)字助理(PDA)、蜂窩電話、web器具、網(wǎng)絡(luò)路由器、交換機或橋或能夠執(zhí)行指定要由該機器采取的動作的指令(順序或以其他方式)的任何機器。進一步地,雖然僅圖示了單個機器,但是術(shù)語“機器”還應(yīng)當理解成包括單獨或聯(lián)合地執(zhí)行指令集(或多個指令集)以實行本文中討論的任一個或多個方法的機器的任何集合。
示例計算機系統(tǒng)900包括處理器902(例如,中央處理單元(CPU)、圖形處理單元(GPU)或二者)、主存儲器904和靜態(tài)存儲器906,其經(jīng)由總線900與彼此通信。計算機系統(tǒng)900可以進一步包括視頻顯示單元910(例如,液晶顯示器(LCD)或陰極射線管(CRT))。計算機系統(tǒng)900還包括字母數(shù)字輸入設(shè)備912(例如,鍵盤或觸敏顯示屏)、用戶接口(UI)導(dǎo)航設(shè)備914(例如,鼠標)、盤驅(qū)動單元916、信號生成設(shè)備918(例如,揚聲器)和網(wǎng)絡(luò)接口設(shè)備920。
機器可讀介質(zhì)
盤驅(qū)動單元916包括其上存儲具體化本文中描述的任一個或多個方法或功能或由其利用的一個或多個指令集和數(shù)據(jù)結(jié)構(gòu)(例如,軟件)924的機器可讀介質(zhì)922。指令924還可以在其由計算機系統(tǒng)900執(zhí)行期間完全或至少部分地駐留在主存儲器904內(nèi)和/或處理器902內(nèi),主存儲器904和處理器902還構(gòu)成機器可讀介質(zhì)。
雖然在示例實施例中將機器可讀介質(zhì)922示出為單個介質(zhì),但是術(shù)語“機器可讀介質(zhì)”可以包括存儲一個或多個指令或數(shù)據(jù)結(jié)構(gòu)的單個介質(zhì)或多個介質(zhì)(例如,集中式或分布式數(shù)據(jù)庫,和/或相關(guān)聯(lián)的高速緩存和服務(wù)器)。術(shù)語“機器可讀介質(zhì)”還將理解成包括能夠存儲、具體化或承載用于由機器執(zhí)行并且使機器執(zhí)行本發(fā)明的任一個或多個方法的指令或能夠存儲、編碼或承載由這樣的指令利用或與其相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)的任何有形介質(zhì)。術(shù)語“機器可讀介質(zhì)”將相應(yīng)地理解成包括但不限于固態(tài)存儲器,以及光學(xué)和磁性介質(zhì)。機器可讀介質(zhì)的特定示例包括非易失性存儲器,作為示例包括半導(dǎo)體存儲器設(shè)備,例如可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM)和閃存設(shè)備;磁盤,諸如內(nèi)部硬盤和可移除盤;磁光盤;以及CD-ROM和DVD-ROM盤。
傳輸介質(zhì)
可以進一步使用傳輸介質(zhì)通過通信網(wǎng)絡(luò)926來傳輸或接收指令924。指令924可以使用網(wǎng)絡(luò)接口設(shè)備920和許多公知傳輸協(xié)議中的任一個(例如,HTTP)來傳輸。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)、因特網(wǎng)、移動電話網(wǎng)絡(luò)、簡易老式電話(POTS)網(wǎng)絡(luò)和無線數(shù)據(jù)網(wǎng)絡(luò)(例如,WiFi、LTE和WiMAX網(wǎng)絡(luò))。術(shù)語“傳輸介質(zhì)”將理解成包括能夠存儲、編碼或承載用于由機器執(zhí)行的指令的任何無形介質(zhì),并且包括數(shù)字或模擬通信信號或其他無形介質(zhì)以促進對這樣的軟件的傳送。
盡管已經(jīng)參考特定示例實施例描述了實施例,但是將明顯的是,可以在不脫離本發(fā)明的較寬范圍的情況下對這些實施例做出各種修改和改變。相應(yīng)地,要在說明性而非限制性的意義上看待說明書和圖。形成本申請的部分的附圖示出其中可以實踐主題的特定實施例,作為圖示并非作為限制。以充足的細節(jié)來描述所說明的實施例以使得本領(lǐng)域技術(shù)人員能夠?qū)嵺`本文中公開的教導(dǎo)。其他實施例可以被利用和從其導(dǎo)出,使得可以做出結(jié)構(gòu)和邏輯替換和改變而不脫離本公開的范圍。因此,該詳細描述不在限制性的意義上被理解,并且各種實施例的范圍僅由所附權(quán)利要求連同這樣的權(quán)利要求被授權(quán)的等同方案的完整范圍一起來限定。
發(fā)明主題的這樣的實施例可以在本文中單獨和/或集體地通過術(shù)語“發(fā)明”來指代,這僅僅為了方便并且不意圖主動將本申請的范圍限制到任何單個發(fā)明或發(fā)明概念,如果事實上公開了多于一個的話。因此,盡管已經(jīng)在本文中圖示和描述了特定實施例,但是應(yīng)當領(lǐng)會到,被計劃成實現(xiàn)相同目的的任何布置可以代替示出的特定實施例。本公開意圖覆蓋各種實施例的任何和所有改編 或變型。在回顧以上描述時,以上實施例和本文中未具體地描述的其他實施例的組合將對本領(lǐng)域技術(shù)人員顯而易見。