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

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

3天内不再提示

自然语言处理(NLP)知识结构总结

人工智能精选 2018-08-29 09:58 次阅读

自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些模型,也没有来龙去脉,学习起来较为困难,于是我自己总结了一份知识体系结构,不足之处,欢迎指正。内容来源主要参考黄志洪老师的自然语言处理课程。主要参考书为宗成庆老师的《统计自然语言处理》,虽然很多内容写的不清楚,但好像中文NLP书籍就这一本全一些,如果想看好的英文资料,可以到我的GitHub上下载:

http://github.com/lovesoft5/ml

下面直接开始正文:

一、自然语言处理概述

1)自然语言处理:利用计算机为工具,对书面实行或者口头形式进行各种各样的处理和加工的技术,是研究人与人交际中以及人与计算机交际中的演员问题的一门学科,是人工智能的主要内容。
2)自然语言处理是研究语言能力和语言应用的模型,建立计算机(算法)框架来实现这样的语言模型,并完善、评测、最终用于设计各种实用系统。
3)研究问题(主要):
信息检索
机器翻译
文档分类
问答系统
信息过滤
自动文摘
信息抽取
文本挖掘
舆情分析
机器写作
语音识别

研究模式:自然语言场景问题,数学算法,算法如何应用到解决这些问题,预料训练,相关实际应用

自然语言的困难:

场景的困难:语言的多样性、多变性、歧义性
学习的困难:艰难的数学模型(hmm,crf,EM,深度学习等)
语料的困难:什么的语料?语料的作用?如何获取语料?

二、形式语言与自动机

语言:按照一定规律构成的句子或者字符串的有限或者无限的集合。

描述语言的三种途径:

穷举法
文法(产生式系统)描述
自动机

自然语言不是人为设计而是自然进化的,形式语言比如:运算符号、化学分子式、编程语言

形式语言理论朱啊哟研究的是内部结构模式这类语言的纯粹的语法领域,从语言学而来,作为一种理解自然语言的句法规律,在计算机科学中,形式语言通常作为定义编程和语法结构的基础

形式语言与自动机基础知识:

集合论
图论
自动机的应用:

1,单词自动查错纠正

2,词性消歧(什么是词性?什么的词性标注?为什么需要标注?如何标注?)

形式语言的缺陷:

1、对于像汉语,英语这样的大型自然语言系统,难以构造精确的文法

2、不符合人类学习语言的习惯

3、有些句子语法正确,但在语义上却不可能,形式语言无法排出这些句子

4、解决方向:基于大量语料,采用统计学手段建立模型

三、语言模型

1)语言模型(重要):通过语料计算某个句子出现的概率(概率表示),常用的有2-元模型,3-元模型
2)语言模型应用:

语音识别歧义消除例如,给定拼音串:ta shi yan yan jiu saun fa de

可能的汉字串:踏实烟酒算法的 他是研究酸法的 他是研究算法的,显然,最后一句才符合。

3)语言模型的启示:

1、开启自然语言处理的统计方法

2、统计方法的一般步骤:

收集大量语料
对语料进行统计分析,得出知识
针对场景建立算法模型
解释和应用结果

4) 语言模型性能评价,包括评价目标,评价的难点,常用指标(交叉熵,困惑度)

5)数据平滑:

数据平滑的概念,为什么需要平滑

平滑的方法,加一法,加法平滑法,古德-图灵法,J-M法,Katz平滑法

6)语言模型的缺陷:

语料来自不同的领域,而语言模型对文本类型、主题等十分敏感

n与相邻的n-1个词相关,假设不是很成立。


四、概率图模型,生成模型与判别模型,贝叶斯网络,马尔科夫链与隐马尔科夫模型(HMM)

1)概率图模型概述(什么的概率图模型,参考清华大学教材《概率图模型》)

2)马尔科夫过程(定义,理解)

3)隐马尔科夫过程(定义,理解)

