(58)【調査した分野】(Int.Cl.,DB名)
前記文脈ベクトル計算部は、前記対象テキスト群に含まれる複数のテキストの各々を前記ニューラルネットワークに与えてテキスト毎の文脈ベクトルを計算させ、当該テキスト毎の文脈ベクトルを合成することで前記第1の文脈ベクトルを計算する、請求項1に記載のテキスト抽出装置。
前記対象テキスト群に含まれるテキストのうち少なくとも1つは、前記第1のコンテンツの再生に同期して表示時刻が定められた少なくとも1つのコメントから抽出される、請求項1または請求項2に記載のテキスト抽出装置。
前記対象テキスト群に含まれるテキストのうち少なくとも1つは、前記第1のコンテンツの再生に同期して表示時刻が定められた少なくとも1つのコメントのうち、前記第1のコンテンツの特定の再生位置を基準に設定されたタイムウィンドウ内に表示時刻が定められたコメントから抽出される、請求項1または請求項2に記載のテキスト抽出装置。
前記第1の文脈ベクトルに最も類似する第2の文脈ベクトルに対応する候補テキスト群が複数のテキストを含む場合には、前記探索部は、当該候補テキスト群に含まれるテキスト毎の文脈ベクトルのうち前記第1の文脈ベクトルに最も類似するものをさらに探索し、前記第1の文脈ベクトルに最も類似する文脈ベクトルに対応するテキストを得る、請求項1乃至請求項4のいずれか1項に記載のテキスト抽出装置。
コンテンツに関連付けられる複数のテキストを含む対象テキスト群の第1の文脈ベクトルを、機械学習済みのニューラルネットワークを用いて計算する文脈ベクトル計算部と、
それぞれ1以上のテキストを含む複数の候補テキスト群の第2の文脈ベクトルの各々と前記第1の文脈ベクトルとの類似度を計算する類似度計算部と、
前記類似度に基づいて、前記第1の文脈ベクトルに類似する1つ以上の第2の文脈ベクトルにそれぞれ対応する1つ以上の候補テキスト群を探索し、類似テキスト群を得る探索部と、
前記類似テキスト群に含まれるテキストの少なくとも1つを前記コンテンツに関連付けられるコメントとして投稿するために送信する送信部と
を具備する、コメント投稿装置。
コンテンツに関連付けられる複数のテキストを含む対象テキスト群の第1の文脈ベクトルを、機械学習済みのニューラルネットワークを用いて計算する文脈ベクトル計算部と、
それぞれ1以上のテキストを含む複数の候補テキスト群の第2の文脈ベクトルの各々と前記第1の文脈ベクトルとの類似度を計算する類似度計算部と、
前記類似度に基づいて、前記第1の文脈ベクトルに類似する1つ以上の第2の文脈ベクトルにそれぞれ対応する1つ以上の候補テキスト群を探索し、類似テキスト群を得る探索部と、
前記類似テキスト群に含まれるテキストの少なくとも1つを投稿可能コメントとして、前記コンテンツを再生する再生端末へ送信する送信部と
を具備する、コメント投稿支援装置。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。
【0017】
(実施形態)
本発明の実施形態に係るテキスト抽出装置は、機械学習済みのNN(Neural Network)を用いて、複数のテキストを含む入力テキスト群(以降、対象テキスト群と称される)の示唆する文脈を定量化する文脈ベクトルを計算する。
【0018】
本実施形態において、テキストとは、単語、フレーズ、文、文章など、文字からなる任意の情報単位を意味し得る。
【0019】
対象テキスト群は、例えばコンテンツ配信サービスにおいて配信されるコンテンツ、典型的には動画像、の再生に同期して表示される複数のコメントから抽出され得る。
【0020】
ここで、コンテンツの再生に同期して表示されるとは、コメントがコンテンツの再生位置によって定められる時間的位置(時刻)に表示されることを意味する。そして、このテキスト抽出装置は、複数の候補テキスト群のうち、対象テキスト群の文脈ベクトルに類似する文脈ベクトルを持つもの(以降、類似テキスト群と称される)を探索する。
【0021】
これにより、このテキスト抽出装置は、複数の候補テキスト群から、対象テキスト群と類似の文脈を示唆する類似テキスト群を抽出することができる。抽出された類似テキスト群は、例えば、対象テキスト群の抽出されたコンテンツに新規コメントとして自動投稿するために用いられてもよいし、当該コンテンツを視聴するユーザによるコメント投稿を支援するための投稿可能コメントとして用いられてもよい。
【0022】
なお、コメントに加えて、或いは、コメントの代わりに、タイトル、説明文、タグ、カテゴリなどのコンテンツに付与されるメタデータに関わるテキストを対象に同様の処理を行ってもよい。ただし、タイトル、説明文、タグおよびカテゴリは、コンテンツの全体に付与されるのに対して、コメントは、コンテンツ中の限られた部分に対して付与されるので当該コンテンツの局所的な文脈が反映されやすい。
【0023】
図1に例示されるように、実施形態に係るテキスト抽出装置100は、テキスト群入力部101と、文脈ベクトル計算部102と、NN 103と、類似度計算部104と、候補テキスト群記憶部105と、類似度記憶部106と、類似テキスト群探索部107とを含む。
【0024】
テキスト抽出装置100は、典型的にはコンピュータであるが、これらに限られない。テキスト抽出装置100は、文脈ベクトルの計算、類似度の計算、類似テキスト群の探索などを行うプロセッサ、例えばCPU(Central Processing Unit)およびGPU(Graphical Processing Unit)と、かかる処理を実現するために当該プロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータなどを一時的に格納するメモリとを含んでいる。
【0025】
テキスト抽出装置100は、さらに、ネットワークに接続するための通信装置と、ユーザ入力を受け付けるための入力装置と、プログラムまたはデータを保存する補助記憶装置とを利用可能である。これらの通信装置、入力装置および補助記憶装置は、テキスト抽出装置100に内蔵されていてもよいし、テキスト抽出装置100に外付けされてもよい。
【0026】
通信装置は、ネットワーク経由で、Webサーバ、コンテンツ配信サーバ、コメント配信サーバなどの外部装置と通信をする。
【0027】
入力装置は、例えば、キーボード、マウス、テンキー、リモートコントローラ、マイクロフォンなどであってもよいし、タッチスクリーンのように表示装置の機能を備えていてもよい。ユーザ入力は、典型的には、テキスト入力、または音声入力であり得る。音声入力は、ASR(Automatic Speech Recognition)を利用してテキストに変換可能である。
【0028】
補助記憶装置は、例えば、プログラムまたはデータを格納する。補助記憶装置は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの不揮発性記憶媒体であることが好ましい。補助記憶装置は、テキスト抽出装置100にネットワーク経由で接続されたファイルサーバであり得る。
【0029】
テキスト群入力部101は、対象テキスト群を獲得し、これを文脈ベクトル計算部102へ送る。テキスト群入力部101は、以下に説明する手法(1)〜(3)、またはその他の手法で、対象テキスト群を獲得することができる。テキスト群入力部101は、前述の入力装置若しくは通信装置、またはこれらとのインターフェースであってもよいし、前述のプロセッサおよびメモリであってもよい。
【0030】
(1) テキスト群入力部101は、例えば前述の入力装置を操作してユーザが入力したテキスト群を獲得してもよい。かかる対象テキスト群に基づいて抽出した類似テキスト群を、自動投稿のために用いたり、コメント投稿を支援するための投稿可能コメントとして用いたりすれば、ユーザは、直接入力したコメント群に加えて、これらと類似の文脈を示唆するコメント群が投稿可能となる。これにより、ユーザは、軽い入力負荷で、自分が盛り上げたいコンテンツに対し、その時々の文脈にふさわしいコメントを多数投稿することができる。
【0031】
(2) テキスト群入力部101は、例えば、コンテンツの再生中に、当該コンテンツの再生に同期して表示されるコメント群の少なくとも一部を対象テキスト群として獲得してもよい。テキスト群入力部101は、コメント群を、例えばバッファ(メモリ)から読み出す。かかる対象テキスト群に基づいて抽出した類似テキスト群を、コメント投稿を支援するための投稿可能コメントとして用いれば、ユーザに再生中のコンテンツの文脈にふさわしい投稿可能コメントを提示することができる。これにより、ユーザは、自ら文章を考えなくても、提示された投稿可能コメントのうち気に入ったものを選択するだけで、コメントを投稿することができる。すなわち、コメント投稿に対するユーザの心理的ハードルを下げることができる。
【0032】
なお、抽出可能なテキスト群は、抽出時のコンテンツの再生位置を基準に設定されたタイムウィンドウに含まれる位置(表示時刻)で表示されるコメントに限られてよい。このように抽出されたテキスト群は、コンテンツのこのタイムウィンドウ内の文脈を示唆する可能性が高い。
【0033】
図2に、ユーザの再生端末における表示画面例が示される。動画像表示領域には、動画像に加えてコメントが重ね表示される。各コメントは、当該コメントが表示される再生位置(表示時刻)が定められている。
図2の例では、動画像表示領域の右側にコメントとその表示時刻とが一覧可能なテーブルを表示する領域が用意されている。動画像表示領域の上側には、例えば動画タイトル、説明文、動画の種類を表す動画カテゴリ、動画に対してユーザが付与したキーワードである動画タグ、などのメタデータを表示する領域が用意されている。他方、動画像表示領域の下側には、動画像の現在の再生位置を示すシークバー、および再生/停止などの再生制御のためのボタンを表示する領域が用意されている。
【0034】
図2の例において、現在の再生時間(00:01:00)の例えば直前5秒間にタイムウィンドウが設定されたとすると、テキスト群入力部101は、
図3に例示されるように、「ロンドネタ混ぜていくw」、「夜の攻撃回数」、「廃課金兵どもめぇw」および「自分の出番は?」の4つのコメントを対象テキスト群として抽出できる。なお、動画カテゴリである「スポーツ」は、対象テキスト群の一部として含まれてもよいし、対象テキスト群とは別の付加的な、コンテンツの属性情報として扱われてもよい。
【0035】
(3) テキスト群入力部101は、例えばコンテンツ配信サービスにおいて配信される特定のコンテンツを指定する情報を受け取り、このコンテンツに関連付けられるテキスト群をコメント配信サーバから獲得(例えばネットワーク経由で受信)してもよい。かかる対象テキスト群に基づいて抽出した類似テキスト群を、自動投稿のために用いれば、特定のコンテンツに対し、その時々の文脈にふさわしいコメントを多数投稿して盛り上げることができる。特定のコンテンツは、例えば、新規に投稿されたコンテンツ、コメント数の伸び悩んでいるコンテンツ、コメント数の落ち込み始めたコンテンツなどであり得る。
【0036】
なお、抽出可能なテキスト群は、コンテンツの特定の再生位置を基準に設定されたタイムウィンドウに含まれる位置(表示時刻)で表示されるコメントに限られてよい。このように抽出されたテキスト群は、コンテンツのこのタイムウィンドウ内の文脈を示唆する可能性が高い。特定の再生位置は、特定のコンテンツと共に明示的に指定されてもよいし、予め定められていてもよいし、例えばコメント数の分布などに基づいて自動的に決定されてもよい。
【0037】
文脈ベクトル計算部102は、テキスト群入力部101から対象テキスト群を受け取り、この対象テキスト群の文脈ベクトルを、機械学習済みのNN 103を用いて計算する。例えば、文脈ベクトル計算部102は、対象テキスト群に含まれる各テキストをNN 103へ与え、そして、NN 103からテキスト毎の文脈ベクトルを受け取り、これらを合成することで対象テキスト群の文脈ベクトルを計算してもよい。文脈ベクトル計算部102は、対象テキスト群の文脈ベクトルを類似度計算部104へ送る。文脈ベクトル計算部102は、前述のプロセッサおよびメモリであり得る。
【0038】
NN 103は、入力テキストを文脈ベクトルへ変換する能力を獲得するための機械学習の学習結果(学習済みモデル)が設定されたニューラルネットワークである。この機械学習については後述する。NN 103は、前述のプロセッサ(通常はGPU)およびメモリであり得る。
【0039】
ここで、対象テキスト群Tを、n個のテキストt[1],t[2],・・・,t[n]の集合であるとする。nは、2以上の任意の自然数であって、可変値であり得る。
図3の例ではn=4である。対象テキスト群Tの要素であるテキストt[1],t[2],・・・,t[n]は、それぞれ、
図4に示すように、機械学習済みのNN 103(g)に与えられ、文脈ベクトルg[1],g[2],・・・,g[n]へと変換される。文脈ベクトルはd次元実ベクトルであって、dは設計により定められ得る。
【0040】
文脈ベクトル計算部102は、これら文脈ベクトルg[1],g[2],・・・,g[n]を合成することで、対象テキスト群Tの文脈ベクトルg[T]を計算する。合成とは、複数の文脈ベクトルを1つに統合する演算を指す。具体的には、単に複数の文脈ベクトルの和を計算することであってもよいし、複数の文脈ベクトルを用いて畳み込み演算を行うことであってもよい。以降の説明では、対象テキスト群Tの文脈ベクトルg[T]を、便宜的に、第1の文脈ベクトルと称することがある。
【0041】
類似度計算部104は、文脈ベクトル計算部102から第1の文脈ベクトルを受け取り、候補テキスト群記憶部105から複数(M群)の候補テキスト群の文脈ベクトルを読み出す。以降の説明では、候補テキスト群の文脈ベクトルを、便宜的に、第2の文脈ベクトルと称することがある。
【0042】
候補テキスト群の群数であるMは、2以上の任意の自然数であるが類似テキスト群の探索範囲を規定するので、ある程度大きいことが好ましい。これら候補テキスト群は、例えば大量のコンテンツに関連付けられるテキスト群を、対象テキスト群と同様の抽出法で、予め抽出することにより収集可能である。各候補テキスト群に含まれるテキストの数は、任意の自然数であり、ばらばらであってもよいし、全て同じであってもよい。また、これら候補テキスト群の文脈ベクトルは、第1の文脈ベクトルと同様の計算法で、予め計算することができる。これら候補テキスト群S[1],S[2],・・・,S[M]と、その文脈ベクトルg[S[1]],g[S[2]],・・・,g[S[M]]により、類似テキスト群を探索するためのコーパスを以下の様に構築する。
Corpus={(S[1],g[S[1]]),(S[2],g[S[2]]),・・・,(S[M],g[S[M]])}
類似度計算部104は、第1の文脈ベクトルに対するM個の第2の文脈ベクトルそれぞれの類似度を計算する。類似度は、ベクトル間の類似性を評価するための任意の指標であってよく、典型的には、コサイン類似度、または正規化された文脈ベクトル間のユークリッド距離である。第1の文脈ベクトルg[T]に対する第i番目の候補テキスト群の第2の文脈ベクトルg[S[i]]のコサイン類似度は、cos(arg(g[T],g[S[i]]))で定義される。iはM以下の任意の自然数である。類似度計算部104は、各候補テキスト群を識別する情報(例えばiの値)に、第1の文脈ベクトルと当該候補テキスト群の第2の文脈ベクトルとの類似度を関連付けて類似度記憶部106に保存する。類似度計算部104は、前述のプロセッサおよびメモリであり得る。
【0043】
なお、M個の第2の文脈ベクトルの全てについて、類似度を計算することは必須ではない。例えば、大量のデータから類似するインスタンスのペアを高速に抽出するアルゴリズムとして、局所鋭敏型ハッシュ(LSH:Locality Sensitive Hashing)が知られている。このアルゴリズムは、ベクトルを入力してスカラ値を出力するように定義されたハッシュ関数を用いる。このハッシュ関数は、類似するベクトルが入力された場合に同一のスカラ値を返しやすいという特徴がある。故に、M個の第2の文脈ベクトルについてスカラ値を予め計算して候補テキスト群記憶部105に保存しておき、ハッシュ関数を用いて第1の文脈ベクトルのスカラ値を計算し、このスカラ値と同一のスカラ値に関連付けられる第2の文脈ベクトルを抽出してから類似度計算部104に与えるようにしてもよい。類似度計算部104は、抽出された第2の文脈ベクトルに限って類似度を計算することで、計算量を大幅に低減することができる。
【0044】
候補テキスト群記憶部105には前述のコーパスが構築されており、類似度計算部104によってコーパス、または第2の文脈ベクトルを読み出される。また、類似テキスト群探索部107によって類似テキスト群に相当する候補テキスト群を読み出される。候補テキスト群記憶部105は、前述の補助記憶装置であり得る。
【0045】
類似度記憶部106は、類似度計算部104によって類似度(および対応する候補テキスト群を識別する情報)を書き込まれ、類似テキスト群探索部107によってこれを読み出される。類似度記憶部106は、前述のメモリであり得る。
【0046】
類似テキスト群探索部107は、類似度記憶部106に記憶された類似度に基づいて、対象テキスト群と文脈ベクトルに関して類似する候補テキスト群である類似テキスト群を探索する。具体的には、類似テキスト群探索部107は、対象テキスト群と文脈ベクトルに関して最も類似する候補テキスト群を探索してもよいし、対象テキスト群と文脈ベクトルに関して類似する順に所定数の候補テキスト群を探索してもよいし、類似度が所定の数値条件を満足する候補テキスト群を探索してもよい。
【0047】
なお、類似度の定義次第で、類似度が小さいほど、第1の文脈ベクトルと第2の文脈ベクトルとが類似すること意味し得る点に注意を要する。具体的には、コサイン類似度は、その値が大きいほど第1の文脈ベクトルと第2の文脈ベクトルとが類似すること意味するが、正規化された文脈ベクトル間のユークリッド距離は、その値が小さいほど第1の文脈ベクトルと第2の文脈ベクトルとが類似すること意味する。
【0048】
類似テキスト群探索部107は、探索した1つまたは複数の類似テキスト群を候補テキスト群記憶部105から読み出し、これを出力する。類似テキスト群探索部107は、前述のプロセッサおよびメモリであり得る。
【0049】
出力された類似テキスト群は、対象テキスト群の抽出されたコンテンツに新規コメントとして自動投稿するために用いられてもよいし、当該コンテンツを視聴するユーザによるコメント投稿を支援するための投稿可能コメントとして用いられてもよい。
【0050】
図3の対象テキスト群に基づいて抽出される類似テキスト群、より具体的には類似コメント群、が
図6に例示される。
図6では、5つの類似テキスト群が正規化された文脈ベクトル間のユークリッド距離の昇順、すなわち、対象テキスト群と文脈ベクトルに関して類似する順に、ソートされている。
【0051】
なお、候補テキスト群の代わりに、候補テキスト単位で探索が行われてもよい。これにより、対象テキスト群と文脈ベクトルに関して類似する候補テキストである類似テキストを抽出することができる。これは、各候補テキスト群に含まれるテキストの数を全て1とした場合と等価である。或いは、類似テキスト群を一旦抽出してから、類似テキスト群に属するテキストから類似テキストをさらに抽出してもよい。これにより、候補テキスト単位で探索を行う場合に比べて、類似度の計算および類似テキストの探索に伴う計算量を削減することができる。
【0052】
図5に、
図3の対象テキスト群に基づいて抽出される類似テキスト、より具体的には類似コメント、が例示される。
図5では、5つの類似テキストが正規化された文脈ベクトル間のユークリッド距離の昇順、すなわち、対象テキスト群と文脈ベクトルに関して類似する順に、ソートされている。
【0053】
図5および
図6の例では、対象テキスト群が抽出されたコンテンツ(動画像)に関連付けられるカテゴリ「スポーツ」とは異なるカテゴリ「ゲーム」または「エンターテイメント」に関連付けられるコンテンツから抽出された候補テキスト(群)が、類似テキスト(群)として抽出されている。このように、文脈ベクトルに関する類似度を基準として用いることで、カテゴリの異なる動画像から抽出された候補テキスト(群)であっても、類似テキスト(群)の候補とすることができる。
【0054】
以下、入力テキストを文脈ベクトルへ変換する能力を獲得するための機械学習について説明する。この機械学習を実行するNNは、NN 103と同一であってもよいし、異なってもよい。いずれにせよ、NN 103にはこの機械学習の学習結果が設定される。
【0055】
この機械学習は、第1のテキスト群と第2のテキスト群とが類似の文脈を示唆する場合には、当該第1のテキスト群の文脈ベクトルと当該第2のテキスト群の文脈ベクトルとが類似するように、例えばコサイン類似度が0に比べて十分大きくなるように、文脈ベクトルを計算することを目指す。他方、この機械学習は、第1のテキスト群と第2のテキスト群とが類似しない文脈を示唆する場合には、当該第1のテキスト群の文脈ベクトルと当該第2のテキスト群の文脈ベクトルとが類似しないように、例えばコサイン類似度が1に比べて十分小さくなるように、文脈ベクトルを計算することを目指す。
【0056】
かかる学習目標を達成するために、それらの示唆する文脈が類似するテキスト群のペアを入力データとし、両テキスト群が類似であることを表す類似度の値(コサイン類似度であれば1)を教師データとする第1の学習データ(positive data)と、それらの示唆する文脈が類似しないテキスト群のペアを入力データとし、両テキスト群が非類似であることを表す類似度の値(コサイン類似度であれば0)を教師データとする第2の学習データ(negative data)とを用いて機械学習を行う。なお、この機械学習が妥当な文脈ベクトルを計算できるようにするためには、第1の学習データおよび第2の学習データそれぞれ十分な件数揃えることが好ましいが、一方の学習データを十分には揃えられなかったとしても相応の効果は期待できる。
【0057】
第1の学習データおよび第2の学習データに含まれる入力データは、例えば、ユーザが動画像に対してコメントを投稿することができる動画像配信サービスの提供事業者によって蓄積された膨大なコメントデータから抽出することができる。
【0058】
それらの示唆する文脈が類似するテキスト群のペアは、同一のコンテンツに対して投稿されたコメントから抽出することができる。なお、文脈は、コンテンツの再生位置に依存して変化し得る。故に、コンテンツの任意の再生位置の近傍にあるコメントを抽出して2群に分けることで、類似の文脈を示唆する可能性の高いテキスト群のペアを得ることができる。或いは、それらの示唆する文脈が類似するテキスト群のペアは、同じメタデータに関連付けられる(例えば、同じカテゴリに属する)2つのコンテンツに対して投稿されたコメントから抽出することもできる。
【0059】
それらの示唆する文脈が類似しないテキスト群のペアは、例えば異なるメタデータにそれぞれ関連付けられる(例えば、異なるカテゴリにそれぞれ属する)2つのコンテンツに対して投稿されたコメントからそれぞれ抽出することができる。
【0060】
なお、いずれの場合にも、抽出されたテキスト群の間でコメントは交差しないようにする。
【0061】
かかる機械学習を行うことで、学習対象のNNは、例えば、同一のコンテンツに対して投稿されたコメントから抽出されたテキスト群のペア、または同じメタデータに関連付けられる2つのコンテンツに対して投稿されたコメントから抽出されたテキスト群のペアに対して、両テキスト群の文脈ベクトルが類似するように文脈ベクトルを計算することができるようになる。他方、このNNは、例えば、異なるメタデータにそれぞれ関連付けられる2つのコンテンツに対して投稿されたコメントからそれぞれ抽出されたテキスト群のペアに対して、両テキスト群の文脈ベクトルが類似しないように文脈ベクトルを計算することができるようになる。
【0062】
以下、
図7を用いて、テキスト抽出装置100の動作例を説明する。
まず、テキスト群入力部101は、対象テキスト群を獲得する(ステップS201)。対象テキスト群は、前述のように様々な手法により獲得され得る。文脈ベクトル計算部102は、機械学習済みのNN 103を用いて、ステップS201において獲得された対象テキスト群の第1の文脈ベクトルを計算する(ステップS202)。
【0063】
類似度計算部104は、ステップS202において計算された第1の文脈ベクトルに対する、複数の候補テキスト群の第2の文脈ベクトルそれぞれの類似度を計算する(ステップS203)。類似テキスト群探索部107は、ステップS203において計算された類似度に基づいて、対象テキスト群と文脈ベクトルに関して類似する候補テキスト群である類似テキスト群を探索し(ステップS204)、処理は終了する。
【0064】
図1のテキスト抽出装置100は、
図8に例示されるように、コメント投稿装置300に組み込まれてもよい。このコメント投稿装置300は、受信部301と、テキスト抽出装置100と、送信部302とを含む。このコメント投稿装置300は、コンテンツに関連付けられるコメントを自動的に生成して投稿する。
【0065】
コメント投稿装置300は、典型的にはコンピュータであるが、これに限られない。コメント投稿装置300は、
図1のテキスト抽出装置の機能に相当するテキスト抽出処理、および通信制御などを行うプロセッサ、例えばCPUおよびGPUと、かかる処理を実現するために当該プロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータなどを一時的に格納するメモリとを含んでいる。
【0066】
コメント投稿装置300は、さらに、ネットワークに接続するための通信装置を利用可能である。通信装置は、ネットワーク経由で、再生端末、コンテンツ配信サーバ、コメント配信サーバなどの外部装置と通信をする。通信装置は、コメント投稿装置300に内蔵されていてもよいし、コメント投稿装置300に外付けされてもよい。
【0067】
受信部301は、例えば、コメントを投稿する対象となるコンテンツを特定する情報を受信する。かかるコンテンツは、ユーザまたはコンテンツ配信サービスの運営者によって意図的に選択されてもよいし、何らかのアルゴリズムに従って自動的に選択されてもよい。受信部301は、さらに、かかるコンテンツに関連付けられる複数のテキスト、すなわち対象テキスト群の候補または対象テキスト群そのものを受信することもできる。ここで、複数のテキストは、例えばコンテンツに関連付けられるコメント、タイトル、説明文、タグ、カテゴリなどのメタデータを含み得る。なお、
図8のコメント投稿装置300が、コンテンツに付与されるコメントなどのメタデータを配信するサーバに組み込まれているならば、当該メタデータを外部装置から受信する必要はない。受信部301は、コンテンツを特定する情報をテキスト抽出装置100へ送る。受信部301は、前述の通信装置であってもよいし、当該通信装置とのインターフェースであってもよい。
【0068】
テキスト抽出装置100は、受信部301から受け取った情報によって特定されるコンテンツに関連付けられる複数のテキストを対象テキスト群として抽出し、それからこの対象テキスト群に文脈ベクトルに関して類似する類似テキスト群を探索する。テキスト抽出装置100は、類似テキスト群に含まれるテキストの少なくとも1つを送信部302へ送る。
【0069】
送信部302は、テキスト抽出装置100から少なくとも1つのテキストを受け取り、これをコンテンツに関連付けられるコメントとして、例えばコメント配信サーバへ投稿のために送信する。送信部302は、前述の通信装置であってもよいし、当該通信装置とのインターフェースであってもよい。
【0070】
なお、送信部302が、テキスト抽出装置100から受け取った少なくとも1つのテキストを投稿可能コメントとして、コンテンツを再生する再生端末へ送信してもよい。かかる変形によれば、
図8のコメント投稿装置300を、ユーザによるコメント投稿を支援するコメント投稿支援装置として構成することができる。
【0071】
図1のテキスト抽出装置100は、
図9に例示されるように、再生端末400に組み込まれてもよい。この再生端末400は、受信部401と、バッファ402と、再生部403と、出力部404と、ユーザ入力部405と、テキスト抽出装置100と、送信部406とを含む。
【0072】
再生端末400は、(1)再生中のコンテンツに関してユーザが入力したテキストに基づいて、当該コンテンツに対するコメントを自動生成して投稿する機能、ならびに(2)再生中のコンテンツに関してユーザが入力したテキスト、または、再生中のコンテンツに関連付けられる受信テキストに基づいて、投稿可能コメントを自動生成してコンテンツと共に出力し、ユーザの選択に応じて投稿可能コメントを実際に投稿する機能、のうち両方または一方を備える。
【0073】
再生端末400は、典型的には、テレビ受像機(インターネットテレビを含む)、PC(Personal Computer)、モバイル端末(例えば、タブレット、スマートフォン、ラップトップ、フィーチャーフォン、ポータブルゲーム機、デジタルミュージックプレイヤー、電子書籍リーダなど)、VR(Virtual Reality)端末、AR(Augmented Reality)端末であるが、これらに限られない。
【0074】
再生端末400は、コンテンツの再生制御、当該再生端末400に接続された出力装置に対する出力制御、ユーザ入力に対するデータ処理、
図1のテキスト抽出装置の機能に相当するテキスト抽出処理、および通信制御などを行うプロセッサ、例えばCPUおよびGPUと、かかる処理を実現するために当該プロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータなどを一時的に格納するメモリとを含んでいる。
【0075】
再生端末400は、さらに、ネットワークに接続するための通信装置と、コンテンツなどを出力するための出力装置と、ユーザ入力を受け付けるための入力装置と、プログラムまたはデータを保存する補助記憶装置とを利用可能である。これらの通信装置、出力装置、入力装置および補助記憶装置は、再生端末400に内蔵されていてもよいし、再生端末400に外付けされてもよい。
【0076】
通信装置は、ネットワーク経由で、Webサーバ、コンテンツ配信サーバ、コメント配信サーバ、コメント投稿装置300などの外部装置と通信をする。
【0077】
出力装置は、動画像、静止画像、テキストなどを表示するための表示装置および/または音声、楽曲などを出力するためのスピーカを含み得る。表示装置は、例えば、液晶ディスプレイ、有機EL(electroluminescence)ディスプレイ、CRT(Cathode Ray Tube)ディスプレイなどである。表示装置は、コンテンツを含む表示データを表示する。なお、表示装置は、タッチスクリーンのように入力装置の機能を備えていてもよい。
【0078】
入力装置は、例えば、キーボード、マウス、テンキー、リモートコントローラなどであってもよいし、タッチスクリーンのように表示装置の機能を備えていてもよい。ユーザ入力は、典型的には、タップ、クリック、特定のキーの押下などであり得る。このほか、ユーザ入力は、例えば、マイクロフォンによって捉えられる音声、生体センサによって検出される生体データ(例えば体温、表情など)、GPS(Global Positioning System)または基地局情報によって識別される位置データ、加速度センサによって検出される加速度データに基づいて推定されるユーザのアクション(例えば、再生端末400を振り回した)などを含むこともできる。
【0079】
補助記憶装置は、例えば、プログラムまたはデータを格納する。補助記憶装置は、例えば、HDD、SSDなどの不揮発性記憶媒体であることが好ましい。補助記憶装置は、再生端末400にネットワーク経由で接続されたファイルサーバであり得る。
【0080】
受信部401は、再生対象のコンテンツを、例えばコンテンツ配信サーバから受信する。再生対象のコンテンツは、ユーザによって意図的に選択されてもよいし、何らかのアルゴリズムに従って自動的に選択されてもよい。受信部401は、受信コンテンツをバッファ402へ送る。受信部401は、さらに、再生対象のコンテンツに付与されたメタデータを、例えばコメント配信サーバまたはその他のメタデータ配信サーバから受信してもよい。このメタデータは、再生対象のコンテンツに関連付けられるコメント、タイトル、説明文、タグ、カテゴリなどのテキストを含み得る。受信部401は、メタデータを受信した場合には、受信メタデータをバッファ402へ送る。受信部401は、前述の通信装置であってもよいし、当該通信装置とのインターフェースであってもよい。
【0081】
バッファ402は、受信部401からのデータ、すなわち受信コンテンツ、および/または受信メタデータを一時的に保存する。バッファ402は、保存しているデータを、再生部403からの要求に応じて、再生部403へ送る。このとき、バッファ402は、保存しているメタデータをテキスト抽出装置100へも送ってよい。バッファ402は、前述のメモリであり得る。
【0082】
再生部403は、バッファ402から必要に応じてデータを読み出す。再生部403は、バッファ402から読み出したコンテンツを再生し、再生したコンテンツを定められたタイミングで出力部404へ送る。コンテンツの再生は、例えば、符号化されたビデオデータ、音声データなどのコンテンツの復号、復号されたビデオデータおよびメタデータに基づく表示データの生成、例えば復号ビデオデータにコメントを合成する処理、などを含み得る。再生部403は、ユーザ入力部405からコンテンツの再生制御に関するユーザ入力を受け取り、これに応じてコンテンツを再生/停止したり、コンテンツの再生状態を指定された再生位置へジャンプさせたりしてもよい。再生部403は、前述のプロセッサおよびメモリであり得る。
【0083】
出力部404は、再生部403から再生されたコンテンツ、例えば表示データおよび/または音声データを出力する。さらに、出力部404は、テキスト抽出装置100から、少なくとも1つのテキストを投稿可能コメントとして受け取り、これをコンテンツと共に出力してもよい。出力部404は、前述の出力装置であってもよいし、当該出力装置とのインターフェースであってもよい。
【0084】
ユーザ入力部405は、様々なユーザ入力を受け取る。例えば、ユーザ入力部405は、コンテンツの再生制御に関するユーザ入力を受け取り、これを再生部403に送ってもよい。ユーザ入力部405は、再生中のコンテンツに関連付けられるテキストを投稿するためのユーザ入力を受け取り、これを送信部406へ送ってもよい。かかるユーザ入力は、直接的なテキスト入力に限られず、出力部404によって出力された投稿可能コメントへの選択入力であり得る。さらに、ユーザ入力部405は、再生中のコンテンツに関連付けられるテキストとして投稿するためにユーザによって直接入力されたテキストを、対象テキスト群の候補としてテキスト抽出装置100へ送ってもよい。ユーザ入力部405は、前述の入力装置であってもよいし、当該入力装置とのインターフェースであってもよい。
【0085】
テキスト抽出装置100は、再生中のコンテンツに付与されたメタデータをバッファ402から受け取ってよいし、当該コンテンツに関連付けられるテキストとして投稿するためにユーザによって直接入力されたテキストをユーザ入力部405から受け取ってもよい。いずれにせよ、テキスト抽出装置100は、対象テキスト群に文脈ベクトルに関して類似する類似テキスト群を探索し、類似テキスト群に含まれるテキストのうち少なくとも1つを、投稿可能コメントとして出力部404へ送るか、コメント投稿のために送信部406へ送るかする。
【0086】
送信部406は、テキスト抽出装置100から少なくとも1つのテキストを受け取り、これを再生中のコンテンツに関連付けられるコメントとして投稿するために、例えばコメント配信サーバへ送信する。また、送信部406は、ユーザによって直接入力されたテキストを受け取り、これを再生中のコンテンツに関連付けられるテキストとして投稿するために、例えばコメント配信サーバまたはその他のメタデータ配信サーバへ送信してもよい。送信部406は、前述の通信装置であってもよいし、当該通信装置とのインターフェースであってもよい。
【0087】
図8のコメント投稿装置300および
図9の再生端末400は、
図10に例示されるコンテンツ配信システムへ組み込むことができる。このコンテンツ配信システムは、コメント投稿装置300と、再生端末400と、Webサーバ501と、コンテンツ配信サーバ502と、コメント配信サーバ503とを含む。
【0088】
図10の各装置は、ネットワーク経由で互いに接続しており、データを互いに送受信できる。なお、
図10の各装置の数は、1つに限られず複数であり得る。また、
図10に示されるサーバ構成は例示に過ぎず、1つのサーバの機能が複数の装置によって分担されてもよいし、複数のサーバの機能が1つの装置に割り当てられてもよい。
【0089】
Webサーバ501は、再生端末400からネットワーク経由でアクセスされると、
図10のコンテンツ配信システムから配信可能なコンテンツが列挙されたリストを含むウェブページを当該再生端末400にネットワーク経由で提供する。
【0090】
再生端末400のユーザは、当該再生端末400に表示されたウェブページ中のリストから配信を希望するコンテンツを、例えば、タップ、クリック、特定のキーの押下などの所定の操作を行うことで選択する。再生端末400は、このような所定の操作を検知すると、ユーザによって選択されたコンテンツの配信要求をWebサーバ501へとネットワーク経由で送信する。
【0091】
Webサーバ501は、ネットワーク経由で再生端末400からコンテンツの配信要求を受信すると、当該コンテンツを取得するための情報(典型的にはURL(Uniform Resource Locator))と、当該コンテンツに関連付けられるコメント(および/またはその他のメタデータ)を取得するための情報(典型的にはURL)とを当該再生端末400へとネットワーク経由で返信する。
【0092】
再生端末400は、ネットワーク経由でWebサーバ501から前述の情報を受信すると、コンテンツを取得するための情報を用いてコンテンツ配信サーバ502にネットワーク経由でアクセスし、コメントを取得するための情報を用いてコメント配信サーバ503にネットワーク経由でアクセスする。
【0093】
コンテンツ配信サーバ502およびコメント配信サーバ503は、それぞれ、再生端末400からネットワーク経由でコンテンツおよびコメントの配信要求を受けると、当該再生端末400の用いた情報に関連付けられたコンテンツおよびコメントを当該再生端末400へとネットワーク経由で配信する。
【0094】
コンテンツ配信サーバ502は、再生端末400からネットワーク経由でコンテンツの配信要求を受けると、当該配信要求の対象となるコンテンツを特定し、当該再生端末400へとネットワーク経由で配信する。コンテンツ配信サーバ502は、典型的には、大量の録画済みの動画像データと、それぞれのコンテンツを取得するための情報(典型的にはURL)とを関連付けて記憶部に格納している。
【0095】
なお、コンテンツ配信サーバ502は、生配信機能を備えていてもよい。すなわち、コンテンツ配信サーバ502は、図示されない送信源(例えば、ビデオカメラに接続されたコンピュータ)から送信される動画像データをネットワーク経由で順次受信し、そのままもしくは必要な加工を行ってから、当該動画像データを再生中の再生端末400へとネットワーク経由で配信してもよい。テキスト抽出装置100は、かかる生配信されるコンテンツに関連付けられるテキストも対象テキスト群として扱うことができる。また、コメント投稿装置300および再生端末400は、かかる生配信コンテンツに関連付けられるコメントの自動投稿またはその支援が可能となる。
【0096】
コメント配信サーバ503は、再生端末400からネットワーク経由でコメントデータの配信要求を受けると、当該配信要求の対象となるコメントを特定し、当該再生端末400へとネットワーク経由で配信する。コメント配信サーバ503は、コンテンツ配信サーバ502から配信可能なコンテンツのそれぞれに関連付けられるコメントと、当該コメントを取得するための情報(典型的にはURL)を関連付けて記憶部に格納している。
【0097】
コメント配信サーバ503は、再生端末400またはコメント投稿装置300によって投稿された新たなコメントをネットワーク経由で受信すると、当該新たなコメントを追加して、コンテンツに関連付けられるコメントを更新する。コメント配信サーバ503は、更新後のコメントを、更新前のコメントを配信済みの再生端末400へネットワーク経由で自動配信してもよい。
【0098】
再生端末400は、Webサーバ501からネットワーク経由で提供されたウェブページを表示し、当該ウェブページの表示中にユーザによってなされたコンテンツを選択する操作を検知し、当該コンテンツの配信要求をWebサーバ501へとネットワーク経由で送信する。
【0099】
再生端末400は、このコンテンツを取得するための情報と当該コンテンツに関連付けられるコメントを取得するための情報とをWebサーバ501からネットワーク経由で受信し、これらの情報を用いてコンテンツ配信サーバ502およびコメント配信サーバ503にそれぞれネットワーク経由でアクセスする。
【0100】
なお、再生端末400がコンテンツを再生している間に、コメント配信サーバ503から当該コンテンツに関連付けられる最新のコメントデータが配信される可能性がある。この場合に、再生端末400は、古いコメントを破棄し、最新のコメントを用いてコンテンツの再生制御を行うようにすればよい。
【0101】
コメント投稿装置300は、再生端末400またはその他の装置からの要求に応じて、コメント配信サーバ503に対してコメントの自動投稿を行う。
【0102】
図10のコンテンツ配信システムにおいて、コメント投稿装置300および再生端末400が省略、簡略化または変形されてよい。例えば、コメント投稿装置300は省略されてもよいし、前述のコメント投稿支援装置に変形されてもよい。後者の場合に、コメント投稿支援装置は、再生端末400またはその他の装置からの要求に応じて、再生端末400へ投稿可能コメントを送ってもよい。また、再生端末400は、前述の、(1)再生中のコンテンツに関してユーザが入力したテキストに基づいて、当該コンテンツに対するコメントを自動生成して投稿する機能、ならびに(2)再生中のコンテンツに関してユーザが入力したテキスト、または、再生中のコンテンツに関連付けられる受信テキストに基づいて、投稿可能コメントを自動生成してコンテンツと共に出力し、ユーザの選択に応じて投稿可能コメントを実際に投稿する機能、のうち一方または両方を備えなくてもよい。
【0103】
以上説明したように、実施形態に係るテキスト抽出装置は、複数のテキストを含む対象テキスト群の示唆する文脈を定量化する文脈ベクトルを計算する。そして、このテキスト抽出装置は、複数の候補テキスト群のうち、対象テキスト群の文脈ベクトルに類似する文脈ベクトルを持つ類似テキスト群を探索する。故に、このテキスト抽出装置によれば、複数の候補テキスト群から、対象テキスト群と類似の文脈を示唆する類似テキスト群を抽出することができる。抽出された類似テキスト群は、例えば、対象テキスト群の抽出されたコンテンツに新規コメントとして自動投稿するために用いられてもよいし、当該コンテンツを視聴するユーザによるコメント投稿を支援するための投稿可能コメントとして用いられてもよい。
【0104】
(変形例1)
実施形態に係るテキスト抽出装置は、対象テキスト群の示唆する文脈が、関心テキストの示唆する文脈に類似するか否かをチェックするために利用することもできる。かかる変形例では、第2の文脈ベクトルとして関心テキストの文脈ベクトルが使用され、例えば類似度が閾値以上であれば、対象テキスト群の示唆する文脈が、関心テキストの示唆する文脈に類似する、と判定される。関心テキストは、例えばNGワード、またはその他の規制対象となるテキストであり得る。対象テキスト群がかかる関心テキストに類似する文脈を示唆する場合には、コンテンツ配信サービスの運用者に通報したり、当該対象テキスト群の投稿を拒否したり、当該対象テキスト群が投稿済みであればこれを削除したり、投稿したユーザによるコンテンツ配信サービスの利用、例えばサーバアクセスを制限したりしてもよい。
【0105】
(変形例2)
コンテンツの属性情報を用いて、コンテンツに新規コメントとして自動投稿されるコメントを決定したり、当該コンテンツを視聴するユーザによるコメント投稿を支援するためにユーザに提示される投稿可能コメントを決定したり、第1の文脈ベクトルを補正したりしてもよい。コンテンツの属性情報は、コメントの自動投稿を行う、または投稿可能コメントを提示する時間的位置付近でのコンテンツの局所的な特徴(例えば、特定の人物、キャラクタ、モノ、場所などが写っているか、特定の楽曲、メロディー、効果音などが流れているか)、または、その時間的位置がコンテンツ全体のうちどの部分にあたるか(例えば開始直後か、それとも終了間際か)など、であり得る。また、タグ、カテゴリなどのメタデータも、ここでいうコンテンツの属性情報として利用可能である。
【0106】
(変形例3)
実施形態に係るテキスト抽出装置のうち文脈ベクトル計算部およびNNに着目して、文脈ベクトル計算装置を構成することも可能である。この文脈ベクトル計算装置によれば、任意のテキスト群によって形成される文脈を定量化する文脈ベクトルを計算することが可能となる。文脈ベクトルは、例えば、大規模コメントの自動分類、コンテンツの文脈構造の自動分析などの様々な応用例に活用できる可能性がある。
【0107】
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
【0108】
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
【0109】
上記各実施形態の処理の少なくとも一部は、汎用のコンピュータを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク(CD−ROM、CD−R、DVD等)、光磁気ディスク(MO等)、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ(サーバ)上に格納し、ネットワーク経由でコンピュータ(クライアント)にダウンロードさせてもよい。
【解決手段】テキスト抽出装置100は、文脈ベクトル計算部102と、類似度計算部104と、探索部107とを含む。文脈ベクトル計算部102は、複数のテキストを含む対象テキスト群の第1の文脈ベクトルを、機械学習済みのニューラルネットワークを用いて計算する。類似度計算部104は、それぞれ1以上のテキストを含む複数の候補テキスト群の第2の文脈ベクトルの各々と第1の文脈ベクトルとの類似度を計算する。探索部107は、類似度に基づいて、第1の文脈ベクトルに類似する1つ以上の第2の文脈ベクトルにそれぞれ対応する1つ以上の候補テキスト群を探索し、類似テキスト群を得る。