WO2020202327A1 - 学習システム、学習方法、及びプログラム - Google Patents

学習システム、学習方法、及びプログラム Download PDF

Info

Publication number
WO2020202327A1
WO2020202327A1 PCT/JP2019/014212 JP2019014212W WO2020202327A1 WO 2020202327 A1 WO2020202327 A1 WO 2020202327A1 JP 2019014212 W JP2019014212 W JP 2019014212W WO 2020202327 A1 WO2020202327 A1 WO 2020202327A1
Authority
WO
WIPO (PCT)
Prior art keywords
rule
learning
data
machine learning
user
Prior art date
Application number
PCT/JP2019/014212
Other languages
English (en)
French (fr)
Inventor
恭輔 友田
Original Assignee
楽天株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 楽天株式会社 filed Critical 楽天株式会社
Priority to US17/056,413 priority Critical patent/US20210216910A1/en
Priority to EP19922572.3A priority patent/EP3783543A4/en
Priority to PCT/JP2019/014212 priority patent/WO2020202327A1/ja
Priority to JP2019563306A priority patent/JP6706397B1/ja
Publication of WO2020202327A1 publication Critical patent/WO2020202327A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention has been made in view of the above problems, and an object of the present invention is to provide a learning system, a learning method, and a program capable of improving the accuracy of a machine learning model and reducing the number of rules. is there.
  • the machine learning model M classifies the user as either a normal user or an unauthorized user based on the behavior data related to the behavior of a certain user. Therefore, a value indicating a normal user or a value indicating an unauthorized user. Output either.
  • the machine learning model M may output a score indicating the probability (probability) of classification. In this case, the machine learning model M may output at least one of a score indicating the probability of a normal user and a score indicating the probability of an unauthorized user.
  • the reference numerals of the machine learning model M will be omitted.
  • FIG. 4 is a diagram showing an example of storing data in the rule list L.
  • the rule list L stores data related to the rule.
  • three rules will be described, but the number of rules may be arbitrary, for example, one, two, or four or more.
  • the rule list L stores a rule ID, rule contents, a diagnosis result, and a learning target flag.
  • the administrator of the learning system S specifies the content of the rule, the diagnosis result, and the learning target flag.
  • the server 10 newly issues a rule ID and stores it in the rule list L together with the specified information, so that a new rule is added.
  • the rule list L only the rules used by the second classification unit 103, which will be described later, may be stored, or old rules that are no longer used may remain.
  • the first classification unit 102 is mainly realized by the control unit 11.
  • the first classification unit 102 classifies the behavior data based on the machine learning model.
  • the classification related to the behavior data may mean the classification of the behavior data itself, or may mean the classification of the information associated with the data.
  • the behavior data since the user is classified as a normal user or an unauthorized user, the behavior data itself is not classified, but the user ID and the user name associated with the behavior data are classified.
  • the classification can be a type or an attribute, or a label given by a machine learning model.
  • the first classification unit 102 may classify the behavior data based on the score. For example, when the machine learning model outputs the scores of each of the plurality of classifications, the first classification unit 102 may acquire the classification with the highest score as the classification result, or all the scores having the scores equal to or higher than the threshold value. The classification may be acquired as the classification result.
  • the second classification unit 103 is mainly realized by the control unit 11.
  • the second classification unit 103 classifies the behavior data based on a predetermined rule.
  • the second classification unit 103 classifies the behavior data based on each of the plurality of rules. For example, the second classification unit 103 determines whether or not the behavior data satisfies the rule for each rule stored in the rule list L, and classifies the behavior data.
  • the second classification unit 103 refers to the numerical value of the predetermined item in the behavior data and whether or not it is within the range indicated by the rule. To judge. Further, for example, when a range of numerical values calculated based on a predetermined item included in the behavior data is defined as a rule, the second classification unit 103 calculates a numerical value based on the numerical value of the predetermined item in the behavior data. However, it is determined whether or not it is within the range indicated by the rule.
  • the second classification unit 103 calculates the distance from the center of use based on the access location of the behavior data. The second classification unit 103 determines whether or not the distance is equal to or greater than a threshold value (for example, 100 km). When the distance is equal to or greater than the threshold value, the second classification unit 103 classifies the user indicated by the behavior data as an unauthorized user. When the distance is less than the threshold value, the second classification unit 103 may classify the user as a normal user or a user who is neither a normal user nor an unauthorized user.
  • a threshold value for example, 100 km.
  • the second classification unit 103 determines whether or not it is a Japanese IP address based on the IP address of the behavior data.
  • the IP address of Japan is specified in advance by an administrator or the like, and may be stored in the data storage unit 100.
  • the second classification unit 103 determines whether or not the IP address of the behavior data is included in the range specified in advance.
  • the second classification unit 103 classifies the user indicated by the behavior data as an unauthorized user.
  • the second classification unit 103 may classify the user as a normal user or a user who is neither a normal user nor an unauthorized user.
  • the second classification unit 103 refers to the character of the predetermined item in the behavior data and is the character indicated in the rule. Judge whether or not.
  • the second classification unit 103 may determine the exact match of the characters or may determine the partial match.
  • the second classification unit 103 determines whether or not it exists in the whitelist based on the user name of the behavior data. When the user name exists in the white list, the second classification unit 103 classifies the user indicated by the behavior data as a normal user. If the user name does not exist in the whitelist, the second classification unit 103 may classify the user as an unauthorized user, or may classify the user as a user who is neither a normal user nor an unauthorized user.
  • rules regarding the blacklist may be set instead of the whitelist.
  • a rule such as "if the user name is on the blacklist, it is regarded as an unauthorized user" may be defined.
  • the second classification unit 103 determines whether or not it exists in the blacklist based on the user name of the behavior data. When the user name exists in the blacklist, the second classification unit 103 classifies the user indicated by the behavior data as an unauthorized user. When the user name does not exist in the blacklist, the second classification unit 103 may classify the user as a normal user or a user who is neither a normal user nor an unauthorized user.
  • characters other than the user name may be set as a rule.
  • characters indicating a user ID, an e-mail address, an address, or the like may be defined as a rule.
  • the second classification unit 103 may perform classification based on the rule by determining whether or not the user ID, e-mail address, address, or the like of the user indicated by the behavior data is a predetermined character.
  • the determination unit 104 is mainly realized by the control unit 11.
  • the determination unit 104 determines whether or not to learn the rule based on the statistical information about the behavior data satisfying the rule.
  • Statistical information is information related to statistics of behavior data that satisfies the rule, for example, the number of behavior data that satisfies the rule, or the distribution of behavior data that satisfies the rule.
  • the distribution is a distribution of values indicated by behavioral data, such as kurtosis, skewness, moment, density, mean value, or standard deviation.
  • the statistical information may be statistical information other than the number and the distribution. For example, the evaluation value obtained by substituting the number and the distribution into a predetermined calculation formula may be used, or the histogram of the behavior data may be used. It may be a shape or the like.
  • Learning a rule means creating teacher data based on the classification result of behavior data according to the rule and learning a machine learning model using the teacher data.
  • the teacher data may be created based on the behavior data that satisfies the rule, and conversely, the teacher data may be created based on the behavior data that does not satisfy the rule.
  • teacher data may be created based on behavior data regardless of whether or not the rules are satisfied.
  • the teacher data may be created manually or by a computer such as a server 10.
  • the determination unit 104 acquires statistical information for each rule based on the behavior data satisfying the rule, and determines whether or not to learn the rule. The determination unit 104 does not determine that the rule is learned when the statistical information does not show a predetermined statistic, and determines that the rule is learned when the statistical information shows a predetermined statistic.
  • the predetermined statistics may be statistics that are considered to be suitable for learning, and in the present embodiment, as described below, the number of behavior data satisfying the rule is equal to or more than the threshold value, or the behavior data satisfying the rule. This will be described by taking as an example the distribution of is a predetermined distribution.
  • the determination unit 104 determines whether or not the number of action data satisfying the rule is equal to or greater than the threshold value based on the statistical information.
  • the determination unit 104 does not determine that the rule is learned when the number of action data satisfying the rule is less than the threshold value, and trains the rule when the number of action data satisfying the rule is greater than or equal to the threshold value. judge.
  • the threshold value may be a fixed value or a variable value. When the threshold value is a variable value, it may be specified by the user, or it may be changed according to the content of the rule, the total number of action data, and the like.
  • the determination unit 104 aggregates the behavior data whose distance from the center of use is 100 km or more and acquires it as statistical information, and the aggregated number is equal to or greater than the threshold value. If there is, it is determined that the rule is learned. Further, for example, if the rule ID is "r00002", the determination unit 104 aggregates the behavior data whose IP address is not Japan and acquires it as statistical information, and if the aggregated number is equal to or greater than the threshold value, the rule Is determined to be learned. In the present embodiment, the learning target flag is off for the rule whose rule ID is "r00003", so that the determination unit 104 does not acquire the statistical information of the rule 3.
  • FIG. 5 is a diagram showing an example when there is little behavior data satisfying the rule
  • FIG. 6 is a diagram showing an example when there is a lot of behavior data satisfying the rule.
  • the behavior data is shown by an n-dimensional vector, and the case where the behavior data is plotted on the n-dimensional space will be described. Therefore, the small circles in FIGS. 5 and 6 indicate behavioral data.
  • a set of action data satisfying the rule is indicated by a reference numeral “G”.
  • the determination unit 104 determines that the action data satisfying the rule is not learned.
  • the amount of teacher data is sufficient, so that it is possible to learn the characteristics of the behavior data. Therefore, the determination unit 104 determines that the action data satisfying the rule is learned.
  • the determination unit 104 may determine whether or not the distribution of behavior data satisfying the rule is a predetermined distribution based on the statistical information. The determination unit 104 does not determine that the rule is learned when the distribution of the behavior data satisfying the rule is not a predetermined distribution, and learns the rule when the distribution of the behavior data satisfying the rule is a predetermined distribution. Judge to let.
  • the predetermined distribution is a condition for learning the rules. If the characteristics of behavioral data that satisfy the rules are biased, there are common characteristics in the behavioral data, which may be suitable for learning. Therefore, in the present embodiment, the case where the degree of bias of the characteristics of the behavior data is equal to or more than the predetermined bias corresponds to the predetermined distribution will be described. Bias is sometimes called bias.
  • the bias of the distribution can be expressed using any index, for example, by kurtosis, skewness, variance, frequency, or moment.
  • the determination unit 104 determines that the distribution is not a predetermined distribution when these indexes indicating the bias of the distribution are not in the predetermined range, and determines that the index is the predetermined distribution when the index is in the predetermined range. In this embodiment, a case where the kurtosis is used will be described as an example.
  • FIG. 7 is a diagram showing an example of a case where the behavior data satisfying the rule is not biased
  • FIG. 8 is a diagram showing an example of a case where the behavior data satisfying the rule is not biased.
  • the determination unit 104 learns the behavior data satisfying the rule. Judge not to let.
  • the determination unit 104 determines that the behavior data satisfying the rule is learned. ..
  • All the rules stored in the rule list L may be the learning target, but in the present embodiment, the rules to be learned are specified and the learning target flag is stored in the rule list L.
  • the determination unit 104 determines whether or not to learn the rule designated as the learning target based on the statistical information about the behavior data satisfying the rule designated as the learning target among the plurality of rules. The determination unit 104 determines that the rule not designated as the learning target is not learned.
  • the first evaluation unit 105 is mainly realized by the control unit 11.
  • the first evaluation unit 105 evaluates the uncertainty of the rules in the machine learning model.
  • the machine learning model here is a machine learning model used by the first classification unit 102, and is an existing machine learning model before the rules are trained.
  • Uncertainty is an index showing how much the classification result by the machine learning model and the classification result by the rule do not match. In other words, uncertainty is the low probability that a machine learning model can output the same classification results as a rule. The more uncertain, the less the classification result by the machine learning model and the classification result by the rule match, and the more certain they match. Uncertainty can also be said to be the certainty of prediction by a machine learning model.
  • the first evaluation unit 105 may classify a certain number of behavior data into each of the machine learning model and the rule, and evaluate based on the degree of agreement between them.
  • the degree of coincidence may be the number of behavioral data in which the classification results match, or may be a ratio or a probability.
  • the target behavior data may be all behavior data stored in the behavior database, or may be some behavior data. When it is used as a part of the behavior data, it may be only the behavior data satisfying the rule, or it may be the behavior data randomly selected.
  • the first evaluation unit 105 evaluates that the rule in the machine learning model is certain if the degree of agreement is equal to or more than the threshold value, and evaluates that the rule in the machine learning model is uncertain if the degree of agreement is less than the threshold value. ..
  • the first evaluation unit 105 may evaluate the uncertainty for all the rules stored in the rule list L, or may evaluate the uncertainty for only some of the rules. When evaluating only some rules, the first evaluation unit 105 may evaluate only the rules determined to be learned by the determination unit 104, or only the rules for which the learning target flag is turned on. May be evaluated.
  • the learning unit 106 is mainly realized by the control unit 11.
  • the learning unit 106 executes the learning process of the rule determined to be learned by the determination unit 104.
  • the learning process is a process for training a machine learning model, and means, for example, at least one of creating teacher data and adjusting the parameters of the machine learning model based on the teacher data.
  • the learning unit 106 creates teacher data based on the classification result of the behavior data according to the rule determined to be learned by the determination unit 104.
  • the behavior data may be input and the classification result according to the rule may be output, or the feature amount of the behavior data may be input and the classification result according to the rule may be output.
  • the learning unit 106 executes the learning process based on the created teacher data. As the learning method itself using the teacher data, various methods used in supervised machine learning can be applied, and the learning unit 106 adjusts the parameters of the machine learning model so as to obtain the result indicated by the teacher data. ..
  • the learning unit 106 causes the machine learning model used by the first classification unit 102 to additionally learn the rules.
  • the machine learning model used by the first classification unit 102 is a machine learning model that has been trained based on other teacher data, and is an existing machine learning model stored in the data storage unit 100.
  • the learning unit 106 additionally learns the existing machine learning model stored in the data storage unit 100 based on the teacher data created based on the rule determined to be learned by the determination unit 104.
  • the learning unit 106 may make a new machine learning model learn the rules.
  • the new machine learning model is a machine learning model that is not used by the first classification unit 102, for example, a model in which parameters are not adjusted based on teacher data.
  • the learning unit 106 is based on the teacher data used when learning the machine learning model used by the first classification unit 102 and the teacher data created based on the rule determined to be learned by the determination unit 104. Train a new machine learning model.
  • the learning unit 106 executes the learning process based on the evaluation result of the first evaluation unit 105. For example, the learning unit 106 determines whether or not to execute the learning process based on the evaluation result of the first evaluation unit 105.
  • the learning unit 106 does not obtain an evaluation of being uncertain (that is, when an evaluation of certainty is obtained)
  • the learning unit 106 does not execute the learning process and makes the first evaluation.
  • the learning process is executed. That is, the learning unit 106 may have already determined the rule that the first evaluation unit 105 does not evaluate as uncertain by the machine learning model. Therefore, in order to prevent overfitting, The learning process of the rule is not executed.
  • the learning unit 106 may determine the learning coefficient in the learning process based on the evaluation result of the first evaluation unit 105.
  • the learning unit 106 lowers the learning coefficient when the first evaluation unit 105 does not give an evaluation of being uncertain than the learning coefficient when the first evaluation unit 105 gives an evaluation of being uncertain. To do. That is, if the first evaluation unit 105 does not obtain an evaluation that the learning unit 106 is uncertain, there is a possibility that the content can already be determined by the machine learning model. Therefore, in order to prevent overfitting, The influence on learning is made smaller than when the evaluation of uncertainty is obtained by the first evaluation unit 105.
  • the exclusion unit 107 is mainly realized by the control unit 11.
  • the exclusion unit 107 excludes the rule evaluated by the first evaluation unit 105 as uncertain so as not to be used.
  • the rule evaluated as not uncertain by the first evaluation unit 105 there is a possibility that the content can already be determined by the machine learning model. Therefore, the exclusion unit 107 determines the behavior data by excluding the rule. Do not become.
  • Exclusion is to prevent it from being referred to by the second classification unit 103, and to prevent it from being compared with behavior data.
  • the case where the rule is excluded by deleting the rule from the rule list L will be described.
  • the rule list L is particularly provided. Rule exclusions may be made without removing the rule from.
  • the exclusion unit 107 may be excluded so that the rules learned by the learning process are not used. Since there is a possibility that the rules learned by the learning process can already be determined by the machine learning model, the exclusion unit 107 excludes the rules so that they are not subject to determination as behavior data. However, in the present embodiment, the exclusion unit 107 determines whether or not to really delete the learned rule based on the evaluation of the second evaluation unit 108, which will be described later. For example, when the exclusion unit 107 is evaluated as uncertain by the second evaluation unit 108, it does not exclude the rule in which the learning process is executed, and is evaluated as uncertain by the second evaluation unit 108. Exclude the rule for which the learning process was executed.
  • the second evaluation unit 108 is mainly realized by the control unit 11.
  • the second evaluation unit 108 evaluates the uncertainty of the rule in the machine learning model in which the rule is learned by the learning process.
  • the uncertainty evaluation method may be a method according to the machine learning model, may be the same method as that of the first evaluation unit 105, or may be a method different from that of the first evaluation unit 105. ..
  • the second evaluation unit 108 may classify a certain number of behavior data into each of the machine learning model whose rules have been learned by the learning process and the rules, and evaluate based on the degree of agreement between them. ..
  • the first evaluation unit 105 evaluates that the rule in the machine learning model is certain if the degree of agreement is equal to or more than the threshold value, and evaluates that the rule in the machine learning model is uncertain if the degree of agreement is less than the threshold value. ..
  • the switching unit 109 is mainly realized by the control unit 11.
  • the switching unit 109 switches to the machine learning model in which the rules are learned by the learning process based on the evaluation result of the second evaluation unit 108. For example, when the switching unit 109 is evaluated to be uncertain by the second evaluation unit 108, the switching unit 109 operates as the existing machine learning model without switching the machine learning model, and is uncertain by the second evaluation unit 108. If it is not evaluated, switch the machine learning model. When switching the machine learning model, the switching unit 109 deletes the old machine learning model from the data storage unit 100 and replaces it with the machine learning model learned by the learning unit 106.
  • FIG. 9 is a flow chart showing an example of the classification process.
  • the classification process shown in FIG. 9 is executed by the control units 11 and 21 operating according to the programs stored in the storage units 12 and 22, respectively.
  • the process described below is an example of the process executed by the functional block shown in FIG. It is assumed that the user has completed the usage registration and logged in to the server 10 when the classification process is executed.
  • the control unit 21 transmits an access request to the server 10 (S100). It is assumed that the access request in S100 includes the URL specified by the user, the user ID, the user name, and the IP address of the user terminal 20.
  • the control unit 11 When the server 10 receives the access request, the control unit 11 generates the action data and stores it in the action database DB (S101). In S101, the control unit 11 creates a new record in the action database DB, and stores the user ID, user name, IP address, and URL included in the access request in the new record. Further, the control unit 11 stores the location estimated from the IP address as the access location, and stores the current date and time acquired by using the real-time clock, GPS information, or the like as the access date and time.
  • the control unit 11 classifies the behavior data generated in S100 based on the machine learning model (S102).
  • the control unit 11 inputs the behavior data into the machine learning model.
  • the machine learning model calculates the feature amount of the input behavior data and classifies whether it is a normal user or an unauthorized user based on the feature amount.
  • the control unit 11 acquires the classification result output from the machine learning model and stores it in the behavior database DB.
  • the control unit 11 classifies the behavior data generated in S103 based on the rules shown in the rule list L (S103). In S103, the control unit 11 determines whether or not the action data satisfies the rule for each rule indicated by the rule list L. When the control unit 11 determines that the rule is satisfied, the control unit 11 stores the diagnosis result associated with the rule in the action database DB. Nothing needs to be stored for the rules that the behavior data did not meet. If it is classified as an unauthorized user by the processing of S102 or S103, a notification such as an e-mail may be sent to the administrator to ask the administrator's judgment, or the user may be requested to perform additional authentication. You may.
  • FIG. 10 is a flow chart showing an example of learning processing.
  • the learning process shown in FIG. 10 is executed by the control unit 11 operating according to the program stored in the storage unit 12.
  • the process described below is an example of the process executed by the functional block shown in FIG. It is assumed that the rules created by the administrator are stored in the rule database when the learning process is executed.
  • the learning process may be executed at an arbitrary timing. For example, the learning process may be executed when the administrator performs a predetermined operation, or may be executed when a predetermined date and time arrives.
  • the control unit 11 specifies a rule to be learned based on the rule database (S200).
  • the control unit 11 refers to the learning target flags of all the rules stored in the rule database, and identifies the rule for which the learning target flag is turned on.
  • the processes of S201 to S208 described below are executed for each rule to be learned.
  • the control unit 11 evaluates the uncertainty of the learning target rule in the existing machine learning model based on the behavior database DB (S201).
  • the control unit 11 evaluates the uncertainty based on the degree of agreement between the diagnosis result of the machine model stored in the behavior database DB and the diagnosis result of the rule to be learned.
  • the degree of coincidence is equal to or more than the threshold value, it is evaluated as certain, and if the degree of coincidence is less than the threshold value, it is evaluated as uncertain.
  • the content of the rule may be determined by the existing machine learning model, so the control unit 11 learns from the rule list L.
  • the target rule is excluded (S202), and the process proceeds to S208. This rule is not trained by the machine learning model.
  • the control unit 11 acquires the number of behavior data satisfying the rule of the learning target based on the behavior database DB (S201; uncertain). S203).
  • the control unit 11 refers to the rule diagnosis result of the action database DB and counts the action data in which the classification result of the rule to be learned is stored.
  • the control unit 11 determines whether or not the action data stored in the action database DB satisfies the rule to be learned (executes the same processing as in S103), and selects the action data that satisfies the rule. You may count.
  • the control unit 11 determines whether or not the number of behavior data satisfying the learning target rule is equal to or greater than the threshold value (S204). When it is determined that the number of behavior data satisfying the rule to be learned is equal to or greater than the threshold value (S204Y), the control unit 11 creates teacher data based on the behavior data satisfying the rule (S205). In S205, the control unit 11 creates teacher data in which the action data satisfying the rule or the feature amount of the action data is input and the classification result according to the rule is output.
  • the control unit 11 determines the distribution of behavior data satisfying the learning target rule based on the behavior database DB. Acquire (S206). In S206, the control unit 11 calculates the kurtosis of the behavior data that satisfies the rule to be learned. As described above, any index other than kurtosis can be used, and for example, skewness or moment may be used.
  • the control unit 11 determines whether or not the distribution of behavior data satisfying the rule to be learned is a predetermined distribution (S207). In S207, the control unit 11 determines whether or not the kurtosis calculated in S206 is equal to or greater than the threshold value. If the kurtosis is equal to or higher than the threshold value, the distribution is biased and therefore a predetermined distribution is determined. If the kurtosis is less than the threshold value, the distribution is not biased and the distribution is a predetermined distribution. Do not judge.
  • the process returns to the processing of S201, and the processing for the rules that have not been determined yet is executed.
  • the control unit 11 executes the learning process of the machine learning model based on the teacher data created in the process of S205. (S209), the mode shifts to the verification mode (S210).
  • the verification mode is a mode in which the existing machine learning model and the machine learning model that has been learned in S209 coexist. In this case, in S102 of the classification process, classification by both of these machine learning models may be performed, or any machine learning model may be selected under a predetermined probability. The verification mode is continued for a certain period of time. After a certain period of time, the subsequent processing is executed.
  • the control unit 11 determines whether or not the machine learning model under verification is uncertain (S211).
  • the processing of S211 is the same as that of S202, but is different from S202 in that the diagnosis result of the machine learning model trained in S209 is referred to instead of the diagnosis result of the existing machine learning model.
  • the control unit 11 ends this process without switching the machine learning model (S212).
  • the rule that should have been learned by the learning process was not successfully learned by the machine learning model, the machine learning model under verification is not applied and is returned to the existing machine learning model. In this case, the rule is not deleted and remains.
  • the control unit 11 switches the machine learning model (S213) and excludes the learned rules from the rule list L (S21). S214). After that, the verification mode ends, and the process of S102 of the classification process is executed based on the machine learning model switched in S213.
  • the learning system S of the present embodiment it is determined whether or not to train the rule based on the statistical information about the data satisfying the rule, and the learning process of the rule determined to be trained is executed.
  • the rules suitable for learning can be narrowed down and learned from a statistical point of view, the accuracy of the machine learning model can be improved, and the number of rules can be reduced. For example, if the number of rules increases, a large number of processes for comparing behavior data and rules must be executed, so that the processing load on the server 10 increases and it takes more time for the classification result to be determined. However, by reducing the number of rules, it is possible to reduce the processing of comparing the behavior data and the rules, reduce the processing load of the server 10, and improve the processing speed. Further, the memory capacity of the server 10 can be reduced by reducing the rules.
  • the number of data satisfying the rule is less than the threshold value, it is not determined to learn the rule, and when the number of data satisfying the rule is equal to or more than the threshold value, it is determined to learn the rule. It is possible to prevent the learning process from being executed even though there is not a sufficient amount of data for learning. As a result, it is possible to prevent the accuracy of the machine learning model from being lowered.
  • the distribution of data satisfying the rule is not a predetermined distribution, it is not determined to train the rule, and if the distribution of data satisfying the rule is not the predetermined distribution, it is determined to train the rule. Therefore, it is possible to prevent the learning process from being executed even though the distribution is not suitable for learning. As a result, it is possible to prevent the accuracy of the machine learning model from being lowered.
  • the machine learning model is made to learn the rules that cannot be judged by the machine learning model.
  • the accuracy of the learning model can be effectively improved.
  • the machine learning model may be able to determine the rules that are evaluated as not uncertain, it is effective to exclude such rules so that they are not used in the classification. Can be reduced to. As a result, the rules to be compared with the data can be reduced, the processing load of the server 10 can be effectively reduced, and the processing speed can be effectively improved.
  • the number of rules can be effectively reduced by excluding this rule from being used. Can be done.
  • the rules to be compared with the data can be reduced, the processing load of the server 10 can be effectively reduced, and the processing speed can be effectively improved.
  • the case where whether or not to train the rule is determined based on both the number of behavior data satisfying the rule and the distribution of the behavior data satisfying the rule has been described. Whether or not to train the rule may be decided based on only one of them. Further, for example, it may be decided whether or not to train the rule based on statistical information other than the number and distribution. Further, for example, the process of performing the uncertainty evaluation of the rule may be omitted. Further, for example, the case where the rule learned by the learning process is excluded has been described, but the rule may be referred to less frequently without being particularly excluded. Further, for example, the case where the verification mode for a certain period is provided has been described, but the verification mode may not be provided in particular. Further, for example, the case where the rule to be learned is specified has been described, but no particular specification is made, and all the rules may be the learning target.
  • the learning system S can be applied when the data is classified, and even if it is applied to other situations. Good.
  • the learning system S can be applied to situations other than the scene where the user's fraud is detected, and the rules can be applied even when a machine learning model such as natural language processing, machine translation, sentence conversion, or chatbot is used. It may be determined whether or not to train.
  • the learning system S may be applied to a situation where a user detects fraudulent activity when purchasing a product on the Internet.
  • the server 10 provides the user with the website of the online shopping mall. It is assumed that the user has registered the use and registered the payment information such as the card number in the server 10 in advance.
  • the payment information may include information such as the store ID of the store where the product was purchased, the store name, the product ID of the product, the product name, the quantity, the payment amount, and the card number.
  • the server 10 generates behavior data including payment information of the user.
  • the administrator can specify conditions related to the payment amount and the delivery address.
  • the learning system S determines whether or not the rule is satisfied based on the behavior data including the payment information of the user.
  • the learning system S may determine whether or not to train the rule based on the statistical information about the behavior data satisfying the rule.
  • the details of the determination process and the learning process are as described in the embodiment.
  • the learning system S may be used in a scene where a subject captured in image data is classified by using a machine learning model or a rule. Further, for example, the learning system S may be used in a scene where the weather is classified based on the temperature, humidity, etc. indicated by the weather data by using a machine learning model or a rule. Further, for example, the learning system S may be used for the screen for creating a summary of sentence data by using a machine learning model or a rule. In addition, the learning system S can be applied to the scene of classifying data having arbitrary contents.
  • each function may be shared by a plurality of computers.
  • the functions may be shared by each of the server 10, the user terminal 20, and the administrator terminal 30.
  • processing such as classification may not be executed on the server 10, but may be executed on the user terminal 20 or the administrator terminal 30.
  • the learning system S includes a plurality of server computers
  • the functions may be shared by the plurality of server computers.
  • the data described as being stored in the data storage unit 100 may be stored by a computer other than the server 10.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

学習システム(S)の第1分類手段(102)は、機械学習モデルに基づいて、データに関する分類を行う。第2分類手段(103)は、所定のルールに基づいて、データに関する分類を行う。判定手段(104)は、ルールを満たすデータに関する統計情報に基づいて、ルールを学習させるか否かを判定する。学習手段(106)は、判定手段(104)により学習させると判定されたルールの学習処理を実行する。

Description

学習システム、学習方法、及びプログラム
 本発明は、学習システム、学習方法、及びプログラムに関する。
 従来、機械学習モデルに基づいてデータに関する分類を行う技術が検討されている。例えば、特許文献1には、ウェブサイトにアクセスしたユーザの行動に関する行動データの特徴量を入力とし、当該ユーザの正当性の判定結果を出力とする教師データを機械学習モデルに学習させ、ユーザの不正を検知する機械学習モデルを作成するシステムが知られている。
国際公開第2019/049210号公報
 上記のような機械学習モデルの分類精度には限界があるため、発明者は、機械学習モデルとは別にルールを用意し、機械学習モデルとルールの両方を活用することを独自に検討している。例えば、特許文献1のシステムにおいて、機械学習モデルとは別に、機械学習モデルでは判断しきれない特徴に関するルールを用意しておき、不正検知の精度を高めることが考えられる。
 例えば、悪意のある第三者の行動は日々変化するので、発明者は、ルールの数が次第に増加すると考えている。このため、発明者は、ルールを減らすために、なるべく、機械学習モデルにルールを学習させた方がよいと考えている。しかしながら、ルールの中には、学習に向くルールもあれば、学習に向かないルールもある。例えば、学習に向かないルールを機械学習モデルに学習させてしまうと、かえって機械学習モデルの精度が低下する可能性がある。
 本発明は上記課題に鑑みてなされたものであって、その目的は、機械学習モデルの精度を向上させてルールの数を減らすことが可能な学習システム、学習方法、及びプログラムを提供することである。
 上記課題を解決するために、本発明に係る学習システムは、機械学習モデルに基づいて、データに関する分類を行う第1分類手段と、所定のルールに基づいて、前記データに関する分類を行う第2分類手段と、前記ルールを満たすデータに関する統計情報に基づいて、前記ルールを学習させるか否かを判定する判定手段と、前記判定手段により学習させると判定されたルールの学習処理を実行する学習手段と、を含むことを特徴とする。
 本発明に係る学習方法は、機械学習モデルに基づいて、データに関する分類を行う第1分類ステップと、所定のルールに基づいて、前記データに関する分類を行う第2分類ステップと、前記ルールを満たすデータに関する統計情報に基づいて、前記ルールを学習させるか否かを判定する判定ステップと、前記判定ステップにより学習させると判定されたルールの学習処理を実行する学習ステップと、を含むことを特徴とする。
 本発明に係るプログラムは、機械学習モデルに基づいて、データに関する分類を行う第1分類手段、所定のルールに基づいて、前記データに関する分類を行う第2分類手段、前記ルールを満たすデータに関する統計情報に基づいて、前記ルールを学習させるか否かを判定する判定手段、前記判定手段により学習させると判定されたルールの学習処理を実行する学習手段、としてコンピュータを機能させる。
 本発明の一態様によれば、前記統計情報は、前記ルールを満たすデータの数を示し、前記判定手段は、前記ルールを満たすデータの数が閾値未満である場合には、前記ルールを学習させると判定せず、前記ルールを満たすデータの数が前記閾値以上である場合に、前記ルールを学習させると判定する、とを特徴とする。
 本発明の一態様によれば、前記統計情報は、前記ルールを満たすデータの分布を示し、前記判定手段は、前記ルールを満たすデータの分布が所定の分布ではない場合には、前記ルールを学習させると判定せず、前記ルールを満たすデータの分布が前記所定の分布である場合に、前記ルールを学習させると判定する、ことを特徴とする。
 本発明の一態様によれば、前記学習システムは、前記機械学習モデルにおける前記ルールの不確かさを評価する評価手段を更に含み、前記学習手段は、前記評価手段の評価結果に基づいて、前記学習処理を実行する、ことを特徴とする。
 本発明の一態様によれば、学習システムは、前記評価手段により不確かではないと評価されたルールが用いられないように除外する除外手段を更に含むことを特徴とする。
 本発明の一態様によれば、前記学習システムは、前記学習処理により学習されたルールが用いられないように除外する除外手段を更に含む、ことを特徴とする。
 本発明の一態様によれば、前記学習システムは、前記学習処理によりルールが学習された機械学習モデルにおける当該ルールの不確かさを評価する評価手段と、前記評価手段の評価結果に基づいて、前記学習処理によりルールが学習された機械学習モデルに切り替える切替手段と、を更に含むことを特徴とする。
 本発明の一態様によれば、前記第2分類手段は、複数の前記ルールの各々に基づいて、前記データに関する分類を行い、前記学習システムは、前記複数のルールのうち、学習対象となるルールの指定を受け付ける受付手段を更に含み、前記判定手段は、前記複数のルールのうち、前記学習対象として指定されたルールを満たすデータに関する統計情報に基づいて、前記学習対象として指定されたルールを学習させるか否かを判定する、ことを特徴とする。
 本発明の一態様によれば、前記データは、ユーザの行動に関する行動データであり、前記機械学習モデルは、不正ユーザであるか否かを分類するための機械学習モデルであり、前記ルールは、不正ユーザであるか否か分類するためのルールである、ことを特徴とする。
 本発明によれば、機械学習モデルの精度を向上させてルールの数を減らすことが可能となる。
