(57)【要約】【課題】ＳＮＳサイト等においても、対象ユーザの嗜好に合った情報を提供することを課題とする。【解決手段】情報推薦システム１００のサーバ装置１０は、情報群にアクセスしたユーザに関する情報と、該ユーザが前記情報群に入力した情報の内容とを記憶部１３に格納する。そして、サーバ装置１０は、記憶部１３に記憶されたユーザに関する情報と前記情報群に入力した情報の内容とを用いて、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、情報群ごとにそれぞれ特徴量を算出する。そして、サーバ装置１０は、算出された特徴量に基づいて、ユーザが過去にアクセスしていない情報群のなかからユーザに推薦する情報群を特定し、該情報群を推薦する旨の情報をユーザ端末２０に出力する。【選択図】        図２
2014006778.tif 000002
【特許請求の範囲】
【請求項１】
情報群にアクセスしたユーザに関する情報と、該ユーザが前記情報群に入力した情報の内容とを記憶部に格納する格納部と、
前記記憶部に記憶されたユーザに関する情報と前記情報群に入力した情報の内容とを用いて、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、情報群ごとにそれぞれ特徴量を算出する算出部と、
前記算出部によって算出された特徴量に基づいて、ユーザが過去にアクセスしていない情報群のなかからユーザに推薦する情報群を特定し、該情報群を推薦する旨の情報をユーザ端末に出力する出力部と、
を備えることを特徴とする情報推薦システム。
【請求項２】
前記算出部によって算出された各情報群の特徴量と、前記ユーザの特徴量とを用いて、各情報群がユーザに適合する度合いを示す適合度を計算する計算部をさらに備え、
前記出力部は、前記情報群を推薦する旨の情報をユーザ端末に出力するとともに、前記算出部によって算出された適合度も出力することを特徴とする請求項１に記載の情報推薦システム。
【請求項３】
各情報群に対してユーザが過去にアクセスした頻度を教師情報として、前記適合度の計算に用いられるユーザの特徴量を学習する学習部をさらに備えることを特徴とする請求項２に記載の情報推薦システム。
【請求項４】
情報推薦装置で実行される情報推薦方法であって、
情報群にアクセスしたユーザに関する情報と、該ユーザが前記情報群に入力した情報の内容とを記憶部に格納する格納工程と、
前記記憶部に記憶されたユーザに関する情報と前記情報群に入力した情報の内容とを用いて、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、情報群ごとにそれぞれ特徴量を算出する算出工程と、
前記算出工程によって算出された特徴量に基づいて、ユーザが過去にアクセスしていない情報群のなかからユーザに推薦する情報群を特定し、該情報群を推薦する旨の情報をユーザ端末に出力する出力工程と、
を含んだことを特徴とする情報推薦方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報推薦システムおよび情報推薦方法に関する。
【背景技術】
【０００２】
近年、電子商取引（ＥＣ：Electronic  Commerce）サイト等において、ユーザの嗜好、興味に合致する情報を優先的に提供することにより、ユーザの購買行動を促進するサービスが知られている。このようなサービスでは、ユーザの購買行動を促進するために、多くのユーザの過去の購買行動を蓄積し、協調フィルタリングの手法を用いてユーザへ商品を推薦する方法が多く採用されている。
【０００３】
このような協調フィルタリングでは、関連付けられる情報が少ないユーザに対しては推薦の精度が落ちる場合がある。このため、複数のドメインの嗜好データを用い、嗜好データの少ないドメインについても、多くの嗜好データが蓄積されたデータからの相関を用いて嗜好を推定する技術が知られている。
【０００４】
一方、ＳＮＳ（Social  Networking  Service）サイト等、コンピュータネットワークを利用した情報蓄積、情報提供システムにおいても、上記の技術を導入することでユーザの情報閲覧、情報提供を活性化する機能の実現が期待できる。これは、ユーザが過去に提供した情報を蓄積したデータを利用して、ユーザがやり取りする情報の嗜好、傾向の情報を利用してユーザに過去の情報などの閲覧を推薦することで、ユーザの情報提供の促進が可能と考えられるためである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２３３０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した複数のドメインの嗜好データを用いる技術では、ＳＮＳサイト等において、対象ユーザの嗜好に合った情報を提供することができない場合があるという課題があった。ＳＮＳサイト等においては、ユーザの提供するデータの中には、上記した複数のドメインの嗜好データを用いる技術で前提としているように、ドメインが明確に定義できない場合も多く存在する。特に、企業内情報等を取り扱う場合、情報のドメインは複雑な構造を持ち、明確に定義できないことが多い。このため、ＳＮＳサイト等においては、ドメイン情報の嗜好データを用いることができない場合があり、対象ユーザの嗜好に合った情報を提供することができない。
【０００７】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ＳＮＳサイト等においても、対象ユーザの嗜好に合った情報を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するため、情報推薦システムは、情報群にアクセスしたユーザに関する情報と、該ユーザが前記情報群に入力した情報の内容とを記憶部に格納する格納部と、前記記憶部に記憶されたユーザに関する情報と前記情報群に入力した情報の内容とを用いて、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、情報群ごとにそれぞれ特徴量を算出する算出部と、前記算出部によって算出された特徴量に基づいて、ユーザが過去にアクセスしていない情報群のなかからユーザに推薦する情報群を特定し、該情報群を推薦する旨の情報をユーザ端末に出力する出力部と、を備えることを特徴とする。
【０００９】
また、情報推薦方法は、情報推薦装置で実行される情報推薦方法であって、情報群にアクセスしたユーザに関する情報と、該ユーザが前記情報群に入力した情報の内容とを記憶部に格納する格納工程と、前記記憶部に記憶されたユーザに関する情報と前記情報群に入力した情報の内容とを用いて、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、情報群ごとにそれぞれ特徴量を算出する算出工程と、前記算出工程によって算出された特徴量に基づいて、ユーザが過去にアクセスしていない情報群のなかからユーザに推薦する情報群を特定し、該情報群を推薦する旨の情報をユーザ端末に出力する出力工程と、を含んだことを特徴とする。
【発明の効果】
【００１０】
本願に開示する情報推薦システムおよび情報推薦方法は、ＳＮＳサイト等においても、対象ユーザの嗜好に合った情報を提供することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、第一の実施の形態に係る情報推薦システムによる情報推薦処理の概念を説明するための図である。
【図２】図２は、第一の実施の形態に係る情報推薦システムに含まれるサーバ装置の構成を示す機能ブロック図である。
【図３】図３は、スレッドの特徴量算出処理を説明する図である。
【図４】図４は、スレッド推薦度の算出処理を説明する図である。
【図５】図５は、第一の実施の形態に係る情報推薦システムによる情報推薦処理の流れを示すシーケンス図である。
【図６】図６は、情報推薦プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照して、この発明に係る情報推薦システムおよび情報推薦方法の実施例を詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１３】
［第一の実施の形態］
以下の実施の形態では、第一の実施の形態に係る情報推薦システムの概要、情報推薦システムの構成、および処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
【００１４】
［第一の実施の形態に係る通信システムの構成］
まず、本実施形態に係る情報推薦システムによる情報推薦方法の概要について説明する。図１は、第一の実施の形態に係る情報推薦システムによる情報推薦処理の概念を説明するための図である。
【００１５】
図１に例示する情報推薦システム１００では、例えば、企業内ＳＮＳ（Social  Networking  Service）に「スレッド」という単位の情報群で、ユーザが投稿する記事として蓄積される。各ユーザは、各々の嗜好や興味に基づいてスレッドの閲覧や、情報の発信を行うものであり、ユーザに対して「スレッド」の閲覧を推薦することで情報の共有、提供が促進される。この際、「スレッド」の内容とともに「スレッド」に参加したユーザの情報を管理する。
【００１６】
図１に示すように、本実施形態に係る情報推薦システム１００におけるサーバ装置１０のスレッド情報記憶部１３ａは、情報群（図１の例では、スレッド）にアクセスしたユーザに関する情報と、該ユーザがスレッドに入力した情報の内容とを記憶する。
【００１７】
例えば、図１の例では、情報推薦システム１００では、ユーザ端末２０のユーザｉが過去にスレッド１およびスレッド２に対して、閲覧または記事の投稿を行っていたものとする。図１の例を具体的に挙げて説明すると、ユーザｉは、スレッド１、２を閲覧するとともに、スレッド１に対して情報内容１、情報内容２を投稿し、スレッド２に対して情報内容２、情報内容４を投稿している。
【００１８】
このような場合に、サーバ装置１０は、スレッド情報記憶部１３ａに記憶されたユーザに関する情報とスレッドに入力した情報の内容とを用いて、過去における各スレッドに対する各ユーザのアクセスの有無、および、各スレッドに入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、スレッドごとにそれぞれ特徴量を算出する。
【００１９】
例えば、サーバ装置１０は、スレッド１には、ユーザｉ、ユーザｊ・・・が過去にアクセスしており、投稿された内容には、情報内容１、情報内容２、情報内容３・・・が含まれている。このような情報を用いて、スレッド１について、各ユーザのアクセスの有無、および、各スレッドに入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、スレッドごとにそれぞれ特徴量を算出する。なお、スレッド１以外の全スレッドについても、同様に、各ユーザのアクセスの有無、および、各スレッドに入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、スレッドごとにそれぞれ特徴量を算出する。
【００２０】
そして、サーバ装置１０は、算出された特徴量に基づいて、ユーザが過去にアクセスしていないスレッドのなかからユーザに推薦するスレッドを特定し、該スレッドを推薦する旨の情報をユーザ端末２０に出力する。
【００２１】
例えば、サーバ装置１０は、ユーザｉに対してスレッドを推薦する場合に、ユーザｉがスレッド１、２に対してアクセス（閲覧・記事投稿）を行っていることから、同じスレッド１、２に対して過去にアクセスしているユーザｊおよびユーザｋがアクセスしているスレッド３をユーザｉに対して推薦する。
【００２２】
また、例えば、サーバ装置１０は、ユーザｉが閲覧しているスレッド１、２に多く含まれる情報内容１、情報内容２、および情報内容４である場合に、情報内容１、情報内容２、および情報内容４を含むスレッド３をユーザｉに対して推薦する。
【００２３】
このような情報推薦システム１００において、ユーザは各々の嗜好や興味に基づいてスレッドの閲覧や、情報の発信を行うものであり、ユーザに対して「スレッド」の閲覧を推薦することで情報の共有、提供が促進される。この際、「スレッド」の内容とともに「スレッド」に参加したユーザの情報も併せて考慮することで、ＳＮＳサイト等においても、対象ユーザの嗜好に合った情報を提供することができる。また、企業内ＳＮＳに作成される「スレッド」という単位と、「スレッド」の内容、「スレッド」に参加したユーザに関する情報を併せて扱うことによって、「ドメイン」を意識することなくユーザに対して情報閲覧の推薦が可能となる。
【００２４】
また、「スレッド」には例えば、記事を投稿したユーザという形で、ユーザの参加状況の情報も蓄積される。このような参加状況の情報は当該ユーザにとって各「スレッド」が自身に対する興味の度合いを示すものでもある。そこで、各ユーザが各「スレッド」に対する参加の度合いを教師情報とする学習プロセスを導入することで、「スレッド」の内容の情報が比較的少ないユーザに対しても、同様の参加傾向を持つユーザの情報を併用することによって嗜好、興味が合致する「スレッド」の推薦の精度を向上させることが期待できる。
【００２５】
［情報推薦システムの構成］
次に、図２を用いて、図１に示した情報推薦システム１００に含まれるサーバ装置の構成を説明する。図２は、第一の実施の形態に係る情報推薦システムに含まれるサーバ装置の構成を示す機能ブロック図である。図２に示すように、このサーバ装置１０は通信制御装置１１、制御部１２、記憶部１３を有し、インターネット３０を介してユーザ端末２０と接続される。以下にこれらの各部の処理を説明する。
【００２６】
通信制御部１１は、インターネット３０を介してユーザ端末２０との間でやり取りされる各種情報の送受信を制御する。
【００２７】
記憶部１３は、制御部１２による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、スレッド情報記憶部１３ａおよび特徴量情報記憶部１３ｂを有する。
【００２８】
スレッド情報記憶部１３ａは、情報群にアクセスしたユーザに関する情報と、該ユーザが情報群に入力した情報の内容とを記憶する。例えば、スレッド情報記憶部１３ａは、各情報群に対応付けて、情報群にアクセスしたユーザを識別する情報と、ユーザが入力した情報の内容とを記憶する。
【００２９】
特徴量情報記憶部１３ｂは、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無を用いて算出された各情報群の特徴量を記憶する。例えば、特徴量情報記憶部１３ｂは、各情報群に対応付けて、後述する特徴量算出部１２ｂによって算出された特徴量を記憶する。
【００３０】
制御部１３は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、情報格納部１２ａ、特徴量算出部１２ｂ、学習部１２ｃ、適合度計算部１２ｄ、推薦情報出力部１２ｅを有する。
【００３１】
情報格納部１２ａは、情報群にアクセスしたユーザに関する情報と、該ユーザが情報群に入力した情報の内容とをスレッド情報記憶部１３ａに格納する。具体的には、情報格納部１２ａは、ユーザがユーザ端末２０により情報群に対して閲覧または投稿を行うたびに、情報群に閲覧または投稿したユーザに関する情報と、該ユーザが情報群に入力した情報の内容とをスレッド情報記憶部１３ａに格納する。
【００３２】
特徴量算出部１２ｂは、スレッド情報記憶部１３ａに記憶されたユーザに関する情報と情報群に入力した情報の内容とを用いて、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、情報群ごとにそれぞれ特徴量を算出する。
【００３３】
ここで、情報群ごとの特徴量について説明する。例として、各ユーザ（ユーザｉ）に対する各情報群（情報群ｊ）の特徴量Ｘｉｊを「Ｘｉｊ＝(ａｉｊ,ｎｊ)」と定義する。ここで、ａｉｊは特定の期間にユーザｉとどれかの情報群で一緒に参加したユーザが情報群ｊに参加しているかどうかを示す特徴量であり、ｎｊは特定期間に情報群ｊに出現する名詞に基づく特徴量である。定義から明らかなように、ａｉｊは情報群に参加したユーザの情報に基づく特徴量であり、ｎｊは内容に基づく特徴量である。特定期間とは、例えば、情報推薦実施時から１か月前までと設定する。
【００３４】
続いて、特徴量ａｉｊの算出方法について説明する。例えば、各ユーザ（ユーザｉ）に対応し、他ユーザ（ユーザｋ）とどこかの情報群で一緒に参加したことを示すベクトルａ’ｉ＝(ａ’ｉ１,・・・ａ’ｉｋ,・・・,ａ’ｉｎ)(ｎは、全ユーザ数)を、「ａ’ｉｋ＝１：ユーザｋが特定の期間にどこかの情報群でユーザｉとともに参加した場合」、「ａ’ｉｋ＝０：上記以外の場合」と定義する。
【００３５】
上記のａ’ｉは、「ａ’ｉ＝（０,・・・,０）」とする。そして、各々の情報群について、ユーザｉが参加している場合、ユーザｋが当該情報群に参加している場合「ａ’ｉｋ＝１」とし、ユーザｋが当該情報群に参加していない場合、「ａ’ｉｋ」の値は変更しない。そして、この処理を全情報群に対して実施する。
【００３６】
情報群ｊへ参加するユーザに関するベクトルａ’’ｊ＝（ａ’’ｊ１，・・・,ａ’’ｊｋ,  ・・・,ａ’’ｊｎ)について、「ａ’’ｊｋ=２：ユーザｋが特定の期間に情報群ｊに参加している場合」、「ａ’’ｊｋ＝０：上記以外の場合」と定義する。そして、ａｉｊは、ａ’ｉとａ’’ｊを用いて、「ａｉｊ＝（ａｉ１,・・・,ａｉｋ,・・・,ａｉｎ）」と定義し、ベクトルａｉｊの成分ａｉｋを「ａｉｋ＝a’ｉｋ・ａ’’ｊｋ」と定義する。
【００３７】
続いて、特徴量ｎｊの算出方法について説明する。ｎｊ＝（ｎｊ１,・・・,ｎｊｍ）は、情報群ｊに特定期間に出現する特徴的な名詞を表すベクトルである。ここで、ｋは、特徴的な名詞の個数を示すものであり、例えば、予め１０００個と決めておく。ベクトルの要素ｎｊｋはｋ番目の特徴的な名詞が情報群ｊに出現するときに１、出現しないときに０とする。ここで、特徴的な名詞は対象とする期間に対して、全情報群の中に出現する名詞から、たとえばＴｆ・Ｉｄｆ法によって上位１０００個の名詞を求めればよい。Ｔｆ・Ｉｄｆ法とは、特定期間中に出現する名詞ｗに対して、「Ｔｆ・Ｉｄｆ（ｗ）＝Ｔｆ（ｗ）×Ｉｄｆ（ｗ）」により、Ｔｆ・Ｉｄｆ（ｗ)値を求める。ここで、「Ｔｆ（ｗ）」とは、「特定期間中の名詞ｗの出現頻度／特定期間中の全名詞の出現数」である。また、Ｉｄｆ（ｗ）とは、「全期間長／名詞ｗが出現した特定期間の期間長」である。
【００３８】
ここで、図３を用いて、スレッドの特徴量算出処理について説明する。図３は、スレッドの特徴量算出処理を説明する図である。例えば、図３の例を用いて説明すると、ユーザｉに対する情報群ｊの特徴量が「Ｘｉｊ＝（ａｉ１＝０,ａｉ２＝１,ａｉ３＝１,・・・,ｎ１＝０,ｎ２＝１,ｎ３＝１,・・・）である。これは、情報群ｊにユーザ２とユーザ３が参加しており、且つ、情報群ｊに特徴的な名詞として名詞２と名詞３が含まれていることを意味している。
【００３９】
図２の説明に戻って、学習部１２ｃは、各情報群に対してユーザが過去にアクセスした頻度を教師情報として、適合度の計算に用いられるユーザの特徴量を学習する。具体的には、学習部１２ｃは、後述する適合度計算部１２ｄが適合度を算出する際のユーザの特徴ベクトル「ω」を、ユーザの過去の「情報群」への参加状況を教師データとして学習し、適合度を求めるための適合関数を決定する。
【００４０】
学習部１２ｃは、はじめに、特徴量算出部１２ｂにて算出される特徴量に対して、各ユーザ（ユーザｉ）に対応する特徴ベクトルωｉを定義する。ωｉの次元はベクトルＸｉｊと同じものとする。ここで適合度ｆｉ（Ｘｉｊ）は、適合度を算出する適合関数「ｆｉ（Ｘｉｊ）＝＜ωｉ・Ｘｉｊ＞」により求められる。ここで「<・,・>」とは、内積を表す。また、以下に示すｆｉ（Ｘｉｊ）は、ユーザｉの情報群ｊに対する適合度を示す値となるように、ωｉを学習によって決定する。
【００４１】
ここで、ωｉを学習過程によって決定するためには、ｆｉ（Ｘｉｊ）の学習の目的となる目的関数を定義する必要がある。ｆｉ（Ｘｉｊ）は、後述する推薦情報出力部１２ｅで推薦する「情報群」の選出のためのものであり、その目的関数はユーザに情報を推薦するためのランキングとして適切なものでなければならない。ここでは、ユーザの各「情報群」に対する参加の度合いを学習プロセスの教師情報とするため、目的関数ｆ’ｉ（Ｘｉｊ）を、ユーザｉが情報群ｊに参加しているとき「ｆ’ｉ（Ｘｉｊ）＝１００＋１０×ユーザｉの情報提供回数」と定義し、ユーザｉが情報群ｊに参加していないとき「ｆ’ｉ（Ｘｉｊ）＝１」と定義する。
【００４２】
定義から明らかなように、ｆ’ｉ（Ｘｉｊ）は、ユーザｉが情報群ｊにより多くの情報提供をしているときに大きな値をとり、参加していないときは最小値をとるため、ユーザｉの情報群ｊへの参加度を表現するものとなる。
【００４３】
学習部１２ｃは、図４に示すように、学習過程によって、ｆｉ（Ｘｉｊ）が目的関数ｆ’ｉ（Ｘｉｊ）に一致するように、各ユーザに対応するベクトルωｉを改善し、ｆｉ（Ｘｉｊ）をｆ’ｉ（Ｘｉｊ）をそれぞれ、確率分布ｐｉ（Ｘｉｊ）とｐ’ｉ（Ｘｉｊ)変換し、損失関数Ｌ(ｐｉ（Ｘｉｊ）,ｐ’ｉ（Ｘｉｊ）)を最小化する。そして、学習の過程において、ｆｉ（Ｘｉｊ）がｆ’ｉ（Ｘｉｊ）と同じとなるようωｉの値を順次修正する処理を繰り返す。以下、その学習プロセスについて説明する。なお、これはＬｉｓｔＮｅｔと呼ばれる方法である。
【００４４】
まず、学習部１２ｃは、ｆｉ（Ｘｉｊ）とｆ’ｉ（Ｘｉｊ）の確率密度分布への変換を行う。具体的には、学習部１２ｃは、ｆｉ（Ｘｉｊ）とｆ’ｉ（Ｘｉｊ）を正規化するため、それぞれｐｉ（Ｘｉｊ）とｐ’ｉ（Ｘｉｊ)に対して、変換を実施する。具体的には、学習部１２ｃは、ｐｉ（Ｘｉｊ）＝ｅｘｐ（ｆｉ（Ｘｉｊ））／Σｋｅｘｐ（ｆｉ（Ｘｉｋ））を算出して、変換を行う。また、学習部１２ｃは、ｐ’ｉ（Ｘｉｊ）＝ｅｘｐ（ｆ’ｉ（Ｘｉｊ））／Σｋｅｘｐ（ｆ’ｉ（Ｘｉｋ））を算出して、変換を行う。
【００４５】
続いて、学習部１２ｃは、損失関数を計算する。具体的には、学習部１２ｃは、ｐｉ（Ｘｉｊ）とｐ’ｉ（Ｘｉｊ)の相違に基づく損失関数Ｌを、Ｌ(ｐｉ（Ｘｉｊ）,ｐ’ｉ（Ｘｉｊ）)＝‐Σjｐｉ（Ｘｉｊ）・ｌｏｇ（ｐ’ｉ（Ｘｉｊ））により定義する。
【００４６】
続いて、学習部１２ｃは、ベクトルωｉの修正を行う。具体的には、学習部１２ｃは、ｐ’ｉ（Ｘｉｊ）はベクトルωｉによって変化するため、ベクトルωｉを修正することによって上記のＬを０に近づける。修正する値Δωｉは成分ごとに、「Δωｉ＝ｄＬ（ｐｉ（Ｘｉｊ）,ｐ’ｉ（Ｘｉｊ））／ｄωｉ」を用いて、算出する。その後、学習部は、修正したベクトルωｉから適合関数「ｆｉ（Ｘｉｊ）＝＜ωｉ・Ｘｉｊ＞」を決定する。
【００４７】
適合度計算部１２ｄは、特徴量算出部１２ｂによって算出された各情報群の特徴量と、ユーザの特徴ベクトルとを用いて、各情報群がユーザに適合する度合いを示す適合度を計算する。具体的には、適合度計算部１２ｄは、学習部１２ｃにより決定した適合関数「ｆｉ（Ｘｉｊ）＝＜ωｉ・Ｘｉｊ＞」を用いて、特徴量情報記憶部１３ｂに記憶された「情報群」に対するすべての特徴量に対し、上述した適合度「ｆｉ（Ｘｉｊ）」を算出する。
【００４８】
推薦情報出力部１２ｅは、特徴量に基づいて、ユーザが過去にアクセスしていない情報群のなかからユーザに推薦する情報群を特定し、該情報群を推薦する旨の情報をユーザ端末２０に出力する。具体的には、推薦情報出力部１２ｅは、算出された適合度ｆｉ（Ｘｉｊ）に基づき、これまでユーザｉが参加していない「情報群」のうち、適合度ｆｉ（Ｘｉｊ）が最も大きいものから順に、ユーザｉに対する推薦対象の「情報群」をユーザ端末２０に送信するとともに、適合度についても推薦の度合いを示す推薦度としてユーザ端末２０出力する。
【００４９】
［情報推薦システムによる処理］
次に、図５を用いて、第一の実施の形態に係る情報推薦システムによる情報推薦処理を説明する。図５は、第一の実施の形態に係る情報推薦システムによる情報推薦処理の流れを示すシーケンス図である。
【００５０】
図５に示すように、ユーザ端末２０が投稿情報をスレッド（情報群）に入力すると（ステップＳ１０１）、サーバ装置１０の情報格納部１２ａは、スレッドにアクセスしたユーザに関する情報と、該ユーザがスレッドに入力した情報の内容とを記憶部１３に格納する（ステップＳ１０２）。記憶部１３には、情報群ごとに仕分けされて、ユーザに関する情報とスレッドに入力した情報の内容とが記憶される（ステップＳ１０３）。
【００５１】
そして、特徴量算出部１２ｂは、記憶部１３からユーザに関する情報と、該ユーザがスレッドに入力した情報の内容とを読み出し（ステップＳ１０４）、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無に基づいて、情報群ごとにそれぞれ特徴量を算出する（ステップＳ１０５）。
【００５２】
その後、特徴量算出部１２ｂは、算出した特徴量情報を記憶部に格納する（ステップＳ１０６）。その後、ユーザ端末２０からユーザが投稿情報を入力するたびに、ステップＳ１０１〜ステップＳ１０６の処理を繰り返す。
【００５３】
そして、学習部１２ｃは、一定時間ごとに起動し、記憶部１３から特徴量情報を読み出して（ステップＳ１０７）、各情報群に対してユーザが過去にアクセスした頻度を教師情報として、ユーザに対応する特徴ベクトルを算出し、適合度算出関数を決定する（ステップＳ１０８）。そして、学習部１２ｃは、決定した適合度算出関数を適合度計算部１２ｄに送信する（ステップＳ１０９）。
【００５４】
続いて、適合度計算部１２ｄは、適合度算出関数を用いて、適合度を計算し（ステップＳ１１０）、適合度を推薦情報出力部１２ｅに送信する（ステップＳ１１１）。そして、推薦情報出力部１２ｅは、適合度関数と特徴量に基づいて、ユーザが過去にアクセスしていない情報群のなかからユーザに推薦する情報群を特定し（ステップＳ１１２）、該情報群を推薦する旨の情報をユーザ端末２０に出力する（ステップＳ１１３）。
【００５５】
[実施例１の効果]
上述してきたように、情報推薦システム１００では、情報群にアクセスしたユーザに関する情報と、該ユーザが情報群に入力した情報の内容とを記憶部１３に格納する。そして、記憶部１３に記憶されたユーザに関する情報と情報群に入力した情報の内容とを用いて、過去における各情報群に対する各ユーザのアクセスの有無、および、各情報群に入力された情報における特定の名詞の有無を判別し、アクセスの有無と特定の名詞の有無に基づいて、情報群ごとにそれぞれ特徴量を算出する。続いて、算出された特徴量に基づいて、ユーザが過去にアクセスしていない情報群のなかからユーザに推薦する情報群を特定し、該情報群を推薦する旨の情報をユーザ端末２０に出力する。このため、ユーザに対して「情報群」の閲覧を推薦する際、情報の内容と情報を提供したユーザの情報を併せて処理して推薦するため、情報をカテゴリに分ける必要もなくなり、従来技術ではカテゴリに部類される情報が少ない場合でもユーザに対して情報を推薦することができる。このため、ＳＮＳサイト等においても、対象ユーザの嗜好に合った情報を提供することが可能となる。
【００５６】
また、実施例１によれば、情報推薦システム１００では、算出された各情報群の特徴量と、ユーザの特徴量とを用いて、各情報群がユーザに適合する度合いを示す適合度を計算する。そして、情報群を推薦する旨の情報をユーザ端末２０に出力するとともに、適合度も出力する。つまり、推薦対象となる「情報群」に対してはその推薦の度合も算出されるため、ユーザに対して「情報群」の推薦度も併せて提示することが可能である。
【００５７】
また、情報推薦システム１００では、各情報群に対してユーザが過去にアクセスした頻度を教師情報として、適合度の計算に用いられるユーザの特徴量を学習する。このため、常に最新のユーザの嗜好に合った情報を提供することが可能となる。
【００５８】
［情報共有システム］
なお、上記の実施形態では、主に企業内ＳＮＳを例に説明したが、企業内システムでは企業内ＳＮＳ以外にも、例えばファイルサーバのような情報共有システムが存在し、このような情報共有システムに対しても本発明を適用することが可能である。ファイルサーバのような情報共有システムにもおいても、ファイルサーバを介してユーザが情報の発信、交換が行われ、「ファイルフォルダ」という単位が存在し、「ファイルフォルダ」に情報を提供したユーザが存在する。そこで、先述の企業内ＳＮＳにおける「スレッド」を「ファイルフォルダ」に置き換えることで、企業内ＳＮＳの場合と同様にユーザに対して情報を推薦することが可能であり、情報閲覧、情報発信の活性化を行うことができる。
【００５９】
［システム構成］
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００６１】
［プログラム］
また、上記実施形態において説明したサーバ装置１０が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、第一の実施形態に係るサーバ装置１０が実行する処理をコンピュータが実行可能な言語で記述した情報推薦プログラムを作成することもできる。この場合、コンピュータが情報推薦プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかる情報推薦プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録され情報推薦プログラムをコンピュータに読み込ませて実行することにより上記第一の実施形態と同様の処理を実現してもよい。以下に、図２に示したサーバ装置１０と同様の機能を実現する情報推薦プログラムを実行するコンピュータの一例を説明する。
【００６２】
図６は、情報推薦プログラムを実行するコンピュータ１０００を示す図である。図６に例示するように、コンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有し、これらの各部はバス１０８０によって接続される。
【００６３】
メモリ１０１０は、図６に例示するように、ＲＯＭ（Read  Only  Memory）１０１１及びＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、図６に例示するように、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、図６に例示するように、ディスクドライブ１０４１に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。シリアルポートインタフェース１０５０は、図６に例示するように、例えばマウス１０５１、キーボード１０５２に接続される。ビデオアダプタ１０６０は、図６に例示するように、例えばディスプレイ１０６１に接続される。
【００６４】
ここで、図６に例示するように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３、プログラムデータ１０９４を記憶する。すなわち、上記の情報推薦プログラムは、コンピュータ１０００によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ１０３１に記憶される。
【００６５】
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ１０１０やハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、メモリ１０１０やハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出し、格納手順、算出手順、出力手順を実行する。
【００６６】
なお、情報推薦プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、情報推薦プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ネットワーク（ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等）を介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【符号の説明】
【００６７】
１０  サーバ装置
１１  通信制御部
１２  制御部
１２ａ  情報格納部
１２ｂ  特徴量算出部
１２ｃ  学習部
１２ｄ  適合度計算部
１２ｅ  推薦情報出力部
１３  記憶部
１３ａ  スレッド情報記憶部
１３ｂ  特徴量情報記憶部
２０  ユーザ端末
３０  インターネット
１００  情報推薦システム
【図１】
2014006778.tif 000003
【図２】
2014006778.tif 000004
【図３】
2014006778.tif 000005
【図４】
2014006778.tif 000006
【図５】
2014006778.tif 000007
【図６】
2014006778.tif 000008