0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

专栏 | 深度学习在NLP中的运用?从分词、词性到机器翻译、对话系统

m3Fp_almosthuma 来源:未知 作者:简单幸福 2017-08-18 17:06 次阅读

自然语言是人类知识的抽象浓缩表示,而自然语言理解是人工智能研究领域中极具挑战的一个分支。上次,《自然语言处理在 2017 年有哪些值得期待的发展?》中,我们已经讲到,2016 年是深度学习大潮冲击 NLP 的一年,通过去年一年的努力,深度学习在 NLP 领域已经站稳了脚跟。其中,对话交互系统已经成为一个重要的应用研究领域,2017 年的自然语言对话系统,将开创一个新的人机交互时代。

通过深度学习和其他机器学习技术的模型组合,竹间智能也已初步实现了自然语言对话中的意图识别、上下文理解和多轮对话。本文将基于竹间智能的一些经验和探索,从分词、词性等基础模块,到机器翻译、知识问答等领域,列举并分析一些深度学习在 NLP 领域的具体运用,希望对大家研究深度学习和 NLP 有所帮助。

事实上,从分词、词性、语法解析、信息抽取等基础模块,到自然语言生成、机器翻译、对话管理、知识问答等高层的 NLP 领域,几乎都可以应用以 CNN、RNN 为代表的深度学习模型,且确实能够取得不错的效果。深度学习模型有效降低了语言模型输入特征的维度,降低了输入层的复杂性。另外,深度学习模型具有其他浅层模型不能比拟的灵活性。深度学习模型更复杂,能够对数据进行更精准的建模,从而增强实验效果。

