(57)【要約】      （修正有）【課題】複数の体組成のうち目標との差違が大きい体組成について目標に達するための運動を、他のユーザの体組成及び運動の履歴に基づいて提示することを可能とする装置を提供する。【解決手段】現在体組成情報と目標体組成情報とを取得する第１取得手段に基づいて、複数の評価項目の中から現在の体組成と目標の体組成との関係が所定の条件を満たす特定項目を決定する第１決定手段と、第１記憶手段から、第１体組成情報における特定項目の体組成と第２体組成情報における特定項目の体組成との関係が所定の条件を満たす第１体組成情報及び第２体組成情報に対応付けて記憶されたユーザ識別情報を決定する第２決定手段と、第２記憶手段から、第２決定手段により決定されたユーザ識別情報が示すユーザが行った運動を識別する運動識別情報を取得する第２取得手段と、第２取得手段により取得された運動識別情報を出力手段により出力させる制御手段と、を備える。【選択図】図１
2015104466.tif 000002
【特許請求の範囲】
【請求項１】
ユーザを識別するユーザ識別情報と、前記ユーザの体組成を示す体組成情報と、前記体組成が登録された日付を示す日付情報とを対応付けて記憶する第１記憶手段と、
ユーザを識別するユーザ識別情報と、前記ユーザが行った運動を識別する運動識別情報と、前記運動が行われた日付を示す日付情報とを対応付けて記憶する第２記憶手段と、
現在の体組成を示す現在体組成情報であって、複数の評価項目で構成された現在体組成情報と、目標の体組成を示す目標体組成情報であって、複数の評価項目で構成された目標体組成情報とを取得する第１取得手段と、
前記第１取得手段により取得された前記現在体組成情報及び前記目標体組成情報に基づいて、前記複数の評価項目の中から現在の体組成と目標の体組成との関係が所定の条件を満たす特定項目を決定する第１決定手段と、
前記第１記憶手段から、第１体組成情報における前記特定項目の体組成と第２体組成情報における前記特定項目の体組成との関係が前記所定の条件を満たす第１体組成情報及び第２体組成情報に対応付けて記憶された前記ユーザ識別情報を決定する第２決定手段と、
前記第２記憶手段から、前記第２決定手段により決定された前記ユーザ識別情報が示すユーザが行った運動を識別する前記運動識別情報を取得する第２取得手段と、
前記第２取得手段により取得された前記運動識別情報を出力手段により出力させる制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１体組成情報に対応付けて前記第１記憶手段に記憶された前記日付情報が示す日付から、前記第２体組成情報に対応付けて前記第１記憶手段に記憶された前記日付情報が示す日付までの期間を決定する第３決定手段を更に備え、
前記第２取得手段は、前記第２決定手段により決定された前記ユーザ識別情報に対応付けて前記第２記憶手段に記憶された前記運動識別情報のうち、前記運動識別情報に対応付けて前記第２記憶手段に記憶された前記日付情報が示す日付が、前記第３決定手段により決定された期間に含まれる前記運動識別情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
運動を識別する運動識別情報と、前記運動が運動施設で行われる時間を示す時間情報とを対応付けて記憶する第３記憶手段と、
前記第２取得手段により取得された前記運動識別情報に対応付けて前記第３記憶手段に記憶された前記時間情報を取得する第３取得手段を更に備え、
前記制御手段は、前記第２取得手段により取得された前記運動識別情報と前記第３取得手段により取得された前記時間情報とを前記出力手段により出力させることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２決定手段は、前記第１決定手段により複数の特定項目が決定された場合、前記第１体組成情報における前記複数の特定項目の全ての体組成と、前記第２体組成情報における前記複数の特定項目の全ての体組成との関係が前記所定の条件を満たす前記ユーザ識別情報を決定することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記第２決定手段は、前記第１決定手段により複数の特定項目が決定された場合、前記複数の特定項目の各特定項目ごとに、前記第１体組成情報における一の前記特定項目の体組成と、前記第２体組成情報における前記一の特定項目の体組成との関係が前記所定の条件を満たす前記ユーザ識別情報を決定することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項６】
前記第２決定手段は、前記第１決定手段により複数の特定項目が決定された場合、前記複数の特定項目を所定数のグループに分割し、前記所定数のグループの各グループごとに、前記第１体組成情報において前記グループに含まれる特定項目の全ての体組成と、前記第２体組成情報において前記グループに含まれる特定項目の全ての体組成との関係が前記所定の条件を満たす前記ユーザ識別情報を決定することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項７】
前記第１決定手段は、現在の体組成と目標の体組成との乖離が所定値以上である特定項目、又は、前記乖離が大きい順に所定数の特定項目を決定することを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記第２決定手段は、前記第１体組成情報及び前記第２体組成情報における前記特定項目の体組成が、前記現在体組成情報及び前記目標体組成情報における前記特定項目の体組成に類似する前記ユーザ識別情報を決定することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
現在の体組成を示す現在体組成情報であって、複数の評価項目で構成された現在体組成情報と、目標の体組成を示す目標体組成情報であって、複数の評価項目で構成された目標体組成情報とを取得する第１取得ステップと、
前記第１取得ステップにより取得された前記現在体組成情報及び前記目標体組成情報に基づいて、前記複数の評価項目の中から現在の体組成と目標の体組成との関係が所定の条件を満たす特定項目を決定する第１決定ステップと、
ユーザを識別するユーザ識別情報と、前記ユーザの体組成を示す体組成情報と、前記体組成が登録された日付を示す日付情報とを対応付けて記憶する第１記憶手段から、第１体組成情報における前記特定項目の体組成と第２体組成情報における前記特定項目の体組成との関係が前記所定の条件を満たす第１体組成情報及び第２体組成情報に対応付けて記憶された前記ユーザ識別情報を決定する第２決定ステップと、
ユーザを識別するユーザ識別情報と、前記ユーザが行った運動を識別する運動識別情報と、前記運動が行われた日付を示す日付情報とを対応付けて記憶する第２記憶手段から、前記第２決定ステップにより決定された前記ユーザ識別情報が示すユーザが行った運動を識別する前記運動識別情報を取得する第２取得ステップと、
前記第２取得ステップにより取得された前記運動識別情報を出力手段により出力させる制御ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【請求項１０】
現在の体組成を示す現在体組成情報であって、複数の評価項目で構成された現在体組成情報と、目標の体組成を示す目標体組成情報であって、複数の評価項目で構成された目標体組成情報とを取得する第１取得手段と、
前記第１取得手段により取得された前記現在体組成情報及び前記目標体組成情報に基づいて、前記複数の評価項目の中から現在の体組成と目標の体組成との関係が所定の条件を満たす特定項目を決定する第１決定手段と、
サーバ装置からネットワークを介して、運動を識別する運動識別情報を受信する受信手段と、
前記受信手段により受信された前記運動識別情報を出力手段により出力させる制御手段と、
を備える端末装置と、
ユーザを識別するユーザ識別情報と、前記ユーザの体組成を示す体組成情報と、前記体組成が登録された日付を示す日付情報とを対応付けて記憶する第１記憶手段と、
ユーザを識別するユーザ識別情報と、前記ユーザが行った運動を識別する運動識別情報と、前記運動が行われた日付を示す日付情報とを対応付けて記憶する第２記憶手段と、
前記第１記憶手段から、第１体組成情報における前記特定項目の体組成と第２体組成情報における前記特定項目の体組成との関係が前記所定の条件を満たす第１体組成情報及び第２体組成情報に対応付けて記憶された前記ユーザ識別情報を決定する第２決定手段と、
前記第２記憶手段から、前記第２決定手段により決定された前記ユーザ識別情報が示すユーザが行った運動を識別する前記運動識別情報を取得する第２取得手段と、
前記第２取得手段により取得された前記運動識別情報を前記端末装置に送信する送信手段と、
を備えるサーバ装置と、
を備えることを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの体組成に基づいて、ユーザが行う運動を提示する技術分野に関する。
【背景技術】
【０００２】
例えば、特許文献１には、複数の体組成について、目標値、標準値、及び実測値を表示し、目標値と実測値に基づいて、ユーザが行うべきトレーニングメニューを計算して表示する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−３５８７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザの複数の体組成のうち目標との差違が大きい体組成について、目標に達するための運動を行いたい場合がある。このとき、他のユーザの体組成及び運動の履歴に基づいて、他のユーザが目標を達成した際に実行した運動を、ユーザに推薦する運動として決定したいという要望がある。しかしながら、特許文献１に記載の技術では、目標との差違が大きい体組成について目標に達するための運動を、他のユーザの体組成及び運動の履歴に基づいて提示することはできない。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、複数の体組成のうち目標との差違が大きい体組成について目標に達するための運動を、他のユーザの体組成及び運動の履歴に基づいて提示することを可能とする情報処理装置、プログラム及び通信システムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、ユーザを識別するユーザ識別情報と、前記ユーザの体組成を示す体組成情報と、前記体組成が登録された日付を示す日付情報とを対応付けて記憶する第１記憶手段と、ユーザを識別するユーザ識別情報と、前記ユーザが行った運動を識別する運動識別情報と、前記運動が行われた日付を示す日付情報とを対応付けて記憶する第２記憶手段と、現在の体組成を示す現在体組成情報であって、複数の評価項目で構成された現在体組成情報と、目標の体組成を示す目標体組成情報であって、複数の評価項目で構成された目標体組成情報とを取得する第１取得手段と、前記第１取得手段により取得された前記現在体組成情報及び前記目標体組成情報に基づいて、前記複数の評価項目の中から現在の体組成と目標の体組成との関係が所定の条件を満たす特定項目を決定する第１決定手段と、前記第１記憶手段から、第１体組成情報における前記特定項目の体組成と第２体組成情報における前記特定項目の体組成との関係が前記所定の条件を満たす第１体組成情報及び第２体組成情報に対応付けて記憶された前記ユーザ識別情報を決定する第２決定手段と、前記第２記憶手段から、前記第２決定手段により決定された前記ユーザ識別情報が示すユーザが行った運動を識別する前記運動識別情報を取得する第２取得手段と、前記第２取得手段により取得された前記運動識別情報を出力手段により出力させる制御手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、前記第１体組成情報に対応付けて前記第１記憶手段に記憶された前記日付情報が示す日付から、前記第２体組成情報に対応付けて前記第１記憶手段に記憶された前記日付情報が示す日付までの期間を決定する第３決定手段を更に備え、前記第２取得手段は、前記第２決定手段により決定された前記ユーザ識別情報に対応付けて前記第２記憶手段に記憶された前記運動識別情報のうち、前記運動識別情報に対応付けて前記第２記憶手段に記憶された前記日付情報が示す日付が、前記第３決定手段により決定された期間に含まれる前記運動識別情報を取得することを特徴とする。
【０００８】
請求項３に記載の発明は、運動を識別する運動識別情報と、前記運動が運動施設で行われる時間を示す時間情報とを対応付けて記憶する第３記憶手段と、前記第２取得手段により取得された前記運動識別情報に対応付けて前記第３記憶手段に記憶された前記時間情報を取得する第３取得手段を更に備え、前記制御手段は、前記第２取得手段により取得された前記運動識別情報と前記第３取得手段により取得された前記時間情報とを前記出力手段により出力させることを特徴とする。
【０００９】
請求項４に記載の発明は、前記第２決定手段は、前記第１決定手段により複数の特定項目が決定された場合、前記第１体組成情報における前記複数の特定項目の全ての体組成と、前記第２体組成情報における前記複数の特定項目の全ての体組成との関係が前記所定の条件を満たす前記ユーザ識別情報を決定することを特徴とする。
【００１０】
請求項５に記載の発明は、前記第２決定手段は、前記第１決定手段により複数の特定項目が決定された場合、前記複数の特定項目の各特定項目ごとに、前記第１体組成情報における一の前記特定項目の体組成と、前記第２体組成情報における前記一の特定項目の体組成との関係が前記所定の条件を満たす前記ユーザ識別情報を決定することを特徴とする。
【００１１】
請求項６に記載の発明は、前記第２決定手段は、前記第１決定手段により複数の特定項目が決定された場合、前記複数の特定項目を所定数のグループに分割し、前記所定数のグループの各グループごとに、前記第１体組成情報において前記グループに含まれる特定項目の全ての体組成と、前記第２体組成情報において前記グループに含まれる特定項目の全ての体組成との関係が前記所定の条件を満たす前記ユーザ識別情報を決定することを特徴とする。
【００１２】
請求項７に記載の発明は、前記第１決定手段は、現在の体組成と目標の体組成との乖離が所定値以上である特定項目、又は、前記乖離が大きい順に所定数の特定項目を決定することを特徴とする。
【００１３】
請求項８に記載の発明は、前記第２決定手段は、前記第１体組成情報及び前記第２体組成情報における前記特定項目の体組成が、前記現在体組成情報及び前記目標体組成情報における前記特定項目の体組成に類似する前記ユーザ識別情報を決定することを特徴とする。
【００１４】
請求項９に記載の発明は、現在の体組成を示す現在体組成情報であって、複数の評価項目で構成された現在体組成情報と、目標の体組成を示す目標体組成情報であって、複数の評価項目で構成された目標体組成情報とを取得する第１取得ステップと、前記第１取得ステップにより取得された前記現在体組成情報及び前記目標体組成情報に基づいて、前記複数の評価項目の中から現在の体組成と目標の体組成との関係が所定の条件を満たす特定項目を決定する第１決定ステップと、ユーザを識別するユーザ識別情報と、前記ユーザの体組成を示す体組成情報と、前記体組成が登録された日付を示す日付情報とを対応付けて記憶する第１記憶手段から、第１体組成情報における前記特定項目の体組成と第２体組成情報における前記特定項目の体組成との関係が前記所定の条件を満たす第１体組成情報及び第２体組成情報に対応付けて記憶された前記ユーザ識別情報を決定する第２決定ステップと、ユーザを識別するユーザ識別情報と、前記ユーザが行った運動を識別する運動識別情報と、前記運動が行われた日付を示す日付情報とを対応付けて記憶する第２記憶手段から、前記第２決定ステップにより決定された前記ユーザ識別情報が示すユーザが行った運動を識別する前記運動識別情報を取得する第２取得ステップと、前記第２取得ステップにより取得された前記運動識別情報を出力手段により出力させる制御ステップと、をコンピュータに実行させることを特徴とする。
【００１５】
請求項１０に記載の発明は、現在の体組成を示す現在体組成情報であって、複数の評価項目で構成された現在体組成情報と、目標の体組成を示す目標体組成情報であって、複数の評価項目で構成された目標体組成情報とを取得する第１取得手段と、前記第１取得手段により取得された前記現在体組成情報及び前記目標体組成情報に基づいて、前記複数の評価項目の中から現在の体組成と目標の体組成との関係が所定の条件を満たす特定項目を決定する第１決定手段と、サーバ装置からネットワークを介して、運動を識別する運動識別情報を受信する受信手段と、前記受信手段により受信された前記運動識別情報を出力手段により出力させる制御手段と、を備える端末装置と、ユーザを識別するユーザ識別情報と、前記ユーザの体組成を示す体組成情報と、前記体組成が登録された日付を示す日付情報とを対応付けて記憶する第１記憶手段と、ユーザを識別するユーザ識別情報と、前記ユーザが行った運動を識別する運動識別情報と、前記運動が行われた日付を示す日付情報とを対応付けて記憶する第２記憶手段と、前記第１記憶手段から、第１体組成情報における前記特定項目の体組成と第２体組成情報における前記特定項目の体組成との関係が前記所定の条件を満たす第１体組成情報及び第２体組成情報に対応付けて記憶された前記ユーザ識別情報を決定する第２決定手段と、前記第２記憶手段から、前記第２決定手段により決定された前記ユーザ識別情報が示すユーザが行った運動を識別する前記運動識別情報を取得する第２取得手段と、前記第２取得手段により取得された前記運動識別情報を前記端末装置に送信する送信手段と、を備えるサーバ装置と、を備えることを特徴とする。
【発明の効果】
【００１６】
請求項１、９又は１０に記載の発明によれば、複数の体組成のうち目標との差違が大きい体組成について目標に達するための運動を、他のユーザの体組成及び運動の履歴に基づいて提示することができる。
【００１７】
請求項２記載の発明によれば、目標との差違が大きい体組成について目標に達するために適切な運動を提示することができる。
【００１８】
請求項３記載の発明によれば、目標との差違が大きい体組成について目標に達するための運動とともに、その運動が行われる時間を提示することができる。
【００１９】
請求項４記載の発明によれば、複数の特定項目の組成について目標に達するための運動を提示することができる。
【００２０】
請求項５記載の発明によれば、目標に達するための運動を、複数の特定項目の各特定項目ごとに提示することができる。
【００２１】
請求項６記載の発明によれば、目標に達するための運動を、分割された特定項目ごとに提示することができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態の運動支援システム１の概要構成例を示す図である。
【図２】（Ａ）は、体組成履歴テーブルの構成例を示す図であり、（Ｂ）は、運動履歴テーブルの構成例を示す図である。
【図３】（Ａ）は、目標項目の決定方法の一例を示す図であり、（Ｂ）は、現在類似度リストの構成例を示す図であり、（Ｃ）は、目標類似度リストの構成例を示す図であり、（Ｄ）は、平均類似度リストの構成例を示す図である。
【図４】（Ａ）、（Ｄ）及び（Ｇ）は、項目分割リストの構成例を示す図であり、（Ｂ）、（Ｅ）及び（Ｈ）は、運動リストの構成例を示す図であり、（Ｃ）及び（Ｆ）は、推薦画面の表示例を示す図である。
【図５】（Ａ）は、閲覧端末５のＣＰＵ５１の推薦制御処理の一例を示すフローチャートであり、（Ｂ）は、閲覧端末５のＣＰＵ５１の目標決定処理の一例を示すフローチャートである。
【図６】（Ａ）は、配信サーバ２のＣＰＵ２１の推薦運動決定制御処理の一例を示すフローチャートであり、（Ｂ）は、配信サーバ２のＣＰＵ２１の項目分割リスト生成処理の一例を示すフローチャートである。
【図７】（Ａ）は、配信サーバ２のＣＰＵ２１の類似度計算制御処理の一例を示すフローチャートであり、（Ｂ）は、配信サーバ２のＣＰＵ２１の類似度計算処理の一例を示すフローチャートである。
【図８】（Ａ）は、配信サーバ２のＣＰＵ２１の推薦可能判定処理の一例を示すフローチャートであり、（Ｂ）は、配信サーバ２のＣＰＵ２１の運動可能判定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、運動を支援する運動支援システムに本発明を適用した場合の実施形態である。
【００２４】
［１．運動支援システム１の構成］
始めに、図１を参照して、本実施形態の運動支援システム１の構成について説明する。図１は、本実施形態の運動支援システム１の概要構成例を示す図である。図１に示すように、運動支援システム１は、配信サーバ２、１つ以上の出力端末７１、１つ以上のスタジオ端末７２、複数の運動機器端末８２、１つ以上の体組成計８３、及び１つ以上の閲覧端末５を含んで構成されている。配信サーバ２と、出力端末７１、スタジオ端末７２、運動機器端末８２、体組成計８３、閲覧端末５とは、ネットワーク１０を介して接続可能になっている。ネットワーク１０は、例えば、インターネットを含む。配信サーバ２は、本発明のサーバ装置の一例である。配信サーバ２には、データベース３が接続されている。データベース３は、本発明の第１記憶手段、第２記憶手段及び第３記憶手段の一例である。なお、第１記憶手段、第２記憶手段及び第３記憶手段が同一の記憶デバイスであってもよいし、互いに異なる記憶デバイスであってもよい。データベース３には、運動に関する情報や楽曲に関する情報が登録されている。配信サーバ２は、データベース３に登録されている情報等を、定期的に又は出力端末７１、スタジオ端末７２又は閲覧端末５からの要求に応じて、出力端末７１、スタジオ端末７２又は閲覧端末５に配信する。出力端末７１、スタジオ端末７２、運動機器端末８２、及び体組成計８３は、例えば、施設４に設置される。施設４は、例えば、スポーツ施設であってもよい。施設４の中には、運動場所として、スタジオ７とトレーニングルーム８とがある。
【００２５】
スタジオ７は、スタジオレッスンが行われる部屋である。スタジオレッスンは、複数の運動動作で構成される運動を１人以上の利用者が行うことである。スタジオ７には、出力端末７１及びスタジオ端末７２が設置される。出力端末７１は、運動コンテンツを出力する。運動コンテンツは、運動を支援するための運動映像及び楽曲を含む。運動映像は、運動動作を行うフィギュアを映し出した動画である。フィギュアは、例えば、人、動物、仮想上の生き物、ロボット等のかたちをした仮想物である。出力端末７１は楽曲とフィギュアの動きとが同期するように、楽曲をスピーカにより出力させ、運動映像をディスプレイに表示させる。利用者は、楽曲を聴きながら、ディスプレイに表示されるフィギュアを見て、運動を行うことができる。なお、出力端末７１を利用しないで、スタジオレッスンが行われてもよい。例えば、インストラクターの指導のもと、利用者が運動を行ってもよい。スタジオ端末７２は、スタジオにおける利用者の運動履歴をデータベース３に登録するための端末装置である。例えば、施設４を利用する各利用者にＩＣカード６３が付与される。ＩＣカード６３には、ユーザＩＤが記録されている。ユーザＩＤは、利用者を識別可能な識別情報である。ユーザＩＤは、本発明のユーザ識別情報の一例である。利用者は、スタジオに入室するときとスタジオから退室するとき、スタジオ端末７２にＩＣカード６３を近づける。すると、スタジオ端末７２は、例えば、ＮＦＣ（Near Field Communication）等の通信方式によりＩＣカード６３からユーザＩＤを受信する。なお、運動履歴を登録するための処理の詳細は後述する。
【００２６】
トレーニングルーム８には、運動機器８１、運動機器端末８２及び体組成計８３が設置される。トレーニングルーム８は、利用者が運動機器８１を用いて運動を行うための部屋である。運動機器８１は、運動に用いられる器具、器械等である。運動機器８１の種類として、例えば、筋力トレーニングマシン、ランニングマシン、バイクマシン、ベンチプレスマシン等がある。各運動機器８１に対応して、運動機器端末８２が設置される。運動機器端末８２は、運動機器８１を用いた利用者の運動履歴をデータベース３に登録するための端末装置である。利用者は、運動機器８１の利用を開始するときと運動機器８１の利用を終えたとき、運動機器端末８２にＩＣカード６３を近づける。すると、運動機器８１はＩＣカード６３からユーザＩＤを受信する。なお、運動履歴を登録するための処理の詳細は後述する。体組成計８３は、利用者の体組成を測定する装置である。体組成計８３は、複数の評価項目について体組成を測定することができる。体全体の体組成の評価項目として、例えば、体脂肪率、体脂肪量、除脂肪量、体水分量、ＢＭＩ（Body Mass Index）、標準体重、基礎代謝量がある。また、例えば、右足、左足、右腕、左腕及び体幹部の各身体部位の体組成の評価項目として、体脂肪率、脂肪量、除脂肪量、筋肉量がある。体組成を測定するとき、利用者はＩＣカード６３を体組成計８３に近づける。すると、体組成計８３はＩＣカード６３からユーザＩＤを受信する。体組成計８３は、測定した体組成の情報と受信したユーザＩＤを含む体組成情報を、配信サーバ２へ送信する。配信サーバ２は、体組成情報をデータベースに登録する。
【００２７】
閲覧端末５は、本発明の端末装置の一例である。閲覧端末５は、利用者に推薦する運動を提示するための端末装置である。推薦する運動を、推薦運動という。閲覧端末５は、例えば、パーソナルコンピュータ、スマートフォン、タブレット型コンピュータ、携帯電話機等であってもよい。施設４に予め閲覧端末５が設置されてもよいし、各利用者が閲覧端末５を所有してもよい。
【００２８】
［２．体組成情報と運動履歴に基づく運動の推薦］
利用者は、体組成の複数の評価項目の中で、１つ以上の評価項目について目標を設定することができる。このとき、目標との差違が大きい体組成について、目標に達するための運動を重点的に行いたい場合がある。そこで、閲覧端末５は、複数の評価項目の中から目標項目を決定する。目標項目は、目標の体組成が設定される評価項目である。目標項目は、本発明の特定項目の一例である。次いで、配信サーバ２は、他のユーザの体組成及び運動履歴に基づいて、目標項目の体組成について目標を達成するための推薦運動を決定する。そして、閲覧端末５は、推薦運動の情報を出力する。本実施形態では、配信サーバ２と閲覧端末５とが協働して、目標項目及び推薦運動を決定している。しかしながら、配信サーバ２又は閲覧端末５の一方のみで、目標項目及び推薦運動を決定してもよい。つまり、配信サーバ２又は閲覧端末５の何れかに対して本発明の情報処理装置が適用されてもよい。
【００２９】
推薦運動を決定するため、データベース３には、体組成履歴テーブル及び運動履歴テーブルが格納されている。体組成履歴テーブルは、体組成情報が登録されるテーブルである。図２（Ａ）は、体組成履歴テーブルの構成例を示す図である。図２（Ａ）に示すように、体組成情報は、測定日時、ユーザＩＤ、及び各評価項目ごとの体組成値を含む。測定日時は、体組成計８３により体組成が測定された日時である。図２（Ａ）は、便宜上、測定日時の日付及び時間のうち、日付のみを示している。ユーザＩＤは、体組成が測定された利用者を示す。体組成値は、体組成を示す値である。各体組成値は、それぞれ項目ＩＤと対応付けられている。項目ＩＤは、評価項目を識別可能な識別情報である。
【００３０】
運動履歴テーブルは、運動履歴が登録されるテーブルである。図２（Ｂ）は、運動履歴テーブルの構成例を示す図である。図２（Ｂ）に示すように、運動履歴は、実施日、ユーザＩＤ、運動ＩＤ、開始時刻、終了時刻を含む。実施日は、運動が行われた日付を示す。ユーザＩＤは、運動を行った利用者を示す。運動ＩＤは、運動を識別可能な識別情報である。運動ＩＤは、本発明の運動識別情報の一例である。運動ＩＤとして、レッスンＩＤとトレーニングＩＤとがある。レッスンＩＤは、スタジオレッスンを識別可能な識別情報である。つまり、レッスンＩＤにより、スタジオレッスンで行われる運動を識別可能である。トレーニングＩＤは、運動機器８１を用いて行われる運動を識別可能な識別情報である。配信サーバ２は、運動ＩＤから、運動ＩＤがレッスンＩＤ及びトレーニングＩＤの何れであるのかを識別することができる。開始時刻は、運動が開始された時刻である。終了時刻は、運動が終了した時刻である。
【００３１】
運動履歴の登録の詳細について説明する。データベース３には、レッスンスケジュールテーブルが格納されている。レッスンスケジュールテーブルは、スタジオレッスンのスケジュール情報が格納されるテーブルである。スケジュール情報は、レッスンＩＤ、開催日、時間帯を含む。レッスンＩＤは、開催されるスタジオレッスンを示す。開催日は、スタジオレッスンが開催される日付を示す。時間帯は、レッスンが開始される時刻及びレッスンが終了する時刻を含む。配信サーバ２は、スケジュールテーブルを、例えば定期的にスタジオ端末７２に配信する。
【００３２】
利用者がスタジオ７に入室し又はスタジオ７から退出するとき、ＩＣカード６３をスタジオ端末７２に近づける。これにより、スタジオ端末７２はユーザＩＤを取得する。次いで、スタジオ端末７２は、今日の日付及び現在時刻を取得する。スタジオ端末７２は、スケジュールテーブルから、今日の日付に対応するレッスンＩＤのうち、現在時刻を含む時間帯に対応するレッスンＩＤを、運動ＩＤとして取得する。スタジオ端末７２は、取得した日付、現在時刻、ユーザＩＤ及び運動ＩＤを配信サーバ２へ送信する。
【００３３】
各運動機器端末８２は、例えば、運動機器端末８２に対応付けられた運動機器８１で行われる運動のトレーニングＩＤを予め記憶している。利用者が運動機器８１の利用を開始するとき又は利用を終了するとき、ＩＣカード６３を運動機器端末８２に近づける。これにより、運動機器端末８２はユーザＩＤを取得する。運動機器端末８２は、今日の日付及び現在時刻を取得するとともに、予め記憶されたトレーニングＩＤを、運動ＩＤとして取得する。運動機器端末８２は、取得した日付、現在時刻、ユーザＩＤ及び運動ＩＤを配信サーバ２へ送信する。
【００３４】
配信サーバ２がスタジオ端末７２又は運動機器端末８２から日付、現在時刻、ユーザＩＤ及び運動ＩＤを受信したとき、配信サーバ２は、受信した日付を実施日とする。そして、配信サーバ２は、受信した実施日、ユーザＩＤ及び運動ＩＤと一致する実施日、ユーザＩＤ及び運動ＩＤを含む運動履歴を運動履歴テーブルから検索する。該当する運動履歴が検索されなかった場合、配信サーバ２は、受信した現在時刻を開始時刻に決定する。そして、配信サーバ２は、実施日、ユーザＩＤ、レッスンＩＤ、現在時刻を含む運動履歴を運動履歴テーブルに登録する。該当する運動履歴が検索された場合、配信サーバ２は、受信した現在時刻を終了時刻に決定する。そして、配信サーバ２は、検索された運動履歴に終了時刻を追加する。
【００３５】
推薦運動を決定する場合、閲覧端末５は、推薦対象の利用者の現在体組成情報及び目標体組成情報を取得する。現在体組成情報は、利用者の現在の体組成を示す体組成情報である。目標体組成情報は、利用者が目標とする体組成を示す情報である。これらの情報を取得するため、閲覧端末５は、推薦対象の利用者のユーザＩＤを配信サーバ２へ送信する。配信サーバ２は、体組成履歴テーブルから、推薦対象の利用者のユーザＩＤを含む体組成情報のうち測定日時が最新である体組成情報を、現在体組成情報として取得する。また、データベース３には、モデル体組成情報が登録される。モデル体組成情報は、目標となる体組成のモデルとして設定された体組成を示す情報である。モデル体組成情報は、モデルごとに登録される。モデル体組成情報は、モデルに対応する利用者の身長、年齢及び性別と、各評価項目ごとのモデルとなる体組成値を含む。配信サーバ２は、推薦対象の利用者の身長、年齢及び性別に対応するモデル体組成情報をデータベース３から取得する。配信サーバ２は、現在体組成情報とモデル体組成情報とを閲覧端末５へ送信する。
【００３６】
閲覧端末５は、配信サーバ２から受信したモデル体組成情報が示すモデルの体組成を現時点における目標の体組成とする。そして、閲覧端末５は、現在体組成情報及びモデル体組成情報に基づいて、複数の評価項目の中から、推薦対象の利用者の現在の体組成と目標の体組成との関係が所定の目標設定条件を満たす目標項目を決定する。例えば、目標設定条件は、現在の体組成と目標の体組成との差違が所定の条件を満たすことであってもよい。
【００３７】
例えば、所定の条件は、現在の体組成と目標の体組成との乖離率が所定値以上であることであってもよい。また例えば、所定の条件は、現在の体組成と目標の体組成との乖離率が大きい順に複数の評価項目に順位を決定した場合において、決定された順位が所定順位以上であることであってもよい。また例えば、所定の条件は、複数の評価項目の中で乖離率が最も大きいことであってもよい。また例えば、所定の条件は、現在の体組成と目標の体組成との差の値が所定値以上であることであってもよい。また例えば、所定の条件は、差の値が大きい順に複数の評価項目に順位を決定した場合において、決定された順位が所定順位以上であることであってもよい。また例えば、所定の条件は、複数の評価項目の中で差の値が最も大きいことであってもよい。複数の評価項目のうち１つの評価項目のみが目標項目に決定されるように所定の条件が定められてもよいし、２以上の目標項目が決定されるように所定の条件が定められてもよい。
【００３８】
図３（Ａ）は、目標項目の決定方法の一例を示す図である。例えば、閲覧端末５は、各評価項目ごとに、現在の体組成値と目標の体組成値との乖離率を計算する。具体的に、現在の体組成値が目標の体組成値よりも大きい場合、閲覧端末５は、現在の体組成値を目標の体組成値で除算して、乖離率を計算する。現在の体組成値の方が目標の体組成値以下である場合、閲覧端末５は、目標の体組成値を現在の体組成値で除算して、乖離率を計算する。このとき、閲覧端末５は、例えば図３（Ａ）に示すように、各身体部位の評価項目についてのみ乖離率を計算し、体全体の各評価項目については乖離率を計算しなくてもよい。閲覧端末５は、例えば、複数の評価項目のうち乖離率が大きい順に所定数の目標項目を決定する。このとき、閲覧端末５は、例えば各身体部位について、体脂肪率、脂肪量、除脂肪量及び筋肉量のうち、乖離率が最も高い評価項目を抽出してもよい。例えば、図３（Ａ）に示すように、右足において乖離率が最も高い評価項目は、除脂肪量である。従って、閲覧端末５は、右足の除脂肪量を抽出する。また、閲覧端末５は、左足、右腕、左腕及び体幹部においても同様に評価項目を抽出する。閲覧端末５は、抽出した評価項目のうち乖離率が大きい順に所定数の目標項目を決定する。例えば、図３（Ａ）の例では、左足の筋肉量及び右腕の筋肉量の乖離率が最も大きい。次いで、右足の除脂肪量、体幹部の体脂肪率、左腕の筋肉量の順に乖離率が大きい。例えば、目標項目を３つ決定する場合、図３（Ａ）に示すように、閲覧端末５は、左足の筋肉量、右腕の筋肉量及び右足の除脂肪量を目標項目に決定する。なお、閲覧端末５は、例えば、１つ、２つ又は４つ以上の目標項目を決定してもよい。また、閲覧端末５は、例えば、乖離率が所定値以上である評価項目を目標項目に決定してもよい。
【００３９】
閲覧端末５に対する利用者の操作に基づいて、目標項目及び目標項目の目標の体組成が変更可能であってもよい。この場合、閲覧端末５は、目標体組成情報表示・編集画面を表示する。目標体組成情報表示・編集画面には、現在の体組成や目標項目に関する情報が表示される。例えば、閲覧端末５は、各評価項目ごとに、現在の体組成を示す情報を表示する。例えば、閲覧端末５は、標準化された体組成値を表示してもよい。例えば、評価項目ごとに、体組成値の平均及び標準偏差が予め設定されている。閲覧端末は、以下の式を計算する。
【００４０】
標準化された体組成値＝（体組成値−平均）／標準偏差
閲覧端末５は、各評価項目の標準化された体組成値を、例えばレーダーチャートで表示してもよい。また、閲覧端末５は、目標項目の項目名と、目標項目における現在の体組成と目標の体組成との差を表示する。目標体組成情報表示・編集画面において、利用者は、目標項目や、目標項目の目標の体組成値を変更することができる。また、利用者は、目標期間日数を設定する。目標期間日数は、目標を達成するために利用者が運動する期間の日数である。閲覧端末５は、利用者の操作に基づく変更後の目標項目の体組成値を含む目標体組成情報を生成する。そして、閲覧端末５は、目標体組成情報、目標期間日数、及び利用者のユーザＩＤを配信サーバ２へ送信する。
【００４１】
目標項目が決定されると、配信サーバ２は、手本利用者のユーザＩＤを決定する。手本利用者は、推薦対象の利用者が目標を達成するための手本となる他の利用者である。配信サーバ２は、手本利用者が行った運動を、推薦運動として決定する。具体的に、配信サーバ２は、体組成履歴テーブルから、同一のユーザＩＤに対応付けられた２つの体組成情報の組み合わせを全て抽出する。このとき、配信サーバ２は、推薦対象の利用者のユーザＩＤに対応付けられた体組成情報は抽出しない。組み合わせに含まれる体組成情報のうち、測定日時が古い方の体組成情報を第１体組成情報と呼び、測定日時が新しい方の体組成情報を第２体組成情報と呼ぶ。配信サーバ２は、第１体組成情報における目標項目の体組成と第２体組成情報における目標項目の体組成との関係が目標設定条件を満たす第１体組成情報及び第２体組成情報に対応付けてデータベース３に登録されているユーザＩＤを決定する。つまり、配信サーバ２は、推薦対象の利用者の目標を達成したと考えられる他の利用者のユーザＩＤを決定する。複数の目標項目が決定された場合、配信サーバ２は、例えば、第１体組成情報における複数の目標項目の全ての体組成と第２体組成情報における複数の目標項目の全ての体組成との関係が目標設定条件を満たす第１体組成情報及び第２体組成情報に対応付けられたユーザＩＤを決定してもよい。
【００４２】
具体的に、配信サーバ２は、例えば、第１体組成情報及び第２体組成情報における目標項目の体組成が、推薦対象の利用者の現在体組成情報及び目標体組成情報における目標項目の体組成に類似するユーザＩＤを決定してもよい。より詳細に、配信サーバ２は、体組成履歴テーブルに登録されている体組成情報を第１体組成情報として、第１体組成情報に含まれる目標項目の体組成値と、現在体組成情報に含まれる目標項目の体組成値との類似度とを計算する。例えば、配信サーバ２は、コサイン類似度を計算してもよい。このとき、コサイン類似度を計算するパラメータとして、標準化された体組成値を用いる。標準化された体組成値の計算方法は既に説明してある。コサイン類似度は、以下の式で計算される。
【００４３】
コサイン類似度＝ｘ・ｙ／｜ｘ｜＊｜ｙ｜
上記の式において、ｘ、ｙはそれぞれベクトルである。ｘ・ｙは、ベクトルｘ及びｙの内積である。｜ｘ｜は、ベクトルｘの大きさであり、｜ｙ｜は、ベクトルｙの大きさである。ここで、ｘを第１体組成情報の体組成とし、ｙを現在体組成情報の体組成とする。また、目標項目の数をｎとする。また、ｘｉを、第１体組成情報において、ｉ番目の目標項目の体組成値とする。また、ｙｉを、現在体組成情報において、ｉ番目の目標項目の体組成値とする。この場合、ｘ・ｙ及び｜ｘ｜は以下の式で計算される。
【００４４】
ｘ・ｙ＝ｘ１＊ｙ１＋ｘ２＊ｙ２＋・・・＋ｘｎ＊ｙｎ
｜ｘ｜＝ｓｑｒｔ（ｘ１２＋ｘ２２＋・・・＋ｘｎ２）
上記の式において、ｓｑｒｔは、平方根を示す。｜ｙ｜も｜ｘ｜と同様に計算される。このように、複数の目標項目が決定された場合、配信サーバ２は、全ての目標項目の体組成値を用いて類似度を計算する。類似度を計算すると、配信サーバ２は、現在類似度リストを生成する。現在類似度リストは、第１体組成情報と現在体組成情報とを用いて計算された類似度のリストである。図３（Ｂ）は、現在類似度リストの構成例を示す図である。現在類似度リストには複数の現在類似度レコードが登録されている。第１体組成情報ごとに現在類似度レコードが登録される。図３（Ｂ）に示すように、各現在類似度レコードには、レコードＩＤ、ユーザＩＤ、類似度、測定日時が格納される。レコードＩＤは、現在類似度レコードを識別可能な識別情報である。配信サーバ２は、第１体組成情報に含まれるユーザＩＤ及び測定日時と、計算した類似度を現在類似度レコードに格納する。
【００４５】
現在類似度リストを生成すると、配信サーバ２は、体組成履歴テーブルに登録されている体組成情報を次は第２体組成情報として、第２体組成情報に含まれる目標項目の体組成値と、目標体組成情報に含まれる目標項目の体組成値との類似度とを計算する。類似度の計算方法は第１体組成情報の場合と同様である。そして、配信サーバ２は、目標類似度リストを生成する。目標類似度リストは、第２体組成情報と目標体組成情報とを用いて計算された類似度のリストである。図３（Ｃ）は、目標類似度リストの構成例を示す図である。目標類似度リストには複数の目標類似度レコードが登録されている。第２体組成情報ごとに目標類似度レコードが登録される。図３（Ｃ）に示すように、各目標類似度レコードには、レコードＩＤ、ユーザＩＤ、類似度、測定日時が格納される。レコードＩＤは、目標類似度レコードを識別可能な識別情報である。配信サーバ２は、第２体組成情報に含まれるユーザＩＤ及び測定日時と、計算した類似度を目標類似度レコードに格納する。
【００４６】
次に、配信サーバ２は、ユーザＩＤをキーとする内部結合のアルゴリズムにより、現在類似度リストと目標類似度リストからユーザＩＤが一致する現在類似度レコードと目標類似度レコードを抽出して組み合わせる。つまり、配信サーバ２は、ユーザＩＤが一致する第１体組成情報と第２体組成情報とを特定する。例えば、配信サーバ２は、現在類似度リストの或る現在類似度レコードからユーザＩＤ及び測定日時を取得する。配信サーバ２は、現在類似度レコードから取得したユーザＩＤと一致するユーザＩＤを格納し、且つ、現在類似度リストから取得した測定日時よりも新しい測定日時を格納する目標類似度レコードを、目標類似度リストから検索する。そして、配信サーバ２は、或る現在類似度レコードと、目標類似度リストから検索された目標類似度レコードとを組み合わせる。複数の目標類似度レコードが検索された場合、配信サーバ２は、検索された目標類似度レコードのそれぞれを、現在類似度レコードと組み合わせる。配信サーバ２は、これらの処理を、現在類似度リストに登録されている全ての現在類似度レコードについて実行する。
【００４７】
配信サーバ２は、抽出した組み合わせごとに、平均類似度を計算する。平均類似度は、現在類似度レコードに格納されている類似度と、目標類似度レコードに格納されている類似度との平均である。平均類似度は、第１体組成情報及び第２体組成情報における目標項目の体組成と、推薦対象の利用者の現在体組成情報及び目標体組成情報における目標項目の体組成との類似度を示す。平均類似度が高いほど、第１体組成情報における目標項目の体組成と第２体組成情報における目標項目の体組成との関係が目標設定条件を満たす蓋然性が高い。平均類似度を計算すると、配信サーバ２は、平均類似度リストを生成する。図３（Ｄ）は、平均類似度リストの構成例を示す図である。平均類似度リストには、抽出された組み合わせごとに平均類似度レコードが登録される。各平均類似度レコードは、レコードＩＤ、ユーザＩＤ、平均類似度、開始日時、終了日時、トレーニング日時を格納する。レコードＩＤは、平均類似度レコードを識別可能な識別情報である。配信サーバ２は、組み合わせの現在類似度レコード又は目標類似度レコードに格納されているユーザＩＤを、平均類似度レコードに格納する。また、配信サーバ２は、現在類似度レコードに格納されている測定日時を開始日時として平均類似度レコードに格納する。また、配信サーバ２は、目標類似度レコードに格納されている測定日時を終了日時として平均類似度レコードに格納する。また、配信サーバ２は、開始日時から終了日時までの日数をトレーニング期間日数として平均類似度レコードに格納する。平均類似度レコードにおいて、平均類似度が高いほど、ユーザＩＤが示す利用者が、開始日時から終了日時までのトレーニング期間で行った運動で、推薦対象の利用者の目標を達成した蓋然性が高いことを示す。
【００４８】
平均類似度リストを生成すると、配信サーバ２は、平均類似度リストに登録されたユーザＩＤのうち、対応する平均類似度が最も高いユーザＩＤを、手本利用者のユーザＩＤに決定する。このとき、配信サーバ２は、開始日時と終了日時とで示されるトレーニング期間の間に、対応する運動履歴があるユーザＩＤの中から、平均類似度が最も高いユーザＩＤを手本利用者のユーザＩＤに決定してもよい。つまり、トレーニング期間に何らかの運動を行ったユーザが手本利用者となる。これにより、手本利用者がトレーニング期間に行った運動を、推薦運動として決定することができる。そのため、推薦対象の利用者が目的を達成するために適切な運動を提示することができる。具体的に、配信サーバ２は、平均類似度レコードに格納されているユーザＩＤと一致するユーザＩＤに対応する運動履歴のうち、実施日時が、平均類似度レコードに格納されているトレーニング期間内である運動履歴を運動履歴テーブルから検索する。１つ以上の運動履歴が検索された場合、対応する運動履歴がある。配信サーバ２は、平均類似度が低いユーザＩＤが手本利用者のユーザＩＤに決定されないように、平均類似度が所定値以下である平均類似度レコードを平均類似度リストから削除してもよい。また、配信サーバ２は、トレーニング期間日数と推薦対象の利用者の目標期間日数との差が所定値以上である平均類似度レコードを平均類似度リストから削除してもよい。
【００４９】
手本利用者のユーザＩＤを決定すると、配信サーバ２は、推薦運動の運動ＩＤを運動履歴テーブルから取得する。具体的に、配信サーバ２は、運動履歴テーブルから検索した運動履歴から、運動ＩＤ、開始時刻及び終了時刻を取得する。次いで、配信サーバ２は、運動リストを生成する。運動リストは、推薦運動の運動ＩＤのリストである。図４（Ｂ）は、運動リストの構成例を示す図である。運動リストには、推薦運動の運動ＩＤごとに、レコードが登録される。図４（Ｂ）に示すように、各レコードには、レコードＩＤ、運動ＩＤ、実施時間及び実施不可フラグが格納される。レコードＩＤは、レコードを識別可能な識別情報である。実施時間は、推薦運動が手本利用者によって行われた時間の長さである。実施時間は、開始時刻と終了時刻から計算可能である。実施不可フラグの詳細は後述する。配信サーバ２は、運動リストと目標項目の項目ＩＤとを閲覧端末５へ送信する。閲覧端末５は、受信した情報に基づいて、推薦画面をディスプレイに表示させる。図４（Ｃ）は、推薦画面の表示例を示す図である。図４（Ｃ）に示すように、推薦画面には、目標項目の項目名、及び推薦運動の運動名等が表示される。運動名は、本発明の運動識別情報の一例である。ここで、閲覧端末５は、運動名を、実施時間が長い順に表示してもよい。
【００５０】
配信サーバ２は、推薦運動が実施可能であるか否かを判定してもよい。そして、配信サーバ２、実施可能であるか否かを示す情報を閲覧端末５により出力させてもよい。図４（Ｂ）に示す運動リストにおいて、実施不可フラグは、推薦運動が実施不可であるか否かを示す情報である。推薦運動の運動ＩＤがレッスンＩＤである場合、配信サーバ２は、レッスンスケジュールテーブルから、レッスンＩＤに対応するレッスン情報を取得する。配信サーバ２は、開始日が今日であり、開始時刻が現在時刻以降であるレッスン情報を１つ以上取得した場合、実施不可フラグをＦＡＬＳＥに設定する。一方、配信サーバ２は、開始日が今日であり、開始時刻が現在時刻以降であるレッスン情報が１つもなかった場合、実施不可フラグをＴＲＵＥに設定する。つまり、配信サーバ２は、今日のこれからの時間でスタジオレッスンを受けることができるか否かを判定する。推薦運動の運動ＩＤがトレーニングＩＤである場合、配信サーバ２は、例えば、運動履歴テーブルから、運動ＩＤに対応する運動履歴のうち、終了時刻がまだ格納されていない運動履歴を検索する。終了時刻が格納されていない場合、運動ＩＤに対応する運動機器８１が、何れかの利用者によって現在利用されている。配信サーバ２は、検索された運動履歴の数を、現在使用中の運動機器８１の台数としてカウントする。そして、配信サーバ２は、現在使用中の運動機器８１の台数が、運動ＩＤに対応する運動機器８１の総数未満である場合、実施不可フラグをＦＡＬＳＥに設定する。一方、配信サーバ２は、現在使用中の運動機器８１の台数が総数と一致する場合、実施不可フラグをＴＲＵＥに設定する。つまり、配信サーバ２は、運動機器８１が現在利用可能か否かを判定する。閲覧端末５は、実施不可フラグに基づいて、実施可能であるか否かを示す情報を表示する。例えば、運動ＩＤがレッスンＩＤである場合において、実施不可フラグがＦＡＬＳＥである場合、「本日レッスンあり」と表示され、実施不可フラグがＴＲＵＥである場合、「本日のレッスンはありません」と表示される。また、運動ＩＤがトレーニングＩＤである場合において、実施不可フラグがＦＡＬＳＥである場合、「空きあり」と表示され、実施不可フラグがＴＲＵＥである場合、「ただいま使用中です」と表示される。なお、配信サーバ２は、例えば、推薦運動のスタジオレッスンの開催日、開始時刻、終了時刻等を閲覧端末５により出力させてもよい。
【００５１】
上述したように、複数の目標項目が決定された場合、配信サーバ２は、第１体組成情報における複数の目標項目の全ての体組成と、第２体組成情報における複数の目標項目の全ての体組成との関係が目標設定条件を満たすユーザＩＤを、手本利用者のユーザＩＤとして決定する。このように、複数の目標項目の全てを条件とすると、条件を満たすユーザＩＤがない場合がある。また、条件を満たすユーザＩＤが示す利用者が、トレーニング期間に施設４で運動を行っていない場合がある。これらの場合、推薦運動を決定することができない。そこで、配信サーバ２は、推薦運動を決定することができなかった場合、複数の目標項目を所定数のグループに分割してもよい。そして、配信サーバ２は、複数のグループの各グループごとに、第１体組成情報においてグループに含まれる全ての目標項目の体組成と第２体組成情報においてグループに含まれる全ての目標項目の体組成との関係が目標設定条件を満たすユーザＩＤを決定してもよい。
【００５２】
目標項目を分割するため、配信サーバ２は、分割数を設定する。分割数は、複数の目標項目が分割される数を示す。分割数の初期値は１である。分割数が１である場合、複数の目標項目は分割されないことを示す。配信サーバ２は、分割数に基づいて、項目分割リストを生成する。図４（Ａ）、図４（Ｄ）及び図４（Ｇ）は、それぞれ項目分割リストの構成例を示す図である。項目分割リストには、分割数分のレコードが登録される。各レコードには、レコードＩＤ及び項目リストが格納される。レコードＩＤは、レコードを識別可能な識別情報である。項目リストは、分割された目標項目の項目ＩＤのリストである。配信サーバ２は、レコードごとに、第１体組成情報において項目リストに含まれる項目ＩＤが示す全ての体組成と、第２体組成情報において項目リストに含まれる項目ＩＤが示す全ての体組成との関係が目標設定条件を満たすユーザＩＤを決定する。図４（Ａ）は、分割数が１である場合の項目分割リストの一例である。左足筋肉量、右腕筋肉量、及び右足除脂肪量が目標項目に決定されたとする。分割数が１である場合、図４（Ａ）に示すように、１つのレコードに全ての目標項目の項目ＩＤが格納される。分割数が１である場合に、推薦運動を決定することができた場合、例えば、図４（Ｂ）に示すように運動リストが生成され、図４（Ｃ）に示すように推薦画面が表示される。
【００５３】
推薦運動を決定することができなかった場合、配信サーバ２は、分割数を大きくする。例えば、配信サーバ２は、分割数に１を加算してもよい。そして、配信サーバ２は、項目分割リストを再生成する。図４（Ｄ）は、分割数が２である場合の項目分割リストの一例である。図４（Ｄ）に示すように、項目分割リストには、例えば、右足除脂肪量の項目ＩＤを格納するレコードと、左足筋肉量及び右腕筋肉量の項目ＩＤを格納するレコードとが登録される。この場合、配信サーバ２は、第１体組成情報における右足除脂肪量の体組成と第２体組成情報における右足除脂肪量の体組成との関係が目標設定条件を満たすユーザＩＤを決定する。また、配信サーバ２は、第１体組成情報における左足筋肉量及び右腕筋肉量の全ての体組成と、第２体組成情報における左足筋肉量及び右腕筋肉量の全ての体組成との関係が目標設定条件を満たすユーザＩＤを決定する。また、配信サーバ２は、決定したユーザＩＤごとに、推薦運動を決定して運動リストを生成する。図４（Ｅ）は、分割数が２である場合の運動リストの構成例を示す図である。また、配信サーバ２は、決定したユーザＩＤごとに、目標項目及び推薦運動を閲覧端末５により出力させる。図４（Ｆ）は、分割数が２である場合の推薦画面の表示例である。つまり、配信サーバ２は、分割された目標項目ごとに、推薦運動を決定する。
【００５４】
推薦運動を決定することができなかった場合、配信サーバ２は、例えば分割数を３に設定して、項目分割リストを再生成する。図４（Ｇ）は、分割数が３である場合の項目分割リストの一例である。図４（Ｇ）に示すように、項目分割リストには、例えば、右足除脂肪量の項目ＩＤを格納するレコードと、左足筋肉量の項目ＩＤを格納するレコードと、右腕筋肉量の項目ＩＤを格納するレコードとが登録される。図４（Ｈ）は、分割数が３である場合の運動リストの構成例を示す図である。分割数が３である場合の推薦画面の表示例の図は省略する。
【００５５】
なお、配信サーバ２は、例えば、複数の目標項目の各目標項目ごとに、第１体組成情報における一の目標項目の体組成と、第２体組成情報における一の目標項目の体組成との関係が目標設定条件を満たすユーザＩＤを、手本利用者のユーザＩＤとして決定してもよい。
【００５６】
［３．各装置の構成］
次に、図１を参照して、運動支援システムに含まれる各装置の構成について説明する。
【００５７】
［３−１．配信サーバ２の構成］
図１に示すように、配信サーバ２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、バス２４、Ｉ／Ｏインタフェイス２５、表示制御部２６、ディスクドライブ２８、ネットワーク通信部３０及びＨＤＤ（ハードディスクドライブ）３７を備える。ＣＰＵ２１は、バス２４を介して、ＲＯＭ２２、ＲＡＭ２３、バス２４及びＩ／Ｏインタフェイス２５に接続されている。ＣＰＵ２１は、時計機能及びタイマー機能を有する。ＣＰＵ２１は、ＲＯＭ２２やＨＤＤ３７に記憶されたプログラムを実行することにより、配信サーバ２の各部を制御する。Ｉ／Ｏインタフェイス２５には、データベース３、表示制御部２６、ディスクドライブ２８、ネットワーク通信部３０、キーボード３１、マウス３２及びＨＤＤ３７が接続されている。ＣＰＵ２１は、Ｉ／Ｏインタフェイス２５を介してデータベース３にアクセスする。表示制御部２６は、ＣＰＵ２１の制御に基づいて映像信号をモニタ２７に出力する。ディスクドライブ２８は、記録媒体２９に対するデータの書き込み及び読み出しを行う。ネットワーク通信部３０は、配信サーバ２がネットワーク１０に接続するための制御を行う。ＨＤＤ３７には、ＯＳや各種制御プログラム等が記憶されている。
【００５８】
データベース３には、体組成履歴テーブル、運動履歴テーブル、レッスンスケジュールテーブルが格納されている。また、データベース３には、モデル体組成情報が登録されている。また、データベース３には、トレーニングＩＤごとに、トレーニングＩＤが示す運動に利用される運動機器８１の台数が登録されている。また、データベース３には、利用者情報、目標体組成情報及び目標期間日数がユーザＩＤに対応付けて登録される。利用者情報は、利用者の身長、年齢、性別を含む。
【００５９】
ＨＤＤ３７には、ＯＳ、サーバプログラム等の各種プログラム等が記憶されている。サーバプログラムは、推薦運動を決定するためのプログラムである。サーバプログラムは、コンピュータとしてのＣＰＵ２１に、第２決定ステップを少なくとも実行させる。各種プログラムは、例えば、所定のサーバ装置からネットワーク１０を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体２９に記録されてディスクドライブ２８を介して読み込まれるようにしてもよい。
【００６０】
［３−２．閲覧端末５の構成］
図１に示すように、閲覧端末５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、バス５４、Ｉ／Ｏインタフェイス５５、表示制御部５６、メモリ５７、カードドライブ５８、ディスプレイ５９、ネットワーク通信部６０、操作部６１、及び信号受信部６２を備える。ＣＰＵ５１は、バス５４を介して、ＲＯＭ５２、ＲＡＭ５３、及びＩ／Ｏインタフェイス５５に接続されている。ＣＰＵ５１は、ＲＯＭ５２やメモリ５７に記憶されたプログラムを実行することにより、閲覧端末５の各部を制御する。Ｉ／Ｏインタフェイス５５には、表示制御部５６、メモリ５７、ネットワーク通信部６０、操作部６１、及び信号受信部６２が接続されている。表示制御部５６は、ＣＰＵ５１の制御に基づいて映像信号をディスプレイ５９に出力する。ディスプレイ５９は、映像信号に基づいて映像を表示する。ディスプレイ５９は、本発明の出力手段の一例である。カードドライブ５８は、メモリカードに対するデータの書き込み及び読み出しを行う。操作部６１は、利用者からの操作を受け付ける。信号受信部６２は、例えばＮＦＣ等の通信方式により、ＩＣカード６３からユーザＩＤを受信する。
【００６１】
メモリ５７には、配信サーバ２から配信されたモデル体組成情報等が記憶される。また、メモリ５７には、ＯＳ、端末プログラム等の各種プログラム等が記憶されている。端末プログラムは、推薦運動の情報を出力するためのプログラムである。端末プログラムは、コンピュータとしてのＣＰＵ５１に、第１取得ステップと、第１決定ステップと、制御ステップとを少なくとも実行させる。各種プログラムは、例えば、配信サーバ２等のサーバからネットワーク１０を介してダウンロードされるようにしてもよい。また、各種プログラムは、メモリカードに記録されてカードドライブ５８を介して読み込まれるようにしてもよい。
【００６２】
［４．運動支援システム１の動作］
次に、図５乃至図８を参照して、運動支援システム１の動作を説明する。図５は、閲覧端末５のＣＰＵ５１が実行する処理例を示すフローチャートである。ＣＰＵ５１は、メモリ５７に記憶されたプログラムに従って、図５に示す処理を実行する。図６乃至図８は、配信サーバ２のＣＰＵ２１が実行する処理例を示すフローチャートである。ＣＰＵ２１は、ＨＤＤ３７に記憶されたプログラムに従って、図６乃至図８に示す処理を実行する。図５（Ａ）は、閲覧端末５のＣＰＵ５１の推薦制御処理の一例を示すフローチャートである。例えば、利用者がＩＣカード６３を閲覧端末５に近づけることにより、信号受信部６２がＩＣカード６３から、推薦対象の利用者のユーザＩＤを受信する。このとき、ＣＰＵ５１は推薦制御処理を実行する。図５（Ａ）に示すように、ＣＰＵ５１は、信号受信部６２からユーザＩＤを取得して、ＲＡＭ５３に記憶させる（ステップＳ１）。
【００６３】
次いで、ＣＰＵ５１は、配信サーバ２から現在体組成情報を取得する（ステップＳ２）。具体的に、ＣＰＵ５１は、取得したユーザＩＤを含む情報リクエストを配信サーバ２へ送信する。配信サーバ２のＣＰＵ２１は、体組成履歴テーブルから、情報リクエストに含まれるユーザＩＤに対応する体組成情報のうち、測定日時が最新の体組成情報を、現在体組成情報として取得する。また、ＣＰＵ２１は、情報リクエストに含まれるユーザＩＤに対応する目標体組成情報をデータベース３から取得する。また、ＣＰＵ２１は、情報リクエストに含まれるユーザＩＤに対応する利用者情報をデータベース３から取得する。ＣＰＵ２１は、取得した現在体組成情報、目標体組成情報及び利用者情報を閲覧端末５へ送信する。閲覧端末５のＣＰＵ５１は、配信サーバ２から送信された情報を受信する。対応する現在体組成情報がない場合、配信サーバ２は現在体組成情報を送信しない。また、対応する目標体組成情報がない場合も、配信サーバ２は目標体組成情報を送信しない。
【００６４】
次いで、ＣＰＵ５１は、受信された情報の中に現在体組成情報があるか否かを判定する（ステップＳ３）。このとき、ＣＰＵ５１は、現在体組成情報がないと判定した場合には（ステップＳ３：ＮＯ）、ステップＳ４に進む。ステップＳ４において、ＣＰＵ５１は、体組成計８３で体組成を測定することを促す画面をディスプレイ５９に表示させる。ＣＰＵ５１は、ステップＳ４を終えると、推薦制御処理を終了させる。
【００６５】
一方、ＣＰＵ５１は、現在体組成情報があると判定した場合には（ステップＳ３：ＹＥＳ）、ステップＳ５に進む。ステップＳ５において、ＣＰＵ５１は、受信された情報の中に目標体組成情報があるか否かを判定する。このとき、ＣＰＵ５１は、目標体組成情報がある判定した場合には（ステップＳ５：ＹＥＳ）、ステップＳ７に進む。一方、ＣＰＵ５１は、目標体組成情報がないと判定した場合には（ステップＳ５：ＮＯ）、ステップＳ６に進む。ステップＳ６において、ＣＰＵ５１は、目標決定処理を実行する。
【００６６】
図５（Ｂ）は、閲覧端末５のＣＰＵ５１の目標決定処理の一例を示すフローチャートである。図５（Ｂ）に示すように、ＣＰＵ５１は、配信サーバ２から受信した利用者情報から、身長、年齢、性別を取得する。そして、ＣＰＵ５１は、取得した身長、年齢、性別に対応するモデル体組成情報をメモリ５７から取得する（ステップＳ１１）。次いで、ＣＰＵ５１は、モデル体組成情報が示す体組成を目標の体組成として、各評価項目ごとに、現在の体組成値と目標の体組成値との乖離率を計算する（ステップＳ１２）。次いで、ＣＰＵ５１は、複数の評価項目のうち乖離率の大きさの順位が３位以上の評価項目を、目標項目に決定する（ステップＳ１３）。次いで、ＣＰＵ５１は、目標項目の乖離率の平均を計算する。そして、ＣＰＵ５１は、計算した平均が予め設定された閾値以下であるか否かを判定する（ステップＳ１４）。このとき、ＣＰＵ５１は、平均が閾値以下であると判定した場合には（ステップＳ１４：ＹＥＳ）、ステップＳ１５に進む。ステップＳ１５において、ＣＰＵ５１は、利用者情報から取得した年齢から所定値を減算する。そして、ＣＰＵ５１は、年齢を下げた後の身長、年齢、性別に対応するモデル体組成情報をメモリ５７から取得する。次いで、ＣＰＵ５１は、ステップＳ１２に進む。モデル体組成情報の年齢を下げる理由は、目標項目の乖離率を閾値以上に上げるためである。モデル体組成情報の年齢が高いほど、モデルの体脂肪率及び脂肪量が小さく、除脂肪量、筋肉量が大きい。
【００６７】
一方、ＣＰＵ５１は、平均が閾値以下ではないと判定した場合には（ステップＳ１４：ＮＯ）、ステップＳ１６に進む。ステップＳ１６において、ＣＰＵ５１は、現在体組成情報、モデル体組成情報、目標項目に基づいて、目標体組成情報表示・編集画面をディスプレイ５９に表示させる。利用者は、操作部６１を用いて、必要に応じて目標項目及び目標項目の体組成値を変更する操作を行う。また、利用者は、目標期間日数を設定する。ＣＰＵ５１は、利用者の操作に基づき、目標項目及び目標項目を変更する（ステップＳ１７）。そして、ＣＰＵ５１は、変更後の目標項目の体組成値を含む体組成情報を生成する。ＣＰＵ５１は、ステップＳ１７を終えると、目標決定処理を終了させる。
【００６８】
目標決定処理を終えると、ＣＰＵ２１は、図５（Ａ）に示すように、ユーザＩＤ、目標項目の項目ＩＤ、目標体組成情報、目標期間日数、現在体組成情報を含む運動推薦リクエストを配信サーバ２へ送信する（ステップＳ７）。運動推薦リクエストを受信した配信サーバ２は、推薦運動決定制御処理を実行する。推薦運動決定制御処理において、配信サーバ２は、手本ユーザのユーザＩＤ及び推薦運動の運動ＩＤを取得し、目標項目の項目分割リスト及び運動リストを閲覧端末５に送信する。推薦運動決定制御処理の詳細は後述する。ＣＰＵ５１は、配信サーバ２から項目分割リスト及び運動リストを受信すると（ステップＳ８）、受信したリストに基づいて、推薦画面をディスプレイ５９に表示させる（ステップＳ９）。具体的に、ＣＰＵ５１は、項目分割リストに登録されているレコードごとに、レコードに含まれる項目ＩＤが示す目標項目の項目名と、レコードに対応する運動リストに含まれる運動ＩＤが示す運動の運動名をディスプレイ５９に表示させる。このとき、ＣＰＵ５１は、運動リストに含まれる運動不可フラグに基づいて、運動ＩＤが示す運動が実施可能か否かを示す情報をディスプレイ５９に表示させる。ＣＰＵ５１は、ステップＳ９の処理を終えると、推薦制御処理を終了させる。
【００６９】
図６（Ａ）は、配信サーバ２のＣＰＵ２１の推薦運動決定制御処理の一例を示すフローチャートである。ＣＰＵ２１は、閲覧端末５から受信した運動推薦リクエストに含まれる目標体組成情報及びユーザＩＤを対応付けてデータベース３に登録する。次いで、ＣＰＵ２１は、図６（Ａ）に示すように、分割数を１に設定する（ステップＳ２１）。次いで、ＣＰＵ５１は、項目分割リスト生成処理を実行する（ステップＳ２２）。
【００７０】
図６（Ｂ）は、配信サーバ２のＣＰＵ２１の項目分割リスト生成処理の一例を示すフローチャートである。図６（Ｂ）に示すように、ＣＰＵ２１は、運動推薦リクエストに含まれる目標項目の項目ＩＤ及び乖離率に基づいて、目標項目のランキングを決定する（ステップＳ３１）。具体的に、ＣＰＵ２１は、項目ＩＤを、乖離率が大きい順に並べ替える。そして、ＣＰＵ２１は、レコードが１つも登録されていない項目分割リストを生成する。次いで、ＣＰＵ２１は、番号Ｎに分割数を設定し、順位Ｒに目標項目の数を設定する（ステップＳ３２）。次いで、ＣＰＵ２１は、番号Ｎが１であるか否かを判定する（ステップＳ３３）。このとき、ＣＰＵ２１は、番号Ｎが１ではないと判定した場合には（ステップＳ３３：ＮＯ）、ステップＳ３４に進む。ステップＳ３４において、ＣＰＵ２１は、全ての目標項目のうち順位がＲ位である目標項目の項目ＩＤを含むレコードを生成する。そして、ＣＰＵ２１は、生成したレコードを項目分割リストに追加する。次いで、ＣＰＵ２１は、番号Ｎから１を減算し、順位Ｒから１を減算する（ステップＳ３５）。次いで、ＣＰＵ２１は、ステップＳ３３に進む。
【００７１】
一方、ＣＰＵ２１は、番号Ｎが１であると判定した場合には（ステップＳ３３：ＹＥＳ）、ステップＳ３６に進む。ステップＳ３６において、ＣＰＵ２１は、順位が１位からＲ位までの目標項目の項目ＩＤを含むレコードを生成する。そして、ＣＰＵ２１は、生成したレコードを項目分割リストに追加する。ＣＰＵ２１は、ステップＳ３６を終えると、項目分割リスト生成処理を終了させる。
【００７２】
項目分割リスト生成処理を終えると、ＣＰＵ２１は、図６（Ａ）に示すように、類似度計算制御処理を実行する（ステップＳ２３）。図７（Ａ）は、配信サーバ２のＣＰＵ２１の類似度計算制御処理の一例を示すフローチャートである。図７（Ａ）に示すように、ＣＰＵ２１は、項目分割リストから、先頭のレコードを特定する（ステップＳ４１）。次いで、ＣＰＵ２１は、特定したレコードに含まれる全ての項目ＩＤが示す目標項目を、類似度を計算する目標項目に決定する（ステップＳ４２）。次いで、ＣＰＵ２１は、類似度計算処理を実行する（ステップＳ４３）。
【００７３】
図７（Ｂ）は、配信サーバ２のＣＰＵ２１の類似度計算処理の一例を示すフローチャートである。図７（Ｂ）に示すように、ＣＰＵ２１は、現在類似度リストを生成する（ステップＳ６１）。具体的に、ＣＰＵ２１は、運動推薦リクエストに含まれる現在体組成情報と、体組成履歴テーブルに登録された各体組成情報との間で、決定した目標項目の全ての体組成の類似度を計算する。このとき、ＣＰＵ２１は、推薦対象の利用者以外の体組成情報について類似度を計算する。次いで、ＣＰＵ２１は、体組成履歴テーブルに登録された各体組成情報ごとに、体組成情報からユーザＩＤ、測定日時を取得する。次いで、ＣＰＵ２１は、ユーザＩＤ、測定日時、計算した類似度を含む現在類似度レコードを生成する。そして、ＣＰＵ２１は、生成した全ての現在類似度レコードを含む現在類似度リストを生成する。
【００７４】
次いで、ＣＰＵ２１は、目標類似度リストを生成する（ステップＳ６２）。具体的に、ＣＰＵ２１は、運動推薦リクエストに含まれる目標体組成情報と、体組成履歴テーブルに登録された各体組成情報との間で、決定した目標項目の全ての体組成の類似度を計算する。このとき、ＣＰＵ２１は、推薦対象の利用者以外の体組成情報について類似度を計算する。次いで、ＣＰＵ２１は、体組成履歴テーブルに登録された各体組成情報ごとに、体組成情報からユーザＩＤ、測定日時を取得する。次いで、ＣＰＵ２１は、ユーザＩＤ、測定日時、計算した類似度を含む目標類似度レコードを生成する。そして、ＣＰＵ２１は、生成した全ての目標類似度レコードを含む目標類似度リストを生成する。
【００７５】
次いで、ＣＰＵ２１は、平均類似度リストを生成する（ステップＳ６３）。具体的に、ＣＰＵ２１は、現在類似度リストと目標類似度リストからユーザＩＤが一致する現在類似度レコードと目標類似度レコードを抽出して組み合わせる。次いで、ＣＰＵ２１は、組み合わせごとに、現在類似度レコードに含まれる類似度と目標類似度レコードに含まれる類似度との平均類似度を計算する。また、ＣＰＵ２１は、現在類似度レコードに含まれる測定日時から目標類似度レコードに含まれる測定日時までの日数をトレーニング期間日数として計算する。また、ＣＰＵ２１は、現在類似度リストからユーザＩＤ、開始日時としての測定日時を取得し、目標類似度リストから終了日時としての測定日時を取得する。次いで、ＣＰＵ２１は、平均類似度、トレーニング期間日数、ユーザＩＤ、開始日時及び終了日時を含むレコードを生成する。そして、ＣＰＵ２１は、生成した全てのレコードを含む平均類似度リストを生成する。
【００７６】
次いで、ＣＰＵ２１は、平均類似度リストから、レコードに格納された類似度が、予め設定された類似度閾値未満であるレコードを削除する（ステップＳ６４）。次いで、ＣＰＵ２１は、平均類似度リストから、レコードに格納されたトレーニング期間日数と目標期間日数との差が、予め設定された日数閾値以上であるレコードを削除する（ステップＳ６５）。次いで、ＣＰＵ２１は、平均類似度リストに登録されているレコードを、平均類似度が大きい順にソートする（ステップＳ６６）。ＣＰＵ２１は、ステップＳ６６の処理を終えると、類似度計算処理を終了させる。
【００７７】
類似度計算処理を終えると、ＣＰＵ２１は、図７（Ａ）に示すように、平均類似度リストに１つ以上のレコードが登録されているか否かを判定する（ステップＳ４４）。このとき、ＣＰＵ２１は、平均類似度リストにレコードが登録されていないと判定した場合には（ステップＳ４４：ＮＯ）、類似度計算制御処理を終了させる。一方、ＣＰＵ２１は、平均類似度リストに１つ以上のレコードが登録されていると判定した場合には（ステップＳ４４：ＹＥＳ）、ステップＳ４５に進む。ステップＳ４５において、ＣＰＵ２１は、平均類似度リストから先頭のレコードを特定する。次いで、運動履歴テーブルから、平均類似度リストから特定したレコードに格納されているユーザＩＤに対応する運動履歴を検索する。そして、ＣＰＵ２１は、検索された運動履歴の中から、特定したレコードに格納されている開始日時から終了日時までの範囲内にある実施日及び開始時刻を格納する運動履歴を検索する（ステップＳ４６）。
【００７８】
次いで、ＣＰＵ２１は、開始日時から終了日時までの範囲内にある実施日時を格納する運動履歴があるか否かを判定する（ステップＳ４７）。このとき、ＣＰＵ２１は、運動履歴がないと判定した場合には（ステップＳ４７：ＮＯ）、ステップＳ４８に進む。ステップＳ４８において、ＣＰＵ２１は、平均類似度リストから特定したレコードが、平均類似度リストの最終のレコードであるか否かを判定する。このとき、ＣＰＵ２１は、特定したレコードが最終のレコードであると判定した場合には（ステップＳ４８：ＹＥＳ）、類似度計算制御処理を終了させる。一方、ＣＰＵ２１は、特定したレコードが最終のレコードではないと判定した場合には（ステップＳ４８：ＮＯ）、ステップＳ４９に進む。ステップＳ４９において、ＣＰＵ２１は、平均類似度リストから次のレコードを特定する。次いで、ＣＰＵ２１は、ステップＳ４６に進む。
【００７９】
ステップＳ４７において、ＣＰＵ２１は、運動履歴があると判定した場合には（ステップＳ４７：ＹＥＳ）、ステップＳ５０に進む。ステップＳ５０において、ＣＰＵ２１は、運動リストを生成する。具体的に、ＣＰＵ２１は、検索された運動履歴から運動ＩＤ、開始時刻及び終了時刻を取得する。次いで、ＣＰＵ２１は、運動ＩＤごとに、開始時刻から終了時刻までの実施時間を計算する。次いで、ＣＰＵ２１は、運動ＩＤごとに、運動ＩＤ及び実施時間を含むレコードを生成する。次いで、ＣＰＵ２１は、生成した全てのレコードを含む運動リストを生成する。そして、ＣＰＵ２１は、運動リストを、項目分割リストから特定されたレコードに対応付けて、ＲＡＭ２３に記憶させる。これにより、ＣＰＵ２１は、平均類似度リストから特定したレコードに格納されているユーザＩＤを、手本利用者のユーザＩＤに決定する。
【００８０】
次いで、ＣＰＵ２１は、項目分割リストから特定したレコードが、項目分割リストの最終のレコードであるか否かを判定する（ステップＳ５１）。このとき、ＣＰＵ２１は、特定したレコードが最終のレコードではないと判定した場合には（ステップＳ５１：ＮＯ）、ステップＳ５２に進む。ステップＳ５２において、ＣＰＵ２１は、項目分割リストから次のレコードを特定する。次いで、ＣＰＵ２１は、ステップＳ４２に進む。一方、ＣＰＵ２１は、特定したレコードが最終のレコードであると判定した場合には（ステップＳ５１：ＹＥＳ）、類似度計算制御処理を終了させる。
【００８１】
類似度計算制御処理を終えると、ＣＰＵ２１は、図６（Ａ）に示すように、推薦可能判定処理を実行する（ステップＳ２４）。図８（Ａ）は、配信サーバ２のＣＰＵ２１の推薦可能判定処理の一例を示すフローチャートである。図８（Ａ）に示すように、ＣＰＵ２１は、項目分割リストから先頭のレコードを特定する（ステップＳ７１）。次いで、ＣＰＵ２１は、特定したレコードに対応付けられた運動リストがあるか否かを判定する（ステップＳ７２）。このとき、ＣＰＵ２１は、運動リストがないと判定した場合には（ステップＳ７２：ＮＯ）、ステップＳ７３に進む。ステップＳ７３において、ＣＰＵ２１は、推薦不可フラグをＴＲＵＥに設定する。ＣＰＵ２１は、ステップＳ７３を終えると、推薦可能判定処理を終了させる。
【００８２】
一方、ＣＰＵ２１は、運動リストがあると判定した場合には（ステップＳ７２：ＹＥＳ）、ステップＳ７４に進む。ステップＳ７４において、ＣＰＵ２１は、特定したレコードに対応付けられた運動リストをＲＡＭ２３から取得する。次いで、ＣＰＵ２１は、運動可能判定処理を実行する。図８（Ｂ）は、配信サーバ２のＣＰＵ２１の運動可能判定処理の一例を示すフローチャートである。図８（Ｂ）に示すように、ＣＰＵ２１は、取得した運動リストから先頭のレコードを特定する（ステップＳ８１）。次いで、ＣＰＵ２１は、特定したレコードに格納されている運動ＩＤがトレーニングＩＤであるか否かを判定する（ステップＳ８２）。このとき、ＣＰＵ２１は、運動ＩＤがトレーニングＩＤであると判定した場合には（ステップＳ８２：ＹＥＳ）、ステップＳ８３に進む。ステップＳ８３において、ＣＰＵ２１は、運動履歴テーブルから、特定したレコードに格納されている運動ＩＤに対応する運動履歴のうち、終了時間を含まない運動履歴を検索する。そして、ＣＰＵ２１は、検索された運動履歴の数を計算する。次いで、ＣＰＵ２１は、特定したレコードに格納されている運動ＩＤに対応する運動機器８１の総数をデータベース３から取得する。そして、ＣＰＵ２１は、運動履歴の数と運動機器８１の総数とが一致するか否かを判定する（ステップＳ８４）。このとき、ＣＰＵ２１は、運動履歴の数と運動機器８１の総数とが一致すると判定した場合には（ステップＳ８４：ＹＥＳ）、ステップＳ８５に進む。ステップＳ８５において、ＣＰＵ２１は、特定したレコードに格納されている実施フラグをＴＲＵＥに設定する。次いで、ＣＰＵ２１は、ステップＳ９２に進む。一方、ＣＰＵ２１は、運動履歴の数と運動機器８１の総数とが一致しないと判定した場合には（ステップＳ８４：ＮＯ）、ステップＳ８６に進む。ステップＳ８６において、ＣＰＵ２１は、特定したレコードに格納されている実施フラグをＦＡＬＳＥに設定する。次いで、ＣＰＵ２１は、ステップＳ９２に進む。
【００８３】
ステップＳ８２において、ＣＰＵ２１は、運動ＩＤがトレーニングＩＤではないと判定した場合には（ステップＳ８２：ＮＯ）、ステップＳ８７に進む。この場合、運動ＩＤはレッスンＩＤである。ステップＳ８７において、ＣＰＵ２１は、レッスンスケジュールテーブルから、特定したレコードに格納されているレッスンＩＤに対応する開催日及び開始時刻を取得する。次いで、ＣＰＵ２１は、時計機能から現在日時を取得する。そして、ＣＰＵ２１は、開催日が今日の日付と一致するか否かを判定する（ステップＳ８８）。このとき、ＣＰＵ２１は、開催日が今日の日付と一致しないと判定した場合には（ステップＳ８８：ＮＯ）、ステップＳ９０に進む。一方、ＣＰＵ２１は、開催日が今日の日付と一致すると判定した場合には（ステップＳ８８：ＹＥＳ）、ステップＳ８９に進む。ステップＳ８９において、ＣＰＵ２１は、開始時刻が現在時刻以降であるか否かを判定する。このとき、ＣＰＵ２１は、開始時刻が現在時刻以降ではないと判定した場合には（ステップＳ８９：ＮＯ）、ステップＳ９０に進む。ステップＳ９０において、ＣＰＵ２１は、特定したレコードに格納されている実施フラグをＴＲＵＥに設定する。次いで、ＣＰＵ２１は、ステップＳ９２に進む。一方、ＣＰＵ２１は、開始時刻が現在時刻以降である判定した場合には（ステップＳ８９：ＹＥＳ）、ステップＳ９１に進む。ステップＳ９１において、ＣＰＵ２１は、特定したレコードに格納されている実施フラグをＦＡＬＳＥに設定する。次いで、ＣＰＵ２１は、ステップＳ９２に進む。
【００８４】
ステップＳ９２において、ＣＰＵ２１は、特定したレコードが運動リストの最終のレコードであるか否かを判定する。このとき、ＣＰＵ２１は、特定したレコードが最終のレコードではないと判定した場合には（ステップＳ９２：ＮＯ）、ステップＳ９３に進む。ステップＳ９３において、ＣＰＵ２１は、運動リストから次のレコードを特定する。次いで、ＣＰＵ２１は、ステップＳ８２に進む。一方、ＣＰＵ２１は、特定したレコードが最終のレコードであると判定した場合には（ステップＳ９２：ＹＥＳ）、運動可能判定処理を終了させる。
【００８５】
運動可能判定処理を終えると、ＣＰＵ２１は、図８（Ａ）に示すように、特定したレコードが項目分割リストの最終のレコードであるか否かを判定する（ステップＳ７６）。このとき、ＣＰＵ２１は、特定したレコードが最終のレコードではないと判定した場合には（ステップＳ７６：ＮＯ）、ステップＳ７７に進む。ステップＳ７７において、ＣＰＵ２１は、項目分割リストから次のレコードを特定する。次いで、ＣＰＵ２１は、ステップＳ７２に進む。一方、ＣＰＵ２１は、特定したレコードが最終のレコードであると判定した場合には（ステップＳ７６：ＹＥＳ）、ステップＳ７８に進む。ステップＳ７８において、ＣＰＵ２１は、推薦不可フラグをＦＡＬＳＥに設定する。ＣＰＵ２１は、ステップＳ７８を終えると、推薦可能判定処理を終了させる。
【００８６】
推薦可能判定処理を終えると、ＣＰＵ２１は、図６（Ａ）に示すように、推薦不可フラグがＴＲＵＥであるか否かを判定する（ステップＳ２５）。このとき、ＣＰＵ２１は、推薦不可フラグがＴＲＵＥであると判定した場合には（ステップＳ２５：ＹＥＳ）、ステップＳ２６に進む。ステップＳ２６において、ＣＰＵ２１は、目標項目の数と分割数が一致するか否かを判定する。このとき、ＣＰＵ２１は、目標項目の数と分割数が一致すると判定した場合には（ステップＳ２６：ＹＥＳ）、推薦運動決定制御処理を終了させる。一方、ＣＰＵ２１は、目標項目の数と分割数が一致しないと判定した場合には（ステップＳ２６：ＮＯ）、ステップＳ２７に進む。ステップＳ２７において、ＣＰＵ２１は、分割数に１を加算する。次いで、ＣＰＵ２１は、ステップＳ２２に進む。
【００８７】
ステップＳ２５において、ＣＰＵ２１は、推薦不可フラグがＴＲＵＥではないと判定した場合には（ステップＳ２５：ＮＯ）、ステップＳ２８に進む。ステップＳ２８において、ＣＰＵ２１は、生成した項目分割リスト及び運動リストを閲覧端末５へ送信する。ＣＰＵ２１は、ステップＳ２８を終えると、推薦運動決定制御処理を終了させる。
【００８８】
以上説明したように、本実施形態によれば、閲覧端末５が、現在体組成情報と目標体組成情報に基づいて、複数の評価項目のうち所定の目標設定条件を満たす目標項目を決定する。また、配信サーバ２が、第１体組成情報における目標項目の体組成と第２体組成情報における目標項目の体組成との関係が目標設定条件を満たす第１体組成情報及び第２体組成情報に対応付けてデータベース３に登録されているユーザＩＤを決定する。また、配信サーバ２が、決定されたユーザＩＤに対応する運動ＩＤを運動履歴テーブルから取得する。また、閲覧端末５が、取得された運動ＩＤが示す運動名をディスプレイ５９により出力させる。そのため、複数の体組成のうち目標との差違が大きい体組成について目標に達するための運動を、他のユーザの体組成及び運動の履歴に基づいて提示することができる。
【符号の説明】
【００８９】
１  運動支援システム
２  配信サーバ
３  データベース
５  閲覧端末
２１、５１  ＣＰＵ
２２、５２  ＲＯＭ
２３、５３  ＲＡＭ
３７  ＨＤＤ
３０、６０  ネットワーク通信部
５６  表示制御部
５７  メモリ
５９  ディスプレイ
【図１】
2015104466.tif 000003
【図２】
2015104466.tif 000004
【図３】
2015104466.tif 000005
【図４】
2015104466.tif 000006
【図５】
2015104466.tif 000007
【図６】
2015104466.tif 000008
【図７】
2015104466.tif 000009
【図８】
2015104466.tif 000010