CN114036404A - 基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质 - Google Patents
基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质 Download PDFInfo
- Publication number
- CN114036404A CN114036404A CN202111125314.0A CN202111125314A CN114036404A CN 114036404 A CN114036404 A CN 114036404A CN 202111125314 A CN202111125314 A CN 202111125314A CN 114036404 A CN114036404 A CN 114036404A
- Authority
- CN
- China
- Prior art keywords
- data
- user
- memory
- content recommendation
- recommendation method
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- 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/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质,方法包括S1,获得活跃数据,将活跃数据加载至到服务器内存;S2,自内存中获取活跃数据并计算出友邻用户,并将友邻用户再次存入内存;S3,根据友邻用户的用户偏好,预估并推荐当前用户的偏好。本发明通过预先从数据库中筛选出活跃数据加载内存,减小了数据源矩阵,同时保证了推荐数据的准确性,保证系统能在确定的数据范围内计算推荐结果。
Description
技术领域
本发明涉及信息分析与处理技术领域,具体地说是一种基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质。
背景技术
协同过滤推荐(Collaborative Filtering-based Recommendation)是利用集体智慧的一个典型方法,根据已有数据来推测出未知数据。具体而言,协同过滤算法会从海量的数据中找到与当前用户兴趣、品味比较类似(即相似度达到指定范围)的数据(如商品),而这些数据会成为当前用户的友邻,系统会根据这些友邻的偏好数据来推荐当前用户可能心仪的商品,并构成一个排序的目录。
尽管协同过滤算法是目前推荐邻域运用的最广泛的算法,然而该算法在处理海量数据的推荐时,存在计算耗时太大、推荐效率低下的问题。使用现有的算法满足不了单服务器下的生产需求。当前,市面上主要利用分布式集群进行并行计算来提高算法的执行效率。集群计算需要搭建本地的数据中心或者租赁第三方集群服务;这些对于小公司来说,集群管理和扩展的成本太高。因此,开发一套基于单服务器的高效率推荐算法势在必行。
发明内容
本发明为解决现有的问题,旨在提供一种基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质。
为了达到上述目的,本发明采用的技术方案包括数据的预加载方法:A自数据库中获得数据,并加载至服务器内存;B自内存获取数据用于计算。
本发明还提供一种基于单服务器的内容推荐方法,包括:
S1,获得活跃数据,将活跃数据加载至到服务器内存;
S2,自内存中获取活跃数据并计算出友邻用户,并将友邻用户再次存入内存;
S3,根据友邻用户的用户偏好,预估并推荐当前用户的偏好。
进一步地,还包括S4,将已推荐商品数据存入已推荐数据表,并降低当前用户对已推荐商品的权重。
进一步地,S1中,活跃数据筛选自数据库,和/或数据库为MySQL数据库。
进一步地,服务器定时扫描用户/商品关系表,来获取活跃数据。
进一步地,S1中,活跃数据的数据模型由三元组:用户标识符、商品标识符和用户偏好所构成。
进一步地,作为用户标识符和商品标识符的ID是无符号整型,和/或用户偏好是浮点型,其取值范围为1~5的评分。
进一步地,S1中,通过C/C++语言构建所述数据模型。
进一步地,S2中,取距离前用户一定范围内的若干用户为友邻用户。
进一步地,S2中,通过皮尔逊算法计算友邻用户的相似度。
进一步地,S3中,根据友邻用户的相似度权重以及他们对商品的偏好,预测当前用户偏好的商品,得到一个排序的商品列表作为推荐。
本发明还提供一种基于单服务器的内容推荐系统,包括扫描模块,数据库、内存、计算模块和推荐模块,其中,扫描模块定期从数据库扫描获取活跃数据,将活跃数据加载至内存中;计算模块获取友邻用户偏好,并由推荐模块形成商品排序。
本发明还提供一种芯片,包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行上述的内容推荐方法。
本发明还提供一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令被处理执行时,实现上述的内容推荐方法。
和现有技术相比,本发明通过预先从数据库中筛选出活跃数据加载内存,减小了数据源矩阵,同时保证了推荐数据的准确性,保证系统能在确定的数据范围内计算推荐结果。尤其在服务器数据量很大的情况下,筛选出有价值的数据在一定程度上可以确保推荐数据的准确性和实时性,同时可以降低服务器的运算压力。
本发明的预加载机制控制数据加载的频率,以保证服务器将更多的资源分配给推荐算法计算。从内存加载最大的优势是比从数据库中直接加载提升速度在10 倍以上,可以满足单服务器上该推荐系统的部署。
本发明将已推荐的结果降权,可以有效防止下次推荐重复结果的可能性。
附图说明
图1为本发明实施例的流程示意图。
具体实施方式
现结合附图对本发明作进一步地说明。
参见图1,图1展示的是本发明的一个实施例,本实施例是一种基于单服务器的内容推荐方法,包括:
S1,获得活跃数据,将活跃数据加载至到服务器内存;
S2,自内存中获取活跃数据并计算出友邻用户,并将友邻用户再次存入内存;
S3,根据友邻用户的用户偏好,预估并推荐当前用户的偏好。
而在方法的最后,还优选包括S4,将已推荐商品数据存入已推荐数据表,并降低当前用户对已推荐商品的权重。
在上述实施例中,运用了一种数据的预加载方法:A自数据库中获得数据,并加载至服务器内存;B自内存获取数据用于计算。即预先从数据库中筛选出活跃的数据到内存,其目的是减小后续计算中数据源的矩阵,以适应单服务器的环境要求,降低了运算成本;并且同时保证了推荐数据的准确性。该预加载机制在内容推荐方法中具有明显的优势。
上述实施例采用使用汇编/C语言实现核心算法(如用户相似度、计算推荐等),使用C++构建数据模型,实现推荐主流程。本实施例所使用的C++语言相对于 Java,它的运算效率更快、占用内存更小。尤其是用于处理这种大数据矩阵时,程序运行效率至少提升了8.5倍。此外,还使用MySQL数据库存储数据源。
启动服务后,S1中先将数据源加载到单服务器的内存中,计算时直接从单服务器的内存中读取数据,以空间换时间的方式提高效率。将已经推荐给用户的商品降权,防止同一个时间段重复推荐商品。
数据模型:
数据模型用一个简单的三元组<用户ID,商品ID,用户偏好>,即活跃数据。活跃数据由活跃用户和活跃商品两部分组成,活跃用户指用户在30天内访问过系统;活跃商品指的是该商品在7日内有被用户访问过。其中,用户ID和商品ID是无符号整型,用户偏好是浮点型。用户-商品偏好的取值范围是1-5 范围的评分。本实施例中,默认基础评分为2分;用户可对每个商品打基础分 1-5分;商品被用户浏览,该用户对该商品的评分+0.1;商品被用户收藏/转发;该用户对商品的评分+1;商品被用户点评过,该用户对商品的评分+0.35。
一条活跃数据的数据元占用12个字节。创建偏好阵列接口用于表示一组用户偏好数据。
为了优化查询效率,创建了两个实现类,用户基础偏好矩阵(UserBasePreference Array)和商品基础偏好矩阵(ItemBasePreference Array),分别按照用户和商品本身对用户偏好进行组装,这样就可以根据基于用户或基于商品等不同的推荐算法分别获取对应的数据。
推荐引擎实际接受的输入是数据模型(DataModel),数据模型是用户喜好信息的抽象接口,它的具体实现是缓存数据模型。它是对用户偏好数据的压缩表示。他保存在一个按照用户ID或者商品ID进行散列的偏好阵列,而偏好矩阵中对应保存着这个用户ID或者商品ID的所有用户偏好信息。
作为优选,S1中服务器还定时扫描用户在最近的一个时间段内登录过的系统,及商品在最近的一个时间段内被用户访问过的信息,来获取活跃数据。
S2中,开始商品推荐的时候,计算当前用户的友邻用户,并将友邻用户存入缓存,下次直接从缓存里面获取,不需要再重新计算。
关于相似度的计算,即在用户–商品偏好的二维矩阵中,将一个用户对所有商品的偏好作为一个向量来计算用户之间的相似度。创建用户相似度 UserSimilarity类,传入数据模型(DataModel)数据源,首先获取两个用户对所有商品的偏好度,然后通过皮尔逊算法计算出两个用户的相似度,并以此类推。
关于相似邻居的计算,是相似度找到用户–商品的邻居。在C++语言程序中表示为UserNeighborhood接口。它有两个实现类:Nearest UserNeighborhood 和ThresholdNeighborhood,分别表示固定数量的邻居和基于相似度门槛的邻居。
固定数量的邻居是不论用户相似度相差多大,只取最近的N个,作为其邻居。与计算固定数量的邻居的原则不同,基于相似度门槛的邻居计算是对邻居的远近进行最大值的限制,落在以当前点为中心,距离为K的区域中的用户都作为当前点的邻居,这种方法计算得到的邻居个数不确定,但相似度不会出现较大的误差。
S3中,计算完相似用户之后,接下来根据邻居的相似度权重以及他们对商品的偏好,预测当前用户没有偏好的未涉及商品,计算得到一个排序的商品列表作为推荐。
本发明还提供一种基于单服务器的内容推荐系统,包括扫描模块,数据库、内存、计算模块和推荐模块,其中,扫描模块定期从数据库扫描获取活跃数据,将活跃数据加载至内存中;计算模块获取友邻用户偏好,并由推荐模块形成商品排序。其实施类似前述实施例,具有相同的技术效果。
本发明还提供一种芯片,包括处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行上述的内容推荐方法。
例如,存储器可以包括随机存储器、闪存、只读存储器、可编程只读存储器、非易失性存储器或寄存器等。处理器可以是中央处理器(Central Processing Unit,CPU)等。或者是图像处理器(Graphic Processing Unit,GPU)存储器可以存储可执行指令。处理器可以执行在存储器中存储的可执行指令,从而实现本文描述的各个过程。
可以理解,本实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是ROM (Read-OnlyMemory,只读存储器)、PROM(ProgrammableROM,可编程只读存储器)、EPROM(ErasablePROM,可擦除可编程只读存储器)、EEPROM (ElectricallyEPROM,电可擦除可编程只读存储器)或闪存。易失性存储器可以是RAM(RandomAccessMemory,随机存取存储器),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如SRAM(StaticRAM,静态随机存取存储器)、DRAM(DynamicRAM,动态随机存取存储器)、SDRAM (SynchronousDRAM,同步动态随机存取存储器)、DDRSDRAM(DoubleDataRate SDRAM,双倍数据速率同步动态随机存取存储器)、ESDRAM(Enhanced SDRAM,增强型同步动态随机存取存储器)、SLDRAM(SynchlinkDRAM,同步连接动态随机存取存储器)和DRRAM(DirectRambusRAM,直接内存总线随机存取存储器)。本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。在一些实施方式中,存储器存储了如下的元素,升级包、可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统和应用程序。
其中,操作系统,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序,包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序中。
本发明还提供一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令被处理执行时,实现上述的内容推荐方法。例如,机器可读存储介质可以包括但不限于各种已知和未知类型的非易失性存储器。
本发明实施例还提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述方法。
本领域技术人员可以明白的是,结合本文中所公开的实施例描述的各示例的单元及算法步骤能够以电子硬件、或者软件和电子硬件的结合来实现。这些功能是以硬件还是软件方式来实现,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以针对每个特定的应用,使用不同的方式来实现所描述的功能,但是这种实现并不应认为超出本申请的范围。
在本申请实施例中,所公开的系统、电子设备和方法可以通过其它方式来实现。例如,单元的划分仅仅为一种逻辑功能划分,在实际实现时还可以有另外的划分方式。例如,多个单元或组件可以进行组合或者可以集成到另一个系统中。另外,各个单元之间的耦合可以是直接耦合或间接耦合。另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是单独的物理存在等等。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在机器可读存储介质中。因此,本申请的技术方案可以以软件产品的形式来体现,该软件产品可以存储在机器可读存储介质中,其可以包括若干指令用以使得电子设备执行本申请实施例所描述的技术方案的全部或部分过程。上述存储介质可以包括ROM、RAM、可移动盘、硬盘、磁盘或者光盘等各种可以存储程序代码的介质。
上面结合附图及实施例描述了本发明的实施方式,实施例给出的并不构成对本发明的限制,本领域内熟练的技术人员可依据需要做出调整,在所附权利要求的范围内做出各种变形或修改均在保护范围内。
Claims (14)
1.一种数据的预加载方法,其特征在于:
A自数据库中获得数据,并加载至服务器内存;
B自内存获取数据用于计算。
2.一种基于单服务器的内容推荐方法,其特征在于包括:
S1,获得活跃数据,将活跃数据加载至到服务器内存;
S2,自内存中获取活跃数据并计算出友邻用户,并将友邻用户再次存入内存;
S3,根据友邻用户的用户偏好,预估并推荐当前用户的偏好。
3.根据权利要求2所述的基于单服务器的内容推荐方法,其特征在于:还包括S4,将已推荐商品数据存入已推荐数据表,并降低当前用户对已推荐商品的权重。
4.根据权利要求2所述的基于单服务器的内容推荐方法,其特征在于:S1中,活跃数据筛选自数据库。
5.根据权利要求2所述的基于单服务器的内容推荐方法,其特征在于:服务器定时扫描用户/商品关系表,来获取活跃数据。
6.根据权利要求2-5任一所述的基于单服务器的内容推荐方法,其特征在于:S1中,活跃数据的数据模型由三元组:用户标识符、商品标识符和用户偏好所构成。
7.根据权利要求6所述的基于单服务器的内容推荐方法,其特征在于:作为用户标识符和商品标识符的ID是无符号整型,和/或用户偏好是浮点型,其取值范围为1~5的评分。
8.根据权利要求6所述的基于单服务器的内容推荐方法,其特征在于:S1中,通过C/C++语言构建所述数据模型。
9.根据权利要求2所述的基于单服务器的内容推荐方法,其特征在于:S2中,取距离前用户一定范围内的若干用户为友邻用户。
10.根据权利要求2所述的基于单服务器的内容推荐方法,其特征在于:S2中,通过皮尔逊算法计算友邻用户的相似度。
11.根据权利要求2、9或10所述的基于单服务器的内容推荐方法,其特征在于:S3中,根据友邻用户的相似度权重以及他们对商品的偏好,预测当前用户偏好的商品,得到一个排序的商品列表作为推荐。
12.一种基于单服务器的内容推荐系统,其特征在于:包括扫描模块,数据库、内存、计算模块和推荐模块,其中,扫描模块定期从数据库扫描获取活跃数据,将活跃数据加载至内存中;计算模块获取友邻用户偏好,并由推荐模块形成商品排序。
13.本发明还提供一种芯片,包括处理器,其特征在于:用于从存储器中调用并运行计算机程序,使得安装有所述芯片的设备执行上述的内容推荐方法。
14.本发明还提供一种计算机可读介质,其上存储有计算机程序指令,其特征在于:所述计算机程序指令被处理执行时,实现上述的内容推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111125314.0A CN114036404A (zh) | 2021-09-25 | 2021-09-25 | 基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111125314.0A CN114036404A (zh) | 2021-09-25 | 2021-09-25 | 基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114036404A true CN114036404A (zh) | 2022-02-11 |
Family
ID=80134654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111125314.0A Pending CN114036404A (zh) | 2021-09-25 | 2021-09-25 | 基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114036404A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114266422A (zh) * | 2022-03-02 | 2022-04-01 | 北京唯捷创芯精测科技有限责任公司 | 一种面向集成电路封测的卷盘数量预测方法及预测装置 |
CN117539638A (zh) * | 2024-01-04 | 2024-02-09 | 江西拓荒者科技有限公司 | 一种用于工业大数据平台的数据处理方法及系统 |
-
2021
- 2021-09-25 CN CN202111125314.0A patent/CN114036404A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114266422A (zh) * | 2022-03-02 | 2022-04-01 | 北京唯捷创芯精测科技有限责任公司 | 一种面向集成电路封测的卷盘数量预测方法及预测装置 |
CN114266422B (zh) * | 2022-03-02 | 2022-06-21 | 北京唯捷创芯精测科技有限责任公司 | 一种面向集成电路封测的卷盘数量预测方法及预测装置 |
CN117539638A (zh) * | 2024-01-04 | 2024-02-09 | 江西拓荒者科技有限公司 | 一种用于工业大数据平台的数据处理方法及系统 |
CN117539638B (zh) * | 2024-01-04 | 2024-03-22 | 江西拓荒者科技有限公司 | 一种用于工业大数据平台的数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10970463B2 (en) | System and method for optimizing electronic document layouts | |
US10372723B2 (en) | Efficient query processing using histograms in a columnar database | |
US11301525B2 (en) | Method and apparatus for processing information | |
US10592837B2 (en) | Identifying security risks via analysis of multi-level analytical records | |
US11038976B2 (en) | Utilizing a recommendation system approach to determine electronic communication send times | |
US20200286112A1 (en) | Hashing-based effective user modeling | |
CN110223186B (zh) | 用户相似度确定方法以及信息推荐方法 | |
CN114036404A (zh) | 基于单服务器的数据加载方法、内容推荐方法、系统、芯片和介质 | |
US20180114136A1 (en) | Trend identification using multiple data sources and machine learning techniques | |
US11727082B2 (en) | Machine-learning based personalization | |
JP2004171539A (ja) | ウェブページの利用パターンを特定する方法および装置 | |
US20190355011A1 (en) | Ad preference embedding model and lookalike generation engine | |
US11809455B2 (en) | Automatically generating user segments | |
US8725735B2 (en) | Information processing system, information processing method, program, and non-transitory information storage medium | |
CN105531701A (zh) | 个性化趋势图像搜索建议 | |
US20220114499A1 (en) | System and method for efficiently training intelligible models | |
CN115795000A (zh) | 基于联合相似度算法对比的围标识别方法和装置 | |
CN108182633A (zh) | 贷款数据处理方法、装置、计算机设备和存储介质 | |
Wang et al. | Concept drift-based runtime reliability anomaly detection for edge services adaptation | |
US20150154493A1 (en) | Techniques for utilizing and adapting a prediction model | |
CN110334067B (zh) | 一种稀疏矩阵压缩方法、装置、设备及存储介质 | |
JP7213890B2 (ja) | 高速化された大規模な類似度計算 | |
CN113407835A (zh) | 应用于大数据在线业务的用户画像处理方法及服务器 | |
CN115129964A (zh) | 推送待推荐内容项的方法、推送系统、电子设备 | |
US11301473B1 (en) | Dataset overlap query system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |