(57)【要約】【課題】より適切な情報を推薦し、その推薦理由も提供できるようにする。【解決手段】情報取得部１０１によりユーザからの情報が取得されると、その情報と、テーブル参照部１０３により参照されるテーブルに記載されている情報との距離が、距離計算部１０２により算出される。推薦単語抽出部１０４は、距離が近い情報を、推薦する情報として抽出する。その抽出された情報に関連付けられている意味クラスのモデルパラメータ値が最も高い情報を、推薦理由抽出部１０６は、推薦理由としてさらに抽出する。このようにして抽出された推薦する情報と推薦理由は、提供部１０７によりユーザに提供される。本発明は、情報を提供するコンピュータに適用できる。【選択図】図１０
2010118086.tif 000002
【特許請求の範囲】
【請求項１】
第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルを記憶する記憶手段と、
検索対象となる第２の情報を取得する取得手段と、
前記第２の情報に該当する前記第１の情報のモデルパラメータを、前記第２の情報のモデルパラメータとして前記テーブルを参照して読み出し、その読み出されたモデルパラメータのうちの前記確率の値が高い順に前記意味クラスを抽出する抽出手段と、
前記抽出手段により抽出された前記確率の値が高い値を有する前記モデルパラメータの前記第１の情報を、前記テーブルから読み出す読み出し手段と、
前記読み出し手段により読み出された前記第１の情報を提示する提示手段と
を備える情報処理装置。
【請求項２】
前記読み出し手段は、読み出した前記第１の情報のモデルパラメータの前記確率の値が高い順に前記意味クラスを抽出し、その抽出された前記意味クラスにおけるモデルパラメータの前記確率の値が高い順に、前記テーブルから前記第１の情報をさらに読み出す
請求項１に記載の情報処理装置。
【請求項３】
第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルを記憶する記憶手段を備える情報処理装置の情報処理方法において、
検索対象となる第２の情報を取得し、
前記第２の情報に該当する前記第１の情報のモデルパラメータを、前記第２の情報のモデルパラメータとして前記テーブルを参照して読み出し、その読み出されたモデルパラメータのうちの前記確率の値が高い順に前記意味クラスを抽出し、
抽出された前記確率の値が高い値を有する前記モデルパラメータの前記第１の情報を、前記テーブルから読み出し、
読み出された前記第１の情報を提示する
ステップを含む情報処理方法。
【請求項４】
第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルを記憶する記憶手段を備える情報処理装置に、
検索対象となる第２の情報を取得し、
前記第２の情報に該当する前記第１の情報のモデルパラメータを、前記第２の情報のモデルパラメータとして前記テーブルを参照して読み出し、その読み出されたモデルパラメータのうちの前記確率の値が高い順に前記意味クラスを抽出し、
抽出された前記確率の値が高い値を有する前記モデルパラメータの前記第１の情報を、前記テーブルから読み出し、
読み出された前記第１の情報を提示する
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラム。
【請求項５】
第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルを記憶する記憶手段を備える情報処理装置に、
検索対象となる第２の情報を取得し、
前記第２の情報に該当する前記第１の情報のモデルパラメータを、前記第２の情報のモデルパラメータとして前記テーブルを参照して読み出し、その読み出されたモデルパラメータのうちの前記確率の値が高い順に前記意味クラスを抽出し、
抽出された前記確率の値が高い値を有する前記モデルパラメータの前記第１の情報を、前記テーブルから読み出し、
読み出された前記第１の情報を提示する
ステップを含む処理を実行させるコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、プログラム、並びに記録媒体に関し、特に、ユーザに所定の情報を推薦する際などに用いて好適な情報処理装置および方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
インターネットなどの普及にともない、ユーザが、所望する情報をより手軽に検索することが可能になっている。また、インターネット上の店舗での商品の購入（俗にネットショッピングなどと称されている）も普及している。
【０００３】
ユーザは、例えば、購入を所望する商品を販売している店舗を、ネット上で検索し、その検索結果として提供された情報を基に、ネット上の店舗を決定し、その店舗で所望の商品の購入を行うといったことが行われている。
【０００４】
そのような状況下において、ユーザ側は、より商品を検索しやすい機能を所望し、店舗（販売）側は、より効率良く商品の販売が行える機能を所望していた。そこで、例えば、ユーザが商品を購入したときなどに、その商品に関連のある他の商品を薦める（推薦する）ことが行われている。このような推薦が行われることは、ユーザにとっては、関連のある商品を知る（認識する）ことができ、その結果、まとめて購入することができる（複数の手間をかけずに一括して購入できる）といった利点があり、販売側にとっては、複数の商品を同時に購入してもらえる可能性があり、効率良い販売ができるといった利点がある。
【０００５】
このような推薦を行う方法として、特許文献１で、協調フィルタリング装置を用いた方法が提案されている。この協調フィルタリング装置を用いた推薦においては、まず、ユーザ（ユーザＡとする）が購入した商品の履歴などの個人情報から、その履歴と類似する履歴を有する他のユーザ（ユーザＢとする）が選択される。そして、選択された他のユーザが有する履歴から、推薦する情報が選択され（例えば、ユーザＡとユーザＢとに共通する情報が、推薦する情報として選択される）、その選択された情報が、ユーザＡに提供される。
【０００６】
また特許文献２では、Content-based filterlingを用いた方法が提案されている。この提案によると、コンテンツ文章がキーワードのベクトルとして表され、そのベクトルで表されたキーワードが、tf（Term Frequency）×idf(Invert Document Frequency)法などにより重み付けが行われ、ベクトル空間による余弦尺度が類似度として利用されることにより、類似したコンテンツが検索され、その検索結果が、ユーザが側に推薦される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００２―３３４２５６号公報
【特許文献２】特開２００２−２１５６６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記したような推薦の方法は、ユーザ同士の履歴の類似度やキーワードベクトルの類似といった距離尺度を用い、その距離尺度が近いものが選択され、推薦されるといった方法であった。そのため、ユーザ側に、推薦した情報が、なぜ推薦されたかの理由を提示することが難しいといった問題があった。換言するならば、例えば、“コンテンツＡを推薦するのは、距離尺度が近いからです”といったような推薦理由をユーザ側に提示しても、提示されたユーザ側にとっては、そのような情報は役に立たない情報であると考えられる。
【０００９】
その結果として、ユーザは、コンテンツＡの推薦理由を認識できないといった可能性があった。
【００１０】
また、特許文献１のように、推薦する情報を検索するのに、ユーザの履歴を用いる場合、まず、そのユーザＡ自体の履歴が、蓄積されていなければ、また、その蓄積量も一定量なければ、推薦する情報の選択の精度（例えば、ユーザＡが本当に所望する情報が推薦できる確率）を向上させることができないという課題があった。また、ユーザＡ以外のユーザの履歴も、当然多数蓄積されていなければ、推薦するための情報を検索できないといった可能性があった。
【００１１】
また、ユーザの履歴という個人情報が用いられることは、プライバシーの観点や、個人情報の管理、運用などの面で、問題が発生する可能性が高かった。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、より精度良く、ユーザ側に所定の情報に関連する情報を提示（推薦）できるようにする。また、情報を提示した場合、その情報をなぜ推薦したかを示す情報（推薦理由）もあわせて提示できるようにする。
【課題を解決するための手段】
【００１３】
本発明の一側面の情報処理装置は、第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルを記憶する記憶手段と、検索対象となる第２の情報を取得する取得手段と、前記第２の情報に該当する前記第１の情報のモデルパラメータを、前記第２の情報のモデルパラメータとして前記テーブルを参照して読み出し、その読み出されたモデルパラメータのうちの前記確率の値が高い順に前記意味クラスを抽出する抽出手段と、前記抽出手段により抽出された前記確率の値が高い値を有する前記モデルパラメータの前記第１の情報を、前記テーブルから読み出す読み出し手段と、前記読み出し手段により読み出された前記第１の情報を提示する提示手段とを備える。
【００１４】
前記読み出し手段は、読み出した前記第１の情報のモデルパラメータの前記確率の値が高い順に前記意味クラスを抽出し、その抽出された前記意味クラスにおけるモデルパラメータの前記確率の値が高い順に、前記テーブルから前記第１の情報をさらに読み出すようにすることができる。
【００１５】
本発明の一側面の情報処理方法は、第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルを記憶する記憶手段を備える情報処理装置の情報処理方法において、検索対象となる第２の情報を取得し、前記第２の情報に該当する前記第１の情報のモデルパラメータを、前記第２の情報のモデルパラメータとして前記テーブルを参照して読み出し、その読み出されたモデルパラメータのうちの前記確率の値が高い順に前記意味クラスを抽出し、抽出された前記確率の値が高い値を有する前記モデルパラメータの前記第１の情報を、前記テーブルから読み出し、読み出された前記第１の情報を提示するステップを含む。
【００１６】
本発明の一側面のプログラムは、第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルを記憶する記憶手段を備える情報処理装置に、検索対象となる第２の情報を取得し、前記第２の情報に該当する前記第１の情報のモデルパラメータを、前記第２の情報のモデルパラメータとして前記テーブルを参照して読み出し、その読み出されたモデルパラメータのうちの前記確率の値が高い順に前記意味クラスを抽出し、抽出された前記確率の値が高い値を有する前記モデルパラメータの前記第１の情報を、前記テーブルから読み出し、読み出された前記第１の情報を提示するステップを含む処理を実行させるコンピュータが読み取り可能なプログラムである。
【００１７】
本発明の一側面の記録媒体は、第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルを記憶する記憶手段を備える情報処理装置に、検索対象となる第２の情報を取得し、前記第２の情報に該当する前記第１の情報のモデルパラメータを、前記第２の情報のモデルパラメータとして前記テーブルを参照して読み出し、その読み出されたモデルパラメータのうちの前記確率の値が高い順に前記意味クラスを抽出し、抽出された前記確率の値が高い値を有する前記モデルパラメータの前記第１の情報を、前記テーブルから読み出し、読み出された前記第１の情報を提示するステップを含む処理を実行させるコンピュータが読み取り可能なプログラムが記録されている。
【００１８】
本発明の一側面の情報処理装置および方法、プログラム、並びに記録媒体においては、第１の情報毎に、その第１の情報の特徴を付けるために設定された複数の意味クラスと、その意味クラス毎に意味クラスが生起する条件付き確率の値が関連付けられたモデルパラメータの分布として表したテーブルが記憶される。検索対象とされる第２の情報に該当する第１の情報のモデルパラメータが、第２の情報のモデルパラメータとしてテーブルから読み出され、その読み出されたモデルパラメータのうちの確率の値が高い順に意味クラスが抽出され、抽出された確率の値が高い値を有するモデルパラメータの第１の情報が、テーブルから読み出され、読み出された第１の情報が提示される。
【発明の効果】
【００１９】
本発明によれば、推薦した情報に関し、なぜその情報を推薦したかといったような推薦理由を、ユーザ側に提示することが可能となる。
【００２０】
本発明によれば、情報を、より効果的にユーザ側に提示することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本発明を適用したシステムの一実施の形態の構成を示す図である。
【図２】学習装置の内部構成例を示す図である。
【図３】学習装置の学習について説明するためのフローチャートである。
【図４】作成されるテーブルについて説明するための図である。
【図５】作成されるテーブルについて説明するための図である。
【図６】作成されるテーブルをグラフにしたときの図である。
【図７】ＥＭアルゴリズムについて説明するための図である。
【図８】モデルパラメータ保持部に保持されるテーブルについて説明するための図である。
【図９】モデルパラメータ保持部に保持される他のテーブルについて説明するための図である。
【図１０】推薦情報提供装置の内部構成例について説明するための図である。
【図１１】推薦情報提供装置の動作について説明するためのフローチャートである。
【図１２】推薦する情報、理由を設定する際の処理について説明するための図である。
【図１３】推薦する情報、理由を設定する際の処理について説明するための図である。
【図１４】推薦する情報、理由を設定する際の処理について説明するための図である。
【図１５】推薦する情報、理由を設定する際の処理について説明するための図である。
【図１６】推薦する情報、理由を設定する際の処理について説明するための図である。
【図１７】確率分布表現の重畳について説明する図である。
【図１８】媒体を説明する図である。
【発明を実施するための形態】
【００２２】
以下に、本発明の実施の形態について図面を参照して説明する。
【００２３】
［システムの構成］
図１は、本発明を適用したシステムの一実施の形態の構成を示す図である。図１に示したシステムは、ユーザが所定の情報を提示したときに、その所定の情報に関連性のある情報を推薦するという処理を行うシステムである。また、その情報を推薦するとき、推薦理由もあわせて、ユーザ側に提示すためのシステムである。
【００２４】
学習装置１１は、モデルパラメータ保持部１２に保持されるモデルパラメータを生成する。推薦情報提供装置１３は、モデルパラメータ保持部１２に保持されているモデルパラメータを参照して、ユーザに推薦する情報と、その情報を推薦する理由に関する情報を生成し、提供する。
【００２５】
図１においては、また、以下の説明においては、学習装置１１、モデルパラメータ保持部１２，および、推薦情報提供装置１３は、それぞれ別体として図示したが、一体型に構成されていても良い。
【００２６】
学習装置１１、モデルパラメータ保持部１２，および、推薦情報提供装置１３は、それぞれネットワーク（不図示）などで相互にデータの授受が行えるように接続されていても良い。そのように構成された場合、例えば、学習装置１１で生成されたモデルパラメータは、ネットワークを介してモデルパラメータ保持部１２に保持され、推薦情報提供装置１３は、ネットワークを介して、必要に応じて、モデルパラメータ保持部１２に保持されているパラメータを参照する。
【００２７】
学習装置１１により生成されたモデルパラメータは、所定の記録媒体に記録され、モデルパラメータ保持部１２に提供されるようにしても良い。
【００２８】
［学習装置の内部構成例］
図２は、モデルパラメータ保持部１２が保持するモデルパラメータ（テーブル）を作成する学習装置１１の構成を示す図である。入力部３１は、テキストデータなどが入力される。この入力されるデータは、大量の学習用コーパスデータである。入力部３１に入力されたデータは、形態素解析部３２に供給される。
【００２９】
入力部３１に入力されるコーパスデータは、日本語に関するテーブルを作成する場合、日本語の文章が入力されるわけだが、日本語の文章は、単語毎に区切られていないので、例えば、形態素解析などと称される方法により、文章を単語毎に分解する必要がある。そこで、本実施の形態においては、そのような処理を、形態素解析部３２が行うように構成する。
【００３０】
また、ここでは、学習用コーパスデータは、所定のジャンルに属する人や、その人の作品などに対するプロフィールや批評記事といった文章であるとする。ここで扱われる学習用コーパスデータは、推薦情報提供装置１３により推薦する情報に依存する。すなわち、推薦情報提供装置１３で、音楽に関する情報を推薦する場合、所定のミュージシャンや、そのミュージシャンのアルバムに対する批評記事などが、学習用コーパスデータとして用いられる。また、例えば、推薦情報提供装置１３で書籍に関する情報を推薦する場合、所定の作家や、その作家の作品に対する批評記事などが、学習用コーパスデータとして用いられる。
【００３１】
これは、例えば、同じ単語であっても、使われるジャンルが異なれば、その意味も異なってくる（ニュアンスが異なってくる）ことがあるからである。例えば、音楽に関して“暖かい”と表現されていれば、バラードなどのジャンルで、精神的に暖かさを感じるということが表現されていると理解できるが、新聞記事などで“暖かい”と表現されていれば、天気に関することで、身体的に暖かさを感じるということが表現されていると理解される。
【００３２】
このように、同じ単語であっても、同一の意味内容で用いられないこともあり、そのようなことを考慮すると、後述する推薦情報提供装置１３における推薦する情報の設定などに係わる処理を実行するうえで参照されるモデルパラメータを作成するには、推薦する情報に依存して、学習用コーパスデータを変える方が好ましいと考えられる。
【００３３】
図２の学習装置１１の構成の説明に戻り、形態素解析部３２から出力されるデータは、単語に関するデータである。なお、ここでは形態素解析の方法に基づいて、文章を単語単位に分解するとして説明を続けるが、他の解析方法を適用することも可能である。
【００３４】
形態素解析部３２から出力された単語に関するデータは、データ更新部３３に供給される。データ更新部３３は、記憶部３４に記憶されているデータを更新するために設けられている。記憶部３４は、コーパスデータに含まれていた単語の出現回数に関するデータを保持する。記憶部３４に記憶されているデータを利用し、モデルパラメータ生成部３５は、モデルパラメータ（後述するテーブル６１（図５）における確率値）を算出し、図５に示すようなテーブル６１を作成する。作成されたテーブル６１は、モデルパラメータデータベース３６に記憶される。
【００３５】
モデルパラメータデータベース３６に記憶されたテーブル６１が、ネットワークを介して配布されることにより、所定の記録媒体に記録されて配布されることにより、または、他の手段により、モデルパラメータ保持部１２に供給され、保持される。
【００３６】
［学習装置の学習について］
次に、図２に示した学習装置１１の学習の仕方（テーブル６１の作成の仕方）について、図３のフローチャートを参照して説明する。ステップＳ１１において、入力部３１に学習用のコーパスデータが入力され、順次、形態素解析部３２に供給され、１単語単位に分解される。形態素解析部３２からの単語に関するデータは、データ更新部３３に供給される。
【００３７】
このような処理が行われる一方で、ステップＳ１２において、学習用コーパスデータは終了か否か（入力部３１に入力された全ての学習用コーパスデータに対する処理は終了したか否か）が判断される。ステップＳ１２における処理は、入力部３１が、入力がなくなったか否かを判断することにより行われるようにしても良い。
【００３８】
ステップＳ１２において、学習用コーパスデータは終了していないと判断された場合、ステップＳ１３に処理が進められ、処理対象となっている単語（その時点で、形態素解析部３２から出力された単語）に関する出現回数の更新が行われる。例えば、記憶部３４には、図４に示すようなテーブル５１が記憶されている。テーブル５１は、横軸に所定の文章を、縦軸に単語をそれぞれ管理しており、その文章と単語が交わる欄には、所定の文章内で、所定の単語が出現した回数が記載される。
【００３９】
例えば、図４に示したテーブル５１においては、文章１に、単語１は５回出現しており、単語２は１回出現しているといったような文章内の単語の出現回数が管理されている。
【００４０】
データ更新部３３は、テーブル５１を更新する際、まず、処理対象の単語が、既に記憶部３４に記憶されているか否か（テーブル５１に登録されているか否か）を判断する。そして、処理対象の単語が既にテーブル５１に記憶されていると判断された場合、その記憶されていると判断された単語に関連付けられ、処理対象とされている文章に関連付けられている回数を、１だけ増加させる。一方、処理対象の単語は、まだ記憶部３４に記憶されていないと判断された場合、その処理単語を新たに登録すると共に、その単語の回数を１と設定する。
【００４１】
例えば、処理対象とされている文章が文章１であり、処理対象の単語が単語Ｎであった場合、単語Ｎが既にテーブル５１に登録されていたときには、文章１と単語Ｎが交差する欄に、既に書き込まれている数値が１だけ増加され、単語Ｎはまだテーブル５１に登録されていないときには、新たに、単語Ｎが登録され、その登録された単語Ｎと文章１が交差する欄に、１が書き込まれる。
【００４２】
このようなステップＳ１１乃至Ｓ１３の処理が繰り返されることにより学習が行われる。
【００４３】
そして、ステップＳ１２において、学習用コーパスデータは終了したと判断された場合、ステップＳ１４に処理が進められる。ステップＳ１４において、モデルパラメータの計算が、モデルパラメータ生成部３５により行われる。モデルパラメータ生成部３５は、記憶部３４に記憶されているテーブル５１を参照し、例えば、ＰＬＳＡ（Probabilistic Latent Semantic Analysis）法などにより、確率的言語モデルパラメータ（図５のテーブル６１における確率値）を算出する。このステップＳ１４における処理の詳細については、図５，６を参照して後述する。
【００４４】
算出された確率値は、意味クラスＩＤと単語に関連付けられる。このような処理が実行されることにより、図５に示したテーブル６１が作成される。作成されたテーブル６１は、モデルパラメータデータベース３６に記憶される。このモデルパラメータデータベース３６に記憶されたテーブル６１が、モデルパラメータ保持部１２に保持される。
【００４５】
ここで、図５に示したテーブル６１について説明を加える。図５に示したテーブル６１は、横に意味クラス、縦に単語をとり、交わる部分に、その単語のその意味クラスでの確率値が記載されている。例えば、単語ｗ１の意味クラスｚ１における確率値は、Ｐ（ｚ１｜ｗ１）である。
【００４６】
ここで、意味クラスについて、また、確率値（モデルパラメータ）について図６を参照して説明する。図６には、単語ｗ１，ｗ２，ｗ３，ｗ４に関するパラメータを、それぞれグラフ化したものを示している。図６に示した各グラフは、縦軸にｐ（ｚ｜ｗ）の値をとり、横軸に意味クラスをとったものとされている。また、図６に示した各グラフは、意味クラス数をｚ＝１０に設定したときのものとされている。
【００４７】
意味クラスとは、特定のジャンルなど、人が識別できるようなクラスを示すものではなく、後述する推薦する情報の設定や推薦理由を選択するにあたり、単語や文脈などを特徴付けるために設定されたものである。
【００４８】
ｐ（ｚ｜ｗ）は、単語ｗが生起するという条件のもとで、意味クラスｚが生起する条件付き確率の値を示す。ｐ（ｚ｜ｗ）は、次式（１）により算出される。
【数１】
2010118086.tif 000003
【００４９】
式（１）からｐ（ｚ｜ｗ）は、ｐ（ｗ｜ｚ）とｐ（ｚ）から算出されることがわかる。ｐ（ｗ｜ｚ）とｐ（ｚ）は、ＥＭアルゴリズムのうち、Ｍ−ｓｔｅｐにおいて用いられる次式（２）と次式（３）により、それぞれ算出される。
【数２】
2010118086.tif 000004
【数３】
2010118086.tif 000005
【００５０】
すなわち、ｐ（ｗ｜ｚ）とｐ（ｚ）から単語の意味クラスへの帰属確率分布ｐ（ｚ｜ｗ）を求めることができる。この意味クラスへの帰属確率分布を求めることにより、単語ｗのもつ意味の概要を表現することができる。
【００５１】
なお、ＥＭアルゴリズムとは、図７に示すＥ―ｓｔｅｐとＭ―ｓｔｅｐとから構成される演算である。式（１）乃至（３）で示したｐ(z),ｐ(w|z),p(d|z)というパラメータは、図７に示す、式（４）乃至式（８）（式（５）は式（２）であり、式（７）は式（３）である）によるＥＭ（期待値最大化）アルゴリズムを利用してそれぞれ最適化される。
【００５２】
ステップＳ１４におけるモデルパラメータの計算は、このＥＭアルゴリズムにおけるＥ−ｓｔｅｐとＭ−ｓｔｅｐが繰り返し演算されることにより行われる。
【００５３】
図６を参照するに、単語ｗ１と単語ｗ２は、共通の意味クラスｚ２とｚ９に対して高い帰属確率が与えられているなど分布の形状が類似しており、意味的に共通点がある。これに対し、単語ｗ３は、単語ｗ１や単語ｗ２と共通の意味クラスで高い帰属確率が与えられるようなことがなく、分布の形状が異なり、意味的な共通点が少ない。
【００５４】
また、単語ｗ４のグラフを参照するに、意味クラス毎の帰属確率値は、一様な値であり、特に高い確率値を有する意味クラスは存在していない。このようなグラフは、機能語、例えば、“〜する”といった語であり、特定の意味を表現しない（１または複数の意味クラスの確率値で特徴を表すことができず、確率値の分布に基づいて分類することができない語である）ことを示している。
【００５５】
このように、単語ｗの意味確率分布ｐ（ｚ｜ｗ）は、意味的に特徴のある単語に対しては確率値が意味クラスにより偏るが（分布自体に特徴が表れるが）、機能語のような意味的には特徴をあまり有さないような単語に対しては、確率値は意味クラスにより偏るようなことがないといった特徴を有する。
【００５６】
このような特徴を、単語ｗの意味確率分布ｐ（ｚ｜ｗ）は有するため、図６に示した例では、意味クラスの数を１０に設定した場合を示したが、意味クラスの数を１０以上に設定し、より詳細に解析すれば、単語の特徴をより明確に表すことができると考えられる。
【００５７】
図６に示したような単語毎に意味クラスと確率値（モデルパラメータ）が関連付けられたデータを、テーブル化すると、例えば、図５に示したようなテーブル６１となる。
【００５８】
なお、テーブル６１として保持される単語として、例えば、“〜は”、“〜しない”といったような助詞や助動詞は、ユーザ側に提供する情報としては不適切である。すなわち、このテーブル６１は、推薦情報提供装置１３がユーザ側に推薦する情報や推薦理由を設定する際に参照されるテーブルであり、このテーブル６１に記載されている単語がユーザ側に提示されるため、提示する情報として助詞や助動詞は不適切であると考えられる。
【００５９】
そこで、例えば、ステップＳ１４の処理が終了された後、よって、図５に示したようなテーブル６１が作成された後に、そのテーブル６１から、助詞や助動詞といったユーザに提供するには好ましくないと思われる単語が削除されるといった処理を設けるようにしても良い。その際、削除される単語は、助詞や助動詞だけに限定されるものではない。
【００６０】
また、さらに、テーブル６１が作成された後、そのテーブル６１から、人手により不要な単語が削除されるような処理が含まれるようにしても良い。
【００６１】
このようにして作成（学習）されたテーブル６１は、モデルパラメータ保持部１２により保持される。
【００６２】
以下の説明においては、モデルパラメータ保持部１２には、図８に示すように、２つのテーブル６１−１とテーブル６１−２が保持されているとして説明する。テーブル６１−１は、ユーザに推薦する情報が記載されているテーブルであり、テーブル６１−２は、推薦理由が記載されているテーブルである。テーブル６１−１とテーブル６１−２は、それぞれ、図５に示したテーブル６１と同様に、単語と意味クラスＩＤが関連付けられたテーブルである。
【００６３】
以下の説明においては、テーブル６１−１を、推薦情報テーブル６１−１と記載し、テーブル６１−２を、推薦理由テーブル６１−２と記載する。また、以下の説明においては、音楽に関する情報をユーザに提供する（推薦する）場合を例にあげて説明する。音楽に関する情報をユーザに推薦する場合、推薦情報テーブル６１−１に記載されている単語（推薦する情報）（例えば、単語ｗ１，ｗ２など）は、アーティスト名（ミュージシャンの名前）や、曲目などであり、推薦理由テーブル６１−２に記載されている単語（推薦理由に関する情報）（例えば、単語ｗ１’，ｗ２’など）は、アーティストを表現する形容詞などである。
【００６４】
なお、ここでは、モデルパラメータ保持部１２には、推薦情報テーブル６１−１と推薦理由テーブル６１−２という２つのテーブルが保持されるとして説明するが、これらのテーブルを１つのテーブルとして管理するようしても勿論良い。１つのテーブルとして管理する場合、例えば、上位ｎ番目までは、推薦情報テーブル６１−１として用い、ｎ番目以降は、推薦理由テーブル６１−２として用いるようにする。
【００６５】
また、ここでは、２つのテーブルがモデルパラメータ保持部１２で保持されるとして説明を続けるが、これらの２つのテーブルを参照するためのリストがさらに管理されるようにしても良い。例えば、図９に示すように、推薦情報テーブル６１−１に記載されている単語のみから構成されるリスト６２−１と、推薦理由テーブル６１−２に記載されている単語のみから構成されるリスト６２−２が、さらに、モデルパラメータ保持部１２に保持されるようにしても良い。
【００６６】
図９に示したようにリスト６２−１，６２−２を設けるようにした場合、また、学習装置１１でテーブル６１が作成された後、そのテーブル６１から、人手により不要な単語を削除するような処理を行うようにした場合、その処理を実行する人は、リスト６２−１やリスト６２−２を参照するだけで、推薦情報テーブル６１−１や推薦理由テーブル６１−２にそれぞれ管理されている単語を認識することができ、不要な単語を削除するといった処理を行いやすくなる。
【００６７】
このように、モデルパラメータ保持部１２に保持されるテーブルなどは、適宜変更可能である。
【００６８】
次に、モデルパラメータ保持部１２に保持されているテーブルを用いて処理を実行する推薦情報提供装置１３について説明を加える。
【００６９】
［推薦情報提供装置の構成］
図１０は、推薦情報提供装置１３の内部構成例を示す図である。推薦情報提供装置１３は、ユーザから提供される情報を取得する情報取得部１０１を備える。ここでは、ユーザにより情報が提供され、その情報に対応する（関連する）情報が、ユーザ側に提供（推薦）される例をあげて説明する。ここでは、上記したように、ユーザ側に提供（推薦）する情報は、音楽に関する情報である場合を例にあげて説明するため、ユーザから提供される情報も、音楽に関する情報である。
【００７０】
例えば、ネットワーク上で開店している店舗（サーバ）に、推薦情報提供装置１３が備えられ、その店舗でユーザ（客）が所定のアーティストのＣＤ（Compact Disc）を購入するとき、その“所定のアーティスト”の情報が、ユーザから提供される情報として利用される。このようなとき、情報取得部１０１は、ネットワーク（不図示）を介してユーザからの情報を取得するため、ネットワークを介してデータの授受を行うことができる通信部を備える構成とされる。
【００７１】
また、推薦情報提供装置１３が、ユーザ側の装置（例えば、パーソナルコンピュータなどの端末）に備えられている場合、情報取得部１０１は、キーボードやマウスなどのユーザからの情報（ユーザからの指示）を受け付ける操作部を含む構成とされる。
【００７２】
また、ユーザから提供される情報は、ユーザが、商品を購入する意志をもって入力した情報の他に、何らかの検索の対象としたい情報、例えば、類似する情報を検索したいときなどに入力した情報などでも良い。
【００７３】
情報取得部１０１により取得されたユーザからの情報は、距離計算部１０２に供給される。距離計算部１０２には、テーブル参照部１０３により参照された推薦情報テーブル６１―１（図８）からの情報も供給される。詳細は後述するが、距離計算部１０２は、情報取得部１０１からの情報と、推薦情報テーブル６１−１に記載されている単語との距離を計算する。計算結果は、推薦単語抽出部１０４に供給される。
【００７４】
推薦単語抽出部１０４は、距離計算部１０２から供給される計算結果を参照し、最も距離が近いとされる単語を抽出する。換言すれば、推薦単語抽出部１０４は、情報取得部１０１により取得されたユーザからの情報に、最も類似していると判断される、推薦情報テーブル６１−１に記載されている情報（単語）を抽出する。
【００７５】
推薦単語抽出部１０４により抽出された単語に関する情報は、共通意味クラス抽出部１０５に供給される。共通意味クラス抽出部１０５は、ユーザからの情報と、推薦単語抽出部１０４からの情報に、共通する意味クラスを抽出し、その抽出した意味クラスを示す情報を、推薦理由抽出部１０６に供給する。
【００７６】
推薦理由抽出部１０６は、共通意味クラス抽出部１０５から供給された意味クラスを示す情報を用いて、また、テーブル参照部１０３が参照する推薦理由テーブル６１−２に記載されている情報を参照し、推薦理由となる単語を抽出する。推薦理由抽出部１０６により抽出された単語は、提供部１０７に提供される。提供部１０７は、推薦単語抽出部１０４により抽出された推薦する情報と、推薦理由抽出部１０６により抽出された推薦理由とする情報とを、ユーザに提供する。
【００７７】
提供部１０７は、情報取得部１０１と対になる構成とされる。すなわち、推薦情報提供装置１３が、ネットワーク上のサーバに備えられている場合、提供部１０７は、通信部を備え、その通信部を制御することにより、ユーザ側の端末に情報を提供する。ユーザ側の端末は、提供された情報をディスプレイ上に表示するなどして、ユーザに情報を提示する。または、推薦情報提供装置１３が、ユーザ側の端末に備えられている場合、提供部１０７は、ディスプレイなどの表示部（不図示）を備え、その表示部の表示を制御することにより、ユーザに情報を提供する。
【００７８】
このような構成を有する推薦情報提供装置１３の動作について説明する。
【００７９】
［推薦情報提供装置の動作について］
図１１は、推薦情報提供装置１３の動作について説明するためのフローチャートである。ステップＳ３１において、情報取得部１０１は、ユーザからの情報を取得する。ここで、取得される情報は、例えば、アーティスト名などの単語である。取得されたアーティスト名などの単語は、距離計算部１０２に供給される。
【００８０】
ステップＳ３２において、距離計算部１０２は、供給された単語に関する意味クラスに係わる情報を、推薦情報テーブル６１−１から読み出す。例えば、距離計算部１０２は、テーブル参照部１０３に、モデルパラメータ保持部１２に保持されている推薦情報テーブル６１−１を読み出すように指示を出す。その指示に対応し、テーブル参照部１０３は、推薦情報テーブル６１−１を読み出し、距離計算部１０２に供給する。
【００８１】
距離計算部１０２は、取得した推薦情報テーブル６１−１を参照し、ユーザから供給された単語を検索し、その検索された単語のモデルパラメータ（確率値）を読み出す。このようにして、ユーザから供給された情報（単語）のモデルパラメータが読み出される。その読み出された単語とモデルパラメータは、共通意味クラス抽出部１０５に供給される。また、距離計算部１０２は、読み出された単語のモデルパラメータを用いて、推薦情報テーブル６１−１に記載されている各単語との距離を計算する。
【００８２】
例えば、ユーザから供給された単語が、単語ｗ１であった場合、単語ｗ１のモデルパラメータと、単語ｗ２のモデルパラメータが用いられ、単語ｗ１と単語ｗ２の距離が計算され、単語ｗ１のモデルパラメータと、単語ｗ３のモデルパラメータが用いられ、単語ｗ１と単語ｗ３の距離が計算され、・・・といったように、ユーザから供給された単語と、推薦情報テーブル６１−１に記載されている各単語との距離が、それぞれ計算される。
【００８３】
距離計算部１０２は、例えば、次式（９）に示すKullback-Leibler Divergenceの方式を用いて距離を計算する。
【数４】
2010118086.tif 000006
【００８４】
式（９）により距離が算出される場合、例えば、単語ｗ１と単語ｗ２の距離が算出されるときには、単語ｗ１の意味クラスｚ１のモデルパラメータを、単語ｗ２の意味クラスｚ１のモデルパラメータで除算した値のｌｏｇをとり、その値に単語ｗ１の意味クラスｚ１のおけるモデルパラメータを乗算する。そしてさらに、このような計算を、意味クラス毎に行い（意味クラスが１０クラスであった場合には１０回行われる）、その意味クラス毎の値が加算されることにより、単語ｗ１と単語ｗ２の距離が算出される。
【００８５】
距離計算部１０２による計算結果は、順次、推薦単語抽出部１０４に供給される。推薦単語抽出部１０４は、ステップＳ３３において、推薦する情報（単語）を抽出する。
【００８６】
距離計算部１０２が式（９）に基づいて距離を計算する場合、計算結果が小さいほど距離が近いと判断され、距離が近いと判断されるほど、単語同士は類似していると判断される。ここでは、ユーザから供給された単語に類似する単語を推薦する情報として、ユーザ側に提供する。その提供する単語の数は、１つでも良いし、複数でも良い。１または複数の単語を推薦する場合、計算結果が小さい方から順に提供されるようにすればよい。
【００８７】
このようにした場合、推薦単語抽出部１０４は、距離計算部１０２から供給される計算結果を一旦蓄積するメモリを備える構成とされる。距離計算部１０２は、メモリに蓄積された計算結果を、値の小さい順にソートし、その順に、所定の数だけ（例えば、ユーザ側に提示する情報が１つの場合は１つ）、共通意味クラス抽出部１０５に出力する。
【００８８】
推薦単語抽出部１０４から共通意味クラス抽出部１０５に出力されるのは、推薦する単語（距離が最も近いと判断され、推薦情報テーブル６１−１から読み出された単語）のモデルパラメータであり、推薦単語抽出部１０４から提供部１０７に出力されるのは、推薦する単語の情報である。
【００８９】
共通意味クラス抽出部１０５は、ステップＳ３４において、ユーザから供給された単語のモデルパラメータと、推薦する単語のモデルパラメータを比較し、共に高い数値を示す意味クラスを抽出する。上記したように、意味クラスとは、単語を特徴付けるために設定されたものである。そこで、２つの単語のモデルパラメータを比較したときに、その２つの単語のモデルパラメータが共に高い数値を示す意味クラスを抽出することで、その２つの単語の特徴を見いだすことができると考えられる。
【００９０】
共通意味クラス抽出部１０５が抽出する意味クラスの数は、一番高い値を有する１つでも良いし、上位からの複数個の意味クラスでも良い。共通意味クラス抽出部１０５により、抽出される意味クラスの数を１つとした場合、次式（１０）に基づく算出が行われる。
【数５】
2010118086.tif 000007
【００９１】
式（１０）において、Ｐ（ｚ｜ｕ）は、ユーザから供給された単語ｕの意味クラスｚにおけるモデルパラメータを示し、Ｐ（ｚ｜ｒ）は、処理対象とされている単語ｒ（推薦理由テーブル６１−２に記載されている単語）の意味クラスｚにおけるモデルパラメータを示す。Ｐ（ｚ｜ｕ）は、距離計算部１０２から供給され、Ｐ（ｚ｜ｒ）は、推薦単語抽出部１０４から抽出される。
【００９２】
式（１０）によれば、Ｐ（ｚ｜ｕ）とＰ（ｚ｜ｒ）の積の最大値（Max）が算出される。この式（１０）に基づく算出結果のうち、最も大きな値を有する意味クラスが、共通意味クラスタとして、推薦理由抽出部１０６に供給される。
【００９３】
推薦理由抽出部１０６は、ステップＳ３５において、推薦理由としてユーザに提供する情報（単語）を抽出する。推薦理由抽出部１０６は、テーブル参照部１０３に、推薦理由テーブル６１−２（図８）を読み出すように指示を出す。その指示に対応し、テーブル参照部１０３は、推薦理由テーブル６１−２をモデルパラメータ保持部１２から読み出し、推薦理由抽出部１０６に供給する。
【００９４】
推薦理由抽出部１０６は、共通意味クラス抽出部１０５から供給された意味クラス（意味クラスＡとする）のモデルパラメータ値（モデルパラメータ値Ａとする）が大きい単語を、推薦理由テーブル６１−２を参照して検索する。
【００９５】
意味クラスＡのモデルパラメータだけを参照し、モデルパラメータＡよりも大きい値を有する単語を、推薦理由テーブル６１−２から読み出すようにしても良いし（従って、この場合、複数の単語が読み出される可能性がある）、最も大きなモデルパラメータ値を有する単語のみを読み出すようにしても良い。または、上位の複数の単語を読み出すようにしても良い。
【００９６】
いずれにしても、推薦理由抽出部１０６により、推薦理由とする単語（情報）が推薦理由テーブル６１−２から読み出され、提供部１０７に供給される。推薦理由抽出部１０６による処理を式で表すと、次式（１１）のようになる。
【数６】
2010118086.tif 000008
【００９７】
式（１１）において、Ｐ（ｚ｜ｗ）は、意味クラスｚにおける単語ｗのモデルパラメータを示す。推薦理由抽出部１０６には、共通意味クラス抽出部１０５から共通意味クラスに関する情報が供給されている。この供給される情報が示す意味クラスが、式（１１）における意味クラスｚの値として用いられる（代入される）。
【００９８】
式（１１）に基づく演算が行われることにより、共通意味クラスｚにおいて最も高い（Max）モデルパラメータの値を有する単語を抽出することができる。このようにして抽出された単語は、提供部１０７に供給される。
【００９９】
提供部１０７には、推薦単語抽出部１０４から推薦する単語と、推薦理由抽出部１０６から推薦理由とする単語とが供給される。
【０１００】
ステップＳ３６において、提供部１０７は、推薦する単語と推薦理由を、ユーザ側に提供する。このようにして、ユーザには、ユーザが入力した情報と、何らかの関係のある情報が推薦され、さらに、その情報をなぜ推薦するのかという推薦理由の情報も、提供される。よって、情報が推薦されたユーザは、自分が入力した情報と推薦された情報との間に、どのような関連があるのかなどの情報を理解することができるようになり、単に情報を推薦する場合よりも、よりユーザにとって有益な情報の提供を行えることになる。
【０１０１】
［推薦に関する具体的な例］
次に、図１２乃至図１６を参照し、再度、推薦情報提供装置１３が行う処理について説明する。
【０１０２】
図１２は、モデルパラメータ保持部１２が保持する推薦情報テーブル６１−１の一例を示す図である。図１２に示した推薦情報テーブル６１−１は、モデルパラメータの分布を図６と同様なグラフとして表した場合（図８に示したようなテーブル形式のデータをグラフ化した場合）を例に挙げて示している。図１２乃至図１６に示した図も、それぞれ、モデルパラメータの分布をグラフ化して表した場合を例に挙げて示している。また、意味クラスが１６クラス設けられている場合であり、横軸に意味クラス、縦軸にモデルパラメータをとったときの例を挙げて示している。
【０１０３】
また、図１２乃至図１６に示した各グラフは、実際のデータを基に作成されたグラフである。図１２に示したグラフは、推薦情報テーブル６１−１の一例を示しているが、推薦情報テーブル６１−１は、上記したように、ユーザからの情報に類似した（関連した）単語（情報）を提供するために設けられているテーブルである。ここでは、音楽に関する情報が推薦される場合を例に挙げて説明するため、推薦情報テーブル６１−１に書き込まれている情報（単語）は、音楽に関する情報である。さらにここでは、アーティスト名が管理されているとして説明を続ける。
【０１０４】
上記したように、図１２乃至図１７に示したグラフは、実際のデータを基に作成されたグラフであり、図１２に示したグラフ（推薦情報テーブル６１−１）で管理している単語も、実在するアーティスト（音楽家、グループなど）の名前である。しかしながら、説明の都合上、それらの実在するアーティストの名前を挙げることはできないため、図１２においては、“アーティストＡ”などと表記している。
【０１０５】
図１２に示した推薦情報テーブル６１−１に記憶されているアーティストＡ乃至アーティストＦについて、一般的な評価、分類について説明を加える。なお、ここで加える説明は、アーティストＡ乃至アーティストＦに対して一般的にいわれていることであり、例えば、ＣＤなどの販売店で、そのアーティストのＣＤがおかれているジャンルや、そのアーティストに関する記事などで、そのアーティストを表現するのに使われている単語などを列記する。
【０１０６】
アーティストＡとアーティストＢは、共に、アイドル（Idol）に属している。アーティストＣとアーティストは、共に、演歌歌手に属している。アーティストＡ乃至アーティストＤは、日本人である。アーティストＥとアーティストＦは、ロック（Rock）やポップス（Pops）に属し、外国人である。アーティストＡ乃至アーティストＦは、このような特徴を有する。
【０１０７】
図１２に示すように、例えば、アーティストＡとアーティストＢは、共にアイドルに属する歌手であるため、意味クラスにおけるモデルパラメータの分布の形状が類似している。同様に、アーティストＣとアーティストＤ、アーティストＥとアーティストＦに関するモデルパラメータの分布の形状も類似している。逆に、例えば、アーティストＢとアーティストＣは、属する分野が異なるため、モデルパラメータの分布の形状が異なったもの（類似していないもの）となっている。
【０１０８】
このように、類似点を有するようなアーティスト同士のモデルパラメータの分布の形状は、類似した形状となり、類似点を有しないようなアーティスト同士のモデルパラメータの分布の形状は、類似していない形状となる。すなわち、モデルパラメータの分布の形状で、単語（アーティスト）を特徴付けることが可能であることがわかる。
【０１０９】
図１３は、推薦理由テーブル６１−２で管理されているデータの一例を示す図である。推薦理由テーブル６１−２は、ユーザ側に推薦する情報を、なぜ推薦するのかを示す推薦理由を抽出する際に参照されるテーブルである。推薦理由テーブル６１−２には、推薦理由として、複数の単語が管理されている。図１３に示した例では、“定番”、“アイドル”、“声量”、“豪華”という４つの単語が管理されている例を示す。
【０１１０】
これらの４つの単語に関しても、上記したこと、すなわち、モデルパラメータの分布の形状により特徴付けることが可能である。
【０１１１】
図１２に示したような推薦情報テーブル６１−１と、図１３に示したような推薦理由テーブル６１−２が、モデルパラメータ保持部１２に保持されている場合を例に挙げて、図１０に示した推薦情報提供装置１３において実行される、図１１に示したフローチャートの処理について説明を加える。
【０１１２】
ステップＳ３１において、情報取得部１０１が、ユーザにより、“アーティストＡ”という情報を取得すると、ステップＳ３２において、“アーティストＡ”という単語と、推薦情報テーブル６１−１に記憶されている各単語との距離が計算される。まず距離計算部１０２は、情報取得部１０１から“アーティストＡ”という単語を取得すると、テーブル参照部１０３により参照される推薦情報テーブル６１−１（図１２）から、図１４に示すモデルパラメータを読み出す。
【０１１３】
図１４は、“アーティストＡ”に関するモデルパラメータの分布を示す図である。距離計算部１０２は、図１４に示した“アーティストＡ”のモデルパラメータと、図１２に示した推薦情報テーブル６１−１の各単語のモデルパラメータを用いて、推薦情報テーブル６１−１に記載されている単語毎に、“アーティストＡ”との距離を算出する。
【０１１４】
すなわち、“アーティストＡ”と“アーティストＢ”との距離１が算出され、“アーティストＡ”と“アーティストＣ”との距離２が算出され、“アーティストＡ”と“アーティストＤ”との距離３が算出され、“アーティストＡ”と“アーティストＥ”との距離４が算出され、“アーティストＡ”と“アーティストＦ”との距離５が算出される。距離計算部１０２により算出された距離１乃至距離５は、順次、推薦単語抽出部１０４に供給される。
【０１１５】
実際に実データに基づきアーティストＡとの類似度を計算すると以下のようになる。なお、式（９）で示したKullback-Leibler  divergenceの値は、同じ分布の場合に０となり、異なる分布ほど大きな値となるため、類似度としては、ここでは、
ｅｘｐ（−Ｄ（ｗｉ，ｗｊ））
を利用している。
【０１１６】
アーティストＡとアーティストＢの類似度    5.179e-1
アーティストＡとアーティストＣの類似度    1.125e-4
アーティストＡとアーティストＤの類似度    6.378e-6
アーティストＡとアーティストＥの類似度    4.365e-2
アーティストＡとアーティストＦの類似度    1.820e-2
【０１１７】
推薦単語抽出部１０４は、ステップＳ３３において、推薦単語を抽出する。この場合、供給された距離１乃至距離５のうち、最も距離が近い距離が抽出され、その距離に対応する単語が、推薦単語として決定される。最も距離が近いと判断される距離は、最もモデルパラメータの分布の形状が類似している単語である。よって、この場合、図１２を参照するに、“アーティストＡ”と“アーティストＢ”との距離１が、最も距離が近い距離であると判断され、“アーティストＢ”が推薦単語として抽出される。
【０１１８】
このようにして抽出された“アーティストＢ”という情報は、提供部１０７に供給される。また“アーティストＢ”に係わるモデルパラメータは、共通意味クラス抽出部１０５に供給される。共通意味クラス抽出部１０５には、距離計算部１０２から、“アーティストＡ”に関するモデルパラメータも供給されている。
【０１１９】
すなわち、共通意味クラス抽出部１０５には、図１５に示すように、“アーティストＡ”に係わるモデルパラメータと、“アーティストＢ”に係わるモデルパラメータが供給される。共通意味クラス抽出部１０５は、ステップＳ３４において、供給されたこれら２つのモデルパラメータの分布を参照し、共通してモデルパラメータの値が高い意味クラスを抽出する。
【０１２０】
図１５を参照するに、“アーティストＡ”と“アーティストＢ”の両方のモデルパラメータのうち、共通して値が高いのは、意味クラスｚ８である（図１５において点線で囲った部分）。よって、この場合、共通意味クラス抽出部１０５では、意味クラスｚ８が、共通意味クラスとして抽出される。
【０１２１】
共通意味クラス抽出部１０５が、上述した式（１０）に基づいて処理を実行する場合、次式により求められた値が、最も大きな値となる。すなわち、式（１０）において、max以下の部分に値を代入した式を以下に記述すると、
Ｐ（意味クラスｚ８｜アーティストＡ）×Ｐ（意味クラスｚ８｜アーティストＢ）
となるときに演算された値が、この場合、他の意味クラスのときに演算された値と比べて最も大きな値となる。よって、意味クラスｚ８が共通意味クラスとして、推薦理由抽出部１０６に供給される。
【０１２２】
推薦理由抽出部１０６は、ステップＳ３５において、推薦理由の抽出を行う。この場合、推薦理由抽出部１０６には、共通意味クラスとして、意味クラスｚ８という情報が供給されている。推薦理由抽出部１０６は、図１３に示したデータを管理している推薦理由テーブル６１−２のうち、意味クラスｚ８に関連付けられているモデルパラメータの値を参照する。
【０１２３】
すなわち、図１６を参照するに、推薦理由抽出部１０６は、推薦理由テーブル６１−２のうち、図中点線で囲った部分に存在するモデルパラメータの値のみを参照する。このとき、式（１１）に基づいて処理が行われるとすれば、max以下の部分に値を代入して記載すると、
Ｐ（意味クラスz８｜定番）
Ｐ（意味クラスz８｜アイドル）
Ｐ（意味クラスz８｜声量）
Ｐ（意味クラスz８｜豪華）
に、それぞれ該当する値が読み出され、このうち、最も値が大きい単語が選択される。
【０１２４】
図１６に示した例では、  Ｐ（意味クラスz８｜アイドル）  の値が最も高い値になるので、“アイドル”という単語が推薦理由として選択される。推薦理由抽出部１０６により抽出された“アイドル”という単語の情報は、提供部１０７に供給される。
【０１２５】
このようにして、提供部１０７には、推薦情報として“アーティストＢ”が、推薦理由として“アイドル”が、供給される。このような情報は、例えば、“推薦する情報は、「アーティストＢ」です。推薦する理由は、アーティストＡと同じく「アイドル」だからです。”といったようなメッセージに加工されて、ユーザ側に提示される。
【０１２６】
このように、本発明を適用することにより、ユーザ側から供給される情報に関連がある情報を抽出することができる。また、その抽出される情報は、ユーザ側から供給される情報に類似する情報とすることができる。また、その類似する情報を抽出する際、意味クラスという概念を利用して抽出するので、より、類似性の高い情報を、より確実に抽出することが可能となる。
【０１２７】
また、本発明を適用することにより、推薦（提供）する情報に関し、なぜその情報を推薦するのかといったような推薦理由も抽出することが可能となり、ユーザ側に提示することが可能となる。よって、ユーザが、推薦された情報が、なぜ推薦されたのかを理解することができるようになる。
【０１２８】
［情報の抽出に関する他の方法］
なお、推薦情報提供装置１３の処理として図１１に示したフローチャートを参照して説明した実施の形態においては、ステップＳ３２，Ｓ３３において、ユーザからの情報と推薦情報テーブル６１−１に記載されている情報毎との距離を計算することにより、推薦する情報を決定した。また、ステップＳ３４，Ｓ３５において、推薦する情報のモデルパラメータの値が大きな意味クラスと、その意味クラスでモデルパラメータが高い情報が、推薦理由テーブル６１−２から読み出されることにより、推薦理由が決定された。
【０１２９】
すなわち、上述した実施の形態においては、推薦する情報を決定するときには、距離が計算され、推薦する理由を決定するときには、モデルパラメータ値の高い意味クラスが抽出された。
【０１３０】
推薦情報提供装置１３の他の実施の形態とし、推薦する情報を決定するときも、推薦する理由を決定するときも、ともに、単語同士の距離を計算し、その距離が近いとされる情報が、推薦する情報、推薦する理由として決定されるようにしても良い。このようにした場合、推薦する情報を決定するときには、上記した処理と同様の処理（ステップＳ３２，Ｓ３３）が実行される。そして、推薦する理由が決定されるときには、推薦する情報（または、ユーザからの情報でも良い）と推薦理由テーブル６１−２に記載されている各情報との距離が計算され、距離が近いと判断される情報が、推薦理由テーブル６１−２から読み出されるようにすればよい。
【０１３１】
また、推薦情報提供装置１３の他の実施の形態とし、推薦する情報を決定するときも、推薦する理由を決定するときも、ともに、モデルパラメータ値の高い意味クラスが抽出されることにより行われるようにしても良い。このようにした場合、推薦する情報を決定するときには、ユーザからの情報のモデルパラメータ値が最も高い意味クラスが抽出され、その抽出された意味クラスのモデルパラメータ値が高い情報が、推薦情報テーブル６１−１から読み出されることにより決定される。そして、推薦する理由を決定するときには、上記した処理と同様の処理（ステップＳ３４，Ｓ３５）が実行されるようにすればよい。
【０１３２】
また、推薦情報提供装置１３の他の実施の形態とし、推薦する情報を決定するときには、モデルパラメータ値の高い意味クラスが抽出されることにより行われるようにし、推薦する理由を決定するときには、単語同士の距離が計算されることにより行われるようにしても良い。このようにした場合、推薦する情報を決定するときには、ユーザからの情報のモデルパラメータ値が最も高い意味クラスが抽出され、その抽出された意味クラスのモデルパラメータ値が高い情報が、推薦情報テーブル６１−１から読み出される。そして、推薦する理由が決定されるときには、推薦する情報と推薦理由テーブル６１−２に記載されている各情報との距離が計算され、距離が小さいと判断される情報が、推薦理由テーブル６１−２から読み出されるようにすればよい。
【０１３３】
また、推薦情報提供装置１３の他の実施の形態とし、推薦する情報や推薦する理由を、モデルパラメータ値の高い情報とするようにした場合、所定の閾値よりも高いモデルパラメータ値をもつ情報が、推薦する情報や推薦する理由として決定されるようにしても良い。
【０１３４】
上記した実施の形態においては、ユーザから供給される情報は、１つであり、その１つの情報から類似度が計算され、推薦情報や推薦理由が抽出される手順を説明した。一般に推薦が行われる場合、ユーザからの情報が複数与えられた方がより適切な推薦情報や推薦理由を生成することができる。
【０１３５】
そこで、ユーザからの情報が、複数与えられたときの類似度の計算方法について説明する。ユーザからの情報が複数与えられたときの類似度の計算方法としては、（１）個々のユーザ情報との類似度を計算し、その和を算出する方法と、（２）個々のユーザ情報の分布を重畳し、その重畳分布を利用して類似度を計算する方法の２つがある。
【０１３６】
（１）の方法は、上記した説明とユーザから１つの情報が与えられたときと同様の類似度計算と同様の処理を、与えられた複数の情報に対して適用し、その値を累積することにより行われる。
【０１３７】
（２）の方法は、ユーザからの情報に対応する個々の分布を重畳して、１つの分布を合成し、その合成分布との間で類似度を計算するというものである。複数の分布を重畳する方法として、例えば、本出願人が先に出願した特願2004-296473号に記載の方法を適用することができる。ここでは、特願2004-296473号に記載の方法について、簡便な説明を加えておく。
【０１３８】
図１７は、複数（ここでは２個とする）の分布を重畳する方法について説明するための図である。図１７の上側には、ユーザからの情報として単語ｗ１と単語ｗ２が供給された場合の単語ｗ１と単語ｗ２の意味クラス毎の確率分布をグラフ化したもの（単語ｗ１と単語ｗ２の、それぞれの確率分布表現）を示している。この単語ｗ１と単語ｗ２を重畳したグラフを図１７の下側に示す。図１７の下側のグラフは、文脈（ｗ１，ｗ２）の確率分布表現のグラフを示す。ここでは、２つの単語を含むということで、文脈と表現する。
【０１３９】
文脈（ｗ１，ｗ２）との表記は、単語ｗ１と単語ｗ２を含む文脈の確率分布表現を示すとする。また、その所定の意味クラスｚにおける確率値は、ｐ（ｚ｜ｗ１，ｗ２）と表記する。
【０１４０】
図１７を参照したように、複数の単語の確率分布表現を重ね合わせることにより、文脈に関する確率分布表現を作成する場合、各単語の意味クラスに基づく確率分布表現から、複数の単語より構成される文や文章の意味クラスに基づく確率分布表現が求められる。
【０１４１】
ｗ１,ｗ２,・・,ｗｎのn個の単語を含む文脈をhとすると、この意味クラスに基づく分布表現は次式（１２）で表される。
【数７】
2010118086.tif 000009
【０１４２】
式（１２）に示したように、意味クラスに基づく分布表現は、意味クラスｚにおける生起確率ｐ（ｚ｜ｗ）を、単語毎に乗算していくことにより求められる。ここでｗ１，ｗ２,・・,ｗｎは全て独立に生起するものと仮定して、それらが全て生起した時に意味クラスの分布がどのようになるかという近似を用いている。ここでβは、全てのクラスにわたる確率値の合計が１になるようにするための正規化係数である。またα（wi）は、個々の単語毎に決められる重み係数である。
【０１４３】
また、ナイーブベイズを用いることによって次式（１３）のように、
【数８】
2010118086.tif 000010
と近似することも可能である。
【０１４４】
このようにして、ユーザから供給された複数の情報（単語）の確率分布表現を重畳し、１つの確率分布表現を生成し、その１つの確率分布表現を、上記した実施の形態における、ユーザから供給された情報の確率分布表現として用いれば、上記した方法により推薦情報や推薦理由を抽出することができる。
【０１４５】
また、複数のユーザ情報から類似する推薦情報を抽出するというこの手順は、ユーザ情報と、それに対応する推薦情報の両方を利用して、推薦する理由を決定する際にも同様に利用できる。すなわち、ユーザ情報と推薦情報を複数の分布として、上記の類似度の累計や分布の重畳によって類似する推薦理由を抽出する。
【０１４６】
［記録媒体について］
上述した一連の処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１４７】
図１８は、汎用のパーソナルコンピュータの内部構成例を示す図である。パーソナルコンピュータのＣＰＵ（Central Processing Unit）１００１は、ＲＯＭ（Read Only Memory）１００２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Random Access Memory）１００３には、ＣＰＵ１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース１００５は、キーボードやマウスから構成される入力部１００６が接続され、入力部１００６に入力された信号をＣＰＵ１００１に出力する。また、入出力インタフェース１００５には、ディスプレイやスピーカなどから構成される出力部１００７も接続されている。
【０１４８】
さらに、入出力インタフェース１００５には、ハードディスクなどから構成される記憶部１００８、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部１００９も接続されている。ドライブ１０１０は、磁気ディスク１０２１、光ディスク１０２２、光磁気ディスク１０２３、半導体メモリ１０２４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【０１４９】
記録媒体は、図１８に示すように、パーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１０２１（フレキシブルディスクを含む）、光ディスク１０２２（CD-ROM（Compact Disc-Read Only Memory），DVD（Digital Versatile Disc）を含む）、光磁気ディスク１０２３（MD（Mini-Disc）（登録商標）を含む）、若しくは半導体メモリ１０２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ１００２や記憶部１００８が含まれるハードディスクなどで構成される。
【０１５０】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１５１】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【符号の説明】
【０１５２】
１１  学習装置，  １２  モデルパラメータ保持部，  １３  推薦情報提供装置，  ３１  入力部，  ３２  形態素解析部，  ３３  データ更新部，  ３４  記憶部，  ３５  モデルパラメータ生成部，  ３６  モデルパラメータデータベース，  ６１  テーブル，  １０１  情報取得部，  １０２  距離計算部，  １０３  テーブル参照部，  １０４  推薦単語抽出部，  １０５  共通意味クラス抽出部，  １０６  推薦理由抽出部，  １０７  提供部
【図１】
2010118086.tif 000011
【図２】
2010118086.tif 000012
【図３】
2010118086.tif 000013
【図４】
2010118086.tif 000014
【図５】
2010118086.tif 000015
【図６】
2010118086.tif 000016
【図７】
2010118086.tif 000017
【図８】
2010118086.tif 000018
【図９】
2010118086.tif 000019
【図１０】
2010118086.tif 000020
【図１１】
2010118086.tif 000021
【図１２】
2010118086.tif 000022
【図１３】
2010118086.tif 000023
【図１４】
2010118086.tif 000024
【図１５】
2010118086.tif 000025
【図１６】
2010118086.tif 000026
【図１７】
2010118086.tif 000027
【図１８】
2010118086.tif 000028