(57)【要約】【課題】文書に局所的に含まれるユーザの興味を引く記述に基づいて、その文書にラベルを付与できるようにする。【解決手段】特徴抽出装置１０は、第１の文書１を、複数の分割文書１ａ〜１ｇに分割する。次に特徴抽出装置１０は、複数の分割文書１ａ〜１ｇの中から、ユーザ３によって登録された第２の文書２ａ〜２ｃと類似する類似分割文書１ａ，１ｄ，１ｆを抽出する。そして特徴抽出装置１０は、類似分割文書１ａ，１ｄ，１ｆに含まれる特徴的なキーワードを、ユーザ３に第１の文書１を提示する際に第１の文書１と共に表示するラベル６として決定する。【選択図】図１
2016045552.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の文書を、複数の分割文書に分割し、
前記複数の分割文書の中から、ユーザによって登録された第２の文書と類似する類似分割文書を抽出し、
前記類似分割文書に含まれる特徴的なキーワードを、前記ユーザに前記第１の文書を提示する際に前記第１の文書と共に表示するラベルとして決定する、
処理を実行させる特徴抽出プログラム。
【請求項２】
前記分割では、複数の分割パターンで前記第１の文書を分割し、
前記決定では、前記類似分割文書が複数抽出されたとき、前記類似分割文書それぞれからキーワードを抽出し、当該キーワードについて、抽出元の類似分割文書内での当該キーワードが特徴的であるほど大きな値となるスコアを計算し、異なる前記類似分割文書から抽出された同じ文字列のキーワードのスコアを合計し、スコア合計値が大きい方から所定数のキーワードを、前記ラベルとして決定する、
請求項１記載の特徴抽出プログラム。
【請求項３】
前記決定では、前記第２の文書が複数あるとき、類似関係を有する前記第２の文書の数が多い前記類似分割文書から抽出したキーワードほどスコアを高くする、
請求項２記載の特徴抽出プログラム。
【請求項４】
前記コンピュータに、さらに、
複数の前記第１の文書それぞれについて前記ラベルに決定されたキーワードそれぞれの前記スコア合計値に基づいて、複数の前記第１の文書を提供するサイトの内容を示すサイト用ラベルに決定する、
処理を実行させる請求項２又は３記載の特徴抽出プログラム。
【請求項５】
前記コンピュータに、さらに、
第３の文書を分割して前記第２の文書を生成する、
処理を実行させる請求項１乃至４いずれかに記載の特徴抽出プログラム。
【請求項６】
コンピュータが、
第１の文書を、複数の分割文書に分割し、
前記複数の分割文書の中から、ユーザによって登録された第２の文書と類似する類似分割文書を抽出し、
前記類似分割文書に含まれる特徴的なキーワードを、前記ユーザに前記第１の文書を提示する際に前記第１の文書と共に表示するラベルとして決定する、
特徴抽出方法。
【請求項７】
第１の文書と、ユーザによって登録された第２の文書とを記憶する記憶部と、
前記第１の文書を、複数の分割文書に分割し、前記複数の分割文書の中から、前記第２の文書と類似する類似分割文書を抽出し、前記類似分割文書に含まれる特徴的なキーワードを、前記ユーザに前記第１の文書を提示する際に前記第１の文書と共に表示するラベルとして決定する演算部と、
を有する特徴抽出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特徴抽出プログラム、特徴抽出方法、および特徴抽出装置に関する。
【背景技術】
【０００２】
Ｗｅｂサイトのコンテンツに対して自動でラベルを付与することで、ユーザのサイト内巡回行動を促進させることが期待できる。ラベルは、例えばコンテンツの内容を表すキーワードである。例えばＷｅｂサイトのトップページに、そのＷｅｂサイトの内容を表すキーワードによるタグクラウド（ラベル集合）を表示させる場合がある。ユーザは、コンテンツの内容をラベルによって推定することができ、ユーザの興味に合ったコンテンツに容易にアクセスすることができる。ユーザは、興味に合ったコンテンツが提供されているサイトであると認識すれば、繰り返しそのサイトにアクセスするものと考えられる。
【０００３】
コンテンツに適切なラベルを選択するための様々な技術がある。例えばコンテンツに関係する特徴量とコンテンツの属性を示す属性情報とに共通する潜在変数、前記特徴量、および前記属性情報のそれぞれの確率分布の性質を表わすパラメータを算出することで、コンテンツに対して、最適なキーワードを付与する技術がある。
【０００４】
また、複数のコンテンツに付与されている、コンテンツに対するユーザの主観的な評価を表すラベルのうち、コンテンツへの評価の信頼度が高いラベル間の類似度に基づいて、ラベルをクラスタリングする技術がある。
【０００５】
また、予めカテゴリ分けされた文書群からカテゴリの主題を示す語句を抽出し、抽出された語句を利用して文書に対して階層的なタグを付与する技術もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−１８３９２７号公報
【特許文献２】特開２０１１−１６５１３１号公報
【特許文献３】特開２０１１−１５０６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
多くのコンテンツでは、１つのコンテンツ内に様々な話題が含まれる。様々な話題を含むコンテンツは、全体としては、Ｗｅｂサイトにアクセスしたユーザの興味に合った内容ではなくても、そのユーザ個人の興味に合った内容が一部に含まれる場合がある。その場合、ユーザの興味に合った内容を示すキーワードをラベルとして提示することで、ユーザが興味を有する内容が記載されたコンテンツに容易にアクセスできるようになる。
【０００８】
しかし、現在の技術では、コンテンツ全体としての特徴を表すラベルしか付与されず、そのコンテンツの一部に、ユーザの興味を引く情報が含まれていても、その情報を表すラベルは付与されない場合がある。
【０００９】
１つの側面では、文書に局所的に含まれるユーザの興味を引く記述に基づいて、その文書にラベルを付与できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、コンピュータに、第１の文書を、複数の分割文書に分割し、複数の分割文書の中から、ユーザによって登録された第２の文書と類似する類似分割文書を抽出し、類似分割文書に含まれる特徴的なキーワードを、ユーザに第１の文書を提示する際に第１の文書と共に表示するラベルとして決定する、処理を実行させる特徴抽出プログラムが提供される。
【発明の効果】
【００１１】
１態様によれば、文書に局所的に含まれるユーザの興味を引く記述に基づいて、その文書にラベルを付与できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係る特徴抽出装置の機能構成例を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】第２の実施の形態に用いる特徴抽出装置のハードウェアの一構成例を示す図である。
【図４】特徴抽出装置の機能を示すブロック図である。
【図５】ユーザ集合記憶部の一例を示す図である。
【図６】ユーザ文書記憶部の一例を示す図である。
【図７】コンテンツ記憶部の一例を示す図である。
【図８】分割文書記憶部の一例を示す図である。
【図９】ユーザ興味キーワード記憶部の一例を示す図である。
【図１０】分割文書キーワード記憶部の一例を示す図である。
【図１１】クラスタリング結果ＤＢの一例を示す図である。
【図１２】コンテンツ−ラベル情報ＤＢの一例を示す図である。
【図１３】ラベル決定処理の手順の一例を示すフローチャートである。
【図１４】ツイート集合と分割文書集合とのペアの作成例を示す図である。
【図１５】分割パターンＳorigで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。
【図１６】分割パターンＳparaで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。
【図１７】分割パターンＳsentで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。
【図１８】スコアリングの一例を示す図である。
【図１９】コンテンツ表示処理の手順を示すフローチャートである。
【図２０】トップページの一例を示す図である。
【図２１】コンテンツの詳細表示例を示す図である。
【図２２】興味対象文書の長さと内容に応じた分割の要否判断例を示す図である。
【図２３】第３の実施の形態に係る特徴抽出装置の機能を示すブロック図である。
【図２４】第３の実施の形態におけるラベル決定処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
図１は、第１の実施の形態に係る特徴抽出装置の機能構成例を示す図である。第１の実施の形態に係る特徴抽出装置１０は、記憶部１１と演算部１２とを有する。
【００１４】
記憶部１１は、ユーザ３に開示するコンテンツの内容を示す第１の文書１と、ユーザ３によって登録された複数の第２の文書２ａ，２ｂ，２ｃを記憶する。第１の文書１は、例えばＷｅｂサイトで公開するコンテンツ内のテキストである。第２の文書２ａ，２ｂ，２ｃは、例えばユーザ３が書き込んだツイートやブログなどの、ユーザ３が作成した文書である。なおユーザ３によって登録された複数の第２の文書２ａ，２ｂ，２ｃは、ユーザ３が興味を有している内容の文書であると考えることができる。記憶部１１は、例えば特徴抽出装置１０が有するメモリまたはＨＤＤ（Hard Disk Drive）である。
【００１５】
演算部１２は、第１の文書１の特徴を抽出し、ラベルを決定する。この際、演算部１２は、第２の文書２ａ，２ｂ，２ｃに基づいて、第１の文書１内のユーザ３の興味に合った話題に関する部分からキーワードを抽出し、そのキーワードをラベルとする。そのため演算部１２は、第１の文書１を、複数の分割文書１ａ〜１ｇに分割する。例えば演算部１２は、複数の分割パターンで第１の文書１を分割する。図１の例では、第１の分割パターン（例えば段落ごとに分割）により、２つの分割文書１ａ，１ｂが生成されている。また第２の分割パターン（例えば文ごとに分割）により、５個の分割文書１ｃ〜１ｇが生成されている。
【００１６】
演算部１２は、複数の分割文書１ａ〜１ｇの中から、ユーザ３が興味を有する内容の第２の文書２ａ〜２ｃの少なくともいずれか１つと類似する分割文書１ａ，１ｄ，１ｆを抽出する。例えば演算部１２は、第２の文書２ａ〜２ｃそれぞれと分割文書１ａ〜１ｇそれぞれとの間の内容の類似関係の有無を判断する。例えば演算部１２は、共通で出現するキーワードが多いほど高い類似度となるように、第２の文書２ａ〜２ｃそれぞれと分割文書１ａ〜１ｇそれぞれとの間の類似度を計算し、類似度が所定値以上の組み合わせについて、類似関係があると判断することができる。また演算部１２は、類似度の判断に、例えばクラスタリング技術を用いることができる。クラスタリングにより同じクラスタに属することになった第２の文書と分割文書とは、類似するものと判断できる。
【００１７】
演算部１２は、第２の文書２ａ〜２ｃのいずれかと類似する分割文書１ａ，１ｄ，１ｆに含まれる特徴的なキーワードを、ユーザ３に第１の文書１を提示する際に第１の文書１と共に表示するラベル６として決定する。例えば演算部１２は、少なくとも１つの第２の文書と類似する分割文書１ａ，１ｄ，１ｆからキーワードを抽出し、それらのキーワードのスコアを計算する。スコアは、キーワードの特徴度が高い程、高い値とする。特徴度は、キーワードが、そのキーワードを含む文書の内容の特徴を表している度合いを示す指標である。またスコアは、キーワードの抽出元の分割文書と類似する第２の文書の数が多いほど高い値とする。例えば演算部１２は、キーワードの特徴度に、抽出元の分割文書と類似する第２の文書の数を乗算した値を、そのキーワードのスコアとする。演算部１２は、分割文書ごとに求めた、その分割文書内のキーワードのスコアを、同じ文字列のキーワードごとに合計する。そして演算部１２は、スコア合計値が大きい方から所定数のキーワードを、第１の文書１をユーザ３に提示する際に、第１の文書１と共に表示するラベルに決定する。
【００１８】
その後、ユーザ３から特徴抽出装置１０に、第１の文書１の閲覧要求があると、演算部１２は、ラベル６を付与した第１の文書１を、ユーザ３が使用する端末装置４に送信することで、端末装置４の画面５に第１の文書１とラベル６とを表示させる。
【００１９】
このような特徴抽出装置１０によれば、第１の文書１内に、ユーザ３が興味を有する内容の記述が局所的に含まれている場合、その記述を含む局所的な部分から抽出したキーワードを、第１の文書１のラベルにすることができる。例えば図１の例では、第１の文書１を分割して得られた分割文書１ａ〜１ｇのうち、分割文書１ａ，１ｄは、共に２つの第２の文書２ａ，２ｃに類似する。なお分割文書１ｅは、１つの第２の文書２ｂに類似する。なお分割文書１ｂは、一部に第２の文書２ｂと類似する内容を含んでいるものの、全体としては非類似と判断されている。この場合、類似する第２の文書が存在する分割文書１ａ，１ｄ，１ｆそれぞれからキーワードが抽出され、そのキーワードのスコアが計算される。そして同じ文字列のキーワード同士のスコアの合計値が高い方から所定数の文字列が、ラベルとして決定される。図１の例では、「ｂｂｂ」の文字列が、ラベルに決定されている。
【００２０】
その後、ユーザ３が端末装置４を利用して第１の文書１の閲覧要求を特徴抽出装置１０に送信すると、端末装置４の画面５には、第１の文書１と共に、「ｂｂｂ」の文字列がラベル６として表示される。ラベル６は、第１の文書１内のユーザ３の興味を有する局所的な部分から抽出されたキーワードであり、ユーザ３の興味を引く情報が、第１の文書１内に含まれていることを表している。
【００２１】
このように第１の実施の形態では、第１の文書１を分割した分割文書１ａ〜１ｇのうち、ユーザ３が興味を有する第２の文書２ａ〜２ｃと類似する分割文書内のキーワードの文字列が、第１の文書１のラベルに決定される。その結果、第１の文書１に局所的に含まれるユーザ３の興味を引く記述に基づいて、第１の文書１にラベルを付与することができる。
【００２２】
しかも第１の実施の形態では、複数の分割パターンで第１の文書１を分割するため、１つの分割パターンでは、類似する第２の文書を検出できない部分でも、別の分割パターンにより、類似する第２の文書を検出することが可能となる。例えば第１の分割パターンでの分割により得られた分割文書１ｂは、一部に第２の文書２ｂと類似する記述を含んでいるものの、全体としては、第２の文書２ｂとは非類似と判断されている。しかし別の第２の分割パターンで分割することで、分割文書１ｂ内の一部の分割文書１ｆを得ることができ、その分割文書１ｆと第２の文書２ｂとが類似していることを検出することができる。その結果、より精度よく、ユーザが興味を有する文書２ａ〜２ｃと類似する、第１の文書１内の局所的な記述を検出できる。
【００２３】
さらに、類似する第２の文書の数が多い分割文書から抽出したキーワードほど、スコアを高くするようにしたことで、ユーザの興味の対象を強く表すキーワードがラベルとして設定される可能性が高くなる。その結果、より適切なキーワードをラベルとして提示できる。
【００２４】
なお特徴抽出装置１０は、例えばコンピュータであり、上記演算部１２が実行する処理手順を記述したプログラムを特徴抽出装置１０が実行する。演算部１２は、例えば特徴抽出装置１０が有するプロセッサにより実現することができる。また、記憶部１１は、例えば特徴抽出装置１０が有するメモリにより実現することができる。
【００２５】
また、図１に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、以下のような文書集合を処理対象として想定している。
・コンテンツの内容を表す文書集合：コンテンツから抽出したテキスト集合
・ユーザの興味を表す文書集合：ユーザのツイート（つぶやき）集合
ツイートは、１つの文書の文字数が、例えば全角文字で１４０文字以下に制限されている。そのため、１つのツイートは、１つの話題について記述されることが多い。すると、ある一人のユーザの多数のツイートで語られた話題は、そのユーザの興味のある分野の話題であると考えることができる。
【００２６】
他方、コンテンツから抽出したテキストには、長い文章のものがある。長い文章には、複数の話題が含まれることが多い。このようなコンテンツにユーザごとのラベルを決定するとき、例えば、コンテンツとツイートとの両方に出現するキーワードを、コンテンツのラベルとする手法（第１の手法）が考えられる。第１の手法では、ユーザのツイートとコンテンツとのそれぞれからキーワードが抽出される。次に、コンテンツから抽出されたキーワードのうち、ツイートからも抽出されているキーワードについて、ＴＦ−ＩＤＦ（Term Frequency-Inverse Document Frequency）などによる重要度を用いてスコアリングが行われる。なおＴＦ−ＩＤＦは、文書中に出現したキーワードがどのくらい特徴的であるかを識別する指標である。ＴＦ−ＩＤＦを用いると、多数の文書に出現するキーワードの重要度は下がり、特定のコンテンツでのみ出現するキーワードの重要度はあがる。そして、スコアの高いキーワードが、ラベルとして採用される。
【００２７】
ただし、第１の手法を採用すると、ユーザのツイート内で使用したキーワードしかラベルとして設定することができない。その結果、ラベルとして使用できるキーワードの種類が限られ、適切なラベルとはならない可能性がある。
【００２８】
そこで条件を緩めた手法として、ツイートと類似するコンテンツを探し、類似するコンテンツに出現するキーワードを利用する手法（第２の手法）が考えられる。例えば、ユーザの各ツイートと各コンテンツとの間の類似度に基づいて、ユーザの興味と内容の近い１つ以上のコンテンツが検出される。その後、類似度とＴＦ−ＩＤＦなどによる単語の重要度とを用いて、各コンテンツ中に出現する単語に対しスコアリングが行われる。最終的に上位の単語が、各コンテンツに対するラベルとして採用される。
【００２９】
第２の手法であれば、ツイートと類似するコンテンツ内のキーワードは、そのキーワードがツイート内に出現しないキーワードであっても、ラベルとして採用することが可能である。しかし第２の手法では、コンテンツにユーザの興味のある部分が局所的に含まれているとき、その他の部分が似ていないと、そのコンテンツとツイートとの間の類似度が高くならない。そのため、長い文書内の一部に、ユーザが興味を有する分野の文章が含まれていても、その部分に出現する単語をラベルとして採用できない可能性がある。
【００３０】
そこで第２の実施の形態では、コンテンツ内のテキストを分割して分割文書集合を作成し、この分割文書集合とツイートとの類似度計算をする。そして多くのツイートとの間で類似関係を有する分割文書から抽出したキーワードほど高いスコアを与える。これにより、長い文書の一部にユーザが興味を有する分野の内容が記載されているとき、その一部の記載内容から抽出キーワードを、その文書のラベルとして採用することができる。その結果、ユーザが興味を持っている話題を含むコンテンツであることを、ユーザに提示することができ、ユーザによる文書閲覧の利便性が向上する。
【００３１】
なお第２の実施の形態では、コンテンツ内のテキストを分割するが、分割文書への適切な分割手法は自明ではない。すなわち、ユーザの興味やコンテンツ内の内容のまとまりが多様であるために、ユーザの興味のある内容のまとまりを保持しており、かつ無駄な部分（＝ユーザの興味がない部分）を含まないような分割文書にコンテンツを分割することは難しい。例えば、興味のある部分が複数存在し、その分量が異なる場合は、テキストを単一のパターンで分割してもうまくはいかない。
【００３２】
そこで、第２の実施の形態では、複数の分割パターンで分割文書を作成する。分割パターンには、ツイートとの文書の長さのバランスが取れるような分割パターンが含まれる。例えばツイートが１４０文字以内という制限があれば、段落ごとに分割する分割パターンと、文ごとに分割する分割パターンとでコンテンツが分割される。
【００３３】
なおキーワードのスコアリングを行う場合、まず分割して得られた分割文書とツイートとの類似度計算が行われる。類似度計算には、例えばクラスタリングアルゴリズムが用いられる。クラスタリングアルゴリズムを用いると、類似する文書（分割文書またはツイート）同士を、同じクラスタに纏めることができる。そして多くのツイートと類似する分割文書内のキーワードほどスコアが高くなるように、各キーワードのスコアが付与される。
【００３４】
このように、複数パターンの分割をした分割文書とツイートとの類似度計算の結果を総合してスコアリングを行うことで、ユーザが興味のある局所的な部分に出現するキーワードを重視するようなスコアリングを行うことができる。そしてスコアの高いキーワードを、コンテンツのラベルとして決定すれば、ユーザの興味のある局所的な部分のキーワードを、コンテンツのラベルとしてユーザに見せることができる。
【００３５】
図２は、第２の実施の形態のシステム構成例を示す図である。特徴抽出装置１００は、ネットワーク２０を介して、複数の端末装置３１，３２，・・・と複数のサーバ４１，４２，・・・とに接続されている。複数の端末装置３１，３２，・・・は、ユーザが特徴抽出装置１００にアクセスするために使用される。またユーザは、いずれかの端末装置を用いてサーバ４１，４２，・・・にアクセスし、ツイートを登録することができる。さらにユーザは、いずれかの端末装置を用いてサーバ４１，４２，・・・にアクセスし、サーバ４１，４２，・・・で公開されているコンテンツや、他のユーザのツイートなどを閲覧することができる。
【００３６】
複数のサーバ４１，４２，・・・は、ユーザのツイートやその他のコンテンツを公開するサーバである。例えば少なくとも１つのサーバは、端末装置３１，３２，・・・から送られたユーザのツイートを示す文章を、そのユーザの名称に関連づけて登録し、そのユーザの発言としてネットワーク２０上に公開する。また少なくとも１つのサーバは、ユーザのツイート以外のさまざまなコンテンツを、ネットワーク２０上に公開する。
【００３７】
特徴抽出装置１００は、サーバ４１，４２，・・・から収集したコンテンツを、端末装置３１，３２，・・・を介してアクセスするユーザに提供する。その際、特徴抽出装置１００は、アクセスしてきたユーザごとに、サーバ４１，４２，・・・で公開されているコンテンツから、そのユーザが興味を有する内容を示すキーワードを抽出し、そのコンテンツのラベルとして設定する。
【００３８】
図３は、第２の実施の形態に用いる特徴抽出装置のハードウェアの一構成例を示す図である。特徴抽出装置１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３９】
メモリ１０２は、特徴抽出装置１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００４０】
バス１０９に接続されている周辺機器としては、ＨＤＤ１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８がある。
【００４１】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、特徴抽出装置１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
【００４２】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４３】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４４】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４５】
機器接続インタフェース１０７は、特徴抽出装置１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４６】
ネットワークインタフェース１０８は、ネットワーク２０に接続されている。ネットワークインタフェース１０８は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４７】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した特徴抽出装置１０も、図３に示した特徴抽出装置１００と同様のハードウェアにより実現することができる。
【００４８】
特徴抽出装置１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。特徴抽出装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、特徴抽出装置１００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また特徴抽出装置１００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４９】
図４は、特徴抽出装置の機能を示すブロック図である。特徴抽出装置１００は、ユーザ集合作成部１１１，ユーザ文書収集部１１２，コンテンツ収集部１１３、文書分割部１１４、キーワード抽出部１１５、クラスタリング部１１６、ラベル選定部１１７、ラベル付与部１１８、ユーザ集合記憶部１２０、ユーザ文書記憶部１３０、コンテンツ記憶部１４０、分割文書記憶部１５０、ユーザ興味キーワード記憶部１６０、分割文書キーワード記憶部１７０、クラスタリング結果ＤＢ１８０、およびコンテンツ−ラベル情報ＤＢ１９０を有している。
【００５０】
ユーザ集合作成部１１１は、特徴抽出装置１００が提示したコンテンツを閲覧したことがあり、かつツイートしたことがあるユーザの一覧であるユーザ集合を作成する。例えばユーザ集合作成部１１１は、いずれかの端末装置を利用して特徴抽出装置１００にアクセスしたユーザにユーザＩＤを付与し、ユーザＩＤに対して、そのユーザのツイート時のアカウント名を関連づけて、ユーザ集合に登録する。例えばユーザ集合作成部１１１は、ユーザが、特徴抽出装置１００経由で提示したコンテンツに対するツイート操作を行ったとき、ツイート時のアカウント名を取得する。そしてユーザ集合作成部１１１は、そのアカウント名がユーザ集合に未登録であれば、そのアカウント名を新たなユーザＩＤに関連づけて、ユーザ集合に登録する。またユーザ集合作成部１１１は、管理者からの入力に従って、ユーザＩＤとアカウント名との組を、ユーザ集合に登録することもできる。
【００５１】
ユーザ集合記憶部１２０は、ユーザ集合を記憶する。例えばユーザ集合記憶部１２０は、メモリ１０２またはＨＤＤ１０３の記憶領域の一部である。
ユーザ文書収集部１１２は、ユーザのツイート（所定の文字数内で書かれた文書）を収集する。例えばユーザ文書収集部１１２は、ユーザ集合記憶部１２０に格納されているユーザのアカウント名で公開されているツイートの文章を、サーバ４１，４２，・・・から収集する。ユーザ文書収集部１１２は、収集した文書、ユーザ文書記憶部１３０に格納する。
【００５２】
ユーザ文書記憶部１３０は、ユーザが作成した文書を記憶する。例えばメモリ１０２またはＨＤＤ１０３の記憶領域の一部が、ユーザ文書記憶部１３０として使用される。
コンテンツ収集部１１３は、サーバ４１，４２，・・・で公開されているコンテンツを収集する。コンテンツ収集部１１３は、収集したコンテンツを、コンテンツ記憶部１４０に格納する。
【００５３】
コンテンツ記憶部１４０は、コンテンツを記憶する。例えばメモリ１０２またはＨＤＤ１０３の記憶領域の一部が、コンテンツ記憶部１４０として使用される。
文書分割部１１４は、コンテンツ記憶部１４０が記憶するコンテンツのテキスト部分を分割する。例えば文書分割部１１４は、コンテンツのテキストを、段落ごと、および文ごとの２パターンで分割し、複数の分割文書を生成する。文書分割部１１４は、生成した分割文書を、分割文書記憶部１５０に格納する。また文書分割部１１４は、コンテンツのテキスト全体を、１つの分割文書として分割文書記憶部１５０に格納する。
【００５４】
分割文書記憶部１５０は、分割文書を記憶する。例えばメモリ１０２またはＨＤＤ１０３の記憶領域の一部が、分割文書記憶部１５０として使用される。
キーワード抽出部１１５は、ユーザ文書記憶部１３０に格納された文書から、ユーザの興味を示すキーワードを抽出する。キーワード抽出部１１５は、抽出したキーワードを、抽出元の文書に関連づけて、ユーザ興味キーワード記憶部１６０に格納する。またキーワード抽出部１１５は、分割文書記憶部１５０に格納された分割文書からキーワードを抽出する。キーワード抽出部１１５は、抽出したキーワードを、抽出元の分割文書に関連づけて、分割文書キーワード記憶部１７０に格納する。
【００５５】
ユーザ興味キーワード記憶部１６０は、ユーザのツイートから抽出したキーワードを、その文書に関連づけて記憶する。例えばメモリ１０２またはＨＤＤ１０３の記憶領域の一部が、ユーザ興味キーワード記憶部１６０として使用される。
【００５６】
分割文書キーワード記憶部１７０は、分割文書から抽出したキーワードを、その分割文書に関連づけて記憶する。例えばメモリ１０２またはＨＤＤ１０３の記憶領域の一部が、分割文書キーワード記憶部１７０として使用される。
【００５７】
クラスタリング部１１６は、ユーザ興味キーワード記憶部１６０と分割文書キーワード記憶部１７０とを参照し、ユーザのツイートと、コンテンツを分割して得られた分割文書とのクラスタリングを行う。例えばクラスタリング部１１６は、コンテンツの各分割パターンの分割文書と、ツイート間で内容の類似度を計算する。クラスタリング部１１６は、類似する分割文書またはツイートを、同じクラスタに分類する。そしてクラスタリング部１１６は、分割文書とツイートが同じクラスタに属した場合（例えば類似度が一定以上の場合）にはエッジを張る。クラスタリング部１１６は、クラスタリングの結果を、クラスタリング結果ＤＢ１８０に格納する。
【００５８】
クラスタリング結果ＤＢ１８０は、クラスタリング結果を管理するＤＢである。例えば、メモリ１０２またはＨＤＤ１０３の記憶領域の一部が、クラスタリング結果ＤＢ１８０として使用される。
【００５９】
ラベル選定部１１７は、ユーザのツイートと同一クラスタに属する分割文書内のキーワードについて、その分割文書の特徴を表す度合いを示すスコアを計算する。スコアの計算に際し、ラベル選定部１１７は、同一クラスタに属するツイート数が多い分割文書内のキーワードほど、高いスコアを付与する。ラベル選定部１１７は、同じコンテンツの複数の分割文書ごとに計算した各キーワードのスコアに基づいて、そのコンテンツにおける各キーワードのスコアを計算する。そしてラベル選定部１１７は、スコアの高い方から所定数のキーワードを、コンテンツのラベルに決定する。ラベル選定部１１７は、コンテンツごとに決定したラベルを、コンテンツ−ラベル情報ＤＢ１９０に格納する。
【００６０】
コンテンツ−ラベル情報ＤＢ１９０は、コンテンツごとのラベルを管理するＤＢである。例えば、メモリ１０２またはＨＤＤ１０３の記憶領域の一部が、コンテンツ−ラベル情報ＤＢ１９０として使用される。
【００６１】
ラベル付与部１１８は、ユーザからアクセスがあり、コンテンツの少なくとも一部を表示させる際に、そのコンテンツについて決定されたラベルを、コンテンツに付与する。そしてラベル付与部１１８は、ラベルが付与されたコンテンツをユーザが使用する端末装置に送信することで、ラベル付きのコンテンツを端末装置の画面に表示させる。
【００６２】
なお、図４に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００６３】
次に、特徴抽出装置１００が管理する情報について説明する。
図５は、ユーザ集合記憶部の一例を示す図である。ユーザ集合記憶部１２０には、ユーザ集合テーブル１２１が格納されている。ユーザ集合テーブル１２１には、ユーザごとに、ユーザＩＤとアカウント名とが登録されている。アカウント名は、ユーザがツイートを登録する際に使用するアカウントの名称である。
【００６４】
図６は、ユーザ文書記憶部の一例を示す図である。ユーザ文書記憶部１３０には、ユーザ文書管理テーブル１３１が格納されている。ユーザ文書管理テーブル１３１には、ユーザＩＤに関連づけて、ユーザ文書ＩＤと内容との組が登録されている。ユーザ文書ＩＤは、ユーザが作成したツイートの識別子である。内容は、ツイートの内容である。
【００６５】
図７は、コンテンツ記憶部の一例を示す図である。コンテンツ記憶部１４０には、コンテンツ管理テーブル１４１が格納されている。コンテンツ管理テーブル１４１には、コンテンツを識別するためのコンテンツＩＤに関連づけて、そのＵＲＬ（Uniform Resource Locator）と内容との組が登録されている。内容には、少なくともコンテンツ内のテキストによる文章が登録される。
【００６６】
図８は、分割文書記憶部の一例を示す図である。分割文書記憶部１５０には、分割文書管理テーブル１５１が格納されている。分割文書管理テーブル１５１には、分割文書ごとに、コンテンツＩＤ、分割パターン、分割文書ＩＤ、および分割文書の内容が登録されている。コンテンツＩＤは、分割文書の分割元のコンテンツの識別子である。分割バターンは、分割文書を生成した際のコンテンツの分割パターンの種別である。分割文書ＩＤは、分割文書の識別子である。内容は、分割文書の文字列である。
【００６７】
コンテンツの分割は、例えば３パターンで行われる。第１のパターンは、コンテンツ内のテキストを１つの文書とする分割パターン（未分割）である。この分割パターンをＳorigとする。第２の分割パターンは、コンテンツ内のテキストを段落ごとに分割する分割パターンである。この分割パターンをＳparaとする。第３の分割パターンは、コンテンツ内のテキストを文ごとに分割する分割パターンである。この分割パターンをＳsentとする。
【００６８】
図９は、ユーザ興味キーワード記憶部の一例を示す図である。ユーザ興味キーワード記憶部１６０には、ユーザ興味キーワード管理テーブル１６１が格納されている。ユーザ興味キーワード管理テーブル１６１には、ユーザＩＤに対応づけて、各ツイートのユーザ文書ＩＤと、そのツイートの内容から抽出されたキーワードとが登録されている。
【００６９】
図１０は、分割文書キーワード記憶部の一例を示す図である。分割文書キーワード記憶部１７０には、分割文書キーワード管理テーブル１７１が格納されている。分割文書キーワード管理テーブル１７１には、分割文書ごとに、コンテンツＩＤ、分割パターン、分割文書ＩＤ、および分割文書から抽出されたキーワードが登録されている。
【００７０】
ユーザ興味キーワード管理テーブル１６１と分割文書キーワード管理テーブル１７１とに基づいて、クラスタリングが行われ、クラスタリング結果ＤＢにクラスタリング結果が登録される。
【００７１】
図１１は、クラスタリング結果ＤＢの一例を示す図である。クラスタリング結果ＤＢ１８０には、クラスタリング結果テーブル１８１が格納されている。クラスタリング結果テーブル１８１には、分割文書の分割文書ＩＤに対応づけて、その分割文書と類似するツイートのユーザ文書ＩＤが登録されている。
【００７２】
図１２は、コンテンツ−ラベル情報ＤＢの一例を示す図である。コンテンツ−ラベル情報ＤＢ１９０には、コンテンツ−ラベル管理テーブル１９１が格納されている。コンテンツ−ラベル管理テーブル１９１には、ユーザＩＤとコンテンツＩＤとの組に対応づけて、ツイート集合Ｔと分割文書集合Ｓj（ｊ＝０，１，２，・・・）とのペアごとのラベルと、コンテンツに付与するラベルが登録されている。分割文書集合Ｓjは、ｊ番目の分割パターンで分割して得られた分割文書の集合である。なお、各ラベルにはスコアが付与されており、スコアの高い順にソートされている。
【００７３】
次に、特徴抽出装置１００における各コンテンツに付与するラベルの決定処理の手順について説明する。
図１３は、ラベル決定処理の手順の一例を示すフローチャートである。
【００７４】
［ステップＳ１０１］ユーザ集合作成部１１１は、コンテンツを閲覧し、ツイートを行ったことのあるユーザの集合（ユーザ集合Ｕ）を抽出する。例えばユーザ集合作成部１１１は、特徴抽出装置１００が端末装置３１にコンテンツを表示させる際に、コンテンツの横にツイート用のボタンを表示させる。端末装置３１においてツイート用のボタンが押下されると、端末装置３１から特徴抽出装置１００にツイート要求が送信される。ユーザ集合作成部１１１は、ツイート要求を受信することで、端末装置３１を使用するユーザがツイートしたことを認識し、そのツイート要求を、ツイートを管理するサーバにリダイレクトする。そしてユーザ集合作成部１１１は、ツイートしたユーザの情報を、ユーザ集合Ｕに追加する。ユーザ集合作成部１１１は、作成したユーザ集合Ｕを、ユーザ集合記憶部１２０に格納する。
【００７５】
［ステップＳ１０２］ユーザ文書収集部１１２は、ユーザ集合内の未処理のユーザを選択する。
［ステップＳ１０３］ユーザ文書収集部１１２は、選択したユーザのツイートをサーバから取得する。例えばユーザ文書収集部１１２は、ユーザ集合テーブル１２１に登録された各ユーザのアカウント名を参照し、そのアカウント名に対応するツイートの内容を、ツイートを管理しているサーバから取得する。ユーザ文書収集部１１２は、取得したツイートの集合（ツイート集合Ｔ）をユーザ文書記憶部１３０に格納する。
【００７６】
［ステップＳ１０４］コンテンツ収集部１１３は、コンテンツを提供しているサーバから、コンテンツを取得する。コンテンツ収集部１１３は、取得したコンテンツの集合を、コンテンツ記憶部１４０に格納する。
【００７７】
［ステップＳ１０５］文書分割部１１４は、コンテンツ記憶部１４０から各コンテンツＳに含まれるテキストＳorigを抽出する。
［ステップＳ１０６］文書分割部１１４は、抽出したテキストそれぞれを、複数の分割パターンで分割し、分割パターンごとの分割文書集合Ｓjを得る。文書分割部１１４は、得られた分割文書集合Ｓjを、分割文書記憶部１５０に格納する。
【００７８】
［ステップＳ１０７］キーワード抽出部１１５は、ツイート集合Ｔと、分割文書集合Ｓjそれぞれからキーワードを抽出し、キーワード集合を得る。例えばキーワード抽出部１１５は、ツイート集合Ｔに含まれる各ツイートと、分割文書集合Ｓjに含まれる各分割集合との形態素解析を行い、名詞などの単語をキーワードとして抽出する。またキーワード抽出部１１５は、辞書などの各種言語資源を用いて、その言語資源に登録されている単語と同じキーワードを、ツイートまたは分割文書から抽出することもできる。キーワード抽出部１１５は、ツイートから抽出したキーワードを、そのツイートの識別子（ユーザ文書ＩＤ）に関連づけて、ユーザ興味キーワード記憶部１６０に格納する。またキーワード抽出部１１５は、分割文書から抽出したキーワードを、その分割文書の識別子（分割文書ＩＤ）に関連づけて、分割文書キーワード記憶部１７０に格納する。
【００７９】
［ステップＳ１０８］クラスタリング部１１６は、ツイートと分割文書集合とのペア（Ｔ，Ｓj）の集合（ペア集合）を生成する。３パターンの分割文書集合が生成されている場合、（Ｔ，Ｓ0）、（Ｔ，Ｓ1）、（Ｔ，Ｓ2）というペア集合が生成される。
【００８０】
［ステップＳ１０９］クラスタリング部１１６は、ペア集合から、１組のペアを選択する。
［ステップＳ１１０］クラスタリング部１１６は、ペアに対するクラスタリングを行う。クラスタリングでは、例えばツイートと分割文書とを解析して、類似するツイートと分割文書とを同じクラスタに含められる。クラスタリング部１１６は、類似する分割文書とツイートとの分割文書ＩＤとユーザ文書ＩＤとを関連づけて、クラスタリング結果テーブル１８１に設定する。
【００８１】
［ステップＳ１１１］クラスタリング部１１６は、分割文書内のキーワードに対してスコアリングを行う。クラスタリング部１１６は、例えば、キーワードの抽出元の分割文書と同じクラスタのツイートの数が多いほど、高いスコアとする。またクラスタリング部１１６は、特徴的なキーワードであるほど、高いスコアとする。クラスタリング部１１６は、スコアの高い順にキーワードをソートし、上位から所定数のキーワードを分割文書についてのラベルとして、コンテンツ−ラベル管理テーブル１９１に設定する。例えばクラスタリング部１１６は、分割文書Ｓ0についてのラベルを、コンテンツ−ラベル管理テーブル１９１の「Ｓ0のラベル」の欄に設定する。またクラスタリング部１１６は、分割文書Ｓ1についてのラベルを、コンテンツ−ラベル管理テーブル１９１の「Ｓ1のラベル」の欄に設定する。さらにクラスタリング部１１６は、分割文書Ｓ2についてのラベルを、コンテンツ−ラベル管理テーブル１９１の「Ｓ2のラベル」の欄に設定する。
【００８２】
［ステップＳ１１２］クラスタリング部１１６は、未選択のペアがあるか否かを判断する。未選択のペアがあれば、処理がステップＳ１０９に進められる。未選択のペアがなければ、処理がステップＳ１１３に進められる。
【００８３】
［ステップＳ１１３］クラスタリング部１１６は、すべてのペアについて、キーワードのスコアリングが完了した場合、キーワードについてペアごとに計算したスコアの合計（合計スコア）が高い方からＮ個（Ｎは１以上の整数）のキーワードを、ラベルとして選定する。クラスタリング部１１６は、選定したラベルを、コンテンツ−ラベル管理テーブル１９１の「ラベル」の欄に設定する。
【００８４】
［ステップＳ１１４］ユーザ文書収集部１１２は、未選択のユーザがあるか否かを判断する。未選択のユーザがあれば、処理ステップＳ１０２に進められる。未選択のユーザがなければ、ラベル決定処理が終了する。
【００８５】
このような手順で、各コンテンツについてのユーザごとのラベルが決定される。以下、クラスタリングとスコアリングの処理について、より具体的に説明する。
図１４は、ツイート集合と分割文書集合とのペアの作成例を示す図である。ユーザ興味キーワード管理テーブル１６１には、ユーザＩＤ「００１」のユーザによるツイートの集合（ツイート集合Ｔ）に関する情報が設定されている。また分割文書キーワード管理テーブル１７１には、分割パターンごとの分割文書の集合（分割文書集合Ｓ0，Ｓ1，Ｓ2）に関する情報が設定されている。
【００８６】
ツイート集合Ｔと分割文書集合Ｓ0，Ｓ1，Ｓ2それぞれとのペア（Ｔ，Ｓ0）、（Ｔ，Ｓ1）、（Ｔ，Ｓ2）が生成される。そしてペアごとにクラスタリングとスコアリングが行われる。
【００８７】
図１５は、分割パターンＳorigで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。図１６は、分割パターンＳparaで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。図１７は、分割パターンＳsentで分割した分割文書に関するクラスタリングとスコアリングの例を示す図である。図１５〜図１７には、キーワード「徳島」についてスコアリングする場合の例を示している。図１５〜図１７において、白抜きの文書はツイートであり、網掛けの文書は分割文書である。
【００８８】
コンテンツ４１を分割パターンＳorigで分割した場合、コンテンツ４１内のすべてのテキストを有する１つの分割文書のみを含む分割文書集合Ｓ0とツイート集合Ｔとのペア（Ｔ，Ｓ0）が生成される（図１５参照）。またコンテンツ４１を分割パターンＳparaで分割した場合、コンテンツ４１内の段落ごとの複数の分割文書を含む分割文書集合Ｓ1とツイート集合Ｔとのペアが生成される（図１６参照）。コンテンツ４１を分割パターンＳsentで分割した場合、コンテンツ４１内の文ごとの複数の分割文書を含む分割文書集合Ｓ2とツイート集合Ｔとのペアが生成される（図１７参照）。
【００８９】
このようにして生成された各ペアに対して、クラスタリングが行われる。クラスタリングでは、例えばペア内の文書間の類似度が計算される。類似度計算手法としては、例えばクラスタリングの一手法であるＬＤＡ（Latent Dirichlet Allocation）を用いることができる。ＬＤＡを用いると、複数の文書のうち、主たる話題（トピック）が共通の文書を同じクラスタにクラスタリングすることができる。クラスタリング部１１６は、ペアのツイート集合と分割文書集合とを混ぜ合わせ、ＬＤＡを適用してクラスタリングを行う。生成するクラスタ数は、例えば全文書数に応じて定める。また、どの程度以上の類似性を有していれば同じクラスタに含めるのかに関する閾値は、例えば試行を繰り返すことにより定める。
【００９０】
クラスタリング部１１６は、コンテンツとツイートが同じクラスタに属した場合（類似度が一定以上の場合）には、コンテンツとツイートとの間にエッジを張る。そしてクラスタリング部１１６は、エッジで接続されたコンテンツとツイートとの関係を、クラスタリング結果テーブル１８１（図１１参照）に設定する。
【００９１】
例えばペア（Ｔ，Ｓ0）をクラスタリングした例では、「徳島」を含む分割文書４２は、ツイート４３と同じくラスタＣ1に属しているため、分割文書４２とツイート４３とがエッジ４４で接続される。分割文書４２のエッジ数は「１」である（図１５参照）。
【００９２】
ペア（Ｔ，Ｓ1）をクラスタリングした例では、「徳島」を含む分割文書４５は、２つのツイート４６，４７と同じくラスタＣ3に属しているため、分割文書４５とツイート４６，４７それぞれとがエッジ４８，４９で接続される。分割文書４５のエッジ数は「２」である（図１６参照）。
【００９３】
ペア（Ｔ，Ｓ2）をクラスタリングした例では、複数の分割文書４９，５０が「徳島」を含むものとする。分割文書が４９は、ツイート５１と同じくラスタＣ1に属しているため、分割文書４９とツイート５１がエッジ５５で接続される。分割文書４９のエッジ数は「１」である。分割文書４２のエッジ数は「１」である。ペア（Ｔ，Ｓ1）をクラスタリングした例では、分割文書５０は、３つのツイート５２〜５４と同じくラスタＣ3に属しているため、分割文書５０とツイート５２〜５３それぞれとがエッジ５６〜５８で接続される。分割文書５０のエッジ数は「３」である（図１７参照）。
【００９４】
図１５〜図１７に示すように、ツイート集合内のツイートと分割文書集合内の分割文書間をエッジで接続することで、２部グラフが生成される。２部グラフが作成されると、クラスタリング部１１６は、コンテンツ中に出現するキーワードに対し、クラスタごとにスコアを求める。このときクラスタリング部１１６は、ツイートとのエッジが多い分割文書に含まれるキーワードほどスコアを大きくする。
【００９５】
キーワード「徳島」のスコアを求める場合、「徳島」を含む分割文書が含まれるクラスタをすべて探し、この各クラスタで「徳島」のスコアを求める。ここで、ｊ番目の分割文書集合Ｓjのｎ（ｎは１以上の整数）番目のクラスタＣnにおけるキーワードｋのスコアを、Score（Ｓj，Ｃn，ｋ）と表すものとする。
【００９６】
図１８は、スコアリングの一例を示す図である。クラスタごとのスコアは、例えばキーワードｋのtf-idf値（tf-idf（ｋ））、キーワードｋの出現する分割文書が持つエッジ数ｅ、分割文書の文書長ｌ（例えば文字数）により決定される。例えばScore（Ｓj，Ｃn，ｋ）は、以下の式で表される。
【００９７】
【数１】
2016045552.tif 000003
【００９８】
式（１）によれば、エッジ数ｅが多いほどスコアの値が大きくなる。また分割文書の文書長ｌが短いほど、スコアの値が大きくなる。
クラスタリング部１１６は、キーワードｋについて、分割文書集合Ｓj内のクラスタごとにスコアを計算した後、以下の式により、スコアの和をとる。
【００９９】
【数２】
2016045552.tif 000004
【０１００】
例えばペア（Ｔ，Ｓ0）をクラスタリングしたときの「徳島」を含む分割文書４２を含むクラスタは１つだけなので、そのクラスタのスコア「Score（Ｓ0，Ｃ1，徳島）」が、ペア（Ｔ，Ｓ0）のスコア「Score（Ｓ0，徳島）」となる。ペア（Ｔ，Ｓ1）をクラスタリングしたときの「徳島」を含む分割文書４５を含むクラスタは１つだけなので、そのクラスタのスコア「Score（Ｓ1，Ｃ3，徳島）」が、ペア（Ｔ，Ｓ1）のスコア「Score（Ｓ1，徳島）」となる。ペア（Ｔ，Ｓ2）をクラスタリングしたときの「徳島」を含む分割文書４９，５０を含むクラスタは２つあるので、それらのクラスタのスコアの合計「Score（Ｓ2，Ｃ1，徳島）＋Score（Ｓ2，Ｃ3，徳島）」が、ペア（Ｔ，Ｓ2）のスコア「Score（Ｓ2，徳島）」となる。
【０１０１】
すべてのペアについて算出されたキーワードｋのスコアを、以下の式にしたがって和をよることで、キーワードｋのスコア（Score（ｋ））となる。
【０１０２】
【数３】
2016045552.tif 000005
【０１０３】
キーワード「徳島」のスコアは「Score（徳島）＝Score（Ｓ0，徳島）＋Score（Ｓ1，徳島）＋Score（Ｓ2，徳島）」となる。
このようにして求められたスコアに基づいて、スコアの高い方からＮ個のキーワードが、ラベルとしてコンテンツ−ラベル管理テーブル１９１に登録される。またペアごとに、そのペアで求めたスコアが上位の所定数のキーワードが、分割パターンごとのラベルとして、コンテンツ−ラベル管理テーブル１９１に登録される。
【０１０４】
その後、ユーザからアクセスがあると、コンテンツ−ラベル管理テーブル１９１を参照して、そのユーザに応じたラベルがコンテンツに付与される。この際、コンテンツ内のユーザが興味のある分野のキーワードを、強調表示するとこもできる。
【０１０５】
図１９は、コンテンツ表示処理の手順を示すフローチャートである。
［ステップＳ２０１］ラベル付与部１１８は、ユーザからのトップページへのアクセスを取得する。この際、ラベル付与部１１８は、クッキーなどの技術を用いて、アクセスしたユーザのユーザＩＤを特定する。
【０１０６】
［ステップＳ２０２］ラベル付与部１１８は、コンテンツ−ラベル情報ＤＢ１９０からトップページに表示されるコンテンツのラベル集合を、各ラベルのスコア付きで取得する。例えばラベル付与部１１８は、アクセスしてきたユーザのユーザＩＤと表示するコンテンツのコンテンツＩＤとの組に対応づけられたラベル集合を、コンテンツ−ラベル管理テーブル１９１から取得する。
【０１０７】
［ステップＳ２０３］ラベル付与部１１９は、アクセスしたユーザに応じ、サイト全体のラベル集合を取得する。例えばラベル付与部１１９は、コンテンツ−ラベル管理テーブル１９１から、アクセスしたユーザのユーザＩＤに対応する、各コンテンツのラベルを取得する。ラベル付与部１１９は、取得したラベルのうち、同じキーワードのラベルを統合する。ラベルを統合した場合、ラベル付与部１１９は、各ラベルのスコアの合計を、統合後のラベルのスコアとする。そしてラベル付与部１１９は、スコアの上位Ｎ件のラベルを、サイト全体のラベル集合とする。
【０１０８】
［ステップＳ２０４］ラベル付与部１１９は、ユーザの端末装置に表示されるトップページ内の所定の位置に、ラベルを表示させる。例えばラベル付与部１１９は、各コンテンツのラベルは、そのコンテンツの上または下に表示する。またラベル付与部１１９は、サイト全体のラベルを、サイト紹介用の領域に表示する。
【０１０９】
［ステップＳ２０５］ラベル付与部１１９は、ユーザからのラベル選択入力があったか否かを判断する。ラベル選択入力があった場合、処理がステップＳ２０６に進められる。ラベル選択入力がなければ、処理がステップＳ２０８に進められる。
【０１１０】
［ステップＳ２０６］ラベル付与部１１９は、選択されたラベルが付与されたコンテンツを、コンテンツ−ラベル情報ＤＢ１９０から検索する。そしてラベル付与部１１９は、検索でヒットしたコンテンツの内容をコンテンツ記憶部１４０から取得すると共に、そのコンテンツに対するユーザに応じたラベルを、コンテンツ−ラベル情報ＤＢ１９０から取得する。
【０１１１】
［ステップＳ２０７］ラベル付与部１１９は、取得したコンテンツと、そのコンテンツのラベルとを、ユーザの使用する端末装置に表示する。
［ステップＳ２０８］ラベル付与部１１９は、ユーザによるコンテンツ選択入力があるか否かを判断する。コンテンツ選択入力があれば、処理がステップＳ２０９に進められる。コンテンツ選択入力がなければ、処理がステップＳ２０５に進められる。
【０１１２】
［ステップＳ２０９］ラベル付与部１１９は、選択されたコンテンツ内のラベルに対応するキーワードを強調表示させたページを、ユーザが使用する端末装置に表示させる。例えばラベル付与部１１９は、ラベルに対応するキーワードを、色分けして表示させる。
【０１１３】
このようにして、ラベル付きのコンテンツが、ユーザが使用する端末装置に表示される。
図２０は、トップページの一例を示す図である。トップページ６０には、コンテンツ６１，６２が表示されている。各コンテンツ６１，６２の下には、コンテンツ６１，６２に含まれる、ユーザが興味を有する話題に関するキーワードを示すラベル６３，６４が表示されている。さらにトップページ６０には、サイト全体のラベル６５が表示されている。なおトップページ６０内のコンテンツ６１，６２は、内容の一部だけが表示さている。
【０１１４】
トップページ６０に表示されているいずれかのラベルがユーザにより選択されると、端末装置の画面は、選択されたラベルが付与された１以上のコンテンツを含むページに切り換えられる。またトップページ６０に表示されたいずれかのコンテンツが選択されると、選択されたコンテンツの詳細を表示する画面に、端末装置の画面が切り換えられる。
【０１１５】
図２１は、コンテンツの詳細表示例を示す図である。コンテンツ表示ページ７０には、選択されたコンテンツ７１の全体が表示される。コンテンツ７１内のテキスト内のラベル７２が強調表示される。図２１の例では、ラベル７２が実線の矩形で囲われている。
【０１１６】
また、コンテンツ７１を段落ごとに分割して得られた分割文書７３に対応するラベル７４も強調表示される。図２１の例では、段落ごとに分割して得られた分割文書に対応するラベル７４は、破線の矩形で囲われている。ラベル７４を含む段落についても、破線の矩形で囲うことで強調表示されている。
【０１１７】
さらに、コンテンツ７１を文ごとに分割して得られた分割文書７５に対応するラベル７６も強調表示される。図２１の例では、文ごとに分割して得られた分割文書に対応するラベル７６は、一点鎖線の矩形で囲われている。ラベル７６を含む文についても、一点鎖線の矩形で囲うことで強調表示されている。
【０１１８】
なお図２１の例では、ラベルの種別の違いを強調表示の線種の違いで表しているが、色の違いで表してもよい。
以上のようにして、様々な単位の分割文書に分割した結果を考慮してラベルを決定することで、ユーザの興味のある話題のキーワードがコンテンツ内に局所的に存在する場合でも、そのキーワードが上位になるようなスコアリングが可能となる。その結果、ユーザの興味に合わせた適切なラベルを、コンテンツに付与することができる。
【０１１９】
また、第２の実施の形態では、コンテンツを複数の分割パターンで分解している。これにより、ユーザの興味を示す内容の文書の長さが不統一で、長い文書や短い文書が混在する場合であっても、その文書と同程度の長さの分割文書を作成することができる。その結果、同程度の長さの文書同士のクラスタリングにより、類似関係の判断精度を高め、その結果をコンテンツに対するキーワードのスコアに反映させることができる。
【０１２０】
〔第３の実施の形態〕
次に、第３の実施の形態について説明する。第３の実施の形態は、ユーザが興味を持つ話題が含まれた文書（興味対象文書）がツイートのような短い文書ではなく、長い文書の場合を想定したものである。第３の実施の形態では、興味対象文書についても分割する。以下、第３の実施の形態における第２の実施の形態との相違点について説明する。
【０１２１】
図２２は、興味対象文書の長さと内容に応じた分割の要否判断例を示す図である。第１のケースは、第２の実施の形態と同様に、興味対象文書が短い場合である。このように興味対象文書内のテキスト量が少なく、興味対象文書が話題ごとに分かれている場合、コンテンツを分割することで、共通の話題の興味対象文書または分割文書同士を同じクラスタにクラスタリングできる。
【０１２２】
第２のケースは、興味対象文書がコンテンツと同等かそれ以上に長く、興味対象文書が話題ごとに分かれている場合である。この場合も第１のケースと同様に、コンテンツを分割することで、共通の話題の興味対象文書または分割文書同士を同じクラスタにクラスタリングできる。
【０１２３】
第３のケースは、興味対象文書がコンテンツと同等かそれ以上に長く、興味対象文書の一部にユーザが興味を有する話題を含んでいる場合である。この場合、興味対象文書には、ユーザが興味を有していない話題も含まれている。またクラスタリング時には、文章量の正規化が行われることが多い。文章量の正規化とは、文章量の違いによるが類似性の判定への影響を抑止するため、文章量に応じて、その文章に含まれるキーワードの重要度の値を調整する処理である。文章量が長い興味対象文書を正規化すると、ユーザが興味を有する部分のキーワードの重要度が下がってしまう。その結果、興味対象文書と、コンテンツ側のユーザが興味を有する話題に関する分割文書との類似度が下がってしまう。そこで、第３のケースでは、コンテンツだけでなく、興味対象文書についても分割することで、コンテンツ内から適切なラベルを抽出することが可能となる。
【０１２４】
なお第３のケースに相当する興味対象文書としては、例えばユーザが作成したブログなどがある。以下、興味対象文書がブログの場合を例にとり、第３の実施の形態におけるラベル決定処理について説明する。
【０１２５】
図２３は、第３の実施の形態に係る特徴抽出装置の機能を示すブロック図である。第３の実施の形態に係る特徴抽出装置１００ａは、第２の実施の形態と異なる機能として、ユーザ集合作成部１１１ａ，ユーザ文書収集部１１２ａ、ユーザ元文書記憶部１３０ａ、およびユーザ文書分割部１１２ｂを有する。なお第３の実施の形態に係る特徴抽出装置１００ａのハードウェア構成は、図２に示した第２の実施の形態の特徴抽出装置１００のハードウェア構成と同様である。
【０１２６】
ユーザ集合作成部１１１ａは、特徴抽出装置１００ａにアクセスしたユーザのうち、ブログへの書き込みを行ったユーザに関する情報（ユーザＩＤとブログのアカウント名）を、ユーザ集合記憶部１２０に格納する。
【０１２７】
ユーザ文書収集部１１２ａは、ユーザのブログの記事をサーバから収集する。ユーザ文書収集部１１２ａは、収集したブログの記事の集合を、ユーザ元文書記憶部１３０ａに格納する。
【０１２８】
ユーザ元文書記憶部１３０ａは、ユーザのブログの記事を記憶する。例えば特徴抽出装置１００ａが有するメモリ１０２またはＨＤＤ１０３の記憶領域の一部が、ユーザ元文書記憶部１３０ａとして使用される。
【０１２９】
ユーザ文書分割部１１２ｂは、ユーザのブログ記事を、複数の分割パターンで分割する。ユーザ文書分割部１１２ｂは、分割して得られた文書を、ユーザ文書記憶部１３０に格納する。
【０１３０】
なお、図２３に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図２３に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【０１３１】
次に、第３の実施の形態におけるラベル決定処理の手順について説明する。
図２４は、第３の実施の形態におけるラベル決定処理の手順を示すフローチャートである。図２４に示す処理のうちステップＳ３０１，Ｓ３０２，Ｓ３０６〜Ｓ３０８，Ｓ３１１〜Ｓ３１６の処理は、図１３に示した第２の実施の形態の処理のステップＳ１０１，Ｓ１０２、Ｓ１０４〜Ｓ１０６，Ｓ１０９〜Ｓ１１４の処理と同様である。以下第２の実施の形態と異なるステップＳ３０３〜Ｓ３０５，Ｓ３０９，Ｓ３１０について説明する。
【０１３２】
［ステップＳ３０３］ユーザ文書収集部１１２ａは、選択したユーザのブログをサーバから取得する。ユーザ文書収集部１１２は、取得したブログの一日分ずつの記事（ブログ記事Ｂ）の集合をユーザ元文書記憶部１３０ａに格納する。
【０１３３】
［ステップＳ３０４］ユーザ文書分割部１１２ｂは、ユーザ元文書記憶部１３０ａから各ブログ記事Ｂに含まれるテキストＢorigを抽出する。
［ステップＳ３０５］ユーザ文書分割部１１２ｂは、抽出したテキストそれぞれを、複数の分割パターンで分割し、分割パターンごとのユーザ分割文書集合Ｂj（ｊは分割バターンを示す番号であり、ｊ＝０，１，２・・・）を得る。ユーザ文書分割部１１２ｂは、得られたユーザ分割文書集合Ｂjを、ユーザ文書記憶部１３０に格納する。
【０１３４】
以下、ステップＳ３０６〜Ｓ３０８で、コンテンツの取得、および分割が行われる。
［ステップＳ３０９］キーワード抽出部１１５は、ユーザ分割文書集合Ｂjと分割文書集合Ｓjそれぞれからキーワードを抽出し、キーワード集合を得る。
【０１３５】
［ステップＳ３１０］クラスタリング部１１６は、ユーザ分割文書集合Ｂjと分割文書集合とのペア（Ｂj，Ｓj）の集合（ペア集合）を生成する。
その後、第２の実施の形態と同様に、例えばＬＤＡを用いたクラスタリングが行われ、ペアごとに、キーワードのスコアリングが行われる。すべてのペアで求められたスコアをキーワードごとに合計した結果が、コンテンツに対する各キーワードのスコアとなる。そして、スコアの上位からＮ個のキーワードが、コンテンツのラベルとなる。
【０１３６】
このようにして、ユーザの興味を示す文書の内容が長く、ユーザが興味を有する話題以外の話題も含んでいる場合であっても、ユーザの興味と一致する部分から抽出したキーワードをコンテンツのラベルとすることができる。そして、コンテンツ内にユーザの興味を引く記載があることを、ユーザに正しく提示することができる。
【０１３７】
なお、上記の第２・第３の実施の形態では、ユーザが作成したツイートやブログを、そのユーザの興味がある文書としたが、ユーザが頻繁にアクセスするサイトの文書などの他の文書を、ユーザの興味がある文書としてもよい。
【０１３８】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１３９】
１  第１の文書
１ａ〜１ｇ  分割文書
２ａ〜２ｃ  第２の文書
３  ユーザ
４  端末装置
５  画面
６  ラベル
１０  特徴抽出装置
１１  記憶部
１２  演算部
【図１】
2016045552.tif 000006
【図２】
2016045552.tif 000007
【図３】
2016045552.tif 000008
【図４】
2016045552.tif 000009
【図５】
2016045552.tif 000010
【図６】
2016045552.tif 000011
【図７】
2016045552.tif 000012
【図８】
2016045552.tif 000013
【図９】
2016045552.tif 000014
【図１０】
2016045552.tif 000015
【図１１】
2016045552.tif 000016
【図１２】
2016045552.tif 000017
【図１３】
2016045552.tif 000018
【図１４】
2016045552.tif 000019
【図１５】
2016045552.tif 000020
【図１６】
2016045552.tif 000021
【図１７】
2016045552.tif 000022
【図１８】
2016045552.tif 000023
【図１９】
2016045552.tif 000024
【図２０】
2016045552.tif 000025
【図２１】
2016045552.tif 000026
【図２２】
2016045552.tif 000027
【図２３】
2016045552.tif 000028
【図２４】
2016045552.tif 000029