【文献】
木村 昌弘,社会ネットワーク上の情報伝搬における強影響力ノード抽出の効率化,電子情報通信学会論文誌 (J91−D) 第4号,日本,社団法人電子情報通信学会,2008年 4月 1日,第J91-D巻 第4号,1004〜1015,ISSN 1880-4535
(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに接続されたメモリとを備え、前記プロセッサが、請求項1から9のいずれか一項に従って前記コンテンツ配信方法の動作命令を実行するために、前記メモリに記憶されたプログラムコードを呼び出す、コンテンツ配信装置。
【発明を実施するための形態】
【0014】
以下に、本開示の実施形態における技術的解決策を、本開示の実施形態における添付の図面を参照して明確かつ完全に説明する。明らかに、記載された実施形態は、本開示の実施形態のすべての実施形態ではなく、一部にすぎない。創造的努力なしに本開示の実施形態に基づいて当業者によって得られる他のすべての実施形態は、本開示の保護範囲内に入るものとする。
【0015】
誰にコンテンツをプッシュするかを選択する際に、コンテンツを大量のユーザアカウントにプッシュする必要があるため、コンテンツ配信精度の低い従来のコンテンツ配信に関する技術的な問題を解決するために、一実施形態に従って新規のコンテンツ配信方法が提供される。本方法は、それらの間にソーシャルリレーションシップチェーン(すなわち、限定された量のユーザアカウントのうちの2つの間の友人関係を使用することによって確立される任意の2つのユーザアカウント間のマッピング、たとえば、ユーザAとBが友人であり、BとCが友人であり、CとDが友人である場合、AとDとの間にA-B-C-Dのソーシャルリレーションシップチェーンが存在する)が存在する大量のユーザアカウントを含むソーシャルネットワークアプリケーションに基づく。したがって、コンテンツデータを少量のユーザアカウントにのみプッシュするために、ソーシャルネットワークアプリケーションにおけるユーザアカウント間の関連付けおよび転送動作が利用される。次いで、コンテンツデータは、コンテンツデータを順番に転送することによって、少量のユーザアカウント上のソーシャルリレーションシップチェーン上の他のユーザアカウントに転送される。したがって、コンテンツデータは、少量のユーザアカウントによって、より広い範囲のユーザアカウントに拡散される。一方、ユーザ間の関連度はまた、コンテンツデータの配信精度および配信範囲を保証しながら、コンテンツデータをプッシュするためのユーザアカウントの初期量を削減し、配信コストを削減するために、ユーザがフォローするユーザによって転送されるコンテンツデータをユーザがクリックおよび/または閲覧する可能性を保証する。
【0016】
さらに、開示された方法の実装形態は、コンピュータプログラムに依存し得る。コンピュータプログラムは、ソーシャルネットワークアプリケーション、インスタントメッセージングアプリケーション、またはウェブゲームアプリケーションなどのソーシャルリレーションシップチェーンが存在するアプリケーションであり得る。本コンピュータプログラムは、フォンノイマン(von Neumann)アーキテクチャに基づくコンピュータシステム上で実行し得る。本コンピュータシステムは、ソーシャルネットワークアプリケーション、インスタントメッセージングアプリケーション、またはウェブゲームアプリケーションなどのソーシャルリレーションシップチェーンが存在する、前述のアプリケーションのサーバデバイスであり得る。
【0017】
具体的には、
図1に示されるように、コンテンツ配信方法は以下を含む。
【0018】
S102において、ユーザアカウントをトラバースし、トラバースされた第1のユーザアカウントの初期コンテンツ伝播評価値を生成するステップ。
【0019】
コンテンツデータは、ユーザアカウントに配信される必要があるデータである。サービスに関して分類すると、コンテンツデータは、広告コンテンツデータ、ニュースコンテンツデータ、マルチメディアコンテンツデータなどであり得る。たとえば、ソーシャルネットワークアプリケーションに基づく広告配信システムのアプリケーションシナリオにおいては、ユーザアカウントに配信される必要があるコンテンツデータは広告である。ソーシャルネットワークアプリケーションに基づくニュースリリースシステムにおいては、ユーザアカウントに配信される必要があるコンテンツデータはニュース情報である。
【0020】
コンテンツデータは、通常、リンクに対応する完全なコンテンツのリンクおよびダイジェスト記述情報を含み得る。異なる実装形態では、購入ページ、完全なニュースコンテンツを読むためのページ、またはマルチメディアファイルの再生ページにジャンプするために、実際のサービスに対応するリンクが使用され得る。たとえば、ソーシャルネットワークアプリケーションに基づく広告配信システムのアプリケーションシナリオにおいて、配信されるコンテンツデータは、広告写真、広告のテキスト情報、および電子ビジネス購入ページに対応するリンクを含み得る。コンテンツデータがユーザアカウントにプッシュされると、ユーザアカウントを使用することによってログインするユーザは端末上で広告コンテンツデータを受信し得、広告内のリンクをクリックすることによって対応する電子ビジネス購入ページにジャンプし得る。
【0021】
メトリック値「コンテンツ伝播評価値」は、本開示において、ユーザアカウントによるコンテンツデータの伝播能力を評価するために使用される。ユーザアカウントのより大きいコンテンツ伝播評価値は、ユーザアカウントがコンテンツデータを受信したときに、そのコンテンツデータがより多くのユーザに伝播され得ることを示す。ユーザアカウントのより小さいコンテンツ伝播評価値は、ユーザアカウントがコンテンツデータを受信したときに、そのコンテンツデータがより少ないユーザに伝播され得ることを示す。
【0022】
この実施形態では、ソーシャルネットワークアプリケーションにおける各ユーザアカウントの第1の転送確率があらかじめ計算され得、第1の転送確率は、各ユーザアカウントの初期コンテンツ伝播評価値として使用される。
【0023】
ユーザアカウントによって、受信されたコンテンツデータを転送する第1の転送確率は、以下の方法で計算され得る。コンテンツデータをリリースするためのリリース時間の量N1を取得し、ユーザアカウントAによって、リリースされたコンテンツデータを転送するための転送時間の量N2を取得し、ユーザアカウントAによって、N2/N1を計算することによってコンテンツデータを転送する第1の転送確率を取得する。
【0024】
たとえば、ニュース型アプリケーションのページは定期的にニュースをリリースし、ページにはソーシャルネットワークアプリケーションに基づく共有ボタンが提供される。ページ上のニュースをリリースするためのリリース時間の量N1と、ユーザアカウントAを使用することによってニュースを転送するための転送時間の量N2とが考慮され得、次いで、ユーザアカウントAによって、N2/N1を計算することによって、ページ上にリリースされたニュースを転送する第1の転送確率が取得される。
【0025】
さらに、入力されたコンテンツデータがあらかじめ取得され得る。受信したコンテンツデータと一致するキーワードまたはタグが抽出される。キーワードまたはタグにも一致するコンテンツデータをリリースするためのリリース時間の量N1が取得される。ユーザアカウントAによって、キーワードまたはタグにも一致するコンテンツデータを転送するための転送時間の量N2が取得される。次いで、ユーザアカウントAによって、N2/N1を計算することによって、ページ上にリリースされたニュースを転送する第1の転送確率が取得される。コンテンツデータをより広範に伝播することができるように、受信した異なるコンテンツデータに対応する各ユーザアカウントのコンテンツ伝播能力が決定され得るように、特定のコンテンツデータについて、特定の第1の転送確率が各ユーザアカウントの初期コンテンツ伝播評価値として計算される。
【0026】
ユーザ識別子を定義するために本開示で使用される第1および第2のような用語は、本方法を実行するためのプロセスにおいて複数のトラバースプロセスを区別するために使用される点に留意されたい。第1のユーザアカウントは、初期コンテンツ伝播評価値が計算されるときにソーシャルネットワークアプリケーション内でトラバースされたユーザアカウントである。第2のユーザアカウントは、ソーシャルネットワークアプリケーション内のユーザアカウントのコンテンツ伝播評価値を反復的に更新する段階で、ソーシャルネットワークアプリケーション内でトラバースされたユーザアカウントである。第3のユーザアカウントおよび第4のユーザアカウントは、それぞれ、ソーシャルネットワークアプリケーション内のユーザアカウントのコンテンツ伝播評価値を後で補正する段階で、ソーシャルネットワークアプリケーション内でトラバースされたユーザアカウントである。しかし、第1の、第2の、...ユーザアカウントによって示されるユーザアカウントは、依然としてソーシャルネットワークアプリケーション内のユーザアカウントであり、以下にさらに詳細には説明しない。
【0027】
この実施形態では、受信したコンテンツデータに対するソーシャルネットワークアプリケーションの各ユーザアカウントの第1の転送確率、すなわち、各ユーザアカウントの初期コンテンツ伝播評価値が計算によって取得された後、反復プロセスに入ることができる。反復プロセスにおいて、すべてのユーザアカウントが反復してトラバースされる。前述のトラバースプロセスと反復とを区別するために、反復プロセスにおいてトラバースされたユーザアカウントは、第2のユーザアカウントとしてマーク付けされる。反復プロセスは、反復プロセスの進展に伴って変更されることなしに(または、変動がしきい値未満である)、すべてのユーザアカウントのコンテンツ伝播評価値が収束するまで、他のユーザアカウントのコンテンツ伝播評価値に従って、トラバースされた第2のユーザアカウントのコンテンツ伝播評価値を更新するプロセスである。
【0028】
具体的には以下のステップが反復して実行される。
【0029】
S104において、ユーザアカウントをトラバースし、トラバースされた第2のユーザアカウントの友人アカウントを検索する。
【0030】
S106において、第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の加重和を計算し、加重和と第2のユーザアカウントの第1の転送確率との和に従って、第2のユーザアカウントのコンテンツ伝播評価値を更新する。
【0031】
図2は、本方法が依存するソーシャルネットワークアプリケーションのユーザアカウント間のソーシャルリレーションシップチェーンを示す。ソーシャルネットワークアプリケーションのユーザアカウントは、A、B、C、D、E、およびFであると仮定される。AはB、C、およびDとの友人関係にあり、BはAおよびFとの友人関係にあり、CはA、D、およびEとの友人関係にあり、DはA、C、およびEとの友人関係にあり、EはC、D、およびFとの友人関係にあり、FはBおよびEとの友人関係にある。
【0032】
反復プロセスにおいて、ユーザアカウントは、A、B、C、D、E、およびFのシーケンスに従ってトラバースされ得る。トラバースは、アカウントユーザAから開始され、Aがトラバースされると、以下のステップが実行され得る。
Aの友人アカウント、すなわちB、C、およびDを検索し、B、C、およびDのコンテンツ伝播評価値MPA
b、MPA
c、およびMPA
dを別途取得するステップと、
B、C、およびDのコンテンツ伝播評価値の加重和を計算するステップであって、すなわち、
α
b×MPA
b+α
c×MPA
c+α
d×MPA
d
であり、上式で、
α
b、α
c、およびα
dは、加重和が計算されたときのB、C、およびDのコンテンツ伝播評価値MPA
b、MPA
c、MPA
dの重み係数である、ステップと、
Aの第1の転送確率β
aを取得し、Aの更新されたコンテンツ伝播評価値を取得するためにAの第1の転送確率と前述の加重和との和を計算するステップ。
MPA
a=β
a+α
b×MPA
b+α
c×MPA
c+α
d×MPA
d
【0033】
すなわち、反復プロセスが最初の反復であるとき、Aがトラバースされると、Aのコンテンツ伝播評価値は、初期の第1の転送確率β
aから次のように更新される。
MPA
a=β
a+α
b×MPA
b+α
c×MPA
c+α
d×MPA
d
【0034】
Aの更新されたコンテンツ伝播評価値がこの反復プロセスにおいてトラバースされた後、トラバースはBに続き、以下のステップが実行され得る。
Bの友人アカウント、すなわちAおよびFを検索し、AおよびFのコンテンツ伝播評価値MPA
aおよびMPA
fを別途取得するステップと、
AおよびFのコンテンツ伝播評価値の加重和を計算するステップ、すなわち、
α
b×MPA
b+α
f×MPA
f
と、
Bの第1の転送確率β
bを取得し、Bの更新されたコンテンツ伝播評価値を取得するためにBの第1の転送確率と前述の加重和との和を計算するステップ。
MPA
b=β
b+α
a×MPA
a+α
f×MPA
f
【0035】
すなわち、反復プロセスが最初の反復であるとき、Bがトラバースされると、Bのコンテンツ伝播評価値は、初期の第1の転送確率B
aから次のように更新される。
MPA
b=β
b+α
a×MPA
a+α
f×MPA
f
【0036】
また、この場合、Aのコンテンツ伝播評価値MPA
aは、初期のβ
aから前述に更新される。
MPA
a=β
a+α
b+MPA
b+α
c×MPA
c+α
d×MPA
d
【0037】
上記に基づいて、反復プロセスにおいて、前述の方法に従ってA、B、C、D、E、およびFが順次トラバースされ、それらのコンテンツ伝播評価値が計算される。次いで、A、B、C、D、E、およびFのコンテンツ伝播評価値は、コンテンツ伝播評価値が収束して変化しなくなるまで、反復の量が増加するにつれて徐々に補正される。
【0038】
すなわち、各反復プロセスにおいてトラバースされたi番目のユーザアカウントについて、t番目の反復が実行されるとき、そのコンテンツ伝播評価値MPA
tiは、以下の式に従って計算によって取得され得る。
【0040】
上式で、Niは、各反復プロセスにおいてトラバースされたi番目のユーザアカウントの友人アカウントの総量である。MPA
tjは、MPA
tiが計算されたときの、トラバースされたi番目のユーザアカウントのNi内のj番目の友人アカウントのコンテンツ伝播評価値である。α
jは、トラバースされたi番目のユーザアカウントのNi内のj番目の友人アカウントのコンテンツ伝播評価値の重み係数である。
【0041】
この実施形態では、第2のユーザアカウントについて、トラバースされた第2のユーザアカウントの各友人アカウントのコンテンツ転送能力に従って、各友人アカウントのコンテンツ伝播評価値の重み係数が設定され得る。具体的には、
図3に示されるように、以下のステップが実行され得る。
【0042】
S202において、第2のユーザアカウントの友人アカウントをトラバースし、第2のユーザアカウントのトラバースされた友人アカウントの第2の転送確率を計算するステップ。
【0043】
S204において、第2の転送確率を、第2のユーザアカウントのトラバースされた友人アカウントのコンテンツ伝播評価値の重み係数として設定するステップ。
【0044】
S206において、第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の重み係数に従って、第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の加重和を計算するステップ。
【0045】
第2のユーザアカウントにおける第2のユーザアカウントの友人アカウントの第2の転送確率は、友人アカウントによって、第2のユーザアカウントによってリリースされたコンテンツに対して転送動作を実行する割合である。具体的には、以下のステップが実行され得る。
第2のユーザアカウントによってコンテンツをリリースするためのリリース時間の量を取得するステップと、トラバースされた友人アカウントによって、第2のユーザアカウントによってリリースされたコンテンツを転送するための転送時間の量を取得するステップと、第2のユーザアカウントのトラバースされた友人アカウントの第2の転送確率を計算するために、転送するための転送時間の量をリリースするためのリリース時間の量で除算するステップ。
【0046】
前述の例のように、ユーザアカウントAがトラバースされると、Aの友人アカウントはB、C、およびDであることが分かる。Aによってコンテンツをリリースするためのリリース時間(たとえば、マイクロブログのリリース、モーメントのリリース、およびブログのリリースなどのリリース動作)の量が100である場合、友人Bはコンテンツを20回転送し、友人Cはコンテンツを30回転送し、友人Dはコンテンツを40回転送し、友人BのユーザAに対する第2の転送確率は0.2であり、友人CのユーザAに対する第2の転送確率は0.3であり、友人DのユーザAに対する第2の転送確率は0.4である。したがって、Aのコンテンツ伝播評価値は、次の式による計算によって取得され得る。
MPA
a=β
a+0.2×MPA
b+0.3×MPA
c+0.4×MPA
d
【0047】
この実施形態では、反復プロセスを終了するかどうかを決定するために、前述の例のようにすべてのユーザアカウントが毎回反復してトラバースされるときに、A、B、C、D、E、およびFが各反復プロセスにおいてトラバースされた後、各ユーザアカウントのコンテンツ伝播評価値が収束するかどうかが決定され得る。各ユーザアカウントのコンテンツ伝播評価値が収束すると、ステップS108は、コンテンツ伝播評価値に応じて、コンテンツデータをプッシュするためのユーザアカウントを選択することによって実行される。第2のユーザアカウントのコンテンツ伝播評価値が収束していない場合、反復が戻され、ステップS104は、ユーザアカウントを再びトラバースすることによって実行される。
【0048】
具体的には、この実施形態では、第2のユーザアカウントのコンテンツ伝播評価値が更新されたときの変動が取得され得、変動のすべてがしきい値未満の場合に第2のユーザアカウントのコンテンツ伝播評価値が収束したと決定される。
【0049】
たとえば、ステップS104およびステップS106がk回反復して実行されるとき、MPA
k-1aに対するMPA
kaの変動がしきい値未満である場合、MPA
k-1bに対するMPA
kbの変動はしきい値未満であり、...、MPA
k-1fに対するMPA
kfの変動はしきい値未満であり、第2のユーザアカウントのコンテンツ伝播評価値が収束していると決定され得、したがって反復が終了され、ステップS108が実行される。
【0050】
別の実施形態では、計算によって転送確率が取得された第2のユーザアカウントをトラバースするためのトラバース時間の量が取得され得、トラバースするためのトラバース時間の量がしきい値以上である場合に、第2のユーザアカウントのコンテンツ伝播評価値が収束すると決定される。
【0051】
たとえば、最大反復回数は1000回にあらかじめ設定されてもよい。ステップS104およびステップS106が1000回反復して実行されると、反復が終了され、取得されたA、B、C、D、E、およびFのコンテンツ伝播評価値はMPA
1000a、MPA
1000b...、MPA
1000fであり、ステップS108が実行される。
【0052】
上述したように、反復がk回実行された後、すべてのユーザアカウントのコンテンツ伝播評価値が収束すると、各ユーザアカウントの取得されたコンテンツ伝播評価値はMPA
kiであり、ユーザアカウントはMPA
kiに従ってソートされ得、比較的大きいMPA
kiを有するユーザアカウントがソートに応じてコンテンツデータをプッシュする対象として選択される。
【0053】
たとえば、MPA
ka>MPA
kb>MPA
kc>MPA
kd>MPA
ke>MPA
kf>である場合、コンテンツデータをプッシュする対象として、A、B、C、D、E、およびFの順番に従ってユーザアカウントが選択される。
【0054】
さらに、配信のためのあらかじめ設定されたユーザ数が取得され得る。ユーザアカウントはコンテンツ伝播評価値に従ってソートされ、コンテンツデータをプッシュするために、配信のためのユーザ数に対応し、ソートされたユーザアカウントの中でトップランクのユーザアカウントが選択される。
【0055】
たとえば、前述の例では、配信のためのあらかじめ設定されたユーザ数が2である場合、コンテンツデータをプッシュする対象としてAおよびBが選択され得る。
図2に示されるように、コンテンツデータは、C、D、およびEによって受信されるように、おそらくAとBによって転送されるので、コンテンツデータが比較的少数のユーザアカウントにプッシュされたときに、コンテンツデータは依然としてより多くのユーザアカウントにプッシュされ得る。
【0056】
さらに、コンテンツ伝播評価値に応じて、コンテンツデータをプッシュするためのユーザアカウントを選択するステップの前に、変更後に取得された各ユーザアカウントのコンテンツ伝播評価値が補正され得る。2つの実施形態を使用することによって以下に説明される、多くの補正方法がある。
【0057】
実施形態1
この実施形態では、
図4に示されるように、各ユーザアカウントの収束コンテンツ伝播評価値が反復によって取得された後、以下のステップが実行され得る。
【0058】
S302において、ユーザアカウントをトラバースし、トラバースされた第3のユーザアカウントのコンテンツ伝播評価値を取得し、コンテンツ伝播評価値が第3のユーザアカウントのコンテンツ伝播評価値よりも大きいユーザアカウントのセットを検索するステップ。
【0059】
第3のユーザアカウントは、この実施形態の補正プロセスにおいてユーザアカウントがトラバースされたときにトラバースされるユーザアカウントである。前述の例のように、MPA
ka>MPA
kd>MPA
kf>MPA
kb>MPA
ke>MPA
kc>が取得されると、このトラバースにおいて、Fがトラバースされる場合、コンテンツ伝播評価値がFのコンテンツ伝播評価値よりも大きい、見つかったユーザアカウントは、AおよびDである。
【0060】
S304において、ソーシャルリレーションシップチェーン上の第3のユーザアカウントと見つかったユーザアカウントとの間のユーザアカウントの最小値を検索するステップ。
【0061】
前述の例のように、FとAは友人関係にはないが、FとBは友人関係にあり、BとAは友人関係にある。したがって、FからAへのソーシャルリレーションシップチェーン上では、それらの間のユーザアカウントの数は2(つまり、BとA)である。FとDは友人関係にはないが、FとEは友人関係にあり、EとDは友人関係にある。したがって、FからDへのソーシャルリレーションシップチェーン上では、それらの間のユーザアカウントの数は2(つまり、EとD)である。したがって、ソーシャルリレーションシップチェーン上のFとAとの間のユーザアカウントの数と、ソーシャルリレーションシップチェーン上のFとDとの間のユーザアカウントの数の最小値は2である。
【0062】
S306において、あらかじめ設定された増加関数に従って、最小値を独立変数として使用することによって補正係数を計算するステップ。
【0063】
S308において、補正係数に従って、第3のユーザアカウントのコンテンツ伝播評価値を更新するステップ。
【0064】
すなわち、各ユーザアカウントのコンテンツ伝播評価値は、以下の式に従って更新され得る。
MPA=f(n)×MPA
f(n)は増加関数であり、上式で、nはユーザアカウントに対応する最小値である。f(n)は、
【0066】
にあらかじめ設定され得ることが好ましい。
【0067】
前述の例のように、MPA
kdより大きいコンテンツ伝播評価値がMPA
kaであり、ソーシャルリレーションシップチェーン上のAとDとの間のユーザアカウントの最小値が1である場合、Dの補正されたコンテンツ伝播評価値MPA
kdは以下の通りである。
【0069】
MPA
kfより大きいコンテンツ伝播評価値がMPA
kaおよびMPA
kdである場合、ソーシャルリレーションシップチェーン上のFとAとの間、およびFとDとの間のユーザアカウントの最小値が2である。したがって、Fの補正されたコンテンツ伝播評価値MPA
kfは以下の通りである。
【0071】
したがって、MPA
kdと比べてMPA
kfの補正係数は比較的高い。
【0072】
すなわち、DとAはソーシャルリレーションシップチェーン上で比較的近いので、MPA
kfと比べてMPA
kdは比較的高いが、AおよびBによって転送された後、同じユーザアカウントに順番にコンテンツデータが伝播される確率は比較的高く、したがって配信ポイントが過度に集中し、コンテンツデータの伝播範囲が狭くなる。しかしながら、FとAはソーシャルリレーションシップチェーン上で互いに離れているため、配信ポイントが分散され、コンテンツデータは、転送することによってより広いボーダー伝播範囲に広がり得る。ソーシャルリレーションシップチェーン上のユーザアカウントの数の最小値の補正係数が加えられた後、コンテンツ伝播能力と配信ポイントの分散度との間の関係が釣り合うことができるので、コンテンツデータはより広い範囲に伝播され得る。
【0073】
実施形態2
この実施形態では、
図5に示されるように、各ユーザアカウントの収束コンテンツ伝播評価値が反復によって取得された後、以下のステップが実行され得る。
【0074】
S402において、ユーザアカウントをトラバースし、コンテンツデータに対するトラバースされた第4のユーザアカウントのクリック確率を取得するステップ。
【0075】
S404において、第4のユーザアカウントのコンテンツ伝播評価値と、コンテンツデータに対する第4のユーザアカウントのクリック確率
との加重
和を計算するステップ。
【0076】
S406において、加重和に従って、コンテンツデータをプッシュするためのユーザアカウントを選択するステップ。
【0077】
第4のユーザアカウントは、この実施形態の補正プロセスにおいてユーザアカウントがトラバースされたときにトラバースされるユーザアカウントである。この実施形態では、ユーザアカウントがコンテンツデータをプッシュする対象として選択されると、ユーザアカウントのコンテンツ伝播能力が考慮されるだけでなく、ユーザアカウントによるコンテンツデータのクリックおよび/または変換の確率も考慮される。
【0078】
たとえば、前述の例では、MPA
kdと比べてMPA
kfは小さいが、コンテンツデータを閲覧、ブラウズ、または変換するためにFによってコンテンツデータをクリックする確率が比較的高い場合、依然としてFがコンテンツデータをプッシュする対象として選択される。結果として、ユーザアカウントがコンテンツデータをプッシュする対象として選択されると、ユーザアカウントのコンテンツ伝播能力が考慮されるだけでなく、コンテンツデータとユーザアカウントとの間の適合度も考慮される。したがって、コンテンツデータ配信の精度が向上する。
【0079】
誰にコンテンツをプッシュするかを選択する際に、コンテンツを大量のユーザアカウントにプッシュする必要があるため、コンテンツ配信精度の低い従来のコンテンツ配信の技術的な問題を解決するために、一実施形態に従って新規のコンテンツ配信装置が提供される。一実施形態では、
図6に示されるように、初期化モジュール102、友人検索モジュール104、コンテンツ伝播評価値更新モジュール106、およびコンテンツデータプッシュモジュール108を含む新規のコンテンツ配信装置が提供される。
【0080】
初期化モジュール102は、ユーザアカウントをトラバースし、トラバースされた第1のユーザアカウントの初期コンテンツ伝播評価値を生成するように構成される。
【0081】
友人検索モジュール104は、ユーザアカウントをトラバースし、トラバースされた第2のユーザアカウントの友人アカウントを検索するように構成される。
【0082】
コンテンツ伝播評価値更新モジュール106は、第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の加重和を計算し、加重和と第2のユーザアカウントの第1の転送確率との和に従って、第2のユーザアカウントのコンテンツ伝播評価値を更新するように構成される。
【0083】
コンテンツデータプッシュモジュール108は、第2のユーザアカウントのコンテンツ伝播評価値が収束したときに反復を終了し、コンテンツ伝播評価値に応じて、コンテンツデータをプッシュするためのユーザアカウントを選択し、第2のユーザアカウントのコンテンツ伝播評価値が収束していない場合に、反復を実行するために友人検索モジュール104およびコンテンツ伝播評価値更新モジュール106を呼び出すように構成される。
【0084】
この実施形態では、初期化モジュール102は、トラバースされた第1のユーザアカウントの第1の転送確率を計算することと、第1の転送確率をトラバースされた第1のユーザアカウントの初期コンテンツ伝播評価値として設定することとを行うようにさらに構成される。
【0085】
この実施形態では、コンテンツ伝播評価値更新モジュール106は、第2のユーザアカウントの友人アカウントをトラバースし、第2のユーザアカウントのトラバースされた友人アカウントの第2の転送確率を計算することと、第2の転送確率を、第2のユーザアカウントのトラバースされた友人アカウントのコンテンツ伝播評価値の重み係数として設定することと、第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の重み係数に従って、第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の加重和を計算することとを行うようにさらに構成される。
【0086】
この実施形態では、コンテンツ伝播評価値更新モジュール106は、第2のユーザアカウントによってコンテンツをリリースするためのリリース時間の量を取得することと、トラバースされた友人アカウントによって、第2のユーザアカウントによってリリースされたコンテンツを転送するための転送時間の量を取得することと、第2のユーザアカウントのトラバースされた友人アカウントの第2の転送確率を計算するために、転送するための転送時間の量をリリースするためのリリース時間の量で除算することとを行うようにさらに構成される。
【0087】
一実施形態では、
図6に示されるように、本装置は、第2のユーザアカウントのコンテンツ伝播評価値が更新されたときの変動を取得することと、変動のすべてがしきい値未満の場合に第2のユーザアカウントのコンテンツ伝播評価値が収束したと決定することとを行うように構成された第1の収束決定モジュール110をさらに含む。
【0088】
別の実施形態では、
図6に示されるように、本装置は、計算によって転送確率が取得された第2のユーザアカウントをトラバースするためのトラバース時間の量を取得することと、トラバースするためのトラバース時間の量がしきい値以上である場合に、第2のユーザアカウントのコンテンツ伝播評価値が収束すると決定することとを行うように構成された第2の収束決定モジュール112をさらに含む。
【0089】
この実施形態では、
図6に示されるように、本装置は、ユーザアカウントをトラバースし、トラバースされた第3のユーザアカウントのコンテンツ伝播評価値を取得し、コンテンツ伝播評価値が第3のユーザアカウントのコンテンツ伝播評価値よりも大きいユーザアカウントのセットを検索することと、ソーシャルリレーションシップチェーン上の第3のユーザアカウントと見つかったユーザアカウントとの間のユーザアカウント数の最小値を検索することと、あらかじめ設定された増加関数に従って、最小値を独立変数として使用することによって補正係数を計算することと、補正係数に従って、第3のユーザアカウントのコンテンツ伝播評価値を更新することとを行うように構成されたコンテンツ伝播評価値補正モジュール114をさらに含む。
【0090】
この実施形態では、コンテンツデータプッシュモジュール108は、ユーザアカウントをトラバースし、コンテンツデータに対するトラバースされた第4のユーザアカウントのクリック確率を取得することと、第4のユーザアカウントのコンテンツ伝播評価値と、コンテンツデータに対する第4のユーザアカウントのクリック確率の加重和とを計算することと、加重和に従って、コンテンツデータをプッシュするためのユーザアカウントを選択することとを行うようにさらに構成される。
【0091】
この実施形態では、コンテンツデータプッシュモジュール108は、配信のためのあらかじめ設定されたユーザ数を取得することと、コンテンツ伝播評価値に従ってユーザアカウントをソートし、コンテンツデータをプッシュするために、配信のためのユーザ数に対応し、ソートされたユーザアカウントの中でトップランクのユーザアカウントを選択することとを行うようにさらに構成される。
【0092】
本開示の一実施形態によれば、
図1および
図3〜
図5に示されるコンテンツ配信方法は、
図6に示されるコンテンツ配信装置内のユニットによって実行され得る。たとえば、
図1に示されるステップS102、S104、S106、およびS108は、
図6に示される初期化モジュール102、友人検索モジュール104、コンテンツ伝播評価値更新モジュール106、およびコンテンツデータプッシュモジュール108によってそれぞれ実行され得る。
図3に示されるステップS202、S204、およびS206は、
図6に示されるコンテンツ伝播評価値更新モジュール106により実行され得る。
図4に示されるステップS302、S304、S306、およびS308は、
図6に示されるコンテンツ伝播評価値補正モジュール114によって実行され得る。
図5に示されるステップS402、S404、およびS406は、
図6に示されるコンテンツデータプッシュモジュール108によって実行され得る。
【0093】
本開示の別の実施形態によれば、
図6に示されるコンテンツ配信装置内のユニットは、1つまたは複数の別のユニットによって、別々に、または完全に組み合わせて構成されてもよく、1つの(いくつかの)ユニット(複数のユニット)が複数の機能的により小さいユニットに分割されてもよい。このようにして、本開示の実施形態の技術的効果の実装に影響を及ぼすことなしに、動作が実装され得る。前述のユニットは、論理機能に基づいて分割されている。実際のアプリケーションにおいて、1つのユニットの機能は複数のユニットによっても実装され得、複数のユニットの機能が1つのユニットによって実装される。本開示の他の実施形態では、端末デバイスは、他のモジュールも含み得る。しかしながら、実際のアプリケーションにおいて、これらの機能は、他のユニットの助けを借りて実装されてもよく、また複数のユニットによって協働して実装されてもよい。
【0094】
本開示の別の実施形態によれば、
図6に示されるコンテンツ配信装置が構築され得、本開示の実施形態によるコンテンツ配信方法は、中央処理装置(CPU)、ランダムアクセスメモリ(RAM)、および読出し専用メモリ(ROM)などの処理要素および記憶要素を含む汎用コンピューティングデバイス上で、
図1および
図3〜
図5に示されるコンテンツ配信方法を実行可能なコンピュータプログラム(プログラムコードを含む)を実行することによって実装され得る。コンピュータプログラムは、たとえば、コンピュータ可読記録媒体に記録され得、コンピュータ可読記録媒体を使用することによって前述のコンピューティングデバイスにロードされ、その中で実行される。
【0095】
開示された前述のコンテンツ配信方法および装置によって、コンテンツデータを少量のユーザアカウントにのみプッシュするために、ソーシャルネットワークアプリケーションにおけるユーザアカウント間の関連付けおよび転送動作が利用される。次いで、コンテンツデータは、コンテンツデータを順番に転送することによって、少量のユーザアカウント上のソーシャルリレーションシップチェーン上の他のユーザアカウントに転送される。したがって、コンテンツデータは、少量のユーザアカウントによって、より広い範囲のユーザアカウントに拡散される。一方、ユーザ間の関連度はまた、コンテンツデータの配信精度や配信範囲を保証するために、このユーザがフォローするユーザによって転送されるコンテンツデータをユーザがクリックおよび/または閲覧する可能性を保証する。
【0096】
一実施形態では、
図7に示されるように、
図7は、前述の第1または第2のコンテンツ配信方法を実行するフォンノイマンアーキテクチャに基づくコンピュータシステム10のサーバデバイスを示す。本コンピュータシステムは、コンテンツ配信方法を直接実行するサーバまたはサーバクラスタであってもよく、コンテンツ配信方法を実行するためにサーバプログラム実行環境として仮想マシンを提供するサーバクラスタデバイスであってもよい。具体的には、サーバデバイスは、システムバスを使用することによって接続されたネットワークインタフェース1001、プロセッサ1002、およびメモリ1003を含み得る。メモリ1003は、外部メモリ10032(ハードディスク、光ディスク、またはフロッピーディスクなど)、および内部メモリ10034を含み得る。
【0097】
この実施形態では、この方法の実行はコンピュータプログラムに基づく。コンピュータプログラムのプログラムファイルは、フォンノイマンアーキテクチャに基づいてコンピュータシステム10の外部メモリ10032に記憶され、実行中に内部メモリ10034にロードされ、次いで、マシンコードとしてコンパイルされた後、初期化モジュール102、友人探索モジュール104、コンテンツ伝播評価値更新モジュール106、およびコンテンツデータプッシュモジュール108がフォンノイマンアーキテクチャに基づいてコンピュータシステム10において論理的に形成されるように、実行のためにプロセッサ1002に配信される。また、コンテンツ配信方法を実行するプロセスにおいて、ネットワークインタフェース1001を使用することによって入力パラメータがすべて受信され、キャッシュのためにメモリ1003に転送され、次いで処理のためにプロセッサ1002に入力される。処理の結果データは、後続の処理のためにメモリ1003にキャッシュされるか、出力のためにネットワークインタフェース1001に転送される。
【0098】
プログラムコードのセットがメモリ1003に記憶され、以下の動作を実行するために、プロセッサ1002がメモリ1003に記憶されたプログラムコードを呼び出す。
ユーザアカウントをトラバースし、トラバースされた第1のユーザの初期コンテンツ伝播評価値を生成するステップと、
ユーザアカウントをトラバースし、トラバースされた第2のユーザアカウントの友人アカウントを検索するステップと、
第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の加重和を計算し、加重和と第2のユーザアカウントの第1の転送確率との和に従って、第2のユーザアカウントのコンテンツ伝播評価値を更新するステップと、
第2のユーザアカウントのコンテンツ伝播評価値が収束したときに反復を終了し、コンテンツ伝播評価値に応じて、コンテンツデータをプッシュするためのユーザアカウントを選択するステップ。
【0099】
別の実施形態では、プロセッサ1002は、以下を含む、トラバースされた第1のユーザの初期コンテンツ伝播評価値を生成する動作を実行するために、メモリ1003に記憶されたプログラムコードを呼び出す。
トラバースされた第1のユーザアカウントの第1の転送確率を計算し、第1の転送確率をトラバースされた第1のユーザアカウントの初期コンテンツ伝播評価値として設定するステップ。
【0100】
別の実施形態では、プロセッサ1002は、以下をさらに含み得る、第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の加重和を計算する動作を実行するために、メモリ1003に記憶されたプログラムコードを呼び出す。
第2のユーザアカウントの友人アカウントをトラバースし、第2のユーザアカウントのトラバースされた友人アカウントの第2の転送確率を計算するステップと、
第2の転送確率を、第2のユーザアカウントのトラバースされた友人アカウントのコンテンツ伝播評価値の重み係数として設定するステップと、
第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の重み係数に従って、第2のユーザアカウントの友人アカウントのコンテンツ伝播評価値の加重和を計算するステップとをさらに含み得る。
【0101】
別の実施形態では、プロセッサ1002は、以下をさらに含み得る、第2のユーザアカウントのトラバースされた友人アカウントの第2の転送確率を計算する動作を実行するために、メモリ1003に記憶されたプログラムコードを呼び出す。
第2のユーザアカウントによってコンテンツをリリースするためのリリース時間の量を取得するステップと、
トラバースされた友人アカウントによって、第2のユーザアカウントによってリリースされたコンテンツを転送するための転送時間の量を取得するステップと、
第2のユーザアカウントのトラバースされた友人アカウントの記第2の転送確率を計算するために、転送するための転送時間の量をリリースするためのリリース時間の量で除算するステップ。
【0102】
任意の実施形態では、プロセッサ1002は、以下の動作をさらに実行するために、メモリ1003に記憶されたプログラムコードを呼び出す。
第2のユーザアカウントのコンテンツ伝播評価値が更新されたときの変動を取得するステップと、変動のすべてがしきい値未満の場合に第2のユーザアカウントのコンテンツ伝播評価値が収束したと決定するステップ。
【0103】
任意の実施形態では、プロセッサ1002は、以下の動作をさらに実行するために、メモリ1003に記憶されたプログラムコードを呼び出す。
計算によって転送確率が取得された第2のユーザアカウントをトラバースするためのトラバース時間の量を取得するステップと、トラバースするためのトラバース時間の量がしきい値以上である場合に、第2のユーザアカウントのコンテンツ伝播評価値が収束すると決定するステップ。
【0104】
別の実施形態では、コンテンツ伝播評価値に応じて、コンテンツデータをプッシュするためのユーザアカウントを選択する動作を実行するために、プロセッサ1002がメモリ1003に記憶されたプログラムコードを呼び出す前に、本動作は、
ユーザアカウントをトラバースし、トラバースされた第3のユーザアカウントのコンテンツ伝播評価値を取得し、コンテンツ伝播評価値が第3のユーザアカウントのコンテンツ伝播評価値よりも大きいユーザアカウントのセットを検索するステップと、
ソーシャルリレーションシップチェーン上の第3のユーザアカウントと見つかったユーザアカウントとの間のユーザアカウント数の最小値を検索するステップと、
あらかじめ設定された増加関数に従って、最小値を独立変数として使用することによって補正係数を計算するステップと、
補正係数に従って、第3のユーザアカウントのコンテンツ伝播評価値を更新するステップとをさらに含み得る。
【0105】
別の実施形態では、プロセッサ1002は、以下をさらに含み得る、コンテンツ伝播評価値に応じて、コンテンツデータをプッシュするためのユーザアカウントを選択する動作を実行するために、メモリ1003に記憶されたプログラムコードを呼び出す。
ユーザアカウントをトラバースし、コンテンツデータに対するトラバースされた第4のユーザアカウントのクリック確率を取得するステップと、
第4のユーザアカウントのコンテンツ伝播評価値と、コンテンツデータに対する第4のユーザアカウントのクリック確率の加重和とを計算するステップと、
加重和に従って、コンテンツデータをプッシュするためのユーザアカウントを選択するステップとをさらに含み得る。
【0106】
別の実施形態では、プロセッサ1002は、以下をさらに含み得る、コンテンツ伝播評価値に応じて、コンテンツデータをプッシュするためのユーザアカウントを選択する動作を実行するために、メモリ1003に記憶されたプログラムコードを呼び出す。
配信のためのあらかじめ設定されたユーザ数を取得することであって、
ユーザアカウントはコンテンツ伝播評価値に従ってソートされ、コンテンツデータをプッシュするために、配信のためのユーザ数に対応し、ソートされたユーザアカウントの中でトップランクのユーザアカウントが選択されること。
【0107】
フローチャートにおいて表された、または別の方法において説明された論理および/またはステップは、たとえば、論理機能を実装するための実行可能命令の順序付けリストと見なされてよく、命令実行システム、装置、またはデバイス(たとえば、コンピュータベースのシステム、プロセッサを含むシステム、あるいは命令実行システム、装置、またはデバイスから命令を取り込んで実行することができる別のシステムなど)が、これらの命令実行システム、装置、またはデバイスを使用するために、またはそれらを組み合わせることによって使用するために、任意のコンピュータ可読媒体に具体的に実装され得る。本明細書において、「コンピュータ可読媒体」は、命令実行システム、装置、またはデバイスが、これらの命令実行システム、装置、またはデバイスを使用するための、またはそれらを組み合わせることによって使用するためのプログラムを含む、記憶する、通信する、伝播する、または送信することを含み得る任意の装置であってもよい。コンピュータ可読媒体の具体的な例(非貪欲なリスト)は、1つまたは複数の配線を含む電気接続部(電子装置)、ポータブルコンピュータエンクロージャ(磁気装置)、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、消去可能プログラム可能読出し専用メモリ(EPROMまたはフラッシュメモリ)、ファイバ装置、およびポータブル光ディスク読出し専用メモリ(CD-ROM)を含む。さらに、コンピュータ可読媒体は、たとえば、紙または他の媒体上で光学スキャンを実行し、次いで、必要に応じて別の適切な方法で編集および解釈または処理を実行することによって、電子的な方法でプログラムを取得することができるため、プログラムまたは他の媒体の紙を印刷することさえでき、次いでコンピュータメモリに記憶される。
【0108】
本開示の一部は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せによって実装され得ることを理解されたい。前述の実施形態の方法では、メモリに記憶され、適切な命令システムによって実行されるソフトウェアまたはファームウェアによって複数のステップまたは方法が実装され得る。たとえば、ハードウェアが別の実装形態の方法と同様に実装形態に使用される場合、実装形態は、データ信号の論理機能を実装するための論理ゲート回路を含むディスクリート論理回路、適切な組合せ論理ゲート回路を含む専用集積回路、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)などの、当技術分野でよく知られている技術のうちのいずれか1つまたはそれらの組合せによって実行され得る。
【0109】
上述の記憶媒体は、読出し専用メモリ、磁気ディスク、または光ディスクであり得る。上記で、本開示の実施形態を示し、説明したが、前述の実施形態は例示であり、本開示を限定するものではないと理解することができる。当業者であれば、本開示の範囲内で前述の実施形態を変更、修正、置換、および変形することができる。