WO2020213425A1 - 状況推定装置、状況推定プログラム、推定モデル及び状況推定方法 - Google Patents

状況推定装置、状況推定プログラム、推定モデル及び状況推定方法 Download PDF

Info

Publication number
WO2020213425A1
WO2020213425A1 PCT/JP2020/015253 JP2020015253W WO2020213425A1 WO 2020213425 A1 WO2020213425 A1 WO 2020213425A1 JP 2020015253 W JP2020015253 W JP 2020015253W WO 2020213425 A1 WO2020213425 A1 WO 2020213425A1
Authority
WO
WIPO (PCT)
Prior art keywords
situation
time
model
status
transition
Prior art date
Application number
PCT/JP2020/015253
Other languages
English (en)
French (fr)
Inventor
典昭 廣川
義隆 井上
佑介 深澤
Original Assignee
株式会社Nttドコモ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社Nttドコモ filed Critical 株式会社Nttドコモ
Priority to JP2021514877A priority Critical patent/JPWO2020213425A1/ja
Priority to US17/599,808 priority patent/US20220198341A1/en
Publication of WO2020213425A1 publication Critical patent/WO2020213425A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to a situation estimation device, a situation estimation program, an estimation model, and a situation estimation method.
  • the present invention has been made in view of the above problems, and it is possible to estimate the user's situation based on easily available sensor information without requiring the user to input information about the situation.
  • the purpose is a simple operation, and it is possible to estimate the user's situation based on easily available sensor information without requiring the user to input information about the situation. The purpose.
  • the situation estimation device is a situation estimation device that estimates the user's situation based on the sensor data detected by the sensor, and is acquired by at least one sensor.
  • a sensor information acquisition unit that acquires sensor information consisting of time-series sensor data groups and one or more status labels that identify each of the user's situations are assigned to each time and one or more sensors associated with the time.
  • a status allocation unit that is temporarily assigned by a predetermined method and a feature parameter that represents the characteristics of the sensor data to which the same status label is assigned are calculated, and the sensor data associated with each time is assigned to the data among multiple situations.
  • Transition one time in the time series from the situation array consisting of the first model learning unit that learns the first model to be classified into any of the situations and the time series array of the situation labels assigned to each time.
  • Transition as the reference time Information indicating the transition of the status label before the reference time and the status label assigned at the next time of the transition reference time are extracted as input feature amount and teacher label, and the extracted input feature amount and teacher label are included.
  • the second model learning unit that learns the second model that inputs the transition of the situation label before the transition reference time and outputs the situation label of the next time at the transition reference time by machine learning based on the training data, and the time series.
  • the situation of each time is estimated based on each of the first model and the second model, and the situation label assigned to each time is updated based on each estimated situation.
  • an output unit that outputs the first model and the second model when a predetermined condition for updating the status label is satisfied.
  • the sensor data associated with each time is set to any of a plurality of situations based on the situation array which is an array of status labels tentatively assigned to the sensor data acquired in time series.
  • the first model to classify is constructed by unsupervised learning by calculating the feature parameters of the sensor data to which the same situation label is assigned, and estimates the next situation based on the transition of the time series situation.
  • the second model is built. Then, the situation array representing the transition of the situation is updated based on the estimation result of the situation output by each of the first model and the second model, and the first model and the second model are updated based on the updated situation array. Since the learning is carried out, it is possible to estimate the situation with high accuracy and to construct a model for estimating the user's situation without requiring the user to input the situation information for the learning.
  • FIG. 3A is a diagram schematically showing sensor information.
  • FIG. 3B is a diagram schematically showing the substance of the sensor information. It is a figure which shows the example of the assignment of the situation with respect to the sensor data of each time in the sensor information. It is a figure for demonstrating the learning process of a situation estimation model.
  • It is a flowchart which shows the learning process of a situation estimation model. It is a figure which shows the example of the learning data of the situation transition model. It is a flowchart which shows the learning process of a situation transition model.
  • FIG. 3A is a diagram schematically showing sensor information.
  • FIG. 3B is a diagram schematically showing the substance of the sensor information. It is a figure which shows the example of the assignment of the situation with respect to the sensor data of each time in the sensor information. It is a figure for demonstrating the learning process of a situation estimation model.
  • It is a flowchart which shows the learning process of a situation estimation model. It is a figure which shows the example of
  • FIG. 9A is a diagram showing an example of parameters of the situation estimation model.
  • FIG. 9B is a diagram showing an example of sensor data for which the situation is estimated. It is a figure for demonstrating the example of the update of the status assignment. It is a flowchart which shows the example of the process of the update of the status allocation. It is a flowchart which shows the processing content of the situation estimation method of the aspect of model generation in a situation estimation apparatus. It is a flowchart which shows the processing content of the situation estimation method which estimates the transition of the situation to the present time. It is a flowchart which shows the processing content of the situation estimation method which estimates the situation of the time next to the present time. It is a figure which shows the structure of the situation estimation program.
  • FIG. 1 is a diagram showing a functional configuration of a situation estimation system including a situation estimation device according to the present embodiment.
  • the situation estimation system 1 includes a situation estimation device 10, a sensor information storage unit 20, a situation allocation storage unit 30, a first model storage unit 40, and a second model storage unit 50.
  • the situation estimation device 10 is a device that estimates the user's situation based on the sensor data detected by the sensor.
  • the situation estimation device 10, the sensor information storage unit 20, the situation allocation storage unit 30, the first model storage unit 40, and the second model storage unit 50 may be configured as one device, or each may be configured as a separate device. May be done.
  • the situation estimation device 10 functionally has a sensor information acquisition unit 11, a situation allocation unit 12, a first model learning unit 13, a second model learning unit 14, a situation allocation update unit 15, and an output.
  • a unit 16 and a situation prediction unit 17 are provided.
  • Each of these functional units 11 to 17 may be configured in one device, or may be distributed and configured in a plurality of devices.
  • the sensor information storage unit 20, the situation allocation storage unit 30, the first model storage unit 40, and the second model storage unit 50 are configured in the situation estimation device 10 if they are configured to be accessible from the functional units 11 to 17. It may be configured in a device other than the situation estimation device 10.
  • each functional block is realized by any combination of at least one of hardware and software. Further, the method of realizing each functional block is not particularly limited. That is, each functional block may be realized by using one physically or logically connected device, or directly or indirectly (for example, two or more physically or logically separated devices). , Wired, wireless, etc.) and may be realized using these plurality of devices. The functional block may be realized by combining the software with the one device or the plurality of devices.
  • Functions include judgment, decision, judgment, calculation, calculation, processing, derivation, investigation, search, confirmation, reception, transmission, output, access, solution, selection, selection, establishment, comparison, assumption, expectation, and assumption.
  • broadcasting notifying, communicating, forwarding, configuring, reconfiguring, allocating, mapping, assigning, etc., but only these. I can't.
  • a functional block (constituent unit) that functions transmission is called a transmitting unit or a transmitter.
  • the method of realizing each of them is not particularly limited.
  • the situation estimation device 10 may function as a computer.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the situation estimation device 10 according to the present embodiment.
  • the situation estimation device 10 may be physically configured as a computer device including a processor 1001, a memory 1002, a storage 1003, a communication device 1004, an input device 1005, an output device 1006, a bus 1007, and the like.
  • the word “device” can be read as a circuit, device, unit, etc.
  • the hardware configuration of the situation estimation device 10 may be configured to include one or more of the devices shown in the figure, or may be configured not to include some of the devices.
  • Each function of the situation estimation device 10 is performed by loading predetermined software (program) on hardware such as the processor 1001 and the memory 1002, so that the processor 1001 performs an operation, and communication by the communication device 1004, the memory 1002, and the storage It is realized by controlling the reading and / or writing of data in 1003.
  • the processor 1001 operates, for example, an operating system to control the entire computer.
  • the processor 1001 may be composed of a central processing unit (CPU: Central Processing Unit) including an interface with a peripheral device, a control device, an arithmetic unit, a register, and the like.
  • CPU Central Processing Unit
  • each of the functional units 11 to 17 shown in FIG. 1 may be realized by the processor 1001.
  • the processor 1001 reads a program (program code), a software module, and data from the storage 1003 and / or the communication device 1004 into the memory 1002, and executes various processes according to these.
  • a program program code
  • a software module software module
  • data data from the storage 1003 and / or the communication device 1004 into the memory 1002, and executes various processes according to these.
  • the program a program that causes a computer to execute at least a part of the operations described in the above-described embodiment is used.
  • the functional units 11 to 17 of the situation estimation device 10 may be realized by a control program stored in the memory 1002 and operated by the processor 1001.
  • Processor 1001 may be mounted on one or more chips.
  • the program may be transmitted from the network via a telecommunication line.
  • the memory 1002 is a computer-readable recording medium, and is composed of at least one such as a ROM (Read Only Memory), an EPROM (Erasable Programmable ROM), an EPROM (Electrically Erasable Programmable ROM), and a RAM (Random Access Memory). May be done.
  • the memory 1002 may be referred to as a register, a cache, a main memory (main storage device), or the like.
  • the memory 1002 can store a program (program code), a software module, or the like that can be executed to carry out the situation estimation method according to the embodiment of the present invention.
  • the storage 1003 is a computer-readable recording medium, and is, for example, an optical disk such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (for example, a compact disk, a digital versatile disk, or a Blu-ray). It may consist of at least one (registered trademark) disk), smart card, flash memory (eg, card, stick, key drive), floppy (registered trademark) disk, magnetic strip, and the like.
  • the storage 1003 may be referred to as an auxiliary storage device.
  • the storage medium described above may be, for example, a database, server or other suitable medium containing memory 1002 and / or storage 1003.
  • the communication device 1004 is hardware (transmission / reception device) for communicating between computers via a wired and / or wireless network, and is also referred to as, for example, a network device, a network controller, a network card, a communication module, or the like.
  • the input device 1005 is an input device (for example, a keyboard, a mouse, a microphone, a switch, a button, a sensor, etc.) that receives an input from the outside.
  • the output device 1006 is an output device (for example, a display, a speaker, an LED lamp, etc.) that outputs to the outside.
  • the input device 1005 and the output device 1006 may have an integrated configuration (for example, a touch panel).
  • Bus 1007 may be composed of a single bus, or may be composed of different buses between devices.
  • the situation estimation device 10 includes hardware such as a microprocessor, a digital signal processor (DSP: Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), and an FPGA (Field Programmable Gate Array). It may be configured by, and a part or all of each functional block may be realized by the hardware. For example, processor 1001 may be implemented on at least one of these hardware.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • PLD Programmable Logic Device
  • FPGA Field Programmable Gate Array
  • the sensor information acquisition unit 11 acquires sensor information consisting of a time-series sensor data group acquired by at least one type of sensor.
  • the sensor data is not particularly limited as long as it is related to the estimation of the user's situation, but may be, for example, data acquired by a sensor provided in a terminal owned by the user.
  • the sensor may be, for example, an acceleration sensor, a tilt sensor, or the like.
  • the sensor data may be, for example, acceleration and tilt information.
  • the sensor information storage unit 20 is a storage means for storing sensor information. Various sensor data acquired at the user's terminal are transmitted from the terminal and stored in the sensor information storage unit 20.
  • the situation estimation device 10 may receive the sensor data transmitted from the terminal and store the received sensor data in the sensor information storage unit 20.
  • the situation estimation device 10 of the present embodiment may be configured in the user's terminal.
  • FIG. 3 is a diagram showing an example of sensor information.
  • FIG. 3A is a diagram schematically showing sensor information.
  • the sensor information includes time-series sensor data acquired by the three types of sensors A to C.
  • FIG. 3B is a diagram schematically showing the substance of the sensor information. That is, since the sensor information consists of a time-series sensor data group acquired by each sensor, it can be represented as a matrix having the number of types of sensors as the number of rows, as shown in FIG. 3 (b). .. The number of columns in this matrix corresponds to the detection time by the sensor. Therefore, the sensor information is a data group in which the sensor data of the sensor A, the sensor B, and the sensor C associated with the time are arranged in a time series.
  • the status allocation unit 12 tentatively assigns one of the plurality of status labels to each time and one or more types of sensor data associated with the time by a predetermined method.
  • the status label is a label that identifies each of the user's situations.
  • the number of status labels is preset to a predetermined number corresponding to the number of types of situations to be distinguished. In the situation estimation device 10 of the present embodiment, by appropriately setting the number of the situation labels, the situation of the specific user such as commuting, office work, meal, going out and returning home is not the state of the user such as moving and sitting. Can be estimated.
  • the status label can be, for example, a number such as "0", “1", “2", "3”, and so on.
  • FIG. 4 is a diagram showing an example of status assignment to the sensor data at each time in the sensor information.
  • status labels "0-4" are assigned for each time.
  • the status allocation unit 12 assigns status labels to each time and one or more types of sensor data associated with the time based on random numbers as an initial status allocation. .. As shown in FIG. 4, the situation allocation unit 12 randomly assigns any one of the situation labels 0 to 4 to each of the time series time and the sensor data set of the sensors A to C based on a random number. This will generate an initial status array consisting of a time series array of status labels assigned to each time. As a result, a tentative situation array suitable for learning the model described later can be obtained.
  • the first model learning unit 13 learns a situation estimation model (first model) that classifies the sensor data associated with each time into one of a plurality of situations. Specifically, the first model learning unit 13 extracts sensor data to which the same status label is assigned. Then, the first model learning unit 13 learns the situation estimation model by unsupervised learning by calculating the feature parameters representing the features of the extracted sensor data for each situation label.
  • first model a situation estimation model
  • the unsupervised learning in this embodiment may be, for example, a cluster analysis such as the k-means method, an analysis using a variance-covariance matrix (Markov random field model), or the like, and the method is not limited.
  • the feature parameter that defines the situation estimation model may include at least one of the mean value and the variance-covariance matrix of one or more types of sensor data.
  • the mean value and the variance-covariance matrix of one or more types of sensor data are used as the feature parameters of the situation estimation model.
  • FIG. 5 is a diagram for explaining the learning process of the situation estimation model.
  • the first model learning unit 13 is assigned the same status label based on the status array generated by the status allocation unit 12 or the status array updated by the status allocation update unit 15. Is extracted. Then, the first model learning unit 13 calculates the variance-covariance matrix pa3 and the average pb2 based on the sensor data of the sensors A to C to which the situation label 3 is assigned, and calculates the feature parameter of the situation label “3”. Output par3.
  • the first model learning unit 13 calculates the variance-covariance matrix pa4 and the average pb4 based on the sensor data of the sensors A to C to which the situation label 4 is assigned, and calculates the feature parameter of the situation label “4”. Output par4. Further, the first model learning unit 13 calculates the variance-covariance matrix pa2 and the average pb2 based on the sensor data of the sensors A to C to which the situation label 2 is assigned, and calculates the characteristic parameter par2 of the situation label “2”. Is output.
  • the first model learning unit 13 stores the feature parameters of each situation label in the first model storage unit 40 as a learned situation estimation model.
  • the first model storage unit 40 is a storage means for storing the situation estimation model in the learning process and the learned situation estimation model.
  • FIG. 6 is a flowchart showing the learning process of the situation estimation model.
  • the flowchart shown in FIG. 6 corresponds to the process of step S3 in the flowchart of FIG. 14 described later.
  • step S31 the first model learning unit 13 initializes the variable i for counting the number of types of situation labels.
  • step S32 the first model learning unit 13 determines whether or not the variable i is less than the number of types of the situation label. If it is determined that the variable i is less than the number of status label types, the process proceeds to step S33. On the other hand, if it is not determined that the variable i is less than the number of status label types, the learning process ends.
  • step S33 the first model learning unit 13 extracts the sensor data to which the situation label [i] is assigned based on the situation array consisting of the time-series array of the situation labels assigned to each time.
  • step S34 the first model learning unit 13 calculates the feature parameters of the sensor data extracted in step S33 (for example, the variance-covariance matrix and the average value of the sensor data acquired by a plurality of sensors).
  • step S35 the first model learning unit 13 holds the feature parameter, which is the learning result, in the first model storage unit 40 as the situation estimation model M1 [i] related to the situation label [i].
  • step S36 the first model learning unit 13 increments the value of the variable i, and the process returns to step S32.
  • the second model learning unit 14 learns the situation transition model (second model).
  • the situation transition model one time in the time series is set as the transition reference time, and the transition of the situation label before the transition reference time extracted from the situation array consisting of the time series array of the situation labels is input, and the transition reference time is used.
  • This model outputs the status of the next time.
  • the situation transition model may be a model configured including a neural network.
  • the second model learning unit 14 stores the parameters that define the situation transition model in the second model storage unit 50 as the learned situation transition model.
  • the second model storage unit 50 is a storage means for storing the situation transition model in the learning process and the learned situation transition model.
  • the second model learning unit 14 inputs information indicating the transition of the situation label before the transition reference time and the situation label assigned at the next time at the transition reference time from the situation array, respectively, as an input feature amount and a teacher. It is extracted as a label, and learning data consisting of the extracted input feature amount and the teacher label is generated. The second model learning unit 14 generates a plurality of learning data with each time along the time series as the transition reference time, and learns the situation transition model by machine learning based on the generated learning data.
  • a situation transition model which is a model including a trained neural network, can be regarded as a program that is read or referred to by a computer, causes the computer to execute a predetermined process, and causes the computer to realize a predetermined function.
  • the trained situation transition model of the present embodiment is used in a computer equipped with a CPU and a memory.
  • the CPU of the computer performs the transition of the input data (for example, the transition of the status label before the transition reference time) input to the input layer of the neural network according to the command from the learned status transition model stored in the memory.
  • the input feature amount consisting of the information to be represented is calculated based on the learned weighting coefficient and response function corresponding to each layer, and the result (probability of each situation label) is output from the output layer.
  • the neural network included in the situation transition model may be, for example, a feedforward neural network, a convolutional neural network, or the like, and the type of neural network used is not limited.
  • FIG. 7 is a diagram showing an example of learning data of the situation transition model.
  • the time of one of the time series corresponding to the situation array is set as the transition reference time t1
  • the input feature amount and the input feature amount associated with the transition reference time are set.
  • the input feature can consist of, for example, an array of status labels associated with a relative time relative to the transition reference time.
  • the teacher label is a status label assigned to the time following the transition reference time in the status array.
  • the second model learning unit may compress the time-series array of the situation labels before the transition reference time by a predetermined method to generate information indicating the transition of the situation labels of the input feature amount in the learning data. Specifically, the second model learning unit 14 extracts only the pair in which the transition of the status label occurs in the array of the pair of the relative time of the time series before the transition reference time and the status label (the same status label is continuous). It may be used as an input feature quantity by compressing the array to be used. For example, the second model learning unit 14 has an array of pairs of relative time and situation labels [(0, A), (1, A), (2, A), (3, B), (4, B)). , (5, B), (6, C) ...], the compressed array [(0, A), (3, B) (6, C)] may be extracted as an input feature quantity. ..
  • FIG. 8 is a flowchart showing the learning process of the situation transition model.
  • the flowchart shown in FIG. 8 corresponds to the process of step S4 in the flowchart of FIG. 12 described later.
  • step S41 the second model learning unit 14 compresses an array having the same status label in succession among the status array generated by the status allocation unit 12 or the status array updated by the status allocation update unit 15.
  • the process of compressing the status label array in step S41 is not an essential process.
  • step S42 the second model learning unit 14 extracts learning data based on the situation array.
  • step S43 the second model learning unit 14 uses the learning data extracted in step S42 to learn the situation transition model by so-called supervised learning. Specifically, the second model learning unit 14 inputs the above-mentioned input features into the situation transition model during learning, and calculates the loss based on the output value from the situation transition model including the neural network and the teacher label. , The calculated loss is back-propagated to the neural network, and the parameters (weights) of the neural network are updated.
  • a known learning method for a model including a neural network can be applied to the learning of the situation transition model in the present embodiment.
  • step S44 the second model learning unit 14 holds the parameter, which is the learning result, in the second model storage unit 50 as the situation transition model M2.
  • the situation allocation update unit 15 estimates the situation of each time based on each of the situation estimation model and the situation transition model for each time in the time series, and allocates to each time based on each estimated situation. Update the status label.
  • the situation allocation update unit 15 calculates the likelihood for each situation at each time in the time series based on each of the situation estimation model and the situation transition model, and for each situation at each calculated time. Update the status label assigned to each time based on the likelihood.
  • FIG. 9A is a diagram showing an example of feature parameters of the situation estimation model. Specifically, the feature parameter shown in FIG. 9A constitutes a situation estimation model for calculating the likelihood that the sensor data associated with the time belongs to the situation label “3”.
  • FIG. 9B is a diagram showing an example of sensor data for which the situation is estimated.
  • the status allocation update unit 15 sets ⁇ kut , ⁇ ut, and X ut in the equation (1) as the inverse matrix of the variance-covariance matrix pa3, respectively.
  • the mean value pb3 and the sensor data sd are applied to calculate the likelihood ⁇ .
  • FIG. 10 is a diagram for explaining an example of updating the status allocation.
  • the estimation result r1 is likely to belong to each of the situation labels 0, 1 and 2, calculated by the situation estimation model updated by learning based on the time t in the time series and the sensor data associated with the time t. It is a likelihood that indicates the peculiarity.
  • the estimation result r1 is calculated using, for example, the equation (1).
  • the estimation result r2 is the likelihood of belonging to each of the situation labels 0, 1 and 2, calculated by the situation transition model updated by learning based on the input features extracted from the situation array with the time t as the transition reference time. Is the likelihood of indicating.
  • the situation allocation update unit 15 calculates, for example, a linear sum of likelihoods based on the estimation result r1 and the estimation result r2. Then, the status allocation update unit 15 assigns the status label to be assigned to the time t as the status label having a large likelihood value (the value of the linear sum of the negative log-likelihood is very small) among the calculated linear sums of the likelihoods. Update to "0".
  • the likelihood for each situation at each time is calculated by each of the situation estimation model and the situation transition model, and the likelihood calculated by each model is also considered, so that the situation allocation in the situation array can be assigned. It will be updated appropriately. For example, in the example shown in FIG. 10, if the situation assignment is updated using only the situation estimation model, the likelihood of the situation label "1" is the maximum, so that the situation label at time t is updated to "1". .. In the present embodiment, since the likelihood calculated by both the situation estimation model and the situation transition model is taken into consideration, the situation label at time t is appropriately updated to "0".
  • FIG. 11 is a flowchart showing an example of processing for updating the status allocation of all users.
  • the status allocation update unit 15 sets the variable u for counting the number of users to 0 in order to initialize it.
  • the status allocation update unit 15 determines whether or not the variable u is less than the number of users. If it is not determined that the variable u is less than the number of users, the status allocation update process ends. On the other hand, if it is determined that the variable u is less than the number of users, the process proceeds to step S53.
  • step S53 the status allocation update unit 15 sets the variable t for counting the time for all status labels k to 0 in order to initialize it.
  • step S54 the status allocation update unit 15 calculates a score S1 (k, u, 0) for all status labels k.
  • the score S1 (k, u, t) is a score generated by the situation estimation model M1 [k] regarding the situation label k for the sensor data v (u, t) at the time t of the user u.
  • the score S1 indicates that the smaller the value, the more likely the sensor data v is to occur in the situation indicated by the situation label k.
  • the score S2 is a score generated for the situation label k based on H (u, k, t) which is a set of a set of the time and the situation label at the time t'( ⁇ t) and the situation transition model M2. ..
  • the score S2 indicates that the smaller the value, the easier it is to transition to the situation k.
  • step S56 the status allocation update unit 15 calculates G (S1, S2) using the evaluation function G, and determines the status label having the minimum value.
  • the determination means determining the transition of the situation leading to the situation.
  • the evaluation function G is an index showing the likelihood of occurrence of the situation k, and the smaller the value, the more likely the situation k to occur.
  • G (S1, S2) may be, for example, a linear sum of S1 and S2.
  • step S57 the status allocation update unit 15 acquires H (u, k, 1) by adding the status label determined in step S55 to the set (array) of the set of the time and the status label. Then, the situation allocation update unit 15 calculates the score S2 for each situation label k using the acquired H, and holds each situation label k and the score S2 in the candidate list as an undetermined situation.
  • step S60 the status allocation update unit 15 refers to the candidate list held in steps S57 and S61, calculates the status evaluation function G (S1, S2) using the score S2 for each status label, and calculates the status evaluation function G (S1, S2) of G.
  • the status label with the smallest value is the confirmed status.
  • step S61 the status assignment update unit 15 adds the status label determined in step S60 to H (u, k, t), and uses H (u, k, t) to score S2 for each status label k. Is calculated, and each situation label k and its score S2 are retained in the candidate list. If there are uncertain situations already held in the candidate list, the one with the lower score will be held. Further, the status allocation update unit 15 increments the value of the variable t related to the determined status.
  • step S59 the status allocation update unit 15 updates the status array with the transition series consisting of the determined status as the final status allocation of the user u.
  • the output unit 16 outputs a situation estimation model and a situation transition model when a predetermined condition for updating the situation label is satisfied.
  • a predetermined condition for updating the status label is, for example, when each model and the status array converge without changing the status allocation in the status array in the training of each model and the processing of updating the status array. ..
  • the output unit 16 stores, for example, a situation estimation model and a situation transition model in the first model storage unit 40 and the second model storage unit 50, respectively, when a predetermined condition is satisfied.
  • the output unit 16 may further output the status array in which the status label of each time is updated when a predetermined condition for updating the status label is satisfied.
  • the output unit 16 stores, for example, in the status allocation storage unit 30.
  • the status allocation storage unit 30 is a storage means for storing the status array.
  • the situation prediction unit 17 inputs sensor information into the learned situation estimation model and situation transition model, and acquires a situation array consisting of an array of situation labels representing the transition of the situation up to the current time.
  • the output unit 16 outputs the situation array acquired by the situation prediction unit 17.
  • the output unit 16 may transmit and provide the situation array acquired by the situation prediction unit 17 to the user's terminal as a situation estimation result.
  • the situation prediction unit 17 may input a situation array consisting of an array of situation labels up to the current time into the situation transition model to acquire the situation label at the time next to the current time.
  • the output unit 16 outputs a status label at the time following the current time.
  • the output unit 16 may transmit and provide the status label of the time next to the current time to the user's terminal as a prediction result of the user's future situation.
  • the situation prediction unit 17 can acquire a plurality of situation arrays by inputting the sensor information of each of the plurality of users into the learned situation estimation model and the situation transition model.
  • the situation prediction unit 17 performs a predetermined data mining process on the acquired plurality of situation arrays, and acquires a predetermined number of patterns of patterns having a higher frequency of occurrence.
  • the situation prediction unit 17 may perform any known data mining process.
  • the situation prediction unit 17 may perform data mining processing such as frequent pattern extraction, classification, regression analysis, and clustering to find characteristic patterns that occur frequently from the data set.
  • the number of patterns of the situation array to be acquired may be any number.
  • the output unit 16 may output a status array of a predetermined number of patterns with a higher frequency of occurrence, which is acquired by the status prediction unit 17. Since the sensor information acquired by the sensor information acquisition unit 11 is time-series sensor data acquired by a plurality of sensors, it may be a huge amount of multidimensional data. When data mining processing is performed on such multidimensional and enormous data, even if there is a slight difference between users in a certain sensor data, it is classified as a different pattern, and the classification result is difficult to interpret. May be obtained. According to the present embodiment, when the sensor information is input to the situation estimation model and the situation transition model, it is compressed into information consisting of a sequence of one variable such as an array of situation labels. By performing data mining on the situation array in which the sensor information is compressed in this way, it is possible to provide significant and interpretable information.
  • FIG. 12 is a flowchart showing the processing contents of the situation estimation method of the model generation phase in the situation estimation device 10.
  • step S1 the sensor information acquisition unit 11 acquires the sensor information.
  • step S2 the status allocation unit 12 randomly assigns one of the plurality of status labels to each time and the sensor data associated with the time based on a random number.
  • step S3 the first model learning unit 13 learns and updates the situation estimation model based on the situation allocation in step S2 or the situation allocation (update) in step S5.
  • the process in step S3 corresponds to, for example, the process of the flowchart shown in FIG.
  • step S4 the second model learning unit 14 learns and updates the situation transition model based on the situation allocation in step S2 or the situation allocation (update) in step S5.
  • the process in step S4 corresponds to, for example, the process of the flowchart shown in FIG.
  • step S5 the situation allocation update unit 15 is based on the estimation result of the situation label for the sensor data at each time (for example, the likelihood belonging to each situation label) by the learned and updated situation estimation model and the situation transition model. , Update the status assignments in the status array.
  • step S6 the status allocation update unit 15 determines whether or not the status allocation in the status array has changed. If it is determined that the status assignment has changed, the process returns to step S3. On the other hand, if it is not determined that the status assignment has changed, the process proceeds to step S7.
  • step S7 the output unit 16 outputs the situation estimation model, the situation transition model, and the situation array.
  • FIG. 13 is a flowchart showing the processing contents of the situation estimation method for estimating the transition of the situation up to the current time.
  • step S11 the sensor information acquisition unit 11 acquires sensor information consisting of a time-series sensor data group acquired at, for example, the user's terminal.
  • step S12 the situation prediction unit 17 inputs the sensor information into the learned situation estimation model and the situation transition model, and estimates the situation array consisting of the array of situation labels representing the transition of the situation up to the current time t.
  • step S13 the output unit 16 transmits and provides the situation array estimated in step S12 as the estimation result of the user's situation, for example, to the user's terminal.
  • FIG. 14 is a flowchart showing the processing contents of the situation estimation method for estimating the situation at the time following the current time.
  • step S21 the sensor information acquisition unit 11 acquires sensor information consisting of a time-series sensor data group acquired at, for example, the user's terminal.
  • step S22 the situation prediction unit 17 inputs the sensor information into the learned situation estimation model and the situation transition model, and estimates a situation array consisting of an array of situation labels representing the transition of the situation up to the current time t.
  • step S23 the situation prediction unit 17 predicts the situation at time t + n using the situation array and the situation transition model estimated in step S22.
  • step S24 the output unit 16 transmits and provides the status label predicted in step S23 as a prediction result of the future situation of the user, for example, to the user's terminal.
  • FIG. 15 is a diagram showing a configuration of a situation estimation program.
  • the situation estimation program P1 includes a main module m10 that comprehensively controls the situation estimation process in the situation estimation device 10, a sensor information acquisition module m11, a situation allocation module m12, a first model learning module m13, a second model learning module m14, and a situation. It is configured to include an allocation update module m15, an output module m16, and a status prediction module m17. Then, by each module m11 to m17, the sensor information acquisition unit 11, the situation allocation unit 12, the first model learning unit 13, the second model learning unit 14, the situation allocation update unit 15, the output unit 16 and the situation in the situation estimation device 10 Each function for the prediction unit 17 is realized.
  • the situation estimation program P1 may be transmitted via a transmission medium such as a communication line, or may be stored in the recording medium M1 as shown in FIG.
  • the situation estimation device 10 the situation estimation method, and the situation estimation program P1 of the present embodiment described above, each of them is based on the situation array which is the arrangement of the situation labels tentatively assigned to the sensor data acquired in the time series.
  • a situation estimation model that classifies the sensor data associated with the time into one of multiple situations is constructed by unsupervised learning by calculating the feature parameters of the sensor data to which the same situation label is assigned.
  • a situation transition is constructed that estimates the next situation based on the time series situation transition. Then, the situation array representing the situation transition is updated based on the situation estimation result output by each of the situation estimation model and the situation transition model, and the situation estimation model and the situation transition model are updated based on the updated situation array. Since the learning is carried out, it is possible to estimate the situation with high accuracy and construct a model for estimating the user's situation without requiring the user to input the situation information for the learning.
  • the feature parameter may include at least one of the mean value and the variance-covariance matrix of one or more types of sensor data.
  • the features of the sensor data to which the same status label is assigned are appropriately represented in the feature parameters, so that a first model capable of highly accurate situation assignment can be constructed.
  • the situation allocation update unit calculates the likelihood for each situation at each time in the time series based on each of the first model and the second model, and calculates the likelihood.
  • the status label assigned to each time may be updated based on the likelihood of each situation at each time.
  • the likelihood for each situation at each time is calculated by each of the first model and the second model, and the likelihood calculated by each model is also considered, so that the situation in the situation array Assignments are updated appropriately.
  • the output unit may output the situation array in which the situation label of each time is updated.
  • the situation allocation unit may assign a situation label to each time and one or more types of sensor data associated with the time based on a random number. ..
  • a tentative situation sequence suitable for learning the first model and the second model can be obtained.
  • the second model learning unit compresses the time series array of the situation labels before the transition reference time by a predetermined method, and compresses the situation label of the input feature amount in the training data.
  • Information representing the transition may be generated.
  • the size of the input feature amount used for learning the second model can be reduced, so that the load of the learning process of the second model can be reduced.
  • the situation estimation program causes the computer to function as a situation estimation device that estimates the user's situation based on the sensor data detected by the sensor. It is an estimation program and is one of a sensor information acquisition function that acquires sensor information consisting of a time-series sensor data group acquired by at least one sensor on a computer and a status label that identifies each of the user's situations.
  • a situation allocation function that temporarily assigns each time and one or more sensor data associated with the time by a predetermined method, and a feature parameter that represents the characteristics of the sensor data to which the same situation label is assigned are calculated.
  • the first model learning function that learns the first model that classifies the sensor data associated with each time into one of a plurality of situations, and the time series of the situation labels assigned to each time. From the status array consisting of an array, input the information indicating the transition of the status label before the transition reference time and the status label assigned to the next time at the transition reference time, respectively, with one time in the time series as the transition reference time. And, by machine learning based on the extracted input feature amount and learning data including the teacher label, the transition of the status label before the transition reference time is input and the status label of the next time at the transition reference time is output.
  • the situation at each time is estimated based on each of the first model and the second model, and the estimated situation is set to each. Based on this, a status assignment update function for updating the status label assigned to each time and an output function for outputting the first model and the second model when a predetermined condition for updating the status label is satisfied are realized. ..
  • the sensor data associated with each time is selected from a plurality of situations based on the situation array which is an array of status labels tentatively assigned to the sensor data acquired in time series.
  • the first model which is classified into one of the above, is constructed by unsupervised learning by calculating the feature parameters of the sensor data to which the same situation label is assigned, and the next situation is determined based on the transition of the situation in the time series.
  • a second model to estimate is constructed.
  • the situation array representing the transition of the situation is updated based on the estimation result of the situation output by each of the first model and the second model, and the first model and the second model are updated based on the updated situation array. Since the learning is carried out, it is possible to estimate the situation with high accuracy and to construct a model for estimating the user's situation without requiring the user to input the situation information for the learning.
  • the trained estimation model estimates the user's situation in the situation estimation device that estimates the user's situation based on the sensor data detected by the sensor.
  • a trained estimation model for operating a computer the estimation model includes a first model and a second model, the first model having a plurality of one or more types of sensor data associated with each time.
  • a status label that identifies each of the user's situations based on sensor information consisting of time-series sensor data groups acquired by at least one type of sensor, which is a model that classifies into one of the situations of.
  • a feature parameter representing the characteristics of the sensor data associated with the same status label at the assigned time is composed of unsupervised learning to calculate, and the second model is from the situation array consisting of the time series array of the situation labels assigned to each time, and one time in the time series is set as the transition reference time before the transition reference time.
  • Information indicating the transition of the status label and the status label assigned at the next time at the transition reference time are extracted as input feature quantities and teacher labels, respectively, and by machine learning based on the learning data including the extracted input feature quantities and teacher labels.
  • the situation at each time is estimated based on the situation, and the first model and the second model are trained based on the situation label at each time updated based on the estimated situation.
  • the feature parameters of the sensor data to which the same status label is assigned are calculated based on the situation array which is an array of the status labels assigned to the sensor data acquired in time series.
  • Unsupervised learning builds a first model that classifies sensor data associated with each time into one of multiple situations, and estimates the next situation based on time-series situation transitions.
  • Two models are constructed, the situation array representing the transition of the situation is updated based on the estimation result of the situation output by each of the first model and the second model, and the second model is learned based on the updated situation array.
  • An estimation model including one model and a second model is obtained. Therefore, it is possible to obtain a model capable of estimating the situation with high accuracy without requiring the user to input the situation information for learning.
  • the situation estimation method is a situation estimation method in a situation estimation device that estimates a user's situation based on sensor data detected by a sensor, and is acquired by at least one type of sensor.
  • a sensor information acquisition step for acquiring sensor information consisting of a time-series sensor data group up to the current time, and a situation in which the sensor information is input to the above estimation model to represent a transition of the situation up to the current time. It has a situation prediction step for acquiring a situation sequence consisting of an array of labels, and an output step for outputting the situation sequence acquired in the situation prediction step.
  • the situation estimation device is a situation estimation device that estimates the user's situation based on the sensor data detected by the sensor, and is the current time acquired by at least one type of sensor. From the sensor information acquisition unit that acquires the sensor information consisting of the sensor data group of the time series up to the above, and the array of situation labels that represent the transition of the situation up to the current time by inputting the sensor information into the above estimation model. It is provided with a situation prediction unit that acquires a situation array, and an output unit that outputs a situation array acquired by the situation prediction unit.
  • a situation array consisting of an array of situation labels leading to the current time is input to the second model of the estimation model, and the situation at the time following the current time is input.
  • the label is acquired, and in the output step, the status label of the time following the current time acquired in the status prediction step is output.
  • the situation array up to the current time into the second model by inputting the situation array up to the current time into the second model, the situation label of the time next to the current time is output, so that the user can predict the situation after the present with high accuracy. It will be possible.
  • the situation prediction unit performs a predetermined data mining process on a plurality of situation arrays acquired by inputting the sensor information of each of the plurality of users into the estimation model. Then, the status array of a predetermined number of patterns having a higher frequency of occurrence is acquired, and the output unit outputs the status array of a predetermined number of patterns.
  • the time-series sensor data group is subjected to the data mining process as the situation array represented by the information of one variable as the situation label array, and the situation of a predetermined number of patterns obtained by the data mining. Since the sequence is output, it is possible to provide meaningful and interpretable information.
  • Each aspect / embodiment described in the present specification includes LTE (Long Term Evolution), LTE-A (LTE-Advanced), SUPER 3G, IMT-Advanced, 4G, 5G, FRA (Future Radio Access), W-CDMA. (Registered Trademarks), GSM (Registered Trademarks), CDMA2000, UMB (Ultra Mobile Broadband), IEEE 802.11 (Wi-Fi), LTE 802.16 (WiMAX), LTE 802.20, UWB (Ultra-WideBand), It may be applied to systems utilizing Bluetooth®, other suitable systems and / or next-generation systems extended based on them.
  • the input / output information and the like may be saved in a specific location (for example, memory) or may be managed by a management table. Input / output information and the like can be overwritten, updated, or added. The output information and the like may be deleted. The input information or the like may be transmitted to another device.
  • the determination may be made by a value represented by 1 bit (0 or 1), by a boolean value (Boolean: true or false), or by comparing numerical values (for example, a predetermined value). It may be done by comparison with the value).
  • the notification of predetermined information (for example, the notification of "being X") is not limited to the explicit one, but is performed implicitly (for example, the notification of the predetermined information is not performed). May be good.
  • Software is an instruction, instruction set, code, code segment, program code, program, subprogram, software module, whether called software, firmware, middleware, microcode, hardware description language, or another name.
  • Applications, software applications, software packages, routines, subroutines, objects, executable files, execution threads, procedures, functions, etc. should be broadly interpreted to mean.
  • software, instructions, etc. may be transmitted and received via a transmission medium.
  • the software uses wired technology such as coaxial cable, fiber optic cable, twist pair and digital subscriber line (DSL) and / or wireless technology such as infrared, wireless and microwave to websites, servers, or other When transmitted from a remote source, these wired and / or wireless technologies are included within the definition of transmission medium.
  • the information, signals, etc. described in this disclosure may be represented using any of a variety of different techniques.
  • data, instructions, commands, information, signals, bits, symbols, chips, etc. that may be referred to throughout the above description are voltages, currents, electromagnetic waves, magnetic fields or magnetic particles, light fields or photons, or any of these. It may be represented by a combination of.
  • system and "network” used in this specification are used interchangeably.
  • information, parameters, etc. described in the present specification may be represented by an absolute value, a relative value from a predetermined value, or another corresponding information. ..
  • determining and “determining” used in this disclosure may include a wide variety of actions.
  • “Judgment” and “decision” are, for example, judgment (judging), calculation (calculating), calculation (computing), processing (processing), derivation (deriving), investigation (investigating), search (looking up, search, inquiry). It may include (eg, searching in a table, database or another data structure), ascertaining as “judgment” or “decision”.
  • judgment and “decision” are receiving (for example, receiving information), transmitting (for example, transmitting information), input (input), output (output), and access. (Accessing) (for example, accessing data in memory) may be regarded as “judgment” or “decision”.
  • judgment and “decision” mean that “resolving”, “selecting”, “choosing”, “establishing”, “comparing”, etc. are regarded as “judgment” and “decision”. Can include. That is, “judgment” and “decision” may include that some action is regarded as “judgment” and “decision”. Further, “judgment (decision)” may be read as “assuming”, “expecting”, “considering” and the like.
  • any reference to the elements does not generally limit the quantity or order of those elements. These designations can be used herein as a convenient way to distinguish between two or more elements. Thus, references to the first and second elements do not mean that only two elements can be adopted there, or that the first element must somehow precede the second element.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

