JP2017027597A - ファッションコーディネートリコメンドシステム - Google Patents
ファッションコーディネートリコメンドシステム Download PDFInfo
- Publication number
- JP2017027597A JP2017027597A JP2016139312A JP2016139312A JP2017027597A JP 2017027597 A JP2017027597 A JP 2017027597A JP 2016139312 A JP2016139312 A JP 2016139312A JP 2016139312 A JP2016139312 A JP 2016139312A JP 2017027597 A JP2017027597 A JP 2017027597A
- Authority
- JP
- Japan
- Prior art keywords
- item
- user
- coordinate
- value
- coordination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】ユーザの嗜好により適合するファッションコーディネートをリコメンドする。【解決手段】ECサイトからアイテム情報を取得してアイテム情報テーブルに保存すると共にアイテム情報テーブルのアイテム情報に基づいて少なくともアイテムのカテゴリとフォーマルの程度とを含む予め定めたアイテム特徴量に対するアイテム特徴量ベクトルを計算してアイテム特徴量ベクトルテーブルに保存し、アイテム情報テーブルから選択したアイテムおよび入力されたアイテムのアイテム情報をユーザアイテムテーブルに保存しておく。そして、ユーザ端末からアイテムとフォーマルの程度の目標値とが指定されたときには、ユーザアイテムテーブルとアイテム特徴量ベクトルテーブルとを参照し、所定の目的関数と所定の制約条件とに基づいて指定したアイテムを含み且つ目標値に近いコーディネートを計算してユーザ端末に提示する。【選択図】図1
Description
本発明は、ファッションコーディネートリコメンドシステムに関し、詳しくは、ユーザ端末に対してファッションコーディネートをリコメンドするファッションコーディネートリコメンドシステムに関する。
従来、ファッションコーディネートを自動的に構築する方法としては、アイテムのテキスト情報からアイテムに含まれる色や柄などのアイテム特徴量を決定し、コーディネートを算出して提示するものが提案されている(例えば、特許文献1参照)。この方法のコーディネートの算出過程では、まず、ベースカラーをランダムに決定した上で、他の色情報やアイテムカテゴリの組み合わせについて条件に合うようなコーディネートを複数パターン生成する。次に、ユーザの嗜好に合うように、条件を設定してコーディネートを絞り込んで、ユーザに提示するコーディネートを選択する。
また、あらかじめ準備されたアイテムデータベースを用いて色や柄などのアイテム特徴量を決定し、ユーザが指定した属性条件を満たし、かつ、ユーザが指定したアイテムに合うようなコーディネートを算出して提示するものも提案されている(例えば、特許文献2参照)。この手法のコーディネートの算出過程では、ユーザが指定した属性(フォーマル度,気候)条件、ユーザが指定したアイテムが持つ色情報に対する明度・色相条件を検索条件として、コーディネートを絞り込んでいる。
上述の手法は、いずれもコーディネートを構成しうるアイテムの情報をそれぞれ独立に扱って、条件に合うアイテムを検索することでコーディネートを算出しているが、このような手法では、コーディネートを構成するアイテムを総合的に評価してコーディネートの算出を行なうことができない。例えば、フォーマル度を例に取ると、すべて同じ値のフォーマル度(例えば、すべてのアイテムのフォーマル度が7)をもつコーディネートを絞り込むことは可能だが、フォーマル度が異なる複数のアイテムを組み合わせて、その重み付き平均値がユーザの必要とする目標値に近いコーディネートを探索することはできない。目標とするフォーマル度が7の場合、トップスのフォーマル度が7、ボトムスのフォーマル度が5、ハットのフォーマル度が8、即ち、ボトムスで少しカジュアル感を出した分、ハットでバランスを整えるといったコーディネートを探索することができない。また、条件に合わないアイテムを含むコーディネートは提示されないため、ある程度制約を侵害するが、ユーザが設定した目標に近いコーディネートなどの柔軟性に富んだ探索を行なうことができない。このように、上述の方法では、多様性 (diversity) と意外性 (serendipity) に富んだコーディネートを提示することができない。
本発明のファッションコーディネートリコメンドシステムは、ユーザの嗜好により適合するファッションコーディネートをリコメンドすることを主目的とする。
本発明のファッションコーディネートリコメンドシステムは、上述の主目的を達成するために以下の手段を採った。
本発明のファッションコーディネートリコメンドシステムは、
ユーザ端末にファッションコーディネートをリコメンドするファッションコーディネートリコメンドシステムであって、
ECサイトからアイテム情報を取得してアイテム情報テーブルに保存するアイテム情報取得手段と、
前記アイテム情報テーブルのアイテム情報に基づいて少なくともアイテムのカテゴリとフォーマルの程度とを含む予め定めたアイテム特徴量に対するアイテム特徴量ベクトルを計算してアイテム特徴量ベクトルテーブルに保存するアイテム特徴量ベクトル計算手段と、
前記アイテム情報テーブルからユーザが選択したアイテムのアイテム情報とユーザにより入力されたアイテムのアイテム情報とをユーザアイテムテーブルに保存するユーザアイテム情報保存手段と、
ユーザ端末からアイテムとフォーマルの程度の目標値とが指定されたとき、前記ユーザアイテムテーブルと前記アイテム特徴量ベクトルテーブルとを参照し、所定の目的関数と所定の制約条件とに基づいて前記指定したアイテムを含み且つ前記指定した目標値に近いコーディネートを計算してコーディネートテーブルに保存すると共に該コーディネートを前記ユーザ端末に提示するコーディネート計算手段と、
を備えることを要旨とする。
ユーザ端末にファッションコーディネートをリコメンドするファッションコーディネートリコメンドシステムであって、
ECサイトからアイテム情報を取得してアイテム情報テーブルに保存するアイテム情報取得手段と、
前記アイテム情報テーブルのアイテム情報に基づいて少なくともアイテムのカテゴリとフォーマルの程度とを含む予め定めたアイテム特徴量に対するアイテム特徴量ベクトルを計算してアイテム特徴量ベクトルテーブルに保存するアイテム特徴量ベクトル計算手段と、
前記アイテム情報テーブルからユーザが選択したアイテムのアイテム情報とユーザにより入力されたアイテムのアイテム情報とをユーザアイテムテーブルに保存するユーザアイテム情報保存手段と、
ユーザ端末からアイテムとフォーマルの程度の目標値とが指定されたとき、前記ユーザアイテムテーブルと前記アイテム特徴量ベクトルテーブルとを参照し、所定の目的関数と所定の制約条件とに基づいて前記指定したアイテムを含み且つ前記指定した目標値に近いコーディネートを計算してコーディネートテーブルに保存すると共に該コーディネートを前記ユーザ端末に提示するコーディネート計算手段と、
を備えることを要旨とする。
この本発明のファッションコーディネートリコメンドシステムでは、アイテム情報取得手段が、EC(electronic commerce)サイトからアイテム情報を取得してアイテム情報テーブルに保存する。アイテム情報としては、例えば、アイテム販売ページのURL(Uniform Resource Locator),アイテム名(〇〇Tシャツ,△△パンツ,□□スーツ等),ECサイトのショップ名(〇〇ストア,〇〇Web等),ブランド名,アイテム画像URL(Uniform Resource Locator),大カテゴリ(トップス,アウター,ボトムス等),小カテゴリ(Tシャツ,ポロシャツ,チュニック,ジーンズ等),性別(メンズ,ウィメンズ等),価格,紹介文などを挙げることができる。アイテム特徴量ベクトル計算手段は、アイテム情報テーブルのアイテム情報に基づいて少なくともアイテムのカテゴリとフォーマルの程度とを含む予め定めたアイテム特徴量に対するアイテム特徴量ベクトルを計算してアイテム特徴量ベクトルテーブルに保存する。ここで、アイテム特徴量としては、例えば、コーディネートカテゴリ,アイテムのフォーマルの度合い(程度)としてのF値(Formalness),自己主張が強いアイテムであるか否かの指標としてのA値(Assertiveness),アイテムの色の重さを表すWc値(Color Weight),アイテムの形状の重さを表すWs値(Shape Weight),アイテム画像に含まれる暖色,寒色,無彩色,中性色の比率を示す色比率,アイテムを着用すべき季節を示す季節タグ,アイテム画像に顔が検出されるか否かを示す顔判定フラグなどを挙げることができる。なお、コーディネートカテゴリとしては、Hat,Tops1,Tops2(Tops1に重ね着可),Tops3(Tops2とTops3に重ね着可),All in one,Bottoms,Shoes,Bag,Glass,Muffler,Necklace,Pierce,Braceletなどを挙げることができる。ユーザアイテム情報保存手段は、アイテム情報テーブルからユーザが選択したアイテムのアイテム情報とユーザにより入力されたアイテムのアイテム情報とをユーザアイテムテーブルに保存する。コーディネート計算手段は、ユーザ端末からアイテムとフォーマルの程度の目標値とが指定されたとき、ユーザアイテムテーブルとアイテム特徴量ベクトルテーブルとを参照し、所定の目的関数と所定の制約条件とに基づいて指定したアイテムを含み且つ指定した目標値に近いコーディネートを計算してコーディネートテーブルに保存すると共に、そのコーディネートをユーザ端末に提示する。
このように、本発明のファッションコーディネートリコメンドシステムでは、ユーザ端末からコーディネートに含みたいアイテムとコーディネートのフォーマルの程度の目標値とが指定されると、ユーザが選択したアイテムのアイテム情報とユーザにより入力されたアイテムのアイテム情報とを保存するユーザアイテムテーブルとこれらのアイテム特徴量ベクトルを保存するアイテム特徴量ベクトルテーブルとを参照し、所定の目的関数と所定の制約条件とに基づいて指定されたアイテムを含み且つ指定されたフォーマルの程度の目標値に近いコーディネートを計算し、ユーザ端末に提示する。このため、ユーザが想定している時間や場所,場合(TPO:Time,Place,Occasion)とユーザの嗜好を考慮して、ユーザが指定したアイテムにあったファッションコーディネートを計算してユーザ端末に提示することができる。
こうした本発明のファッションコーディネートリコメンドシステムにおいて、前記コーディネート計算手段は、アイテムを総合評価する関数を前記所定の目的関数として前記所定の制約条件に基づいて最適化問題を解くことにより前記コーディネートを計算する手段であるものとすることもできる。こうすれば、柔軟性と多様性に富んだコーディネートを提示することができる。例えば、フォーマル度を例に取ると、コーディネート全体のフォーマル度に対する目標値(F値の目標値)の計画問題を解くから、目標とするフォーマル度が7の場合には、トップスのフォーマル度が7、ボトムスのフォーマル度が6、ハットのフォーマル度が8、即ち、ボトムスで少しカジュアル感を出した分だけハットでバランスを整えるといったコーディネートを探索して提示することができる。また、これと同時に、同じ評価値となるトップスのフォーマル度が5、ボトムスのフォーマル度が8、バッグのフォーマル度が8、ハットのフォーマル度が7というコーディネートも提示することができる。
また、本発明のファッションコーディネートリコメンドシステムにおいて、前記コーディネートテーブルに保存されたコーディネートに対して該コーディネートに含まれるアイテムがカスタマイズ対象アイテムとして選択されたとき、該コーディネートに含まれるアイテムのアイテム情報を用いて前記所定の目的関数と前記所定の制約条件とに基づいて前記カスタマイズ対象アイテムの代替えとなる交換アイテム候補を検索して前記ユーザ端末に提示し、前記ユーザ端末から前記交換アイテム候補のうち交換対象アイテムが指定されたとき、前記コーディネートに対して前記カスタマイズ対象アイテムを前記交換対象アイテムに置き換えて前記コーディネートテーブルに保存するカスタマイズ手段を備えるものとすることもできる。こうすれば、計算され提示されたコーディネートに含まれるアイテムをユーザの嗜好に合ったものに変更(カスタマイズ)することができる。
さらに、本発明のファッションコーディネートリコメンドシステムにおいて、前記ユーザ端末からコーディネートがお気に入りコーディネートとして指定されたとき、前記お気に入りコーディネートをユーザ情報テーブルに保存すると共に、前記ユーザ情報テーブルに保存された前記所定の制約条件に対する許容度を更新するコーディネート評価処理手段を備えるものとすることもできる。こうすれば、ユーザの嗜好をより直接的に考慮したコーディネートを提示することができる。
また、本発明のファッションコーディネートリコメンドシステムにおいて、前記コーディネートテーブルに保存されたユーザ毎の少なくとも一部のコーディネートまたは前記ユーザ情報テーブルに保存されたユーザ毎の少なくとも一部のお気に入りコーディネートを用いて該コーディネートに含まれるアイテムのアイテム情報に基づいてユーザの嗜好を反映する嗜好指標を学習すると共に該嗜好指標をユーザ情報テーブルに保存する嗜好指標学習手段を備えるものとすることもできる。この嗜好指標に基づいたユーザのコーディネート評価の予測値を前記目的関数に組み込むことで、ユーザの嗜好をより反映したコーディネートを提示することができる。
次に、本発明を実施するための形態を実施例を用いて説明する。
図1は、本発明の一実施例としてのファッションコーディネートリコメンドシステム20の概略を示す概略構成図である。実施例のファッションコーディネートリコメンドシステム20は、図示するように、EC(electronic commerce)サイト10やユーザ端末12と接続可能に構成されており、クローラ22と、アイテム特徴量ベクトル計算機24と、コーディネート計算機26と、コーディネート学習機28と、Webサーバ30と、クローラアイテム情報テーブル32と、クローラアイテム特徴量ベクトルテーブル34と、コーディネートテーブル36と、ユーザアイテムテーブル38と、ユーザクローゼットテーブル40と、ユーザ情報テーブル42と、を備える。クローラ22やアイテム特徴量ベクトル計算機24,コーディネート計算機26,コーディネート学習機28,Webサーバ30は、実施例では個別のコンピュータにより構成したが、それぞれの機能の一部を兼ねる複数のコンピュータにより構成してもよいし、単一のコンピュータにより構成してもよい。クローラアイテム情報テーブル32やクローラアイテム特徴量ベクトルテーブル34,コーディネートテーブル36,ユーザアイテムテーブル38,ユーザクローゼットテーブル40,ユーザ情報テーブル42は、複数の記憶装置により構成してもよいし、単一の記憶装置により構成してもよい。
クローラ22は、ECサイト10からアイテム情報を収集し、収集したアイテム情報にアイテム識別子(ID)を付与してクローラアイテム情報テーブル32に格納する。クローラ22が動作する間隔は任意に設定可能であるが、例えば1日1回の運用を考えることができる。アイテム情報としては以下のものを挙げることができる。なお、アイテム情報は以下のものに限定されるものではなく、これらの一部としてもよいし、これらの一部と他の情報との組み合わせとしてもよいし、これらと他の情報との組み合わせとしてもよい。
(a)アイテム販売ページのURL(Uniform Resource Locator)
(b)アイテム名(〇〇Tシャツ,△△パンツ,□□スーツ等)
(c)ECサイトのショップ名(〇〇ストア,〇〇Web等)
(d)ブランド名
(e)アイテム画像URL(Uniform Resource Locator)
(f)大カテゴリ(トップス,アウター,ボトムス等)
(g)小カテゴリ(Tシャツ,ポロシャツ,チュニック,ジーンズ等)
(h)性別(メンズ,ウィメンズ等)
(i)価格
(j)紹介文
(a)アイテム販売ページのURL(Uniform Resource Locator)
(b)アイテム名(〇〇Tシャツ,△△パンツ,□□スーツ等)
(c)ECサイトのショップ名(〇〇ストア,〇〇Web等)
(d)ブランド名
(e)アイテム画像URL(Uniform Resource Locator)
(f)大カテゴリ(トップス,アウター,ボトムス等)
(g)小カテゴリ(Tシャツ,ポロシャツ,チュニック,ジーンズ等)
(h)性別(メンズ,ウィメンズ等)
(i)価格
(j)紹介文
アイテム特徴量ベクトル計算機24は、クローラアイテム情報テーブル32からアイテム特徴量ベクトルが計算されていないアイテム情報をアイテム識別子を用いて取り出し、取り出したアイテム情報に基づいてアイテム特徴量ベクトルを計算する。そして、計算したアイテム特徴量ベクトルをアイテム識別子に関連づけてクローラアイテム特徴量ベクトルテーブル34に保存する。アイテム特徴量ベクトルとしては、実施例では以下の成分を有するものとした。なお、アイテム特徴量ベクトルは、以下のものに限定されるものではなく、これらの一部としてもよいし、これらの一部と他の要素との組み合わせとしてもよいし、これらと他の要素との組み合わせとしてもよい。
(a)コーディネートカテゴリ
(b)F値(Formalness)
(c)A値(Assertiveness)
(d)Wc値(Color Weight)
(e)Ws値(Shape Weight)
(f)色比率
(g)季節タグ
(h)顔判定フラグ
(a)コーディネートカテゴリ
(b)F値(Formalness)
(c)A値(Assertiveness)
(d)Wc値(Color Weight)
(e)Ws値(Shape Weight)
(f)色比率
(g)季節タグ
(h)顔判定フラグ
(a)コーディネートカテゴリ
コーディネートカテゴリは、図2に示すように、アイテムの小カテゴリをキーとして、あらかじめ設定しておいたテーブルを参照して設定する。コーディネートカテゴリは、実施例では、Hat,Tops1,Tops2(Tops1に重ね着可),Tops3(Tops2とTops3に重ね着可),All in one,Bottoms,Shoes,Bag,Glass,Muffler,Necklace,Pierce,Braceletの13種類とし、アイテムはいずれかのカテゴリに分類されるものとした。なお,コーディネートカテゴリは、13種類に限定されるものではなく、13種類未満としてもよく、或いは14種類以上としても構わない。
コーディネートカテゴリは、図2に示すように、アイテムの小カテゴリをキーとして、あらかじめ設定しておいたテーブルを参照して設定する。コーディネートカテゴリは、実施例では、Hat,Tops1,Tops2(Tops1に重ね着可),Tops3(Tops2とTops3に重ね着可),All in one,Bottoms,Shoes,Bag,Glass,Muffler,Necklace,Pierce,Braceletの13種類とし、アイテムはいずれかのカテゴリに分類されるものとした。なお,コーディネートカテゴリは、13種類に限定されるものではなく、13種類未満としてもよく、或いは14種類以上としても構わない。
(b)F値(Formalness)
F値は,アイテムのフォーマルの度合い(程度)を1〜10までの数値で示すものであり、図3に示すように、アイテムの小カテゴリをキーとして、あらかじめ設定しておいたテーブルを参照して設定する。
F値は,アイテムのフォーマルの度合い(程度)を1〜10までの数値で示すものであり、図3に示すように、アイテムの小カテゴリをキーとして、あらかじめ設定しておいたテーブルを参照して設定する。
(c)A値(Assertiveness)
A値は、実施例では、絵柄等の入ったアイテムやプリントが入ったアイテムなどの自己主張が強いアイテムであるか否かを値1と値0とを用いて示す指標である。A値は、実施例では、以下の(1)〜(4)に該当する場合には値1が設定され、(1)〜(4)に該当しないときには値0が設定される。
(1)アイテムの小カテゴリが、あらかじめ設定されたカテゴリ(例えば、リングピアス,チョーカー,ビブネックレスなど)であるとき。
(2)アイテムの紹介文に、あらかじめ設定しておいたキーワードが含まれているかを確認し、キーワードが含まれているとき。キーワードの例としては、「柄」,「プリント」,「水玉」などを挙げることができる。
(3)アイテム画像のURLから画像をダウンロードし、背景画像等を除去するためにダウンロードした画像からあらかじめ設定しておいた領域(例えば、中心から縦方向に全体の2/3,横方向に1/3)を抽出し,抽出した画像をあらかじめ設定しておいた画像サイズ(例えば,100px×100px)にリサイズし、リサイズした画像を公知の画像識別器(例えば,ImageNetなど)に入力し、画像内に、プリント,水玉模様,ボーダー柄等のあらかじめ設定しておいた柄パターンが含まれると判定したとき。
(4)上記(3)で得られたリサイズした画像に対して算出されるk個の代表色yi,i=1,…,k(代表色ベクトルy1,y2,…,yk)とこの代表色の占有率zi,i=1,…,kに対して、yi=(yi,L,yi,a,yi,b),zi,i=1,…,kが次式(1)の無地原色判定条件を満たすとき。
A値は、実施例では、絵柄等の入ったアイテムやプリントが入ったアイテムなどの自己主張が強いアイテムであるか否かを値1と値0とを用いて示す指標である。A値は、実施例では、以下の(1)〜(4)に該当する場合には値1が設定され、(1)〜(4)に該当しないときには値0が設定される。
(1)アイテムの小カテゴリが、あらかじめ設定されたカテゴリ(例えば、リングピアス,チョーカー,ビブネックレスなど)であるとき。
(2)アイテムの紹介文に、あらかじめ設定しておいたキーワードが含まれているかを確認し、キーワードが含まれているとき。キーワードの例としては、「柄」,「プリント」,「水玉」などを挙げることができる。
(3)アイテム画像のURLから画像をダウンロードし、背景画像等を除去するためにダウンロードした画像からあらかじめ設定しておいた領域(例えば、中心から縦方向に全体の2/3,横方向に1/3)を抽出し,抽出した画像をあらかじめ設定しておいた画像サイズ(例えば,100px×100px)にリサイズし、リサイズした画像を公知の画像識別器(例えば,ImageNetなど)に入力し、画像内に、プリント,水玉模様,ボーダー柄等のあらかじめ設定しておいた柄パターンが含まれると判定したとき。
(4)上記(3)で得られたリサイズした画像に対して算出されるk個の代表色yi,i=1,…,k(代表色ベクトルy1,y2,…,yk)とこの代表色の占有率zi,i=1,…,kに対して、yi=(yi,L,yi,a,yi,b),zi,i=1,…,kが次式(1)の無地原色判定条件を満たすとき。
代表色ベクトルy1,y2,…,ykは、例えば、以下のように計算することができる。まず、アイテム情報に含まれるアイテム画像のURLを用いてアイテム画像をダウンロードし、アイテムのカテゴリに対応した切り抜きパラメータにしたがって、ダウンロードしたアイテム画像の一部分を切り抜く。切り抜きパラメータの一例を図4に示す。図5にカテゴリがアウターの場合の切り抜きパラメータによるアイテム画像中の切り抜き領域の一例を示す。図5中、幅が(Width=100)、高さが(height=100)で示された矩形領域がアイテム画像であり、このアイテム画像中に幅が(100×0.25=25)、高さが(100×0.25×1.0=25)で示された矩形領域が切り抜き領域である。図4中、「w#offset」は切り抜き領域の中心のアイテム画像における左側からの位置を意味している。アウターの場合、「0.6」であるから、アイテム画像の左側からアイテム画像の幅に「0.6」を乗じた位置(Width×0.6)となる。図4中、「h#offset」は切り抜き領域の中心のアイテム画像における上側からの位置を意味している。アウターの場合、「0.47」であるから、アイテム画像の左側からアイテム画像の幅に「0.47」を乗じた位置(height×0.47)となる。図4中、「h#ratio」は切り抜き領域の高さのアイテム画像の高さに対する比を意味している。アウターの場合、「0.25」であるから、アイテム画像の高さ(height=100)に「0.25」を乗じた値(height×0.25)となる。図4中、「w#h#ratio」は切り抜き領域の幅の切り抜き領域の高さに対する比を意味している。アウターの場合、「1.0」であるから、切り抜き領域の高さ(height×0.25)に「1.0」を乗じた値(height×0.25×1.0)となる。切り抜きパラメータは、初期値として予め定められた値、例えばカテゴリー毎に画像の特徴をよく表わしている部分であると想定される領域として予め設定した値を用いるものとしたが、その後にパラメータの最適値を計算して更新するものとしてもよい。
次に、切り抜き領域の画像の各画素の色情報をLab色空間(CIE Lab表色系)に変換し、切り抜き領域の左上の画素から順にi番目の画素のL値がL、a値がa、b値がbとしたときにi番目の画素の色情報xi=(L,a,b)としてメモリに保存する。そして、色情報xi(i=1,…,画素数)をニューラルガス(NG)に入力し、色情報xi(i=1,…,画素数)の分布を最もうまく代表するk個の代表色ベクトルy1,y2,…,ykを算出する。ここで、「k」は予め設定しておくパラメータである。実施例ではk=4として代表色を4色とした。また、 ニューラルガスは、多数の入力ベクトルの集合を比較的少ないユニット(参照ベクトル)で近似するベクトル量子化に用いられるネットワークであり、自己組織化マップ(SOM)と同様に教師なし学習によって自己組織的にベクトル量子化を行なう。ニューラルガスは、入力ベクトルが与えられると入力ベクトルに最も近い参照ベクトルを持つユニットを勝者ユニットとするから、実施例では、この勝者ユニットとして代表色ベクトルy1,y2,…,ykを算出するものとした。なお、実施例ではニューラルガスを用いたが、k-means法などのベクトル量子化を実現する他の方法を用いるものとしてもよい。
代表色の占有率zi,i=1,…,kは、色情報xi(i=1,…,画素数)と代表色ベクトルy1,y2,…,ykを用いて算出する。具体的には、i番目の画素の色情報xiと代表色ベクトルy1,y2,…,ykとの差を計算し、この差が最も小さい代表色ベクトルをi番目の画素の色情報xiの支配ベクトルとし、各代表色ベクトルが支配ベクトルとなった画素数の全画素数に対する割合として占有率を算出する。例えば、3×3の画素で色ベクトルの成分が1つの場合を考える。図6は、3×3の画素で色ベクトルの成分が1つで代表色ベクトルy1=0.2,y2=0.4,y3=0.6,y4=0.8の場合の支配ベクトルの決定の様子の一例を示す説明図である。図中、上段左の画素では色ベクトルが「0.8」であるから、代表色ベクトルy1,y2,y3,y4との差は、0.6,0.4,0.2,0となり、差の最も小さい代表色ベクトルy4が支配ベクトルとなる。上段中の画素では色ベクトルが「0.6」であるから、代表色ベクトルy1,y2,y3,y4との差は、0.4,0.2,0,0.2となり、差の最も小さい代表色ベクトルy3が支配ベクトルとなる。以下、同様に支配ベクトルを決定することができる。代表色ベクトルy1,y2,y3,y4の各占有率z1,z2,z3,z4は、全画素数に対する代表色ベクトルが支配ベクトルの画素数の割合であるから、3/9,2/9,2/9,2/9として算出することができる。
(d)Wc値(Color Weight)
Wc値は、アイテムの色の重さを表す数値であり、Wc値が大きいほど重く、小さいほど軽いことを示す。Wc値は以下の設定手順1または設定手順2を用いて設定することができる。
(Wc値の設定手順1)
(1)アイテム画像のURLから画像をダウンロードし、アイテムのカテゴリに対応した切り抜きパラメータにしたがって、ダウンロードしたアイテム画像の一部分を切り抜き(図4,図5参照)、代表色ベクトルy1,y2,…,ykを計算し、代表色y1を第1代表色x1として得る。
(2)次式(2)が成立するときにはWc値に値−1を設定し、式(3)が成立するときにはWc値に値1を設定し、式(2)および式(3)のいずれも成立しないときにはWc値に値0を設定する。
Wc値は、アイテムの色の重さを表す数値であり、Wc値が大きいほど重く、小さいほど軽いことを示す。Wc値は以下の設定手順1または設定手順2を用いて設定することができる。
(Wc値の設定手順1)
(1)アイテム画像のURLから画像をダウンロードし、アイテムのカテゴリに対応した切り抜きパラメータにしたがって、ダウンロードしたアイテム画像の一部分を切り抜き(図4,図5参照)、代表色ベクトルy1,y2,…,ykを計算し、代表色y1を第1代表色x1として得る。
(2)次式(2)が成立するときにはWc値に値−1を設定し、式(3)が成立するときにはWc値に値1を設定し、式(2)および式(3)のいずれも成立しないときにはWc値に値0を設定する。
(Wc値の設定手順2)
(1)アイテム画像のURLから画像をダウンロードし、アイテムのカテゴリに対応した切り抜きパラメータにしたがって、ダウンロードしたアイテム画像の一部分を切り抜き(図4,図5参照)、代表色ベクトルy1,y2,…,ykと代表色の占有率zi,i=1,…,kを得る。
(2)次式(4)の高L値判定条件が成立するときにはWc値に値−1を設定し、式(5)の低L値判定条件が成立するときにはWc値に値1を設定し、式(4)および式(5)のいずれも成立しないときにはWc値に値0を設定する。
(1)アイテム画像のURLから画像をダウンロードし、アイテムのカテゴリに対応した切り抜きパラメータにしたがって、ダウンロードしたアイテム画像の一部分を切り抜き(図4,図5参照)、代表色ベクトルy1,y2,…,ykと代表色の占有率zi,i=1,…,kを得る。
(2)次式(4)の高L値判定条件が成立するときにはWc値に値−1を設定し、式(5)の低L値判定条件が成立するときにはWc値に値1を設定し、式(4)および式(5)のいずれも成立しないときにはWc値に値0を設定する。
(e)Ws値(Shape Weight)
Ws値は、アイテムの形状の重さを表す数値であり、大きいほど重く,小さいほど軽いことを表す。Ws値は以下のように設定することができる。
(1)Ws値に初期値として値0を設定する。
(2)アイテムの小カテゴリをキーとして、図7に示すように、あらかじめ設定しておいたテーブルから増減値を参照し、Ws値を設定する。
(3)アイテムの小カテゴリをキーとして、図8に示すように、あらかじめ設定しておいたテーブルからキーワードを参照し、アイテムの紹介文に、参照したキーワードが含まれているかを確認する。キーワード1が含まれているときには、アイテムがぴったり目のアイテムであると判定し、Ws値から値1を減じ、キーワード2が含まれているときには、アイテムがゆったり目のアイテムであると判定し、Ws値に値1を加える。
(4)アイテムの小カテゴリをキーとして、図9に示すように、あらかじめ設定しておいたテーブルからキーワードを参照し、アイテムの紹介文に、参照したキーワードが含まれているかを確認する。キーワード1が含まれているときには、アイテムが標準より短袖丈のアイテムであると判定し、Ws値から値1を減じる。キーワード2が含まれているときには、アイテムが標準より長袖丈のアイテムであると判定し、Ws値に値1を加える。
Ws値は、アイテムの形状の重さを表す数値であり、大きいほど重く,小さいほど軽いことを表す。Ws値は以下のように設定することができる。
(1)Ws値に初期値として値0を設定する。
(2)アイテムの小カテゴリをキーとして、図7に示すように、あらかじめ設定しておいたテーブルから増減値を参照し、Ws値を設定する。
(3)アイテムの小カテゴリをキーとして、図8に示すように、あらかじめ設定しておいたテーブルからキーワードを参照し、アイテムの紹介文に、参照したキーワードが含まれているかを確認する。キーワード1が含まれているときには、アイテムがぴったり目のアイテムであると判定し、Ws値から値1を減じ、キーワード2が含まれているときには、アイテムがゆったり目のアイテムであると判定し、Ws値に値1を加える。
(4)アイテムの小カテゴリをキーとして、図9に示すように、あらかじめ設定しておいたテーブルからキーワードを参照し、アイテムの紹介文に、参照したキーワードが含まれているかを確認する。キーワード1が含まれているときには、アイテムが標準より短袖丈のアイテムであると判定し、Ws値から値1を減じる。キーワード2が含まれているときには、アイテムが標準より長袖丈のアイテムであると判定し、Ws値に値1を加える。
(f)色比率
色比率は、アイテム画像に含まれる暖色,寒色,無彩色,中性色の比率を意味しており、以下の算出手順1または算出手順2のいずれかを用いて得ることができる。
(色比率の算出手順1)
(1)アイテム画像のURLから画像をダウンロードし、ダウンロードした画像の各画素の色情報をCIE Lab表色系に変換する。変換された値については、画素値の左上から順にメモリ上に保存する。
(2)Nを画素数として,画素ごとの色情報xi=(xi,L,xi,a,xi,b),i=1,…,Nを用いて次式(6)にしたがって、各画素の色分類yi∈[W,C,A,N},i=1,…,Nを算定する。ここで、Wは暖色,Cは寒色,Aは無彩色,Nは中性色であることを示す。
(3)すべての画素の色分類yi∈[W,C,A,N},i=1,…,Nについて、W,C,A,Nが現れた回数を数え、色比率z=(zW,zC,zA,zN)を算出する。例えば、N=100として,Wが40回,Cが30回,Aが20回,Nが10回現れた場合、z=(0.4,0.3,0.2,0.1)と算出する。
色比率は、アイテム画像に含まれる暖色,寒色,無彩色,中性色の比率を意味しており、以下の算出手順1または算出手順2のいずれかを用いて得ることができる。
(色比率の算出手順1)
(1)アイテム画像のURLから画像をダウンロードし、ダウンロードした画像の各画素の色情報をCIE Lab表色系に変換する。変換された値については、画素値の左上から順にメモリ上に保存する。
(2)Nを画素数として,画素ごとの色情報xi=(xi,L,xi,a,xi,b),i=1,…,Nを用いて次式(6)にしたがって、各画素の色分類yi∈[W,C,A,N},i=1,…,Nを算定する。ここで、Wは暖色,Cは寒色,Aは無彩色,Nは中性色であることを示す。
(3)すべての画素の色分類yi∈[W,C,A,N},i=1,…,Nについて、W,C,A,Nが現れた回数を数え、色比率z=(zW,zC,zA,zN)を算出する。例えば、N=100として,Wが40回,Cが30回,Aが20回,Nが10回現れた場合、z=(0.4,0.3,0.2,0.1)と算出する。
(色比率の算出手順2)
(1)アイテム画像のURLから画像をダウンロードし、アイテムのカテゴリに対応した切り抜きパラメータにしたがって、ダウンロードしたアイテム画像の一部分を切り抜き(図4,図5参照)、k個の代表色xi,i=1,…,kとその占有率ai,i=1,…,kを得る。
(2)上記式(6)を用いてk個の代表色xi,i=1,…,kの色分類yi∈[W,C,A,N},i=1,…,Nを算出する。
(3)色比率z=(zW,zC,zA,zN)を次式(7)〜(10)により算出する。
(1)アイテム画像のURLから画像をダウンロードし、アイテムのカテゴリに対応した切り抜きパラメータにしたがって、ダウンロードしたアイテム画像の一部分を切り抜き(図4,図5参照)、k個の代表色xi,i=1,…,kとその占有率ai,i=1,…,kを得る。
(2)上記式(6)を用いてk個の代表色xi,i=1,…,kの色分類yi∈[W,C,A,N},i=1,…,Nを算出する。
(3)色比率z=(zW,zC,zA,zN)を次式(7)〜(10)により算出する。
(g)季節タグ
季節タグは、アイテムを着用すべき季節を表し、Sが夏物,Wが冬物,Aがオールシーズンであることを表す。季節タグは、図10に示すように、アイテムの小カテゴリをキーとして、あらかじめ設定しておいたテーブルを参照して設定する。
季節タグは、アイテムを着用すべき季節を表し、Sが夏物,Wが冬物,Aがオールシーズンであることを表す。季節タグは、図10に示すように、アイテムの小カテゴリをキーとして、あらかじめ設定しておいたテーブルを参照して設定する。
(h)顔判定フラグ
顔判定フラグは、初期値として値0が設定され、アイテム画像に顔が検出されたときに値1が設定される。具体的には、アイテム画像のURLから画像をダウンロードし、公知の顔認識アルゴリズム(例えば、M. J. Marin-Jimenez, A. Zisserman, M. Eichner, V. Ferrari: Detecting People Looking at Each Other in Videos, International Journal of Computer Vision, Vol. 106, No. 3, pp 282-296 (2014))を用いて顔部分を検出し、顔が検出されたときに値1を設定する。
顔判定フラグは、初期値として値0が設定され、アイテム画像に顔が検出されたときに値1が設定される。具体的には、アイテム画像のURLから画像をダウンロードし、公知の顔認識アルゴリズム(例えば、M. J. Marin-Jimenez, A. Zisserman, M. Eichner, V. Ferrari: Detecting People Looking at Each Other in Videos, International Journal of Computer Vision, Vol. 106, No. 3, pp 282-296 (2014))を用いて顔部分を検出し、顔が検出されたときに値1を設定する。
コーディネート計算機26は、ユーザが選択したF値を目標値としてユーザが選択したアイテムにあったファッションコーディネートを計算し、計算したコーディネートをコーディネートテーブル36に保存する。コーディネートの計算や提示等については後で詳しく述べる。
コーディネート学習機28は、コーディネートに対するユーザの嗜好を学習し、学習した結果をユーザ情報テーブル42に保存する。コーディネートの学習については後で詳しく述べる。
Webサーバ30は、ファッションコーディネートリコメンドシステム20に必要なアプリケーションソフトウエアが組み込まれたユーザ端末12と情報の送受信を行ない、ユーザ端末12からのユーザ情報テーブル42へのユーザ登録やユーザが所有するアイテム(以下、ユーザ所有アイテムと称する)のユーザアイテムテーブル38への登録,ユーザのお気に入りのアイテムのユーザクローゼットテーブル40への登録などの登録処理や、ユーザが選択したF値(目標値)とアイテムとに基づくコーディネート計算処理の際のユーザ端末12とコーディネート計算機26との間における情報のやりとりの中継処理などを行なう。以下にこれらの処理について順に説明する。
1.ユーザ登録処理
図11は、ユーザ登録処理の流れの一例を示す説明図である。ユーザ登録処理は、ユーザ端末12に組み込まれたファッションコーディネートリコメンドシステム20用のアプリケーションソフトウエアを起動させ、まず、ユーザは、ユーザ登録に必要な情報を入力すると共に(S100)、アプリケーションソフトウエアにより提示されるベンチマークコーディネートからユーザの嗜好にあったコーディネートを選択し(S110)、入力されたユーザ登録に必要な情報と選択されたコーディネートの識別子(コーディネート識別子)とをWebサーバ30に送信する(S120)。ユーザ登録に必要な情報とコーディネート識別子とを受信したWebサーバ30は、新たなユーザ識別子を作成し(S130)、ユーザが選択したコーディネート識別子をお気に入りコーディネートとしてユーザ識別子と共にユーザ情報テーブル42に保存する(S140)。そして、選択したベンチマークコーディネートに付与されたF値の平均値をユーザのお気に入りコーディネートF値平均値としてユーザ情報テーブル42に保存すると共に、選択したベンチマークコーディネートに付与されたA値の平均値,最大値,最小値をユーザのお気に入りコーディネートA値平均値,A値最大値,A値最小値としてユーザ情報テーブル42に保存する(S150)。こうした処理によりユーザ登録が行なわれる。
図11は、ユーザ登録処理の流れの一例を示す説明図である。ユーザ登録処理は、ユーザ端末12に組み込まれたファッションコーディネートリコメンドシステム20用のアプリケーションソフトウエアを起動させ、まず、ユーザは、ユーザ登録に必要な情報を入力すると共に(S100)、アプリケーションソフトウエアにより提示されるベンチマークコーディネートからユーザの嗜好にあったコーディネートを選択し(S110)、入力されたユーザ登録に必要な情報と選択されたコーディネートの識別子(コーディネート識別子)とをWebサーバ30に送信する(S120)。ユーザ登録に必要な情報とコーディネート識別子とを受信したWebサーバ30は、新たなユーザ識別子を作成し(S130)、ユーザが選択したコーディネート識別子をお気に入りコーディネートとしてユーザ識別子と共にユーザ情報テーブル42に保存する(S140)。そして、選択したベンチマークコーディネートに付与されたF値の平均値をユーザのお気に入りコーディネートF値平均値としてユーザ情報テーブル42に保存すると共に、選択したベンチマークコーディネートに付与されたA値の平均値,最大値,最小値をユーザのお気に入りコーディネートA値平均値,A値最大値,A値最小値としてユーザ情報テーブル42に保存する(S150)。こうした処理によりユーザ登録が行なわれる。
2.クローゼット閲覧処理
ユーザ登録を行なうと、ユーザ端末12には、デフォルトの立ち上がり画面としてユーザが登録したアイテムを格納するクローゼットを閲覧する画面が表示され、この画面を用いてユーザが所有するアイテムの登録やお気に入りアイテムの登録,コーディネート提案を行なうことができる。クローゼットの閲覧は、図12に例示するクローゼット閲覧処理により行なわれる。クローゼット閲覧処理は、まず、ユーザ端末12からWebサーバ30に対してクローゼットの閲覧要求を行なう(S200)。Webサーバ30は、ユーザ端末12からの閲覧要求を受信すると、ユーザクローゼットテーブル40からユーザのクローゼットに登録されているアイテム識別子を取得すると共に(S210)、取得したアイテム識別子をキーとして、ユーザアイテムテーブル38,クローラアイテム情報テーブル32,クローラアイテム特徴量ベクトルテーブル34からユーザに提示するアイテム情報を取得し(S220)、取得したアイテム情報をクロゼット閲覧用の情報としてユーザに送信する(S230)。ユーザ端末12は、アイテム情報を受信すると、ユーザ端末12のクローゼット閲覧画面にアイテムを配列提示する(S240)。ユーザ端末12に提示されるクローゼット閲覧画面の一例を図13に示す。このとき、クローラが収集したアイテムの画像は、アイテム画像のURLに基づいてユーザ端末12がECサイト10から直接ダウンロードして提示するようにアプリケーションソフトウエアを構成しておくのが好ましい。ユーザは提示されたアイテム情報を閲覧し、次の行動として、ユーザ所有アイテム登録やお気に入りアイテム登録,コーディネート提案のいずれかの機能を選択することができる。
ユーザ登録を行なうと、ユーザ端末12には、デフォルトの立ち上がり画面としてユーザが登録したアイテムを格納するクローゼットを閲覧する画面が表示され、この画面を用いてユーザが所有するアイテムの登録やお気に入りアイテムの登録,コーディネート提案を行なうことができる。クローゼットの閲覧は、図12に例示するクローゼット閲覧処理により行なわれる。クローゼット閲覧処理は、まず、ユーザ端末12からWebサーバ30に対してクローゼットの閲覧要求を行なう(S200)。Webサーバ30は、ユーザ端末12からの閲覧要求を受信すると、ユーザクローゼットテーブル40からユーザのクローゼットに登録されているアイテム識別子を取得すると共に(S210)、取得したアイテム識別子をキーとして、ユーザアイテムテーブル38,クローラアイテム情報テーブル32,クローラアイテム特徴量ベクトルテーブル34からユーザに提示するアイテム情報を取得し(S220)、取得したアイテム情報をクロゼット閲覧用の情報としてユーザに送信する(S230)。ユーザ端末12は、アイテム情報を受信すると、ユーザ端末12のクローゼット閲覧画面にアイテムを配列提示する(S240)。ユーザ端末12に提示されるクローゼット閲覧画面の一例を図13に示す。このとき、クローラが収集したアイテムの画像は、アイテム画像のURLに基づいてユーザ端末12がECサイト10から直接ダウンロードして提示するようにアプリケーションソフトウエアを構成しておくのが好ましい。ユーザは提示されたアイテム情報を閲覧し、次の行動として、ユーザ所有アイテム登録やお気に入りアイテム登録,コーディネート提案のいずれかの機能を選択することができる。
3.ユーザ所有アイテム登録処理
図14は、ユーザ所有アイテム登録処理の流れの一例を示す説明図である。ユーザ所有アイテム登録処理は、まず、所有するアイテムをユーザ端末12のカメラ機能を用いて撮影してアイテム画像を取得すると共に(S300)、アイテム画像の他のアイテム情報を入力し(S310)、所有アイテム情報をユーザ識別子と共にWebサーバ30に送信する(S320)。アイテム情報としては、アイテム画像を含めて以下のものを挙げることができる。なお、以下のうち(e)〜(g)については入力を省略しても構わない。
(a)アイテム画像(写真)
(b)アイテム名(〇〇Tシャツ,△△パンツ,□□スーツ等)
(c)大カテゴリ(トップス,アウター,ボトムス等)
(d)小カテゴリ(Tシャツ,ポロシャツ,チュニック,ジーンズ等)
(e)A値の決定に必要な情報(柄あり,プリントあり,無地蛍光色,無地原色,いずれにも該当しない等のうちからいずれかを選択)
(f)Ws値の決定に必要な情報(ゆったり,袖が短い,いずれにも該当しない等のうち複数を選択)
(g)季節タグの決定に必要な情報(夏物,冬物,いずれにも該当しない等のうちからいずれかを選択)
図14は、ユーザ所有アイテム登録処理の流れの一例を示す説明図である。ユーザ所有アイテム登録処理は、まず、所有するアイテムをユーザ端末12のカメラ機能を用いて撮影してアイテム画像を取得すると共に(S300)、アイテム画像の他のアイテム情報を入力し(S310)、所有アイテム情報をユーザ識別子と共にWebサーバ30に送信する(S320)。アイテム情報としては、アイテム画像を含めて以下のものを挙げることができる。なお、以下のうち(e)〜(g)については入力を省略しても構わない。
(a)アイテム画像(写真)
(b)アイテム名(〇〇Tシャツ,△△パンツ,□□スーツ等)
(c)大カテゴリ(トップス,アウター,ボトムス等)
(d)小カテゴリ(Tシャツ,ポロシャツ,チュニック,ジーンズ等)
(e)A値の決定に必要な情報(柄あり,プリントあり,無地蛍光色,無地原色,いずれにも該当しない等のうちからいずれかを選択)
(f)Ws値の決定に必要な情報(ゆったり,袖が短い,いずれにも該当しない等のうち複数を選択)
(g)季節タグの決定に必要な情報(夏物,冬物,いずれにも該当しない等のうちからいずれかを選択)
Webサーバ30は、所有アイテム情報とユーザ識別子を受け取ると、新たなアイテム識別子を作成し(S330)、作成したアイテム識別子と共に所有アイテム情報とユーザ識別子とをユーザアイテムテーブル38に保存する(S340)。また、Webサーバ30は、アイテム識別子とユーザ識別子をユーザクローゼットテーブル40に保存する(S350)。更に、Webサーバは、アイテム識別子をアイテム特徴量ベクトル計算機24に送付してアイテム特徴量ベクトルの計算を要求する(S350)。アイテム特徴量ベクトル計算機24は、Webサーバ30からアイテム識別子を受け取ると、ユーザアイテムテーブル38から、アイテム識別子をキーとして、アイテム特徴量ベクトルの算出に必要な情報を受け取って対象のアイテムのアイテム特徴量ベクトルを算出し(S360)、算出したアイテム特徴量ベクトルを対象のアイテムのアイテム識別子と共にユーザアイテムテーブル38に保存する(S370)。なお、アイテム特徴量ベクトルの算出に際し、対象のアイテムについて、A値の決定に必要な情報が入力されている場合は、この情報を優先してA値を算出し、上述したA値の算出手順の一部ないしはすべてを省略する。Wc値の決定に必要な情報が入力されている場合は、この情報を優先してWc値を算出し、上述したWc値の算出手順の一部を省略する。季節タグの決定に必要な情報が入力されている場合は、上述した季節タグの算出手順を省略する。
こうしたユーザ所有アイテム登録処理により登録されたユーザ所有アイテムは、上述したクローゼット閲覧処理により、ユーザ端末12のクローゼット閲覧画面に配列提示される。
4.お気に入りアイテム登録処理
図15は、お気に入りアイテム登録処理の流れの一例を示す説明図である。お気に入りアイテム登録処理は、まず、ユーザ端末12にアイテムの検索条件を入力し(S400)、アイテム検索条件をユーザ識別子と共にWebサーバ30に送信する(S410)。アイテムの検索条件としては、ECサイト10のショップ,ブランド,アイテムカテゴリ,価格帯,色,自由入力のキーワードなどを挙げることができる。Webサーバ30は、ユーザ端末12からユーザ識別子とアイテム検索条件とを受信すると、クローラアイテム情報テーブル32およびクローラアイテム特徴量ベクトルテーブル34とから検索条件に合致するアイテムを検索し(S420)、検索結果をユーザ端末12に送信する(S430)。このとき、顔判定フラグが値1のアイテムを含まないようにする。なお、顔判定フラグが値1のアイテムを含むように構成しても構わない。ユーザ端末12は検索結果を受信すると、検索されたアイテムを提示する(S440)。このとき、アイテムの画像については、アイテム画像のURLに基づいてECサイト10から直接ダウンロードして提示するようにアプリケーションソフトウエアを構成しておくのが好ましい。ユーザは、ユーザ端末12に提示されたアイテムの中からお気に入りに登録したいアイテムを選択し(S450)、ユーザ識別子と選択したアイテム識別子をWebサーバ30に送付する(S460)。Webサーバ30は、選択されたアイテムのアイテム識別子とユーザ識別子をユーザクローゼットテーブル40にお気に入りアイテムとして保存する(S470)。こうしたお気に入りアイテム登録処理により登録されたお気に入りアイテムは、上述したクローゼット閲覧処理により、ユーザ端末12のクローゼット閲覧画面に配列提示される。
図15は、お気に入りアイテム登録処理の流れの一例を示す説明図である。お気に入りアイテム登録処理は、まず、ユーザ端末12にアイテムの検索条件を入力し(S400)、アイテム検索条件をユーザ識別子と共にWebサーバ30に送信する(S410)。アイテムの検索条件としては、ECサイト10のショップ,ブランド,アイテムカテゴリ,価格帯,色,自由入力のキーワードなどを挙げることができる。Webサーバ30は、ユーザ端末12からユーザ識別子とアイテム検索条件とを受信すると、クローラアイテム情報テーブル32およびクローラアイテム特徴量ベクトルテーブル34とから検索条件に合致するアイテムを検索し(S420)、検索結果をユーザ端末12に送信する(S430)。このとき、顔判定フラグが値1のアイテムを含まないようにする。なお、顔判定フラグが値1のアイテムを含むように構成しても構わない。ユーザ端末12は検索結果を受信すると、検索されたアイテムを提示する(S440)。このとき、アイテムの画像については、アイテム画像のURLに基づいてECサイト10から直接ダウンロードして提示するようにアプリケーションソフトウエアを構成しておくのが好ましい。ユーザは、ユーザ端末12に提示されたアイテムの中からお気に入りに登録したいアイテムを選択し(S450)、ユーザ識別子と選択したアイテム識別子をWebサーバ30に送付する(S460)。Webサーバ30は、選択されたアイテムのアイテム識別子とユーザ識別子をユーザクローゼットテーブル40にお気に入りアイテムとして保存する(S470)。こうしたお気に入りアイテム登録処理により登録されたお気に入りアイテムは、上述したクローゼット閲覧処理により、ユーザ端末12のクローゼット閲覧画面に配列提示される。
5.コーディネート
実施例のファッションコーディネートリコメンドシステム20では、ユーザ端末12により選択されたF値の目標値を用いて、ユーザ端末12により選択されたアイテムにあったファッションコーディネートを計算して提示する。ユーザは提示されたコーディネートを確認し、コーディネート内のいずれかのアイテムを変更(カスタマイズ)した上で(変更しなくてもよい)、そのコーディネートの評価を行なう。
実施例のファッションコーディネートリコメンドシステム20では、ユーザ端末12により選択されたF値の目標値を用いて、ユーザ端末12により選択されたアイテムにあったファッションコーディネートを計算して提示する。ユーザは提示されたコーディネートを確認し、コーディネート内のいずれかのアイテムを変更(カスタマイズ)した上で(変更しなくてもよい)、そのコーディネートの評価を行なう。
(1)コーディネート提案処理
図16は、コーディネート提案処理の流れの一例を示す説明図である。コーディネート提案処理は、まず、ユーザは、ユーザ端末12のクローゼット閲覧画面に配列提示されたアイテムのうちから基準となるアイテムを選択する(S500)。なお、基準となるアイテムを選択しないものとしてもよい。次に、F値の目標値を設定する(S510)。F値の設定にはインターフェースとしては「ビジネス・パーティー」を最大値,「普段着」を最小値としたスライダを用いる手法を用いることができる。なお、スライダの初期値にはユーザ情報テーブル42に保存されているユーザのお気に入りコーディネートF値平均値をWebサーバ30を経由して取得する手法も用いることができる。こうしてF値の目標値が設定されると、ユーザ端末12は、選択したアイテムのアイテム識別子と設定したF値の目標値をユーザ識別子と共にWebサーバ30に送信する(S520)。Webサーバ30は、ユーザ端末12から選択したアイテム識別子,F値の目標値,ユーザ識別子を受信すると、受信したアイテム識別子,F値の目標値,ユーザ識別子をコーディネート計算機26に送付し(S530)、コーディネート計算機26に対してコーディネートの計算を要求する(S540)。コーディネート計算機26は、アイテム識別子,F値の目標値,ユーザ識別子を受け取ると、クローラアイテム特徴量ベクトルテーブル34やユーザアイテムテーブル38,ユーザ情報テーブル42から必要な情報を参照してコーディネートを算出し(S550)、新たなコーディネート識別子を作成し(S560)、算出したコーディネートをアイテム識別子とユーザ識別子と共にコーディネートテーブル36に保存し(S570)、計算が終了した旨をWebサーバ30に送信する(S580)。
図16は、コーディネート提案処理の流れの一例を示す説明図である。コーディネート提案処理は、まず、ユーザは、ユーザ端末12のクローゼット閲覧画面に配列提示されたアイテムのうちから基準となるアイテムを選択する(S500)。なお、基準となるアイテムを選択しないものとしてもよい。次に、F値の目標値を設定する(S510)。F値の設定にはインターフェースとしては「ビジネス・パーティー」を最大値,「普段着」を最小値としたスライダを用いる手法を用いることができる。なお、スライダの初期値にはユーザ情報テーブル42に保存されているユーザのお気に入りコーディネートF値平均値をWebサーバ30を経由して取得する手法も用いることができる。こうしてF値の目標値が設定されると、ユーザ端末12は、選択したアイテムのアイテム識別子と設定したF値の目標値をユーザ識別子と共にWebサーバ30に送信する(S520)。Webサーバ30は、ユーザ端末12から選択したアイテム識別子,F値の目標値,ユーザ識別子を受信すると、受信したアイテム識別子,F値の目標値,ユーザ識別子をコーディネート計算機26に送付し(S530)、コーディネート計算機26に対してコーディネートの計算を要求する(S540)。コーディネート計算機26は、アイテム識別子,F値の目標値,ユーザ識別子を受け取ると、クローラアイテム特徴量ベクトルテーブル34やユーザアイテムテーブル38,ユーザ情報テーブル42から必要な情報を参照してコーディネートを算出し(S550)、新たなコーディネート識別子を作成し(S560)、算出したコーディネートをアイテム識別子とユーザ識別子と共にコーディネートテーブル36に保存し(S570)、計算が終了した旨をWebサーバ30に送信する(S580)。
コーディネートの計算は、以下のように行なわれる。いま、各コーディネートカテゴリに属する自然数で表現されたアイテム識別子と「選択なし」を表す「0」によって構成された集合をJHat,JTops1,JTops2,JTops3,JAll in one,JBottoms,JShoes,JBag,JGlass,JMuffler,JNecklace,JPierce,JBracelet(数式中の「J」は筆記体)とする。コーディネートを表現する変数を次式(11)とする。ここで、Nは任意に定めてよい。xの各成分は,いずれかのコーディネートカテゴリに属するアイテム識別子とする。xの成分番号をカテゴリ成分番号とよぶ。例えば、N=13の場合に,各成分をx1∈JHat,x2∈JTops1,x3∈JTops2,x4∈JTops3,x5∈JAll in one,x6∈JBottoms,x7∈JShoes,x8∈JBag,x9∈JGlass,x10∈JMuffler,x11∈JNecklace,x12∈JPierce,x13∈JBraceletとすると、x1はHatカテゴリに属するいずれかのアイテムのアイテム識別子,ないしは選択なし(x1=0)となり,Hatカテゴリのカテゴリ成分番号は値1である。アイテムx1(≠0),i=1,…,Nについて、算出したF値をF(xi),算出したA値をA(xi),算出したWc値をWc(xi),算出したWs値をWs(xi),算出した色比率をC(xi)=(CW(xi),CC(xi),CA(xi),CN(xi)),算出した顔判定フラグをΦ(xi)とする。x1=0のとき,F値,A値,Wc値,Ws値,色比率,顔判定フラグはすべて値0、即ちF(0)=0,A(0)=0,Wc(0)=0,Ws(0)=0,C(0)=(0,0,0,0),Φ(0)=0とする。St(x)をxに含まれる算出した季節タグとする。例えば,xが冬物を表すWとオールシーズンを表すAのみで構成される場合はSt(x)={W,A}となる。Sc(x)をxに含まれる小カテゴリとする。例えば、xが,小カテゴリがTシャツ,パンツ,サンダルであるアイテムによって構成されていれば、Sc(x)={Tシャツ,パンツ,サンダル}となる。筆記体の「A」を用いてA(x)={i|xi≠0,i=1,…,N}とし、その要素数を|A(x)|とする。上半身カテゴリ成分番号集合を筆記体の「T」を用いてT’とする。上記の例ではT’={1、2、3、4、5、10}である。T(x)=T’∩A(x)とし、その要素数を|T(x)|とする。下半身カテゴリ成分番号集合を筆記体の「B」を用いてB’とする。上記の例では、B’={5,6}である。B(x)=B’∩A(x)とし、その要素数を|B(x)|とする。靴カテゴリ成分番号集合を筆記体の「S」を用いてS’とする。上記の例では、S’={7}である。S(x)=S’∩A(x)とし、その要素数を|S(x)|とする。i番目のコーディネートカテゴリの面積比率をRi,i=1,…,Nとする。Ri,i=1,…,Nは事前に設定するパラメータである。ユーザが指定したアイテムのコーディネートカテゴリに対応するカテゴリ成分番号集合を筆記体の「U」を用いてUとし、指定されたアイテムのアイテム識別子をyとする。yの成分番号はUの要素のみとする。例えば,ユーザがHatカテゴリとBottomsカテゴリのアイテムを指定した場合、U={1,6}でy=(y1,y6)となる。ユーザが指定したF値の目標値をアッパーバー付きのFとする。U,y,アッパーバー付きFが与えられた下で,最適なコーディネートを算出するための最適化問題は、次式(13)〜式(22)で与えられる制約条件を満たすもとで、式(12)で与えられる目的関数を最小にするxを決定する問題と定式化される。
式(12)は、F値の目標値とのコーディネートのF値との誤差を表す。コーディネートのF値は,コーディネート内に含まれるアイテムの加重和で与えられる。
式(13)は、コーディネート内にユーザが指定したアイテムが含まれていることを表す。
式(14)は、画像内に顔が含まれるアイテムの使用の有無を表し,θΦ=0であれば使用しないこと、θΦ=1であれば使用することを表す。
式(15)は、コーディネートに含まれるアイテムのF値の差が極端に大きくないことを表す。
式(16)は、A値の加重和が一定値以内であり、即ちコーディネートの自己主張の度合いが一定の範囲内であることを表す。範囲の上限値と下限値は、お気に入りコーディネートA値平均値を用いる場合は、次式(23)により設定する。お気に入りコーディネートA値最大値とA値最小値を用いる場合は、式(24)により設定する。
式(13)は、コーディネート内にユーザが指定したアイテムが含まれていることを表す。
式(14)は、画像内に顔が含まれるアイテムの使用の有無を表し,θΦ=0であれば使用しないこと、θΦ=1であれば使用することを表す。
式(15)は、コーディネートに含まれるアイテムのF値の差が極端に大きくないことを表す。
式(16)は、A値の加重和が一定値以内であり、即ちコーディネートの自己主張の度合いが一定の範囲内であることを表す。範囲の上限値と下限値は、お気に入りコーディネートA値平均値を用いる場合は、次式(23)により設定する。お気に入りコーディネートA値最大値とA値最小値を用いる場合は、式(24)により設定する。
式(17)は、上半身のWc値の平均が下半身と靴のWc値の平均より小さいことを表す。
式(18)は、アイテムの形状の重さのバランスが、上のアイテムほど軽い三角形状のバランスか、下半身に頂点が集まる2つの三角形状のバランスのいずれかになっていることを表す。
式(19)は,コーディネートを構成するアイテム内に夏物と冬物の両方が含まれていないことを表す。
式(18)は、アイテムの形状の重さのバランスが、上のアイテムほど軽い三角形状のバランスか、下半身に頂点が集まる2つの三角形状のバランスのいずれかになっていることを表す。
式(19)は,コーディネートを構成するアイテム内に夏物と冬物の両方が含まれていないことを表す。
式(20)は,コーディネートの配色が設定された制約に違反していないことを表す。Gc(C(x))は配色制約関数であり、その値はつぎのように算出される。次式(25)とし式(26)とする。アッパー波バー付きC(x)をその値が大きい順に並び替えてC’(x)とし、対応する色分類を筆記体の「C」を用いてC’(x)とする。例えば、式(27)の場合には式(28)となる。
式(29)が成立するならば、4種類以上のコーディネートカラーが存在するとみなし、制約違反として値0を出力して終了する。式(30)が成立するならば、コーディネートカラーが1種類であるとみなし,制約違反として値0を出力して終了する。式(31)が成立するならば、コーディネートカラーが3種類であるとみなす。筆記体の「C」を用いた C1(x),C2(x),C3(x)の組合せがW,C,Aの組み合わせであれば、制約満足として値1を出力して終了する。そうでなければ,制約違反として値0を出力して終了する。式(32)が成立するならば、コーディネートカラーが2種類であるとみなす。筆記体の「C」を用いたC1(x),C2(x)が図17に示すいずれかであれば、制約満足として値1を出力して終了する。そうでなければ,制約違反として値0を出力して終了する。
式(21)は、xが、コーディネートカテゴリに関して、コーディネートとして成立する組み合わせであることを表す。Gp(x)は,xがコーディネートとして成立しない組み合わせのときに制約違反として値0を出力し、そうでなければ値1を出力する関数である。例えば、N=13で,各成分がx1∈JHat,x2∈JTops1,x3∈JTops2,x4∈JTops3,x5∈JAll in one,x6∈JBottoms,x7∈JShoes,x8∈JBag,x9∈JGlass,x10∈JMuffler,x11∈JNecklace,x12∈JPierce,x13∈JBraceletのとき、コーディネートとして成立しないアイテムの組み合わせの例は、以下のように与えられる。
式(22)は、Sc(x)がコーディネートとして成立する小カテゴリの組み合わせであることを表す。Gs(Sc(x))は、Sc(x)内にコーディネートとして成立しない小カテゴリの組み合わせが含まれているときに制約違反として値0を出力し、そうでなければ値1を出力する関数である。コーディネートとして成立しない小カテゴリの例としては,カフスボタンとTシャツ,デニムジャケットとパーティードレスなどを挙げることができる。
なお、ある一定数以上コーディネートを生成したユーザについては、式(12)で与えられる目的関数にコーディネート学習器からの出力を加えてもよい。即ち、コーディネートxに対するコーディネート学習器の出力をF’(x)として、目的関数を次式(33)と構成してもよい。
また、最適化問題は、以下のように解いてもよい。まず,ユーザの嗜好を反映したペナルティ関数を用いて、最適化問題の緩和可能な制約条件の違反量を目的関数に組み込んだ緩和問題を、次式(35)(36)で与えられる制約条件を満たすもとで、式(34)で与えられる目的関数を最小にするxを決定する問題として考える。
目的関数を式(12)とし、制約条件を式(13)〜式(22)とする最適化問題と対応させると、M=8で、V1が制約条件(式(15))の正規化制約違反量,V2が制約条件(式(16))の正規化制約違反量,…,V8が制約条件(式(22))の正規化制約違反量を表し、r1,r2,…,r8が対応する制約条件の違反に対するペナルティ係数となる。rm,m=1,…,Mはユーザごとに制約条件に対する感度が反映された値とする。例えば、r1=r2=…=r7=100,r8=10は、小カテゴリ制約の違反に対しては寛容であるユーザの嗜好を表現している。
目的関数を式(34)とし、制約条件を式(35),(36)とする緩和問題は、有制約組合せ最適化問題であり、その目的関数と実行可能領域の形状は不明である。その解法としては、遺伝的アルゴリズムをはじめとするメタヒューリスティクスを考えることができる。
目的関数を式(34)とし、制約条件を式(35),(36)とする緩和問題は、有制約組合せ最適化問題であり、その目的関数と実行可能領域の形状は不明である。その解法としては、遺伝的アルゴリズムをはじめとするメタヒューリスティクスを考えることができる。
(2)コーディネート閲覧処理
図18は、コーディネート閲覧処理の流れの一例を示す説明図である。コーディネート閲覧処理は、まず、ユーザの操作によりユーザ端末12がWebサーバ30にコーディネートの閲覧の要求を行なう(S600)。Webサーバ30は、コーディネートの閲覧の要求を受信すると、ユーザ識別子をキーとしてコーディネートテーブル36からユーザが保存したコーディネートを取得し(S610)、取得したコーディネートをユーザ端末12に送信する(S620)。この際、ユーザ情報テーブル42に保存されているユーザのお気に入りコーディネートを参照し、お気に入りコーディネートを優先して取得して送信するように構成するものとしてもよい。ユーザ端末12は、受信したコーディネートを提示する(S630)。このとき、コーディネート内に含まれるクローラ22が収集したアイテムの画像は,アイテム画像のURLに基づいてECサイト10から直接ダウンロードして提示するようにアプリケーションソフトウエアを構成しておくのが好ましい。ユーザは、ユーザ端末12に提示されたコーディネートを閲覧し、コーディネートのカスタマイズやコーディネートの評価を行う。
図18は、コーディネート閲覧処理の流れの一例を示す説明図である。コーディネート閲覧処理は、まず、ユーザの操作によりユーザ端末12がWebサーバ30にコーディネートの閲覧の要求を行なう(S600)。Webサーバ30は、コーディネートの閲覧の要求を受信すると、ユーザ識別子をキーとしてコーディネートテーブル36からユーザが保存したコーディネートを取得し(S610)、取得したコーディネートをユーザ端末12に送信する(S620)。この際、ユーザ情報テーブル42に保存されているユーザのお気に入りコーディネートを参照し、お気に入りコーディネートを優先して取得して送信するように構成するものとしてもよい。ユーザ端末12は、受信したコーディネートを提示する(S630)。このとき、コーディネート内に含まれるクローラ22が収集したアイテムの画像は,アイテム画像のURLに基づいてECサイト10から直接ダウンロードして提示するようにアプリケーションソフトウエアを構成しておくのが好ましい。ユーザは、ユーザ端末12に提示されたコーディネートを閲覧し、コーディネートのカスタマイズやコーディネートの評価を行う。
(3)コーディネートカスタマイズ処理
図19は、コーディネートカスタマイズ処理の流れの一例を示す説明図である。コーディネートカスタマイズ処理は、ユーザが、ユーザ端末12に提示されたコーディネートから、カスタマイズ対象アイテムを選択すると(S700)、ユーザ端末12は、ユーザ識別子,カスタマイズ対象アイテムのアイテム識別子,コーディネート識別子をWebサーバ30に送信する(S710)。Webサーバ30は、ユーザ識別子,カスタマイズ対象アイテムのアイテム識別子,コーディネート識別子を受信すると、コーディネート識別子をキーとして、コーディネートテーブル36からコーディネートに含まれるアイテムのアイテム識別子を参照し(S720)、アイテム識別子をキーとして、クローラアイテム特徴量ベクトルテーブル34とユーザアイテムテーブル38からコーディネート計算に必要な情報を参照する(S730)。式(12)〜式(22)の目的関数および制約条件式を参考に、カスタマイズ対象アイテムの代替となりうるアイテムを検索するための検索条件式を生成する(S740)。カスタマイズ対象アイテムの成分番号をtとすると,以下の条件をすべて満たすアイテムが検索対象となる。
(a)tに対するコーディネートカテゴリのアイテム
(b)目的関数(式(12))に関して、斜体の「F」で表されるF値が次式(37)を満たすアイテム。
(c)制約条件(式(14))に関して、顔判定フラグΦがΦ≦θΦを満たすアイテム。
(d)制約条件(式(16))に関して、斜体の「A」で表されるA値が式(38)を満たすアイテム。
(e)制約条件(式(19))に関して、Stで表わされる季節タグが式(39)を満たすアイテム。
図19は、コーディネートカスタマイズ処理の流れの一例を示す説明図である。コーディネートカスタマイズ処理は、ユーザが、ユーザ端末12に提示されたコーディネートから、カスタマイズ対象アイテムを選択すると(S700)、ユーザ端末12は、ユーザ識別子,カスタマイズ対象アイテムのアイテム識別子,コーディネート識別子をWebサーバ30に送信する(S710)。Webサーバ30は、ユーザ識別子,カスタマイズ対象アイテムのアイテム識別子,コーディネート識別子を受信すると、コーディネート識別子をキーとして、コーディネートテーブル36からコーディネートに含まれるアイテムのアイテム識別子を参照し(S720)、アイテム識別子をキーとして、クローラアイテム特徴量ベクトルテーブル34とユーザアイテムテーブル38からコーディネート計算に必要な情報を参照する(S730)。式(12)〜式(22)の目的関数および制約条件式を参考に、カスタマイズ対象アイテムの代替となりうるアイテムを検索するための検索条件式を生成する(S740)。カスタマイズ対象アイテムの成分番号をtとすると,以下の条件をすべて満たすアイテムが検索対象となる。
(a)tに対するコーディネートカテゴリのアイテム
(b)目的関数(式(12))に関して、斜体の「F」で表されるF値が次式(37)を満たすアイテム。
(c)制約条件(式(14))に関して、顔判定フラグΦがΦ≦θΦを満たすアイテム。
(d)制約条件(式(16))に関して、斜体の「A」で表されるA値が式(38)を満たすアイテム。
(e)制約条件(式(19))に関して、Stで表わされる季節タグが式(39)を満たすアイテム。
次に、Webサーバ30は、クローラアイテム特徴量ベクトルテーブル34とユーザアイテムテーブル38から生成した検索条件式に該当するアイテムを検索し(S750)、検索されたアイテムをカスタマイズ対象アイテムと交換したコーディネートを改めてxとして、制約条件(式(15)),(式(17)),(式(18)),(式(20)),(式(22))の満足性を確認する(S760)。制約条件を満たさない場合は,当該アイテムをユーザに提示するアイテム候補から除外する。以上の過程を経て得られた交換アイテム候補をユーザ端末12に送信する(S770)。ユーザ端末12は、交換アイテム候補を受信すると、受信した交換アイテム候補を提示する(S780)。このとき、コーディネート内に含まれるクローラが収集したアイテムの画像は,アイテム画像のURLに基づいてECサイト10から直接ダウンロードして提示するようにアプリケーションソフトウェアを構成しておいてもよい。ユーザ端末12は、ユーザにより提示された交換アイテム候補の中から交換対象アイテムが選択されると(S790)、カスタマイズ対象アイテム識別子,交換対象アイテム識別子,コーディネート識別子をWebサーバ30に送信する(S800)。Webサーバ30は、カスタマイズ対象アイテム識別子,交換対象アイテム識別子,コーディネート識別子を受け取ると、コーディネートテーブル36におけるコーディネート識別子が示すコーディネートにおいて、カスタマイズ対象アイテム識別子を交換対象アイテム識別子に上書きする(S810)。
(4)コーディネート評価処理
図20は、コーディネート評価処理の流れの一例を示す説明図である。コーディネート評価処理は、ユーザがコーディネートをお気に入りに登録する場合に行なわれ、ユーザがコーディネートを選択すると、ユーザ端末12はユーザ識別子とコーディネート識別子とをWebサーバ30に送信する(S850)。Webサーバ30は、ユーザ識別子とコーディネート識別子を受信すると、ユーザ識別子に対応づけてコーディネート識別子をお気に入りコーディネートとして、ユーザ情報テーブル42に保存する(S860)。また、Webサーバ30は、そのコーディネートの次式(40)により計算されるF値を用いてユーザのお気に入りコーディネートのF値平均値を更新すると共にそのコーディネートの式(41)により計算されるA値を用いてユーザのお気に入りコーディネートのA値平均値,A値最大値,A値最小値を更新する(S870)。そして、そのコーディネートの制約違反量を用いて、違反を許容している緩和制約条件に対するペナルティ係数を小さくし、違反を許容していない緩和制約条件に対するペナルティ係数を大きくするように更新する(S880)。
図20は、コーディネート評価処理の流れの一例を示す説明図である。コーディネート評価処理は、ユーザがコーディネートをお気に入りに登録する場合に行なわれ、ユーザがコーディネートを選択すると、ユーザ端末12はユーザ識別子とコーディネート識別子とをWebサーバ30に送信する(S850)。Webサーバ30は、ユーザ識別子とコーディネート識別子を受信すると、ユーザ識別子に対応づけてコーディネート識別子をお気に入りコーディネートとして、ユーザ情報テーブル42に保存する(S860)。また、Webサーバ30は、そのコーディネートの次式(40)により計算されるF値を用いてユーザのお気に入りコーディネートのF値平均値を更新すると共にそのコーディネートの式(41)により計算されるA値を用いてユーザのお気に入りコーディネートのA値平均値,A値最大値,A値最小値を更新する(S870)。そして、そのコーディネートの制約違反量を用いて、違反を許容している緩和制約条件に対するペナルティ係数を小さくし、違反を許容していない緩和制約条件に対するペナルティ係数を大きくするように更新する(S880)。
(5)コーディネート学習処理
図21は、コーディネート学習処理の流れの一例を示す説明図である。コーディネート学習処理では、コーディネート学習機28がコーディネートに対するユーザ毎の嗜好を学習する。コーディネート学習機28は、まず、コーディネートテーブル36から、学習対象ユーザ識別子をキーとして、コーディネートを構成しているアイテム識別子を取得し(S900)、クローラアイテム特徴量ベクトルテーブル34とユーザアイテムテーブル38から、取得したアイテム識別子をキーとして、アイテム特徴量ベクトルを取得する(S910)。続いて、ユーザ情報テーブル42から学習対象ユーザのお気に入りとなっているコーディネート識別子を取得し(S920)、取得した情報を元に訓練データ(xp,sp),p=1,…,Pを次式(42)のように準備する(S930)。各カテゴリのアイテムの有無は、コーディネート内に当該カテゴリのアイテムが含まれているかを表し、含まれていなければ値0、含んでいれば値1とする。アイテムpに対するスコアは、例えば、お気に入りコーディネートに対しては値1、そうでないコーディネートに対しては値0とする方法や、何らかのインターフェースを用いてユーザに点数を付けてもらい、その点数とする方法が考えられる。式(42)のxpの構成は実装方法の一例であり、別の特徴量を用いて構成する方法も考えられる。訓練データの選択方法としては、お気に入りコーディネートのみを用いる方法や、ユーザに提示した直近100件のコーディネートを用いる方法などが考えられる。
図21は、コーディネート学習処理の流れの一例を示す説明図である。コーディネート学習処理では、コーディネート学習機28がコーディネートに対するユーザ毎の嗜好を学習する。コーディネート学習機28は、まず、コーディネートテーブル36から、学習対象ユーザ識別子をキーとして、コーディネートを構成しているアイテム識別子を取得し(S900)、クローラアイテム特徴量ベクトルテーブル34とユーザアイテムテーブル38から、取得したアイテム識別子をキーとして、アイテム特徴量ベクトルを取得する(S910)。続いて、ユーザ情報テーブル42から学習対象ユーザのお気に入りとなっているコーディネート識別子を取得し(S920)、取得した情報を元に訓練データ(xp,sp),p=1,…,Pを次式(42)のように準備する(S930)。各カテゴリのアイテムの有無は、コーディネート内に当該カテゴリのアイテムが含まれているかを表し、含まれていなければ値0、含んでいれば値1とする。アイテムpに対するスコアは、例えば、お気に入りコーディネートに対しては値1、そうでないコーディネートに対しては値0とする方法や、何らかのインターフェースを用いてユーザに点数を付けてもらい、その点数とする方法が考えられる。式(42)のxpの構成は実装方法の一例であり、別の特徴量を用いて構成する方法も考えられる。訓練データの選択方法としては、お気に入りコーディネートのみを用いる方法や、ユーザに提示した直近100件のコーディネートを用いる方法などが考えられる。
コーディネート学習機28は,xpを入力するとspが出力されるように,即ち,すべてのpについて、次式(43)となるように、機械学習器を用いて近似関数Fを構築する(S940)。
ここで,近似関数の構築(これを学習とよぶ)とは、関数構造Fおよびそのパラメータを決定することを意味している。機械学習法としては、ニューラルネットワークを始めとしてさまざまな方法が適用できるが、実施例では、ラジアル基底関数ネットワークを用いた。ラジアル基底関数ネットワークでは、複数のガウス関数の重ね合わせで近似関数を構成する。ラジアル基底関数の近似関数は次式(44)により構成される。ラジアル基底関数ネットワークの学習では、xの成分数をNとして、パラメータw,r,v1,…,vMを式(45)〜式(48)のように算出する。
学習が終了すると、コーディネート学習機28は、学習した(学習器を用いて新たなコーディネートを評価するために必要な)パラメータをユーザ情報テーブル42にユーザ識別子とともに保存する(S950)。なお、コーディネート学習を行なう間隔は任意に設定可能であるが、例えば1日1回の運用が考えられる。
以上説明した実施例のファッションコーディネートリコメンドシステム20では、ユーザ端末12からアイテムを指定すると共にF値の目標値が指定されると、ECサイト10から収集したアイテムのアイテム特徴量ベクトルを保存するクローラアイテム特徴量ベクトルテーブル34や、ユーザ所有アイテムのアイテム情報等を保存するユーザアイテムテーブル38,ユーザの嗜好(A値平均値、A値最大値、A値最小値など)を保存するユーザ情報テーブル42を参照して、指定されたアイテムにあったコーディネートを最適化計算により算出して提示する。これにより、ユーザが想定している時間や場所,場合(TPO:Time,Place,Occasion)とユーザの嗜好を考慮して、ユーザが指定したアイテムにあったファッションコーディネートを自動的に計算し提案することができる。しかも、コーディネートを構成するアイテムを総合的に評価する関数を目的関数とした最適化問題を解いてコーディネートを推薦するから、柔軟性と多様性に富んだコーディネートを提示することができる。例えば、フォーマル度を例に取ると、コーディネート全体のフォーマル度に対する目標値(F値の目標値)の計画問題を解くから、目標とするフォーマル度が7の場合には、トップスのフォーマル度が7、ボトムスのフォーマル度が6、ハットのフォーマル度が8、即ち、ボトムスで少しカジュアル感を出した分だけハットでバランスを整えるといったコーディネートを探索して提示することができる。また、これと同時に、同じ評価値となるトップスのフォーマル度が5、ボトムスのフォーマル度が8、バッグのフォーマル度が8、ハットのフォーマル度が7というコーディネートも提示することができる。
また、実施例のファッションコーディネートリコメンドシステム20では、制約条件をペナルティ関数として目的関数に組み込んだ問題を解いてコーディネートを探索するから、ある程度制約を侵害するが、ユーザが設定した目標には近い意外性のあるコーディネートを提示することできる。さらに、ユーザの嗜好を制約条件の侵害度に対する感度(ペナルティ係数)として、ペナルティ関数を介して目的関数に組み込むことにより、ユーザの嗜好をより直接的に考慮したコーディネートを探索し提示することができる。これに加えて、コーディネートに対するユーザの評価の予測値を目的関数に組み込むことにより、ユーザの嗜好をより直接的に考慮したコーディネートを探索し提示することができる。
実施例のファッションコーディネートリコメンドシステム20では、ユーザ端末12から提示されたコーディネートに含まれるアイテムがカスタマイズ対象アイテムとして指定されると、このカスタマイズ対象アイテムの代替えのアイテムをコーディネート提案処理の一部を用いて算出して交換アイテム候補としてユーザ端末12に提示し、ユーザ端末12から提示された交換アイテム候補からアイテムが交換対象アイテムとして指定されると、提示されたコーディネートに含まれるアイテムのうちカスタマイズ対象アイテムを交換対象アイテムに置き換える。これにより、コーディネートに含まれるアイテムを変更することができる。
実施例のファッションコーディネートリコメンドシステム20では、提示されたコーディネートをお気に入りコーディネートとしてユーザ情報テーブル42に保存すると共に、ユーザのお気に入りコーディネートのF値平均値やA値平均値,A値最大値,A値最小値を更新し、コーディネートの制約違反量を用いてペナルティ係数を更新する。これにより、ユーザの嗜好をより直接的に考慮したコーディネートを提示することができる。
実施例のファッションコーディネートリコメンドシステム20では、コーディネートテーブル36に保存された学習対象のユーザのコーディネートに含まれるアイテムやユーザのお気に入りコーディネートに含まれるアイテムを用いた訓練データを準備して、コーディネートに対するユーザ毎の嗜好を学習する。これにより、ユーザの嗜好をより反映したコーディネートを提示することができる。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
本発明は、ファッションコーディネートリコメンドシステムの製造産業などに利用可能である。
10 ECサイト、12 ユーザ端末、20 ファッションコーディネートリコメンドシステム、22 クローラ、24 アイテム特徴量ベクトル計算機、26 コーディネート計算機、28 コーディネート学習機、30 Webサーバ、32 クローラアイテム情報テーブル、34 クローラアイテム特徴量ベクトルテーブル、36 コーディネートテーブル、38 ユーザアイテムテーブル、40 ユーザクローゼットテーブル、42 ユーザ情報テーブル。
Claims (5)
- ユーザ端末にファッションコーディネートをリコメンドするファッションコーディネートリコメンドシステムであって、
ECサイトからアイテム情報を取得してアイテム情報テーブルに保存するアイテム情報取得手段と、
前記アイテム情報テーブルのアイテム情報に基づいて少なくともアイテムのカテゴリとフォーマルの程度とを含む予め定めたアイテム特徴量に対するアイテム特徴量ベクトルを計算してアイテム特徴量ベクトルテーブルに保存するアイテム特徴量ベクトル計算手段と、
前記アイテム情報テーブルからユーザが選択したアイテムのアイテム情報とユーザにより入力されたアイテムのアイテム情報とをユーザアイテムテーブルに保存するユーザアイテム情報保存手段と、
ユーザ端末からアイテムとフォーマルの程度の目標値とが指定されたとき、前記ユーザアイテムテーブルと前記アイテム特徴量ベクトルテーブルとを参照し、所定の目的関数と所定の制約条件とに基づいて前記指定したアイテムを含み且つ前記指定した目標値に近いコーディネートを計算してコーディネートテーブルに保存すると共に該コーディネートを前記ユーザ端末に提示するコーディネート計算手段と、
を備えるファッションコーディネートリコメンドシステム。 - 請求項1記載のファッションコーディネートリコメンドシステムであって、
前記コーディネート計算手段は、アイテムを総合評価する関数を前記所定の目的関数として前記所定の制約条件に基づいて最適化問題を解くことにより前記コーディネートを計算する手段である、
ファッションコーディネートリコメンドシステム。 - 請求項1または2記載のファッションコーディネートリコメンドシステムであって、
前記コーディネートテーブルに保存されたコーディネートに対して該コーディネートに含まれるアイテムがカスタマイズ対象アイテムとして選択されたとき、該コーディネートに含まれるアイテムのアイテム情報を用いて前記所定の目的関数と前記所定の制約条件とに基づいて前記カスタマイズ対象アイテムの代替えとなる交換アイテム候補を検索して前記ユーザ端末に提示し、前記ユーザ端末から前記交換アイテム候補のうち交換対象アイテムが指定されたとき、前記コーディネートに対して前記カスタマイズ対象アイテムを前記交換対象アイテムに置き換えて前記コーディネートテーブルに保存するカスタマイズ手段、
を備えるファッションコーディネートリコメンドシステム。 - 請求項1ないし3のうちのいずれか1つの請求項に記載のファッションコーディネートリコメンドシステムであって、
前記ユーザ端末からコーディネートがお気に入りコーディネートとして指定されたとき、前記お気に入りコーディネートをユーザ情報テーブルに保存すると共に、前記ユーザ情報テーブルに保存された前記所定の制約条件に対する許容度を更新するコーディネート評価処理手段、
を備えるファッションコーディネートリコメンドシステム。 - 請求項1ないし4のうちのいずれか1つの請求項に記載のファッションコーディネートリコメンドシステムであって、
前記コーディネートテーブルに保存されたユーザ毎の少なくとも一部のコーディネートまたは前記ユーザ情報テーブルに保存されたユーザ毎の少なくとも一部のお気に入りコーディネートを用いて該コーディネートに含まれるアイテムのアイテム情報に基づいてユーザの嗜好を反映する嗜好指標を学習すると共に該嗜好指標をユーザ情報テーブルに保存する嗜好指標学習手段、
を備えるファッションコーディネートリコメンドシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562192749P | 2015-07-15 | 2015-07-15 | |
US62/192749 | 2015-07-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017027597A true JP2017027597A (ja) | 2017-02-02 |
Family
ID=57946653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016139312A Pending JP2017027597A (ja) | 2015-07-15 | 2016-07-14 | ファッションコーディネートリコメンドシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017027597A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020512628A (ja) * | 2017-03-07 | 2020-04-23 | オリジナル, インコーポレイテッドOriginal, Inc. | カスタマイズされた衣服及び衣装デザインを生成する方法及びシステム |
WO2020153796A1 (ko) * | 2019-01-24 | 2020-07-30 | 삼성전자 주식회사 | 전자 장치 및 그 동작방법 |
WO2021157573A1 (ja) * | 2020-02-03 | 2021-08-12 | 株式会社Fabric Tokyo | 情報提供システム |
WO2022107952A1 (ko) * | 2020-11-20 | 2022-05-27 | 주식회사 제이어스 | 패션 이미지 속성을 이용한 자동 스타일링 서비스 시스템 및 방법 |
JP2023098350A (ja) * | 2021-12-28 | 2023-07-10 | 株式会社Zozo | 情報処理装置、情報処理方法及び情報処理プログラム |
JP2023098351A (ja) * | 2021-12-28 | 2023-07-10 | 株式会社Zozo | 情報処理装置、情報処理方法及び情報処理プログラム |
US11995699B2 (en) | 2018-10-23 | 2024-05-28 | Peace Tec Lab Inc. | Commodity recommendation system |
WO2024142173A1 (ja) * | 2022-12-26 | 2024-07-04 | 日本電気株式会社 | 最適化装置、最適化方法、及びプログラム |
-
2016
- 2016-07-14 JP JP2016139312A patent/JP2017027597A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020512628A (ja) * | 2017-03-07 | 2020-04-23 | オリジナル, インコーポレイテッドOriginal, Inc. | カスタマイズされた衣服及び衣装デザインを生成する方法及びシステム |
US11995699B2 (en) | 2018-10-23 | 2024-05-28 | Peace Tec Lab Inc. | Commodity recommendation system |
WO2020153796A1 (ko) * | 2019-01-24 | 2020-07-30 | 삼성전자 주식회사 | 전자 장치 및 그 동작방법 |
WO2021157573A1 (ja) * | 2020-02-03 | 2021-08-12 | 株式会社Fabric Tokyo | 情報提供システム |
WO2022107952A1 (ko) * | 2020-11-20 | 2022-05-27 | 주식회사 제이어스 | 패션 이미지 속성을 이용한 자동 스타일링 서비스 시스템 및 방법 |
JP2023098350A (ja) * | 2021-12-28 | 2023-07-10 | 株式会社Zozo | 情報処理装置、情報処理方法及び情報処理プログラム |
JP2023098351A (ja) * | 2021-12-28 | 2023-07-10 | 株式会社Zozo | 情報処理装置、情報処理方法及び情報処理プログラム |
JP7312811B2 (ja) | 2021-12-28 | 2023-07-21 | 株式会社Zozo | 情報処理装置、情報処理方法及び情報処理プログラム |
JP7312810B2 (ja) | 2021-12-28 | 2023-07-21 | 株式会社Zozo | 情報処理装置、情報処理方法及び情報処理プログラム |
WO2024142173A1 (ja) * | 2022-12-26 | 2024-07-04 | 日本電気株式会社 | 最適化装置、最適化方法、及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017027597A (ja) | ファッションコーディネートリコメンドシステム | |
US11100560B2 (en) | Extending machine learning training data to generate an artificial intelligence recommendation engine | |
US10963944B2 (en) | System and method for fashion recommendations | |
KR101649765B1 (ko) | 패션 관련 정보에 기초하여 소셜 네트워킹을 조성하는 방법 | |
KR102664008B1 (ko) | 시각 정보에 기초한 고객 아이템 추천 방법 및 장치 | |
US11132734B2 (en) | System and method for social style mapping | |
US11062379B2 (en) | Automatic fashion outfit composition and recommendation system and method | |
CN110110181A (zh) | 一种基于用户风格和场景偏好的服装搭配推荐方法 | |
US11809985B2 (en) | Algorithmic apparel recommendation | |
KR102437199B1 (ko) | 사용자 체형 정보를 이용한 의류 추천 방법 및 장치 | |
JP6212013B2 (ja) | 商品推奨装置及び商品推奨方法 | |
US11157988B2 (en) | System and method for fashion recommendations | |
US20090037292A1 (en) | Intelligent shopping search system | |
JP7529088B2 (ja) | 情報処理システム、情報処理方法、およびプログラム | |
KR20210031223A (ko) | 딥러닝을 이용한 벡터기반의 패션추천 방법 및 시스템 | |
US11544768B2 (en) | System and method for fashion recommendations | |
JP2016071881A (ja) | アイテムリコメンドシステム | |
KR20110020104A (ko) | 코디 검색 시스템 및 서비스 제공 방법 | |
US11430043B2 (en) | System and method for fashion recommendations | |
JP7536952B1 (ja) | 情報処理方法、情報処理装置、及びプログラム | |
KR102678159B1 (ko) | 의류판매 플랫폼 시스템 | |
US11790429B2 (en) | Systems and methods for interpreting colors and backgrounds of maps | |
NL2022937B1 (en) | Method and Apparatus for Accessing Clothing | |
JP7513578B2 (ja) | 情報処理装置、情報処理方法、及び情報処理プログラム | |
WO2018109699A1 (en) | Systems and methods for matching garments |