NLP新进展

2024-01-11 09:48
文章标签 nlp 新进展

本文主要是介绍NLP新进展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对NLP以及推荐系统未来发展趋势的看法

我觉得Bert的出现比把深度学习引入NLP还要重要些,主要原因是Bert的两阶段模式效果远远超出预期。另外,它给NLP研发者趟通并指明了一条光明大道:就是通过自监督学习,把大量非监督的文本充分利用起来,并将其中的语言知识编码,对各种下游NLP任务产生巨大的积极作用。

而且我的个人判断是:Bert+Transformer有可能在未来几年替代掉NLP各个不同应用领域之前五花八门的具体技术,有可能成为一个NLP领域的大一统模型,这在NLP历史上也是没有出现过的情形。总而言之,Bert的重要性再强调也不为过。

我觉得之所以之前大家普遍认为中文比较难,是因为技术发展不够成熟,没有一个强大的特征抽取器导致的。所以需要很多人工的工作,或者需要把NLP划分为多个阶段,把一个难题分而治之,但是也会带来相应的问题,比如错误累计和放大等问题等。随着技术的发展,我觉得这些都不是必要的,不同语言不是问题,所有任务都应该End to End的被解决,包括分词等,我感觉也不是必须单独存在的。

工业化的推荐系统经过最近几年的发展,目前已经进化到了深度学习时代,代表性的模型有很多,比如Wide& Deep或者DeepFM模型。但是跟NLP或者图像领域相比,很明显深度学习在实用化的推荐系统应用场景还未能发挥符合人们期待的效果。并没有哪个深度学习推荐模型能够相对传统模型有非常大的性能提升,这里面原因可能比较复杂。从模型角度看,我比较看好将Transformer模型应用在推荐领域,大家知道,Transformer在NLP里面已经大放异彩,而且从机制上,它是比较适合用来做推荐或者CTR模型的。但是可能仍然需要针对推荐领域的特点做些改造,直接应用效果也没有太体现出来,但是总体而言,我个人比较看好这个模型。当然,从实用化的推荐引擎角度,还有很多值得关注的点,比如多模态融合/多目标、多任务与Transfer Learning以及AutoML的应用等,都是很有前景和值得探索的方向。刚才讲的是排序模型和推荐机制,至于推荐领域的另外一个重要环节:召回阶段,我觉得采用模型统一召回代替传统的多路召回是个比较明显的趋势。

