Information processing program, advice method, and information processing apparatus
By using computer processing and leveraging Mahalanobis distance and correlations, the direction and amount of change in project values are repeatedly determined, enabling attribute data to move to the target area in dimensional space. This solves the problem that project value change suggestions are impractical in existing technologies and achieves effective health status improvement suggestions.
Patent Information
- Application Number
- CN202080102597.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-30
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2040-06-30
AI Technical Summary
In the existing technology, it is difficult to implement the proposed changes to project values, especially when there are scarce or impractical data points in the combination area of project values, making it difficult to carry out the proposed changes in reality.
Through computer processing, multiple attribute data and regional information are acquired. By utilizing Mahalanobis distance and correlation, the direction and amount of change of project values are repeatedly determined, so that the attribute data can be moved to the target area in the dimensional space, and change suggestions are output.
It implements realistic project value change suggestions, which can effectively guide users to take action to improve their health status and avoid unrealistic suggestions.
Smart Images

Figure CN115715399B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to an information processing program, a suggestion method, and an information processing apparatus. BACKGROUND
[0002] By using a machine learning or the like using a computer, a model that predicts a class to which a prediction target belongs, using a plurality of item values of the prediction target as input values, can be generated. At this time, there are cases where it is desired to specify how much each item value of the prediction target should be changed in order to change the class to which the prediction target belongs. For example, a person who is currently predicted to be unhealthy based on the results of a health diagnosis desires to specify which item value of the examination should be improved in order to be predicted to be healthy. At this time, it is considered to use a computer to suggest an item value that is suitable for the change.
[0003] As a technique related to a change suggestion of a prediction result, for example, an action amount generation device that efficiently calculates how the explanatory variable of the prediction target data should be changed and how much it should be changed in order to change the prediction result to a desired value is proposed.
[0004] Patent Literature 1: Japanese Patent Application Publication No. 2003-288580
[0005] However, there are cases where a change in an item value and a change amount thereof become unrealistic and difficult to achieve. For example, there are cases where data points corresponding to a plurality of elements included in training data used for generation of a model are plotted on a scatter diagram based on a plurality of item values of each element. At this time, if the item value of the element of the prediction target is updated according to the suggestion, there can be a case where the data point corresponding to the element moves through an area in which no other data point exists. The area in which no data point of the other element exists is an area that cannot become a combination of item values belonging to such an area, or an area in which it is very difficult to become such a combination of item values. Therefore, even if such a change suggestion of the item value through the area in which no data point of the other element exists is made, it is difficult to achieve the change suggestion as suggested. SUMMARY
[0006] In one aspect, an object of the present application is to achieve a realistic change suggestion of an item value.
[0007] In one aspect, an object of the present application is to achieve a realistic change suggestion of an item value.
[0008] The computer acquires a plurality of attribute data and information indicating a region range of a target value on a dimension space, the plurality of attribute data being attribute data of a combination of a plurality of item values, and including attribute data of an object. Next, the computer performs processing of deciding an item value as a variation object from a plurality of item values of the attribute data of the object and a variation direction with respect to the item value as the variation object, based on the attribute data of the object and distribution of at least a part of the plurality of attribute data on the dimension space. Then, the computer outputs information indicating a result of variation obtained by alternately repeating the processing of varying the item value as the variation object based on the variation direction until the attribute data of the object is included in the region range and the processing of deciding after the execution of the processing of varying.
[0009] According to one aspect, a realistic item value change suggestion can be realized. BRIEF DESCRIPTION OF DRAWINGS
[0010] The above and other objects, features and advantages of the present application will become more apparent from the following description when taken in conjunction with the accompanying drawings, in which:
[0011] Figure 1 FIG. 1 is a diagram indicating one example of a suggestion method of a first embodiment.
[0012] Figure 2 FIG. 5 is a diagram indicating one example of hardware of a suggestion device.
[0013] Figure 3 FIG. 7 is a diagram indicating one example of an action suggestion of changing an item value.
[0014] Figure 4 FIG. 8 is a diagram indicating one example of an action suggestion.
[0015] Figure 5 FIG. 9 is a diagram indicating one example of an action suggestion in a case of correlation nonlinearity between item values.
[0016] Figure 6 FIG. 10 is a diagram indicating one example of an action suggestion of a first section of moving on a path where data points exist.
[0017] Figure 7 FIG. 11 is a diagram indicating one example of an action suggestion of a second section of moving on a path where data points exist.
[0018] Figure 8 FIG. 12 is a diagram indicating one example of an action suggestion of a third section of moving on a path where data points exist.
[0019] Figure 9 FIG. 13 is a block diagram indicating one example of a function of a suggestion device.
[0020] Figure 10 is a diagram showing an example of attribute information.
[0021] Figure 11 is a diagram showing an example of area information.
[0022] Figure 12 is a diagram showing a setting example of area information.
[0023] Figure 13 is a flowchart showing an example of the order of the action suggestion process.
[0024] Figure 14 is a flowchart showing the order of the data point movement process of the moving object.
[0025] Figure 15 is a diagram showing an example of the determination of the movement destination from the movement destination candidate point.
[0026] Figure 16 is a diagram showing an example of the first action suggestion.
[0027] Figure 17 is a diagram showing an example of the second action suggestion.
[0028] Figure 18 is a diagram showing an example of the third action suggestion. DETAILED DESCRIPTION
[0029] Hereinafter, the present embodiment will be described with reference to the drawings. In addition, each embodiment can be implemented by combining a plurality of embodiments without contradiction.
[0030] [First Embodiment]
[0031] First, the first embodiment will be described.
[0032] Figure 1 is a diagram showing an example of the suggestion method of the first embodiment. In the first embodiment, the suggestion method is implemented by the information processing apparatus 10. Figure 1 The information processing apparatus 10 that implements the suggestion method of the first embodiment is shown. The information processing apparatus 10 can implement the suggestion method, for example, by executing a prescribed information processing program.
[0033] The information processing apparatus 10 has a storage section 11 and a processing section 12. The storage section 11 is, for example, a memory or a storage device that the information processing apparatus 10 has. The processing section 12 is, for example, a processor or an arithmetic circuit that the information processing apparatus 10 has.
[0034] The storage section 11 stores: a plurality of attribute data 1, each of which is a combination of a plurality of item values, and which includes an attribute data la of an object; and region information 2 indicating a region range of a target value on the dimensional space 3. For example, each of the plurality of attribute data 1 includes a value of a body fat rate and a value of a blood sugar level of a patient who receives a medical examination at a hospital or the like as item values. When the attribute data indicates a feature of a person or an object, the item values included in the attribute data can also be referred to as feature amounts. The attribute data la of the object is, for example, attribute data of a user who desires improvement of a health state. The region range of the target value on the dimensional space 3 is, for example, a range of a body fat rate and a blood sugar level that can be considered healthy. In the example of Fig. 1, the range of the region on the dimensional space 3 where the class is "positive" is the region range of the target value on the dimensional space 3. Figure 1
[0035] The processing section 12 acquires the plurality of attribute data 1 and the region information 2 from the storage section 11. Next, the processing section 12 statistically calculates a distribution of the attribute data la of the object and at least a part of the plurality of attribute data 1 on the dimensional space 3.
[0036] At least a part of the plurality of attribute data 1 used to calculate the distribution on the dimensional space 3 is, for example, attribute data within a prescribed range from the attribute data la of the object. The prescribed range is, for example, a range within a prescribed distance from a point corresponding to the attribute data la of the object, which is prescribed in accordance with an Lp-norm. The processing section 12 can also exclude attribute data of a position far from the region range of the target value from the attribute data used to calculate the distribution on the dimensional space 3, compared to the attribute data la of the object.
[0037] Then, the processing section 12 performs processing of deciding an item value to be changed and a direction of change with respect to the item value to be changed, from among the plurality of item values of the attribute data la of the object, on the basis of the calculated distribution. For example, the processing section 12 decides the item value to be changed and the direction of change with respect to the item value to be changed, in such a manner that the region range is approached via a region in which at least a part of the plurality of attribute data 1 is distributed on the dimensional space 3.
[0038] The processing section 12 alternately repeats the processing of changing the item value to be changed on the basis of the direction of change and the processing of deciding, after the execution of the processing of changing, until the attribute data la of the object is included in the region range. The processing section 12 can exclude attribute data of a direction in which the attribute data la of the object was located before the change, from the attribute data used to calculate the distribution on the dimensional space 3, in the deciding processing after the second time.
[0039] Then, the processing section 12 outputs information indicating a result of the performed change. The output information is, for example, used for a change suggestion of the item value.
[0040] In this way, by repeatedly determining the item value and its direction of change based on the distribution of attribute data, information can be output to move the object's attribute data 1a through the area of attribute data distribution to the area of the target value. By moving it through the area of attribute data distribution, suggestions for changing the item value that are consistent with reality can be made.
[0041] For example, if the item values are body fat percentage and blood sugar level, and the user's body fat percentage and blood sugar level are values indicating a high risk of developing a disease, then if the user inputs a desire to reduce the risk of developing a disease into the information processing device 10, the processing unit 12 will treat the user's attribute data as attribute data 1a of the object, and based on the distribution of the attribute data, repeatedly determine the item values to be changed and the direction of their change.
[0042] exist Figure 1 In the example, the distribution of other attribute data around the point in dimension 3 representing the attribute data 1a of the object is biased towards a direction parallel to the blood glucose value axis. Therefore, the processing unit 12 first determines the value of the item that is the object to be changed in the attribute data 1a of the object as "blood glucose value". The case where the blood glucose value changes from the point corresponding to the attribute data 1a of the object and approaches the region range that is the target value is the case of lowering the blood glucose value. Therefore, the processing unit 12 determines the direction of change of the item value that is the object to be changed as negative (the direction of lowering the value).
[0043] The processing unit 12 changes the "blood glucose level" of the object's attribute data 1a, which is the object to be changed, by a predetermined amount in the direction determined as the direction of change (the negative direction). The position of the object's attribute data 1a after the change is still not included in the area range of the target value. Therefore, the processing unit 12 determines the item value as the object to be changed and its direction of change again based on the distribution of other attribute data around the changed object's attribute data 1a.
[0044] exist Figure 1 In the example, the distribution of other attribute data (excluding attribute data in the direction of the original position) around the point in dimension 3 representing the attribute data 1a of the changed object is biased towards a direction parallel to the body fat percentage axis. Therefore, the processing unit 12 determines the item value of the object's attribute data 1a as "body fat percentage". The case of reducing body fat percentage is when the value of the body fat percentage changes from the point corresponding to the attribute data 1a of the object and approaches the area range designated as the target value. Therefore, the processing unit 12 determines the direction of change of the item value as negative, "the direction of value reduction".
[0045] The processing section 12 causes the item value "body fat rate" of the subject's attribute data 1a, which is the object of change, to change by a prescribed change amount in the direction (negative direction) determined as the direction of change. The position of the subject's attribute data 1a after the change is included in the range of the region that is the target value. Therefore, the processing section 12 outputs information indicating the result of the change performed.
[0046] The processing section 12 can suggest an action for the user's health improvement based on the output information. For example, the processing section 12 initially suggests an action to lower the blood glucose value, "lower the blood glucose value," upon input of the urgent desire from the user, "want to reduce the risk of disease." Thereafter, upon input of the inquiry from the user, "how should the action be taken next if the blood glucose value has been lowered?", an action to lower the body fat rate, "lower the body fat rate," is suggested.
[0047] Such an action suggestion is a suggestion for becoming a health state in which the risk of disease is less via the health state of the other patient. Therefore, it becomes a suggestion that is in accordance with reality.
[0048] The processing section 12 can also determine the item value that is the object of change and the direction of change with respect to the item value that is the object of change based on the correlation between the kinds of the plurality of item values of the attribute data within the prescribed range from the subject's attribute data. For example, if the kinds of the plurality of item values are two, the body fat rate and the blood glucose value, it can be considered that there is a correlation between the two item values, and the relationship between the item values can be expressed by a linear equation, for example, by regression analysis. The processing section 12 determines the item value that is the object of change and the direction of change with respect to the item value that is the object of change in such a manner that the point corresponding to the subject's attribute data 1a moves in the direction of the slope of the obtained linear equation. Thus, the item value that is the object of change and the direction of change with respect to the item value that is the object of change can be appropriately determined.
[0049] The processing section 12 can also determine the item value that is the object of change and the direction of change with respect to the item value that is the object of change using the Mahalanobis distance. The Mahalanobis distance is a distance that uses the correlation between the kinds of the plurality of item values. By using the Mahalanobis distance, even if the number of kinds of item values is three or more, the item value that is the object of change and the direction of change with respect to the item value that is the object of change can be appropriately determined.
[0050] In a case where the Mahalanobis distance is used, the processing section 12 sets a plurality of movement destination candidate points at a distance from the attribute data of the object defined by an Lp-norm, for example. Then the processing section 12 determines the item value that is the variation object and the variation direction with respect to the item value that is the variation object, based on the movement destination candidate point whose Mahalanobis distance from the attribute data of the object is the shortest among the plurality of movement destination candidate points. Thus, it is possible to determine the item value that is the variation object and the variation direction with respect to the item value that is the variation object, in a manner such that the point of the attribute data la of the object moves along a path where the Mahalanobis distance to the range of the target value is shorter. Since the points corresponding to other attribute data are distributed more around the path where the Mahalanobis distance is shorter, it is possible to realize the movement of the attribute data la of the object that moves on such a path. Therefore, it is possible to suggest to the user an action that can be surely realized.
[0051] [Second Embodiment]
[0052] Next, a second embodiment will be described. The second embodiment is a suggestion device capable of making a suggestion for improvement of a health state of a user. The suggestion device can be implemented using a computer, for example.
[0053] Figure 2 Fig. 1 is a diagram showing one example of a hardware configuration of a suggestion device. The suggestion device 100 controls the entire device by a processor 101. The processor 101 is connected to a memory 102 and a plurality of peripheral devices via a bus 109. The processor 101 can also be a multi-processor. The processor 101 is a CPU (Central Processing Unit), an MPU (Micro Processing Unit), or a DSP (Digital Signal Processor), for example. At least a part of the functions of the processor 101 implemented by execution of a program can also be implemented using an electronic circuit such as an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), or the like.
[0054] The memory 102 is used as a main storage device of the suggestion device 100. In the memory 102, at least a part of a program of an OS (Operating System) and an application program executed by the processor 101 are temporarily stored. In addition, various data used for processing by the processor 101 are stored in the memory 102. As the memory 102, a volatile semiconductor storage device such as a RAM (Random Access Memory) can be used, for example.
[0055] As the peripheral devices connected to the bus 109, there are a storage device 103, a GPU (Graphics Processing Unit) 104, an input interface 105, an optical drive device 106, a device connection interface 107, and a network interface 108.
[0056] The storage device 103 electrically or magnetically writes and reads data to and from an internal recording medium. The storage device 103 is used as an auxiliary storage device of the advice device 100. In the storage device 103, there are stored an OS program, an application program, and various data. Further, as the storage device 103, for example, an HDD (Hard Disk Drive), an SSD (Solid State Drive) can be used.
[0057] A monitor 21 is connected to the GPU 104. The GPU 104 causes an image to be displayed on a screen of the monitor 21 according to a command from the processor 101. As the monitor 21, there are a display device using organic EL (Electro Luminescence), a liquid crystal display device, and the like.
[0058] A keyboard 22 and a mouse 23 are connected to the input interface 105. The input interface 105 transmits a signal sent from the keyboard 22 and the mouse 23 to the processor 101. Further, the mouse 23 is one example of a pointing device, and other pointing devices can be used. As the other pointing devices, there are a touch panel, a graphics tablet, a touch screen, a trackball, and the like.
[0059] The optical drive device 106 reads data recorded on an optical disc 24 or writes data to the optical disc 24 using laser light or the like. The optical disc 24 is a portable recording medium on which data is recorded in a manner that enables reading by reflection of light. The optical disc 24 has a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM (Compact Disc Read Only Memory), a CD-R (Recordable) / RW (ReWritable), and the like.
[0060] The device connection interface 107 is a communication interface for connecting a peripheral device to the proposal device 100. For example, the device connection interface 107 can be connected with the storage device 25, the memory reader / writer 26. The storage device 25 is a recording medium in which a communication function with the device connection interface 107 is installed. The memory reader / writer 26 is a device that performs writing of data to the memory card 27 or reading of data from the memory card 27. The memory card 27 is a card-type recording medium.
[0061] The network interface 108 is connected with the network 20. The network interface 108 performs transmission and reception of data between other computers or communication devices via the network 20. The network interface 108 is, for example, a wired communication interface that is connected with a switch, a router, or the like using a cable. The network interface 108 can also be a wireless communication interface that is communicably connected with a base station, an access point, or the like by radio waves.
[0062] The proposal device 100 can realize the processing functions of the second embodiment by the hardware as described above. In addition, the information processing device 10 of the first embodiment can also be realized by the same hardware as the proposal device 100. Figure 2 The information processing device 10 of the first embodiment can be realized by the same hardware as the proposal device 100.
[0063] The proposal device 100 realizes the processing functions of the second embodiment, for example, by executing a program recorded on a recording medium that can be read by a computer. A program that describes the processing content that the proposal device 100 executes can be recorded in advance on various recording media. For example, a program that causes the proposal device 100 to execute can be stored in advance in the storage device 103. The processor 101 loads at least a part of the program in the storage device 103 to the memory 102 and executes the program. A program that causes the proposal device 100 to execute can also be recorded in advance on a portable recording medium such as the optical disc 24, the storage device 25, the memory card 27. For example, the program stored in the portable recording medium can be executed after being installed in the storage device 103 by control from the processor 101. The processor 101 can also directly read out the program from the portable recording medium and execute it.
[0064] The proposal device 100 can, for example, judge how a person who is currently predicted to be unhealthy acts to be predicted to be healthy and make an improvement proposal for becoming healthy. In the improvement proposal, an improvement action of changing a project value of a plurality of project values (blood sugar value, body fat rate, or the like) related to the health state that is suitable for becoming healthy is suggested. The proposal device 100, when suggesting the improvement action, considers a distribution of data that represents the health states of many other people and suppresses the proposal from becoming unrealistic.
[0065] Hereinafter, an example of a case in which the proposal is difficult to be realized will be described with reference to Figures 3-5
[0066] Figure 3 is an example of a graph that illustrates an action proposal that changes the item value. Assume, for example, that input x (underlined) that includes a plurality of item values related to the health status of a user is input to a model H that predicts the health status of the user. As a model that obtains a predicted value from input item values, various models can be used. For example, a generalized additive model (GAM) can be used. In addition, a linear classification model can be used. Linear classification models include logistic regression, linear support vector machines, and the like. In addition, a decision tree ensemble model can be used. A decision tree represents a set of prediction rules by a binary tree. Decision tree ensemble models include random forests, gradient boosting trees (XGBoost and the like), ExtraTrees, and the like. A generalized linear model can also be used. In the example of Figure 3 , input x (underlined) is set with x1, x2 as item values related to health.
[0067] The proposal device 100 can use a model to predict a class from input. For example, by the model, a class indicating the presence or absence of a risk related to health is predicted. For example, whether or not the risk of developing a prescribed disease is high or low is predicted. In Figure 3 , a coordinate system 30 is shown in which the item value x1 is taken as the horizontal axis and the item value x2 is taken as the vertical axis. The coordinate system 30 is divided into a region 31 corresponding to a negative class (high risk of developing) and a region 32 corresponding to a positive class (low risk of developing). Figure 3 In , the region 31 corresponding to the negative class is represented by a grid.
[0068] Here, assume that the data point in the coordinate system 30 corresponding to the current user's item values x1, x2 is located in the region 31 corresponding to the negative class. In such a case, if the value of the changed item value is represented by the equation to make the prediction result of the model H belong to the other class, the improvement action a* is as follows.
[0069] [Num 1]
[0070]
[0071] The improvement action a* is vector data (action a) that takes the amount of change in the item value x1 and the item value x2 as components. "C(a|x)" (x underlined) of equation (1) is a cost function, for example, a weighted Lp-norm (p is a real number of 0 or more). The Lp-norm represents a distance in a coordinate space. The L2-norm is the Euclidean distance. "argmin" indicates that the argument that gives the minimum value is found. By equation (1), the action a that minimizes the distance between the start point and the end point for changing the class of the prediction result (H(x)≠H(x+a) (x underlined)) is obtained.
[0072] For example, assume that the prediction result of the model H(x) (x is underlined) belongs to the negative class. At this time, by formula (1), the action a that indicates the shortest path of the distance for which the prediction result of the model H(x+a) (x is underlined) belongs to the positive class is obtained. Such an action a is an action in which the user's desire to change the prediction value with the least effort is satisfied.
[0073] Thus, by using the distance as the cost function, the class can be changed with the least effort. For example, the user is suggested the action a that should be performed in order to move from the class with a high risk of onset to the class with a low risk of onset with the least effort. However, there are cases in which the action a with the shortest distance is difficult to perform in reality. For example, consider the case in which the action of increasing the amount of muscle and reducing the body weight is suggested. Even if such an action is suggested, since muscle is heavier than fat, the body weight increases if fat is replaced with muscle, and thus there are many cases in which the increase in muscle and the reduction in body weight are difficult to perform simultaneously and in parallel.
[0074] In addition, even in the region within the coordinate system 30 that becomes the positive class on the model, there are cases in which there are actually no people belonging to the region, or even if there are, there are few people. In this case, even if the action of moving to the region is suggested, it is difficult to achieve.
[0075] Figure 4 is a diagram indicating one example of the action suggestion. In Figure 4 , data points 41 corresponding to groups of item values related to the health of many people each are plotted on the coordinate system 30. Here, the data point corresponding to the group of item values of the user who wants to change the class indicated by the prediction result of the model is a moving object data point 42.
[0076] The moving object data point 42 exists within the region 33 corresponding to the negative class. Here, assume that the action of moving the moving object data point 42 to the region 34 corresponding to the positive class is suggested. At this time, if the action of moving to the movement destination candidate point 43 with the shortest distance expressed by the Lp-norm is suggested, the movement to the position in which there is no other data point is suggested. The position in which there is no other data point corresponds to the health state in which there is no person who matches, and thus the suggestion of the action for becoming such a health state is wrong.
[0077] Here, consider the action of moving the moving object data point 42 by considering the correlation between the item values. In the case of considering the correlation between the item values, for example, the Mahalanobis distance (distance in which the correlation is considered) can be used as the cost function. When the number of types of item values is set to D, for vectors x, y ∈ R D (R is the set of real numbers), the Mahalanobis distance d M (x, y) is defined by the following formula (2).
[0078] [Num 2]
[0079]
[0080] ∑∈R of formula (2) D×D is a covariance matrix. In the case where there is a correlation between item values, when the relationship between the item values is expressed by a straight line through regression analysis or the like, the Mahalanobis distance differs even if the Lp-norm is the same, in the vicinity of the straight line and in the distance therefrom. The Mahalanobis distance is shorter in the region in the vicinity of the straight line expressing the relationship between the item values, and is longer in the region away from the straight line.
[0081] The Mahalanobis distance cannot be solved in real time in strict linearization based on the planning method. Therefore, in the suggestion device 100, a proxy function based on eigenvalue decomposition of the covariance matrix is introduced, and the Mahalanobis distance is approximately solved. Specifically, the eigenvalues and eigenvectors of the covariance matrix ∑ are used to define a proxy function that approximates the Mahalanobis distance d M (x, y). In addition, if the number of types of item values is D, the eigenvalues and eigenvectors of the covariance matrix ∑ each obtain D. Therefore, the d-th (d is an integer of 1 or more and D or less) eigenvalue is set as λ d , and the d-th eigenvector is set as u d . In this way, the proxy function is expressed by the following formula (3).
[0082] [Num 3]
[0083]
[0084] where ∑ of formula (3) is a symbol of summation. The portion shown by the square root of formula (3) is a pseudo-Mahalanobis distance. D is the number of types of item values, so the sum of the pseudo-Mahalanobis distances of the number of types of item values becomes the approximate Mahalanobis distance.
[0085] If the correlation between item values is linear (first-order correlation), by suggesting movement to the movement destination candidate point 44 that moves the shortest Mahalanobis distance, it is possible to suggest movement on a path where there is another data point. However, in the case where the correlation between item values is not linear, there is a case where even if the Mahalanobis distance is used, movement on a path where there is no other data point is suggested.
[0086] Figure 5 is a graph showing one example of movement suggestion in the case where the correlation between item values is not linear. Figure 5The horizontal axis of the coordinate system 50 shown is the body fat rate, and the vertical axis is the blood glucose value. Data points corresponding to the respective body fat rates and blood glucose values of many patients are plotted on the coordinate system 50. The body fat rate and the blood glucose value do not have a linear correlation, but have a relationship close to a quadratic correlation.
[0087] Here, consider the case where the action of suggesting movement of the data point 53 of the mobile object located in the region 51 corresponding to the negative class to the region 52 corresponding to the positive class is suggested. In this case, the data point 53 of the mobile object is located in the region 51 corresponding to the negative class, and the region 52 corresponding to the positive class is located in the upper right of the region 51 corresponding to the negative class. Figure 5 In the example shown, the correlation between the item values of different classes is nonlinear. In this case, if the entire plotted points are used, it is suggested that the Mahalanobis distance shortest movement destination candidate point 54 is the movement destination if the action of setting the item value of the once correlation is suggested, the result of the action suggestion of moving on a path where there is no data point is performed.
[0088] Thus, even if the correlation is simply considered to search for the suggested movement destination, there is a possibility that the suggestion of the range that can be achieved cannot be performed. Therefore, the suggestion device 100 suggests the action in stages. That is, the suggestion device 100 performs the action suggestion in multiple stages in a manner that moves to the region of the destination class as a result of a plurality of actions. At this time, the suggestion device 100 considers the correlation between the item values for each action suggested, and suggests the action of moving on a path where there is a data point. For this, the suggestion device 100 determines the position to be the movement destination using only the correlation of the vicinity of the current position.
[0089] Figure 6 is a diagram showing one example of the action suggestion of the first stage of moving on a path where there is a data point. The suggestion device 100 calculates the correlation between the item values only from the data points in the vicinity of the data point 53 of the mobile object. The data points in the vicinity of the data point 53 of the mobile object are, for example, data points within a distance d from the data point 53 of the mobile object in the Euclidean distance. Then, the suggestion device 100 performs the action suggestion of the first stage of setting, as the movement destination 55, a position that is apart from the data point 53 of the mobile object by a distance d along a straight line indicating the correlation, for example, in the Euclidean distance. The movement destination 55 is a position located in a direction approaching the region 52 corresponding to the positive class from the data point 53 of the mobile object.
[0090] Next, the suggestion device 100 moves the data point 53 of the mobile object to the position of the movement destination 55, and judges the movement destination in the action suggestion of the second stage.
[0091] Figure 7is a diagram showing one example of the action recommendation of the second stage in which the moving object moves on the path in which the data points exist. The recommendation device 100 calculates the correlation between the item values only from the data points in the vicinity of the data point 56 of the moving object. At this time, the recommendation device 100 can calculate the correlation without taking into account the data points located in the direction of the moving source. The data points located in the direction of the moving source, for example, refer to the data points within the distance d from the data point 53 of the moving object before the movement (refer to Figure 6 ). The recommendation device 100, for example, calculates the correlation between the item values that are different in kind based on the data points within the distance d from the data point 56 of the moving object and the data points that are apart from the data point 53 of the moving object before the movement by more than the distance d.
[0092] The recommendation device 100 then makes the action recommendation of the second stage in which the position apart from the data point 56 of the moving object by the distance d along the straight line showing the correlation, for example, in the Euclidean distance, is taken as the moving destination 57. The moving destination 57 is a position located in the direction in which the area 52 corresponding to the positive class is approached from the data point 56 of the moving object.
[0093] The recommendation device 100 then moves the data point 56 of the moving object to the position of the moving destination 57 and judges the moving destination in the action recommendation of the third stage.
[0094] Figure 8 is a diagram showing one example of the action recommendation of the third stage in which the moving object moves on the path in which the data points exist. The recommendation device 100 calculates the correlation between the item values only from the data points in the vicinity of the data point 58 of the moving object. At this time, the recommendation device 100 can calculate the correlation without taking into account the data points located in the direction of the moving source. The recommendation device 100 then makes the action recommendation of the third stage in which the position apart from the data point 58 of the moving object by the distance d along the straight line showing the correlation, for example, in the Euclidean distance, is taken as the moving destination 59. The moving destination 59 is a position located in the direction in which the area 52 corresponding to the positive class is approached from the data point 58 of the moving object.
[0095] In the example of Figure 8 , the moving destination 59 is within the area 52 corresponding to the positive class. Therefore, the action recommendations of the three stages from the first stage to the third stage become the action recommendations for making the user in the health state shown by the data point 53 of the moving object initially become the positive health state. Also, each of the recommended actions is an action that can be achieved via the area in which the data points exist.
[0096] Next, the functions of the recommendation device 100 for recommending the action that can be achieved are described.
[0097] Figure 9is a block diagram showing an example of a function of the advice device. The advice device 100 has a storage section 110, a data acquisition section 120, an action decision section 130, and a conversational UI (User Interface) section 140.
[0098] The storage section 110 stores attribute information 111 and region information 112. The attribute information 111 is sample data of item values related to the health state of many people. For example, data of body fat rate, blood sugar value, and the like. The region information 112 is data indicating a class set in a region in a coordinate system of coordinates of each kind of item values. There are, for example, a positive class and a negative class as the class. The storage section 110 is implemented, for example, using a part of a storage area of the memory 102 or the storage device 103 that the advice device 100 has.
[0099] The data acquisition section 120 acquires the attribute information 111 and the region information 112. For example, the data acquisition section 120 accepts input of the attribute information 111 and stores the input attribute information 111 in the storage section 110. In addition, the data acquisition section 120 accepts input of input data of a range of a region and a class, and stores the input data as a record of the region information 112 in the storage section 110.
[0100] The action decision section 130 decides an action to be advised to the user. For example, the action decision section 130 considers correlation between item values shown by the attribute information 111, and advises one or more actions that should be implemented in a time series in order to change a class of a region to which a data point in a coordinate system corresponding to a current item value related to the user belongs.
[0101] The conversational UI section 140 outputs advice of the action. For example, the conversational UI section 140 carries out a voice-based conversation with the user via an AI (Artificial Intelligence) assistant. Also, the conversational UI section 140 carries out voice output of the content of advice of the action for improving the health state in accordance with a voice input of a query of a health state improvement plan from the user.
[0102] By making the functional elements described above functionally cooperate, the advice device 100 can advise the user of an action plan in which the health state of the user becomes a health state desired by the user. In addition Figure 9 The functions of the respective elements described above can be implemented, for example, by causing a computer to execute a program module corresponding to the element.
[0103] Next, the data stored in the storage section 110 will be described in detail. Figure 10 , Figure 11 The data stored in the storage section 110 will be described in detail.
[0104] Figure 10is a diagram showing an example of attribute information. The attribute information 111 contains a plurality of records in which values of items related to the health state of a patient and the like are set. The records in the attribute information 111 are examples of the attribute data shown in the first embodiment. Each record in the attribute information 111 has fields of a patient ID, a gender, a body fat rate, and a blood sugar value. In the field of the patient ID, an identifier (patient ID) of a corresponding patient is set. In the field of the gender, the gender of the patient is set. In the field of the body fat rate, the body fat rate of the patient is set. In the field of the blood sugar value, the blood sugar value of the patient is set.
[0105] In Figure 10 In the attribute information 111 shown in FIG. 6, the values of the items showing the health state of the patient are the body fat rate and the blood sugar value. Further, there are cases in which the appropriate range of the value of the item showing the health state differs depending on the gender. For example, the appropriate range of the body fat rate is lower for men than for women. Therefore, in the case where the region is set in the coordinate system having the axis of each kind of the item value, it is preferable to perform the class setting corresponding to the gender.
[0106] Figure 11 is a diagram showing an example of region information. The region information 112 contains a plurality of records in which the class of the region is set. Each record has fields of a region ID, a gender, a body fat rate (BF), a blood sugar value (BS), and a class. In the field of the region ID, an identifier (region ID) of the region is set. In the field of the gender, whether the region is related to the class of men or the class of women is set. In the field of the body fat rate, the range of the body fat rate of the region is set. In the field of the blood sugar value, the range of the blood sugar value of the region is set. In the field of the class, the name of the class corresponding to the region is set.
[0107] Next, a setting example of the region information will be described. The user inputs, for example, information specifying the region in the coordinate system 50 and information specifying the class to the recommendation device 100.
[0108] Figure 12 is a diagram showing a setting example of the region information. For example, if the user inputs "{ [gender = female], [30 ≦ body fat rate < 35], [120 ≦ blood sugar value < 130], negative}", the class of the corresponding region 51a in the coordinate system 50 is set to negative. Further, if the user inputs "{ [gender = female], [15 ≦ body fat rate < 30], [0 ≦ blood sugar value < 120], positive}", the class of the corresponding region 52a in the coordinate system 50 is set to positive.
[0109] The user performs such a class setting of each region for the entire coordinate system 50. Thereafter, the user specifies one of the data points in the negative region, and the recommendation device 100 recommends an action for moving the data point to the positive region.
[0110] Figure 13 is a flowchart showing an example of the order of the action proposal process. Hereinafter, the process shown in FIG. 10 will be described along the step numbers. Figure 13
[0111] [Step S101] The data acquisition section 120 acquires the attribute information 111 and the region information 112. For example, the data acquisition section 120 receives a designation input of a patient's electronic medical record data from the user, extracts the attribute information 111 from the electronic medical record data, and stores the extracted attribute information 111 in the storage section 110. In addition, the data acquisition section 120 receives an input of a class setting for a region as shown in FIG. 9, and adds a record corresponding to the input data to the region information 112 in the storage section 110. Figure 12
[0112] [Step S102] The dialog UI section 140 receives a designation input of a data point of a moving object set in a region corresponding to a negative class from the user. For example, the dialog UI section 140 receives an input of a patient ID, and sets a data point corresponding to a body fat rate and a blood sugar value corresponding to the patient ID as a data point of a moving object.
[0113] [Step S103] The action decision section 130 acquires the attribute information 111 from the storage section 110, and calculates a covariance matrix based on data points in the vicinity (for example, within a prescribed value in terms of Lp-norm) of a data point of a moving object based on the attribute information 111. The covariance matrix is a matrix in which the concept of variance between classes of item values is extended to a plurality of dimensions. In the covariance matrix, the strength of correlation between classes of item values is reflected.
[0114] [Step S104] The action decision section 130 calculates eigenvalues λ and eigenvectors u of the covariance matrix. In a case where the number of classes of item values shown in the attribute information 111 is D, D sets of eigenvalues λ and eigenvectors u in cases of the eigenvalues are generated. The D sets of eigenvalues λ and eigenvectors u are used for calculation of Mahalanobis distance.
[0115] [Step S105] The action decision section 130 performs a data point moving process of a moving object. Through this process, a data point of a moving object moves a constant distance d in a direction approaching a positive region via a region in which there is another data point in the vicinity. Furthermore, details of the data point moving process of a moving object will be described later (refer to FIG. 11). Figure 14
[0116] [Step S106] The action decision section 130 judges whether the data point of the moving object has reached the positive region. For example, the action decision section 130 acquires the region information 112 from the storage section 110. Then, the action decision section 130 identifies the class of the region including the position of the data point of the moving object after the movement processing of the data point of the moving object based on the acquired region information 112. If the class of the region is positive, the action decision section 130 judges that the positive region has been reached. The action decision section 130 makes the processing proceed to step S107 in the case where the positive region has been reached. If the positive region has not been reached, the action decision section 130 makes the processing proceed to step S103.
[0117] [Step S107] The action decision section 130 outputs the vector set of the movement path decided for the data point of the moving object. For example, the action decision section 130 transmits the vector set of the movement path to the conversational UI section 140. The conversational UI section 140 suggests the action to be taken by the user based on the direction of the vector included in the vector set of the movement path and the like.
[0118] Next, the movement processing of the data point of the moving object will be described in detail.
[0119] Figure 14 is a flowchart showing the sequence of the movement processing of the data point of the moving object. Hereinafter, the processing shown in Figure 14 will be described along the step numbers.
[0120] [Step S111] The action decision section 130 acquires one of the movement destination candidate points at a distance d (for example, the Euclidean distance) in the Lp-norm in the positive direction. For example, the action decision section 130 acquires a point that is close to the positive region compared to the current position and has not been acquired as the movement destination candidate point among the points at a prescribed interval on a circle having a radius of d from the data point of the moving object.
[0121] [Step S112] The action decision section 130 calculates the difference of the item values of the respective item values of the class of the movement destination candidate from the data point of the moving object. For example, let the vector representing the data point of the moving object be x (xl, x2) and let the vector representing the movement destination candidate be y (yl, y2). In this case, the action decision section 130 calculates "yl - xl" and "y2 - x2".
[0122] [Step S113] The action decision section 130 calculates Mahalanobis distances using the eigenvalues and eigenvectors obtained from the covariance matrix. For example, the action decision section 130, for each set of eigenvalues and eigenvectors, calculates the square root of the product of the absolute value of the inner product of the vector of the difference of each of the kinds of item values calculated in step S112 and the eigenvectors multiplied by the eigenvalues. This results in D pseudo Mahalanobis distances. The action decision section 130 adds the pseudo Mahalanobis distances obtained and uses the result of the addition as the Mahalanobis distance.
[0123] [Step S114] The action decision section 130 determines whether or not a prescribed number of movement destination candidate points have been acquired. The action decision section 130, in the case where a prescribed number of movement destination candidate points have been acquired, causes the processing to proceed to step S115. The action decision section 130, if a prescribed number of movement destination candidate points have not been acquired, causes the processing to proceed to step S111.
[0124] [Step S115] The action decision section 130 decides the position of the movement destination candidate point for which the Mahalanobis distance is the shortest as the movement destination of the data point of the moving object. The action decision section 130 then causes the data point of the moving object to move to the position decided as the movement destination. At this time, the action decision section 130 stores the vector from the position before the movement of the data point of the moving object to the position of the movement destination as data for the action proposal in the memory 102 or the storage device 103.
[0125] In this way, it is possible to cause the data point of the moving object to move in such a way that the Mahalanobis distance is shortened.
[0126] Figure 15 is a diagram showing an example of the decision of the movement destination from the movement destination candidate points. As shown in Figure 15 a plurality of movement destination candidate points 45 are set on a circle of radius d centered on the data point of the moving object 53. The movement destination candidate points 45 are set only in the direction approaching the positive region 52. In this way, it is possible to suppress the proposal of an action that moves the data point of the moving object 53 away from the positive region.
[0127] The plurality of movement destination candidates 45 are equal in distance on the Lp-norm of the data point 53 of the moving object, but differ in Mahalanobis distance. The Mahalanobis distance of the movement destination candidate in which there are no other data points on the path periphery between the data point 53 of the moving object is longer, the more other data points there are on the path periphery between the data point 53 of the moving object, the shorter the Mahalanobis distance. The action decision unit 130 selects the movement destination candidate with the shortest Mahalanobis distance as the movement destination. Thereby, it is possible to suppress the action of suggesting movement through a path in which there are no other data points.
[0128] The conversational UI unit 140 makes an action suggestion to the user based on data indicating each movement of the action decision unit 130 when moving the data point of the moving object to the positive region. Hereinafter, an example of the action suggestion will be described with reference to Figures 16-18
[0129] Figure 16 is a drawing indicating an example of the first action suggestion. In Figure 16 the example, it is assumed that the data point corresponding to the body fat rate and the blood sugar value of the user has been specified as the data point of the moving object. At this time, for example, the user makes a voice input of "I want to reduce the risk of onset."
[0130] The screen 60 of the suggestion device 100 displays a virtual image 61 of the user and an AI assistant 62. The dialog box of the virtual image 61 displays the language of the voice input by the user.
[0131] The suggestion device 100 makes an improvement suggestion for moving the data point corresponding to the body fat rate and the blood sugar value of the user to the positive region via one or more stages. In Figure 16 the example, the movement destination from the current position of the data point of the moving object obtained by the action suggestion process is a position that reduces the blood sugar value without changing the body fat rate. The conversational UI unit 140 makes an action suggestion in a case where the value of a certain component of the vector indicating the movement of the data point of the moving object is below a prescribed value, considering the value of the component to be 0. Therefore, the conversational UI unit 140 displays a message such as "Reduce the blood sugar value." in the dialog box of the AI assistant 62.
[0132] Figure 17 is a drawing indicating an example of the second action suggestion. In Figure 17 the example, it is assumed that the user reduces the blood sugar value as suggested, and specifies the data point corresponding to the latest body fat rate and blood sugar value as the data point of the moving object. At this time, for example, the user makes a voice input of "The blood sugar value has been reduced. What should be done next?" The input content is displayed in the dialog box of the virtual image 61.
[0133] The improvement suggestion device 100 makes an improvement suggestion for moving the data point corresponding to the body fat rate and the blood sugar value of the user to the positive region via one or more stages. In the example of Fig. 9, the movement destination from the current position of the data point of the movement object obtained by the action suggestion process is a position where the body fat rate and the blood sugar value are reduced. Therefore, the conversational UI section 140 displays such a message as "Reduce the body fat rate and the blood sugar value." in the dialog box of the AI assistant 62. Figure 17 In the example of Fig. 9, it is assumed that the user reduces the body fat rate and the blood sugar value as the suggested action and specifies the data point corresponding to the latest body fat rate and blood sugar value as the data point of the movement object. At this time, for example, the user makes a voice input of "The reduction of the body fat rate and the blood sugar value is achieved. How should the next action be taken?" The input content is displayed in the dialog box of the virtual image 61.
[0134] Figure 18 Fig. 10 is a diagram showing an example of the third action suggestion. In the example of Fig. 10, it is assumed that the user reduces the body fat rate and the blood sugar value as the suggested action and specifies the data point corresponding to the latest body fat rate and blood sugar value as the data point of the movement object. At this time, for example, the user makes a voice input of "The reduction of the body fat rate and the blood sugar value is achieved. How should the next action be taken?" The input content is displayed in the dialog box of the virtual image 61. Figure 18 In the example of Fig. 10, it is assumed that the user reduces the body fat rate and the blood sugar value as the suggested action and specifies the data point corresponding to the latest body fat rate and blood sugar value as the data point of the movement object. At this time, for example, the user makes a voice input of "The reduction of the body fat rate and the blood sugar value is achieved. How should the next action be taken?" The input content is displayed in the dialog box of the virtual image 61.
[0135] The improvement suggestion device 100 makes an improvement suggestion for moving the data point corresponding to the body fat rate and the blood sugar value of the user to the positive region via one or more stages. In the example of Fig. 9, the movement destination from the current position of the data point of the movement object obtained by the action suggestion process is a position where the body fat rate and the blood sugar value are reduced. Therefore, the conversational UI section 140 displays such a message as "Reduce the body fat rate and the blood sugar value." in the dialog box of the AI assistant 62. Figure 18 In the example of Fig. 9, it is assumed that the user reduces the body fat rate and the blood sugar value as the suggested action and specifies the data point corresponding to the latest body fat rate and blood sugar value as the data point of the movement object. At this time, for example, the user makes a voice input of "The reduction of the body fat rate and the blood sugar value is achieved. How should the next action be taken?" The input content is displayed in the dialog box of the virtual image 61.
[0136] As explained above, by taking the correlation into consideration, the action suggested in accordance with the distribution of the data points, it is possible to make an action suggestion that the user can achieve.
[0137] 〔Other Embodiments〕
[0138] In the second embodiment, as the action suggestion to the user, only the next action is suggested, but the improvement suggestion device 100 can also collectively suggest all the actions for becoming the positive state.
[0139] The above merely illustrates the principles of the present application. Many modifications, changes, and alterations can also be made by those skilled in the art. The present application is not limited to the correct constitution and the application examples shown and explained above. All the modified examples and equivalents can be considered to be within the scope of the present application based on the appended claims and equivalents thereof.
[0140] Explanation of Reference Numerals
[0141] 1 … a plurality of attribute data, 1a … attribute data of an object, 2 … region information, 3 … a dimensional space, 10 … an information processing device, 11 … a storage section, 12 … a processing section.
Claims
1. A storage medium storing an information processing program, characterized by the information processing program causing a computer to execute: a process of acquiring attribute data of each of a plurality of patients and information indicating a range of a region as a target value on a dimensional space, wherein the plurality of attribute data are respectively attribute data as a combination of a plurality of item values related to a health state of a patient, and include attribute data of a user who desires improvement of a health state; a process of deciding, from the plurality of item values of the attribute data of the user, an item value as a variation target and a variation direction with respect to the item value as the variation target, in a manner such that a first position of the dimensional space indicated by the attribute data of the user approaches the range of the region along a straight line indicating a correlation between kinds of the plurality of item values of the attribute data of a position within a prescribed range from the first position, when the item value of the attribute data of the user as the variation target is varied in the variation direction; and a process of outputting information indicating a result of the variation as a suggestion for action related to the health state of the user, wherein the result of the variation is obtained by alternately repeating the process of varying the item value as the variation target in the variation direction and the process of deciding after the process of varying is executed, until the attribute data of the user is included in the range of the region.
2. The storage medium storing the information processing program according to claim 1, characterized by the information processing program causing a computer to execute the process of deciding the item value as the variation target and the variation direction with respect to the item value as the variation target in a manner such that the range of the region is approached on the dimensional space via a region in which at least a part of the plurality of attribute data is distributed.
3. The storage medium storing the information processing program according to claim 1 or 2, characterized by the information processing program causing a computer to execute the process of deciding the item value as the variation target and the variation direction with respect to the item value as the variation target based on a moving destination candidate point at which a Mahalanobis distance from the attribute data of the user is shortest among a plurality of moving destination candidate points set at a prescribed distance on an Lp-norm from the attribute data of the user.
4. A suggestion method characterized by a computer executing: a process of acquiring attribute data of each of a plurality of patients and information indicating a range of a region as a target value on a dimensional space, wherein the plurality of attribute data are respectively attribute data as a combination of a plurality of item values related to a health state of a patient, and include attribute data of a user who desires improvement of a health state; The first position of the dimension space represented by the attribute data of the user and the distribution of the attribute data representing positions within a prescribed range from the first position on the dimension space are used to perform a process of determining, from among the plurality of item values of the attribute data of the user, an item value that is a target of variation and a variation direction with respect to the item value that is the target of variation, in a manner in which the first position approaches the region range along a straight line that represents a correlation between the kinds of the plurality of item values of the attribute data representing positions within the prescribed range, when an item value of the attribute data of the user that is the target of variation is varied in the variation direction. The process outputs information representing a result of the variation as an action suggestion related to the health state of the user, where the result of the variation is obtained by alternately repeating the process of varying the item value that is the target of variation in the variation direction and the process of determining until the attribute data of the user is included in the region range.
5. An information processing apparatus characterized by comprising: a processing unit that acquires attribute data of each of a plurality of patients and information representing a region range that is a target value on a dimension space, where the plurality of attribute data are respectively attribute data that are combinations of a plurality of item values related to a health state of a patient, and the attribute data of a user who desires improvement in a health state is included, the processing unit performs a process of determining, from among the plurality of item values of the attribute data of the user, an item value that is a target of variation and a variation direction with respect to the item value that is the target of variation, in a manner in which a first position of the dimension space represented by the attribute data of the user approaches the region range along a straight line that represents a correlation between the kinds of the plurality of item values of the attribute data representing positions within a prescribed range from the first position, when an item value of the attribute data of the user that is the target of variation is varied in the variation direction, and outputs information representing a result of the variation as an action suggestion related to the health state of the user, where the result of the variation is obtained by alternately repeating the process of varying the item value that is the target of variation in the variation direction and the process of determining until the attribute data of the user is included in the region range.
Citation Information
Patent Citations
Apparatus, method and program for action quantity generation
JP2003288580A