CN113722583A - 推荐方法、推荐模型训练方法及相关产品 - Google Patents
推荐方法、推荐模型训练方法及相关产品 Download PDFInfo
- Publication number
- CN113722583A CN113722583A CN202110877429.9A CN202110877429A CN113722583A CN 113722583 A CN113722583 A CN 113722583A CN 202110877429 A CN202110877429 A CN 202110877429A CN 113722583 A CN113722583 A CN 113722583A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- feature
- training
- sample
- 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
- 238000012549 training Methods 0.000 title claims abstract description 371
- 238000000034 method Methods 0.000 title claims abstract description 96
- 239000013074 reference sample Substances 0.000 claims abstract description 161
- 238000013528 artificial neural network Methods 0.000 claims abstract description 24
- 239000013598 vector Substances 0.000 claims description 426
- 239000000523 sample Substances 0.000 claims description 268
- 238000012545 processing Methods 0.000 claims description 53
- 230000015654 memory Effects 0.000 claims description 51
- 238000000605 extraction Methods 0.000 claims description 38
- 230000003993 interaction Effects 0.000 claims description 33
- 230000004927 fusion Effects 0.000 claims description 31
- 230000002441 reversible effect Effects 0.000 claims description 9
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 230000006399 behavior Effects 0.000 description 55
- 230000008569 process Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 15
- 238000013507 mapping Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 9
- 238000012360 testing method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000010606 normalization Methods 0.000 description 6
- 239000000872 buffer Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 238000005314 correlation function Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- RPNUMPOLZDHAAY-UHFFFAOYSA-N Diethylenetriamine Chemical compound NCCNCCN RPNUMPOLZDHAAY-UHFFFAOYSA-N 0.000 description 1
- MDIACHVOJQLAOR-ZYDGDJLBSA-N [(7r,8s,9s,10s,13s,14s,17r)-17-ethynyl-10-hydroperoxy-7,13-dimethyl-3-oxo-2,6,7,8,9,11,12,14,15,16-decahydro-1h-cyclopenta[a]phenanthren-17-yl] heptanoate Chemical compound C([C@H]1C)C2=CC(=O)CC[C@]2(OO)[C@@H]2[C@@H]1[C@@H]1CC[C@](C#C)(OC(=O)CCCCCC)[C@@]1(C)CC2 MDIACHVOJQLAOR-ZYDGDJLBSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000033764 rhythmic process Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- 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/0201—Market modelling; Market analysis; Collecting market data
-
- 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/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- 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/0241—Advertisements
- G06Q30/0251—Targeted advertisements
-
- 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/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0255—Targeted advertisements based on user history
-
- 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/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- 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)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种推荐方法、推荐模型训练方法及相关产品。该推荐方法包括:获取待预测数据;根据待预测数据和多个参考样本的相似度从多个参考样本中获取多个目标参考样本;每个参考样本和待预测数据均包括用户特征域数据和物品特征域数据,待预测数据的用户特征域数据用于指示目标用户特征,待预测数据的物品特征域数据用于指示目标物品特征,每个目标参考样本和待预测数据具有部分相同的用户特征域数据和/或物品特征域数据;根据多个目标参考样本与待预测数据获取待预测数据的目标特征信息;以目标特征信息为输入通过深度神经网络DNN获取输出值;根据输出值确定是否向目标用户推荐目标物品。本申请实施例有利于提高推荐精度。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种推荐方法、推荐模型训练方法及相关产品。
背景技术
基于表格数据预测用户的行为是一项重要的任务,有着大量的真实应用,比如,在线广告中的点击率(Click-Through-Rate,CTR)预测,推荐系统中的评分预测以及商品排序,诈骗账户检测等等。这些应用场景收集到的数据都以表格式的格式进行存储。表格中的每一行对应一个样本,每个样本的每一列对应一个独特的特征。
从表格式数据中提取有价值的关系或者模式是机器学习系统学习准确的关键。为了更好的利用表格式数据,如何充分挖掘表格式数据行之间以及列之间蕴含的丰富信息就变得至关重要。早期的模型,如逻辑回归,支持向量机以及树模型将行样本作为输入来做预测。深度模型将行样本的类别特征映射成嵌入向量,然后使用单个行样本的特征向量进行用户行为预测。近年来,基于特征交互的模型和基于用户序列的模型成为了表格式数据建模的主流。基于特征交互的模型,致力于对表格式数据中每个行样本的列与列之间的特征进行交互,以充分挖掘用户序列特征去预测用户行为,并基于预测出的用户行为进行推荐。
然而,上述都是孤立的使用单个样本预测用户行为,导致基于预测出的用户行为进行推荐的精度较低。
发明内容
本申请提供了一种推荐方法、推荐模型训练方法及相关产品,通过融合目标参考样本的特征信息进行推荐,提高推荐精度。
第一方面,本申请实施例提供一种推荐方法,包括:获取待预测数据;根据待预测数据和多个参考样本的相似度从多个参考样本中获取多个目标参考样本;每个参考样本和待预测数据均包括用户特征域数据和物品特征域数据,待预测数据的用户特征域数据用于指示目标用户特征,待预测数据的物品特征域数据用于指示目标物品特征,每个目标参考样本和待预测数据具有部分相同的用户特征域数据和/或物品特征域数据;根据多个目标参考样本与待预测数据获取待预测数据的目标特征信息;目标特征信息包括第一目标特征向量组和第二目标特征向量组,第一目标特征向量组为向量化后的待预测数据,第二目标特征向量组为对多个目标参考样本进行向量化后融合得到;以目标特征信息为输入通过深度神经网络DNN获取输出值;根据输出值确定是否向目标用户推荐目标物品。
其中,输出值可以是一个概率值,该概率值反映了目标用户对目标物品进行操作的概率。对于不同的目标物品,目标用户对目标物品进行操作的概率有不同的理解。比如,当目标物品为应用程序时,目标用户对目标物品进行操作的概率可以理解为目标用户点击应用程序的概率;再如,当目标物品为歌曲时,目标用户对目标物品进行操作的概率可以理解为目标用户喜欢该歌曲的概率;又如,当目标物品为商品时,目标用户对目标物品进行操作的概率可以理解为目标用户购买该商品的概率。
实际应用中,获取了概率值之后,可以对概率值进行后处理,得到输出值。比如,当概率值大于概率阈值时,以1作为输出值;当概率值小于或等于阈值时,则以0作为输出值,其中,0表示目标用户不会操作目标物品,1表示目标用户会操作目标物品。
针对单物品推荐场景来说,当输出值大于阈值时,确定向目标用户推荐目标物品,否则确定不向目标用户推荐该目标物品。此外,当本申请的方案应用到从多个候选物品中选出物品进行推荐的场景时,可以获取每个候选物品对应的输出值;然后,向目标用户推荐输出值最高的候选物品,或者,对多个候选物品的输出值进行排序,将排序靠前的(比如,前十个候选物品)候选物品推荐给目标用户。举例来说,进行歌曲推荐时,可以获取歌曲库中每个候选歌曲的输出值,然后,将输出值排名前十的歌曲推荐给目标用户。
可以看出,本申请中所获取的目标特征信息中除了包含待预测数据本身的特征信息之外,还包含有多个目标参考样本向量化融合之后的特征信息。由于目标参考样本是通过待预测数据与多个参考样本之间的相似度从多个参考样本中选取的,且与待预测数据具有部分相同的用户特征域数据和/或物品特征域数据,因此目标参考样本是多个参考样本中与待预测数据比较相似的参考样本,故目标参考样本中的用户行为可以为目标用户的行为的预测提供参考和经验,从而在使用融合目标参考样本的特征的目标特征信息进行输出值的预测时,可以使预测出的输出值比较精确,基于这个输出值进行物品推荐,提高了推荐的精度。
在一些可能的实施方式中,多个目标参考样本还包括标签数据;第二目标特征向量组为对多个目标参考样本进行向量化后融合得到,具体为:第二目标特征向量组为对多个目标参考样本的用户特征域数据,物品特征域数据以及标签数据进行向量化后融合得到。
其中,目标参考样本的用户特征数据用于表示参考用户特征,目标参考样本的物品特征数据用于表示参考物品特征。由于目标参考样本还携带有标签数据,即参考用户对参考物品的真实操作行为。因此,第二特征向量组包含有参考用户对参考物品的真实操作行为,则在使用目标特征信息对目标用户的行为进行预测时,可以结合参考用户对参考物品的真实操作行为预测目标用户对目标物品的操作行为,得到输出值,使预测出的输出值精度较高,进而提高物品推荐精度。
在一些可能的实施方式中,目标特征信息还包括第三目标特征向量组,第三目标特征向量组为对第一向量组中的目标特征向量进行两两交互得到,第一向量组包括第一目标特征向量组和第二目标特征向量组。
应说明,上述是对第一向量组中的目标特征向量进行两两交互,但在实际应用可以自由的进行两两交互。示例性的,可以对第一目标特征向量组中的多个第一目标特征向量进行两两交互,得到多个第三目标特征向量;或者,对第二目标特征向量组中的多个第二目标特征向量进行两两交互,得到多个第三目标特征向量,等等。
可以看出,在本实施方式中,对第一向量组中的目标特征向量进行两两交互,得到多个第三目标特征向量,从而使目标特征信息中还包含有高阶特征信息,即第三目标特征向量可以表征用户各个行为之间的联系,因此使用更高阶的特征信息进行行为预测,可进一步提高输出值的精度。举例来说,某个第一目标特征向量表示用户的年龄为28岁时,另外一个第一目标特征向量表示用户为男性时,则对这两个目标特征向量进行交互后得到的第三目标特征向量表示用户是一个28岁的男性。单独使用每个目标特征向量进行预测时,则目标物品满足28岁的人的需求或者满足男性的需求,则认为目标用户有一定的概率去操作这个目标物品,得到的输出值一般会大于概率阈值,而将目标特征向量交互后,则只有当目标物品满足28岁的男性需求时,目标用户才有一定的概率去操作这个目标物品,得到的输出值才会大于概率阈值,因此,使得到的输出值的精度比较高,进一步提高推荐精度。
在一些可能的实施方式中,对第一目标特征向量组中的多个第一目标特征向量进行拼接,得到待预测数据的第二特征向量;对每个目标参考样本的多个第一特征向量进行拼接,得到每个目标参考样本的第二特征向量,每个目标参考样本的多个第一特征向量为对目标参考样本进行向量化得到;获取每个目标参考样本的第二特征向量与待预测数据的第二特征向量之间的相似度;根据每个目标参考样本的第二特征向量与待预测数据的第二特征向量之间的相似度,确定每个目标参考样本的权重;根据每个目标参考样本的权重,对多个目标参考样本在同一个特征域下的第一特征向量进行融合,得到第二目标特征向量组。
可以看出,在本实施方式中,通过注意力机制,从而使多个目标参考样本中与待预测数据关联程度最高的目标参考样本的权重最大,这样融合得到的第二目标特征向量主要指示的特征信息为关联程度最高的目标参考样本的特征信息,尽可能的多使用关联程度最高的目标参考样本指引对目标用户行为的预测,使预测出的目标用户对目标物品进行操作的概率精度更高,进而提高物品推荐的精度。
在一些可能的实施方式中,根据所述待预测数据和多个参考样本的相似度从所述多个参考样本中获取多个目标参考样本之前,方法还包括:获取多个原始样本,其中,每个所述原始样本包括用户特征域数据和物品特征域数据;将所述待预测数据的多个所述用户特征域数据和多个所述物品特征域数据作为元素,对所述多个原始样本进行倒排索引,得到所述多个参考样本。
可选的,首先对多个原始样本进行倒排,得到倒排列表;比如,可以将每个参考样本的用户特征域数据和物品特征域数据作为元素进行倒排,得到如表2所示的倒排列表,比如,倒排列表中的每一行中的第一列为元素,即该多个参考样本下的一个域数据(用户特征域数据或者物品特征域数据),第二列为多个参考样本中包含有该域数据的参考样本。有了倒排列表之后,将待预测数据的每个用户特征域数据和每个物品特征域数据作为元素,对多个原始样本进行索引,得到多个参考样本。即根据倒排列表中的对应关系,可索引出与每个用户特征域数据对应的参考样本,以及与每个物品特征域对应的参考样本;然后,将每个用户特征域数据对应的参考样本,以及与每个物品特征域对应的参考样本进行合并与去重,得到该多个参考样本。例如,待预测数据为[U4、LA、Student、L2、cell phone、B3],将U4、LA、Student、L2、cell phone、B3均作为查询词,从表2所示的倒排列表中获取与LA对应的参考样本为[样本1、样本3],与Student对应的参考样本为[样本1、样本2、样本3],与L2对应的参考样本为[样本3],与cell phone对应的参考样本为[样本3、样本4],与B3对应的参考样本为[样本4]。然后,对从倒排列表中获取到的所有参考样本进行合并与去重,得到多个参考样本,即[样本1、样本2、样本3、样本4]。
可以看出,在本实施方式中,通过倒排对多个原始样本进行排序,得到倒排列表。由于使用了倒排列表,从而可以使用倒排列表从多个原始样本中快速索引出多个参考样本,排除掉一部分不相关的原始样本,这样就可以不用和每个原始样本进行相似度的计算,减轻计算压力,可以快速的筛选出目标参考样本,提高物品推荐的效率。
第二方面,本申请实施例提供一种推荐模型训练方法,推荐模型包括特征信息提取网络和深度神经网络DNN,方法包括:获取多个训练样本,其中,每个训练样本包括用户特征域数据和物品特征域数据;根据第一训练样本和多个第二训练样本的相似度从多个第二训练样本中获取多个目标训练样本,其中,第一训练样本为多个训练样本中的一个,多个第二训练样本为多个训练样本除第一训练样本之外的部分或全部,第一训练样本的用户特征域数据用于指示第一参考用户特征,第一训练样本的物品特征域数据用于指示第一参考物品特征,第一训练样本和每个目标训练样本具有部分相同的用户特征域数据和/或物品特征域数据;将第一训练样本和多个目标训练样本输入到特征信息提取网络,得到第一训练样本的目标特征信息,其中,目标特征信息包括第四目标特征向量组和第五目标特征向量组,第四目标特征向量组为通过特征信息提取网络对第一训练样本进行向量化得到,第五目标特征向量组为通过特征信息提取网络对多个目标训练样本进行向量化后融合得到;将目标特征信息输入到深度神经网络DNN,得到输出值,输出值用于表征第一参考用户对第一参考物品进行操作的概率;根据输出值以及第一训练样本的标签数据进行推荐模型的训练,获得目标推荐模型。
应说明,将第一训练样本以及多个目标训练样本输入到推荐模型的特征信息提取网络,构造信息更丰富的目标特征信息,使目标特征信息中既包含有第一训练样本的特征信息,即多个第四目标特征向量,还包含有多个目标训练样本向量化后融合的特征信息,即多个第五目标特征向量,并且目标训练样本是通过第一训练样本与多个第二训练样本之间的相似度从多个第二训练样本中选取的,因此目标训练样本是与第一训练样本比较相似的训练样本,从而在使用第一训练样本的目标特征信息进行模型训练时,可以参考多个目标训练样本向量化后融合的特征信息(即先验知识)进行用户行为预测,得到输出值,使预测出的输出值更加精确,从而使训练过程中得到的损失比较小,模型更容易收敛;此外,由于参考了多个目标训练样本的用户特征信息,使模型能够记住更丰富的用户特征信息,从而使训练出模型精度较高,鲁棒性比较强。
在一些可能的实施方式中,第五目标特征向量组为对多个目标训练样本进行向量化后融合得到,具体为:第五目标特征向量组为通过特征信息提取网络对多个目标训练样本的用户特征域数据、物品特征域数据以及标签数据进行向量化后融合得到。
可以看出,在本实施方式中,目标训练样本携带有标签数据,由于每个目标训练样本的标签数据反映了每个目标训练样本中的用户对物品的真实操作行为。因此,使用目标特征信息对目标用户的行为进行预测时,可以结合目标训练样本中的用户对物品的真实操作行为,去预测第一训练样本中的第一参考用户对第一参考物品进行操作的概率,从而使预测出的输出值的精度较高,由于预测的输出值精度较高,使训练过程中得到的损失比较小,缩短模型训练周期,提高模型收敛速度。
在一些可能的实施方式中,目标特征信息还包括第六目标特征向量组,第六目标特征向量组是通过特征信息提取网络对第二向量组中的目标特征向量进行两两交互得到,第二向量组包括第四目标特征向量组和第五目标特征向量组。
可以看出,在本实施方式中,对第二向量组中的目标特征向量进行两两交互,得到多个第六目标特征向量,从而使目标特征信息中还包含有高阶特征信息,即第六目标特征向量可以表征第一参考用户的高阶特征,因此使用高阶特征进行行为预测,可进一步提高对用户行为的预测精度,进一步提高模型收敛速度。举例来说,某个第四目标特征向量表示用户的年龄为28岁时,另外一个第四目标特征向量表示用户为男性时,则对这两个第四目标特征向量进行交互后得到的第六目标特征向量表示用户是一个28岁的男性。单独使用每个第四目标特征向量进行预测时,则物品满足28岁的人的需求或者满足男性的需求,则认为用户有一定的概率去操作这个物品,而将目标特征向量交互后,则只有当物品满足28岁的男性需求时,用户才有一定的概率去操作这个物品,从而提高了对用户行为的预测精度。
在一些可能的实施方式中,融合包括:对第四目标特征向量组中的多个第四目标特征向量进行拼接,得到第一训练样本的第二特征向量;对每个目标训练样本的多个第一特征向量进行拼接,得到每个目标训练样本的第二特征向量,每个目标训练样本的多个第一特征向量为对目标训练样本进行向量化得到;获取每个目标训练样本的第二特征向量与第一训练样本的第二特征向量之间的相似度;根据每个目标训练样本的第二特征向量与第一训练样本的第二特征向量之间的相似度,确定每个目标训练样本的权重;根据每个目标训练样本的权重,对多个目标训练样本在同一个特征域下的第一特征向量进行融合,得到第五目标特征向量组。
可以看出,通过注意力机制,从而使多个目标训练样本中与第一训练样本关联程度最高的目标训练样本的权重最大,这样融合得到的第五目标特征向量主要指示的特征信息为该目标训练样本的特征信息,从而尽可能的多使用关联程度最高的目标训练样本指引对第一参考用户行为的预测,从而使预测出的第一参考用户对第一参考物品进行操作的概率精度更高,提高了模型收敛速度。
在一些可能的实施方式中,根据第一训练样本和多个第二训练样本的相似度从所述多个第二训练样本中获取多个目标训练样本之前,方法还包括:将所述第一训练样本的多个所述用户特征域数据和多个所述物品特征域数据作为元素,对所述多个训练样本进行倒排索引,得到所述多个第二训练样本。
可选的,基于每个训练样本的用户特征域数据和物品特征域数据对多个训练样本进行倒排列表,其中,倒排列表包含有元素和样本之间的对应关系,如表2所示,倒排列表中的每一行中的第一列为元素,即样本下的一个域数据(用户特征域数据或者物品特征域数据),第二列为多个参考样本中包含有该域数据的参考样本。有了倒排列表之后,将第一训练样本中的每个用户特征域数据和每个物品特征域数据作为元素从多个训练样本中索引出多个第二训练样本,即根据倒排列表中的对应关系,可获取与每个用户特征域数据对应的训练样本,以及与每个物品特征域对应的训练样本;然后,将每个用户特征域数据对应的训练样本,以及与每个物品特征域对应的训练样本进行合并与去重,得到该多个第二训练样本。
可以看出,在本实施方式中,通过倒排索引对多个训练样本进行排序,得到倒排列表。由于使用了倒排列表,从而可以使用倒排列表快速的找到多个第二训练样本,不用和每个训练样本计算相似度,减轻了计算压力,可以快速从多个第二训练样本中获取出多个目标训练样本,提高模型训练速度。
第三方面,本申请实施例提供了一种推荐装置,包括:获取单元和处理单元;获取单元,用于获取待预测数据;处理单元,用于根据待预测数据和多个参考样本的相似度从多个参考样本中获取多个目标参考样本;每个参考样本和待预测数据均包括用户特征域数据和物品特征域数据,待预测数据的用户特征域数据用于指示目标用户特征,待预测数据的物品特征域数据用于指示目标物品特征,每个目标参考样本和待预测数据具有部分相同的用户特征域数据和/或物品特征域数据;根据多个目标参考样本与待预测数据获取待预测数据的目标特征信息;目标特征信息包括第一目标特征向量组和第二目标特征向量组,第一目标特征向量组为向量化后的待预测数据,第二目标特征向量组为对多个目标参考样本进行向量化后融合得到;以目标特征信息为输入通过深度神经网络DNN获取输出值;根据输出值确定是否向目标用户推荐目标物品。
在一些可能的实施方式中,多个目标参考样本还包括标签数据;第二目标特征向量组为对多个目标参考样本进行向量化后融合得到,具体为:第二目标特征向量组为对多个目标参考样本的用户特征域数据,物品特征域数据以及标签数据进行向量化后融合得到。
在一些可能的实施方式中,目标特征信息还包括第三目标特征向量组,第三目标特征向量组为对第一向量组中的目标特征向量进行两两交互得到,第一向量组包括第一目标特征向量组和第二目标特征向量组。
在一些可能的实施方式中,在处理单元进行融合方面,处理单元,具体用于:对第一目标特征向量组中的多个第一目标特征向量进行拼接,得到待预测数据的第二特征向量;对每个目标参考样本的多个第一特征向量进行拼接,得到每个目标参考样本的第二特征向量,每个目标参考样本的多个第一特征向量为对目标参考样本进行向量化得到;获取每个目标参考样本的第二特征向量与待预测数据的第二特征向量之间的相似度;根据每个目标参考样本的第二特征向量与待预测数据的第二特征向量之间的相似度,确定每个目标参考样本的权重;根据每个目标参考样本的权重,对多个目标参考样本在同一个特征域下的第一特征向量进行融合,得到第二目标特征向量组。
在所述处理单元根据所述待预测数据和多个参考样本的相似度从所述多个参考样本中获取多个目标参考样本之前,所述处理单元,还用于:获取多个原始样本,其中,每个所述原始样本包括用户特征域数据和物品特征域数据;
将所述待预测数据的多个所述用户特征域数据和多个所述物品特征域数据作为元素,对所述多个原始样本进行倒排索引,得到所述多个参考样本。
第四方面,本申请实施例提供了一种推荐模型训练装置,推荐模型包括特征信息提取网络和深度神经网络DNN,装置包括:获取单元和处理单元;获取单元,用于获取多个训练样本,其中,每个训练样本包括用户特征域数据和物品特征域数据;处理单元,用于根据第一训练样本和多个第二训练样本的相似度从多个第二训练样本中获取多个目标训练样本,其中,第一训练样本为多个训练样本中的一个,多个第二训练样本为多个训练样本除第一训练样本之外的部分或全部,第一训练样本的用户特征域数据用于指示第一参考用户特征,第一训练样本的物品特征域数据用于指示第一参考物品特征,第一训练样本和每个目标训练样本具有部分相同的用户特征域数据和/或物品特征域数据;将第一训练样本和多个目标训练样本输入到特征信息提取网络,得到第一训练样本的目标特征信息,其中,目标特征信息包括第四目标特征向量组和第五目标特征向量组,第四目标特征向量组为通过特征信息提取网络对第一训练样本进行向量化得到,第五目标特征向量组为通过特征信息提取网络对多个目标训练样本进行向量化后融合得到;将目标特征信息输入到深度神经网络DNN,得到输出值,输出值用于表征第一参考用户对第一参考物品进行操作的概率;根据输出值以及第一训练样本的标签数据进行推荐模型的训练,获得目标推荐模型。
在一些可能的实施方式中,第五目标特征向量组为对多个目标训练样本进行向量化后融合得到,具体为:第五目标特征向量组为通过特征信息提取网络对多个目标训练样本的用户特征域数据、物品特征域数据以及标签数据进行向量化后融合得到。
在一些可能的实施方式中,目标特征信息还包括第六目标特征向量组,第六目标特征向量组是通过特征信息提取网络对第二向量组中的目标特征向量进行两两交互得到,第二向量组包括第四目标特征向量组和第五目标特征向量组。
在一些可能的实施方式中,在处理单元进行融合方面,处理单元,具体用于:对第四目标特征向量组中的多个第四目标特征向量进行拼接,得到第一训练样本的第二特征向量;对每个目标训练样本的多个第一特征向量进行拼接,得到每个目标训练样本的第二特征向量,每个目标训练样本的多个第一特征向量为对目标训练样本进行向量化得到;获取每个目标训练样本的第二特征向量与第一训练样本的第二特征向量之间的相似度;根据每个目标训练样本的第二特征向量与第一训练样本的第二特征向量之间的相似度,确定每个目标训练样本的权重;根据每个目标训练样本的权重,对多个目标训练样本在同一个特征域下的第一特征向量进行融合,得到第五目标特征向量组。
在一些可能的实施方式中,在所述处理单元根据所述待预测数据和多个参考样本的相似度从所述多个参考样本中获取多个目标参考样本之前,所述处理单元,还用于:
将每个训练样本的每个用户特征域数据和每个物品特征域数据作为元素,对多个训练样本进行倒排索引,得到倒排列表;将第一训练样本的每个用户特征域数据和每个物品特征域数据作为查询词,从倒排列表中获取多个第二训练样本。
在一些可能的实施方式中,在所述处理单元根据第一训练样本和多个第二训练样本的相似度从所述多个第二训练样本中获取多个目标训练样本之前,所述处理单元,还用于:
将所述第一训练样本的多个所述用户特征域数据和多个所述物品特征域数据作为元素,对所述多个训练样本进行倒排索引,得到所述多个第二训练样本。
第五方面,本申请实施例提供了一种电子设备,包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序;当存储器存储的程序被执行时,处理器用于实现上述第一方面或第二方面中的方法。
第六方面,本申请实施例提供了提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于实现上述第一方面或第二方面中的方法。
第七方面,本申请实施例提供了提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机实现上述第一方面或第二方面中的方法。
第八方面,本申请实施例提供了提供一种芯片,该芯片包括处理器与数据接口,处理器通过数据接口读取存储器上存储的指令,实现上述第一方面或第二方面中的方法。
可选地,作为一种实现方式,芯片还可以包括存储器,存储器中存储有指令,处理器用于执行存储器上存储的指令,当指令被执行时,处理器用于实现上述第一方面或第二方面中的方法。
附图说明
图1为本申请实施例提供的一种人工智能主体框架示意图;
图2为本申请实施例提供的一种系统架构的示意图;
图3为本申请实施例提供的一种芯片硬件结构图;
图4为本申请实施例提供的一种推荐方法的流程示意图;
图5为本申请实施例提供的一种特征向量交互与拼接的示意图;
图6为本申请实施例提供的一种模型的结构图;
图7为本申请实施例提供的一种推荐模型训练方法的流程示意图;
图8为本申请实施例提供的一种用户行为预测流程比对图;
图9为本申请实施例提供的一种应用程序推荐的示意图;
图10为本申请实施例提供的一种商品推荐的示意图;
图11为本申请实施例提供的一种歌曲推荐的示意图;
图12为本申请实施例提供的一种推荐装置的结构图;
图13为本申请实施例提供的一种推荐模型训练装置的结构图;
图14为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参阅图1,图1为本申请实施例提供的一种人工智能主体框架示意图。该主体框架描述了人工智能系统总体工作流程,适用于通用的人工智能领域需求。
下面从“智能信息链”(水平轴)和“IT价值链”(垂直轴)两个维度对上述人工智能主题框架进行阐述。
“智能信息链”反映从数据的获取到处理的一列过程。举例来说,可以是智能信息感知、智能信息表示与形成、智能推理、智能决策、智能执行与输出的一般过程。在这个过程中,数据经历了“数据—信息—知识—智慧”的凝练过程。
“IT价值链”从人智能的底层基础设施、信息(提供和处理技术实现)到系统的产业生态过程,反映人工智能为信息技术产业带来的价值。
(1)基础设施:
基础设施为人工智能系统提供计算能力支持,实现与外部世界的沟通,并通过基础平台实现支撑。通过传感器与外部沟通;计算能力由智能芯片提供,比如,智能芯片可以为中央处理器(central processing unit,CPU)、神经网络处理器(Neural-networkProcessing Unit,NPU)、图形处理器(英语:graphics processing unit,缩写:GPU)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等硬件加速芯片;基础平台包括分布式计算框架及网络等相关的平台保障和支持,可以包括云存储和计算、互联互通网络等。举例来说,传感器和外部沟通获取数据,这些数据提供给基础平台提供的分布式计算系统中的智能芯片进行计算。
(2)数据:
基础设施的上一层的数据用于表示人工智能领域的数据来源。数据涉及到图形、图像、语音、文本,还涉及到传统设备的物联网数据,包括已有系统的业务数据以及力、位移、液位、温度、湿度等感知数据。
(3)数据处理:
数据处理通常包括数据训练,机器学习,深度学习,搜索,推理,决策等方式。
其中,机器学习和深度学习可以对数据进行符号化和形式化的智能信息建模、抽取、预处理、训练等。
推理是指在计算机或智能系统中,模拟人类的智能推理方式,依据推理控制策略,利用形式化的信息进行机器思维和求解问题的过程,典型的功能是搜索、匹配以及预测。
决策是指智能信息经过推理后进行决策的过程,通常提供分类、排序、预测等功能。
(4)通用能力:
对数据经过上面提到的数据处理后,进一步基于数据处理的结果可以形成一些通用的能力,比如可以是算法或者一个通用系统,例如,翻译,文本的分析,用户行为预测,计算机视觉的处理,语音识别,图像的识别等等。
(5)智能产品及行业应用:
智能产品及行业应用指人工智能系统在各领域的产品和应用,是对人工智能整体解决方案的封装,将智能信息决策产品化、实现落地应用,其应用领域主要包括:智能制造、智能交通、智能家居、智能医疗、智能安防、自动驾驶,智能终端等。
参阅图2,图2为本申请实施例提供的一种系统架构200的示意图。数据采集设备260用于采集包括用户特征域数据、物品特征域数据以及标签数据的多域离散数据,即训练样本,并将训练样本存入数据库230,训练设备220基于数据库230中维护的训练样本生成模型/规则201。下面将更详细地描述训练设备220如何基于训练样本得到模型/规则201,模型/规则201能够对待预测数据进行处理,得到输出值,即目标用户对目标物品进行操作的概率,以便根据输出值确定是否向目标用户推荐目标物品。
训练设备220得到的模型/规则可以应用不同的系统或设备中。在附图2中,执行设备210配置有I/O接口212,与外部设备进行数据交互,“用户”可以通过客户设备240向I/O接口212输入数据,比如,可以通过客户设备240向I/O接口212输入待预测数据,其中,待预测数据中包括用户特征域数据和物品特征域数据,“用户”向执行设备210输入待预测数据的目的是获取输出值,以得到目标用户对目标物品进行操作的概率。
执行设备210可以调用数据存储系统250中存储的数据、代码等,也可以将数据、指令等存入数据存储系统250中。其中,数据存储系统250中存储有大量的参考样本,参考样本可以是数据库230中维护的训练样本,即数据库230可以将数据迁移到数据存储系统250;
关联功能模块213对待预测数据进行分析,从数据存储系统250中维护的参考样本中查询出多个目标参考样本;
计算模块211使用模型/规则201对关联功能模块213查询出的多个目标参考样本以及待预测数据进行处理。具体的,计算模块211调用模型/规则201对多个目标参考样本进行向量化后融合,以及对待预测数据进行向量化处理,得到待预测数据的目标特征信息,并根据目标特征信息得到输出值;
最后,计算模块211通过I/O接口212将输出值返回给客户设备240,从而使客户设备240获取到目标用户对目标物品进行操作的概率。
更深层地,训练设备220可以针对不同的目的,基于不同的数据生成相应的模型/规则201,以给用户提供更佳的结果。
在图2中所示的情况下,用户可以手动指定输入执行设备210中的数据,例如,在I/O接口212提供的界面中操作。另一种情况下,客户设备240可以自动地向I/O接口212输入数据并获得结果,如果客户设备240自动输入数据需要获得用户的授权,用户可以在客户设备240中设置相应权限。用户可以在客户设备240查看执行设备210输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式。客户设备240也可以作为数据采集端将采集到数据存入数据库230。
值得注意的是,图2仅是本发明实施例提供的一种系统架构的示意图,图2中所示设备、器件、模块等之间的位置关系不构成任何限制,例如,在图2中,数据存储系统250相对执行设备210是外部存储器,在其它情况下,也可以将数据存储系统250置于执行设备210中。
参阅图3,图3是本申请实施例提供的一种芯片硬件结构图。神经网络处理器(Neural-network Processing Unit,NPU)30作为协处理器挂载到主中央处理器(CentralProcessing Unit,CPU)上,由主CPU分配任务。NPU的核心部分为运算电路303,控制器304控制运算电路303提取存储器(权重存储器302或输入存储器301)中的数据并进行运算。
在一些实现中,运算电路303内部包括多个处理单元(Process Engine,PE)。
在一些实现中,运算电路303是二维脉动阵列。运算电路303还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。
在一些实现中,运算电路303是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路303从权重存储器302中取权重矩阵B,并缓存在运算电路303中每一个PE上。运算电路303从输入存储器301中取输入矩阵A与权重矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)308中。
向量计算单元307可以对运算电路303的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元307可以用于神经网络中非卷积/非(Fully Connected Layers,FC)层的网络计算,如池化(Pooling),批归一化(BatchNormalization),局部响应归一化(Local Response Normalization)等。
在一些实现中,向量计算单元307将经处理的向量存储到统一缓存器306。例如,向量计算单元307可以将非线性函数应用到运算电路303的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元307生成归一化的值、合并值,或二者均有。在一些实现中,处理过的向量能够用作到运算电路303的激活输入,例如用于在神经网络中的后续层中的使用。
示例性的,对于本申请来说,运算电路303从输入存储器301中获取待预测数据,从统一存储器306中获取目标参考样本;然后,运算电路303根据待预测数据以及对目标参考样本获取待预测数据的目标特征信息,并根据目标特征信息得到输出值,即目标用户对目标物品进行操作的概率。
统一存储器306用于存放输入数据(比如,待预测数据)以及输出数据(比如,输出值)。
存储单元访问控制器(Direct Memory Access Controller,DMAC)305将外部存储器中的输入数据搬运到输入存储器301和/或统一存储器306、将外部存储器中的权重数据存入权重存储器302,以及将统一存储器306中的数据存入外部存储器。
总线接口单元(Bus Interface Unit,BIU)310,用于通过总线实现主CPU、DMAC和取指存储器309之间进行交互。
取指存储器(instruction fetch buffer)309,用于存储控制器304使用的指令;
控制器304用于调用取指存储器309中缓存的指令,实现控制运算电路303的工作过程。
一般地,统一存储器306,输入存储器301,权重存储器302以及取指存储器309均为片上(On-Chip)存储器,外部存储器为NPU外部的存储器,外部存储器可以为双倍数据率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)、高带宽存储器(High Bandwidth Memory,HBM)或其他可读可写的存储器。
为了便于理解本申请,下面介绍与本申请相关的概念。
表格式数据(Tabular Data),又称为多域离散数据(Multi-Field CategoricalData),如表1所示,表格式数据中的每行为一个数据点(又称作一个样本),每列代表一个特征(又称作一个域,也可称作特征域),则每个样本包含有多个特征域;并且,样本在每个特征域下的取值称为特征域数据,也可称为域值。比如,表1中的LA、NYC、LA、London分别为样本1、样本2、样本3以及样本4在城市这个特征域下的域值。
表1:
样本 | 用户ID | 城市 | 身份 | 物品ID | 种类 | 商标 |
样本1 | U1 | LA | Student | L1 | T-shirt | B1 |
样本2 | U2 | NYC | Student | L1 | T-shirt | B1 |
样本3 | U1 | LA | Student | L2 | cell phone | B2 |
样本4 | U3 | London | manager | L3 | cell phone | B3 |
当表格式数据用于预测用户行为时,则每个样本的特征域包括用户特征域和物品特征域,且在用户特征域下的域值称为用户特征域数据,在物品特征域下的域值称为物品特征域数据。一般来说,用户特征域数据包括用户的属性信息和用户的行为序列(可选的),其中,用户的属性信息包括用户的标识(ID)、居住地、身份、性别、年龄,等其他基本信息,物品特征域数据包括物品的ID、种类、商标、尺寸、颜色,等其他基本信息;用户的行为序列包括用户的历史行为,比如,用户过去点击、浏览、购买过的物品,等等。
参阅图4,图4为本申请实施例提供的一种推荐方法的流程示意图。该方法包括以下步骤内容:
401:获取待预测数据。
待预测数据为多域离散数据,且待预测数据包含有用户特征域数据和物品特征域数据。
可选的,待预测数据的用户特征域数据用于指示目标用户特征。示例性的,该用户特征域数据包括目标用户的属性信息,比如,目标用户的ID、年龄、性别、居住地、户籍地,等其他基本信息;
可选的,待预测数据的物品特征域数据用于指示目标物品特征。其中,目标物品可以为商品、应用程序、歌曲、网页,等与用户相关的物品。对于不同的目标物品,目标物品特征域数据可以有不同的表现。比如,目标物品为应用程序,则目标物品特征域数据包括应用程序的类型、安装大小、访问热度、安装次数,等等;再如,目标物品为歌曲,则目标物品特征域数据包括歌曲的风格、节奏、时长、播放次数、播放热度,等等;又如,目标物品为商品,目标物品特征域数据包括商品的颜色、尺寸、价格、商标、生产厂家、评价,等等。
可选的,待预测数据的用户特征域数据中还可以包含目标用户的行为序列,比如,目标用户的行为序列包括目标用户过去点击、浏览、购买过的物品,等等。
402:根据待预测数据和多个参考样本的相似度从多个参考样本中获取多个目标参考样本。
示例性的,获取待预测数据和多个参考样本中每个参考样本之间的相似度,根据待预测数据和每个参考样本之间的相似度,从多个参考样本中获取出多个目标参考样本。
其中,每个参考样本也为多域离散数据,每个参考样本也包括用户特征域数据和物品特征域数据。其中,每个参考样本的用户特征域数据用于指示参考用户特征,物品特征域数据用于指示参考物品特征。与待预测数据类似的,每个参考样本的用户特征域数据包含参考用户的属性信息,物品特征域数据包含参考物品的属性信息,比如,颜色、形状、价格,等其他信息,不再叙述。
其中,每个目标参考样本和待预测数据具有部分相同的用户特征域数据和/或物品特征域数据。应说明,为了确保目标参考样本对待预测数据真正的具有参考作用,需要使每个目标参考样本和待预测数据具有部分相同的用户特征域数据和物品特征域数据。举例来说,如果目标参考样本和待预测数据只是具有部分相同的用户特征域数据,比如,都是男性,这种目标参考样本对待预测数据的行为预测并不具有参考价值;又或者,目标参考样本和待预测数据只是具有部分相同的物品特征域数据,比如,购买的物品都是黑色,这种目标参考样本对待预测数据的行为预测也是不具有参考价值。因此,在实际应用中,所获得的目标参考样本和待预测数据相比,需要同时具有部分相同的用户特征域数据和物品特征域数据。
一般来说,每个参考样本包含的用户特征域数据和待预测数据包含的用户特征域数据不完全相同,而每个参考样本包含的物品特征域数据与待预测数据包含的物品域特征数据可以完全相同。
应说明,多个参考样本可以按照表1示出的方式预先存储好,形成表格式数据,也可以自由存储,只要这些参考样本的多个特征域和待预测数据的多个特征域相同即在本申请的保护范围内,不限定对多个参考样本的存储方式。
示例性的,该多个参考样本可以为样本库中的多个原始样本,也可以是从多个原始样本中选出的样本,其中,每个原始样本也为多域离散数据,与待预测数据类似的,每个原始样本也包括用户特征域数据和物品特征域数据,不再叙述。
可选的,若多个参考样本是从多个原始样本中选出的,则为了从多个原始样本中快速获取到多个参考样本,可对多个原始样本进行倒排索引,得到倒排列表,基于倒排列表获取多个参考样本。
示例性的,将每个原始样本的每个用户特征域数据和每个物品特征域数据均作为元素(item),以及将每个原始样本作为文档(document),对多个原始样本进行倒排索引,得到倒排列表。由于本申请只需要从多个原始样本中获取多个参考样本,不关注元素在文档中出现的次数和其他信息,因此本申请中的倒排列表可以只包含有元素和文档的对应关系。
因此,通过倒排索引可以将表1示出的多个原始样本转化为表2所示的倒排列表:
表2:
元素 | 文档 |
U1 | 样本1、样本3 |
U2 | 样本2 |
U3 | 样本4 |
LA | 样本1、样本3 |
NYC | 样本2 |
London | 样本4 |
Student | 样本1、样本2、样本3 |
L1 | 样本1、样本2 |
L2 | 样本3 |
L3 | 样本4 |
T-shirt | 样本1、样本2 |
cell phone | 样本3、样本4 |
B1 | 样本1、样本2 |
B2 | 样本3 |
B3 | 样本4 |
然后,将待预测数据的每个用户特征域数据和每个物品特征域数据均作为元素,从倒排列表中索引出与待预测数据对应的多个参考样本。即从倒排列表中索引出与待预测数据的每个用户特征域数据对应的参考样本,以及与每个物品特征域对应的参考样本;然后将索引出的所有参考样本进行合并与去重,得到多个参考样本。因此,每个参考样本与待预测数据相比,至少在一个相同特征域下的域数据相同,比如,在同一个用户特征域下的域数据相同,比如,居住在同一个城市。
举例来说,待预测数据为[U4、LA、Student、L2、cell phone、B3],将U4、LA、Student、L2、cell phone、B3均作为查询词,从倒排列表中索引出与LA对应的参考样本[样本1、样本3],与Student对应的参考样本[样本1、样本2、样本3],与L2对应的参考样本为[样本3],与cell phone对应的参考样本[样本3、样本4],与B3对应的参考样本[样本4]。然后,对所有的参考样本进行合并与去重之后,得到多个参考样本[样本1、样本2、样本3、样本4]。
可以看出,通过倒排的方式先对原始样本进行存储,从而可以先从多个原始样本中索引出一部分原始样本作为多个参考样本,这样后续只需要计算待预测数据和多个参考样本的相似度,而不用计算和多个原始样本的相似度,减轻计算压力,从而可以快速获取出多个目标参考样本。
进一步的,得到多个参考样本之后,可获取待预测数据与每个参考样本之间的相似度。可选的,通过BM25算法获取待预测数据与每个参考样本之间的相似度,不再叙述。
示例性的,将相似度大于阈值的参考样本作为目标参考样本,得到多个目标参考样本,或者,按照相似度从高到低的顺序从多个参考样本中选取预设数量的参考样本,作为多个目标参考样本。
403:根据多个目标参考样本与待预测数据获取待预测数据的目标特征信息。
可选的,目标特征信息包括第一目标特征向量组和第二目标特征向量组,其中,第一目标特征向量组为向量化后的待预测数据,第二目标特征向量组为对多个目标参考样本进行向量化后融合得到。
示例性的,对待预测数据进行向量化,得到第一目标特征向量组,其中,第一目标特征向量组包括多个第一目标特征向量。
可选的,对待预测数据的每个用户特征域数据和每个物品特征域数据均进行编码,得到待预测数据的特征向量。对待预测数据的每个用户特征域数据和每个物品特征域数据均进行编码可以理解为将待预测样本待预测数据的每个用户特征域数据和每个物品特征域数据均进行数字化处理,得到待预测数据的特征向量;然后,对待预测数据的特征向量进行映射处理,得到多个目标第一特征向量,其中,每个第一目标特征向量用于表示待预测数据的一个特征域数据,即将待预测数据中每个特征域数据的编码结果进行映射,得到与该特征域数据对应的第一目标特征向量。
应说明,若待预测数据中包含有目标用户的行为序列,则将目标用户的行为序列进行编码,并将编码结果进行映射,得到映射结果;然后,将用户行为序列对应的映射结果进行融合,得到一个与目标用户的行为序列对应的第一目标特征向量,该第一目标特征向量用于表示目标用户的行为序列。
可选的,获取多个第一目标特征向量可以通过目标推荐模型实现,后面详细描述目标推荐模型的训练过程,在此不做过多描述。
具体的,目标推荐模型包括特征信息提取网络和深度神经网络(Deep NeuralNetworks,DNN),其中,该DNN可以为多层感知器(Multi-LayerPerceptron,MLP),并且本申请中以DNN为MLP为例进行说明,不再赘述。其中,该特征信息提取网络包括编码层和映射层(embedding layer)。将该待预测数据输入到编码层对待预测数据的每个用户特征域数据和每个物品特征域数据均进行编码,得到待预测数据的特征向量(c1,c2,c3,...,cn),其中,c1,c2,c3,...,cn分别表示待预测数据的第1个,第2个,第3个,...,第n个特征域数据的编码结果;然后,将特征向量(c1,c2,c3,...,cn)输入到映射层进行映射,得到多个第一目标特征向量(e1,e2,e3,...,en),即将待预测数据的第1个,第2个,第3个,...,第n个特征域数据的编码结果分别进行映射,得到多个第一目标特征向量(e1,e2,e3,...,en)。
针对参考样本来说,可以携带标签数据也可以不携带标签数据。下面分别叙述参考样本携带有标签和不携带标签数据获取第二目标特征向量组的过程。
针对不携带标签数据的情况:
示例性的,对每个目标参考样本进行向量化,得到每个目标参考样本的多个第一特征向量。可选的,对每个目标参考样本的每个用户特征域数据和每个物品特征域数据均进行编码,得到每个目标参考样本的特征向量;对每个目标参考样本的特征向量进行映射处理,得到每个目标参考样本的多个第一特征向量,其中,每个第一特征向量用于表示该目标参考样本的一个特征域数据。
然后,对多个目标参考样本的第一特征向量进行融合,得到第二目标特征向量组,其中,第二目标特征向量组包括多个第二目标特征向量。
示例性的,根据待预测数据的多个第一目标特征向量以及每个目标参考样本的多个第一特征向量,确定每个目标参考样本对应的权重;根据多个目标参考样本的多个权重,对多个目标参考样本在同一个特征域下的第一特征向量进行融合,得到多个第二目标特征向量。
具体的,将待预测数据的多个第一目标特征向量进行拼接,得到待预测数据的第二特征向量;将每个目标参考样本的多个第一特征向量进行拼接,得到每个目标参考样本的第二特征向量;获取待预测数据的第二特征向量与每个目标参考样本的第二特征向量之间的相似度,得到与多个目标参考样本对应的多个相似度,其中,相似度可以为欧氏距离、余弦相似度,等等;然后,对多个目标参考样本的多个相似度进行归一化处理,并将每个目标参考样本对应的归一化结果作为每个目标参考样本的权重。因此,目标参考样本中的第i个目标参考样本的权重可以通过公式(1)表示:
其中,ai为第i个目标参考样本的权重,q为待预测数据的第二特征向量,ri为第i个目标参考样本的第二特征向量,similarity(q,ei)为第i个目标参考样本的第二特征向量与待预测数据的第二特征向量之间的相似度,k为多个目标参考样本的数量。
可选的,根据每个目标参考样本的权重,对多个目标参考样本在任意一个相同特征域下的第一特征向量(即每个目标参考样本在该特征域下对应一个第一特征向量)进行融合,即加权处理,得到该特征域下的第二目标特征向量;然后,对多个目标参考样本中在每个相同域下的第一特征向量分别进行融合,得到多个第二目标特征向量,所以多个第二目标特征向量的数量与目标参考样本的特征域的数量相同。示例性的,多个第二目标特征向量中的第j个第二目标特征向量可以通过公式(2)表示:
其中,Rj为第j个第二目标特征向量,eij为第i个目标参考样本的第j个第一特征向量,j的取值为1到n的整数,n为每个目标参考样本的多个第一特征向量的数量,即每个目标参考样本的特征域的数量,也是多个第二目标特征向量的数量。
可选的,由于已经将每个目标参考样本的多个第一特征向量进行拼接,得到了每个目标参考样本的第二特征向量。因此,在得到每个目标参考样本的第二特征向量之后,可以使用每个目标参考样本的权重对多个目标参考样本的多个第二特征向量直接进行融合,即加权处理,得到一个融合后的特征向量;然后,按照对每个目标参考样本的多个第一特征向量进行拼接的反顺序,对融合后的特征向量进行拆分,得到多个第二目标特征向量。
应理解,在对待预测数据的多个第一特征向量以及每个目标参考样本的第一特征向量进行拼接时,并不限定对多个第一特征向量进行拼接的顺序,但是需要保证对待预测数据的多个第一目标特征向量的拼接顺序和对每个目标参考样本的多个第一特征向量的拼接顺序是一致的。
可选的,获取多个第二目标特征向量也可以通过上述的目标推荐模型实现。
示例性的,将每个目标参考样本的用户特征域数据和物品特征域数据输入到编码层对每个目标参考样本进行编码,得到每个目标参考样本的特征向量,比如,第i个目标参考样本的特征向量为(ri1,ri2,ri3,...,rin),i的取值为1到k,k为多个目标参考样本的数量;然后,将每个目标参考样本的特征向量输入到嵌入层对每个目标参考向量的特征向量进行映射处理,得到每个目标参考样本的多个第一特征向量,比如,第i个目标参考样本的多个第一特征向量为(ei1,ei2,ei3,...,ein);可选的,特征信息提取网络还包括注意力层,将每个目标参考样本的多个第一特征向量以及待预测数据的多个第一目标特征向量(e1,e2,e3,...,en)输入到注意力层,将(e1,e2,e3,...,en)进行拼接得到待预测数据的第二特征向量,即将每个目标参考样本的第一特征向量进行拼接,得到每个目标参考样本的第二特征向量,比如,第i个目标参考样本的第二特征向量为然后,基于待预测数据的第二特征向量以及每个目标参考样本的第二特征向量,确定每个目标参考样本的权重;最后,基于每个目标参考样本的权重对多个目标参考样本的第一特征向量进行融合,得到多个第二目标特征向量,即(a1*e11+a2*e21+...+ak*ek1,a1*e12+a2*e22+...+ak*ek2,...,a1*e1n+a2*e2n+...+ak*ekn),其中,该多个第二目标特征向量还可以简化表示为:(en+1,en+2,en+3,...,e2n)。
针对携带标签数据的情况:
示例性的,每个参考样本还携带有标签数据,该标签数据用于表征参考样本中的参考用户对参考物品的实际操作情况,比如,参考物品为应用程序时,该标签用于表征参考用户是否点击了该应用程序。因此,在对每个目标参考样本进行向量化,得到每个目标参考样本的多个第一特征向量过程中,除了将每个目标参考样本的每个用户特征域数据和每个物品特征域数据进行向量化之外,还会同步将每个目标参考样本的标签数据进行向量化,得到每个目标参考样本的多个第一特征向量,因此与上述不携带标签数据的情况相比,此时向量化得到的每个目标参考样本的多个第一目标特征向量中还包含用于指示标签数据的第一目标特征向量。具体的,将每个目标参考样本的每个用户特征域数据、每个物品特征域数据以及标签数据进行编码,得到每个目标参考样本的特征向量。比如,第i个目标参考样本的特征向量为(ri1,ri2,ri3,...,rin,ri(n+1)),其中,ri(n+1)为第i目标参考样本的标签数据的编码结果;然后,对每个目标参考样本的特征向量进行映射,得到每个目标参考样本的多个第一特征向量。比如,第i个目标参考样本的多个特征向量为(ei1,ei2,ei3,...,ein,ei(n+1)),其中,ei(n+1)用于指示第i个目标参考样本的标签数据。
进一步的,与上述融合类似,根据上述计算出的每个目标参考样本的权重,对多个目标参考样本在同一个特征域(包括用户特征域、物品特征域以及标签域)下的第一特征向量进行融合,得到第二目标特征向量组,即与上述不携带标签数据的情况相比,此时融合得到的第二特征向量组中的多个第二特征向量中还包含用于指示融合后的标签数据的第二目标特征向量。举例来说,第二目标特征向量组为(en+1,en+2,en+3,...,e2n,e2n+1),其中,e2n+1用于指示多个目标参考样本的融合后的标签数据。
可选的,针对上述不携带标签数据或携带标签数据的情况,在获取到第一目标特征向量组和第二目标特征向量组之后,可以将第一目标特征向量组和第二目标特征向量组进行拼接,得到目标特征信息,则目标特征信息为(e1,e2,e3...,en,en+1,en+2,en+3,...,e2n)或者(e1,e2,e3...,en,en+1,en+2,en+3,...,e2n,e2n+1);可选的,也可以不对第一目标特征向量组和第二目标特征向量组进行拼接。比如,可以将第一目标特征向量组和第二目标特征向量组均作为输入数据进行后面的输出值的预测,得到输出值。
在本申请的一个实施方式中,在得到第一目标特征向量组和第二目标特征向量组之后,除了第一目标特征向量组和第二目标特征向量组进行拼接之外,还可以将目标特征向量进行交互,以使获得高阶的特征信息。示例性的,如图5所示,可以先将多个第一目标特征向量和多个第二目标特征向量进行拼接(concat),得到第一向量组;然后,对第一向量组中的目标特征向量进行两两交互,得到第三目标特征向量组;然后,将第一向量组与第三目标特征向量组进行拼接,得到目标特征信息。同样,也可以不对第一向量组与第三目标特征向量组进行拼接,将两者均作为输入数据即可,不再叙述。
示例性的,多个第三目标特征向量可以通过公式(3)表示:
eij=inter(ei,ej) 公式(3);
其中,i的取值为1到2n,j的取值为2到2n,且j的取值大于i,2n为第一向量组中的目标特征向量的数量,inter为向量之间的交互操作。
其中,上述向量两两交互主要是将两个向量融合为一个向量,且融合后的一个向量所表示的特征信息为两个向量表示的特征信息所融合后的特征信息。可选的,向量两两交互可以通过向量点乘实现、核积实现以及网络层实现。本申请不限定两个向量的交互方式,只要能融合后得到一个向量能够表示两个向量所表示的特征信息即可。
应理解,上述只给出了将特征向量进行两两交互的情况,在实际应用中,还可以将三个特征向量或者更多数量的特征向量进行交互。另外,上述在进行向量交互的过程中,对第一向量组中的所有目标特征向量进行了两两交互,然而在实际应用中,也可以从第一向量组中选取部分目标特征向量进行交互,比如,可以只将目标特征信息中的部分多个第一目标特征向量和部分多个目标第二特征向量进行交互,得到多个第三目标特征向量。因此,本申请并不限定进行交互的向量的来源,以及进行交互的向量的数量。
404:以目标特征信息为输入通过深度神经网络DNN获取输出值。
示例性的,将目标特征信息作为输入数据输入到深度神经网络DNN,得到输出值。
示例性的,一般来说输出值是一个概率值,该概率值表示目标用户对目标物品进行操作的概率。应说明,对于不同的目标物品,目标用户对目标物品进行操作的概率有不同的理解。比如,当目标物品为应用程序时,目标用户对目标物品进行操作的概率可以理解为目标用户对应用程序的点击概率;再如,当目标物品为歌曲时,目标用户对目标物品进行操作的概率可以理解为目标用户喜欢该歌曲的概率;又如,当目标物品为商品时,目标用户对目标物品进行操作的概率可以理解为目标用户购买该商品的概率。
实际应用中,获取了概率值之后,可以对概率值进行后处理,得到输出值,比如,当概率值大于概率阈值时,以1作为输出值,当概率值小于或等于阈值时,则以0作为输出值,其中,0表示目标用户不会操作目标物品,1表示目标用户会操作目标物品。
405:根据输出值确定是否向目标用户推荐目标物品。
可选的,当输出值是以0或1的二值化数据表示时,则当输出值为1时,确定向目标用户推荐目标物品,当输出值为0时,确定不向目标用户推荐目标物品。可选的,当输出值是以概率的形式表示时,则当概率大于概率阈值时,确定向目标用户推荐目标物品,当概率小于或等于概率阈值时,确定不向目标用户推荐目标物品。
应说明,当本申请的推荐方法应用到多物品的推荐场景时,则需要计算目标用户对每个候选物品的操作概率;然后,对多个候选物品的操作概率进行排序,将排名靠前的候选物品推荐给目标用户。例如,进行歌曲推荐时,需要计算目标用户对各个候选歌曲的喜欢概率,然后将喜欢概率靠前的歌曲推荐给目标用户。
可以看出,在本申请实施方式中,获取的目标特征信息中除了包含待预测数据本身的特征信息之外,还包含有多个目标参考样本向量化后融合得到的特征信息。由于目标参考样本和待预测数据具有部分相同的用户特征域数据和/或物品特征域数据,因此目标参考样本中的用户行为可以为目标用户的行为的预测提供参考和经验,从而在使用这样的目标特征信息进行输出值的预测时,可以使预测出的输出值比较精确,基于这个输出值进行物品推荐,提高了推荐的精度。
下面结合具体的模型结构,以及以参考样本携带有标签数据,且对目标特征向量进行交互的方式介绍获取输出值的过程。
如图6所示,模型包括特征信息提取网络以及MLP,其中,特征信息提取网络包括编码层、嵌入层、注意力层和交互层。其中,交互层是可选的,当需要对目标特征向量进行交互时,需要设计交互层;若不对目标特征向量进行交互,则可以不设计交互层。
首先,将待预测数据输入到搜索引擎中,并从多个参考样本中获取k个目标参考样本,即S1、S2、...、Sk。然后,将待预测数据的用户特征域数据和物品特征域数据输入到编码层进行编码,得到待预测数据的特征向量,即(c1,c2,c3,...,cn);以及将每个目标参考样本的用户特征域数据、物品特征域数据以及标签数据输入到编码层进行编码,得到多个目标参考样本对应的多个特征向量,即(r11,r12,r13,...,r1n,r1n+1),(r21,r22,r23,...,r2n,r2n+1),...,(rk1,rk2,rk3,...,rkn,rkn+1)。然后,将(c1,c2,c3,...,cn)以及(r11,r12,r13,...,r1n,r1n+1),(r21,r22,r23,...,r2n,r2n+1),...,(rk1,rk2,rk3,...,rkn,rkn+1)分别输入到嵌入层,对(c1,c2,c3,...,cn)以及(r11,r12,r13,...,r1n,r1n+1),(r21,r22,r23,...,r2n,r2n+1),...,(rk1,rk2,rk3,...,rkn,rkn+1)进行映射处理,分别得到待预测数据的多个第一目标特征向量(e1,e2,e3...,en),以及每个目标参考样本的多个第一特征向量,即(e11,e12,e13...,e1n,e1n+1),(e21,e22,e23...,e2n,e2n+1),...,(ek1,ek2,ek3,...,ekn,ekn+1);然后,将(e1,e2,e3,...,en)、(e11,e12,e13...,e1n,e1n+1),(e21,e22,e23...,e2n,e2n+1),...,(ek1,ek2,ek3,...,ekn,ekn+1)均输入到注意力层,对(e11,e12,e13...,e1n,e1n+1),(e21,e22,e23...,e2n,e2n+1),...,(ek1,ek2,ek3,...,ekn,ekn+1)进行融合,得到多个目标第二特征向量(en+1,en+2,en+3,...,e2n,e2n+1);然后,分别将多个第一目标特征向量(e1,e2,e3,...,en)、多个第二目标特征向量(en+1,en+2,en+3,...,e2n,e2n+1)进行拼接(Concat),得到第一向量组,即(e1,e2,e3...,en,en+1,en+2,en+3,...,e2n,e2n+1);然后,对第一向量组中的目标特征向量进行两两交互,得到第三目标特征向量,即上述的inter(ei,ej);将第一向量组中的目标特征向量与第三目标特征向量进行拼接,得到目标特征信息,即(e1,e2,e3...,en,en+1,en+2,en+3...,e2n,e2n+1,inter(ei,ej));
最后,将目标特征信息输入到多层感知器MLP,得到输出值。
参阅图7,图7为本申请实施例提供的一种推荐模型训练方法的流程示意图。该推荐模型包括特征信息提取网络和多层感知器MLP。该方法包括以下步骤内容:
701:获取多个训练样本。
其中,每个训练样本为多域离散数据,与上述参考样本类似,每个训练样本包括用户特征域数据和用户特征域数据。应理解,每个训练样本还携带有标签数据,每个训练样本的标签数据用于表示每个训练样本中的用户对该训练样本中的物品的实际操作情况。比如,物品为应用程序时,实际操作情况为用户是否点击了该应用程序。
应说明,上述的多个参考样本可以是该多个训练样本,也可以是该多个训练样本中的部分训练样本,比如,从多个训练样本中筛选出部分数据完整度较高的训练样本作为参考样本。
702:根据第一训练样本和多个第二训练样本的相似度从多个第二训练样本中获取多个目标训练样本。
其中,第一训练样本为多个训练样本中的任意一个,第一训练样本的用户特征域数据用于指示第一参考用户特征,第一训练样本的物品特征域数据用于指示第一参考物品特征。其中,多个第二训练样本为多个训练样本中除第一训练样本之外的部分或全部。
第一训练样本和每个目标训练样本具有部分相同的用户特征域数据和/或物品特征域数据。同样的,在实际应用中,为了确保每个目标训练样本和第一训练样本的相似性,一般来说,每个目标参考样本和第一训练样本具有部分相同的用户特征域数据和物品特征域数据。
示例性的,根据第一训练样本与每个第二训练样本之间的相似度从多个第二训练样本中获取多个目标训练样本。比如,可以将相似度大于阈值的第二训练样本作为目标训练样本,得到多个目标训练样本,或者,按照相似度从高到低的顺序从多个第二训练样本中选取预设数量的第二训练样本,作为多个目标训练样本。
应理解,可以直接将多个训练样本中除第一训练样本之外的全部训练样本作为多个第二训练样本,然后获取第一训练样本与多个第二训练样本之间的相似度;也可以按照上述倒排索引的方式,从除第一训练样本之外的训练样本中选出部分作为多个第二训练样本。
示例性的,按照上述倒排索引的方式,将每个训练样本的每个用户特征域数据和每个物品特征域数据均作为元素,将每个训练样本作为文档,对多个训练样本进行倒排索引,得到倒排列表;然后,将第一训练样本的每个用户特征域数据和每个物品特征域数据均作为查询词,从倒排索引中获取出多个第二训练样本,因此,这些第二训练样本与第一训练样本相比,至少在一个相同的特征域下的域数据相同。所以,某个训练样本与第一训练样本相比,在任何相同的特征域下的域数据都不相同时,则不将这个训练样本作为第二训练样本。所以,上述的第二训练样本可能是多个训练样本中除第一训练样本之外的部分。
703:将第一训练样本和多个目标训练样本输入到特征信息提取网络,得到第一训练样本的目标特征信息。
示例性的,与上述图4示出的推荐方法类似,将第一训练样本和每个目标训练样本均作为输入数据输入到特征信息提取网络,得到第一训练样本的目标特征信息.
可选的,目标特征信息包括第四目标特征向量组(包括多个第四目标特征向量)和第五目标特征向量组(包括多个第五目标特征向量),其中,获取多个第四目标特征向量与上述获取多个第一目标特征向量的方式类似,即对第一训练样本的特征向量进行映射,得到多个第四目标特征向量,其中,第一训练样本的特征向量是对第一训练样本的每个用户特征域数据和每个物品特征域数据均进行编码得到,不再详细描述;可选的,获取多个第五目标特征向量与上述获取多个第二目标特征向量的方式类似,即对多个目标训练样本在同一个特征域下的多个第一特征向量进行融合得到,其中,每个目标训练样本对应的多个第一特征向量是对每个目标训练样本的特征向量进行映射得到,每个目标训练样本的特征向量为对每个目标训练样本的每个用户特征域数据和每个物品特征域数据均进行编码得到,也不再详细描述;
与上述获取第二特征向量组的方式类似,在获取第五特征向量组时,可以不对目标参考样本的标签数据进行向量化以及融合,也可以选择对目标参考样本的标签数据进行向量化以及融合。
可选的,目标特征信息还可以包括第六目标特征向量组(包括多个第六目标特征向量),其中,多个第六目标特征向量的获取方式与上述多个第三目标特征向量的获取方式类似,即将多个第四目标特征向量和多个第五目标特征向量进行拼接,得到第二向量组;然后,对第二向量组中的目标特征向量进行两两交互,得到多个第六目标特征向量,不再详细描述。
704:将目标特征信息输入到深度神经网络DNN,得到输出值,输出值用于表征第一参考用户对第一参考物品进行操作的概率。
将第一训练样本的目标特征信息输入到推荐模型的多层感知器,得到输出值,即预测出第一参考用户对第一参考物品的操作情况。
705:根据输出值以及第一训练样本的标签数据进行推荐模型的训练,获得目标推荐模型。
示例性的,根据输出值和第一训练样本的标签数据确定损失,即根据预测出的第一参考用户对第一参考物品进行操作的情况和第一参考用户对第一参考物品进行操作的实际情况,确定损失;根据该损失以及梯度下降法调整待训练的推荐模型的模型参数,对推荐练模型进行训练,得到目标推荐模型。
应理解,对推荐模型的训练是使用多个训练样本进行迭代训练,其中,每个训练样本的训练过程与图7示出的使用第一训练样本的训练过程类似,不再叙述;直至推荐模型收敛时,完成对推荐模型的训练,得到目标推荐模型。
因此,基于上述的模型训练方法以及模型的应用过程,本申请的物品推荐流程和现有的物品推荐存在如图8所示的区别。如图8所示,现有的物品推荐过程是先使用训练样本进行模型训练(与现有的有监督训练方法一致),待完成模型训练之后,将待预测数据直接输入到推荐模型中进行用户行为预测,得到输出值,基于输出值确定是否向用户进行物品推荐;而本申请的用户行为预测是先使用训练样本对待推荐模型进行训练(与图7示出的训练方法一致),待完成模型训练之后,将训练样本作为参考样本;当获取到待预测数据时,先从训练样本中获取与待预测数据对应的目标训练样本,然后,将待预测数据和目标训练样本一起输入到目标推荐模型中进行用户行为预测,获得输出值,基于该输出值确定是否向用户进行物品推荐。由于本申请的用户行为预测过程中会融合目标训练样本的特征信息,得到丰富的目标特征信息,提高用户行为预测的精度,提高输出值的精度,从而可以进行精确的物品推荐。
最后结合附图具体介绍一下应用本申请的推荐方法后的几种常见推荐场景。
应用1:针对点击概率的预测。
如图9所示,针对应用程序的推荐,比如,精品应用下的应用程序推荐、精品新游榜单下的应用程序推荐;针对每种类型的应用程序推荐,首先获取多个候选应用程序;然后,基于目标用户的用户特征域数据以及各个候选应用程序的物品特征域数据,构造与各个候选应用程序对应的待预测数据,即将目标用户的用户特征域数据和各个候选应用程序的物品特征域数据拼接为一个待预测数据;然后,基于上述的推荐方法以及待预测数据,预测出目标用户对各个候选应用程序的点击概率;然后,根据各个候选应用的点击概率从高到低的顺序对多个候选应用程序进行排序,并在推荐页面按照点击概率从高到低的顺序展示排序后的多个候选应用程序或者只展示排序靠前的候选应用程序。
由于本申请中在进行点击率预测时,会融合目标参考样本的特征信息,从而使预测出的点击率更加准确,从而向目标用户推荐的应用程序更加精确,进而提高应用程序的下载率。
应用2:针对购买概率的预测。
如图10所示,针对商品的推荐,可基于各个候选商品的物品特征域数据以及目标用户的用户特征域数据,构造与各个候选商品对应的待预测数据,即将目标用户的用户特征域数据和各个候选商品的物品特征域数据拼接为一个待预测数据;基于上述的推荐方法以及待预测数据,预测出目标用户对每个候选商品的购买概率;然后,根据每个候选商品的购买概率从高到低的顺序对多个候选商品进行排序,并在推荐页面按照购买概率从高到低的顺序展示排序后的多个候选商品或者只展示排序靠前的候选商品。
由于本申请中在进行购买概率预测时,会融合目标参考样本的特征信息,从而使预测出的购买概率更加准确,从而向目标用户推荐的商品更加符合用户的需求,提高商品的销量。
应用3:针对歌曲的评分的预测。
如图11所示,针对歌曲推荐,比如,私人FM中的歌曲推荐、每日30首中的歌曲推荐;针对每种类型下的推荐,首先获取多个候选歌曲,根据各个候选歌曲的物品特征域数据以及目标用户的用户特征域数据,构造与每个候选歌曲对应的待预测数据,即将目标用户的用户特征域数据和各个候选歌曲的物品特征域数据拼接为一个待预测数据;基于上述的推荐方法以及待预测数据,预测出每个候选歌曲的评分,每个候选歌曲的评分用于表征目标用户对该候选歌曲的喜爱程度;然后,根据每个候选歌曲的评分从高到低的顺序对多个候选歌曲进行排序,并在推荐页面按照评分从高到低的顺序展示排序后的多个候选歌曲或者只展示评分靠前的候选歌曲。
由于本申请中在对歌曲进行评分预测时,会融合目标参考样本的特征信息,从而使预测出的评分更加准确,从而推荐的歌曲更加符合用户的需求,提高歌曲推荐的准确率。
将本申请的用户行为建模方法与现有的基于特征交互的用户行为建模方法以及基于用户行为序列的用户行为建模方法相比,在CTR预估任务上进行了充分的实验,实验设置如下:
实验设置1:使用以下测试指标评估模型的预测精度的优劣,即:
接受者操作特性曲线下与坐标轴围成的面积(Area Under Curve,AUC)、损失(Logloss,LL)以及相对提升(relative improvement,REI.Impr);其中,对于测试指标AUC来说,取值越大说明模型的效果越好;对于测试指标LL来说,取值越小说明模型效果越好;其中,测试REI.Impr是本申请的模型(RIM)相对于其他模型的预测精度的提升,则对于测试指标REI.Impr来说,取值越大说明RIM的预测精度相对于被比较的模型的精度越高。
实验设置2:获取应用A的数据集、应用B的数据集以及应用C的数据集,分别在应用A的数据集、应用B的数据集以及应用C的数据集上测试基于用户行为预测CTR的模型的AUC和LL,以及测试本申请的模型预测CTR时的AUC和LL;
实验设置3:获取第一数据集和第二数据集,分别在第一数据集和第二数据集上测试基于特征交互预测CTR的模型的AUC和LL,以及测试本申请的模型预测CTR时的AUC和LL。例如,第一数据集可以为avazu,第二数据集可以为criteo。
其中,基于用户行为预测CTR的模型包括:HPMN,MIMN,DIN,DIEN,SIM,UBR;基于特征交互预测CTR的模型包括:LR,GBDT,FM,FFM,AFM,FNN,DeepFM,IPNN,PIN,xDeepFM,FGCNN。
其中,表3和表4为对比结果。
表3:与基于用户行为预测CTR的模型的对比结果:
表4:与基于特征交互预测CTR的模型的对比结果:
经过实验可以看出在预测精度上,本申请的模型在AUC和Logloss两个指标上都取得了最好的实验效果。因此,使用本申请的模型预测用户行为,会使预测结果更加精确,可以获得更加精确的输出值,从而为用户进行更精确的推荐。
参阅图12,图12为本申请实施例提供的一种推荐装置的结构图。推荐装置1200包括获取单元1201和处理单元1202;
获取单元1201,用于获取待预测数据;
处理单元1202,用于获取待预测数据;根据待预测数据和多个参考样本的相似度从多个参考样本中获取多个目标参考样本;每个参考样本和待预测数据均包括用户特征域数据和物品特征域数据,待预测数据的用户特征域数据用于指示目标用户特征,待预测数据的物品特征域数据用于指示目标物品特征,每个目标参考样本和待预测数据具有部分相同的用户特征域数据和/或物品特征域数据;根据多个目标参考样本与待预测数据获取待预测数据的目标特征信息;目标特征信息包括第一目标特征向量组和第二目标特征向量组,第一目标特征向量组为向量化后的待预测数据,第二目标特征向量组为对多个目标参考样本进行向量化后融合得到;以目标特征信息为输入通过深度神经网络DNN获取输出值;根据输出值确定是否向目标用户推荐目标物品。
关于上述获取单元1201和处理单元1202更详细的描述,可参考上述方法实施例中的相关描述,在此不再说明。
参阅图13,图13为本申请实施例提供的一种推荐模型训练装置的结构图。推荐模型包括特征信息提取网络和深度神经网络DNN。推荐模型训练装置1300包括获取单元1301和处理单元1302;
获取单元1301,用于获取多个训练样本,其中,每个训练样本包括用户特征域数据和物品特征域数据;
处理单元1302,用于根据第一训练样本和多个第二训练样本的相似度从多个第二训练样本中获取多个目标训练样本,其中,第一训练样本为多个训练样本中的一个,多个第二训练样本为多个训练样本除第一训练样本之外的部分或全部,第一训练样本的用户特征域数据用于指示第一参考用户特征,第一训练样本的物品特征域数据用于指示第一参考物品特征,第一训练样本和每个目标训练样本具有部分相同的用户特征域数据和/或物品特征域数据;
将第一训练样本和多个目标训练样本输入到特征信息提取网络,得到第一训练样本的目标特征信息,其中,目标特征信息包括第四目标特征向量组和第五目标特征向量组,第四目标特征向量组为通过特征信息提取网络对第一训练样本进行向量化得到,第五目标特征向量组为通过特征信息提取网络对多个目标训练样本进行向量化后融合得到;
将目标特征信息输入到深度神经网络DNN,得到输出值,输出值用于表征第一参考用户对第一参考物品进行操作的概率;
根据输出值以及第一训练样本的标签进行推荐模型的训练,获得目标推荐模型。
关于上述获取单元1301和处理单元1302更详细的描述,可参考上述方法实施例中的相关描述,在此不再说明。
参阅图14,图14为本申请实施例提供的一种电子设备的结构图。电子设备1400可以为上述的推荐装置1200;或者,为推荐装置1200中的芯片或芯片系统;电子设备还可以为上述的推荐模型训练装置1300;或者,为推荐模型训练装置1300中的芯片或芯片系统;
电子设备1400包括存储器1401、处理器1402、通信接口1403以及总线1404。其中,存储器1401、处理器1402、通信接口1403通过总线1404实现彼此之间的通信连接。
存储器1401可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1401可以存储程序,当存储器1401中存储的程序被处理器1402执行时,处理器1402和通信接口1403用于执行本申请实施例的数据流传输方法中的各个步骤。
处理器1402可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的音频特征补偿装置或音频识别装置中的单元所需执行的功能,或者执行本申请方法实施例的数据流传输方法。
处理器1402还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的数据流传输方法中的各个步骤可以通过处理器1402中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1402还可以是通用处理器、数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(Field ProgrammableGate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1401,处理器1402读取存储器1401中的信息,结合其硬件完成本申请实施例的用户设备或头戴设备中包括的单元所需执行的功能,或者执行本申请方法实施例的数据流传输方法中的各个步骤。
通信接口1403可以为收发器一类的收发装置,来实现电子设备1400与其他设备或通信网络之间的通信;通信接口1403也可以为输入-输出接口,来实现电子设备1400与输入-输出设备之间的数据传输,其中,输入-输出设备包括但不限于键盘、鼠标、显示屏、U盘以及硬盘。比如,处理器1402可以通过通信接口1403获取待预测数据。
总线1404可包括在装置电子设备1400各个部件(例如,存储器1401、处理器1402、通信接口1403)之间传送信息的通路。
应注意,尽管图14所示电子设备1400仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,电子设备1400还包括实现正常运行所必须的其他器件。同时,根据具体需要,本领域的技术人员应当理解,电子设备1400还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,电子设备1400也可仅仅包括实现本申请实施例所必须的器件,而不必包括图14中所示的全部器件。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种推荐方法,其特征在于,包括:
获取待预测数据;
根据所述待预测数据和多个参考样本的相似度从所述多个参考样本中获取多个目标参考样本;每个所述参考样本和所述待预测数据均包括用户特征域数据和物品特征域数据,所述待预测数据的所述用户特征域数据用于指示目标用户特征,所述待预测数据的所述物品特征域数据用于指示目标物品特征,每个所述目标参考样本和所述待预测数据具有部分相同的用户特征域数据和/或物品特征域数据;
根据所述多个目标参考样本与所述待预测数据获取所述待预测数据的目标特征信息;所述目标特征信息包括第一目标特征向量组和第二目标特征向量组,所述第一目标特征向量组为向量化后的所述待预测数据,所述第二目标特征向量组为对所述多个目标参考样本进行向量化后融合得到;
以所述目标特征信息为输入通过深度神经网络DNN获取输出值;
根据所述输出值确定是否向所述目标用户推荐所述目标物品。
2.根据权利要求1所述的方法,其特征在于,
所述多个目标参考样本还包括标签数据;
所述第二目标特征向量组为对所述多个目标参考样本进行向量化后融合得到,具体为:
所述第二目标特征向量组为对所述多个目标参考样本的用户特征域数据,物品特征域数据以及标签数据进行向量化后融合得到。
3.根据权利要求1或2所述的方法,其特征在于,
所述目标特征信息还包括第三目标特征向量组,所述第三目标特征向量组为对第一向量组中的目标特征向量进行两两交互得到,所述第一向量组包括所述第一目标特征向量组和所述第二目标特征向量组。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述融合包括:
对所述第一目标特征向量组中的多个第一目标特征向量进行拼接,得到所述待预测数据的第二特征向量;
对每个所述目标参考样本的多个第一特征向量进行拼接,得到每个所述目标参考样本的第二特征向量,每个所述目标参考样本的多个第一特征向量为对所述目标参考样本进行向量化得到;
获取每个所述目标参考样本的第二特征向量与所述待预测数据的第二特征向量之间的相似度;
根据每个所述目标参考样本的第二特征向量与所述待预测数据的第二特征向量之间的相似度,确定每个所述目标参考样本的权重;
根据每个所述目标参考样本的权重,对所述多个目标参考样本在同一个特征域下的第一特征向量进行融合,得到所述第二目标特征向量组。
5.根据权利要求1-4中任一项所述的方法,其特征在于,根据所述待预测数据和多个参考样本的相似度从所述多个参考样本中获取多个目标参考样本之前,所述方法还包括:
获取多个原始样本,其中,每个所述原始样本包括用户特征域数据和物品特征域数据;
将所述待预测数据的多个所述用户特征域数据和多个所述物品特征域数据作为元素,对所述多个原始样本进行倒排索引,得到所述多个参考样本。
6.一种推荐模型训练方法,其特征在于,所述推荐模型包括特征信息提取网络和深度神经网络DNN,所述方法包括:
获取多个训练样本,其中,每个所述训练样本包括用户特征域数据和物品特征域数据;
根据第一训练样本和多个第二训练样本的相似度从所述多个第二训练样本中获取多个目标训练样本,其中,所述第一训练样本为所述多个训练样本中的一个,所述多个第二训练样本为所述多个训练样本除所述第一训练样本之外的部分或全部,所述第一训练样本的所述用户特征域数据用于指示第一参考用户特征,所述第一训练样本的所述物品特征域数据用于指示第一参考物品特征,所述第一训练样本和每个所述目标训练样本具有部分相同的用户特征域数据和/或物品特征域数据;
将所述第一训练样本和所述多个目标训练样本输入到所述特征信息提取网络,得到所述第一训练样本的目标特征信息,其中,所述目标特征信息包括第四目标特征向量组和第五目标特征向量组,所述第四目标特征向量组为通过所述特征信息提取网络对所述第一训练样本进行向量化得到,所述第五目标特征向量组为通过所述特征信息提取网络对所述多个目标训练样本进行向量化后融合得到;
将所述目标特征信息输入到所述深度神经网络DNN,得到输出值,所述输出值用于表征所述第一参考用户对所述第一参考物品进行操作的概率;
根据所述输出值以及所述第一训练样本的标签数据进行所述推荐模型的训练,获得目标推荐模型。
7.根据权利要求6所述的方法,其特征在于,
所述第五目标特征向量组为对所述多个目标训练样本进行向量化后融合得到,具体为:
所述第五目标特征向量组为通过所述特征信息提取网络对所述多个目标训练样本的用户特征域数据、物品特征域数据以及标签数据进行向量化后融合得到。
8.根据权利要求6或7所述的方法,其特征在于,
所述目标特征信息还包括第六目标特征向量组,所述第六目标特征向量组是通过所述特征信息提取网络对第二向量组中的目标特征向量进行两两交互得到,所述第二向量组包括所述第四目标特征向量组和所述第五目标特征向量组。
9.根据权利要求6-8中任一项所述的方法,其特征在于,所述融合包括:
对所述第四目标特征向量组中的多个第四目标特征向量进行拼接,得到所述第一训练样本的第二特征向量;
对每个所述目标训练样本的多个第一特征向量进行拼接,得到每个所述目标训练样本的第二特征向量,每个所述目标训练样本的多个第一特征向量为对所述目标训练样本进行向量化得到;
获取每个所述目标训练样本的第二特征向量与所述第一训练样本的第二特征向量之间的相似度;
根据每个所述目标训练样本的第二特征向量与所述第一训练样本的第二特征向量之间的相似度,确定每个所述目标训练样本的权重;
根据每个所述目标训练样本的权重,对所述多个目标训练样本在同一个特征域下的第一特征向量进行融合,得到所述第五目标特征向量组。
10.根据权利要求6-9中任一项所述的方法,其特征在于,根据第一训练样本和多个第二训练样本的相似度从所述多个第二训练样本中获取多个目标训练样本之前,所述方法还包括:
将所述第一训练样本的多个所述用户特征域数据和多个所述物品特征域数据作为元素,对所述多个训练样本进行倒排索引,得到所述多个第二训练样本。
11.一种推荐装置,其特征在于,包括:获取单元和处理单元;
所述获取单元,用于获取待预测数据;
所述处理单元,用于根据所述待预测数据和多个参考样本的相似度从所述多个参考样本中获取多个目标参考样本;每个所述参考样本和所述待预测数据均包括用户特征域数据和物品特征域数据,所述待预测数据的所述用户特征域数据用于指示目标用户特征,所述待预测数据的所述物品特征域数据用于指示目标物品特征,每个所述目标参考样本和所述待预测数据具有部分相同的用户特征域数据和/或物品特征域数据;
根据所述多个目标参考样本与所述待预测数据获取所述待预测数据的目标特征信息;所述目标特征信息包括第一目标特征向量组和第二目标特征向量组,所述第一目标特征向量组为向量化后的所述待预测数据,所述第二目标特征向量组为对所述多个目标参考样本进行向量化后融合得到;
以所述目标特征信息为输入通过深度神经网络DNN获取输出值;
根据所述输出值确定是否向所述目标用户推荐所述目标物品。
12.根据权利要求11所述的装置,其特征在于,
所述多个目标参考样本还包括标签数据;
所述第二目标特征向量组为对所述多个目标参考样本进行向量化后融合得到,具体为:
所述第二目标特征向量组为对所述多个目标参考样本的用户特征域数据,物品特征域数据以及标签数据进行向量化后融合得到。
13.根据权利要求12所述的装置,其特征在于,
所述目标特征信息还包括第三目标特征向量组,所述第三目标特征向量组为对第一向量组中的目标特征向量进行两两交互得到,所述第一向量组包括所述第一目标特征向量组和所述第二目标特征向量组。
14.根据权利要求11-13中任一项所述的装置,其特征在于,
在所述处理单元进行融合方面,所述处理单元,具体用于:
对所述第一目标特征向量组中的多个第一目标特征向量进行拼接,得到所述待预测数据的第二特征向量;
对每个所述目标参考样本的多个第一特征向量进行拼接,得到每个所述目标参考样本的第二特征向量,每个所述目标参考样本的多个第一特征向量为对所述目标参考样本进行向量化得到;
获取每个所述目标参考样本的第二特征向量与所述待预测数据的第二特征向量之间的相似度;
根据每个所述目标参考样本的第二特征向量与所述待预测数据的第二特征向量之间的相似度,确定每个所述目标参考样本的权重;
根据每个所述目标参考样本的权重,对所述多个目标参考样本在同一个特征域下的第一特征向量进行融合,得到所述第二目标特征向量组。
15.根据权利要求11-14中任一项所述的装置,其特征在于,
在所述处理单元根据所述待预测数据和多个参考样本的相似度从所述多个参考样本中获取多个目标参考样本之前,所述处理单元,还用于获取多个原始样本,其中,每个所述原始样本包括用户特征域数据和物品特征域数据;
将所述待预测数据的多个所述用户特征域数据和多个所述物品特征域数据作为元素,对所述多个原始样本进行倒排索引,得到所述多个参考样本。
16.一种推荐模型训练装置,其特征在于,所述推荐模型包括特征信息提取网络和深度神经网络DNN,所述装置包括:获取单元和处理单元;
所述获取单元,用于获取多个训练样本,其中,每个所述训练样本包括用户特征域数据和物品特征域数据;
所述处理单元,用于根据第一训练样本和多个第二训练样本的相似度从所述多个第二训练样本中获取多个目标训练样本,其中,所述第一训练样本为所述多个训练样本中的一个,所述多个第二训练样本为所述多个训练样本除所述第一训练样本之外的部分或全部,所述第一训练样本的所述用户特征域数据用于指示第一参考用户特征,所述第一训练样本的所述物品特征域数据用于指示第一参考物品特征,所述第一训练样本和每个所述目标训练样本具有部分相同的用户特征域数据和/或物品特征域数据;
将所述第一训练样本和所述多个目标训练样本输入到所述特征信息提取网络,得到所述第一训练样本的目标特征信息,其中,所述目标特征信息包括第四目标特征向量组和第五目标特征向量组,所述第四目标特征向量组为通过所述特征信息提取网络对所述第一训练样本进行向量化得到,所述第五目标特征向量组为通过所述特征信息提取网络对所述多个目标训练样本进行向量化后融合得到;
将所述目标特征信息输入到所述深度神经网络DNN,得到输出值,所述输出值用于表征所述第一参考用户对所述第一参考物品进行操作的概率;
根据所述输出值以及所述第一训练样本的标签进行所述推荐模型的训练,获得目标推荐模型。
17.根据权利要求16所述的装置,其特征在于,
所述第五目标特征向量组为对所述多个目标训练样本进行向量化后融合得到,具体为:
所述第五目标特征向量组为通过所述特征信息提取网络对所述多个目标训练样本的用户特征域数据、物品特征域数据以及标签数据进行向量化后融合得到。
18.根据权利要求16或17所述的装置,其特征在于,
所述目标特征信息还包括第六目标特征向量组,所述第六目标特征向量组是通过所述特征信息提取网络对第二向量组中的目标特征向量进行两两交互得到,所述第二向量组包括所述第四目标特征向量组和所述第五目标特征向量组。
19.根据权利要求16-18中任一项所述的装置,其特征在于,
在所述处理单元进行融合方面,所述处理单元,具体用于:
对所述第四目标特征向量组中的多个第四目标特征向量进行拼接,得到所述第一训练样本的第二特征向量;
对每个所述目标训练样本的多个第一特征向量进行拼接,得到每个所述目标训练样本的第二特征向量,每个所述目标训练样本的多个第一特征向量为对所述目标训练样本进行向量化得到;
获取每个所述目标训练样本的第二特征向量与所述第一训练样本的第二特征向量之间的相似度;
根据每个所述目标训练样本的第二特征向量与所述第一训练样本的第二特征向量之间的相似度,确定每个所述目标训练样本的权重;
根据每个所述目标训练样本的权重,对所述多个目标训练样本在同一个特征域下的第一特征向量进行融合,得到所述第五目标特征向量组。
20.根据权利要求16-19中任一项所述的装置,其特征在于,
在所述处理单元根据第一训练样本和多个第二训练样本的相似度从所述多个第二训练样本中获取多个目标训练样本之前,所述处理单元,将所述第一训练样本的多个所述用户特征域数据和多个所述物品特征域数据作为元素,对所述多个训练样本进行倒排索引,得到所述多个第二训练样本。
21.一种电子设备,其特征在于,包括:存储器,用于存储程序;处理器,用于执行存储器存储的程序;当存储器存储的程序被执行时,处理器用于实现权利要求1-5或权利要求6-10中任一项所述的方法。
22.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储用于设备执行的程序代码,所述程序代码包括用于实现权利要求1-5或权利要求6-10中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110877429.9A CN113722583A (zh) | 2021-07-31 | 2021-07-31 | 推荐方法、推荐模型训练方法及相关产品 |
EP22852095.3A EP4322031A1 (en) | 2021-07-31 | 2022-07-30 | Recommendation method, recommendation model training method, and related product |
PCT/CN2022/109297 WO2023011382A1 (zh) | 2021-07-31 | 2022-07-30 | 推荐方法、推荐模型训练方法及相关产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110877429.9A CN113722583A (zh) | 2021-07-31 | 2021-07-31 | 推荐方法、推荐模型训练方法及相关产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113722583A true CN113722583A (zh) | 2021-11-30 |
Family
ID=78674649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110877429.9A Pending CN113722583A (zh) | 2021-07-31 | 2021-07-31 | 推荐方法、推荐模型训练方法及相关产品 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4322031A1 (zh) |
CN (1) | CN113722583A (zh) |
WO (1) | WO2023011382A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023011382A1 (zh) * | 2021-07-31 | 2023-02-09 | 华为技术有限公司 | 推荐方法、推荐模型训练方法及相关产品 |
CN115953215A (zh) * | 2022-12-01 | 2023-04-11 | 上海交通大学 | 一种基于时间和图结构的搜索式推荐方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116049411B (zh) * | 2023-03-31 | 2023-06-27 | 北京中关村科金技术有限公司 | 一种信息匹配方法、装置、设备和可读存储介质 |
CN116485560A (zh) * | 2023-06-21 | 2023-07-25 | 杭州大鱼网络科技有限公司 | 一种基于反馈机制的目标用户筛选方法及系统 |
CN117349458B (zh) * | 2023-12-05 | 2024-04-09 | 北京搜狐新媒体信息技术有限公司 | 一种多媒体推荐方法、装置、设备和存储介质 |
CN118035566A (zh) * | 2024-04-11 | 2024-05-14 | 中国科学技术大学 | 交互行为预测模型的训练方法、交互行为预测方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109299396B (zh) * | 2018-11-28 | 2020-11-06 | 东北师范大学 | 融合注意力模型的卷积神经网络协同过滤推荐方法及系统 |
CN109902222B (zh) * | 2018-11-30 | 2022-05-13 | 华为技术有限公司 | 一种推荐方法及装置 |
WO2021081962A1 (zh) * | 2019-10-31 | 2021-05-06 | 华为技术有限公司 | 推荐模型的训练方法、推荐方法、装置及计算机可读介质 |
CN111259263B (zh) * | 2020-01-15 | 2023-04-18 | 腾讯云计算(北京)有限责任公司 | 一种物品推荐方法、装置、计算机设备及存储介质 |
CN111881363A (zh) * | 2020-06-23 | 2020-11-03 | 北京工业大学 | 一种基于图交互网络的推荐方法 |
CN112632403B (zh) * | 2020-12-24 | 2024-04-09 | 北京百度网讯科技有限公司 | 推荐模型的训练方法、推荐方法、装置、设备和介质 |
CN113722583A (zh) * | 2021-07-31 | 2021-11-30 | 华为技术有限公司 | 推荐方法、推荐模型训练方法及相关产品 |
-
2021
- 2021-07-31 CN CN202110877429.9A patent/CN113722583A/zh active Pending
-
2022
- 2022-07-30 EP EP22852095.3A patent/EP4322031A1/en active Pending
- 2022-07-30 WO PCT/CN2022/109297 patent/WO2023011382A1/zh active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023011382A1 (zh) * | 2021-07-31 | 2023-02-09 | 华为技术有限公司 | 推荐方法、推荐模型训练方法及相关产品 |
CN115953215A (zh) * | 2022-12-01 | 2023-04-11 | 上海交通大学 | 一种基于时间和图结构的搜索式推荐方法 |
CN115953215B (zh) * | 2022-12-01 | 2023-09-05 | 上海交通大学 | 一种基于时间和图结构的搜索式推荐方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2023011382A1 (zh) | 2023-02-09 |
EP4322031A1 (en) | 2024-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111784455B (zh) | 一种物品推荐方法及推荐设备 | |
EP3757905A1 (en) | Deep neural network training method and apparatus | |
CN113722583A (zh) | 推荐方法、推荐模型训练方法及相关产品 | |
CN111898031B (zh) | 一种获得用户画像的方法及装置 | |
CN110008397B (zh) | 一种推荐模型训练方法及装置 | |
CN114332680A (zh) | 图像处理、视频搜索方法、装置、计算机设备和存储介质 | |
CN109584006B (zh) | 一种基于深度匹配模型的跨平台商品匹配方法 | |
CN110321473B (zh) | 基于多模态注意力的多样性偏好信息推送方法、系统、介质及设备 | |
CN110580489B (zh) | 一种数据对象的分类系统、方法以及设备 | |
CN112182362A (zh) | 训练用于在线预测点击率的模型的方法、设备及推荐系统 | |
CN111931002A (zh) | 一种匹配方法以及相关设备 | |
WO2023185925A1 (zh) | 一种数据处理方法及相关装置 | |
CN114691973A (zh) | 一种推荐方法、推荐网络及相关设备 | |
WO2024002167A1 (zh) | 一种操作预测方法及相关装置 | |
CN111967924A (zh) | 商品推荐方法、商品推荐装置、计算机设备和介质 | |
CN114898192A (zh) | 模型训练方法、预测方法、设备、存储介质及程序产品 | |
CN116205700A (zh) | 目标产品的推荐方法、装置、计算机设备和存储介质 | |
CN113705698A (zh) | 基于点击行为预测的信息推送方法及装置 | |
CN116910357A (zh) | 一种数据处理方法及相关装置 | |
CN116340643A (zh) | 对象推荐的调整方法及装置、存储介质、电子设备 | |
US20220172271A1 (en) | Method, device and system for recommending information, and storage medium | |
CN116957128A (zh) | 业务指标预测方法、装置、设备和存储介质 | |
CN115618950A (zh) | 一种数据处理方法及相关装置 | |
CN112650869B (zh) | 图像检索重排序方法、装置、电子设备及存储介质 | |
CN112488355A (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 |