Information processing method, information processing device, and program

By segmenting and normalizing user behavior data, the method addresses the challenge of integrating data with varying attributes, improving estimation accuracy and matching rates in user profile analysis.

JP2026069331APending Publication Date: 2026-04-23PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
Filing Date
2024-10-11
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Existing user profile estimation methods face challenges in accurately integrating and normalizing data with different attributes, such as cyber and physical information, leading to biased data distribution and reduced estimation accuracy due to outliers and varying data ranges.

Method used

An information processing method that classifies user behavior data into segments, aligns value ranges, deletes singular data, and estimates user profiles on a segment-by-segment basis to improve estimation accuracy.

Benefits of technology

Enhances the accuracy of user profile estimation by eliminating the influence of non-target segment data and normalizing data attributes, thereby optimizing user profile estimation and matching processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026069331000001_ABST
    Figure 2026069331000001_ABST
Patent Text Reader

Abstract

To obtain an information processing method that can improve the estimation accuracy of user profile estimation. [Solution] The information processing device acquires multiple data points related to user behavior, classifies the acquired data into multiple segments, and estimates a user profile, including user preferences, tendencies, or characteristics, on a segment-by-segment basis, based on the multiple data points belonging to each segment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to an information processing method, an information processing apparatus, and a program.

Background Art

[0002] In recent years, with the spread of IoT devices, technologies for profiling users using data generated from device operations by users and the like have become widespread. Thus, when performing analysis such as user profiling using data, normalization processing is used for the purpose of aligning the scales of different data and making it easier to compare feature amounts. For example, in Patent Document 1, for the purpose of making unskilled users and skilled users match each other more effectively to motivate the unskilled users, the feature amounts of unskilled users and fully skilled users are divided by the maximum value among them, thereby normalizing so that all values fall within the range from 0 to 1.

[0003] In Patent Document 2, in the statistical processing of biological data such as test results in the medical field, among various test items that act complexly, for the purpose of outputting a comprehensive evaluation such as the degree of aging, a technique for calculating a score serving as an evaluation criterion by comparing the measured value of biological data with a reference value automatically selected from a distribution pattern is disclosed.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0005] According to the technology disclosed in Patent Document 1, since each feature is normalized by dividing it by the maximum value, if the maximum value is an outlier, each feature that is not an outlier will become a value near 0 after the division, which may cause the data distribution to be biased and the user's characteristics to not be properly reflected.

[0006] According to the technology disclosed in Patent Document 2, a score is calculated based on a reference value automatically selected from a predetermined distribution pattern for measured values ​​of biological data. However, the trend of data distribution may differ depending on the data attribute, such as physical information or cyber information. Therefore, when fitting a distribution based on biological data, it may be difficult to maintain the user's characteristics for other data with different data attributes.

[0007] Therefore, the user profile estimation using the technology disclosed in Patent Document 1 or Patent Document 2 has low estimation accuracy.

[0008] This disclosure aims to provide an information processing method, an information processing device, and a program that can improve the estimation accuracy of user profile estimation. [Means for solving the problem]

[0009] An information processing method according to one aspect of this disclosure involves an information processing device acquiring multiple data points relating to a user's behavior, classifying the acquired data into multiple segments, and estimating a user profile, including the user's preferences, tendencies, or characteristics, on a segment-by-segment basis, based on the multiple data points belonging to each segment. [Effects of the Invention]

[0010] This disclosure makes it possible to improve the estimation accuracy of user profile estimation. [Brief explanation of the drawing]

[0011] [Figure 1] This figure shows a simplified example of the configuration of an information processing system according to the embodiment of this disclosure. [Figure 2] It is a diagram showing the stored content of the storage unit. [Figure 3] It is a diagram showing a simplified functional configuration of the processing unit. [Figure 4] It is a diagram showing the details of the function of the normalization unit. [Figure 5] It is a flowchart showing the processing content executed by the processing unit. [Figure 6A] It is a diagram for explaining the first example of the data classification process by the classification unit. [Figure 6B] It is a diagram for explaining the second example of the data classification process by the classification unit. [Figure 6C] It is a diagram for explaining the third example of the data classification process by the classification unit. [Figure 7] It is a diagram showing the first example of a histogram. [Figure 8] It is a diagram showing the second example of a histogram. [Figure 9] It is a diagram showing the third example of a histogram. [Figure 10] It is a diagram showing the fourth example of a histogram. [Figure 11] It is a flowchart showing the first example of the details of the abnormal data deletion process. [Figure 12] It is a flowchart showing the second example of the details of the abnormal data deletion process. [Figure 13] It is a diagram showing the fifth example of a histogram. [Figure 14] It is a diagram showing the sixth example of a histogram. [Figure 15] It is a flowchart showing the details of the normalization process. [Figure 16] It is a flowchart showing the first example of the details of the calculation process of the normalization parameter. [Figure 17] It is a flowchart showing the second example of the details of the calculation process of the normalization parameter. [Figure 18] It is a diagram for explaining the value range conversion process by the conversion unit. [Modes for carrying out the invention]

[0012] (Knowledge that forms the basis of this disclosure) Technologies that recommend products and content such as videos by estimating user profiles, including user preferences, based on website screen operations and transitions have been put into practical use. Thus, it is possible to estimate user profiles from information such as operation logs, and further accuracy is expected by using not only cyber information such as websites, but also physical information such as the number of steps taken and the range of activity of the user.

[0013] When estimating user profiles using data containing outliers, the accuracy of the estimation decreases. Data attributes differ depending on the data source, such as cyber information obtained through web activities and physical information obtained through real-world activities like step counts. Furthermore, if the value range or number of digits differs among multiple data sets, those data sets will have different data attributes. When integrating and using multiple data sets with different data attributes, even if there are no outliers when looking at the data individually, one data set may become an outlier when compared with other data sets. For example, cyber information such as the number of times a website screen was clicked is all of the same order of magnitude, around a few times. On the other hand, the value range of physical information such as step counts (four digits for thousands of steps) is significantly different from the value range of cyber information (single digit for a few times). Therefore, it is difficult to analyze user profiles using the relationships between data when data is simply combined from multiple data sets with different data attributes.

[0014] Outliers can be caused by differences in data sources, such as cyber information and physical information. The number of digits in the data can also be a contributing factor. In this disclosure, all indicators of data type, including data source and number of digits, are referred to as data attributes. Data preprocessing is necessary to remove the effects of outliers, integrate and handle multiple data sets with different data attributes, and appropriately estimate user profiles. Normalization, one type of preprocessing, and data processing based on estimated distributions to which the data fits are methods for integrating and processing multiple data sets, but prior art methods have the following limitations.

[0015] This paper describes the challenges of user profile estimation using data that has different properties depending on the source. Considering that websites are designed with a specific purpose in mind, there are relationships between information related to screen transitions and click operations. Therefore, conventional profiling techniques integrate multiple cyber information sources. However, such a self-evident relationship does not exist between cyber and physical information. Conventional integration of cyber and physical information merely enumerates data, making accurate profile estimation difficult. This paper discusses the nature of the data and its impact on profiling in relation to this challenge.

[0016] This section explains the differences in the nature of cyber information and physical information. Under conditions where user permission has been obtained, cyber information can be obtained without any gaps in data acquisition, such as time periods or locations where data cannot be obtained from the user, and for view counts and click operations, unambiguous counts and truth values ​​can be obtained, respectively. On the other hand, with physical information such as step counts, the number of steps actually walked by the user does not match the step count of a smartphone, resulting in inaccuracies in observed values ​​and missing step count data due to the user not having a smartphone with them. Therefore, unambiguous cyber information and ambiguous physical information have different data properties.

[0017] This section explains the impact of the differences between cyber and physical information on profile estimation. When the aforementioned complete cyber information is considered as a data distribution, as the amount of data increases, it converges to a simple data distribution that can be expressed with a few parameters, such as a normal distribution. However, physical information, which is ambiguous and contains missing data, does not converge in the same way as the normal distribution of cyber information. In other words, simply applying the above simple distribution to physical information does not accurately capture the data distribution, and as a result, the estimation accuracy of user profile estimation decreases. Furthermore, even with the aforementioned complete cyber information, log data is generated due to operations that differ from normal use of the application (hereinafter abbreviated as "app") during application installation or tutorial viewing. The distribution of data when this log of operations that differ from normal use is mixed with logs of normal use is not a normal distribution. As a result, the data from logs of operations that differ from normal use become outliers, which can reduce the estimation accuracy of user profile estimation.

[0018] The following example illustrates the challenges of normalization due to the nature of the number of digits: The mean of data containing outliers, where the value "100" occurs in 3σ (standard deviation σ=1) of the standard normal distribution, corresponding to 1% of the number of observations, is "1.2," which is a significant deviation from the standard normal distribution mean of "0." Furthermore, the standard deviation of data containing outliers is "9.9," which is a significant deviation from the standard normal distribution standard deviation of "1."

[0019] Furthermore, the mean of the data containing outliers, where the value "10" exists at 3σ (standard deviation σ=1) of the standard normal distribution, corresponding to 1% of the number of observations, is "0.3," which is slightly different from the mean "0" of the standard normal distribution. On the other hand, the standard deviation of the data containing outliers is "1.0," which is no different from the standard deviation "1" of the standard normal distribution.

[0020] Therefore, if the majority of the data can be considered to follow a standard normal distribution, the influence of the outlier on the standard deviation of the observation distribution cannot be ignored when a value of "10," which is two orders of magnitude larger, is observed around three times the standard deviation, which is generally treated as an outlier. Furthermore, if a value of "100," which is three orders of magnitude larger, is observed, the impact on both the mean and the standard deviation is significant. Thus, in data where outliers exist that are 100 times or more the representative value of the observed values ​​(e.g., the mean), conventional methods cannot accurately normalize the data.

[0021] Furthermore, if the observed data follows a non-standard normal distribution, the values ​​described above will simply be approximate constant multiples and constant additions, essentially remaining the same. Therefore, even if only outliers less than 100 times the representative value of the observed values ​​are observed in the above explanation, conventional methods cannot accurately normalize the data if the data distribution containing the outliers has roughly the same shape.

[0022] The following describes the specific challenges in user profile estimation using data that contains a large number of data points with different properties.

[0023] One challenge is that data collected early in a user's app usage (for example, within the first week of use) includes app usage logs from installation and tutorial viewing. These logs may contain a large proportion of data collected for reasons unrelated to the app's intended use. If this data is used as is, the distribution of the data can be distorted by an excessive inclusion of certain parameters (e.g., "0" or "1"), obscuring characteristic data about the app user. As a result, the accuracy of user profile estimation using the obtained data decreases.