状況推定装置は、時系列のセンサデータ群を取得するセンサ情報取得部と、状況ラベルを各時刻のセンサデータに対して仮に割り当てる状況割当部と、同じ状況ラベルが割り当てられたセンサデータの特徴パラメータを算出して、各時刻のセンサデータをいずれかの状況に分類する状況推定モデルの学習を行う第1モデル学習部と、遷移基準時以前の状況ラベルの遷移を入力とし遷移基準時の次の時刻の状況ラベルを出力とする状況遷移モデルの学習を行う第2モデル学習部と、各モデルに基づいて推定された各時刻の状況に基づいて、各時刻に割り当てる状況ラベルを更新する状況割当更新部と、状況推定モデル及び状況遷移モデルを出力する出力部と、を備える。

Description

状況推定装置、状況推定プログラム、推定モデル及び状況推定方法
 本発明は、状況推定装置、状況推定プログラム、推定モデル及び状況推定方法に関する。
 ユーザの具体的な状況の推定及び将来の状況の予測を行うことの要請が高まっている。例えば、ユーザが所持する端末に備えられた各種のセンサにより取得された検出値に基づいてユーザの状態を推定する技術が知られている。例えば、特許文献1には、センサが検出した時系列のセンサ情報を文節可したセグメント情報とユーザの状態に対応するラベルIDとの対応関係を教師あり学習により構築した予測モデルにより、ユーザの状態を推定する技術が記載されている。
