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

于磊-携程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模型可解释方面也做了一些探索性工作。随着基建的愈加完善,我们在算法上面还会有更深入的探索。

【推荐阅读】

 “携程技术”公众号

  分享,交流,成长

不止于使能:用汇川PLC功能块封装,实现伺服轴状态管理与安全逻辑 本文深入探讨了汇川PLC功能块封装在伺服轴控中的应用,详细介绍了如何通过高级封装技术实现伺服轴的状态管理与安全逻辑。文章涵盖了从基础使能到全生命周期监控的进化,多轴协同的实例化管理策略,以及安全逻辑的防御性编程技巧,为工业自动化领域的工程师提供了实用的解决方案和最佳实践。 阅读详情

相关推荐

Trae+Playwright MCP自动化测试全流程指南:从环境搭建到智能体运行

本文提供了一份详细的Trae与Playwright MCP集成指南,涵盖从Node.js、Python环境搭建到智能体创建的全流程。通过结合MCP协议,AI智能体能够理解任务并驱动Playwright执行复杂的浏览器自动化操作,实现从网页数据抓取到端到端测试的智能工作流。

banana的博客 531

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

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

携程技术 333

SAP中成本估算没有找到工艺路线消息处理实例

在针对成品的标准成本核算处理过程中,系统中会经由设定好的策略来收集成品相关成本组成,最终计算出产成品的标准成本。关于成本组成,可以归纳为三个基本要素,料,工,费。即标准成本就是要知道,生产一件成品,需要消耗多少钱的原材料?消耗多少钱的人工?以及其它的间接消耗? 某日,接到CO同事的反馈,在用CK11N做产成品标准价格核算时,提示没有工艺路线确定,但该消息为绿灯,可以通过。基于业务上的谨慎,提出分析。 从提示可以看出问题与工艺路线有关。因为,成品工艺路线中设定有成品生产所耗工时,所以,在计算产成品标准

专注SAP应用技术文章写作,致力于拉近用户与系统间的距离; 6278

携程encode 算法分析

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

2503_90751789的博客 907

【域控制器EMC】域控制器EMC设计总结

汇总项目设计当中关于EMC的设计要点,主要从原理设计、Layout、结构、外设部分总结。满足要求的器件和合理的电路能降低电磁干扰;正确的布局、接地、信号路径、屏蔽等可以减少电磁辐射。结构件设计也会对EMC性能产生影响。

weixin_42098658的博客 1259

100多台物理GPU服务器,每台服务器上有8张GPU卡,组网

计算网用 IB/RoCEv2 保证低延迟高带宽,支撑 800+GPU 的分布式训练;管理网和存储网独立部署,避免干扰核心通信;全链路冗余和规范布线,确保集群稳定运行;搭配 Slurm/K8s 和监控工具,实现高效管理。该方案可支撑千亿参数大模型训练,且具备极强的扩展性,未来可平滑扩容至 200 + 台服务器。

weixin_42795092的博客 2020

携程个性化推荐算法实践

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

huangshulang1234的博客 8049

进程间通信的七种方法实战演示!值得收藏!

线程和进程间的通讯(Inter-Process Communication, IPC)是操作系统中的一个重要概念,用于实现不同进程或同一进程中的不同线程之间的数据交换和协调。以下是几个常见的进程间通信的方式:管道、消息队列、共享内存、信号、套接字、信号量、文件映射

十年饮冰,难凉热血,保持热爱,奔赴星海! 2816

携程推荐系统架构学习

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

warrah 南极狼 3798

以阿克曼转向车为例对URDF和XACRO文件进行解读

   最近我在古月学院购买了在Gazebo中实现阿克曼转向车的仿真课程,课程资料的阿克曼小车的XACRO文件在Gazebo里加载的时候报了三个错误,在这之前,我没接触过URDF或XACRO文件,本篇文章就以这个阿克曼小车的XACRO文件为例,对URDF或XACRO文件的格式和内容进行解读,期望经过解读和学习,找到错误原因及所在,并解决这三个错误    先来放一下上面右图所示的模型的完整的XACRO文件: <?xml version="1.0"?> <!-- racecar.urdf.x

慕羽★的博客 3701

【软件测试】- 公有云、私有云、混合云简介以及如何在公有云与私有云上分别搭建测试环境

公有云、私有云以及混合云是目前云计算领域的三种主要模式。它们之间的区别主要在于部署方式、数据访问和管理控制的不同。在阿里云或腾讯云上使用 Kubernetes 和 Docker 搭建测试环境可以提供高度的可伸缩性和灵活性。这样的环境非常适合于需要在多种配置和条件下进行测试的复杂应用。通过云服务提供的工具和服务,可以轻松管理和监控整个测试过程。在云服务上搭建测试环境涉及选择合适的云提供商、配置云资源、安装和设置所需软件等步骤。### 1. 选择云服务提供商。

weixin_46453070的博客 2342

携程算法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

零承诺的启动之路:详解 SAP BTP 的 Pay-As-You-Go for SAP BTP(含案例与迁移策略)

SAP BTP的Pay-As-You-Go(PAYG)模式为零承诺的按需付费方案,适合PoC和小规模上线场景。它提供生产环境直接启用服务的能力,按月后付标准目录价,无预付和折扣。PAYG可与BTP企业协议(BTPEA/CPEA)混合使用,用量稳定后可平滑迁移至CPEA获取更好财务条款。关键优势在于灵活开启/关闭服务,支持通过SAP Discovery Center估算费用,并配合成本治理工具控制支出。该模式适用于创新项目初期,当业务规模可预测时再考虑转为承诺型消费模式。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 248

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

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

携程技术 1684

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

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

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

携程技术 846

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

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

程序员高级码农 5059

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

作者简介携程旅游研发部大数据与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、付费专栏及课程。

余额充值