用于生成社交網絡系統中的靈活語句的方法和系統的制作方法
【專利說明】
[0001] 相關申請的交叉引用
[0002] 本申請要求于2013年4月23日提交的美國專利申請號13/868,917的優先權,通 過引用將其全部內容結合在此。
技術領域
[0003] 本公開的各個實施方式總體上涉及為用戶提供社交網絡體驗并且具體地涉及渲 染社交網絡系統中的社交表達。
【背景技術】
[0004] 現在全球的大部分人通過社交網絡系統在線連接。網絡系統可以生成并且維護包 括通過多個邊線相互連接的多個節點的社交圖譜。每個節點代表社交網絡系統中的對象 (例如,位置、電影等)。對象可以包括用戶對象。多個邊線中的每個代表兩個節點之間的 特定種類的連接。
[0005] 這些結構數據對于為網絡系統的用戶渲染有意義的瀏覽體驗是有用的。開發人員 可以對社交圖譜發布新的內容以擴展結構數據并且利用邊線將對象在社交圖譜中鏈接。用 戶可以詢問并且生成結構數據內的圖譜搜索。
[0006] 然而,當開發人員創建將新的內容發布至社交圖譜的應用時,用于在新鮮故事 (feed story)、搜索結果以及其他類型的體驗中渲染這些結構數據的機器生成的文本可能 導致不靈活語句和體驗。
【發明內容】
[0007] 本公開的實施方式提供了生成用于代表行動者(actor)通過應用所執行的關系 或動作的靈活的和自然聲音的語句的各種方法和系統。語句由應用發布至社交圖譜。這些 語句可以出現在在打開或關閉社交網絡系統時發生的新鮮事故事(news feed story)、搜 索結果、資料內容或者其他體驗中。在一個實施方式中,行動者(actor)可以表示為社交網 絡系統中的對象并且動作或關系可以表示為邊線。通常,默認語句結構包括行動者、邊線、 行動者與之交互的目標、以及以行動者的名義在社交網絡系統上發布語句的應用。例如,以 下故事可以被發布至社交網絡系統:"Sam在Goodreads上讀完了 The Name of the Wind"。 在這個實例中,行動者是"Sam",邊線是"讀完",目標是"The Name of the Wind"(一本書), 并且應用是"Goodreads"。
[0008] 在某些情況下,默認語句結構會是不靈活的或者缺乏上下文的。例如,一個人指出 她通過健身應用完成了徒步旅行,則發布的語句以前是"Kelly走完了徒步旅行步道"。在 這個實例中,"Kelly"是行動者,"徒步旅行"是邊線;并且"徒步旅行步道"是目標。默認語 句結構產生了冗余和笨拙的語句。在另一個實例中,先前,一個人指出他在Songkick(音樂 會尋找應用)上關注了藝術家,然而不清楚為什么:"Christen在Songkick.com.上關注了 Muse"。因此,默認語句不會為語句提供充分的上下文。
[0009] 如本文中描述的系統包括平臺,該平臺包括用于定制化由社交網絡系統發布的語 句的句法的開發者界面。該界面允許應用的開發者控制代表那個應用發布的邊線的語句 的結構。代替將語句句法限于[行動者][邊線][目標],開發者可以使用標記(token) 表示待發布的目標的特性。例如,代替"Kelly走完了徒步旅行步道",更優雅的版本可以 是"Kelly徒步旅行3. 5英里。給她點鼓勵!"在這個實例中,句法是"[行動者][邊線] [目標.長度]。給她點鼓勵!",這是更自然的、描述性的以及社交可操作性的(socially actionable)。這個語句從語句省去了目標本身,使用目標的特性,并且包括任意文本以使 得語句聽起來更加社交可操作的。行動者、邊線和目標中的每個在不同的情況下可以不同 地表達。
[0010] 此外,系統還根據需要包括以下選項:將代表行動者、邊線或目標的特性的標記插 入語句中;插入任意字符串;以及省去標記。
[0011] 基于定義的邊線和目標,平臺可以生成用于特定開發者來定義的一組靈活語句。 平臺使開發者能夠將一個或多個行動者、邊線、目標的特性、任意文本字符串、或者它們的 任何組合插入到靈活語句句法中。平臺還可以在靈活語句句法中實現計算推導特性。平臺 使開發者能夠省去和/或重新排序靈活語句句法中的任何元素,包括定義用于發布/渲染 的靈活語句句法的不同的情況的多個語句配置。
[0012] 基于定義的邊線和目標,平臺可以生成用于特定開發者定義的一組靈活語句。平 臺使開發者能夠將一個或多個行動者、邊線、目標的特性、任意文本字符串、或者它們的任 何組合插入到靈活語句句法中。平臺還可以在靈活語句句法中實現計算推導特性。平臺使 開發者能夠省去和/或重新排序在靈活語句句法中的任何元素,包括定義用于發布/渲染 的靈活語句句法的不同的情況的多個語句配置。
[0013] 在一些實施方式中,開發者界面提供各個選項以便開發者選擇邊線標記和/或目 標標記。例如,標記可以在復選框列表、下拉菜單、選擇列表、按鈕列表、多層菜單層次或者 它們的任何組合中提供。對于另一實例,當開發者在邊線或對象(例如,行動者或目標)前 面鍵入打開的花括號("{")時,具有邊線或對象的特性表達的下拉框可以對開發者顯示以 進行選擇。
[0014] 在一些實施方式中,顏色編碼可用于區分在用戶之中具有不同的流行水平的邊線 和/或目標標記。在一些實施方式中,基于開發者選擇的邊線和對象,可以生成多個相關的 語句并且與它們的相應的覆蓋度的百分比一起對開發者顯示以進行瀏覽。多個語句可以基 于它們出現的頻率區分優先次序。在一些實施方式中,覆蓋度百分比具高于預定閾值的語 句可以預提取至開發者設備以最小化網狀I/O延遲。
[0015] 在一些實施方式中,開發者可以在聚合的同時發布活動的總結。開發者可以從不 同類型的聚合中選擇,該聚合類型可以包括圖庫類型、表、列表、地圖或它們的任何組合。在 一些實施方式中,當開發者選擇具體靈活語句的邊線和目標時,多個聚合可以為開發者自 動生成以進行選擇。
[0016] 在一些實施方式中,開發者可以通過從一組"邊線配置"進行選擇來配置特定語 句。邊線配置的組可以包括,但不限于,一對一、沒有目標標題的一對一、一對二、一對多、沒 有目標標題的一對二/ 一對多、二對一、多對一,等等。
[0017] 在一些實施方式中,可以為開發者提供預覽框以預覽具有不同的邊線配置的特定 的靈活語句。在一些實施方式中,預覽框可以模擬具體靈活語句在不同的平臺上的顯示以 便開發者可見使用這些平臺的行動者的朋友對于該語句的感覺。
[0018] 在一些實施方式中,開發者可以定制化具體靈活語句的時態。特定語句中的動詞 的時態可以包括,諸如,過去式、復數過去式、現在時、復數現在時、連續時態、完成時態、完 成連續時態和命令時態。在一些實施方式中,開發者可以選擇用于具體靈活語句的邊線的 一個或多個時態。在一些實施方式中,可以為開發者提供歸屬標記以定制化開發者的應用 可以怎樣歸屬在故事中。
[0019] 在一些實施方式中,開發者可以發布來自移動網絡、iOS、安卓、桌面網絡和/或存 在于Windows OS、Linux或Unix之中的應用的具體靈活語句。
[0020] 盡管公開了多個實施方式,但是從下面示出并描述了本發明的示例性實施方式的 詳細說明中,仍有本公開的其他實施方式對于本領域技術人員來說將變得顯而易見。如應 當認識到,在不完全偏離本公開的范圍的情況下,本發明能夠在各個方面進行修改。因此, 附圖和詳細說明在本質上將被視為說明性而非限制性的。
【附圖說明】
[0021] 將通過使用附圖描述和說明本公開的實施方式,其中:
[0022] 圖1示出具有生成靈活語句的機制的社交網絡系統;
[0023] 圖2是根據一個實施方式的適用于社交網絡系統的系統環境的高級框圖;
[0024] 圖3示出使用標記生成社交網絡系統中的具體靈活語句的框圖;
[0025] 圖4A示出在開發者平臺上配置具體靈活語句的動詞時態的選項的實例;
[0026] 圖4B至圖4C示出在開發者平臺上編輯具體靈活語句的時態的選項的實例;
[0027] 圖4D示出選擇開發者平臺上的具體靈活語句的歸屬的選項的實例;
[0028] 圖5示出可以用于生成社交網絡系統中的具體靈活語句句法的一組操作的流程 圖;并且
[0029] 圖6示出了本公開的一些實施方式可利用的計算機系統的實例。
[0030] 附圖不是必需按比例繪制。例如,附圖中的一些元素的尺寸可以擴大或縮小以幫 助改善對本公開的實施方式的了解。相似地,為了論述本公開的一些實施方式的目的一些 部件和/或操作可以分開至不同的框或結合至單獨的框。此外,盡管本發明可被修改為各 種變形和替換形式,但已經在附圖中通過舉例的方式示出了【具體實施方式】并且以下進行了 詳細描述。然而,并不旨在將本發明局限于所描述的【具體實施方式】。相反,本發明旨在覆蓋 落入如所附權利要求所限定的本發明的范圍以內的所有修改、等同物和替換裝置。
【具體實施方式】
[0031] 本公開的各個實施方式總體涉及為用戶提供社交網絡體驗。更具體地,本公開的 各個實施方式涉及用于提供社交網絡系統中的靈活語句的系統和方法。在過去,開發者選 擇的行動者、邊線和目標可以發布至語句或故事中。然而,機器生成的文本產生具有不靈活 的短語的語句或者公開之后對于讀者缺乏足夠的上下文的語句。例如,考慮在某些社交網 絡系統上可用的運動應用,諸如Nike+應用。在運動應用以內,當用戶開始或完成一些運動 相關的任務時,運動應用將基于默認語句句法生成用于發布的文本。這會導致生成邊線和 目標在其中重復的語句,諸如"徒步了徒步旅行"或者"跑完跑步"。與此相反,本公開的各 個實施方式生成讀者可以容易地理解的靈活語句。
[0032] 在一個實施方式中,應用開發者可以定義具體靈活語句的句法,包括行動者、目 標、邊線和聚合成分。為開發者提供標記以定義具體靈活語句的邊線和/或對象(例如,行 動者或目標)的特性表達。基于定義的對象和邊線以及它們的相應的同義詞,平臺可以為 開發者自動生成一組靈活語句句法以進行選擇。開發者可以添加更多地特性表達以進一步 定制化具體靈活語句的邊線和/或對象。具體靈活語句允許開發者控制由應用發布的故事 和語句會怎樣出現在社交網絡系統中的時間線、新鮮事和/或其他位置中。
[0033] 盡管本文中描述的實例涉及網絡系統,但描述不應當被當做限制本公開的范圍。 各個替代、修改和等同物在不改變本發明的精神的情況下將對本領域技術人員顯而易見。 例如,生成靈活語句的方法可以在提供服務至用戶的任何用戶設備(發布應用和/或發 布故事)或者計算系統上實現。對于另一實例,生成靈活語句的方法可以在具有網絡服 務器系統的任何計算系統中實現。網絡服務器系統可以包括數據庫管理系統(DBMS),諸 如 HBase、MySQL、FoxPro、IBM DB2、Linter、Microsoft SQL Server、Oracle、PostgreSQL、 SQLite 等。
[0034] 圖1示出具有開發和渲染靈活語句的機制的社交網絡系統100。社交網絡系統100 提供允許用戶與社交網絡系統環境內或者外的對象以及其他用戶交互的機制。社交網絡系 統100包括社交圖譜102。社交圖譜102包括經由諸如邊線106的邊線連接的多個對象,諸 如對象104。社交圖譜102的對象104可以代表社交網絡系統100內的實體,諸如用戶、頁 面、組群、企業、可以與用戶交互的其他實體或者它們的任何組合。邊線106代表對象之間 的關系。關系可以定向的。例如,負責創建關系的對象可以被視為彳丁動者108。被動接受關 系的對象可以被認為是目標110。然而,如果存在引導至單個對象的邊線和從單個對象引導 出的邊線,則單個對象可以被認為是行動者108和目標110兩者。社交圖譜102進一步如 下所述。
[0035] 操作社交網絡系統100以開發和渲染靈活語句的一個或多個方法可以由如下所 述的模塊和存儲器實現。模塊可被實現為硬件部件、軟件模塊或者它們的任何組合。例如, 描述的模塊可以是軟件模塊,該軟件模塊被實現為非易失性存儲器上的指令,該軟件模塊 能夠被機器上的處理器或控制器執行。
[0036] 每個模塊可以單獨操作并且與其他模塊無關。一些或者全部模塊可以在同一主機 設備或分開的設備上執行。分開的設備可以經由通信模塊耦接以使其操作協調。一些或所 有的模塊可被合并成一個模塊。單個模塊也可被劃分為多個子模塊,每個子模塊執行單獨 的方法步驟或單個模塊的方法步驟。模塊可共享對存儲空間的訪問。一個模塊可訪問被另 外一個模塊訪問或變換的數據。如果模塊與其他模塊直接或間接地共享一個物理連接或虛 擬連接,允許已被其中一個模塊訪問或修改的數據被另外一個模塊訪問,那么它們可被視 作相互"耦接"。社交網絡系統100可以包括各個應用的附加的、更少的或者不同的模塊。
[0037] 如下所述的存儲(storages)或"存儲器(stores