从 2015 年开始,Conde Nast 创建了一个自然语言处理和内容分析引擎,以改进与其 22 个品牌所创建的内容相关的元数据。新系统使点击率提高了 30%。Conde Nast US 的软件工程师和技术经理 Antonino Rau 最近在一篇分为两部分的博文“Conde Nast的自然语言处理和内容分析”中描述了这个项目背后的动机、系统架构以及他们的 NLP 即服务系统 HAL 的发展。据介绍,他们的目标是用一个系统来取代简单的分类和标记,“自动‘逆向工程’他们的世界级编辑们在其中输入的知识。”
HAL 以电影《2001 太空漫游》中的 HAL-9000 命名,它集成了一个名为 Copilot 的专有内容管理系统(CMS)。HAL 使用 Java 构建,使用预训练或定制训练的模型运行一组分析程序,包括 JVM 内和 JVM 外模型。
HAL 的处理引擎基于一个可并行的有向无环图构建,用来分析和注解内容。它分析了内容的不同方面,提取出各种特征。例如,通过分析内容,它可以提取已知的人,然后用有关个人的链接资源注解响应。其他功能包括主题和分类或者地点和新闻故事。所有这些都带有附加的相关信息。
分析结果的整理受到了Uber Michelangelo的启发,其目标是改进和训练模型,并重复向 HAL 请求静态内容。
InfoQ 联系了Rau,了解他所做的有关 HAL 的工作。
InfoQ:您在博文中写道,“几年前,2015 年,我们决定进入下一个阶段”。你们为什么要改变它的工作方式?编辑之前是否手动为他们的文章添加标签?
Antonino Rau: 主要的动力是对编辑在不同情况下生成的内容进行自动洞察(主题、实体等等)。然后,这种内容智能将结合用户行为,构建片段、推荐和其他功能。是的,以前的编辑会手动标记。后续,他们仍然可以删除自动标签或从受控词汇表中手动添加标签。
InfoQ:您决定在 HAL 中构建自己的自然语言处理系统。您考虑过第三方的选项吗?如果考虑过,是什么让您选择在公司内部进行开发?
Rau: 是的,我们那会考察了第三方,但我们决定搭配使用定制和开源模型,因为 HAL 最初只需要面向英语,而对于该语言,有很多开源的、预训练的模型,我们只针对一种语言建立了自定义模型,对于 OSS 模型不支持的特性也很容易。最近,2018 年 11 月,Conde 决定将Conde Nast US和Conde Nast International纳入一个全球性平台,因此需要支持其他 8 种语言。我们正在研究将第三方模型集成到 HAL 中,加快 HAL 在所有 Conde 市场上、所有那些语言区域的推广。HAL 的好处是它还充当了一个防护层,因此,即使我们集成了供应商,由于它的架构,我们也可以很容易地在混合了 OSS、定制和供应商模型/分析程序的环境中进行操作,并且仍然具有相同的抽象和标准化输出。
InfoQ:您为什么选择了 Java?
Rau:运行 NLP 模型非常消耗 CPU 和内存。此外,从我们的基准、最好的功能和性能方面来看,上述 OSS 模型 Java 均可提供。最后,从 CPU 和内存密集型应用程序的系统性能和鲁棒性方面来看,Java 对于我们似乎是最好的选择。
InfoQ:HAL 的设计,尤其是有向无环图被抽象出来泛化使用令人印象深刻。在您决定采用这种方法之前,是否进行了多次迭代?您还考虑过其他的方法吗?
Rau:最初,这直接是个“管道和过滤器(pipe and filter)”方法,它使用了注解模型,正如博文中提到的文献所说的那样。但后来,我们使用的 JVM 外分析器越来越多,我们也越来越注意到,我们可以建立一个分析器图,通过互相传递注解来加速和并行化处理。
InfoQ:你们开发的东西有开源供别人使用的吗?
Rau:目前还没有,也许将来会有。
InfoQ:您提到你们内部使用了名为 Copilot 的 CMS。有自己的 CMS 对于实现 HAL 有帮助吗?或者,您觉得可以使用任何 CMS 来做吗?
Rau: Copilot 是基于一组名为 Formation Platform 的 API。我们意识到,HAL 的恰当位置是在产生内容的管道中,这样,自动丰富就成为 API 所提供的内容类型和内容模型的组成部分。但反过来也一样,HAL 的其中一个组件 Copilot-linker 是Entity-linker的实例,它会挖掘 Copilot 每天的内容类型,像餐馆、人物、场所等,“学习”编辑们输入系统的知识,自动从文章中提取这些实体,提取它们之间的联系。所以,我认为,在 Conde Nast 的上下文中,更一般来说是出版商的上下文中,内容分析和 NLP 需要与 CMS 高度协同。如果 CMS 是专有的,则更容易使其成为内部流的一部分,从而可以简化下游对这种自动丰富功能的使用,但我想也可以增加 OSS CMS,如果有恰当的扩展点的话。
InfoQ:通过 HAL 的流量是多少?
Rau:每月大约 3000 万请求。我们处理所有文本有变化的修订,有时候也处理不是来自 Condé的内容。
InfoQ:除了点击率之外,您还测量了哪些指标?HAL 对于这些指标是否有任何改进?
Rau:HAL 主题特性拥有数据科学团队的预测模型中的大多数预测特性,都已用于目标受众和消费者订阅偏好。
查看英文原文:Q&A on Condé Nast’s Natural Language Processor and Content Analysis
评论