(57)【特許請求の範囲】
【請求項１】
複数の文書の中から１つの文書を選択文書候補として選択する第１の文書選択手段と、
既に選択した既選択文書と前記選択文書候補との類似度を算出する類似度算出手段と、
前記類似度に応じて前記選択文書候補を前記類似度の算出の対象にした前記既選択文書の類似文書とするか否かを決定するとともに、前記第１の文書選択手段に次の選択文書候補を選択させる制御手段と、
を備える情報処理装置であって、
前記第１の文書選択手段は、各文書に対して算出される推薦度に基づき、高い推薦度を有する文書が高い選択確率となるようにして、ランダムに１つの文書を選択することを特徴とする、情報処理装置。
【請求項２】
算出された前記類似度に基づいて前記選択文書候補を実際に選択するか否かを判断する第２の文書選択手段を備え、
前記既選択文書は、前記第２の文書選択手段により選択すると判断された文書であることを特徴とする、請求項１に記載の情報処理装置。
【請求項３】
前記第２の文書選択手段は、前記選択文書候補と前記既選択文書との類似性が高い場合に選択しないと判断することを特徴とする、請求項２に記載の情報処理装置。
【請求項４】
前記類似度算出手段は、類似度の算出をシリアルに行うことを特徴とする、請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
情報処理装置における情報処理方法であって、
複数の文書の中から各文書に対して算出される推薦度に基づき、高い推薦度を有する文書が高い選択確率となるようにして、ランダムに１つの文書を選択する第１の文書選択ステップと、
既に選択した既選択文書と前記選択文書候補との類似度を算出する類似度算出ステップと、
前記類似度に応じて前記選択文書候補を前記類似度の算出の対象にした前記既選択文書の類似文書とするか否かを決定するとともに、前記第１の文書選択ステップに戻り、前記第１の文書選択ステップにて次の選択文書候補を選択させる制御ステップと、
を含むことを特徴とする、情報処理方法。
【請求項６】
コンピュータを、
複数の文書の中から各文書に対して算出される推薦度に基づき、高い推薦度を有する文書が高い選択確率となるようにして、ランダムに１つの文書を選択する第１の文書選択手段と、
既に選択した既選択文書と前記選択文書候補との類似度を算出する類似度算出手段と、
前記類似度に応じて前記選択文書候補を前記類似度の算出の対象にした前記既選択文書の類似文書とするか否かを決定するとともに、前記第１の文書選択手段に次の選択文書候補を選択させる制御手段として機能させることを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、方法及びプログラムに関し、特に、多くの文書の中から類似する文書を見つけ出し、まとめて提示する処理の高速化に関する。
【背景技術】
【０００２】
コンピュータにより文書の類似を判定する情報処理は、従来、種々の方法が考案されてきた。よく知られている方法としては、文書に含まれる全特徴単語（名詞など）からなる単語ベクトルを用いて、ベクトル類似度計算を行う方法がある。
【０００３】
例えば、特許文献１には、あるテキストを、該テキストが帰属するカテゴリに分類するためにテキストに含まれる単語に基づく特徴ベクトルを生成することが記載されている。２つのテキストが類似するか否かは、それぞれのテキストの特徴ベクトルの内積から計算することができる。
【０００４】
この方法は、類似するか否かを確認する文書が２個の場合だけでなく、ｎ個の場合であっても使える。ｎ個の文書に対して、互いに類似する文書であることを確認するために、ｎ×ｎ／２回の類似度計算を行えばよい。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４５６９３８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、類似性を判断したい文書の数が膨大なものになると、計算量は爆発的に増える。特徴ベクトルを用いた類似度計算は、比較的重い処理であり、全ての文書同士の類似度を求めると計算コストが大きい。
【０００７】
例えば、パーソナルコンピュータや、パッド状デバイス、スマートフォン、ファブレットなどのパーソナルデバイスでは、処理能力が比較的限定されている。特許文献１のようにインターネット上のサーチエンジンのように潤沢な計算機リソースを利用できることを前提とすることはできない。
【０００８】
また、パーソナルデバイスでは、ユーザ操作からデバイスのレスポンスまでの速さや、アプリケーションの起動からユーザ操作が可能になるまでの速さなど、総合的／体感的なレスポンススピードが速いことも重視される。本願は、このようなパーソナルデバイスにおいて、類似する文書同士をまとめて一つのグループとするような情報処理の処理速度の向上を試みる。
【０００９】
本発明は、上述のような諸課題に鑑みてなされたものであって、多くの文書の中からいくつかの読むべき文書をユーザに提示する際に、類似する文書を見つけ出し、まとめて提示する処理を高速に実行可能にすることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成する本発明の一態様は、複数の文書の中から１つの文書を選択文書候補として選択する第１の文書選択手段と、既に選択した既選択文書と前記選択文書候補との類似度を算出する類似度算出手段と、前記類似度に応じて前記選択文書候補を前記類似度の算出の対象にした前記既選択文書の類似文書とするか否かを決定するとともに、前記第１の文書選択手段に次の選択文書候補を選択させる制御手段と、を備える情報処理装置であって、前記第１の文書選択手段は、各文書に対して算出される推薦度に基づき、高い推薦度を有する文書が高い選択確率となるようにして、ランダムに１つの文書を選択することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、多くの文書の中からいくつかの読むべき文書をユーザに提示する際に、類似する文書を見つけ出し、まとめて提示する処理を高速に実行可能にすることができる。これにより、類似文書を何度も読むべきか判定することなく効率的に読むべき文書を判断していくことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明による実施形態のネットワーク構成例を示す図である。
【図２】上記実施形態のハードウェア＆ソフトウェア構成例を示す図である。
【図３】図２のソフトウェアにより提供されるＵＩ画面例を示す図（その１）である。
【図４】図２のソフトウェアにより提供されるＵＩ画面例を示す図（その２）である。
【図５】上記実施形態の機能ブロック図である。
【図６】上記実施形態の処理手順を示すフローチャートである。
【図７】図５の第２の文書選択手段１０５によるピックアップ処理を説明するための図（その１）である。
【図８】図５の第２の文書選択手段１０５によるピックアップ処理を説明するための図（その２）である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態を説明する。
【００１４】
図１に、本実施形態のネットワーク構成例を示す。図１に示すように、本実施形態においては、インターネットなどのネットワークを介して、情報処理装置１００とクラウド上のサーバ２００がデータ通信を行う。ネットワークの形態に限定はない。情報処理装置１００は、パーソナルコンピュータ（以下、主として「ＰＣ」と呼ぶ）、スレート型ＰＣ、タブレット型ＰＣ、スマートフォン、携帯型情報端末（Personal Digital Assistance: PDA）などのパーソナルデバイスである。ＰＣの形態として据え置き型とノートブック型を例示しているが、限定するものではない。
【００１５】
種々のサービスを提供するサーバであるクラウド上のサーバ２００としては、例えば、広告配信サーバ２０１、コンテンツ配信サーバ２０２、ＳＮＳ（ソーシャルネットワーキングサービス）サーバ２０３、交流サーバ２０４などがある。各サーバは複数存在してもよい。図にはコンテンツ配信サーバ２０２が複数存在する場合の例を示している。
【００１６】
広告配信サーバ２０１は、多数の広告をプールしておき、情報処理装置１００のユーザの興味に沿った広告を配信する。ＳＮＳサーバ２０３、交流サーバ２０４は、ユーザアカウント同士がリンクで繋がり、現実の友人関係をリンクで表すことができるようになっている。サービスの種類に特に限定はないので、情報処理装置１００がその他サーバ２０５と通信可能であってもよい。交流サーバ２０４の例としては、２００文字以内などの比較的短い文章を投稿できるサービスを提供するサーバなどがある。これらのサーバには、ＣＧＩ（Common Gateway Interface）などのウェブテクノロジを使って、文章を投稿できるサービスを提供するサーバが含まれてもよい。
【００１７】
コンテンツ配信サーバ２０２は、情報処理装置１００が表示等を行うコンテンツを情報処理装置１００に配信するサーバである。コンテンツ配信サーバ２０２の具体例としては種々のものが考えられるが、例えば、ＨＴＴＰサーバが一典型例である。また、配信するコンテンツとしては、文章、静止画像、動画像、音声等を含みうる。この実施形態では、説明例として、ＲＳＳ（RSS Site Summery）の形式で情報処理装置１００にコンテンツを送信するＨＴＴＰサーバの場合を考える。
【００１８】
本実施形態では、文書の具体例として、ＲＳＳにより配信されるニュース記事を取り上げ、類似する記事を見つけ出し、これらをまとめて提示する処理が行われる。
【００１９】
図２に、本実施形態のハードウェア＆ソフトウェア構成例を示す。図示の例では、情報処理装置１００は、演算処理装置１１０、一次記憶装置１１１、二次記憶装置１１２を持つ。その他に入出力装置として、表示出力を行う表示装置１１３、通信装置１１４、音声入力装置１１５、音声出力装置１１６を持つ。
【００２０】
一次記憶装置１１１は、揮発性の記憶装置であり作業メモリとして用いる。二次記憶装置１１２は、不揮発性の記憶装置であり、オペレーティングシステム（以下、ＯＳ）１２０、情報収集アプリケーション１２１、そのＳＮＳ用プラグイン１２２、文書蓄積手段１２３が格納されている。
【００２１】
これらのソフトウェアプログラムが、演算処理装置１１０により起動され、一次記憶装置１１１に展開されることによって、後述するような機能を提供する各機能ブロックを構成する。なお、各機能ブロックは、インストールされているソフトウェアプログラムではなくＳａａＳ（Software as a Service）により提供されてもよい。図示のハードウェア＆ソフトウェア構成例は発明が実施可能であることを説明するための一例である。
【００２２】
情報収集アプリケーション１２１は、ユーザが情報処理装置１００を用いてクラウド上のサーバ２００から情報を収集するための統合アプリケーションである。ここで言う情報とは、広告配信サーバ２０１が配信する広告、コンテンツ配信サーバ２０２が配信するコンテンツ、ＳＮＳサーバ２０３が送信するＳＮＳに関するコンテンツなどを含む。情報収集アプリケーション１２１は、取得収集した情報を統合しマッシュアップした上で表示装置１１３に表示させる。また、音声情報を得た場合は音声出力装置１１６に出力させる。
【００２３】
ＳＮＳ用プラグイン１２２は、情報収集アプリケーション１２１のプラグインである。ソーシャルネットワーキングサービスは、サービスを利用する際に用いる、専用のＡＰＩインターフェースを提供していることがあり、ＳＮＳ用プラグイン１２２はこのようなＳＮＳサーバ２０３と情報収集アプリケーション１２１のアプリケーション間通信を確立させるための小規模なプログラムである。
【００２４】
図３と図４に情報収集アプリケーション１２１により生成されるユーザインターフェース画面の例を示す。図３は、情報収集アプリケーション１２１のメイン画面例である。図３において、当該メイン画面は、情報収集アプリケーション１２１がクラウド上のサーバ２００から取得収集してきた情報の要約を「タイル」と呼ばれる矩形の枠に示している。例えば、ニュース記事を収集してきたものであれば、タイルに示す要約は画像とニュースのタイトルなどから自動的に生成する。
【００２５】
図３のメイン画面で、ユーザが詳細情報を得るためにタイルをクリックすると、図４に示すような詳細情報を表示する画面へと遷移する。図４は、情報収集アプリケーション１２１が備えるニュースリーダ機能により提供される画面である。このような画面は、ＲＳＳを解析してＲＳＳ中に含まれる情報やリンクをたどって得られる情報などに基づいて自動的に生成される。
【００２６】
なお、メイン画面は、ニュースのみならず、ＳＮＳ用プラグイン１２２が取得するＳＮＳの更新情報や、広告配信サーバ２０１から配信される広告もタイルに表示し、タイムラインに沿って新鮮な情報を常に表示するようにする。なお、収集した情報をジャンルやカテゴリに分けて分類し、分類ごとに表示するように構成してもよい。
【００２７】
情報収集アプリケーション１２１が収集する情報は、多種に及び、また大量である。例えばニュース記事の場合、複数の配信元から多数の記事を取得する。そのうちの限られた一部だけが、メイン画面に表示される。そのため、取得した全記事から類似した記事（例えば、複数の報道機関が同じ事件を報道した記事など）をまとめ、さらに図３のタイルにまとめられた記事の件数を表示するようにする。このようにすると、限られた記事表示スペースに多種の記事が表示される可能性が高まり、また、類似文書を何度も読むべきか判定することなく効率的に読むべき文書を判断していくことができる。さらに、まとめられた記事件数が示されるので、メディア側の注目度の高い記事であることが一目で分かるようになる。
【００２８】
このような提示機能を提供するために、本実施形態は、図５に示す各手段を備える。図示の各手段は、図２に示したハードウェアをソフトウェアプログラムが利用して行う情報処理によってもたらされるものである。
【００２９】
図５に示すように、情報処理装置１００は、レコメンドエンジン１０２、第１の文書選択手段１０３、類似度算出手段１０４、第２の文書選択手段１０５、表示制御手段１０６、設定取得手段１０７を有する制御部１０１と、文書蓄積手段１２３とを備える。以下、各手段の機能を簡単に説明する。
【００３０】
設定取得手段１０７は、主に図６を参照しながら説明する処理に用いる各種パラメータや設定を、別のプロセスや記憶装置等から制御部１０１に入力する。本実施形態では、特に、選択する文書の最大数ｍを取得する。選択する文書の数ｍは、メイン画面（図３）に表示するタイルの数であり、文書を提示する枠の数である。
【００３１】
レコメンドエンジン１０２は、注目度分析フィルタと興味分析フィルタという２つのフィルタを用いて、世の中で話題になっているニュース記事や、ユーザ自身の興味に基づいて取捨選択したニュース記事を推薦する機能を備える。本実施形態においては、第１の文書選択手段１０３がレコメンドエンジン１０２の機能を利用して、文書蓄積手段１２３に記憶されている多数の文書の中から文書を選択する。
【００３２】
本実施形態では、多数の文書の中からいくつかの文書を選択して提示する一連の処理において、２段階の選択を行う。第１の文書選択手段１０３は、１段階目の選択処理を行う。１段階目の選択処理においては、例えば、ｎ個の全文書のそれぞれについて、レコメンドエンジン１０２によりスコア（推薦度）を算出しておき、高いスコアのものが選ばれやすくなるような確率的な手法により文書を選択する。
【００３３】
なお、この１段階目の選択処理の計算処理コストは、すべての文書同士の類似度計算に比べて十分に軽いことが好ましい。また、１段階目の選択処理は、スコア（推薦度）から高いものから順に選ぶというような確率的とは言えない方法によって行ってもよい。
【００３４】
類似度算出手段１０４は、文書に含まれる全特徴単語（名詞など）からなる単語ベクトルを用いて、２つの文書同士の類似度を算出する機能を備える。特に本実施形態では、１段階目の選択処理により選択された文書と、既に２段階目の選択処理により選択された文書との類似度を計算する。
【００３５】
第２の文書選択手段１０５は、類似度算出手段１０４による算出結果に基づいて、１段階目の選択処理により選択された文書を、選択するか否かを判断する。また、この判断に基づいて、選択する場合は２段階目の選択処理を行う。この２段階目の選択処理を「ピックアップ処理」と呼ぶ場合もある。
【００３６】
なお、類似度算出手段１０４により、既に選択されてピックアップされている文書との類似度が高いと判断された文書は、ピックアップされにくくなるようにする。この際は、第２の文書選択手段１０５が確率的な手法でピックアップされにくくする。
【００３７】
表示制御手段１０６は、ピックアップされた文書を提示する機能を備える。表示制御手段１０６は、設定取得手段１０７により取得された表示枠の設定（タイルの数）を参照し、タイルの数だけ選択された文書の要約等を表示し、図３に示したような画面を生成し、表示装置１１３に生成した画面を表示させる。
【００３８】
次に、図６を参照して、多くの文書の中から類似する文書を見つけ出し、まとめて提示するという本実施形態の処理の流れを詳細に説明する。
【００３９】
まず、タイルの枠内に要約を表示させる文書の数、すなわち、ピックアップするべき文書の総数ｍ個のうち、１つ目の文書については、類似する文書の有無等については考慮せずにピックアップする（Ｓ１０１）。この場合、まず第１の文書選択手段１０３がレコメンドエンジン１０２の推薦に基づいて文書を選択し、この選択された文書については第２の文書選択手段１０５による選択するかしないかの考慮をしない。
【００４０】
以下、ｐ番目にピックアップする文書の選択処理を行う。この処理は繰り返し処理になる（Ｓ１０２〜Ｓ１１１）。ｍ番目の文書の選択が終了すると、表示制御手段１０６が、選択されたｍ個の文書を提示する処理を行う（Ｓ１１２）。
【００４１】
繰り返し処理においては、まず、第１の文書選択手段１０３がｐ番目に選択される文書の候補としてレコメンドエンジン１０２の推薦に基づいて文書を一つ選択する（Ｓ１０３）。Ｓ１０３で選択された文書を、このループ内では「選択文書候補」と呼ぶ。次に、類似度算出手段１０４がこの選択文書候補と、これまでにピックアップしているｐ−１個の文書との類似度をそれぞれ計算する（Ｓ１０４）。
【００４２】
次に、選択文書候補と既選択の文書との類似度が所定の閾値を超えたものがあるか否かを制御部１０１が判定する（Ｓ１０５）。この判定で閾値を超えたものがあると判定された場合は、その選択文書候補を、当該既選択の文書の「類似文書」とする（Ｓ１０６）。そして、Ｓ１１１へ移る。この場合では、ｐのインクリメントは行われていないので、もう一度ｐ番目の文書を選択するために、１段階目の選択処理からやり直すことになる。
【００４３】
選択文書候補と既選択の文書との類似度が所定の閾値を超えたものがない場合は（Ｓ１０５，Ｎｏ）、第２の文書選択手段１０５が選択文書候補を選択するか否かを判断する（Ｓ１０７）。この判断は、Ｓ１０４で既に求めたｐ−１個の文書との類似度の合成関数、例えば合計値や平均値や最大値を求め、類似性が高いほど選択確率が小さくなる確率的な手法により行い、第２の文書選択手段１０５は当該選択文書候補をピックアップするか否かを判定する。
【００４４】
図７と図８に、この２段階目の選択処理（ピックアップ処理）で用いる確率的な選択の手法の概念図を示す。図７にはｐ＝５の場合が示されており、ｍ個のタイルに表示するべき文書をピックアップする処理に際して、５番目のタイルに表示する文書の候補と、それまでに既にピックアップされている１番目から４番目の文書との類似度Ｓを算出し、Ｓの合計を取ることが示されている。
【００４５】
そして図８に示すように、２段階目の選択処理は、ｐ番目に選択される文書の候補とそれまでに既に選択された文書との類似度との合計値が高ければ高いほど、選択される可能性が低くなるように行われる。なお、合計値と選ばれやすさの相関がどのようなものであるかについては限定しない。例えば、図中で例示した相関関係のＡでもＢでもよい。
【００４６】
なお、図７に示した類似度の合計（総和）は、文書候補と既選択の文書との類似性の一実施例である。既選択の文書の１つとの類似度Ｓが所定の閾値を超えて突出して高いような場合にも当該文書候補が選択されにくくなるようにしてもよい。
【００４７】
再び図６を参照する。２段階目の選択処理の結果、選択すると判断された場合（Ｓ１０８，Ｙｅｓ）、第２の文書選択手段１０５が選択文書候補を実際の選択文書としてピックアップし（Ｓ１０９）、ｐをインクリメントして（Ｓ１１０）、ループの終了条件を確認する（Ｓ１１１）。
【００４８】
一方で、２段階目の選択処理の結果、選択しないと判断された場合（Ｓ１０８，Ｎｏ）、ｐのインクリメントは行わず、もう一度ｐ番目の文書を選択するために、１段階目の選択処理からやり直す。
【００４９】
ループを抜けると、表示制御手段１０６が選択された文書の提示を行う（Ｓ１１２）。この際、Ｓ１１０で「類似文書」とされた文書を、類似度の高い文書とまとめて提示することが好ましい。提示の具体的態様は、図３に示したようにまとめられた文書の総数をタイルの隅などに表示するなどの方法がある。
【００５０】
上述の実施形態によれば、多くの文書の中からいくつかの読むべき文書をユーザに提示する際に、類似する文書を見つけ出し、まとめて提示する処理を高速に実行可能にすることができる。これにより、情報処理装置１００は、類似文書を何度も読むべきか判定することなく効率的に読むべき文書を判断していくことができる。
【００５１】
従来であれば、多くの文書同士の類似度をあらかじめ計算し、提示の際に類似度が高いものをまとめることが一般的であった。この場合、全ての文書同士の類似度を計算する必要があり、総文書数をｎとすると、ｎ×ｎ／２回の類似度計算をする必要がある。しかしながら、類似度計算は通常重い処理であり、時間がかかる。同時並行的に処理してもよいが、コンピュータリソースを多く使う。特に、ｎが大きくなるにつれて指数関数的に類似度計算の計算処理コストが大きくなる。
【００５２】
しかしながら、上記実施形態によれば、選択処理を２段階に分け、選択文書候補との類似度計算は、既に選択された文書とだけ行う。そのため、類似度計算は最小でｍ×ｍ回、最大でもｍ×ｎ回の計算で済む。全文書の組み合わせでの類似度を求めるのに比べて、大幅に計算量を減らすことができる。
【００５３】
文書同士の類似度を算出する方法としては、特徴単語からなる単語ベクトルの内積を求める方法が精度がよいという点で好ましい。この場合、本実施形態のようにレコメンドエンジン１０２の推薦に基づいて確率的な方法で文書の一つを選択する処理（１段階目の選択処理）は、このベクトル類似度計算よりも十分に軽い計算処理コストを持つ処理であることが好ましい。
【００５４】
このような処理としては、例えば、レコメンドエンジン１０２があらかじめ文書毎の推薦度を算出しておき、次に、推薦度の高い文書であるほど高い選択確率となるようにして、第１の文書選択手段１０３がランダムに選択するという処理がよい。このように、類似度計算が重く、これに比較して選択処理が十分に軽い処理であり、また、文書の総数ｎに比して、選択する文書の総数ｍが十分に小さい場合、本実施形態による処理の高速化は、効果的なものとなる。
【００５５】
また、既に述べたように、類似度算出手段１０４による類似度の算出は、１つの選択文書候補に対して前記既選択文書との類似度の算出が終わると、次の選択文書候補に対して前記既選択文書との類似度の算出を行うというように、シリアル（順々に）に行われる。必要最低限のコンピュータリソースを用いて、高速に処理を行うことができる。
また、ピックアップする最初の１つ目については、類似度計算をする対象がないので類似度計算を行わず、第１の文書選択手段１０３により選択された文書がそのままピックアップされる。このことも、処理の高速化に寄与する。
【００５６】
なお、上記実施形態においては、表示制御手段１０６による表示制御は、ｍ個の文書が全て選択されてから表示を行うようにしていたが（Ｓ１１２）、第２の文書選択手段１０５によるピックアップ処理が終わった時点で次の文書の選択処理を行うのと平行して、選択された文書について表示制御手段１０６による表示制御を行ってもよい。この場合、表示までの体感時間が短縮されるという効果がある。
【符号の説明】
【００５７】
１００    情報処理装置
１０１    制御部
１０２    レコメンドエンジン
１０３    第１の文書選択手段
１０４    類似度算出手段
１０５    第２の文書選択手段
１０６    表示制御手段
１０７    設定取得手段
１２１    情報収集アプリケーション
１２３    文書蓄積手段
【図１】
0006050800.tif 000002
【図２】
0006050800.tif 000003
【図３】
0006050800.tif 000004
【図４】
0006050800.tif 000005
【図５】
0006050800.tif 000006
【図６】
0006050800.tif 000007
【図７】
0006050800.tif 000008
【図８】
0006050800.tif 000009