CN108009847B - 外卖场景下店铺embedding特征提取的方法 - Google Patents
外卖场景下店铺embedding特征提取的方法 Download PDFInfo
- Publication number
- CN108009847B CN108009847B CN201711230471.1A CN201711230471A CN108009847B CN 108009847 B CN108009847 B CN 108009847B CN 201711230471 A CN201711230471 A CN 201711230471A CN 108009847 B CN108009847 B CN 108009847B
- Authority
- CN
- China
- Prior art keywords
- shop
- extracting
- user
- training
- constructing
- 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.)
- Active
Links
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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Entrepreneurship & Innovation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于计算机应用技术领域,公开了一种外卖场景下店铺embedding特征提取的方法、计算机、计算机程序。提取每个用户消费的行为序列;用户消费行为序列按店铺平均消费价格、店铺类别划分;对于划分后的消费序列,提取出训练样本;构建基于负抽样的skip‑gram模型,并利用tensorflow框架训练;提取店铺的embedding特征向量。本发明对店铺进行embedding特征提取,获取了店铺某些方面的特征信息,将数据从高维的one‑hot特征空间转换为指定维度的embedding特征空间;结合商户的embedding特征与线上模型,带来线上下单模型的整体性能提升。
Description
技术领域
本发明属于计算机应用技术领域,尤其涉及一种外卖场景下店铺embedding特征提取的方法。
背景技术
Google在2013年开源了词向量计算的工具——word2vec,引起了工业界和学术界的关注。word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;得到的训练结果——词向量(word embedding),很好地度量词与词之间的相似性。在外卖领域,针对线上业务实时性的需求,原始的dense特征与one-hot特征并不能满足及时毫秒的预测时延要求,需要对店铺的特征进行整体的抽象;从特征工程的角度来看,现有的特征工程工作主要是从单维度进行的,很难从一个整体的角度来反映店铺的特征;传统的FM算法在样本空间很大的时候很难保证效率。
综上所述,现有技术存在的问题是:由于现有的特征工程工作主要从单维度,而不是从整体的角度来反映店铺特征,这就会导致特征空间趋于扁平;现有特征量线下为1000万维左右,线上为300维左右,大的特征量导致算法复杂度较高,很难满足线上实时计算的需求。若能解决这几个核心问题,可以有效降低线上业务的时延,将推荐过程控制在40ms以内,更好地符合推荐业务的需求,方便用户从大量店铺中寻找到自己感兴趣的店铺。
发明内容
针对现有技术存在的问题,本发明提供了一种外卖场景下店铺embedding特征提取的方法、计算机、计算机程序。
本发明是这样实现的,一种外卖场景下店铺embedding特征提取的方法,所述外卖场景下店铺embedding特征提取的方法包括:提取每个用户消费的行为序列;用户消费行为序列按店铺平均消费价格、店铺类别划分;对于划分后的消费序列,提取出训练样本;构建基于负抽样的skip-gram模型,并利用tensorflow框架训练;提取店铺的embedding特征向量。
进一步,所述提取每个用户消费的行为序列具体包括:从数据库中,提取用户一定时间内的用户所有下单店铺及其ID,按照用户ID将数据分组,构建每个用户ID的下单店铺集合,存储到数据库中。
进一步,所述用户消费行为序列按店铺平均消费价格、店铺类别划分具体包括:将提取出的用户下单店铺序列按店铺的平均消费价格划分为多个等级,同时将不同价格区间的店铺划分为子集合。
进一步,所述提取店铺的embedding特征向量具体包括:用tensorflow训练好的向量保存到本地,并在实际操作中提取需要的店铺embedding特征。
本发明对于店铺的embedding提取,获取了店铺某些方面的特征信息,将数据从高维的one-hot转变为指定维度向量的特征提取方法;结合商户的embedding与在线下单模型,带来整体模型的性能提升。而推荐系统的传统CF算法都是利用item2item关系计算商品间相似性。但在实际应用中,用户和物品数量都非常大,这种情况下,评分矩阵会极度稀疏,对算法的效率产生消极影响;同时由于这个问题的存在,两个用户之间的相似度很有可能为零,产生“邻居传递损失”现象;不同的物品名称可能对应相似的物品,基于相似度计算的推荐系统不能发现这样的潜在关系,而是把它们当不同的物品对待。而本发明在一定程度上克服了这些缺点,应用了浅层的神经网络,解决了one-hot维度过高的问题,获取了上下文信息,相比于skip-gram概率模型或者基于神经网络的embedding模型,降低了计算的时间复杂度和空间复杂度。本发明在NLP领域的成功应用,也证明了这是一种获取高维one-hot数据的低维嵌入表示的行而有效的方法。
附图说明
图1是本发明实施例提供的外卖场景下店铺embedding特征提取的方法流程图。
图2是本发明实施例提供的skip-gram模型示意图。
图3是本发明实施例提供的第一幅结果展示图。
图4是本发明实施例提供的第二幅结果展示图。
图5是本发明实施例提供的embedding特征时延与原始特征的时延比较示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明则解决了one-hot维度过高的问题,同时embedding也表征了上下文信息,相比于skip-gram概率模型或者基于神经网络的embedding模型,无论是计算的时间复杂度,还是空间复杂度,都带来了很大程度上的提升。本发明的计算机配置:Spark、hadoop计算集群,其中Spark必须配置HIVE数据库;Python开发环境;显卡GeForce GTX TITAN X。本发明的存储的配置信息:128G运行内存;硬盘500G以上。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的外卖场景下店铺映射embedding向量的方法包括以下步骤:
S101:提取每个用户消费的行为序列;
S102:用户消费行为序列按店铺平均消费价格、店铺类别划分;
S103:对于划分后的消费序列,提取出训练样本;
S104:构建基于负抽样的skip-gram模型,并利用tensorflow框架训练;
S105:提取店铺的embedding特征向量。
下面结合附图对本发明的应用原理作进一步的描述。
本发明实施例提供的外卖场景下店铺映射embedding向量的方法具体包括以下步骤:
步骤一,应用hive提取user_id—shop_id数据写入表格user_shop。利用hive构建了店铺字典shop_dict,其组织形式为{shop_id:index},其中index为店铺在字典中的顺序。然后将原始的user_shop表中的shop_id用字典中shop_idx索引代替;
步骤二,将原始的user_shop表中的shop_id用字典中shop_id索引代替。用户六个月以来的消费店铺序列,按照店铺的平均客单价、店铺一级类别进行分组去重,获得构建训练样本所需要的doc,其数据组织形式为:{user_id,array<shop_id_1,shop_id_2,...,shop_id_m>}。对context内只有一家店铺的数据进行过滤。最终获得的数据组织形式为:array<shop_id_1,shop_id_2,...,shop_id_m>,并将其存入HIVE表,便于后续训练样本的构建。
步骤三,训练样本的构建,利用python进行数据转换的,在第三版模型时,利用了HIVE进行处理,大大提高了效率;对于每一个context,分别应用get_train_samples函数构建训练样本,返回trains的RDD;最终获取的RDD写入到HIVE表中,用于接下来训练样本的导出。
步骤四,构建用于训练的tensorflow图,是整体的训练函数,包括训练数据的获取以及batch的生成。由于总的训练样本大约30亿,每一个batch有1024,因此,在此处设置每10000步计算一次loss值;每100000步显示一次loss值,也就是大约七分钟左右显示一次;每1000000步评估一次并存储embedding到本地。
(a)构建基于负抽样的skip-gram模型
Skip-gran模型是使用中间店铺来预测其他店铺(context)。如图2所示,输入向量为one-hot向量x(one-hot,分类方法,通常需要把数据的各个属性转化为一个向量表示,这样每条数据的特征就是一个向量,向量上的每个维度就表示了一个特征属性)。在输出端,变成了多路的输出:
其中,wc,j是预测在context出现的第c个店铺,其索引位于店铺第j个,而wo,j是真实存在的context中第c个店铺。不过由于输出层共享权重矩阵W’则有:
uc,j=uj=Vw'j T·h,对于c=1,2,...,C;
损失函数变为:
对context的第c个店铺的输出层的第j个神经元score求偏导:
出于表述上的简洁性,定义一组V维向量El={El_1,El_2,...,El_V}作为输出层的预测误差在所有context单位的累加和:
接下来,对W’求偏导:
更新W’:
(b)利用tensorflow框架训练
Tensorflow数据处理部分,利用tensorflow提供的tf.teain.AdamOptimizer优化器来处理,控制学习速度。通过使用动量(参数的移动平均数)来改善传统梯度下降,促进超参数动态调整。
步骤五,将数据利用t-sne进行可视化,获取embedding向量的直观感知,将embedding向量映射到2维,对各店铺的距离进行图形化展示。如图4所示,可以看出,在选择的1000家店铺,有些店铺是能聚类到一起的,而有些店铺是分散到平面的。
图3是本发明实施例提供的第一幅结果展示图。从店铺集合中随机选取一家店铺,然后再获取与该店铺在embedding特征空间中最近的10家店铺,展示结果如图3所示。我们可以看到,与选取的店铺最近的十家店铺,其类别大致相同;价格接近,都属于相同的价格区间;距离较近,大部分在2公里以内,属于同一个商圈。
图4是本发明实施例提供的第二幅结果展示图。将店铺的embedding向量通过t-sne算法映射到二维平面中,然后显示出来。通过图4可以发现,店铺在embedding特征空间中具有明显的聚类效果,有很多独立的簇是聚到一起的;同时,通过比较同一簇的店铺,可以发现它们大多是属于同一商圈的。
图5是本发明实施例提供的embedding特征时延与原始特征的时延比较示意图。可以发现,在应用embedding特征之后,在保证相近的AUC值条件下,融合embedding特征后线上模型的时延明显低于使用原始特征模型的时延。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种外卖场景下店铺embedding特征提取的方法,其特征在于,所述方法包括以下步骤:
步骤一:提取每个用户消费的行为序列;
步骤二:用户消费行为序列按店铺平均消费价格、店铺类别划分;
步骤三:对于划分后的消费行为序列,提取出训练样本;
步骤四:构建基于负抽样的skip-gram模型,并利用tensorflow框架训练;
步骤五:提取店铺的embedding特征向量;
其中,所述步骤一包括:应用hive提取用户一段时间内的用户所有下单店铺及其ID ,并将user_id—shop_id数据写入表格user_shop,利用 hive构建店铺字典shop_dict,其组织形式为{shop_id:index},其中index为店铺在字典中的顺序;
所述步骤二包括:将原始的user_shop表中的shop_id用字典中shop_idx索引代替;按照店铺的平均客单价、店铺一级类别进行分组去重,获得构建训练样本所需要的doc,其数据组织形式为:{user_id,array <shop_id_1,shop_id_2,...,shop_id_m>};对context内只有一家店铺的数据进行过滤,最终获得的数据组织形式为:array<shop_id_1,shop_id_2,...,shop_id_m>, 并将其存入HIVE表,用于后续训练样本的构建;
所述步骤三包括:训练样本的构建,利用python进行数据转换,并利用HIVE进行处理;对于每一个context,分别应用 get_train_samples函数构建训练样本,返回trains的RDD;最终获取的RDD写入到HIVE表中,用于接下来训练样本的导出;
所述步骤四包括:构建用于训练的tensorflow图,是整体的训练函数,包括训练数据的获取以及batch的生成;所述构建基于负抽样的skip-gram模型用于使用context的中间店铺来预测其他店铺;
所述步骤五包括:将数据利用t-sne进行可视化,获取店铺的embedding向量的直观感知,将embedding向量映射到2维,对各店铺的距离进行图形化展示。
2.如权利要求1所述的外卖场景下店铺embedding特征提取的方法,其特征在于,所述提取每个用户消费的行为序列具体包括:从数据库中,提取用户一定时间内的用户所有下单店铺及其ID,按照用户ID将数据分组,构建每个用户ID的下单店铺集合,存储到数据库中。
3.如权利要求1所述的外卖场景下店铺embedding特征提取的方法,其特征在于,所述用户消费行为序列按店铺平均消费价格、店铺类别划分具体包括:将提取出的用户下单店铺序列按店铺的平均消费价格划分为多个等级,同时将不同价格区间的店铺划分为子集合。
4.如权利要求1所述的外卖场景下店铺embedding特征提取的方法,其特征在于,所述提取店铺的embedding特征向量具体包括:用tensorflow训练好的向量保存到本地,并在实际操作中提取需要的店铺embedding特征。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711230471.1A CN108009847B (zh) | 2017-11-30 | 2017-11-30 | 外卖场景下店铺embedding特征提取的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711230471.1A CN108009847B (zh) | 2017-11-30 | 2017-11-30 | 外卖场景下店铺embedding特征提取的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108009847A CN108009847A (zh) | 2018-05-08 |
CN108009847B true CN108009847B (zh) | 2021-06-15 |
Family
ID=62054825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711230471.1A Active CN108009847B (zh) | 2017-11-30 | 2017-11-30 | 外卖场景下店铺embedding特征提取的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108009847B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109741105A (zh) * | 2018-12-29 | 2019-05-10 | 星潮闪耀移动网络科技(中国)有限公司 | 一种向量生成方法及装置 |
US11669558B2 (en) * | 2019-03-28 | 2023-06-06 | Microsoft Technology Licensing, Llc | Encoder using machine-trained term frequency weighting factors that produces a dense embedding vector |
CN110245348B (zh) * | 2019-05-17 | 2023-11-24 | 北京百度网讯科技有限公司 | 一种意图识别方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004979A (zh) * | 2009-09-03 | 2011-04-06 | 叶克 | 一种提供商品匹配推广服务的系统和方法 |
CN103886090A (zh) * | 2014-03-31 | 2014-06-25 | 北京搜狗科技发展有限公司 | 基于用户喜好的内容推荐方法及装置 |
CN104834686A (zh) * | 2015-04-17 | 2015-08-12 | 中国科学院信息工程研究所 | 一种基于混合语义矩阵的视频推荐方法 |
WO2017057921A1 (ko) * | 2015-10-02 | 2017-04-06 | 네이버 주식회사 | 딥러닝을 이용하여 텍스트 단어 및 기호 시퀀스를 값으로 하는 복수 개의 인자들로 표현된 데이터를 자동으로 분류하는 방법 및 시스템 |
CN106920147A (zh) * | 2017-02-28 | 2017-07-04 | 华中科技大学 | 一种基于词向量数据驱动的商品智能推荐方法 |
CN106959966A (zh) * | 2016-01-12 | 2017-07-18 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法及系统 |
CN107169801A (zh) * | 2017-05-22 | 2017-09-15 | 上海汇纳信息科技股份有限公司 | 店铺关联关系获取方法、系统、存储介质以及移动终端 |
-
2017
- 2017-11-30 CN CN201711230471.1A patent/CN108009847B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004979A (zh) * | 2009-09-03 | 2011-04-06 | 叶克 | 一种提供商品匹配推广服务的系统和方法 |
CN103886090A (zh) * | 2014-03-31 | 2014-06-25 | 北京搜狗科技发展有限公司 | 基于用户喜好的内容推荐方法及装置 |
CN104834686A (zh) * | 2015-04-17 | 2015-08-12 | 中国科学院信息工程研究所 | 一种基于混合语义矩阵的视频推荐方法 |
WO2017057921A1 (ko) * | 2015-10-02 | 2017-04-06 | 네이버 주식회사 | 딥러닝을 이용하여 텍스트 단어 및 기호 시퀀스를 값으로 하는 복수 개의 인자들로 표현된 데이터를 자동으로 분류하는 방법 및 시스템 |
CN106959966A (zh) * | 2016-01-12 | 2017-07-18 | 腾讯科技(深圳)有限公司 | 一种信息推荐方法及系统 |
CN106920147A (zh) * | 2017-02-28 | 2017-07-04 | 华中科技大学 | 一种基于词向量数据驱动的商品智能推荐方法 |
CN107169801A (zh) * | 2017-05-22 | 2017-09-15 | 上海汇纳信息科技股份有限公司 | 店铺关联关系获取方法、系统、存储介质以及移动终端 |
Non-Patent Citations (5)
Title |
---|
Improvement of Sentiment Analysis Based on Clustering of Word2Vec Features;Eissa M.Alshari et al;《2017 28th International Workshop on Database and Expert Systems Applications》;20170928;第123-126页 * |
word2vec Explained: deriving Mikolov et al."s negative-sampling word-embedding method;Goldberg,Yoav et al;《arXiv e-prints》;20140228;第1-5页 * |
基于LDA和Word2Vec的推荐算法研究;董文;《中国优秀硕士学位论文全文数据库信息科技辑》;20150815(第08期);摘要,第6-60页 * |
基于Word2vec的一种文档向量表示;唐明 等;《计算机科学》;20160630;第43卷(第6期);第214-217页 * |
外卖用户差评影响因素研究——基于文本评论和Word2vec;曹军 等;《现代商贸工业》;20170131(第2期);第55-56页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108009847A (zh) | 2018-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107066599B (zh) | 一种基于知识库推理的相似上市公司企业检索分类方法及系统 | |
Zhou et al. | Atrank: An attention-based user behavior modeling framework for recommendation | |
CN107491531B (zh) | 基于集成学习框架的中文网络评论情感分类方法 | |
CN107633007B (zh) | 一种基于层次化ap聚类的商品评论数据标签化系统和方法 | |
CN110990638B (zh) | 基于fpga-cpu异构环境的大规模数据查询加速装置及方法 | |
Gong et al. | Hierarchical graph transformer-based deep learning model for large-scale multi-label text classification | |
Liu et al. | Combining enterprise knowledge graph and news sentiment analysis for stock price prediction | |
Piao et al. | Housing price prediction based on CNN | |
CN107688870B (zh) | 一种基于文本流输入的深度神经网络的分层因素可视化分析方法及装置 | |
CN108009847B (zh) | 外卖场景下店铺embedding特征提取的方法 | |
CN109710835B (zh) | 一种带有时间权重的异构信息网络推荐方法 | |
CN105159971B (zh) | 一种云平台数据检索方法 | |
CN116468460B (zh) | 基于人工智能的消费金融客户画像识别系统及其方法 | |
CN111626331B (zh) | 一种自动化行业分类装置及其工作方法 | |
CN116304299A (zh) | 一种融和用户兴趣演化和梯度提升算法的个性化推荐方法 | |
CN109583712B (zh) | 一种数据指标分析方法及装置、存储介质 | |
Li et al. | Short‐Term Demand Forecast of E‐Commerce Platform Based on ConvLSTM Network | |
CN113763031A (zh) | 一种商品推荐方法、装置、电子设备及存储介质 | |
CN114004513B (zh) | 一种需求预测方法、系统及存储介质 | |
Sharma et al. | Deep learning in big data and data mining | |
Joppi et al. | POP: mining POtential Performance of new fashion products via webly cross-modal query expansion | |
Anuradha et al. | Fuzzy based summarization of product reviews for better analysis | |
Kumar et al. | A Study On the Forecasting Bigmart Sales Using Optimized Data Mining Techniques | |
Vollset et al. | Making use of external company data to improve the classification of bank transactions | |
Li et al. | Deep recommendation based on dual attention mechanism |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |