WO2020241467A1 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
WO2020241467A1
WO2020241467A1 PCT/JP2020/020220 JP2020020220W WO2020241467A1 WO 2020241467 A1 WO2020241467 A1 WO 2020241467A1 JP 2020020220 W JP2020020220 W JP 2020020220W WO 2020241467 A1 WO2020241467 A1 WO 2020241467A1
Authority
WO
WIPO (PCT)
Prior art keywords
label
class
information
database
information processing
Prior art date
Application number
PCT/JP2020/020220
Other languages
English (en)
French (fr)
Inventor
敦 根岸
荘太 松澤
石井 保
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2020241467A1 publication Critical patent/WO2020241467A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/909Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location

Definitions

  • the present technology relates to an information processing device, an information processing method and a program, and more particularly to an information processing device capable of satisfactorily assigning labels to each class obtained by clustering sensor data.
  • Patent Document 1 discloses a technique capable of improving the quality of labels used for supervised learning.
  • the purpose of this technology is to enable good labeling of each class obtained by clustering sensor data.
  • the concept of this technology is A process of clustering the first sensor data including position information to obtain a class, a process of extracting a label using the second sensor data including text input information, and adding the label to the related class. It is in an information processing device equipped with a control unit that controls processing.
  • processing is performed to obtain a class by clustering the first sensor data including position information.
  • a process of extracting a label is performed using the second sensor data including the text input information.
  • the process of adding the label to the related class is performed.
  • the database is constructed.
  • control unit may determine the relationship between the label and the class based on the time stamp added to the second sensor data and the time stamp added to the first sensor data. .. Further, for example, the control unit indicates the relationship between the label and the location class by text input information in addition to the time stamp added to the second sensor data and the time stamp added to the first sensor data. Judgment may be made based on the time stamp of the message.
  • the first sensor data or the second sensor data may include at least one of payment information, behavior information, biometric information, and environmental information.
  • the control unit may be controlled to repeatedly execute the process at a predetermined cycle.
  • control unit may be controlled to suspend processing when the state of the database obtained by adding a label to the related class satisfies a predetermined condition.
  • the predetermined conditions are that the number of labels in the entire database is the set value, the number of classes in the entire database is the set value, and the number of classes in which the number of labels in the entire database is equal to or greater than the threshold value is the set value. It may be made to be at least one of the things that become.
  • a label extracted from the second sensor data including the text input information is added to each class obtained by clustering the first sensor data including the position information. Therefore, it becomes possible to give a label to each class satisfactorily. That is, manual labeling is not required, and labeling suitable for each user is possible.
  • control unit may control the process of assigning an evaluation value to a label in a database obtained by adding a label to a related class.
  • the process of assigning an evaluation value to a label may be executed at least when the database is constructed or when the database is used.
  • the evaluation value given to the label is set based on at least one of the number of characters, the morpheme number, the frequency of use by others, the emotional index calculated from the biological signal, and the number of labels. May be done. Further, in this case, for example, when using the database, the evaluation value given to the label is set based on at least one of the frequency of use at the time of presenting the label, the date of addition of the label, and the date of last use of the label. May be made.
  • a class in the own user's database obtained by adding a label to a related class is associated with a corresponding location class in another user's database by a common class ID. May be good.
  • the other user may be selected by utilizing the relationship with the own user.
  • a process of clustering sensor data including position information to obtain a class in the database to which the sensor data belongs, a process of acquiring a label of the obtained class from the database, and a predetermined process using the acquired label. It is in an information processing device that has a control unit that controls the process of generating the output of the service.
  • sensor data including position information is clustered, and a class in the database to which this sensor data belongs is required. Also, the label of this sought class is retrieved from the database. Then, the output of the predetermined service using the acquired label is generated.
  • the predetermined services include messaging, situation sharing, household account book, behavior visualization and analysis, and voice interaction.
  • FIG. 1 shows a configuration example of the information processing system 10 as an embodiment.
  • the information processing system 10 includes a user terminal 100, another user terminal 200, an internal service server 300 and an external service server 400 existing on the Internet.
  • the external service server 400 includes various servers, for example, a server for a message application, a server related to payment, a server of SNS (Social Networking Service), and the like.
  • the user terminal 100 is a self-user terminal and is composed of a smartphone, a wearable device, and the like. Like the user terminal 100, the other user terminal 200 is also composed of a smartphone, a wearable device, and the like. The user terminal 100 and the other user terminal 200 can be connected to the internal service server 300 and the external service server 400 existing on the Internet.
  • the internal service server 300 processes the location information and the text input information sent from the user terminal 100 to construct and hold a database. In this case, the internal service server 300 clusters the location information to obtain the location class, extracts the label using the text input information, and adds the label to the related location class to obtain the location class and the label. Build a database.
  • FIG. 2 shows an example of actual position information.
  • the position information is mapped on the map.
  • the place class obtained by clustering the position information is shown.
  • the label "company” is added (assigned) to the place class A
  • the label "bookstore” is added (assigned) to the place class B.
  • the database of the user terminal 100 is constructed and held by the internal service server 300, it is also conceivable that the user terminal 100 builds and holds the database. In the following, the database of the user terminal 100 will be described as being constructed and held by the internal service server 300.
  • the internal service server 300 processes the location information and the text input information sent from the other user terminal 200 to construct and hold the database of the other user terminal 200.
  • FIG. 3 shows a configuration example of the user terminal 100 and the internal service server 300.
  • the user terminal 100 has an input unit 101, a data holding unit 102, a processing unit 103, and an output unit 104.
  • the input unit 101 includes a microphone, a camera, antennas, touch sensors, physical buttons, myoelectric sensors, heart rate sensors, body temperature sensors, sweating sensors, brain wave sensors, position sensors, and the like.
  • Various data (information) obtained by the input unit 101 are held in the data holding unit 102.
  • the processing unit 103 includes a data analysis unit, a service execution unit, a communication unit, and the like.
  • the output unit 104 includes a display, a speaker, an actuator, an LED (light emission diode), and the like.
  • the internal service server 300 has a data holding unit 301 and a processing unit 302.
  • the processing unit 302 has a data analysis unit.
  • the internal service server 300 processes the location information and the text input information sent from the user terminal 100 to construct and hold a database.
  • FIG. 4 flowchart shows an example of the procedure of the database construction process in the internal service server 300.
  • This data construction process is a process of obtaining a database of the data A group from the position information constituting the data A group and the text input information constituting the data B group.
  • FIG. 5 shows information obtained from the input unit 101 of the user terminal 100, so-called sensor data.
  • This sensor data includes location information, text input information, payment information, behavior information, biometric information, environmental information, and the like.
  • Location information consists of information such as time, latitude, longitude, and accuracy, for example. This location information has a high correlation with the meaning of the user's behavior.
  • the text input information is, for example, information transmitted by a message application or SNS, information input by a search of a map application or a browser, information converted into text by keyboard input by a touch sensor, voice input by a microphone, or the like.
  • This text input information often includes the meaning of the user's behavior. Although the description is omitted, information on the time when the text input information is transmitted or input is added to the text input information.
  • Payment information consists of information such as time, amount, and details. This payment information can be obtained by electronic money or credit card payment.
  • the action information consists of information such as time, acceleration, angular velocity, and action class. Here, the action classes are walking, running, getting in a car, and so on.
  • Biological information consists of information such as time, pulse wave, sweating, facial expression, voice, brain wave, and physical condition. This biological information is related to exercise and emotional changes.
  • Environmental information consists of information such as time, sound, moving image, illuminance, weather, wind speed, and environmental sound. This environmental information is general information on the outside world surrounding the user, and may be own data or data of another person.
  • the internal service server 300 performs preprocessing in step ST1.
  • preprocessing invalid data is excluded, data is complemented, time stamp (time) is used as a primary key, and normalization is performed in a form that can be cross-referenced.
  • General processing is applied depending on the type of information in order to exclude invalid data. For example, with respect to position information, outliers are excluded from accuracy, speed (difference from the immediately preceding positioning point), and angle (angle formed by the three positioning points). Also, in order to complement the data, general processing is applied depending on the type of information. For example, when the position information at a certain time point is missing, it is complemented with an intermediate value of the position information at the time point before and after that point.
  • the internal service server 300 clusters the data group A in step ST2.
  • a general clustering algorithm is used.
  • a clustering algorithm there are “k-means method”, “Ward method”, “DBSCAN” and the like.
  • the algorithm varies depending on the use case. For example, when applied to position information, a plurality of position information is clustered in the time dimension in the first stage to form a predetermined number in the time direction, and a predetermined number of position information collected in the time direction in the second stage. You can cluster the groups in spatial dimensions and finally get a place class with a time stamp.
  • the internal service server 300 extracts a label from the data B group by language processing.
  • the level of language processing includes the following morphological analysis, parsing, semantic analysis, and context analysis.
  • Parsing Dividing sentences into morphological elements, which are the smallest units that have meaning in a language, and at the same time specifying the types of parts and word meanings. Parsing: Collecting morphological elements into phrase units and identifying dependency relationships between phrases Opinion analysis: Identifying the meaning of the entire sentence from the syntax by classifying it into a conceptual dictionary Context analysis: Identifying the dependency relationship and meaning between multiple sentences
  • the following example only performs parsing, but higher-order language processing results are also used depending on the use case.
  • the label extraction process in the present technology is not limited to this example.
  • morphological analysis it is divided into morphemes of "rice / ha / a while ago / company / at / eat / masu / ta” and part of speech. To identify. By parsing, the "rice” that indicates the object and the "company” that indicates the location are identified.
  • the wo case noun "company” is extracted as the name label
  • the verb "eat” is extracted as the action label.
  • two labels, a name label and an action label, are extracted, but the label is not limited to this. What kind of label to extract can be considered in various ways depending on the use case.
  • the internal service server 300 adds the extracted label to the relevant location class of the data group A in step ST4. As a result, a database of data group A is constructed.
  • the relationship between the label and the place class is determined based on, for example, the time stamp added to the text input information and the time stamp of the place class (corresponding to the time stamp added to the position information).
  • the time stamp added to the position information is the time when the position information is measured.
  • the time stamp added to the text input information is the time when the text input information is transmitted or input.
  • the tense of the message is determined, and the determination result is further used to determine the relationship between the label and the location class. For example, in general, information sent by a message application or SNS, tweet input information, input information to a memo pad, etc. correspond to a message, and information input by a map application or browser search does not correspond to a message. Seem.
  • the content of the message may not correspond to the time sent or entered. For example, consider an action pattern such as "leaving the company, then going to a bookstore, and then going to a coffee shop where we meet”.
  • the tense of the message is classified into, for example, the future (+1), the present (0), and the past (-1). Then, according to the tense of the message, the label extracted from the message is added to the place class in which the user was staying in the tense. As a result, the accuracy of the database can be improved.
  • FIG. 6 shows an example of the database generated by the above-mentioned database construction process.
  • the "ID" is an identifier of the location class.
  • the representative coordinates of each place class can be obtained by taking the average value of the coordinates of the positions classified in each place class.
  • the representative coordinates of each place class are information for defining the area (registered place) of each place class.
  • the area of the place class is defined as an area within a circle having an arbitrary radius centered on its representative coordinates, for example, a radius of 100 m.
  • the method of defining the area of each location class is not limited to this, and may be other.
  • coordinates of three or more points may be set as information for defining an area (registered place) of each place class corresponding to each place class.
  • the area of the place class is defined as the area within the polygon specified by those coordinates.
  • the coordinates of three or more points in each place class can be obtained, for example, by approximating the polygon surrounding the coordinates of the positions classified in each place class.
  • the database construction process described above is repeatedly executed at a predetermined cycle. Therefore, the number of location classes in the database and the number of labels for each location class will gradually increase.
  • the internal service server 300 executes this database construction process on a fixed time every day, for example, for one day's worth of sensor data. If there is a change in the target context due to the user's activity, it may not be processed correctly, so a midnight time zone with little change is suitable.
  • the amount of data for one day may be small and may not be processed correctly, so sensor data from one day or earlier may be used depending on the use case. Further, in the case of a use case where real-time performance is required rather than accuracy and processing cost, the processing cycle may be shortened.
  • this database construction process is performed by the processing unit 302 of the internal service server 300, and the constructed database is held by the data holding unit 301.
  • this database construction process it is also conceivable to perform this database construction process on the user terminal 100 and hold the constructed database in the data holding unit 102.
  • sensor data including position information and text input information
  • the place where the processing is executed is the user terminal 100 or the internal service server 300. Is selected.
  • the number of location classes in the database and the number of labels for each location class are gradually increased by repeatedly executing the database construction process at a predetermined cycle.
  • the reason why the database construction process is repeatedly executed is that new information may be added to the user even for a user who has sufficiently collected sensor data and constructed a database that comprehensively covers daily life.
  • Sensor data collection and processing may be suspended depending on service operation restrictions such as resources and processing costs and use case conditions.
  • the pause determination can be made by setting values calculated from the database according to the use case, such as the absolute number of labels for the entire database, the number of classes for the entire database, and the number of classes for which the number of labels is equal to or greater than the threshold value. It is also conceivable that no more labels will be added for classes with more labels than the threshold, rather than the overall pause in sensor data collection and processing.
  • Examples of features at the time of label registration include the number of characters, morphemes, frequency of use by others, emotional indexes calculated from biological signals, and the number of labels.
  • examples of features when using a database include frequency of use when presenting a label to the person, frequency of use when presenting a label to another person, date of addition of a label, and date of last use of a label.
  • the evaluation value can be calculated by threshold processing in which the feature amount is above a certain value and below a certain value. For example, the higher the frequency of use of the label, the higher the evaluation value.
  • the evaluation value can be calculated by threshold processing of the statistical value of the distribution of the label feature amount. For example, the evaluation value can be calculated based on how close it is to the average value.
  • the evaluation value can be calculated by multiple regression analysis that integrates each feature using the learned recognizer.
  • the data A group is the position information and the data B group is the text input information.
  • the data A group may consist of position information and ⁇ information
  • the data B group may consist of text input information and ⁇ information.
  • the ⁇ information includes at least one of payment information, behavior information, biometric information, and environmental information (see FIG. 5).
  • the flowchart of FIG. 7 shows another example of the procedure of the database construction process in the internal service server 300.
  • This data construction process is also a process of processing the data A group and the data B group to obtain a database of the data A group.
  • the data group A is defined as "location information + ⁇ information”.
  • the data group A can be considered to be “location information + payment information”.
  • User behavior is closely related to "specific location” and "payment of money corresponding to the activity”.
  • clustering related to the intention of the user's movement is possible, not just clustering of positions. In other words, it is possible to classify not only at that position but also at what the position was for.
  • the data group A can be considered to be "position information + behavior information + biological information”.
  • clustering related to the user's movement is possible, not just clustering of positions.
  • the data group B is defined as "text input information + ⁇ information".
  • the data group A may be "text input information + action information”.
  • steps STST1'to step ST4' in the flowchart of FIG. 7 is the same as the processing of STST1 to ST4 of the flowchart of FIG. 4, although detailed description is omitted.
  • the clustered class is linked to the common class ID.
  • the clustered class is made to have the information of the common class ID common to all users in addition to the class ID of each user.
  • a new class is detected by clustering in the database registration process, it is determined whether it is a class already registered by another user, for example, using location information, and if it is not registered, a new common class ID is added and the information is added. If it has and is registered, it will have the information of the known common class ID.
  • the above-mentioned other users are selected based on, for example, a relationship index between users. Since there are the following advantages / disadvantages according to the closeness / distance of the relationship, set the level according to the use case. It may also be randomly selected without special targeting. Relationship indicators are also defined according to each use case. For example, the distance of the SNS relationship map, the number and frequency of message exchanges, the total time spent nearby in the real world, and so on. As an example of users who have a close relationship, for example, a family or a couple can be considered.
  • FIG. 8 shows a state in which each class of the databases of users A, B, and C has a common class ID in addition to the class ID of each user, and the classes of each database are associated with each other by the common class ID. There is. This enables cross-reference between databases using the common class ID as a key.
  • the class of the individual ID "1" of the user A database has the common class ID "45”
  • the class of the individual ID "2" of the user B database has the common class ID "45”. .. Therefore, when referring to the class of the individual ID "1" of the database of the user A, it is possible to refer to the class of the individual ID "2" of the database of the user B.
  • FIG. 9 shows an example of a procedure for processing when using a service in the processing unit (service execution unit) 103 of the user terminal 100.
  • This process is a process of generating an output based on sensor data including position information and presenting it to the user. Basically, sensor data from the past to the present is used, but it is also possible to use predicted values of future sensor data.
  • the processing unit 103 preprocesses the sensor data in step ST11. Although detailed description will be omitted, this preprocessing is the same as step ST1 in the database construction process of FIG. 4 described above.
  • step ST12 the processing unit 103 clusters the preprocessed sensor data to determine which class in the database it belongs to. In this case, for example, a clustering algorithm at the time of database construction is used.
  • the processing unit 103 uses the classification result with a low likelihood to perform the latter stage. At this point, the service is unavailable because the model is not sufficiently trained. In this case, it is difficult to select a model, so it is not possible to classify from another person's model.
  • step ST13 the processing unit 103 acquires the label of the class obtained in step ST12 from the database (for example, stored in the data holding unit 301 of the internal service server 300).
  • the processing unit 103 acquires the label of the class obtained in step ST12 from the database (for example, stored in the data holding unit 301 of the internal service server 300).
  • the database for example, stored in the data holding unit 301 of the internal service server 300.
  • step ST14 the processing unit 103 generates an output based on the label acquired in step ST13 and presents it to the user. How the label is reflected in the output depends on the service use case.
  • Example 1 The first embodiment is an example of a messaging service.
  • the data A group is composed of the position information
  • the data B group is composed of the text input information
  • the place class to stay habitually as a class is obtained
  • the place is famous as a label
  • the action related to the place is extracted.
  • the current location class and label are acquired by inputting the current sensor data.
  • the past and future labels may be further acquired by inputting the past and future sensor data.
  • the label is input to the message creation algorithm, and the recommendation message including the place, verb, and time parts is generated by machine learning related to language processing.
  • the recommendation message including the place, verb, and time parts is generated by machine learning related to language processing.
  • the recommendation message generated in this way may be one or multiple.
  • the user receives the presentation of this recommendation message and selectively sends it.
  • the evaluation value of the label in the database may be added to the label included in the transmitted message, and the evaluation value of the label in the database may be deducted for the label contained in the message not sent. ..
  • FIG. 10 shows an example of a scenario and processing contents in the messaging service.
  • Message 1 it is as follows.
  • the scenario is "I'm having dinner with a colleague at a company I've been to once before.
  • To send a message to my wife that dinner isn't necessary I launched the message app on my smartphone and moved to the talk room with my wife.
  • the message "I'm eating rice at XX” is recommended without entering any text.
  • the current situation is well represented in the recommendation message, so select and send that message. " Is.
  • the processing content is "At the time of my previous visit, I was recognized as a place to stay class by clustering location information. At that time, I sent the message"I'm eating “and”I'm eating "in the store by text input, so the language By processing, the noun “ ⁇ ya” was registered as a name label, and the verb "eat” was registered as an action label. At the time of this visit, it was recognized from the location information that he was staying in that place class, and the labels " ⁇ ya" and "eat” associated with the place class were extracted. These labels were entered into the message generation algorithm and the message was generated. " Is.
  • the processing content is "By clustering location information, the company and the gym were registered as a place of stay class. From the exchange of messages at the gym, the name label” gym “and the action label” run "were registered. In addition, there was a time label registered on Wednesdays stating that they had a habit of staying at the gym from 18:30 to 20:00. At the time of this visit, the labels “gym”, “run”, and "20:00" associated with the location class were extracted from the current time and location information. The message was generated by inputting these labels and the message sent from the other party into the message generation algorithm. " Is.
  • the processing content is "When sending a previous message, it was registered as a status class by clustering behavior information and biometric information. At that time, the messages" delayed “and” dash “were sent by text input, so it was” delayed “by language processing. A status label saying “I'm running”, an action label saying “Running” at that time, and a biometric information label saying “I'm in a hurry” by the analysis processing of biometric information were registered. At the time of sending this message, the label "in a hurry” associated with the situation class was extracted from the sent contents, behavior information, and biometric information. An icon indicating the contents of this label was sent with the message. " Is.
  • Example 2 The second embodiment is an example of the situation sharing service.
  • the database construction process is the same as in the first embodiment.
  • the label is acquired for the sensor data of the user terminal owned by each family member.
  • the label is input to the icon generation algorithm, and the contents of the label are reflected by machine learning related to image processing to generate an icon indicating the user's behavior.
  • machine learning related to image processing to generate an icon indicating the user's behavior.
  • sensor data such as position information and action information into the icon generation algorithm.
  • FIG. 11 shows an example of a scenario and processing contents in the situation sharing service.
  • the scenario is "During a break, when I look at the lock screen of my smartphone, a map is displayed and an animation of a family icon is moving on the map. I am an icon working at my office, my wife and daughter are at home. The icon of watching TV at the position and the icon of the son studying at the position of the cram school are displayed. " Is.
  • the processing content is "The location information of each family member recognized a habitual place class, and labels such as” working, “” watching TV, “and” studying "were given to the place class from the exchange of messages.
  • the status sharing application automatically generates icons on the map based on the latitude / longitude and labels of those location classes to share the status. " Is.
  • FIG. 12 is an image diagram of situation sharing on the lock screen of the smartphone. The icon of myself working at the office, the icon of my wife and daughter watching TV at home, and the icon of my son studying at the cram school are displayed.
  • Example 3 This Example 3 is an example of a household account book service.
  • data A group is composed of position information, payment information, and behavior information
  • data B group is composed of text input information
  • a payment class is obtained as a class
  • a payment name as a label
  • a payment category Is to be extracted.
  • the past payment class and label are acquired and linked with the amount.
  • the service provider may enter the correct label of the category for the data and perform machine learning with supervised / semi-supervised to classify the data. Further, for data for which categorization is difficult, the user may manually assist in assigning a correct answer label.
  • FIG. 13 shows an example of a scenario and processing contents in the household account book service.
  • the scenario is "When you start the household account book app, the payment breakdown for the current month is automatically sorted into categories such as” food expenses, "" daily necessities, “and” entertainment, “and displayed in a pie chart. In the advanced category mode, the "food expenses” category displays personalized detailed categories such as “drinking party” and “usual bar”. Also, if you search for labels such as "Karaoke", the monthly transition of how much you used for each label will be displayed. " Is.
  • the processing content is "Data A group that combines location information, payment information, and behavior information was clustered, and the payment class related to the location was recognized. By the language processing of the message before and after the previous payment, the payment class was" drinking party "" always A name label such as "bar” was registered.
  • the payment information of each class was sorted into categories by referring to the database, and the payment amount was added up and displayed. In advanced category mode and label search, items based on labels were displayed. " Is.
  • Example 4 This Example 4 is an example of a behavior visualization and analysis (lifelog marketing) service.
  • data A group is composed of position information, payment information, action information, biometric information, and environmental information
  • data B group is composed of text input information
  • a class is obtained as a class
  • an action is performed as a label.
  • the name and action category are extracted.
  • a high-dimensional action class is acquired by inputting sensor data, a label is acquired from the database, and a detailed action label is displayed.
  • FIG. 14 shows an example of a scenario and processing contents in a behavior visualization and analysis (lifelog marketing) service.
  • the scenario is "When you start the life log app, it will be automatically sorted into personalized categories such as” work “,” commuting ",” date “,” travel “,” drinking party “,” karaoke “, and” housework "in chronological order.
  • the behavior is visualized. Icons corresponding to each category are also displayed. In the detailed mode, detailed action labels such as “overtime until 23:00" and “travel to Okinawa” are displayed. " Is.
  • the processing content is "Data A group that combines context information (position, payment, behavior, living body, environment) was clustered, and a higher-order behavior class showing the user's overall behavior tendency was recognized.
  • the message at each timing Labels such as "work” and "commuting” were registered in the higher behavior class by language processing.
  • the time series of context information was classified into categories based on the labels of each class.
  • the icon was also generated and reflected as the UI on the application.
  • Example 5 is an example of a voice interaction service.
  • the database construction process and the service use time process are almost the same as those of the messaging service of the first embodiment.
  • the recognition model may be adaptively tuned so that the voice recognition of the place label associated with a certain context is easily performed.
  • FIG. 15 shows an example of a scenario and processing contents in the voice interaction service.
  • the “voice input” is as follows.
  • the scenario is "For the smart speaker, I entered the schedule as” 18:00 for cleaning the front of the station. " A month later, my husband recommended the message “Please clean the front of the station.” As a reply candidate for the message "Where should I go?", So I sent it. " Is.
  • the processing content is "" Cleaning in front of the station at 18:00 ", which was input by voice to the smart speaker, was treated as text input information for data group B. As a result, the same processing as the message use case was performed, and the label “cleaning in front of the station” was added to the database. " Is.
  • the "audio output” is as follows. The scenario is "When giving a voice command to a smart speaker that includes a place or action such as” add an appointment ",” search for the required time “, or” weather ",” futsal (where you always do it) "or”grandma's house “ ) ”And other personalized labels associated with the location could be used without pre-registration. " Is.
  • the processing content is "Previously, messages before and after staying at a futsal place or grandma's house included messages such as” futsal "and” grandma, "so the place class was labeled. In the voice input processing section of the smart speaker, the location information of the database was referenced from this label. " Is.
  • FIG. 16 shows a hardware configuration example of the internal service server 300.
  • the internal service server 300 communicates with the CPU 401, the ROM 402, the RAM 403, the bus 404, the input / output interface 405, the input unit 406, the output unit 407, the storage unit 408, the drive 409, and the connection port 410. It has a part 411.
  • the hardware configuration shown here is an example, and some of the components may be omitted. Further, components other than the components shown here may be further included.
  • the CPU 401 functions as, for example, an arithmetic processing device or a control device, and controls all or a part of the operation of each component based on various programs recorded in the ROM 402, the RAM 403, the storage unit 408, or the removable recording medium 501. ..
  • the ROM 402 is a means for storing a program read into the CPU 401, data used for calculation, and the like.
  • the RAM 403 temporarily or permanently stores, for example, a program read into the CPU 401, various parameters that change as appropriate when the program is executed, and the like.
  • the CPU 401, ROM 402, and RAM 403 are connected to each other via the bus 404.
  • the bus 874 is connected to various components via the interface 405.
  • a mouse for example, a mouse, keyboard, touch panel, buttons, switches, levers, and the like are used.
  • a remote controller (hereinafter referred to as a remote controller) capable of transmitting a control signal using infrared rays or other radio waves may be used.
  • a display device such as a CRT (Cathode Ray Tube), an LCD, or an organic EL
  • an audio output device such as a speaker or a headphone, a printer, a mobile phone, a facsimile, or the like is used to give the user the acquired information. It is a device that can notify the user visually or audibly.
  • the storage unit 408 is a device for storing various types of data.
  • a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, an optical magnetic storage device, or the like is used.
  • the drive 409 is a device that reads information recorded on a removable recording medium 501 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, or writes information on the removable recording medium 501.
  • a removable recording medium 501 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory
  • the removable recording medium 501 is, for example, a DVD media, a Blu-ray (registered trademark) media, an HD DVD media, various semiconductor storage media, and the like.
  • the removable recording medium 501 may be, for example, an IC card equipped with a non-contact type IC chip, an electronic device, or the like.
  • the connection port 410 is a port for connecting an external connection device 502 such as a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface), an RS-232C port, or an optical audio terminal.
  • an external connection device 502 such as a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface), an RS-232C port, or an optical audio terminal.
  • the externally connected device 502 is, for example, a printer, a portable music player, a digital camera, a digital video camera, an IC recorder, or the like.
  • the communication unit 411 is a communication device for connecting to the network 503, and is, for example, a communication card for wired or wireless LAN, Bluetooth (registered trademark), or WUSB (Wireless USB), a router for optical communication, and ADSL (Asymmetric). A router for Digital Subscriber Line) or a modem for various communications.
  • the internal service server 300 when constructing a database, text is input to a class obtained by clustering the first sensor data including position information. It adds a label extracted from the second sensor data containing the information. Therefore, it is possible to satisfactorily assign a label to each class obtained by clustering the sensor data. That is, manual labeling is not required, and labeling suitable for each user is possible.
  • the present technology can have the following configurations.
  • An information processing device including a control unit that controls the processing to be added to.
  • the control unit determines the relationship between the label and the class based on the time stamp added to the second sensor data and the time stamp added to the first sensor data.
  • the information processing apparatus according to (1).
  • (3) The information according to (1) or (2) above, wherein the first sensor data or the second sensor data further includes at least one of payment information, behavior information, biological information, and environmental information. Processing equipment.
  • the information processing apparatus controls to repeatedly execute the process at a predetermined cycle.
  • the control unit controls to suspend the processing when the state of the database obtained by adding the label to the related class satisfies a predetermined condition (1) to (4).
  • the information processing device according to any one.
  • the predetermined conditions are that the number of labels in the entire database is a set value, the number of classes in the entire database is a set value, and the number of classes in which the number of labels in the entire database is equal to or greater than the threshold value is set.
  • the information processing apparatus according to (5) above, which is at least one of the values.
  • the evaluation value given to the label is set based on at least one of the frequency of use when the label is presented, the date when the label is added, and the date when the label is last used (8).
  • the class in the own user's database obtained by adding the label to the related class is associated with the corresponding class in the database of another user by a common class ID (1) to (10).
  • the information according to (1) above comprising a control unit that controls a process of acquiring a label added to the class from the database and a process of generating an output of a predetermined service using the acquired label.
  • Processing equipment (14) The information processing device according to (13) above, wherein the predetermined service is messaging. (15) The information processing device according to (13) above, wherein the predetermined service is status sharing. (16) The information processing device according to (13) above, which is a household account book. (17) The information processing device according to (13) above, wherein the predetermined service is visualization and analysis of behavior. (18) The information processing device according to (13) above, wherein the predetermined service is a voice interaction.
  • a procedure for clustering the first sensor data including position information to obtain a class and The procedure for extracting the label using the second sensor data including the text input information, and An information processing method having a procedure for adding the label to the relevant class.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

