以下に、本願に係る推定装置、推定方法、および推定プログラムを実施するための形態(以下、「実施形態」と呼ぶ。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る推定装置、推定方法、および推定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
〔1.情報提供装置の一例〕
まず、図1を用いて、実施形態に係る推定装置の一例である情報提供装置10の一例について説明する。図1は、実施形態に係る情報提供装置の一例を示す図である。図1では、推定装置の一例である情報提供装置10によって実行される推定処理の一例として、各地域における取引対象への需要、すなわち、取引対象の流行の発生状態を推定する処理について説明する。
図1に示す情報提供装置10は、推定処理を行う情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。例えば、情報提供装置10は、各利用者U1、U2(以下、「利用者U」と総称する場合がある。)が使用する利用者端末101、102(以下、「利用者端末100」と記載する場合がある。)とインターネット等のネットワークN(例えば、図2参照)を介して通信可能である。また、情報提供装置10は、取引対象を供給する供給者が使用する供給者端末201、202(以下、「供給者端末200」と総称する)と通信可能である。また、情報提供装置10は、利用者UがSNS(Social Networking Service)やマイクロブログ等に投稿したテキストや写真等の投稿情報を管理するSNSサーバ300(例えば、図2参照)とネットワークNを介して通信可能であるものとする。また、情報提供装置10は、利用者Uが入力した検索クエリのログを管理する検索ログサーバ400(例えば、図2参照)とネットワークNを介して通信可能であるものとする。
利用者端末100は、利用者Uにより利用されるPC(Personal Computer)やスマートフォン等の情報処理端末である。例えば、利用者端末100は、インターネット等のネットワークN(例えば、図2参照)を介して、情報提供装置10と通信可能である。なお、図1での図示は省略しているが、情報提供装置10は、さらに任意の数の利用者端末と通信可能であってもよい。
このような利用者端末100は、利用者Uが入力した各種の情報をネットワーク上に出力する機能を有する。例えば、利用者端末100は、利用者Uが入力したテキストや写真等の情報をSNSやマイクロブログ等に投稿する機能を有する。また、利用者端末100は、利用者Uが入力したテキストや写真を検索クエリとし、ウェブ検索を行う検索サーバへと検索クエリを送信することで、検索クエリと対応する各種のウェブコンテンツを取得する機能を有する。
供給者端末200は、取引対象の供給を行う供給者が使用する情報処理装置であり、PC、サーバ装置、およびクラウドシステム等により実現可能である。ここで、供給者は、所定の取引対象を利用者Uに対して供給する供給者であり、例えば、実店舗や電子商店街を介して取引対象を利用者Uに対して供給する供給者である。なお、供給者は、取引対象の生産を行うものであってもよい。
なお、以下の説明では、供給者端末201を利用する供給者は、地域A1において実店舗を有する供給者、あるいは、地域A1に対して多くの取引対象を供給する供給者であるものとする。また、以下の説明では、供給者端末202を利用する供給者は、地域A2において実店舗を有する供給者、あるいは、地域A2に対して多くの取引対象を供給する供給者であるものとする。
〔1−1.推定処理の概要について〕
ここで、利用者の検索クエリや投稿情報から、取引対象の流行を推定し、流行の発生を供給者に提供するといった手法が考えられる。しかしながら、従来技術では、どのような態様で流行が発生するか否かを予測することができないため、例えば、実際には地域A1で流行が発生するにも関わらず、地域A2の供給者に流行を通知してしまう恐れがある。
そこで、情報提供装置10は、以下の推定処理を実行する。まず、情報提供装置10は、利用者Uが入力した入力情報を収集する。例えば、情報提供装置10は、利用者Uが入力した検索クエリや投稿情報等を入力情報として収集する。そして、情報提供装置10は、入力情報と、入力情報に関連する属性とに基づいて、入力情報と紐付けられる取引対象の需要であって、属性と対応する利用者による需要を推定する。
例えば、情報提供装置10は、取引対象を示唆するような入力情報の収集を行う。より具体的な例を挙げると、情報提供装置10は、取引対象を示す文字列を含む入力情報を収集し、収集した入力情報から取引対象を示す文字列を抽出する。そして、情報提供装置10は、抽出した文字列が示す取引対象に対する需要を推定する。例えば、情報提供装置10は、「ワンピース」といった取引対象の文字列が含まれる入力情報、「ワンピ」等といった取引対象を示す略語を含む入力情報、「ワンピース」の写真が含まれる入力情報等、「ワンピース」という取引対象に対して言及していると推定される入力情報を、取引対象「ワンピース」を示唆する入力情報として収集する。
このような取引対象を示唆する入力情報の数や、入力情報が入力された頻度は、その入力情報が示唆する取引対象が流行しているか否か、流行するか否かの指標となりえる。そこで、情報提供装置10は、入力情報が示唆する取引対象をそれぞれ特定し、取引対象ごとに入力情報が入力された数や頻度に基づいて、その取引対象が流行しているか否か、流行するか否かの推定を行う。
より具体的には、情報提供装置10は、ある取引対象を示唆する入力情報を特定し、特定した入力情報を入力した利用者のデモグラフィック属性や、入力情報が入力された日時や地域等、入力情報と紐付け可能な属性を入力情報と関連する属性として特定する。例えば、情報提供装置10は、入力情報に関連する属性として、入力情報を入力した利用者の属性を特定する。また、情報提供装置10は、入力情報に関連する属性として、入力情報と紐付けられる地域を特定する。例えば、情報提供装置10は、入力情報が入力された際の利用者端末100の位置をGPS(Global Positioning System)やIP(Internet Protocol)アドレス等で特定する。また、例えば、情報提供装置10は、入力情報に含まれる地域の文字列を特定し、特定した文字列が示す地域を入力情報と紐付けられる地域とする。すなわち、入力情報と紐付けられる地域とは、入力情報そのものに付随する位置情報に基づく地域のみならず、入力情報を入力した利用者に付随する位置情報に基づく地域や、入力情報そのものに含まれる文字列等の情報が示す地域等を含む概念である。また、地域以外にも、入力情報と紐付けられる属性は、入力情報そのものに付随する属性のみならず、入力情報と紐付られた利用者に付随する属性や、入力情報そのものに含まれる文字列等の情報が示す属性をも含む概念である。
また、情報提供装置10は、入力情報に関連する属性として、入力情報と紐付けられる利用者の年代を特定する。また、情報提供装置10は、入力情報に関連する属性として、入力情報と紐付けられる利用者の性別を特定する。このような利用者の属性の特定は、例えば、各利用者Uが予め登録した属性のみならず、各利用者Uによる利用者端末100の操作履歴や位置履歴等から推定された属性等が採用可能である。そして、情報提供装置10は、特定した属性ごとに、その属性と対応する利用者による需要を推定する。
すなわち、情報提供装置10は、入力情報の属性と、取引対象との組ごとに、その属性と対応する利用者による需要であって、その取引対象に対する需要を推定する。例えば、情報提供装置10は、入力情報が入力された地域ごとに、所定の取引対象に対する需要の推定を行う。より具体的な例を挙げると、情報提供装置10は、地域A1と紐付けられる入力情報のうち、ワンピースを示す入力情報の数に基づいて、地域A1におけるワンピースの流行を推定し、地域A2と紐付けられる入力情報のうち、ワンピースを示す入力情報の数に基づいて、地域A2におけるワンピースの流行を推定する。例えば、情報提供装置10は、入力情報の数が所定の閾値よりも多い場合には、流行が発生している旨を予測する。
なお、情報提供装置10は、例えば、10代の女性と紐付けられる入力情報、すなわち、10代の女性が入力した入力情報のうち、ワンピースを示す入力情報の数に基づいて、10代の女性におけるワンピースの流行を推定し、20代の女性と紐付けられる入力情報、すなわち、20代の女性が入力した入力情報のうち、ワンピースを示す入力情報の数に基づいて、20代の女性におけるワンピースの流行を推定してもよい。
このように、情報提供装置10は、取引対象単位での流行を推定するのではなく、取引対象と、利用者の属性との組合せごとに流行を推定する。例えば、情報提供装置10は、どのような地域の利用者の間でどの取引対象が流行するか、どの年代の利用者の間でどの取引対象が流行するか、どの性別の利用者の間でどの取引対象が流行するか等を推定する。また、情報提供装置10は、これら利用者の属性の組み合わせごとに流行を推定する。例えば、情報提供装置10は、地域A1における利用者であって、10代の女性の間に取引対象「ワンピース」が流行するか否かを推定する。
この結果、情報提供装置10は、例えば、利用者のデモグラフィック属性(例えば、地域、年代、性別等)ごとに流行の発生を推定することができるので、例えば、実際には地域A1のみで流行が発生する際に、地域A1の供給者に対してのみ、流行を通知することができる。また、情報提供装置10は、例えば、10代の女性の間でのみ流行が発生する場合に、10代の女性が主な客層である供給者に対して、流行の通知を行うことができる。
なお、情報提供装置10は、ある取引対象の需要を利用者の属性ごとに推定し、推定結果を可視化した情報を需要者に提供してもよい。例えば、情報提供装置10は、ワンピースに対する需要を地域別に示す情報を提供してもよい。このような情報を提供することで、情報提供装置10は、将来の流行を示唆する情報を供給者に提供することができる。
〔1−2.予測処理の概要について〕
ここで、ある取引対象について流行が発生する場合、その流行は地域や利用者の属性を超えて伝播すると予測される。例えば、第1地域の利用者の間である取引対象が流行した場合、時間差で隣接する地域や、第1地域の次に人口が多い地域等でその取引対象の流行が生じると推定される。また、例えば、10代の女性の間である取引対象が流行した場合、時間差で10代男性や20代女性へと流行が伝播するとも考えられる。このような流行の伝播を予測し、予測結果を供給者に対して提供した場合は、流行に先がけて取引対象を準備するといった取引の効率化を実現することができると予測される。
そこで、情報提供装置10は、以下の予測処理を実行する。例えば、情報提供装置10は、利用者の属性ごとに推定した需要に基づいて、所定の取引対象に対する需要の伝播態様を予測する。ここで、需要の伝播態様とは、ある取引対象の流行が利用者の属性を超えて伝播する態様であり、例えば、ある取引対象の流行が、地域A1の次に地域A2で生じる、10代女性の次に20代女性や10代男性の間で生じるといった流行が伝播していく属性の変遷である。すなわち、情報提供装置10は、需要の伝播態様として、所定の属性と対応する利用者による需要が所定の閾値を超えた場合、すなわち、取引対象の流行が発生した場合に、所定の属性よりも後に対応する利用者による需要が所定の閾値を超える属性を予測する。
また、情報提供装置10は、予測された属性と対応する利用者による需要が所定の閾値を超えるまでの期間を予測する。例えば、情報提供装置10は、地域A1においてある取引対象の流行が発生している際に、地域A2で流行が将来発生すると予測した場合に、地域A2において流行が発生するまでの期間、すなわち、地域A2における需要が所定の閾値を超えるまでの期間を予測する。
例えば、情報提供装置10は、収集した入力情報を、入力された時間帯ごとに分類し、時間帯ごとに分類した入力情報を用いて、各時間帯毎の需要を推定する。例えば、情報提供装置10は、日時#1に投稿或いは入力された入力情報から、利用者の属性と取引対象との組ごとに、日時#1における需要の推定を行う。また、情報提供装置10は、日時#1よりも後の日時#2に投稿或いは入力された入力情報から、利用者の属性と取引対象との組ごとに、日時#2における需要の推定を行う。
ここで、日時#1における需要と、日時#2における需要とを比較した場合、どのように流行が伝播していったのかを推定することができると考えられる。例えば、ある第1取引対象が日時#1において地域A1で流行し、地域A2では流行していないが、日時#2において地域A2でも流行している場合には、第1取引対象の流行が地域A1から地域A2へと伝播した、すなわち、利用者の属性を超えて流行が伝播したと考えられる。このような伝播態様が存在する際に、第1取引対象と類似する第2取引対象の流行が地域A1にて生じた場合、第2取引対象が地域A2にて将来流行すると予測される。
そこで、情報提供装置10は、利用者の属性と日時との組ごとに推定した所定の取引対象に対する需要の変遷に基づいて、所定の取引対象と類似する類似取引対象に対する需要の伝播態様を予測する。例えば、情報提供装置10は、取引対象「ワンピース」が地域A1で流行した後で地域A2で流行した場合、取引対象「ワンピース」と類似する取引対象「ドレス」が地域A1で流行しているか否かを推定する。そして、情報提供装置10は、取引対象「ドレス」が地域A1で流行している場合、取引対象「ワンピース」と同様に、取引対象「ドレス」が将来地域A2で流行する旨を予測する。
また、情報提供装置10は、所定の取引対象に対する需要の推定結果から、所定の取引対象の需要が利用者の属性を超えて伝播するまでの期間を特定する。そして、情報提供装置10は、特定した期間に基づいて、所定の取引対象と類似する取引対象の需要が利用者の属性を超えて伝播するまでの期間を予測する。例えば、情報提供装置10は、取引対象「ワンピース」が地域A1で流行してから1月後に地域A2で流行した場合、取引対象「ワンピース」と類似する取引対象「ドレス」が地域A1で流行してから、1月後に地域A2でも流行する旨を予測する。
このように、情報提供装置10は、利用者の属性と所定の取引対象との組ごとに推定した需要の変遷に基づいて、所定の取引対象と類似する取引対象の需要の変遷、すなわち、流行の伝播を予測する。このため、情報提供装置10は、例えば、ある取引対象が将来地域A2で流行すると予測される場合に、地域A2の供給者に対し、流行の発生を先行して通知することができるので、取引の効率化を実現することができる。例えば、情報提供装置10は、地域A2の供給者に対し、流行する取引対象を定価で販売する旨や、目立つ場所に陳列する旨等の通知を行うことができる。
〔1−3.モデルの利用について〕
ここで、情報提供装置10は、流行の伝播を予測するため、モデルを利用してもよい。例えば、情報提供装置10は、利用者の属性と日時との組ごとに推定した所定の取引対象に対する需要の変遷が有する特徴を学習したモデルを用いて、類似取引対象に対する需要の伝播態様を予測してもよい。
例えば、情報提供装置10は、入力情報を時間帯ごとに分類し、分類した入力情報から、利用者の属性と取引対象の組ごとに需要の推定を行う。続いて、情報提供装置10は、推定結果を学習データとしてモデルに入力し、取引対象が有する特徴と、流行が生じた利用者の属性の変遷が有する特徴との間の関係性を学習するようにモデルの学習を行う。
例えば、情報提供装置10は、複数のノードを多段に接続したニューラルネットワークをモデルとして準備する。このようなモデルは、例えば、DNN(Deep Neural Network)、LSTM(Long Short-Term Memory)畳み込みニューラルネットワークや、再帰型ニューラルネットワークであってもよい。また、モデルは、これら畳み込みニューラルネットワークや、再帰型ニューラルネットワークの機能を組み合わせたものであってもよい。また、情報提供装置10は、サポートベクトル回帰(Support Vector Regression)等の任意の回帰モデルを用いてもよい。
また、情報提供装置10は、各時間帯の推定結果から、流行が生じた利用者の属性と、流行した取引対象との組を抽出する。そして、情報提供装置10は、ある日時において流行が生じた利用者の属性を示す情報と取引対象を示す情報とをモデルに入力した際に、次に流行が生じた利用者の属性と、流行が生じるまでの期間とを出力するように、モデルの学習を行う。すなわち、情報提供装置10は、流行が伝播する属性のパターンをモデルに学習させる。
続いて、情報提供装置10は、処理対象となる取引対象に対する需要を、利用者の属性ごとに推定する。そして、情報提供装置10は、推定された需要を用いて、その取引対象に対する需要の伝播態様を予測する。例えば、情報提供装置10は、処理対象となる取引対象に対する需要を推定し、推定結果から、流行が発生しているか否かを判定する。より具体的には、情報提供装置10は、いずれかの属性を有する利用者における需要が所定の閾値を超えているか否かを判定する。そして、情報提供装置10は、処理対象となる取引対象の流行が発生している場合は、流行が発生している利用者の属性と、処理対象となる取引対象の情報とをモデルに入力することで、次に流行が発生するであろう利用者の属性を予測する。
なお、上述した処理は、あくまで一例であり、情報提供装置10は、流行の伝播を推定することができるモデルであれば、任意のモデルの学習を行ってもよい。ここで、モデルは、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力された情報と対応する情報を出力層から出力するようコンピュータを機能させる。なお、モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定されるものであってもよい。
このようなモデルは、入力層に取引対象を示す情報と、流行が発生している利用者の属性とを示す入力信号が入力された場合に、出力層から、次に流行が発生する利用者の属性と、流行が発生するまでの期間とを示す情報を出力するようコンピュータを機能させる。例えば、モデルは、CPU及びメモリを備えるコンピュータにて用いられる。具体的には、コンピュータのCPUが、メモリに記憶された学習済モデルからの指令に従って、モデルの入力層に入力された入力信号に対して、ニューラルネットワークにおける学習済みの重みづけ係数と応答関数等に基づく演算を行い、出力層から次に流行が発生する利用者の属性と、流行が発生するまでの期間とを示す情報を出力するよう動作する。
ここで、モデルをDNN等、1つまたは複数の中間層を有するニューラルネットワークで実現する場合、各モデルが含む第1要素とは、入力層または中間層が有するいずれかのノードと見做すことができ、第2要素とは、第1要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第1要素の重みとは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
ここで、情報提供装置10は、学習データを用いて、将来流行が発生する利用者の属性と、流行が発生するまでの期間とを示す情報を生成するモデルを生成する。すなわち、学習データは、入力情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力情報の特徴を反映させた重みに基づく演算を行うことにより、入力された入力情報に対応する出力情報(例えば、将来流行が発生する利用者の属性と、流行が発生するまでの期間)を出力層から出力するよう、コンピュータを機能させるためのデータである。
また、情報提供装置10は、上述したモデルを取引対象ごとに生成してもよい。例えば、情報提供装置10は、ワンピースについて現在流行している利用者の属性から、将来ワンピースが流行する利用者の属性を予測するモデルの学習を行ってもよい。このように取引対象ごとにモデルを学習する場合、情報提供装置10は、学習時や予測時において取引対象を示す情報を入力する必要はない。
〔1−4.取引対象の属性について〕
また、情報提供装置10は、取引対象の属性を考慮した推定処理や学習処理を実行してもよい。例えば、情報提供装置10は、色違いのワンピースやサイズ違いの服等、同種の商品であるが異なる属性を有する取引対象をそれぞれ異なる取引対象として取り扱ってもよい。
また、情報提供装置10は、取引対象の属性を考慮した推定処理や学習処理を行うことで、例えば、赤のワンピースが地域A1で流行した後に、青のワンピースが地域A2で流行するといった予測を行ってもよい。すなわち、情報提供装置10は、取引対象の属性と利用者の属性と日時との組ごとに、属性を有する取引対象に対する需要であって、その属性を有する利用者による需要を推定する。そして、情報提供装置10は、取引対象の属性と利用者の属性と日時との組ごとに推定した需要に基づいて、共通する属性を有する取引対象に対する需要の伝播態様を予測する。
例えば、情報提供装置10は、赤のドレスが地域A1で流行した後に、青のドレスが地域A2で流行していた場合、取引対象「ドレス」に対応するモデルに対し、対象属性「赤」、および属性「地域A1」を入力した際に、対象属性「青」、および属性「地域A2」を出力するようにモデルの学習を行う。そして、情報提供装置10は、赤のワンピースが地域A1で流行している場合、取引対象「ドレス」と取引対象「ワンピース」とが類似するものとして、取引対象「ドレス」に対応するモデルに対し、対象属性「赤」、および属性「地域A1」を入力し、対象属性「青」、および属性「地域A2」の出力を得る。この結果、情報提供装置10は、青のワンピースが将来地域A2で流行する旨を予測することができる。
〔1−5.入力情報について〕
ここで、情報提供装置10は、流行の指標となりえる入力情報であれば、任意の入力情報を採用してよい。例えば、情報提供装置10は、電子商店街において取引対象を出品する出品者が入力した情報を入力情報として採用してもよい。例えば、情報提供装置10は、ある期間において地域A1に店舗を有する供給者がワンピースの出品を行っている場合、地域A1においてワンピースが流行している、或いは、所定の期間が経過した後でワンピースが流行する旨を推定してもよい。
ここで、情報提供装置10は、任意の需要推定手法を用いて、入力情報から需要を推定してもよい。例えば、情報提供装置10は、各種の意図解析技術を用いて、入力情報が製品に対して好意的な内容であるか批判的な内容であるかを推定し、推定結果を考慮して、流行が発生するか否かを推定してもよい。また、情報提供装置10は、入力情報に含まれる文章が示す地域を、その入力情報と対応する地域としてもよい。例えば、情報提供装置10は、「地域A1はワンピースが良い」といった入力情報が存在する場合は、その入力情報が地域A2の利用者により入力されたものであっても、地域A1におけるワンピースの需要を示唆する入力情報として、推定処理等を実行してもよい。
〔1−6.提供態様について〕
ここで、情報提供装置10は、供給者に対して推定処理の結果や予測処理の結果を提供するが、かかる結果の提供態様は、目的に応じて任意の態様が採用可能である。例えば、情報提供装置10は、推定処理の結果や予測処理の結果をそのまま各供給者に対して提供してもよく、例えば、流行が生じると推定される利用者の属性と対応する供給者に対してのみ、流行が生じると推定される取引対象や流行が生じるまでの期間等を示す情報を提供してもよい。
また、情報提供装置10は、流行の伝播態様を示す情報を生成し、伝播態様と関連する供給者に対して、生成した情報を提供してもよい。例えば、情報提供装置10は、上述した推定処理の実行結果に基づいて、流行がどのような伝播態様で伝播するかを示す情報を生成する。より具体的な例では、情報提供装置10は、ワンピースが、地域A1における10代女性の間で流行した後で、地域A1における20代女性の間で流行し、その後、地域A2における20代女性の間で流行するといった伝播態様を示す情報を生成する。このような情報は、例えば、推定処理に基づいて、需要が所定の閾値を超えた利用者の属性を特定し、特定した利用者の属性を時系列順に並べることで生成可能である。そして、情報提供装置10は、伝播態様を示す情報を供給者に対して提供してもよい。
また、情報提供装置10は、例えば、流行が生じると推定された取引対象と利用者の属性との組と紐付けられる供給者に対してのみ、推定結果や予測結果を提供してもよい。例えば、情報提供装置10は、地域A2でワンピースが将来流行する旨を予測した場合は、地域A2に店舗を有し、かつ、ワンピースを販売している供給者に対してのみ、予測結果を提供してもよい。
また、情報提供装置10は、取引対象の在庫や仕入れに関する情報、取引対象の価格や値引きに関する情報、取引対象の陳列手法に関する情報等、取引対象の取引に関する各種の情報(以下「取引情報」と記載する。)を生成し、生成した取引情報を提供してもよい。例えば、情報提供装置10は、流行の伝播元となる地域の供給者に対し、将来流行が収束する旨や、取引対象の価格の引き下げ、或いは、セールを行う旨の提案等を取引情報として通知してもよい。また、情報提供装置10は、流行の伝播先となる地域の供給者に対し、将来流行が発生する旨や、販売価格を定価にする、取引対象の広告やチラシを発行する、SNSに取引対象の紹介を投稿する、取引対象の陳列位置を目につきやすい所にする等といった取引情報を生成して通知してもよい。
〔1−7.推定処理および予測処理の一例〕
以下、図1を用いて、推定処理および予測の一例について説明する。例えば、情報提供装置10は、各利用者の投稿情報や検索クエリを入力情報として収集する(ステップS1)。例えば、情報提供装置10は、属性#1を有する利用者U1が、地域A1において、日時#1に投稿した「赤のワンピが欲しい」といった投稿情報を入力情報として収集する。また、情報提供装置10は、属性#2を有する利用者U2が、地域A2において、日時#2に入力した「ワンピース_赤」といった検索クエリを入力情報として収集する。
このような場合、情報提供装置10は、投稿情報や検索クエリの内容から、取引対象や取引対象の属性を特定する(ステップS2)。例えば、情報提供装置10は、「ワンピース」等といった取引対象の名称が含まれている場合、「ワンピ」等といった取引対象の略が含まれている場合、「ワンピース」の写真が入力情報に含まれている場合は、その入力情報と紐付けられる取引対象が「ワンピース」である旨を特定する。また、情報提供装置10は、「赤」といった取引対象の色、すなわち、取引対象の属性を示す文字列が入力情報に含まれている場合は、その入力情報と紐付けられる取引対象の属性(以下、「対象属性」と記載する。)が「赤」である旨を特定する。なお、情報提供装置10は、画像解析技術を用いて、「赤」の「ワンピース」が入力情報に含まれている旨を特定した場合は、対象属性が「赤」であるとしてもよい。
続いて、情報提供装置10は、取引対象と入力情報と紐付けられる属性との組ごとに、需要の推定を行う(ステップS3)。例えば、情報提供装置10は、入力情報を入力した利用者の利用者属性や、投稿地域を、入力情報と紐付けられる属性とする。そして、情報提供装置10は、取引対象と入力情報と紐付けられるの属性との組ごとに、その取引対象と紐付けられる入力情報であって、その属性と紐付けられる入力情報の数を計数する。そして、情報提供装置10は、係数した数が所定の閾値を超える場合は、流行が発生していると推定し、流行が発生していると推定された取引対象と属性との組を示す需要情報を生成する。
例えば、情報提供装置10は、日時#1に、地域A2にて10代女性により入力された入力情報であって、「赤」の「ワンピース」と紐付けられる入力情報の数が所定の閾値を超える場合は、日時#1に、地域A2の10代女性の間で「赤」の「ワンピース」が流行している旨を推定する。このような場合、情報提供装置10は、流行の内容を示す需要情報#1を生成する。例えば、情報提供装置10は、流行日時「日時#1」、流行地域「A2」、利用者「10代女性」、取引対象「ワンピース」、および対象属性「赤」を対応付けた情報を需要情報として生成する。
ここで、情報提供装置10は、ステップS3にて生成した需要情報を供給者に対して提供することで、どのような利用者(例えば、どのような地域におけるどのような年代の利用者)に、どのような取引対象が流行しているかを通知してもよい。例えば、情報提供装置10は、需要情報#1が示す流行と関連する供給者(例えば、地域A2において10代女性向けの店舗を有する供給者)を特定し、特定した供給者に対し、赤のワンピースが流行している旨を通知してもよい。
一方、情報提供装置10は、上述した予測処理を実行する場合、以下の処理を実行する。まず、情報提供装置10は、各日時における需要の変遷に基づいて、流行の伝播態様を特定し、特定した伝播態様が有する特徴をモデルに学習させる(ステップS4)。例えば、情報提供装置10は、生成した各需要情報に基づいて、流行の伝播態様を特定する。より具体的な例を挙げると、情報提供装置10は、ある取引対象についての需要情報を特定し、特定した需要情報を日時ごとに並べることで、その取引対象について流行が発生した地域、利用者の属性、取引対象の属性の変遷を特定する。例えば、情報提供装置10は、ワンピースが地域A1で流行した後で地域A2で流行した旨、10代女性の次に10代男性に流行した旨、赤のワンピースからグレーのワンピースが流行した旨等を特定する。また、情報提供装置10は、各需要情報の日時の差から、流行が伝播するまでの期間である伝播期間を特定する。
そして、情報提供装置10は、特定した流行の伝播態様や伝播期間が有する特徴をモデルに学習させる。例えば、情報提供装置10は、モデルに「地域A1」、「10代女性」、「赤」等を入力した際に、「地域A2」、「10代男性」、「グレー」、および期間「1月」をモデルが出力するように、各種公知の学習手法を用いて、モデルの学習を行う。
続いて、情報提供装置10は、所定の取引対象に関して推定された現在の需要に基づいて、流行の伝播態様を予測する(ステップS5)。例えば、情報提供装置10は、ステップS3と同様に、予測対象となる取引対象の需要を推定し、流行が発生している場合には、需要情報#Xを生成する。そして、情報提供装置10は、取引対象と対応するモデルに対して需要情報#Xを入力することにより、流行の伝播先となる利用者の属性を予測する。例えば、情報提供装置10は、「地域A1」、「20代女性」、「赤」といった需要情報を入力した際に、モデルが「地域A2」、「20代男性」、「赤」といった情報を出力した場合は、予測結果として、地域A2における20代男性に赤色の取引対象の流行が伝播する旨を予測する。また、情報提供装置10は、モデルが「1月」といった期間を出力した場合は、伝播期間が「1月」であると予測する。
そして、情報提供装置10は、予測した伝播態様に基づいた情報を各供給者に対して提供する(ステップS6)。例えば、情報提供装置10は、地域A1から地域A2に流行が伝播する場合、地域A1の供給者に対して「流行が収束するので仕入れを削減してください」といった通知を提供し、地域A2の供給者に対して「1月後に流行が発生するので、仕入れを増やしてください」といった通知を提供する。
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図2は、実施形態に係る情報提供装置の構成例を示す図である。図2に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、利用者端末100、供給者が使用する情報処理装置である供給者端末200、SNSサーバ300、および検索ログサーバ400との間で情報の送受信を行う。
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、検索履歴データベース31、投稿データベース32、需要データベース33、およびモデルデータベース34(以下「各データベース31〜34」と総称する場合がある。)を記憶する。
以下、図3〜図5を用いて、各データベース31〜34に登録される情報の一例について説明する。検索履歴データベース31には、検索クエリのログが登録される。例えば、図3は、実施形態に係る検索履歴データベースの一例を示す図である。図3に示した例では、検索履歴データベース31は、「クエリID(Identifier)」、「検索クエリ」、「利用者ID」、「検索日時」、「属性情報」、および「対象情報」等が対応付けて登録されている。なお、検索履歴データベース31には、図3に示す情報以外にも、検索クエリに関する任意の情報が登録されていてもよい。
ここで、「クエリID」とは、クエリを識別する識別子である。また、「検索クエリ」とは、入力された検索クエリの内容である。また、「利用者ID」とは、検索クエリを入力した利用者の識別子である。また、「検索日時」とは、検索クエリが入力された日時である。また、「属性情報」とは、対応付けられた検索クエリ、すなわち、入力情報と紐付けられる属性であり、例えば、検索クエリが入力された場所や検索クエリを入力した利用者の属性である。また、「対象情報」とは、対応付けられた検索クエリが示す取引対象や、取引対象の属性を示す情報である。
例えば、図3に示す例では、クエリID「クエリ#1」、検索クエリ「ワンピース_赤」、利用者ID「U5」、検索日時「2017/08/07/15:25:30」、属性情報「属性#1」、および対象情報「対象情報#1」が対応付けて登録されている。このような情報は、クエリID「クエリ#1」が示す検索クエリが「ワンピース_赤」であり、利用者ID「U5」が示す利用者Uにより、検索日時「2017/08/07/15:25:30」に入力された旨を示す。また、このような情報は、クエリID「クエリ#1」が示す検索クエリと紐付けられる属性が「属性#1」であり、クエリID「クエリ#1」が示す検索クエリが示す取引対象や取引対象の属性が「対象情報#1」である旨を示す。
なお、図3に示す例では、「属性#1」や「対象情報#1」といった概念的な値について記載したが、実際には、検索クエリと紐付けられる各種の属性や、検索クエリが示す対象情報の種別や属性等を示す数値若しくは文字列等が登録される。
投稿データベース32には、投稿情報のログが登録される。例えば、図4は、実施形態に係る投稿データベースの一例を示す図である。図4に示した例では、投稿データベース32は、「投稿ID」、「投稿」、「利用者ID」、「投稿日時」、「属性情報」、および「対象情報」等が対応付けて登録されている。なお、投稿データベース32には、図4に示す情報以外にも、投稿に関する任意の情報が登録されていてもよい。
ここで、「投稿ID」とは、投稿を識別する識別子である。また、「投稿」とは、入力された投稿の内容である。また、「利用者ID」とは、投稿を入力した利用者の識別子である。また、「投稿日時」とは、投稿が行われた日時である。また、「属性情報」とは、対応付けられた投稿情報、すなわち、入力情報と紐付けられる属性であり、例えば、投稿情報が入力された場所や投稿情報を入力した利用者の属性である。また、「対象情報」とは、対応付けられた投稿情報が示す取引対象や、取引対象の属性を示す情報である。
例えば、図4に示す例では、投稿ID「投稿#1」、投稿「赤いワンピがほしい」、利用者ID「U1」、投稿日時「2017/08/07/16:25:30」、投稿情報「属性#3」、および対象情報「対象情報#3」が対応付けて登録されている。このような情報は、投稿ID「投稿#1」が示す投稿の内容が「赤いワンピがほしい」であり、かかる投稿が利用者ID「U1」が示す利用者Uにより、投稿日時「2017/08/07/16:25:30」に投稿された旨を示す。また、このような情報は、投稿ID「投稿#1」が示す投稿情報と紐付けられる属性が「属性#3」であり、投稿ID「投稿#1」が示す投稿情報が示す取引対象や取引対象の属性が「対象情報#3」である旨を示す。
なお、図4に示す例では、「属性#3」や「対象情報#3」といった概念的な値について記載したが、実際には、投稿情報と紐付けられる各種の属性や、投稿情報が示す対象情報の種別や属性等を示す数値若しくは文字列等が登録される。
需要データベース33には、推定された需要情報が登録される。例えば、図5は、実施形態に係る需要データベースの一例を示す図である。図5に示した例では、需要データベース33は、「需要ID」、「流行日時」、「取引対象」、「対象属性」、「性別」、「年代」、および「地域」等が対応付けて登録されている。なお、需要データベース33には、図5に示す情報以外にも、流行を示す任意の情報が登録されていてもよい。
ここで、「需要ID」とは、需要情報を識別する識別子である。また、「流行日時」とは、流行が発生したと推定される日時を示す情報である。また、「取引対象」とは、流行した取引対象を示す情報である。また、「対象属性」とは、流行した取引対象が有する属性を示す情報である。また、「性別」、「年代」、および「地域」は、取引対象の流行が発生した利用者の属性を示す情報である。例えば、「性別」は利用者の性別、「年代」は利用者の年代、「地域」は利用者が所在する地域を示す情報である。
例えば、図5に示す例では、需要データベース33には、需要ID「ID#1」、流行日時「日時#1」、取引対象「ワンピース」、対象属性「青」、性別「女性」、年代「10代」、および地域「A1」等が対応付けて登録されている。このような情報は、需要ID「ID#1」が示す需要情報として、流行日時「日時#1」が示す日時に、対象属性「青」を有する取引対象「ワンピース」が、性別「女性」、年代「10代」、および地域「A1」と紐付けられる利用者の間で流行した旨を示す。
図2に戻って説明を続ける。モデルデータベース34には、学習済モデルが登録される。例えば、モデルデータベース34には、モデルに入力される情報である入力情報が入力される入力層と、入力層に入力された入力情報に対して所定の処理を順次行う複数の中間層と、複数の中間層のうち最後に処理を行う終端中間層の出力に基づいて、入力情報に対応する出力情報を生成する出力層とを有するモデルのデータが登録されている。より具体的には、モデルデータベース34には、各ノードの接続関係や、ノード間の接続係数を示すデータが登録される。
ここで、モデルは、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力層に入力された情報に対し、出力層以外の各層に属する各要素を第1要素として、第1要素と第1要素の重みとに基づく演算を行うことにより、入力層に入力された情報と対応する情報を出力層から出力するようコンピュータを機能させる。なお、モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての利用が想定されるものであってもよい。
このようなモデルを、入力層に需要情報を示す入力信号が入力された場合に、出力層から、流行の伝播先を示す情報を出力するようコンピュータを機能させる。例えば、モデルは、CPU及びメモリを備えるコンピュータにて用いられる。具体的には、コンピュータのCPUが、メモリに記憶された学習済モデルからの指令に従って、モデルの入力層に入力された入力信号に対して、ニューラルネットワークにおける学習済みの重みづけ係数と応答関数等に基づく演算を行い、出力層から流行の伝播先を示す情報を出力するよう動作する。
ここで、モデルがDNN等、1つまたは複数の中間層を有するニューラルネットワークで実現される場合、各モデルが含む第1要素とは、入力層または中間層が有するいずれかのノードと見做すことができ、第2要素とは、第1要素と対応するノードから値が伝達されるノード、すなわち、次段のノードと対応し、第1要素の重みとは、第1要素と対応するノードから第2要素と対応するノードに伝達される値に対して考慮される重み、すなわち、接続係数である。
ここで、情報提供装置10は、需要データベース33に登録される情報を学習データとして利用することで、流行の伝播先を予測するモデルを生成する。すなわち、需要データベース33に登録される情報は、需要情報が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第1要素と、第1要素と第1要素の重みとに基づいて値が算出される第2要素と、を含み、入力された需要情報の特徴を反映させた重みに基づく演算を行うことにより、入力された需要情報に対応する情報であって、流行の伝播先を示す情報を出力層から出力するよう、コンピュータを機能させるためのデータである。
なお、以下の説明では、モデルデータベース34には、取引対象ごとに、流行の伝播態様が有する特徴を学習したモデルが登録されているものとする。
制御部40は、例えば、コントローラ(controller)であり、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報提供装置10内部の記憶装置に記憶されている各種プログラム(通知プログラムの一例に相当)がRAMを作業領域として実行されることにより実現される。また、制御部40は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
図2に示すように、制御部40は、収集部41、特定部42、推定部43、予測部44、学習部45、および提供部46を有する。
収集部41は、利用者Uが入力した入力情報を収集する。例えば、収集部41は、検索ログサーバ400にアクセスし、各利用者Uが入力した検索クエリの履歴や、検索クエリを入力した利用者Uの利用者ID、検索日時、利用者端末100の位置等を収集する。そして、収集部41は、収集した各種の情報を検索履歴データベース31に登録する。
また、収集部41は、SNSサーバ300にアクセスし、利用者Uが投稿した内容、利用者Uの利用者ID、投稿日時、利用者端末100の位置等を収集する。そして、収集部41は、収集した情報を投稿データベース32に登録する。
ここで、収集部41は、利用者IDをキーとして、投稿情報や検索クエリ等といった入力情報を入力した利用者の属性を収集する。例えば、収集部41は、利用者IDとその利用者IDが示す利用者のデモグラフィック属性とを対応付けて管理する管理サーバ(図示は、省略)等から、利用者の属性を属性情報として収集する。なお、収集部41は、入力情報が入力された際における利用者端末100の位置情報を属性情報として収集してもよい。また、収集部41は、検索クエリや投稿情報を解析し、位置を示す文字列等の情報が含まれている場合は、その情報が示す位置を属性情報として収集してもよい。そして、収集部41は、収集した属性情報を入力情報と対応付けて、各データベース31、32に登録する。
特定部42は、利用者が入力した入力情報と紐付けられる取引対象や取引対象の属性を特定する。例えば、特定部42は、入力情報に含まれる文字列から、取引対象を示す文字列を抽出し、抽出した文字列が示す取引対象を対象情報として各データベース31、32に登録する。また、特定部42は、入力情報に取引対象の色、サイズ、数量等といった属性を示す文字列が含まれている場合は、その文字列が示す取引対象の属性を特定し、特定した属性を示す対象情報を各データベース31、32に登録する。
例えば、特定部42は、検索履歴データベース31に登録された検索クエリ「ワンピース_赤」を参照する。このような場合、特定部42は、文字解析技術等を用いて、検索クエリが示す取引対象「ワンピース」を特定するとともに、取引対象「ワンピース」の属性「赤」を特定する。そして、特定部42は、取引対象「ワンピース」および取引対象の属性「赤」を示す「対象情報#1」を、検索クエリ「ワンピース_赤」と対応付けて登録する。
推定部43は、入力情報と、入力情報に関連する属性とに基づいて、入力情報と紐付けられる取引対象の需要であって、属性と対応する利用者による需要を推定する。例えば、推定部43は、入力情報に関連する属性として、入力情報を入力した利用者の属性に基づいて、その属性と対応する利用者による需要を推定する。
また、例えば、推定部43は、入力情報に関連する属性として、入力情報と紐付けられる地域に基づいて、その地域における利用者による需要を推定する。また、例えば、推定部43は、入力情報に関連する属性として、入力情報と紐付けられる利用者の年代に基づいて、その年代の利用者による需要を推定する。また、例えば、推定部43は、入力情報に関連する属性として、入力情報と紐付けられる利用者の性別に基づいて、その性別の利用者による需要を推定する。また、例えば、推定部43は、入力情報から抽出された文字列が示す取引対象に対する需要を推定する。また、推定部43は、取引対象の属性と利用者の属性と日時との組ごとに、その属性を有する取引対象に対する需要であって、その属性を有する利用者による需要を推定する。
例えば、推定部43は、各データベース31、32に登録された入力情報の対象情報を参照し、入力情報が示す取引対象や、取引対象の属性を特定する。続いて、推定部43は、各データベース31、32に登録された入力情報の属性情報を特定し、各入力情報に対応する入力情報と対応する属性をそれぞれ特定する。
続いて、推定部43は、特定した取引対象、取引対象の属性、および入力情報と対応する属性との組ごとに、各データベース31から組と対応する入力情報を抽出する。例えば、推定部43は、取引対象「ワンピース」、取引対象の属性「赤」および入力情報と対応する属性「地域A1」の組が存在する場合、属性情報が「地域A1」を示し、対象情報が「ワンピース」および「赤」を示す入力情報を抽出する。
また、推定部43は、抽出した入力情報の検索日時や投稿日時を入力情報が入力された入力日時とし、抽出した入力情報のうち、所定の期間の間に入力日時が含まれる入力情報の数を計数する。例えば、推定部43は、属性情報が「地域A1」を示し、対象情報が「ワンピース」および「赤」を示す入力情報が入力された数を、一週間ごとに計数する。
そして、推定部43は、ある期間の間に入力された入力情報の数が所定の閾値を超える場合は、その期間の間に流行が発生したものとして、需要情報を生成する。例えば、推定部43は、日時#1が示す期間内に入力された入力情報であって、属性情報が「地域A1」を示し、対象情報が「ワンピース」および「赤」を示す入力情報の数が所定の閾値を超える場合は、日時#1が示す期間内に、「地域A1」において、「赤」色の「ワンピース」が流行した旨を示す需要情報を生成する。そして、推定部43は、生成した需要情報を需要データベース33に登録する。
なお、推定部43は、属性情報が示す属性として、地域だけではなく、利用者の性別や年代ごとに、流行が発生したか否かを判定し、流行が発生した場合には、その旨を示す需要情報を生成してもよい。
予測部44は、利用者の属性ごとに推定した需要に基づいて、所定の取引対象に対する需要の伝播態様を予測する。例えば、予測部44は、利用者の属性と日時との組ごとに推定した所定の取引対象に対する需要の変遷に基づいて、所定の取引対象と類似する類似取引対象に対する需要の伝播態様を予測する。
例えば、予測部44は、利用者の属性と日時との組ごとに推定した所定の取引対象に対する需要の変遷が有する特徴を学習したモデルを用いて、類似取引対象に対する需要の伝播態様を予測する。また、例えば、予測部44は、取引対象の属性と利用者の属性と日時との組ごとに推定した需要に基づいて、共通する属性を有する取引対象に対する需要の伝播態様を予測する。
例えば、予測部44は、学習部45によって学習が行われたモデルをモデルデータベース34から読み出す。続いて予測部44は、需要データベース33を参照し、流行日時が示す日時が処理日時から所定の期間内(例えば、1週間以内)の需要情報を特定する。そして、予測部44は、特定した需要情報をモデルに入力することで、流行の伝播先となる利用者の属性や、伝播先において流行する取引対象の属性を予測する。すなわち、予測部44は、需要の伝播態様として、所定の属性と対応する利用者による需要が所定の閾値を超えた場合に、その所定の属性よりも後に、対応する利用者による需要が所定の閾値を超える属性を予測する。
ここで、相互に類似する取引対象は、類似する態様で流行が伝播すると考えられる。そこで、予測部44は、所定の取引対象の流行の伝播態様に基づいて、その所定の取引対象と類似する類似取引対象の流行の伝播を予測する。例えば、予測部44は、特定した需要情報が取引対象「ワンピース」を示す場合、取引対象「ワンピース」と類似する取引対象(例えば、「ドレス」)について、流行の伝播態様の特徴を学習したモデルをモデルデータベース34から読み出す。そして、予測部44は、読み出したモデルに対し、読み出した需要情報に含まれる対象属性や利用者の属性等を入力することで、流行の伝播先となる利用者の属性や、伝播先で流行する取引対象の属性を予測する。すなわち、予測部44は、ある取引対象に対する現在の需要を用いて、その取引対象に対する需要の伝播態様を予測する。なお、予測部44は、予測された属性と対応する利用者による需要が所定の閾値を超えるまでの期間を予測してもよい。
学習部45は、モデルの学習を行う。例えば、学習部45は、需要データベース33を参照し、処理対象となる取引対象に対応する需要情報を抽出する。続いて、学習部45は、抽出した需要情報を、流行日時が早い順に順番を設定する。そして、学習部45は、処理対象となる取引対象と対応するモデルに対し、ある順番の需要情報に含まれる対象属性や利用者の属性を入力した際に、次の順番の需要情報に含まれる対象属性や利用者の属性を出力するように、モデルの学習を行う。なお、学習部45は、ある順番の需要情報に含まれる流行日時を合わせて入力した際に、次の順番の需要情報に含まれる流行日時までの期間を示す情報を合わせて出力するように、モデルの学習を行ってもよい。
提供部46は、推定処理や予測処理の結果を提供する。また、提供部46は、予測された所定の取引対象の伝播態様に応じて、所定の取引対象の取引に関する情報を提供する。例えば、提供部46は、所定の取引対象を供給する供給者であって、予測された伝播態様と関連する属性を有する供給者に対し、所定の取引対象の取引に関する情報を提供する。
例えば、提供部46は、供給者からの要求に応じて、需要データベース33に登録された需要情報を提供したり、需要情報の解析結果を供給者に対して提供する。例えば、提供部46は、ある取引対象について、どの地域でどのような属性を有する利用者に対して流行が発生しているかを示すヒートマップ等を提供してもよい。また、提供部46は、例えば、需要データベース33に登録された需要情報を用いて、ある取引対象についての流行がどのような態様で伝播していったかを示す情報(例えば、地域Aから地域Bへ伝播した旨や、10代の女性から20代の女性へと伝播した旨を示す情報)を生成し、生成した情報を提供してもよい。
また、提供部46は、予測部44による予測の結果を、供給者に対して提供する。例えば、提供部46は、ある取引対象について地域A2で1か月後に流行が発生する旨を予測部44が予測した場合は、地域A2における供給者に対し、その取引対象が1か月後に流行する旨の通知を提供する。
例えば、提案部46は、取引対象「ワンピース」について、現在地域A1で流行している旨が推定され、さらに将来地域A2で流行する旨が予測された場合、地域A1で「ワンピース」を取り扱う供給者、および、地域A2で「ワンピース」を取り扱う供給者を特定する。このような特定は、例えば、予め各供給者が取りあつかう取引対象のデータベースを参照することにより実現可能である。
そして、提案部46は、取引対象の在庫や仕入れに関する情報、取引対象の価格や値引きに関する情報、取引対象の陳列手法に関する情報等、取引対象の取引に関する各種の取引情報を生成する。例えば、提案部46は、流行の伝播元となる地域A1から特定した供給者に対し、将来流行が収束する旨や、取引対象の価格の引き下げ、或いは、セールを行う旨の提案等を取引情報として通知する。また、提案部46は、流行の伝播先となる地域A2から特定した供給者に対し、将来流行が発生する旨や、販売価格やセール価格を地域A1よりも高くする、取引対象の広告を行う、取引対象の陳列位置を目につきやすい所にする等といった取引情報を通知する。
なお、提案部46は、流行の伝播元や伝播先と関連する供給者であって、取引対象が流用する利用者の属性と関連する供給者に対し、上述した取引情報を通知してもよい。また、提案部46は、流行の伝播元であるか、伝播先であるか、予測された流行が生じる利用者の属性等に応じて、取引対象の内容を変更してもよい。すなわち、提案部46は、予測された伝播態様に応じて、取引対象の取引を効率化することができる内容の取引情報を生成し、生成した取引情報を提供するのであれば、任意の内容の取引情報を生成してもよい。
〔3.処理手順〕
次に、図6を用いて、実施形態に係る情報提供装置10による推定処理の手順について説明する。図6は、実施形態に係る推定処理および予測処理の流れの一例を示すフローチャートである。図6に示すように、情報提供装置10は、利用者Uにより入力された検索クエリや投稿等の入力情報を収集する(ステップS101)。続いて、情報提供装置10は、入力情報と対応する取引対象と属性とを特定する(ステップS102)。そして、情報提供装置10は、取引対象と属性との組ごとに、その取引対象に対する需要であって、その属性を有する利用者による需要を推定する(ステップS103)。そして、情報提供装置10は、推定した需要に基づいて、需要の伝播を予測し、予測結果を供給者に提供し(ステップS104)、処理を終了する。
〔4.変形例〕
上述した情報提供装置10は、上記実施形態以外にも種々の異なる形態にて実施されてもよい。そこで、以下では、情報提供装置10の他の実施形態について説明する。
〔4−1.情報提供装置について〕
例えば、情報提供装置10は、入力情報を収集する収集装置と、上述した推定処理を実行する推定装置と、上述した予測処理を実行する予測装置と、モデルの学習を行う学習装置とが協調して動作することにより、上述した処理を実現してもよい。このような場合、収集装置は、図2に示す収集部41とを有し、推定装置は、特定部42、および推定部43を有し、予測装置は、予測部44を有し、学習装置は、学習部45を有することとなる。また、記憶部30に登録された各データベース31〜34は、例えば、外部のストレージサーバ等が管理してもよい。
〔4−2.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔4−3.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図7に示すような構成のコンピュータ1000によって実現される。図7は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔5.効果〕
上述してきたように、情報提供装置10は、利用者が入力した入力情報を収集する。そして、情報提供装置10は、入力情報と、その入力情報に関連する属性とに基づいて、その入力情報と紐付けられる取引対象の需要であって、属性と対応する利用者による需要を推定する。この結果、情報提供装置10は、取引対象に対する需要を、利用者の属性ごとに推定することができるので、例えば、取引対象の供給を効率化することができる。
また、情報提供装置10は、入力情報に関連する属性として、その入力情報を入力した利用者の属性に基づいて、その属性と対応する利用者による需要を推定する。また、情報提供装置10は、入力情報に関連する属性として、その入力情報と紐付けられる地域に基づいて、その地域における利用者による需要を推定する。また、情報提供装置10は、入力情報に関連する属性として、その入力情報と紐付けられる利用者の年代に基づいて、その年代の利用者による需要を推定する。また、情報提供装置10は、入力情報に関連する属性として、その入力情報と紐付けられる利用者の性別に基づいて、その性別の利用者による需要を推定する。この結果、情報提供装置10は、各種の利用者の属性ごとに、取引対象に対する需要の推定を実現することができる。
また、情報提供装置10は、利用者の属性ごとに推定した需要に基づいて、所定の取引対象に対する需要の伝播態様を予測する。このように、情報提供装置10は、将来どのような態様で流行が伝播していくかを予測するので、取引対象の供給を効率化することができる。
また、情報提供装置10は、利用者の属性と日時との組ごとに推定した所定の取引対象に対する需要の変遷に基づいて、その所定の取引対象と類似する類似取引対象に対する需要の伝播態様を予測する。すなわち、情報提供装置10は、処理対象となる取引対象と類似する取引対象の過去の流行の伝播態様に基づいて、処理対象となる取引対象の流行の伝播態様を推定する。このため、情報提供装置10は、取引対象の流行の伝播態様の予測精度を向上させることができる。
また、情報提供装置10は、利用者の属性と日時との組ごとに推定した所定の取引対象に対する需要の変遷が有する特徴を学習したモデルを用いて、類似取引対象に対する需要の伝播態様を予測する。また、情報提供装置10は、類似取引対象に対する需要を、利用者の属性ごとに推定し、推定された類似取引対象に対する需要を用いて、その類似取引対象に対する需要の伝播態様を予測する。このため、情報提供装置10は、取引対象の流行の伝播態様を予測することができる。
また、情報提供装置10は、需要の伝播態様として、所定の属性と対応する利用者による需要が所定の閾値を超えた場合に、その所定の属性よりも後に対応する利用者による需要が所定の閾値を超える属性を予測する。このため、情報提供装置10は、取引対象の流行の伝播態様を予測することができる。
また、情報提供装置10は、さらに、予測された属性と対応する利用者による需要が所定の閾値を超えるまでの期間を予測する。このため、情報提供装置10は、ある取引対象が、流行の伝播先で流行するまでの期間を供給者に提示することができる。
また、情報提供装置10は、取引対象の属性と利用者の属性と日時との組ごとに、その属性を有する取引対象に対する需要であって、その属性を有する利用者による需要を推定する。そして、情報提供装置10は、取引対象の属性と利用者の属性と日時との組ごとに推定した需要に基づいて、共通する属性を有する取引対象に対する需要の伝播態様を予測する。このため、情報提供装置10は、取引対象の流行の伝播態様を予測することができる。
また、情報提供装置10は、予測された所定の取引対象の伝播態様に応じて、所定の取引対象の取引に関する情報を提供する。例えば、情報提供装置10は、所定の取引対象を供給する供給者であって、予測された伝播態様と関連する属性を有する供給者に対し、所定の取引対象の取引に関する情報を提供する。このように、情報提供装置10は、ある取引対象について予測した伝播態様に応じて、その取引対象の在庫や仕入れに関する情報、取引対象の価格や値引きに関する情報、取引対象の陳列手法に関する情報等を供給者に提供するので、取引の効率化を実現することができる。
また、情報提供装置10は、入力情報から抽出された文字列が示す取引対象に対する需要を推定する。このため、情報提供装置10は、各取引対象に対する需要を適切に推定することができる。
以上、本願の実施形態を図面に基づいて詳細に説明したが、これは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、推定部は、推定手段や推定回路に読み替えることができる。