CN113837844A - 一种多级联下游企业推荐系统、方法及可存储介质 - Google Patents
一种多级联下游企业推荐系统、方法及可存储介质 Download PDFInfo
- Publication number
- CN113837844A CN113837844A CN202111224183.1A CN202111224183A CN113837844A CN 113837844 A CN113837844 A CN 113837844A CN 202111224183 A CN202111224183 A CN 202111224183A CN 113837844 A CN113837844 A CN 113837844A
- Authority
- CN
- China
- Prior art keywords
- enterprise
- recommendation
- downstream
- data
- vector
- 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 35
- 238000003860 storage Methods 0.000 title abstract description 8
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 73
- 238000012216 screening Methods 0.000 claims abstract description 23
- 238000012163 sequencing technique Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 239000013598 vector Substances 0.000 claims description 81
- 238000013528 artificial neural network Methods 0.000 claims description 31
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000001914 filtration Methods 0.000 claims description 16
- 238000011144 upstream manufacturing Methods 0.000 claims description 12
- 238000011156 evaluation Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013136 deep learning model Methods 0.000 abstract description 4
- 238000005070 sampling Methods 0.000 abstract description 3
- 238000013135 deep learning Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000005065 mining Methods 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008707 rearrangement Effects 0.000 description 2
- 241000711573 Coronaviridae Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012847 principal component analysis method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- 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/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2135—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
-
- 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/30—Semantic analysis
-
- 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
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- 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
- G06N3/08—Learning methods
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Marketing (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Game Theory and Decision Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种多级联下游企业推荐系统、方法及可存储介质,涉及推荐系统相关技术领域,具体步骤为:对税务数据进行数据预处理;构建混合召回模型,生成下游企业候选列表;构建排序模型,筛选出下游企业推荐列表;将下游企业推荐列表可视化呈现。本发明提出了企业推荐场景下的多级联推荐策略,能够有效地在税务大数据中将待推荐的结果逐级筛选,使得排序算法能够挖掘出企业的高阶特征以获得更高优质的推荐结果,避免过度的时间消耗;本发明通过采样的方法生成了不存在的交易数据作为负样本数据,解决了税务数据下深度学习模型无负样本的训练难题,通过排序模型的筛选进一步减少推荐结果的数量级,为用户带来更好的使用体验。
Description
技术领域
本发明涉及推荐系统相关技术领域,更具体的说是涉及一种多级联下游企业推荐系统、方法及可存储介质。
背景技术
由于新型冠状病毒带来的全球性影响,B2B(Business to Business)销售市场受到了严重的影响,上游企业出现供应链出现中断,商品滞销等问题。因此,建立企业推荐系统帮助上游企业恢复供应链,解决商品销售途径,重新寻找新的商业合作伙伴是非常必要的任务。B2B市场进行交易的对象是企业与企业,而非是B2C(Business to Customer)市场的企业与个人消费者,因此涉及到的问题更加多元化,需要考虑企业运营状态,企业规模、地理位置等更加复杂的信息。
现有的B2B企业推荐系统采用的算法主要是基于内容的推荐算法、协同过滤算法、混合算法等,并且为单级联推荐系统。基于内容的推荐算法推荐结果通过匹配得到具有相似属性的候选结果,但是推荐结果类型相似,属性比较单一。协同过滤算法通过历史交易信息计算商品相似度或者用户相似度,但是在数据规模庞大的情况下,会出现矩阵过于稀疏的特点,而且由于协同过滤算法的相似度矩阵计算依赖历史交易记录,因此无法解决冷启动的问题。混合算法同时结合了基于内容的推荐算法和协同过滤的推荐算法,在一定程度上能够弥补两类算法的缺陷,但是在冷启动和挖掘用户隐式偏好上仍然存在不足。
深度学习是机器学习领域一个重要的研究方向,近年来在图像处理、自然语言理解、推荐算法等领域取得了巨大的进展,展现了极佳的效果。深度学习算法能够有效挖掘推荐内容与用户的高阶隐特征,实现针对性有效的个性化推荐。目前在B2C领域的电商推荐系统,信息流产品的内容推荐中,深度学习算法进行广泛应用并取得了不错的应用效果。深度学习算法能够挖掘出用户深层次的偏好特征,能得到很多高质量的推荐结果,但是缺乏一定的可解释性。不同于B2C领域的电商推荐,B2B企业推荐系统的结果采纳成本较高,接受推荐结果的用户是企业的市场营销人员,这部分人群需要依赖推荐结果的可解释程度做出最终的决策,在反馈市场中,最终决定是否与推荐企业进行商业沟通,展开长期合作等。因此单纯的使用深度学习应用至企业推荐系统中也存在一定的不足。
目前在电子商务领域,多个成熟B2C电子商务平台采用了多级联的推荐系统。多级联推荐系统在推荐算法部分可分为召回层、排序层、重排层等。召回层使用计算复杂度低的算法或者关联规则快速缩小候选商品的范围,其意义在于缩小计算范围,将用户感兴趣的商品从百万量级的商品中进行粗选,通过简单的模型和算法将百万量级缩小至几百甚至几十量级。排序层的目的是得到精确的排序结果,将召回层得到的数百量级的商品缩小至数十个甚至个位数。排序层相对来说模型更加复杂,用于挖掘用户的高阶隐含特征。重排层则侧重于与业务相关,使得推荐结果兼顾结果的流动性、新鲜性、多样性等。多级联的推荐系统从海量数据中获取推荐结果,从召回层到排序层,逐级过滤筛选商品的过程中,将候选商品的数量级依次降低,保证推荐系统最终的推荐数量在较少的范围内,给用户带来优质且直观的体验。然而现有的B2B企业推荐系统依然主要采用基于传统推荐算法的单级联推荐系统。与多级联推荐系统相比,单级联的推荐系统受制于数据规模以及算法复杂度,而在大规模的税务数据场景下,直接应用基于神经网络的排序算法进行下游企业的筛选,时间开销是不可估量的。在企业推荐的任务中,多级联推荐系统能够从海量数据中将候选的下游企业逐级筛选,利用神经网络深入挖掘企业之间的隐特征,获得优质的推荐结果。同时多级联的设计可以减少神经网络在排序模块的候选企业数量,有效的降低时间开销。
因此,如何建立多级联的企业推荐系统,将传统的企业推荐算法与深度学习算法进行有效结合,使得推荐系统可以得到高质量并且具有可解释性的下游企业推荐结果,是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种多级联下游企业推荐系统、方法及可存储介质,克服上述缺陷。
为了实现上述目的,本发明提供如下技术方案:
一种多级联下游企业推荐方法,具体步骤为:
对税务数据进行数据预处理;
基于内容属性和商品词嵌入神经网络算法构建混合召回模型,生成下游企业候选列表;
根据稠密向量获得输出向量叠加值;依据输出向量叠加值获得排序模型构建排序模型,筛选出下游企业推荐列表。
可选的,所述数据预处理步骤具体为:
表格内联:对多条税务数据进行内联,获得企业交易信息表;
信息过滤:对企业交易信息表使用正则表达式匹配的方式过滤掉无效数据;对筛选后的数据进行无效字符筛选;
生成负样本数据:根据信息过滤后获得的任一商品,从下游企业中任选一个没发生过交易的企业组合成一条交易记录,记为负样本数据;
建立索引:将上游企业的名称和商品名称进行分词,建立倒排索引;
数据存储:将企业交易数据信息存储至数据库当中。
可选的,混合召回模型的建立步骤为:
基于内容属性的推荐算法,获得部分下游企业候选列表;
基于商品词嵌入神经网络算法,获得部分下游企业候选列表;
将获得的各部分下游企业候选列表进行叠加,获得下游企业候选列表。
可选的,基于内容属性的推荐算法具体步骤为:
获得目标商品名称词向量;
计算目标商品名称词向量与任一商品名称词向量的余弦相似度;
根据余弦相似度数值构建余弦相似度矩阵;
根据余弦相似度矩阵获得相似商品;
根据相似商品的历史交易数据筛选出部分下游企业候选列表。
可选的,基于商品词嵌入神经网络算法具体步骤为:
将稀疏特征和稠密特征输入神经网络,对神经网络进行训练;
选择SoftMax层的前一层全连接层的输出向量作为目标商品的嵌入向量用于最近邻向量的索引,输出下游企业的交易概率;
计算目标商品嵌入向量与任一商品名称词向量的余弦相似度:
其中,v1为目标商品的名称词向量;v2为:任一商品的名称词向量;i为:词向量的第i维;
通过余弦相似度矩阵选择找出N个相似商品;
通过历史交易筛选出部分下游企业候选列表。
可选的,排序模型的构建步骤为:
将高维的稀疏特征的独热向量通过嵌入层转换为低维度的稠密向量;
将嵌入后的低维稠密向量和原始输入的稠密特征进行拼接,得到输出向量记为x0:
x0=[xembed,1,xembed,2,xembed,3,...,xembed,n];
其中,xembed,n为拼接的第n个稠密向量;
将向量x0作为深度神经网络和交叉网络的输入,并行输入到两个网络中,并进行合并;
将深度神经网络和交叉网络的输出向量通过对叠层进行拼接得到输出向量叠加值;
通过输出向量叠加值获得排序模型;
通过排序模型对下游企业候选列表进行排序,筛选出下游企业推荐列表。
可选的,还包括有效性评估,通过包含历史交易记录的召回率和不包含历史交易记录的召回率对推荐方法进行评估。
一种多级联下游企业推荐系统,包括数据预处理模块、召回模块、排序模块以及系统部署模块;
所述数据预处理模块,用于对税务数据进行数据清洗、负样本生成、数据格式转换、索引数据库建立;
所述召回模块,用于采用不同的算法进行下游企业的召回,生成下游企业候选列表;
所述排序模块,用于对召回模块生成的下游企业候选列表进行排序,按照排序结果,筛选出下游企业推荐列表;
所述系统部署部分,将下游企业推荐列表可视化呈现。
可选的,还包括有效性评价模块,用于验证推荐系统的性能。
一种计算机可存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种多级联下游企业推荐方法中的步骤。
经由上述的技术方案可知,与现有技术相比,本发明公开一种多级联下游企业推荐系统、方法及可存储介质,提出了企业推荐场景下的多级联推荐策略,能够有效地在税务大数据中将待推荐的结果逐级筛选,使得排序算法能够挖掘出企业的高阶特征以获得更高优质的推荐结果,满足实际应用部署的需要,同时能避免过度的时间消耗。此外,本发明提出的混合召回算法相较于单一的推荐算法能够获得更好的推荐结果,由于目标商品与推荐的下游企业的历史交易商品具有较高的商品语义相似度,推荐结果具有一定的可解释性,使得上游企业人员可以更加容易接受推荐结果,混合召回算法还能够解决冷启动的问题,使得新商品出现的时候可以进行推荐;且本发明通过采样的方法生成了不存在的交易数据作为负样本数据,从而进行排序模型的训练,解决了税务数据下深度学习模型无负样本的训练难题,通过排序模型的筛选进一步减少推荐结果的数量级,为用户带来更好的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的系统架构示意图;
图2为本发明的混合召回算法示意图;
图3为本发明的商品词嵌入神经网络结构示意图;
图4为本发明的DCN-V2网络结构示意图;
图5为本发明的网页系统结构示意图;
图6为本发明的网页页面示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种多级联下游企业推荐系统,相较于传统的企业推荐系统,能够进行大规模数据场景下的多级联推荐,实现了个性化高质量的下游企业推荐,同时使得推荐结果具备可解释,更容易被企业决策人员认可采纳。本申请在召回层融合了深度学习算法和基于商品语义信息的内容属性推荐算法,利用了深度学习的提取高维特征的优势,能够对企业用户喜好进行深层次的挖掘,同时语义信息的内容属性推荐方法能保证语义的可解释性。在排序部分,该系统使用了深度学习模型进行待推荐企业的排序,进一步进行信息筛选,为用户带来更好的体验。该系统不仅在算法上进行了针对企业推荐场景的优化,同时面向工业应用,建立了完整的端到端的多级联推荐系统。
基于税务数据的多级联下游企业推荐系统架构如图1所示,整个推荐系统由数据预处理模块、召回模块、排序模块以及系统部署模块四个部分组成。
数据预处理模块,对税务数据进行了数据清洗和负样本生成的工作,将数据集转换为可用于深度学习训练的数据格式,同时将商品名称、企业名称存储至Elasticsearch索引数据库建立索引;
召回模块,使用深度学习和基于内容属性的两种算法,进行下游企业的召回,生成了400个候选的下游企业列表;
排序模块,使用深度学习模型对召回模块生成的候选企业列表进行打分,并利用评分将候选企业从高低进行排序,选取其中评分前50的下游企业作为推荐结果在网页端呈现。
系统部署模块,建立一个网页将排序部分的结果进行可视化呈现。
本发明实施例公开了一种多级联下游企业推荐方法,包括下列步骤:
步骤1:数据预处理:对税务数据进行数据预处理,具体处理步骤为:
表格内联:将企业信息表、商品信息表、发票信息表进行内联合并为企业交易信息表;
信息过滤:使用正则表达式匹配的方式筛选过滤掉含特定关键词的无效数据,比如:部分商品名为“详情见商品清单”、“见销方清单列表”等,此类无效商品名进行过滤,同时滤除商品名中的无效字符,提取文本内容信息,便于后续商品名称的编码;
生成负样本数据:针对每个上游企业的每个商品,随机从下游企业中采样出一个没发生过交易的企业组合成为一条新的交易记录,这条记录被视为不存在的交易记录,训练时作为负样本数据,正样本与负样本的比例为1:5;
建立索引:将上游企业的名称和商品名称存储入Elasticsearch,并进行分词,建立倒排索引;
数据存储:将企业交易数据信息存储至postgrel数据库当中,便于系统部署的时候从中提取筛选有效信息。
其中,税务数据来源于实际的企业交易的数据,包含了上游企业信息、下游企业信息、商品信息、发票信息等。其中,企业信息、商品信息、发票信息所包含的基本属性如下表1所示。
表1税务数据表信息
企业信息 | 商品信息 | 发票信息 |
企业名称 | 商品名称 | 发票编号 |
企业编号 | 商品编号 | 开票日期 |
纳税人识别号 | 商品编码 | 交易额 |
地址电话 | 单价 | 税额 |
行业 | 单位 | 数量 |
其中,倒排索引为是基于单词-文档矩阵的一种存储形式。能够通过这种存储形式进行快速匹配,查找。
其中,正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
步骤2:构建混合召回模型,生成下游企业候选列表;
多级联的推荐系统中,第一次筛选推荐企业利用召回模块(Matching Module)。在召回阶段,从海量的下游企业中,过滤筛选出数百个候选的下游企业,作为下一级排序模块的输入。如图2所示,在召回模块,提出的混合召回算法,同时使用商品词嵌入神经网络和基于内容属性的推荐算法进行下游企业的召回。
其中,词嵌入是一种词的类型表示,具有相似意义的词具有相似的表示,是将词汇映射到实数向量的方法总称。
不同于传统的C2C推荐系统,面向B2B的下游企业推荐系统的结果需要具有一定的可解释性,才能使得上游企业销售人员或者经营者愿意采纳推荐的结果,并与对应的下游企业进行联系。因此,在召回阶段,筛选的结果同样需要具有一定的解释意义。
考虑相似的企业倾向于购买相似的商品,因此将衡量企业相似度的衡量转换为了商品相似度的衡量。通过推荐购买相似商品的企业,来进行候选企业的筛选。
如图3所示,在商品词嵌入神经网络中,输入可分为稀疏特征和稠密特征。稀疏特征包括独热编码后的商品编码和上游企业编码。稠密特征包括使用腾讯开源中文词向量转换得到的200维的商品名称词向量,以及价格等属性。
在稠密特征中,利用腾讯开源的中文词向量表,将一个中文的商品名称转换为了200维的词向量。为了加速训练,减少训练过程中的内存消耗,通过使用主成分分析法(Principle Component Analysis,PCA)进行商品词向量的降维。设原始数据有m条n维的数据,组成了矩阵X,需要使用主成分分析法降维至k维的步骤如下:
数据归一化:每一维度的特征减去自己维度的平均值:X=X-μi;
计算协方差矩阵Cov:求解将归一化后数据的协方差矩阵:
计算协方差矩阵特征值λ1,2,...,n以及其对应的特征向量c1,2,...,n;
根据特征值大小排序特征向量,选择前k个特征向量,用原始数据乘以特征向量得到最终的结果:
Pm×k=Xm×nCn×k;
通过PCA算法我们将200维的商品名称词向量转换为了64维的词向量。
商品嵌入神经网络输出为下游企业的交易概率,标签为交易过的下游企业的独热编码;在训练过程中,每一层的网络参数逐层提取输入向量的高维隐藏特征;在训练完毕之后,选择SoftMax层的前一层全连接层的输出向量,作为商品的嵌入向量用于最近邻向量的索引。
计算商品嵌入向量的余弦相似度用于衡量两个商品的相似程度:
通过目标商品的余弦相似度矩阵选择找出N个最相似商品,并通过历史交易筛选出这些相似商品的历史交易下游企业的200个作为候选的下游企业。
在基于内容属性的推荐算法中,用腾讯开源中文词向量转换得到的200维的商品名称词向量,作为商品的表征向量。腾讯开源词向量表包含800多万中文词汇,选择Directional Skip-Gram(DSG)算法作为词向量的训练算法,在文本窗口中词对共现关系的基础上,额外考虑了词对的相对位置,以提高词向量语义表示的准确性。因此商品名称词向量能够通过语义表征商品名称的含义,在计算相似性的时候能找到与这个商品语义相关度高的商品,而不仅是文本重复率的匹配。
同样的,通过计算商品名称词向量的余弦相似度用于衡量两个商品的语义相似性。再通过目标商品的余弦相似度矩阵选择找出N个最相似商品,并通过历史交易筛选出这些相似商品的历史交易下游企业的200个作为候选的下游企业。
将商品词嵌入神经网络和基于内容属性召回得到的候选企业整合,得到了召回模块的400个候选企业。在混合召回算法中,2种召回策略都是通过找出交易过相似商品的企业,这种相似的交易行为能够提供较强的可解释性,使得企业决策人员更加可接受。此外,基于内容属性的方法能够在语义的层面保证相似商品的相似程度。
在进行推荐的时候,如果出现了新的商品,则无法使用商品嵌入神经网络进行推理。在这种情况下,我们仅使用基于内容属性的方法进行企业召回,把商品名称向量作为商品的特征属性。而名称这个属性是每个商品的固有属性,即已知商品名称,通过腾讯开源词向量表计算出商品名称的词向量。因此在进行相似商品选择的时候,面对一个全新的商品,可以通过商品名称词向量的余弦相似度找到训练集中的相似商品集合,再通过相似商品的历史交易获得候选下游企业列表。因此,选择商品名称向量建立的基于内容属性的推荐方法,可以有效的解决冷启动的问题。
其中,冷启动的定义为:冷启动是对推荐系统中首次出现的新的用户或者新的物品进行推荐。通常推荐系统依赖于用户行为数据,物品内容信息数据进行推荐,冷启动则是要解决没有历史信息数据的推荐。
步骤3:构建排序模型,筛选出下游企业推荐列表;
经过了混合召回模型的过滤筛选,提取出了400个候选的下游企业列表。为了更好的给用户进行视觉的呈现,使用深度学习排序网络对每个下游企业进行打分,并根据分数降序排列。
如图4所示,我们选择了Deep&Cross NetworkV2(DCNV2)作为排序模块的骨干网络。DCNV2的输入可以分为稀疏特征和稠密特征。稀疏特征包括了税务数据当中的下游企业编号、上游企业编号、商品编号,稠密特征包括了商品单价信息等。
首先高维的稀疏特征的独热向量会被嵌入层转换为低维度的稠密向量。在堆叠层,嵌入后的低维稠密向量会和原始输入的稠密特征进行拼接,得到输出向量记为x0:
x0=[xembed,1,xembed,2,xembed,3,...,xembed,n]
接下来,向量x0会作为深度神经网络和交叉网络的输入,并行输入到两个网络当中,并在输出后进行合并。在交叉网络当中,包含2层交叉连接层,用于提取交叉特征。第(l+1)th层的交叉单元层的计算方式如下所示:
xl+1=x0Θ(Wlxl+bl)+xl
其中,xl和xl+1分别代表了第(l+1)th层交叉层的输入和输出。Wl∈Rd×dand bl∈Rd是经过训练得到的权值矩阵和偏置向量。
深度神经网络中,包含了2层全连接神经网络,同时使用了ReLU作为激活函数,第lth层的全连接神经网络计算公式如下所示:
xl+1=ReLU(Wlxl+bl)
其中,xl和xl+1分别代表了第lth层全连接层的输入和输出。Wl∈Rd×dand bl∈Rd是经过训练得到的权值矩阵和偏置向量。
设xc,xd分别为交叉网络和深度神经网络的输出,我们将两组输出向量通过对叠层进行拼接得到:xfinal=[xc,xd],最终DCN-V2网络的输出为:yi=σ(Wl·xfinal),其中Wi是训练学习得到的权值矩阵,σ(x)=1/(1+exp(-x))。
通过Deep&Cross Network V2排序模型,我们对每一个候选的下游企业进行打分,并从高到低进行排列,选取推荐结果中前50个下游企业存储至Postgrel数据库中。
步骤4:将下游企业推荐列表可视化呈现。
经过排序模块后,上游企业每一个商品的对应推荐结果被存储至了postgrel数据库当中。为了面向工业实际生产应用,进行可视化的呈现,建立了一个结构如图5所示网页页面便于用户进行使用操作。
网页页面的前端使用HTML,CSS,JAVASCRIPT进行编写。后端采用了python语言的Flask框架构建,与索引Elasticsearch和数据库Postgrel进行交互获取信息。最终实现的前端效果图如图6所示。
步骤5:有效性验证
使用多种算法对企业推荐系统进行了性能测试与评估,来验证多级联推荐系统的有效性。
测试评估的指标采用了召回率以及不包含历史交易记录的召回率,召回率的计算公式如下所示:
其中,Ureal是实际进行交易的下游企业的集合,Ureco是推荐得到的下游企业交易的集合,Lreal和Lreco分别是Ureal和Ureco中包含的企业数量。
召回率的指标能够有效反映出推荐企业在真实交易中的覆盖率,直观的展现了推荐结果的有效性。除此之外,在实际生产交易中,推荐结果中没有进行过交易的企业,即新颖的推荐结果,更加有可能给企业用户带来实际的收益。因此还可通过不包含历史交易记录的召回率对算法进行了评估。
如表2所示,对召回模块进行推荐结果的性能测试。我们针对混合召回算法,基于内容属性的召回算法,商品词嵌入神经网络以及历史交易商品查询算法,共四种推荐算法进行测试。在召回数量为400时,混合召回算法在召回率和召回率(去掉历史记录)中均取得了最佳的效果,证明其推荐结果具有不错的推荐质量和新颖度。对比混合召回算法和单一的基于内容属性的召回以及商品词嵌入神经网络,也证明混合算法较单一召回的算法具有性能提升。
表2召回模块的测试结果
算法 | 召回率-400 | 召回率-400(去掉历史交易记录) |
混合召回算法 | 0.338 | 0.227 |
基于内容属性的召回算法 | 0.239 | 0.134 |
商品词嵌入神经网络 | 0.325 | 0.199 |
历史交易商品查询 | 0.311 | 0 |
如表3所示,对排序模块得到的下游企业的推荐结果进行了性能评估。测试阶段,对DCNV2和DeepFM排序算法和2种召回算法进行多种混合组合,以及与经典的协同过滤算法进行对比。在排序模块的推荐结果筛选数量为50的情况下,混合召回算法结合DCNV2的算法取得了最好的结果。
表3排序模块的测试结果
经过对召回模块和排序模块的多组测试,提出的多级联推荐系统在下游企业的推荐场景下,取得了最佳的算法性能。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种多级联下游企业推荐方法,其特征在于,具体步骤为:
对税务数据进行数据预处理;
基于内容属性和商品词嵌入神经网络算法构建混合召回模型,生成下游企业候选列表;
根据稠密向量获得输出向量叠加值;依据输出向量叠加值获得排序模型构建排序模型,筛选出下游企业推荐列表。
2.根据权利要求1所述的一种多级联下游企业推荐方法,其特征在于,所述数据预处理步骤具体为:
表格内联:对多条税务数据进行内联,获得企业交易信息表;
信息过滤:对企业交易信息表使用正则表达式匹配的方式过滤掉无效数据;对筛选后的数据进行无效字符筛选;
生成负样本数据:根据信息过滤后获得的任一商品,从下游企业中任选一个没发生过交易的企业组合成一条交易记录,记为负样本数据;
建立索引:将上游企业的名称和商品名称进行分词,建立倒排索引;
数据存储:将企业交易数据信息存储至数据库当中。
3.根据权利要求1所述的一种多级联下游企业推荐方法,其特征在于,混合召回模型的建立步骤为:
基于内容属性的推荐算法,获得部分下游企业候选列表;
基于商品词嵌入神经网络算法,获得部分下游企业候选列表;
将获得的各部分下游企业候选列表进行叠加,获得下游企业候选列表。
4.根据权利要求3所述的一种多级联下游企业推荐方法,其特征在于,基于内容属性的推荐算法具体步骤为:
获得目标商品名称词向量;
计算目标商品名称词向量与任一商品名称词向量的余弦相似度;
根据余弦相似度数值构建余弦相似度矩阵;
根据余弦相似度矩阵获得相似商品;
根据相似商品的历史交易数据筛选出部分下游企业候选列表。
6.根据权利要求1所述的一种多级联下游企业推荐方法,其特征在于,排序模型的构建步骤为:
将高维的稀疏特征的独热向量通过嵌入层转换为低维度的稠密向量;
将嵌入后的低维稠密向量和原始输入的稠密特征进行拼接,得到输出向量记为x0:
x0=[xembed,1,xembed,2,xembed,3,...,xembed,n];
其中,xembed,n为拼接的第n个稠密向量;
将向量x0作为深度神经网络和交叉网络的输入,并行输入到两个网络中,并进行合并;
将深度神经网络和交叉网络的输出向量通过对叠层进行拼接得到输出向量叠加值;
通过输出向量叠加值获得排序模型;
通过排序模型对下游企业候选列表进行排序,筛选出下游企业推荐列表。
7.根据权利要求1所述的一种多级联下游企业推荐方法,其特征在于,还包括有效性评估,通过包含历史交易记录的召回率和不包含历史交易记录的召回率对推荐方法进行评估。
8.一种多级联下游企业推荐系统,其特征在于,包括数据预处理模块、召回模块、排序模块以及系统部署模块;
所述数据预处理模块,用于对税务数据进行数据清洗、负样本生成、数据格式转换、索引数据库建立;
所述召回模块,用于采用不同的算法进行下游企业的召回,生成下游企业候选列表;
所述排序模块,用于对召回模块生成的下游企业候选列表进行排序,按照排序结果,筛选出下游企业推荐列表;
所述系统部署部分,将下游企业推荐列表可视化呈现。
9.根据权利要求8所述的一种多级联下游企业推荐系统,其特征在于,还包括有效性评价模块,用于验证推荐系统的性能。
10.一种计算机可存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7任一项中所述的一种多级联下游企业推荐方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224183.1A CN113837844A (zh) | 2021-10-19 | 2021-10-19 | 一种多级联下游企业推荐系统、方法及可存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111224183.1A CN113837844A (zh) | 2021-10-19 | 2021-10-19 | 一种多级联下游企业推荐系统、方法及可存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113837844A true CN113837844A (zh) | 2021-12-24 |
Family
ID=78965576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111224183.1A Pending CN113837844A (zh) | 2021-10-19 | 2021-10-19 | 一种多级联下游企业推荐系统、方法及可存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113837844A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115547457A (zh) * | 2022-10-14 | 2022-12-30 | 广东省第二人民医院(广东省卫生应急医院) | 基于体检数据的食谱智能推荐方法、装置、设备及介质 |
CN116993237A (zh) * | 2023-09-21 | 2023-11-03 | 北京上奇数字科技有限公司 | 一种基于余弦相似度算法的企业推荐方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180068371A1 (en) * | 2016-09-08 | 2018-03-08 | Adobe Systems Incorporated | Learning Vector-Space Representations of Items for Recommendations using Word Embedding Models |
CN110781391A (zh) * | 2019-10-22 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法、装置、设备及存储介质 |
CN111428076A (zh) * | 2020-03-25 | 2020-07-17 | 陕西师范大学 | 基于词嵌入的个性化音乐推荐方法 |
GB202015695D0 (en) * | 2020-10-02 | 2020-11-18 | Mashtraxx Ltd | System and method for recommending semantically relevant content |
CN112395501A (zh) * | 2020-11-17 | 2021-02-23 | 航天信息股份有限公司 | 企业推荐方法、装置、存储介质及电子设备 |
-
2021
- 2021-10-19 CN CN202111224183.1A patent/CN113837844A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180068371A1 (en) * | 2016-09-08 | 2018-03-08 | Adobe Systems Incorporated | Learning Vector-Space Representations of Items for Recommendations using Word Embedding Models |
CN110781391A (zh) * | 2019-10-22 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法、装置、设备及存储介质 |
CN111428076A (zh) * | 2020-03-25 | 2020-07-17 | 陕西师范大学 | 基于词嵌入的个性化音乐推荐方法 |
GB202015695D0 (en) * | 2020-10-02 | 2020-11-18 | Mashtraxx Ltd | System and method for recommending semantically relevant content |
CN112395501A (zh) * | 2020-11-17 | 2021-02-23 | 航天信息股份有限公司 | 企业推荐方法、装置、存储介质及电子设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115547457A (zh) * | 2022-10-14 | 2022-12-30 | 广东省第二人民医院(广东省卫生应急医院) | 基于体检数据的食谱智能推荐方法、装置、设备及介质 |
CN116993237A (zh) * | 2023-09-21 | 2023-11-03 | 北京上奇数字科技有限公司 | 一种基于余弦相似度算法的企业推荐方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110222272B (zh) | 一种潜在客户挖掘与推荐方法 | |
Costa et al. | Unfolding the characteristics of incentivized online reviews | |
US6839682B1 (en) | Predictive modeling of consumer financial behavior using supervised segmentation and nearest-neighbor matching | |
CN114254201A (zh) | 一种科技项目评审专家的推荐方法 | |
CN113837844A (zh) | 一种多级联下游企业推荐系统、方法及可存储介质 | |
CN114266443A (zh) | 数据评估方法和装置、电子设备、存储介质 | |
CN114596031A (zh) | 基于全生命周期数据的快递终端用户画像模型 | |
Chiang et al. | Using an ontology-based neural network and DEA to discover deficiencies of hotel services | |
Patil et al. | Online review spam detection using language model and feature selection | |
Alquhtani et al. | Development of Effective Electronic Customer Relationship Management (ECRM) Model by the Applications of Web Intelligence Analytics | |
Deshai et al. | Deep learning hybrid approaches to detect fake reviews and ratings | |
Rao et al. | BMSP-ML: big mart sales prediction using different machine learning techniques | |
CN116823321B (zh) | 一种电商用经济管理数据分析方法及系统 | |
Kokkodis et al. | The relationship between disclosing purchase information and reputation systems in electronic markets | |
CN115563176A (zh) | 一种电子商务数据处理系统及方法 | |
CN115131108A (zh) | 一种电商商品筛选系统 | |
Alsubari et al. | Rule-based classifiers for identifying fake reviews in e-commerce: A deep learning system | |
CN112463966B (zh) | 虚假评论检测模型训练方法、检测方法及装置 | |
CN114155057A (zh) | 一种用于电子商务平台的商品推荐系统 | |
Wang et al. | Product competitiveness analysis from the perspective of customer perceived helpfulness: a novel method of information fusion research | |
CN114022233A (zh) | 一种新型的商品推荐方法 | |
CN113254775A (zh) | 一种基于客户浏览行为序列的信用卡产品推荐方法 | |
Lee | Automatically learning user needs from online reviews for new product design | |
Jalilifard et al. | Friendship is all we need: A multi-graph embedding approach for modeling customer behavior | |
Ahmed et al. | Amazon Product Recommendation 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 |