【文献】
井上 裁都,統計値の分布密度推定に基づく動向情報の抽出,言語処理学会第16回年次大会発表論文集,日本,言語処理学会,2010年 3月 8日,363〜366
(58)【調査した分野】(Int.Cl.,DB名)
前記推定部は、前記選択部によって選択された前記第2商品または第2サービスの価格と、前記第1商品または第1サービスおよび前記第2商品または前記第2サービスとの類似度とのそれぞれを前記確率変数とした前記確率分布を推定する、
請求項1から4のうちいずれか一項に記載の情報処理装置。
【発明を実施するための形態】
【0009】
以下、本発明を適用した情報処理装置、情報処理方法、及びプログラムを、図面を参照して説明する。
【0010】
[概要]
情報処理装置は、一以上のプロセッサにより実現される。情報処理装置は、ネットワークを介して販売される第1商品または第1サービスに関する商品情報を取得し、取得した商品情報に基づいて、過去に販売された複数の第2商品または第2サービスの中から、第1商品または第1サービスと類似する第2商品または第2サービスを選択する。情報処理装置は、選択した第2商品または第2サービスの価格を少なくとも一つの確率変数とした確率分布を推定し、推定した確率分布に基づいて、第1商品または第1サービスの価格を予測する。この結果、商品またはサービスの価格の予測精度を向上させることができる。以下、商品またはサービスをまとめて単に「商品」と称して説明する。
【0011】
<第1実施形態>
[全体構成]
図1は、第1実施形態における情報処理装置100を含む情報処理システム1の一例を示す図である。第1実施形態における情報処理システム1は、例えば、一以上の端末装置10と、サービス提供装置20と、情報処理装置100とを備える。これらの装置は、ネットワークNWを介して接続される。また、これらの装置のうち一部は、他の装置に仮想的な装置として包含されてもよく、例えば、サービス提供装置20の機能の一部または全部が、情報処理装置100の機能によって実現される仮想マシンであってもよい。
【0012】
図1に示す各装置は、ネットワークNWを介して種々の情報を送受信する。ネットワークNWは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、プロバイダ端末、無線通信網、無線基地局、専用回線などを含む。なお、
図1に示す各装置の全ての組み合わせが相互に通信可能である必要はなく、ネットワークNWは、一部にローカルなネットワークを含んでもよい。
【0013】
端末装置10は、例えば、スマートフォンなどの携帯電話、タブレット端末、各種パーソナルコンピュータなどの、入力装置、表示装置、通信装置、記憶装置、および演算装置を備える端末装置である。通信装置は、NIC(Network Interface Card)などのネットワークカード、無線通信モジュールなどを含む。端末装置10では、ウェブブラウザやアプリケーションプログラムなどのUA(User Agent)が起動し、ユーザの入力する内容に応じたリクエストをサービス提供装置20に送信する。また、UAが起動された端末装置10は、サービス提供装置20から取得した情報に基づいて、表示装置に各種情報を表示させる。
【0014】
サービス提供装置20は、例えば、UAとして起動されたウェブブラウザからのリクエストに応じてウェブページを端末装置10に提供するウェブサーバである。ウェブページは、例えば、インターネット上において商品がオークション形式で売買されるオークションサイトやフリーマーケットサイト、複数の店舗が出店するショッピングサイト等のウェブサイトを構成するウェブページであってよい。また、サービス提供装置20は、検索サイトやSNS(Social Networking Service)、メールサービスなどの各種サービスを提供するウェブページを端末装置10に提供してもよい。また、サービス提供装置20は、UAとして起動されたアプリケーションからのリクエストに応じてコンテンツを端末装置10に提供することで、オークションサイトやフリーマーケットサイトなどの各種ウェブサイトと同様のサービスを提供するアプリケーションサーバであってもよい。以下、一例として、サービス提供装置20によって提供されるサービスが、「オークションサイト」であるものとして説明するが、このオークションサイトはフリーマーケットサイトやショッピングサイトなどの他のサービスに読み替えてよい。この場合、出品は販売と読み替え、落札は購入と読み替えるものとする。
【0015】
図2は、サービス提供装置20により提供されるウェブページの一例を示す図である。図示の例では、オークションサイトにおいて、商品を出品する際に各種情報を入力するためのウェブページ(以下、入力ページと称する)を模式的に示している。
【0016】
例えば、入力ページには、出品する商品のタイトルを入力する入力欄F1や、商品の画像を入力する入力欄F2、予め用意された複数のカテゴリの中から、商品のカテゴリを選択するボタンB1、商品が中古または新品なのかを選択するボタンB2、商品を落札者に配送する際にかかる送料を、出品者が負担するのか落札者が負担するのかを選択するボタンB3、商品の価格(例えば即決価格など)を表示する表示欄F3などのコンポーネントが含まれる。
【0017】
例えば、出品者が入力ページの入力欄Fにタイトルを入力したり、ボタンB1を操作してカテゴリを選択したりすると、表示欄F3には、暫定的な商品の価格が自動的に表示される。この価格の自動表示の詳細については後述する。
【0018】
情報処理装置100は、例えば、オークションサイトに出品(販売)される商品の商品情報を取得し、取得した商品情報に基づいて、既にオークションサイトで落札(購入)された複数の商品の中から、出品される商品と類似する商品を一つまたは複数選択する。情報処理装置100は、選択した商品の価格を少なくとも一つの確率変数とした確率分布を推定し、推定した確率分布に基づいて、出品される商品の価格を予測する。商品情報には、例えば、上述した商品のタイトル、商品の画像、商品のカテゴリ、中古であるのか否かを示す商品の状態、配送料の負担が出品者であるのか否かを示す送料負担情報といった各種情報が含まれる。
【0019】
[情報処理装置の構成]
図3は、第1実施形態における情報処理装置100の構成の一例を示す図である。図示のように、情報処理装置100は、例えば、通信部102と、制御部110と、記憶部130とを備える。
【0020】
通信部102は、例えば、NIC等の通信インターフェースを含む。通信部102は、ネットワークNWを介して、端末装置10やサービス提供装置20などと通信する。
【0021】
制御部110は、例えば、取得部112と、選択部114と、推定部116と、予測部118と、通信制御部120とを備える。
【0022】
制御部110の構成要素は、例えば、CPU(Central Processing Unit)などのプロセッサが記憶部130に格納されたプログラムを実行することにより実現される。また、制御部110の構成要素の一部または全部は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、またはGPU(Graphics Processing Unit)などのハードウェア(回路部;circuitry)により実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
【0023】
記憶部130は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)などの記憶装置により実現される。記憶部130には、ファームウェアやアプリケーションプログラムなどの各種プログラムの他に、落札済み商品情報132が格納される。
【0024】
図4は、落札済み商品情報132の一例を示す図である。図示のように、落札済み商品情報132は、オークションサイトで落札された商品(以下、落札済み商品と称する)の識別情報を示す商品IDに対して、商品のタイトルと、カテゴリと、画像と、商品の状態と、送料の負担の有無と、実際に落札された価格とが対応付けられたデータである。
【0025】
[情報処理装置の処理フロー]
以下、制御部110の各構成要素の処理内容についてフローチャートを用いて説明する。
図5は、第1実施形態における情報処理装置100による一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で繰り返し行われてよい。
【0026】
まず、取得部112は、通信部102を介して、サービス提供装置20から、オークションサイトの入力ページに入力された各種情報を、出品予定の商品に関する商品情報として取得する(S100)。出品予定の商品は、「第1商品または第1サービス」の一例である。
【0027】
次に、選択部114は、取得部112によって取得された商品情報に基づいて、落札済み商品情報132に含まれる複数の落札済み商品の中から、出品予定の商品に類似する一つまたは複数の落札済み商品を選択する(S102)。落札済み商品は、「第2商品または第2サービス」の一例である。
【0028】
例えば、選択部114は、落札済み商品情報132の中で、取得部112によって取得された商品情報に含まれるタイトルおよびカテゴリと意味的に近いタイトルおよびカテゴリが対応付けられた商品IDの落札済み商品を、出品予定の商品に類似する商品として選択する。意味的に近いとは、例えば、タイトルおよびカテゴリを分散表現によって多次元のベクトルに変換したときに、それらベクトルのコサイン類似度が大きいことである。すなわち、選択部114は、取得部112によって取得された商品情報に含まれるタイトルおよびカテゴリを分散表現によってベクトルに変換し、そのベクトルとの類似度が閾値以上となる落札済み商品を選択する。選択部114は、類似度が閾値以上となる落札済み商品の数が多い場合、類似度が大きい上位所定数の落札済み商品を選択してよい。
【0029】
次に、推定部116は、選択部114によって選択された落札済み商品の商品IDに対応付けられた価格を少なくとも一つの確率変数とした確率分布を推定する(S104)。
【0030】
例えば、推定部116は、カーネル密度推定(Kernel Density Estimation;KDE)に基づいて確率分布を推定する。カーネル密度推定は、有限の標本データから、その標本データを含む全体の確率分布(確率密度関数によって表現される分布)を推定する手法である。カーネル密度推定は、線形回帰といった他のフィッティング手法に比べて計算に要する時間が短くなりやすく、予測のリアルタイム性を向上させやすいことが知られている。
【0031】
図6は、カーネル密度推定によって推定された確率分布の一例を示す図である。横軸は、確率変数とした落札済み商品の落札価格を表しており、縦軸は、確率を表している。確率分布がカーネル密度推定によって求められているため、縦軸は、その価格における落札済み商品の数、すなわち頻度として読み替えてもよい。
【0032】
図示の例では、出品予定の商品に類似する複数の落札済み商品のうち、類似度が大きい上位200個の落札済み商品の価格から確率分布D1が推定され、類似度が大きい上位100個の落札済み商品の価格から確率分布D2が推定され、類似度が大きい上位50個の落札済み商品の価格から確率分布D3が推定され、類似度が大きい上位20個の落札済み商品の価格から確率分布D4が推定されている。いずれの確率分布も多峰性を有している。すなわち、いずれの確率分布も多峰性分布である。多峰性とは、確率分布において最も頻繁に出現する最頻値(モードともいう)が複数存在することである。本実施形態における最頻値は、確率分布の全域において頻繁に出現する値であってもよいし、確率分布の各局所的な領域において頻繁に出現する値であってもよい。すなわち、最頻値同士を比較したときに、他方の最頻値に比べて一方の最頻値の方が大きい場合があってもよい。
【0033】
次に、予測部118は、推定部116によって推定された確率分布が多峰性分布であるか否かを判定する(S106)。
【0034】
確率分布が多峰性分布である場合、通信制御部120は、通信部102を介して、サービス提供装置20に、入力ページに商品情報を再入力することを求めるリクエスト(以下、再入力リクエストと称する)を送信する(S108)。
【0035】
サービス提供装置20は、再入力リクエストを受信すると、出品者が利用する端末装置10の画面に表示された入力ページ上に、出品予定の商品のタイトルとカテゴリのうち少なくとも一方(好ましくは双方)を再入力するように促す文字や画像を表示させる。通信部102と、通信制御部120と、サービス提供装置20とを合わせたものは、「提供部」の一例である。
【0036】
確率分布が多峰性分布であるということは、出品予定の商品に類似するものとして選択した落札済み商品の中に、実際には類似していない商品が含まれている蓋然性が高いということを示している。例えば、多峰性分布である確率分布D1において最頻値をとる確率変数は、2500円程度の落札価格と、8000円程度の落札価格である。この場合、出品予定の商品に類似する落札済み商品の中に、売買価格の相場が2500円程度の商品と、売買価格の相場が8000円程度の商品とが含まれていると判断することができる。通常、価格がかけ離れている場合、それは互いに異なる商品であることが多い。例えば、出品者がスマートフォンの本体を出品する際に、そのスマートフォンの機種名「ABCDE」をタイトルとした場合、「ABCDE」という機種名のスマートフォンに付けることが可能なアクセサリー(例えばケースなど)のタイトルにも、「ABCDE」という文字列が含まれ得る。従って、互いに異なるスマートフォン本体とアクセサリーとが類似した商品として扱われやすくなるが、これらの商品は相場が大きくかけ離れており、落札済み商品の中から、出品予定の商品に対する類似商品を選び直すことが好ましい。
【0037】
これに対して、本実施形態では、確率分布が多峰性分布である場合に、出品者が利用する端末装置10に、出品予定の商品のタイトルを再入力したり、出品予定の商品のカテゴリをより詳細なカテゴリに選択し直したりするように促す入力ページを表示させるため、改めてS102の処理を行うことができる。すなわち、条件を変更して、出品予定の商品に類似する落札済み商品を再選択することができ、その結果、確率分布を再推定することができる。これによって、例えば、出品者がスマートフォンの本体を出品する場合、スマートフォンのアクセサリーなどの商品を除外して、スマートフォン本体のみの落札価格のみを確率変数とした確率分布を推定することができる。
【0038】
一方、予測部118は、推定部116によって推定された確率分布が多峰性分布ではなく、最頻値が一つである単峰性分布である場合、その確率分布に基づいて、出品予定の商品の落札価格を予測する(S110)。例えば、予測部118は、単峰性分布である確率分布において最頻値をとる価格を、出品予定の商品の落札価格として予測する。
【0039】
次に、通信制御部120は、通信部102を介して、サービス提供装置20に、予測部118によって予測された落札価格の情報を送信する(S112)。これを受けて、サービス提供装置20は、出品者が利用する端末装置10の画面に表示された入力ページ上の表示欄F3に、出品予定の商品の落札価格を表示させる。これによって、出品者は、自らが出品する商品をどのような価格にすれば最も落札されやすいのか、すなわち落札の適正価格を、出品時点で知ることができる。この結果、出品者がオークションサイトを利用する際の利便性を向上させることができる。
【0040】
以上説明した第1実施形態によれば、情報処理装置100は、ネットワークNWを介して販売される商品に関する商品情報を取得し、取得した商品情報に基づいて、過去に販売された複数の販売済み商品の中から、販売予定の商品と類似する販売済み商品を選択する。情報処理装置100は、選択した販売済み商品の価格を少なくとも一つの確率変数とした確率分布を推定し、推定した確率分布に基づいて、販売予定の商品の価格を予測する。この結果、商品またはサービスの価格の予測精度を向上させることができる。
【0041】
<第1実施形態の変形例>
以下、第1実施形態の変形例について説明する。上述した第1実施形態において、推定部116は、カーネル密度推定を用いて、選択部114によって選択された落札済み商品の価格を少なくとも一つの確率変数とした確率分布を推定するものとして説明したがこれに限られない。例えば、推定部116は、落札済み商品の価格に加えて、更に、選択部114が落札済み商品を選択する際に考慮した出品予定の商品との類似度(レレバンシーともいう)を確率変数として確率分布を推定してよい。すなわち、推定部116は、複数の確率変数を用いて多次元(2次元以上)の確率分布を推定してよい。
【0042】
図7は、カーネル密度推定によって推定された確率分布の他の例を示す図である。x軸は、確率変数とした落札済み商品の落札価格を表しており、y軸は、確率変数とした落札済み商品と出品予定の商品との類似度を表しており、z軸は、確率または頻度を表している。図示の例では、3次元の確率分布が推定されている。
【0043】
例えば、予測部118は、3次元の確率分布が多峰性分布であるか否かを判定し、3次元の確率分布が単峰性分布である場合に、その確率分布において最頻値をとる価格を、出品予定の商品の落札価格として予測する。例えば、互いに異なる商品であっても落札価格が近い場合、それらの商品は同一の商品として扱われやすくなる。このような場合、図示のように、x軸で確率分布をみた場合、確率分布は単峰性分布となるが、y軸で見た場合、確率分布は多峰性分布となる。
【0044】
例えば、スマートフォン本体の落札価格が5万円であったときに、空気清浄機が同じ5万円で落札された場合、落札価格だけでは同じ商品か違う商品かを見分けることができず、確率分布上では同一の商品の価格として扱われ得る。そのため、価格以外にも類似度という新たな確率変数を考慮して3次元の確率分布を推定することで、類似商品を選択する際に、母集団の中から、出品商品に対して意味的に遠い商品を除外することができる。この結果、商品またはサービスの価格の予測精度を更に向上させることができる。
【0045】
また、選択部114は、タイトルおよびカテゴリに加えて、更に、JAN(Japanese article number)コードやEAN(European article number)といった商品コードを用いて、出品予定の商品に類似する落札済み商品を選択してもよい。これによって、商品またはサービスの価格の予測精度を更に向上させることができる。
【0046】
また、上述した第1実施形態では、情報処理装置100が、オークションサイトやフリーマーケットサイト、ショッピングサイトなどに出品者或いは販売者が商品を出品(販売)する際に、その商品の適正価格を予測するものとして説明したがこれに限られない。例えば、情報処理装置100は、オークションサイトやフリーマーケットサイト、ショッピングサイトなどで落札者(購入者)が商品を落札(購入)する際に、その商品の適正価格を予測してもよい。
【0047】
また、例えば、情報処理装置100は、タイトルやカテゴリといった情報に加えて、更に、商品の状態(中古か新品か)や、送料が出品者負担なのか落札者負担なのかといった情報を確率変数として確率分布を推定してもよい。
【0048】
<第2実施形態>
以下、第2実施形態について説明する。上述した第1実施形態では、過去に購入された商品の価格などを確率変数とした確率分布を推定し、推定した確率分布に基づいて、商品の価格を予測するものとして説明した。これに対して、第2実施形態では、教師あり学習を用いて、商品の価格を予測する点で上述した第1実施形態と相違する。以下、第1実施形態との相違点を中心に説明し、第1実施形態と共通する点については説明を省略する。なお、第2実施形態の説明において、第1実施形態と同じ部分については同一符号を付して説明する。
【0049】
図8は、第2実施形態における情報処理装置100Aの構成の一例を示す図である。第2実施形態における情報処理装置100Aの制御部110Aは、上述した取得部112と、選択部114と、推定部116と、予測部118と、通信制御部120とに加えて、更に、学習部122を備える。また、第2実施形態における情報処理装置100Aの記憶部130Aには、ファームウェアやアプリケーションプログラムなどの各種プログラムや、落札済み商品情報132の他に、モデル情報134が格納される。落札済み商品情報132は、モデル情報134が示す予測モデル200の教師データとして利用される。モデル情報134については後述する。
【0050】
[ランタイムの処理フロー]
以下、第2実施形態における情報処理装置100Aによるランタイムの一連の処理の流れをフローチャートに即して説明する。ランタイムとは、既に学習された予測モデル200を利用する状態である。
図9は、第2実施形態における情報処理装置100Aによるランタイムの一連の処理の流れを示すフローチャートである。本フローチャートの処理は、例えば、所定の周期で繰り返し行われてよい。
【0051】
まず、取得部112は、通信部102を介して、サービス提供装置20から、オークションサイトの入力ページに入力された各種情報を、出品予定の商品に関する商品情報として取得する(S200)。
【0052】
次に、予測部118は、モデル情報134が示す予測モデル200に、取得部112によって取得された商品情報に含まれるタイトルおよびカテゴリを入力する(S202)。
【0053】
モデル情報134は、予測モデル200を定義した情報(プログラムまたはデータ構造)である。予測モデル200は、例えば、コンボリューショナルニューラルネットワーク(Convolutional Neural Network:CNN)などの種々のニューラルネットワークによって実現される。
【0054】
モデル情報134には、例えば、各ニューラルネットワークを構成する入力層、一以上の隠れ層(中間層)、出力層の其々に含まれるニューロン(ユニット)が互いにどのように結合されるのかという結合情報や、結合されたニューロン間で入出力されるデータに付与される結合係数などの各種情報が含まれる。結合情報とは、例えば、各層に含まれるニューロン数や、各ニューロンの結合先のニューロンの種類を指定する情報、各ニューロンを実現する活性化関数、隠れ層のニューロン間に設けられたゲートなどの情報を含む。ニューロンを実現する活性化関数は、例えば、正規化線形関数(ReLU関数)であってもよいし、シグモイド関数や、ステップ関数、その他の関数などであってもよい。ゲートは、例えば、活性化関数によって返される値(例えば1または0)に応じて、ニューロン間で伝達されるデータを選択的に通過させたり、重み付けたりする。結合係数は、活性化関数のパラメータであり、例えば、ニューラルネットワークの隠れ層において、ある層のニューロンから、より深い層のニューロンにデータが出力される際に、出力データに対して付与される重みを含む。また、結合係数は、各層の固有のバイアス成分などを含んでもよい。
【0055】
図10は、第2実施形態における予測モデル200の一例を示す図である。第2実施形態における予測モデル200には、例えば、第1入力層202と、埋め込み層(Embedding)204と、データ変形層(Reshape)206と、複数の畳み込み層208と、複数のプーリング層210と、連結層(Concatenate)212と、データ変形層214と、第2入力層216と、埋め込み層218と、データ変形層220と、連結層222と、全結合層224と、正規化処理層226と、ドロップアウト層228と、出力層230とが含まれる。
【0056】
第1入力層202には、タイトルを示す文字列に含まれる各文字が入力される。第1入力層202に入力された文字は、埋め込み層204に出力される。
【0057】
埋め込み層204は、第1入力層202から入力された一文字一文字を、次元数が固定された多次元ベクトル(密ベクトル)に変換し、変換した複数のベクトルを配列したテンソル(例えば二階テンソル)を生成する。埋め込み層204は、生成したテンソルをデータ変形層206に出力する。
【0058】
データ変形層206は、入力されたテンソル(一階のテンソルであるベクトルを含む)を変形し、そのテンソルを複数の畳み込み層208のそれぞれに出力する。
【0059】
各畳み込み層208は、データ変形層206から入力されたテンソルとカーネルと呼ばれる重み行列とを畳み込み(内積を求め)、カーネルと重なる複数の要素を含む領域を、一つの単位領域に圧縮する。この単位領域には、畳み込みにより得られた単変量値が特徴量として対応付けられている。各畳み込み層208は、テンソル上でカーネルをシフト移動させながら畳み込み処理を繰り返し、複数の単位領域により形成されたコンボリューショナルレイヤと呼ばれる畳み込みの特徴量を要素値としたテンソルを生成し、それをプーリング層210に出力する。
【0060】
プーリング層210は、畳み込み層208から入力されたテンソルの次元数をプーリング(例えばGlobal Average Pooling)などによって圧縮し、そのテンソルを連結層212に出力する。
【0061】
連結層212は、複数のプーリング層210のぞれぞれから入力されたテンソルを一つに連結し、それをデータ変形層214に出力する。複数のプーリング層210のぞれぞれから入力されるテンソルの次元数は同じものとする。
【0062】
データ変形層214は、データ変形層206と同様に、入力されたテンソルを変形し、そのテンソルを連結層222に出力する。
【0063】
第2入力層216には、タイトルを識別するID(Identification Data)に含まれる各文字や、タイトルを示す文字列に含まれる各文字が入力される。第2入力層216に入力された文字は、埋め込み層218に出力される。
【0064】
埋め込み層218は、埋め込み層204と同様に、第2入力層216から入力された一文字一文字を、次元数が固定された多次元ベクトル(密ベクトル)に変換し、変換した複数のベクトルを配列したテンソル(例えば二階テンソル)を生成する。埋め込み層218は、生成したテンソルをデータ変形層220に出力する。
【0065】
データ変形層220は、データ変形層206と同様に、入力されたテンソルを変形し、そのテンソルを連結層222に出力する。
【0066】
連結層222は、データ変形層214から入力されたテンソル、すなわちタイトルをベースとしたテンソルと、データ変形層220から入力されたテンソル、すなわちカテゴリをベースとしたテンソルとを一つに連結し、それを全結合層224に出力する。タイトルをベースとしたテンソルは、「第1特徴」の一例であり、カテゴリをベースとしたテンソルは、「第2特徴」の一例である。タイトルをベースとしたテンソルとカテゴリをベースとしたテンソルとを連結したテンソルは、「第3特徴」の一例である。
【0067】
全結合層224は、連結層222から入力されたテンソルの要素を、その要素を変数としたときに活性化関数(例えばReLU関数など)によって返される値に、学習によって決定されたバイアス成分を加算した値に置き換えたテンソルを生成する。全結合層224は、テンソルの要素値を変更する際に、学習によって決定されたカーネルをテンソルに掛け合わせる。全結合層224は、生成したテンソルを正規化処理層226に出力する。
【0068】
正規化処理層226は、全結合層224から入力されたテンソルの要素値を正規化し、正規化したテンソルをドロップアウト層228に出力する。
【0069】
ドロップアウト層228は、過学習を防ぐため、正規化処理層226から入力されたテンソルの一部の要素を間引き、出力層230に出力する。
【0070】
出力層230は、ドロップアウト層228から入力されたテンソルを出力する。出力層230によって出力されるテンソルは、0階のテンソルであり、一次元のスカラ値である。すなわち、出力層230は、商品の落札価格或いは購入価格を表す数値を出力する。
【0071】
図9のフローチャートの説明に戻る。次に、通信制御部120は、予測モデル200から出力結果である商品の予測価格を取得し、取得した予測価格を示す情報を、、通信部102を介してサービス提供装置20に送信する(S204)。これを受けて、サービス提供装置20は、出品者が利用する端末装置10の画面に表示された入力ページ上の表示欄F3に、出品予定の商品の落札価格を表示させる。これによって、出品者は、自らが出品する商品をどのような価格にすれば最も落札されやすいのか、すなわち落札の適正価格を、出品時点で知ることができる。この結果、出品者がオークションサイトを利用する際の利便性を向上させることができる。
【0072】
[トレーニングの処理フロー]
以下、第1実施形態における情報処理装置100のトレーニングの一連の処理の流れをフローチャートに即して説明する。トレーニングとは、ランタイムに利用される予測モデル200を学習させる状態である。
図11は、第2実施形態における情報処理装置100Aによるトレーニングの一連の処理の流れを示すフローチャートである。
【0073】
まず、学習部122は、予測モデル200を学習させるために、記憶部130Aに格納された落札済み商品情報132から、各落札済み商品の商品IDに対応付けられたタイトルおよびカテゴリを取得し、取得したタイトルおよびカテゴリを予測モデル200に入力する(S300)。
【0074】
具体的には、学習部122は、落札済み商品のタイトルを示す文字列に含まれる各文字を第1入力層202に入力し、落札済み商品のタイトルを識別するIDに含まれる各文字や、タイトルを示す文字列に含まれる各文字を第2入力層216に入力する。
【0075】
一般的に、単語埋め込み表現(Word Embedding(s))として、ニューラルネットワークの埋め込み層には、複数の文字の塊である単語(ワード)や句(フレーズ)が入力されることが多い。この場合、学習に利用しなかった単語や句が、ランタイムに入力された場合、価格の予測精度が低下しやすい傾向にある。これに対して、本実施形態では、予測モデル200への入力を、単語単位や句単位とせずに、文字単位とするため、ランタイムに入力されることが推定されるあらゆる文字を満遍なく学習することができる。この結果、価格の予測精度を向上させることができる。
【0076】
次に、学習部122は、落札済み商品のタイトルおよびカテゴリを入力した予測モデル200から出力結果、すなわち落札済み商品の予測価格を取得する(S302)。
【0077】
次に、学習部122は、予測モデル200から取得した予測価格と、予測モデル200に入力したタイトルおよびカテゴリに教師ラベルとした対応付けられた実際の落札価格との誤差を算出する(S304)。例えば、学習部122は、予測価格と実際の落札価格との平均絶対誤差を算出してよい。
【0078】
次に、学習部122は、算出した誤差が閾値以内であるか否かを判定し(S306)、その誤差が閾値を超える場合、誤差逆伝番等の勾配法に基づいて、予測モデル200のパラメータを学習する(S308)。これによって、本フローチャートの処理が終了する。
【0079】
以上説明した第2実施形態によれば、情報処理装置100Aは、落札済み商品に関する商品情報(タイトルおよびカテゴリを含む)に、落札済み商品の実際の落札価格が対応付けられた落札済み商品情報132(教師データの一例)に基づいて、予測モデル200を学習しておき、出品者がオークションサイトなどに商品を出品する際に、その出品予定の商品に関する商品情報を、学習済みの予測モデル200に入力することで、出品予定の商品の落札価格を予測する。この結果、第1実施形態と同様に、商品またはサービスの価格の予測精度を向上させることができる。
【0080】
<第2実施形態の変形例>
以下、第2実施形態の変形例について説明する。上述した第2実施形態において、情報処理装置100Aは、ランタイムにおいて、予測モデル200が出力した価格を、出品予定の商品の適正落札価格として予測したがこれに限られない。
【0081】
例えば、情報処理装置100Aは、ランタイムにおいて、予測モデル200が出力した価格と、販売済み商品の価格を少なくとも一つの確率変数とした確率分布を推定し、推定した確率分布に基づいて予測した価格(第1実施形態の手法で予測した価格)との平均などの統計的計算値を、出品予定の商品の適正落札価格として予測してもよい。
【0082】
また、例えば、情報処理装置100Aは、タイトルやカテゴリといった商品情報に加えて、カーネル密度推定の計算結果や、出品予定の商品に類似する落札済み商品の商品概要や商品説明などの文字列を予測モデル200に入力することで、出品予定の商品の適正落札価格として予測してもよい。
【0083】
図12は、第2実施形態における予測モデル200の他の例を示す図である。予測モデル200には、上述した構成に加えて、更に、第3入力層232と、埋め込み層234と、データ変形層236とが含まれる。
【0084】
第3入力層232には、例えば、落札済み商品の商品概要や商品説明を表す文字列の各文字が入力されたり、カーネル密度推定によって推定された確率分布から求めた落札価格を示す数値が入力されたりする。第3入力層232に入力された文字は、埋め込み層234に出力される。
【0085】
埋め込み層234は、埋め込み層204と同様に、第3入力層232から入力された一文字一文字を、次元数が固定された多次元ベクトル(密ベクトル)に変換し、変換した複数のベクトルを配列したテンソルを生成する。埋め込み層234は、生成したテンソルをデータ変形層236に出力する。
【0086】
データ変形層236は、データ変形層206と同様に、入力されたテンソルを変形し、そのテンソルを連結層222に出力する。
【0087】
連結層222は、データ変形層214から入力されたテンソル、すなわちタイトルをベースとしたテンソルと、データ変形層220から入力されたテンソル、すなわちカテゴリをベースとしたテンソルと、データ変形層236から入力されたテンソル、すなわち商品概要や商品説明、カーネル密度推定による予測価格などをベースとしたテンソルとを一つに連結し、それを全結合層224に出力する。このように、タイトルやカテゴリだけでなく、商品概要や商品説明、カーネル密度推定による予測価格などの他の情報を用いて予測モデル200を学習することで、商品またはサービスの価格の予測精度を更に向上させることができる。
【0088】
また、上述した第2実施形態では、出品予定の商品の適正落札価格を予測するために、予測モデル200にタイトルおよびカテゴリを入力するもの、すなわち、出品者が入力ページに出品予定の商品のタイトルとカテゴリとを商品情報として入力する必要があるものとして説明したがこれに限られない。例えば、情報処理装置100Aは、出品者がカテゴリを選択せず、出品予定の商品のカテゴリが未知である場合であっても、タイトルから、その商品の適正落札価格を予測してよい。
【0089】
例えば、推定部116は、カーネル密度推定を用いて、過去に落札された落札済み商品のカテゴリのIDを確率変数とした確率分布を推定する。予測部118は、推定部116によって推定された確率分布が単峰性分布である場合、その確率分布において最頻値をとるカテゴリIDを、出品予定の商品のカテゴリとして予測する。
【0090】
そして、予測部118は、学習済みの予測モデル200に対して、出品者が入力したタイトルと、確率分布から予測したカテゴリとを入力することで、出品予定の商品の落札価格を予測する。このように、少なくともタイトルが入力されていれば、そのタイトルからカテゴリを予測し、更に、出品予定の商品の落札価格を予測することができる。
【0091】
<ハードウェア構成>
上述した実施形態の情報処理装置100は、例えば、
図13に示すようなハードウェア構成により実現される。
図13は、実施形態の情報処理装置100のハードウェア構成の一例を示す図である。
【0092】
情報処理装置100は、NIC100−1、CPU100−2、RAM100−3、ROM100−4、フラッシュメモリやHDDなどの二次記憶装置100−5、およびドライブ装置100−6が、内部バスあるいは専用通信線によって相互に接続された構成となっている。ドライブ装置100−6には、光ディスクなどの可搬型記憶媒体が装着される。二次記憶装置100−5、またはドライブ装置100−6に装着された可搬型記憶媒体に格納されたプログラムがDMAコントローラ(不図示)などによってRAM100−3に展開され、CPU100−2によって実行されることで、制御部110が実現される。制御部110が参照するプログラムは、ネットワークNWを介して他の装置からダウンロードされてもよい。
【0093】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何ら限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【解決手段】情報処理装置は、ネットワークを介して販売される第1商品または第1サービスに関する商品情報を取得する取得部と、前記取得部によって取得された前記商品情報に基づいて、過去に販売された複数の第2商品または第2サービスの中から、前記第1商品または第1サービスと類似する前記第2商品または第2サービスを選択する選択部と、前記選択部によって選択された前記第2商品または第2サービスの価格を少なくとも一つの確率変数とした確率分布を推定する推定部と、前記推定部によって推定された前記確率分布に基づいて、前記第1商品または第1サービスの価格を予測する予測部と、を備える。