[0024] The second challenge is the coexistence of app usage logs related to physical information and app usage logs that consist solely of cyber information. In this case, the distribution of each data and the range of parameter values ​​may differ, and a uniform normalization that divides all data obtained from the app by the maximum value of the data may leave data that should be excluded as outliers. Furthermore, consider the case where all data from app usage logs, both those related to physical information and those consisting solely of cyber information, are used in the desired calculation. In this case, when using the data to estimate users who fit a specific target viewpoint (e.g., "active physical activity") or to match similar users, data unrelated to the above-mentioned viewpoint may be used in the calculation, and the estimation or matching results may be affected by this unrelated data, potentially reducing the accuracy of user profile estimation or matching.

[0025] The third challenge is that biometric data and data obtained from apps have different data distribution trends. Biometric data has fewer outliers than expected, and the proportion of outliers in the total is small (e.g., a few percent), so they can be ignored. On the other hand, in data obtained from apps, outliers indicate specific user behavior within the app and are important information that represents user characteristics. Furthermore, outliers near "0" indicate the existence of users who are not using specific functions of the app, and are data that cannot be ignored. Therefore, if biometric data and data obtained from apps, which have different data distribution trends, are treated uniformly during data processing, the accuracy of user profile estimation or matching may decrease.

[0026] This disclosure was made to address these challenges and aims to provide data classification technology to improve the estimation accuracy of user profile estimation.

[0027] Next, we will describe each aspect of this disclosure.

[0028] The information processing method according to the first aspect of this disclosure involves an information processing device that acquires multiple data points relating to a user's behavior, classifies the acquired data into multiple segments, and estimates a user profile, including the user's preferences, tendencies, or characteristics, on a segment-by-segment basis, based on the multiple data points belonging to each segment.

[0029] According to the first embodiment, when estimating user profiles by emphasizing attributes, etc., corresponding to a specific segment, the influence of data from segments other than the target segment can be eliminated, thereby optimizing user profile estimation for the target segment. In other words, by estimating user profiles on a segment-by-segment basis based on multiple data belonging to each segment, it is possible to improve the estimation accuracy of user profile estimation.

[0030] In the second aspect of the information processing method of this disclosure, in the first aspect, it is preferable to perform a transformation process to align the value ranges of multiple data belonging to each segment before estimating the user profile.

[0031] According to the second embodiment, the estimation accuracy of user profile estimation can be further improved by aligning the value ranges of multiple data belonging to each segment.

[0032] In the third aspect of this disclosure, the information processing method further involves performing a matching process between multiple users using multiple data belonging to the same segment, after the estimation of the user profile, in the first or second aspect.

[0033] According to the third embodiment, when performing matching processing with emphasis on attributes, etc., corresponding to a specific segment, the influence of data other than the target segment can be eliminated, thereby optimizing matching for the target segment.

[0034] The information processing method according to the fourth aspect of this disclosure further includes generating frequency distribution information relating to the acquired data, determining singular portions included in the frequency distribution information, deleting singular data included in the singular portions, normalizing the data after the deletion of the singular data, and estimating the user profile based on the normalized data.

[0035] According to the fourth aspect, the estimation accuracy of user profile estimation can be further improved by deleting singular data included in the singular portion.

[0036] In the information processing method relating to the fifth aspect of this disclosure, in any one of the first to fourth aspects, segments in which the number of data belonging to the segment is below a predetermined threshold are not used for estimating the user profile.

[0037] According to the fifth embodiment, it is possible to avoid in advance the decrease in estimation accuracy of user profiles caused by segments with insufficient data.

[0038] In the information processing method according to the sixth aspect of this disclosure, in any one of the first to fourth aspects, in the classification of the data, a new segment having a number of data exceeding a predetermined threshold is defined by integrating multiple segments in which the number of data belonging to that segment is less than or equal to a predetermined threshold.

[0039] According to the sixth embodiment, it is possible to avoid in advance the decrease in estimation accuracy of user profile estimation due to segments with insufficient data.

[0040] In the information processing method according to the seventh aspect of this disclosure, in the fifth or sixth aspect, it is preferable that a matching process is performed between multiple users using multiple data belonging to the same segment, and that the threshold is set such that the number of candidate combinations based on the number of divisions for the segment and the number of states indicating the number of values ​​each data can take exceeds the number of pairs to be matched by the matching process.

[0041] According to the seventh embodiment, an appropriate threshold can be set that can improve the matching rate.

[0042] In the information processing method according to the eighth aspect of this disclosure, in the seventh aspect, it is preferable that a natural number exceeding the logarithm of the number of sets with the number of states as the base is set as the threshold.

[0043] According to the eighth aspect, an appropriate threshold that can improve the matching rate can be easily set.

[0044] An information processing device according to the ninth aspect of this disclosure comprises a circuit configuration which acquires a plurality of data relating to user behavior, classifies the acquired data into a plurality of segments, and estimates a user profile including the user's preferences, tendencies, or characteristics on a segment-by-segment basis based on the plurality of data belonging to each segment.

[0045] According to the ninth aspect, when estimating user profiles by emphasizing attributes corresponding to a specific segment, the influence of data from segments other than the target segment can be eliminated, thereby optimizing user profile estimation for the target segment. In other words, by estimating user profiles on a segment-by-segment basis based on multiple data belonging to each segment, it is possible to improve the estimation accuracy of user profile estimation.

[0046] A program according to the tenth aspect of this disclosure is a program for causing an information processing device to perform processing, wherein the processing acquires a plurality of data relating to the user's behavior, classifies the acquired data into a plurality of segments, and estimates a user profile including the user's preferences, tendencies, or characteristics on a segment-by-segment basis based on the plurality of data belonging to each segment.

[0047] According to the tenth embodiment, when user profile estimation is performed by emphasizing attributes etc. corresponding to a specific segment, the influence of data other than the target segment can be eliminated, thereby optimizing user profile estimation for the target segment. In other words, by estimating user profiles on a segment-by-segment basis based on multiple data belonging to each segment, it is possible to improve the estimation accuracy of user profile estimation.

[0048] This disclosure can also be implemented as a program that causes a computer to execute each characteristic configuration included in such a method or apparatus, or as a system that operates using such a program. It goes without saying that such a computer program can be distributed via a computer-readable, non-temporary recording medium such as a CD-ROM, or via a communication network such as the Internet.

[0049] (Embodiments of the present disclosure) Embodiments of this disclosure will be described in detail below with reference to the drawings. Elements denoted by the same reference numeral in different drawings refer to the same or corresponding elements. Furthermore, the components, their arrangement, connection configurations, and operating sequences shown in the following embodiments are examples and are not intended to limit this disclosure. This disclosure is limited only by the claims. Therefore, among the components in the following embodiments, those not described in the independent claims representing the highest-level concepts of this disclosure are described as constituting a more preferable configuration, even though they are not necessarily required to achieve the object of this disclosure.

[0050] Figure 1 is a simplified diagram showing an example configuration of an information processing system 1 according to an embodiment of this disclosure. The information processing system 1 is configured to include a terminal 11 and an estimation device 12.

[0051] Terminal 11 is, for example, a storage device that stores data D1 related to user behavior. Data D1 includes cyber information obtained through activities on the Web (such as user searches or computer games like e-sports) and physical information obtained through activities in the real environment, such as the number of steps taken. Data D1 is, for example, a data file that exists in the local environment, but its form is not particularly limited. Terminal 11 inputs the data D1 stored in a predetermined format to the estimation device 12. The estimation device 12 may read data D1 from a data file that exists in the local environment, or it may read data D1 from log data that exists in the cloud.

[0052] The estimation device 12 estimates a user profile based on multiple data points D1 input from the terminal 11. The user profile includes the user's preferences, tendencies, or characteristics. The estimation device 12 estimates the user profile, for example, by inputting the input data based on the data points D1 into a machine learning-based estimation model.

[0053] The estimation device 12 is configured using a computer that includes a processing unit 21, a storage unit 22, and a communication unit 23.

[0054] The processing unit 21 comprises the circuit configuration of an information processing device. The information processing device includes a processor such as a CPU.

[0055] The storage unit 22 is configured to include a storage device for storing data. The storage unit 22 includes a computer-readable non-volatile storage medium such as a hard disk drive, a solid-state drive, or flash memory.

[0056] The communication unit 23 is an arbitrary data input / output mechanism such as an interface circuit, and is configured to include, for example, a communication module that corresponds to the communication standard between the terminal 11 and the estimation device 12.

[0057] Figure 2 shows the contents stored in the memory unit 22. The memory unit 22 stores the data D1 input from the terminal 11. The memory unit 22 also stores the program PR.

[0058] Data D1 includes cyber information and physical information. Cyber ​​information includes log data related to user actions such as clicks obtained on the application. However, Data D1 is not limited to log data and may also include image data or audio data.

[0059] In the following section, the processing of the estimation device 12 will be explained using log data acquired on the app. However, the input data entered into the estimation device 12 from the terminal 11 is not limited to log data; the estimation device 12 should perform processing corresponding to the data format, such as image data or audio data.

[0060] If data D1 is image data, the upper limits of its parameters and the data distribution are affected by the sensor used to acquire the data. To illustrate with an example using 8-bit image data, since the pixel value range for 8-bit images is "0" to "255", there is a high probability that noise and outliers will converge (saturate) at the upper limit "255" or the lower limit "0". Therefore, when using 8-bit image data, from the perspective of reducing the influence of outliers, it is sufficient to remove the data at the upper limit "255" and the lower limit "0". This removes the influence of outliers concentrated at the upper or lower limit of the pixel value range, allowing for proper normalization and enabling the unified handling of information from multiple data with different properties.

[0061] If data D1 is audio data, then data processing should be based on the dynamic range. For example, in the case of audio data that humans hear, it is generally known that, due to human characteristics, sounds above the upper limit of the dynamic range (approximately 120 dB for humans) tend to be painful, and sounds below the lower limit of the dynamic range (approximately 30 dB for humans) tend to be heard as noise. Therefore, values ​​that people find unpleasant or difficult to hear can be considered outliers, and by removing data corresponding to the upper or lower limit of the dynamic range as outliers, the impact of outliers can be mitigated.

[0062] Furthermore, since sound is a vibration of air, the audio data detected by sensors such as microphones will not be constant even when measuring sounds at the sensor's sensitivity limit. Therefore, when removing outliers from audio measurement data, it is sufficient to add a width of a few dB (for example, 2 dB) to the boundary where the outlier occurs and then remove the outlier. This removes the influence of outliers in audio data based on the human dynamic range, or outliers mixed into audio data acquired by sensors, and allows for proper normalization, enabling the unified handling of information from multiple data with different properties.

[0063] Figure 3 is a simplified diagram showing an example of the functional configuration of the processing unit 21. The processing unit 21, which is realized by the processor executing the program PR read from the storage unit 22, has an acquisition unit 30, a classification unit 31, a generation unit 32, a determination unit 33, a deletion unit 34, a normalization unit 35, a conversion unit 36, an estimation unit 37, a matching processing unit 38, and an output unit 39. Note that the functions shown in Figure 3 may also be configured using dedicated hardware circuits such as ASICs.

[0064] The acquisition unit 30 acquires data D1 related to user behavior as input data by reading data D1 from the storage unit 22.

[0065] The classification unit 31 classifies the data D1 input from the acquisition unit 30 into multiple segments and outputs the classified data D2. In this disclosure, data classification refers to the process of sorting each data into a category or attribute according to a category set for the purpose of data processing, or according to a specific attribute of the data, for the data to be used for calculation. A category set for the purpose of data processing is, for example, a user characteristic set by the analyst when estimating a user profile from the obtained data (e.g., highly interested in health or highly interested in local area). Data attributes are cyber data or physical data, etc. A code indicating the data attribute may be included in the input data, or the data attribute may be determined by the procedure described later during the segment classification process. Furthermore, a segment may be read as a category, part, group, or category, etc.

[0066] The generation unit 32 generates frequency distribution information for the data D2 input from the classification unit 31 and outputs data D3 related to the frequency distribution information. The frequency distribution information is information that shows the distribution of the input data and includes, for example, a histogram.

[0067] The determination unit 33 determines the singular portion included in the frequency distribution information based on the data D3 input from the generation unit 32, and outputs data D4 related to the singular portion. The singular portion is a unique data portion in the distribution of the input data that is not expected from the original purpose of the application, and includes outliers, abnormal values, or irregular portions. In determining the singular portion, the determination unit 33 determines a predetermined singular frequency distribution shape in the frequency distribution information as a singular portion. The singular frequency distribution shape includes the peak shape of the frequency distribution near the minimum value of data D1. The singular frequency distribution shape also includes the flat shape of the frequency distribution.

[0068] The deletion unit 34 generates data D5 by deleting data included in the singular portion of the input data (hereinafter referred to as "singular data") based on the data D4 input from the determination unit 33. In generating data D5, the deletion unit 34 deletes singular data if predetermined deletion conditions are met. The deletion conditions include at least one of the following related to frequency distribution information: number of peaks, range, data attributes, and frequency distribution shape. The data attributes include physical information obtained from activities in the real world and cyber information obtained from activities in the virtual world.

[0069] The normalization unit 35 generates data D6 by normalizing the data D5 input from the deletion unit 34. Normalization includes the process of bringing the values ​​of each of the multiple data (corresponding to the scale of the vertical axis of the histogram) to a specified range, for example, "0" to "1".

[0070] Figure 4 shows the details of the functions of the normalization unit 35. The normalization unit 35 includes an estimation unit 351, a calculation unit 352, and a normalization unit 353. The estimation unit 351 estimates the data distribution of data D5 from a plurality of pre-set data distributions. In other words, it applies one of the plurality of pre-set data distributions to data D5. The plurality of data distributions may include discrete distributions and continuous distributions. Alternatively, the plurality of data distributions may include at least two of the following: normal distribution, uniform distribution, Poisson distribution, binary data, monotonically increasing distribution, and monotonically decreasing distribution. The calculation unit 352 calculates parameters used in the normalization calculation (hereinafter referred to as "normalization parameters") based on the data distribution of data D5. The normalization parameters may include at least one of the following: a first threshold greater than the minimum value of data D5, and a second threshold less than the maximum value of data D2. The normalization unit 353 normalizes the data D5 in a manner corresponding to the data distribution estimated by the estimation unit 351, and using the normalization parameters calculated by the calculation unit 352.

[0071] Referring to Figure 3, the transformation unit 36 ​​generates data D7 by transforming the range of data D6 input from the normalization unit 35. The range of data represents the range in which the data is distributed and corresponds to the scale of the horizontal axis of the histogram. Through the range transformation process, the transformation unit 36 ​​aligns the ranges of multiple data belonging to each segment.

[0072] The estimation unit 37 estimates a user profile, including user preferences, tendencies, or characteristics, based on the data D7 input from the conversion unit 36, and outputs data D8 showing the estimation result. The estimation unit 37 estimates the user profile, for example, by inputting the input data based on data D7 into a machine learning-based estimation model. The estimation unit 37 estimates the user profile on a segment-by-segment basis based on multiple data D7 belonging to each segment.

[0073] The matching processing unit 38 performs matching processing to match multiple users with each other, or matching users with content, based on the data D8 input from the estimation unit 37. Alternatively, the matching processing unit 38 estimates a representative user within a group to which multiple users belong, based on the data D8, and performs matching processing to match multiple representative users with each other based on the estimated user profile of the representative user. While the matching processing can involve calculating Pearson's correlation coefficient and using the result as a similarity score, it is not limited to this method and other methods may be used. Furthermore, the matching processing unit 38 may perform matching processing on users with identical or similar user profiles, or it may perform matching processing on all users included in the input data. The matching processing unit 38 executes matching processing on a segment-by-segment basis based on multiple data D8 belonging to each segment.

[0074] The output unit 39 outputs data D9 indicating the matching result from the matching processing unit 38. For example, the data D9 indicating the matching result is input to a display device (not shown) via the communication unit 23, and the display device displays the matching result.

[0075] The configuration of the estimation device 12 is not particularly limited; for example, it may be configured using an edge server installed within a specific facility, or it may be configured using a cloud server. When the estimation device 12 is configured using an edge server, the terminal 11 and the estimation device 12 are connected via a local area network. When the estimation device 12 is configured using a cloud server, the terminal 11 and the estimation device 12 are connected via a wide-area communication network such as the Internet. Furthermore, a portion of the estimation device 12 may be configured using an edge server, while the other portion is configured using a cloud server.

[0076] Furthermore, the estimation device 12 does not necessarily have to be implemented using a single computer device, but may be implemented by a distributed processing system including a terminal device and a server device. In this case, for example, the acquisition unit 30, classification unit 31, generation unit 32, determination unit 33, deletion unit 34, and storage unit 22 may be provided in the terminal device, and the normalization unit 35, conversion unit 36, estimation unit 37, matching processing unit 38, and output unit 39 may be provided in the server device. In this case, the transmission and reception of data between the components may be performed via a wide-area communication network.

[0077] The operation of the processing unit 21 (information processing device) according to the embodiment of this disclosure will be described below.

[0078] Figure 5 is a flowchart showing the processing steps performed by the processing unit 21.

[0079] First, in step S0, the acquisition unit 30 acquires multiple data D1 related to the user's actions as input data by reading data D1 from the storage unit 22.

[0080] Next, in step S1, the classification unit 31 classifies the data D1 input from the acquisition unit 30 into multiple segments and outputs the classified data D2. In this specification, the process of classifying data into multiple segments is also referred to as "segmentation".

[0081] The data subject to segmentation is, for example, input data that contains multiple segments. For instance, if the input data includes data related to IT, data related to exercise, and data related to personal information, then that input data is subject to segmentation. When it is desired to estimate a user profile from a certain perspective for such input data containing multiple segments, the classification unit 31 can segment the input data according to that perspective. Alternatively, if each data in the multiple input data sets is assigned coded information to identify the data or perspective, the classification unit 31 may segment the input data based on that coded information.

[0082] As a first example of segmentation by the classification unit 31, if the correspondence between a segment and the data names of the data belonging to that segment is known, the classification unit 31 can classify each data into multiple segments based on this correspondence. In this case, it is assumed that each data is associated with its own data name. Data that does not belong to any segment can be grouped into a single segment, for example, "Other".

[0083] As a second example of segmentation by the classification unit 31, if code information indicating which segment the data belongs to is attached to the data, the classification unit 31 can classify each data into multiple segments based on that code information. For example, if it is predetermined that data with the code information "a" attached belongs to segment "A", the classification unit 31 can classify the data with the code information "a" attached into segment "A".

[0084] As a third example of segmentation by the classification unit 31, if data is associated with data names but the correspondence with segments is unknown, the classification unit 31 may, for example, classify multiple data with similar data names into the same segment. For example, if there are multiple data with data names such as "height" and "weight," the classification unit 31 may classify these data into the same segment, considering them to be similar as they are all personal data of the user. As an example of a method for segmenting based on data names, the classification unit 31 may calculate the similarity between data names using any natural language processing method such as Word2Vec, and if the similarity is above a threshold (e.g., 0.80), classify those data into the same segment. Note that the method for segmenting based on data names is not limited to the above example, and other arbitrary methods may be used.

[0085] As a fourth example of segmentation by the classification unit 31, if information indicating the correspondence between data and segments (such as data name or code information) is not attached to the data, the classification unit 31 may classify each data into multiple segments based on the data's value range or the number of digits in the data. For example, cyber information such as the number of times a website screen is operated frequently consists of data with a value range or number of digits of about one or two digits, while physical information such as the number of steps frequently consists of data with a value range or number of digits of about four digits. The classification unit 31 may classify data with a value range or number of digits of about one or two digits into the cyber information segment and data with a value range or number of digits of about four digits into the physical information segment.

[0086] Figures 6A to 6C show examples of processing by the classification unit 31 when the number of elements in a segment is below a predetermined threshold. The number of elements corresponds to the number of divisions used to divide the segment.

[0087] As shown in Figure 6A, segment G1 has 7 elements, segment G2 has 5 elements, and segment G3 has 3 elements. The predetermined threshold for the number of elements is 6. In this case, segment G1 is the segment whose number of elements exceeds the predetermined threshold, while segments G2 and G3 are segments whose number of elements is less than or equal to the predetermined threshold.

[0088] As a first example of processing, as shown in Figure 6B, the classification unit 31 discards or does not output data for segments G2 and G3 whose number of elements is below a predetermined threshold, thereby not using it for user profile estimation.

[0089] As a second example of processing, as shown in Figure 6C, the classification unit 31 defines a new segment G4 having a number of elements exceeding a predetermined threshold by integrating segments G2 and G3 whose number of elements is below a predetermined threshold.

[0090] As a specific example of the second processing example, let's assume that segment G1 is a segment corresponding to age, segment G2 is a segment corresponding to height, segment G3 is a segment corresponding to gender, and the predetermined threshold is 6. For segment G1 corresponding to age, if age is divided into 10-year increments and those 100 years and older are grouped together, the number of elements will be 11. For segment G2 corresponding to height, if the height categories are less than 100cm, 100cm or more and less than 120cm, 120cm or more and less than 140cm, 140cm or more and less than 160cm, 160cm or more and less than 180cm, and 180cm or more, the number of elements will be 6. For segment G3 corresponding to gender, if the categories are male, female, and other, the number of elements will be 3. In this case, for segments G2 and G3, the number of elements is less than or equal to the predetermined threshold. Therefore, the classification unit 31 combines segments G2 and G3 to define a new segment G4 with 9 elements. In this way, by combining segments with a number of elements below a predetermined threshold to define a new segment, data from segments that previously lacked elements can be handled in subsequent user profile estimation and matching processes.

