Prediction device, prediction method, and prediction program
The prediction system improves the accuracy of menstrual cycle predictions by correcting learning model outputs with feature information, addressing the challenge of insufficient and varying data inputs while reducing costs.
Patent Information
- Application Number
- JP2024114803
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-18
- Publication Date
- 2026-01-29
AI Technical Summary
Conventional techniques for predicting physiological information, such as menstrual cycles, face challenges in accuracy due to insufficient and varying data inputs, leading to high costs when using multiple learning models to address this issue.
A prediction system that acquires output information from a learning model and corrects it based on feature information, such as high temperature period days and event information, to enhance prediction accuracy without requiring multiple models.
Enables highly accurate prediction of physiological information at low cost by correcting output information using feature information, even with varying data inputs.
Smart Images

Figure 2026013984000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a prediction device, a prediction method, and a prediction program. [Background technology]
[0002] As a technique for predicting physiological information related to menstruation, such as menstrual cycle, there is known a technique for predicting a user's menstrual cycle from basal body temperature data during the menstrual cycle by using a learning model (for example, Patent Document 1 listed below). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2023-43688 Summary of the Invention [Problem to be solved by the invention]
[0004] Conventional techniques can accurately predict physiological information by using a learning model. However, to accurately predict physiological information, it is preferable that the number of data input into the learning model is sufficient and similar for each user. However, in many cases, the number of data is insufficient due to reasons such as forgetting to measure or a short measurement period, and the number of data varies from user to user. Therefore, there is room for improvement in the accuracy of physiological information prediction based on the learning model.
[0005] To improve the accuracy of prediction of physiological information based on a learning model, for example, it is possible to use multiple learning models corresponding to the number of data. In this case, although it is possible to accurately predict physiological information from a sufficient number of data, generating and updating multiple learning models is costly, and therefore it is necessary to predict physiological information at low cost.
[0006] Therefore, the present disclosure proposes a prediction device, a prediction method, and a prediction program that enable highly accurate prediction of physiological information at low cost. [Means for solving the problem]
[0007] In order to solve the above problems, the prediction device disclosed herein is characterized by comprising an acquisition unit that acquires output information output from a learning model that outputs physiological information related to menstruation in response to input body temperature data, and a correction unit that corrects the output information acquired by the acquisition unit based on feature information, which is information that affects menstruation. [Effects of the Invention]
[0008] According to one aspect of the embodiment, it is possible to predict physiological information with high accuracy at low cost. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating an overview of a prediction system according to a first embodiment. [Figure 2] FIG. 1 is a diagram for explaining a menstrual cycle. [Figure 3] FIG. 10 is a diagram illustrating an example of a means for using a learning model that receives data with a uniform number as input. [Figure 4] FIG. 10 is a diagram illustrating an example of a means for using multiple learning models according to the number of pieces of data. [Figure 5] FIG. 10 is a diagram illustrating an example of a means for using a second learning model that receives output information from a first learning model as input. [Figure 6] FIG. 4 is a diagram for explaining an example of correction processing according to the first embodiment. [Figure 7] FIG. 1 is a diagram illustrating an example of the configuration of a prediction device according to a first embodiment. [Figure 8] FIG. 2 illustrates an example of a learning data storage unit. [Figure 9] FIG. 4 is a diagram illustrating an example of a body temperature data storage unit. [Figure 10] FIG. 2 is a diagram illustrating an example of the configuration of a user terminal according to the first embodiment. [Figure 11]FIG. 1 is a diagram (1) for explaining an example of a reception process according to the first embodiment. [Figure 12] FIG. 10 is a diagram (2) for explaining an example of the reception process according to the first embodiment. [Figure 13] FIG. 10 is a diagram (3) for explaining an example of the reception process according to the first embodiment. [Figure 14] FIG. 2 is a diagram illustrating an example of the configuration of a measuring device according to the first embodiment. [Figure 15] 5 is a flowchart showing the procedure of a learning process according to the first embodiment. [Figure 16] 10 is a flowchart showing the procedure of a prediction process according to the first embodiment. [Figure 17] 10 is a flowchart showing the procedure of a correction process according to the first embodiment. [Figure 18] FIG. 10 is a diagram illustrating an example of a means for using a plurality of learning models corresponding to a plurality of clusters. [Figure 19] FIG. 10 is a diagram illustrating an overview of a prediction device according to a second embodiment. [Figure 20] FIG. 10 is a diagram illustrating an example of the configuration of a prediction device according to a second embodiment. [Figure 21] FIG. 2 is a hardware configuration diagram illustrating an example of a computer that realizes the functions of the prediction device. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the following embodiments, the same components are designated by the same reference numerals, and redundant description will be omitted.
[0011] (1. First embodiment) (1-1. Overview of the Prediction System According to the First Embodiment) 1 is a diagram illustrating an overview of a prediction system according to a first embodiment. The prediction system 1 according to the first embodiment includes a prediction device 100, which is an example of a prediction device according to the present disclosure, a user terminal 200, and a measuring device 300. The devices included in the prediction system 1 are capable of transmitting and receiving data to and from each other via wireless communication or the like.
[0012] The prediction device 100 is an information processing device such as a cloud server. For example, the prediction device 100 predicts physiological information of a user 20 based on a learning model 50 that outputs physiological information related to the physiology of the user 10 in response to input body temperature data of the user 10.
[0013] The body temperature data may be, for example, data indicating the basal body temperature itself or data related to the basal body temperature. Data related to the basal body temperature may be, for example, a body temperature estimated based on the skin temperature and the external temperature, such as a core body temperature used to calculate a representative temperature for a day, such as the basal body temperature.
[0014] The menstrual information includes, for example, the menstrual cycle, which is the number of days from the start date of the previous menstruation (start date of menstruation) to the start date of the next menstruation, the start date of menstruation, the day of ovulation, the low temperature period, the high temperature period, and the like.
[0015] User 10 is a general term for a user who provides data used when the prediction device 100 trains the learning model 50. User 20 is a general term for a user who transmits data to the prediction device 100 or obtains a prediction result of physiological information based on the transmitted data. In the example of FIG. 1, there are multiple users 10 and multiple users 20. In the following description, when there is no need to distinguish between user 10 and user 20, they will simply be referred to as users. In addition, user 10 and user 20 may refer to the same user.
[0016] The user terminal 200 is a terminal device used by the user 10 or the user 20. For example, the user terminal 200 is a smartphone, a tablet terminal, or the like.
[0017] Measuring device 300 is a measuring device that has the function of measuring the user's body temperature. For example, measuring device 300 is stored in the user's clothing, such as underwear. Measuring device 300 also acquires body temperature data by measuring the user's body temperature periodically (for example, at a fixed time every night).
[0018] The menstrual cycle is periodic. The menstrual cycle will be explained below with reference to Fig. 2. Fig. 2 is a diagram for explaining the menstrual cycle.
[0019] Graph 280 in Figure 2 shows changes in body temperature during the menstrual cycle, with the vertical axis representing body temperature and the horizontal axis representing days. The horizontal axis of graph 280 starts from the first day of menstruation. As shown in graph 280, the menstrual cycle enters a low temperature period 282 around the first day of menstruation, and then enters a high temperature period 281 around ovulation day 283 due to the influence of hormones secreted with ovulation.
[0020] As such, because there is a pattern to the menstrual cycle, by statistically processing body temperature data using a learning model, it is possible to predict physiological information to a certain extent.
[0021] On the other hand, in order to accurately predict physiological information, it is preferable that the number of data input into the learning model is sufficient and similar for each user. However, there are often cases where the number of data is insufficient due to forgetting to measure or a short measurement period, resulting in variation in the amount of data for each user.
[0022] For example, there are variations in the measurement conditions and measurement periods for each user, missing data due to forgetting to measure, and the amount of data itself varies greatly depending on the length of the measurement period, making it difficult to obtain a sufficient amount of data. For this reason, there is room for improvement in the accuracy of physiological information prediction based on learning models.
[0023] In order to improve the accuracy of prediction of physiological information based on a learning model, it is possible to interpolate missing values in the data or make the number of data uniform, for example.
[0024] For example, missing data due to forgetting to measure for a day or two can be addressed by interpolation. On the other hand, if the amount of data varies greatly from user to user, it is difficult to accurately predict physiological information from the interpolated data, even if a large amount of data is interpolated to match the large amount of data.
[0025] Therefore, in order to accurately predict physiological information, it is conceivable to take a means of using a learning model that receives input of data with uniform numbers. An example of a means of using a learning model that receives input of data with uniform numbers will be described below with reference to Figure 3. Figure 3 is a diagram for explaining an example of a means of using a learning model that receives input of data with uniform numbers.
[0026] The learning model 60 in FIG. 3 is a model that can be used to learn a small number of data sets when the number of data sets of multiple users is different. This is a learning model trained using data (learning data that combines body temperature data, which is an explanatory variable, and the start date of menstruation and ovulation date, which are target variables).
[0027] The learning data may be learning data of user 10 who is the same user as user 20, or learning data of user 10 as a collective term for multiple users who provide learning data.
[0028] For example, suppose that one user's data is a small number of data measured over a short measurement period, such as about one month, which corresponds to one menstrual cycle, while the other user's data is a large number of data measured over a measurement period that is sufficiently longer than one menstrual cycle, such as the most recent two months or more. In this case, the learning model 60 is trained using data in which the number of data is aligned toward the small number of data.
[0029] Unlike learning using a large number of uniform data, the learning model 60 does not need to significantly interpolate the small number of data to match the large number of data, so it can accurately predict physiological information even when the number of data varies greatly from user to user.
[0030] On the other hand, when making predictions based on time-series data such as body temperature data, the accuracy of the prediction is often affected by trends in past data. On the other hand, the learning model 60 predicts physiological information without using past data, even if the data has been measured over a long period of time. Therefore, the method shown in FIG. 3 leaves room for improvement in the accuracy of physiological information prediction.
[0031] In order to further improve the accuracy of prediction of physiological information based on a learning model, one possible approach is to use a plurality of learning models, each corresponding to a different number of data.
[0032] An example of a means for using a plurality of learning models corresponding to the respective amounts of data will be described below with reference to Fig. 4. Fig. 4 is a diagram for explaining an example of a means for using a plurality of learning models corresponding to the respective amounts of data.
[0033] In Figure 4, we assume that there is variation in the measurement conditions and measurement periods for the data of multiple users. In this case, a first learning model 70 is used, which is trained using only data from a small number of users measured over a short measurement period, and a second learning model 80 is used, which is trained using only data from a large number of users measured over a long measurement period. Of these learning models, the learning model to be used for prediction is selected depending on the measurement conditions and measurement period of the data.
[0034] For example, when the first learning model 70 is selected as the learning model to be used for prediction, it is possible to predict the user's physiological information even if a small amount of user data is input to the first learning model 70. When the second learning model 80 is selected as the learning model to be used for prediction, if a large amount of user data is input to the second learning model 80, it is possible to predict the user's physiological information with higher accuracy than when the first learning model 70 is used.
[0035] In this way, by using the method shown in FIG. 4, it is possible to accurately predict physiological information from a sufficient amount of data.
[0036] On the other hand, generating and updating multiple learning models is costly. Furthermore, a method is needed that can generate learning models that can accurately predict physiological information without securing a sufficient amount of data. Therefore, there is room for improvement in terms of cost in the method shown in Figure 4.
[0037] Another example of a method for further improving the accuracy of prediction of physiological information based on a learning model is to use a second learning model that receives output information from the first learning model as input.
[0038] An example of a means for using a second learning model that receives output information from a first learning model as input will be described below with reference to Fig. 5. Fig. 5 is a diagram for explaining an example of a means for using a second learning model that receives output information from a first learning model as input.
[0039] In FIG. 5, learning and prediction are performed by inputting data adjusted based on the output results output from a first learning model 70A in response to data input into a second learning model 80A. In this way, ensemble learning, which improves the prediction accuracy of machine learning by combining multiple learning models, can further improve the accuracy of physiological information prediction. However, even with the method shown in FIG. 5, multiple learning models are still generated. Therefore, the method shown in FIG. 5 has room for improvement in terms of cost.
[0040] As described above, when predicting physiological information based on a learning model, there is room for improvement in either accuracy or cost. Therefore, the prediction system 1 aims to predict physiological information with high accuracy at low cost.
[0041] To solve the above-mentioned problems, the prediction system 1 acquires output information from a learning model 50 that outputs physiological information related to menstruation in response to input body temperature data. Then, the prediction system 1 corrects the acquired output information based on feature information, which is information that has an effect on menstruation.
[0042] The output information is, for example, the next menstruation start date of the user 20, the next ovulation date, the probability that the menstruation start date will be a predetermined day later, and the like, which are output from the learning model 50.
[0043] The characteristic information is, for example, high temperature period day count information regarding the number of days in the high temperature period, event information, physical information, etc. The event information is, for example, the situation and number of daily events that affect the menstrual cycle, such as stress, drinking, exercise, hospital visits, medication, and menstruation. The physical information is, for example, physical information such as age, height, and weight. The characteristic information may be learning data of only user 20 who is the same user as user 10, or may be characteristic information of user 20 as a collective term for multiple users who have similar characteristics.
[0044] An example of processing by prediction system 1 will be described below using Figure 1. First, the processing (learning phase) up to when prediction device 100 generates learning model 50 will be described. Measuring device 300 measures basal body temperature data of user 10 while user 10 is sleeping wearing clothing or the like containing measuring device 300 (step S1). Measuring device 300 transmits the measured basal body temperature data to user terminal 200 (step S2).
[0045] The user terminal 200 displays the basal body temperature data acquired from the measuring device 300 using a dedicated app or the like provided by the prediction device 100. The user terminal 200 transmits the basal body temperature data as learning data to the prediction device 100 (step S3). For example, the user terminal 200 transmits the basal body temperature data for one menstrual cycle as learning data, using the menstruation start date as a flag.
[0046] The prediction device 100 stores the learning data acquired from the user terminal 200. Thereafter, when a sufficient amount of learning data, such as one menstrual cycle's worth, has been accumulated, the prediction device 100 generates a learning model 50 for predicting physiological information (step S4). For example, the prediction device 100 trains the learning model 50 by machine learning using learning data that combines the basal body temperature data of the user 10, which is an input variable, and the menstruation start date and ovulation date of the user 10, which are output variables.
[0047] Next, we will explain the process (inference phase) in which prediction device 100 predicts physiological information using learning model 50. Measuring device 300 measures basal body temperature data of user 20 while user 20 is sleeping wearing clothing or the like containing measuring device 300 (step S11). Measuring device 300 transmits the measured basal body temperature data to user terminal 200 (step S12).
[0048] The user terminal 200 displays the basal body temperature data acquired from the measuring device 300 on the app, and then accepts input of characteristic information from the user 20 (step S13). For example, the user terminal 200 accepts input of high temperature period number of days information regarding the number of days in the high temperature period as characteristic information. Upon accepting input of characteristic information, the user terminal 200 transmits the basal body temperature data and characteristic information to the prediction device 100 (step S14).
[0049] The prediction device 100 inputs the basal body temperature data received from the user terminal 200 into the learning model 50. The prediction device 100 acquires the start date of the next menstruation of the user 20 output from the learning model 50 as output information. Next, the prediction device 100 corrects the output information based on the feature information received from the user terminal 200 (step S15).
[0050] An example of the correction process will be described below with reference to Fig. 6. Fig. 6 is a diagram for explaining an example of the correction process according to the first embodiment.
[0051] For example, when a small amount of data is input to the learning model 50, the prediction device 100 does not correct the prediction result, which is the output information output from the learning model 50.
[0052] On the other hand, when a large amount of data measured over a long period of time is input to the learning model 50, the prediction device 100 corrects the prediction result, which is the output information output from the learning model 50, to a prediction result' based on the feature information.
[0053] For example, if the average number of days in the high temperature period in the past for a user 20 who has provided a large amount of data is below the first threshold or above the second threshold, the prediction device 100 corrects the prediction result of the learning model 50, that is, the next menstruation start date, to a prediction result' that is earlier or later by a specified number of days.
[0054] In this way, in the example of FIG. 6, when a large amount of data measured over a long period of time is input to the learning model 50, the prediction device 100 performs correction processing according to the number of days of high temperature periods in the past.
[0055] Returning to the explanation of FIG. 1, the prediction device 100 transmits the corrected output information to the user terminal 200 (step S16). In this case, the prediction device 100 can also control the content displayed in the app on the user terminal 200. For example, the prediction device 100 controls the app to display a message such as "Your next period starts on XX / YY." Alternatively, the prediction device 100 controls the app to display a message such as "Your next ovulation date is XX / YY."
[0056] As described above, the prediction device 100 corrects the output information output from the learning model 50 based on the feature information, and therefore can predict physiological information with higher accuracy even when the number of data items is different. Furthermore, the prediction device 100 can predict physiological information with high accuracy even when using a single learning model 50 instead of multiple learning models. Therefore, the prediction device 100 enables highly accurate prediction of physiological information at low cost.
[0057] (1-2. Configuration of the Prediction Device According to the First Embodiment) Next, a configuration example of the prediction device 100 according to the first embodiment will be described with reference to Fig. 7. Fig. 7 is a diagram showing a configuration example of the prediction device according to the first embodiment.
[0058] 7, the prediction device 100 includes a communication unit 110, a storage unit 120, and a control unit 130. The prediction device 100 may also include an operation reception unit (e.g., a keyboard, a mouse, etc.) that receives various operations from an administrator who manages the prediction device 100, and a display unit (e.g., a liquid crystal display, etc.) that displays various information.
[0059] The communication unit 110 is realized by, for example, a network interface controller or the like. The communication unit 110 is connected to a network N (for example, the Internet) by wire or wirelessly, and transmits and receives information to and from the user terminal 200 or the like via the network N. For example, the communication unit 110 transmits and receives information using a communication standard or communication technology such as Wi-Fi (registered trademark), SIM (Subscriber Identity Module), or LPWA (Low Power Wide Area).
[0060] The storage unit 120 is realized by, for example, a semiconductor memory element such as a RAM (Random Access Memory) or a flash memory, or a storage device such as a hard disk or an optical disk. The storage unit 120 includes a training data storage unit 121, a model storage unit 122, and a body temperature data storage unit 123.
[0061] The learning data storage unit 121 stores learning data used for learning the learning model 50. An example of the learning data storage unit 121 will be described with reference to FIG. 8. FIG. 8 is a diagram showing an example of the learning data storage unit. In the example of FIG. 8, the learning data storage unit 121 has items such as "dataset ID," "data ID," "date," and "body temperature."
[0062] "Dataset ID" indicates identification information that identifies a dataset when data spanning one menstrual cycle is grouped together. "Data ID" is identification information that identifies each body temperature data. "Date" indicates the date on which the basal body temperature was measured. "Body temperature" indicates the specific numerical value of the measured basal body temperature data.
[0063] The model storage unit 122 stores the learning model 50 generated by the prediction device 100. The learning model 50 stored in the model storage unit 122 is updated by the generation unit 312, for example, at predetermined intervals or whenever a predetermined amount of learning data is accumulated.
[0064] The body temperature data storage unit 123 stores body temperature data used in prediction processing using the learning model 50. For example, the body temperature data storage unit 123 stores body temperature data.
[0065] An example of the body temperature data storage unit 123 will be described below with reference to Fig. 9. Fig. 9 is a diagram showing an example of the body temperature data storage unit 123. In the example of Fig. 9, the body temperature data storage unit 123 has items such as "user ID," "data ID," "date," and "body temperature."
[0066] "User ID" indicates identification information for identifying the user 20. Items other than the user ID correspond to the same items in FIG.
[0067] Returning to the explanation of Fig. 7, the control unit 130 is realized by, for example, a central processing unit (CPU), a micro processing unit (MPU), a graphics processing unit (GPU), or the like executing a program stored inside the prediction device 100 using a random access memory (RAM) or the like as a working area. The control unit 130 is also a controller, and is realized by, for example, an integrated circuit such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
[0068] The control unit 130 includes an acquisition unit 131 , a generation unit 132 , a prediction unit 133 , a selection unit 134 , a correction determination unit 135 , an input unit 136 , a correction unit 137 , and a transmission unit 138 .
[0069] The acquisition unit 131 acquires various data. For example, the acquisition unit 131 acquires basal body temperature data during a menstrual cycle as learning data. For example, the acquisition unit 131 controls a program (app) installed in the user terminal 200, and acquires the learning data from the user terminal 200 at the timing when the learning data is acquired by the user terminal 200, at a fixed time every day, etc.
[0070] Furthermore, the acquiring unit 131 acquires feature information. For example, the acquiring unit 131 acquires event information and physical information as feature information from the user terminal 200 before the physiological information is predicted by the predicting unit 133 described below.
[0071] Specifically, when the user terminal 200 receives input of event information or physical information from the user for the app, the acquisition unit 131 acquires the event information or physical information received as input by the user terminal 200 from the user terminal 200.
[0072] The acquisition unit 131 also acquires information on the number of days in the high temperature period by calculating the average number of days in the past high temperature period based on the body temperature data acquired from the user terminal 200. For example, the acquisition unit 131 extracts, from the body temperature data for the most recent month or more, a period in which the body temperature rose by a predetermined value or more within a predetermined period and remained above the predetermined value for a predetermined period or more as the number of days in the high temperature period. Next, the acquisition unit 131 acquires information on the number of days in the high temperature period based on the extracted number of days in the high temperature period.
[0073] As one example, when one number of days in the high temperature period is extracted from body temperature data for approximately the most recent one month, which corresponds to one menstrual cycle, the acquisition unit 131 regards the one number of days in the high temperature period as an average number of days in the high temperature period, and acquires the average number of days in the high temperature period as information on the number of days in the high temperature period. As another example, when multiple numbers of days in the high temperature period are extracted from body temperature data for two or more recent months, which corresponds to two or more menstrual cycles, the acquisition unit 131 acquires the average number of days in the high temperature period extracted as information on the number of days in the high temperature period.
[0074] In addition, when multiple numbers of days during the high temperature period are extracted, the acquisition unit 131 can also calculate the average number of days during the high temperature period by a means that excludes outliers such as the interquartile range from the multiple numbers of days during the high temperature period, instead of simply calculating the average number of days during the high temperature period that have been extracted.
[0075] Furthermore, after the learning model 50 is generated, the acquiring unit 131 acquires daily body temperature data from the user terminal 200. For example, the acquiring unit 131 acquires basal body temperature data. As one example, the acquiring unit 131 acquires a predetermined amount of body temperature data set (for example, body temperature data for one menstrual cycle) when a predetermined amount of body temperature data has accumulated, or on the day when the start of menstruation is observed, etc. As another example, the acquiring unit 131 acquires body temperature data from the user terminal 200 at the timing when the body temperature data is acquired by the user terminal 200, at a fixed timing every day, etc.
[0076] Furthermore, the acquisition unit 131 acquires output information output from the learning model 50. For example, the acquisition unit 131 acquires the start date of the next menstruation of the user 20 output from the learning model 50 as the output information.
[0077] The generation unit 132 generates a learning model 50 that predicts a menstrual cycle based on the learning data acquired by the acquisition unit 131. For example, the generation unit 132 performs predetermined machine learning on the learning data to generate a learning model 50 that outputs physiological information such as the start date of the next menstruation in response to input of new body temperature data.
[0078] The learning model 50 can also predict the low temperature period schedule and the high temperature period schedule, rather than predicting the dates such as the start date of the next menstruation. Generally, the high temperature period schedule is considered to be relatively stable, so the learning model 50 can estimate the menstrual cycle to be predicted by predicting the low temperature period schedule.
[0079] The generation unit 132 may use various machine learning means to generate the learning model 50. In other words, the learning means used by the generation unit 132 is not limited to any one means.
[0080] For example, the generation unit 132 performs learning using a regression analysis method with the number of days in the menstrual cycle of the user 10 as correct answer data (objective variable) and the basal body temperature data as influencing factors (explanatory variables). This allows the generation unit 132 to derive information such as what explanatory variables have influenced the prediction of the number of days in the menstrual cycle of the user 10.
[0081] An example of model generation will be described below. Note that the learning methods and models shown below are just examples, and the generation unit 132 may generate any model using various known methods.
[0082] For example, the generation unit 132 uses the number of days in the menstrual cycle in the learning data as the objective variable in the regression analysis. The number of days in the menstrual cycle is calculated based on the menstruation start date input by the user 10. The generation unit 132 also uses the basal body temperature data included in the body temperature dataset as the explanatory variable in the multiple regression analysis.
[0083] Furthermore, in the above example, the correct data is the number of days in the menstrual cycle of the user 10, but the correct data is not limited to this, and the correct data may be the number of days in the low temperature period, the start date of menstruation, the date of ovulation, or the like.
[0084] The prediction unit 133 predicts physiological information of the user 20 corresponding to the body temperature data from the newly acquired body temperature data based on the learning model 50 generated by the generation unit 132.
[0085] For example, the prediction unit 133 inputs body temperature data or body temperature data that has been processed to make predictions easier for the learning model 50 to the learning model 50. Next, the prediction unit 133 predicts the output information output from the learning model 50 as the start date of the next menstruation.
[0086] The prediction unit 133 can also predict the start date of the next menstruation by inputting the body temperature data for one menstrual cycle as a data set into the learning model 50. The prediction unit 133 can also input the body temperature data obtained from the user 20 each day into the learning model 50 in sequence, and update the prediction result based on the output information output each time.
[0087] The selection unit 134 selects feature information to be used in the correction process. For example, before the output information output from the learning model 50 is input to the input unit 136, the selection unit 134 selects feature information to be used in the correction process based on a predetermined criterion.
[0088] As an example, a case will be described in which a predetermined criterion is set so that the selection unit 134 preferentially selects information on the number of days in the high temperature period as characteristic information. In this case, if information on the number of days in the high temperature period is included in the characteristic information acquired by the acquisition unit 131, the selection unit 134 selects the information on the number of days in the high temperature period as characteristic information to be used for the correction process. If information on the number of days in the high temperature period is not included in the characteristic information acquired by the acquisition unit 131, the selection unit 134 selects event information or physical information as characteristic information to be used for the correction process.
[0089] As a result, the selection unit 134 preferentially selects, as characteristic information, information on the number of days in the high temperature period, which is expected to have the greatest influence on menstruation, and therefore, more accurate prediction of menstrual information becomes possible.
[0090] As another example, a case will be described in which a predetermined criterion is set so that the selection unit 134 selects all of the feature information acquired by the acquisition unit 131 as feature information to be used in the correction process. In this case, when the feature information acquired by the acquisition unit 131 is information on the number of days in the high temperature period, event information, and physical information, the selection unit 134 selects the information on the number of days in the high temperature period, the event information, and the physical information as feature information to be used in the correction process.
[0091] As a result, correction processing is performed based on all of the feature information acquired by the acquisition unit 131, making it possible to predict physiological information with higher accuracy.
[0092] Correction determination unit 135 determines whether or not the output information should be corrected based on the characteristic information. Below, an example will be described in which the characteristic information selected by selection unit 134 is information on the number of days in the high temperature period. In this case, if the average number of days in the high temperature period in the past for user 20 is equal to or less than a first threshold or equal to or greater than a second threshold, correction determination unit 135 determines that a correction should be made to advance or delay the start date of the next period, which is the output information, by a predetermined number of days.
[0093] In the above example, the correction determination unit 135 determines whether or not to perform correction based on two thresholds. However, the correction determination unit 135 can determine whether or not to perform correction based on one or any number of thresholds.
[0094] The correction determination unit 135 can also set a threshold value. For example, the correction determination unit 135 changes the threshold value based on user feedback on the corrected prediction result received from the user terminal 200 as feedback information on the feedback on the corrected prediction result. Note that the correction unit 137 may also be the entity that sets the threshold value.
[0095] The input unit 136 inputs the output information acquired by the acquisition unit 131 to the correction unit 137. For example, the input unit 136 inputs to the correction unit 137 the output information acquired by the acquisition unit 131 or output information that has been processed so that the correction unit 137 can easily perform correction.
[0096] The correction unit 137 corrects the output information based on the feature information used in the correction process. For example, when the correction determination unit 135 determines that correction is required, the correction unit 137 corrects the output information input to the input unit 136 based on the feature information used in the correction process selected by the selection unit 134.
[0097] As an example, the correction unit 137 corrects the output information based on the information on the number of days in the high temperature period selected as the characteristic information used in the correction process.
[0098] Specifically, if the average number of days in the high temperature period for user 20 in the past (for example, the most recent month or more) is equal to or less than a first threshold, correction unit 137 corrects the output information (for example, the start of the next period) to be earlier by a predetermined number of days. If the average number of days in the high temperature period for user 20 in the past is equal to or greater than a second threshold, correction unit 137 corrects the output information to be later by a predetermined number of days. On the other hand, if the average number of days in the high temperature period for user 20 in the most recent month or more is greater than the first threshold and less than the second threshold, correction unit 137 does not correct the output information.
[0099] In the above example, the first threshold and the second threshold are not particularly limited as long as they satisfy the relationship of first threshold < second threshold. Also, in the above example, the predetermined number of days for advancing the output information is not particularly limited.
[0100] In the above example, the correction unit 137 performed the correction process based on the two threshold values in three cases: "perform a correction to advance the start date of the next menstruation," "perform a correction to delay the start date of the next menstruation," and "no correction." However, the correction process is not limited to the above example. For example, the correction unit 137 may perform the correction process in two or more cases.
[0101] As one example, correction unit 137 performs correction processing based on one threshold, dividing it into two cases: "performing a correction to advance the start date of the next menstruation" and "performing a correction to delay the start date of the next menstruation." As another example, correction unit 137 performs correction processing based on one threshold, dividing it into two cases: "performing a correction to advance the start date of the next menstruation" and "no correction." As another example, correction unit 137 performs correction processing based on one threshold, dividing it into two cases: "performing a correction to delay the start date of the next menstruation" and "no correction."
[0102] When correcting the output information based on the number of days in the high temperature period selected as the characteristic information to be used in the correction process, the correction unit 137 can also perform a correction based on calculations instead of performing a correction process that is divided into two or more cases based on a threshold value.
[0103] For example, the correction unit 137 corrects the output information, which is the prediction result from the learning model 50, by using a value obtained by converting the average number of days in the high temperature period using arithmetic operations such as addition, subtraction, multiplication, and division. Specifically, the correction unit 137 determines the number of days "y'" by which to advance the start date of the next period by substituting the average number of days in the high temperature period in the past, "x'," into the following formula (1):
[0104] y´ = (15-x´)×0.5 (1)
[0105] Specifically, when "x'" is "13", "y'" is "1", so correction unit 137 corrects the start date of the next period to be earlier by one day. Also, when "x'" is "19", "y'" is "-2", so correction unit 137 corrects the start date of the next period to be later by two days. This allows correction unit 137 to change the specified number of days by which to advance or delay the start date of the next period, etc., in stages depending on the number of days in the high temperature period, such as by one day if the number of days in the high temperature period is 13, rather than fixing it to two days, etc.
[0106] The above formula (1) is merely an example. The formula used in the above calculation is not particularly limited as long as it advances the start date of the next period as the average number of days in the high temperature period is shorter, and delays the start date of the next period as the average number of days in the high temperature period is longer.
[0107] As another example, the correction unit 137 corrects the output information based on at least one of the status and the number of times of the event indicated by the event information selected as the feature information used in the correction process.
[0108] Specifically, the correction unit 137 corrects the next menstruation start date and ovulation date, which are output information, based on the number of occurrences of stress, which is one of the events. The number of occurrences of stress is, for example, the number of occurrences of event information that causes stress. Specifically, the number of occurrences of stress is the number of times "poor health" is "1" among the event information in which each subcategory, such as "poor health," "body," "lifestyle," "menstruation," "lack of sleep," and "alcohol," is assigned one of two values, "yes" ("1") or "no" ("0"), respectively.
[0109] Generally, when stress is high, the start date of the next menstruation or the ovulation date tends to be delayed, so when the number of occurrences of stress in the last few weeks is a predetermined number or more, the correction unit 137 performs a correction such as delaying the start date of the next menstruation or the ovulation date by a predetermined number of days or lengthening the low temperature period by a predetermined number of days. For example, when the number of occurrences of stress in the last two weeks is five or more, the correction unit 137 performs a correction such as delaying the start date of the next menstruation or the ovulation date by two days or lengthening the low temperature period by two days.
[0110] In this case, the correction unit 137 can also adjust the predetermined number of days for delaying the start date of the next period or the ovulation date or lengthening the low temperature period, further based on the timing and degree of stress occurrence. For example, the correction unit 137 multiplies the predetermined number of days by a coefficient with a larger value the greater the degree to which the timing of stress occurrence affects the period of the user 20. Furthermore, the correction unit 137 multiplies the predetermined number of days by a coefficient with a larger value the greater the stress value input by the user 20 as the degree of stress, for example.
[0111] In other words, the correction unit 127 delays the start date of the next period or the ovulation date or lengthens the low temperature period depending on whether the stress occurs a predetermined number of times or the extent to which the timing of the stress affects the menstruation of the user 20 or the degree of stress.
[0112] Furthermore, the correction unit 137 can also make corrections such as moving the start date of the next menstruation or the ovulation date, which are output information, forward or backward based on the timing of taking medicine or drinking alcohol, which is one of the events, instead of or in addition to the number of times, timing, or degree of stress.
[0113] As another example, the correction unit 137 corrects the output information based on physical information selected as feature information used in the correction process. Specifically, if the menstrual start date of user 20 is chronically earlier than the menstrual start date of user 10, the correction unit 137 performs a correction to advance the start date of the next menstruation by a predetermined number of days. Furthermore, since younger people generally tend to have longer menstrual cycles, if user 20 belongs to the younger age group, the correction unit 137 performs a correction to delay the start date of the next menstruation by a predetermined number of days.
[0114] As another example, the output information is corrected based on a plurality of pieces of characteristic information selected as the characteristic information to be used in the correction process. Specifically, when the information on the number of days in the high temperature period, the event information, and the physical information are selected as the characteristic information to be used in the correction process, the correction unit 137 performs corrections such as moving the start date of the next menstruation or the ovulation date forward or backward based on each of these pieces of characteristic information.
[0115] More specifically, if the average number of days in the high temperature period of user 20 over the past month or more is equal to or less than the first threshold, correction unit 137 advances the start of the next period by two days. Also, if the number of times stress has occurred over the past two weeks is five or more, correction unit 137 delays the start date of the next period or the ovulation date by two days. Also, if the start date of user 20's period is chronically earlier than the start date of user 10's period, correction unit 137 advances the start date of the next period by two days.
[0116] As a result, the correction unit 137 advances the start date of the next period by 2 days (=2 days-2 days+2 days), which is the total value of the correction values in the above example.
[0117] In the above example, correction unit 137 can also weight the correction values based on each of the multiple pieces of characteristic information. For example, correction unit 137 multiplies the correction value based on the information on the number of days in the high temperature period, which is expected to have the greatest effect on menstruation, by a weighting coefficient so that the correction value based on the information on the number of days in the high temperature period, which is expected to have the greatest effect on menstruation, is 1.5 times the correction value based on the other pieces of characteristic information.
[0118] In this case, if the average number of days in the high temperature period for user 20 over the past month or more is equal to or less than the first threshold, correction unit 137 advances the start of the next period by three days (=2 days×1.5). Similar to the example above, correction unit 137 delays the start date of the next period by two days based on the event information. Correction unit 137 also advances the start date of the next period by two days based on the physical information. As a result, correction unit 137 advances the start date of the next period by three days (=3 days−2 days+2 days), which is the sum of these correction values.
[0119] The correction unit 137 can also set a correction value. For example, the correction unit 137 changes the predetermined number of days to move the start date of the next menstruation or the ovulation date forward or backward, based on the user's feedback regarding the corrected prediction result received as feedback information from the user terminal 200. Note that the correction value may be set by the correction determination unit 135.
[0120] The transmission unit 138 transmits the output information corrected by the correction unit 137 to the user terminal 200 via the communication unit 110. In this case, the transmission unit 138 can also control the content displayed in the app of the user terminal 200. For example, the transmission unit 138 controls to display a message such as "The start date of your next period is XX month YY day" in the app. Alternatively, the transmission unit 138 controls to display a message such as "Your next ovulation date is XX month YY day" in the app.
[0121] Furthermore, the transmitting unit 138 can also transmit advice to the user 20 based on the output information corrected by the correcting unit 137. For example, the transmitting unit 138 transmits advice regarding the possibility of pregnancy or physical condition of the user 20 estimated from the menstrual cycle.
[0122] Specifically, the transmitting unit 138 transmits advice such as "The chances of successful pregnancy increase around XX month YY day" or "Be careful, as you are likely to feel unwell around XX month YY day" etc. Alternatively, the transmitting unit 138 transmits advice such as the presence of symptoms of menstrual irregularity, which suggests the possibility of pregnancy.
[0123] Furthermore, the transmission unit 138 can also transmit different advice to each user 20. For example, if the transmission unit 138 detects from the behavior history of the user 20 that an event of "feeling unwell" has occurred a predetermined number of times or more in the days before the start of menstruation, the transmission unit 138 transmits advice to the user 20 that the user may be in poor health. On the other hand, if the transmission unit 138 does not detect from the behavior history of the user 20 that an event of "feeling unwell" has occurred in the days before the start of menstruation, the transmission unit 138 does not transmit advice to the user 20 that the user may be in poor health.
[0124] Next, an example of the configuration of the user terminal 200 will be described with reference to Fig. 10. Fig. 10 is a diagram showing an example of the configuration of the user terminal according to the first embodiment. As shown in Fig. 10, the user terminal 200 includes a communication unit 210, a storage unit 220, and a control unit 230. The user terminal 200 may also include an operation reception unit (e.g., a touch panel) that receives various operations from the user, and a display unit (e.g., a liquid crystal display) that displays various information.
[0125] The communication unit 210 is realized by, for example, a network interface controller, etc. The communication unit 210 is connected to the network N by wire or wirelessly, and transmits and receives information to and from the prediction device 100, the measuring device 300, etc. via the network N.
[0126] The storage unit 220 is realized by, for example, a semiconductor memory element such as RAM or flash memory, or a storage device such as a hard disk or optical disk. The body temperature data storage unit 221 stores body temperature data measured by the measuring device 300. For example, the body temperature data storage unit 221 stores basal body temperature data.
[0127] The information stored in the body temperature data storage unit 221 is transmitted as learning data or body temperature data to the prediction device 100. The information stored in the body temperature data storage unit 221 may be stored in, for example, a data server on a cloud instead of being stored in the user terminal 200.
[0128] The control unit 230 is realized by, for example, a CPU, MPU, GPU, or the like executing a program stored inside the user terminal 200 using RAM or the like as a work area. The control unit 230 is a controller, and is realized by, for example, an integrated circuit such as an ASIC or FPGA. The control unit 230 includes an acquisition unit 231, a reception unit 232, and a transmission unit 233.
[0129] The acquisition unit 231 acquires, from the measurement device 300, basal body temperature data measured by the measurement device 300. The acquisition unit 231 also acquires the prediction results predicted by the prediction device 100 and displays them within the app.
[0130] The receiving unit 232 receives input of various information from the user via the app. For example, when the receiving unit 232 receives input of feature information, the receiving unit 232 stores the input in the storage unit 220. Specifically, when the receiving unit 232 receives input of event information as feature information, the receiving unit 232 stores the event information in the storage unit 220.
[0131] 11 to 13, an example of the reception process according to the first embodiment will be described, focusing on the case where the reception unit 232 receives event information. Fig. 11 is a diagram (1) showing an example of the reception process according to the first embodiment.
[0132] 11 displays a graph 251 showing the history of basal body temperature data as an app screen. The graph 251 includes a display 252 showing event information recorded in the history of basal body temperature data. Among the dates in the graph 251, a "◯" is displayed next to the date on which the user inputs any of the event information shown in the display 252.
[0133] When the reception unit 232 receives a selection of the button 253 included in the graph 251 from the user, the reception unit 232 transitions the screen of FIG. 11 to the screen of FIG.
[0134] 12 is a diagram (2) showing an example of the reception process according to the first embodiment. FIG. 12 shows an example in which a screen for inputting event information is displayed by the user terminal 200.
[0135] The reception unit 232 receives input from the user for the physical information 261 displayed on the screen of FIG. 12, and the selection of the event icon 262 or the event icon 263.
[0136] In the example of FIG. 12, the physical information 261 includes data on the user's weight as well as measured basal body temperature data.
[0137] The event icons 262 are icons indicating that an event related to the user's body has occurred. For example, among the event icons 262, "period" is an icon indicating that the user has had a period. "Feeling unwell" is an icon indicating that the user felt unwell. "Irregular bleeding" is an icon indicating that the user has had irregular bleeding. "Date of sexual intercourse" is an icon indicating that the user has had sexual intercourse. "Vaginal discharge" is an icon indicating that the user has had vaginal discharge.
[0138] Furthermore, the event icons 263 are icons indicating that an event related to the user's behavior has occurred. For example, among the event icons 263, "lack of sleep" is an icon indicating that the user has not slept enough. "Drinking" is an icon indicating that the user has drunk alcohol. "Exercise" is an icon indicating that the user has exercised. "Vacation" is an icon indicating that the user has taken a vacation.
[0139] For example, if there is a change in the registered user's weight, the receiving unit 232 receives from the user a correction to the weight data indicated by the physical information 261. In this way, the receiving unit 232 can also receive input of characteristic information via user input on the app screen. Furthermore, if there is an error in the measured basal body temperature data, the receiving unit 232 receives a correction to the basal body temperature data from the user.
[0140] Furthermore, when the user selects the event icon 264 corresponding to "lack of sleep," the event icon 264 changes to a display mode different from that of the other event icons (for example, a color different from that of the other event icons). In this case, the receiving unit 232 receives input of event information related to "lack of sleep" corresponding to the event icon 264.
[0141] When the user scrolls the screen downward, the reception unit 232 transitions the screen of Fig. 12 to the screen of Fig. 13. Fig. 13 is a diagram (3) showing an example of the reception process according to the first embodiment.
[0142] The reception unit 232 receives from the user the selection of the event icon 271 or the event icon 272 displayed on the screen of FIG.
[0143] The event icons 271 are icons indicating that an event related to the user's hospital or medication has occurred. For example, among the event icons 271, "hospital visit" is an icon indicating that a hospital visit has occurred. "Medication" is an icon indicating that medication has been taken.
[0144] The event icons 272 are icons related to the user's mood. For example, among the event icons 272, "bad" is an icon indicating that the mood on that day was bad (stress occurred). "Normal" is an icon indicating that the mood on that day was normal. "Good" is an icon indicating that the mood on that day was good.
[0145] The accepting unit 232 accepts the selection of the event icon 271 or the event icon 272 from the user, and thereby accepts as event information the presence or absence of stress, which is difficult to measure as quantitative data.
[0146] Furthermore, the receiving unit 232 receives input of notes about events that occurred on the day, etc., from the user in the note input field 273, thereby receiving input of event information corresponding to the notes.
[0147] In this case, the reception unit 232 analyzes the text data of the memo entered in the memo input field 273, thereby receiving input of event information corresponding to the memo. The reception unit 232 can also determine whether the sentence is negative or positive, and receive the good or bad mood corresponding to the determination result as event information. The reception unit 232 can also extract text data corresponding to drinking alcohol, taking medicine, etc. by performing morphological analysis on the memo, and then receive event information such as drinking alcohol, taking medicine, etc. based on the extracted data.
[0148] Returning to the description of Fig. 10, the transmission unit 233 transmits the body temperature data stored in the body temperature data storage unit 221 to the prediction device 100 via the communication unit 210 in response to a request from the prediction device 100.
[0149] Next, an example configuration of meter 300 will be described using Figure 14. Figure 14 is a diagram showing an example configuration of a meter according to the first embodiment. As shown in Figure 14, meter 300 includes a communication unit 310, a storage unit 320, a control unit 330, and a detection unit 340. Meter 300 may also include an operation reception unit (e.g., a touch panel) that receives various operations from the user, and a display unit (e.g., a liquid crystal display) that displays various information.
[0150] The communication unit 310 is realized by, for example, a network interface controller, etc. The communication unit 310 is connected to a network N by wire or wirelessly, and transmits and receives information to and from the prediction device 100, the user terminal 200, etc. via the network N.
[0151] Storage unit 320 is realized by, for example, a semiconductor memory element such as RAM or flash memory, or a storage device such as a hard disk or optical disk. Body temperature data storage unit 321 stores basal body temperature data measured by measuring device 300. The information stored in body temperature data storage unit 321 is transmitted to user terminal 200 at a predetermined timing (such as at a fixed time every day). The information stored in body temperature data storage unit 321 may be stored in, for example, a data server on the cloud instead of being stored in measuring device 300.
[0152] The detection unit 340 is a sensor that detects various types of data. For example, the detection unit 340 is a temperature sensor that measures body temperature. The detection unit 340 is not limited to detecting body temperature, but can also detect external environmental temperature, humidity, and the like.
[0153] The control unit 330 is realized by, for example, a CPU, MPU, GPU, or the like executing a program stored inside the measuring device 300 using RAM or the like as a work area. The control unit 330 is also a controller, and is realized by, for example, an integrated circuit such as an ASIC or FPGA. The control unit 330 includes a measuring unit 331 and a transmitting / receiving unit 332.
[0154] The measuring unit 331 measures the basal body temperature detected by the detecting unit 340. The measuring unit 331 stores the measured data in the body temperature data storage unit 321.
[0155] The transmitting / receiving unit 332 transmits the basal body temperature data measured by the measuring unit 331 to the user terminal 200. The transmitting / receiving unit 332 may also receive a request to transmit body temperature data from the user terminal 200. In this case, the transmitting / receiving unit 332 transmits the body temperature data that has been accumulated up to that point to the user terminal 200 upon receiving the request to transmit body temperature data.
[0156] (1-3. Processing Procedure According to the First Embodiment) Next, the processing procedure according to the first embodiment will be described with reference to Fig. 15 to Fig. 17. First, the learning processing procedure according to the first embodiment will be described with reference to Fig. 15. Fig. 15 is a flowchart showing the learning processing procedure according to the first embodiment.
[0157] 15, the acquiring unit 131 acquires learning data from the user terminal 200 (step S101). Subsequently, the acquiring unit 131 determines whether or not a sufficient amount of learning data has been accumulated, such as for one menstrual cycle (step S102). If the acquiring unit 131 determines that a sufficient amount of learning data has not been accumulated (step S102; No), the acquiring unit 131 repeats the process of acquiring learning data.
[0158] On the other hand, if the acquiring unit 131 determines that a sufficient amount of learning data has been accumulated (step S102; Yes), the generating unit 132 generates a learning model 50 based on the learning data (step S103). Subsequently, the generating unit 132 stores the generated learning model 50 in the model storage unit 122 (step S104).
[0159] Next, the procedure of the prediction process according to the first embodiment will be described with reference to Fig. 16. Fig. 16 is a flowchart showing the procedure of the prediction process according to the first embodiment.
[0160] 16, the acquiring unit 131 determines whether or not body temperature data has been acquired from the user terminal 200 (step S201). If the acquiring unit 131 determines that body temperature data has not been acquired (step S201; No), the acquiring unit 131 waits until body temperature data is acquired.
[0161] On the other hand, if it is determined that the acquisition unit 131 has acquired body temperature data (step S201; Yes), the prediction unit 133 executes the prediction process by inputting the body temperature data acquired by the acquisition unit 131 into the learning model 50 (step S202).
[0162] Next, the acquisition unit 131 acquires the output information output from the learning model 50 (step S203). Next, the correction unit 137 corrects the output information acquired by the acquisition unit 131 based on the feature information (step S204). Next, the transmission unit 138 transmits the output information corrected by the correction unit 137 to the user terminal 200 via the communication unit 110 (step S205).
[0163] Next, the procedure of the correction process according to the first embodiment will be described with reference to Fig. 17. Fig. 17 is a flowchart showing the procedure of the correction process according to the first embodiment. Steps S301 to S310 in Fig. 17 correspond to step S204 in Fig. 16. Fig. 17 describes an example in which the start date of the next menstruation is predicted based on information on the number of days in the high temperature period as characteristic information.
[0164] The correction determination unit 135 determines whether or not there is insufficient body temperature data (step S301). For example, if the body temperature data is measured in a measurement period shortly after the start date of the previous menstruation, such as less than eight days, the correction determination unit 135 determines that there is insufficient body temperature data. If the correction determination unit 135 determines that there is insufficient body temperature data (step S301; Yes), it determines that the output information from the learning model 50 should not be corrected. In this case, the correction unit 137 does not correct the output information (step S302).
[0165] If there is insufficient body temperature data, the prediction process based on the learning model 50 by the prediction unit 133 can be omitted before the above-mentioned correction process. This reduces the overall processing load of the prediction device 100.
[0166] If the correction determination unit 135 determines that the body temperature data is sufficient (step S301; No), it determines whether the body temperature data has many missing data (step S303). For example, if the body temperature data that should have been acquired for about one month has missing data for five days or more due to forgotten measurements, the correction determination unit 135 determines that the body temperature data has many missing data.
[0167] If the correction determination unit 135 determines that there are many missing parts in the body temperature data (step S303; Yes), it determines that the output information from the learning model 50 should not be corrected. In this case, the correction unit 137 does not correct the output information (step S304).
[0168] If the body temperature data contains many missing data, the prediction process based on the learning model 50 by the prediction unit 133 can be omitted before the above-described correction process. This reduces the overall processing load of the prediction device 100.
[0169] If the correction determination unit 135 determines that there are few missing parts in the body temperature data (step S303; No), the correction determination unit 135 determines whether or not it is possible to calculate the average number of days in the high temperature period in the past (step S305).
[0170] For example, when the acquisition unit 131 has acquired body temperature data for the most recent month or more, the correction determination unit 135 determines that it is possible to calculate the average value of past high temperature periods because it is possible for the acquisition unit 131 to extract the number of high temperature period days. On the other hand, when the acquisition unit 131 has acquired only body temperature data for less than the most recent month, the correction determination unit 135 determines that it is impossible to calculate the average value of past high temperature periods because it is impossible for the acquisition unit 131 to extract the number of high temperature period days.
[0171] If the correction determination unit 135 determines that the average value of the number of days in the past high temperature period can be calculated (step S305; Yes), it determines that the output information from the learning model 50 should be corrected. In this case, the correction determination unit 135 determines whether the average value of the number of days in the past high temperature period is greater than the first threshold and less than the second threshold (step S306).
[0172] On the other hand, if the correction determination unit 135 determines that it is impossible to calculate the average number of days in the past high temperature period (step S305; No), it determines that the output information from the learning model 50 should not be corrected. In this case, the correction unit 137 does not correct the output information (step S307).
[0173] If the correction determination unit 135 determines that the average number of days in the high temperature period in the past is greater than the first threshold and less than the second threshold (step S306; Yes), it determines that the output information from the learning model 50 should not be corrected. In this case, the correction unit 137 does not correct the output information (step S307).
[0174] If the correction determination unit 135 determines that the average number of days in the past high temperature period is equal to or less than the first threshold or equal to or greater than the second threshold (step S306; No), the correction determination unit 135 determines whether the average number of days in the past high temperature period is equal to or less than the first threshold (step S308). For example, the correction determination unit 135 determines whether the average number of days in the past high temperature period for at least the most recent month is equal to or less than the first threshold.
[0175] If the correction determination unit 135 determines that the average number of days in the high temperature period in the past is equal to or less than the first threshold (step S308; Yes), it determines that a correction should be made to advance the output information from the learning model 50. In this case, the correction unit 137 makes a correction to advance the prediction result, which is the output information from the learning model 50 (step S309). For example, if the average number of days in the high temperature period for the most recent month or more is equal to or less than the first threshold, the correction unit 137 makes a correction to advance the start of the next period by two days.
[0176] If the correction determination unit 135 determines that the average number of days in the high temperature period in the past is equal to or greater than the second threshold (step S308; No), it determines that a correction should be made to delay the output information from the learning model 50. In this case, the correction unit 137 makes a correction to delay the prediction result, which is the output information from the learning model 50 (step S310). For example, if the average number of days in the high temperature period over the most recent month or more is equal to or greater than the second threshold, the correction unit 137 makes a correction to delay the start of the next period by two days.
[0177] (2. Second Embodiment) (2-1. Overview of the Prediction Device According to the Second Embodiment) A prediction system 1A according to the second embodiment includes a prediction device 100A instead of the prediction device 100. The prediction device 100A performs correction based on multiple clusters as a correction based on feature information, instead of or in addition to the number of days in the high temperature period, event information, or physical information. The multiple clusters are information in which multiple pieces of data are classified based on domain knowledge or a method called clustering, which classifies data into groups with similar properties.
[0178] 18 and 19, an overview of the prediction device 100A according to the second embodiment will be described, comparing it with other means for accurately predicting physiological information when a plurality of pieces of data are classified into a plurality of clusters. FIG. 18 is a diagram for explaining an example of means for using a plurality of learning models corresponding to each of a plurality of clusters. FIG. 19 is a diagram for explaining an overview of the prediction device according to the second embodiment.
[0179] In order to predict physiological information with high accuracy when multiple pieces of data are classified into multiple clusters, one possible approach is to use multiple learning models corresponding to each of the multiple clusters, as shown in Figure 18, for example.
[0180] In Figure 18, when multiple data are classified into a first cluster, a second cluster, etc., a first learning model 70B using the first cluster as input, and a second learning model 80B using the second cluster as input, etc. are used.
[0181] Basal body temperature data is generally considered to have different waveforms depending on the type, such as Type (I) to Type (VI) below. Therefore, rather than predicting physiological information based on a single learning model, using a different learning model for each cluster, as in the method of Figure 18, may improve the accuracy of prediction. On the other hand, when using the method of Figure 18, a learning model must be created for each cluster, which is costly. Therefore, the method of Figure 18 has room for improvement in terms of cost. (I) Type in which the high temperature period lasts for 12 to 14 days and the low temperature period transitions to the high temperature period for 1 to 2 days (II) Type that takes more than a certain number of days (e.g., 3 days) to transition from the low temperature period to the high temperature period (III) Type in which body temperature during the high temperature period is unstable and rises and falls (IV) Type in which the low temperature period lasts for a long time (e.g., 25 days or more) and the high temperature period is relatively short (e.g., 12 days or more and 14 days or less). (V) Type with a short high temperature period (e.g., 9 days or less) (VI) Type that does not separate into two phases: high temperature and low temperature
[0182] In addition, in order to accurately predict physiological information when multiple data are classified into multiple clusters, another example can be considered: a means using a learning model that has also trained multiple clusters. Specifically, this means generates a learning model that outputs physiological information in response to input of body temperature data and a waveform type such as the above-mentioned types (I) to (VI), rather than a learning model that outputs physiological information in response to input of body temperature data.
[0183] On the other hand, when the waveform type is also input to the learning model, the learning model will be trained on a collection of waveform type data from the past few cycles. Therefore, a method is needed to generate a learning model that can accurately predict physiological information without securing a sufficient amount of data.
[0184] In response to this, the prediction device 100A performs a correction process for each of the plurality of pieces of output information output from the learning model 50, in which correction is performed based on a cluster, out of a plurality of clusters, that corresponds to each of the plurality of pieces of output information.
[0185] In Fig. 19, the prediction device 100A classifies a plurality of data into a first cluster, a second cluster, etc. For example, the prediction device 100A classifies each of a plurality of basal body temperature data into one of the six waveform types, Type (I) to Type (VI), as a plurality of clusters. Furthermore, the prediction device 100A inputs the first cluster, the second cluster, etc. into the learning model 50, and thereby obtains a plurality of pieces of output information output from the learning model 50 as prediction results.
[0186] The prediction device 100A corrects each of the multiple prediction results output from the learning model 50 to a prediction result'' based on a cluster corresponding to each of the multiple pieces of output information among the multiple classified clusters. For example, the prediction device 100A corrects the prediction result output from the learning model 50 in response to an input of a first cluster based on the first cluster. Furthermore, the prediction device 100A corrects the prediction result output from the learning model 50 in response to an input of a second cluster based on the second cluster.
[0187] As an example, we will explain the correction process performed by the prediction device 100A when multiple body temperature data are classified into multiple clusters and the above type (V) is input to the learning model 50. In this case, based on the property of type (V) that the number of days in the high temperature period is short, the prediction device 100A corrects the start date of the next period output from the learning model 50 in response to the input of type (V) by advancing it by a predetermined number of days.
[0188] As described above, prediction device 100A performs correction based on multiple clusters into which multiple body temperature data and the like are classified, as correction based on feature information. Therefore, prediction device 100A can predict physiological information with high accuracy even when the characteristics of the data differ in addition to the number of data, even if a single learning model 50 is used instead of multiple learning models. Therefore, prediction device 100A can predict physiological information with high accuracy at low cost, even when the characteristics of the data differ.
[0189] (2-2. Configuration of the Prediction Device According to the Second Embodiment) Next, a configuration example of a prediction device 100A according to the second embodiment will be described with reference to Fig. 20. Fig. 20 is a diagram showing a configuration example of a prediction device according to the second embodiment.
[0190] Prediction device 100A includes a control unit 130A instead of control unit 130. Control unit 130A further includes a classification unit 139. Furthermore, control unit 130A includes an acquisition unit 131A and a correction unit 137A instead of acquisition unit 131 and correction unit 137.
[0191] The classification unit 139 classifies the plurality of body temperature data into a plurality of clusters. For example, the classification unit 139 classifies the plurality of body temperature data into a plurality of clusters based on domain knowledge or clustering. Specifically, the classification unit 139 classifies each of the plurality of basal body temperature data into one of the six waveform types, Type (I) to Type (VI), as a plurality of clusters.
[0192] The classification unit 139 can classify a plurality of pieces of physical information into a plurality of clusters instead of or in addition to a plurality of pieces of body temperature data. For example, the classification unit 139 classifies each piece of physical information into one of the following two types, type (i) and type (ii). (i) Young and average-sized (ii) Elderly and obese type
[0193] The acquisition unit 131A acquires multiple pieces of output information output from the learning model 50 when multiple classified clusters are input to the learning model 50. For example, when the above types (I) to (VI) are input to the learning model 50, the acquisition unit 131A acquires the start date of the next period as output information corresponding to each of types (I) to (VI) output from the learning model 50.
[0194] The correction unit 137A performs correction on each of the acquired pieces of output information based on the cluster corresponding to each piece of output information, out of the classified clusters.
[0195] As an example, a correction process will be described for a case where the classification unit 139 classifies each of the plurality of body temperature data into one of the above types (I) to (VI), and the above type (V) is input to the learning model 50. In this case, based on the property of type (V) that the number of days in the high temperature period is short, the correction unit 137A corrects the start date of the next period output from the learning model 50 in response to the input of type (V) by advancing it by a predetermined number of days.
[0196] As another example, a correction process will be described for a case where each of a plurality of pieces of physical information is classified into either type (i) or (ii) by classification unit 139, and type (i), which is young and of a standard build, is input to learning model 50. In this case, correction unit 137A does not correct the start date of the next period output from learning model 50 in response to the input of type (i), based on the property of type (i) that the start date of the next period is standard.
[0197] Next, a correction process will be described for the case where each of the plurality of pieces of physical information is classified into either type (i) or (ii) by the classification unit 139, and type (ii), which is elderly and obese, is input to the learning model 50. In this case, based on the nature of type (ii) that the start date of the next period tends to be delayed, the correction unit 137A delays the start date of the next period output from the learning model 50 by a predetermined number of days in response to the input of type (ii).
[0198] (3. Modifications of the embodiment) In the above embodiment, an example has been shown in which user terminal 200 acquires basal body temperature data measured by measuring device 300. However, user terminal 200 does not necessarily have to acquire basal body temperature data from measuring device 300. For example, user terminal 200 may treat basal body temperature data directly input by the user as body temperature data or learning data.
[0199] In the above embodiment, the user terminal 200 transmits learning data to the prediction device 100, and the prediction device 100 generates the learning model 50. However, the user terminal 200 may generate the learning model 50 by itself based on the acquired learning data. That is, the user terminal 200 may have the function of the prediction device 100.
[0200] (4. Other Embodiments) The processing according to the above-described embodiment may be implemented in various different forms other than the above embodiment.
[0201] For example, among the processes described in the above embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using a known method. Furthermore, the information including the processing procedures, specific names, various data, and parameters shown in the above documents and drawings can be changed as desired unless otherwise specified. For example, the various information shown in each drawing is not limited to the information shown in the drawings.
[0202] Furthermore, the components of each device shown in the figure are conceptual functional components and do not necessarily have to be physically configured as shown in the figure. In other words, the specific form of distribution and integration of each device is not limited to that shown in the figure, and all or part of them can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc.
[0203] Furthermore, the above-described embodiments and modifications can be combined as appropriate within the scope of not causing any contradiction in the processing content.
[0204] Furthermore, the effects described in this specification are merely examples and are not limiting, and other effects may also be present.
[0205] (5. Effects of the Prediction Device According to the Present Disclosure) As described above, the prediction device according to the present disclosure (prediction device 100 in the embodiment) includes an acquisition unit (acquisition unit 131 in the embodiment) and a correction unit (correction unit 137 in the embodiment). The acquisition unit acquires output information output from a learning model (learning model 50 in the embodiment) that outputs physiological information related to physiology in response to input body temperature data. The correction unit corrects the output information acquired by the acquisition unit based on feature information, which is information that has an effect on physiology.
[0206] In this way, the prediction device according to the present disclosure corrects the output information output from the learning model based on the feature information, and therefore can predict physiological information with high accuracy even when the number of data items varies. Furthermore, the prediction device can predict physiological information with high accuracy even when using a single learning model instead of multiple learning models. Therefore, the prediction device enables highly accurate prediction of physiological information at low cost.
[0207] The prediction device further includes a selection unit (selection unit 134 in this embodiment) that selects feature information, and the correction unit corrects the acquired output information based on the feature information selected by the selection unit. This allows the prediction device to select feature information based on a predetermined standard, and therefore correct the output information based on feature information appropriate for the user.
[0208] The selection unit selects event information relating to events that affect menstruation as feature information, and the correction unit corrects the acquired output information based on at least one of the status and number of events indicated by the event information selected by the selection unit. As a result, the prediction device corrects the output information based on, for example, the status and number of events, and can therefore predict physiological information with higher accuracy even when event information is not included in the body temperature data.
[0209] The selection unit selects, as the characteristic information, information on the number of days in the high temperature period, and the correction unit corrects the acquired output information based on the information on the number of days in the high temperature period selected by the selection unit. This allows the prediction device to select, as the characteristic information, information on the number of days in the high temperature period that is expected to have the greatest effect on menstruation, thereby enabling more accurate prediction of menstrual information.
[0210] The prediction device further includes a classification unit (classification unit 139 in the embodiment) that classifies multiple body temperature data into multiple clusters, and the acquisition unit acquires multiple pieces of output information output from the learning model when the multiple clusters classified by the classification unit are input to the learning model, and the correction unit performs correction on each of the acquired pieces of output information based on the cluster corresponding to each of the multiple output information among the classified clusters.
[0211] In this way, the prediction device performs correction based on feature information, using multiple clusters into which multiple body temperature data, etc., are classified. Therefore, even when the characteristics of the data differ in addition to the number of data, the prediction device can predict physiological information with higher accuracy by using a single learning model rather than multiple learning models. Therefore, even when the characteristics of the data differ, the prediction device can predict physiological information with high accuracy at low cost.
[0212] (6. Hardware Configuration) Information devices such as the prediction device 100 and user terminal 200 according to the above-described embodiments are realized by a computer 1000 having a configuration as shown in FIG. 21, for example. The prediction device 100 will be described below as an example. FIG. 21 is a hardware configuration diagram showing an example of a computer that realizes the functions of the prediction device. The computer 1000 includes a CPU 1100, a RAM 1200, a ROM (Read Only Memory) 1300, an HDD (Hard Disk Drive) 1400, a communication interface 1500, and an input / output interface 1600. The components of the computer 1000 are connected by a bus 1050.
[0213] The CPU 1100 operates and controls each unit based on programs stored in the ROM 1300 or the HDD 1400. For example, the CPU 1100 loads the programs stored in the ROM 1300 or the HDD 1400 into the RAM 1200 and executes processing corresponding to the various programs.
[0214] The ROM 1300 stores boot programs such as a Basic Input Output System (BIOS) executed by the CPU 1100 when the computer 1000 is started, and programs that depend on the hardware of the computer 1000 .
[0215] HDD 1400 is a computer-readable recording medium that non-temporarily records programs executed by CPU 1100 and data used by such programs. Specifically, HDD 1400 is a recording medium that records a prediction program according to the present disclosure, which is an example of program data 1450.
[0216] The communication interface 1500 is an interface for connecting the computer 1000 to an external network 1550 (e.g., the Internet). For example, the CPU 1100 receives data from other devices and transmits data generated by the CPU 1100 to other devices via the communication interface 1500.
[0217] The input / output interface 1600 is an interface for connecting the input / output device 1650 and the computer 1000. For example, the CPU 1100 receives data from an input device such as a keyboard or a mouse via the input / output interface 1600. The CPU 1100 also transmits data to an output device such as a display, a speaker, or a printer via the input / output interface 1600. The input / output interface 1600 may also function as a media interface for reading programs and the like recorded on a predetermined recording medium. Examples of media include optical recording media such as a DVD (Digital Versatile Disc) or a PD (Phase Change Rewritable Disk), magneto-optical recording media such as an MO (Magneto-Optical disk), tape media, magnetic recording media, and semiconductor memories.
[0218] For example, when the computer 1000 functions as the prediction device 100 according to the embodiment, the CPU 1100 of the computer 1000 executes a prediction program loaded onto the RAM 1200, thereby realizing functions of the control unit 130 and the like. The HDD 1400 stores the prediction program according to the present disclosure and data in the storage unit 120. The CPU 1100 reads and executes program data 1450 from the HDD 1400, but as another example, the CPU 1100 may obtain these programs from another device via an external network 1550.
[0219] Although the embodiments of the present application have been described in detail above with reference to the drawings, these are merely examples, and the present invention can be embodied in other forms that incorporate various modifications and improvements based on the knowledge of those skilled in the art, including the aspects described in the Disclosure of the Invention section. [Explanation of symbols]
[0220] 100 Prediction Device 110 Communications Department 120 Storage section 121 Learning data storage unit 122 Model Memory Unit 123 Body temperature data storage unit 130 Control Unit 131 Acquisition Department 132 Generation part 133 Prediction Department 134 Selection Department 135 Correction judgment section 136 Input section 137 Correction Unit 138 Transmitter 200 user terminals 300 measuring instruments
Claims
1. an acquisition unit that acquires output information output from a learning model that outputs physiological information related to menstruation in response to input body temperature data; a correction unit that corrects the output information acquired by the acquisition unit based on characteristic information that is information that has an effect on physiology; A prediction device comprising:
2. a selection unit that selects the feature information, the correction unit corrects the output information acquired by the acquisition unit based on the feature information selected by the selection unit. The prediction device according to claim 1 .
3. the selection unit selects, as the feature information, event information relating to an event that has an effect on the physiology; the correction unit corrects the output information acquired by the acquisition unit based on at least one of a status and a number of times of the event indicated by the event information selected by the selection unit. The prediction device according to claim 2 .
4. the selection unit selects high temperature period number of days information regarding the number of days in the high temperature period as the characteristic information, The correction unit corrects the output information acquired by the acquisition unit based on the high temperature period number of days information selected by the selection unit. The prediction device according to claim 2 .
5. A classification unit that classifies the plurality of body temperature data into a plurality of clusters, the acquisition unit acquires a plurality of pieces of output information output from the learning model when a plurality of clusters classified by the classification unit are input to the learning model; the correction unit performs correction on each of the plurality of pieces of output information acquired by the acquisition unit based on a cluster corresponding to each of the plurality of pieces of output information among the plurality of classified clusters. The prediction device according to claim 1 .
6. The computer Obtain output information from a learning model that outputs physiological information related to menstruation in response to input body temperature data; correcting the acquired output information based on characteristic information that is information that has an effect on physiology; A prediction method characterized by:
7. Computer, an acquisition unit that acquires output information output from a learning model that outputs physiological information related to menstruation in response to input body temperature data; a correction unit that corrects the output information acquired by the acquisition unit based on characteristic information that is information that has an effect on physiology; A prediction program characterized by causing the program to function as a prediction device comprising:
Citation Information
Patent Citations
Menstrual cycle prediction device, menstrual cycle prediction method, menstrual cycle prediction program and menstrual cycle prediction system
JP2023043688A