学習システムの全体構成を示す図である。 学習システムで実現される機能の一例を示す機能ブロック図である。 行動データベースのデータ格納例を示す図である。 ルールリストのデータ格納例を示す図である。 ルールを満たす行動データが少ない場合の一例を示す図である。 ルールを満たす行動データが多い場合の一例を示す図である。 ルールを満たす行動データが偏っていない場合の一例を示す図である。 ルールを満たす行動データが偏っている場合の一例を示す図である。 分類処理の一例を示すフロー図である。 学習処理の一例を示すフロー図である。
[1.学習システムの全体構成]
 以下、本発明に係る学習システムの実施形態の例を説明する。図1は、学習システムの全体構成を示す図である。図1に示すように、学習システムSは、サーバ10、ユーザ端末20、及び管理者端末30を含み、これらは、インターネットなどのネットワークNに接続可能である。なお、図1では、サーバ10、ユーザ端末20、及び管理者端末30の各々を1台ずつ示しているが、これらは複数台あってもよい。
 サーバ10は、サーバコンピュータである。サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークNを介してデータ通信を行う。
 ユーザ端末20は、ユーザが操作するコンピュータである。例えば、ユーザ端末20は、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、又はパーソナルコンピュータ等である。本実施形態では、ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
 操作部24は、入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部24は、ユーザによる操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。表示部25は、制御部21の指示に従って画像を表示する。
 管理者端末30は、管理者が操作するコンピュータである。例えば、管理者端末30は、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、又は、パーソナルコンピュータ等である。本実施形態では、管理者端末30は、制御部31、記憶部32、通信部33、操作部34、及び表示部35を含む。制御部31、記憶部32、通信部33、操作部34、及び表示部35の物理的構成は、それぞれ制御部21、記憶部22、通信部23、操作部24、及び表示部25と同様であってよい。
 なお、記憶部12,22,32に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、上記説明した各コンピュータのハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