[0091] The predetermined threshold mentioned above should be set based on the population of users to be matched. For example, the predetermined threshold should be set so that the number of candidate combinations based on the number of elements in a segment and the number of states (which indicates the number of possible values ​​for each data point) exceeds the number of pairs to be matched by the matching process. Specifically, the predetermined threshold should be set to a natural number that exceeds the logarithm of the number of pairs with respect to the number of states.

[0092] The classification unit 31 sets a predetermined threshold such that the number of combinations of segment elements is greater than the number of matching pairs. The classification unit 31 calculates the number of digits by taking the logarithm of the number of values ​​(number of states) that each element can take, relative to the number of matching pairs. By setting a predetermined threshold such that the number of elements is greater than the calculated number of digits, the number of combinations of segment elements becomes greater than the number of matching pairs. This expands the variations in data combinations in the matching process, thereby improving the matching rate. However, if a predetermined threshold is set such that the number of elements is less than the calculated number of digits, the number of data combinations becomes less than the number of matching pairs, resulting in a decrease in the matching rate.

[0093] For example, when matching 1000 pairs, a predetermined threshold is set so that the number of combinations of each element belonging to a segment exceeds 1000. For example, if the data contained in each element is in binary format and can only take two values, 0 or 1 (i.e., the number of states is 2), then the logarithm with base 2 on the number of matching pairs N (=1000) will have 9 digits. In this case, the classification unit 31 sets the threshold to the smallest natural number of digits greater than 9, i.e., 10. Also, if the number of possible values ​​for the data contained in each element is 10 (i.e., the number of states is 10), then the common logarithm with base 10 on the number of matching pairs N (=1000) will have 3 digits. In this case, the classification unit 31 sets the threshold to the smallest natural number of digits greater than 3, i.e., 4. Note that the method for setting the predetermined threshold is not limited to the above examples; for example, the number of classes when the input data is clustered may be set as the predetermined threshold, or other methods may be used.

[0094] Furthermore, regarding segments G2 and G3 shown in Figure 6C, let's assume that segment G2 has 5 elements, segment G3 has 3 elements, and the data contained in each element of segments G2 and G3 is in binary format (i.e., the number of states is 2). If the number of matching pairs N is, for example, 200 pairs, then taking the logarithm of the number of pairs N (=200) with base 2, the following relationship holds.

[0095] log2128 (=7) <log2200<log2256(=8) The classification unit 31 sets the smallest number of digits in a natural number that exceeds the value of log2200, i.e., 8, as a predetermined threshold. The classification unit 31 also defines a new segment G4 with a number of elements equal to or greater than the predetermined threshold of 8 by integrating segment G2, which has 5 elements, and segment G3, which has 3 elements.

[0096] According to this embodiment, the estimation unit 37 performs user profile estimation on a segment-by-segment basis using only the data belonging to each segment, thereby enabling the estimation of user profiles specific to each segment and improving the estimation accuracy of user profiles for each segment. In other words, by not using data belonging to other segments in user profile estimation for a given segment, the influence of data belonging to other segments that may be outliers in the user profile estimation for the target segment can be eliminated. For example, when performing user profile estimation for IT, the influence of data related to user movement that may be outliers can be eliminated, and as a result, user profile estimation can be performed within a scope specific to IT.

[0097] Furthermore, since user profiles can be estimated for each segment, it is possible to estimate the user profile of each user in detail on a segment-by-segment basis, for example, that data about a particular user is frequently classified into one segment but less frequently into other segments.

[0098] Furthermore, by combining multiple segments with small amounts of data into a single segment, it becomes possible to estimate user profiles with high accuracy even with data where the small amount of data makes it impossible or reduces the estimation accuracy.

[0099] Referring to Figure 5, in step S2, the generation unit 32 generates frequency distribution information for data D1. Frequency distribution information is information that shows the distribution of the input data, and includes, for example, a histogram.

[0100] Figure 7 shows the first example of a histogram. The horizontal axis represents the number of clicks on the user profile screen on the app, which is cyber information, and the vertical axis represents the number of users, which is the frequency for each bin. The data distribution shows a normal distribution with peak shapes corresponding to bins where the horizontal axis values ​​are between "20" and "25".

[0101] Figure 8 shows a second example of a histogram. The horizontal axis represents the user's daily step count, which is physical information, and the vertical axis represents the number of users, which is the frequency for each bin. The data distribution shows a monotonically decreasing distribution with peak shapes corresponding to the bins near the minimum value where the horizontal axis value is between "0" and "2500".

[0102] Figure 9 shows a third example of a histogram. The horizontal axis represents the number of clicks on the user profile screen on the app, which is cyber information, and the vertical axis represents the number of users, which is the frequency for each bin. The data distribution shows a normal distribution with peak shapes corresponding to the bins near the minimum value where the horizontal axis value is between "0" and "5", and peak shapes corresponding to the bins where the horizontal axis value is between "20" and "25".

[0103] Figure 10 shows a fourth example of a histogram. The horizontal axis represents the number of clicks on the user profile screen on the app, which is cyber information, and the vertical axis represents the number of users, which is the frequency for each bin. The data distribution shows a normal distribution with a peak shape corresponding to the bins where the horizontal axis values ​​are "20" to "25", and a flat shape corresponding to the five bins where the horizontal axis values ​​are "35" to "60". The flat shape represents a distribution shape in which the data continues to be distributed at a constant frequency across multiple consecutive bins.

[0104] Referring to Figure 3, in step S3, the determination unit 33 determines the singular portion included in the histogram generated in step S2.

[0105] If the distribution of data obtained from an app contains an anomaly, the anomaly data within that anomaly distorts the overall distribution of the data. When using data containing this anomaly, the accuracy of user profile estimation decreases for users who use the app in accordance with its intended usage.

[0106] Furthermore, a given dataset may contain multiple data distributions based on different factors. In this case, the interaction of these multiple data distributions can cause the unique characteristics of each data point to be obscured by singularities, leading to a decrease in the accuracy of user profile estimation.

[0107] Therefore, it is important to exclude data that negatively impacts the analysis from the data distribution, and the determination unit 33 has the effect of detecting data that should be excluded from the data distribution by determining the singular portion.

[0108] In determining the singular portion, the determination unit 33 determines that a predetermined singular frequency distribution shape in the histogram is a singular portion.

[0109] As a first example, the determination unit 33 determines that the peak shape of the frequency distribution near the minimum value of data D1 is a singular frequency distribution shape. A method for detecting peaks on a graph is to compare the frequency of a histogram bin with the frequencies of the preceding and succeeding bins. For example, if the difference between the frequency of a certain bin and the frequencies of the preceding and succeeding bins is greater than a set threshold (e.g., "5"), it can be determined to be a peak. For the bin containing the minimum value of data D1, if the difference between it and the frequency of the bin to its right is greater than a set threshold (e.g., "5"), it can be determined to be a peak. The determination unit 43 counts the number of peaks included in the histogram.

[0110] For the histogram shown in Figure 8, which has peaks only near the minimum value, the determination unit 33 determines that the peak shape of the frequency distribution near the minimum value of data D1, that is, the peak shape corresponding to the leftmost bin where the horizontal axis value is "0" to "2500", is a unique frequency distribution shape. The leftmost bin includes not only data of normal values ​​such as 1000 steps or 2000 steps per day, but also data of abnormal values ​​that are not reasonable for a daily step count, such as a few steps or a few tens of steps per day. The determination unit 33 determines that the peak shape corresponding to the bin near the minimum value of data D1 is a unique frequency distribution shape.

[0111] For the histogram with multiple peaks shown in Figure 9, the determination unit 33 determines that the peak shape of the frequency distribution near the minimum value of data D1, that is, the peak shape corresponding to the leftmost bin where the horizontal axis value is "0" to "5", is a unique frequency distribution shape. The histogram shown in Figure 9 contains data from users who continuously use the app and data from users who do not use the app after viewing the tutorial, resulting in multiple peaks on the graph. In the data from users who continuously use the app, peaks may appear at specific locations other than near the minimum value. On the other hand, in the data from users who do not use the app, peaks appear near the minimum value. The determination unit 33 determines that the peak shape corresponding to the bin near the minimum value of data D1 is a unique frequency distribution shape.

[0112] As a second example, the determination unit 33 determines that a flat shape included in a normal distribution is a singular frequency distribution shape. Targeting a histogram with a flat shape as shown in Figure 10, the determination unit 33 determines that a flat shape included in a normal distribution is a singular frequency distribution shape. Log data of users who frequently used the app in the past but do not currently use the app may remain on the histogram as a fixed flat shape. When a flat shape exists, the distribution of the entire data is distorted towards the side where the flat shape exists. For example, if the distribution of user app usage data according to the originally expected app usage method follows a normal distribution, the data in the normal distribution may be distorted by the flat shape, potentially obscuring the characteristics of app users and reducing the estimation accuracy of user profile estimation. Therefore, the determination unit 33 determines that a fixed flat shape included in a normal distribution is a singular frequency distribution shape. A method for detecting a flat shape on a graph is to compare the frequency of the histogram bin with the frequencies of the preceding and succeeding bins. For example, if the difference between the frequency of a given bottle and the frequencies of the preceding and succeeding bottles is less than a set threshold (e.g., "2"), then that bottle and the preceding and succeeding bottles can be determined to have the same frequency. In this frequency comparison with the preceding and succeeding bottles, if the number of consecutive bottles that are determined to have the same frequency as the preceding and succeeding bottles is equal to or greater than a threshold (e.g., "5"), then the shape can be determined to be flat.

[0113] Referring to Figure 5, in step S4, the deletion unit 34 generates data D5 by deleting the singular data included in the singular portion of data D1.

[0114] By removing outlier data, the remaining data D5 can be fitted to a specific data distribution, enabling effective normalization. Data D5 is likely to contain a high proportion of data from users who use the app in its intended way. Calculating normalization parameters based on this data D5 and performing normalization improves the accuracy of user profile estimation.

[0115] Figure 11 is a flowchart showing a first example of the details of the process for deleting outlier data in step S4. The first example corresponds to the process of deleting peak shapes near the minimum value of data D1.

[0116] First, in step S4A1, the deletion unit 34 obtains the number of peaks included in the histogram, which were counted by the determination unit 33 in step S3.

[0117] Next, in step S4A2, the deletion unit 34 determines whether there is a bin near the minimum value of data D1 among the bins that represent peaks on the histogram detected in step S3. In other words, it determines whether a bin where the horizontal axis value of data D1 is near "0" is a peak.

[0118] The determination method involves checking whether the data in the bins near the minimum value contains "0". Alternatively, the determination can be made by checking whether the smallest data in the bin closest to "0" among the bins determined to be peaks is below a threshold (e.g., "1"). If none of the detected bins contain a peak near the minimum value (step S4A2: NO), the process of deleting outlier data is terminated.

