干货 | 携程酒店推荐模型优化

于磊-携程AI和推荐系统的云化实践 于磊-携程AI和推荐系统的云化实践于磊-携程AI和推荐系统的云化实践于磊-携程AI和推荐系统的云化实践 立即下载

作者简介

 

Yorkey,携程高级算法专家,主要从事大规模分布式推荐系统设计和算法研发工作。

一、背景


当用户在线上浏览酒店时,作为旅行平台,如何挑选更合适的酒店推荐给用户,降低其选择的费力度,是需要考虑的一个问题。在携程APP中,一般会触发多种场景。在Figure 1中,我们列举了几种典型的场景:欢迎度排序,智能排序和搜索补偿推荐。

Figure1:用户触发的场景

 

欢迎度排序:在异地场景下,当用户没有明确表达自己需求的情况下,默认按照欢迎度排序展示酒店;

 

智能排序:在同城或者当用户在浏览上述排序结果的过程中,发现自己的兴趣并没有得到满足的时候,往往会添加筛选条件。比如添加地标选项,从而获得该地标附近的相关酒店。相比欢迎度排序,用户表达了更多的个性化需求。

 

搜索补偿推荐排序:如果用户在当前搜索的展示结果中,还是没有找到满足自己需要的酒店,就会不断往下翻页查看更多的搜索结果。而当满足搜索限制条件的酒店数目不足时,会触底。这个时候就会触发搜索补偿推荐。前面两个场景都没有满足用户需求,所以在搜索补偿场景中,我们需要深入挖掘用户历史行为,提供更加个性化的推荐内容。

 

本文将主要介绍我们在补偿推荐场景中所做的算法优化工作。包含模型迭代、模型迭代过程中遇到的技术需求以及针对技术需求所做的一些基建等。

 

二、推荐模型的迭代


在酒店推荐的场景中,我们需要把满足用户需求的产品优先曝光给用户,减少其使用产品的费力度。我们以用户在酒店的TOP点击(编者注:可以简单理解为用户点击排在TOP位置酒店的概率,TOP点击命中率越高,用户体验越好)和转化命中率(CR)作为费力度指标;CR优化问题被建模成二分类问题,离线采取AUC和NDCG作为模型效果评估标准。

分类问题的本质就是要找到一条决策边界函数f(x),来把正样本(比如成单)和负样本(比如没有成单)数据分开。这里,x就是模型特征,好的特征能更好地表征正负样本的差异,让函数学习事半功倍;学习函数f(x)的过程就是建模过程。在本节中,我们分别介绍下我们在特征和建模方面所尝试的工作。

 

2.1 特征

推荐特征使用的特征可以分为:用户侧特征、物品侧特征以及用户和物品的交互特征。从特征的数值特性上,又可以分成:连续值特征和离散值特征。算法刚开始接入的时候,我们的模型只有连续值特征。后经历了从完全连续值特征,到离散特征比重越来越重的过程。

连续值特征既有静态的(比如用户的性别,酒店价格等),也有基于用户行为的动态的(比如用户点击某个酒店的次数)。连续值特征的优点是具备良好的泛化能力。一个用户对一个商圈的偏好可以泛化到另外一个对这个商圈有相同统计特性的用户身上。连续值特征的缺点是缺乏记忆能力导致区分度不高。比如:在同一个商圈酒店列表中,一个用户点击了(A,B,C,D),而另外一个用户点击了(W,X,Y,Z)。虽然两个用户的行为序列不同,但是统计值特征忘记了用户具体点击了哪些酒店,认为两个用户都是点击了4家酒店。

离散值特征是细粒度的特征:设备ID,用户ID,用户点击的item ID都可以做特征。这样一来不同的人,有不同的行为就可以在特征上有很好的区分度,因此离散值特征是模型可以把千人千面做得更进一步的基础。

离散特征的优点就是记忆力强区分度高。我们还可以让离散特征通过特征组合的方式,挖掘用户对于酒店更深层次的兴趣偏好:比如点击item A的人也喜欢item B,我们可以直接基于(A,B)生成一个组合离散特征,来学习A和B的协同信息。