[2.学習システムの概要]
 本実施形態では、サーバ10が、ニュースや動画などのウェブサイトをユーザに提供し、ウェブサイトにアクセスしたユーザの行動を分析する場面を例に挙げて、学習システムSの処理を説明する。例えば、学習システムSは、ユーザがウェブサイトにアクセスした場合に行動データを生成し、機械学習モデル及びルールを利用して行動データを分析し、正常ユーザ又は不正ユーザの何れかに分類する。
 行動データは、ユーザの行動に関するデータである。行動データは、少なくとも1つの項目を含み、ユーザの行動内容が格納される。例えば、行動データは、ユーザがアクセスしたウェブサイトのURL、ユーザが使用したユーザ端末20の識別情報(例えば、IPアドレス、個体識別情報、電話番号、又はSIM情報など)、ユーザがユーザ端末20を使用した場所、ウェブサイトにアクセスした日時、又は、操作部24からの入力内容を含む。
 正常ユーザは、正常な行動をしたユーザであり、不正ユーザではないユーザである。不正ユーザは、不正な行動をしたユーザであり、正常ユーザではないユーザである。不正な行動とは、サービス提供者又は他のユーザなどに不利益となる行動であり、例えば、ハッキング、クラッキング、悪意のある投稿、意図的に多量のアクセスを行うこと、他のユーザへの迷惑行為、サービス規約に反する行為、又は法律違反となる行為などである。
 例えば、正常ユーザに対するサービスは制限されず、不正ユーザに対するサービスは制限される。ただし、不正ユーザに分類された場合に、直ちにサービスが制限される必要はなく、管理者の審査が行われた後にサービスが制限されてもよいし、ユーザに対する追加の認証が行われた後にサービスが制限されてもよい。
 機械学習モデルは、学習済みのモデルである。機械学習モデルは、学習器、分類器、又は分類学習器と呼ばれることもある。本実施形態では、不正ユーザであるか否かを分類するための機械学習モデルが用いられる。機械学習自体は、公知の種々の手法を利用可能であり、例えば、ニューラルネットワーク、強化学習、又は深層学習といった手法を利用可能である。機械学習は、教師有り機械学習に限られず、半教師有り機械学習が用いられてもよいし、教師無し機械学習が用いられてもよい。
 例えば、機械学習モデルは、入力されたデータの特徴量を計算し、データに関する分類を行う。特徴量は、データの特徴を示す数値であり、例えば、n(nは自然数)次元のベクトル、又は、n個の要素からなる配列で示される。なお、機械学習モデルとは別に、特徴量を計算するためのアルゴリズムを用意してもよい。この場合、機械学習モデルは、特徴量を計算する必要がなく、当該アルゴリズムによって計算された特徴量が機械学習モデルに入力される。
 例えば、不正ユーザが、ある特定の時間帯にアクセスしたり、一定頻度以上でアクセスしたりする傾向にある場合には、機械学習モデルには、不正ユーザのアクセス時間帯やアクセス頻度などの特徴が学習される。この場合、機械学習モデルは、ウェブサイトにアクセスしたユーザの行動データに基づいて、アクセス時間帯やアクセス頻度などの特徴量を計算し、正常ユーザ又は不正ユーザの何れかに分類する。
 一方、ルールは、機械学習モデルとは別に用意された条件を含む。ルールに含まれる条件は、1つだけであってもよいし、複数であってもよい。本実施形態では、不正ユーザであるか否か分類するためのルールが用いられる。複数の条件がルールに含まれる場合には、これら複数の条件をAND条件としてもよいしOR条件としてもよい。
 本実施形態では、ルールは、人手によって定められるものとして説明するが、ルールを生成するアルゴリズムを用意してもよい。行動データが数値を含んでいれば、ルールには、数値範囲を示す条件が含まれる。また例えば、行動データが文字を含んでいれば、ルールには、所定の文字と一致するか否かを示す条件が含まれる。なお、Word2Vec等によって文字の特徴量が表現される場合には、ルールには、特徴量の差(距離)に関する条件が含まれてもよい。
 なお、行動データが複数の項目を含む場合には、ルールは、これら複数の項目全てに関する条件が示されてもよいし、一部の項目に関する条件だけが示されてもよい。また、行動データに含まれる値そのものがルールと比較されてもよいし、行動データに含まれる値に基づいて計算された値がルールと比較されてもよい。
 ルールは、原則として、機械学習モデルに学習させていない観点で作成される。例えば、アクセス時間帯及びアクセス頻度の特徴が機械学習モデルに学習されていたとすると、ルールは、アクセス場所やユーザ名などの他の観点で作成される。ここでは、下記の3つのルールを例に挙げる。なお、ルール1の利用中心地とは、過去におけるユーザのアクセス場所の平均値である。また、ルール3のホワイトリストとは、管理者により正常ユーザと判断されたユーザの名前のリストである。
(ルール1)利用中心地からの距離が100km以上である場合には、不正ユーザとする。
(ルール2)IPアドレスが日本以外の国である場合には、不正ユーザとする。
(ルール3)ホワイトリストにユーザ名が登録されている場合には、正常ユーザとする。
 先述したように、悪意のある第三者の行動は日々変化するので、次第にルールの数が増加することが予想される。行動データと比較するルールの数が増えると、サーバ10の処理負荷が増大し、正常ユーザであるか否かの判定処理に時間がかかってしまう。このため、なるべく機械学習モデルにルールを学習させ、ルールの数を減らした方が好ましいと考えられる。
 しかしながら、ルールの中には、学習に向くルールもあれば、学習に向かないルールもある。例えば、ルールを満たす行動データが少なかったり行動データの内容に一貫性がなかったりした場合には、機械学習モデルは、これらの特徴を学習することができない可能性がある。このようなルールを学習させようとすると、かえって機械学習モデルの精度低下を招く可能性がある。
 そこで、学習システムSは、ルールを満たす行動データに関する統計的な情報に基づいて、ルールを学習させるか否かを判定し、学習に向くルールに絞って学習させることにより、機械学習モデルの精度を向上させてルールの数を減らすようにしている。以降、この技術の詳細を説明する。
[3.学習システムにおいて実現される機能]
 図2は、学習システムSで実現される機能の一例を示す機能ブロック図である。図2に示すように、サーバ10では、データ記憶部100、受付部101、第1分類部102、第2分類部103、判定部104、第1評価部105、学習部106、除外部107、第2評価部108、及び切替部109が実現される。
[3-1.データ記憶部]
 データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、本実施形態で説明する処理を実行するために必要なデータを記憶する。ここでは、データ記憶部100が記憶するデータの一例として、機械学習モデルM、行動データベースDB、及びルールリストLについて説明する。
 データ記憶部100は、機械学習モデルMのプログラム(アルゴリズム)やパラメータを記憶する。機械学習モデルMのパラメータは、教師データを利用して調整済みであるものとする。例えば、この教師データは、過去におけるユーザの行動データを入力とし、管理者による分類結果(正常ユーザ又は不正ユーザの何れであるかを示す値)が出力となるように作成される。
 先述した例では、管理者は、アクセス時間帯及びアクセス頻度に不正ユーザの傾向が表れていると考えており、これらの特徴を入力とし、不正ユーザであることを出力とする教師データが作成される。機械学習モデルMは、当該教師データに基づいて学習済みであり、主にアクセス時間帯及びアクセス頻度に関する特徴に基づいて、分類結果を出力する。例えば、機械学習モデルMは、入力された行動データの特徴量を計算し、分類結果を示す値(ラベル)を出力する。
 本実施形態では、機械学習モデルMは、あるユーザの行動に関する行動データに基づいて、当該ユーザを正常ユーザ又は不正ユーザの何れかに分類するので、正常ユーザを示す値又は不正ユーザを示す値の何れかを出力する。なお、機械学習モデルMは、分類の蓋然性(確度)を示すスコアを出力してもよい。この場合、機械学習モデルMは、正常ユーザの蓋然性を示すスコアと、不正ユーザの蓋然性を示すスコアと、の少なくとも一方を出力してもよい。なお、以降の説明では、機械学習モデルMの符号を省略する。
 図3は、行動データベースDBのデータ格納例を示す図である。図3に示すように、行動データベースDBには、行動データと、機械学習モデル及びルールによる診断結果と、が格納される。例えば、行動データには、ユーザID、ユーザ名、IPアドレス、アクセスしたウェブサイトのURL、アクセス場所、及びアクセス日時が格納される。なお、本実施形態では、ユーザは予め利用登録を済ませており、ユーザIDやユーザ名などの基本情報は、予めデータ記憶部100に登録されているものとする。
 ユーザIDは、ユーザを一意に識別する情報である。ユーザ名は、ユーザが利用登録時に入力した名前である。IPアドレスは、ユーザがサーバ10にアクセスした時に使用したユーザ端末20のIPアドレスである。アクセス場所は、ユーザがサーバ10にアクセスした時に使用したユーザ端末20の場所に関する情報である。アクセス場所は、IPアドレス、GPS情報(緯度経度情報又は座標情報)、無線基地局情報、又はアクセスポイント情報などを利用して推定される。アクセス日時は、ユーザがサーバ10にアクセスした時の日時である。
 機械学習モデルの診断結果は、行動データを機械学習モデルに入力した場合の分類結果である。機械学習モデルがスコアを出力する場合には、機械学習モデルの診断結果にスコアが含まれていてもよい。ルールの診断結果は、行動データをルールに照らし合わせた場合の分類結果である。複数のルールが用意されている場合、各ルールの診断結果が格納される。本実施形態では、機械学習モデル及びルールの各々により、正常ユーザ又は不正ユーザの何れかに分類されるので、診断結果としては、正常ユーザ又は不正ユーザの何れかの値が格納される。
 サーバ10は、ユーザによるアクセスを受け付けた場合に、ユーザID、ユーザ名、IPアドレス、アクセス場所、及びアクセス時間を含む行動データを生成し、行動データベースDBに格納する。当該生成された行動データは、後述する第1分類部102及び第2分類部103の処理により、正常ユーザ又は不正ユーザの何れかに分類され、機械学習モデルの診断結果と、ルールの診断結果と、が格納される。
 図4は、ルールリストLのデータ格納例を示す図である。図4に示すように、ルールリストLには、ルールに関するデータが格納される。本実施形態では、3つのルールについて説明するが、ルールの数は、任意であってよく、例えば、1つ、2つ、又は4つ以上であってもよい。例えば、ルールリストLには、ルールID、ルールの内容、診断結果、及び学習対象フラグが格納される。
 ルールIDは、ルールを一意に識別する情報である。ルールIDは、新たなルールが追加されるたびに発行される。ルールの内容は、行動データに含まれる複数の項目の少なくとも1つに関する条件が格納される。例えば、行動データが数値を含む場合、ルールの内容は、数値範囲となる。数値範囲としては、閾値以上、閾値未満、又は、第1の閾値以上かつ第2の閾値未満といった条件が格納される。また例えば、行動データが文字を含む場合、ルールの内容は、所定の文字が含まれるか否かを示す条件となる。
 例えば、ルールIDが「r00001」のルールは、行動データの「アクセス場所」に基づいて計算される「利用中心地からの距離」という数値が「100km以上」といった内容となる。また例えば、ルールIDが「r00002」のルールは、行動データの「IPアドレス」の数値が日本のIPアドレスの範囲に含まれないといった内容となる。また例えば、ルールIDが「r00003」のルールは、行動データの「ユーザ名」が示す文字列がホワイトリスト内に存在するといった内容となる。
 診断結果は、ルールを満たした場合の分類結果であり、例えば、ルールを満たした場合に正常ユーザ又は不正ユーザの何れに分類されるかが示される。学習対象フラグは、学習対象のルールであるか否かを示す情報である。例えば、学習対象フラグがオンの場合には、学習対象であることを示し、学習対象フラグがオフの場合には、学習対象ではないことを示す。
 本実施形態では、学習対象のルールだけが後述する判定部104及び学習部106の処理対象となり、学習対象ではないルールは、判定部104及び学習部106の処理対象から除外される。例えば、学習対象ではないルールは、学習には向かないルールであり、例外のルールということができる。一方、学習対象のルールは、統計によっては学習に向くルールであり、非例外のルールということができる。
 学習システムSの管理者は、新たなルールを追加する場合、当該ルールの内容、診断結果、及び学習対象フラグを指定する。サーバ10は、ルールIDを新たに発行し、これら指定された情報とともに、ルールリストLに格納することによって、新たなルールが追加される。ルールリストLには、後述する第2分類部103が利用するルールだけが格納されていてもよいし、使用されなくなった古いルールが残っていてもよい。
 なお、データ記憶部100に記憶されるデータは、上記の例に限られない。例えば、データ記憶部100は、ユーザの利用登録情報が格納されたユーザデータベースを記憶してもよい。例えば、ユーザデータベースには、ユーザID、ユーザ名、パスワードなどの認証情報、メールアドレス、住所、電話番号、及び利用中心地などの情報が格納される。
 また例えば、データ記憶部100は、正常ユーザのリストを示すホワイトリストを記憶してもよいし、不正ユーザのリストを示すブラックリストを記憶してもよい。ホワイトリスト及びブラックリストは、学習システムSの管理者によって編集されてもよいし、第1分類部102又は第2分類部103によって編集されもよい。例えば、ホワイトリスト及びブラックリストの各々には、ユーザID、ユーザ名、メールアドレス、住所、及び電話番号などの基本情報が格納される。