HMM的三个基本问题(定义,解法,应用)

注:第一个问题,涉及最大似然估计法,第二个问题涉及EM算法,第三个问题涉及维特比算法,内容很多,要重点理解,(参考书李航《统计学习方法》,网上博客,笔者github)

五、马尔科夫网,最大熵模型,条件随机场(CRF)

1)HMM的三个基本问题的参数估计与计算

2)什么是熵

3)EM算法(应用十分广泛,好好理解)
4)HMM的应用
5)层次化马尔科夫模型与马尔科夫网络

提出原因,HMM存在两个问题
6)最大熵马尔科夫模型
优点:与HMM相比,允许使用特征刻画观察序列,训练高效
缺点: 存在标记偏置问题

7)条件随机场及其应用(概念,模型过程,与HMM关系)
参数估计方法(GIS算法,改进IIS算法)

CRF基本问题:特征选取(特征模板)、概率计算、参数训练、解码(维特比)

应用场景:

词性标注类问题(现在一般用RNN+CRF)
中文分词(发展过程,经典算法,了解开源工具jieba分词)
中文人名,地名识别

8) CRF++

六、命名实体 识别,词性标注,内容挖掘、语义分析与篇章分析(大量用到前面的算法)

1)命名实体识别问题

相关概率,定义

相关任务类型

方法(基于规程->基于大规模语料库)

2)未登录词的解决方法(搜索引擎,基于语料)

3)CRF解决命名实体识别(NER)流程总结:

训练阶段:确定特征模板,不同场景(人名,地名等)所使用的特征模板不同,对现有语料进行分词,在分词结 果基础上进行词性标注(可能手工),NER对应的标注问题是基于词的,然后训练CRF模型,得到对应权值参数值

识别过程:将待识别文档分词,然后送入CRF模型进行识别计算(维特比算法),得到标注序列,然后根据标 注划分出命名实体

4)词性标注(理解含义,意义)及其一致性检查方法(位置属性向量,词性标注序列向量,聚类或者分类算法)


七、句法分析

1)句法分析理解以及意义

1、句法结构分析
完全句法分析

浅层分析(这里有很多方法。。。)
2、 依存关系分析

2)句法分析方法

1、基于规则的句法结构分析
2、基于统计的语法结构分析

八、文本分类,情感分析

1)文本分类,文本排重

文本分类:在预定义的分类体系下,根据文本的特征,将给定的文本与一个或者多个类别相关联

典型应用:垃圾邮件判定,网页自动分类

2)文本表示,特征选取与权重计算,词向量

文本特征选择常用方法:

1、基于本文频率的特征提取法
2、信息增量法
3、X2(卡方)统计量
4、互信息法

3)分类器设计

SVM,贝叶斯,决策树等
4)分类器性能评测

1、召回率
2、正确率
3、F1值

5)主题模型(LDA)与PLSA

LDA模型十分强大,基于贝叶斯改进了PLSA,可以提取出本章的主题词和关键词,建模过程复杂,难以理解。

6)情感分析

借助计算机帮助用户快速获取,整理和分析相关评论信息,对带有感情色彩的主观文本进行分析,处理和归纳例如,评论自动分析,水军识别。

某种意义上看,情感分析也是一种特殊的分类问题
7)应用案例


九、信息检索,搜索引擎及其原理

1)信息检索起源于图书馆资料查询检索,引入计算机技术后,从单纯的文本查询扩展到包含图片,音视频等多媒体信息检索,检索对象由数据库扩展到互联网。

1、点对点检索

2、精确匹配模型与相关匹配模型

3、检索系统关键技术:标引,相关度计算

2)常见模型:布尔模型,向量空间模型,概率模型

3)常用技术:倒排索引,隐语义分析(LDA等)

4)评测指标

十、自动文摘与信息抽取,机器翻译,问答系统

1)统计机器翻译的的思路,过程,难点,以及解决

