CN113239282A - 一种基于序列相似度计算的推荐方法、装置、介质及设备 - Google Patents
一种基于序列相似度计算的推荐方法、装置、介质及设备 Download PDFInfo
- Publication number
- CN113239282A CN113239282A CN202110692781.5A CN202110692781A CN113239282A CN 113239282 A CN113239282 A CN 113239282A CN 202110692781 A CN202110692781 A CN 202110692781A CN 113239282 A CN113239282 A CN 113239282A
- Authority
- CN
- China
- Prior art keywords
- data
- sampling
- model
- user
- model training
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004364 calculation method Methods 0.000 title claims abstract description 37
- 238000005070 sampling Methods 0.000 claims abstract description 58
- 238000012549 training Methods 0.000 claims abstract description 39
- 230000006399 behavior Effects 0.000 claims abstract description 31
- 230000011218 segmentation Effects 0.000 claims abstract description 19
- 238000007781 pre-processing Methods 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 27
- 239000013598 vector Substances 0.000 claims description 18
- 230000010354 integration Effects 0.000 claims description 17
- 238000013501 data transformation Methods 0.000 claims description 13
- 238000004140 cleaning Methods 0.000 claims description 12
- 238000003860 storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 239000012634 fragment Substances 0.000 claims description 8
- 238000004220 aggregation Methods 0.000 claims description 7
- 230000002776 aggregation Effects 0.000 claims description 7
- 238000007418 data mining Methods 0.000 claims description 7
- 238000010606 normalization Methods 0.000 claims description 7
- 238000000638 solvent extraction Methods 0.000 description 16
- 239000004065 semiconductor Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009182 swimming Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种基于序列相似度计算的推荐方法、装置、介质及设备,所述方法包括:获取用户历史行为数据并存储;对所述用户历史行为数据进行预处理得到处理后的数据;对所述处理后的数据进行数据分割得到分割后的数据;对所述分割后的数据进行数据采样得到采样数据;利用所述采样数据进行模型训练。本公开提出的个性化推荐的方法,能够根据用户的历史行为,采用分段取样并用语言模型训练的方式,获取用户在分段的历史行为中的其他用户的相似行为,这种计算方式以用户在一段时间内的行为作为数据单元,与以往的以商品单个实体作为数据单元不同,能够更好的挖掘出时间片段中的隐藏信息,使得推荐变得更准确。
Description
技术领域
本公开涉及软件推荐技术领域,更为具体来说,本公开涉及一种基于序列相似度计算的推荐方法、装置、介质及设备。
背景技术
个性化推荐是目前各行各业常用到的重要领域,对于各类应用软件来说,个性化推荐的精准度直接关系到了应用的实际营收和回报。这其中不仅仅包含了实体购买的商品的推荐,还包含了文章、博客等内容的个性化推荐。个性化推荐的效果是否优良,直接关系到了用户对平台的粘性,进而也关系到了平台在用户方面的获利回报。能否准确挖掘出用户实际感兴趣的需求展开个性化推荐就显得极为重要。
传统的个性化推荐面对海量的用户信息,多是采用协同过滤的方法构建用户画像以及商品的画像,采用聚类或者相似度计算等方式计算出用户之间的相似度或者商品之间的相似度,然后将类似用户喜欢的内容推荐给当前用户,或者将用户喜欢过的商品的相似商品推荐出来。通常是把用户的历史行为直接编码成向量矩阵,采取向量间余弦相似度计算的方式获得相似的程度,这重计算方式往往没有挖掘出物品之间的潜在联系,丢失了一部分数据价值,进而就很难做到使用户满意的个性化推荐,会使得用户对平台的粘性大打折扣。
发明内容
为解决现有技术的基于序列相似度计算的推荐模型准确率不高不能满足用户需求的技术问题,本公开提供了一种基于序列相似度计算的推荐方法,包括:
获取用户历史行为数据并存储;
对所述用户历史行为数据进行预处理得到处理后的数据;
对所述处理后的数据进行数据分割得到分割后的数据,其中,所述分割后的数据为数据序列;
设置滑动采样窗口,对所述数据序列进行正负数据采样得到采样数据,其中,所述采样数据包括正样本数据和负样本数据;
落在所述滑动采样窗口内的数据为正样本数据,落在所述滑动采样窗口外的数据为负样本数据;
利用所述采样数据进行模型训练。
进一步,所述对所述用户历史行为数据进行预处理得到处理后的数据具体包括:
对所述用户历史行为数据依次进行数据清理、数据集成和/或数据变换操作;
其中,所述数据清理操作具体包括:填写缺失的值、处理噪声数据、识别或删除离群点并解决不一致性来清理数据;
所述数据集成操作具体包括:将多个数据源中的数据结合起来并统一存储;
所述数据变换操作具体包括:通过平滑聚集、数据概化和/或规范化的方式将数据转换成适用于数据挖掘的形式。
进一步,所述数据分割具体包括:
水平分割操作和垂直分割操作;
其中,所述水平分割操作具体指把包含全局关系的数据分割成一些子集,所述子集被称为数据分片或数据段;
所述垂直分割操作具体指把包含全局关系的数据按着属性组纵向分割成一些数据分片或数据段。
进一步,所述利用所述采样数据进行模型训练具体包括:
利用Word2Vec方法对所述采样数据进行模型训练;
训练后的模型为词袋模型或Skip-gram模型。
进一步,所述利用Word2Vec方法对所述采样数据进行模型训练具体包括:
使用-1到1之间的数值随机初始化所述采样数据中数据向量每一维度上的值;
将初始化后的数据输入到模型中进行计算;
重复循环进行梯度下降操作降低误差直至训练出向量表征。
进一步,所述将初始化后的数据输入到模型中进行计算的过程具体包括:
计算所述初始化后的数据中样本间的距离,得到样本的计算值,用真实值减去每一轮训练计算出的实际值得到误差值。
为实现上述技术目的,本公开还能够提供一种基于序列相似度计算的推荐装置,包括:
数据获取模块,用于获取用户历史行为数据并存储;
预处理模块,用于对所述用户历史行为数据进行预处理得到处理后的数据;
数据分割模块,用于对所述处理后的数据进行数据分割得到分割后的数据;
数据采样模块,用于设置滑动采样窗口,对所述数据序列进行正负数据采样得到采样数据,其中,所述采样数据包括正样本数据和负样本数据;
落在所述滑动采样窗口内的数据为正样本数据,落在所述滑动采样窗口外的数据为负样本数据;
模型训练模块,用于利用所述采样数据进行模型训练。
进一步,所述预处理模块具体包括:数据清理子模块、数据集成子模块和/或数据变换子模块;
其中,所述数据清理子模块具体用于填写缺失的值、处理噪声数据、识别或删除离群点并解决不一致性来清理数据;
所述数据集成子模块具体用于将多个数据源中的数据结合起来并统一存储;
所述数据变换子模块具体用于通过平滑聚集、数据概化和/或规范化的方式将数据转换成适用于数据挖掘的形式。
为实现上述技术目的,本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的基于序列相似度计算的推荐方法的步骤。
为实现上述技术目的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于序列相似度计算的推荐方法的步骤。
本公开的有益效果为:
本公开提出的个性化推荐的方法,能够根据用户的历史行为,采用分段取样并用语言模型训练的方式,获取用户在分段的历史行为中的其他用户的相似行为,这种计算方式以用户在一段时间内的行为作为数据单元,与以往的以商品单个实体作为数据单元不同,能够更好的挖掘出时间片段中的隐藏信息,使得推荐变得更准确。通过不同的向量的使用方式,可以灵活地调整长期中期短期的用户兴趣推荐,更加灵活,鉴于用户长短期兴趣点的不同的特点,这种推荐方式会使得在个性化推荐的过程中更加准确灵活。进而能够帮助企业及平台更好得挖掘用户兴趣点,使得用户使用的体验感不断增强,能够为企业及平台获取更好的用户粘性。
附图说明
图1示出了本公开的实施例1的流程示意图;
图2示出了本公开的实施例2的结构示意图;
图3示出了本公开的实施例4的结构示意图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在附图中示出了根据本公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状以及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
实施例一:
如图1所示:
本公开提供了一种基于序列相似度计算的推荐方法,包括:
S101:获取用户历史行为数据并存储;
S102:对所述用户历史行为数据进行预处理得到处理后的数据;
S103:对所述处理后的数据进行数据分割得到分割后的数据,其中,所述分割后的数据为数据序列;
S104:设置滑动采样窗口,对所述数据序列进行正负数据采样得到采样数据,其中,所述采样数据包括正样本数据和负样本数据;
落在所述滑动采样窗口内的数据为正样本数据,落在所述滑动采样窗口外的数据为负样本数据;
S105:利用所述采样数据进行模型训练。
进一步,所述对所述用户历史行为数据进行预处理得到处理后的数据具体包括:
对所述用户历史行为数据依次进行数据清理、数据集成和/或数据变换操作;
其中,所述数据清理操作具体包括:填写缺失的值、处理噪声数据、识别或删除离群点并解决不一致性来清理数据;
所述数据集成操作具体包括:将多个数据源中的数据结合起来并统一存储;
所述数据变换操作具体包括:通过平滑聚集、数据概化和/或规范化的方式将数据转换成适用于数据挖掘的形式。
数据清理
数据清理例程通过填写缺失的值、光滑噪声数据、识别或删除离群点并解决不一致性来“清理”数据。主要是达到如下目标:格式标准化,异常数据清除,错误纠正,重复数据的清除。
数据集成
数据集成例程将多个数据源中的数据结合起来并统一存储,建立数据仓库的过程实际上就是数据集成。
数据变换
通过平滑聚集,数据概化,规范化等方式将数据转换成适用于数据挖掘的形式。
进一步,所述数据分割具体包括:
水平分割操作和垂直分割操作;
其中,所述水平分割操作具体指把包含全局关系的数据分割成一些子集,所述子集被称为数据分片或数据段;
所述垂直分割操作具体指把包含全局关系的数据按着属性组纵向分割成一些数据分片或数据段。
数据分割是指把逻辑上是统一整体的数据分割成较小的、可以独立管理的物理单元进行存储,以便于重构、重组和恢复,以提高创建索引和顺序扫描的效率。数据分割使数据仓库的开发人员和使用者具有更大的灵活性;
数据分割常用的方式有水平分割和垂直分割两种。
水平分割
水平分割(Horizontal Splitting)就是把全局关系的元组分割成一些子集,这些子集被称为数据分片或数据段(Fragment)。数据分片中的数据可能是由于某种共同的性质(如地理、归属)而需要聚集一起的。通常,一个关系中的数据分片是互不相交的,这些分片可以选择地放在一个站点上,也可以通过副本被重复放在不同的站点上。
垂直分割
垂直分割(Vertical Splitting)就是把全局关系按着属性组(纵向)分割成一些数据分片或数据段(Fragment)。数据分片中的数据可能是由于使用上的方便或访问的共同性而需要聚集一起的。通常,一个关系中的垂直数据分片问只在某些键值上重叠,其他属性是互不相交的。这些垂直分片可以放一个站点上,也可以通过副本被重复放在不同的站点上。
进一步,所述利用所述采样数据进行模型训练具体包括:
利用Word2Vec方法对所述采样数据进行模型训练;
训练后的模型为词袋模型或Skip-gram模型。
词袋模型(Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。此模型下,像是句子或是文件这样的文字可以用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。最近词袋模型也被应用在计算机视觉领域。词袋模型被广泛应用在文件分类,词出现的频率可以用来当作训练分类器的特征。关于"词袋"这个用字的由来可追溯到泽里格·哈里斯于1954年在Distributional Structure的文章。
Skip-gram模型
Skip-gram模型是一个简单但却非常实用的模型。在自然语言处理中,语料的选取是一个相当重要的问题:第一,语料必须充分。一方面词典的词量要足够大,另一方面要尽可能多地包含反映词语之间关系的句子,例如,只有“鱼在水中游”这种句式在语料中尽可能地多,模型才能够学习到该句中的语义和语法关系,这和人类学习自然语言一个道理,重复的次数多了,也就会模仿了;第二,语料必须准确。也就是说所选取的语料能够正确反映该语言的语义和语法关系,这一点似乎不难做到,例如中文里,《人民日报》的语料比较准确。但是,更多的时候,并不是语料的选取引发了对准确性问题的担忧,而是处理的方法。n元模型中,因为窗口大小的限制,导致超出窗口范围的词语与当前词之间的关系不能被正确地反映到模型之中,如果单纯扩大窗口大小又会增加训练的复杂度。Skip-gram模型的提出很好地解决了这些问题。顾名思义,Skip-gram就是“跳过某些符号”,例如,句子“中国足球踢得真是太烂了”有4个3元词组,分别是“中国足球踢得”、“足球踢得真是”、“踢得真是太烂”、“真是太烂了”,可是我们发现,这个句子的本意就是“中国足球太烂”可是上述4个3元词组并不能反映出这个信息。Skip-gram模型却允许某些词被跳过,因此可以组成“中国足球太烂”这个3元词组。如果允许跳过2个词,即2-Skip-gram。
进一步,所述利用Word2Vec方法对所述采样数据进行模型训练具体包括:
使用-1到1之间的数值随机初始化所述采样数据中数据向量每一维度上的值;
将初始化后的数据输入到模型中进行计算;
重复循环进行梯度下降操作降低误差直至训练出向量表征。
进一步,所述将初始化后的数据输入到模型中进行计算的过程具体包括:
计算所述初始化后的数据中样本间的距离,得到样本的计算值,用真实值减去每一轮训练计算出的实际值得到误差值。
下面,结合一个网络课程应用推荐的场景详解本公开的技术方案:
首先,获取用户历史行为数据:
获取用户对课程的观看记录,包括观看课程的时间以及课程的总时长信息,最终获取在近10天或者近几天内的用户浏览课程的序列,例如:course_A->course_B->course_C->…
对所述用户历史行为数据进行预处理:
该预处理过程主要是指对数据进行去噪的过程:
例如有用户误触,或者用户点击课程后不感兴趣立马退出的情况。这些数据也会记录在序列中,去噪主要是对观看时间比设定一个阈值(例如0.7),使得获取的数据序列中只包含用户实际观看的课程内容。
对预处理后的数据进行数据分割;
数据分割是指把逻辑上是统一整体的数据分割成较小的、可以独立管理的物理单元进行存储,以便于重构、重组和恢复,以提高创建索引和顺序扫描的效率。数据分割使数据仓库的开发人员和使用者具有更大的灵活性;
数据分割常用的方式有水平分割和垂直分割两种。
在本申请的网络课程推荐的情境中:
对用户在10天内观看的课程序列切割成段,每一个段作为一个计算单元—item。通常采用半小时切割方法,即在半小时内没有继续观看课程,则认为该处需要被切割成前后两个不同的段。最终数据被切割成不同的item,每一个item中都包含>=1的课程序列。
数据采样,对上一步数据分割后的数据集进行数据采样:
在该步骤中对上一步获得的item序列做正负采样,用于下一步的模型训练。在该步骤中,item中的课程(A->B->C->D)被处理成一个集合,即去除了切割段内的时序信息,目的是缩减计算数据量。即被处理成集合(A,B,C,D)该集合作为一个item,对item采样。采样的方法如下。例如数据序列:
item1,item2,item3,item4,item5,item6,item7,item8,…item_N
设置滑动窗口的大小为5,从第一位开始取样,对窗口中间位的item为中心,即对item3采样,落在框中的样本为正样本,落在框外面的为负样本。负样本在框外随机获取。采样结果如下表1所示:
表1采样结果示意表
input | output | Label |
item3 | item1 | 1 |
item3 | item2 | 1 |
item3 | item4 | 1 |
item3 | item5 | 1 |
item3 | item8 | 0 |
item3 | Item_M(M<=N) | 0 |
通过滑动窗口对数据取样,经测算,正负样本的比例在1:2左右模型训练效果最佳。
最后对采样后的数据进行模型训练:
例如训练数据样本10万,训练的目的是训练出十万个样本的向量表征。首先使用-1到1之间的数值随机初始化向量每一维度上的值,向量维度设为200,即随机初始化10万*200的数值。随后输入到模型中计算,计算的基本原理为每一次计算样本间的距离,从而得到样本的计算值,用真实label的值(0/1)减去每一轮训练计算出的实际值(0.45)得到误差值0.55,然后通过不断地梯度下降使得误差值最小,进而训练出每个item的向量表征。具体如表2所示:
表2模型训练示意表
input | output | Label | Input-output | Sigmoid() | Error |
item3 | item4 | 1 | 0.89 | 0.55 | 0.45 |
item3 | item5 | 1 | 0.74 | 0.25 | 0.75 |
item3 | item8 | 0 | -1.11 | 0.68 | -0.68 |
通过模型的训练,训练好的模型能够很好的学习到前后的时序关系,获得序列间的潜在关联。对于一个用户的历史信息,将该信息采用上述的获取、去噪、切割之后可以得到一个item序列,对于每一个item输入到模型做预测,都能获得一个该item的向量表征,通过两种方式获取需要对用户个性化推荐的内容。
实施例二:
如图2所示,
本公开还能够提供一种基于序列相似度计算的推荐装置,包括:
数据获取模块201,用于获取用户历史行为数据并存储;
预处理模块202,用于对所述用户历史行为数据进行预处理得到处理后的数据;
数据分割模块203,用于对所述处理后的数据进行数据分割得到分割后的数据;
数据采样模块204,用于设置滑动采样窗口,对所述数据序列进行正负数据采样得到采样数据,其中,所述采样数据包括正样本数据和负样本数据;
落在所述滑动采样窗口内的数据为正样本数据,落在所述滑动采样窗口外的数据为负样本数据;
模型训练模块205,用于利用所述采样数据进行模型训练。
其中,所述数据获取模块201依次与所述预处理模块202、所述数据分割模块203、所述数据采样模块204以及所述模型训练模块205相连接。
进一步,所述预处理模块202具体包括:数据清理子模块、数据集成子模块和/或数据变换子模块;
其中,所述数据清理子模块具体用于填写缺失的值、处理噪声数据、识别或删除离群点并解决不一致性来清理数据;
所述数据集成子模块具体用于将多个数据源中的数据结合起来并统一存储;
所述数据变换子模块具体用于通过平滑聚集、数据概化和/或规范化的方式将数据转换成适用于数据挖掘的形式。
所述数据分割具体包括:
水平分割操作和垂直分割操作;
其中,所述水平分割操作具体指把包含全局关系的数据分割成一些子集,所述子集被称为数据分片或数据段;
所述垂直分割操作具体指把包含全局关系的数据按着属性组纵向分割成一些数据分片或数据段。
进一步,所述利用所述采样数据进行模型训练具体包括:
利用Word2Vec方法对所述采样数据进行模型训练;
训练后的模型为词袋模型或Skip-gram模型。
进一步,所述利用Word2Vec方法对所述采样数据进行模型训练具体包括:
使用-1到1之间的数值随机初始化所述采样数据中数据向量每一维度上的值;
将初始化后的数据输入到模型中进行计算;
重复循环进行梯度下降操作降低误差直至训练出向量表征。
进一步,所述将初始化后的数据输入到模型中进行计算的过程具体包括:
计算所述初始化后的数据中样本间的距离,得到样本的计算值,用真实值减去每一轮训练计算出的实际值得到误差值。
实施例三:
本公开还能够提供一种计算机存储介质,其上存储有计算机程序,计算机程序被处理器执行时用于实现上述的基于序列相似度计算的推荐方法的步骤。
本公开的计算机存储介质可以采用半导体存储器或磁芯存储器实现。
半导体存储器,主要用于计算机的半导体存储元件主要有Mos和双极型两种。Mos元件集成度高、工艺简单但速度较慢。双极型元件工艺复杂、功耗大、集成度低但速度快。NMos和CMos问世后,使Mos存储器在半导体存储器中开始占主要地位。NMos速度快,如英特尔公司的1K位静态随机存储器的存取时间为45ns。而CMos耗电省,4K位的CMos静态存储器存取时间为300ns。上述半导体存储器都是随机存取存储器(RAM),即在工作过程中可随机进行读出和写入新内容。而半导体只读存储器(ROM)在工作过程中可随机读出但不能写入,它用来存放已固化好的程序和数据。ROM又分为不可改写的熔断丝式只读存储器──PROM和可改写的只读存储器EPROM两种。
磁芯存储器,具有成本低,可靠性高的特点,且有20多年的实际使用经验。70年代中期以前广泛使用磁芯存储器作为主存储器。其存储容量可达10位以上,存取时间最快为300ns。国际上典型的磁芯存储器容量为4MS~8MB,存取周期为1.0~1.5μs。在半导体存储快速发展取代磁芯存储器作为主存储器的位置之后,磁芯存储器仍然可以作为大容量扩充存储器而得到应用。
实施例四:
本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的基于序列相似度计算的推荐方法的步骤。
图3为一个实施例中电子设备的内部结构示意图。如图3所示,该电子设备包括通过系统总线连接的处理器、存储介质、存储器和网络接口。其中,该计算机设备的存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种基于序列相似度计算的推荐方法。该电设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种基于序列相似度计算的推荐方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
该电子设备包括但不限于智能电话、计算机、平板电脑、可穿戴智能设备、人工智能设备、移动电源等。
所述处理器在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器内的程序或者模块(例如执行远端数据读写程序等),以及调用存储在所述存储器内的数据,以执行电子设备的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器以及至少一个处理器等之间的连接通信。
图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图3示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
可选地,该电子设备还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
进一步地,所述计算机可用存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
本公开的有益效果为:
1.整体模型方面,采用全文脚本分析测算,减轻了人为干预导致泛化能力弱的问题;因为还是采用机器学习算法,不需要大量样本计算词向量,避免了因为样本量少而导致向量特征片面的问题。
2.在算法优化方面,因为增加了R(qi,d)相关性得分和调节因子,使得评分更加准确,更能够忽略掉一些噪音数据,使相似度得分更加的精准。
3.在停止词优化方面,因为加入了针对不同条款进行不同的停止词,避免了“一竿子打死”的情况发生,有效控制了停止词在条款之间互相干扰,定位更加清晰。
4.在相似度得分测算方面,因将所有标准条款都计入计算范围,采用多角度分析,又进一步引入加权,使得让代表性强的发挥更大的作用,大大增加条款判定的准确度。
5.在数据采样方面,保证了测算和预测数据的统一性,避免了因为字符长度过长或者过短影响评分的准确性。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。本公开的范围由所附权利要求及其等价物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种基于序列相似度计算的推荐方法,其特征在于,包括:
获取用户历史行为数据并存储;
对所述用户历史行为数据进行预处理得到处理后的数据;
对所述处理后的数据进行数据分割得到分割后的数据,其中,所述分割后的数据为数据序列;
设置滑动采样窗口,对所述数据序列进行正负数据采样得到采样数据,其中,所述采样数据包括正样本数据和负样本数据;
落在所述滑动采样窗口内的数据为正样本数据,落在所述滑动采样窗口外的数据为负样本数据;
利用所述采样数据进行模型训练。
2.根据权利要求1所述的方法,其特征在于,所述对所述用户历史行为数据进行预处理得到处理后的数据具体包括:
对所述用户历史行为数据依次进行数据清理、数据集成和/或数据变换操作;
其中,所述数据清理操作具体包括:填写缺失的值、处理噪声数据、识别或删除离群点并解决不一致性来清理数据;
所述数据集成操作具体包括:将多个数据源中的数据结合起来并统一存储;
所述数据变换操作具体包括:通过平滑聚集、数据概化和/或规范化的方式将数据转换成适用于数据挖掘的形式。
3.根据权利要求1所述的方法,其特征在于,所述数据分割具体包括:
水平分割操作和垂直分割操作;
其中,所述水平分割操作具体指把包含全局关系的数据分割成一些子集,所述子集被称为数据分片或数据段;
所述垂直分割操作具体指把包含全局关系的数据按着属性组纵向分割成一些数据分片或数据段。
4.根据权利要求1所述的方法,其特征在于,所述利用所述采样数据进行模型训练具体包括:
利用Word2Vec方法对所述采样数据进行模型训练;
训练后的模型为词袋模型或Skip-gram模型。
5.根据权利要求4所述的方法,其特征在于,所述利用Word2Vec方法对所述采样数据进行模型训练具体包括:
使用-1到1之间的数值随机初始化所述采样数据中数据向量每一维度上的值;
将初始化后的数据输入到模型中进行计算;
重复循环进行梯度下降操作降低误差直至训练出向量表征。
6.根据权利要求5所述的方法,其特征在于,所述将初始化后的数据输入到模型中进行计算的过程具体包括:
计算所述初始化后的数据中样本间的距离,得到样本的计算值,用真实值减去每一轮训练计算出的实际值得到误差值。
7.一种基于序列相似度计算的推荐装置,其特征在于,包括:
数据获取模块,用于获取用户历史行为数据并存储;
预处理模块,用于对所述用户历史行为数据进行预处理得到处理后的数据;
数据分割模块,用于对所述处理后的数据进行数据分割得到分割后的数据;
数据采样模块,用于设置滑动采样窗口,对所述数据序列进行正负数据采样得到采样数据,其中,所述采样数据包括正样本数据和负样本数据;
落在所述滑动采样窗口内的数据为正样本数据,落在所述滑动采样窗口外的数据为负样本数据;
模型训练模块,用于利用所述采样数据进行模型训练。
8.根据权利要求7所述的装置,其特征在于,所述预处理模块具体包括:数据清理子模块、数据集成子模块和/或数据变换子模块;
其中,所述数据清理子模块具体用于填写缺失的值、处理噪声数据、识别或删除离群点并解决不一致性来清理数据;
所述数据集成子模块具体用于将多个数据源中的数据结合起来并统一存储;
所述数据变换子模块具体用于通过平滑聚集、数据概化和/或规范化的方式将数据转换成适用于数据挖掘的形式。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~6任一项中所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序指令,其特征在于,所述程序指令被处理器执行时用于实现权利要求1~6任一项中所述的基于序列相似度计算的推荐方法对应的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110692781.5A CN113239282A (zh) | 2021-06-22 | 2021-06-22 | 一种基于序列相似度计算的推荐方法、装置、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110692781.5A CN113239282A (zh) | 2021-06-22 | 2021-06-22 | 一种基于序列相似度计算的推荐方法、装置、介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113239282A true CN113239282A (zh) | 2021-08-10 |
Family
ID=77140638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110692781.5A Pending CN113239282A (zh) | 2021-06-22 | 2021-06-22 | 一种基于序列相似度计算的推荐方法、装置、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113239282A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885756A (zh) * | 2018-12-18 | 2019-06-14 | 湖南大学 | 基于cnn和rnn的序列化推荐方法 |
CN110413888A (zh) * | 2019-07-24 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种书籍推荐方法及装置 |
CN111797858A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 模型训练方法、行为预测方法、装置、存储介质及设备 |
CN111797318A (zh) * | 2020-07-01 | 2020-10-20 | 喜大(上海)网络科技有限公司 | 信息的推荐方法、装置、设备和存储介质 |
CN112287244A (zh) * | 2020-10-29 | 2021-01-29 | 平安科技(深圳)有限公司 | 基于联邦学习的产品推荐方法、装置、计算机设备及介质 |
-
2021
- 2021-06-22 CN CN202110692781.5A patent/CN113239282A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885756A (zh) * | 2018-12-18 | 2019-06-14 | 湖南大学 | 基于cnn和rnn的序列化推荐方法 |
CN111797858A (zh) * | 2019-04-09 | 2020-10-20 | Oppo广东移动通信有限公司 | 模型训练方法、行为预测方法、装置、存储介质及设备 |
CN110413888A (zh) * | 2019-07-24 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种书籍推荐方法及装置 |
CN111797318A (zh) * | 2020-07-01 | 2020-10-20 | 喜大(上海)网络科技有限公司 | 信息的推荐方法、装置、设备和存储介质 |
CN112287244A (zh) * | 2020-10-29 | 2021-01-29 | 平安科技(深圳)有限公司 | 基于联邦学习的产品推荐方法、装置、计算机设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110019843B (zh) | 知识图谱的处理方法及装置 | |
CN108108426B (zh) | 自然语言提问的理解方法、装置及电子设备 | |
CN110807091A (zh) | 一种酒店智能问答推荐与决策支持分析方法及系统 | |
CN109002492B (zh) | 一种基于LightGBM的绩点预测方法 | |
CN107368521B (zh) | 一种基于大数据和深度学习的知识推介方法及系统 | |
CN113449187A (zh) | 基于双画像的产品推荐方法、装置、设备及存储介质 | |
CN115002200B (zh) | 基于用户画像的消息推送方法、装置、设备及存储介质 | |
CN113378970B (zh) | 语句相似性检测方法、装置、电子设备及存储介质 | |
CN112288337B (zh) | 行为推荐方法、装置、设备及介质 | |
CN113704429A (zh) | 基于半监督学习的意图识别方法、装置、设备及介质 | |
CN114461777A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN112101029B (zh) | 一种基于bert模型的高校导师推荐管理方法 | |
CN108304381B (zh) | 基于人工智能的实体建边方法、装置、设备及存储介质 | |
CN115018588A (zh) | 产品推荐方法、装置、电子设备及可读存储介质 | |
CN113886708A (zh) | 基于用户信息的产品推荐方法、装置、设备及存储介质 | |
CN114416939A (zh) | 智能问答方法、装置、设备及存储介质 | |
CN110135769A (zh) | 货品属性填充方法及装置、存储介质及电子终端 | |
CN113420542B (zh) | 对话生成方法、装置、电子设备及存储介质 | |
CN112861750B (zh) | 基于拐点检测的视频提取方法、装置、设备及介质 | |
CN112100493B (zh) | 文档排序方法、装置、设备及存储介质 | |
CN113918704A (zh) | 基于机器学习的问答方法、装置、电子设备及介质 | |
CN116611889A (zh) | 基于用户画像标签的产品个性化推荐方法及系统 | |
CN110717029A (zh) | 一种信息处理方法和系统 | |
CN113239282A (zh) | 一种基于序列相似度计算的推荐方法、装置、介质及设备 | |
CN113486649B (zh) | 文本评论的生成方法以及电子设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210810 |
|
RJ01 | Rejection of invention patent application after publication |