WO2015178066A1 - 情報処理装置および情報処理方法 - Google Patents
情報処理装置および情報処理方法 Download PDFInfo
- Publication number
- WO2015178066A1 WO2015178066A1 PCT/JP2015/056211 JP2015056211W WO2015178066A1 WO 2015178066 A1 WO2015178066 A1 WO 2015178066A1 JP 2015056211 W JP2015056211 W JP 2015056211W WO 2015178066 A1 WO2015178066 A1 WO 2015178066A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- action
- information
- unit
- recognition result
- user
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
Definitions
- This disclosure relates to an information processing apparatus and an information processing method.
- a technology for recognizing a user's operation behavior from sensor information acquired using various sensing technologies has been proposed.
- the recognized user action is automatically recorded as an action log.
- this action log for example, it can be reproduced by various methods, such as reproducing it by animation such as an avatar, showing the movement trajectory of the user on a map, and expressing various motion actions using abstracted indicators. Can do.
- Patent Document 1 proposes a method of generating an action log using a recording device with a small sensor such as a smartphone and presenting it to a user.
- the behavioral behavior data indicating the behavioral behavior of the user is analyzed based on the sensor information, and behavioral segments expressed by the semantic content of the behavioral behavior are generated from the behavioral behavior data.
- information can be presented to the user in an easy-to-understand manner.
- the present disclosure proposes a new and improved information processing apparatus and information processing method capable of correcting the action recognition result obtained by the action recognition process according to the correction information input from the user. .
- an action recognition unit that recognizes a user's action based on sensor information, and a correction unit that corrects the action recognition result to reflect the user's action according to correction information for the user's action
- An information processing apparatus is provided.
- An information processing method is provided.
- the behavior recognition result obtained by the behavior recognition process is corrected according to the correction information input from the user, so that the accuracy of the behavior recognition result presented to the user is increased.
- the action recognition result obtained by the action recognition process can be corrected according to the correction information input from the user.
- the above effects are not necessarily limited, and any of the effects shown in the present specification, or other effects that can be grasped from the present specification, together with or in place of the above effects. May be played.
- FIG. 12 is an explanatory diagram illustrating a state in which the position information of point D in FIG. 11 is excluded and the position information of point E is matched with the position information of point C by stay filter processing. It is explanatory drawing explaining a concentric-circle filter process. It is explanatory drawing which shows the state from which the positional information on the C point of FIG. 13 was excluded by the concentric filter process. It is explanatory drawing which shows the locus
- FIG. 2 is a hardware configuration diagram illustrating a hardware configuration of a client terminal according to the embodiment.
- FIG. It is a block diagram which shows an example of the information processing terminal provided with the function of an action log display system.
- FIG. 1 is explanatory drawing which shows schematic structure of the action log display system which concerns on this embodiment.
- FIG. 2 is an explanatory diagram illustrating a display example of an action log.
- the behavior log display system is a system that analyzes a user's behavior by behavior recognition processing based on information related to the user's behavior and presents it to the user.
- the behavior log system according to the present embodiment includes a client terminal 100, a log server 200, and an analysis server 300 that are communicably connected via a network.
- the client terminal 100 acquires information related to the user's behavior and presents the behavior log acquired by the behavior recognition to the user.
- the client terminal 100 is an information communication terminal such as a smartphone.
- the client terminal 100 includes information acquisition functions such as an acceleration sensor, a GPS, an imaging device, and a gyro sensor, for example, in order to collect information related to user behavior.
- the client terminal 100 includes a display unit for presenting an action log to the user and an input unit for inputting correction information for correcting the action log.
- the client terminal 100 may be constructed by a plurality of different terminals such as a log collection terminal that collects information related to the user's action and a browsing terminal that presents the action log to the user.
- a log collection terminal a wearable device such as a pendant type or a wristband type can be used in addition to the information communication terminal such as the smartphone described above.
- a browsing terminal a personal computer, a tablet terminal, etc. other than information communication terminals like the smart phone mentioned above can be used.
- the client terminal 100 transmits measurement data acquired by various centers as sensor information to the log server 200 at a predetermined timing.
- the sensor information used for recognizing each user's action is accumulated in the log server 200.
- the analysis server 300 calculates an action log representing the content of the user's action by action recognition processing based on the sensor information stored in the log server 200.
- the action log is a record of actions such as “meal”, “movement”, and “sleep” together with action time, position information, and the like.
- the behavior log display system according to the present embodiment further analyzes the behavior log representing the operation content by the analysis server 300 to recognize the meaning of the behavior, and generates information (behavior segment) to which the meaning of the behavior is added.
- the action segment is unit information in which the action log is expressed in an easy-to-understand manner for the user.
- the behavior log can be presented so that the meaning of the behavior can be understood rather than simply presenting the behavior log to the user by the behavior segment.
- FIG. 2 shows an example of the action log display screen 400 displayed on the display unit of the client terminal 100.
- the action log display screen 400 displays, for example, an action display area 410 in which an action recognition result object 414 representing the contents of an action recognition result is displayed, and an outline of actions in a predetermined period (for example, one day).
- the summary area 420 is shown.
- the action display area 410 has a time axis 412 set in the horizontal direction of the screen, and the action recognition result object 414 is displayed so as to correspond to the time position on the time axis 412 where the action is performed.
- the action recognition result object 414 indicates that the user has walked past 20:30.
- the time position displayed in the action display area 410 is changed.
- the display of the action recognition result object 414 displayed in the action display area 410 is also changed to the action recognition result at the time position.
- the display of the action recognition result object 414 is switched for each action segment.
- the action segment is represented by action start time, end time, and action content. For example, “walking”, “running”, “moving by bicycle”, “moving by train”, “moving by bus”, “moving by car”, “moving by other vehicles”, “stay” Etc.
- each action time such as “walking”, “running”, “moving by bicycle”, “moving by car”, “sleep”, etc., the number of steps, calories consumed by the action, photos, bookmarks, etc.
- the number of data is displayed.
- the action log display system determines whether the content of the action log presented to the user is incorrect, or there is a case where it is desired to present more detailed action content than the presented action content. Therefore, in the action log display system according to the present embodiment, determination processing is performed to make the content of the action log presented to the user more correct, and the action log is corrected by the user, and the subsequent action Reflect in the recognition process. Thereby, an action log can be shown to a user with the right contents according to a user's intention.
- the configuration and function of the action log display system according to the present embodiment will be described in detail.
- FIG. 3 shows a functional configuration of the action log display system according to the present embodiment.
- the action log display system includes the client terminal 100, the log server 200, and the analysis server 300.
- the client terminal 100 includes a sensor unit 110, a control unit 120, a communication unit 130, an input unit 140, a display processing unit 150, and a display unit 160.
- the sensor unit 110 is a detection unit that acquires movement information related to user behavior such as the position and movement of the user.
- Examples of the sensor unit 110 include an acceleration sensor, a gyro sensor, an imager, and other sensors. Measurement data such as acceleration, angular velocity, imaging data, audio data, and biological information is acquired. Measurement data acquired by the sensor unit 110 is output to the control unit 120 and transmitted to the log server 200 via the communication unit 130.
- the control unit 120 is a functional unit that controls the overall functions of the client terminal 100. For example, the control unit 120 transmits the measurement data acquired by the sensor unit 110 to the communication unit 130 in association with user information including a user ID that identifies the user. Further, the control unit 120 receives the operation input from the user, and controls the client terminal 100 to execute a function corresponding to the content of the operation input. Furthermore, when acquiring display information such as an action log, the control unit 120 controls the client terminal 100 to display on the display unit 160.
- the communication unit 130 is a functional unit that transmits and receives information to and from a server connected via a network.
- the communication unit 130 of the client terminal 100 transmits the sensor information acquired by the sensor unit 110 to the log server 200.
- the communication unit 130 receives an action log provided from the analysis server 300 based on the action log acquisition information, and outputs the action log to the control unit 120.
- the input unit 140 is an operation unit for a user to input information.
- a touch panel, a keyboard, a button, or the like can be used.
- the user uses the input unit 140 to start an application that displays an action log, to perform an action log display operation, to input action log correction information, and the like.
- the display processing unit 150 displays the action log provided from the analysis server 300 on the display unit 160.
- the display processing unit 150 represents the behavior log using a behavior recognition result object 414 and causes the display unit 160 to display the behavior log.
- the display processing unit 150 also changes the display content of the display unit 160 in accordance with the input information from the input unit 140.
- the display unit 160 is provided to display information, and for example, a liquid crystal display, an organic EL display, or the like can be used.
- the display unit 160 displays a UI or the like that has been subjected to display processing by the display processing unit 150.
- the log server 200 includes a communication unit 210, a control unit 220, and a log DB 230.
- the communication unit 210 is a functional unit that transmits and receives information to and from terminals and servers connected via a network.
- the communication unit 210 of the log server 200 outputs the sensor information received from the client terminal 100 to the control unit 220.
- the communication unit 210 receives an information presentation request from the analysis server 300 and transmits the sensor information acquired by the control unit 220 to the analysis server 300.
- the control unit 220 is a functional unit that controls the overall functions of the log server 200. For example, the control unit 220 records the sensor information received from the client terminal 100 in the log DB 230 for each user. The control unit 220 acquires sensor information based on a request from the analysis server 300 and transmits the sensor information to the analysis server 300 via the communication unit 210.
- the log DB 230 is a storage unit that stores sensor information acquired as information related to user behavior.
- the log DB 230 stores sensor information for each user.
- the analysis server 300 includes a communication unit 310, a control unit 320, an action recognition unit 330, a correction unit 340, an action log DB 350, and an analysis DB 360.
- the communication unit 310 is a functional unit that transmits and receives information to and from terminals and servers connected via a network.
- the communication unit 310 of the analysis server 300 acquires sensor information from the log server 200 and outputs the sensor information to the control unit 320.
- the communication unit 310 receives the action log presentation request received from the client terminal 100 and transmits the corresponding user action log to the client terminal 100.
- the control unit 320 is a functional unit that controls the overall functions of the analysis server 300. For example, the control unit 320 outputs the sensor information acquired from the log server 200 to the behavior recognition unit 330. Further, the control unit 320 receives an action log presentation request from the client terminal 100, acquires a corresponding action log from the action log DB 350, and transmits the action log to the client terminal 100 via the communication unit 310. Further, the control unit 320 outputs the correction information of the action log received from the client terminal 100 to the correction unit 340.
- the behavior recognition unit 330 performs behavior recognition processing based on the sensor information received from the log server 200, and analyzes the user behavior.
- the behavior recognition unit 330 records the behavior recognition result in the behavior log DB 350 as a behavior log.
- the correction unit 340 corrects the action recognition result acquired by the action recognition process by the action recognition unit 330 based on the correction information of the action log received from the client terminal 100. Details of the correction unit 340 will be described later.
- the behavior log DB 350 stores the behavior recognition result analyzed by the behavior recognition unit 330 as a behavior log.
- the action log stored in the action log DB 350 is provided to the client terminal 100 in response to a request from the client terminal 100 in response to an action log presentation request.
- the analysis DB 360 is a storage unit that stores various types of information used in processing performed in the action recognition unit 330 and the correction unit 340.
- the analysis DB 360 stores, for example, threshold information used for the vehicle determination process in the action recognition process performed by the action recognition unit 330 and various types of information used for the correction process performed by the correction unit 340.
- Various information stored in the analysis DB 360 is set in advance, but can be changed as appropriate.
- FIG. 4 is a timing chart showing an outline of the action log display process according to the present embodiment.
- the action log display process according to the present embodiment includes processes related to sensor information acquisition (S10, S20), action recognition process (S30), action log presentation process (S40 to S60), action log correction process by a user (S70), And a personalized learning process (S80) based on the correction information.
- sensor information is acquired as information regarding the user's action.
- the sensor information is acquired by the sensor unit 110 of the client terminal 100 (S10).
- the client terminal 100 is a terminal that a user who receives the service of the action log display system holds on a daily basis.
- the sensor unit 110 obtains information such as the user's position and movement from time to time, and associates it with time information to obtain sensor information.
- the client terminal 100 has an authentication function, and the acquired sensor information is used as information related to the action of the authenticated user.
- the client terminal 100 transmits the acquired sensor information to the log server 200 at a predetermined timing.
- the sensor information is transmitted at a predetermined time interval, or when the user explicitly instructs the transmission of the sensor information.
- the log server 200 that has received the sensor information associates the user ID of the user with the sensor information and records it in the log DB 230 (S20).
- the analysis server 300 performs behavior recognition processing based on sensor information recorded in the log server 200 at a predetermined timing (S30). For example, the analysis server 300 acquires sensor information from the log server 200 at predetermined time intervals, and analyzes the behavior of each user. In the behavior recognition process, sensor information signal processing, statistical processing, and the like are performed to recognize the user behavior and situation.
- the action recognition process may be performed using a well-known technique such as the technique described in Patent Document 1 above.
- the action recognition unit 330 holds in advance a correspondence relationship between an action model that is information related to a user's action obtained as a result of processing sensor information and an action action.
- the behavior recognition unit 330 obtains the behavior parameter by processing the sensor information
- the behavior recognition unit 330 specifies the behavior content corresponding to the behavior parameter.
- the action recognition unit 330 associates the specified action content with action time, action time, position information, user ID, and the like as an action log and records it in the action log DB 350.
- FIG. 5 is a block diagram illustrating each functional unit that performs a filtering process on position information and performs an action recognition result determination process.
- FIG. 6 is a flowchart showing a filtering process for position information and a process for calculating an average speed of a segment section. 7 to 16 are explanatory diagrams for explaining the contents of the filter processing for the position information.
- FIG. 17 is a flowchart showing the action recognition result determination process based on the speed information calculated from the filtered position information.
- a functional unit that performs a filtering process for position information and a process for determining an action recognition result is provided in the analysis server 300.
- a speed acquisition unit 332 and a vehicle determination unit 334 are provided in the analysis server 300.
- the speed acquisition unit 332 performs a filtering process on the position information and acquires speed information.
- the position information that is filtered by the speed acquisition unit 332 includes time information and longitude / latitude information at the time, and is specified by, for example, GPS, network information, or information acquired by an acceleration sensor.
- the speed acquisition unit 332 calculates the average speed of the segment section after performing filter processing such as a section filter, an accuracy filter, a speed filter, a stay filter, and a concentric filter described later on the position information.
- the vehicle determination unit 334 performs action recognition result determination processing based on the average speed of the segments acquired by the speed acquisition unit 332.
- the vehicle determination unit 334 determines, based on the average speed of the segment, whether or not the moving means is correct among the behavior contents of the segment specified by the behavior recognition unit 330.
- the moving means output by the vehicle determination unit 334 is determined as the final action content.
- the speed acquisition part 332 performs the section filter process which identifies the area of an action segment based on the positional information identified by GPS, network information, and the information acquired by the acceleration sensor (S110).
- the section of the action segment is specified by the start time and end time of the action.
- the speed acquisition unit 332 finally calculates the average speed in the identified section.
- the speed acquisition unit 332 may set the section of the action segment as a section that is longer by a predetermined time than the section specified by the start time and end time of the action. As a result, it is possible to acquire the speed at the start time and end time of the action, and it is possible to detect that the position information is incorrect when the movement start position or end position is detected in error. Can increase the sex.
- the predetermined time for setting the action segment section to be longer may be about several seconds (for example, 3 seconds) before and after the section, but the present technology is not limited to this example. If location information cannot be acquired within ⁇ several seconds due to system reasons, the number of data added before and after can be reduced, but by reducing the number of data, there is a possibility of overlooking errors in the start and end positions. Get higher. On the other hand, increasing the number of data added before and after increases the possibility of detecting the start position and the end position, but increases the number and processing amount of position information that must be stored. In consideration of these, the predetermined time for setting the action segment section to be longer is appropriately set.
- the speed acquisition part 332 performs the accuracy filter process which excludes the positional information in which a position is inaccurate among the positional information contained in the area of an action segment (S111).
- the accuracy filter process is performed based on the accuracy value added to the position information.
- the accuracy value is information attached to the position information output from GPS or the like.
- the accuracy of the position information is determined by the probability that it exists in a circle centered on the position specified by the latitude / longitude information and whose radius is the accuracy value. Is represented.
- the accuracy of the position information is expressed as “the possibility that the radius is in the circle having the accuracy value [m] is 85%”. Therefore, the greater the accuracy value, the more inaccurate the position.
- the accuracy of the position information decreases as the accuracy value increases.
- the accuracy value exceeds a predetermined value the accuracy of the position information tends to be lower than the accuracy of the position information represented by the accuracy value. . Therefore, the speed acquisition unit 332 excludes the position information whose accuracy value exceeds the predetermined value, assuming that the accuracy necessary for speed calculation cannot be obtained.
- the threshold value of the accuracy value that excludes the position information can be appropriately set according to the system, and may be set to 2000 m, for example. If this threshold value is increased, more points can be adopted to cope with a fine change in position, while an erroneous position can be easily picked up. Taking these into consideration, the threshold value of the accuracy value is set.
- the user as shown in FIG. 7, from the point a to point b, consider the behavior segment that has moved along a trajectory L R.
- a trajectory L R As shown in FIG. 8, it is assumed that 10 pieces of position information from point A to point J are included in the action segment section in which the point a is the start position and the point b is the end position.
- a circle Cp inside the points A to J in FIG. 8 represents the points where the position information has been acquired, and the locus L is acquired by interpolating these points with straight lines.
- the circle Ca outside the points A to J represents the accuracy value, and the larger the circle, the more inaccurate the position information at that point.
- the speed acquisition unit 332 excludes the position information of the point B and resets the locus L.
- the speed acquisition unit 332 calculates the speed between two points that are temporally adjacent based on the position information included in the action segment section (S112), A speed filter process is performed on each calculated speed (S113).
- the speed acquisition unit 332 calculates the average speed between adjacent points from the latitude and longitude information of each point included in the action segment section and the time, and uses the average speed as the speed between the two points to determine the position on the end point side of the two points. Link with information. For example, the speed between the points C and D shown on the left side of FIG. 10 is represented by the average speed calculated from the latitude and longitude information of the points C and D and the time, and the speed is linked to the point D on the end point side. It is attached.
- the speed acquisition unit 332 determines whether or not each calculated speed exceeds a predetermined speed that is actually considered suspicious, and excludes position information associated with the speed determined to be suspicious. For example, in FIG. 10, when the speed of the point D exceeds a predetermined speed, the position information of the point D is excluded as suspicious.
- the predetermined speed determined to be suspicious may be set to several hundred km / h (for example, 400 km / h). Here, an airplane etc. may move at 400 km / h or more.
- step S113 Even if all points of 400 km / h or higher in the section of the action segment are excluded in step S113, if the position information before and after is correct in the final speed recalculation (S116), the speed of 400 km / h or higher is used. There is no problem because the possibility of being calculated correctly remains.
- the speed threshold is set in consideration of these.
- the speed acquisition unit 332 excludes the point J from the action segment section as suspicious.
- the speed acquisition part 332 performs the stay filter process which pinpoints and collects the points which remain in the same location for a while from the points included in the action segment (S114).
- the stay filter processing when there are a plurality of points that stay in the same place for a while, it is determined that the user is staying, and these points are aggregated into two points, a temporal start point and an end point.
- the left side of FIG. 12 is position information before stay filter processing included in a certain action segment, and there are four points from point E to point H.
- the speed acquisition unit 332 pays attention to the earliest E point in time, and determines whether or not the stay is based on whether or not the next F point is within a predetermined range from the E point.
- the predetermined range may be, for example, within 50 m from the starting point (here, point E). This range can be changed as appropriate.
- the speed acquisition unit 332 determines whether the next point G is within a predetermined range from the point E that is the starting point. This is repeated, and it is determined that the user is staying until the point E is within a predetermined range of the point E. For example, it is assumed that the point H is away from a predetermined range of the point E. At this time, the speed acquisition unit 332 determines that a three-point section from point E to point G is a stay.
- the speed acquisition unit 332 excludes the F point that is a point other than the start point or the end point among the three points. Further, the speed acquisition unit 332 corrects the position information of the G point as the end point to the same position information as the E point as the start point. As a result, in the stay section, two points of point E and point G having the same position information and different time information remain. By leaving two points at different times, it is possible to obtain time information of the stay section. The reason why the position information of the end point is matched with the position information of the start point is to use the stay section as a concentric circle filter process described later.
- the speed acquisition unit 332 leaves the point C, which is the start point, and the point E, which is the end point, excludes the point D, which is the intermediate point, and obtains position information of the point E, which is the end point. Match the position information of the starting point C.
- the speed acquisition unit 332 determines the positional relationship between three points that are temporally continuous, and performs concentric filter processing to determine whether or not there is an unnatural movement (S115).
- the concentric filter processing for three consecutive points in time, the intermediate point between the start point and the end point is a concentric circle with a diameter that is a straight line connecting the start point and the end point, and the diameter is larger than the reference circle. It is determined whether or not the area is outside the large determination circle. For example, in FIG. 14, it is assumed that there are three points that are continuous in time, point I, point J (J 1 , J 2 ), and point K.
- a determination circle having a diameter d 1 that is concentric with the reference circle and has a larger diameter d 1 is set with respect to a reference circle having a diameter d 0 that is a straight line connecting the start point I and the end point K.
- the diameter d 1 of the test circle may be larger than the diameter d 0, for example, it may be two times the diameter d 0.
- One action segment indicates either one action content or stay. Therefore, it is considered that an intermediate point between three points that are continuous in time hardly exists outside the region of the determination circle. Therefore, the speed acquisition unit 332 excludes the intermediate point when the intermediate point between the start point and the end point is outside the determination region for three points that are temporally continuous. For example, in the example of FIG. 14, the midpoint J 1 point, but is left because of the test circle area, midpoint J 2 points are excluded because they are outside the test circle area.
- the intermediate point C point is a determination circle for points A, C, and F that are three points that are temporally continuous. Suppose that it is determined that it is outside the area. At this time, the speed acquisition unit 332 excludes the point C that is an intermediate point as shown in FIG. Further, the E point collected in the same position information as the C point is also excluded together with the C point.
- the speed acquisition unit 332 calculates the speed between two adjacent points based on the extracted position information, similarly to step S112 (S116). ). Then, the average speed of each speed calculated in step S116 is calculated as the speed in the action segment section (S117).
- the vehicle determination unit 334 determines the action recognition result based on the average speed of the segment acquired by the speed acquisition unit 332. I do. The vehicle determination unit 334 determines, based on the average speed of the segment, whether or not the moving means is correct among the behavior contents of the segment specified by the behavior recognition unit 330.
- the action segment is represented by action contents and the start time and end time of the action, and is acquired by the action recognition unit 330 as an action recognition result.
- the vehicle determination unit 334 is acquired by the processing of the speed acquisition unit 332 on the assumption that the section of the action segment (that is, the start time and end time of the action) obtained by the action recognition unit 330 is correct.
- the movement means of the action recognition result is corrected based on the average speed.
- the discomfort is greater.
- the discomfort is greater than when the walking state is misrecognized as the running state, the running state is the walking state, the walking state is the movement by the vehicle, the walking state is the staying state, and the movement by the bicycle is the walking state or the running state.
- the vehicle determination unit 334 first determines whether there are a plurality of valid position information included in the action segment section (S120).
- the threshold value of the number of effective position information can be set as appropriate by the system, and in the present embodiment, it is determined whether or not there are a plurality (that is, two), but the present disclosure is not limited to such a technique. For example, it may be determined whether the effective position information is 0, or may be determined whether it is two or less. Increasing the threshold value increases the possibility of leading the action recognition result to the correct answer, while also increasing the possibility of passing through an error.
- the threshold value of the number of effective position information is determined in consideration of such points.
- step S120 If it is determined in step S120 that the number of effective position information is one or less, the action recognition result by the action recognition unit 330 is followed (S129), and the process ends. On the other hand, when there are a plurality of valid position information, the vehicle determination unit 334 next determines that the average speed of the segment section is slower than the speed V 1 and the action content of the action recognition result by the action recognition unit 330 is a vehicle. It is determined whether or not it is moving (S121).
- step S121 the state on the vehicle and the staying state are separated.
- the speed V 1 is set to a speed that is low enough to be regarded as staying because it is unlikely that the user is on the vehicle. For example, the speed V 1 was, may 0.5km / h.
- Step S121 average speed of the segment section is slower than the speed V 1 at, and, when the action content of the action recognition result by the behavior recognition unit 330 is one that is moving in a vehicle, the vehicle determining unit 334, the behavior recognition result Is corrected from the vehicle to the staying state (S122).
- step S123 the state of riding a bicycle and the state of walking are separated.
- the speed V 2 is a value larger than the speed V 1 , and it is difficult to consider that the user is riding a bicycle, and a speed that is low enough to be regarded as walking is set.
- the speed V 2 may be 3 km / h.
- the average speed of the segment section is slower than the speed V 2 at step S123, and, when the action content of the action recognition result by the behavior recognition unit 330 is one that is moving in bicycle rides determination unit 334, the behavior recognition result Is in a walking state from movement by bicycle (S124).
- step S125 it is the process for selecting the object which performs the process (step S126, S128) for determining the other vehicle mentioned later, and the object considered to be moving with a certain vehicle is extracted. If the average speed of the segment interval velocity V 3 or less at the step S125, the vehicle determining unit 334 follows the action recognition result by the behavior recognition unit 330 (S129), the process ends. On the other hand, if the average speed of the segment section is greater than V 3, the vehicle determining unit 334, the action content of the action recognition result by the behavior recognition unit 330 determines whether or not the moving outside the vehicle (S126).
- step S126 When it is determined in step S126 that the action content of the action recognition result is moving other than the vehicle, the vehicle determination unit 334 assumes that the vehicle is moving with another vehicle (S127). On the other hand, moving in step S126, if it is determined to be moving in a vehicle, the vehicle determining unit 334, the average speed of the segment section is faster than the speed V 4, and the action content of the action recognition result on a bicycle It is determined whether or not it is the one being operated (S128).
- the speed V 4 is a value greater than the speed V 3 and is set to a speed that is so high that it is unlikely that the user is riding a bicycle. For example, the speed V 4 may be 40 km / h.
- Step S128 average speed of the segment section is faster than the speed V 4 at, and, when the action content of the action recognition result is what is moving in bicycle rides determination unit 334, a move action recognition result by the bicycle The movement is corrected to other vehicles (S127).
- the vehicle determination unit 334 follows the action recognition result by the action recognition unit 330 (S129), and ends the process.
- the movement means output by the vehicle determination unit 334 based on the determination process shown in FIG. 17 is determined as the final action content. As described above, it is possible to improve the accuracy of the action recognition result by performing the filter process for removing noise from the position information and correcting the action recognition result by the action recognition unit 330.
- the user can browse the user's action log by operating the client terminal 100.
- the user transmits action log request information for obtaining an action log to the analysis server 300 from the input unit 140 of the client terminal 100 (S40).
- the action log request information includes a user ID of the user and a message requesting to present an action log.
- the analysis server 300 that has received the action log request information acquires the action log of the corresponding user from the action log DB by the control unit 320, and transmits it to the client terminal 100 (S50).
- the client terminal 100 that has received the action log causes the display processing unit 150 to display the content of the action log as a UI and display it on the display unit 160 (S60). For example, the content of the action log is displayed on the display unit 160 of the client terminal 100 as shown in FIG.
- the content of the action log displayed on the client terminal 100 in step S60 can be corrected by the user on the action correction screen (S70).
- the contents of the action log are corrected, there are cases where more detailed action contents are desired to be displayed in addition to the case where the action recognition result by the action recognition processing unit is incorrect. For example, when the content of the displayed action log is “move by (some) vehicle”, it is necessary to display up to what vehicle the vehicle has moved.
- the action recognition result of the action recognition unit 330 can recognize up to which vehicle the object has moved.
- the three times “moving by vehicle” shown in the upper part of FIG. 18 are movement by train twice and movement by car.
- the action recognition result indicates that the user has moved by train
- the lower side of FIG. As described above, “movement by train” is displayed for those whose movement and behavior are recognized. Note that the content “move by car” that has not been corrected by the user is displayed as “move by vehicle”.
- FIG. 19 is a flowchart showing the action log correction process by the user.
- FIG. 20 is an explanatory diagram for explaining the operation of the action log correction process by the user.
- the action content to be corrected is first selected (S200), and an action correction screen for correcting the action content is displayed (S210).
- the correction content in step S ⁇ b> 200 is selected from the action recognition result object 414 displayed in the action display area 410 on the action log display screen 400 displayed on the display unit 160 of the client terminal 100. This can be done by tapping. It is assumed that a touch panel capable of detecting the contact or proximity of an operating body such as a finger is provided as the input unit 140 in the display area of the display unit 160.
- the control unit 120 may cause the display unit 160 to display a tap display object so that the tapped position P can be visually recognized.
- the control unit 120 instructs the display processing unit 150 to display the process selection screen 430, and the action content of the action recognition result object 414 is determined.
- the user selects the process to be performed.
- On the process selection screen 430 for example, as shown in the center of FIG. 20, it is possible to select processes such as browsing detailed information of action contents, editing action contents, etc., and deleting action contents.
- the user taps and selects the process for editing the action content from the process selection screen 430 to display the action correction screen 440.
- the behavior correction screen 440 When the behavior correction screen 440 is displayed on the display unit 160, the user inputs the correction content on the behavior correction screen 440 and corrects the behavior content (S220).
- the behavior correction screen 440 includes, for example, a behavior log (behavior segment) start time input area 441, an end time input area 443, and an action content input area 445, as shown on the right side of FIG. The user corrects the action log by inputting the corrected content in the input area of the content to be corrected.
- the action content input area 445 includes a preset input area 445a in which changeable action contents are displayed as correction candidates, and a direct input area 445b in which the user can directly input action contents. You may comprise by.
- the action contents are corrected by selecting buttons associated with the action contents such as "walking", “running”, “moving by bicycle”, “moving by other vehicles", “stay”, etc. it can.
- the user can directly input the action contents in the direct input area 445b to correct the action contents.
- the user taps the completion button 447 to reflect the correction content input to the action correction screen 440 in the action log, and the correction process is completed (S230). In this way, the user can easily correct the action recognition result on the action correction screen 440.
- FIGS. 21 to 24 are explanatory diagrams for explaining the outline of the personalized learning process based on the correction information.
- FIG. 25 is a block diagram illustrating a functional unit that performs personalized learning processing.
- FIG. 26 is a flowchart showing the action recognition result determination process in consideration of the individual model by the correction unit 340.
- 27 to 29 are explanatory diagrams for explaining the feature vector.
- FIG. 30 is an explanatory diagram illustrating the action recognition result merging process.
- FIG. 31 is an explanatory diagram illustrating an example of setting selection conditions for action segments used for personalized learning.
- FIG. 21 shows an action log of a user from 8:00 am on Monday to 8:00 am on Wednesday.
- the label information that can be recognized by the user includes the action content (HAct) of the action segment and the correction information (Feedback) from the user.
- the internal information there is feature vector information used for acquiring an action segment by action recognition processing.
- the feature vector information includes, for example, an action recognition result (UnitAct) per unit time acquired by action recognition processing, position information (location), day of the week, time (hour), and the like.
- other information such as an application running on the client terminal 100 at the weather or the time can be used as a feature vector.
- the correction unit 340 performs personalization learning of the user, and thereafter, for the same action content in the same action pattern, action recognition based on the correction contents is performed. 21, the action content recognized as “moving by train” at 10 pm after Tuesday is corrected to “moving by car”, as shown in FIG.
- the correction unit 340 uses the label information and feature vector information for each action segment in a predetermined period (for example, one day) as teacher data. Generate individual models specific to the user. Then, the correcting unit 340 corrects the action content of each action segment for the next predetermined period based on the generated individual model and the feature vector information for that period. Thereby, it becomes possible to recognize the action content peculiar to each user.
- a predetermined period for example, one day
- FIG. 25 shows a functional unit that performs the personalized learning process of the correcting unit 340.
- the correction unit 340 includes a feature vector generation unit 342, an individual learning unit 344, and a merge unit 346, as shown in FIG.
- the feature vector generation unit 342 generates feature vector information used to generate an individual model.
- the feature vector generation unit 342 includes an action recognition result per unit time (UnitAct), location information (location), day of the week (day of the week), time (hour), weather, and other applications started on the client terminal 100 Feature vector information is generated from information (others) and the like. Details of the feature vector information generation process will be described later.
- the individual learning unit 344 performs learning based on the feature vector information generated by the feature vector generation unit 342, and generates an individual model for each user.
- the individual learning unit 344 generates an individual model by a learning method such as linear SVM, SVM (RBF (Kernel), k-NN, Naive Bayes, Decision Tree, Random Forest, AdaBoost, or the like.
- a learning method such as linear SVM, SVM (RBF (Kernel), k-NN, Naive Bayes, Decision Tree, Random Forest, AdaBoost, or the like.
- linear SVM SVM
- RBF Kernet altitude
- k-NN k-NN
- Naive Bayes Decision Tree
- Random Forest Random Forest
- AdaBoost AdaBoost
- the merge unit 346 merges the action recognition result acquired based on the individual model generated by the individual learning unit 344 and the action recognition result acquired by the action recognition unit 330, and determines a final action recognition result. To do. For example, the merging unit 346 linearly combines the action recognition result acquired based on the individual model and the action recognition result acquired by the action recognition unit 330 with a predetermined weight, and obtains the action recognition result that maximizes the score. This is the final action recognition result.
- the feature vector generation unit 342 of the correction unit 340 generates feature vector information used to generate an individual model for each user (S300).
- the feature vector generation unit 342 generates a feature vector from the following information.
- UnitAct Histogram UnitAct which is a behavior recognition result for each unit time, is information acquired by the behavior recognition unit 330, and the behavior content of the behavior segment is determined by the time ratio of UnitAct within the segment section.
- UnitACT represents a plurality of action contents, for example, the following action contents.
- the action content represented by UnitAct is not limited to the following contents, and more action contents may be specified.
- movement / elevation / descent on an escalator, a ropeway, a cable car, a motorcycle, a ship, an airplane, or the like may be specified as the action content related to movement as described above.
- non-mobile behavior such as meals, telephone calls, watching TV and video, music, operation of mobile communication terminals such as smartphones, sports (tennis, skiing, fishing, etc.) Also good.
- the feature vector generation unit 342 obtains a time ratio for a plurality of unit acts included in the action segment, normalizes the action segments so that the sum of the time ratios of unit act is 1.0, and obtains a feature vector. .
- a feature vector For example, as shown in FIG. 27, in an action segment having an action content of “Train by train”, “Still”, “Standing on a train”, “Standing” “StillStand” ”includes three unit actions.
- the feature vector generation unit 342 calculates and normalizes the time ratio of each unit act of the action segment.
- a feature vector related to location information may be set based on the latitude and longitude information in the action segment. For example, an average value of latitude and longitude information in the action segment may be used as a feature vector related to position information. Alternatively, an average value of latitude and longitude information of each user is used as a feature vector, and clustering is performed using a technique such as the k-means method, and a k-dimensional feature vector is generated by 1-of-k expression for each cluster id. May be. By using the result of clustering as a feature vector, it is possible to represent a place (for example, “home”, “company”, “supermarket”, etc.) where a user is frequently represented by a k-dimensional feature vector.
- -Movement information You may set the movement vector showing a user's moving direction and moving amount as a feature vector using the positional information in an action segment. For example, a three-dimensional feature vector can be generated from the movement direction and the movement amount.
- the segment time length (hour) may be a one-dimensional feature amount.
- the day of the week on which the action content of the action segment was performed may be used as the feature vector.
- the day of the week may be a sin vector and a cosine value of a circle having a round of 7 days as a feature vector (each two-dimensional).
- the seven days from Sunday to Saturday may be represented as a 7-dimensional feature vector by 1-of-K representation.
- two weekdays or holidays may be represented as a two-dimensional feature vector by 1-of-K expression.
- an x coordinate (1 + sin ⁇ ) and a y coordinate (1 + cos ⁇ ) in a circle having a radius of 1 centered at (x, y) (1, 1). it can.
- 24 hours from 0 to 23:00 may be represented as a 24-dimensional feature vector by 1-of-K expression.
- feature vectors may be set using measurable information in which different situations appear depending on the individual.
- the weather when the action is performed may be used as the feature vector.
- the feature vector Based on the weather information, for example, it is possible to recognize behavioral characteristics such as movement on a bus when it is raining, walking when it is clear.
- the feature of the action can be recognized also by an application running on the client terminal 100, music being listened to, or the like.
- the feature vector generation unit 342 generates feature vector information based on such information.
- the individual learning unit 344 generates an individual model for recognizing the characteristic behavior of each user by the individual learning process (S310).
- the individual learning unit 344 generates an individual model by a learning method such as the above-described linear SVM, SVM (RBF ⁇ Kernel), k-NN, Naive Bayes, Decision Tree, RandomAForest, AdaBoost, or the like.
- the merge recognition unit 346 merges the action recognition result acquired based on the individual model generated by the individual learning unit 344 and the action recognition result acquired by the action recognition unit 330 (S320), and the final action A recognition result is determined (S330).
- the merging unit 346 uses the weight a as shown in the following formula (1) for the action recognition result (PAct) acquired based on the individual model and the action recognition result (HAct) acquired by the action recognition unit 330.
- a linear combination is performed to obtain an action recognition result (Merge) considering an individual model.
- the action recognition result (HAct) and the action recognition result (PAct) are normalized so that they can be evaluated equally.
- the element (result per minute) included in the action segment may have a length of 1.0.
- the action recognition result (PAct) may be normalized by setting the distance to the hyperplane of the SVM as a minimum value 0 and a maximum value 1.
- the weight a for linearly combining these action recognition results can be set as appropriate, and may be set to 0.4, for example.
- FIG. 30 shows an example of merge processing by the merge unit 346.
- the result of “movement by bicycle (Bicycle)” is obtained as the action recognition result of the action segment by the action recognition unit 330.
- This action segment is composed of two elements, “bicycle” and “run”, and the score is determined by the time ratio in the action segment. This content is the action recognition result (HAct).
- “Bicycle” is the maximum score in the action recognition result (HAct).
- the correction unit 340 can improve the accuracy of the action recognition result by reflecting the action specific to each user using the correction information in the action recognition process.
- the action recognition result (HAct) and action recognition result (PAct) merge process can reflect user-specific actions in the action recognition process. For example, if the number of individual samples is small, only the action recognition result (HAct) May be less than the accuracy of the action recognition result. Therefore, only the correction information of the pattern that the user has corrected in the past may be reflected.
- the filtering process of the correction information to be fed back may use an action recognition result (Merge) in consideration of the individual model in the correction with the pattern performed once in the past.
- an action recognition result (Merge) considering an individual model may be used.
- the action recognition result presented to the user is not always confirmed by the user and is not necessarily corrected appropriately.
- the correction unit 340 may use only the information of the predetermined section in which the correction information is input from the user, and may be used for learning the individual model.
- the individual model learning is performed using only the information of the action segment of the section in which the correction information is input at least once by checking the presence / absence of the correction information every predetermined section (for example, one day). I do.
- FIG. 32 is a hardware configuration diagram illustrating a hardware configuration of the client terminal 100 according to the present embodiment.
- the client terminal 100 can be realized by a processing device such as a computer as described above. As shown in FIG. 32, the client terminal 100 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, and a host bus 904a. The client terminal 100 also includes a bridge 904, an external bus 904b, an interface 905, an input device 906, an output device 907, a storage device 908, a drive 909, a connection port 911, and a communication device 913. .
- a processing device such as a computer as described above.
- the client terminal 100 includes a CPU (Central Processing Unit) 901, a ROM (Read Only Memory) 902, a RAM (Random Access Memory) 903, and a host bus 904a.
- the client terminal 100 also includes a bridge 904, an external bus 904b, an interface 905, an input device 906, an output device 907, a storage device 908, a drive 909, a connection port 911, and
- the CPU 901 functions as an arithmetic processing device and a control device, and controls the overall operation in the client terminal 100 according to various programs. Further, the CPU 901 may be a microprocessor.
- the ROM 902 stores programs used by the CPU 901, calculation parameters, and the like.
- the RAM 903 temporarily stores programs used in the execution of the CPU 901, parameters that change as appropriate during the execution, and the like. These are connected to each other by a host bus 904a including a CPU bus.
- the host bus 904a is connected to an external bus 904b such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 904.
- an external bus 904b such as a PCI (Peripheral Component Interconnect / Interface) bus
- PCI Peripheral Component Interconnect / Interface
- the host bus 904a, the bridge 904, and the external bus 904b do not necessarily have to be configured separately, and these functions may be mounted on one bus.
- the input device 906 includes an input means for inputting information by the user such as a mouse, keyboard, touch panel, button, microphone, switch, and lever, and an input control circuit that generates an input signal based on the input by the user and outputs the input signal to the CPU 901. Etc.
- the output device 907 includes, for example, a liquid crystal display (LCD) device, an OLED (Organic Light Emitting Diode) device and a display device such as a lamp, and an audio output device such as a speaker.
- LCD liquid crystal display
- OLED Organic Light Emitting Diode
- the storage device 908 is an example of a storage unit of the client terminal 100 and is a device for storing data.
- the storage device 908 may include a storage medium, a recording device that records data on the storage medium, a reading device that reads data from the storage medium, a deletion device that deletes data recorded on the storage medium, and the like.
- the storage device 908 drives a hard disk and stores programs executed by the CPU 901 and various data.
- the drive 909 is a storage medium reader / writer, and is built in or externally attached to the client terminal 100.
- the drive 909 reads information recorded on a mounted removable recording medium such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and outputs the information to the RAM 903.
- the connection port 911 is an interface connected to an external device, and is a connection port with an external device capable of transmitting data by USB (Universal Serial Bus), for example.
- the communication device 913 is a communication interface configured by a communication device or the like for connecting to the communication network 5, for example.
- the communication device 913 may be a wireless LAN (Local Area Network) compatible communication device, a wireless USB compatible communication device, or a wire communication device that performs wired communication.
- the action log display system including the client terminal 100, the log server 200, and the analysis server 300 has been described, but the present technology is not limited to such an example.
- the function of the above-described behavior log display system may be realized by the information processing terminal 500 including the functions of the client terminal 100, the log server 200, and the analysis server 300 in one.
- the information processing terminal 500 is assumed to be a terminal that is held and used by a user, for example.
- the information processing terminal 500 includes a sensor unit 510, a control unit 520, a log DB 530, an input unit 540, a display processing unit 552, a display unit 554, and an action recognition unit 560. , A correction unit 570, an action log DB 580, and an analysis DB 590.
- the sensor unit 510, the input unit 540, the display processing unit 552, and the display unit 554 function as the client terminal 100 described above
- the log DB 530 functions as the log server 200 described above.
- the action recognition unit 560, the correction unit 570, the action log DB 580, and the analysis DB 590 function as the analysis server 300 described above
- the control unit 520 functions as the control unit of the client terminal 100, the log server 200, and the analysis server 300. Realize.
- the functions of the client terminal 100, the log server 200, and the analysis server 300 can be appropriately executed by a terminal or a server in accordance with the system configuration in addition to being integrated into one as shown in FIG. .
- An action recognition unit that recognizes a user's action based on sensor information
- a correction unit for correcting the action recognition result to reflect the action of the user according to the correction information for the action of the user
- An information processing apparatus comprising: (2) The information processing apparatus according to (1), wherein the correction unit performs learning that reflects a user's action based on the correction information and corrects the action recognition result.
- the correction unit is A feature vector generation unit that generates a feature vector representing a user's behavior in the behavior segment for a behavior segment recognized as a section performing the same behavior; An individual learning unit that learns based on the feature vector and performs action recognition; Merging the action recognition result by the action recognition unit and the action recognition result by the individual learning unit, and determining a final action recognition result;
- the information processing apparatus according to (2) further comprising: (4) The information processing apparatus according to (3), wherein the feature vector includes at least one of detailed action information representing detailed action contents for each unit time, position information, time information, and a day of the week. .
- the merging unit performs a predetermined weighting on the action recognition result by the action recognition unit and the action recognition result by the individual learning unit and linearly combines them, and determines an action having the maximum score as a final action recognition result.
- the information processing apparatus according to (3) or (4).
- the correction unit performs learning that reflects the user's behavior based on the correction information for each predetermined period, and does not use the action recognition result in the period when the action recognition result is not corrected by the user for the learning (2)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Traffic Control Systems (AREA)
Abstract
【課題】行動認識処理により得られた行動認識結果を、ユーザから入力された修正情報に応じて修正する情報処理装置を提供する。 【解決手段】センサ情報に基づいてユーザの行動を認識する行動認識部と、当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正する修正部と、を備える、情報処理装置が提供される。
Description
本開示は、情報処理装置および情報処理方法に関する。
各種センシング技術を用いて取得されたセンサ情報からユーザの動作行動を認識する技術が提案されている。認識されたユーザの動作行動は行動ログとして自動記録される。この行動ログに基づき、例えばアバター等アニメーションで再現したり、地図上にユーザの移動軌跡を示したり、各種動作行動を抽象化した指標を用いて表現したりする等、様々な手法により表現することができる。
例えば特許文献1では、スマートフォン等の小型センサ内蔵記録装置を用いて行動ログを生成し、ユーザに提示する手法が提案されている。かかる手法では、センサ情報に基づいてユーザの動作行動を示す動作行動データを解析し、動作行動データから動作行動の意味内容で表現された行動セグメントを生成する。動作行動の意味内容を表現された行動セグメントによって行動ログを表示することで、ユーザに分かりやすく情報を提示することができる。
しかし、行動認識処理の精度によっては、ユーザに提示される行動ログに誤りがあることもある。また、通勤・通学等のように習慣となっている行動がユーザ毎にあり、特徴的な個別の行動についても認識できると、よりユーザに価値ある情報を提供できると考えられる。
そこで、本開示では、行動認識処理により得られた行動認識結果を、ユーザから入力された修正情報に応じて修正することの可能な、新規かつ改良された情報処理装置および情報処理方法を提案する。
本開示によれば、センサ情報に基づいてユーザの行動を認識する行動認識部と、当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正する修正部と、を備える、情報処理装置が提供される。
また、本開示によれば、センサ情報に基づいてユーザの行動を認識すること、当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正すること、を含む、情報処理方法が提供される。
本開示によれば、行動認識処理により得られた行動認識結果が、ユーザから入力された修正情報に応じて修正されることで、ユーザに提示する行動認識結果の精度が高まる。
以上説明したように本開示によれば、行動認識処理により得られた行動認識結果を、ユーザから入力された修正情報に応じて修正することができる。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は以下の順序で行うものとする。
1.行動ログ表示システムの概要
2.システム構成
2.1.クライアント端末
2.2.ログサーバ
2.3.解析サーバ
3.行動ログ表示処理
3.1.センサ情報の取得に関する処理
3.2.行動認識処理
(1)行動認識処理の概要
(2)位置情報へのフィルタ処理
(a.機能構成)
(b.速度取得部による処理)
(c.乗り物判定部による処理)
3.3.行動ログ提示処理
3.4.ユーザによる行動ログの修正処理
3.5.修正情報に基づく個人化学習処理
(1)概要
(2)機能構成
(3)個別モデルを考慮した行動認識結果決定処理
(4)修正情報のフィードバックに関するフィルタ処理
4.まとめ
5.ハードウェア構成例
1.行動ログ表示システムの概要
2.システム構成
2.1.クライアント端末
2.2.ログサーバ
2.3.解析サーバ
3.行動ログ表示処理
3.1.センサ情報の取得に関する処理
3.2.行動認識処理
(1)行動認識処理の概要
(2)位置情報へのフィルタ処理
(a.機能構成)
(b.速度取得部による処理)
(c.乗り物判定部による処理)
3.3.行動ログ提示処理
3.4.ユーザによる行動ログの修正処理
3.5.修正情報に基づく個人化学習処理
(1)概要
(2)機能構成
(3)個別モデルを考慮した行動認識結果決定処理
(4)修正情報のフィードバックに関するフィルタ処理
4.まとめ
5.ハードウェア構成例
<1.行動ログ表示システムの概要>
まず、図1および2を参照して、本開示の一実施形態に係る行動ログ表示システムの概要について説明する。なお、図1は、本実施形態に係る行動ログ表示システムの概略構成を示す説明図である。図2は、行動ログの表示例を示す説明図である。
まず、図1および2を参照して、本開示の一実施形態に係る行動ログ表示システムの概要について説明する。なお、図1は、本実施形態に係る行動ログ表示システムの概略構成を示す説明図である。図2は、行動ログの表示例を示す説明図である。
本実施形態に係る行動ログ表示システムは、ユーザの行動に関する情報に基づいて、行動認識処理によりユーザの行動を解析し、ユーザに提示するシステムである。本実施形態に係る行動ログシステムは、図1に示すように、クライアント端末100と、ログサーバ200と、解析サーバ300とが、ネットワークを介して通信可能に接続されてなる。
クライアント端末100は、ユーザの行動に関する情報を取得し、行動認識により取得された行動ログをユーザに提示する。クライアント端末100は、例えば、スマートフォン等のような情報通信端末である。クライアント端末100は、ユーザの行動に関連する情報を収集するために、例えば、加速度センサやGPS、撮像装置、ジャイロセンサ等の情報取得機能を備えている。また、クライアント端末100は、行動ログをユーザに提示するための表示部と、行動ログを修正する修正情報を入力する入力部とを備えている。
なお、クライアント端末100は、ユーザの行動に関連する情報を収集するログ収集端末と、行動ログをユーザに提示する閲覧端末とのように、異なる複数の端末により構築してもよい。ログ収集端末としては、上述したスマートフォン等のような情報通信端末の他に、ペンダント型やリストバンド型等のウェアラブルデバイスを用いることもできる。また、閲覧端末としては、上述したスマートフォン等のような情報通信端末の他に、パーソナルコンピュータや、タブレット端末等を用いることができる。
クライアント端末100は、各種センタにより取得された測定データをセンサ情報として、所定のタイミングでログサーバ200に送信する。このようにして、ログサーバ200には、各ユーザの行動を認識するために用いるセンサ情報が蓄積されていく。
解析サーバ300は、ログサーバ200に記憶されたセンサ情報に基づいて、行動認識処理により、ユーザの行動の内容を表す行動ログを算出する。行動ログは、例えば「食事」、「移動」、「睡眠」といった動作を行動時間や位置情報等とともに記録したものである。本実施形態に係る行動ログ表示システムは、この動作内容を表す行動ログを解析サーバ300にてさらに解析して行動の意味を認識し、行動の意味を付加した情報(行動セグメント)を生成する。行動セグメントは、行動ログをユーザにとって分かりやすい表現とした単位情報である。行動セグメントによってユーザに単なる行動ログを提示するのではなく、行動の意味もわかるように行動ログを提示することができる。
解析サーバ300にて解析され、ユーザに提示された行動ログは、クライアント端末100を介してユーザに提示される。図2に、クライアント端末100の表示部に表示された行動ログ表示画面400の一例を示す。行動ログ表示画面400は、図2に示すように、例えば、行動認識結果の内容を表す行動認識結果オブジェクト414が表示される行動表示領域410と、所定期間(例えば1日)における行動の概要を示すサマリー領域420とからなる。
行動表示領域410は、画面の水平方向に時間軸412が設定されており、行動認識結果オブジェクト414がその行動が行われた時間軸412の時間位置に対応するように表示される。図2では、ユーザが20時30分過ぎに歩いていたことが行動認識結果オブジェクト414によって示されている。行動表示領域410を水平方向に画面をスクロールさせると、行動表示領域410に表示される時間位置が変更される。行動表示領域410に表示される時間位置の変更に伴い、行動表示領域410に表示される行動認識結果オブジェクト414の表示も、その時間位置での行動認識結果に変更される。
行動認識結果オブジェクト414の表示は、行動セグメントごとに切り替わる。行動セグメントは、行動の開始時間、終了時間および行動内容により表される。行動内容には、例えば、「歩き」、「走り」、「自転車で移動」、「電車で移動」、「バスで移動」、「自動車で移動」、「その他の乗り物で移動」、「滞在」等がある。
なお、サマリー領域420には、「歩き」、「走り」、「自転車で移動」、「自動車で移動」、「睡眠」等の各行動時間や、歩数、行動による消費カロリー、写真やブックマーク等のデータ数等が表示されている。サマリー領域420の各オブジェクトを選択すると、詳細内容が画面に表示される。
ここで、ユーザに提示された行動ログの内容が誤っている場合や、提示された行動内容よりさらに詳細な行動内容を提示させたい場合もある。そこで、本実施形態に係る行動ログ表示システムでは、ユーザに提示する行動ログの内容がより正しいものとなるようにする判定処理を行うとともに、さらにユーザによる行動ログの修正を受けて、その後の行動認識処理に反映させるようにする。これにより、行動ログを、ユーザの意図に沿った、正しい内容でユーザに提示することができる。以下、本実施形態に係る行動ログ表示システムの構成とその機能について詳細に説明する。
<2.システム構成>
図3に、本実施形態に係る行動ログ表示システムの機能構成を示す。行動ログ表示システムは、上述したように、クライアント端末100と、ログサーバ200と、解析サーバ300とからなる。
図3に、本実施形態に係る行動ログ表示システムの機能構成を示す。行動ログ表示システムは、上述したように、クライアント端末100と、ログサーバ200と、解析サーバ300とからなる。
[2.1.クライアント端末]
クライアント端末100は、センサ部110と、制御部120と、通信部130と、入力部140と、表示処理部150と、表示部160とからなる。
クライアント端末100は、センサ部110と、制御部120と、通信部130と、入力部140と、表示処理部150と、表示部160とからなる。
センサ部110は、ユーザの位置や動き等、ユーザの行動に関する動き情報を取得する検出部である。センサ部110としては、例えば、加速度センサやジャイロセンサ、イメージャ、その他のセンサ等があり、加速度、角速度、撮像データ、音声データ、生体情報等の測定データが取得される。センサ部110により取得される測定データは、制御部120に出力され、通信部130を介してログサーバ200へ送信される。
制御部120は、クライアント端末100の機能全般を制御する機能部である。制御部120は、例えば、センサ部110により取得された測定データを、ユーザを特定するユーザIDを含むユーザ情報と関連付けて通信部130へ送信する。また、制御部120は、ユーザからの操作入力を受けて、操作入力の内容に応じた機能を実行するようクライアント端末100を制御する。さらに、制御部120は、行動ログ等の表示情報を取得すると、表示部160に表示させるようにクライアント端末100を制御する。
通信部130は、ネットワークを介して接続されたサーバ等と情報の送受信を行う機能部である。クライアント端末100の通信部130は、センサ部110により取得されたセンサ情報をログサーバ200へ送信する。また、通信部130は、行動ログ取得情報に基づき解析サーバ300から提供される行動ログを受信し、制御部120へ出力する。
入力部140は、ユーザが情報を入力するための操作部であり、例えば、タッチパネルやキーボード、ボタン等を用いることができる。ユーザは、入力部140を用いて、例えば、行動ログを表示させるアプリケーションの起動や、行動ログの表示操作、行動ログの修正情報の入力等を行う。
表示処理部150は、解析サーバ300から提供される行動ログを表示部160に表示させる。表示処理部150は、行動ログを、例えば図2に示すように、行動認識結果オブジェクト414を用いて表し、表示部160に表示させる。また、表示処理部150は、入力部140からの入力情報に応じて、表示部160の表示内容を変更することも行う。
表示部160は、情報を表示するために設けられ、例えば液晶ディスプレイや有機ELディスプレイ等を用いることができる。表示部160には、表示処理部150により表示処理されたUI等が表示される。
[2.2.ログサーバ]
ログサーバ200は、図2に示すように、通信部210と、制御部220と、ログDB230とを備える。
ログサーバ200は、図2に示すように、通信部210と、制御部220と、ログDB230とを備える。
通信部210は、ネットワークを介して接続された端末やサーバ等と情報の送受信を行う機能部である。ログサーバ200の通信部210は、クライアント端末100から受信したセンサ情報を制御部220に出力する。また、通信部210は、解析サーバ300からの情報提示要求を受信し、制御部220により取得されたセンサ情報を解析サーバ300へ送信する。
制御部220は、ログサーバ200の機能全般を制御する機能部である。制御部220は、例えば、クライアント端末100から受信したセンサ情報を、ユーザ毎にログDB230に記録する。また、制御部220は、解析サーバ300からの要求に基づき、センサ情報を取得し、通信部210を介して解析サーバ300へ送信させる。
ログDB230は、ユーザの行動に関する情報として取得されたセンサ情報を記憶する記憶部である。ログDB230は、ユーザ毎にセンサ情報を記憶している。
[2.3.解析サーバ]
解析サーバ300は、図2に示すように、通信部310と、制御部320と、行動認識部330と、修正部340と、行動ログDB350と、解析DB360とを備える。
解析サーバ300は、図2に示すように、通信部310と、制御部320と、行動認識部330と、修正部340と、行動ログDB350と、解析DB360とを備える。
通信部310は、ネットワークを介して接続された端末やサーバ等と情報の送受信を行う機能部である。解析サーバ300の通信部310は、ログサーバ200からセンサ情報を取得して、制御部320に出力する。また、通信部310は、クライアント端末100から受信した行動ログ提示要求を受信し、該当するユーザの行動ログをクライアント端末100へ送信する。
制御部320は、解析サーバ300の機能全般を制御する機能部である。制御部320は、例えば、ログサーバ200から取得したセンサ情報を行動認識部330へ出力する。また、制御部320は、クライアント端末100からの行動ログ提示要求を受けて、行動ログDB350から該当する行動ログを取得し、通信部310を介してクライアント端末100へ送信する。さらに、制御部320は、クライアント端末100から受信した行動ログの修正情報を、修正部340へ出力する。
行動認識部330は、ログサーバ200から受信したセンサ情報に基づいて、行動認識処理を行い、ユーザの動作行動を解析する。行動認識部330は、行動認識結果を行動ログとして行動ログDB350に記録する。
修正部340は、クライアント端末100から受信した行動ログの修正情報に基づいて、行動認識部330による行動認識処理により取得された行動認識結果を修正する。なお、修正部340の詳細については後述する。
行動ログDB350は、行動認識部330により解析された行動認識結果を行動ログとして記憶する。行動ログDB350に記憶された行動ログは、クライアント端末100からの要求に行動ログ提示要求に応じて、クライアント端末100に提供される。
解析DB360は、行動認識部330や修正部340において行われる処理にて利用される各種情報を記憶する記憶部である。解析DB360は、例えば、行動認識部330での行動認識処理における乗り物判定処理に利用される閾値情報や、修正部340による修正処理に利用される各種情報を記憶する。解析DB360に記憶される各種情報は、予め設定されているが、適宜変更可能である。
<3.行動ログ表示処理>
図4に基づいて、本実施形態に係る行動ログ表示処理を説明する。図4は、本実施形態に係る行動ログ表示処理の概要を示すタイミングチャートである。本実施形態に係る行動ログ表示処理は、センサ情報の取得に関する処理(S10、S20)、行動認識処理(S30)、行動ログ提示処理(S40~S60)、ユーザによる行動ログ修正処理(S70)、および修正情報に基づく個人化学習処理(S80)とからなる。
図4に基づいて、本実施形態に係る行動ログ表示処理を説明する。図4は、本実施形態に係る行動ログ表示処理の概要を示すタイミングチャートである。本実施形態に係る行動ログ表示処理は、センサ情報の取得に関する処理(S10、S20)、行動認識処理(S30)、行動ログ提示処理(S40~S60)、ユーザによる行動ログ修正処理(S70)、および修正情報に基づく個人化学習処理(S80)とからなる。
[3.1.センサ情報の取得に関する処理]
ユーザに提示する行動ログを取得するために、ユーザの行動に関する情報としてセンサ情報が取得される。センサ情報は、クライアント端末100のセンサ部110によって取得される(S10)。クライアント端末100は、行動ログ表示システムのサービスを受けるユーザが日常保持している端末であり、センサ部110により、ユーザの位置や動き等の情報を時々刻々取得し、時間情報と関連付けてセンサ情報として記録し続ける。クライアント端末100は認証機能を備えており、取得したセンサ情報は認証したユーザの行動に関する情報として利用される。
ユーザに提示する行動ログを取得するために、ユーザの行動に関する情報としてセンサ情報が取得される。センサ情報は、クライアント端末100のセンサ部110によって取得される(S10)。クライアント端末100は、行動ログ表示システムのサービスを受けるユーザが日常保持している端末であり、センサ部110により、ユーザの位置や動き等の情報を時々刻々取得し、時間情報と関連付けてセンサ情報として記録し続ける。クライアント端末100は認証機能を備えており、取得したセンサ情報は認証したユーザの行動に関する情報として利用される。
クライアント端末100は、取得したセンサ情報を所定のタイミングでログサーバ200に送信する。例えば、センサ情報は、所定の時間間隔で送信されたり、ユーザが明示的にセンサ情報の送信を指示した場合等に送信されたりする。センサ情報を受信したログサーバ200は、ユーザのユーザIDとセンサ情報とを関連付けて、ログDB230に記録する(S20)。
[3.2.行動認識処理]
(1)行動認識処理の概要
解析サーバ300は、所定のタイミングで、ログサーバ200に記録されたセンサ情報に基づいて行動認識処理を行う(S30)。解析サーバ300は、例えば、所定の時間間隔でログサーバ200からセンサ情報を取得して、各ユーザの行動を解析する。行動認識処理では、センサ情報の信号処理や統計処理等が行われ、ユーザの行動や状況を認識する。行動認識処理は、例えば上記特許文献1に記載された手法等、周知の技術を用いて行ってもよい。
(1)行動認識処理の概要
解析サーバ300は、所定のタイミングで、ログサーバ200に記録されたセンサ情報に基づいて行動認識処理を行う(S30)。解析サーバ300は、例えば、所定の時間間隔でログサーバ200からセンサ情報を取得して、各ユーザの行動を解析する。行動認識処理では、センサ情報の信号処理や統計処理等が行われ、ユーザの行動や状況を認識する。行動認識処理は、例えば上記特許文献1に記載された手法等、周知の技術を用いて行ってもよい。
例えば、行動認識部330は、センサ情報を処理した結果得られたユーザの行動に関する情報である行動モデルと動作行動との対応関係を予め保持している。行動認識部330は、センサ情報を処理して行動パラメータを得ると、当該行動パラメータに対応する行動内容を特定する。認識される行動内容には、上述したように、例えば、「歩き」、「走り」、「自転車で移動」、「電車で移動」、「バスで移動」、「自動車で移動」、「その他の乗り物で移動」、「滞在」等がある。行動認識部330は、特定した行動内容と、行動時間、行動時刻、位置情報、ユーザID等を関連付けて行動ログとし、行動ログDB350に記録する。
(2)位置情報へのフィルタ処理
ここで、行動認識部330で認識される行動内容のうち、「歩き」、「走り」、「自転車で移動」、「電車で移動」、「バスで移動」、「自動車で移動」等の、移動手段に関する行動の特定は、センサ情報を信号処理や統計処理を行った結果、または位置情報から算出される速度情報に基づき行われる。速度情報を位置情報に基づき算出する場合、この位置情報は、例えばクライアント端末100に設けられたGPSや、クライアント端末100が接続したWi-Fi等のネットワーク情報等により取得される。しかし、位置同定技術の精度によっては、このように取得された位置情報にはノイズが多く含まれてしまうことがある。ノイズの多い位置情報から算出された速度情報の信頼度は低く、行動内容を正確に判定することの妨げとなる。
ここで、行動認識部330で認識される行動内容のうち、「歩き」、「走り」、「自転車で移動」、「電車で移動」、「バスで移動」、「自動車で移動」等の、移動手段に関する行動の特定は、センサ情報を信号処理や統計処理を行った結果、または位置情報から算出される速度情報に基づき行われる。速度情報を位置情報に基づき算出する場合、この位置情報は、例えばクライアント端末100に設けられたGPSや、クライアント端末100が接続したWi-Fi等のネットワーク情報等により取得される。しかし、位置同定技術の精度によっては、このように取得された位置情報にはノイズが多く含まれてしまうことがある。ノイズの多い位置情報から算出された速度情報の信頼度は低く、行動内容を正確に判定することの妨げとなる。
そこで、行動認識部330による行動認識処理によって得られる行動認識結果の精度を高めるため、位置情報からノイズを除去するフィルタ処理を行うようにしてもよい。以下、図5~図17に基づいて、本実施形態に係る位置情報に対して行われるフィルタ処理について説明する。なお、図5は、位置情報へのフィルタ処理を行い、行動認識結果の決定処理を行う各機能部を示すブロック図である。図6は、位置情報に対するフィルタ処理と、セグメント区間の平均速度を算出する処理とを示すフローチャートである。図7~図16は、位置情報に対するフィルタ処理の内容を説明する説明図である。図17は、フィルタ処理された位置情報から算出された速度情報に基づく、行動認識結果の決定処理を示すフローチャートである。
(a.機能構成)
本実施形態において、位置情報に対するフィルタ処理と、行動認識結果の決定処理とを行う機能部は、解析サーバ300に設けられる。具体的には、図5に示すように、速度取得部332および乗り物判定部334が、解析サーバ300に設けられる。
本実施形態において、位置情報に対するフィルタ処理と、行動認識結果の決定処理とを行う機能部は、解析サーバ300に設けられる。具体的には、図5に示すように、速度取得部332および乗り物判定部334が、解析サーバ300に設けられる。
速度取得部332は、位置情報に対するフィルタ処理を行い、速度情報を取得する。速度取得部332によりフィルタ処理を施される位置情報は、時刻情報と、当該時刻における経度緯度情報とを含み、例えばGPSやネットワーク情報、加速度センサにより取得された情報により特定される。速度取得部332は、この位置情報に対して、後述する区間フィルタやアキュラシフィルタ、速度フィルタ、滞在フィルタ、同心円フィルタ等のフィルタ処理を施した後、セグメント区間の平均速度を算出する。
乗り物判定部334は、速度取得部332により取得されたセグメントの平均速度に基づいて行動認識結果の決定処理を行う。乗り物判定部334は、行動認識部330により特定されたセグメントの行動内容のうち、移動手段が正しいか否かをセグメントの平均速度に基づいて判定する。乗り物判定部334により出力された移動手段が、最終的な行動内容として決定される。
(b.速度取得部による処理)
図6に基づき、速度取得部332による、位置情報に対するフィルタ処理とセグメント区間の平均速度を算出する処理とについて説明する。
図6に基づき、速度取得部332による、位置情報に対するフィルタ処理とセグメント区間の平均速度を算出する処理とについて説明する。
・区間フィルタ処理
まず、速度取得部332は、GPSやネットワーク情報、加速度センサにより取得された情報により特定される位置情報に基づき、行動セグメントの区間を特定する区間フィルタ処理を行う(S110)。行動セグメントの区間は、行動の開始時刻および終了時刻により特定される。速度取得部332は、最終的に、特定された区間での平均速度を算出する。
まず、速度取得部332は、GPSやネットワーク情報、加速度センサにより取得された情報により特定される位置情報に基づき、行動セグメントの区間を特定する区間フィルタ処理を行う(S110)。行動セグメントの区間は、行動の開始時刻および終了時刻により特定される。速度取得部332は、最終的に、特定された区間での平均速度を算出する。
ここで、速度取得部332は、行動セグメントの区間を、行動の開始時刻および終了時刻により特定される区間より所定時間だけ前後に長くとった区間としてもよい。これにより、行動の開始時刻および終了時刻における速度を取得することが可能となり、また、動の開始位置または終了位置が誤って検出されていた場合に、その位置情報が誤りであると検出できる可能性を高めることができる。
例えば、行動の開始位置よりも前の位置情報があれば、後述する速度フィルタ処理(S113)で誤りが検出できる可能性がある。この際、開始位置よりも前の位置情報に誤りがある可能性もあるが、前の位置情報が1つではなく所定数あれば誤りが開始位置以降に影響する可能性は低くなる。なお、後述する同心円フィルタ処理(S115)によっても、開始位置および終了位置の誤りを検出できる可能性もある。
行動セグメントの区間を長めに設定する所定時間は、区間の前後に数秒程度(例えば3秒)あればよいが、本技術はかかる例に限定されない。システムの都合上、±数秒における位置情報が取得できない場合は、前後に付加するデータ数を減らすことも可能であるが、データ数を減らすことにより、開始位置および終了位置の誤りを見逃す可能性が高くなる。一方で、前後に付加するデータ数を増加することで開始位置および終了位置を検出できる可能性が高くなるが、保存しなければならない位置情報の数や処理量が増える。これらを考慮して、行動セグメントの区間を長めに設定する所定時間は適宜設定される。
・アキュラシフィルタ処理
次いで、速度取得部332は、行動セグメントの区間に含まれる位置情報のうち、位置が不正確である位置情報を排除するアキュラシフィルタ処理を行う(S111)。アキュラシフィルタ処理は、位置情報に付加されたアキュラシ値に基づき行われる。アキュラシ値とは、GPS等から出力される位置情報に付随する情報であり、例えば緯度経度情報により特定される位置を中心としてアキュラシ値を半径とする円内に存在する確率により位置情報の正確さが表される。例えば「半径がアキュラシ値[m]である円の中にいる可能性が85%である」というように位置情報の正確さが表される。したがって、アキュラシ値が大きいほど位置が不正確であるということになる。
次いで、速度取得部332は、行動セグメントの区間に含まれる位置情報のうち、位置が不正確である位置情報を排除するアキュラシフィルタ処理を行う(S111)。アキュラシフィルタ処理は、位置情報に付加されたアキュラシ値に基づき行われる。アキュラシ値とは、GPS等から出力される位置情報に付随する情報であり、例えば緯度経度情報により特定される位置を中心としてアキュラシ値を半径とする円内に存在する確率により位置情報の正確さが表される。例えば「半径がアキュラシ値[m]である円の中にいる可能性が85%である」というように位置情報の正確さが表される。したがって、アキュラシ値が大きいほど位置が不正確であるということになる。
ここで、アキュラシ値が大きくなるほど位置情報の精度は低下するが、アキュラシ値が所定値を超えると、アキュラシ値により表される位置情報の精度が示す以上に位置情報の精度が低くなる傾向がある。そこで、速度取得部332は、アキュラシ値が所定値を超える位置情報については、速度算出に必要な精度を得られないとして、これらを排除する。位置情報を排除するアキュラシ値の閾値は、システムに応じて適宜設定可能であり、例えば2000mとしてもよい。なお、この閾値を大きくするとより多くの地点を採用して細かい位置の変化に対応できるようになる一方、誤った位置も拾いやすくなる。これらを考慮してアキュラシ値の閾値は設定される。
一例として、ユーザが、図7に示すように、地点aから地点bへ、軌跡LRで移動したという行動セグメントについて考える。地点aを開始位置、地点bを終了位置とする行動セグメントの区間において、図8に示すように、A点~J点の10の位置情報が含まれているとする。図8のA点~J点の内側の円Cpは位置情報を取得した地点を表しており、これらの地点を直線で補間して軌跡Lが取得される。また、A点~J点の外側の円Caはアキュラシ値を表現したものであり、円が大きいほどその地点の位置情報は不正確であることを表している。
図8の行動セグメントの区間に含まれる地点のうち、例えばB点のアキュラシ値が所定値を超えていたとする。このとき、速度取得部332は、図9に示すように、B点の位置情報を排除して、軌跡Lを再設定する。
・速度フィルタ処理
そして、速度取得部332は、アキュラシフィルタ処理を行った後、行動セグメントの区間に含まれる位置情報に基づき、時間的に隣り合う2点間の速度を算出し(S112)、算出した各速度に対して速度フィルタ処理を施す(S113)。
そして、速度取得部332は、アキュラシフィルタ処理を行った後、行動セグメントの区間に含まれる位置情報に基づき、時間的に隣り合う2点間の速度を算出し(S112)、算出した各速度に対して速度フィルタ処理を施す(S113)。
速度取得部332は、行動セグメントの区間に含まれる各地点の緯度経度情報および時刻から隣接する地点間の平均速度を計算し、当該平均速度を2点間の速度として2点の終点側の位置情報と紐づける。例えば、図10左側に示すC点とD点との間の速度は、C点およびD点の緯度経度情報および時刻から算出される平均速度で表され、その速度は終点側のD点に紐づけられる。
そして、速度取得部332は、算出した各速度について、現実的に疑わしいと考えられる所定速度を超えるか否かを判定し、疑わしいと判定した速度が紐づけられた位置情報を排除する。例えば、図10において、D点の速度が所定速度を超える場合、D点の位置情報は疑わしいとして排除される。疑わしいと判定する所定速度は、例えば数百km/h(例えば400km/h)と設定してもよい。ここで、飛行機等は400km/h以上で移動する場合もある。しかし、ステップS113において行動セグメントの区間内の400km/h以上のすべての地点が排除されたとしても、最終的な速度再計算(S116)で前後の位置情報が正しい場合は400km/h以上の速度が正しく算出される可能性も残されるため問題ない。
なお、速度フィルタ処理の閾値である所定速度の値を大きくすると、より速い乗り物を認識できる可能性が高くなる一方、誤りを容認する可能性も高くなる。これらを考慮して速度の閾値は設定される。
例えば、上述の図7~図9に示した例において、図9の行動セグメントの区間に含まれる各地点の速度を算出し、ステップS113の速度フィルタを施したとき、J点の速度が所定速度を超えたとする。このとき、速度取得部332は、図11に示すように、J点は疑わしいとして行動セグメントの区間から排除されることになる。
・滞在フィルタ処理
次いで、速度取得部332は、行動セグメントに含まれる地点から、同一箇所にしばらくとどまっている地点を特定して集約する滞在フィルタ処理を施す(S114)。滞在フィルタ処理では、同一箇所にしばらくとどまっている地点が複数ある場合、滞在していると判断し、これらの点を時間的な始点と終点との2点に集約する。
次いで、速度取得部332は、行動セグメントに含まれる地点から、同一箇所にしばらくとどまっている地点を特定して集約する滞在フィルタ処理を施す(S114)。滞在フィルタ処理では、同一箇所にしばらくとどまっている地点が複数ある場合、滞在していると判断し、これらの点を時間的な始点と終点との2点に集約する。
図12に基づき、詳細に説明する。図12左側は、ある行動セグメントに含まれる滞在フィルタ処理前の位置情報であり、E点~H点の4つの点が存在する。速度取得部332は、まず、時間的に最前のE点に着目し、次のF点がE点から所定範囲以内にあるか否かにより滞在であるか否かを判断する。所定の範囲は、例えば起点(ここではE点)から50m以内であることとしてもよい。この範囲は適宜変更可能である。
速度取得部332は、F点が滞在していると判断すると、次のG点についても起点であるE点から所定範囲以内にいるかどうか判断する。これを繰り返し、起点となるE点の所定範囲以内から離れるまでは滞在している状態と判断する。例えば、H点がE点の所定範囲以内から離れたとする。このとき、速度取得部332は、E点からG点までの3点の区間を滞在と判断する。
そして、速度取得部332は、3つの点のうち始点または終点以外の点であるF点を排除する。さらに、速度取得部332は、終点であるG点の位置情報を始点であるE点と同じ位置情報に修正する。結果として、滞在区間には、位置情報が同一であり、時刻情報の異なるE点とG点との2点が残る。異なる時刻の2点を残すことで、滞在区間の時間情報を取得することが可能となる。なお、終点の位置情報を始点の位置情報に合わせるのは、滞在区間であることを後述の同心円フィルタ処理で利用するためである。
例えば、上述の図11に示した例において、ステップS114の滞在フィルタを施したとき、C点、D点、E点が滞在していると判断されたとする。このとき、速度取得部332は、図13に示すように、始点であるC点および終点であるE点を残し、中間点であるD点を排除するとともに、終点であるE点の位置情報を始点であるC点の位置情報に合わせる。
・同心円フィルタ処理
さらに、速度取得部332は、時間的に連続する3つの地点の位置関係を判定し、不自然な動きがないか否かを判定する同心円フィルタ処理を施す(S115)。同心円フィルタ処理では、時間的に連続する3つの地点について、始点と終点の間にある中間点が、始点と終点とを結ぶ直線を直径とする基準円と同心円であって、基準円より直径の大きい判定円の領域外にあるか否かを判定する。例えば図14において、時間的に連続する3つの地点であるI点、J(J1、J2)点、K点があるとする。このとき、始点であるI点と終点であるK点とを結ぶ直線を直径d0とする基準円に対して、基準円と同心円でこれより大きい直径d1を有する判定円を設定する。判定円の直径d1は、直径d0より大きければよく、例えば直径d0の2倍としてもよい。
さらに、速度取得部332は、時間的に連続する3つの地点の位置関係を判定し、不自然な動きがないか否かを判定する同心円フィルタ処理を施す(S115)。同心円フィルタ処理では、時間的に連続する3つの地点について、始点と終点の間にある中間点が、始点と終点とを結ぶ直線を直径とする基準円と同心円であって、基準円より直径の大きい判定円の領域外にあるか否かを判定する。例えば図14において、時間的に連続する3つの地点であるI点、J(J1、J2)点、K点があるとする。このとき、始点であるI点と終点であるK点とを結ぶ直線を直径d0とする基準円に対して、基準円と同心円でこれより大きい直径d1を有する判定円を設定する。判定円の直径d1は、直径d0より大きければよく、例えば直径d0の2倍としてもよい。
1つの行動セグメントでは、1つの行動内容または滞在のいずれかを示している。したがって、時間的に連続する3つの地点の中間点が、判定円の領域外に存在することはほとんどないと考えられる。そこで、速度取得部332は、時間的に連続する3つの地点について、始点と終点の間にある中間点が判定領域外にある場合には、中間点を排除する。例えば、図14の例では、中間点J1点は、判定円領域内にあるため残されるが、中間点J2点は、判定円領域外にあるため排除される。
ここで、上述の図13に示した例において、ステップS115の同心円フィルタを施したとき、時間的に連続する3つの地点であるA点、C点、F点について、中間点C点が判定円の領域外にあると判断されたとする。このとき、速度取得部332は、図15に示すように中間点であるC点を排除する。また、C点と同一の位置情報に集約されたE点についてもC点とともに排除される。
以上のフィルタ処理により、図8に示した行動セグメントの区間に含まれるA点からJ点のうち、最終的には図16に示すように、A点、F点、G点、H点およびI点が残ることになる。残った地点の位置情報を直線により補間して結んだ軌跡Lは、実際の軌跡LRと近いものとなる。このように、位置情報に対してフィルタ処理を施すことで精度の高い位置情報を抽出することができ、より正確に行動を認識することが可能となる。
・行動セグメント区間の平均速度算出
ステップS110~S115の処理を行った後、速度取得部332は、抽出された位置情報に基づき、ステップS112と同様、隣接する2点間の速度を算出する(S116)。そして、ステップS116にて算出した各速度の平均速度を、行動セグメントの区間における速度として算出する(S117)。
ステップS110~S115の処理を行った後、速度取得部332は、抽出された位置情報に基づき、ステップS112と同様、隣接する2点間の速度を算出する(S116)。そして、ステップS116にて算出した各速度の平均速度を、行動セグメントの区間における速度として算出する(S117)。
(c.乗り物判定部による処理)
図6に示した速度取得部332の処理によってセグメント区間の平均速度が算出されると、乗り物判定部334は、速度取得部332により取得されたセグメントの平均速度に基づいて行動認識結果の決定処理を行う。乗り物判定部334は、行動認識部330により特定されたセグメントの行動内容のうち、移動手段が正しいか否かをセグメントの平均速度に基づいて判定する。
図6に示した速度取得部332の処理によってセグメント区間の平均速度が算出されると、乗り物判定部334は、速度取得部332により取得されたセグメントの平均速度に基づいて行動認識結果の決定処理を行う。乗り物判定部334は、行動認識部330により特定されたセグメントの行動内容のうち、移動手段が正しいか否かをセグメントの平均速度に基づいて判定する。
行動セグメントは、上述したように、行動内容と、当該行動の開始時間および終了時間とで表されるものであり、行動認識部330により行動認識結果として取得される。本実施形態では、速度取得部332の処理により取得された行動セグメント区間の平均速度を用いて、行動認識部330による行動認識結果が正しいか否かを判定し、行動認識結果の精度を高める。具体的には、乗り物判定部334は、行動認識部330により得られた行動セグメントの区間(すなわち、行動の開始時間および終了時間)は正しいと仮定して、速度取得部332の処理により取得された平均速度により、行動認識結果の移動手段を訂正する。
ここで、行動認識結果に誤りがあるとユーザに大きな違和感を与えることになるが、特に、歩き状態を自転車による移動、滞在状態を乗り物による移動、または乗り物による移動を滞在状態と認識した場合にその違和感はより大きくなる。例えば、歩き状態を走り状態、走り状態を歩き状態、歩き状態を乗り物による移動、歩き状態を滞在状態、自転車による移動を歩き状態または走り状態等と誤認識した場合よりも、その違和感は大きい。そこで、歩き状態を自転車による移動、滞在状態を乗り物による移動、または乗り物による移動を滞在状態と誤認識した場合に、その行動内容を訂正することを目的とした、行動認識結果の訂正処理の一例を図17に示す。
図17に示す訂正処理例においては、乗り物判定部334は、まず、行動セグメント区間に含まれる有効な位置情報が複数あるか否かを判定する(S120)。有効な位置情報の数の閾値は、システムによって適宜設定可能であり、本実施形態では複数(すなわち、2つ)であるか否かを判定したが、本開示はかかる技術に限定されない。例えば、有効な位置情報が0であるか否かを判定するようにしてもよく、2つ以下であるか否かを判定するようにしてもよい。この閾値の値を大きくすると、行動認識結果を正解に導く可能性が高まる一方、誤りをスルーする可能性も高くなる。有効な位置情報の数の閾値は、このような点を考慮して決定される。ステップS120にて有効な位置情報が1つ以下であると判定された場合には、行動認識部330による行動認識結果を踏襲し(S129)、処理を終了する。一方、有効な位置情報が複数ある場合には、乗り物判定部334は、次に、セグメント区間の平均速度が速度V1より遅く、かつ、行動認識部330による行動認識結果の行動内容が乗り物で移動しているものであるか否かを判定する(S121)。
ステップS121では、乗り物に乗っている状態と滞在状態とを切り分ける。速度V1は、乗り物に乗っているとは考えにくく、滞在しているとみなせるほど遅い速度が設定される。例えば、速度V1は、0.5km/hとしてもよい。ステップS121にてセグメント区間の平均速度が速度V1より遅く、かつ、行動認識部330による行動認識結果の行動内容が乗り物で移動しているものであるときには、乗り物判定部334は、行動認識結果を乗り物から滞在状態に訂正する(S122)。
一方、ステップS121にて滞在状態と判定されなかった場合、乗り物判定部334は、セグメント区間の平均速度が速度V2より遅く、かつ、行動認識部330による行動認識結果の行動内容が自転車で移動しているものであるか否かを判定する(S123)。ステップS123では、自転車に乗っている状態と歩き状態とを切り分ける。速度V2は、速度V1より大きい値であり、自転車に乗っているとは考えにくく、歩いてしているとみなせるほどの遅い速度が設定される。例えば、速度V2は、3km/hとしてもよい。ステップS123にてセグメント区間の平均速度が速度V2より遅く、かつ、行動認識部330による行動認識結果の行動内容が自転車で移動しているものであるときには、乗り物判定部334は、行動認識結果を自転車による移動から歩き状態とする(S124)。
一方、ステップS123にて歩き状態と判定されなかった場合、乗り物判定部334は、セグメント区間の平均速度が速度V3以下であるか否かを判定する(S125)。速度V3は、速度V2より大きい値が設定される。例えば、速度V3は、8.5km/hとしてもよい。ステップS125では、後述のその他の乗り物を判定するための処理(ステップS126、S128)を行う対象を選別するための処理であり、何らかの乗り物で移動していると考えられる対象が抽出される。ステップS125にてセグメント区間の平均速度が速度V3以下の場合には、乗り物判定部334は、行動認識部330による行動認識結果を踏襲し(S129)、処理を終了する。一方、セグメント区間の平均速度がV3より大きい場合には、乗り物判定部334は、行動認識部330による行動認識結果の行動内容が乗り物以外で移動しているものであるか否かを判定する(S126)。
ステップS126にて、行動認識結果の行動内容が乗り物以外で移動しているものであると判定した場合には、乗り物判定部334は、その他の乗り物で移動しているものとする(S127)。一方、ステップS126にて、乗り物で移動していると判定した場合には、乗り物判定部334は、セグメント区間の平均速度が速度V4より速く、かつ、行動認識結果の行動内容が自転車で移動しているものであるか否かを判定する(S128)。速度V4は、速度V3より大きい値であり、自転車に乗っているとは考えにくいほどの速い速度が設定される。例えば、速度V4は、40km/hとしてもよい。
ステップS128にてセグメント区間の平均速度が速度V4より速く、かつ、行動認識結果の行動内容が自転車で移動しているものであるときには、乗り物判定部334は、行動認識結果を自転車による移動からその他の乗り物での移動に訂正する(S127)。一方、それ以外の場合には、乗り物判定部334は、行動認識部330による行動認識結果を踏襲し(S129)、処理を終了する。
このように、図17に示す判定処理に基づき乗り物判定部334により出力された移動手段が、最終的な行動内容として決定される。以上のように、位置情報からノイズを除去するフィルタ処理を行い、行動認識部330による行動認識結果を訂正することで、行動認識結果の精度を高めることが可能となる。
[3.3.行動ログ提示処理]
図4の説明に戻り、ユーザは、クライアント端末100を操作して、ユーザの行動ログを閲覧することができる。このとき、ユーザは、クライアント端末100の入力部140から、行動ログを取得する行動ログ要求情報を解析サーバ300に対して送信する(S40)。行動ログ要求情報には、ユーザのユーザIDと、行動ログの提示を要求するメッセージとが含まれる。
図4の説明に戻り、ユーザは、クライアント端末100を操作して、ユーザの行動ログを閲覧することができる。このとき、ユーザは、クライアント端末100の入力部140から、行動ログを取得する行動ログ要求情報を解析サーバ300に対して送信する(S40)。行動ログ要求情報には、ユーザのユーザIDと、行動ログの提示を要求するメッセージとが含まれる。
行動ログ要求情報を受信した解析サーバ300は、制御部320により行動ログDBから該当するユーザの行動ログを取得し、クライアント端末100へ送信する(S50)。行動ログを受信したクライアント端末100は、表示処理部150により行動ログの内容をUIにより表し、表示部160に表示させる(S60)。例えば行動ログの内容は、図2に示すように、クライアント端末100の表示部160に表示される。
[3.4.ユーザによる行動ログの修正処理]
ステップS60によりクライアント端末100に表示された行動ログの内容は、行動修正画面によりユーザにより修正可能である(S70)。行動ログの内容を修正する場合としては、行動認識処理部による行動認識結果が誤っている場合に加え、より詳細な行動内容を表示させたい場合等がある。例えば、表示された行動ログの内容が「(何らかの)乗り物で移動」というものである場合に、どのような乗り物で移動したかまで表示させたい場合等である。
ステップS60によりクライアント端末100に表示された行動ログの内容は、行動修正画面によりユーザにより修正可能である(S70)。行動ログの内容を修正する場合としては、行動認識処理部による行動認識結果が誤っている場合に加え、より詳細な行動内容を表示させたい場合等がある。例えば、表示された行動ログの内容が「(何らかの)乗り物で移動」というものである場合に、どのような乗り物で移動したかまで表示させたい場合等である。
例えば、図18上側に示すように、「乗り物で移動」したことを表す行動認識結果オブジェクトが表示される場合に、行動認識部330の行動認識結果ではどのような乗り物で移動したかまで認識できている場合もある。図18上側に示す3回の「乗り物で移動」について、2回は電車での移動、1回は自動車での移動であることが認識されていたとする。ここで、「乗り物で移動」という行動認識結果を「電車で移動」とユーザが修正し、かつ行動認識結果としても電車で移動したことが得られていた場合、その後、図18下側に示すように、電車で移動と行動認識されたものは「電車で移動」と表示するようにする。なお、ユーザが修正していない「自動車で移動」という内容については、「乗り物で移動」として表示する。
図19および図20に基づいて、ユーザによる行動ログの修正処理の一例を説明する。図19は、ユーザによる行動ログの修正処理を示すフローチャートである。図20は、ユーザによる行動ログの修正処理の操作を説明する説明図である。
ユーザは、行動ログを修正するとき、図19に示すように、まず、修正する行動内容を選択し(S200)、行動内容の修正を行うための行動修正画面を表示させる(S210)。ステップS200での修正内容の選択は、図20左側に示すように、クライアント端末100の表示部160に表示された行動ログ表示画面400において、行動表示領域410に表示される行動認識結果オブジェクト414をタップすることで行うことができる。なお、表示部160の表示領域には、指等の操作体の接触あるいは近接を検出可能なタッチパネルが入力部140として備えられているとする。
制御部120は、表示部160には、タップされた位置Pを視認できるように、タップ表示オブジェクトを表示させてもよい。行動認識結果オブジェクト414がタップされたことが検出されると、制御部120は、表示処理部150に対して処理選択画面430を表示させるように指示し、行動認識結果オブジェクト414の行動内容に対して行う処理をユーザに選択させる。処理選択画面430では、例えば図20中央に示すように、行動内容の詳細情報閲覧や、行動内容の修正等の編集、行動内容の削除等の処理を選択することができる。ユーザは、行動内容の修正を行う際には、処理選択画面430から行動内容を編集する処理をタップして選択し、行動修正画面440を表示させる。
行動修正画面440が表示部160に表示されると、ユーザは、行動修正画面440において修正内容を入力し、行動内容を修正する(S220)。行動修正画面440には、例えば図20右側に示すように、行動ログ(行動セグメント)の開始時間入力領域441、終了時間入力領域443、および行動内容入力領域445がある。ユーザは、修正したい内容の入力領域に修正後の内容を入力して行動ログを修正する。
ここで、行動内容入力領域445は、図20右側に示すように、変更可能な行動内容が修正候補として表示されているプリセット入力領域445aと、ユーザが行動内容を直接入力可能な直接入力領域445bとにより構成してもよい。プリセット入力領域445aでは、「歩き」、「走り」、「自転車で移動」、「その他乗り物で移動」、「滞在」等の行動内容にそれぞれ関連付けられたボタンを選択することで、行動内容を修正できる。プリセット入力領域445aに修正したい行動内容がない場合には、ユーザは、直接入力領域445bに直接行動内容を入力して、行動内容を修正することも可能である。
行動内容の修正を終えると、ユーザは、完了ボタン447をタップして、行動修正画面440に入力した修正内容を行動ログに反映させ、修正処理を完了する(S230)。こうして、ユーザは、行動認識結果を行動修正画面440において容易に修正することが可能となる。
[3.5.修正情報に基づく個人化学習処理]
上述のように、ユーザにより行動内容の修正が行われると、この修正情報を用いて、各ユーザに特有の行動を行動認識処理に反映させて、行動認識結果の精度を向上させることも可能となる(S80)。すなわち、修正情報に基づき行動認識結果の個人化学習を行うことで、ユーザ毎に適切な行動ログを提示することができるようになる。
上述のように、ユーザにより行動内容の修正が行われると、この修正情報を用いて、各ユーザに特有の行動を行動認識処理に反映させて、行動認識結果の精度を向上させることも可能となる(S80)。すなわち、修正情報に基づき行動認識結果の個人化学習を行うことで、ユーザ毎に適切な行動ログを提示することができるようになる。
以下、図21~図31に基づいて、修正情報に基づく個人化学習処理について説明する。なお、図21~図24は、修正情報に基づく個人化学習処理の概要を説明する説明図である。図25は、個人化学習処理を行う機能部を示すブロック図である。図26は、修正部340による個別モデルを考慮した行動認識結果決定処理を示すフローチャートである。図27~図29は、特徴ベクトルについて説明する説明図である。図30は、行動認識結果のマージ処理を説明する説明図である。図31は、個人化学習に利用する行動セグメントの選択条件設定の一例を説明する説明図である。
(1)概要
まず、ユーザによる行動認識結果の修正情報を用いた個人化学習処理の概要を説明する。図21に、行動認識部330による行動認識結果の一例を示す。図21には、あるユーザの、月曜日の午前8時から水曜日の午前8時までの行動ログが示されている。ここで、ユーザが認識可能なラベル情報として、行動セグメントの行動内容(HAct)と、ユーザからの修正情報(Feedback)とがある。また、内部情報として、行動認識処理によって行動セグメントを取得するために用いられる特徴ベクトル情報がある。特徴ベクトル情報としては、例えば、行動認識処理によって取得される単位時間毎の行動認識結果(UnitAct)や、位置情報(location)、曜日(day of the week)、時間(hour)等がある。さらに、天気やその時刻においてクライアント端末100で起動していたアプリケーション等のその他情報(others)を、特徴ベクトルとして利用することもできる。
まず、ユーザによる行動認識結果の修正情報を用いた個人化学習処理の概要を説明する。図21に、行動認識部330による行動認識結果の一例を示す。図21には、あるユーザの、月曜日の午前8時から水曜日の午前8時までの行動ログが示されている。ここで、ユーザが認識可能なラベル情報として、行動セグメントの行動内容(HAct)と、ユーザからの修正情報(Feedback)とがある。また、内部情報として、行動認識処理によって行動セグメントを取得するために用いられる特徴ベクトル情報がある。特徴ベクトル情報としては、例えば、行動認識処理によって取得される単位時間毎の行動認識結果(UnitAct)や、位置情報(location)、曜日(day of the week)、時間(hour)等がある。さらに、天気やその時刻においてクライアント端末100で起動していたアプリケーション等のその他情報(others)を、特徴ベクトルとして利用することもできる。
ここで、ユーザが、月曜日の午後10時の行動セグメントの行動内容を「電車で移動」から「自動車で移動」に修正したとする。この修正情報を受けて、修正部340は当該ユーザの個人化学習を行い、以後、同一の行動パターンにおける同一の行動内容については、修正内容に基づく行動認識がなされるようにする。図21における修正情報によって、図22に示すように、火曜日以降の午後10時の「電車で移動」と認識された行動内容は、「自動車で移動」に修正されるようになる。
修正部340による個人化学習について詳細に説明すると、修正部340は、まず図23に示すように、所定期間(例えば1日)における行動セグメント毎のラベル情報および特徴ベクトル情報を教師データとして、当該ユーザに特化した個別モデルを生成する。そして、修正部340は、次の所定期間の各行動セグメントの行動内容を、生成された個別モデルとその期間の特徴ベクトル情報とに基づいて修正する。これにより、各ユーザに特有の行動内容を認識することを可能にする。
(2)機能構成
図25に、修正部340の個人化学習処理を行う機能部を示す。修正部340は、図25に示すように、特徴ベクトル生成部342と、個別学習部344と、マージ部346とからなる。
図25に、修正部340の個人化学習処理を行う機能部を示す。修正部340は、図25に示すように、特徴ベクトル生成部342と、個別学習部344と、マージ部346とからなる。
特徴ベクトル生成部342は、個別モデルを生成するために用いる特徴ベクトル情報を生成する。特徴ベクトル生成部342は、単位時間毎の行動認識結果(UnitAct)、位置情報(location)、曜日(day of the week)、時間(hour)、天気やクライアント端末100で起動されたアプリケーション等のその他情報(others)等から特徴ベクトル情報を生成する。なお、特徴ベクトル情報の生成処理の詳細については後述する。
個別学習部344は、特徴ベクトル生成部342により生成された特徴ベクトル情報に基づいて学習を行い、各ユーザの個別モデルを生成する。個別学習部344は、例えば、線形SVMやSVM(RBF Kernel)、k-NN、Naive Bayes、Decision Tree、Random Forest、AdaBoost等の学習手法により、個別モデルを生成する。例えば、線形SVMを用いると、計算量も少なく個別モデルを生成することが可能である。
マージ部346は、個別学習部344により生成された個別モデルに基づき取得された行動認識結果と、行動認識部330により取得された行動認識結果とをマージして、最終的な行動認識結果を決定する。マージ部346は、例えば、個別モデルに基づき取得された行動認識結果と、行動認識部330により取得された行動認識結果とを、所定の重みで線形結合し、スコアが最大となる行動認識結果を最終的な行動認識結果とする。
(3)個別モデルを考慮した行動認識結果決定処理
図26に基づき、修正部340による個別モデルを考慮した行動認識結果決定処理を説明する。まず、修正部340の特徴ベクトル生成部342は、各ユーザの個別モデルを生成するために用いる特徴ベクトル情報を生成する(S300)。特徴ベクトル生成部342は、以下のような情報から特徴ベクトルを生成する。
図26に基づき、修正部340による個別モデルを考慮した行動認識結果決定処理を説明する。まず、修正部340の特徴ベクトル生成部342は、各ユーザの個別モデルを生成するために用いる特徴ベクトル情報を生成する(S300)。特徴ベクトル生成部342は、以下のような情報から特徴ベクトルを生成する。
・UnitActヒストグラム
単位時間毎の行動認識結果であるUnitActは、行動認識部330により取得される情報であって、行動セグメントの行動内容は、セグメント区間内のUnitActの時間割合により決定されている。UnitActは複数の行動内容を表しており、例えば以下のような行動内容を表している。
「自転車で移動(Bicycle)」、「バスで移動(Bus)」、
「バスに乗って座っている(Bus Sit)」、
「バスに乗って立っている(BusStand)」、
「自動車で移動(Car)」、「エレベータで降下(ElevDown)」、
「エレベータで上昇(ElevUp)」、「飛び跳ねる(Jump)」、
「(NotCarry)」、「走り(Run)」、「滞在(Still)」、
「座って滞在(StillSit)」、「立って滞在(StillStand)」、
「電車で移動(Train)」、「電車に乗って座っている(TrainSit)」、
「電車に乗って立っている(TrainStand)」、「歩き(Walk)」
単位時間毎の行動認識結果であるUnitActは、行動認識部330により取得される情報であって、行動セグメントの行動内容は、セグメント区間内のUnitActの時間割合により決定されている。UnitActは複数の行動内容を表しており、例えば以下のような行動内容を表している。
「自転車で移動(Bicycle)」、「バスで移動(Bus)」、
「バスに乗って座っている(Bus Sit)」、
「バスに乗って立っている(BusStand)」、
「自動車で移動(Car)」、「エレベータで降下(ElevDown)」、
「エレベータで上昇(ElevUp)」、「飛び跳ねる(Jump)」、
「(NotCarry)」、「走り(Run)」、「滞在(Still)」、
「座って滞在(StillSit)」、「立って滞在(StillStand)」、
「電車で移動(Train)」、「電車に乗って座っている(TrainSit)」、
「電車に乗って立っている(TrainStand)」、「歩き(Walk)」
なお、UnitActで表される行動内容は、以下の内容に限定されず、より多くの行動内容を特定してもよい。例えば、上述のような移動に関する行動内容として、エスカレータ、ロープウェイ、ケーブルカー、バイク、船舶、飛行機などでの移動・上昇・下降を特定してもよい。また、移動行動以外にも、例えば、食事、電話、テレビやビデオの視聴、音楽の、スマートフォン等の移動通信端末の操作、スポーツ(テニス、スキー、釣り等)等の非移動行動を特定してもよい。
特徴ベクトル生成部342は、行動セグメント内に含まれる複数のUnitActに対して、時間割合を求め、行動セグメントのUnitActの時間割合の合計が1.0となるように正規化して、特徴ベクトルとする。例えば、図27に示すように、「電車で移動(Train)」という行動内容の行動セグメントにおいて、「滞在(Still)」、「電車に乗って立っている(TrainStand)」、「立って滞在(StillStand)」という3つの行動内容のUnitActが含まれているとする。このとき、特徴ベクトル生成部342は、行動セグメントの各UnitActの時間割合を算出し、正規化する。
図27の例では、「滞在(Still)」0.2414、「電車に乗って立っている(TrainStand)」0.5134、「立って滞在(StillStand)」0.2452という値が算出され、これらが特徴ベクトルとして用いられる。なお、行動セグメントに含まれていないUnitActの行動内容の特徴ベクトルの値は0となる。
・位置情報
行動セグメント内の緯度経度情報に基づき、位置情報に関する特徴ベクトルを設定してもよい。例えば、行動セグメント内の緯度経度情報の平均値を位置情報に関する特徴ベクトルとしてもよい。あるいは、各ユーザの緯度経度情報の平均値を特徴ベクトルとして、例えばk-means法等の手法を用いてクラスタリングし、各クラスタのidを1-of-k表現によりk次元の特徴ベクトルを生成してもよい。クラスタリングの結果を特徴ベクトルとすることで、ユーザがよくいる場所(例えば、「自宅」、「会社」、「スーパー」等)をk次元の特徴ベクトルにより表すことが可能となる。
行動セグメント内の緯度経度情報に基づき、位置情報に関する特徴ベクトルを設定してもよい。例えば、行動セグメント内の緯度経度情報の平均値を位置情報に関する特徴ベクトルとしてもよい。あるいは、各ユーザの緯度経度情報の平均値を特徴ベクトルとして、例えばk-means法等の手法を用いてクラスタリングし、各クラスタのidを1-of-k表現によりk次元の特徴ベクトルを生成してもよい。クラスタリングの結果を特徴ベクトルとすることで、ユーザがよくいる場所(例えば、「自宅」、「会社」、「スーパー」等)をk次元の特徴ベクトルにより表すことが可能となる。
・移動情報
行動セグメント内の位置情報を用いて、ユーザの移動方向、移動量を表す移動ベクトルを特徴ベクトルとして設定してもよい。例えば、移動方向および移動量から3次元の特徴ベクトルを生成することができる。
行動セグメント内の位置情報を用いて、ユーザの移動方向、移動量を表す移動ベクトルを特徴ベクトルとして設定してもよい。例えば、移動方向および移動量から3次元の特徴ベクトルを生成することができる。
・セグメントの時間長さ
セグメントの時間長さ(hour)を1次元の特徴量としてもよい。
セグメントの時間長さ(hour)を1次元の特徴量としてもよい。
・曜日情報
行動セグメントの行動内容が行われた曜日を特徴ベクトルとしてもよい。例えば、曜日を、7日間を一周とする円のsin値、cos値を特徴ベクトル(各2次元)としてもよい。このとき、図28に示すように、各曜日における時間は、例えば(x,y)=(1,1)を中心とする半径1の円におけるx座標(1+sinθ)およびy座標(1+cosθ)で表すことができる。例えば、月曜日の午前0時であれば、(x,y)=(1+sin0°,1+cos0°)と表される。
行動セグメントの行動内容が行われた曜日を特徴ベクトルとしてもよい。例えば、曜日を、7日間を一周とする円のsin値、cos値を特徴ベクトル(各2次元)としてもよい。このとき、図28に示すように、各曜日における時間は、例えば(x,y)=(1,1)を中心とする半径1の円におけるx座標(1+sinθ)およびy座標(1+cosθ)で表すことができる。例えば、月曜日の午前0時であれば、(x,y)=(1+sin0°,1+cos0°)と表される。
あるいは、日曜~土曜までの7日間を、1-of-K表現により7次元の特徴ベクトルとして表してもよい。また、平日または休日の2つを、1-of-K表現により、2次元の特徴ベクトルとして表してもよい。
・時間情報
行動セグメントの行動内容が行われた各時間を特徴ベクトルとしてもよい。時間情報についても、曜日情報と同様、例えば24時間を一周とする円のsin値、cos値を特徴ベクトル(各2次元)としてもよい。このとき、図29に示すように、各時間は、例えば(x,y)=(1,1)を中心とする半径1の円におけるx座標(1+sinθ)およびy座標(1+cosθ)で表すことができる。例えば、18時であれば、(x,y)=(1+sin270°,1+cos270°)と表される。あるいは、0~23時までの24時間を、1-of-K表現により24次元の特徴ベクトルとして表してもよい。
行動セグメントの行動内容が行われた各時間を特徴ベクトルとしてもよい。時間情報についても、曜日情報と同様、例えば24時間を一周とする円のsin値、cos値を特徴ベクトル(各2次元)としてもよい。このとき、図29に示すように、各時間は、例えば(x,y)=(1,1)を中心とする半径1の円におけるx座標(1+sinθ)およびy座標(1+cosθ)で表すことができる。例えば、18時であれば、(x,y)=(1+sin270°,1+cos270°)と表される。あるいは、0~23時までの24時間を、1-of-K表現により24次元の特徴ベクトルとして表してもよい。
・その他の特徴ベクトル
上述の情報以外に、個人により異なった状況が現れる、測定可能な情報を用いて、特徴ベクトルを設定してもよい。例えば、行動が行われたときの天気を特徴ベクトルとしてもよい。天気情報により、例えば、雨だとバスで移動、晴れだと歩き、といった行動の特徴を認識することができる。あるいは、ユーザが行動を行った際にクライアント端末100で起動しているアプリケーションや聞いている音楽等によっても、行動の特徴を認識することができる。
上述の情報以外に、個人により異なった状況が現れる、測定可能な情報を用いて、特徴ベクトルを設定してもよい。例えば、行動が行われたときの天気を特徴ベクトルとしてもよい。天気情報により、例えば、雨だとバスで移動、晴れだと歩き、といった行動の特徴を認識することができる。あるいは、ユーザが行動を行った際にクライアント端末100で起動しているアプリケーションや聞いている音楽等によっても、行動の特徴を認識することができる。
特徴ベクトル生成部342は、このような情報に基づき特徴ベクトル情報を生成する。特徴ベクトル情報が生成されると、個別学習部344は、個別学習処理により、各ユーザの特徴的な行動を認識するための個別モデルを生成する(S310)。個別学習部344は、上述したような線形SVMやSVM(RBF Kernel)、k-NN、Naive Bayes、Decision Tree、Random Forest、AdaBoost等の学習手法により、個別モデルを生成する。
その後、マージ部346により、個別学習部344により生成された個別モデルに基づき取得された行動認識結果と、行動認識部330により取得された行動認識結果とがマージされ(S320)、最終的な行動認識結果が決定される(S330)。マージ部346は、例えば、個別モデルに基づき取得された行動認識結果(PAct)と、行動認識部330により取得された行動認識結果(HAct)とを、下記式(1)のように重みaで線形結合し、個別モデルを考慮した行動認識結果(Merge)を得る。
Merge=HAct×a+PAct×(1-a) ・・・(1)
このとき、行動認識結果(HAct)と行動認識結果(PAct)とを正規化し、同等に評価できるようにする。正規化は、例えば、行動認識部330により取得された行動認識結果(HAct)については、行動セグメント内に含まれるエレメント(1分ごとの結果)が長さ1.0になるようにしてもよい。また、行動認識結果(PAct)については、例えば学習手法としてSVMを用いた場合、SVMの超平面までの距離を最小値0、最大値1として正規化してもよい。また、これらの行動認識結果を線形結合する重みaは、適宜設定可能であり、例えば0.4としてもよい。
図30にマージ部346によるマージ処理の一例を示す。図30では、行動認識部330による行動セグメントの行動認識結果として、「自転車で移動(Bicycle)」という結果が得られている。この行動セグメントは、「自転車で移動(Bicycle)」と「走り(Run)」との2つのエレメントから構成されており、行動セグメント内の時間割合によってそれぞれスコアが決定されている。この内容が行動認識結果(HAct)となる。図30の例では、行動認識結果(HAct)では、「自転車で移動(Bicycle)」が最大スコアである。
一方、個別モデルに基づく行動認識結果(PAct)では、「走り(Run)」が最大スコアとなっている。このユーザ特有の行動を反映させるため、重みを0.4として、上記式(1)に基づき行動認識結果(HAct)と行動認識結果(PAct)とをマージすると、個別モデルを考慮した行動認識結果(Merge)の最大スコアの行動内容は「走り(Run)」となる。このように、ユーザ特有の行動を考慮しない行動認識結果(HAct)では特定されない行動内容が、最終的な行動結果となる。
このように、修正部340により、修正情報を用いて各ユーザに特有の行動を行動認識処理に反映させることで、行動認識結果の精度を向上させることが可能となる。
(4)修正情報のフィードバックに関するフィルタ処理
ユーザによる行動内容の修正情報を用いて各ユーザに特有の行動を行動認識処理に反映させると、行動認識結果の精度が向上されるが、よりユーザの意図するように修正情報が反映されるよう、フィードバックする修正情報にフィルタをかけてもよい。
ユーザによる行動内容の修正情報を用いて各ユーザに特有の行動を行動認識処理に反映させると、行動認識結果の精度が向上されるが、よりユーザの意図するように修正情報が反映されるよう、フィードバックする修正情報にフィルタをかけてもよい。
行動認識結果(HAct)と行動認識結果(PAct)とのマージ処理は、ユーザ特有の行動を行動認識処理に反映できるが、例えば個別モデルの学習サンプル数が少ないと、行動認識結果(HAct)のみの行動認識結果の精度を下回ることがある。そこで、ユーザが過去に修正したことのあるパターンの修正情報のみを反映させるようにしてもよい。
例えば、あるユーザによる修正情報が「電車で移動」から「自動車で移動」というもののみだったとする。このとき、未来の区間を予測する際に、行動認識結果(HAct)が「電車で移動」、個別モデルを考慮した行動認識結果(Merge)が「自動車で移動」であれば、このフィルタを通過して、最終的な行動認識結果を「自動車で移動」とする。一方、行動認識結果(HAct)が「歩き」、個別モデルを考慮した行動認識結果(Merge)が「自動車で移動」であれば、このフィルタを通過することができず、最終的な行動認識結果は「歩き」とする。
このようなフィードバックする修正情報にフィルタをかけることで、ユーザが一度も修正したことないパターンにおいては行動認識結果(HAct)の性能と等価の結果を出力できるとともに、修正したことがあるパターンでは個別モデルを考慮した出力となる。このような結果は、ユーザ体験的にも納得性がある結果になる。
なお、このフィードバックする修正情報のフィルタ処理は、過去に1回でも行われたパターンでの修正では個別モデルを考慮した行動認識結果(Merge)を用いるようにしてもよい。あるいは、過去に同一内容のパターンで修正された回数が所定回数(例えば3回)を超えた場合に、個別モデルを考慮した行動認識結果(Merge)を用いるようにしてもよい。
また、ユーザに提示された行動認識結果を、ユーザが必ず確認し、必ず適切に修正するとは限らない。例えばユーザが行動認識結果を確認することなく、行動内容の修正情報が入力されない場合もある。このとき、修正部340は、ユーザからの修正情報の入力があった所定区間の情報のみを用いて、個別モデルの学習に用いてもよい。例えば図31に示すように、所定区間(例えば1日)毎に修正情報の有無をみて、少なくとも1回は修正情報の入力が行われた区間の行動セグメントの情報のみを用いて個別モデルの学習を行う。これにより、ユーザが意図的に修正した行動内容をユーザ特有の行動として、適切に個別モデルに反映させることが可能となる。
<4.まとめ>
以上、本実施形態に係る行動ログ表示システムの構成と、当該システムにおける処理について説明した。本実施形態に係る行動ログ表示システムでは、ユーザに提示する行動ログの内容がより正しいものとなるようにする判定処理を行うとともに、さらにユーザによる行動ログの修正を受けて、その後の行動認識処理に反映させるようにする。これにより、行動ログを、ユーザの意図に沿った、正しい内容でユーザに提示することができる。
以上、本実施形態に係る行動ログ表示システムの構成と、当該システムにおける処理について説明した。本実施形態に係る行動ログ表示システムでは、ユーザに提示する行動ログの内容がより正しいものとなるようにする判定処理を行うとともに、さらにユーザによる行動ログの修正を受けて、その後の行動認識処理に反映させるようにする。これにより、行動ログを、ユーザの意図に沿った、正しい内容でユーザに提示することができる。
<5.ハードウェア構成例>
最後に、本実施形態に係るクライアント端末100、ログサーバ200および解析サーバ300のハードウェア構成例について説明する。これらの機器は同様に構成することができるため、以下では、クライアント端末100を例として説明する。図32は、本実施形態に係るクライアント端末100のハードウェア構成を示すハードウェア構成図である。
最後に、本実施形態に係るクライアント端末100、ログサーバ200および解析サーバ300のハードウェア構成例について説明する。これらの機器は同様に構成することができるため、以下では、クライアント端末100を例として説明する。図32は、本実施形態に係るクライアント端末100のハードウェア構成を示すハードウェア構成図である。
本実施形態に係るクライアント端末100は、上述したように、コンピュータ等の処理装置により実現することができる。クライアント端末100は、図32に示すように、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904aとを備える。また、クライアント端末100は、ブリッジ904と、外部バス904bと、インタフェース905と、入力装置906と、出力装置907と、ストレージ装置908と、ドライブ909と、接続ポート911と、通信装置913とを備える。
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従ってクライアント端末100内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバスなどから構成されるホストバス904aにより相互に接続されている。
ホストバス904aは、ブリッジ904を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス904bに接続されている。なお、必ずしもホストバス904a、ブリッジ904および外部バス904bを分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
入力装置906は、マウス、キーボード、タッチパネル、ボタン、マイク、スイッチおよびレバーなどユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。出力装置907は、例えば、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置や、スピーカなどの音声出力装置を含む。
ストレージ装置908は、クライアント端末100の記憶部の一例であり、データ格納用の装置である。ストレージ装置908は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置などを含んでもよい。このストレージ装置908は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
ドライブ909は、記憶媒体用リーダライタであり、クライアント端末100に内蔵、あるいは外付けされる。ドライブ909は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体に記録されている情報を読み出して、RAM903に出力する。
接続ポート911は、外部機器と接続されるインタフェースであって、例えばUSB(Universal Serial Bus)などによりデータ伝送可能な外部機器との接続口である。また、通信装置913は、例えば、通信網5に接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置913は、無線LAN(Local Area Network)対応通信装置であっても、ワイヤレスUSB対応通信装置であっても、有線による通信を行うワイヤー通信装置であってもよい。
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
例えば、上記実施形態では、クライアント端末100、ログサーバ200および解析サーバ300からなる行動ログ表示システムについて説明したが、本技術はかかる例に限定されない。例えば、クライアント端末100、ログサーバ200および解析サーバ300の機能を1つに備える情報処理端末500により、上述の行動ログ表示システムの機能を実現してもよい。情報処理端末500は、例えばユーザが保持して使用する端末等が想定される。
例えば、図33に示すように、情報処理端末500は、センサ部510と、制御部520と、ログDB530と、入力部540と、表示処理部552と、表示部554と、行動認識部560と、修正部570と、行動ログDB580と、解析DB590とからなる。センサ部510、入力部540、表示処理部552、表示部554は、上述のクライアント端末100として機能し、ログDB530は、上述のログサーバ200として機能する。また、行動認識部560、修正部570、行動ログDB580、解析DB590は、上述の解析サーバ300として機能し、制御部520は、クライアント端末100、ログサーバ200および解析サーバ300の制御部の機能を実現する。
また、クライアント端末100、ログサーバ200および解析サーバ300の機能は、図33に示すように1つにまとめる以外にも、システムの構成に応じて、適宜端末やサーバにより実行させることは可能である。
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
なお、以下のような構成も本開示の技術的範囲に属する。
(1)
センサ情報に基づいてユーザの行動を認識する行動認識部と、
当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正する修正部と、
を備える、情報処理装置。
(2)
前記修正部は、前記修正情報に基づきユーザの行動を反映させる学習を行い、行動認識結果を修正する、前記(1)に記載の情報処理装置。
(3)
前記修正部は、
同一行動を行っている区間と認識された行動セグメントについて、当該行動セグメントにおけるユーザの行動を表す特徴ベクトルを生成する特徴ベクトル生成部と、
前記特徴ベクトルに基づいて学習し、行動認識を行う個別学習部と、
前記行動認識部による行動認識結果と前記個別学習部による行動認識結果とをマージして、最終的な行動認識結果を決定するマージ部と、
を備える、前記(2)に記載の情報処理装置。
(4)
前記特徴ベクトルは、単位時間毎の詳細な行動内容を表す詳細行動情報、位置情報、時間情報、または曜日のうち、少なくともいずれか1つを含んでなる、前記(3)に記載の情報処理装置。
(5)
前記マージ部は、前記行動認識部による行動認識結果と前記個別学習部による行動認識結果とに対し所定の重み付けをして線形結合し、スコアが最大となる行動を最終的な行動認識結果として決定する、前記(3)または(4)に記載の情報処理装置。
(6)
前記修正部は、所定期間毎に前記修正情報に基づきユーザの行動を反映させる学習を行い、ユーザにより行動認識結果が修正されなかった期間の行動認識結果は学習には用いない、前記(2)~(5)のいずれか1項に記載の情報処理装置。
(7)
前記修正部は、ユーザが過去に修正を行ったときと同一パターンであるときのみ、行動認識結果を修正する、前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)
前記修正部は、ユーザの行動を表す特徴ベクトルのうち、少なくとも位置情報、時間情報および曜日が一致した場合に、行動認識結果を修正する、前記(7)に記載の情報処理装置。
(9)
行動認識結果は、表示部に表示され、
行動認識結果が修正情報に基づき修正されると、修正された行動認識結果が前記表示部に表示される、前記(1)~(8)のいずれか1項に記載の情報処理装置。
(10)
前記表示部に表示された行動認識結果を表すオブジェクトの選択を受けて、行動内容を修正する行動修正画面を表示させ、前記行動修正画面から入力された行動内容を修正情報として取得する、表示処理部を備える、前記(9)に記載の情報処理装置。
(11)
前記行動修正画面には、変更可能な行動内容が修正候補として表示され、
前記表示処理部は、前記修正候補から選択された行動内容を修正情報として取得する、前記(10)に記載の情報処理装置。
(12)
前記行動修正画面には、ユーザが行動内容を直接入力可能な直接入力領域が設けられ、
前記表示処理部は、前記直接入力領域に入力された行動内容を修正情報として取得する、前記(10)または(11)に記載の情報処理装置。
(13)
前記修正情報は、行動認識結果の誤りを正す情報である、前記(1)~(12)のいずれか1項に記載の情報処理装置。
(14)
前記修正情報は、行動認識結果をより詳細な行動に変更する情報である、前記(1)~(12)のいずれか1項に記載の情報処理装置。
(15)
センサ情報に基づいてユーザの行動を認識すること、
当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正すること、
を含む、情報処理方法。
(1)
センサ情報に基づいてユーザの行動を認識する行動認識部と、
当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正する修正部と、
を備える、情報処理装置。
(2)
前記修正部は、前記修正情報に基づきユーザの行動を反映させる学習を行い、行動認識結果を修正する、前記(1)に記載の情報処理装置。
(3)
前記修正部は、
同一行動を行っている区間と認識された行動セグメントについて、当該行動セグメントにおけるユーザの行動を表す特徴ベクトルを生成する特徴ベクトル生成部と、
前記特徴ベクトルに基づいて学習し、行動認識を行う個別学習部と、
前記行動認識部による行動認識結果と前記個別学習部による行動認識結果とをマージして、最終的な行動認識結果を決定するマージ部と、
を備える、前記(2)に記載の情報処理装置。
(4)
前記特徴ベクトルは、単位時間毎の詳細な行動内容を表す詳細行動情報、位置情報、時間情報、または曜日のうち、少なくともいずれか1つを含んでなる、前記(3)に記載の情報処理装置。
(5)
前記マージ部は、前記行動認識部による行動認識結果と前記個別学習部による行動認識結果とに対し所定の重み付けをして線形結合し、スコアが最大となる行動を最終的な行動認識結果として決定する、前記(3)または(4)に記載の情報処理装置。
(6)
前記修正部は、所定期間毎に前記修正情報に基づきユーザの行動を反映させる学習を行い、ユーザにより行動認識結果が修正されなかった期間の行動認識結果は学習には用いない、前記(2)~(5)のいずれか1項に記載の情報処理装置。
(7)
前記修正部は、ユーザが過去に修正を行ったときと同一パターンであるときのみ、行動認識結果を修正する、前記(1)~(6)のいずれか1項に記載の情報処理装置。
(8)
前記修正部は、ユーザの行動を表す特徴ベクトルのうち、少なくとも位置情報、時間情報および曜日が一致した場合に、行動認識結果を修正する、前記(7)に記載の情報処理装置。
(9)
行動認識結果は、表示部に表示され、
行動認識結果が修正情報に基づき修正されると、修正された行動認識結果が前記表示部に表示される、前記(1)~(8)のいずれか1項に記載の情報処理装置。
(10)
前記表示部に表示された行動認識結果を表すオブジェクトの選択を受けて、行動内容を修正する行動修正画面を表示させ、前記行動修正画面から入力された行動内容を修正情報として取得する、表示処理部を備える、前記(9)に記載の情報処理装置。
(11)
前記行動修正画面には、変更可能な行動内容が修正候補として表示され、
前記表示処理部は、前記修正候補から選択された行動内容を修正情報として取得する、前記(10)に記載の情報処理装置。
(12)
前記行動修正画面には、ユーザが行動内容を直接入力可能な直接入力領域が設けられ、
前記表示処理部は、前記直接入力領域に入力された行動内容を修正情報として取得する、前記(10)または(11)に記載の情報処理装置。
(13)
前記修正情報は、行動認識結果の誤りを正す情報である、前記(1)~(12)のいずれか1項に記載の情報処理装置。
(14)
前記修正情報は、行動認識結果をより詳細な行動に変更する情報である、前記(1)~(12)のいずれか1項に記載の情報処理装置。
(15)
センサ情報に基づいてユーザの行動を認識すること、
当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正すること、
を含む、情報処理方法。
100 クライアント端末
110 センサ部
120 制御部
130 通信部
140 入力部
150 表示処理部
160 表示部
200 ログサーバ
210 通信部
220 制御部
230 ログDB
300 解析サーバ
310 通信部
320 制御部
330 行動認識部
340 修正部
342 特徴ベクトル生成部
344 個別学習部
346 マージ部
350 行動ログDB
360 解析DB
400 行動ログ表示画面
410 行動表示領域
412 時間軸
414 行動認識結果オブジェクト
420 サマリー領域
430 処理選択画面
440 行動修正画面
500 情報処理端末
110 センサ部
120 制御部
130 通信部
140 入力部
150 表示処理部
160 表示部
200 ログサーバ
210 通信部
220 制御部
230 ログDB
300 解析サーバ
310 通信部
320 制御部
330 行動認識部
340 修正部
342 特徴ベクトル生成部
344 個別学習部
346 マージ部
350 行動ログDB
360 解析DB
400 行動ログ表示画面
410 行動表示領域
412 時間軸
414 行動認識結果オブジェクト
420 サマリー領域
430 処理選択画面
440 行動修正画面
500 情報処理端末
Claims (15)
- センサ情報に基づいてユーザの行動を認識する行動認識部と、
当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正する修正部と、
を備える、情報処理装置。 - 前記修正部は、前記修正情報に基づきユーザの行動を反映させる学習を行い、行動認識結果を修正する、請求項1に記載の情報処理装置。
- 前記修正部は、
同一行動を行っている区間と認識された行動セグメントについて、当該行動セグメントにおけるユーザの行動を表す特徴ベクトルを生成する特徴ベクトル生成部と、
前記特徴ベクトルに基づいて学習し、行動認識を行う個別学習部と、
前記行動認識部による行動認識結果と前記個別学習部による行動認識結果とをマージして、最終的な行動認識結果を決定するマージ部と、
を備える、請求項2に記載の情報処理装置。 - 前記特徴ベクトルは、単位時間毎の詳細な行動内容を表す詳細行動情報、位置情報、時間情報、または曜日のうち、少なくともいずれか1つを含んでなる、請求項3に記載の情報処理装置。
- 前記マージ部は、前記行動認識部による行動認識結果と前記個別学習部による行動認識結果とに対し所定の重み付けをして線形結合し、スコアが最大となる行動を最終的な行動認識結果として決定する、請求項3に記載の情報処理装置。
- 前記修正部は、所定期間毎に前記修正情報に基づきユーザの行動を反映させる学習を行い、ユーザにより行動認識結果が修正されなかった期間の行動認識結果は学習には用いない、請求項2に記載の情報処理装置。
- 前記修正部は、ユーザが過去に修正を行ったときと同一パターンであるときのみ、行動認識結果を修正する、請求項1に記載の情報処理装置。
- 前記修正部は、ユーザの行動を表す特徴ベクトルのうち、少なくとも位置情報、時間情報および曜日が一致した場合に、行動認識結果を修正する、請求項7に記載の情報処理装置。
- 行動認識結果は、表示部に表示され、
行動認識結果が修正情報に基づき修正されると、修正された行動認識結果が前記表示部に表示される、請求項1に記載の情報処理装置。 - 前記表示部に表示された行動認識結果を表すオブジェクトの選択を受けて、行動内容を修正する行動修正画面を表示させ、前記行動修正画面から入力された行動内容を修正情報として取得する、表示処理部を備える、請求項9に記載の情報処理装置。
- 前記行動修正画面には、変更可能な行動内容が修正候補として表示され、
前記表示処理部は、前記修正候補から選択された行動内容を修正情報として取得する、請求項10に記載の情報処理装置。 - 前記行動修正画面には、ユーザが行動内容を直接入力可能な直接入力領域が設けられ、
前記表示処理部は、前記直接入力領域に入力された行動内容を修正情報として取得する、請求項10に記載の情報処理装置。 - 前記修正情報は、行動認識結果の誤りを正す情報である、請求項1に記載の情報処理装置。
- 前記修正情報は、行動認識結果をより詳細な行動に変更する情報である、請求項1に記載の情報処理装置。
- センサ情報に基づいてユーザの行動を認識すること、
当該ユーザの行動に対する修正情報に応じて、当該ユーザの行動を反映させるように行動認識結果を修正すること、
を含む、情報処理方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014106143 | 2014-05-22 | ||
JP2014-106143 | 2014-05-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015178066A1 true WO2015178066A1 (ja) | 2015-11-26 |
Family
ID=54553743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/056211 WO2015178066A1 (ja) | 2014-05-22 | 2015-03-03 | 情報処理装置および情報処理方法 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2015178066A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018106249A (ja) * | 2016-12-22 | 2018-07-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019049889A (ja) * | 2017-09-11 | 2019-03-28 | 株式会社日立製作所 | 学習装置、および学習方法 |
CN112132376A (zh) * | 2020-07-14 | 2020-12-25 | 同济大学 | 一种非机动车骑行品质评价方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06290297A (ja) * | 1993-04-02 | 1994-10-18 | Sharp Corp | 文字認識装置 |
JP2005078287A (ja) * | 2003-08-29 | 2005-03-24 | Toshiba Corp | 文字認識装置、文字認識プログラム |
JP2013003649A (ja) * | 2011-06-13 | 2013-01-07 | Sony Corp | 情報処理装置、情報処理方法およびコンピュータプログラム |
JP2013041323A (ja) * | 2011-08-11 | 2013-02-28 | Nec Corp | 行動識別装置、行動識別方法、及びプログラム |
-
2015
- 2015-03-03 WO PCT/JP2015/056211 patent/WO2015178066A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06290297A (ja) * | 1993-04-02 | 1994-10-18 | Sharp Corp | 文字認識装置 |
JP2005078287A (ja) * | 2003-08-29 | 2005-03-24 | Toshiba Corp | 文字認識装置、文字認識プログラム |
JP2013003649A (ja) * | 2011-06-13 | 2013-01-07 | Sony Corp | 情報処理装置、情報処理方法およびコンピュータプログラム |
JP2013041323A (ja) * | 2011-08-11 | 2013-02-28 | Nec Corp | 行動識別装置、行動識別方法、及びプログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018106249A (ja) * | 2016-12-22 | 2018-07-05 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2019049889A (ja) * | 2017-09-11 | 2019-03-28 | 株式会社日立製作所 | 学習装置、および学習方法 |
CN112132376A (zh) * | 2020-07-14 | 2020-12-25 | 同济大学 | 一种非机动车骑行品质评价方法 |
CN112132376B (zh) * | 2020-07-14 | 2023-02-07 | 同济大学 | 一种非机动车骑行品质评价方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6777201B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US10951602B2 (en) | Server based methods and systems for conducting personalized, interactive and intelligent searches | |
CN107172590B (zh) | 基于移动终端的活动状态信息处理方法、装置及移动终端 | |
JP6572886B2 (ja) | 情報処理装置および情報処理方法 | |
US10956007B2 (en) | Electronic device and method for providing search result thereof | |
US10016165B2 (en) | Information processing apparatus, information processing method, and program | |
KR102446811B1 (ko) | 복수의 디바이스들로부터 수집된 데이터 통합 및 제공 방법 및 이를 구현한 전자 장치 | |
US20170132821A1 (en) | Caption generation for visual media | |
CN102985897B (zh) | 高效姿势处理 | |
JP5904021B2 (ja) | 情報処理装置、電子機器、情報処理方法、及びプログラム | |
US9582755B2 (en) | Aggregate context inferences using multiple context streams | |
US9299350B1 (en) | Systems and methods for identifying users of devices and customizing devices to users | |
CN109427333A (zh) | 激活语音识别服务的方法和用于实现所述方法的电子装置 | |
JP6742380B2 (ja) | 電子装置 | |
JPWO2018116862A1 (ja) | 情報処理装置および方法、並びにプログラム | |
CN105493187A (zh) | 用于动态调整视频回放速度的技术 | |
CN107004124B (zh) | 使用生物信号识别用户的方法和设备 | |
CN107241697A (zh) | 用于移动终端的用户行为确定方法、装置及移动终端 | |
CN110799946B (zh) | 多应用用户兴趣存储器管理 | |
WO2015178066A1 (ja) | 情報処理装置および情報処理方法 | |
KR20180014626A (ko) | 차량 탑승 인식 방법 및 이를 구현한 전자 장치 | |
CN110998507A (zh) | 电子装置及其用于提供搜索结果的方法 | |
JP2018133696A (ja) | 車載装置、コンテンツ提供システムおよびコンテンツ提供方法 | |
CN107368553B (zh) | 基于活动状态提供搜索建议词的方法及装置 | |
Jafarnejad | Machine learning-based methods for driver identification and behavior assessment: Applications for can and floating car data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15796443 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
NENP | Non-entry into the national phase |
Ref country code: JP |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15796443 Country of ref document: EP Kind code of ref document: A1 |