百度开源其NLP主题模型工具包,文本分类等场景可直接使用L——LDA进行主题选择本质就是降维,然后用于推荐或者分类

简介:

2017年7月4日,百度开源了一款主题模型项目,名曰:Familia。

InfoQ记者第一时间联系到百度Familia项目负责人姜迪并对他进行采访,在本文中,他将为我们解析Familia项目的技术细节。

什么是Familia

Familia 开源项目包含文档主题推断工具、语义匹配计算工具以及基于工业级语料训练的三种主题模型:Latent Dirichlet Allocation(LDA)、SentenceLDA 和Topical Word Embedding(TWE)。

Familia支持用户以“拿来即用”的方式进行文本分类、文本聚类、个性化推荐等多种场景的调研和应用。考虑到主题模型训练成本较高以及开源主题模型资源有限的现状,我们会陆续开放基于工业级语料训练的多个垂直领域的主题模型,以及这些模型在工业界的典型应用方式,助力主题模型技术的科研和落地。

据姜迪介绍,Familia主题模型项目是百度研发的贝叶斯网技术的一个重要组成部分,已经支持了百度多个产品,包括搜索、资讯流、贴吧等等。

 

基于主题模型的文档特征表示可以分为两类,如图1所示:一类是经过主题模型降维,得到文档在主题上的多项分布,LDA、SentenceLDA等模型支持这一类的文档特征表示;另一类是联合使用主题向量和文档主题分布,生成的文档向量表示,TWE等融合了词向量的主题模型可以支持这一类的文档特征表示。

分类

案例: 新闻质量分类

对于新闻APP,其通过各种来源获得到的新闻,质量通常良莠不齐。在表2中列出了一些低质新闻与优质新闻的标题的示例。

为了提升用户体验,通常会构建一个分类器来自动过滤低质量的新闻。可以人工设计一些传统特征:新闻来源站点、新闻内容长度、图片数量、新闻热度等等。除了这些人工特征,也可利用主题模型来计算每篇新闻的主题分布,作为附加特征与人工特征一起组成新特征集合(图2(a))。

使用人工标注7000篇新闻,新闻质量总共划分为3个档位,其中0档表示质量最差,2档表示质量最优。我们采用Gradient Boost Decision Tree (GBDT),分别利用人工特征和主题扩充后的特征集合在5000篇新闻上进行训练,并在另外2000篇标注新闻数据上做测试。图2(b)展示了使用不同特征上的实验结果,在测试数据上的分类准确度。从这些实验结果可以看出,主题分布作为特征扩充可以有效提升分类器的效果。

聚类

案例: 新闻聚类

文档的主题分布可看做是包含语义信息的一个降维过程,这些低维特征可以用来对文档进行聚类。表3中展示了基于主题分布和K-Means进行聚类的部分结果。从表中可以看出,基于新闻的主题分布,可以很好的完成聚类任务,在簇1中显示的是与房子装修相关的新闻,簇2中则是聚集了与股票相关的新闻。

案例: 新闻个性化推荐

长文本-长文本的语义匹配可用于个性化推荐的任务中。在互联网应用中,当积累了用户大量的行为信息后,这些行为信息对应的文本内容可以组合成一篇抽象的“文档”,对该“文档”进行主题映射后获得的主题分布可以作为用户画像。例如,在新闻个性化推荐中,可以将用户近期阅读的新闻(或新闻标题)合并成一篇长“文档”,并将该“文档” 的主题分布作为表达用户阅读兴趣的用户画像。如图5所示,通过计算每篇实时新闻的主题分布与用户画像之间的Hellinger Distance,可作为向用户推送新闻的选择依据,达到新闻个性化推荐的效果。

摘自:http://www.infoq.com/cn/news/2017/07/Baidu-open-NLP-Toolkit'












本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/7227932.html,如需转载请自行联系原作者



相关文章
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
【AI 场景】人工智能在自然语言理解方面的挑战和解决方案
【5月更文挑战第3天】【AI 场景】人工智能在自然语言理解方面的挑战和解决方案
|
25天前
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch在NLP任务中的应用:文本分类、序列生成等
【4月更文挑战第18天】PyTorch在NLP中应用于文本分类和序列生成,支持RNN、CNN、Transformer等模型构建。其动态计算图、丰富API及强大社区使其在NLP研究中备受欢迎。预训练模型和多模态学习的发展将进一步拓宽PyTorch在NLP的应用前景。
|
26天前
|
机器学习/深度学习 自然语言处理 数据可视化
R语言NLP案例:LDA主题文本挖掘优惠券推荐网站数据
R语言NLP案例:LDA主题文本挖掘优惠券推荐网站数据
|
6月前
|
搜索推荐 中间件
系统入门到实战学习某项技术、有问题找"百度"、学习大佬的技术博客、找开源代码等资料
系统入门到实战学习某项技术、有问题找"百度"、学习大佬的技术博客、找开源代码等资料
58 0
|
4月前
|
机器学习/深度学习 数据采集 自然语言处理
NLP比赛笔记(基于论文摘要的文本分类与关键词抽取挑战赛)
NLP比赛笔记(基于论文摘要的文本分类与关键词抽取挑战赛)
77 0
|
5月前
|
Kubernetes 网络协议 Linux
百度搜索:蓝易云【【K8S&RockyLinux】基于开源操作系统搭建K8S高可用集群教程。】
这是一个简要的教程,用于基于Rocky Linux搭建Kubernetes高可用集群。请注意,具体步骤可能因Kubernetes版本、网络插件选择和环境配置而有所不同。在实际搭建过程中,请参考相关文档和官方指南,并根据您的需求进行适当的调整和配置。
203 0
|
6月前
|
缓存 Ubuntu Linux
百度搜索:蓝易云【Varnish开源HTTP反向代理缓存服务器、部署安装、测试】
通过按照上述步骤部署和配置Varnish,您可以将其作为反向代理缓存服务器来提高Web应用程序的性能和响应速度。记住,在实际部署中,您可能需要进一步调整Varnish的配置以满足您的具体需求。
48 2
|
6月前
|
缓存 Linux 开发者
百度搜索:蓝易云【Varnish开源HTTP反向代理缓存服务器、部署安装、测试。】
通过以上步骤,你可以成功部署和安装Varnish,并对Web应用程序进行测试。请根据具体需求进行适当的配置和调整,以确保Varnish能够按预期工作并提升Web应用程序的性能。
38 0
|
7月前
|
域名解析 监控 网络协议
百度搜索:蓝易云【Linux系统有哪些常用的网络命令,分别适用于什么场景?】
这些网络命令在Linux系统中广泛应用于网络管理、故障排除和诊断等场景。通过熟练掌握和使用这些命令,可以更好地管理和监控网络连接,并及时解决网络问题。
197 5
|
8月前
|
机器学习/深度学习 数据采集 人工智能
自然语言处理中的文本分类技术
自然语言处理(NLP)是人工智能领域的重要分支之一,而文本分类则是NLP中的关键任务之一。本文将介绍文本分类技术在NLP中的应用,并深入探讨其中的算法原理和实现方法。
85 0