特開2018-10343号公報
 ユーザの状況を機械学習により構築されたモデルを用いて推定する従来の技術では、センサ等から取得された情報に対応づける正解ラベルが必要である。しかしながら、このような正解ラベルは、例えばユーザによる入力が必要であるので、その取得が困難であった。
 そこで、本発明は、上記問題点に鑑みてなされたものであり、容易に取得可能なセンサ情報に基づいて、状況に関するユーザによる情報の入力を要さずに、ユーザの状況を推定することを目的とする。
 上記課題を解決するために、本発明の一形態に係る状況推定装置は、センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置であって、少なくとも一つのセンサにより取得された時系列のセンサデータ群からなるセンサ情報を取得するセンサ情報取得部と、ユーザの状況のそれぞれを識別する状況ラベルのうちの一つを、各時刻及び当該時刻に関連付けられた1以上のセンサデータに対して、所定の手法により仮に割り当てる状況割当部と、同じ状況ラベルが割り当てられたセンサデータの特徴を表す特徴パラメータを算出して、各時刻に関連付けられたセンサデータを複数の状況のうちのいずれかの状況に分類する第1モデルの学習を行う第1モデル学習部と、各時刻に割り当てられた状況ラベルの時系列の配列からなる状況配列から、時系列中の一の時刻を遷移基準時として遷移基準時以前の状況ラベルの遷移を表す情報及び遷移基準時の次の時刻に割り当てられた状況ラベルをそれぞれ入力特徴量及び教師ラベルとして抽出し、抽出した入力特徴量及び教師ラベル含む学習データに基づく機械学習により、遷移基準時以前の状況ラベルの遷移を入力とし遷移基準時の次の時刻の状況ラベルを出力とする第2モデルの学習を行う第2モデル学習部と、時系列のうちの各時刻に関して、第1モデル及び第2モデルのそれぞれに基づいて各時刻の状況を推定し、推定されたそれぞれの状況に基づいて、各時刻に割り当てる状況ラベルを更新する状況割当更新部と、状況ラベルの更新に関する所定の条件が充足された場合に、第1モデル及び第2モデルを出力する出力部と、を備える。
 上記の形態によれば、時系列に取得されたセンサデータに対して仮に割り当てられた状況ラベルの配列である状況配列に基づいて、各時刻に関連付けられたセンサデータを複数の状況のうちのいずれかに分類する第1モデルが、同じ状況ラベルが割り当てられたセンサデータの特徴パラメータを算出することによる教師なし学習により構築されると共に、時系列の状況の遷移に基づいて次の状況を推定する第2モデルが構築される。そして、第1モデル及び第2モデルのそれぞれにより出力された状況の推定結果に基づいて、状況の遷移を表す状況配列が更新され、更新された状況配列に基づいて第1モデル及び第2モデルの学習が実施されるので、学習に供するためのユーザによる状況の情報の入力を要さずに、高精度な状況の推定及びユーザの状況を推定するモデルの構築が可能となる。
 容易に取得可能なセンサ情報に基づいて、状況に関するユーザによる情報の入力を要さずに、ユーザの状況を推定することが可能となる。
本実施形態の状況推定装置を含む状況推定システムの機能的構成を示すブロック図である。 状況推定装置のハードブロック図である。 図3(a)は、センサ情報を模式的に示す図である。図3(b)は、センサ情報の実体を模式的に表す図である。 センサ情報における各時刻のセンサデータに対する状況の割り当ての例を示す図である。 状況推定モデルの学習処理を説明するための図である。 状況推定モデルの学習処理を示すフローチャートである。 状況遷移モデルの学習データの例を示す図である。 状況遷移モデルの学習処理を示すフローチャートである。 図9(a)は、状況推定モデルのパラメータの例を示す図である。図9(b)は、状況の推定対象のセンサデータの例を示す図である。 状況割当の更新の例を説明するための図である。 状況割当の更新の処理の例を示すフローチャートである。 状況推定装置におけるモデル生成の局面の状況推定方法の処理内容を示すフローチャートである。 現在時刻に至る状況の遷移を推定する状況推定方法の処理内容を示すフローチャートである。 現在時刻の次の時刻の状況を推定する状況推定方法の処理内容を示すフローチャートである。 状況推定プログラムの構成を示す図である。
 本発明に係る状況推定装置の実施形態について図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
 図1は、本実施形態に係る状況推定装置を含む状況推定システムの機能的構成を示す図である。図1に示すように、状況推定システム1は、状況推定装置10、センサ情報記憶部20、状況割当記憶部30、第1モデル記憶部40及び第2モデル記憶部50を含む。状況推定装置10は、センサにより検知されるセンサデータに基づいてユーザの状況を推定する装置である。
 状況推定装置10並びにセンサ情報記憶部20、状況割当記憶部30、第1モデル記憶部40及び第2モデル記憶部50は、1つの装置として構成されてもよいし、それぞれが別の装置に構成されてもよい。
 状況推定装置10は、図1に示すように、機能的には、センサ情報取得部11、状況割当部12、第1モデル学習部13、第2モデル学習部14、状況割当更新部15、出力部16及び状況予測部17を備える。これらの各機能部11~17は、一つの装置に構成されてもよいし、複数の装置に分散されて構成されてもよい。センサ情報記憶部20、状況割当記憶部30、第1モデル記憶部40及び第2モデル記憶部50は、各機能部11~17からアクセス可能に構成されていれば、状況推定装置10に構成されてもよいし、状況推定装置10以外の装置に構成されてもよい。
 なお、図1に示したブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
 機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
 例えば、本発明の一実施の形態における状況推定装置10は、コンピュータとして機能してもよい。図2は、本実施形態に係る状況推定装置10のハードウェア構成の一例を示す図である。状況推定装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。状況推定装置10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
 状況推定装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、図1に示した各機能部11~17などは、プロセッサ1001で実現されてもよい。
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、状況推定装置10の各機能部11~17は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
 メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る状況推定方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
 ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD-ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu-ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
 通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
 入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
 また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
 また、状況推定装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
 次に、状況推定装置10の各機能部について説明する。センサ情報取得部11は、少なくとも一つの種類のセンサにより取得された時系列のセンサデータ群からなるセンサ情報を取得する。センサデータは、ユーザの状況の推定に関連があるものであれば特に限定されないが、例えば、ユーザが所持する端末に備えられたセンサにより取得されるデータであってもよい。センサは、例えば、加速度センサ及び傾きセンサ等であってもよい。センサデータは、例えば、加速度及び傾きの情報であってもよい。
 センサ情報記憶部20は、センサ情報を記憶している記憶手段である。ユーザの端末において取得された各種のセンサデータは、端末から送信され、センサ情報記憶部20に記憶される。状況推定装置10が、端末から送信されたセンサデータを受信して、受信したセンサデータをセンサ情報記憶部20に記憶させてもよい。なお、本実施形態の状況推定装置10は、ユーザの端末に構成されてもよい。
 図3は、センサ情報の例を示す図である。図3(a)は、センサ情報を模式的に示す図である。図3に示す例では、センサ情報は、3種類のセンサA~Cにより取得された時系列のセンサデータを含む。図3(b)は、センサ情報の実体を模式的に表す図である。即ち、センサ情報は、各センサにより取得された時系列のセンサデータ群からなるので、図3(b)に示されるように、センサの種類数を行数とする行列として表されることができる。この行列の列数は、センサによる検出時間に相当する。従って、センサ情報は、時刻に関連付けられたセンサA、センサB及びセンサCのセンサデータを、時系列に配列したデータ群である。
 状況割当部12は、複数の状況ラベルのうちの一つを、各時刻及び当該時刻に関連付けられた1以上の種類のセンサデータに対して、所定の手法により仮に割り当てる。
 状況ラベルは、ユーザの状況のそれぞれを識別するラベルである。状況ラベルの数は、峻別される状況の種類の数に対応する所定数に予め設定される。本実施形態の状況推定装置10では、この状況ラベルの数を適切に設定することにより、移動、着座といったユーザの状態ではなく、通勤、事務作業、食事、外出及び帰宅といった具体的なユーザの状況の推定が可能となる。状況ラベルは、例えば、「0」、「1」、「2」、「3」、・・・といった数字であることができる。
 図4は、センサ情報における各時刻のセンサデータに対する状況の割り当ての例を示す図である。図4に示す例では、状況ラベル「0~4」が各時刻に対して割り当てられる。
 状況割当部12は、後述するモデルの学習に先立って、初期の状況割当として、乱数に基づいて、各時刻及び当該時刻に関連付けられた1以上の種類のセンサデータに対して、状況ラベルを割り当てる。図4に示すように、状況割当部12は、時系列の時刻及びセンサA~Cのセンサデータの組のそれぞれに対して、状況ラベル0~4のいずれかを乱数に基づいてランダムに割り当てる。これにより、各時刻に割り当てられた状況ラベルの時系列の配列からなる初期の状況配列が生成される。これにより、後述されるモデルの学習に好適な仮の状況配列を得ることができる。
 第1モデル学習部13は、各時刻に関連付けられたセンサデータを複数の状況のうちのいずれかの状況に分類する状況推定モデル(第1モデル)の学習を行う。具体的には、第1モデル学習部13は、同じ状況ラベルが割り当てられたセンサデータを抽出する。そして、第1モデル学習部13は、抽出されたセンサデータの特徴を表す特徴パラメータを状況ラベルごとに算出することによる教師なし学習により、状況推定モデルの学習を実施する。
 本実施形態における教師なし学習は、例えば、k-means法等のクラスタ分析、分散共分散行列(マルコフ確率場モデル)を用いた解析等であってもよく、その手法は限定されない。
 状況推定モデルを定義する特徴パラメータは、1以上の種類のセンサデータの平均値及び分散共分散行列のうちの少なくとも一つを含むこととしてもよい。本実施形態では、1以上の種類のセンサデータの平均値及び分散共分散行列を状況推定モデルの特徴パラメータとする。
 図5は、状況推定モデルの学習処理を説明するための図である。図5に示すように、第1モデル学習部13は、状況割当部12により生成された状況配列または状況割当更新部15により更新された状況配列に基づいて、同じ状況ラベルが割り当てられたセンサデータを抽出する。そして、第1モデル学習部13は、例えば状況ラベル3が割り当てられたセンサA~Cのセンサデータに基づいて、分散共分散行列pa3及び平均pb2を算出して、状況ラベル「3」の特徴パラメータpar3を出力する。
 同様に、第1モデル学習部13は、状況ラベル4が割り当てられたセンサA~Cのセンサデータに基づいて、分散共分散行列pa4及び平均pb4を算出して、状況ラベル「4」の特徴パラメータpar4を出力する。さらに、第1モデル学習部13は、状況ラベル2が割り当てられたセンサA~Cのセンサデータに基づいて、分散共分散行列pa2及び平均pb2を算出して、状況ラベル「2」の特徴パラメータpar2を出力する。
 第1モデル学習部13は、各状況ラベルの特徴パラメータを、学習された状況推定モデルとして第1モデル記憶部40に記憶させる。第1モデル記憶部40は、学習過程にある状況推定モデル及び学習済みの状況推定モデルを記憶する記憶手段である。
 図6は、状況推定モデルの学習処理を示すフローチャートである。図6に示されるフローチャートは、後に説明する図14のフローチャートにおけるステップS3の処理に相当する。
 ステップS31において、第1モデル学習部13は、状況ラベルの種類数をカウントするための変数iを初期化する。ステップS32において、第1モデル学習部13は、変数iが状況ラベルの種類数未満であるか否かを判定する。変数iが状況ラベルの種類数未満であると判定された場合には、処理はステップS33に進む。一方、変数iが状況ラベルの種類数未満であると判定されなかった場合には、学習処理は終了する。
 ステップS33において、第1モデル学習部13は、状況ラベル[i]が割り当てられたセンサデータを、各時刻に割り当てられた状況ラベルの時系列の配列からなる状況配列に基づいて抽出する。
 ステップS34において、第1モデル学習部13は、ステップS33において抽出されたセンサデータの特徴パラメータ(例えば、複数のセンサにより取得されたセンサデータの分散共分散行列及び平均値)を算出する。
 ステップS35において、第1モデル学習部13は、学習結果である特徴パラメータを、状況ラベル[i]に関する状況推定モデルM1[i]として、第1モデル記憶部40に保持する。ステップS36において、第1モデル学習部13は、変数iの値をインクリメントして、処理はステップS32に戻る。
 第2モデル学習部14は、状況遷移モデル(第2モデル)の学習を行う。状況遷移モデルは、時系列中の一の時刻を遷移基準時として、状況ラベルの時系列の配列からなる状況配列から抽出された遷移基準時以前の状況ラベルの遷移を入力とし、遷移基準時の次の時刻の状況を出力とするモデルである。状況遷移モデルは、ニューラルネットワークを含んで構成されるモデルであってもよい。
 第2モデル学習部14は、状況遷移モデルを定義するパラメータを、学習された状況遷移モデルとして第2モデル記憶部50に記憶させる。第2モデル記憶部50は、学習過程にある状況遷移モデル及び学習済みの状況遷移モデルを記憶する記憶手段である。
 具体的には、第2モデル学習部14は、状況配列から、遷移基準時以前の状況ラベルの遷移を表す情報及び遷移基準時の次の時刻に割り当てられた状況ラベルをそれぞれ入力特徴量及び教師ラベルとして抽出し、抽出した入力特徴量及び教師ラベルからなる学習データを生成する。第2モデル学習部14は、時系列に沿う各時刻を遷移基準時として複数の学習データを生成し、生成した学習データに基づく機械学習により、状況遷移モデルの学習を行う。
 学習済みのニューラルネットワークを含むモデルである状況遷移モデルは、コンピュータにより読み込まれ又は参照され、コンピュータに所定の処理を実行させ及びコンピュータに所定の機能を実現させるプログラムとして捉えることができる。
 即ち、本実施形態の学習済みの状況遷移モデルは、CPU及びメモリを備えるコンピュータにおいて用いられる。具体的には、コンピュータのCPUが、メモリに記憶された学習済みの状況遷移モデルからの指令に従って、ニューラルネットワークの入力層に入力された入力データ(例えば、遷移基準時以前の状況ラベルの遷移を表す情報からなる入力特徴量)に対し、各層に対応する学習済みの重み付け係数と応答関数等に基づく演算を行い、出力層から結果(各状況ラベルの尤度)を出力するよう動作する。
 状況遷移モデルに含まれるニューラルネットワークは、例えば、フィードフォワードニューラルネットワーク、畳み込みニューラルネットワーク等であってもよく、用いられるニューラルネットワークの種類は限定されない。
 図7は、状況遷移モデルの学習データの例を示す図である。図7に示すように、状況遷移モデルの学習のための学習データは、状況配列に対応する時系列のうちの一の時刻を遷移基準時t1とし、当該遷移基準時に関連付けられた入力特徴量及び教師ラベルを含む。入力特徴量は、例えば、遷移基準時を基準とする相対時刻に関連付けられた状況ラベルの配列からなることができる。教師ラベルは、状況配列において、遷移基準時の次の時刻に割り当てられた状況ラベルである。
 第2モデル学習部は、遷移基準時以前の状況ラベルの時系列の配列を所定の手法により圧縮して、学習データにおける入力特徴量の状況ラベルの遷移を表す情報を生成してもよい。具体的には、第2モデル学習部14は、遷移基準時以前の時系列の相対時刻と状況ラベルとの組の配列において、状況ラベルの遷移が発生した組のみを抽出(同じ状況ラベルが連続する配列を圧縮)して、入力特徴量としてもよい。例えば、第2モデル学習部14は、相対時刻と状況ラベルとの組の配列[(0,A),(1,A),(2,A),(3,B),(4,B),(5,B),(6,C)・・・]から、圧縮された配列[(0,A),(3,B)(6,C)]を入力特徴量として抽出してもよい。
 図8は、状況遷移モデルの学習処理を示すフローチャートである。図8に示されるフローチャートは、後に説明する図12のフローチャートにおけるステップS4の処理に相当する。
 ステップS41において、第2モデル学習部14は、状況割当部12により生成された状況配列または状況割当更新部15により更新された状況配列のうちの、同じ状況ラベルが連続する配列を圧縮する。なお、ステップS41の状況ラベルの配列の圧縮の処理は、必須の処理ではない。
 ステップS42において、第2モデル学習部14は、状況配列に基づいて学習データを抽出する。
 ステップS43において、第2モデル学習部14は、ステップS42において抽出された学習データを用いて、状況遷移モデルの学習を、いわゆる教師あり学習により実施する。具体的には、第2モデル学習部14は、学習途中の状況遷移モデルに上述した入力特徴量を入力し、ニューラルネットワークを含む状況遷移モデルからの出力値及び教師ラベルに基づいて損失を算出し、算出された損失をニューラルネットワークに逆伝搬させ、ニューラルネットワークのパラメータ(重み)を更新する。本実施形態における状況遷移モデルの学習には、ニューラルネットワークを含むモデルに関する既知の学習手法を適用できる。
 ステップS44において、第2モデル学習部14は、学習結果であるパラメータを、状況遷移モデルM2として、第2モデル記憶部50に保持する。
 状況割当更新部15は、時系列のうちの各時刻に関して、状況推定モデル及び状況遷移モデルのそれぞれに基づいて各時刻の状況を推定し、推定されたそれぞれの状況に基づいて、各時刻に割り当てる状況ラベルを更新する。
 具体的には、状況割当更新部15は、時系列のうちの各時刻の各状況に対する尤度を状況推定モデル及び状況遷移モデルのそれぞれに基づいて算出し、算出された各時刻の各状況に対する尤度に基づいて、各時刻に割り当てる状況ラベルを更新する。
 図9を参照して、状況割当更新部15による、時系列のうちの各時刻の各状況に対する、状況推定モデルに基づく尤度の算出の例を説明する。状況割当更新部15は、以下の式(1)により尤度を算出する。
