WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践

2024-02-22 07:30

本文主要是介绍WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在 WAIC 2021 AI 开发者论坛上,知乎合伙人兼 CTO 李大海发表主题演讲《基于 AI 的智能社区多模态数据融合研究与实践》。在演讲中,他主要介绍了知乎在智能社区时代多模态数据融合中的研究以及实践进展。

以下为李大海在 WAIC 2021 AI 开发者论坛上的演讲内容,机器之心进行了不改变原意的编辑、整理:

WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践

我今天的主题是基于 AI 的智能社区多模态数据融合应用实践。

多模态最近很火,刚刚「好未来」的吴总也讲了这个主题。虽然都是多模态,但大家业务场景不同,使用的侧重面不一样。我们更侧重于对比学习利用多模态把视频和文本对齐这个角度上做工作。

简单说一下「知乎」,知乎是一个以问答为主的在线社区,今年已经是知乎上线的第十个年头,在十年里面,经历了四个阶段,第一个阶段是封闭阶段,封闭运营,运营两年,从 2013 年开始开放,就不断的在拓展讨论的场景和讨论话题,用户规模不断扩大。2018 年知乎提出了智能社区的概念跟战略,通过技术升级把人工智能技术全面应用在内容生产、内容分发、社区治理等领域里面。

这也是我第二次带参加 AI 开发者大会,去年因为疫情关系,通过直播参与。这两年我们也看到,也是由于疫情和 5G 技术的发展,视频、直播等的形态越来越普及。知乎上也是一样,有越来越多用户,在知乎上通过视频分享自己的知识、经验、见解。在这个过程中我们也认识到视频跟图文有各自的优缺点和适用场景,视频会更直观,图文有非线性的结构,喜欢用户可以快速略过,可以在不同模块之间进行跳动,两个适用场景不一样。

一、图文多模态预训练

当知乎决定把视频当成主要的媒介形态时,我们希望通过媒介升级,让它变成知乎内容的重要承载形式。这个是我们的一个认知,进行这样的工作在技术上需要对视频进行智能化。

从业务和产品上来看,视频在知乎的发展,不是凭空出现的,是从一个个问题和图文回答中逐步涌现出来的,因此,在技术上,我们也不应该从零搭建针对视频的算法体系,那样既不经济,还需要考虑图文和视频两套系统之间的兼容性问题。举个例子,经过这么多年的发展,知乎已经有一个超过 50 万话题的话题树,我们没有必要在视频上放弃这套系统,那样既会增加产品复杂度,也需要考虑两套话题系统的对齐问题。

在规划视频智能化技术工作的时候,很自然的就考虑以多模态为核心工作,后面逻辑很简单,因为利用多模态的算法对齐能力,能够很快地把知乎过去积攒数据的能力和积攒的各种数据用起来,在工作里面首先做最基本的图文多模态的预训练。

WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践

预训练模型采用的是双流对比学习框架,很像是在推进里面用的双塔模型,左边是图像流,右边是文本流。

文本流这边会采用成熟的自然语言预训练模型 Bert/Roberta。左边的图像流我们做了较多的尝试。大家看到右侧模型是当前做完尝试以后,在线上发现效果比较好的,是由三部分组成。

第一部分是用 ResNet 预训练模型去提取图像全局的信息,第二部分是利用 Detectron2 预训练模型去抽取图像的对象检测位置跟边界信息,第三部分是在图像里面进行对象检测以后得到的文本信息。对三个信息进行融合以后,作为图片流的输出;这部分输出与文本流的输出进行比对,将画面中的目标位置、目标类别与文本描述进行对齐,利用知乎上的上亿级图片及图片附加的描述信息作为训练样本,可以实现较好的对图片的理解能力。

图文的多模态预训练模型在视频领域已经可以有很好的应用了。下面展示产品化其中一个工作,在去年下半年发布了一款图文一键转视频工具,内部也叫做 PPT 视频创作工具,是给我们的图文创作者使用的。知乎上的图文创作者可以利用这样一个工具,快速把自己的文字回答或者文章转化成为一个视频。

WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践

这个转化过程中,主要思路就是把文章里每一段话或者每一个句子通过模型找到相对应的图片或者动图或者一段短视频,通过预训练模型可以把每一段文字跟素材库里面的图片进行相关性计算。相关性高的可以主动拿出来,通过这种方式可以去生成还不错的 PPT 视频。

同时还有另一个应用,创作者可以主动输入关键词,在素材库里面找到和关键词匹配度最高图片,让它自己主动构建视频素材流。

WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践

二、视频搜索相关性

完成了这些基础的工作以后,就具备了文本跟图片的对齐能力,可以开始基于能力去构造视频跟文本的对齐功能,形成对齐网络。

在实际工作中会把视频里面的关键帧抽取出来,通过训练模型对每个关键帧生成表示,通过 Transformer 模型进行转化,转化完以后再用搜索的 query 进行预训练,就可以得到搜索 query 和视频相关性的预测。在线上实际结果,使用模型会比线上的用户搜索满意度提高 1% 的绝对值,效果还是非常显著的。

WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践

三、视频话题匹配与排序

知乎本身经过这么多年发展,构建了超过 50 万的话题数。除了视频搜索之外,在用户发布一条视频的时候,我们也希望视频能够跟 50 万个话题产生关系,能够自动标注出视频跟哪个话题相关。有了这样一个标注后,对于后续视频的分发,视频的理解以及其他用户可见的产品特性都是非常有帮助的,尤其是基于前面的模型构建视频与话题的匹配度的应用。

WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践

这个应用首先的基础关键帧抽取没有变化,但同时还会利用视频的标题,再去融合到一个 Encoder 中。然后会跟话题进行相关性的计算,这是一个 Ranking 的部分,在 Ranking 之前有 50 万的话题基础,可以说是一个极限多匹配的典型场景。

在这个场景里面,真实落地会有召回动作。在实操上综合使用多种索引方式去做召回,有 PMI 的索引,有 Embedding 的索引,以及简单的 Lablel Name 的索引。这些索引用的都是视频的标题,在我们的产品里面,视频可以是视频实体,本身就有标题,也可以是视频回答,视频回答本身是跟问题相关的。

不管怎么样都会有对应文本信息,例如搜索「饭后吃苹果的八大好处」「吃苹果都会有什么好处」,可以通过基本的文本信息,从几十万的话题里面招回几百个话题再进行精排。

WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践

四、后深度学习时代的 AI 应用

这次的主题是《后深度学习时代的 AI 应用》,其实在对比后深度学习时代和前深度学习时代,可以看到业界、学术界的进展更多聚焦在相对底层的领域,比如学习框架、调参的方法论,模型结构都在不断往前发展。但是到最近一两年,方法论加上数据结合在一起产生的预训练模型,也生产出了大量的计算结果。

知乎更偏向于利用 AI 技术去开发应用,那么在后深度学习时代 AI 技术怎么用?基于 AI 技术的应用要如何做?这是我们要面临的挑战。

我们需要用到预训练模型,用到抽象程度更高的,业界公认的最好的训练成果。刚刚展示的我们的产品和工作成果中,大量运用了各种各样的预训练模型。用了预训练模型以后,再针对场景去构建自己的训练样本,并基于目标做微调,这是在知乎内部重点做的工作。

「在 AI 时代,重要的是前人栽树,后人乘凉。」我们也在思考,用优秀的预训练模型完成自己工作的同时,能为后人带来什么呢?在我今天的分享里面提到的模型都是已经上线,已经产生收益的具体模型,知乎还在不断去构建综合图文、视频还有声音等媒介统一的大型预训练模型,这样预训练模型基于知乎积累的大量图文视频数据会越来越成熟。

希望当我们工作做的比较成熟的时候,可以把这些模型完全开放出来,提供给学界和工业界更多的开发者朋友们使用。

当然,在整个知乎视频智能化工作中,光有多模态学习也是不够的,我们还做了很多其他工作,这里我简单介绍下一项技术:语音复刻技术。这项技术是在我们推出的一个图文一键转视频的工具上。通过批量化复刻语音,提高生产效率。

这篇关于WAIC | 知乎CTO李大海:基于AI的智能社区多模态数据融合研究与实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/734535

相关文章

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll

Pandas统计每行数据中的空值的方法示例

《Pandas统计每行数据中的空值的方法示例》处理缺失数据(NaN值)是一个非常常见的问题,本文主要介绍了Pandas统计每行数据中的空值的方法示例,具有一定的参考价值,感兴趣的可以了解一下... 目录什么是空值?为什么要统计空值?准备工作创建示例数据统计每行空值数量进一步分析www.chinasem.cn处

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

Spring Boot 整合 SSE的高级实践(Server-Sent Events)

《SpringBoot整合SSE的高级实践(Server-SentEvents)》SSE(Server-SentEvents)是一种基于HTTP协议的单向通信机制,允许服务器向浏览器持续发送实... 目录1、简述2、Spring Boot 中的SSE实现2.1 添加依赖2.2 实现后端接口2.3 配置超时时