WO2014036892A1 - 产生关联的推荐物品的列表的方法及系统 - Google Patents

产生关联的推荐物品的列表的方法及系统 Download PDF

Info

Publication number
WO2014036892A1
WO2014036892A1 PCT/CN2013/081972 CN2013081972W WO2014036892A1 WO 2014036892 A1 WO2014036892 A1 WO 2014036892A1 CN 2013081972 W CN2013081972 W CN 2013081972W WO 2014036892 A1 WO2014036892 A1 WO 2014036892A1
Authority
WO
WIPO (PCT)
Prior art keywords
item
items
database table
list
generating
Prior art date
Application number
PCT/CN2013/081972
Other languages
English (en)
French (fr)
Inventor
张帆
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to CN201380045476.0A priority Critical patent/CN104685522A/zh
Publication of WO2014036892A1 publication Critical patent/WO2014036892A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Definitions

  • This application relates to the field of computer technology, and more particularly to a method and system for generating a list of associated recommended items.
  • the related item recommendation engine is a core technology in the business field, which can effectively help users discover their needs and promote the sale of items.
  • a method for recommending a book association is as follows: First, a record of all users purchasing a book is scanned, and each user's purchase record is organized into a separate set; secondly, each element in each set is exhausted. Binary combination, and combines the same binary combinations in all sets into one, where the number of occurrences of the same binary combination is represented by the Count value, and the identifiers of all the different binary combinations and the corresponding Count values are formed.
  • the database table finally, the binary combination of all the books related to the first book is arranged according to the Count value from large to small, constitutes a sorted list, and extracts items that need to be recommended from the sorted list in order from front to back. An equal number of books serve as recommendable books associated with the book.
  • the present application provides a method and system for generating a list of associated recommended items, using a memory matrix storage method, and directly calculating an association between any two items according to an operation between vectors of any two items of the memory matrix. Relationship value.
  • the application provides a method of generating a list of associated recommended items, the method can include:
  • attribute information of the item includes an identifier of the item, a logo of the user, and a record of the item purchased by the user;
  • a database table stored in a memory matrix form, where The rows and columns of the database table respectively represent the identifier of the item and the identifier of the user, and the elements of the database table represent the information of the corresponding user purchasing the corresponding item;
  • a list of recommended items associated with the first item is generated based on the associated relationship values of all of the other items with the first item.
  • generating a list of recommended items associated with the first item based on a relationship value of all the other items to the first item may include: associating all of the other items with the first item The relationship values are sorted, and a list of recommended items associated with the first item is generated based on the number of items associated with the first item that are recommended.
  • the method before calculating, according to k B ⁇ Bk), the relationship between each other item in the database table except the first item and the first item, the method further includes:
  • All items in the database table are equally divided into at least two groups according to the number of cores of the CPU.
  • the relationship value between the other items included in each group and the first item is calculated in parallel between the groups.
  • the dividing the all items in the database table into at least two groups according to the number of cores of the CPU may include: dividing, by the average number of all items in the database table, the number of cores of the recommended server CPU Add 1 group.
  • the generating a list of recommended items associated with the first item based on the relationship between all the other items and the first item may include:
  • the memory matrix can be stored in the form of a binary bit.
  • the method may further include: setting an update period;
  • the obtaining the attribute information of the item may include: acquiring attribute information of the item in each update period in each update period according to the set update period;
  • the generating the database table stored in the memory matrix according to the attribute information of the item may include: generating, according to the set update period, the attribute information of the item in each update period in each update period A database table stored in the form of a memory matrix.
  • the relationship value between the item other than the first item in the database table and the first item may include: according to the setting Update cycle, during each update cycle, Calculating an association value between the items other than the first item and the first item in the database table in each update period.
  • the generating a list of recommended items associated with the first item based on an association relationship of all of the other items with the first item may include: based on the set update period, in each update period, based on all A value of the association relationship of the other item with the first item, resulting in a list of recommended items associated with the first item.
  • the present application provides a system for generating a list of associated recommended items, the system can include:
  • An obtaining unit configured to acquire attribute information of the item, where the attribute information of the item includes an identifier of the item, an identifier of the user, and a record of the item purchased by the user;
  • a generating unit configured to generate, according to the attribute information of the item, a database table stored in a memory matrix form, wherein the row and the column of the database table respectively represent an identifier of the item and an identifier of the user, and the element representation of the database table corresponds to User purchases information about the corresponding item;
  • a list generating unit configured to generate a list of recommended items associated with the first item based on an association value of all of the other items with the first item.
  • the list generating unit may sort the relationship values of all the other items calculated by the calculating unit and the first item, and generate and compare the number of items associated with the first item recommended according to the requirement.
  • the system may further include: a grouping unit, configured to divide, by the number of cores of the CPU, all items in the database table into at least two groups;
  • the calculation unit may further calculate, in parallel between the groups, a relationship value between the other items included in each group and the first item. During the new cycle, a list of recommended items associated with the first item is generated based on the associated relationship values of all of the other items with the first item.
  • a method and system for generating a list of associated recommended items provided by an embodiment of the present application, generating a database table stored in a memory matrix according to attribute information of the item, and directly calculating according to an operation between vectors of any two items in the database table
  • the relationship value between the two items can effectively reduce the storage space, increase the calculation speed, and reduce the cost.
  • FIG. 1 is a flowchart of a method for generating a list of associated recommended items according to the present application
  • FIG. 2 is a flowchart of a linked list insertion sorting method provided by the present application
  • FIG. 3 is a system diagram of a list of related recommended items generated by the present application
  • FIG. 4 is a system diagram of another list of recommended items for generating associations provided by the present application. detailed description
  • Embodiments of the technical solution of the present application provide a method of generating a list of associated recommended items, and the method of the present embodiment can be applied to various items such as books, songs, movies, daily necessities, and the like. Especially suitable for small and medium-sized websites (the number of items is less than 100,000, The number of households is recommended in association with items of millions of levels.
  • the method may include the following steps: S101: Obtain attribute information of an item, where the attribute information of the item includes an identifier of the item, an identifier of the user, and a record of the item purchased by the user;
  • obtaining the attribute information of the item may include: obtaining the identifier of the item, wherein the identifier of the item may be a barcode of the item or other identifier that can uniquely represent the item, in this embodiment, B 2 , B 3 ...
  • the B n form indicates the identifier of the different items; the identifier of all the users is obtained, wherein the user's identifier can be the login account of the user or other identifier that can uniquely represent the user.
  • U The n form represents the identification of different users; the records of all the items purchased by the user are obtained, wherein the record of the user's purchased items may be the relationship between the user and the purchased item, or the quantity or purchase of the item may be purchased for the user. Amount, etc.
  • the attribute information of the item may only record the identifier of the hot item, the identifier of the active user, and the record of the hot item purchased by the active user, wherein the hot item may be selected according to needs.
  • the active user can also make a selection according to needs, for example, according to the consumption amount or the number of active times (the number of purchases) of each user.
  • the type of hot items ordered is 40,000.
  • all kinds of items are sorted according to the sales quantity of each item in descending order, and the first 40,000 items are selected.
  • the items are hot items, and if at least two items are sold in equal numbers, they are randomly sorted; when all items are less than or equal to 40,000, all items are hot items.
  • the number of scheduled active users is 2 million.
  • the number of all users is greater than 2 million, the number of active times of each user is in descending order or according to the consumption amount of each user.
  • the order of all users is sorted, and the first 2 million users are selected as active users. If at least two users have the same number of active times, they are randomly sorted; when the number of all users is less than or equal to 2 million, all users are For active users.
  • an update period may be set, and the length of the update period may be set according to the change of the item sales, for example, may be set to one month, one week or one day, and the application does not limit this,
  • the attribute information of the items in each update period is acquired and updated in each update period.
  • the following steps in the present embodiment are described by taking the current cycle as an example.
  • S102 Generate, according to attribute information of the item, a database table stored in a memory matrix form, where rows and columns of the database table respectively represent an identifier of the item and an identifier of the user, and an element of the database table indicates a corresponding user purchase Information about the corresponding item;
  • the database table of the previous cycle is initialized first, and then the database table of the current cycle is generated according to the item attribute information in the current cycle.
  • the row of the data table library may represent the identity of the user, and the corresponding column represents the identity of the item, i.e., a row of elements in the database table corresponds to an item representation, each element of the row of elements corresponding to each user identification.
  • the identifier of the item may be represented, and the corresponding column represents the identifier of the user, that is, a column of elements in the database table corresponds to an item identifier, and each element of the column element corresponds to each user identifier.
  • the database table in this embodiment is described by taking an example in which the row indicates the user's identification and the column indicates the identifier of the article.
  • the memory matrix can be stored in the form of a binary number, an octal, a decimal, or the like.
  • the memory matrix of the embodiment is stored in the form of a binary bit, wherein the database table initialization can be Put the initial value of each element of the database table of all binary bits to 0
  • the database table may be generated according to the attribute information, where the attribute information may be expressed in a tabular form or other forms, as shown in Table 1, Table 1 is information for purchasing an selected hot item selected by an active user in the current period, where Representing hot items, 1 ⁇ represents active users, and the number in each cell represents the number of corresponding hot items purchased by the corresponding active users.
  • the database table is as shown in Table 2: the initial state of each element is 0, if the active user U x purchases the hot item By, you can set the element corresponding to U ⁇ By (U X , By ) to 1. It should be noted that as long as the active user 1 ⁇ purchases the hot item By, (U X , By ) is set to 1 regardless of the number of purchases. B 2 B 3 B 4 climbing. ⁇ B dislike
  • the relationship value R (B 2 — between the item B 2 and the first item ⁇ is calculated as follows: R(B 2 —
  • the method may further include: dividing all the items in the database table into at least two groups according to the number of cores of the CPU; Calculate the relationship between the other items included in each group and the first item in parallel between each group, and calculate the other items in the group other than the first item and the first item in each group ⁇ The relationship between the values. For example, suppose that there are 40,000 items in Table 2, which are divided into A (Br Buxxx B ( ⁇ - B 2 ⁇ 00 ), C (B 2 . . . r B 3 . . . ), D (8 3 . 1 - 8 4 . . .
  • the items that are the remainder can be randomly assigned to any group.
  • all items in the database table may be divided into the number of cores of the recommendation server CPU plus one group.
  • S104 Generate a list of recommended items associated with the first item based on a relationship value of all of the other items to the first item.
  • all the relationship values are sorted in descending order, and then the number of items T recommended according to the number of the top T corresponding relationship values is corresponding.
  • the item serves as a recommended item associated with the first item, producing a list of recommended items associated with the first item.
  • the linked list insertion method may be used to obtain the T top relationship values ranked first.
  • the item type is n, which means the i-th item, and the maximum number of elements in the linked list S is T.
  • the process of inserting the linked list into the sorting method may include: S201: initial assignment;
  • the relationship value of the items other than ⁇ is calculated, wherein the items included in each group are calculated in parallel between the groups.
  • the relationship value between each group, and the value of the relationship between the other items included in the group is calculated serially in each group.
  • each of the items other than the ones can be separately closed according to the order of calculation.
  • the system value is inserted into the linked list S in descending order of R ⁇ -k ):, and the data on the last S-chain table is as follows: ⁇ 1000: B 25 , 900: B 10 , 200: B 88 , 150: B 47 ⁇ .
  • An embodiment of the technical solution of the present application provides a method for generating a list of associated recommended items, and generates a database table stored in a memory matrix according to the attribute information of the item, according to an operation between vectors of any two items in the database table. Calculating the relationship value between any two items directly can effectively reduce the storage space, increase the calculation speed, and reduce the cost.
  • an embodiment of the technical solution of the present application provides a system for generating a list of associated recommended items, which may include:
  • the obtaining unit 301 is configured to acquire attribute information of the item, where the attribute information of the item includes an identifier of the item, an identifier of the user, and a record of the item purchased by the user;
  • the obtaining the attribute information of the item may include: obtaining the identifier of the item, wherein the identifier of the item may be a barcode of the item or other identifier that can uniquely represent the item, and BB 2 is used in this embodiment.
  • B 3 ... B n form the identifier of the different items; the identifier of the user is obtained, wherein the user's identifier can be the login account of the user or other identifier that can uniquely represent the user.
  • Ul, U2, U are used.
  • 3 ... U n form represents the identification of different users; obtains a record of all items purchased by the user, wherein the record of the user purchase item is the relationship between the user and the purchased item, and the quantity of the item that can be purchased for the user Or purchase amount, etc.
  • the attribute information of the item may only record the identifier of the hot item, the identifier of the active user, and the record of the hot item purchased by the active user, wherein the hot item may be selected according to needs.
  • the active user can also make a selection according to needs, for example, according to the consumption amount or the number of active times (the number of purchases) of each user.
  • the type of hot items ordered is 40,000. When the type of all items is more than 40,000, all kinds of items are sorted according to the sales quantity of each item in descending order, and the first 40,000 items are selected.
  • the items are hot items, and if at least two items are sold in equal numbers, they are randomly sorted; when all items are less than or equal to 40,000, all items are hot items.
  • the number of scheduled active users is 2 million.
  • the number of all users is greater than 2 million, the number of active users can be as high as possible according to the number of active times of each user or according to the consumption amount of each user. Sort all users in a low order, and select the first 2 million users as active users. If at least two users have the same number of active times, they are randomly sorted; when the number of all users is less than or equal to 2 million, all users All are active users.
  • the generating unit 302 is configured to generate, according to the attribute information of the item, a database table stored in a memory matrix form, wherein the row and the column of the database table respectively represent an identifier of the item and an identifier of the user, and an element representation of the database table The corresponding user purchases information of the corresponding item;
  • the default database table is initialized, and then a database table is generated based on the item attribute information, wherein the row of the data table library can represent the user's identification, and the corresponding column represents the identification of the item.
  • the identification of the item may be indicated, and the corresponding column represents the identification of the user.
  • the database table in this embodiment is described by taking the row indicating the user's identification and the column indicating the identifier of the article.
  • the memory matrix can be stored in the form of a binary number, an octal, a decimal, or the like.
  • the memory matrix of the embodiment is stored in the form of a binary bit, wherein the database table initialization can be The initial value of each element of the database table for all bins is zeroed.
  • the generating unit 302 generates a database table according to the attribute information acquired by the obtaining unit 301, wherein the attribute information may be expressed in a form of a table or other forms.
  • Table 1 is information for an active user to purchase a selected hot item. , which represents hot items, 1 ⁇ stands for active use, and the database table generated according to the information of the selected hot items purchased by the active users selected in Table 1 is as shown in Table 2: The initial state of each element is 0, if Active users 1 ⁇ purchased hot items
  • a calculating unit 303 configured to calculate, according to k B ⁇ Bk), a relationship value between each of the other items except the first item and the first item in the database table generated by the generating unit 302, where L(B k ) refers to the column in which the first item is located (when the row in the database table represents an item) All elements of the identifier or row (when the column in the database table represents the identity of the item), that is, the vector in the database table that corresponds to all elements of the first item, L (B0 is the a vector of all elements of the column or row in which the i-th item is located, that is, all elements corresponding to the i-th item in the database table, k ) is an association relationship between the i-th item and the first item For example, if it is necessary to obtain a recommendable item associated with the first item, it is necessary to calculate a relationship value of all other items with the first item, wherein the relationship value of each other item with the first item is The calculation methods are the same. It is
  • the list generating unit 304 is configured to generate a list of recommended items associated with the first item based on the relationship value of all the other items calculated by the calculating unit 303 and the first item.
  • the list generating unit 304 sorts all the relationship values in descending order, and then sorts according to the number of items T recommended.
  • the item corresponding to the top T association value is the recommended item associated with the first item, and a list of recommended items associated with the first item is generated.
  • the list generating unit 304 may use the linked list insertion sorting method to obtain the T top-associated relationship values.
  • the first item is set as the item type n, which indicates the i-th item, and the maximum number of elements of the linked list S is T.
  • the process of inserting the linked list into the sorting method can refer to the method shown in FIG. 2, and details are not described herein again.
  • the system may further include a grouping unit 305, configured to divide all items in the database table into at least two groups according to the number of cores of the CPU; and then calculate each in parallel between each group.
  • the relationship between the other items included in the group and the first item, and the value of the relationship between the items other than the first item 8 and the first item B in the group is serially calculated in each group. This maximizes hardware efficiency and maximizes computational speed.
  • the items that are the remainder can be randomly assigned to any group.
  • the grouping unit 305 can also be configured to divide all items in the database table into the number of cores of the recommendation server CPU plus one group.
  • the system may further include an updating unit 306, configured to set an update period, wherein the length of the update period may be set according to a change in the sales of the item, for example, may be set to one month, one week or one day, and the application does not perform this Restricting, obtaining attribute information of the items in each update period and updating in each update period.
  • an updating unit 306 configured to set an update period, wherein the length of the update period may be set according to a change in the sales of the item, for example, may be set to one month, one week or one day, and the application does not perform this Restricting, obtaining attribute information of the items in each update period and updating in each update period.
  • the obtaining unit 301 is further configured to: acquire, according to an update period set by the updating unit 306, attribute information of an item in each update period in each update period;
  • the data table stored in the form of a memory matrix may be generated according to the attribute information of the item in each update period in each update period according to an update period set by the update unit 306;
  • the calculating unit 303 is further configured to: according to an update period set by the updating unit 306, in each update period, The value of the relationship between the items other than the first item and the first item in the database table in the period; the list generating unit 304 is further configured to: according to the update period set by the updating unit 306, A list of recommended items associated with the first item is generated based on a relationship value of all of the other items to the first item during each update period.
  • a system for generating a list of associated recommended items provided by an embodiment of the technical solution of the present application generates a database table stored in a memory matrix according to attribute information of the item, according to an operation between vectors of any two items in the database table. Calculating the relationship value between any two items directly can effectively reduce the storage space, increase the calculation speed, and reduce the cost.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了产生关联的推荐物品的列表的方法及系统,涉及计算机技术领域,根据内存矩阵的任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值,可有效减小存储空间,提高计算速度。本申请采用的方法可以包括:获取物品的属性信息;根据物品的属性信息生成以内存矩阵形式存储的数据库表,其中,数据库表的行和列分别表示物品的标识与用户的标识,数据库表的元素表示对应的用户购买对应物品的信息;根据R(Bi_k)=L(Bi)*L(Bk)分别计算数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值,基于所有其他物品与第一物品的关联关系值,产生与第一物品关联的推荐物品的列表。

Description

产生关联的推荐物品的列表的方法及系统 技术领域
本申请涉及计算机技术领域, 尤其涉及产生关联的推荐物品的列表的方 法及系统。 背景技术
关联物品推荐引擎是商务领域的一项核心技术, 可以有效地帮助用户发 现需求、 促进物品的销售等。
现有技术中, 一种图书关联推荐的方法, 步骤如下: 首先扫描全部用户 购买图书的记录, 并把每个用户的购买记录整理为单独的集合; 其次分别穷 举每个集合中所有元素的二元组合, 并把所有集合中相同的二元组合合并为 一项, 其中, 相同的二元组合出现的次数用 Count值表示, 以及将所有不同的 二元组合的标识和对应的 Count值构成数据库表; 最后对与第一图书相关的所 有图书构成的二元组合按照 Count值由大到小进行排列, 构成排序列表, 并按 照从前到后的顺序从该排序列表中提取与需要推荐的物品的个数相等的图书 作为与该图书关联的可推荐的图书。
在实现上述图书关联推荐的过程中, 现有技术中因计算方法复杂, 使得 运算速度慢; 因采用穷举二元组合的方法构建数据库表, 使得存储占有量大, 进而使得成本高。 发明内容
本申请提供一种产生关联的推荐物品的列表的方法及系统, 采用内存矩 阵的存储方式, 根据内存矩阵的任意两个物品的向量之间的运算可以直接计 算该任意两个物品之间的关联关系值。
本申请可以采用如下技术方案:
一方面, 本申请提供一种产生关联的推荐物品的列表的方法, 该方法可 以包括:
获取物品的属性信息, 所述物品的属性信息包括物品的标识, 用户的标 识, 以及用户购买物品的记录;
根据所述物品的属性信息生成以内存矩阵形式存储的数据库表, 其中, 所述数据库表的行和列分别表示物品的标识与用户的标识, 所述数据库表的 元素表示对应的用户购买对应物品的信息;
根据 k B^I^Bk)分别计算所述数据库表中除第一物品之外的其 他物品与所述第一物品之间的关联关系值, 其中, L(Bk)是在所述数据库表中 的对应于所述第一物品的所有元素组成的向量, ¾) 是在所述数据库表中的 对应于所述第 i物品的所有元素组成的向量,
Figure imgf000004_0001
i物品与所述第一 物品的关联关系值;
基于所有所述其他物品与所述第一物品的关联关系值, 产生与所述第一 物品关联的推荐物品的列表。
优选的, 基于所有所述其他物品与所述第一物品的关联关系值, 产生与 所述第一物品关联的推荐物品的列表可以包括: 将所有所述其他物品与所述 第一物品的关联关系值排序, 并根据需要推荐的与第一物品关联的物品的个 数产生与所述第一物品关联的推荐物品的列表。
优选的, 在所述根据 k B^ Bk)分别计算所述数据库表中除第一 物品之外的每个其他物品与所述第一物品之间的关联关系值之前, 还可以包 括:
根据 CPU的核心数将所述数据库表中的所有物品平均分为至少两个组。 所述根据 k)=L(B *L(Bk)分别计算所述数据库表中除第一物品之外 的其他物品与所述第一物品之间的关联关系值, 可以包括:
在各组之间并行计算每个组内包含的所述其他物品与所述第一物品之间 的关联关系值。
优选的, 所述根据 CPU的核心数将所述数据库表中的所有物品平均分为 至少两个组, 可以包括: 将所述数据库表中的所有物品平均分为所述推荐服 务器 CPU的核心数加 1个组。
优选的, 所述基于所有所述其他物品与所述第一物品的关联关系值, 产 生与所述第一物品关联的推荐物品的列表, 可以包括:
将所有所述其他物品与所述第一物品的关联关系值按照计算的先后顺 序, 降序插入到预设链表中, 其中, 所述预设链表包含的最大元素个数与需 要推荐的与所述第一物品关联的物品个数相同。
优选的, 所述内存矩阵可以采用二进制位的形式存储。
优选的, 所述方法还可以包括, 设置更新周期; 所述获取物品的属性信息可以包括: 根据所述设置的更新周期, 在每个 更新周期内, 获取所述每个更新周期内的物品的属性信息;
所述根据所述物品的属性信息生成以内存矩阵形式存储的数据库表可以 包括: 根据所述设置的更新周期, 在每个更新周期内, 根据每个更新周期内 的所述物品的属性信息生成以内存矩阵形式存储的数据库表。
所述根据 k)=L(B *L(Bk)分别计算所述数据库表中除第一物品之外 的其他物品与所述第一物品之间的关联关系值可以包括: 根据所述设置的更 新周期, 在每个更新周期内,
Figure imgf000005_0001
计算所述每个更新 周期内的数据库表中除第一物品之外的其他物品与所述第一物品之间的关联 关系值。
所述基于所有所述其他物品与所述第一物品的关联关系产生与所述第一 物品关联的推荐物品的列表可以包括: 根据所述设置的更新周期, 在每个更 新周期内, 基于所有所述其他物品与所述第一物品的关联关系值, 产生与所 述第一物品关联的推荐物品的列表。
另一方面, 本申请提供一种产生关联的推荐物品的列表的系统, 该系统 可以包括:
获取单元, 用于获取物品的属性信息, 所述物品的属性信息包括物品的 标识, 用户的标识, 以及用户购买物品的记录;
生成单元, 用于根据所述物品的属性信息生成以内存矩阵形式存储的数 据库表, 其中, 所述数据库表的行和列分别表示物品的标识与用户的标识, 所述数据库表的元素表示对应的用户购买对应物品的信息;
计算单元, 用于根据 k)=L(B *L(Bk)分别计算所述数据库表中除第一 物品之外的其他物品与所述第一物品之间的关联关系值, 其中, L(Bk)是在所 述数据库表中的对应于所述第一物品的所有元素组成的向量, L(B 是在所述 数据库表中的对应于所述第 i物品的所有元素组成的向量, k)是所述第 i 物品与所述第一物品的关联关系值;
列表产生单元, 用于基于所有所述其他物品与所述第一物品的关联关系 值, 产生与所述第一物品关联的推荐物品的列表。
优选的, 所述列表产生单元可以将所述计算单元计算的所有所述其他物 品与所述第一物品的关联关系值排序, 并根据需要推荐的与第一物品关联的 物品的个数产生与所述第一物品关联的推荐物品的列表。 优选的, 所述系统还可以包括: 分组单元, 用于根据 CPU的核心数将所 述数据库表中的所有物品平均分为至少两个组;
所述计算单元还可以在各组之间并行计算每个组内包含的所述其他物品 与所述第一物品之间的关联关系值。 新周期内, 基于所有所述其他物品与所述第一物品的关联关系值, 产生与所 述第一物品关联的推荐物品的列表。
本申请实施例提供的产生关联的推荐物品的列表的方法及系统, 根据物 品的属性信息生成以内存矩阵形式存储的数据库表, 根据数据库表中任意两 个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关系值, 可有效减小存储空间, 提高计算速度, 降低成本。 附图说明
为了更清楚地说明本申请或现有技术中的技术方案, 下面将对实施例或 现有技术描述中所需要使用的附图作筒单地介绍, 显而易见地, 下面描述中 的附图仅仅是本申请的技术方案的一些实施例, 对于本领域普通技术人员来 讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本申请提供的一种产生关联的推荐物品的列表的方法的流程图; 图 2为本申请提供的一种链表插入排序法的流程图;
图 3为本申请提供的一种产生关联的推荐物品的列表的系统图; 图 4为本申请提供的另一种产生关联的推荐物品的列表的系统图。 具体实施方式
下面将结合本申请的技术方案的实施例中的附图, 对本申请的技术方案 进行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本申请的技术方案的 一部分实施例, 而不是全部的实施例。 基于本申请的技术方案中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施 例, 都属于本申请保护的范围。
本申请的技术方案的实施例提供了产生关联的推荐物品的列表的方法, 本实施例所述方法可以应用于各种物品的推荐, 例如图书、 歌曲、 电影、 日 用品等各种物品。 尤其适用于中小规模网站(物品的种类数量小于 10万, 用 户的数量在百万级别)的物品关联推荐。参见图 1 ,该方法可以包括以下步骤: S101: 获取物品的属性信息, 所述物品的属性信息包括物品的标识, 用 户的标识, 以及用户购买物品的记录;
示例性的, 获取物品的属性信息可以包括: 获取所有物品的标识, 其中, 物品的标识可以为该物品的条形码或其他可唯一表示该物品的标识, 本实施 例中采用 B2、 B3…… Bn形式表示不同物品的标识; 获取所有用户的标识, 其中用户的标识可以为该用户的登陆账号或者其他可唯一表示该用户的标 识, 本实施例中采用 U U2、 U3…… Un形式表示不同用户的标识; 获取所有 用户购买的所有物品的记录, 其中, 用户购买物品的记录可以为用户与所购 买的物品之间的关系,或者可以为该用户购买该物品的数量或者购买金额等。
优选的, 为了更好的为活跃用户推荐热点物品, 物品的属性信息可以只 记录热点物品的标识、 活跃用户的标识、 以及活跃用户购买的热点物品的记 录, 其中, 热点物品可以根据需要进行选择, 例如, 根据每种物品的销售额 或者销售数量进行选择, 活跃用户也可以根据需要进行选择, 例如, 可根据 每个用户的消费额或者活跃次数(购买次数 )选择。
例如, 预定热点物品的种类为 4万, 当所有物品的种类大于 4万时, 才艮据 每种物品的销售数量按照由大到小的顺序对该所有种类的物品进行排序, 选 择前 4万种物品作为热点物品,若至少两种物品的销售数量相等,则随机排序; 当所有物品的种类小于或等于 4万时, 所有物品均为热点物品。
例如, 预定活跃用户的个数为 200万, 当所有用户的个数大于 200万时, 根据每个用户的活跃次数按照由多到少的顺序或根据每个用户的消费额按照 由高到低的顺序对该所有用户进行排序, 并选择前 200万个用户作为活跃用 户, 若至少两个用户的活跃次数相等, 则随机排序; 当所有用户的个数小于 或等于 200万时, 所有用户均为活跃用户。
优选的, 在步骤 S101中, 可以设置一个更新周期, 更新周期的长短可以 根据物品销售变化情况进行设定, 例如, 可以设为一个月, 一周或一天, 本 申请对此不进行限制, 在每个更新周期内获取所述每个更新周期内的物品的 属性信息并进行更新。 本实施例下述各步骤均以当前周期为例进行说明。
S102: 根据所述物品的属性信息生成以内存矩阵形式存储的数据库表, 其中, 所述数据库表的行和列分别表示物品的标识与用户的标识, 所述数据 库表的元素表示对应的用户购买对应物品的信息; 示例性的, 首先上一周期的数据库表被初始化, 然后根据当前周期内物 品属性信息生成当前周期的数据库表。
该数据表库的行可以表示用户的标识, 对应的列表示物品的标识, 即, 该数据库表中的一行元素对应于一个物品表示, 该一行元素的每个元素分别 对应于每个用户标识。 或者, 也可以行表示物品的标识, 对应的列表示用户 的标识, 即该数据库表中的一列元素对应于一个物品标识, 该列元素的每个 元素分别对应于每个用户标识。本实施例中的数据库表以行表示用户的标识、 列表示物品的标识为例进行说明。
内存矩阵可以采用二进制位、 八进制、 十进制等各种数制的形式存储, 优选的, 为了使存储占有量最小, 本实施例的所述内存矩阵采用二进制位的 形式存储, 其中, 数据库表初始化可以将所有二进制位的数据库表的每个元 素的初始值均归 0
示例性的, 可以根据所述属性信息生成数据库表, 其中属性信息可以采 用表格形式或者其他形式表示, 参见表 1 , 表 1为当前周期内选取的活跃用户 购买选定的热点物品的信息, 其中 代表热点物品, 1^代表活跃用户, 每个 单元格内的数字代表对应的活跃用户购买对应热点物品的数量。
Figure imgf000008_0001
Figure imgf000008_0002
那么,根据表 1中当前周期内选取的活跃用户购买选定的热点物品的信息 生成的数据库表如表 2所示: 每个元素的初始状态均为 0, 若活跃用户 Ux购买 了热点物品 By, 则可以把 U^^By对应的元素 (UX, By )设为 1。 需说明的是, 只要该活跃用户 1^购买了热点物品 By, 就把(UX, By )设为 1 , 而与购买数量 无关。 B2 B3 B4 攀.■ B„
0 1 1 1 ... 0 u2 1 0 1 0 ... 0 u3 0 1 1 1 ... 1 u4 1 1 0 0 ... 0
... ... ... ... ... ... ... um 1 1 0 1 ... 1
S103: 根据 I^B,— k)=L(B *L(Bk)分别计算所述数据库表中除第一物品之外 的每个其他物品与所述第一物品之间的关联关系值, 其中, L(Bk)是所述第一 物品所在列 (当该数据库表中的行表示物品的标识时)或行(当该数据库表 中的列表示物品的标识时) 的所有元素、 即在所述数据库表中对应于所述第 一物品的所有元素组成的向量, L(B 是所述第 i物品所在列 /或行的所有元素、 即在所述数据库表中对应于所述第 i物品的所有元素组成的向量, k)是所 述第 i物品与所述第一物品的关联关系值;
示例性的, 若需要获取与第一物品相关联的可推荐的物品, 则需要计算 所有其他物品与第一物品的关联关系值, 其中每个其他物品与第一物品的关 联关系值的计算方法均相同。 假设第一物品 Bk为 B1 在此仅以物品 B2与 ^的 关联关系值的计算方法为例进行说明。
参见表 2, 第一物品 ^所在的列组成的向量为 1^(8 = ( 0,1,0,1 , ··· , 1 ), 物品 Β2所在的列组成的向量为 L(B2)= ( 1,0,1,1 , ··· , 1 ), 那么, 物品 B2与该 第一物品 ^之间的关联关系值 R(B2— 的计算方法如下: R(B2
Figure imgf000009_0001
( 1,0,1,1 , ··· , 1 ) * ( 0,1,0,1 , ··· , 1 ) =1*0+0*1+1*0+1*1+··· +1*1。 同理, 可分别依次计算出其他物品与该第一物品 ^的关联关系值: R(B3— 、
(B4_i) R(BU) R(Bn丄)。
优选的, 在步骤 S103之前, 为了使得硬件效率达到最大, 进而使计算速 度最大, 所述方法还可以包括: 根据 CPU的核心数将数据库表中的所有物品 平均分为至少两个组; 然后在每一个组之间并行计算每个组内包含的其他物 品与第一物品 之间的关联关系值, 每个组内串行计算该组中除第一物品 之外的其他物品与第一物品 ^之间的关联关系值。 例如,假设表 2中物品共有 4万种, 均分为甲 (Br Buxxx 乙 (Βκχχπ- B2∞00)、 丙 (B2。。。r B3。。。。)、 丁(83。。。1- 84。。。。)四个组,每个组分别利用一个线程计算该组 内物品与第一物品的关联关系值, 各线程之间的计算可独立进行, 所以, 各 组之间可实现并行计算, 例如, 可以同时计算 B2
Figure imgf000010_0001
B2∞1、 B3∞1四种 物品与 的关联关系值 R(B2— ^、 R(B 10001—1)、 R(B2oooi— 1)、 R(B3oooi— 1)。
示例性的, 若将所有物品平均分组后还有余数, 则作为余数的物品可随 机分给任何一组。
例如, 假设表 2中物品共有 4万种, 均分为 7组后还余下 2种物品, 将该七 个组分别表示为八、 B、 C、 D、 E、 F、 G,那么可将剩余的 2种物品随机分给 A、 B、 C、 D、 E、 F、 G中的任意一组。
优选的, 可以将所述数据库表中的所有物品分为所述推荐服务器 CPU的 核心数加 1个组。
S104: 基于所有所述其他物品与所述第一物品的关联关系值, 产生与所 述第一物品关联的推荐物品的列表。
示例性的, 获取所有其他物品与第一物品^的关联关系值后, 对所有关 联关系值进行降序排列, 然后根据需要推荐的物品个数 T取排序最靠前的 T个 关联关系值对应的物品作为推荐的与第一物品关联的物品, 产生与所述第一 物品关联的推荐物品的列表。
优选的, 为了进一步减小存储占有量, 可采用链表插入排序法获取排序 最靠前的 T个关联关系值。 设定第一物品为 B 物品的种类为 n, 表示第 i种 物品,链表 S的最大元素个数为 T。参见图 2,链表插入排序法的过程可以包括: S201: 初始赋值;
示例性的, 将除 之外的其他物品中标识信息的标号最小的物品(即 B2 ) 的标号设置为初始值, 即 i=2。
S202: 计算
Figure imgf000010_0002
示例性的, 根据公式 k B^I^Bk)计算除 ^之外的其他物品与 ^的 关联关系值, 其中, 在各组之间并行计算每个组内包含的除 之外的物品与 之间的关联关系值, 每一个组内串行计算该组内包含的所述其他物品与 之间的关联关系值。
S203: ^RCB^k)按降序插入到链表 S上;
示例性的,可以根据计算的先后顺序分别将每个除 之外的物品与 的关 系值以 R^— k): 的形式按降序插入到链表 S上, 最后 S链表上的数据形如: { 1000: B25, 900: B 10, 200: B88, 150: B47}。
S204: 判断链表 S中元素的个数是否超过了 T;
S205: 若链表 S中的元素个数超过了 Τ, 则舍弃链表 S末尾的一个元素; S206: 若链表 S中的元素个数没有超过了 Τ, 则对 i加 1运算;
S207: 判断 i是否超过了 n;
S208: 若 i超过了 n,则结束;
S209: 若 i没有超过 n,则返回 S202。
计算结束之后得到的链表 S中的所有元素即为与物品 ^的关联关系值排 序最靠前的 T个物品。
本申请的技术方案的实施例提供了产生关联的推荐物品的列表的方法, 根据物品的属性信息生成以内存矩阵形式存储的数据库表, 根据数据库表中 任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关 系值, 可有效减小存储空间, 提高计算速度, 降低成本。
另一方面, 本申请的技术方案的实施例提供了产生关联的推荐物品的列 表的系统, 可以包括:
获取单元 301 , 用于获取物品的属性信息, 所述物品的属性信息包括物品 的标识, 用户的标识, 以及用户购买物品的记录;
示例性的, 获取单元 301获取物品的属性信息可以包括: 获取所有物品的 标识, 其中, 物品的标识可以为该物品的条形码或其他可唯一表示该物品的 标识, 本实施例中采用 B B2、 B3…… Bn形式表示不同物品的标识; 获取所 有用户的标识, 其中用户的标识可以为该用户的登陆账号或者其他可唯一表 示该用户的标识, 本实施例中采用 Ul、 U2、 U3…… Un形式表示不同用户的标 识; 获取所有用户购买的所有物品的记录, 其中, 用户购买物品的记录为用 户与所购买的物品之间的关系, 可以为该用户购买该物品的数量或者购买金 额等。
进一步的, 为了更好的为活跃用户推荐热点物品, 物品的属性信息可以 只记录热点物品的标识、 活跃用户的标识、 以及活跃用户购买的热点物品的 记录, 其中, 热点物品可以根据需要进行选择, 例如, 根据每种物品的销售 额或者销售数量进行选择, 活跃用户也可以根据需要进行选择, 例如, 可根 据每个用户的消费额或者活跃次数(购买次数)选择。 例如, 预定热点物品的种类为 4万, 当所有物品的种类大于 4万时, 才艮据 每种物品的销售数量按照由大到小的顺序对该所有种类的物品进行排序, 选 择前 4万种物品作为热点物品,若至少两种物品的销售数量相等,则随机排序; 当所有物品的种类小于或等于 4万时, 所有物品均为热点物品。
例如, 预定活跃用户的个数为 200万, 当所有用户的个数大于 200万时, 可以根据每个用户的活跃次数按照由多到少的顺序或根据每个用户的消费额 按照由高到低的顺序对该所有用户进行排序,并选择前 200万个用户作为活跃 用户, 若至少两个用户的活跃次数相等, 则随机排序; 当所有用户的个数小 于或等于 200万时, 所有用户均为活跃用户。
生成单元 302,用于根据所述物品的属性信息生成以内存矩阵形式存储的 数据库表, 其中, 所述数据库表的行和列分别表示物品的标识与用户的标识, 所述数据库表的元素表示对应的用户购买对应物品的信息;
示例性的, 默认数据库表被初始化, 然后根据物品属性信息生成数据库 表, 其中, 该数据表库的行可以表示用户的标识, 对应的列表示物品的标识。 或者, 也可以行表示物品的标识, 对应的列表示用户的标识。 本实施例中的 数据库表以行表示用户的标识、 列表示物品的标识为例进行说明。
内存矩阵可以采用二进制位、 八进制、 十进制等各种数制的形式存储, 优选的, 为了使存储占有量最小, 本实施例的所述内存矩阵采用二进制位的 形式存储, 其中, 数据库表初始化可以将所有二进制位的数据库表的每个元 素的初始值均归 0。
示例性的, 生成单元 302根据所述获取单元 301获取的属性信息生成数据 库表, 其中属性信息可以采用表格形式或者其他形式表示, 参见表 1 , 表 1为 活跃用户购买选定的热点物品的信息, 其中 代表热点物品, 1^代表活跃用 那么,根据表 1中选取的活跃用户购买选定的热点物品的信息生成的数据 库表如表 2所示: 每个元素的初始状态均为 0, 若活跃用户 1^购买了热点物品
By, 则把 U^^By对应的元素(UX, By }设为 1。 需说明的是, 只要该活跃用户 1^购买了热点物品 By, 就把(UX, By }设为 1 , 而与购买数量无关。
计算单元 303 , 用于根据 k B^ Bk)分别计算所述生成单元 302生 成的数据库表中除第一物品之外的每个其他物品与所述第一物品之间的关联 关系值, 其中, L(Bk)指所述第一物品所在列 (当该数据库表中的行表示物品 的标识时)或行(当该数据库表中的列表示物品的标识时) 的所有元素、 即 在所述数据库表中对应于所述第一物品的所有元素组成的向量, L(B0 是所述 第 i物品所在列或行的所有元素、即在所述数据库表中对应于所述第 i物品的所 有元素组成的向量, k)是所述第 i物品与所述第一物品的关联关系值; 示例性的, 若需要获取与第一物品相关联的可推荐的物品, 则需要计算 所有其他物品与第一物品的关联关系值, 其中每个其他物品与第一物品的关 联关系值的计算方法均相同。 假设第一物品 为 Bl 在此仅以物品 B2与 ^的 关联关系值的计算方法为例进行说明。
参见表 2, 第一物品 ^所在的列组成的向量为 Ι Β : ( 0,1,0,1 , ··· , 1 ), 物品 Β2所在的列组成的向量为 L(B2)= ( 1,0,1,1 , ··· , 1 ), 那么, 物品 B2与该 第一物品 ^之间的关联关系值 R(B2— 的计算方法如下: R(B2
Figure imgf000013_0001
( 1,0,1,1 , ··· , 1 ) * ( 0,1,0,1 , ··· , 1 ) =1*0+0*1+1*0+1*1+··· +1*1。 同理, 可分别依次计算出其他物品与该第一物品 ^的关联关系值: R(B3— 、
(B4_i) (BU)…… R(Bn」)。
列表产生单元 304, 用于基于计算单元 303所计算的所有所述其他物品与 所述第一物品的关联关系值, 产生与所述第一物品关联的推荐物品的列表。
示例性的,在通过计算单元 303获取所有其他物品与第一物品 ^的关联关 系值后, 所述列表产生单元 304对所有关联关系值进行降序排列, 然后根据需 要推荐的物品个数 T取排序最靠前的 T个关联关系值对应的物品作为推荐的 与第一物品关联的物品, 产生与所述第一物品关联的推荐物品的列表。
优选的, 为了进一步减小存储占有量, 列表产生单元 304可采用链表插入 排序法获取排序最靠前的 T个关联关系值。设定第一物品为 物品的种类为 n, 表示第 i种物品, 链表 S的最大元素个数为 T。 链表插入排序法的过程可 参照图 2所示方法, 此处不再赘述。
进一步的, 参见图 4, 所述系统还可以包括分组单元 305 , 用于根据 CPU 的核心数将数据库表中的所有物品平均分为至少两个组; 然后在每一个组之 间并行计算每个组内包含的其他物品与第一物品 之间的关联关系值, 每个 组内串行计算该组中除第一物品8之外的其他物品与第一物品 B之间的关联 关系值。 这样可以使得硬件效率达到最大, 进而使计算速度最大。
例如,假设表 2中物品共有 4万种, 均分为甲 (Br Buxxx 乙 (B1∞01- B2∞00)、 丙 (B2。。。r B3。。。。)、 丁(83。。。1- 84。。。。)四个组,每个组分别利用一个线程计算该组 内物品与第一物品的关联关系值, 各线程之间的计算可独立进行, 所以, 各 组之间可实现并行计算, 例如, 可以同时计算 Β2、 Βκχχπ Β2∞1、 Β3∞1四种 物品与 的关联关系值 R(B2
Figure imgf000014_0001
(B300oi_i)o
示例性的, 若将所有物品平均分组后还有余数, 则作为余数的物品可随 机分给任何一组。
例如, 假设表 2中物品共有 4万种, 均分为 7组后还余下 2种物品, 将该七 个组分别表示为八、 B、 C、 D、 E、 F、 G,那么可将剩余的 2种物品随机分给 A、 B、 C、 D、 E、 F、 G中的任意一组。
所述分组单元 305还可以用于,将所述数据库表中的所有物品分为所述推 荐服务器 CPU的核心数加 1个组。
所述系统还可以包括更新单元 306, 用于设置更新周期, 其中, 更新周期 的长短可以根据物品销售变化情况进行设定, 例如, 可以设为一个月, 一周 或一天, 本申请对此不进行限制, 在每个更新周期内获取所述每个更新周期 内的物品的属性信息并进行更新。
相应的, 所述获取单元 301还可以用于, 根据所述更新单元 306设置的更 新周期, 在每个更新周期内, 获取所述每个更新周期内的物品的属性信息; 所述生成单元 302还可以用于, 根据所述更新单元 306设置的更新周期, 在每个更新周期内, 根据每个更新周期内的所述物品的属性信息生成以内存 矩阵形式存储的数据库表;
所述计算单元 303还可以用于, 根据所述更新单元 306设置的更新周期, 在每个更新周期内,
Figure imgf000014_0002
期内的 数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系值; 所述列表产生单元 304还可以用于, 根据所述更新单元 306设置的更新周 期, 在每个更新周期内, 基于所有所述其他物品与所述第一物品的关联关系 值, 产生与所述第一物品关联的推荐物品的列表。
本申请的技术方案的实施例提供的产生关联的推荐物品的列表的系统, 根据物品的属性信息生成以内存矩阵形式存储的数据库表, 根据数据库表中 任意两个物品的向量之间的运算可以直接计算该任意两个物品之间的关联关 系值, 可有效减小存储空间, 提高计算速度, 降低成本。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步骤 可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机可读 取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述 的存储介质包括: ROM, RAM, 磁碟或者光盘等各种可以存储程序代码的介 以上所述, 仅为本申请的具体实施方式, 但本申请的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本申请揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本申请的保护范围之内。 因此, 本申请的保护 范围应以所述权利要求的保护范围为准。

Claims

权利要求书
1、 一种产生关联的推荐物品的列表的方法, 包括:
获取物品的属性信息, 所述物品的属性信息包括物品的标识, 用户的标 识, 以及用户购买物品的记录;
根据所述物品的属性信息生成以内存矩阵形式存储的数据库表, 其中, 所述数据库表的行和列分别表示物品的标识与用户的标识, 所述数据库表的 元素表示对应的用户购买对应物品的信息;
根据 k B^ Bk)分别计算所述数据库表中除第一物品之外的每 个其他物品与所述第一物品之间的关联关系值, 其中, L(Bk)是在所述数据库 表中的对应于所述第一物品的所有元素组成的向量, L(B 是在所述数据库表 中的对应于第 i物品的所有元素组成的向量,
Figure imgf000016_0001
i物品与所述第 一物品的关联关系值;
基于所有所述其他物品与所述第一物品的关联关系值, 产生与所述第一 物品关联的推荐物品的列表。
2、根据权利要求 1所述的产生关联的推荐物品的列表的方法, 其中基于 所有所述其他物品与所述第一物品的关联关系值, 产生与所述第一物品关联 的推荐物品的列表包括: 将所有所述其他物品与所述第一物品的关联关系值 排序, 并根据需要推荐的与第一物品关联的物品的个数产生与所述第一物品 关联的推荐物品的列表。
3、 根据权利要求 1所述的产生关联的推荐物品的列表的方法, 其中, 在 所述根据 k)=L(B *L(Bk)分别计算所述数据库表中除第一物品之外的每 个其他物品与所述第一物品之间的关联关系值之前, 所述方法还包括:
根据 CPU的核心数将所述数据库表中的所有物品平均分为至少两个组; 所述根据 k)=L(B *L(Bk)分别计算所述数据库表中除第一物品之外 的每个其他物品与所述第一物品之间的关联关系值, 包括:
在各组之间并行计算每个组内包含的所述其他物品与所述第一物品之间 的关联关系值。
4、 根据权利要求 3所述的产生关联的推荐物品的列表的方法, 其中, 所 述根据 CPU的核心数将所述数据库表中的所有物品平均分为至少两个组, 包 括: 将所述数据库表中的所有物品平均分为所述推荐服务器 CPU的核心数加 1个组。
5、 根据权利要求 1所述的产生关联的推荐物品的列表的方法, 其中, 所 述基于所有所述其他物品与所述第一物品的关联关系值产生与所述第一物品 关联的推荐物品的列表, 包括:
将所有所述其他物品与所述第一物品的关联关系值按照计算的先后顺 序, 降序插入到预设链表中, 其中, 所述预设链表包含的最大元素个数与需 要推荐的与所述第一物品关联的物品个数相同。
6、 根据权利要求 1所述的产生关联的推荐物品的列表的方法, 其中, 所 述内存矩阵采用二进制位的形式存储。
7、 根据权利要求 5所述的产生关联的推荐物品的列表的方法, 其中, 所 述方法还包括, 设置更新周期;
所述获取物品的属性信息, 包括: 根据所述设置的更新周期, 在每个更 新周期内, 获取所述每个更新周期内的物品的属性信息;
所述根据所述物品的属性信息生成以内存矩阵形式存储的数据库表, 包 括: 根据所述设置的更新周期, 在每个更新周期内, 根据每个更新周期内的 所述物品的属性信息生成以内存矩阵形式存储的数据库表;
所述根据 k)=L(B *L(Bk)分别计算所述数据库表中除第一物品之外 的每个其他物品与所述第一物品之间的关联关系值, 包括: 根据所述设置的 更新周期, 在每个更新周期内, 根据
Figure imgf000017_0001
计算所述每个更 新周期内的数据库表中除第一物品之外的每个其他物品与所述第一物品之间 的关联关系值;
所述基于所有所述其他物品与所述第一物品的关联关系值产生与所述第 一物品关联的推荐物品的列表, 包括: 根据所述设置的更新周期, 在每个更 新周期内, 基于所有所述其他物品与所述第一物品的关联关系值, 产生与所 述第一物品关联的推荐物品的列表。
8、 一种产生关联的推荐物品的列表的系统, 包括:
获取单元, 用于获取物品的属性信息, 所述物品的属性信息包括物品的 标识, 用户的标识, 以及用户购买物品的记录;
生成单元, 用于根据所述获取单元获取的物品的属性信息生成以内存矩 阵形式存储的数据库表, 其中, 所述数据库表的行和列分别表示物品的标识 与用户的标识, 所述数据库表的元素表示对应的用户购买对应物品的信息; 计算单元,用于根据 k)=L(B *L(Bk)分别计算所述生成单元生成的所 述数据库表中除第一物品之外的其他物品与所述第一物品之间的关联关系 值, 其中, L(Bk)是在所述数据库表中的对应于所述第一物品的所有元素组成 的向量, L(B 是在所述数据库表中的对应于所述第 i物品的所有元素组成的 向量,
Figure imgf000018_0001
i物品与所述第一物品的关联关系值;
列表产生单元, 用于基于所述计算单元计算的所有所述其他物品与所述 第一物品的关联关系值, 产生与所述第一物品关联的推荐物品的列表。
9、根据权利要求 8所述的产生关联的推荐物品的系统, 其中所述列表产 生单元将所述计算单元计算的所有所述其他物品与所述第一物品的关联关系 值排序, 并根据需要推荐的与第一物品关联的物品的个数产生与所述第一物 品关联的推荐物品的列表。
10、 根据权利要求 8所述的物品关联推荐的系统, 其中, 所述系统还包 括:
分组单元,用于根据 CPU的核心数将所述数据库表中的所有物品平均分 为至少两个组;
所述计算单元在各组之间并行计算每个组内包含的所述其他物品与所述 第一物品之间的关联关系值。
11、 根据权利要求 10所述的物品关联推荐的系统, 其中, 所述分组单元 将所述数据库表中的所有物品平均分为所述推荐服务器 CPU的核心数加 1个 组。
12、 根据权利要求 8所述的物品关联推荐的系统, 其中, 所述列表产生 单元将所有所述其他物品与所述第一物品的关联关系值按照计算的先后顺 序, 降序插入到预设链表中, 其中, 所述预设链表包含的最大元素个数与所 述第一物品需要推荐的物品个数相同。
13、 根据权利要求 8所述的物品关联推荐的系统, 其中, 所述内存矩阵 采用二进制位的形式存储。
14、 根据权利要求 12所述的物品关联推荐的系统, 其中, 所述系统还包 括更新单元, 用于设置更新周期;
所述获取单元根据所述更新单元设置的更新周期, 在每个更新周期内, 获取所述每个更新周期内的物品的属性信息;
所述生成单元根据所述更新单元设置的更新周期, 在每个更新周期内, 根据每个更新周期内的所述物品的属性信息生成以内存矩阵形式存储的数据 库表;
所述计算单元根据所述更新单元设置的更新周期, 在每个更新周期内, 根据 k B^I^Bk)分别计算所述每个更新周期内的数据库表中除第一 物品之外的其他物品与所述第一物品之间的关联关系值;
所述列表产生单元根据所述更新单元设置的更新周期, 在每个更新周期 内, 基于所有所述其他物品与所述第一物品的关联关系值, 产生与所述第一 物品关联的推荐物品的列表。
PCT/CN2013/081972 2012-09-10 2013-08-21 产生关联的推荐物品的列表的方法及系统 WO2014036892A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201380045476.0A CN104685522A (zh) 2012-09-10 2013-08-21 产生关联的推荐物品的列表的方法及系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210332241.7A CN103679489A (zh) 2012-09-10 2012-09-10 一种物品关联推荐的方法及系统
CN201210332241.7 2012-09-10

Publications (1)

Publication Number Publication Date
WO2014036892A1 true WO2014036892A1 (zh) 2014-03-13

Family

ID=50236524

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/081972 WO2014036892A1 (zh) 2012-09-10 2013-08-21 产生关联的推荐物品的列表的方法及系统

Country Status (3)

Country Link
CN (2) CN103679489A (zh)
TW (1) TWI522945B (zh)
WO (1) WO2014036892A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069125A (zh) * 2015-08-13 2015-11-18 上海斐讯数据通信技术有限公司 一种社交网络推荐方法及系统
CN107369091B (zh) * 2016-05-12 2021-02-05 创新先进技术有限公司 产品推荐方法、装置及理财产品推荐方法
TWI634441B (zh) 2016-11-29 2018-09-01 財團法人工業技術研究院 關聯法則之擴充方法、應用其之裝置及電腦可讀取媒體
CN106651542B (zh) * 2016-12-31 2021-06-25 珠海市魅族科技有限公司 一种物品推荐的方法及装置
CN107328164A (zh) * 2017-05-27 2017-11-07 北京京东尚科信息技术有限公司 物品存储期限的监控方法、装置、电子设备和存储介质
CN109697621B (zh) * 2017-10-23 2023-04-07 阿里巴巴集团控股有限公司 热点属性的确定方法及装置、数据处理方法、装置及系统
CN109242580B (zh) * 2018-11-28 2020-12-29 北京腾云天下科技有限公司 确定目标品牌在指定城市的推荐入驻商场的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206752A (zh) * 2007-12-25 2008-06-25 北京科文书业信息技术有限公司 电子商务网站相关商品推荐系统及其方法
CN102254028A (zh) * 2011-07-22 2011-11-23 青岛理工大学 一种集成属性和结构相似性的个性化商品推荐方法和系统
CN102253936A (zh) * 2010-05-18 2011-11-23 阿里巴巴集团控股有限公司 记录用户访问商品信息的方法及搜索方法和服务器
CN102456203A (zh) * 2010-10-22 2012-05-16 阿里巴巴集团控股有限公司 确定候选产品链表的方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206752A (zh) * 2007-12-25 2008-06-25 北京科文书业信息技术有限公司 电子商务网站相关商品推荐系统及其方法
CN102253936A (zh) * 2010-05-18 2011-11-23 阿里巴巴集团控股有限公司 记录用户访问商品信息的方法及搜索方法和服务器
CN102456203A (zh) * 2010-10-22 2012-05-16 阿里巴巴集团控股有限公司 确定候选产品链表的方法及相关装置
CN102254028A (zh) * 2011-07-22 2011-11-23 青岛理工大学 一种集成属性和结构相似性的个性化商品推荐方法和系统

Also Published As

Publication number Publication date
CN103679489A (zh) 2014-03-26
TWI522945B (zh) 2016-02-21
TW201411525A (zh) 2014-03-16
CN104685522A (zh) 2015-06-03

Similar Documents

Publication Publication Date Title
WO2014036892A1 (zh) 产生关联的推荐物品的列表的方法及系统
Guan et al. Matrix factorization with rating completion: An enhanced SVD model for collaborative filtering recommender systems
CN103823908B (zh) 基于用户偏好的内容推荐方法和服务器
WO2019072107A1 (zh) 消费能力预测
US9183510B1 (en) Method and system for personalized recommendation of lifestyle items
KR20140056731A (ko) 구매추천 시스템 및 방법
CN106777051A (zh) 一种基于用户组的多反馈协同过滤推荐方法
US20100049707A1 (en) System And Method For The Structured Display Of Items
CN101923563A (zh) 信息处理设备、信息处理方法和程序
US20100205052A1 (en) Self-uploaded indexing and data clustering method and apparatus
CN105354202B (zh) 数据推送方法及装置
CN112256720B (zh) 数据成本计算方法、系统、计算机设备和存储介质
Liu et al. A new Nawaz–Enscore–Ham-based heuristic for permutation flow-shop problems with bicriteria of makespan and machine idle time
CN109697454B (zh) 一种基于隐私保护的跨设备个体识别方法及装置
CN105468628B (zh) 一种排序方法及装置
Chen et al. Optimal inventory control policy for periodic‐review inventory systems with inventory‐level‐dependent demand
CN110197404A (zh) 可降低流行度偏差的个性化长尾商品推荐方法和系统
Veena et al. A user-based recommendation with a scalable machine learning tool
CN111611228A (zh) 一种基于分布式数据库的负载均衡调整方法及装置
CN109934683A (zh) 推荐方法、装置及电子设备
CN109389451B (zh) 一种确定推荐信息的方法和系统
US20150058135A1 (en) Optimizing an assortment and allocation of groups of items
Shirodkar et al. Effective allocation of idle time in the group technology economic lot scheduling problem
Khanom et al. Bookception: A proposed framework for an artificially intelligent recommendation platform
Schwartz et al. Style similarity as feedback for product design

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13834916

Country of ref document: EP

Kind code of ref document: A1