<第1実施形態>
以下、本発明の第1実施形態について図面を参照しながら説明する。第1実施形態では本発明の酒類情報処理装置10を備える酒類情報処理システム100を例示する。図1は、第1実施形態に係る酒類情報処理システム100の構成を示す図である。図1の酒類情報処理システム100は、酒類情報処理装置10と端末装置20とを備える。
酒類情報処理システム100は、酒類情報処理装置10でユーザに推薦する酒類商品を選出し、その選出した酒類商品を端末装置20に表示させるものである。本実施形態の酒類情報処理装置10は、特定ユーザが実際に飲んで感じた酒類商品の嗜好値をその酒類商品の成分データに関連付けることができるように構成される。これによれば、主観的な他人の味覚や質問からではなく、化学的に分析された客観的な酒類商品の成分データに基づいて特定ユーザが真に好む酒類商品を選出できる。ここでの特定ユーザとは、不特定多数のユーザではなく、一人ひとりの個々のユーザを意味する。以下、単に「ユーザ」という場合にも上記特定ユーザを意味するものとする。
第1実施形態の酒類情報処理装置10は、端末装置20をクライアントとするサーバコンピュータで構成する場合を例示する。酒類情報処理装置10は、複数台で分散処理するように構成してもよく、また1台のサーバ装置に設けられた複数の仮想マシンによって構成してもよい。また、酒類情報処理装置10は、パーソナルコンピュータで構成してもよく、クラウドサーバで構成してもよい。酒類情報処理装置10と端末装置20とはインターネットなどのネットワークNを介して互いに通信可能に構成されている。
端末装置20は、ユーザによって利用される情報処理装置である。端末装置20は、例えばスマートフォン、タブレット、PDA(Personal Digital Assistant)などの携帯端末や、デスクトップ型パーソナルコンピュータ、ノート型パーソナルコンピュータなどである。ネットワークNには1つの端末装置20が接続される場合を例示しているが、2つ以上の端末装置20が接続されていてもよい。
図2は、図1の酒類情報処理装置10と端末装置20の具体的構成例を示すブロック図である。図2に示すように酒類情報処理装置10は、通信部11と制御部12と記憶部14とを備える。通信部11と制御部12と記憶部14とは、それぞれバスライン10Lに接続され、相互に情報(データ)のやり取りが可能である。
通信部11は、ネットワークNと有線又は無線で接続され、端末装置20との間で情報(データ)の送受信を行う。通信部11は、インターネットやイントラネットの通信インターフェースとして機能し、例えばTCP/IP、Wi-Fi(登録商標)、ブルートゥース(登録商標)を用いた通信などが可能である。
制御部12は、酒類情報処理装置10全体を統括的に制御する。制御部12は、MPU(Micro Processing Unit)などの集積回路で構成される。制御部12は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)を備える。制御部12は、必要なプログラムをROMにロードし、RAMを作業領域としてそのプログラムを実行することで、各種の処理を行う。
記憶部14は、制御部12で実行される各種プログラムやこれらのプログラムによって使用されるデータなどを記憶する。記憶部14は、ハードディスクや光ディスクなどの記憶装置で構成される。記憶部14の構成はこれらに限られず、記憶部14をRAMやフラッシュメモリなどの半導体メモリで構成してもよい。例えば記憶部14をSSD(Solid State Drive)で構成することもできる。
記憶部14は、プログラム記憶部15、データ記憶部16などを備える。プログラム記憶部15は、制御部12で実行される各種プログラムを記憶する記憶媒体(コンピュータ読み取り可能な有形の記憶媒体:a tangible storage medium)として機能する。制御部12は、プログラム記憶部15から必要なプログラムを読み出して各種の処理を実行する。
データ記憶部16には、例えばユーザデータ160、酒類データ170、学習データ182、学習済みモデル184(AI(人工知能):Artificial Intelligence)などが記憶される。ユーザデータ160には、嗜好値データ162、予測結果データ164などが含まれる。ユーザデータ160には、図示はしないが予め登録されているユーザのID、氏名、住所、クレジットカード情報などの登録情報も含まれる。酒類データ170には、酒類商品リスト172、成分データ174などが含まれる。
図2の嗜好値データ162は、ユーザ毎の酒類商品の好みを数値で表す嗜好値が酒類商品毎に関連付けられたデータである。嗜好値データ162は、ユーザが購入した酒類商品を飲んで実際に感じた嗜好値をユーザ毎に記憶する。ユーザは一人ひとり酒類の嗜好と味覚の感じ方が異なるからである。ユーザの嗜好は酒類商品(酒の銘柄)によっても異なるので、本実施形態では後述する図9の評価ページのように、ユーザが実際に感じた嗜好値を酒類商品毎に入力できるようになっている。
図3は、第1実施形態の嗜好値データの具体例である。図3に示すように嗜好値データ162Aは、購入した酒類商品の番号(「No.」の欄)、商品名又は銘柄名(「酒類商品」の欄)、その酒類商品の嗜好値などの項目を有する。図3の「No.」の欄は、日本酒スタータセットなどのセット商品でもそれに含まれる酒類商品(銘柄)毎の番号を表示する場合を例示しているが、これに限られず、例えばセット商品の番号を表示するようにしてもよい。嗜好値データ162Aは、ユーザP1~Pn毎に記憶される。嗜好値データ162Aの構成はこれに限られない。
図3の嗜好値は、ユーザP1~Pnのそれぞれが酒類商品を飲んで好みの度合いを数値で評価し入力したものである。嗜好値は、例えば1~5の5段階の数値であり、数値が高いほど好みの度合いが大きいという評価になる。嗜好値の数値は、1~5の5段階に限られない。6段階以上でもよい。その他、1(好みでない)か2(好みである)かの2段階でもよく、1(好みでない)か2(どちらでもない)か3(好みである)かの3段階でもよい。また好みでない場合を0とし、好みの場合を1以上の整数で段階的に表すようにしてもよい。例えば図9に示すような嗜好値を入力するための酒類評価画面SC11が端末装置20に表示され、ユーザP1~Pnは酒類商品毎に嗜好値を入力できるようになっている。嗜好値の入力についての詳細は後述する。図3は、酒類商品として日本酒を例示するが、これに限られない。酒類商品は、ワイン、ビール、焼酎などであってもよい。
図3の酒類商品は、ユーザP1~Pnそれぞれが購入したものであり、セット商品(日本酒スタータセット)を例示している。セット商品には、複数の銘柄の酒類商品が含まれる。図3では、日本酒スタータセットに3つの銘柄が表示されているがこれに限られない。2つ以上の銘柄をセット商品とすればよく、4つ以上の銘柄をセット商品としてもよい。セット商品とすることで、より多くの銘柄を少量ずつ試してもらうことができる。これにより、銘柄の異なる多くの酒類商品の嗜好値データを取得できる。もちろん酒類商品は、セット商品に限られず、単品の銘柄であってもよい。
図2の酒類商品リスト172には、学習用の酒類商品リストと予測用の酒類商品リストとが含まれる。成分データ174は、酒類商品毎に化学的に分析された複数の成分が酒類商品リスト172の酒類商品毎に関連付けられたデータである。成分データ174には、学習用の成分データと予測用の成分データが含まれる。
図4は、第1実施形態の学習用の酒類商品リスト172A1と学習用の成分データ174A1の具体例を示す図である。図4に示すように学習用の酒類商品リスト172A1は、酒類商品の番号(「No.」の欄)、商品名又は銘柄名(「酒類商品」の欄)を有する。学習用の酒類商品リスト172A1の各酒類商品には、その成分データ174A1が関連付けられる。
図4の学習用の酒類商品リスト172A1は、図3の嗜好値データ162Aの中で嗜好値が評価(フィードバック)されている酒類商品を取り出したものである。図3ではNo.1とNo.2の酒類商品は嗜好値が評価されているが、No.3の酒類商品は未評価である。したがって、学習用の酒類商品リスト172A1には、嗜好値の評価のあるNo.1とNo.2の酒類商品は含まれるが、嗜好値の評価のないNo.3の酒類商品は含まれない。No.3の酒類商品の嗜好値が評価されると、学習用の酒類商品リスト172A1にNo.3の酒類商品も含まれることになる。
図4の学習用の成分データ174A1は、成分F1~成分Fnの数字(図中「XX」)からなる。成分F1~成分Fnの数字は、各酒類商品に含まれる複数の成分の含有量を標準化したものである。学習用の成分データ174A1の数字(図中「XX」)は、酒類商品に含まれる複数の成分の含有率であってもよい。学習用の成分データ174A1は、酒類商品毎に公知の化学的な解析手法によって得られる。化学的な解析手法としては、例えばメタボローム解析(メタボロミクス解析)などが挙げられる。ワインの成分としては、例えばリンゴ酸、コハク酸、グルコース、フラクトース、グリセリン、カルシウム、マグネシウムなどが挙げられる。日本酒の成分としては、例えばリンゴ酸、コハク酸、グルタミン、アラニン、プロリン、アルギニンなどが挙げられる。
これらの成分は、甘味成分、酸味成分、旨味成分などを構成し、人の味覚、臭覚、知覚などに反応して酒類の嗜好に影響を与える。従って、ユーザの酒類の嗜好と酒類の成分データには相関がある。このため、ユーザの好みの酒にどの成分がどの程度含まれているかを機械学習することで、そのユーザが好む酒の成分パターン(酒類に含まれる成分とその含有率のパターン)が分かる。そうすると、同じような成分パターンの酒であれば、未だ飲んだことのない酒でも好みの嗜好に近い可能性が高い。
そこで、本実施形態では、酒類商品の成分データとその酒類商品を飲んでみて実際に感じた特定ユーザの嗜好値を学習データ182とし、この学習データ182を機械学習によって学習させることで学習済みモデル184を生成する。そして、この学習済みモデル184によって未知の酒類商品についての特定ユーザの嗜好値を算出し、嗜好値が高い酒類商品を選出する。これにより、特定ユーザが実際に飲んで感じた酒類商品の嗜好値をその酒類商品の成分データに関連付けることができる。これによれば、主観的な他人の味覚や質問からではなく、化学的に分析された客観的な酒類商品の成分データに基づいて特定ユーザに推薦する酒類商品を選出できる。しかも、特定ユーザの嗜好を学習させるので、不特定多数のユーザの嗜好を学習させる場合に比較して、その特定ユーザの好みの酒類商品が選出されやすい。なお、機械学習には、成分データや嗜好値を標準化したものを用いることが好ましい。ここでの機械学習としては、本実施形態で例示するAI(人工知能)によるものに限られず、例えば主成分分析などの多変量解析であってもよい。
図5は、第1実施形態の学習済みモデル184Aの構成例を示す図である。図5の学習済みモデル184Aは、酒類商品の成分データを入力することで、特定ユーザの嗜好値を出力するように学習されている。すなわち、図5の学習済みモデル184Aは、一人ひとりの個々のユーザ(特定ユーザ)毎に別々に生成される。
学習済みモデル184Aには、酒類商品を構成する複数の成分の含有率をまとめて入力する。酒類商品の甘味、酸味、旨味などの味覚、香り、色などの嗜好の種類にそれぞれ対応する複数の成分を、これらの嗜好の種類毎に別々に入力してもよい。例えば甘味を構成する複数の成分、酸味を構成する複数の成分、旨味を構成する成分、香りを構成する成分、色を構成する成分などの含有率を別々に学習済みモデル184Aに入力することもできる。これにより、複数の成分の含有率をまとめて入力する場合に比較して、それぞれの嗜好の種類毎の特徴が反映されやすい学習済みモデル184Aを構成できる。このような学習済みモデル184Aから出力される特定ユーザの嗜好値に基づいて酒類商品を選出することで、不特定多数のユーザの嗜好に基づいて酒類商品を選出する場合よりも、特定ユーザが真に好む酒類商品を選出する精度を高めることができる。
図5には、機械学習によって学習されたニューラルネットワークで構成される学習済みモデル184Aを例示する。学習済みモデル184Aは、入力層、中間層、出力層を備える。それぞれの層は、複数のノードで構成される。例えば成分データの数を入力層のノード数とする。出力層のノード数は1である。各層に含まれるノードの数や中間層の層数は図示したものに限られない。学習済みモデル184Aは、CNN(Convolutional Neural Network)で構築してもよく、RNN(Recurrent Neural Network)で構成してもよい。
図5は、同種の酒類商品(例えば日本酒の銘柄)を学習させた1つの学習済みモデル184Aを例示する。学習済みモデル184Aは、日本酒以外の酒類商品(例えばワインの銘柄)を学習させたものであってもよい。また、一人のユーザの学習済みモデル184Aは、一つに限られない。ユーザ毎に異種の酒類商品(例えば日本酒の銘柄とワインの銘柄)を別々に学習させた別々の学習済みモデル184Aであってもよい。例えばユーザによっては、ワインの学習済みモデル184Aと日本酒の学習済みモデル184Aを別々に設けることもできる。これによれば、予測用の酒類商品の種類が日本酒であれば、日本酒の学習済みモデル184Aを用いてユーザの好みの嗜好に近い日本酒を選出し、予測用の酒類商品の種類がワインであれば、ワインの学習済みモデル184Aを用いてユーザの好みの嗜好に近いワインを選出できる。
なお、学習済みモデル184Aは、異種の酒類商品を組み合わせて学習させた1つの学習済みモデル184Aであってもよい。例えばワインと日本酒を組み合わせて学習させた1つの学習済みモデル184Aにすることも可能である。これによれば、予測用の酒類商品の種類がワインでも日本酒でも、同じ学習済みモデル184Aを用いて、ユーザの好みの嗜好に近い酒類商品を選出できる。
学習済みモデル184Aは、例えば深層学習アルゴリズムを用いて教師あり学習で構築したディープラーニングモデルである。具体的には学習済みモデル184Aは、酒類商品の成分データとユーザの嗜好値(正解ラベル)を1セットとした学習データ182(教師データ)を用いて学習する。学習済みモデル184Aは、学習データ182に含まれる成分データを入力層に入力した場合に、ユーザの嗜好値に対応する出力層の出力が学習データ182に含まれる嗜好値(正解ラベル)に近づくような学習処理を行う。学習処理において学習済みモデル184Aは、入力に対して行う所定の演算を規定する関数の係数(重み付け係数)等のパラメータデータを最適化する。
図6は、第1実施形態の学習データ182Aの具体例を示す図である。図6は、ユーザP1の学習済みモデル184Aを生成するためのユーザP1の学習データ182Aである。図6の学習データ182Aは、学習用の酒類商品の番号(「No.」の欄)、商品名又は銘柄名(「酒類商品」の欄)、成分データ、嗜好値などの項目を有する。図6の酒類商品とその成分データは、図4の学習用の酒類商品リスト172A1及びその学習用の成分データ174A1から取得したものである。図6の嗜好値は、図3のユーザP1の嗜好値データ162Aから取得したものであり、図9の酒類評価画面SC11でユーザが評価として入力した嗜好値である。学習データ182Aの嗜好値は、酒類商品の成分データの正解ラベルに相当する。学習データ182は、ユーザP1~Pn毎に生成される。
図7は、第1実施形態の予測用の酒類商品リスト172A2と予測用の成分データ174A2の具体例を示す図である。図7の酒類商品リスト172A2は、ユーザの嗜好値を予測するための予測用の酒類商品である。図7に示すように予測用の酒類商品リスト172A2は、酒類商品の番号(「No.」の欄)と商品名(「酒類商品」の欄)などの項目を有する。予測用の酒類商品リスト172A2の各酒類商品には、その成分データ174A2が関連付けられる。
図7の予測用の酒類商品リスト172A2の酒類商品は、学習用の酒類商品リスト172A1の酒類商品とは異なる酒類商品が含まれる。例えば酒類情報処理システム100を適用する酒類商品の販売店が実店舗(居酒屋などの飲食店や酒屋などの酒店等)の場合は、その実店舗で販売する酒類商品のリストを予測用の酒類商品リスト172A2にすることができる。また酒類情報処理システム100を適用する販売店がオンラインショップ(ネットショップ)の場合は、そのオンラインショップのEC(electronic commerce)サイトで販売する酒類商品のリストを予測用の酒類商品リスト172A2にすることができる。なお、予測用の酒類商品リスト172A2と成分データ174A2は、図7に示す構成に限られない。
図8は、第1実施形態の予測結果データ164Aの具体例を示す図である。図8は、ユーザP1の予測結果データ164Aである。図8に示すように予測結果データ164Aは、図7の予測用の酒類商品リスト172A2と成分データ174A2の酒類商品毎に嗜好値の予測結果を関連付けたものである。嗜好値の予測結果は、予測用の成分データ174A2を酒類商品毎に入力した学習済みモデル184Aから出力される嗜好値である。なお、予測結果データ164Aは、図8に示す構成に限られない。
図7の予測用の酒類商品リスト172A2には、日本酒だけでなく、ワインも含まれる。これによれば、日本酒の成分データ174とその嗜好値データ162で学習した学習済みモデル184でワインの嗜好値を予測できる。図8では日本酒だけでなく、ワインの嗜好値の予測結果も含まれる。したがって、本実施形態では、日本酒で学習した学習済みモデル184を利用して、後述する図10に示すように日本酒だけでなく、ワインも推薦できる。
このように酒類商品の種類に関わらず嗜好値を予測できるのは、酒類商品の種類ではなく、成分データ174で学習済みモデル184を学習するからである。共通する成分データがある酒類商品であればその酒類の種類を超えて予測が可能になる。例えば日本酒とワインとでは共通する成分データがあるので、酒類商品の種類で分ける必要がないからである。ただし、学習用の成分データ174A1の数と予測用の成分データ174A2の数は、日本酒とワインとで同じ数に合わせる必要がある。学習用と予測用とで同じ学習済みモデル184を使えるようにするためである。このように予測用の酒類商品リスト172A2には、学習用の酒類商品リスト172A1とは異種の酒類商品を含めることができる。
図2に示す制御部12は、データ取得部121と嗜好値算出部122と酒類商品選出部123と出力部124と学習データ生成部125と学習済みモデル生成部126とを備える。これら制御部12の各構成要素は、物理的な回路で構成してもよく、CPUが実行可能なプログラムで構成してもよい。制御部12の構成は、図2に示す構成に限られない。学習済みモデル184を生成する場合には、データ取得部121→学習データ生成部125→学習済みモデル生成部126の流れで処理が行われる。生成された学習済みモデル184で嗜好値を予測する場合は、データ取得部121→嗜好値算出部122→酒類商品選出部123→出力部124の流れで処理が行われる。
データ取得部121は、通信部11を介して複数の酒類商品それぞれについての成分データ、ユーザの嗜好値データなどを取得する。具体的には、特定ユーザの酒類商品の嗜好値を予測する場合には、予測用の酒類商品の成分データ174(例えば図7に示す予測用の酒類商品リスト172A2のうち予測に用いる酒類商品の成分データ174A2)を取得する。
嗜好値算出部122は、データ取得部121で取得された予測用の成分データ174を酒類商品毎に学習済みモデル184に入力して特定ユーザの嗜好値を酒類商品毎に算出する。具体的には、データ取得部121で取得された特定ユーザの予測用の酒類商品リスト172A2と成分データ174A2を酒類商品毎に学習済みモデル184に入力する。それにより学習済みモデル184から得られる出力が予測結果としての特定ユーザの嗜好値になる。嗜好値算出部122は、算出した特定ユーザの嗜好値を図8のような予測結果データ164Aとして予測用の酒類商品リスト172A2の酒類商品に関連付けて記憶部14に記憶する。
酒類商品選出部123は、嗜好値算出部122で算出された嗜好値に基づいてその特定ユーザの好みの酒類商品を選出する。具体的には図8に示すような嗜好値の予測結果のうち、その嗜好値が所定値以上の酒類商品を選出する。例えば予測用の酒類商品リスト172A2の中で嗜好値が最も高い酒類商品を選出する。5段階の嗜好値であれば嗜好値が5以上の酒類商品を選出するようにしてもよい。嗜好値5がない場合には、嗜好値4の酒類商品を選出する。この場合、嗜好値が所定時以下(例えば嗜好値3以下)のものは選出しないようにしてもよい。
出力部124は、酒類商品選出部123で選出された酒類商品を表示するための表示データを生成して出力する。具体的には、出力部124は、嗜好値が高い順に酒類商品を表示させる表示データを生成する。表示データは、通信部11を介して端末装置20に送信される。端末装置20は、表示データに基づいて酒類商品のリストを表示する。例えば嗜好値4以上の酒類商品を選出する場合は、嗜好値5の酒類商品の下に嗜好値4の酒類商品を表示する。なお、表示データはウエブサイトに表示するためのウエブ(Web)画面データであってもよい。この場合、酒類情報処理装置10は、ウエブサイトの画面に酒類商品のリストを表示させる。端末装置20はウエブサイトの画面をブラウザで表示する。
データ取得部121は、学習済みモデル184を生成する場合には、学習用の酒類商品の成分データ174(例えば図4に示す酒類商品の成分データ174A1)とその酒類商品についてのユーザの嗜好値データ162(例えば図3に示す嗜好値データ162Aの嗜好値)を取得する。学習データ生成部125は、学習用の酒類商品の成分データ174と学習用のユーザの嗜好値データ162から学習データ182(例えば図6に示す学習データ182A)を生成する。学習済みモデル生成部126は、学習データ182を用いて機械学習により学習済みモデル生成部126を生成する。
次に、端末装置20の構成例について図2を参照しながら説明する。図2に示す端末装置20は、通信部21と制御部22と記憶部23と入力部24と表示部25とを備える。通信部21と、制御部22と、記憶部23と、入力部24と、表示部25とは、それぞれバスライン20Lに接続され、相互に情報(データ)のやり取りが可能である。
通信部21は、ネットワークNと有線又は無線で接続され、酒類情報処理装置10との間で情報(データ)の送受信を行う。通信部21は、インターネットやイントラネットの通信インターフェースとして機能し、例えばTCP/IP、Wi-Fi(登録商標)、ブルートゥース(登録商標)を用いた通信などが可能である。
制御部22は、端末装置20全体を統括的に制御する。制御部22は、MPU(Micro Processing Unit)などの集積回路で構成される。制御部22は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)を備える。制御部22は、必要なプログラムをROMにロードし、RAMを作業領域としてそのプログラムを実行することで、各種の処理を行う。
記憶部23は、プログラム記憶部231、データ記憶部232などを備える。プログラム記憶部231には、制御部22で実行される複数のアプリケーションプログラムが記憶される記憶媒体(コンピュータ読み取り可能な有形の記憶媒体:a tangible storage medium)として機能する。プログラム記憶部231には、酒類情報処理装置10と連携して酒類情報処理を行うための専用のアプリケーションプログラムが記憶される。この専用のアプリケーションプログラムは、ネットワークNを介して端末装置20にダウンロード可能なプログラムである。データ記憶部232には、アプリケーションプログラムによって使用される各種データが記憶される。記憶部23は、ハードディスクで構成されていてもよく、フラッシュメモリなどの半導体メモリで構成されていてもよい。例えば記憶部23をSSD(Solid State Drive)で構成することもできる。
入力部24は、キーボード及びマウスなどを備え、ユーザからの操作入力を受け付けて操作内容に対応した制御信号を制御部22へ送信する。入力部24は、タッチパネルを備えていてもよい。
表示部25は、液晶ディスプレイや有機ELディスプレイなどであり、制御部22からの指示に従って各種情報を表示する。制御部22は、酒類情報処理装置10と連携する専用のアプリケーションプログラムが実行されることで、酒類情報処理装置10から通信部21を介して受信した表示データに基づいて酒類商品のリストを表示部25に表示できるようになる。
ここで、表示部25に表示される表示画面の構成例を図9及び図10に示す。図9は、第1実施形態の酒類評価画面SC11の構成例を示す図である。図10は、第1実施形態の酒類推薦画面SC12の構成例を示す図である。図9の酒類評価画面SC11と図10の酒類推薦画面SC12は、ユーザP1が端末装置20でIDとパスワードを入力して見られる個別ページ(マイページ)の画面の一部である。酒類情報処理装置10からの表示データにより、ユーザP1~Pnのそれぞれの端末装置20に個別ページの画面を表示できるようになっている。
図9の酒類評価画面SC11は、ユーザP1が購入した酒類商品を評価する嗜好値(例えば1~5の5段階)を入力するための評価ページの表示画面である。酒類評価画面SC11には、「No.」、「酒類商品」、嗜好値の入力欄SC211、「カートに入れる」ボタンなどが酒類商品毎に表示される。「No.」の欄には酒類商品の番号が表示され、「酒類商品」の欄には酒類商品の商品名又は銘柄名が表示される。図9の「No.」の欄は、日本酒スタータセットなどのセット商品でもそれに含まれる酒類商品(銘柄)毎の番号を表示する場合を例示しているが、これに限られず、セット商品の番号を表示するようにしてもよい。なお、セット商品に含まれる酒類商品(銘柄)の数は図示したものに限られない。図9に示すように酒類商品リストの表示欄の側部にスクロールバーSCBを表示して酒類商品リストの表示をスクロールできるようにしてもよい。
図9に示すように嗜好値の入力欄SC211は、プルダウンメニューなどによって入力するようになっている。プルダウンメニューによらずに、ユーザが嗜好値の数字を直接入力できるようにしてもよく、ラジオボタンなどで入力できるようにしてもよい。図9の酒類評価画面SC11でユーザが評価した酒類商品の嗜好値は未評価の場合も含め、その酒類商品の番号や酒類商品名などと共に嗜好値データ162として端末装置20から酒類情報処理装置10へ送信される。酒類情報処理装置10は、端末装置20から受信した嗜好値データ162を図3に示すような嗜好値データ162Aとしてデータ記憶部16に記憶する。
図9に示す「カートに入れる」ボタンは、ユーザが酒類商品を購入する場合に、不図示のカートページ(買い物かごページ)にリストアップするためのボタンである。例えば日本酒スタータセットなどのセット商品を購入する場合には、セットの「カートに入れる」ボタンをクリックすれば、セット商品に含まれる酒類商品がカートページにリストアップされる。例えば日本酒スタータセットの「カートに入れる」ボタンをクリックすれば、No.1~No.3の日本酒がカートページにリストアップされる。酒類商品毎の「カートに入れる」ボタンをクリックすれば、セット商品に含まれる酒類商品を個別にカートページにリストアップできる。酒類評価画面SC11には、カートページを表示するための「購入する」ボタンが表示される。カートページでは、ユーザがリストアップした酒類商品をまとめて清算できるようになっている。
なお、本実施形態では、酒類評価画面SC11に「カートに入れる」ボタンを設ける場合を例示したが、これに限られず、酒類評価画面SC11の評価ページとは別のページ(例えば購入酒類商品ページなど)の表示画面に過去に購入した酒類商品のリストと「カートに入れる」ボタン、「購入する」ボタンを表示するようにしてもよい。
図9の酒類評価画面SC11では、ユーザが嗜好値の数字(図中では1~5の5段階)をプルダウンメニューなどによって入力するようになっている。図9に示すように、まだ嗜好値を入力していない酒類商品の嗜好値の入力欄SC211には「未評価」の文字を表示するようにしてもよい。酒類評価画面SC11には「AIの推薦」ボタンが表示される。「AIの推薦」ボタンは、酒類情報処理装置10によって選出された酒類商品のリストを表示部25に表示するためのボタンである。「AIの推薦」ボタンをクリックすると、図10の酒類推薦画面SC12が表示される。
図10の酒類推薦画面SC12は、酒類情報処理装置10によって選出された酒類商品のリストを表示するAI推薦ページの表示画面である。酒類推薦画面SC12には、「AIの推薦」であることを示す文字列(例えば「あなたにぴったりのお酒 AIからの推薦です」)、選出された酒類商品の番号(「No.」の欄)、商品名又は銘柄名(「酒類商品」の欄)、嗜好値の予測結果表示欄SC121(お好み予測(嗜好値1~5))、「カートに入れる」ボタンなどが酒類商品毎に表示される。図10に表示される酒類商品は、ユーザP1の学習済みモデル184を用いて選出されたものである。学習済みモデル184は、図2に示す制御部12のデータ取得部121、学習データ生成部125、学習済みモデル生成部126によって生成される。
次に、第1実施形態に係る酒類情報処理装置10が行う学習済みモデル生成処理について図11を参照しながら説明する。図11は、第1実施形態の学習済みモデル生成処理の具体例を示すフローチャートである。第1実施形態の学習済みモデル生成処理は、制御部12(データ取得部121、学習データ生成部125、学習済みモデル生成部126など)によってプログラム記憶部15から必要なプログラムが読み出されて実行される。ユーザP1~Pnそれぞれの学習済みモデル184を生成する学習済みモデル生成処理が実行される。
図11の学習済みモデル生成処理は、嗜好値が入力されると所定のタイミング(例えば次回ログイン又は発注したタイミング)で実行される。未入力だった嗜好値が入力されると所定のタイミング(例えば次回ログイン又は発注したタイミング)で学習済みモデル生成処理を実行し再学習するようにしてもよい。以下、ユーザP1の学習済みモデル184を生成する学習済みモデル生成処理を例に挙げて説明する。
先ず制御部12は、ステップS110にて特定ユーザの学習用の嗜好値データを取得し、ステップS120にて学習用の成分データをデータ記憶部16から取得する。具体的にはデータ取得部121が、図3のユーザP1の嗜好値データ162Aから、嗜好値が入力済みの酒類商品について、その酒類商品リストを学習用の酒類商品リストとして取得し、嗜好値(No.1の嗜好値4、No.2の嗜好値2など)を学習用の嗜好値データとして取得する。またデータ取得部121は、図4の学習用の成分データ174A1の酒類商品リストから、ステップS110で取得した嗜好値が入力済みの酒類商品についての成分データを学習用の成分データとして取得する。これにより、図9のように嗜好値が未評価の酒類商品があっても、それを学習データ182Aに含まれないようにできるから、嗜好値の入力がある酒類商品のだけで学習済みモデル184Aを生成できる。
次にステップS130にて制御部12は、学習データ182を生成する。具体的には学習データ生成部125が、データ取得部121によって取得された学習用の酒類商品リストと学習用の成分データと学習用の嗜好値データから図6の学習データ182Aを生成する。これにより、嗜好値が入力済みの酒類商品で学習データ182Aを生成できる。例えば図3ではNo.3の酒類商品については嗜好値が未評価なので、No.3の酒類商品を含めずに、嗜好値の入力があるNo.1、No.2などの酒類商品だけで図6の学習データ182Aが生成される。なお、学習済みモデル184Aを生成するためのデータ量を増やすため、酒類評価画面SC11に嗜好値の入力を促す表示をしてもよい。
次いで制御部12は、ステップS140にて学習済みモデル184を生成する。具体的には学習済みモデル生成部126が、ステップS130で生成したユーザP1の学習データ182Aによる機械学習によってユーザP1の学習済みモデル184Aを生成する。こうして、図5に示すように酒類商品の成分データを入力することで特定ユーザの嗜好値を出力するように学習された学習済みモデル184Aが生成される。ステップS150にて制御部12は、生成された学習済みモデル184Aをデータ記憶部16に記憶する。本実施形態では、一人のユーザに一つの学習済みモデル184Aを生成する場合を例示するが、これに限られず、一人のユーザに複数の学習済みモデル184Aを生成するようにしてもよい。例えば酒類商品の種類毎に複数の学習済みモデル184Aを生成してもよい。
次に、こうして生成された学習済みモデル184Aを用いて予測用の酒類商品リスト172から特定ユーザの好みの酒類商品を選出する酒類商品選出処理について説明する。図12は、第1実施形態に係る酒類情報処理装置10が行う酒類商品選出処理の具体例を示すフローチャートである。第1実施形態の酒類商品選出処理は、制御部12(データ取得部121、嗜好値算出部122、酒類商品選出部123、出力部124など)によってプログラム記憶部15から必要なプログラムが読み出されて実行される。ユーザP1~Pnからの指示(例えば図9の「AI推薦」ボタンのクリック)に応じて別々に酒類商品選出処理が実行される。以下、ユーザP1が図9の「AI推薦」ボタンをクリックして酒類商品選出処理が実行された場合を例に挙げて説明する。
先ず図12に示すステップS210にて制御部12は、ユーザP1の学習済みモデル184を取得する。具体的にはデータ取得部121が、図5の学習済みモデル184Aを記憶部14から取得する。次にステップS220にて制御部12は、ユーザP1の予測用の成分データ174を取得する。具体的にはデータ取得部121が、図7の予測用の酒類商品リスト172A2にある予測用の成分データ174A2をデータ記憶部16から取得する。
次にステップS230にて制御部12は、ユーザP1の学習済みモデル184からそのユーザP1の嗜好値を算出する。具体的には嗜好値算出部122が、例えば図5の学習済みモデル184Aの入力層にステップS220で取得した予測用の成分データ174A2を入力することで、学習済みモデル184Aの出力層からユーザP1の嗜好値が出力される。こうして、予測用の酒類商品リスト172A2の一つの酒類商品に対して一つの嗜好値の予測結果を取得できる。嗜好値の予測結果は、図8の予測用の酒類商品リスト172A2に関連付けられ、予測結果データ164Aの嗜好値の予測結果の欄に入力されてデータ記憶部16に記憶される。
次にステップS240にて制御部12は、すべての予測用の酒類商品について嗜好値を算出したかを判断する。具体的には嗜好値算出部122が、例えば図7の予測用の酒類商品リスト172A2にあるすべての酒類商品について嗜好値を算出したかを判断する。嗜好値算出部122は、ステップS240にてすべての酒類商品について嗜好値を算出していないと判断すると、ステップS230にて図7の予測用の酒類商品リスト172A2の次の酒類商品について嗜好値を算出する。そして、嗜好値算出部122は、ステップS240にてすべての酒類商品について嗜好値を算出したと判断すると、制御部12はステップS250の処理に移る。
ステップS250にて制御部12は、嗜好値が所定値以上の酒類商品を選出する。酒類を選出するための嗜好値の所定値は数段階評価のうち最も高い数字に設定してもよく、次の数字に設定してもよい。例えば嗜好値が5段階評価の場合には、嗜好値5以上としてもよく、嗜好値4以上としてもよい。この所定値は、設定で自由に変えられる。本実施形態では酒類商品選出部123が、図8の予測用の酒類商品リスト172A2から嗜好値4以上の酒類商品(No.AIN2、No.AIW1など)を選出する。
次いでステップS260にて制御部12は、選出された酒類商品を端末装置20に表示させる。具体的には出力部124が、表示データを生成して端末装置20に送信することで、選出された酒類商品のリストを端末装置20に表示させる。例えば出力部124は、選出された酒類商品が嗜好値の高い順に上位に表示されるように表示データを生成する。ステップS260の処理は、例えば図9の酒類評価画面SC11の「AIの推薦」ボタンが押され、端末装置20から酒類商品を表示するリクエストを受信することで出力部124が実行する。これにより、第1実施形態では、図10の酒類推薦画面SC12のように嗜好値4以上の酒類商品(No.AIN2、No.AIW1など)が端末装置20の表示部25に表示される。なお、図10は、図8では省略されている酒類商品(No.AIN5、No.AIW3など)も表示されている。
以上のような第1実施形態に係る酒類情報処理装置10によれば、特定ユーザが購入した酒類商品を飲んでみて実際に感じた嗜好による嗜好値を入力でき、その嗜好値を酒類商品の成分データに関連付ける学習済みモデル184を生成できる。その学習済みモデル184に予測用の酒類商品の成分データを入力することで得られた特定ユーザの嗜好値に基づいて特定ユーザの好みの酒類商品を選出できる。このように、ユーザが酒類を飲んでみて実際に感じた嗜好を酒類商品の成分に関連付けることで、主観的な他人の味覚からではなく、化学的に分析された客観的な酒類商品の成分データに基づいてその特定ユーザの好みの酒類を推薦できる。さらに、単なる酒類ではなく、商品として販売されている酒類商品に関連付けて嗜好値を入力できるので、特定ユーザがその酒類商品を購入して実際に飲んでみて感じた嗜好を嗜好値として入力できる。しかも、主観的な質問からではなく、特定ユーザが実際に飲んでみて感じた嗜好を嗜好値として入力できるので、その特定ユーザが真に好む酒類商品を推薦できる。
<第2実施形態>
本発明の第2実施形態について説明する。以下に例示する各形態において実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。第1実施形態では、特定ユーザの嗜好値データ162に酒類商品の成分データ174を関連付ける場合を例示したが、第2実施形態では、特定ユーザの嗜好値データ162に成分データ174だけでなく体調データ163も関連付ける場合を例示する。
人の味覚や臭覚などは、体調によって左右することが知られている。このためワインや日本酒など酒類についても飲んだときの体調(例えば体温)によって、味覚(甘味、酸味、旨味など)や臭覚(香り)などの嗜好値も変わってしまう恐れがある。例えば普段では美味しく感じるお酒でも体調によって美味しくないと感じる場合である。これでは、せっかく特定ユーザの学習済みモデル184で予測した嗜好値でもその特定ユーザの体調によって感覚のずれが生じてしまう。
そこで、第2実施形態では、特定ユーザの嗜好値における体調による感覚のずれを体調データで補正する。具体的には、酒類商品の成分データと特定ユーザの体調データを入力することで特定ユーザの嗜好値を出力するように学習した学習済みモデル184を用いる。これにより、成分データだけでは補正しきれない特定ユーザの嗜好値における体調による感覚のずれを、体調データで補正できる。
図13は、第2実施形態の酒類情報処理システムの構成を示す図であり、図1に対応する。図13の酒類情報処理システム100において、図1と異なるのは、体調検知器30を備える点である。体調検知器30は、ユーザの体調(例えば体温)を検知して体調データ(例えば体温データ)を端末装置20に送信する。体調検知器30は、端末装置20と無線又は有線による通信が可能である。体調検知器30の詳細は後述する。
図14は、第2実施形態の酒類情報処理システム100の具体的構成例を示すブロック図であり、図2に対応する。図14の酒類情報処理システム100が図2と異なるのは、データ記憶部16にユーザデータ160として嗜好値データだけでなく、体調データ163も記憶される点と、ユーザの体調を検知する体調検知器30が端末装置20と無線又は有線で通信可能に接続されている点である。体調検知器30で検知された体調データ163は、端末装置20を介して酒類情報処理装置10に送信される。
第2実施形態の体調検知器30は、体調データの例示としての体温データを検知する検温器や体温計などの体温検知器である。体温検知器は接触式でも非接触式でもよい。体温検知器は、検知した体温データを送信可能である。体調データ163としては、上記体温データ以外の生体データ(バイオデータ)、例えば脈拍データや血中酸素濃度データなどあってもよい。また体調データ163は、上記生体データの他、睡眠時間、就寝時間、起床時間などの睡眠データであってもよい。なお、体調データ163は、測定可能であってユーザの味覚などの嗜好に影響する体調の変化が分かるようなデータであれば、生体データや睡眠データなどに限られない。
体調検知器30は、例えば酒類商品を販売する飲食店や酒店などの実店舗の入口などに設置され、店内や客席の端末装置20の通信部21にブルートゥース(登録商標)などの通信規格に基づく無線通信ネットワークで接続される。体調検知器30は実店舗に設置されるものに限られない。例えばインターネットで酒類商品を販売する場合には、スマートフォンなどのユーザの端末装置20に接続されるウエアラブルの体調検知器30であってもよい。体調検知器30は、必ずしも端末装置20に外部接続されていなくてもよく、内蔵されていてもよい。また、体調検知器30は、端末装置20ではなく、酒類情報処理装置10に無線又は有線で通信可能に接続されていてもよい。
図15は、第2実施形態の嗜好値データと体調データの具体例を示す図であり、図3に対応する。図15のデータが図3と異なるのは、各酒類商品に、嗜好値だけでなく、体調データ163Bも関連付けられている点と、日本酒スタータセットの他にワインスタータセット(赤)が含まれる点である。図15の酒類商品には、日本酒とワインだけでなく、ビール、焼酎など別の種類の酒類商品を含んでもよい。図15の体調データ163Bとしては、体温データを例示する。嗜好値データ162Bと体調データ163Bは、ユーザP1~Pn毎に記憶される。
図15の体調データ163Bは、体温データであり、ユーザが酒類商品を飲んだときの体温が酒類商品毎に関連付けられている。体調データ163Bは、体調検知器30で検出された体温であってもよく、後述する図21の評価ページの酒類評価画面SC21でユーザが入力した体温であってもよい。
図15の酒類商品は、ユーザP1~Pnそれぞれが購入したものであり、セット商品(日本酒スタータセット、ワインスタータセット(赤))を例示している。セット商品としてはこれに限られず、ワインスタータセット(白)、ワインスタータセット(ロゼ)、焼酎スタータセットなど各種の酒類でセット商品を構成できる。各セット商品には、複数の銘柄の酒類商品が含まれる。図15では、各セット商品に3つずつの銘柄が表示されているがこれに限られない。2つ以上の銘柄をセット商品とすればよく、4つ以上の銘柄をセット商品としてもよい。セット商品とすることで、より多くの銘柄を少量ずつ試してもらうことができる。これにより、銘柄の異なる多くの酒類商品の嗜好値データを取得できる。図15の酒類商品においても酒類商品は、セット商品に限られず、単品の銘柄であってもよい。
図16は、第2実施形態の学習用の酒類商品リスト172B1と学習用の成分データ174B1の具体例を示す図であり、図8に対応する。図16のデータが図8と異なるのは、日本酒スタータセットの他にワインスタータセット(赤)が含まれる点である。これによれば、日本酒とワインの学習データ182を生成できる。学習用の成分データ174B1の数は、日本酒とワインとで同じ数に合わせてある。したがって、日本酒とワインとで別々の学習データ182を生成できるだけでなく、日本酒とワインを組み合わせた学習データ182も生成できる。これによれば、日本酒とワインのように異種の酒類商品を組み合わせて学習させた1つの学習済みモデル184Bも生成できる。
図17は、第2実施形態の学習済みモデル184Bの構成例を示す図であり、図5に対応する。図17の学習済みモデル184Bが図5と異なるのは、酒類商品の成分データ174とユーザの体調データ163を入力することで特定ユーザの嗜好値を出力するように学習されている点である。図17の学習済みモデル184Bも、図5と同様にユーザ毎に生成される。
図17には、機械学習によって学習されたニューラルネットワークで構成される学習済みモデル184Bを例示する。学習済みモデル184Bは、入力層、中間層、出力層を備える。それぞれの層は、複数のノードで構成される。例えば学習用の複数の酒類商品と予測用の複数の酒類商品で検出された成分のすべての成分数と体調データ163(ここでは体温データ)を入力層のノード数とする。出力層のノード数は1である。各層に含まれるノードの数や中間層の層数は図示したものに限られない。学習済みモデル184Bは、CNNで構築してもよく、RNNで構成してもよい。
図17は、異種の酒類商品(例えば日本酒の銘柄とワインの銘柄)を組み合わせて学習させた1つの学習済みモデル184Bを例示する。学習済みモデル184Bは、異種の酒類商品(例えば日本酒の銘柄とワインの銘柄)を別々に学習させた日本酒の学習済みモデル184Bとワインの学習済みモデル184Bであってもよい。
学習済みモデル184Bは、例えば深層学習アルゴリズムを用いて教師あり学習で構築したディープラーニングモデルである。具体的には学習済みモデル184Bは、酒類商品の成分データとユーザの体調データとユーザの嗜好値(正解ラベル)を1セットとした学習データ182(教師データ)を用いて学習する。学習済みモデル184Bは、学習データ182に含まれる成分データを入力層に入力した場合に、ユーザの嗜好値に対応する出力層の出力が学習データ182Bに含まれる嗜好値(正解ラベル)に近づくような学習処理を行う。学習処理において学習済みモデル184Bは、入力に対して行う所定の演算を規定する関数の係数(重み付け係数)等のパラメータデータを最適化する。
図18は、第2実施形態の学習データ182Bの具体例を示す図であり、図6に対応する。図18は、ユーザP1の学習済みモデル184Bを生成するためのユーザP1の学習データ182Bである。図18の学習データ182Bにおいて図6と異なるのは、酒類商品毎に関連付けられる学習用の体調データ163B1を含む点である。図18では、学習用の体調データ163B1として体温データを例示する。図15の体調データ163Bに入力済みのものを学習用の体調データ163B1とする。
図19は、第2実施形態の予測用の酒類商品リスト172B2と予測用の成分データ174B2と予測用の体調データ163B2の具体例を示す図であり、図7に対応する。図19のデータが図7と異なるのは、予測用の体調データ163B2を含む点である。図19では、予測用の体調データ163B2として体温データを例示する。
図7のワインの銘柄は赤ワインだけだったのに対して、図19のワインの銘柄は赤ワインと白ワインである点である。これによれば、赤ワインの成分データ174と体調データ163で学習させた学習済みモデル184を用いて赤ワインの嗜好値だけでなく、白ワインの嗜好値も予測できる。赤ワインの成分データ174と体調データ163で学習させた学習済みモデル184を用いてロゼワインの嗜好値を予測してもよい。これにより、例えば赤ワインが好きなユーザに白ワインやロゼワインを推薦することもできる。体調によっては、赤ワインよりも白ワインやロゼワインの方が美味しく感じることもある。特に味覚などの嗜好値は、ユーザの体調(体温や睡眠時間など)で変化する可能性が高い。ところが、従来はこの体調による感覚のずれまで補正できるものはなかった。したがって、ユーザの嗜好値における体調による感覚のずれを補正しながら酒類商品を選出できることは、従来にはない画期的な効果である。
図20は、第2実施形態の予測結果データ164Bの具体例を示す図であり、図8に対応する。図20は、ユーザP1の予測結果データ164Bである。図20の予測結果データ164Bにおいて図8と異なるのは、予測用の体調データ163B2を含む点である。図20の嗜好値の予測結果は、図8とは異なっている。このように、成分データ174だけでは補正しきれない特定ユーザの嗜好値における体調による感覚のずれを体調データ163で補正できる。
ここで、第2実施形態の端末装置20の表示部25に表示される表示画面の構成例を図21乃至図24に示す。図21は、第2実施形態の酒類評価画面SC21の構成例を示す図であり、図9に対応する。図21の酒類評価画面SC21が図9と異なるのは、酒類商品毎に体調データ163を入力するための体調データ入力欄SC212を含む点である。体調データ入力欄SC212には、体調検知器30で検知された体温が表示される。例えば実店舗に設置した体調検知器30で検知した体温又は体調検知器30としてのスマートフォンの検温機能やウエアラブル装置で測定した体温が表示される。体調データ入力欄SC212の体温はプルダウンメニューなどによりユーザが入力することもできる。例えばユーザが端末装置20としてのスマートフォンで酒類評価画面SC21を表示して体調データ入力欄SC212に体温を入力する。
図22は、第2実施形態の実店舗用の体調データ入力画面SC22Aの構成例を示す図である。実店舗用の体調データ入力画面SC22Aは、例えば飲食店や酒店などの実店舗で利用する場合に表示される画面である。実店舗用の体調データ入力画面SC22Aには、例えば飲食店や酒店の実店舗に設置された体調検知器30(例えば検温器や体温計などの体温検知器)で測定した体温が体調データ入力欄SC222に表示される。体調データ入力欄SC222に表示される体温は、プルダウンメニューなどによりユーザが入力することもできる。例えば飲食店の各テーブルに設置されている端末装置20(例えばタブレット端末装置など)を用いて、ユーザが酒類評価画面SC21を表示して体調データ入力欄SC212に体温を入力するようにしてもよい。ユーザの端末装置20(例えばタブレット端末装置やスマートフォンなど)に酒類評価画面SC21を表示して体調データ入力欄SC212に体温を入力するようにしてもよい。
図23は、第2実施形態のオンラインショップ用の体調データ入力画面SC22Bの構成例を示す図である。オンラインショップ用の体調データ入力画面SC22Bは、例えばオンラインショップ(ネットショップ)で利用する場合に表示される画面である。オンラインショップ用の体調データ入力画面SC22Bには、例えばユーザが体調検知器30としてのスマートフォンの検温機能やウエアラブル装置で測定した体温が体調データ入力欄SC222に表示される。体調データ入力欄SC222に表示される体温は、プルダウンメニューなどによりユーザが入力することもできる。例えばユーザが端末装置20(スマートフォンやパーソナルコンピュータなど)に酒類評価画面SC21を表示して体調データ入力欄SC222に体温を入力するようにしてもよい。
図24は、第2実施形態の酒類推薦画面SC23の構成例を示す図であり、図10に対応する。図24の酒類推薦画面SC23が図10と異なるのは、嗜好値の予測結果表示欄SC231(お好み予測(嗜好値1~5))のみならず、酒類商品毎の「おすすめの想定体温」を表示する体調データ表示欄SC232を含む点である。体調データ表示欄SC232に表示される「おすすめの想定体温」は、実店舗用の体調データ入力画面SC22A又はオンラインショップ用の体調データ入力画面SC22Bで入力された体温である。
図21は、例えば平熱の体温が36度6分のユーザP1の例示であり、学習用の日本酒スタータセットの酒類商品(No.1、No.2)と学習用のワインスタータセット(赤)の酒類商品(No.4~No.6)を飲んだときの体温36度の方が平熱よりも低かった場合である。この場合には、ワインスタータセット(赤)の酒類商品(No.4~No.6)とと学習用のワインスタータセット(赤)の酒類商品(No.4~No.6)を飲んだときに感じる味覚の嗜好が平熱の36度6分のときとは変わっている可能性がある。
これは味覚の感度が温度によって変わるからである。例えば人によっては甘味は35度くらいで最も甘く感じ、冷やしたり、温めたりすると甘味を感じにくくなる。味を認識する刺激には強さがあり、閾値(いきち)と呼ばれる。その刺激の強さは、温度によって変わる。温かいコーヒーに砂糖を入れたとき、冷めると甘すぎると感じることがある。それは35度に近くなるからである。このことからも分かるように、その人の固有の閾値によってその前後の温度では閾値のときとは異なる味を感じやすい。そうすると、同じワインでも、閾値と異なる体温で飲んだワインは違う味に感じる可能性が高い。第2実施形態では、学習用の酒類商品を飲んだときの体温が閾値のときとは異なり、味覚などの嗜好が変わってしまっている場合でも、図24の酒類推薦画面SC23に示すように体温36度6分でも美味しく飲める日本酒やワインなどの酒類商品を推薦できる。
次に、第2実施形態に係る酒類情報処理装置10が行う学習済みモデル生成処理について図25を参照しながら説明する。図25は、第1実施形態の学習済みモデル生成処理の具体例を示すフローチャートであり、図11に対応する。第2実施形態の学習済みモデル生成処理は、制御部12(データ取得部121、学習データ生成部125、学習済みモデル生成部126など)によってプログラム記憶部15から必要なプログラムが読み出されて実行される。図25のステップS310及びステップS320は図11のステップS110及びステップS120に対応する。図25のステップS330~ステップS350は図11のステップS130及びステップS150に対応する。
図25の学習済みモデル生成処理は、嗜好値と体調データが入力されると所定のタイミングで実行される。未入力だった嗜好値と体調データが入力されると所定のタイミングで学習済みモデル生成処理を実行し再学習するようにしてもよい。以下、ユーザP1の学習済みモデル184を生成する学習済みモデル生成処理を例に挙げて説明する。
先ず制御部12は、ステップS310にて特定ユーザの学習用の嗜好値データを取得し、ステップS320にて学習用の成分データをデータ記憶部16から取得する。具体的にはデータ取得部121が、図15のユーザP1の嗜好値データ162Bから、嗜好値と体調データが入力済みの酒類商品について、その酒類商品リストを学習用の酒類商品リストとして取得し、の嗜好値(No.1の嗜好値4、No.2の嗜好値2など)を学習用の嗜好値データとして取得する。またデータ取得部121は、図16の学習用の成分データ174B1から、ステップS310で取得した嗜好値と体調データが入力済みの酒類商品についての成分データを学習用の成分データとして取得する。これにより、図15のように嗜好値が未評価又は体調データが未入力の酒類商品があっても、それを学習データ182Bに含まれないようにできるから、嗜好値と体調データの入力がある酒類商品のだけで学習済みモデル184Bを生成できる。
次にステップS322にて制御部12は、学習用の体調データ163を取得する。具体的にはデータ取得部121が、図15のユーザP1の体調データ163B1から、嗜好値と体調データが入力済みの酒類商品(No.1、No.2、No.4~No.6など)の体調データを取得する。
次にステップS330にて制御部12は、学習データ182を生成する。具体的には学習データ生成部125が、データ取得部121によって取得された学習用の酒類商品リストと学習用の成分データと学習用の嗜好値データと学習用の体調データから図18の学習データ182Bを生成する。これにより、嗜好値と体調データが入力済みの酒類商品で学習データ182Bを生成できる。例えば図15ではNo.3の酒類商品については嗜好値が未評価で体調データが未入力なので、No.3の酒類商品を含めずに、No.1、No.2などの酒類商品だけで図18の学習データ182Bが生成される。なお、学習済みモデル184Bを生成するためのデータ量を増やすため、酒類評価画面SC21に嗜好値や体調データの入力を促す表示をしてもよい。
次いで制御部12は、ステップS340にて学習済みモデル184を生成する。具体的には学習済みモデル生成部126が、ステップS330で生成したユーザP1の学習データ182Bによる機械学習によってユーザP1の学習済みモデル184Bを生成する。こうして、図17に示すように酒類商品の成分データと体調データを入力することでユーザP1の嗜好値を出力するように学習された学習済みモデル184Bが生成される。ステップS350にて制御部12は、生成された学習済みモデル184Bをデータ記憶部16に記憶する。本実施形態では、一人のユーザに一つの学習済みモデル184Bを生成する場合を例示するが、これに限られず、一人のユーザに複数の学習済みモデル184Bを生成するようにしてもよい。例えば酒類商品の種類毎に複数の学習済みモデル184Bを生成してもよい。
次に、こうして生成された学習済みモデル184Bを用いて予測用の酒類商品リスト172からユーザの好みの酒類商品を選出する酒類商品選出処理について説明する。図26は、第2実施形態に係る酒類情報処理装置10が行う酒類商品選出処理の具体例を示すフローチャートであり、図12に対応する。第2実施形態の酒類商品選出処理は、制御部12(データ取得部121、嗜好値算出部122、酒類商品選出部123、出力部124など)によってプログラム記憶部15から必要なプログラムが読み出されて実行される。
図26のステップS410及びステップS420は図12のステップS210及びステップS220に対応する。図26のステップS430~ステップS460は図12のステップS230及びステップS260に対応する。ユーザP1~Pnからの指示(例えば図21の「AI推薦」ボタンのクリック)に応じて別々に酒類商品選出処理が実行される。以下、ユーザP1が図21の「AI推薦」ボタンをクリックして酒類商品選出処理が実行された場合を例に挙げて説明する。
先ず図26に示すステップS410にて制御部12は、ユーザP1の学習済みモデル184を取得する。具体的にはデータ取得部121が、図17の学習済みモデル184Bを記憶部14から取得する。次にステップS420にて制御部12は、ユーザP1の予測用の成分データ174を取得する。具体的にはデータ取得部121が、図19の予測用の酒類商品リスト172A2にある予測用の成分データ174A2をデータ記憶部16から取得する。
次にステップS422にて制御部12のデータ取得部121は、実店舗での利用かオンラインショップでの利用かを判断する。例えば個人ページを見るときにユーザP1がIDとパスワードを入力してログインする際に実店舗での利用かオンラインショップでの利用か選択させる。データ取得部121は、このログイン時の選択結果から実店舗での利用かオンラインショップでの利用かを判断する。データ取得部121が実店舗での利用であると判断した場合は、制御部12は図22のような実店舗用の体調データ入力画面SC22Aを端末装置20に表示させる。他方、データ取得部121がオンラインショップでの利用であると判断した場合は、制御部12は図23のようなオンラインショップ用の体調データ入力画面SC22Bを端末装置20に表示させる。
ステップS422にて制御部12のデータ取得部121が実店舗での利用であると判断した場合は、ステップS424にてデータ取得部121は図22のような実店舗用の体調データ入力画面SC22Aに基づき体調データを取得する。具体的にはデータ取得部121が実店舗用の体調データ入力画面SC22Aに表示される体調検知器30で検知された体温又は入力された体温を端末装置20から受信し、予測用の体調データ163B2として取得する。
他方、ステップS422にて制御部12のデータ取得部121がオンラインショップでの利用であると判断した場合は、ステップS426にてデータ取得部121は図23のようなオンラインショップ用の体調データ入力画面SC22Bに基づき体調データを取得する。具体的にはデータ取得部121がオンラインショップ用の体調データ入力画面SC22Bに表示される体調検知器30で検知された体温又は入力された体温を端末装置20から受信し、予測用の体調データ163B2として取得する。
次にステップS430にて制御部12は、ユーザP1の学習済みモデル184からそのユーザP1の嗜好値を算出する。具体的には嗜好値算出部122が、例えば図17の学習済みモデル184Bの入力層にステップS420で取得した予測用の成分データ174B2とステップS424又はステップS426で取得した予測用の体調データ163B2を入力することで、学習済みモデル184Bの出力層からユーザP1の嗜好値が出力される。こうして、予測用の酒類商品リスト172B2の一つの酒類商品に対して一つの嗜好値の予測結果を取得できる。嗜好値の予測結果は、図20の予測用の酒類商品リスト172B2に関連付けられ、予測結果データ164Bの嗜好値の予測結果の欄に入力されてデータ記憶部16に記憶される。
次にステップS440にて制御部12は、すべての予測用の酒類商品について嗜好値を算出したかを判断する。具体的には嗜好値算出部122が、例えば図7の予測用の酒類商品リスト172A2にあるすべての酒類商品について嗜好値を算出したかを判断する。嗜好値算出部122は、ステップS240にてすべての酒類商品について嗜好値を算出していないと判断すると、ステップS230にて図19の予測用の酒類商品リスト172B2の次の酒類商品について嗜好値を算出する。そして、嗜好値算出部122は、ステップS440にてすべての酒類商品について嗜好値を算出したと判断すると、制御部12はステップS450の処理に移る。
ステップS450にて制御部12は、嗜好値が所定値以上の酒類商品を選出する。酒類を選出するための嗜好値の所定値は数段階評価のうち最も高い数字に設定してもよく、次の数字に設定してもよい。例えば嗜好値が5段階評価の場合には、嗜好値5以上としてもよく、嗜好値4以上としてもよい。この所定値は、設定で自由に変えられる。本実施形態では酒類商品選出部123が、図20の予測用の酒類商品リスト172B2から嗜好値4以上の酒類商品(No.AIN2、No.AIW2など)を選出する。
次いでステップS460にて制御部12は、選出された酒類商品を端末装置20に表示させる。具体的には出力部124が、表示データを生成して端末装置20に送信することで、選出された酒類商品のリストを端末装置20に表示させる。例えば出力部124は、選出された酒類商品が嗜好値の高い順に上位に表示されるように表示データを生成する。ステップS460の処理は、例えば図21の酒類評価画面SC21の「AIの推薦」ボタンが押され、端末装置20から酒類商品を表示するリクエストを受信することで出力部124が実行する。これにより、第2実施形態では、図24の酒類推薦画面SC23のように嗜好値4以上の酒類商品(No.AIN2、No.AIW2など)が端末装置20の表示部25に表示される。図24の酒類推薦画面SC23に表示される酒類商品は、特定ユーザの体温が36.6度のときに美味しく飲めるお酒として推薦される。なお、図24は、図19では省略されている酒類商品(No.AIN4、No.AIN6など)も表示されている。
以上のような第2実施形態に係る酒類情報処理装置10によれば、学習済みモデル184に成分データ174だけでなく体調データ163も入力することで特定ユーザの嗜好値を出力するので、成分データ174だけでは補正しきれない特定ユーザの嗜好値における体調による感覚のずれを、体調データで補正できる。これにより、特定ユーザの嗜好値の予測精度を高めることができるので、特定ユーザの好みの酒類商品の選出精度を高めることができる。体調データ163として用いる体温データは、測定しやすく、体調にも直結するので、特定ユーザの嗜好値における体調による感覚のずれの補正精度を高めることができる。
<第3実施形態>
本発明の第3実施形態について説明する。第3実施形態の学習済みモデル184は、酸味、甘味、旨味などの味覚毎に学習された複数の味覚学習済みモデルと香りなどの臭覚学習済みモデルとこれらの味覚や香りなどの嗜好を総合する総合学習済みモデルを含む場合を例示する。酒類商品の成分は、酸味、甘味、旨味などの味覚、香りなどの臭覚、色味などの視覚のような嗜好に関連する成分(嗜好成分)ごとに対応する複数の成分で構成される。
本明細書では、酒類を構成する複数の成分のうち、味覚に関する成分を味覚成分、臭覚に関する成分を臭覚成分、色味に関する成分を視覚成分という。これら味覚成分、臭覚成分、視覚成分は酒類の嗜好に影響するので、これらを嗜好成分という。嗜好成分には、味覚成分、臭覚成分、視覚成分などが含まれる。味覚成分には、酸味成分、甘味成分、旨味成分などが含まれる。このように酒類商品の成分を嗜好成分毎に分けて学習させることによって、嗜好値の学習精度を高めることができる。
酸味、甘味、旨味などの味覚、香りなどの臭覚などはそれぞれ、ユーザの体温などの体調によって感覚が変わるため、酸味成分、甘味成分、旨味成分などを体調データ163と共に学習することで補正することでその感覚のずれを補正できる。ユーザの体調の影響は嗜好成分毎に異なるため、酸味成分、甘味成分、旨味成分などのそれぞれに体調データ163を加えて別々に学習することで、感覚のずれを補正する効果を高めることができる。そこで、第3実施形態では、酸味成分、甘味成分、旨味成分、香り成分などのそれぞれに体調データ163を加えた学習データで学習させた学習済みモデル184について説明する。
第3実施形態では、図14の酒類情報処理装置10に適用した場合を例示する。図27は、第3実施形態の嗜好値データと体調データの具体例を示す図であり、図15に対応する。図27のユーザの嗜好値データ162Cが図15と異なるのは、嗜好値が酸味、甘味、旨味などの味覚毎の嗜好値に分けられていることである。嗜好値データ162Cの嗜好値には、香りなどの臭覚の嗜好値や、味覚(酸味、甘味、旨味など)と臭覚を総合した総合嗜好値も含まれる。総合嗜好値は、酒類商品を飲んで全体としての好みがどの程度かを数値で表したものであり、図3及び図15の嗜好値に相当する。なお、図27の体調データ163は図15と同様のため、その詳細な説明は省略する。
味覚の嗜好値のうち、酒類商品の酸味の好みがどの程度かを数値化したのが酸味の嗜好値であり、酒類商品の甘味の好みがどの程度かを数値化したのが甘味の嗜好値であり、酒類商品の旨味の好みがどの程度かを数値化したのが旨味の嗜好値である。臭覚の嗜好値のうち酒類商品の香りの好みがどの程度かを数値化したのが香りの嗜好値である。その他、図示はしないが、視覚の嗜好値のうち色味の好みがどの程度かを数値化したのが色味の嗜好値となる。また味覚の嗜好値としては、図示したものに限られず、渋みの嗜好値やアルコール度の嗜好値などを含めてもよい。これら色味、渋み、アルコール度も対応する成分があるからである。これらに限られず、嗜好値には、酒類商品の成分に対応する他の味覚、視覚、臭覚の嗜好値を含めてもよい。第3実施形態の嗜好値には、酸味の嗜好値、甘味の嗜好値、旨味の嗜好値、香りの嗜好値、総合嗜好値が含まれる場合を例示する。
図28は、第3実施形態の学習用の酒類商品リスト172C1と学習用の成分データ174Cの具体例を示す図であり、図4に対応する。図28の酒類商品の成分データ174Cが図4と異なるのは、酒類商品の成分が酸味成分、甘味成分、旨味成分の味覚成分と香り成分などの臭覚成分のそれぞれを構成する成分に分けられている点である。酒類商品の酸味成分(A1~An)としては、例えばリンゴ酸やクエン酸などが挙げられる。酒類商品の甘味成分(B1~Bn)としては、グルコースやフルクトースなどが挙げられる。酒類商品の旨味成分(C1~Cn)としては、例えばアミノ酸類・コハク酸などが挙げられる。酒類商品の香り成分(D1~Dn)としては、例えばリナロールなどが挙げられる。これらの成分は、ワインと日本酒の両方にある成分やワインだけに特有な成分や日本酒だけに特有な成分がある。これらの成分は酒類商品の種類毎に分けてもよく、酒類商品の種類毎に分けなくてもよい。
図29乃至図32は、第3実施形態の学習済みモデルの構成例を示す図である。第3実施形態の学習済みモデルは、酸味、甘味、旨味などの味覚毎の学習済みモデルと香りなどの臭覚の学習済みモデルを含む。なお、これに限られず、味覚の学習済みモデルとしては、上記の他に渋み、アルコールの強さ(ボディ)、辛さ(辛口度合い)などの学習済みモデルを含めてもよい。その他、色味などの視覚の学習済みモデルを含めてもよい。
図29は、第3実施形態の酸味学習済みモデル184aの構成例を示す図であり、図17に対応する。図30は、第3実施形態の甘味学習済みモデル184bの構成例を示す図である。図31は、第3実施形態の旨味学習済みモデル184cの構成例を示す図である。図32は、第3実施形態の香り学習済みモデル184dの構成例を示す図である。これら酸味学習済みモデル184a、甘味学習済みモデル184b、旨味学習済みモデル184c、香り学習済みモデル184dはそれぞれ、図17と同様に入力層、中間層、出力層を備え、機械学習によって学習されたニューラルネットワークである。それぞれの層は、複数のノードで構成される。例えば酸味の成分数と体調データ(1つ)、甘味の成分数と体調データ(1つ)、旨味の成分数と体調データ(1つ)、香りの成分数と体調データ(1つ)をそれぞれの入力層のノード数とする。各出力層のノード数は1であり、各出力層からは酸味、甘味、旨味、香りそれぞれの嗜好値が出力される。これらの学習済みモデルはそれぞれ、CNNで構築してもよく、RNNで構成してもよい。
図29の酸味学習済みモデル184aは、酒類商品の酸味成分データと体調データを入力することで特定ユーザの酸味嗜好値を出力するように学習されている。図30の甘味学習済みモデル184bは、酒類商品の甘味成分データと体調データを入力することで特定ユーザの甘味嗜好値を出力するように学習されている。図31の旨味学習済みモデル184cは、酒類商品の旨味成分データと体調データを入力することで特定ユーザの旨味嗜好値を出力するように学習されている。図32の香り学習済みモデル184dは、酒類商品の香り成分データと体調データを入力することで特定ユーザの香り嗜好値を出力するように学習されている。
図33乃至図36は、第3実施形態の学習データの具体例を示す図であり、図6に対応する。図33は、第3実施形態に係るユーザP1の酸味学習データ182aの具体例を示す図である。図34は、第3実施形態に係るユーザP1の甘味学習データ182bの具体例を示す図である。図35は、第3実施形態に係るユーザP1の旨味学習データ182cの具体例を示す図である。図36は、第3実施形態に係るユーザP1の香り学習データ182dの具体例を示す図である。第3実施形態の学習データが、図18と異なるのは、酸味、甘味、旨味などの味覚や香りなどの臭覚の成分データとその嗜好値データ毎に別々の学習データを備えることである。各学習データにはそれぞれ図27で入力済の体調データ163(体温)が学習用の体調データとして含まれる。
具体的には、図33の酸味学習データ182aは、酒類商品の酸味の成分データ174CA1と学習用の体調データ163C1と酸味の嗜好値(正解ラベル)を含む。図34の甘味学習データ182bは、酒類商品の甘味の成分データ174CB1と学習用の体調データ163C1と甘味の嗜好値(正解ラベル)を含む。図35の酸味学習データ182aは、酒類商品の旨味の成分データ174CC1と学習用の体調データ163C1と旨味の嗜好値(正解ラベル)を含む。図36の香り学習データ182dは、酒類商品の香りの成分データ174CD1と学習用の体調データ163C1と香りの嗜好値(正解ラベル)を含む。図33乃至図36における学習用の体調データ163C1の体温は、同じ酒類商品では同じ値になる。
図33の酸味学習データ182aで学習することで図29の酸味学習済みモデル184aを生成する。図34の甘味学習データ182bで学習することで図30の甘味学習済みモデル184aを生成する。図35の旨味学習データ182cで学習することで図31の旨味学習済みモデル184cを生成する。図36の香り学習データ182dで学習することで図32の香り学習済みモデル184dを生成する。
酸味の学習済みモデル184a、甘味の学習済みモデル184b、旨味の学習済みモデル184c、香りの学習済みモデル184cはそれぞれ、図17と同様の学習済みモデル生成処理で生成できる。例えば図17の学習済みモデル生成処理において、成分データは酸味、甘味、旨味、香りの成分データにそれぞれ読み替え、嗜好値は酸味嗜好値、甘味嗜好値、旨味嗜好値、香り嗜好値、総合嗜好値にそれぞれ読み替えるなど、必要な読み替えをすることで、図17の学習済みモデル生成処理を適用可能になる。
ここで、ユーザの酒類商品についての酸味、甘味、旨味、香りの嗜好値パターンについて図37及び図38を参照しながら説明する。図37は、甘味の効いたお酒が好きなユーザの嗜好値パターンの具体例を示す図であり、図38は、酸味の効いたお酒が好きなユーザの嗜好値パターンの具体例を示す図である。
図37と図38の白丸は、総合嗜好値が5以上の酒類商品についての酸味、甘味、旨味、香りの嗜好値の平均値である。総合嗜好値が5以上の酒類商品から平均値をとるのは、そのユーザが好む酒類商品の嗜好値パターンを算出するためである。例えば総合嗜好値が低い酒類商品まで含めてしまうと、好みでない酸味、甘味、旨味、香りの嗜好値まで入ってしまうので、好みの嗜好値パターンにならない可能性が高いからである。なお、総合嗜好値が5以上の酒類商品に限らず、4以上の酒類商品についての酸味、甘味、旨味、香りの嗜好値の平均値をとってもよい。これによれば、例えば5以上の酒類商品がなかった場合でも嗜好値パターンを算出できる。特定ユーザの嗜好値から算出した嗜好値パターンPT1(白丸)が第1嗜好値パターンに相当し、その特定ユーザの複数の味覚学習済みモデルから出力される嗜好値から算出した嗜好値パターンPT2(黒丸)が第2嗜好値パターンに相当する。
図37に示す甘味の効いたお酒が好きなユーザの嗜好値パターンは、甘味の嗜好値が他の酸味、旨味、香りの嗜好値に対して大きくなる傾向がある。これに対して図38に示す酸味の効いたお酒が好きなユーザの嗜好値パターンは、酸味の嗜好値が他の甘味、旨味、香りの嗜好値に対して大きくなる傾向がある。ユーザによっては、酸味のある甘味が好きな人もいるので、そのようなユーザの嗜好値パターンは酸味の嗜好値もある程度大きくなる。
このように、ユーザによって嗜好値パターンが異なる。このため、例えば図37及び図38の黒丸のように、ユーザの嗜好値パターンのそれぞれに類似する嗜好値パターンの酒類商品を勧めれば、その酒類商品も好みの可能性が高い。そこで、第3実施形態の酒類商品選出処理では、特定ユーザの嗜好値パターンを算出し、その嗜好値パターンとの類似度が所定値以上の酒類商品を判定し、その判定結果から酒類商品を選出する。
このような第3実施形態の酒類商品選出処理について図12を参照しながら説明する。先ず図12に示すステップS210にて制御部12(データ取得部121)は、特定ユーザの酸味学習済みモデル184a、甘味学習済みモデル184b、旨味学習済みモデル184c、香り学習済みモデル184dを取得する。次にステップS220にて制御部12(データ取得部121)は、ユーザP1の予測用の成分データ174を取得する。具体的にはデータ取得部121が、不図示の酒類商品リストと酒類商品の予測用の成分データ(酸味、甘味、旨味、香り)と体調データをデータ記憶部16から取得する。
次にステップS230にて制御部12は、ユーザP1の酸味学習済みモデル184a、甘味学習済みモデル184b、旨味学習済みモデル184c、香り学習済みモデル184dのそれぞれからユーザP1の酸味、甘味、旨味、香りの嗜好値を算出する。次にステップS240にて制御部12(嗜好値算出部122)は、すべての酒類商品について嗜好値を算出したかを判断する。嗜好値算出部122は、すべての酒類商品について嗜好値を算出していないと判断すると、ステップS230にて次の酒類商品について嗜好値を算出する。そして、嗜好値算出部122は、ステップS240にてすべての酒類商品について嗜好値を算出したと判断すると、制御部12はステップS250の処理に移る。
第3実施形態では、このステップS250の処理が図12と異なる。第3実施形態のステップS250にて制御部12(酒類商品選出部123)は、特定ユーザの嗜好値パターン(例えば図37や図38の白丸の第1嗜好値パターンPT1)に類似する嗜好値パターン(例えば図37や図38の黒丸の第2嗜好値パターンPT2)の酒類商品を選出する。具体的には特定ユーザの第1嗜好値パターンPT1と酒類商品リストの酒類商品の第2嗜好値パターンPT2とを比較する。そして、比較による第1嗜好値パターンPT1と第2嗜好値パターンPT2との類似度が所定以上の前記酒類商品を判定する。例えば比較による第1嗜好値パターンPT1と第2嗜好値パターンPT2の各嗜好値を例えば最小二乗法で算出して得られる最小値又は所定値以下となる第2嗜好値パターンPT2の酒類商品を選出する。
特定ユーザの第1嗜好値パターンPT1は、例えば図27の嗜好値データ162Cから算出する。具体的には、図27の嗜好値データ162Cのうち総合嗜好値が所定以上(例えば総合嗜好値5以上)の酒類商品から酸味、甘味、旨味、香りの各嗜好値の平均値を算出して、特定ユーザの第1嗜好値パターンPT1を算出する。
次いでステップS260にて制御部12は、選出された酒類商品を端末装置20に表示させる。具体的には出力部124が、表示データを生成して端末装置20に送信することで、選出された酒類商品のリストを端末装置20に表示させる。
このような第3実施形態によれば、酒類商品の酸味、甘味、旨味の味覚毎の嗜好値によって特定ユーザの嗜好値パターンが分かる。これにより、特定ユーザの酒類商品の好みがどの味覚に反応しているのかが分かるので、好みの酒類商品の選出精度を高めることができる。また、特定ユーザの複数の味覚の嗜好値から算出した第1嗜好値パターンPT1と、その特定ユーザの複数の味覚学習済みモデルから出力される複数の味覚の嗜好値から算出した第2嗜好値パターンPT2とを比較しその類似度に基づいて酒類商品を選出できる。これにより、特定ユーザの酒類商品の好みに近い酒類商品ほど選出され易くなる。さらに酒類商品の香りの嗜好値も含むので、味覚、臭覚も含めた特定ユーザの嗜好値パターンが分かる。これにより、香りの好みも分かるので、酒類商品の香りを重視するユーザの好みの酒類商品の選出精度を高めることができる。
<変形例>
本発明は、上述した各実施形態に限定されず、例えば以降に説明する各種の応用・変形が可能である。また、これらの変形の態様および上述した各実施形態は、任意に選択された一または複数を適宜組み合わせることも可能である。また当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
(1)上記第3実施形態では、酒類商品の好みを数値化する総合嗜好値が所定以上(例えば総合嗜好値5以上)の酒類商品についての酸味、甘味、旨味、香りの嗜好値データから得られる特定ユーザの嗜好値パターンと比較して、類似する嗜好値パターンの酒類商品を選出する場合を例示したが、酒類商品を選出方法はこれに限られるものではない。酸味、甘味、旨味、香りの嗜好値データから嗜好値パターンを総合嗜好値との関係で特定できるのは、酸味、甘味、旨味、香りの嗜好値データと総合嗜好値データとの間でも相関があるからである。そこで、第3実施形態の変形例では、総合嗜好値データを酸味、甘味、旨味、香りの嗜好値データに関連付ける総合学習済みモデルを生成する。
(2)上記第3実施形態の第1変形例について図39及び図40を参照しながら説明する。図39は、第3実施形態の第1変形例に係る総合学習済みモデルの構成例を示す図である。図39の総合学習済みモデル184eは、酒類商品の酸味、甘味、旨味、香りの嗜好値データを入力することでユーザP1の総合嗜好値を出力するように学習されている。総合学習済みモデル184eは、図17と同様に入力層、中間層、出力層を備え、機械学習によって学習されたニューラルネットワークである。それぞれの層は、複数のノードで構成される。例えば酸味、甘味、旨味、香りの嗜好値の4つを入力層のノード数とする。出力層のノード数は1であり、出力層からは総合嗜好値が出力される。総合学習済みモデル184eは、CNNで構築してもよく、RNNで構成してもよい。
このような総合学習済みモデル184eを学習させるための学習データの具体例を図40に示す。図40は、上記ユーザP1の学習データ182eを例示したものである。図40の学習データ182eは、学習用の酒類商品の嗜好値(酸味、甘味、旨味、香りの嗜好値と総合嗜好値(正解ラベル))と体調データ163C1(例えば体温)を1セットとした学習データ182e(教師データ)である。図40の体調データ163C1は、図33乃至図36の体調データ163C1に対応している。この学習データ182eによって機械学習させることで、総合学習済みモデル184eが生成される。
(3)上記第3実施形態の第2変形例について図41を参照しながら説明する。図41は、第3実施形態の第2変形例に係る学習済みモデルの構成例を示す図である。図41の学習済みモデル184Cは、第1ニューラルネットワークと、第1ニューラルネットワークからの出力が入力されるように結合された第2ニューラルネットワークとから構成される。図41の第1ニューラルネットワークは、図33乃至図36の体調データ163C1を含む学習データを用いてそれぞれ学習された酸味学習済みモデル184a、甘味学習済みモデル184b、旨味学習済みモデル184c、香り学習済みモデル184dで構成される。第2ニューラルネットワークは、図40の学習用の体調データ163Cを含まない学習データで学習された総合学習済みモデル184eで構成される。
このような学習済みモデル184Cによれば、酸味、甘味、旨味、香りのそれぞれの成分データと体調データ(体温など)を第1ニューラルネットワークに入力することで、第2ニューラルネットワークから総合嗜好値を出力できる。酸味学習済みモデル184a、甘味学習済みモデル184b、旨味学習済みモデル184c、香り学習済みモデル184d、総合学習済みモデル184eはそれぞれ別々に学習される。
したがって、学習済みモデル184Cは、第2ニューラルネットワークの重み付け係数などのパラメータデータが、第1ニューラルネットワークの重み付け係数などのパラメータデータを変更することなく、学習されたものである。これによれば、第1ニューラルネットワークからの出力(酸味、甘味、旨味、香りの嗜好値)は、第2ニューラルネットワーク(総合学習済みモデル184e)の学習で影響を受けることがない。これによれば、それぞれの学習済みモデルを単体で予測に用いる場合と同様の予測精度を保つことができる。また、必ずしも嗜好値パターンを生成しなくても、学習済みモデル184Cからの出力から香りや味覚毎の嗜好値を総合した嗜好値(総合嗜好値)の予測結果を得ることができる。
(4)上記第3実施形態の第3変形例について図42を参照しながら説明する。図42は、第3実施形態の第3変形例に係る学習済みモデルの構成例を示す図であり、図41に対応する。図42の学習済みモデル184Dは、第1ニューラルネットワークと、第1ニューラルネットワークからの出力が入力されるように結合された第2ニューラルネットワークとから構成される。図42の学習済みモデル184Dが図41と異なるのは、体調データ(体温など)を第1ニューラルネットワークではなく、第2ニューラルネットワークに入力させる点である。具体的には図42の第1ニューラルネットワークは、図33乃至図36の体調データ163C1を含まない学習データを用いてそれぞれ学習された酸味学習済みモデル184a、甘味学習済みモデル184b、旨味学習済みモデル184c、香り学習済みモデル184dで構成される。第2ニューラルネットワークは、図40の学習用の体調データ163Cを含む学習データ182eを用いて学習された総合学習済みモデル184eで構成される。これによれば、第1ニューラルネットワークのそれぞれに体調データを入力しないで済むので、全体として学習データを減らすことができ、学習速度を上げることができる。
(5)上記第3実施形態の第4変形例について図43乃至図45を参照しながら説明する。第4変形例では、ユーザが酒類を評価した第1嗜好値パターンPT1と、学習モデル184の出力から得られるその酒類の第2嗜好値パターンPT2とを比較することで、ユーザの味覚や臭覚の評価のばらつきも判定できる場合を例示する。図43は、第4変形例に係る制御部12の一部の構成を示すブロック図である。具体的には図43は、図14の制御部12からデータ取得部121、嗜好値算出部122、酒類商品選出部123、出力部124を抜き出したものである。図43において図14と異なるのは、酒類商品選出部123が比較部123A及び判定部123Bを備える点であり、その他の構成は図14と同様である。
図43のデータ取得部121は、酒類商品について特定ユーザが飲んで感じた複数の味覚を含む嗜好値(酸味嗜好値、甘味嗜好値、旨味嗜好値、香り嗜好値)を取得する。嗜好値算出部122は、図29の酸味の学習済みモデル184a、図30の甘味の学習済みモデル184b、図31の旨味の学習済みモデル184c、図32の香りの学習済みモデル184cの出力から特定ユーザの嗜好値(酸味嗜好値、甘味嗜好値、旨味嗜好値、香り嗜好値)を取得する。
図43の比較部123Aは、データ取得部121で取得した特定ユーザの嗜好値(酸味嗜好値、甘味嗜好値、旨味嗜好値、香り嗜好値)から算出した第1嗜好値パターンPT1と、その特定ユーザの上記学習済みモデル184a、184b、184c、184dからそれぞれ出力される嗜好値(酸味嗜好値、甘味嗜好値、旨味嗜好値、香り嗜好値)から算出した第2嗜好値パターンPT2とを比較する。図43の判定部123Bは、比較部123Aで比較される第1嗜好値パターンPT1と第2嗜好値パターンPT2とから味覚の評価のばらつきを判定する。酒類商品選出部123は、判定部123Bで判定された味覚の評価のばらつきに基づいて酒類商品を選出する。ここでは、複数の味覚の嗜好値(酸味嗜好値、甘味嗜好値、旨味嗜好値)と香り嗜好値を含めた場合を例示するが、これに限られず、味覚の嗜好値だけで第1嗜好値パターンPT1と第2嗜好値パターンPT2を算出してもよい。
上記酸味の学習済みモデル184a、甘味の学習済みモデル184b、旨味の学習済みモデル184cは上記複数の味覚学習済みモデルを構成する。香りの学習済みモデル184cは、香り学習済みモデルを構成する。これらは酒類商品の酸味成分データ、甘味成分データ、旨味成分データ、香り成分データのそれぞれに体調データを含めて学習したものであるが、これに限られず、体調データを含めないで学習したものを適用してもよい。
ここで、第4変形例に係るユーザの酒類商品についての酸味、甘味、旨味、香りの嗜好値パターンについて図44及び図45を参照しながら説明する。図43は、甘味の効いたお酒が好きなユーザPxが酸味、甘味、旨味、香りを評価した酒類商品Aの第1嗜好値パターンPT1(白丸)と、そのユーザPxの上記各学習済みモデル184a、184b、184c、184dからの出力による同じ酒類商品Aの第2嗜好値パターンPT2(黒丸)を比較したものである。図44は、同じように甘味の効いたお酒が好きな別のユーザPyが酸味、甘味、旨味、香り評価した酒類商品Aの第1嗜好値パターンPT1と、そのユーザPyの上記各学習済みモデル184a、184b、184c、184dの出力による同じ酒類商品Aの第2嗜好値パターン(黒丸)を比較したものである。
図43では、甘いお酒が好きなユーザPxが評価したお酒の嗜好値パターンと学習モデルによる嗜好値パターンとを比較すると、甘味成分、旨味成分、香り成分に比べて、酸味成分のずれが極めて大きい。これによれば、ユーザPxは味覚成分のうち、酸味成分に味覚が一定でなく評価がバラつくと判定できる。この結果(図44の嗜好値パターンPT1、PT2)を表示データに含めて端末装置20に表示できるようにすることで、このユーザPxは、酸味の受容認識が一定でなく、酸味の物質的な状態を感じにくく、経験によって補われる必要があることを自己認識する機会を得ることができる。
これに対して、図44では、同じ甘いお酒が好きな別のユーザPyが評価したお酒の嗜好値パターンと学習モデル184による嗜好値パターンとを比較すると、甘味成分、旨味成分、香り成分、酸味成分のずれがほとんどない。これによれば、ユーザPyは味覚も臭覚も物質の構成を感じ取っており、ソムリエのようなプロに近いと判定できる。この結果(図45の嗜好値パターンPT1、PT2)を表示データに含めて端末装置20に表示できるようにすることで、このユーザPyは、このお酒に関しては、味覚も臭覚も物質の構成を感じ取っていることを自己認識する機会を得ることができる。
このように、ユーザのそのお酒についての第1嗜好値パターンを、学習モデルによる第2嗜好値パターンと比較することで、感覚(味覚、臭覚など)が一定でなく評価がばらつく成分を認識できる。これは例えばソムリエを目指しているユーザの訓練にもなる。具体的には、比較部123Aが第1嗜好値パターンと第2嗜好値パターンを比較して、判定部123Bが第1嗜好値パターンと第2嗜好値パターンとから味覚や臭覚などの評価のばらつきを判定し、酒類商品選出部123がその評価のばらつきが大きいお酒を選択してそのユーザに推薦する。ユーザはその酒類商品を実際に飲んでみて評価を入力することで、端末装置20に図44や図45のような嗜好値パターンPT1、PT2が表示される。これにより、ユーザはその酒類商品に対する感覚評価のばらつき(味覚や臭覚など)を自己認識できるので、たとえばソムリエになるためや製品評価をするパネルの習得のために感覚(味覚や臭覚)を経験によって獲得することもできるようになる。
また、第1嗜好値パターンPT1と第2嗜好値パターンPT2のずれを検出することで、ユーザの飲酒経験を判定することもできる。例えばお酒に不慣れな初心者ユーザ、お酒が好きなユーザ、味覚感覚に優れたソムリエなどのプロなどの判定もできるようになる。具体的にはユーザのそのお酒についての嗜好値パターンと学習モデルによる嗜好値パターンとのばらつきが、所定値より大きい場合は初心者ユーザ、所定値以下の場合はお酒好きユーザと判定できる。各味覚や臭覚などのずれのばらつきが所定値以下の場合にプロユーザと判定できる。このようなユーザの飲酒経験に応じて推薦するお酒の種類や推薦の順番を変えることもできる。
さらに例えばソムリエコースとして、初心者ユーザ、お酒好きユーザ、プロユーザを選択できるようにすることも可能である。初心者ユーザには味覚を絞らずにお酒を推薦し、お酒好きユーザにはずれのある複数の味覚に絞ってお酒を推薦し、プロユーザにはずれのある味覚に絞ってお酒を推薦する。これにより、ユーザは苦手な味覚を克服して味覚のバランス感覚を養うことができる。
なお、図43の比較部123Aと判定部123Bは、第3実施形態にも適用可能である。この場合、比較部123Aで比較される第1嗜好値パターンは、例えば図37に示すような総合嗜好値5以上又は4以上の酒類商品の平均から得られる第1嗜好値パターンPT1(白丸)である。第2嗜好値パターンは、例えば図37に示すような複数の酒類商品における酸味の学習済みモデル184a、甘味の学習済みモデル184b、旨味の学習済みモデル184c、香りの学習済みモデル184cからの出力から得られる第2嗜好値パターンPT2(黒丸)である。図43の判定部123Bは、比較部123Aの比較による第1嗜好値パターンPT1と第2嗜好値パターンPT2との類似度が所定以上の酒類商品を判定する。酒類商品選出部123は、判定部123Bで判定された酒類商品から酒類商品を選出する。
(6)上記第3実施形態とその変形例ではそれぞれ、体調データを用いた場合を例示したが、体調データを用いなくてもよい。体調データを用いない場合は、図27、図29乃至図32、図33乃至図36、図39乃至図42から体調データに関する記述を省略することで適用できる。また、上記第3実施形態とその変形例ではそれぞれ、酒類商品の成分データを、複数の味覚に対応する成分データ(酸味、甘味、旨味など)と香り成分データに分けた場合を例示したが、香り成分データを含めず、酒類商品の成分データを複数の味覚に対応する成分データだけにしてもよい。この場合、嗜好値も香り嗜好値を含めずに、味覚毎の嗜好値(酸味嗜好値、甘味嗜好値、旨味嗜好値など)に分ける。学習済みモデル184は、味覚毎に学習された複数の味覚学習済みモデル(図29乃至図31)を含み、嗜好値算出部122は、複数の味覚学習済みモデルによって特定ユーザの味覚毎の嗜好値を算出するようにしてもよい。これにより、味覚毎の嗜好値から特定ユーザの嗜好値パターンを算出できる。予測用の酒類商品リストからこの嗜好値パターンが類似する酒類商品を選出することで、特定ユーザの好みの酒類商品を選出できる。このように、複数の味覚毎に味覚学習済みモデルを生成することで、特定ユーザの酒類商品の好みがどの味覚に反応しているのかが分かるので、好みの酒類商品の選出精度を高めることができる。なお、このような味覚毎に味覚学習済みモデルを生成する場合においても、体調データを用いるようにしてもよく、体調データを用いないようにしてもよい。
(7)上記第1実施形態乃至第3実施形態とその変形例において、学習済みモデルは、少なくとも同種で銘柄の異なる酒類商品に共通の成分データを含む学習データで学習することもできる。同種で銘柄の異なる酒類商品であっても味覚などの嗜好に影響を与える共通の成分があり、各実施形態の学習済みモデルによれば、その共通の成分データを特定ユーザの嗜好に関連付けることができる。このように各実施形態によれば、他人の味覚や質問からではなく、その共通の成分データから酒類商品を選出できるので、学習用に用いた酒類商品とは同種で銘柄の異なる酒類商品の中からでも、特定ユーザが真に好む酒類商品を選出できる。例えばワインという同種の酒類商品の中において、赤ワインとロゼワインは、嗜好に影響する共通の成分がある。このため、各実施形態の学習済みモデルで赤ワインとロゼワインに共通の成分データを含めて赤ワインを学習することで、そのユーザの好みの成分パターンに似ているロゼワインを選出するということが可能になる。これにより、例えば赤ワインが好きなユーザに、好みの嗜好に近いロゼワインを推薦することもできるので、新たな需要を開拓できる。
(8)上記第1実施形態乃至第3実施形態とその変形例において、学習済みモデルは、少なくとも異種の酒類商品に共通の成分データを含む学習データで学習されている。異種の酒類商品であっても味覚などの嗜好に影響を与える共通の成分があり、各実施形態の学習済みモデルによれば、その共通の成分データを特定ユーザの嗜好に関連付けることができる。このように各実施形態によれば、他人の味覚や質問からではなく、その共通の成分データから酒類商品を選出できるので、学習用に用いた酒類商品とは異種の酒類商品の中からでも、特定ユーザが真に好む酒類商品を選出できる。例えば日本酒とワインのように異種の酒類商品でも、嗜好に影響する共通の成分がある。このため、各実施形態の学習済みモデルで日本酒とワインに共通の成分データを含めて日本酒を学習することで、そのユーザの好みの成分パターンに似たワインを選出するということが可能になる。これにより、例えば日本酒が好きなユーザに、好みの嗜好に近いワインを推薦することもできるので、新たな需要を開拓できる。
(9)上記第1実施形態乃至第3実施形態とその変形例において、「酒類商品」は有料の場合に限られず、無料であってもよい。例えば「酒類商品」には、有料で提供される販売商品だけでなく、有料又は無料で提供されるお試し商品、試供品、サンプル商品などを含むようにしてもよい。