JP2016045552A - 特徴抽出プログラム、特徴抽出方法、および特徴抽出装置 - Google Patents
特徴抽出プログラム、特徴抽出方法、および特徴抽出装置 Download PDFInfo
- Publication number
- JP2016045552A JP2016045552A JP2014167284A JP2014167284A JP2016045552A JP 2016045552 A JP2016045552 A JP 2016045552A JP 2014167284 A JP2014167284 A JP 2014167284A JP 2014167284 A JP2014167284 A JP 2014167284A JP 2016045552 A JP2016045552 A JP 2016045552A
- Authority
- JP
- Japan
- Prior art keywords
- document
- user
- divided
- content
- label
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】文書に局所的に含まれるユーザの興味を引く記述に基づいて、その文書にラベルを付与できるようにする。【解決手段】特徴抽出装置10は、第1の文書1を、複数の分割文書1a〜1gに分割する。次に特徴抽出装置10は、複数の分割文書1a〜1gの中から、ユーザ3によって登録された第2の文書2a〜2cと類似する類似分割文書1a,1d,1fを抽出する。そして特徴抽出装置10は、類似分割文書1a,1d,1fに含まれる特徴的なキーワードを、ユーザ3に第1の文書1を提示する際に第1の文書1と共に表示するラベル6として決定する。【選択図】図1
Description
本発明は、特徴抽出プログラム、特徴抽出方法、および特徴抽出装置に関する。
Webサイトのコンテンツに対して自動でラベルを付与することで、ユーザのサイト内巡回行動を促進させることが期待できる。ラベルは、例えばコンテンツの内容を表すキーワードである。例えばWebサイトのトップページに、そのWebサイトの内容を表すキーワードによるタグクラウド(ラベル集合)を表示させる場合がある。ユーザは、コンテンツの内容をラベルによって推定することができ、ユーザの興味に合ったコンテンツに容易にアクセスすることができる。ユーザは、興味に合ったコンテンツが提供されているサイトであると認識すれば、繰り返しそのサイトにアクセスするものと考えられる。
コンテンツに適切なラベルを選択するための様々な技術がある。例えばコンテンツに関係する特徴量とコンテンツの属性を示す属性情報とに共通する潜在変数、前記特徴量、および前記属性情報のそれぞれの確率分布の性質を表わすパラメータを算出することで、コンテンツに対して、最適なキーワードを付与する技術がある。
また、複数のコンテンツに付与されている、コンテンツに対するユーザの主観的な評価を表すラベルのうち、コンテンツへの評価の信頼度が高いラベル間の類似度に基づいて、ラベルをクラスタリングする技術がある。
また、予めカテゴリ分けされた文書群からカテゴリの主題を示す語句を抽出し、抽出された語句を利用して文書に対して階層的なタグを付与する技術もある。
多くのコンテンツでは、1つのコンテンツ内に様々な話題が含まれる。様々な話題を含むコンテンツは、全体としては、Webサイトにアクセスしたユーザの興味に合った内容ではなくても、そのユーザ個人の興味に合った内容が一部に含まれる場合がある。その場合、ユーザの興味に合った内容を示すキーワードをラベルとして提示することで、ユーザが興味を有する内容が記載されたコンテンツに容易にアクセスできるようになる。
しかし、現在の技術では、コンテンツ全体としての特徴を表すラベルしか付与されず、そのコンテンツの一部に、ユーザの興味を引く情報が含まれていても、その情報を表すラベルは付与されない場合がある。
1つの側面では、文書に局所的に含まれるユーザの興味を引く記述に基づいて、その文書にラベルを付与できるようにすることを目的とする。
1つの案では、コンピュータに、第1の文書を、複数の分割文書に分割し、複数の分割文書の中から、ユーザによって登録された第2の文書と類似する類似分割文書を抽出し、類似分割文書に含まれる特徴的なキーワードを、ユーザに第1の文書を提示する際に第1の文書と共に表示するラベルとして決定する、処理を実行させる特徴抽出プログラムが提供される。
1態様によれば、文書に局所的に含まれるユーザの興味を引く記述に基づいて、その文書にラベルを付与できる。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る特徴抽出装置の機能構成例を示す図である。第1の実施の形態に係る特徴抽出装置10は、記憶部11と演算部12とを有する。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る特徴抽出装置の機能構成例を示す図である。第1の実施の形態に係る特徴抽出装置10は、記憶部11と演算部12とを有する。
記憶部11は、ユーザ3に開示するコンテンツの内容を示す第1の文書1と、ユーザ3によって登録された複数の第2の文書2a,2b,2cを記憶する。第1の文書1は、例えばWebサイトで公開するコンテンツ内のテキストである。第2の文書2a,2b,2cは、例えばユーザ3が書き込んだツイートやブログなどの、ユーザ3が作成した文書である。なおユーザ3によって登録された複数の第2の文書2a,2b,2cは、ユーザ3が興味を有している内容の文書であると考えることができる。記憶部11は、例えば特徴抽出装置10が有するメモリまたはHDD(Hard Disk Drive)である。
演算部12は、第1の文書1の特徴を抽出し、ラベルを決定する。この際、演算部12は、第2の文書2a,2b,2cに基づいて、第1の文書1内のユーザ3の興味に合った話題に関する部分からキーワードを抽出し、そのキーワードをラベルとする。そのため演算部12は、第1の文書1を、複数の分割文書1a〜1gに分割する。例えば演算部12は、複数の分割パターンで第1の文書1を分割する。図1の例では、第1の分割パターン(例えば段落ごとに分割)により、2つの分割文書1a,1bが生成されている。また第2の分割パターン(例えば文ごとに分割)により、5個の分割文書1c〜1gが生成されている。
演算部12は、複数の分割文書1a〜1gの中から、ユーザ3が興味を有する内容の第2の文書2a〜2cの少なくともいずれか1つと類似する分割文書1a,1d,1fを抽出する。例えば演算部12は、第2の文書2a〜2cそれぞれと分割文書1a〜1gそれぞれとの間の内容の類似関係の有無を判断する。例えば演算部12は、共通で出現するキーワードが多いほど高い類似度となるように、第2の文書2a〜2cそれぞれと分割文書1a〜1gそれぞれとの間の類似度を計算し、類似度が所定値以上の組み合わせについて、類似関係があると判断することができる。また演算部12は、類似度の判断に、例えばクラスタリング技術を用いることができる。クラスタリングにより同じクラスタに属することになった第2の文書と分割文書とは、類似するものと判断できる。
演算部12は、第2の文書2a〜2cのいずれかと類似する分割文書1a,1d,1fに含まれる特徴的なキーワードを、ユーザ3に第1の文書1を提示する際に第1の文書1と共に表示するラベル6として決定する。例えば演算部12は、少なくとも1つの第2の文書と類似する分割文書1a,1d,1fからキーワードを抽出し、それらのキーワードのスコアを計算する。スコアは、キーワードの特徴度が高い程、高い値とする。特徴度は、キーワードが、そのキーワードを含む文書の内容の特徴を表している度合いを示す指標である。またスコアは、キーワードの抽出元の分割文書と類似する第2の文書の数が多いほど高い値とする。例えば演算部12は、キーワードの特徴度に、抽出元の分割文書と類似する第2の文書の数を乗算した値を、そのキーワードのスコアとする。演算部12は、分割文書ごとに求めた、その分割文書内のキーワードのスコアを、同じ文字列のキーワードごとに合計する。そして演算部12は、スコア合計値が大きい方から所定数のキーワードを、第1の文書1をユーザ3に提示する際に、第1の文書1と共に表示するラベルに決定する。
その後、ユーザ3から特徴抽出装置10に、第1の文書1の閲覧要求があると、演算部12は、ラベル6を付与した第1の文書1を、ユーザ3が使用する端末装置4に送信することで、端末装置4の画面5に第1の文書1とラベル6とを表示させる。
このような特徴抽出装置10によれば、第1の文書1内に、ユーザ3が興味を有する内容の記述が局所的に含まれている場合、その記述を含む局所的な部分から抽出したキーワードを、第1の文書1のラベルにすることができる。例えば図1の例では、第1の文書1を分割して得られた分割文書1a〜1gのうち、分割文書1a,1dは、共に2つの第2の文書2a,2cに類似する。なお分割文書1eは、1つの第2の文書2bに類似する。なお分割文書1bは、一部に第2の文書2bと類似する内容を含んでいるものの、全体としては非類似と判断されている。この場合、類似する第2の文書が存在する分割文書1a,1d,1fそれぞれからキーワードが抽出され、そのキーワードのスコアが計算される。そして同じ文字列のキーワード同士のスコアの合計値が高い方から所定数の文字列が、ラベルとして決定される。図1の例では、「bbb」の文字列が、ラベルに決定されている。
その後、ユーザ3が端末装置4を利用して第1の文書1の閲覧要求を特徴抽出装置10に送信すると、端末装置4の画面5には、第1の文書1と共に、「bbb」の文字列がラベル6として表示される。ラベル6は、第1の文書1内のユーザ3の興味を有する局所的な部分から抽出されたキーワードであり、ユーザ3の興味を引く情報が、第1の文書1内に含まれていることを表している。
このように第1の実施の形態では、第1の文書1を分割した分割文書1a〜1gのうち、ユーザ3が興味を有する第2の文書2a〜2cと類似する分割文書内のキーワードの文字列が、第1の文書1のラベルに決定される。その結果、第1の文書1に局所的に含まれるユーザ3の興味を引く記述に基づいて、第1の文書1にラベルを付与することができる。
しかも第1の実施の形態では、複数の分割パターンで第1の文書1を分割するため、1つの分割パターンでは、類似する第2の文書を検出できない部分でも、別の分割パターンにより、類似する第2の文書を検出することが可能となる。例えば第1の分割パターンでの分割により得られた分割文書1bは、一部に第2の文書2bと類似する記述を含んでいるものの、全体としては、第2の文書2bとは非類似と判断されている。しかし別の第2の分割パターンで分割することで、分割文書1b内の一部の分割文書1fを得ることができ、その分割文書1fと第2の文書2bとが類似していることを検出することができる。その結果、より精度よく、ユーザが興味を有する文書2a〜2cと類似する、第1の文書1内の局所的な記述を検出できる。
さらに、類似する第2の文書の数が多い分割文書から抽出したキーワードほど、スコアを高くするようにしたことで、ユーザの興味の対象を強く表すキーワードがラベルとして設定される可能性が高くなる。その結果、より適切なキーワードをラベルとして提示できる。
なお特徴抽出装置10は、例えばコンピュータであり、上記演算部12が実行する処理手順を記述したプログラムを特徴抽出装置10が実行する。演算部12は、例えば特徴抽出装置10が有するプロセッサにより実現することができる。また、記憶部11は、例えば特徴抽出装置10が有するメモリにより実現することができる。
また、図1に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、以下のような文書集合を処理対象として想定している。
・コンテンツの内容を表す文書集合:コンテンツから抽出したテキスト集合
・ユーザの興味を表す文書集合:ユーザのツイート(つぶやき)集合
ツイートは、1つの文書の文字数が、例えば全角文字で140文字以下に制限されている。そのため、1つのツイートは、1つの話題について記述されることが多い。すると、ある一人のユーザの多数のツイートで語られた話題は、そのユーザの興味のある分野の話題であると考えることができる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、以下のような文書集合を処理対象として想定している。
・コンテンツの内容を表す文書集合:コンテンツから抽出したテキスト集合
・ユーザの興味を表す文書集合:ユーザのツイート(つぶやき)集合
ツイートは、1つの文書の文字数が、例えば全角文字で140文字以下に制限されている。そのため、1つのツイートは、1つの話題について記述されることが多い。すると、ある一人のユーザの多数のツイートで語られた話題は、そのユーザの興味のある分野の話題であると考えることができる。
他方、コンテンツから抽出したテキストには、長い文章のものがある。長い文章には、複数の話題が含まれることが多い。このようなコンテンツにユーザごとのラベルを決定するとき、例えば、コンテンツとツイートとの両方に出現するキーワードを、コンテンツのラベルとする手法(第1の手法)が考えられる。第1の手法では、ユーザのツイートとコンテンツとのそれぞれからキーワードが抽出される。次に、コンテンツから抽出されたキーワードのうち、ツイートからも抽出されているキーワードについて、TF−IDF(Term Frequency-Inverse Document Frequency)などによる重要度を用いてスコアリングが行われる。なおTF−IDFは、文書中に出現したキーワードがどのくらい特徴的であるかを識別する指標である。TF−IDFを用いると、多数の文書に出現するキーワードの重要度は下がり、特定のコンテンツでのみ出現するキーワードの重要度はあがる。そして、スコアの高いキーワードが、ラベルとして採用される。
ただし、第1の手法を採用すると、ユーザのツイート内で使用したキーワードしかラベルとして設定することができない。その結果、ラベルとして使用できるキーワードの種類が限られ、適切なラベルとはならない可能性がある。
そこで条件を緩めた手法として、ツイートと類似するコンテンツを探し、類似するコンテンツに出現するキーワードを利用する手法(第2の手法)が考えられる。例えば、ユーザの各ツイートと各コンテンツとの間の類似度に基づいて、ユーザの興味と内容の近い1つ以上のコンテンツが検出される。その後、類似度とTF−IDFなどによる単語の重要度とを用いて、各コンテンツ中に出現する単語に対しスコアリングが行われる。最終的に上位の単語が、各コンテンツに対するラベルとして採用される。
第2の手法であれば、ツイートと類似するコンテンツ内のキーワードは、そのキーワードがツイート内に出現しないキーワードであっても、ラベルとして採用することが可能である。しかし第2の手法では、コンテンツにユーザの興味のある部分が局所的に含まれているとき、その他の部分が似ていないと、そのコンテンツとツイートとの間の類似度が高くならない。そのため、長い文書内の一部に、ユーザが興味を有する分野の文章が含まれていても、その部分に出現する単語をラベルとして採用できない可能性がある。
そこで第2の実施の形態では、コンテンツ内のテキストを分割して分割文書集合を作成し、この分割文書集合とツイートとの類似度計算をする。そして多くのツイートとの間で類似関係を有する分割文書から抽出したキーワードほど高いスコアを与える。これにより、長い文書の一部にユーザが興味を有する分野の内容が記載されているとき、その一部の記載内容から抽出キーワードを、その文書のラベルとして採用することができる。その結果、ユーザが興味を持っている話題を含むコンテンツであることを、ユーザに提示することができ、ユーザによる文書閲覧の利便性が向上する。
なお第2の実施の形態では、コンテンツ内のテキストを分割するが、分割文書への適切な分割手法は自明ではない。すなわち、ユーザの興味やコンテンツ内の内容のまとまりが多様であるために、ユーザの興味のある内容のまとまりを保持しており、かつ無駄な部分(=ユーザの興味がない部分)を含まないような分割文書にコンテンツを分割することは難しい。例えば、興味のある部分が複数存在し、その分量が異なる場合は、テキストを単一のパターンで分割してもうまくはいかない。
そこで、第2の実施の形態では、複数の分割パターンで分割文書を作成する。分割パターンには、ツイートとの文書の長さのバランスが取れるような分割パターンが含まれる。例えばツイートが140文字以内という制限があれば、段落ごとに分割する分割パターンと、文ごとに分割する分割パターンとでコンテンツが分割される。
なおキーワードのスコアリングを行う場合、まず分割して得られた分割文書とツイートとの類似度計算が行われる。類似度計算には、例えばクラスタリングアルゴリズムが用いられる。クラスタリングアルゴリズムを用いると、類似する文書(分割文書またはツイート)同士を、同じクラスタに纏めることができる。そして多くのツイートと類似する分割文書内のキーワードほどスコアが高くなるように、各キーワードのスコアが付与される。
このように、複数パターンの分割をした分割文書とツイートとの類似度計算の結果を総合してスコアリングを行うことで、ユーザが興味のある局所的な部分に出現するキーワードを重視するようなスコアリングを行うことができる。そしてスコアの高いキーワードを、コンテンツのラベルとして決定すれば、ユーザの興味のある局所的な部分のキーワードを、コンテンツのラベルとしてユーザに見せることができる。
図2は、第2の実施の形態のシステム構成例を示す図である。特徴抽出装置100は、ネットワーク20を介して、複数の端末装置31,32,・・・と複数のサーバ41,42,・・・とに接続されている。複数の端末装置31,32,・・・は、ユーザが特徴抽出装置100にアクセスするために使用される。またユーザは、いずれかの端末装置を用いてサーバ41,42,・・・にアクセスし、ツイートを登録することができる。さらにユーザは、いずれかの端末装置を用いてサーバ41,42,・・・にアクセスし、サーバ41,42,・・・で公開されているコンテンツや、他のユーザのツイートなどを閲覧することができる。
複数のサーバ41,42,・・・は、ユーザのツイートやその他のコンテンツを公開するサーバである。例えば少なくとも1つのサーバは、端末装置31,32,・・・から送られたユーザのツイートを示す文章を、そのユーザの名称に関連づけて登録し、そのユーザの発言としてネットワーク20上に公開する。また少なくとも1つのサーバは、ユーザのツイート以外のさまざまなコンテンツを、ネットワーク20上に公開する。
特徴抽出装置100は、サーバ41,42,・・・から収集したコンテンツを、端末装置31,32,・・・を介してアクセスするユーザに提供する。その際、特徴抽出装置100は、アクセスしてきたユーザごとに、サーバ41,42,・・・で公開されているコンテンツから、そのユーザが興味を有する内容を示すキーワードを抽出し、そのコンテンツのラベルとして設定する。
図3は、第2の実施の形態に用いる特徴抽出装置のハードウェアの一構成例を示す図である。特徴抽出装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、特徴抽出装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、HDD103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
HDD103は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103は、特徴抽出装置100の補助記憶装置として使用される。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、特徴抽出装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した特徴抽出装置10も、図3に示した特徴抽出装置100と同様のハードウェアにより実現することができる。
特徴抽出装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。特徴抽出装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、特徴抽出装置100に実行させるプログラムをHDD103に格納しておくことができる。プロセッサ101は、HDD103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また特徴抽出装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、HDD103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
図4は、特徴抽出装置の機能を示すブロック図である。特徴抽出装置100は、ユーザ集合作成部111,ユーザ文書収集部112,コンテンツ収集部113、文書分割部114、キーワード抽出部115、クラスタリング部116、ラベル選定部117、ラベル付与部118、ユーザ集合記憶部120、ユーザ文書記憶部130、コンテンツ記憶部140、分割文書記憶部150、ユーザ興味キーワード記憶部160、分割文書キーワード記憶部170、クラスタリング結果DB180、およびコンテンツ−ラベル情報DB190を有している。
ユーザ集合作成部111は、特徴抽出装置100が提示したコンテンツを閲覧したことがあり、かつツイートしたことがあるユーザの一覧であるユーザ集合を作成する。例えばユーザ集合作成部111は、いずれかの端末装置を利用して特徴抽出装置100にアクセスしたユーザにユーザIDを付与し、ユーザIDに対して、そのユーザのツイート時のアカウント名を関連づけて、ユーザ集合に登録する。例えばユーザ集合作成部111は、ユーザが、特徴抽出装置100経由で提示したコンテンツに対するツイート操作を行ったとき、ツイート時のアカウント名を取得する。そしてユーザ集合作成部111は、そのアカウント名がユーザ集合に未登録であれば、そのアカウント名を新たなユーザIDに関連づけて、ユーザ集合に登録する。またユーザ集合作成部111は、管理者からの入力に従って、ユーザIDとアカウント名との組を、ユーザ集合に登録することもできる。
ユーザ集合記憶部120は、ユーザ集合を記憶する。例えばユーザ集合記憶部120は、メモリ102またはHDD103の記憶領域の一部である。
ユーザ文書収集部112は、ユーザのツイート(所定の文字数内で書かれた文書)を収集する。例えばユーザ文書収集部112は、ユーザ集合記憶部120に格納されているユーザのアカウント名で公開されているツイートの文章を、サーバ41,42,・・・から収集する。ユーザ文書収集部112は、収集した文書、ユーザ文書記憶部130に格納する。
ユーザ文書収集部112は、ユーザのツイート(所定の文字数内で書かれた文書)を収集する。例えばユーザ文書収集部112は、ユーザ集合記憶部120に格納されているユーザのアカウント名で公開されているツイートの文章を、サーバ41,42,・・・から収集する。ユーザ文書収集部112は、収集した文書、ユーザ文書記憶部130に格納する。
ユーザ文書記憶部130は、ユーザが作成した文書を記憶する。例えばメモリ102またはHDD103の記憶領域の一部が、ユーザ文書記憶部130として使用される。
コンテンツ収集部113は、サーバ41,42,・・・で公開されているコンテンツを収集する。コンテンツ収集部113は、収集したコンテンツを、コンテンツ記憶部140に格納する。
コンテンツ収集部113は、サーバ41,42,・・・で公開されているコンテンツを収集する。コンテンツ収集部113は、収集したコンテンツを、コンテンツ記憶部140に格納する。
コンテンツ記憶部140は、コンテンツを記憶する。例えばメモリ102またはHDD103の記憶領域の一部が、コンテンツ記憶部140として使用される。
文書分割部114は、コンテンツ記憶部140が記憶するコンテンツのテキスト部分を分割する。例えば文書分割部114は、コンテンツのテキストを、段落ごと、および文ごとの2パターンで分割し、複数の分割文書を生成する。文書分割部114は、生成した分割文書を、分割文書記憶部150に格納する。また文書分割部114は、コンテンツのテキスト全体を、1つの分割文書として分割文書記憶部150に格納する。
文書分割部114は、コンテンツ記憶部140が記憶するコンテンツのテキスト部分を分割する。例えば文書分割部114は、コンテンツのテキストを、段落ごと、および文ごとの2パターンで分割し、複数の分割文書を生成する。文書分割部114は、生成した分割文書を、分割文書記憶部150に格納する。また文書分割部114は、コンテンツのテキスト全体を、1つの分割文書として分割文書記憶部150に格納する。
分割文書記憶部150は、分割文書を記憶する。例えばメモリ102またはHDD103の記憶領域の一部が、分割文書記憶部150として使用される。
キーワード抽出部115は、ユーザ文書記憶部130に格納された文書から、ユーザの興味を示すキーワードを抽出する。キーワード抽出部115は、抽出したキーワードを、抽出元の文書に関連づけて、ユーザ興味キーワード記憶部160に格納する。またキーワード抽出部115は、分割文書記憶部150に格納された分割文書からキーワードを抽出する。キーワード抽出部115は、抽出したキーワードを、抽出元の分割文書に関連づけて、分割文書キーワード記憶部170に格納する。
キーワード抽出部115は、ユーザ文書記憶部130に格納された文書から、ユーザの興味を示すキーワードを抽出する。キーワード抽出部115は、抽出したキーワードを、抽出元の文書に関連づけて、ユーザ興味キーワード記憶部160に格納する。またキーワード抽出部115は、分割文書記憶部150に格納された分割文書からキーワードを抽出する。キーワード抽出部115は、抽出したキーワードを、抽出元の分割文書に関連づけて、分割文書キーワード記憶部170に格納する。
ユーザ興味キーワード記憶部160は、ユーザのツイートから抽出したキーワードを、その文書に関連づけて記憶する。例えばメモリ102またはHDD103の記憶領域の一部が、ユーザ興味キーワード記憶部160として使用される。
分割文書キーワード記憶部170は、分割文書から抽出したキーワードを、その分割文書に関連づけて記憶する。例えばメモリ102またはHDD103の記憶領域の一部が、分割文書キーワード記憶部170として使用される。
クラスタリング部116は、ユーザ興味キーワード記憶部160と分割文書キーワード記憶部170とを参照し、ユーザのツイートと、コンテンツを分割して得られた分割文書とのクラスタリングを行う。例えばクラスタリング部116は、コンテンツの各分割パターンの分割文書と、ツイート間で内容の類似度を計算する。クラスタリング部116は、類似する分割文書またはツイートを、同じクラスタに分類する。そしてクラスタリング部116は、分割文書とツイートが同じクラスタに属した場合(例えば類似度が一定以上の場合)にはエッジを張る。クラスタリング部116は、クラスタリングの結果を、クラスタリング結果DB180に格納する。
クラスタリング結果DB180は、クラスタリング結果を管理するDBである。例えば、メモリ102またはHDD103の記憶領域の一部が、クラスタリング結果DB180として使用される。
ラベル選定部117は、ユーザのツイートと同一クラスタに属する分割文書内のキーワードについて、その分割文書の特徴を表す度合いを示すスコアを計算する。スコアの計算に際し、ラベル選定部117は、同一クラスタに属するツイート数が多い分割文書内のキーワードほど、高いスコアを付与する。ラベル選定部117は、同じコンテンツの複数の分割文書ごとに計算した各キーワードのスコアに基づいて、そのコンテンツにおける各キーワードのスコアを計算する。そしてラベル選定部117は、スコアの高い方から所定数のキーワードを、コンテンツのラベルに決定する。ラベル選定部117は、コンテンツごとに決定したラベルを、コンテンツ−ラベル情報DB190に格納する。
コンテンツ−ラベル情報DB190は、コンテンツごとのラベルを管理するDBである。例えば、メモリ102またはHDD103の記憶領域の一部が、コンテンツ−ラベル情報DB190として使用される。
ラベル付与部118は、ユーザからアクセスがあり、コンテンツの少なくとも一部を表示させる際に、そのコンテンツについて決定されたラベルを、コンテンツに付与する。そしてラベル付与部118は、ラベルが付与されたコンテンツをユーザが使用する端末装置に送信することで、ラベル付きのコンテンツを端末装置の画面に表示させる。
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図4に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、特徴抽出装置100が管理する情報について説明する。
図5は、ユーザ集合記憶部の一例を示す図である。ユーザ集合記憶部120には、ユーザ集合テーブル121が格納されている。ユーザ集合テーブル121には、ユーザごとに、ユーザIDとアカウント名とが登録されている。アカウント名は、ユーザがツイートを登録する際に使用するアカウントの名称である。
図5は、ユーザ集合記憶部の一例を示す図である。ユーザ集合記憶部120には、ユーザ集合テーブル121が格納されている。ユーザ集合テーブル121には、ユーザごとに、ユーザIDとアカウント名とが登録されている。アカウント名は、ユーザがツイートを登録する際に使用するアカウントの名称である。
図6は、ユーザ文書記憶部の一例を示す図である。ユーザ文書記憶部130には、ユーザ文書管理テーブル131が格納されている。ユーザ文書管理テーブル131には、ユーザIDに関連づけて、ユーザ文書IDと内容との組が登録されている。ユーザ文書IDは、ユーザが作成したツイートの識別子である。内容は、ツイートの内容である。
図7は、コンテンツ記憶部の一例を示す図である。コンテンツ記憶部140には、コンテンツ管理テーブル141が格納されている。コンテンツ管理テーブル141には、コンテンツを識別するためのコンテンツIDに関連づけて、そのURL(Uniform Resource Locator)と内容との組が登録されている。内容には、少なくともコンテンツ内のテキストによる文章が登録される。
図8は、分割文書記憶部の一例を示す図である。分割文書記憶部150には、分割文書管理テーブル151が格納されている。分割文書管理テーブル151には、分割文書ごとに、コンテンツID、分割パターン、分割文書ID、および分割文書の内容が登録されている。コンテンツIDは、分割文書の分割元のコンテンツの識別子である。分割バターンは、分割文書を生成した際のコンテンツの分割パターンの種別である。分割文書IDは、分割文書の識別子である。内容は、分割文書の文字列である。
コンテンツの分割は、例えば3パターンで行われる。第1のパターンは、コンテンツ内のテキストを1つの文書とする分割パターン(未分割)である。この分割パターンをSorigとする。第2の分割パターンは、コンテンツ内のテキストを段落ごとに分割する分割パターンである。この分割パターンをSparaとする。第3の分割パターンは、コンテンツ内のテキストを文ごとに分割する分割パターンである。この分割パターンをSsentとする。
図9は、ユーザ興味キーワード記憶部の一例を示す図である。ユーザ興味キーワード記憶部160には、ユーザ興味キーワード管理テーブル161が格納されている。ユーザ興味キーワード管理テーブル161には、ユーザIDに対応づけて、各ツイートのユーザ文書IDと、そのツイートの内容から抽出されたキーワードとが登録されている。
図10は、分割文書キーワード記憶部の一例を示す図である。分割文書キーワード記憶部170には、分割文書キーワード管理テーブル171が格納されている。分割文書キーワード管理テーブル171には、分割文書ごとに、コンテンツID、分割パターン、分割文書ID、および分割文書から抽出されたキーワードが登録されている。
ユーザ興味キーワード管理テーブル161と分割文書キーワード管理テーブル171とに基づいて、クラスタリングが行われ、クラスタリング結果DBにクラスタリング結果が登録される。
図11は、クラスタリング結果DBの一例を示す図である。クラスタリング結果DB180には、クラスタリング結果テーブル181が格納されている。クラスタリング結果テーブル181には、分割文書の分割文書IDに対応づけて、その分割文書と類似するツイートのユーザ文書IDが登録されている。
図12は、コンテンツ−ラベル情報DBの一例を示す図である。コンテンツ−ラベル情報DB190には、コンテンツ−ラベル管理テーブル191が格納されている。コンテンツ−ラベル管理テーブル191には、ユーザIDとコンテンツIDとの組に対応づけて、ツイート集合Tと分割文書集合Sj(j=0,1,2,・・・)とのペアごとのラベルと、コンテンツに付与するラベルが登録されている。分割文書集合Sjは、j番目の分割パターンで分割して得られた分割文書の集合である。なお、各ラベルにはスコアが付与されており、スコアの高い順にソートされている。
次に、特徴抽出装置100における各コンテンツに付与するラベルの決定処理の手順について説明する。
図13は、ラベル決定処理の手順の一例を示すフローチャートである。
図13は、ラベル決定処理の手順の一例を示すフローチャートである。
[ステップS101]ユーザ集合作成部111は、コンテンツを閲覧し、ツイートを行ったことのあるユーザの集合(ユーザ集合U)を抽出する。例えばユーザ集合作成部111は、特徴抽出装置100が端末装置31にコンテンツを表示させる際に、コンテンツの横にツイート用のボタンを表示させる。端末装置31においてツイート用のボタンが押下されると、端末装置31から特徴抽出装置100にツイート要求が送信される。ユーザ集合作成部111は、ツイート要求を受信することで、端末装置31を使用するユーザがツイートしたことを認識し、そのツイート要求を、ツイートを管理するサーバにリダイレクトする。そしてユーザ集合作成部111は、ツイートしたユーザの情報を、ユーザ集合Uに追加する。ユーザ集合作成部111は、作成したユーザ集合Uを、ユーザ集合記憶部120に格納する。
[ステップS102]ユーザ文書収集部112は、ユーザ集合内の未処理のユーザを選択する。
[ステップS103]ユーザ文書収集部112は、選択したユーザのツイートをサーバから取得する。例えばユーザ文書収集部112は、ユーザ集合テーブル121に登録された各ユーザのアカウント名を参照し、そのアカウント名に対応するツイートの内容を、ツイートを管理しているサーバから取得する。ユーザ文書収集部112は、取得したツイートの集合(ツイート集合T)をユーザ文書記憶部130に格納する。
[ステップS103]ユーザ文書収集部112は、選択したユーザのツイートをサーバから取得する。例えばユーザ文書収集部112は、ユーザ集合テーブル121に登録された各ユーザのアカウント名を参照し、そのアカウント名に対応するツイートの内容を、ツイートを管理しているサーバから取得する。ユーザ文書収集部112は、取得したツイートの集合(ツイート集合T)をユーザ文書記憶部130に格納する。
[ステップS104]コンテンツ収集部113は、コンテンツを提供しているサーバから、コンテンツを取得する。コンテンツ収集部113は、取得したコンテンツの集合を、コンテンツ記憶部140に格納する。
[ステップS105]文書分割部114は、コンテンツ記憶部140から各コンテンツSに含まれるテキストSorigを抽出する。
[ステップS106]文書分割部114は、抽出したテキストそれぞれを、複数の分割パターンで分割し、分割パターンごとの分割文書集合Sjを得る。文書分割部114は、得られた分割文書集合Sjを、分割文書記憶部150に格納する。
[ステップS106]文書分割部114は、抽出したテキストそれぞれを、複数の分割パターンで分割し、分割パターンごとの分割文書集合Sjを得る。文書分割部114は、得られた分割文書集合Sjを、分割文書記憶部150に格納する。
[ステップS107]キーワード抽出部115は、ツイート集合Tと、分割文書集合Sjそれぞれからキーワードを抽出し、キーワード集合を得る。例えばキーワード抽出部115は、ツイート集合Tに含まれる各ツイートと、分割文書集合Sjに含まれる各分割集合との形態素解析を行い、名詞などの単語をキーワードとして抽出する。またキーワード抽出部115は、辞書などの各種言語資源を用いて、その言語資源に登録されている単語と同じキーワードを、ツイートまたは分割文書から抽出することもできる。キーワード抽出部115は、ツイートから抽出したキーワードを、そのツイートの識別子(ユーザ文書ID)に関連づけて、ユーザ興味キーワード記憶部160に格納する。またキーワード抽出部115は、分割文書から抽出したキーワードを、その分割文書の識別子(分割文書ID)に関連づけて、分割文書キーワード記憶部170に格納する。
[ステップS108]クラスタリング部116は、ツイートと分割文書集合とのペア(T,Sj)の集合(ペア集合)を生成する。3パターンの分割文書集合が生成されている場合、(T,S0)、(T,S1)、(T,S2)というペア集合が生成される。
[ステップS109]クラスタリング部116は、ペア集合から、1組のペアを選択する。
[ステップS110]クラスタリング部116は、ペアに対するクラスタリングを行う。クラスタリングでは、例えばツイートと分割文書とを解析して、類似するツイートと分割文書とを同じクラスタに含められる。クラスタリング部116は、類似する分割文書とツイートとの分割文書IDとユーザ文書IDとを関連づけて、クラスタリング結果テーブル181に設定する。
[ステップS110]クラスタリング部116は、ペアに対するクラスタリングを行う。クラスタリングでは、例えばツイートと分割文書とを解析して、類似するツイートと分割文書とを同じクラスタに含められる。クラスタリング部116は、類似する分割文書とツイートとの分割文書IDとユーザ文書IDとを関連づけて、クラスタリング結果テーブル181に設定する。
[ステップS111]クラスタリング部116は、分割文書内のキーワードに対してスコアリングを行う。クラスタリング部116は、例えば、キーワードの抽出元の分割文書と同じクラスタのツイートの数が多いほど、高いスコアとする。またクラスタリング部116は、特徴的なキーワードであるほど、高いスコアとする。クラスタリング部116は、スコアの高い順にキーワードをソートし、上位から所定数のキーワードを分割文書についてのラベルとして、コンテンツ−ラベル管理テーブル191に設定する。例えばクラスタリング部116は、分割文書S0についてのラベルを、コンテンツ−ラベル管理テーブル191の「S0のラベル」の欄に設定する。またクラスタリング部116は、分割文書S1についてのラベルを、コンテンツ−ラベル管理テーブル191の「S1のラベル」の欄に設定する。さらにクラスタリング部116は、分割文書S2についてのラベルを、コンテンツ−ラベル管理テーブル191の「S2のラベル」の欄に設定する。
[ステップS112]クラスタリング部116は、未選択のペアがあるか否かを判断する。未選択のペアがあれば、処理がステップS109に進められる。未選択のペアがなければ、処理がステップS113に進められる。
[ステップS113]クラスタリング部116は、すべてのペアについて、キーワードのスコアリングが完了した場合、キーワードについてペアごとに計算したスコアの合計(合計スコア)が高い方からN個(Nは1以上の整数)のキーワードを、ラベルとして選定する。クラスタリング部116は、選定したラベルを、コンテンツ−ラベル管理テーブル191の「ラベル」の欄に設定する。
[ステップS114]ユーザ文書収集部112は、未選択のユーザがあるか否かを判断する。未選択のユーザがあれば、処理ステップS102に進められる。未選択のユーザがなければ、ラベル決定処理が終了する。
このような手順で、各コンテンツについてのユーザごとのラベルが決定される。以下、クラスタリングとスコアリングの処理について、より具体的に説明する。
図14は、ツイート集合と分割文書集合とのペアの作成例を示す図である。ユーザ興味キーワード管理テーブル161には、ユーザID「001」のユーザによるツイートの集合(ツイート集合T)に関する情報が設定されている。また分割文書キーワード管理テーブル171には、分割パターンごとの分割文書の集合(分割文書集合S0,S1,S2)に関する情報が設定されている。
図14は、ツイート集合と分割文書集合とのペアの作成例を示す図である。ユーザ興味キーワード管理テーブル161には、ユーザID「001」のユーザによるツイートの集合(ツイート集合T)に関する情報が設定されている。また分割文書キーワード管理テーブル171には、分割パターンごとの分割文書の集合(分割文書集合S0,S1,S2)に関する情報が設定されている。
ツイート集合Tと分割文書集合S0,S1,S2それぞれとのペア(T,S0)、(T,S1)、(T,S2)が生成される。そしてペアごとにクラスタリングとスコアリングが行われる。
図15は、分割パターンSorigで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。図16は、分割パターンSparaで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。図17は、分割パターンSsentで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。図15〜図17には、キーワード「徳島」についてスコアリングする場合の例を示している。図15〜図17において、白抜きの文書はツイートであり、網掛けの文書は分割文書である。
コンテンツ41を分割パターンSorigで分割した場合、コンテンツ41内のすべてのテキストを有する1つの分割文書のみを含む分割文書集合S0とツイート集合Tとのペア(T,S0)が生成される(図15参照)。またコンテンツ41を分割パターンSparaで分割した場合、コンテンツ41内の段落ごとの複数の分割文書を含む分割文書集合S1とツイート集合Tとのペアが生成される(図16参照)。コンテンツ41を分割パターンSsentで分割した場合、コンテンツ41内の文ごとの複数の分割文書を含む分割文書集合S2とツイート集合Tとのペアが生成される(図17参照)。
このようにして生成された各ペアに対して、クラスタリングが行われる。クラスタリングでは、例えばペア内の文書間の類似度が計算される。類似度計算手法としては、例えばクラスタリングの一手法であるLDA(Latent Dirichlet Allocation)を用いることができる。LDAを用いると、複数の文書のうち、主たる話題(トピック)が共通の文書を同じクラスタにクラスタリングすることができる。クラスタリング部116は、ペアのツイート集合と分割文書集合とを混ぜ合わせ、LDAを適用してクラスタリングを行う。生成するクラスタ数は、例えば全文書数に応じて定める。また、どの程度以上の類似性を有していれば同じクラスタに含めるのかに関する閾値は、例えば試行を繰り返すことにより定める。
クラスタリング部116は、コンテンツとツイートが同じクラスタに属した場合(類似度が一定以上の場合)には、コンテンツとツイートとの間にエッジを張る。そしてクラスタリング部116は、エッジで接続されたコンテンツとツイートとの関係を、クラスタリング結果テーブル181(図11参照)に設定する。
例えばペア(T,S0)をクラスタリングした例では、「徳島」を含む分割文書42は、ツイート43と同じくラスタC1に属しているため、分割文書42とツイート43とがエッジ44で接続される。分割文書42のエッジ数は「1」である(図15参照)。
ペア(T,S1)をクラスタリングした例では、「徳島」を含む分割文書45は、2つのツイート46,47と同じくラスタC3に属しているため、分割文書45とツイート46,47それぞれとがエッジ48,49で接続される。分割文書45のエッジ数は「2」である(図16参照)。
ペア(T,S2)をクラスタリングした例では、複数の分割文書49,50が「徳島」を含むものとする。分割文書が49は、ツイート51と同じくラスタC1に属しているため、分割文書49とツイート51がエッジ55で接続される。分割文書49のエッジ数は「1」である。分割文書42のエッジ数は「1」である。ペア(T,S1)をクラスタリングした例では、分割文書50は、3つのツイート52〜54と同じくラスタC3に属しているため、分割文書50とツイート52〜53それぞれとがエッジ56〜58で接続される。分割文書50のエッジ数は「3」である(図17参照)。
図15〜図17に示すように、ツイート集合内のツイートと分割文書集合内の分割文書間をエッジで接続することで、2部グラフが生成される。2部グラフが作成されると、クラスタリング部116は、コンテンツ中に出現するキーワードに対し、クラスタごとにスコアを求める。このときクラスタリング部116は、ツイートとのエッジが多い分割文書に含まれるキーワードほどスコアを大きくする。
キーワード「徳島」のスコアを求める場合、「徳島」を含む分割文書が含まれるクラスタをすべて探し、この各クラスタで「徳島」のスコアを求める。ここで、j番目の分割文書集合Sjのn(nは1以上の整数)番目のクラスタCnにおけるキーワードkのスコアを、Score(Sj,Cn,k)と表すものとする。
図18は、スコアリングの一例を示す図である。クラスタごとのスコアは、例えばキーワードkのtf-idf値(tf-idf(k))、キーワードkの出現する分割文書が持つエッジ数e、分割文書の文書長l(例えば文字数)により決定される。例えばScore(Sj,Cn,k)は、以下の式で表される。
式(1)によれば、エッジ数eが多いほどスコアの値が大きくなる。また分割文書の文書長lが短いほど、スコアの値が大きくなる。
クラスタリング部116は、キーワードkについて、分割文書集合Sj内のクラスタごとにスコアを計算した後、以下の式により、スコアの和をとる。
クラスタリング部116は、キーワードkについて、分割文書集合Sj内のクラスタごとにスコアを計算した後、以下の式により、スコアの和をとる。
例えばペア(T,S0)をクラスタリングしたときの「徳島」を含む分割文書42を含むクラスタは1つだけなので、そのクラスタのスコア「Score(S0,C1,徳島)」が、ペア(T,S0)のスコア「Score(S0,徳島)」となる。ペア(T,S1)をクラスタリングしたときの「徳島」を含む分割文書45を含むクラスタは1つだけなので、そのクラスタのスコア「Score(S1,C3,徳島)」が、ペア(T,S1)のスコア「Score(S1,徳島)」となる。ペア(T,S2)をクラスタリングしたときの「徳島」を含む分割文書49,50を含むクラスタは2つあるので、それらのクラスタのスコアの合計「Score(S2,C1,徳島)+Score(S2,C3,徳島)」が、ペア(T,S2)のスコア「Score(S2,徳島)」となる。
すべてのペアについて算出されたキーワードkのスコアを、以下の式にしたがって和をよることで、キーワードkのスコア(Score(k))となる。
キーワード「徳島」のスコアは「Score(徳島)=Score(S0,徳島)+Score(S1,徳島)+Score(S2,徳島)」となる。
このようにして求められたスコアに基づいて、スコアの高い方からN個のキーワードが、ラベルとしてコンテンツ−ラベル管理テーブル191に登録される。またペアごとに、そのペアで求めたスコアが上位の所定数のキーワードが、分割パターンごとのラベルとして、コンテンツ−ラベル管理テーブル191に登録される。
このようにして求められたスコアに基づいて、スコアの高い方からN個のキーワードが、ラベルとしてコンテンツ−ラベル管理テーブル191に登録される。またペアごとに、そのペアで求めたスコアが上位の所定数のキーワードが、分割パターンごとのラベルとして、コンテンツ−ラベル管理テーブル191に登録される。
その後、ユーザからアクセスがあると、コンテンツ−ラベル管理テーブル191を参照して、そのユーザに応じたラベルがコンテンツに付与される。この際、コンテンツ内のユーザが興味のある分野のキーワードを、強調表示するとこもできる。
図19は、コンテンツ表示処理の手順を示すフローチャートである。
[ステップS201]ラベル付与部118は、ユーザからのトップページへのアクセスを取得する。この際、ラベル付与部118は、クッキーなどの技術を用いて、アクセスしたユーザのユーザIDを特定する。
[ステップS201]ラベル付与部118は、ユーザからのトップページへのアクセスを取得する。この際、ラベル付与部118は、クッキーなどの技術を用いて、アクセスしたユーザのユーザIDを特定する。
[ステップS202]ラベル付与部118は、コンテンツ−ラベル情報DB190からトップページに表示されるコンテンツのラベル集合を、各ラベルのスコア付きで取得する。例えばラベル付与部118は、アクセスしてきたユーザのユーザIDと表示するコンテンツのコンテンツIDとの組に対応づけられたラベル集合を、コンテンツ−ラベル管理テーブル191から取得する。
[ステップS203]ラベル付与部119は、アクセスしたユーザに応じ、サイト全体のラベル集合を取得する。例えばラベル付与部119は、コンテンツ−ラベル管理テーブル191から、アクセスしたユーザのユーザIDに対応する、各コンテンツのラベルを取得する。ラベル付与部119は、取得したラベルのうち、同じキーワードのラベルを統合する。ラベルを統合した場合、ラベル付与部119は、各ラベルのスコアの合計を、統合後のラベルのスコアとする。そしてラベル付与部119は、スコアの上位N件のラベルを、サイト全体のラベル集合とする。
[ステップS204]ラベル付与部119は、ユーザの端末装置に表示されるトップページ内の所定の位置に、ラベルを表示させる。例えばラベル付与部119は、各コンテンツのラベルは、そのコンテンツの上または下に表示する。またラベル付与部119は、サイト全体のラベルを、サイト紹介用の領域に表示する。
[ステップS205]ラベル付与部119は、ユーザからのラベル選択入力があったか否かを判断する。ラベル選択入力があった場合、処理がステップS206に進められる。ラベル選択入力がなければ、処理がステップS208に進められる。
[ステップS206]ラベル付与部119は、選択されたラベルが付与されたコンテンツを、コンテンツ−ラベル情報DB190から検索する。そしてラベル付与部119は、検索でヒットしたコンテンツの内容をコンテンツ記憶部140から取得すると共に、そのコンテンツに対するユーザに応じたラベルを、コンテンツ−ラベル情報DB190から取得する。
[ステップS207]ラベル付与部119は、取得したコンテンツと、そのコンテンツのラベルとを、ユーザの使用する端末装置に表示する。
[ステップS208]ラベル付与部119は、ユーザによるコンテンツ選択入力があるか否かを判断する。コンテンツ選択入力があれば、処理がステップS209に進められる。コンテンツ選択入力がなければ、処理がステップS205に進められる。
[ステップS208]ラベル付与部119は、ユーザによるコンテンツ選択入力があるか否かを判断する。コンテンツ選択入力があれば、処理がステップS209に進められる。コンテンツ選択入力がなければ、処理がステップS205に進められる。
[ステップS209]ラベル付与部119は、選択されたコンテンツ内のラベルに対応するキーワードを強調表示させたページを、ユーザが使用する端末装置に表示させる。例えばラベル付与部119は、ラベルに対応するキーワードを、色分けして表示させる。
このようにして、ラベル付きのコンテンツが、ユーザが使用する端末装置に表示される。
図20は、トップページの一例を示す図である。トップページ60には、コンテンツ61,62が表示されている。各コンテンツ61,62の下には、コンテンツ61,62に含まれる、ユーザが興味を有する話題に関するキーワードを示すラベル63,64が表示されている。さらにトップページ60には、サイト全体のラベル65が表示されている。なおトップページ60内のコンテンツ61,62は、内容の一部だけが表示さている。
図20は、トップページの一例を示す図である。トップページ60には、コンテンツ61,62が表示されている。各コンテンツ61,62の下には、コンテンツ61,62に含まれる、ユーザが興味を有する話題に関するキーワードを示すラベル63,64が表示されている。さらにトップページ60には、サイト全体のラベル65が表示されている。なおトップページ60内のコンテンツ61,62は、内容の一部だけが表示さている。
トップページ60に表示されているいずれかのラベルがユーザにより選択されると、端末装置の画面は、選択されたラベルが付与された1以上のコンテンツを含むページに切り換えられる。またトップページ60に表示されたいずれかのコンテンツが選択されると、選択されたコンテンツの詳細を表示する画面に、端末装置の画面が切り換えられる。
図21は、コンテンツの詳細表示例を示す図である。コンテンツ表示ページ70には、選択されたコンテンツ71の全体が表示される。コンテンツ71内のテキスト内のラベル72が強調表示される。図21の例では、ラベル72が実線の矩形で囲われている。
また、コンテンツ71を段落ごとに分割して得られた分割文書73に対応するラベル74も強調表示される。図21の例では、段落ごとに分割して得られた分割文書に対応するラベル74は、破線の矩形で囲われている。ラベル74を含む段落についても、破線の矩形で囲うことで強調表示されている。
さらに、コンテンツ71を文ごとに分割して得られた分割文書75に対応するラベル76も強調表示される。図21の例では、文ごとに分割して得られた分割文書に対応するラベル76は、一点鎖線の矩形で囲われている。ラベル76を含む文についても、一点鎖線の矩形で囲うことで強調表示されている。
なお図21の例では、ラベルの種別の違いを強調表示の線種の違いで表しているが、色の違いで表してもよい。
以上のようにして、様々な単位の分割文書に分割した結果を考慮してラベルを決定することで、ユーザの興味のある話題のキーワードがコンテンツ内に局所的に存在する場合でも、そのキーワードが上位になるようなスコアリングが可能となる。その結果、ユーザの興味に合わせた適切なラベルを、コンテンツに付与することができる。
以上のようにして、様々な単位の分割文書に分割した結果を考慮してラベルを決定することで、ユーザの興味のある話題のキーワードがコンテンツ内に局所的に存在する場合でも、そのキーワードが上位になるようなスコアリングが可能となる。その結果、ユーザの興味に合わせた適切なラベルを、コンテンツに付与することができる。
また、第2の実施の形態では、コンテンツを複数の分割パターンで分解している。これにより、ユーザの興味を示す内容の文書の長さが不統一で、長い文書や短い文書が混在する場合であっても、その文書と同程度の長さの分割文書を作成することができる。その結果、同程度の長さの文書同士のクラスタリングにより、類似関係の判断精度を高め、その結果をコンテンツに対するキーワードのスコアに反映させることができる。
〔第3の実施の形態〕
次に、第3の実施の形態について説明する。第3の実施の形態は、ユーザが興味を持つ話題が含まれた文書(興味対象文書)がツイートのような短い文書ではなく、長い文書の場合を想定したものである。第3の実施の形態では、興味対象文書についても分割する。以下、第3の実施の形態における第2の実施の形態との相違点について説明する。
次に、第3の実施の形態について説明する。第3の実施の形態は、ユーザが興味を持つ話題が含まれた文書(興味対象文書)がツイートのような短い文書ではなく、長い文書の場合を想定したものである。第3の実施の形態では、興味対象文書についても分割する。以下、第3の実施の形態における第2の実施の形態との相違点について説明する。
図22は、興味対象文書の長さと内容に応じた分割の要否判断例を示す図である。第1のケースは、第2の実施の形態と同様に、興味対象文書が短い場合である。このように興味対象文書内のテキスト量が少なく、興味対象文書が話題ごとに分かれている場合、コンテンツを分割することで、共通の話題の興味対象文書または分割文書同士を同じクラスタにクラスタリングできる。
第2のケースは、興味対象文書がコンテンツと同等かそれ以上に長く、興味対象文書が話題ごとに分かれている場合である。この場合も第1のケースと同様に、コンテンツを分割することで、共通の話題の興味対象文書または分割文書同士を同じクラスタにクラスタリングできる。
第3のケースは、興味対象文書がコンテンツと同等かそれ以上に長く、興味対象文書の一部にユーザが興味を有する話題を含んでいる場合である。この場合、興味対象文書には、ユーザが興味を有していない話題も含まれている。またクラスタリング時には、文章量の正規化が行われることが多い。文章量の正規化とは、文章量の違いによるが類似性の判定への影響を抑止するため、文章量に応じて、その文章に含まれるキーワードの重要度の値を調整する処理である。文章量が長い興味対象文書を正規化すると、ユーザが興味を有する部分のキーワードの重要度が下がってしまう。その結果、興味対象文書と、コンテンツ側のユーザが興味を有する話題に関する分割文書との類似度が下がってしまう。そこで、第3のケースでは、コンテンツだけでなく、興味対象文書についても分割することで、コンテンツ内から適切なラベルを抽出することが可能となる。
なお第3のケースに相当する興味対象文書としては、例えばユーザが作成したブログなどがある。以下、興味対象文書がブログの場合を例にとり、第3の実施の形態におけるラベル決定処理について説明する。
図23は、第3の実施の形態に係る特徴抽出装置の機能を示すブロック図である。第3の実施の形態に係る特徴抽出装置100aは、第2の実施の形態と異なる機能として、ユーザ集合作成部111a,ユーザ文書収集部112a、ユーザ元文書記憶部130a、およびユーザ文書分割部112bを有する。なお第3の実施の形態に係る特徴抽出装置100aのハードウェア構成は、図2に示した第2の実施の形態の特徴抽出装置100のハードウェア構成と同様である。
ユーザ集合作成部111aは、特徴抽出装置100aにアクセスしたユーザのうち、ブログへの書き込みを行ったユーザに関する情報(ユーザIDとブログのアカウント名)を、ユーザ集合記憶部120に格納する。
ユーザ文書収集部112aは、ユーザのブログの記事をサーバから収集する。ユーザ文書収集部112aは、収集したブログの記事の集合を、ユーザ元文書記憶部130aに格納する。
ユーザ元文書記憶部130aは、ユーザのブログの記事を記憶する。例えば特徴抽出装置100aが有するメモリ102またはHDD103の記憶領域の一部が、ユーザ元文書記憶部130aとして使用される。
ユーザ文書分割部112bは、ユーザのブログ記事を、複数の分割パターンで分割する。ユーザ文書分割部112bは、分割して得られた文書を、ユーザ文書記憶部130に格納する。
なお、図23に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図23に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、第3の実施の形態におけるラベル決定処理の手順について説明する。
図24は、第3の実施の形態におけるラベル決定処理の手順を示すフローチャートである。図24に示す処理のうちステップS301,S302,S306〜S308,S311〜S316の処理は、図13に示した第2の実施の形態の処理のステップS101,S102、S104〜S106,S109〜S114の処理と同様である。以下第2の実施の形態と異なるステップS303〜S305,S309,S310について説明する。
図24は、第3の実施の形態におけるラベル決定処理の手順を示すフローチャートである。図24に示す処理のうちステップS301,S302,S306〜S308,S311〜S316の処理は、図13に示した第2の実施の形態の処理のステップS101,S102、S104〜S106,S109〜S114の処理と同様である。以下第2の実施の形態と異なるステップS303〜S305,S309,S310について説明する。
[ステップS303]ユーザ文書収集部112aは、選択したユーザのブログをサーバから取得する。ユーザ文書収集部112は、取得したブログの一日分ずつの記事(ブログ記事B)の集合をユーザ元文書記憶部130aに格納する。
[ステップS304]ユーザ文書分割部112bは、ユーザ元文書記憶部130aから各ブログ記事Bに含まれるテキストBorigを抽出する。
[ステップS305]ユーザ文書分割部112bは、抽出したテキストそれぞれを、複数の分割パターンで分割し、分割パターンごとのユーザ分割文書集合Bj(jは分割バターンを示す番号であり、j=0,1,2・・・)を得る。ユーザ文書分割部112bは、得られたユーザ分割文書集合Bjを、ユーザ文書記憶部130に格納する。
[ステップS305]ユーザ文書分割部112bは、抽出したテキストそれぞれを、複数の分割パターンで分割し、分割パターンごとのユーザ分割文書集合Bj(jは分割バターンを示す番号であり、j=0,1,2・・・)を得る。ユーザ文書分割部112bは、得られたユーザ分割文書集合Bjを、ユーザ文書記憶部130に格納する。
以下、ステップS306〜S308で、コンテンツの取得、および分割が行われる。
[ステップS309]キーワード抽出部115は、ユーザ分割文書集合Bjと分割文書集合Sjそれぞれからキーワードを抽出し、キーワード集合を得る。
[ステップS309]キーワード抽出部115は、ユーザ分割文書集合Bjと分割文書集合Sjそれぞれからキーワードを抽出し、キーワード集合を得る。
[ステップS310]クラスタリング部116は、ユーザ分割文書集合Bjと分割文書集合とのペア(Bj,Sj)の集合(ペア集合)を生成する。
その後、第2の実施の形態と同様に、例えばLDAを用いたクラスタリングが行われ、ペアごとに、キーワードのスコアリングが行われる。すべてのペアで求められたスコアをキーワードごとに合計した結果が、コンテンツに対する各キーワードのスコアとなる。そして、スコアの上位からN個のキーワードが、コンテンツのラベルとなる。
その後、第2の実施の形態と同様に、例えばLDAを用いたクラスタリングが行われ、ペアごとに、キーワードのスコアリングが行われる。すべてのペアで求められたスコアをキーワードごとに合計した結果が、コンテンツに対する各キーワードのスコアとなる。そして、スコアの上位からN個のキーワードが、コンテンツのラベルとなる。
このようにして、ユーザの興味を示す文書の内容が長く、ユーザが興味を有する話題以外の話題も含んでいる場合であっても、ユーザの興味と一致する部分から抽出したキーワードをコンテンツのラベルとすることができる。そして、コンテンツ内にユーザの興味を引く記載があることを、ユーザに正しく提示することができる。
なお、上記の第2・第3の実施の形態では、ユーザが作成したツイートやブログを、そのユーザの興味がある文書としたが、ユーザが頻繁にアクセスするサイトの文書などの他の文書を、ユーザの興味がある文書としてもよい。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 第1の文書
1a〜1g 分割文書
2a〜2c 第2の文書
3 ユーザ
4 端末装置
5 画面
6 ラベル
10 特徴抽出装置
11 記憶部
12 演算部
1a〜1g 分割文書
2a〜2c 第2の文書
3 ユーザ
4 端末装置
5 画面
6 ラベル
10 特徴抽出装置
11 記憶部
12 演算部
Claims (7)
- コンピュータに、
第1の文書を、複数の分割文書に分割し、
前記複数の分割文書の中から、ユーザによって登録された第2の文書と類似する類似分割文書を抽出し、
前記類似分割文書に含まれる特徴的なキーワードを、前記ユーザに前記第1の文書を提示する際に前記第1の文書と共に表示するラベルとして決定する、
処理を実行させる特徴抽出プログラム。 - 前記分割では、複数の分割パターンで前記第1の文書を分割し、
前記決定では、前記類似分割文書が複数抽出されたとき、前記類似分割文書それぞれからキーワードを抽出し、当該キーワードについて、抽出元の類似分割文書内での当該キーワードが特徴的であるほど大きな値となるスコアを計算し、異なる前記類似分割文書から抽出された同じ文字列のキーワードのスコアを合計し、スコア合計値が大きい方から所定数のキーワードを、前記ラベルとして決定する、
請求項1記載の特徴抽出プログラム。 - 前記決定では、前記第2の文書が複数あるとき、類似関係を有する前記第2の文書の数が多い前記類似分割文書から抽出したキーワードほどスコアを高くする、
請求項2記載の特徴抽出プログラム。 - 前記コンピュータに、さらに、
複数の前記第1の文書それぞれについて前記ラベルに決定されたキーワードそれぞれの前記スコア合計値に基づいて、複数の前記第1の文書を提供するサイトの内容を示すサイト用ラベルに決定する、
処理を実行させる請求項2又は3記載の特徴抽出プログラム。 - 前記コンピュータに、さらに、
第3の文書を分割して前記第2の文書を生成する、
処理を実行させる請求項1乃至4いずれかに記載の特徴抽出プログラム。 - コンピュータが、
第1の文書を、複数の分割文書に分割し、
前記複数の分割文書の中から、ユーザによって登録された第2の文書と類似する類似分割文書を抽出し、
前記類似分割文書に含まれる特徴的なキーワードを、前記ユーザに前記第1の文書を提示する際に前記第1の文書と共に表示するラベルとして決定する、
特徴抽出方法。 - 第1の文書と、ユーザによって登録された第2の文書とを記憶する記憶部と、
前記第1の文書を、複数の分割文書に分割し、前記複数の分割文書の中から、前記第2の文書と類似する類似分割文書を抽出し、前記類似分割文書に含まれる特徴的なキーワードを、前記ユーザに前記第1の文書を提示する際に前記第1の文書と共に表示するラベルとして決定する演算部と、
を有する特徴抽出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014167284A JP2016045552A (ja) | 2014-08-20 | 2014-08-20 | 特徴抽出プログラム、特徴抽出方法、および特徴抽出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014167284A JP2016045552A (ja) | 2014-08-20 | 2014-08-20 | 特徴抽出プログラム、特徴抽出方法、および特徴抽出装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016045552A true JP2016045552A (ja) | 2016-04-04 |
Family
ID=55636105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014167284A Withdrawn JP2016045552A (ja) | 2014-08-20 | 2014-08-20 | 特徴抽出プログラム、特徴抽出方法、および特徴抽出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016045552A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022088540A (ja) * | 2021-04-27 | 2022-06-14 | バイドゥ・インターナショナル・テクノロジー・(シェンチェン)・カンパニー・リミテッド | ユーザ興味画像の生成方法、装置、電子機器及び記憶媒体 |
WO2022130578A1 (ja) * | 2020-12-17 | 2022-06-23 | 富士通株式会社 | 類似度判定プログラム、類似度判定装置、及び、類似度判定方法 |
WO2022130579A1 (ja) * | 2020-12-17 | 2022-06-23 | 富士通株式会社 | 類似度判定プログラム、類似度判定装置、及び、類似度判定方法 |
-
2014
- 2014-08-20 JP JP2014167284A patent/JP2016045552A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022130578A1 (ja) * | 2020-12-17 | 2022-06-23 | 富士通株式会社 | 類似度判定プログラム、類似度判定装置、及び、類似度判定方法 |
WO2022130579A1 (ja) * | 2020-12-17 | 2022-06-23 | 富士通株式会社 | 類似度判定プログラム、類似度判定装置、及び、類似度判定方法 |
JP7487797B2 (ja) | 2020-12-17 | 2024-05-21 | 富士通株式会社 | 類似度判定プログラム、類似度判定装置、及び、類似度判定方法 |
JP2022088540A (ja) * | 2021-04-27 | 2022-06-14 | バイドゥ・インターナショナル・テクノロジー・(シェンチェン)・カンパニー・リミテッド | ユーザ興味画像の生成方法、装置、電子機器及び記憶媒体 |
JP7369228B2 (ja) | 2021-04-27 | 2023-10-25 | バイドゥ・インターナショナル・テクノロジー・(シェンチェン)・カンパニー・リミテッド | ユーザ興味画像の生成方法、装置、電子機器及び記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107787487B (zh) | 将文档解构为成分块以用于在生产力应用中重新使用 | |
Lee et al. | Mining perceptual maps from consumer reviews | |
US20160357872A1 (en) | Event networks and event view construction and display | |
CN107408130B (zh) | 通过间接集群连接来进行搜索的方法 | |
CN111753198A (zh) | 信息推荐方法和装置、以及电子设备和可读存储介质 | |
US9582486B2 (en) | Apparatus and method for classifying and analyzing documents including text | |
US20230177360A1 (en) | Surfacing unique facts for entities | |
US9583099B2 (en) | Method and system for performing term analysis in social data | |
US20150356174A1 (en) | System and methods for capturing and analyzing documents to identify ideas in the documents | |
Smith et al. | Evaluating visual representations for topic understanding and their effects on manually generated topic labels | |
US11874882B2 (en) | Extracting key phrase candidates from documents and producing topical authority ranking | |
US20170011068A1 (en) | Extrapolative Search Techniques | |
US9418058B2 (en) | Processing method for social media issue and server device supporting the same | |
US20120046937A1 (en) | Semantic classification of variable data campaign information | |
US20230205796A1 (en) | Method and system for document retrieval and exploration augmented by knowledge graphs | |
US11275777B2 (en) | Methods and systems for generating timelines for entities | |
JP2016045552A (ja) | 特徴抽出プログラム、特徴抽出方法、および特徴抽出装置 | |
US10339559B2 (en) | Associating social comments with individual assets used in a campaign | |
JP2020013413A (ja) | 判断支援装置および判断支援方法 | |
Spitz et al. | Topexnet: entity-centric network topic exploration in news streams | |
US10558718B2 (en) | Systems and methods for website improvement | |
JP6145064B2 (ja) | 文書集合分析装置、文書集合分析方法、文書集合分析プログラム | |
JP6488399B2 (ja) | 情報提示システム、及び情報提示方法 | |
Ma et al. | Api prober–a tool for analyzing web api features and clustering web apis | |
US9607009B2 (en) | Automatically branding topics using color |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170511 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20171225 |