[0119] If the detected bins include a bin that has a peak near the minimum value (step S4A2: YES), then in step S4A3, the deletion unit 34 determines whether there are two or more peaks on the graph based on the number of peaks obtained in step S4A1.

[0120] If there are no more than two peaks on the graph (step SS4A3: NO), then in step S4A4, the deletion unit 34 determines whether the frequency difference between the bin near the minimum value and the adjacent bin is greater than or equal to a predetermined threshold. In other words, for a data distribution where peaks exist only near the minimum value, it determines whether there is an excessive amount of data mixed into the bin near the minimum value compared to what would be expected from the app usage logs of continuous app users.

[0121] The deletion unit 34 determines, for example, that if all input data are positive values, and the frequency difference between the bin near "0" and the bin to its right is greater than or equal to a threshold (for example, a difference equivalent to twice the value), then the bin near "0" is excessively populated with data. On the other hand, if the frequency difference between the bin near "0" and the bin to its right is less than the threshold, the deletion unit determines that the bin near "0" is not excessively populated with data and terminates the deletion process for the outlier data. The deletion unit 34 may also compare the frequency difference between the bin near "0" and the bin to its left if all input data are negative values, or it may compare the frequency difference between the bin near "0" and both the bins to its right and left if the input data includes both positive and negative values.

[0122] If there are two or more peaks on the graph (step SS4A3: YES), or if the frequency difference between a bin near "0" and an adjacent bin is greater than or equal to a threshold (step SS4A4: YES), then in step S4A5, the deletion unit 34 determines whether the maximum value on the horizontal axis of the input data is greater than or equal to a predetermined threshold (e.g., "7"). If the maximum value is greater than or equal to the threshold, the input data is likely to be physical information; if the maximum value is less than the threshold, the input data is likely to be cyber information. The threshold may be set to an arbitrary value in advance depending on the input data.

[0123] If the maximum value is less than the threshold (step S4A5: NO), the process of deleting outlier data is terminated. Cyber ​​information is, for example, the frequency of use of a specific function of an application over a week, and since the data distribution exists only within a narrow range, the impact on the overall data distribution is small even if outlier data is not deleted.

[0124] If the maximum value is greater than or equal to the threshold (step S4A5: YES), then in step S4A6, the deletion unit 34 determines whether the bins near "0" contain multiple values. For example, as shown in the histogram in Figure 8, if the bins near "0" contain multiple values ​​across a wide range such as "0" to "2500", then the bins near "0" contain not only data of normal values ​​such as 1000 steps or 2000 steps per day, but also data of abnormal values ​​that are not appropriate for a daily step count, such as a few steps or a few tens of steps per day.

[0125] If the bins near "0" contain multiple values ​​(step S4A6: YES), then in step S4A7, the deletion unit 34 deletes data below a predetermined threshold (e.g., "100") for the bins near "0", and terminates the process of deleting outlier data. The threshold may be set based on the maximum value of the input data, or an arbitrary value may be set in advance.

[0126] If the bins near "0" do not contain multiple values ​​(step S4A6: NO), then in step S4A8, the deletion unit 34 deletes the data contained in the bins near "0" and terminates the process of deleting singular data.

[0127] Figure 12 is a flowchart showing a second example of the details of the process for deleting outlier data in step S4. The second example corresponds to the process of deleting flat shapes that are included in a normal distribution.

[0128] First, in step S4B1, the deletion unit 34 determines whether the data distribution of the histogram of the input data fits a uniform distribution.

[0129] If the data distribution is uniform (Step S4B1: YES), the process of deleting outlier data is terminated. When the data distribution is uniform, the frequencies of each bin on the histogram will be approximately the same, and it will be judged as having a flat shape. However, this indicates a characteristic of the input data and should not be deleted as outlier data.

[0130] If the data does not fit a uniform distribution (step S4B1: NO), the deletion unit 34 then determines in step S4B2 whether the maximum value on the horizontal axis of the input data is greater than or equal to a predetermined threshold (e.g., "7"). If the maximum value is greater than or equal to the threshold, the input data is likely to be physical information; if the maximum value is less than the threshold, the input data is likely to be cyber information. The threshold may be set to an arbitrary value in advance depending on the input data.

[0131] If the maximum value is less than the threshold (step S4B2: NO), the process of deleting outlier data is terminated. Cyber ​​information is, for example, the frequency of use of a specific function of an application over a week, and since the data distribution exists only within a narrow range, the impact on the overall data distribution is small even if outlier data is not deleted.

[0132] If the maximum value is greater than or equal to the threshold (step S4B2: YES), then in step S4B3, the deletion unit 34 deletes flat shapes included in the histogram. Specifically, the deletion unit 34 deletes data from multiple consecutive bins where the difference between the frequency of a given bin and the frequencies of the preceding and succeeding bins is less than or equal to a set threshold (for example, "2") as singular data.

[0133] Referring to Figure 5, in step S5, the normalization unit 35 generates data D6 by normalizing data D5 input from the deletion unit 34. If data D1 does not contain singular parts, or if data D1 contains singular parts but does not satisfy the predetermined deletion conditions, the singular data is not deleted, and the normalization unit 35 generates data D6 by normalizing data D1.

[0134] Figure 15 is a flowchart showing the details of the normalization process.

[0135] First, in step S51, the estimation unit 351 estimates the data distribution of data D5 from a plurality of pre-set data distributions. In other words, it applies one of the plurality of pre-set data distributions to data D5. The estimation of the distribution may involve determining whether it is a discrete distribution that is more likely to apply to cyber information (for example, the number of user accesses to a specific function) or a continuous distribution that is more likely to apply to physical information (for example, user biometric data). The determination of whether it is a discrete or continuous distribution may be made using a differential quantity based on the shape of the histogram or a determination method based on the probability of bin occurrence, but is not limited to these methods.

[0136] Furthermore, the estimation unit 351 may estimate whether the data distribution of data D5 fits a specific data distribution (e.g., a normal distribution). The specific data distribution may be arbitrarily set in advance, and there is no particular limit to the number of data distributions that can be set. To estimate whether it fits a specific data distribution, a test corresponding to each data distribution may be used, or the estimation may be based on the shape of the histogram. The target of the distribution estimation is data D5 if the singular part removal process has been performed, and data D1 if the singular part removal process has not been performed.

[0137] In this embodiment, five data distributions applicable to log data obtainable on the application were pre-set as specific data distributions. The first data distribution is a Poisson distribution, which is highly likely to apply to discrete user behaviors (such as access to specific functions) that occur frequently, such as the frequency of application use. The second data distribution is a normal distribution, which is highly likely to apply to biometric data as physical information. The third data distribution is a uniform distribution, which is highly likely to apply to data where a certain value appears with the same frequency. The fourth data distribution is binary data, which obtains binary information indicating whether or not a specific function was used. The fifth data distribution is a monotonically increasing distribution, which shows a monotonically increasing shape, such as the cumulative number of accesses to a specific function. A monotonically decreasing distribution, which shows a monotonically decreasing shape, may be used instead of a monotonically increasing distribution. Furthermore, the data distributions listed above are just examples, and other data distributions (e.g., exponential distributions) may be used as candidates for the applicable data distribution. As for methods for estimating these predefined data distributions, when determining whether or not the data fits a specific data distribution, a test corresponding to that data distribution (for example, the Shapiro-Wilk test for a normal distribution) may be used. Alternatively, when determining whether or not the data fits a binary data, monotonically increasing distribution, or monotonically decreasing distribution, the determination may be made based on the shape of the graph.

[0138] The data distributions obtained from cyber or physical information through early use of an application can be limited to at most a few types. If a suitable data distribution can be estimated, it is possible to appropriately perform normalization processing using a method or normalization parameters appropriate to that data distribution. For example, if it can be estimated that the data is binary, it can be immediately determined that the maximum and minimum values ​​of the input data should be used as normalization parameters. Also, if it can be estimated that the data is a normal distribution, for example, when normalizing to the range of "0" to "1", the input data can be preprocessed so that the peak is "0.5", and at that time, the mean value of data D5 can be obtained.

[0139] Referring to Figure 15, in step S52, the calculation unit 352 calculates the normalization parameters to be used in the normalization calculation based on the data distribution of data D5.

[0140] Figure 16 is a flowchart illustrating the details of the calculation process for the normalization parameters in step S52, as in the first example. The first example corresponds to the process when the estimated data distribution is discrete or continuous.

[0141] First, in step S52A1, the calculation unit 352 obtains the minimum and maximum values ​​of the horizontal axis of data D5.

[0142] Next, in step S52A2, the calculation unit 352 determines the normalization range based on the maximum and minimum values ​​obtained in step S52A1. The calculation unit 352 can determine the normalization range based on the signs of the maximum and minimum values. For example, if the signs of the maximum value and the minimum value are the same, the range from "0" to "1" can be determined as the normalization range. On the other hand, if the signs of the maximum value and the minimum value are different, the range from "-1" to "1" can be determined as the normalization range. Note that the normalization range is not limited to the above example; for example, the range from "-1" to "0" may also be determined as the normalization range.

[0143] Next, in step S52A3, the calculation unit 352 determines whether the data distribution of data D5 is a discrete distribution. The estimation result from the estimation unit 351 in step S51 can be used to determine the data distribution.

[0144] If the data distribution of data D5 is a discrete distribution (step S52A3: YES), then in step S52A4, the calculation unit 352 determines whether the maximum value of data D5 is less than a predetermined threshold (e.g., "7").

[0145] If the maximum value of data D5 is less than the threshold (step S52A4: YES), it is considered that there are no outliers in data D5, so the maximum and minimum values ​​of data D5 are set as normalization parameters, and the calculation process for normalization parameters is terminated. If data D5 is a discrete distribution and the maximum value of data D5 is less than the threshold, it is highly likely that the data values ​​fall within a certain range and the maximum value is limited, such as the number of days a specific function of an app was used within a week. Therefore, if the maximum value of data D5 is less than the threshold, it is considered unlikely that there are outliers in data D5.

[0146] If the data distribution of data D5 is not discrete (step S52A3: NO), or if the maximum value of data D5 is greater than or equal to the threshold (step S52A4: NO), then in step S52A5, the calculation unit 352 calculates the interquartile range of data D5 to calculate the minimum value threshold and the maximum value threshold as outlier thresholds for data D5.

[0147] For example, the calculation unit 352 calculates the minimum threshold by subtracting the first quartile from the value obtained by multiplying the interquartile range by 1.5. The calculation unit 352 also calculates the maximum threshold by adding the value obtained by multiplying the interquartile range by 1.5 to the third quartile. Note that the multiplier for the interquartile range is not limited to 1.5; any multiplier may be used.

