WO2014035048A1 - 아이템 추천 시스템 및 방법 - Google Patents
아이템 추천 시스템 및 방법 Download PDFInfo
- Publication number
- WO2014035048A1 WO2014035048A1 PCT/KR2013/006184 KR2013006184W WO2014035048A1 WO 2014035048 A1 WO2014035048 A1 WO 2014035048A1 KR 2013006184 W KR2013006184 W KR 2013006184W WO 2014035048 A1 WO2014035048 A1 WO 2014035048A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- item
- recommendation
- user
- purchase history
- specific
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
Definitions
- the present invention relates to an item recommendation system and method for intelligently recommending items that can induce various interests of a user among items provided to a user by a service provider through a communication network.
- the present invention has been proposed to solve the above-mentioned conventional problems, and recommends an item that can intelligently extract and provide an item capable of inducing various interests of a user among items provided to the user through a communication network by a service provider. It is intended to provide a system and method.
- the present invention analyzes the purchase history of the users to calculate the heterogeneity of the purchase form between users, and based on the calculated heterogeneity degree to the user based on the purchase history of other users having the lowest similarity with the purchase form of the selected user
- An object recommendation system and method for recommending heterogeneous items is provided.
- the present invention also provides an item recommendation system and method for generating association rules between items purchased by a user by analyzing a purchase history of users, and extracting and providing a recommendation item using the association rule.
- an object of the present invention is to provide an item recommendation system and method that can efficiently and quickly perform item recommendation by storing and retrieving a large amount of purchase history data.
- a solution to at least one of the present invention which includes at least one user terminal having an item purchase history and receiving item recommendation information based on the item purchase history; After grouping all the user terminals, the heterogeneity degree of the purchase type between the user terminals is calculated based on the purchase history of the user terminals belonging to a specific group, and based on this, the heterogeneous purchase belongs to the same group as the specific user terminal belonging to the specific group.
- the present invention comprises at least one user terminal having an item purchase history, receiving the item recommendation information based on the item purchase history; Generate and store association rules that define a combination between purchased items based on history of purchasing items of the user terminals, and generate item recommendation information related to items included in a purchase history of a specific user terminal from the association rule; It provides an item recommendation system comprising an item service device provided to a specific user terminal.
- the item recommendation system described above may further include a distributed processing service apparatus configured to distribute and store data necessary for generating item recommendation information.
- the item service apparatus the device communication unit for supporting the signal processing required for the connection and purchase of at least one user terminal; Group all the user terminals into a certain number of groups, and calculate heterogeneity degree of purchase type between user terminals based on the purchase history of user terminals belonging to a specific group, and based on this,
- a device controller extracting other user terminals belonging to the same group having heterogeneous purchase behaviors, and generating item recommendation information including a list of heterogeneous recommended items based on the purchase history of the other user terminals and providing the same to the specific user terminal; It may include.
- the device controller calculates a heterogeneity degree of the purchase type between the user terminals based on a ratio of the intersection number of the products purchased by the two users to the number of the union of the products purchased by the two users.
- the device control unit represents a purchase history for each user as a purchase history matrix in which rows and columns are defined as user information and product information, respectively, and the heterogeneity degree matrix between users representing heterogeneity between the calculated users in the purchase history matrix. By multiplying, it is possible to calculate a recommendation item score for each product for each user, and generate the heterogeneous recommendation item list based on the recommendation item score for each product.
- the device controller divides the entire user terminals into a predetermined number of groups and allocates a group ID to each group so as to control the group ID for each user terminal and control the user for each group ID.
- Data of terminals may be grouped.
- the device controller may be configured to compare the purchase history of each user terminal belonging to the same group with the purchase history of other user terminals belonging to the same group based on collaborative filtering to calculate a heterogeneity score in the order of low similarity.
- the heterogeneity may be controlled to generate a heterogeneous recommendation item list including a predetermined number of items for each score.
- the item service device may further include a device storage unit for distributing and storing data necessary for generating the item recommendation information.
- the item service apparatus may include: a device communication unit supporting signal processing required for accessing at least one user terminal and purchasing an item; An apparatus for generating predefined association rules based on history of purchasing items of user terminals, and generating item recommendation information corresponding to at least a part of purchase history of a specific user terminal from the association rule and providing the same to the specific user terminal.
- the apparatus may further include a controller, and may further include a device storage configured to store the association rules and the purchase history of the user terminals.
- the device controller may check a purchase history of the specific user terminal, search for related rules corresponding to items included in the purchase history, and determine a predetermined number based on a predetermined criterion. After selecting association rules to be used as a preliminary recommendation item of, items included in a predetermined schedule ranking may be generated as item recommendation information.
- the predetermined criterion includes at least one of support, reliability, and improvement.
- the support is a ratio of association rules that include two specific products of the overall association rules.
- the reliability is a ratio of association rules in which the specific product and the other specific product are included among all the association rules including the specific product.
- the degree of improvement is the ratio of association rules generated based on a history of purchasing another specific product and purchasing the specific product among the association rules including the specific product.
- the present invention as a solution to the above problem, grouping all the user terminals in a certain number of groups; Calculating a heterogeneity degree for a purchase type between user terminals based on a purchase history of user terminals belonging to a specific group; Based on the heterogeneity, extracting other user terminals belonging to the same group as a specific user terminal and having heterogeneous buying behaviors, and generating a list of heterogeneous recommendation items for the specific user terminal based on the purchase history of the other user terminals. It provides an item recommendation method comprising the step of providing.
- the present invention comprises the steps of generating and distributed storage by the item service device associated rules having a predetermined predetermined rule length based on the item purchase history of the user terminals; Calculating, by the item service apparatus, a predetermined number of preliminary recommended items based on a predetermined number of association rules corresponding to items included in a purchase history of a specific user terminal; Configuring, by the item service apparatus, items within a predetermined predetermined rank among the preliminary recommended items calculated as item recommendation information; The item service apparatus provides the item recommendation method comprising providing the item recommendation information to the user terminal.
- the user's interest or interest is diversified, thereby supporting various forms of purchase patterns and increasing various consumption. You can do that.
- the present invention further extends the user's selection range, interests and interests by not simply recommending items of a similar style, but by recommending items of a style different from those used by other users who belong to the same or similar groups as themselves. You can.
- the user by analyzing the purchase history of the user to create an association rule related to the user purchase pattern, and extracts the recommended item based on the generated association rule, the user is likely to purchase Item recommendation can be provided quickly, helping users to purchase items more reasonably and easily.
- the present invention applies heterogeneous item recommendation by effectively storing and retrieving a large amount of data, especially a large purchase log, by applying a distributed environment, for the processing of item recommendation based on the heterogeneous item recommendation or association rule described above. You can do it faster and more effectively.
- FIG. 1 is a block diagram showing the overall configuration of an item recommendation system according to the present invention.
- FIG. 2 is a block diagram illustrating in more detail the configuration of an item service apparatus in the item recommendation system configuration according to the present invention.
- FIG. 3 is a block diagram illustrating a detailed configuration of a device controller for performing an item recommendation function according to a first embodiment of the present invention.
- 4 to 7 are diagrams for explaining an example of a process of providing a list of heterogeneous recommendation items according to the first embodiment of the present invention.
- FIGS. 8 to 12 are flowcharts illustrating an item recommendation method according to a first embodiment of the present invention.
- FIG. 13 is a flowchart illustrating another example of an item recommendation method according to the first embodiment of the present invention.
- FIG. 14 is a diagram illustrating an example of a user purchase history for explaining an item recommendation function according to a second embodiment of the present invention.
- FIG. 15 is a diagram illustrating an example of an association rule calculated from a purchase history of FIG. 14 for recommending an item according to a second embodiment of the present disclosure.
- 16 is a block diagram illustrating a detailed configuration of a device controller for performing an item recommendation function according to a second embodiment of the present invention.
- FIG. 17 is a diagram illustrating an association rule distributed storage structure in an item recommendation system according to a second embodiment of the present invention.
- FIG. 18 is a diagram for explaining distributed storing of a user purchase history in an item recommendation system according to a second embodiment of the present invention.
- FIG. 19 is a diagram illustrating a preliminary recommendation item searching process in the item recommendation system according to the second embodiment of the present invention.
- 20 is a diagram illustrating one form of association rules for an item recommendation function according to a second embodiment of the present invention.
- 21 and 22 illustrate example recommended items extracted based on the association rule of FIG. 20.
- FIG. 23 is a flowchart illustrating an item recommendation method according to a second embodiment of the present invention.
- FIG. 24 is a view for explaining an example of MapReduce applied to the item recommendation function of the present invention.
- FIG. 1 is a view schematically showing the configuration of an item recommendation system according to the present invention.
- the item recommendation system 10 may be connected to the at least one user equipment 100 and the user terminals 100 by being connected through the communication network 300. It may include an item service device 200 that supports the search and purchase function. In addition, the item recommendation system 10 may further include a distributed processing service device 400.
- the item recommendation system 10 includes an item including information on at least one item in order for the item service apparatus 200 to guide and sell at least one item, for example, at least one product, to the user terminal 100.
- a search screen can be provided.
- the item service device 200 may use collaborative filtering based on a purchase history of various user terminals 100 sold through the item service device 200.
- the item service apparatus 200 selects at least one item included in the purchase history of another user having the lowest similarity with the purchase history of a specific user as a heterogeneous recommendation item list. .
- a specific user terminal it is possible to support a specific user terminal to enable heterogeneous recommendation items contrary to the purchase history.
- users can receive recommendations for items that are least relevant to their purchase history or are completely different from their purchase patterns, thereby expanding their interest in more diverse items and making it easier and more interesting to purchase new items of interest. You can proceed.
- the item service apparatus 200 generates and stores an association rule between items based on the item purchase history of the user terminals 100 and uses the specific user terminal 100.
- Item recommendation information may be extracted and provided from the purchase history.
- the communication network 300 may support to establish a communication channel between the user terminal 100 and the item service apparatus 200. That is, the communication network 300 may support connection to the item service apparatus 200 of the user terminal 100, transmission and reception of item search screens, transmission and reception of heterogeneous recommended item information, and transmission and reception of signals for item purchase.
- the communication network 300 may be configured as an internet network device when the user terminal 100 is a terminal such as a desktop, and a mobile communication network device when the user terminal 100 is a terminal supporting a mobile communication function. For example, it may be configured with a base station and a controller.
- the communication network 300 may support the formation of a communication channel for transmitting and receiving data between the item service apparatus 200 and the distributed processing service apparatus 400.
- the communication network 300 may be configured as at least one of a wired network device connecting the item service device 200 and the distributed processing service device 400 by wire or a wireless network device connecting wirelessly.
- the communication network 300 transmits information for storing the purchase history of all the user terminals 100, transmits and receives a signal for grouping the user terminals 100, transmits and receives a signal for extracting recommended items based on collaborative filtering, and calculated items. Signal transmission and reception such as transmission of recommendation information may be supported.
- the communication network 300 is, for example, an IP network, which provides a data service without interruption and a large amount of data transmission through the Internet protocol, an IP network structure that integrates different networks based on the IP all IP (All Various known technologies such as IP), Wibro (Wireless Broadband) network, Wireless LAN including Wi-Fi network, wired communication network, mobile communication network, HSDPA (High Speed Downlink Packet Access) network and satellite communication network In addition to the communication network, it can be a next generation communication network to be developed in the future.
- IP IP
- Wibro Wireless Broadband
- Wireless LAN Wireless LAN including Wi-Fi network
- wired communication network wireless communication network
- mobile communication network mobile communication network
- HSDPA High Speed Downlink Packet Access
- the user terminal 100 may be connected to the communication network 300 using a communication unit, and may be connected to the item service apparatus 200 connected to the communication network 300.
- the user terminal 100 may receive and output information corresponding to the item search screen provided by the item service apparatus 200. That is, the user terminal 100 may output an item search screen for viewing and purchasing at least one item on the display unit.
- the user terminal 100 may receive and output at least one recommendation item provided by the item service apparatus 200 together with the item search screen information.
- the recommendation item may include heterogeneous recommendation items extracted based on a purchase history of a user having a different purchase pattern from a user, and the association rule described above with respect to a specific item such as a product, a service, or an app purchased by the user.
- Such a recommendation item may be calculated based on an arbitrary collaborative filtering method in connection with a specific item such as a product, a service, or an app purchased by the corresponding user terminal 100.
- the user terminal 100 may be assigned to a specific group among all user terminals.
- the recommended item may be an item calculated based on a purchase history of other user terminals belonging to the group.
- the user terminal 100 may access the item service apparatus 200 and have a purchase history for various items provided by the item service apparatus 200. The purchase history of each user terminal 100 may be distributed and stored in the item service apparatus 200.
- the user terminal 100 When an input signal for selecting a specific item among items provided on the item search screen or recommended items is generated, the user terminal 100 requests the item service apparatus 200 for detailed information of the corresponding item, and the item service apparatus 200. When the item detail information is received from the display unit, the detailed information may be output to the display unit. Thereafter, when an input signal for purchasing a specific item is generated according to a user request, the user terminal 100 may transmit a message for purchasing the item to the item service apparatus 200 and perform the item purchase according to a predefined procedure. have.
- the information on purchasing the item may be provided to the item service apparatus 200.
- the purchase history of the items of the specific user terminal 100 provided from the user terminal 100 may be excluded from the following foreign recommendation items. Accordingly, as the user terminal 100 purchases specific items, new and various items not purchased by the user terminal and mainly purchased by other users may be recommended as foreign recommendation items.
- the purchase history of the specific user terminal 100 provided from the user terminal 100 may be distributed and stored according to the association rule to contribute to item recommendation information generated later.
- the item service apparatus 200 is an apparatus that provides an item search screen for the user terminal 100 to view and purchase a specific item, and supports to perform a specific item purchase at the request of the user terminal 100.
- the item service apparatus 200 has no history of purchase by the user terminal 100 and the user terminal 100 through a collaborative filtering method for the purchase history of the user terminals 100. It is possible to calculate a heterogeneous recommendation item having a very low relevance, and provide the heterogeneous recommendation item to a specific user terminal 100.
- the item service apparatus 200 may check the purchase history of all the user terminals 100 in order to calculate a foreign item having a low relation with the purchase history of the specific user terminal 100. In this case, the item service apparatus 200 may classify all the user terminals 100 into a certain group and control the calculation of the foreign recommendation item of the specific user terminal 100 to be performed in the corresponding group.
- the item service apparatus 200 may operate a distributed processing system to store the purchase history of the user terminals 100, divide the group, and calculate foreign recommendation items in the divided group. That is, the item service apparatus 200 may interwork with the distributed processing service apparatus 400 that stores data and supports retrieval for calculating foreign recommendation items.
- the distributed processing service device 400 supports effectively storing and retrieving a large amount of data on a purchase history, thereby enabling the user to quickly and effectively recommend items based on the large amount of purchase history.
- the item service apparatus 200 supports the connection of the user terminal 100 and provides at least one foreign recommendation item to the user terminal 100.
- the item service apparatus 200 may provide the user terminal 100 with information about an item search screen.
- the item service apparatus 200 may support the item purchase process according to the corresponding message.
- the item service apparatus 200 may support heterogeneous recommendation items suitable for the corresponding user terminal 100 when the specific user terminal 100 is connected. To this end, the item service apparatus 200 may check the identification information of the specific user terminal 100 and may request a foreign recommendation item from the distributed processing service apparatus 400 based on the identification information of the specific user terminal 100.
- the distributed processing service apparatus 400 may perform distributed storage of purchase histories of the user terminals 100, grouping of all user terminals 100, distributed storage of purchase histories of grouped user terminals 100, and grouping of stored user groups. It may be configured to include a plurality of data nodes to calculate the heterogeneous recommendation item based on the purchase history of them, to provide the calculated heterogeneous recommendation item to the item service device 201. Each data node supports the MapReduce function, in particular, the distributed processing service device 400 uses the first MapReduce function for grouping user terminals, and the heterogeneity for the specific user terminal 100 in the purchase history of the grouped user terminals. The second MapReduce function may be used to calculate the recommended item. Through this, the distributed processing service device 400 may calculate and provide a heterogeneous recommendation item more quickly based on a large purchase history.
- the item recommendation system 10 calculates a heterogeneous recommendation item having low relevance to the purchase history of the user terminals 100 by applying a grouping method and an arbitrary collaborative filtering method.
- a specific user may be provided with an opportunity to experience various types of items.
- the item service apparatus 200 may generate an association rule based on a purchase history of the user terminals 100, and may generate a specific user terminal based on the association rule and a predefined usability determination component.
- the item recommendation information of 100 may be generated.
- the item service apparatus 200 may provide the generated item recommendation information to the corresponding user terminal 100.
- the distributed processing service device 400 may support a distributed processing scheme for storing and using an association rule.
- the distributed processing service apparatus 400 may provide the recommendation item to the user terminal 100 based on a purchase history and association rules of the user terminal 100. It may be configured to include a plurality of data nodes to distribute and store the purchase history of the 100, and to support the storage and retrieval of association rules.
- each data node supports the MapReduce function, and based on this, create and store association rules, and evaluate the association rules based on a predefined usability determination component.
- the evaluation result evaluated by each data node may be used to select a preliminary recommendation item, and the item service apparatus 200 lists related rules based on the purchase history and identification information of the user terminal 100 and determines a predefined usefulness. By applying the component, association rules having a certain evaluation value among the association rules may be selected.
- the item service apparatus 200 controls to generate the item purchase information as a new association rule by applying a predefined association rule length and store it in at least one data node. can do.
- the item recommendation system 10 classifies and stores the history of purchasing a specific item by a plurality of user terminals 100 according to a predefined association rule, and determines usefulness. After evaluating the stored association rules classified based on the element, and extracting items having a predetermined evaluation value or more, the extracted items may be provided in a predetermined number according to a predefined criterion. Accordingly, the specific user terminal 100 may obtain more reliable item recommendation information based on the purchase history of other user terminals who purchased the item using the item service apparatus 200 while using the item service apparatus 200. Can be.
- the present invention can support the user who purchased a particular item to properly reflect the needs of users who purchased the same item by reflecting the need for other items associated with the item.
- the item service apparatus 200 stores association rules using distributed data nodes together with access of the user terminal 9100 and support for item purchase, and is evaluated based on the availability determination component.
- the present invention is not limited thereto, and the user terminal 100 may be configured by using distributed data nodes and an item service apparatus that supports connection and purchase of an item according to a system design scheme. It may be divided into a distributed processing service device 200 that stores the purchase history of these, checks the association rules and determines the usefulness.
- the item service apparatus 200 is separately described as the item service apparatus 200 and the distributed processing service apparatus 400, but the present invention is not limited thereto.
- the item service apparatus 200 may provide a heterogeneous recommendation item calculation according to the connection and item purchase support of the user terminal 100, the grouping of the user terminals 100, and the application of a collaborative filtering method through one service apparatus. That is, the item service device 200 may be configured to include the functions of the distributed processing service device 400.
- FIG. 2 is a view showing in more detail the configuration of the item service apparatus 200 according to the present invention.
- the item service device 200 of the present invention may include a device communication unit 210, a device storage unit 250, and a device control unit 260.
- the item service apparatus 200 of the present invention having such a configuration extracts foreign users with respect to a specific user according to the first embodiment and recommends products to a specific user by using a purchase history of a group including such foreign users. Can help create a county.
- a similarity between the purchase history of the specific user and the purchase history of all the other user terminals may be calculated to extract a user having a similarity or less than a predetermined value.
- N X (N-1) / 2 large computational loads are required.
- the item service apparatus 200 supports grouping heterogeneous users in a Hadoop MapReduce-based distributed environment and calculating heterogeneous recommendation products based on purchase history of a specific group of heterogeneous users. .
- the association rules evaluated based on the usability determination component based on the purchase history of the user terminal 100 may be calculated and provided as item recommendation information.
- the item service apparatus 200 may use a distributed processing system for storing and operating an association rule.
- the device communication unit 210 supports communication channel establishment with the user terminal 100 through the communication network 300.
- the device communication unit 210 may provide an item search screen to the user terminal 100 under the control of the device control unit 260. Thereafter, when the device communication unit 210 requests a purchase of a specific item through the item search screen, the device communication unit 210 may receive a corresponding purchase request message from the user terminal 100 and transmit the received purchase request message to the device controller 260. In particular, the device communication unit 210 may transmit to the corresponding user terminal 100 a purchase history of a user connected through the user terminal 100 and a recommendation item to which any cooperative filtering scheme is applied under the control of the device controller 260. have. The device communication unit 210 may receive item purchase request information presented through the recommended item from the user terminal 100 and provide the received item purchase request information to the device controller 260. In addition, the device communication unit 210 may support data transmission and reception required during the item purchase process.
- the device storage unit 250 may store an operation program for operating the item service device 200 and a purchase history of users for calculating and providing a recommendation item according to embodiments of the present disclosure.
- the device storage unit 250 may store the purchase history 251 of the user terminals 100.
- the purchase history 251 may be managed including information such as "user ID, purchased goods ID, date ## and the like.
- the device storage unit 250 may further store identification information and group ID information of the user terminal 100.
- the user log inquiry list may be used to support retrieval of information on the association rules.
- 253 may include.
- the user log inquiry list 253 may include address information on which data nodes the purchase history information of a specific user terminal is stored.
- the device controller 260 may generate a search message for searching for related rules based on the information included in the user log inquiry list 253 and control the search message to be delivered to the data nodes.
- various information (eg, purchase history) related to the user terminals 100 may be distributed and stored in the data nodes of the distributed processing service apparatus 400. That is, the distributed processing service device 400 is distributed and stored in a plurality of data nodes supporting data storage and retrieval by the MapReduce function.
- the device controller 260 is configured to support the overall operation of the item service device 200 according to the embodiment of the present invention in cooperation with the device communication unit 210 and the device storage unit 250. That is, the device controller 260 controls the device connection of the user terminal 100, providing an item search screen, grouping of data for all user terminals, distributed storage, searching, processing for calculating recommendation items, and providing the calculated recommendation items. can do. In this case, the detailed configuration of the device controller 260 may vary according to the recommended item extraction method.
- heterogeneous recommendation items may be extracted from the purchase history of users having different purchase patterns from the user, and as in the second embodiment, generated based on the analysis of the purchase history. Based on the association rule, the related item may be extracted as the recommended item from the purchase history of the user.
- FIG 3 is a diagram illustrating in detail the configuration of the device controller 260 according to the first embodiment of the present invention.
- the device controller 260 of the item service device 200 includes a data processor 261, a heterogeneity calculator 262, and a product recommender 263. Can be configured.
- the data processor 261 may control appropriate data classification and storage before calculating the heterogeneity based on the purchase history of each user terminal 100.
- the data processing unit 261 collects the purchased product ID for each user ID for the entire user purchase history within a predetermined period, and has a data type such as "user ID, purchased product ID, purchased product ID, purchased product ID ". Process as much as possible.
- the data processor 261 performs a first MapReduce process and a second MapReduce process.
- the data processing unit 261 In order to perform the first MapReduce process, the data processing unit 261 generates a natural number between 1 and P for each user terminal 100, and connects the generated natural numbers Q (using a concatenation operator) to a specific user terminal. It is specified by the group ID of (100).
- P and Q are values for determining the number of all user terminals 100 and the size of the group to be determined, and are natural numbers of one or more.
- the size of each group is set to N / (P Q ) on average. For example, when there are 10 million user terminals 100, when P is 17 and Q is 3, an average of 2,000 user terminals may be grouped per group. Accordingly, P and Q values may be defined experimentally or statistically so that user terminals corresponding to a certain number of groups can be included.
- the data processing unit 261 generates a specific group including a specific user terminal by performing a grouping process on all user terminals while performing the first MapReduce process and the second MapReduce process, and generates a specific group including the specific user terminal. It can be processed to collect the purchase history of other user terminals belonging to.
- the heterogeneity calculator 262 calculates a Jaccard similarity between a specific user ID and another user (H name). That is, the heterogeneity calculator 262 may calculate H similarity between the purchase history of the specific user terminal 100 and H other user terminals.
- H name corresponding to the number of other user terminals may also be determined experimentally.
- the heterogeneity calculator 262 calculates the total Jaccard similarity between the specific user and other users in order to calculate the heterogeneity of the specific user ID. Even in this case, if there are M users in the same group, M X (M-1) / 2 operations are performed, which significantly reduces the number of users. As a result, the computational load on the similarity calculation can be reduced.
- the dissimilarity value for each user terminal may be expressed as in Equation 1 below.
- 1-J (UserA, UserB) is the heterogeneity between user A and user B
- is the number of intersections of the goods purchased by user A and user B
- is user A The number of unions of goods purchased by and user B. That is, for collaborative filtering based on purchase history of heterogeneous user terminals, a product purchased by a user having a Jaccard similarity of 0 should receive the highest score, so the heterogeneity calculator 262 defines (1.0-jaccard Similarity) as a heterogeneity. can do. Meanwhile, when the heterogeneity calculation is completed, the heterogeneity calculator 262 may provide the values to the product recommender 263.
- the heterogeneity calculator 262 may express the purchase history for each user as a matrix (hereinafter, referred to as a "purchase history matrix") in which rows and columns are represented by user information and product information, respectively, for the above-described processing.
- the heterogeneity matrix between users is calculated based on Equation 1 through the above-described purchase history matrix, and then multiplied by the purchase history matrix and the heterogeneity matrix between users to recommend based on heterogeneity for each user.
- the score of the recommended item for each product can be calculated.
- the score of the recommendation item means a heterogeneity-based recommendation score for each product.
- the product recommendation unit 263 obtains a list of heterogeneous recommendation products for each score calculated from the heterogeneity calculator 262, and then removes the list of products already purchased by the user terminal 100 from the recommendation product list.
- the heterogeneity calculator 262 extracts only a list of the top K products predefined in accordance with the service requirements.
- 4 to 7 illustrate examples of the heterogeneity calculation calculated by the heterogeneity calculator 262 of the present invention.
- user # 1 has a history of purchasing goods # 1, product # 2, and product # 4
- user # 2 has a history of purchasing goods # 3 and # 4.
- user # 3 has a history of purchasing goods # 1, goods # 3 and goods # 4.
- the heterogeneity matrix for other users of user # 1 under these conditions is shown in FIG. 5.
- the heterogeneity degree of the user # 1 may be 0, and the heterogeneity degree of the user # 1 may be 0 or more different from that of the other users # 2 and # 3. The larger the value, the greater the difference in propensity of purchase history among users.
- the dissimilar concatenation factor may include product # 3 and product # 4 of 1.25, and product # 1 of 0.5.
- matrix multiplication of the heterogeneity matrix D and the purchase history matrix L may be performed to calculate a score of the recommendation item based on the heterogeneity of each user as shown in FIG. 6.
- the product recommendation unit 263 extracts the recommendation list in the order of the products except the products already purchased by the user in the order shown in FIG. 6. That is, in the case of user # 1, the product recommendation unit 263 may configure a list of heterogeneous recommendation products in the order of product # 3, product # 4, product # 1, and product # 2. Here, since the user # 1 already has a history of purchasing goods # 1, # 2, and # 4, the product recommendation unit 263 excludes products having a purchase history, and the foreign recommendation product including the product # 3. You can create a list.
- the product thus provided may be displayed on the screen of the user terminal 100 as a foreign recommendation item of a user having a different purchase style as shown in FIG. 7.
- the product recommendation unit 263 may perform a screen configuration as shown in FIG. 7 and provide a corresponding screen to the user terminal 100. Accordingly, the user may be recommended for foreign recommendation items of users having a completely different purchase method from the screen confirmation as shown in FIG. 7.
- the present invention supporting the heterogeneous recommendation item function of the present invention generates a list of recommended products only based on the purchasing behavior of users having similar purchase history with a specific user, but the purchase behavior is completely different from the specific user.
- Figures 9 to 12 is a view showing each step of Figure 8 in more detail.
- the item service apparatus 200 of the present invention collects the purchase history of all users through interworking with the user terminals 100 in step S110. In more detail, by collecting information related to a purchase transmitted from the user terminals 100, purchase history of all the users may be collected. In more detail, the item service apparatus 200 collects a purchase history including a user ID, a product ID, and a purchase date in operation S111 as shown in FIG. 9. The item service apparatus 200 extracts a user log for each period in step S112, and groups a purchase log for each user terminal in step S113. Thereafter, the item service apparatus 200 may collect data such as a user ID and a list of purchased products (item ID, product ID, product ID, ...) in step S114.
- the item service apparatus 200 may perform grouping of the user terminals 100 in operation S120.
- the item service apparatus 200 may perform grouping for each group ID. Accordingly, the item service apparatus 200 may perform purchase history grouping of each of the user terminals 100 classified by Group ID as in step S124.
- the item service apparatus 200 performs data classification for each user terminal in step S130.
- the data classification process may be performed as shown in FIG. That is, the item service apparatus 200 performs grouping of data for each user ID in step S132, except for all users in the same group per user in the same group in step S131, and thus, the same group for each user ID as in step S133.
- the purchase history of other users belonging to can be classified and stored.
- the item service apparatus 200 performs a heterogeneity calculation for each user in operation S140, and generates a heterogeneous recommendation item list for each user terminal based on the calculated heterogeneity.
- the item service apparatus 200 may calculate a heterogeneity-related score for each user ID in operation S141 and generate a product list having the highest heterogeneity for each association score. have.
- the item service apparatus 200 may generate a heterogeneous recommendation item list by excluding the products included in the purchase history for each user ID from the product list generated in step S142.
- the item service apparatus 200 may provide a list of foreign recommendation items for the selected user. That is, the item service device 200 confirms identification information of a user currently connected to the device communication unit 210 through the user terminal 100, and provides the user terminal 100 with a foreign recommendation item generated by the corresponding user ID. Can be supported.
- the method for providing a heterogeneous recommendation item list according to the operation of the item service apparatus 200 of the present invention may generate and prepare a heterogeneous recommendation item list for all user terminals in advance.
- the user ID may be checked and a list of pre-generated foreign recommendation items may be provided.
- the item service apparatus 200 of the present invention supports generating heterogeneous recommendation items in a time zone in which a service device is less loaded, and is previously generated without performing a heterogeneous recommendation item generation process at a time when various user terminals are connected. It can support providing a list of heterogeneous recommended items.
- the item service apparatus 200 may update the heterogeneous recommendation item list at regular intervals in consideration of the occurrence of the update of the purchase history according to the purchase of the items by the users.
- FIG. 13 is a view for explaining another operation example of the item service apparatus 200 according to the first embodiment of the present invention.
- the item service apparatus 200 may collect the purchase history of the entire user terminal 100 in step S210 and perform grouping in step S220.
- steps S210 and S220 may be the same process as the purchase history collection process and the grouping process performed by the item service apparatus 200 with respect to the user terminals in steps S110 and S120 of FIG. 8 described above.
- the item service apparatus 200 performs a specific user selection belonging to a specific group in step S230. That is, the item service apparatus 200 may identify identification information of a specific user currently connected through the user terminal 100, and identify a specific group to which the user belongs based on the identification information of the corresponding user. To this end, the item service apparatus 200 may store and manage a list of group IDs to which each user belongs in the process of grouping all users.
- the item service apparatus 200 may calculate heterogeneity with the specific user selected in operation S240 and other users belonging to the same group. That is, the item service apparatus 200 may check the purchase history of all users of the group to which the selected user belongs, and calculate heterogeneity by applying the collaboration filtering method described above to the purchase history of the selected user and other users of the group. have.
- the item service apparatus 200 may support to generate a list of heterogeneous recommended items based on the heterogeneity calculated in operation S250 and the purchase history of the selected user terminal, and provide the same to the corresponding user terminal.
- the item recommendation method based on the operation of the item service apparatus 200 is a part for generating a list of heterogeneous recommendation items when a specific user terminal is selected to access or provide a foreign recommendation item. Perform the process. Accordingly, the present invention is characterized in that the load on the service device can be reduced by performing the calculation at the time of providing the list to the user terminal. In addition, when the step S230 is performed before the step S210, the present invention can support the update time of the foreign recommendation item provided to the specific user terminal to be the latest time.
- the first user has a history of purchasing Beer, Chicken, Milk
- the second user has a history of purchasing Beer, Cheese
- the third user (User 3) is Cheese, Boots
- the fourth user (User 4) is Beer, Chicken, Cheese
- the fifth user (User 5) is Beer, Chicken, Clothes, Cheese, Milk
- a user (User 6) has a history of purchasing Chicken, Clothes, Milk
- the seventh user (User 7) has purchased Chicken, Milk, Cloths, respectively.
- the item service apparatus 200 may generate an association rule as shown in FIG. 15 based on the purchase history of the above-described users.
- the association rule may be expressed as a set of items purchased by the same user.
- the item service apparatus 20 may generate various types of association rules according to the length of the association rule. For example, the item service apparatus 20 may generate a rule length of 2 (Beer, Chicken), (Beer, Milk), (Chicken, Milk), and the like, as shown.
- the item service apparatus 200 may generate (Beer, Chicken, Cheese), (Chicken, Milk, Clothes) and the like as an association rule when the length of the rule is three.
- the item service apparatus 200 may generate association rules corresponding to various combinations of items purchased together by the same user based on a purchase history purchased by each user, according to a predefined rule length. .
- Each generated association rule may be distributed and stored in a plurality of distributed processing apparatuses 400 included in the item service apparatus 200 or separately managed.
- the item service apparatus 200 will be described based on an example of generating and operating an association rule based on a rule length of two.
- the item service apparatus 200 may use three components. That is, the item service apparatus 200 supports to determine the usefulness of the association rule based on at least one of support, confidence, and lift. To this end, the item service apparatus 200 may derive each usefulness determination component from the statistical result of the association rules.
- the support may correspond to the number of transactions including a specific product A and a product B among all transactions.
- the goods A and the goods B are for illustrating different kinds of goods and may be any one of the goods shown in FIG. 14.
- the aforementioned support degree may be defined as in Equation 2 below.
- T is the number of transactions including commodity A and commodity B
- D may be the total number of transactions.
- A may refer to product A and B to product B
- product A and product B may be specific products included in a purchase history of users through the item service apparatus 100 as described above. Accordingly, the degree of support may be the ratio of the association rule including both goods A and B among the overall association rules.
- the reliability may refer to a ratio of a transaction including products A and B simultaneously with respect to a transaction including product A. That is, the reliability may be a ratio of the association rules including the product A and the product B at the same time to the association rules including the product A. This reliability can be defined by equation (3).
- the degree of improvement represents the reliability of the product A-> B of the reliability of the product B.
- the degree of improvement may be the ratio of the transaction in which the purchase of the article B in the situation where the purchase of the article A of the purchase of the article B.
- the degree of improvement may be the ratio of the association rules for purchasing the commodity B in the context of purchasing the commodity A among the total association rules for purchasing the commodity B. If the improvement is less than 1, it means a negative relationship, and if it is greater than 1, it can be interpreted as a positive relationship.
- the degree of improvement may be defined as in Equation 4.
- association rule and the usefulness determination component for the item recommendation have been described.
- the configuration of the device control unit 260 and the item recommendation method of the item service device 200 according to the second embodiment of the present invention that performs the item recommendation based on the above-described association rule and usability determination component will be described in more detail. Let's explain.
- the device controller 260 of the item service apparatus 200 collects association rules based on item purchase history information, and generates item recommendation information based on the same. It may include a configuration as shown.
- FIG. 16 is a view showing in more detail the configuration of the device control unit 260 of the item service device 200 configuration of the present invention.
- FIG. 17 is a view for explaining the distribution of association rules distributed
- FIG. 18 is a view for explaining the storage process of the purchase history for each user
- Figure 19 is a view for explaining the inquiry process of the association rules for each user.
- the device controller 260 of the item service apparatus 200 may include an association rule distributed storage support unit 261, an association rule inquiry unit 263 for each user,
- the recommendation information provider 265 may be included.
- the association rule distributed storage support unit 261 generates an association rule based on the purchase history of users who use the item service apparatus 200, and generates the association rule as shown in FIG. 17 of the distributed processing service apparatus 400.
- This configuration supports storing data nodes.
- FIG. 17 shows association rules corresponding to a plurality of data nodes RDB # 1 to RDB #P when eight head product IDs and eight result product IDs each have specific support, reliability, and improvement and are provided as association rules. Indicates that they can be stored separately.
- association rules composed of the same head product IDs may be stored in each data node, and association rules of the same head product ID may be divided and stored in a plurality of data nodes according to the data amount of the association rule.
- the association rule distributed storage support unit 261 may collect information about purchased items.
- the association rule distributed storage support unit 261 may generate an association rule based on a relationship between items based on a predefined rule length, for example, a rule length of two.
- the association rule distributed storage support unit 261 may distribute and store the generated association rules in data nodes in a predefined format or in a specific data node.
- the association rules stored at this time may be stored in a form including a head product ID, a result product ID, support, reliability, and improvement.
- the head product ID may correspond to a search item for searching for the result product ID.
- the purchased product may correspond to a head product ID.
- the resulting product ID may be an item that is included in the item recommendation information to be provided to the user terminal 100 as a stored product paired with the head product ID.
- the degree of support, reliability, and improvement may be a determining component that determines whether a specific result product ID is included in the item recommendation information.
- at least one of support, reliability, and improvement may determine whether to use the resultant product ID as item recommendation information. That is, the item recommendation information may be determined based on any one of three usability determination components, two of three usability determination components, and one of three usability determination components according to an item providing service design scheme. For example, according to an item providing service design scheme, it may be determined to include the searched result product ID in the item recommendation information using only reliability.
- the association rule inquiry unit 263 for each user may check the purchase history of the user connected through the user terminal 100 from a specific data node. . To this end, the user-specific association rule inquiry unit 263 may control to store the item purchase history of the user terminals 100 using the item service apparatus 200 in specific data nodes, as shown in FIG. 18.
- the association rule inquiry unit 263 for each user extracts preliminary recommendation items having a usability determination component having a predetermined value or more based on a purchase history of a specific user.
- the association rule inquiry unit 263 for each user may search for an RDB, that is, a data node, to bring the actual association rule based on the hash value of the purchase item ID for each user as illustrated in FIG. 19.
- RDB that is, a data node
- items included in purchase histories of user ID 1 stored in data node # 1 are stored in association rules stored in data nodes RDB # 1 to RDB #P, respectively. Items which become a key value to be used and whose at least one of the usefulness determining components among the association rules stored in the respective data nodes are equal to or greater than a predetermined value may be provided as preliminary recommendation items.
- the association rule inquiry unit 263 for each user may provide preliminary recommendation items corresponding to the specific item according to the purchase history to the recommendation information provider 265.
- the user-specific association rule inquiry unit 263 defines only a predetermined number of purchase histories as a valid purchase history when the purchase history of the user terminal 100 is greater than or equal to a certain number, and the association according to the corresponding purchase history. You can query the rules.
- the association rule inquiry unit 263 for each user may define a certain period when the purchase history is more than a certain number, and define only the items purchased within the latest or predefined corresponding period as a valid purchase history.
- the association rule inquiry unit 263 for each user may define all items as a valid purchase history when the number of items included in the purchase history is less than or equal to a certain number, and support to search for preliminary recommended items for each item.
- the recommendation information providing unit 265 applies the usability determination component to the delivered preliminary recommendation items and selects the recommendation items. For example, the recommendation information providing unit 265 may sort the delivered preliminary recommendation items in the order of reliability, and determine the preliminary recommendation items that fall into a predetermined rank in the order of high reliability as the recommendation item. In this process, when there are preliminary recommendation items having the same rank, the recommendation information provider 265 may set higher priority of the preliminary recommendation items of the recent purchase history item.
- the first method is a method of generating a recommendation product proportional to the number of purchased products for each user, and P-association of B_u purchased product IDs of each user and each purchased product ID for each user is Head. You have a rule.
- the recommendation item extraction criterion among the P association rules provided as the preliminary recommendation items may be used at least one of the usability determination component.
- the item recommendation criteria may use all of the support, the reliability, and the improvement, or some of the reliability and some of the improvement.
- the first method is to generate B_u recommended products for a user who has purchased B_u.
- the order of all purchased products may be simply sorted by the order of the purchased product ID, or when the B_u of the purchased product history is too large.
- the association rule may be sorted in the order of purchase product ID based on user preference.
- the item service apparatus 200 searches the association rule of which the product ID of the head is B_i from the next purchased product, selects the rule with the highest confidence value, and brings the Consequent product ID of the corresponding rule. 200) checks whether the imported product ID already exists in the recommended product generated from the previous purchased product. If the corresponding recommended product already exists, the item service apparatus 200 obtains the Consequent product ID of the next higher-trust rule from the association rule of which the product ID of the head is B_i and repeats the existence of the same recommended product. .
- association rules P extracted for each purchase history are significantly smaller than B_u or there are too many B_u, the consequent product ID does not overlap with the previous recommendation result even if all P association rules with the product ID of Head are B_i. May not be obtained. Accordingly, P to be applied to the association rules for each purchase history may be experimentally adjusted in consideration of a decrease in computation speed according to system load and the number of recommended items to be provided.
- the item service apparatus 200 may designate and use the number K of products to be created at the maximum for each user. In this case, the item service apparatus 200 may generate as many as K pieces when K is smaller than B_u and B_u pieces in order when K is larger than B_u, and may not generate a recommendation product for subsequent products. Through this process, the item service apparatus 200 may generate as many K items as the number of B_u or B_u is too large for each user.
- the second method in the item recommendation function method is a method of generating a specific number of recommended products regardless of the number of purchased products for each user.
- the item service apparatus 200 may collect P association rules including B_u purchased product IDs of each user and each purchased product ID for a single user.
- the item service apparatus 200 may extract association rules to be used as a preliminary recommendation item based on at least one of support, reliability, and improvement included in the usefulness determining component.
- the second method is to generate K recommended products for a user who purchased B_u.
- K is a value determined in terms of applied services and products.
- the item service apparatus 200 prepares a storage for storing up to K recommended product IDs.
- the item service apparatus 200 sorts the total (B_u X p) association rules in at least one of the usability determination components, for example, in order of reliability.
- the item service apparatus 200 starts with the association rule with the highest confidence level and repeats the following process until K pieces are added.
- the item service apparatus 200 checks whether a Consequent product ID of the current rule exists in a store storing existing K pieces and adds the recommended product to the recommended product if it does not exist. When there are a plurality of association rules having the same reliability and different Head product and Consequent product IDs, and the total number of stored products does not exceed K, the item service apparatus 200 may use all Consequent product IDs of each association rule. If the number of association rules exceeds K in the process of adding all the association rules having the same reliability to a specific confidence value to the recommended product store, the item service apparatus 200 selects the number to be arbitrarily K.
- the item service device 200 may randomly select two of the four product IDs and add them to the recommended product.
- the item service apparatus 200 records the appearance frequency of the head product ID of the association rule used to generate the recommendation product without selecting a recommendation product arbitrarily in the process of adding the recommendation product, and has the lowest head product ID association. Can be used in order of rule.
- the item service apparatus 200 may prevent a case in which a plurality of Consequent products of the association rule in which the corresponding Head product exists are recommended as a recommendation product, because the reliability value of the association rule in which the specific product is the Head product is high.
- This ratio may be appropriately adjusted according to the K value and the type of service.
- an item such as a book may have an average number of purchased products per user, while an item such as music content may be differentially adjusted according to a service type such as tens / day.
- association rules generated may vary according to the support, reliability, and improvement values, which are the usefulness judgment components that are specified when creating the association rule.
- the K value is also changed. If you specify a large, too large value for P as a multiple of K, you may not get P association rules for each product. Accordingly, the designer who designs the item service apparatus 200 may experimentally adjust the usability determination component and the P value appropriately. Through the above-described process, the item service apparatus 200 may generate K recommendation products for each user.
- the item service apparatus 200 applies the first method of providing three recommended products to a user who has purchased three items, or has an association rule even if the three items are purchased.
- the second method of recommending K products may be selectively operated, or the two methods may be mixed and used according to the intention of the system designer.
- 20 is an example of an association rule queried according to the second embodiment of the present invention, and illustrates association rules sorted based on reliability among usability determination components.
- 20 described above shows association rules generated based on a purchase history in the item service apparatus 200.
- the item service apparatus 200 may use FIG. 21 among consequent goods by the first method.
- a recommendation result as shown in FIG. 22 may be provided by applying the second method.
- K 5.
- the present invention can recommend products that are most statistically related based on their purchase history for each user.
- the present invention may generate and support a recommendation product having a high relation in proportion to the number of purchases per user, or generate and support the number required by the service device regardless of the number of purchases per user.
- the item recommendation method according to the second exemplary embodiment of the present invention provides a required number of recommendation results for users who do not have a recommendation result or a desired number of recommendation results by other collaborative filtering methods in combination with other recommendation methods. can do.
- FIG. 23 is a diagram illustrating a method of operating an item service apparatus 200 according to a second embodiment of the present invention.
- the item service apparatus 200 may have a standby state in step S310. This means that the item service device 200 activates the device communication unit 210 so that the user terminals 100 can access and prepares for providing a service page according to the connection of the user terminals 100.
- the item service apparatus 200 may support performing a procedure for registering a member of each user terminal 100. Thereafter, the item service apparatus 200 checks the connection of the specific user terminal 100 in step S320. In this step, if there is no connection of the user terminal 100, the process may branch to step S310 to maintain the standby state.
- the item service apparatus 200 may perform authentication of the corresponding user terminal 100.
- the item service apparatus 200 may check the purchase history of the corresponding user terminal 100 based on the unique identification information of the user terminal 100.
- the item service apparatus 200 may control to store the purchase history in a specific data node in the process of purchasing an item for each user terminal 100 in advance.
- the item service apparatus 200 may check the purchase history of the user terminal 100 stored in the specific data node based on the identification information of the user terminal 100.
- the item service apparatus 200 applies the association rule previously generated from the corresponding purchase history according to at least one of the above-described first and second methods, and generates item recommendation information in operation S330. And, it can be provided to the user terminal 100.
- the item service apparatus 200 checks whether the corresponding user terminal 100 purchases the product at step S340, and when the product is purchased, branches to step S350 to further apply the purchased product to generate an association rule for product purchase. And store it in a data node. That is, when a specific user terminal 100 purchases an item, the item service apparatus 200 may support to generate an association rule by applying the corresponding item purchase history and apply it to the previously generated association rule.
- the item service apparatus 200 confirms whether or not the user terminal 100 is disconnected at step S360, and returns to step S310 when the user terminal 100 is released from connection, and supports to perform the following process again.
- Branching to the step S330 may support to perform the following process again.
- the item service apparatus 200 of the present invention described above may use at least one distributed data node in the process of storing the association rule for the product purchase history, and in particular, when the user's data is large, It can be distributed and stored on large machines.
- the item service apparatus 200 of the present invention can effectively operate the item recommendation procedure for each user in a distributed environment when there are distributed association rules and a large user purchase history.
- MapReduce is a software framework designed by Google to support distributed computing. This framework was developed to support parallel processing in large clusters of petabytes of large data in untrusted computers. This framework consists primarily of a functional base called Map and Reduce, which is commonly used in functional programming. Hadoop is open source, supporting distributed applications that run on large clusters of computers that can handle large amounts of data.
- the distributed processing system of the present invention implements Hadoop Distributed File System (HDFS) and MapReduce (HDFS), which can replace the Google file system.
- HDFS Hadoop Distributed File System
- HDFS MapReduce
- Hadoop's large files are stored on multiple computers.
- a datanode corresponding to each computer may be a unit for actually storing and processing a file.
- Hadoop can store the same file for up to X replications. That is, even if a file (information) stored in one data node disappears, it can be recovered by using a file stored in another data node. From the user's point of view, the file appears to be in one place, but internally it exists for as many replications. The default is usually set to 3.
- Input data present in HDFS is split into smaller units through input splits.
- a central coordination process called Job Tracker assigns each input split to a Map task for a particular data node, taking into account the physical location of the file.
- the task tracker for each data node receives and processes each map task.
- the (key, value) values generated by a map or combiner at a particular data node are passed through the network to the reducer at a particular data node if necessary.
- the Reduce task sorts the (key, values) sent as the result of the map task by key, executes the reduce function, and stores the result in HDFS.
- the function that performs the Map function is called mapper (), and the function that performs the Reduce function is called reducer ().
- a single data node can run any number of mapper or reducers simultaneously.
- FIG. 24 exemplarily shows Word Count for the process of applying the usefulness determination component of the association rule of the present invention.
- each row exists in one data node or is divided into multiple data nodes.
- the data node storage method may vary substantially depending on the file size.
- Split allocates a certain amount of data from each row or all input data to a specific mapper of a specific data node.
- a total of three mapper are executed, and each mapper receives one row of data as input.
- the output (Key, Value) values are arranged so that the value for the same key can be read from the same data node.
- the Reducer of each data node performs the desired function by reading the incoming Value value (repeat of 1 in this example) for a particular key (word in this example).
- incoming Value value (repeat of 1 in this example)
- word word in this example.
- a simple summation is illustrated.
- key, value (Beer, 2) is output to HDFS.
- the related rules and the usefulness determination component are used to provide the item recommendation information to the user terminal 100 connected to the item service apparatus 200 as an example.
- the present invention is not limited thereto.
- the item service apparatus 200 may generate item recommendation information based on a purchase history of user terminals not connected according to a designer or administrator policy, and use the generated item recommendation information to a specific communication method to user terminals that are not connected. For example, it can also be provided through e-mail or text. In this case, the item service apparatus 200 may obtain prior consent of the user terminals 100 to provide a corresponding email or text.
- the item recommendation method according to the embodiment of the present invention described above may be implemented in the form of program instructions that can be executed by various computer means, and recorded in a computer-readable recording medium.
- the computer-readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination.
- the program instructions recorded on the recording medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in computer software.
- Computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs and DVDs, and magnetic disks such as floppy disks.
- Magnetic-Optical Media and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
- program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
- the hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention.
- the present invention relates to an item recommendation system and method, and in providing an item service such as content, an application, a product, and the like through a communication network, the present invention provides a heterogeneous recommendation item that can induce interest to a user and have a more diverse experience. To help. As a result, it is possible to support consumption promotion and diversity of users through purchase of various types of items.
- the present invention can assist users to reduce the time required to search for an item by intelligently providing items that are likely to be purchased.
- an effective item purchase can be effectively supported to optimize the item purchase.
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은 아이템 서비스 장치에서 사용자 단말기로 제공하는 다양한 아이템 중 사용자의 다양한 관심을 유도할 수 있는 아이템을 지능적으로 추천할 수 있는 아이템 추천 시스템 및 방법에 관한 것으로서, 사용자의 구매 패턴과는 다른 구매 패턴을 갖는 다른 사용자의 구매 이력으로부터 사용자의 구매 이력과는 이질적인 아이템을 추출하여 제공하거나, 사용자들의 구매 이력을 분석하여 추출한 구매된 아이템 간의 연관 규칙을 생성하고, 이를 기반으로 사용자의 구매 이력으로부터 관련성 있는 아이템을 추출하여 제공함으로써, 다양한 형태의 추천 아이템을 제공할 수 있도록 한다.
Description
본 발명은 서비스 제공자에 의하여 통신망을 통해서 사용자측으로 제공되는 아이템 중 사용자의 다양한 관심을 유도할 수 있는 아이템을 지능적으로 추천할 수 있는 아이템 추천 시스템 및 방법에 관한 것이다.
다양한 전자상거래 시스템 혹은 온라인 쇼핑몰의 등장으로, 상점에 직접 방문하지 않고도 필요한 상품 또는 서비스를 구매할 수 있는 체계가 보편화되어 가고 있다. 그러나, 인터넷이라는 가상공간에서는 상품을 직접 보고 비교할 수 없기 때문에 제품에 대한 신뢰성 문제가 발생할 수 있으며, 또한 특정 상품에 대한 적절한 정보 획득이 어렵다는 단점이 있다. 이러한 문제는 결과적으로 소비자들이 인터넷 쇼핑몰 등에서 상품을 구매하지 않고 검색만을 하도록 제한하는 문제를 낳고 있다.
또한 많은 소비자들이 인터넷 쇼핑몰을 통하여 다양한 상품을 구경하고 구매하고자 하지만, 정작 너무 많은 정보를 제공하는 인터넷 쇼핑몰들의 등장으로 인하여 정작 자신이 원하는 특정 신뢰도를 가지는 적절한 형태의 상품을 검색하는 것은 어려운 일이 되었다. 이러한 문제를 보완하기 위하여 사용자와 관련성이 있는 아이템들을 추천하기 위한 다양한 방법이 개발되고 있다. 그 결과, 최근에는 사용자 관련성이 높은 아이템들이 보다 지능적으로 제공되고 있는 추세이다. 그런데 이러한 아이템 추천 기능 또한 단순히 사용자와 관련성이 있는 아이템들만을 제공하고 있다. 결국 종래 아이템 추천 기능은 사용자에게 추천되는 상품의 종류나 특성이 한정적인 또 다른 문제를 낳고 있다.
본 발명은 전술한 종래의 문제점을 해결하기 위하여 제안된 것으로, 서비스 제공자에 의하여 통신망을 통해서 사용자측으로 제공되는 아이템 중 사용자의 다양한 관심을 유도할 수 있는 아이템을 지능적으로 추출하여 제공할 수 있는 아이템 추천 시스템 및 방법을 제공하고자 한다.
특히, 본 발명은 사용자들의 구매 이력을 분석하여 사용자 간 구매 형태의 이질도를 산출하고, 산출한 이질도를 기반으로 선택된 사용자의 구매 형태와 유사도가 가장 낮은 다른 사용자들의 구매 이력을 기반으로 사용자에게 이질적인 아이템을 추천하는 아이템 추천 시스템 및 방법을 제공하고자 한다.
또한, 본 발명은 사용자들의 구매 이력을 분석함으로써, 사용자가 구매한 아이템들 간의 연관 규칙을 생성하고, 상기 연관 규칙을 이용하여 추천 아이템을 추출하여 제공하는 아이템 추천 시스템 및 방법을 제공하고자 한다.
또한 본 발명은 분산형 데이터 처리 시스템의 도입을 통하여, 대용량의 구매 이력 데이터를 효과적으로 저장하고 검색함으로써 아이템 추천을 보다 빠르고 효과적으로 수행할 수 있도록 하는 아이템 추천 시스템 및 방법을 제공하고자 한다.
상술한 과제의 해결 수단으로서, 본 발명의 일 실시 예에 있어서, 아이템 구매 이력을 가지며, 아이템 구매 이력을 기반으로 아이템 추천 정보를 제공받는 적어도 하나의 사용자 단말기; 전체 사용자 단말기들을 그룹핑한 후, 특정 그룹에 속한 사용자 단말기들의 구매 이력을 기반으로 사용자 단말기 간의 구매 형태에 대한 이질도를 산출하고, 이를 기반으로 특정 그룹에 속한 특정 사용자 단말기와 동일 그룹에 속하며 이질적인 구매 행태를 가진 다른 사용자 단말기들을 추출하고, 상기 다른 사용자 단말기들의 구매 이력을 기반으로 이질 추천 아이템 목록을 포함하는 상기 특정 사용자 단말기에 대한 아이템 추천 정보를 산출하여 상기 특정 사용자 단말기에 제공하는 아이템 서비스 장치를 포함하는 것을 특징으로 하는 아이템 추천 시스템을 제공한다.
또한, 다른 해결 수단으로서, 본 발명은 아이템 구매 이력을 가지며, 아이템 구매 이력을 기반으로 아이템 추천 정보를 제공받는 적어도 하나의 사용자 단말기; 상기 사용자 단말기들의 아이템을 구매한 이력들을 기반으로 구매한 아이템간의 조합을 정의하는 연관 규칙들을 생성 저장하고, 특정 사용자 단말기의 구매 이력에 포함된 아이템과 관련된 아이템 추천 정보를 상기 연관 규칙으로부터 생성하여 상기 특정 사용자 단말기에 제공하는 아이템 서비스 장치를 포함하는 것을 특징으로 하는 아이템 추천 시스템을 제공한다.
상술한 아이템 추천 시스템은, 아이템 추천 정보를 생성하기 위해 필요한 데이터를 분산 저장하는 분산 처리 서비스 장치를 더 포함할 수 있다.
아울러, 본 발명의 제1 실시 예에 있어서, 상기 아이템 서비스 장치는, 적어도 하나의 사용자 단말기의 접속 및 아이템 구매에 필요한 신호 처리를 지원하는 장치 통신부; 전체 사용자 단말기들을 일정 수의 그룹으로 그룹핑하고, 특정 그룹에 속한 사용자 단말기들의 구매 이력을 기반으로, 사용자 단말기 간의 구매 형태에 대한 이질도를 산출하고, 이를 기반으로 상기 특정 그룹에 속한 특정 사용자 단말기와 이질적인 구매 행태를 가지며 동일 그룹에 속한 다른 사용자 단말기들을 추출하고, 상기 다른 사용자 단말기들의 구매 이력을 기반으로 이질 추천 아이템 목록을 포함하는 아이템 추천 정보를 생성하여 상기 특정 사용자 단말기에 제공하는 장치 제어부;를 포함할 수 있다.
여기서, 상기 장치 제어부는 상기 사용자 단말기 간의 구매 형태에 대한 이질도를 두 사용자가 구매한 상품의 합집합의 개수에 대한 상기 두 사용자가 구매한 상품의 교집합 개수의 비율을 기반으로 산출한다.
또한, 상기 장치 제어부는 사용자별 구매 이력을 행과 열이 각각 사용자 정보와 상품 정보로 정의되는 구매 이력 매트릭스로 나타내고, 상기 구매 이력 매트릭스에 상기 산출된 각 사용자 간의 이질도를 나타내는 사용자간 이질도 매트릭스를 곱하여, 각 사용자에 대한 상품별 추천 아이템 점수를 산출하고, 상기 상품별 추천 아이템 점수를 기반으로 상기 이질 추천 아이템 목록을 생성할 수 있다.
또한, 상기 장치 제어부는, 상기 전체 사용자 단말기들에 대하여 사전 정의된 일정 개수의 그룹으로 분할한 후 각 그룹에 그룹 ID를 할당하여, 각 사용자 단말기별로 그룹 ID를 가지도록 제어하고, 그룹 ID별로 사용자 단말기들의 데이터를 그룹핑할 수 있다.
더하여, 상기 장치 제어부는 동일 그룹에 속한 각 사용자 단말기의 구매 이력과 상기 동일 그룹에 속한 다른 사용자 단말기의 구매 이력을 협업 필터링을 기반으로 비교하여 유사도가 낮은 순서의 이질도 점수를 산출하도록 제어하고, 이질도 점수별로 일정 개수의 아이템들을 포함하는 이질 추천 아이템 목록을 생성하도록 제어할 수 있다.
아울러, 상기 아이템 서비스 장치는, 상기 아이템 추천 정보를 생성하기 위해 필요한 데이터를 분산 저장하는 장치 저장부를 더 포함할 수 있다.
더하여, 본 발명의 제2 실시 예에 따르면, 상기 아이템 서비스 장치는, 적어도 하나의 사용자 단말기의 접속 및 아이템 구매에 필요한 신호 처리를 지원하는 장치 통신부; 사용자 단말기들의 아이템을 구매한 이력들을 기반으로 사전 정의된 연관 규칙들을 생성하고, 특정 사용자 단말기의 구매 이력 중 적어도 일부에 대응하는 아이템 추천 정보를 상기 연관 규칙으로부터 생성하여 상기 특정 사용자 단말기에 제공하는 장치 제어부를 포함할 수 있으며, 또한, 상기 연관 규칙들 및 상기 사용자 단말기들의 구매 이력을 저장하는 장치 저장부를 더 포함할 수 있다.
본 발명의 제2 실시 예에 있어서, 상기 장치 제어부는, 상기 특정 사용자 단말기의 구매 이력을 확인하고, 상기 구매 이력에 포함된 아이템들에 해당하는 연관 규칙들을 검색하되, 일정 기준을 기준으로 일정 개수의 예비 추천 아이템으로 사용될 연관 규칙들을 선정한 후, 사전 정의된 일정 순위에 포함된 아이템들을 아이템 추천 정보로 생성할 수 있다. 여기서, 상기 일정 기준은 지지도, 신뢰도, 향상도 중 적어도 하나를 포함한다. 이때, 상기 지지도는 전체 연관 규칙들 중 두 개의 특정 상품이 포함된 연관 규칙들의 비율이다. 상기 신뢰도는 특정 상품을 포함하는 전체 연관 규칙들 중 상기 특정 상품 및 다른 특정 상품이 포함된 연관 규칙들의 비율이다. 상기 향상도는 특정 상품을 포함한 연관 규칙들 중에 다른 특정 상품이 구매되고 상기 특정 상품을 구매한 이력을 기반으로 생성된 연관 규칙들의 비율이다.
또한, 본 발명은 상술한 과제의 해결 수단으로서, 전체 사용자 단말기들을 일정 수의 그룹으로 그룹핑하는 단계; 특정 그룹에 속한 사용자 단말기들의 구매 이력을 기반으로 사용자 단말기 간의 구매 형태에 대한 이질도를 산출하는 단계; 상기 이질도를 기반으로, 특정 사용자 단말기와 동일 그룹에 속하며 이질적인 구매 행태를 가진 다른 사용자 단말기들을 추출하고, 상기 다른 사용자 단말기들의 구매 이력을 기반으로 상기 특정 사용자 단말기에 대한 이질 추천 아이템 목록을 생성하여 제공하는 단계를 포함하는 것을 특징으로 하는 아이템 추천 방법을 제공한다.
또한, 본 발명은 아이템 서비스 장치가 사용자 단말기들의 아이템 구매 이력을 기반으로 사전 정의된 일정 규칙 길이를 가지는 연관 규칙들을 생성 및 분산 저장하는 단계; 상기 아이템 서비스 장치가 특정 사용자 단말기의 구매 이력에 포함된 아이템들에 대응하는 연관 규칙들을 일정 기준으로 일정 개수만큼 예비 추천 아이템으로 산출하는 단계; 상기 아이템 서비스 장치가 산출된 예비 추천 아이템 중 사전 정의된 일정 순위 이내의 아이템들을 아이템 추천 정보로 구성하는 단계; 상기 아이템 서비스 장치가 상기 아이템 추천 정보를 상기 사용자 단말기에 제공하는 단계를 포함하는 것을 특징으로 하는 아이템 추천 방법을 제공한다.
본 발명의 일 실시 예에 따르면, 사용자가 쉽게 접하거나 선택한 적이 없는 이질적인 아이템 추천을 수행함으로써 사용자의 관심도나 흥미를 다양화하고, 이를 통해 보다 다양한 구매 패턴을 형성하도록 지원함과 아울러 다양한 소비 진작이 이루어질 수 있도록 할 수 있다.
특히, 본 발명은 단순히 유사한 스타일의 아이템을 추천하는 것이 아니라, 자신과 동일한 또는 유사 그룹에 속한 다른 사용자들이 이용하는 사용자와는 다른 스타일의 아이템을 추천함으로써, 사용자의 선택 범위, 흥미 및 관심도를 더 확장시킬 수 있다.
또한, 본 발명의 다른 실시 예에 따르면, 사용자의 구매 이력을 분석하여 사용자 구매 패턴에 관련된 연관 규칙을 생성하고, 생성된 연관 규칙을 기반으로 추천 아이템을 추출함으로써, 사용자가 구매 희망할 가능성이 높은 아이템 추천을 신속하게 제공할 수 있어, 사용자의 아이템 구매를 보다 합리적이고 용이하게 수행할 수 있도록 지원한다.
더하여, 본 발명은 상술한 이질적인 아이템 추천 또는 연관 규칙을 기반으로 한 아이템 추천의 처리를 위하여, 분산 환경을 적용함으로써, 많은 양의 데이터, 특히 대용량의 구매 로그를 효과적으로 저장하고 검색함으로써 이질적인 아이템 추천을 보다 빠르고 효과적으로 수행할 수 있다.
도 1은 본 발명에 따른 아이템 추천 시스템의 전체 구성을 나타낸 블록도이다.
도 2는 본 발명에 따른 아이템 추천 시스템 구성 중 아이템 서비스 장치의 구성을 보다 상세히 나타낸 블록도이다.
도 3은 본 발명의 제1 실시 예에 따른 아이템 추천 기능을 수행하기 위한, 장치 제어부의 상세 구성을 나타낸 블록도이다.
도 4 내지 도 7은 본 발명의 제1 실시 예에 따른 이질 추천 아이템 목록을 제공하는 과정의 일 예를 설명하기 위한 도면들이다.
도 8 내지 도 12는 본 발명의 제1 실시 예에 따른 아이템 추천 방법을 설명하기 위한 순서도이다.
도 13은 본 발명의 제1 실시 예에 따른 아이템 추천 방법의 다른 예를 설명하기 위한 순서도이다.
도 14는 본 발명의 제2 실시 예에 따른 아이템 추천 기능을 설명하기 위한 사용자 구매 이력의 일예를 나타낸 도면이다.
도 15는 본 발명의 제2 실시 예에 따른 아이템 추천을 위해 도 14의 구매이력으로부터 산출되는 연관 규칙의 일예를 나타낸 도면이다.
도 16은 본 발명의 제2 실시 예에 따른 아이템 추천 기능을 수행하기 위한 장치 제어부의 상세 구성을 나타낸 블록도이다.
도 17은 본 발명의 제2 실시 예에 따른 아이템 추천 시스템에 있어서, 연관 규칙 분산 저장 구조를 설명하기 위한 도면이다.
도 18은 본 발명의 제2 실시 예에 따른 아이템 추천 시스템에 있어서, 사용자 구매 이력 분산 저장을 설명하기 위한 도면이다.
도 19는 본 발명의 제2 실시 예에 따른 아이템 추천 시스템에 있어서, 예비 추천 아이템 검색 과정을 설명하기 위한 도면이다.
도 20은 본 발명의 제2 실시 예에 따른 아이템 추천 기능을 위한 연관 규칙들의 일 형태를 나타낸 도면이다.
도 21 및 도 22는 도 20의 연관 규칙을 기반으로 추출된 추천 아이템을 예시한 도면이다.
도 23은 본 발명의 제2 실시 예에 따른 아이템 추천 방법을 설명하기 위한 순서도이다.
도 24는 본 발명의 아이템 추천 기능에 적용된 MapReduce의 일예를 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
한편, 본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
도 1은 본 발명에 따른 아이템 추천 시스템의 구성을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 아이템 추천 시스템(10)은 통신망(300)을 통해 연결되어 적어도 하나의 사용자 단말기(User Equipment)(100) 및 사용자 단말기(100)들에게 아이템 검색과 구매 기능을 지원하는 아이템 서비스 장치(200)를 포함할 수 있다. 더하여, 상기 아이템 추천 시스템(10)은 분산 처리 서비스 장치(400)를 더 포함할 수 있다.
상기 아이템 추천 시스템(10)은 아이템 서비스 장치(200)가 사용자 단말기(100)로 적어도 하나의 아이템, 예를 들면 적어도 하나의 상품을 안내 및 판매하기 위하여 적어도 하나의 아이템에 대한 정보를 포함하는 아이템 검색 화면을 제공할 수 있다. 상기 아이템 서비스 장치(200)는 아이템 서비스 장치(200)를 통해 판매된 다양한 사용자 단말기들(100)의 구매 이력을 기반으로 하는 협업 필터링을 이용할 수 있다.
특히, 본 발명의 제1 실시 예에 있어서, 상기 아이템 서비스 장치(200)는 특정 사용자의 구매 이력과 유사도가 가장 낮은 다른 사용자의 구매 이력에 포함된 적어도 하나의 아이템들을 이질 추천 아이템 목록으로 선정한다. 그 결과, 특정 사용자 단말기에게 구매 이력에 반하는 이질적인 추천 아이템이 가능하도록 지원할 수 있다. 이에 따라 사용자는 자신의 구매 이력과 가장 관련성이 낮은 또는 자신의 구매 패턴과 전혀 다른 아이템들에 대하여 추천받음으로써 더욱 다양한 아이템들에 대한 관심을 확장함과 아울러 새로운 관심 대상의 아이템 구매를 보다 쉽고 흥미롭게 진행할 수 있다.
아울러, 본 발명의 제2 실시 예에 있어서, 상기 아이템 서비스 장치(200)는 사용자 단말기(100)들의 아이템 구매 이력을 기반으로 아이템 간의 연관 규칙을 생성하여 저장하고, 이를 이용하여 특정 사용자 단말기(100)의 구매 이력으로부터 아이템 추천 정보를 추출하여 제공할 수 있다.
이때 통신망(300)은 사용자 단말기(100)와 아이템 서비스 장치(200) 간의 통신 채널을 형성할 수 있도록 지원할 수 있다. 즉 통신망(300)은 사용자 단말기(100)의 아이템 서비스 장치(200)로의 접속, 아이템 검색 화면 송수신, 이질 추천 아이템 정보 송수신, 아이템 구매를 위한 신호 송수신을 지원할 수 있다. 여기서 통신망(300)은 사용자 단말기(100)가 데스크 탑과 같은 단말기인 경우 인터넷 네트워크 장치로 구성될 수 있으며, 사용자 단말기(100)가 이동통신 기능을 지원하는 단말기인 경우 이동통신 네트워크 장치, 예를 들면 기지국과 제어기 등으로 구성될 수 있다.
추가로 통신망(300)은 아이템 서비스 장치(200)와 분산 처리 서비스 장치(400) 간의 데이터 송수신을 위한 통신 채널 형성을 지원할 수도 있다. 이를 위하여 통신망(300)은 아이템 서비스 장치(200)와 분산 처리 서비스 장치(400)를 유선으로 연결하는 유선 네트워크 장치 또는 무선으로 연결하는 무선 네트워크 장치 중 적어도 하나로 구성될 수 있다. 이 경우 통신망(300)은 전체 사용자 단말기(100)들의 구매 이력의 저장을 위한 정보 전달, 사용자 단말기(100)들의 그룹핑을 위한 신호 송수신, 협업 필터링 기반의 추천 아이템 추출을 위한 신호 송수신 및 산출된 아이템 추천 정보의 전달 등의 신호 송수신을 지원할 수 있다.
이러한 통신망(300)은 예를 들어, 인터넷 프로토콜을 통하여 대용량 데이터의 송수신 서비스 및 끊기는 현상이 없는 데이터 서비스를 제공하는 아이피망, 아이피를 기반으로 서로 다른 망을 통합한 아이피망 구조인 올 아이피(All IP), Wibro(Wireless Broadband)망과, Wi-Fi망을 포함하는 무선랜(Wireless LAN), 유선통신망, 이동통신망, HSDPA(High Speed Downlink Packet Access)망 및 위성통신망 등과 같이 기존에 알려져 있는 다양한 방식의 통신망뿐만 아니라, 향후 개발 예정인 차세대 통신망이 될 수 있다.
사용자 단말기(100)는 통신부를 이용하여 통신망(300)에 연결되고, 통신망(300)과 연결된 아이템 서비스 장치(200)에 접속할 수 있다. 그리고 사용자 단말기(100)는 아이템 서비스 장치(200)가 제공하는 아이템 검색 화면에 해당하는 정보를 수신하여 출력할 수 있다. 즉 사용자 단말기(100)는 적어도 하나의 아이템을 열람 및 구매할 수 있는 아이템 검색 화면을 표시부에 출력할 수 있다. 이 과정에서 사용자 단말기(100)는 아이템 서비스 장치(200)가 제공하는 적어도 하나의 추천 아이템을 아이템 검색 화면 정보와 함께 수신하여 출력할 수 있다. 상기 추천 아이템은 사용자와 구매 패턴이 다른 사용자의 구매 이력을 기반으로 추출된 이질 추천 아이템을 포함할 수 있으며, 또한, 해당 사용자가 구매한 상품이나 서비스, 앱 등 특정 아이템과 관련하여 앞서 설명한 연관 규칙과 유용성 판단 구성 요소에 의하여 선택된 적어도 하나의 추천 아이템을 포함할 수 있다. 이러한 추천 아이템은 해당 사용자 단말기(100)가 구매한 상품이나 서비스, 앱 등 특정 아이템과 관련하여 임의의 협업 필터링 방식을 기반으로 산출 될 수 있다. 여기서, 사용자 단말기(100)는 전체 사용자 단말기들 중 특정 그룹에 할당될 수 있다. 추천 아이템은 해당 그룹에 소속된 다른 사용자 단말기들의 구매 이력에 기반으로 산출된 아이템이 될 수 있다. 이를 위하여 사용자 단말기(100)는 아이템 서비스 장치(200)에 접속하여 아이템 서비스 장치(200)가 제공하는 다양한 아이템들에 대한 구매 이력을 가질 수 있다. 각 사용자 단말기(100)들의 구매 이력은 아이템 서비스 장치(200)에 분산 저장될 수 있다.
사용자 단말기(100)는 아이템 검색 화면에 제공된 아이템들 또는 추천 아이템 중 특정 아이템을 선택하는 입력 신호가 생성되면, 해당 아이템의 상세 정보를 아이템 서비스 장치(200)에 요청하고, 아이템 서비스 장치(200)로부터 아이템 상세 정보를 수신하면 이를 표시부에 출력할 수 있다. 이후 사용자 단말기(100)는 사용자 요청에 따라 특정 아이템 구매를 위한 입력 신호가 발생하면, 해당 아이템 구매를 위한 메시지를 아이템 서비스 장치(200)에 전달하고 사전 정의된 절차에 따라 아이템 구매를 수행할 수 있다.
한편 사용자 단말기(100)가 아이템 검색 화면에 제공된 아이템 또는 추천 아이템들 중 특정 아이템들을 구매하면, 이 아이템을 구매한 정보는 아이템 서비스 장치(200)에 제공될 수 있다. 본 발명의 제1 실시 예에 있어서, 상기와 같이 사용자 단말기(100)로부터 제공되는 특정 사용자 단말기(100)의 아이템들의 구매 이력은 결과적으로 다음 이질 추천 아이템들에서 제외될 수 있다. 이에 따라 사용자 단말기(100)가 특정 아이템들을 구매할수록 자신이 구매하지 않은 그리고 다른 사용자들이 주로 구매하는 새롭고 다양한 아이템들을 이질 추천 아이템으로 추천 받을 수 있다. 또한, 본 발명의 제2 실시 에에 있어서, 상기 사용자 단말기(100)로부터 제공되는 특정 사용자 단말기(100)의 구매 이력은 연관 규칙에 따라 분산 저장되어 추후 생성되는 아이템 추천 정보에 기여할 수 있다.
아이템 서비스 장치(200)는 사용자 단말기(100)가 특정 아이템을 열람 및 구매할 수 있도록 아이템 검색 화면을 제공하고, 사용자 단말기(100)의 요청에 따라 특정 아이템 구매를 수행할 수 있도록 지원하는 장치이다.
특히 본 발명의 제1 실시예에 있어서, 아이템 서비스 장치(200)는 사용자 단말기(100)들의 구매 이력에 대한 협업 필터링 방식을 통하여 사용자 단말기(100)가 구매한 이력이 없는 그리고 사용자 단말기(100)와 관련성이 매우 낮은 이질 추천 아이템 산출을 수행하며, 특정 사용자 단말기(100)에게 해당 이질 추천 아이템을 제공할 수 있다. 여기서 아이템 서비스 장치(200)는 특정 사용자 단말기(100)의 구매 이력과 관련성이 낮은 이질 아이템 산출을 위하여 전체 사용자 단말기(100)들의 구매 이력을 확인할 수 있다. 이때 아이템 서비스 장치(200)는 전체 사용자 단말기(100)들을 일정 그룹으로 구분하고, 특정 사용자 단말기(100)의 이질 추천 아이템 산출을 해당 그룹 내에서 수행되도록 제어할 수 있다. 이때, 아이템 서비스 장치(200)는 사용자 단말기(100)들의 구매 이력의 저장, 그룹 분할 및 분할된 그룹에서의 이질 추천 아이템 산출을 위해 분산 처리 시스템을 운용할 수 있다. 즉 아이템 서비스 장치(200)는 이질 추천 아이템 산출을 위해 데이터를 저장하고 검색을 지원하는 분산 처리 서비스 장치(400)와 연동할 수 있다. 이러한 분산 처리 서비스 장치(400)는 구매 이력에 대한 대용량의 데이터를 효과적으로 저장 및 검색하도록 지원함으로써, 본 발명에 있어서 대용량의 구매 이력을 기반으로 아이템의 보다 빠르고 효과적으로 추천할 수 있게 된다. 이때, 아이템 서비스 장치(200)는 사용자 단말기(100)의 접속을 지원하며, 사용자 단말기(100)에 적어도 하나의 이질 추천 아이템을 제공하는 구성이다. 그리고 아이템 서비스 장치(200)는 사용자 단말기(100)가 접속하면 아이템 검색 화면에 관한 정보를 사용자 단말기(100)에 제공할 수 있다. 아이템 서비스 장치(200)는 사용자 단말기(100)가 특정 아이템을 구매하기 위한 메시지를 제공하면 해당 메시지에 따라 아이템 구매 처리를 지원할 수 있다.
한편 아이템 서비스 장치(200)는 특정 사용자 단말기(100)가 접속하면 해당 사용자 단말기(100)에 맞는 이질 추천 아이템을 지원할 수 있다. 이를 위하여 아이템 서비스 장치(200)는 특정 사용자 단말기(100)의 식별 정보를 확인하고, 특정 사용자 단말기(100)의 식별 정보를 기반으로 분산 처리 서비스 장치(400)에 이질 추천 아이템을 요청할 수 있다.
상기 분산 처리 서비스 장치(400)는 사용자 단말기(100)들의 구매 이력의 분산 저장, 전체 사용자 단말기(100)들의 그룹핑 및 그룹핑된 사용자 단말기(100)들의 구매 이력들의 분산 저장, 분산 저장된 그룹핑된 사용자 단말기들의 구매 이력을 기반으로 이질 추천 아이템 산출, 산출된 이질 추천 아이템을 아이템 서비스 장치(201)에 제공하기 위하여 다수의 데이터 노드를 포함하여 구성될 수 있다. 각 데이터 노드는 MapReduce 기능을 지원하며, 특히 분산 처리 서비스 장치(400)는 사용자 단말기들의 그룹핑을 위하여 제1 MapReduce 기능을 이용하며, 그룹핑된 사용자 단말기들의 구매 이력 중 특정 사용자 단말기(100)를 위한 이질 추천 아이템 산출을 위하여 제2 MapReduce 기능을 이용할 수 있다. 이를 통해 분산 처리 서비스 장치(400)는 대용량의 구매 이력을 기반으로 보다 빠르게 이질 추천 아이템을 산출하여 제공할 수 있다.
이상에서 설명한 바와 같이 본 발명의 제1 실시 예에 있어서, 아이템 추천 시스템(10)은 사용자 단말기(100)들의 구매 이력과 관련성이 낮은 이질 추천 아이템을 그룹핑 방식과 임의의 협업 필터링 방식을 적용하여 산출하고, 산출된 이질 추천 아이템들을 특정 사용자 단말기(100)에 제공함으로써 특정 사용자에게 다양한 형태의 아이템들을 경험할 수 있도록 기회를 제공할 수 있다.
본 발명의 제2 실시 예에서, 아이템 서비스 장치(200)는 사용자 단말기(100)들의 구매 이력을 기반으로 연관 규칙을 생성하고, 연관 규칙과 기 정의된 유용성 판단 구성 요소를 기준으로 특정 사용자 단말기(100)의 아이템 추천 정보를 생성할 수 있다. 그리고 아이템 서비스 장치(200)는 생성된 아이템 추천 정보를 해당 사용자 단말기(100)에 제공할 수 있다. 여기서 분산 처리 서비스 장치(400)는 연관 규칙의 저장 및 이용을 위한 분산 처리 방식을 지원할 수 있다.
다시 말해, 특정 사용자 단말기(100)가 접속하면 사용자 단말기(100)로 사용자 단말기(100)의 구매 이력과 연관 규칙들을 기초로, 추천 아이템을 제공하기 위해, 분산 처리 서비스 장치(400)는 사용자 단말기(100)들의 구매 이력을 분산 저장하고, 연관 규칙의 저장 및 검색 지원을 위하여 다수의 데이터 노드를 포함하여 구성될 수 있다.
여기서, 각 데이터 노드는 MapReduce 기능을 지원하며, 이를 기반으로 연관 규칙을 생성 및 저장하고, 연관 규칙들을 사전 정의된 유용성 판단 구성 요소를 기준으로 평가한다.
각 데이터 노드가 평가한 평가 결과는 예비 추천 아이템 선정에 활용될 수 있는데, 아이템 서비스 장치(200)는 사용자 단말기(100)의 구매 이력과 식별 정보를 기반으로 연관 규칙들을 나열하고 사전 정의된 유용성 판단 구성 요소를 적용하여 연관 규칙들 중 일정 평가 값을 가지는 연관 규칙들을 선정할 수 있다.
또한, 아이템 서비스 장치(200)는 특정 사용자 단말기(100)가 아이템을 구매하면, 아이템들 구매 정보를 사전 정의된 연관 규칙 길이를 적용하여 새 연관 규칙으로 생성하고 적어도 하나의 데이터 노드에 저장하도록 제어할 수 있다.
상술한 바와 같이 본 발명의 제2 실시 예에 따른, 아이템 추천 시스템(10)은 다수의 사용자 단말기(100)들이 특정 아이템들을 구매한 이력을 사전 정의된 연관 규칙에 따라 분류 저장하고, 유용성 판단 구성 요소를 기준으로 분류 저장된 연관 규칙들을 평가하여 일정 평가 값 이상의 아이템들을 추출한 후, 추출된 아이템들 사전 정의된 기준에 따라 일정 개수만큼 제공하도록 지원할 수 있다. 이에 따라 특정 사용자 단말기(100)는 아이템 서비스 장치(200)를 이용하면서 해당 아이템 서비스 장치(200)를 이용하여 물품을 구매한 다른 사용자 단말기들의 구매 이력을 기반으로 보다 신뢰성 높은 아이템 추천 정보를 획득할 수 있다. 이러한 본 발명은 특정 아이템을 구매한 사용자가 해당 아이템과 연관된 다른 아이템을 필요로 하는 요구도를 반영함으로써 동일한 아이템을 구매한 사용자들의 요구도를 적절히 반영할 수 있도록 지원할 수 있다.
한편, 본 발명의 제2 실시 예에서는 아이템 서비스 장치(200)가 사용자 단말기9100)의 접속 및 아이템 구매 지원과 함께 분산된 데이터 노드들을 이용하여 연관 규칙을 저장함과 아울러 유용성 판단 구성 요소를 기준으로 평가 결과를 산출하는 것을 예로 들어 설명하였으나, 이에 한정되는 것은 아니며, 시스템 설계 방식에 따라 사용자 단말기(100)의 접속 및 아이템 구매를 지원하는 아이템 서비스 장치와 분산된 데이터 노드들을 이용하여 사용자 단말기(100)들의 구매 이력을 저장하고, 연관 규칙을 확인한 후 유용성을 판단하는 분산 처리 서비스 장치(200)로 구분될 수도 있다.
아울러, 상술한 설명에서 아이템 서비스 장치(200)를 아이템 서비스 장치(200)와 분산 처리 서비스 장치(400)로서 각각 구분하여 설명하였으나 본 발명은 이에 한정되는 것은 아니다. 즉 아이템 서비스 장치(200)가 사용자 단말기(100)의 접속 및 아이템 구매 지원, 사용자 단말기(100)들의 그룹핑 및 협업 필터링 방식 적용에 따른 이질 추천 아이템 산출을 하나의 서비스 장치를 통하여 제공할 수 있다. 즉 아이템 서비스 장치(200)가 분산 처리 서비스 장치(400)의 기능을 포함하여 구성될 수도 있다.
도 2는 본 발명에 따른 아이템 서비스 장치(200)의 구성을 보다 상세히 나타낸 도면이다.
도 2를 참조하면, 본 발명의 아이템 서비스 장치(200)는 장치 통신부(210), 장치 저장부(250) 및 장치 제어부(260)를 포함할 수 있다.
이와 같은 구성을 가지는 본 발명의 아이템 서비스 장치(200)는 제1 실시 예에 따라서 특정 사용자에 대해 이질 사용자를 추출하고 이러한 이질 사용자가 포함된 그룹의 구매 이력을 이용하여 특정 사용자에게 추천할 만한 상품 군을 생성하도록 지원할 수 있다. 이때, 대용량 데이터의 경우 특정 사용자와 다른 구매 이력을 가지는 다른 사용자들을 추출하기 위해서는 특정 사용자의 구매 이력과 나머지 모든 다른 사용자 단말기의 구매이력 간의 유사도를 계산하여 유사도가 일정 값 이하인 사용자를 추출할 수 있다. 이 경우 전체 사용자 수가 N일때, N X (N-1)/2 번의 큰 연산 부하가 필요하다. 따라서 본 발명의 제1 실시 예에 있어서, 상기 아이템 서비스 장치(200)는 Hadoop MapReduce 기반 분산 환경에서 이질 사용자들을 그룹핑하고, 특정 그룹의 이질 사용자들의 구매 이력을 기반으로 이질 추천 상품을 산출하도록 지원한다.
또한, 본발명의 제2 실시 예에 있어서, 사용자 단말기(100)의 구매 이력을 기준으로 유용성 판단 구성 요소를 기준으로 평가된 연관 규칙들을 산출하여 아이템 추천 정보로서 제공할 수 있다. 이를 위하여 아이템 서비스 장치(200)는 연관 규칙의 저장 및 운용을 위한 분산 처리 시스템을 이용할 수 있다.
이를 위하여 장치 통신부(210)는 통신망(300)을 통한 사용자 단말기(100)와의 통신 채널 형성을 지원한다. 그리고 장치 통신부(210)는 장치 제어부(260)의 제어에 따라 사용자 단말기(100)로 아이템 검색 화면을 제공할 수 있다. 이후 장치 통신부(210)는 아이템 검색 화면을 통해 특정 아이템의 구매를 요청하는 경우 해당 구매 요청 메시지를 사용자 단말기(100)로부터 수신하여 장치 제어부(260)에 전달할 수 있다. 특히 장치 통신부(210)는 장치 제어부(260)의 제어에 따라 사용자 단말기(100)를 통해 접속한 사용자의 구매 이력과, 임의의 협업 필터링 방식이 적용된 추천 아이템을 해당 사용자 단말기(100)에 전송할 수 있다. 그리고 장치 통신부(210)는 추천 아이템을 통해 제시된 아이템 구매 요청 정보를 사용자 단말기(100)로부터 수신하고, 수신된 아이템 구매 요청 정보를 장치 제어부(260)에 제공할 수 있다. 추가로 장치 통신부(210)는 아이템 구매 과정에서 필요로 하는 데이터 송수신을 지원할 수 있다.
장치 저장부(250)는 아이템 서비스 장치(200)의 운용을 위한 운용 프로그램 및 본 발명의 실시 예들에 따른 추천 아이템 산출 및 제공을 위한 사용자들의 구매 이력을 저장할 수 있다. 특히 장치 저장부(250)는 사용자 단말기(100)들의 구매이력(251)을 저장할 수 있다. 구매 이력(251)은, "사용자 ID, 구매 상품 ID, 날짜 … "등의 정보를 포함하여 관리될 수 있다. 더하여, 장치 저장부(250)는 사용자 단말기(100)의 식별 정보, 그룹 ID 정보를 더 저장할 수 있다.
본 발명의 다른 실시 예에 있어서, 장치 저장부(250)는 연관 규칙을 분산 처리 서비스 장치(400)의 다수 데이터 노드에 저장하는 경우, 연관 규칙들에 대한 정보 검색을 지원하기 위해 사용자 로그 조회 리스트(253)를 포함할 수 있다. 여기서 사용자 로그 조회 리스트(253)는 특정 사용자 단말기의 구매 이력 정보가 어떠한 데이터 노드들에 저장되어 있는지에 대한 주소 정보를 포함할 수 있다. 장치 제어부(260)는 사용자 로그 조회 리스트(253)에 포함된 정보를 토대로 연관 규칙들을 검색할 검색 메시지를 작성하고, 작성된 검색 메시지를 데이터 노드들에 전달하도록 제어할 수 있다. 이 경우, 이에 의하여, 사용자 단말기(100)들과 관련된 다양한 정보(예를 들어, 구매이력)는 분산 처리 서비스 장치(400)의 데이터 노드들에 분산 저장될 수 있다. 즉 분산 처리 서비스 장치(400)에서 분산 배치되고 MapReduce 기능에 의한 데이터 저장 및 검색을 지원하는 복수의 데이터 노드들에 저장된다.
장치 제어부(260)는 장치 통신부(210) 및 장치 저장부(250)와 연동하여 본 발명의 실시 예에 따른 아이템 서비스 장치(200)의 전반적인 운용을 지원하는 구성이다. 즉 장치 제어부(260)는 사용자 단말기(100)의 장치 접속, 아이템 검색 화면 제공, 전체 사용자 단말기별 데이터의 그룹핑, 분산 저장, 검색, 추천 아이템 산출을 위한 처리, 산출된 추천 아이템의 제공 등을 제어할 수 있다. 이때, 장치 제어부(260)의 상세 구성은, 추천 아이템 추출 방식에 따라서 달라질 수 있다.
즉, 본 발명의 제1 실시 예에서와 같이, 사용자와 구매 패턴이 다른 사용자들의 구매 이력으로부터 이질 추천 아이템을 추출할 수도 있으며, 제2 실시 예에서와 같이, 구매 이력의 분석을 기반으로 생성된 연관 규칙에 기준으로 사용자의 구매 이력으로부터 연관된 아이템을 추천 아이템으로 추출할 수 도 있다.
이하, 제1,2 실시 예별로 장치 제어부(260)의 상세 구성 및 그 구체적인 아이템 추천 방법을 설명하기로 한다.
도 3은 본 발명의 제1 실시 예에 따른 장치 제어부(260)의 구성을 보다 상세히 나타낸 도면이다.
도 3을 참조하면, 본 발명의 제1 실시 예에서, 아이템 서비스 장치(200)의 장치 제어부(260)는 데이터 처리부(261), 이질도 산출부(262), 상품 추천부(263)를 포함하여 구성될 수 있다.
데이터 처리부(261)는 사용자 단말기(100)별 구매 이력을 기반으로 이질도 산출을 하기 이전에 적절한 데이터 분류 및 저장을 제어할 수 있다. 특히 데이터 처리부(261)는 일정 기간 내의 전체 사용자 구매 이력을 대상으로 먼저 사용자 ID별로 구매상품 ID를 모아 "사용자 ID, 구매상품 ID, 구매상품 ID, 구매상품 ID … "와 같은 형태의 데이터 타입이 되도록 처리한다. 그리고 데이터 처리부(261)는 제1 MapReduce 과정 및 제2 MapReduce 과정을 수행한다.
먼저, 제1 MapReduce 과정 수행을 위해 데이터 처리부(261)는 각 사용자 단말기(100)별로 1~P 사이의 자연수를 생성하고, 생성된 자연수 Q개를 연결하여(Concatenation 연산자를 이용)하여 특정 사용자 단말기(100)의 group ID로 지정한다. 여기서 P와 Q는 전체 사용자 단말기(100)들의 개수 및 결정하고 싶은 그룹의 크기를 결정하는 값으로, 1 이상의 자연수이다. 여기서 전체 사용자 단말기(100) 수가 N일때, 각 group의 size는 평균적으로 N/(PQ)으로 정해진다. 예를 들어 1000만명의 사용자 단말기(100)들이 있을 때 P가 17이고, Q가 3인 경우 한 그룹당 평균 2,000여명의 사용자 단말기들이 그룹핑될 수 있다. 이에 따라 P와 Q 값은 한 그룹당 일정 수에 해당하는 사용자 단말기들이 포함될 수 있도록 실험적으로 또는 통계적으로 정의될 수 있다.
데이터 처리부(261)는 MapReduce Framework 상에서 mapper단에서 {Key, value} = {group ID, (사용자 ID, 상품 ID, 상품 ID, … )}의 형태로 데이터를 수집한다. 이에 따라 제1 MapReduce 과정을 수행하면서 데이터 처리부(261)는 특정 group ID를 가지는 사용자 단말기들이 모이는 Reducer를 가질 수 있다.
제2 MapReduce 과정을 수행하면서 데이터 처리부(261)는 제1 MapReduce 과정에 의해 생성된 각 Group에 대해서 {Key, value} = {(사용자 ID, 상품 ID, 상품 ID, … ), (해당 그룹의 다른 사용자 ID, 상품 ID, 상품 ID, … ) (해당 그룹의 다른 사용자 ID, 상품 ID, 상품 ID, … )}와 같은 방식으로 기재된 데이터를 Mapper로 출력한다. 이에 따라 데이터 처리부(261)는 제2 MapReduce 과정을 수행하면서 특정 사용자 ID에 대해서 해당 사용자 단말기와 같은 그룹에 속했던 다른 사용자 단말기들의 구매 이력이 수집된 Reducer를 가질 수 있다.
상술한 바와 같이 데이터 처리부(261)는 제1 MapReduce 과정 및 제2 MapReduce 과정을 수행하면서 전체 사용자 단말기들에 대하여 그룹핑 과정을 수행하여 특정 사용자 단말기를 포함하는 특정 그룹을 생성하고, 생성된 특정 그룹에 대하여 소속된 다른 사용자 단말기들의 구매 이력을 수집하도록 처리할 수 있다.
이질도 산출부(262)는 특정 사용자 ID와 다른 사용자(H명)간의 Jaccard similarity를 계산한다. 즉 이질도 산출부(262)는 특정 사용자 단말기(100)의 구매 이력과 H명의 다른 사용자 단말기들과의 유사도 계산을 H번 수행할 수 있다. 여기서 다른 사용자 단말기들의 수에 해당하는 H명 역시 실험적으로 결정될 수 있다.
여기서 H가 해당 그룹의 전체 사용자의 수인 경우 이질도 산출부(262)는 특정 사용자 ID에 대한 이질도 산출을 위하여 특정 사용자와 다른 사용자들과의 전체 Jaccard 유사도 산출을 수행하게 된다. 이 경우라 하더라도 동일 그룹 내 사용자가 M명인 경우 M X (M-1)/2번 연산을 수행하기 때문에 전체 사용자의 수 보다는 현저하게 줄어든 연산을 수행하게 된다. 결국 유사도 산출에 대한 연산 부하를 줄일 수 있다. 각 사용자 단말기별 이질도(dissimilarity)값은 아래 수학식 1과 같은 방식으로 표현될 수 있다.
여기서, 1-J(UserA, UserB)는 사용자 A와 사용자 B 간의 이질도이며, |A∩B|는 사용자 A와 사용자 B가 구매한 상품의 교집합의 개수이며, |A∪B|는 사용자 A와 사용자 B가 구매한 상품의 합집합의 개수이다. 즉, 이질 사용자 단말기들의 구매 이력 기반 협업 필터링을 위해서는 Jaccard similarity가 0인 사용자가 구매한 상품이 가장 높은 점수를 받아야 하므로, 이질도 산출부(262)는 (1.0-jaccard Similarity)값을 이질도로 정의할 수 있다. 한편, 이질도 산출이 완료되면 이질도 산출부(262)는 해당 값들은 상품 추천부(263)에 제공할 수 있다.
이질도 산출부(262)은 상술한 처리를 위하여, 사용자별 구매 이력을 행과 열이 각각 사용자 정보와 상품 정보로 나타내어지는 매트릭스(이하, "구매 이력 매트릭스"라 함)로 표현할 수 있다.
그리고, 상술한 구매 이력 매트릭스를 통해 상기 수학식 1에 근거하여, 사용자간 이질도 매트릭스를 계산하고, 이어서, 상기 구매 이력 매트릭스와 사용자간 이질도 매트릭스를 곱하여, 사용자 별 이질도에 기반하여 추천할 상품별 추천 아이템의 점수를 산출할 수 있다. 여기서, 추천 아이템의 점수는 각 상품별 이질도 기반 추천 점수를 의미한다.
상품 추천부(263)는 이질도 산출부(262)로부터 계산된 점수별로 이질 추천 상품 목록을 얻은 후에, 해당 사용자 단말기(100)가 이미 구매한 상품 목록을 해당 추천 상품 목록에서 제거한다. 그리고 이질도 산출부(262)는 서비스 요건에 따라 사전 정의된 상위 K개의 상품 목록만을 추출한다.
도 4 내지 도 7은 본 발명의 이질도 산출부(262)가 산출하는 이질도 산출의 예를 설명하기 위한 것이다.
여기서 도 4는 구매 이력 매트릭스를 나타낸 것이며, 설명을 위하여 3명의 사용자를 예시적으로 나타낸 것이다. 즉 도 4는 현재 Reduce의 특정 사용자와 나머지 H=2명 간의 이질도를 위해 구매 이력을 나타낸 것이다. 한편 본 발명에서 설명하는 유사도는 Jaccard 유사도 외에도, Cosine 유사도 등의 다른 측정 방식의 유사도 적용도 가능하다.
한편, 도 4를 참조하면, 사용자 #1은 상품#1, 상품#2 및 상품 #4를 구매한 이력을 가지며, 사용자 #2는 상품 #3 및 상품 #4를 구매한 이력을 가진다. 그리고 사용자 #3은 상품 #1, 상품 #3 및 상품 #4를 구매한 이력을 가진다. 이러한 조건에서 사용자 #1의 다른 사용자에 대한 이질도 매트릭스는 도 5에 나타내 바와 같다. 여기서, 사용자 #1의 본인에 대한 이질도는 0가 되며, 다른 사용자 #2, #3와는 0 이상의 이질도를 가질 수 있으며, 값이 클수록 사용자간 구매 이력의 성향에 차이가 커진다.
이에 따라 이질도 연관도(dissimilar Concatenation Factor: dissimilar CF)는 도 6에 나타낸 바와 같이 상품 #3 및 상품 #4가 1.25이며, 상품 #1이 0.5를 가질 수 있다. 여기서 이질도 매트릭스 D와 구매 이력 매트릭스 L의 매트릭스 곱셈을 수행하여 도 6에서와 같은 각 사용자 별 이질도에 기반한 추천 아이템의 점수를 산출할 수 있다.
상품 추천부(263)는 도 6에 나타낸 순서에서 사용자가 이미 구매한 상품을 제외한 상품의 순서대로 추천 목록을 추출한다. 즉 상품 추천부(263)는 사용자 #1의 경우, 상품#3, 상품#4, 상품#1, 상품#2 순으로 이질 추천 상품 목록을 구성할 수 있다. 여기서 이미 사용자 #1가 구매한 상품#1, #2, #4를 구매한 이력을 가지기 때문에, 상품 추천부(263)는 구매 이력을 가진 상품을 제외하고, 상품#3을 포함하는 이질 추천 상품 목록을 생성할 수 있다.
이렇게 제공되는 상품은 도 7에 나타낸 바와 같이 구매 스타일이 다른 사용자의 이질 추천 아이템으로서 사용자 단말기(100)의 화면에 출력될 수 있다. 상품 추천부(263)는 이질 추천 아이템이 산출되면, 도 7에 도시된 바와 같은 화면 구성을 수행하고, 해당 화면을 사용자 단말기(100)에게 제공하도록 지원할 수 있다. 이에 따라 사용자는 도 7에서와 같은 화면 확인을 통하여 자신과 전혀 다른 구매 방식을 가지는 사용자들의 이질 추천 아이템에 대하여 추천 받을 수 있다.
상술한 바와 같이, 본 발명의 이질 추천 아이템 기능을 지원하는 본 발명은 기존에는 특정 사용자와 구매 이력이 비슷한 사용자들의 구매 행태에 근거해서만 추천 상품 목록을 생성하였으나, 특정 사용자와 구매 행태가 전혀 다른 사용자들의 구매 이력에 기반해 이질 추천 상품 목록을 생성하고 별도의 메뉴를 통해 제공함으로써, 사용자 관심을 유발하고 서비스 활성화에 기여할 수 있다.
도 8은 본 발명의 일 실시 예에 따른 아이템 서비스 장치(200)의 운용을 설명하기 위한 도면이며, 도 9 내지 도 12는 도 8의 각 단계를 보다 상세히 나타낸 도면이다.
도 8 내지 도 12를 참조하면, 본 발명의 아이템 서비스 장치(200)는 S110 단계에서 사용자 단말기들(100)과의 연동을 통해 전체 사용자들의 구매 이력을 수집한다. 구체적으로 사용자 단말기들(100)로부터 전송되는 구매와 관련된 정보를 수집함으로써, 상기 전체 사용자들의 구매 이력을 수집할 수 있다. 이 과정을 더 구체적으로 설명하면, 아이템 서비스 장치(200)는 도 9에 도시된 바와 같이 S111 단계에서 사용자 ID, 상품 ID 및 구매일을 포함하는 구매 이력을 수집한다. 그리고 아이템 서비스 장치(200)는 S112 단계에서 기간별 사용자 로그를 추출하며, S113 단계에서 사용자 단말기별 구매 로그를 그룹핑한다. 이후 아이템 서비스 장치(200)는 S114 단계에서 사용자 ID, 구매 상품 목록(상품 ID, 상품 ID, 상품 ID, ...)와 같은 데이터 수집을 수행할 수 있다.
다시 도 8을 참조하면, 다음으로 아이템 서비스 장치(200)는 S120 단계에서 사용자 단말기(100)들의 그룹핑을 수행할 수 있다. 그룹핑 과정을 더 구체적으로 설명하면, 아이템 서비스 장치(200)는 도 10에 도시된 바와 같이 S121 단계에서 사전 정의된 P 및 Q 값에 따라 전체 사용자들을 일정 수의 그룹으로 분할하고, 분할된 각 그룹에 대하여 그룹 ID를 할당함으로써 각 사용자별 그룹 ID 생성을 수행할 수 있다. 이후 아이템 서비스 장치(200)는 S122 단계에서와 같이 Mapper 기능 수행에 따라 {Key : Value} = {Group ID : 사용자 ID, 구매 상품 목록} 형태를 가지는 데이터를 출력할 수 있다. 그리고 아이템 서비스 장치(200)는 S123 단계에서 Group ID별로 Grouping을 수행할 수 있다. 이에 따라 아이템 서비스 장치(200)는 S124 단계에서와 같이 Group ID별로 구분된 각 사용자 단말기(100)들의 구매 이력 그룹핑을 수행할 수 있다.
다시 도 8에서, 아이템 서비스 장치(200)는 S130 단계에서 사용자 단말기별 데이터 분류를 수행한다. 데이터 분류 과정은 도 11에 도시한 바와 같이 이루어질 수 있다. 즉 아이템 서비스 장치(200)는 S131 단계에서 동일 그룹 내 사용자 1명당 동일 그룹 내의 모든 사용자를 제외하고, S132 단계에서 사용자 ID별 데이터의 Grouping을 수행함으로써, S133 단계에서와 같이 각 사용자 ID별로 동일 그룹에 속한 다른 사용자의 구매 이력을 분류 저장할 수 있다.
다음으로 아이템 서비스 장치(200)는 S140 단계에서 사용자별 이질도 산출을 수행하고, 산출된 이질도 기반 사용자 단말기별 이질 추천 아이템 목록 생성을 수행한다. 더 구체적으로 설명하면, 아이템 서비스 장치(200)는 도 12에 도시된 바와 같이 S141 단계에서 각 사용자 ID별 이질도 연관 점수를 계산하고, 연관 점수별로 가장 높은 이질도를 가지는 상품 목록을 생성할 수 있다. 그리고 아이템 서비스 장치(200)는 S142 단계에서 생성된 상품 목록에서 각 사용자 ID별 구매 이력에 포함된 상품을 제외함으로써 이질 추천 아이템 목록을 생성할 수 있다.
이후 아이템 서비스 장치(200)는 S150 단계에서 특정 사용자가 선택되면, 선택된 사용자에 대한 이질 추천 아이템 목록을 제공할 수 있다. 즉 아이템 서비스 장치(200)는 현재 장치 통신부(210)에 사용자 단말기(100)를 통해 접속된 사용자의 식별 정보를 확인하고, 해당 사용자 ID로 생성된 이질 추천 아이템을 상기 사용자 단말기(100)에 제공하도록 지원할 수 있다.
이상에서 설명한 바와 같이 본 발명의 아이템 서비스 장치(200)의 운용에 따른 이질 추천 아이템 목록 제공 방법은 전체 사용자 단말기들에 대한 이질 추천 아이템 목록을 사전 생성하여 마련할 수 있다. 이러한 본 발명은 특정 사용자 단말기가 아이템 서비스 장치(200)에 접속하거나, 또는 특정 사용자 단말기에게 이질 추천 아이템을 제공하도록 결정되면, 해당 사용자 ID를 확인하고 사전 생성된 이질 추천 아이템 목록을 제공할 수 있다. 이에 따라 본 발명의 아이템 서비스 장치(200)는 서비스 장치에 부하가 적게 걸리는 시간대에 이질 추천 아이템들을 생성하도록 지원하고, 다양한 사용자 단말기들이 접속하는 시간에 별다른 이질 추천 아이템 생성 과정의 수행 없이 기 생성된 이질 추천 아이템 목록 제공을 지원할 수 있다. 여기서 아이템 서비스 장치(200)는 사용자들의 아이템 구매에 따라 구매 이력의 갱신 발생을 고려하여 일정 주기로 이질 추천 아이템 목록 갱신을 수행하는 것이 바람직하다.
도 13은 본 발명의 제1 실시 예에 따른 아이템 서비스 장치(200)의 다른 동작 예를 설명하기 위한 도면이다.
도 13을 참조하면, 본 발명의 제1 실시 예에 따른 아이템 서비스 장치(200)은 S210 단계에서 전체 사용자 단말기(100)의 구매 이력을 수집하고, S220 단계에서 그룹핑을 수행할 수 있다. 여기서 S210 단계 및 S220 단계는 앞서 설명한 도 8의 S110 단계 및 S120 단계에서의 사용자 단말기들에 대하여 아이템 서비스 장치(200)가 수행하는 구매 이력 수집 과정과 그룹핑 과정과 동일한 과정이 될 수 있다.
다음으로 아이템 서비스 장치(200)는 S230 단계에서 특정 그룹에 속한 특정 사용자 선택을 수행한다. 즉 아이템 서비스 장치(200)는 사용자 단말기(100)를 통하여 현재 접속한 특정 사용자의 식별 정보를 확인하고, 해당 사용자의 식별 정보를 기반으로 해당 사용자가 속한 특정 그룹을 확인할 수 있다. 이를 위하여 아이템 서비스 장치(200)는 전체 사용자들에 대한 그룹핑을 수행하는 과정에서 각 사용자들이 소속된 그룹 ID에 대한 목록을 저장 관리할 수 있다.
다음으로 아이템 서비스 장치(200)는 S240 단계에서 선택된 특정 사용자와 동일 그룹에 속한 다른 사용자들과의 이질도 산출을 수행할 수 있다. 즉 아이템 서비스 장치(200)는 선택된 사용자가 속한 그룹의 전체 사용자들의 구매 이력을 확인하고, 선택된 사용자와 해당 그룹의 다른 사용자들의 구매 이력을 앞서 설명한 협업 필터링 방식을 적용하여 이질도 산출을 수행할 수 있다.
이후 아이템 서비스 장치(200)는 S250 단계에서 산출된 이질도 및 선택된 사용자 단말기의 구매 이력 기반으로 이질 추천 아이템 목록을 생성하고 이를 해당 사용자 단말기에 제공하도록 지원할 수 있다.
이상에서 설명한 바와 같이 본 발명의 실시 예에 따른 아이템 서비스 장치(200)의 운용에 기반한 아이템 추천 방법은 특정 사용자 단말기가 접속하거나 이질 추천 아이템을 제공하도록 선택되는 시점에 이질 추천 아이템 목록 생성을 위한 일부 과정을 수행한다. 이에 따라 본 발명은 사용자 단말기에 해당 목록을 제공하는 시점에 연산을 수행함에 따라 서비스 장치 부하를 줄일 수 있는 특징이 있다. 추가로 S230 단계를 S210 단계 이전에 수행하는 경우 본 발명은 특정 사용자 단말기에 제공되는 이질 추천 아이템의 갱신 시점이 최근 시점이 되도록 지원할 수 있다.
다음으로 본 발명의 제2 실시 예에 따른 아이템 추천 서비스에 대하여 설명한다. 본 발명의 제2 실시 예에서는, 아이템 추천을 위하여 연관 규칙을 이용하는 것으로서, 도 14 및 도 15를 참조하여 본 발명에서 이용되는 연관 규칙에 대하여 먼저 설명한다.
설명의 편의를 위해, 사용자 단말기(100)를 통해서 다수의 사용자(User 1~7)가 아이템 서비스 장치(200)에 접속하여, 도 14에 도시된 바와 같 아이템(상품)을 구매한 것으로 가정한다.
즉 제1 사용자(User 1)는 Beer, Chicken, Milk를 구매한 이력을 가지며, 제2 사용자(User 2)는 Beer, Cheese를 구매한 이력을 갖는다. 또한 제3 사용자(User 3)는 Cheese, Boots를, 제4 사용자(User 4)는 Beer, Chicken, Cheese를, 제5 사용자(User 5)는 Beer, Chicken, Clothes, Cheese, Milk를, 제6 사용자(User 6)는 Chicken, Clothes, Milk를, 제7 사용자(User 7)는 Chicken, Milk, Cloths를 각각 구매한 이력을 갖는다.
이 경우, 본 발명의 제2 실시 예에 따른 아이템 서비스 장치(200)는 상술한 사용자들의 구매 이력을 기반으로 도 15에 도시된 바와 같이 연관 규칙을 생성할 수 있다. 상기 연관 규칙은 동일 사용자에 의해 구매된 아이템들의 집합으로 표현될 수 있다. 따라서, 아이템 서비스 장치(20)는 연관 규칙의 길이에 따라 다양한 형태의 연관 규칙을 생성할 수 있다. 예를 들어, 아이템 서비스 장치(20)는 도시된 바와 같이 규칙의 길이가 2인 (Beer, Chicken), (Beer, Milk), (Chicken, Milk) 등을 생성할 수 있다. 또한, 아이템 서비스 장치(200)는 규칙의 길이가 3인 경우 (Beer, Chicken, Cheese), (Chicken, Milk, Clothes) 등을 연관 규칙으로 생성할 수 있다. 정리하면, 아이템 서비스 장치(200)는 각 사용자들이 구매한 구매 이력을 기반으로 동일 사용자에 의해 함께 구매된 아이템들의 다양한 조합들에 해당하는 연관 규칙들을 사전 정의된 규칙의 길이에 맞게 생성할 수 있다. 생성된 각 연관 규칙들은 아이템 서비스 장치(200)에 포함된 또는 별도 관리가 가능한 다수의 분산 처리 장치(400)들에 분산되어 저장될 수 있다. 이하 설명에서는 아이템 서비스 장치(200)가 2의 규칙 길이를 기준으로 연관 규칙을 생성하고 운용하는 예를 기준으로 설명하기로 한다.
한편 연관 규칙의 유용성을 판단하기 위해서 본 발명의 제2 실시 예에 따른 아이템 서비스 장치(200)는 3개의 구성 요소를 이용할 수 있다. 즉 아이템 서비스 장치(200)는 지지도(Support), 신뢰도(Confidence) 및 향상도(Lift) 중 적어도 하나의 요소를 기준으로 연관 규칙의 유용성을 판단할 수 있도록 지원한다. 이를 위하여 아이템 서비스 장치(200)는 각 유용성 판단 구성 요소들을 연관 규칙들의 통계적 결과로부터 도출할 수 있다.
더 구체적으로, 도 14에서 각 사용자별 구매 이력을 한 건의 연관 규칙 또는 트랜잭션으로 정의하면, 지지도는 전체 트랜잭션 중에서 특정 상품 A와 상품 B가 포함된 트랜잭션의 건수에 해당할 수 있다. 여기서 상품 A 및 상품 B는 서로 다른 종류의 상품을 예시하기 위한 것으로 도 14에 나타낸 상품들 중 어느 하나의 상품이 될 수 있다.
상술한 지지도는 다음 수학식 2와 같이 정의될 수 있다.
여기서 s(A=>B)는 지지도이며, T는 상품 A와 상품 B를 포함하는 트랜잭션의 수이며, D는 전체 트랜잭션의 수가 될 수 있다. 그리고 A는 상품 A를, B는 상품 B를 의미할 수 있으며, 상품 A 및 상품 B는 앞서 설명한 바와 같이 아이템 서비스 장치(100)를 통한 사용자들의 구매 이력에 포함된 특정 상품들이 될 수 있다. 이에 따라 지지도는 전체 연관 규칙들 중에 상품 A와 상품 B를 모두 포함한 연관 규칙의 비율이 될 수 있다.
한편, 신뢰도는 상품 A를 포함하고 있는 트랜잭션 대비 상품 A와 B를 동시에 포함하고 있는 트랜잭션의 비율을 의미할 수 있다. 즉 신뢰도는 상품 A를 포함하는 연관 규칙들 대비 상품 A와 상품 B를 동시에 포함하고 있는 연관 규칙들의 비율이 될 수 있다. 이러한 신뢰도는 수학식 3으로 정의될 수 있다.
마지막으로, 향상도는 상품 B에 대한 신뢰도 분의 상품 A->B로의 신뢰도를 나타낸 것이다. 즉 향상도는 상품 B를 구매한 전체 트랜잭션 중에 상품 A를 구매한 상황에서 상품 B를 구매한 트랜잭션의 비율이 될 수 있다. 또는 향상도는 상품 B를 구매한 전체 연관 규칙들 중에 상품 A를 구매한 상황에서 상품 B를 구매한 연관 규칙들의 비율이 될 수 있다. 이러한 향상도는 1보다 작으면 부정적인 관계를 의미하며, 1보다 크면 긍정적인 관계로 해석할 수 있다. 향상도는 수학식 4와 같이 정의될 수 있다.
이상에서는 본 발명의 실시 예에 따른 아이템 추천을 위하여 연관 규칙 및 유용성 판단 구성 요소에 대하여 설명하였다. 이하에서는 상술한 연관 규칙 및 유용성 판단 구성 요소를 바탕으로 아이템 추천을 수행하는 본 발명의 제2 실시 예에 따른 아이템 서비스 장치(200)의 장치 제어부(260)의 구성 및 아이템 추천 방법에 대하여 보다 상세히 설명하기로 한다.
본 발명의 제2 실시 예에 따른 아이템 서비스 장치(200)의 장치 제어부(260)는 아이템 구매 이력 정보를 기반으로 하는 연관 규칙들을 수집하고, 이를 기반으로 아이템 추천 정보를 생성하기 위하여, 도 16에 도시된 바와 같은 구성을 포함할 수 있다.
도 16은 본 발명의 아이템 서비스 장치(200) 구성 중 장치 제어부(260)의 구성을 보다 상세히 나타낸 도면이다. 아울러, 도 17은 연관 규칙 분산 저장을 설명하기 위한 도면이며, 도 18은 사용자별 구매 이력의 저장 과정을 설명하기 위한 도면이며, 도 19은 사용자별 연관 규칙의 조회 과정을 설명하기 위한 도면이다.
도 16 내지 도 19을 참조하면, 본 발명의 제2 실시 예에 따른 아이템 서비스 장치(200)의 장치 제어부(260)는 연관 규칙 분산 저장지원부(261), 사용자별 연관 규칙 조회부(263), 추천 정보 제공부(265)를 포함할 수 있다.
연관 규칙 분산 저장지원부(261)는 아이템 서비스 장치(200)를 이용하는 사용자들의 구매이력을 기반으로 연관 규칙을 생성하고, 생성된 연관 규칙을 도 17에 도시된 바와 같이 분산 처리 서비스 장치(400)의 데이터 노드에 저장하도록 지원하는 구성이다. 도 17은, 8개의 헤드 상품 ID에 8개의 결과 상품 ID가 각각 특정 지지도, 신뢰도, 향상도를 가지며 연관 규칙으로서 마련되면, 다수의 데이터 노드들(RDB #1 ~ RDB #P)에 해당 연관 규칙들을 나누어 저장할 수 있음을 나타내고 있다. 이때 각 데이터 노드들에는 동일한 헤드 상품 ID들로 구성된 연관 규칙들이 저장될 수 있으며, 연관 규칙의 데이터 양에 따라 복수개의 데이터 노드에 동일 헤드 상품 ID의 연관 규칙이 나뉘어 저장될 수도 있다.
이러한 연관 규칙 분산 저장지원부(261)는 다양한 사용자 단말기(100)를 통해 아이템 서비스 장치(200)가 제공하는 아이템들을 구매한 경우, 구매한 아이템들에 대한 정보를 수집할 수 있다. 그리고 연관 규칙 분산 저장지원부(261)는 아이템들의 관계를 사전 정의된 규칙 길이, 예를 들면 2의 규칙 길이를 기준으로 연관 규칙을 생성할 수 있다. 이와 함께 연관 규칙 분산 저장지원부(261)는 생성된 연관 규칙들을 사전 정의된 형식에 데이터 노드들에 분산 저장하거나 또는 특정 데이터 노드에 저장할 수 있다. 이때 저장되는 연관 규칙들은 헤드 상품 ID, 결과 상품 ID, 지지도, 신뢰도 및 향상도를 포함하는 형태로 저장될 수 있다. 여기서 헤드 상품 ID는 결과 상품 ID를 검색하기 위한 검색 아이템에 해당할 수 있다.
예를 들어, 특정 사용자가 특정 상품을 구매한 이력을 가진 경우, 해당 구매 상품은 헤드 상품 ID에 해당할 수 있다. 결과 상품 ID는 헤드 상품 ID와 쌍을 이루며 저장된 상품으로서 사용자 단말기(100)에 제공될 아이템 추천 정보에 포함될 수 있는 아이템이 될 수 있다. 지지도, 신뢰도 및 향상도는 특정 결과 상품 ID가 아이템 추천 정보에 포함될지 여부를 결정하는 판단 구성 요소가 될 수 있다. 특히 아이템 제공 서비스 설계 방식에 따라 지지도, 신뢰도 및 향상도 중 적어도 하나가 결과 상품 ID를 아이템 추천 정보로서 이용할지 여부를 결정할 수 있다. 즉 아이템 제공 서비스 설계 방식에 따라 세가지 유용성 판단 구성 요소 중 어느 하나, 세가지 유용성 판단 구성 요소 중 둘, 세가지 유용성 판단 구성 요소 중 하나 등을 기준으로 아이템 추천 정보 포함 여부를 결정할 수 있다. 예를 들어 아이템 제공 서비스 설계 방식에 따라 신뢰도만을 이용하여 검색된 결과 상품 ID를 아이템 추천 정보에 포함하도록 결정할 수 있다.
사용자별 연관 규칙 조회부(263)는 아이템 서비스 장치(200)에 사용자 단말기(100)가 접속을 수행하면, 상기 사용자 단말기(100)를 통해 접속한 사용자의 구매 이력을 특정 데이터 노드로부터 확인할 수 있다. 이를 위하여 사용자별 연관 규칙 조회부(263)는 도 18에 도시된 바와 같이 아이템 서비스 장치(200)를 이용하는 사용자 단말기(100)들의 아이템 구매 이력을 각각 특정 데이터 노드들에 저장하도록 제어할 수 있다.
아울러, 사용자별 연관 규칙 조회부(263)는 특정 사용자의 구매 이력을 토대로 하여 유용성 판단 구성 요소가 일정 값 이상인 예비 추천 아이템들을 추출한다. 이때 사용자별 연관 규칙 조회부(263)는 도 19에 도시된 바와 같이 사용자별 구매 아이템 ID에 대한 해쉬 값을 토대로 실제 연관 규칙을 가져올 RDB, 즉 데이터 노드를 검색할 수 있다. 도시된 도 19를 기준으로, 데이터 노드 #1 에 저장된 user ID 1의 구매 이력들에 포함된 아이템들은 각각 여러 개의 데이터 노드들(RDB #1 ~ RDB #P)에 저장된 연관 규칙들에 저장된 정보들을 이용하는 키 값이 되며, 각 데이터 노드들에 저장된 연관 규칙들 중 유용성 판단 구성 요소 중 적어도 하나가 지정된 일정 값 이상인 아이템들이 예비 추천 아이템으로서 제공될 수 있다.
이때, 사용자별 연관 규칙 조회부(263)는 구매 이력에 따른 특정 아이템에 대응하는 예비 추천 아이템들을 추천 정보 제공부(265)에 제공할 수 있다. 이 과정에서 사용자별 연관 규칙 조회부(263)는 사용자 단말기(100)의 구매 이력이 일정 개수 이상으로 많은 경우, 사전 정의된 일정 개수의 구매 이력만을 유효한 구매 이력으로 정의하고 해당 구매 이력에 따른 연관 규칙들을 조회할 수 있다. 또는 사용자별 연관 규칙 조회부(263)는 구매 이력이 일정 개수 이상인 경우 일정 기간을 정의하여 최근 또는 사전 정의된 해당 기간 이내 구매된 아이템들만을 유효한 구매 이력으로 정의할 수도 있다. 그리고 사용자별 연관 규칙 조회부(263)는 구매 이력에 포함된 아이템 개수가 일정 개수 이하인 경우 전체 아이템들을 유효 구매 이력으로 정의하고, 각 아이템들에 대한 예비 추천 아이템들을 조회하도록 지원할 수 있다.
추천 정보 제공부(265)는 예비 추천 아이템들이 사용자별 연관 규칙 조회부(263)로부터 전달되면, 전달된 예비 추천 아이템들에 대하여 유용성 판단 구성 요소를 적용하여 추천 아이템들을 선별한다. 예를 들어, 추천 정보 제공부(265)는 전달된 예비 추천 아이템들에 대하여 신뢰도 순으로 정렬하고, 신뢰도가 높은 순서에 따라 일정 순위에 드는 예비 추천 아이템들을 추천 아이템으로 결정할 수 있다. 이 과정에서 추천 정보 제공부(265)는 동일 순위를 가진 예비 추천 아이템들이 존재하는 경우, 최근 구매 이력 아이템의 예비 추천 아이템들의 우선순위를 보다 높게 설정할 수 있다.
한편 아이템 추천 방법에 있어서 제1 방법은 사용자 별 구매 상품 개수에 비례한 추천 상품 생성 방법으로, 한 명의 사용자에 대해 해당 사용자의 B_u개의 구매 상품 ID 및 각각의 구매상품 ID를 Head로 하는 P개의 연관 규칙을 가지게 된다. 여기서 예비 추천 아이템들로 제공된 P개의 연관 규칙들 중 추천 아이템 추출 기준은 유용성 판단 구성 요소 중 적어도 하나가 이용될 수 있다. 예를 들어 아이템 추천 기준은 지지도, 신뢰도, 향상도를 모두 사용하거나, 일부는 신뢰도, 일부는 향상도를 이용할 수도 있다.
이하 설명에서는 신뢰도를 기준으로 추천 아이템을 추출하는 예를 기준으로 설명하기로 한다. 먼저 제1 방법은 B_u개를 구매한 사용자에 대해 추천 상품을 B_u개를 생성하는 방법이다. B_u개의 첫 번째 상품부터 B_u번째 상품(i=1, 2, …, B_u)까지 아래 과정을 반복한다. 이 과정에서 전체 구매 상품의 순서를 단순히 구매 상품 ID 순으로 정렬하거나, 구매 상품 이력의 B_u가 너무 많은 경우 등을 고려하여, 현재일 대비 구매 시기가 가장 빠른 순으로 정렬하여 사용할 수도 있다. 또는 사용자 선호도를 기준으로 연관 규칙은 구매 상품 ID 순으로 정렬될 수도 있다.
한편 아이템 서비스 장치(200)는 Head의 상품 ID가 B_i(i=1, 2, …,B_u)인 연관 규칙에서 신뢰도 값이 가장 높은 규칙을 선택하고 Consequent 상품 ID를 저장한다. 그리고 아이템 서비스 장치(200)는 다음 구매 상품부터 Head의 상품 ID가 B_i인 연관 규칙을 조회하고 이 중 신뢰도 값이 가장 높은 규칙을 선택하여 해당 규칙의 Consequent 상품 ID를 가져오며, 이때 아이템 서비스 장치(200)는 가져온 상품 ID가 이미 앞의 구매 상품으로부터 생성된 추천 상품에 존재하는지 확인한다. 그리고 해당 추천 상품이 이미 존재하는 경우 아이템 서비스 장치(200)는 Head의 상품 ID가 B_i인 연관 규칙에서 그 다음으로 신뢰도 값이 높은 규칙의 Consequent 상품 ID를 가져오고 동일 추천 상품 존재 여부 검사를 반복한다. 한편 각 구매 이력별로 추출한 연관 규칙들 P가 B_u에 비해 현저히 작거나, B_u가 너무 많은 경우, Head의 상품 ID가 B_i인 연관 규칙을 P개 만큼 다 조회해도 앞의 추천 결과와 겹치지 않는 consequent 상품 ID가 얻어지지 않는 경우 등이 있을 수 있다. 이에 따라 구매 이력별 연관 규칙들에 적용될 P를 시스템 부하에 따른 연산 속도 저하 및 제공될 추천 아이템들의 개수 등을 고려하여 실험적으로 조절될 수 있다.
한편, B_u가 너무 많은 경우 예를 들어 10,000개의 상품을 구매한 사용자는 그 만큼의 추천 상품을 생성해도 실질적으로 사용하기 어려울 수 있다. 따라서 아이템 서비스 장치(200)는 각 사용자별로 최대로 생성할 상품의 개수 K를 지정하여 사용할 수도 있다. 이때 아이템 서비스 장치(200)는 K가 B_u보다 작은 경우에는 K개 만큼, K가 B_u보다 큰 경우에는 순서대로 B_u개 만큼 생성한 후에 이후 상품에 대해서는 추천 상품을 생성하지 않을 수 있다. 이 과정을 통해 아이템 서비스 장치(200)는 각 사용자별로 B_u개 또는 B_u가 너무 큰 경우 K개 만큼의 추천 상품을 생성할 수 있다.
아이템 추천 기능 방법에 있어서 제2 방법은 사용자별 구매 상품 개수와 관계없이 특정 개수의 추천 상품을 생성하는 방법이다. 아이템 서비스 장치(200)는 한 명의 사용자에 대해 해당 사용자의 B_u개의 구매 상품 ID 및 각각의 구매상품 ID를 Head로 하는 P개의 연관 규칙을 수집할 수 있다. 제2 방법에서도 제1 방법과 유사하게 아이템 서비스 장치(200)는 유용성 판단 구성 요소에 포함되는 지지도, 신뢰도, 향상도 중 적어도 하나를 기준으로 예비 추천 아이템으로 사용할 연관 규칙들을 추출할 수 있다. 제2 방법은 B_u개를 구매한 사용자에 대해 추천 상품을 K개를 생성하는 방법이다.
여기서 K개는 적용 서비스 및 상품의 관점에서 정해지는 값이다. K개의 추천 상품을 뽑기 위해 다음 과정을 수행한다. 먼저 아이템 서비스 장치(200)는 최대 K개의 추천 상품 ID를 저장할 수 있는 저장소를 마련한다. 그리고 아이템 서비스 장치(200)는 전체 (B_u X p)개의 연관 규칙을 유용성 판단 구성 요소 중 적어도 하나 예를 들면, 신뢰도순으로 정렬한다. 아이템 서비스 장치(200)는 신뢰도가 가장 높은 연관 규칙부터 시작해서 조회하여 K개가 추가될 때까지 다음 과정을 반복한다.
아이템 서비스 장치(200)는 현재 규칙의 Consequent 상품 ID가 기존 K개를 저장하는 저장소에 존재하는지 검사하고 존재하지 않는 경우 추천 상품에 추가한다. 신뢰도가 동일하며 Head 상품, Consequent 상품 ID가 다른 연관 규칙들이 다수 존재하는 경우 그리고 전체 저장된 상품이 K개를 넘지 않는 경우 아이템 서비스 장치(200)는 각 연관 규칙의 Consequent 상품 ID를 전부 사용할 수 있다. 특정 신뢰도 값에서 동일한 신뢰도를 가지는 연관 규칙을 추천 상품 저장소에 전부 추가하는 과정에서 해당 연관 규칙의 개수가 K개를 넘는 경우 아이템 서비스 장치(200)는 임의로 K개가 될 수 있도록 선택한다.
예를 들어, K=100이고 신뢰도 순으로 저장했을 때 98개가 저장된 상태에서, 다음으로 높은 신뢰도 값인 0.56을 가지는 연관 규칙이 4개 존재하고, 각 연관 규칙의 consequent 상품 ID가 다른 경우, 아이템 서비스 장치(200)는 4개의 상품 ID중 임의로 2개를 선택하여 추천 상품에 추가할 수 있다. 여기서 아이템 서비스 장치(200)는 추천 상품 추가 과정에서 임의로 추천 상품을 선택하지 않고, 추천 상품 생성에 이용된 연관 규칙의 Head 상품 ID의 등장 빈도를 기록하여, 빈도가 가장 낮은 Head 상품 ID를 가지는 연관 규칙의 순으로 사용할 수 있다. 이러한 옵션을 통하여 아이템 서비스 장치(200)는 특정 상품이 Head 상품인 연관 규칙의 신뢰도 값이 높아, 해당 Head 상품이 존재하는 연관 규칙의 Consequent 상품만 추천 상품으로 다수 추천되는 경우를 방지할 수 있다.
한편 각 구매 이력의 상품별 연관 규칙의 개수인 P들의 총합이 K에 비해 현저히 작은 경우 K개의 추천 상품을 생성하기 어려우므로 P를 K의 배수로 지정할 수 있다.
이 비율은 K값 및 서비스의 종류에 따라 적절히 조정될 수 있다. 예컨대, 도서와 같은 아이템은 사용자별 평균 구매 상품 개수가 수 개/월인 반면, 음악 컨텐츠와 같은 아이템은 수십 개/일 등으로 서비스 종류에 따라 차등적으로 조정될 수 있다.
또한, 연관 규칙을 생성할 때 지정하는 유용성 판단 구성 요소인 지지도, 신뢰도, 향상도 값에 따라 생성되는 연관 규칙의 개수가 바뀔 수 있는데, 이 때 생성된 연관 규칙의 개수가 너무 작은 경우 K값도 크고, P를 K의 배수로 지정할 때 너무 큰 값이 지정되면 각 상품당 P개의 연관 규칙을 얻지 못할 수도 있다. 이에 따라 아이템 서비스 장치(200)를 설계하는 설계자는 유용성 판단 구성 요소 및 P 값을 실험적으로 적절히 조정할 수 있다. 상술한 과정을 통해 아이템 서비스 장치(200)는 각 사용자 별로 K개의 추천 상품을 생성할 수 있다.
상술한 제1 방법 및 제2 방법에서 아이템 서비스 장치(200)는 3개의 아이템을 구매한 사용자에게 3개의 추천 상품을 제공하는 제1 방법을 적용하거나, 3개의 아이템을 구매하였다 하더라도 연관 규칙이 존재하는 한 K개의 상품을 추천하는 제2 방법 중 어느 하나를 선택적으로 운용하거나, 시스템 설계자 의도에 따라 두 가지 방법을 혼용하여 적용할 수도 있다.
도 20는 본 발명의 제2 실시 예에 따라서 조회된 연관 규칙의 예시로서, 유용성 판단 구성 요소 중 신뢰도를 기준으로 정렬한 연관 규칙들을 나타낸 것이다. 상술한 도 20은 아이템 서비스 장치(200)에서의 구매 이력을 바탕으로 생성된 연관 규칙들을 나타낸 것이다. 이러한 연관 규칙을 기반으로 할 때, 사용자 단말기(100)가, 도 20의 헤드 상품에 예시된 일정 개수의 상품을 구매한 경우, 아이템 서비스 장치(200)는 제1 방법에 의하여 consequent 상품 중 도 21에서와 같은 추천 결과를 제공하거나, 제2 방법을 적용하여 도 22와 같은 추천 결과를 제공할 수 있다. 이때 K=5이다.
상술한 바와 같이 본 발명은 사용자별 자신의 구매 이력에 기반하여 가장 통계적으로 연관 관계가 높은 상품을 추천해 줄 수 있다. 특히 본 발명은 연관 관계가 높은 추천 상품을 사용자별 구매 회수에 비례해서 생성하거나, 사용자별 구매 회수와 상관없이 서비스 장치에서 필요로 하는 개수만큼 생성하여 지원할 수 있다. 이와 같은 본 발명의 제2 실시 예에 따른 아이템 추천 방법은 타 추천 방법과 결합하여 추천 결과가 모자라거나 다른 협업 필터링 방식으로 원하는 개수만큼의 추천 결과가 생기지 않는 사용자에 대해서도 필요한 수의 추천 결과를 제공할 수 있다.
도 23은 본 발명의 제2 실시 예에 따른 아이템 서비스 장치(200)의 운용 방법을 설명하기 위한 도면이다.
도 23을 참조하면, 아이템 서비스 장치(200)는 S310 단계에서 대기 상태를 가질 수 있다. 이는 아이템 서비스 장치(200)가 사용자 단말기(100)들이 접속 가능하도록 장치 통신부(210)를 활성화하고 사용자 단말기(100)들 접속에 따른 서비스 페이지 제공을 위한 준비를 수행하는 상태를 의미한다. 또한 아이템 서비스 장치(200)는 각 사용자 단말기(100)들의 회원 등록을 위한 절차 수행을 지원할 수 있다. 이후 아이템 서비스 장치(200)는 S320 단계에서 특정 사용자 단말기(100)의 접속을 확인한다. 이 단계에서 사용자 단말기(100)의 접속이 없는 경우 S310 단계로 분기하여 대기 상태를 유지할 수 있다.
그리고, S320 단계에서 특정 사용자 단말기(100)가 접속을 수행한 경우, 아이템 서비스 장치(200)는 해당 사용자 단말기(100)의 인증을 수행할 수 있다. 한편 아이템 서비스 장치(200)는 사용자 단말기(100)의 고유 식별 정보를 기반으로 해당 사용자 단말기(100)의 구매 이력을 확인할 수 있다. 이를 위하여 아이템 서비스 장치(200)는 사전에 사용자 단말기(100)별 아이템 구매 과정에서 구매 이력을 특정 데이터 노드에 저장하도록 제어할 수 있다. 그리고 아이템 서비스 장치(200)는 사용자 단말기(100)의 식별 정보를 기반으로 특정 데이터 노드에 저장된 사용자 단말기(100)의 구매 이력을 확인할 수 있다. 구매 이력이 확인되면, 아이템 서비스 장치(200)는 S330 단계에서 해당 구매 이력으로부터 기 생성된 연관 규칙을 상술한 제1 방법 및 제2 방법 중 적어도 하나의 방법에 따라서 적용하여, 아이템 추천 정보를 생성하고, 이를 사용자 단말기(100)에 제공할 수 있다.
다음으로 아이템 서비스 장치(200)는 S340 단계에서 해당 사용자 단말기(100)의 상품 구매 여부를 확인하고, 상품 구매 시, S350 단계로 분기하여 구매한 상품을 더 적용하여 상품 구매에 대한 연관 규칙을 생성하고 이를 데이터 노드에 저장하도록 지원할 수 있다. 즉 아이템 서비스 장치(200)는 특정 사용자 단말기(100)가 아이템을 구매한 경우, 해당 아이템 구매 이력을 반영하여 연관 규칙을 생성하고 이전 생성된 연관 규칙에 적용하도록 지원할 수 있다.
다음으로 아이템 서비스 장치(200)는 S360 단계에서 사용자 단말기(100)의 접속 해제 여부를 확인하고, 사용자 단말기(100) 접속 해제 시 S310 단계로 복귀하여 이하 과정을 재수행하도록 지원하며, 접속 유지 시 S330 단계로 분기하여 이하 과정을 재수행하도록 지원할 수 있다.
상술한 본 발명의 아이템 서비스 장치(200)는 상품 구매 이력에 대한 연관 규칙을 저장하는 과정에서 적어도 하나의 분산된 데이터 노드를 이용할 수 있으며, 특히 사용자의 데이터가 대용량인 경우에, 연관 규칙을 여러 대의 장비에 분산 저장할 수 있다. 이러한 본 발명의 아이템 서비스 장치(200)는 분산되어 있는 연관 규칙과 대용량의 사용자 구매 이력이 존재하는 경우 분산환경에서 사용자 별 아이템 추천 절차를 효과적으로 운용할 수 있다.
상술한 본 발명은 MapReduce 분산 프레임웍 상에서 구현될 수 있다. 그러나 본 발명은 분산 환경이 아니더라도 동일한 데이터가 있는 경우 동일한 기술을 적용하여 동일한 결과를 얻을 수 있을 것이다. MapReduce는 구글에서 분산 컴퓨팅을 지원하기 위한 목적으로 제작된 소프트웨어 프레임워크다. 이 프레임워크는 페타바이트 이상의 대용량 데이터를 신뢰할 수 없는 컴퓨터로 구성된 클러스터 환경에서 병렬 처리를 지원하기 위해서 개발되었다. 이 프레임워크는 함수형 프로그래밍에서 일반적으로 사용되는 Map과 Reduce라는 함수 기반으로 주로 구성된다. 한편 하둡(Hadoop)은 대량의 자료를 처리할 수 있는 대량의 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 오픈 소스이다. 본 발명의 분산처리 시스템은 구글 파일 시스템을 대체할 수 있는 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)과 맵리듀스(MapReduce)를 구현한 것이다. HDFS 파일 저장 형태에서, Hadoop의 대용량의 파일은 여러 대의 컴퓨터에 나누어 저장된다. 각각의 컴퓨터에 해당하는 데이터노드(datenode)는 파일의 저장 및 처리를 실제적으로 수행하는 단위가 될 수 있다. 그리고 fault tolerant를 위해 Hadoop에서는 동일한 파일을 X번의 replication 만큼 지정해서 저장해 놓을 수 있다. 즉 한 개의 데이터노드에 저장된 파일(정보)가 사라지더라도 다른 데이터 노드에 저장된 파일을 이용하여 복구할 수 있다. 사용자 입장에서는 파일은 한 곳에 있는 것처럼 보이지만 내부적으로는 replication 수만큼 존재한다. Default는 보통 3으로 지정되어 있다.
HDFS에 존재하는 입력 데이터는 input split을 통해 작은 단위로 쪼개어진다. Job Tracker라는 중앙 coordination 프로세스가, 각각의 input split(쪼개어진 파일)을 해당 파일의 물리적인 위치 등을 고려하여 특정 데이터노드의 Map task로 할당한다. 각 데이터 노드의 task tracker가 각각의 map task를 받아서 처리한다. 특정 데이터 노드에서 Map이나 Combiner를 통해 생성되는 (key, value)값은 필요한 경우 네트워크를 통해 특정 데이터 노드의 Reducer에 전달된다. Reduce task에서는 map task의 결과로 전송된 (key, value)들을 key 순으로 정렬하고, reduce 함수를 수행하고 그 결과를 HDFS에 저장한다. Map 기능을 수행하는 함수를 mapper( ), Reduce 기능을 수행하는 함수를 reducer( )라고 하며, 하나의 데이터 노드에서는 임의의 개수만큼 mapper나 reducer를 동시에 실행시킬 수 있다.
도 24는 본 발명의 연관 규칙의 유용성 판단 구성 요소를 적용하는 과정에 대하여 Word Count를 예시로 나타낸 것이다.
도 24에서 Input으로 있는 3줄은 HDFS 상에 존재한다고 가정하며, 각각의 행(row)은 하나의 데이터노드에 존재하거나 여러 대의 데이터노드에 나뉘어 존재한다. 여기서 실질적으로 데이터 노드 저장 방식은 파일 사이즈에 따라 다를 수 있다. Split은 각각의 row나 전체 입력 데이터 중 일정 크기의 데이터를 특정 데이터 노드의 특정 Mapper에 할당한다. 도면에서는 총 3개의 mapper가 수행되며, 각각의 mapper에는 한 row씩의 데이터가 입력으로 들어온다. mapper에서는 한 row을 읽어, 쉼표(,)로 데이터를 분리한 후, 각 단어를 Key로 하고, 각 단어별 등장회수(=1)를 Value로 하여 출력한다. 출력된 (Key, Value) 값은 동일 Key에 대한 Value를 동일한 데이터노드에서 읽을 수 있도록 정렬된다. 각 데이터 노드의 Reducer에서는 특정 키(이 예시의 경우 단어)에 대해 들어오는 Value값(이 예시의 경우 1의 반복)을 읽어 원하는 기능을 수행한다. 도면에 나타낸 경우는 단순한 합산을 수행할 것을 예시한 것이다. Beer에 대해서는 ‘1,1’ 2개의 value가 들어오며 이를 단순 합산한 후에 (key, value) = (Beer, 2)라는 데이터를 HDFS에 출력한다. 모든 reducer 수행이 끝나면 HDFS에서 바라볼 때, 전체 결과를 확인할 수 있다.
한편 상술한 설명에서는 아이템 서비스 장치(200)에 접속한 사용자 단말기(100)에게 아이템 추천 정보를 제공하기 위하여 연관 규칙들과 유용성 판단 구성 요소를 이용하는 것을 예로 하여 설명하였지만 본 발명이 이에 한정되는 것은 아니다. 즉 아이템 서비스 장치(200)는 설계자 또는 관리자 정책에 따라 접속되지 않은 사용자 단말기들의 구매 이력을 토대로 하여 아이템 추천 정보를 생성할 수 있으며, 생성된 아이템 추천 정보를 접속되지 않은 사용자 단말기들에게 특정 통신 방식 예를 들면, 이메일이나, 문자 등을 통하여 제공할 수도 있다. 이때 아이템 서비스 장치(200)는 해당 이메일 또는 문자 제공을 위하여 사용자 단말기(100)들의 사전 동의를 획득할 수 있다.
이상에서 설명한 본 발명의 실시 예에 따른 아이템 추천 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다. 이때, 컴퓨터로 판독 가능한 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 한편, 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독 가능한 기록매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 자기매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있다.
이상에서는 본 발명의 실시 예에 따른 아이템 추천 서비스에 대하여 본 명세서 및 도면을 통해 바람직한 실시 예들에 대하여 설명하였으며, 비록 특정 용어들이 사용되었으나 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위해 일반적인 의미에서 사용된 것일 뿐, 본 발명이 전술한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 기술적 사상에 바탕을 둔 다양한 실시 예가 가능함은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
본 발명은 아이템 추천 시스템 및 방법에 관한 것으로, 통신망을 통하여 컨텐츠, 어플리케이션, 상품 등과 같은 아이템 서비스를 제공하는데 있어서, 본 발명은 사용자에게 흥미를 유발하고 보다 다양한 경험을 할 수 있는 이질 추천 아이템을 제공할 수 있도록 지원한다. 그리고, 그 결과, 보다 다양한 형태의 아이템 구매를 통한 소비 진작과 사용자의 다양성 도모하도록 지원할 수 있다.
또한, 본 발명은 사용자들이 구매 희망할 가능성이 높은 아이템들을 지능적으로 제공함으로써 아이템 검색에 소요되는 시간을 절감하도록 지원할 수 있다. 그리고, 지능적인 아이템 추천을 통하여 적절한 아이템 구매를 효과적으로 지원함으로써 아이템 구매를 최적화하도록 지원할 수 있다.
Claims (20)
- 아이템 구매 이력을 가지며, 아이템 구매 이력을 기반으로 아이템 추천 정보를 제공받는 적어도 하나의 사용자 단말기;전체 사용자 단말기들을 그룹핑한 후, 특정 그룹에 속한 사용자 단말기들의 구매 이력을 기반으로 사용자 단말기 간의 구매 형태에 대한 이질도를 산출하고, 이를 기반으로 특정 그룹에 속한 특정 사용자 단말기와 동일 그룹에 속하며 이질적인 구매 행태를 가진 다른 사용자 단말기들을 추출하고, 상기 다른 사용자 단말기들의 구매 이력을 기반으로 이질 추천 아이템 목록을 포함하는 상기 특정 사용자 단말기에 대한 아이템 추천 정보를 산출하여 상기 특정 사용자 단말기에 제공하는 아이템 서비스 장치;를 포함하는 것을 특징으로 하는 아이템 추천 시스템.
- 아이템 구매 이력을 가지며, 아이템 구매 이력을 기반으로 아이템 추천 정보를 제공받는 적어도 하나의 사용자 단말기;상기 사용자 단말기들의 아이템을 구매한 이력들을 기반으로 구매한 아이템간의 조합을 정의하는 연관 규칙들을 생성 저장하고, 특정 사용자 단말기의 구매 이력에 포함된 아이템과 관련된 아이템 추천 정보를 상기 연관 규칙으로부터 생성하여 상기 특정 사용자 단말기에 제공하는 아이템 서비스 장치;를 포함하는 것을 특징으로 하는 아이템 추천 시스템.
- 제1항 또는 제2항에 있어서,아이템 추천 정보를 생성하기 위해 필요한 데이터를 분산 저장하는 분산 처리 서비스 장치;를 더 포함하는 것을 특징으로 하는 아이템 추천 시스템.
- 적어도 하나의 사용자 단말기의 접속 및 아이템 구매에 필요한 신호 처리를 지원하는 장치 통신부;전체 사용자 단말기들을 일정 수의 그룹으로 그룹핑하고, 특정 그룹에 속한 사용자 단말기들의 구매 이력을 기반으로, 사용자 단말기 간의 구매 형태에 대한 이질도를 산출하고, 이를 기반으로 상기 특정 그룹에 속한 특정 사용자 단말기와 이질적인 구매 행태를 가지며 동일 그룹에 속한 다른 사용자 단말기들을 추출하고, 상기 다른 사용자 단말기들의 구매 이력을 기반으로 이질 추천 아이템 목록을 포함하는 아이템 추천 정보를 생성하여 상기 특정 사용자 단말기에 제공하는 장치 제어부;를 포함하는 것을 특징으로 하는 아이템 서비스 장치.
- 제4항에 있어서, 상기 장치 제어부는상기 사용자 단말기 간의 구매 형태에 대한 이질도를 두 사용자가 구매한 상품의 합집합의 개수에 대한 상기 두 사용자가 구매한 상품의 교집합 개수의 비율을 기반으로 산출하는 것을 특징으로 하는 아이템 서비스 장치.
- 제5항에 있어서, 상기 장치 제어부는사용자별 구매 이력을 행과 열이 각각 사용자 정보와 상품 정보로 정의되는 구매 이력 매트릭스로 나타내고, 상기 구매 이력 매트릭스에 상기 산출된 각 사용자 간의 이질도를 나타내는 사용자간 이질도 매트릭스를 곱하여, 각 사용자에 대한 상품별 추천 아이템 점수를 산출하고, 상기 상품별 추천 아이템 점수를 기반으로 상기 이질 추천 아이템 목록을 생성하는 것을 특징으로 하는 아이템 서비스 장치.
- 제4항에 있어서,상기 아이템 추천 정보를 생성하기 위해 필요한 데이터를 분산 저장하는 장치 저장부를 더 포함하는 것을 특징으로 하는 아이템 서비스 장치.
- 제4항에 있어서,상기 장치 제어부는상기 전체 사용자 단말기들에 대하여 사전 정의된 일정 개수의 그룹으로 분할한 후 각 그룹에 그룹 ID를 할당하여, 각 사용자 단말기별로 그룹 ID를 가지도록 제어하고, 그룹 ID별로 사용자 단말기들의 데이터를 그룹핑하는 것을 특징으로 하는 아이템 서비스 장치.
- 제8항에 있어서,상기 장치 제어부는동일 그룹에 속한 각 사용자 단말기의 구매 이력과 상기 동일 그룹에 속한 다른 사용자 단말기의 구매 이력을 협업 필터링을 기반으로 비교하여 유사도가 낮은 순서의 이질도 점수를 산출하도록 제어하고,이질도 점수별로 일정 개수의 아이템들을 포함하는 이질 추천 아이템 목록을 생성하도록 제어하는 것을 특징으로 하는 아이템 서비스 장치.
- 적어도 하나의 사용자 단말기의 접속 및 아이템 구매에 필요한 신호 처리를 지원하는 장치 통신부;사용자 단말기들의 아이템을 구매한 이력들을 기반으로 사전 정의된 연관 규칙들을 생성하고, 특정 사용자 단말기의 구매 이력 중 적어도 일부에 대응하는 아이템 추천 정보를 상기 연관 규칙으로부터 생성하여 상기 특정 사용자 단말기에 제공하는 장치 제어부;를 포함하는 것을 특징으로 하는 아이템 서비스 장치.
- 제10항에 있어서,상기 연관 규칙들 및 상기 사용자 단말기들의 구매 이력을 저장하는 장치 저장부;를 더 포함하는 것을 특징으로 하는 아이템 서비스 장치.
- 제11항에 있어서,상기 장치 제어부는상기 특정 사용자 단말기의 구매 이력을 확인하고, 상기 구매 이력에 포함된 아이템들에 해당하는 연관 규칙들을 검색하되, 일정 기준을 기준으로 일정 개수의 예비 추천 아이템으로 사용될 연관 규칙들을 선정한 후, 사전 정의된 일정 순위에 포함된 아이템들을 아이템 추천 정보로 생성하는 것을 특징으로 하는 아이템 서비스 장치.
- 제12항에 있어서,상기 일정 기준은지지도, 신뢰도, 향상도 중 적어도 하나이며,상기 지지도는 전체 연관 규칙들 중 두 개의 특정 상품이 포함된 연관 규칙들의 비율이며, 상기 신뢰도는 특정 상품을 포함하는 전체 연관 규칙들 중 상기 특정 상품 및 다른 특정 상품이 포함된 연관 규칙들의 비율이며, 상기 향상도는 특정 상품을 포함한 연관 규칙들 중에 다른 특정 상품이 구매되고 상기 특정 상품을 구매한 이력을 기반으로 생성된 연관 규칙들의 비율인 것을 특징으로 하는 아이템 서비스 장치.
- 제13항에 있어서,상기 장치 제어부는상기 일정 기준들 중 적어도 하나가 일정 비율 이상인 연관 규칙들을 산출하고, 상기 일정 비율 이상인 연관 규칙들 중 사전 정의된 일정 개수의 연관 규칙을 상기 예비 추천 아이템으로 산출하는 것을 특징으로 하는 아이템 서비스 장치.
- 아이템 서비스 장치가 전체 사용자 단말기들을 일정 수의 그룹으로 그룹핑하는 단계;상기 아이템 서비스 장치가 특정 그룹에 속한 사용자 단말기들의 구매 이력을 기반으로 사용자 단말기 간의 구매 형태에 대한 이질도를 산출하는 단계;상기 아이템 서비스 장치가 상기 이질도를 기반으로, 특정 사용자 단말기와 동일 그룹에 속하며 이질적인 구매 행태를 가진 다른 사용자 단말기들을 추출하고, 상기 다른 사용자 단말기들의 구매 이력을 기반으로 상기 특정 사용자 단말기에 대한 이질 추천 아이템 목록을 생성하여 제공하는 단계;를 포함하는 것을 특징으로 하는 아이템 추천 방법.
- 제15항에 있어서,상기 이질 추천 아이템 목록을 제공하는 단계는상기 전체 사용자 단말기들에 대한 이질도 산출을 기반으로 상기 전체 사용자 단말기들에 대한 이질 추천 아이템 목록들을 생성한 후, 상기 특정 단말기의 접속 시, 상기 특정 단말기에 대한 이질 추천 아이템 목록을 검색하여 제공하는 단계인 것을 특징으로 하는 아이템 추천 방법.
- 제15항에 있어서,상기 이질 추천 아이템 목록을 제공하는 단계는산출된 이질도를 기반으로 수집된 아이템들 중 상기 이질 추천 아이템을 제공받는 특정 사용자 단말기의 구매 이력에 포함된 아이템을 제외시키는 단계;를 포함하는 것을 특징으로 하는 아이템 추천 방법.
- 아이템 서비스 장치가 사용자 단말기들의 아이템 구매 이력을 기반으로 사전 정의된 일정 규칙 길이를 가지는 연관 규칙들을 생성 및 분산 저장하는 단계;상기 아이템 서비스 장치가 특정 사용자 단말기의 구매 이력에 포함된 아이템들에 대응하는 연관 규칙들을 일정 기준으로 일정 개수만큼 예비 추천 아이템으로 산출하는 단계;상기 아이템 서비스 장치가 산출된 예비 추천 아이템 중 사전 정의된 일정 순위 이내의 아이템들을 아이템 추천 정보로 구성하는 단계;상기 아이템 서비스 장치가 상기 아이템 추천 정보를 상기 사용자 단말기에 제공하는 단계;를 포함하는 것을 특징으로 하는 아이템 추천 방법.
- 제18항에 있어서,상기 일정 기준은지지도, 신뢰도, 향상도 중 적어도 하나를 포함하며,상기 지지도는 전체 연관 규칙들 중 두 개의 특정 상품이 포함된 연관 규칙들의 비율이며,상기 신뢰도는 특정 상품을 포함하는 전체 연관 규칙들 중 상기 특정 상품 및 다른 특정 상품이 포함된 연관 규칙들의 비율이며,상기 향상도는 특정 상품을 포함한 연관 규칙들 중에 다른 특정 상품이 구매되고 상기 특정 상품을 구매한 이력을 기반으로 생성된 연관 규칙들의 비율인 것을 특징으로 하는 아이템 추천 방법.
- 제18항에 있어서,상기 아이템 추천 정보를 생성하는 단계는상기 아이템 서비스 장치가 상기 아이템 추천 정보를 구성하는 과정에서 상기 사용자 단말기의 구매 이력의 개수와 동일한 아이템 개수를 포함하도록 구성하는 단계;상기 아이템 서비스 장치가 상기 아이템 추천 정보를 구성하는 과정에서 사전 정의된 일정 아이템 개수를 포함하도록 구성하는 단계;중 적어도 하나의 단계를 포함하는 것을 특징으로 하는 아이템 추천 방법.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2012-0094193 | 2012-08-28 | ||
KR1020120094193A KR20140031429A (ko) | 2012-08-28 | 2012-08-28 | 아이템 추천 시스템과 방법 및 이를 지원하는 장치 |
KR10-2012-0098213 | 2012-09-05 | ||
KR1020120098213A KR20140031647A (ko) | 2012-09-05 | 2012-09-05 | 아이템 추천 시스템 및 방법과, 이를 지원하는 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014035048A1 true WO2014035048A1 (ko) | 2014-03-06 |
Family
ID=50183816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2013/006184 WO2014035048A1 (ko) | 2012-08-28 | 2013-07-11 | 아이템 추천 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2014035048A1 (ko) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220365A (zh) * | 2017-06-07 | 2017-09-29 | 四川大学 | 基于协同过滤与关联规则并行处理的精准推荐***及方法 |
CN110209927A (zh) * | 2019-04-25 | 2019-09-06 | 北京三快在线科技有限公司 | 个性化推荐方法、装置、电子设备及可读存储介质 |
US10438268B2 (en) | 2012-02-09 | 2019-10-08 | Microsoft Technology Licensing, Llc | Recommender system |
CN110347905A (zh) * | 2018-03-07 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 确定信息关联度、信息推荐的方法、装置和存储介质 |
CN110633422A (zh) * | 2019-09-16 | 2019-12-31 | 安徽大学 | 一种基于异构信息网络的微博好友推荐方法 |
CN111241395A (zh) * | 2020-01-07 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 认证服务的推荐方法及装置 |
CN111368208A (zh) * | 2020-03-19 | 2020-07-03 | 北京金山安全软件有限公司 | 一种向用户推荐目标对象的方法、装置及电子设备 |
CN111401983A (zh) * | 2020-02-21 | 2020-07-10 | 北京九州云动科技有限公司 | 搜索列表个性化平台引导方法和装置 |
US20200364747A1 (en) * | 2013-05-13 | 2020-11-19 | Mx Technologies, Inc. | Content presentation based on transaction history |
CN113139769A (zh) * | 2021-04-21 | 2021-07-20 | 平安壹钱包电子商务有限公司 | 基于人工智能的采购方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060009332A (ko) * | 2003-05-12 | 2006-01-31 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 프로파일 기반 협력적 필터링을 수행하는 장치 및 방법 |
KR100801662B1 (ko) * | 2006-08-31 | 2008-02-05 | 에스케이 텔레콤주식회사 | 상품 추천 관리시스템 및 그 추천 방법 |
KR20100091669A (ko) * | 2009-02-11 | 2010-08-19 | 인하대학교 산학협력단 | 전자상거래 서비스에서의 개인화 추천 시스템 |
JP2011076170A (ja) * | 2009-09-29 | 2011-04-14 | Brother Industries Ltd | 商品推奨方法及び商品推奨システム |
JP2012113505A (ja) * | 2010-11-24 | 2012-06-14 | Jvc Kenwood Corp | アイテム選択装置、アイテム選択方法およびコンピュータプログラム |
-
2013
- 2013-07-11 WO PCT/KR2013/006184 patent/WO2014035048A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060009332A (ko) * | 2003-05-12 | 2006-01-31 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 프로파일 기반 협력적 필터링을 수행하는 장치 및 방법 |
KR100801662B1 (ko) * | 2006-08-31 | 2008-02-05 | 에스케이 텔레콤주식회사 | 상품 추천 관리시스템 및 그 추천 방법 |
KR20100091669A (ko) * | 2009-02-11 | 2010-08-19 | 인하대학교 산학협력단 | 전자상거래 서비스에서의 개인화 추천 시스템 |
JP2011076170A (ja) * | 2009-09-29 | 2011-04-14 | Brother Industries Ltd | 商品推奨方法及び商品推奨システム |
JP2012113505A (ja) * | 2010-11-24 | 2012-06-14 | Jvc Kenwood Corp | アイテム選択装置、アイテム選択方法およびコンピュータプログラム |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10438268B2 (en) | 2012-02-09 | 2019-10-08 | Microsoft Technology Licensing, Llc | Recommender system |
US20200364747A1 (en) * | 2013-05-13 | 2020-11-19 | Mx Technologies, Inc. | Content presentation based on transaction history |
CN107220365B (zh) * | 2017-06-07 | 2020-10-23 | 四川大学 | 基于协同过滤与关联规则并行处理的精准推荐***及方法 |
CN107220365A (zh) * | 2017-06-07 | 2017-09-29 | 四川大学 | 基于协同过滤与关联规则并行处理的精准推荐***及方法 |
CN110347905A (zh) * | 2018-03-07 | 2019-10-18 | 阿里巴巴集团控股有限公司 | 确定信息关联度、信息推荐的方法、装置和存储介质 |
CN110347905B (zh) * | 2018-03-07 | 2023-05-16 | 阿里巴巴集团控股有限公司 | 确定信息关联度、信息推荐的方法、装置和存储介质 |
CN110209927A (zh) * | 2019-04-25 | 2019-09-06 | 北京三快在线科技有限公司 | 个性化推荐方法、装置、电子设备及可读存储介质 |
CN110633422A (zh) * | 2019-09-16 | 2019-12-31 | 安徽大学 | 一种基于异构信息网络的微博好友推荐方法 |
CN110633422B (zh) * | 2019-09-16 | 2022-04-05 | 安徽大学 | 一种基于异构信息网络的微博好友推荐方法 |
CN111241395A (zh) * | 2020-01-07 | 2020-06-05 | 支付宝(杭州)信息技术有限公司 | 认证服务的推荐方法及装置 |
CN111401983A (zh) * | 2020-02-21 | 2020-07-10 | 北京九州云动科技有限公司 | 搜索列表个性化平台引导方法和装置 |
CN111368208A (zh) * | 2020-03-19 | 2020-07-03 | 北京金山安全软件有限公司 | 一种向用户推荐目标对象的方法、装置及电子设备 |
CN113139769A (zh) * | 2021-04-21 | 2021-07-20 | 平安壹钱包电子商务有限公司 | 基于人工智能的采购方法、装置、计算机设备及存储介质 |
CN113139769B (zh) * | 2021-04-21 | 2023-02-14 | 平安壹钱包电子商务有限公司 | 采购方案智能推荐方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2014035048A1 (ko) | 아이템 추천 시스템 및 방법 | |
US11580168B2 (en) | Method and system for providing context based query suggestions | |
JP5955286B2 (ja) | 評価算出装置、評価算出方法及び評価算出プログラム | |
CN107426328B (zh) | 信息推送方法和装置 | |
US9471570B2 (en) | Method and system for user selection of query suggestions | |
JP6806762B2 (ja) | 情報をプッシュするための方法及び装置 | |
KR20080028574A (ko) | 통합 검색 서비스 시스템 및 방법 | |
KR20190107990A (ko) | 사용자 맞춤형 랜딩 페이지를 제공하는 서비스 서버 및 방법 | |
WO2022071635A1 (en) | Recommending information to present to users without server-side collection of user data for those users | |
CN113760488A (zh) | 调度任务的方法、装置、设备和计算机可读介质 | |
JP5256273B2 (ja) | 意図抽出装置、方法及びプログラム | |
US7788249B2 (en) | System and method for automatically generating a result set | |
KR20140031429A (ko) | 아이템 추천 시스템과 방법 및 이를 지원하는 장치 | |
KR20140031647A (ko) | 아이템 추천 시스템 및 방법과, 이를 지원하는 장치 | |
JP6056327B2 (ja) | 電子商取引サーバ装置 | |
JP5130340B2 (ja) | 情報選択装置、方法及びプログラム | |
WO2023286970A1 (ko) | 온라인 광고 대행 서버, 캠페인 정보에 포함된 운영 옵션 정보를 선택적으로 변경하는 온라인 광고 대행 방법 및 상기 방법을 실행하기 위한 컴퓨터 프로그램 | |
US20160124959A1 (en) | System and method to recommend a bundle of items based on item/user tagging and co-install graph | |
CN111784376B (zh) | 用于处理信息的方法和装置 | |
WO2024154854A1 (ko) | 사용자의 정보를 관리하는 방법 및 그 장치 | |
WO2014119959A1 (ko) | 페이지 검색 시스템 및 그 제공방법 | |
KR20220054990A (ko) | 이미지 및 영상 검색 바탕의 의류상품 정보 제공 방법 및 장치 | |
JP2020155108A (ja) | 複数のソーシャルネットワークサービス内のチャンネルをグルーピングする方法、システム、および非一時的なコンピュータ読み取り可能な記憶媒体 | |
WO2023080354A1 (ko) | 별점을 대체하는 키워드 리뷰를 위한 방법, 시스템, 및 컴퓨터 프로그램 | |
CN102968593A (zh) | 用于多租户环境下定位应用程序的隔离点的方法和*** |
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: 13833863 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 24/06/2015) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13833863 Country of ref document: EP Kind code of ref document: A1 |