(57)【要約】  少ない計算量で傾向の推定を行える情報処理装置等を提供すること。  情報処理装置（２０）は、複数の第１項目にそれぞれ関連づけられた値が要素である第１特徴ベクトルと、複数の第２項目にそれぞれ関連づけられた値が要素である第２特徴ベクトルとの組を含む教師データを複数取得する教師データ取得部と、前記教師データ取得部が取得した複数の前記第１特徴ベクトル内の同一の前記第１項目に関連づけられた要素と、複数の前記第２特徴ベクトル内の同一の前記第２項目に関連づけられた要素とに基づいて、前記第１特徴ベクトルと前記第２特徴ベクトルとの相関関係にかかる相関モデル行列の各要素を算出する算出部とを備える。
2018207734.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１項目にそれぞれ関連づけられた値が要素である第１特徴ベクトルと、複数の第２項目にそれぞれ関連づけられた値が要素である第２特徴ベクトルとの組を含む教師データを複数取得する教師データ取得部と、
前記教師データ取得部が取得した複数の前記第１特徴ベクトル内の同一の前記第１項目に関連づけられた要素と、複数の前記第２特徴ベクトル内の同一の前記第２項目に関連づけられた要素とに基づいて、前記第１特徴ベクトルと前記第２特徴ベクトルとの相関関係にかかる相関モデル行列の各要素を算出する算出部と
を備える情報処理装置。
【請求項２】
前記算出部は、前記教師データ取得部が取得した前記第１特徴ベクトルおよび前記第２特徴ベクトルをそれぞれ正規化した後に、前記相関モデル行列の要素を算出する
請求項１に記載の情報処理装置。
【請求項３】
前記算出部は、（１）式に基づいて前記相関モデル行列の要素を算出する
請求項１または請求項２に記載の情報処理装置。
【数１】
2018207734.tif 000016
【請求項４】
第１特徴ベクトルを含む入力情報を取得する入力情報取得部と、
前記算出部が算出した相関モデル行列と前記入力情報取得部が取得した前記第１特徴ベクトルとに基づいて算出した第２特徴ベクトルを出力する出力部と
を備える請求項１から請求項３のいずれか一つに記載の情報処理装置。
【請求項５】
前記出力部は、前記相関モデル行列に右から前記第１特徴ベクトルを掛けて算出した前記第２特徴ベクトルを出力する
請求項４に記載の情報処理装置。
【請求項６】
前記第１特徴ベクトルの要素を複数の組に分割する分割部と、
前記分割部が分割した組ごとに、前記第１特徴ベクトルの要素を正規化する正規化部とを備える
請求項１から請求項５のいずれか一つに記載の情報処理装置。
【請求項７】
複数の副第１特徴ベクトルを含む入力情報を取得する入力情報取得部と、
前記入力情報取得部が取得したそれぞれの前記副第１特徴ベクトルと第２特徴ベクトルとの相関関係にかかる副相関モデル行列に、右から前記副第１特徴ベクトルを掛けて算出したそれぞれの副第２特徴ベクトルを線形結合して算出した第２特徴ベクトルを出力する出力部と
を備える情報処理装置。
【請求項８】
前記副第２特徴ベクトルを線形結合する際の係数を取得する係数取得部を備える
請求項７に記載の情報処理装置。
【請求項９】
複数の第１項目にそれぞれ関連づけられた値が要素である複数の副第１特徴ベクトルを含む第１特徴ベクトルと、複数の第２項目にそれぞれ関連づけられた値が要素である第２特徴ベクトルとの組を含む教師データを複数取得する教師データ取得部と、
前記教師データ取得部が取得した複数の前記副第１特徴ベクトル内の同一の前記第１項目に関連づけられた要素と、複数の前記第２特徴ベクトル内の同一の前記第２項目に関連づけられた要素とに基づいて、前記副第１特徴ベクトルと前記第２特徴ベクトルとの相関関係にかかる前記副相関モデル行列の各要素を算出する算出部と
を備える請求項７または請求項８に記載の情報処理装置。
【請求項１０】
複数の第１項目にそれぞれ関連づけられた値が要素である第１特徴ベクトルと、複数の第２項目にそれぞれ関連づけられた値が要素である第２特徴ベクトルとの組を含む教師データの、前記第１特徴ベクトルの要素数と同数の列と前記第２特徴ベクトルの要素数と同数の行とを有する二次元マトリクス構造を有し、
前記二次元マトリクス構造の各要素は、複数の前記第１特徴ベクトル内の同一の前記第１項目に関連づけられた要素と、複数の前記第２特徴ベクトル内の同一の前記第２項目に関連づけられた要素とに基づいて算出され、
入力した第１特徴ベクトルを右から掛けることにより前記第１特徴ベクトルに対応する第２特徴ベクトルを算出する処理に用いられる
前記第１特徴ベクトルと前記第２特徴ベクトルとの相関関係にかかる相関モデルのデータ構造。
【請求項１１】
複数の第１項目にそれぞれ関連づけられた値が要素である第１特徴ベクトルと、複数の第２項目にそれぞれ関連づけられた値が要素である第２特徴ベクトルとの組を含む教師データを複数取得し、
取得した複数の前記第１特徴ベクトル内の同一の前記第１項目に関連づけられた要素と、複数の前記第２特徴ベクトル内の同一の前記第２項目に関連づけられた要素とに基づいて、前記第１特徴ベクトルと前記第２特徴ベクトルとの相関関係にかかる相関モデル行列の各要素を算出する
処理をコンピュータに実行させるプログラム。
【請求項１２】
複数の第１項目にそれぞれ関連づけられた値が要素である第１特徴ベクトルと、複数の第２項目にそれぞれ関連づけられた値が要素である第２特徴ベクトルとの組を含む教師データを複数取得し、
取得した複数の前記第１特徴ベクトル内の同一の前記第１項目に関連づけられた要素と、複数の前記第２特徴ベクトル内の同一の前記第２項目に関連づけられた要素とに基づいて、前記第１特徴ベクトルと前記第２特徴ベクトルとの相関関係にかかる相関モデル行列の各要素を算出する
処理をコンピュータに実行させる情報処理方法。
【請求項１３】
複数の第１項目にそれぞれ関連づけられた値が要素である第１特徴ベクトルと、複数の第２項目にそれぞれ関連づけられた値が要素である第２特徴ベクトルとの組を含む教師データを複数取得し、
取得した複数の前記第１特徴ベクトル内の同一の前記第１項目に関連づけられた要素と、複数の前記第２特徴ベクトル内の同一の前記第２項目に関連づけられた要素とに基づいて各要素を算出する、
前記第１特徴ベクトルと前記第２特徴ベクトルとの相関関係にかかる相関モデルのデータ構造の製造方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、相関モデルのデータ構造、プログラム、情報処理方法および相関モデルのデータ構造の製造方法に関する。
【背景技術】
【０００２】
食品の吸光度と成分との相関関係を示す相関モデルに基づいて、吸光度から食品の成分を求める食品分析装置が提案されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−２１５２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の食品分析装置においては、多種類の食品の吸光度と成分とを測定し、たとえば線形重回帰分析、または、ＰＬＳ（Partical Least Squares）回帰分析等により、相関モデルを作成する。凍っている食品と凍っていない食品とでは、吸光度と成分との関係が大きく乖離する傾向があるので、それぞれの場合の相関モデルを作成し、吸光度を測定した食品の状態に応じて使用する相関モデルを切り替える。【０００５】
特許文献１に開示された食品分析装置においては、相関モデルを算出するために必要な計算量が多い。また説明変数および目的変数のデータによっては、回帰分析結果が発散する等により、相関モデルを求めることができない場合がある。【０００６】
一つの側面では、少ない計算量で傾向の推定を行える情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
情報処理装置は、複数の第１項目にそれぞれ関連づけられた値が要素である第１特徴ベクトルと、複数の第２項目にそれぞれ関連づけられた値が要素である第２特徴ベクトルとの組を含む教師データを複数取得する教師データ取得部と、前記教師データ取得部が取得した複数の前記第１特徴ベクトル内の同一の前記第１項目に関連づけられた要素と、複数の前記第２特徴ベクトル内の同一の前記第２項目に関連づけられた要素とに基づいて、前記第１特徴ベクトルと前記第２特徴ベクトルとの相関関係にかかる相関モデル行列の各要素を算出する算出部とを備える。
【発明の効果】
【０００８】
一つの側面では、少ない計算量で傾向の推定を行える情報処理装置等を提供できる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムの概要を示す説明図である。
【図２】相関モデル作成の概要を示す説明図である。
【図３】情報処理システムの構成を示す説明図である。
【図４】第１特徴量ＤＢのレコードレイアウトを示す説明図である。
【図５】第２特徴量ＤＢのレコードレイアウトを示す説明図である。
【図６】第１情報ＤＢのレコードレイアウトを示す説明図である。
【図７】第２情報ＤＢのレコードレイアウトを示す説明図である。
【図８】プログラムの処理の流れを示すフローチャートである。
【図９】特徴ベクトル作成のサブルーチンの処理の流れを示すフローチャートである。
【図１０】正規化のサブルーチンの処理の流れを示すフローチャートである。
【図１１】相関モデル行列作成のサブルーチンの処理の流れを示すフローチャートである。
【図１２】プログラムの処理の流れを示すフローチャートである。
【図１３】実施の形態２のクライアントが実行するプログラムの処理の流れを示すフローチャートである。
【図１４】実施の形態２のプログラムの処理の流れを示すフローチャートである。
【図１５】特徴量ベクトルの項目例を示す説明図である。
【図１６】重みＤＢのレコードレイアウトを示す説明図である。
【図１７】実施の形態３の正規化のサブルーチンの処理の流れを示すフローチャートである。
【図１８】実施の形態４のプログラムの処理の流れを示すフローチャートである。
【図１９】中間行列作成のサブルーチンの処理の流れを示すフローチャートである。
【図２０】実施の形態５の処理の概要を説明する説明図である。
【図２１】実施の形態５のプログラムの処理の流れを示すフローチャートである。
【図２２】データ修正のサブルーチンの処理の流れを示すフローチャートである。
【図２３】実施の形態６のサーバの機能ブロック図である。
【図２４】実施の形態７の情報処理システムの構成を示す説明図である。
【図２５】実施の形態８の第１特徴量ＤＢのレコードレイアウトを示す説明図である。
【図２６】実施の形態８の相関モデル作成の概要を示す説明図である。
【図２７】実施の形態８のクライアントに表示する画面の例を示す説明図である。
【図２８】実施の形態８のプログラムの処理の流れを示すフローチャートである。
【図２９】実施の形態８の正規化のサブルーチンの処理の流れを示すフローチャートである。
【図３０】実施の形態８のプログラムの処理の流れを示すフローチャートである。
【図３１】実施の形態９のプログラムの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
［実施の形態１］
図１は、情報処理システム１０の概要を示す説明図である。図１の上側は、相関モデルの作成段階を示す。多数のクライアント３０からサーバ２０に対して、第１情報と第２情報とを含む教師データが送られる。
【００１１】
第１情報は、比較的取得しやすいデータである。本実施の形態においては、第１情報は各クライアント３０を使用するユーザによるＷＥＢ（World Wide Web）の閲覧履歴である。第２情報は、第１情報に比べて取得しにくいデータである。本実施の形態においては、第２情報は各クライアント３０を使用するユーザのネットショッピングによる購入履歴である。
【００１２】
第１情報および第２情報は、それぞれ１次元配列である特徴ベクトルで表現される。多数の教師データに基づいて、第１情報の特徴ベクトルと第２情報の特徴ベクトルとの相関を示す相関モデルが作成される。相関モデルは２次元マトリクス構造である。特徴ベクトルおよび相関モデルの詳細については後述する。
【００１３】
図１の下側は、作成した相関モデルを用いて第２情報の傾向を推定する段階を示す。相関モデルの作成後、第Ｒクライアント３０Ｒからサーバ２０に対して第１情報が送られる。第１情報は、第Ｒクライアント３０ＲのユーザのＷＥＢの閲覧履歴を示す。相関モデルと第１情報の特徴ベクトルとの積により、第２情報の特徴ベクトルが算出される。算出された特徴ベクトルは、第１情報に対応する第２情報の傾向、すなわち、第Ｒクライアント３０Ｒのユーザの、商品の購入傾向の推定を示す。
【００１４】
この推定に基づいて、たとえば、第Ｒクライアント３０Ｒに「おすすめ商品」の広告等を表示することにより、高い広告効果を得ることができる。また、この推定を、ユーザがＷＥＢ検索を行った際の検索結果の表示順位に反映させることにより、ユーザの望む検索結果を表示することができる。
【００１５】
なお、本実施の形態の第１情報と第２情報とはそれぞれ例示である。特徴ベクトルにより表現可能な任意の情報を、第１情報および第２情報に使用することが可能である。
【００１６】
図２は、相関モデル作成の概要を示す説明図である。図２の右側は、Ｎ組の教師データを示す。１組の教師データは、Ｌ個の要素を有する第１特徴ベクトルｘと、Ｍ個の要素を有する第２特徴ベクトルｙとを含む。なお、第１特徴ベクトルｘおよび第２特徴ベクトルｙは、それぞれ正規化されている。正規化の方法については、後述する。
【００１７】
Ｎ個の第１特徴ベクトルｘにより、Ｌ行Ｎ列の二次元マトリクス型の第１特徴行列Ｘが構成される。第１特徴行列Ｘの要素ｘPQは、Ｑ番目の第１特徴ベクトルｘのＰ番目の要素である。第１特徴ベクトルｘと同じ順番に配置したＮ個の第２特徴ベクトルｙにより、Ｍ行Ｎ列の二次元マトリクス型の第２特徴行列Ｙが構成される。第２特徴行列Ｙの要素ｙPQ は、Ｑ番目の第２特徴ベクトルｙのＰ番目の要素である。
【００１８】
第１特徴行列Ｘと第２特徴行列Ｙとに基づいて、Ｍ行Ｌ列の二次元マトリクス型のデータ構造を有する相関モデル行列Ｔが算出される。相関モデル行列ＴのＪ行Ｉ列の要素ｔJIは、第１特徴行列ＸのＩ番目の行と第２特徴行列ＹのＪ番目の行とに基づいて、（１）式により算出される。
【００１９】
【数１】
2018207734.tif 000003
【００２０】
ここで中間行列ＳのＪ行Ｉ列の要素ＳJIは、第１特徴行列ＸのＩ番目の行と第２特徴行列ＹのＪ番目の行とに基づいて、（２）式により算出される。
【００２１】
【数２】
2018207734.tif 000004
【００２２】
すなわち、相関モデル行列Ｔの要素ｔJIおよび中間行列Ｓの要素ＳJIは、Ｎ個の第１特徴ベクトルｘのＩ番目の要素と、Ｎ個の第２特徴ベクトルｙのＪ番目の要素とに基づいて、算出される。定数α、定数βおよび定数ｑについては後述する。
【００２３】
相関モデル行列Ｔに、新たに取得した第１特徴ベクトルｘを右から掛けることにより、第１特徴ベクトルｘに対応する第２特徴ベクトルｙを算出することができる。ここで、第２特徴ベクトルｙのＰ番目の要素ｙPは、（３）式により示すことができる。
【００２４】
【数３】
2018207734.tif 000005
【００２５】
（３）式より、ｘkとｙPとの間に正の相関がある場合、すなわち、ｘkが大きい場合にｙPも大きい傾向がある場合には、ｔPkは大きい値である。ｘkとｙPとの間に負の相関がある場合、すなわち、ｘkが大きい場合にｙPが小さい傾向がある場合には、ｔPkは小さい値である。ｘkとｙPとの間の相関が小さい場合、すなわち、ｘkの大小がｙPにほとんど影響しない場合には、ｔPkはゼロに近い値である。
【００２６】
以上のように、相関モデル行列Ｔを使用することにより、比較的取得しやすい第１情報に基づいて、第２情報の傾向を算出することが可能である。相関モデル行列Ｔは、回帰分析等に比べて少ない計算量により算出できる。
【００２７】
特徴ベクトルの正規化の必要性について、第１特徴ベクトルｘを例にして説明する。前述のとおり、本実施の形態における第１特徴ベクトルｘはＷＥＢの閲覧履歴の特徴、すなわち、どのような特徴を有するＷＥＢサイトを閲覧したかを示す。
【００２８】
ＷＥＢサイトの閲覧頻度が高いユーザと、ＷＥＢサイトの閲覧頻度が低いユーザとの第１特徴ベクトルｘをそのまま使用して相関モデル行列Ｔを算出する場合には、閲覧頻度が高いユーザによる影響が大きくなる。ユーザごとに第１特徴ベクトルｘを正規化してから相関モデル行列Ｔを算出することにより、閲覧頻度の低いユーザの情報も相関モデル行列に反映させることが可能である。
【００２９】
以下の説明では、正規化前の特徴ベクトルを特徴ベクトルＶで示す。（４）式により、特徴ベクトルＶを正規化した特徴ベクトルＷのｉ番目の要素ｗiを得ることができる。
【００３０】
【数４】
2018207734.tif 000006
【００３１】
ｐノルムは、１ノルムが最適である場合が多い。しかし、２ノルム、最大値ノルムなどの任意のノルムを使用することも可能である。
【００３２】
ｖiの値域が定まっている場合には、（４）式の代わりに（５）式を使用することが可能である。
【００３３】
【数５】
2018207734.tif 000007
【００３４】
（５）式を使用する場合、たとえば第１特徴行列Ｘを構成するそれぞれの特徴ベクトルｘを、共通の定数Ｃにより正規化できる。
【００３５】
たとえば、重要顧客の影響を相関行列Ｔに強く反映させたい場合には、（４）式の代わりに（６）式を使用することが可能である。
【００３６】
【数６】
2018207734.tif 000008
【００３７】
たとえば、一般顧客の特徴ベクトルを正規化する場合にはＤに１を使用し、重要顧客の特徴ベクトルを正規化する場合にはＤに２を使用することにより、重要顧客の影響を一般顧客の２倍に重み付けすることができる。
【００３８】
（２）式の定数ｑは、２を使用することが望ましい。正規化した第１特徴ベクトルｘおよび第２特徴ベクトルｙの各要素の大小関係が明確である場合には、定数ｑに１を使用できる。累乗および累乗根の計算を行わないので、計算量を削減できる。
【００３９】
（１）式および（２）式の定数αは、第１特徴ベクトルｘの要素の基準値である。（１）式および（２）式の定数βは、第２特徴ベクトルｙの基準値である。基準値があらかじめ定まっている場合には、その基準値を定数αおよび定数βに使用することができる。
【００４０】
定数αには、第１特徴行列Ｘの要素の平均値、中央値、再頻値、またはこれらの値を適宜丸めた基準値を使用することが可能である。第１特徴行列Ｘの要素の値域が定まっている場合には、値域の中央値を定数αに使用しても良い。同様に、定数βには、第２特徴行列Ｙの要素の平均値、中央値、再頻値等を使用することが可能である。定数αおよび定数βはゼロでも良い。定数αと定数βとは、同一の方法で定めても、異なる方法で定めても良い。なお、（１）式と（２）式とでは共通の定数αおよび定数βを使用する。
【００４１】
第１特徴行列Ｘの行ごとに、要素の値の分布が大きく異なる場合には、行ごとに定数αを定めることが望ましい。同様に、第２特徴行列Ｙの行ごとに、要素の値の分布が大きく異なる場合には、行ごとに定数βを定めることが望ましい。定数αおよび定数βの双方を行ごとに定める場合には、相関モデル行列ＴのＪ行Ｉ列の要素ｔJIは、（７）式および（８）式により算出される。
【００４２】
【数７】
2018207734.tif 000009
【００４３】
αIには、第１特徴行列Ｘの第Ｉ行の要素の平均値、中央値、再頻値、またはこれらの値を適宜丸めた基準値を使用することが可能である。βJには、第２特徴行列Ｙの第J行の要素の平均値、中央値、再頻値、またはこれらの値を適宜丸めた基準値を使用することが可能である。
【００４４】
図３は、情報処理システム１０の構成を示す説明図である。本実施の形態の情報処理システム１０は、ネットワークを介して接続されたサーバ２０と複数のクライアント３０とを備える。
【００４５】
サーバ２０は、サーバＣＰＵ（Central Processing Unit）２１、主記憶装置２２、補助記憶装置２３、通信部２４、およびバスを備える。サーバＣＰＵ２１は、本実施の形態のプログラムを実行する演算制御装置である。サーバＣＰＵ２１には、一または複数のＣＰＵまたはマルチコアＣＰＵ等が使用される。サーバＣＰＵ２１は、バスを介してサーバ２０を構成するハードウェア各部と接続されている。
【００４６】
主記憶装置２２は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の記憶装置である。主記憶装置２２には、サーバＣＰＵ２１が行う処理の途中で必要な情報およびサーバＣＰＵ２１で実行中のプログラムが一時的に保存される。
【００４７】
補助記憶装置２３は、ＳＲＡＭ、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置２３には、サーバＣＰＵ２１に実行させるプログラム、第１特徴量ＤＢ（Database）４１、第２特徴量ＤＢ４２およびプログラムの実行に必要な各種データが保存される。なお、第１特徴量ＤＢ４１および第２特徴量ＤＢ４２は、サーバ２０に接続された外部の大容量記憶装置等に保存されていても良い。
【００４８】
通信部２４は、サーバ２０とネットワークとの間の通信を行うインターフェイスである。
【００４９】
本実施の形態のサーバ２０は、汎用のパーソナルコンピュータまたは大型計算機等の情報処理装置である。サーバ２０は、大型計算機上で動作する仮想マシンでも良い。
【００５０】
クライアント３０は、クライアントＣＰＵ３１、主記憶装置３２、補助記憶装置３３、通信部３４、表示部３５、入力部３６およびバスを備える。クライアントＣＰＵ３１は、本実施の形態のプログラムを実行する演算制御装置である。クライアントＣＰＵ３１には、一または複数のＣＰＵまたはマルチコアＣＰＵ等が使用される。クライアントＣＰＵ３１は、バスを介してクライアント３０を構成するハードウェア各部と接続されている。
【００５１】
主記憶装置３２は、ＳＲＡＭ、ＤＲＡＭ、フラッシュメモリ等の記憶装置である。主記憶装置３２には、クライアントＣＰＵ３１が行う処理の途中で必要な情報およびクライアントＣＰＵ３１で実行中のプログラムが一時的に保存される。
【００５２】
補助記憶装置３３は、ＳＲＡＭ、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置３３には、第１情報ＤＢ４６、第２情報ＤＢ４７、クライアントＣＰＵ３１に実行させるプログラム、およびプログラムの実行に必要な各種データが保存される。なお、第１情報ＤＢ４６および第２情報ＤＢ４７は、クライアント３０に接続された外部の大容量記憶装置等に保存されていても良い。
【００５３】
通信部３４は、クライアント３０とネットワークとの間の通信を行うインターフェイスである。
【００５４】
入力部３６は、たとえばキーボードおよびマウス等である。表示部３５は、たとえば液晶表示パネル等である。入力部３６と表示部３５とは、一体となっていわゆるタッチパネルを構成しても良い。
【００５５】
本実施の形態のクライアント３０は、汎用のパーソナルコンピュータ、大型計算機、タブレットまたはスマートフォン等の情報処理装置である。クライアント３０は、大型計算機上で動作する仮想マシンでも良い。
【００５６】
図４は、第１特徴量ＤＢ４１のレコードレイアウトを示す説明図である。第１特徴量ＤＢ４１は、第１情報と特徴量ベクトルとを関連づけて記録するＤＢである。本実施の形態においては、第１情報はユーザがアクセスしたＷＥＢサイトのＵＲＬ（Uniform ResourceLocator）である。
【００５７】
第１特徴量ＤＢ４１は、情報フィールド、および、特徴量ベクトルフィールドを有する。特徴量ベクトルフィールドは、所定の第１項目に対応するフィールドを有する。本実施の形態においては、第１項目は「春物」、「靴」、「パーティ」、「ハイキング」、「雪」等の単語である。特徴ベクトルフィールドは、春物フィールド、靴フィールド、パーティフィールド、ハイキングフィールドおよび雪フィールド等、第１項目に対応するサブフィールドを有する。
【００５８】
情報フィールドには、第１情報、すなわちＷＥＢサイトのＵＲＬが記録されている。特徴量ベクトルフィールドの各サブフィールドには、ＷＥＢサイト内での、「春物」、「靴」等の各キーワードの登場回数が記録されている。たとえば、春物ファッションに関するＷＥＢサイトであれば、春物フィールドおよび靴フィールド等に大きな数値が記録される。一方、スキーに関するＷＥＢサイトであれば、雪フィールド等に大きな数値が記録される。
【００５９】
すなわち、特徴量ベクトルフィールドには、情報フィールドに記録されたＷＥＢサイトの特徴を、登場する単語の頻度に基づいて示す特徴量ベクトルが記録される。第１特徴量ＤＢ４１は、一つのＵＲＬについて一つのレコードを有する。
【００６０】
なお、図４に示す第１特徴量ＤＢ４１は例示である。第１特徴量ＤＢ４１は、第１特徴ベクトルｘに対応する構成を有する。
【００６１】
図５は、第２特徴量ＤＢ４２のレコードレイアウトを示す説明図である。第２特徴量ＤＢ４２は、第２情報と特徴量ベクトルとを関連づけて記録するＤＢである。本実施の形態においては、第２情報はユーザがネットショッピングで購入した商品である。
【００６２】
第２特徴量ＤＢ４２は、情報フィールドおよび特徴量ベクトルフィールドを有する。特徴量ベクトルフィールドは、所定の第２項目に対応するフィールドを有する。本実施の形態においては、第２項目は「食物」、「飲み物」、「酒」、「衣料」、「本」等の商品に関するキーワードである。特徴量ベクトルフィールドは、食物フィールド、飲み物フィールド、酒フィールド、衣料フィールドおよび本フィールド等、第２項目に対応するサブフィールドを有する。
【００６３】
情報フィールドには、第２情報、すなわち商品が記録されている。特徴量ベクトルフィールドの各サブフィールドには、各商品に関連するキーワードに該当するか否かが記録されている。たとえば、書籍Ａがレシピ本である場合には、食物フィールドおよび本フィールドに、該当することを示す「１」が、酒フィールド等には非該当であることを示す「０」が記録される。
【００６４】
すなわち、特徴量ベクトルフィールドには、情報フィールドに記録された商品の特徴を、キーワードへの該非に基づいて示す特徴量ベクトルが記録される。第２特徴量ＤＢ４２は、一つの商品について一つのレコードを有する。
【００６５】
なお、図５に示す第２特徴量ＤＢ４２は例示である。第２特徴量ＤＢ４２は、第２特徴ベクトルｙに対応する構成を有する。
【００６６】
図６は、第１情報ＤＢ４６のレコードレイアウトを示す説明図である。第１情報ＤＢ４６は、第１情報を記録するＤＢである。第１情報ＤＢ４６は、情報フィールドを有する。情報フィールドには、第１情報、すなわちユーザがアクセスしたＷＥＢサイトのＵＲＬが記録される。第１情報ＤＢは、一つの第１情報について、一つのレコードを有する。
【００６７】
図７は、第２情報ＤＢ４７のレコードレイアウトを示す説明図である。第２情報ＤＢ４７は、第２情報を記録するＤＢである。第２情報ＤＢ４７は、情報フィールドを有する。情報フィールドには、第２情報、すなわちユーザが購入した商品が記録される。第２情報ＤＢ４７は、一つの第２情報について、一つのレコードを有する。
【００６８】
図８は、プログラムの処理の流れを示すフローチャートである。図８に示すプログラムは、図１の上側に示す相関モデルの作成処理を行う。サーバＣＰＵ２１は、カウンタＮを初期値１に設定する（ステップＳ５０１）。サーバＣＰＵ２１は、Ｎ番目のクライアント３０のクライアントＣＰＵ３１に対して、第１情報および第２情報の送信を要求する（ステップＳ５０２）。
【００６９】
クライアントＣＰＵ３１は、要求を受信する（ステップＳ６０１）。クライアントＣＰＵ３１は、第１情報ＤＢ４６に記録された第１情報および第２情報ＤＢ４７に記録された第２情報を送信する（ステップＳ６０２）。
【００７０】
サーバＣＰＵ２１は、第１情報および第２情報を受信して、主記憶装置２２または補助記憶装置２３に一時的に記録する（ステップＳ５０４）。サーバＣＰＵ２１は、ステップＳ５０４で記録した情報から、第１情報を抽出する（ステップＳ５０５）。
【００７１】
サーバＣＰＵ２１は、抽出した第１情報を引数に使用して、特徴ベクトル作成のサブルーチンを起動する（ステップＳ５０６）。特徴ベクトル作成のサブルーチンは、入力された引数の特徴を表す特徴ベクトルを作成するサブルーチンである。特徴ベクトル作成のサブルーチンの処理の流れは後述する。
【００７２】
サーバＣＰＵ２１は、ステップＳ５０４で記録した情報から、第２情報を抽出する（ステップＳ５０７）。サーバＣＰＵ２１は、抽出した第２情報を引数に使用して、特徴ベクトル作成のサブルーチンを起動する（ステップＳ５０８）。ステップＳ５０８で起動する特徴ベクトル作成のサブルーチンは、ステップＳ５０６で起動したサブルーチンと同一のサブルーチンである。
【００７３】
サーバＣＰＵ２１は、所定のクライアント３０の処理を終了したか否かを判定する（ステップＳ５０９）。終了していないと判定した場合（ステップＳ５０９でＮＯ）、サーバＣＰＵ２１はカウンタＮに１を加算する（ステップＳ５１０）。サーバＣＰＵ２１は、ステップＳ５０２に戻る。
【００７４】
終了したと判定した場合（ステップＳ５０９でＹＥＳ）、サーバＣＰＵ２１は、相関モデル行列作成のサブルーチンを起動する（ステップＳ５１１）。相関モデル行列作成のサブルーチンは、複数のペアの特徴ベクトルに基づいて、相関モデル行列を作成するサブルーチンである。相関モデル行列作成のサブルーチンの処理の流れは後述する。
【００７５】
図９は、特徴ベクトル作成のサブルーチンの処理の流れを示すフローチャートである。特徴ベクトル作成のサブルーチンは、入力された引数の特徴を表す特徴ベクトルを作成するサブルーチンである。以下の説明では第１情報ＤＢ４６に記録された第１情報が引数である場合を例にして説明を行う。
【００７６】
サーバＣＰＵ２１は、ベクトルＶを各要素がゼロのゼロベクトルに初期化する（ステップＳ５２０）。サーバＣＰＵ２１は、カウンタＫを初期値１に設定する（ステップＳ５２１）。
【００７７】
サーバＣＰＵ２１は、Ｋ番目の第１情報をキーとして対応する特徴量ＤＢである第１特徴量ＤＢ４１の情報フィールドを検索してレコードを抽出し、特徴量ベクトルフィールドに記録された特徴量ベクトルＦ（Ｋ）を取得する（ステップＳ５２２）。
【００７８】
サーバＣＰＵ２１は、ベクトルＶにステップＳ５２２で取得した特徴量ベクトルＦ（Ｋ）を加算する（ステップＳ５２３）。なお、ベクトルの加算は、各要素同士の加算により行う。サーバＣＰＵ２１は、すべての引数の処理を終了したか否かを判定する（ステップＳ５２４）。終了していないと判定した場合（ステップＳ５２４でＮＯ）、サーバＣＰＵ２１はカウンタＫに１を加算する（ステップＳ５２５）。サーバＣＰＵ２１は、ステップＳ５２２に戻る。
【００７９】
終了したと判定した場合（ステップＳ５２４でＹＥＳ）、サーバＣＰＵ２１は正規化のサブルーチンを起動する（ステップＳ５２６）。正規化のサブルーチンは、特徴ベクトルを正規化するサブルーチンである。正規化のサブルーチンの処理の流れは後述する。
【００８０】
図１０は、正規化のサブルーチンの処理の流れを示すフローチャートである。サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ５５１）。サーバＣＰＵ２１はベクトルＶのｐノルム||Ｖ||pを算出する（ステップＳ５５２）。
【００８１】
サーバＣＰＵ２１は、前述の（４）式に基づいて正規化後のベクトルＷのＩ番目の要素ｗIを算出する（ステップＳ５５３）。サーバＣＰＵ２１は、ベクトルＶの要素の処理を終了したか否かを判定する（ステップＳ５５４）。終了していないと判定した場合（ステップＳ５５４でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ５５５）。サーバＣＰＵ２１はステップＳ５５３に戻る。終了したと判定した場合（ステップＳ５５４でＹＥＳ）、サーバＣＰＵ２１は処理を終了する。
【００８２】
図１１は、相関モデル行列作成のサブルーチンの処理の流れを示すフローチャートである。相関モデル行列作成のサブルーチンは、複数のペアの特徴ベクトルに基づいて、相関モデル行列を作成するサブルーチンである。
【００８３】
サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ５３１）。サーバＣＰＵ２１は、カウンタＪを初期値１に設定する（ステップＳ５３２）。サーバＣＰＵ２１は、第１特徴ベクトルｘの基準値である定数αの値を決定する（ステップＳ５３３）。サーバＣＰＵ２１は、第２特徴ベクトルｙの基準値である定数βの値を決定する（ステップＳ５３４）。
【００８４】
なお、あらかじめ定められた基準値が補助記憶装置２３に記憶されている場合には、サーバＣＰＵ２１はステップＳ５３３およびステップＳ５３４において補助記憶装置２３から定数αおよび定数βを取得する。第１特徴行列Ｘの要素から所定の方法により算出した基準値を定数αに使用する場合には、サーバＣＰＵ２１はステップＳ５３３で定数αを算出する。第２特徴行列Ｙの要素から所定の方法により算出した基準値を定数βに使用する場合には、サーバＣＰＵ２１はステップＳ５３４で定数βを算出する。
【００８５】
サーバＣＰＵ２１は、前述の（２）式に基づいて中間行列ＳのＪ行Ｉ列の要素ｓJIを算出する（ステップＳ５３５）。サーバＣＰＵ２１は、前述の（１）式に基づいて相関モデル行列ＴのＪ行Ｉ列の要素ｔJIを算出する（ステップＳ５３６）。
【００８６】
サーバＣＰＵ２１は、第２特徴行列Ｙの最終行の処理を終了したか否かを判定する（ステップＳ５３７）。終了していないと判定した場合（ステップＳ５３７でＮＯ）、サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ５３８）。サーバＣＰＵ２１はステップＳ５３３に戻る。
【００８７】
終了したと判定した場合（ステップＳ５３７でＹＥＳ）、サーバＣＰＵ２１は、第１特徴行列Ｘの最終行の処理を終了したか否かを判定する（ステップＳ５３９）。終了していないと判定した場合（ステップＳ５３９でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ５４０）。サーバＣＰＵ２１はステップＳ５３２に戻る。終了したと判定した場合（ステップＳ５３９でＹＥＳ）、サーバＣＰＵ２１は処理を終了する。
【００８８】
なお、定数αを第１特徴行列Ｘの行ごとに定め、定数βを第２特徴行列Ｙの行ごとに定める場合には、サーバＣＰＵ２１はステップＳ５３５において前述の（８）式を使用し、ステップＳ５３６において前述の（７）式を使用する。
【００８９】
図１２は、プログラムの処理の流れを示すフローチャートである。図１２に示すプログラムは、図１の下側に示す第２情報の傾向を推定する処理を行う。
【００９０】
第Ｒクライアント３０ＲのクライアントＣＰＵ３１Ｒは、サーバＣＰＵ２１に対して第１情報を送信する（ステップＳ６１１）。サーバＣＰＵ２１は、第１情報を受信する（ステップＳ５６１）。サーバＣＰＵ２１は、図９を使用して説明した特徴ベクトル作成のサブルーチンを起動する（ステップＳ５６２）。サーバＣＰＵ２１は、図８を使用して説明したプログラムにより作成した相関モデル行列ＴにステップＳ５６２で作成した第１特徴ベクトルｘを右から掛けることにより、第２特徴ベクトルｙを算出する（ステップＳ５６３）。本実施の形態においては、第２特徴ベクトルｙは第Ｒクライアント３０Ｒのユーザの商品の購入傾向の推定を示す。
【００９１】
サーバＣＰＵ２１は、算出した第２特徴ベクトルｙに基づいて出力を作成する（ステップＳ５６４）。サーバＣＰＵ２１は、おすすめ商品の広告等を表示する出力を作成する。サーバＣＰＵ２１は、作成した出力を第Ｒクライアント３０Ｒに送信する（ステップＳ５６５）。
【００９２】
第Ｒクライアント３０ＲのクライアントＣＰＵ３１Ｒは、出力を受信して、表示する（ステップＳ６１２）。その後、クライアントＣＰＵ３１Ｒは処理を終了する。
【００９３】
なお、サーバＣＰＵ２１は、ステップＳ５６３で算出した第２特徴ベクトルｙを蓄積して、統計的に解析する等の処理を行っても良い。
【００９４】
本実施の形態によると、少ない計算量で傾向の推定を行える情報処理システム１０を提供できる。本実施の形態によると、比較的取得しやすい第１情報に基づいて、第２情報の傾向を出力する情報処理システム１０を提供できる。
【００９５】
本実施の形態によると、第１特徴量ＤＢ４１および第２特徴量ＤＢ４２を適宜変更することにより、様々な情報の傾向の推定を行える、汎用性の高い情報処理システム１０を提供できる。
【００９６】
［実施の形態２］
本実施の形態は、クライアント３０で第１特徴ベクトルｘと第２特徴ベクトルｙを作成する情報処理システム１０に関する。実施の形態１と共通する部分については、説明を省略する。なお、本実施の形態においては、個々のクライアント３０の補助記憶装置３３、または、クライアントＣＰＵ３１が随時アクセス可能な記憶装置に、第１特徴量ＤＢ４１および第２特徴量ＤＢ４２の複製が記憶されている。以後の説明では、第１特徴量ＤＢ４１および第２特徴量ＤＢ４２の複製も第１特徴量ＤＢ４１および第２特徴量ＤＢ４２と記載する。
【００９７】
図１３は、実施の形態２のクライアント３０が実行するプログラムの処理の流れを示すフローチャートである。クライアントＣＰＵ３１は、第１特徴ベクトルｘを各要素がゼロのゼロベクトルに初期化する（ステップＳ６２１）。クライアントＣＰＵ３１は、第２特徴ベクトルｙを各要素がゼロのゼロベクトルに初期化する（ステップＳ６２２）。
【００９８】
クライアントＣＰＵ３１は、第１情報を取得したか否かを判定する（ステップＳ６２３）。第１情報は、たとえばクライアント３０のユーザがアクセスしたＷＥＢサイトのＵＲＬである。第１情報を取得したと判定した場合（ステップＳ６２３でＹＥＳ）、クライアントＣＰＵ３１は取得した第１情報をキーとして第１特徴量ＤＢ４１を検索して、特徴量ベクトルを取得する（ステップＳ６２４）。
【００９９】
クライアントＣＰＵ３１は、第１特徴ベクトルｘにステップＳ６２４で取得した特徴量ベクトルを加算する（ステップＳ６２５）。なお、ベクトルの加算は対応する要素同士の加算により行う。
【０１００】
ステップＳ６２５の終了後、または、第１情報を取得していないと判定した場合（ステップＳ６２３でＮＯ）、クライアントＣＰＵ３１は、第２情報を取得したか否かを判定する（ステップＳ６２６）。第２情報は、たとえばクライアント３０のユーザがネットショッピングにより購入した商品に関する情報である。
【０１０１】
第２情報を取得したと判定した場合（ステップＳ６２６でＹＥＳ）、クライアントＣＰＵ３１は取得した第２情報をキーとして第２特徴量ＤＢ４２を検索して、特徴量ベクトルを取得する（ステップＳ６２７）。クライアントＣＰＵ３１は、第２特徴ベクトルｙにステップＳ６２７で取得した特徴量ベクトルを加算する（ステップＳ６２８）。
【０１０２】
第２情報を取得していないと判定した場合（ステップＳ６２６でＮＯ）、または、ステップＳ６２８の終了後、クライアントＣＰＵ３１は、第１情報および第２情報の取得を終了するか否かを判定する（ステップＳ６２９）。たとえば、所定の期間が経過した場合、所定の数の第１情報および第２情報を取得した場合、ユーザから終了の指示を受け付けた場合、またはサーバＣＰＵ２１からの情報の要求を受け付けた場合等に、クライアントＣＰＵ３１は取得を終了すると判定する。
【０１０３】
終了しないと判定した場合（ステップＳ６２９でＮＯ）、クライアントＣＰＵ３１はステップＳ６２３に戻る。終了すると判定した場合（ステップＳ６２９でＹＥＳ）、クライアントＣＰＵ３１は第１特徴ベクトルｘを引数にして正規化のサブルーチンを起動する（ステップＳ６３０）。正規化のサブルーチンは、図１０を使用して説明したサブルーチンと同一のサブルーチンである。クライアントＣＰＵ３１は、正規化後の第１特徴ベクトルｘを補助記憶装置３３に記録する。
【０１０４】
クライアントＣＰＵ３１は第２特徴ベクトルｙを引数にして正規化のサブルーチンを起動する（ステップＳ６３１）。正規化のサブルーチンは、図１０を使用して説明したサブルーチンと同一のサブルーチンである。クライアントＣＰＵ３１は、正規化後の第２特徴ベクトルｙを補助記憶装置３３に記録する。クライアントＣＰＵ３１は、その後処理を終了する。
【０１０５】
図１４は、実施の形態２のプログラムの処理の流れを示すフローチャートである。図１４に示すプログラムは、図１の上側に示す相関モデルの作成処理を行う。サーバＣＰＵ２１は、カウンタＮを初期値１に設定する（ステップＳ５７１）。サーバＣＰＵ２１は、Ｎ番目のクライアント３０のクライアントＣＰＵ３１に対して、第１特徴ベクトルｘおよび第２特徴ベクトルｙの送信を要求する（ステップＳ５７２）。
【０１０６】
クライアントＣＰＵ３１は、要求を受信する（ステップＳ６４１）。クライアントＣＰＵ３１は、補助記憶装置３３に記録された第１特徴ベクトルｘおよび第２特徴ベクトルｙを送信する（ステップＳ６４２）。サーバＣＰＵ２１は、第１特徴ベクトルｘおよび第２特徴ベクトルｙを受信して、主記憶装置２２または補助記憶装置２３に一時的に記録する（ステップＳ５７４）。
【０１０７】
サーバＣＰＵ２１は、所定のクライアント３０の処理を終了したか否かを判定する（ステップＳ５７５）。終了していないと判定した場合（ステップＳ５７５でＮＯ）、サーバＣＰＵ２１はカウンタＮに１を加算する（ステップＳ５７６）。サーバＣＰＵ２１は、ステップＳ５７２に戻る。
【０１０８】
終了したと判定した場合（ステップＳ５７５でＹＥＳ）、サーバＣＰＵ２１は、相関モデル行列作成のサブルーチンを起動する（ステップＳ５７７）。相関モデル行列作成のサブルーチンは、図１１を使用して説明したサブルーチンと同一のサブルーチンである。その後、サーバＣＰＵ２１は処理を終了する。
【０１０９】
本実施の形態によると、クライアントＣＰＵ３１は正規化した第１特徴ベクトルｘおよび第２特徴ベクトルｙを出力するので、ネットワークの負荷がおよびサーバＣＰＵ２１の負荷が少ない情報処理システム１０を提供できる。本実施の形態によると、第１情報および第２情報に個人情報等の秘匿性が高い情報が含まれる場合であっても、漏洩を防止できる情報処理システム１０を提供できる。
【０１１０】
［実施の形態３］
本実施の形態は、第１情報または第２情報を複数のブロックに分けて、重み付けを行う情報処理システム１０に関する。実施の形態１と共通する部分については、説明を省略する。
【０１１１】
図１５は、特徴量ベクトルの項目例を示す説明図である。図１５に示す項目例は、第１特徴量ＤＢ４１または第２特徴量ＤＢ４２のサブフィールドの項目名の一例である。図１５を使用して、重み付けの必要性について説明する。
【０１１２】
項目は、属性ブロック、嗜好ブロックおよび閲覧履歴ブロックの３つのブロックに分かれている。属性ブロックには、性別、年齢、職業等の属性を示す項目が含まれる。たとえば、性別は男性が１、女性が２で示される。年齢は、１０代が１、２０代が２、３０代が３等で示される。職業は、会社員が１、自営業が２等で示される。
【０１１３】
嗜好ブロックには、グルメ、スポーツ等の嗜好を示す項目が含まれる。嗜好は、たとえばアンケート調査等により収集される。各項目は、「興味あり」が０、「興味なし」が１で示される。閲覧履歴ブロックは、図４を説明した実施の形態１の特徴量ベクトルの各項目と同様に、ＷＥＢサイト中のキーワードを示す項目を含む。
【０１１４】
特徴量ベクトルは、図１５に示すように、それぞれ所定のルールで数値化した様々な首里の項目を一つのベクトルにまとめて表現することができる。しかしながら、項目のデータの値域は大きく異なる場合がある。そのような場合に、たとえば図１０を使用して説明した正規化のサブルーチンにより正規化を行うと、値域の広い項目の影響が強くなり、値域の狭い項目の影響が十分に反映されないおそれがある。
【０１１５】
一方、特定の項目の影響を重視したい場合もある。本実施の形態においては、ブロックごとに項目に重み付けを行うことにより、それぞれの項目の影響を適切に反映した相関モデル行列Ｔを作成する。
【０１１６】
図１６は、重みＤＢのレコードレイアウトを示す説明図である。重みＤＢは、ブロック名と重みとを関連づけて記録するＤＢである。重みＤＢは、ブロックフィールドと重みフィールドとを有する。ブロックフィールドには、図１５を使用して説明したブロックの名前が記録されている。重みフィールドには、ブロックごとの重み付け係数が記録されている。
【０１１７】
図１７は、実施の形態３の正規化のサブルーチンの処理の流れを示すフローチャートである。図１７に示すサブルーチンは、図１０を使用して説明したサブルーチンの代わりに使用するサブルーチンである。以下の説明では、サーバＣＰＵ２１が実行する場合を例にして正規化のサブルーチンの処理の流れを説明するが、実施の形態２のステップＳ６３０のようにクライアントＣＰＵ３１が本サブルーチンを実行しても良い。
【０１１８】
サーバＣＰＵ２１は、カウンタＪを初期値１に設定する（ステップＳ７０１）。カウンタＩを初期値１に設定する（ステップＳ７０２）。サーバＣＰＵ２１はベクトルＶのＩ番目のグループのノルムを算出する（ステップＳ７０３）。サーバＣＰＵ２１は、ブロック名をキーとして重みＤＢを検索し、重みを取得する（ステップＳ７０４）。
【０１１９】
サーバＣＰＵ２１は、特徴ベクトルのＪ番目の要素の値を、ステップＳ７０３で算出したノルムで除して正規化後のＪ番目の要素を算出する（ステップＳ７０５）。サーバＣＰＵ２１は、算出した要素にステップＳ７０４で取得した重みを積算する（ステップＳ７０６）。サーバＣＰＵ２１は、Ｉ番目のブロックの処理を終了したか否かを判定する（ステップＳ７０７）。
【０１２０】
終了していないと判定した場合（ステップＳ７０７でＮＯ）、サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ７０８）。サーバＣＰＵ２１は、ステップＳ７０５に戻る。終了したと判定した場合（ステップＳ７０７でＹＥＳ）、サーバＣＰＵ２１は特徴ベクトルのすべての要素の処理を終了したか否かを判定する（ステップＳ７０９）。
【０１２１】
終了していないと判定した場合（ステップＳ７０９でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ７１０）。サーバＣＰＵ２１は、ステップＳ７０３に戻る。終了したと判定した場合（ステップＳ７０９でＹＥＳ）、サーバＣＰＵ２１は処理を終了する。
【０１２２】
本実施の形態によると、特徴ベクトルの各要素の影響度合いを適宜調整可能な情報処理システム１０を提供できる。
【０１２３】
相関モデル行列Ｔを作成する場合に、図１７を使用して説明した正規化のサブルーチンを使用し、相関モデル行列Ｔを用いて第２特徴ベクトルｙの傾向を算出する際には図１０を使用して説明した正規化のサブルーチンを使用しても良い。相関モデル行列Ｔを作成する場合に、図１０を使用して説明した正規化のサブルーチンを使用し、相関モデル行列Ｔを用いて第２特徴ベクトルｙの傾向を算出する際には図１７を使用して説明した正規化のサブルーチンを使用しても良い。
【０１２４】
［実施の形態４］
本実施の形態は、追加で取得した第１特徴ベクトルｘおよび第２特徴ベクトルｙの組を、既存の相関モデル行列Ｔに反映させる情報処理システム１０に関する。実施の形態２と共通する部分については、説明を省略する。
【０１２５】
図１８は、実施の形態４のプログラムの処理の流れを示すフローチャートである。図１８に示すプログラムは、Ｎ組の教師データに基づいて相関モデル行列Ｔを作成した後に、Ｎ＋１番目の教師データを追加するプログラムである。図１８に示すプログラムが起動する前に、Ｎ組の教師データに基づいて作成された相関モデル行列Ｔ、中間行列Ｓ、第１特徴号列Ｘ、第２特徴行列Ｙ、定数αおよび定数βがサーバ２０の補助記憶装置２３に記録されている。
【０１２６】
なお、以下の説明ではＮ組の教師データに基づいて作成された相関モデル行列ＴのＪ行Ｉ列の要素をｔIJoldと記載する。同様に、Ｎ組の教師データに基づいて作成された中間行列ＳのＪ行Ｉ列の要素をｓIJoldと記載する。
【０１２７】
サーバＣＰＵ２１は、相関モデル行列Ｔを取得する（ステップＳ７２１）。サーバＣＰＵ２１は、中間行列Ｓを取得する（ステップＳ７２２）。サーバＣＰＵ２１は、Ｎ＋１番目のクライアント３０のクライアントＣＰＵ３１に対して、追加する第１特徴ベクトルｘおよび第２特徴ベクトルｙの送信を要求する（ステップＳ７２３）。
【０１２８】
クライアントＣＰＵ３１は、要求を受信する（ステップＳ６５１）。クライアントＣＰＵ３１は、補助記憶装置３３に記録された第１特徴ベクトルｘおよび第２特徴ベクトルｙを送信する（ステップＳ６５２）。サーバＣＰＵ２１は、第１特徴ベクトルｘおよび第２特徴ベクトルｙを受信して、第１特徴行列Ｘおよび第２特徴行列ＹのＮ＋１番目の列に記録する（ステップＳ７２４）。
【０１２９】
サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ７２５）。カウンタＪを初期値１に設定する（ステップＳ７２６）。サーバＣＰＵ２１はカウンタＩおよびカウンタＪに対応する定数αおよび定数βを取得する（ステップＳ７２７）。サーバＣＰＵ２１は、（９）式に基づいて新たな相関モデル行列ＴのＪ行Ｉ列の要素ｔJINEWを算出する（ステップＳ７２８）。
【０１３０】
【数８】
2018207734.tif 000010
【０１３１】
サーバＣＰＵ２１は、第２特徴行列Ｙの最終行の処理を終了したか否かを判定する（ステップＳ７２９）。終了していないと判定した場合（ステップＳ７２９でＮＯ）、サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ７３０）。サーバＣＰＵ２１はステップＳ７２７に戻る。
【０１３２】
終了したと判定した場合（ステップＳ７２９でＹＥＳ）、サーバＣＰＵ２１は、第１特徴行列Ｘの最終行の処理を終了したか否かを判定する（ステップＳ７３１）。終了していないと判定した場合（ステップＳ７３１でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ７３２）。サーバＣＰＵ２１はステップＳ７２６に戻る。
【０１３３】
終了したと判定した場合（ステップＳ７３１でＹＥＳ）、サーバＣＰＵ２１中間行列修正のサブルーチンを起動する（ステップＳ７３３）。中間行列修正のサブルーチンは、Ｎ＋１個の教師データに基づいて新たな中間行列Ｓを作製するサブルーチンである。
【０１３４】
図１９は、中間行列作成のサブルーチンの処理の流れを示すフローチャートである。サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ７４１）。サーバＣＰＵ２１は、カウンタＪを初期値１に設定する（ステップＳ７４２）。サーバＣＰＵ２１は、第１特徴ベクトルｘの基準値である定数αの値を決定する（ステップＳ７４３）。サーバＣＰＵ２１は、第２特徴ベクトルｙの基準値である定数βの値を決定する（ステップＳ７４４）。
【０１３５】
サーバＣＰＵ２１は、（１０）式に基づいて中間行列ＳのＪ行Ｉ列の要素ｓJINEWを算出する（ステップＳ７４５）。
【０１３６】
【数９】
2018207734.tif 000011
【０１３７】
サーバＣＰＵ２１は、第２特徴行列Ｙの最終行の処理を終了したか否かを判定する（ステップＳ７４６）。終了していないと判定した場合（ステップＳ７４６でＮＯ）、サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ７４７）。サーバＣＰＵ２１はステップＳ７４３に戻る。
【０１３８】
終了したと判定した場合（ステップＳ７４６でＹＥＳ）、サーバＣＰＵ２１は、第１特徴行列Ｘの最終行の処理を終了したか否かを判定する（ステップＳ７４８）。終了していないと判定した場合（ステップＳ７４８でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ７４９）。サーバＣＰＵ２１はステップＳ７４２に戻る。終了したと判定した場合（ステップＳ７４８でＹＥＳ）、サーバＣＰＵ２１は処理を終了する。
【０１３９】
本実施の形態によると、追加で取得した教師データに基づいて相関モデル行列Ｔを修正可能な情報処理システム１０を提供できる。少ない教師データで運用を開始し、運用しながら教師データを追加して相関モデル行列Ｔの精度を高めることが可能である。
【０１４０】
本実施の形態によると、修正した相関モデル行列Ｔを使用ながら、サーバＣＰＵ２１の負荷の少ない時間に中間行列作成のサブルーチンを実行して、中間行列Ｓを更新する情報処理システム１０を提供できる。
【０１４１】
［実施の形態５］
本実施の形態は、教師データの一部を削除して、相関モデル行列Ｔを修正する情報処理システム１０に関する。実施の形態２と共通する部分については、説明を省略する。図２０は、実施の形態５の処理の概要を説明する説明図である。実施の形態５の処理の概要を説明する説明図である。
【０１４２】
図２０は、３番目の教師データを削除する場合を示す。第１特徴行列Ｘおよび第２特徴行列Ｙから、３列目の要素を削除する。４列目以降の要素の添え字が、一つずつ繰り上がる。第１特徴行列ＸはＬ行（Ｎ−１）列の行列に、第２特徴行列ＹはＭ行（Ｎ−１）列の行列になる。相関モデル行列Ｔおよび中間行列Ｓは、（Ｎ−１）組の教師行列に基づいて算出される。
【０１４３】
図２１は、実施の形態５のプログラムの処理の流れを示すフローチャートである。図２１に示すプログラムは、Ｎ組の教師データに基づいて相関モデル行列Ｔを作成した後に、一組の教師データを追加するプログラムである。図２１に示すプログラムが起動する前に、Ｎ組の教師データに基づいて作成された相関モデル行列Ｔ、中間行列Ｓ、第１特徴号列Ｘ、第２特徴行列Ｙ、定数αおよび定数βがサーバ２０の補助記憶装置２３に記録されている。
【０１４４】
なお、以下の説明ではＮ組の教師データに基づいて作成された相関モデル行列ＴのＪ行Ｉ列の要素をｔIJoldと記載する。同様に、Ｎ組の教師データに基づいて作成された中間行列ＳのＪ行Ｉ列の要素とｓIJoldと記載する。
【０１４５】
サーバＣＰＵ２１は、相関モデル行列Ｔを取得する（ステップＳ７６１）。サーバＣＰＵ２１は、中間行列Ｓを取得する（ステップＳ７６２）。サーバＣＰＵ２１は、削除する教師データの番号を取得する（ステップＳ７６３）。以下の説明では、ステップＳ７６３で取得した番号をｈで示す。
【０１４６】
サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ７６４）。カウンタＪを初期値１に設定する（ステップＳ７６５）。サーバＣＰＵ２１はカウンタＩおよびカウンタＪに対応する定数αを決定する（ステップＳ７６６）。サーバＣＰＵ２１はカウンタＩおよびカウンタＪに対応する定数βを取得する（ステップＳ７６７）。
【０１４７】
定数αおよび定数βは、教師データを削除する前の値を使用しても良いし、削除後の教師データに基づいて新たに算出しても良い。なお、定数αおよび定数βを新たに算出する場合には、サーバＣＰＵ２１は計算した定数αおよび定数βを補助記憶装置２３に記憶する。
【０１４８】
サーバＣＰＵ２１は、（１１）式に基づいて新たな相関モデル行列ＴのＪ行Ｉ列の要素ｔJINEWを算出する（ステップＳ７６８）。
【０１４９】
【数１０】
2018207734.tif 000012
【０１５０】
サーバＣＰＵ２１は、第２特徴行列Ｙの最終行の処理を終了したか否かを判定する（ステップＳ７６９）。終了していないと判定した場合（ステップＳ７６９でＮＯ）、サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ７７０）。サーバＣＰＵ２１はステップＳ７６６に戻る。
【０１５１】
終了したと判定した場合（ステップＳ７６９でＹＥＳ）、サーバＣＰＵ２１は、第１特徴行列Ｘの最終行の処理を終了したか否かを判定する（ステップＳ７７１）。終了していないと判定した場合（ステップＳ７７１でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ７７２）。サーバＣＰＵ２１はステップＳ７６５に戻る。
【０１５２】
終了したと判定した場合（ステップＳ７７１でＹＥＳ）、サーバＣＰＵ２１はデータ修正のサブルーチンを起動する（ステップＳ７７３）。データ修正のサブルーチンは、中間行列Ｓ、第１特徴号列Ｘおよび第２特徴行列Ｙを修正するサブルーチンである。データ修正のサブルーチンの処理の流れは後述する。サーバＣＰＵ２１は処理を終了する。
【０１５３】
図２２は、データ修正のサブルーチンの処理の流れを示すフローチャートである。サーバＣＰＵ２１は、第１特徴行列Ｘから第ｈ列のデータを削除する（ステップＳ７８１）。サーバＣＰＵ２１は、第２特徴行列Ｙから第ｈ列のデータを削除する（ステップＳ７８２）。
【０１５４】
サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ７８３）。カウンタＪを初期値１に設定する（ステップＳ７８４）。サーバＣＰＵ２１はカウンタＩおよびカウンタＪに対応する定数αおよび定数βを取得する（ステップＳ７８５）。サーバＣＰＵ２１は、（１２）式に基づいて新たな中間行列ＳのＪ行Ｉ列の要素ＳJIを算出する（ステップＳ７８６）。
【０１５５】
【数１１】
2018207734.tif 000013
【０１５６】
サーバＣＰＵ２１は、第２特徴行列Ｙの最終行の処理を終了したか否かを判定する（ステップＳ７８７）。終了していないと判定した場合（ステップＳ７８７でＮＯ）、サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ７８８）。サーバＣＰＵ２１はステップＳ７８５に戻る。
【０１５７】
終了したと判定した場合（ステップＳ７８７でＹＥＳ）、サーバＣＰＵ２１は、第１特徴行列Ｘの最終行の処理を終了したか否かを判定する（ステップＳ７８９）。終了していないと判定した場合（ステップＳ７８９でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ７９０）。サーバＣＰＵ２１はステップＳ７８４に戻る。終了したと判定した場合（ステップＳ７８９でＹＥＳ）、サーバＣＰＵ２１は処理を終了する。
【０１５８】
本実施の形態によると、修正した相関モデル行列Ｔを使用ながら、サーバＣＰＵ２１の負荷の少ない時間に中間行列作成のサブルーチンを実行して、中間行列Ｓを更新する情報処理システム１０を提供できる。
【０１５９】
本実施の形態と、実施の形態４とを組み合わせることにより、古い教師データの削除と新しい教師データの追加とを行い、相関モデル行列Ｔを逐次更新する情報処理システム１０を提供できる。
【０１６０】
本実施の形態によると、一部の教師データを削除可能な情報処理システム１０を提供できる。なんらかの事情で不適切であることが判明した教師データを削除することにより、推定の精度を高めることができる情報処理システム１０を提供できる。
【０１６１】
本実施の形態によると、修正した相関モデル行列Ｔを使用ながら、サーバＣＰＵ２１の負荷の少ない時間にデータ修正のサブルーチンを実行して、中間行列Ｓ等を更新する情報処理システム１０を提供できる。
【０１６２】
［実施の形態６］
図２３は、実施の形態６のサーバ２０の機能ブロック図である。本実施の形態のサーバ２０は、サーバＣＰＵ２１がプログラムを実行することで、教師データ取得部８１と、算出部８２とを備える情報処理装置として機能する。
【０１６３】
教師データ取得部８１は、第１特徴ベクトルｘと第２特徴ベクトルｙとの組を含む教師データを複数個取得する。算出部８２は、教師データ取得部８１が取得した複数の第１特徴ベクトルｘ内の同一番号の要素と、複数の第２特徴ベクトルｙ内の同一番号の要素とに基づいて、第１特徴ベクトルｘと第２特徴ベクトルｙとの相関関係にかかる相関モデル行列Ｔの各要素を算出する。
【０１６４】
［実施の形態７］
本実施の形態は、汎用のサーバコンピュータ９４と、クライアントコンピュータ９５と、プログラム９２とを組み合わせて動作させることにより、本実施の形態の情報処理システム１０を実現する形態に関する。図２４は、実施の形態７の情報処理システム１０の構成を示す説明図である。図２４を使用して、本実施の形態の構成を説明する。なお、実施の形態１と共通する部分の説明は省略する。
【０１６５】
サーバコンピュータ９４は、サーバＣＰＵ２１、主記憶装置２２、補助記憶装置２３、通信部２４、読取部２７およびバスを備える。サーバコンピュータ９４は、汎用のパーソナルコンピュータ、または、大型計算機等である。
【０１６６】
読取部２７は、可搬型記録媒体９１を読み取る装置であり、具体的にはたとえばＳＤ（Secure Digital）カードスロット、光学ディスクドライブまたはＵＳＢ（Universal Serial Bus）ポート等である。
【０１６７】
プログラム９２は、可搬型記録媒体９１に記録されている。サーバＣＰＵ２１は、読取部２７を介してプログラム９２を読み込み、補助記憶装置２３に保存する。またサーバＣＰＵ２１は、サーバコンピュータ９４内に実装されたフラッシュメモリ等の半導体メモリ９３に記憶されたプログラム９２を読出しても良い。さらに、サーバＣＰＵ２１は、図示しないネットワークを介して接続される図示しない他のサーバコンピュータからプログラム９２をダウンロードして補助記憶装置２３に保存しても良い。
【０１６８】
プログラム９２は、サーバコンピュータ９４の制御プログラムとしてインストールされ、主記憶装置２２にロードして実行される。これにより、サーバコンピュータ９４は上述したサーバ２０として機能する。
【０１６９】
サーバＣＰＵ２１は、プログラム９２のうちクライアントコンピュータ９５により実行される部分を、ネットワークを介してクライアントコンピュータ９５に送信する。クライアントＣＰＵ３１は、ネットワークを介してプログラム９２を読み込み、補助記憶装置３３に保存する。
【０１７０】
プログラム９２は、クライアントコンピュータ９５の制御プログラムとしてインストールされ、主記憶装置３２にロードして実行される。これにより、クライアントコンピュータ９５は上述したクライアント３０として機能する。
【０１７１】
［実施の形態８］
本実施の形態は、第１特徴ベクトルを複数の副第１特徴ベクトルに分けて、それぞれの副第１特徴ベクトルと、第２特徴ベクトルとに基づいて作成した副相関モデル行列を使用する情報処理システム１０に関する。実施の形態１と共通する部分については、説明を省略する。
【０１７２】
本実施の形態においては、図１を使用して説明した第１情報は、ネットショッピングＷＥＢサイトにかかる情報であり、第２情報はそれぞれのＷＥＢサイトの販売実績である。第Ｒクライアント３０Ｒは、ＷＥＢサイトのデザインを行うデザイナが使用する情報処理装置である。ＷＥＢサイトには、説明文等の文字情報と、商品写真等の画像情報と、動画情報とが適宜レイアウトされる。第１情報は、文字情報にかかる部分、画像情報にかかる部分、および、動画情報にかかる部分に分けられ、それぞれの部分について相関モデル行列が算出される。
【０１７３】
第ＲクライアントＣＰＵ３１Ｒは、デザイン中のＷＥＢサイトにかかる情報または、ＷＥＢサイトの特徴量を、サーバＣＰＵ２１に第１情報を送信する。サーバＣＰＵ２１は、文字情報にかかる相関モデル行列と文字情報にかかる第１情報との積、画像情報にかかる相関モデル行列と画像情報にかかる第１情報との積、および、動画情報にかかる相関モデル行列と動画情報にかかる第１情報との積をそれぞれ算出し、線形結合して、第２情報の傾向の推定結果を算出する。サーバＣＰＵ２１は、第ＲクライアントＣＰＵ３１Ｒに推定結果を送信する。
【０１７４】
推定結果は、第Ｒクライアントの表示部３５に表示される。デザイナは、推定結果を見て、デザインの修正等を行うことにより、販促効果の高いＷＥＢサイトをデザインできる。
【０１７５】
図２５は、実施の形態８の第１特徴量ＤＢ４１のレコードレイアウトを示す説明図である。第１特徴量ＤＢ４１は、第１情報と特徴量ベクトルとを関連づけて記録するＤＢである。本実施の形態においては、第１情報は第Ｒクライアント３０Ｒを使用するユーザがデザイン中のＷＥＢサイトのＵＲＬまたはソースファイル名である。
【０１７６】
第１特徴量ＤＢ４１は、情報フィールド、および、特徴量ベクトルフィールドを有する。特徴量ベクトルフィールドは、文字特徴量ベクトルフィールド、画像特徴量ベクトルフィールドおよび動画特徴量ベクトルフィールドを有する。
【０１７７】
文字特徴量ベクトルフィールド、画像特徴量ベクトルフィールドおよび動画特徴量ベクトルフィールドは、それぞれ所定の第１項目に対応するフィールドを有する。本実施の形態においては、文字特徴量ベクトルフィールドの第１項目は「春物」、「靴」等の単語である。画像特徴量ベクトルフィールドの第１項目は「マフラー」、「ゆきだるま」等の、画像中に表示される事物を表す単語である。動画特徴量ベクトルフィールドの第１項目は「花吹雪」、「走る猫」等の、動画中に表示される事物を表す単語である。
【０１７８】
なお、画像特徴量ベクトルフィールドおよび動画特徴量ベクトルフィールドの第１項目は、ＨＯＧ（Histograms of Oriented Gradients）特徴量、および、ＳＩＦＴ（Scaled Invariance Feature Transform）特徴量等の、画像または動画像を構成する各画素の輝度に基づいて算出した特徴量を示しても良い。動画特徴量ベクトルフィールドの第１項目は、動画とともに再生される音声の特徴量を示しても良い。音声の特徴量は、たとえば周波数解析を用いて定めることができる。
【０１７９】
本実施の形態の第２特徴量ＤＢ４２、第１情報ＤＢ４６および第２情報ＤＢ４７は、図５から図７を使用して説明した実施の形態１の第２特徴量ＤＢ４２、第１情報ＤＢ４６および第２情報ＤＢ４７と同様であるため、説明を省略する。
【０１８０】
図２６は、実施の形態８の相関モデル作成の概要を示す説明図である。図２６の右側は、Ｎ組の教師データを示す。１組の教師データは、第１特徴ベクトルｘと、Ｍ個の要素を有する第２特徴ベクトルｙとを含む。第１特徴ベクトルｘは、Ａ個の要素を有する第１Ａ副特徴ベクトルｘAと、Ｂ個の要素を有する第１Ｂ副特徴ベクトルｘBと、Ｃ個の要素を有する第１Ｃ副特徴ベクトルｘCとを含む。第１Ａ副特徴ベクトルｘA、第１Ｂ副特徴ベクトルｘB、第１Ｃ副特徴ベクトルｘCおよび第２特徴ベクトルｙは、それぞれ正規化されている。
【０１８１】
Ｎ個の第１特徴ベクトルｘにより、（Ａ＋Ｂ＋Ｃ）行Ｎ列の二次元マトリクス型の第１特徴行列Ｘが構成される。同様に、Ｎ個の第１Ａ副特徴ベクトルｘAにより、Ａ行Ｎ列の二次元マトリクス型の第１Ａ副特徴行列ＸAが構成される。Ｎ個の第１Ｂ副特徴ベクトルｘBにより、Ｂ行Ｎ列の二次元マトリクス型の第１Ｂ副特徴行列ＸBが構成される。Ｎ個の第１Ｃ副特徴ベクトルｘCにより、Ｃ行Ｎ列の二次元マトリクス型の第１Ｃ副特徴行列ＸCが構成される。
【０１８２】
第１特徴行列Ｘ、第１Ａ副特徴行列ＸA、第１Ｂ副特徴行列ＸBまたは第１Ｃ副特徴行列ＸCの要素ｘPQは、Ｑ番目の第１特徴ベクトルｘ、第１Ａ副特徴ベクトルｘA、第１Ｂ副特徴ベクトルｘBまたは、第１Ｃ副特徴ベクトルｘCの、Ｐ番目の要素である。
【０１８３】
第１特徴ベクトルｘと同じ順番に配置したＮ個の第２特徴ベクトルｙにより、Ｍ行Ｎ列の二次元マトリクス型の第２特徴行列Ｙが構成される。第２特徴行列Ｙの要素ｙPQは、Ｑ番目の第２特徴ベクトルｙのＰ番目の要素である。
【０１８４】
第１Ａ副特徴行列ＸAと第２特徴行列Ｙとに基づいて、Ｍ行Ａ列の二次元マトリクス型のデータ構造を有する第１副相関モデル行列ＴAが算出される。第１Ｂ副特徴行列ＸBと第２特徴行列Ｙとに基づいて、Ｍ行Ｂ列の二次元マトリクス型のデータ構造を有する第２副相関モデル行列ＴBが算出される。第１Ｃ副特徴行列ＸＣと第２特徴行列Ｙとに基づいて、Ｍ行Ｃ列の二次元マトリクス型のデータ構造を有する第３副相関モデル行列ＴCが算出される。第１副相関モデル行列ＴAの要素ｔａJI、第２副相関モデル行列ＴBの要素ｔｂJIおよび第３副相関モデル行列ＴCの要素ｔｃJIの算出式は、（１）式と同様である。
【０１８５】
なお、第１特徴ベクトルｘは、２個または４個以上の副特徴ベクトルを有しても良い。第１特徴ベクトルが有する副特徴ベクトルと同じ数の副特徴行列および副相関モデル行列が形成される。以下の説明においては、ｎ番目の副特徴ベクトルをｘn、ｎ番目の副特徴行列をＸn、ｎ番目の副相関モデル行列をＴnとそれぞれ記載する。
【０１８６】
（１３）式に示すように、ｎ番目の副相関モデル行列Ｔnに、新たに取得したｎ番目の第１副特徴ベクトルｘnを右から掛けて算出した副第２特徴ベクトルを線形加算することにより、第２特徴ベクトルｙを算出できる。（１４）式に示すように、線形加算の係数Ｇkの合計は１である。
【０１８７】
【数１２】
2018207734.tif 000014
【０１８８】
第２特徴ベクトルｙのＰ番目の要素である副第２特徴ベクトルｙPは、（１５）式により算出される。
【０１８９】
【数１３】
2018207734.tif 000015
【０１９０】
ユーザは、Ｇnを適宜選択することにより、第１副特徴ベクトルｘn同士の重み付けを適宜選択できる。
【０１９１】
図２７は、実施の形態８のクライアントに表示する画面の例を示す説明図である。図２７に示す画面は、対象入力欄５１、係数入力欄５２、結果欄５４および終了ボタン５５を有する。係数入力欄５２には、スライダ５３が表示されている。
【０１９２】
ユーザは、評価対象のＷＥＢサイトのＵＲＬまたはソースファイル名を対象入力欄５１に入力する。ユーザは、マウス操作等により係数入力欄５２上の任意の位置にスライダ５３を移動させることができる。クライアントＣＰＵ３１は、係数入力欄５２がスライダ５３により分割された長さに基づいて、文字情報にかかる係数Ｇ１、画像情報にかかる係数Ｇ2、および、動画情報にかかる係数Ｇ3を決定する。係数入力欄５２全体の長さを１に設定することにより、（１４）式を満たす係数Ｇnが決定される。
【０１９３】
なお、係数入力欄５２は、係数Ｇnの入力を数値入力により受け付ける形式であっても良い。係数入力欄５２は、任意の形式のユーザインターフェイスであっても良い。係数入力欄５２は、本実施の形態の係数取得部の機能を果たす。
【０１９４】
クライアントＣＰＵ３１は、評価対象のＷＥＢサイトにかかる情報および係数ＧnをサーバＣＰＵ２１に送信する。サーバＣＰＵ２１は、評価対象のＷＥＢサイトを解析して、第１特徴ベクトルＸを算出する。サーバＣＰＵ２１は、（１３）式および（１５）式に基づいて第２特徴ベクトルｙを算出する。
【０１９５】
サーバＣＰＵ２１は、第２特徴ベクトルｙを要素が大きい順にソートして、結果欄５４にグラフ表示する。ユーザは、評価対象のＷＥＢサイトを閲覧した顧客がどの商品を購入するかの予測結果を得ることができる。
【０１９６】
図２８は、実施の形態８のプログラムの処理の流れを示すフローチャートである。図２８に示すプログラムは、図２６を使用して説明した副相関モデル行列の作成処理を行う。ステップＳ５０６およびステップＳ５０８で起動する特徴ベクトル作成のサブルーチンから起動する正規化のサブルーチンについては、後述する。本実施の形態の正規化のサブルーチンは、複数の副特徴ベクトルを含む特徴ベクトルを正規化するサブルーチンである。
【０１９７】
ステップＳ５０９まで、および、ステップＳ５０９でＮＯと判定した場合の処理は、正規化のサブルーチンを除いて図８を使用して説明した実施の形態１のプログラムと同一であるため、説明を省略する。
【０１９８】
所定のクライアント３０の処理を終了したと判定した場合（ステップＳ５０９でＹＥＳ）、サーバＣＰＵ２１は第１特徴行列Ｘから１つの第１副特徴行列を抽出する（ステップＳ７５１）。サーバＣＰＵ２１は、相関モデル行列作成のサブルーチンを起動する（ステップＳ７５２）。相関モデル行列作成のサブルーチンは、図１１を使用して説明したサブルーチンと同一のサブルーチンである。
【０１９９】
サーバＣＰＵ２１は、第１特徴行列に含まれる全第１副特徴行列の処理を終了したか否かを判定する（ステップＳ７５３）。終了していないと判定した場合（ステップＳ７５３でＮＯ）、サーバＣＰＵ２１はステップＳ７５１に戻る。終了したと判定した場合（ステップＳ７５３でＹＥＳ）、サーバＣＰＵ２１は処理を終了する。
【０２００】
図２９は、実施の形態８の正規化のサブルーチンの処理の流れを示すフローチャートである。本実施の形態の正規化のサブルーチンは、複数の副ベクトルＶnを含む正規化前の特徴ベクトルＶを正規化するサブルーチンである。
【０２０１】
サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ８０１）。サーバＣＰＵ２１は、カウンタＪを初期値１に設定する（ステップＳ８０２）。サーバＣＰＵ２１はベクトルＶに含まれるＪ番目の副ベクトルＶJのｐノルム||ＶJ||pを算出する（ステップＳ８０３）。
【０２０２】
サーバＣＰＵ２１は、算出したノルムがゼロであるか否かを判定する。なお、ノルムがゼロである場合とは、正規化前の特徴ベクトルＶのＪ番目の副ベクトルＶJのすべての要素がゼロである場合である。図２５を使用して説明した第１特徴量ＤＢ４１の項目を例にして説明する。たとえば第１情報ＤＢ４６に動画を含むＷＥＢサイトの閲覧履歴が含まれない場合、動画特徴量にかかる３番目の副ベクトルＶ3のｐノルム||Ｖ3||pはゼロである。
【０２０３】
ノルムがゼロであると判定した場合（ステップＳ８０４でＹＥＳ）、サーバＣＰＵ２１は正規化後のベクトルＷのＩ番目の要素ｗIはゼロであると記録する（ステップＳ８０５）。サーバＣＰＵ２１は、Ｊ番目の副ベクトルＶJの要素の処理を終了したか否かを判定する（ステップＳ８０６）。終了していないと判定した場合（ステップＳ８０６でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ８０７）。サーバＣＰＵ２１はステップＳ８０５に戻る。
【０２０４】
ノルムがゼロではないと判定した場合（ステップＳ８０４でＮＯ）、サーバＣＰＵ２１は、前述の（４）式に基づいて正規化後のベクトルＷのＩ番目の要素ｗIを算出する（ステップＳ８１１）。サーバＣＰＵ２１は、ベクトルＶJの要素の処理を終了したか否かを判定する（ステップＳ８１２）。終了していないと判定した場合（ステップＳ８１２でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ８１３）。サーバＣＰＵ２１はステップＳ８１１に戻る。
【０２０５】
ベクトルＶJの要素の処理を終了したと判定した場合（ステップＳ８０６でＹＥＳ、または、ステップＳ８１２でＹＥＳ）、サーバＣＰＵ２１は処理を終了するか否かを判定する（ステップＳ８２１）。ここでサーバＣＰＵ２１は、正規化前の特徴ベクトルＶの全要素の処理を終了した場合に、処理を終了すると判定する。
【０２０６】
処理を終了しないと判定した場合（ステップＳ８２１でＮＯ）、サーバＣＰＵ２１はカウンタＩに１を加算する（ステップＳ８２２）。サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ８２３）。サーバＣＰＵ２１はステップＳ８０３に戻る。処理を終了すると判定した場合（ステップＳ８２１でＹＥＳ）、サーバＣＰＵ２１は処理を終了する。
【０２０７】
なお、正規化前の特徴ベクトルＶが副ベクトルを含まない場合、カウンタＪが１である場合にステップＳ８０３においてサーバＣＰＵ２１は正規化前の特徴ベクトルＶ全体のノルムを算出する。サーバＣＰＵは、最初のステップＳ８２１で処理を終了すると判定する。
【０２０８】
図３０は、実施の形態８のプログラムの処理の流れを示すフローチャートである。図３０に示すプログラムは、第１情報に基づいて第２情報の傾向を推定する処理を行う。
【０２０９】
第Ｒクライアント３０ＲのクライアントＣＰＵ３１Ｒは、サーバＣＰＵ２１に対して第１情報を送信する（ステップＳ８９１）。クライアントＣＰＵ３１Ｒは、係数Ｇの入力を受け付けて、サーバＣＰＵ２１に対して送信する（ステップＳ８９２）。
【０２１０】
サーバＣＰＵ２１は、第１情報を受信する（ステップＳ８３１）。サーバＣＰＵ２１は、受信した第１情報を解析して、特徴量を算出する（ステップＳ８３２）。サーバＣＰＵ２１は、正規化のサブルーチンを起動する（ステップＳ８３３）。正規化のサブルーチンは、図２９を使用して説明したサブルーチンと同一のサブルーチンである。以上の処理により、サーバＣＰＵ２１は、受信した第１情報にかかる第１特徴ベクトルｘの算出を完了する。
【０２１１】
サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ８３４）。サーバＣＰＵ２１は、第１特徴ベクトルからＪ番目の副第１特徴ベクトルｘJを抽出する（ステップＳ８３５）。サーバＣＰＵ２１は、図２８を使用して説明したプログラムにより作成したＪ番目の副相関モデル行列ＴJにステップＳ５８５で抽出したＪ番目の副第１特徴ベクトルｘJを右から掛けることにより、Ｊ番目の副第２特徴ベクトルｙJを算出する（ステップＳ８３６）。
【０２１２】
サーバＣＰＵ２１は、処理を終了するか否かを判定する（ステップＳ８３７）。処理を終了しないと判定した場合（ステップＳ８３７でＮＯ）、サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ８３８）。サーバＣＰＵ２１は、ステップＳ８３５に戻る。
【０２１３】
処理を終了すると判定した場合（ステップＳ８３７でＹＥＳ）、サーバＣＰＵ２１は係数Ｇを受信する（ステップＳ８３９）。サーバＣＰＵ２１は、（１３）に基づいてｙJを線形加算することにより、第２特徴ベクトルｙを算出する（ステップＳ８４０）。
【０２１４】
サーバＣＰＵ２１は、算出した第２特徴ベクトルｙに基づいて出力を作成する（ステップＳ８４２）。具体的にはサーバＣＰＵ２１は、たとえば図２７を使用して説明した結果欄５４を表示する出力を作成する。サーバＣＰＵ２１は、作成した出力を第Ｒクライアント３０Ｒに送信する（ステップＳ８４３）。
【０２１５】
第Ｒクライアント３０ＲのクライアントＣＰＵ３１Ｒは、出力を受信して、表示する（ステップＳ８９３）。クライアントＣＰＵ３１Ｒは、処理を終了するか否かを判定する（ステップＳ８９４）。たとえば、クライアントＣＰＵ３１Ｒは終了ボタン５５の選択を受け付けた場合に、処理を終了すると判定する。
【０２１６】
処理を終了しないと判定した場合（ステップＳ８９４でＮＯ）、クライアントＣＰＵ３１ＲはステップＳ８９２に戻る。処理を終了すると判定した場合（ステップＳ８９４でＹＥＳ）、クライアントＣＰＵ３１Ｒは処理を終了する。
【０２１７】
本実施の形態によると、第１特徴ベクトルを構成する副第１情報ベクトルごとの重み付けを適宜変更できる情報処理システム１０を提供できる。たとえば、ユーザは、文字特徴量ベクトルと、画像特徴量ベクトルと、動画特徴量ベクトルの重み付けを変えることにより、ＷＥＢサイトのどの構成要素を重点的に修正するかを検討できる。
【０２１８】
なお、クライアントＣＰＵ３１Ｒが第１情報を解析して算出した特徴量を、ステップＳ８９１においてサーバＣＰＵ２１に送信しても良い。このようにする場合、サーバＣＰＵ２１はステップＳ８３２を省略する。クライアントＣＰＵ３１Ｒで特徴量を算出し、第１情報自体をネットワークに送信しないことにより、情報流出にかかるセキュリティリスクを低減できる。
【０２１９】
［実施の形態９］
本実施の形態は、第１情報と係数Ｇとを適宜変更して、第２情報の算出を繰り返す情報処理システム１０に関する。実施の形態８と共通する部分については、説明を省略する。図３１は、実施の形態９のプログラムの処理の流れを示すフローチャートである。
【０２２０】
第Ｒクライアント３０ＲのクライアントＣＰＵ３１Ｒは、サーバＣＰＵ２１に対して第１情報および係数Ｇを送信する（ステップＳ４９１）。サーバＣＰＵ２１は、第１情報を受信する（ステップＳ４３１）。サーバＣＰＵ２１は、カウンタＩを初期値１に設定する（ステップＳ４３２）。サーバＣＰＵ２１は、ステップＳ４３１で受信した第１情報の第Ｊブロックに変更があるか否かを判定する（ステップＳ４３３）。
【０２２１】
具体例を挙げて説明する。本実施の形態においては、図１を使用して説明した第１情報は、ネットショッピングＷＥＢサイトにかかる情報である。ＷＥＢサイトには、説明文等の文字情報と、商品写真等の画像情報と、動画情報とが適宜レイアウトされる。たとえば、動画情報にかかる部分のみが変更された場合、クライアントＣＰＵ３１Ｒは、第１ブロックおよび第２ブロックには変更がなく、第３ブロックに変更があると判定する。
【０２２２】
変更があると判定した場合（ステップＳ４３３でＹＥＳ）、サーバＣＰＵ２１は、受信した第１情報の第Ｊブロックを解析して、特徴量を算出する（ステップＳ４３４）。サーバＣＰＵ２１は、正規化のサブルーチンを起動する（ステップＳ４３５）。正規化のサブルーチンは、図１０を使用して説明したサブルーチンと同一のサブルーチンである。
【０２２３】
サーバＣＰＵ２１は、Ｊ番目の副相関モデル行列ＴJにステップＳ４３５で正規化したＪ番目の副第１特徴ベクトルｘJを右から掛けることにより、Ｊ番目の副第２特徴ベクトルｙJを算出する（ステップＳ４３６）。サーバＣＰＵ２１は、算出した副第２特徴ベクトルｙJを主記憶装置３２または補助記憶装置３３に保存する（ステップＳ４３７）。
【０２２４】
サーバＣＰＵ２１は、処理を終了するか否かを判定する（ステップＳ４３８）。処理を終了しないと判定した場合（ステップＳ４３８でＮＯ）、サーバＣＰＵ２１はカウンタＪに１を加算する（ステップＳ４３９）。サーバＣＰＵ２１は、ステップＳ４３３に戻る。
【０２２５】
変更がないと判定した場合（ステップＳ４３３でＮＯ）、または、処理を終了すると判定した場合（ステップＳ４３８でＹＥＳ）、サーバＣＰＵ２１は、（１３）に基づいてｙJを線形加算することにより、第２特徴ベクトルｙを算出する（ステップＳ４４０）。
【０２２６】
サーバＣＰＵ２１は、算出した第２特徴ベクトルｙに基づいて出力を作成する（ステップＳ４４１）。具体的にはサーバＣＰＵ２１は、たとえば図２７を使用して説明した結果欄５４を表示する出力を作成する。サーバＣＰＵ２１は、作成した出力を第Ｒクライアント３０Ｒに送信する（ステップＳ４４２）。
【０２２７】
第Ｒクライアント３０ＲのクライアントＣＰＵ３１Ｒは、出力を受信して、表示する（ステップＳ４９２）。クライアントＣＰＵ３１Ｒは、処理を終了するか否かを判定する（ステップＳ４９３）。たとえば、クライアントＣＰＵ３１Ｒは終了ボタン５５の選択を受け付けた場合に、処理を終了すると判定する。
【０２２８】
処理を終了しないと判定した場合（ステップＳ４９３でＮＯ）、クライアントＣＰＵ３１ＲはステップＳ４９１に戻る。処理を終了すると判定した場合（ステップＳ４９３でＹＥＳ）、クライアントＣＰＵ３１Ｒは処理を終了する。
【０２２９】
本実施の形態によると、第１情報および重み付けを適宜変更した場合に、短時間で結果を出力する情報処理システム１０を提供できる。たとえば、ユーザは、ＷＥＢサイトのデザイン、および文字特徴量ベクトルと、画像特徴量ベクトルと、動画特徴量ベクトルの重み付けを変えることにより、効果的なＷＥＢサイトのデザインを行える。
【０２３０】
各実施例で記載されている技術的特徴（構成要件）はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２３１】
１０  情報処理システム
２０  サーバ（情報処理装置）
２１  サーバＣＰＵ
２２  主記憶装置
２３  補助記憶装置
２４  通信部
２７  読取部
３０  クライアント
３１  クライアントＣＰＵ
３２  主記憶装置
３３  補助記憶装置
３４  通信部
３５  表示部
３６  入力部
４１  第１特徴量ＤＢ
４２  第２特徴量ＤＢ
４６  第１情報ＤＢ
４７  第２情報ＤＢ
５１  対象入力欄
５２  係数入力欄
５３  スライダ
５４  結果欄
５５  終了ボタン
８１  教師データ取得部
８２  算出部
８３  入力情報取得部
８４  出力部
９１  可搬型記録媒体
９２  プログラム
９３  半導体メモリ
９４  サーバコンピュータ
９５  クライアントコンピュータ
【図１】
2018207734.tif 000017
【図２】
2018207734.tif 000018
【図３】
2018207734.tif 000019
【図４】
2018207734.tif 000020
【図５】
2018207734.tif 000021
【図６】
2018207734.tif 000022
【図７】
2018207734.tif 000023
【図８】
2018207734.tif 000024
【図９】
2018207734.tif 000025
【図１０】
2018207734.tif 000026
【図１１】
2018207734.tif 000027
【図１２】
2018207734.tif 000028
【図１３】
2018207734.tif 000029
【図１４】
2018207734.tif 000030
【図１５】
2018207734.tif 000031
【図１６】
2018207734.tif 000032
【図１７】
2018207734.tif 000033
【図１８】
2018207734.tif 000034
【図１９】
2018207734.tif 000035
【図２０】
2018207734.tif 000036
【図２１】
2018207734.tif 000037
【図２２】
2018207734.tif 000038
【図２３】
2018207734.tif 000039
【図２４】
2018207734.tif 000040
【図２５】
2018207734.tif 000041
【図２６】
2018207734.tif 000042
【図２７】
2018207734.tif 000043
【図２８】
2018207734.tif 000044
【図２９】
2018207734.tif 000045
【図３０】
2018207734.tif 000046
【図３１】
2018207734.tif 000047
【国際調査報告】
2018207734.tif 000048
2018207734.tif 000049
2018207734.tif 000050
2018207734.tif 000051