"電子商取引ECommerceサービスにおいて、商品情報とユーザの購買情報とを利用する商品推薦装置であって、前記ECommerceサービスにおける商品の情報を取得し、商品情報記憶手段に格納する商品情報取得手段と、前記ECommerceサービスにおける各ユーザIDの購買情報を取得し、購買情報記憶手段に格納する購買情報取得手段と、前記購買情報記憶手段の前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報記憶手段の商品情報中の各商品に付与されたメタデータを用いて、各ユーザと各商品のトピックを推定するユーザトピック推定手段と、前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報中の各商品に付与されたメタデータとを用いて、各語の購買情報への関連性を推定する関連性推定手段と、取得した前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報中の各商品に付与されたメタデータとを用いて、各語と各商品のトピックを推定するワードトピック推定手段と、前記ユーザトピックと、前記各語の購買情報への関連性と、前記ワードトピックとを用いて、各ユーザが各商品を購買する確率を算出し、推薦スコア記憶手段に格納する推薦スコア算出手段と、ユーザの識別子が与えられると、前記商品情報記憶手段に格納されている各商品に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の商品の識別子を推薦商品として選択する商品推薦手段と、を有することを特徴とする商品推薦装置。前記ユーザトピック推定手段と、前記関連性推定手段と、前記ワードトピック推定手段は、ギブスサンプリングを用いる請求項1記載の商品推薦装置。電子商取引ECommerceサービスにおいて、商品情報とユーザの購買情報とを利用する商品推薦方法であって、商品情報取得手段が、前記ECommerceサービスにおける商品の情報を取得し、商品情報記憶手段に格納する商品情報取得ステップと、購買情報取得手段が、前記ECommerceサービスにおける各ユーザIDの購買情報を取得し、購買情報記憶手段に格納する購買情報取得ステップと、ユーザトピック推定手段が、前記購買情報記憶手段の前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報記憶手段の商品情報中の各商品に付与されたメタデータを用いて、各ユーザと各商品のトピックを推定するユーザトピック推定ステップと、関連性推定手段が、前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報中の各商品に付与されたメタデータとを用いて、各語の購買情報への関連性を推定する関連性推定ステップと、ワードトピック推定手段が、前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報中の各商品に付与されたメタデータとを用いて、各語と各商品のトピックを推定するワードトピック推定ステップと、推薦スコア算出手段が、前記ユーザトピックと、前記各語の購買情報への関連性と、前記ワードトピックとを用いて、各ユーザが各商品を購買する確率を算出し、推薦スコア記憶手段に格納する推薦スコア算出ステップと、商品推薦手段が、ユーザの識別子が与えられると、前記商品情報記憶手段に格納されている各商品に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の商品の識別子を推薦商品として選択する商品推薦ステップと、を行うことを特徴とする商品推薦方法。前記ユーザトピック推定ステップと、前記関連性推定ステップと、前記ワードトピック推定ステップにおいて、ギブスサンプリングを用いる請求項3記載の商品推薦方法。コンピュータを、請求項1または2に記載の商品推薦装置の各手段として機能させるための商品推薦プログラム。一般にECommerceサービスの扱う商品は幅広く、こういった中でユーザが本当に興味のある商品を見つけるのは困難である。上記の特許文献1の手法を用いて商品を推薦する場合、ユーザが指定した興味のある語に関連する商品が推薦される。この場合、語を指定しなければならないという問題がある。このようにユーザのインタラクションを必要とするシステムは、ユーザにとっては不便である。非特許文献1に記載の手法で商品を推薦する場合、誰にも購入されていない商品を推薦することは不可能である。そのため、人気で有名な商品ばかりが推薦されがちで、ユーザはその商品を既に知っている場合が多く、推薦しても新たな購買に結びつかない。また、非特許文献2に記載の手法で商品を推薦する場合、日本語で言えばたとえば人や情報のような、ユーザの購買の嗜好に関連しない語がノイズとなり、ユーザが買う確率の高い商品をうまく推薦できないという問題点がある。本発明は上記の点に鑑みなされたもので、ECommerceサービスにおいて、購買履歴から商品につけられたメタデータ中のどの語が購買に関連があるかを推定することで、一度も購入されていなくてもユーザが買う確率の高い商品を推薦することが可能な商品推薦装置及び方法及びプログラムを提供することを目的とする。上記の課題を解決するために、本発明請求項1は、ECommerceサービスにおいて、商品情報とユーザの購買情報とを利用する商品推薦装置であって、前記ECommerceサービスにおける商品の情報を取得し、商品情報記憶手段に格納する商品情報取得手段と、前記ECommerceサービスにおける各ユーザIDの購買情報を取得し、購買情報記憶手段に格納する購買情報取得手段と、前記購買情報記憶手段の前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報記憶手段の商品情報中の各商品に付与されたメタデータを用いて、各ユーザと各商品のトピックを推定するユーザトピック推定手段と、前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報中の各商品に付与されたメタデータとを用いて、各語の購買情報への関連性を推定する関連性推定手段と、取得した前記購買情報中の各ユーザの各商品に関する購買したか否かの情報と、前記商品情報中の各商品に付与されたメタデータとを用いて、各語と各商品のトピックを推定するワードトピック推定手段と、前記ユーザトピックと、前記各語の購買情報への関連性と、前記ワードトピックとを用いて、各ユーザが各商品を購買する確率を算出し、推薦スコア記憶手段に格納する推薦スコア算出手段と、ユーザの識別子が与えられると、前記商品情報記憶手段に格納されている各商品に対して、前記推薦スコア記憶手段に格納されている推薦スコアを取得し、前記推薦スコアの上位N件の商品の識別子を推薦商品として選択する商品推薦手段と、を有する。また、本発明請求項2は、前記ユーザトピック推定手段と、前記関連性推定手段と、前記ワードトピック推定手段は、ギブスサンプリングを用いる。本発明によれば、本発明は購買履歴と、商品のメタデータの両者を用いることで、従来の技術では不可能であった、商品のメタデータ中のどの語がユーザの購買と関連するかが推定可能となる。また、語の購買への関連性を用いることで、一度も購買されたことがない商品であっても高精度にユーザに推薦することが可能になる。これはECommerceサービス等における購買の増加につながる。以下図面と共に、本発明の実施の形態を説明する。本発明では、ECommerceサービスにおいて、一度も購入されていなくてもユーザが買う確率の高い商品を推薦することを目的とする。具体的には、購買履歴を用いて、どの語が購買に関連があるかを推定する。その後、購買履歴と、語の購買への関連性を用いて、ユーザの興味を推定し、そのユーザの興味に適合した商品を推薦する手法を実現する。したがって、たとえ一度も購買されたことのない商品であっても、ユーザの購買に関連がある語を含むメタデータをもつ商品であれば推薦可能となる。本発明では、購買履歴と、商品のメタデータの生成を関連づけてモデル化する。今、購買履歴を{i,u}で表す。はどの商品が購買されたかを表し、はどのユーザにより購買されたかを表す。ただし、Mは全購買数を表す。同様に、商品のメタデータを{i,w}で表す。はどの商品へのメタデータなのかを、はどの語がメタデータとして付与されたかを表す。但し、Nは全商品のメタデータに含まれる語数の合計である。このとき、{i,u,j,w}が生成される確率が以下の式のように展開できると仮定する。ここで、は、購買のトピック非特許文献1でいうところのユーザのpreferenceを、は、当該語の購買への関連性をそれぞれ表す。具体例を用いて説明しよう。何人かのユーザといくつかの商品からなる購買履歴があり、各商品にはメタデータのテキストが含まれる。すばらしいSFホラー作品とメタデータのついた商品があったとする。購買履歴から、SFのみが推薦に関連のある語と判断される。結果、該商品が一度も買われたことがなかったとしても、SF好きのユーザにこの商品が推薦される。以下、図面と共に本発明の実施形態を説明する。図1は、本発明の一実施の形態における商品推薦装置の構成を示す。同図に示す商品推薦装置1は、商品情報処理部10、購買情報処理部20、推薦スコア算出部30、商品推薦部40、記録部50、通信部60、入出力部70から構成され、通信部60はネットワーク3に接続されており、入出力部70は、入力装置や表示装置等の外部装置4に接続されている。推薦スコア算出部30は、ユーザトピック推定部31、関連性推定部32、ワードトピック推定部33から構成される。記憶部50は、商品情報テーブル51、購買情報テーブル52、推薦スコアテーブル53から構成される。以下に各テーブルについて説明する。<商品情報テーブル51>商品情報テーブル51には、図2に示すように、商品IDフィールド、メタデータフィールドが含まれる。商品IDフィールドは、その商品を特定する識別子であり、商品情報処理部10により設定される。メタデータフィールドは、該商品のメタデータが、商品情報処理部10によりテキストデータにて設定される。本メタデータは、書籍の本文や、コンテンツ配信者により作成された商品紹介の概要文、ユーザにより付けられたタグ等、テキストの形式をなすものであればどのようなものでも構わない。<購買情報テーブル52>購買情報テーブル52には、図3に示すように、商品IDフィールド、ユーザIDフィールドが含まれる。商品IDフィールドは、商品情報テーブルに出現する商品の識別子と対応し、購買情報処理部20により設定される。ユーザIDフィールドは、該商品を購買したユーザを特定する識別子が、購買情報処理部20により設定される。<推薦スコアテーブル53>推薦スコアテーブル53には、図4に示すように、ユーザIDフィールドと、商品IDフィールドと、推薦スコアフィールドとが含まれる。推薦スコアフィールドは、該アカウントuの、該商品iに対する推薦スコアPが推薦スコア算出部30により設定される。はじめに、本発明の一実施の形態における商品情報更新時の処理を詳細に説明する。商品情報の更新は、メタデータが書籍の本文やコンテンツの紹介文のようなサービスプロバイダから提供されているようなものの場合は、システム管理者により行われる。メタデータがソーシャルブックマークのタグのようなユーザにより提供されるようなものの場合は、システム管理者ユーザともに本処理を発生させる可能性がある。図5は、本発明の一実施の形態における商品情報更新時の処理のフローチャートである。商品情報更新のタイミングは、例えばシステム管理者が手動で管理することができるようにすればよい。今、商品iについての情報の更新があったとする。ステップ110商品情報処理部10が、商品情報テーブル51に、商品iの情報を記した行を構成し、すでに商品iの情報が商品情報テーブル51に含まれる場合は、そのように情報を更新し、もし含まれない場合は新たに行を挿入する。図6は、本発明の一実施形態における購買時の処理のフローチャートである。ステップ210購買情報処理部20が、購買情報テーブル52に、購買された商品、購買したユーザに応じて商品IDフィールド、ユーザIDフィールドの値を設定した行を挿入する。図7は、本発明の一実施の形態における推薦スコア更新時の処理のフローチャートである。推薦スコア更新のタイミングは、例えばシステム管理者が手動で管理することができるようにしてもよいし、定期的に自動で行ってもよい。ステップ310推薦スコア算出部30が、推薦のためのパラメータであるトピック数Κ、P算出のための事前パラメータξ、Piz、P算出のための事前パラメータα、Puz算出のための事前パラメータβ、P算出のための事前パラメータγ、P算出のための事前パラメータδ、Prc算出のための事前パラメータηを設定する。これらパラメータは、予め与えておいた定数により設定される。ステップ320推薦スコア算出部30が、購買情報テーブル52を参照し、各購買のユーザuと、商品iを取得する。ステップ330推薦スコア算出部30が、商品情報テーブル51を参照し、商品のメタデータを取得する。ステップ340推薦スコア算出部30が、ステップ330にて取得した商品のメタデータ中のテキストを形態素解析のような手法で語単位に分割し、各語についてそれが付与されているアイテムj、語wを取得する。ステップ350推薦スコア算出部30が、文献1BishopMCPatternrecognitionandmachinelearning2006記載のCollapsedギブスサンプリングを用いて各購買のトピックz、メタデータ中の各語のトピックy、メタデータ中の各語の購買との関連性rを推定する。ステップ360推薦スコア算出部30が、ステップ310にて設定したパラメータΚ、ξ、α、β、γ、δ、ηと、ステップ350にて推定した各購買のトピックz、メタデータ中の各語のトピックy、メタデータ中の各語の購買との関連性rと以下の式とを用いて各ユーザuの各商品iに対する推薦スコアPi,uを算出する。ここでMkはトピックkにアサインされた購買数、Nkはトピックkにアサインされたメタデータ中の語の総数、Mkiはトピックkにアサインされ、かつ商品iに関する購買の数、Nkiは商品iのメタデータ中の語でトピックkにアサインされたものの数、Mkuはトピックkにアサインされたユーザuの購買数を表す。MkとMkuとMki、Mkuはステップ350にて推定した各購買のトピックzにより求めることができ、NkならびにNkiはメタデータ中の各語の購買との関連性rを用いて推定されたメタデータ中の各語のトピックyにより求めることができる。なお、Uはユーザの総数を表す。ステップ370推薦スコア算出部30が、各ユーザu、各商品iについて推薦スコアテーブル53にユーザIDフィールドの値がu、商品IDフィールドの値がiの行の推薦スコアをPに更新する。次に、上記の図7のステップ350の処理を詳細に説明する。図8は、本発明の一実施の形態における図7のステップ350の詳細な処理のフローチャートである。ステップ351推薦スコア算出部30が、各購買のトピックzmm=1,...,Mを最小値1、最大値の整数Kで初期化する。ステップ352推薦スコア算出部30が、メタデータ中の各語のトピックynを最小値1、最大値の整数Kで初期化する。ステップ353推薦スコア算出部30が、メタデータ中の各語の購買への関連性rnを最小値0、最大値の整数1で初期化する。ステップ354から356を、十分な回数例えば500回繰り返す。繰り返しの回数については、予め設定した任意の数でも構わないし、各購買のトピックz、メタデータ中の各語のトピックy、メタデータ中の各語の購買との関連性rが収束したらそこで打ち切るようにしてもよい。ステップ354ユーザトピック推定部31が、各購買のトピックzmを更新する。ステップ355関連性推定部32が、メタデータ中の各語の購買への関連性rnを更新する。ステップ356ワードトピック推定部33が、メタデータ中の各語のトピックynを更新する。次に、上記の図8のステップ354の処理を詳細に説明する。図9は、本発明の一実施の形態における図8のステップ354の詳細な処理のフローチャートである。全ての購買m1,...,Mについて、ステップ3541とステップ3542を行う。ステップ3541ユーザトピック推定部31が、該購買のトピックzmの各トピック候補k=1,...,Kへアサインされるサンプリング確率を以下の式により算出する。ここで\mは該購買を除いたときの回数もしくは変数を表す。つまり、例えばは更新前にzmがkにアサインされていればを表し、そうでなければを表す。ステップ3542ユーザトピック推定部31が、ステップ3541にて算出した該購買のトピックzmの各トピック候補k=1,...,Kへアサインされるサンプリング確率に基づき、乱数を発生させて、zmを更新する。具体的には、k=2,...,Kについて、式に従ってサンプリング確率を更新する。さらに、k=1,...,Kについて、サンプリングを式5のように更新する。その後、最小値0、最大値1の小数の乱数を発生させてその値をサンプリング確率が上回る最小のkにアサインする。例を挙げて説明すると、今K=3として、式3に基づき算出されたサンプリング確率がそれぞれP16、P04、P20であったとする。つまり、それぞれのトピックに415の割合でサンプリングされるようにしたい。このとき、式と式を用いてP04、P05、P10とサンプリング確率を更新し、最小値0、最大値1の小数の乱数を発生させてその値をサンプリング確率が上回る最小のkにアサインすればよい。次に、上記の図8のステップ355の処理を詳細に説明する。図10は、本発明の一実施の形態における図8のステップ355の詳細な処理のフローチャートである。メタデータ中の全ての語n=1,...,Nについて、ステップ3551とステップ3552を行う。ステップ3551関連性推定部32が、該語の購買への関連性rnが0もしくは1へアサインされるサンプリング確率を式及び式により算出する。ここでNはメタデータ中の語数、N0は購買への関連性が0であるメタデータ中の語数を、N0wは購買への関連性が0であるメタデータ中の語wの出現数を、Nyは購買への関連性が1で、トピックyにアサインされたメタデータ中の語数を、Nywは購買への関連性が1で、トピックyにアサインされたメタデータ中の語wの出現数を、Wはメタデータの語彙数をそれぞれ表す。\nは該語を除いたときの回数もしくは変数を表す。ステップ3552関連性推定部32が、ステップ3551にて算出した該語の購買への関連性rnのサンプリング確率に基づき、乱数を発生させて、rnを更新する。本処理の詳細はステップ3542と同様である。次に、上記の図8のステップ356の処理を詳細に説明する。図11は、本発明の一実施の形態における図8のステップ356の詳細な処理のフローチャートである。メタデータ中の全ての語n=1,...,Nについて、ステップ3561とステップ3562を行う。ステップ3561ワードトピック推定部33が、該語のトピックynがトピック候補k=1,...,Kそれぞれにアサインされるサンプリング確率を算出する。ステップ355で更新した該語の購買への関連性が0の場合式を、1の場合式を用いる。ステップ3562ワードトピック推定部33が、ステップ3561にて算出した該語のトピックynのサンプリング確率に基づき、乱数を発生させて、ynを更新する。本処理の詳細はステップ3542と同様である。図12は、本発明の一実施の形態における商品推薦時の処理のフローチャートである。たとえば、ユーザがシステムにログインしたときに本処理を実行するようにすればよい。ステップ410商品情報処理部10が、商品情報テーブル51を参照し、商品集合を取得する。ステップ420商品推薦部40が、前記商品集合に含まれる各商品iに対して、推薦スコアテーブル53を参照しアカウントuの商品iに対する推薦スコアPを取得し、アカウントuに推薦すべき商品を決定する。その際、推薦スコアPの値が大きいものから順に予め設定した任意の件数K件を推薦すべき商品としてもよいし、推薦スコアPに対し、ある閾値を設けて、推薦スコアがその値を超えるものを推薦すべき商品としてもよい。なお、上記の商品推薦装置の各構成要素の処理をプログラムとして構築し、商品推薦装置として利用されるコンピュータにインストールして実行させる、または、ネットワークを介して流通させることが可能である。また、構築されたプログラムをハードディスクや、フレキシブルディスク、CD-ROM等の可搬記憶媒体に格納し、コンピュータにインストールする、または、配布することが可能である。なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において種々変更応用が可能である。"