センサデータをクラスタリングして得られる各クラスへのラベル付与を良好に行い得るようにする。 位置情報を含む第1のセンサデータをクラスタリングしてクラスを得る。また、テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する。そして、抽出されるラベルを、関連するクラスに追加してデータベースを構築する。例えば、ラベルとクラスの関連を、第2のセンサデータに付加されているタイムスタンプと第1のセンサデータに付加されているタイムスタンプに基づいて判断する。人手によるラベリングが不要となると共に、ユーザそれぞれに適したラベリングが可能となる。

Description

情報処理装置、情報処理方法およびプログラム
 本技術は、報処理装置、情報処理方法およびプログラムに関し、詳しくは、センサデータをクラスタリングして得られる各クラスへのラベル付与を良好に行い得る情報処理装置等に関する。
 一般的に、機械学習の一手法である教師あり学習においては、画像や文書、音声などのデータと、そのデータの内容を示すラベルとの組み合わせの集合を教師データおよび評価データとした学習が行われる。うまく学習できるか否かは教師あり学習に用いるラベルに依存する。そのため、例えば、ラベルに誤りが含まれる場合には、うまく学習することが困難となる。例えば、特許文献1には、教師あり学習に用いるラベルの質を向上させることが可能な技術が開示されている。
 通常、データ解析やデータベース構築では、大量のデータに対する傾向抽出や分類ができても、結果に対する意味づけは人手で行う必要があることが多い。このような人手によるデータ解析結果の解釈、つまりデータのラベリング作業は、手間や時間がかかるという問題に加え、人手のラベルが正当でない可能性を排除できないという根本的な問題がある。