深度学习模型可以将文本中的词高效地表示为分布式连续向量(word2vec),将词语、文本由词空间映射到语义空间,这样的语义表示可以捕获重要的句法和语义信息,一定程度上缓解了词面不匹配、数据稀疏、语义鸿沟等问题。Word2vec 的应用可以使许多自然语言处理任务取得突出的表现。Word2vec 虽然可以通过神经网络训练大规模的语料实现,但仍面临着 out of vocabulary 的现实。Bahdanau 等人利用 LSTM 模型结合定义知识语料,解决传统 word embedding 模型中的 out of vocabulary 问题。(框架流程见图 1,具体见 https://arxiv.org/abs/1706.00286)

图 1:利用 RNN 解决 Word2Vec 中 out of vocabulary 问题实例

中文不同于英文自然分词,中文分词是文本处理的一个基础步骤,也是自然语言处理的基础模块。分词性能的好坏直接影响比如词性、句法树等其他模块的性能。利用深度学习实现的字嵌入+Bi-LSTM+CRF 中文分词器,不需要构造额外手工特征。使用人民日报的 80 万语料训练实现,按照字符正确率评估标准能达到 98% 的准确率。其本质上是一个序列标注模型,模型参考的论文是:http://www.aclweb.org/anthology/N16-1030,整个神经网络的主要框架如图 2 所示。有感兴趣的朋友可以去看看,具体实现已在 github 开源 https://github.com/koth/kcws。

图 2:Word Embedding+Bi-LSTM+CRF 主要框架示意图

语法解析可以获得句子的语法结构,例如,哪些单词组合在一起(形成「短语」),哪些单词是动词的主题或对象。Syntactic Parsing 明确标出了词与词之间的短语结构,隐含了词与词之间的关系。而 Dependency Parser 则明确表示出了词与词之间的关系。利用神经网络模型解析句子的语法结构的实现可以参考 http://www.petrovi.de/data/acl15.pdf 以及斯坦福的 http://cs.stanford.edu/~danqi/papers/emnlp2014.pdf。除解析文本之外,Richard Socher 等人利用 CNN 模型实现了解析图片的功能(Parsing Natural Scenes and Natural Language with Recursive Neural Networks)。

文本分类是各种场景在自然语言处理领域中经常使用到的技术,例如判断文本内容的情感分类(即对文本表达的情感进行分析,如正面、负面的情感,开心、愤怒等情绪等)。深度学习在文本分类中的表现优于其他一些传统线性模型,例如 https://arxiv.org/abs/1508.04112。Github 上的 https://github.com/harvardnlp/sent-conv-torch 是用于文本分类的 CNN,这个代码用 GPU 在 Torch 中实现了 Kim(2014)的句子卷积代码。它复制了现有数据库中的结果,并允许在任意其它的文本数据库上训练模型。

信息抽取,从句子中抽取特定的片段(比如命名实体识别、摘要总结等)。Abstractive Summarization 摘要总结 https://github.com/harvardnlp/NAMAS,该项目包含了来自论文 A Neural Attention Model for Abstractive Summarization(Alexander M. Rush, Sumit Chopra, Jason Weston. https://arxiv.org/pdf/1509.00685.pdf)的摘要抽象总结系统。该项目里发布的代码可以:提取摘要数据、训练摘要神经网络模型、用 ROUGE 构建评估集、调试提取的特征等。

神经指代消解(Neural Coref Models),在论文 Learning Global Features for Coreference Resolution(Sam Wiseman, Alexander M. Rush, and Stuart M. Shieber, NAACL 2015)和 Learning Anaphoricity and Antecedent Ranking Features for Coreference Resolution(Sam Wiseman, Alexander M. Rush, Stuart M. Shieber, and Jason Weston. ACL 2015)中有所描述。Github 中开源的指代消解项目有 https://github.com/swiseman/nn_coref。

自然语言生成,能够根据一些关键信息及其在机器内部的表达形式,经过一个规划过程,来自动生成一段高质量的自然语言文本。目前关于自然语言生成有一些比较有趣的研究,比如 https://github.com/karpathy/char-rnn 是一个基于 RNN 的文本生成器,可以自动生成莎士比亚的剧本或者 shell 代码;https://link.zhihu.com/?target=https%3A//github.com/phunterlau/wangfeng-rnn 基于 char-rnn 的汪峰歌词生成器等。

知识问答,可以用深度学习模型,从语料中学习获得一些问题的答案,比如 https://github.com/facebook/MemNN,是 memmnn 的一个官方实现,可以从诸如「小明在操场;小王在办公室;小明捡起了足球;小王走进了厨房」的语境中,获得问题「小王在去厨房前在哪里?」这样涉及推理和理解的问题;例如斯坦福的 http://cs.stanford.edu/~danqi/papers/nips2013.pdf 利用深度学习实现的知识问答系统。

神经机器翻译(NMT)在翻译中提供了统计方式之外的另一种方式,同时也更加简便。Github 上基于 Sequence-to-Sequence Learning with Attentional Neural Networks 的开源项目: http://github.com/harvardnlp/seq2seq-attn,以及基于上述项目和 http://www.people.fas.harvard.edu/~yoonkim/data/emnlp_2016.pdf 的安卓系统中的神经机器翻译。该项目考虑了将知识提炼(knowledge distillation)方式加入机器神经翻译中,以解决其体量问题,这种方式已在其他领域中被证明能够成功减小神经模型的尺寸。

在 Github 上还有一些有趣的关于深度学习与自然语言处理的项目。比如:Google Brain 团队的一组研究人员发布了一个项目 Project Magenta,其主要目标是利用机器学习创作艺术和谱写曲子 https://github.com/tensorflow/magenta;https://github.com/ryankiros/neural-storyteller 是一个自然语言生成项目,实现了看图讲故事的功能。

以上是对深度学习在 NLP 领域运用的一些总结和说明。最后,再讲回竹间全力打造的自然语言对话系统。之前提到 2017 年的对话系统一定是在限定的场景下发挥作用的,而竹间智能基于深度学习打造的人机交互系统,在金融、电商及 IoT 等限定领域中已经实现了比较好的可控人机对话。未来,竹间希望在更多垂直领域形成突破。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

原文标题:专栏 | 深度学习在NLP中的运用?从分词、词性到机器翻译、对话系统

文章出处:【微信号:almosthuman2014,微信公众号:机器之心】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NPU深度学习的应用

    设计的硬件加速器,它在深度学习的应用日益广泛。 1. NPU的基本概念 NPU是一种专门针对深度学习算法优化的处理器,它与传统的CPU和G
    的头像 发表于 11-14 15:17 268次阅读

    GPU深度学习应用案例

    GPU深度学习的应用广泛且重要,以下是一些GPU深度学习应用案例: 一、图像识别 图像识别是
    的头像 发表于 10-27 11:13 324次阅读

    深度学习的时间序列分类方法

    时间序列分类(Time Series Classification, TSC)是机器学习深度学习领域的重要任务之一,广泛应用于人体活动识别、系统
    的头像 发表于 07-09 15:54 698次阅读

    nlp逻辑层次模型的特点

    层次是NLP逻辑层次模型的最底层,主要关注单个词汇的意义和用法。在这个层次上,模型需要识别和理解词汇的基本属性,如词性、词义、词形变化等。词汇层次的特点包括: a. 词性标注:识别文本
    的头像 发表于 07-09 10:39 317次阅读

    nlp自然语言处理基本概念及关键技术

    、问答系统、文本摘要等众多领域有着广泛的应用。 1. NLP的基本概念 1.1 语言模型 语言模型是NLP的基础,它用于描述一个句子自然语言中出现的概率。语言模型通常用于文本生成、
    的头像 发表于 07-09 10:32 506次阅读

    nlp自然语言处理的主要任务及技术方法

    的应用,如搜索引擎、机器翻译、语音识别、情感分析等。 NLP的主要任务 NLP的主要任务可以分为以下几个方面: 1.1 词法分析(Lexical Analysis) 词法分析是NLP
    的头像 发表于 07-09 10:26 846次阅读

    深度学习工业机器视觉检测的应用

    随着深度学习技术的快速发展,其工业机器视觉检测的应用日益广泛,并展现出巨大的潜力。工业机器
    的头像 发表于 07-08 10:40 961次阅读

    深度学习视觉检测的应用

    深度学习机器学习领域中的一个重要分支,其核心在于通过构建具有多层次的神经网络模型,使计算机能够大量数据
    的头像 发表于 07-08 10:27 616次阅读

    nlp自然语言处理的应用有哪些

    的应用。以下是一些NLP的主要应用领域,以及它们各个领域的具体应用。 机器翻译 机器翻译NLP的一个重要应用领域。它利用计算机自动将一种
    的头像 发表于 07-05 09:55 2436次阅读

    深度学习nlp的区别在哪

    深度学习和自然语言处理(NLP)是计算机科学领域中两个非常重要的研究方向。它们之间既有联系,也有区别。本文将介绍深度学习
    的头像 发表于 07-05 09:47 806次阅读

    自然语言处理技术计算机系统的应用

    已经许多领域展现出广泛的应用价值,机器翻译、语音识别到情感分析、智能客服等,无一不体现着NLP技术的强大能力。本文将深入探讨NLP技术
    的头像 发表于 07-04 14:35 449次阅读

    深度学习与传统机器学习的对比

    人工智能的浪潮机器学习深度学习无疑是两大核心驱动力。它们各自以其独特的方式推动着技术的进
    的头像 发表于 07-01 11:40 1178次阅读

    FPGA深度学习应用或将取代GPU

    硬件公司供货的不断增加,GPU 深度学习的市场需求还催生了大量公共云服务,这些服务为深度学习
    发表于 03-21 15:19

    基于机器翻译增加的跨语言机器阅读理解算法

    近日,阿里云人工智能平台 PAI 与华南理工大学朱金辉教授团队、达摩院自然语言处理团队合作自然语言处理顶级会议 EMNLP2023 上发表基于机器翻译增加的跨语言机器阅读理解算法 X-STA。通过
    的头像 发表于 12-12 10:28 551次阅读
    基于<b class='flag-5'>机器翻译</b>增加的跨语言<b class='flag-5'>机器</b>阅读理解算法

    GPU深度学习的应用与优势

    人工智能的飞速发展,深度学习作为其重要分支,正在推动着诸多领域的创新。在这个过程,GPU扮演着不可或缺的角色。就像超级英雄电影的主角一样,GPU
    的头像 发表于 12-06 08:27 1201次阅读
    GPU<b class='flag-5'>在</b><b class='flag-5'>深度</b><b class='flag-5'>学习</b><b class='flag-5'>中</b>的应用与优势