[3-2.受付部]
 受付部101は、制御部11を主として実現される。受付部101は、複数のルールのうち、学習対象となるルールの指定を受け付ける。学習対象とは、機械学習モデルに学習させる対象となるルールであり、例えば、ルールの作成者により指定されてもよいし、他の者により指定されてもよい。例えば、管理者は管理者端末30を操作して新たなルールを作成する際に、当該ルールを学習対象とするか否かを指定する。また例えば、管理者は、登録済みのルールについて、学習対象とするか否かを事後的に指定してもよい。受付部101は、管理者端末30から管理者による指定結果を受信することによって、学習対象となるルールの指定を受け付ける。
[3-3.第1分類部]
 第1分類部102は、制御部11を主として実現される。第1分類部102は、機械学習モデルに基づいて、行動データに関する分類を行う。行動データに関する分類とは、行動データそのものの分類を意味してもよいし、データに関連付けられた情報の分類を意味してもよい。本実施形態では、ユーザが正常ユーザ又は不正ユーザに分類されるので、行動データそのものが分類されるというよりは、行動データに関連付けられたユーザIDやユーザ名などが分類されることになる。なお、分類は、種類又は属性ということもできるし、機械学習モデルにより付与されたラベルということもできる。
 例えば、第1分類部102は、行動データを機械学習モデルに入力し、機械学習モデルにより出力された分類を取得することによって、行動データに関する分類を行う。この場合、機械学習モデルは、入力された行動データの特徴量を計算し、当該特徴量に基づいて、分類結果を出力する。
 なお、機械学習モデルとは別に、特徴量を計算するアルゴリズムを用意する場合には、第1分類部102は、特徴量を計算するアルゴリズムに行動データを入力し、当該アルゴリズムが計算した特徴量を機械学習モデルに入力することによって、行動データに関する分類を行う。この場合、機械学習モデルは、特徴量を計算する処理を実行せず、入力された特徴量に基づいて、行動データを分類することになる。
 なお、機械学習モデルが分類のスコアを出力する場合には、第1分類部102は、スコアに基づいて、行動データに関する分類をしてもよい。例えば、機械学習モデルが複数の分類の各々のスコアを出力する場合には、第1分類部102は、最も高いスコアの分類を分類結果として取得してもよいし、スコアが閾値以上の全ての分類を分類結果として取得してもよい。
[3-4.第2分類部]
 第2分類部103は、制御部11を主として実現される。第2分類部103は、所定のルールに基づいて、行動データに関する分類を行う。本実施形態では、複数のルールが定められているので、第2分類部103は、複数のルールの各々に基づいて、行動データに関する分類を行う。例えば、第2分類部103は、ルールリストLに格納されたルールごとに、行動データが当該ルールを満たすか否かを判定し、行動データに関する分類を行う。
 例えば、ルールとして、行動データに含まれる所定項目の数値範囲が定められている場合、第2分類部103は、行動データの当該所定項目の数値を参照し、ルールが示す範囲であるか否かを判定する。また例えば、ルールとして、行動データに含まれる所定項目に基づいて計算される数値の範囲が定められている場合、第2分類部103は、行動データの当該所定項目の数値に基づいて計算した数値が、ルールが示す範囲であるか否かを判定する。
 例えば、ルールIDが「r00001」のルールであれば、第2分類部103は、行動データのアクセス場所に基づいて、利用中心地からの距離を計算する。第2分類部103は、当該距離が閾値(例えば、100km)以上であるか否かを判定する。第2分類部103は、当該距離が閾値以上である場合、行動データが示すユーザを不正ユーザに分類する。なお、第2分類部103は、当該距離が閾値未満である場合、ユーザを正常ユーザに分類してもよいし、正常ユーザ及び不正ユーザの何れでもないユーザとして分類してもよい。
 また例えば、ルールIDが「r00002」のルールであれば、第2分類部103は、行動データのIPアドレスに基づいて、日本のIPアドレスであるか否かを判定する。日本のIPアドレスは、予め管理者等によって指定されており、データ記憶部100に記憶させておけばよい。第2分類部103は、行動データのIPアドレスが、予め指定された範囲に含まれるか否かを判定する。第2分類部103は、IPアドレスが日本でない場合、行動データが示すユーザを不正ユーザに分類する。なお、第2分類部103は、IPアドレスが日本である場合、ユーザを正常ユーザに分類してもよいし、正常ユーザ及び不正ユーザの何れでもないユーザとして分類してもよい。
 なお、数値に関する条件をルールとする場合、距離やIPアドレス以外の数値がルールとして定められていてもよい。例えば、ユーザのアクセス時間帯やアクセス頻度を機械学習モデルに学習させていないのであれば、これらの数値をルールとして定めておいてもよい。この場合、第2分類部103は、行動データが示すアクセス時間帯又はアクセス頻度などが所定の数値範囲であるか否かを判定することによって、ルールに基づく分類を行えばよい。他にも例えば、ユーザの電話番号に関するルールが定められていてもよい。この場合、第2分類部103は、行動データが示すユーザの電話番号が所定の番号であるか否かを判定することによって、ルールに基づく分類を行えばよい。
 また例えば、ルールとして、行動データに含まれる所定項目の文字が定められている場合、第2分類部103は、行動データの当該所定項目の文字を参照し、ルールに示された文字であるか否かを判定する。第2分類部103は、文字の完全一致を判定してもよいし部分一致を判定してもよい。
 例えば、ルールIDが「r00003」のルールであれば、第2分類部103は、行動データのユーザ名に基づいて、ホワイトリストに存在するか否かを判定する。第2分類部103は、ユーザ名がホワイトリストに存在する場合、行動データが示すユーザを正常ユーザに分類する。なお、第2分類部103は、ユーザ名がホワイトリストに存在しない場合、ユーザを不正ユーザに分類してもよいし、正常ユーザ及び不正ユーザの何れでもないユーザとして分類してもよい。
 なお、ホワイトリストではなく、ブラックリストに関するルールが定められていてもよい。例えば、「ユーザ名がブラックリストにある場合に不正ユーザとする」といったルールが定められていてもよい。この場合、第2分類部103は、行動データのユーザ名に基づいて、ブラックリストに存在するか否かを判定する。第2分類部103は、ユーザ名がブラックリストに存在する場合、行動データが示すユーザを不正ユーザに分類する。なお、第2分類部103は、ユーザ名がブラックリストに存在しない場合、ユーザを正常ユーザに分類してもよいし、正常ユーザ及び不正ユーザの何れでもないユーザとして分類してもよい。
 また、文字に関する条件をルールとする場合、ユーザ名以外の文字がルールとして定められていてもよい。例えば、ユーザID、メールアドレス、又は住所などを示す文字をルールとして定めておいてもよい。この場合、第2分類部103は、行動データが示すユーザのユーザID、メールアドレス、又は住所などが所定の文字であるか否かを判定することによって、ルールに基づく分類を行えばよい。