2)问答系统

基本组成:问题分析,信息检索,答案抽取

类型:基于问题-答案, 基于自由文本

典型的解决思路

3)自动文摘的意义,常用方法

4)信息抽取模型(LDA等)

十一、深度学习在自然语言中的应用

1)单词表示,比如词向量的训练(wordvoc)
2)自动写文本
写新闻等
3)机器翻译
4)基于CNN、RNN的文本分类

5)深度学习与CRF结合用于词性标注

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

    关注

    1791

    文章

    46820

    浏览量

    237463
  • 自然语言处理

    关注

    1

    文章

    611

    浏览量

    13503
  • nlp
    nlp
    +关注

    关注

    1

    文章

    487

    浏览量

    22006
收藏 人收藏

    评论

    相关推荐

    python自然语言

    最近,python自然语言是越来越火了,那么什么是自然语言自然语言(Natural Language )广纳了众多技术,对自然或人类语言
    发表于 05-02 13:50

    【推荐体验】腾讯云自然语言处理

    结构化抽取,有效辅助人工,降低人力参与成本。因为现在腾讯云自然语言处理产品公测免费,所以我注册了腾讯云账号去专门体验了一下,最直观的感受就是确实如产品介绍中说的:开箱即用的NLP能力,
    发表于 10-09 15:28

    自然语言处理——总结、习题

    自然语言处理——79 总结、习题
    发表于 06-19 11:22

    什么是自然语言处理

    什么是自然语言处理自然语言处理任务有哪些?自然语言处理的方法是什么?
    发表于 09-08 06:51

    浅析自然语言处理知识体系结构

    自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些模型,也没有来龙去脉,学习起来较为困难,于是总结了一份
    的头像 发表于 08-18 09:57 5038次阅读

    采用深度学习对自然语言处理进行分类

    用深度学习对自然语言处理NLP)进行分类
    的头像 发表于 11-05 06:51 3196次阅读

    自然语言处理NLP)的学习方向

    自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究人与计算机之间用自然语言进行有效通信的理论和方法。融
    的头像 发表于 07-06 16:30 1.3w次阅读

    自然语言处理和人工智能的概念及发展史 自然语言处理和人工智能的区别

    自然语言处理(Natural Language Processing, NLP)的定义是通过电脑软件程序实现人们日常语言的机器自动处理。为了
    发表于 08-23 18:22 827次阅读

    自然语言处理技术的原理的应用

    自然语言处理(Natural Language Processing, NLP)作为人工智能(AI)领域的一个重要分支,旨在使计算机能够理解和处理人类
    的头像 发表于 07-02 12:50 441次阅读

    什么是自然语言处理 (NLP)

    自然语言处理(Natural Language Processing, NLP)是人工智能领域中的一个重要分支,它专注于构建能够理解和生成人类语言的计算机系统。
    的头像 发表于 07-02 18:16 1028次阅读

    自然语言处理包括哪些内容

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它涉及到计算机与人类语言之间的交互。
    的头像 发表于 07-03 14:15 716次阅读

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

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个分支,它致力于使计算机能够理解和生成自然语言。随着技术的发展,
    的头像 发表于 07-05 09:55 2434次阅读

    nlp自然语言处理框架有哪些

    自然语言处理(Natural Language Processing,简称NLP)是计算机科学和人工智能领域的一个重要分支,它致力于使计算机能够理解和处理人类
    的头像 发表于 07-09 10:28 487次阅读

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

    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域的一个重要分支,它致力于使计算机能够理解、解释和生成人类语言
    的头像 发表于 07-09 10:32 505次阅读

    ASR与自然语言处理的结合

    ASR(Automatic Speech Recognition,自动语音识别)与自然语言处理NLP)是人工智能领域的两个重要分支,它们在许多应用中紧密结合,共同构成了自然语言理解和
    的头像 发表于 11-18 15:19 254次阅读