(58)【調査した分野】(Int.Cl.,DB名)
それぞれ所定の値と対応付けられた複数の文書の中から、前記所定の値に応じて選択される確率が変動する方法により1つの文書を選択文書候補として選択する第1の文書選択手段と、
前記選択文書候補を選択文書として選択するか否かを、既に選択された前記選択文書である既選択文書と前記選択文書候補との類似性に基づいて判断する第2の文書選択手段と、を有し、
前記第2の文書選択手段は、前記類似性が高いほど前記選択文書候補が選択される確率が小さくなる方法により、前記選択文書候補を前記選択文書として選択するか否かの判断を行う
ことを特徴とする、情報処理装置。
前記類似度算出手段が算出した前記類似度が所定の閾値を超えた場合に、前記選択文書候補を、前記類似度の算出の対象にした前記既選択文書の類似文書とする制御手段を有し、
前記第2の文書選択手段は、前記選択文書候補が前記類似文書であると判断された場合に前記選択文書候補を選択しないことを特徴とする、請求項3に記載の情報処理装置。
前記類似文書を、該類似文書との類似度が前記所定の閾値を超えたと判断された前記既選択文書とまとめて表示する表示制御手段を有することを特徴とする、請求項4に記載の情報処理装置。
【発明を実施するための形態】
【0015】
図1に、本実施形態のネットワーク構成例を示す。
図1に示すように、本実施形態においては、インターネットなどのネットワークを介して、情報処理装置100とクラウド上のサーバ200がデータ通信を行う。ネットワークの形態に限定はない。情報処理装置100は、パーソナルコンピュータ(以下、主として「PC」と呼ぶ)、スレート型PC、タブレット型PC、スマートフォン、携帯型情報端末(Personal Digital Assistance: PDA)などのパーソナルデバイスである。PCの形態として据え置き型とノートブック型を例示しているが、限定するものではない。
【0016】
種々のサービスを提供するサーバであるクラウド上のサーバ200としては、例えば、広告配信サーバ201、コンテンツ配信サーバ202、SNS(ソーシャルネットワーキングサービス)サーバ203、交流サーバ204などがある。各サーバは複数存在してもよい。図にはコンテンツ配信サーバ202が複数存在する場合の例を示している。
【0017】
広告配信サーバ201は、多数の広告をプールしておき、情報処理装置100のユーザの興味に沿った広告を配信する。SNSサーバ203、交流サーバ204は、ユーザアカウント同士がリンクで繋がり、現実の友人関係をリンクで表すことができるようになっている。サービスの種類に特に限定はないので、情報処理装置100がその他サーバ205と通信可能であってもよい。交流サーバ204の例としては、200文字以内などの比較的短い文章を投稿できるサービスを提供するサーバなどがある。これらのサーバには、CGI(Common Gateway Interface)などのウェブテクノロジを使って、文章を投稿できるサービスを提供するサーバが含まれてもよい。
【0018】
コンテンツ配信サーバ202は、情報処理装置100が表示等を行うコンテンツを情報処理装置100に配信するサーバである。コンテンツ配信サーバ202の具体例としては種々のものが考えられるが、例えば、HTTPサーバが一典型例である。また、配信するコンテンツとしては、文章、静止画像、動画像、音声等を含みうる。この実施形態では、説明例として、RSS(RSS Site Summery)の形式で情報処理装置100にコンテンツを送信するHTTPサーバの場合を考える。
【0019】
本実施形態では、文書の具体例として、RSSにより配信されるニュース記事を取り上げ、類似する記事を見つけ出し、これらをまとめて提示する処理が行われる。
【0020】
図2に、本実施形態のハードウェア&ソフトウェア構成例を示す。図示の例では、情報処理装置100は、演算処理装置110、一次記憶装置111、二次記憶装置112を持つ。その他に入出力装置として、表示出力を行う表示装置113、通信装置114、音声入力装置115、音声出力装置116を持つ。
【0021】
一次記憶装置111は、揮発性の記憶装置であり作業メモリとして用いる。二次記憶装置112は、不揮発性の記憶装置であり、オペレーティングシステム(以下、OS)120、情報収集アプリケーション121、そのSNS用プラグイン122、文書蓄積手段123が格納されている。
【0022】
これらのソフトウェアプログラムが、演算処理装置110により起動され、一次記憶装置111に展開されることによって、後述するような機能を提供する各機能ブロックを構成する。なお、各機能ブロックは、インストールされているソフトウェアプログラムではなくSaaS(Software as a Service)により提供されてもよい。図示のハードウェア&ソフトウェア構成例は発明が実施可能であることを説明するための一例である。
【0023】
情報収集アプリケーション121は、ユーザが情報処理装置100を用いてクラウド上のサーバ200から情報を収集するための統合アプリケーションである。ここで言う情報とは、広告配信サーバ201が配信する広告、コンテンツ配信サーバ202が配信するコンテンツ、SNSサーバ203が送信するSNSに関するコンテンツなどを含む。情報収集アプリケーション121は、取得収集した情報を統合しマッシュアップした上で表示装置113に表示させる。また、音声情報を得た場合は音声出力装置116に出力させる。
【0024】
SNS用プラグイン122は、情報収集アプリケーション121のプラグインである。ソーシャルネットワーキングサービスは、サービスを利用する際に用いる、専用のAPIインターフェースを提供していることがあり、SNS用プラグイン122はこのようなSNSサーバ203と情報収集アプリケーション121のアプリケーション間通信を確立させるための小規模なプログラムである。
【0025】
図3と
図4に情報収集アプリケーション121により生成されるユーザインターフェース画面の例を示す。
図3は、情報収集アプリケーション121のメイン画面例である。
図3において、当該メイン画面は、情報収集アプリケーション121がクラウド上のサーバ200から取得収集してきた情報の要約を「タイル」と呼ばれる矩形の枠に示している。例えば、ニュース記事を収集してきたものであれば、タイルに示す要約は画像とニュースのタイトルなどから自動的に生成する。
【0026】
図3のメイン画面で、ユーザが詳細情報を得るためにタイルをクリックすると、
図4に示すような詳細情報を表示する画面へと遷移する。
図4は、情報収集アプリケーション121が備えるニュースリーダ機能により提供される画面である。このような画面は、RSSを解析してRSS中に含まれる情報やリンクをたどって得られる情報などに基づいて自動的に生成される。
【0027】
なお、メイン画面は、ニュースのみならず、SNS用プラグイン122が取得するSNSの更新情報や、広告配信サーバ201から配信される広告もタイルに表示し、タイムラインに沿って新鮮な情報を常に表示するようにする。なお、収集した情報をジャンルやカテゴリに分けて分類し、分類ごとに表示するように構成してもよい。
【0028】
情報収集アプリケーション121が収集する情報は、多種に及び、また大量である。例えばニュース記事の場合、複数の配信元から多数の記事を取得する。そのうちの限られた一部だけが、メイン画面に表示される。そのため、取得した全記事から類似した記事(例えば、複数の報道機関が同じ事件を報道した記事など)をまとめ、さらに
図3のタイルにまとめられた記事の件数を表示するようにする。このようにすると、限られた記事表示スペースに多種の記事が表示される可能性が高まり、また、まとめられた記事件数が示されるので、社会的注目度の高い記事であることが一目で分かるようになる。
【0029】
このような提示機能を提供するために、本実施形態は、
図5に示す各手段を備える。図示の各手段は、
図2に示したハードウェアをソフトウェアプログラムが利用して行う情報処理によってもたらされるものである。
【0030】
図5に示すように、情報処理装置100は、レコメンドエンジン102、第1の文書選択手段103、類似度算出手段104、第2の文書選択手段105、表示制御手段106、設定取得手段107を有する制御部101と、文書蓄積手段123とを備える。以下、各手段の機能を簡単に説明する。
【0031】
設定取得手段107は、主に
図6を参照しながら説明する処理に用いる各種パラメータや設定を、別のプロセスや記憶装置等から制御部101に入力する。本実施形態では、特に、選択する文書の最大数mを取得する。選択する文書の数mは、メイン画面(
図3)に表示するタイルの数であり、文書を提示する枠の数である。
【0032】
レコメンドエンジン102は、注目度分析フィルタと興味分析フィルタという2つのフィルタを用いて、世の中で話題になっているニュース記事や、ユーザ自身の興味に基づいて取捨選択したニュース記事を推薦する機能を備える。本実施形態においては、第1の文書選択手段103がレコメンドエンジン102の機能を利用して、文書蓄積手段123に記憶されている多数の文書の中から文書を選択する。
【0033】
本実施形態では、多数の文書の中からいくつかの文書を選択して提示する一連の処理において、2段階に分けて文書の選択を行い、最終的に選択する文書を決定する。
図5の第1の文書選択手段103は、1段階目の選択処理を行う。一方で、2段階目の選択処理は、第2の文書選択手段105によって実行される。
【0034】
第1の文書選択手段103が実行する1段階目の選択処理としては、例えば製品のPR記事を優先的に選択するといった恣意的な方法を含む種々の方法を用いることができる。しかしながら、何らかの確率的な方法により選択が行われることが好ましい。確率的な方法により1段階目の選択が行われると、最終的な選択結果も文書の内容が多様になるからである。
【0035】
また、社会的に注目されている出来事を一目で分かるようにして提示するという本実施形態の趣旨や、ユーザの興味のある情報を収集して提示するという情報収集アプリケーション121の本来の目的に照らすと、さらに好ましくは、文書毎に所定の値を対応づけ、対応づけた所定の値に応じて選ばれる確率が変動するようにした上で、n個の中からいずれか1つの文書を選択する。例えば、n個の全文書のそれぞれについて、レコメンドエンジン102により、社会的な注目度やユーザの興味度など、何らかの基準に基づいて定められるスコア(推薦度)を算出しておき、高いスコアのものが選ばれやすくなるような確率的な手法により文書を選択する。
【0036】
なお、この1段階目の選択処理の計算処理コストは、すべての文書同士の類似度計算に比べて十分に軽いことが好ましい。
【0037】
類似度算出手段104は、文書に含まれる全特徴単語(名詞など)からなる単語ベクトルを用いて、2つの文書同士の類似度を算出する機能を備える。特に本実施形態では、1段階目の選択処理により選択された文書(選択文書候補)と、既に2段階目の選択処理により選択された文書(既選択文書)との類似度を計算する。なお、この類似度計算では、既選択文書のすべてとの類似度を計ることが好ましい。
【0038】
第2の文書選択手段105は、類似度算出手段104による算出結果に基づいて、1段階目の選択処理により選択された文書を、選択するか否かを判断する。また、この判断に基づいて、選択する場合は最終的に選択する文書としてピックアップする(2段階目の選択処理)。
【0039】
ここで、第2の文書選択手段105は、既に選択されてピックアップされている文書との類似度が高いと判断された文書がピックアップされにくくなるようにする。この処理の詳細については、
図7及び
図8を参照する際に詳述する。なお、類似度算出手段104の算出結果は、第2の文書選択手段105のみならず、制御部101も利用する。制御部101は、(すべてではなく)ある特定の既選択文書との類似度が所定の閾値よりも高い選択文書候補については、「類似文書」とする処理を行う。
【0040】
表示制御手段106は、ピックアップされた文書を提示する機能を備える。表示制御手段106は、設定取得手段107により取得された表示枠の設定(タイルの数)を参照し、タイルの数だけ選択された文書の要約等を表示し、
図3に示したような画面を生成し、表示装置113に生成した画面を表示させる。
【0041】
次に、
図6を参照して、多くの文書の中から類似する文書を見つけ出し、まとめて提示するという本実施形態の処理の流れを詳細に説明する。
【0042】
まず、タイルの枠内に要約を表示させる文書の数、すなわち、ピックアップするべき文書の総数m個のうち、1つ目の文書については、類似する文書の有無等については考慮せずにピックアップする(S101)。この場合、まず第1の文書選択手段103がレコメンドエンジン102の推薦に基づいて文書を選択し、この選択された文書については第2の文書選択手段105による選択するかしないかの考慮をしない。
【0043】
以下、m個の文書を選択する処理を行う。この処理は繰り返し処理になる(S102〜S111)。m個目の文書の選択が終了すると、表示制御手段106が、選択されたm個の文書を提示する処理を行う(S112)。
【0044】
繰り返し処理においては、まず、第1の文書選択手段103がp個目(pは作業変数)に選択される文書の候補としてレコメンドエンジン102の推薦に基づいて文書を一つ選択する(S103)。S103で選択された文書が「選択文書候補」である。選択文書候補はS111で破棄され、ループの先頭に戻る場合はまた新しい選択文書候補を選択する。
【0045】
図6のフローにおいては、ここで2段階目の選択処理の前に、選択文書候補が既選択文書のいずれかの類似文書であるか否かを確認する処理を行う。まず、類似度算出手段104がこの選択文書候補と、これまでにピックアップしているp−1個の文書の各々との類似度を計算する(S104)。
【0046】
次に、選択文書候補と既選択の文書との類似度が所定の閾値を超えたものがあるか否かを制御部101が判定する(S105)。この判定で閾値を超えたものがあると判定された場合は(S105,Yes)、その選択文書候補を、当該既選択の文書の「類似文書」とする(S106)。そして、S111へ移る。この場合では、pのインクリメントは行われていないので、もう一度p番目の文書を選択するために、1段階目の選択処理からやり直すことになる。すなわち、ループの先頭に戻り新しい選択文書候補を選び直す。
【0047】
選択文書候補と各既選択文書との類似度の中に、所定の閾値を超えたものがない場合は(S105,No)、次に、第2の文書選択手段105が選択文書候補と全既選択文書との類似性に基づいて、当該選択文書候補をピックアップするか否かを判断する(S107)。この判断は、S104で既に求めたp−1個の文書との類似度の合成関数、例えば合計値や平均値や最大値を求め、類似性が高いほど選択確率が小さくなる確率的な手法により行い、第2の文書選択手段105は当該選択文書候補をピックアップするか否かを判定する。
【0048】
図7と
図8に、この2段階目の選択処理(ピックアップ処理)で用いる確率的な選択方法を説明するための概念図を示す。
図7にはp=5の場合が示されており、m個のタイルに表示するべき文書をピックアップする処理に際して、5番目のタイルに表示する文書の候補と、それまでに既にピックアップされている1番目から4番目の文書との類似度Sを算出し、Sの合計(ΣS)を取ることが示されている。
【0049】
そして
図8に示すように、2段階目の選択処理は、p番目に選択される文書の候補とそれまでに既に選択された文書との類似度との合計値が高ければ高いほど、選択される可能性が低くなるように行われる。なお、合計値と選ばれやすさの相関がどのようなものであるかについては限定しない。例えば、図中で例示した相関関係のAでもBでもよい。また、
図8に示した類似度の合計(総和)は、「文書候補と既選択の文書との類似性」の一実施例である。
【0050】
再び
図6を参照する。第2の文書選択手段105によるS107の判断の結果、選択すると判断された場合(S108,Yes)、第2の文書選択手段105が選択文書候補を実際の選択文書としてピックアップし(S109)、pをインクリメントして(S110)、ループの終了条件を確認する(S111)。
【0051】
一方で、2段階目の選択処理の結果、選択しないと判断された場合(S108,No)、pのインクリメントは行わず、もう一度p番目の文書を選択するために、1段階目の選択処理からやり直す。
【0052】
ループを抜けると、表示制御手段106が、S109の2段階目の選択処理で選択された文書の提示を行う(S112)。この際、表示制御手段106は、S106においていずれかの既選択文書の「類似文書」とされた文書を、その既選択文書とまとめて提示することが好ましい。提示の具体的態様は、
図3に示したようにまとめられた文書の総数をタイルの隅などに表示するなどの方法がある。
【0053】
上述の実施形態によれば、多くの文書の中から所定の数の文書を選択する処理が高速、且つ、選択された文書の内容が多様になるようにすることができる。
従来であれば、多くの文書同士の類似度をあらかじめ計算し、提示の際に類似度が高いものをまとめることが一般的であった。この場合、全ての文書同士の類似度を計算する必要があり、総文書数をnとすると、n×n/2回の類似度計算をする必要がある。しかしながら、類似度計算は通常重い処理であり、時間がかかる。同時並行的に処理してもよいが、コンピュータリソースを多く使う。特に、nが大きくなるにつれて指数関数的に類似度計算の計算処理コストが大きくなる。
【0054】
しかしながら、上記実施形態によれば、選択処理を2段階に分け、選択文書候補との類似度計算は、既に選択された文書とだけ行う。そのため、既選択文書の各々と類似度計算を行う場合、類似度計算は最小でm×m回、最大でもm×n回の計算で済む。全文書の組み合わせでの類似度を求めるのに比べて、大幅に計算量を減らすことができる。さらに既選択文書全体と選択文書候補との類似性を判断する場合は、さらに計算量を減らすことができる。
【0055】
また、上記実施形態では、2段階目の選択処理において、既選択文書との類似性が低い選択文書候補が積極的にピックアップされるので、最終的に選択された文書の内容が多様になる可能性が高まる。しかもそのための処理が、全ての文書のペアの類似度を算出しておき、類似度の低いペアを組み合わせて所定の数の文書を取り出すというような従来の方法に比べて、高速に行われる。
【0056】
文書同士の類似度を算出する方法としては、特徴単語からなる単語ベクトルの内積を求める方法が精度がよいという点で好ましい。この場合、本実施形態のようにレコメンドエンジン102の推薦に基づいて確率的な方法で文書の一つを選択する処理(1段階目の選択処理)は、このベクトル類似度計算よりも十分に軽い計算処理コストを持つ処理であることが好ましい。
【0057】
このような処理としては、例えば、レコメンドエンジン102があらかじめ文書毎の推薦度を算出しておき、次に、推薦度の高い文書であるほど高い選択確率となるようにして、第1の文書選択手段103がランダムに選択するという処理がよい。このように、類似度計算が重く、これに比較して選択処理が十分に軽い処理であり、また、文書の総数nに比して、選択する文書の総数mが十分に小さい場合、本実施形態による処理の高速化は、効果的なものとなる。
【0058】
また、既に述べたように、類似度算出手段104による類似度の算出は、1つの選択文書候補に対して前記既選択文書との類似度の算出が終わると、次の選択文書候補に対して前記既選択文書との類似度の算出を行うというように、シリアル(順々に)に行われる。必要最低限のコンピュータリソースを用いて、高速に処理を行うことができる。
また、ピックアップする最初の1つ目については、類似度計算をする対象がないので類似度計算を行わず、第1の文書選択手段103により選択された文書がそのままピックアップされる。このことも、処理の高速化に寄与する。
【0059】
なお、上記実施形態においては、表示制御手段106による表示制御は、m個の文書が全て選択されてから表示を行うようにしていたが(S112)、第2の文書選択手段105によるピックアップ処理が終わった時点で次の文書の選択処理を行うのと平行して、選択された文書について表示制御手段106による表示制御を行ってもよい。この場合、表示までの体感時間が短縮されるという効果がある。