[0148] Next, in step S52A6, the calculation unit 352 sets the minimum value side normalization parameter and the maximum value side normalization parameter based on the minimum value side threshold and the maximum value side threshold calculated in step S52A5 of the data D5.

[0149] The calculation unit 352 compares the minimum value of data D5 with the minimum value threshold calculated in step S52A5. If the minimum value of data D5 is less than the minimum value threshold, the calculation unit 352 sets the minimum value threshold as the minimum value normalization parameter. On the other hand, if the minimum value of data D5 is greater than or equal to the minimum value threshold, the calculation unit 352 sets the minimum value of data D5 as the minimum value normalization parameter.

[0150] The calculation unit 352 compares the maximum value of data D5 with the maximum value threshold calculated in step S52A5. If the maximum value of data D5 exceeds the maximum value threshold, the calculation unit 352 sets the maximum value threshold as the maximum value normalization parameter. On the other hand, if the maximum value of data D5 is less than or equal to the maximum value threshold, the calculation unit 352 sets the maximum value of data D5 as the maximum value normalization parameter.

[0151] The maximum value side of data D5 may contain characteristic data indicating users who actively use the app. When using the maximum value threshold of data D5 as the maximum value normalization parameter, that characteristic data will have a value greater than "1.0" after normalization. This has the effect of highlighting information about distinctive users by displaying a value greater than "1.0".

[0152] Figure 17 is a flowchart illustrating a second example of the details of the calculation process for the normalization parameter in step S52. The second example corresponds to the process when the estimated data distribution is a Poisson distribution, a normal distribution, a uniform distribution, binary data, or a monotonically increasing distribution.

[0153] First, in step S52B1, the calculation unit 352 obtains the minimum and maximum values ​​of the horizontal axis of data D5.

[0154] Next, in step S52B2, the calculation unit 352 determines the normalization range based on the maximum and minimum values ​​obtained in step S52B1. The calculation unit 352 can determine the normalization range based on the signs of the maximum and minimum values. For example, if the signs of the maximum value and the minimum value are the same, the range from "0" to "1" can be determined as the normalization range. On the other hand, if the signs of the maximum value and the minimum value are different, the range from "-1" to "1" can be determined as the normalization range. Note that the normalization range is not limited to the above example; for example, the range from "-1" to "0" may also be determined as the normalization range.

[0155] Next, in step S52B3, the calculation unit 352 determines whether the data distribution of data D5 is a normal distribution. The estimation result from the estimation unit 351 in step S51 can be used to determine the data distribution.

[0156] If the data distribution of data D5 is a normal distribution (step S52B3: YES), then in step S52B4, the calculation unit 352 obtains the mean value of data D5. When the peak of the data after normalization is at the center of the normalization range, the estimation accuracy of user profile estimation using the normalization result is improved. In the case of a normal distribution, the peak of the data and the mean value coincide, so if data D5 is a normal distribution, the mean value of the data is obtained.

[0157] If the data distribution of data D5 is not a normal distribution (step S52B3: NO), the processing in step S52B4 is omitted.

[0158] Next, in step S52B5, the calculation unit 352 determines whether the data distribution of data D5 is binary data or a uniform distribution. The estimation result from the estimation unit 351 in step S51 can be used to determine the data distribution.

[0159] If the data distribution of data D5 is binary or uniform (step S52B5: YES), it is assumed that there are no outliers in data D5. Therefore, the maximum and minimum values ​​of data D5 are set as normalization parameters, and the calculation process for normalization parameters is terminated.

[0160] If the data distribution of data D5 is neither binary nor uniform (step S52B5: NO), then in step S52B6, the calculation unit 352 calculates the interquartile range of data D5 and calculates the maximum value threshold as the outlier threshold for data D5.

[0161] For example, the calculation unit 352 calculates the maximum value threshold by adding a value obtained by multiplying the interquartile range by 1.5 to the third quartile. Note that the multiplier for the interquartile range is not limited to 1.5, and any multiplier may be used.

[0162] Next, in step S52B7, the calculation unit 352 sets the maximum value side normalization parameter based on the maximum value of data D5 and the maximum value side threshold calculated in step S52B6.

[0163] The calculation unit 352 compares the maximum value of data D5 with the maximum value threshold calculated in step S52B6. If the maximum value of data D5 exceeds the maximum value threshold, the calculation unit 352 sets the maximum value threshold as the maximum value normalization parameter. On the other hand, if the maximum value of data D5 is less than or equal to the maximum value threshold, the calculation unit 352 sets the maximum value of data D5 as the maximum value normalization parameter.

[0164] The maximum value side of data D5 may contain characteristic data indicating users who actively use the app. When using the maximum value threshold of data D5 as the maximum value normalization parameter, that characteristic data will have a value greater than "1.0" after normalization. This has the effect of highlighting information about distinctive users by displaying a value greater than "1.0".

[0165] Next, in step S52B8, the calculation unit 352 determines whether the data distribution of data D5 is a Poisson distribution or a monotonically increasing distribution. The estimation result from the estimation unit 351 in step S51 can be used to determine the data distribution.

[0166] If the data distribution of data D5 is a Poisson distribution or a monotonically increasing distribution (step S52B8: YES), the minimum value of data D5 is set as the minimum-side normalization parameter, and the calculation process for the normalization parameter is terminated. Here, in the Poisson distribution, the distribution becomes sparser as you move towards the maximum value, and there is a possibility that data of users with characteristics who use the app only casually may exist as outliers. On the other hand, data is concentrated towards the minimum value, but there is no data of users who actively use the app. Also, in the case of monotonically increasing distributions, it is thought that data of users who use the app casually is more abundant as you move towards the maximum value. For the above reasons, for Poisson distributions and monotonically increasing distributions, the process of obtaining the normalization parameter is performed only on the maximum value side.

[0167] If the data distribution of data D5 is neither a Poisson distribution nor a monotonically increasing distribution (step S52B8: NO), then in step S52B9, the calculation unit 352 calculates the interquartile range of data D5 and calculates the minimum value threshold as the outlier threshold for data D5.

[0168] For example, the calculation unit 352 calculates the minimum value threshold by subtracting the first quartile from a value obtained by multiplying the interquartile range by 1.5. Note that the multiplier for the interquartile range is not limited to 1.5; any multiplier may be used.

[0169] Next, in step S52B10, the calculation unit 352 sets the minimum value side normalization parameter based on the minimum value of data D5 and the minimum value side threshold calculated in step S52B9.

[0170] The calculation unit 352 compares the minimum value of data D5 with the minimum value threshold calculated in step S52B9. If the minimum value of data D5 is less than the minimum value threshold, the calculation unit 352 sets the minimum value threshold as the minimum value normalization parameter. On the other hand, if the minimum value of data D5 is greater than or equal to the minimum value threshold, the calculation unit 352 sets the minimum value of data D5 as the minimum value normalization parameter.

[0171] In the example shown in Figure 17, steps S52B9 and S52B10 are performed only if the data D5 follows a normal distribution. Since a normal distribution may extend to the minimum value side, the minimum value normalization parameter is set by comparing it with the minimum value threshold.

[0172] Referring to Figure 15, in step S53, the normalization unit 353 performs a normalization operation on the data D5 using the normalization parameters calculated in step S52.

[0173] If the data distribution of data D5 estimated in step S51 is a normal distribution, the normalization unit 353 performs processing according to the normalization range determined in step S52. If the normalization range is "0" to "1", the normalization unit 353 adds or subtracts the mean of data D5 obtained in step S52 to data D5 so that the mode after normalization is "0.5". Alternatively, if the normalization range is "-1" to "1", the normalization unit 353 adds or subtracts the mean of data D5 obtained in step S52 to data D5 so that the mode after normalization is "0".

[0174] The normalization unit 353 normalizes the data D5 using the normalization parameters set in step S52.

[0175] If the normalization range is "0" to "1", the normalization unit 353 performs normalization using formula (1).

[0176]

number

[0177] If the normalization range is "-1" to "1", the normalization unit 353 performs normalization using equation (2).

[0178]

number

[0179] Here, a i a' represents the i-th data point in data D2. i This represents the result of the normalization operation. max This represents the maximum-side normalization parameter. min This represents the minimum value normalization parameter.

[0180] By normalizing the data using minimum and maximum thresholds for data D5, characteristic data points will exceed "1.0" after normalization. This has the effect of highlighting information about distinctive users by displaying values ​​above "1.0". Furthermore, since the normalization results in a distribution shape closer to that of users who continuously use the app, rather than a distribution skewed towards "0", it has the effect of improving the estimation accuracy of user profile estimation.

[0181] Referring to Figure 5, in step S6, the transformation unit 36 ​​generates data D7 by performing a transformation process on the data D6 input from the normalization unit 35 to align the value ranges of the multiple data belonging to each segment. In other words, the transformation unit 36 ​​performs a transformation process on data D6 so that the value ranges of the normalized data are aligned among the data belonging to each segment classified by the classification unit 31.

[0182] Figure 18 is a diagram illustrating the range conversion process performed by the conversion unit 36. Figure 18(A) shows a histogram of the main data, which represents the number of users relative to the number of stamp posts. The range of the data corresponding to the distribution range on the horizontal axis is "0" to "40", and this range is the reference range. Figure 18(B) shows a histogram of the sub-data, which represents the number of users relative to the number of clicks. The range of the data is "0" to "400". The conversion unit 36 ​​converts the range of the sub-data to the reference range of the main data. Figure 18(C) shows a histogram of the sub-data after the range conversion. The range of the data has been converted from the range of "0" to "400" before conversion shown in Figure 18(B) to the same range of "0" to "40" as the reference range of the main data.

[0183] The conversion unit 36 ​​performs the range conversion calculation using equation (3).

[0184]

number

[0185] Here, d i d' refers to the i-th data point in data D6. i This represents the result of the range transformation operation. max This represents the maximum value of data D6, and d min ∫ represents the minimum value of data D6. M represents the maximum value of data D7 after range transformation, and N represents the minimum value of data D7. Note that for M, the maximum value of the main data with the largest range among multiple main data may be used, or it may not be limited to the maximum value, but may be other representative values ​​such as the mean, median, or mode of the maximum value. Similarly, for N, the minimum value of the main data with the largest range among multiple main data may be used, or it may not be limited to the minimum value, but may be other representative values ​​such as the mean, median, or mode of the minimum value. Furthermore, the range transformation is not limited to the calculation using equation (3), but may be performed using any other method.

[0186] In this way, by converting the value range of the sub-data to the reference value range, the value range of the sub-data and the reference value range of the main data can be aligned. As a result, the estimation accuracy of user profile estimation can be improved. In other words, in user profile estimation, having the same value range across multiple data sets used has the effect of improving the estimation accuracy of the user profile. For example, in user profile estimation, using a first data set with a value range of "0.3" to "0.7" and a second data set with a value range of "0.0" to "1.2" is less effective than using a first data set with a value range of "0.0" to "1.2" and a second data set with a value range of "0.0" to "1.2".