[3-5.判定部]
 判定部104は、制御部11を主として実現される。判定部104は、ルールを満たす行動データに関する統計情報に基づいて、ルールを学習させるか否かを判定する。
 統計情報とは、ルールを満たす行動データの統計に関する情報であり、例えば、ルールを満たす行動データの数、又は、ルールを満たす行動データの分布である。分布は、行動データが示す値の分布であり、例えば、尖度、歪度、モーメント、密度、平均値、又は標準偏差などである。統計情報は、数や分布以外の統計的な情報であってもよく、例えば、数と分布を所定の計算式に代入して得られた評価値を用いてもよいし、行動データのヒストグラムの形状などであってもよい。
 ルールを学習させるとは、ルールによる行動データの分類結果に基づいて教師データを作成し、当該教師データを利用して機械学習モデルを学習させることである。例えば、ルールを満たす行動データに基づいて教師データが作成されてもよいし、これとは逆に、ルールを満たさない行動データに基づいて教師データが作成されてもよい。他にも例えば、ルールを満たすか否かに関係なく、行動データに基づいて教師データが作成されてもよい。なお、教師データは、人手で作成してもよいし、サーバ10などのコンピュータによって作成されてもよい。
 本実施形態では、ルールを満たす行動データを入力とし、当該ルールを満たした場合の分類結果(ルールの診断結果)を出力とする教師データが作成される場合を説明する。なお、機械学習モデルとは別に、特徴量を計算するアルゴリズムを用意する場合には、ルールを満たす行動データの特徴量を入力とし、当該ルールを満たした場合の分類結果(ルールの診断結果)を出力とする教師データが作成される。
 本実施形態では、複数のルールが存在するので、判定部104は、ルールごとに、当該ルールを満たす行動データに基づいて統計情報を取得し、当該ルールを学習させるか否かを判定する。判定部104は、統計情報が所定の統計を示さない場合には、ルールを学習させると判定せず、統計情報が所定の統計を示す場合に、ルールを学習させると判定する。
 所定の統計は、学習に向くと思われる統計であればよく、本実施形態では、下記に説明するように、ルールを満たす行動データの数が閾値以上であること、又は、ルールを満たす行動データの分布が所定の分布になることを例に挙げて説明する。
 例えば、判定部104は、統計情報に基づいて、ルールを満たす行動データの数が閾値以上であるか否かを判定する。判定部104は、ルールを満たす行動データの数が閾値未満である場合には、ルールを学習させると判定せず、ルールを満たす行動データの数が閾値以上である場合に、ルールを学習させると判定する。閾値は、固定値であってもよいし、可変値であってもよい。閾値を可変値とする場合には、ユーザが指定してもよいし、ルールの内容や行動データの総数などに応じて変化させてもよい。
 例えば、ルールIDが「r00001」のルールであれば、判定部104は、利用中心地からの距離が100km以上である行動データを集計して統計情報として取得し、当該集計した数が閾値以上であれば、ルールを学習させると判定する。また例えば、ルールIDが「r00002」のルールであれば、判定部104は、IPアドレスが日本ではない行動データを集計して統計情報として取得し、当該集計した数が閾値以上であれば、ルールを学習させると判定する。なお、本実施形態では、ルールIDが「r00003」のルールについては、学習対象フラグがオフなので、判定部104は、ルール3の統計情報は取得しない。
 図5は、ルールを満たす行動データが少ない場合の一例を示す図であり、図6は、ルールを満たす行動データが多い場合の一例を示す図である。なお、図5及び図6では、行動データがn次元のベクトルで示されており、n次元空間上に行動データをプロットした場合について説明する。このため、図5及び図6における小さな円は、行動データを示す。なお、図5及び図6では、ルールを満たす行動データの集合を「G」の符号で示している。これらの点は、後述する図7及び図8も同様である。
 例えば、図5に示すように、ルールを満たす行動データが比較的少ない場合には、教師データの分量も少なくなるので、行動データの特徴を学習させることが難しい。このため、判定部104は、ルールを満たす行動データを学習させないと判定する。一方、図6に示すように、ルールを満たす行動データが比較的多い場合には、教師データの分量が十分にあるので、行動データの特徴を学習させることが可能である。このため、判定部104は、ルールを満たす行動データを学習させると判定する。
 また例えば、判定部104は、統計情報に基づいて、ルールを満たす行動データの分布が所定の分布であるか否かを判定してもよい。判定部104は、ルールを満たす行動データの分布が所定の分布ではない場合には、ルールを学習させると判定せず、ルールを満たす行動データの分布が所定の分布である場合に、ルールを学習させると判定する。
 所定の分布とは、ルールを学習させるための条件である。ルールを満たす行動データの特徴が偏っている場合、行動データに共通の特徴が存在し、学習に向く可能性がある。このため、本実施形態では、行動データの特徴の偏り具合が所定の偏り以上であることが所定の分布に相当する場合を説明する。偏りは、バイアスと呼ばれることもある。
 分布の偏りは、任意の指標を用いて表現可能であり、例えば、尖度、歪度、分散、頻度、又はモーメントによって示される。判定部104は、分布の偏りを示すこれらの指標が所定範囲でない場合に、所定の分布ではないと判定し、当該指標が所定範囲である場合に、所定の分布であると判定する。本実施形態では、尖度を利用する場合を例に挙げて説明する。
 図7は、ルールを満たす行動データが偏っていない場合の一例を示す図であり、図8は、ルールを満たす行動データが偏っている場合の一例を示す図である。図7に示すように、ルールを満たす行動データが偏っておらず、分散している場合には、共通の特徴が存在しない可能性があるので、判定部104は、ルールを満たす行動データを学習させないと判定する。一方、図8に示すように、ルールを満たす行動データが偏っている場合には、共通の特徴が存在する可能性があるので、判定部104は、ルールを満たす行動データを学習させると判定する。
 なお、ルールリストLに格納された全てのルールが学習対象になってもよいが、本実施形態では、学習対象となるルールが指定され、ルールリストLには学習対象フラグが格納されるので、判定部104は、複数のルールのうち、学習対象として指定されたルールを満たす行動データに関する統計情報に基づいて、学習対象として指定されたルールを学習させるか否かを判定する。判定部104は、学習対象として指定されなかったルールについては、学習させないと判定する。
[3-6.第1評価部]
 第1評価部105は、制御部11を主として実現される。第1評価部105は、機械学習モデルにおけるルールの不確かさを評価する。ここでの機械学習モデルとは、第1分類部102が利用する機械学習モデルであり、ルールを学習させる前の既存の機械学習モデルである。
 不確かさとは、機械学習モデルによる分類結果と、ルールによる分類結果と、がどの程度一致しないかを示す指標である。別の言い方をすれば、不確かさは、機械学習モデルがルールと同じ分類結果を出力できる確率の低さである。不確かであるほど、機械学習モデルによる分類結果と、ルールによる分類結果と、が一致せず、確かであるほどこれらが一致する。不確かさは、機械学習モデルによる予測の確実性ということもできる。
 不確かさの評価方法は、機械学習モデルに応じた方法を利用すればよい。例えば、第1評価部105は、機械学習モデル及びルールの各々に、一定数の行動データを分類させ、これらの一致度に基づいて評価をしてもよい。一致度は、分類結果が一致した行動データの数であってもよいし、割合又は確率であってもよい。対象となる行動データは、行動データベースに格納された全ての行動データであってもよいし、一部の行動データであってもよい。一部の行動データとする場合には、ルールを満たす行動データだけであってもよいし、ランダムに選出された行動データであってもよい。
 第1評価部105は、一致度が閾値以上であれば、機械学習モデルにおけるルールが確かであると評価し、一致度が閾値未満であれば、機械学習モデルにおけるルールが不確かであると評価する。第1評価部105は、ルールリストLに格納された全てのルールについて不確かさを評価してもよいし、一部のルールについてだけ不確かさを評価してもよい。一部のルールについてだけ評価する場合には、第1評価部105は、判定部104により学習させると判定されたルールだけを評価してもよいし、学習対象フラグがオンになっているルールだけを評価してもよい。
[3-7.学習部]
 学習部106は、制御部11を主として実現される。学習部106は、判定部104により学習させると判定されたルールの学習処理を実行する。
 学習処理は、機械学習モデルを学習させるための処理であり、例えば、教師データを作成すること、及び、教師データに基づいて機械学習モデルのパラメータを調整することの少なくとも一方を意味する。例えば、学習部106は、判定部104により学習させると判定されたルールによる行動データの分類結果に基づいて、教師データを作成する。
 例えば、教師データは、行動データを入力とし、ルールによる分類結果を出力としてもよいし、行動データの特徴量を入力とし、ルールによる分類結果を出力としてもよい。学習部106は、当該作成された教師データに基づいて、学習処理を実行する。教師データを利用した学習方法自体は、教師有り機械学習で用いられる種々の手法を適用可能であり、学習部106は、教師データが示す結果が得られるように、機械学習モデルのパラメータを調整する。
 例えば、学習部106は、第1分類部102が利用中の機械学習モデルに、追加でルールを学習させる。第1分類部102が利用中の機械学習モデルは、他の教師データに基づいて学習済みの機械学習モデルであり、データ記憶部100に記憶された既存の機械学習モデルである。学習部106は、判定部104により学習させると判定されたルールに基づいて作成された教師データに基づいて、データ記憶部100に記憶された既存の機械学習モデルを追加学習させる。
 また例えば、学習部106は、新たな機械学習モデルに、ルールを学習させてもよい。新たな機械学習モデルは、第1分類部102が利用していない機械学習モデルであり、例えば、教師データに基づくパラメータの調整が行われていないモデルである。学習部106は、第1分類部102が利用する機械学習モデルの学習時に使用した教師データと、判定部104により学習させると判定されたルールに基づいて作成された教師データと、に基づいて、新たな機械学習モデルを学習させる。
 本実施形態では、学習部106は、第1評価部105の評価結果に基づいて、学習処理を実行する。例えば、学習部106は、第1評価部105の評価結果に基づいて、学習処理を実行するか否かを決定する。学習部106は、第1評価部105により不確かであるとの評価が得られない場合(即ち、確かであるとの評価が得られた場合)には、学習処理を実行せず、第1評価部105により不確かであるとの評価が得られた場合に、学習処理を実行する。即ち、学習部106は、第1評価部105により不確かであるとの評価が得られないルールについては、機械学習モデルで既に判断できる内容の可能性があるので、過学習を防止するために、当該ルールの学習処理は実行しないようにする。
 また例えば、学習部106は、第1評価部105の評価結果に基づいて、学習処理における学習係数を決定してもよい。学習部106は、第1評価部105により不確かであるとの評価が得られない場合の学習係数を、第1評価部105により不確かであるとの評価が得られた場合の学習係数よりも低くする。即ち、学習部106は、第1評価部105により不確かであるとの評価が得られない場合には、機械学習モデルで既に判断できる内容の可能性があるので、過学習を防止するために、第1評価部105により不確かであるとの評価が得られた場合よりも学習への影響を小さくする。
[3-8.除外部]
 除外部107は、制御部11を主として実現される。除外部107は、第1評価部105により不確かではないと評価されたルールが用いられないように除外する。第1評価部105により不確かではないと評価されたルールについては、機械学習モデルで既に判断できる内容の可能性があるので、除外部107は、ルールを除外することによって、行動データとの判定対象にならないようにする。
 除外とは、第2分類部103により参照されないようにすることであり、行動データと比較されないようにすることである。本実施形態では、ルールリストLからルールを削除することによって、ルールの除外が行われる場合を説明するが、除外するか否かを示す除外フラグを用意しておく場合には、特にルールリストLからルールを削除することなく、ルールの除外が行われてもよい。
 除外部107は、学習処理により学習されたルールが用いられないように除外してもよい。学習処理により学習されたルールについては、機械学習モデルで既に判断できる内容の可能性があるので、除外部107は、ルールを除外することによって、行動データとの判定対象にならないようにする。ただし、本実施形態では、除外部107は、後述する第2評価部108の評価に基づいて、学習済みのルールを本当に削除するか否かを決定する。例えば、除外部107は、第2評価部108により不確かであると評価された場合には、学習処理が実行されたルールを除外せず、第2評価部108により不確かであると評価された場合に、学習処理が実行されたルールを除外する。
[3-9.第2評価部]
 第2評価部108は、制御部11を主として実現される。第2評価部108は、学習処理によりルールが学習された機械学習モデルにおける当該ルールの不確かさを評価する。不確かさの評価方法は、機械学習モデルに応じた方法を利用すればよく、第1評価部105と同様の方法であってもよいし、第1評価部105とは異なる方法であってもよい。
 本実施形態では、第1評価部105の評価方法と第2評価部108の評価方法とが同じである場合を説明する。このため、第2評価部108は、学習処理によりルールが学習された機械学習モデル及び当該ルールの各々に、一定数の行動データを分類させ、これらの一致度に基づいて評価をしてもよい。第1評価部105は、一致度が閾値以上であれば、機械学習モデルにおけるルールが確かであると評価し、一致度が閾値未満であれば、機械学習モデルにおけるルールが不確かであると評価する。
[3-10.切替部]
 切替部109は、制御部11を主として実現される。切替部109は、第2評価部108の評価結果に基づいて、学習処理によりルールが学習された機械学習モデルに切り替える。例えば、切替部109は、第2評価部108により不確かであると評価された場合には、機械学習モデルを切り替えずに既存の機械学習モデルのまま運用し、第2評価部108により不確かであると評価されない場合に、機械学習モデルを切り替える。切替部109は、機械学習モデルを切り替える場合、データ記憶部100から古い機械学習モデルを削除し、学習部106により学習済みの機械学習モデルに置き換える。
[4.本実施形態において実行される処理]
 次に、学習システムSにおいて実行される処理について説明する。ここでは、ユーザを正常ユーザ又は不正ユーザに分類するための分類処理と、機械学習モデルにルールを学習させるための学習処理と、について説明する。
