带你读《2022技术人的百宝黑皮书》——淘宝Push智能文案生成(4)

简介: 带你读《2022技术人的百宝黑皮书》——淘宝Push智能文案生成(4)

带你读《2022技术人的百宝黑皮书》——淘宝Push智能文案生成(3) https://developer.aliyun.com/article/1246902?groupCode=taobaotech



优化迭代


文案生成重复问题


生成模型一般由编码器和解码器两部分构成,编码器主要用于分析输入序列抽取隐层表达,解码器用于生成输出序列。其中beam_search是常用的内容生成解码方法之一。但是,由于beam search在解码过程中不断缩小搜索域范围,虽然能够大大减少计算开销,但是也存在很多明显弊端,比如数据下溢、倾向于生产短序列、生产内容单


一、容易出现重复等等。我们通过采用分组生成同时加入惩罚项的方法优化算法--Diverse Beam Search。将beam再分组,引入累积多样性保留每个时间步使用的相同单词的数量,表明总体上的差异。该方法有效缓解了生产内容重复问题。


image.png


通过引入惩罚项可以增强文本多样性,但不能完全解决生成重复问题。而SimHash是一种快速估计两组数据相似程度的技术,Google抓取工具使用该算法来查找附近重复的页面[4]。因此我们在生成结果后又加入了SimHash方法去重,该方法通过为两个文案生成向量指纹再比较两个指纹的海明距离。可以有效去除重复文本。


离线试验对比结果表明,通过实现batch beam search算法,使得生成模型可并行解码离线解码时间从3s降低0.7s,同时加入多样性惩罚项Disverse beam search和Simhash去重,最多可同时生成225+条可用文案内容。



带你读《2022技术人的百宝黑皮书》——淘宝Push智能文案生成(5) https://developer.aliyun.com/article/1246900?groupCode=taobaotech

相关文章
|
存储 缓存 负载均衡
Tair分布式缓存
Redis很好用,相比memcached多了很多数据结构,支持持久化。但是在很长一段时间里,原生是不支持分布式的。后来就出现了很多redis集群类产品,Tair是其中胜出的优秀作品之一。 所以Tair的特性都是一些集群的特性,比如:容错、解决单点故障、跨机房管理、多集群管理、支持副本等。总而言之,是redis的高可用版本。
2217 1
Tair分布式缓存
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
1103 0
|
10月前
|
Web App开发 网络协议 应用服务中间件
HTTP2.0 从原理到实践,保证把你治得服服帖帖!
HTTP/2 是 HTTP/1.1 的重要升级,通过多路复用、头部压缩、服务器推送等特性显著提升性能与效率。本文详细解析了 HTTP/2 的优势、配置方法及实际应用,涵盖 Nginx/Apache/IIS 配置、curl 测试工具使用,并对比 HTTP/1.1 指出其优化点。同时提醒需注意 HTTPS 支持、客户端兼容性等问题,助你高效掌握并运用 HTTP/2 技术。
1033 5
HTTP2.0 从原理到实践,保证把你治得服服帖帖!
|
监控 容灾 Java
系统稳定性建设三件事
本文分享了作者学习稳定性工作、构建思路、落实方案,面对问题不断反思再推进的经验总结。
系统稳定性建设三件事
|
NoSQL 算法 Java
Java Redis多限流
通过本文的介绍,我们详细讲解了如何在Java中使用Redis实现三种不同的限流策略:固定窗口限流、滑动窗口限流和令牌桶算法。每种限流策略都有其适用的场景和特点,根据具体需求选择合适的限流策略可以有效保护系统资源和提高服务的稳定性。
500 18
|
安全 算法 Java
Java CAS原理和应用场景大揭秘:你掌握了吗?
CAS(Compare and Swap)是一种乐观锁机制,通过硬件指令实现原子操作,确保多线程环境下对共享变量的安全访问。它避免了传统互斥锁的性能开销和线程阻塞问题。CAS操作包含三个步骤:获取期望值、比较当前值与期望值是否相等、若相等则更新为新值。CAS广泛应用于高并发场景,如数据库事务、分布式锁、无锁数据结构等,但需注意ABA问题。Java中常用`java.util.concurrent.atomic`包下的类支持CAS操作。
603 2
|
Java
线程池内部机制:线程的保活与回收策略
【10月更文挑战第24天】 线程池是现代并发编程中管理线程资源的一种高效机制。它不仅能够复用线程,减少创建和销毁线程的开销,还能有效控制并发线程的数量,提高系统资源的利用率。本文将深入探讨线程池中线程的保活和回收机制,帮助你更好地理解和使用线程池。
678 2
|
新零售 安全 Linux
阿里巴巴正式开源自研容器技术Pouch
阿里巴巴正式开源了基于Apache 2.0协议的容器技术Pouch。Pouch是一款轻量级的容器技术,拥有快速高效、可移植性高、资源占用少等特性,主要帮助阿里更快的做到内部业务的交付,同时提高超大规模下数据中心的物理资源利用率。
8823 1
|
机器学习/深度学习 自然语言处理 监控
带你读《2022技术人的百宝黑皮书》——淘宝Push智能文案生成(8)
带你读《2022技术人的百宝黑皮书》——淘宝Push智能文案生成(8)
344 0
|
Linux Shell 网络安全
如何从命令行关闭或重启远程 Linux 主机?
如何从命令行关闭或重启远程 Linux 主机?
848 0
如何从命令行关闭或重启远程 Linux 主机?