离散特征的缺点是泛化能力相对较弱。这是因为特征粒度太细,预测的时候命中率会偏低。同时在模型训练的时候,细粒度的特征相对粗粒度的特征更容易获得权重,让泛化能力强的粗粒度的特征学到的信息更少,进一步的恶化了模型的泛化能力。

举一个例子来说:每个样本都有一个唯一的样本id,如果我们以样本id为特征,那么我们模型训练的时候,样本id特征可以完美的拟合label;但实际测试中,会发现因为模型严重过拟合而效果非常差。这是设计离散特征需要考虑的特征记忆性和泛化性的tradeoff,也就是特征尽可能细和特征在测试数据中命中率尽可能高的tradeoff。


我们结合业务场景,探索出技术方案:可以让离散值特征在线上也有良好的泛化能力,从而最终让模型兼具较强的记忆能力和泛化能力。在工程方面:因为组合特征的存在,我们特征空间会很大(e.g. 现在酒店推荐场景特征可以轻松到亿级别),对模型训练和在线serving工程提出新的挑战。这也是我们在推进大规模离散DNN训练框架要解决的关键问题。


2.2 模型

我们模型经历了从Logistic Regression (LR),Gradient BoostingDecision Tree(GBDT)到Deep Neural Network(DNN)的迭代过程。在业务开始阶段,数据量和特征量都比较少,通常会采用LR模型。随着算法的迭代,数据量和特征规模越来越多的时候,基于XGBOOST或者LightGBM构建GBDT模型是业务成长期快速拿到收益的好的选择。当数据量越来越大的时候,需要基于DNN的框架来把个性化模型做的更细。下面对三种模型的特点做一些简单的介绍。

 

Figure2:模型决策边界

  

在Figure 2中,展示了三个模型的决策边界:

LR

在LR里,决策边界函数是线性的。

模型的优点:可以通过模型的权重大小,解释特征的重要性;同时LR支持增量更新;在引入大规模离散特征的情况下,业界在LR时代的经典做法是对LR加L1正则并通过OWLQN或者Coordinate Descent的方式进行优化,也可以通过FTRL算法让模型稀疏避免过拟合。

模型的缺点:线性决策边界这个假设太强,会让模型的精度受到限制;另外,模型的可扩展性程度低。

 

GBDT

在GBDT中,决策边界是非线性的;模型通过将样本空间分而治之的方式,来提高模型精度。

模型的优点:树模型可以计算每个特征的重要性程度,来获得一些可解释性;同时模型比LR有更高的精度。

模型的缺点:不支持大规模的离散特征,不支持增量更新;模型可扩展性程度低。

我们在酒店推荐场景中,尝试了pointwise loss和pairwise loss,每次尝试都获得了不少的提升。

 

DNN

在DNN中,决策边界是高度非线性的。我们知道计算机通过与或非这种简单的逻辑,可以表达各种复杂的对象:音频,视频,网页等。而DNN每一层网络比与或非更加复杂,DNN通过多层神经元叠加,成为一个万能函数逼近器。在理想情况下,只要有足够的数据量,不论我们实际的决策边界如何复杂,我们都可以通过DNN来表达。

同时DNN,支持增量更新,支持根据业务场景进行灵活定制各种网络结构,支持大规模离散DNN,在离散模型中学习出来的Embedding向量还可以用在向量相似召回里面。正因为有这么多的好处,DNN正在成为业界推荐算法的标配。

这个模型的缺点是:特征经过不同层交叉,交互耦合关系过于复杂,而导致可解释性不好;工程复杂度在我们用不同结构的时候所有不同。

 

下面的表总结了三个模型的特点:

模型

决策边界

大规模离散特征

增量/在线学习

精度

可扩展性

可解释性

工程复杂度

LR

线性

支持

支持

中

低

高

低

GBDT

非线性

不支持

不支持

高

低

中

中

DNN

高度非线性

支持

支持

很高

高

低

Depends

 

酒店推荐算法

Figure 3:模型结构

用户在酒店的行为包括点击(click)和转化(CR)。在LR和GBDT的算法迭代阶段,我们优化目标只用到了CR信息。后来在DNN模型优化过程中,在模型建模中也引入了click信息,主要有两方面的考虑:

1)相对CR,click行为更加稠密;同时click也能反映一定的用户个性化偏好。所以合理的利用稠密的click信息,会对最终CR的学习有所帮助。

2)在酒店列表中,用户是先有点击,再有转化。对用户的行为漏斗建模,方便分析转化不好是哪个阶段导致的。对因为点击率偏低导致转化低的酒店,可以做定向优化和机制上的细节调整。

    

在引入了click信息后,需要解决的是如何进行多目标建模的问题。因为DNN结构灵活,我们尝试了各种多目标学习的方式,最后采取了Figure 3所示的ESMM的模型结构。整个模型从下到上包括如下三个步骤。

 

1)离散特征签名:签名是通过hash函数使“特征-slot”映射到feasign,作为特征的唯一标示。每个feasign会通过模型学习得到一个K维embedding向量。

2)Pooling和Concat:离散特征由单值离散和多值离散组成:单值离散是指一个slot只有一个唯一值,比如用户id;多值离散则是一个slot会有多个值,比如用户历史点击行为。相同的slot会放到一起做sum pooling,这一操作把多值离散从N*K维向量映射为1*K维embedding向量;再和单值离散的1*K维embedding concat连接。

3)Multilayer Perceptron(MLP)和损失函数:通过pooling和concat将每条样本映射为固定长度的1*M维向量,通过全连接神经网络,以交叉熵为损失函数拟合是否点击、转化两个二分类目标。

    

基于以上的模型框架,我们相对pairwise的GBDT模型,有了显著的提升。后来在以上模型结构的基础上,我们针对离散特征,做了更多模型交叉的尝试,其中Deep Cross Network(DCN)模型结构,在用户费力度指标和AUC/NDCG这些模型指标上都获得了非常大的提升。

在模型推进的过程中,我们也遇到了很多问题。包括如何做normalization、如何处理异常值和缺省值、在从LR到GBDT再到DNN升级中如何处理数据分布变化,这些细节对最终模型线上效果都有直接的影响。当然还有一些很基础性的困难,是跟工程团队一起克服推进的。这个困难主要包括两方面:

1)DNN模型结构灵活,在离散特征加成下,规模也很大。我们需要一个模型训练平台,支持我们定义any model并且支持any scale规模模型的训练。

2)在DNN这种复杂的非线性模型下,线上线下不一致问题会被放大。一个直接的影响是线下AUC提升很明显,但是线上效果是负向的。

针对这两个问题,我们开发了一套大规模离散DNN模型训练框架和统一特征处理框架,分别解决以上两个问题。


三、推荐工程的演进


针对策略需求,推荐中台做了很多的标准化服务。在本章节中,我们主要介绍推荐中台里面的大规模离散DNN训练框架和特征处理框架。

 

3.1大规模离散DNN训练框架

大规模离散DNN模型因为具备很高精度和灵活性,成为目前业界做推荐算法的主流方法。但要推进大规模离散DNN在我们业务场景中落地,有一个前提:需要一个能训练大规模离散DNN模型的框架。我们结合长期实践经验,开发了一套分布式大规模离散DNN训练平台。这个平台具备如下特点:

支持任意形式的模型Any Model:训练框架前端采取tensorflow。Tensorflow允许我们定义任意在推荐中常用的网络结构,并提供网络结构梯度计算功能。

支持任意规模的模型Any Scale:训练框架后端是一个异步参数服务器;服务器节点可以任意横向扩展。服务器会做梯度融合和权重更新的工作。

开箱即用的默认参数:参数服务器中的参数(学习率,初始值范围)和权重更新函数是经过长期实践的结果;用这组默认的参数,不用调参,基本上在我们碰到的推荐业务场景都具备良好的效果。DNN调参是比较关键的,参数调整不合适会直接影响模型精度;而因为DNN的复杂性,调参往往需要较长的时间摸索。我们调研的相对通用的默认参数,是目前上线快速迭代的前提。

模型框架有如下几个部分组成:

Front前端:采取Tensorflow,策略同学通过python编写模型结构;tensorflow本身提供灵活的网络结构定义和梯度计算能力。Tensorflow是我们策略扩展性的保障。

