IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特開2024-147197トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム
<>
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図1
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図2
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図3
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図4
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図5
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図6
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図7
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図8
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図9
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図10
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図11
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図12
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図13
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図14
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図15
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図16
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図17
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図18
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図19
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図20
  • 特開-トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024147197
(43)【公開日】2024-10-16
(54)【発明の名称】トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラム
(51)【国際特許分類】
   A63B 69/00 20060101AFI20241008BHJP
   A63B 71/06 20060101ALI20241008BHJP
   G09B 19/00 20060101ALI20241008BHJP
【FI】
A63B69/00 C
A63B71/06 M
G09B19/00 H
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2023060056
(22)【出願日】2023-04-03
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】上田 将司
(57)【要約】
【課題】対象に向けたトレーニングを好適に支援する。
【解決手段】本番結果予測部143は、予測対象とするユーザ(以下、対象ユーザ)がこれまで実行したトレーニングのトレーニングデータとマラソン大会などの本番である対象の内容(本番で走る距離)及び対象の日程(対象の行われる時点)などを学習済みトレーニング推定モデルに入力して、本番である対象の内容についての結果(タイム)を確率分布で予測する。
【選択図】図1
【特許請求の範囲】
【請求項1】
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容とを入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測する本番結果予測手段、
を備える、
ことを特徴とするトレーニング支援装置。
【請求項2】
前記本番結果予測手段による予測結果を出力する予測結果出力手段と、
前記対象の時点における前記対象の内容についての目標を取得する目標取得手段と、
前記学習済みトレーニング推定モデルに、前記あるトレーニングデータと前記対象の時点と前記対象の内容と前記目標取得手段が取得した前記目標とを入力して、前記目標を達成するためのトレーニングメニューを予測するトレーニングメニュー予測手段と、
をさらに備える、
ことを特徴とする請求項1に記載のトレーニング支援装置。
【請求項3】
前記学習済みトレーニング推定モデルは、
トレーニングを行った時点及び内容と当該トレーニングの結果とを含む前記トレーニングデータを教師データとして機械学習することで得られる、あるトレーニングデータと対象の時点及び対象の内容とを入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測する学習済みトレーニング推定モデルである、
ことを特徴とする請求項1に記載のトレーニング支援装置。
【請求項4】
前記教師データは、対象者が前記トレーニングを行った際に得られる当該対象者の状態を示す指標値をさらに含む、
ことを特徴とする請求項3に記載のトレーニング支援装置。
【請求項5】
前記学習済みトレーニング推定モデルを生成するモデル生成手段、
をさらに備える、
ことを特徴とする請求項3に記載のトレーニング支援装置。
【請求項6】
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容と前記対象の時点における前記対象の内容についての目標とを入力して、前記目標を達成するためのトレーニングメニューを予測するトレーニングメニュー予測手段、
を備える、
ことを特徴とするトレーニング支援装置。
【請求項7】
前記学習済みトレーニング推定モデルは、
トレーニングを行った時点及び内容と当該トレーニングの結果とを含む前記トレーニングデータを教師データとして機械学習することで得られる、あるトレーニングデータと対象の時点及び対象の内容と前記対象の時点における前記対象の内容についての目標とを入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測する学習済みトレーニング推定モデルである、
ことを特徴とする請求項6に記載のトレーニング支援装置。
【請求項8】
前記学習済みトレーニング推定モデルを生成するモデル生成手段、
をさらに備える、
ことを特徴とする請求項6に記載のトレーニング支援装置。
【請求項9】
前記学習済みトレーニング推定モデルは、確率拡散モデルである、
ことを特徴とする請求項1~8の何れか一項に記載のトレーニング支援装置。
【請求項10】
前記トレーニングデータは、対象者が実行するランニング又は勉強のトレーニングに関するトレーニングデータである、
ことを特徴とする請求項1~8の何れか一項に記載のトレーニング支援装置。
【請求項11】
前記あるトレーニングデータは、対象者が所定の時点よりも前に実行したトレーニングのトレーニングデータであって、前記所定の時点よりも前にトレーニングを実行した時点と当該トレーニングの内容と当該トレーニングの結果とを含む、
ことを特徴とする請求項1~8の何れか一項に記載のトレーニング支援装置。
【請求項12】
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容とを入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測する、
ことを特徴とするトレーニング支援方法。
【請求項13】
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容と前記対象の時点における前記対象の内容についての目標とを入力して、前記目標を達成するためのトレーニングメニューを予測する、
ことを特徴とするトレーニング支援方法。
【請求項14】
コンピュータを、
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容とを入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測する本番結果予測手段、として機能させる、
ことを特徴とするプログラム。
【請求項15】
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容と前記対象の時点における前記対象の内容についての目標とを入力して、前記目標を達成するためのトレーニングメニューを予測するトレーニングメニュー予測手段、として機能させる、
ことを特徴とするプログラム。
【請求項16】
第1情報処理装置と、第2情報処理装置とを備えるトレーニング支援システムであって、
前記第1情報処理装置は、
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容とを入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測する本番結果予測手段、を備え、
前記第2情報処理装置は、
前記本番結果予測手段による予測結果を出力する予測結果出力手段と、
前記対象の時点における前記対象の内容についての目標を取得する目標取得手段と、を備え、
前記第1情報処理装置は、
前記学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容と前記対象の時点における前記目標取得手段が取得した前記目標とを入力して、前記目標を達成するためのトレーニングメニューを予測するトレーニングメニュー予測手段、をさらに備える、
ことを特徴とするトレーニング支援システム。
【請求項17】
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容とを入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測し、
予測結果を出力し、
前記対象の時点における前記対象の内容についての目標を取得し、
前記学習済みトレーニング推定モデルに、あるトレーニングデータと前記対象の時点及び前記対象の内容と取得した前記目標とを入力して、前記目標を達成するためのトレーニングメニューを予測する、
ことを特徴とするトレーニング支援方法。
【請求項18】
トレーニングを行った時点及び内容と当該トレーニングの結果とを含むトレーニングデータを教師データとして機械学習することで、あるトレーニングデータと対象の時点及び対象の内容を入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測する学習済みトレーニング推定モデルを生成する方法。
【請求項19】
トレーニングを行った時点及び内容と当該トレーニングの結果とを含むトレーニングデータを教師データとして機械学習することで、あるトレーニングデータと対象の時点及び対象の内容と前記対象の時点における前記対象の内容についての目標とを入力して、前記目標を達成するためのトレーニングメニューを予測する学習済みトレーニング推定モデルを生成する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、トレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラムに関する。
【背景技術】
【0002】
情報処理の技術を活用してランニングなどのトレーニングを支援する技術が知られている。例えば、特許文献1には、ユーザ情報DB(データベース)、トレーニング履歴DBおよびトレーニング情報DBなどを参照して、入力されたユーザデータに基づいて、ユーザに最適なトレーニング方法とトレーニングメニュー及び目標値を分析・設定してユーザに提示する発明について記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004-016738号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ユーザは、マラソン大会などの本番などである対象でよい結果を得るためにトレーニングを行っている場合が多い。特許文献1に記載の技術では、ユーザデータに基づいてトレーニングメニューや目標値等を提示するだけであり、本番に向けたトレーニングを支援するものではない。
【0005】
本発明は、上記実情に鑑みてなされたものであり、対象に向けたトレーニングを好適に支援することが可能なトレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明に係るトレーニング支援装置は、
学習済みトレーニング推定モデルに、あるトレーニングデータと対象の時点及び対象の内容とを入力して、前記対象の時点における前記対象の内容についての結果を確率分布で予測する本番結果予測手段、
を備える、
ことを特徴とする。
【発明の効果】
【0007】
本発明によれば、対象に向けたトレーニングを好適に支援することが可能となる。
【図面の簡単な説明】
【0008】
図1】本発明の実施形態1に係るトレーニング支援装置のブロック図である。
図2】本発明の実施形態1に係るトレーニングデータの構成例を示す図である。
図3】本発明の実施形態1に係るトレーニング支援装置が実行するモデル生成処理を説明するためのフローチャートである。
図4】本発明の実施形態1に係るマスクされたトレーニングデータの例を示す図である。
図5】本発明の実施形態1に係るトレーニング支援装置が実行するトレーニング支援処理を説明するためのフローチャートである。
図6】本発明の実施形態1に係るトレーニング支援装置が実行する本番結果予測処理を説明するためのフローチャートである。
図7】本発明の実施形態1に係る対象ユーザのトレーニングデータの構成例を示す図である。
図8】本発明の実施形態1に係る本番結果予測用データの構成例を示す図である。
図9】本発明の実施形態1に係るノイズが入力された本番結果予測用データの構成例を示す図である。
図10】本発明の実施形態1に係るモデルによる推定後の本番結果予測用データの構成例を示す図である。
図11】本発明の実施形態1に係る大会タイムの予測結果の表示例を示す図である。
図12】本発明の実施形態1に係るトレーニング支援装置が実行するトレーニングメニュー予測処理を説明するためのフローチャートである。
図13】本発明の実施形態1に係るトレーニングメニュー予測用データの構成例を示す図である。
図14】本発明の実施形態1に係るノイズが入力されたトレーニングメニュー予測用データの構成例を示す図である。
図15】本発明の実施形態1に係るモデルによる推定後のトレーニングメニュー予測用データの構成例を示す図である。
図16】本発明の実施形態1に係るトレーニングメニュー表示画面の例を示す図である。
図17】本発明の実施形態2に係るトレーニングデータの例を示す図である。
図18】本発明の実施形態2に係る本番結果予測用データの構成例を示す図である。
図19】本発明の実施形態2に係るトレーニングメニュー予測用データの構成例を示す図である。
図20】本発明の実施形態3に係るトレーニング支援システムのブロック図である。
図21】変形例に係るトレーニングデータの構成例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態に係るトレーニング支援装置、トレーニング支援システム、トレーニング支援方法、トレーニング推定モデルを生成する方法及びプログラムについて、図面を参照しながら説明する。図中、互いに同一の構成には、互いに同一の符号を付す。
【0010】
(実施形態1)
以下、本発明の実施形態1に係るトレーニング支援装置1について説明する。トレーニング支援装置1は、ユーザが行うランニングのトレーニングを支援するための装置である。図1に示すように、トレーニング支援装置1は、通信部11と、操作部12と、表示部13と、制御部14と、記憶部15とを備える。ユーザは、対象者の一例である。
【0011】
通信部11は、インターネット、近距離無線通信等のネットワークを介して外部機器と通信するためのインターフェースである。ここでの外部機器は、例えば、トレーニングをするユーザのスマートフォン、ウェアラブル端末、PCなどである。
【0012】
操作部12は、キーボード、マウス等の入力装置であり、ユーザから受け付けた入力操作に応じた信号を制御部14に出力する。例えば、操作部12は、マラソン大会での目標タイムの入力をユーザから受け付ける。
【0013】
表示部13は、液晶ディスプレイ等の表示装置であり、制御部14からの指示に基づいて、各種の情報を表示する。例えば、表示部13は、マラソン大会での予測タイムを確率分布で表示したり、大会で目標タイムを達成可能なトレーニングメニューを表示したりする。
【0014】
制御部14は、CPU(Central Processing Unit)、OS(Operation System)等のプログラムを記憶するROM(Read Only Memory)、ワークエリアとなるRAM(Random Access Memory)等を備え、トレーニング支援装置1の全体を制御する。また、制御部14は、本実施形態に係る機能的な構成として、トレーニングデータ取得部141と、モデル生成部142と、本番結果予測部143と、予測結果出力部144と、トレーニングメニュー予測部145と、トレーニングメニュー出力部146とを備える。制御部14は、記憶部15に記憶されたプログラムを実行することにより、これらの各部として機能する。
【0015】
トレーニングデータ取得部141は、ユーザが行ったトレーニングの内容を示すトレーニングデータを取得して記憶部15のトレーニング履歴DB151に格納する。トレーニングデータは、教師データの一例である。図2に、トレーニングデータの例を示す。実施形態1では、ユーザは、トレーニングとしてランニングを行うため、トレーニングデータには、これまで行ったトレーニングの回数と、走行時間と、走行距離と、ランニング中のユーザの状態を示す走行指標値(例えば、腰の上下動、左右動、前傾角、ピッチ)などが含まれる。また、図2では図示しないが、トレーニングデータには、トレーニングを実行したユーザの識別情報であるユーザIDが付されている。例えば、ユーザがウェアラブル端末を身につけてランニングをした場合、ウェアラブル端末は走行距離、走行時間、走行指標値などを計測することができる。そのため、トレーニングデータ取得部141は、トレーニング終了後、通信部11を介してウェアラブル端末に接続してこれらの測定値を取得し、トレーニング履歴DB151に格納されているトレーニングデータを更新すればよい。或いは、トレーニングデータ取得部141は、操作部12を介して、トレーニングデータの入力をユーザから受け付けることでトレーニングデータを取得、更新してもよい。なお、マラソン大会などにユーザが出場した場合でも、ユーザがランニングをしていることには代わりはないので、トレーニングデータにその内容が記録される。例えば、図2のトレーニングデータが示す50回目のトレーニングは、走行距離が「42.195km」であり、実際はマラソン大会の内容を表している。トレーニング履歴DB151には、複数のユーザのトレーニングデータが格納されている。なお、走行指標値を含まないトレーニングデータから後述するトレーニング推定モデルを生成してもよいが、トレーニングデータに走行指標値を含めることで、トレーニング推定モデルの予測精度を高めることができる。また、トレーニングデータ取得部141が取得するトレーニングデータは、ユーザが実際に行ったトレーニングに限定されるものではなく、シミュレーションとして入力したトレーニングデータなどをトレーニングデータ取得部141が取得してもよい。
【0016】
図1に戻り、モデル生成部142は、トレーニング履歴DB151に蓄積されている大量のトレーニングデータを機械学習して、これまでに実行されたトレーニングの内容から将来のトレーニングの内容を出力するトレーニング推定モデルを生成して記憶部15のモデル記憶DB152に格納する。本実施形態では、トレーニング推定モデルは、確率拡散モデルであるため、将来のトレーニングの内容を確率分布で出力することができる。モデル生成部142が実行する処理の詳細については後述する。モデル生成部142は、モデル生成手段の一例である。
【0017】
本番結果予測部143は、予測対象とするユーザ(以下、対象ユーザ)がこれまで実行したトレーニングのトレーニングデータとマラソン大会などの本番である対象の内容(本番で走る距離)及び対象の日程(対象の行われる時点)などを学習済みトレーニング推定モデルに入力して、本番である対象の内容についての結果(タイム)を確率分布で予測する。本番結果予測部143が実行する処理の詳細については後述する。本番結果予測部143は、本番結果予測手段の一例である。
【0018】
予測結果出力部144は、本番結果予測部143が予測した予測タイムを確率分布で表示部13又は対象ユーザのスマートフォンなどに出力する。予測結果出力部144は、予測結果出力手段の一例である。
【0019】
目標取得部147は、操作部12がユーザから受け付けた目標(マラソン大会での目標タイム)を取得する。なお、目標取得部147は、外部の端末等からネットワークを介して目標を取得してもよい。目標取得部147は、目標取得手段の一例である。
【0020】
トレーニングメニュー予測部145は、対象ユーザがこれまでに実行したトレーニングのトレーニングデータ、本番である対象の内容、対象の日程、及び取得した目標タイムをトレーニング推定モデルに入力して、目標タイムを本番で達成するためのトレーニングメニューを予測する。トレーニングメニュー予測部145が実行する処理の詳細については後述する。トレーニングメニュー予測部145は、トレーニングメニュー予測手段の一例である。
【0021】
トレーニングメニュー出力部146は、トレーニングメニュー予測部145が予測したトレーニングメニューを表示部13又は対象ユーザのスマートフォンなどに出力する。トレーニングメニュー出力部146は、トレーニングメニュー出力手段の一例である。
【0022】
記憶部15は、いわゆる二次記憶装置(補助記憶装置)としての役割を担い、例えば、読み書き可能な不揮発性のフラッシュメモリ、ハードディスクドライブ等である。記憶部15には、制御部14が実行するプログラム及び各種のデータが記憶される。例えば、記憶部15には、上述したトレーニング履歴DB151やモデル記憶DB152が記憶される。トレーニング履歴DB151は、トレーニング履歴記憶手段の一例である。
【0023】
次に、トレーニング支援装置1の動作について説明する。始めにモデル生成処理について説明する。例えば、トレーニング履歴DB151に学習をするのに十分な人数のトレーニングデータが記憶されており、未だモデル記憶DB152にトレーニング推定モデルが記憶されていない場合や、前回トレーニング推定モデルを生成したときから長期間が経過している場合、モデル生成部142は、図3のフローチャートに示すモデル生成処理を実行する。
【0024】
まず、モデル生成部142は、トレーニング履歴DB151から、予め定めた人数分(例えば、100人分)のトレーニングデータをランダムに選択する(ステップS11)。
【0025】
続いて、モデル生成部142は、選択したトレーニングデータのそれぞれについて、n回目以降のトレーニングの内容をマスクする(ステップS12)。ここでの「n」は、2以上のランダムな整数である。また、選択したトレーニングデータの全てで「n」の値を同じにする必要はない。また、この際、トレーニングデータのうち、フルマラソン等の大会の距離に相当する走行距離については、n回目以降であってもマスクはしないようにする。また、この際、トレーニングデータのうち、フルマラソン等の大会の距離に相当する走行距離を走行した際の走行タイムについては、マスクするか否かを抽選により決定する。この抽選においてマスクをすると決定される確率は、予め任意の値に設定しておけばよい。本実施形態では、50%の確率でマスクすると決定されるように構成されている。図2に示すトレーニングデータで11回目以降をマスクした例を図4に示す。この図において、斜線の部分がマスクした部分である。この例では、50回目のトレーニングの走行距離はフルマラソンの距離であるため、マスク対象からは除外されている。また、この例では、抽選の結果に従い、50回目のトレーニングの走行タイムがマスクされている。なお、以下の説明では、トレーニングデータのうちマスクをした部分をマスク部分、それ以外の部分を非マスク部分とも表記する。
【0026】
図3に戻り、続いて、モデル生成部142は、機械学習の手法を用いてマスクした各トレーニングデータを学習して、非マスク部分からマスク部分を推定するトレーニング推定モデルを生成する(ステップS13)。具体的には、モデル生成部142は、各トレーニングデータで、トレーニング推定モデルを用いて非マスク部分から推定したマスク部分のトレーニング内容が、マスクされる前の内容となるべく一致するように、モデル関数の各パラメータを調整することでトレーニング推定モデルを生成する。
【0027】
続いて、モデル生成部142は、終了条件を満たしたか否かを判別する(ステップS14)。ここでの終了条件は、例えば、予め定めた人数以上のトレーニングデータで学習が完了した、ステップS13で生成したトレーニング推定モデルの精度が基準値以上、又は前回生成したトレーニング推定モデルよりも改善しなかった等の条件である。終了条件を満たさない場合(ステップS14;No)、モデル生成部142は、トレーニングデータを選択してトレーニング推定モデルを生成する処理を繰り返す(ステップS11~S13)。なお、モデル生成を繰り返す毎に、ステップS11で選択するトレーニングデータの数を増加させてもよい。
【0028】
一方、終了条件を満たす場合(ステップS14;Yes)、モデル生成部142は、ステップS13で生成したトレーニング推定モデルをモデル記憶DB152に格納する(ステップS15)。なお、既に記憶部15にトレーニング推定モデルが格納されている場合は、モデル生成部142は、今回生成したトレーニング推定モデルに更新する。以上でトレーニング推定モデル学習処理は終了する。
【0029】
(トレーニング支援処理)
続いて、トレーニング支援処理について説明する。なお、トレーニング支援処理の前に、上述したモデル生成処理が完了している必要がある。例えば、マラソンなどの大会に向けて日々トレーニングを行っている、当該トレーニングの支援対象となるユーザ(以下、対象ユーザ)は、トレーニング支援装置1の操作部12を操作して、自分のユーザIDを入力して、トレーニング支援処理の実行を指示する。当該指示を受けて、制御部14は、図5のフローチャートに示すトレーニング支援処理を実行する。
【0030】
トレーニング支援処理が開始されると、まず、制御部14は、対象ユーザから入力されたユーザIDでトレーニング履歴DB151を検索して、対象ユーザのトレーニングデータを取得する(ステップS21)。
【0031】
続いて、制御部14(本番結果予測部143)は、対象ユーザのトレーニングデータなどをトレーニング推定モデルに入力して、今後出場予定の本番の大会でのタイムを確率分布で予測する本番結果予測処理を実行する(ステップS22)。本番結果予測処理の詳細について、図6のフローチャートを用いて説明する。
【0032】
本番結果予測処理が開始されると、まず、ユーザは、操作部12を操作して、大会が開催される日程と走行距離、1週間当たりのトレーニングの実行回数を入力する。これにより、本番結果予測部143は、入力されたこれらの情報を取得する(ステップ221)。なお、ユーザは、1週間当たりのトレーニングの実行回数に替えて、1週間のうちトレーニングを実行する曜日を入力してもよい。
【0033】
続いて、本番結果予測部143は、ステップS221で取得した情報に基づいて、対象ユーザが大会までに実行可能なトレーニングの回数(以下、実行可能回数とも表記)を算出する(ステップS222)。例えば、大会が3週間後であり、対象ユーザの1週間当たりのトレーニングの実行回数が4回であれば、実行可能回数は12回と算出される。また、例えば、大会が3週間後であり、対象ユーザの1週間のうちトレーニングを実行する曜日が土曜日と日曜日であれば、実行可能回数は6回と算出される。
【0034】
続いて、本番結果予測部143は、本番の結果(大会タイム)を予測するためのトレーニングデータを準備する(ステップS223)。ステップS223で準備するトレーニングデータは、本番結果予測用データとも表記する。
【0035】
ここで、具体例を挙げてステップS223の処理について説明する。例えば、対象ユーザのトレーニングデータが図7であり、ステップS222で実行可能回数は9回と算出されたとする。この場合、制御部14は、対象ユーザのトレーニングデータに、実行可能回数分に相当する11回から19回までの9個の列を、走行距離、走行タイムなどは空欄のまま追加する。これは、大会までにこれから実行するトレーニングに相当する。そして、制御部14は、大会に相当する列を最後である20回目に追加する。ここで追加する列の走行距離は、大会で走る「42.195キロ」の固定値に設定し、他は空欄にしておく。以上で図8に示す本番結果予測用データが完成する。
【0036】
図6に戻り、続いて、本番結果予測部143は、本番結果予測用データをトレーニング推定モデルに入力して大会のタイムを予測する。即ち、まず、本番結果予測部143は、本番結果予測用データの空欄部分にノイズ(ランダムな値)を入力する(ステップS224)。そして、本番結果予測部143は、トレーニング推定モデルを用いて、本番結果予測用データのノイズ部分を推定することにより、大会のタイムを予測する(ステップS225)。
【0037】
例えば、図8に示す本番結果予測用データから大会タイムを予測する場合、まず図9に示すように、データの空欄部分にノイズ(網掛け部分がノイズを表す)が入力される。そして、トレーニング推定モデルによってノイズ部分が推定され、本番結果予測用データは最終的に図10に示すような状態となる。これにより、本番結果予測用データにおいて大会に相当する最終回の走行時間「200分」が、大会でのタイムとして予測される。
【0038】
図6に戻り、続いて、本番結果予測部143は、大会タイムを予測した回数が所定回数(例えば、100回)に達したか否かを判別する(ステップS226)。所定回数に達していない場合(ステップS226;No)、本番結果予測部143は、再度、ノイズを入力して大会のタイムを予測する処理を繰り返す(ステップS224~S225)。ステップS224で入力するノイズは乱数であり毎回異なるため、大会タイムの予測値も毎回異なる。
【0039】
一方、大会タイムを予測した回数が所定回数に達した場合(ステップS226;Yes)、本番結果出力部は、所定回数予測した大会タイムの予測値を、図11に示すような確率分布の形で表示部13に表示させる(ステップS227)。この図からも分かるように、予測タイムは正規分布に従うように分布している。以上で大会タイム予測処理は終了する。
【0040】
図5に戻り、大会タイム予測処理が終了すると、対象ユーザは、表示部13に表示された予測タイムの確率分布(図11)を参考にして大会の目標タイムを決定して、操作部12を操作して目標タイムを入力する。例えば、対象ユーザは、これまでに行ってきたトレーニングと同様のトレーニングを大会まで実行すると考えている場合は、予測タイムの分布で最も確率の高いタイムを入力すればよいし、これまでのトレーニングよりも負荷の高いトレーニングを実行する場合は、より早いタイムを入力すればよい。これにより、制御部14(目標取得部147)は、入力された目標タイムを取得する(ステップS23)。
【0041】
続いて、制御部14(トレーニングメニュー予測部145)は、トレーニング推定モデルを用いて、本番の大会で目標タイムを達成可能なトレーニングメニューを予測するトレーニングメニュー予測処理を実行する(ステップS24)。トレーニングメニュー予測処理の詳細について、図12のフローチャートを用いて説明する。
【0042】
まず、トレーニングメニュー予測部145は、大会で目標タイムを達成するためのトレーニングメニューを予測するためのトレーニングデータを準備する(ステップS241)。ステップS241で準備するトレーニングデータは、トレーニングメニュー予測用データとも表記する。トレーニングメニュー予測用データは、図8に示す本番結果予測用データの最終回の走行タイムに、取得した目標タイムが入力されている図13に示すようなデータである。この例では、目標タイムとして最終回の20回目に180分が入力されている。
【0043】
図12に戻り、続いて、トレーニングメニュー予測部145は、トレーニングメニュー予測用データをトレーニング推定モデルに入力してトレーニングメニューを予測する。即ち、まず、制御部14は、トレーニングメニュー予測用データの空欄部分にノイズ(ランダムな値)を入力する(ステップS242)。そして、トレーニングメニュー予測部145は、トレーニング推定モデルを用いて、トレーニングメニュー予測用データのノイズ部分を推定することにより、大会で目標タイムを達成するトレーニングメニューを予測する(ステップS243)。
【0044】
例えば、図13に示すトレーニングメニュー予測用データからトレーニングメニューを予測する場合、図14に示すように、データの空欄部分にノイズが入力される。そして、トレーニング推定モデルによってノイズ部分が推定され、トレーニングメニュー予測用データは図15に示すような状態となる。これにより、本番結果予測用データの推定された各回のトレーニングの内容(この例では、11回から19回のトレーニングの内容)が、本番で目標を達成するためのトレーニングメニュー(各回のトレーニングの走行距離、走行時間)として予測される。
【0045】
図12に戻り、続いて、トレーニングメニュー予測部145は、トレーニングメニューを予測した回数が所定回数(例えば、3回)に達したか否かを判別する(ステップS244)。所定回数に達していない場合(ステップS244;No)、再度、ノイズを入力してトレーニングメニューを推定する処理を繰り返す(ステップS242~S243)。毎回ステップS242で入力するノイズは異なるため、トレーニングメニューの予測結果も毎回異なる。
【0046】
一方、トレーニングメニューを算出した回数が所定回数に達した場合(ステップS244;Yes)、トレーニングメニュー出力部146は、所定回数予測したトレーニングメニューを表示、選択する図16に示すようなトレーニングメニュー表示画面を表示部13に表示させる(ステップS245)。この図では、目標タイムを達成できるトレーニングメニューが3回予測されたので、3種類のトレーニングメニューが表示されている。なお、表示されているトレーニングメニューの日付は、大会の日程と対象ユーザの週当たりのトレーニング実行回数とから適宜設定される。
【0047】
続いて、対象ユーザは、操作部12を操作して、トレーニングメニュー表示画面から今後実行するトレーニングメニューを選択し、制御部14は、選択されたトレーニングメニューを対象ユーザのユーザIDと関連付けて記憶部15に記憶する(ステップS246)。以上でトレーニングメニュー予測処理(ステップS24)は終了する。以後、対象ユーザは、選択したトレーニングメニューを参考にして、大会までのトレーニングを行い、トレーニングデータ取得部141は、対象ユーザが行ったトレーニングの内容に応じてトレーニングデータを更新する処理をトレーニング支援処理とは別スレッドの処理で並行して実行する。
【0048】
図5に戻り、トレーニングメニュー予測処理が終了すると、制御部14は、日付が変わったタイミングで(ステップS25;Yes)、今日が大会の本番当日であるか否かを判別する(ステップS26)。
【0049】
本番当日でない場合(ステップS26;No)、制御部14は、対象ユーザのトレーニングデータを取得して、対象ユーザのトレーニングの内容が、選択したトレーニングメニューと乖離しているか否かを、予め定めた基準に基づいて判別する(ステップS27)。例えば、トレーニングメニューで予定されている日にトレーニングをしていなかった場合や、トレーニングは実行したものの予定されている距離の半分の距離しか走行していない場合などに、制御部14は、トレーニングの内容がトレーニングメニューと乖離していると判別すればよい。
【0050】
トレーニングの内容がトレーニングメニューと乖離している場合(ステップS27;Yes)、処理はステップS21に戻る。これにより、再度、対象ユーザの大会タイムの予測や目標達成可能なトレーニングメニューの予測が実行され、より現在の実情に合ったトレーニングの支援を行うことができる。一方、トレーニングの内容がトレーニングメニューと乖離していない場合(ステップS27;No)、対象ユーザのトレーニングは順調であり、処理はステップS25に戻る。
【0051】
そして、本番当日となった場合(ステップS26;Yes)、トレーニング支援処理は終了する。
【0052】
以上説明したように、本実施形態によれば、トレーニングデータを機械学習して、実行されたトレーニングの内容から将来のトレーニングの内容を確率分布で出力するトレーニング推定モデルが生成される。そして、生成されたトレーニング推定モデルを用いて、対象ユーザの本番(マラソン大会など)の予測結果(タイム)が確率分布で出力される。これにより、ユーザは、自分が本番でどれぐらいのタイムで走ることができるかの目安を容易に知ることができ、目標タイムの設定を支援することができ、ひいては、本番である対象に向けたユーザのトレーニングを好適に支援することが可能となる。
【0053】
また、本実施形態によれば、トレーニング推定モデルに本番の目標タイムを入力することで、目標タイムを達成するためのトレーニングメニューを予測することができるため、本番に向けたユーザのトレーニングをより具体的に支援することが可能となる。
【0054】
(実施形態2)
続いて、本発明の実施形態2について説明する。実施形態1では、ランニングのトレーニングを支援するトレーニング支援装置1につい説明した。これに対して、実施形態2では、学生などであるユーザが本番の試験に向けて行うトレーニング(勉強)を支援することを特徴とする。
【0055】
この場合も、基本的に実施形態1と同様に、各ユーザの勉強の内容を示すトレーニングデータから、トレーニングデータ推定モデルを生成し、生成したトレーニングデータ推定モデルから試験結果の予測、目標点数を達成するトレーニングメニュー(勉強メニュー)の予測を行えばよい。
【0056】
図17に、実施形態2のトレーニングデータの例を示す。実施形態2では、ユーザは、トレーニングとして勉強を行うため、トレーニングデータには、これまで行った勉強の回数と、勉強でユーザが解いた問題の種類を表す問題ベクトル[1]、[2]、[3]、・・・と、解いた問題の難易度と、正解率とが含まれる。
【0057】
そして、このようなトレーニングデータから本番である試験の正解率を予測するためには、図18に示すような本番結果予測用データが用いられる。本番結果予測用データの最終回は試験本番を表す。試験の過去問などを参考にして、最終回の問題ベクトルと難易度には固定値が設定される。実施形態1と同様に、このような本番結果予測用データの空欄部分にノイズが入力されて、同空欄部分の正しい値がモデルを用いて推定されることにより、試験における正解率が確率分布で予測される。
【0058】
また、目標を達成するトレーニングメニュー(勉強メニュー)を予測するためには、図19に示すようなトレーニングメニュー予測用データが用いられる。このトレーニングメニュー予測用データからは、試験で80%の正解率を達成するための、空欄となっている11回~19回の勉強メニュー(各回のトレーニングの問題ベクトル及び難易度、正解率)が予測される。
【0059】
このように、ユーザが試験に向けて行うトレーニング(勉強)をする場合であっても、実施形態1と同様にユーザのトレーニングを好適に支援することが可能となる。
【0060】
(実施形態3)
続いて、本発明の実施形態3について説明する。実施形態1、2では、トレーニング支援装置1によって、ユーザのトレーニングを支援したが、実施形態3では、トレーニング支援システム100によって、ユーザのトレーニングを同様に支援することを特徴とする。図20に示すように、実施形態3に係るトレーニング支援システム100は、トレーニング支援装置2と、ユーザ端末3と、を備える。トレーニング支援装置2とユーザ端末3とは、インターネットなどのネットワーク4を介して通信可能に接続されている。トレーニング支援装置2とユーザ端末3は、それぞれ、本発明の第1情報処理装置と第2情報処理装置の一例である。
【0061】
実施形態3に係るトレーニング支援装置2は、実施形態1、2に係るトレーニング支援装置1と同様に、通信部11と、操作部12と、表示部13と、制御部14と、記憶部15とを備える。但し、実施形態3では、制御部14は、予測結果出力部144とトレーニングメニュー出力部146と目標取得部147とを備えていない。これらの各部は、後述するユーザ端末3の機能が担っている。
【0062】
ユーザ端末3は、ユーザが利用するスマートフォンやタブレット端末等である。ユーザ端末3は、ネットワーク4を介してトレーニング支援装置2と通信する通信部31と、ユーザからの操作を受け付けたり情報を表示したりするタッチパネル32と、ユーザ端末3の全体を制御する制御部33と、各種のデータを記憶する記憶34と、を備える。
【0063】
また、ユーザ端末3の制御部33は、機能的な構成として、予測結果出力部331と、トレーニングメニュー出力部332と、目標取得部333と、を備える。
【0064】
予測結果出力部331は、トレーニング支援装置2の本番結果予測部143が予測した予測タイムを確率分布でタッチパネル32に表示させる。
【0065】
トレーニングメニュー出力部332は、トレーニング支援装置2のトレーニングメニュー予測部145が予測したトレーニングメニューをタッチパネル32に表示させる。
【0066】
目標取得部333は、タッチパネル32がユーザから受け付けた目標を取得する。
【0067】
本実施形態に係るトレーニング支援システム100が実行するトレーニング支援処理は、ユーザ端末3の予測結果出力部331、トレーニングメニュー出力部332、及び目標取得部333が一部の処理をトレーニング支援装置2の代わりに行う以外は、実施形態1、2のトレーニング支援処理と基本的に同じであるため、説明は省略する。
【0068】
このように、トレーニング支援システム100によっても、同様にユーザのトレーニングを支援することが可能となる。
【0069】
(変形例)
以上、本発明の実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の変更が可能である。
【0070】
例えば、実施形態1では、図2に示すようなトレーニングを行った回数を含むトレーニングデータからモデルを作成し、当該モデルを用いて目標の予測とトレーニングメニューの予測を行った。しかしながら、トレーニングの回数に代えて、図21(A)に示すような、トレーニング開始後の経過日数や、図21(B)に示すようなトレーニングを実行した日付を含むトレーニングデータでも同様に、モデルを作成して予測を行うことが可能である。実施形態2のトレーニングデータでも同様である。
【0071】
例えば、各実施形態において作成するトレーニング推定モデルは、確率拡散モデルであると説明したが、モデルの種類はこれに限るものではない。例えば、ディープラーニング、ニューラルネットワークなどの手法によってトレーニング推定モデルを作成してもよい。なお、この場合は、確率分布による予測を可能とするために、パラメータを調整した複数のモデルを作成する必要がある。
【0072】
また、トレーニングデータからトレーニング推定モデルを学習する際には、潜在空間を利用して学習を行ってもよい。
【0073】
実施形態1ではランニングのトレーニングを支援する例、実施形態2ではトレーニングとしてユーザの勉強を支援する例を示したが、本発明が支援するトレーニングはこれに限定されるものではなく、本番に向けてユーザ行うあらゆる種類のトレーニングを同様の手法で支援することが可能である。なお、支援するトレーニングの種類に応じて、適宜トレーニングデータのデータ項目の内容を工夫する必要がある。
【0074】
上記実施形態では、制御部14が、図1に示した各部として機能するものとして説明した。しかしながら、これは一例に過ぎず、図1に示した各部の機能を専用のハードウェアにより実現してもよい。専用のハードウェアの例としては、単一回路、複合回路、プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、これらの組み合わせ等を挙げることができる。なお、図1に示した各部の機能それぞれを個別のハードウェアで実現してもよいし、各部の機能をまとめて単一のハードウェアで実現してもよい。
【0075】
なお、図1に示した各部の機能のうち一部の機能を専用のハードウェアによって実現し、残りの機能をソフトウェア又はファームウェアによって実現してもよい。このように、図1に示した各部の機能は、ハードウェア、ソフトウェア、ファームウェア、又は、これらの組み合わせによって実現することができる。
【0076】
本発明に係るトレーニング支援装置1の各機能を実現させるためのプログラムを、既存の情報処理装置を制御するプロセッサが実行できるように適用することで、当該既存の情報処理装置を本発明に係るトレーニング支援装置1として機能させることができる。
【0077】
なお、このようなプログラムは、任意の方法により適用できる。例えば、プログラムを、フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、メモリカード等のコンピュータ読み取り可能な非一時的記憶媒体に格納して適用してもよい。或いは、プログラムを搬送波に重畳し、インターネット、LAN(Local Area Network)等の通信ネットワークを介して適用してもよい。具体的に、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、既存の情報処理装置を制御するプロセッサが、このプログラムを起動し、OSの制御下で、他のアプリケーションプログラムと同様に実行することにより、本発明に係るトレーニング支援装置1の各機能を実現できるように構成してもよい。
【0078】
以上、本発明の実施形態および変形例について説明したが、本発明はこれらに限定されるものではない。本発明は、実施形態および変形例が適宜組み合わされたもの、それに適宜変更が加えられたものを含む。
【0079】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態および変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内およびそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【0080】
1,2・・・トレーニング支援装置、11,31・・・通信部、12・・・操作部、13・・・表示部、14,33・・・制御部、141・・・トレーニングデータ取得部、142・・・モデル生成部、143・・・本番結果予測部、144,331・・・予測結果出力部、145・・・トレーニングメニュー予測部、146,332・・・トレーニングメニュー出力部、147,333・・・目標取得部、15,34・・・記憶部、151・・・トレーニング履歴DB、152・・・モデル記憶DB、100・・・トレーニング支援システム、3・・・ユーザ端末、32・・・タッチパネル、4・・・ネットワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21