特開2015-087903号公報
 本技術の目的は、センサデータをクラスタリングして得られる各クラスへのラベル付与を良好に行い得るようにすることにある。
 本技術の概念は、
 位置情報を含む第1のセンサデータをクラスタリングしてクラスを得る処理と、テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する処理と、前記ラベルを、関連する前記クラスに追加する処理を制御する制御部を備える
 情報処理装置にある。
 本技術において、位置情報を含む第1のセンサデータをクラスタリングしてクラスを得る処理が行われる。また、テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する処理が行われる。そして、ラベルを、関連するクラスに追加する処理がおこなわれる。これにより、データベースが構築される。
 例えば、制御部は、ラベルとクラスの関連を、第2のセンサデータに付加されているタイムスタンプと第1のセンサデータに付加されているタイムスタンプに基づいて判断する、ようにされてもよい。また、例えば、制御部は、ラベルと場所クラスの関連を、第2のセンサデータに付加されているタイムスタンプと第1のセンサデータに付加されているタイムスタンプに加えて、テキスト入力情報で示されるメッセージの時制に基づいて判断する、ようにされてもよい。
 また、例えば、第1のセンサデータまたは第2のセンサデータは、決済情報、行動情報、生体情報、環境情報の少なくともいずれかの情報を含む、ようにされてもよい。また、例えば、制御部は、所定の周期をもって処理を繰り返し実行するように制御する、ようにされてもよい。
 また、例えば、制御部は、関連するクラスへのラベルの追加によって得られるデータベースの状態が所定の条件を満たすとき、処理を休止するように制御する、ようにされてもよい。この場合、例えば、所定の条件は、データベース全体におけるラベル数が設定値になること、データベース全体におけるクラス数が設定値になること、データベース全体におけるラベル数が閾値以上となるクラス数が設定値となることの少なくともいずれかである、ようにされてもよい。
 このように本技術においては、位置情報を含む第1のセンサデータをクラスタリングして得られた各クラスに、テキスト入力情報を含む第2のセンサデータから抽出されたラベルを追加するものである。そのため、各クラスへのラベル付与を良好に行い得るようになる。すなわち、人手によるラベリングが不要となると共に、ユーザそれぞれに適したラベリングが可能となる。
 なお、本技術において、例えば、制御部は、関連するクラスへのラベルの追加によって得られるデータベースにおけるラベルに評価値を付与する処理を制御する、ようにされてもよい。例えば、ラベルに評価値を付与する処理は、データベースの構築時、データベースの利用時の少なくともいずれかに実行される、ようにされてもよい。
 この場合、例えば、データベースの構築時には、ラベルに付与される評価値は、文字数、形態素数、他人の利用頻度、生体信号から算出される感情の指標、ラベルの個数の少なくともいずれかに基づいて設定される、ようにされてもよい。また、この場合、例えば、データベースの利用時には、ラベルに付与される評価値は、ラベル提示時の利用頻度、ラベルの追加日付、ラベルの最終利用日付の少なくともいずれかに基づいて設定される、ようにされてもよい。
 このようにラベルに評価値を付与することで、データベース利用する際のラベル選択のフィルタリングや優先度付けや、スケーラビリティ確保のためのラベル削除の判断基準などに用いることが可能となる。
 また、本技術において、例えば、関連するクラスへのラベルの追加で得られる自ユーザのデータベースにおけるクラスは、他ユーザのデータベースの対応する場所クラスと共通クラスIDで対応付けされる、ようにされてもよい。この場合、他ユーザは、自ユーザとの関係性を利用して選択される、ようにされてもよい。このように自ユーザと他ユーザのデータベースのクラスが共通クラスIDで対応付けされることで、他ユーザのデータベースを有効に利用することが可能となる。
 また、本技術の他の概念は、
 位置情報を含むセンサデータをクラスタリングして、該センサデータが属するデータベース内のクラスを求める処理と、前記求められたクラスのラベルを前記データベースから取得する処理と、前記取得されたラベルを用いた所定サービスの出力を生成する処理を制御する制御部を備える
 情報処理装置にある。
 本技術において、位置情報を含むセンサデータをクラスタリングして、このセンサデータが属するデータベース内のクラスが求められる。また、この求められたクラスのラベルがデータベースから取得される。そして、この取得されたラベルを用いた所定サービスの出力が生成される。ここで、所定サービスは、メッセージング、状況共有、家計簿、行動の可視化と分析、音声インタラクションなどである。
実施の形態としての情報処理システムの構成例を示すブロック図である。 実際の位置情報の例を示す図である。 ユーザ端末と内部サービスサーバの構成例を示すブロック図である。 内部サービスサーバにおけるデータベース構築処理の手順の一例を示すフローチャートである。 ユーザ端末の入力部から得られるセンサデータの一例を説明するための図である。 ベース構築処理で生成されるデータベースの一例を示す図である。 内部サービスサーバにおけるデータベース構築処理の手順の他の一例を示すフローチャートである。 各ユーザのデータベースにおけるクラスを紐づけるための共通クラスIDを説明するための図である。 ユーザ端末の処理部(サービス実行部)におけるサービス利用時処理の手順の一例を示すフローチャートである。 メッセージングサービスにおけるシナリオと処理内容の一例を示す図である。 状況共有サービスにおけるシナリオと処理内容の一例を示す図である。 スマートフォンのロック画面における状況共有のイメージ図である。 家計簿サービスにおけるシナリオと処理内容の一例を示す図である。 行動の可視化と分析(ライフログ・マーケティング)サービスにおけるシナリオと処理内容の一例を示す図である。 音声インタラクションサービスにおけるシナリオと処理内容の一例を示す図である。 内部サービスサーバのハードウェア構成例を示すブロック図である。
 以下、発明を実施するための形態(以下、「実施の形態」とする)について説明する。なお、説明は以下の順序で行う。
 1.実施の形態
 2.変形例
 <1.実施の形態>
 [情報処理システムの構成例]
 図1は、実施の形態としての情報処理システム10の構成例を示している。この情報処理システム10は、ユーザ端末100と、他ユーザ端末200と、インターネット上に存在する内部サービスサーバ300および外部サービスサーバ400などからなっている。外部サービスサーバ400には、種々のサーバ、例えばメッセージアプリ用のサーバ、決済関係のサーバ、SNS(Social Networking Service)のサーバ等が含まれる。
 ユーザ端末100は、自ユーザ端末であり、スマートフォンやウェラブルデバイスなどで構成される。他ユーザ端末200も、ユーザ端末100と同様に、スマートフォンやウェラブルデバイスなどで構成される。ユーザ端末100や他ユーザ端末200は、インターネット上に存在する内部サービスサーバ300や外部サービスサーバ400に接続可能となっている。
 内部サービスサーバ300は、ユーザ端末100から送られてくる位置情報およびテキスト入力情報を処理してデータベースを構築して保持する。この場合、内部サービスサーバ300は、位置情報をクラスタリングして場所クラスを得、テキスト入力情報を用いてラベルを抽出し、そのラベルを関連する場所クラスに追加することで、場所クラスとラベルとからなるデータベースを構築する。
 図2は、実際の位置情報の例を示している。図示の例は、地図上に位置情報をマッピングした状態で示している。また、図示の例で、位置情報がクラスタリングされて得られた場所クラスを示している。場所クラスAにはラベル「会社」が追加(付与)され、場所クラスBにはラベル「本屋」が追加(付与)されている。
 なお、ユーザ端末100のデータベースを内部サービスサーバ300で構築して保持するように説明したが、このデータベースの構築保持をユーザ端末100で行うことも考えられる。以下では、ユーザ端末100のデータベースを内部サービスサーバ300で構築して保持するものとして説明する。
 内部サービスサーバ300は、他ユーザ端末200のデータベースに関しても、同様に、他ユーザ端末200から送られてくる位置情報およびテキスト入力情報を処理してデータベースを構築して保持する。
 図3は、ユーザ端末100と内部サービスサーバ300の構成例を示している。ユーザ端末100は、入力部101と、データ保持部102と、処理部103と、出力部104を有している。入力部101は、マイク、カメラ、各アンテナ、タッチセンサ、物理ボタン、筋電センサ、心拍センサ、体温センサ、発汗センサ、脳波センサ、位置センサ、などを含む。入力部101で得られた各種データ(情報)はデータ保持部102に保持される。
 処理部103は、データ解析部、サービス実行部、通信部、などを含む。出力部104は、ディスプレイ、スピーカ、アクチュエータ、LED(light emitting diode)、などを含む。内部サービスサーバ300は、データ保持部301と、処理部302を有している。そして、処理部302は、データ解析部を有している。
 この内部サービスサーバ300は、上述したように、ユーザ端末100から送られてくる位置情報およびテキスト入力情報を処理してデータベースを構築して保持する。
 「データベース構築処理の一例の説明」
 データベース構築処理について説明する。図4フローチャートは、内部サービスサーバ300におけるデータベース構築処理の手順の一例を示している。このデータ構築処理は、データA群を構成する位置情報とデータB群を構成するテキスト入力情報とからデータA群のデータベースを得る処理である。
 図5は、ユーザ端末100の入力部101から得られる情報、いわゆるセンサデータを示している。このセンサデータには、位置情報、テキスト入力情報と、その他に決済情報、行動情報、生体情報、環境情報などが存在する。
 位置情報は、例えば、時間、緯度、経度、精度などの情報からなる。この位置情報は、ユーザの行動の意味と高い相関を持っている。
 テキスト入力情報は、例えば、メッセージアプリやSNSで送信した情報、地図アプリやブラウザの検索などで入力した情報、タッチセンサによるキーボード入力やマイクによる音声入力などでテキスト化された情報などである。このテキスト入力情報は、ユーザの行動の意味を含むことが多い。なお、記載は省略されているが、このテキスト入力情報には、それを送信あるいは入力した時間の情報が付加されている。
 決済情報は、例えば、時間、金額、明細などの情報からなる。この決済情報は、電子マネーやカード決済では取得可能である。行動情報は、時間、加速度、角速度、行動クラスなどの情報からなる。ここで、行動クラスは、歩く、走る、車に乗る、などである。生体情報は、時間、脈波、発汗、表情、音声、脳波、体調などの情報からなる。この生体情報は、運動や感情変化と関係する。環境情報は、時間、音声、動画像、照度、天気、風速、環境音などの情報からなる。この環境情報は、ユーザを取り巻く外界の情報全般であり、自分のデータでも他人のデータでもよい。
 図4に戻って、内部サービスサーバ300は、ステップST1において、前処理をする。この前処理では、不正なデータを除外すること、データを補完すること、タイムスタンプ(時間)を主キーとして相互参照できる形式に正規化すること、などが行われる。
 不正なデータを除外するために、情報の種類によって一般的な処理が適用される。例えば、位置情報に関しては、精度、速度(直前の測位点との差分)、角度(3測位点がなす角)から外れ値を除外することが行われる。また、データを補完するために、情報の種類によって一般的な処理が適用される。例えば、ある時点の位置情報が抜けている場合には、その前後の時点の位置情報の中間の値で補完することが行われる。
 次に、内部サービスサーバ300は、ステップST2において、データA群をクラスタリングする。この場合、一般的なクラスタリングアルゴリズムが利用される。例えば、クラスタリングアルゴリズムとして、「k-means法」、「ウォード法」、「DBSCAN」等がある。
 データベースの属性次元に対して複数回のクラスタリングアルゴリズムを適用することも考えられる。この場合、ユースケースに応じてアルゴリズムは様々である。例えば、位置情報に適用する際には、第1段階において複数の位置情報を時間次元でクラスタリングを行って時間方向に所定数にまとめ、第2段階において時間方向にまとめられた所定数の位置情報群に対して空間次元でクラスタリングを行って、最終的にタイムスタンプを持った場所クラスを得ることができる。
 次に、内部サービスサーバ300は、ステップST3において、データB群から言語処理によってラベルを抽出する。言語処理のレベルには、以下の、形態素解析、構文解析、意味解析、文脈解析がある。
 形態素解析:言語で意味を持つ最小単位の形態素に文章を分割すると同時に、品詞の種類や単語の意味を特定
 構文解析:形態素を句の単位にまとめると同時に、句の間の係り受け関係を特定
 意味解析:構文から文章全体の意味を概念辞書に分類するなどして特定
 文脈解析:複数の文の間の係り受け関係と意味を特定
 以下の例は、構文解析までしか行っていないが、ユースケースに応じて高次の言語処理結果も利用する。なお、本技術におけるラベル抽出処理は、この例に限定されるものではない。
 例:メッセージアプリで送信した「ごはんはさっき会社で食べました」というメッセージの言語処理
 形態素解析によって、「ごはん / は / さっき / 会社 / で / 食べる / ます / た」の形態素に分割し、品詞を特定する。
 構文解析によって、目的語を示すヲ格の「ごはん」、場所を示すデ格の「会社」を特定する。
 ごはんは──┐
  さっき──┤
  会社で──┤
      食べました
 解析結果: ヲ格:ごはん; デ格:会社
 この解析結果に基づいて、名称ラベルとしてヲ格名詞の「会社」、行動ラベルとして動詞の「食べる」が抽出される。なお、この例では、名称ラベルと行動ラベルの2つのラベルを抽出しているが、これに限定されるものではない。如何なるラベルを抽出するかは、ユースケースに応じて種々考え得るものである。
 次に、内部サービスサーバ300は、ステップST4において、抽出されたラベルを、データA群の関連する場所クラスに追加する。これにより、データA群のデータベースが構築される。
 ここで、ラベルと場所クラスの関連は、例えば、テキスト入力情報に付加されているタイムスタンプと場所クラスが持つタイムスタンプ(位置情報に付加されているタイムスタンプに対応)に基づいて判断される。ここで、位置情報に付加されているタイムスタンプは、その位置情報を計測した時間である。また、テキスト入力情報に付加されているタイムスタンプは、そのテキスト入力情報を送信あるいは入力した時間である。
 また、テキスト入力情報がメッセージである場合、そのメッセージの時制が判断され、その判断結果が、ラベルと場所クラスの関連の判断に、さらに用いられる。例えば、一般的に、メッセージアプリやSNSで送信した情報、つぶやき入力情報、メモ帳への入力情報などはメッセージに該当し、地図アプリやブラウザの検索などで入力した情報はメッセージには該当しないと思われる。
 メッセージに関しては、メッセージ内容が、送信あるいは入力した時間と対応していなことがある。例えば、「会社を退社し、その後本屋に行って、さらにその後待ち合わせの喫茶店に行った」という行動パターンを考える。
 この場合、ユーザが本屋にいて、「今本屋にいます。」とのメッセージを送った場合には、今いる場所と「本屋」を紐づけてよい。しかし、ユーザが本屋にいて、「今から喫茶店にいきます。」とのメッセージを送った場合には、今いる場所と「喫茶店」を紐づけてはいけない。この場合、「今から」が未来の時制を表しているので、「喫茶店」は今いる場所ではなく、未来にいる場所と紐づければよい。
 このようにメッセージについては、そのメッセージの時制が、例えば、未来(+1)、現在(0)、過去(-1)に分類される。そして、そのメッセージの時制に応じて、そのメッセージから抽出されたラベルは、その時制にユーザが滞在していた場所クラスに追加される。これにより、データベースの精度を高くすることが図られる。
 図6は、上述のデータベース構築処理で生成されるデータベースの一例を示している。「ID」は、場所クラスの識別子である。各場所クラスの代表座標は、それぞれの場所クラスに分類された位置の座標の平均値を取るなどして得られる。この各場所クラスの代表座標は、それぞれの場所クラスの領域(登録場所)を定義するための情報である。この場合、場所クラスの領域は、その代表座標を中心とする任意の半径、例えば半径100mの円内領域であると定義される。
 なお、それぞれの場所クラスの領域の定義の仕方はこれに限定されるものではなく、その他であってもよい。例えば、各場所クラスに対応して、それぞれの場所クラスの領域(登録場所)を定義するための情報として3点以上の座標が設定されてもよい。この場合、場所クラスの領域は、それらの座標で指定される多角形内領域であると定義される。この各場所クラスの3点以上の座標は、例えば、それぞれの場所クラスに分類された位置の座標を囲む多角形を近似する等して得られる。
 上述したデータベース構築処理は、所定の周期をもって繰り返し実行される。そのため、データベースにおける場所クラス数、さらにはそれぞれの場所クラスのラベル数は順次増加していく。
 内部サービスサーバ300は、このデータベース構築処理を、例えば、1日分のセンサデータに対して、毎日定時に処理を実行する。ユーザの活動によって対象とするコンテキストに変化があるタイミングだと正しく処理されない可能性があるため、変化が少ない深夜時間帯が適している。
 クラスタリングなど一部処理において、1日分のデータではデータ量が少なく正しく処理されない可能性があるため、ユースケースに応じて1日以前のセンサデータを利用してもよい。また、精度や処理コストよりもリアルタイム性が求められるユースケースの場合、処理を実行する周期を短くしてもよい。
 上述したように、このデータベース構築処理は、内部サービスサーバ300の処理部302で行われて、構築されたデータベースはデータ保持部301に保持される。しかし、このデータベース構築処理を、ユーザ端末100で行って、構築されたデータベースをデータ保持部102に保持することも考えられる。例えば、センサデータ(位置情報、テキスト入力情報を含む)はユーザ端末100で収集されるが、ユースケースごとの処理量や転送データサイズによって、処理を実行する場所をユーザ端末100か内部サービスサーバ300かが選択される。
 上述したように、データベース構築処理が所定の周期をもって繰り返し実行されることで、データベースにおける場所クラス数、さらにはそれぞれの場所クラスのラベル数が順次増加していく。データベース構築処理を繰り返し実行するのは、十分にセンサデータが収集され、日常生活を網羅的にカバーするデータベースが構築されたユーザにおいても、ユーザにとって新しい情報が追加されることもあるからである。
 リソース、処理コストなどのサービス運営上の制限やユースケースの条件によっては、センサデータ収集と処理を休止してもよい。休止判定は、データベース全体のラベルの絶対数、データベース全体のクラス数、ラベル数が閾値以上のクラス数など、ユースケースに応じてデータベースから算出される値を設定して行うことができる。また、センサデータ収集と処理の全体的な休止ではなく、ラベル数が閾値以上のクラスに関してはそれ以上のラベル追加をしないことも考えられる。
 「ラベルの評価値の説明」
 上述していないが、データベースの各場所クラスに追加されるラベルに対して、そのラベルの良し悪しや自信度を示す評価値を付与することも考えられる。この評価値をラベル選択時のフィルタリングや優先度づけに用いることにより、ラベル選択の精度向上が期待できる。また、スケーラビリティを確保するためにラベルを削除してデータベースを整理する時などにも用いてもよい。フィルタリングや優先度の閾値に関しては、それぞれのユースケースによって設計する必要がある。
 ラベル登録時とデータベース利用時に評価値に寄与する特徴量を算出し、最終的な評価値を算出する。ラベル登録時の特徴の例としては、文字数、形態素数、他人の利用頻度、生体信号から算出される感情の指標、ラベルの個数などがある。また、データベース利用時の特徴の例としては、本人にラベル提示時の利用頻度、他人へラベル提示時の利用頻度、ラベルの追加日付、ラベルの最終利用日付などがある。
 評価値は、特徴量が一定値以上と一定値以下の閾値処理によって算出できる。例えば、ラベルの利用頻度が大きくなるほど評価値は高くされる。また、評価値は、ラベル特徴量の分布の統計値の閾値処理によって算出できる。例えば、平均値に対してそれにどの程度近いかによって評価値を算出できる。また、評価値は、学習した認識器を用い、各特徴を総合した重回帰分析により算出できる。
 「データベース構築処理の他の一例の説明」
 上述の図4のフローチャートで示すデータベース構築処理の一例では、データA群が位置情報で、データB群がテキスト入力情報である例を示した。しかし、データA群として位置情報とα情報からなる場合も考えられ、また、データB群としてテキスト入力情報とα情報からなる場合も考えらえる。α情報としては、決済情報、行動情報、生体情報、環境情報の少なくともいずれかを含むことが考えられる(図5参照)。
 図7のフローチャートは、内部サービスサーバ300におけるデータベース構築処理の手順の他の一例を示している。このデータ構築処理も、データA群とデータB群を処理してデータA群のデータベースを得る処理である。
 このデータ構築処理では、データA群は、“位置情報+α情報”とされる。例えば、データA群は、“位置情報+決済情報”であることが考えられる。ユーザの行動は、「特定の場所」、「活動に対応したお金の支払い」と関係が深い。この場合、単なる位置のクラスタリングではなく、ユーザの移動の意図と関係したクラスタリングが可能となる。つまり、単にその位置にいたというだけではなく、その位置に何のためにいたかというところまで踏み込んだクラス分類が可能となる。
 また、例えば、データA群は、“位置情報+行動情報+生体情報”であることが考えられる。この場合、単なる位置のクラスタリングではなく、ユーザの運動と関係したクラスタリングが可能となる。
 また、このデータ構築処理では、データB群は、“テキスト入力情報+α情報”とされる。例えば、メッセージユースケースの場合、データA群は、“テキスト入力情報+行動情報”であることが考えられる。
 図7のフローチャートのステップSTST1´~ステップST4´の処理は、詳細説明は省略するが、図4のフローチャートのSTST1~ステップST4の処理と同様である。
 「共通クラスIDについて」
 サービス利用開始時や十分にラベルが集まっていないコンテキスト時など、自ユーザのデータベースだけではラベルが不十分な場合、他ユーザのデータベースを利用することにより、適用範囲を広げることができる。
 この場合、クラスタリングされたクラスが共通クラスIDへ紐づけされる。この場合、クラスタリングされたクラスは、ユーザ個別のクラスIDとは別に、全ユーザに共通の共通クラスIDの情報を持つようにされる。データベース登録処理のクラスタリングで新しいクラスが検出されたとき、他ユーザが既に登録したクラスかを例えば位置情報を用いて判別し、登録されていなかった場合には新しく共通クラスIDを追加して情報を持ち、登録されていた場合は既知の共通クラスIDの情報を持つようにされる。
 ここで、上述の他ユーザは、例えば、ユーザ同士の関係性指標に基づいて選択される。関係性の近さ/遠さに対応して、以下のようなメリット/デメリットがあるため、ユースケースに応じてレベルを設定する。また、特別ターゲティングせずにランダムに選択してもよい。また、関係性指標も各ユースケースに応じて定義する。例えば、SNSのリレーションマップの距離、メッセージのやり取りの回数や頻度、実世界で近くにいた総時間などがある。関係性が近い場合のユーザ同士の例として、例えば家族、夫婦などが考えられる。
 (1)関係性が近い場合
 メリット:近いほど関連性の高いラベルが抽出されやすい
 デメリット:プライベートな情報にアクセスされる可能性
 (2)関係性が遠い場合
 メリット:プライバシーを考えなくて良い(プライバシーが気になるのは関係性が近い場合という仮定)
 デメリット:関連性の低いラベルが抽出されやすい
 図8は、ユーザA、B、Cのデータベースの各クラスがユーザ個別のクラスIDの他に共通クラスIDを持ち、各データベースのクラスが相互に共通クラスIDで紐づけされている状態を示している。これにより、共通クラスIDをキーとして各データベースの間で相互参照が可能となる。
 例えば、ユーザAのデータベースの個別ID「1」のクラスは共通クラスID「45」を持っていると共に、ユーザBのデータベースの個別ID「2」のクラスは共通クラスID「45」を持っている。従って、ユーザAのデータベースの個別ID「1」のクラスを参照する際には、ユーザBのデータベースの個別ID「2」のクラスも参照することが可能となる。
 「サービス利用時処理の一例の説明」
 次に、上述したように構築されたデータベースを用いたサービス利用時について説明する。図9は、ユーザ端末100の処理部(サービス実行部)103におけるサービス利用時処理の手順の一例を示している。
 この処理は、位置情報を含むセンサデータに基づいて出力を生成してユーザに提示する処理である。基本的には、過去から現在までのセンサデータが利用されるが、未来のセンサデータの予測値を利用することも考えられる。
 処理部103は、ステップST11において、センサデータに対して前処理をする。詳細説明は省略するが、この前処理は、上述の図4のデータベース構築処理におけるステップST1と同様とされる。次に、処理部103は、ステップST12において、前処理されたセンサデータをクラスタリングしてデータベースのどのクラスに属するかを求める。この場合、例えば、データベース構築時のクラスタリングアルゴリズムが用いられる。
 なお、ユーザが初めて行く場所やサービスの使い初めなど、クラスタリングのモデルの学習データが十分ではなく、分類結果の尤度が低くなってしまう場合、処理部103は、尤度が低い分類結果で後段の処理に進むか、モデルの学習が十分ではないとして、この時点でサービス利用不可とする。この場合、モデルの選択が困難なため、他人のモデルから分類することはできない。
 次に、処理部103は、ステップST13において、データベース(例えば、内部サービスサーバ300のデータ保持部301に格納されている)から、ステップST12で求められたクラスのラベルを取得する。この場合、当該クラスに複数のラベルが存在する場合には、一個だけでなく複数個のラベルを取得することも可能である。ここで、取得される複数個のラベルに優先度を付ける場合には上述の評価値を利用することが可能である。
 次に、処理部103は、ステップST14において、ステップST13で取得されたラベルに基づいて、出力を生成し、ユーザに提示する。ラベルを出力に対してどのように反映させるかは、サービスのユースケース毎に異なる。
 以下に、出力生成処理の具体例としての実施例1~5を説明する。
 「実施例1」
 この実施例1は、メッセージングサービスの例である。データベース構築処理では、例えば、データA群を位置情報で構成し、データB群をテキスト入力情報で構成し、クラスとして習慣的に滞在する場所クラスを得、ラベルとして場所の名所、場所に関する行動、滞在期間を抽出する、ようにされる。
 また、サービス利用時処理では、例えば、クラス分類、ラベル抽出において、現在のセンサデータの入力により、現在の場所クラスとラベルを取得する、ようにされる。この場合、過去、未来のセンサデータの入力により、過去、未来のラベルをさらに取得する、ようにされてもよい。
 また、出力としての推薦メッセージの生成では、例えば、ラベルをメッセージ作成アルゴリズムに入力し、言語処理に関する機械学習によって、場所、動詞、時間の部分を含んだ推薦メッセージを生成する、ようにされる。なお、この場合、性能向上のために、メッセージ作成アルゴリズムに相手から送られてきたメッセージや以前のメッセージを入力することも考えられる。
 なお、このようにして生成される推薦メッセージは、一つの場合もあり、複数の場合もある。ユーザは、この推薦メッセージの提示を受け、選択的に送信する。この場合、送信されるメッセージに含まれるラベルに関してはデータベースにおけるそのラベルの評価値を加点し、送信されないメッセージに含まれるラベルに関してはデータベースにおけるそのラベルの評価値を減点する、ようにされてもよい。
  図10は、メッセージングサービスにおけるシナリオと処理内容の一例を示している。
