(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024086177
(43)【公開日】2024-06-27
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
A63B 69/00 20060101AFI20240620BHJP
A63B 71/06 20060101ALI20240620BHJP
【FI】
A63B69/00 C
A63B71/06 T
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022201171
(22)【出願日】2022-12-16
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(74)【代理人】
【識別番号】100126000
【弁理士】
【氏名又は名称】岩池 満
(72)【発明者】
【氏名】上田 将司
(57)【要約】
【課題】ランニングのようなトレーニング競技において、最終目標に到達するためにクリアすべき中間目標をトレーニング実施者に提示し、トレーニング者に最終目標達成に対するモチベーションを与えること。
【解決手段】
目標提示装置1は、トレーニングを実施する対象者における前記トレーニングの達成目標を示す情報である達成目標情報を取得し、前記対象者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第1の特徴ベクトルから、前記達成目標情報に対応する前記トレーニングの他の実施者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第2の特徴ベクトルへ向かう経路を生成し、生成された前記経路上にある少なくとも一の位置を、前記経路を構成する特徴ベクトルが示す特徴量に応じて、前記対象者の前記トレーニングにおける中間目標である第3の特徴ベクトルとして特定する、処理部11を備えている。
【選択図】
図3
【特許請求の範囲】
【請求項1】
トレーニングを実施する対象者における前記トレーニングの達成目標を示す情報である達成目標情報を取得し、
前記対象者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第1の特徴ベクトルから、前記達成目標情報に対応する前記トレーニングの他の実施者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第2の特徴ベクトルへ向かう経路を生成し、
生成された前記経路上にある少なくとも一の位置を、前記経路を構成する特徴ベクトルが示す特徴量に応じて、前記対象者の前記トレーニングにおける中間目標である第3の特徴ベクトルとして特定する、
処理部を備えている情報処理装置。
【請求項2】
前記処理部が、特定された前記第3の特徴ベクトルに基づいて前記トレーニング実績情報における特徴量を出力する、請求項1に記載の情報処理装置。
【請求項3】
前記処理部が、前記経路上にある少なくとも一の位置を、前記第3の特徴ベクトルの数または前記第3の特徴ベクトルが示す距離に基づいて特定する、請求項1に記載の情報処理装置。
【請求項4】
前記処理部が、前記経路上にある少なくとも一の位置を、前記対象者の能力を示す能力レベルに基づいて特定する、請求項1に記載の情報処理装置。
【請求項5】
前記処理部が、前記経路上にある少なくとも一の位置を、前記中間目標として設定する前記トレーニングにおける指標の難易度に基づいて特定する、請求項1に記載の情報処理装置。
【請求項6】
前記処理部が、所定の条件の下で前記中間目標が達成されていないと判定した場合、前記経路を構成する特徴ベクトルが示す特徴量に関して前記対象者の前記中間目標達成が容易となるように、前記中間目標を再設定する、請求項1に記載の情報処理装置。
【請求項7】
前記処理部が、前記第2の特徴ベクトルに近似する特徴ベクトル群を、前記第2の特徴ベクトルから所定の距離以内に所定数以上の特徴ベクトルが存在することを基準として、前記対象者の達成目標を達成している他のトレーニング実施者の特徴ベクトルから抽出する、請求項1に記載の情報処理装置。
【請求項8】
前記処理部が、生成された前記経路を、前記第1の特徴ベクトルを始点として、前記第2の特徴ベクトルに近似する特徴ベクトル群に属するいずれかの特徴ベクトルに向けて遷移していく場合に、遷移の起点から所定の距離以内にある前記第2の特徴ベクトルの数と、該当する各前記第2の特徴ベクトルへの前記第3の特徴ベクトルの類似度とを基準として遷移先の特徴ベクトルの選択を繰り返して前記経路を生成する、請求項7に記載の情報処理装置。
【請求項9】
前記処理部が、前記特徴量を入力とするエンコーダにより前記対象者の属性情報及び前記対象者の前記トレーニング実績情報との組合せ及び前記達成目標情報を特徴ベクトルに変換し、前記特徴ベクトルを入力とするデコーダにより前記中間目標を示す前記第3の特徴ベクトルを対応する前記トレーニング実績情報に変換する、請求項1に記載の情報処理装置。
【請求項10】
前記エンコーダ及び前記デコーダは深層学習が可能なニューラルネットワークを備え、実績値としてのトレーニング実績情報を前記エンコーダにより特徴ベクトルに変換し、変換して得られた特徴ベクトルを前記デコーダにより前記トレーニング実績情報に変換して前記実績値と比較することによって前記エンコーダ及び前記デコーダの学習処理が行われる、請求項9に記載の情報処理装置。
【請求項11】
前記処理部が、生成された前記経路を、前記経路を構成する前記第3の特徴ベクトルを所定の数に分割したときの分割点となる特徴ベクトルを特徴量に逆変換して中間目標情報を生成して提示する、請求項1に記載の情報処理装置。
【請求項12】
前記処理部が、生成された前記経路を、前記経路を所定の距離に基づいて分割したときの分割点となる前記第3の特徴ベクトルを特徴量に逆変換して中間目標情報を生成して提示する、請求項1に記載の情報処理装置。
【請求項13】
前記処理部が、前記対象者が、設定された前記中間目標のいずれかを達成したか否かを、取得した最新のトレーニング実績情報に基づいて判定し、その判定結果を出力する、請求項1に記載の情報処理装置。
【請求項14】
前記トレーニングがランニングであり、前記トレーニング実績情報が少なくとも、前記対象者の走行距離、走行ペース、走行フォーム指標のいずれかを含んでいる、請求項1に記載の情報処理装置。
【請求項15】
コンピュータが、
トレーニングを実施する対象者における前記トレーニングの達成目標を示す情報である達成目標情報を取得し、
前記対象者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第1の特徴ベクトルから、前記達成目標情報に対応する前記トレーニングの他の実施者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第2の特徴ベクトルへ向かう経路を生成し、
生成された前記経路上にある少なくとも一の位置を、前記経路を構成する特徴ベクトルが示す特徴量に応じて、前記対象者の前記トレーニングにおける中間目標である第3の特徴ベクトルとして特定する
情報処理方法。
【請求項16】
コンピュータに、
トレーニングを実施する対象者における前記トレーニングの達成目標を示す情報である達成目標情報を取得し、
前記対象者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第1の特徴ベクトルから、前記達成目標情報に対応する前記トレーニングの他の実施者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第2の特徴ベクトルへ向かう経路を生成し、
生成された前記経路上にある少なくとも一の位置を、前記経路を構成する特徴ベクトルが示す特徴量に応じて、前記対象者の前記トレーニングにおける中間目標である第3の特徴ベクトルとして特定する
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【0002】
一般に運動競技を行う人は、ランナーであれば、「フルマラソンをある時間、例えば市民ランナーであれば5時間以内に完走する」といった目標を定め、その目標の達成に向けて練習を実行することがある。
【0003】
このような観点から、例えば特許文献1に記載されている運動データ表示構成装置は、ユーザのランニングに対する目標を達成するために、予め設計されたトレーニングプログラムが記憶されており、ユーザの個人の目標に沿ったトレーニングプログラムを選択すると、例えば日毎に必要とされるランニングのトレーニングプログラムの距離が自装置の画面に表示される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の運動データ表示構成装置では、ユーザごとに最適となる目標達成のための経路を作成することはできないという問題があった。
【0006】
本発明の目的の一つは、ランニングのような運動競技における能力向上、教科の学習等のための種々のトレーニングにおいて、最終目標に到達するためにクリアすべき中間目標をトレーニング実施者に提示し、トレーニング実施者に最終目標達成に対するモチベーションを与えることができる情報処理装置、情報処理方法及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
本発明の一つの態様による情報処理装置は、トレーニングを実施する対象者における前記トレーニングの達成目標を示す情報である達成目標情報を取得し、前記対象者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第1の特徴ベクトルから、前記達成目標情報に対応する前記トレーニングの他の実施者の前記トレーニングの実績であるトレーニング実績情報に基づいて導出される第2の特徴ベクトルへ向かう経路を生成し、生成された前記経路上にある少なくとも一の位置を、前記経路を構成する特徴ベクトルが示す特徴量に応じて、前記対象者の前記トレーニングにおける中間目標である第3の特徴ベクトルとして特定する処理部を備えている。
【発明の効果】
【0008】
本発明によれば、ランニングのような運動競技における能力向上、教科の学習等のための種々のトレーニングにおいて、最終目標に到達するためにクリアすべき中間目標をトレーニング実施者に提示し、トレーニング実施者に最終目標達成に対するモチベーションを与えることができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の一実施形態における目標達成支援システムの構成を例示するシステム構成図である。
【
図2】本発明の一実施形態における目標提示装置のハードウェア構成を例示するブロック図である。
【
図3】本発明の一実施形態における目標提示装置が有する処理部が実現する機能を例示するブロック図である。
【
図4】本発明の一実施形態におけるサーバコンピュータが有する処理部が実現する機能を例示するブロック図である。
【
図5】本発明の一実施形態におけるユーザ情報データベースの構成例を示す図である。
【
図6】本発明の一実施形態における走行情報データベースの構成例を示す図である。
【
図7】本発明の一実施形態におけるユーザ情報、走行情報に基づく潜在走行状態ベクトルの生成、潜在走行状態ベクトルからのデータ予測復元処理の概要を示す模式的ブロック図である。
【
図8】本発明の一実施形態における特徴ベクトルデータベースの構成例を示す図である。
【
図9】本発明の一実施形態における目標提示装置が実行する中間目標生成・提示処理例を示すフローチャートである。
【
図10】目標ベクトル群抽出処理を例示する模式図である。
【
図11】目標ベクトル群への最適経路生成処理を例示するフローチャートである。
【
図12】最適経路生成処理を例示するフローチャートである。
【
図13】目標達成判定処理を例示するフローチャートである。
【
図14】目標提示装置のデータ入力画面例を示す図である。
【
図15】目標提示装置の中間目標出力表示画面例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明について、その実施形態に即して添付図面を参照しながら説明する。
【0011】
<目標提示装置を含む目標達成支援システムの概要>
本実施形態による目標提示装置を含む目標達成支援システムは、トレーニングの対象として運動競技としてランニングを想定しており、システムのユーザ(対象者)であるランナーが設定した、「フルマラソンを5時間以内に完走」といった最終目標について、他の運動実施者である多数のランナーによって登録されたランニング実績から抽出された目標群に基づいて、最終目標に到達するための最適な成長経路を算出し、その成長経路の過程に設定した中間目標を、目標提示装置を通じてランナーに提示する機能を備えている。なお、後述するように、トレーニングとしては、運動競技の能力向上に限定されず、教科学習における知的能力の向上等、人の能力向上のために実施されるあらゆるトレーニングが対象となり得る。
図1に、本発明の一実施形態における目標提示装置を含む目標達成支援システムSのシステム構成を例示している。
図1に示すように、目標達成支援システムSは、スマートフォン、パーソナルコンピュータ等の情報処理装置によって実現される目標提示装置1、スマートウォッチ、モーションセンサ等で構成することができる端末装置2、及びサーバコンピュータ3を備える。目標提示装置1は、インターネット、LAN、WAN等の通信ネットワークを介して、サーバコンピュータ3と通信可能に接続されている。目標提示装置1と端末装置2との間は、例えばBluetooth(登録商標)等の無線通信によって通信可能に接続されている。
【0012】
目標提示装置1は、例えば通信ネットワークNを通じて、後述するサーバコンピュータ3から、多数のランナーが登録した属性情報としてのユーザ情報及び各ランナーのランニング実績を含む情報である走行情報を取得してベクトル空間に多次元ベクトルとして射影する処理、そのベクトル空間においてシステムSを利用しようとするユーザが登録したユーザ情報とそのユーザが設定する最終目標を示す最終目標情報とをベクトル空間に多次元ベクトルとして射影し、登録されている他のユーザについての多次元ベクトルにおいて近似するものを目標ベクトル群として抽出する処理、目標ベクトル群へ到達するまでの遷移が最も効率的な経路を形成する最適経路を導出する処理、得られた最適経路を適宜の数の区間に分割して中間目標を示す多次元ベクトルを求める処理、及び、求まった多次元ベクトルをユーザのランニング結果を示す目標値に復元してユーザに対して提示する処理を実行するように構成されている。
【0013】
なお、本実施形態ではサーバコンピュータ3から取得した他のランナーのユーザ情報及び走行情報と、システムSのユーザが登録した目標情報、走行情報とから目標提示装置1において所要のデータ処理が実行される構成としているが、かかる所要のデータ処理をサーバコンピュータ3等の外部装置で実行させることとし、目標提示装置1はもっぱらシステムSのユーザによるデータ入出力装置として機能するように構成してもよい。
【0014】
目標提示装置1がスマートフォンとして実現されている場合、ユーザがそのスマートフォンを身体に装着することで、後述する端末装置2としても利用することが可能である。目標提示装置1は様々な形態のデバイスとして実現することができる。そのような本実施形態の目標提示装置1が取りうる形態については、
図2に示す構成例に関して後述する。
【0015】
端末装置2は、一般的にはランニングをしようとするユーザが装着するスマートウォッチ等の携帯端末装置である。端末装置2は、目標提示装置1とBluetooth等の通信手段によって通信可能に接続されている。例えば本実施形態では、端末装置2は、目標提示装置1が作成した中間目標を受信して出力表示させたり、端末装置2に設ける各種センサによって検出されたユーザの運動状態を示す運動情報を目標提示装置1に転送したりする機能を有する。端末装置2は、通信ネットワークNを介してサーバコンピュータ3と通信可能に構成することにより、目標提示装置1として機能することができるように構成することも可能である。その場合、目標提示装置1としての端末装置2は、通信ネットワークNを介してサーバコンピュータ3と通信可能とされ、前記した目標提示装置1としての機能を実現する。なお、端末装置2は、ユーザがランニングをしているときの運動状態、例えば上下動、腰の傾き、回転角度、着地の衝撃等を含む運動情報をデータとして収集して目標提示装置1に送信するモーションセンサとしての機能のみを備えるように構成してもよい。
【0016】
サーバコンピュータ3は、本実施形態の目標達成支援システムSにおいて、システムSのユーザが目標提示装置1から登録するユーザ情報及び実施したランニングに関する走行情報が登録され格納されるデータベースの管理機能を有するコンピュータである。サーバコンピュータ3は、一つのロケーションに設置されたコンピュータであってもよいし、ネットワーク上に分散配置された複数のコンピュータで構成されるクラウドシステムとして構成されてもよい。また、前記のように、目標提示装置1としての主要な機能をサーバコンピュータ3に実装するように構成してもよい。
【0017】
<目標提示装置の構成例>
次に、本実施形態における目標提示装置1の構成について説明する。
図2は、本発明の一実施形態における目標提示装置1のハードウェア構成を例示するブロック図である。
図2に示すように、本実施形態における目標提示装置1は、処理部11と、主記憶部12と、補助記憶部13と、入力部14と、出力部15と、通信部16とを備える。
図2において破線で示しているセンサ部17と、GNSS部18とは、目標提示装置1のハードウェアの要素として必須ではない。
【0018】
図1に関して述べたように、本実施形態における目標提示装置1は、様々な形態で実現することができる。目標提示装置1の主要な機能は、ユーザが入力したユーザ自身の属性情報を含むユーザ情報及び走行情報と、最終目標と、サーバコンピュータ3に格納されている他のユーザのユーザ情報及び走行情報とに基づいて最終目標に至る最適化された成長経路と、それを実現するための中間目標とを算出してユーザに提供することである。したがって、本実施形態の目標提示装置1は、まず、センサ部17、GNSS部18を有しない、スマートフォン、タブレット端末、パーソナルコンピュータ等の情報処理装置として構成することができる。その場合、
図1に例示したサーバコンピュータ3を目標提示装置1として機能するように構成することも可能である。このように構成された目標提示装置1は、外部から取得される多数のユーザのユーザ情報と走行情報とに基づいて、ユーザが設定する最終目標に到達するための最適な経路を算出し、その途中の中間目標を生成してユーザに提供することができる。
【0019】
本実施形態の目標提示装置1は、また、センサ部17、GNSS部18を含む情報処理装置として構成することもできる。この場合、目標提示装置1は、例えば、
図2に示したすべてのハードウェア要素を備えたスマートフォン、リストウォッチ型端末等として実現することができ、最終目標とユーザの現在における走行情報とから設定した最適な成長経路に基づく中間目標を算出してユーザに提示するとともに、ユーザの走行情報を記録して、その走行情報と中間目標とを比較することにより、ユーザが中間目標を達成したかどうかを判定してユーザに通知することができる。特に、目標提示装置1としてのスマートウォッチ等のウェアラブル端末は、ランニングを行うにあたって、装着状態で、ユーザの走行情報を収集することができるためユーザの利便性が向上する。
【0020】
図2に例示した各ハードウェア要素について説明する。処理部11は、目標提示装置1の動作に必要な各種の演算及び制御等の処理を行うプロセッサによって構成される。処理部11はプロセッサと言い換えることもできる。処理部11を構成するプロセッサは、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、SoC(System on a Chip)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)又はFPGA(Field-Programmable Gate Array)等やこれらの組合せである。また、処理部11は、これらのプロセッサにハードウェアアクセラレーター等を組み合わせたものであってもよい。
【0021】
主記憶部12は、ファームウェア、システムソフトウェア及びアプリケーションソフトウェア等のプログラムを記憶するとともに、各種の処理を行う上で一時的に利用されるワークエリアとしても機能する。主記憶部12は、例えば、不揮発性メモリであるROM(Read Only Memory)や、揮発性メモリであるRAM(Random Access Memory)等によって構成される。
【0022】
補助記憶部13は、ユーザの情報、走行情報、サーバコンピュータ3から取得した他のユーザの走行情報、生成した中間目標等を記憶する。補助記憶部13は、半導体メモリ等で構成される。
【0023】
入力部14は、例えばタッチパネルやキー等の各種のボタン、マイク等の入力デバイスで構成され、ユーザの操作を受け付ける。出力部15は、上述のタッチパネルを搭載し画像を表示するディスプレイや音声を拡声するスピーカ等で構成され、画像や音声を出力する。
【0024】
通信部16は、目標提示装置1が端末装置2、サーバコンピュータ3等の外部の情報処理装置との間で行う通信を制御する。通信部16は、例えば、SIM(Subscriber Identity Module)カードやネットワークアダプタ等のネットワーク接続機器や、BLE(Bluetooth(登録商標) Low Energy)やWi-Fi(登録商標)(Wireless Fidelity)やNFC(Near Field Communication)等の通信規格に基づく無線通信機器等によって構成される。
【0025】
通信部16は、インターネット等のネットワークを介して外部の情報処理装置と情報のやり取りを行う方式でもよいし、ペアリングされる情報処理端末を通じて外部の情報処理装置と情報のやり取りを行う方式でもよい。
【0026】
センサ部17は、ユーザの状態や動きを検出する各種のセンサである。センサ部17は、例えば、加速度センサ、角加速度センサ、地磁気センサ、圧力センサ、心拍センサ等によって構成される。加速度センサ、角加速度センサ、地磁気センサ、圧力センサは、センサ部17をユーザの動きを検出するための挙動検出部として機能させたり、後述のGNSS部18とともに位置特定部として機能させたりすることができる。また、心拍センサはセンサ部17を、生体情報としてのユーザの心拍数を取得するための生体情報取得部として機能させることができる。
【0027】
GNSS部18は、現在時刻及び位置情報を取得するための測位情報取得部である。GNSSは、Global Navigation Satellite Systemの略称であり、GNSS部18はGPS(Global Positioning System)等の衛星測位システムを利用する衛星測位装置である。GNSS部18は、アンテナや電子部品によって構成され、複数の測位衛星から送信される測位衛星信号を受信し、現在時刻及び自装置の位置を取得する。
【0028】
端末装置2、サーバコンピュータ3は、実質的に目標提示装置1と同等のハードウェア構成を有する情報処理装置であるから、それぞれの構成を個別に図示することは省略する。
図2に例示する構成に準じて、例えば端末装置2は、処理部21と、主記憶部22と、補助記憶部23と、入力部24と、出力部25と、通信部26と、センサ部27と、GNSS部28とを備えるとして、また、サーバコンピュータ3は、処理部31と、主記憶部32と、補助記憶部33と、入力部34と、出力部35と、通信部36とを備えるとして把握することができる。以下、端末装置2、サーバコンピュータ3のハードウェアについて言及する場合、上記の符号を用いることがある。
【0029】
次に、目標提示装置1の処理部11が実現する機能について説明する。
図3は、本発明の一実施形態における目標提示装置1の処理部11によって実現される機能を例示するブロック図である。本実施形態の処理部11は、通信制御部111と、出力制御部112と、入力制御部113と、情報取得部114と、情報エンコード部115と、情報デコード部116と、目標ベクトル抽出部117と、最適経路生成部118と、中間目標設定部119と、目標達成判定部120とを有する。
【0030】
通信制御部111は、目標提示装置1が通信部16を介して外部の機器と通信するための処理を実行する。例えば、通信制御部111は、端末装置2あるいはサーバコンピュータ3と通信を行って各種の情報を送受信する。
【0031】
出力制御部112は、出力部15の画面に画像を表示したり、スピーカを通じて音声出力したりするための処理を実行する。例えば、出力制御部112は、目標提示装置1が作成した最終目標に至る過程の中間目標を出力部15の画面に表示する処理を実行する。
【0032】
入力制御部113は、ユーザによる入力部14の操作を受け付ける処理を実行する。例えば、入力制御部113は、出力部15の画面に表示された操作画面に基づいてユーザが入力部14を介して実行した入力操作を受け付ける処理を実行する。
【0033】
情報取得部114は、入力制御部113を通じて入力されたユーザ情報、ユーザの走行情報、あるいはサーバコンピュータ3にある、後述するユーザ情報データベース、走行情報データベースに格納されているユーザ情報、走行情報を読み出して取得する機能を有する。情報取得部114は、取得したユーザ情報、走行情報について、情報エンコード部115に入力する前の前処理を実行する機能も備えている。
【0034】
情報エンコード部115は、情報取得部114から入力されるユーザ情報、走行情報から所定の特徴量を抽出し、その特徴量を入力することにより対応して得られる多次元ベクトル量である特徴ベクトル(第1の特徴ベクトル)を算出する機能を有する。算出された多数の特徴ベクトル群が形成する多次元ベクトル空間を、ここでは潜在走行状態空間と呼び、以下便宜のために「状態空間」と略称することとする。情報エンコード部115は、例えば深層学習を可能とするニューラルネットワークによって構成することができる。その構成については、ユーザ情報及び走行情報から特徴ベクトルへの変換処理に関して後述する。情報エンコード部115が実行する特徴ベクトルへの変換処理は、ユーザ情報データベース、走行情報データベースから取得される多数の特徴量の組を教師データとする深層学習処理によって生成される関数である潜在走行状態生成関数を用いて実行される。簡単のため、潜在走行状態生成関数を、以下「エンコード関数」と略称する。
【0035】
情報デコード部116は、種々のユーザに関して格納されている多数の特徴ベクトルを含む状態空間から、所定のアルゴリズムによって抽出された目標としての特徴ベクトルをデコードし、特徴量として含まれる目標タイム、ペース、フォーム等の目標値を算出する機能を有する。情報デコード部116は、情報エンコード部115によって算出された特徴ベクトルから情報エンコード部115が実行する演算の逆演算を通じて特徴ベクトルに対応する特徴量を算出する。この逆演算処理を実行するための関数を、潜在走行状態復元予測関数と呼び、簡単のために「デコード関数」と略称することとする。デコード関数は、エンコード関数によって特徴量の組から算出された多数の特徴ベクトルを入力して演算処理し、元の特徴量の組に復元されるように学習処理を実行することにより生成される。
【0036】
目標ベクトル抽出部117は、状態空間を構成している多数のユーザに関する多数の特徴ベクトルから、所望の特徴ベクトルを選択して抽出する処理を実行する機能を有する。状態空間に存在する各特徴ベクトルは、各ユーザがランニングを行ったときに記録された特徴量に基づいて算出された特徴ベクトルである。言い換えると、各特徴ベクトルは、あるユーザがランニングを行ったときの特徴をベクトル値として表現している。したがって、目標ベクトル抽出部117は、状態空間において、あるユーザがランニングを行ったときの記録に近似する他のユーザの記録を、その対応する特徴ベクトル同士を比較することによって抽出することができる。目標ベクトル抽出部117は、これにより、ランニングの最終目標を設定しようとするユーザが、その最終目標をすでに達成している他のユーザ(他のランナー)の記録に対応する特徴ベクトル(第2の特徴ベクトル)を、状態空間において目標ベクトル群として抽出する。
【0037】
最適経路生成部118は、ユーザが設定した最終目標に対応する特徴ベクトルに近似する特徴ベクトルとして抽出された目標ベクトル群について、最終目標を設定したユーザの現在におけるランニング記録を示す特徴ベクトルから出発して、最も効率的に到達することができる状態空間内の経路を最適経路として生成する。最適経路生成のためのアルゴリズムについては後述する。
【0038】
中間目標設定部119は、最適経路生成部118によって生成されたあるユーザの最終目標までの最適経路を所定のアルゴリズムによって分割し、最終目標に到達する過程における複数の中間目標を算出する機能を有する。
【0039】
目標達成判定部120は、中間目標設定部119によって設定された各中間目標と、ユーザがランニングを行うごとに記録される走行情報とを比較して、該当する中間目標をユーザが達成したか否かを判定する機能を有する。判定結果は出力制御部112を通じて目標提示装置1から出力される。
【0040】
処理部11の情報エンコード部115が、後述するサーバコンピュータ3のユーザ情報データベース、走行情報データベースから取得したユーザ情報及び走行情報から算出した特徴ベクトルは、例えば補助記憶部13に設けられている特徴ベクトルデータベース131に格納される。特徴ベクトルデータベース131に格納される多数の特徴ベクトルは、それぞれが各ユーザのランニングに関する特徴量から算出されたn次元の特徴ベクトルである潜在走行状態ベクトルであり、それらの特徴ベクトルの集合が潜在走行状態空間を形成する。以下、簡単のため、潜在走行状態ベクトルを、単に「特徴ベクトル」と称する。
図5に、特徴ベクトルデータベース131の構成例を示している。
図5に例示する特徴ベクトルデータベース131では、各特徴ベクトルを識別するためのデータID、対応するユーザID及び走行日時に関連付けて、ユーザ情報及び走行情報から算出された特徴ベクトルが記録されている。特徴ベクトルデータベース131に記録されている各ユーザのユーザ情報、走行情報に対応する特徴ベクトルに基づいて、ユーザの最終目標に近似する目標ベクトル群の抽出、ユーザの目標設定時点での走行能力を示す特徴ベクトルから目標ベクトル群へ向けての経路設定等の必要な演算処理が実行される。なお、特徴ベクトルとユーザ情報及び走行情報が関連付けられているのは、例えばユーザの属性、特徴ベクトルに係る走行情報の日時等のデータ項目に基づいて演算対象とする特徴ベクトルを選別することがあるためである。
【0041】
以上の目標提示装置1において実行されるデータ処理については、処理フロー例、模式図等を用いて後述する。
【0042】
<サーバコンピュータの構成>
次に、サーバコンピュータ3の構成について説明する。本実施形態において、サーバコンピュータ3は、ユーザ情報を格納するユーザ情報データベース、各ユーザの走行情報を格納する走行情報データベースを有し、それらデータベースの管理機能を備えている。なお、サーバコンピュータ3にはそれ以外の機能を実装してもよいし、ネットワークで接続された複数のコンピュータを有するクラウドシステムとして構成してもよい。
【0043】
サーバコンピュータ3のハードウェア構成は、例えば
図2においてセンサ部17、GNSS部18を有しない一般的なコンピュータとして例示することができる。処理部31を含む本実施形態のサーバコンピュータ3の機能ブロックを、
図5に例示している。すなわち、サーバコンピュータ3の処理部31は、データベース管理部311、及び通信制御部312を備える。また、ユーザ情報データベース331、走行情報データベース332が、例えば補助記憶部33に設けられる。
【0044】
ユーザ情報データベース331は、本実施形態の目標達成支援システムSのユーザが、そのユーザについて登録した属性情報を格納している。
図6に、ユーザ情報データベース331の構成例を、テーブル形式で模式的に示している。
図6に例示するユーザ情報データベース331は、ユーザを相互に識別するための識別符号であるユーザID、性別、年齢、身長、体重、走行距離、及び走行頻度の各項目を、ユーザの属性情報として格納している。走行距離、走行頻度は、このユーザがユーザ情報登録時において走行することができる走行距離とランニングを行う頻度とを示す項目である。ユーザ情報として格納される各項目のデータは、例えば身長であればcm単位、体重であればkg単位、走行距離はkm単位等で記録することができる。ただし、後述するような特徴ベクトルを算出するための特徴量として用いる際に便宜であるように、適宜の手法を用いて正規化を行ってからデータベースに格納するようにすることもできる。この場合の前処理としての正規化は、例えばユーザ情報の登録時に情報取得部114によって実行することができる。また、ユーザ情報データベース331に登録されるユーザの属性情報は、
図6に示す内容には限定されない。
【0045】
走行情報データベース332は、ユーザが行ったランニングの記録を走行情報として格納している。
図7に、走行情報データベース332の構成例を、テーブル形式で模式的に示している。
図7に例示する走行情報データベース332は、前記のユーザIDに関連付けて、ランニングを実施した日時、例えばランニング開始日時、走行距離、走行のペース、ピッチ、ユーザの体の上下動の各項目を格納している。走行距離は、該当ユーザがランニングを行った距離をkm単位で、走行のペースはランニング時の平均速度をm/分単位で、ピッチはランニング時の単位時間当たり歩数を、上下動はユーザの身体の上下の揺れをcm単位でそれぞれ示している。走行距離、ペース、ピッチ、体の上下動は、それぞれユーザのランニング能力を示すランニング指標であり、例えば目標提示装置1のセンサ部17によって出力された加速度データ、角速度データ等から算出(導出)される指標である。また、走行情報データベース332に格納される走行情報は、
図7に示す内容には限定されない。例えば、ランニング指標として、ストライド[cm]、ストライド身長比、上下動身長比[%]、腰の沈み込み[%]、骨盤の左右傾き[°]、骨盤の回転[°]、体幹の後傾[°]、接地時間[ms]、着地衝撃[m/s
2]等が含まれていても良い。走行情報として格納される各項目のデータは、ユーザ情報データベース331の場合と同様に、後述するような特徴ベクトルを算出するための特徴量として用いる際に便宜であるように、適宜の手法を用いて正規化を行ってからデータベースに格納するようにすることもできる。この場合の前処理としての正規化は、例えば走行情報の登録時に情報取得部114によって実行することができる。
【0046】
なお、ユーザ情報データベース331、走行情報データベース332に格納されるデータ項目は一例であり、データ項目の削除、追加、変更は、適宜行って差し支えない。また、データ項目の中からいずれの項目を特徴量として採用するかも、適宜決定して差し支えない。
【0047】
<目標提示装置によるデータ処理>
次に、本実施形態による目標提示装置1が実行するデータ処理について説明する。
【0048】
<<特徴ベクトルによる演算のためのエンコード関数、デコード関数の用意>>
本実施形態では、特徴ベクトルによる演算のためにエンコード関数、デコード関数を、機械学習プロセスを通じて用意する。
図8に、情報エンコード部115、情報デコード部116の学習処理を模式的に示している。
【0049】
まず、目標提示装置1において中間目標を設定するための演算に使用する特徴ベクトルを得るために、サーバコンピュータ3に蓄積されているユーザ情報、走行情報に関して選択した特徴量に基づいて特徴ベクトルを算出するエンコード関数を、機械学習により生成する。本実施形態では、エンコード関数としてTransformerのエンコーダを用い、特徴ベクトルとしての多次元ベクトルの次元数を縮約するために、全体平均プーリング(Global Average Pooling)を用いている。Transformerのエンコーダは、周知のように、文字認識等の画像処理、機械翻訳等のための自然言語処理において、対象となる画像データ、文字列等を中間情報としての多次元特徴ベクトルに変換する機能を有する。本実施形態では、エンコード関数が実装されている情報エンコード部115への入力は、ある日時にあるユーザが実施したランニングについて得られた走行情報及び該当ユーザのユーザ情報から選択される特徴量である。走行情報としては、該当日時までに該当ユーザが実施したランニングについて記録されているすべての走行情報を入力する。具体的には、ユーザAに関する2022年9月10日の走行情報を入力する場合、ユーザAに関する過去の走行情報、例えば2022年8月20日の走行情報が走行情報データベースに記録されていれば、エンコーダ関数には、ユーザAの「ユーザ情報、2022年8月20日の走行情報、及び2022年9月10日の走行情報」が入力される。すなわち、ある日時に記録される走行情報は、同一ユーザの過去の走行情報とともに記録される。
【0050】
エンコード関数を学習させるために、すでに得られている特徴ベクトルを走行情報に逆変換するための別の関数として、前記したデコード関数(潜在走行状態復元予測関数)を用意する。本実施形態では、デコード関数として、多層パーセプトロン(Multilayer perceptron)を用い、情報デコード部116に実装する。多層パーセプトロンは、周知のように入力層、隠れ層、出力層からなる全結合型フィードフォワードニューラルネットワークとして構成することができる。利用する多層パーセプトロンにおける隠れ層の層数、ノード数、及び各ノードに対する重み付けは、デコード関数の学習処理プロセスを通じて設定することができる。このデコード関数の入力層には、エンコード関数によって算出されたn次元の特徴ベクトルz(z1,z2,…,zn)が入力される。特徴ベクトルを入力して得られる走行情報としての予測走行情報は、例えば、次回の走行距離、ペース、走行フォーム指標(体の上下動等のランニング指標)、前後2週間以内の一回の走行における最大走行距離とそのペース、走行フォーム指標とする。デコード関数の学習は、算出した予測走行情報を、該当ユーザの走行情報として既に走行情報データベースに記憶されている実績値と比較して、両者間の誤差が小さくなるように前記のパラメータを調整することにより実行される。すなわち、過去10回分の走行情報が存在する場合に、5回分の走行情報に基づいて特徴ベクトルを算出し、その特徴ベクトルをデコード関数に入力して得られる復元予測値を、6回目以降の実績としてすでに記録されている走行情報と比較する処理を実行する。なお、デコード関数は、後述する中間目標の提示においても利用される。
【0051】
<目標提示装置による中間目標の生成と提示>
以上のようにエンコード関数とデコード関数との用意が整うと、目標提示装置1による中間目標の生成と生成した中間目標の提示を行うことができる。
図9に、本実施形態による目標提示装置1を用いた、ランニングにおける最終目標に至る過程の中間目標設定および提示のためのデータ処理をフローチャートとして例示している。
図9に例示するデータ処理フローは、目標提示装置1の処理部11により実行される。
【0052】
図9に例示するデータ処理フローは、例えば、ユーザが目標提示装置1の電源を投入し、目標提示処理開始を指示入力することにより開始される。
【0053】
処理が開始されると、ステップS100において、目標提示装置1は、出力部15にデータ入力画面を表示し、ユーザが所定の入力操作を行う。
図10に、データ入力画面例を示している。データ入力画面からは、ユーザの属性情報、入力時点でのユーザの走行能力、及びユーザが達成を希望する最終目標を入力する。
図10の例では、ユーザの属性情報は性別、年齢、身長、体重、走行距離、走行回数を含む。ユーザの走行能力としては「5分/km」等の平均走行速度を含む。
図10の例では、ユーザの走行能力として、一般的なランナーレベルの例示リスト(複数の平均ペースから任意のペースを選択可能なコンボボックスやファンランナー、チャレンジランナー等のオプションボタン)から選択することもできるようにしている。ユーザの最終目標としては、「平均4分/km以内」、「フルマラソン5時間以内」等の目標値が選択できるようにしている。最終目標は、入力フィールドに直接目標数値を入力することができるようにしてもよい。ここで設定された最終目標は特徴ベクトル空間としての潜在走行状態空間に射影され、この状態空間に存在する他のユーザのうち、既に当該最終目標を達成している類似走行情報を抽出するために利用される。
【0054】
次に、走行能力として入力すべき走行実績を有しないユーザの場合は(ステップS110がNOの場合)、ユーザの現在の走行能力を記録するために、所定のランニングを行ってその記録を走行情報として入力する。所定のランニングは任意に設定してよく、例えば5km等の所定距離を全力で走ってその記録を走行情報とする(ステップS120)。ステップS120において、この場合のランニング記録は、センサ部17を備えた端末装置2を入力デバイスとして実施することができる。すでにユーザ情報データベース331、走行情報データベース332に入力済みの走行情報がある場合(ステップS110がYESの場合)、処理はステップS130へ移る。
【0055】
ステップS130において、目標提示装置1は、入力されたユーザ情報と、入力時点でのユーザの走行能力を示す走行情報、及び設定した最終目標を、エンコード関数に入力して、対応する特徴ベクトルを算出する。入力時点でのユーザの走行能力を示す走行情報を含む特徴ベクトルは、状態空間において、最終目標に向かって成長していく際の始点を示す特徴ベクトルとなる。また、ユーザ情報と、最終目標を示す走行情報とを入力としてエンコード関数により算出された特徴ベクトルは、状態空間においてユーザが到達しようとする最終目標地点となる。
【0056】
<<目標ベクトル群の抽出>>
次に、ステップS140において、目標提示装置1は、ユーザによって入力された最終目標に対応する状態空間内の特徴ベクトルである最終目標ベクトルと、同じ状態空間内に存在する他のユーザの走行情報を示す多数の特徴ベクトルとを比較することにより、ユーザが入力した最終目標を達成している走行情報に対応する特徴ベクトルを抽出する処理を実行する。
図11に、目標ベクトル抽出処理の概要を示す模式図を示している。
【0057】
図11(A)を参照すると、まず、目標提示装置1における処理部11の目標ベクトル抽出部117は、ユーザが入力した最終目標と、走行情報データベース332に格納されている他のユーザの走行情報とに基づいて、最終目標ベクトルと、特徴ベクトルデータベース131(すなわち潜在走行状態空間)内に存在する他のユーザの走行情報を示す特徴ベクトルとを比較し、最終目標を達成している、すなわち走行情報の記録が最終目標を上回っていると判定された特徴ベクトルを、目標ベクトルの候補として抽出する。
【0058】
図11(B)に示すように、目標ベクトル抽出部117は、抽出された目標ベクトルの候補の数をあらかじめ設定された所定の閾値と比較し、候補数がその閾値未満であると判定した場合、抽出対象となる特徴ベクトルの範囲を、ユーザの走行情報に関連付けられている日時が入力時点の前後所定時間t以内である特徴ベクトルに広げて目標ベクトルの候補を抽出する。この操作は、ユーザの最終目標により近似する目標ベクトル群をより多くの候補の中から抽出することにより最終目標達成をより確実にする目的を有する。なお、時間tは例えば2週間等の適宜の時間(期間)を定めておけばよい。
【0059】
次いで、
図11(C)に示すように、目標ベクトル抽出部117は、前記の目標ベクトル候補の中から、最終目標に近似している特徴ベクトルを所定の条件に基づいて抽出して、目標ベクトル群とする。所定の条件とは、例えば、最終目標を表す特徴ベクトルに対して、所定のユークリッド距離以内に所定の個数の目標ベクトルが存在すること等と規定することができる。
【0060】
このように、目標ベクトル抽出部117は、ユーザが設定した最終目標を達成しており、かつその最終目標に近似するユーザの走行情報に対応する特徴ベクトルを、目標ベクトル群として設定することができる。
【0061】
<<最適経路の生成>>
次に、
図9のステップS150において、目標ベクトル抽出部117が抽出した目標ベクトル群を構成する特徴ベクトルについて、最適経路生成処理が、最適経路生成部118によって実行される。最適経路生成処理は、最終目標設定時におけるユーザの走行情報を示す特徴ベクトルから、最適な経路が設定できる特徴ベクトルを選択してその最適経路をユーザにとって理想的な最終目標へ向けての成長の軌跡を与えるものとして生成する。
図12に、最適経路の生成プロセスを例示する模式図を示している。
図13に最適経路生成部118によって実行されるデータ処理フロー例を図示するフローチャートを示している。
【0062】
図12(A)に示すように、最適経路生成部118は、まず、状態空間内において規定される最適経路の起点として、目標設定を行おうとしているユーザの現時点における走行能力を代表する走行情報に対応する特徴ベクトルとして、初期ユーザ特徴ベクトルを生成する。最適経路生成部118は、目標ベクトル抽出部117が状態空間内で抽出した目標ベクトル群を、最適経路の到達点である最終目標の候補として取得している。
図12(A)の例では、簡単のため、ユーザBについての特徴ベクトルB4、ユーザCについての特徴ベクトルC4が目標ベクトル群を構成しているものと仮定する。特徴ベクトルA1~A3、B1~B3、C1~C3は、状態空間におけるユーザA,B,Cについて遷移していく特徴ベクトルを示している。なお、最適経路を構成する複数の特徴ベクトルは、基本的には状態空間に存在するすべての特徴ベクトルである。これは、最適経路を探索する観点から、できるだけ多くの様々な属性を有するユーザに関する特徴ベクトルに基づいて経路を設定することが好ましいと考えられることによる。ただし、ユーザ情報等に基づいてあらかじめ対象となる特徴ベクトルを絞り込んでおくこともできる。例えば、目標設定しようとしているユーザと走行能力が近しいと考えられるユーザに関する特徴ベクトルを対象とする、等の処理が考えられる。この場合、例えば、「対象ユーザの現在の月間走行距離と近い月間走行距離履歴を持つユーザ」、「対象ユーザの現在のベストの記録と近い記録履歴を持つユーザ」に関する特徴ベクトルを候補とする等の制約を設けることができる。
【0063】
最適経路生成部118は、始点であるユーザXの初期ユーザ特徴ベクトルXと、終点、すなわち最終目標を示す目標ベクトル群に属するいずれかの特徴ベクトルとを結ぶ最適経路を生成するにあたって、次の規則を適用する。
・規則1 状態空間に記録されている様々な異なるランナーの目標へ向けて成長する軌跡をトレースするように生成する。
・規則2 初期ユーザ特徴ベクトルから目標ベクトルまでの経路の距離、すなわち、経路上に存在する特徴ベクトル間の距離の総和がより短い経路を選択する。
【0064】
上記の規則に従って最適経路を生成するために、本実施形態の最適経路生成部118は、具体的に以下のような、遷移コスト、信頼度のパラメータを設定して最適経路生成のデータ処理を実行する。
【0065】
<<<遷移コストの定義と算出>>>
遷移コストとは、状態空間において、ある特徴ベクトルから他の特徴ベクトルへ飛び移る、すなわち遷移する際に、両者の状態空間における距離が短いほど、また時間的な特徴ベクトルの遷移方向が近いほど、指標としての遷移コストが低くなるように規定されている。最終目標に到達しようとするユーザにとっては、遷移コストの総和が低い経路ほど、既に目標を達成している他のユーザの類似の走行実績をトレースしながら、より容易に最終目標に到達することができることを意味している。本実施形態における遷移コストcostを、具体的に(1)式に示している。
【0066】
cost(s, e[i]) = α × dist (e[i], gs(e[i])) + β × 1 / trust (s, e[i]) … (1)
【0067】
(1)式において、sは初期ユーザ特徴ベクトル、e[i]はi番目の遷移先候補である特徴ベクトル、gs(e[i])はe[i]に最も近い目標位置、dist (e[i], gs(e[i]))は、e[i]とe[i]に最も近い目標位置との間の距離、trust(s, e[i])は、sからe[i]への遷移の信頼度、α、βは係数である。初期ユーザ特徴ベクトルから近隣の特徴ベクトルに遷移しながら最適経路を探索していくに際し、遷移先候補となる特徴ベクトルの候補は、状態空間内で初期ユーザ特徴ベクトルsに近い上位LS個、例えば10個とする。なお、LSの値は10に限られず適宜定めてよい。係数α、βは、生成される最適経路の比較検討結果に応じて調整することができる。
【0068】
遷移コストcost(s, e[i])において利用される遷移の信頼度trust(s, e[i])は、以下の(2)式によって計算される。
trust(s, e[i]) = Σj={1,..., CS} * near(e[i] - s, e’[j] - s’[j]) (dist (s, s’[j]) + γ) … (2)
【0069】
(2)式において、s’[j]はj番目のsに近い特徴ベクトル(LS個まではeと同様)、e’[j]は状態空間内でのs’[j]の次の特徴ベクトル、near(A, B)は、2つの特徴ベクトルA,Bを考えたとき、特徴ベクトルA,Bの類似度を計算するための関数である。関数near(A, B)は、例えば特徴ベクトルA,Bの内積を用いることができるが、ベクトル間の類似度を算出することができる他の関数を用いてもよい。
【0070】
(2)式より、初期ユーザ特徴ベクトルsに近い特徴ベクトルs’[j]ほど信頼度への影響力が高く、「初期ユーザ特徴ベクトルsから次の特徴ベクトルe[i]への遷移を表すベクトル」と、「j番目の特徴ベクトルs’[j]から次の特徴ベクトルe’[j]への遷移を表すベクトル」とが類似しているほど信頼度は高くなる。つまり、状態空間内において、次の遷移先となる特徴ベクトルの候補数が多いほど信頼度は高くなる。なお、γは距離の調整のための定数であり、生成される最適経路の比較検討結果に応じて調整することができる。本実施形態では、初期ユーザ特徴ベクトルsに近い上位CS個、一例としては30個を取得するようにしている。
【0071】
最適経路生成部118は、上記の信頼度を考慮した遷移コストを累積的に計算していくことで、初期ユーザ特徴ベクトルから最終目標としての目標ベクトルに到達するための最適経路探索を実行する。最適経路探索としては、深さ優先探索、幅優先探索等の種々の探索法を利用することができる。本実施形態では、探索ステップ数を削減することで探索所要時間を短縮する可能性の高い「ビームサーチ(Beam Search)」を用いて経路探索を実行する。「ビームサーチ」による経路探索プロセスでは、遷移コストが最小となる遷移先の特徴ベクトルを一個ずつ総当たりで探索する代わりに、n回目の遷移先の候補をL個残して、遷移の経路を決定していく。このビームサーチの場合、n番目の先の遷移コストは(3)式により算出される。
【0072】
cost(s[n], e[i]) = α × dist(e[i], gs(e[i])) + Σn’={1,.., n} β × 1 / trust(s[n’], e[i][n’]) … (3)
【0073】
(3)式において、s[n]はn番目の遷移元である特徴ベクトル、n’はn番目までの信頼度の項の総和である。式(3)によって算出される遷移コストに基づいて、n番目の遷移までの総遷移コストが低く、かつ最終目標を示す特徴ベクトルである目標ベクトルに近い経路が最適経路として選択される。なお、上記した遷移コストの算出に用いている信頼度については、例えば対象ユーザと年齢が近いユーザに関する特徴ベクトルに対しては信頼度trustの値が大きくなるようにする等の変更が考えられる。
【0074】
以上の最適経路生成部118によるデータ処理フロー例を、
図13のフローチャートに示している。最適経路生成部118は、まずステップS161,162において、初期ユーザ特徴ベクトルと目標ベクトル群とを取得する。次いで、ステップS163において、最適経路生成部118は、所定の距離以内に存在する遷移先候補となる特徴ベクトルを所定の個数だけ抽出する。
【0075】
ステップS164において、最適経路生成部118は、抽出した遷移先候補である特徴ベクトルについて遷移コストを算出し、遷移コストが低い順に所定個数の特徴ベクトルを抽出する。ステップS165において、最適経路生成部118は、抽出した特徴ベクトルの中に所定の距離以内のものがあるか判定し、あると判定した場合(ステップS165がYESの場合)、最も目標ベクトルに近い特徴ベクトルを選択し、ステップS166において経路の終点となる特徴ベクトルとして決定する。ステップS167において、初期ユーザ特徴ベクトルから最終目標を示す目標ベクトルまでのベクトル遷移に従って決定された最適経路が出力される。一方、目標ベクトルから所定の距離以内に特徴ベクトルがないと判定した場合(ステップS165がNOの場合)、最適経路生成部118は、ステップS163に戻って次の遷移先候補を抽出し、以降のステップを実行する。
【0076】
以上の最適経路生成処理によれば、ユーザが最終目標に、より効率的に到達することを可能とする経路を提供することができる。
【0077】
<<中間目標の生成>>
図9の中間目標生成・提示処理に戻る。ステップS160において、中間目標設定部119が、ステップ150において生成された最適経路を、複数の区間に分割する。これにより、初期ユーザ特徴ベクトルから目標ベクトルまでの分割区間に応じた中間目標を得ることができる。ステップ160において得られた各分割区間の始終点となる特徴ベクトルが中間目標である。最適経路の分割は、最適経路を構成する遷移ベクトルの数に応じて当分割となるように分割する、分割した各区間の特徴ベクトル間のユークリッド距離の総和として求められる総距離が等しくなるように分割する、等、種々の方針に基づいて実行することができる。この際、例えば、最適経路を構成する特徴ベクトル間のユークリッド距離の総和として求められた最適経路の長さが比較的長い場合には、前記の分割数を増やすことにより、中間目標間の距離を短縮して、より目標を達成しやすくすることが可能である。例えば、年齢の高いユーザ(年齢がある閾値以上の年齢であるユーザ)に対してはこのように分割数を増やすことにより、体力的に無理なく目標を達成するようにモチベーションを与えることができる。ステップS170において、中間目標設定部119は、中間目標を示す特徴ベクトル(第3の特徴ベクトル)を情報デコード部116に入力して、距離やペース、フォーム指標と言った走行情報に変換される。変換後の中間目標は出力制御部112から出力部15に出力されて処理を終了する。
【0078】
また、最適経路の分割は、上記の記載に限定されない。例えば、最適経路における分割された複数の区間において、それぞれの区間の特徴ベクトルのユークリッド距離は後半に進むほど長くなるように設定されてもよい。また、最適経路のうち、始点から所定数における区間の特徴ベクトルのユークリッド距離を第1の距離に設定し、これに続く所定数における区間の特徴ベクトルのユークリッド距離を第1の距離より長い第2の距離に設定するようにしてもよい。これにより、生成された最適経路において、経路の前半部分は比較的に中間目標を達成しやすいようになっているため、ユーザはモチベーションを維持して運動を行うことができる。
【0079】
また、最適経路の分割は、ユーザのランニングレベルに応じて中間目標を設定するようにしてもよい。具体的には、ユーザのランニングレベルが初級である場合の最適経路の分割数を、ランニングレベルが上級である場合の最適経路の分割数より多くするようにしてもよい。つまり、ランニングレベルが初級である場合の特徴ベクトルのユークリッド距離は、ランニングレベルが上級である場合の特徴ベクトルのユークリッド距離より短くなる。これにより、ランニングを始めたばかりの初心者は、中間目標をより達成しやすいようになっているため、モチベーションを維持して運動を行うことができる。また、目標提示装置1は、ユーザの所定距離の走行時間、ピッチ、ランニング指標等と各種指標値を比較することより、ユーザのランニングレベルを判別するようにしてもよい。
【0080】
また、最適経路における各区間の特徴ベクトルのユークリッド距離を、中間目標として設定される項目の難易度に応じて変更するようにしてもよい。具体的には、比較的に目標を達成しやすい指標である走行タイムの短縮やピッチの増加等を中間目標とする場合、生成する特徴ベクトルのユークリッド距離を比較的長い第1の距離に設定する。また、比較的に目標の達成が難しい指標である骨盤の回転角度の改善や身体の左右方向衝撃の改善等を中間目標とする場合、生成する特徴ベクトルのユークリッド距離を第1の距離より短い第2の距離に設定する。これにより、目標の達成が比較的難しい指標を中間目標に設定する場合であっても、比較的容易に目標を達成できるようになるため、ユーザはモチベーションを維持して運動を行うことができる。また、目標提示装置1は、中間目標とする項目(走行タイム、ピッチ、上下動等)のそれぞれについて予め難易度を設定して、例えば主記憶部12に記憶させ、必要に応じて難易度を読み出すようにしてもよい。
【0081】
以上の中間目標生成・提示処理によれば、ユーザが設定した最終目標に到達するための最適な経路が生成され、その経路上において順次達成すべき中間目標が提示されるので、ユーザはその中間目標達成というモチベーションを維持しながら効率的に自己の最終目標に到達するのを支援することができる。
【0082】
<<目標達成判定処理>>
次に、得られた中間目標の利用態様について例示する。
図14に、目標提示装置1による目標達成判定処理をフローチャートにより例示している。目標達成判定処理は、中間目標が設定された後、ユーザがその中間目標を達成していくのを支援するためのデータ処理である。
【0083】
まず目標達成判定部120は、ステップS200において、ユーザが実施したランニングにおける走行情報を、例えばセンサ部17によって出力されたデータに基づいて取得する。また、走行情報は、通信部16を介して端末装置2からデータとして取得するようにしてもよい。ステップS210において、目標達成判定部120は、取得した走行情報が次の中間目標を達成しているかを判定し、達成していると判定した場合には、ステップS220において、達成メッセージを出力部15に出力し、次に達成すべき中間目標を出力部15に出力する。取得した走行情報が次の中間目標を達成していないと判定した場合には(ステップS210がNO)、ステップS240において、目標達成判定部120は、不達成メッセージを出力部15に出力する。
【0084】
図15に、目標提示装置1における中間目標出力表示画面例を示している。
図15の例では、ユーザに対する中間目標達成を祝福するメッセージ、及び、次に達成すべき中間目標と、それに対する激励メッセージが表示されている。最終目標を達成した場合にも、
図15に準じた出力表示を行うことができる。一方、中間目標が達成できなかった場合には、その旨のメッセージとともに、設定中の中間目標を表示させればよい。なお、ユーザがランニングを行い、所定回数において中間目標が達成できないことが検出された場合には、中間目標の設定をやり直すように構成してもよい。この場合、例えば、中間目標の設定数を増やす、又は、ランニングでの走行情報(タイム、ピッチ等のランニング指標)から次に達成すべき中間目標となる地点(始点又は終点)を変更するようにしてもよい。例えば、走行情報に基づいて、次に達成すべき中間目標となる地点の指標を、ユーザが達成しやすい地点となるように変更する。具体的には、中間目標としてピッチが120歩/分という値が設定されていた場合、走行情報に基づいて110歩/分という目標値を緩和した値に変更する。ピッチ以外のランニング指標についても同様に、走行情報に基づいて値を変更する。これにより、設定された中間目標をユーザがなかなか達成できないような状況が発生したとしても、目標提示装置1が中間目標を適宜変更することができるため、ユーザはより容易に中間目標を達成することが可能になる。なお、中間目標の再設定を行う際には、上記のように中間目標として設定される項目(指標)の難易度と走行情報に基づいて、中間目標とする地点の値を変更してもよい。具体的には、難易度が比較的高い指標の修正値(修正前後の値の差分)は、難易度が比較的低い指標の修正値より大きくなるように設定してもよい。
【0085】
以上の目標達成判定処理によれば、ユーザがなかなか中間目標を達成することができない場合に、より達成しやすいと考えられる中間目標を提示することができるので、ユーザのモチベーション維持に資することができる。
【0086】
以上説明したように、本実施形態による目標提示装置1は、ランニングを実施する対象者における達成目標を示す情報である達成目標情報を取得し、前記対象者のランニングの実績である走行情報に基づいて導出される第1の特徴ベクトルから、前記達成目標情報に対応する他のランニング実施者のランニングの実績である走行情報に基づいて導出される第2の特徴ベクトルへ向かう経路を生成し、生成された前記経路上にある少なくとも一の位置を、前記経路を構成する特徴ベクトルが示す特徴量に応じて、前記対象者のランニングにおける中間目標である第3の特徴ベクトルとして特定する処理部11を備えている。
【0087】
このようにすれば、ランニングにおいて、最終目標に到達するためにクリアすべき中間目標を対象者に提示し、対象者に最終目標達成に対するモチベーションを与えることができる。
【0088】
処理部11が、特定された前記第3の特徴ベクトルに基づいて前記運動情報における特徴量を出力するとしてもよい。
【0089】
このようにすれば、対象者が、設定されている中間目標としての運動情報を容易に知ることができる。
【0090】
処理部11が、前記経路上にある少なくとも一の位置を、前記第3の特徴ベクトルの数または前記第3の特徴ベクトルが示す距離に基づいて特定するとしてもよい。
【0091】
このようにすれば、達成目標を示す特徴ベクトルとしての目標ベクトルに到達するための中間目標を、適宜の数に分割して対象者に提示することができる。
【0092】
処理部11が、前記経路上にある少なくとも一の位置を、前記対象者のランニング能力を示すランニングレベルに基づいて特定するとしてもよい。
【0093】
このようにすれば、対象者のランニングレベルに応じた達成しやすい中間目標を設定することができる。
【0094】
処理部11が、前記経路上にある少なくとも一の位置を、前記中間目標として設定するランニングにおける指標の難易度に基づいて特定するとしてもよい。
【0095】
このようにすれば、異なるランニング指標に対して適切な達成難易度となるように中間目標を設定することができる。
【0096】
処理部11が、所定の条件の下で前記中間目標が達成されていないと判定した場合、前記経路を構成する前記第3の特徴ベクトルが示す特徴量に関して前記対象者の前記中間目標達成が容易となるように、前記中間目標を再設定するとしてもよい。
【0097】
このようにすれば、同一の中間目標を達成できないことが所定回数続くなど、対象者のモチベーションが低下しがちな条件下において、モチベーションを維持できるような達成しやすい中間目標を設定することができる。
【0098】
処理部11が、前記第2の特徴ベクトルに近似する特徴ベクトル群を、前記第2の特徴ベクトルから所定の距離以内に所定数以上の特徴ベクトルが存在することを基準として、前記対象者の達成目標を達成している他の実施者の特徴ベクトルから抽出するとしてもよい。
【0099】
このようにすれば、様々な他の運動実施者が達成した走行実績に対する多数の特徴ベクトルの中から対象者が目標として設定すべき特徴ベクトル群を抽出することができる。
【0100】
処理部11が、生成された前記経路を、前記第1の特徴ベクトルを始点として、前記第2の特徴ベクトル群に属するいずれかの前記第2の特徴ベクトルに向けて遷移していく場合に、遷移の起点から所定の距離以内にある前記第2の特徴ベクトルの数と、該当する各前記第2の特徴ベクトルへの第3の特徴ベクトルの類似度とを基準として遷移先の前記第2の特徴ベクトルの選択を繰り返して前記経路を生成するとしてもよい。
【0101】
このようにすれば、対象者が、他の様々な運動実施者の走行実績を中間目標としてトレースしながら効率的に達成目標に到達することを可能とする経路を生成することができる。
【0102】
処理部11が、前記特徴量を入力とする情報エンコード部115により前記対象者の属性情報とその走行情報との組合せ及び前記目標情報を特徴ベクトルに変換し、前記特徴ベクトルを入力とする情報デコード部116により前記中間目標を示す前記第3の特徴ベクトルを対応する走行情報に変換するとしてもよい。
【0103】
このようにすれば、特徴ベクトル空間における特徴ベクトルの演算により求めた前記経路上の中間目標を表す前記第3の特徴ベクトルを、具体的な目標値を示す走行情報として提示することができる。
【0104】
前記情報エンコード部115及び前記情報デコード部116は深層学習が可能なニューラルネットワークを備え、実績値としての走行情報を情報エンコード部115により特徴ベクトルに変換し、変換して得られた特徴ベクトルを情報デコード部116により前記走行情報に変換して前記実績値と比較することによって情報エンコード部115及び情報デコード部116の学習処理が行われるとすることができる。
【0105】
このようにすれば、前記対象者の運動情報を示す特徴量に基づいて、情報エンコード部115及び情報デコード部116の学習処理を並行して効率的に行うことができる。
【0106】
処理部11が、生成された前記経路を、前記経路を構成する前記第3の特徴ベクトルを所定の数に分割したときの分割点となる特徴ベクトルを特徴量に逆変換して中間目標情報を生成して提示することができる。または、処理部11が、生成された前記経路を、その経路に含まれる複数の前記第3の特徴ベクトルを所定の距離に基づいて分割したときの分割点となる特徴ベクトルを特徴量に逆変換して中間目標情報を生成して提示するとしてもよい。
【0107】
このようにすれば、特徴ベクトル空間において特徴ベクトルとして特定された中間目標を、所定の特徴量を含む走行情報として対象者に提示することができる。
【0108】
処理部11が、前記対象者が、設定された前記中間目標のいずれかを達成したか否かを、前記対象者について取得した最新の走行情報に基づいて判定し、その判定結果を出力するとしてもよい。
【0109】
このようにすれば、対象者は、中間目標を達成することができたかを簡便に知ることができる。
【0110】
前記走行情報が少なくとも、ユーザの走行距離、走行ペース、走行フォーム指標のいずれかを含んでいるとしてもよい。
【0111】
このようにすれば、ランニングにおいて、ユーザの走行距離、走行ペース、走行フォーム指標の少なくともいずれかに基づいて中間目標を設定することができる。
【0112】
また本実施形態による情報処理方法は、運動としてのランニングにおける目標を提示するものであり、コンピュータが、運動を実施する対象者における前記運動の達成目標を示す情報である達成目標情報を取得し、前記対象者の前記運動の実績である運動情報に基づいて導出される第1の特徴ベクトルから、前記達成目標情報に対応する前記運動の他の実施者の前記運動の実績である運動情報に基づいて導出される第2の特徴ベクトルへ向かう経路を生成し、生成された前記経路上にある少なくとも一の位置を、前記経路を構成する特徴ベクトルが示す特徴量に応じて、前記対象者の前記運動における中間目標である第3の特徴ベクトルとして特定する処理を実行する。
【0113】
このようにすれば、ランニングにおいて、最終目標に到達するためにクリアすべき中間目標を対象ユーザに提示し、対象ユーザに最終目標達成に対するモチベーションを与えることができる。
【0114】
本実施形態には、前記の情報処理方法をコンピュータに実行させるためのプログラムも含まれる。
【0115】
<他の実施形態>
なお、上記実施形態では、トレーニングの一例として、例えば運動としてのランニングにおける目標を提示するものとして説明したが、本発明はこれに限定されない。例えば、目標提示装置1は、学習(勉強)における目標を提示するようにしてもよい。この場合、ユーザ情報データベース331には、
図6に示すデータベースに加えて、またはそれに代えて、学習に関連する属性情報を格納してもよい。例えば、
図6に示す例とは別のデータである、学習用のユーザ情報データベース331を、補助記憶部33に記憶してもよい。学習用のユーザ情報データベース331には、例えばユーザID、性別、年齢、学校名、学年、得意とする教科名(国語、数学等)、苦手とする教科名、1日の平均学習時間、数学のテストにおける平均点、英語のテストにおける平均点の各項目を、ユーザの属性情報として格納することができる。学習用のユーザ情報データベース331の構成は、これには限定されない。例えば、数学や英語以外の教科のテストの平均点を含むようにしてもよい。
【0116】
また、サーバコンピュータ3の補助記憶部33に、図示しない学習情報データベースを記憶するようにしてもよい。学習情報データベースは、
図7に例示した走行情報データベース332に対応する構成を有し、ユーザが行った学習に関するテストの記憶を学習情報として格納している。学習情報データベースは、例えば前記のユーザIDに関連付けて、数学1スコア、数学2スコア、英語1スコア、英語2スコアの各項目を格納している。ここで、例えば数学1スコアには、ユーザが数学1に対応する数学のテストを受けた日時情報、数学1のトータルスコア、数学1のテストにおける関数問題のスコア、数学1のテストにおける確率問題のスコア等の数学1のテストを構成する学習の分野(関数、確率、微分積分等)毎のスコアが含まれる。また、英語1スコアには、ユーザが英語1に対応する英語のテストを受けた日時情報、英語1のトータルスコア、英語1のテストにおける英単語のスコア、英語1のテストにおける英文法のスコア等の英語1のテストを構成する学習の分野(英単語、英文法、長文読解、リスニング等)毎のスコアが含まれる。学習情報データベースの構成は、これには限定されない。例えば、数学や英語以外の教科のスコアを含むようにしてもよい。
【0117】
そして、目標提示装置1は、上記のランニングにおける実施形態と同様に、ユーザによってユーザの属性情報、入力時点でのユーザの学習能力(学習レベル、ある教科の平均点等)、及びユーザが達成を希望する最終目標が入力される。例えば、最終目標としては、「英語テスト90点」、「数学テスト80点以上」等が選択できるようすることができる。また、学習における最終目標もランニングと同様に直接目標数値を入力することができるようにしてもよい。なお、目標提示装置1による中間目標の生成と提示については、ランニングにおける例と同様の為、説明を省略する。これにより、目標提示装置1は、ユーザの最終目標を達成するための、中間目標を提示することが可能になり、ユーザのモチベーションを維持できる特徴ベクトル(第3の特徴ベクトル)を特定することができる。
【0118】
また、上記の学習における目標提示装置1は、例えば、ある教科におけるテストの学習分野の難易度に基づいて、第3の特徴ベクトルを特定してもよい。具体的には、学習情報データベースに含まれる、英語のテストにおける英単語のスコアには、英語学習における難易度が含まれていてもよい。例えば、英単語の学習難易度は、長文読解の学習難易度より低く設定される。これは英単語の学習は英単語の暗記がメインとなるため、長文読解より難易度が低いと考えられるためである。これにより、目標提示装置1は、学習難易度に基づいて、中間目標となる地点を設定することができる。したがって、例えばユーザは最終目標に向かう経路の序盤に、学習難易度が比較的に低い分野を取り組むことで、比較的容易にテストのスコアを伸ばすことができる。これによれば、ユーザはモチベーションを維持しやすい状況になる。
【0119】
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。換言すると、
図3、
図5の機能的構成は例示に過ぎず、特に限定されない。即ち、上述した一連の処理を全体として実行できる機能が目標提示装置1に備えられていれば足り、この機能を実現するためにどのような機能ブロックを用いるのかは特に
図3、
図5の例に限定されない。また、一つの機能ブロックは、ハードウェア単体で構成してもよいし、ソフトウェア単体で構成してもよいし、それらの組み合わせで構成してもよい。本実施形態における機能的構成は、演算処理を実行するプロセッサによって実現され、本実施形態に用いることが可能なプロセッサには、シングルプロセッサ、マルチプロセッサ及びマルチコアプロセッサ等の各種処理装置単体によって構成されるものの他、これら各種処理装置と、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられたものを含む。
【0120】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【0121】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるUSBメモリ等のリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk),Blu-ray(登録商標) Disc(ブルーレイディスク)等により構成される。光磁気ディスクは、MD(Mini-Disk)等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているROMや、補助記憶部13に含まれるハードディスク等で構成される。
【0122】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【0123】
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、上記実施形態と変形例の各構成を組み合わせることも可能である。更に、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0124】
S 目標達成支援システム
1 目標提示装置
2 端末装置
3 サーバコンピュータ
11 処理部
115 情報エンコード部
116 情報デコード部
117 目標ベクトル抽出部
118 最適経路生成部
119 中間目標設定部
131 特徴ベクトルデータベース
331 ユーザ情報データベース
332 走行情報データベース