WO2016085042A1 - Card use pattern analysis method for predicting type of business used, and server for performing same - Google Patents

Card use pattern analysis method for predicting type of business used, and server for performing same Download PDF

Info

Publication number
WO2016085042A1
WO2016085042A1 PCT/KR2015/001297 KR2015001297W WO2016085042A1 WO 2016085042 A1 WO2016085042 A1 WO 2016085042A1 KR 2015001297 W KR2015001297 W KR 2015001297W WO 2016085042 A1 WO2016085042 A1 WO 2016085042A1
Authority
WO
WIPO (PCT)
Prior art keywords
card
industry
user
hash function
probability
Prior art date
Application number
PCT/KR2015/001297
Other languages
French (fr)
Korean (ko)
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 CN201580064437.4A priority Critical patent/CN107004221B/en
Publication of WO2016085042A1 publication Critical patent/WO2016085042A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/03Credit; Loans; Processing thereof

Definitions

  • the present invention relates to a card usage pattern analysis method for predicting a usage industry and a card company server performing the same. More particularly, the grouping of users is performed through a plurality of hash function groups, and the suffix tree and Bayes' theorem are managed. The present invention relates to a method of quickly analyzing a card use pattern and using the result, and a card company server performing the same.
  • a payment method using a card is one of the most commonly used payment methods in addition to cash payment, and various types of cards such as check cards, credit cards, and debit cards are used.
  • Each card company conducts a kind of CRM (Customer Relationship Management) that analyzes the customer's payment information for customer management and recommends cards for the industries that customers frequently use.
  • Algorithms such as Nearest Neighbor (K-NN) and K-Means have been used as a method of clustering information.
  • the present invention aims to solve the above-mentioned problems of the prior art.
  • An object of the present invention is to more accurately predict the probability for each of the industries to be used in the future based on the industries previously used by the user.
  • Another object of the present invention is to provide card product recommendation information suitable for the user based on the probability calculated for the user's future use.
  • Another object of the present invention is to detect card misuse based on the probability calculated for the user's future use.
  • an embodiment of the present invention in the card usage pattern analysis method for predicting the use industry of the card user, collecting the card use industry information from a plurality of users; Constructing at least one hash function group, the at least one hash function group comprising at least one hash function; Calculating a hash value of the card type information for each hash function and extracting a minimum value among the hash function; For each hash function group, generating a clustering key based on the minimum values; Grouping the plurality of users using the clustering key; And predicting a future usage type of a card user by using the grouping information.
  • the grouping step may further include constructing a use path for each industry type included in each group classified for each clustering key as a suffix tree.
  • the suffix tree may set weights of the use paths according to the frequency of use of each type of business.
  • the using industry prediction step may include: extracting a plurality of users having a similar industry usage pattern to a target user who is a use industry prediction target; Calculating a prior probability on the usage history of each of the extracted users; And using the Bayes' theorem, calculating a probability of industries that may be used in the future, based on the previously used industry information of the target user.
  • the method of analyzing a card usage pattern may include accumulating an abnormal value when the user uses a card in an industry in which the future use probability is less than a certain value, and determines that the user uses the card as a fraud when the card reaches a certain value. can do.
  • the grouping step may include distributing data processing to a plurality of processing units in generating a user group for each of the clustering keys by performing a Map-Reduce operation.
  • the method of analyzing a card use pattern may further include recommending a card product including a benefit for the industry based on the predicted use industry.
  • a card company server for analyzing a user's card usage pattern, Card usage information collection unit for collecting card use industry information from a plurality of users; A hash function group constructing unit for constructing at least one hash function group including at least one hash function; Computing a hash value for the card-use industry information for each hash function and extracting a minimum value among the hash function, generating a clustering key for each hash function group based on the extracted minimum values, and using the generated clustering key to a plurality of users.
  • a map reducer for performing grouping on the apparatus;
  • a suffix tree construction unit for constructing a use path for each industry type included in each grouped by the clustering key as a suffix tree;
  • a usage probability calculation unit for each industry type that calculates a use probability for a future use industry based on information on a previous use industry of the target user to be analyzed.
  • the suffix tree building unit may set weights for the use paths according to the frequency of use of each type of business.
  • the use probability prediction unit for each industry type extracts a plurality of users having similar usage patterns to the target user, calculates a prior probability of the usage history of each of the extracted users, and uses the Bayes' theorem to calculate the use probability of the target user. Can be calculated
  • the card company server may further include a card product recommendation unit for providing card product recommendation information to the user based on the calculated use probability for each industry type.
  • the card company server based on the calculated use probability for each type of industry, when the user uses the card in the industry that the use probability is a certain value or less, accumulate an abnormal value for this if the abnormal value reaches a certain value of the corresponding user
  • the apparatus may further include a fraud detection unit for determining a card usage as fraudulent usage.
  • the map reducer may be configured to distribute data processing necessary for performing user grouping to a plurality of processing units.
  • the Bayes theorem may calculate the use probability of each industry based on the industry information previously used by the user.
  • the card product information based on the probability calculated for the user's future use industry, it is possible to provide the card product information with a great benefit to the user, it is possible to detect that the user's card is used for fraudulent use have.
  • FIG. 1 is a diagram schematically illustrating a card use pattern analysis system according to an embodiment of the present invention.
  • FIG. 2 illustrates a process of hashing an industry code of an industry in which a user has made a payment using a card, and a process of generating a clustering key through a corresponding hash value according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram illustrating a grouping method of users through a Min-Hash algorithm according to an embodiment of the present invention.
  • FIG. 4 is a diagram briefly showing a suffix tree constructed according to an embodiment of the present invention.
  • FIG. 5 is a block diagram showing the internal configuration of a card company server according to an embodiment of the present invention.
  • FIG. 1 is a diagram schematically illustrating a card use pattern analysis system according to an embodiment of the present invention.
  • the user may include a card 100, affiliated stores 200 and card company server 300.
  • Card 100 may mean any card that the user can directly pay through the card, such as credit card, check card, debit card.
  • the card 100 may be in the form of a magnetic card, IC card, mobile card, RF card.
  • Merchant 200 may have a CAT terminal, POS terminal or other payment performing device that can perform payment through the user's card 100, through the card company server 300 Can communicate with. Communication between the terminal of the affiliated store 200 and the card company server 300 may be performed through a VAN company server.
  • Merchant 200 may be classified into a plurality of industries on the card company server (300).
  • the card company may classify each affiliate store 200 into a convenience store, a restaurant, a large mart, mobile communication, a coffee shop, a hospital, an academy, and the like.
  • benefits such as discounts, points earned.
  • the card company server 300 may assign a code for each industry to manage the industry classification of the affiliated store 200 as described above.
  • Industry type codes may be configured in various forms, but in the present invention will be described on the assumption that it is composed of four digits for convenience of description.
  • the card company server 300 manages the payment history of the card 100 of a plurality of users, and manages the business type code of the affiliated store 200 in which payment is performed through each card 100. For example, four users may be described. As shown in Table 1 below, usage history of each user may be summarized.
  • the business type code information may be managed in the order in which each user performs payment in each affiliate store 200.
  • the card company server 300 may analyze the user's card usage pattern based on such information, and may predict a future usage industry of the affiliate store 200 for each user to perform the next payment.
  • Min-Hash algorithm is an algorithm that groups users through the minimum value of hash values, which is a unique reduction value generated when hashing data.
  • the hash may mean that the data is changed to another shape and used for various purposes.
  • the hash function used to perform hashing may be a one-way hash function.
  • One-way hash function has a characteristic that the contents of the original data are unknown through the unique value (hash value) generated when the original data is hashed using the hash function. Also, if the original data is the same, the hash values generated through the same hash function are the same, but the identity of the original data to the same hash value is not guaranteed.
  • the hash algorithms used by the card company server 300 disclosed in the present invention may be verified hash algorithms selected from a group of Secure Hash Algorithm (SHA) functions, but may be composed of algorithms that the card company server 300 arbitrarily generates. .
  • SHA Secure Hash Algorithm
  • the card company server 300 may generate a hash function group including at least one hash function.
  • a plurality of hash function groups may be set.
  • the present invention will be described on the assumption that two hash function groups are implemented on the card company server 300, and each hash function group includes two hash functions. Let's do it.
  • Equation 1 When two hash function groups configured on the card company server 300 are referred to as q1 and q2 and the hash functions are referred to as h1 to h4, q1 may include h1 and h2 and q2 may include h3 and h4. It may be expressed as Equation 1.
  • the hash functions disclosed in the present invention may be configured in the form of Equation 2, respectively.
  • Equation 3 the hash functions of h1 to h4 may be configured as in Equation 3 below.
  • the card company server may obtain a hash value corresponding to each business type code by substituting the business type code of the affiliated store 200 that has settled the users in each hash function corresponding to h1 to h4.
  • the card company server 300 obtains a hash value for each industry code by performing the above calculation for each industry code of the industry in which each user has made a payment. The results can be found in the table shown in FIG.
  • FIG. 2 illustrates a process of hashing a business type code of an industry in which a user has made a payment using a card 100 according to an embodiment of the present invention, and a process of generating a clustering key through a corresponding hash value.
  • an industry type code of an affiliated store 200 in which four users have made a payment is displayed, and a hash value calculated by assigning each industry type code to a hash function of h1 to h4 is displayed.
  • a hash value calculated by assigning each industry type code to a hash function of h1 to h4 is displayed.
  • FIG. 2A corresponding to the first user, an industry code corresponding to 4063 and 4012 is included.
  • the two industry codes are different from each other, but the hash value calculated by h1 is equal to 5, and the hash value calculated by h2 is different from each other by 1 and 6.
  • Min-hash algorithm used by the card company server 300 of the hash value calculated through the function for each hash function used in the process of each user hashing the industry code of the merchant 200 using the card 100 The minimum value can be extracted. The minimum value thus extracted is shaded in the table shown in FIG. 2.
  • a clustering key of 00010000 is generated in a hash function group corresponding to q1 for the first user. do.
  • a clustering key of 00010000 is generated by combining 1, which is the minimum value of the hash value generated by h1, and 0, which is the minimum value of the hash value generated by h2.
  • a clustering key called 00050006 is generated in the hash function group corresponding to q2 for the first user. In the same manner, two clustering keys are generated for each of the second to fourth users.
  • the clustering key is a value used as a criterion for classifying users in the present invention, and users having the same clustering key are included in the same group. Since the clustering key is generated by the number of hash function groups randomly set by the card company server 300, each user can belong to the same group as the number of hash function groups.
  • FIG. 3 is a schematic diagram illustrating a grouping method of users through a Min-Hash algorithm according to an embodiment of the present invention.
  • FIG. 3 a process of grouping first to fourth users through the clustering key calculated in FIG. 2 may be seen.
  • a clustering key corresponding to 00010000 combines a first user, a third user, and a fourth user into one group
  • a clustering key corresponding to 00030002 includes one third user and a fourth user. Will be grouped together. For each clustering key corresponding to the remaining 000050001, 00050002, 00050006, only one user will be included in the group.
  • the probability that each clustering key has a unique value increases, so the number of users included in one group may decrease.
  • the card company server 300 may use Hadoop, which is a platform for processing big data, in grouping users using the clustering key as described above.
  • Hadoop is a platform that distributes and processes data processing tasks through a plurality of data processing systems in order to efficiently process huge amounts of data such as big data.
  • Hadoop is composed of Hadoop Distributed File System (HDFS) and Map-Reduce algorithm.
  • HDFS Hadoop Distributed File System
  • Map-Reduce algorithm Map-Reduce algorithm
  • the map reduce algorithm may perform a mapping operation and a reduce operation.
  • the card company server 300 extracts the clustering key of each user through the minimum value of the hash value of the merchant 200 code that the user performed the payment through the mapping operation, the user for each clustering key through the reduce operation Grouping of can be performed.
  • the card company server 300 implements the Min-Hash algorithm through the mapping operation
  • the card company server 300 is distributed to the processing unit for processing the mapping information of each user to provide the processing.
  • Each processing unit may calculate an industry type code corresponding to an affiliated business type in which each user has settled the payment, into a hash value, and generate a clustering key for each hash function group.
  • the card company server 300 extracts the minimum value of the hash value calculated by substituting the user's industry use information into each hash function, and in the case where a plurality of hash functions exist, combining the extracted minimum values to generate a clustering key.
  • user information may be distributed and processed in a plurality of processing units included in or connected to the card company server 300 and then grouped through a reduce operation.
  • the user is limited to four users, but in order to process the data for the number of members existing in each card company in one system, a system having a high function such as a super computer is required, or There was a problem that takes a long time. Therefore, by distributing user data in a plurality of processing units included in the card company server 300 or connected to the card company server 300 as described above, the data processing speed can be improved. According to an embodiment of the present invention, as the data processing speed increases, the user may predict a type of business of the affiliate store 200 to perform future payments and recommend a card having a benefit for the type of business to the user in real time.
  • the card company server 300 performs a reduce operation based on the data for which mapping is completed, and performs grouping based on the clustering key derived for each user. Referring to FIG. 3, the process from (b) to (c) is processed by the reduce operation.
  • the card company server 300 may then establish a suffix tree of a usage path for each type of business included in each group classified by the clustering key.
  • a suffix tree is an index data structure that allows you to search for a string through the suffixes that it contains. It can be used as a tool to detect whether a pattern of a specific string exists in the suffix tree.
  • FIG. 4 is a diagram briefly showing a suffix tree constructed according to an embodiment of the present invention.
  • the card company server 300 may generate information on user groups based on the clustering key through a mapping operation and a reduce operation.
  • the card company server 300 may construct a usage path of each user's industry in the form of a suffix tree for each group grouped by users having the same clustering key.
  • the first user may have used the card 100 in ABCD sector order, and the second user may use AFBC.
  • Card 100 may be used in order of industry.
  • the card company server 300 may build the suffix tree shown in FIG. 4 based on the card use industry paths of the first and second users.
  • the suffix of the string that is, the suffix D, CD, BCD, ABCD
  • the suffixes of this character string may be C, B-C, F-B-C, and A-F-B-C.
  • the card company server 300 constructs the suffix tree based on the list of the suffixes of the string representing the industry type order used by each user.
  • each circle is called a node and includes industry type information as described on the drawing.
  • the line connecting each node may indicate an order of use by industry.
  • the furnaces derived from the top (Root node) of the suffix tree may have values of A, BC, CD, D, FB, and C, respectively.
  • nodes having a value of BCD and FBC are derived, and nodes having a value of D are derived from a node corresponding to BC.
  • node A the sectors that can be arranged after A, as shown in ABCD and AFBC, are BCD and FBC, so corresponding nodes can be derived.
  • BC node ABCD is followed by D.
  • AFBC only nodes corresponding to D may be derived.
  • a time required for searching for a usage path for each industry type can be shortened. That is, when searching for a usage path for each industry by using a suffix tree, a search may be performed at a speed of O (n). For example, assuming that a user searches for the previous five industries used by a particular user, even in the worst case, the pattern may be searched with only five accesses.
  • the card company server 300 may assign a weight to a node corresponding to a type of business frequently used by a user included in a group based on building a suffix tree.
  • the weights given to the nodes constituting the suffix tree may be applied to the probability calculation in the use industry prediction to be described later.
  • the card company server 300 may predict an industry of the affiliate store 200 to which the user will later pay by analyzing a previous user's card usage pattern based on the established suffix trees.
  • the card company server 300 may select a user that is the target of the use industry forecast, hereinafter the selected user will be referred to as the target user do.
  • the target user is selected as a user who has recently made a payment through the card 100, and then the use industry prediction is performed in real time on the card company server 300, and within a predetermined time after the user performs payment
  • the card product recommendation message according to the usage industry prediction may be transmitted to the corresponding user.
  • the card company server 300 may then search for all the usage paths for each type of business in the group to which the target user belongs, and extract a predetermined number of users that show a card use pattern similar to the target user.
  • Jaccard Similarity in determining the similarity between the card usage pattern of the target user and the card use pattern of the other users, Jaccard Similarity, Pearson Correlation, Cosine Similarity, and the like may be used.
  • the card company server 300 may use Bayes' theorem to predict the type of business of the target user. Looking briefly at Bayesian theorem, this is to obtain the probability of the desired hypothesis through the prior value and the probability value that changes according to the addition of new data, which can be expressed by the following equation.
  • X and Y represent the type of business of the affiliated store 200
  • P (X) and P (Y) is the user of the merchant corresponding to the X industry and Y industry
  • X) represents the probability that users who use the X industry use the Y industry
  • Y) represents the probability that the users who use the Y industry use the X industry.
  • the card company server 300 calculates the probabilities for a certain number of users who exhibit a similar industry usage pattern to the target user among the groups to which the target user belongs among the groups classified by the clustering key, so that the target user can perform payment in the future. Find the industry with the highest probability. In addition, the card company server 300 may predict the upper predetermined number of industries that the target user is likely to make a payment.
  • Equation 4 may be converted as follows.
  • Equation 5 P (Y) of the upper side is fixed as a prior probability, and the lower side calculates the probability that the X sector is used as the sum of the probability that the X sector is used after the remaining sectors except for X are used. .
  • the user using the X industry can calculate the probability of using the Y industry, and by repeating this, the user using the X industry next time
  • the card company server 300 may extract a certain number of industries in a high probability order.
  • the card company server 300 may recommend a new card product to the target user based on a probability analysis on the industries to be used by the target user in the future.
  • the card product recommended to the target user may be the card with the greatest benefit for the industry that the target user is most likely to use in the future, and the benefits for a certain number of industries that the target user is likely to use in the future are considered in consideration. It may be a card. For example, a recommendation may be made in order of a card product having a higher total score by multiplying a probability of an industry to be used by a target user later and an evaluation score for a benefit of the industry included in a specific card.
  • Card product recommendation of the card company server 300 may be made in real time through the user's terminal.
  • the card company server 300 can recommend card products in real time.
  • the data processing work is distributed and processed by a plurality of processing units through a map reduce method, and the user's industry is used through the establishment of a suffix tree. This is because the pattern can be retrieved quickly.
  • the card company server 300 may determine whether the target user's card 100 is used for fraudulent use, based on the probability of the industry to be used later by the target user.
  • the target user For each type of business existing in the classification system of the card company server 300, while the probability that the target user uses the industry in the future is calculated, the target user repeatedly uses the industry having a lower probability than the predetermined value. If used, it is judged as fraudulent use.
  • the card company server 300 may manage anomaly related to fraudulent use for each user, and increase the abnormality value when the target user uses an industry calculated that the probability of future use is lower than a certain value. In this way, when the abnormal value increases and reaches a certain value, the target user's card use can be determined to be illegal.
  • the card company server 300 may set the corresponding card 100 to be in an unusable state.
  • FIG. 5 is a block diagram showing the internal configuration of a card company server 300 according to an embodiment of the present invention.
  • the card usage information collecting unit 310 may include a card product recommendation unit 360, an illegal use detection unit 370, a control unit 380, and a communication unit 390.
  • the card usage information collecting unit 310, the hash function group configuration unit 320, the map reducer 330, the suffix tree construction unit 340, the use probability calculation unit for each industry may be program modules or hardware capable of communicating with an external device.
  • a program module or hardware may be included in the card company server 300 or another device that can communicate with the card company server in the form of an operating system, an application module, and other program modules, and may be physically stored on various known storage devices.
  • program modules or hardware may include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform particular tasks or execute particular abstract data types described below in accordance with the present invention.
  • the card usage information collector 310 may collect payment information of card users.
  • the information used to analyze the user's card usage pattern in the present invention is the industry information of the affiliated store 200 in which the user has made a payment using the card 100
  • the card usage information collecting unit 310 is the industry information May be stored in the form of an industry code corresponding to each industry.
  • the card usage information collecting unit 310 may store time information of payment information of each user, so that the suffix tree may be constructed later based on the order of the industry used by the user.
  • the hash function group configuration unit 320 may configure a hash function group including a hash function used to hash an industry code for an industry used by a user, and at least one hash function.
  • the hash function used in the present invention may be in the form as shown in Equations 2 and 3, and a plurality of authorized hash algorithms may be used.
  • the hash function group configuration unit 320 configures a plurality of hash function groups, and the number of hash function groups configured may be adjusted according to a user card use pattern analysis result. For example, as the number of hash function groups increases, the number of groups to which one user belongs may increase. Accordingly, the card usage pattern of each user may be analyzed more diversely, but the card company server 300 may have one. As the number of groups to be analyzed for each user increases, it takes more time to analyze the data, and the load of the card company server 300 and the processing units connected to the data processing unit for processing data analysis may increase.
  • the hash function group configuration unit 320 may adjust the number of hash functions included in each hash function group. If more hash functions are included in one hash function group, the number of cases in which clustering keys can be generated accordingly becomes larger. Therefore, the number of users included in one group becomes smaller, so that the same group as the target user will be added later. The number of targets for extracting users who have a similar usage history as the target user may be reduced. On the contrary, if the number of hash functions included in one hash function group is small, the number of users included in one group increases, so that the accuracy of searching for a user having a similar industry usage pattern to the target user may be inferior. have.
  • the hash function group construction unit 320 may grasp the advantages and disadvantages as described above and adjust the hash function group so that a proper number of hash functions are included in one hash function group.
  • the map reducer 330 may generate a clustering key for each user by performing a mapping operation and a reduce operation, and perform grouping of users based on the generated clustering key.
  • the map reducer 330 may be divided into a mapping unit and a reducer to perform respective roles.
  • the mapping and reducer may be included in the card company server 300 or connected to the card company server 300. Distributed in a plurality of processing units.
  • the map reducer 330 may implement the Min-Hash algorithm through a mapping operation and generate a clustering key through the map reduction operation.
  • the map reducer 330 performs hashing on a business type code of each type of industry used by each user through each hash function generated by the hash function group configuring unit 320, and for each hash function.
  • the minimum value of the calculated hash values can be extracted. Thereafter, the map reducer 330 may generate a clustering key based on the extracted minimum values for each hash function group.
  • the map reducer 330 may perform grouping of users based on the clustering key generated for each user. Users with the same clustering key are grouped into one group, and as a user has a plurality of clustering keys, they may belong to a plurality of groups.
  • the suffix tree building unit 340 may build a usage path for each type of business included in the group in the form of a suffix tree for each group divided by the clustering key.
  • the suffix tree is a data structure in which a user's usage path of each user belonging to a group is constructed in a tree form, and may include order information of industries used by the users.
  • the suffix tree builder 340 may assign a weight to each node in the suffix tree. For example, the suffix tree builder 340 may assign a weight to a node related to a frequently used industry usage pattern, so that the weight may be considered in calculating a post-use probability for each industry in the future.
  • the usage probability calculator 350 for each type of industry may calculate a probability that the target user uses other types of business in the future based on information on the type of business previously used by the target user.
  • the use probability calculation unit 350 for each industry searches for a usage path for each industry in the group to which the target user belongs by using the suffix tree, and extracts a predetermined number of users having the most similar usage patterns for each industry in each group. can do.
  • the use probability calculation unit 350 for each type of industry may use Bayes' theorem as described above in calculating the use probability for each type of industry of the target user.
  • the usage probability calculation unit 350 for each type of business may calculate a prior probability that each type of industry is used by analyzing the entire usage history of users having similar target patterns and usage patterns for each type of industry as described above.
  • the use probability calculation unit 350 for each business type is configured to calculate a probability for a future use industry of the target user, and when information on a previous use industry of the target user is collected, the post probability based on this information, that is, the future according to the previous use industry
  • the probability for the industries you use can be calculated using Bayes' theorem.
  • the card product recommendation unit 360 may recommend a new card product to the user, based on the probability calculated by the industry-specific use probability calculator 350.
  • the way in which the card product is recommended to the user may be a method in which the card product recommendation unit 360 transmits information corresponding to a user terminal such as a computer or a mobile phone, and the card company's telemarketer receives the information from the card product recommendation unit 360. It may also be a method of learning and performing telemarketing.
  • the card recommendation unit 360 recommends a card to a user by recommending a card having the greatest benefit to an industry that the target user is most likely to use in the future. It may be to recommend a card that includes all of the benefits.
  • the card product recommendation unit 360 may provide the card product recommendation information to the user, together with information analyzing the user's card usage pattern.
  • the fraud detection unit 370 may detect that fraud is performed through the user's card, based on the probability derived from the usage probability calculation unit 350 for each industry.
  • the fraud detection unit 370 may determine fraud in a manner such as managing an abnormal value in a point format when continuously making payments in businesses determined that the user has a low probability of using the fraudulent use. For example, when a user makes a payment in an industry having a lower probability than a certain value, the user allocates a certain point according to the calculated probability, and when the accumulation of points reaches a certain value, the card 100 is detected as an illegal use detection target. It may be to select.
  • the card company server 300 can quickly analyze the user's card usage pattern analysis, and based on the probability of the user's future use industry, the card product suitable for the user in real time. Recommend or detect fraud through your card.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