「メッセージ1」に関しては、以下の通りである。
 シナリオは、
 「以前、1回行ったことがある店で会社の同僚と夕食を食べている。妻に夕食は不要という旨のメッセージを送るためにスマートフォンのメッセージアプリを起動し、妻とのトークルームに移動する。テキスト入力をしなくても「○○やでご飯を食べています。」というメッセージが推薦されている。現在の状況が推薦メッセージに適切に表現されているため、そのメッセージを選択して送信。」
である。
 処理内容は、
 「以前の訪問時、位置情報のクラスタリングによって滞在場所クラスとして認識されていた。さらにその際、店内で「今○○や」「もう食べている」というメッセージをテキスト入力で送信していたため、言語処理によって「○○や」という名詞が名称ラベル、「食べる」という動詞が行動ラベルとして登録されていた。今回の訪問時は、位置情報からその場所クラスに滞在されていることが認識され、場所クラスに紐づく「○○や」「食べる」というラベルが抽出された。これらのラベルをメッセージ生成アルゴリズムに入力し、メッセージが生成された。」
である。
 「メッセージ2」に関しては、以下の通りである。
 シナリオは、
 「水曜日は定時退社して会社からジムに向かうことが日課になっている。いつものようにジムに向かっていると、18:20に友人から「この後、飲まない?」というメッセージが送られてくる。返信をしようとすると「gymで20:00くらいまで走ってくる」のメッセージが推薦されている。そのメッセージを選択して返信。」
