相關(guān)申請的交叉引用
本申請要求2014年8月29日提交的美國臨時專利申請序號62/044,138以及2014年12月22日提交的美國專利申請序號14/579,772的優(yōu)先權(quán)的利益,所述申請中的每一個被整體地通過引用結(jié)合到本文中。
本公開一般地涉及信息檢索、搜索引擎、查詢處理、搜索結(jié)果的后處理、搜索結(jié)果的排序、模糊搜索和比較以及在視覺上表示搜索結(jié)果。在一個具體實施例中,本公開涉及基于在搜索查詢中指定的數(shù)據(jù)項目與在簡檔的子集中指定的數(shù)據(jù)項目之間的關(guān)系而提高滿足搜索查詢的社交網(wǎng)絡(luò)系統(tǒng)的成員簡檔的子集的排序分?jǐn)?shù)。
背景技術(shù):
在線社交網(wǎng)絡(luò)服務(wù)為用戶提供一種用于定義并以數(shù)字格式記載其與其他人及其它實體(例如,公司、學(xué)校等)的關(guān)系的機(jī)制?,F(xiàn)實世界關(guān)系和關(guān)聯(lián)的該數(shù)字表示常常被稱為社交圖。存在實現(xiàn)并維持其自己的社交圖的各種基于網(wǎng)絡(luò)的應(yīng)用和服務(wù),并且存在(例如,經(jīng)由公開可用的應(yīng)用編程接口或api)利用第三方社交網(wǎng)絡(luò)服務(wù)的社交圖的更多應(yīng)用和/或服務(wù)。利用由社交網(wǎng)絡(luò)服務(wù)維持的社交圖的應(yīng)用和服務(wù)的數(shù)目和種類看起來是無盡的。例如,各種消息發(fā)送和內(nèi)容共享應(yīng)用利用社交圖來建立用于與其他人共享內(nèi)容或訪問其內(nèi)容的用戶特權(quán)。
除維持社交圖之外,許多社交網(wǎng)絡(luò)服務(wù)維持關(guān)于其成員的各種個人信息。例如,用許多社交網(wǎng)絡(luò)服務(wù),當(dāng)用戶注冊而變成成員時和/或在注冊之后的各種時間,成員被提示提供可以在成員的個人網(wǎng)頁中顯示的各種個人或傳記信息。此類信息通常稱為個人簡檔信息或者簡稱為“簡檔信息”,并且當(dāng)被共同地示出時,其通常稱為成員簡檔。例如,用現(xiàn)在使用的許多社交網(wǎng)絡(luò)服務(wù)中的一些,通常被請求并顯示為成員簡檔的一部分的個人信息包括一個人的年齡、出生日期、性別、興趣、聯(lián)系信息、住址、家鄉(xiāng)和/或州、那個人的配偶和/或家庭成員的姓名等。用某些社交網(wǎng)絡(luò)服務(wù),諸如某些商業(yè)或職業(yè)網(wǎng)絡(luò)服務(wù),成員的個人信息可以包括通常包括在職業(yè)簡歷或履歷中的信息,諸如關(guān)于一個人的教育、學(xué)校、該成員就讀的學(xué)院或大學(xué)、雇傭該人的公司、雇傭該人的行業(yè)、職務(wù)頭銜或職能、就業(yè)歷史、該人擁有的技能、該人作為其成員的職業(yè)組織等的信息。
由于社交網(wǎng)絡(luò)服務(wù)是關(guān)于人們及其與其他人的關(guān)系的豐富信息源,所以社交網(wǎng)絡(luò)服務(wù)是用于執(zhí)行某些任務(wù)的極其有用的工具。例如,正如電話薄、電話本或從前充當(dāng)用于關(guān)于人的基本信息的定位源的白頁一樣,當(dāng)代的社交網(wǎng)絡(luò)服務(wù)充當(dāng)人們的豐富得多的目錄。許多人使用社交網(wǎng)絡(luò)服務(wù)來搜索朋友、同事、同學(xué)以及他們可能知道或想要知道的其他人的成員簡檔。因此,許多社交網(wǎng)絡(luò)服務(wù)提供搜索引擎以促進(jìn)搜索社交網(wǎng)絡(luò)服務(wù)的成員的成員簡檔。然而,由于社交網(wǎng)絡(luò)服務(wù)具有如此多的成員,所以發(fā)現(xiàn)與搜索查詢相對應(yīng)的最佳搜索結(jié)果中的一個或多個常常是困難的。
附圖說明
在附圖的各圖中以示例而非限制的方式圖示出某些實施例,在所述附圖中:
圖1是包括基于計算機(jī)網(wǎng)絡(luò)的社交網(wǎng)絡(luò)服務(wù)的功能模塊或組件的框圖,包括根據(jù)本發(fā)明的某些實施例的搜索引擎;
圖2是根據(jù)本發(fā)明的某些實施例的搜索引擎的功能框圖;
圖3是圖示出基于各種準(zhǔn)則來提高用于成員簡檔的排序分?jǐn)?shù)的示例性方法的流程圖;
圖4是圖示出生成用于成員簡檔的特殊搜索索引條目的示例性方法的流程圖,所述特殊搜索索引條目識別在成員簡檔中指定的職務(wù)頭銜與雇傭方之間的關(guān)系的強(qiáng)度;
圖5是圖示出基于各種準(zhǔn)則來提高用于成員簡檔的排序分?jǐn)?shù)的示例性方法的流程圖;
圖6是圖示出生成用于成員簡檔的特殊搜索索引條目的示例性方法的流程圖,所述特殊搜索索引條目識別針對成員簡檔中的數(shù)據(jù)字段指定的值之間的關(guān)系的強(qiáng)度或類型;
圖7是在其中呈現(xiàn)對應(yīng)于搜索查詢的搜索結(jié)果的示例性用戶界面的屏幕快照;
圖8是在其中呈現(xiàn)附加搜索結(jié)果的示例性用戶界面的屏幕快照;
圖9是其中圖8的搜索結(jié)果已被重新排序的示例性用戶界面的屏幕快照;
圖10是其中圖9的附加搜索結(jié)果已被重新排序的示例性用戶界面的屏幕快照;
圖11是在其內(nèi)部可以執(zhí)行用于促使機(jī)器實行本文中討論的方法中的任何一個或多個的一組指令的計算設(shè)備形式的機(jī)器的框圖。
具體實施方式
本公開描述了用于改善對應(yīng)于搜索查詢的搜索結(jié)果的排序的方法、系統(tǒng)和計算機(jī)程序產(chǎn)品。在以下描述中,出于解釋的目的,闡述了許多具體細(xì)節(jié)以便提供本發(fā)明的不同實施例的各種方面的透徹理解。然而,對于本領(lǐng)域的技術(shù)人員而言將顯而易見的是可以在沒有全部具體細(xì)節(jié)的情況下和/或在采用本文中所述的各種特征和元素的變型、置換和組合的情況下實施本發(fā)明。
當(dāng)處理搜索查詢時,搜索引擎可以將包括在搜索查詢中的關(guān)鍵字與對應(yīng)于語料庫中的文檔的搜索索引中的關(guān)鍵字相比較。因此,在各種實施例中,通過使用搜索索引,搜索引擎可能不需要掃描語料庫中的每個文檔以找到與搜索查詢匹配的文檔。替代地,搜索引擎僅通過將搜索查詢與搜索索引相比較來識別滿足搜索查詢的文檔。在各種實施例中,必須針對維持搜索索引的成本(包括額外存儲空間、處理能力等)來權(quán)衡搜索結(jié)果的更快檢索的益處。另外,在各種實施例中,必須針對可能由于搜索查詢被與文檔的子集(例如,搜索索引)而不是文檔本身相比較而引起的有用性或準(zhǔn)確度的任何損失來權(quán)衡益處。
搜索索引的示例是倒排索引。倒排索引包括例如單詞的列表和包含單詞中的每一個的語料庫中的文檔的列表(例如,存儲在散列表、分布式散列表、二叉樹或其它數(shù)據(jù)結(jié)構(gòu)中)。在各種實施例中,索引可以包括涉及每個文檔中的每個單詞的頻率(例如,以使得搜索引擎能夠?qū)M足查詢的文檔排序)或者每個文檔中的每個單詞的位置(例如,以使得搜索引擎能夠支持短語搜索)的信息。
搜索索引的另一示例是正排索引。正排索引可以包括語料庫中的文檔的列表和對應(yīng)于語料庫中的每個文檔的單詞的列表(例如,存儲在散列表、分布式散列表、二叉樹或其它數(shù)據(jù)結(jié)構(gòu)中)。當(dāng)新文檔被添加到語料庫時,其可以被立即添加到正排索引。然后(例如,在異步系統(tǒng)處理期間),可以將正排索引轉(zhuǎn)換成倒排索引。因此,正排索引的使用可以防止可能由文檔必須被立即轉(zhuǎn)換成倒排索引而引起的任何瓶頸。
在各種實施例中,語料庫中的文檔可以對應(yīng)于社交網(wǎng)絡(luò)系統(tǒng)的成員的成員簡檔。這些成員簡檔中的每一個可以包括對應(yīng)于與成員簡檔相關(guān)聯(lián)的一個或多個數(shù)據(jù)字段的一個或多個值。例如,成員簡檔可以包括用于成員的當(dāng)前職務(wù)頭銜的數(shù)據(jù)字段和用于成員的當(dāng)前雇傭方的數(shù)據(jù)字段。另外,成員簡檔可以包括用于成員的先前職務(wù)頭銜和成員的先前雇傭方的附加數(shù)據(jù)字段。
在各種實施例中,分析語料庫中的成員簡檔中的每一個以識別包括在簡檔中的第一值與包括在簡檔中的第二值之間的關(guān)系。關(guān)系的識別可以是基于第一值對應(yīng)于成員簡檔的第一數(shù)據(jù)字段且第二值對應(yīng)于成員簡檔的第二數(shù)據(jù)字段的確定。基于關(guān)系的識別,生成對應(yīng)于成員簡檔的特殊搜索索引條目。特殊搜索索引條目表示第一值、第二值以及第一值與第二值之間的關(guān)系。特殊搜索索引條目被包括在搜索索引中以供搜索引擎在提高滿足搜索查詢的結(jié)果集合中的成員簡檔的排序時使用。
在各種實施例中,接收由搜索者提交的搜索查詢。確定搜索查詢包括第一值和第二值。確定第一值與第二值之間的關(guān)系。例如,確定第一值對應(yīng)于成員簡檔的第一數(shù)據(jù)字段且第二值對應(yīng)于成員簡檔的第二數(shù)據(jù)字段?;谠谒阉鞑樵冎兄付ǖ年P(guān)鍵字和在搜索索引中指定的關(guān)鍵字的匹配來識別滿足搜索查詢的成員簡檔集合?;诘谝恢岛偷诙蹬c特殊搜索索引條目的匹配來選擇成員簡檔集合的子集,所述特殊搜索索引條目包括第一值與第二值之間的關(guān)系的表示。提高針對成員簡檔集合的所選子集中的每一個的排序分?jǐn)?shù)。傳送成員簡檔集合以便按照其排序分?jǐn)?shù)的順序在用戶界面中呈現(xiàn)。
在各種實施例中,描述了用于改善由搜索引擎生成的搜索結(jié)果的排序的技術(shù)。識別成員簡檔集合。該識別是基于搜索查詢中指定的關(guān)鍵字與對應(yīng)于所述成員簡檔集合的搜索索引條目匹配。選擇成員簡檔的子集。該選擇是基于關(guān)鍵字與跟所述成員簡檔的子集相關(guān)聯(lián)的特殊索引條目的匹配。所述特殊索引條目表示在成員簡檔集合的子集中的每一個中指定的數(shù)據(jù)字段的值。所述特殊索引條目還表示數(shù)據(jù)字段的值之間的關(guān)系。例如,可以將特殊索引條目各自創(chuàng)建為數(shù)據(jù)字段中的值的笛卡爾積。提高與成員簡檔的子集中的每一個相關(guān)聯(lián)的排序分?jǐn)?shù)。傳送成員簡檔集合中的每一個的一部分以便按照排序分?jǐn)?shù)的順序在用戶界面中呈現(xiàn)。
根據(jù)隨后的附圖的描述,本發(fā)明主題的其它優(yōu)點和方面將是容易地顯而易見的。
圖1是包括基于計算機(jī)或基于網(wǎng)絡(luò)的社交網(wǎng)絡(luò)服務(wù)10的功能模塊或組件的框圖,包括根據(jù)本發(fā)明的某些實施例的搜索引擎12。如圖1中所示,社交網(wǎng)絡(luò)系統(tǒng)10一般是基于三層架構(gòu),包括前端層、應(yīng)用邏輯層以及數(shù)據(jù)層。如相關(guān)計算機(jī)和互聯(lián)網(wǎng)相關(guān)領(lǐng)域的技術(shù)人員所理解的,圖1中所示的每個模塊或引擎表示一組可執(zhí)行軟件指令和用于執(zhí)行指令的對應(yīng)硬件(例如,存儲器和處理器)。為了避免由于不必要的細(xì)節(jié)而使本發(fā)明主題含糊難懂,已從圖1省略了與傳達(dá)本發(fā)明主題的理解并沒有密切關(guān)系的各種功能模塊和引擎。然而,技術(shù)人員將很容易認(rèn)識到,可以將各種附加功能塊和引擎與社交網(wǎng)絡(luò)系統(tǒng)(諸如圖1中所示的)一起使用,以促進(jìn)在本文中并未具體描述的附加功能。此外,圖1中描繪的各種功能模塊和引擎可以駐存于單個服務(wù)器計算機(jī)上,或者可以以各種布置跨多個服務(wù)器計算機(jī)分布。此外,雖然在圖1中被描繪為三層架構(gòu),但本發(fā)明主題絕不局限于此類架構(gòu)。
如圖1中所示,前端由用戶界面模塊(例如,web服務(wù)器)14組成,其從各種客戶端計算設(shè)備接收請求,并向請求客戶端設(shè)備傳送適當(dāng)?shù)捻憫?yīng)。例如,(一個或多個)用戶界面模塊14可以接收以超文本傳輸協(xié)議(http)請求或其它基于web的應(yīng)用編程接口(api)請求的形式的請求。客戶端設(shè)備(未示出)可以正在執(zhí)行常規(guī)web瀏覽器應(yīng)用或者針對具體平臺開發(fā)而包括多種移動設(shè)備和操作系統(tǒng)中的任何的應(yīng)用。
如圖1中所示,數(shù)據(jù)層包括多個數(shù)據(jù)庫,包括用于存儲關(guān)于在社交圖中表示的各種實體的數(shù)據(jù)的一個或多個數(shù)據(jù)庫16。用某些實施例,這些實體包括成員、公司和/或教育機(jī)構(gòu)及可能其它的。根據(jù)某些實施例,當(dāng)一個人最初注冊而變成社交網(wǎng)絡(luò)服務(wù)的成員時,以及在初始注冊之后的各種時間,那個人將被提示提供某些個人信息,諸如他或她的姓名、年齡(例如,出生日期)、性別、興趣、聯(lián)系信息、家鄉(xiāng)、地址、成員的配偶和/或家庭成員的姓名、教育背景(例如,學(xué)校、專業(yè)等)、當(dāng)前職務(wù)頭銜、職務(wù)描述、行業(yè)、就業(yè)歷史、技能、職業(yè)組織等。此信息作為成員的成員簡檔的一部分而被存儲在例如具有參考標(biāo)號16的數(shù)據(jù)庫中。用某些實施例,成員的簡檔數(shù)據(jù)將不僅包括明確提供的數(shù)據(jù),而且包括任何數(shù)目的導(dǎo)出或計算出的成員簡檔屬性和/或特性。
一旦注冊,成員可以邀請其它成員,或者被其它成員邀請,以經(jīng)由社交網(wǎng)絡(luò)服務(wù)聯(lián)系?!叭嗣}”可以要求成員的雙邊同意,使得兩個成員確認(rèn)該人脈的建立。同樣地,用某些實施例,成員可以選擇“關(guān)注”另一成員。與建立“人脈”相反,“關(guān)注”另一成員的概念通常是單邊操作,并且至少在某些實施例的情況下,不要求被關(guān)注的成員的確認(rèn)或批準(zhǔn)。當(dāng)一個成員關(guān)注另一個時,進(jìn)行關(guān)注的成員可以接收關(guān)于由被關(guān)注的成員進(jìn)行的各種活動的自動通知。除了關(guān)注另一成員之外,用戶還可以選擇關(guān)注公司、主題、會話或某其它實體。一般地,成員具有的與其它成員及其它實體(例如,公司、學(xué)校等)的關(guān)聯(lián)和關(guān)系變成維持在數(shù)據(jù)庫18中的社交圖數(shù)據(jù)的一部分。用某些實施例,可以用圖形數(shù)據(jù)庫18來實現(xiàn)社交圖數(shù)據(jù)結(jié)構(gòu),圖形數(shù)據(jù)庫18是使用具有節(jié)點、邊以及性質(zhì)的圖形結(jié)構(gòu)來表示和存儲數(shù)據(jù)的特定類型的數(shù)據(jù)庫。在這種情況下,存儲在數(shù)據(jù)庫18中的社交圖數(shù)據(jù)反映作為社交圖的一部分的各種實體以及那些實體如何彼此相關(guān)。
用各種替換實施例,在社交圖中可能包括任何數(shù)目的其它實體,并且同樣地,可以使用各種其它數(shù)據(jù)庫來存儲與其它實體相對應(yīng)的數(shù)據(jù)。例如,雖然在圖1中未示出,但根據(jù)某些實施例,系統(tǒng)可以包括用于存儲關(guān)于多種實體的信息(諸如關(guān)于各種在線或離線群組、職務(wù)列表或帖子、照片、音頻或視頻文件等的信息)的附加數(shù)據(jù)庫。
用某些實施例,社交網(wǎng)絡(luò)服務(wù)可以包括一個或多個活動和/或事件跟蹤模塊,其一般地檢測各種用戶相關(guān)活動和/或事件,并且然后將關(guān)于那些活動/事件的信息存儲在具有參考標(biāo)號20的數(shù)據(jù)庫中。例如,跟蹤模塊可以識別用戶何時對他或她的成員簡檔的某個屬性進(jìn)行改變或者添加新屬性。另外,跟蹤模塊可以檢測成員與不同類型的內(nèi)容進(jìn)行的交互。此類信息可以例如被一個或多個推薦引擎用來調(diào)整呈現(xiàn)給特定成員的內(nèi)容,并且一般地用來調(diào)整用于特定成員的用戶體驗。
應(yīng)用邏輯層包括各種應(yīng)用服務(wù)器模塊22,其與(一個或多個)用戶界面模塊14相結(jié)合地用從數(shù)據(jù)層中的各種數(shù)據(jù)源檢索的數(shù)據(jù)來生成各種用戶界面(例如,網(wǎng)頁)。用某些實施例,使用單獨應(yīng)用服務(wù)器模塊22來實現(xiàn)與社交網(wǎng)絡(luò)服務(wù)的各種應(yīng)用、服務(wù)和特征相關(guān)聯(lián)的功能。例如,可以用一個或多個應(yīng)用服務(wù)器模塊22來實現(xiàn)消息發(fā)送應(yīng)用,諸如電子郵件應(yīng)用、即時消息發(fā)送應(yīng)用或兩者的某混合或變型。當(dāng)然,其它應(yīng)用或服務(wù)可以單獨地體現(xiàn)在其自身的應(yīng)用服務(wù)器模塊22中。
社交網(wǎng)絡(luò)服務(wù)可以提供允許成員有機(jī)會共享和接收常常針對成員的興趣訂制的信息的大范圍的應(yīng)用和服務(wù)。例如,用某些實施例,社交網(wǎng)絡(luò)服務(wù)可以包括允許成員上傳并與其它成員共享照片的照片共享應(yīng)用。同樣地,至少用某些實施例,照片可以是包括在社交圖內(nèi)的性質(zhì)或?qū)嶓w。用某些實施例,社交網(wǎng)絡(luò)服務(wù)的成員可能能夠自組織成圍繞著感興趣的主題或話題組織的群組或興趣群組。因此,可以將用于群組的數(shù)據(jù)存儲在數(shù)據(jù)庫(未示出)中。當(dāng)成員加入群組時,他或她在群組中的成員資格將反映在存儲于具有參考標(biāo)號18的數(shù)據(jù)庫中的社交圖數(shù)據(jù)中。用某些實施例,成員可以訂閱或加入從屬于一個或多個公司的群組。例如,用某些實施例,社交網(wǎng)絡(luò)服務(wù)的成員可以指示與雇傭他們的公司的從屬關(guān)系,使得將涉及到該公司的新聞和事件自動地傳送給成員。用某些實施例,可以允許成員訂閱以接收關(guān)于除雇傭他們的公司之外的公司的信息。在這里再次地,群組中的成員資格、與公司或群組的訂閱或關(guān)注關(guān)系以及與公司的雇傭關(guān)系是可以存在于不同實體之間的不同類型的關(guān)系的所有示例,如由社交圖定義并用具有參考標(biāo)號18的數(shù)據(jù)庫的社交圖數(shù)據(jù)建模的。
除各種應(yīng)用服務(wù)器模塊22之外,應(yīng)用邏輯層包括搜索引擎12。如圖1中所示,用某些實施例,搜索引擎12被實現(xiàn)為結(jié)合各種應(yīng)用服務(wù)器模塊22進(jìn)行操作的服務(wù)。例如,任何數(shù)目的單獨應(yīng)用服務(wù)器模塊22可以調(diào)用搜索引擎12的功能。然而,用各種替換實施例,可以將搜索引擎12實現(xiàn)為其自身的應(yīng)用服務(wù)器模塊,使得其充當(dāng)獨立應(yīng)用。用某些實施例,搜索引擎12可以包括或具有使得第三方應(yīng)用能夠調(diào)用搜索引擎12的功能的相關(guān)聯(lián)的公開可用的應(yīng)用編程接口(api)。用某些實施例,搜索引擎12可以是人搜索引擎,并且提供用以具體地搜索人(例如,成員簡檔)的功能。替換地,搜索引擎模塊12可以促進(jìn)搜索由社交網(wǎng)絡(luò)系統(tǒng)的各種應(yīng)用維持和使用的任何類型的信息實體(例如,人或成員簡檔、公司、學(xué)校及其它教育機(jī)構(gòu)等),諸如公司、群組、職務(wù)列表等。用此類實施例,執(zhí)行搜索的用戶可以指定要搜索的實體的類型。替換地,搜索引擎可以例如基于搜索查詢來在算法上識別正在執(zhí)行的搜索的類型。
如下面更詳細(xì)地描述的,一般地,搜索引擎12使用排序算法,其基于各種準(zhǔn)則而提高或增加被分配給滿足搜索查詢的成員簡檔中的某些的排序分?jǐn)?shù)。此類準(zhǔn)則可以包括簡檔共享與執(zhí)行搜索的成員的成員簡檔共有的一個或多個特定屬性或特性的確定。例如,用某些實施例,排序算法將增加被分配給滿足搜索查詢并具有指示成員在與執(zhí)行搜索的成員相同的公司處被雇傭的簡檔屬性的那些成員簡檔的排序分?jǐn)?shù)。因此,如果執(zhí)行搜索的成員的成員簡檔指示該成員當(dāng)前被雇傭在acmeproducts公司處,則將使得滿足搜索查詢且還指示成員被雇傭在同一公司——亦即acmeproducts——處的任何成員簡檔的排序分?jǐn)?shù)被向上調(diào)整或以其它方式計算或?qū)С鲆苑从炒斯蚕沓蓡T簡檔屬性。因此,在其它一切相同的情況下,如果用于具有相同姓名的兩個不同人(例如,johndoe)的兩個成員簡檔的不同之處在于成員中的一個被雇傭在與執(zhí)行搜索的成員相同的公司處、而另一成員被雇傭在某個其它公司處,則被雇傭在與搜索成員相同的公司處的成員的成員簡檔將被分配較高排序分?jǐn)?shù),并且因此被更顯著地呈現(xiàn)在搜索結(jié)果列表中。
作為另一示例,排序算法可以基于在搜索查詢中指定的關(guān)鍵字與具有與搜索上下文相關(guān)的關(guān)系的數(shù)據(jù)字段的值相對應(yīng)的確定來提高被分配給成員簡檔中的某些的排序分?jǐn)?shù)。例如,基于搜索的上下文是搜索者是設(shè)法派人任職軟件公司處的副總經(jīng)理職位的招聘人員的確定以及由搜索者提交的搜索查詢包括關(guān)鍵字“vpengineering(vp工程)”和“apple”的確定,排序算法可以推斷搜索者對識別將“副總經(jīng)理”指定為當(dāng)前職務(wù)頭銜并將“apple”指定為當(dāng)前雇傭方的成員簡檔感興趣?;诖舜_定,排序算法可以提高與推斷出的搜索查詢匹配的成員簡檔的排序分?jǐn)?shù),如下面更詳細(xì)地描述的。
圖2是根據(jù)本發(fā)明的實施例的搜索引擎的功能框圖。如圖2中所示,搜索引擎12包括查詢處理模塊24、搜索結(jié)果排序模塊26和搜索結(jié)果呈現(xiàn)模塊28。一般地,查詢處理模塊24接收搜索查詢,并且然后通過選擇或以其它方式識別滿足搜索查詢的數(shù)據(jù)庫中(例如,在搜索索引中)的數(shù)據(jù)來處理搜索查詢。取決于搜索查詢的性質(zhì),可以評估多個匹配規(guī)則中的一個以識別與查詢匹配的成員簡檔。例如,如果搜索查詢是姓和名,則通過從數(shù)據(jù)庫中選擇在適當(dāng)數(shù)據(jù)庫字段中具有與在搜索查詢中指定的名稱精確地或部分地匹配的名稱的相關(guān)記錄來處理搜索查詢。如果除姓和/或名之外或者作為其替代,搜索查詢還指定了某其它成員簡檔屬性,則可以評估用于該成員簡檔屬性的特定匹配規(guī)則以識別滿足查詢的成員簡檔。例如,搜索查詢可以是姓和/或名。替換地,在某些情況下,排除掉名稱或者除名稱之外,搜索(還)可以指定一個或多個其它成員簡檔屬性。例如,搜索查詢可以包括以下成員簡檔屬性的任何組合:姓名(姓和/或名);地理信息,包括國家、州、城市、郵政編碼,包括到上述中的任何一項的接近度;職務(wù)頭銜;當(dāng)前或先前就職的公司;就讀的學(xué)校;就職行業(yè);一個人是其中的成員的群組;所說的語言;職務(wù)職能;公司規(guī)模;所擁有的機(jī)能;與發(fā)起搜索的人的關(guān)系(例如,一度聯(lián)系、二度聯(lián)系等);興趣;經(jīng)驗或資歷水平;以及許多其它的。查詢處理模塊24使用接收到的搜索查詢識別滿足搜索查詢的成員簡檔集合。
搜索結(jié)果排序模塊26針對每個搜索結(jié)果(例如,成員簡檔)導(dǎo)出表示相關(guān)性度量的排序分?jǐn)?shù),特別是考慮到搜索查詢和調(diào)用或發(fā)起了搜索的特定成員兩者。用某些實施例,排序算法可以利用任何數(shù)目的輸入信號以便在導(dǎo)出排序分?jǐn)?shù)時使用,其中,一個或多個信號被以某種方式組合(例如,相乘或加在一起)以導(dǎo)出總體排序分?jǐn)?shù)。根據(jù)本發(fā)明的實施例,那些輸入信號或組成分?jǐn)?shù)中的至少一個表示某些成員簡檔屬性在搜索結(jié)果中的成員簡檔與發(fā)起或調(diào)用了搜索的成員的成員簡檔之間共同地共享的程度。因此,當(dāng)查詢處理模塊識別或選擇表示滿足搜索查詢的成員簡檔的數(shù)據(jù)庫記錄時,還可以檢索某些成員簡檔屬性以用于將那些成員簡檔屬性與發(fā)起或調(diào)用了搜索的成員的對應(yīng)成員簡檔屬性相比較的目的。取決于考慮中的特定成員簡檔屬性,可以評估特定匹配規(guī)則以確定兩個成員相對于特定成員簡檔屬性具有相似性的程度。
用某些實施例,排序模塊26可以具有用于在生成排序分?jǐn)?shù)時使用的多個排序算法。因此,可以取決于接收到的搜索查詢的類型或被指定為搜索查詢的一部分的具體成員簡檔屬性來選擇和使用特定排序算法。例如,如果搜索查詢被確定為簡單的姓名搜索(例如,姓和/或名),則可能選擇用于供該類型的搜索查詢使用的特定排序算法并用其來導(dǎo)出且向搜索結(jié)果分配排序分?jǐn)?shù)。然而,如果搜索查詢指定特定成員簡檔屬性,則可以在導(dǎo)出并分配排序分?jǐn)?shù)時選擇并使用不同的排序算法。例如,如果搜索查詢包括職務(wù)頭銜和雇傭方名稱,則可以選擇特定排序算法并用其來提高用于將該職務(wù)頭銜指定為當(dāng)前職務(wù)頭銜并將雇傭方名稱指定為當(dāng)前雇傭方的成員簡檔的排序分?jǐn)?shù)。
一般地,排序模塊所使用的排序算法可以包括任何數(shù)目的加權(quán)因數(shù),其可以取決于搜索查詢類型以及已被指定為搜索查詢的一部分的具體成員簡檔屬性類型而不同。以下示例是例證性的。
為了示例起見而假定居住在密歇根州底特律市的社交網(wǎng)絡(luò)服務(wù)的成員期望聯(lián)系已知現(xiàn)在居住在華盛頓州西雅圖市的前大學(xué)同學(xué)并與其接觸。搜索成員生成指定大學(xué)同學(xué)的姓和名兩者的搜索查詢并將位置指定為“華盛頓州西雅圖市”作為搜索參數(shù)。由于搜索查詢具體地指示了不同于搜索者的地理位置的地理位置,所以被選用于在導(dǎo)出用于搜索結(jié)果的排序分?jǐn)?shù)中使用的排序算法不應(yīng)由于成員簡檔指示成員生活在與執(zhí)行搜索的成員相同的位置(即密歇根州底特律市)中而提升或以其它方式提高被分配給那些成員簡檔的相關(guān)性分?jǐn)?shù)。此外,暫時假定居住在底特律市的成員在華盛頓州西雅圖市讀大學(xué)。由于查詢已指定地理位置,即華盛頓州西雅圖市,并且由于搜索成員在華盛頓州西雅圖市讀大學(xué),所以可以在搜索結(jié)果排序中提高與查詢匹配并指定從與搜索成員相同的大學(xué)就讀或畢業(yè)的那些成員簡檔。例如,排序模塊可以對其中成員指示了在與搜索成員相同的大學(xué)就讀或從那里畢業(yè)的任何成員簡檔更重地加權(quán)。本質(zhì)上,通過指定特定成員簡檔屬性(在本示例中,為地理位置),另一成員簡檔屬性(例如,就讀的學(xué)院/大學(xué))在排序算法中被更重地加權(quán)以反映具有與正在執(zhí)行搜索的成員相同的學(xué)院或大學(xué)作為屬性的成員簡檔的假定重要度。
作為另一示例,料想社交網(wǎng)絡(luò)系統(tǒng)的成員被確定為被特定雇傭方雇傭以出售特定類型的產(chǎn)品的銷售員。在各種實施例中,此信息可以從在搜索成員的簡檔中指定的數(shù)據(jù)項目、搜索成員的行為的分析或者涉及搜索成員的人脈的數(shù)據(jù)的分析而導(dǎo)出。搜索成員提交指定關(guān)鍵字“sales(銷售)”和“generalelectric(通用電氣)”的搜索查詢?;陉P(guān)于搜索成員的已知信息和由搜索成員在搜索查詢中提交的關(guān)鍵字,可以推斷搜索成員正在尋找當(dāng)前在銷售職位上被通用電氣公司雇傭的個體?;蛘呖梢酝茢嘣摮蓡T正在尋找被通用電氣公司當(dāng)前雇傭或先前曾雇傭并熟悉該銷售人員正在銷售的產(chǎn)品類型的個體?;蛘呖梢酝茢嘣摮蓡T正在尋找當(dāng)前被通用電氣公司雇傭并負(fù)責(zé)關(guān)于該產(chǎn)品類型的代表通用電氣公司進(jìn)行采購決策的個體。在各種實施例中,基于上下文的搜索和基于上下文進(jìn)行的推斷,搜索引擎可以被配置成提高滿足搜索查詢的成員簡檔中的某些的排序??梢曰诎ū硎境蓡T簡檔指定通用電氣公司與銷售角色之間的強(qiáng)相關(guān)(例如,那個人當(dāng)前雇傭被以銷售角色在通用電氣公司處)或者通用電氣公司與產(chǎn)品類型之間的強(qiáng)相關(guān)(例如,那個人當(dāng)前被雇傭在通用電氣公司處并負(fù)責(zé)關(guān)于該產(chǎn)品類型的采購決策)或者此類相關(guān)的組合的特殊搜索索引條目的搜索索引來選擇成員簡檔的此子集,如下面更詳細(xì)地描述的。
搜索結(jié)果呈現(xiàn)模塊28促使在用戶界面中呈現(xiàn)搜索結(jié)果,按照其被分配到排序分?jǐn)?shù)的順序來布置。例如,用戶界面可以是提供滿足查詢的成員簡檔的至少一部分的簡單列表的搜索結(jié)果頁面。替換地,在某些情況下,用戶界面可以與查詢處理模塊24和搜索結(jié)果排序模塊26結(jié)合地操作以實現(xiàn)增量搜索技術(shù),借由增量搜索技術(shù),在成員正在鍵入搜索查詢的同時呈現(xiàn)搜索結(jié)果。此類結(jié)果可以例如在下拉建議列表中或者直接地在搜索結(jié)果網(wǎng)頁的一部分中呈現(xiàn)。
如圖2中所示,用某些實施例,針對由搜索引擎處理的每個搜索查詢,搜索引擎12將在數(shù)據(jù)庫30中存儲結(jié)果得到的數(shù)據(jù)——具體而言是從特定搜索查詢得到的搜索結(jié)果以及任何用戶選擇。一旦建立了針對特定時間段的足夠大的數(shù)據(jù)集,那么就使用數(shù)據(jù)分析模塊32來識別最終從搜索結(jié)果集合中選擇的具體成員簡檔和調(diào)用了特定搜索的成員的成員簡檔。以這種方式,可以確定搜索結(jié)果相對于特定搜索上下文而言的準(zhǔn)確度,并且所述準(zhǔn)確度可以被搜索結(jié)果排序模塊26用在排序算法中。
用某些實施例,可以將排序算法實現(xiàn)為基于如由數(shù)據(jù)分析模塊32確定的相關(guān)的水平而對在排序算法中使用的各種成員簡檔屬性加權(quán)。例如,如果數(shù)據(jù)顯示提交包括對應(yīng)于職務(wù)頭銜和雇傭方的關(guān)鍵字的搜索查詢的特定類型的搜索成員(例如,求職者、招聘人員或銷售員)選擇了將雇傭方指定為當(dāng)前雇傭方并將職務(wù)頭銜指定為當(dāng)前職務(wù)頭銜的成員簡檔、特定的時間百分比(例如,百分之七十五)以及低于百分之七十五的某個時間百分比的將雇傭方指定為過去雇傭方并將職務(wù)頭銜指定為對應(yīng)于過去雇傭方的職務(wù)頭銜的第二成員簡檔,則可以使用此信息來依據(jù)對總體排序分?jǐn)?shù)的貢獻(xiàn)而對各種成員簡檔屬性之間的關(guān)系的重要性加權(quán)。在任何情況下,數(shù)據(jù)分析模塊32被用來分析歷史搜索數(shù)據(jù)30以用于識別在特定搜索上下文中最顯著的成員簡檔屬性之間的關(guān)系的目的。
在各種實施例中,在發(fā)現(xiàn)對具有特定搜索上下文的特定搜索查詢具有特定重要性的成員簡檔屬性之間的關(guān)系時,搜索索引模塊34可以生成對應(yīng)于成員簡檔的特殊搜索索引條目。例如,基于成員簡檔的當(dāng)前職務(wù)頭銜和當(dāng)前雇傭方對輸入識別職務(wù)頭銜和當(dāng)前雇傭方的查詢的特定類型的搜索者(例如,工作招聘人員、銷售員或兩者)具有特殊重要性的確定,搜索索引模塊32可以生成用于成員簡檔的指定并表示所述關(guān)系的特殊搜索索引條目,如下面更詳細(xì)地描述的。
圖3是圖示出基于各種準(zhǔn)則來提高用于成員簡檔的排序分?jǐn)?shù)的示例性方法300的流程圖。在各種實施例中,方法300由圖2的模塊中的一個或多個實現(xiàn)。在操作302處,查詢處理模塊24接收由搜索者提交的搜索查詢。
在操作304處,查詢處理模塊24確定該搜索查詢識別職務(wù)頭銜和雇傭方名稱。例如,查詢處理模塊24將關(guān)鍵字和關(guān)鍵字短語的組合與已知職務(wù)頭銜和雇傭方名稱的列表相比較。在各種實施例中,查詢處理模塊24還執(zhí)行關(guān)鍵字和關(guān)鍵字短語的轉(zhuǎn)譯。該轉(zhuǎn)譯可以包括將職務(wù)頭銜的縮寫與已知職務(wù)頭銜匹配并將雇傭方名稱的縮寫與已知的雇傭方名稱匹配。例如,可以將關(guān)鍵字“vp”轉(zhuǎn)譯成“副總經(jīng)理”或者相反。同樣地,可以將關(guān)鍵字“sr”轉(zhuǎn)譯成“高級”。在各種實施例中,可以通過在其中分析歷史搜索數(shù)據(jù)30的上文所討論的發(fā)現(xiàn)過程來確定縮寫到已知職務(wù)頭銜和雇傭方名稱的映射。
在操作306處,查詢處理模塊24識別滿足搜索查詢的成員簡檔集合。例如,查詢處理模塊24將在搜索查詢中指定的關(guān)鍵字與倒排搜索索引相比較?;谠诓樵冎兄付ǖ囊粋€或多個關(guān)鍵字與倒排搜索索引中的關(guān)鍵字的匹配,查詢處理模塊24識別與搜索查詢匹配的成員簡檔集合。
在操作308處,查詢處理模塊24選擇成員簡檔集合的子集以便提高成員簡檔集合中的排序。例如,查詢處理模塊24基于例如在搜索者的簡檔中指定的信息(例如,搜索者是求職者、招聘人員還是銷售員)、涉及為什么搜索者正在執(zhí)行搜索的原因的信息(例如,搜索者正在嘗試識別搜索者可能認(rèn)識的成員、識別可能能夠?qū)⑺阉髡呓榻B給另一成員的搜索者的人脈、識別用于職務(wù)空缺的潛在候選人還是識別可以充當(dāng)用于搜索者的銷售聯(lián)系人的組織內(nèi)的聯(lián)系人等)來識別搜索的上下文。上下文的識別可以是基于搜索者的行為、具有與搜索者類似的成員簡檔的其它搜索者或者搜索者的人脈(例如,如從簡檔數(shù)據(jù)16、社交圖數(shù)據(jù)18以及成員活動和行為數(shù)據(jù)20導(dǎo)出的)。上下文的識別還可以基于歷史搜索數(shù)據(jù)30的分析,如上文關(guān)于圖2所述。
基于搜索的上下文,查詢處理模塊24可以推斷在查詢中指定的關(guān)鍵字和關(guān)鍵字短語的組合之間的關(guān)系。例如,基于搜索查詢包括職務(wù)頭銜和雇傭方名稱的確定且基于搜索者是設(shè)法識別組織內(nèi)的銷售聯(lián)系人的銷售員的確定,查詢處理模塊24可以確定搜索者不是在簡單地嘗試找到其中成員曾一度在具有該職務(wù)頭銜的職位上工作且在另一時刻在具有指定雇傭方的不同職位上工作的成員簡檔,而是該搜索者正在嘗試找到將該職務(wù)頭銜指定為當(dāng)前職務(wù)頭銜并將該雇傭方指定為當(dāng)前雇傭方的成員簡檔。因此,可以基于將該職務(wù)頭銜指定為當(dāng)前職務(wù)頭銜并將該雇傭方指定為當(dāng)前雇傭方的成員簡檔而選擇基于關(guān)鍵字滿足查詢的成員簡檔的子集。成員簡檔的子集中的每一個是否將該職務(wù)頭銜指定為當(dāng)前職務(wù)頭銜并將該雇傭方指定為當(dāng)前雇傭方的確定可以是基于經(jīng)轉(zhuǎn)譯的職務(wù)頭銜和雇傭方名稱到特殊搜索索引條目的映射,所述特殊搜索索引條目識別在職務(wù)頭銜與雇傭方之間具有指定關(guān)系的成員簡檔??梢匀缦挛年P(guān)于圖4所述地生成此特殊搜索索引條目。
在操作310處,搜索結(jié)果排序模塊26可以提高與成員簡檔集合的所選子集相關(guān)聯(lián)的排序分?jǐn)?shù)。因此,例如,可以將把職務(wù)頭銜指定為當(dāng)前職務(wù)頭銜并把雇傭方指定為當(dāng)前雇傭方的成員簡檔在排序中提升至在沒有如在簡檔中指定的職務(wù)頭銜和雇傭方之間的對應(yīng)關(guān)系的強(qiáng)度的指示的倒排搜索索引中簡單地將職務(wù)頭銜和雇傭方指定為關(guān)鍵字的成員簡檔之上。因此,例如,將職務(wù)頭銜指定為當(dāng)前職務(wù)頭銜并將雇傭方指定為當(dāng)前雇傭方的成員簡檔可以被提升至將職務(wù)頭銜指定為先前(非當(dāng)前)雇傭方、將雇傭方指定為先前(非當(dāng)前)雇傭方或兩者的成員簡檔之上。另外,指定成員先前在該雇傭方處擁有職務(wù)頭銜的成員簡檔可以被提升至指定成員擁有在不同的雇傭方處的指定職務(wù)頭銜或者不同的職務(wù)頭銜和指定雇傭方的成員簡檔之上。作為另一示例,考慮具有指定成員曾是abc公司處的首席技術(shù)官(cto)并且還是linkedin公司處的工程師的簡檔的成員。此成員可能不具有指定“l(fā)inkedin:cto”的索引條目,因為該成員并未指定他是linkedin的cto。因此,當(dāng)另一成員被確定為正在搜索linkedincto時,指定了abc處的cto和linkedin處的工程師的該成員將不會接收到搜索結(jié)果中的相對于指定該成員是或曾經(jīng)是linkedin處的cto的其它成員簡檔的提升。
在操作312處,成員簡檔集合被傳送以便根據(jù)與成員簡檔中的每一個相關(guān)聯(lián)的排序分?jǐn)?shù)在用戶界面中呈現(xiàn)。因此,可以在用戶界面中的比滿足搜索查詢的其它成員簡檔更顯著的位置上呈現(xiàn)與提高的排序分?jǐn)?shù)相關(guān)聯(lián)的成員簡檔。
圖4是圖示出生成用于成員簡檔的特殊搜索索引條目的示例性方法400的流程圖,所述特殊搜索索引條目識別在成員簡檔中指定的職務(wù)頭銜與雇傭方之間的關(guān)系的強(qiáng)度或類型。在各種實施例中,方法400由圖2的模塊中的一個或多個實現(xiàn)。在操作402處,簡檔處理模塊36接收對應(yīng)于社交聯(lián)網(wǎng)系統(tǒng)的成員的成員簡檔。例如,簡檔處理模塊36從成員接收成員簡檔的提交。
在操作404處,簡檔處理模塊36分析成員簡檔以確定在成員簡檔中指定的職務(wù)頭銜和雇傭方名稱之間的關(guān)系(例如,通過解析在成員簡檔中指定的工作歷史)。例如,簡檔處理模塊36確定成員在被在成員簡檔的工作歷史中指定的每個雇傭方雇傭時擁有的職務(wù)頭銜。
在操作406處,搜索索引模塊34生成與職務(wù)頭銜和雇傭方之間的所確定的關(guān)系中的至少一個相對應(yīng)的特殊搜索索引條目。例如,搜索索引模塊34可以生成表示在成員簡檔中被識別為當(dāng)前職務(wù)頭銜和當(dāng)前雇傭方的職務(wù)頭銜和雇傭方的特殊搜索索引條目。搜索索引條目可以具有可識別為表示用于與成員簡檔相關(guān)聯(lián)的具體數(shù)據(jù)字段以及那些字段之間的關(guān)系的值的句法或形式。例如,可以將搜索索引條目指定為“{<job_title_code>:<employer_code>}”。在本示例中,特殊包圍字符(例如,括號)指明包括在括號內(nèi)的搜索索引條目的部分包括涉及職務(wù)頭銜與雇傭方之間的關(guān)系的特殊代碼(例如,搜索索引條目不是簡單地包含關(guān)鍵字)。在各種實施例中,檢索索引條目可以包括數(shù)據(jù)字段的值的笛卡爾積。另外,在本示例中,搜索索引條目內(nèi)的特殊分隔符字符(例如,冒號)可以指示職務(wù)頭銜與雇傭方之間的關(guān)系的類型或強(qiáng)度(例如,在關(guān)聯(lián)成員簡檔中,職務(wù)頭銜被指定為當(dāng)前職務(wù),并且雇傭方被指定為當(dāng)前雇傭方)??梢允褂闷渌厥獍鼑头指舴址麃碇甘舅阉魉饕龡l目表示涉及成員簡檔的不同數(shù)據(jù)字段的值或數(shù)據(jù)字段之間的關(guān)系的不同強(qiáng)度或類型,如下面關(guān)于圖6所討論的??梢曰诔蓡T簡檔的自然語言解析和已解析元素到對應(yīng)于職務(wù)頭銜和雇傭方的預(yù)定義代碼的映射來識別搜索條目字段的<job_title_code>和<employer_code>元素。因此,無論在成員簡檔中如何指定職務(wù)頭銜或雇傭方名稱(例如,作為縮寫、別名等),其都可以被轉(zhuǎn)譯并映射到通用職務(wù)頭銜代碼或雇傭方代碼。替換地,可以針對職務(wù)頭銜或雇傭方名稱的每個可能變型生成單獨的索引條目。作為示例,可以將apple公司處的軟件工程師存儲為“apple:softwareapple:engineer”。
在操作408處,搜索索引模塊34提供搜索索引條目以供搜索引擎在將成員簡檔排序時使用。例如,搜索索引模塊34將搜索索引條目添加到被存儲且然后在上文關(guān)于圖3所述的排序過程期間被搜索引擎訪問的倒排搜索索引。
圖5是圖示出基于各種準(zhǔn)則來提高用于成員簡檔的排序分?jǐn)?shù)的示例性方法500的流程圖。在各種實施例中,方法500由圖2的模塊中的一個或多個實現(xiàn)。在操作502處,查詢處理模塊24接收由搜索者提交的搜索查詢。
在操作504處,查詢處理模塊24確定搜索查詢識別第一值和第二值。例如,查詢處理模塊確定搜索查詢指定職務(wù)頭銜、雇傭方、位置、職務(wù)職能、教育成就(例如,獲得的學(xué)位)、獲獎或者對應(yīng)于與關(guān)于社交聯(lián)網(wǎng)系統(tǒng)維持的成員簡檔的語料庫相關(guān)聯(lián)的任何兩個數(shù)據(jù)字段的任何兩個值。例如,如上文關(guān)于圖3所討論的,查詢處理模塊24將關(guān)鍵字和關(guān)鍵字短語的組合與已知職務(wù)頭銜和雇傭方名稱的列表相比較以確定關(guān)鍵字是否對應(yīng)于職務(wù)頭銜或雇傭方名稱。在各種實施例中,查詢處理模塊24還執(zhí)行關(guān)鍵字和關(guān)鍵字短語的轉(zhuǎn)譯。這樣,可以識別縮寫、別名、簡寫(shortcut)、代碼或識別對應(yīng)于成員簡檔的數(shù)據(jù)字段的值的其它信息并將其映射到通用代碼。在各種實施例中,可以通過關(guān)于圖2所討論的其中分析歷史搜索數(shù)據(jù)30的發(fā)現(xiàn)過程來確定在搜索查詢中指定的值到對應(yīng)于數(shù)據(jù)字段的已知值的映射。
在操作506處,查詢處理模塊24識別滿足搜索查詢的成員簡檔集合。例如,查詢處理模塊24將在搜索查詢中指定的關(guān)鍵字與倒排搜索索引中指定的關(guān)鍵字相比較?;谠诓樵冎兄付ǖ囊粋€或多個關(guān)鍵字與倒排搜索索引中的關(guān)鍵字的匹配,查詢處理模塊24識別滿足搜索查詢的成員簡檔集合。
在操作508處,查詢處理模塊24選擇成員簡檔集合的子集以便提高成員簡檔集合中的排序。例如,查詢處理模塊24基于例如在搜索者的簡檔中指定的信息(例如,搜索者是求職者、招聘人員還是銷售員)、涉及為什么搜索者正在執(zhí)行搜索的原因的信息(例如,搜索者正在嘗試識別搜索者可能認(rèn)識的成員、識別可能能夠?qū)⑺阉髡呓榻B給另一成員的搜索者的人脈、識別用于職務(wù)空缺的潛在候選人還是識別可以充當(dāng)用于搜索者的銷售聯(lián)系人的組織內(nèi)的聯(lián)系人等)來識別搜索的上下文。上下文的識別可以是基于搜索者的行為、具有與搜索者類似的成員簡檔的其它搜索者或者搜索者的人脈(例如,如從簡檔數(shù)據(jù)16、社交圖數(shù)據(jù)18以及成員活動和行為數(shù)據(jù)20導(dǎo)出的)。上下文的識別還可以基于歷史搜索數(shù)據(jù)30的分析,如上文關(guān)于圖2所述。
基于搜索的上下文,查詢處理模塊24可以推斷在查詢中指定的關(guān)鍵字和關(guān)鍵字短語的組合之間的關(guān)系。例如,基于搜索查詢包括職務(wù)頭銜和雇傭方名稱的確定且基于搜索者是設(shè)法識別組織內(nèi)的銷售聯(lián)系人的銷售員的確定,查詢處理模塊24可以確定搜索者不是在簡單地嘗試找到具有與在搜索查詢中指定的關(guān)鍵字匹配的關(guān)鍵字的成員簡檔,而是替代地在嘗試找到具有針對成員簡檔的特定字段指定的特定值的成員簡檔。例如,查詢處理模塊24可以確定搜索者正在搜索將當(dāng)前職務(wù)的職務(wù)職能指定為銷售職能且當(dāng)前職務(wù)的位置是特定地理位置的成員簡檔。因此,可以基于指定用于具體數(shù)據(jù)字段的具體值的成員簡檔來選擇滿足查詢的成員簡檔的子集。成員簡檔的子集中的每一個是否指定用于特定數(shù)據(jù)字段的特定值的確定可以是基于在搜索查詢中指定的經(jīng)轉(zhuǎn)譯的值到識別具有用于指定數(shù)據(jù)字段的指定值的成員簡檔的特殊搜索索引條目的映射??梢匀缦挛年P(guān)于圖6所述地生成此特殊搜索索引條目。
在操作510處,搜索結(jié)果排序模塊26可以提高與成員簡檔集合的所選子集相關(guān)聯(lián)的排序分?jǐn)?shù)。因此,例如,可以將指定用于特定數(shù)據(jù)字段的特定值的成員簡檔在排序中提升至在沒有關(guān)鍵字涉及的成員簡檔的數(shù)據(jù)字段的任何考慮的倒排搜索索引中簡單地指定與關(guān)鍵字相同的值的成員簡檔之上。
在操作512處,成員簡檔集合被傳送以便根據(jù)與成員簡檔中的每一個相關(guān)聯(lián)的排序分?jǐn)?shù)在用戶界面中呈現(xiàn)。因此,可以在用戶界面中的比滿足搜索查詢的其它成員簡檔更顯著的位置上呈現(xiàn)與提高的排序分?jǐn)?shù)相關(guān)聯(lián)的成員簡檔。
圖6是圖示出生成用于成員簡檔的特殊搜索索引條目的示例性方法600的流程圖,所述特殊搜索索引條目識別針對成員簡檔中的數(shù)據(jù)字段指定的值之間的關(guān)系的強(qiáng)度或類型。在各種實施例中,方法600由圖2的模塊中的一個或多個實現(xiàn)。在操作602處,簡檔處理模塊36接收對應(yīng)于社交聯(lián)網(wǎng)系統(tǒng)的成員的成員簡檔。例如,簡檔處理模塊36從成員接收成員簡檔的提交。
在操作604處,簡檔處理模塊36分析成員簡檔以確定在成員簡檔中指定的關(guān)鍵字之間的關(guān)系。例如,簡檔處理模塊36確定特定關(guān)鍵字是對應(yīng)于表示當(dāng)前職務(wù)頭銜的數(shù)據(jù)字段的職務(wù)頭銜值?;蛘吆啓n處理模塊36可以確定特定關(guān)鍵字是對應(yīng)于表示過去職務(wù)頭銜的一個或多個字段的職務(wù)頭銜。另外,簡檔處理模塊36可以確定特定關(guān)鍵字是雇傭方名稱、地理位置、職務(wù)職能或在成員簡檔的工作歷史中指定的職務(wù)的其它方面。另外,簡檔處理模塊36可以確定各種已識別值之間的關(guān)系的類型或關(guān)系的強(qiáng)度。因此,例如,簡檔處理模塊36可以識別對應(yīng)于用于工作歷史中的當(dāng)前職務(wù)的職務(wù)屬性的值比用于工作歷史中的過去職務(wù)的職務(wù)屬性的另一值具有相互更強(qiáng)的關(guān)系。
在操作606處,搜索索引模塊34生成特殊搜索索引條目,其識別用于與簡檔相關(guān)聯(lián)的數(shù)據(jù)字段的已識別值之間的所確定的關(guān)系中的至少一個。例如,搜索索引模塊34可基于例如在簡檔的工作歷史中指定的關(guān)鍵字的解析而生成表示特定職務(wù)頭銜、雇傭方、地理位置、職務(wù)職能或職務(wù)屬性的任何組合之間的關(guān)系的特殊搜索索引條目。因此,例如,搜索索引模塊34可以生成表示成員簡檔已將職務(wù)頭銜、雇傭方或地理位置的組合指定為當(dāng)前職務(wù)或過去職務(wù)的特殊搜索索引條目。搜索索引條目可以具有可識別為表示用于與成員簡檔相關(guān)聯(lián)的具體數(shù)據(jù)字段以及那些字段之間的關(guān)系的值的句法或形式。例如,可以將搜索索引條目指定為“{<job_title_code>:<employer_code>:<geographical_location_code>:<job_function_code}”。在本示例中,特殊包圍字符(例如,括號)指明包括在括號內(nèi)的搜索索引條目的部分包括涉及各種值的特殊代碼(例如,搜索索引條目不是簡單地包含關(guān)鍵字)。另外,在本示例中,搜索索引條目內(nèi)的特殊分隔符字符(例如,冒號)可以指示職務(wù)頭銜與雇傭方之間的關(guān)系的類型或強(qiáng)度(例如,在關(guān)聯(lián)成員簡檔中,職務(wù)頭銜被指定為當(dāng)前職務(wù),并且雇傭方被指定為當(dāng)前雇傭方)。可以使用其它特殊包圍和分隔符字符來指示搜索索引條目表示涉及成員簡檔的不同數(shù)據(jù)字段的值或數(shù)據(jù)字段之間的關(guān)系的不同強(qiáng)度或類型,如下面關(guān)于圖6所討論的??梢曰诔蓡T簡檔的自然語言解析和已解析元素到對應(yīng)于職務(wù)頭銜和雇傭方的預(yù)定義代碼的映射來識別搜索條目字段的<job_title_code>和<employer_code>元素。因此,無論在成員簡檔中如何指定職務(wù)頭銜或雇傭方名稱(例如,作為縮寫、別名等),其都可以被轉(zhuǎn)譯并映射到通用職務(wù)頭銜代碼或雇傭方代碼。替換地,可以針對職務(wù)頭銜或雇傭方名稱的每個可能變型生成單獨的索引條目。
另外,所生成的各種特殊索引條目可以是基于這樣的確定,即值和值之間的關(guān)系基于過去搜索的分析而對搜索者具有特殊意義,如上文關(guān)于圖2所討論的。分析可以考慮搜索的上下文,包括關(guān)于搜索者已知的信息和關(guān)于搜索原因已知的信息。因此,例如,識別用于成員簡檔的特定數(shù)據(jù)字段的特定值且識別那些值之間的特定關(guān)系的特定特殊搜索索引條目的生成可以是基于這樣的確定,即此類特殊搜索索引條目將導(dǎo)致如根據(jù)相對于搜索結(jié)果的用戶行為的分析而確定的搜索結(jié)果的更好排序。
在操作608處,搜索索引模塊34提供搜索索引條目以供搜索引擎在將成員簡檔排序時使用。例如,搜索索引模塊34將搜索索引條目添加到被存儲且然后在上文關(guān)于圖3所述的排序過程期間被搜索引擎訪問的倒排搜索索引。還可以識別在搜索查詢中指定的特定關(guān)鍵字與特殊搜索索引條目之間的映射并將其存儲在附加搜索索引中以供搜索引擎訪問。
圖7是在其中呈現(xiàn)對應(yīng)于搜索查詢的搜索結(jié)果的示例性用戶界面700的屏幕快照。在本示例中,由搜索者提交的關(guān)鍵字短語是“vpengineeringapple”。在沒有使用如上文關(guān)于圖4和圖6所述的那樣生成的特殊索引條目中的任何的情況下處理此搜索查詢。因此,例如,基于包括在倒排搜索索引中的其它數(shù)據(jù)(諸如關(guān)鍵字)來確定搜索結(jié)果的排序。
圖8是在其中呈現(xiàn)附加搜索結(jié)果的示例性用戶界面800的屏幕快照。如圖7中那樣,由搜索者提交的關(guān)鍵字短語是“vpengineeringapple”。然而,不同于在圖7中,在本示例中,使用特殊索引條目來處理搜索查詢。在各種實施例中,根據(jù)上文關(guān)于圖3和圖5所述的方法來生成特殊索引條目。因此,對應(yīng)于當(dāng)擔(dān)任apple處的工程的副總經(jīng)理的成員的成員簡檔在排序中被提升。
圖9是其中圖8的搜索結(jié)果已被重新排序的示例性用戶界面900的屏幕快照。在本示例中,由搜索者提交的關(guān)鍵字短語是“vpsalestesla(vp銷售特斯拉)”。在沒有使用如上文關(guān)于圖4和圖6所述的那樣生成的特殊索引條目中的任何的情況下處理此搜索查詢。因此,例如,基于包括在倒排搜索索引中的其它數(shù)據(jù)(諸如關(guān)鍵字)來確定搜索結(jié)果的排序。
圖10是其中圖9的附加搜索結(jié)果已被重新排序的示例性用戶界面1000的屏幕快照。如在圖9中那樣,由搜索者提交的關(guān)鍵字短語是“vpsalestesla”。然而,不同于在圖7中,在本示例中,使用特殊索引條目來處理搜索查詢。在各種實施例中,根據(jù)上文關(guān)于圖3和圖5所述的方法來生成特殊索引條目。因此,對應(yīng)于當(dāng)前擔(dān)任tesla處的銷售的副總經(jīng)理的成員的成員簡檔在排序中被提升。
本文中所述的示例性方法的各種操作可以至少部分地由被臨時地配置(例如,通過軟件指令)或者永久地配置成執(zhí)行相關(guān)操作的一個或多個處理器執(zhí)行。無論是臨時地還是永久地配置,此類處理器可以組成進(jìn)行操作以執(zhí)行一個或多個操作或功能的處理器實現(xiàn)的模塊或?qū)ο?。在本文中提及的模塊和對象在某些示例性實施例中可以包括處理器實現(xiàn)的模塊和/或?qū)ο蟆?/p>
同樣地,本文中所述的方法可以至少部分地是處理器實現(xiàn)的。例如,方法的操作中的至少某些可以由一個或多個處理器或處理器實現(xiàn)模塊執(zhí)行。某些操作的執(zhí)行可以分布在一個或多個處理器之間,不僅駐存在單個機(jī)器或計算機(jī)內(nèi),而是跨許多機(jī)器或計算機(jī)部署。在某些示例實施例中,一個或多個處理器可以位于單個位置中(例如,在家庭環(huán)境、辦公環(huán)境內(nèi)或者在服務(wù)器農(nóng)場處),而在其它實施例中可以將處理器跨許多位置分布。
一個或多個處理器還可以進(jìn)行操作以支持“云計算”環(huán)境中或者在“軟件即服務(wù)”(saas)的上下文內(nèi)的相關(guān)操作的執(zhí)行。例如,操作中的至少某些可以由一組計算機(jī)(作為包括處理器的機(jī)器的示例)執(zhí)行,這些操作可經(jīng)由網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))和經(jīng)由一個或多個適當(dāng)接口(例如,應(yīng)用程序接口(api))訪問。
圖11是以計算機(jī)系統(tǒng)的形式的機(jī)器的框圖,在所述計算機(jī)系統(tǒng)內(nèi),可以執(zhí)行用于促使機(jī)器實行本文中討論的方法中的任何一個或多個的一組指令。在替換實施例中,機(jī)器充當(dāng)獨立設(shè)備,或者可以連接(例如,聯(lián)網(wǎng))到其它機(jī)器。在聯(lián)網(wǎng)部署中,機(jī)器可以以客戶端-服務(wù)器網(wǎng)絡(luò)環(huán)境中的服務(wù)器或客戶端機(jī)器的能力或者作為對等(或分布式)網(wǎng)絡(luò)環(huán)境中的對等機(jī)器進(jìn)行操作。在優(yōu)選實施例中,機(jī)器將是服務(wù)器計算機(jī),然而在替換實施例中,機(jī)器可以是個人計算機(jī)(pc)、平板pc、機(jī)頂盒(stb)、個人數(shù)字助理(pda)、移動電話、網(wǎng)絡(luò)設(shè)備、網(wǎng)絡(luò)路由器、交換機(jī)或橋接器或能夠執(zhí)行指定將由該機(jī)器采取的動作的指令(連續(xù)或以其它方式)的任何機(jī)器。此外,雖然僅圖示出單個機(jī)器,但還應(yīng)將術(shù)語“機(jī)器”理解成包括單獨地或共同地執(zhí)行一組(或多組)指令以實行本文所討論的方法中的任何一個或多個的機(jī)器的任何集合。
示例計算機(jī)系統(tǒng)1500包括處理器1502(例如,中央處理單元(cpu)、圖形處理單元(gpu)或兩者)、主存儲器1501和靜態(tài)存儲器1506,其經(jīng)由總線1508相互通信。計算機(jī)系統(tǒng)1500還可以包括顯示單元1510、字母數(shù)字輸入設(shè)備1517(例如,鍵盤)以及用戶界面(ui)導(dǎo)航設(shè)備1511(例如,鼠標(biāo))。在一個實施例中,顯示器、輸入設(shè)備和光標(biāo)控制設(shè)備是觸摸屏顯示器。計算機(jī)系統(tǒng)1500另外可以包括存儲設(shè)備1516(例如,驅(qū)動單元)、信號生成設(shè)備1518(例如,揚聲器)、網(wǎng)絡(luò)接口設(shè)備1520以及一個或多個傳感器1521,諸如全球定位系統(tǒng)傳感器、指南針、加速度計或其它傳感器。
驅(qū)動單元1516包括機(jī)器可讀介質(zhì)1522,其上存儲有體現(xiàn)本文中所述的方法或功能中的任何一個或多個或者被其利用的一組或多組指令和數(shù)據(jù)結(jié)構(gòu)(例如,軟件1523)。軟件1523還可以在其被計算機(jī)系統(tǒng)1500、主存儲器1501和也構(gòu)成機(jī)器可讀介質(zhì)的處理器1502執(zhí)行期間完全地或至少部分地駐存在主存儲器1501內(nèi)和/或處理器1502內(nèi)。
雖然機(jī)器可讀介質(zhì)1522在示例實施例中被圖示為是單個介質(zhì),但術(shù)語“機(jī)器可讀介質(zhì)”可以包括存儲一個或多個指令的單個介質(zhì)或多個介質(zhì)(例如,集中式或分布式數(shù)據(jù)庫和/或相關(guān)聯(lián)的高速緩存和服務(wù)器)。還應(yīng)將術(shù)語“機(jī)器可讀介質(zhì)”理解成包括能夠存儲、編碼或承載指令以便由機(jī)器執(zhí)行并促使該機(jī)器實行本發(fā)明的方法中的任何一個或多個或者能夠存儲、編碼或承載被此類指令利用或與之相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)的任何有形介質(zhì)。因此,應(yīng)將術(shù)語“機(jī)器可讀介質(zhì)”理解成包括但不限于固態(tài)存儲器以及光和磁介質(zhì)。機(jī)器可讀介質(zhì)的具體示例包括:非易失性存儲器,舉例來說包括半導(dǎo)體存儲器設(shè)備,例如,eprom、eeprom以及閃存設(shè)備;磁盤,諸如內(nèi)部硬盤和可移動盤;磁光盤;以及cd-rom和dvd-rom盤。
可以進(jìn)一步使用傳輸介質(zhì)經(jīng)由網(wǎng)絡(luò)接口設(shè)備1520利用許多眾所周知的傳輸協(xié)議中的任何一個(例如,http)通過通信網(wǎng)絡(luò)1526發(fā)送或接收軟件1523。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(“l(fā)an”)、廣域網(wǎng)(“wan”)、互聯(lián)網(wǎng)、移動電話網(wǎng)、普通老式電話(pots)網(wǎng)絡(luò)以及無線數(shù)據(jù)網(wǎng)(例如,wi-fi?和wimax?網(wǎng)絡(luò))。應(yīng)將術(shù)語“傳輸介質(zhì)”理解成包括能夠?qū)χ噶钸M(jìn)行存儲、編碼或承載以便由機(jī)器執(zhí)行的任何無形介質(zhì),并且包括數(shù)字或模擬通信信號或其它無形介質(zhì)以促進(jìn)此類軟件的通信。在一個實施例中,機(jī)器可讀介質(zhì)可以包括存儲介質(zhì)或傳輸介質(zhì)。
雖然已參考具體示例描述了實施例,但將顯而易見的是,可以對這些實施例進(jìn)行各種修改和變更而不脫離本發(fā)明的更寬泛的范圍。因此,應(yīng)在例證性而不是限制性意義上考慮本說明書和附圖。構(gòu)成其一部分的附圖以例證而非限制的方式示出了其中可以實施本主題的具體實施例。足夠詳細(xì)地描述了所示實施例以使得本領(lǐng)域技術(shù)人員能夠?qū)嵤┍疚闹泄_的教導(dǎo)??梢岳貌钠鋵?dǎo)出其它實施例,使得可以進(jìn)行結(jié)構(gòu)和邏輯替換和改變而不脫離本公開的范圍。因此,不應(yīng)在限制性意義上理解本具體實施方式,并且各種實施例的范圍僅僅由所附權(quán)利要求連同此類權(quán)利要求被授權(quán)的等價物的全部范圍限定。