在Resnet出现之前,图像领域最多只能做到20多层,NLP也只能做到超不过10层,Resnet和Transformer突破了这种情况,把深度做起来了,效果也跟着深度做起来了。其实深度和效果是有比较紧密的正相关作用的,所以我个人觉得,目前推荐模型,如何把深度做起来可能是比较核心的问题。如果深度做不起来(你会发现DNN版本的推荐系统目前还只能做到3到5层;在线inference时latency的限制是很重要的因素,效果可能也很难获得很大的提升。

之所以推荐模型感觉进步慢,还有一个隐藏的比较深的原因,那就是领域内缺乏超大规模的真实训练数据,尽管网上可以下到个别规模比较大的数据,但是公认的规模大、高质量的推荐数据还是严重缺乏的。

 

推荐系统里的召回和排序模型技术讲座

召回阶段要掌握一点:怎么快怎么来,但是也要兼顾用户兴趣。ranking阶段只有一点需要记住:模型要够准。

preview

preview

preview

 

知识蒸馏

(Hinton的论文)

 

知乎好文

机器学习界有三个主要学派,符号主义(Symbolicism)、连接主义(Connectionism)、行为主义(Actionism)。

符号主义的起源,注重研究知识表达和逻辑推理。经过几十年的研究,目前这一学派的主要成果,一个是贝叶斯因果网络,另一个是知识图谱。贝叶斯因果网络的旗手是 Judea Pearl 教授,2011年的图灵奖获得者。但是据说 2017年 NIPS 学术会议上,老爷子演讲时,听众寥寥。2018年,老爷子出版了一本新书,“The Book of Why”,为因果网络辩护,同时批判深度学习缺乏严谨的逻辑推理过程。而知识图谱主要由搜索引擎公司,包括谷歌、微软、百度推动,目标是把搜索引擎,由关键词匹配,推进到语义匹配。

连接主义的起源是仿生学,用数学模型来模仿神经元。Marvin Minsky 教授因为对神经元研究的推动,获得了1969年图灵奖。把大量神经元拼装在一起,就形成了深度学习模型,深度学习的旗手是 Geoffrey Hinton 教授。深度学习模型最遭人诟病的缺陷,是不可解释

行为主义把控制论引入机器学习,最著名的成果是强化学习。强化学习的旗手是 Richard Sutton 教授。近年来Google DeepMind 研究员,把传统强化学习,与深度学习融合,实现了 AlphaGo,战胜当今世界所有人类围棋高手。

 

百度ERNIE

输入是字粒度,MASK是词粒度;

使得模型更多的从上下文来推断当前字,而不是根据另半个词来推断当前字;

只是把知识图谱的“实体”引入了BERT预训练阶段,和知识图谱扯上关系实在牵强。

 

深度学习遇见代码搜索,一篇论文概览神经代码搜索

进行代码搜索时,query 和候选代码段都被映射至共享向量空间。搜索即相当于最大化 query 嵌入和代码嵌入之间的向量相似度度量(如余弦相似性)。

向量表示可以通过无监督方式学得,即仅使用代码,也可以通过监督方式学得,即利用代码段及其对应自然语言描述对数据。

很多是用了fastText来编码自然句子和代码段;

 

最新NLP架构的直观解释:多任务学习– 百度ERNIE 2.0

提出“持续多任务学习”概念:

不是训练所有任务(图2),而是按顺序训练它们:

  1. 在任务1上进行训练

  2. 使用上一步中的参数,并在任务1、2上进行训练

  3. 使用上一步中的参数,并在任务1、2、3上进行训练,以此类推…

 

百度PaddlePaddle(飞桨)介绍

文字识别 OCR 技术早期是用规则+机器学习的方法来做,那时候,一个 OCR 技术系统可能会分为几部分,从区域检测、行分割、字分割、单字识别、语言模型解码、后处理等一步步做下来。加入深度学习技术后,我们开始使用大数据进行训练,而且阶段目标也很明确,我们找到一些深度学习的特征,这个时候一个 OCR 系统就简化到只需要检测、识别两个过程,典型的基于深度学习的 OCR 系统大概是这样。随着深度学习技术进一步发展,我们开始在 OCR 里面进行多任务的联合训练、端到端学习、特征复用/互补,这个时候,甚至这两个阶段也不用区分了,而是一体化地就把一个文字识别的任务给做了。

这篇关于NLP新进展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

【python 走进NLP】两两求相似度,得到一条文本和其他文本最大的相似度

应用场景: 一个数据框里面文本,两两求相似度,得到一条文本和其他文本最大的相似度。 content source_id0 丰华股份军阀割据发生的故事大概多少w 11 丰华股份军阀割据发生的故事大概多少 22 丰华股份军阀割据发生的故事大概多少 33 丰华股份军阀割据发生的故事大概多少

【Python 走进NLP】NLP词频统计和处理停用词,可视化

# coding=utf-8import requestsimport sysreload(sys)sys.setdefaultencoding('utf-8')from lxml import etreeimport timetime1=time.time()import bs4import nltkfrom bs4 import BeautifulSoupfrom

【java 走进NLP】simhash 算法计算两篇文章相似度

python 计算两篇文章的相似度算法simhash见: https://blog.csdn.net/u013421629/article/details/85052915 对长文本 是比较合适的(超过500字以上) 下面贴上java 版本实现: pom.xml 加入依赖 <dependency><groupId>org.jsoup</groupId><artifactId>jsoup</a

【python 走进NLP】simhash 算法计算两篇文章相似度

互联网网页存在大量的重复内容网页,无论对于搜索引擎的网页去重和过滤、新闻小说等内容网站的内容反盗版和追踪,还是社交媒体等文本去重和聚类,都需要对网页或者文本进行去重和过滤。最简单的文本相似性计算方法可以利用空间向量模型,计算分词后的文本的特征向量的相似性,这种方法存在效率的严重弊端,无法针对海量的文本进行两两的相似性判断。模仿生物学指纹的特点,对每个文本构造一个指纹,来作为该文本的标识,从形式上来

【python 走进NLP】文本相似度各种距离计算

计算文本相似度有什么用? 1、反垃圾文本的捞取 “诚聘淘宝兼职”、“诚聘打字员”…这样的小广告满天飞,作为网站或者APP的运营者,不可能手动将所有的广告文本放入屏蔽名单里,挑几个典型广告文本,与它满足一定相似度就进行屏蔽。 2、推荐系统 在微博和各大BBS上,每一篇文章/帖子的下面都有一个推荐阅读,那就是根据一定算法计算出来的相似文章。 3、冗余过滤 我们每天接触过量的信息,信息之间存在大量

【python 走进NLP】句子相似度计算--余弦相似度

余弦相似度,又称为余弦相似性,是通过计算两个向量的夹角余弦值来评估他们的相似度。余弦相似度将向量根据坐标值,绘制到向量空间中,如最常见的二维空间。 github 参考链接:https://github.com/ZhanPwBibiBibi/CHlikelihood # -*- coding: utf-8 -*-import jiebaimport numpy as npimpor

【python 走进NLP】从零开始搭建textCNN卷积神经网络模型

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能教程 1、众所周知,tensorflow 是一个开源的机器学习框架,它的出现大大降低了机器学习的门槛,即使你没有太多的数学知识,它也可以允许你用“搭积木”的方式快速实现一个神经网络,即使没有调节太多的参数,模型的表现一般还

NLP文本相似度之LCS

基础 LCS(Longest Common Subsequence)通常指的是最长公共子序列,区别最长公共字串(Longest Common Substring)。我们先从子序列的定义理解: 一个序列S任意删除若干个字符得到新的序列T,则T叫做S的子序列。 子序列和子串的一个很大的不同点是,子序列不要求连接,而子串要求连接。 两个序列X和Y的公共子序列中,长度最长的那个,定义为X和Y

NLP 文本相似度(一)

一份文本,从结构上划分可以是:字、词、句、段、篇。文本比较的粒度是词,一篇文章,可以划分成N个不同的词,选取其中包含重要信息的M个词作为这片文章的特征。M个词构成了M维的向量,两个文本之间的比较就是两个M维向量之间的比较。 余弦相似度 向量之间如何比较?我们可以采用余弦相似度,其描述如下: 一个向量空间中两个向量夹角的余弦值可以作为衡量两个个体之间差异的大小;余弦值越接近1,夹角趋于0,表明