である。
 処理内容は、
 「位置情報のクラスタリングによって、会社とジムが滞在場所クラスとして登録されていた。ジムにおけるメッセージのやり取りから「gym」という名称ラベル、「走る」という行動ラベルが登録されていた。さらに、水曜日はジムに18:30から20:00まで滞在する習慣性があるという滞在時間ラベルが登録されていた。今回の訪問時は、現在の時間と位置情報から場所クラスに紐づく「gym」「走る」「20:00」というラベルが抽出された。これらのラベルと相手から送られてきたメッセージをメッセージ生成アルゴリズムに入力し、メッセージが生成された。」
である。
 「メッセージ3」に関しては、以下の通りである。
 シナリオは、
 「友人と待ち合わせをしているが、前の予定が延びてしまい、約束の時間に間に合いそうもない。友人に「ごめん、ちょっと遅れる。ダッシュで向かいます!!」というメッセージを送る。友人のもとには、メッセージと共に、慌てている状態を表すアイコンが表示されているため、急いでいるのだなということが一目で分かる。」
である。
 処理内容は、
 「以前のメッセージ送信時、行動情報、生体情報のクラスタリングによって、状況クラスとして登録されていた。さらにその際、「遅れる」「ダッシュ」というメッセージをテキスト入力で送信していたため、言語処理によって「遅れている」という状況ラベルや、その時に「走っている」という行動ラベル、また、生体情報の解析処理によって「慌てている」という生体情報ラベルが登録されていた。今回のメッセージ送信時は、送信内容や、行動情報、生体情報から状況クラスに紐づく「慌てている」というラベルが抽出された。このラベル内容を示すアイコンがメッセージと共に送信された。」
