(58)【調査した分野】(Int.Cl.,DB名)
前記全体タームクラスタ特定手段は、前記抽出された単語の前記全体タームクラスタごとの出現頻度と、前記一次元データベースに記憶された全体タームクラスタごとの出現頻度と、の相関を算出し、前記算出された相関が最もポジティブなタームクラスタを前記全体タームクラスタとして特定する、
ことを特徴とする請求項1に記載の情報処理システム。
前記キーワード選定手段は、前記特定された全体タームクラスタに属する前記タームと、前記ユーザデータベースのうち、前記特定された全体タームクラスタと同タームクラスタに属する前記タームと、の比率に基づいて、前記キーワードを選定する、
ことを特徴とする請求項1、または2に記載の情報処理システム。
【背景技術】
【0002】
従来より、商品名や所定のキーワードに基づいて、ユーザの興味度が高いと推定されるコンテンツ情報を提供するというレコメンド技術が存在する。従来のレコメンド技術は、ユーザが過去に閲覧したドキュメントの情報を蓄積しておき、ドキュメントに含まれるタームのうち、出現頻度の高いタームをキーワードとして検索されたコンテンツを提供するものである。近年では、ユーザが過去に閲覧したドキュメントを基に、ドキュメントの属するジャンルと、ドキュメント内のタームと、をクラスタ化したデータベースを生成し、そのデータベースを基にユーザの嗜好にマッチするキーワードからコンテンツを提供できる技術が開示されている。
【0003】
ユーザが過去に閲覧したドキュメント内に含まれる単語をキーワードとするだけでは、真にユーザの嗜好にマッチするコンテンツの検索を行うに不十分であるといえる。近年のレコメンド技術は、ユーザが過去に閲覧したドキュメントを、ドキュメントの属するジャンルと、ドキュメント内のタームと、をクラスタ化することで、現在ユーザが閲覧しているドキュメントのジャンル、およびユーザの嗜好にマッチした商品やサービスのカテゴリから適切なコンテンツを提供できる点で注目されている。
【0004】
しかし、過去に閲覧したドキュメントの情報からドキュメントとタームと、をそれぞれクラスタ化した二次元データベースを生成すると、情報量が膨大となり、データベースを生成し、ユーザの興味度が高いと推定されるキーワードを選定する一連の処理を行う際の負担が大きくなり、機器のパフォーマンスが低下するという問題が生じている。
【0005】
そこで、ユーザの興味度の高いキーワードを選定する際に、機器の演算処理時間の短縮と、機器のメモリ容量の低減するニーズが高まっている。例えば、ドキュメントのジャンルと、ドキュメントに出現する単語であるタームとのどちらか一方をクラスタ化した一次元のデータベースからユーザの興味度が高いワードをキーワードとして選定する方法が考えられる。クラスタ化する情報をドキュメントのジャンル、タームのジャンルのどちらか一方に限定することで、データベースとして保有する機器のメモリ容量の低減と、機器の演算処理時間の短縮が期待できる。
【0006】
つまり、従来のレコメンド技術の性能を保ちつつ、機器の保有する情報量の低減と、レコメンド処理負担を低減することができる技術が求められている。
【0007】
特許文献1では、コンテンツ情報をWEBサイト等から取得し、コンテンツ情報に関連するキーワードを抽出し、そのキーワードと、該コンテンツ情報に属するカテゴリに関連する追加ワードと、の2つの検索ワードを抽出し、その検索ワードに基づくコンテンツを提供するというレコメンド技術が公開されている。
【0008】
コンテンツ情報に関連するキーワードを抽出するという点では本願に似ているが、WEBサイトから取得したコンテンツ情報に含まれる膨大なデータ量は機器の内部に記憶されていき、それに伴い機器のパフォーマンスが低下してしまうという問題点は解決できていない。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について詳細に説明する。
【0015】
本実施形態の情報処理システムのハードウェア構成について
図1を用いて説明する。尚、情報処理システムの構成は、
図1に示したものと必ずしも同じ構成である必要はなく、本実施形態を実現できるハードウェアを備えていればそれで十分である。
【0016】
サーバ1は、所定のプログラムを実行することにより、サーバ1の全体の制御を行う処理部101と、通信I/F102と、記憶部103と、検索部104と、を備えている。
【0017】
サーバ1の通信I/F102は、サーバ1をネットワーク301に接続し、情報の送受信を行う。通信I/F102は、具体的にはUSBポートやLANポート、無線LANポートなどがあり、外部の機器とデータの送受信が行えればどのようなものでも構わない。
【0018】
サーバ1の記憶部103は、各種データを不揮発に記憶する。各種データは、通信I/F102によりネットワーク301から受信されるものであってもよく、他の機器から受信されるものであってもよい。具体的には、HDDなどの不揮発記憶装置により構成が可能となる。
【0019】
サーバ1の検索部104は、通信I/F102がネットワーク301経由で受け付ける検索要求に応じて検索を実行し、検索結果を要求元に送信する。ここでの検索は検索要求に含まれるキーワードと所定の関連を有する情報の特定である。サーバ1自体の有するデータだけでなく、サーバ1とは別の情報保有装置に要求して行わせることも可能である。
【0020】
情報処理装置2は、所定のプログラムを実行することにより、情報処理装置2の全体の制御を実現するためのCPU201と、情報処理装置2の電源が投入されたときにCPU201が読出すプログラムを記憶する読出専用メモリ(Read Only Memory(ROM))202と、CPU201が作業用メモリとして使用するランダム・アクセス・メモリ(Random Access Memory(RAM))203と、情報処理装置2の電源が切断されたときに種々のデータの記録を保持することが可能なHDD204と、マウスや入力キーで構成される入力装置205と、液晶、および有機ELなどのパネルを用いたディスプレイを備えた表示装置206と、を備えている。
【0021】
また、情報処理装置2は、記憶部207と、通信I/F208を更に備えている。通信I/F208は、ネットワーク301を介して接続されている。情報処理装置2は、ユーザの操作によってネットワーク301経由でアクセス可能な各種情報にアクセスするものであり、パーソナルコンピュータやタブレット端末、スマートフォンなどが該当するが、これに限られるものではない。
【0022】
情報処理装置2の記憶部207は、各種データを不揮発に記憶する。各種データは、通信I/F208によりネットワーク301から受信されるものであってもよく、他の機器から受信されるものであってもよい。具体的にはHDDなどの不揮発記憶装置などがあるがこれに限定されない。
【0023】
情報処理装置2の通信I/F208は、ネットワーク301に接続し、情報の送受信を行う。通信I/F208は、具体的にはUSBポートやLANポート、無線LANポートなどがあり、外部の機器とデータの送受信が行えればどのようなものでも構わない。
【0024】
図2は、本発明の実施形態にかかる情報処理システムの機能ブロック図である。
図2に示すように、本発明にかかる情報処理システムは、サーバ1が、二次元データベース手段10と、一次元データベース生成手段11と、一次元データベース伝送手段12と、を備えており、情報処理装置2は、ユーザデータベース手段20と、単語抽出手段21と、全体タームクラスタ特定手段22と、キーワード選定手段23と、コンテンツ取得手段24と、を備えている。
【0025】
サーバ1の二次元データベース手段10は、例えば
図4に示したようなデータベースを記憶する。
図4は、ネットワーク経由でアクセス可能なドキュメントを、タームの出現傾向が類似するドキュメントでグループ化したドキュメントクラスタ(横軸方向)と、ドキュメント内で出現傾向が類似するタームをグループ化したタームクラスタ(縦軸方向)で構成されるデータベースである。二次元データベース手段10は、ドキュメント全体での出現回数より、ドキュメントクラスタごとのタームの出現割合を算出して記憶する。
【0026】
二次元データベースについての詳細を説明する。
図4に示すように、ドキュメントに出現するタームを、ドキュメントに対する出現傾向が類似するタームと、ドキュメントとでグループ化した表としてデータを記憶している。ここでのドキュメントとは、ソーシャルサイトに関連する記事など全てのユーザがサイト上で閲覧可能な全体ドキュメントを指している。ドキュメント成分で見てみると、タームクラスタ「サッカー」に属するタームは、ドキュメントクラスタBで高い出現頻度となっていることがわかる。つまり、ドキュメントクラスタBはサッカーに関連するドキュメントが集められたものであると言える。
【0027】
ドキュメントに出現するタームの出現傾向の類似度を判断し、クラスタ化するクラスタ化データベースの生成方法としては、例えば、K-meansなどの非階層的手法や、ウォード法、重心法、メディアン法などの階層的手法などが挙げられるが、データの集まりをデータ間の類似度(あるいは非類似度)に従って、いくつかのグループに分けることができればこれらの手法に限定されない。
【0028】
二次元データベース手段10は、例えば記憶部103に所定のデータを記憶するとともに、処理部101で所定のデータベース管理プログラムを実行することにより実施可能である。
サーバ1の一次元データベース生成手段11は、記憶された二次元データベースより、タームと、全体出現頻度と、を前記全体ドキュメントにおける出現傾向が類似するタームとでグループ化した全体タームクラスタごとに記憶された一次元データベースを生成する。
【0029】
本発明では、従来のレコメンドシステムで考えられていた
図4の二次元データベースより、ドキュメント、つまり記事のジャンルでグループ化されていたドキュメント成分を排除して、タームクラスタ成分のみでグループ化された一次元のデータベースを生成する手法を提案する。尚、上記手法におけるクラスタ化を行うことにより、ドキュメント成分を排除しても、タームクラスタ成分でクラスタ化されているため、タームクラスタで各々のタームの出現傾向、および出現頻度を読み取ることができ、ユーザの嗜好を反映したキーワードを選定することが十分に可能であると判断できる。
【0030】
二次元データベースより一次元、つまりドキュメント成分を排除した一次元のデータベースの生成した一例として
図5(a)に示すようなものがある。
図5の(a)では、タームクラスタ成分は「サッカー」、「政治」などのタームの集合体であるタームクラスタが縦軸に並べられているが、ドキュメント成分は「全体ドキュメント」、つまりドキュメントクラスタA〜Dの合計としての項目のみを反映するようにしている。例えば「FCバルセロナ」というタームの回数は2,500となっているが、これは記憶されているデータベースの全ドキュメントで出現する回数である。
【0031】
図5(a)では、簡略化のためタームクラスタを4つのタームでまとめたものとしている。まず、
図3のようなドキュメントをユーザが閲覧していると考える。閲覧しているドキュメントに出現するタームは、「バルセロナFC」、「クリスティアーノ・ロナウド」を始めとして、
図5(a)の記事内での出現回数に記載されている通りの内容でドキュメント内に出現している。
【0032】
「FCバルセロナ」というタームは、タームクラスタでは「サッカー」という塊の中に属しているということが
図5(a)からも読み取ることができる。ドキュメント成分である記事のジャンルは排除されていても、自ずとタームクラスタ「サッカー」にはサッカーに関連するタームを集約させることが可能となる。データベースの容量としても、ドキュメント成分の排除により大きな低減が期待できる。
【0033】
一次元データベース生成手段11は、例えば記憶部103に所定のデータを記憶するとともに、処理部101で所定のデータベース管理プログラムを実行することにより実施可能である。
【0034】
一次元データベース伝送手段12は、生成された一次元データベースを情報処理装置、つまりクライアントPCなどへ伝送する。
【0035】
一次元データベース伝送手段12は、例えば、処理部101で所定のデータベース管理プログラムを実行し、通信I/F102よりネットワーク301を介して実施可能である。
【0036】
情報処理装置2のユーザデータベース手段20は、ユーザドキュメントに出現する単語である前記タームと、前記ユーザドキュメントに出現する全タームに対する前記タームのユーザ出現頻度と、を前記ユーザドキュメントにおける出現傾向が類似する前記タームでグループ化したユーザタームクラスタごとに記憶する。全体データベースは全体ドキュメントから生成されたものであったのに対し、ユーザデータベースはユーザが過去に閲覧したドキュメントから生成されるという点で異なっている。
【0037】
ユーザデータベースの一例として、
図6のようなものが考えられる。ユーザドキュメントは、ユーザが過去に閲覧したドキュメントの集合体として定義することができ、
図4の二次元データベースと同様の形式でデータベース化され、記憶される。全体データベースの生成方法は、例えば、K-meansなどの非階層的手法や、ウォード法、重心法、メディアン法などの階層的手法などが挙げられるが、データの集まりをデータ間の類似度(あるいは非類似度)に従って、いくつかのグループに分けることができればこれらの手法に限定されない。
【0038】
ユーザデータベース手段20は、例えば記憶部207に所定のデータを記憶するとともに、CPU201で所定のデータベース管理プログラムを実行することにより実施可能である。
【0039】
情報処理装置2の単語抽出手段21は、指定されたドキュメントから単語を抽出する。ここで指定されたドキュメントとは、対応づけられたテキストを有するコンテンツであり、例えば今現在ユーザが閲覧しているニュース記事が記載されたWebページなどであり、
図3に示したようなものをいう。ここで指定とは、複数の対象から選択することを言い、選択はユーザが行ってもよいし、所定のアルゴリズムに従って情報処理装置が行ってもよい。
【0040】
単語の抽出は、例えば指定されたドキュメントに対応するテキストの形態素解析により可能である。単語抽出手段21は、CPU201で所定のデータベース管理プログラムを実行することにより実施可能である。
【0041】
情報処理装置2の全体タームクラスタ特定手段は、抽出された単語に基づいて、指定されたドキュメントと類似度が高い前記全体タームクラスタを特定する。尚、情報処理装置2は、サーバ1より一次元データベース生成手段で生成された一次元データベースを、例えば、通信I/F208よりネットワーク301を介して受信することが可能となっており、受信した一次元データベースは記憶部207などに記憶しておき、ユーザが必要となるタイミングなどで読み出しが可能となっている。
【0042】
図3の指定されたドキュメントから「バルセロナFC」、「クリスティアーノ・ロナウド」という単語が3回、「レアルマドリード」、「サポーター」という単語が2回、また、「安部晋三」という単語が1回抽出されたとき、
図3のドキュメントと最も類似性の高いタームクラスタを、
図5(a)に例示したデータの中から特定することを考える。
【0043】
まず、
図3の閲覧ドキュメントに出現する単語で、一次元データベース生成手段11により生成されたデータベースに出現するタームに該当するものの出現割合を算出することを考えてみる。前記説明したとおり、閲覧ドキュメントに出現する単語で、一次元データベースに該当するものは、「バルセロナFC」と「クリスティアーノ・ロナウド」が3回、「レアルマドリード」、「サポーター」が2回、「安部晋三」が1回であることから、出現する単語の回数は11回である。
【0044】
次に、出現回数の合計11回から、それぞれのタームの出現割合を算出すると、「バルセロナFC」、「クリスティアーノ・ロナウド」は0.27、「レアルマドリード」、「サポーター」は0.18、「安部晋三」は0.09とそれぞれ算出することができる。これが、一次元データベースに該当するタームをベースとした閲覧ドキュメントに出現する単語の出現割合となる。
【0045】
次に、一次元データベースに記憶されている各タームの出現割合と、閲覧ドキュメントに出現する単語の出現割合との相関を算出する。この相関は、全体ドキュメントのタームに対して、閲覧ドキュメントに出現する単語の強弱、つまり、そのタームクラスタに属する単語がどのくらいポジティブなものであるかを測る指標として見ることができる。算出した相関がよりポジティブな値(大きな値)を示すほど、ユーザの興味度が高いものであると言うことができる。
【0046】
相関の算出方法としては、例えば、閲覧ドキュメントに出現する単語の出現割合における一次元データベースのタームの出現割合のLOG対数を取ることで算出することができる。閲覧ドキュメントに出現する単語の出現割合を分子に取り、一次元データベースのタームの出現割合を分母に取り、LOG対数を取ると、単純に閲覧ドキュメントに出現する単語の割合が大きいほどポジティブな値として算出されることになる。全体タームクラスタの特定においては、一次元データベース全体に対するタームクラスタごとの出現割合と、閲覧ドキュメントに出現する単語のタームクラスタごとの出現割合の相関を算出し、この算出された相関がより大きいタームクラスタを特定する。
【0047】
全体タームクラスタ特定手段22は、CPU201が所定のプログラムを実行することにより実施可能である。
【0048】
キーワード選定手段23は、特定されたタームクラスタに属する前記タームよりキーワードを選定する。例えば特定されたタームクラスタにおいて出現頻度が高いタームを、キーワードとして選定することができる。また、あるタームに対して、全体ドキュメントによるデータから特定されたタームクラスタと、ユーザドキュメントによるデータから特定されたユーザデータベースのユーザタームクラスタと、で出現頻度を比較し、ユーザタームクラスタによる出現頻度が高いものを選定することもできる。
【0049】
指定されたドキュメントから「バルセロナFC」、「クリスティアーノ・ロナウド」、「レアルマドリード」、「サポーター」、「安部晋三」が抽出され、このドキュメントに関連するタームクラスタとして、「サッカー」が特定されることは
図5で説明したとおりである。特定されたタームクラスタである「サッカー」からユーザの興味度が高いワードをキーワーとして選定する場合を考える。
【0050】
図7は、各タームクラスタに属するタームの、全体データベースにおける出現頻度と、ユーザデータベースにおける出現頻度と、の相関関係を示している。例えば、全体データベースにおける出現頻度が低いが、ユーザデータベースにおける出現頻度が高い場合は強い相関を示し、ユーザ固有の興味度が高いワードと見ることが可能であり、ユーザに推奨するキーワードとしては好適であるといえる。
【0051】
このときのタームクラスタ「サッカー」において、強い相関を示しているワードは「クリスティアーノ・ロナウド」であり、全体データベースでは、タームクラスタ「サッカー」に属するワードの中で出現頻度が高いものは「バルセロナFC」であるが、
図7のユーザデータベースとの相関関係を算出することでユーザ固有の興味度が高いとされる「クリスティアーノ・ロナウド」というワードをキーワードとして選定することが可能となる。
【0052】
キーワード選定手段23は、CPU201が所定のプログラムを実行することにより実施可能である。
【0053】
コンテンツ取得手段24は、選定されたキーワードに関連するコンテンツをネットワークから取得する。キーワードに関連するコンテンツの取得は、例えばネットワーク301を介して接続される検索サーバ等にキーワードとともに検索要求を送信し、検索サーバ等からキーワードと所定の関連を有する情報である検索結果を受信することによって実行される。コンテンツ取得手段は、CPU201が所定のプログラムを実行し、必要に応じて通信I/F208がネットワーク301を介した通信を行うことで実施可能である。
【0054】
コンテンツは、表示装置206を介して画面のドキュメントと別の領域に表示してもよいし、ドキュメント内に追加して表示してもよい。また、ドキュメントが一画面に収まり切らない場合に、コンテンツを一画面に収まり切っていないドキュメントの領域に追加して表示してもよい。この場合、コンテンツはスクロール操作により初めてユーザに視認可能となるが、そうであってもユーザは、そのコンテンツがドキュメントと関連して表示されていることを容易に把握することができる。
【0055】
次に、
図8を参照して本実施形態の情報処理システムを実行する処理の流れを説明する。
図8は、本発明の実施形態にかかる情報処理システムの処理に関するフローチャートである。
【0056】
まず、サーバ1の処理に関するフローについて説明する。記憶されている二次元データベースから一次元データベースを生成する(ステップ1)。一次元データベースの生成に関しては、例えば定期的に基データである二次元データベースを更新する際などに、同じタイミングで生成してもよいし、ユーザから生成の指令を受けて生成してもよい。
【0057】
生成した一次元データベースを情報処理装置2、つまりユーザが保持するPCなどに伝送する(ステップ2)。一次元データベースを伝送するタイミングとしては、ユーザが指令を出してもよいし、またユーザがネットワークを介してドキュメントを閲覧したタイミングなどでもよい。
【0058】
次に、情報処理装置2の処理について説明する。サーバ1より伝送された一次元データベースを受信する(ステップ3)。指定されたドキュメントから単語を抽出する(ステップ4)。次に抽出された単語に基づいて、指定されたドキュメントと類似度の高いタームクラスタを受信した一次元データベースより特定する(ステップ5)。尚、類似度の高さは、閲覧ドキュメントに出現する単語の出現割合と一次元データベースのタームの出現割合から算出することが可能である。
【0059】
特定されたタームクラスタの情報と、ユーザデータベースの情報を用いて、指定されたドキュメントに関連するキーワードの選定を行う(ステップ6)。尚、キーワードを選定の際は、特定されたタームクラスタと、タームクラスタに該当するユーザタームクラスタに属するタームの相関関係から、ユーザに好適なタームをキーワードとして選定することができる。相関の強いワードをキーワードとしてもよいし、その他、選出基準を別途設けて、その選出基準に従って選出してもよい。
【0060】
次に、選出したキーワードに関連するコンテンツをネットワークから取得する(ステップ7)。更に取得したコンテンツを指定されたドキュメントと共に表示する(ステップ8)。
【0061】
以上のような処理を実行することにより、レコメンド機能を実現する際に使用する機器が備えるデータベースの情報量を低減しても、従来と同等のレコメンド機能を提供できることが可能となる。
【0062】
従来、X方向のドキュメントクラスタ、およびY方向のタームクラスタをそれぞれ備えた二次元型のデータベースの生成方法としては、例えば、X方向のクラスタリングとY方向のクラスタリングを交互に行うことでデータベースを生成している。双方向のクラスタリングを交互に行うことで、特定のドキュメントのクラスタに特定のタームが集中的に出現したデータベースが出来上がる。
【0063】
特定のドキュメントクラスタに特定のタームが集中的に出現することで、どのドキュメントクラスタにどのタームクラスタが対応しているかの関係性が明確になる。つまり、あるドキュメントクラスタに対応するタームクラスタに出現するタームは、対応するドキュメントクラスタ以外のドキュメントクラスタに出現する出現頻度は微々たるものであると言える。また、特徴単語(名詞、固有名詞など)以外の所謂一般単語(助詞、助動詞、時系列にかかる単語など)は、全てのドキュメントクラスタにおいて多く出現する可能性が高いため、予めクラスタリングの際はこれらの一般単語は除外しておくことが好ましい。
【0064】
以上の点に着目して、本願発明は、上記の二次元型のクラスタデータベースから、片一方(本願ではX方向)のドキュメントクラスタを全て包含する全体ドキュメントとして一次元型(Y方向のタームクラスタのみ)のデータベースとした。あるドキュメントクラスタに対応するタームクラスタに出現するタームは、対応するドキュメントクラスタ以外のドキュメントクラスタに出現する出現頻度は微々たるものであるため、本願で提案する一次元型のデータベースでも二次元型のデータベースと同様のレコメンドパターンを実現することができる。また、二次元型から一次元型への変更に伴い、データ容量の大幅な削減を実現でき、装置のパフォーマンス向上も期待できる。
【0065】
本願発明を実現できるような構成であれば、用いる装置の具備する内容、および装置の数量などは本実施例に限定されない。
【0066】
実施形態変更の1例として、
図8の情報処理システムのフローにおいて、情報処理装置2の処理低減のために、例えばステップ1からステップ7までの処理を全てサーバ1側で行わせることが可能である。勿論ステップ1からステップ7までの処理をサーバ側で行わせるか、情報処理装置側で行わせるかを組み合わせて構成させることが可能であることは言うまでもない。情報処理装置側で行わせる処理の負担を低減することが目的である本発明を考えた際には、できるだけ多くの処理をサーバ側で行わせるよう構成させることが理想的であると言える。