JP2016524207A - ソーシャル・ネットワーキング・システムにおいてフレキシブルなセンテンスを生成するための方法およびシステム - Google Patents

ソーシャル・ネットワーキング・システムにおいてフレキシブルなセンテンスを生成するための方法およびシステム Download PDF

Info

Publication number
JP2016524207A
JP2016524207A JP2016510689A JP2016510689A JP2016524207A JP 2016524207 A JP2016524207 A JP 2016524207A JP 2016510689 A JP2016510689 A JP 2016510689A JP 2016510689 A JP2016510689 A JP 2016510689A JP 2016524207 A JP2016524207 A JP 2016524207A
Authority
JP
Japan
Prior art keywords
developer
edge
networking system
social networking
flexible
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016510689A
Other languages
English (en)
Other versions
JP6139021B2 (ja
Inventor
リン、バオ
フーベン、ヒューゴ ヨハン ヴァン
フーベン、ヒューゴ ヨハン ヴァン
ミアオ、ジャンボー
Original Assignee
フェイスブック,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2016524207A publication Critical patent/JP2016524207A/ja
Application granted granted Critical
Publication of JP6139021B2 publication Critical patent/JP6139021B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

フレキシブルなセンテンスを提供するための方法およびシステムが開示される。システムは、フレキシブルなセンテンス構文のアクタ、エッジ、ターゲット、およびアグリゲーションを定義するためのオプションを提供するための開発者インタフェースを含む。一実施形態において、フレキシブルなセンテンス構文のエッジおよび/またはターゲットの性質表現を定義するために、トークンが提供される。定義されたエッジおよびターゲットに基づいて、開発者インタフェースは、開発者が選択するための複数のフレキシブルなセンテンス構文を生成することができる。いくつかの実施形態において、開発者は、フレキシブルなセンテンス構文のエッジおよび/またはターゲットをさらに定義するために、追加の性質表現を追加することができる。いくつかの事例では、複数のフレキシブルなセンテンス構文は、所与の時間フレームにわたって受信されたインプレッションによって決定されたパーセンテージ通用範囲に基づいて、優先順位を付けられてよい。

Description

本開示のさまざまな実施形態は、一般に、ユーザにソーシャル・ネットワーキング体験を提供することに関し、詳細には、ソーシャル・ネットワーキング・システムにおけるソーシャル表現をレンダリングすることに関する。
世界中の大多数の人々が、今やソーシャル・ネットワーキング・システムを通してオンラインで接続している。ネットワーキング・システムは、複数のエッジによって相互接続された複数のノードを含むソーシャル・グラフを生成し、維持することができる。各ノードは、ソーシャル・ネットワーキング・システムにおけるオブジェクト(たとえば、場所、映画、その他)を表す。オブジェクトは、ユーザ・オブジェクトを含むことができる。複数のエッジの各々は、2つのノード間の個別の種類の接続を表す。
この構造化データは、ネットワーキング・システムのユーザのために意味のあるブラウザ体験をレンダリングするために有用であり得る。開発者は、ソーシャル・グラフに新しいコンテンツを公開して、構造化データを拡大し、ソーシャル・グラフにおいてオブジェクトをエッジでリンクすることができる。ユーザは、構造化データ内で、グラフ検索をクエリし、生成することができる。
しかしながら、開発者がソーシャル・グラフに新しいコンテンツを公開するアプリケーションを作成するとき、フィード・ストーリ、検索結果、および他のタイプの体験においてこの構造化データをレンダリングするために使用されるマシン生成テキストが、ぎこちないセンテンスおよび体験を導くことがある。
フレキシブルなセンテンスを生成するためのメカニズムを備えるソーシャル・ネットワーキング・システムを示す図。 一実施形態による、ソーシャル・ネットワーキング・システムに好適なシステム環境の高レベル・ブロック図。 ソーシャル・ネットワーキング・システムにおいて個別のフレキシブルなセンテンスを生成するためにトークンを使用するブロック図。 開発者プラットフォーム上で個別のフレキシブルなセンテンスの動詞時制を構成するためのオプションの例を示す図。 開発者プラットフォーム上で個別のフレキシブルなセンテンスの時制を編集するためのオプションの例を示す図。 開発者プラットフォーム上で個別のフレキシブルなセンテンスの時制を編集するためのオプションの例を示す図。 開発者プラットフォーム上で個別のフレキシブルなセンテンスのための属性を選択するためのオプションの例を示す図。 ソーシャル・ネットワーキング・システムにおいて、個別のフレキシブルなセンテンス構文を生成するために使用され得る一組の動作を示す流れ図。 本開示のいくつかの実施形態がそれを用いて利用され得るコンピュータ・システムの例を示す図。
本開示の実施形態は、アプリケーションを通してアクタ(行為者)によって実施された
、関係またはアクションを表すために、フレキシブルで自然な響きのセンテンスを生成するための多様な方法およびシステムを提供する。センテンスは、アプリケーションによって、ソーシャル・グラフに公開される。これらのセンテンスは、ニュースフィード・ストーリ、検索結果、プロフィール・ストーリにおいて、または、ソーシャル・ネットワーク・システム上で、もしくはソーシャル・ネットワーク・システムの外で発生する他の体験において現れることができる。一実施形態において、アクタは、ソーシャル・ネットワーク・システムにおけるオブジェクトとして表されてよく、アクションまたは関係は、エッジとして表されてよい。通常、デフォルト・センテンス構造は、アクタ、エッジ、アクタが対話するターゲット、およびアクタに代わってソーシャル・ネットワーク・システム上でセンテンスを公開したアプリケーションを含む。たとえば、以下のストーリがソーシャル・ネットワーク・システムに公開されてよい:「サムは、グッドリーズ(Goodreads)で、風の名前(The Name of the Wind)を読み終えた」。この例において、アクタは「サム」、エッジは「読み終えた」、ターゲットは「風の名前」(書籍)、およびアプリケーションは「グッドリーズ」である。
一定の状況においては、デフォルト・センテンス構造が、ぎこちない、またはコンテキストを欠くことがある。たとえば、ある彼女が、フィットネス・アプリケーションを通じて、自分がハイキングを終了したことを示した場合、公開されるセンテンスは、これまでは「ケリーは、ハイキング・コースをハイキングした(Kelly hiked a hiking trail)」のようであり得る。この例においては、「ケリー」がアクタ、「ハイキングした」がエッジ、および「ハイキング・コース」がターゲットである。デフォルト・センテンス構造は、冗長で、すっきりしないセンテンスをもたらす。別の例において、これまでは、ある彼が、自分があるアーティストをソングキック(Songkick;コンサートを見つけるアプリケーション)で追跡したことを示したが、しかしながら、これは「クリスチャンは、ソングキック.comでミューズを追跡した(Christen tracked Muse on Songkick.com)」となるので明瞭ではなかった。このように、デフォルト・センテンスは、十分なコンテキストをセンテンスに提供しない。
本明細書で説明されるように、システムは、ソーシャル・ネットワーク・システムによって公開されるセンテンスのための構文をカスタマイズするための開発者インタフェースを含むプラットフォームを含む。インタフェースは、アプリケーションの開発者が、そのアプリケーションによって公開されるエッジを表すセンテンスの構造を制御するのを可能にする。センテンス構文を[アクタ][エッジ][ターゲット]に限定する代わりに、開発者は、トークンを使用して、公開されることになるターゲットの性質(property)を表すことができる。たとえば、「ケリーは、ハイキング・コースをハイキングした」の代わりに、よりすっきりしたバージョンは、「ケリーは、約5.6キロメートル(3.5マイル)ハイキングした。彼女を激励しよう!」であってよい。この例において、構文は、[アクタ][エッジ][ターゲット.長さ(target.length)]である。「彼女を激励しよう!(Give her a pat on the back!)」は、より自然で、記述的で、ソーシャルに実用的である。このセンテンスは、センテンスからターゲットそれ自体を省略し、ターゲットの性質を使用し、任意の自由なテキストを含んで、センテンスがよりソーシャル・アクション可能なものに聞こえるようにしている。アクタ、エッジ、およびターゲットの各々は、異なる状況の下では異なって表現されてよい。
さらに、システムはまた、必要に応じて、アクタ、エッジ、またはターゲットの性質を表すトークンをセンテンスの中に挿入する、自由な文字列を挿入する、およびトークンを省略するためのオプションを含む。
定義されたエッジおよびターゲットに基づいて、プラットフォームは、特定の開発者が定義するための一組のフレキシブルなセンテンスを生成することができる。プラットフォームは、開発者が、アクタ、エッジ、ターゲット、自由なテキスト文字列、またはそれらの任意の組合せのうちの1または複数の性質を、フレキシブルなセンテンス構文に挿入することを可能とする。プラットフォームは、フレキシブルなセンテンス構文における性質に関して派生形が計算されることをさらに可能とすることができる。プラットフォームは、開発者が、フレキシブルなセンテンス構文を公開する/レンダリングする異なる状況のために複数のセンテンス構成を定義することを含む、フレキシブルなセンテンス構文において任意の要素を省略する、および/または再配列することを可能とする。
いくつかの実施形態において、エッジ・トークンおよび/またはターゲット・トークンを開発者が選択するために、さまざまなオプションが開発者インタフェースによって提供される。たとえば、トークンは、チェック・ボックス・リスト、ドロップ・ダウン・メニュー、選択リスト、ボタンのリスト、複数層メニュー・レベル、またはそれらの任意の組合せにおいて提供され得る。別の例では、開発者がエッジまたはオブジェクト(たとえば、アクタまたはターゲット)の前に開き中括弧(「{」)をタイプするとき、エッジまたはオブジェクトの性質表現を含むドロップ・ダウン・ボックスが、開発者が選択するために表示されてもよい。
いくつかの実施形態において、ユーザの間で人気の異なるレベルによるエッジ・トークンおよび/またはターゲット・トークンを区別するために、色分けが使用されてもよい。いくつかの実施形態において、開発者が選択したエッジおよびオブジェクトに基づいて、複数の関係のあるセンテンスが生成され、開発者が再検討するために、その対応する通用範囲(coverage)のパーセンテージと一緒に表示され得る。複数のセンテンスは、それらがどのくらい頻繁に発生したかに基づいて、優先順位を付けられることが可能である。いくつかの実施形態において、所定の閾値を上回る通用範囲のパーセンテージを有するセンテンスが、ネットワークI/O遅延を最小限にするために、開発者デバイスにプリ・フェッチされてよい。
いくつかの実施形態において、開発者は、アクティビティの要約をアグリゲーションにおいて一度に公開することができる。開発者は、ギャラリー・タイプ、テーブル、リスト、マップ、またはそれらの任意の組合せを含むことができる、異なるタイプのアグリゲーションから選択することができる。いくつかの実施形態において、開発者が個別のフレキシブルなセンテンスのエッジおよびターゲットを選ぶとき、複数のアグリゲーションが、開発者が選択するために自動的に生成されてよい。
いくつかの実施形態において、開発者は、一組の「エッジ構成」から選択することによって、個別のセンテンスを構成することができる。一組のエッジ構成は、限定はされないが、1対1、ターゲット・タイトルなしの1対1、1対2、1対多、ターゲット・タイトルなしの1対2/多、2対1、多対1、その他を含むことができる。
いくつかの実施形態において、異なるエッジ構成を有する個別のフレキシブルなセンテンスを開発者がプレビューするために、プレビュー・ボックスが提供されてよい。いくつかの実施形態において、プレビュー・ボックスは、異なるプラットフォームを使用するアクタの友達によってセンテンスがどのように知覚され得るのかを開発者が視覚化するために、これらのプラットフォーム上で個別のフレキシブルなセンテンスの表示をシミュレートすることができる。
いくつかの実施形態において、開発者は、個別のフレキシブルなセンテンスの時制をカスタマイズすることができる。個別のセンテンスにおける動詞の時制は、過去時制、複数
過去時制、現在時制、複数現在時制、継続時制、完了時制、完了継続時制、および命令時制などを含むことができる。いくつかの実装形態において、開発者は、個別のフレキシブルなセンテンスのエッジのために1または複数の時制を選ぶことができる。いくつかの実施形態において、開発者のアプリケーションがどのようにストーリに帰され得るかを開発者がカスタマイズするために、属性トークンが提供され得る。
いくつかの実施形態において、開発者は、モバイル・ウェブ、iOS(登録商標)、Android(登録商標)、デスクトップ・ウェブ、および/または、Windows(登録商標)OS、Linux(登録商標)、もしくはUnix(登録商標)上に存在するアプリケーションから、個別のフレキシブルなセンテンスを公開することができる。
数々の実施形態が開示されるが、本開示のなおも他の実施形態が、本発明の説明的な実施形態を示し、説明する、以下の詳細な説明から、当業者には明らかになるであろう。気付かれるように、本発明は、さまざまな態様における変更形態が、すべて本開示の範囲から逸脱することなく可能である。それに応じて、図面および詳細な説明は、説明的なものとみなされるべきであり、限定としてみなされるべきではない。
本開示の実施形態は、付随する図面の使用を通して、説明され、明らかにされることになる。
図面は、必ずしも一定の縮尺で描かれてはいない。たとえば、図における要素のうちのいくつかの寸法は、本開示の実施形態の理解の向上に役立つように、拡大される、または縮小されることがある。同様に、いくつかのコンポーネントおよび/または動作は、本開示の実施形態のうちのいくつかの議論の目的のために、異なるブロックの中に分離されても、単一のブロックの中に組み合わされてもよい。その上、本発明は、さまざまな変更形態および代替形態に適しているが、個別の実施形態が、図面の中で例として示されており、下記で詳細に説明される。しかしながら、その意図は、本発明を説明される特定の実施形態に限定することではない。反対に、本発明は、添付の特許請求の範囲によって定義される本発明の範囲内に入るすべての変更形態、均等形態、および代替形態を対象とするように意図されている。
本開示のさまざまな実施形態は、一般に、ユーザにソーシャル・ネットワーキング体験を提供することに関する。より具体的には、本開示のさまざまな実施形態は、ソーシャル・ネットワーキング・システムにおいてフレキシブルなセンテンスを提供するためのシステムおよび方法に関する。過去において、開発者が選択したアクタ、エッジ、およびターゲットは、センテンスまたはストーリの中に公開されることが可能であった。しかしながら、マシン生成テキストが、ぎこちない言葉遣い含むセンテンス、または公開後の読者にとって適当なコンテキストを欠くセンテンスをもたらしていた。たとえば、一定のソーシャル・ネットワーキング・システム上で利用可能なNike+アプリケーションなどの、エクササイズ・アプリケーションについて考える。エクササイズ・アプリケーション内で、ユーザがタスクに関係したなんらかのエクササイズを開始したとき、または終了したとき、エクササイズ・アプリケーションは、デフォルト・センテンス構文に基づいて、投稿するためのテキストを生成することになる。これは、「ハイキングをハイキングする」、または「ランニングを走る」などの、エッジとターゲットとが重複されたセンテンスの生成をもたらすことがあった。対照的に、本開示のさまざまな実施形態は、読者が容易に理解することができるフレキシブルなセンテンスを生成する。
一実施形態において、アプリケーション開発者は、アクタ、ターゲット、エッジ、およびアグリゲーション・コンポーネントを含む、個別のフレキシブルなセンテンスのための構文を定義することができる。個別のフレキシブルなセンテンスのエッジおよび/またはオブジェクト(たとえば、アクタまたはターゲット)の性質表現を開発者が定義するため
に、トークンが提供される。定義されたオブジェクトおよびエッジ、ならびにその対応する同義語に基づいて、プラットフォームは、開発者が選択するための一組のフレキシブルなセンテンス構文を自動的に生成することができる。開発者は、個別のフレキシブルなセンテンスのエッジおよび/またはオブジェクトをさらにカスタマイズするために、より多くの性質表現を追加することができる。個別のフレキシブルなセンテンスは、アプリケーションによって公開されるストーリおよびセンテンスが、タイムライン、ニュースフィード、および/またはソーシャル・ネットワーキング・システムにおける他の場所にどのように現れることができるのかを、開発者が制御するのを可能にする。
本明細書で説明される例は、ネットワーキング・システムに言及するが、本説明は、本開示の範囲を限定するものとして取られるべきではない。本発明の趣旨から変わることなく、さまざまな代替形態、変更形態、および均等形態が、当業者には明らかであろう。たとえば、フレキシブルなセンテンスを生成する方法は、アプリケーションを公開する、および/もしくはストーリを投稿する際の任意のユーザ・デバイス上で、または、ユーザにサービスを提供するためのコンピューティング・システム上で実装されてよい。別の例では、フレキシブルなセンテンスを生成する方法は、ウェブ・サーバ・システムを有する任意のコンピューティング・システムにおいて実装されてもよい。ウェブ・サーバ・システムは、HBase、MySQL、FoxPro、IBM DB2、Linter、Microsoft SQL Server、Oracle、PostgreSQL、SQLite、その他などの、データベース管理システム(DBMS)を含むことができる。
図1は、フレキシブルなセンテンスを開発し、レンダリングするためのメカニズムを備えるソーシャル・ネットワーキング・システム100を示す。ソーシャル・ネットワーキング・システム100は、ユーザが、ソーシャル・ネットワーキング・システムのコンテキスト内とコンテキストの外部との両方で、オブジェクトおよび他のユーザと対話するのを可能にするメカニズムを提供する。ソーシャル・ネットワーキング・システム100は、ソーシャル・グラフ102を含む。ソーシャル・グラフ102は、エッジ106などのエッジを介して接続されたオブジェクト104などの複数のオブジェクトを含む。ソーシャル・グラフ102のオブジェクト104は、ユーザ、ページ、グループ、企業、ユーザが対話することができる他のエンティティ、またはそれらの任意の組合せなどの、ソーシャル・ネットワーキング・システム100内のエンティティを表すことができる。エッジ106は、オブジェクト間の関係を表す。関係は、方向性があってよい。たとえば、関係を作成することを担当するオブジェクトは、アクタ108と考えられてよい。関係を受けることにおいて受動的であるオブジェクトは、ターゲット110と考えられてよい。しかしながら、単一のオブジェクトの中へと導くエッジがあり、単一のオブジェクトから外へと導くエッジがある場合には、単一のオブジェクトが、アクタ108およびターゲット110の両方と考えられてもよい。ソーシャル・グラフ102は、下記でさらに説明される。
フレキシブルなセンテンスを開発し、レンダリングするために、ソーシャル・ネットワーキング・システム100を動作させる1または複数の方法は、下記で説明されるモジュールおよびストアによって実装されてよい。モジュールは、ハードウェア・コンポーネント、ソフトウェア・モジュール、またはそれらの任意の組合せとして実装されてよい。たとえば、説明されるモジュールは、マシン上のプロセッサまたはコントローラによって実行されることが可能な、非一時的なメモリ上の命令として実装されるソフトウェア・モジュールであってよい。
モジュールの各々は、個々に、かつ他のモジュールから独立して動作することができる。モジュールのうちのいくつか、またはすべては、同じホスト・デバイス上で実行されても、別個のデバイス上で実行されてもよい。別個のデバイスは、その動作を調整するため
に、通信モジュールを介して結合され得る。モジュールのうちのいくつか、またはすべては、1つのモジュールとして組み合わされてもよい。単一のモジュールはまた、サブ・モジュールに分割されてもよく、各サブ・モジュールが、単一のモジュールの別個の1または複数の方法ステップを実施する。モジュールは、メモリ空間へのアクセスを共有することができる。1つのモジュールが、別のモジュールによってアクセスされた、または別のモジュールによって変換されたデータにアクセスすることができる。モジュールは、直接的にまたは間接的に、物理接続または仮想接続を共有する場合に、互いに「結合される」と考えられてよく、1つのモジュールからアクセスされた、または変更されたデータが、別のモジュールにおいてアクセスされるのを可能にする。ソーシャル・ネットワーキング・システム100は、さまざまなアプリケーションのための、追加の、より少ない、または異なるモジュールを含むことができる。
下記で説明されるストレージまたは「ストア」は、ネットワーク・アクセス可能なデータベースを稼働させることなどによって、デジタル・データを記憶するための、ハードウェア・コンポーネントまたはハードウェア・コンポーネントの部分である。ストレージの各々は、単一の物理エンティティであってもよいし、複数の物理デバイスを通して分散されてもよい。ストレージの各々は、別個の物理デバイス上にあってもよいし、同じ1または複数の物理デバイスを共有してもよい。ストアの各々は、個別のストレージ空間をランタイム・アプリケーションに割り当てることができる。
ソーシャル・ネットワーキング・システム100は、フレキシブルなセンテンス管理システム150を含むことができる。フレキシブルなセンテンス管理システム150は、ソーシャル・ネットワーキング・システム100上で稼働することができるソーシャル・ネットワーキング・アプリケーション152の開発者を支援する。ソーシャル・ネットワーキング・アプリケーション152はまた、別個のサーバ・システム上の外部モジュールを、ソーシャル・ネットワーキング・システム100のように稼働させることができる。ソーシャル・ネットワーキング・アプリケーション152はその場合、下記で説明されるように、ソーシャル・ネットワーキング・システム100のグラフ・アプリケーション・プログラミング・インタフェース(API)サーバを介して、ソーシャル・ネットワーキング・システム100と通信することができる。ソーシャル・ネットワーキング・アプリケーション152は、ソーシャル・ネットワーキング・システム100のユーザに、追加の特徴を提供するモジュールである。ソーシャル・ネットワーキング・アプリケーション152の一部は、ソーシャル・ネットワーキング・システム100内でソーシャル・グラフ102の進化を記述するセンテンスを公開することによって、ユーザと対話することができる。
フレキシブルなセンテンス管理システム150は、開発者インタフェース・モジュール154を含み、開発者インタフェース・モジュール154は、コンピュータ・システムまたはコンピュータ機能を備える電子デバイスなどの開発者デバイス155上で、フレキシブルなセンテンスを構成するための開発者インタフェースを生成し、提供する。たとえば、開発者インタフェースは、開発者が、ソーシャル・ネットワーキング・アプリケーション152によって公開され得るフレキシブルなセンテンス構文156を生成することを可能とする。たとえば、開発者インタフェースは、開発者が、アクタ108などのアクタ、エッジ106などのエッジ、ターゲット110などのターゲット、追加の不変もしくは可変のテキスト・テンプレート、またはそれらの任意の組合せを、フレキシブルなセンテンス構文156の中に挿入することを可能とする。フレキシブルなセンテンス構文156の構成は、ソーシャル・ネットワーキング・アプリケーション152の一部として記憶されても、フレキシブルなセンテンス管理システム150上に記憶されても、またはその両方でもよい。フレキシブルなセンテンス構文156の構成は、あらかじめ構成されたフレキシブルなセンテンスを保有するセンテンス・テンプレート・ストア158に基づくことが
できる。
フレキシブルなセンテンス管理システム150は、フレキシブルなセンテンス構文156のランタイム・インスタンスをレンダリングするセンテンス・レンディション・モジュール160をさらに含む。ソーシャル・ネットワーキング・アプリケーション152が実行されるとき、フレキシブルなセンテンス構文156は、ニュースフィード・ストーリを投稿する、またはモバイル通知を生成するなどのソーシャル・ネットワーキング・アプリケーション152に代わって、ソーシャル・グラフの表現をレンダリングするために使用される。
フレキシブルなセンテンス構文156は、エッジ構成によって編成されてよい。各フレキシブルなセンテンス構文156は、エッジ構成に対して特異的であってよい。たとえば、ソーシャル・ネットワーキング・アプリケーション152は、ソーシャル・ネットワーキング・アプリケーション152にサブスクライブする、またはソーシャル・ネットワーキング・アプリケーション152を稼働する、ソーシャル・ネットワーキング・システム100にログオンしている特定のユーザに基づいて、アクタを検出することができる。アクタは、特定のユーザ、特定のユーザの友達、またはソーシャル・ネットワーキング・システム100によって決められたように特定のユーザに関係のある任意の他のアクタであってよい。フレキシブルなセンテンス構文156のエッジ構成に合うエッジが、フレキシブルなセンテンスのレンダリングされたインスタンスにレンダリングされてよい。一実施形態において、センテンス・レンディション・モジュール160は、ソーシャル・ネットワーキング・アプリケーション152の一部である。
開発者インタフェースは、開発者が、アクタ、エッジ、ターゲット、またはそれらの任意の組合せの性質を、フレキシブルなセンテンス構文156の中に挿入することを可能とする。開発者インタフェースは、アクタ、エッジ、またはターゲットの演算された性質の挿入をさらに可能とする。たとえば、開発者は、アクタが一週間以内にハイキングしたいくつかのハイキングをアグリゲートするストーリについて、要素「[合計(ターゲット.長さ)]」を含むフレキシブルなセンテンス構文156を構成することができる。キーワード「合計」は、フレキシブルなセンテンス構文156内に置かれ得る演算関数である。フレキシブルなセンテンスのインスタンスがセンテンス・レンディション・モジュール160によってレンダリングされるとき、演算が遂行され、結果として生じた数が、レンダリングされたインスタンスのテキストの一部になる。
開発者インタフェースは、同じセンテンスにおける複数のアクタ、エッジ、およびターゲットの挿入を含む、フレキシブルなセンテンス構文156の構築を可能とする。たとえば、レンダリングされたフレキシブルなセンテンスのインスタンスは、「ジョーとジルは、今週、2つのコースをハイキングし、3つの市を自転車で横断し、約19.3キロメートル(12マイル)ジョギングした」を含むことができる。たとえば、フレキシブルなセンテンス構文156は、[アクタ#1]および[アクタ#2]、[エッジ#1]および[エッジ#2]、エッジ#1.ターゲット(edge#1.targets)のカウントの演算関数、ならびにエッジ#2.ターゲット.距離(edge#2.targets.distance)の合計の演算関数を含むことができる。
開発者インタフェースは、開発者が、「彼女を激励しよう!」などの自由な文字列を、フレキシブルなセンテンス構文156に挿入することを可能とする。レンダリング時に動的に表現が埋められるに代えて、自由な文字列は、ランタイムで逐語的に表現される。開発者インタフェースは、開発者が、フレキシブルなセンテンス構文156における要素のうちのいずれかを省略し、再配列するのを可能にする。
開発者インタフェースは、異なる状況のために、フレキシブルなセンテンス構文156における複数のセンテンス構成の定義をさらに可能とする。複数のセンテンス構成は、センテンス・レンディション・モジュール160によってレンダリングされるとき、異なる状況の下でのフレキシブルなセンテンス構文156の異なるレンディションを考慮する。たとえば、異なる状況は、フレキシブルなセンテンス構文156が、ニュースフィードのためにレンダリングされているとき、パーソナル・タイムラインのためにレンダリングされているとき、または検索結果としてレンダリングされているときを含む。フレキシブルなセンテンス構文156をレンダリングするための異なるフォーラムは別にして、異なる状況はまた、フレキシブルなセンテンス構文156のエッジ構成下で適格であるユーザ・アクションの異なる数のアグリゲーションにおける違いを含む。たとえば、ユーザが一週間に一度のハイキングよりも多くハイキングしているときに対して、ユーザが一度だけハイキングしているときである。異なる状況は、エッジ構成のタイミングにおける違いをさらに含むことができる。たとえば、状況は、エッジが過去に起きた関係を指すとき(たとえば、ジョーはディアブロ山コースをハイキングした)、エッジが起きている関係を指すとき(たとえば、ジョーは、タム山をハイキングし始めた)、または、エッジが未来に起きる関係を指すとき(たとえば、ジョーは、5月にイタリアに旅行することを計画している)を含む。
ソーシャル・ネットワーキング・システム概要
フレキシブルなセンテンス管理システム150は、任意のデータ共有システムにおいて利用され得る。とりわけ、フレキシブルなセンテンス管理システム150は、ソーシャル・ネットワーキング・システム100などのソーシャル・ネットワーキング・システムにおいて利用され得る。ソーシャル・ネットワーキング・システムは、通例、ユーザが、ソーシャル・ネットワーキング・システムのコンテキスト内とコンテキストの外部との両方で、オブジェクトおよび他のユーザと対話するのを可能にするメカニズムを提供する。ソーシャル・ネットワーキング・システム・ユーザは、個人、または企業もしくは他の人以外のエンティティなどの任意の他のエンティティであってよい。ソーシャル・ネットワーキング・システムは、ユーザがソーシャル・ネットワーキング・システム・オブジェクトおよび情報と対話するのを表示し、可能にする、一連の相互接続されたページを含むウェブ・ベースのインタフェースを利用することができる。たとえば、ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システム・ユーザによって登録された、またはソーシャル・ネットワーキング・システム・ユーザに関連したオブジェクトおよび情報(たとえば、ユーザの「プロフィール」)を含む、各ソーシャル・ネットワーキング・システム・ユーザのためのページを表示することができる。ソーシャル・ネットワーキング・システムはまた、写真もしくはビデオを保有するページ、概念専用のページ、同様の関心を持つユーザ(「グループ」)専用のページ、あるいは、他のユーザへの、他のユーザからの、もしくは他のユーザによる通信またはソーシャル・ネットワーキング・システム・アクティビティを保有するページを保有することができる。ソーシャル・ネットワーキング・システム・ページはまた、他のソーシャル・ネットワーキング・システム・ページへのリンクを保有することができ、検索、リアル・タイム通信、コンテンツ・アイテム・アップローディング、購入、広告、および任意の他のウェブ・ベースの技術もしくは性能などの追加の性能を含むことができる。ソーシャル・ネットワーキング・システム・インタフェースは、ウェブ・ブラウザ・アプリケーション、または専用のソーシャル・ネットワーキング・システムのモバイル・デバイス・アプリケーションもしくはコンピュータ・アプリケーションなどの非ウェブ・ブラウザ・アプリケーションから、アクセス可能であってよいことに留意されたい。本明細書で使用されるときの「ページ」は、ウェブページ、アプリケーション・インタフェースもしくはアプリケーション表示、ウェブページもしくはアプリケーション上で表示されるウィジェット、ボックスもしくは他のグラフィカル・インタフェース、別のページ(ソーシャル・ネットワーキング・システムのコンテキスト内またはコンテキストの外のいずれであれ)上のオーバーレイ・ウィンド
ウ、または、ソーシャル・ネットワーキング・システム・プラグ・インもしくは統合性能を備えるソーシャル・ネットワーキング・システムの外部のウェブページであってよい。
上記で議論されたように、ソーシャル・グラフは、エッジ(対話、アクティビティ、関係性を表す)によって相互接続された、一組のノード(ソーシャル・オブジェクトとしても知られるソーシャル・ネットワーキング・システム・オブジェクトを表す)を含む。ソーシャル・グラフにおける各ノードは、別のノードに作用し得る、および/または別のノードによって作用され得る、何かを表すことができる。ソーシャル・ネットワーキング・システム・オブジェクトは、ソーシャル・ネットワーキング・システム・ユーザ、人以外のエンティティ、コンテンツ・アイテム、グループ、ソーシャル・ネットワーキング・システム・ページ、ロケーション、アプリケーション、サブジェクト、概念、または映画、バンド、もしくは書籍などの他のソーシャル・ネットワーキング・システム・オブジェクトであってよい。コンテンツ・アイテムは、ソーシャル・ネットワーキング・システム・ユーザまたは他のオブジェクトが作成する、アップロードする、編集する、または対話することができるどんなものも含み、たとえば、メッセージ、キューに入ったメッセージ(たとえば、電子メール)、テキストおよびSMS(ショート・メッセージ・サービス)メッセージ、コメント・メッセージ、任意の他の好適なメッセージング技法を使用して送られたメッセージ、HTTPリンク、HTMLファイル、画像、ビデオ、オーディオ・クリップ、文書、文書編集、カレンダー・エントリもしくはイベント、および他のコンピュータ関連ファイルを含む。ソーシャル・グラフのコンテキストにおいて、サブジェクトおよび概念は、任意の人、場所、もの、または抽象的観念を表すノードを含む。ソーシャル・グラフにおける2つのノード間のエッジは、ノードのうちの1つによって他のノードに実施されたアクションから生じ得る、またはそうでなければ、ノード/オブジェクト間の関係を記述する、2つのノード間の特定の種類の接続を表す。
ソーシャル・ネットワーキング・システムは、ユーザが、ユーザの関心に関連した情報、教育および職歴、連絡先情報、および他の経歴情報を、ユーザのプロフィール・ページに登録し、表示するのを可能にすることができる。各学校、雇用者、関心(たとえば、音楽、書籍、映画、テレビ番組、ゲーム、政治的見解、哲学、宗教、グループ、またはファン・ページ)、地理的ロケーション、ネットワーク、またはプロフィール・ページに保有される任意の他の情報は、ソーシャル・グラフにおけるノードによって表されてよい。ソーシャル・ネットワーキング・システムは、ユーザが、写真、ビデオ、文書、歌、または他のコンテンツ・アイテムをアップロードする、または作成するのを可能にすることができ、ユーザが、イベントを作成し、スケジュールするのを可能にすることができる。コンテンツ・アイテムおよびイベントは、ソーシャル・グラフにおけるノードによって表されてよい。
ソーシャル・ネットワーキング・システムは、ソーシャル・ネットワーキング・システム内で人以外のオブジェクトと対話するための多様な手段を提供することができる。たとえば、ユーザは、ソーシャル・ネットワーキング・システム内で、グループを形成する、もしくはグループに加入する、またはファン・ページのファンになることができる。加えて、ユーザは、ソーシャル・ネットワーキング・システム・オブジェクトを作成する、ダウンロードする、閲覧する、アップロードする、それにリンクする、タグ付けする、編集する、またはプレイすることができる。ユーザは、ソーシャル・ネットワーキング・システムのコンテキストの外でソーシャル・ネットワーキング・システム・オブジェクトと対話することができる。たとえば、ニュース・ウェブ・サイト上の記事が、ユーザがクリックすることができる「いいね」ボタンを有していることがある。これらの事例の各々において、ユーザとオブジェクトとの間の対話は、ユーザのノードをオブジェクトのノードに接続する、ソーシャル・グラフにおけるエッジによって表されてよい。ユーザは、ロケーション検出機能(モバイル・デバイス上のGPS受信機など)を使用して、特定のロケー
ションに「チェック・イン」することができ、エッジは、ソーシャル・グラフにおいてユーザのノードをロケーションのノードに接続することができる。
ソーシャル・ネットワーキング・システムは、ユーザが、自分自身をソーシャル・ネットワーキング・システムの他のユーザに関連付け、他のユーザとの接続を確立するのを可能にする。2人のユーザがソーシャル・ネットワーキング・システムにおいて接続を明示的に確立するとき、ユーザらは、ソーシャル・ネットワーキング・システムのコンテキスト内で「友達」(または「つながり」)になる。ソーシャル・ネットワーキング・システムにおいて友達になることは、そうでない場合に接続されていないユーザに対して利用可能であるよりも多くの、互いについての情報に、ユーザがアクセスするのを可能にすることができる。たとえば、友達になることは、ユーザが、別のユーザのプロフィールを閲覧する、別のユーザの友達を見る、または別のユーザの写真を閲覧するのを可能にすることができる。同様に、ソーシャル・ネットワーキング・システム内で友達になることは、電子メール(ソーシャル・ネットワーキング・システムの内部および外部)、インスタント・メッセージ、テキスト・メッセージ、電話、または任意の他の通信インタフェースなどによって、ユーザに、別のユーザと通信するためのより多くのアクセスを可能にすることができる。友達になることは、別のユーザのアップロードしたコンテンツ・アイテムを閲覧する、それにコメントする、ダウンロードする、支持する、または別のやり方でそれと対話するための、ユーザ・アクセスを可能にすることができる。接続を確立すること、ユーザ情報にアクセスすること、通信すること、およびソーシャル・ネットワーキング・システムのコンテキスト内で対話することは、2人のソーシャル・ネットワーキング・システム・ユーザを表すノード間のエッジによって表されてよい。
ソーシャル・ネットワーキング・システムにおいて接続を明示的に確立することに加えて、コミュニケーションの話題を決定するのに使用するためのソーシャル・コンテキストを決定する目的のために、共通の特性を持つユーザ同士が接続される(ソフトな接続または非明示的な接続など)と考えられてよい。一実施形態において、共通のネットワークに属するユーザ同士が接続されると考えられる。たとえば、共通の学校に通う、共通の会社で仕事をする、または共通のソーシャル・ネットワーキング・システム・グループに属するユーザ同士が接続されると考えられてよい。一実施形態において、共通の経歴特性を持つユーザ同士が接続されると考えられる。たとえば、ユーザが生まれた、または暮らした地理領域、ユーザの年齢、ユーザの性別、およびユーザの関係ステータスが、ユーザ同士が接続されるかどうかを決定するために使用されてよい。一実施形態において、共通の関心を持つユーザ同士が接続されると考えられる。たとえば、ユーザの映画の好み、音楽の好み、政治的見解、宗教的見解、または任意の他の関心が、ユーザ同士が接続されるかどうかを決定するために使用されてよい。一実施形態において、ソーシャル・ネットワーキング・システム内で共通のアクションを取っているユーザ同士が接続されると考えられる。たとえば、共通のオブジェクトを支持する、または推奨するユーザ同士、共通のコンテンツ・アイテムにコメントするユーザ同士、または、共通のイベントへの返事を出すユーザ同士が、接続されると考えられてよい。下記でより詳細に説明されるように、ソーシャル・ネットワーキング・システムは、特定のユーザのコミュニケーションのソーシャル・コンテキストを決定する、または評価するために、ソーシャル・グラフを利用して、特定のユーザに接続されるユーザを決定することができる。
ソーシャル・ネットワーキング・システムは、多様な通信チャネルをユーザに提供することができる。たとえば、ソーシャル・ネットワーキング・システムは、ユーザが、1人または複数の他のユーザに電子メール、インスタント・メッセージ、またはテキスト/SMSメッセージを送るのを可能にすることができ、ユーザが、ユーザのウォールもしくはプロフィールに、または別のユーザのウォールもしくはプロフィールにメッセージを投稿するのを可能にすることができ、ユーザが、グループまたはファン・ページにメッセージ
を投稿するのを可能にすることができ、あるいは、ユーザが、ユーザもしくは別のユーザによって作成された、もしくはアップロードされた、画像、ウォール投稿、または他のコンテンツ・アイテムにコメントするのを可能にすることができる。一実施形態において、ユーザは、最新のイベント、心理の状態、考え、フィーリング、アクティビティ、または任意の他の現在時間に関係のある通信を示すステータス・メッセージを、ユーザのプロフィールに投稿する。ソーシャル・ネットワーキング・システムは、ユーザが、ソーシャル・ネットワーキング・システム内と、ソーシャル・ネットワーキング・システムの外部との両方で通信するのを可能にすることができる。たとえば、第1のユーザが、第2のユーザに、ソーシャル・ネットワーキング・システム内でメッセージを送り、ソーシャル・ネットワーキング・システムを通して電子メールを送り、ソーシャル・ネットワーキング・システムの外部の、しかしソーシャル・ネットワーキング・システムから発信した電子メールを送り、ソーシャル・ネットワーキング・システム内でインスタント・メッセージを送り、かつソーシャル・ネットワーキング・システムの外部の、しかしソーシャル・ネットワーキング・システムから発信したインスタント・メッセージを送ることができる。さらに、第1のユーザは、第2のユーザのプロフィール・ページにコメントすることができる、または、第2のユーザによってアップロードされたコンテンツ・アイテムなどの、第2のユーザに関連付けられたオブジェクトにコメントすることができる。
ソーシャル・ネットワーキング・システム環境およびアーキテクチャ
次に図2を参照すると、一実施形態による、ソーシャル・ネットワーキング・システム202に好適なシステム環境200の高レベル・ブロック図が示されている。図2に示されるシステム環境200は、ソーシャル・ネットワーキング・システム202と、クライアント・デバイス204Aと、ネットワーク・チャネル206とを含む。システム環境200は、クライアント・デバイス204Bおよびクライアント・デバイス204Cなどの他のクライアント・デバイスも同様に含むことができる。たとえば、クライアント・デバイス204は、図1の開発者デバイス155を含むことができる。他の実施形態において、システム環境200は、図2によって示されるものとは異なるコンポーネントおよび/または追加のコンポーネントを含むことができる。ソーシャル・ネットワーキング・システム202は、図1のソーシャル・ネットワーキング・システム100であってよい。
下記でさらに説明されるソーシャル・ネットワーキング・システム202は、ユーザおよび/または他のオブジェクトに、ならびにユーザと他のユーザとの間、および/またはユーザと他のオブジェクトとの間の接続に関連付けられたユーザ・プロフィールを記憶する、1または複数のコンピューティング・デバイスを含む。使用において、ユーザは、ソーシャル・ネットワーキング・システム202に加入し、次いでユーザが接続されたいと所望する、ソーシャル・ネットワーキング・システムの他のユーザまたはオブジェクトへの接続を追加する。図2と併せて下記でさらに説明されるように、ソーシャル・ネットワーキング・システム202のユーザは、個人、または企業、組織、大学、製造業者などのエンティティであってよい。ソーシャル・ネットワーキング・システム202は、そのユーザ同士が互いに、ならびにソーシャル・ネットワーキング・システム202によって維持される他のオブジェクトと対話するのを可能にする。いくつかの実施形態において、ソーシャル・ネットワーキング・システム202は、ユーザが、第三者ウェブサイトおよび金融アカウント・プロバイダと対話するのを可能にする。
ユーザ、オブジェクト、ならびにユーザおよび/またはオブジェクトの間の接続について記憶されたデータに基づいて、ソーシャル・ネットワーキング・システム202は、複数のエッジによって相互接続された複数のノードを含む「ソーシャル・グラフ」を生成し、維持する。ソーシャル・グラフにおける各ノードは、別のノードに作用し得る、および/または別のノードによって作用され得る、オブジェクトまたはユーザを表す。ソーシャル・グラフにおける2つのノード間のエッジは、ノードのうちの1つによって他のノード
に実施されたアクションから生じることができる、2つのノード間の特定の種類の接続を表す。たとえば、あるユーザが追加のユーザを友達として識別するとき、第1のユーザを表すノードと、追加のユーザを表す追加のノードとを接続する、ソーシャル・グラフにおけるエッジが生成される。生成されたエッジは、ユーザ同士が友達であることを示す接続タイプを有する。さまざまなノードが互いに対話するとき、ソーシャル・ネットワーキング・システム202は、その対話を反映するように、さまざまなノードを接続するエッジを追加する、および/または変更する。
クライアント・デバイス204Aは、ユーザ入力を受信することが可能な、ならびにネットワーク・チャネル206を介してデータを送信および/または受信することが可能なコンピューティング・デバイスである。一実施形態において、クライアント・デバイス204Aは、デスクトップ・コンピュータまたはラップトップ・コンピュータなどの従来のコンピュータ・システムである。別の実施形態において、クライアント・デバイス204Aは、携帯情報端末(PDA)、モバイル電話、タブレット、スマート・フォン、または同様のデバイスなどの、コンピュータ機能を有するデバイスであってよい。さらに別の実施形態において、クライアント・デバイス204Aは、クラウド・コンピューティング・サービス上で稼働する仮想化されたデスクトップであってもよい。クライアント・デバイス204Aは、ネットワーク・チャネル206を介して、ソーシャル・ネットワーキング・システム202および/または金融アカウント・プロバイダと通信するように構成されている。一実施形態において、クライアント・デバイス204Aは、クライアント・デバイス204Aのユーザがソーシャル・ネットワーキング・システム202と対話するのを可能にするアプリケーションを実行する。たとえば、クライアント・デバイス204Aは、ネットワーク・チャネル206を介したクライアント・デバイス204Aとソーシャル・ネットワーキング・システム202との間の対話を可能とするために、ブラウザ・アプリケーションを実行する。別の実施形態において、クライアント・デバイス204Aは、IOS(登録商標)またはANDROID(登録商標)などの、クライアント・デバイス204Aのネイティブ・オペレーティング・システム上で稼働するアプリケーション・プログラミング・インタフェース(API)を通して、ソーシャル・ネットワーキング・システム202と対話する。
クライアント・デバイス204Aは、ネットワーク・チャネル206を介して通信するように構成されており、ネットワーク・チャネル206は、有線および無線の両方の通信システムを使用する、ローカル・エリア・ネットワークおよび/またはワイド・エリア・ネットワークの任意の組合せを含むことができる。一実施形態において、ネットワーク・チャネル206は、標準の通信技術および/または通信プロトコルを使用する。したがって、ネットワーク・チャネル206は、イーサネット(登録商標)、802.11、ワールドワイド・インターオペラビリティ・フォー・マイクロウェーブ・アクセス(WiMAX)、3G、4G、CDMA、デジタル・サブスクライバ・ライン(DSL)、その他などの技術を使用するリンクを含むことができる。同様に、ネットワーク・チャネル206上で使用されるネットワーキング・プロトコルは、マルチプロトコル・ラベル・スイッチング(MPLS)、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)、ユーザ・データグラム・プロトコル(UDP)、ハイパーテキスト・トランスポート・プロトコル(HTTP)、シンプル・メール転送プロトコル(SMTP)、およびファイル転送プロトコル(FTP)を含むことができる。ネットワーク・チャネル206上で交換されるデータは、ハイパーテキスト・マークアップ言語(HTML)または拡張可能なマークアップ言語(XML)を含む技術および/またはフォーマットを使用して表されてよい。加えて、リンクのすべて、またはいくつかは、セキュア・ソケット・レイヤ(SSL)、トランスポート・レイヤ・セキュリティ(TLS)、およびインターネット・プロトコル・セキュリティ(IPSec)などの従来の暗号化技術を使用して暗号化されてもよい。
図2によって示されるソーシャル・ネットワーキング・システム202は、プロフィール・ストア210と、コンテンツ・ストア212と、アクション・ロガー214と、アクション・ログ216と、エッジ・ストア218と、金融アカウント・ストア220と、フレキシブルなセンテンス管理システム222と、ウェブ・サーバ224と、メッセージ・サーバ226と、API要求サーバ228とを含む。他の実施形態において、ソーシャル・ネットワーキング・システム202は、さまざまなアプリケーションのための、追加の、より少ない、または異なるモジュールを含むことができる。ネットワーク・インタフェース、セキュリティ・メカニズム、ロードバランサ、フェイルオーバ・サーバ、管理およびネットワーク動作コンソール、その他などの従来のコンポーネントは、システム・アーキテクチャの詳細を曖昧にしないように、示されていない。
ソーシャル・ネットワーキング・システム202の各ユーザは、プロフィール・ストア210に記憶されたユーザ・プロフィールに関連付けられている。ユーザ・プロフィールは、ユーザによって明示的に共有された、そのユーザについての宣言的情報を含み、ソーシャル・ネットワーキング・システム202によって推測されるプロフィール情報もまた含むことができる。一実施形態において、ユーザ・プロフィールは、複数のデータ・フィールドを含み、各データ・フィールドは、ソーシャル・ネットワーキング・システム202の対応するユーザの1または複数の属性を記述する。プロフィール・ストア210に記憶されたユーザ・プロフィール情報は、職歴、学歴、性別、趣味または好み、ロケーション、その他などの、経歴の、人口統計の、および他のタイプの記述的情報を含んで、ソーシャル・ネットワーキング・システム100のユーザを記述する。ユーザ・プロフィールはまた、ユーザによって提供される他の情報、たとえば、画像またはビデオを記憶することができる。一定の実施形態において、ユーザの画像が、ある画像に表示されたソーシャル・ネットワーキング・システム202のユーザの識別情報にタグ付けされてもよい。プロフィール・ストア210におけるユーザ・プロフィールはまた、コンテンツ・ストア212におけるコンテンツ・アイテム上で実施され、エッジ・ストア218に記憶された、対応するユーザによるアクションへの参照を維持することができる。
下記でさらに説明されるように、ユーザ・プロフィールは、1または複数の金融アカウントに関連付けられて、ユーザ・プロフィールが、金融アカウントから取り出される、または金融アカウントから得られるデータを含むのを可能にすることができる。ユーザは、ユーザ・プロフィールに記憶される1または複数のプライバシー設定を指定することができ、プライバシー設定は、ソーシャル・ネットワーキング・システム202がアクセスすることを許可される金融アカウントからの情報を限定する。たとえば、プライバシー設定は、ソーシャル・ネットワーキング・システム202を、最新のアカウント残高にではなく、金融アカウントのトランザクション履歴にアクセスすることに限定する。別の例として、プライバシー設定は、ソーシャル・ネットワーキング・システム202を、金融アカウントのトランザクション履歴のサブセットに限定して、指定された時間範囲内のトランザクション、閾値トランザクション量未満を伴うトランザクション、指定されたベンダー識別子に関連付けられたトランザクション、指定されたベンダー識別子以外のベンダー識別子に関連付けられたトランザクション、またはソーシャル・ネットワーキング・システム202によってアクセス可能である、ユーザによって識別された金融アカウントからの情報を限定する任意の好適な基準に、ソーシャル・ネットワーキング・システム202がアクセスするのを可能にする。一実施形態において、金融アカウントからの情報は、プロフィール・ストア210に記憶される。他の実施形態において、情報は、金融アカウント・ストア220に記憶されてもよい。
コンテンツ・ストア212は、画像、ビデオ、またはオーディオ・ファイルなどの、ユーザ・プロフィールに関連付けられたコンテンツ・アイテムを記憶する。コンテンツ・ス
トア212からのコンテンツ・アイテムは、ユーザ・プロフィールが閲覧されるとき、またはユーザ・プロフィールに関連付けられた他のコンテンツが閲覧されるときに表示されてよい。たとえば、表示されたコンテンツ・アイテムは、ユーザ・プロフィールに関連付けられた画像もしくはビデオを見せる、またはユーザのステータスを記述するテキストを見せることができる。追加として、他のコンテンツ・アイテムは、ユーザが、自分の接続を他のユーザに拡大するように、新しいユーザをシステムに招待するように、または、ソーシャル・ネットワーキング・システム202のユーザ、オブジェクト、アクティビティ、または機能に関係したコンテンツを表示することによってソーシャル・ネットワーク・システムとの対話を増加させるように奨励することによって、ユーザ関与を促進することができる。ソーシャル・ネットワーキング・コンテンツ・アイテムの例は、提案された接続または他のアクションを実施するための提案、ソーシャル・ネットワーキング・システム202に提供される、またはソーシャル・ネットワーキング・システム202によって維持されるメディア(たとえば、写真またはビデオ)、ユーザによってソーシャル・ネットワーキング・システムに投稿されたステータス・メッセージまたはリンク、イベント、グループ、ページ(たとえば、団体または商用エンティティを表す)、および、ソーシャル・ネットワーキング・システムによって提供される、またはソーシャル・ネットワーキング・システムを介してアクセス可能な任意の他のコンテンツを含む。
コンテンツ・ストア212はまた、プロフィール・ストア210にユーザ・プロフィールを有するエンティティに関連付けられた1または複数のページを含む。エンティティは、企業、ベンダー、組織、または大学などの、ソーシャル・ネットワーキング・システム202の非個人ユーザである。ページは、エンティティに関連付けられたコンテンツと、コンテンツをソーシャル・ネットワーキング・システム・ユーザに提示するための命令とを含む。たとえば、ページは、エンティティのユーザ・プロフィールに関連付けられたコンテンツ、ならびにブランド・ページを閲覧するユーザにどのようにコンテンツを提示するかを記述する情報を識別する。ベンダーが、コンテンツ・ストア212におけるページに関連付けられて、ソーシャル・ネットワーキング・システム・ユーザが、ソーシャル・ネットワーキング・システム202を介してベンダーとより簡単に対話するのを可能にすることができる。ベンダー識別子は、ベンダーのページに関連付けられて、ソーシャル・ネットワーキング・システム202が、ベンダーを識別する、および/または、プロフィール・ストア210、アクション・ログ216から、もしくはベンダー識別子を使用する任意の他の好適なソースから、ベンダーについての追加の情報を取り出すのを可能にする。いくつかの実施形態において、コンテンツ・ストア212はまた、記憶されたオブジェクトに関連付けられた1または複数のターゲティング基準を記憶し、そのオブジェクトが提示される資格があるユーザの1または複数の特性を識別することができる。
アクション・ロガー214は、ソーシャル・ネットワーキング・システム202をオンおよび/またはオフにするユーザ・アクションについての通信を受信して、ユーザ・アクションについての情報でアクション・ログ216をポピュレートする。そのようなアクションは、たとえば、別のユーザへの接続を追加すること、別のユーザにメッセージを送ること、画像をアップロードすること、別のユーザからのメッセージを読むこと、別のユーザに関連付けられたコンテンツを閲覧すること、別のユーザによって投稿されたイベントに出席することを、とりわけ含むことができる。いくつかの実施形態において、アクション・ロガー214は、1または複数のプライバシー設定を条件として、ユーザに関連付けられた金融アカウントからのトランザクション情報を受信し、トランザクション情報からユーザ・アクションを識別する。たとえば、アクション・ロガー214は、金融アカウントのトランザクション履歴からベンダー識別子を取り出し、ベンダー識別子に関連付けられた、ソーシャル・ネットワーキング・システムにおけるページなどのオブジェクトを識別する。これは、コンテンツ・ストア212におけるページ、または別のオブジェクトに関連付けられた製品またはサービスのユーザの購入を、アクション・ロガー214が識別
するのを可能にする。加えて、他のオブジェクトに関連して記述されるいくつかのアクションは、特定のユーザに向けられており、そのため、これらのアクションは、それらのユーザにも同様に関連付けられている。これらのアクションは、アクション・ログ216に記憶される。
さまざまな実施形態に従って、アクション・ロガー214は、ソーシャル・ネットワーキング・システム200をオンおよび/またはオフにするユーザ・アクションについて、ウェブ・サーバ224からの通信を受信することが可能である。アクション・ロガー214は、ユーザ・アクションを追跡するために、ユーザ・アクションについての情報でアクション・ログ216をポピュレートする。この情報は、ユーザに関連付けられたプライバシー設定を条件とすることができる。特定のユーザが別のユーザに対して取る任意のアクションは、アクション・ログ216などのデータベース、または他のデータ・リポジトリに維持される情報を通して、各ユーザのプロフィールに関連付けられる。そのようなアクションは、たとえば、他のユーザへの接続を追加すること、他のユーザにメッセージを送ること、他のユーザからのメッセージを読むこと、他のユーザに関連付けられたコンテンツを閲覧すること、別のユーザによって投稿されたイベントに出席すること、フォトの中で別のユーザにタグ付けされること、エンティティに対して「いいね」を表明すること、その他を含むことができる。
アクション・ログ216は、ソーシャル・ネットワーキング・システム202上だけでなく、ソーシャル・ネットワーキング・システム202に情報を通信する外部ウェブサイト上のユーザ・アクションを追跡するために、ソーシャル・ネットワーキング・システム202によって使用されてよい。ユーザは、投稿にコメントすること、リンクを共有すること、およびモバイル・デバイスを介して物理的なロケーションにチェック・インすること、コンテンツ・アイテムに順番にアクセスすること、または他の対話を含む、ソーシャル・ネットワーキング・システム202上のさまざまなオブジェクトと対話することができる。これらのアクションを記述する情報は、アクション・ログ216に記憶される。アクション・ログ216に含まれるソーシャル・ネットワーキング・システム202上のオブジェクトとの対話の追加の例は、フォト・アルバムにコメントすること、ユーザ間での通信、ミュージシャンのファンになること、カレンダーにイベントを追加すること、グループに加入すること、ブランド・ページのファンになること、イベントを作成すること、アプリケーションを認可すること、アプリケーションを使用すること、およびトランザクションに関与することを含む。追加として、アクション・ログ216は、ソーシャル・ネットワーキング・システム202上の広告とのユーザの対話、ならびにソーシャル・ネットワーキング・システム202上で動作するアプリケーションとのユーザの対話を記録する。いくつかの実施形態において、アクション・ログ216からのデータは、ユーザの関心または好みを推測するために使用されて、ユーザ・プロフィールに含まれる関心を増やし、ユーザの好みのより完全な理解を可能にする。
さらに、ソーシャル・ネットワーキング・システム200上の特定のコンテンツにアクセスするのをユーザが見せられたとき、または見られたときなどの、特定のコンテキストにおいて起きたユーザ・アクションが、特定のコンテキストと共にキャプチャされ、ログされる。たとえば、特定のユーザは、その特定のユーザが固定された時間の期間の間にソーシャル・ネットワーキング・システム200にアクセスした度に、候補ユーザに関する情報を見せられる/見せられないことが可能である。この時間の期間の間にユーザによって取られたいかなるアクションも、コンテキスト情報(すなわち、候補ユーザが特定のユーザに提供された/提供されなかった)と共にログされ、アクション・ログ216に記録される。加えて、他のオブジェクトに関連して下記で説明されるいくつかのアクションは、特定のユーザに向けられており、そのため、これらのアクションは、それらのユーザにも同様に関連付けられている。
アクション・ログ216はまた、外部ウェブサイトに対して取られた、および/またはユーザに関連付けられた金融アカウントから決定された、ユーザ・アクションを記憶することができる。たとえば、スポーツ用具を特価で主に販売するe−コマース・ウェブサイトは、e−コマース・ウェブサイトがソーシャル・ネットワーキング・システム202のユーザを識別することを可能とするソーシャル・プラグインを通して、ソーシャル・ネットワーキング・システム202のユーザを認めることができる。ソーシャル・ネットワーキング・システム202のユーザは一意に識別可能なので、このスポーツ用具小売店などのe−コマース・ウェブサイトは、ユーザが小売店のウェブサイトを訪問するとき、これらのユーザについての情報を使用することができる。アクション・ログ216は、ウェブページ閲覧履歴、関与された広告、行われた購入、ならびにショッピングおよび買い付けからの他のパターンを含む、これらのユーザについてのデータを記録する。ユーザに関連付けられた金融アカウントのトランザクション履歴からアクション・ロガー214によって識別されたアクションは、アクション・ログ216が、追加のタイプのユーザ・アクションについてのさらなる情報を記録するのを可能にする。
一実施形態において、エッジ・ストア218は、ソーシャル・ネットワーキング・システム202上のユーザと他のオブジェクトとの間の接続を記述する情報を、エッジ・オブジェクトに記憶する。エッジ・ストア218は、図1のソーシャル・グラフ108などの、上記で説明されたソーシャル・グラフを記憶することができる。いくつかのエッジは、ユーザによって定義されて、ユーザが他のユーザとの自分の関係を指定するのを可能にすることができる。たとえば、ユーザは、友達、同僚、パートナー、その他などの、ユーザの実生活関係と並行した他のユーザとのエッジを生成することができる。他のエッジは、ソーシャル・ネットワーキング・システム上のページに関心を表現する、ソーシャル・ネットワーキング・システムの他のユーザとリンクを共有する、およびソーシャル・ネットワーキング・システムの他のユーザによって行われた投稿にコメントするなどの、ユーザがソーシャル・ネットワーキング・システム202におけるオブジェクトと対話するときに生成される。エッジ・ストア218は、オブジェクト、関心、および他のユーザに対する親近度スコアなどの、エッジについての情報を含むエッジ・オブジェクトを記憶する。ユーザによって実施されたアクションに基づいて、ソーシャル・ネットワーキング・システム202におけるオブジェクト、関心、および他のユーザに対するユーザの親近度を概算するために、親近度スコアは、ソーシャル・ネットワーキング・システム202によって経時的に演算されてよい。一実施形態において、ユーザと個別のターゲットとの間の同じタイプの複数の対話が、エッジ・ストア218における1つのエッジ・オブジェクトに記憶されてよい。いくつかの実施形態において、ユーザ間の接続は、プロフィール・ストア210に記憶されてもよく、またはプロフィール・ストア210が、ユーザ間の接続を決定するために、エッジ・ストア218にアクセスしてもよい。ユーザは、あらかじめ定義されたタイプの接続から選択する、または、必要に応じてユーザ独自の接続タイプを定義することができる。
ウェブ・サーバ224は、ネットワークを介して、ソーシャル・ネットワーキング・システム200を1または複数のクライアント・デバイスにリンクし、ウェブ・サーバ224は、ウェブページ、ならびにJava(登録商標)、Flash、XML、その他などの他のウェブ関係コンテンツをサービスする。ウェブ・サーバ224は、メッセージ・サーバ226と通信することができ、メッセージ・サーバ226は、ソーシャル・ネットワーキング・システム200とクライアント・デバイスとの間で、メッセージを受信し、ルーティングする機能を提供する。メッセージ・サーバ226によって処理されるメッセージは、インスタント・メッセージ、キューに入ったメッセージ(たとえば、電子メール)、テキスト・メッセージおよびSMS(ショート・メッセージ・サービス)メッセージ、または任意の他の好適なメッセージング技法であってよい。いくつかの実施形態において
、ユーザによって別のユーザに送られたメッセージが、たとえば、メッセージを受信するユーザの接続によって、ソーシャル・ネットワーキング・システム200のその他のユーザらによって閲覧され得る。メッセージの受信者の他に、ソーシャル・ネットワーキング・システムのその他のユーザらによって閲覧され得るメッセージのタイプの一例が、ウォール投稿である。いくつかの実施形態において、ユーザは、ある別のユーザによってのみ取り出されることができるプライベート・メッセージを、その別のユーザに送ることができる。
API要求サーバ228は、外部システムが、APIを呼び出すことによって、ソーシャル・ネットワーキング・システム200からの情報にアクセスするのを可能にする。ソーシャル・ネットワークによって提供される情報は、ユーザ・プロフィール情報、またはユーザの個々のプライバシー設定によって決定されるようなユーザの接続情報を含むことができる。たとえば、ユーザがソーシャル・ネットワーキング・システム内で接続を形成する確率を予想することに関心のあるシステムが、ネットワークを介して、ソーシャル・ネットワーキング・システム200にAPI要求を送ることができる。API要求は、API要求サーバ228によって、ソーシャル・ネットワーキング・システム200で受信される。API要求サーバ228は、適切な応答を決定することによって要求を処理し、応答は次いで、ネットワークを介して要求するシステムに通信し戻される。
ソーシャル・ネットワーキング・システム202はまた、フレキシブルなセンテンス管理システム222を含む。フレキシブルなセンテンス管理システム222は、図1のフレキシブルなセンテンス管理システム150であってよい。ソーシャル・ネットワーキング・システム202上で稼働するアプリケーションのために、フレキシブルなセンテンスを開発し、フレキシブルなセンテンスをレンダリングするために、フレキシブルなセンテンス管理システム222は、ソーシャル・ネットワーキング・システム202のストアおよびモジュールにアクセスすることができる。フレキシブルなセンテンスが開発されると、フレキシブルなセンテンス管理システム222はまた、ソーシャル・ネットワーキング・システム202の他のモジュールおよびストアと連携して、フレキシブルなセンテンス構成に基づいて、レンダリングされたフレキシブルなセンテンスを、クライアント・デバイス204Aに表示することができる。
図3は、図1のソーシャル・ネットワーキング・システム100、または図2のソーシャル・ネットワーキング・システム200などの、ソーシャル・ネットワーキング・システム300において、個別のフレキシブルなセンテンスを生成するためのトークンを使用するブロック図を示す。一組のフレキシブルなセンテンス構文が、開発者インタフェース上で構成され、次いでソーシャル・ネットワーキング・システムのソーシャル・グラフ・データからレンダリングされてよい。
ソーシャル・ネットワーキング・システム300は、図2のユーザ・デバイス204などのユーザ・デバイスと対話するためのグラフAPIサーバ228などのグラフAPIサーバを含む。グラフAPIサーバは、ソーシャル・ネットワーキング・システム300におけるユーザ・プロフィールおよびアクティビティの記録を促進することができる。いくつかの実施形態において、ユーザ・プロフィールはプロフィール・ストア210に、アクティビティはアクション・ログ216に、それぞれ記憶されてよい。ユーザ・プロフィールは、限定はされないが、特定のユーザの名前またはユーザ識別子(UID)、プロフィール写真、性別、誕生日、ネットワーク、友達リスト、ロケーション、言語、国、「いいね」、お気に入りのブランド、ニュース、アウトレット、レストラン、特定のユーザが全員と共有するために選ぶ任意の情報、またはそれらの任意の組合せを含むことができる。
開発者によって開発されたアプリケーションは、ソーシャル・ネットワーキング・シス
テム300と対話するために、ソーシャル・ネットワーキング・システム300に記憶されたソーシャル・グラフを利用することができる。たとえば、アプリケーションは、グラフAPIサーバを通して、図2のエッジ・ストア218にアクセスすることができる。図3は、アプリケーションを通してソーシャル・グラフからの情報を表現するために、アプリケーションを構成する際の個別の開発者インタフェースを示す。
ソーシャル・ネットワーキング・システム300は、図2のクライアント・デバイス204などのデバイス上でインスタンス化される、図1の開発者インタフェース・モジュール154によって生成された開発者インタフェースなどの開発者プラットフォーム310を生成することができる。開発者プラットフォーム310は、図1のソーシャル・ネットワーキング・アプリケーション152のための図1のフレキシブルなセンテンス構文156などの、アプリケーションのためのフレキシブルなセンテンス構文を、開発者が構成するのを可能にする。フレキシブルなセンテンス構文は、ソーシャル・ネットワーキング・システム300上のユーザ・アカウントによって実施されるアクションを解釈し、それらのアクションを意味のあるやり方で表現するために、アプリケーションによって使用される。解釈されたアクションは、グラフAPIサーバを通してアクション・ログ216から、またはエッジ・ストアからアクセスされてよい。開発者プラットフォーム310は、ソーシャル・ネットワーキング・システム300と、直接、またはグラフAPIサーバを通して間接的に通信することができる。
いくつかの実施形態において、開発者プラットフォーム310は、ソーシャル・ネットワーキング・システム300におけるフレキシブルなセンテンスを開発者が生成するために、複数のオプションを提供する。開発者は、個別のフレキシブルなセンテンスの「アクタ」、「エッジ」、および「ターゲット」を入力することによって、始めることができる。たとえば、開発者は、「アクタ」、「エッジ」、および「ターゲット」を、それらの対応するテキスト・ボックスの中にタイプすることによって、定義することができる。いくつかの実施形態において、「アクタ」テキスト・ボックスには、開発者のアプリケーションを使用するユーザの名前があらかじめ書き入れられている。特定のユーザが、それを他の名前に変更する、または他の友達を追加することができる。
開発者プラットフォーム310上では、1つもしくは複数のエッジ・トークン321〜329(すなわち、エッジについての変数)、および/または、1つもしくは複数のターゲット・トークン331〜339(すなわち、ターゲットについての変数)を開発者が選ぶために、オプションが提供される。1または複数のエッジ・トークン321〜329は、個別のフレキシブルなセンテンスにおける「エッジ」の性質表現を定義するために使用され得る。開発者は、個別のセンテンスの「エッジ」をさらに定義するために、エッジ・トークン321〜329を選ぶことができる。エッジ・トークン321〜329は、数多くのやり方で開発者に提示されてよい。たとえば、エッジ・トークン321〜329は、チェック・ボックス・リスト、ドロップ・ダウン・メニュー、選択リスト、ボタンのリスト、複数層メニュー・レベル、またはそれらの任意の組合せで提供され得る。別の例では、開発者が、「エッジ」の前に開き中括弧(「{」)などのあらかじめ定義された文字をタイプするとき、「エッジ」に関連付けられた性質表現を開発者が選択するために、ドロップ・ダウン・ボックスが表示されてもよい。
1または複数のターゲット・トークン331〜339は、個別のフレキシブルなセンテンスにおける「ターゲット」の性質表現を定義するために使用され得る。開発者は、個別のフレキシブルなセンテンスの「ターゲット」をさらに定義するために、ターゲット・トークン331〜339を選ぶことができる。ターゲット・トークン331〜339は、チェック・ボックス・リスト、ドロップ・ダウン・メニュー、選択リスト、ボタンのリスト、複数層メニュー・レベル、またはそれらの任意の組合せなどのオプションを介して、開
発者に提示され得る。
いくつかのエッジ・トークンおよびターゲット・トークンは、ソーシャル・ネットワーキング・システム300におけるユーザによって、他のトークンよりも頻繁に使用されることがある。いくつかの実施形態において、エッジ・トークンおよびターゲット・トークンは、ユーザおよび/または開発者による使用頻度の異なるレベルを有するトークンを区別するために、色分けされてもよい。
いくつかの実施形態において、開発者が選択したエッジおよび/またはターゲットに基づいて、開発者プラットフォーム310は、開発者が選択するための複数のセンテンスを自動的に生成することができる。各センテンスは、その対応する通用範囲のパーセンテージと共に提示されてよい。個別のセンテンスの通用範囲のパーセンテージは、所与の時間フレームにわたって、個別のセンテンスがソーシャル・ネットワーキング・システム300におけるユーザによって閲覧されているインプレッションによって決定される。インプレッションは、限定はされないが、インプレッション総数(すなわち、受信されたインプレッションの数)、照会総数(referral)(すなわち、すべてのチャネルにわたるクリック総数)、フィード・インプレッション(すなわち、ユーザのニュースフィードにおいて閲覧されたインプレッションの数)、フィード照会(すなわち、ユーザのニュースフィードにおいて閲覧されたクリックの数)、ティッカー・インプレッション(すなわち、ユーザのティッカーにおいて閲覧されたインプレッションの数)、ティッカー照会(すなわち、ユーザのティッカーにおいて閲覧されたクリックの数)、その他を含むことができる。
いくつかの実施形態において、個別のセンテンスのパーセンテージ通用範囲はまた、個別のセンテンスの割合に依存することができる。個別のセンテンスの割合は、「いいね」を表明する、コメントする、および「いいね」を取り消す、その他などの、ソーシャル・ネットワーキング・システム300におけるユーザからのフィードバックに基づいて決定されることが可能である。
複数のセンテンスは、その対応する通用範囲のパーセンテージに基づいて、優先順位を付けられることが可能である。最も高い通用範囲のパーセンテージを有するセンテンスが、最も上位にリストにされ得る。いくつかの実施形態において、通用範囲のパーセンテージは、色分けされてもよい。個別の色が、通用範囲のパーセンテージの特定のレベルに指示される。
いくつかの実施形態において、エッジが定義されるとき、ネットワークI/O遅延を最小限にするために、所定の閾値を上回るその対応するパーセンテージ通用範囲を有する関係のあるセンテンスが、開発者デバイス上にプリ・フェッチされることが可能である。
いくつかの実施形態において、開発者は、アクティビティの要約をアグリゲーションにおいて一度に公開するために、ソーシャル・ネットワーキング・システム30上で稼働するアプリケーションを構成することができる。開発者プラットフォーム310は、開発者に、選択するための異なるアグリゲーション・タイプを提供することができる。アグリゲーション・タイプは、限定はされないが、ギャラリー・タイプ、テーブル、リスト、マップ、またはそれらの任意の組合せを含むことができる。たとえば、エッジが「料理する」である場合、アグリゲーションは、特定のユーザが最近料理したすべてのものをリストにすることができる。
いくつかの実施形態において、エッジおよびターゲットが選択されるとき、開発者プラットフォーム310は、開発者に、選択するための複数のアグリゲーションを提供するこ
とができる。たとえば、個別のセンテンスのエッジおよびターゲットが、「歌を聴く」である場合、アグリゲーションは、特定のユーザのお気に入りのアルバム、お気に入りのプレイリスト、および/またはお気に入りのアーティストを含むことができる。開発者は、アグリゲーションをカスタマイズし、ソーシャル・ネットワーキング・システム300における他のユーザによってアグリゲーションがどのように知覚され得るかを視覚化するために、カスタマイズされたアグリゲーションをプレビューすることができる。たとえば、開発者は、お気に入りアルバムをギャラリー・タイプの中にアグリゲートするように、ソーシャル・ネットワーキング・システム100上で稼働するアプリケーションを構成することができる。
図4Aは、図3の開発者プラットフォーム310などの開発者プラットフォーム400上で、個別のフレキシブルなセンテンスの動詞時制を構成するためのオプションの例を示す。開発者は、複数のエッジ構成410から選択することによって、個別のフレキシブルなセンテンスを構成することができる。エッジ構成410は、限定はされないが、1対1(たとえば、「ジョン(John)は、ソーシャル・ハイキングで、hike.titleをハイキングした」)、ターゲット・タイトルなしの1対1(たとえば、「ジョンは、ソーシャル・ハイキングで、ハイキングをハイキングした」)、1対2(たとえば、「ジョンは、ソーシャル・ハイキングで、hike1.titleおよびhike2.titleをハイキングした」)、1対多(たとえば、「ジョンは、ソーシャル・ハイキングで、hike1.titleと5つの他のハイキングをハイキングした」)、ターゲット・タイトルなしの1対2/多(たとえば、「ジョンは、ソーシャル・ハイキングで、5つのハイキングをハイキングした」)、2対1(たとえば、「ジョンとメアリーは、ソーシャル・ハイキングで、hike.titleをハイキングした」)、および多対1(たとえば、「ジョンと他3人は、ソーシャル・ハイキングで、hike.titleをハイキングした」)を含むことができる。各エッジ構成410は、図1のフレキシブルなセンテンス構文156などのフレキシブルなセンテンス構文として記憶されてよい。
開発者が個別のフレキシブルなセンテンスを公開するとき、公開された個別のセンテンスは、ニュースフィードの中だけではなく、ソーシャル・ネットワーキング・システム300における特定のユーザの友達のユーザ・デバイス115上でティッカーの中にもまた現れることができる。いくつかの実施形態において、開発者は、異なる「エッジ構成」を有するセンテンスをプレビューすることができる。たとえば、開発者プラットフォーム310は、ニュースフィードおよびティッカーの中に個別のフレキシブルなセンテンスを開発者が表示するために、プレビュー・ボックスを提供することができる。通常、ティッカーが有する空間は、ニュースフィードが有するよりも少ない。プレビューに基づいて、開発者は、同じ情報をティッカーの中で伝えるように、センテンスを短くしなければならないことがある。
いくつかの実施形態において、プレビュー・ボックスは、異なるプラットフォーム上のユーザによって個別のセンテンスおよび/またはニュースフィード・ストーリがどのように知覚され得るかを開発者が視覚化するのに役立てるために、これらのプラットフォーム上の個別のフレキシブルなセンテンスまたはニュースフィード・ストーリの表示をシミュレートすることができる。
図4B〜図4Cは、開発者プラットフォーム400上で個別のフレキシブルなセンテンスの時制を編集するためのオプションの例を示す。図4Bに示されるように、個別のフレキシブルなセンテンスを編集するとき、開発者は、エッジおよびターゲットの性質表現を選ぶためのトークンを使用することができる。たとえば、特定の使用は、エッジ「ハイキングする」の複数の性質表現430を含むドロップ・ダウン・ボックスを持ってくるために、開き中括弧(「{」)420などのあらかじめ定義された文字、プラス「hike」
を使用することができる。開発者は、個別のフレキシブルなセンテンスのエッジ「ハイキングする」に関連付けられた1または複数の性質表現を選ぶことができる。たとえば、性質表現は、ハイキング.タイトル(hike.title)、ハイキング.オーディオ(hike.audio)、ハイキング.説明(hike.description)、ハイキング.決定者(hike.determiner)、ハイカー.画像(hiker.image)、ハイキング.規則(hike.restrictions)、ハイキング.同様に参照(hike.see_also)、ハイキング.サイト名(hike.site_name)、その他などの、エッジ「ハイキングする」に関連付けられたエッジ・トークンを含むことができる。ドロップ・ダウン・ボックスにおけるエッジ・トークンの各々が、選択され、編集され得る。たとえば、開発者は、ハイキング.画像を選択し、エッジ「ハイキングする」に関連した1または複数の画像と共にそれを編集することができる。
いくつかの実施形態において、開発者は、個別のフレキシブルなセンテンスのエッジおよびターゲットをカスタマイズするために、追加の性質表現を追加することができる。たとえば、開発者は、「ハイキングする」エッジについてカスタマイズされた性質として、ハイキング.現地(hike.locale)(たとえば、エッジ「ハイキングする」に関する場所)を追加することができる。別の例では、エッジおよびターゲットが「映画を見る」である場合、開発者は、映画の監督、映画における俳優/女優、映画を封切るスタジオ、映画の特定のサブジェクトまたはジャンル、その他などの性質表現を追加することによって、ターゲット「映画」をカスタマイズすることができる。
いくつかの実施形態において、開発者は、個別のフレキシブルなセンテンスにおいて、特定のユーザが、他のユーザをタグ付けすることを可能とすることができる。他のユーザをタグ付けすることによって、個別のフレキシブルなセンテンスは、タグ付けされたユーザのタイムラインにおいて公開されるだけでなく、タグ付けされたユーザの友達のティッカーおよびニュースフィードにおいてもまた、公開されることが可能である。
たとえば、エッジおよびターゲットが「レシピを料理する」である場合、開発者は、追加のターゲット「材料」を追加することができる。ターゲット「材料」は、画像、ジオポイント、日付、時間、いろいろな材料、ブーリアンおよび/または整数、その他などの、さまざまな異なるタイプであってもよい。レシピがエッグ・ロールである場合、特定の使用は、典型的なエッグ・ロール・レシピのお気に入りの材料(たとえば、エッグ、豚ひき肉、および青タマネギ)を追加することができる。開発者はまた、「誕生日」などの、新しいターゲット・タイプ「行事」を追加することができる。行事は、「料理する」エッジの性質である。開発者はまた、「料理する」エッジの別の性質、「場所」(たとえば、「ジョンの家」)を追加することができる。他のユーザ(たとえば、ジムおよびジェーン)をタグ付けすることによって、個別のセンテンスは、あたかもジムおよびジェーンもまたそのエッジによって表されたアクションを行ったかのように、彼らの友達のティッカーおよびニュースフィードにおいて、公開されることが可能である。開発者は、ターゲット性質表現、たとえば「おいしい」を、個別のセンテンスにさらに追加することができる。ニュースフィードにおいて公開された個別のセンテンスは、「ジョンは、誕生日用に、エッグ、青タマネギ、および豚ひき肉で作られたおいしいエッグ・ロールのレシピを、ジョンの家でジムとジェーンと料理した」のように見えてよい。
いくつかの実施形態において、個別のセンテンスにおけるエッジ(すなわち、動詞)の時制は、動詞を囲むグレー・ボックス上をクリックすることによって、編集され得る。いくつかの実施形態において、プラットフォーム301は、個別のセンテンスの時制を開発者が編集するためのダイアログ・ボックスを提供する。開発者は、ダイアログ・ボックスにおいて動詞それ自体を変化させる(たとえば、「ハイキングした」から、「歩いた」へ
と)ことができる。変化は、そのタイプのすべてのストーリにおいて変化させた動詞をもたらす。
個別のセンテンスにおける動詞の時制は、過去時制、複数過去時制、現在時制、複数現在時制、継続時制、完了時制、完了継続時制、および命令時制などを含むことができる。開発者は、個別のフレキシブルなセンテンスのエッジについて、1または複数の時制を選ぶことができる。たとえば、図4Cに示されるように、開発者は、エッジ「ハイキングする」によるストーリを示すために、過去時制および現在時制の両方440を選ぶことができる。いくつかの実施形態において、開発者の選択がない場合、エッジの名前は、デフォルトによって過去時制で表示されてよい。
図4Dは、開発者プラットフォーム400上で個別のフレキシブルなセンテンスの属性を選択するためのオプションの例を示す。いくつかの実施形態において、開発者のアプリケーションがどのようにストーリに帰されるかを開発者がカスタマイズするために、属性トークン460が提供され得る。属性トークン460は、チェック・ボックス・リスト、ドロップ・ダウン・メニュー、選択リスト、ボタンのリスト、複数層メニュー・レベル、またはそれらの任意の組合せなどのオプションにより選択され得る。図4Dに示されるように、開発者は、個別のフレキシブルなセンテンスを編集するときに、個別の属性「ソーシャル・ハイキングで」463を選択することができる。
実施形態が、開発者プラットフォーム310のコンテキストにおいて説明されてきたが、さまざまな実施形態は、モバイル・ウェブ、iOS(登録商標)、Android(登録商標)、デスクトップ・ウェブ、および/または、Windows(登録商標)OS、Linux(登録商標)、もしくはUnix(登録商標)上に存在するアプリケーションから、個別のフレキシブルなセンテンスを生成し、公開することができる。
図5は、図1のソーシャル・ネットワーキング・システム100、または図2のソーシャル・ネットワーキング・システム202などのソーシャル・ネットワーキング・システムにおいて、個別のフレキシブルなセンテンスを生成するために使用されてよい一組の動作500を示す流れ図を示す。ステップ520で、ソーシャル・ネットワーキング・システムは、開発者デバイス上で個別のフレキシブルなセンテンス構文を開発者が定義するための開発者インタフェースを提供する。
ステップ530で、個別のフレキシブルなセンテンス構文の個別のエッジの性質表現を開発者が選ぶために、1または複数のエッジ・トークンが生成され得る。ステップ540で、個別のフレキシブルなセンテンス構文の個別のターゲットの性質表現を開発者が選ぶために、1または複数のターゲット・トークンが生成され得る。ステップ550で、個別のフレキシブルなセンテンス構文における個別のエッジの時制を開発者が定義するために、時制トークンが生成されてよい。
ステップ560で、個別のエッジ、個別のターゲット、および個別のエッジの定義された時制に基づいて、個別のフレキシブルなセンテンス構文を開発者が決定するために、複数の関係のあるセンテンス構文が生成され得る。複数の関係のあるセンテンス構文は、その対応する通用範囲のパーセンテージにより、優先順位を付けられることが可能である。
いくつかの実施形態において、開発者は、アクティビティの要約を生成して、アグリゲーションにおいて一度に公開することができる。異なるアグリゲーション・タイプが、開発者が選択するために提供されてよい。いくつかの実施形態において、開発者が選択するために、複数のアグリゲーションが自動的に提供され得る。
ステップ570で、個別のフレキシブルなセンテンス構文を開発者がプレビューし、公開するために、プレビュー・オプションが提供され得る。いくつかの実施形態において、個別のフレキシブルなセンテンス構文が、異なるタイプのプラットフォームを使用するユーザによってどのように知覚され得るかを開発者が視覚化するために、プレビュー・ボックスが提供され得る。フレキシブルなセンテンス構文のエッジ構成は、ソーシャル・ネットワーキング・システム上で、エッジ構成をフレキシブルなセンテンス構文として記憶することによって、公開されてよい。たとえば、図2のグラフAPIサーバ228を通してソーシャル・グラフ・データを解釈することによって、図1のセンテンス・レンディション・モジュール160によって、フレキシブルなセンテンス構文のランタイム・レンディションがレンダリングされてよい。センテンスのレンディションは、ソーシャル・ネットワーキング・システム上で新しいエッジを生成する新しいユーザ・アクションに応答して、発生することができる。エッジ構成にマップする各新しいエッジが、レンダリングされたフレキシブルなセンテンス構文の新しいインスタンスの中にレンダリングされてよい。
図5の方法500は、単一のネットワーキング・システムのコンテキストにおいて説明されたが、本開示は、複数のネットワーキング・システムおよび/または複数のサーバを企図している。複数のネットワーキング・システムおよび/または複数のサーバは、単一のロケーション、または多様なロケーションに設置されることが可能である。
図6は、本開示のさらに別の実施形態に従った、コンピュータ・システム600の図を示す。コンピュータ・システム600は、1または複数のバス670を介してそのすべてが相互接続された、少なくとも1つのプロセッサ610と、1または複数のネットワーク・インタフェース630と、1または複数のコンピュータ可読媒体620とを含むことができる。図6において、さまざまなコンポーネントは、説明の簡略化の目的のために省略されている。コンピュータ・システム600は、本明細書で説明された任意の他のコンポーネント(すなわち、図1〜図5において図示されたコンポーネントのうちのいずれか)が実装され得るデバイスを示すように意図されている。
コンピュータ・システム600は、多様な物理的な形態を取ることができる。例として、コンピュータ・システム600は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯情報端末(PDA)、ポータブル・コンピュータ、タブレットPC、ウェアラブル・コンピュータ、対話型キオスク、モバイル・フォン、サーバ、メインフレーム・コンピュータ、メッシュ接続型コンピュータ、シングル・ボード・コンピュータ(SBC)(すなわち、BeagleBoard、PCオン・ア・スティック、Cubieboard、CuBox、Gooseberry、Hawkboard、Mbed、OmapZoom、Origenboard、Pandaboard、Pandora、Rascal、Raspberry Pi、SheevaPlug、Trim−Slice、その他)、埋め込み型コンピュータ・システム、またはこれらの2つ以上の組合せであってよい。適切な場合、コンピュータ・システム600は、単体でもしくは分算された、複数のロケーションに及ぶ、複数のマシンに及ぶ、1つもしくは複数のコンピュータ・システム600、または、1つもしくは複数のネットワークにおいて1つもしくは複数のクラウド・コンポーネントを含むことができるクラウドに常駐する、1つもしくは複数のコンピュータ・システム600を含むことができる。適切な場合、1または複数のコンピュータ・システム600は、本明細書で説明された、または示された、1または複数の方法のうちの1または複数のステップを、実質的な空間的または時間的限定なしに、実施することができる。限定ではなく例として、1または複数のコンピュータ・システム600は、本明細書で説明された、または示された、1または複数の方法のうちの1または複数のステップを、リアル・タイムで、またはバッチ・モードで実施することができる。1または複数のコンピュータ・システム600は、適切な場合、本明細書で説明された、または示された、1または複数の方法のうちの1または複数のステップを、異なる時間に、または異な
るロケーションで実施することができる。
コンピュータ・システム600は、限定はされないが、好ましくは、Windows(登録商標)、Linux(登録商標)、またはUnix(登録商標)などのオペレーティング・システムを含むことができる。オペレーティング・システムは、ファイルを編成し、ファイルの経過を追う、ファイル管理システムを含むことができる。いくつかの実施形態において、別個のファイル管理システムが提供されてよい。別個のファイル管理システムは、オペレーティング・システムとスムーズに対話し、向上したバックアップ手順および/またはより厳重なファイル保護などの、拡張されたおよび/またはより多くの特徴を提供することができる。
少なくとも1つのプロセッサ610は、任意の好適なプロセッサであってよい。少なくとも1つのプロセッサ610のタイプは、中央処理ユニット(CPU)、マイクロプロセッサ、グラフィックス処理ユニット(GPU)、物理処理ユニット(PPU:physics processing unit)、デジタル信号プロセッサ、ネットワーク・プロセッサ、フロント・エンド・プロセッサ、データ・プロセッサ、ワード・プロセッサ、およびオーディオ・プロセッサを含むグループからの1または複数を含むことができる。
1または複数のバス670は、コンピュータ・システム600のコンポーネントを互いに結合するように構成されている。限定ではなく例として、1または複数のバス670は、グラフィックス・バス(すなわち、アクセラレーテッド・グラフィックス・ポート(AGP))、拡張業界標準アーキテクチャ(EISA:Enhanced Industry Standard Architecture)バス、フロント・サイド・バス(FSB)、ハイパー・トランスポート(HT)相互接続、業界標準アーキテクチャ(ISA)バス、Infiniband相互接続、ロー・ピン・カウント(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、周辺コンポーネント相互接続(PCI)バス、PCIエクスプレス(PCI−X)バス、シリアル高度技術アタッチメント(SATA:serial advanced technology attachment)バス、ビデオ電子標準協会ローカル(VLB:Video Electronics Standards Association local)バス、または別の好適なバス、あるいはこれらのうちの2つ以上の組合せを含むことができる。本開示は、特定のバスを説明し、示しているが、本開示は、任意の好適なバスまたは相互接続を企図している。
1または複数のネットワーク・インタフェース630は、モデムまたはネットワーク・インタフェースのうちの1または複数を含むことができる。モデムまたはネットワーク・インタフェースは、コンピュータ・システム600の一部であると考えられ得ることが認識されるであろう。インタフェースは、アナログ・モデム、非対称型デジタル・サブスクライバ・ライン(ADSL)モデム、ケーブル・モデム、ダブルウェイ衛星モデム、電力線モデム、トークン・リング・インタフェース、ケンブリッジ・リング・インタフェース、衛星伝送インタフェース、またはコンピュータ・システムを他のコンピュータ・システムと結合するための任意の好適なインタフェースを含むことができる。インタフェースは、1または複数の入力デバイスおよび/または出力デバイスを含むことができる。I/Oデバイスは、限定ではなく例として、キーボード、マウス、または他のポインティング・デバイス、ディスク・ドライバ、プリンタ、スキャナ、タッチ・スクリーン、タブレット・スクリーン、および他の入力デバイス、および/または表示デバイスを含む出力デバイスを含むことができる。表示デバイスは、限定ではなく例として、陰極線管(CRT)表示装置、液晶表示装置(LCD)、3−D表示装置、またはなんらかの他の適用可能な、知られている、もしくは好都合な表示デバイスを含むことができる。簡略化のために、図6の例に図示されていない任意のデバイスのコントローラが、インタフェースに常駐する
ことが想定されている。
コンピュータ可読媒体620は、プロセッサ610によってアクセス可能な任意のメディア・デバイスを含むことができる。限定ではなく例として、コンピュータ可読媒体620は、揮発性メモリ(すなわち、ランダム・アクセス・メモリ(RAM)、動的RAM(DRAM)、および/または静的RAM(SRAM))、ならびに不揮発性メモリ(すなわち、フラッシュ・メモリ、読み出し専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能なプログラマブルROM(EPROM)、および/または電気的に消去可能なプログラマブルROM(EEPROM))を含むことができる。適切であるとき、揮発性メモリおよび/または不揮発性メモリは、単一ポートの、または複数ポートのメモリであってよい。本開示は、任意の好適なメモリを企図している。いくつかの実施形態において、コンピュータ可読媒体620は、適切な場合、半導体ベースの集積回路もしくは他の集積回路(IC)(すなわち、フィールド・プログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向けIC(ASIC))、ハード・ディスク、HDD、ハイブリッド・ハード・ドライブ(HHD)、光学ディスク(すなわち、CD−ROMもしくはデジタル多用途ディスク(DVD))、光学ディスク・ドライブ(ODD)、磁気光学ディスク、磁気光学ドライブ、フロッピー(登録商標)・ディスク、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ホログラフィック・ストレージ・メディア、ソリッド・ステート・ドライブ(SSD)、セキュア・デジタル(SD)カード、SDドライブ、または別の好適なコンピュータ可読ストレージ・メディア、あるいはこれらのうちの2つ以上の組合せを含むことができる。コンピュータ可読媒体620は、適切な場合、揮発性、不揮発性、または揮発性および不揮発性の組合せであってよい。
プログラム6201は、1または複数のコンピュータ可読媒体620上に記憶されてよい。限定ではなく例として、コンピュータ・システム600は、プログラム6201を、実行のために、1または複数のコンピュータ可読媒体620上の適切なロケーションにロードすることができる。プログラム6201は、実行されるとき、コンピュータ・システム600に、本明細書で説明される、または示される、1つもしくは複数の動作、または1つもしくは複数の方法を実施させることができる。いくつかの実装形態において、動作は、限定はされないが、図5の方法500を含むことができる。
当業者によって認識されるように、動作または方法は、ローカルに(すなわち、1つのローカル・コンピュータ・システム上で)インスタンス化されてもよく、リモート・コンピュータ・システムにわたって分散されてもよい。たとえば、ローカル・コンピュータ・システムの利用可能な演算性能が不十分であること、または追加の演算性能が必要とされることが決定されることがあり、動作の一定の態様をクラウドにオフロードすることができる。
コンピュータ可読媒体は、一実施形態において、単一の媒体であるように示されているが、用語「コンピュータ可読媒体」は、1または複数の組の命令を記憶する、単一の媒体、または複数の媒体(たとえば、集中化された、もしくは分散化されたデータベース、および/または、関連付けられたキャッシュおよびサーバ)を含んで取られるべきである。用語「コンピュータ可読媒体」はまた、コンピュータによる実行のために一組の命令を記憶する、符号化する、または搬送することが可能な、かつ現在開示されている技法および新技術の方法論のうちの任意の1または複数をコンピュータに実施させる、いかなる媒体も含んで取られるものとする。
コンピュータ可読媒体、マシン可読ストレージ媒体、マシン可読媒体、またはコンピュータ可読(ストレージ)媒体のさらなる例は、限定はされないが、とりわけ、揮発性および不揮発性メモリ・デバイス、フロッピー(登録商標)および他のリムーバブル・ディス
ク、ハード・ディスク・ドライブ、光学ディスク、デジタル多用途ディスクなどの記録可能タイプ媒体、ならびに、デジタルおよびアナログ通信リンクなどの伝送タイプ媒体を含む。
いくつかの状況において、2進数の1から2進数の0への状態における変化またはその逆などのメモリ・デバイスの動作は、たとえば、物理的な変換などの変換を含むことがある。特定のタイプのメモリ・デバイスにより、そのような物理的な変換は、異なる状態または異なるものへの物品の物理的な変換を含むことがある。たとえば、限定はせずに、いくつかのタイプのメモリ・デバイスでは、状態における変化は、電荷の累積および貯蔵、または記憶された電荷の開放を伴うことがある。同様に、他のメモリ・デバイスにおいては、状態の変化が、帯磁方向における物理的な変化もしくは変換、または、結晶から非結晶もしくはその逆などの分子構造における物理的な変化もしくは変換を含むことがある。前述の事項は、メモリ・デバイスにおける2進数の1から2進数の0、またはその逆についての状態における変化が、物理的な変換などの変換を含むことがある、すべての例の網羅的なリストであることは意図されていない。むしろ、前述の事項は、説明的な例として意図されている。
ストレージ・メディアは、通常、非一時的であってよい、または非一時的なデバイスを含むことができる。このコンテキストにおいて、非一時的ストレージ・メディアは、有形であるデバイスを含むことがあり、それは、デバイスがその物理的な状態を変化させることがあっても、デバイスは、実際の物理的な形態を有することを意味する。したがって、たとえば、非一時的とは、状態におけるこうした変化にもかかわらず、有形であり続けるデバイスを指す。
コンピュータは、限定はされないが、サーバ・コンピュータ、クライアント・コンピュータ、パーソナル・コンピュータ(PC)、タブレットPC、ラップトップ・コンピュータ、セット・トップ・ボックス(STB)、携帯情報端末(PDA)、セルラ電話、iPhone(登録商標)、iPad(登録商標)、プロセッサ、電話、ウェブ・アプライアンス、ネットワーク・ルータ、スイッチもしくはブリッジ、またはそのマシンによって取られるべきアクションを指定する一組の命令(シーケンシャルに、または別のやり方で)を実行することが可能なあらゆるマシンであってよい。
代替実施形態において、マシンは、スタンドアローン・デバイスとして動作する、または(たとえば、ネットワーク化されて)他のマシンに接続されてもよい。ネットワーク化された展開において、マシンは、クライアント−サーバ環境において、サーバ・マシンまたはクライアント・マシンの役割で動作する、またはピア・ツー・ピア(もしくは分散化された)ネットワーク環境におけるピア・マシンとして、動作することができる。
詳細な説明のうちのある部分は、コンピュータ・メモリ内のデータ・ビットに対する動作のアルゴリズムおよびシンボル表記に関して提示されることがある。これらのアルゴリズムの記述および表記は、データ処理技術における当業者の仕事の実体を、他の当業者に最も効果的に伝えるために、当業者によって使用される手段である。アルゴリズムは、ここで、および一般に、所望の結果へと導く動作の首尾一貫したシーケンスであるとみなされる。動作は、物理量の物理的な操作を必要とするものである。必ずしもではないが、普通、これらの量は、記憶される、転送される、組み合わされる、比較される、および別のやり方で操作されることが可能な、電気的または磁気的な信号の形態を取る。主に共通使用の理由のために、これらの信号を、ビット、値、要素、シンボル、文字、項、数字などと呼ぶことが、時に好都合であることが分かっている。
しかしながら、これらのおよび同様の用語のすべては、適切な物理量に関連付けられる
べきであり、これらの量に適用される好都合なラベルにすぎないことが念頭に置かれるべきである。別段具体的に明記されない限り、以下の議論から明らかであるように、「処理する(processing)」、または「演算する(computing)」または「計算する(calculating)」、または「決定する(determining)」、または「表示する(displaying)」、または「生成する(generating)」、その他などの用語を利用する議論は、コンピュータ・システムまたは同様の電子コンピューティング・デバイスのアクションおよびプロセスを指し、コンピュータ・システムまたは電子コンピューティング・デバイスは、コンピュータ・システムのレジスタおよびメモリ内で、物理的(電子的)量として表されるデータを操作し、コンピュータ・システムのメモリもしくはレジスタ内、または他のそのような情報ストレージ・デバイス、送信デバイス、もしくは表示デバイス内で、同様に物理量として表される他のデータに変換することが、説明の全体を通して認識される。
本明細書で提示されたアルゴリズムおよび表示は、本来的には任意の特定のコンピュータまたは他の装置に関係していない。さまざまな汎用システムが、本明細書の教示に従ってプログラムと共に使用されてよく、または、いくつかの実施形態の方法を実施するためにより特化された装置を構築することが好都合であると分かることがある。多様なこれらのシステムのために要求される構造は、下記の説明から現れることになる。加えて、本技法は、任意の特定のプログラミング言語を参照して説明されておらず、したがってさまざまな実施形態は、多様なプログラミング限度を使用して実装されてよい。
一般に、本開示の実施形態を実装するために実行されるルーチンは、オペレーティング・システムもしくは個別のアプリケーションの一部、コンポーネント、プログラム、オブジェクト、モジュール、または「プログラム」と呼ばれる命令のシーケンスとして実装されてよい。プログラムは、通常、コンピュータのさまざまなメモリおよびストレージ・デバイスにおいて、さまざまな時間に設定される1または複数の命令を含み、コンピュータの1または複数の処理ユニットまたはプロセッサによって読み込まれ、実行されるときに、本開示のさまざまな態様を伴う要素を実行するための動作を、コンピュータに実施させる。
その上、実施形態は、完全に機能しているコンピュータおよびコンピュータ・システムのコンテキストにおいて説明されているが、さまざまな実施形態は、多様な形態におけるプログラム製品として分散されることが可能であり、本開示は、分散を実際に果たすために使用される特定のタイプのコンピュータ可読媒体には関係なく、等しく適用される。
別段コンテキストが明らかに要求しない限り、本説明および特許請求の範囲の全体を通して、単語「含む」(comprise)(comprising)」などは、排他的または網羅的な意味とは対照的に、包括的な意味において釈義されるべきであり、すなわち、「含むが、限定はされない」という意味において釈義されるべきである。本明細書で使用されるとき、用語「接続される(connected)」、「結合される(coupled)」またはそれらの任意の変形は、2つ以上の要素の間の直接的または間接的のいずれかの任意の接続または結合を意味し、要素間の接続の結合は、物理的、論理的、またはそれらの組合せであってよい。追加として、単語「本明細書において(herein)」、「上記で(above)」、「下記で(below)」、および同様の旨の単語は、本出願において使用されるとき、全体としての本出願を指し、本出願の任意の特定の部分を指すものではないとする。コンテキストが許可する場合、単数または複数を使用する上記の詳細な説明における単語はまた、それぞれ複数または単数を含むことができる。単語「または(or)」は、2つ以上のアイテムのリストを参照して、単語の以下の解釈、すなわち、リストにおけるアイテムのいずれか、リストにおけるアイテムのすべて、およびリストにおけるアイテムの任意の組合せのすべてを対象とする。
本開示の実施形態の上記の詳細な説明は、網羅的であるように、または本教示を上記で開示された厳密な形態に限定するようには意図されていない。本開示の個別の実施形態および本開示のための例が説明目的のために上記で説明されたが、当業者が認めるように、本開示の範囲内で、さまざまな均等の変更形態が可能である。たとえば、プロセスまたはブロックが所与の順序で提示されていても、代替実施形態は、異なる順序でのステップを有するルーチンを実施する、または異なる順序でのブロックを有するシステムを用いることができ、いくつかのプロセスまたはブロックは、削除され、移動され、追加され、再分割され、組み合わされ、および/または、代替的な、もしくはサブの組合せを提供するように変更されてもよい。これらのプロセスまたはブロックの各々は、多様な異なるやり方で実装されてよい。また、プロセスまたはブロックは、時に連続して実施されるように示されるが、これらのプロセスまたはブロックは、代わりに並行して実施されてもよいし、異なる時間に実施されてもよい。さらに、本明細書で触れられたいかなる個別の数も例にすぎず、代替実装形態は、異なる値または範囲を用いることができる。
本明細書における「一実施形態(one embodiment、またはan embodiment)」への言及は、本実施形態に関連して説明された特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれることを意味する。本明細書のさまざまな場所における「一実施形態において」という語句の出現は、必ずしも同じ実施形態をすべて指しているわけではなく、別個のまたは代替の実施形態が他の実施形態を互いに排除するわけでもない。その上、いくつかの実施形態によって呈されてよく、他の実施形態によっては呈されないことがある、さまざまな特徴が説明される。同様に、いくつかの実施形態のための要件であってよいが、他の実施形態のための要件ではないことがある、さまざまな要件が説明される。
本明細書で使用される用語は、本開示のコンテキスト内で、および各用語が使用される個別のコンテキスト内で、当技術分野におけるその通常の意味を一般に有する。本開示を説明するために使用される一定の用語は、本開示の説明に関する実務者への追加のガイダンスを提供するために本明細書で議論される。便宜上、一定の用語は、たとえば、イタリック体および/または引用符を使用して強調表示されることがある。強調表示の使用は、用語の範囲および意味に影響を有することはなく、それが強調されていてもいなくても、用語の範囲および意味は、同じコンテキストにおいては同じである。2つ以上のやり方で、同じものが言い表され得ることが認識されるであろう。
その結果として、代替言語および同義語が、本明細書で議論される用語のうちの任意の1または複数のために使用されてもよく、ある用語が本明細書で詳述または議論されているか、いないかということに、特別な重要性が置かれることにはならない。一定の用語のための同義語が提供される。1または複数の同義語の詳説は、他の同義語の使用を排除しない。本明細書で議論される任意の用語の例を含む、本明細書のどこでも、例の使用は説明的のみであり、本開示の、またはいずれの例示された用語の範囲および意味をさらに限定することは意図されていない。同様に、本開示は、本明細書において与えられたさまざまな実施形態に限定されない。
本開示の範囲のさらなる限定を意図することなく、本開示の実施形態による、機器、装置、方法の例、およびそれらに関連した結果が、本明細書で与えられる。タイトルまたはサブタイトルは、読者の便宜のための例において使用されていることがあり、本開示の範囲を限定すべきでは全くないことに留意されたい。別段定義されていない限り、本明細書で使用されるすべての技術的かつ科学的用語は、本開示が付属する当業者によって通例理解されるのと同じ意味を有する。相反する場合には、定義を含んで、本文書が支配することになる。
本明細書で提供される開示の教示は、他のシステムに適用されてもよく、必ずしも上記で説明されたシステムに適用されなくてもよい。付随する出願書類にリストにされていることがあるいずれかを含む、上記で触れられたいずれの特許および出願ならびに他の参考文献も、本願明細書に援用する。本開示のなおもさらなる実施形態を提供するために、本開示の態様は、必要であれば、上記で説明されたさまざまな参考文献のシステム、機能、および概念を用いるように変更されることが可能である。
付随する出願書類にリストにされていることがあるいずれかを含む、上記で触れられたいずれの特許および出願ならびに他の参考文献も、本願明細書に援用する。本開示のなおもさらなる実施形態を提供するために、本開示の態様は、必要であれば、上記で説明されたさまざまな参考文献のシステム、機能、および概念を用いるように変更されることが可能である。
これらの、および他の変化は、上記の詳細な説明に照らして本開示になされ得る。上記の説明は、本開示の一定の実施形態を説明し、企図されるベスト・モードを説明しているが、どのように詳細に上記でテキストに現れようとも、教示は、多くのやり方で実践され得る。システムの詳細は、本明細書で開示される主題によってなお包含されながら、その実装形態の詳細において、大幅に変わることができる。上で触れられたように、本開示の一定の特徴または態様を説明するときに使用される特定の専門語は、その専門語が関連付けられた本開示のいずれかの個別の特性、特徴、または態様に制約されるように、その専門語が本明細書で再定義されることをほのめかすように取られるべきではない。一般に、以下の特許請求の範囲で使用される用語は、上記の詳細な説明のセクションが明示的にそのような用語を定義しない限り、本開示を本明細書で開示される個別の実施形態に限定するように釈義されるべきではない。それに応じて、本開示の実際の範囲は、開示された実施形態のみならず、特許請求の範囲の下で、本開示を実践する、または実装するすべての均等のやり方もまた包含する。
本開示の一定の態様が、一定の特許請求形式で以下に提示されるが、発明者は、任意の数の特許請求形式における本開示のさまざまな態様を企図している。たとえば、本開示の1つのみの態様が、米国特許法第112条第6項の下で、ミーンズ・プラス・ファンクション・クレームとして列挙される一方で、他の態様が、同様にミーンズ・プラス・ファンクション・クレームとして具体化されても、またはコンピュータ可読媒体などで具体化されるなどの他の形式で具体化されてもよい(米国特許法第112条第6項の下で扱われることが意図されるあらゆる請求項は、語「〜のための手段(means for)」で始まることになる)。それに応じて、出願人は、本開示の他の態様のためにそのような追加の特許請求形式を追求するように、出願の提出後に追加の請求項を追加する権利を留保する。
本説明のうちのある部分は、情報に対する動作のアルゴリズムおよびシンボル表記に関して本発明の実施形態を説明する。これらのアルゴリズムの記述および表記は、データ処理技術における当業者の仕事の実体を、他の当業者に効果的に伝えるために、当業者によって通例使用される。これらの動作は、機能的に、演算的に、または論理的に説明されるが、コンピュータ・プログラムまたは均等の電気回路、マイクロコードなどによって実装されるように理解される。さらに、一般性を欠くことなく、動作のこれらの仕組みを、モジュールと呼ぶことが時に好都合であることもまた分かっている。説明された動作およびそれらの関連付けられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せで具体化されてよい。
本明細書で説明されたステップ、動作、またはプロセスのいずれかは、1または複数の
ハードウェアまたはソフトウェア・モジュールで、単独でまたは他のデバイスとの組合せで、実施されてよい、または実装されてよい。一実施形態において、ソフトウェア・モジュールは、コンピュータ・プログラム・コードを保有するコンピュータ可読媒体を含むコンピュータ・プログラム製品で実装され、コンピュータ・プログラム・コードは、説明されたステップ、動作、またはプロセスのうちのいずれか、またはすべてを実施するためのコンピュータ・プロセッサによって実行され得る。
本発明の実施形態はまた、本明細書の動作を実施するための装置に関することができる。この装置は、要求された目的のために特化して構築されてもよく、および/または、コンピュータに記憶されたコンピュータ・プログラムによって選択的に作動される、または再構成される汎用コンピューティング・デバイスを含んでもよい。そのようなコンピュータ・プログラムは、コンピュータ・システム・バスに結合され得る、非一時的で有形なコンピュータ可読ストレージ媒体、または電子命令を記憶するために好適な任意のタイプの媒体に記憶されてよい。さらに、本明細書において言及された任意のコンピューティング・システムは、単一のプロセッサを含むことができる、または、増加したコンピューティング性能のためのマルチプロセッサ設計を用いるアーキテクチャであってもよい。
本発明の実施形態はまた、本明細書で説明されたコンピューティング・プロセスによって生産された製品に関することができる。そのような製品は、コンピューティング・プロセスから生じた、非一時的で有形なコンピュータ可読ストレージ媒体上に記憶される情報を含むことができ、コンピュータ・プログラム製品の任意の実施形態、または本明細書で説明された他のデータの組合せを含むことができる。

Claims (20)

  1. エッジ構成に基づいてフレキシブルなセンテンス構文を定義するために、開発者インタフェースを提供する工程と、
    前記フレキシブルなセンテンス構文における個別のエッジの第1の性質表現を開発者が選ぶために、1または複数のエッジ・トークンを前記開発者インタフェース上で生成する工程と、
    前記フレキシブルなセンテンス構文における前記個別のエッジの1または複数の時制を前記開発者が選択するために、時制オプションを前記開発者インタフェース上で提供する工程と、
    前記個別のエッジに基づいて、前記フレキシブルなセンテンス構文を前記開発者が決定するために、複数の関係のあるフレキシブルなセンテンスを生成する工程と
    を備える方法。
  2. 前記フレキシブルなセンテンス構文における個別のターゲットの第2の性質表現を前記開発者が選ぶために、1または複数のターゲット・トークンを前記開発者インタフェース上で生成する工程をさらに備える請求項1に記載の方法。
  3. 前記フレキシブルなセンテンス構文における前記個別のエッジ、前記個別のターゲット、またはその両方の性質をカスタマイズするように、1または複数の追加の性質表現を前記開発者が追加するために、性質表現オプションを前記開発者インタフェース上で提供する工程をさらに備える請求項2に記載の方法。
  4. 前記フレキシブルなセンテンス構文を前記開発者が構成するために、複数のエッジ構成を前記開発者インタフェース上で生成する工程であって、前記複数のエッジ構成は、1対1、オブジェクト・タイトルなしの1対1、1対2、1対多、オブジェクト・タイトルなしの1対2/多、2対1、または多対1を含む工程をさらに備える請求項3に記載の方法。
  5. ギャラリー・タイプ、テーブル、リスト、およびマップを含む1または複数のアグリゲーション・タイプを、前記開発者インタフェース上で生成する工程をさらに備える請求項4に記載の方法。
  6. 前記開発者が選択するために、前記個別のエッジ、前記個別のターゲット、またはその両方の複数のアグリゲーションを自動的に生成する工程をさらに備える請求項5に記載の方法。
  7. 複数のユーザ・インタフェース上で自動的に生成されたセンテンスの表示をシミュレートするためのプレビュー・オプションを生成する工程であって、前記複数のユーザ・インタフェースは、モバイル・ウェブと、iOS(登録商標)と、Android(登録商標)と、デスクトップ・ウェブと、およびWindows(登録商標)OS、Linux(登録商標)、またはUnix(登録商標)上に存在するアプリケーションとのうちの1以上を含む工程をさらに備える請求項6に記載の方法。
  8. 前記複数のフレキシブルなセンテンスは、その対応する通用範囲のパーセンテージに基づいた優先順位により前記開発者インタフェース上に提示され、前記通用範囲のパーセンテージは、あらかじめ定義された期間内に受信されたインプレッションによって決定され、前記インプレッションは、インプレッション総数、照会総数、フィード・インプレッション、フィード照会、ティッカー・インプレッション、またはティッカー照会を含む、請求項1に記載の方法。
  9. 前記1または複数のエッジ・トークンが前記開発者によって選択されるとき、ネットワークI/O遅延を最小限にするために、関係のあるフレキシブルなセンテンスのグループを前記開発者のデバイス上にプリ・フェッチする工程であって、フレキシブルなセンテンスの前記グループは、所定の閾値を上回る前記通用範囲のパーセンテージを有する工程をさらに備える請求項8に記載の方法。
  10. 前記1または複数のエッジ・トークンは、チェック・ボックス・リスト、ドロップ・ダウン・メニュー、選択リスト、ボタンのリスト、または複数層メニュー・レベルにおいて提供される、請求項1に記載の方法。
  11. コンピュータ・システムと、
    前記コンピュータ・システム上でインスタンス化されるアプリケーション・プログラムであって、前記アプリケーションがコンピュータにより生成される出力を提供する、アプリケーション・プログラムと、
    を備えるネットワーキング・システムであって、
    前記コンピュータ・システムは、
    フレキシブルなセンテンス構文を開発者が定義するために、前記開発者のデバイス上でインスタンス化される開発者インタフェースを提供し、
    前記フレキシブルなセンテンス構文における個別のエッジの第1の性質表現を前記開発者が選ぶために、1または複数のエッジ・トークンを前記開発者インタフェース上で生成し、
    前記フレキシブルなセンテンス構文における前記個別のエッジの1または複数の時制を前記開発者が選択するために、時制オプションを前記開発者インタフェース上で提供し、
    前記個別のエッジに基づいて、前記フレキシブルなセンテンス構文を前記開発者が決定するために、複数の関係のあるフレキシブルなセンテンスを生成するように構成されている、
    ネットワーキング・システム。
  12. 前記コンピュータ・システムは、前記フレキシブルなセンテンス構文における個別のターゲットの第2の性質表現を前記開発者が選ぶために、1または複数のターゲット・トークンを前記開発者インタフェース上で生成するように構成されている、請求項11に記載のネットワーキング・システム。
  13. 前記コンピュータ・システムは、前記フレキシブルなセンテンス構文を前記開発者が構成するために、1対1、オブジェクト・タイトルなしの1対1、1対2、1対多、オブジェクト・タイトルなしの1対2/多、2対1、または多対1を含む複数のエッジ構成を、前記開発者インタフェース上で生成するように構成されている、請求項12に記載のネットワーキング・システム。
  14. 前記コンピュータ・システムは、前記フレキシブルなセンテンス構文を前記開発者が構成するために、1対1、オブジェクト・タイトルなしの1対1、1対2、1対多、オブジェクト・タイトルなしの1対2/多、2対1、および/または多対1を含む複数のエッジ構成を、前記開発者インタフェース上で生成するように構成されている、請求項13に記載のネットワーキング・システム。
  15. 前記コンピュータ・システムは、前記開発者が前記フレキシブルなセンテンス構文を公開するために、ギャラリー・タイプ、テーブル、リスト、およびマップを含む1または複数のアグリゲーション・タイプを、前記開発者インタフェース上で生成するように構成されている、請求項14に記載のネットワーキング・システム。
  16. 前記コンピュータ・システムは、前記開発者が選択するために、前記個別のエッジ、前記個別のターゲット、またはその両方の複数のアグリゲーションを自動的に生成するように構成されている、請求項15に記載のネットワーキング・システム。
  17. フレキシブルなセンテンス構文からエッジ構成を解釈する工程と、
    前記エッジ構成に関係のあるソーシャル・ネットワーキング・システムのソーシャル・グラフからエッジを抽出する工程と、
    前記エッジのフレキシブルなセンテンス表現を公開するためのフォーラムを決定する工程と、
    前記フォーラムと前記フレキシブルなセンテンス構文におけるエッジ・トークンおよびターゲット・トークンとに基づいて、前記フレキシブルなセンテンス表現をレンダリングする工程と、
    を備える方法。
  18. 前記エッジの時間マーカを決定する工程
    をさらに備え、
    前記フレキシブルなセンテンス表現をレンダリングする工程は、前記時間マーカに基づいて前記エッジ・トークンの動詞時制をレンダリングする工程を含む、
    請求項17に記載の方法。
  19. 前記エッジを抽出する工程は、前記エッジ構成に関係のある前記ソーシャル・グラフからエッジのアグリゲートを抽出する工程を含み、前記フレキシブルなセンテンス表現をレンダリングする工程は、要約センテンスをレンダリングするために、前記エッジ構成に基づいて前記フレキシブルなセンテンス表現をレンダリングする工程を含む、請求項17に記載の方法。
  20. 前記フレキシブルなセンテンス表現をレンダリングする工程は、前記ターゲット・トークンの性質または前記エッジ・トークンの性質に基づいて、数値関数を計算する工程を含む、請求項17に記載の方法。
JP2016510689A 2013-04-23 2014-04-04 ソーシャル・ネットワーキング・システムにおいてフレキシブルなセンテンスを生成するための方法およびシステム Active JP6139021B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/868,917 US9110889B2 (en) 2013-04-23 2013-04-23 Methods and systems for generation of flexible sentences in a social networking system
US13/868,917 2013-04-23
PCT/US2014/033052 WO2014176016A1 (en) 2013-04-23 2014-04-04 Methods and systems for generation of flexible sentences in a social networking system

Publications (2)

Publication Number Publication Date
JP2016524207A true JP2016524207A (ja) 2016-08-12
JP6139021B2 JP6139021B2 (ja) 2017-05-31

Family

ID=51729677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016510689A Active JP6139021B2 (ja) 2013-04-23 2014-04-04 ソーシャル・ネットワーキング・システムにおいてフレキシブルなセンテンスを生成するための方法およびシステム

Country Status (10)

Country Link
US (4) US9110889B2 (ja)
JP (1) JP6139021B2 (ja)
KR (1) KR101667220B1 (ja)
CN (1) CN105359130B (ja)
AU (1) AU2014257424B2 (ja)
BR (1) BR112015027010A8 (ja)
CA (1) CA2909079C (ja)
IL (1) IL242033A (ja)
MX (1) MX362590B (ja)
WO (1) WO2014176016A1 (ja)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US9110889B2 (en) 2013-04-23 2015-08-18 Facebook, Inc. Methods and systems for generation of flexible sentences in a social networking system
US9606987B2 (en) 2013-05-06 2017-03-28 Facebook, Inc. Methods and systems for generation of a translatable sentence syntax in a social networking system
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US10007954B2 (en) * 2013-08-23 2018-06-26 International Business Machines Corporation Managing an initial post on a website
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9348809B1 (en) * 2015-02-02 2016-05-24 Linkedin Corporation Modifying a tokenizer based on pseudo data for natural language processing
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10719667B1 (en) * 2015-06-30 2020-07-21 Google Llc Providing a natural language based application program interface
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
RU2018113724A (ru) * 2015-10-21 2019-11-21 ГУГЛ ЭлЭлСи Сбор параметров и автоматическая генерация диалога в диалоговых системах
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10021059B1 (en) * 2016-05-09 2018-07-10 Sanjay K. Rao Messaging content and ad insertion in channels, group chats, and social networks
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10083451B2 (en) 2016-07-08 2018-09-25 Asapp, Inc. Using semantic processing for customer support
US9805371B1 (en) 2016-07-08 2017-10-31 Asapp, Inc. Automatically suggesting responses to a received message
US10109275B2 (en) 2016-12-19 2018-10-23 Asapp, Inc. Word hash language model
EP3552114A4 (en) * 2017-02-08 2020-05-20 Semantic Machines, Inc. NATURAL LANGUAGE CONTENT GENERATOR
WO2018156978A1 (en) 2017-02-23 2018-08-30 Semantic Machines, Inc. Expandable dialogue system
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US11043206B2 (en) 2017-05-18 2021-06-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US10838746B2 (en) 2017-05-18 2020-11-17 Aiqudo, Inc. Identifying parameter values and determining features for boosting rankings of relevant distributable digital assistant operations
US11056105B2 (en) * 2017-05-18 2021-07-06 Aiqudo, Inc Talk back from actions in applications
US11340925B2 (en) 2017-05-18 2022-05-24 Peloton Interactive Inc. Action recipes for a crowdsourced digital assistant system
WO2018213788A1 (en) 2017-05-18 2018-11-22 Aiqudo, Inc. Systems and methods for crowdsourced actions and commands
US10497004B2 (en) 2017-12-08 2019-12-03 Asapp, Inc. Automating communications using an intent classifier
US10489792B2 (en) 2018-01-05 2019-11-26 Asapp, Inc. Maintaining quality of customer support messages
US10768954B2 (en) 2018-01-30 2020-09-08 Aiqudo, Inc. Personalized digital assistant device and related methods
US11145291B2 (en) * 2018-01-31 2021-10-12 Microsoft Technology Licensing, Llc Training natural language system with generated dialogues
US10861440B2 (en) * 2018-02-05 2020-12-08 Microsoft Technology Licensing, Llc Utterance annotation user interface
US10210244B1 (en) * 2018-02-12 2019-02-19 Asapp, Inc. Updating natural language interfaces by processing usage data
US11133001B2 (en) * 2018-03-20 2021-09-28 Microsoft Technology Licensing, Llc Generating dialogue events for natural language system
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) * 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US10169315B1 (en) 2018-04-27 2019-01-01 Asapp, Inc. Removing personal information from text using a neural network
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11087748B2 (en) * 2018-05-11 2021-08-10 Google Llc Adaptive interface in a voice-activated network
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11216510B2 (en) 2018-08-03 2022-01-04 Asapp, Inc. Processing an incomplete message with a neural network to generate suggested messages
KR102081512B1 (ko) * 2018-09-14 2020-02-25 울산대학교 산학협력단 비유법 문장 생성 장치 및 방법
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10747957B2 (en) 2018-11-13 2020-08-18 Asapp, Inc. Processing communications using a prototype classifier
US11551004B2 (en) 2018-11-13 2023-01-10 Asapp, Inc. Intent discovery with a prototype classifier
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
KR20210033837A (ko) 2019-09-19 2021-03-29 삼성전자주식회사 전자 장치 및 이의 제어 방법
US11425064B2 (en) 2019-10-25 2022-08-23 Asapp, Inc. Customized message suggestion with user embedding vectors
KR102218973B1 (ko) * 2019-12-31 2021-02-22 이화여자대학교 산학협력단 상호작용 네트워크 제공 방법 및 장치
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11159458B1 (en) 2020-06-10 2021-10-26 Capital One Services, Llc Systems and methods for combining and summarizing emoji responses to generate a text reaction from the emoji responses
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08185404A (ja) * 1994-12-28 1996-07-16 Canon Inc 自然言語処理システム及びその方法
US20040034520A1 (en) * 2002-03-04 2004-02-19 Irene Langkilde-Geary Sentence generator
US20090193344A1 (en) * 2008-01-24 2009-07-30 Sony Corporation Community mood representation
US20120016661A1 (en) * 2010-07-19 2012-01-19 Eyal Pinkas System, method and device for intelligent textual conversation system
US20130073280A1 (en) * 2011-09-21 2013-03-21 Edward Kenneth O'Neil Dynamic sentence formation from structured objects and actions in a social networking system

Family Cites Families (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5659665A (en) * 1994-12-08 1997-08-19 Lucent Technologies Inc. Method and apparatus for including speech recognition capabilities in a computer system
US6025836A (en) 1997-07-23 2000-02-15 Novell, Inc. Method and apparatus for generating object oriented user interfaces
US6744860B1 (en) * 1998-12-31 2004-06-01 Bell Atlantic Network Services Methods and apparatus for initiating a voice-dialing operation
US6671672B1 (en) * 1999-03-30 2003-12-30 Nuance Communications Voice authentication system having cognitive recall mechanism for password verification
US6408272B1 (en) * 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
DE10015960C2 (de) * 2000-03-30 2003-01-16 Micronas Munich Gmbh Spracherkennungsverfahren und Spracherkennungsvorrichtung
US7865358B2 (en) 2000-06-26 2011-01-04 Oracle International Corporation Multi-user functionality for converting data from a first form to a second form
EP1168736A1 (en) * 2000-06-30 2002-01-02 Alcatel Telecommunication system and method with a speech recognizer
US6983238B2 (en) 2001-02-07 2006-01-03 American International Group, Inc. Methods and apparatus for globalizing software
US6701293B2 (en) * 2001-06-13 2004-03-02 Intel Corporation Combining N-best lists from multiple speech recognizers
US7650296B1 (en) * 2001-08-31 2010-01-19 Siebel Systems, Inc. Configurator using structure and rules to provide a user interface
JP4224250B2 (ja) * 2002-04-17 2009-02-12 パイオニア株式会社 音声認識装置、音声認識方法および音声認識プログラム
US7302383B2 (en) * 2002-09-12 2007-11-27 Luis Calixto Valles Apparatus and methods for developing conversational applications
TW200409525A (en) * 2002-11-26 2004-06-01 Lite On Technology Corp Voice identification method for cellular phone and cellular phone with voiceprint password
US7222072B2 (en) * 2003-02-13 2007-05-22 Sbc Properties, L.P. Bio-phonetic multi-phrase speaker identity verification
US7213201B2 (en) * 2003-03-03 2007-05-01 International Business Machines Corporation Meta editor for structured documents
WO2005033909A2 (en) * 2003-10-08 2005-04-14 Any Language Communications Inc. Relationship analysis system and method for semantic disambiguation of natural language
US20050165607A1 (en) * 2004-01-22 2005-07-28 At&T Corp. System and method to disambiguate and clarify user intention in a spoken dialog system
US8412521B2 (en) * 2004-08-20 2013-04-02 Multimodal Technologies, Llc Discriminative training of document transcription system
KR100679043B1 (ko) * 2005-02-15 2007-02-05 삼성전자주식회사 음성 대화 인터페이스 장치 및 방법
US8041570B2 (en) * 2005-05-31 2011-10-18 Robert Bosch Corporation Dialogue management using scripts
US7991764B2 (en) * 2005-07-22 2011-08-02 Yogesh Chunilal Rathod Method and system for communication, publishing, searching, sharing and dynamically providing a journal feed
US7672865B2 (en) * 2005-10-21 2010-03-02 Fair Isaac Corporation Method and apparatus for retail data mining using pair-wise co-occurrence consistency
US7603275B2 (en) * 2005-10-31 2009-10-13 Hitachi, Ltd. System, method and computer program product for verifying an identity using voiced to unvoiced classifiers
US7747427B2 (en) * 2005-12-05 2010-06-29 Electronics And Telecommunications Research Institute Apparatus and method for automatic translation customized for documents in restrictive domain
US7552047B2 (en) 2006-05-02 2009-06-23 International Business Machines Corporation Instance-based sentence boundary determination by optimization
JP5074751B2 (ja) * 2006-12-07 2012-11-14 キヤノン株式会社 編集装置、編集装置の制御方法、およびプログラム
US8954500B2 (en) * 2008-01-04 2015-02-10 Yahoo! Inc. Identifying and employing social network relationships
US20110060587A1 (en) * 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application
US8503686B2 (en) * 2007-05-25 2013-08-06 Aliphcom Vibration sensor and acoustic voice activity detection system (VADS) for use with electronic systems
GB2450886B (en) * 2007-07-10 2009-12-16 Motorola Inc Voice activity detector and a method of operation
WO2009032287A1 (en) * 2007-09-07 2009-03-12 Enhanced Medical Decisions, Inc. Management and processing of information
US8082151B2 (en) * 2007-09-18 2011-12-20 At&T Intellectual Property I, Lp System and method of generating responses to text-based messages
US9602605B2 (en) 2007-10-26 2017-03-21 Facebook, Inc. Sharing digital content on a social network
WO2009073856A1 (en) 2007-12-05 2009-06-11 Facebook, Inc. Community translation on a social network
US8862622B2 (en) * 2007-12-10 2014-10-14 Sprylogics International Corp. Analysis, inference, and visualization of social networks
US7925743B2 (en) * 2008-02-29 2011-04-12 Networked Insights, Llc Method and system for qualifying user engagement with a website
GB2458461A (en) * 2008-03-17 2009-09-23 Kai Yu Spoken language learning system
US8504365B2 (en) * 2008-04-11 2013-08-06 At&T Intellectual Property I, L.P. System and method for detecting synthetic speaker verification
US8145482B2 (en) * 2008-05-25 2012-03-27 Ezra Daya Enhancing analysis of test key phrases from acoustic sources with key phrase training models
US9183513B2 (en) * 2008-05-27 2015-11-10 Intel Corporation Aggregration, standardization and extension of social networking contacts to enhance a television consumer experience
KR101056511B1 (ko) * 2008-05-28 2011-08-11 (주)파워보이스 실시간 호출명령어 인식을 이용한 잡음환경에서의음성구간검출과 연속음성인식 시스템
US8417513B2 (en) * 2008-06-06 2013-04-09 Radiant Logic Inc. Representation of objects and relationships in databases, directories, web services, and applications as sentences as a method to represent context in structured data
US8386960B1 (en) * 2008-08-29 2013-02-26 Adobe Systems Incorporated Building object interactions
US8676586B2 (en) * 2008-09-16 2014-03-18 Nice Systems Ltd Method and apparatus for interaction or discourse analytics
US9922640B2 (en) * 2008-10-17 2018-03-20 Ashwin P Rao System and method for multimodal utterance detection
US20100100371A1 (en) 2008-10-20 2010-04-22 Tang Yuezhong Method, System, and Apparatus for Message Generation
KR101519104B1 (ko) * 2008-10-30 2015-05-11 삼성전자 주식회사 목적음 검출 장치 및 방법
US20100191567A1 (en) * 2009-01-26 2010-07-29 At&T Intellectual Property I, L.P. Method and apparatus for analyzing rhetorical content
US8370126B2 (en) 2009-01-30 2013-02-05 Facebook, Inc. Incorporation of variables into textual content
US20100199184A1 (en) * 2009-01-30 2010-08-05 Yahoo! Inc. Prioritizing vitality events in a social networking system
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US8719353B2 (en) * 2009-09-01 2014-05-06 Seaseer Research And Development Llc Systems and methods for visual messaging
US8707172B2 (en) 2009-11-12 2014-04-22 International Business Machines Corporation Internationalization technology
US9009152B2 (en) * 2010-02-04 2015-04-14 Yahoo! Inc. Smart widgets
US20110208822A1 (en) * 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US8180804B1 (en) 2010-04-19 2012-05-15 Facebook, Inc. Dynamically generating recommendations based on social graph information
WO2011140259A1 (en) 2010-05-04 2011-11-10 Schmitt Steven J Systems and methods for job referral recommendation engine
US9002700B2 (en) * 2010-05-13 2015-04-07 Grammarly, Inc. Systems and methods for advanced grammar checking
US8972498B2 (en) * 2010-08-24 2015-03-03 Yahoo! Inc. Mobile-based realtime location-sensitive social event engine
EP2494545A4 (en) * 2010-12-24 2012-11-21 Huawei Tech Co Ltd METHOD AND DEVICE FOR DETECTING LANGUAGE ACTIVITIES
US20140074629A1 (en) * 2011-03-29 2014-03-13 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic & unified communication, zero click advertisement, dynamic e-commerce and prospective customers search engine
US8538742B2 (en) 2011-05-20 2013-09-17 Google Inc. Feed translation for a social network
US8775517B1 (en) 2011-07-12 2014-07-08 Relationship Science LLC Viewing connectivity between user and entity of an information service
US8660847B2 (en) * 2011-09-02 2014-02-25 Microsoft Corporation Integrated local and cloud based speech recognition
WO2013043160A1 (en) * 2011-09-20 2013-03-28 Hewlett-Packard Development Company, L.P. Text summarization
US9032290B2 (en) * 2011-09-21 2015-05-12 Facebook, Inc. Tool for creating structured objects and actions on a social networking system
US8340975B1 (en) * 2011-10-04 2012-12-25 Theodore Alfred Rosenberger Interactive speech recognition device and system for hands-free building control
EP2783365B1 (en) * 2011-11-21 2018-02-21 Robert Bosch GmbH Method and system for adapting grammars in hybrid speech recognition engines for enhancing local speech recognition performance
US8825020B2 (en) * 2012-01-12 2014-09-02 Sensory, Incorporated Information access and device control using mobile phones and audio in the home environment
US9093076B2 (en) * 2012-04-30 2015-07-28 2236008 Ontario Inc. Multipass ASR controlling multiple applications
US8280888B1 (en) * 2012-05-04 2012-10-02 Pearl.com LLC Method and apparatus for creation of web document titles optimized for search engines
TWI474317B (zh) * 2012-07-06 2015-02-21 Realtek Semiconductor Corp 訊號處理裝置以及訊號處理方法
US20140046976A1 (en) * 2012-08-11 2014-02-13 Guangsheng Zhang Systems, methods, and user interface for effectively presenting information
US8983836B2 (en) * 2012-09-26 2015-03-17 International Business Machines Corporation Captioning using socially derived acoustic profiles
US9043703B2 (en) * 2012-10-16 2015-05-26 Facebook, Inc. Voice commands for online social networking systems
US8996372B1 (en) * 2012-10-30 2015-03-31 Amazon Technologies, Inc. Using adaptation data with cloud-based speech recognition
US20140149856A1 (en) * 2012-11-27 2014-05-29 Linkedln Corporation Unified social content platform
US9213760B2 (en) 2012-11-27 2015-12-15 Linkedin Corporation Unified social content platform
US10258881B2 (en) * 2012-12-26 2019-04-16 Sony Interactive Entertainment America Llc Systems and methods for tagging content of shared cloud executed mini-games and tag sharing controls
US9349386B2 (en) * 2013-03-07 2016-05-24 Analog Device Global System and method for processor wake-up based on sensor data
US9361885B2 (en) * 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9201860B1 (en) * 2013-03-12 2015-12-01 Guangsheng Zhang System and methods for determining sentiment based on context
US9312826B2 (en) * 2013-03-13 2016-04-12 Kopin Corporation Apparatuses and methods for acoustic channel auto-balancing during multi-channel signal extraction
US9110889B2 (en) 2013-04-23 2015-08-18 Facebook, Inc. Methods and systems for generation of flexible sentences in a social networking system
US8768687B1 (en) * 2013-04-29 2014-07-01 Google Inc. Machine translation of indirect speech
US9606987B2 (en) 2013-05-06 2017-03-28 Facebook, Inc. Methods and systems for generation of a translatable sentence syntax in a social networking system
US9865255B2 (en) * 2013-08-29 2018-01-09 Panasonic Intellectual Property Corporation Of America Speech recognition method and speech recognition apparatus
US9373321B2 (en) * 2013-12-02 2016-06-21 Cypress Semiconductor Corporation Generation of wake-up words

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08185404A (ja) * 1994-12-28 1996-07-16 Canon Inc 自然言語処理システム及びその方法
US20040034520A1 (en) * 2002-03-04 2004-02-19 Irene Langkilde-Geary Sentence generator
US20090193344A1 (en) * 2008-01-24 2009-07-30 Sony Corporation Community mood representation
US20120016661A1 (en) * 2010-07-19 2012-01-19 Eyal Pinkas System, method and device for intelligent textual conversation system
US20130073280A1 (en) * 2011-09-21 2013-03-21 Edward Kenneth O'Neil Dynamic sentence formation from structured objects and actions in a social networking system

Also Published As

Publication number Publication date
US9740690B2 (en) 2017-08-22
JP6139021B2 (ja) 2017-05-31
MX2015014916A (es) 2016-06-24
BR112015027010A8 (pt) 2020-01-14
CN105359130A (zh) 2016-02-24
AU2014257424A1 (en) 2015-11-05
US20170161265A1 (en) 2017-06-08
IL242033A (en) 2017-07-31
US20140316766A1 (en) 2014-10-23
CA2909079C (en) 2016-10-04
US10157179B2 (en) 2018-12-18
CA2909079A1 (en) 2014-10-30
BR112015027010A2 (pt) 2017-07-25
US20170315993A1 (en) 2017-11-02
KR20160005048A (ko) 2016-01-13
MX362590B (es) 2019-01-25
US20150242385A1 (en) 2015-08-27
CN105359130B (zh) 2018-09-28
KR101667220B1 (ko) 2016-10-18
WO2014176016A1 (en) 2014-10-30
US9110889B2 (en) 2015-08-18
AU2014257424B2 (en) 2016-10-13
US9619456B2 (en) 2017-04-11

Similar Documents

Publication Publication Date Title
JP6139021B2 (ja) ソーシャル・ネットワーキング・システムにおいてフレキシブルなセンテンスを生成するための方法およびシステム
US10430520B2 (en) Methods and systems for generation of a translatable sentence syntax in a social networking system
US10693829B2 (en) Providing translations of electronic messages via a social networking system
US9450771B2 (en) Determining information inter-relationships from distributed group discussions
US10467282B2 (en) Suggesting tags on online social networks
KR101826113B1 (ko) 메시지의 인-라인 이미지를 위한 방법 및 시스템
KR101945922B1 (ko) 오프라인 컨텐츠의 생성
US10268664B2 (en) Embedding links in user-created content on online social networks
US20190014173A1 (en) Synchronizing Conversation Threads Corresponding to a Common Content Item
US10509832B2 (en) Generating snippet modules on online social networks
US10719564B2 (en) Social-based optimization of web crawling for online social networks
KR20150129309A (ko) 소셜 컨텍스트에 기반한 이미지 필터링
TW202344067A (zh) 促進視訊媒體項目的合作
US20170199897A1 (en) Inferring qualities of a place
JP2021509493A (ja) 複数のデバイスにわたるコンテンツを提供すること
US20230370408A1 (en) Generating and surfacing messaging thread specific and content-based effects
Carruthers No Shelf Required 2: Use and Management of Electronic Books edited by Sue Polanka: Chicago: American Library Association, 2012. 272p. ISBN 978-0-8389-1145-7 $65.00.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160615

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160615

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160615

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160927

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20161227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170418

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170426

R150 Certificate of patent or registration of utility model

Ref document number: 6139021

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250