Information processing method, information processing apparatus, and storage medium
The method estimates a subject's latent behavioral state using a machine-learned model to provide personalized advice, addressing the limitations of conventional techniques by incorporating indices like driving index and travel speed, enhancing exercise support.
Patent Information
- Application Number
- JP2025271903
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-12-22
- Publication Date
- 2026-02-27
AI Technical Summary
Conventional techniques are limited to obtaining parameters that represent the behavioral state of a subject and do not further estimate parameters that represent the subject's latent behavioral state.
An information processing method that estimates a state vector representing the behavioral state of a target by machine-learning a state estimation model based on behavioral history, using indices such as driving index, advice impact, and normal travel speed and distance, to determine advice for the subject.
Enables the estimation of parameters representing the potential behavioral state of a subject, allowing for personalized advice to improve the subject's behavior based on a target's exercise style.
Smart Images

Figure 2026034727000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing method, an information processing device, and a program. [Background technology]
[0002] Conventionally, there is a technology for detecting and analyzing the behavioral state of a subject using a wearable device that is worn by the subject, such as a test subject. For example, Patent Document 1 describes a technology for detecting the exercise state as the behavioral state of the subject, analyzing the exercise form, and providing advice regarding the exercise. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2017-6192 Summary of the Invention [Problem to be solved by the invention]
[0004] However, conventional techniques are limited to obtaining parameters that represent the behavioral state of the subject itself, and do not further estimate parameters that represent the subject's latent behavioral state.
[0005] An object of the present invention is to provide an information processing method, an information processing device, and a program that can estimate parameters that represent a latent behavioral state of a target. [Means for solving the problem]
[0006] In order to solve the above problems, an information processing method according to the present invention includes: In order to estimate a state vector representing the behavioral state of a learning subject, a state estimation model is machine-learned based on learning information including information related to the behavioral history of the learning subject when the learning subject was performing a certain behavior, and a state vector representing the behavioral state of the learning subject is estimated based on estimation information including information related to the behavioral history of the target when the learning subject was performing the certain behavior, the state vector including (1) an index indicating what value a certain driving index will take when the target is traveling a certain distance at a certain speed, (2) an index indicating how the subsequent traveling state will change when a certain advice is presented to the target, and (3) an index indicating what speed and what distance the target normally travels, Estimating a state vector of a target by inputting target estimation information including information related to a behavior history of a target object that is a target of the target into the state estimation model; determining the advice to be presented to the subject based on the estimated state vector of the subject and the estimated state vector of the goal; obtaining a value for each of a plurality of pieces of advice based on the estimated state vector of the subject and the estimated state vector of the goal; The advice to be presented to the subject is determined based on the value of each of the plurality of pieces of advice obtained.
[0007] In order to solve the above problems, the information processing device according to the present invention comprises: In order to estimate a state vector representing the behavioral state of a learning subject, a state estimation model is machine-learned based on learning information including information related to the behavioral history of the learning subject when the learning subject was performing a certain behavior, and a state vector representing the behavioral state of the learning subject is estimated based on estimation information including information related to the behavioral history of the target when the learning subject was performing the certain behavior, the state vector including (1) an index indicating what value a certain driving index will take when the target is traveling a certain distance at a certain speed, (2) an index indicating how the subsequent traveling state will change when a certain advice is presented to the target, and (3) an index indicating what speed and what distance the target normally travels, Estimating a state vector of a target by inputting target estimation information including information related to a behavior history of a target object that is a target of the target into the state estimation model; determining the advice to be presented to the subject based on the estimated state vector of the subject and the estimated state vector of the goal; obtaining a value for each of a plurality of pieces of advice based on the estimated state vector of the subject and the estimated state vector of the goal; The system further includes a processing unit that determines the advice to be presented to the target based on the value of each of the plurality of pieces of advice obtained.
[0008] In order to solve the above problems, the program according to the present invention comprises: A computer provided in the information processing device In order to estimate a state vector representing the behavioral state of a learning subject, a state estimation model is machine-learned based on learning information including information related to the behavioral history of the learning subject when the learning subject was performing a certain behavior, and a state vector representing the behavioral state of the learning subject is estimated based on estimation information including information related to the behavioral history of the target when the learning subject was performing the certain behavior, the state vector including (1) an index indicating what value a certain driving index will take when the target is traveling a certain distance at a certain speed, (2) an index indicating how the subsequent traveling state will change when a certain advice is presented to the target, and (3) an index indicating what speed and what distance the target normally travels, Estimating a state vector of a target by inputting target estimation information including information related to a behavior history of a target object that is a target of the target into the state estimation model; determining the advice to be presented to the subject based on the estimated state vector of the subject and the estimated state vector of the goal; obtaining a value for each of a plurality of pieces of advice based on the estimated state vector of the subject and the estimated state vector of the goal; A process is executed to determine the advice to be presented to the target based on the value of each of the plurality of pieces of advice obtained. [Effects of the Invention]
[0009] According to the present invention, parameters representing the potential behavioral state of a subject can be estimated. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a diagram illustrating an exercise support system. [Figure 2] FIG. 2 is a block diagram showing the functional configuration of a server. [Figure 3] FIG. 2 is a diagram showing an example of the contents of a travel history DB. [Figure 4] FIG. 10 is a diagram illustrating an example of the contents of a user DB. [Figure 5] FIG. 10 is a diagram showing an example of the contents of an advice DB. [Figure 6] FIG. 2 is a block diagram showing the functional configuration of the terminal device. [Figure 7] FIG. 2 is a block diagram showing the functional configuration of the wearable device. [Figure 8] 10A and 10B are diagrams illustrating the configuration of a state estimation model and the operation of estimating a state vector using the state estimation model. [Figure 9] FIG. 1 is a diagram illustrating a method for machine learning a state estimation model. [Figure 10] 10 is a flowchart showing a control procedure for advice presentation processing. [Figure 11] 10 is a flowchart showing a control procedure for advice determination processing. [Figure 12] FIG. 10 is a diagram illustrating a method for performing reinforcement learning on an advice value estimation model using Q-learning. DETAILED DESCRIPTION OF THE INVENTION
[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0012] <Configuration of exercise support system> FIG. 1 is a diagram showing an exercise support system 1 of this embodiment. The exercise support system 1 (information processing system) includes a server 10 (information processing device), a terminal device 20, and a wearable device 30. The exercise support system 1 records the exercise (behavior) history of a user (subject) who is a user of the terminal device 20 and the wearable device 30 in the server 10, and provides exercise-related advice to the user to support the user's exercise. The exercise support system 1 includes multiple terminal devices 20 and multiple wearable devices 30 used by multiple users, respectively, and can record the exercise history of these multiple users and support each user's exercise based on the record. FIG. 1 shows the terminal device 20 and wearable device 30 used by one user as a representative example. In this embodiment, an example will be described in which the exercise support system 1 supports running (running) as a user's exercise.
[0013] The wearable device 30 is a wearable terminal that is worn on the user's body (e.g., the waist). The wearable device 30 includes a sensor unit 34 (see FIG. 7) that detects the user's exercise state. The sensor unit 34 detects body movements, such as vertical movement, rotation around the waist, and side-to-side swinging, in response to the exercise of the user wearing the wearable device 30. The wearable device 30 also includes a position information acquisition unit 35 (see FIG. 7) that acquires the user's position information. The wearable device 30 derives the user's movement distance, movement speed, and other information based on the position information acquired by the position information acquisition unit 35. The wearable device 30 can transmit and receive information (data) to and from the terminal device 20 via wireless communication (e.g., short-range wireless communication such as Bluetooth (registered trademark)). The wearable device 30 transmits information related to the user's detected exercise state (activity state), movement distance, movement speed, and other information to the terminal device 20. The location where the wearable device 30 is worn is not limited to the waist. For example, the wearable device 30 may be a wrist terminal worn on the user's wrist. In this case, it is also possible to detect arm swings in response to exercise.
[0014] The terminal device 20 is a device that is mainly carried and used by a user, such as a smartphone. The terminal device 20 can send and receive information (data) to and from the server 10 via a network N. The network N is, for example, the Internet, but is not limited to this. The communication path between the terminal device 20 and the server 10 may include a wireless communication path. An application program (hereinafter referred to as "exercise app 231" (see FIG. 6)) for providing the user with a service to support the user's exercise is installed in the terminal device 20. While the exercise app 231 is running (i.e., on the exercise app 231), the terminal device 20 displays information related to exercise received from the wearable device 30, transmits the information to the server 10, and receives and displays information related to the results of exercise analysis by the server 10. The analysis results by the server 10 include exercise advice. More specifically, in the exercise support system 1, the user can set a target runner (a target object that the user aims for; hereinafter referred to as the "target runner"), and advice that will help the user to run more like the target runner is selected and presented to the user based on the user's exercise history. The user can check this advice on the terminal device 20 and use it as a reference for improving their next exercise. The terminal device 20 is not limited to a smartphone, but may be a device worn on the user's body, such as a smartwatch. The terminal device 20 is not limited to a device that the user can carry while exercising, but may be a device that transmits and receives information between the server 10 and the wearable device 30 after exercising. For example, the terminal device 20 may be a tablet terminal or a notebook PC, or may be a stationary terminal such as a desktop PC.
[0015] The server 10 receives, records, and stores information (data) related to the user's exercise from the terminal device 20. The server 10 also analyzes the user's exercise based on the stored information, selects appropriate advice to help the user get closer to the running style of a target runner, and transmits the advice to the terminal device 20.
[0016] FIG. 2 is a block diagram showing the functional configuration of the server 10. As shown in FIG. The server 10 includes a CPU 11 (Central Processing Unit), a RAM 12 (Random Access Memory), a storage unit 13, a communication unit 14, and a bus 15. The components of the server 10 are connected to each other via the bus 15. The server 10 may further include an operation unit, a display unit, and the like that are used by an administrator of the server 10.
[0017] The CPU 11 is a processor that reads and executes the program 131 stored in the storage unit 13 and performs various arithmetic processing, thereby controlling the operation of each unit of the server 10. In this embodiment, the CPU 11 corresponds to a "processing unit." The processing unit may have multiple processors (e.g., multiple CPUs), and the multiple processes performed by the CPU 11 of this embodiment may be executed by the multiple processors. In this case, the multiple processors correspond to a "processing unit." In this case, the multiple processors may be involved in a common process, or the multiple processors may independently execute different processes in parallel.
[0018] The RAM 12 provides a working memory space for the CPU 11 and stores temporary data.
[0019] The storage unit 13 is a non-transitory recording medium readable by the CPU 11 as a computer, and stores a program 131 and various data. The storage unit 13 includes a non-volatile memory such as a flash memory. The program 131 is stored in the storage unit 13 in the form of a computer-readable program code. The storage unit 13 stores a state estimation model 132, a distance and speed estimation model 133, an index value estimation model 134, an advice value estimation model 135, a driving history DB (database) 136, a user DB (database) 137, an advice DB (database) 138, and the like.
[0020] The state estimation model 132 is a learning model (trained model) machine-learned based on input information IC (learning information) (see FIGS. 8 and 9) including information on the exercise history of a learning subject who was performing a certain exercise (e.g., running), so as to estimate a state vector VC (see FIGS. 8 and 9) representing a potential exercise state of the learning subject. By inputting input information IA (estimation information) (see FIG. 8) including information on the exercise history of the user who was performing the certain exercise to the state estimation model 132, a state vector VA (see FIG. 8) representing a potential exercise state of the user can be estimated. Furthermore, by inputting input information IB (goal estimation information) (see FIG. 8) including information on the exercise history of a target runner who was performing the certain exercise to the state estimation model 132, a state vector VB (see FIG. 8) representing a potential exercise state of the target runner can be estimated. Advice to be presented to the user is determined based on the user's state vector VA estimated by the state estimation model 132 and the state vector VB of the target runner (goal state vector VB). The distance and speed estimation model 133 and the index value estimation model 134 are learning models (trained models) used in the machine learning of the state estimation model 132. The distance and speed estimation model 133 and the index value estimation model 134 are also machine learned together with the state estimation model 132. The advice value estimation model 135 is a learning model (trained model) that has undergone reinforcement learning to estimate the value of the advice as output, using the combined state of the estimated user's state vector and the estimated target runner's state vector, and advice as input. The state estimation model 132, the distance / speed estimation model 133, and the index value estimation model 134 will be described in detail later.
[0021] FIG. 3 is a diagram showing an example of the contents of the driving history DB 136. As shown in FIG. The running history DB 136 records information about the user's exercise that is detected by the wearable device 30 and transmitted from the terminal device 20, and stores the information as history information. The running history DB 136 also stores exercise history information for each of multiple users. One data row in the running history DB 136 corresponds to one exercise session (here, running) by a certain user. The running history DB 136 has the following data items: "User ID," "Running No.", "Date and Time," "Distance," "Speed," "Running Index," and "Advice."
[0022] "User ID" is a unique code assigned to each user. In multiple data rows corresponding to exercise by the same user, the same user ID corresponding to that user is recorded. In the following, a user with user ID "U0001" will be referred to as "user U1." In addition, in this embodiment, it is assumed that advice is presented to this user U1. "Running No." indicates the order of multiple exercises performed by a certain user. Here, an ordinal number is simply used, but a code may also be used. The "date and time" indicates the date and time when the exercise corresponding to that data row was performed (for example, at least one of the date and time when the exercise started and the date and time when the exercise ended). The date and time information is recorded by the terminal device 20 or the wearable device 30 during or after the exercise and transmitted to the server 10. "Distance" indicates the distance traveled during the exercise corresponding to that data row. The distance value is derived by the wearable device 30 or the terminal device 20, for example, based on the change in position acquired by the position information acquisition unit 35 (see FIG. 7) of the wearable device 30, i.e., the change in position of the user wearing the wearable device 30. "Speed" represents a representative value (e.g., average value) of the speed of the movement corresponding to that data row. The speed value is derived by the wearable device 30 or the terminal device 20, for example, based on the transition of the position of the wearable device 30, i.e., the transition (amount of change) of the user's position, acquired by the position information acquisition unit 35 of the wearable device 30, and the time required for the transition of the position. The data item "running index" further includes multiple sub-items related to indexes that represent body movement during exercise, such as "pitch" and "stride." The value of each sub-item represents the index value of the corresponding index. The index value is derived by the wearable device 30 or the terminal device 20, for example, based on the detection results by the sensor unit 34 of the wearable device 30. The sub-items of "running index" are not limited to those exemplified in FIG. 3. "Advice" is a code representing advice selected by the server 10 and presented to the user after the exercise corresponding to that data row is completed. This code corresponds to the code of "advice ID" in the advice DB 138 described below. Note that instead of the code of "advice ID", the content of the advice itself (text data) in the advice DB 138 may be recorded.
[0023] In the following, the part of the information included in the data item "distance" that corresponds to the exercise of the user U1 to whom advice is to be given will be referred to as a "distance parameter Pa." Furthermore, among the information included in the data item "speed", the part corresponding to the movement of the user U1 will be referred to as "speed parameter Pb". Furthermore, among the information included in each sub-item of "running index," the portion corresponding to the exercise of the user U1 will be referred to as "index parameter Pc." Furthermore, among the information included in the data item "advice," the part corresponding to the exercise of the user U1 is referred to as "advice parameter Pd." Furthermore, the distance parameter Pa, the speed parameter Pb, the index parameter Pc, and the advice parameter Pd (plural parameters) corresponding to the motion of the user U1 are collectively referred to as "parameter information IpA." Furthermore, the portion of the information included in the data item “date and time” that corresponds to the exercise performed by user U1 is referred to as “time information ItA.” Therefore, the time information ItA includes information related to the time at which the exercise corresponding to each parameter in the parameter information IpA was performed.
[0024] FIG. 4 is a diagram showing an example of the contents of the user DB 137. As shown in FIG. The user DB 137 stores information related to the attributes of multiple users who use the exercise support system 1, and information on the target runner set for each user. One data row in the user DB 137 corresponds to one user. The user DB 137 has data items such as "user ID," "gender," "age," "height," and "target runner."
[0025] The "user ID" is a unique code assigned to each user, and is the same as the code in the "user ID" of the driving history DB 136. "Gender," "Age," and "Height" represent the gender, age, and height of the user, respectively. The contents of these data items are those input by the user on the setting screen of the terminal device 20, for example. The "target runner" indicates, by user ID, the target runner associated with the user of the data row. In FIG. 4, for example, for user U1 with user ID "U0001," a user with user ID "U0194" is set as the target runner, and for user U1 with user ID "U0003," a user with user ID "U0231" is set as the target runner. Furthermore, for user U1 with user ID "U0002," no target runner is set. The target runner may be selected and set by the user himself / herself, for example, on a setting screen of the exercise app 231, or may be selected and set by a person other than the user (for example, the user's instructor or administrator). Alternatively, the CPU 11 of the server 10 may determine the target runner according to a predetermined algorithm based on the contents (e.g., gender, age, height) of the running history DB 136 and the user DB 137. Furthermore, the target runner may be a real user or a virtual user with a certain level of virtual running history set. The data items in the user DB 137 are not limited to those exemplified in FIG. 4, and may include data items relating to attributes such as the organization to which the user belongs and the place of residence, and characteristics such as a favorite sport. Hereinafter, among the information included in the data items other than "target runner" in the user DB 137, the portion corresponding to the user U1 to whom advice is to be presented will be referred to as "user information IuA" (target information).
[0026] FIG. 5 is a diagram showing an example of the contents of the advice DB 138. As shown in FIG. The advice DB 138 stores in advance advice candidates to be presented to the user in the exercise support system 1. The advice DB 138 has data items of "advice ID" and "advice." The "advice ID" is a unique code assigned to each piece of advice. "Advice" indicates the content of the advice corresponding to the "Advice ID." Each piece of advice, such as "Swing your arms" or "Gently ground yourself," is expected to change the exercise state if the user is conscious of it while exercising.
[0027] 2, the communication unit 14 of the server 10 performs a communication operation in accordance with a predetermined communication standard. Through this communication operation, the communication unit 14 transmits and receives information to and from the terminal device 20 via the network N.
[0028] FIG. 6 is a block diagram showing the functional configuration of the terminal device 20. As shown in FIG. The terminal device 20 includes a CPU 21, a RAM 22, a storage unit 23, a display unit 24, an operation unit 25, a communication unit 26, and a bus 27. The components of the terminal device 20 are connected to each other via the bus 27.
[0029] The CPU 21 is a processor that reads and executes programs such as the exercise application 231 stored in the storage unit 23 and performs various arithmetic processing to control the operation of each unit of the terminal device 20. The terminal device 20 may have multiple processors (e.g., multiple CPUs), and the multiple processes executed by the CPU 21 of the present embodiment may be executed by the multiple processors. In this case, the multiple processors may be involved in a common process, or the multiple processors may independently execute different processes in parallel.
[0030] The RAM 22 provides a working memory space for the CPU 21 and stores temporary data.
[0031] The storage unit 23 is a non-transitory recording medium readable by the CPU 21 as a computer, and stores programs such as the exercise application 231 and various data. The storage unit 23 includes a non-volatile memory such as a flash memory. The programs are stored in the storage unit 23 in the form of computer-readable program codes.
[0032] Display unit 24 displays various information such as the operation screen of exercise app 231 and the results of exercise analysis including the advice described above, under the control of CPU 21. As display unit 24, for example, a liquid crystal display device that displays using a dot matrix method can be used, but is not limited to this.
[0033] The operation unit 25 accepts an input operation from the user and outputs an input signal corresponding to the input operation to the CPU 21. The operation unit 25 includes a touch panel overlaid on the display screen of the display unit 24, and detects contact with the user's finger or the like as an input operation via this touch panel. The operation unit 25 may also include hardware buttons in addition to or instead of the touch panel, and may be able to accept input operations via these hardware buttons.
[0034] The communication unit 26 performs a communication operation in accordance with a predetermined communication standard. Through this communication operation, the communication unit 26 transmits and receives information to and from the server 10 via the network N. The communication unit 26 also transmits and receives information to and from the wearable device 30 by wireless communication (in this embodiment, Bluetooth as short-range wireless communication).
[0035] FIG. 7 is a block diagram showing the functional configuration of the wearable device 30. The wearable device 30 includes a CPU 31, a RAM 32, a storage unit 33, a sensor unit 34, a position information acquisition unit 35, a communication unit 36, and a bus 37. The components of the wearable device 30 are connected to each other via the bus 37.
[0036] The CPU 31 is a processor that reads and executes a program 331 stored in the storage unit 33 and performs various arithmetic processing to control the operation of each unit of the wearable device 30. The wearable device 30 may have multiple processors (e.g., multiple CPUs), and the multiple processes performed by the CPU 31 of this embodiment may be executed by the multiple processors. In this case, the multiple processors may be involved in a common process, or the multiple processors may independently execute different processes in parallel.
[0037] The RAM 32 provides a working memory space for the CPU 31 and stores temporary data.
[0038] The storage unit 33 is a non-transitory recording medium readable by the CPU 31 as a computer, and stores the program 331 and various data. The storage unit 33 includes a non-volatile memory such as a flash memory. The program 331 is stored in the storage unit 33 in the form of a computer-readable program code.
[0039] The sensor unit 34 includes, for example, a triaxial acceleration sensor, a triaxial gyro sensor, and a triaxial geomagnetic sensor as sensors for detecting the motion state of the wearable device 30. The triaxial acceleration sensor detects acceleration in each axial direction applied to the wearable device 30 in response to the user's motion at a predetermined sampling frequency and outputs acceleration data as the detection result to the CPU 31. The triaxial gyro sensor detects angular velocities around each axis applied to the wearable device 30 in response to the user's motion at a predetermined sampling frequency and outputs angular velocity data as the detection result to the CPU 31. The triaxial geomagnetic sensor detects the direction of the geomagnetism passing through the wearable device 30 at a predetermined sampling frequency and outputs geomagnetic data as the detection result to the CPU 31. The data output from the triaxial acceleration sensor, the triaxial gyro sensor, and the triaxial geomagnetic sensor include signal components for three mutually orthogonal axes. The sensor unit 34 includes an amplifier (not shown) that amplifies the analog signals output from the triaxial acceleration sensor, the triaxial gyro sensor, and the triaxial geomagnetic sensor, and an AD converter (not shown) that converts the amplified analog signals into digital data and outputs the digital data to the CPU 31. Note that the sensor unit 34 is not limited to a configuration including a triaxial acceleration sensor, a triaxial gyro sensor, and a triaxial geomagnetic sensor, as long as it can detect the motion state of the wearable device 30.
[0040] The location information acquisition unit 35 receives and decodes radio waves transmitted from positioning satellites of a Global Navigation Satellite System (GNSS) such as a Global Positioning System (GPS) to calculate the current location. The location information acquisition unit 35 calculates the current location under the control of the CPU 31 and outputs the result to the CPU 31. The method of calculating the current location by the location information acquisition unit 35 is not limited to a method using radio waves transmitted from a positioning satellite, but may also be a method of determining the positional relationship with a beacon based on a signal from a beacon installed at a predetermined location, for example. In addition, a location information acquisition unit having the same function as the location information acquisition unit 35 may be provided in the terminal device 20, and when this terminal device 20 is carried and used by the user U1, the location information acquisition unit of the terminal device 20 may calculate the current location.
[0041] The communication unit 36 performs a communication operation in accordance with a predetermined communication standard. Through this communication operation, the communication unit 36 transmits and receives data to and from the terminal device 20 via wireless communication (in this embodiment, Bluetooth as short-range wireless communication).
[0042] <Operation of the exercise support system> Next, the operation of the exercise support system 1 will be described, focusing on the operation related to providing advice to the user U1. In the exercise support system 1, when information related to an exercise performed by the user U1 is transmitted from the terminal device 20 to the server 10, the state estimation model 132 estimates a state vector VA (see FIG. 8) representing the potential exercise state of the user U1 based on input information IA (estimation information) (see FIG. 8) including parameter information IpA, time information ItA, and user information IuA related to the exercise history of the user U1. Similarly, as shown in FIG. 8, for a target runner set in association with the user U1, the state estimation model 132 estimates a state vector VB (target state vector VB) representing the potential exercise state of the target runner based on input information IB (goal estimation information) including parameter information IpB, time information ItB, and user information IuB of the target runner. Then, based on the state vector VA of the user U1 and the state vector VB of the target runner, advice is selected to bring the potential exercise state of the user U1 closer to the potential exercise state of the target runner, and is presented to the user U1 via the terminal device 20. As shown in Figures 8 and 9, when learning the state estimation model 132 described below, input information IC (learning information) including parameter information IpC, time information ItC, and user information IuC related to the movement history of the learning target is input to the state estimation model 132, and a state vector VC representing the latent movement state of the learning target is estimated. In the following, any one of the parameter information IpA, IpB, and IpC will be referred to as "parameter information Ip." Any one of the time information ItA, ItB, and ItC will be referred to as "time information It." Any one of the user information IuA, IuB, and IuC will be referred to as "user information Iu." Any one of the input information IA, IB, and IC will be referred to as "input information I." Any one of the state vectors VA, VB, and VC will be referred to as "state vector V."
[0043] More specifically, the state vector V is a vector with a predetermined number of dimensions (assumed to be M dimensions) and includes the following information (i) to (iii). Here, the state vector V including certain information includes the fact that when the state vector V is input to a certain converter, it is possible to obtain an output of the converter from which the information can be extracted. The above converter may be a trained model that has been trained using a machine learning model such as a neural network.
[0044] Information (i): What value will a certain running index value be when a certain distance is run at a certain speed (pace)? Information (ii): How the state of the subsequent journey will change if a certain piece of advice is presented. Information (iii): What speeds and distances do you usually drive?
[0045] By including information (i) in the state vector V, even if the speed and distance in the exercise history of user U1 are dissociated from the speed and distance in the exercise history of the target runner, it is possible to estimate and compare the running indices (running style) that would be obtained if the target runner ran the same (or similar) distance at the same (or similar) speed. Furthermore, it is possible to select advice based on such a comparison.
[0046] By including information (ii) in the state vector V, when selecting advice based on the state vector V, it is possible to prioritize more effective advice or lower the priority of advice that is less effective for the user.
[0047] Since the state vector V includes the information (iii), the exercise level difference between the user U1 and the target runner can be estimated from the state vector V. Therefore, it is possible to select appropriate advice that takes the level difference into consideration based on the state vector V.
[0048] <State estimation model> FIG. 8 is a diagram illustrating the configuration of the state estimation model 132 and the operation of estimating the state vector V by the state estimation model 132. In FIG. 8, the components of the state estimation model 132 are represented by rectangular blocks, and the information (data) input to the state estimation model 132 and the state vector V output from the state estimation model 132 are represented by parallelogram blocks with non-right-angled corners.
[0049] 8, the state estimation model 132 includes a parameter vector generation unit 1321, a time information assignment unit 1322, a transformer encoder 1323, a GAP (Global Average Pooling) unit 1324, and a combining and transforming unit 1325, which are connected in series. Of these, parameter information Ip is input to the parameter vector generation unit 1321. Time information It is input to the time information assignment unit 1322. User information Iu is input to the combining and transforming unit 1325. The parameter information Ip, time information It, and user information Iu form input information I to be input to the state estimation model 132.
[0050] The parameter information Ip includes history information relating to the first through i-th exercises performed by the user U1 in the past. The i-th exercise is assumed to be the last exercise performed by the user. Note that it is not necessary to use history information relating to all exercises from the first onwards; for example, it is also possible to use only the history of exercises performed within a predetermined period prior to that point (e.g., within the past year). The parameters Pa1, Pb1, Pc1, and Pd1 shown in FIG. 8 are the distance parameter Pa, the speed parameter Pb, the index parameter Pc, and the advice parameter Pd, respectively, corresponding to the first exercise. The parameters Pai, Pbi, Pci, and Pdi are the distance parameter Pa, the speed parameter Pb, the index parameter Pc, and the advice parameter Pd, respectively, corresponding to the i-th exercise. Similarly, the parameter information Ip includes parameters corresponding to each of the second to (i-1)-th exercises. Note that in FIG. 8, only one index parameter Pc is depicted as a representative, and the other index parameters Pc are omitted. Hereinafter, each of the parameters Pa1, Pb1, ..., Pci, and Pdi will be referred to as an "individual parameter." The parameter information Ip has four individual parameters (the index parameter Pc is considered to have one individual parameter) for each of the first to i-th exercises. Therefore, the parameter information Ip has (4 × i) individual parameters.
[0051] The parameter vector generation unit 1321 converts each of the (4×i) individual parameters into a parameter vector with a predetermined number of dimensions (assumed to be f dimensions). The distance parameter Pa, speed parameter Pb, index parameter Pc, and advice parameter Pd are usually individual parameters with different amounts of information, but by converting them into parameter vectors with the same number of dimensions in the parameter vector generation unit 1321, they can be handled uniformly in each subsequent unit. The parameter vector generation unit 1321 is a trained model that has been trained to convert the individual parameters into f-dimensional parameter vectors and output them. An example of this machine learning model is one that uses a neural network, but is not limited to this.
[0052] The time information assigning unit 1322 reflects the input time information It in the (4×i) parameter vectors input from the parameter vector generating unit 1321. Specifically, information relating to the time point at which the exercise of the individual parameter corresponding to each parameter vector was performed is added to the parameter vector. Note that the added information does not necessarily correspond to the date and time at which the exercise was performed, as long as it reflects at least the chronological order of each exercise. For example, it may be the number of days elapsed since the exercise was performed, or a number indicating the number of times the exercise was performed (e.g., the ordinal number of the "running number" in the running history DB 136 of FIG. 3). Furthermore, the method of adding information to the parameter vector is not particularly limited. For example, a value relating to the time point (e.g., the value of a sine function with a value relating to the time point as an argument) may be added to each of the f elements of each parameter vector. Furthermore, an element of a value relating to the time point may be added as the (f+1)-th element of the parameter vector.
[0053] The Transformer Encoder 1323 converts each of the parameter vectors, which reflect information about time points and are input from the time information assigning unit 1322, into an encoded vector including information about relationships with other parameter vectors. For example, an element of a certain dimension of a certain parameter vector is multiplied by a value corresponding to the sum of products of the element and each of the other parameter vectors in the certain dimension, and the result is used as the element of the certain dimension of the encoded vector corresponding to the certain parameter vector. By performing this process for all dimensions, an encoded vector corresponding to the certain parameter vector is obtained. Similarly, corresponding encoded vectors are derived for each of the remaining parameter vectors. The Transformer Encoder 1323 is a trained model trained to transform multiple parameter vectors into multiple encoded vectors and output them. An example of this machine learning model is, but is not limited to, a model using a neural network.
[0054] The GAP unit 1324 generates one f-dimensional coded vector (hereinafter referred to as "average coded vector") from the f-dimensional (4×i) coded vectors input from the Transformer Encoder 1323. In detail, the Transformer Encoder 1323 averages (4×i) elements of a certain dimension in the (4×i) coded vectors, and sets the average of these elements as the element of that dimension in the average coded vector. By performing this process for each of the f dimensions, the average coded vector is generated.
[0055] The combining and transforming unit 1325 adds user information Iu from the input information I to the average coded vector input from the GAP unit 1324, converts it into an M-dimensional state vector, and outputs it. The combining and transforming unit 1325 is a trained model obtained by training a machine learning model. An example of this machine learning model is one that uses a neural network, but is not limited to this. By the above operation of the state estimation model 132, an M-dimensional state vector V is obtained.
[0056] 8, the parameter vector generation unit 1321, the transformer encoder 1323, and the combination / conversion unit 1325, which are shown shaded, are machine-trained to estimate a state vector V representing a latent motion state of the user as an output. Hereinafter, a method for machine learning the state estimation model 132 will be described with reference to FIG. 9.
[0057] FIG. 9 is a diagram illustrating a method for machine learning the state estimation model 132. 9, the state estimation model 132, distance / speed estimation model 133, and index value estimation model 134 that are the targets of machine learning are represented by rectangular blocks, and information (data) input to each model, information (data) output from each model, and other information (data) are represented by parallelogram blocks with non-right angles. Also, in FIG. 9, steps S101 to S110 represent the flow of processing for machine learning the state estimation model 132. Also, range R in FIG. 9 corresponds to the content shown in FIG. 8. The machine learning processing shown in FIG. 9 is executed in server 10 under control of CPU 11. However, the present invention is not limited to this, and may be executed in an information processing device provided outside server 10.
[0058] When the i-th running of a certain learning object is completed, input information IC (learning information) including parameter information IpC including information on the running history of the learning object up to the i-th running, time information ItC, and user information IuC is input to the state estimation model 132 (step S101), and a state vector VC is output by the above-mentioned operation (step S102). Here, the learning object is not limited to the user U1, and any user who uses the exercise support system 1 can be the learning object.
[0059] The state vector VC is input to the distance / speed estimation model 133 (step S103). The distance / speed estimation model 133 is a machine learning model, such as a neural network, that receives the state vector VC estimated based on input information I up to the i-th time and is trained by machine learning to output information on the estimated distance and estimated speed for the next (i+1)th trip. The distance / speed estimation model 133 outputs the estimated distance and estimated speed (D1) for the (i+1)th trip based on the input state vector VC (step S104).
[0060] Next, an error (D3) between the true distance and true speed (D2) of the (i+1)th run actually performed by the learning subject and the estimated distance and estimated speed (D1) for the (i+1)th run is calculated (step S105). The true distance and true speed (D2) are calculated based on the transition of the position information acquired by the position information acquisition unit 35 of the wearable device 30.
[0061] Meanwhile, the state vector V C estimated in step S102 and the true distance and true speed (D2) for the (i+1)th run are input to the index value estimation model 134 (step S106). The index value estimation model 134 is a machine learning model, such as a neural network, that receives as input the state vector V C estimated based on input information IC up to the i-th run and the true distance and true speed (D2) for the (i+1)th run, and is trained by machine learning to output an estimated index value of the running index for the next (i+1)th run. The index value estimation model 134 outputs an estimated index value (D4) for the (i+1)th run based on the input state vector V C and the true distance and true speed (D2) for the (i+1)th run (step S107).
[0062] Next, an error (D6) between a true index value (D5) for the (i+1)th run actually performed by the learning subject and the estimated index value (D4) for the (i+1)th run is derived (step S108). The true index value (D5) is a value (derived value) derived based on the detection result (detected value) by the sensor unit 34 of the wearable device 30.
[0063] When the error (D3) is derived in step S105, feedback is performed on the state estimation model 132, the distance / speed estimation model 133, and the index value estimation model 134 so that the error (D3) becomes smaller (step S109), and the state estimation model 132, the distance / speed estimation model 133, and the index value estimation model 134 are trained. Furthermore, when the error (D6) is derived in step S108, feedback is provided to the state estimation model 132, the distance / speed estimation model 133, and the index value estimation model 134 so as to reduce the error (D6) (step S110), and the state estimation model 132, the distance / speed estimation model 133, and the index value estimation model 134 are trained. In the learning in steps S109 and S110, for example, the weights and biases used in converting information in each neuron of the neural networks constituting the state estimation model 132 (parameter vector generation unit 1321, transformer encoder 1323, and connection / conversion unit 1325), the distance / speed estimation model 133, and the index value estimation model 134 are adjusted by a backpropagation technique based on errors (D3, D6).
[0064] Through the above steps S101 to S110, the state estimation model 132 is machine-learned to minimize the error between at least one parameter (here, a predicted value of the distance, speed, and running index value) of the next exercise performed by the learning subject, predicted based on the state vector VC of the learning subject, and the at least one parameter of the next exercise actually performed by the learning subject. The processing of steps S101 to S110 is repeatedly executed for multiple runs performed by the learning subject to learn. Furthermore, similar processing is repeatedly executed based on each run of multiple different learning subjects to learn. Through this process, the state estimation model 132 is machine-learned to estimate a state vector V representing a potential exercise state of a given user. Furthermore, the distance / speed estimation model 133 is machine-learned to estimate an estimated distance and estimated speed (D1) of the (i+1)th run from the state vector V. Furthermore, the index value estimation model 134 is machine-learned to estimate an estimated index value (D4) of the (i+1)th run from the state vector V.
[0065] <Processing related to the presentation of advice> Next, a control procedure for advice presentation processing for determining and presenting advice to the user will be described with reference to the flowchart of FIG. FIG. 10 is a flowchart showing a control procedure for advice presentation processing. The advice presentation process is executed by the CPU 11 of the server 10. The advice presentation process is started when the user U1 inputs an instruction to display advice related to exercise on the exercise app 231 of the terminal device 20, in a state where at least one session of exercise has been completed and information related to the exercise has been recorded in the running history DB 136. Alternatively, the advice presentation process may be started when the CPU 11 determines that one session of exercise by the user U1 has been completed (for example, when information related to the exercise has been recorded in the running history DB 136).
[0066] When the advice providing process starts, the CPU 11 determines whether a target runner corresponding to the user U1 to whom advice is to be provided has already been set (step S201). If it is determined that a target runner has not been set ("NO" in step S201), the CPU 11 sets a target runner and records the target runner in the user DB 137 (step S202). In step S202, the CPU 11 displays a predetermined setting screen for setting a target runner on, for example, the terminal device 20, obtains the target runner selection result by the user U1, and records the target runner in the user DB 137.
[0067] When step S202 is completed, or when it is determined in step S201 that the target runner has been set ("YES" in step S201), the CPU 11 acquires information on the running history of the target runner (parameter information IpB and time information ItB) and user information IuB (step S203). The CPU 11 inputs the input information IB, including the acquired parameter information IpB, time information ItB, and user information IuB, into the state estimation model 132, and causes the state estimation model 132 to estimate and acquire a state vector VB representing the potential motion state of the target runner (step S204).
[0068] The CPU 11 acquires information related to the running of the user U1 (each of the individual parameters of the distance parameter Pa, the speed parameter Pb, and the index parameter Pc, as well as the date and time when the exercise was performed) from the terminal device 20 and records it in the running history DB 136 (step S205).
[0069] The CPU 11 acquires information on the running history of the user U1 (parameter information IpA and time information ItA) and user information IuA (step S206). The CPU 11 inputs the input information IA including the acquired parameter information IpA, time information ItA, and user information IuA to the state estimation model 132, and causes the state estimation model 132 to estimate and acquire a state vector VA representing a potential exercise state of the user U1 (step S207). Note that when the process of FIG. 10 is performed for the first time, for example, if the user U1 has not received advice and the advice parameter Pd is not recorded in the exercise-related information of the running history DB 136, the input information I from which the portion corresponding to the advice parameter Pd is omitted is input to the state estimation model 132.
[0070] The CPU 11 determines whether the state vector VA of the user U1 satisfies a predetermined approximation condition with respect to the state vector VB of the target runner (step S208). The approximation condition may be satisfied, for example, when the distance (e.g., Euclidean distance) between the state vector VA of the user U1 and the state vector VB of the target runner is less than a preset threshold.
[0071] If it is determined that the state vector VA of user U1 and the state vector VB of the target runner do not satisfy the approximation condition ("NO" in step S208), the CPU 11 executes an advice determination process, which will be described later, to determine the advice to be presented to the user U1 (step S209). The CPU 11 also transmits information about the determined advice to the terminal device 20, and causes the terminal device 20 to present the advice to the user U1 (step S210). When step S210 ends, the CPU 11 returns the process to step S205, and executes steps S205 to S210 again in accordance with the next run of the user U1 to present the next advice to the user U1.
[0072] In step S208, if it is determined that the state vector VA of the user U1 and the state vector VB of the target runner satisfy the similarity condition ("YES" in step S208), the CPU 11 ends the advice presentation process.
[0073] FIG. 11 is a flowchart showing a control procedure for advice determination processing. When the advice determination process is called, the CPU 11 derives the combined state of the state vector VA of the user U1 and the state vector VB of the target runner (step S301). The combined state may be, for example, a (2×M)-dimensional vector obtained by combining the state vector VA of the user U1 and the state vector VB of the target runner. Alternatively, the combined state may be derived using a trained model that uses the state vector VA of the user U1 and the state vector VB of the target runner as inputs and estimates the combined state of these two state vectors V as output.
[0074] The CPU 11 estimates the value of each of the multiple pieces of advice prepared in advance using the advice value estimation model 135 that has undergone reinforcement learning to estimate the value of the advice as an output, using the derived connection state and the advice as input (step S302).
[0075] The CPU 11 determines, from among the plurality of pieces of advice, the advice with the highest value estimated using the advice value estimation model 135 as the advice to be presented to the user U1 (step S303). When step S303 is completed, the CPU 11 returns the process to the advice presentation process.
[0076] The flowchart shown in FIG. 10 is an example of the advice presentation process, and various modifications are possible. For example, a single exercise session may be divided into multiple periods (e.g., a first half and a second half), and advice may be provided for each of the multiple periods. In this case, steps S205 to S210 in FIG. 10 are performed for the first period of the multiple periods, and then steps S205 to S210 are performed for the next period. Thereafter, steps S205 to S210 are performed sequentially for all periods. In this case, advice may be provided in step S210 during exercise (i.e., in real time). Information related to the target runner who is the exercise goal for each of the multiple periods may be changed for each of the multiple periods. If information related to the target runner is changed for each period, when the processing of step S210 for a certain period is completed, the process returns to step S203 instead of step S205, and information related to the target runner for the next period is acquired (step S203), and the state vector VB is estimated (step S204). Furthermore, when user U1 exercises multiple times, steps S205 to S210 may be executed for each of the multiple exercises. The multiple exercises may include two or more exercises with different exercise types (e.g., sprinting, long-distance running, etc.). For each of the two or more exercises with different exercise types, different target runner information corresponding to the exercise type is set. When step S210 is completed for a certain exercise, if the type of the certain exercise and the type of the next exercise are different (i.e., if the information related to the target runner to be used is different), the process returns to step S203 instead of step S205, and information related to the target runner corresponding to the next exercise type is acquired (step S203), and the state vector VB is estimated (step S204). The target runner corresponding to each exercise type may be set based on an instruction from user U1, or may be set by CPU 11 according to the type of exercise, the user's attributes and characteristics, etc. Furthermore, before starting exercise, the exercise application 231 may present the user U1 with a selection screen for selecting the type of exercise.
[0077] <Advice Value Estimation Model> The advice value estimation model 135 is a learning model (trained model) that has been subjected to reinforcement learning (e.g., Q-learning) to estimate the value of the advice as output, using as input the state vector VA of a user (a learning target in the learning of the advice value estimation model, not limited to user U1) and the combined state of the state vector VB of the target runner associated with the user, and advice. This learning model may, for example, be one that uses a neural network, but is not limited to this. The advice value estimation model 135 can also be said to function as an "advice value function" that takes the combined state and advice as arguments and returns the value of the advice. The combined state corresponds to a "state" in reinforcement learning, and the advice corresponds to an "action" in reinforcement learning.
[0078] More specifically, the advice value estimation model 135 is reinforced learned so that when a certain piece of advice is presented in a first combined state (e.g., a combined state based on the user's exercise history up to the i-th time), if the distance (e.g., Euclidean distance) between the user's state vector VA and the target runner's state vector VB is equal to or less than a reference value in the next second combined state (e.g., a combined state based on the user's exercise history up to the (i+1)th time), a predetermined reward is given, and this reward is propagated to the value derived in each combined state prior to the first combined state. In other words, the advice value estimation model 135 is reinforced learned so that when a certain piece of advice is presented in the first combined state, if the distance between the user's state vector V and the target runner's state vector V is equal to or less than a reference value in the next second combined state, the value of the certain piece of advice and the value of advice presented prior to the certain piece of advice are increased.
[0079] According to the advice value estimation model 135 thus subjected to reinforcement learning, it is possible to select the most effective advice at that time in order to realize a state in which the running of user U1 and the running of the target runner will be closest in the future (eventually) rather than simply selecting advice that will make the next running of user U1, the target user U1, closest to that of the target runner. In other words, it is possible to select appropriate advice from a long-term perspective in order to make the running of user U1 closest to that of the target runner.
[0080] FIG. 12 is a diagram illustrating a method for performing reinforcement learning on the advice value estimation model 135 using Q-learning. In Fig. 12, the advice value estimation model 135 is represented by a shaded rectangular block. Furthermore, each piece of information (data) used in the reinforcement learning process is represented by a parallelogram block with non-right angles. Furthermore, in Fig. 12, the processing flow is represented by steps S401 to S413. The reinforcement learning processing shown in Fig. 12 is executed in the server 10 under the control of the CPU 11. However, without being limited to this, it may be executed in an information processing device provided outside the server 10.
[0081] Q-learning uses a buffer (not shown) that stores the suggested advice [i] (D11) presented to the user (learning target) for the i-th exercise, the user's state vector VA[i] (D12) estimated based on the i-th exercise, the state vector VB (D13) of the target runner associated with the user, and the user's state vector VA[i+1] (D14) estimated based on the (i+1)-th exercise. The (i+1)-th exercise is the next exercise in which the user has improved their form, etc., based on the suggested advice [i] (D11).
[0082] In Q-learning, first, the combined state [i] (D15) of the user's state vector VA[i] (D12) and the target runner's state vector VB (D13) is derived (step S401) and input into the advice value estimation model 135 (step S402). As a result, the value (D16) of each of the multiple pieces of advice for the combined state [i] is estimated (predicted) and output (step S403). From the value (D16) of each of the multiple pieces of advice, the value (D17) of the presented advice [i] (D11) presented to the user for the i-th exercise is extracted (step S404).
[0083] Furthermore, the combined state [i+1] (D18) of the user's state vector VA[i+1] (D14) and the target runner's state vector VB (D13) is derived (step S405) and input to the advice value estimation model 135 (step S406). Here, the user's state vector VA[i+1] (D14) is the state vector VA estimated by inputting input information IA including the presented advice [i] into the state estimation model 132. As a result, the value (D19) of each of the multiple pieces of advice for the combined state [i+1] is estimated (predicted) and output (step S407). Furthermore, the maximum value (hereinafter referred to as the "maximum advice value") (D20) of each of the values of these multiple pieces of advice is identified (step S408).
[0084] Meanwhile, a reward to be awarded in reinforcement learning is derived based on the user's state vector VA[i+1] (D14) and the target runner's state vector VB (D13) (step S409). Here, if the distance (e.g., Euclidean distance) between the user's state vector VA[i+1] (D14) and the target runner's state vector VB (D13) is less than a reference value, the reward is set to "1," and if the distance is equal to or greater than the reference value, the reward is set to "0." The derived reward is set to reward[i+1] (D21) in the combined state [i+1] resulting from the presentation of the presented advice [i] (step S410).
[0085] Once the maximum advice value (D20) and reward [i+1] (D21) are derived, the learning advice value is derived using the following formula (1) (step S411). γ in formula (1) is a discount rate that indicates how much the maximum advice value in a certain connection state is discounted and propagated to the value in the previous connection state. Learning advice value = reward [i + 1] + (γ × maximum advice value) (1)
[0086] Then, the error (D23) between the value (D17) of the presented advice [i] and the learning advice value of formula (1) is derived (step S412), and feedback is provided to the advice value estimation model 135 so as to minimize this error (D23) (step S413), and the advice value estimation model 135 is trained. In this training, for example, the weights and biases used when converting information in each neuron of the neural network that constitutes the advice value estimation model 135 are adjusted by the backpropagation technique.
[0087] The above-described processing of steps S401 to S413 is repeatedly executed for multiple runs performed by the user to allow learning. Furthermore, similar processing is repeatedly executed based on the runs of multiple different users to allow learning. Through this process, the advice value estimation model 135 is trained to estimate a higher value for advice that will most closely resemble the running of a user and the running of a target runner in the future, in any connection state for that user. The Q-learning shown in FIG. 12 is performed before the server 10 is shipped from the factory, i.e., before the exercise support system 1 starts providing its services. However, this is not limited to this, and the Q-learning may be performed after the server 10 is shipped from the factory, i.e., after the exercise support system 1 starts providing its services. Furthermore, after Q-learning is performed before shipping from the factory, additional Q-learning may be performed after shipping from the factory to update the learning status of the advice value estimation model 135.
[0088] <Effects> As described above, the information processing method according to this embodiment estimates a state vector VC representing a potential motion state (behavioral state) of a learning subject based on input information IA serving as estimation information including information on the user U1's (subject's) motion history while running, in accordance with a state estimation model 132 machine-learned based on input information IC serving as learning information including information on the learning subject's motion history while running (a certain behavior). The state vector VA is thus obtained, with parameters representing the user U1's potential motion state as elements. Such a state vector VA includes information related to the potential motion state, such as "what value a certain running index will have when running a certain distance at a certain speed (pace)," "how the running state will change after certain advice is presented," and "what speed and distance the user usually runs." Therefore, information related to the potential motion state can be estimated and used even if the user U1 does not actually perform an exercise that would result in the potential motion state.
[0089] Furthermore, the state estimation model 132 is machine-learned to reduce the error between the parameters (in the above embodiment, the distance, speed, and index values of the running index) of the next exercise to be performed by the learning subject, predicted based on the state vector VC of the learning subject, and the parameters of the next exercise actually performed by the learning subject. This allows the state estimation model 132 to be machine-learned to estimate a state vector V from which parameters closer to the parameters of the actually performed exercise can be extracted. Therefore, the state estimation model 132 can estimate a state vector V that more accurately represents a potential exercise state.
[0090] Furthermore, the exercise advice to be presented to the user U1 is determined based on the estimated state vector VA of the user U1. This makes it possible to present advice that comprehensively takes into account the potential exercise state estimated from the user's running history, etc., rather than advice that focuses only on one aspect of the user's exercise state, such as a single run or a single running index of the user U1.
[0091] Furthermore, by inputting input information IB as goal estimation information, including information related to the exercise history of a target runner who is a target for user U1, into the state estimation model 132, a target state vector VB is estimated, and advice to be provided to user U1 is determined based on the estimated state vector VA of user U1 and the estimated target state vector VB. This makes it possible to provide advice to help user U1 approach the running style of the target runner, for example. Furthermore, by using the state vector VA and the state vector VB, advice can be provided based on, for example, the potential exercise state of user U1 and the potential exercise state of the target runner. For example, even if the usual running distance and pace of user U1 differ from the usual running distance and pace of the target runner, advice to approach the running style of user U1 and the target runner can be provided based on, for example, a comparison of estimated running indices when user U1 and the target runner run under certain common conditions.
[0092] Furthermore, the combined state of the estimated state vector VA of user U1 and the estimated target state vector VB is used as input, and the value of each of the plurality of pieces of advice is acquired using an advice value estimation model 135 that has undergone reinforcement learning to estimate the value of each of the plurality of pieces of advice as output, and advice to be presented to user U1 is determined based on the acquired value of each of the plurality of pieces of advice. This makes it possible to determine appropriate advice for user U1 to approach the running style of the target runner from a long-term perspective, taking into account, for example, the potential motion state of user U1 and the potential motion state of the target runner.
[0093] Furthermore, among the plurality of pieces of advice, the advice to be presented to the user U1 is determined to be the advice with the highest value obtained using the advice value estimation model 135. This makes it possible to determine appropriate advice in a simple manner based on the level of the obtained value.
[0094] Furthermore, the advice value estimation model 135 is reinforced learned so that when a certain piece of advice is presented in a certain combined state, and the distance between the state vector VA of the user being learned and the target state vector VB is equal to or less than a reference value in the next combined state, the value of the certain piece of advice and the value of the advice presented before the certain piece of advice increase. By using the advice value estimation model 135 thus reinforced learned, it is possible to select not only the advice that will bring user U1's next run closest to that of the target runner, but also the most effective advice at that time in order to realize a state in which user U1's running and the target runner's running will be closest in the future (eventually). In other words, it is possible to select appropriate advice that will bring user U1's running closest to that of the target runner from a long-term perspective.
[0095] Furthermore, the input information IA as estimation information includes multiple different parameters related to the exercise of the user U1 (in the above embodiment, parameter information IpA including a distance parameter Pa, a speed parameter Pb, an index parameter Pc, and an advice parameter Pd) and time information ItA related to the time point when the exercise corresponding to each of these multiple parameters was performed. This makes it possible to estimate a state vector VA representing the potential exercise state of the user U1, taking into account changes over time of multiple runs by the user U1.
[0096] Furthermore, the certain exercise is running, and the multiple parameters include a distance parameter Pa relating to the running distance, a speed parameter Pb relating to the running speed, and an index parameter Pc relating to an index representing the body movement during running. This makes it possible to estimate a state vector VA representing the potential exercise state of user U1 by taking into account the running conditions included in the exercise history of user U1 and the body movement of user U1 under those conditions.
[0097] The plurality of parameters also includes an advice parameter Pd that represents advice previously given to the user U1. By including the advice parameter Pd in the input information I, it is possible to estimate the state vector VA taking into account changes in the running of the user U1 in response to the advice.
[0098] The state estimation model 132 also converts each of the multiple parameters in the input information IA serving as estimation information into a parameter vector of a predetermined number of dimensions that reflects the time information ItA, converts each of the multiple parameter vectors corresponding to the multiple parameters in the input information IA into an encoded vector containing information relating to the relationship between each of the multiple parameter vectors and other parameter vectors in the multiple parameter vectors, and derives a state vector VA based on the multiple encoded vectors corresponding to the multiple parameters in the input information IA. Converting each of the multiple parameters into a parameter vector with the same number of dimensions enables multiple parameters with different amounts of information to be handled in a unified manner. Furthermore, by incorporating the time information ItA into the parameter vectors, it is possible to incorporate changes in the time series of multiple runs by the user U1 into the multiple parameter vectors. Furthermore, by converting each parameter vector into an encoded vector containing information relating to the relationship between each of the multiple parameter vectors and deriving the state vector VA based on the resulting multiple encoded vectors, it is possible to comprehensively incorporate the exercise history of the user U1 into the elements of the state vector VA.
[0099] Furthermore, the input information IA as estimation information includes user information IuA (target information) related to at least one of the attributes and characteristics of the user U1, which allows the state vector VA to be estimated taking into account the influence of at least one of the attributes and characteristics of the user U1 on the motion state.
[0100] The input information IA as estimation information includes user information IuA (target information) related to at least one of the attributes and characteristics of the user U1, and the state estimation model 132 derives the state vector VA based on multiple coded vectors corresponding to multiple parameters in the input information IA and the user information IuA. This makes it possible to estimate the state vector VA taking into account the influence of at least one of the attributes and characteristics of the user U1 on the motion state.
[0101] Furthermore, the server 10 as an information processing device according to this embodiment includes a CPU 11 as a processing unit that estimates a state vector VA representing a potential motion state (behavioral state) of a user U1 based on input information IA as estimation information including information on the motion history of the user U1 (subject) who was running, in accordance with a state estimation model 132 machine-learned based on input information IC as learning information including information on the motion history of the user U1 (subject) who was running, so as to estimate a state vector VC representing a potential motion state (behavioral state) of the subject. This results in a state vector VA having parameters representing the potential motion state of the user U1 as elements. By using this state vector VA, information related to the potential motion state can be estimated and used even if the user U1 does not actually perform an exercise that would result in the potential motion state.
[0102] Furthermore, the program 131 according to this embodiment causes the CPU 11, which is a computer provided in the server 10, which is an information processing device, to execute a process of estimating a state vector VA representing a potential motion state (behavioral state) of the user U1 based on input information IA as estimation information including information on the motion history of the user U1 (subject) who was running, in accordance with a state estimation model 132 machine-learned based on input information IC as learning information including information on the motion history of the user U1 (subject) who was running, so as to estimate a state vector VC representing a potential motion state (behavioral state) of the user U1. This results in a state vector VA having parameters representing the potential motion state of the user U1 as elements. By using this state vector VA, information related to the potential motion state can be estimated and used even if the user U1 does not actually perform an exercise that results in the potential motion state.
[0103] <Other> The description in the above embodiment is merely an example of the information processing method, information processing device, and program according to the present invention, and the present invention is not limited to this. For example, in the above embodiment, the processing performed by the server 10 as an information processing device may be executed by the terminal device 20. In this case, the terminal device 20 corresponds to the information processing device, and the CPU 21 of the terminal device 20 corresponds to the processing unit. In the above embodiment, the processing performed by the server 10 as an information processing device may be executed by the wearable device 30. In this case, the wearable device 30 corresponds to the information processing device, and the CPU 31 of the wearable device 30 corresponds to the processing unit.
[0104] The terminal device 20 and the wearable device 30 may also be integrated. For example, if the terminal device 20 has a sensor unit, the terminal device 20 may detect body movements due to the user's exercise, and the wearable device 30 may be omitted. Furthermore, if the wearable device 30 can perform the functions that the terminal device 20 performed in the above embodiment, the terminal device 20 may be omitted.
[0105] Furthermore, at least some of the learning models (state estimation model 132, distance / speed estimation model 133, index value estimation model 134, and advice value estimation model 135) stored in the memory unit 13 may be stored in an external storage device provided outside the server 10. In this case, the CPU 11 only needs to acquire the output of the learning model from the external storage device. Furthermore, at least some of the driving history DB 136, user DB 137, and advice DB 138 may be stored in an external storage device provided outside the server 10.
[0106] Furthermore, the configuration of the state estimation model 132 is not limited to that shown in Fig. 8. The state estimation model 132 may have any configuration as long as it outputs a state vector V in response to input of input information I.
[0107] Furthermore, the state vector V may be used for purposes other than estimating the advice value. For example, multiple users may be relatively evaluated based on evaluation indices obtained from the state vector V using a converter, and multiple users may be ranked based on the evaluation results.
[0108] Furthermore, the parameter information Ip in the input information I need only include information related to the user's exercise history, and is not limited to that exemplified in the above embodiment. For example, at least some of the distance parameter Pa, speed parameter Pb, and index parameter Pc may be omitted, or parameters other than these may be included. Furthermore, in the case of exercise other than running, parameters appropriate for the exercise may be used as appropriate. Furthermore, when the state vector V is used for a purpose other than estimating the advice value, the input information I omitting the advice parameter Pd may be input to the state estimation model 132.
[0109] Furthermore, in the input information I to the state estimation model 132, the user information Iu may be omitted.
[0110] Furthermore, the object whose state vector is to be estimated is not limited to a human, as long as it is capable of performing a movement. For example, the object whose state vector is to be estimated may be an animal, a robot, or the like.
[0111] Furthermore, although running is given as an example of a certain exercise performed by the subject or learning subject, it is not limited to this and may be, for example, walking, cycling, etc. Furthermore, the certain exercise is not necessarily limited to exercise involving movement and may be exercise, such as calisthenics or strength training.
[0112] Furthermore, although exercise has been exemplified as the target's behavior and a motion state related to exercise has been exemplified as the behavioral state, the present invention is not limited thereto, and the behavioral state may be a state related to any behavior performed by the target. For example, the behavior may be studying performed by the target (studying for a qualification exam, or studying at school or a cram school, etc.), and the behavioral state may represent the state of study performed by the target. In this case, the state vector V represents the target's potential study state, and includes, for example, information related to the target's estimated level of understanding of questions that have not yet been given to the target.
[0113] In the above description, an example has been disclosed in which the storage units 13, 23, and 33 are used as computer-readable media for the program according to the present invention, but the present invention is not limited to this example. Other computer-readable media may be used, such as information recording media including HDDs, SSDs, flash memories, and CD-ROMs. Furthermore, a carrier wave may also be used as a medium for providing data for the program according to the present invention via a communication line.
[0114] Furthermore, it goes without saying that the detailed configurations and operations of the components of the server 10, the terminal device 20, and the wearable device 30 in the above embodiment can be modified as appropriate without departing from the spirit of the present invention.
[0115] Although the embodiments of the present invention have been described, the scope of the present invention is not limited to the above-described embodiments, but includes the scope of the invention described in the claims and its equivalents. The inventions described in the claims originally attached to this application are as follows. The claim numbers described in the appendix are the same as those of the claims originally attached to this application. [Note] <Claim 1> In order to estimate a state vector representing a latent behavioral state of a learning subject, a state estimation model is machine-learned based on learning information including information related to a behavioral history of the learning subject when the learning subject was performing a certain behavior, and a state vector representing a latent behavioral state of the learning subject is estimated based on estimation information including information related to a behavioral history of the target when the learning subject was performing the certain behavior. Information processing methods. <Claim 2> the state estimation model is machine-learned to reduce an error between at least one parameter of a next action to be performed by the learning subject, which is predicted based on the state vector of the learning subject, and the at least one parameter of the next action actually performed by the learning subject. 2. The information processing method according to claim 1. <Claim 3> Deciding advice relating to an action to be presented to the subject based on the estimated state vector of the subject 3. The information processing method according to claim 1 or 2. <Claim 4> Estimating a state vector of a target by inputting target estimation information including information related to a behavior history of a target object that is a target of the target into the state estimation model; The advice to be presented to the subject is determined based on the estimated state vector of the subject and the estimated state vector of the goal. The information processing method according to claim 3. <Claim 5> Using an advice value estimation model that has been reinforced learned to use a combined state of the estimated subject state vector and the estimated goal state vector as an input and to estimate the value of each of a plurality of pieces of advice as an output, obtain a value of each of the plurality of pieces of advice; The advice to be presented to the subject is determined based on the value of each of the plurality of pieces of advice obtained. 5. The information processing method according to claim 4. <Claim 6> Among the plurality of pieces of advice, the advice having the highest value obtained using the advice value estimation model is determined as the advice to be presented to the target. 6. The information processing method according to claim 5. <Claim 7> The advice value estimation model is reinforced learning such that when a certain piece of advice is presented in a certain combination state, and the distance between the subject's state vector and the goal's state vector is equal to or less than a reference value in the next combination state, the value of the certain piece of advice and the value of advice presented before the certain piece of advice increase. 7. The information processing method according to claim 5 or 6. <Claim 8> The estimation information includes a plurality of parameters of different types related to the target's behavior, and time information related to a time point when the behavior corresponding to each of the plurality of parameters was performed. 8. The information processing method according to claim 3. <Claim 9> The certain behavior is running or walking. The plurality of parameters include at least one of a parameter related to the distance of the running or walking, a parameter related to the speed of the running or walking, and a parameter related to an index representing the body movement during the running or walking. 9. The information processing method according to claim 8. <Claim 10> The plurality of parameters includes a parameter representing the advice previously presented to the subject. 10. The information processing method according to claim 8 or 9. <Claim 11> The state estimation model is converting each of the plurality of parameters in the estimation information into a parameter vector having a predetermined number of dimensions and reflecting the time information; converting each of the plurality of parameter vectors corresponding to the plurality of parameters in the estimation information into an encoded vector including information relating to a relationship with each of the plurality of parameter vectors; deriving the state vector based on the plurality of coded vectors corresponding to the plurality of parameters in the estimation information; 11. The information processing method according to claim 8. <Claim 12> The estimation information includes object information related to at least one of attributes and characteristics of the object. 12. The information processing method according to claim 1. <Claim 13> the estimation information includes object information related to at least one of attributes and characteristics of the object, The state estimation model derives the state vector based on the plurality of coded vectors corresponding to the plurality of parameters in the estimation information and the target information. 12. The information processing method according to claim 11. <Claim 14> The system includes a processing unit that estimates a state vector representing a potential behavioral state of a learning object based on estimation information including information related to the behavioral history of the object that has been performing a certain behavior, in accordance with a state estimation model that has been machine-learned based on learning information including information related to the behavioral history of the learning object that has been performing the certain behavior, so as to estimate a state vector representing a potential behavioral state of the learning object. Information processing device. <Claim 15> A computer provided in the information processing device In order to estimate a state vector representing a latent behavioral state of a learning subject, a process is executed to estimate a state vector representing a latent behavioral state of the learning subject based on estimation information including information related to the behavioral history of the target that has been performing a certain behavior, in accordance with a state estimation model machine-learned based on learning information including information related to the behavioral history of the learning subject that has been performing the certain behavior. program. [Explanation of symbols]
[0116] 1 Exercise support system 10 Server (information processing device) 11 CPU (processing unit) 12 RAM 13 Storage section 131 Programs 132 State Estimation Model 1321 Parameter Vector Generation Unit 1322 Time information assignment unit 1323 Transformer Encoder 1324 GAP Department 1325 Combination and Conversion Unit 133 Distance and Speed Estimation Model 134 Index Value Estimation Model 135 Advice Value Estimation Model 136 Driving history DB 137 User DB 138 Advice DB 14 Communications Department 15 Bus 20 Terminal equipment 21 CPU 22 RAM 23 Memory section 231 Exercise Apps 24 Display 25 Control section 26 Communications Department 27 Bus 30 Wearable Devices 31 CPU 32 RAM 33 Storage section 331 Program 34 Sensor section 35 Location information acquisition section 36 Communications Department 37 Bus I, IA Input information (information for estimation) I, IB Input information (information for target estimation) I, IC input information (learning information) Ip, IpA, IpB, IpC parameter information (multiple parameters) It, ItA, ItB, ItC Time information Iu, IuA, IuB, IuC user information (target information) N Network Pa distance parameter Pb kinetic parameters Pc index parameter Pd Advice Parameter U1 users (target) V, VA, VB, VC state vectors
Claims
1. In order to estimate a state vector representing the behavioral state of a learning subject, a state estimation model is machine-learned based on learning information including information related to the behavioral history of the learning subject when the learning subject was performing a certain behavior, and a state vector representing the behavioral state of the learning subject is estimated based on estimation information including information related to the behavioral history of the target when the learning subject was performing the certain behavior, the state vector including: (1) an index indicating what value a certain driving index value will be when the target is traveling a certain distance at a certain speed; (2) an index indicating how the subsequent traveling state will change when a certain advice is presented to the target; and (3) an index indicating what speed and what distance the target normally travels; Estimating a state vector of a target by inputting target estimation information including information related to a behavior history of a target object that is a target of the target into the state estimation model; determining the advice to be presented to the subject based on the estimated state vector of the subject and the estimated state vector of the goal; obtaining a value for each of a plurality of pieces of advice based on the estimated state vector of the subject and the estimated state vector of the goal; The advice to be presented to the subject is determined based on the value of each of the plurality of pieces of advice obtained. Information processing methods.
2. The state estimation model is machine-trained to reduce an error between at least one parameter of a next action to be performed by the learning subject, which is predicted based on the state vector of the learning subject, and the at least one parameter of the next action actually performed by the learning subject. The information processing method according to claim 1 .
3. The information processing method according to claim 1 or 2, wherein the estimation information includes a plurality of parameters of different types related to the target's behavior and time information related to a time point when the behavior corresponding to each of the plurality of parameters was performed.
4. The certain behavior is running or walking. The plurality of parameters include at least one of a parameter related to the distance of the running or walking, a parameter related to the speed of the running or walking, and a parameter related to an index representing the movement of the body during the running or walking. The information processing method according to claim 3 .
5. The plurality of parameters includes a parameter representing the advice previously presented to the subject.
5. The information processing method according to claim 3 or 4.
6. The estimation information includes object information related to at least one of attributes and characteristics of the object. The information processing method according to any one of claims 1 to 5.
7. In order to estimate a state vector representing the behavioral state of a learning subject, a state estimation model is machine-learned based on learning information including information related to the behavioral history of the learning subject when the learning subject was performing a certain behavior, and a state vector representing the behavioral state of the learning subject is estimated based on estimation information including information related to the behavioral history of the target when the learning subject was performing the certain behavior, the state vector including: (1) an index indicating what value a certain driving index value will be when the target is traveling a certain distance at a certain speed; (2) an index indicating how the subsequent traveling state will change when a certain advice is presented to the target; and (3) an index indicating what speed and what distance the target normally travels; Estimating a state vector of a target by inputting target estimation information including information related to a behavior history of a target object that is a target of the target into the state estimation model; determining the advice to be presented to the subject based on the estimated state vector of the subject and the estimated state vector of the goal; obtaining a value for each of a plurality of pieces of advice based on the estimated state vector of the subject and the estimated state vector of the goal; a processing unit that determines the advice to be presented to the target based on the value of each of the plurality of pieces of advice obtained; Information processing device.
8. A computer provided in the information processing device In order to estimate a state vector representing the behavioral state of a learning subject, a state estimation model is machine-learned based on learning information including information related to the behavioral history of the learning subject when the learning subject was performing a certain behavior, and a state vector representing the behavioral state of the learning subject is estimated based on estimation information including information related to the behavioral history of the target when the learning subject was performing the certain behavior, the state vector including: (1) an index indicating what value a certain driving index value will be when the target is traveling a certain distance at a certain speed; (2) an index indicating how the subsequent traveling state will change when a certain advice is presented to the target; and (3) an index indicating what speed and what distance the target normally travels; Estimating a state vector of a target by inputting target estimation information including information related to a behavior history of a target object that is a target of the target into the state estimation model; determining the advice to be presented to the subject based on the estimated state vector of the subject and the estimated state vector of the goal; obtaining a value for each of a plurality of pieces of advice based on the estimated state vector of the subject and the estimated state vector of the goal; Execute a process of determining the advice to be presented to the target based on the value of each of the plurality of pieces of advice obtained. program.
Citation Information
Patent Citations
Advice generation method, advice generation program, and advice generation system
JP2017006192A