【実施例】
【0010】
次に
図1を参照するに、コンピューティング・システム100の実施例は少なくとも1つのクライアント・コンピューティング装置110及び少なくとも1つのコンピューティング装置150を含む。以下に更に詳細に説明するように、つながり推奨システム136、174の部分は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせとしてクライアント・コンピューティング装置110及び/又はサーバ・コンピューティング装置150において実施される。例証的なつながり推奨システム136、174は、別々のコンピューティング装置ユーザによって作成された構造化されたコンテント及び/又は構造化されていないコンテントと、前述のコンテントを作成するユーザ間の関係距離の尺度との意味論的解析に基づいて、コンピューティング装置ユーザに対してつながり推奨を生成することが可能である。
【0011】
本明細書及び特許請求の範囲記載の「つながり(connection)」はとりわけ、別々の二人の間の電子的な(例えば、「オンラインの」又は「仮想の」)関係又は関連を確立するコンピュータ化された機構を表し得る。例えば、つながりは、各種ユーザレベル・コンピュータ・アプリケーションにおいて別のユーザの「関連付け」、「友人」、「連絡先」、「受信人」、又は「フォロワー」としてユーザを識別し得る。本明細書及び特許請求の範囲記載の「つながりの推奨」はとりわけ、コンピューティング装置ユーザに別のユーザの存在が知らされるコンピュータ化された機構を表し得る。例えば、つながりの推奨は、(例えば、視覚、聴覚、触覚等の、)人間が知覚可能な形式でコンピューティング装置によって提示される提案又は通知を電子メッセージによって実現し得る。つながりの推奨は、現在のユーザがつなぎたい別のユーザを識別し得、又は、コンピューティング・システム100によってつながりが提案されるユーザの対を識別し得る。つながりの推奨は更に、推奨が行われている理由、及び/又はコンピューティング・システム100が推奨を行うことをもたらした基準の説明を含み得る。本明細書及び特許請求の範囲記載の「意味論的解析」はとりわけ、ユーザ生成されたコンテントにおいて生起する語彙項目(例えば、単語、単語の部分、又は単語の群)のユーザが意図した意味を検討する一種のコンテント解析を表し得る。例えば、異なるやり方で語彙項目を解釈し得る場合、意味論的解析は、語彙項目の特定のインスタンスのユーザが意図した実際の意味を確かめるために、とりわけ、語彙項目が生起するコンテキスト(前後関係)を検討し得る。対照的に、「字句」解析はとりわけ、コンテキストを参照することなく、コンテントの字句構文が解析されるという意味でコンテキストから「独立している」一種のコンテント解析を表し得る。例えば、字句構文は、周囲のコンテントの何れを考慮に入れることもなく、個々の語及び句の語構造又は句構造を解析し得る。本明細書及び特許請求の範囲記載の「コンテント解析」への参照は、意味論的解析、字句解析、それらの組み合わせ又は/若しくは他の形態のコンテント解析を含み得る。本明細書及び特許請求の範囲に記載の「構造化された」コンテントは、とりわけ、所定の様式又は意味を有するユーザ入力(例えば、英数字テキスト)を表し得る。例えば、構造化されたコンテントは、数値、日付値、ユーザ名、電子メール・アドレス他などのユーザレベル・アプリケーションの入力フィールド又はダイアログ・ボックスに入力されるテキストを含み得る。対照的に、「構造化されていない」コンテントは、とりわけ、所定の様式又は意味を有していないユーザ入力を表し得る。例えば、構造化されていないコンテントは、文書、電子メール・メッセージ、テキスト・メッセージ、ブログ、又はソーシャル・メディア投稿(例えば、「ステータス更新」、「ツイート」、「コメント」、又は「ウォール投稿」)の本体に含まれ得るテキストなどの自然言語の英数字テキストを含み得る。当然、本明細書及び特許請求の範囲記載の特定の例が「テキスト」のコンテントを表す一方、開示された機能は、テキストの代わりに、又はテキストに加えて他の形式のコンテント(例えば、オーディオ、ビデオ等)に適用することが可能である。本明細書及び特許請求の範囲記載の「関係距離」は、とりわけ、ソーシャル又は関係の視点からの、二人の間の距離の尺度を表し得、本明細書及び特許請求の範囲記載の「距離」は、関係の親密性の欠如を表すために使用し得る。例えば、ソーシャル・ネットワークでは、関係距離は、ネットワーク内で直接つながっていない二人をつなげるために必要な中間のつながりの数によって測定し得る。一部の実施例では、関係距離は、つながりの「度合い」によって示し得、より高い度合いは、より長い関係距離を示し、より低い度合いは、より短い関係距離を示し得る。
【0012】
ユーザによって生成されたコンテントの語彙的意味又は意味論的意味、及び類似したコンテントを作成した個人間の関係距離を考慮に入れることにより、つながり推奨システム136、174は、とりわけ、ユニークであり、又は魅力的である可能性が高い、つながり推奨を生成することが可能である。ユーザが親密な絆で結ばれていないが、ユーザと共通の意義ある必要性、関心、又はスキルを有している人々を含み得るからである。例として、欧州の文学者がメルビル(Melville)のモービー・ディック(白鯨)(Moby Dick)を研究しており、捕鯨船に乗った漁師が「クラックリング(crackling)」について話していることに言及するブログ・エントリを投稿したと仮定する。別途、ニュー・イングランドの料理長が、「クラックリング(crackling)」の調理法に関するコメントを投稿している。「クラックリング(crackling)」の語は、別々の複数の意味を有する。例えば、クラックリング(crackling)は、パリパリになるまで脂肪を調理するプロセスを表し得、又は、名詞(例えば、「脂肪から精製された皮」の同義語)として使用し得、若しくは、形容詞(例えば、「ぱちぱちと燃える火」又は「そのぱちぱち音を立てる音」)として使用し得る。しかし、つながり推奨システム136、174は、学者及び料理長が、同じタイプのクラックリング(crakling)に関心があるようにみえ、既に互いに知り合いである可能性が低いということに基づいて、欧州の文学者がニュー・イングランドの料理長とのつながりを確立することを欧州の文学者に提案し得る(又はその逆を提案し得る)。
【0013】
例証的なつながり推奨システム136、174は、1つ又は複数のクライアント・コンピューティング装置110上に存在する「局所」部分136と、1つ又は複数のサーバ・コンピューティング装置150上に存在する「遠隔」部分174とを含めるよう実施される。例えば、局所部分136の別々のバージョンは、各種コンピューティング装置(スマートフォン及びタブレットなどの各種モバイル・コンピューティング装置、又は別々のブランド若しくはオペレーティング・システム)上に存在し得る。あるいは、又は更に、「遠隔」部分174は、一部の実施例(例えば、「クラウド内」)では、複数のサーバ・コンピューティング装置150にわたって分散され得る。局所部分136及び遠隔部分174はそれぞれ、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせとして実施し得る。説明を容易にするために、本明細書及び特許請求の範囲では、単数形でクライアント・コンピューティング装置110及びサーバ・コンピューティング装置150それぞれを参照する。しかし、前述の参照は、複数のクライアント・コンピューティング装置110及び/又は複数のサーバ・コンピューティング装置150が使用される実施例を包含していることを意図している。更に、クライアント・コンピューティング装置110によって行われるものとして本明細書及び特許請求の範囲に例証された機能は、他の実施例では、サーバ・コンピューティング装置150によって行い得、逆も同様であり得る。
【0014】
サーバ・コンピューティング装置150及びクライアント・コンピューティング装置110(、並びに、よって、つながり推奨システム136、174の一部分136、174)は、通信するよう1つ又は複数の無線、光、及び/又は無線通信ネットワーク180によって結合される。クライアント・コンピューティング装置110及びサーバ・コンピューティング装置150はそれぞれ、本明細書及び特許請求の範囲記載の機能を行うことができる何れかのタイプの電子装置として実施し得る。例えば、一方又は両方の装置110、150は、限定列挙でないが、スマートフォン、タブレット・コンピュータ、ウェアラブル・コンピューティング装置、ラップトップ・コンピュータ、ノートブック・コンピュータ、モバイル・コンピューティング装置、セルラー電話機、ハンドセット、メッセージング装置、車両テレマティック装置、サーバ・コンピュータ、ワークステーション、分散コンピューティング・システム、マルチプロセッサ・システム、消費者向電子装置、及び/又は本明細書及び特許請求の範囲記載の機能を行うよう構成された何れかの他のコンピューティング装置として実施し得る。更に、人が、(スマートフォン、ウェアラブル装置、タブレット・コンピュータ、及び/又はラップトップの場合におけるように、場合によっては同時に)複数の電子装置を使用する場合に、つながり推奨システム136、174の一部分を前述の各装置上に、ユーザがシステム136、174に接続されていることにより、何れかの数の電子装置からシステム136、174がデータを受け取ることが可能であるように実施することが可能である。
【0015】
図1に示すように、例証的なクライアント・コンピューティング装置110は、ユーザ・コンテント122、コンテキスト・データ124、ユーザ・コーパス126、字句空間128、及びユーザ・プロフィール130を含む、本明細書及び特許請求の範囲記載の機能を行うためにつながり推奨システム136、174によって使用し得るデータを実施させたデータ記憶装置120、プロセッサ112、メモリ114、入出力サブシステム116、及びユーザレベル・アプリケーション118を含む。ユーザ・コンテント122は、コンピューティング装置ユーザによって作成され、クライアント・コンピューティング装置110上に少なくとも一時的に記憶されたコンテントを含む。そういうものとして、ユーザ・コンテント122は、何れかのタイプの文書、メッセージ、画像、オーディオ記録、及び/又は他のタイプのユーザ生成された電子コンテントを含み得る。コンテキスト・データ124は、ユーザの現在のコンテキストの局面を示すデータを含む。例えば、コンテキスト・データ124は、(ユーザの現在の地理的位置、近傍の施設、動き情報等などの)センサ・データから導き出されたセンサ・データ又は情報を含み得る。コンテキスト・データ124は、代わりに、又は更に、(個人的な選好、人口統計情報、関心のあるトピック他などの)ユーザの個人状況の局面を示す情報を含み得る。以下に更に詳細に説明するように、ユーザ・コーパス126は、つながり推奨を生成するためにつながり推奨システム136、174によって使用されるユーザ・コンテント122の部分集合を含み、又は規定する。字句空間128は、ユーザ・コーパス164の本体に関係するコーパス126についての意味論的情報及び/又は語彙情報を表すコンピュータ・プログラミング構成要素(例えば、多次元ベクトル又はアレイ)として実施され、ユ―ザ・コーパス164は、コーパス126と、つながり推奨システム136、174に参加しているコンピューティング装置ユーザの組におけるその他のコンピューティング装置ユーザ毎に同様なコーパスとを含む。よって、字句空間128を作成するために、コンピューティング・システム100は、ユーザ・コンテント122を解析すべきであるコンピューティング装置ユーザの組を判定し、コーパス126が作成される。例証的な字句空間128は、いくつかの次元(又は位置)を有する多次元空間として規定され、次元の数は、ユーザ・コーパス164における語彙項目の数に対応し、次元はそれぞれ、コーパス164に存在している語彙項目の1つを表す。例えば、コーパス164が、ユーザ1によって著された文書1「タンポポは花である(Dandelions are flowers)」、及びユーザ2によって著された文書2「タンポポは雑草である(Dandelions are weeds)」を含む場合、コーパス164のベクトル表現は、[dandelions,are,flowers,weeds]であり得、文書1のベクトル表現は[1,1,1,0]であり得、文書2のベクトル表現は[1,1,0,1]であり得る。文書1のベクトルと文書2のベクトルとの間の意味論的距離は、数学的に計算し、2つのユーザによって生成されたコンテントの意味論的類似度を示すものとしてコンピューティング・システム100によって使用することが可能である。
【0016】
ユーザ・プロファイル130は、つながりの推奨を行うために、つながり推奨システム136、174が使用する、コンピューティング装置ユーザについての情報を含む。例えば、ユーザ・プロファイル130は、コンテキスト・データ124、コーパス126、若しくはそれらへの参照、及び/又は、例えば、不必要な、又は無関係のつながり推奨を除去するために有用であり得る何れかの他の情報を含み得る。
【0017】
例証的なクライアント・コンピューティング装置110は更に、1つ又は複数のセンサ132、ユーザ・インタフェース・サブシステム134、つながり推奨システム136の「局所部分」、及び通信サブシステム138を含む。クライアント・コンピューティング装置110は、他の実施例では、例証された構成部分(例えば、センサ132)の1つ又は複数を欠き、又は、移動式及び/又は固定式コンピュータ(例えば、種々のセンサ及び入出力装置)に通常みられるものなどの他の、又は更なる構成部分を含み得る。更に、一部の実施例では、例証された構成部分の1つ又は複数は、コンピューティング装置110の別の構成部分の一部分に組み入れ、又は、その他のやり方で上記一部分を構成し得る。つながり推奨システム136の一部分は、別のアプリケーション又はシステム(例えば、ユーザレベル・アプリケーション118)に組み入れ得る。例えば、つながり推奨システム136は、サーチ・エンジン又はソーシャル・メディア・アプリケーションに対するウィジェット又はプラグインとして実施し得、ユーザがアプリケーション又はシステムに関与するにつれ、又は、ユーザ作成コンテントに応じて、コンテント、コンテキスト・データ、及びソーシャル・ネットワーク・データを「バックグラウンドで」解析し得る。
【0018】
プロセッサ112は、本明細書及び特許請求の範囲記載の機能を行うことができる何れかのタイプのプロセッサとして実施し得る。例えば、プロセッサ112は、単一コア又はマルチ・コアのプロセッサ、ディジタル信号プロセッサ、マイクロコントローラ、又は他のプロセッサ若しくは処理/制御回路として実施し得る。メモリ114は、本明細書及び特許請求の範囲記載の機能を行うことができる何れかのタイプの揮発性又は不揮発性のメモリ若しくはデータ記憶装置として実施し得る。動作中、メモリ114は、オペレーティング・システム、アプリケーション、プログラム、ライブラリ、及びドライバなどのクライアント・コンピューティング装置110の動作中に使用される種々のデータ及びソフトウェアを記憶し得る。例えば、メモリ114は、少なくとも一時的に、ユーザ・コンテント122、コンテキスト・データ124、ユーザ・コーパス126、字句空間128、及び/又はユーザ・プロファイル130の一部分を記憶し得る。ユーザ・コンテント122、コンテキスト・データ124、ユーザ・コーパス126、字句空間128、及びユーザ・プロファイル130はそれぞれ、システム136、174の特定の設計又は実現の要求に応じて、電子ファイル、テーブル、データベース、又は他の適切なコンピュータ化されたデータ構造(例えば、ベクトル、アレイ、又はツリー)において実施し得る。
【0019】
メモリ114は、通信するよう、例えばI/Oサブシステム116を介して、プロセッサ112に結合し得る。I/Oサブシステム116は、プロセッサ112、メモリ114、又はクライアント・コンピューティング装置110の他の構成部分との間の入出力動作を容易にするための回路及び/又は構成部分として実施し得る。例えば、I/Oサブシステム116は、メモリ・コントローラ・ハブ、入出力制御ハブ、ファームウェア装置、通信リンク(すなわち、ポイントツーポイント・リンク、バス・リンク、配線、ケーブル、光導波管、プリント回路基板トレース等)、並びに/又は、入出力動作を容易にするための他の構成部分及びサブシステムとして実施し得、又は、メモリ・コントローラ・ハブ、入出力制御ハブ、ファームウェア装置、通信リンク(すなわち、ポイントツーポイント・リンク、バス・リンク、配線、ケーブル、光導波管、プリント回路基板トレース等)、並びに/又は、入出力動作を容易にするための他の構成部分及びサブシステムを別のやり方で含み得る。一部の実施例では、I/Oサブシステム116は、システムオンチップ(SoC)の一部分を構成し、単一の集積回路チップ上に、プロセッサ112、メモリ114、及び/又は、クライアント・コンピューティング装置110の他の構成部分とともに組み入れ得る。
【0020】
ユーザレベル・アプリケーション118は、キーボード、マウス、マイクロフォン、又はタッチ画面などの、ヒューマン・インタフェース装置を介してエンド・ユーザとインタフェースするよう構成された何れかのタイプのコンピュータ・アプリケーション(例えば、ソフトウェア、ハードウェア、ファームウェア、又はそれらの組み合わせ)として実施し得る。例えば、ユーザレベル・アプリケーション118は、サーチ・エンジン、ソーシャル・メディア・サービス、電子メッセージング装置、又はクライアント装置110上で実行されることが可能な別のタイプのコンピュータ・アプリケーション若しくはコンピュータ・アプリケーション・スイートに対する「フロント・エンド」として実施し得る。例えば、ユーザレベル・アプリケーション118は、ウェブベースのソーシャル・メディア・サービスを含み得、(例として、ソーシャル・メディア・サービスにより(、例えばAPIを介して)アクセスされた外部サービスとして、又はサブモジュールとして)つながり推奨システム136,174はウェブベースのソーシャル・メディア・サービスと通信する。データ記憶装置120は、例えば、メモリ装置及び回路、メモリ・カード、ハード・ディスク・ドライブ、ソリッドステート・ドライブ、又は他のデータ記憶装置などの、データの短期又は長期の記憶のために構成された何れかのタイプの装置として実施し得る。
【0021】
センサ132は(、存在している場合)、動きセンサ装置(例えば、加速度計、傾斜計、動力センサ又は近接センサ)、向きセンサ(例えば、ジャイロスコープ)、モバイル・ポインティング・デバイス(例えば、赤外線装置)、位置特定センサ(例えば、全地球測位システム若しくはGPS)、スチル・カメラ若しくはビデオ・カメラ、眼追跡装置、又は別のタイプの検知装置若しくは検知装置の組み合わせを含めるよう実施し得る。センサ132は、クライアント・コンピューティング装置110とのユーザの相互作用、及び/又はユーザがクライアント・コンピューティング装置110を現在動作させている環境についての種々の情報を検知し、捕捉し、処理するよう構成し得る。前述の情報の全部又は一部分は、(例えば、コンテキスト・データ124として)つながり推奨システム136、174によって使用されるためにクライアント・コンピューティング装置110によって記憶し得る。
【0022】
ユーザ・インタフェース・サブシステム136は、エンド・ユーザがつながり推奨システム136と直接、相互作用する実施例において、つながり推奨システム136との、又は、クライアント・コンピューティング装置110とのユーザ相互作用を容易にするためのいつかの装置を含み得る。当然、一部の実施例では、つながり推奨システム136は、エンド・ユーザと直接、インタフェースしないことがあり得る。これは、例えば、つながり推奨システム136が、既存のシステム(例えば、ソーシャル・メディア・アプリケーション)によってアクセスされ、又は上記既存のシステムに内蔵される場合にあてはまり得る。何れにせよ、ユーザ・インタフェース・サブシステム136のユーザ・インタフェース装置は、物理的な、かつ/又は仮想的な制御ボタン若しくはキー、マイクロフォン、スピーカ、一方向又は双方向のスチル・カメラ及び/又はビデオ・カメラ等を含み得る。ユーザ・インタフェース・サブシステム136の一部分及び/又はセンサ132の何れかは、(例えば、その「内蔵」構成部分として)クライアント・コンピューティング装置110と一体化し得、又は、(例えば、ネットワーク180、又は汎用シリアル・バス接続により、)クライアント・コンピューティング装置110と通信し得る。
【0023】
つながり推奨システム136の「局所部分」は、本明細書及び特許請求の範囲記載の機能を行うことができる何れかのタイプのコンピュータ・アプリケーション(例えば、ハードウェア、ソフトウェア、又はそれらの組み合わせ)として実施し得る。例えば、つながり推奨サブシステム136は、ユーザ・プロフィール130、ユーザ・コンテント122、コンテキスト・データ124、ユーザ識別子(例えば、ユーザ名)、及び/又は他のユーザ・データを受け取り、処理する、
図2に示し、後述するモジュールの一部分を含めるよう実施し得る。一部の実施例では、つながり推奨システム136は、以下に更に詳細に説明するコンテキスト抽出モジュール218、及び/又は、ユーザ・プロファイル生成器214、ソーシャル・ネットワーク識別子モジュール228、及びコーパス開発モジュール210の一部分を含み得る。あるいは又は更に、例えば、ユーザレベル・アプリケーション118とインタフェースし、又はスクリーンスクレイピング若しくはウェブスクレイピング手法を実現することにより、ユーザ・コンテントの作成を監視する機能を含み得る。このようにして、つながり推奨システム136、174は、生成されるにつれ、新たなユーザ・コンテントに対する応答性を有し得、又は、つながり推奨システム136、174はオフライン解析のために経時的にユーザ・コンテントのサンプルを収集し得る。例えば、つながり推奨システム136、174は、ユーザの最も直近のソーシャル・メディア投稿、ブログ・ポスト、インスタント・メッセージ、(例えば、「リアルタイム」での)ツィート、又はそれらの組み合わせに応じて、本明細書及び特許請求の範囲記載のつながりの推奨を直接、生成し、提示し得る。あるいは、又は更に、つながり推奨システム136、174は、(例えば、モデルを使用して)経時的にユーザ・コンテントの前述及び/又は他のサンプルを集約し、次いで、本明細書及び特許請求の範囲記載のつながり推奨を生成するようユーザ・コンテントを併せて解析し得る。一部の実施例では、つながり推奨システム136、174は、各種アプリケーション(例えば、メッセージング、ソーシャル・メディア、及び電子メール)にわたって生成されたユーザ・コンテントにアクセスし、上記ユーザ・コンテントを利用することが可能である。すなわち、つながり推奨システム136、174は、単一のソフトウェア・アプリケーション内で作成されたコンテントに関する使用に限定されない。
【0024】
通信サブシステム138は、クライアント・コンピューティング装置110と、サーバ・コンピューティング装置150を含む他の電子装置との間の電子通信を可能にすることができる何れかのタイプの通信回路、装置、又はその収集物として実施し得る。通信サブシステム138は、何れかの1つ又は複数の通信手法(例えば、光通信、無線通信、又は有線通信)、及び関連付けられたプロトコル(例えば、イーサネット(登録商標)、ブルートゥース(登録商標)、ワイファイ、ワイマックス、3G/LTE等)を使用して前述の通信を行うよう構成し得る。通信サブシステム138は、無線ネットワーク・アダプタを含む1つ又は複数のネットワーク・アダプタとして実施し得る。
【0025】
サーバ・コンピューティング装置150は、本明細書及び特許請求の範囲記載の機能を行うための何れかのタイプとして実施し得る。例えば、サーバ・コンピューティング装置150は、限定列挙でないが、スマートフォン、タブレット・コンピュータ、ウェアラブル・コンピューティング装置、ラップトップ・コンピュータ、ノートブック・コンピュータ、モバイル・コンピューティング装置、セルラー電話機、ハンドセット、メッセージング装置、車両テレマティック装置、サーバ・コンピュータ、ワークステーション、分散コンピューティング・システム、マルチプロセッサ・システム、消費者向電子装置、及び/又は本明細書及び特許請求の範囲記載の機能を行うよう構成された何れかの他のコンピューティング装置として実施し得る。
図1に示すように、例証的なサーバ・コンピューティング装置150は、ユーザ・コンテント160、コンテキスト・データ162、ユーザ・コーパス164、字句空間166、及びユーザ・プロファイル168を実施させたデータ記憶装置158、入出力サブシステム156、メモリ154、及びプロセッサ152を含む。ユーザ・コンテント122は、つながり推奨システム136,174に参加しているコンピューティング装置ユーザの組におけるコンピューティング装置ユーザの一又は複数によって作成されたユーザ・コンテント122を含む。例えば、ユーザ・コンテント160は、参加しているコンピューティング装置ユーザ全てのユーザ・コンテント122全ての集約として実施し、それにより、コンピューティング装置ユーザの何れかが、何れかのユーザ・コンテント122を共通に有しているか否かについてのシステム136、174による判定を容易にし得る。コンテキスト・データ162は、つながり推奨システム136、174に参加しているコンピューティング装置ユーザの組におけるコンピューティング装置ユーザの一又は複数についてのコンテキスト・データ124を含む。例えば、コンテキスト・データ162は、参加しているコンピューティング装置ユーザ全てについてのコンテキスト・データ124全ての集約として実施し、それにより、コンピューティング装置ユーザの何れかがコンテキスト・データ124を共通に有しているか否かについての、システム136、174による判定を容易にし得る。
【0026】
ユーザ・コーパス164は、各ユーザ・コーパス126を含み、参照し、又は規定する。例えば、システム136、174に参加しているコンピューティング装置ユーザそれぞれのユーザ・コーパス126が、コーパス164に含まれ、参照され、又は規定される。字句空間166は、ユーザ・コーパス164の本体全体に関係する個々のコーパス126それぞれについての意味論的情報及び/又は語彙情報を表すコンピュータ・プログラミング構成要素(例えば、多次元ベクトル)として実施される。例えば、字句空間166は、参加しているコンピューティング装置ユーザそれぞれの個々の字句空間128それぞれの集約として実施し得、それにより、以下に説明する、コンピューティング・システム100によって行なわれるクラスタリングを容易にし得る。ユーザ・プロファイル168は、つながり推奨システム136、174に参加しているコンピューティング装置ユーザの一又は複数のユーザ・プロファイル130を含む。例えば、ユーザ・プロファイル168は、参加しているコンピューティング装置ユーザ全てのユーザ・プロファイル130全ての集約として実施し得、それにより、コンピューティング装置ユーザの特定の対に対してつながり推奨を行うか否かについての、コンピューティング・システム100による判定を容易にし得る。一般に、つながり推奨システム174のサーバ部分は、本明細書及び特許請求の範囲記載の機能を行うために必要に応じて、本明細書及び特許請求の範囲記載のデータ(例えば、ユーザ・コンテント122、160、コンテキスト・データ124,162、ユーザ・コーパス126、164、字句空間128、166、ユーザ・プロファイル130、168他)のいくつか又は全てにアクセスし得る。本明細書及び特許請求の範囲に記載されているデータ、又は、本明細書及び特許請求の範囲記載の機能を行うために必要なそれ以外のデータ(例えば、ユーザ・コンテント122、160、コンテキスト・データ124,162、ユーザ・コーパス126、164、字句空間128、166、ユーザ・プロファイル130、168他)の何れか又は全てを、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせで実施し得る。
【0027】
サーバ・コンピューティング装置150は更に、ユーザ・インタフェース・サブシステム170、ソーシャル・ネットワーク・サービス172、つながり推奨システム174の「遠隔部分」、及び通信サブシステム176を含む。ソーシャル・ネットワーク・サービス172は、ユーザのためのソーシャル・ネットワーク・データを提供することが可能な何れかのコンピュータ化されたサービス又はサービスの組み合わせ(例えば、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせ)として実施し得る。本明細書及び特許請求の範囲記載の「ソーシャル・ネットワーク・データ」は、とりわけ、一又は複数のコンピューティング装置ユーザ、及びユーザ間での二者のつながりを識別するデータを表し得る。ソーシャル・ネットワーク・サービス172は、ソーシャル・メディア・サイト、ユーザの電子連絡先システム、電子メール・サービス、電子メッセージング・サービス、ブロッギング・サービス、カレンダー・サービス、アドレス帳、関係管理システム(例えば、顧客関係管理又はCRMシステム)及び/又は、ユーザ及びつながりの情報を含み得る他の電子サービス若しくはアプリケーションを含み得る。
【0028】
つながり推奨システム174の「遠隔部分」は、本明細書及び特許請求の範囲記載の機能を行うことができる何れかのタイプのコンピュータ・アプリケーション(例えば、ハードウェア、ソフトウェア、又はそれらの組み合わせ)として実施し得る。例えば、つながり推奨システム174は、
図2に示し、以下に説明するつながり生成器モジュール220の部分を含めるよう実施し得る。代わりに、又は更に、コンピューティング・システム100の種々のユーザ及び/又はコンピューティング・システム100によるユーザ・プロファイル130、168、字句空間128、166、ユーザ・コーパス126、164、コンテキスト・データ124、162、並びにユーザ・コンテント122、160の作成及び更新を維持又は監視するための機能を含み得る。例えば、つながり推奨システム174は、コンピューティング・システム100のユーザのうちの一ユーザ、又はコンピューティング・システム100によって行われたユーザ・コンテント122、160又はユーザ・プロファイル130、168に対する更新の検出に応じて同時につながり生成器モジュール220を実行し得る。
【0029】
当然、サーバ・コンピューティング装置150は、他の実施例において、移動式及び/又は固定式コンピュータに通常みられるものなどの他の、又は更なる構成部分(例えば、種々のセンサ及び入出力装置)を含み得る。更に、一部の実施例では、例証的な構成部分の1つ又は複数は、別の構成部分に組み入れ、又は、その以外のやり方で、別の構成部分の一部分を構成し得る。例えば、つながり推奨システム174、又はそれらの一部分は、一部の実施例では、ソーシャル・ネットワーク・サービス172に組み入れ得る。クライアント・コンピューティング装置110の構成要素の上記説明は、同一又は同様の名称(例えば、プロセッサ112及びプロセッサ152等)を有するサーバ・コンピューティング装置150の構成要素に該当する。よって、話を簡潔にするために、上記説明はここでは繰り返さない。更に、同じユーザ又は別々のユーザに属するデータ及び/又はコンテントの部分が、(例えば、分散コンピューティング環境における)複数のコンピューティング装置上に存在し得るということを例証するために、ユーザ・コンテント122、160及びユーザ・プロファイル130、168などのデータの別個のインスタンスが、クライアント・コンピューティング装置110上及びサーバ・コンピューティング装置150上それぞれに存在しているものとして示している。
【0030】
ネットワーク180は、セルラ・ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク(例えば、ワイファイ(登録商標)、パーソナル・クラウド、仮想パーソナル・ネットワーク(例えば、VPN)、エンタープライズ・クラウド、パブリック・クラウド、イーサネット(登録商標)、インターネットなどのパブリック・ネットワーク、又はそれらの組み合わせとして実施し得る。あるいは、又は更に、ネットワーク180は、例えば、ブルートゥース(登録商標)及び/又は近距離通信(NFC)手法を使用してサーバ・コンピューティング装置150とクライアント・コンピューティング装置110との間の近距離無線通信を可能にし得る。本明細書及び特許請求の範囲記載の教示は、ネットワーク180に使用される基礎ネットワーク技術に関して効率的に動作するよう必要に応じて適合させ、又は調節し得る。更に、他の手法又はプロトコル(例えば、TCP/IP他)を改変なしでネットワーク180にわたって実現し得る。
【0031】
次に
図2を参照するに、一部の実施例では、コンピューティング・システム100は、動作中、環境200を確立する。特定の時点において、例証的な環境200は、サーバ・コンピューティング装置150上及びクライアント・コンピューティング装置110上の一方又は両方のアクティブな(例えば、ロードされた、及び/若しくは実行中の)構成部分を含み得る。例証的な実施例では、前述の構成部分は、コーパス開発モジュール210、コンテント特性抽出モジュール212、ユーザ・プロファイル生成器214、字句空間構築器216、コンテキスト抽出モジュール218、つながり生成器モジュール220、クラスタリング・モジュール222、及びソーシャル・ネットワーク識別子モジュール228を含むいくつかのモジュールとして実施される。コーパス開発モジュール210、コンテント特性抽出モジュール212、ユーザ・プロファイル生成器214、字句空間構築器216、コンテキスト抽出モジュール218、つながり生成器モジュール220,クラスタリング・モジュール222、ソーシャル・ネットワーク識別子モジュール228、及び/又は本明細書及び特許請求の範囲記載の機能を行うための何れかの他のモジュールのそれぞれは、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせで実現し得る。
【0032】
動作中、コーパス開発モジュール210は、参加しているコンピューティング装置ユーザ毎にコーパス126を作成する。これを行うために、コーパス開発モジュール210は、コーパス126に含めるためのユーザ・コンテント122を選択し、選択されたユーザ・コンテント122が(例えば、メタデータ又はキーワード・クエリを介して)サーチ可能であるように、索引化され、コーパス126に記憶される。コーパス126に含めるためのユーザ・コンテント122を選択するうえで、コンテント特性抽出モジュール212及び/又はコンテキスト抽出モジュール218は、コーパス126に含める前にユーザ・コンテント122をフィルタリングするためにコーパス開発モジュール210によって使用し得るコンテント特性情報及び/又はコンテキスト・データ124を供給するよう使用し得る。例えば、コンテント特性抽出モジュール212は、ユーザ・コンテント122に対して情報抽出手法を行って、コーパス126を選択的に規定するために使用し得る1つ又は、コーパス126を選択的に規定するために使用し得る複数の上位トピック又は作家特有の質をそこから導き出し得る。これを行うために、コンテント特性抽出モジュール212は、例えば、トピック抽出手法又は形態素解析を行い得る。このようにして、コーパス126は、特定のトピック若しくは主題(例えば、「ドメイン」)、又は特定のタイプのコンテント(例えば、学術論文又は非公式の会話メッセージ)に限定され得る。同様に、コンテキスト抽出モジュール218は、特定のコンテキスト・データ124に関するユーザ・コンテント122にコーパス126を限定するためにコーパス開発モジュール210によって使用し得るコンテキスト・データ124をコーパス開発モジュール210に供給し得る。コンテキスト・データ124は例えば、日時情報、ユーザ位置情報、無線アクセス・ポイント、ネットワーク・タイプ情報、又はユーザの現在の地理的位置又は現在のコンテキストを判定するために使用し得る他の情報を含み得る。例えば、コーパス開発モジュール210は、特定の期間中に、又はユーザが特定の地理的位置に物理的に存在している間に作成されたユーザ・コンテント122のみ(例えば、ユーザが会議に出席している間に送出されたツイート全て)を含めるようコーパス126を開発し得る。
【0033】
字句空間構築器216は、システム136,174に参加しているコンピューティング装置ユーザ毎に、コーパス126に対して字句及び/又は意味論的コンテント解析をアルゴリズム的に行うことにより、字句空間128、166を構築する。前述のプロセスは、字句空間128、166におけるコーパスの範囲の判定として表し得る。コンテント解析は例えば、コーパス126から、多義性の低い語彙項目の抽出を含み得る。これを行うために、例証的な字句空間構築器216は、多義性の高い語彙項目の優先度を下げ、又は多義性の高い語彙項目を除外するために、修正された逆文書頻度手法などの数学的手法を適用する。語彙項目の「多義性が高い」か否かを判定するために、字句空間構築器216は言語モデル230とインタフェースして、語彙項目の言語頻度(例えば、言語モデル230における語彙項目の生起の頻度)についての情報を得る。字句空間構築器216は、高い言語頻度を有する単語が割愛された後で残っている語彙項目の組から数学モデル(例えば、「単語の袋」モデル)を作成する。字句空間構築器216は、例えばピック・リストを使用して1つ又は複数の関心語で数学モデルを拡大し得る。言語モデル230は、例えば、言語(例えば、アメリカ英語)において使用される単語のリスト、及び言語の使用における各単語の生起の頻度を示すデータを含むルックアップ・テーブル、コンピュータ・ファイル、又はデータベースとして実施し得る。オープン・ソース・リソースとして利用可能な言語モデルの例は、ワードネット(WORDNET)である。本明細書及び特許請求の範囲記載の「単語の袋」は、とりわけ、ベクトルとして文書を表す数学的モデルのタイプを表し得、ベクトル内の各位置は、文書中の語彙項目(例えば、単語)の生起の数を表す。
【0034】
多義性が低い語彙項目がコーパス126から抽出されると、字句空間構築器216は更に、「希な」単語又は語(例えば、コンピューティング装置ユーザの特定の関心、又は専門知識の分野を示し得る単語)に注力するために、抽出された語彙項目の抽出された組を更に精緻化し得る。これを行うために、字句空間構築器216は、抽出された語彙項目(例えば、単語又は語)のコーパス頻度及び言語頻度を解析し、コーパス頻度及び言語頻度に基づいて、抽出された語彙項目の部分集合を選択する。より具体的には、字句空間構築器216は、低コーパス頻度及び低言語頻度(コーパス頻度はコーパス126における単語又は語の生起の頻度を表し得、言語頻度は言語モデル230における生起の頻度を表し得る)を有する単語又は語のみを、抽出された語彙項目の部分集合に含め得る。コーパス頻度及び言語頻度は、一部の実施例では、単語の袋のモデルから判定し得る。このようにして、つながり推奨を見つけるために使用される抽出された語彙項目の部分集合は、低コーパス頻度及び低言語頻度を有する、ユーザのコーパス126内に見つかった多義性が低い語彙項目のみを含み得る。上記解析の特定の組み合わせは、「修正された文書頻度」として表し得る。
【0035】
コンテント解析の一部として、又は別個のプロセスとして、例証的なコンテント特性抽出モジュール212は、ユーザ・コンテント122、160から1つ又は複数のトピックを抽出し、又は、字句空間構築器216は、アルゴリズム的トピック抽出手法を使用してコーパス126に対してトピック抽出を行う。本明細書及び特許請求の範囲記載の「トピック」はとりわけ、ユーザ・コンテント122、160に含まれ、(例えば、言語頻度又はコーパス頻度に基づいて)関心があると判定された単語又は他の語彙項目を表し得る。トピックは更に、ユーザ・コンテント122、160において実際に生起する語彙項目の1つ又は複数を表すが、ユーザ・コンテント122、160においてそれ自身が実際に生起しない別の語彙項目を表し得る。例えば、トピックは、ユーザ・コンテント122、160において生起しないが、より具体的なレベルにおいてでも、より抽象的なレベルにおいてでも、ユーザ・コンテント122、160に含まれる1つ又は複数の語彙項目の意味を表す。そういうものとして、トピックは、一部の実施例において、実際のユーザ・コンテント122、160から導き出されたカテゴリ、タイプ、又はラベルを含み得る。
【0036】
ソーシャル・ネットワーク識別器モジュール228は、システム136、174に参加しているコンピューティング装置ユーザ毎にソーシャル・ネットワーク・データを得るためにつながり推奨システム136、176において使用される対象のソーシャル・グラフ226を識別する。例えば、つながり推奨システム136、174が、ソーシャル・ネットワーク・データを得るために1つ又は複数の外部サービスとインタフェースした場合、ソーシャル・ネットワーク識別子モジュール228は、ユーザが属するソーシャル・ネットワーク・サービス172全てのリスト、及び/又はユーザが使用する電子メール・サービスのリストを作成し、維持し得る。ソーシャル・ネットワーク識別器モジュール228は、ユーザから直接(例えば、ユーザ・インタフェース・サブシステム134を介して)前述の情報を要求し得、かつ/又は、自動化された手法の使用により(例えば、ソフトウェア・サービス・プロバイダが公開するアプリケーション・プログラミング・インタフェースすなわちAPIを介して)前述の情報を取得し得る。他方で、つながり推奨システム136、174がソーシャル・ネットワーク・サービス172の一部として組み入れられていた場合、ソーシャル・ネットワーク識別器モジュール228は、システム136、174による使用のためにソーシャル・グラフ226の一部分を提供し得、又は、ソーシャル・グラフ226にアクセスするための機構(例えば、ファンクション・コール)を提供し得る。
【0037】
ユーザ・プロファイル生成器214は、システム136、174に参加しているコンピューティング装置ユーザ毎にユーザ特有プロファイル130、160を生成する。ユーザ・プロファイル生成器214は更に、例えば、ユーザ・インタフェース・サブシステム134を介してつながり推奨システム136、174によって受け取り、又は得られ得るユーザ・フィードバック232に応じてユ―ザ・プロファイル130、168を時々更新し得る。
【0038】
つながり生成器モジュール220は、上記抽出された語彙項目の部分集合及びユーザ・プロファイル130、168に基づいて時々、システム136、174に参加しているコンピューティング装置ユーザに対するつながり推奨224を生成する。より具体的には、つながり推奨224は、字句空間構築器216によって行われるコンテント解析、及び、ソーシャル・ネットワーク識別器モジュール228によって識別されたサービスから取得し得るソーシャル・グラフ226から少なくとも部分的に導き出される。一部の実施例では、つながり生成器モジュール220は、コンテキスト抽出モジュール218から得られたコンテキスト情報、及び/又はコンテント特性抽出モジュール212から得られたコンテント特性情報により、つながり推奨224をフィルタリングする。例えば、つながり生成器モジュール220は、そのユーザ・コンテント122が、現在のユーザと同じ地理的位置にいる人々のみを含め、又は現在のユーザのコンテントと同じタイプのスタイロメトリック(stylometric)品質を明示する人々のみを含めるようソーシャル・グラフ226をプルーニングし得る。
【0039】
クラスタリング・モジュール222は、システム136、174に参加しているコンピューティング装置ユーザの抽出された語彙項目の部分集合に対してコンテント・クラスタリングをアルゴリズム的に行う。これを行うために、例証的なクラスタリング・モジュール222は、抽出された語彙項目の部分集合間のコンテント類似度(例えば、語彙類似度及び/又は意味類似度)の尺度を計算し、計算された意味類似度に基づいて、抽出された語彙項目の部分集合をクラスタリングする。参加しているユーザ全ての抽出された語彙項目の部分集合は例えば、字句空間166及び/又はコーパス164から取得し得る。例として、抽出された語彙項目の2つ以上の部分集合は、抽出された語彙項目の部分集合間の語彙の距離、及び/又は意味距離が短い場合に一緒にまとまり得る。逆に、抽出された語彙項目の2つの部分集合間の語彙の距離、及び/又は意味距離が長い場合、上記部分集合は、一緒にまとまらないことがあり得る。本明細書及び特許請求の範囲記載の「クラスタリング」はとりわけ、意味類似度及び/又は語彙類似度に基づいて、抽出された語彙項目の部分集合を一緒にするための数学的アルゴリズムの実行を表し得る。抽出された語彙項目の部分集合間の語彙の距離及び/又は意味距離を計算するために、オントロジ、グラフ、及び/又は統計手法を使用し得る。例えば、階層的なオントロジにより、オントロジにおけるノード間又は「概念」間のリンクの数を求めることにより、語彙の距離及び/又は意味距離を計算することが可能である(例えば、より大きなリンク数は、より長い距離を示す)。
【0040】
クラスタリング・モジュール222によって行われたクラスタリング、並びに、ユーザ・プロファイル130、168、コンテント特性抽出モジュール212、及び/又はコンテキスト抽出モジュール218(存在する場合)によって提供された他の情報に基づいて、つながり生成器モジュール220はつながり候補の組を識別する。つながり候補の組は、例えば、クラスタリング・モジュール222によって求められるように、抽出された語彙項目の組が一緒にまとまったコンピューティング装置ユーザの対又はグループを含み得る。つながり生成器モジュール220は、(ソーシャル・グラフ226によって示されるように)つながり候補の何れかが、関係が親密であるか否かを判定するためにソーシャル・グラフ226を表す。つながり生成器モジュール220は、ソーシャル・グラフ226に応じて、ユーザとの関係が親密なつながり候補の組から個人を除外するために、ソーシャル・グラフ226を使用してつながり候補の組を「プルーニング」する。互いに又はユーザと関係が疎い人々のみ、若しくは、主に互いに又はユーザと関係が疎い人々を含めるようつながり候補の組がプルーニングされると、つながり生成器モジュール220はつながり推奨224を生成する。
【0041】
ソーシャル・グラフをプルーニングし、又はつながり推奨224を生成するうえで、つながり生成器モジュール220は、ユーザ毎にコンテキスト抽出モジュール218によって供給されたコンテキスト・データ124を検討し得る。個々のユーザについて、コンテキスト抽出モジュール218は、周期的に、又はトリガ動作(例えば、つながり生成器モジュール220からの要求)に応じて、センサ132からコンテキスト・データ124を取得し、(例えば、アナログ対ディジタル変換器及び/又は信号処理手法(必要に応じて))を使用して)つながり生成器モジュール220によって使用するためにそれをフォーマッティングする。上述の通り、コンテキスト・データ124は、ユーザ全てにわたって集約し、コンテキスト・データ166として記憶し得る。そういうものとして、つながり生成器モジュール220は、複数のユーザにわたり(例えば、つながり候補全てにわたり、)コンテキスト・データ124を比較し、類似したコンテキスト・データ124を有するつながり候補のみを含むつながり候補の部分集合を生成することにより、フィルタとしてコンテキストを使用し得る。このようにして、コンピューティング装置ユーザの現在のコンテキストに応じて違ったふうにつながり推奨224を生成し得る。すなわち、つながり推奨224は、コンテキスト・データ124における変更に基づいて流転し、流動的であり得る。例として、つながり生成器モジュール220は、ユーザ、及び/又は、つながり候補の一若しくは複数が、情報科学の会議にいるか、又は子どものフットボールの試合にいるとしてコンテキスト抽出モジュール218によって検出されることに応じて、別のソーシャル・グラフ226を利用し、又は違ったふうにつながり候補の組をプルーニングし得る。
【0042】
つながり推奨224は、ユーザ又はコンピューティング・システム100が(例えば、ユーザ選択可能なグラフィカル制御ボタンにより、)つながり推奨224をそれによって実行することが可能な手段、及び、(例えば、個人の名前、又はユーザ名により、)システム136,174に参加しているコンピューティング装置ユーザの対、グループ、若しくは組み合わせを識別する情報を含み得る。つながり推奨224が、推奨された二以上のユーザを含む場合、推奨されたユーザのリストは、例えば、関係距離又は意味距離に基づいて順序付けし、又はランク付けし得る。例えば、より大きな度合いの関係距離、又はより高い度合いの意味論的類似度は、リストにおける推奨されたつながりのランク付けを向上させ得る。つながり推奨システム136,174は主に、ユーザ生成コンテント122、160の意味論的解析に基づいたつながりの提案に関する。他の実施例では、つながり推奨システム136、174はユーザのタイピング活動の特性及び/又は作家特有の質を解析し、前述の解析は、つながり推奨224を生成するために使用される。
【0043】
次に
図3を参照するに、つながり推奨224を生成する方法300の例を示す。方法300の一部分は、コンピューティング・システム100によって(、例えば、クライアント・コンピューティング装置110及び/又はサーバ・コンピューティング装置150によって)実行し得る。ブロック310では、コンピューティング・システム100は、つながり推奨224を生成する対象のコンピューティング装置ユーザの組のうちのコンピューティング装置ユーザを識別する。これを行うために、コンピューティング・システム100は、ユーザ名、装置識別子(例えば、国際移動体装置識別番号すなわちIMEI)、又はネットワーク・アドレス(例えば、メディア・アクセス制御若しくはMACアドレス)などのユーザ識別情報を取得する。ユーザ識別情報は、例えば、ユーザのログイン時にコンピューティング・システム100によって取得し得る。コンピューティング装置ユーザの組は例えば、システム136、174に参加しているコンピューティング装置ユーザのリストを参照することにより、コンピュータ・システム100によって規定し得る。コンピューティング装置ユーザは、(ソーシャル・ネットワーク・サービス172などの)連係オンライン・サービスへのユーザの以前の登録のおかげで、又は他の方法により、認可されたユーザとしてシステム136、174に登録した結果としてシステム136、174に「参加している」ことがあり得る。例えば、一部の実施例では、コンピューティング装置ユーザは、明示的にシステム136、174へ「加入し」得る一方、他の実施例では、コンピューティング装置ユーザは、別のサービスのその使用の結果としてシステム136、174に参加し得る。(更に、システム136、174からの「脱退を選ぶ」)機会が与えられ得る)。
【0044】
ブロック312で、コンピューティング・システム100は、つながり推奨を生成する目的で解析する対象のユーザ・コンテント122、160を選択する。ユーザ・コンテント122、160は、構造化されたコンテント、及び/又は構造化されていないコンテントを含み得る。ブロック314で、コンピューティング・システム100は、選択されたコンテントに、コンテキスト及び/又はコンテント特性フィルタを適用し得る。例えば、ユーザ・コンテントを選択し、又は選択されたコンテントをフィルタリングするために、コンピューティング・システム100は時間的基準(すなわち、最も直近に生成されたコンテント)、コンテント・タイプ基準(例えば、ブログ投稿でなく文書、テキスト・メッセージでなく電子メール等)、アプリケーション・タイプ基準(例えば、メッセージング又は写真共有でなく、ソーシャル・メディア)、主題基準(プロダクトX(ProductX)のみ)、又は解析する対象のユーザ・コンテントの範囲を規定するための何れかの他の適切な基準を使用し得る。コンピューティング・システム100は、(例えば、ユーザ・インタフェース・サブシステム134による)ユーザ入力の結果として、又は、例えば、つながり推奨システム136、174を予め構成することにより、適用可能な選択及び/又はフィルタリング基準を判定し得る。あるいは、又は更に、コンテキスト・データ124、162は、解析する対象のユーザ・コンテントを選択し、又はフィルタリングするために使用し得る。選択され(、適宜、フィルタリングされた)ユーザ・コンテント122、160は、ユーザ・コーパス126に記憶され、又はユーザ・コーパス126によって参照される。
【0045】
一部の言語では、単語に関連付けられた意味の数(多義性)、及び言語内の単語の生起の頻度(言語頻度)は相関性が高い。すなわち、頻繁に使用されている単語は多くの意味を有している可能性が統計的に、より高いことがあり得る。例えば、「horse」という単語は、動物、体操器械、チェスの駒、騎兵部隊他を含む、(単純な辞書である)コリンズ(Collins)辞典において10を超える、単語の意味を有する。「Horse」は、英語において比較的高頻度な単語でもある。よって、コンピューティング・システム100の実施例は、より低い頻度の単語に文書解析を注力することにより、単語、又は連結された単語の意味を識別する。例えば、コンピューティング・システム100は、より低い言語頻度を有する単語に、より高い重みを割り当て得る。
【0046】
一部の場合には、単語はコーパス126において一度のみ生起し得る。これは、「ただ1度しか用いられていない語(hapa legonoma)」として知られている。前述の単語は、希である一方、ユーザのコンテント122、160における特定の概念の強い存在を示す訳でないことがあり得る。例えば、小説モービー・ディック(白鯨)(20万を超える別々の単語を有する、英語における最長の小説の1つ)における単語の約44%は、ただ1度しか用いられていない語であり、単語のうちの別の17%は2度しか生起しない。ただ1度しか用いられていない語に対応するために、コンピューティング・システム100の実施例は、(例えば、少なくとも部分的に、単語の希少性に基づいて単語の部分集合を選択し、より希少性の高い単語の重みを増すことにより、)言語において、頻度がより低い単語に文書解析を注力し得る。ブロック318、320の出力は、ユーザのコーパス126から抽出されている語彙項目(例えば、単語)の部分集合であり、多義性が低く、言語頻度が低く、コーパス頻度が低い1つ又は複数の語彙項目を含む。
【0047】
ブロック318、320では、コンピューティング・システム100は、文書解析手法を使用して、ブロック312で作成されたユーザ・コーパス126に少なくとも部分的に基づいて字句空間128、166を構築する。例えば、コンピューティング・システム100はコーパスからテキストを抽出し、使用頻度が高い単語(例えば、多義性が高い単語)を廃棄し、使用頻度が低い単語(例えば、多義性が低い単語)に、より高い重み値を割り当てる。コーパス126に頻繁に生起している希な(多義性が低い)単語は、関心のトピックを識別するためにコンピューティング・システム100によって使用し得る。ブロック320で、コンピューティング・システム100は、低い言語頻度及び低いコーパス頻度を有する抽出された、多義性の低い単語の部分集合をアルゴリズム的に識別する。部分集合を識別し、又は作成するために、コンピューティング・システム100は例えば、低い言語頻度を有する抽出された語彙項目の重み値を調節し(例えば、増やし)得る。
【0048】
ブロック316で、コンピューティング・システム100は、システム136、174によって作成されたつながり候補の組をフィルタリングするために使用される対象のソーシャル・ネットワーク・データを識別する。ブロック316として描かれた機能は、一部の実施例では、ブロック312及び/又はブロック318の機能と同時に、コンピューティング・システム100によって行い得る。これを行うために、コンピューティング・システム100は、(例えば、つながり推奨システム136、174が既存のソーシャル・ネットワーク・サービスに組み入れられた実施例では、)ユーザのソーシャル・グラフ226に直接アクセスし得、又は、コンピューティング・システム100は、例えば、アプリケーション・プログラミング・インタフェース(API)を介して、潜在的なつながり(例えば、コンピュータ・ファイルに、又は外部のソーシャル・メディア・サービスによって維持されるソーシャル・グラフ又は連絡先リスト)についての情報にアクセスし得る。ブロック322で、コンピューティング・システム100は、ブロック318、320でユーザ・コンテントから導き出された語彙項目の部分集合を識別し、更に、ブロック316で得られたソーシャル・ネットワーク情報を含む、ユーザについてのユーザ・プロファイルを作成する。一部の実施例では、ユーザ・プロファイルは、コンテント特性抽出モジュール212により、ユーザ・コンテントから抽出されたコンテント特性情報、及び/又はコンテキスト・データ124、ユーザによって供給される構造化された情報(例えば、個人の選好、人口統計情報等)などの他の情報を含み得る。
【0049】
ブロック324で、コンピューティング・システム100は、本明細書及び特許請求の範囲記載の手法を使用して1つ又は複数のつながり推奨を生成する。ブロック326で、(例えば、ネットワーク上の他のコンピューティング装置ユーザによって)開発され、又はアクセスされており、本明細書及び特許請求の範囲記載の「修正された文書頻度」手法によって導かれるやり方でユーザ自身のコンテントと意味論的に類似しているコンテントを見つけるよう1つ又は複数のコンテント・クラスタリング・アルゴリズムが実行される。すなわち、コンピューティング・システム100は、ブロック318、320において識別された、多義性が低い単語にコンテント・クラスタリングを注力する。これを行うために、例証的なコンピューティング・システム100は、ブロック318、320で、ユーザについて作成された語彙項目の部分集合と、システム136、174に参加している他のコンピューティング装置ユーザについて同様に作成された語彙項目の部分集合との間の意味距離を計算するために、1つ又は複数のクラスタリング・アルゴリズムを適用する。クラスタリング・アルゴリズム及び手法の一部の例には、CLIQUE、SUBCLU、OSCLU、及び潜在的ディリクレ配分法(latent Dirichlet allocation)がある。
【0050】
ブロック328では、コンピューティング・システム100は、ブロック326で行われたコンテント・クラスタリング・アルゴリズムに基づいてつながり候補の組を生成する。つながり候補の組は、ブロック326で計算された意味距離の長さに基づいて生成される。例えば、抽出された語彙項目の2つのユーザのそれぞれの部分集合間の意味距離が短い場合、コンピューティング・システムは、対におけるユーザの一方又は両方のつながり候補として、つながり候補の組にユーザの対を追加し得る。コンピューティング・システム100は、例えば、クラスタリングされたコンテントに関連付けられたユーザ識別子(例えば、文書上の著者名、メッセージ送信者識別子等)を取得することにより、クラスタリングされたコンテントに関連付けられたユーザを識別する。ユーザ識別情報は例えば、クラスタリングされたコンテントに関連付けられ、又は付加されたメタタグに含まれ得る。ブロック330で、コンピューティング・システム100は、コンテキスト又はコンテント特性フィルタリングをつながり候補の組に対して行い得る。例えば、コンピューティング・システム100は、コンテキスト・データがユーザの現在のコンテキストに一致しない何れかのつながり候補を、つながり候補の組から除外し、又は、コンテキスト・データがユーザの現在のコンテキストに一致するユーザを、つながり候補の組に付加し得る。これを行うために、コンピューティング・システム100は、センサ132の1つ又は複数をポーリングし得る。センサ・データが利用可能な場合、コンピューティング・システム100はセンサ・データからコンテキスト・データ124を抽出する。例えば、コンピューティング・システム100は、センサ・データから位置座標、又は地理情報の他の指標を取得し、(例えば、地理マッピング・ソフトウェアとインタフェースすることにより、)ユーザの現在の予想位置を求め得る。地理的位置データ及び他のテキスト・データ124は、一部の実施例では、クライアント・コンピューティング装置110上で実行している別のソフトウェア・アプリケーションによって公開され得る。本明細書及び特許請求の範囲記載の「コンテキスト・データ」はとりわけ、出力のテキスト・クラスタリング、及び(地理的位置、近接性等などの)センサ・データから導き出された情報、又は検知された情報を含み得る。
【0051】
ブロック332で、ソーシャル・グラフ226においてユーザとの関係が親密であると判定されたつながり候補をつながり候補の組から除外する。すなわち、コンピューティング・システム100は、ブロック316において得られたソーシャル・グラフ226を使用して、ユーザのソーシャル領域内に既にいるつながり候補を取り除くことが可能である。これを行うために、人々が(例えば、1又は2度以内で)関係が親密な場合、リンク(関連付け)に割り当てられる重みが低くなるように、ソーシャル・グラフ226内のその関係距離に基づいて人々の間のリンクを重み付けることが可能である。人々が、ソーシャル・グラフ226において関係が疎い場合、より高い重みをリンクに割り当てることが可能である。解析の終了時に、コンピューティング・システム100はつながり候補のリストから低く重み付けされたリンクを有する候補を除去し、ユーザとの関係が疎い候補のみがつながり推奨について考慮に入れられる。前述及び他のやり方で、コンピューティング・システム100は、意味論的クラスタリング・ツールをソーシャル・グラフ226と組み合わせて、バルカン化(例えば、既に存在しているつながりを効果的にイネーブルすることにより、個人の世界を小さい状態に維持する、ソーシャル・ネットワークの傾向)に対する傾向を阻害する。
【0052】
一部の実施例では、(例えば、「強い」結びつき又は「弱い」結びつきを示すものとして)二値の態様でソーシャルなつながりを解釈するよりも、コンピューティング・システム100は、特定の時点において、何れの一個人でも、別の個人との関係が、親密性及び距離の潜在的に不可知であり、かつ絶えず変化する組み合わせであり得るような「連続」変数としてつながりの強さを使用する。すなわち、ユーザとつながり候補との間の何れかの特定のリンクに対してコンピューティング・システム100によって割り当てられる重みは、(例えば、コンテキスト・データ124に基づいて)可変であり得る(例えば、経時的に調節し得る)。
【0053】
コンピューティング・システム100はブロック334で、(例えば、ユーザ・インタフェース・サブシステム134を介して)ユーザに向けてつながり推奨を提示し、ブロック336で、つながり推奨の提示に応じてユーザ・フィードバック232を(例えば、クライアント・コンピューティング装置110のカメラ又はタッチ画面を介して)取得し、又は確認する。例えば、コンピューティング・システム100は、つながり提案が有用であるか、又は歓迎されているか否かについての暗黙的又は明示的ユーザ・フィードバックを捕捉し得る。ブロック338で、コンピューティング・システム100は、ブロック336で、(例えば、ユーザ・フィードバックから得られた情報を含めるよう)ユーザ・プロファイルを更新し得る。例えば、コンピューティング・システム100は、ユーザ・フィードバックに応じて違ったふうに、抽出された語彙項目の部分集合を修正し、又はソーシャル・グラフをプルーニングし得る。
【0054】
コンピューティング・システム100は、特定のトピックについて議論する相互の傾向、又は特定の書き方を共通に有していることなどの、ユーザが探すために分からないことがあり得ることという共通性に基づいた関係をユーザが見つけることを助けるよう企図されている。例として、大企業の従業員が、同様な課題に直面した他の従業員を見つけることにより、その作業を容易にしたいと仮定する。従業員のうちの一人が、外国の教育省に供給業者を介して教育手法を販売した過去の経験を有している場合、前述の情報は、他者が発見することを容易にする(例えば、「専門知識リスト」上の)構造化された態様において明示的に捕捉することが困難であっても有用であり得る。更に、簡潔な、容易にサーチ可能な形式で専門知識のタイプを適切に伝えることが可能な単語又は句(例えば、キーワード)が存在しないことがあり得る。前述及び他の状況では、コンピューティング・システム100は、構造化されたやり方でそれらの専門知識の分野、及びシステムに対するニーズを明示的に規定するという時間がかかる作業を避けながら、同じタイプの専門知識を求めている他の人々と、専門知識を有する個人がつながることを可能にし得る。
【0055】
例
本明細書及び特許請求の範囲記載の手法の例証的な例を以下に記載する。上記手法の実施例は、以下に説明する例の何れか1つ又は複数、及び何れかの組み合わせを含み得る。
【0056】
例1は、つながり推奨を生成するコンピューティング装置を含み、コンピューティング装置は、コンピューティング装置ユーザの組におけるコンピューティング装置ユーザのために、ユーザ生成された電子コンテントをコーパスに含めるためのコーパス開発モジュールと、低コーパス頻度及び低言語頻度を有する、多義性が低い語彙項目をコーパスから選択するための字句空間構築器モジュールと、選択された部分集合、及びユーザの組における他のユーザの抽出された語彙項目の部分集合に対してコンテント・クラスタリングを行うためのクラスタリング・モジュールと、(i)コンテント・クラスタリングに少なくとも部分的に基づいてユーザの組におけるその他のユーザの1つ又は複数を含むつながり候補の組を識別し、(ii)ユーザに対して短い関係距離を有するつながり候補をつながり候補の識別された組から除去し、(iii)ユーザに対して短い関係距離を有するつながり候補がつながり候補の組から除去された後、つながり候補の組に残っているつながり候補の少なくとも1つを識別するつながり推奨を提示するためのつながり生成器モジュールとを備える。
【0057】
例2は例1の主題を含み、つながり生成器モジュールは、コンピューティング装置のセンサによって得られたコンテキスト・データを受け取り、少なくとも部分的にコンテキスト・データに基づいてつながり推奨を修正する。
【0058】
例3は例1又は例2の主題を含み、コーパス開発モジュールは、コンピューティング装置のセンサによって得られたデータを含むコンテキスト・データを受け取り、少なくとも部分的にコンテキスト・データに基づいてコーパスに含めるために、ユーザ生成された電子コンテントを選択する。
【0059】
例4は例1又は例2の主題を含み、つながり生成器モジュールは、コンテントの特性に少なくとも部分的に基づいてつながり推奨を修正し、コンテントの特性は、トピック解析、及びスタイロメトリック解析の1つ又は複数によってアルゴリズム的に求められる。
【0060】
例5は例1又は例2の主題を含み、コーパス開発モジュールは、コンテントの特性に少なくとも部分的に基づいて、ユーザ生成された電子コンテントを選択し、コンテントの特性は、トピック解析、及びスタイロメトリック解析の1つ又は複数によってアルゴリズム的に求められる。
【0061】
例6は例1又は例2の主題を含み、字句空間構築器モジュールは、コンピューティング装置ユーザのコーパス全てにおける単語の数に対応する次元の数を含む多次元空間を構築し、多次元空間の次元それぞれは、コーパスの少なくとも1つに存在している語彙項目を表す。
【0062】
例7は例1又は例2の主題を含み、字句空間構築器モジュールは、抽出された語彙項目の言語頻度に応じて、抽出された語彙項目に対して重みを割り当てる。
【0063】
例8は、コンピューティング装置ユーザ毎に、コンピューティング装置ユーザのソーシャル・ネットワークを識別するためのソーシャル・ネットワーク識別子モジュールを含み、つながり生成器モジュールは、識別されたソーシャル・ネットワークからのつながり候補とコンピューティング装置ユーザとの間の関係距離を示すデータを得る。
【0064】
例9は、識別されたソーシャル・ネットワーク、及び抽出された語彙項目の部分集合に関するデータを含むユーザ・プロファイルを策定するためのユーザ・プロファイル生成器モジュールを含み、つながり生成器モジュールは、少なくとも部分的にユーザ・プロファイルに基づいてつながり推奨を生成する。
【0065】
例10は例1又は例2の主題を含み、ユーザ生成された電子コンテントは自然言語入力を含む。
【0066】
例11は、例1又は例2の主題を含み、クラスタリング・モジュールは、コンピューティング装置ユーザの対の抽出された語彙項目の部分集合間の数値距離を計算する。
【0067】
例12は、例1又は例2の主題を含み、つながり生成器モジュールは、コンピューティング装置ユーザの対の抽出された語彙項目の部分集合間の計算された数値距離が短い場合に、つながり推奨を生成する。
【0068】
例13は、つながり推奨を生成する方法を含み、上記方法は、コンピューティング装置ユーザの組におけるコンピューティング装置ユーザのために、ユーザ生成された電子コンテントをコーパスに含める工程と、低コーパス頻度及び低言語頻度を有する、多義性が低い語彙項目をコーパスから選択する工程と、選択された部分集合、及びユーザの組における他のユーザの抽出された語彙項目の部分集合に対してコンテント・クラスタリングを行う工程と、コンテント・クラスタリングに少なくとも部分的に基づいてユーザの組におけるその他のユーザの1つ又は複数を含むつながり候補の組を識別する工程と、ユーザに対して短い関係距離を有するつながり候補をつながり候補の識別された組から除去する工程と、ユーザに対して短い関係距離を有するつながり候補をつながり候補の組から除去した後、つながり候補の組に残っているつながり候補の少なくとも1つを識別するつながり推奨を提示する工程とを含む。
【0069】
例14は例13の主題を含み、コンピューティング装置のセンサによって得られたコンテキスト・データを受け取る工程と、少なくとも部分的にコンテキスト・データに基づいてつながり推奨を修正する工程とを含む。
【0070】
例15は例13の主題を含み、コンピューティング装置のセンサによって得られたコンテキスト・データを受け取る工程と、少なくとも部分的にコンテキスト・データに基づいて、ユーザ生成された電子コンテントを選択する工程とを含む。
【0071】
例16は例13の主題を含み、コンテントの特性に少なくとも部分的に基づいてつながり推奨を修正し、コンテントの特性は、トピック解析、及びスタイロメトリック解析の1つ又は複数によってアルゴリズム的に求められる。
【0072】
例17は例13の主題を含み、コンテントの特性に少なくとも部分的に基づいて、ユーザ生成された電子コンテントを選択する工程を含み、コンテントの特性は、トピック解析、及びスタイロメトリック解析の1つ又は複数によってアルゴリズム的に求められる。
【0073】
例18は、例13の主題を含み、コンピューティング装置ユーザの組におけるコンピューティング装置ユーザ全てのコーパス全てにおける語彙項目の数に対応する次元の数を含めるよう多次元空間を規定する工程と、コーパスの少なくとも1つに存在している語彙項目を表すよう次元それぞれを規定する工程とを含む。
【0074】
例19は、例13の主題を含み、抽出された語彙項目の言語頻度に応じて、抽出された語彙項目に重みを割り当てる工程を含む。
【0075】
例20は、例13の主題を含み、コンピューティング装置ユーザのソーシャル・ネットワークを識別する工程と、識別されたソーシャル・ネットワークからのつながり候補とコンピューティング装置ユーザとの間の関係距離を示すデータを取得する工程とを含む。
【0076】
図21は、例20の主題を含み、識別されたソーシャル・ネットワーク及び抽出された語彙項目の部分集合に関するデータを含むユーザ・プロファイルを策定する工程と、ユーザ・プロファイルに少なくとも部分的に基づいてつながり推奨を生成する工程とを含む。
【0077】
例22は例13の主題を含み、ユーザ生成された電子コンテントは自然言語入力を含む。
【0078】
例23は例13の主題を含み、コンピューティング装置ユーザの対の抽出された語彙項目の部分集合間の数値距離を計算する工程を含む。
【0079】
例24は例13の主題を含み、コンピューティング装置ユーザの対の抽出された語彙項目の部分集合間の計算された数値距離が短い場合、つながり推奨を生成する工程を含む。
【0080】
図25は、コンピューティング装置によって実行されると、コンピューティング装置に、例13乃至24記載の何れかの方法を行わせる複数の命令を記憶させたメモリを含むコンピューティング装置を含む。
【0081】
図26は、実行されることに応じて、例13乃至24の何れかの方法をコンピューティング装置に行わせる複数の命令を記憶させた1つ又は複数のマシン読み取り可能な記憶媒体を含む。
【0082】
例27は、例13乃至24の何れかの方法を行う手段を含むコンピューティング装置を含む。
【0083】
例28は、つながり推奨を生成するコンピューティング装置を含み、コンピューティング装置は、コンピューティング装置ユーザの組におけるコンピューティング装置ユーザのために、ユーザ生成された電子コンテントをコーパスに含める手段と、低コーパス頻度及び低言語頻度を有する、多義性が低い語彙項目をコーパスから選択する手段と、選択された部分集合、及びユーザの組における他のユーザの抽出された語彙項目の部分集合に対してコンテント・クラスタリングを行う手段と、コンテント・クラスタリングに少なくとも部分的に基づいてユーザの組におけるその他のユーザの1つ又は複数を含むつながり候補の組を識別する手段と、ユーザに対して短い関係距離を有するつながり候補を、つながり候補の識別された組から除去する手段と、ユーザに対して短い関係距離を有するつながり候補を、つながり候補の組から除去した後、つながり候補の組に残っているつながり候補の少なくとも1つを識別するつながり推奨を提示する工程とを含む。
【0084】
例29は例28の主題を含み、コンピューティング装置のセンサによって得られたコンテキスト・データを受け取る手段と、少なくとも部分的にコンテキスト・データに基づいてつながり推奨を修正する手段とを含む。
【0085】
例30は例28の主題を含み、コンピューティング装置のセンサによって得られたコンテキスト・データを受け取る手段と、少なくとも部分的にコンテキスト・データに基づいて、ユーザ生成された電子コンテントを選択する手段とを含む。
【0086】
例31は例28の主題を含み、コンテントの特性に少なくとも部分的に基づいてつながり推奨を修正する手段を含み、コンテントの特性は、トピック解析、及びスタイロメトリック解析の1つ又は複数によってアルゴリズム的に求められる。
【0087】
例32は例28の主題を含み、コンテントの特性に少なくとも部分的に基づいて、ユーザ生成された電子コンテントを選択する手段を含み、コンテントの特性は、トピック解析、及びスタイロメトリック解析の1つ又は複数によってアルゴリズム的に求められる。
【0088】
例33は、例28の主題を含み、コンピューティング装置ユーザの組におけるコンピューティング装置ユーザ全てのコーパス全てにおける語彙項目の数に対応する次元の数を含めるよう多次元空間を規定する手段と、コーパスの少なくとも1つに存在している語彙項目を表すよう次元それぞれを規定する手段とを含む。
【0089】
例34は、例28の主題を含み、抽出された語彙項目の言語頻度に応じて、抽出された語彙項目に重みを割り当てる手段を含む。
【0090】
例35は、例28の主題を含み、コンピューティング装置ユーザのソーシャル・ネットワークを識別する手段と、識別されたソーシャル・ネットワークからのつながり候補とコンピューティング装置ユーザとの間の関係距離を示すデータを取得する手段とを含む。
【0091】
図36は、例20の主題を含み、識別されたソーシャル・ネットワーク及び抽出された語彙項目の部分集合に関するデータを含むユーザ・プロファイルを策定する手段と、ユーザ・プロファイルに少なくとも部分的に基づいてつながり推奨を生成する手段とを含む。
【0092】
例37は例28の主題を含み、ユーザ生成された電子コンテントは自然言語入力を含む。
【0093】
例38は例28の主題を含み、コンピューティング装置ユーザの対の抽出された語彙項目の部分集合間の数値距離を計算する手段を含む。
【0094】
例39は例28の主題を含み、コンピューティング装置ユーザの対の抽出された語彙項目の部分集合間の計算された数値距離が短い場合、つながり推奨を生成する手段を含む。
【0095】
例40は、実行されることに応じて、コンピューティング装置に、ユーザ生成された電子コンテントをコーパスに含める工程と、低コーパス頻度及び低言語頻度を有する、多義性が低い語彙項目をコーパスから選択する工程と、選択された部分集合、及びユーザの組における他のユーザの抽出された語彙項目の部分集合に対してコンテント・クラスタリングを行う工程と、コンテント・クラスタリングに少なくとも部分的に基づいてユーザの組におけるその他のユーザの1つ又は複数を含むつながり候補の組を識別する工程と、ユーザに対して短い関係距離を有するつながり候補をつながり候補の識別された組から除去する工程と、ユーザに対して短い関係距離を有するつながり候補をつながり候補の組から除去した後、つながり候補の組に残っているつながり候補の少なくとも1つを識別するつながり推奨を提示する工程とを行わせる、記憶させた複数の命令を備える1つ又は複数のマシン読み取り可能な記憶媒体を含む。
【0096】
例41は例40の主題を含み、命令は、コンピューティング装置のセンサによって得られたコンテキスト・データを受け取る工程と、少なくとも部分的にコンテキスト・データに基づいてつながり推奨を修正する工程とをコンピューティング装置に行わせる。
【0097】
例42は例40の主題を含み、命令は、コンピューティング装置のセンサによって得られたコンテキスト・データを受け取る工程と、少なくとも部分的にコンテキスト・データに基づいて、ユーザ生成された電子コンテントを選択する工程とをコンピューティング装置に行わせる。
【0098】
例43は例40の主題を含み、命令は、コンテントの特性に少なくとも部分的に基づいてつながり推奨を修正する工程をコンピュータ装置に行わせ、コンテントの特性は、トピック解析、及びスタイロメトリック解析の1つ又は複数によってアルゴリズム的に求められる。
【0099】
例44は例40の主題を含み、命令は、コンテントの特性に少なくとも部分的に基づいて、ユーザ生成された電子コンテントを選択する工程をコンピュータ装置に行わせ、コンテントの特性は、トピック解析、及びスタイロメトリック解析の1つ又は複数によってアルゴリズム的に求められる。
【0100】
例45は、例40の主題を含み、命令は、抽出された語彙項目の言語頻度に応じて、抽出された語彙項目に重みを割り当てる工程をコンピューティング装置に行わせる。
【0101】
例46は、例40の主題を含み、命令は、コンピューティング装置ユーザのソーシャル・ネットワークを識別する工程と、識別されたソーシャル・ネットワークからのつながり候補とコンピューティング装置ユーザとの間の関係距離を示すデータを取得する工程とをコンピューティング装置に行わせる。
【0102】
例47は、例46の主題を含み、命令は、識別されたソーシャル・ネットワーク及び抽出された語彙項目の部分集合に関するデータを含むユーザ・プロファイルを策定する工程と、ユーザ・プロファイルに少なくとも部分的に基づいてつながり推奨を生成する工程とをコンピューティング装置に行わせる。
【0103】
例48は例40の主題を含み、命令は、コンピューティング装置ユーザの対の抽出された語彙項目の部分集合間の数値距離を計算する工程をコンピューティング装置に行わせる。
【0104】
例49は例40の主題を含み、命令は、コンピューティング装置ユーザの対の抽出された語彙項目の部分集合間の計算された数値距離が短い場合、つながり推奨を生成する工程をコンピューティング装置に行わせる。