である。
 「実施例2」
 この実施例2は、状況共有サービスの例である。データベース構築処理は、実施例1と同様とされる。サービス利用時処理では、ラベルの取得は、家族それぞれが持つユーザ端末のセンサデータに対してそれぞれ行う、ようにされる。
 そして、出力としてのアイコン生成では、例えば、ラベルをアイコン生成アルゴリズムに入力し、画像処理に関する機械学習によって、ラベルの内容が反映されて、ユーザの行動を示すアイコンを生成する、ようにされる。なお、この場合、性能向上のために、アイコン生成アルゴリズムに位置情報や行動情報などのセンサデータを入力することも考えられる。
 図11は、状況共有サービスにおけるシナリオと処理内容の一例を示している。
 シナリオは、
 「休憩中、スマートフォンのロック画面を見ると、地図が表示されていて、地図上で家族のアイコンのアニメーションが動いている。自分は会社の位置でデスクワークしているアイコン、妻と娘は自宅の位置でテレビを見ているアイコン、息子は塾の位置で勉強しているアイコンが表示されている。」
である。
 処理内容は、
 「家族それぞれの位置情報により、習慣性のある場所クラスが認識され、メッセージのやり取りから、「働く」「テレビを見る」「勉強する」といったラベルが場所クラスに付与されていた。状況共有アプリケーションでは、それらの場所クラスの緯度経度とラベルに基づいて、地図上にアイコンを自動生成し、状況共有を行う。」
である。
 図12は、スマートフォンのロック画面における状況共有のイメージ図である。自分は会社の位置でデスクワークしているアイコン、妻と娘は自宅の位置でテレビを見ているアイコン、息子は塾の位置で勉強しているアイコンが表示されている。
 「実施例3」
 この実施例3は、家計簿サービスの例である。データベース構築処理では、例えば、データA群を位置情報と決済情報と行動情報で構成し、データB群をテキスト入力情報で構成し、クラスとして決済クラスを得、ラベルとして決済の名称、決済のカテゴリを抽出する、ようにされる。
 また、サービス利用時処理では、例えば、過去の決済情報とセンサデータの入力により、過去の決済クラスとラベルを取得し、金額と紐づける、ようにされる。
 なお、サービス提供者がデータに対してカテゴリの正解ラベルを入力し、教師あり/半教師ありの機械学習を行うことにより、カテゴリ分けが行われる、ようにされてもよい。また、カテゴリ分類が困難なデータに関しては、ユーザが手入力で正解ラベル付与の補助を行う、ようにされてもよい。
 図13は、家計簿サービスにおけるシナリオと処理内容の一例を示している。
 シナリオは、
 「家計簿アプリを起動すると、当月の決済内訳が「食費」「日用品」「娯楽」などのカテゴリに自動的に振り分けられて円グラフ表示されている。詳細カテゴリモードにすると、「食費」カテゴリは「飲み会」「いつものバー」などの個人化された詳細カテゴリが表示される。また「カラオケ」などとラベル検索をすると、各ラベルにどれだけ使ったかの月ごとの推移が表示される。」
である。
 処理内容は、
 「位置情報と決済情報と行動情報を組み合わせたデータA群がクラスタリングされ、場所と関連した決済クラスが認識されていた。以前の決済前後のメッセージの言語処理によって決済クラスに「飲み会」「いつものバー」といった名称ラベルが登録されていた。家計簿アプリでは、そのデータベースを参照し、各クラスの決済情報をカテゴリに振り分け、決済金額を合算して表示した。詳細カテゴリモードとラベル検索では、ラベルに基づいた項目を表示した。」
である。
 「実施例4」
 この実施例4は、行動の可視化と分析(ライフログ・マーケティング)サービスの例である。データベース構築処理では、例えば、データA群を位置情報と決済情報と行動情報と生体情報と環境情報で構成し、データB群をテキスト入力情報で構成し、クラスとしてクラスを得、ラベルとして行動の名称、行動のカテゴリを抽出する、ようにされる。
 また、サービス利用時処理では、例えば、センサデータの入力により、高次元行動クラスを取得し、それによりデータベースからラベルを取得し、詳細な行動のラベルを表示する。
 上述した状況共有と家計簿のユースケースと略同じであるが、データA群により多次元の情報を入力することにより、より高次元な行動クラスを分類することができる。また、着目する行動を限定することによって、ユーザの行動を分析するマーケティングに応用する、ようにされてもよい。
 図14は、行動の可視化と分析(ライフログ・マーケティング)サービスにおけるシナリオと処理内容の一例を示している。
 シナリオは、
 「ライフログアプリを起動すると、時系列順に「仕事」「通勤」「デート」「旅行」「飲み会」「カラオケ」「家事」などの個人化されたカテゴリに自動で振り分けられ、過去の自分の行動が可視化されている。それぞれのカテゴリに対応したアイコンも表示されている。詳細モードにすると、「23:00まで残業」「沖縄に旅行」などといった詳細な行動のラベルが表示される。」
である。
 処理内容は、
 「コンテキスト情報(位置・決済・行動・生体・環境)を組み合わせたデータA群がクラスタリングされ、ユーザの総合的な行動の傾向を示す高次行動クラスが認識されていた。それぞれのタイミングにおけるメッセージの言語処理によって、高次行動クラスに「仕事」「通勤」といったラベルが登録されていた。そのデータベースを参照し、コンテキスト情報の時系列を各クラスのラベルに基づいたカテゴリに分類した。ライフログアプリでは、アイコンも生成した上で、アプリ上のUIとして反映した。」
である。
 「実施例5」
 この実施例5は、音声インタラクションサービスの例である。データベース構築処理およびサービス利用時処理は、実施例1のメッセージングサービスとほぼ同様である。なお、あるコンテキストに紐づく場所ラベルの音声認識がされやすいように、適応的に認識モデルをチューニングする、ようにされてもよい。
 図15は、音声インタラクションサービスにおけるシナリオと処理内容の一例を示している。
「音声入力」に関しては、以下の通りである。
 シナリオは、
 「スマートスピーカーに対して、「駅前のクリーニングに18:00」と予定を入力した。1か月後、夫から「どこに向かえばいい?」というメッセージの返信候補として、「駅前のクリーニングでお願いします。」というメッセージが推薦されたため、それを送信した。」
である。
 処理内容は、
 「スマートスピーカーに音声入力された「駅前のクリーニングに18:00」は、データB群のテキスト入力情報として扱われた。これにより、メッセージユースケースと同様の処理が行われ、「駅前のクリーニング」というラベルがデータベースに追加されていた。」
である。
 「音声出力」関しては、以下の通りである。
 シナリオは、
 「スマートスピーカーに対して、「予定の追加」「所要時間の検索」「天気」などの場所や行動を含むコマンドを音声で与える時、「フットサル(をいつもする場所)」や「おばあちゃん(の家)」など場所と紐づき個人化されたラベルを事前登録することなく用いることができた。」
である。
 処理内容は、
 「以前、フットサルをする場所やおばあちゃんの家に滞在する前後のメッセージに「フットサル」「おばあちゃん」といったメッセージが含まれていたため、場所クラスに対してラベルが付与されていた。スマートスピーカーの音声入力の処理部において、このラベルからデータベースの位置情報が参照された。」
である。
 「情報処理部のハードウェア構成例」
 図16は、内部サービスサーバ300のハードウェア構成例を示している。
 内部サービスサーバ300は、CPU401と、ROM402と、RAM403と、バス404と、入出力インターフェース405と、入力部406と、出力部407と、記憶部408と、ドライブ409と、接続ポート410と、通信部411を有している。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ここで示される構成要素以外の構成要素をさらに含んでもよい。
 CPU401は、例えば、演算処理装置または制御装置として機能し、ROM402、RAM403、記憶部408、またはリムーバブル記録媒体501に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。
 ROM402は、CPU401に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM403には、例えば、CPU401に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的または永続的に格納される。
 CPU401、ROM402、RAM403は、バス404を介して相互に接続される。一方、バス874には、インターフェース405を介して種々の構成要素と接続される。
 入力部406には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部406としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
 出力部407には、例えば、CRT(Cathode Ray Tube)、LCD、又は有機EL等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。
 記憶部408は、各種のデータを格納するための装置である。記憶部408としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等が用いられる。
 ドライブ409は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体501に記録された情報を読み出し、またはリムーバブル記録媒体501に情報を書き込む装置である。
リムーバブル記録媒体501は、例えば、DVDメディア、Blu-ray(登録商標)メディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体501は、例えば、非接触型ICチップを搭載したICカード、または電子機器等であってもよい。
 接続ポート410は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS-232Cポート、または光オーディオ端子等のような外部接続機器502を接続するためのポートである。外部接続機器502は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、またはICレコーダ等である。
 通信部411は、ネットワーク503に接続するための通信デバイスであり、例えば、有線または無線LAN、Bluetooth(登録商標)、またはWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または各種通信用のモデム等である。
 上述したように、図1に示す情報処理システム10において、例えば、内部サービスサーバ300では、データベースを構築する際に、位置情報を含む第1のセンサデータをクラスタリングして得られたクラスにテキスト入力情報を含む第2のセンサデータから抽出されたラベルを追加するものである。そのため、センサデータをクラスタリングして得られる各クラスへのラベル付与を良好に行うことができる。すなわち、人手によるラベリングが不要となると共に、ユーザそれぞれに適したラベリングが可能となる。
 <2.変形例>
 なお、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、本技術は、以下のような構成もとることができる。
 (1)位置情報を含む第1のセンサデータをクラスタリングしてクラスを得る処理と、テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する処理と、前記ラベルを、関連する前記クラスに追加する処理を制御する制御部を備える
 情報処理装置。
 (2)前記制御部は、前記ラベルと前記クラスの関連を、前記第2のセンサデータに付加されているタイムスタンプと前記第1のセンサデータに付加されているタイムスタンプに基づいて判断する
 前記(1)に記載の情報処理装置。
 (3)前記第1のセンサデータまたは前記第2のセンサデータは、決済情報、行動情報、生体情報、環境情報の少なくともいずれかの情報をさらに含む
 前記(1)または(2)に記載の情報処理装置。
 (4)前記制御部は、所定の周期をもって前記処理を繰り返し実行するように制御する
 前記(1)から(3)のいずれかに記載の情報処理装置。
 (5)前記制御部は、前記関連するクラスへの前記ラベルの追加によって得られるデータベースの状態が所定の条件を満たすとき、前記処理を休止するように制御する
 前記(1)から(4)のいずれかに記載の情報処理装置。
 (6)上記所定の条件は、前記データベース全体におけるラベル数が設定値になること、前記データベース全体におけるクラス数が設定値になること、前記データベース全体におけるラベル数が閾値以上となるクラス数が設定値となることの少なくともいずれかである
 前記(5)に記載の情報処理装置。
 (7)前記制御部は、前記関連するクラスへの前記ラベルの追加によって得られるデータベースにおける前記ラベルに評価値を付与する処理を制御する
 前記(1)から(6)のいずれかに記載の情報処理装置。
 (8)前記ラベルに前記評価値を付与する処理は、前記データベースの構築時、前記データベースの利用時の少なくともいずれかに実行される
 前記(7)に記載の情報処理装置。
 (9)前記データベースの構築時には、前記ラベルに付与される前記評価値は、文字数、形態素数、他人の利用頻度、生体信号から算出される感情の指標、ラベルの個数の少なくともいずれかに基づいて設定される
 前記(8)に記載の情報処理装置。
 (10)前記データベースの利用時には、前記ラベルに付与される前記評価値は、ラベル提示時の利用頻度、ラベルの追加日付、ラベルの最終利用日付の少なくともいずれかに基づいて設定される
 前記(8)または(9)に記載の情報処理装置。
 (11)前記関連するクラスへの前記ラベルの追加で得られる自ユーザのデータベースにおける前記クラスは、他ユーザのデータベースの対応するクラスと共通クラスIDで対応付けされる
 前記(1)から(10)のいずれかに記載の情報処理装置。
 (12)前記他ユーザは、前記自ユーザとの関係性を利用して選択される
 前記(11)に記載の情報処理装置。
 (13)前記クラスに追加されたラベルを前記データベースから取得する処理と、前記取得されたラベルを用いた所定サービスの出力を生成する処理を制御する制御部を備える
 前記(1)に記載の情報処理装置。
 (14)前記所定サービスは、メッセージングである
 前記(13)に記載の情報処理装置。
 (15)前記所定サービスは、状況共有である
 前記(13)に記載の情報処理装置。
 (16)前記所定サービスは、家計簿である
 前記(13)に記載の情報処理装置。
 (17)前記所定サービスは、行動の可視化と分析である
 前記(13)に記載の情報処理装置。
 (18)前記所定サービスは、音声インタラクションである
 前記(13)に記載の情報処理装置。
 (19)位置情報を含む第1のセンサデータをクラスタリングしてクラスを得る手順と、
 テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する手順と、
 前記ラベルを、関連する前記クラスに追加する手順を有する
 情報処理方法。
 (20)コンピュータを、
 位置情報を含む第1のセンサデータをクラスタリングして場所クラスを得る第1の処理手段と、
 テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する第2の処理手段と、
 前記ラベルを、関連する前記クラスに追加する第3の処理手段として機能させる
 プログラム。
 10・・・情報処理システム
 100・・・ユーザ端末
 101・・・入力部
 102・・・データ保持部
 103・・・処理部
 104・・・出力部
 200・・・他ユーザ装置
 300・・・内部サービスサーバ
 301・・・データ保持部
 302・・・処理部
 400・・・外部サービスサーバ

Claims (20)

  1.  位置情報を含む第1のセンサデータをクラスタリングしてクラスを得る処理と、テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する処理と、前記ラベルを、関連する前記クラスに追加する処理を制御する制御部を備える
     情報処理装置。
  2.  前記制御部は、前記ラベルと前記クラスの関連を、前記第2のセンサデータに付加されているタイムスタンプと前記第1のセンサデータに付加されているタイムスタンプに基づいて判断する
     請求項1に記載の情報処理装置。
  3.  前記第1のセンサデータまたは前記第2のセンサデータは、決済情報、行動情報、生体情報、環境情報の少なくともいずれかの情報を含む
     請求項1に記載の情報処理装置。
  4.  前記制御部は、所定の周期をもって前記処理を繰り返し実行するように制御する
     請求項1に記載の情報処理装置。
  5.  前記制御部は、前記関連するクラスへの前記ラベルの追加によって得られるデータベースの状態が所定の条件を満たすとき、前記処理を休止するように制御する
     請求項1に記載の情報処理装置。
  6.  上記所定の条件は、前記データベース全体におけるラベル数が設定値になること、前記データベース全体におけるクラス数が設定値になること、前記データベース全体におけるラベル数が閾値以上となるクラス数が設定値となることの少なくともいずれかである
     請求項5に記載の情報処理装置。
  7.  前記制御部は、前記関連するクラスへの前記ラベルの追加によって得られるデータベースにおける前記ラベルに評価値を付与する処理を制御する
     請求項1に記載の情報処理装置。
  8.  前記ラベルに前記評価値を付与する処理は、前記データベースの構築時、前記データベースの利用時の少なくともいずれかに実行される
     請求項7に記載の情報処理装置。
  9.  前記データベースの構築時には、前記ラベルに付与される前記評価値は、文字数、形態素数、他人の利用頻度、生体信号から算出される感情の指標、ラベルの個数の少なくともいずれかに基づいて設定される
     請求項8に記載の情報処理装置。
  10.  前記データベースの利用時には、前記ラベルに付与される前記評価値は、ラベル提示時の利用頻度、ラベルの追加日付、ラベルの最終利用日付の少なくともいずれかに基づいて設定される
     請求項8に記載の情報処理装置。
  11.  前記関連するクラスへの前記ラベルの追加で得られる自ユーザのデータベースにおける前記クラスは、他ユーザのデータベースの対応するクラスと共通クラスIDで対応付けされる
     請求項1に記載の情報処理装置。
  12.  前記他ユーザは、前記自ユーザとの関係性を利用して選択される
     請求項11に記載の情報処理装置。
  13.  前記クラスに追加されたラベルを前記データベースから取得する処理と、前記取得されたラベルを用いた所定サービスの出力を生成する処理を制御する制御部を備える
     請求項1に記載の情報処理装置。
  14.  前記所定サービスは、メッセージングである
     請求項13に記載の情報処理装置。
  15.  前記所定サービスは、状況共有である
     請求項13に記載の情報処理装置。
  16.  前記所定サービスは、家計簿である
     請求項13に記載の情報処理装置。
  17.  前記所定サービスは、行動の可視化と分析である
     請求項13に記載の情報処理装置。
  18.  前記所定サービスは、音声インタラクションである
     請求項13に記載の情報処理装置。
  19.  位置情報を含む第1のセンサデータをクラスタリングしてクラスを得る手順と、
     テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する手順と、
     前記ラベルを、関連する前記クラスに追加する手順を有する
     情報処理方法。
  20.  コンピュータを、
     位置情報を含む第1のセンサデータをクラスタリングして場所クラスを得る第1の処理手段と、
     テキスト入力情報を含む第2のセンサデータを用いてラベルを抽出する第2の処理手段と、
     前記ラベルを、関連する前記クラスに追加する第3の処理手段として機能させる
     プログラム。
PCT/JP2020/020220 2019-05-28 2020-05-22 情報処理装置、情報処理方法およびプログラム WO2020241467A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-099724 2019-05-28
JP2019099724 2019-05-28

Publications (1)

Publication Number Publication Date
WO2020241467A1 true WO2020241467A1 (ja) 2020-12-03

Family

ID=73552734

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/020220 WO2020241467A1 (ja) 2019-05-28 2020-05-22 情報処理装置、情報処理方法およびプログラム

Country Status (1)

Country Link
WO (1) WO2020241467A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860760A (zh) * 2022-07-02 2022-08-05 北京新机场建设指挥部 一种多源数据集成处理方法及系统
JP2023015774A (ja) * 2021-07-20 2023-02-01 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CN116521827A (zh) * 2023-05-19 2023-08-01 北京百度网讯科技有限公司 地理位置的场所类别确定方法、装置、电子设备和介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204278A (ja) * 2012-01-18 2017-11-16 ナイキ イノベイト シーブイ アクティビティの識別

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017204278A (ja) * 2012-01-18 2017-11-16 ナイキ イノベイト シーブイ アクティビティの識別

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KASAI, AKINORI ET AL.: "FLAG: Lifelog aggregation system that was centered on position information", IPSJ SIG TECHNICAL REPORT, vol. 2014-UBI-43, no. 6, 21 July 2014 (2014-07-21), pages 1 - 7, XP055766882 *
ZHANG, YIZHE ET AL.: "Location Semantics Labeling of Wi-Fi Signal Information using Convolutional Neural Network and Camera Images", THE PAPERS OF TECHNICAL MEETING ON INFORMATION SYSTEM, IEE JAPAN IS -17-001-005'007- 025, 23 March 2017 (2017-03-23), pages 73 - 78 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023015774A (ja) * 2021-07-20 2023-02-01 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
JP7258960B2 (ja) 2021-07-20 2023-04-17 ヤフー株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
CN114860760A (zh) * 2022-07-02 2022-08-05 北京新机场建设指挥部 一种多源数据集成处理方法及系统
CN116521827A (zh) * 2023-05-19 2023-08-01 北京百度网讯科技有限公司 地理位置的场所类别确定方法、装置、电子设备和介质

Similar Documents

Publication Publication Date Title
US11727677B2 (en) Personalized gesture recognition for user interaction with assistant systems
US11341335B1 (en) Dialog session override policies for assistant systems
US20210081056A1 (en) Vpa with integrated object recognition and facial expression recognition
US10977452B2 (en) Multi-lingual virtual personal assistant
US10692006B1 (en) Crowdsourced chatbot answers
WO2020241467A1 (ja) 情報処理装置、情報処理方法およびプログラム
US11928985B2 (en) Content pre-personalization using biometric data
KR102628042B1 (ko) 연락처 정보를 추천하는 방법 및 디바이스
US11257482B2 (en) Electronic device and control method
EP4371027A1 (en) Intelligent task completion detection at a computing device
US11423694B2 (en) Methods and systems for dynamic and incremental face recognition
EP3557504A1 (en) Intent identification for agent matching by assistant systems
US10762438B1 (en) Extracting questions and answers
EP3557501A1 (en) Assisting users with personalized and contextual communication content
KR102243275B1 (ko) 오프라인 오브젝트에 관한 콘텐츠 자동 생성 방법, 장치 및 컴퓨터 판독가능 저장 매체
KR20220089093A (ko) 전이학습을 이용하는 오프라인 오브젝트에 관한 콘텐츠 자동 생성 방법, 장치 및 컴퓨터 판독가능 저장 매체
JP2018088129A (ja) 学習装置、回答装置、学習方法、回答方法、およびプログラム

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20814963

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP