WO2020230658A1 - 特徴抽出装置及び状態推定システム - Google Patents

特徴抽出装置及び状態推定システム Download PDF

Info

Publication number
WO2020230658A1
WO2020230658A1 PCT/JP2020/018349 JP2020018349W WO2020230658A1 WO 2020230658 A1 WO2020230658 A1 WO 2020230658A1 JP 2020018349 W JP2020018349 W JP 2020018349W WO 2020230658 A1 WO2020230658 A1 WO 2020230658A1
Authority
WO
WIPO (PCT)
Prior art keywords
activity
feature
feature amount
information
occurrence relationship
Prior art date
Application number
PCT/JP2020/018349
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 JP2021519376A priority Critical patent/JPWO2020230658A1/ja
Priority to US17/609,879 priority patent/US11778061B2/en
Publication of WO2020230658A1 publication Critical patent/WO2020230658A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3438Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions

Definitions

  • the present invention relates to a feature extraction device and a state estimation system.
  • a technique for estimating the user's state based on the usage history of the application on the mobile terminal owned by the user is known.
  • basic statistics such as the number of application launches have been used for estimation.
  • a technique of inferring a user's state by receiving an activity performed on the user's device or data associated with the activity performed and analyzing the received data (for example,). See Patent Document 1).
  • the information used for the user's state is a basic statistic such as the number of times the application is started, and does not include information such as the order of application use and the relationship between applications. Therefore, the accuracy of estimating the user's state was not sufficient.
  • the present invention has been made in view of the above problems, and an object of the present invention is to improve the estimation accuracy of the user's state based on the information acquired by the terminal.
  • the feature extraction device is a feature quantity indicating a feature related to the execution history of the activity, and estimates the state of the terminal on which the activity is executed or the user of the terminal.
  • a feature extraction device that extracts the features input to the state estimation model based on the execution history, and an acquisition unit that shows the execution history of the activity for a predetermined period and acquires activity history information including time-series activity logs.
  • An extraction unit that extracts co-occurrence relationship information indicating the co-occurrence relationship of activities within a predetermined period based on the activity history information, and an activity feature amount indicating the characteristics of each activity are aggregated based on the co-occurrence relationship information.
  • a generation unit that generates an activity history feature amount indicating the feature of the activity history information, and an output unit that outputs the activity history feature amount as a feature amount input to the state estimation model.
  • the co-occurrence relationship information indicating the co-occurrence relationship of the activities executed in the predetermined period is extracted based on the activity history information. Since the activity is executed on the user's terminal, the co-occurrence relationship information reflects the terminal or the user's state of the terminal. Then, the activity feature amount of the activity included in the activity history information is aggregated based on the co-occurrence relationship information, so that the user state is accurately reflected and the user state is densely expressed. Can be generated. Therefore, by using the activity history feature amount generated in this way as the feature amount to be input to the state estimation model, the estimation accuracy of the user's state is improved.
  • FIG. 5A is a diagram showing an example of a graph in which nodes are abstracted alphabetically.
  • FIG. 5B is a diagram schematically showing the hierarchical convolution of activity features. It is a figure which shows the algorithm for the generation of a convolution feature.
  • FIG. 11A is a diagram showing an example of activity history information including time information in each activity log.
  • FIG. 11B is a diagram showing an example of generating a graph based on an activity log including time as a context.
  • FIG. 12A is a diagram showing an example of activity history information including position information in each activity log.
  • 12B is a diagram showing an example of generating a graph based on an activity log including a position as a context. It is a flowchart which shows the processing content of the feature extraction method in a feature extraction apparatus. It is a flowchart which shows the processing content of the situation estimation method in a state estimation system. It is a figure which shows the structure of the feature extraction program and the situation estimation program.
  • FIG. 1 is a diagram showing a functional configuration of a state estimation system including a feature extraction device according to the present embodiment. As shown in FIG. 1, the state estimation system 1 includes a feature extraction device 10, an estimation unit 15, and a state output unit 16.
  • the feature extraction device 10 is a device that extracts a feature amount indicating a feature related to an activity execution history based on the execution history.
  • the feature amount extracted by the feature extraction device 10 is a feature amount to be input to the state estimation model for estimating the state of the terminal on which the activity is executed or the user of the terminal.
  • the state estimation system 1 is a system that estimates the state of the terminal on which the activity is executed or the user of the terminal. Specifically, the state estimation system 1 uses the feature amount extracted by the feature extraction device 10 and the teacher label indicating the state of the terminal or the user of the terminal as training data, and deep-layers the state estimation model including the neural network. Build by learning. Further, the state estimation system 1 inputs the feature amount extracted by the feature extraction device 10 into the trained state estimation model, and outputs the state information about the terminal or the user of the terminal.
  • the state of the terminal or the user of the terminal estimated by the state estimation model is, for example, a stress state of the user of the terminal, a demographic, a personality of the user, a user profile, and the like.
  • N-gram is a method of dividing a character string and a sentence into N consecutive characters or words and using them as features.
  • each executed application, etc. is regarded as a character or word in language processing, and further executed continuously. It is conceivable to characterize the history of the application or the like by N-gram, assuming that the application corresponds to a word or the like that appears continuously in a sentence or the like.
  • the feature extraction device 10 of the present embodiment appropriately convolves the history information of the application or the like to provide a feature amount suitable for deep learning of the model for estimating the state related to the user.
  • Each of the functional units 11 to 16 included in the feature extraction device 10 and the state estimation system 1 is configured to be accessible to the activity history information storage unit 20 and the activity history feature amount storage unit 30.
  • the feature extraction device 10 each function unit 15 to 16 included in the state estimation system 1, the activity history information storage unit 20, and the activity history feature amount storage unit 30 may be configured as one device, or each may be configured as one device. It may be configured in the device.
  • the feature extraction device 10 functionally includes an acquisition unit 11, an extraction unit 12, a generation unit 13, and an output unit 14.
  • Each of these functional units 11 to 14 may be configured in one device, or may be distributed and configured in a plurality of devices.
  • each functional block may be realized by using one device that is physically or logically connected, or directly or indirectly (for example, by two or more devices that are physically or logically separated). , 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 feature extraction device 10 and the state estimation system 1 in the embodiment of the present invention may function as a computer.
  • FIG. 2 is a diagram showing an example of the hardware configuration of the feature extraction device 10 and the state estimation system 1 according to the present embodiment.
  • the feature extraction device 10 and the state estimation system 1 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 feature extraction device 10 and the state estimation system 1 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.
  • the processor 1001 For each function in the feature extraction device 10 and the state estimation system 1, the processor 1001 performs calculations by loading predetermined software (program) on hardware such as the processor 1001 and the memory 1002, and communication by the communication device 1004 is performed. , The memory 1002 and the storage 1003 are realized by controlling the reading and / or writing of data.
  • 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 that causes a computer to execute at least a part of the operations described in the above-described embodiment is used.
  • each function unit 11 to 16 of the feature extraction device 10 and the state estimation system 1 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 feature extraction method and the state 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 feature extraction device 10 and the state estimation system 1 include a microprocessor, a digital signal processor (DSP: Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), a PLD (Programmable Logic Device), an FPGA (Field Programmable Gate Array), and the like. It may be configured to include the hardware of, 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.
  • the acquisition unit 11 acquires activity history information indicating the execution history of the activity for a predetermined period. Specifically, the acquisition unit 11 acquires the activity history information stored in the activity history information storage unit 20.
  • the activity history information includes a time-series activity log.
  • the activity indicates a function executed on the terminal, for example, an application executed on the terminal, a function of the application executed on the terminal, a screen of the application executed on the terminal, and the like. be able to.
  • the activity may also include the context in which the activity was performed (information such as time and place). Further, the activity may include an event that occurs in the terminal (an event of turning on or off the screen, an event indicating the charging state, an event of turning on or off the WiFi function, and the like).
  • FIG. 3 is a diagram showing an example of the structure of the activity history information and the data included in the activity history information.
  • the activity history information consists of time-series activity logs.
  • the activity log contains UID, date and time, event flags, application and activity information.
  • the UID is identification information that identifies the user.
  • the date and time is information indicating when the activity was executed.
  • Event flags are information that indicates the run-time status of an activity. In the present embodiment, the event flag "1" indicates that the activity has been executed on the frontmost screen of the terminal. The event flag "2" indicates that the activity has moved to a screen other than the foreground screen on the terminal.
  • the application is information that identifies the application corresponding to the activity.
  • the activity is information that identifies the activity. In this embodiment, the activity represents a function of the application.
  • the extraction unit 12 extracts co-occurrence relationship information indicating the co-occurrence relationship of activities within a predetermined period based on the activity history information.
  • the co-occurrence relationship of activities within a predetermined period is a relationship indicating whether or not each of a plurality of activities is executed within the predetermined period. For example, when activity A and activity B are executed within a predetermined period, it is expressed that there is a co-occurrence relationship between activity A and activity B.
  • the extraction unit 12 generates a graph in which the activity is a node and the co-occurrence relationship between the activities is represented as an edge connecting the nodes of the activity as the co-occurrence relationship information.
  • FIG. 4 is a diagram showing an example of a graph showing co-occurrence relationship information.
  • Graph g1 is co-occurrence relationship information generated based on the activity history information shown in FIG.
  • the extraction unit 12 may extract a graph based on all activity logs included in the activity history information. Further, the extraction unit 12 may extract the graph based on the activity log associated with the predetermined event flag. In the example shown in FIG. 4, the extraction unit 12 generates a graph based on the activity log associated with the event flag “1” among the activity logs of the activity history information shown in FIG. As a result, only the activity log that preferably reflects the user's state can be used for the extraction of the co-occurrence relationship.
  • the extraction unit 12 may extract co-occurrence relationship information including related information that associates a plurality of activities executed within a predetermined period with each other. Specifically, the extraction unit 12 extracts all the activities executed within a predetermined period set in advance from the time when the one activity is executed, and each of the extracted activity nodes and the one activity node. Set the edge between and.
  • the extraction unit 12 may extract co-occurrence relationship information including transition information representing the transition relationship of the activities executed continuously within a predetermined period.
  • the transition information is information that associates one activity with another when the activity to be executed transitions from one activity to another.
  • the extraction unit 12 sets an edge between the node of one activity and the node of another activity when another activity is executed after one activity is executed. In the graph g1 shown in FIG. 4 of the present embodiment, the edge is set based on the transition information. As a result, the tendency of activity execution is appropriately reflected in the co-occurrence relationship information.
  • the extraction unit 12 sets an edge between the node n1 and each of the nodes n2, n3, and n4.
  • the extraction unit 12 sets an edge between the node n2 and the node n3.
  • the extraction unit 12 may not set an edge between those activities if the interval when they are executed is equal to or greater than a predetermined threshold value. This prevents co-occurrence relationships from being set up between activities that are not related to each other in execution.
  • the generation unit 13 aggregates the activity feature amounts indicating the characteristics of each activity based on the co-occurrence relationship information, and generates the activity history feature amount indicating the characteristics of the activity history information.
  • the activity history information is represented by a graph having the activity as a node, so that the generation unit 13 aggregates the activity features associated with each node based on the co-occurrence relationship information represented by the graph. To do.
  • the activity feature quantity is a feature vector of a predetermined number of dimensions indicating the feature of the activity.
  • the feature vector is not limited to a vector of any form as long as it is a vector that identifies the activity, but is, for example, a vector whose dimension number is the number of types of categories related to the activity, and is an element of the category to which the activity corresponds. It may be a vector in which 1 is set and the element of the category to which the activity does not correspond is 0. Further, the feature vector may be a so-called One-Hot vector in which the number of types of activities is the number of dimensions and only the element corresponding to the activity is 1.
  • the generation unit 13 aggregates the activity features of one activity and the activity features of one or more activities having a co-occurrence relationship with the one activity by a predetermined convolution method. It is generated as a convolution feature of one activity, and a feature obtained by aggregating the convolution features of all activities included in the activity history information by a predetermined aggregation method is generated as an activity history feature.
  • the generation unit 13 aggregates the activity features of the node of one activity and the activity features of one or more nodes connected to the node of the one activity by an edge by a predetermined convolution method. To generate a convolution feature of a node of one activity.
  • the generation unit 13 can convolve the hierarchical activity features of a predetermined number of layers from the first layer to the kth layer (k is a predetermined integer of 1 or more) based on the co-occurrence relationship information.
  • the generation unit 13 sets each activity of the plurality of activities whose co-occurrence relationship is shown by the co-occurrence relationship information as the first activity of the nth layer (n is an integer of 0 or more), the first activity is set.
  • the activity having a co-occurrence relationship with the activity of is defined as the second activity of the nth layer, and the convolution of the first layer and the convolution of the mth layer (m is an integer of 2 or more) are performed.
  • the generation unit 13 convolves the activity feature amount of the first activity of the 0th layer and the activity feature amount of the second activity of 1 or more layers 0 by a predetermined convolution method.
  • the feature amount generated by is generated as a convolution feature amount of the first activity of the first layer.
  • the generation unit 13 has the activity feature amount of the first activity of the first (m-1) layer and the convolution feature of the second activity of one or more (m-1) layers.
  • the feature amount generated by convolving the amount by a predetermined convolution method is generated as the convolution feature amount of the first activity of the mth layer.
  • the generation unit 13 generates the convolutional feature of the first activity of the kth layer in the convolution of the kth layer as the convolutional feature of one activity based on the convolution of the kth layer.
  • FIG. 5A is a diagram showing an example of a graph in which nodes are abstracted alphabetically.
  • FIG. 5B is a diagram schematically showing the hierarchical convolution of activity features.
  • the graph gx shown in FIG. 5A includes nodes A to F (na to nf), and edges are set between the nodes having a co-occurrence relationship.
  • the generation unit 13 generates the convolutional feature cfb of the node B (nb) based on the graph gx. Specifically, since the node A (na) and the node C (nc) are connected to the node B (nb) by an edge, the generation unit 13 receives the activity feature amount fb of the node B (nb) and the node B (nb).
  • the activity feature amount fa of the node A (na) and the activity feature amount fc of the node C (nc) are convoluted by a predetermined folding method CV1 to generate the convolution feature amount cfb1 of the node B (nb).
  • the generation unit 13 is connected to node C.
  • Activity feature amount fc of (nc) activity feature amount fa of node A (na), activity feature amount fb of node B (nb), activity feature amount fe of node E (ne), and activity of node F (nf).
  • the feature amount ff is folded by a predetermined folding method CV1 to generate the folding feature amount cfc1 of the node C (nc).
  • the generation unit 13 has the activity feature amount fd of the node D (nd) and the activity of the node A (na).
  • the feature amount fa is convoluted by a predetermined convolution method CV1 to generate the convolution feature amount cfd1 of the node D (nd).
  • the generation unit 13 considers the generation of the convolution feature cfb1 of the node B (nb), the convolution feature cfc1 of the node C (nc), and the convolution feature cfd1 of the node D (nd) as one layer of convolution.
  • a convolution feature of node A (na) is generated as the convolution of the next layer of the convolution of one layer. Since node B (nb), node C (nc) and node D (nd) are connected to node A (na) by an edge, the convolution feature cfb1 and the convolution feature are generated in the generation of this convolution feature.
  • the quantity cfc1 and the convolution feature cfd1 are used as the activity features of node B (nb), node C (nc), and node D (nd), respectively. That is, the generation unit 13 convolves the activity feature amount fa of the node A (na), the convolution feature amount cfb1, the convolution feature amount cfc1 and the convolution feature amount cfd1 by a predetermined convolution method CV2, and the node A (na) The convolution feature cfa2 of is generated.
  • the example shown in FIG. 5B is the generation of the convolutional feature of the node A (na) by the convolution of the two layers of the activity feature, but the same applies to each of the other nodes of the node A (na). It is possible to generate convolutional features by convolving layers.
  • FIG. 6 is a diagram showing an algorithm for generating convolutional features.
  • the algorithm is composed of lines 1-9.
  • line 2 the number of layers in the convolution of the hierarchical activity features to be performed is K, and the processing of lines 2 to 8 is repeated for the number of layers while incrementing the number of layers by the variable k.
  • line 3 v identifies the node, and it is shown that the processing of lines 3 to 6 is repeated by the number of nodes V.
  • the generation unit 13 aggregates the activity features of one or more second activities having a co-occurrence relationship with the first activity by a predetermined aggregation method to generate the co-occurrence activity aggregation features. Then, the co-occurrence activity aggregate feature and the activity feature of the first activity are combined to generate the convolution feature of the first activity.
  • the generation unit 13 has an activity feature amount h k-1 u (convolution of the second and subsequent layers) of all adjacent nodes N (v) adjacent to the node u corresponding to the first activity.
  • the convolutional feature amount is aggregated by a predetermined aggregation function AGGREGATE k to obtain the co-occurrence activity aggregation feature amount h k N (v) of the kth layer.
  • the generation unit 13 can generate the co-occurrence activity aggregation feature amount by using either the calculation of the average or the sum of the activity feature amounts of the adjacent nodes or the acquisition of the maximum value as a predetermined aggregation function AGGREGATE k. it can.
  • the generation unit 13 combines the activity feature amount of the node v of the (k-1) layer and the co-occurrence activity aggregation feature amount hk N (v) of the kth layer by the binding function CONCAT. Multiply the weight matrix W k and further act on the activation function ⁇ to obtain the convolutional feature h k v of the node v of the k-th layer.
  • the generation unit 13 normalizes the feature value h k v convolution. Then, in line 9, the generating unit 13, a feature amount aggregated by a predetermined grouping method convolutional feature quantity h k v of all nodes obtained by convolution of the activity characteristic of the predetermined K layer, activity history information wherein generating the activity history feature quantity z v representing the. Generating unit 13 calculates the sum of the feature amounts convolution by the convolution of the K layer of all the activities included in the activity history information, may generate activity history feature amount z v.
  • the generation unit 13 may perform the processing of the algorithms lines 4 to 5 shown in FIG. 6 according to the following equation (1).
  • the generation unit 13 may perform the processing of the algorithms lines 4 to 5 shown in FIG. 6 by the following equation (2).
  • FIG. 7 is a diagram showing a flowchart of the generation process of the convolution feature amount.
  • the generation unit 13 acquires the node for which the feature vector (convolution feature amount) is to be calculated.
  • step S22 the generation unit 13 acquires the initial value h 0 v of the feature vector (activity feature amount) of the target node.
  • step S23 the generation unit 13 acquires a node adjacent to the target node.
  • step S24 the generation unit 13 acquires the feature vector of the adjacent node and performs the AGGREGATE process to obtain the co-occurrence activity aggregation feature amount h k N (v) .
  • step S25 the generation unit 13 connects the co-occurrence activity aggregation feature amount h k N (v) and the feature vector h 0 v of the target node, multiplies the weight matrix W k , and further inputs the co-occurrence activity aggregation feature amount h k N (v) to the activation function ⁇ . Te, to obtain an output h k v.
  • FIG. 8 is a flowchart showing learning and generation processing of a weight matrix in the generation of convolutional features.
  • acquisition unit 11 acquires required number of groups to become activity history information of the learning data for learning the weight matrix W k, the extraction unit 12, with reference to FIGS. 3 and 4 As explained above, based on each activity history information, a graph with each activity as a node is generated.
  • step S31 the generation unit 13 generates a feature vector (a convolutional feature amount of a predetermined number of layers) of all nodes based on one of the generated graphs.
  • step S32 the generation unit 13 generates an activity history feature amount representing the features of the graph by READOUT processing that aggregates the feature vectors of all the nodes in the graph (for example, by calculating the average and sum of each element). To do.
  • step S33 the generation unit 13 determines whether or not the generation of the activity history feature amount of all the graphs is completed. When it is determined that the generation of the activity history feature amount of all the graphs is completed, the process proceeds to step S34. If it is not determined that the generation of the activity history feature amount of all the graphs is completed, the processes of steps S31 to S33 are repeated.
  • step S34 the generation unit 13 inputs the activity history feature amount of each graph and the corresponding teacher label into the model including the neural network, and calculates the prediction error.
  • the prediction error is calculated by the equation (3).
  • n is the number of samples.
  • y ij is a teacher label of belonging to the class j of the i-th sample
  • p ij is the probability of belonging to the class j of the i-th sample calculated by the neural network.
  • step S35 the generating unit 13, a back propagation method, and updates the parameter values of the neural network and W k.
  • FIG. 9 is a diagram showing an example of the activity feature amount of each activity included in the graph.
  • the graph g1 shown in FIG. 9 is co-occurrence relationship information generated by the extraction unit 12 based on the activity history information, as described with reference to FIG.
  • Activity feature quantities nx1 to nx4 which are feature vectors showing the features of each node, are associated with each of the nodes n1 to n4 included in the graph g1.
  • the example of the activity feature quantities nx1 to nx4 shown in FIG. 9 is a four-dimensional vector indicating the activity category, and each element is [customization, communication, tool, work efficiency improvement], and the corresponding element. Is set to 1.
  • the generation unit 13 generates a convolutional feature amount of each node. An example of generating the convolutional features of the node n3 will be described below.
  • the generation unit 13 aggregates the activity features nx1 and nx2 of the nodes n1 and n2 adjacent to the node n3 to generate the co-occurrence activity features.
  • the generation unit 13 calculates the co-occurrence activity feature amount h k N (v) of the node n3 by the equation (4).
  • the generation unit 13 combines the activity feature amount of the node n3 and the co-occurrence activity feature amount h k N (v) by a predetermined combination function according to the equation (5), and the convolution feature amount h of the node n3.
  • k v . W in the equation (5) is a weight matrix described with reference to FIGS. 6 and 7.
  • is a predetermined activation function.
  • FIG. 10 is a diagram showing an example of generation of the convolution feature amount and the activity history feature amount generated for each node (activity).
  • the generation unit 13 generates the convolutional features nh1 to nh4 of the nodes n1 to n4, respectively, as described with reference to FIGS. 9 and equations (4) and (5).
  • the generation unit 13 aggregates the convolutional features of all the activities included in the activity history information to generate the activity history features.
  • the generation unit 13 generates the activity history feature amount fg by the READOUT process for the convolutional feature amounts nh1 to nh4 of all the nodes n1 to n4 included in the graph g1.
  • the READOUT process is the sum of all convolutional features hn1 to hn4.
  • the generation unit 13 weights each co-occurrence relationship based on the appearance frequency of the co-occurrence relationship between the first activity and the second activity in the activity history information, and each of the activity features of the second activity. May be weighted to generate the convolutional features of the first activity.
  • the co-occurrence activity feature of the node n3 was generated by calculating the average of the activity features nx1 and nx2.
  • the weighted average of the appearance frequency of the co-occurrence relationship between the node n1 and the co-occurrence relationship between the node n3 and the node n2 is added to each of the activity features nx1 and nx2. It may be generated as a starting activity feature amount. By adding weighting in this way, the strength of the co-occurrence relationship with the activity of the adjacent node can be reflected in the convolutional feature of each activity.
  • the generation unit 13 weights each co-occurrence relationship based on the appearance frequency of the co-occurrence relationship between the first activity and the second activity in the activity history information, and one or more extracted based on the weighting.
  • a convolutional feature of the first activity may be generated based on the activity feature of the second activity.
  • the generation unit 13 is a node having a weight of the co-occurrence relationship of a predetermined degree or more among the nodes n2 to n4.
  • the convolutional features may be generated by aggregating only the activity features of.
  • the features of the second activity with a weak co-occurrence relationship such as accidental co-occurrence can be obtained. It can be prevented from being reflected in the convolutional feature amount.
  • the output unit 14 outputs the activity history feature amount generated by the generation unit 13 as the feature amount input to the state estimation model.
  • the output unit 14 may store the activity history feature amount in the activity history feature amount storage unit 30.
  • the activity history feature amount storage unit 30 is a storage means for storing the activity history feature amount.
  • the extraction unit 12 may uniquely identify activity logs having the same activity but different contexts to extract co-occurrence relationship information.
  • FIG. 11A is a diagram showing an example of activity history information including time information in each activity log.
  • FIG. 11B is a diagram showing an example of generating a graph based on an activity log including time as a context. That is, as shown in FIG. 11A, when each activity log in the activity history information has time information as a context, the extraction unit 12 uses the graph g2 shown in FIG. 11B as co-occurrence relationship information. Generate as. Specifically, since the activity included in each activity log is associated with the time information, the extraction unit 12 can include information indicating the time such as "_08" and "_09" in each node.
  • the extraction unit 12 has different time information of "8:15” and "9:00", respectively.
  • the activity log is uniquely identified, and a graph g2 including two different nodes n11 “home.HomeActivity_08” and node n15 “home.HomeActivity_09” is generated as co-occurrence relationship information.
  • FIG. 12A is a diagram showing an example of activity history information including position information in each activity log.
  • FIG. 12B is a diagram showing an example of generating a graph based on an activity log including a position as a context. That is, as shown in FIG. 12 (a), when each activity log in the activity history information has information for identifying a position exemplified in the mesh code as a context, the extraction unit 12 is shown in FIG. 12 (b).
  • the graph g3 shown is generated as co-occurrence relationship information.
  • the extraction unit 12 since the activity included in each activity log is associated with the mesh code for identifying the position, the extraction unit 12 includes information indicating the position such as "_53394509" and "_53394518" in each node. Can be done.
  • the information of the associated position is "_53394509” and “_53394518", respectively, which are different.
  • the activity log is uniquely identified and a graph g3 including two different nodes n11 "home.HomeActivity_53394509” and node n15 "home.HomeActivity_53394518" is generated as co-occurrence relationship information.
  • the estimation unit 15 inputs the activity history feature amount generated by the generation unit 13 into the situation estimation model, and estimates the state of the terminal or the user of the terminal. Specifically, the estimation unit 15 inputs the activity history feature amount stored in the activity history feature amount storage unit 30 into the situation estimation model, and outputs the output from the model to indicate the state of the terminal or the user of the terminal. Get as information.
  • the situation estimation model is a model including a neural network constructed by machine learning based on learning data in which the activity history feature amount is used as an input feature amount and the identification information that identifies the state of the terminal or the user of the terminal is used as a teacher label. ..
  • a situation estimation 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 perform a predetermined process, and causes the computer to realize a predetermined function.
  • the trained situation estimation model of the present embodiment is used in a computer equipped with a CPU and a memory.
  • the CPU of the computer corresponds to each layer with respect to the input data (activity history feature amount) input to the input layer of the neural network according to the command from the learned situation estimation model stored in the memory. It operates to perform operations based on the learned weighting coefficient and response function, and output the result (likelihood of each situation label) from the output layer.
  • the neural network included in the situation estimation 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.
  • the state estimation system 1 constructs a situation estimation model by performing machine learning based on the activity history feature amount generated and output by the feature extraction device 10 and teacher data consisting of preset teacher labels. May be good.
  • the state output unit 16 outputs state information indicating the state of the terminal or the user of the terminal, which is estimated by the estimation unit 15. Specifically, the state output unit 16 stores the state information in a predetermined storage means or displays it on a predetermined display device.
  • FIG. 13 is a flowchart showing the processing contents of the feature extraction method in the feature extraction device 10.
  • step S1 the acquisition unit 11 acquires activity history information indicating the execution history of the activity for a predetermined period. Subsequently, in step S2, the extraction unit 12 extracts the co-occurrence relationship information indicating the co-occurrence relationship of the activities within the predetermined period based on the activity history information. In the present embodiment, the extraction unit 12 generates a graph in which the activity is a node and the co-occurrence relationship between the activities is represented as an edge connecting the nodes of the activity as the co-occurrence relationship information.
  • step S3 the generation unit 13 aggregates the activity feature amounts indicating the characteristics of each activity based on the co-occurrence relationship information, and generates the activity history feature amount indicating the characteristics of the activity history information.
  • the activity history information is represented by a graph having the activity as a node, so that the generation unit 13 aggregates the activity features associated with each node based on the co-occurrence relationship information represented by the graph. To do.
  • step S4 the output unit 14 outputs the activity history feature amount generated by the generation unit 13 as the feature amount input to the state estimation model.
  • FIG. 14 is a flowchart showing the processing contents of the situation estimation method in the state estimation system 1.
  • the estimation unit 15 acquires the activity history feature amount stored in the activity history feature amount storage unit 30.
  • step S12 the estimation unit 15 inputs the activity history feature amount into the situation estimation model.
  • step S13 the estimation unit 15 acquires the output from the situation estimation model as state information indicating the state of the terminal or the user of the terminal.
  • step S14 the state output unit 16 outputs the state information acquired in step S13. Specifically, the state output unit 16 stores the state information in a predetermined storage means or displays it on a predetermined display device.
  • FIG. 15 is a diagram showing the configuration of a feature extraction program and a state estimation program.
  • the feature extraction program P1 includes a main module m10, an acquisition module m11, an extraction module m12, a generation module m13, and an output module m14 that collectively control the feature extraction process in the feature extraction device 10. Then, each module m11 to m14 realizes each function for the acquisition unit 11, the extraction unit 12, the generation unit 13, and the output unit 14.
  • the state estimation program P2 is configured to include an estimation module m15 and a state output module m16 in addition to a module for making the computer function as the feature extraction device 10.
  • the estimation module m15 and the state output module m16 configure each function for the estimation unit 15 and the state output unit 16.
  • the feature extraction program P1 and the state estimation program P2 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. There may be.
  • the co-occurrence relationship information indicating the co-occurrence relationship of the activities executed in a predetermined period is extracted based on the activity history information. Since the activity is executed on the user's terminal, the co-occurrence relationship information reflects the terminal or the user's state of the terminal. Then, the activity feature amount of the activity included in the activity history information is aggregated based on the co-occurrence relationship information, so that the user state is accurately reflected and the user state is densely expressed. Can be generated. Therefore, by using the activity history feature amount generated in this way as the feature amount to be input to the state estimation model, the estimation accuracy of the user's state is improved.
  • the co-occurrence relationship information may include related information that associates a plurality of activities executed within a predetermined period with each other.
  • the co-occurrence relationship information may include the transition information representing the transition relationship of the activities continuously executed within the predetermined period.
  • two activities executed in succession are associated as transition information and included in the co-occurrence relationship information. Therefore, the transition relationship of activity execution is appropriately reflected in the co-occurrence relationship information.
  • each activity log included in the activity history information includes an event flag indicating the execution status of the activity, and the extraction unit is in the activity log associated with the predetermined event flag.
  • the co-occurrence relationship information may be extracted based on the above.
  • the activity log that preferably reflects the user's state can be used for extracting the co-occurrence relationship.
  • the generation unit uses a predetermined convolution method to convolve the activity feature amount of one activity and the activity feature amount of one or more activities having a co-occurrence relationship with the one activity.
  • the aggregated features are generated as convolutional features of one activity, and the convolutional features of all activities included in the activity history information are aggregated by a predetermined aggregation method to generate the activity history features. May be good.
  • a convolution feature that reflects the features of an activity that has a co-occurrence relationship with one activity is generated for each activity, and the convolution features of all activities are aggregated to generate an activity history feature. Will be done. As a result, it is possible to obtain a feature amount that closely represents the state of the terminal or the user of the terminal.
  • the generation unit hierarchically has a predetermined number of layers from the first layer to the kth layer (k is a predetermined integer of 1 or more) based on the co-occurrence relationship information.
  • k is a predetermined integer of 1 or more
  • the activity features are convoluted and each activity of the plurality of activities whose co-occurrence relationship is indicated by the co-occurrence relationship information is set as the first activity of the nth layer (n is an integer of 0 or more).
  • One or more activities having a co-occurrence relationship with the first activity are set as the second activity, and in the convolution of the first layer, the activity features of the first activity of the 0th layer and co-occurrence with the first activity.
  • the activity features of one or more related second activities are convoluted by a predetermined convolution method to generate the convolution features of the first activity of the first layer, and the mth layer (m is an integer of 2 or more).
  • the activity feature of the first activity of the first layer (m-1) and the convolution feature of one or more second activities having a co-occurrence relationship with the first activity are a predetermined convolution method.
  • To generate the convolution feature of the first activity in the mth layer, and the convolution feature of the first activity of the kth layer in the convolution of the kth layer is the convolution of one activity based on the convolution of the k layer.
  • the feature amount generated as the feature amount and the convoluted feature amount based on the k-layer convolution of all the activities included in the activity history information may be generated as the activity history feature amount by a predetermined aggregation method.
  • the range of other activities having a co-occurrence relationship to be convoluted into one activity convolution feature can be adjusted.
  • a convolutional feature that reflects the co-occurrence relationship of activities to an appropriate degree can be generated.
  • the generation unit aggregates the activity feature amounts of one or more second activities having a co-occurrence relationship with the first activity by a predetermined aggregation method, and the co-occurrence activity.
  • the aggregated feature may be generated, and the co-occurrence activity aggregated feature and the activity feature of the first activity may be combined to generate the convolutional feature of the first activity.
  • a co-occurrence activity aggregation feature amount is generated in which the activity features of the second activity having a co-occurrence relationship with the first activity are aggregated, and the co-occurrence activity aggregation feature amount and the first activity Since the activity features are combined to generate the convolutional features, it is possible to obtain the convolutional features that appropriately reflect the activity features of the second activity while mainly focusing on the activity features of the first activity. it can.
  • the generation unit aggregates by calculating the average or sum of the activity features of one or more second activities or acquiring the maximum value, and aggregates the co-occurrence activity aggregate features. It may be generated.
  • the activity feature amount of the second activity can be appropriately reflected in the co-occurrence activity aggregation feature amount.
  • the generation unit weights each co-occurrence relationship based on the appearance frequency of the co-occurrence relationship between the first activity and the second activity in the activity history information, and each of them.
  • the activity features of the second activity may be weighted to generate the convolutional features of the first activity.
  • the strength of the co-occurrence relationship between each second activity and the first activity can be reflected in the convolution feature amount.
  • the generation unit weights each co-occurrence relationship based on the appearance frequency of the co-occurrence relationship between the first activity and the second activity in the activity history information.
  • the convolutional feature of the first activity may be generated based on the activity feature of one or more second activities extracted from the second activity based on the weighting.
  • the generation unit may generate the activity history feature amount by calculating the sum of the convolutional feature amounts of all the activities included in the activity history information.
  • the characteristics of all activities included in the activity history information can be appropriately reflected in the activity history feature amount.
  • the activity log includes at least one context of time and position information
  • the extraction unit uniquely identifies the activity logs having the same activity but different contexts.
  • Co-occurrence relationship information may be extracted.
  • activities having different contexts are uniquely identified, so that an activity history feature amount that reflects the user's state in more detail can be generated.
  • the state estimation system is a state estimation system that estimates the state of the terminal on which the activity is executed or the user of the terminal, and shows the execution history of the activity for a predetermined period and is a time-series activity.
  • An acquisition unit that acquires activity history information including logs, an extraction unit that extracts co-occurrence relationship information that indicates the co-occurrence relationship of activities within a predetermined period based on the activity history information, and an activity feature that indicates the characteristics of each activity.
  • a generator that aggregates the amounts based on the co-occurrence relationship information to generate an activity history feature amount that indicates the characteristics of the activity history information, and an activity history feature amount as an input feature amount, and sets the state of the terminal or the user of the terminal.
  • the activity history feature amount generated by the generator is input to the situation estimation model including the neural network constructed by machine learning based on the learning data using the identification information to be identified as the teacher label, and the terminal or the user of the terminal is related. It includes an estimation unit that estimates a state, and a state output unit that outputs state information that indicates the state of the terminal or the user of the terminal, which is estimated by the estimation unit.
  • the co-occurrence relationship of the activities executed in a predetermined period is shown based on the activity history information indicating the execution history to the activities executed on the user's terminal, and the state of the terminal or the user of the terminal is reflected. Co-occurrence relationship information is extracted. Then, the activity feature amount of the activity included in the activity history information is aggregated based on the co-occurrence relationship information, so that the user state is accurately reflected and the user state is densely expressed. Can be generated. By inputting the activity history feature amount generated in this way into the state estimation model, the user's state can be estimated accurately.
  • 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 Bluetooth®, other systems that utilize suitable systems and / or next-generation systems that are 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.
  • data, instructions, commands, information, signals, bits, symbols, chips, etc. may be voltage, current, 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)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Business, Economics & Management (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

特徴抽出装置は、アクティビティが実行された端末または端末のユーザに関する状態を推定する状態推定モデルに入力される特徴量を、アクティビティの実行履歴に基づいて抽出する装置であって、アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、アクティビティ履歴情報に基づいて所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、アクティビティ履歴特徴量を、状態推定モデルに入力される特徴量として出力する出力部とを備える。

Description

特徴抽出装置及び状態推定システム
 本発明は、特徴抽出装置及び状態推定システムに関する。
 ユーザが所持する携帯端末におけるアプリケーションの使用履歴に基づいて、ユーザの状態を推定する技術が知られている。このような技術では、アプリケーションの起動回数等の基本的な統計量が、推定に用いられていた。また、ユーザのデバイスにおいて実施されたアクティビティまたは実施されているアクティビティに関連付けられているデータを受信し、受信したデータを解析することにより、ユーザの状態を推測する技術が知られている(例えば、特許文献1参照)。
特開2016-154019号公報
 従来の技術では、ユーザの状態に用いられる情報は、アプリケーションの起動回数等の基本的な統計量であって、アプリケーションの利用の順番及びアプリケーション相互の関係性等の情報が含まれない。そのため、ユーザの状態の推定の精度が十分でなかった。
 そこで、本発明は、上記問題点に鑑みてなされたものであり、端末により取得される情報に基づくユーザの状態の推定精度を向上させることを目的とする。
 上記課題を解決するために、本発明の一形態に係る特徴抽出装置は、アクティビティの実行履歴に関する特徴を示す特徴量であって、アクティビティが実行された端末または該端末のユーザに関する状態を推定する状態推定モデルに入力される特徴量を、実行履歴に基づいて抽出する特徴抽出装置であって、アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、アクティビティ履歴特徴量を、状態推定モデルに入力される特徴量として出力する出力部と、を備える。
 上記の形態によれば、アクティビティ履歴情報に基づいて所定期間に実行されたアクティビティの共起関係を示す共起関係情報が抽出される。アクティビティは、ユーザの端末において実行されたものであるので、共起関係情報には、端末または端末のユーザの状態が反映されている。そして、アクティビティ履歴情報に含まれるアクティビティのアクティビティ特徴量が、共起関係情報に基づいて集約されることにより、ユーザの状態が的確に反映され且つユーザの状態が密に表現されたアクティビティ履歴特徴量を生成できる。従って、このように生成されたアクティビティ履歴特徴量を状態推定モデルに入力する特徴量とすることにより、ユーザの状態の推定精度が向上する。
 端末により取得される情報に基づくユーザの状態の推定精度を向上させることが可能となる。
本実施形態の特徴抽出装置を含む状態推定システムの機能的構成を示すブロック図である。 特徴抽出装置及び状態推定システムのハードブロック図である。 アクティビティ履歴情報の構成及びアクティビティ履歴情報に含まれているデータの例を示す図である。 アクティビティをノードとして、アクティビティ間の共起関係を、ノード間をつなぐエッジとする、共起関係情報を表すグラフの例を示す図である。 図5(a)は、ノードをアルファベットで抽象化したグラフの例を示す図である。図5(b)は、アクティビティ特徴量の階層的な畳み込みを模式的に示す図である。 畳み込み特徴量の生成のためのアルゴリズムを示す図である。 畳み込み特徴量の生成処理のフローチャートを示す図である。 畳み込み特徴量の生成における重み行列の学習及び生成処理を示すフローチャートである。 図9は、グラフに含まれる各アクティビティのアクティビティ特徴量を示す図である。 各アクティビティの畳み込み特徴量の生成及びアクティビティ履歴特徴量の生成の例を示す図である。 図11(a)は、各アクティビティログに時刻の情報を含むアクティビティ履歴情報の例を示す図である。図11(b)は、時刻をコンテキストとして含むアクティビティログに基づくグラフの生成の例を示す図である。 図12(a)は、各アクティビティログに位置の情報を含むアクティビティ履歴情報の例を示す図である。図12(b)は、位置をコンテキストとして含むアクティビティログに基づくグラフの生成の例を示す図である。 特徴抽出装置における特徴抽出方法の処理内容を示すフローチャートである。 状態推定システムにおける状況推定方法の処理内容を示すフローチャートである。 特徴抽出プログラム及び状況推定プログラムの構成を示す図である。
 本発明に係る特徴抽出装置の実施形態について図面を参照して説明する。なお、可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
 図1は、本実施形態に係る特徴抽出装置を含む状態推定システムの機能的構成を示す図である。図1に示すように、状態推定システム1は、特徴抽出装置10並びに推定部15及び状態出力部16を含む。
 特徴抽出装置10は、アクティビティの実行履歴に関する特徴を示す特徴量を、実行履歴に基づいて抽出する装置である。特徴抽出装置10により抽出される特徴量は、アクティビティが実行された端末または端末のユーザに関する状態を推定する状態推定モデルに入力されるための特徴量である。
 状態推定システム1は、アクティビティが実行された端末または該端末のユーザに関する状態を推定するシステムである。具体的には、状態推定システム1は、特徴抽出装置10により抽出された特徴量と、端末または該端末のユーザに関する状態を示す教師ラベルとを学習データとして、ニューラルネットワークを含む状態推定モデルを深層学習により構築する。また、状態推定システム1は、特徴抽出装置10により抽出された特徴量を、学習済みの状態推定モデルに入力して得られた端末または該端末のユーザに関する状態情報を出力する。
 状態推定モデルにより推定される端末または該端末のユーザに関する状態は、例えば、端末のユーザのストレス状態、デモグラフィック、ユーザの性格、ユーザプロファイル等である。
 従来から、ユーザにより使用される端末のアプリケーション及びアクティビティ等の履歴に基づいて、深層学習によりユーザに関する状態を推定することは行われていた。従来の状態の推定方法では、アプリケーションの起動回数等の基本統計量が特徴量として用いられていた。しかしながら、このような基本統計量は、アプリケーション等の利用順及び相互関係等の特徴を含むことは困難であった。
 一方、言語処理の分野では、いわゆるN-gramという方法により、文字列及び文章を特徴量化することが行われていた。N-gramは、連続するN個の文字または単語等で文字列及び文章を分割して特徴量として用いる手法である。
 アプリケーション等の履歴に基づくユーザの状態等を推定する技術に、言語処理分野の技術を適用して、実行された個々のアプリケーション等を、言語処理における文字または単語と見なし、さらに、続けて実行されたアプリケーションを文章等において続けて現れる単語等に相当するものとして、アプリケーション等の履歴をN-gramにより特徴量化することが考えられる。
 しかしながら、アプリケーション等の履歴をN-gramの手法により単純に特徴量化すると、アプリケーション等の種類数が膨大であるため、生成される特徴量(ベクトル)がスパースになる。そのために、深層学習を適切に実行することができない。本実施形態の特徴抽出装置10は、アプリケーション等の履歴の情報を適切に畳み込むことにより、ユーザに関する状態を推定するためのモデルの深層学習に好適な特徴量を提供する。
 特徴抽出装置10及び状態推定システム1に含まれる各機能部11~16は、アクティビティ履歴情報記憶部20及びアクティビティ履歴特徴量記憶部30にアクセス可能に構成されている。
 特徴抽出装置10、状態推定システム1に含まれる各機能部15~16、アクティビティ履歴情報記憶部20及びアクティビティ履歴特徴量記憶部30は、1つの装置として構成されてもよいし、それぞれが別の装置に構成されてもよい。
 特徴抽出装置10は、図1に示すように、機能的には、取得部11、抽出部12、生成部13及び出力部14を備える。これらの各機能部11~14は、一つの装置に構成されてもよいし、複数の装置に分散されて構成されてもよい。
 なお、図1に示したブロック図は、機能単位のブロックを示している。これらの機能ブロック(構成部)は、ハードウェア及びソフトウェアの少なくとも一方の任意の組み合わせによって実現される。また、各機能ブロックの実現方法は特に限定されない。すなわち、各機能ブロックは、物理的又は論理的に結合した1つの装置を用いて実現されてもよいし、物理的又は論理的に分離した2つ以上の装置を直接的又は間接的に(例えば、有線、無線などを用いて)接続し、これら複数の装置を用いて実現されてもよい。機能ブロックは、上記1つの装置又は上記複数の装置にソフトウェアを組み合わせて実現されてもよい。
 機能には、判断、決定、判定、計算、算出、処理、導出、調査、探索、確認、受信、送信、出力、アクセス、解決、選択、選定、確立、比較、想定、期待、見做し、報知(broadcasting)、通知(notifying)、通信(communicating)、転送(forwarding)、構成(configuring)、再構成(reconfiguring)、割り当て(allocating、mapping)、割り振り(assigning)などがあるが、これらに限られない。たとえば、送信を機能させる機能ブロック(構成部)は、送信部(transmitting unit)や送信機(transmitter)と呼称される。いずれも、上述したとおり、実現方法は特に限定されない。
 例えば、本発明の一実施の形態における特徴抽出装置10及び状態推定システム1は、コンピュータとして機能してもよい。図2は、本実施形態に係る特徴抽出装置10及び状態推定システム1のハードウェア構成の一例を示す図である。特徴抽出装置10及び状態推定システム1は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
 なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。特徴抽出装置10及び状態推定システム1のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
 特徴抽出装置10及び状態推定システム1における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
 プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、図1に示した各機能部11~17などは、プロセッサ1001で実現されてもよい。
 また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、特徴抽出装置10及び状態推定システム1の各機能部11~16は、メモリ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及び状態推定システム1は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
 次に、特徴抽出装置10及び状態推定システム1の各機能部について説明する。取得部11は、アクティビティの所定期間の実行履歴を示すアクティビティ履歴情報を取得する。具体的には、取得部11は、アクティビティ履歴情報記憶部20に記憶されているアクティビティ履歴情報を取得する。アクティビティ履歴情報は、時系列のアクティビティログを含む。本実施形態では、アクティビティは、端末において実行された機能を示し、例えば、端末において実行されたアプリケーション、端末において実行されたアプリケーションの一機能、及び、端末において実行されたアプリケーションの一画面等であることができる。また、アクティビティは、当該アクティビティが実行されたコンテキスト(時間及び場所等の情報)を含んでもよい。さらに、アクティビティは、端末において発生したイベント(画面のONまたはOFFのイベント、充電状態を示すイベント、WiFi機能のONまたはOFFのイベントなど)を含んでもよい。
 図3は、アクティビティ履歴情報の構成及びアクティビティ履歴情報に含まれているデータの例を示す図である。図3に示すように、アクティビティ履歴情報は、時系列のアクティビティログからなる。アクティビティログは、UID、日時、イベントフラグ、アプリケーション及びアクティビティの情報を含む。
 UIDは、ユーザを識別する識別情報である。日時は、当該アクティビティが実行された時を示す情報である。イベントフラグは、アクティビティの実行時の状況を示す情報である。本実施形態では、イベントフラグ「1」は、当該アクティビティが、端末において、最前面の画面において実行されたことを示す。イベントフラグ「2」は、当該アクティビティが、端末において、最前面の画面以外に移動したことを示す。アプリケーションは、当該アクティビティに対応するアプリケーションを識別する情報である。アクティビティは、当該アクティビティを識別する情報である。本実施形態では、アクティビティは、アプリケーションの一機能を表す。
 抽出部12は、アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する。所定期間内におけるアクティビティの共起関係とは、複数のアクティビティのそれぞれが所定期間内に実行されるか否か示す関係である。例えば、所定期間内にアクティビティA及びアクティビティBが実行される場合に、アクティビティAとアクティビティBとの間に共起関係があると表する。本実施形態では、抽出部12は、アクティビティをノードとして、アクティビティ間の共起関係をアクティビティのノード間をつなぐエッジとして表したグラフを共起関係情報として生成する。
 図4は、共起関係情報を表すグラフの例を示す図である。グラフg1は、図3に示したアクティビティ履歴情報に基づいて生成された共起関係情報である。
 抽出部12は、アクティビティ履歴情報に含まれる全てのアクティビティログに基づいてグラフを抽出してもよい。また、抽出部12は、所定のイベントフラグが関連付けられたアクティビティログに基づいてグラフを抽出してもよい。図4に示す例では、抽出部12は、図3に示したアクティビティ履歴情報のアクティビティログのうち、イベントフラグ「1」が関連付けられたアクティビティログに基づいてグラフを生成する。これにより、ユーザの状態が好適に反映されたアクティビティログのみを共起関係の抽出に用いることができる。
 抽出部12は、所定期間内に実行された複数のアクティビティを互いに関連付ける関連情報を含む共起関係情報を抽出してもよい。具体的には、抽出部12は、一のアクティビティの実行時から予め設定された所定期間内に実行された全てのアクティビティを抽出し、抽出されたアクティビティのノードのそれぞれと、一のアクティビティのノードとの間にエッジを設定する。
 また、抽出部12は、所定期間内に続けて実行されたアクティビティの遷移関係を表す遷移情報を含む共起関係情報を抽出してもよい。遷移情報は、実行されるアクティビティが、一のアクティビティから他のアクティビティに遷移した場合に、一のアクティビティと他のアクティビティとを関連付ける情報である。具体的には、抽出部12は、一のアクティビティが実行された後に他のアクティビティが実行された場合に、一のアクティビティのノードと他のアクティビティのノードとの間にエッジを設定する。本実施形態の図4に示すグラフg1では、遷移情報に基づいてエッジが設定されている。これにより、アクティビティの実行の傾向が共起関係情報に適切に反映される。
 即ち、図3に示されるアクティビティ履歴情報のイベントフラグ「1」を有するイベントログにおいて、アクティビティ「home.HomeActivity」と、アクティビティ「carriermail.MailListActivity」、アクティビティ「incallui.IncallActivity」及びアクティビティ「calender.MainActivity」との間に遷移関係があるので、抽出部12は、ノードn1と、ノードn2,n3,n4のそれぞれとの間にエッジを設定する。
 また、アクティビティ「carriermail.MailListActivity」とアクティビティ「incallui.IncallActivity」との間に遷移関係があるので、抽出部12は、ノードn2とノードn3との間にエッジを設定する。
 なお、アクティビティ間に遷移関係があっても、それらが実行された時の間隔が所定閾値以上の馬合には、抽出部12は、それらのアクティビティ間にエッジを設定しないこととしてもよい。これにより、実行において相互の関連がないアクティビティ間に共起関係が設定されることが防止される。
 生成部13は、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する。本実施形態では、アクティビティをノードとするグラフによりアクティビティ履歴情報が表されるので、生成部13は、グラフにより表現された共起関係情報に基づいて、各ノードに関連付けられたアクティビティ特徴量を集約する。
 アクティビティ特徴量は、アクティビティの特徴を示す所定数の次元の特徴ベクトルである。特徴ベクトルは、アクティビティが識別されるベクトルであれば、いかなる形式のベクトルにも限定されないが、例えば、アクティビティに関するカテゴリの種類数を次元数とするベクトルであって、当該アクティビティが該当するカテゴリの要素を1として、当該アクティビティが該当しないカテゴリの要素を0とするベクトルであってもよい。また、特徴ベクトルは、アクティビティの種類数を次元数とするベクトルであって、当該アクティビティが該当する要素のみを1とする、いわゆるOne-Hotベクトルであってもよい。
 具体的には、生成部13は、一のアクティビティのアクティビティ特徴量と、当該一のアクティビティと共起関係を有する1以上のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により集約した特徴量を、一のアクティビティの畳み込み特徴量として生成し、アクティビティ履歴情報に含まれる全アクティビティの畳み込み特徴量を所定の集約方法により集約した特徴量を、アクティビティ履歴特徴量として生成する。本実施形態では、生成部13は、一のアクティビティのノードのアクティビティ特徴量と、当該一のアクティビティのノードとエッジで結ばれた1以上のノードのアクティビティ特徴量とを所定の畳み込み方法により集約して、一のアクティビティのノードの畳み込み特徴量を生成する。
 さらに、生成部13は、共起関係情報に基づいて第1層から第k層(kは1以上の所定の整数)までの所定の層数の階層的なアクティビティ特徴量の畳み込みを実施できる。
 即ち、生成部13は、共起関係情報により共起関係が示される複数のアクティビティのうちの各アクティビティを第n層(nは0以上の整数)の第1のアクティビティとしたときに、第1のアクティビティと共起関係を有するアクティビティを第n層の第2のアクティビティとして定義し、第1層の畳み込み及び第m層(mは2以上の整数)の畳み込みを実施する。
 生成部13は、第1層の畳み込みにおいて、第0層の第1のアクティビティのアクティビティ特徴量と、1以上の第0層の第2のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により畳み込むことにより生成された特徴量を、第1層の第1のアクティビティの畳み込み特徴量として生成する。
 また、生成部13は、第m層の畳み込みにおいて、第(m-1)層の第1のアクティビティのアクティビティ特徴量と、1以上の第(m-1)層の第2のアクティビティの畳み込み特徴量とを所定の畳み込み方法により畳み込むことにより生成された特徴量を、第m層の第1のアクティビティの畳み込み特徴量として生成する。
 そして、生成部13は、第k層の畳み込みにおける、第k層の第1のアクティビティの畳み込み特徴量を、k層の畳み込みに基づく一のアクティビティの畳み込み特徴量として生成する。
 図5を参照して、アクティビティ特徴量の階層的な畳み込みを説明する。図5(a)は、ノードをアルファベットで抽象化したグラフの例を示す図である。図5(b)は、アクティビティ特徴量の階層的な畳み込みを模式的に示す図である。
 図5(a)に示されるグラフgxは、ノードA~F(na~nf)を含み、共起関係を有するノード間にエッジが設定されている。図5(b)に示されるように、生成部13は、グラフgxに基づいて、ノードB(nb)の畳み込み特徴量cfbを生成する。具体的には、ノードB(nb)には、ノードA(na)及びノードC(nc)がエッジで結ばれているので、生成部13は、ノードB(nb)のアクティビティ特徴量fbと、ノードA(na)のアクティビティ特徴量fa及びノードC(nc)のアクティビティ特徴量fcとを所定の畳み込み方法CV1により畳み込んで、ノードB(nb)の畳み込み特徴量cfb1を生成する。
 同様に、ノードC(nc)には、ノードA(na)、ノードB(nb)、ノードE(ne)及びノードF(nf)がエッジで結ばれているので、生成部13は、ノードC(nc)のアクティビティ特徴量fcと、ノードA(na)のアクティビティ特徴量fa、ノードB(nb)のアクティビティ特徴量fb、ノードE(ne)のアクティビティ特徴量fe及びノードF(nf)のアクティビティ特徴量ffとを所定の畳み込み方法CV1により畳み込んで、ノードC(nc)の畳み込み特徴量cfc1を生成する。
 さらに同様に、ノードD(nd)には、ノードA(na)がエッジで結ばれているので、生成部13は、ノードD(nd)のアクティビティ特徴量fdと、ノードA(na)のアクティビティ特徴量faとを所定の畳み込み方法CV1により畳み込んで、ノードD(nd)の畳み込み特徴量cfd1を生成する。
 次に、生成部13は、ノードB(nb)の畳み込み特徴量cfb1、ノードC(nc)の畳み込み特徴量cfc1及びノードD(nd)の畳み込み特徴量cfd1の生成を1層の畳み込みとして、当該1層の畳み込みの次層の畳み込みとしての、ノードA(na)の畳み込み特徴量を生成する。ノードA(na)には、ノードB(nb)、ノードC(nc)及びノードD(nd)がエッジで結ばれているので、この畳み込み特徴量の生成においては、畳み込み特徴量cfb1、畳み込み特徴量cfc1、畳み込み特徴量cfd1がそれぞれ、ノードB(nb)、ノードC(nc)及びノードD(nd)のアクティビティ特徴量として用いられる。即ち、生成部13は、ノードA(na)のアクティビティ特徴量faと、畳み込み特徴量cfb1、畳み込み特徴量cfc1及び畳み込み特徴量cfd1とを所定の畳み込み方法CV2により畳み込んで、ノードA(na)の畳み込み特徴量cfa2を生成する。
 図5(b)に示した例は、アクティビティ特徴量の2層の畳み込みよるノードA(na)の畳み込み特徴量の生成であるが、ノードA(na)の他の各ノードについても同様に2層の畳み込みによる畳み込み特徴量を生成できる。
 図6及び図7を参照して、畳み込み特徴量の生成処理の具体例について説明する。図6は、畳み込み特徴量の生成のためのアルゴリズムを示す図である。アルゴリズムは、ライン1~9により構成されている。
 ライン1において、ノードvのアクティビティ特徴量xをh とする。このアクティビティ特徴量は、第0層のアクティビティ特徴量に相当する。
 ライン2において、実施される階層的なアクティビティ特徴量の畳み込みにおける層数をKとして、変数kにより層数をインクリメントしながら、ライン2~8の処理を層数の分だけ繰り返す。ライン3において、vはノードを識別し、ライン3~6の処理がノード数Vの分だけ繰り返されることが示されている。
 ライン4~5において、生成部13は、第1のアクティビティと共起関係を有する1以上の第2のアクティビティのアクティビティ特徴量を所定の集約方法により集約して、共起アクティビティ集約特徴量を生成し、共起アクティビティ集約特徴量と、第1のアクティビティのアクティビティ特徴量とを結合して、第1のアクティビティの畳み込み特徴量を生成する。
 具体的には、ライン4において、生成部13は、第1のアクティビティに相当するノードuに隣接する全ての隣接ノードN(v)のアクティビティ特徴量hk-1 (2層目以降の畳み込みの場合には畳み込み特徴量)を、所定の集約関数AGGREGATEにより集約して、第k層の共起アクティビティ集約特徴量h N(v)を得る。ここで、生成部13は、隣接ノードのアクティビティ特徴量の平均若しくは総和の算出又は最大値の取得のいずれかを所定の集約関数AGGREGATEとして用いて、共起アクティビティ集約特徴量を生成することができる。
 ライン5において、生成部13は、第(k-1)層のノードvのアクティビティ特徴量と第k層の共起アクティビティ集約特徴量h N(v)とを、結合関数CONCATにより結合し、重み行列Wを掛けて、さらに活性化関数σを作用させて、第k層のノードvの畳み込み特徴量h を得る。
 ライン7において、生成部13は、畳み込み特徴量h を正規化する。そして、ライン9において、生成部13は、所定のK層のアクティビティ特徴量の畳み込みにより得られた全てのノードの畳み込み特徴量h を所定の集約方法により集約した特徴量を、アクティビティ履歴情報の特徴を表すアクティビティ履歴特徴量zとして生成する。生成部13は、アクティビティ履歴情報に含まれる全アクティビティのK層の畳み込みによる畳み込み特徴量の総和を算出して、アクティビティ履歴特徴量zを生成してもよい。
 なお、生成部13は、以下の式(1)により、図6に示されるアルゴリズムのライン4~5の処理を実施してもよい。
Figure JPOXMLDOC01-appb-M000001
 式(1)におけるReLuは、活性化関数の一種であり、例えば、
ReLU(x)=max(x,0)
として表される関数であってもよい。また、式(1)におけるMEANは、要素ごとの平均値を算出する関数である。
 また、生成部13は、以下の式(2)により、図6に示されるアルゴリズムのライン4~5の処理を実施してもよい。
Figure JPOXMLDOC01-appb-M000002
 図7は、畳み込み特徴量の生成処理のフローチャートを示す図である。ステップS21において、生成部13は、特徴ベクトル(畳み込み特徴量)の計算対象のノードを取得する。
 ステップS22において、生成部13は、対象ノードの特徴ベクトル(アクティビティ特徴量)の初期値h を取得する。ステップS23において、生成部13は、対象ノードの隣接ノードを取得する。
 ステップS24において、生成部13は、隣接ノードの特徴ベクトルを取得し、AGGREGATE処理を行うことにより、共起アクティビティ集約特徴量h N(v)を得る。
 ステップS25において、生成部13は、共起アクティビティ集約特徴量h N(v)と対象ノードの特徴ベクトルh とを連結し、重み行列Wを掛け、さらに活性化関数σに入力して、出力h を得る。
 このフローチャートに示される処理を全てのノードに関して繰り返すことにより、1層のアクティビティ特徴量の畳み込みが実現される。そして、所定のK層分の処理をさらに繰り返すことにより、全てのノードのK層のアクティビティ特徴量の畳み込みが実現される。
 次に、図8を参照して、図6に示したアルゴリズムのライン5における重み行列Wの生成(学習)方法について説明する。図8は、畳み込み特徴量の生成における重み行列の学習及び生成処理を示すフローチャートである。
 まず、学習処理に先立って、取得部11が、重み行列Wの学習のための学習データの基となるアクティビティ履歴情報を必要数取得し、抽出部12が、図3及び図4を参照して説明したように、各アクティビティ履歴情報に基づいて、各アクティビティをノードとするグラフを生成する。
 ステップS31において、生成部13は、生成されたグラフのうちの一のグラフに基づいて、全ノードの特徴ベクトル(所定層数の畳み込み特徴量)を生成する。ステップS32において、生成部13は、グラフ中の全ノードの特徴ベクトルを集約(例えば、要素ごとの平均、総和の算出等による)するREADOUT処理により、当該グラフの特徴を表すアクティビティ履歴特徴量を生成する。
 ステップS33において、生成部13は、全グラフのアクティビティ履歴特徴量の生成が完了したか否かを判定する。全グラフのアクティビティ履歴特徴量の生成が完了したと判定された場合には、処理はステップS34に進む。全グラフのアクティビティ履歴特徴量の生成が完了したと判定されなかった場合には、ステップS31~S33の処理が繰り返される。
 ステップS34において、生成部13は、ニューラルネットワークを含んで成るモデルに、各グラフのアクティビティ履歴特徴量と対応する教師ラベルとを入力し、予測誤差を計算する。予測誤差は、式(3)により計算される。
Figure JPOXMLDOC01-appb-M000003
におけるnはサンプル数である。mは分類クラス数であって、例えば、モデルが、ユーザのストレスの高/低を推定するものであれば、m=2である。yijは、i番目のサンプルのクラスjに属することの教師ラベルであり、pijは、ニューラルネットワークにより算出されたi番目サンプルのクラスjに対する所属確率である。
 ステップS35において、生成部13は、誤差逆伝搬法により、ニューラルネットワーク及びWのパラメータ値を更新する。
 図9及び図10を参照して、アクティビティ履歴情報に基づくグラフの生成(共起関係情報の抽出)、各ノード(アクティビティ)の(1層の畳み込みによる)畳み込み特徴量の生成、及びアクティビティ履歴特徴量の生成の具体例を説明する。
 図9は、グラフに含まれる各アクティビティのアクティビティ特徴量の例を示す図である。図9に示されるグラフg1は、図4を参照して説明したように、抽出部12により、アクティビティ履歴情報に基づいて生成された共起関係情報である。グラフg1に含まれるノードn1~n4のそれぞれには、各ノードの特徴を示す特徴ベクトルであるアクティビティ特徴量nx1~nx4が関連づけられている。
 図9に示されるアクティビティ特徴量nx1~nx4の例は、アクティビティのカテゴリを示す4次元のベクトルであって、各要素は、[カスタマイズ、通信、ツール、仕事効率化]であって、該当する要素に1がセットされる。
 生成部13は、各ノードの畳み込み特徴量を生成する。以下に、ノードn3の畳み込み特徴量の生成の例を説明する。生成部13は、ノードn3に隣接するノードn1,n2のアクティビティ特徴量nx1,nx2を集約して共起アクティビティ特徴量を生成する。ここでは、集約関数AGGREGATEとして平均の算出を採用することとして、生成部13は、式(4)により、ノードn3の共起アクティビティ特徴量h N(v)を算出する。
Figure JPOXMLDOC01-appb-M000004
 続いて、生成部13は、式(5)により、ノードn3のアクティビティ特徴量と共起アクティビティ特徴量h N(v)とを所定の結合関数により結合して、ノードn3の畳み込み特徴量h を算出する。
Figure JPOXMLDOC01-appb-M000005
式(5)におけるWは、図6及び図7を参照して説明した重み行列である。σは、所定の活性化関数である。
 図10は、各ノード(アクティビティ)について生成された畳み込み特徴量及びアクティビティ履歴特徴量の生成の例を示す図である。図10に示されるように、生成部13は、図9及び式(4),(5)を参照して説明したように、ノードn1~n4のそれぞれの畳み込み特徴量nh1~nh4を生成する。
 続いて、生成部13は、アクティビティ履歴情報に含まれる全アクティビティの畳み込み特徴量を集約して、アクティビティ履歴特徴量を生成する。図10に示す具体例では、生成部13は、グラフg1に含まれる全てのノードn1~n4の畳み込み特徴量nh1~nh4に対するREADOUT処理により、アクティビティ履歴特徴量fgを生成する。ここでは、READOUT処理は、全ての畳み込み特徴量nh1~nh4の総和である。
 なお、生成部13は、アクティビティ履歴情報における第1のアクティビティと第2のアクティビティとの共起関係の出現頻度に基づいて各共起関係に重み付けをし、第2のアクティビティのアクティビティ特徴量のそれぞれに重み付けを加えて、第1のアクティビティの畳み込み特徴量を生成してもよい。
 例えば、図9を参照して説明したノードn3の畳み込み特徴量の生成の例では、アクティビティ特徴量nx1,nx2の平均を算出することによりノードn3の共起アクティビティ特徴量を生成したが、ノードn3とノードn1との共起関係の出現頻度及びノードn3とノードn2との共起関係の出現頻度に応じた重みを、アクティビティ特徴量nx1,nx2のそれぞれに加えた加重平均を、ノードn3の共起アクティビティ特徴量として生成してもよい。このように、重み付けを加えることにより、隣接ノードのアクティビティとの共起関係の強さを各アクティビティの畳み込み特徴量に反映させることができる。
 また、生成部13は、アクティビティ履歴情報における第1のアクティビティと第2のアクティビティとの共起関係の出現頻度に基づいて各共起関係に重み付けをし、重み付けに基づいて抽出された1以上の第2のアクティビティのアクティビティ特徴量に基づいて、第1のアクティビティの畳み込み特徴量を生成してもよい。
 例えば、図9に示したグラフg1の例では、ノードn1の畳み込み特徴量の生成において、重み付けを考慮しない場合には、ノードn1と共起関係を有するノードn2~n4の全てのアクティビティ特徴量が集約される。それに対して、共起関係の出現頻度に基づく各共起関係に対する重み付けを考慮する場合には、生成部13は、ノードn2~n4のうちの所定の程度以上の共起関係の重みを有するノードのアクティビティ特徴量のみを集約して、畳み込み特徴量の生成を実施してもよい。このように、共起関係の重みに基づいて、畳み込み特徴量の生成において集約するアクティビティ特徴量を抽出することにより、偶発的に共起したような共起関係が弱い第2のアクティビティの特徴が畳み込み特徴量に反映されないようにすることができる。
 再び図1を参照して、出力部14は、生成部13により生成されたアクティビティ履歴特徴量を、状態推定モデルに入力される特徴量として出力する。具体的には、例えば、出力部14は、アクティビティ履歴特徴量をアクティビティ履歴特徴量記憶部30に記憶させてもよい。アクティビティ履歴特徴量記憶部30は、アクティビティ履歴特徴量を記憶する記憶手段である。
 次に、図11及び図12を参照して、共起関係情報としてのグラフの生成の他の例を説明する。アクティビティログが、時刻及び位置情報等のコンテキストを含む場合には、抽出部12は、アクティビティが同一でありコンテキストが異なるアクティビティログをユニークに識別して、共起関係情報を抽出してもよい。
 図11(a)は、各アクティビティログに時刻の情報を含むアクティビティ履歴情報の例を示す図である。図11(b)は、時刻をコンテキストとして含むアクティビティログに基づくグラフの生成の例を示す図である。即ち、図11(a)に示すように、アクティビティ履歴情報における各アクティビティログが時刻の情報をコンテキストとして有する場合には、抽出部12は、図11(b)に示すグラフg2を共起関係情報として生成する。具体的には、各アクティビティログに含まれるアクティビティが時刻の情報に関連付けられるので、抽出部12は、各ノードに「_08」、「_09」といった時刻を示す情報を含ませることができる。従って、抽出部12は、「home.HomeActivity」という同種のアクティビティであっても、関連付けられている時刻の情報がそれぞれ「8:15」及び「9:00」であり異なっているので、それらのアクティビティログをユニークに識別して、2つの異なるノードn11「home.HomeActivity_08」及びノードn15「home.HomeActivity_09」を含むグラフg2を共起関係情報として生成する。
 図12(a)は、各アクティビティログに位置の情報を含むアクティビティ履歴情報の例を示す図である。図12(b)は、位置をコンテキストとして含むアクティビティログに基づくグラフの生成の例を示す図である。即ち、図12(a)に示すように、アクティビティ履歴情報における各アクティビティログがメッシュコードに例示される位置を識別する情報をコンテキストとして有する場合には、抽出部12は、図12(b)に示すグラフg3を共起関係情報として生成する。具体的には、各アクティビティログに含まれるアクティビティが位置を識別するメッシュコードに関連付けられているので、抽出部12は、各ノードに「_53394509」、「_53394518」といった位置を示す情報を含ませることができる。従って、抽出部12は、「home.HomeActivity」という同種のアクティビティであっても、関連付けられている位置(メッシュコード)の情報がそれぞれ「_53394509」及び「_53394518」であり異なっているので、それらのアクティビティログをユニークに識別して、2つの異なるノードn11「home.HomeActivity_53394509」及びノードn15「home.HomeActivity_53394518」を含むグラフg3を共起関係情報として生成する。
 このように、コンテキストが異なるアクティビティがユニークに識別されて共起関係情報が生成されることにより、ユーザの状態がより詳細に反映されたアクティビティ履歴特徴量を生成できる。
 再び図1を参照して、推定部15は、生成部13により生成されたアクティビティ履歴特徴量を状況推定モデルに入力して、端末または該端末のユーザに関する状態を推定する。具体的には、推定部15は、アクティビティ履歴特徴量記憶部30に記憶されたアクティビティ履歴特徴量を状況推定モデルに入力して、モデルからの出力を、端末または該端末のユーザに関する状態を示す情報として取得する。
 状況推定モデルは、アクティビティ履歴特徴量を入力特徴量とし、端末または該端末のユーザに関する状態を識別する識別情報を教師ラベルとする学習データに基づく機械学習により構築されたニューラルネットワークを含むモデルである。
 学習済みのニューラルネットワークを含むモデルである状況推定モデルは、コンピュータにより読み込まれ又は参照され、コンピュータに所定の処理を実行させ及びコンピュータに所定の機能を実現させるプログラムとして捉えることができる。
 即ち、本実施形態の学習済みの状況推定モデルは、CPU及びメモリを備えるコンピュータにおいて用いられる。具体的には、コンピュータのCPUが、メモリに記憶された学習済みの状況推定モデルからの指令に従って、ニューラルネットワークの入力層に入力された入力データ(アクティビティ履歴特徴量)に対し、各層に対応する学習済みの重み付け係数と応答関数等に基づく演算を行い、出力層から結果(各状況ラベルの尤度)を出力するよう動作する。
 状況推定モデルに含まれるニューラルネットワークは、例えば、フィードフォワードニューラルネットワーク、畳み込みニューラルネットワーク等であってもよく、用いられるニューラルネットワークの種類は限定されない。
 状態推定システム1は、特徴抽出装置10により生成及び出力されたアクティビティ履歴特徴量、及び、あらかじめ設定された教師ラベルからなる教師データに基づいて機械学習を実施して、状況推定モデルを構築してもよい。
 状態出力部16は、推定部15により推定された、端末または該端末のユーザに関する状態を示す状態情報を出力する。具体的には、状態出力部16は、状態情報を、所定の記憶手段に記憶させたり、所定の表示装置に表示させたりする。
 図13は、特徴抽出装置10における特徴抽出方法の処理内容を示すフローチャートである。
 ステップS1において、取得部11は、アクティビティの所定期間の実行履歴を示すアクティビティ履歴情報を取得する。続いて、ステップS2において、抽出部12は、アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する。本実施形態では、抽出部12は、アクティビティをノードとして、アクティビティ間の共起関係をアクティビティのノード間をつなぐエッジとして表したグラフを共起関係情報として生成する。
 ステップS3において、生成部13は、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する。本実施形態では、アクティビティをノードとするグラフによりアクティビティ履歴情報が表されるので、生成部13は、グラフにより表現された共起関係情報に基づいて、各ノードに関連付けられたアクティビティ特徴量を集約する。
 ステップS4において、出力部14は、生成部13により生成されたアクティビティ履歴特徴量を、状態推定モデルに入力される特徴量として出力する。
 図14は、状態推定システム1における状況推定方法の処理内容を示すフローチャートである。ステップS11において、推定部15は、アクティビティ履歴特徴量記憶部30に記憶されたアクティビティ履歴特徴量を取得する。
 ステップS12において、推定部15は、アクティビティ履歴特徴量を状況推定モデルに入力する。
 ステップS13において、推定部15は、状況推定モデルからの出力を、端末または該端末のユーザに関する状態を示す状態情報として取得する。
 ステップS14において、状態出力部16は、ステップS13において取得された状態情報を出力する。具体的には、状態出力部16は、状態情報を、所定の記憶手段に記憶させたり、所定の表示装置に表示させたりする。
 次に、コンピュータを、本実施形態の特徴抽出装置10として機能させるための特徴抽出プログラム及び状態推定システム1として機能させるための状態推定プログラムについて説明する。図15は、特徴抽出プログラム及び状態推定プログラムの構成を示す図である。
 特徴抽出プログラムP1は、特徴抽出装置10における特徴抽出処理を統括的に制御するメインモジュールm10、取得モジュールm11、抽出モジュールm12、生成モジュールm13及び出力モジュールm14を備えて構成される。そして、各モジュールm11~m14により、取得部11、抽出部12、生成部13及び出力部14のための各機能が実現される。
 また、状態推定プログラムP2は、コンピュータを特徴抽出装置10として機能させるためのモジュールに加えて、推定モジュールm15及び状態出力モジュールm16を備えて構成される。推定モジュールm15及び状態出力モジュールm16により、推定部15及び状態出力部16のための各機能が構成される。
 なお、特徴抽出プログラムP1及び状態推定プログラムP2は、通信回線等の伝送媒体を介して伝送される態様であってもよいし、図15に示されるように、記録媒体M1に記憶される態様であってもよい。
 以上説明した本実施形態の特徴抽出装置10、特徴抽出方法及び特徴抽出プログラムP1では、アクティビティ履歴情報に基づいて所定期間に実行されたアクティビティの共起関係を示す共起関係情報が抽出される。アクティビティは、ユーザの端末において実行されたものであるので、共起関係情報には、端末または端末のユーザの状態が反映されている。そして、アクティビティ履歴情報に含まれるアクティビティのアクティビティ特徴量が、共起関係情報に基づいて集約されることにより、ユーザの状態が的確に反映され且つユーザの状態が密に表現されたアクティビティ履歴特徴量を生成できる。従って、このように生成されたアクティビティ履歴特徴量を状態推定モデルに入力する特徴量とすることにより、ユーザの状態の推定精度が向上する。
 また、別の形態に係る特徴抽出装置では、共起関係情報は、所定期間内に実行された複数のアクティビティを互いに関連付ける関連情報を含むこととしてもよい。
 上記形態によれば、実行された時が時間的に近いアクティビティが関連付けられて、共起関係情報とされる。従って、アクティビティの実行の傾向が共起関係情報に適切に反映される。
 また、別の形態に係る特徴抽出装置では、共起関係情報は、所定期間内に続けて実行されたアクティビティの遷移関係を表す遷移情報を含むこととしてもよい。
 上記形態によれば、続けて実行された2つのアクティビティが遷移情報として関連付けられて、共起関係情報に含まれることとなる。従って、アクティビティの実行の遷移関係が共起関係情報に適切に反映される。
 また、別の形態に係る特徴抽出装置では、アクティビティ履歴情報に含まれる各アクティビティログは、当該アクティビティの実行状況を示すイベントフラグを含み、抽出部は、所定のイベントフラグが関連付けられたアクティビティログに基づいて共起関係情報を抽出することとしてもよい。
 上記形態によれば、ユーザの状態が好適に反映されたアクティビティログのみを共起関係の抽出に用いることができる。
 また、別の形態に係る特徴抽出装置では、生成部は、一のアクティビティのアクティビティ特徴量と、当該一のアクティビティと共起関係を有する1以上のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により集約した特徴量を、一のアクティビティの畳み込み特徴量として生成し、アクティビティ履歴情報に含まれる全アクティビティの畳み込み特徴量を所定の集約方法により集約した特徴量を、アクティビティ履歴特徴量として生成することとしてもよい。
 上記形態によれば、一のアクティビティと共起関係を有するアクティビティの特徴が反映された畳み込み特徴量が各アクティビティに対して生成され、全アクティビティの畳み込み特徴量が集約されてアクティビティ履歴特徴量が生成される。これにより、端末または端末のユーザの状態が密に表された特徴量を得ることができる。
 また、別の形態に係る特徴抽出装置では、生成部は、共起関係情報に基づいて第1層から第k層(kは1以上の所定の整数)までの所定の層数の階層的なアクティビティ特徴量の畳み込みを実施し、共起関係情報により共起関係が示される複数のアクティビティのうちの各アクティビティを第n層(nは0以上の整数)の第1のアクティビティとしたときに、第1のアクティビティと共起関係を有する1以上のアクティビティを第2のアクティビティとし、第1層の畳み込みにおいて、第0層の第1のアクティビティのアクティビティ特徴量と、当該第1のアクティビティと共起関係を有する1以上の第2のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により畳み込み、第1層の第1のアクティビティの畳み込み特徴量を生成し、第m層(mは2以上の整数)の畳み込みにおいて、第(m-1)層の第1のアクティビティのアクティビティ特徴量と、当該第1のアクティビティと共起関係を有する1以上の第2のアクティビティの畳み込み特徴量とを所定の畳み込み方法により畳み込み、第m層における第1のアクティビティの畳み込み特徴量を生成し、第k層の畳み込みにおける第k層の第1のアクティビティの畳み込み特徴量を、k層の畳み込みに基づく一のアクティビティの畳み込み特徴量として生成し、アクティビティ履歴情報に含まれる全アクティビティのk層の畳み込みに基づく畳み込み特徴量を所定の集約方法により集約した特徴量を、アクティビティ履歴特徴量として生成することとしてもよい。
 上記形態によれば、畳み込みの層数を適切に設定することにより、一つのアクティビティ畳み込み特徴量に畳み込む共起関係を有する他のアクティビティの範囲を調整できる。これにより、アクティビティの共起関係を適切な程度に反映した畳み込み特徴量を生成できる。
 また、別の形態に係る特徴抽出装置では、生成部は、第1のアクティビティと共起関係を有する1以上の第2のアクティビティのアクティビティ特徴量を所定の集約方法により集約して、共起アクティビティ集約特徴量を生成し、共起アクティビティ集約特徴量と、第1のアクティビティのアクティビティ特徴量とを結合して、第1のアクティビティの畳み込み特徴量を生成することとしてもよい。
 上記形態によれば、第1のアクティビティと共起関係を有する第2のアクティビティのアクティビティ特徴量が集約された共起アクティビティ集約特徴量が生成され、共起アクティビティ集約特徴量と第1のアクティビティのアクティビティ特徴量が結合されて畳み込み特徴量が生成されるので、第1のアクティビティのアクティビティ特徴量を主としながら、第2のアクティビティのアクティビティ特徴量が適切に反映された畳み込み特徴量を得ることができる。
 また、別の形態に係る特徴抽出装置では、生成部は、1以上の第2のアクティビティのアクティビティ特徴量の平均若しくは総和の算出又は最大値の取得により集約して、共起アクティビティ集約特徴量を生成することとしてもよい。
 上記形態によれば、第2のアクティビティのアクティビティ特徴量を適切に共起アクティビティ集約特徴量に適切に反映させることができる。
 また、別の形態に係る特徴抽出装置では、生成部は、アクティビティ履歴情報における第1のアクティビティと第2のアクティビティとの共起関係の出現頻度に基づいて各共起関係に重み付けをし、各第2のアクティビティのアクティビティ特徴量に重み付けを加えて、第1のアクティビティの畳み込み特徴量を生成することとしてもよい。
 上記形態によれば、各第2のアクティビティの第1のアクティビティとの共起関係の強さを畳み込み特徴量に反映させることができる。
 また、別の形態に係る特徴抽出装置では、生成部は、アクティビティ履歴情報における第1のアクティビティと第2のアクティビティとの共起関係の出現頻度に基づいて各共起関係に重み付けをし、1以上の第2のアクティビティから重み付けに基づいて抽出された1以上の第2のアクティビティのアクティビティ特徴量に基づいて、第1のアクティビティの畳み込み特徴量を生成することとしてもよい。
 上記形態によれば、偶発的に共起したような共起関係が弱い第2のアクティビティの特徴が畳み込み特徴量に反映されないようにすることができる。
 また、別の形態に係る特徴抽出装置では、生成部は、アクティビティ履歴情報に含まれる全アクティビティの畳み込み特徴量の総和を算出して、アクティビティ履歴特徴量を生成することとしてもよい。
 上記形態によれば、アクティビティ履歴情報に含まれる全アクティビティの特徴を適切にアクティビティ履歴特徴量に適切に反映させることができる。
 また、別の形態に係る特徴抽出装置では、アクティビティログは、時刻及び位置情報のうちの少なくとも一つのコンテキストを含み、抽出部は、アクティビティが同一でありコンテキストが異なるアクティビティログをユニークに識別して、共起関係情報を抽出することとしてもよい。
 上記形態によれば、コンテキストが異なるアクティビティがユニークに識別されるので、ユーザの状態がより詳細に反映されたアクティビティ履歴特徴量を生成できる。
 また、本発明の一形態に係る状態推定システムでは、アクティビティが実行された端末または該端末のユーザに関する状態を推定する状態推定システムであって、アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、各アクティビティの特徴を示すアクティビティ特徴量を共起関係情報に基づいて集約して、アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、アクティビティ履歴特徴量を入力特徴量とし、端末または該端末のユーザに関する状態を識別する識別情報を教師ラベルとする学習データに基づく機械学習により構築されたニューラルネットワークを含む状況推定モデルに、生成部により生成されたアクティビティ履歴特徴量を入力して、端末または該端末のユーザに関する状態を推定する推定部と、推定部により推定された、端末または該端末のユーザに関する状態を示す状態情報を出力する状態出力部と、を備える。
 上記形態によれば、ユーザの端末において実行されたアクティビティに実行履歴を示すアクティビティ履歴情報に基づいて所定期間に実行されたアクティビティの共起関係を示し、端末または端末のユーザの状態が反映された共起関係情報が抽出される。そして、アクティビティ履歴情報に含まれるアクティビティのアクティビティ特徴量が、共起関係情報に基づいて集約されることにより、ユーザの状態が的確に反映され且つユーザの状態が密に表現されたアクティビティ履歴特徴量を生成できる。このように生成されたアクティビティ履歴特徴量を状態推定モデルに入力することにより、精度よくユーザの状態を推定できる。
 以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
 本明細書で説明した各態様/実施形態は、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…生成部、14…出力部、15…推定部、16…状態出力部、20…アクティビティ履歴情報記憶部、30…アクティビティ履歴特徴量記憶部、M1…記録媒体、m10…メインモジュール、m11…取得モジュール、m12…抽出モジュール、m13…生成モジュール、m14…出力モジュール、m15…推定モジュール、m16…状態出力モジュール、P1…特徴抽出プログラム、P2…状態推定プログラム。

Claims (10)

  1.  アクティビティの実行履歴に関する特徴を示す特徴量であって、前記アクティビティが実行された端末または該端末のユーザに関する状態を推定する状態推定モデルに入力される特徴量を、前記実行履歴に基づいて抽出する特徴抽出装置であって、
     前記アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、
     前記アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、
     各アクティビティの特徴を示すアクティビティ特徴量を前記共起関係情報に基づいて集約して、前記アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、
     前記アクティビティ履歴特徴量を、前記状態推定モデルに入力される特徴量として出力する出力部と、
     を備える特徴抽出装置。
  2.  前記共起関係情報は、所定期間内に実行された複数のアクティビティを互いに関連付ける関連情報を含む、
     請求項1に記載の特徴抽出装置。
  3.  前記アクティビティ履歴情報に含まれる各アクティビティログは、当該アクティビティの実行状況を示すイベントフラグを含み、
     前記抽出部は、所定の前記イベントフラグが関連付けられたアクティビティログに基づいて前記共起関係情報を抽出する、
     請求項1または2に記載の特徴抽出装置。
  4.  前記生成部は、一のアクティビティの前記アクティビティ特徴量と、当該一のアクティビティと前記共起関係を有する1以上のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により集約した特徴量を、前記一のアクティビティの畳み込み特徴量として生成し、前記アクティビティ履歴情報に含まれる全アクティビティの前記畳み込み特徴量を所定の集約方法により集約した特徴量を、前記アクティビティ履歴特徴量として生成する、
     請求項1~3のいずれか一項に記載の特徴抽出装置。
  5.  前記生成部は、
     前記共起関係情報に基づいて第1層から第k層(kは1以上の所定の整数)までの所定の層数の階層的なアクティビティ特徴量の畳み込みを実施し、
     前記共起関係情報により共起関係が示される複数のアクティビティのうちの各アクティビティを第n層(nは0以上の整数)の第1のアクティビティとしたときに、前記第1のアクティビティと共起関係を有する1以上のアクティビティを第2のアクティビティとし、
     前記第1層の畳み込みにおいて、第0層の前記第1のアクティビティのアクティビティ特徴量と、当該第1のアクティビティと前記共起関係を有する1以上の前記第2のアクティビティのアクティビティ特徴量とを所定の畳み込み方法により畳み込み、第1層の前記第1のアクティビティの前記畳み込み特徴量を生成し、
     第m層(mは2以上の整数)の畳み込みにおいて、第(m-1)層の前記第1のアクティビティのアクティビティ特徴量と、当該第1のアクティビティと共起関係を有する1以上の前記第2のアクティビティの前記畳み込み特徴量とを所定の畳み込み方法により畳み込み、前記第m層における前記第1のアクティビティの前記畳み込み特徴量を生成し、
     第k層の畳み込みにおける前記第k層の前記第1のアクティビティの畳み込み特徴量を、k層の畳み込みに基づく前記一のアクティビティの前記畳み込み特徴量として生成し、
     前記アクティビティ履歴情報に含まれる全アクティビティの前記k層の畳み込みに基づく前記畳み込み特徴量を所定の集約方法により集約した特徴量を、前記アクティビティ履歴特徴量として生成する、
     請求項4に記載の特徴抽出装置。
  6.  前記生成部は、
     前記第1のアクティビティと前記共起関係を有する1以上の前記第2のアクティビティのアクティビティ特徴量を所定の集約方法により集約して、共起アクティビティ集約特徴量を生成し、
     前記共起アクティビティ集約特徴量と、前記第1のアクティビティのアクティビティ特徴量とを結合して、前記第1のアクティビティの前記畳み込み特徴量を生成する、
     請求項5に記載の特徴抽出装置。
  7.  前記生成部は、
     前記アクティビティ履歴情報における前記第1のアクティビティと前記第2のアクティビティとの前記共起関係の出現頻度に基づいて各共起関係に重み付けをし、各第2のアクティビティのアクティビティ特徴量に前記重み付けを加えて、前記第1のアクティビティの前記畳み込み特徴量を生成する、
     請求項5または6に記載の特徴抽出装置。
  8.  前記生成部は、
     前記アクティビティ履歴情報における前記第1のアクティビティと前記第2のアクティビティとの前記共起関係の出現頻度に基づいて各共起関係に重み付けをし、前記1以上の第2のアクティビティから前記重み付けに基づいて抽出された1以上の前記第2のアクティビティのアクティビティ特徴量に基づいて、前記第1のアクティビティの前記畳み込み特徴量を生成する、
     請求項5または6に記載の特徴抽出装置。
  9.  前記アクティビティログは、時刻及び位置情報のうちの少なくとも一つのコンテキストを含み、
     前記抽出部は、アクティビティが同一であり前記コンテキストが異なるアクティビティログをユニークに識別して、前記共起関係情報を抽出する、
     請求項1~8のいずれか一項に記載の特徴抽出装置。
  10.  アクティビティが実行された端末または該端末のユーザに関する状態を推定する状態推定システムであって、
     前記アクティビティの所定期間の実行履歴を示し時系列のアクティビティログを含むアクティビティ履歴情報を取得する取得部と、
     前記アクティビティ履歴情報に基づいて、所定期間内のアクティビティの共起関係を示す共起関係情報を抽出する抽出部と、
     各アクティビティの特徴を示すアクティビティ特徴量を前記共起関係情報に基づいて集約して、前記アクティビティ履歴情報の特徴を示すアクティビティ履歴特徴量を生成する生成部と、
     前記アクティビティ履歴特徴量を入力特徴量とし、前記端末または該端末のユーザに関する状態を識別する識別情報を教師ラベルとする学習データに基づく機械学習により構築されたニューラルネットワークを含む状況推定モデルに、前記生成部により生成された前記アクティビティ履歴特徴量を入力して、端末または該端末のユーザに関する状態を推定する推定部と、
     前記推定部により推定された、端末または該端末のユーザに関する状態を示す状態情報を出力する状態出力部と、
     を備える状態推定システム。
     
PCT/JP2020/018349 2019-05-13 2020-04-30 特徴抽出装置及び状態推定システム WO2020230658A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021519376A JPWO2020230658A1 (ja) 2019-05-13 2020-04-30
US17/609,879 US11778061B2 (en) 2019-05-13 2020-04-30 Feature extraction device and state estimation system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019090579 2019-05-13
JP2019-090579 2019-05-13

Publications (1)

Publication Number Publication Date
WO2020230658A1 true WO2020230658A1 (ja) 2020-11-19

Family

ID=73289071

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/018349 WO2020230658A1 (ja) 2019-05-13 2020-04-30 特徴抽出装置及び状態推定システム

Country Status (3)

Country Link
US (1) US11778061B2 (ja)
JP (1) JPWO2020230658A1 (ja)
WO (1) WO2020230658A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022210958A1 (ja) * 2021-04-02 2022-10-06 株式会社日立製作所 複数のサブシステムを含む実行システムを制御するためのシステム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11544672B2 (en) 2020-05-15 2023-01-03 Microsoft Technology Licensing, Llc Instant content notification with user similarity
US11488039B2 (en) * 2020-05-15 2022-11-01 Microsoft Technology Licensing, Llc Unified intent understanding for deep personalization
JPWO2022009877A1 (ja) * 2020-07-07 2022-01-13

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011198292A (ja) * 2010-03-23 2011-10-06 Nippon Telegr & Teleph Corp <Ntt> 行動予測のためのモデル化装置、方法及びプログラムと、そのモデル化情報を使用した予測装置、方法及びプログラム
JP2012003494A (ja) * 2010-06-16 2012-01-05 Sony Corp 情報処理装置、情報処理方法及びプログラム
JP2012133520A (ja) * 2010-12-21 2012-07-12 Nippon Telegr & Teleph Corp <Ntt> 確率的情報検索処理装置、確率的情報検索処理方法および確率的情報検索処理プログラム
JP2013206139A (ja) * 2012-03-28 2013-10-07 Casio Comput Co Ltd 情報処理装置、情報処理方法及びプログラム。
JP2016508262A (ja) * 2012-12-20 2016-03-17 フェイスブック,インク. コンテキスト上のユーザ状態および継続時間の推測

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012008771A (ja) * 2010-06-24 2012-01-12 Sony Corp 情報処理装置、情報処理システム、情報処理方法およびプログラム
US20150112891A1 (en) * 2012-06-13 2015-04-23 Sony Corporation Information processor, information processing method, and program
US20160034822A1 (en) * 2014-07-31 2016-02-04 The Charles Stark Draper Laboratory, Inc. Method for inferring standardized human-computer interface usage strategies from software instrumentation and dynamic probabilistic modeling
WO2016101996A1 (en) * 2014-12-23 2016-06-30 Telefonaktiebolaget Lm Ericsson (Publ) Allocating cloud computing resources in a cloud computing environment
US10268755B2 (en) * 2015-04-30 2019-04-23 Splunk Inc. Systems and methods for providing dynamic indexer discovery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011198292A (ja) * 2010-03-23 2011-10-06 Nippon Telegr & Teleph Corp <Ntt> 行動予測のためのモデル化装置、方法及びプログラムと、そのモデル化情報を使用した予測装置、方法及びプログラム
JP2012003494A (ja) * 2010-06-16 2012-01-05 Sony Corp 情報処理装置、情報処理方法及びプログラム
JP2012133520A (ja) * 2010-12-21 2012-07-12 Nippon Telegr & Teleph Corp <Ntt> 確率的情報検索処理装置、確率的情報検索処理方法および確率的情報検索処理プログラム
JP2013206139A (ja) * 2012-03-28 2013-10-07 Casio Comput Co Ltd 情報処理装置、情報処理方法及びプログラム。
JP2016508262A (ja) * 2012-12-20 2016-03-17 フェイスブック,インク. コンテキスト上のユーザ状態および継続時間の推測

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022210958A1 (ja) * 2021-04-02 2022-10-06 株式会社日立製作所 複数のサブシステムを含む実行システムを制御するためのシステム

Also Published As

Publication number Publication date
JPWO2020230658A1 (ja) 2020-11-19
US20220217214A1 (en) 2022-07-07
US11778061B2 (en) 2023-10-03

Similar Documents

Publication Publication Date Title
WO2020230658A1 (ja) 特徴抽出装置及び状態推定システム
CN111667054B (zh) 生成神经网络模型的方法、装置、电子设备以及存储介质
CN111539514B (zh) 用于生成神经网络的结构的方法和装置
EP3853779A1 (en) Probabilistic neural network architecture generation
US20120101974A1 (en) Predicting Outcomes of a Content Driven Process Instance Execution
US20230252274A1 (en) Method of providing neural network model and electronic apparatus for performing the same
CN110674397B (zh) 年龄点预测模型的训练方法及装置、设备与可读介质
CN117616431A (zh) 针对大规模数据的可解释的机器学习
US20230032208A1 (en) Augmenting data sets for machine learning models
CN111930891B (zh) 基于知识图谱的检索文本扩展方法及相关装置
CN107463486B (zh) 系统性能分析方法、装置及服务器
JP2020008836A (ja) 語彙テーブルの選択方法、装置およびコンピュータ読み取り可能な記憶媒体
US20220301004A1 (en) Click rate prediction model construction device
US20230297828A1 (en) Scoring model learning device, scoring model, and determination device
CN110377741B (zh) 文本分类方法、智能终端及计算机可读存储介质
CN116862580A (zh) 短信触达时间预测方法、装置、计算机设备及存储介质
CN111858366A (zh) 一种测试用例生成方法、装置、设备及存储介质
JP7173234B2 (ja) 情報処理に用いられる方法、装置、デバイス及び記憶媒体
WO2020213425A1 (ja) 状況推定装置、状況推定プログラム、推定モデル及び状況推定方法
CN109815474B (zh) 一种词序列向量确定方法、装置、服务器及存储介质
JP7443355B2 (ja) 需要予測装置
CN115049003A (zh) 一种预训练模型微调方法、装置、设备和存储介质
CN111461344B (zh) 高阶特征的自动生成方法、系统、设备和介质
WO2021215262A1 (ja) 句点削除モデル学習装置、句点削除モデル及び判定装置
US11676050B2 (en) Systems and methods for neighbor frequency aggregation of parametric probability distributions with decision trees using leaf nodes

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: 20805830

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021519376

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: 20805830

Country of ref document: EP

Kind code of ref document: A1