(本発明の基礎となった知見)
店舗に来店してトレーニングを受けられないトレーニのために、インターネットを介してトレーニングメニューを提示するオンライントレーニングシステムがある。オンライントレーニングシステムを運用するにあたり、トレーナは、トレーニごとに適したトレーニングメニューを作成して本システムを介してトレーニに通知する。トレーニは、自宅等において、自身の都合のよい時間帯にトレーニングメニューとして通知されたコンテンツを再生することでトレーニングを実施する。トレーニが飽きることなく効果的にトレーニングを継続するために、トレーナは、定期的もしくは不定期にトレーニングメニューとして使用するコンテンツを追加的に作成する。
一般に、オンライントレーニングシステムは、店舗に来店するトレーニングシステムに比べて、一人のトレーナが多くのトレーニのトレーニングを管理する。そのため、トレーナは、トレーニごとに適したトレーニングメニューを作成したり、新しくコンテンツを作成したりする必要があり、トレーナの作業負担が大きいという問題がある。
しかしながら、トレーナが作成したコンテンツのトレーニング効果が小さかった場合、トレーナは、再び別のコンテンツを作成しなければならず、効率が良くない。また、その場合、オンライントレーニングシステムにおける記憶装置などのリソースの使用効率が良くない。
例えば、トレーニング効率が数式(トレーニング効果/記憶容量)により算出されるとすれば、当該トレーニング効率は、トレーニング効果が比較的小さいコンテンツが多く記憶装置に記憶されている場合には、トレーニング効果が比較的大きいコンテンツが記憶されている場合に比べて小さい値となる。
そこで、オンライントレーニングシステムにおいてトレーニングメニューを更新する際に、トレーニに適したコンテンツがないことを検知し、また、新たに作成して追加すべきコンテンツを分析してトレーナに通知することが望まれている。しかし、上記のようなコンテンツの検知、又は、コンテンツの分析及び通知について、技術的な解決策は、従来検討されていない。
このように、トレーニに適したコンテンツがない、又は、不足していることで、トレーニに適したトレーニングメニューを作成することができない場合、従来技術では適切に対処することができない。
このような問題を解決するために、本発明の一態様に係るコンテンツ提供支援方法は、トレーナが提供するコンテンツに基づいてトレーニがトレーニングを実施するために用いられるトレーニングシステムにおけるコンテンツ提供支援方法であって、前記トレーナが提供した前記コンテンツを前記トレーニに提示し、提示した前記コンテンツに基づいて前記トレーニが実施したトレーニングの実施量を取得し、前記トレーニの身体の前記トレーニングによる変化を示す効果量を取得し、前記トレーナに新たに提供させるコンテンツを示す指示情報を、前記実施量及び前記効果量を用いて生成し、生成した前記指示情報を出力する。
これによれば、トレーニングシステムは、トレーニングメニューを変更するのに際して、不足していると推定されるコンテンツを示す指示情報を生成する。トレーナは、トレーニが必要とするコンテンツのみを追加的に生成し提供すればよいので、コンテンツを生成する負担を軽減できる。また、トレーニにとっては、適宜、必要なコンテンツが追加されてトレーニングメニューとして提供されるため、より最適なトレーニングメニューを受けることができる。
また、トレーニが必要とするコンテンツのみを追加的に生成し提供することで、トレーニングシステムが保持すべきコンテンツの量を削減することができ、トレーニングシステムの記憶容量などのリソースの使用効率を向上する効果も得られる。
例えば、前記コンテンツは、前記コンテンツに基づいて実施されるトレーニングのレベルと紐づけられており、前記指示情報を生成する際には、前記実施量及び前記効果量を用いて、前記トレーナに新たに提供させるコンテンツに基づくトレーニングのレベルを決定し、前記指示情報は、決定した前記レベルを含んでいる。
これによれば、トレーニングシステムは、不足していると推定されるコンテンツを示す情報として、そのコンテンツのレベルを示す情報を生成する。トレーナは、そのレベルを知らされることで、適切なコンテンツを作成して提供することができる。
例えば、前記指示情報を生成する際には、さらに、前記トレーナに新たに提供させるコンテンツの需要の度合いである需要度を、前記実施量及び前記効果量を用いて算出し、算出した前記効果量を含む前記指示情報を生成する。
これによれば、トレーニングシステムは、不足していると推定されるコンテンツが、必要とされている度合いを示す需要度を生成する。トレーナは、その需要度を知らされることで、適切なコンテンツを作成して提供することができる。
例えば、前記トレーニングシステムは、前記トレーナが提供した複数の前記コンテンツを保持しており、前記需要度を算出する際には、保持しているコンテンツのそれぞれについて、(a)当該コンテンツに基づくトレーニングの実施量が所定値未満であり、かつ、(b)当該コンテンツに基づくトレーニングと同一レベルのトレーニングあって、実施量が所定の閾値以上であるトレーニングのコンテンツを前記トレーニングシステムが保有しておらず、かつ、(c)当該コンテンツに基づくトレーニングと同一レベルのトレーニングであって、前記トレーニにより未だ実施されていないトレーニングのコンテンツを前記トレーニングシステムが保有していない場合には、当該コンテンツに基づくトレーニングと同一レベルのトレーニングのコンテンツの需要度を増加させることで、前記需要度を算出する。
これによれば、トレーニングシステムは、実施量を用いてより具体的に需要度を算出することができる。
例えば、前記トレーニングシステムは、前記トレーナが提供した複数の前記コンテンツを保持しており、前記需要度を算出する際には、保持しているコンテンツのそれぞれについて、(a)当該コンテンツに基づくトレーニングの実施量が所定値以上であり、かつ、(b)取得した前記効果量が、当該コンテンツに基づくトレーニングにより前記トレーニの身体に所定の効果が表れていることを示す条件を満たすと判定され、かつ、(c)当該コンテンツに基づくトレーニングより上位のレベルのトレーニングであって、実施量が所定の閾値以上であるトレーニングのコンテンツを前記トレーニングシステムが保有しておらず、かつ、(d)前記上位のレベルのトレーニングであって、前記トレーニにより未だ実施されていないトレーニングのコンテンツを前記トレーニングシステムが保有していない場合には、前記上位のレベルのコンテンツの需要度を増加させることで、前記需要度を算出する。
これによれば、トレーニングシステムは、実施量及び効果量を用いてより具体的に需要度を算出することができる。
例えば、前記コンテンツは、前記コンテンツに基づいて実施されるトレーニングの種別と紐づけられており、前記需要度を算出する際には、複数の前記コンテンツを、当該コンテンツに基づくトレーニングの種別及びレベルごとにグループ化し、前記需要度を算出する際の前記上位のレベルのトレーニングは、当該コンテンツに基づくトレーニングと同一種別のトレーニングである。
これによれば、トレーニングシステムは、グループ単位でコンテンツを管理し、不足していると推定されるグループを特定することで、不足していると推定されるコンテンツを示す情報を生成する。
例えば、前記コンテンツ提供支援方法では、さらに、前記トレーナが提供した前記コンテンツを保持しており、出力した前記指示情報に基づいて前記トレーナにより提供されるコンテンツである新規コンテンツを取得し、取得した新規コンテンツを保持しており、保持している前記コンテンツ及び前記新規コンテンツのうちから、前記トレーニにトレーニングを実施させるためのコンテンツを、前記実施量及び前記効果量を用いて選択し、選択したコンテンツを示すメニューを前記トレーニに提示する。
これによれば、トレーニングシステムは、トレーナにより新たに提供されたコンテンツを含む、保持しているコンテンツに基づいて、トレーニにトレーニングを実施させるためのコンテンツを選択する。これにより、トレーニに適したコンテンツがトレーニに提供される。
また、本発明の一態様に係るサーバ装置は、トレーナが提供するコンテンツに基づいてトレーニがトレーニングを実施するために用いられるトレーニングシステムにおけるサーバ装置であって、前記トレーナが提供した前記コンテンツを前記トレーニに提示する提示部と、提示した前記コンテンツに基づいて前記トレーニが実施したトレーニングの実施量を取得する実施量取得部と、前記トレーニの身体の前記トレーニングによる変化を示す効果量を取得する効果量取得部と、前記トレーナに新たに提供させるコンテンツを示す指示情報を、前記実施量及び前記効果量を用いて生成する生成部と、生成した前記指示情報を出力する出力部とを備える。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
(提供するサービスの全体像)
まず、本実施の形態におけるオンライントレーニングシステムが提供するサービスの全体像について説明する。
図1Aは、本実施の形態におけるオンライントレーニングシステムが提供するサービスの全体像を示す図である。オンライントレーニングシステムは、コーチンググループ100、データセンタ運営会社110、トレーニグループ120を備える。コーチンググループ100は、1つまたは複数である。また、トレーニグループ120は、1つまたは複数である。
コーチンググループ100は、例えばフィットネスクラブなどの企業、団体又は個人事業であり、その規模を問わない。コーチンググループ100には、1名または複数名のトレーナ101が所属する。トレーナ101は、1つまたは、複数の機器102を所有する。複数の機器102は、インターネットと接続可能な機器(例えば、スマートフォン、タブレット、パーソナルコンピュータ(PC)又はテレビ等)を含む。複数の機器102は、それ自身ではインターネットと接続不可能であっても、ホームゲートウェイ(図示せず)を介してインターネットと接続可能となる機器を含んでもよい。
トレーニグループ120は、例えば企業、団体又は家庭等であり、その規模を問わない。トレーニグループ120には、1名または複数名のトレーニ121が属する。
トレーニ121は、1つまたは、複数の機器122及び機器123を所有する。機器122は、インターネットと接続可能な機器(例えば、スマートフォン、タブレット、パーソナルコンピュータ(PC)又はテレビ等)を含む。
また、機器123は、トレーニ121の身体に関する情報であるバイタルデータを計測可能な機器(身体測定機器、例えば、体重計、体組成計、活動量計、血圧計又は心拍計等)を含む。機器123は、それ自身ではインターネットと接続不可能であっても、前記機器122又はホームゲートウェイ(図示せず)を介してインターネットと接続可能となる機器を含んでもよい。
データセンタ運営会社110は、クラウドサーバ111を備える。クラウドサーバ111は、インターネットを介して様々な機器と連携する仮想化サーバである。クラウドサーバ111は、主に通常のデータベース管理ツール等で扱うことが困難な巨大なデータ(ビッグデータ)等を管理する。データセンタ運営会社110は、データの管理、クラウドサーバ111の管理、及びそれらを行うデータセンタの運営等を行っている。データセンタ運営会社110が行っている役務の詳細については後述する。
なお、データセンタ運営会社110が管理するサーバは、仮想化サーバに限定しない。CPU、メモリ、HDD等の外部記憶装置を物理的に備えるコンピュータでもよい。また、パーソナルコンピュータであってもよい。
ここで、データセンタ運営会社110は、データの管理又はクラウドサーバ111の管理のみを行っている会社に限らない。例えば、図1Bに示すように、複数の機器122等のうちの一つの機器を開発又は製造している機器メーカが、データの管理又はクラウドサーバ111の管理等を行っている場合は、機器メーカがデータセンタ運営会社110に該当する。また、データセンタ運営会社110は一つの会社に限らない。例えば、図1Cに示すように、機器メーカ及び管理会社が共同又は分担してデータの管理又はクラウドサーバ111の管理を行っている場合は、両者又はいずれか一方がデータセンタ運営会社110に該当する。
次に、上記のオンライントレーニングシステムにおける情報の流れを説明する。
まず、トレーニ121は、所有する機器122を用いて、データセンタ運営会社110のクラウドサーバ111からデータを取得し、機器122上にアプリケーションの画面を表示する(矢印131、132)。トレーニ121は、アプリケーション画面上で会員情報を入力する。トレーニ121が機器122上で入力したデータは、クラウドサーバ上で管理される。(矢印132)。会員情報の登録は、オンライントレーニングサービスへの入会時に行うことを想定している。
次に、トレーナ101は所有する機器102を用いて、データセンタ運営会社110のクラウドサーバ111からデータを取得し、機器102上にアプリケーションの画面を表示する(矢印133、134)。トレーナ101は、トレーナは機器102上で、会員情報等を参照し、トレーニ121に適したパーソナルトレーニングメニューの作成のための操作を行う。トレーナ101が機器102上で入力されたデータは、クラウドサーバ上で管理される(矢印134)。
次に、トレーニ121は、所有する機器122を用いて、データセンタ運営会社110のクラウドサーバ111からデータを取得し、機器122上にアプリケーションの画面を表示する。(矢印131、132)。トレーニ121は、機器122上で、トレーナ101が入力したパーソナルトレーニングメニューを表示し、提示されたメニューのコンテンツ(動画)を選択して視聴する。コンテンツは、クラウドサーバ111より配信される(矢印131)。
トレーニ121がコンテンツを視聴すると、視聴履歴データがクラウドサーバ111に送信される(矢印132)。また、トレーニ121は、機器123を利用し、自身のバイタルデータを計測し、クラウドサーバへ送信する(矢印132)。なお、トレーニ121が本オンライントレーニングサービスを利用するためにクラウドサーバへアクセスした履歴及び、アプリケーション上で操作した操作履歴を、クラウドサーバに保存してもよい(矢印132)。
次に、トレーナ101は所有する機器102を用いて、データセンタ運営会社110のクラウドサーバ111からデータを取得し、機器102上にアプリケーションの画面を表示する(矢印133、134)。クラウドサーバ111が管理している全トレーニのパーソナルトレーニングメニュー、トレーニング履歴、センサーデータから算出したコンテンツ需要はアプリケーション画面に表示される。トレーナ101は表示されたコンテンツ需要をもとにトレーニング用コンテンツを追加制作すると、コンテンツをアプリケーション画面からクラウドサーバ111に登録する(矢印134)。
(実施の形態1)
実施の形態1は、オンライントレーニングサービスにおいて、オンライントレーニングを実施しているトレーニの実施状況および効果状況から追加制作すべきコンテンツをトレーナに提示する技術に関するものである。なお、コンテンツは、トレーニングの内容を映像として示す動画コンテンツである場合を例として説明するが、トレーニングの内容を文字情報で示すテキストコンテンツであってもよい。
図2は、本実施の形態において、オンライントレーニングシステムの構成の一例を示すブロック図である。オンライントレーニングシステムは、クラウドサーバ111、機器102、機器122及び機器123を備える。なお、オンライントレーニングシステムのことを、単にトレーニングシステムともいう。
クラウドサーバ111は、会員情報及びコンテンツを管理するサーバ装置である。クラウドサーバ111は、会員情報管理部201、映像管理部202、映像メタ管理部203、映像配信部204、画面情報管理部205、トレーニングメニュー管理部206、トレーニング履歴管理部207、センサーデータ管理部208、通信部209、トレーニングメニュー更新制御部210、コンテンツカテゴライズ部211、トレーニング実施状況取得部212、トレーニング効果状況取得部213、コンテンツを分析するコンテンツ需要算出部214、トレーニングメニュー変更部215、及び制御部216を備える。
会員情報管理部201は、オンライントレーニングサービスに入会している会員の会員情報を保持し、管理する処理部である。
映像管理部202は、トレーニングメニューとして配信する映像のコンテンツを保持し、管理する処理部である。
映像メタ管理部203は、映像のコンテンツのメタデータを保持し、管理する処理部である。
映像配信部204は、映像を会員向け端末に配信する処理部である。映像配信部204は、提示部に相当する。
画面情報管理部205は、トレーナ101が使用する機器102及びトレーニ121が使用する機器122に表示するための、アプリケーション画面及びWebサイトの画面を作成するための画面情報を管理する処理部である。
トレーニングメニュー管理部206は、各トレーニ向けに作成されたパーソナルトレーニングメニューを保持し、管理する処理部である。
トレーニング履歴管理部207は、パーソナルトレーニングメニューに従ってトレーニがトレーニングした実績を保持し、管理する処理部である。
センサーデータ管理部208は、トレーニの機器123から通知されるバイタルデータ、例えば日々の体重又は体脂肪率等のセンサーデータを保持し、管理する処理部である。
通信部209は、トレーナ向け端末である機器102および会員向け端末である機器122と通信する通信処理部である。
トレーニングメニュー更新制御部210は、クラウドサーバ111が保持している情報から追加制作すべきコンテンツを分析してトレーナに通知し、トレーナがコンテンツを追加制作した後にトレーニングメニュー変更の実施を行うまでのトレーニングメニュー変更処理の一連の流れを制御する処理部である。
コンテンツカテゴライズ部211は、コンテンツをトレーニング特性でカテゴライズする処理部である。
トレーニング実施状況取得部212は、トレーニのトレーニング実施状況を取得する処理部である。トレーニング実施状況取得部212は、実施量取得部に相当する。
トレーニング効果状況取得部213は、トレーニのトレーニング効果状況を取得する処理部である。トレーニング効果状況取得部213は、効果量取得部に相当する。
コンテンツ需要算出部214は、トレーニング実施状況とトレーニング効果状況から不足しているコンテンツを分析する処理部である。コンテンツ需要算出部214は、生成部及び出力部に相当する。
トレーニングメニュー変更部215は、トレーニのトレーニングメニューを変更する処理部である。
制御部216は、機器102、機器122及び機器123からの入力を受け付け、会員情報管理部201、映像管理部202、映像メタ管理部203、トレーニングメニュー管理部206、トレーニング履歴管理部207及びセンサーデータ管理部208にデータを受け渡したり、入力に応じた画面を作成して通信部209を介して機器102、機器122及び機器123に受け渡したりする処理部である。
機器102は、トレーニ毎のパーソナルトレーニングメニューを入力したり、トレーニング実施状況を参照したりするために主にトレーナが使用する機器である。
機器122は、トレーナが作成したパーソナルトレーニングメニューを参照したり、コンテンツを再生したりするために主にトレーニが使用する機器である。
機器102、および機器122は、クラウドサーバ111の制御部216が作成したアプリケーション画面及びWebサイトの画面もしくはそれを画面を生成するためのHTML(HyperText Markup Language)ファイルを取得して表示すればよく、通信機能とWebブラウザ機能を持つTV(テレビジョン受像機)、PC(Personal Computer)、タブレット、スマートフォン又は携帯電話等の汎用機器により実現可能であるため説明は省略する。
機器123は、体重等のセンサーデータを入力するために主にトレーニが使用する機器である。
機器123は、トレーニのバイタルデータを測定して、通信機能を使って機器122経由で、又は、直接にクラウドサーバ111にデータを通知する機能を保持している。機器123は、例えば体重計、体組成計、活動量計、血圧計又は心拍計等の汎用機器により実現可能であるため説明は省略する。
図3は、会員情報管理部201が保持している会員情報を模式的に示した一例である。会員情報301は複数のトレーニを識別するためのトレーニIDを含む。また、トレーニの基本情報として「氏名」、「生年月日」、「性別」及び「目的」を含んでもよい。ここで、「目的」とは、トレーニがオンライントレーニングサービスへ入会した目的のことである。会員情報301の1行が、1人のトレーニについての情報となっており、図3の例では3人分のトレーニについての情報が管理されている。
図4は、トレーニが会員情報を入力する新規会員情報登録画面の一例を示す図である。
新規会員情報登録画面302は、会員情報を入力するための入力枠を含む。本実施の形態では、会員情報として、トレーニの「氏名」、「生年月日」、「性別」及び「目的」を管理しているため、これらの情報を入力するための入力枠を含む。
本実施の形態では、トレーニは、オンライントレーニングサービス入会時に会員情報を入力する。
トレーニは、オンライントレーニングサービスに入会する際、会員情報を入力するため、機器122を用いてクラウドサーバ111にアクセスする。例えば、クラウドサーバ111が管理しているトレーニ向けオンライントレーニングのWebサイトにアクセスし、新規会員情報登録画面302にアクセスする。クラウドサーバ111の制御部216は、新規会員情報登録画面302へのアクセスを検知すると、画面を作成するために必要なHTMLファイルを画面情報管理部205から取得し、新規会員情報登録画面302を作成して通信部209を介して機器122に送信する。機器122は、Webブラウザ等を用いて新規会員情報登録画面302を表示する。
トレーニは、機器122が具備しているキーボード、ソフトウェアキーボード、テンキー、マウス等を用いて、新規会員情報登録画面302で「氏名」、「生年月日」、「性別」及び「目的」を入力して、登録ボタン303を押す。これにより、入力された氏名、生年月日、性別及び目的が、機器122から通信部209を介して制御部216に送信される。
制御部216は、会員情報管理部201に管理されている会員情報301を参照して、使用されていないトレーニIDを選択して付与し、当該トレーニのトレーニID、氏名、生年月日、性別及び目的を会員情報管理部201に追加する。
登録ボタン303の押下により、新規会員情報登録画面302のスクリプトが呼び出されて、機器122の新規会員情報登録画面302で入力した会員情報301が、クラウドサーバのデータベースである会員情報管理部201に格納される手順は、クラウドサービスの一般的な技術であるため、詳細な説明は省略する。
以上の処理により、会員情報が登録される。
図5は、映像メタ管理部203が保持している映像メタデータ情報を模式的に示した一例である。映像メタデータ情報401は、コンテンツの「タイトル」を含む。なお、本実施の形態では、タイトルによりコンテンツを識別可能としているが、タイトルとは別にコンテンツIDなどの識別子を付与して映像を識別することとし、そのコンテンツIDを映像メタデータ情報として管理もよい。また、映像メタデータ情報401は、コンテンツをトレーニング特性でカテゴライズするためのトレーニング特性を含む。
本実施の形態では、トレーニング特性として、運動の種別を示す「ジャンル」、身体のどの部分を鍛えるかを示す「強化部位」、当該コンテンツをトレーニングとして利用するためにトレーニに望まれる熟練度合いを示す「熟練度」、当該コンテンツをトレーニングとして利用した際にトレーニに望まれる体力又は筋力を示す「運動強度」を含むこととしているが、トレーニング特性はこれに限定されない。
なお、強化部位など、トレーニングの種目又は種類等を示す情報を「種別」ともいう。つまり、トレーニングには、当該トレーニングの種別が紐づけられている、又は、対応付けられている、ともいえる。
なお、運動強度など、トレーニングの難易度又は順番等を示す情報を「レベル」ともいう。つまり、トレーニングには、当該トレーニングのレベルが紐づけられている、又は、対応付けられている、ともいえる。レベルには、上位又は下位という概念がある。例えば、より難易度が高いトレーニングは、それより難易度が低いトレーニングよりも上位のレベルを有する。また、より順番が後であるトレーニングは、それより順番が先であるトレーニングよりも上位のレベルを有する。
なお、映像メタデータ情報401の1行が、1つのコンテンツのメタデータ情報となっており、配信可能なコンテンツ数だけコンテンツメタ情報が存在する。
なお、図5には記載していないが、映像の特性として映像の再生時間を示す「再生時間」を映像メタデータ情報に含んでもよい。
図6は、トレーニングメニュー管理部206が保持しているパーソナルトレーニングメニューを模式的に示した一例である。
パーソナルトレーニングメニュー501は、当該パーソナルトレーニングメニューがどのトレーニのために作成されたものであるかを識別するためのトレーニIDを含む。また、パーソナルトレーニングメニューを識別したり、トレーニに表示したりするための「メニュー名」を含んでもよい。また、トレーニに対してパーソナルトレーニングの実施期間を指定する場合には、「実施期間」を含んでもよい。また、パーソナルトレーニングメニューを構成するコンテンツの「タイトル」を含む。
例えば、パーソナルトレーニングメニュー502は、「AA0001」のトレーニIDを持つトレーニのパーソナルトレーニングメニューである。パーソナルトレーニングメニュー503は、「AA0002」のトレーニIDを持つトレーニのパーソナルトレーニングメニューである。パーソナルトレーニングメニュー503は、「AA0003」のトレーニIDを持つトレーニのパーソナルトレーニングメニューである。
図7A及び図7Bは、トレーナがパーソナルトレーニングを入力する画面の一例を示す図である。
本実施の形態では、トレーナは一定期間おき、例えば1週間おきに、その期間内にオンライントレーニングサービスに入会して会員情報を登録したトレーニに対して、新規にパーソナルトレーニングメニューを作成する。一定期間で複数のトレーニがオンライントレーニングサービスに入会して会員情報を登録する場合があるため、複数のトレーニから1人のトレーニを選択した後に、選択したトレーニに対してパーソナルトレーニングメニュー作成を行う。
トレーナは、パーソナルトレーニングを作成するため、機器102を用いてクラウドサーバ111にアクセスする。例えば、クラウドサーバ111が管理しているトレーナ向けオンライントレーニングのWebサイトのトレーニ選択画面510にアクセスする。
クラウドサーバ111の制御部216は、トレーニ選択画面510へのアクセスを検知すると、画面を作成するために必要なHTMLファイルを画面情報管理部205から取得し、さらに画面に表示するために会員情報を会員情報管理部201の会員情報301から取得する。さらに、制御部216は、パーソナルトレーニングメニューが作成されていないトレーニを特定するために、トレーニングメニュー管理部206が管理しているパーソナルトレーニングメニューを参照することで、トレーニ選択画面510を生成する。制御部216は、生成したトレーニ選択画面を通信部209を介して機器102に送信し、機器102は、Webブラウザ等を用いてトレーニ選択画面510を表示する。
上記のようにトレーニ選択画面を生成するためのHTMLファイルの初期起動時にスクリプトが呼び出されて、会員情報を会員情報管理部201の会員情報301から取得し、トレーニングメニュー管理部206が管理しているパーソナルトレーニングメニューを参照してパーソナルトレーニングメニューが作成されていないトレーニを特定して、パーソナルトレーニングメニューが作成されているトレーニと、作成されていないトレーニとを区別して表示する手順は、Webサービスの一般的な技術であるため、詳細な説明は省略する。
図7Aは、トレーニ選択画面の一例を示す図である。
トレーニ選択画面510にはトレーニ一覧513と、トレーニが新規入会者か否かを示す新規入会者印511と、トレーニを選択するための選択ボタン512及び514とが表示されている。
トレーニ一覧513には、会員情報管理部201の会員情報301から取得した会員情報として、トレーナがパーソナルトレーニングメニューを作成するために参照する情報である、トレーニID、氏名、生年月日、性別及び目的が表示されている。また、トレーニングメニュー管理部206が管理しているパーソナルトレーニングメニューを参照して、パーソナルトレーニングメニューが作成されていないトレーニには、トレーニIDの左側に新規入会者印511が表示される。新規入会者は、パーソナルトレーニングメニューが作成されておらず、新規にパーソナルトレーニングを作成すべきトレーニであるので、トレーナが新規入会者を判断できるようにするために新規入会者印511が付加される。
トレーナが、選択ボタン512を押下することで、新規入会者印511が付加されたトレーニのパーソナルトレーニングメニュー作成画面に遷移する。
クラウドサーバ111の制御部216は、パーソナルトレーニングメニュー作成画面520へのアクセスを検知すると、画面を作成するために必要なHTMLファイルを画面情報管理部205から取得し、さらに画面に表示するために映像メタデータ情報401を映像メタ管理部203から取得することで、パーソナルトレーニングメニュー作成画面520を生成する。制御部216は、生成したパーソナルトレーニングメニュー作成画面520を通信部209を介して機器102に送信し、機器102は、Webブラウザ等を用いてパーソナルトレーニングメニュー作成画面520を表示する。
トレーニ選択画面510の選択ボタン512の押下によりスクリプトが呼び出されて、パーソナルトレーニングメニュー作成画面520のHTMLファイルが呼び出され、HTMLファイルの初期起動時にスクリプトが呼び出されて、映像メタデータ情報を取得して表示する手順はWebサービスの一般的な技術であるため、詳細な説明は省略する。
図7Bは、パーソナルトレーニングメニュー作成画面の一例を示す図である。
パーソナルトレーニングメニュー作成画面520には、トレーナがトレーニングメニューを入力するためのメニュー名入力枠521、映像メタ管理部203から取得した映像メタデータ情報401をトレーナに提示するためのコンテンツ一覧522、パーソナルトレーニング作成後にトレーニングメニュー管理部206へ登録するための登録ボタン523が表示されている。なお、コンテンツが1画面上に収まりきらない場合、スクロール操作により表示されるようにしてもよい。
また、コンテンツ一覧522には、パーソナルトレーニングメニューとしてコンテンツを選択するためのコンテンツチェック欄が、1コンテンツにつき1つ表示されている。
トレーナは、トレーニングメニュー名を機器102のキーボード又はソフトウェアキーボードを用いてメニュー名入力枠521に入力する。そして、マウスのクリック動作又は画面へのタッチ動作によりトレーニング用コンテンツを1つ以上選択する。
トレーナがコンテンツを選択すると、選択されたコンテンツをトレーナに提示するためのチェック印524が表示される。コンテンツ選択後、トレーナが登録ボタン523を押下すると、制御部216は、トレーニIDが「AA0002」であるトレーニのパーソナルトレーニングメニューとして、実施期間として本日から1週間である「2015/3/1〜2015/3/7」という値を付与する。また、制御部216は、メニュー名が「下半身サイズダウン」であり、かつ、トレーニング用コンテンツのタイトルが、チェック印524がついている「ヨガ4」であるパーソナルトレーニングメニューをトレーニングメニュー管理部206に登録する。上記の処理により登録されたのがパーソナルトレーニングメニュー503である。
本実施の形態では、パーソナルトレーニングメニューの実施期間を1週間としているため、実施期間に本日から1週間である「2015/3/1〜2015/3/7」が付与されたが、実施期間はこれに限定されず、例えば3日間又は1ヶ月でもよい。また、トレーナが実施期間を入力してもよい。
本実施の形態では、トレーナが新規入会時にパーソナルトレーニングメニューを作成すると、その後は定期的、もしくは不定期に、クラウドサーバ111がパーソナルトレーニングメニューを更新する。パーソナルトレーニングメニューの更新手順の詳細については後述する。
なお、トレーナは新規入会時以外にも、定期的、もしくは不定期にパーソナルトレーニングメニューを更新してもよい。その場合には、新規入会者印511のついていないトレーニ、例えばトレーニ一覧513においてトレーニIDが「AA0001」であるトレーニの選択ボタン514を押下して、トレーニIDが「AA0001」のトレーニのパーソナルトレーニングメニュー作成画面に遷移する。新規入会時でない場合には、すでにパーソナルトレーニングメニューが存在するため、制御部216はトレーニIDが「AA0001」であるトレーニのパーソナルトレーニングメニュー502をトレーニングメニュー管理部206から取得して、「メニュー名」をトレーニング名の初期値として、「タイトル」に含まれるコンテンツが選択された状態をコンテンツ一覧の初期値として、パーソナルトレーニングメニュー作成画面を表示してもよい。なお、新規入会時でない場合には、すでにトレーニのトレーニング履歴およびセンサーデータが存在するため、トレーナがトレーニング履歴又はセンサーデータを参照しながらパーソナルトレーニングメニューを作成できるよう、パーソナルトレーニング画面にトレーニのトレーニング履歴又はセンサーデータおよびその分析結果を表示してもよい。
図8A及び図8Bは、トレーニがパーソナルトレーニングを実施する画面の一例を示す図である。
トレーニは、トレーナがパーソナルトレーニング作成後、機器122を用いてパーソナルトレーニングメニューを実施する。機器122とは、インターネットと接続可能な機器、例えば、スマートフォン、タブレット、PC又はTV等である。
トレーニは、パーソナルトレーニングメニューで指定されたコンテンツを視聴するために、機器122を用いてクラウドサーバ111にアクセスする。例えば、クラウドサーバ111が管理しているトレーニ向けオンライントレーニングのWebサイトのパーソナルトレーニングメニュー画面530にアクセスする。
クラウドサーバ111の制御部216は、パーソナルトレーニングメニュー画面530へのアクセスを検知すると、画面を作成するために必要なHTMLファイルを画面情報管理部205から取得し、さらに画面に表示するために会員情報を会員情報管理部201の会員情報301から取得する。さらに、制御部216は、クラウドサーバ111にアクセスしたトレーニに対応するパーソナルトレーニングメニューをトレーニングメニュー管理部206のパーソナルトレーニングメニュー501から取得する。トレーニの特定は、ログイン時にトレーニIDを入力させるなどして行う。
例えば、トレーニIDが「AA0002」であるトレーニからのアクセスであればパーソナルトレーニングメニュー501から、トレーニIDが「AA0002」であるパーソナルトレーニングメニュー503を取得する。
これにより、パーソナルトレーニングメニュー画面530が生成される。制御部216は、生成したパーソナルトレーニングメニュー画面530を通信部209を介して機器122に送信し、機器122は、Webブラウザ等を用いてパーソナルトレーニングメニュー画面530を表示する。
パーソナルトレーニングメニュー画面530を生成するためのHTMLファイルの初期起動時にスクリプトが呼び出されて、アクセスしたトレーニIDを特定して、トレーニIDに対応するパーソナルトレーニングメニューをトレーニングメニュー管理部206から取得して表示する手順はWebサービスの一般的な技術であるため、詳細な説明は省略する。
図8Aは、パーソナルトレーニングメニュー画面の一例を示す図である。
パーソナルトレーニングメニュー画面530には、トレーニにパーソナルトレーニングメニューの内容を説明するためのパーソナルトレーニング情報531と、パーソナルトレーニングに含まれるコンテンツの再生を指示する再生ボタン532とが表示されている。
パーソナルトレーニングメニューが複数のコンテンツから構成されている場合には、コンテンツの数だけ再生ボタンが表示されてもよい。また、複数のコンテンツを連続再生するための再生ボタンが表示されてもよい。
パーソナルトレーニング情報531には、パーソナルトレーニングメニュー503から取得した情報として、メニュー名、実施期間及びタイトルが表示されている。
トレーニが再生ボタン532を押下すると、制御部216は、対応するコンテンツの配信を映像配信部204に指示する。映像配信部204は、映像管理部202から対応するコンテンツを取得して通信部209を介して機器122に配信する。機器122は、配信されたコンテンツを機器122に搭載されているWebブラウザ機能又はプレーヤ機能により再生する。クラウドサーバ111から動画コンテンツを配信し、機器122のWebブラウザ機能又はプレーヤ機能で受信して再生する手順はWebサービスの一般的な技術であるため説明を省略する。
図8Bはコンテンツ再生画面の一例を示す図である。コンテンツ再生画面540では、再生ボタン532に対応するコンテンツの動画が、全画面で再生されている。トレーニは再生されているコンテンツを手本として同じ動きをすることにより、トレーナが近くにいなくともトレーニングを実施することができる。再生停止又は早送り等のトリックプレイは、TVであればリモコンにより操作可能である。また、スマートフォン又はPCでは画面上のスライドバー(図示せず)等により操作可能である。トレーニが再生停止を指示すると、制御部216は、再生の停止を映像配信部204に指示することで再生が停止される。
図9A、図9B及び図9Cは、トレーニング履歴管理部207が保持しているトレーニング履歴を模式的に示した一例である。トレーニング履歴601、トレーニング履歴602及びトレーニング履歴603は、トレーニングを実施したトレーニを識別するための「トレーニID」とパーソナルトレーニングメニューで指定されたコンテンツのうちどのコンテンツを実施したかを示すコンテンツの「タイトル」を含む。また、パーソナルトレーニングメニューを識別するための「メニュー名」を含んでも良い。また、トレーニに対してパーソナルトレーニングの実施期間を指定する場合には、「実施期間」を含んでもよい。また、トレーニングを実施した「実施日」又は「実施時刻」を含んでもよい。
図9Aのトレーニング履歴601はトレーニIDが「AA0001」であるトレーニのトレーニング履歴であり、図9Bのトレーニング履歴602はトレーニIDが「AA0002」であるトレーニのトレーニング履歴であり、図9Cのトレーニング履歴603はトレーニIDが「AA0003」であるトレーニのトレーニング履歴である。
トレーニング実施履歴は、例えばパーソナルトレーニングメニュー画面530にて、トレーニが再生ボタン532を押して制御部216が映像配信部204に配信を指示する際に、再生ボタン532を押したトレーニの「トレーニID」、再生ボタンに対応するコンテンツの「タイトル」とトレーニングの「メニュー名」および「実施期間」を取得し、さらに再生ボタン532が押された日時から「実施日」及び「実施時刻」を取得して、トレーニング履歴管理部207にトレーニング履歴として登録することにより管理する。
図10A、図10B及び図10Cは、センサーデータ管理部208が保持しているセンサーデータを模式的に示した一例である。センサーデータ701、センサーデータ702及びセンサーデータ703は、どのトレーニのセンサーデータであるかを識別するための「トレーニID」、いつ測定されたセンサーデータであるかを示す「測定日」を含む。本実施の形態では、センサーデータは、「体重」と「筋肉量」とを含む。
図10Aのセンサーデータ701は、トレーニIDが「AA0001」であるトレーニのセンサーデータであり、図10Bのセンサーデータ702はトレーニIDが「AA0002」であるトレーニのセンサーデータであり、図10Cのセンサーデータ703はトレーニIDが「AA0003」であるトレーニのセンサーデータである。
センサーデータは、トレーニ121の機器123により測定されて、クラウドサーバ111に登録される。例えば、センサーデータ管理部208は、あらかじめ機器123の機器IDを取得して、取得した機器IDをトレーニIDと対応付けておく。機器123は、測定がなされるたびにクラウドサーバ111に値を通知し、制御部216は、通知のあった機器のIDからトレーニIDを取得し、通知された値、例えば体重又は筋肉量を取得し、通知のあった日時から「測定日」を取得して、センサーデータ管理部208にセンサーデータとして登録することにより管理する。また、機器122は、自身のトレーニIDを管理しておき、機器123は測定したセンサーデータを同一トレーニの機器122に通知し、機器122は、トレーニIDとともに測定値をクラウドサーバ111に値を通知する。制御部216は、トレーニIDと通知された測定値、例えば体重又は筋肉量を取得し、通知のあった日時から「測定日」を取得して、センサーデータ管理部208にセンサーデータとして登録することにより管理する。
図11は、クラウドサーバ111がパーソナルトレーニングメニュー更新を行う手順の一例を示すフローチャートである。
本実施の形態では、トレーニの新規入会時にトレーナがパーソナルトレーニングメニューを作成すると、クラウドサーバ111は、その後、定期的又は不定期にパーソナルトレーニングメニューを更新する。例えば、トレーニングメニュー更新制御部210が定期的、もしくは不定期にパーソナルトレーニングメニュー更新手順を実行してもよい。また、トレーナがパーソナルトレーニングメニュー更新指示を行うことで、パーソナルトレーニングメニュー更新手順を実行してもよい。
始めに、トレーニングメニュー更新制御部210は、コンテンツカテゴライズ部211にコンテンツカテゴライズを指示する。コンテンツカテゴライズ部211は、コンテンツカテゴライズを実施する(ステップS1001)。コンテンツカテゴライズの詳細手順については後述する。
次に、トレーニングメニュー更新制御部210は、トレーニング実施状況取得部212にパーソナルトレーニング実施状況取得を指示する。トレーニング実施状況取得部212はパーソナルトレーニング実施状況を取得する(ステップS1002)。パーソナルトレーニング実施状況取得の詳細手順については後述する。
次に、トレーニングメニュー更新制御部210は、トレーニング効果状況取得部213にパーソナルトレーニング効果状況取得を指示する。トレーニング効果状況取得部213はパーソナルトレーニング効果状況を取得する(ステップS1003)。パーソナルトレーニング効果状況取得の詳細手順については後述する。
次に、トレーニングメニュー更新制御部210は、コンテンツ需要算出部214にコンテンツ需要算出を指示する。コンテンツ需要算出部214はコンテンツ需要算出を実施する(ステップS1004)。コンテンツ需要算出の詳細手順については後述する。なお、コンテンツ需要算出結果は、トレーナに追加制作させるコンテンツを示すものであり、指示情報ともいう。つまり、指示情報とは、トレーナに新たに提供させるコンテンツを示す情報である。
次に、トレーニングメニュー更新制御部210はコンテンツ需要算出の結果を制御部216に通知する。制御部216は、通信部209を介して、コンテンツ需要算出結果を機器102に通知することで、トレーナにコンテンツ需要算出結果を通知する(ステップS1005)。
トレーナ101は、ステップS1005で通知されたコンテンツ需要算出結果を参照してコンテンツを追加制作すべきかどうかを判断し、追加制作すべきと判断した場合にはコンテンツを追加制作してコンテンツ登録を行う。
なお、コンテンツ需要算出結果を参照した結果、追加制作が不要と判断した場合、又は、追加制作が必要ではあるがトレーナの工数が取れない場合にはコンテンツの追加制作は行われない。その場合には、次のステップS1006とステップS1007とをスキップしてステップS1008に進む。
次に、映像管理部202は、トレーナが追加制作したコンテンツの登録を受け付ける(ステップS1006)。トレーナが機器122を介して、追加制作したコンテンツとコンテンツの映像メタデータ情報とをクラウドサーバ111に登録する。本実施の形態において、映像メタデータ情報とは、映像メタデータ情報401で管理されているタイトル、ジャンル、運動強度、強化部位及び熟練度である。クラウドサーバ111の制御部216は、通信部209を介して追加制作したコンテンツおよび映像メタデータ情報を受け取ると、追加制作したコンテンツを映像管理部202に映像メタデータ情報を映像メタ管理部203に通知する。その際、コンテンツと映像メタデータ情報との対応がわかるよう、例えば、コンテンツのファイル名もしくはコンテンツを配置するフォルダ名を「タイトル」と同一にしたり、映像メタデータ情報として、コンテンツを配置したフォルダを管理したりしてもよい。なお、トレーナが追加制作したコンテンツのことを新規コンテンツともいう。
制御部216は、コンテンツ登録受付が完了すると、コンテンツ登録受付完了をトレーニングメニュー更新制御部210に通知し、トレーニングメニュー更新制御部210は、コンテンツカテゴライズ部211にコンテンツカテゴライズを指示する。コンテンツカテゴライズ部211は、ステップS1006で追加登録したコンテンツを含めて、再度コンテンツカテゴライズを実施する(ステップS1007)。
次にトレーニングメニュー更新制御部210は、トレーニングメニュー変更部215にパーソナルトレーニングメニュー変更を指示する。トレーニングメニュー変更部215は、パーソナルトレーニングメニュー変更を実施し終了する(ステップS1008)。パーソナルトレーニングメニュー変更の詳細手順については後述する。
次にトレーニングメニュー更新制御部210は、トレーニングメニューの次の更新時期が到来するまで待機する(ステップS1009)。更新時期とは、トレーニによるトレーニングの実施の状況によってトレーニングメニューを見直す時期のことである。具体的には、トレーニングメニュー更新制御部210は、更新時期が到来するまで当該ステップで待機し(ステップS1009でNO)、更新時期が到来したら(ステップS1009でYES)、ステップS1002に戻り、上記各ステップの処理を再び実行する。
なお、コンテンツ需要算出(ステップS1004)までに、コンテンツカテゴライズ(ステップS1001)、パーソナルトレーニング実施状況取得(ステップS1002)及びパーソナルトレーニング効果状況取得(ステップS1003)が完了していればよく、コンテンツカテゴライズ、パーソナルトレーニング実施状況取得及びパーソナルトレーニング効果状況取得が、この順番で行われなくてもよい。
図11に示される一連の処理により、オンライントレーニングシステムは、トレーナに対して、追加すべきコンテンツを提示する。このオンライントレーニングシステムでは、実施期間が1週間のパーソナルトレーニングメニュー作成し、各トレーニのトレーニング実施状況又はトレーニング効果状況からパーソナルトレーニングメニューを1週間ごとに見直して次の1週間のパーソナルメニューを作成又は更新する。このオンライントレーニングサービスにおいては、トレーニの新規入会時に、実施期間が1週間であるパーソナルトレーニングメニューをトレーナが作成し、実施期間である1週間ごとの期間の終了日(上記の「更新時期」に相当)に、図11に記載しているフローチャートに沿ってパーソナルトレーニングメニュー更新が実施することで、最適なタイミングで、最適なコンテンツのみをトレーナが追加制作し、追加制作したコンテンツをパーソナルトレーニングメニュー変更に利用できる。
図12は、コンテンツカテゴライズ手順の一例を示すフローチャートである。
始めに、コンテンツカテゴライズ部211は、分類に使用するトレーニング特性を1つ以上取得する(ステップS1101)。トレーニング特性は、映像メタデータ情報として保持しているトレーニング特性から選択することで取得する。本実施の形態では、ジャンル、運動強度、強化部位及び熟練度をトレーニング特性として用いるので、その中から1つ以上を選択する。なお、予め保持しているトレーニング特性を読み出すことで、トレーニング特性を取得してもよい。
次に、コンテンツカテゴライズ部211は、映像メタ管理部203の映像メタデータ情報401を参照し、ステップS1101で取得されたトレーニング特性の値が全て等しいコンテンツをグルーピングすることで、コンテンツをグルーピングする(S1102)。例えば、トレーニング特性が強化部位及び運動強度である場合には、強化部位及び運動強度の値が等しいコンテンツを同じグループとする。
なお、トレーニング特性は、上記のものに限定されない。トレーナは、カテゴライズしたい分類項目をトレーニング特性として映像メタデータ情報に追加し、追加したトレーニング特性に対して値を付与することにより、カテゴライズしたい分類項目にてコンテンツをグルーピングすることができる。
なお、分類に使用する特性を取得するタイミングは限定されない。また、コンテンツをグルーピングするたびに分類に使用する特性を決定しなくとも良い。例えば、予め分類に使用する特性を決定しておき、コンテンツカテゴライズを行う際には毎回同じ特性を利用してコンテンツをグルーピングしてもよい。
図13は、コンテンツカテゴライズテーブルを模式的に示した一例の図である。コンテンツカテゴライズテーブル1200は、図5の映像メタデータ情報401について、トレーニング特性の強化部位と運動強度とを分類に使用する特性として取得し、コンテンツをグルーピングした結果、生成されるテーブルである。
コンテンツカテゴライズテーブル1200は、どのトレーニング特性でグルーピングしたかを示すコンテンツ特性を含む。図13のコンテンツカテゴライズテーブルは、「強化部位」及び「運動強度」でコンテンツをグルーピングしているため、「強化部位」及び「運動強度」が含まれる。
コンテンツカテゴライズテーブル1200は、各カテゴリに含まれるコンテンツ「タイトル」を含む。例えば、強化部位が「上半身」であり、運動強度が「1」である「ヨガ1」と「筋トレ1」は1つのグループに含まれている。同様に、強化部位が「上半身」であり、運動強度が「2」である「筋トレ2」は、1つのグループに含まれている。強化部位が「下半身」であり、運動強度が「3」のグループに入るコンテンツは存在しないため、そのコンテンツが存在しないことを示すためタイトルに「−」が入力されている。
コンテンツカテゴライズテーブル1200は、カテゴリに含まれるコンテンツの需要、すなわち不足度合いを入力するための「コンテンツ需要」を含んでもよい。「コンテンツ需要」は、ステップS1004のコンテンツ需要算出を行った結果、値が決定するため、ステップS1001のコンテンツカテゴライズ実施直後は、初期値である「0」が入力されている。なお、コンテンツの需要を示す量のことを需要度ともいう。
図14は、パーソナルトレーニング実施状況取得手順の一例を示すフローチャートである。
トレーニング実施状況取得部212は、トレーニングメニュー更新制御部210からの指示によりパーソナルトレーニング実施状況取得を実施する。
トレーニング実施状況取得部212は、始めに変数Nに「1」を代入する(ステップS1201)。変数Nは、トレーニに対応する。以降で変数Nをインクリメントしながら処理することで、すべてのトレーニのトレーニングメニューについての処理がなされる。
次に、トレーニング実施状況取得部212は、トレーニングメニュー管理部206が保持しているパーソナルトレーニングメニューを参照し、N番目のパーソナルトレーニングメニューがあるか否かを判定する(ステップS1202)。
ステップS1202の判定結果がYESであればステップS1203に進み、NOであれば処理を終了する。
ステップS1202の判定結果がYESであった場合、トレーニング実施状況取得部212は、N番目のパーソナルトレーニングメニューの情報を取得する(ステップS1203)。
次に、トレーニング実施状況取得部212は、トレーニング履歴管理部207が保持しているトレーニング履歴から、N番目のパーソナルトレーニングメニューと同一のトレーニIDを持つトレーニング履歴を取得する(ステップS1204)。
次に、トレーニング実施状況取得部212は、変数Mに「1」を代入する(ステップS1205)。変数Mは、コンテンツに対応する。以降で変数Mをインクリメントしながら処理することで、当該トレーニングメニューに含まれるすべてのコンテンツについての処理がなされる。
次に、トレーニング実施状況取得部212は、取得しているN番目のパーソナルトレーニングメニューを参照し、パーソナルトレーニングメニューを構成するM個目のコンテンツがあるか否かを判定する(ステップS1206)。すなわち、N番目のパーソナルトレーニングメニューのタイトル列にM個目のコンテンツがあるか否かを判定する。
ステップS1206の判定結果がYESであればステップS1207に進み、NOであればステップS1211に進む。
ステップS1206の判定結果がYESであった場合、トレーニング実施状況取得部212は、取得しているN番目のパーソナルトレーニングメニューと同一のトレーニIDを持つトレーニング履歴を参照し、M個目コンテンツの実施期間内の実施回数を取得する(ステップS1207)。すなわち、トレーニング履歴の「タイトル」がM個目のコンテンツと同一であり、かつ、トレーニング履歴の「実施日」がパーソナルトレーニングの「実施期間」内に含まれる数をカウントし、実施回数とする。
なお、同一日に同一コンテンツのトレーニング履歴が2つ以上存在する場合には、1回とカウントしてもよい。
次に、トレーニング実施状況取得部212は、M個目のコンテンツの実施期間内の実施率を取得する(ステップS1208)。実施率は、ステップS1207で取得した「実施回数」とパーソナルトレーニングの「実施期間」内の日数から、以下の数式で算出できる。
実施率[%]=実施回数/「実施期間」の日数×100
次に、トレーニング実施状況取得部212は、トレーニID、メニュー名、実施期間、タイトル、実施回数及び実施率を、トレーニング状況テーブルに追加する(ステップS1209)。
次に、トレーニング実施状況取得部212は、Mの値を1インクリメントし、ステップS1206に戻る(ステップS1210)。
ステップS1206の判定結果がNOであった場合、Nの値を1インクリメントし、ステップS1202に戻る(ステップS1211)。
なお、本実施の形態では、パーソナルトレーニングの実施状況としてコンテンツの実施回数もしくは実施率を利用することとしているが、実施状況はこれに限定されない。例えばトレーニング時間などを利用してもよい。
パーソナルトレーニングの実施状況としてコンテンツの実施回数もしくは実施率以外を利用する場合には、実施状況を算出可能な情報をトレーニング実施履歴として取得しておき、ステップS1207およびステップS1208に代えて、トレーニング実施状況を算出するステップを備えるものとする。
なお、パーソナルトレーニングの実施状況を示す量を実施量ともいう。すなわち、実施量の具体例は、実施回数又は実施率などである。
図15A、図15B及び図15Cは、図6のパーソナルトレーニングメニュー501と、図9Aのトレーニング履歴601と、図9Bのトレーニング履歴602と、図9Cのトレーニング履歴603とを用いてパーソナルトレーニング実施状況取得を行うことで作成されるトレーニング状況テーブルを模式的に示した一例である。
トレーニング実施状況テーブル1220、1221及び1222は、トレーニングを行ったトレーニを識別するための「トレーニID」、トレーニがトレーニングを実施したコンテンツの「タイトル」を含む。また、パーソナルトレーニング及び実施期間を識別するために「メニュー名」及び「実施期間」を含んでも良い。トレーニング状況テーブルは、トレーニングの実施状況に関する情報を含む。本実施の形態では、トレーニングの実施状況として実施期間内に当該コンテンツを使用して何回トレーニングを実施したかを示す「実施回数」と、実施期間内に当該コンテンツを使用したトレーニングを実施した割合を示す「実施率」とを含むこととしている。
トレーニングの実施状況に関する情報はこれに限定されない。例えば、トレーニング時間などをトレーニングの実施状況に含んでも良い。
トレーニング状況テーブルは、トレーニング効果状況に関する状況を含む。本実施の形態では、実施期間内にどれだけ効果があったかの度合いを示す「効果レベル」を含むこととしている。
トレーニングの効果状況に関する情報はこれに限定されない。例えば、体重、体脂肪率、筋肉量の増減量又は増減率をトレーニング効果状況として含んでもよい。
「効果レベル」は、トレーニング効果状況取得を行うことで取得されるため、トレーニング実施状況の取得を実施した後のデータ列であって未だトレーニング効果状況取得を実施していないデータ列については、値が入っておらず、「−」が入力されている。
トレーニング状況テーブルは、トレーニIDごとに存在し、トレーニが入会してからのパーソナルトレーニングに対する実施状況と効果状況が管理されている。トレーニング実施状況テーブル1220はトレーニIDが「AA0001」のトレーニのトレーニング実施状況と効果状況である。トレーニID「AA0001」のトレーニが2015年2月22日に入会しているため、2週間分のトレーニング実施状況が管理されている。
トレーニング実施状況テーブル1220、1221及び1222は、トレーニング実施状況取得部212にて管理される。
図16は、パーソナルトレーニング効果状況取得手順の一例を示すフローチャートである。
トレーニング効果状況取得部213は、トレーニングメニュー更新制御部210からの指示によりパーソナルトレーニング効果状況取得を実施する。
トレーニング効果状況取得部213は、始めに、変数Nに「1」を代入する(ステップS1301)。
次に、トレーニング効果状況取得部213は、トレーニングメニュー管理部206が保持しているパーソナルトレーニングメニューを参照し、N番目のパーソナルトレーニングメニューがあるか否かを判定する(ステップS1302)。
ステップS1302の判定結果がYESであればステップS1303に進み、NOであれば処理を終了する。
ステップS1302の判定結果がYESであった場合、トレーニング効果状況取得部213は、N番目のパーソナルトレーニングメニューの情報を取得する(ステップS1303)。
次に、トレーニング効果状況取得部213は、センサーデータ管理部208が保持しているセンサーデータから、N番目のパーソナルトレーニングメニューと同一のトレーニIDを持つセンサーデータを取得する(ステップS1304)。
次に、トレーニング効果状況取得部213は、N番目のパーソナルトレーニングメニューの実施期間におけるトレーニング効果量を算出する(ステップS1305)。本実施の形態では、トレーニング効果量として、体重の増減量を用いて説明を行うが、トレーニング効果量として使用する情報はこれに限定されない。例えば、筋肉量の増減量、体脂肪率の増減割合、ウェスト又はヒップなど身体の部位の周囲の太さの増減量などがある。なお、トレーニング効果量のことを単に効果量ともいう。
体重の増減量をトレーニング効果量とする場合、パーソナルトレーニングのトレーニング効果量は以下の数式で算出するものとする。
パーソナルトレーニングのトレーニング効果量=(最新の体重)―(パーソナルトレーニングメニューの実施期間以前で一番新しい体重)
なお、パーソナルトレーニングメニューの実施期間以前の体重データがない場合には、パーソナルトレーニングメニューの実施期間内で一番古い体重を使用してもよい。
次に、トレーニング効果状況取得部213は、コンテンツごとのトレーニング効果量を算出する(ステップS1306)。この処理は、パーソナルトレーニングメニューが複数のコンテンツから構成されている場合に、コンテンツごとのトレーニング効果量を算出するために行う。
コンテンツごとのトレーニング効果量の算出のため、N番目のパーソナルトレーニングメニューと同一のトレーニIDのトレーニング履歴を取得する。
特定のコンテンツのトレーニング効果量は以下の数式で算出するものとし、パーソナルトレーニングメニューを構成する全コンテンツについて、以下の数式を用いてトレーニング効果量を算出する。
特定コンテンツのトレーニング効果=(実施期間内の特定コンテンツの実施回数)/(実施期間内の全コンテンツの実施回数)×(パーソナルトレーニングの効果量)
前述の例では、実施回数の割合でコンテンツのトレーニング効果を算出しているが、コンテンツごとの効果量の算出方法はこれに限定されない。例えば、トレーニング時間の長さの割合又は消費カロリーの割合などを使用したりしてもよい。
次に、トレーニング効果状況取得部213は、トレーニング効果量から効果レベルを取得する(ステップS1307)。すなわち、数値情報であるトレーニング効果量から効果度合いを示す効果レベルに変換する。
次に、トレーニング効果状況取得部213は、ステップS1002で作成されたトレーニング状況テーブルに対して、同一のトレーニIDを持つトレーニング状況テーブルの効果レベルの欄にステップS1307で算出した効果レベルの値を入力する(ステップS1308)。
次に、トレーニング効果状況取得部213は、Nの値を1インクリメントし、ステップS1302に戻る(ステップS1309)。
図17Aは、トレーニング効果量の一例である体重の増減量を効果レベルに変換するための効果レベルマッピングテーブルの一例を示す図である。効果レベルマッピングテーブル1401は、トレーニングの効果度合いを示す指標である「効果レベル」と、各効果レベルに対応するトレーニング効果量の範囲を示す「トレーニング効果量の範囲」とを含む。ここでは、トレーニング効果量として、体重の増減量を用いて説明しており、「トレーニング効果量の範囲」は体重の増減量の範囲である。例えば、効果レベル「A」は、パーソナルトレーニングメニューの実施期間内に体重が1キロ以上減少したトレーニに付与される。
本実施の形態では、トレーニング効果量として、体重の増減量を用いて説明を行っているが、トレーニング効果量に別の指標、例えば、筋肉量の増減量、体脂肪率の増減割合、ウェスト又はヒップなど身体の部位の周囲の太さの増減量などが使用された場合には、トレーニング効果量の範囲には別の指標に対応する範囲が入ることになる。
例えば、筋肉量の増減量をトレーニング効果量として用いることも可能である。図17Bは、トレーニング効果量の一例である筋肉量の増減量を効果レベルに変換するための効果レベルマッピングテーブルの一例を示す図である。例えば、効果レベル「A」は、パーソナルトレーニングメニューの実施期間内に筋肉量が0.2キロ以上増加したトレーニに付与される。
なお、本実施の形態では、全トレーニが同一の値、すなわち、体重の増減量を用いてトレーニング効果量を算出しているが、トレーニ毎に異なる値を用いてトレーニング効果量を算出してもよい。例えば、入会の目的が「ダイエット」であるトレーニについては体重の増減量を用いてトレーニング効果量を算出し、入会の目的が「筋力向上」であるトレーニについては筋肉量の増減量を用いてトレーニング効果量を算出してもよい。その場合には、効果レベルマッピングテーブルは、「効果レベル」と体重の増減量をトレーニング効果量とする場合の「トレーニング効果量の範囲」、及び、筋肉量の増減量をトレーニング効果量とする場合の「トレーニング効果量の範囲」を含む必要がある。
図18A、図18B及び図18Cは、図10A、図10B及び図10Cのセンサーデータを用いてパーソナルトレーニング効果状況取得を行った結果が入力されたトレーニング効果状況テーブルを模式的に示した一例である。各項目については、図15A、図15B及び図15Cと同様であるため、説明を省略する。
図19は、コンテンツ需要算出の詳細な手順を示すフローチャートの一例である。
コンテンツ需要算出部214は、トレーニングメニュー更新制御部210からの指示によりコンテンツ需要算出を実施する。
コンテンツ需要算出部214は、始めに、変数Nに「1」を代入する(ステップS1600)。
コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報を参照し、N番目のトレーニが存在するか否かを判定する(ステップS1601)。
判定結果がYESであればステップS1602に進み、NOであれば処理を終了する。
ステップS1601の判定結果がYESであった場合、コンテンツ需要算出部214は、N番目のトレーニのトレーニング実施状況テーブルを参照し、実施期間内のトレーニング実施状況テーブルのデータ列があるか否かを判定する(ステップS1602)。
判定結果がYESであればステップS1603に進み、NOであれば、ステップS1613に進む。
ステップS1602で判定結果がYESであった場合、コンテンツ需要算出部214は、N番目のトレーニの実施期間内のトレーニング状況テーブルを取得する(ステップS1603)。
次に、コンテンツ需要算出部214は、変数Mに「1」を代入する(ステップS1604)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列にM番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がYESであればステップS1606に進み、NOであればステップS1613に進む。
ステップS1605で判定結果がYESであった場合、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列を参照し、M番目のコンテンツの実施率が閾値未満か否かを判定する(ステップS1606)。
なお、本実施の形態では、コンテンツの実施状況が一定以上か否かを判定するために、コンテンツの実施率が閾値未満か否かで判定しているが、コンテンツの実施状況の判定方法はこれに限定されない。例えば、コンテンツの実施回数又はトレーニング時間を判定に用いても良い。
ステップS1606の判定結果がYESであればステップS1607に進み、判定結果がNOであればステップS1609に進む。
ステップS1606で判定結果がYESであった場合、コンテンツ需要算出部214は、ステップS1001のコンテンツカテゴライズ結果、及び、実施期間以前のトレーニング実施状況テーブルのデータ列を参照し、M番目のコンテンツと同一のカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1607)。
判定結果がYESであれば、ステップS1612に進み、NOであればステップS1608に進む。
ステップS1607で判定結果がNOであった場合、コンテンツ需要算出部214は、コンテンツカテゴライズテーブルでM番目のコンテンツを含むカテゴリの「コンテンツ需要」の値を1インクリメントし、ステップS1612に進む(ステップS1608)。
なお、ステップS1608においてコンテンツ需要算出部214は、初回には、ステップS1001で生成されたコンテンツカテゴライズテーブルを用いることができ、2回目以降はステップS1007で生成されたコンテンツカテゴライズテーブルを用いることができる。
ステップS1606で判定結果がNOであった場合、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列を参照し、M番目のコンテンツの効果レベルが一定以上であるか否か、具体的には、効果レベルがA〜Cの範囲内にあるか否かを判定する(ステップS1609)。この判定は、M番目のコンテンツに基づくトレーニングによりトレーニの身体に所定の効果が表れているか否かを判定するものである。また、この判定は、効果レベルがトレーニの身体に所定の効果が表れていることを示す、「効果レベルがA〜Cの範囲内にある」という条件を、トレーニの身体に関するトレーニング効果量から変換された効果レベルが、満たすか否かを判定するものである。
なお、本実施の形態では効果レベルが一定以上か否かを判定するために効果レベルがA〜Cの範囲内にあるか否かで判定しているが、コンテンツの効果状況の判定方法はこれに限定されない。例えば、効果レベルが「C」以外の値でも良い。また、コンテンツに対するトレーニング効果量を判定に使用してもよい。
判定結果がYESであればステップS1612に進み、NOであればステップS1610に進む。
ステップS1609で判定結果がNOであった場合、コンテンツ需要算出部214は、ステップS1001のコンテンツカテゴライズ結果を参照し、実施期間以前のトレーニング実施状況テーブルのデータ列を参照し、M番目のコンテンツの1つ上のレベルのカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1610)。
ここで、1つ上のレベルのカテゴリとは、運動強度又は熟練度など数値データで表現することのできるコンテンツ特性について、数値データが1つ高いカテゴリを示す。
例えば、図13のコンテンツカテゴライズテーブルでは、強化部位が「上半身」であり運動強度が「1」のカテゴリの1つ上のレベルのカテゴリとは、強化部位が「上半身」であり運動強度が「2」のカテゴリを示す。
ステップS1610の判定結果がYESであればステップS1612に進み、NOであればステップS1611に進む。
ステップS1610の判定結果がNOであった場合、コンテンツ需要算出部214は、コンテンツカテゴライズテーブルでM番目のコンテンツのカテゴリより1つ上のレベルのカテゴリの「コンテンツ需要」の値を1インクリメントし、ステップS1612に進む(ステップS1611)。
ステップS1607の判定結果がYESであった場合および、ステップS1608の処理を終了した場合および、ステップS1609の判定結果がYESであった場合および、ステップS1610の判定結果がYESであった場合および、ステップS1611の処理を終了した場合は、変数Mの値を1インクリメントし、ステップS1605に戻る(ステップS1612)。
ステップS1602の判定結果がNOであった場合、ステップS1605の判定結果がNOであった場合、変数Nの値を1インクリメントし、ステップS1601に戻る(ステップS1613)。
図20は、ステップS1004のコンテンツ需要算出により、「コンテンツ需要」の値が決定したコンテンツカテゴライズテーブルを模式的に示した一例の図である。コンテンツカテゴライズテーブルの各項目は図13と同様であるため、説明を省略する。
図21は、ステップS1004で算出されたコンテンツ需要を参照してトレーナが制作して追加登録したコンテンツをコンテンツカテゴライズテーブルに追加した後に、再度、コンテンツカテゴライズを実施した結果である。コンテンツカテゴライズテーブルの各項目は図13と同様であるため、説明を省略する。
図22は、パーソナルトレーニングメニュー変更の詳細手順の一例を示すフローチャートである。
トレーニングメニュー変更部215は、トレーニングメニュー更新制御部210からの指示によりパーソナルトレーニングメニュー更新を実施する。
ステップS1600、ステップS1601、ステップS1602、ステップS1603、ステップS1604、ステップS1605、ステップS1606、ステップS1612及びステップS1613については、コンテンツ需要算出と同様であるため説明を省略し、ステップS1801、ステップS1802、ステップS1803、ステップS1804、ステップS1805及びステップS1806について説明する。
ステップS1606の判定結果がYESであった場合、トレーニングメニュー変更部215は、ステップS1001のコンテンツカテゴライズ結果に対して、ステップS1006でコンテンツを登録した後にステップS1007で再度コンテンツカテゴライズを実施した後のコンテンツカテゴライズテーブル、および、実施期間以前のトレーニング実施状況テーブルのデータ列を参照し、M番目のコンテンツと同一のカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1801)。
判定結果がYESであればステップS1802に進み、NOであればステップS1612に進む。
ステップS1801の判定結果がYESであった場合、トレーニングメニュー変更部215は、トレーニングメニュー管理部206が保持しているN番目のトレーニのパーソナルトレーニングメニューのM番目のコンテンツを、M番目のコンテンツと同一カテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツに変更し、ステップS1612に進む(ステップS1802)。なお、トレーニングメニュー変更部215は、上記コンテンツを選択して、上記N番目のトレーニのパーソナルトレーニングメニューのM番目のコンテンツを、選択したコンテンツに変更する、ということもできる。
また、ステップS1606の判定結果がNOであった場合、トレーニングメニュー変更部215は、実施期間内のトレーニング状況テーブルのデータ列を参照し、M番目のコンテンツの効果レベルがA〜Cの範囲内にあるか否かを判定する(ステップS1803)。
判定結果がYESであった場合ステップS1612に進み、NOであった場合ステップS1804に進む。
ステップS1803の判定結果がNOであった場合、トレーニングメニュー変更部215は、ステップS1001のコンテンツカテゴライズ結果に対して、ステップS1006でコンテンツを登録した後に、ステップS1007で再度コンテンツカテゴライズを実施した後のコンテンツカテゴライズテーブルおよび、実施期間以前のトレーニング実施状況テーブルのデータ列を参照し、M番目のコンテンツの1つ上のレベルのカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1804)。なお、トレーニングメニュー変更部215は、上記コンテンツを選択して、上記N番目のトレーニのパーソナルトレーニングメニューのM番目のコンテンツを、選択したコンテンツに変更する、ということもできる。
判定結果がYESであればステップS1805に進み、NOであればステップS1612に進む。
ステップS1804で判定結果がYESであった場合、トレーニングメニュー変更部215は、トレーニングメニュー管理部206が保持しているN番目のトレーニのパーソナルトレーニングメニューのM番目のコンテンツを、M番目のコンテンツの1つ上のレベルのカテゴリで(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツに変更し、ステップS1612に進む(ステップS1805)。
ステップS1801で判定結果がNOであった場合および、ステップS1802の処理を終了した場合および、ステップS1803で判定結果がYESであった場合および、ステップS1804の判定結果がNOであった場合および、ステップS1805の処理を終了した場合、トレーニングメニュー変更部215は、変数Mの値を1インクリメントして、ステップS1605に戻る(ステップS1612)。
また、ステップS1605で判定結果がNOであった場合、トレーニングメニュー変更部215は、N番目のトレーニのパーソナルトレーニングメニューの実施期間を実施期間分インクリメントし、ステップS1613に進む(ステップS1806)。例えば、図6のトレーニIDが「AA0001」のトレーニのパーソナルトレーニングメニューの実施期間は、2015年3月1日から2015年3月7日の1週間であるため、実施期間分インクリメントされた値は、2015年3月8日から2015年3月14日までとなる。
図23は、図6のパーソナルトレーニングメニュー501が、ステップS1008のパーソナルトレーニングメニュー更新によって変更された結果のパーソナルトレーニングである。
パーソナルトレーニングメニュー2001の各項目は図6と同様であるため、説明を省略する。
ここで、パーソナルトレーニング更新の流れを図11のフローチャートと実際のデータを用いて説明する。
会員情報管理部201は会員情報301を保持し、映像メタ管理部203は映像メタデータ情報401を保持し、トレーニングメニュー管理部206はパーソナルトレーニングメニュー501を保持し、トレーニング履歴管理部207はトレーニング履歴601とトレーニング履歴602とトレーニング履歴603とを保持し、センサーデータ管理部208はセンサーデータ701とセンサーデータ702とセンサーデータ703とを保持しているものとする。
始めに、トレーニングメニュー更新制御部210は、コンテンツカテゴライズ部211にコンテンツカテゴライズを指示し、コンテンツカテゴライズ部211は、コンテンツカテゴライズを実施する(ステップS1001)。
ここで、コンテンツカテゴライズの流れを、図12のフローチャートと図5の映像メタデータ情報401を用いて説明する。
始めに、分類に使用するトレーニング特性として、「強化部位」及び「運動強度」を取得する(ステップS1101)。
次に、映像メタ管理部203の映像メタデータ情報401を参照し、ステップS1101で取得されたトレーニング特性である「強化部位」及び「運動強度」の値が全て等しいコンテンツをグルーピングすることで、コンテンツをグルーピングする(S1102)。
上記の処理により、映像メタデータ情報401から、コンテンツカテゴライズテーブル1200が完成する。
ここで、図11のフローチャートに戻る。
次に、トレーニングメニュー更新制御部210は、トレーニング実施状況取得部212にパーソナルトレーニング実施状況取得を指示する。トレーニング実施状況取得部212は、パーソナルトレーニング実施状況を取得する(ステップS1002)。
ここで、パーソナルトレーニング実施状況を取得の流れを、図14のフローチャートと図6のパーソナルトレーニングメニュー501、図9A、図9B及び図9Cのトレーニング履歴を用いて説明する。
トレーニング実施状況取得部212は、始めに変数Nに「1」を代入する(ステップS1201)。
次に、トレーニング実施状況取得部212は、トレーニングメニュー管理部206が保持しているパーソナルトレーニングメニュー501を参照し、1番目のパーソナルトレーニングメニューがあるか否かを判定する(ステップS1202)。
ステップS1202の判定結果がYESであるため、トレーニング実施状況取得部212は、1番目のパーソナルトレーニングメニューの情報であるパーソナルトレーニングメニュー502を取得する(ステップS1203)。
次に、トレーニング実施状況取得部212は、トレーニング履歴管理部207が保持しているトレーニング履歴から、1番目のパーソナルトレーニングメニューと同一のトレーニIDである「AA0001」を持つトレーニング履歴であるトレーニング履歴601を取得する(ステップS1204)。
次に、トレーニング実施状況取得部212は、変数Mに「1」を代入する(ステップS1205)。
次に、トレーニング実施状況取得部212は、取得している1番目のパーソナルトレーニングメニューであるパーソナルトレーニングメニュー502を参照し、パーソナルトレーニングメニューを構成する1個目のコンテンツがあるか否かを判定する(ステップS1206)。
パーソナルトレーニングメニュー502の1個目のコンテンツとしてタイトルが「ヨガ1」であるコンテンツが存在するため、判定結果はYESである。
ステップS1206の判定結果がYESであるため、トレーニング実施状況取得部212は、取得している1番目のパーソナルトレーニングメニューであるパーソナルトレーニングメニュー502と同一のトレーニIDである「AA0001」を持つトレーニング履歴であるトレーニング履歴601を参照し、1個目コンテンツである「ヨガ1」の実施期間内の実施回数を取得する(ステップS1207)。トレーニング履歴601を参照すると、実施期間内である2015年3月1日から2015年3月7日までの間で、「ヨガ1」が2015年3月1日と2015年3月3日とに実施されているため、実施回数として「2」を取得する。
次に、トレーニング実施状況取得部212は、1個目のコンテンツの実施期間内の実施率を取得する(ステップS1208)。実施率は、ステップS1207で取得した「実施回数」とパーソナルトレーニングの「実施期間」の日数から、以下の数式で算出できる。
実施率[%]=実施回数/「実施期間」の日数×100
実施回数が「2」、実施期間の日数が「7」であるため、実施率として「43(%)」を取得する。
次に、トレーニング実施状況取得部212は、トレーニID「A0001」、メニュー名「一週間で動ける体へ」、実施期間「2015/3/1〜2015/3/7」、タイトル「ヨガ1」、実施回数「2」、実施率「43」をトレーニング状況テーブルに追加することで、トレーニング実施状況テーブル1220となる(ステップS1209)。
次に、トレーニング実施状況取得部212は、Mの値を1インクリメントし、ステップS1206に戻る(ステップS1210)。
次に、トレーニング実施状況取得部212は、パーソナルトレーニングを構成する2番目のコンテンツがあるか否かを判定し、判定結果がNOであるためステップS1211に進み、Nの値を1インクリメントし、ステップS1202に戻る(ステップS1211)。
同様にして、図6のパーソナルトレーニングメニュー503とトレーニング履歴602からトレーニング実施状況テーブル1221が生成され、図6のパーソナルトレーニングメニュー504及びトレーニング履歴603からトレーニング実施状況テーブル1222が生成され、全トレーニのトレーニングが生成もしくは更新されて処理を終了する。
ここで、図11のフローチャートに戻る。
次に、トレーニングメニュー更新制御部210は、トレーニング効果状況取得部213にパーソナルトレーニング効果状況取得を指示する。トレーニング効果状況取得部213はパーソナルトレーニング効果状況を取得する(ステップS1003)。
ここで、パーソナルトレーニング効果状況取得を取得の流れを、図16のフローチャートと、図6のパーソナルトレーニングメニュー501と、図9A、図9B及び図9Cのトレーニング履歴と、図10A、図10B及び図10Cのセンサーデータと、図15A、図15B及び図15Cのトレーニング実施状況テーブルと、図17の効果レベルマッピングテーブルとを用いて説明する。
トレーニング効果状況取得部213は、始めに、変数Nに「1」を代入する(ステップS1301)。
次に、トレーニング効果状況取得部213は、トレーニングメニュー管理部206が保持しているパーソナルトレーニングメニュー501を参照し、1番目のパーソナルトレーニングメニューがあるか否かを判定する(ステップS1302)。
ステップS1302の判定結果がYESであるため、トレーニング効果状況取得部213は、1番目のパーソナルトレーニングメニューであるパーソナルトレーニングメニュー502を取得する(ステップS1303)。
次に、トレーニング効果状況取得部213は、センサーデータ管理部208が保持しているセンサーデータから、1番目のパーソナルトレーニングメニューであるパーソナルトレーニングメニュー502と同一のトレーニIDである「AA0001」を持つセンサーデータであるセンサーデータ701を取得する(ステップS1304)。
次に、トレーニング効果状況取得部213は、1番目のパーソナルトレーニングメニューの実施期間におけるトレーニング効果量を算出する(ステップS1305)。本実施の形態では、トレーニング効果量として、体重の増減量を用いて説明を行う。
まず始めにパーソナルトレーニングに対するトレーニング効果量を求め、次に、コンテンツに対するトレーニング効果量を求める。
体重の増減量をトレーニング効果量とする場合、パーソナルトレーニングのトレーニング効果量は以下の数式で算出するものとする。
パーソナルトレーニングのトレーニング効果量=(最新の体重)―(パーソナルトレーニングメニューの実施期間以前で一番新しい体重)
最新の体重が「75.2」、パーソナルトレーニング実施期間以前で最新の体重は2015年2月28日の体重である「75.0」であるため、パーソナルトレーニングのトレーニング効果量は「0.2」である。
次に、トレーニング効果状況取得部213は、コンテンツごとのトレーニング効果量を算出する(ステップS1306)。
トレーニング効果状況取得部213は、コンテンツごとのトレーニング効果量の算出のため、1番目のパーソナルトレーニングメニューのトレーニIDである「AA0001」と同一のトレーニIDを持つトレーニング履歴であるトレーニング履歴601を取得する必要がある。
特定のコンテンツのトレーニング効果量は以下の数式で算出するものとし、パーソナルトレーニングメニューを構成する全コンテンツについて、以下の数式を用いてトレーニング効果量を算出する必要がある。
特定コンテンツのトレーニング効果=(実施期間内の特定コンテンツの実施回数)/(実施期間内の全コンテンツの実施回数)×(パーソナルトレーニングの効果量)
パーソナルトレーニングメニュー502を構成するコンテンツは「ヨガ1」の1つなので、「ヨガ1」について特定コンテンツのトレーニング効果取得を行う。
トレーニング履歴601を参照し、実施期間である2015年3月1日から2015年3月7日までの「ヨガ1」の実施回数は「2」であり、全コンテンツの実施回数は「2」であり、パーソナルトレーニング効果量は0.2であるため、「ヨガ1」のコンテンツのトレーニング効果は「0.2」である。
なお、パーソナルトレーニングを構成するコンテンツが1つの場合は、トレーニング効果量と特定コンテンツのトレーニング効果は等しいため、算出処理を省略してもよい。
次に、トレーニング効果状況取得部213は、効果レベルマッピングテーブル1401を用いて、トレーニング効果量から効果レベルを取得する(ステップS1307)トレーニング効果「0.2」は、0キロ以上〜+0.5キロ未満の範囲に入るため、効果レベルが「D」となる。
次に、トレーニング効果状況取得部213は、ステップS1002で作成されたトレーニング状況テーブルに対して、同一のトレーニIDである「AA0001」を持つトレーニング状況テーブルであるトレーニング実施状況テーブル1220の効果レベルの欄にステップS1307で算出した効果レベルの値である「D」を入力する(ステップS1308)。これにより、トレーニング実施状況テーブル1501となる。
次に、トレーニング効果状況取得部213は、Nの値を1インクリメントし、ステップS1302に戻る(ステップS1309)。
同様にして、パーソナルトレーニングメニュー503、トレーニング履歴602、センサーデータ702及び効果レベルマッピングテーブル1401からトレーニング実施状況テーブル1221がトレーニング実施状況テーブル1502に更新される。パーソナルトレーニングメニュー504、トレーニング履歴603、センサーデータ703及び効果レベルマッピングテーブル1401からトレーニング実施状況テーブル1222がトレーニング実施状況テーブル1503に更新される。このようにして、全トレーニのトレーニング実施状況テーブルが更新されて処理を終了する。
ここで、図11のフローチャートに戻る。
次に、トレーニングメニュー更新制御部210は、コンテンツ需要算出部214にコンテンツ需要算出を指示する。コンテンツ需要算出部214はコンテンツ需要算出を実施する(ステップS1004)。
ここで、コンテンツ需要算出の流れを、図19のフローチャートと図3の会員情報301と図13のコンテンツカテゴライズテーブル1200と図18のトレーニング実施状況テーブル1501、1502及び1503を用いて説明する。
コンテンツ需要算出部214は、始めに、変数Nに「1」を代入する(ステップS1600)。
コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報301を参照し、1番目のトレーニが存在するか否かを判定する(ステップS1601)。
ステップS1601の判定結果がYESであるため、コンテンツ需要算出部214は、1番目のトレーニであるトレーニIDが「AA0001」のトレーニのトレーニング実施状況テーブル1501を参照し、実施期間内のトレーニング実施状況テーブルのデータ列があるか否かを判定する(ステップS1602)。
ステップS1602で判定結果がYESであり、実施期間内のデータ列1511があるため、コンテンツ需要算出部214は、1番目のトレーニの実施期間内のトレーニング実施状況テーブル1501を取得する(ステップS1603)。
次に、コンテンツ需要算出部214は、変数Mに「1」を代入する(ステップS1604)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1511に1番目のコンテンツがあるか否かを判定する(ステップS1605)。
ステップS1605で判定結果がYESであり、1番目のコンテンツである「ヨガ1」があるため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1511を参照し、1番目のコンテンツである「ヨガ1」の実施状況が閾値未満か否かを判定する(ステップS1606)。ここでは、閾値を50%として、実施率が50%未満か否かを判定する。
実施率は「43(%)」であり、ステップS1606で判定結果がYESであるため、コンテンツ需要算出部214は、ステップS1001のコンテンツカテゴライズ結果であるコンテンツカテゴライズテーブル1200および、実施期間以前のトレーニング実施状況テーブルのデータ列1510を参照し、1番目のコンテンツである「ヨガ1」と同一のカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1607)。ここでは、閾値を50%として、実施率が50%以上もしくは未実施のコンテンツがあるか否かを判定する。
コンテンツ需要算出部214は、コンテンツカテゴライズテーブル1200を参照すると、1番目のコンテンツである「ヨガ1」と同一のカテゴリには「ヨガ1」以外のコンテンツとして「筋トレ1」があるため、実施期間以前のトレーニング実施状況テーブルのデータ列1510を参照し、「筋トレ1」の実施率が50%以上、もしくは「筋トレ1」を未実施、すなわち、「筋トレ1」のトレーニング実施状況が存在しないかどうかを判定する。トレーニング実施状況テーブルのデータ列1510を参照すると、「筋トレ1」の実施率は「14(%)」であるため、判定結果はNOとなる。
ステップS1607で判定結果がNOであるため、コンテンツ需要算出部214は、コンテンツカテゴライズテーブル1200の1番目のコンテンツを含むカテゴリである強化部位が「上半身」かつ運動強度が「1」のカテゴリの「コンテンツ需要」の値を1インクリメントし、ステップS1612に進む(ステップS1608)。
次に、コンテンツ需要算出部214は、変数Mの値を1インクリメントして「2」とし、ステップS1605に戻る(ステップS1612)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1511に2番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がNOであるため、ステップS1613に進む。
次に、コンテンツ需要算出部214は、変数Nの値を1インクリメントして「2」とし、ステップS1601に戻る。
次に、コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報を参照し、2番目のトレーニが存在するか否かを判定する(ステップS1601)。
判定結果がYESであるため、コンテンツ需要算出部214は、2番目のトレーニであるトレーニIDが「AA0002」のトレーニのトレーニング実施状況テーブル1502を参照し、実施期間内のトレーニング実施状況テーブルのデータ列があるか否かを判定する(ステップS1602)。
ステップS1602で判定結果がYESであり、実施期間内のトレーニング実施状況テーブルのデータ列1512が存在するため、コンテンツ需要算出部214は、2番目のトレーニの実施期間内のトレーニング実施状況テーブル1502を取得する(ステップS1603)。
次に、変数Mに「1」を代入する(ステップS1604)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1512に1番目のコンテンツがあるか否かを判定する(ステップS1605)。
ステップS1605で判定結果がYESであり、1番目のコンテンツである「ヨガ4」が存在するため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1512を参照し、1番目のコンテンツの実施率が閾値未満か否かを判定する(ステップS1606)。ここでは、閾値を50%として、実施率が50%未満か否かを判定する。
1番目のコンテンツである「ヨガ4」の実施率は「71(%)」であるため、判定結果はNOである。
ステップS1606で判定結果がNOであるため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1512を参照し、1番目のコンテンツの効果レベルがC以上か否かを判定する(ステップS1609)。
1番目のコンテンツである「ヨガ4」の効果レベルは「C」であるため、判定結果はYESである。
判定結果がYESであるためステップS1612に進み、コンテンツ需要算出部214は、変数Mの値を1インクリメントして2とし、ステップS1605に戻る(ステップS1612)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1512に2番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がNOであるため、ステップS1613に進む。
次に、コンテンツ需要算出部214は、変数Nの値を1インクリメントして「3」とし、ステップS1601に戻る。
コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報を参照し、3番目のトレーニが存在するか否かを判定する(ステップS1601)。
ステップS1601の判定結果がYESであるため、コンテンツ需要算出部214は、3番目のトレーニであるトレーニIDが「AA0003」のトレーニング実施状況テーブル1503を参照し、実施期間内のトレーニング実施状況テーブルのデータ列があるか否かを判定する(ステップS1602)。
判定結果がYESであり、実施期間内のトレーニング実施状況テーブルのデータ列1513が存在するため、コンテンツ需要算出部214は、3番目のトレーニの実施期間内のトレーニング実施状況テーブル1503を取得する(ステップS1603)。
次に、コンテンツ需要算出部214は、変数Mに「1」を代入する(ステップS1604)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列に1番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がYESであり、1番目のコンテンツである「筋トレ4」があるため、実施期間内のトレーニング状況テーブルのデータ列1513を参照し、1番目のコンテンツの実施率が閾値未満か否かを判定する(ステップS1606)。ここでは、閾値を50%として、実施率が50%未満か否かを判定する。
1番目のコンテンツである「筋トレ4」の実施率は「71(%)」であるため、判定結果はNOである。
ステップS1606で判定結果がNOであった場合、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513を参照し、1番目のコンテンツの効果レベルがA〜Cの範囲内であるか否かを判定する(ステップS1609)。
1番目のコンテンツである「筋トレ4」の効果レベルは「D」であるため、判定結果はNOである。
ステップS1609で判定結果がNOであるため、コンテンツ需要算出部214は、ステップS1001のコンテンツカテゴライズ結果であるコンテンツカテゴライズテーブル1200を参照し、実施期間以前のトレーニング実施状況テーブルのデータ列を参照し、1番目のコンテンツの1つ上のレベルのカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1610)。ここでは閾値を50%として、実施率が50%以上か否かを判定する。
1番目のコンテンツ「筋トレ4」は強化部位が「下半身」、運動強度が「2」であるため、1つ上のレベルのカテゴリは強化部位が「下半身」、運度胸度が「3」であるが、当該カテゴリに属するコンテンツが存在しないため、判定結果はNOである。
ステップS1610の判定結果がNOであるため、コンテンツ需要算出部214は、コンテンツカテゴライズテーブル1200で1番目のコンテンツである「筋トレ4」のカテゴリより1つ上のレベルのカテゴリである強化部位が「下半身」で運動強度が「2」の「コンテンツ需要」の値を1インクリメントし、ステップS1612に進む(ステップS1611)。
次に、コンテンツ需要算出部214は、変数Mの値を1インクリメントして2とし、ステップS1605に戻る(ステップS1612)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513に2番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がYESであり、2番目のコンテンツ「ヨガ1」が存在するため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513を参照し、2番目のコンテンツの実施状況が閾値未満か否かを判定する(ステップS1606)。ここでは、閾値を50%として、実施率が50%未満か否かを判定する。
2番目のコンテンツである「ヨガ1」の実施率は「29(%)」であるため、判定結果はYESである。
ステップS1606の判定結果がYESであるため、コンテンツ需要算出部214は、ステップS1001のコンテンツカテゴライズ結果であるコンテンツカテゴライズテーブルおよび、実施期間以前のトレーニング実施状況テーブルのデータ列を参照し、2番目のコンテンツと同一のカテゴリで、(1)実施率が閾値以上、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1607)。ここでは、閾値を50%として、実施率が50%以上もしくは未実施のコンテンツがあるか否かを判定する。
2番目のコンテンツである「ヨガ1」は強化部位が「上半身」、運動強度が「1」であり、同一のカテゴリには「筋トレ1」が存在する。実施期間以前のトレーニング状況が存在しない。そのため、2番目のコンテンツと同一のカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、未実施のコンテンツとして「筋トレ1」が存在するため、判定結果はYESである。
判定結果がYESであるためステップS1612に進み、コンテンツ需要算出部214は、変数Mの値を1インクリメントして3とし、ステップS1605に戻る(ステップS1612)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513に3番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がNOであるため、ステップS1613に進む。
次に、変数Nの値を1インクリメントして「4」とし、ステップS1601に戻る。
次に、コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報301を参照し、4番目のトレーニが存在するか否かを判定する(ステップS1601)。
判定結果がNOであるため、処理を終了する。
以上の処理により、全トレーニに対して、コンテンツが不足しているカテゴリ分析がなされ、コンテンツカテゴライズテーブル1200の「コンテンツ需要」欄に当該カテゴリのコンテンツが不足していると判断されるトレーニの数が入力されたコンテンツカテゴライズテーブル1701が生成される。
ここで、図11のフローチャートに戻る。
次に、トレーニングメニュー更新制御部210は、コンテンツ需要算出の結果を制御部216に通知する。制御部216は、通信部209を介して、コンテンツ需要算出結果を機器102に通知することで、トレーナにコンテンツ需要算出結果を通知する(ステップS1005)。
コンテンツ需要算出結果とは例えば、コンテンツカテゴライズテーブルにコンテンツ需要の値が入力されたコンテンツカテゴライズテーブル1701などである。
また、コンテンツ需要の高いカテゴリからランキング形式で並べ替えられたコンテンツカテゴライズテーブルでもよい。
トレーナ101は、コンテンツ需要算出結果を参照してコンテンツを追加制作すべきかどうかを判定し、追加制作すべきと判断した場合にはコンテンツを追加制作してコンテンツ登録を行う。
なお、コンテンツ需要算出結果を参照した結果追加制作が不要と判断した場合、又は、追加制作が必要ではあるがトレーナの工数が取れない場合にはコンテンツの追加制作は行われない。その場合には、ステップS1006とステップS1007とをスキップしてステップS1008に進む。
今回の実施の形態では、トレーナはタイトルが「筋トレ6」、ジャンルが「筋トレ」、運動強度が「3」、強化部位が「下半身」、熟練度が「2」のコンテンツを追加制作してコンテンツを登録した例を用いて説明する。
ここで、図11のフローチャートに戻る。
次に、映像管理部202は、トレーナが追加制作したコンテンツの登録を受け付ける(ステップ1006)。
タイトルが「筋トレ6」、ジャンルが「筋トレ」、運動強度が「3」、強化部位が「下半身」、熟練度が「2」のコンテンツをトレーナが機器102を用いて登録すると、制御部216は、映像管理部202にコンテンツの配信用データを登録し、映像メタ管理部203の映像メタデータ情報にコンテンツのメタデータを追加登録する。
図24は、「筋トレ6」が追加登録された後の映像メタデータ情報2101である。
ここで、図11のフローチャートに戻る。
次に、制御部216は、コンテンツ登録受付が完了すると、コンテンツ登録受付完了をトレーニングメニュー更新制御部210に通知する。トレーニングメニュー更新制御部210は、コンテンツカテゴライズ部211にコンテンツカテゴライズを指示し、コンテンツカテゴライズ部211は、ステップS1006で追加登録したコンテンツを含めて、再度コンテンツカテゴライズを実施する(ステップS1007)。
ステップS1006で登録したコンテンツである「筋トレ6」を含めて、再度コンテンツカテゴライズを実施した結果が、コンテンツカテゴライズテーブル1800である。
次にトレーニングメニュー更新制御部210は、トレーニングメニュー変更部215にパーソナルトレーニングメニュー変更を指示し、トレーニングメニュー変更部215はパーソナルトレーニングメニュー変更を実施し終了する(ステップS1008)。
ここで、図22のフローチャートと図3の会員情報301と、図21のコンテンツカテゴライズテーブル1800と、図18のトレーニング実施状況テーブル1501、1502及び1503を用いてパーソナルトレーニングメニュー変更の流れを説明する。
コンテンツ需要算出部214は、始めに、変数Nに「1」を代入する(ステップS1600)。
コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報301を参照し、1番目のトレーニが存在するか否かを判定する(ステップS1601)。
ステップS1601の判定結果がYESであるため、コンテンツ需要算出部214は、1番目のトレーニであるトレーニIDが「AA0001」のトレーニのトレーニング実施状況テーブル1501を参照し、実施期間内のトレーニング実施状況テーブルのデータ列があるか否かを判定する(ステップS1602)。
ステップS1602で判定結果がYESであり、実施期間内のデータ列1511があるため、コンテンツ需要算出部214は、1番目のトレーニの実施期間内のトレーニング実施状況テーブル1501を取得する(ステップS1603)。
次に、コンテンツ需要算出部214は、変数Mに「1」を代入する(ステップS1604)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1511に1番目のコンテンツがあるか否かを判定する(ステップS1605)。
ステップS1605で判定結果がYESであり、1番目のコンテンツである「ヨガ1」があるため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1511を参照し、1番目のコンテンツである「ヨガ1」の実施状況が閾値未満か否かを判定する(ステップS1606)。ここでは、閾値は50%として、実施率が50%未満か否かを判定する。
実施率は「43(%)」であり、ステップS1606で判定結果がYESであるため、コンテンツ需要算出部214は、ステップS1007のコンテンツカテゴライズ結果であるコンテンツカテゴライズテーブル1800および、実施期間以前のトレーニング実施状況テーブルのデータ列1510を参照し、1番目のコンテンツである「ヨガ1」と同一のカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1802)。ここでは、閾値が50%として、実施率が50%以上もしくは未実施のコンテンツがあるか否かを判定する。
コンテンツカテゴライズテーブル1800を参照すると、1番目のコンテンツである「ヨガ1」と同一のカテゴリには「ヨガ1」以外のコンテンツとして「筋トレ1」があるため、コンテンツ需要算出部214は、実施期間以前のトレーニング実施状況テーブルのデータ列1510を参照し、「筋トレ1」の実施率が50%以上、もしくは「筋トレ1」を未実施、すなわち、「筋トレ1」のトレーニング実施状況が存在しないかどうかを判定する。トレーニング実施状況テーブルのデータ列1510を参照すると、「筋トレ1」の実施率は「14(%)」であるため、判定結果はNOとなる。
ステップS1607で判定結果がNOであるためステップS1612に進み、コンテンツ需要算出部214は、変数Mの値を1インクリメントして「2」とし、ステップS1605に戻る(ステップS1612)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1511に2番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がNOであるため、ステップS1806に進む。
次に、コンテンツ需要算出部214は、パーソナルトレーニングメニューの実施期間を実施期間分インクリメントする(ステップS1806)。
1番目のトレーニのパーソナルトレーニングメニュー502の実施期間は2015年3月1日から2015年3月7日の1週間であるため、実施期間分インクリメントされた値は、2015年3月8日から2015年3月14日までとなる。そのため、1番目のトレーニのパーソナルトレーニングメニュー502の実施期間を「2015/3/8〜2015/3/14」に変更する。
次に、コンテンツ需要算出部214は、変数Nの値を1インクリメントして「2」とし、ステップS1601に戻る。
以上の処理により、トレーニIDが「AA0001」であるトレーニのパーソナルトレーニングメニュー502が更新され、パーソナルトレーニングメニュー2002が生成される。
次に、コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報を参照し、2番目のトレーニが存在するか否かを判定する(ステップS1601)。
判定結果がYESであるため、コンテンツ需要算出部214は、2番目のトレーニであるトレーニIDが「AA0002」のトレーニのトレーニング実施状況テーブル1502を参照し、実施期間内のトレーニング実施状況テーブルのデータ列があるか否かを判定する(ステップS1602)。
ステップS1602で判定結果がYESであり、実施期間内のトレーニング実施状況テーブルのデータ列1512が存在するため、コンテンツ需要算出部214は、2番目のトレーニの実施期間内のトレーニング実施状況テーブル1502を取得する(ステップS1603)。
次に、変数Mに「1」を代入する(ステップS1604)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1512に1番目のコンテンツがあるか否かを判定する(ステップS1605)。
ステップS1605で判定結果がYESであり、1番目のコンテンツである「ヨガ4」が存在するため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1512を参照し、1番目のコンテンツの実施状況が閾値未満か否かを判定する(ステップS1606)。ここでは、閾値を50%として、実施率が50%未満か否かを判定する。
1番目のコンテンツである「ヨガ4」の実施率は「71(%)」であるため、判定結果はNOである。
ステップS1606で判定結果がNOであるため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1512を参照し、1番目のコンテンツの効果レベルがC以上か否かを判定する(ステップS1803)。
1番目のコンテンツである「ヨガ4」の効果レベルは「C」であるため、判定結果はYESである。
判定結果がYESであれるためステップS1612に進み、コンテンツ需要算出部214は、変数Mの値を1インクリメントして2とし、ステップS1605に戻る(ステップS1612)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1512に2番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がNOであるため、ステップS806に進む。
次に、コンテンツ需要算出部214は、パーソナルトレーニングメニューの実施期間を実施期間分インクリメントする(ステップS1806)。
2番目のトレーニのパーソナルトレーニングメニュー503の実施期間は2015年3月1日から2015年3月7日の1週間であるため、実施期間分インクリメントされた値は、2015年3月8日から2015年3月14日までとなる。そのため、2番目のトレーニのパーソナルトレーニングメニュー503の実施期間を「2015/3/8〜2015/3/14」に変更する。
次に、コンテンツ需要算出部214は、変数Nの値を1インクリメントして「3」とし、ステップS1601に戻る。
以上の処理により、トレーニIDが「AA0002」であるトレーニのパーソナルトレーニングメニュー503が更新され、パーソナルトレーニングメニュー2003が生成される。
コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報を参照し、3番目のトレーニが存在するか否かを判定する(ステップS1601)。
ステップS1601の判定結果がYESであるため、コンテンツ需要算出部214は、3番目のトレーニであるトレーニIDが「AA0003」のトレーニング実施状況テーブル1503を参照し、実施期間内のトレーニング実施状況テーブルのデータ列があるか否かを判定する(ステップS1602)。
判定結果がYESであり、実施期間内のトレーニング実施状況テーブルのデータ列1513が存在するため、コンテンツ需要算出部214は、3番目のトレーニの実施期間内のトレーニング実施状況テーブル1503を取得する(ステップS1603)。
次に、コンテンツ需要算出部214は、変数Mに「1」を代入する(ステップS1604)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列に1番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がYESであり、1番目のコンテンツである「筋トレ4」があるため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513を参照し、1番目のコンテンツの実施率が閾値未満か否かを判定する(ステップS1606)。ここでは、閾値を50%として、実施率が50%未満か否かを判定する。
1番目のコンテンツである「筋トレ4」の実施率は「71(%)」であるため、判定結果はNOである。
ステップS1606で判定結果がNOであった場合、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513を参照し、1番目のコンテンツの効果レベルがA〜Cの範囲内か否かを判定する(ステップS1803)。
1番目のコンテンツである「筋トレ4」の効果レベルは「D」であるため、判定結果はNOである。
ステップS1803で判定結果がNOであるため、ステップS1007でコンテンツ登録後に再度のコンテンツカテゴライズした結果であるコンテンツカテゴライズテーブル1800を参照し、実施期間以前のトレーニング実施状況テーブルのデータ列を参照し、1番目のコンテンツの1つ上のレベルのカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1804)。ここでは、閾値を50%として、実施率が50%以上、もしくは未実施のコンテンツがあるか否かを判定する。
1番目のコンテンツ「筋トレ4」は強化部位が「下半身」、運動強度が「2」であるため、1つ上のレベルのカテゴリは強化部位が「下半身」、運度胸度が「3」であり、ステップS1007によって追加された「筋トレ6」が存在する。
また、実施期間以前のトレーニング実績状況テーブルのデータ列は存在しないため、判定結果はYESである。
ステップS1804の判定結果がYESであるため、3番目のトレーニのパーソナルトレーニングメニュー504について、1番目のコンテンツを「筋トレ6」に変更する。
次に、コンテンツ需要算出部214は、変数Mの値を1インクリメントして2とし、ステップS1605に戻る(ステップS1612)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513に2番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がYESであり、2番目のコンテンツ「ヨガ1」が存在するため、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513を参照し、2番目のコンテンツの実施率が閾値未満か否かを判定する(ステップS1606)。ここでは、閾値を50%として、実施率が50%未満か否かを判定する。
2番目のコンテンツである「ヨガ1」の実施率は「29(%)」であるため、判定結果はYESである。
ステップS1606の判定結果がYESであるため、コンテンツ需要算出部214は、ステップS1007でコンテンツ登録後に再度のコンテンツカテゴライズした結果であるコンテンツカテゴライズテーブル1800および、実施期間以前のトレーニング実施状況テーブルのデータ列を参照し、2番目のコンテンツと同一のカテゴリで、(1)実施率が閾値以上のコンテンツ、又は、(2)未実施のコンテンツがあるか否かを判定する(ステップS1801)。ここでは、閾値を50%として、実施率が50%以上もしくは未実施のコンテンツがあるか否かを判定する。
2番目のコンテンツである「ヨガ1」は強化部位が「上半身」、運動強度が「1」であり、同一のカテゴリには「筋トレ1」が存在する。実施期間以前のトレーニング状況が存在しない。そのため、2番目のコンテンツと同一のカテゴリで実施状況が50%以上もしくは未実施のコンテンツとして「筋トレ1」が存在するため、判定結果はYESである。
判定結果がYESであるためステップS1802に進み、コンテンツ需要算出部214は、3番目のトレーニのパーソナルトレーニングメニュー504について、2番目のコンテンツを「筋トレ1」に変更する。
次に、コンテンツ需要算出部214は、変数Mの値を1インクリメントして3とし、ステップS1605に戻る(ステップS1612)。
次に、コンテンツ需要算出部214は、実施期間内のトレーニング状況テーブルのデータ列1513に3番目のコンテンツがあるか否かを判定する(ステップS1605)。
判定結果がNOであるため、ステップS1806に進む。
3番目のトレーニのパーソナルトレーニングメニュー504の実施期間は2015年3月1日から2015年3月7日の1週間であるため、実施期間分インクリメントされた値は、2015年3月8日から2015年3月14日までとなる。そのため、3番目のトレーニのパーソナルトレーニングメニュー502の実施期間を「2015/3/8〜2015/3/14」に変更する。
次に、コンテンツ需要算出部214は、変数Nの値を1インクリメントして「4」とし、ステップS1601に戻る。
以上の処理により、トレーニIDが「AA0003」であるトレーニのパーソナルトレーニングメニュー504が更新され、パーソナルトレーニングメニュー2004が生成される。
次に、コンテンツ需要算出部214は、会員情報管理部201が保持している会員情報301を参照し、4番目のトレーニが存在するか否かを判定する(ステップS1601)。
判定結果がNOであるため、処理を終了する。
以上のパーソナルトレーニングメニュー変更処理により、全トレーニに対して、パーソナルトレーニングメニューの変更が行われ、パーソナルトレーニングメニュー2001が生成される。
以上のパーソナルトレーニング更新処理のように、コンテンツ需要算出によりコンテンツが追加制作された後にパーソナルトレーニングメニュー変更がなされるため、トレーニにとってより最適なコンテンツが提供される。
また、トレーナは、どのようなトレーニングメニュー変更するために、どのようなカテゴリのコンテンツにどれだけの需要があるかが分かるため、需要の高いコンテンツのみを作成すればよく、トレーナの工数を削減できる。
なお、本実施の形態はオンライントレーニングサービスを例に説明したが、本発明にかかる、オンライントレーニングシステムは、コンテンツを視聴してトレーニングを実施するトレーニングシステムにおいて、トレーニングに使用するコンテンツを定期的もしくは不定期に追加、更新、削除するような場合が想定されるサービス、すなわち、リハビリ、スポーツトレーニング、教育のためのレッスン等のサービスに利用することができる。
その場合には、サービスに合わせて、保持するトレーニング特性、センサーデータを変更すればよい。
例えば、リハビリサービスに適用する場合には、トレーニング特性としてリハビリを行う部位を示す「リハビリ部位」又はリハビリ部位がどの程度機能回復した際に行うべきリハビリコンテンツかを示す「機能回復度」などを保持し、センサーデータとして「リハビリ部位の筋肉量」又は「握力」などを保持し、リハビリトレーニングの実施回数又は実施率からトレーニング実施状況を取得し、「リハビリ部位の筋肉量」又は「握力」などからトレーニング効果状況を取得することで、コンテンツ需要を算出すればよい。
例えば、スポーツトレーニングに適用する場合には、トレーニング特性として「競技種別」又は運動の激しさを示す「運動強度」などを保持し、センサーデータとして「肺活量」又は「100m走のタイム」などを保持し、スポーツトレーニングの実施回数又は実施率からトレーニング実施状況を取得し、「肺活量」又は「100m走のタイム」からトレーニング効果状況を取得することで、コンテンツ需要を算出すればよい。
例えば、教育のためのレッスンとして楽器のレッスンサービスに適用する場合には、トレーニング特性として演奏する曲の「ジャンル」又は演奏に必要な技量を示す「熟練度」などを保持し、センサーデータとして音程の「正確度」などを保持し、楽器のレッスントレーニングのトレーニング時間などからトレーニング実施状況を取得し、音程の「正確度」などから楽器のレッスンのトレーニング効果状況を取得することで、コンテンツ需要を算出すればよい。
なお、上記態様において説明された技術は、例えば、以下のクラウドサービスの類型において実現されうる。しかし、上記態様において説明された技術が実現されるクラウドサービスの類型はこれらに限られるものでない。
(サービスの類型1:自社データセンタ型クラウドサービス)
図25、サービスの類型1(自社データセンタ型クラウドサービス)におけるオンラインコーチングシステムが提供するサービスの全体像を示す図である。本類型では、サービスプロバイダ3120がコーチンググループ100から情報を取得し、トレーニに対してサービスを提供する。本類型では、サービスプロバイダ3120が、データセンタ運営会社の機能を有している。すなわち、サービスプロバイダ3120が、ビッグデータを管理するクラウドサーバ111を保有している。したがって、データセンタ運営会社は存在しない。
本類型では、サービスプロバイダ3120は、データセンタ(クラウドサーバ)3203を運営及び管理している。また、サービスプロバイダ3120は、オペレーティングシステム(OS)3202及びアプリケーション3201を管理する。サービスプロバイダ3120は、サービスプロバイダ3120が管理するOS3202及びアプリケーション3201を用いてサービスを提供する(矢印3204)。
(サービスの類型2:IaaS利用型クラウドサービス)
図26、サービスの類型2(IaaS利用型クラウドサービス)におけるオンラインコーチングシステムが提供するサービスの全体像を示す図である。ここで、IaaSとは、インフラストラクチャー・アズ・ア・サービスの略であり、コンピュータシステムを構築および稼動させるための基盤そのものを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社110が、データセンタ(クラウドサーバ)3203を運営及び管理している。また、サービスプロバイダ3120は、OS3202及びアプリケーション3201を管理する。サービスプロバイダ3120は、サービスプロバイダ3120が管理するOS3202及びアプリケーション3201を用いてサービスを提供する(矢印3204)。
(サービスの類型3:PaaS利用型クラウドサービス)
図27、サービスの類型3(PaaS利用型クラウドサービス)におけるオンラインコーチングシステムが提供するサービスの全体像を示す図である。ここで、PaaSとは、プラットフォーム・アズ・ア・サービスの略であり、ソフトウェアを構築および稼動させるための土台となるプラットフォームを、インターネット経由のサービスとして提供するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社110は、OS3202を管理し、データセンタ(クラウドサーバ)3203を運営及び管理している。また、サービスプロバイダ3120は、アプリケーション3201を管理する。サービスプロバイダ3120は、データセンタ運営会社110が管理するOS3202及びサービスプロバイダ3120が管理するアプリケーション3201を用いてサービスを提供する(矢印3204)。
(サービスの類型4:SaaS利用型クラウドサービス)
図28、サービスの類型4(SaaS利用型クラウドサービス)におけるオンラインコーチングシステムが提供するサービスの全体像を示す図である。ここで、SaaSとは、ソフトウェア・アズ・ア・サービスの略である。SaaS利用型クラウドサービスは、例えば、データセンタ(クラウドサーバ)を保有しているプラットフォーム提供者が提供するアプリケーションを、データセンタ(クラウドサーバ)を保有していない会社又は個人などの利用者がインターネットなどのネットワーク経由で使用できる機能を有するクラウドサービス提供モデルである。
本類型では、データセンタ運営会社110は、アプリケーション3201を管理し、OS3202を管理し、データセンタ(クラウドサーバ)3203を運営及び管理している。また、サービスプロバイダ3120は、データセンタ運営会社110が管理するOS3202及びアプリケーション3201を用いてサービスを提供する(矢印3204)。
以上、いずれのクラウドサービスの類型においても、サービスプロバイダ3120がサービスを提供する。また、例えば、サービスプロバイダ又はデータセンタ運営会社は、OS、アプリケーション又はビックデータのデータベース等を自ら開発してもよいし、また、第三者に外注させてもよい。