[4-1.分類処理]
 図9は、分類処理の一例を示すフロー図である。図9に示す分類処理は、制御部11,21が、それぞれ記憶部12,22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図2に示す機能ブロックにより実行される処理の一例である。なお、分類処理が実行されるにあたり、ユーザは、利用登録を済ませており、サーバ10にログイン済みであるものとする。
 図9に示すように、まず、ユーザ端末20において、制御部21は、ユーザがサーバ10のURLを指定した場合に、サーバ10に対し、アクセス要求を送信する(S100)。S100におけるアクセス要求には、ユーザが指定したURL、ユーザID、ユーザ名、及びユーザ端末20のIPアドレスが含まれているものとする。
 サーバ10においては、アクセス要求を受信すると、制御部11は、行動データを生成し、行動データベースDBに格納する(S101)。S101においては、制御部11は、行動データベースDBに新たなレコードを作成し、当該新たなレコードに、アクセス要求に含まれるユーザID、ユーザ名、IPアドレス、及びURLを格納する。また、制御部11は、IPアドレスから推測した場所をアクセス場所として格納し、リアルタイムクロックやGPS情報等を利用して取得した現在日時をアクセス日時として格納する。
 制御部11は、機械学習モデルに基づいて、S100で生成した行動データに関する分類を行う(S102)。S102においては、制御部11は、行動データを機械学習モデルに入力する。機械学習モデルは、入力された行動データの特徴量を計算し、当該特徴量に基づいて、正常ユーザ又は不正ユーザの何れであるかを分類する。制御部11は、機械学習モデルから出力された分類結果を取得し、行動データベースDBに格納する。
 制御部11は、ルールリストLが示すルールに基づいて、S103で生成した行動データに関する分類を行う(S103)。S103においては、制御部11は、ルールリストLが示すルールごとに、行動データが当該ルールを満たすか否かを判定する。制御部11は、ルールを満たすと判定した場合には、当該ルールに関連付けられた診断結果を行動データベースDBに格納する。行動データが満たさなかったルールについては、特に何も格納されなくてよい。S102又はS103の処理により不正ユーザと分類された場合には、管理者に電子メール等の通知が送信され、管理者の判断を仰ぐようにしてもよいし、ユーザに対して追加の認証を要求してもよい。
[4-2.学習処理]
 図10は、学習処理の一例を示すフロー図である。図10に示す学習処理は、制御部11が記憶部12に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図2に示す機能ブロックにより実行される処理の一例である。なお、学習処理が実行されるにあたり、管理者が作成したルールがルールデータベースに格納されているものとする。学習処理は、任意のタイミングで実行されるようにすればよく、例えば、管理者が所定の操作をした場合に実行されてもよいし、所定の日時が訪れた場合に実行されてもよい。
 図10に示すように、まず、制御部11は、ルールデータベースに基づいて、学習対象のルールを特定する(S200)。S200においては、制御部11は、ルールデータベースに格納された全てのルールの学習対象フラグを参照し、学習対象フラグがオンになっているルールを特定する。以降説明するS201~S208の処理は、学習対象のルールごとに実行される。
 制御部11は、行動データベースDBに基づいて、既存の機械学習モデルにおける学習対象のルールの不確かさを評価する(S201)。S201においては、制御部11は、行動データベースDBに格納された機械モデルの診断結果と、学習対象のルールの診断結果と、の一致度に基づいて、不確かさを評価する。ここでは、一致度が閾値以上であれば、確かであるとの評価が得られ、一致度が閾値未満であれば、不確かであるとの評価が得られる。
 学習対象のルールが確かであるとの評価が得られた場合(S201;確か)、ルールの内容が既存の機械学習モデルで判断できる可能性があるので、制御部11は、ルールリストLから学習対象のルールを除外し(S202)、S208の処理に移行する。このルールは、機械学習モデルに学習されない。
 一方、学習対象のルールが不確かであるとの評価が得られた場合(S201;不確か)、制御部11は、行動データベースDBに基づいて、学習対象のルールを満たす行動データの数を取得する(S203)。S203おいては、制御部11は、行動データベースDBのルール診断結果を参照し、学習対象のルールの分類結果が格納されている行動データをカウントする。なお、S203時点で、制御部11は、行動データベースDBに格納された行動データが学習対象のルールを満たすか否かを判定し(S103と同様の処理を実行し)、ルールを満たす行動データをカウントしてもよい。
 制御部11は、学習対象のルールを満たす行動データの数が閾値以上であるか否かを判定する(S204)。学習対象のルールを満たす行動データの数が閾値以上であると判定された場合(S204Y)、制御部11は、当該ルールを満たす行動データに基づいて、教師データを作成する(S205)。S205においては、制御部11は、ルールを満たす行動データ又は当該行動データの特徴量を入力とし、ルールによる分類結果を出力とする教師データを作成する。
 一方、学習対象のルールを満たす行動データの数が閾値以上であると判定されない場合(S204;N)、制御部11は、行動データベースDBに基づいて、学習対象のルールを満たす行動データの分布を取得する(S206)。S206においては、制御部11は、学習対象のルールを満たす行動データの尖度を計算する。なお、先述したように、尖度以外に任意の指標を利用可能であり、例えば、歪度又はモーメントを利用してもよい。
 制御部11は、学習対象のルールを満たす行動データの分布が所定の分布であるか否かを判定する(S207)。S207においては、制御部11は、S206で計算した尖度が閾値以上であるか否かを判定する。制御部11は、尖度が閾値以上であれば、分布が偏っているので所定の分布であると判定し、尖度が閾値未満であれば、分布が偏っていないので所定の分布であると判定しない。
 学習対象のルールを満たす行動データの分布が所定の分布であると判定された場合(S207;Y)、S205の処理に移行し、教師データが作成される。一方、学習対象のルールを満たす行動データの分布が所定の分布であると判定されない場合(S207;N)、制御部11は、学習対象の全てのルールについて、処理を実行したか否かを判定する(S208)。
 学習対象の全てのルールについて処理を実行したと判定されない場合(S208;N)、S201の処理に戻り、まだ判定されていないルールについての処理が実行される。一方、学習対象の全てのルールについて処理を実行したと判定された場合(S208;Y)、制御部11は、S205の処理で作成した教師データに基づいて、機械学習モデルの学習処理を実行し(S209)、検証モードに移行する(S210)。
 検証モードは、既存の機械学習モデルと、S209で学習処理をした機械学習モデルと、を共存させるモードである。この場合、分類処理のS102では、これら両方の機械学習モデルによる分類が行われてもよいし、所定の確率のもとで何れかの機械学習モデルが選択されてもよい。検証モードは、一定の期間継続される。一定期間経過後に、以降の処理が実行される。
 制御部11は、検証中の機械学習モデルが不確かであるか否かを判定する(S211)。S211の処理は、S202と同様であるが、既存の機械学習モデルの診断結果ではなく、S209で学習させた機械学習モデルの診断結果が参照される点でS202とは異なる。
 検証中の機械学習モデルが不確かであると判定された場合(S211;不確か)、制御部11は、機械学習モデルを切り替えず(S212)、本処理を終了する。この場合、学習処理により学習させたはずのルールがうまく機械学習モデルに学習されなかったので、検証中の機械学習モデルは適用されず、既存の機械学習モデルに戻される。この場合、ルールは削除されずに残ったままとなる。
 一方、検証中の機械学習モデルが確かであると判定された場合(S211;確か)、制御部11は、機械学習モデルを切り替えて(S213)、ルールリストLから学習済みのルールを除外する(S214)。以降、検証モードが終了し、S213において切替られた機械学習モデルに基づいて、分類処理のS102の処理が実行される。
 本実施形態の学習システムSによれば、ルールを満たすデータに関する統計情報に基づいて、ルールを学習させるか否かを判定し、学習させると判定されたルールの学習処理を実行する。これにより、学習に向くルールを統計的な観点で絞りこんで学習させ、機械学習モデルの精度を向上させてルールの数を減らすことができる。例えば、ルールの数が多くなると、行動データとルールを比較する処理を数多く実行しなければならないので、サーバ10の処理負荷が増大し、分類結果が決定されるまでにより多くの時間を要することになるが、ルールの数を減らすことで、行動データとルールを比較する処理を減らし、サーバ10の処理負荷を軽減し、処理速度を向上させることができる。更に、ルールを減らすことによるサーバ10のメモリ容量削減も図ることができる。
 また、ルールを満たすデータの数が閾値未満である場合には、ルールを学習させると判定せず、ルールを満たすデータの数が閾値以上である場合に、ルールを学習させると判定することで、学習に十分な量のデータがないにも関わらず学習処理が実行されることを防止することができる。これにより、機械学習モデルの精度が低下することを防止することができる。
 また、ルールを満たすデータの分布が所定の分布ではない場合には、ルールを学習させると判定せず、ルールを満たすデータの分布が所定の分布ではない場合には、ルールを学習させると判定することで、学習に適した分布ではないにも関わらず学習処理が実行されることを防止することができる。これにより、機械学習モデルの精度が低下することを防止することができる。
 また、機械学習モデルにおけるルールの不確かさを評価して学習処理を実行することで、機械学習モデルが十分に判断できる内容のルールが学習されることを防止することができる。これにより、機械学習モデルの過学習を防止できる。例えば、不確かではないとの評価が得られたルールについては学習させず、不確かであるとの評価が得られたルールを学習させることで、機械学習モデルが判断できない内容のルールを学習させ、機械学習モデルの精度を効果的に高めることができる。
 また、不確かではないと評価されたルールについては、機械学習モデルが判断できる可能性があるので、このようなルールについては、分類で用いられないように除外することで、ルールの数を効果的に減らすことができる。その結果、データとの比較対象となるルールを削減し、サーバ10の処理負荷を効果的に軽減し、処理速度を効果的に向上させることができる。
 また、学習処理により学習されたルールについては、機械学習モデルで判断可能になっている可能性があるので、このルールが用いられないように除外することにより、ルールの数を効果的に減らすことができる。その結果、データとの比較対象となるルールを削減し、サーバ10の処理負荷を効果的に軽減し、処理速度を効果的に向上させることができる。
 また、ルールを学習させた後にすぐに機械学習モデルを切り替えるのではなく、ルールが学習された機械学習モデルにおけるルールの不確かさの評価結果に基づいて、ルールが学習された機械学習モデルに切り替えることで、機械学習モデルの精度の低下を防止することができる。
 また、全てのルールを機械学習モデルに学習させるのではなく、学習対象として指定されたルールを学習させることにより、不要なルールが学習されることを防止し、機械学習モデルの精度の低下を防止することができる。
 また、ユーザの行動に関する行動データに関する分類を行うことで、ユーザの行動を分類する精度を高めることができる。