Client端:Front通过Client和Server进行通信;通信的内容就是(feasign, grads/weights)。Client可以看作一个路由器:feasign可以看作是ip,我们根据feasign把相应的特征分发到相应的server机器上;而grads/weights可以看作通讯报文;而通信push/pull可以看作http的post/request请求。

Server端:基于BRPC协议,用c++编写的后台。目前酒店推荐模型扫描一天只需要6分钟,训练效率高于xgb。Server端把每次请求里相同的梯度信息做merge,并且根据自定义的优化器进行权重更新。Server可以通过增加节点来横向扩展。Server是我们工程能力扩展性的保障。

我们构建了分布式训练集群,开发了python API接口以支持用户模型任务的创建,任务队列的管理以及日志监控等。现在这套大规模离散DNN的训练框架以中台服务的形式,同时支持着许多其他场景推荐模型的迭代。

 

3.2 统一特征处理框架

线上线下不一致是目前推荐算法应用常见的问题。出现这个问题的本质原因有两个方面:

1)输入不一致:在业务的早期,我们并没有完善的落日志服务。离线训练数据的输入来自hive表的落盘数据;而线上的特征是来自近线数据服务。虽然工程同学建立了一定的数据同步机制,但仍然难以保证线上和线下数据严格一致。

2)OP不一致:在业务早期,离线特征处理OP的逻辑是由策略的同学在hive调度框架上以hive sql的形式实现的;而线上代码则由策略同学跟工程的同学沟通后,由工程的同学开发的java OP。这里面既存在策略工程两边同学沟通代价,也带来了因为不同人在实现OP细节的时候存在的不一致。

如果没有标准的框架来做特征处理的话,每次上线都会花很多时间在分析、排查线上线下问题上。

针对这个问题,推荐中台专门开发了一套统一的特征处理框架。在这个框架里面,我们做到了数据跟框架的解耦,以方便框架做不同业务场景的扩展。数据以标准化的Protobuf(PB)协议定义,线上用户请求的时候框架会填充PB里面的上下文、用户侧和Item侧的信息。线上用这个PB作为特征抽取的输入,并同时异步落盘PB数据到hive表中。这样一来线上线下特征输入都是同一份PB数据,保证输入严格一致。同时我们线上线下用同一个特征抽取JAR包,特征配置也是同一份,这样保证OP严格一致。

通过这种方式,彻底地解决了线上线下不一致问题。特征抽取框架作为推荐中台模型服务的重要组成部分,支持很多业务场景做标准化的特征工程迭代。在这套框架下,工程同学专注优化框架性能,策略同学专注实现OP算子。这样一来,策略工程同学各司其职,减少不必要的沟通代价,增加整体迭代效率。


四、总结

本文主要介绍了我们在推进酒店排序模型迭代过程中,在策略和工程方面做的尝试,线上也取得了不错的效果。实际酒店业务中,排序模型仅仅是整个系统中的一环。线上推荐系统还要综合考虑用户端、平台方和酒店端的多方生态。但不论如何,准确的预估用户的个性化偏好,是任何精细化机制策略的基础。

在未来的工作中,我们还会面临很多挑战。比如酒店业务同学非常关注的黑盒模型的可解释性问题,我们在DNN模型可解释方面也做了一些探索性工作。随着基建的愈加完善,我们在算法上面还会有更深入的探索。

【推荐阅读】

 “携程技术”公众号

  分享,交流,成长

TriCore架构-基于TC397的启动流程 TC397芯片的启动流程分为三个关键阶段:固件启动(BootFirmware)、Bootloader引导和应用程序启动。BootFirmware作为硬件信任根,包含SSW基础初始化、CHSW自检和BSL应急刷写通道。Bootloader承担安全验证和程序引导功能,支持双分区(AB-SWAP)和双引导方案(PBL/SBL)。安全启动通过校验机制确保软件完整性,提供三种可选技术方案。应用程序启动阶段实现软件双分区管理,支持SOTA更新。整个流程体现了汽车电子系统的安全设计理念,通过硬件级保护与软件验证相结合确保 阅读详情

相关推荐

AI开发助手介绍