[0187] The conversion unit 36 ​​converts the range of the sub-data to the reference range of the main data, so that the ranges of the main data and sub-data used in user profile estimation become approximately identical. This eliminates the influence of the original data's properties, such as cyber data and physical data, on multiple data used in user profile estimation, and allows each data to be used for user profile estimation with equal value. Specifically, when performing user profile estimation using main data of cyber information, which is at most around two digits, and sub-data of physical information, which is assumed to be at least three digits, if the sub-data before range conversion is used as is, the estimation accuracy of the user profile estimation will decrease due to the influence of the sub-data's range, which is excessively large compared to the reference range of the main data. Therefore, by converting the range of the sub-data to be approximately identical to the reference range of the main data, the influence of the main data and sub-data can be made equal in value, and as a result, the estimation accuracy of the user profile estimation can be improved.

[0188] Referring to Figure 5, in step S7, the estimation unit 37 performs user profile estimation based on the data D7 input from the conversion unit 36. Here, the estimation unit 37 performs user profile estimation on a segment-by-segment basis based on multiple data D7 belonging to each segment classified by the classification unit 31. Furthermore, if the estimation unit 37 performs data processing during user profile estimation, it performs data processing on a segment-by-segment basis. The data used in this process consists only of data belonging to each segment. The estimation unit 37 may also perform user profile estimation by comparing multiple segments using the calculation results based on the data belonging to each segment.

[0189] When the estimation unit 37 estimates user preferences as a user profile, it can estimate user preferences based on the user's frequency of use or number of uses. For example, when estimating the popular features of an app, the estimation unit 37 can identify the top few features (e.g., the top 5) that users access most frequently, and estimate these top few features as popular features preferred by users. For example, if there is a first segment corresponding to a first feature related to user interaction on the app, and a second segment corresponding to a second feature linked to each user's step count, the estimation unit 37 will use only the data belonging to the first segment to estimate user preferences regarding the first feature, and use only the data belonging to the second segment to estimate user preferences regarding the second feature. Note that the method for estimating user preferences is not limited to the above example, and other methods may be used.

[0190] Furthermore, when the estimation unit 37 estimates which tendency a user falls into for a predetermined segment, it can calculate the average value of the data that falls into each segment and estimate the segment with the highest average value as the user's tendency. For example, there may be a first segment corresponding to a first function related to user interaction on the app, and a second segment corresponding to a second function linked to each user's own step count, and the estimation unit 37 wants to estimate which function segment a user's tendency falls into. In this case, the estimation unit 37 calculates the average value of multiple data that fall into the segment corresponding to the first function and the average value of multiple data that fall into the segment corresponding to the second function, and compares the average values ​​of the two. Then, if the average value of the former is higher, the estimation unit 37 estimates that the user has a strong tendency to prefer the first function related to user interaction, and if the average value of the latter is higher, it estimates that the user has a strong tendency to prefer the second function linked to step count. Note that the method for estimating user tendencies is not limited to the above example, and other methods may be used.

[0191] Furthermore, when the estimation unit 37 estimates the characteristics of a user for a particular segment, it can calculate an evaluation index from multiple data belonging to that segment and perform user profile estimation. For example, when estimating a user profile for a segment corresponding to the physical activity "walking," if the "walking" segment contains data on "total steps in a week" and data on "number of days in a week where 10,000 steps were walked," the estimation unit 37 calculates the average value of the two data sets as the evaluation index. For example, in the "walking" segment, the higher the average value obtained by this method, the more likely it is that the user has a high interest in "walking." The method for determining the evaluation index, interpreting the evaluation index, and estimating the characteristics of a user for a particular segment are not limited to the above example, and other methods may be used.

[0192] Next, in step S8, the matching processing unit 38 performs matching processing on a segment-by-segment basis based on the multiple data D8 belonging to each segment classified by the classification unit 31. Specifically, when the matching processing unit 38 performs matching processing for a given segment, it uses only the data belonging to that segment. For example, when performing matching processing for the first and second segments for the first and second users, the matching processing unit 38 uses the data belonging to the first segment for the first user and the data belonging to the first segment for the second user to perform matching processing for the first segment. Similarly, the matching processing unit 38 uses the data belonging to the second segment for the first user and the data belonging to the second segment for the second user to perform matching processing for the second segment.

[0193] Furthermore, the matching processing unit 38 may perform matching processing only on users whose preferences, tendencies, or characteristics are the same or similar for each segment, based on the user profile estimation results in step S7. This reduces the computational load and shortens the processing time compared to performing matching processing on all users included in the input data. On the other hand, the matching processing unit 38 may perform matching processing on all users included in the input data. In this case, the number of candidate user combinations for matching increases, which has the effect of increasing the likelihood of achieving an optimal match.

[0194] For the matching process, the matching processing unit 38 can calculate, for example, Pearson's correlation coefficient or cosine similarity for multiple data points corresponding to multiple users, and then match multiple users based on their similarity. When using Pearson's correlation coefficient, the matching processing unit 38 should match the users with the highest correlation coefficient. When using cosine similarity, the matching processing unit 38 should match the users whose cosine similarity value is "1.0", or the users whose cosine similarity value is closest to "1.0". Note that the calculation method used in the matching process is not limited to the above examples, and other calculation methods may be used.

[0195] According to this embodiment, in the matching process for each segment, only the data relevant to each segment is used from the input data acquired in step S0. Therefore, when performing a matching process for a specific segment, the influence of data other than the target segment can be eliminated, and matching to the target segment can be performed with higher accuracy.

[0196] Furthermore, if all input data is used for matching, conditions that would normally result in a successful match may no longer be met. For example, when performing user matching based on walking behavior, suppose we use features from step count data and features from the number of posts on the app. In this case, if the error is less than or equal to a threshold (e.g., 0.1) when comparing all input data, a match is achieved. However, if the error for the step count data features is less than or equal to the threshold, but the error for the number of posts data features is greater than the threshold, then a match will not be achieved even though the error for step counts is less than or equal to the threshold. Since step count and number of posts are different concepts, the matching accuracy can be improved by classifying each data into multiple segments before performing the matching process, as described in this disclosure.

[0197] Next, in step S9, the output unit 39 outputs data D9 indicating the matching result from the matching processing unit 38 in step S8. The format and destination of the output data are arbitrary. The destination may be a terminal in the local environment or the cloud.

[0198] As described above, according to this embodiment, the processing unit 21 (information processing device) acquires multiple data points D1 related to user behavior, classifies the acquired data points D1 into multiple segments, and estimates a user profile, including user preferences, tendencies, or characteristics, on a segment-by-segment basis based on the multiple data points belonging to each segment. Therefore, according to this embodiment, when estimating a user profile with emphasis on attributes, etc., corresponding to a specific segment, the influence of data from segments other than the target segment can be eliminated, thus optimizing the user profile estimation for the target segment. In other words, by estimating a user profile on a segment-by-segment basis based on multiple data points belonging to each segment, it is possible to improve the estimation accuracy of the user profile.

[0199] The following describes specific examples of how this disclosure can be applied.

[0200] One possible application example is a social networking service (SNS) app that revitalizes local communities. Since this app is designed to revitalize local communities, the content offered within it could include local information and content promoting the health of local residents. Users of this app belong to a specific community (for example, residents of a town). In this case, log data derived from diverse attributes, such as age differences (from young people to the elderly) and differences in occupation, is expected to be collected through the app. Therefore, app behavior logs, such as frequently viewing content related to specific topics, are expected to differ depending on individual attributes (age or occupation, etc.) and preferences. In addition, the app may include features other than content, such as chatting and sending stamps between users, and thus, due to the characteristics of the app, a diverse range of log data is expected.

[0201] Here, let's consider a case where all data obtainable on the app is used to estimate user characteristics such as user preferences or behavioral tendencies, as well as the similarity between users, from a certain perspective. In this case, the estimation of user characteristics and the similarity between users may be strongly influenced by data related to aspects not included in the estimation (for example, the number of views of notifications, which are unrelated to user preferences). Therefore, the accuracy of user profile estimation and matching may decrease. For regional revitalization, for example, interaction among residents within a local community is important, and services that match residents with each other are being attempted to promote interaction. However, generally speaking, it is difficult to accurately match residents belonging to a local community with each other because they have different attributes, preferences, or behavioral types.