According to one embodiment of the present invention, a card use pattern analysis method for predicting the type of business used by a card user comprises the steps of: collecting business type card use information from a plurality of users; forming at least one hash function group including at least one hash function; calculating, for each hash function, hash values for the business type card use information and extracting minimum values from the hash values; generating, for each hash function group, clustering keys on the basis of the minimum values; grouping the plurality of users by using the clustering keys; and predicting the type of business to be used in the future by the card user by using the grouping information.

Description

사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 서버Card usage pattern analysis method for predicting usage industry and server performing the same
본 발명은 사용 업종 예측을 위한 카드 사용 패턴 분석 방법 및 이를 수행하는 카드사 서버에 관한 것으로, 더욱 상세하게는 복수개의 해쉬 함수 그룹을 통해 사용자에 대한 그룹화를 수행하며, 서픽스 트리 및 베이즈 정리를 이용하여 신속하게 카드 사용 패턴을 분석하고 그 결과를 활용하는 방법 및 이를 수행하는 카드사 서버에 관한 것이다.The present invention relates to a card usage pattern analysis method for predicting a usage industry and a card company server performing the same. More particularly, the grouping of users is performed through a plurality of hash function groups, and the suffix tree and Bayes' theorem are managed. The present invention relates to a method of quickly analyzing a card use pattern and using the result, and a card company server performing the same.
경제 활동이 점점 활발해지고 있는 현대 사회에서, 물건이나 서비스에 대한 결제 방식도 점차 다양화, 복잡화되고 있다.In modern society, where economic activity is becoming more active, payment methods for goods and services are becoming more and more diversified and complicated.
그 중, 카드를 통한 결제 방식은 현금 결제와 더불어 가장 보편적으로 쓰이고 있는 결제 방식 중 하나이며, 체크 카드, 신용 카드, 직불 카드 등 여러 형식의 카드가 쓰이고 있다.Among them, a payment method using a card is one of the most commonly used payment methods in addition to cash payment, and various types of cards such as check cards, credit cards, and debit cards are used.
각 카드사는 고객 관리를 위해 고객의 결제 정보를 분석하여, 고객들이 자주 사용하는 업종에 대한 카드를 추천하는 일종의 CRM(Customer Relationship Management) 업무를 수행하는데, 기존에는 고객에게 카드를 추천하기 위하여 고객들의 정보를 군집화 하는 방법으로써 K-NN(Nearest Neighbor), K-Means 등의 알고리즘 등이 사용되어 왔다.Each card company conducts a kind of CRM (Customer Relationship Management) that analyzes the customer's payment information for customer management and recommends cards for the industries that customers frequently use. Algorithms such as Nearest Neighbor (K-NN) and K-Means have been used as a method of clustering information.
다만, 하나의 카드사에는 수많은 고객들이 있으므로 이러한 메모리 기반의 알고리즘들을 사용하여 고객의 카드 사용 패턴을 전부 분석하기 위해서는, 슈퍼 컴퓨터와 같이 성능이 우수한 시스템을 사용하여야 하는 단점이 존재하였다. 따라서, 카드사는 고객 정보를 일정량 샘플링 하여 이를 통해 고객들의 카드 사용 패턴을 비교하고 분석하였는데, 샘플링되는 데이터의 양을 늘리면 분석에 소요되는 시간이 증가하였고, 그 양을 줄이면 샘플링을 통한 데이터 분석의 정확도가 떨어지는 문제점이 존재하였다.However, since there are many customers in one card company, in order to analyze all the card usage patterns of the customers using these memory-based algorithms, there is a disadvantage in that a system having a high performance such as a super computer must be used. Therefore, the card company sampled a certain amount of customer information, and compared and analyzed the card usage pattern of customers.Increasing the amount of data sampled increased the time required for analysis, and decreasing the amount of data increased the accuracy of data analysis through sampling. There was a problem of falling.
따라서, 방대한 고객 정보를 신속하게 처리하고, 타겟이 되는 고객의 업종별 이용 확률을 보다 정확하게 계산하여 주는 방법이 요구되었다.Therefore, there is a demand for a method of quickly processing a large amount of customer information and more accurately calculating the probability of use of each target customer.
본 발명은 전술한 종래기술의 문제점을 해결하기 위한 것을 그 목적으로 한다.The present invention aims to solve the above-mentioned problems of the prior art.
본 발명의 목적은 사용자가 이전에 이용한 업종들을 토대로 향후에 이용할 업종들 각각에 대한 확률을 보다 정확하게 예측하는 것이다.An object of the present invention is to more accurately predict the probability for each of the industries to be used in the future based on the industries previously used by the user.
본 발명의 다른 목적은 사용자의 향후 이용 업종에 대해 계산된 확률을 토대로 해당 사용자에게 알맞은 카드 상품 추천 정보를 제공하는 것이다.Another object of the present invention is to provide card product recommendation information suitable for the user based on the probability calculated for the user's future use.
본 발명의 다른 목적은 사용자의 향후 이용 업종에 대해 계산된 확률을 토대로 카드 부정 사용을 감지하는 것이다.Another object of the present invention is to detect card misuse based on the probability calculated for the user's future use.
상기와 같은 목적을 달성하기 위해, 본 발명의 일 실시예는 카드 사용자의 이용 업종 예측을 위한 카드 사용 패턴 분석 방법에 있어서, 복수의 사용자로부터 카드 사용 업종 정보를 수집하는 단계; 적어도 하나의 이상의 해쉬 함수들을 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 단계; 상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하는 단계; 상기 해쉬 함수 그룹 별로, 상기 최소값들을 토대로 클러스터링 키(Clustering Key)를 생성하는 단계; 상기 복수의 사용자를 상기 클러스터링 키를 이용하여 그룹화하는 단계; 및 상기 그룹화 정보를 이용하여 카드 사용자의 향후 이용 업종을 예측하는 단계를 포함하는, 카드 사용 패턴 분석 방법을 제공한다.In order to achieve the above object, an embodiment of the present invention, in the card usage pattern analysis method for predicting the use industry of the card user, collecting the card use industry information from a plurality of users; Constructing at least one hash function group, the at least one hash function group comprising at least one hash function; Calculating a hash value of the card type information for each hash function and extracting a minimum value among the hash function; For each hash function group, generating a clustering key based on the minimum values; Grouping the plurality of users using the clustering key; And predicting a future usage type of a card user by using the grouping information.
상기 그룹화 단계는, 상기 클러스터링 키 별로 구분된 각 그룹에 포함된 사용자들의 업종별 이용 경로를 서픽스 트리(Suffix Tree)로 구축하는 단계를 더 포함할 수 있다.The grouping step may further include constructing a use path for each industry type included in each group classified for each clustering key as a suffix tree.
상기 서픽스 트리는 사용자의 업종별 이용 빈도에 따라 상기 이용 경로의 가중치를 설정할 수 있다.The suffix tree may set weights of the use paths according to the frequency of use of each type of business.
상기 이용 업종 예측 단계는, 이용 업종 예측 대상이 되는 타겟 사용자와 업종 이용 패턴이 유사한 복수의 사용자들을 추출하는 단계; 상기 추출된 사용자들의 업종별 이용 내역에 대한 사전 확률을 계산하는 단계; 및 베이즈 정리를 이용하여, 상기 타겟 사용자의 이전 이용 업종 정보를 토대로, 향후 이용될 수 있는 업종들의 확률을 계산하는 단계를 더 포함할 수 있다.The using industry prediction step may include: extracting a plurality of users having a similar industry usage pattern to a target user who is a use industry prediction target; Calculating a prior probability on the usage history of each of the extracted users; And using the Bayes' theorem, calculating a probability of industries that may be used in the future, based on the previously used industry information of the target user.
상기 카드 사용 패턴 분석 방법은, 상기 사용자가 향후 이용 확률이 일정치 이하인 업종에서 카드를 사용하는 경우 이에 대한 이상 수치를 누적하여, 일정 수치에 도달하는 경우 해당하는 사용자의 카드 사용을 부정 사용으로 판단할 수 있다.The method of analyzing a card usage pattern may include accumulating an abnormal value when the user uses a card in an industry in which the future use probability is less than a certain value, and determines that the user uses the card as a fraud when the card reaches a certain value. can do.
상기 그룹화 단계는, 맵리듀스(Map-Reduce) 작업을 수행하여 상기 클러스터링 키 각각에 대한 사용자 그룹을 생성하는 데 있어, 데이터 처리를 복수의 처리부에 분산하여 수행하도록 하는 단계를 포함할 수 있다.The grouping step may include distributing data processing to a plurality of processing units in generating a user group for each of the clustering keys by performing a Map-Reduce operation.
상기 카드 사용 패턴 분석 방법은, 예측된 이용 업종을 토대로 해당 업종에 대한 혜택을 포함하는 카드 상품을 추천하는 단계를 더 포함할 수 있다.The method of analyzing a card use pattern may further include recommending a card product including a benefit for the industry based on the predicted use industry.
상기와 같은 목적을 달성하기 위해, 본 발명의 다른 실시예는 사용자의 카드 사용 패턴을 분석하는 카드사 서버에 있어서, 복수의 사용자로부터 카드 사용 업종 정보를 수집하는 카드 사용 정보 수집부; 적어도 하나 이상의 해쉬 함수를 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 해쉬 함수 그룹 구성부; 상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하며, 추출된 최소값들을 토대로 상기 해쉬 함수 그룹 별로 클러스터링 키를 생성하고, 생성된 클러스터링 키를 이용하여 복수의 사용자에 대한 그룹화를 수행하는 맵리듀스 수행부; 상기 클러스터링 키 별로 구분된 각 그룹에 포함된 사용자들의 업종별 이용 경로를 서픽스 트리로 구축하는, 서픽스 트리 구축부; 및 분석 대상이 되는 타겟 사용자의 이전 이용 업종에 대한 정보를 토대로, 향후 이용 업종에 대한 이용 확률을 계산하는, 업종별 이용 확률 계산부를 포함하는, 카드사 서버를 제공한다.In order to achieve the above object, another embodiment of the present invention, a card company server for analyzing a user's card usage pattern, Card usage information collection unit for collecting card use industry information from a plurality of users; A hash function group constructing unit for constructing at least one hash function group including at least one hash function; Computing a hash value for the card-use industry information for each hash function and extracting a minimum value among the hash function, generating a clustering key for each hash function group based on the extracted minimum values, and using the generated clustering key to a plurality of users. A map reducer for performing grouping on the apparatus; A suffix tree construction unit for constructing a use path for each industry type included in each grouped by the clustering key as a suffix tree; And a usage probability calculation unit for each industry type that calculates a use probability for a future use industry based on information on a previous use industry of the target user to be analyzed.
상기 서픽스 트리 구축부는, 사용자들의 업종별 이용 빈도에 따라 상기 이용 경로에 대한 가중치를 설정할 수 있다.The suffix tree building unit may set weights for the use paths according to the frequency of use of each type of business.
상기 업종별 이용 확률 예측부는, 상기 타겟 사용자와 사용 패턴이 유사한 복수의 사용자들을 추출하여, 추출된 사용자들의 업종별 이용 내역에 대한 사전 확률을 계산하며, 베이즈 정리를 이용하여 타겟 사용자의 업종별 이용 확률을 계산할 수 있다.The use probability prediction unit for each industry type extracts a plurality of users having similar usage patterns to the target user, calculates a prior probability of the usage history of each of the extracted users, and uses the Bayes' theorem to calculate the use probability of the target user. Can be calculated
상기 카드사 서버는 상기 산출된 업종별 이용 확률을 토대로 사용자에게 카드 상품 추천 정보를 제공하는, 카드 상품 추천부를 더 포함할 수 있다.The card company server may further include a card product recommendation unit for providing card product recommendation information to the user based on the calculated use probability for each industry type.
상기 카드사 서버는 상기 산출된 업종별 이용 확률을 토대로, 사용자가 이용 확률이 일정치 이하인 업종에서 카드를 사용하는 경우, 이에 대한 이상 수치를 누적하여 상기 이상 수치가 일정 수치에 도달하는 경우 해당하는 사용자의 카드 사용을 부정 사용으로 판단하는 부정 사용 감지부를 더 포함할 수 있다.The card company server, based on the calculated use probability for each type of industry, when the user uses the card in the industry that the use probability is a certain value or less, accumulate an abnormal value for this if the abnormal value reaches a certain value of the corresponding user The apparatus may further include a fraud detection unit for determining a card usage as fraudulent usage.
상기 맵리듀스 수행부는, 사용자 그룹화를 수행함에 있어 필요한 데이터 처리를 복수의 처리부에 분산하여 수행하도록 할 수 있다.The map reducer may be configured to distribute data processing necessary for performing user grouping to a plurality of processing units.
본 발명의 일 실시예에 따르면, 베이즈 정리를 통하여 사용자가 이전에 이용한 업종 정보를 토대로 각 업종별 이용 확률을 계산할 수 있다.According to an embodiment of the present invention, the Bayes theorem may calculate the use probability of each industry based on the industry information previously used by the user.
본 발명의 일 실시예에 따르면, 사용자의 향후 이용 업종에 대해 계산된 확률을 바탕으로, 사용자에게 혜택이 큰 카드 상품 정보를 제공할 수 있으며, 사용자의 카드가 부정 사용에 이용되는 것을 탐지할 수 있다.According to an embodiment of the present invention, based on the probability calculated for the user's future use industry, it is possible to provide the card product information with a great benefit to the user, it is possible to detect that the user's card is used for fraudulent use have.
본 발명의 효과는 상기한 효과로 한정되는 것은 아니며, 본 발명의 상세한 설명 또는 특허청구범위에 기재된 발명의 구성으로부터 추론 가능한 모든 효과를 포함하는 것으로 이해되어야 한다.The effects of the present invention are not limited to the above-described effects, but should be understood to include all the effects deduced from the configuration of the invention described in the detailed description or claims of the present invention.
도 1은 본 발명의 일 실시예에 따른, 카드 사용 패턴 분석 시스템을 개략적으로 나타낸 도면이다.1 is a diagram schematically illustrating a card use pattern analysis system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른, 사용자가 카드를 사용하여 결제를 수행한 업종의 업종 코드를 해쉬화하는 과정 및 해당 해쉬값을 통해 클러스터링 키를 생성하는 과정을 나타낸 것이다.2 illustrates a process of hashing an industry code of an industry in which a user has made a payment using a card, and a process of generating a clustering key through a corresponding hash value according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 Min-Hash 알고리즘을 통한 사용자의 그룹화 방법을 간략히 나타낸 도식도이다.3 is a schematic diagram illustrating a grouping method of users through a Min-Hash algorithm according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따라 구축된 서픽스 트리를 간략히 나타내는 도면이다. 4 is a diagram briefly showing a suffix tree constructed according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 카드사 서버의 내부 구성을 도시한 블록도이다.5 is a block diagram showing the internal configuration of a card company server according to an embodiment of the present invention.
이하에서는 첨부한 도면을 참조하여 본 발명을 설명하기로 한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 따라서 여기에서 설명하는 실시예로 한정되는 것은 아니다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings will be described the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 부재를 사이에 두고 "간접적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 구비할 수 있다는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, it includes not only "directly connected" but also "indirectly connected" with another member in between. . In addition, when a part is said to "include" a certain component, this means that it may further include other components, without excluding the other components unless otherwise stated.
이하, 첨부된 도면을 참고하여 본 발명의 실시예를 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른, 카드 사용 패턴 분석 시스템을 개략적으로 나타낸 도면이다.1 is a diagram schematically illustrating a card use pattern analysis system according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 카드 사용 패턴 분석 시스템은, 사용자가 이용하는 카드(100), 가맹점(200) 및 카드사 서버(300)를 포함할 수 있다.Card usage pattern analysis system according to an embodiment of the present invention, the user may include a card 100, affiliated stores 200 and card company server 300.
일 실시예에 따른 카드(100)는 신용카드, 체크카드, 직불카드 등 사용자가 해당 카드를 통해 직접 결제가 가능한 모든 카드를 의미할 수 있다. 또한, 카드(100)는 마그네틱 카드, IC 카드, 모바일 카드, RF 카드 등의 형태일 수 있다. Card 100 according to an embodiment may mean any card that the user can directly pay through the card, such as credit card, check card, debit card. In addition, the card 100 may be in the form of a magnetic card, IC card, mobile card, RF card.
일 실시예에 따른 가맹점(200)은 사용자의 카드(100)를 통해 결제를 수행할 수 있는 CAT 단말기, POS 단말기 또는 그 외의 결제 수행 장치를 지니고 있을 수 있으며, 해당 장치를 통해 카드사 서버(300)와의 통신을 수행할 수 있다. 가맹점(200)의 단말기와 카드사 서버(300)간의 통신은 VAN사 서버를 통하여 이루어질 수 있다. Merchant 200 according to an embodiment may have a CAT terminal, POS terminal or other payment performing device that can perform payment through the user's card 100, through the card company server 300 Can communicate with. Communication between the terminal of the affiliated store 200 and the card company server 300 may be performed through a VAN company server.
일 실시예에 따른 가맹점(200)은 카드사 서버(300) 상에서 복수개의 업종으로 분류되어 있을 수 있다. 예를 들어, 카드사는 각각의 가맹점(200)들을 편의점, 음식점, 대형마트, 이동통신, 커피전문점, 병원, 학원 등으로 분류해둘 수 있으며, 이와 같이 분류된 업종을 통해 특정 카드로 특정 업종의 가맹점에서 결제를 수행하였을 때 청구할인, 포인트 적립 등의 각종 혜택을 제공할 수 있다. Merchant 200 according to an embodiment may be classified into a plurality of industries on the card company server (300). For example, the card company may classify each affiliate store 200 into a convenience store, a restaurant, a large mart, mobile communication, a coffee shop, a hospital, an academy, and the like. When you make a payment at can provide a variety of benefits, such as discounts, points earned.
카드사 서버(300)는 상기와 같은 가맹점(200)의 업종 분류를 관리하기 위해, 각 업종별로 코드를 할당할 수 있다. 업종별 코드는 다양한 형태로 구성될 수 있으나, 본 발명에서는 설명의 편의를 위해 4자리 숫자로 구성되었다고 가정하고 설명하기로 한다.The card company server 300 may assign a code for each industry to manage the industry classification of the affiliated store 200 as described above. Industry type codes may be configured in various forms, but in the present invention will be described on the assumption that it is composed of four digits for convenience of description.
카드사 서버(300)는 복수의 사용자들의 카드(100) 결제 내역을 관리하며, 각 카드(100)를 통해 결제가 수행된 가맹점(200)의 업종 코드를 관리할 수 있다. 4명의 사용자에 대해 예를 들어 설명하면, 다음 표 1와 같이, 각 사용자의 업종별 사용 내역이 정리될 수 있다.The card company server 300 manages the payment history of the card 100 of a plurality of users, and manages the business type code of the affiliated store 200 in which payment is performed through each card 100. For example, four users may be described. As shown in Table 1 below, usage history of each user may be summarized.
표 1
User 1 4072 4063 4012 4011 4566
User 2 4072 4063 4076 4099 4800
User 3 4095 4044 4042 4511 4566 4800 4099
User 4 4702 4063 4012 4011 4566 4042 4511 4566 4800
Table 1
User 1 4072 4063 4012 4011 4566
User 2 4072 4063 4076 4099 4800
User 3 4095 4044 4042 4511 4566 4800 4099
User 4 4702 4063 4012 4011 4566 4042 4511 4566 4800
상기 표 1을 살펴보면, 제1 사용자 및 제2 사용자는 5개 업종에서, 제3 사용자는 7개 업종에서, 제4 사용자는 9개 업종의 가맹점(200)에서 자신의 카드(100)를 통해 결제를 수행하였음을 알 수 있다. 또한 일 실시예에 따르면, 각 사용자가 각각의 가맹점(200)에서 결제를 수행한 순서대로 업종 코드 정보가 관리될 수 있다.Referring to Table 1, the first user and the second user in five industries, the third user in seven industries, the fourth user in nine merchants 200 through the payment through their card 100 It can be seen that the. In addition, according to an embodiment, the business type code information may be managed in the order in which each user performs payment in each affiliate store 200.
카드사 서버(300)는 이와 같은 정보를 토대로 사용자의 카드 사용 패턴을 분석하여, 각 사용자가 다음으로 결제를 수행할 가맹점(200)의 향후 이용 업종 예측을 수행할 수 있다The card company server 300 may analyze the user's card usage pattern based on such information, and may predict a future usage industry of the affiliate store 200 for each user to perform the next payment.
카드사 서버(300)가 사용자의 향후 이용 업종을 예측하는 구체적인 방법을 살펴보면, 카드사 서버(300)는 Min-Hash 방식을 이용할 수 있다. Min-Hash 알고리즘은 데이터에 대한 해쉬(Hash)화를 수행하였을 때 발생하는 고유한 축소값인 해쉬값들의 최소값을 통해 사용자를 그룹화하는 알고리즘이다.Looking at a specific method for the card company server 300 to predict the user's future industry, the card company server 300 may use a Min-Hash method. Min-Hash algorithm is an algorithm that groups users through the minimum value of hash values, which is a unique reduction value generated when hashing data.
해쉬는 데이터를 다른 모습으로 바꾸어 다양한 목적으로 사용되는 것을 의미할 수 있으며, 본 발명에서 해쉬화 수행을 위해 사용되는 해쉬 함수는 일방향 해쉬 함수일 수 있다. 일방향 해쉬 함수는 원본 데이터를 해쉬 함수를 이용하여 해쉬화 하였을 때 발생하는 고유의 값(해쉬값)을 통해, 원본 데이터의 내용을 알 수 없는 특징이 존재한다. 또한, 원본 데이터가 동일하다면, 동일한 해쉬 함수를 통해 발생하는 해쉬값은 동일하지만, 동일한 해쉬값에 대한 원본 데이터의 동일성은 보장되지 않는다.The hash may mean that the data is changed to another shape and used for various purposes. In the present invention, the hash function used to perform hashing may be a one-way hash function. One-way hash function has a characteristic that the contents of the original data are unknown through the unique value (hash value) generated when the original data is hashed using the hash function. Also, if the original data is the same, the hash values generated through the same hash function are the same, but the identity of the original data to the same hash value is not guaranteed.
본 발명에서 개시되는 카드사 서버(300)가 이용하는 해쉬 알고리즘들은 SHA(Secure Hash Algorithm) 함수군 중 선택된, 검증된 해쉬 알고리즘들일 수 있으나, 카드사 서버(300)가 임의로 생성하는 알고리즘들로 구성될 수도 있다.The hash algorithms used by the card company server 300 disclosed in the present invention may be verified hash algorithms selected from a group of Secure Hash Algorithm (SHA) functions, but may be composed of algorithms that the card company server 300 arbitrarily generates. .
카드사 서버(300)는 적어도 하나 이상의 해쉬 함수를 포함하는 해쉬 함수 그룹을 생성할 수 있다. 또한, 해쉬 함수 그룹도 복수개가 설정될 수 있으며, 이하에서는 2개의 해쉬 함수 그룹이 카드사 서버(300)상에서 구현되며, 각각의 해쉬 함수 그룹은 2개씩의 해쉬 함수를 포함한다고 가정하여 본 발명을 설명하기로 한다.The card company server 300 may generate a hash function group including at least one hash function. In addition, a plurality of hash function groups may be set. Hereinafter, the present invention will be described on the assumption that two hash function groups are implemented on the card company server 300, and each hash function group includes two hash functions. Let's do it.
카드사 서버(300) 상에서 구성되는 2개의 해쉬 함수 그룹을 q1 및 q2 라고 하고, 해쉬 함수를 h1 내지 h4라고 하였을 때, q1은 h1 및 h2를 포함하고 q2는 h3 및 h4를 포함할 수 있으며, 이는 수학식 1과 같이 표현될 수 있다.When two hash function groups configured on the card company server 300 are referred to as q1 and q2 and the hash functions are referred to as h1 to h4, q1 may include h1 and h2 and q2 may include h3 and h4. It may be expressed as Equation 1.
수학식 1
Figure PCTKR2015001297-appb-M000001
Equation 1
Figure PCTKR2015001297-appb-M000001
일 실시예에 따르면, 본 발명에서 개시되는 해쉬 함수들은 각각 수학식 2와 같은 형태로 구성될 수 있다.According to one embodiment, the hash functions disclosed in the present invention may be configured in the form of Equation 2, respectively.
수학식 2
Figure PCTKR2015001297-appb-M000002
Equation 2
Figure PCTKR2015001297-appb-M000002
예를 들어, h1 내지 h4의 해쉬 함수는 다음의 수학식 3과 같이 구성될 수 있다.For example, the hash functions of h1 to h4 may be configured as in Equation 3 below.
수학식 3
Figure PCTKR2015001297-appb-M000003
Equation 3
Figure PCTKR2015001297-appb-M000003
Figure PCTKR2015001297-appb-I000001
Figure PCTKR2015001297-appb-I000001
Figure PCTKR2015001297-appb-I000002
Figure PCTKR2015001297-appb-I000002
Figure PCTKR2015001297-appb-I000003
Figure PCTKR2015001297-appb-I000003
카드사 서버는 h1 내지 h4에 해당하는 각각의 해쉬 함수에, 사용자들의 결제를 수행한 가맹점(200)의 업종 코드를 대입하여, 각 업종 코드에 해당하는 해쉬값을 획득할 수 있다.The card company server may obtain a hash value corresponding to each business type code by substituting the business type code of the affiliated store 200 that has settled the users in each hash function corresponding to h1 to h4.
예를 들어, 표 1에 표시된 데이터들에 대한 해쉬값을 획득하는 과정을 살펴보면, 제1 사용자가 결제를 수행한 업종의 업종코드 중 4072가 h1에 해당하는 해쉬 함수에 대입되면, h1(4072) = 3x4072+5(mod 17) = 12221 (mod 17) = 15와 같이 계산이 수행되어 15라는 해쉬값이 산출되게 된다.For example, referring to the process of acquiring the hash values for the data shown in Table 1, if 4072 of the industry codes of the industry in which the first user paid the bill is assigned to the hash function corresponding to h1, h1 (4072) = 3x4072 + 5 (mod 17) = 12221 (mod 17) = 15 the calculation is performed to produce a hash value of 15.
카드사 서버(300)는 각 사용자가 결제를 수행한 업종의 업종 코드마다 상기와 같은 계산을 수행하여 각각의 업종 코드에 대한 해쉬값을 획득한다. 이에 대한 결과는 도 2에 나타나 있는 표에서 확인할 수 있다.The card company server 300 obtains a hash value for each industry code by performing the above calculation for each industry code of the industry in which each user has made a payment. The results can be found in the table shown in FIG.
도 2는 본 발명의 일 실시예에 따른, 사용자가 카드(100)를 사용하여 결제를 수행한 업종의 업종 코드를 해쉬화하는 과정 및 해당 해쉬값을 통해 클러스터링 키를 생성하는 과정을 나타낸 것이다.2 illustrates a process of hashing a business type code of an industry in which a user has made a payment using a card 100 according to an embodiment of the present invention, and a process of generating a clustering key through a corresponding hash value.
도 2를 참조하면, 4명의 사용자가 결제를 수행한 가맹점(200)의 업종 코드가 표시되어 있고, 각각의 업종 코드가 h1 내지 h4의 해쉬 함수에 대입되어 산출된 해쉬값이 표시되어 있다. 제1 사용자에 해당하는 도 2의 (a)를 살펴보면, 4063 및 4012에 해당하는 업종 코드가 포함되어 있다. 두 업종 코드는 서로 상이하지만, h1에 의해 산출된 해쉬값은 5로 동일하며, h2에 의해 산출된 해쉬값은 1과 6으로 서로 상이함을 알 수 있다.Referring to FIG. 2, an industry type code of an affiliated store 200 in which four users have made a payment is displayed, and a hash value calculated by assigning each industry type code to a hash function of h1 to h4 is displayed. Referring to FIG. 2A corresponding to the first user, an industry code corresponding to 4063 and 4012 is included. The two industry codes are different from each other, but the hash value calculated by h1 is equal to 5, and the hash value calculated by h2 is different from each other by 1 and 6.
카드사 서버(300)가 사용하는 Min-hash 알고리즘은 각각의 사용자가 카드(100)를 사용한 가맹점(200)의 업종 코드를 해쉬화하는 과정에서 사용된 해쉬 함수 마다 그 함수를 통해 산출된 해쉬값 중 최소값을 추출할 수 있다. 이와 같이 추출된 최소값은 도 2에 나타나 있는 표에서 음영으로 표시되어 있다.Min-hash algorithm used by the card company server 300 of the hash value calculated through the function for each hash function used in the process of each user hashing the industry code of the merchant 200 using the card 100 The minimum value can be extracted. The minimum value thus extracted is shaded in the table shown in FIG. 2.
도 2를 참조하면, 각각의 해쉬 함수로 각 사용자의 카드 이용 업종에 대한 업종 코드의 해쉬값을 산출하였을 때, 해쉬 함수 숫자만큼의 최소값이 추출된다. 본 발명에서는 이를 해쉬 함수 그룹으로 나누어 각 사용자를 그룹화하는데 사용하는데, 도 2의 예시를 참조하여 설명하면, 제1 사용자의 경우 q1에 해당하는 해쉬 함수 그룹에서는 00010000이라는 클러스터링 키(Clustering Key)가 생성된다. 상세하게는, h1에 의해 생성된 해쉬값 중 최소값인 1과 h2에 의해 생성된 해쉬값 중 최소값인 0이 결합되어 00010000이라는 클러스터링 키가 생성된 것이다. 이와 유사하게, 제1 사용자에 대해 q2에 해당하는 해쉬 함수 그룹에서는 00050006이라는 클러스터링 키가 생성된다. 이와 동일한 방식으로, 제2 내지 제4 사용자에 대해서도 각각 2개씩의 클러스터링 키가 생성된다.Referring to FIG. 2, when a hash value of an industry code for each user's card-using business is calculated with each hash function, the minimum value of the hash function number is extracted. In the present invention, this is divided into a hash function group and used to group each user. Referring to the example of FIG. 2, a clustering key of 00010000 is generated in a hash function group corresponding to q1 for the first user. do. In detail, a clustering key of 00010000 is generated by combining 1, which is the minimum value of the hash value generated by h1, and 0, which is the minimum value of the hash value generated by h2. Similarly, a clustering key called 00050006 is generated in the hash function group corresponding to q2 for the first user. In the same manner, two clustering keys are generated for each of the second to fourth users.
클러스터링 키란, 본 발명에서 사용자를 분류하기 위한 기준이 되는 값으로, 같은 값의 클러스터링 키를 갖는 사용자들이 동일 그룹에 포함되게 된다. 클러스터링 키는 카드사 서버(300)가 임의로 설정하는 해쉬 함수 그룹의 숫자만큼 생성되므로, 각 사용자는 해쉬 함수 그룹 숫자만큼의 그룹에 동시에 속할 수 있게 된다.The clustering key is a value used as a criterion for classifying users in the present invention, and users having the same clustering key are included in the same group. Since the clustering key is generated by the number of hash function groups randomly set by the card company server 300, each user can belong to the same group as the number of hash function groups.
도 3은 본 발명의 일 실시예에 따른 Min-Hash 알고리즘을 통한 사용자의 그룹화 방법을 간략히 나타낸 도식도이다.3 is a schematic diagram illustrating a grouping method of users through a Min-Hash algorithm according to an embodiment of the present invention.
도 3을 참조하면, 도 2에서 산출된 클러스터링 키를 통해 제1 내지 제4 사용자가 그룹화되는 과정을 볼 수 있다. Referring to FIG. 3, a process of grouping first to fourth users through the clustering key calculated in FIG. 2 may be seen.
예를 들면, 00010000에 해당하는 클러스터링 키를 통해서는 제1 사용자, 제3 사용자 및 제4 사용자가 하나의 그룹으로 묶이며, 00030002에 해당하는 클러스터링 키를 통해서는 제3 사용자 및 제4 사용자가 하나의 그룹으로 묶이게 된다. 나머지 000050001, 00050002, 00050006에 해당하는 클러스터링 키에 대해서는 각각 한명씩의 사용자 만이 해당 그룹에 포함되게 된다.For example, a clustering key corresponding to 00010000 combines a first user, a third user, and a fourth user into one group, and a clustering key corresponding to 00030002 includes one third user and a fourth user. Will be grouped together. For each clustering key corresponding to the remaining 000050001, 00050002, 00050006, only one user will be included in the group.
일 실시예에 따르면, 하나의 해쉬 함수 그룹에 포함되는 해쉬 함수의 숫자가 커질수록 각 클러스터링 키가 고유한 값을 갖게 될 확률이 증가하게 되므로, 하나의 그룹 내에 포함되는 사용자의 수가 적어질 수 있다.According to an embodiment, as the number of hash functions included in one hash function group increases, the probability that each clustering key has a unique value increases, so the number of users included in one group may decrease. .
본 발명의 일 실시예에 따르면, 카드사 서버(300)가 상기와 같이 클러스터링 키를 이용하여 사용자를 그룹화하는데 있어, 빅데이터를 처리하는 플랫폼인 하둡(Hadoop)을 이용할 수 있다.According to an embodiment of the present invention, the card company server 300 may use Hadoop, which is a platform for processing big data, in grouping users using the clustering key as described above.
하둡이란, 빅데이터와 같이 방대한 용량의 데이터를 효율적으로 처리하기 위해, 복수개의 데이터 처리 시스템을 두고 데이터 처리 작업을 분산시켜 처리하는 역할을 수행하는 플랫폼이다..Hadoop is a platform that distributes and processes data processing tasks through a plurality of data processing systems in order to efficiently process huge amounts of data such as big data.
하둡은 분산 파일 시스템(Hadoop Distributed File System; HDFS)와 맵리듀스(Map-Reduce) 알고리즘으로 구성되는데, 이하, 카드사 서버(300)가 맵리듀스 알고리즘을 이용하여 사용자를 그룹화하는 방법을 설명하기로 한다.Hadoop is composed of Hadoop Distributed File System (HDFS) and Map-Reduce algorithm. Hereinafter, a description will be given of how the card company server 300 groups users using the map reduce algorithm. .
일 실시예에 따르면, 맵리듀스 알고리즘은 맵핑(Mapping) 작업과 리듀스(Reduce) 작업을 수행할 수 있다. 본 발명에서는 카드사 서버(300)가 맵핑 작업을 통해 사용자가 결제를 수행한 가맹점(200) 업종 코드의 해쉬값중 최소값을 통해 각 사용자의 클러스터링 키를 추출하며, 리듀스 작업을 통해 클러스터링 키 별로 사용자의 그룹화를 수행할 수 있다.According to an embodiment, the map reduce algorithm may perform a mapping operation and a reduce operation. In the present invention, the card company server 300 extracts the clustering key of each user through the minimum value of the hash value of the merchant 200 code that the user performed the payment through the mapping operation, the user for each clustering key through the reduce operation Grouping of can be performed.
카드사 서버(300)가 맵핑 작업을 통해 Min-Hash 알고리즘을 구현하는 방법을 살펴보면, 카드사 서버(300)는 각각의 사용자의 이용 업종 정보를 맵핑을 처리하는 처리부들에 분산하여 제공한다. 각각의 처리부에서는 각 사용자가 결제를 수행한 가맹점 업종에 대응되는 업종 코드를, 각각의 해쉬 함수에 대입하여 해쉬값으로 산출하고, 각 해쉬 함수 그룹마다 클러스터링 키를 생성할 수 있다.Looking at how the card company server 300 implements the Min-Hash algorithm through the mapping operation, the card company server 300 is distributed to the processing unit for processing the mapping information of each user to provide the processing. Each processing unit may calculate an industry type code corresponding to an affiliated business type in which each user has settled the payment, into a hash value, and generate a clustering key for each hash function group.
전술한 바와 같이, 카드사 서버(300)는 사용자의 업종 이용 정보가 각 해쉬 함수에 대입됨으로써 산출되는 해쉬값 중 최소값을 추출하며, 복수개의 해쉬 함수가 존재하는 경우 추출된 최소값들을 조합하여 클러스터링 키를 생성한다.As described above, the card company server 300 extracts the minimum value of the hash value calculated by substituting the user's industry use information into each hash function, and in the case where a plurality of hash functions exist, combining the extracted minimum values to generate a clustering key. Create
이와 같이, 클러스터링 키를 생성하는 과정은 각 사용자별로 진행되므로 카드사 서버(300)에 포함되거나 연결된 복수의 처리부에서 각각 사용자 정보가 분산되어 처리된 후에 리듀스 작업을 통해 그룹화될 수 있다.As described above, since the process of generating the clustering key is performed for each user, user information may be distributed and processed in a plurality of processing units included in or connected to the card company server 300 and then grouped through a reduce operation.
본 명세서 상의 예시에서는 사용자가 4명인 것으로 제한되어 설명되었으나, 각 카드사에 존재하는 수많은 회원 수에 대한 데이터를 하나의 시스템에서 처리하기 위해서는 슈퍼 컴퓨터와 같이 기능이 우수한 시스템을 필요로 하거나, 데이터 처리에 장시간이 소요되는 문제가 존재하였다. 따라서, 위와 같이 카드사 서버(300)에 포함되거나, 카드사 서버(300)와 연결되어 있는 복수의 처리부에서 사용자 데이터를 분산하여 처리함으로써, 데이터 처리 속도를 향상시킬 수 있다. 본 발명의 실시예에 따라 데이터 처리 속도가 증가함에 따라, 사용자가 향후 결제를 수행할 가맹점(200)의 업종을 예측하여 실시간으로 사용자에게 해당 업종에 대한 혜택을 가진 카드를 추천할 수 있게 된다. In the example herein, the user is limited to four users, but in order to process the data for the number of members existing in each card company in one system, a system having a high function such as a super computer is required, or There was a problem that takes a long time. Therefore, by distributing user data in a plurality of processing units included in the card company server 300 or connected to the card company server 300 as described above, the data processing speed can be improved. According to an embodiment of the present invention, as the data processing speed increases, the user may predict a type of business of the affiliate store 200 to perform future payments and recommend a card having a benefit for the type of business to the user in real time.
카드사 서버(300)는 맵핑 작업이 완료된 데이터들을 토대로 리듀스 작업을 수행하며, 각 사용자 별로 도출된 클러스터링 키를 토대로 그룹화를 수행한다. 도 3을 참조하면, (b)에서 (c)로 처리되는 과정이 리듀스 작업에 의해 처리되는 것이다.The card company server 300 performs a reduce operation based on the data for which mapping is completed, and performs grouping based on the clustering key derived for each user. Referring to FIG. 3, the process from (b) to (c) is processed by the reduce operation.
카드사 서버(300)는 이후, 클러스터링 키로 구분된 각 그룹마다, 포함된 사용자들의 업종별 이용 경로를 서픽스 트리로 구축할 수 있다. 서픽스 트리(Suffix Tree)란, 문자열들이 포함하고 있는 접미사들을 통해 해당 문자열을 탐색할 수 있도록 하는 인덱스 자료구조로, 서픽스 트리에 특정 문자열의 패턴이 존재하는지를 검출하는 도구로 사용될 수 있다.The card company server 300 may then establish a suffix tree of a usage path for each type of business included in each group classified by the clustering key. A suffix tree is an index data structure that allows you to search for a string through the suffixes that it contains. It can be used as a tool to detect whether a pattern of a specific string exists in the suffix tree.
도 4는 본 발명의 일 실시예에 따라 구축된 서픽스 트리를 간략히 나타내는 도면이다. 4 is a diagram briefly showing a suffix tree constructed according to an embodiment of the present invention.
카드사 서버(300)는 맵핑 작업과 리듀스 작업을 통해 클러스터링 키를 기반으로 한 사용자 그룹들에 대한 정보를 생성할 수 있다. 카드사 서버(300)는 같은 클러스터링 키를 갖는 사용자가 묶인 그룹 별로, 사용자의 업종별 이용 경로를 서픽스 트리 형태로 구축할 수 있다.The card company server 300 may generate information on user groups based on the clustering key through a mapping operation and a reduce operation. The card company server 300 may construct a usage path of each user's industry in the form of a suffix tree for each group grouped by users having the same clustering key.
예를 들어, 특정 그룹에 2명의 사용자가 포함되어 있고, 이를 제1 사용자 및 제2 사용자라고 할 때, 제1 사용자는 A-B-C-D 업종 순으로 카드(100)를 사용하였을 수 있고, 제2 사용자는 A-F-B-C 업종 순으로 카드(100)를 사용하였을 수 있다.For example, when two users are included in a specific group, and the first user and the second user are referred to, the first user may have used the card 100 in ABCD sector order, and the second user may use AFBC. Card 100 may be used in order of industry.
이 때, 카드사 서버(300)가 제1 및 제2 사용자의 카드 이용 업종 경로를 토대로 도 4에 나타난 서픽스 트리를 구축할 수 있다. 도 4의 서픽스 트리가 구축되는 과정을 살펴보면, 제1 사용자가 카드(100)를 사용한 업종의 순서가 A-B-C-D 일 때 이 문자열의 서픽스, 즉 접미사는 D, C-D, B-C-D, A-B-C-D 가 나올 수 있다. 이와 마찬가지로 제2 사용자가 카드(100)를 사용한 업종의 순서가 A-F-B-C 일 때, 이 문자열의 접미사는 C, B-C, F-B-C, A-F-B-C가 나올 수 있다. 이와 같이 각 사용자가 사용한 업종 순서를 나타내는 문자열의 접미사들의 목록을 토대로, 카드사 서버(300)는 서픽스 트리를 구축한다.At this time, the card company server 300 may build the suffix tree shown in FIG. 4 based on the card use industry paths of the first and second users. Referring to the process of constructing the suffix tree of FIG. 4, when the order of an industry in which the first user uses the card 100 is ABCD, the suffix of the string, that is, the suffix D, CD, BCD, ABCD, may appear. . Similarly, when the order of the type of business in which the second user uses the card 100 is A-F-B-C, the suffixes of this character string may be C, B-C, F-B-C, and A-F-B-C. In this way, the card company server 300 constructs the suffix tree based on the list of the suffixes of the string representing the industry type order used by each user.
도 4에서, 각각의 동그라미 표시는 노드라고 불리며, 도면 상에 기재된 것과 같이 업종 정보를 포함하고 있다. 각각의 노드를 연결하는 선은 업종별 이용 순서를 나타낼 수 있다.In Fig. 4, each circle is called a node and includes industry type information as described on the drawing. The line connecting each node may indicate an order of use by industry.
도 4를 살펴보면, 서픽스 트리의 최상단(Root 노드)에서 파생되는 노들들은 각각 A, BC, CD, D, FB, C 의 값을 갖을 수 있다. 이 중, A에 해당하는 노드에서는 BCD, FBC의 값을 갖는 노드가 각각 파생되며, BC에 해당하는 노드에서는 D의 값을 갖는 노드가 파생된다. Referring to FIG. 4, the furnaces derived from the top (Root node) of the suffix tree may have values of A, BC, CD, D, FB, and C, respectively. Among the nodes corresponding to A, nodes having a value of BCD and FBC are derived, and nodes having a value of D are derived from a node corresponding to BC.
A노드를 살펴보면, A-B-C-D와 A-F-B-C에서 보여지는 것과 같이 A 이후에 배열 될 수 있는 업종은 B-C-D와 F-B-C가 존재하므로, 이에 해당하는 노드들이 파생될 수 있으며, BC노드를 살펴보면, A-B-C-D 에서는 D가 후속될 수 있으나, A-F-B-C에서는 후속되는 업종이 없으므로, D에 해당하는 노드만이 파생될 수 있다.Looking at node A, the sectors that can be arranged after A, as shown in ABCD and AFBC, are BCD and FBC, so corresponding nodes can be derived. Looking at BC node, ABCD is followed by D. However, since there is no following industry in AFBC, only nodes corresponding to D may be derived.
이와 같이, 클러스터링 키를 통해 생성된 각 그룹에 포함되는 사용자들의 업종별 이용 경로를 서픽스 트리로 구축하여 둠으로써, 이후 업종별 이용 경로를 탐색하는데 소모되는 시간이 단축될 수 있다. 즉, 서픽스 트리를 활용하여 업종별 이용 경로를 탐색하는 경우에 O(n)의 속도로 검색이 수행될 수 있다. 예를 들어, 특정 사용자가 이용한 이전 5개 업종을 검색한다고 가정할 때, 최악의 경우에도 5번만의 접근으로 해당 패턴이 검색될 수 있다.As such, by constructing a usage tree for each industry type included in each group generated through the clustering key as a suffix tree, a time required for searching for a usage path for each industry type can be shortened. That is, when searching for a usage path for each industry by using a suffix tree, a search may be performed at a speed of O (n). For example, assuming that a user searches for the previous five industries used by a particular user, even in the worst case, the pattern may be searched with only five accesses.
일 실시예에 따르면, 카드사 서버(300)는 서픽스 트리를 구축하는데 바탕이 된 그룹에 포함된 사용자들이 자주 사용하는 업종에 해당하는 노드에 가중치를 부여할 수 있다. 서픽스 트리를 구성하는 노드들에 부여된 가중치는, 추후 설명될 이용 업종 예측에 있어서의 확률 계산에 적용될 수 있다.According to an embodiment of the present disclosure, the card company server 300 may assign a weight to a node corresponding to a type of business frequently used by a user included in a group based on building a suffix tree. The weights given to the nodes constituting the suffix tree may be applied to the probability calculation in the use industry prediction to be described later.
일 실시예에 따르면, 카드사 서버(300)는 구축된 서픽스 트리들을 토대로, 특정 사용자의 이전 카드 사용 패턴을 분석하여 이후에 사용자가 결제를 수행할 가맹점(200)의 업종을 예측할 수 있다.According to an embodiment of the present disclosure, the card company server 300 may predict an industry of the affiliate store 200 to which the user will later pay by analyzing a previous user's card usage pattern based on the established suffix trees.
카드사 서버(300)가 사용자의 이용 업종 예측을 수행하는 방법을 살펴보면, 카드사 서버(300)는 이용 업종 예측의 대상이 되는 사용자를 선정할 수 있으며, 이하에서는 선정된 사용자를 타겟 사용자라고 지칭하기로 한다. 일 실시예에 따르면, 타겟 사용자는 최근에 카드(100)를 통해 결제를 수행한 사용자로 선정되어, 이후 이용 업종 예측이 카드사 서버(300)상에서 실시간으로 이루어지고, 사용자의 결제 수행 후 일정 시간 내에 이용 업종 예측에 따른 카드 상품 추천 메시지 등이 해당 사용자에게 전송될 수 있다.Looking at how the card company server 300 performs the user's use industry forecast, the card company server 300 may select a user that is the target of the use industry forecast, hereinafter the selected user will be referred to as the target user do. According to an embodiment of the present disclosure, the target user is selected as a user who has recently made a payment through the card 100, and then the use industry prediction is performed in real time on the card company server 300, and within a predetermined time after the user performs payment The card product recommendation message according to the usage industry prediction may be transmitted to the corresponding user.
카드사 서버(300)는 이후, 타겟 사용자가 속한 그룹 내의 업종별 이용 경로를 모두 탐색하여, 타겟 사용자와 유사한 카드 사용 패턴을 보이는 일정한 수의 사용자를 추출할 수 있다.The card company server 300 may then search for all the usage paths for each type of business in the group to which the target user belongs, and extract a predetermined number of users that show a card use pattern similar to the target user.
일 실시예에 따르면, 타겟 사용자의 업종별 카드 사용 패턴과, 다른 사용자들의 업종별 카드 사용 패턴의 유사도를 판단함에 있어, Jaccard Similarity, Pearson Correlation, Cosine Similarity 등이 사용될 수 있다.According to an embodiment, in determining the similarity between the card usage pattern of the target user and the card use pattern of the other users, Jaccard Similarity, Pearson Correlation, Cosine Similarity, and the like may be used.
카드사 서버(300)는 타겟 사용자의 이용 업종을 예측하는데 있어, 베이즈 정리를 이용할 수 있다. 베이즈 정리(Bayesian Rule)를 간략히 살펴보면, 이는 사전 확률과 새로운 데이터의 추가에 따라 변경되는 확률값을 통해 원하는 가설의 확률을 획득하는 것으로, 다음과 같은 수식을 통해 표현될 수 있다.The card company server 300 may use Bayes' theorem to predict the type of business of the target user. Looking briefly at Bayesian theorem, this is to obtain the probability of the desired hypothesis through the prior value and the probability value that changes according to the addition of new data, which can be expressed by the following equation.
수학식 4
Figure PCTKR2015001297-appb-M000004
Equation 4
Figure PCTKR2015001297-appb-M000004
상기 수학식 4을 본 발명에 적용시켜 설명하여 보면, X와 Y는 가맹점(200)의 업종을 나타내며, P(X)와 P(Y)는 각각 사용자들이 X업종과 Y업종에 해당하는 가맹점(200)에서 카드(100)를 사용하여 결제를 수행할 확률, 즉 사용자들이 X업종과 Y업종을 이용할 확률로 볼 수 있다. P(Y|X)는 X업종을 이용한 사용자들이 Y업종을 이용할 확률, P(X|Y)는 사용자들이 Y업종을 이용한 사용자들이 X업종을 이용할 확률을 나타낸다.Referring to the above Equation 4 is applied to the present invention, X and Y represent the type of business of the affiliated store 200, P (X) and P (Y) is the user of the merchant corresponding to the X industry and Y industry ( In the 200, the probability of performing the payment using the card 100, that is, the probability of the user using the X industry and the Y industry can be seen. P (Y | X) represents the probability that users who use the X industry use the Y industry, and P (X | Y) represents the probability that the users who use the Y industry use the X industry.
카드사 서버(300)는 클러스터링 키를 통해 분류된 그룹 중 타겟 사용자가 속한 그룹들에서 타겟 사용자와 유사한 업종 이용 패턴을 보이는 일정 수의 사용자에 대한 상기 확률들을 계산함으로써, 타겟 사용자가 앞으로 결제를 수행할 확률이 가장 높은 업종을 구할 수 있다. 또한, 카드사 서버(300)는 타겟 사용자가 결제를 수행할 확률이 높은 업종의 상위 일정 개수를 예측할 수도 있다.The card company server 300 calculates the probabilities for a certain number of users who exhibit a similar industry usage pattern to the target user among the groups to which the target user belongs among the groups classified by the clustering key, so that the target user can perform payment in the future. Find the industry with the highest probability. In addition, the card company server 300 may predict the upper predetermined number of industries that the target user is likely to make a payment.
상기의 수학식 4는 다음과 같이 변환될 수 있다. Equation 4 may be converted as follows.
수학식 5
Figure PCTKR2015001297-appb-M000005
Equation 5
Figure PCTKR2015001297-appb-M000005
상기 수학식 5에서, 상변의 P(Y)는 사전 확률로서 고정되어 있으며, 하변은 X를 제외한 나머지 업종들이 이용된 뒤에 X업종이 이용될 확률의 합으로 X업종이 이용될 확률을 계산하는 것이다. 이와 같이, Y업종을 이용한 사용자가 X업종을 이용할 조건부 확률을 이용하여, X업종을 이용한 사용자가 Y업종을 사용할 확률을 구할 수 있으며, 이를 반복함으로써, X업종을 이용한 사용자가 어떤 업종을 다음번에 이용할지에 대한 확률을 종합하여, 확률이 가장 높은 업종을 추출할 수 있다. 또한, 카드사 서버(300)는 하나의 업종을 선택하는 대신, 확률이 높은 순서대로 일정 개수의 업종들을 추출할 수도 있을 것이다.In Equation 5, P (Y) of the upper side is fixed as a prior probability, and the lower side calculates the probability that the X sector is used as the sum of the probability that the X sector is used after the remaining sectors except for X are used. . As such, by using the conditional probability that the user using the Y industry uses the X industry, the user using the X industry can calculate the probability of using the Y industry, and by repeating this, the user using the X industry next time By combining the probabilities of using, the industry with the highest probability can be extracted. In addition, instead of selecting one industry, the card company server 300 may extract a certain number of industries in a high probability order.
일 실시예에 따르면, 카드사 서버(300)는 타겟 사용자가 앞으로 이용할 업종들에 대한 확률 분석을 토대로, 타겟 사용자에게 새로운 카드 상품을 추천할 수 있다. 타겟 사용자에게 추천되는 카드 상품은 타겟 사용자가 추후 이용할 확률이 가장 높은 업종에 대한 혜택이 가장 큰 카드일 수 있으며, 타겟 사용자가 추후 이용할 확률이 큰 일정개수의 업종에 대한 혜택이 종합적으로 고려되어 선택되는 카드일 수도 있다. 예를 들면, 타겟 사용자가 추후 이용할 업종에 대한 확률과, 특정 카드에 포함된 해당 업종에 대한 혜택에 대한 평가 점수를 각각 곱하여서 총합한 점수가 높은 카드 상품 순으로 추천이 이루어질 수 있다.According to an embodiment of the present disclosure, the card company server 300 may recommend a new card product to the target user based on a probability analysis on the industries to be used by the target user in the future. The card product recommended to the target user may be the card with the greatest benefit for the industry that the target user is most likely to use in the future, and the benefits for a certain number of industries that the target user is likely to use in the future are considered in consideration. It may be a card. For example, a recommendation may be made in order of a card product having a higher total score by multiplying a probability of an industry to be used by a target user later and an evaluation score for a benefit of the industry included in a specific card.
카드사 서버(300)의 카드 상품 추천은 사용자의 단말기를 통해서 실시간으로 이루어질 수 있다. 이와 같이 카드사 서버(300)가 실시간으로 카드 상품 추천이 가능한 이유는, 전술한 것과 같이 맵리듀스 방식을 통해 데이터 처리 작업을 여러 개의 처리부에서 분산하여 처리하며, 서픽스 트리 구축을 통해 사용자들의 업종 이용 패턴을 신속히 검색할 수 있기 때문이다.Card product recommendation of the card company server 300 may be made in real time through the user's terminal. As described above, the card company server 300 can recommend card products in real time. As described above, the data processing work is distributed and processed by a plurality of processing units through a map reduce method, and the user's industry is used through the establishment of a suffix tree. This is because the pattern can be retrieved quickly.
일 실시예에 따르면, 카드사 서버(300)는 타겟 사용자가 추후 이용할 업종의 확률을 통하여, 해당하는 타겟 사용자의 카드(100)가 부정 사용에 이용되는지 여부를 판단할 수 있다.According to an embodiment of the present disclosure, the card company server 300 may determine whether the target user's card 100 is used for fraudulent use, based on the probability of the industry to be used later by the target user.
상세하게는, 카드사 서버(300)의 분류 체계 내에 존재하는 각각의 업종마다, 타겟 사용자가 추후 해당 업종을 이용할 확률이 계산되어 있는 상태에서, 타겟 사용자가 이용 확률이 일정값보다 낮은 업종을 반복하여 이용하면 이를 부정 사용으로 판단하는 것이다. In detail, for each type of business existing in the classification system of the card company server 300, while the probability that the target user uses the industry in the future is calculated, the target user repeatedly uses the industry having a lower probability than the predetermined value. If used, it is judged as fraudulent use.
예를 들어, 카드사 서버(300)는 각각의 사용자 별로 부정 사용과 관련된 이상 수치를 관리할 수 있으며, 타겟 사용자가 추후 이용할 확률이 일정치보다 낮다고 계산된 업종을 이용할 경우에, 상기 이상 수치를 상승시킬 수 있으며, 이와 같은 방식으로 이상 수치가 증가하다가 일정값에 도달하면, 타겟 사용자의 카드 사용을 부정사용으로 판단할 수 있다.For example, the card company server 300 may manage anomaly related to fraudulent use for each user, and increase the abnormality value when the target user uses an industry calculated that the probability of future use is lower than a certain value. In this way, when the abnormal value increases and reaches a certain value, the target user's card use can be determined to be illegal.
일 실시예에 따르면, 카드사 서버(300)는 특정 사용자의 카드 사용을 부정 사용으로 판단되는 경우, 해당 카드(100)를 사용할 수 없는 상태로 설정할 수 있다.According to an embodiment of the present disclosure, when it is determined that the use of a specific user's card is illegally used, the card company server 300 may set the corresponding card 100 to be in an unusable state.
이하, 도 5를 참조하여 본 발명의 일 실시예에 따른 카드사 서버(300)의 구성에 대하여 살펴보도록 한다. 도 5는 본 발명의 일 실시예에 따른 카드사 서버(300)의 내부 구성을 도시한 블록도이다.Hereinafter, the configuration of the card company server 300 according to an embodiment of the present invention will be described with reference to FIG. 5. 5 is a block diagram showing the internal configuration of a card company server 300 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 카드사 서버는 카드 사용 정보 수집부(310), 해쉬 함수 그룹 구성부(320), 맵리듀스 수행부(330), 서픽스 트리 구축부(340), 업종별 이용 확률 계산부(350), 카드 상품 추천부(360), 부정 사용 감지부(370), 제어부(380) 및 통신부(390)를 포함할 수 있다.Card company server according to an embodiment of the present invention, the card usage information collecting unit 310, the hash function group configuration unit 320, the map reducer 330, suffix tree construction unit 340, the use probability calculation for each industry type The unit 350 may include a card product recommendation unit 360, an illegal use detection unit 370, a control unit 380, and a communication unit 390.
본 발명의 일 실시예에 따르면, 카드 사용 정보 수집부(310), 해쉬 함수 그룹 구성부(320), 맵리듀스 수행부(330), 서픽스 트리 구축부(340), 업종별 이용 확률 계산부(350), 카드 상품 추천부(360), 부정 사용 감지부(370), 제어부(380) 및 통신부(390)는 외부 장치와 통신할 수 있는 프로그램 모듈 또는 하드웨어들일 수 있다. 이러한 프로그램 모듈 또는 하드웨어는 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 카드사 서버(300) 또는 이와 통신 가능한 다른 장치에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 한편, 이러한 프로그램 모듈 또는 하드웨어들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.According to an embodiment of the present invention, the card usage information collecting unit 310, the hash function group configuration unit 320, the map reducer 330, the suffix tree construction unit 340, the use probability calculation unit for each industry ( The card commodity recommender 360, the fraud detection detector 370, the controller 380, and the communicator 390 may be program modules or hardware capable of communicating with an external device. Such a program module or hardware may be included in the card company server 300 or another device that can communicate with the card company server in the form of an operating system, an application module, and other program modules, and may be physically stored on various known storage devices. . Meanwhile, such program modules or hardware may include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform particular tasks or execute particular abstract data types described below in accordance with the present invention.
일 실시예에 따른 카드 사용 정보 수집부(310)는 카드 사용자들의 결제 정보를 수집할 수 있다. 본 발명에서 사용자들의 카드 사용 패턴을 분석하는데에 이용되는 정보는 사용자가 카드(100)를 이용하여 결제를 수행한 가맹점(200)의 업종 정보이며, 카드 사용 정보 수집부(310)는 상기 업종 정보를 각 업종에 대응되는 업종 코드의 형태로 저장할 수 있다.The card usage information collector 310 according to an embodiment may collect payment information of card users. The information used to analyze the user's card usage pattern in the present invention is the industry information of the affiliated store 200 in which the user has made a payment using the card 100, the card usage information collecting unit 310 is the industry information May be stored in the form of an industry code corresponding to each industry.
카드 사용 정보 수집부(310)는 각 사용자의 결제 정보에 대한 시각 정보를 저장하여, 사용자가 이용한 업종의 순서를 토대로 추후 서픽스 트리가 구축되도록 할 수 있다.The card usage information collecting unit 310 may store time information of payment information of each user, so that the suffix tree may be constructed later based on the order of the industry used by the user.
일 실시예에 따른 해쉬 함수 그룹 구성부(320)는 사용자들이 사용한 업종에 대한 업종 코드를 해쉬화하는데 사용되는 해쉬 함수 및 적어도 하나의 상기 해쉬 함수를 포함하는 해쉬 함수 그룹을 구성할 수 있다.The hash function group configuration unit 320 according to an embodiment may configure a hash function group including a hash function used to hash an industry code for an industry used by a user, and at least one hash function.
전술한 바와 같이, 본 발명에서 사용되는 해쉬 함수는 수학식 2 및 수학식 3에서 나타난 것과 같은 형태일 수 있으며, 복수개의 공인된 해쉬 알고리즘이 이용될 수도 있다.As described above, the hash function used in the present invention may be in the form as shown in Equations 2 and 3, and a plurality of authorized hash algorithms may be used.
해쉬 함수 그룹 구성부(320)는 복수개의 해쉬 함수 그룹을 구성하며, 구성되는 해쉬 함수 그룹의 수는 사용자 카드 사용 패턴 분석 결과에 따라 조절될 수 있다. 예를 들어, 해쉬 함수 그룹의 수가 커질수록 하나의 사용자가 속하는 그룹의 수가 증가할 수 있으며, 이에 따라 각각의 사용자의 카드 사용 패턴을 보다 다각적으로 분석할 수 있게 되지만, 카드사 서버(300)가 하나의 사용자마다 분석해야 할 그룹의 숫자가 증가함으로 인해 데이터 분석하는데 시간이 더 소요되고, 카드사 서버(300) 및 이와 연결되어 데이터 분석을 처리하는 처리부들의 부하가 커질 수 있다.The hash function group configuration unit 320 configures a plurality of hash function groups, and the number of hash function groups configured may be adjusted according to a user card use pattern analysis result. For example, as the number of hash function groups increases, the number of groups to which one user belongs may increase. Accordingly, the card usage pattern of each user may be analyzed more diversely, but the card company server 300 may have one. As the number of groups to be analyzed for each user increases, it takes more time to analyze the data, and the load of the card company server 300 and the processing units connected to the data processing unit for processing data analysis may increase.
해쉬 함수 그룹 구성부(320)는 각 해쉬 함수 그룹에 포함되는 해쉬 함수의 개수를 조절할 수 있다. 하나의 해쉬 함수 그룹에 포함되는 해쉬 함수가 많아지면 그에 따라 생성되는 클러스터링 키가 생성될 수 있는 경우의 수도 함께 커지게 되므로, 하나의 그룹 내에 포함되는 사용자의 수가 적어지므로 추후 타겟 사용자와 같은 그룹에 포함되어 타겟 사용자와 유사한 업종 이용 내역을 보이는 사용자를 추출하는 대상도 줄어들 수 있다. 또한, 이와 반대로 하나의 해쉬 함수 그룹에 포함되는 해쉬 함수의 숫자가 적으면, 하나의 그룹 내에 포함되는 사용자의 수가 많아짐으로 인해, 타겟 사용자와 유사한 업종 이용 패턴을 보이는 사용자를 탐색하는데 정확도가 떨어질 수 있다. 해쉬 함수 그룹 구성부(320)는 상기와 같은 장단점을 파악하여, 적정한 수의 해쉬 함수가 하나의 해쉬 함수 그룹에 포함되도록 조절할 수 있다.The hash function group configuration unit 320 may adjust the number of hash functions included in each hash function group. If more hash functions are included in one hash function group, the number of cases in which clustering keys can be generated accordingly becomes larger. Therefore, the number of users included in one group becomes smaller, so that the same group as the target user will be added later. The number of targets for extracting users who have a similar usage history as the target user may be reduced. On the contrary, if the number of hash functions included in one hash function group is small, the number of users included in one group increases, so that the accuracy of searching for a user having a similar industry usage pattern to the target user may be inferior. have. The hash function group construction unit 320 may grasp the advantages and disadvantages as described above and adjust the hash function group so that a proper number of hash functions are included in one hash function group.
일 실시예에 따른 맵리듀스 수행부(330)는 맵핑 작업과 리듀스 작업을 수행함으로써 각각의 사용자에 대한 클러스터링 키를 생성하고, 생성된 클러스터링 키를 토대로 사용자들에 대한 그룹화를 수행할 수 있다. 맵리듀스 수행부(330)는 맵핑 수행부와 리듀스 수행부로 나누어져 각각의 역할을 수행할 수 있으며, 맵핑 작업과 리듀스 작업은 카드사 서버(300)에 포함되거나 카드사 서버(300)에 연결되어 있는 복수의 처리부에서 분산되어 수행될 수 있다.The map reducer 330 according to an embodiment may generate a clustering key for each user by performing a mapping operation and a reduce operation, and perform grouping of users based on the generated clustering key. The map reducer 330 may be divided into a mapping unit and a reducer to perform respective roles. The mapping and reducer may be included in the card company server 300 or connected to the card company server 300. Distributed in a plurality of processing units.
맵리듀스 수행부(330)는 맵핑 작업을 통해 Min-Hash 알고리즘을 구현하고, 이를 통해 클러스터링 키를 생성할 수 있다. 상세하게는, 맵리듀스 수행부(330)는 해쉬 함수 그룹 구성부(320)에서 생성한 각각의 해쉬 함수를 통해, 각 사용자가 이용한 업종의 업종 코드에 대한 해쉬화를 수행하고, 각 해쉬 함수 별로 산출된 해쉬값 중 최소값을 추출할 수 있다. 이후, 맵리듀스 수행부(330)는 각 해쉬 함수 그룹마다 추출된 최소값들을 토대로 클러스터링 키를 생성할 수 있다.The map reducer 330 may implement the Min-Hash algorithm through a mapping operation and generate a clustering key through the map reduction operation. In detail, the map reducer 330 performs hashing on a business type code of each type of industry used by each user through each hash function generated by the hash function group configuring unit 320, and for each hash function. The minimum value of the calculated hash values can be extracted. Thereafter, the map reducer 330 may generate a clustering key based on the extracted minimum values for each hash function group.
맵리듀스 수행부(330)는 각 사용자마다 생성된 클러스터링 키를 토대로 사용자에 대한 그룹화를 수행할 수 있다. 같은 클러스터링 키를 갖는 사용자들이 하나의 그룹으로 묶이며, 한 사용자가 복수개의 클러스터링 키를 갖음에 따라 복수개의 그룹에 속할 수 있다.The map reducer 330 may perform grouping of users based on the clustering key generated for each user. Users with the same clustering key are grouped into one group, and as a user has a plurality of clustering keys, they may belong to a plurality of groups.
일 실시예에 따른 서픽스 트리 구축부(340)는 클러스터링 키를 통해 구분된 각 그룹마다, 해당 그룹에 포함되는 사용자들의 업종별 이용 경로를 서픽스 트리 형태로 구축할 수 있다. 서픽스 트리는 도 4에 나타난 것과 같이, 하나의 그룹 내에 속한 사용자들의 업종별 이용 경로를 트리 형태로 구축한 자료 구조이며, 사용자들이 이용한 업종들의 순서 정보를 포함할 수 있다.The suffix tree building unit 340 according to an embodiment may build a usage path for each type of business included in the group in the form of a suffix tree for each group divided by the clustering key. As shown in FIG. 4, the suffix tree is a data structure in which a user's usage path of each user belonging to a group is constructed in a tree form, and may include order information of industries used by the users.
서픽스 트리 구축부(340)는 서픽스 트리내의 각 노드에 가중치를 부여할 수 있다. 예를 들어, 서픽스 트리 구축부(340)는 빈번하게 발생되는 업종 이용 패턴에 관련된 노드에는 가중치를 부여하여, 추후에 업종별 사후 이용 확률을 계산하는데 해당 가중치를 고려하도록 할 수 있다. The suffix tree builder 340 may assign a weight to each node in the suffix tree. For example, the suffix tree builder 340 may assign a weight to a node related to a frequently used industry usage pattern, so that the weight may be considered in calculating a post-use probability for each industry in the future.
일 실시예에 따른 업종별 이용 확률 계산부(350)는 타겟 사용자가 이전 에 이용한 업종에 대한 정보를 토대로, 추후 타겟 사용자가 다른 업종들을 이용할 확률을 계산할 수 있다.According to an exemplary embodiment, the usage probability calculator 350 for each type of industry may calculate a probability that the target user uses other types of business in the future based on information on the type of business previously used by the target user.
이를 위해서, 업종별 이용 확률 계산부(350)는 서픽스 트리를 이용하여 타겟 사용자가 속한 그룹내의 업종별 이용 경로를 탐색하며, 각 그룹 내에서 타겟 사용자와 업종별 이용 패턴이 가장 유사한 일정수의 사용자들을 추출할 수 있다.To this end, the use probability calculation unit 350 for each industry searches for a usage path for each industry in the group to which the target user belongs by using the suffix tree, and extracts a predetermined number of users having the most similar usage patterns for each industry in each group. can do.
업종별 이용 확률 계산부(350)는 타겟 사용자의 업종별 이용 확률을 계산하는데 있어, 전술한 바와 같이 베이즈 정리를 이용할 수 있다. 상세하게는, 업종별 이용 확률 계산부(350)는 상기와 같이 타겟 사용자와 업종별 이용 패턴이 유사한 사용자들의 전체 이용 내역을 분석하여, 각 업종이 이용될 사전 확률을 계산할 수 있다. The use probability calculation unit 350 for each type of industry may use Bayes' theorem as described above in calculating the use probability for each type of industry of the target user. In detail, the usage probability calculation unit 350 for each type of business may calculate a prior probability that each type of industry is used by analyzing the entire usage history of users having similar target patterns and usage patterns for each type of industry as described above.
업종별 이용 확률 계산부(350)는 타겟 사용자의 향후 이용 업종에 대한 확률을 계산하기 위해, 타겟 사용자의 이전 이용 업종에 대한 정보가 수집되면, 이 정보를 토대로 사후 확률, 즉 이전 이용 업종에 따른 향후 이용 업종들에 대한 확률을 베이즈 정리를 통해서 계산할 수 있다.The use probability calculation unit 350 for each business type is configured to calculate a probability for a future use industry of the target user, and when information on a previous use industry of the target user is collected, the post probability based on this information, that is, the future according to the previous use industry The probability for the industries you use can be calculated using Bayes' theorem.
일 실시예에 따르면, 카드 상품 추천부(360)는 업종별 이용 확률 계산부(350)에서 계산된 확률을 토대로, 사용자에게 새로운 카드 상품 등을 추천할 수 있다. 사용자에게 카드 상품이 추천되는 방식은 카드 상품 추천부(360)가 컴퓨터, 휴대폰 등과 같은 사용자 단말기에 해당하는 정보를 전송하는 방식일 수 있고, 카드사의 텔레마케터가 카드 상품 추천부(360)로부터 정보를 습득하여 텔레마케팅을 수행하는 방식일 수도 있다.According to an embodiment of the present disclosure, the card product recommendation unit 360 may recommend a new card product to the user, based on the probability calculated by the industry-specific use probability calculator 350. The way in which the card product is recommended to the user may be a method in which the card product recommendation unit 360 transmits information corresponding to a user terminal such as a computer or a mobile phone, and the card company's telemarketer receives the information from the card product recommendation unit 360. It may also be a method of learning and performing telemarketing.
카드 상품 추천부(360)가 사용자에게 카드를 추천하는 방식은 타겟 사용자가 향후 이용할 확률이 가장 높은 업종에 대한 혜택이 가장 큰 카드를 추천하는 것일 수 있고, 사용자가 향후 이용할 확률이 높은 복수개 업종에 대한 혜택을 모두 포함하고 있는 카드를 추천하는 것일 수도 있다. 또한, 카드 상품 추천부(360)는 사용자에게 카드 상품 추천 정보를 제공하면서, 이와 함께 사용자의 카드 사용 패턴을 분석한 정보를 함께 제공할 수 있다.The card recommendation unit 360 recommends a card to a user by recommending a card having the greatest benefit to an industry that the target user is most likely to use in the future. It may be to recommend a card that includes all of the benefits. In addition, the card product recommendation unit 360 may provide the card product recommendation information to the user, together with information analyzing the user's card usage pattern.
일 실시예에 따른 부정 사용 감지부(370)는 업종별 이용 확률 계산부(350)에서 도출된 확률을 토대로, 사용자의 카드를 통한 부정 사용이 이루어지는 것을 감지할 수 있다.The fraud detection unit 370 according to an embodiment may detect that fraud is performed through the user's card, based on the probability derived from the usage probability calculation unit 350 for each industry.
부정 사용 감지부(370)는 사용자가 이용할 확률이 낮다고 판단된 업종들에서 계속하여 결제를 수행하는 경우, 이에 대한 이상 수치를 포인트 형식으로 관리하는 등의 방법으로 부정 사용을 판단할 수 있다. 예를 들어, 사용자가 이용할 확률이 일정치 보다 낮은 업종에서 결제를 수행하는 경우, 계산된 확률에 따라 일정한 포인트를 할당하여 포인트의 누적이 일정값에 도달하면 해당 카드(100)를 부정 사용 탐지 대상으로 선정하는 것일 수 있다.The fraud detection unit 370 may determine fraud in a manner such as managing an abnormal value in a point format when continuously making payments in businesses determined that the user has a low probability of using the fraudulent use. For example, when a user makes a payment in an industry having a lower probability than a certain value, the user allocates a certain point according to the calculated probability, and when the accumulation of points reaches a certain value, the card 100 is detected as an illegal use detection target. It may be to select.
이와 같이, 본 발명의 실시예에 따르면, 카드사 서버(300)가 사용자의 카드 사용 패턴 분석을 신속하게 분석할 수 있게 되며, 사용자의 향후 이용 업종에 대한 확률을 토대로 사용자에게 알맞은 카드 상품을 실시간으로 추천하거나 사용자의 카드를 통한 부정 사용을 감지할 수 있다.As described above, according to the embodiment of the present invention, the card company server 300 can quickly analyze the user's card usage pattern analysis, and based on the probability of the user's future use industry, the card product suitable for the user in real time. Recommend or detect fraud through your card.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.
본 발명의 범위는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is represented by the following claims, and it should be construed that all changes or modifications derived from the meaning and scope of the claims and their equivalents are included in the scope of the present invention.

Claims (13)

  1. 카드 사용자의 이용 업종 예측을 위한 카드 사용 패턴 분석 방법에 있어서,In the card usage pattern analysis method for predicting the use industry of the card user,
    복수의 사용자로부터 카드 사용 업종 정보를 수집하는 단계;Collecting card use industry information from a plurality of users;
    적어도 하나의 이상의 해쉬 함수들을 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 단계;Constructing at least one hash function group, the at least one hash function group comprising at least one hash function;
    상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하는 단계;Calculating a hash value of the card type information for each hash function and extracting a minimum value among the hash function;
    상기 해쉬 함수 그룹 별로, 상기 최소값들을 토대로 클러스터링 키(Clustering Key)를 생성하는 단계;For each hash function group, generating a clustering key based on the minimum values;
    상기 복수의 사용자를 상기 클러스터링 키를 이용하여 그룹화하는 단계; 및Grouping the plurality of users using the clustering key; And
    상기 그룹화 정보를 이용하여 카드 사용자의 향후 이용 업종을 예측하는 단계를 포함하는, 카드 사용 패턴 분석 방법.Predicting the future use industry of the card user using the grouping information, Card usage pattern analysis method.
  2. 제1항에 있어서,The method of claim 1,
    상기 그룹화 단계는,The grouping step,
    상기 클러스터링 키 별로 구분된 각 그룹에 포함된 사용자들의 업종별 이용 경로를 서픽스 트리(Suffix Tree)로 구축하는 단계를 더 포함하는, 카드 사용 패턴 분석 방법.And using a suffix tree to construct a usage path for each industry type included in each grouped by the clustering key as a suffix tree.
  3. 제2항에 있어서,The method of claim 2,
    상기 서픽스 트리는 사용자의 업종별 이용 빈도에 따라 상기 이용 경로의 가중치를 설정하는, 카드 사용 패턴 분석 방법.The suffix tree is a card usage pattern analysis method for setting the weight of the use path in accordance with the frequency of use of the user industry.
  4. 제1항에 있어서,The method of claim 1,
    상기 이용 업종 예측 단계는,The use industry prediction step,
    이용 업종 예측 대상이 되는 타겟 사용자와 업종 이용 패턴이 유사한 복수의 사용자들을 추출하는 단계;Extracting a plurality of users having a similar business pattern and a target user to be used industry prediction;
    상기 추출된 사용자들의 업종별 이용 내역에 대한 사전 확률을 계산하는 단계; 및Calculating a prior probability on the usage history of each of the extracted users; And
    베이즈 정리를 이용하여, 상기 타겟 사용자의 이전 이용 업종 정보를 토대로, 향후 이용될 수 있는 업종들의 확률을 계산하는 단계를 더 포함하는, 카드 사용 패턴 분석 방법.And using a Bayes theorem, calculating a probability of businesses that may be used in the future based on previous usage industry information of the target user.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 사용자가 향후 이용 확률이 일정치 이하인 업종에서 카드를 사용하는 경우 이에 대한 이상 수치를 누적하여, 일정 수치에 도달하는 경우 해당하는 사용자의 카드 사용을 부정 사용으로 판단하는 단계를 더 포함하는, 카드 사용 패턴 분석 방법.If the user uses the card in the industry in which the probability of future use is below a certain value accumulates an abnormal value for this, and further comprising the step of determining the user's use of the card as fraudulent when reaching a certain value, the card Usage pattern analysis method.
  6. 제1항에 있어서,The method of claim 1,
    상기 그룹화 단계는,The grouping step,
    맵리듀스(Map-Reduce) 작업을 수행하여 상기 클러스터링 키 각각에 대한 사용자 그룹을 생성하는 데 있어, 데이터 처리를 복수의 처리부에 분산하여 수행하도록 하는 단계를 포함하는, 카드 사용 패턴 분석 방법.And generating a user group for each of the clustering keys by performing a map-reduce operation, wherein the data processing is distributed to a plurality of processing units.
  7. 제1항에 있어서,The method of claim 1,
    예측된 이용 업종을 토대로 해당 업종에 대한 혜택을 포함하는 카드 상품을 추천하는 단계를 더 포함하는, 카드 사용 패턴 분석 방법.The card usage pattern analysis method further comprises the step of recommending a card product including benefits for the industry based on the predicted use industry.
  8. 사용자의 카드 사용 패턴을 분석하는 카드사 서버에 있어서,In the card company server to analyze the user's card usage pattern,
    복수의 사용자로부터 카드 사용 업종 정보를 수집하는 카드 사용 정보 수집부;A card usage information collection unit configured to collect card usage type information from a plurality of users;
    적어도 하나 이상의 해쉬 함수를 포함하는, 해쉬 함수 그룹을 적어도 하나 이상 구성하는 해쉬 함수 그룹 구성부;A hash function group constructing unit for constructing at least one hash function group including at least one hash function;
    상기 해쉬 함수 별로 상기 카드 사용 업종 정보에 대한 해쉬값을 산출하고 그 중 최소값을 추출하며, 추출된 최소값들을 토대로 상기 해쉬 함수 그룹 별로 클러스터링 키를 생성하고, 생성된 클러스터링 키를 이용하여 복수의 사용자에 대한 그룹화를 수행하는 맵리듀스 수행부;Computing a hash value for the card-use industry information for each hash function and extracting a minimum value among the hash function, generating a clustering key for each hash function group based on the extracted minimum values, and using the generated clustering key to a plurality of users. A map reducer for performing grouping on the apparatus;
    상기 클러스터링 키 별로 구분된 각 그룹에 포함된 사용자들의 업종별 이용 경로를 서픽스 트리로 구축하는, 서픽스 트리 구축부; 및A suffix tree construction unit for constructing a use path for each industry type included in each grouped by the clustering key as a suffix tree; And
    분석 대상이 되는 타겟 사용자의 이전 이용 업종에 대한 정보를 토대로, 향후 이용 업종에 대한 이용 확률을 계산하는, 업종별 이용 확률 계산부를 포함하는, 카드사 서버.Card company server comprising a usage probability calculation unit for each industry, calculating the use probability for the future use industry, based on the information on the previous use industry of the target user to be analyzed.
  9. 제8항에 있어서,The method of claim 8,
    상기 서픽스 트리 구축부는, The suffix tree construction unit,
    사용자들의 업종별 이용 빈도에 따라 상기 이용 경로에 대한 가중치를 설정하는, 카드사 서버.Card company server for setting the weight for the use path according to the frequency of use of the industry by users.
  10. 제8항에 있어서,The method of claim 8,
    상기 업종별 이용 확률 예측부는,The use probability prediction unit for each industry type,
    상기 타겟 사용자와 사용 패턴이 유사한 복수의 사용자들을 추출하여, 추출된 사용자들의 업종별 이용 내역에 대한 사전 확률을 계산하며, 베이즈 정리를 이용하여 타겟 사용자의 업종별 이용 확률을 계산하는, 카드사 서버.The card company server extracts a plurality of users having similar usage patterns with the target user, calculates a prior probability of the usage history of the extracted users, and calculates the use probability of the target user by industry using Bayes' theorem.
  11. 제8항에 있어서,The method of claim 8,
    상기 산출된 업종별 이용 확률을 토대로 사용자에게 카드 상품 추천 정보를 제공하는 카드 상품 추천부를 더 포함하는, 카드사 서버.The card company server further comprises a card product recommendation unit for providing the card product recommendation information to the user based on the calculated industry-specific use probability.
  12. 제8항에 있어서,The method of claim 8,
    상기 산출된 업종별 이용 확률을 토대로, 사용자가 이용 확률이 일정치 이하인 업종에서 카드를 사용하는 경우, 이에 대한 이상 수치를 누적하여 상기 이상 수치가 일정 수치에 도달하는 경우 해당하는 사용자의 카드 사용을 부정 사용으로 판단하는 부정 사용 감지부를 더 포함하는, 카드사 서버.When a user uses a card in an industry in which the probability of use is equal to or less than a certain value, the user accumulates an abnormal value and denies the user's use of the card when the abnormal value reaches a certain value. The card company server further comprises a fraud detection unit determined to use.
  13. 제8항에 있어서,The method of claim 8,
    상기 맵리듀스 수행부는,The map reducer,
    사용자 그룹화를 수행함에 있어 필요한 데이터 처리를 복수의 처리부에 분산하여 수행하도록 하는, 카드사 서버.A card company server configured to distribute data processing necessary for performing user grouping to a plurality of processing units.
PCT/KR2015/001297 2014-11-28 2015-02-09 Card use pattern analysis method for predicting type of business used, and server for performing same WO2016085042A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201580064437.4A CN107004221B (en) 2014-11-28 2015-02-09 Card use pattern analysis method for use prediction industry and server for executing same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0168614 2014-11-28
KR1020140168614A KR101624272B1 (en) 2014-11-28 2014-11-28 Card usage pattern analysis method for predicting type of business and performing server

Publications (1)

Publication Number Publication Date
WO2016085042A1 true WO2016085042A1 (en) 2016-06-02

Family

ID=56074577

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/001297 WO2016085042A1 (en) 2014-11-28 2015-02-09 Card use pattern analysis method for predicting type of business used, and server for performing same

Country Status (3)

Country Link
KR (1) KR101624272B1 (en)
CN (1) CN107004221B (en)
WO (1) WO2016085042A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102580402B1 (en) * 2021-03-18 2023-09-19 주식회사 신한디에스 Card recommendation method and apparatus

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060012541A (en) * 2004-08-03 2006-02-08 한국정보통신주식회사 Apparatus and method for providing linked information using card transaction information
KR20090083972A (en) * 2008-01-31 2009-08-05 연세대학교 산학협력단 Method for building music database for music search, method and apparatus for searching music by inputting humming query
KR20130062889A (en) * 2011-12-05 2013-06-13 삼성전자주식회사 Method and system for data compression
KR20140131471A (en) * 2013-05-03 2014-11-13 삼성전자주식회사 Method and Apparatus for mining temporal pattern

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100094693A1 (en) * 2006-10-04 2010-04-15 Anthony Corke Offer or reward system using consumer behaviour modeling
US8131722B2 (en) * 2006-11-20 2012-03-06 Ebay Inc. Search clustering
CN102591873B (en) * 2011-01-12 2016-01-20 腾讯科技(深圳)有限公司 A kind of information recommendation method and equipment
CN102024065B (en) * 2011-01-18 2013-01-02 中南大学 SIMD optimization-based webpage duplication elimination and concurrency method
CN102646097B (en) * 2011-02-18 2019-04-26 腾讯科技(深圳)有限公司 A kind of clustering method and device
CN102693502A (en) * 2012-06-04 2012-09-26 南京中兴软创科技股份有限公司 Consumer consumption behavior oriented time-lapse data analysis model establishment method
CN102750647A (en) * 2012-06-29 2012-10-24 南京大学 Merchant recommendation method based on transaction network
CN102929906B (en) * 2012-08-10 2015-07-22 北京邮电大学 Text Grouping and Clustering Method Based on Content Feature and Topic Feature
CN103699593A (en) * 2013-12-11 2014-04-02 中国科学院深圳先进技术研究院 Method and system for rapidly traversing generalized suffix tree
CN103955842B (en) * 2014-04-14 2017-03-29 武汉烽火普天信息技术有限公司 A kind of online advertisement commending system and method towards mass media data
CN104077412B (en) * 2014-07-14 2018-04-13 福州大学 A kind of microblog users interest Forecasting Methodology based on more Markov chains

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060012541A (en) * 2004-08-03 2006-02-08 한국정보통신주식회사 Apparatus and method for providing linked information using card transaction information
KR20090083972A (en) * 2008-01-31 2009-08-05 연세대학교 산학협력단 Method for building music database for music search, method and apparatus for searching music by inputting humming query
KR20130062889A (en) * 2011-12-05 2013-06-13 삼성전자주식회사 Method and system for data compression
KR20140131471A (en) * 2013-05-03 2014-11-13 삼성전자주식회사 Method and Apparatus for mining temporal pattern

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Journal of Korea Information Processing Society - Design of a MapReduce-Based Mobility", PATTERN MINING SYSTEM FOR NEXT PLACE PREDICTION, 31 August 2014 (2014-08-31) *

Also Published As

Publication number Publication date
KR101624272B1 (en) 2016-05-25
CN107004221A (en) 2017-08-01
CN107004221B (en) 2021-07-09

Similar Documents

Publication Publication Date Title
CN111614690A (en) Abnormal behavior detection method and device
KR101594577B1 (en) Apparatus and Method for processing data stream using clustered query
Sivasankar et al. Hybrid PPFCM-ANN model: an efficient system for customer churn prediction through probabilistic possibilistic fuzzy clustering and artificial neural network
JP2010277360A (en) Campaign provision system, campaign provision method and campaign provision program
CN112487021B (en) Correlation analysis method, device and equipment of business data
CN108764943B (en) Suspicious user monitoring and analysis method based on capital transaction network
CN107679737A (en) The method and device of project recommendation
Khoroshevsky et al. Human mobility-pattern discovery and next-place prediction from GPS data
CN111160410B (en) Object detection method and device
CN111835776A (en) Network traffic data privacy protection method and system
CN111159515A (en) Data processing method, device and electronic device
CN113592605A (en) Product recommendation method, device, equipment and storage medium based on similar products
US20180107763A1 (en) Prediction using fusion of heterogeneous unstructured data
CN108537291A (en) A kind of sample classification method and apparatus
WO2016085042A1 (en) Card use pattern analysis method for predicting type of business used, and server for performing same
WO2020066444A1 (en) Customer information registration device
Mustafa et al. Feature selection for phishing website by using naive bayes classifier
CN104217032B (en) The processing method and processing device of database dimension
CN112700261B (en) Method, device, equipment and medium for detecting single file of brushing on basis of suspicious communities
WO2022080583A1 (en) Deep learning-based bitcoin block data prediction system taking into account time series distribution characteristics
Zhang et al. Not too late to identify potential churners: early churn prediction in telecommunication industry
WO2016195421A1 (en) Method, system and non-transitory computer-readable recording medium for providing data profiling based on statistical analysis
WO2020150376A1 (en) Real time user matching using purchasing behavior
CN113362098B (en) Data processing method, device and computer readable storage medium
CN111899057B (en) Customer portrait data cluster analysis system based on edge cloud node data collection

Legal Events

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

Ref document number: 15862211

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15862211

Country of ref document: EP

Kind code of ref document: A1