AI开发助手介绍随着NLP方向发展越来越成熟,AI写代码领域出现了几个非常好的模型,今天笔者给大家推荐几个AI Coding 助手AI Coding助手是以IDEA插件或vim插件形式提供服务,在编辑器中写代码时,可以实时预测下一行要输入的代码,提升开发效率。Github Copilot首先要介绍的是Github Copilot,Copilot是个AI Coding助手,它从注释和代码中提取上下文,给出单行和整个函数的代码建议,Copilot由Open AI 的CodeX模型提供支持,它是一个由OpenAI

bobo_simpler的博客 5765

AI专栏 | AB实验新突破:携程提出图贪心分流算法,解决两大核心难题

通过图算法模块,降低实验组之间的流量交叉。用户端实验中,用户一般可以看做独立的个体,但非用户端实验则不然,如电商平台上的“鼠标”和“鼠标垫”显然不具备独立性,它们极易同时曝光给同一用户群体,这就导致若商品“鼠标”被分至实验组,而“鼠标垫”被分至对照组,且被同一用户看到,这两个商品之间就会互相影响,导致实验结论可信度降低。,在算法中额外给定用户和分流实体的历史交叉信息(如用户历史浏览的商品,下文用uv数据代指该信息),将交叉信息抽象为图,将原分流单位打包为新的分流单位,让新的分流实体之间流量交叉尽可能隔离。

携程技术 333

DNA pull-down技术避坑指南:从探针设计到质谱验证的完整实验方案

本文提供了一份详尽的DNA pull-down技术实战避坑指南,涵盖从探针设计、生物素标记、磁珠选择与预处理,到结合洗脱优化及下游质谱验证或Western Blot验证的全流程。重点解析了如何通过精细操作降低非特异性结合、提高实验特异性与重复性,并对比了质谱与WB两种验证路径的适用场景,旨在帮助研究者构建稳健可靠的DNA-蛋白质互作研究体系。

weixin_29274337的博客 495

携程encode 算法分析

随机数生成随机key;随机key加上iv通过运算得到真实aes_key;真实aes_key+固定IV 进行AES CBC加密生成密文;最后将随机key通过运算插入到密文中。​ 解密的话也很简单,从密文中抽取随机key出来,然后通过encryptOne与IV计算得到真实AES_KEY,再加上另一个固定IV通过 AES CBC解密得到明文。

2503_90751789的博客 907

Qt 5.12.8在Linux下编译qtvirtualkeyboard模块,我踩过的那些坑(附完整解决方案)

本文详细介绍了在Linux系统下为Qt 5.12.8单独编译qtvirtualkeyboard模块的完整解决方案。通过分析模块缺失原因、提供精准的编译步骤和常见问题处理,帮助开发者高效解决虚拟键盘模块缺失问题,避免重新编译整个Qt源码的繁琐过程。

weixin_29248611的博客 458

【CIC-IDS数据集+机器学习】实现网络流量异常检测

本项目基于CIC-IDS数据集,使用多种机器学习算法实现网络流量异常检测系统。项目采用了完整的机器学习工作流程,从数据预处理到模型部署,实现了高精度的网络入侵检测。

XiaoMu_001的博客 1935

携程个性化推荐算法实践

携程个性化推荐算法实践 携程作为国内领先的OTA,每天向上千万用户提供全方位的旅行服务,如何为如此众多的用户发现适合自己的旅游产品与服务,挖掘潜在的兴趣,缓解信息过载,个性化推荐系统与算法在其中发挥着不可或缺的作用。而OTA的个性化推荐一直也是个难点,没有太多成功经验可以借鉴,本文分享了携程在个性化推荐实践中的一些尝试与摸索。 推荐流程大体上可以分为3个部分,召回、

huangshulang1234的博客 8049

手把手教你用FPGA驱动DAC8830:一个Verilog SPI驱动模块的完整实现与调试

本文详细介绍了如何使用FPGA通过Verilog实现DAC8830的SPI驱动模块,包括SPI通信机制解析、Verilog模块设计、代码优化及调试技巧。重点解决时钟同步、状态机设计等工程实践问题,适用于音频处理、仪器仪表等高精度数模转换场景。

weixin_26886855的博客 229

携程推荐系统架构学习

下图是携程推荐系统的架构图,参考携程大数据实践:高并发应用架构及推荐系统案例 这个图,画的较携程应用系统整体架构学习清晰。 对我的技术选型和架构设计有很多借鉴参考的地方 1 数据采集 采集的是哪些数据? 采集数据的格式是什么? 采集数据的工具是什么?采集数据时间窗如何? 数据传输方式是什么? 2 数据清晰

warrah 南极狼 3798

LSTM 双向 Bi-LSTM

LSTM 双向 Bi-LSTM

jacke121的专栏 1516

YOLO26涨点改进 | 检测头Head创新改进篇 | 利用DynamicConv高效动态卷积改进YOLO26检测头,DyHead通过增强检测头操作,轻量化改进、提高模型目标检测的精度

YOLO26作为新一代轻量化目标检测模型的代表,凭借精简的Backbone架构、高效的特征融合 Neck 设计,在实时检测场景(如嵌入式设备、边缘计算)中展现出优异的性能,成为工业落地与科研入门的优选模型。但在实际应用中,YOLO26原生检测头仍存在核心瓶颈:采用固定参数卷积核,无法根据输入特征的目标尺度、纹理差异动态调整卷积权重,导致多尺度目标适配不足、复杂背景下特征利用率低,且传统改进方案往往难以平衡“精度提升”与“轻量化”,要么精度提升有限,要么大幅增加参数量、拖累推理速度。

qq_36130719的博客 370

携程算法8.15

第一题 输入两个递增正整数序列 输出(n+1)//2位置的数 要求时间复杂度不超过O(log(n)) 第二题 第一行输入总共有多少钱 第二行输入各个摊子产品的价钱 产品可以重复买 输出把这些钱正好全部花完买的最少产品数 不能正好花完输出-1 l = [] x= input() l = list(map(int, x.split())) money = int(input()) l.sort(reverse = True) def spend(l, money): count = 0...

momo4826的博客 465

基于深度学习YOLOv8的商品识别系统(深度学习 + UI界面 + 训练数据集 + Python代码)

如果使用自定义数据集,可以通过图像标注工具如LabelImg来标注每个商品的类别和边界框,并保存为YOLO格式的文本文件。bash复制编辑/dataset/images/train/val/labels/train/val这样,我们就准备好了数据集,可以开始训练YOLOv8模型。本文介绍了如何使用YOLOv8构建一个商品识别系统,包括从数据准备到模型训练,再到UI界面的开发。通过深度学习技术,尤其是YOLOv8的高效目标检测能力,我们能够快速实现商品识别并集成到实际应用中。

YOLO 302

干货 | 机器学习模型在携程海外酒店推荐场景中的应用

作者简介Louisa,携程算法工程师,热爱前沿算法和技术在个性化推荐和广告建模等业务的性能优化和落地。导读互联网企业的核心需求是“增长”,移动互联时代下的在线旅游业也不例外。随着大数据...

携程技术 1684

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

干货 | 强化学习在携程酒店推荐排序中的应用探索

作者简介宣云儿,携程酒店排序算法工程师,主要负责酒店排序相关的算法逻辑方案设计实施。目前主要的兴趣在于排序学习、强化学习等领域的理论与应用。前言目前携程酒店绝大部分排序业...

携程技术 846

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

携程T7用637页PDF,解读十余热门技术领域,八场携程技术沙龙干货

前言 首先介绍一下携程的职级和薪资待遇 职类:T(技术)、P(业务)、M(市场) 等级划分: tips: 1.最近⼏年携程股票涨了很多倍,很多⽼员⼯股票都有⼏百万,不考虑在内。2.携程⼊职时可以⾃⼰选择股票和现⾦哪个更多,越晚进去的⼈股票越少。 ⽐如Q1拿 300股,Q2只能拿到 240股。 3.携程没有那么规范,会根据当前的股票价格去给股数,携程很多⽼员⼯出不来,就是因为⼿上股票太多了。 年终奖:12薪+2-4个⽉年终奖(普遍 1.5个⽉),年中+年末各发⼀次 绩效 5分制:a(4.2+

程序员高级码农 5059

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

干货 | 深度学习在携程搜索词义解析中的应用

作者简介携程旅游研发部大数据与AI研发团队,为旅游事业部提供丰富的AI技术产品和技术能力。一、背景介绍搜索是电商最重要的门面之一,大部分用户通过搜索来找到他们想要的商品,因此搜索是用户表达意图最直接的方式,也是转化率最高的流量来源之一。绝大部分的电商搜索是通过搜索框输入搜索词(Query)来完成,因此,搜索词的词义解析和意图理解成为了搜索中的重要一环。主流的搜索词义解析和Query理解需要经过纠错...

携程技术 3130

【推荐系统】深度学习大行其道,个性化推荐如何与时俱进?

作者|携程基础业务研发部 编辑|EmilyAI 前线导读:携程作为国内领先的 OTA,每天向上千万用户提供全方位的旅行服务,如何为如此众多的用户发现适合自己的旅游产品与服务,挖掘潜在的兴趣,缓解信息过载,个性化推荐系统与算法在其中发挥着不可或缺的作用。而 OTA 的个性化推荐一直也是个难点,没有太多成功经验可以借鉴,本文分享了携程在个性化推荐实践中的一些尝试与摸索。声明 | 本文为 InfoQ 特

产业智能官 8291

《携程技术2020年度合辑》,送给爱学习的你

01序言 2020年跌宕起伏,突如其来的疫情对旅游行业造成了前所未有的冲击,也让更多人进一步感受到技术互联互通的重要性。对于旅游业技术人而言,外部的不可控因素让我们更加聚焦于系...

携程技术 728

携程算法工程师一面面经

GRPO,PPO,DPO LoRA调参和全局调参的区别,为什么冻结一部份参数达到的效果好。问了一段机器学习预测算法的经历,和一段VQA大模型的经历。对于和酒店打电话推销产品的语料库,怎么找到最优的推销话术。baseline选了哪些,树和神经网络预测的差别。,即可加入AI算法岗&开放岗求职群(知识星球)想看更多面试题和答案,请加入AI校招群获取!神经网络的结构,如何调参,选了哪些特征。更多最新面经/面试题,尽在求职群!AI/CV重磅干货,第一时间送达。,并可以快速访问群里的资源。AI求职群和升学群成立!

阿木寺的博客 200

2026年OTA酒店运营亲测有效案例分享

在2026年的OTA酒店运营中,精细化管理和多渠道营销是关键。通过数据分析、关键词优化、短视频营销等手段,可以有效提升酒店在OTA平台上的表现。枕畔集团凭借其先进的技术和丰富的经验,为众多酒店提供了全面的数字化运营解决方案,帮助他们实现业绩增长和品牌提升。未来,随着技术的不断进步和市场的变化,酒店运营将更加注重用户体验和个性化服务。枕畔集团将继续致力于技术创新和服务优化,为更多酒店提供优质的数字化运营支持,共同推动行业的健康发展。{图片链接}

l6549851694的博客 507

学习这篇总结后,你也能做出天天快报一样的推荐系统

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由jj发表于云+社区专栏 一、推荐系统概述 1.1 概述 推荐系统目前几乎无处不在,主流的app都基本应用到了推荐系统。例如,旅游出行,携程、去哪儿等都会给你推荐机票、酒店等等;点外卖,饿了么、美团等会给你推荐饭店;购物的时候,京东、淘宝、亚马逊等会给你推荐“可能喜欢”的物品;看新闻,今日头条、腾讯新闻等都会给你推送你感兴趣的新闻...

weixin_34365635的博客 437

生成式引擎优化(GEO)实战:本地生活AI搜索获客方案

随着AI大模型成为主流搜索入口,传统推广模式逐渐显现短板。文章围绕本地生活实体店场景,梳理AI曝光不足、流量依赖付费、信息碎片化等痛点,结合GEO优化与实体店全域运营思路,提出可复用的内容布局、矩阵分发、关键词优化解决方案,助力商家抢占AI搜索流量。

2602_96238952的博客 589
上一篇: 干货 | 百万QPS,秒级延迟,携程基于实时流的大数据基础层建设
下一篇: 干货 | 减少50%空间,携程机票React Native Bundle 分析与优化
携程技术
博客等级 码龄10年 3716粉丝 324原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值