Figure JPOXMLDOC01-appb-M000001
図9(a)は、状況推定モデルの特徴パラメータの例を示す図である。具体的には、図9(a)に示される特徴パラメータは、時刻に関連付けられたセンサデータが、状況ラベル「3」に属する尤度を算出するための状況推定モデルを構成する。図9(b)は、状況の推定対象のセンサデータの例を示す図である。
 センサデータsdが状況ラベル「3」に属する尤度を算出するために、状況割当更新部15は、式(1)におけるΘkut、μut及びXutにそれぞれ、分散共分散行列pa3の逆行列、平均値pb3及びセンサデータsdを適用して、尤度Πを算出する。
 図10は、状況割当の更新の例を説明するための図である。推定結果r1は、時系列中のある時刻t及び時刻tに関連付けられたセンサデータに基づいて、学習により更新された状況推定モデルにより算出された、状況ラベル0,1,2のそれぞれに属する尤もらしさを示す尤度である。推定結果r1は、例えば、式(1)を用いて算出される。推定結果r2は、時刻tを遷移基準時として状況配列から抽出した入力特徴量に基づいて、学習により更新された状況遷移モデルにより算出された、状況ラベル0,1,2のそれぞれに属する尤もらしさを示す尤度である。
 状況割当更新部15は、推定結果r1及び推定結果r2に基づいて、例えば、尤度の線形和を算出する。そして、状況割当更新部15は、時刻tに割り当てるべき状況ラベルを、算出された各尤度の線形和のうち尤も値が大きい(負の対数尤度の線形和の値が尤も小さい)状況ラベル「0」に更新する。
 このように、各時刻の各状況に対する尤度が、状況推定モデル及び状況遷移モデルのそれぞれにより算出され、各モデルにより算出された尤度が併せて考慮されるので、状況配列における状況の割り当てが適切に更新される。例えば図10に示す例において、仮に状況推定モデルのみを用いて状況割当を更新すると、状況ラベル「1」の尤度が最大であるので、時刻tの状況ラベルが「1」に更新されてしまう。本実施形態では、状況推定モデル及び状況遷移モデルの両方により算出された尤度が考慮されるので、時刻tの状況ラベルが「0」に適切に更新されることとなる。
 図11は、全ユーザの状況割当の更新の処理の例を示すフローチャートである。ステップS51において、状況割当更新部15は、ユーザ数をカウントするための変数uを初期化するために0にする。ステップS52において、状況割当更新部15は、変数uがユーザ数未満であるか否かを判定する。変数uがユーザ数未満であると判定されなかった場合には状況割当の更新処理は終了する。一方、変数uがユーザ数未満であると判定された場合には処理はステップS53に進む。
 ステップS53において、状況割当更新部15は、すべての状況ラベルkについて時刻をカウントするための変数tを初期化するために0にする。ステップS54において、状況割当更新部15は、全ての状況ラベルkについて、スコアS1(k,u,0)を算出する。スコアS1(k,u,t)は、ユーザuの時刻tにおけるセンサデータv(u,t)について、状況ラベルkに関する状況推定モデルM1[k]により生成されるスコアである。スコアS1は、その値が小さいほど、状況ラベルkにより示される状況においてセンサデータvが生じやすいことを示す。
 ステップS55において、状況割当更新部15は、全ての状況ラベルkについて、スコアS2(k,H(u,k,0))=0とする。スコアS2は、時刻t’(<t)の時刻と状況ラベルとの組の集合であるH(u,k,t)及び状況遷移モデルM2に基づいて、状況ラベルkに関して生成されるスコアである。スコアS2は、その値が小さいほど、状況kに遷移しやすいことを示す。
 ステップS56において、状況割当更新部15は、評価関数Gを用いて、G(S1,S2)を計算し、その値が最小となる状況ラベルを確定する。ここで、確定とは、その状況に至る状況の遷移を決定することを意味する。評価関数Gは、状況kの生起しやすさを示す指標であり、その値が小さいほど、状況kが生起しやすいことを示す。G(S1,S2)は、例えば、S1とS2との線形和であってもよい。
 ステップS57において、状況割当更新部15は、ステップS55において確定された状況ラベルを、時刻と状況ラベルとの組の集合(配列)に追記することによりH(u,k,1)を取得する。そして、状況割当更新部15は、取得したHを用いて各状況ラベルkに関するスコアS2を算出し、各状況ラベルk及びそのスコアS2を、未確定の状況として、候補リストに保持する。
 ステップS58において、t=Tのいずれかの状況が確定されたか否かが判断され、確定されたと判断されるまでステップS58,S60~S61の処理が繰り返される。確定されたと判断された場合には、処理はステップS59に進む。
 ステップS60において、状況割当更新部15は、ステップS57及びステップS61において保持された候補リストを参照し、各状況ラベルに関するスコアS2を用いて状況評価関数G(S1,S2)を算出し、Gの値が最小となる状況ラベルを、確定した状況とする。
 ステップS61において、状況割当更新部15は、ステップS60において確定された状況ラベルをH(u,k,t)に追記し、H(u,k,t)を用いて各状況ラベルkに関するスコアS2を算出し、各状況ラベルk及びそのスコアS2を、候補リストに保持する。候補リストに、既に保持された未確定の状況がある場合には、スコアがより低い方を保持することとする。さらに、状況割当更新部15は、確定した状況に関する変数tの値をインクリメントする。
 ステップS59において、状況割当更新部15は、確定された状況からなる遷移系列を、ユーザuの最終的な状況の割り当てとして、状況配列を更新する。
 再び図1を参照して、出力部16は、状況ラベルの更新に関する所定の条件が充足された場合に、状況推定モデル及び状況遷移モデルを出力する。状況ラベルの更新に関する所定の条件は、例えば、各モデルの学習及び状況配列の更新の処理において、状況配列における状況の割り当てに変化が発生せずに、各モデル及び状況配列が収束した場合である。
 出力部16は、所定の条件が充足された場合に、例えば、状況推定モデル及び状況遷移モデルをそれぞれ第1モデル記憶部40及び第2モデル記憶部50に記憶させる。
 また、出力部16は、状況ラベルの更新に関する所定の条件が充足された場合に、各時刻の状況ラベルが更新された状況配列をさらに出力してもよい。出力部16は、例えば、状況割当記憶部30に記憶させる。状況割当記憶部30は、状況配列を記憶する記憶手段である。このように状況配列が出力されることにより、状況推定モデル及び状況遷移モデルにより推定された精度の高い状況配列を得ることが可能となる。
 状況予測部17は、センサ情報を学習済みの状況推定モデル及び状況遷移モデルに入力して、現在時刻に至る状況の遷移を表す状況ラベルの配列からなる状況配列を取得する。出力部16は、状況予測部17により取得された状況配列を出力する。出力部16は、状況予測部17により取得された状況配列をユーザの端末に状況の推定結果として送信及び提供してもよい。
 このように、状況推定モデル及び状況遷移モデルに時系列のセンサデータからなるセンサ情報を入力することにより、現在時刻に至る状況の遷移を表す状況配列が出力されるので、高精度に推定されたユーザの状況を得ることができる。
 また、状況予測部17は、状況遷移モデルに現在時刻に至る状況ラベルの配列からなる状況配列を入力して、現在時刻の次の時刻の状況ラベルを取得してもよい。出力部16は、現在時刻の次の時刻の状況ラベルを出力する。出力部16は、現在時刻の次の時刻の状況ラベルを、ユーザの未来の状況の予測結果として、ユーザの端末に送信及び提供してもよい。
 このように、現在時刻に至る状況配列を状況遷移モデルに入力することにより、現在時刻の次の時刻の状況ラベルが出力されるので、ユーザの現在以降の状況の高精度な予測が可能となる。
 また、状況予測部17は、複数のユーザのそれぞれのセンサ情報を学習済みの状況推定モデル及び状況遷移モデルに入力することにより、複数の状況配列を取得できる。状況予測部17は、取得された複数の状況配列に対して所定のデータマイニング処理を実施し、発生する頻度が上位の所定数のパターンの状況配列を取得する。状況予測部17は、既知のいずれのデータマイニング処理を実施してもよい。状況予測部17は、データ集合の中から,高頻度で発生する特徴的なパターンを見つける頻出パターン抽出、クラス分類、回帰分析及びクラスタリング等のデータマイニング処理を実施してもよい。また、取得される状況配列のパターンの数は、どのような数であってもよい。
 出力部16は、状況予測部17により取得された、発生する頻度が上位の所定数のパターンの状況配列を出力してもよい。センサ情報取得部11により取得されるセンサ情報は、複数のセンサにより取得された時系列のセンサデータであるので、多次元の膨大なデータとなる場合がある。このような、多次元且つ膨大なデータに対してデータマイニング処理を実施すると、あるセンサデータにおいてユーザ間において僅かな差異があった場合でも、異なるパターンとして分類されてしまい、解釈が困難な分類結果が得られる場合がある。本実施形態によれば、センサ情報が状況推定モデル及び状況遷移モデルに入力されることにより、状況ラベルの配列といった1変数のシークエンスからなる情報に圧縮される。このようにセンサ情報が圧縮された状況配列に対してデータマイニングを実施することにより、有意且つ解釈用意な情報の提供が可能となる。
 図12は、状況推定装置10におけるモデル生成の局面の状況推定方法の処理内容を示すフローチャートである。
 ステップS1において、センサ情報取得部11は、センサ情報を取得する。ステップS2において、状況割当部12は、複数の状況ラベルのうちの一つを、各時刻及び当該時刻に関連付けられたセンサデータに対して、乱数に基づいてランダムに割り当てる。
 ステップS3において、第1モデル学習部13は、ステップS2における状況の割り当てまたはステップS5における状況の割り当て(更新)に基づいて、状況推定モデルの学習及び更新を行う。ステップS3における処理は、例えば、図6に示されるフローチャートの処理に相当する。
 ステップS4において、第2モデル学習部14は、ステップS2における状況の割り当てまたはステップS5における状況の割り当て(更新)に基づいて、状況遷移モデルの学習及び更新を行う。ステップS4における処理は、例えば、図8に示されるフローチャートの処理に相当する。
 ステップS5において、状況割当更新部15は、学習及び更新された状況推定モデル及び状況遷移モデルによる、各時刻のセンサデータに対する状況ラベルの推定結果(例えば、各状況ラベルに属する尤度)に基づいて、状況配列における状況の割り当てを更新する。
 ステップS6において、状況割当更新部15は、状況配列における状況の割り当てが変化したか否かを判定する。状況の割り当てが変化したと判定された場合には、処理はステップS3に戻る。一方、状況の割り当てが変化したと判定されなかった場合には、処理はステップS7に進む。
 ステップS7において、出力部16は、状況推定モデル及び状況遷移モデル並びに状況配列を出力する。
 図13は、現在時刻に至る状況の遷移を推定する状況推定方法の処理内容を示すフローチャートである。
 ステップS11において、センサ情報取得部11は、例えばユーザの端末において取得された時系列のセンサデータ群からなるセンサ情報を取得する。
 ステップS12において、状況予測部17は、センサ情報を学習済みの状況推定モデル及び状況遷移モデルに入力して、現在時刻tに至る状況の遷移を表す状況ラベルの配列からなる状況配列を推定する。
 ステップS13において、出力部16は、ステップS12において推定された状況配列を、ユーザの状況の推定結果として、例えばユーザの端末に送信及び提供する。
 図14は、現在時刻の次の時刻の状況を推定する状況推定方法の処理内容を示すフローチャートである。
 ステップS21において、センサ情報取得部11は、例えばユーザの端末において取得された時系列のセンサデータ群からなるセンサ情報を取得する。
 ステップS22において、状況予測部17は、センサ情報を学習済みの状況推定モデル及び状況遷移モデルに入力して、現在時刻tに至る状況の遷移を表す状況ラベルの配列からなる状況配列を推定する。
 ステップS23において、状況予測部17は、ステップS22において推定された状況配列及び状況遷移モデルを用いて、時刻t+nの状況を予測する。
 ステップS24において、出力部16は、ステップS23において予測された状況ラベルを、ユーザの未来の状況の予測結果として、例えばユーザの端末に送信及び提供する。
 次に、コンピュータを、本実施形態の状況推定装置10として機能させるための状況推定プログラムについて説明する。図15は、状況推定プログラムの構成を示す図である。
 状況推定プログラムP1は、状況推定装置10における状況推定処理を統括的に制御するメインモジュールm10、センサ情報取得モジュールm11、状況割当モジュールm12、第1モデル学習モジュールm13、第2モデル学習モジュールm14、状況割当更新モジュールm15、出力モジュールm16及び状況予測モジュールm17を備えて構成される。そして、各モジュールm11~m17により、状況推定装置10におけるセンサ情報取得部11、状況割当部12、第1モデル学習部13、第2モデル学習部14、状況割当更新部15、出力部16及び状況予測部17のための各機能が実現される。なお、状況推定プログラムP1は、通信回線等の伝送媒体を介して伝送される態様であってもよいし、図15に示されるように、記録媒体M1に記憶される態様であってもよい。
 以上説明した本実施形態の状況推定装置10、状況推定方法及び状況推定プログラムP1では、時系列に取得されたセンサデータに対して仮に割り当てられた状況ラベルの配列である状況配列に基づいて、各時刻に関連付けられたセンサデータを複数の状況のうちのいずれかに分類する状況推定モデルが、同じ状況ラベルが割り当てられたセンサデータの特徴パラメータを算出することによる教師なし学習により構築されると共に、時系列の状況の遷移に基づいて次の状況を推定する状況遷移が構築される。そして、状況推定モデル及び状況遷移モデルのそれぞれにより出力された状況の推定結果に基づいて、状況の遷移を表す状況配列が更新され、更新された状況配列に基づいて状況推定モデル及び状況遷移モデルの学習が実施されるので、学習に供するためのユーザによる状況の情報の入力を要さずに、高精度な状況の推定及びユーザの状況を推定するモデルの構築が可能となる。
 また、別の形態に係る状況推定装置では、特徴パラメータは、1以上の種類のセンサデータの平均値及び分散共分散行列のうちの少なくとも一つを含むこととしてもよい。
 上記形態によれば、同じ状況ラベルが割り当てられたセンサデータの特徴が適切に特徴パラメータに表されることとなるので、高精度な状況の割り当てが可能な第1モデルを構築できる。
 また、別の形態に係る状況推定装置では、状況割当更新部は、時系列のうちの各時刻の各状況に対する尤度を第1モデル及び第2モデルのそれぞれに基づいて算出し、算出された各時刻の各状況に対する尤度に基づいて、各時刻に割り当てる状況ラベルを更新することとしてもよい。
 上記形態によれば、各時刻の各状況に対する尤度が、第1モデル及び第2モデルのそれぞれにより算出され、各モデルにより算出された尤度が併せて考慮されるので、状況配列における状況の割り当てが適切に更新される。
 また、別の形態に係る状況推定装置では、出力部は、各時刻の状況ラベルが更新された状況配列を出力することとしてもよい。
 上記形態によれば、第1モデル及び第2モデルにより推定された精度の高い状況配列を得ることが可能となる。
 また、別の形態に係る状況推定装置では、状況割当部は、乱数に基づいて、各時刻及び当該時刻に関連付けられた1以上の種類のセンサデータに対して、状況ラベルを割り当てることとしてもよい。
 上記形態によれば、第1モデル及び第2モデルの学習に好適な仮の状況配列が得られる。
 また、別の形態に係る状況推定装置では、第2モデル学習部は、遷移基準時以前の状況ラベルの時系列の配列を所定の手法により圧縮して、学習データにおける入力特徴量の状況ラベルの遷移を表す情報を生成することとしてもよい。
 上記形態によれば、第2モデルの学習に供する入力特徴量のサイズを削減できるので、第2モデルの学習処理の負荷軽減が可能となる。
 また、上記課題を解決するために、本発明の一形態に係る状況推定プログラムは、コンピュータを、センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置として機能させるための状況推定プログラムであって、コンピュータに、少なくとも一つのセンサにより取得された時系列のセンサデータ群からなるセンサ情報を取得するセンサ情報取得機能と、ユーザの状況のそれぞれを識別する状況ラベルのうちの一つを、各時刻及び当該時刻に関連付けられた1以上のセンサデータに対して、所定の手法により仮に割り当てる状況割当機能と、同じ状況ラベルが割り当てられたセンサデータの特徴を表す特徴パラメータを算出して、各時刻に関連付けられたセンサデータを複数の状況のうちのいずれかの状況に分類する第1モデルの学習を行う第1モデル学習機能と、各時刻に割り当てられた状況ラベルの時系列の配列からなる状況配列から、時系列中の一の時刻を遷移基準時として遷移基準時以前の状況ラベルの遷移を表す情報及び遷移基準時の次の時刻に割り当てられた状況ラベルをそれぞれ入力特徴量及び教師ラベルとして抽出し、抽出した入力特徴量及び教師ラベル含む学習データに基づく機械学習により、遷移基準時以前の状況ラベルの遷移を入力とし遷移基準時の次の時刻の状況ラベルを出力とする第2モデルの学習を行う第2モデル学習機能と、時系列のうちの各時刻に関して、第1モデル及び第2モデルのそれぞれに基づいて各時刻の状況を推定し、推定されたそれぞれの状況に基づいて、各時刻に割り当てる状況ラベルを更新する状況割当更新機能と、状況ラベルの更新に関する所定の条件が充足された場合に、第1モデル及び第2モデルを出力する出力機能と、を実現させる。
 上記の形態のプログラムによれば、時系列に取得されたセンサデータに対して仮に割り当てられた状況ラベルの配列である状況配列に基づいて、各時刻に関連付けられたセンサデータを複数の状況のうちのいずれかに分類する第1モデルが、同じ状況ラベルが割り当てられたセンサデータの特徴パラメータを算出することによる教師なし学習により構築されると共に、時系列の状況の遷移に基づいて次の状況を推定する第2モデルが構築される。そして、第1モデル及び第2モデルのそれぞれにより出力された状況の推定結果に基づいて、状況の遷移を表す状況配列が更新され、更新された状況配列に基づいて第1モデル及び第2モデルの学習が実施されるので、学習に供するためのユーザによる状況の情報の入力を要さずに、高精度な状況の推定及びユーザの状況を推定するモデルの構築が可能となる。
 上記課題を解決するために、本発明の一形態に係る学習済みの推定モデルは、センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置において、ユーザの状況を推定するよう、コンピュータを機能させるための学習済みの推定モデルであって、推定モデルは、第1モデル及び第2モデルを含み、第1モデルは、各時刻に関連付けられた1以上の種類のセンサデータを複数の状況のうちのいずれかの状況に分類するモデルであって、少なくとも一つの種類のセンサにより取得された時系列のセンサデータ群からなるセンサ情報に基づいてユーザの状況のそれぞれを識別する状況ラベルのうちの一つが割り当てられた、各時刻及び当該時刻に関連付けられた1以上の種類のセンサデータに基づいて、同じ状況ラベルが割り当てられた時刻に関連付けられたセンサデータの特徴を表す特徴パラメータを算出する、教師なし学習により構成され、第2モデルは、各時刻に割り当てられた状況ラベルの時系列の配列からなる状況配列から、時系列中の一の時刻を遷移基準時として遷移基準時以前の状況ラベルの遷移を表す情報及び遷移基準時の次の時刻に割り当てられた状況ラベルをそれぞれ入力特徴量及び教師ラベルとして抽出し、抽出した入力特徴量及び教師ラベル含む学習データに基づく機械学習により構成され、遷移基準時以前の状況の遷移を入力とし遷移基準時の次の時刻の状況を出力とするモデルであり、時系列のうちの各時刻に関して、第1モデル及び第2モデルのそれぞれに基づいて各時刻の状況を推定し、推定されたそれぞれの状況に基づいて更新された各時刻の状況ラベルに基づいて、第1モデル及び第2モデルのそれぞれの学習が行われる。
 上記の形態によれば、時系列に取得されたセンサデータに対して割り当てられた状況ラベルの配列である状況配列に基づいて、同じ状況ラベルが割り当てられたセンサデータの特徴パラメータを算出することによる教師なし学習により、各時刻に関連付けられたセンサデータを複数の状況のうちのいずれかに分類する第1モデルが構築されると共に、時系列の状況の遷移に基づいて次の状況を推定する第2モデルが構築され、第1モデル及び第2モデルのそれぞれにより出力された状況の推定結果に基づいて、状況の遷移を表す状況配列が更新され、更新された状況配列に基づいて学習された第1モデル及び第2モデルを含む推定モデルが得られる。従って、学習に供するためのユーザによる状況の情報の入力を要さずに、高精度な状況の推定が可能なモデルを得ることが可能となる。
 また、本発明の一形態に係る状況推定方法は、センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置における状況推定方法であって、少なくとも一つの種類のセンサにより取得された、現在時刻に至るまでの時系列のセンサデータ群からなるセンサ情報を取得するセンサ情報取得ステップと、センサ情報を、上記の推定モデルに入力して、現在時刻に至る状況の遷移を表す状況ラベルの配列からなる状況配列を取得する状況予測ステップと、状況予測ステップにおいて取得された状況配列を出力する出力ステップと、を有する。
 また、本発明の一形態に係る状況推定装置は、センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置であって、少なくとも一つの種類のセンサにより取得された、現在時刻に至るまでの時系列のセンサデータ群からなるセンサ情報を取得するセンサ情報取得部と、センサ情報を、上記の推定モデルに入力して、現在時刻に至る状況の遷移を表す状況ラベルの配列からなる状況配列を取得する状況予測部と、状況予測部において取得された状況配列を出力する出力部と、を備える。
 上記の形態によれば、上記推定モデルに時系列のセンサデータを入力することにより、現在時刻に至る状況の遷移を表す状況配列が出力されるので、高精度に推定されたユーザの状況を得ることができる。
 また、別の形態に係る状況推定方法は、状況予測ステップにおいて、推定モデルの第2モデルに、現在時刻に至る状況ラベルの配列からなる状況配列を入力して、現在時刻の次の時刻の状況ラベルを取得し、出力ステップにおいて、状況予測ステップにおいて取得された現在時刻の次の時刻の状況ラベルを出力する。
 上記の形態によれば、現在時刻に至る状況配列を第2モデルに入力することにより、現在時刻の次の時刻の状況ラベルが出力されるので、ユーザの現在以降の状況の高精度な予測が可能となる。
 また、別の形態に係る状況推定装置では、状況予測部は、複数のユーザのそれぞれのセンサ情報を推定モデルに入力することにより取得された複数の状況配列に対して所定のデータマイニング処理を実施し、発生する頻度が上位の所定数のパターンの状況配列を取得し、出力部は、所定数のパターンの状況配列を出力する。
 上記の形態によれば、時系列のセンサデータ群が、状況ラベルの配列として1変数の情報により表された状況配列がデータマイニング処理に供され、データマイニングにより得られた所定数のパターンの状況配列が出力されるので、有意且つ解釈用意な情報の提供が可能となる。
 以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
 本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE-A(LTE-Advanced)、SUPER 3G、IMT-Advanced、4G、5G、FRA(Future Radio Access)、W-CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broadband)、IEEE 802.11(Wi-Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-WideBand)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
 本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
 入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
 判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
 本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
 以上、本開示について詳細に説明したが、当業者にとっては、本開示が本開示中に説明した実施形態に限定されるものではないということは明らかである。本開示は、請求の範囲の記載により定まる本開示の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本開示の記載は、例示説明を目的とするものであり、本開示に対して何ら制限的な意味を有するものではない。
 ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
 また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
 本開示において説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
 なお、本開示において説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
 本明細書で使用する「システム」および「ネットワーク」という用語は、互換的に使用される。
 また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
 本開示で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、判定(judging)、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up、search、inquiry)(例えば、テーブル、データベース又は別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。また、「判断(決定)」は、「想定する(assuming)」、「期待する(expecting)」、「みなす(considering)」などで読み替えられてもよい。
 本開示で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
 本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
 「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
 本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
 本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。
 1…状況推定システム、10…状況推定装置、11…センサ情報取得部、12…状況割当部、13…第1モデル学習部、14…第2モデル学習部、15…状況割当更新部、16…出力部、17…状況予測部、20…センサ情報記憶部、30…状況割当記憶部、40…第1モデルモデル記憶部、50…第2モデルモデル記憶部、M1…記録媒体、m10…メインモジュール、m11…センサ情報取得モジュール、m12…状況割当モジュール、m13…第1モデル学習モジュール、m14…第2モデル学習モジュール、m15…状況割当更新モジュール、m16…出力モジュール、m17…状況予測モジュール、P1…状況推定プログラム。

Claims (12)

  1.  センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置であって、
     少なくとも一つのセンサにより取得された時系列のセンサデータ群からなるセンサ情報を取得するセンサ情報取得部と、
     ユーザの状況のそれぞれを識別する状況ラベルのうちの一つを、各時刻及び当該時刻に関連付けられた1以上のセンサデータに対して、所定の手法により仮に割り当てる状況割当部と、
     同じ状況ラベルが割り当てられたセンサデータの特徴を表す特徴パラメータを算出して、各時刻に関連付けられた前記センサデータを複数の状況のうちのいずれかの状況に分類する第1モデルの学習を行う第1モデル学習部と、
     各時刻に割り当てられた前記状況ラベルの時系列の配列からなる状況配列から、前記時系列中の一の時刻を遷移基準時として前記遷移基準時以前の前記状況ラベルの遷移を表す情報及び前記遷移基準時の次の時刻に割り当てられた状況ラベルをそれぞれ入力特徴量及び教師ラベルとして抽出し、抽出した前記入力特徴量及び前記教師ラベル含む学習データに基づく機械学習により、前記遷移基準時以前の状況ラベルの遷移を入力とし前記遷移基準時の次の時刻の状況ラベルを出力とする第2モデルの学習を行う第2モデル学習部と、
     前記時系列のうちの各時刻に関して、前記第1モデル及び前記第2モデルのそれぞれに基づいて各時刻の状況を推定し、推定されたそれぞれの状況に基づいて、各時刻に割り当てる状況ラベルを更新する状況割当更新部と、
     前記状況ラベルの更新に関する所定の条件が充足された場合に、前記第1モデル及び前記第2モデルを出力する出力部と、
     を備える状況推定装置。
  2.  前記特徴パラメータは、前記1以上の種類のセンサデータの平均値及び分散共分散行列のうちの少なくとも一つを含む、
     請求項1に記載の状況推定装置。
  3.  前記状況割当更新部は、前記時系列のうちの各時刻の各状況に対する尤度を前記第1モデル及び前記第2モデルのそれぞれに基づいて算出し、算出された各時刻の各状況に対する尤度に基づいて、各時刻に割り当てる状況ラベルを更新する、
     請求項1または2に記載の状況推定装置。
  4.  前記出力部は、各時刻の状況ラベルが更新された前記状況配列を出力する、
     請求項1~3のいずれか一項に記載の状況推定装置。
  5.  前記状況割当部は、乱数に基づいて、各時刻及び当該時刻に関連付けられた1以上の種類のセンサデータに対して、前記状況ラベルを割り当てる、
     請求項1~4のいずれか一項に記載の状況推定装置。
  6.  前記第2モデル学習部は、前記遷移基準時以前の状況ラベルの時系列の配列を所定の手法により圧縮して、前記学習データにおける前記入力特徴量の前記状況ラベルの遷移を表す情報を生成する、
     請求項1~5のいずれか一項に記載の状況推定装置。
  7.  コンピュータを、センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置として機能させるための状況推定プログラムであって、
     前記コンピュータに、
     少なくとも一つのセンサにより取得された時系列のセンサデータ群からなるセンサ情報を取得するセンサ情報取得機能と、
     ユーザの状況のそれぞれを識別する状況ラベルのうちの一つを、各時刻及び当該時刻に関連付けられた1以上のセンサデータに対して、所定の手法により仮に割り当てる状況割当機能と、
     同じ状況ラベルが割り当てられたセンサデータの特徴を表す特徴パラメータを算出して、各時刻に関連付けられた前記センサデータを複数の状況のうちのいずれかの状況に分類する第1モデルの学習を行う第1モデル学習機能と、
     各時刻に割り当てられた前記状況ラベルの時系列の配列からなる状況配列から、前記時系列中の一の時刻を遷移基準時として前記遷移基準時以前の前記状況ラベルの遷移を表す情報及び前記遷移基準時の次の時刻に割り当てられた状況ラベルをそれぞれ入力特徴量及び教師ラベルとして抽出し、抽出した前記入力特徴量及び前記教師ラベル含む学習データに基づく機械学習により、前記遷移基準時以前の状況ラベルの遷移を入力とし前記遷移基準時の次の時刻の状況ラベルを出力とする第2モデルの学習を行う第2モデル学習機能と、
     前記時系列のうちの各時刻に関して、前記第1モデル及び前記第2モデルのそれぞれに基づいて各時刻の状況を推定し、推定されたそれぞれの状況に基づいて、各時刻に割り当てる状況ラベルを更新する状況割当更新機能と、
     前記状況ラベルの更新に関する所定の条件が充足された場合に、前記第1モデル及び前記第2モデルを出力する出力機能と、
     を実現させる状況推定プログラム。
  8.  センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置において、ユーザの前記状況を推定するよう、コンピュータを機能させるための学習済みの推定モデルであって、
     前記推定モデルは、第1モデル及び第2モデルを含み、
     前記第1モデルは、
     各時刻に関連付けられた前記1以上の種類のセンサデータを複数の状況のうちのいずれかの状況に分類するモデルであって、
     少なくとも一つの種類のセンサにより取得された時系列のセンサデータ群からなるセンサ情報に基づいてユーザの状況のそれぞれを識別する状況ラベルのうちの一つが割り当てられた、各時刻及び当該時刻に関連付けられた1以上の種類のセンサデータに基づいて、同じ状況ラベルが割り当てられた時刻に関連付けられたセンサデータの特徴を表す特徴パラメータを算出する、教師なし学習により構成され、
     前記第2モデルは、
     各時刻に割り当てられた前記状況ラベルの時系列の配列からなる状況配列から、前記時系列中の一の時刻を遷移基準時として前記遷移基準時以前の前記状況ラベルの遷移を表す情報及び前記遷移基準時の次の時刻に割り当てられた状況ラベルをそれぞれ入力特徴量及び教師ラベルとして抽出し、抽出した前記入力特徴量及び前記教師ラベル含む学習データに基づく機械学習により構成され、
    前記遷移基準時以前の状況の遷移を入力とし前記遷移基準時の次の時刻の状況を出力とするモデルであり、
     前記時系列のうちの各時刻に関して、前記第1モデル及び前記第2モデルのそれぞれに基づいて各時刻の状況を推定し、推定されたそれぞれの状況に基づいて更新された各時刻の状況ラベルに基づいて、前記第1モデル及び前記第2モデルのそれぞれの学習が行われる、
     推定モデル。
  9.  センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置における状況推定方法であって、
     少なくとも一つの種類のセンサにより取得された、現在時刻に至るまでの時系列のセンサデータ群からなるセンサ情報を取得するセンサ情報取得ステップと、
     前記センサ情報を、請求項8に記載の推定モデルに入力して、前記現在時刻に至る状況の遷移を表す前記状況ラベルの配列からなる前記状況配列を取得する状況予測ステップと、
     前記状況予測ステップにおいて取得された前記状況配列を出力する出力ステップと、
     を有する状況推定方法。
  10.  前記状況予測ステップにおいて、前記推定モデルの前記第2モデルに、前記現在時刻に至る前記状況ラベルの配列からなる前記状況配列を入力して、前記現在時刻の次の時刻の前記状況ラベルを取得し、
     前記出力ステップにおいて、前記状況予測ステップにおいて取得された前記現在時刻の次の時刻の前記状況ラベルを出力する、
     請求項9に記載の状況推定方法。
  11.  センサにより検知されるセンサデータに基づいてユーザの状況を推定する状況推定装置であって、
     少なくとも一つの種類のセンサにより取得された、現在時刻に至るまでの時系列のセンサデータ群からなるセンサ情報を取得するセンサ情報取得部と、
     前記センサ情報を、請求項8に記載の推定モデルに入力して、前記現在時刻に至る状況の遷移を表す前記状況ラベルの配列からなる前記状況配列を取得する状況予測部と、
     前記状況予測部において取得された前記状況配列を出力する出力部と、
     を備える状況推定装置。
  12.  前記状況予測部は、複数のユーザのそれぞれの前記センサ情報を前記推定モデルに入力することにより取得された複数の前記状況配列に対して所定のデータマイニング処理を実施し、発生する頻度が上位の所定数のパターンの状況配列を取得し、
     前記出力部は、前記所定数のパターンの前記状況配列を出力する、
     請求項11に記載の状況推定装置。
     
PCT/JP2020/015253 2019-04-19 2020-04-02 状況推定装置、状況推定プログラム、推定モデル及び状況推定方法 WO2020213425A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021514877A JPWO2020213425A1 (ja) 2019-04-19 2020-04-02
US17/599,808 US20220198341A1 (en) 2019-04-19 2020-04-02 State estimation device, state estimation program, estimation model, and state estimation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-079942 2019-04-19
JP2019079942 2019-04-19

Publications (1)

Publication Number Publication Date
WO2020213425A1 true WO2020213425A1 (ja) 2020-10-22

Family

ID=72837753

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/015253 WO2020213425A1 (ja) 2019-04-19 2020-04-02 状況推定装置、状況推定プログラム、推定モデル及び状況推定方法

Country Status (3)

Country Link
US (1) US20220198341A1 (ja)
JP (1) JPWO2020213425A1 (ja)
WO (1) WO2020213425A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7058254B2 (ja) * 2019-10-11 2022-04-21 京セラ株式会社 情報処理装置、情報処理方法、及びプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217706A (ja) * 2007-03-07 2008-09-18 Tokyo Institute Of Technology ラベリング装置、ラベリング方法及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217706A (ja) * 2007-03-07 2008-09-18 Tokyo Institute Of Technology ラベリング装置、ラベリング方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
UEDA, NAONORI: "Ensemble learning", TRANSACTIONS OF INFORMATION PROCESSING SOCIETY OF JAPAN, vol. 46, no. 15, 15 October 2005 (2005-10-15), pages 11 - 20, ISSN: 0387-5806 *

Also Published As

Publication number Publication date
US20220198341A1 (en) 2022-06-23
JPWO2020213425A1 (ja) 2020-10-22

Similar Documents

Publication Publication Date Title
Pesaranghader et al. McDiarmid drift detection methods for evolving data streams
US20200012963A1 (en) Curating Training Data For Incremental Re-Training Of A Predictive Model
US20230385333A1 (en) Method and system for building training database using automatic anomaly detection and automatic labeling technology
WO2020230658A1 (ja) 特徴抽出装置及び状態推定システム
CN111582454B (zh) 生成神经网络模型的方法和装置
Priya et al. RETRACTED ARTICLE: Comprehensive analysis for class imbalance data with concept drift using ensemble based classification
US20200272845A1 (en) End-to-End Fuzzy Entity Matching
CN117616431A (zh) 针对大规模数据的可解释的机器学习
CN110708285A (zh) 流量监控方法、装置、介质及电子设备
WO2020213425A1 (ja) 状況推定装置、状況推定プログラム、推定モデル及び状況推定方法
Cheriguene et al. A new hybrid classifier selection model based on mRMR method and diversity measures
JPWO2019167685A1 (ja) 訪問時刻決定装置
US20210374403A1 (en) Image recognition device and method
WO2021039797A1 (ja) クリック率予測モデル構築装置
AU2021276239A1 (en) Identifying claim complexity by integrating supervised and unsupervised learning
JP6946542B2 (ja) 学習システム、推定システム及び学習済モデル
Bifet et al. Streaming data mining with massive online analytics (MOA)
US11948472B2 (en) Popularity evaluation system and geographical feature generation model
CN115827705A (zh) 用于反事实解释的数据处理方法和装置
JPWO2019167684A1 (ja) 在宅予測装置
JP2019139629A (ja) 機械翻訳装置、翻訳学習済みモデル及び判定学習済みモデル
JP2016062249A (ja) 識別辞書学習システム、認識辞書学習方法および認識辞書学習プログラム
EP3721445B1 (en) System to improve clinical workflow
JP6701467B2 (ja) 学習装置および学習方法
Wankhade et al. A hybrid approach for classification of rare class data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20791715

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021514877

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20791715

Country of ref document: EP

Kind code of ref document: A1