(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-08
(45)【発行日】2024-08-19
(54)【発明の名称】情報処理方法及び情報処理システム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240809BHJP
G06N 20/00 20190101ALI20240809BHJP
【FI】
G06Q50/10
G06N20/00
(21)【出願番号】P 2019203483
(22)【出願日】2019-11-08
【審査請求日】2022-07-06
(32)【優先日】2019-07-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】阿曽 光洋
【審査官】松田 岳士
(56)【参考文献】
【文献】特開2018-045413(JP,A)
【文献】米国特許出願公開第2014/0279739(US,A1)
【文献】特開2016-031642(JP,A)
【文献】特開2004-163232(JP,A)
【文献】特開2006-127452(JP,A)
【文献】特開2015-148981(JP,A)
【文献】特開2001-005868(JP,A)
【文献】特開2013-222229(JP,A)
【文献】米国特許出願公開第2016/0063993(US,A1)
【文献】米国特許出願公開第2014/0201671(US,A1)
【文献】米国特許出願公開第2016/0048282(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記飲食物データの特徴に基づいて前記選択理由を生成
し、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【請求項2】
前記パラメタは、前記飲食物データの重み付けパラメタである
請求項
1に記載の情報処理方法。
【請求項3】
前記パラメタは、強化学習の報酬である
請求項
1に記載の情報処理方法。
【請求項4】
前記パラメタの決定では、
前記選択肢の入力結果にも応じて前記訓練のパラメタを決定する
請求項
1~
3のいずれか1項に記載の情報処理方法。
【請求項5】
前記選択理由の入力結果又は前記選択肢の入力結果は、前記選択理由又は前記選択肢についての入力の方向、強さ又は速さを含む
請求項
1~
4のいずれか1項に記載の情報処理方法。
【請求項6】
前記パラメタの決定では、
前記選択理由の入力が遅い場合、前記訓練の効果が低くなる前記パラメタを決定する
請求項
5に記載の情報処理方法。
【請求項7】
前記パラメタの決定では、
前記選択理由の入力が速い場合、前記訓練の効果が高くなる前記パラメタを決定する
請求項
5又は
6に記載の情報処理方法。
【請求項8】
前記選択肢の入力の速さ又は強さに応じて、前記選択理由の提示を制御する
請求項
5~
7のいずれか1項に記載の情報処理方法。
【請求項9】
前記機械学習モデルから前記予測値を取得し、
前記予測値が閾値以上の前記飲食物データについての前記選択理由を提示しない
請求項1~
8のいずれか1項に記載の情報処理方法。
【請求項10】
前記選択肢の入力結果が肯定的な場合、前記飲食物データに対応付けられた他の飲食物データを、前記提示装置を介して提示する
請求項1~
9のいずれか1項に記載の情報処理方法。
【請求項11】
前記選択肢の入力結果が否定的な場合、前記選択理由の入力結果に基づいて次の飲食物データを決定し、前記提示装置を介して提示する
請求項1~
10のいずれか1項に記載の情報処理方法。
【請求項12】
前記飲食物データの属性を、前記提示装置を介して提示し、
前記選択理由の提示では、前記属性に対応する前記選択理由を生成し、前記提示装置を介して提示する
請求項1~
11のいずれか1項に記載の情報処理方法。
【請求項13】
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データの属性毎の選択理由の採否の予測値を出力し、
前記機械学習モデルから前記予測値を取得し、
前記予測値が閾値以上の属性についての前記選択理由を提示しない
請求項
12に記載の情報処理方法。
【請求項14】
前記選択肢の入力結果が否定的な場合、前記選択理由の入力結果に基づいて前記属性が異なる飲食物データを決定し、前記提示装置を介して提示する
請求項
12又は
13に記載の情報処理方法。
【請求項15】
前記選択肢及び前記選択理由の入力はフリック入力である
請求項1~
14のいずれか1項に記載の情報処理方法。
【請求項16】
前記選択肢及び前記選択理由の入力はスワイプ入力である
請求項1~
15のいずれか1項に記載の情報処理方法。
【請求項17】
前記入力中に取得された音声を前記選択理由の入力結果として取得する
請求項1~
16のいずれか1項に記載の情報処理方法。
【請求項18】
飲食物データを取得する取得部と、
前記飲食物データに対する選択肢を生成する選択肢生成部と、
選択される前記選択肢に対応する選択理由を生成する選択理由生成部と、
前記飲食物データ、前記選択肢、及び前記選択理由を、提示装置を介して提示する提示制御部と、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御する制御部と、を備え、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記選択理由生成部は、前記飲食物データの特徴に基づいて前記選択理由を生成
し、
前記制御部は、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理システム。
【請求項19】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記選択理由の入力結果又は前記選択肢の入力結果は、前記選択理由又は前記選択肢についての入力の方向、強さ又は速さを含
み、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【請求項20】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記機械学習モデルから前記予測値を取得し、
前記予測値が閾値以上の前記飲食物データについての前記選択理由を提示
せず、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【請求項21】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記選択肢の入力結果が肯定的な場合、前記飲食物データに対応付けられた他の飲食物データを、前記提示装置を介して提示
し、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【請求項22】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記選択肢の入力結果が否定的な場合、前記選択理由の入力結果に基づいて次の飲食物データを決定し、前記提示装置を介して提示
し、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【請求項23】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記飲食物データの属性を、前記提示装置を介して提示し、
前記選択理由の提示では、前記属性に対応する前記選択理由を生成し、前記提示装置を介して提示
し、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【請求項24】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記選択肢及び前記選択理由の入力はフリック入力であ
り、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【請求項25】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記選択肢及び前記選択理由の入力はスワイプ入力であ
り、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【請求項26】
コンピュータが実行する情報処理方法であって、
飲食物データを取得し、提示装置を介して提示し、
前記飲食物データに対する選択肢を生成し、前記提示装置を介して提示し、
選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、
前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御し、
前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力するモデルであり、
前記入力中に取得された音声を前記選択理由の入力結果として取得
し、
前記訓練の制御では、
前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、
前記パラメタを用いて前記訓練を制御する
又は、
前記選択理由の入力結果に応じて前記訓練の有無を決定する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、飲食物データを用いた機械学習モデルの訓練を制御する情報処理方法及び情報処理システムに関する。
【背景技術】
【0002】
ユーザの調理の嗜好を特定するための属性を判定し、当該属性により特定されるユーザの調理の嗜好の情報を収集し、判定されたユーザの属性と収集されたユーザの料理の嗜好の情報とに基づいて、ユーザの嗜好にあったレシピを提供するレシピ提供システムが開示されている(例えば、特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1では、提案されたレシピに対するユーザの感想から嗜好を学習すると開示されているが、ユーザの感想はその時々の天候、体調、気分及び予定等により変化し、曖昧であることがある。このため、学習すべきでないデータも機械学習に用いられてしまい、非効率な学習となってしまうおそれがある。
【0005】
そこで、本開示は、飲食物データを用いた機械学習モデルの訓練を効率的に行うことができる情報処理方法等を提供する。
【課題を解決するための手段】
【0006】
本開示に係る情報処理方法は、飲食物データを取得し、提示装置を介して提示し、前記飲食物データに対する選択肢を生成し、提示装置を介して提示し、選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御する処理を含む。
【0007】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
本開示の一態様に係る情報処理方法等によれば、飲食物データを用いた機械学習モデルの訓練を効率的に行うことができる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態に係るサーバ及び提示装置の一例を示すブロック図である。
【
図2A】実施の形態に係るサーバの飲食物データ等の送信時の動作の一例を示すフローチャートである。
【
図2B】実施の形態に係るサーバの飲食物データ等の送信時の動作の他の一例を示すフローチャートである。
【
図3】実施の形態に係る提示装置の動作の一例を示すフローチャートである。
【
図4】実施の形態に係る提示装置で提示される画像の一例を示す図である。
【
図5】実施の形態に係るサーバの入力結果の受信時の動作の一例を示すフローチャートである。
【
図6A】実施の形態の変形例に係るサーバの飲食物データ等の送信時の動作の一例を示すフローチャートである。
【
図6B】実施の形態の変形例に係るサーバの飲食物データ等の送信時の動作の他の一例を示すフローチャートである。
【
図7】実施の形態の変形例に係る提示装置の動作の一例を示すフローチャートである。
【
図8】実施の形態の変形例に係る提示装置で提示される画像の一例を示す図である。
【
図9】実施の形態の変形例に係る提示装置で提示される画像の他の一例を示す図である。
【
図10】実施の形態の変形例に係るサーバの入力結果の受信時の動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
本開示の一態様に係る情報処理方法は、飲食物データを取得し、提示装置を介して提示し、前記飲食物データに対する選択肢を生成し、提示装置を介して提示し、選択される前記選択肢に応じて選択理由を生成し、前記提示装置を介して提示し、前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御する処理を含む。
【0011】
例えば、ユーザの飲食物データに対する感想はその時々の天候、体調、気分及び予定等により変化し曖昧な場合があるため、このような曖昧な感想は、飲食物データを用いた機械学習モデルにとって学習効率の悪いデータとなるおそれがある。そこで、飲食物データに対する選択肢に応じて選択理由(具体的には複数の選択理由の候補)を生成しておき、生成した選択理由を提示装置に提示してユーザに提示された選択理由の中から選択理由を入力させる。選択理由の入力結果は、ユーザがその都度思いつく感想ではなく、具体的に生成され提示された選択理由からユーザに採用されたものであるため、このような具体的な選択理由の入力結果に応じて機械学習モデルの訓練を制御することで、飲食物データを用いた機械学習モデルの訓練を効率的に行うことができる。
【0012】
また、前記訓練の制御では、前記選択理由の入力結果に応じて前記訓練のパラメタを決定し、前記パラメタを用いて前記訓練を制御してもよい。
【0013】
これによれば、選択理由の入力結果に応じて機械学習モデルの訓練の最適なパラメタを決定することで、当該パラメタを用いて機械学習モデルの訓練を効率的に行うことができる。
【0014】
また、前記パラメタは、前記飲食物データの重み付けパラメタであってもよい。
【0015】
これによれば、選択理由の入力結果に応じて飲食物データの重み付けパラメタを決定することで、重み付けパラメタを用いて機械学習モデルの訓練を効率的に行うことができる。
【0016】
また、前記パラメタは、強化学習の報酬であってもよい。
【0017】
これによれば、選択理由の入力結果に応じて強化学習の報酬を決定することで、強化学習の報酬を用いて機械学習モデルの訓練を効率的に行うことができる。
【0018】
また、前記パラメタの決定では、前記選択肢の入力結果にも応じて前記訓練のパラメタを決定してもよい。
【0019】
これによれば、選択理由の入力と関連のある選択肢の入力も用いて訓練が制御されることにより、訓練の効果を向上させることができる。
【0020】
また、前記選択理由の入力結果又は前記選択肢の入力結果は、前記選択理由又は前記選択肢についての入力の方向、強さ又は速さを含んでいてもよい。
【0021】
このように、選択理由又は選択肢についての入力の方向、強さ又は速さに応じて機械学習モデルの訓練を効率的に行うことができる。
【0022】
また、前記パラメタの決定では、前記選択理由の入力が遅い場合、前記訓練の効果が低くなる前記パラメタを決定してもよい。
【0023】
選択理由の入力が遅い場合、ユーザは選択理由を迷った上で入力したと考えられるため、このとき入力された選択理由はユーザに当てはまっていない選択理由となっている可能性がある。このため、選択理由の入力が遅い場合、訓練の効果が低くなる訓練のパラメタを決定することで、機械学習モデルの訓練を効率的に行うことができる。
【0024】
また、前記パラメタの決定では、前記選択理由の入力が速い場合、前記訓練の効果が高くなる前記パラメタを決定してもよい。
【0025】
選択理由の入力が速い場合、ユーザは選択理由を迷わずに入力したと考えられるため、このとき入力された選択理由はユーザに当てはまっている選択理由となっている可能性がある。このため、選択理由の入力が速い場合、訓練の効果が高くなる訓練のパラメタを決定することで、機械学習モデルの訓練を効率的に行うことができる。
【0026】
また、前記選択肢の入力の速さ又は強さに応じて、前記選択理由の提示を制御してもよい。
【0027】
これによれば、例えば、選択肢の入力の速さが速い又は強さが強い場合、ユーザは提示されている飲食物データの画像の見た目で選択肢を入力したと考えられるため、選択理由として見た目に関連するものが提示することができる。また、例えば、選択肢の入力の速さが遅い又は強さが弱い場合、ユーザは選択肢を迷った上で入力したと考えられ、このときの選択理由は、ユーザに当てはまっていない選択理由となっている可能性が高いため、別の具体的な選択理由を提示することができる。
【0028】
また、前記訓練の制御では、前記選択理由の入力結果に応じて前記訓練の有無を決定してもよい。
【0029】
これによれば、選択理由の入力結果が学習効率の良いデータである場合に訓練を行い、選択理由の入力結果が学習効率の悪いデータである場合には訓練を行わないようにすることで、機械学習モデルの訓練を効率的に行うことができる。また、学習効率の悪いデータが収集されないため、機械学習モデルの訓練のためのデータを記憶する記憶容量を削減できる。
【0030】
また、前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データに対する選択肢の選択の予測値を出力し、前記機械学習モデルから前記予測値を取得し、前記予測値が閾値以上の前記飲食物データについての前記選択理由を提示しなくてもよい。
【0031】
これによれば、選択肢の選択の予測値が閾値以上の飲食物データは、どの選択肢が選択されるかの訓練が進んでおり、このような飲食物データについては選択理由を提示しないようにすることができる。つまり、わざわざ選択理由を入力させるという煩わしさをユーザに与えないようにすることができる。
【0032】
また、前記選択肢の入力結果が肯定的な場合、前記飲食物データに対応付けられた他の飲食物データを、前記提示装置を介して提示してもよい。
【0033】
これによれば、例えば、飲食物データに対する選択肢を提示して献立のメニューを提案する場合に、提示された飲食物データに対する選択肢の入力結果が肯定的な場合、当該飲食物データに対応付けられた他の飲食物データとして、当該飲食物データと組み合わせてより良い献立を構成できるような飲食物データ(例えば主菜に合う副菜)を提示することができる。
【0034】
また、前記選択肢の入力結果が否定的な場合、前記選択理由の入力結果に基づいて次の飲食物データを決定し、前記提示装置を介して提示してもよい。
【0035】
これによれば、提示された飲食物データに対する選択肢の入力結果が否定的な場合、当該飲食物データとは異なる次の飲食物データを提示することができる。
【0036】
また、前記飲食物データの属性を、前記提示装置を介して提示し、前記選択理由の提示では、前記属性に対応する前記選択理由を生成し、前記提示装置を介して提示してもよい。
【0037】
飲食物データに対する選択肢の選択理由には、飲食物データの食材、調理法又は味付け等の属性毎に様々な理由がある。そこで、属性に対応する選択理由を生成し提示して、属性毎の選択理由の入力結果に応じて機械学習モデルの訓練を制御することで、機械学習モデルの訓練を効率的に行うことができる。
【0038】
また、前記機械学習モデルは、前記飲食物データを前記機械学習モデルに入力して得られる前記飲食物データの属性毎の選択理由の採否の予測値を出力し、前記機械学習モデルから前記予測値を取得し、前記予測値が閾値以上の属性についての前記選択理由を提示しなくてもよい。
【0039】
これによれば、選択理由の採否の予測値が閾値以上の属性は、その属性についてどの選択理由が選択されるかの訓練が進んでおり、このような属性については選択理由を提示しないようにすることができる。つまり、わざわざ選択理由を入力させるという煩わしさをユーザに与えないようにすることができる。
【0040】
また、前記選択肢の入力結果が否定的な場合、前記選択理由の入力結果に基づいて前記属性が異なる飲食物データを決定し、前記提示装置を介して提示してもよい。
【0041】
これによれば、提示された飲食物データに対する選択肢の入力結果が否定的な場合、属性が異なる(例えば食材、調理法又は味付け等が異なる)飲食物データを提示することができる。
【0042】
また、前記飲食物データの特徴に基づいて前記選択理由を生成してもよい。
【0043】
飲食物データは、例えば、飲食物が写る画像又は飲食物の料理名等を含み、これらの情報の特徴から選択理由を生成することができる。
【0044】
また、前記選択肢及び前記選択理由の入力はフリック入力であってもよい。
【0045】
これによれば、選択肢及び選択理由をフリック入力によって手軽に入力することができる。
【0046】
また、前記フリック入力中に取得された音声を前記選択理由の入力結果として取得してもよい。
【0047】
これによれば、フリック入力中に音声によって選択理由を入力することができる。
【0048】
本開示の一態様に係る情報処理システムは、飲食物データを取得する取得部と、前記飲食物データに対する選択肢を生成する選択肢生成部と、選択される前記選択肢に対応する選択理由を生成する選択理由生成部と、前記飲食物データ、前記選択肢、及び前記選択理由を、提示装置を介して提示する提示制御部と、前記選択理由の入力結果に応じて、前記飲食物データを用いた機械学習モデルの訓練を制御する制御部と、を備える。
【0049】
これによれば、飲食物データを用いた機械学習モデルの訓練を効率的に行うことができる情報処理システムを提供できる。
【0050】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0051】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。
【0052】
(実施の形態)
以下、
図1から
図5を用いて実施の形態について説明する。
【0053】
図1は、実施の形態に係るサーバ100及び提示装置200の一例を示すブロック図である。
【0054】
サーバ100は、提示装置200と通信し、提示装置200にコンテンツを提供する装置であり、情報処理システムの一例である。例えば、サーバ100は、提示装置200のユーザに献立を提案する機能を有する。また、サーバ100は、ユーザへの提案に対する応答を提示装置200から取得し、ユーザの飲食物に対する嗜好を学習する機能を有する。
【0055】
サーバ100は、コンテンツ提案部110、訓練部120、記憶部130及び通信部140を備える。サーバ100は、プロセッサ、メモリ及び通信インタフェース等を含むコンピュータである。メモリは、ROM(Read Only Memory)及びRAM(Random Access Memory)等であり、プロセッサにより実行されるプログラムを記憶することができる。なお、記憶部130は、メモリの一例であるが、プログラムを記憶するメモリとは別のメモリであってもよい。コンテンツ提案部110及び訓練部120は、メモリに格納されたプログラムを実行するプロセッサ等によって実現される。通信部140は、通信回路、通信線等が接続されるコネクタ又はアンテナ等からなる通信インタフェースによって実現される。なお、サーバ100を構成する構成要素は、複数のサーバに分散して配置されてもよい。
【0056】
記憶部130は、飲食物データ及び飲食物データを用いた機械学習モデルを記憶する。
【0057】
コンテンツ提案部110は、記憶部130から飲食物データを取得する取得部、飲食物データに対する選択肢を生成する選択肢生成部、選択される選択肢に対応する選択理由を生成する選択理由生成部、及び、飲食物データ、選択肢、及び選択理由を、提示装置200を介して提示する提示制御部の一例である。コンテンツ提案部110の動作の詳細については後述する。
【0058】
通信部140は、提示装置200と通信を行う通信インタフェースである。通信部140は、コンテンツ提案部110で取得された飲食物データ、コンテンツ提案部110で生成された選択肢及び選択理由を提示装置200へ送信する。具体的には、通信部140は、飲食物データ、選択肢及び選択理由を提示装置200で提示するためのUI(ユーザインタフェース)データを提示装置200へ送信する。また、通信部140は、選択肢及び選択理由について提示装置200で入力された結果である入力結果を提示装置200から受信する。
【0059】
訓練部120は、選択理由の入力結果に応じて、飲食物データを用いた機械学習モデルの訓練を制御する制御部の一例である。訓練部120は、記憶部130に記憶された機械学習モデルの訓練を制御する。これにより、ユーザの飲食物に対する嗜好が学習される。訓練部120の動作の詳細については後述する。
【0060】
提示装置200は、サーバ100と通信し、サーバ100から提供されたコンテンツをユーザに提示する装置であり、例えば、スマートフォン又はタブレット端末等である。
【0061】
提示装置200は、提示制御部210、提示部220、入力部230及び通信部240を備える。提示装置200は、プロセッサ、メモリ、ユーザインタフェース及び通信インタフェース等を含むコンピュータである。メモリは、ROM及びRAM等であり、プロセッサにより実行されるプログラムを記憶することができる。提示制御部210は、メモリに格納されたプログラムを実行するプロセッサ等によって実現される。通信部240は、通信回路及びアンテナ等からなる通信インタフェースによって実現される。提示部220及び入力部230は、ディスプレイ及びタッチパネル等からなるユーザインタフェースによって実現される。例えば、提示部220及び入力部230は、別々の構成要素として示されているが、提示機能と入力機能とを有する1つの構成要素であってもよい。
【0062】
通信部240は、サーバ100と通信を行う通信インタフェースである。通信部240は、飲食物データ、選択肢及び選択理由をサーバ100から受信する。具体的には、通信部240は、飲食物データ、選択肢及び選択理由を提示装置200で提示するためのUIデータをサーバ100から受信する。また、通信部240は、選択肢及び選択理由について提示装置200で入力された結果である入力結果をサーバ100へ送信する。
【0063】
提示制御部210は、通信部240で受信したUIデータに基づいて飲食物データ、選択肢及び選択理由を提示部220に提示する。また、提示制御部210は、入力部230への入力に応じて提示部220での提示を制御する。提示制御部210の動作の詳細については後述する。
【0064】
提示部220は、飲食物データ、選択肢及び選択理由を提示する、例えばタッチパネルディスプレイである。提示部220での提示内容は、入力部230への入力に応じて変化する。
【0065】
入力部230は、ユーザの操作を受け付ける入力装置であり、例えばタッチパネルディスプレイである。ユーザは、例えば、フリック入力によって提示部220に提示された選択肢の選択及び選択理由の採否を決定する。選択された選択肢が選択肢の入力結果となり、採用された選択理由が選択理由の入力結果となる。
【0066】
次に、サーバ100の動作について
図2A、
図2B及び
図5を用いて説明し、提示装置200の動作について
図3を用いて説明する。なお、実施の形態に係る情報処理方法は、例えば、サーバ100が備えるプロセッサによって実行される方法であり、
図2A、
図2B及び
図5に示される各ステップは実施の形態に係る情報処理方法によって行われる処理であってもよい。
【0067】
図2Aは、実施の形態に係るサーバ100の飲食物データ等の送信時の動作の一例を示すフローチャートである。
【0068】
コンテンツ提案部110(取得部)は、飲食物データを記憶部130から取得する(ステップS11)。記憶部130には様々な飲食物データが記憶されており、例えば、無作為に、又は、予め定められた規則に応じて飲食物データが取得される。例えば、飲食物データには、その飲食物の料理名、画像、食材、調理法、味付け、ジャンル、調理の難易度及び調理時間等のデータ及びメタデータ等が含まれる。
【0069】
次に、コンテンツ提案部110(選択肢生成部)は、取得された飲食物データに対する選択肢を生成する(ステップS12)。例えば、選択肢は、当該飲食物データを今日の献立に採用するか否かの選択肢であり、具体的には、提示装置200上では「Yes」及び「No」のように提示される。例えば、「Yes」の選択肢が選択された場合、当該飲食物データが今日の献立に採用され、「No」の選択肢が選択された場合、当該飲食物データが今日の献立に採用されない。
【0070】
次に、コンテンツ提案部110(選択理由生成部)は、選択される選択肢に対応する選択理由を生成する(ステップS13)。例えば、選択理由は、取得された飲食物データを今日の献立に採用する理由の候補、及び、今日の献立に採用しない理由の候補等であり、具体的には、提示装置200上に「好き」、「嫌い」及び「昨日も食べた」のように提示される。
【0071】
そして、通信部140は、飲食物データ、選択肢及び選択理由を提示装置200へ送信する(ステップS14)。具体的には、通信部140は、飲食物データ、選択肢及び選択理由を含むUIデータを提示装置200へ送信する。これにより、選択肢及び選択理由が提示装置200に提示されるため、コンテンツ提案部110(提示制御部)は、飲食物データ、選択肢、及び選択理由を提示装置200を介して提示することになる。
【0072】
なお、訓練部120により訓練が制御される機械学習モデルは、訓練がある程度進めば、飲食物データを機械学習モデルに入力して得られる飲食物データに対する選択肢の選択の予測値を出力してもよい。すなわち、機械学習モデルは、入力された飲食物データをユーザが献立に採用するか否かの予測値を出力してもよい。例えば、このような機械学習モデルを用いて選択理由の生成が制御されてもよい。これについて、
図2Bを用いて説明する。
【0073】
図2Bは、実施の形態に係るサーバ100の飲食物データ等の送信時の動作の他の一例を示すフローチャートである。
【0074】
コンテンツ提案部110は、飲食物データを記憶部130から取得し(ステップS21)、取得された飲食物データに対する選択肢を生成する(ステップS22)。
【0075】
次に、コンテンツ提案部110は、機械学習モデルから出力された飲食物データに対する選択肢の選択の予測値を取得する(ステップS23)。例えば、訓練の結果、機械学習モデルに入力された飲食物データをユーザが献立に採用する、つまり提示装置200上でユーザが「Yes」の選択肢を選択する確率が高いと予測される場合、「Yes」の選択肢の選択に対する予測値が高くなる。また、機械学習モデルに入力された飲食物データをユーザが献立に採用しない、つまり提示装置200上でユーザが「No」の選択肢を選択する確率が高いと予測される場合、「No」の選択肢の選択に対する予測値が高くなる。一方で、ユーザが「Yes」の選択肢と「No」の選択肢とのどちらを選択するかがはっきりしない場合、予測値は低くなる。
【0076】
次に、コンテンツ提案部110は、取得した予測値が閾値未満であるか否かを判定する(ステップS24)。
【0077】
コンテンツ提案部110は、取得した予測値が閾値未満である場合(ステップS24でYes)、選択理由を生成する(ステップS25)。予測値が閾値未満である場合には、ユーザが「Yes」の選択肢と「No」の選択肢とのどちらを選択するかがはっきりしておらず、提示装置200に選択理由を提示してユーザに選択理由を入力させ、選択理由の入力結果を用いて予測値が閾値未満の飲食物データについて機械学習モデルの訓練をさらに行う必要があるためである。
【0078】
そして、通信部140は、飲食物データ、選択肢及び選択理由を提示装置200へ送信する(ステップS26)。
【0079】
コンテンツ提案部110は、取得した予測値が閾値以上である場合、選択理由を生成せず、通信部140は、飲食物データ及び選択肢を提示装置200へ送信する(ステップS27)。つまり、コンテンツ提案部110は、予測値が閾値以上の飲食物データについての選択理由を提示しない。予測値が閾値以上である場合には、ユーザが「Yes」の選択肢と「No」の選択肢とのどちらを選択するかがはっきりしており、提示装置200に選択理由を提示してユーザに選択理由を入力させる必要がなく、入力結果を用いて予測値が閾値以上の飲食物データについて機械学習モデルの訓練をさらに行う必要がないためである。このように、選択肢の選択の予測値が閾値以上の飲食物データは、どの選択肢が選択されるかの訓練が進んでおり、このような飲食物データについては選択理由を提示しないようにすることができる。つまり、わざわざ選択理由を入力させるという煩わしさをユーザに与えないようにすることができる。
【0080】
図3は、実施の形態に係る提示装置200の動作の一例を示すフローチャートである。
【0081】
提示制御部210は、通信部240が飲食物データ、選択肢及び選択理由をサーバ100から受信したか否かを判定する(ステップS31)。具体的には、提示制御部210は、通信部240が飲食物データ、選択肢及び選択理由を含むUIデータをサーバ100から受信したか否かを判定する。
【0082】
提示制御部210は、通信部240が飲食物データ、選択肢及び選択理由をサーバ100から受信していないと判定した場合(ステップS31でNo)、通信部240が飲食物データ、選択肢及び選択理由を受信するまでステップS31での処理を繰り返す。
【0083】
提示制御部210は、通信部240が飲食物データ、選択肢及び選択理由をサーバ100から受信したと判定した場合(ステップS31でYes)、飲食物データ及び選択肢を提示部220に提示する(ステップS32)。具体的には、提示制御部210は、飲食物データ、選択肢及び選択理由を含むUIデータを用いて飲食物データの画像及び選択肢の画像を生成して、これらの画像を提示部220に提示する。
【0084】
次に、提示制御部210は、提示部220に提示された選択肢に対する入力があったか否かを判定する(ステップS33)。具体的には、提示制御部210は、提示部220に提示された選択肢に対して、入力部230を介してユーザの操作があったか否かを判定する。
【0085】
提示制御部210は、提示部220に提示された選択肢に対する入力がない場合(ステップS33でNo)、提示部220に提示された選択肢に対する入力があるまでステップS33での処理を繰り返す。
【0086】
提示制御部210は、提示部220に提示された選択肢に対する入力があった場合(ステップS33でYes)、選択された選択肢に応じた選択理由を提示する(ステップS34)。具体的には、提示制御部210は、飲食物データ、選択肢及び選択理由を含むUIデータを用いて選択された選択肢に応じた選択理由の画像を生成して、当該画像を提示部220に提示する。
【0087】
ここで、提示部220に提示される飲食物データの画像及び選択肢の画像、並びに、提示された選択肢に対する入力があった場合に提示される選択理由の画像について
図4を用いて説明する。
【0088】
図4は、実施の形態に係る提示装置200で提示される画像の一例を示す図である。
図4の左側には、提示装置200に提示された飲食物データの画像及び選択肢の画像が示されている。
図4の右側には、提示装置200に提示された飲食物データの画像、選択肢の画像及び選択理由の画像が示されている。
【0089】
図4の左側に示されるように、ステップS32での処理では、飲食物データの画像として例えばチキンボールの画像と、選択肢の画像として例えば「Yes」の選択肢及び「No」の選択肢の画像が提示装置200に提示される。また、「Yes」の選択肢の画像の周辺に、画面における「Yes」が提示された側にフリック入力することを促す矢印の画像が提示され、「No」の選択肢の画像の周辺に、画面における「No」が提示された側にフリック入力することを促す矢印の画像が提示される。これらの画像を見たユーザは、チキンボールを献立に採用する場合には、「Yes」の選択肢の画像が提示された側にフリック入力を行い、チキンボールを献立に採用しない場合には、「No」の選択肢の画像が提示された側にフリック入力を行う。このようにして、ユーザは選択肢に対する入力を行うことができる。
【0090】
例えば、ユーザが選択肢に対する入力として「No」の選択肢の画像が提示された側にフリック入力を行ったとする。この場合、
図4の右側に示されるように、画面における「No」が提示された側に、選択肢に応じた選択理由の画像として「No」を選択した選択理由の画像、つまり、チキンボールを献立に採用しない理由の画像が提示される。ここでは、「No」の選択肢に応じた選択理由の画像として「大嫌い」の画像及び「昨日も食べた」の画像が提示される。ユーザは、チキンボールを献立に採用しない理由がチキンボールが大嫌いという理由の場合には、「大嫌い」の画像へ向けてフリック入力し、チキンボールを献立に採用しない理由がチキンボールを昨日も食べたという理由の場合には、「昨日も食べた」の画像へ向けてフリック入力する。このようにして、ユーザは具体的な選択理由の入力を行うことができる。
【0091】
図3での説明に戻り、提示制御部210は、提示部220に提示された選択理由に対する入力があったか否かを判定する(ステップS35)。具体的には、提示制御部210は、提示部220に提示された選択理由に対して、入力部230を介してユーザの操作があったか否かを判定する。
【0092】
提示制御部210は、提示部220に提示された選択理由の入力がない場合(ステップS35でNo)、提示部220に提示された選択理由の入力があるまでステップS35での処理を繰り返す。
【0093】
提示制御部210は、提示部220に提示された選択理由の入力があった場合(ステップS35でYes)、選択肢及び選択理由の入力結果を通信部240を介してサーバ100へ送信する(ステップS36)。例えば、ユーザがチキンボールを献立に採用せず、その理由が大嫌いという理由の場合、選択肢の入力結果はチキンボールを採用しないことを示し、選択理由の入力結果はチキンボールを採用しないことの理由が大嫌いという理由であることを示す。
【0094】
なお、ステップS31で選択理由を受信しない場合、つまり、
図2BのステップS27のようにサーバ100から飲食物データ及び選択肢が送信され選択理由が送信されない場合、ステップS34及びステップS35での処理が行われなくてもよく、ステップS36で選択理由の入力結果が送信されなくてもよい。
【0095】
図5は、実施の形態に係るサーバ100の入力結果の受信時の動作の一例を示すフローチャートである。
【0096】
訓練部120は、通信部140が選択肢及び選択理由の入力結果を提示装置200から受信したか否かを判定する(ステップS41)。
【0097】
訓練部120は、通信部140が選択肢及び選択理由の入力結果を提示装置200から受信していないと判定した場合(ステップS41でNo)、通信部140が選択肢及び選択理由の入力結果を受信するまでステップS41での処理を繰り返す。
【0098】
訓練部120は、通信部140が選択肢及び選択理由の入力結果を提示装置200から受信したと判定した場合(ステップS41でYes)、選択理由の入力結果に応じて、飲食物データを用いた機械学習モデルの訓練を制御する(ステップS42)。
【0099】
例えば、訓練部120は、選択理由の入力結果に応じて訓練のパラメタを決定し、決定したパラメタで機械学習モデルを訓練してもよい。訓練のパラメタは、例えば、飲食物データの重み付けパラメタである。例えば、訓練部120は、選択理由の入力結果に応じて選択理由に対応する入力ベクトルの重み付けを決定する。また、訓練のパラメタは、強化学習の報酬であってもよい。例えば、訓練部120は、選択された選択理由が「大嫌い」である場合、飲食物データ「チキンボール」について献立候補として提案しにくくなる方に、訓練の効果が高いパラメタでモデルを訓練する。また例えば、訓練部120は、選択された選択理由が「昨日も食べた」である場合、飲食物データ「チキンボール」について献立候補として提案しにくくなる方であるが、訓練の効果は低いパラメタでモデルを訓練する。
【0100】
また、例えば、訓練部120は、選択肢の入力結果にも応じて訓練のパラメタを決定してもよい。選択肢の入力は、選択理由の入力と関連しており、このような選択理由の入力と関連のある選択肢の入力も用いて訓練が制御されることにより、訓練の効果を向上させることができる。
【0101】
なお、選択理由の入力結果又は選択肢の入力結果は、選択理由又は選択肢についての入力の方向、強さ又は速さを含んでいてもよい。例えば、選択肢及び選択理由の入力がフリック入力である場合、選択理由の入力結果又は選択肢の入力結果は、選択理由又は選択肢についてフリック入力をする際の、フリック入力の方向、強さ又は速さを含んでいてもよい。
【0102】
例えば、選択理由の入力が遅い場合、訓練部120は、訓練の効果が低くなる訓練のパラメタを決定する。例えば、選択理由の入力が遅い場合、訓練部120は、飲食物データの重み付けパラメタを小さくする。選択理由の入力が遅い場合、ユーザは選択理由を迷った上で入力したと考えられ、このとき入力された選択理由はユーザに当てはまっていない選択理由となっている可能性があるためである。
【0103】
例えば、選択理由の入力が速い場合、訓練部120は、訓練の効果が高くなる訓練のパラメタを決定する。例えば、選択理由の入力が速い場合、訓練部120は、飲食物データの重み付けパラメタを大きくする。選択理由の入力が速い場合、ユーザは選択理由を迷わずに入力したと考えられ、このとき入力された選択理由はユーザに当てはまっている選択理由となっている可能性があるためである。
【0104】
また、例えば、訓練部120は、選択理由の入力結果に応じて訓練の有無を決定してもよい。つまり、訓練部120は、選択理由の入力結果によっては機械学習モデルの訓練を行わなくてよい。例えば、選択理由の入力結果が学習効率の良いデータである場合に訓練を行い、選択理由の入力結果が学習効率の悪いデータである場合には訓練を行わないようにすることで、機械学習モデルの訓練を効率的に行うことができる。また、学習効率の悪いデータが収集されないため、機械学習モデルの訓練のためのデータを記憶する記憶容量を削減できる。例えば、訓練部120は、選択された選択理由が「大嫌い」である場合は、飲食物データ「チキンボール」について献立候補として提案しにくくなるようにモデルを訓練するが、選択された選択理由が「昨日も食べた」である場合は、飲食物データ「チキンボール」についての訓練を実行しない。
【0105】
次に、訓練部120は、選択肢の入力結果が肯定的であるか否かを判定する(ステップS43)。例えば、ユーザが「Yes」の選択肢の画像が提示された側にフリック入力を行った場合、選択肢の入力結果は肯定的となり、ユーザが「No」の選択肢の画像が提示された側にフリック入力を行った場合、選択肢の入力結果は否定的となる。
【0106】
選択肢の入力結果が肯定的な場合(ステップS43でYes)、コンテンツ提案部110は、飲食物データに対応付けられた他の飲食物データを決定する(ステップS44)。選択肢の入力結果が肯定的な場合とは、例えば、提示された飲食物データが献立に採用される場合である。献立に採用された飲食物データに対応付けられた他の飲食物データとは、献立に採用された飲食物データと相性の良い飲食物データである。具体的には、採用された飲食物データが和食の主菜である場合、他の飲食物データは、当該和食の主菜に合う和食の副菜又は和食の汁物等である。
【0107】
一方で、選択肢の入力結果が否定的な場合(ステップS43でNo)、コンテンツ提案部110は、選択理由の入力結果に基づいて次の飲食物データを決定する(ステップS45)。選択肢の入力結果が否定的な場合とは、例えば、提示された飲食物データが献立に採用されない場合である。次の飲食物データとは、提示された飲食物データを採用しなかった選択理由に当てはまらない飲食物データである。例えば、提示された飲食物データが主菜のチキンボールであり、採用しなかった選択理由が昨日も食べたという理由である場合には、次の飲食物データは、昨日の献立に含まれる飲食物データとは異なる飲食物データであって、主菜になり得る飲食物データとなる。
【0108】
そして、コンテンツ提案部110は、決定された飲食物データに対しても選択肢を生成し(ステップS46)、選択肢に応じて選択理由を生成し(ステップS47)、通信部140は、決定された飲食物データ、選択肢及び選択理由を提示装置200へ送信する(ステップS48)。これにより、コンテンツ提案部110は、決定された飲食物データについても提示装置200を介して提示することになり、
図2A、
図2B、
図3及び
図5に示される処理が行われる。
【0109】
なお、いくつかの飲食物データが採用されて献立の構成要素が全て決定した場合には、ステップS43以降の処理が行われず、処理が終了してもよい。
【0110】
また、ステップS41で選択理由の入力結果を受信しない場合、つまり、
図2BのステップS27のようにサーバ100から飲食物データ及び選択肢が送信され選択理由が送信されず、
図3のステップS36で選択理由の入力結果が送信されない場合、ステップS42での処理が行われなくてもよい。
【0111】
なお、飲食物データ、選択肢及び選択理由をいったん提示しては、その入力結果に応じて機械学習モデルの訓練を制御するということを1つの飲食物データ毎に繰り返さなくてもよい。すなわち、複数の飲食物データ、並びに、複数の飲食物データのそれぞれの選択肢及び選択理由が提示装置200にまとめて送信されてもよい。この場合、提示装置200では、受信した複数の飲食物データのそれぞれについて
図3のステップS32からステップS35での処理を繰り返し、複数の飲食物データのそれぞれの選択肢及び選択理由の入力結果がまとめてサーバ100に送信されてもよい。そして、複数の飲食物データのそれぞれの選択肢及び選択理由の入力結果に応じて機械学習モデルの訓練が制御されてもよい。
【0112】
以上説明したように、例えば、ユーザの飲食物データに対する感想はその時々の天候、体調、気分及び予定等により変化し曖昧な場合があるため、このような曖昧な感想は、飲食物データを用いた機械学習モデルにとって学習効率の悪いデータとなるおそれがある。そこで、飲食物データに対する選択肢に応じて選択理由(具体的には複数の選択理由の候補)を生成しておき、生成した選択理由を提示装置に提示してユーザに提示された選択理由の中から選択理由を入力させる。選択理由の入力結果は、ユーザがその都度思いつく感想ではなく、具体的に生成され提示された選択理由からユーザに採用されたものであるため、このような具体的な選択理由の入力結果に応じて機械学習モデルの訓練を制御することで、飲食物データを用いた機械学習モデルの訓練を効率的に行うことができる。
【0113】
(変形例)
次に、
図6Aから
図10を用いて実施の形態の変形例について説明する。
【0114】
実施の形態の変形例におけるサーバ100及び提示装置200の構成は、実施の形態におけるものと同じであるが、機能が実施の形態におけるものと異なる。
【0115】
図6Aは、実施の形態の変形例に係るサーバ100の飲食物データ等の送信時の動作の一例を示すフローチャートである。
【0116】
コンテンツ提案部110は、飲食物データを記憶部130から取得し(ステップS51)、取得された飲食物データに対する選択肢を生成する(ステップS52)。
【0117】
次に、コンテンツ提案部110は、飲食物データの属性を生成する(ステップS53)。飲食物データの属性とは、例えば、飲食物データの食材、調理法又は味付け等であり、具体的には、提示装置200上では「食材」、「調理法」及び「味」のように提示される。
【0118】
次に、コンテンツ提案部110は、属性に対応する選択理由を生成する(ステップS54)。例えば、属性に対応する選択理由は、取得された飲食物データを今日の献立に採用する理由のうち当該属性に着目したときの理由の候補、及び、今日の献立に採用しない理由のうち当該属性に着目したときの理由の候補等であり、具体的には、提示装置200上に「好き」、「嫌い」及び「昨日も食べた」のように提示される。
【0119】
そして、通信部140は、飲食物データ、選択肢、属性及び選択理由を提示装置200へ送信する(ステップS55)。具体的には、通信部140は、飲食物データ、選択肢、属性及び選択理由を含むUIデータを提示装置200へ送信する。これにより、選択肢、属性及び選択理由が提示装置200に提示されるため、コンテンツ提案部110は、選択肢、属性及び選択理由を提示装置200を介して提示することになる。
【0120】
なお、訓練部120により訓練が制御される機械学習モデルは、訓練がある程度進めば、飲食物データを機械学習モデルに入力して得られる飲食物データの属性毎の選択理由の採否の予測値を出力してもよい。すなわち、機械学習モデルは、入力された飲食物データの属性に対応する選択理由のそれぞれに対してユーザが採用するか否かの予測値を属性毎に出力してもよい。例えば、このような機械学習モデルを用いて属性に対応する選択理由の生成が制御されてもよい。これについて、
図6Bを用いて説明する。
【0121】
図6Bは、実施の形態の変形例に係るサーバ100の飲食物データ等の送信時の動作の他の一例を示すフローチャートである。
【0122】
コンテンツ提案部110は、飲食物データを記憶部130から取得し(ステップS61)、取得された飲食物データに対する選択肢を生成し(ステップS62)、飲食物データの属性を生成する(ステップS63)。
【0123】
次に、コンテンツ提案部110は、機械学習モデルから出力された飲食物データの属性毎の選択理由の採否の予測値を取得する(ステップS64)。例えば、訓練の結果、機械学習モデルに入力された飲食物データのある属性について特定の選択理由をユーザが採用する確率が高いと予測される場合、当該ある属性の予測値が高くなる。一方で、ユーザが機械学習モデルに入力された飲食物データのある属性についてどの選択理由を採用するかがはっきりしない場合、予測値は低くなる。
【0124】
次に、コンテンツ提案部110は、取得した予測値が閾値未満であるか否かを判定する(ステップS65)。
【0125】
コンテンツ提案部110は、取得した予測値が閾値未満である場合(ステップS65でYes)、予測値が閾値未満の属性について選択理由を生成する(ステップS66)。予測値が閾値未満の属性については、ユーザがどの選択理由を採用するかがはっきりしておらず、提示装置200に当該属性についての選択理由を提示してユーザに選択理由を入力させ、入力結果を用いて測値が閾値未満の属性について機械学習モデルの訓練をさらに行う必要があるためである。
【0126】
そして、通信部140は、飲食物データ、選択肢、属性及び属性に対応する選択理由を提示装置200へ送信する(ステップS67)。
【0127】
コンテンツ提案部110は、取得した予測値が閾値以上である場合、予測値が閾値以上の属性について選択理由を生成せず、通信部140は、飲食物データ、選択肢及び属性を提示装置200へ送信する(ステップS68)。つまり、コンテンツ提案部110は、予測値が閾値以上の属性についての選択理由を提示しない。予測値が閾値以上の属性については、ユーザがどの選択理由を採用するかがはっきりしており、提示装置200に当該属性について選択理由を提示してユーザに選択理由を入力させる必要がなく、入力結果を用いて予測値が閾値以上の属性について機械学習モデルの訓練をさらに行う必要がないためである。このように、選択理由の採否の予測値が閾値以上の属性は、その属性についてどの選択理由が選択されるかの訓練が進んでおり、このような属性については選択理由を提示しないようにすることができる。つまり、わざわざ選択理由を入力させるという煩わしさをユーザに与えないようにすることができる。
【0128】
図7は、実施の形態の変形例に係る提示装置200の動作の一例を示すフローチャートである。
【0129】
提示制御部210は、通信部240が飲食物データ、選択肢、属性及び選択理由をサーバ100から受信したか否かを判定する(ステップS71)。具体的には、提示制御部210は、通信部240が飲食物データ、選択肢、属性及び選択理由を含むUIデータをサーバ100から受信したか否かを判定する。
【0130】
提示制御部210は、通信部240が飲食物データ、選択肢、属性及び選択理由をサーバ100から受信していないと判定した場合(ステップS71でNo)、通信部240が飲食物データ、選択肢及び選択理由を受信するまでステップS71での処理を繰り返す。
【0131】
提示制御部210は、通信部240が飲食物データ、選択肢、属性及び選択理由をサーバ100から受信したと判定した場合(ステップS71でYes)、飲食物データ及び選択肢を提示部220に提示する(ステップS72)。具体的には、提示制御部210は、飲食物データ、選択肢、属性及び選択理由を含むUIデータを用いて飲食物データの画像及び選択肢の画像を生成して、これらの画像を提示部220に提示する。
【0132】
次に、提示制御部210は、提示部220に提示された選択肢に対する入力があったか否かを判定する(ステップS73)。具体的には、提示制御部210は、提示部220に提示された選択肢に対して、入力部230を介してユーザの操作があったか否かを判定する。
【0133】
提示制御部210は、提示部220に提示された選択肢に対する入力がない場合(ステップS73でNo)、提示部220に提示された選択肢に対する入力があるまでステップS73での処理を繰り返す。
【0134】
提示制御部210は、提示部220に提示された選択肢に対する入力があった場合(ステップS73でYes)、飲食物データの属性を提示する(ステップS74)。具体的には、提示制御部210は、飲食物データ、選択肢、属性及び選択理由を含むUIデータを用いて飲食物データの属性の画像を生成して、当該画像を提示部220に提示する。
【0135】
次に、提示制御部210は、提示部220に提示された属性に対する入力があったか否かを判定する(ステップS75)。具体的には、提示制御部210は、提示部220に提示された属性に対して、入力部230を介してユーザの操作があったか否かを判定する。
【0136】
提示制御部210は、提示部220に提示された属性に対する入力がない場合(ステップS75でNo)、提示部220に提示された属性に対する入力があるまでステップS75での処理を繰り返す。
【0137】
提示制御部210は、提示部220に提示された属性に対する入力があった場合(ステップS75でYes)、当該属性に対応する選択理由を提示する(ステップS76)。具体的には、提示制御部210は、飲食物データ、選択肢、属性及び選択理由を含むUIデータを用いて属性に対応する選択理由の画像を生成して、当該画像を提示部220に提示する。
【0138】
ここで、提示部220に提示される飲食物データの画像及び選択肢の画像、提示された選択肢に対する入力があった場合に提示される属性の画像、並びに、提示された属性に対する入力があった場合に提示される選択理由の画像について
図8を用いて説明する。
【0139】
図8は、実施の形態の変形例に係る提示装置200で提示される画像の一例を示す図である。
図8の左側には、提示装置200に提示された飲食物データの画像及び選択肢の画像が示されている。
図8の中央には、提示装置200に提示された飲食物データの画像、選択肢の画像及び属性の画像が示されている。
図8の右側には、提示装置200に提示された飲食物データの画像、選択肢の画像、選択された属性の画像及び選択理由の画像が示されている。
【0140】
図8の左側に示されるように、ステップS72での処理では、飲食物データの画像として例えばチキンボールの画像と、選択肢の画像として例えば「Yes」の選択肢及び「No」の画像が提示装置200に提示される。また、「Yes」の選択肢の画像の周辺に、画面における「Yes」が提示された側にフリック入力することを促す矢印の画像が提示され、「No」の選択肢の画像の周辺に、画面における「No」が提示された側にフリック入力することを促す矢印の画像が提示される。これらの画像を見たユーザは、チキンボールを献立に採用する場合には、「Yes」の選択肢の画像が提示された側にフリック入力を行い、チキンボールを献立に採用しない場合には、「No」の選択肢の画像が提示された側にフリック入力を行う。このようにして、ユーザは選択肢に対する入力を行うことができる。
【0141】
例えば、ユーザが選択肢に対する入力として「No」の選択肢の画像が提示された側にフリック入力を行ったとする。この場合、
図8の中央に示されるように、属性の画像として「No」を選択した理由の種類となる飲食物の属性の画像が提示される。ここでは、属性の画像として「食材」、「調理法」及び「味」の画像が提示される。ユーザは、チキンボールを献立に採用しない理由が食材(例えば鶏肉)にある場合には、「食材」の画像に向けてフリック入力し、チキンボールを献立に採用しない理由が調理法(例えば揚げ物)にある場合には、「調理法」の画像に向けてフリック入力し、チキンボールを献立に採用しない理由が味付け(例えば塩味)にある場合には、「味」の画像に向けてフリック入力する。このようにして、ユーザは属性に対する入力を行うことができる。
【0142】
例えば、ユーザが属性に対する入力として「食材」の属性の画像が提示された側にフリック入力を行ったとする。この場合、
図8の右側に示されるように、画面における「No」が提示された側に、属性に対応する選択理由の画像として「No」を選択した選択理由のうち食材について選択理由の画像、つまり、チキンボールを献立に採用しないことについて食材に着目したときの理由の画像が提示される。ここでは、「食材」の属性に対応した選択理由の画像として「大嫌い」の画像及び「昨日も食べた」の画像が提示される。ユーザは、チキンボールを献立に採用しない理由が鶏肉が大嫌いという理由の場合には、「大嫌い」の画像へ向けてフリック入力し、チキンボールを献立に採用しない理由が鶏肉を昨日も食べたという理由の場合には、「昨日も食べた」の画像へ向けてフリック入力する。このようにして、ユーザは属性に対応する選択理由の入力を行うことができる。
【0143】
なお、選択理由の入力は、例えば、「大嫌い」及び「昨日も食べた」のように特定の選択理由の中から1つの選択理由を選択することで行われる例について説明したが、これに限らない。例えば、選択理由の程度が入力されてもよい。これについて
図9を用いて説明する。
【0144】
図9は、実施の形態の変形例に係る提示装置200で提示される画像の他の一例を示す図である。
図9には、属性に対する入力があった場合の選択理由の画像が示されている。
【0145】
図9には、属性の画像として、「好きだけど」、「なんとなく」及び「嫌い」の画像が示されているが、これらの画像に境界はなく1つの画像となっている。当該一体化している画像内の領域における上側に「好きだけど」が提示され、中央に「なんとなく」が提示され、下側に「嫌い」が提示される。当該領域の上側が選択されると食材の好みの程度が好きという傾向になり、当該領域の下側が選択されると食材の好みの程度が嫌いという傾向になる。このようにして、選択理由の程度が入力されてもよい。
【0146】
また、この場合、選択理由が曖昧であるほど訓練の効力が低くなるパラメタが決定されてもよい。例えば、訓練部120は、選択された選択理由が「なんとなく」である場合、飲食物データ「チキンボール」について献立候補として提案しにくくなる方であるが、訓練の効果は低いパラメタでモデルを訓練する。あるいは、選択理由が曖昧である場合、訓練が実行されなくてもよい。
【0147】
図7での説明に戻り、提示制御部210は、提示部220に提示された選択理由に対する入力があったか否かを判定する(ステップS77)。具体的には、提示制御部210は、提示部220に提示された選択理由に対して、入力部230を介してユーザの操作があったか否かを判定する。
【0148】
提示制御部210は、提示部220に提示された選択理由の入力がない場合(ステップS77でNo)、提示部220に提示された選択理由の入力があるまでステップS77での処理を繰り返す。
【0149】
提示制御部210は、提示部220に提示された選択理由の入力があった場合(ステップS77でYes)、選択肢及び選択理由の入力結果を通信部240を介してサーバ100へ送信する(ステップS78)。例えば、ユーザがチキンボールを献立に採用せず、その理由が食材(鶏肉)が大嫌いという理由の場合、選択肢の入力結果はチキンボールを採用しないことを示し、選択理由の入力結果はチキンボールを採用しないことの理由が鶏肉が大嫌いという理由であることを示す。
【0150】
なお、ステップS71で選択理由を受信しない場合、つまり、
図6BのステップS68のようにサーバ100から飲食物データ、選択肢及び属性が送信され選択理由が送信されない場合、ステップS76及びステップS77での処理が行われなくてもよく、ステップS78で選択理由の入力結果が送信されなくてもよい。
【0151】
図10は、実施の形態の変形例に係るサーバ100の入力結果の受信時の動作の一例を示すフローチャートである。
【0152】
訓練部120は、通信部140が選択肢及び選択理由の入力結果を提示装置200から受信したか否かを判定する(ステップS81)。
【0153】
訓練部120は、通信部140が選択肢及び選択理由の入力結果を提示装置200から受信していないと判定した場合(ステップS81でNo)、通信部140が選択肢及び選択理由の入力結果を受信するまでステップS81での処理を繰り返す。
【0154】
訓練部120は、通信部140が選択肢及び選択理由の入力結果を提示装置200から受信したと判定した場合(ステップS81でYes)、選択理由の属性毎の入力結果に応じて、飲食物データを用いた機械学習モデルの訓練を制御する(ステップS82)。
【0155】
例えば、訓練部120は、選択理由の属性毎の入力結果に応じて訓練のパラメタを決定し、決定したパラメタで機械学習モデルを訓練してもよい。また、例えば、訓練部120は、属性毎の選択理由の入力結果に応じて訓練の有無を決定してもよい。例えば、訓練部120は、選択された属性が食材で選択された選択理由が「大嫌い」である場合、飲食物データ「チキンボール」及び食材「鶏肉」について献立候補として提案しにくくなる方に、訓練の効果が高いパラメタでモデルを訓練する。すなわち、飲食物データと属性を訓練データとして機械学習モデルが訓練される。
【0156】
次に、訓練部120は、選択肢の入力結果が肯定的であるか否かを判定する(ステップS83)。
【0157】
選択肢の入力結果が肯定的な場合(ステップS83でYes)、コンテンツ提案部110は、飲食物データに対応付けられた他の飲食物データを決定する(ステップS84)。
【0158】
一方で、選択肢の入力結果が否定的な場合(ステップS83でNo)、コンテンツ提案部110は、選択理由の入力結果に基づいて属性の異なる飲食物データを決定する(ステップS85)。属性の異なる飲食物データとは、提示された飲食物データを採用しなかった属性に対する選択理由に当てはまらない飲食物データである。例えば、提示された飲食物データが主菜のチキンボールであり、採用しなかった選択理由が鶏肉を昨日も食べたという理由である場合には、次の飲食物データは、鶏肉を使った飲食物データとは異なる飲食物データ(つまり鶏肉を使わない飲食物データ)であって、主菜になり得る飲食物データとなる。これにより、提示された飲食物データに対する選択肢の入力結果が否定的な場合、属性が異なる(例えば食材、調理法又は味付け等が異なる)飲食物データを提示することができる。
【0159】
そして、コンテンツ提案部110は、決定された飲食物データに対しても選択肢を生成し(ステップS86)、属性を生成し(ステップS87)、属性に対応する選択理由を生成し(ステップS88)、通信部140は、決定された飲食物データ、選択肢、属性及び選択理由を提示装置200へ送信する(ステップS89)。これにより、コンテンツ提案部110は、決定された飲食物データについても提示装置200を介して提示することになり、
図6A、
図6B、
図7及び
図10に示される処理が行われる。
【0160】
なお、いくつかの飲食物データが採用されて献立の構成要素が全て決定した場合には、ステップS83以降の処理が行われず、処理が終了してもよい。
【0161】
また、ステップS81で選択理由の入力結果を受信しない場合、つまり、
図6BのステップS68のようにサーバ100から飲食物データ、選択肢及び属性が送信され選択理由が送信されず、
図7のステップS78で選択理由の入力結果が送信されない場合、ステップS82での処理が行われなくてもよい。
【0162】
なお、飲食物データ、選択肢、属性及び選択理由をいったん提示しては、その入力結果に応じて機械学習モデルの訓練を制御するということを1つの飲食物データ毎に繰り返さなくてもよい。すなわち、複数の飲食物データ、並びに、複数の飲食物データのそれぞれの選択肢、属性及び選択理由が提示装置200にまとめて送信されてもよい。この場合、提示装置200では、受信した複数の飲食物データのそれぞれについて
図7のステップS72からステップS77での処理を繰り返し、複数の飲食物データのそれぞれの選択肢及び選択理由の入力結果がまとめてサーバ100に送信されてもよい。そして、複数の飲食物データのそれぞれの選択肢及び選択理由の入力結果に応じて機械学習モデルの訓練が制御されてもよい。
【0163】
以上説明したように、飲食物データに対する選択肢の選択理由には、飲食物データの食材、調理法又は味付け等の属性毎に様々な理由がある。そこで、属性に対応する選択理由を生成し提示して、属性毎の選択理由の入力結果に応じて機械学習モデルの訓練を制御することで、機械学習モデルの訓練を効率的に行うことができる。
【0164】
(その他の実施の形態)
以上、本開示の一つ又は複数の態様に係る情報処理方法及びサーバ100(情報処理システム)について、実施の形態に基づいて説明したが、本開示は、これらの実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を各実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本開示の一つ又は複数の態様の範囲内に含まれてもよい。
【0165】
例えば、フリック入力中に取得された音声が選択理由の入力結果として取得されてもよい。例えば、フリック入力が開始されたタイミングから完了するまでの間、提示装置200の音声入力機能がオンになり、その間にユーザが発話した音声が収音され音声認識結果を選択理由の入力結果としてもよい。
【0166】
また、例えば、
図9で説明したように、選択理由の程度が入力される場合に、例えば、選択肢として「Yes」が選択されたにもかかわらず、選択理由が「なんとなく」又は「嫌い」等の場合には、積極的に「Yes」が選択されていないため不満点をユーザが聞き出す具体的な選択肢を生成して不満点を入力させて、当該入力結果を用いて学習してもよい。また、選択理由の程度が入力される場合に、例えば、選択肢として「No」が選択され、選択理由が「大嫌い」等の場合には「No」であることを強く学習してもよい。
【0167】
また、例えば、選択肢及び選択理由等の入力はフリック入力に限らず、タップ入力又はスワイプ入力等であってもよい。
【0168】
また、例えば、選択肢の入力の速さ又は強さに応じて、選択理由の提示が制御されてもよい。例えば、選択肢の入力の速さが速い又は強さが強い場合、ユーザは提示されている飲食物データの画像の見た目で選択肢を選択している可能性が高い。このため、選択理由として見た目に関連するものが提示されてもよい。また、例えば、選択肢の入力の速さが遅い又は強さが弱い場合、ユーザは提示されている飲食物データの選択に対して何かしらの理由があって悩んでいる可能性がある。このため、選択理由として別の具体的なものが提示されてもよい。
【0169】
また、例えば、飲食物が写る画像又は飲食物の料理名等を含む飲食物データの特徴に基づいて選択理由が生成されてもよい。例えば、飲食物データの画像から飲食物データの色の特徴を抽出して色の特徴に基づいて選択理由が生成されてもよい。具体的には、画像に緑色があまり含まれていない場合には、「野菜が少ない」といった選択理由が生成されてもよい。また、例えば、飲食物データの料理名から飲食物データの属性の特徴を抽出して属性の特徴に基づいて選択理由が生成されてもよい。具体的には、料理名が「豚肉ともやしの炒め物」である場合には、「豚肉」、「もやし」及び「炒め物」といった選択理由が生成されてもよい。また、飲食物データに「時短」といったタグが対応付けられている場合には、「時短」といった選択理由が生成されてもよい。
【0170】
また、例えば、献立への肯定的又は否定的な選択肢が提示される例について説明したが、レシピ、外食又は中食等に対して肯定的又は否定的な選択肢が提示されてもよい。
【0171】
また、例えば、選択理由又は選択肢の入力結果に応じて訓練を制御する例について説明したが、情報処理システム100は、選択理由又は選択肢の入力結果に応じて訓練用にデータを選別してもよい。
【0172】
例えば、
図4の例で説明すると、訓練部120は、選択された選択理由が「大嫌い」である場合、飲食物データ「チキンボール」を、献立候補として提案しにくくなる方に訓練の効果が高いパラメタで訓練すべきデータとして分類する。また例えば、訓練部120は、選択された選択理由が「昨日も食べた」である場合、飲食物データ「チキンボール」を、献立候補として提案しにくくなる方であるが訓練の効果は低いパラメタで訓練すべきデータとして分類する。あるいは、後者の場合、当該飲食物データが訓練すべきデータではないと判別されてもよい。
【0173】
また、例えば、
図8の例で説明すると、訓練部120は、選択された選択理由が「大嫌い」である場合、飲食物データ「チキンボール」及び食材「鶏肉」の組合せを、献立候補として提案しにくくなる方に訓練の効果が高いパラメタで訓練すべきデータとして分類する。
【0174】
また、例えば、
図9の例で説明すると、訓練部120は、選択された選択理由が「なんとなく」である場合、飲食物データ「チキンボール」及び食材「鶏肉」について献立候補として提案しにくくなる方であるが、訓練の効果は低いパラメタでモデルを訓練する。あるいは、当該飲食物データ及び食材の組合せが訓練すべきデータではないと判別されてもよい。
【0175】
本開示は、情報処理方法に含まれるステップを、プロセッサに実行させるためのプログラムとして実現できる。さらに、本開示は、そのプログラムを記録したCD-ROM等である非一時的なコンピュータ読み取り可能な記録媒体として実現できる。
【0176】
例えば、本開示が、プログラム(ソフトウェア)で実現される場合には、コンピュータのCPU、メモリ及び入出力回路等のハードウェア資源を利用してプログラムが実行されることによって、各ステップが実行される。つまり、CPUがデータをメモリ又は入出力回路等から取得して演算したり、演算結果をメモリ又は入出力回路等に出力したりすることによって、各ステップが実行される。
【0177】
なお、上記実施の形態において、サーバ100に含まれる各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPU又はプロセッサなどのプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0178】
上記実施の形態に係るサーバ100の機能の一部又は全ては典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部又は全てを含むように1チップ化されてもよい。また、集積回路化はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、又はLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【0179】
さらに、本開示の主旨を逸脱しない限り、本開示の各実施の形態に対して当業者が思いつく範囲内の変更を施した各種変形例も本開示に含まれる。
【産業上の利用可能性】
【0180】
本開示の情報処理方法等は、例えば、ユーザの飲食物の嗜好を学習する装置に適用できる。
【符号の説明】
【0181】
100 サーバ
110 コンテンツ提案部
120 訓練部
130 記憶部
140 通信部
200 提示装置
210 提示制御部
220 提示部
230 入力部
240 通信部