精华内容
下载资源
问答
  • 自然语言处理基本概念

    千次阅读 2017-03-29 10:24:30
    文本主要分为三种文本,自由文本、结构文本、半结构文本,自然语言处理一般是对自由文本进行的处理。 分词 通常我们处理的自由文本分为中文、英文等。词为文本最基本的单位,分词是进行自然语言处理中最基本的...

    本文为 http://blog.sina.com.cn/s/blog_1334cae810102wovb.html 笔记

    自然语言处理常用术语

    文本主要分为三种文本,自由文本、结构化文本、半结构化文本,自然语言处理一般是对自由文本进行的处理。常见的基本操作如下:

    分词

    通常我们处理的自由文本分为中文、英文等。词为文本最基本的单位,分词是进行自然语言处理中最基本的步骤。分词算法分为词典方法和统计方法。其中,基于词典和人工规则的方法是按照一定的策略将待分析词与词典中的词条进行匹配(正向匹配、逆向匹配、最大匹配)。统计方法是基本字符串在语料库中出现的统计频率,典型的算法有HMM\CRF等。其中CRF相比HMM有更弱的上下文无相关性假设,理论上效果更好一点。

    英文以空格为分割符,因此不需要进行分词的操作(这是片面的,对于一些特殊情况,依旧需要分词的操作 ,例如 it's等,另外对于英文中复合词的情况,也需要进行一定的识别,因此在进行关键词识别的时候会运营到分词的一些技术)。中文的分词工具有很多,近年来常用的是jieba 和stanford corenlp等。

    词性标注

    在进行词性标注时,需先定义出词性的类别:名词、动词、形容词、连词、副词、标点符号等。词性标注是语音识别、句法分析、信息抽取技术的基础技术之一,词性标注是标注问题,可以采用最大熵、HMM或CRF等具体算法进行模型的训练。自动问答系统中,为了提高用户问题匹配后端知识库的召回率,对一些关键词进行了过滤,包括连词、副词对于全文检索系统,理论上可以通过对用户输入的查询条件进行词性过滤,但由于全文检索是基于词袋模型的机械匹配,并且采用IDF作为特征值之一,因此词性标注的效果不大。

    句法分析

    句法分析的目的是确定句子的句法结构,主谓宾、动宾、定中、动补等。在问答系统和信息检索领域有重要的作用。


    命名实体识别

    命名实体识别是定位句子中出现的人名、地名、机构名、专有名词等。命名实体属于标注问题,因此可以采用HMM\CRF等进行模型的训练。基于统计的命名实体识别需要基于分词、词性标注等技术。命名实体定义了五大类类型:设施(FAC)\地理政治实体(GPE)\位置(LOC)\人物(PER)。在实际应用中,可以根据自己的业务需求,定义实体类别,并进行模型训练。


    实体关系抽取

    实体关系抽取是自动识别非结构化文档中两个实体之间的关联关系,属于信息抽取领域的基础知识之一。近年来,搜索领域流行的知识图谱技术是构建实体关系。实体关系抽取有多种方式,包括规则匹配、有监督学习、无监督学习。其中有监督学习需要预先定义实体关系类别,并通常将问题建模为分类问题。有监督学习需要预先人工标注语料库。






    展开全文
  • 人工智能是个非常大的概念,囊括了几乎所有学科,并非单纯计算机、通信、声学、光学等领域,也并非热炒的机器学习(例如深度学习和强化学习)就能实现的。然而,基于大数据和机器学习的狭义人工智能,确实已经给人类...

    近来,人工智能(AI)行业利好消息不断,各大巨头都在积极拼抢这个领域的人才,笔者最近也频繁收到相关方面的咨询和讨论,不得不说,有时候大家真的搞错。人工智能是个非常大的概念,囊括了几乎所有学科,并非单纯计算机、通信、声学、光学等领域,也并非热炒的机器学习(例如深度学习和强化学习)就能实现的。然而,基于大数据和机器学习的狭义人工智能,确实已经给人类生活带来了巨大的变化,比如搜索、电商、广告、社交、语音等等。

     

    一直以来,人们似乎都把语音识别看的极其重要,并认为语音识别就是最接近人工智能的领域。实际上这是一个误区,语音和按键、触摸、手势等方法一样,只是人类交互的一种手段。也有很多人认为语音帮助人类产生了智慧,然而,这一观点并没有有力的证据支撑。目前,这方面的基础研究还没有实质性的进展,我们对人体精密构造的认知还是非常浅薄的,至于智慧更是几乎一无所知。唯一能推断的就是,语音交互确实是我们获取知识的一种重要手段。

     

    鉴于以上的认识和误解,笔者认为应该写篇这方面的科普文章,虽然笔者也不精通这个领域,但是我们可以从底层声学这个范畴来思考和讨论一下人工智能相关的概念,确实这方面通俗易懂的资料太少了,也希望更多学术和产业领域的大牛们来指正和探讨。

     

    在此,笔者要先摆明自己的观点,目前人工智能的相关应用中,语音识别并非是关键点,而且语音识别也并未给我们生活带来多大变化。语音识别经过十多年的高速发展,特别是结合深度学习的融合发展,目前的精度已经相当高,然而达到99%以后,再提升就显得非常困难。但为什么语音识别的精度到达如此程度,我们却对其仍然不满意呢?其实,这和语音识别的关系不大,是我们误把语言理解的概念强加给了语音识别。实际上,语音识别只是人工智能中的一个小学科,现在也可以算是深度学习中的一个分支。类似于人类,语音识别至多是我们听觉系统内的一个神经单元,只负责将语言转化成人类可听到的信号激励,若在计算机应用中,就是转化成我们常说的文字。

     

    那么关键点在哪?从各大巨头发布的宣传资料和介绍的相关信息来看,实际上大家都在追求:自然语言处理(Natural Language Process,NLP)或者说自然语言理解(Natural Language Understanding,NLU)的突破。当然,这也是得益于基础声学和语音识别的巨大进步。基础声学和语音识别解决的是计算机“听得见”的问题,而NLP实际上就是要解决计算机“听的懂”的问题。这么看来,“听的懂”才是目前十年内最为关键的问题,下面,笔者就NLP的概念以及国内外的学习资料进行盘点与分析。


    语音和语言有何区别?

    我们首先要明确一下语音和语言的区别,这是一个基础性的问题。语音(Speech)是语言(Language)的信号载体,语音是人的发音器官发出的,承载一定的语言意义,而语言才承载人类的智慧。通俗的讲,语音是天生就存在的,婴儿的咿呀咿呀也算是语音,甚至其哭声也代表一定的意义,而语言则是需要学习不断进化的。

     

    人类的进化为什么自然的选择了语音作为交互的手段?一般认为,是因为语音有着得天独厚优越性,比如声音比光更容易传播,而且不受昼夜变化影响,同时也有更广的传播范围。当然,也有许多科学家提出反对的声音,比如很多动物的听觉实际上比人类更为发达,为什么却没有进化出来语音交互呢?这个问题我们暂时放到后面文章探讨,事实上动物界中的很多动物也会发出一定的声音来进行信息的交互,但是仅有语音交互是不够的。

     

    单独强调语音,而不说语言实际上没有任何意义的。当然语言也不仅是只有语音这一种载体,语音是不好保存和搜索的,所以人类还发明了文字这个神奇的东西。文字却又是通过视觉来感受的,不过文字也仅是帮助我们映射而已。象形文字刚开始的时候,还和视觉有直接的关联。后来,不论是汉语,还是其他语言基本上都进行了抽象,与听觉以及视觉的关联不再明显。到此为止,语言就已经完全抽象出来,和我们所理解的概念相关了,已经远远超过了语音、图像等识别的概念,甚至数学也成为了我们的一种语言。

     

    因此当人类使用语言来存储知识和表示概念的时候,计算机和机器人也就必须学会适应这种方式。也就是说,计算机和机器人在未来的趋势中,必然是理解语言这个极其复杂而又承载人类知识传承的表达方式。但是,做到这一点是极其困难的,虽然我们看到了很多的进展,但是,机器理解语言在短期内还无法看到实质性的突破。这个领域需要更多优秀的人才加入,笔者写这篇文章目的也是这个原因,人才的涌入才会带来希望,至少我们不断的积累总会带来些许进步。

     

    如何描述和定义NLP?

    事实上,自然语言处理(NLP),或者说自然语言理解(NLU),或者说计算语言学(CL)很难有个准确的定义。1999年美国计算机学家Bill Manaris曾这样描述:自然语言处理是一门研究人与人交际中,以及人与计算机交际中的语言问题的学科。自然语言处理(NLP)研究表示语言能力、语言应用的模型,通过建立计算机框架来实现这样的语言模型,并提出相应的方法来不断地完善这样的语言模型,还要根据这样的语言模型来设计各种实用系统,并探讨这些实用系统的评测技术。笔者认为这个概念定义的比较准确,但又太过泛泛了。所以,很多时候我们仍然非常迷惘,然而这没有问题,因为语言本身就是我们人类最为复杂的概念之一。

    这些年NLP的研究得到了前所未有的重视并获得了长足的进步,逐渐地发展成为一门独立的学科。而NLP又与基础声学、语音识别等技术互相渗透,而形成了众多新的研究分支。而这些分支的发展也在大众中混淆了概念,大家干脆就把语音识别理解成了我们上面所啰嗦的那么多内容。

     

    NLP涉及哪些研究内容?

    自然语言理解的研究内容包含太多了,我们这里也仅能列举其中一部分,包括中文自动分词(Chinese word segmentation,词性标注(Part-of-speechtagging),句法分析(Parsing),自然语言生成(Naturallanguage generation),文本分类(Textcategorization),信息检索(Information retrieval),信息抽取(Informationextraction),文字校对(Text-proofing),问答系统(Questionanswering),机器翻译(Machine translation),自动摘要(Automaticsummarization),文字蕴涵(Textual entailment)等等,其中,基础声学和语音识别等相关学科也可以纳入这个研究范畴。


    自然语言理解研究的目标自然是希望通过图灵测试,包括了语音、形态、语法、语义以及语用等方面,也要解决人类语言中的因果、逻辑和推理的问题。这是非常重要的,我们知道大数据仅仅是代表了历史的规律和预测的趋势,如果没有因果关系和逻辑推理,计算机和机器人就始终无法为人类提供可参考的建议,甚至是决策

     

    NLP当前难点都有哪些?

    这个就太多了,上面我们提到过了,人类的语言融合了语音和文字,实际上也是听觉和视觉的融合,不是割裂开的。但是,现在这两个学科却是互相独立的,人为造成了这种研究的困难。另外,人类的语言多样化,每种语言的表达方式也千差万别。理想主义甚至认为人类的很多语言知识是与生俱来的,这个说法也有一定的实验支持,声学在线曾经报道过这方面的进展。不过,即使经验主义也是认为语言是通过感官和人脑的联想与抽象得来的。这是个大问题,因为这让很多研究人员没有了思路,科学的进展最怕这种困难。很多时候,我们还都把科学的进展归结为哲学的进步,没有了思路也就很难找到突破点,这需要基础研究的进展。

     

    当然NLP现在实际的技术困难还是语义的复杂性,包含因果关系和逻辑推理的上下文等。现在解决这些问题的思路主要还是深度学习(Deep Learning)。深度学习带给了研究人员一种全新的思路,这倒不是最新的,BP神经网络刚兴起的时候,学术和产业界也是非常热闹,因为当时的研究人员认为总算找到了思路,后来BP神经网络几乎没啥实质进展,渐渐的就冷了很长一段时间。深度学习拓展了神经网络的层次,而且大数据的积累和并行计算的增强则给这种方法奠定了基础,这也是最近机器学习非常火热的原因。因此基于大数据、并行计算的深度学习将会给NLP带来长足的进步,但是若想达到人类的这种理解层次,恐怕仅靠这种方法也很难实现。

     

    NLP学习的参考资料有哪些?

    笔者一直在说自然语言理解的问题,文字还是最为重要的知识传承方式,因此自然也要提供些参考资料给大家,但是这个领域的科普书籍实在太少了,笔者也只能推荐一些书籍、网上资料给大家参考学习,姑且先把这篇文章作为入门科普的参考吧。

     

    首先,笔者建议还是要先看斯坦福大学的视频学习课程,哥伦比亚大学的视频学习课程也不错,只是这些课程还是英文的,国内也有几位老师的公开视频可以参考,比如宗成庆老师或者关毅老师的自然语言理解课程,冯志伟老师的计算语言学课程都还不错。微信上不方便放链接,感兴趣的朋友就到我们声学在线的网站上直接点击链接吧。

     

    其次再推荐一些书籍,首推还是Daniel Jurafsky和James H. Martin的《Speech and LanguageProcessing》,已经出第二版本了,也是国内外的主要教材。这两人还写了几本相关方面的书,都还不错,亚马逊等一些线上平台搜索一下就能查到。国内也有冯志伟老师翻译的《自然语言处理综论》可以参考。数学基础稍好的还应该看看《数学之美》(吴军)和《统计学习方法》(李航),计算机编程稍好的更应该看看《机器学习实战》(Peter Harrington)和《Python自然语言处理》(Steven Bird)等。

     

    最后再推荐一些学术会议,通过查询这些学术会议可以获知很多的学术进展,最重要的是,可以通过这些学术组织的会员和文章了解很多相关的研究单位,这些学术会议包括:ACL: TheAssociation for Computational Linguistics ,AAAI:Association for the Advancement of Artificial Intelligence ,ICCL: TheInternational Committee on Computational Linguistics  ,COLIPS: TheChinese and Oriental Languages Information Processing Society 以及中文信息学会等。

     

    NLP都有哪些知名研究机构?

    笔者通过声学在线的众多朋友汇总了一些信息,可能不是很全面,不足的地方还请各位批评指正,这些研究机构(排名不分先后)包括:斯坦福大学自然语言处理研究小组,卡内基梅隆大学语言技术研究院,哥伦比亚大学自然语言处理研究组,约翰霍普金斯大学语言和语音处理研究组,康奈尔大学NLP研究组,宾夕法尼亚大学NLP研究组,伊利诺伊大学香槟分校NLP团队,南加利福尼亚大学自然语言研究组,爱丁堡大学语言与计算研究所,谷歌苏黎世研究院,亚马逊NLP研究组,香港科技大学NLP实验室,中科院计算机所自然语言处理研究组,北京大学计算语言学研究所,清华大学人机交互与媒体集成研究所,中科院声学所语言声学与内容理解重点实验室,中科院自动化所模式识别重点室,百度自然语言处理部,中科大人机语音通信研究评测实验室,哈尔滨工业大学计算机学院智能技术与自然语言处理研究室等。

     

    总之,自然语言理解随着深度学习的发展,还是看到了很多进展,但是NLP所需要解决的语言问题真的是非常复杂,近期内还是难以有所突破。正因为有这些挑战,才更需要更多有才华的人才持续不断的投入这个行业,而且这是未来数十年的新兴行业,现在刚毕业的优秀学生都有可能拿到50万的年薪,其经济收入将是很可观的。当然这也是个问题,虚高的投入或许会给这个行业带来一些阻碍。


    转载自:http://mp.weixin.qq.com/s?__biz=MzIyOTA2NTY0Nw==&mid=410685916&idx=1&sn=030197cee41b3204b9a434269941e0a9&scene=1&srcid=0228mRd7F1FRV5tWbEKanZVQ&from=groupmessage&isappinstalled=0#wechat_redirect

    展开全文
  • BERT(Bidirectional Encoder Representations from Transformers)的中文意思是:语言理解中深度双向转换模型的预训练模式。 BERT 在机器阅读理解顶级水平测试 SQuAD 1.1 中表现出惊人的成绩。毋庸置疑,BERT 模型...

    2018 年 10 月 11 日,谷歌 AI 团队在 arXiv 提交了论文,发布了 BERT 模型。BERT(Bidirectional Encoder Representations from Transformers)的中文意思是:语言理解中深度双向转换模型的预训练模式。
    BERT 在机器阅读理解顶级水平测试 SQuAD 1.1 中表现出惊人的成绩。毋庸置疑,BERT 模型开启了 NLP 的新时代!

    迁移学习与预训练

    预训练是迁移学习的第一步。
    在神经网络中,我们原先的训练是对以后的任务是有好处的。可以直接“拿来主义”。但是拿来的部分是根据应用场景的变化而不同。

    在图片识别中,通常采用神经网络的前几层作为预训练层。
    在语音识别处理中,通常采用神经网络的后几层能作为预训练层。
    在自然语言处理中,因为词库非常巨大,使用 One-Hot 编码的方式很难计算和处理词的含义,NLP 的预处理其实就是 Word Embedding 的过程。

    Word Embedding 文本/单词表示方法的发展历程

    说白了,NLP 做的工作就是想办法将文字或者说词语转变为计算机可以处理的数字化向量的过程,即单词向量化的一个过程。

    之前的文章也提到过,文本/单词表示方法可以化为两个大方向:离散表示和分布表示。
    离散表示主要是 one-hot 表示和 n-gram表示,分布式表示主要是基于矩阵的分布表示,例如GloVe和基于神经网络的分布表示,例如
    Word Embedding (词嵌入)。

    因此,要明确一个观点:词嵌入≠词向量表示,只是词向量其中的一种表示方法而已

    在这里插入图片描述具体可以参考:https://blog.csdn.net/Robin_Pi/article/details/103845731

    后续 BERT 部分参考:
    https://gitbook.cn/books/5c0cae8c5ded757dd52f5157/index.html

    展开全文
  • 前言:自然语言处理是人工智能皇冠上的明珠。 1 提出问题 如何让计算机能够自动或半自动地理解自然语言文本,懂得人的意图? 如何让计算机实现海量语言文本的自动处理、挖掘和有效利用,满足不同用户的各种需求,...
  • CS224d-Day 1:要开始系统地学习 NLP 课程 cs224d,今天先来一个课程概览。 课程一共有16节,先对每一节中提到的模型,算法,工具...Natural Language Processing (自然语言处理)的目的,就是让计算机能‘懂得’人类对

    CS224d-Day 1:

    要开始系统地学习 NLP 课程 cs224d,今天先来一个课程概览。
    课程一共有16节,先对每一节中提到的模型,算法,工具有个总体的认识,知道都有什么,以及它们可以做些什么事情。


    简介:

    1. Intro to NLP and Deep Learning

    NLP:

    Natural Language Processing (自然语言处理)的目的,就是让计算机能‘懂得’人类对它‘说’的话,然后去执行一些指定的任务。

    这些任务有什么呢?

    Easy:
    • Spell Checking--拼写检查
    • Keyword Search--关键词提取&搜索
    • Finding Synonyms--同义词查找&替换
    Medium:
    • Parsing information from websites, documents, etc.--从网页中提取有用的信息例如产品价格,日期,地址,人名或公司名等
    Hard:
    • Machine Translation (e.g. Translate Chinese text to English)--自动的或辅助的翻译技术
    • Semantic Analysis (What is the meaning of query statement?)--市场营销或者金融交易领域的情感分析
    • Coreference (e.g. What does “he” or “it” refer to given a document?)
    • Question Answering (e.g. Answering Jeopardy questions).--复杂的问答系统

    NLP的难点:
    • 情境多样
    • 语言歧义

    Deep Learning:

    深度学习是机器学习的一个分支,尝试自动的学习合适的特征及其表征,尝试学习多层次的表征以及输出。

    它在NLP的一些应用领域上有显著的效果,例如机器翻译,情感分析,问答系统等。

    和传统方法相比,深度学习的重要特点,就是用向量表示各种级别的元素,传统方法会用很精细的方法去标注,深度学习的话会用向量表示 单词,短语,逻辑表达式和句子,然后搭建多层神经网络去自主学习。

    这里有简明扼要的对比总结。

    向量表示:
    词向量:
    - One-hot 向量:
    记词典里有 |V| 个词,每个词都被表示成一个 |V| 维的向量,设这个词在字典中相应的顺序为 i,则向量中 i 的位置上为 1,其余位置为 0.

    • 词-文档矩阵:
      构建一个矩阵 X,每个元素 Xij 代表 单词 i 在文档 j 中出现的次数。

    • 词-词共现矩阵:
      构建矩阵 X,每个元素 Xij 代表 单词 i 和单词 j 在同一个窗口中出现的次数。


    模型算法:

    2. Simple Word Vector representations: word2vec, GloVe

    word2vec:

    word2vec是一套能将词向量化的工具,Google在13年将其开源,代码可以见 https://github.com/burness/word2vec ,它将文本内容处理成为指定维度大小的实数型向量表示,并且其空间上的相似度可以用来表示文本语义的相似度。

    Word2vec的原理主要涉及到统计语言模型(包括N-gram模型和神经网络语言模型),continuousbag-of-words 模型以及 continuous skip-gram 模型。

    • N-gram的意思就是每个词出现只看其前面的n个词,可以对每个词出现的概率进行近似。
      比如当n=2的时候:

    • 神经网络语言模型(NNLM)用特征向量来表征每个词各个方面的特征。NNLM的基础是一个联合概率:

    其神经网络的目的是要学习:

    • Continuous Bag-of-Words(CBOW) 模型与NNLM类似,结构如下:

    CBOW是通过上下文来预测中间的词,如果窗口大小为k,则模型预测:

    其神经网络就是用正负样本不断训练,求解输出值与真实值误差,然后用梯度下降的方法求解各边权重参数值的。

    • Continuous skip-gram 模型与CBOW正好相反,是通过中间词来预测前后词,一般可以认为位置距离接近的词之间的联系要比位置距离较远的词的联系紧密。目标为最大化:

    结构为:

    应用:
    - 同义词查找,
    - 文本聚类,实现方法:用关键词来表征文本。关键词提取用TF-IDF,然后用word2vec训练得到关键词向量,再用k-means聚类,最后文本就能够以关键词的类别进行分类了。
    - 文本类别投递,实现方法:人工标记出该词属于各个类别的概率,出全体词属于各个类别的概率。

    Glove:

    Global Vectors 的目的就是想要综合前面讲到的 word-document 和 word-windows 两种表示方法,做到对word的表示即 sementic 的表达效果好,syntactic 的表达效果也好:

    3. Advanced word vector representations: language models, softmax, single layer networks

    softmax:

    softmax 模型是 logistic 模型在多分类问题上的推广, logistic 回归是针对二分类问题的,类标记为{0, 1}。在softmax模型中,label可以为k个不同的值。

    4. Neural Networks and backpropagation – for named entity recognition

    5. Project Advice, Neural Networks and Back-Prop (in full gory detail)

    Neural Networks:

    神经网络是受生物学启发的分类器,可以学习更复杂的函数和非线性决策边界。


    模型调优:

    6. Practical tips: gradient checks, overfitting, regularization, activation functions, details

    **UFLDL:**Unsupervised Feature Learning and Deep Learning

    Gradient Checking(梯度检测):

    反向传播因为细节太多,往往会导致一些小的错误,尤其是和梯度下降法或者其他优化算法一起运行时,看似每次 J(Θ) 的值在一次一次迭代中减小,但神经网络的误差可能会大过实际正确计算的结果。

    针对这种小的错误,有一种梯度检验(Gradient checking)的方法,通过数值梯度检验,你能肯定确实是在正确地计算代价函数(Cost Function)的导数。

    GC需要对params中的每一个参数进行check,也就是依次给每一个参数一个极小量。

    overfitting:

    就是训练误差Ein很小,但是实际的真实误差就可能很大,也就是模型的泛化能力很差(bad generalization)

    发生overfitting 的主要原因是:(1)使用过于复杂的模型(dvc 很大);(2)数据噪音;(3)有限的训练数据。

    regularization:

    为了提高模型的泛化能力,最常见方法便是:正则化,即在对模型的目标函数(objective function)或代价函数(cost function)加上正则项。


    平台:

    7. Introduction to Tensorflow

    Tensorflow:

    Tensorflow 是 python 封装的深度学习库,非常容易上手,对分布式系统支持比 Theano 好,同时还是 Google 提供资金研发的

    在Tensorflow里:

    • 使用张量(tensor)表示数据.
    • 使用图(graph)来表示计算任务.
    • 在被称之为会话(Session)的上下文 (context)中执行图.
    • 通过变量 (Variable)维护状态.
    • 使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据.

    TensorFlow 算是一个编程系统,它使用图来表示计算任务,图中的节点被称之为operation(可以缩写成op),一个节点获得0个或者多个张量(tensor,下文会介绍到),执行计算,产生0个或多个张量。


    模型与应用:

    8. Recurrent neural networks – for language modeling and other tasks

    RNN:

    在深度学习领域,传统的前馈神经网络(feed-forward neural net,简称FNN)具有出色的表现。

    在前馈网络中,各神经元从输入层开始,接收前一级输入,并输入到下一级,直至输出层。整个网络中无反馈,可用一个有向无环图表示。

    不同于传统的FNNs,RNNs引入了定向循环,能够处理那些输入之间前后关联的问题。定向循环结构如下图所示:

    9. GRUs and LSTMs – for machine translation

    传统的RNN在训练 long-term dependencies 的时候会遇到很多困难,最常见的便是 vanish gradient problem。期间有很多种解决这个问题的方法被发表,大致可以分为两类:一类是以新的方法改善或者代替传统的SGD方法,如Bengio提出的 clip gradient;另一种则是设计更加精密的recurrent unit,如LSTM,GRU。

    LSTMs:

    长短期内存网络(Long Short Term Memory networks)是一种特殊的RNN类型,可以学习长期依赖关系。

    LSTMs 刻意的设计去避免长期依赖问题。记住长期的信息在实践中RNN几乎默认的行为,但是却需要很大的代价去学习这种能力。

    LSTM同样也是链式结构,但是重复的模型拥有不同的结构,它与单个的神经网层不同,它有四个, 使用非常特别方式进行交互。

    GRUs:

    Gated Recurrent Unit 也是一般的RNNs的改良版本,主要是从以下两个方面进行改进。

    一是,序列中不同的位置处的单词(已单词举例)对当前的隐藏层的状态的影响不同,越前面的影响越小,即每个前面状态对当前的影响进行了距离加权,距离越远,权值越小。

    二是,在产生误差error时,误差可能是由某一个或者几个单词而引发的,所以应当仅仅对对应的单词weight进行更新。

    10. Recursive neural networks – for parsing

    11. Recursive neural networks – for different tasks (e.g. sentiment analysis)

    Recursive neural networks:

    和前面提到的 Recurrent Neural Network 相比:

    recurrent: 时间维度的展开,代表信息在时间维度从前往后的的传递和积累,可以类比markov假设,后面的信息的概率建立在前面信息的基础上。

    recursive: 空间维度的展开,是一个树结构,就是假设句子是一个树状结构,由几个部分(主语,谓语,宾语)组成,而每个部分又可以在分成几个小部分,即某一部分的信息由它的子树的信息组合而来,整句话的信息由组成这句话的几个部分组合而来。

    12. Convolutional neural networks – for sentence classification

    Convolutional neural networks:

    卷积神经网络是一种特殊的深层的神经网络模型,它的特殊性体现在两个方面,一方面它的神经元间的连接是非全连接的, 另一方面同一层中某些神经元之间的连接的权重是共享的(即相同的)。它的非全连接和权值共享的网络结构使之更类似于生物 神经网络,降低了网络模型的复杂度,减少了权值的数量。

    13. Guest Lecture with Andrew Maas: Speech recognition
    14. Guest Lecture with Thang Luong: Machine Translation

    大数据:

    15. Guest Lecture with Quoc Le: Seq2Seq and Large Scale DL

    Seq2Seq:

    seq2seq 是一个机器翻译模型,解决问题的主要思路是通过深度神经网络模型(常用的是LSTM,长短记忆网络,一种循环神经网络)将一个作为输入的序列映射为一个作为输出的序列,这一过程由编码输入与解码输出两个环节组成。

    Encoder:

    Decoder:

    注意机制是Seq2Seq中的重要组成部分:

    应用领域有:机器翻译,智能对话与问答,自动编码与分类器训练等。

    Large Scale DL:

    为了让 Neural Networks 有更好的效果,需要更多的数据,更大的模型,更多的计算。

    Jeff Dean On Large-Scale Deep Learning At Google


    未来方向:

    16. The future of Deep Learning for NLP: Dynamic Memory Networks

    dynamic memory network (DMN):

    利用 dynamic memory network(DMN)框架可以进行 QA(甚至是 Understanding Natural Language)。

    这个框架是由几个模块组成,可以进行 end-to-end 的 training。其中核心的 module 就是Episodic Memory module,可以进行 iterative 的 semantic + reasoning processing。


    有了一个总体的了解,看的热血沸腾的,下一次开始各个击破!

    [cs224d]

    Day 1. 深度学习与自然语言处理 主要概念一览
    Day 2. TensorFlow 入门
    Day 3. word2vec 模型思想和代码实现
    Day 4. 怎样做情感分析
    Day 5. CS224d-Day 5: RNN快速入门
    Day 6. 一文学会用 Tensorflow 搭建神经网络
    Day 7. 用深度神经网络处理NER命名实体识别问题
    Day 8. 用 RNN 训练语言模型生成文本
    Day 9. RNN与机器翻译
    Day 10. 用 Recursive Neural Networks 得到分析树
    Day 11. RNN的高级应用


    推荐阅读
    历史技术博文链接汇总
    也许可以找到你想要的

    展开全文
  • 自然语言处理NLP)简介

    千次阅读 多人点赞 2020-05-30 00:00:29
    简单地说,自然语言处理就是用计算机来处理、理解以及运用人类语言(如中文、英文等),它属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。由于自然语言是人类区别于其他动物的根本...
  • 自然语言处理的21个基本概念

    千次阅读 2020-08-15 22:09:52
    语言(language)是人类特有的用来...自然语言处理NLP,Natural Language Processing)又称自然语言理解(NLU,Natural language Understanding),是研究人与人交际中以及人与计算机交际中的语言问题的一门学科。
  • 狭义的自然语言处理是使用计算机来完成以自然语言为载体的非结构信息为对象的各类信息处理任务,比如文本的理解、分类、摘要、信息抽取、知识问答、生成等的技术。广义的自然语言处理技术也包含自然语言的非数字...
  • 一、什么是自然语言处理NLP)   首先先了解一下什么是自然语言,自然语言是人类社会发展过程中自然产生的语言,是最能体现人类智慧和文明的产物,也是大猩猩与人的区别(2019斯坦福cs224n,lesson1)。它是一种...
  • 自然语言处理NLP知识结构

    千次阅读 2018-11-08 15:18:08
    自然语言处理NLP知识结构 文|秦陇纪,数据简化DataSimp 自然语言处理(计算机语言学、自然语言理解)涉及:字处理,词处理,语句处理,篇章处理词处理分词、词性标注、实体识别、词义消歧语句处理句法分析...
  • 自然语言处理NLP)知识结构总结

    万次阅读 多人点赞 2018-03-17 18:04:35
    自然语言处理知识太庞大了,网上也都是一些...主要参考书为宗成庆老师的《统计自然语言处理》,虽然很多内容写的不清楚,但好像中文NLP书籍就这一本全一些,如果想看好的英文资料,可以到我的GitHub上下载: http://...
  • 自然语言处理 NLP概述

    2019-01-03 14:13:49
    在一般情况下,用户可能不熟悉机器语言,所以自然语言处理技术可以帮助这样的用户使用自然语言与机器交流。从建模的角度看,为了方便计算机处理,自然语言课一被定义为一组规则或符号的集合,我们组合集合...
  • NLP是什么 在计算机领域, NLP(Natural Language Processing),也就是人们常说的「自然语言处理」,就是研究如何让计算机读懂人类语言。这包括,既要能让计算机理解自然语言文本的意义,也能以自然语言文本来表达...
  • NLP相关概念

    2017-01-05 00:32:33
    1、体系结构 2、知识图谱与NLP关系 所谓知识图谱听起来很高大上号称给计算机装上了大脑…其实无非就是从各种结构/半结构/非结构数据中抽取实体/实体属性/实体之间的关系,构成一张图,这张图能够反映真实世界...
  • 自然语言生成(Natural Language Generation,NLG) 指从结构数据中以读取的方式自动生成文本,主要包括三个阶段: 文本规划:完成结构数据中的基础内容规划; 语句规划:从结构数据中组合语句来表达信息流; ...
  • NLP:Natural Language Processing(自然语言...在这四年多的时间中,从迷惑到认识,再到喜欢,到了现在也可以说对NLP也有了一定的了解,加之这学期要开始学习“自然语言处理高级专题”,结合课程内容,建此系列,写
  • NLP:Natural Language Processing(自然语言...在这四年多的时间中,从迷惑到认识,再到喜欢,到了现在也可以说对NLP也有了一定的了解,加之这学期要开始学习“自然语言处理高级专题”,结合课程内容,建此系列,写
  • NLP自然语言处理】技术路线

    千次阅读 2019-10-22 12:41:33
    自然语言处理 NLP 1. 数学基础........................................................................................................... 3 1.1. 线性代数..............................
  • 为帮助大家更好地理解NLP技术,云加社区邀请腾讯云大学为大家整理了大咖课程《走进自然语言处理》的回顾,帮助大家更好地理解NLP自然语言处理技术。 什么是自然语言处理(NLP)? 自然语言的概念其实是相对于人工...
  • 自然语言处理NLP快速入门 https://mp.weixin.qq.com/s/J-vndnycZgwVrSlDCefHZA 【导读】自然语言处理已经成为人工智能领域一个重要的分支,它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和...
  • 一文读懂自然语言处理NLP(图解+学习资料)数据派THU发表于数据派THU订阅905前言自然语言处理是文本挖掘的研究领域之一,是人工智能和语言学领域的分支学科。在此领域中探讨如何处理及运用自然语言。对于自然语言...
  • NLP自然语言处理简述

    千次阅读 2018-09-15 17:04:06
    什么是自然语言处理自然语言处理是研究在人与人交际中以及人与计算机交际中的语言问题的一门学科。自然语言处理要研制表示语言能力(linguistic competence)和语言应用(linguistic performance)的模型,建立...
  • 自然语言处理

    2020-05-19 10:21:27
    NLP_Natural Language Processing自然语言处理概念自然语言处理的两大体系自然语言处理的主要任务 自然语言处理概念 自然语言处理是人工智能和语言学的交叉学科 主要目的是:自然语言认知(让计算机能“懂”人类...
  • 入坑NLP - 自然语言处理领域概述

    万次阅读 2017-11-17 21:08:18
    自然语言处理研究的内容包括但不限于如下分支:文本分类、信息抽取、自动摘要、智能问答、话题推荐、机器翻译、主题词识别、知识库构建、深度文本表示、命名实体识别、文本生成、文本分析(词法、句法、语法)、语音...
  • NLP自然语言处理技术的简介、发展、案例应用之详细攻略 目录 自然语言处理技术的简介 1、NLP技术的意义 2、NLP的两个方向——自然语言理解和自然语言生成 自然语言处理技术的发展 自然语言处理技术的案例...
  • 本文主要介绍自然语言处理(Natural Language Processing:NLP)中的一些最基础的概念,可以帮助读者在整体上感知这一领域,算是一篇入门读物。 词库 Vocabulary,表示所有词的集合。一般而言,经过one-hot encoding...
  • NLP自然语言处理学习笔记(一)Word Embedding词嵌入
  • 本文整理自阿里巴巴iDST自然语言处理部总监郎君博士的题为“NLP技术的应用及思考”的演讲。本文从NLP背景开始谈起,重点介绍了AliNLP平台,接着分享了NLP相关的应用实例,最后对NLP的未来进行了思考。 背景介绍 ...
  • 人工智能-自然语言处理(NLP)-应用场景:知识图谱

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 127,602
精华内容 51,040
关键字:

nlp概念化