[5.変形例]
 なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
 例えば、実施形態では、ルールを満たす行動データの数と、ルールを満たす行動データの分布と、の両方に基づいて、ルールを学習させるか否かが決定される場合を説明したが、これらの何れか一方だけに基づいて、ルールを学習させるか否かが決定されてもよい。また例えば、数及び分布以外の統計情報に基づいて、ルールを学習させるか否かが決定されてもよい。また例えば、ルールの不確かさの評価を実行する処理は、省略してもよい。また例えば、学習処理により学習されたルールを除外する場合を説明したが、特に除外せず、ルールが参照される頻度を減らしてもよい。また例えば、一定期間の検証モードを設ける場合を説明したが、特に検証モードは設けなくてもよい。また例えば、学習対象となるルールが指定される場合を説明したが、特に指定が行われず、全てのルールが学習対象となってもよい。
 また例えば、実施形態では、ウェブサイトにアクセスしたユーザの不正を検知する場合について説明したが、学習システムSは、データに関する分類が行われる場合に適用可能であり、他の場面に適用してもよい。例えば、ユーザの不正を検知する場面以外の場面にも学習システムSを適用可能であり、自然言語処理、機械翻訳、文章変換、又はチャットボットなどの機械学習モデルが用いられる場合にも、ルールを学習させるか否かを判定してもよい。
 また例えば、ユーザがインターネット上で商品を購入する場合の不正行為を検出する場面に学習システムSを適用してもよい。この場合、サーバ10は、オンラインショッピングモールのウェブサイトをユーザに提供する。ユーザは、利用登録を行い、カード番号などの決済情報を予めサーバ10に登録しているものとする。決済情報としては、商品を購入した店舗の店舗ID、店舗名、商品の商品ID、商品名、数量、決済金額、及びカード番号といった情報が含まれるようにしてもよい。例えば、ユーザが商品を購入すると、サーバ10は、ユーザの決済情報などを含む行動データを生成する。管理者は、ルールとして、決済金額や配送先住所などに関する条件を指定可能である。学習システムSは、ユーザの決済情報などを含む行動データに基づいて、ルールを満たすか否かを判定する。学習システムSは、ルールを満たす行動データに関する統計情報に基づいて、ルールを学習させるか否かを判定すればよい。この判定処理や学習処理の詳細については、実施形態で説明した通りである。
 また例えば、行動データに関する分類が行われる場合を説明したが、ユーザの行動以外のデータに関する分類が行われてもよい。例えば、機械学習モデルやルールを利用して、画像データに撮影された被写体を分類する場面に学習システムSを用いてもよい。また例えば、機械学習モデルやルールを利用して、気象データが示す温度や湿度などに基づいて天候を分類する場面に学習システムSを用いてもよい。また例えば、機械学習モデルやルールを利用して、文章データの要約を作成する画面に学習システムSを用いてもよい。他にも、任意の内容のデータに関する分類をする場面に学習システムSを適用可能である。
 また例えば、主な機能がサーバ10で実現される場合を説明したが、各機能は、複数のコンピュータで分担されてもよい。例えば、サーバ10、ユーザ端末20、及び管理者端末30の各々で機能が分担されてもよい。例えば、分類などの処理がサーバ10で実行されるのではなく、ユーザ端末20又は管理者端末30で実行されてもよい。また例えば、学習システムSが複数のサーバコンピュータを含む場合には、これら複数のサーバコンピュータで機能が分担されてもよい。また例えば、データ記憶部100で記憶されるものとして説明したデータは、サーバ10以外のコンピュータによって記憶されてもよい。

Claims (11)

  1.  機械学習モデルに基づいて、データに関する分類を行う第1分類手段と、
     所定のルールに基づいて、前記データに関する分類を行う第2分類手段と、
     前記ルールを満たすデータに関する統計情報に基づいて、前記ルールを学習させるか否かを判定する判定手段と、
     前記判定手段により学習させると判定されたルールの学習処理を実行する学習手段と、
     を含むことを特徴とする学習システム。
  2.  前記統計情報は、前記ルールを満たすデータの数を示し、
     前記判定手段は、
     前記ルールを満たすデータの数が閾値未満である場合には、前記ルールを学習させると判定せず、
     前記ルールを満たすデータの数が前記閾値以上である場合に、前記ルールを学習させると判定する、
     ことを特徴とする請求項1に記載の学習システム。
  3.  前記統計情報は、前記ルールを満たすデータの分布を示し、
     前記判定手段は、
     前記ルールを満たすデータの分布が所定の分布ではない場合には、前記ルールを学習させると判定せず、
     前記ルールを満たすデータの分布が前記所定の分布である場合に、前記ルールを学習させると判定する、
     ことを特徴とする請求項1又は2に記載の学習システム。
  4.  前記学習システムは、前記機械学習モデルにおける前記ルールの不確かさを評価する評価手段を更に含み、
     前記学習手段は、前記評価手段の評価結果に基づいて、前記学習処理を実行する、
     ことを特徴とする請求項1~3の何れかに記載の学習システム。
  5.  学習システムは、前記評価手段により不確かではないと評価されたルールが用いられないように除外する除外手段を更に含む、
     ことを特徴とする請求項4に記載の学習システム。
  6.  前記学習システムは、前記学習処理により学習されたルールが用いられないように除外する除外手段を更に含む、
     ことを特徴とする請求項1~5の何れかに記載の学習システム。
  7.  前記学習システムは、
     前記学習処理によりルールが学習された機械学習モデルにおける当該ルールの不確かさを評価する評価手段と、
     前記評価手段の評価結果に基づいて、前記学習処理によりルールが学習された機械学習モデルに切り替える切替手段と、
     を更に含むことを特徴とする請求項1~6の何れかに記載の学習システム。
  8.  前記第2分類手段は、複数の前記ルールの各々に基づいて、前記データに関する分類を行い、
     前記学習システムは、前記複数のルールのうち、学習対象となるルールの指定を受け付ける受付手段を更に含み、
     前記判定手段は、前記複数のルールのうち、前記学習対象として指定されたルールを満たすデータに関する統計情報に基づいて、前記学習対象として指定されたルールを学習させるか否かを判定する、
     ことを特徴とする請求項1~7の何れかに記載の学習システム。
  9.  前記データは、ユーザの行動に関する行動データであり、
     前記機械学習モデルは、不正ユーザであるか否かを分類するための機械学習モデルであり、
     前記ルールは、不正ユーザであるか否か分類するためのルールである、
     ことを特徴とする請求項1~8の何れかに記載の学習システム。
  10.  機械学習モデルに基づいて、データに関する分類を行う第1分類ステップと、
     所定のルールに基づいて、前記データに関する分類を行う第2分類ステップと、
     前記ルールを満たすデータに関する統計情報に基づいて、前記ルールを学習させるか否かを判定する判定ステップと、
     前記判定ステップにより学習させると判定されたルールの学習処理を実行する学習ステップと、
     を含むことを特徴とする学習方法。
  11.  機械学習モデルに基づいて、データに関する分類を行う第1分類手段、
     所定のルールに基づいて、前記データに関する分類を行う第2分類手段、
     前記ルールを満たすデータに関する統計情報に基づいて、前記ルールを学習させるか否かを判定する判定手段、
     前記判定手段により学習させると判定されたルールの学習処理を実行する学習手段、
     としてコンピュータを機能させるためのプログラム。
PCT/JP2019/014212 2019-03-29 2019-03-29 学習システム、学習方法、及びプログラム WO2020202327A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US17/056,413 US20210216910A1 (en) 2019-03-29 2019-03-29 Learning system, learning method, and program
EP19922572.3A EP3783543A4 (en) 2019-03-29 2019-03-29 LEARNING SYSTEM, LEARNING PROCEDURE AND PROGRAM
PCT/JP2019/014212 WO2020202327A1 (ja) 2019-03-29 2019-03-29 学習システム、学習方法、及びプログラム
JP2019563306A JP6706397B1 (ja) 2019-03-29 2019-03-29 学習システム、学習方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/014212 WO2020202327A1 (ja) 2019-03-29 2019-03-29 学習システム、学習方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2020202327A1 true WO2020202327A1 (ja) 2020-10-08

Family

ID=70858109

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/014212 WO2020202327A1 (ja) 2019-03-29 2019-03-29 学習システム、学習方法、及びプログラム

Country Status (4)

Country Link
US (1) US20210216910A1 (ja)
EP (1) EP3783543A4 (ja)
JP (1) JP6706397B1 (ja)
WO (1) WO2020202327A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7302107B1 (ja) * 2022-01-07 2023-07-03 楽天グループ株式会社 学習システム、学習方法、及びプログラム
TWI836840B (zh) 2022-01-07 2024-03-21 日商樂天集團股份有限公司 學習系統、學習方法及程式產品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170069A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Transforming rules into generalized rules in a rule management system
US20160364810A1 (en) * 2015-06-09 2016-12-15 Linkedin Corporation Hybrid classification system
CN106506454A (zh) * 2016-10-10 2017-03-15 江苏通付盾科技有限公司 欺诈业务识别方法及装置
WO2019049210A1 (ja) 2017-09-05 2019-03-14 楽天株式会社 推定システム、推定方法及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289025A1 (en) * 2010-05-19 2011-11-24 Microsoft Corporation Learning user intent from rule-based training data
US9594907B2 (en) * 2013-03-14 2017-03-14 Sas Institute Inc. Unauthorized activity detection and classification
US11063836B2 (en) * 2017-03-21 2021-07-13 Cisco Technology, Inc. Mixing rule-based and machine learning-based indicators in network assurance systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150170069A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Transforming rules into generalized rules in a rule management system
US20160364810A1 (en) * 2015-06-09 2016-12-15 Linkedin Corporation Hybrid classification system
CN106506454A (zh) * 2016-10-10 2017-03-15 江苏通付盾科技有限公司 欺诈业务识别方法及装置
WO2019049210A1 (ja) 2017-09-05 2019-03-14 楽天株式会社 推定システム、推定方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3783543A4

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7302107B1 (ja) * 2022-01-07 2023-07-03 楽天グループ株式会社 学習システム、学習方法、及びプログラム
WO2023132054A1 (ja) * 2022-01-07 2023-07-13 楽天グループ株式会社 学習システム、学習方法、及びプログラム
TWI836840B (zh) 2022-01-07 2024-03-21 日商樂天集團股份有限公司 學習系統、學習方法及程式產品

Also Published As

Publication number Publication date
US20210216910A1 (en) 2021-07-15
EP3783543A1 (en) 2021-02-24
EP3783543A4 (en) 2021-10-06
JP6706397B1 (ja) 2020-06-03
JPWO2020202327A1 (ja) 2021-04-30

Similar Documents

Publication Publication Date Title
US11023823B2 (en) Evaluating content for compliance with a content policy enforced by an online system using a machine learning model determining compliance with another content policy
US10432562B2 (en) Reducing photo-tagging spam
US9959412B2 (en) Sampling content using machine learning to identify low-quality content
US10599774B1 (en) Evaluating content items based upon semantic similarity of text
US10936952B2 (en) Detecting content items in violation of an online system policy using templates based on semantic vectors representing content items
CN105051719B (zh) 用于使得众包内容动态失效的装置和方法
US11195099B2 (en) Detecting content items in violation of an online system policy using semantic vectors
CN108491720B (zh) 一种应用识别方法、系统以及相关设备
CN110019790B (zh) 文本识别、文本监控、数据对象识别、数据处理方法
CN105894028B (zh) 用户识别方法和装置
CN108985048B (zh) 模拟器识别方法及相关装置
CN108932646B (zh) 基于运营商的用户标签验证方法、装置和电子设备
CN109583228B (zh) 一种隐私信息管理方法、装置和系统
CN112231592A (zh) 基于图的网络社团发现方法、装置、设备以及存储介质
CN111324370A (zh) 用于对待上线小程序进行风险处理的方法及装置
WO2018068664A1 (zh) 网络信息识别方法和装置
JP7015927B2 (ja) 学習モデル適用システム、学習モデル適用方法、及びプログラム
WO2020202327A1 (ja) 学習システム、学習方法、及びプログラム
CN113763057A (zh) 用户身份画像的数据处理方法和装置
CN115329214A (zh) 一种用户推荐方法、装置、电子设备及存储介质
CN115311022A (zh) 一种广告流量识别方法、装置及计算机可读存储介质
KR101323535B1 (ko) 전자상거래 사이트의 신뢰도 계산 방법
CN111860655A (zh) 用户的处理方法、装置和设备
US20240005034A1 (en) Sensitive information disclosure prediction system for social media users and method thereof
CN113868438B (zh) 信息可信度的校准方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019563306

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19922572

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019922572

Country of ref document: EP

Effective date: 20201119

NENP Non-entry into the national phase

Ref country code: DE