[0202] On the other hand, according to this disclosure, input data is classified into multiple segments, and user profile estimation is performed using log data classified into each segment. Here, for example, suppose the data is classified into a local information segment and a health segment. In this case, when estimating a user profile for the local information segment, only data related to local information obtained through the app (e.g., the number of times articles about local spots are viewed) is used, and data related to health (e.g., the user's daily step count) is not used. In other words, when estimating how interested a user is in local information, the influence of data unrelated to local information can be eliminated. As a result, the estimation accuracy of user profile estimation for interest in a particular segment (in this case, local information) can be improved.

[0203] Furthermore, according to this disclosure, by performing matching processing on a segment-by-segment basis based on the estimation results of user profiles accompanied by segment classification, it is possible to accurately match users with similar preferences or behavioral tendencies. Moreover, by performing matching processing on a segment-by-segment basis, for example, when it is desired to match users with similar preferences for local information, the possibility of matching users who do not have similar preferences for local information, simply because they have similar preferences for health, can be reduced. As a result, combinations of users with high similarity regarding specific items that are to be matched can be identified with high accuracy, and users can be accurately matched. Then, by communicating the matching results to users through the app and promoting interaction between users through the app, it becomes possible to revitalize local communities.

[0204] A specific example of the processing in the first application example will be described in order, referring to the configuration of this disclosure. Assume that a user in a certain community is using a smartphone as terminal 11. Assume that an SNS application intended to revitalize the local community is already installed on terminal 11. The acquisition unit 30 acquires the user log of the user's SNS application. A database built on the cloud can be considered as the storage unit 22, and the user log acquired from the smartphone is stored in the database.

[0205] Taking the example of a normalization process that runs at 11 PM every day, this execution process is called as a batch process at 11 PM, and the classification unit 31 classifies the input data obtained from the database into segments for user profile estimation and matching. For example, in the case of an SNS app, segments related to user interaction such as sending stamps or making comments, or segments related to user-posted content, etc., are possible, and the classification unit 31 classifies the data obtained from the database into each segment.

[0206] The determination unit 33 identifies anomalies in the data that are not expected from the intended use of the application. In the example of the SNS application described above, the operation during installation causes certain operation logs that are not expected from normal application operation to occur frequently, and this is detected as a peak in the data distribution. The deletion unit 34 deletes the data included in the anomaly identified by the determination unit 33.

[0207] The estimation unit 351 estimates which of several predetermined data distributions the distribution of the data from which singular parts have been removed by the deletion unit 34 corresponds. In this example, the distribution is set based on the characteristics of the data source being an SNS app used by residents of a community, such as a Poisson distribution from the perspective of the number of times the app was used in discrete time and the number of times stamps representing "likes" were pressed, and a normal distribution from the perspective of the distribution of a large number of users belonging to a community.

[0208] The calculation unit 352 determines the normalization parameters necessary for normalization based on the data distribution estimated by the estimation unit 351. At this time, from the perspective of user log data, outlier data is generated due to the user's behavior on the app. For example, log data of a user who communicates exceptionally actively on the app. This data would normally be removed as an outlier, but it represents the characteristics of a user who acts actively on the app. If normalization is simply performed using the maximum value of the data, data that could be considered outliers will be rounded to "1.0", while other data will be rounded to a format closer to "0". At this time, the calculation unit 352 calculates parameters that allow normalization in a format that emphasizes the characteristics of the user, by leaving the data of the user who acts actively on the app at a value greater than "1.0", such as "1.3".

[0209] The normalization unit 353 performs normalization processing using the normalization parameters calculated by the calculation unit 352. The transformation unit 36 ​​processes the data so that the value ranges are consistent among multiple data belonging to each segment, in order to improve the accuracy of user profile estimation and matching processing.

[0210] The estimation unit 37 performs user profile estimation on a segment basis using data that has been normalized by the normalization unit 35 and whose value ranges have been aligned by the transformation unit 36. The estimation unit 37 performs user profile estimation on a segment basis, for example, based on actions such as pressing stamps like "Like" within the app, or the frequency of use of app functions.

[0211] The matching processing unit 38 performs matching processing on a segment basis based on the results of user profile estimation by the estimation unit 37, matching users who are compatible (i.e., those with the same or similar preferences, tendencies, or characteristics). The output unit 39 outputs the results of the matching processing by the matching processing unit 38 through the app and presents them to the user. By presenting users with other users who are compatible with them, it is possible to match users who would not have been connected if they were not using the app, thereby promoting interaction within the local area.

[0212] A second application example is the application to a service that energizes office employees. The users of this service are employees working in a specific office. Therefore, similar to the first application example, it is thought that log data derived from diverse attributes will be obtained through the app, such as (1) age group from 20s to 60s, (2) sales staff who are mainly out on the road, or (3) desk work staff. Consequently, it is thought that the log data obtained through the app reflects the characteristics of individual users. For example, since break times differ depending on each individual's work style, the number of times the app is launched or the duration of its use is thought to be affected.

[0213] Here, consider a scenario where all data obtainable from the app is used to estimate user characteristics such as preferences or behavioral tendencies, as well as similarity between users, from a certain perspective. In this case, for example, when estimating user preferences, data related to aspects that do not reflect user preferences (e.g., the number of views of notifications unrelated to user preferences, or app usage time) can strongly influence the estimation, potentially leading to an inaccurate estimation of user characteristics and similarity between users. Therefore, the accuracy of user profile estimation and matching may decrease.

[0214] On the other hand, according to this disclosure, by classifying the input data into multiple segments, the influence of data that is not important in estimating individual user characteristics and similarities between users from a certain perspective can be eliminated, thereby improving the accuracy of user profile estimation and user matching.

[0215] To revitalize office employees, interaction among employees is crucial. Furthermore, for multiple departments or teams to collaborate on a project, interaction not only between employees but also within groups of multiple employees is important. However, depending on the size of the company, an office can have thousands or even tens of thousands of employees, resulting in a vast number of possible combinations. Consequently, performing a matching process for all employees would increase computational costs and processing time enormously.

[0216] On the other hand, according to this disclosure, the estimation unit 37 performs user profile estimation based on log data of multiple users belonging to a specific group narrowed down by classification into segments. Furthermore, based on the results of the user profile estimation, the estimation unit 37 estimates representative users who are considered to be central figures within that specific group. For example, the estimation unit 37 estimates representative users as users who actively press stamps such as "like" on other people's posts on the app, or users who frequently exchange comments with many users on the app, within that specific group. After estimating representative users for each of the multiple groups present in the office, the estimation unit 37 performs user profile estimation based on log data of multiple representative users narrowed down by classification into segments. The matching processing unit 38 performs matching processing between representative users based on the estimated user profiles of the multiple representative users. In other words, this disclosure performs matching processing between representative users targeting multiple representative users who are central figures in each group, and uses the results of the representative user matching processing as the results of the group matching processing. In this way, computational costs can be reduced by performing matching processing on a group basis rather than individual matching processing between all employees.

[0217] The matching processing unit 38 performs group matching by identifying combinations of groups that are compatible with representative users. The output unit 39 outputs the results of the matching processing by the matching processing unit 38 through the application and presents them to the user. By promoting interaction between groups through the application, interaction between groups within the office is promoted. Thus, according to this disclosure, representative users are estimated by highly accurate user profile estimation based on segmentation, and groups are matched by matching representative users. Compared to performing individual matching processing for all employees, computational costs and processing time can be reduced.

[0218] A specific example of the processing in the second application example will be explained with reference to the configuration of this disclosure. Assume that an employee working in an office is using a smartphone as terminal 11. Assume that an SNS application intended to revitalize interpersonal relationships within the office is already installed on terminal 11. The acquisition unit 30 acquires the user log of the user's SNS application. A database built on the cloud can be considered as the storage unit 22, and the user log acquired from the smartphone is stored in the database.

[0219] Taking the example of a normalization process that runs at 11 PM every day, this execution process is called as a batch process at 11 PM, and the classification unit 31 classifies the input data obtained from the database into segments for user profile estimation and matching. For example, in the case of an SNS app, segments related to user interaction such as sending stamps or making comments, or segments related to user-posted content, etc., are possible, and the classification unit 31 classifies the data obtained from the database into each segment.

[0220] The determination unit 33 identifies anomalies in the data that are not expected from the intended use of the application. In the example of the SNS application described above, the operation during installation causes certain operation logs that are not expected from normal application operation to occur frequently, and this is detected as a peak in the data distribution. The deletion unit 34 deletes the data included in the anomaly identified by the determination unit 33.

[0221] The estimation unit 351 estimates which of several predetermined data distributions the distribution of the data from which singular parts have been removed by the deletion unit 34 corresponds. In this example, the distribution is set based on the characteristics of the data source being log data from office employees, such as a Poisson distribution from the perspective of the number of times the app was used in discrete time and the number of times stamps representing "likes" were pressed, and a normal distribution from the perspective of the distribution of a large number of users working in an office.

[0222] The calculation unit 352 determines the normalization parameters necessary for normalization based on the data distribution estimated by the estimation unit 351. At this time, from the perspective of user log data, outlier data is generated due to the user's behavior on the app. For example, log data of a user who communicates exceptionally actively on the app. This data would normally be removed as an outlier, but it represents the characteristics of a user who acts actively on the app. If normalization is simply performed using the maximum value of the data, data that could be considered outliers will be rounded to "1.0", while other data will be rounded to a format closer to "0". At this time, the calculation unit 352 calculates parameters that allow normalization in a format that emphasizes the characteristics of the user, by leaving the data of the user who acts actively on the app at a value greater than "1.0", such as "1.3".

[0223] The normalization unit 353 performs normalization processing using the normalization parameters calculated by the calculation unit 352. The transformation unit 36 ​​processes the data so that the value ranges are consistent among multiple data belonging to each segment, in order to improve the accuracy of user profile estimation and matching processing.

[0224] The estimation unit 37 performs user profile estimation on a segment basis using data that has been normalized by the normalization unit 35 and whose value ranges have been aligned by the transformation unit 36. The estimation unit 37 performs user profile estimation on a segment basis, for example, based on actions such as pressing stamps like "Like" within the app, or the frequency of use of app functions.

[0225] The matching processing unit 38 performs matching processing on a segment basis based on the results of user profile estimation by the estimation unit 37, matching users who are compatible (i.e., those with the same or similar preferences, tendencies, or characteristics). The output unit 39 outputs the results of the matching processing by the matching processing unit 38 through the app and presents them to the user. By presenting users with other users who are compatible with them, it is possible to match users who would not have been connected if they were not using the app, thereby promoting interaction between employees or groups within the office. [Industrial applicability]

[0226] This disclosure is broadly applicable to user profile estimation or matching processes based on user behavior data. [Explanation of Symbols]

[0227] 1. Information Processing System 12 Estimation device 21 Processing Unit 30 Acquisition Department 31 Classification Department 32 Generation part 33 Judgment section 34 Deleted section 35 Normalization section 36 Conversion Unit 37 Estimation part 38 Matching Processing Unit 39 Output section

Claims

1. Information processing device, We obtain multiple data points about user behavior, The acquired data is classified into multiple segments, Based on multiple data points belonging to each segment, user profiles, including user preferences, trends, or characteristics, are estimated on a segment-by-segment basis. Information processing methods.

2. Furthermore, prior to estimating the user profile, a transformation process is performed to align the value ranges of multiple data belonging to each segment. The information processing method according to claim 1.

3. Furthermore, after estimating the user profile, a matching process is performed between multiple users using multiple data points belonging to the same segment. The information processing method according to claim 1.

4. moreover, Frequency distribution information is generated for the acquired data. The singular portion included in the aforementioned frequency distribution information is determined, Delete the singular data included in the singular portion, The data after deleting the aforementioned anomaly data is normalized, The estimation of the user profile is performed based on the normalized data. The information processing method according to claim 1.

5. In the classification of the data, segments in which the number of data points belonging to that segment is below a predetermined threshold will not be used for estimating the user profile. The information processing method according to claim 1.

6. In the classification of the data, a new segment having a number of data exceeding a predetermined threshold is defined by integrating multiple segments whose number of data belonging to that segment is below a predetermined threshold. The information processing method according to claim 1.

7. Furthermore, using multiple data points belonging to the same segment, a matching process is performed between multiple users. The threshold is set such that the number of candidate combinations based on the number of segments and the number of states indicating the number of possible values ​​for each data point exceeds the number of pairs to be matched by the matching process. The information processing method according to claim 5 or 6.

8. A natural number exceeding the logarithm of the number of sets with the number of states as the base is set as the threshold. The information processing method according to claim 7.

9. Equipped with a circuit configuration, The aforementioned circuit configuration is, We obtain multiple data points about user behavior, The acquired data is classified into multiple segments, Based on multiple data points belonging to each segment, user profiles, including user preferences, trends, or characteristics, are estimated on a segment-by-segment basis. Information processing device.

10. A program that causes an information processing device to perform processing, The aforementioned process is, We obtain multiple data points about user behavior, The acquired data is classified into multiple segments, Based on multiple data points belonging to each segment, user profiles, including user preferences, trends, or characteristics, are estimated on a segment-by-segment basis. program.

Citation Information

Patent Citations

  • Inspection result data output system

    JP2003067489A

  • Person matching device, method and program

    JP2012078768A