自然语言处理(NLP)知识结构总结-程序员宅基地

技术标签: 人工智能  数据结构与算法  数据库  

自然语言处理知识太庞大了,网上也都是一些零零散散的知识,比如单独讲某些模型,也没有来龙去脉,学习起来较为困难,于是我自己总结了一份知识体系结构,不足之处,欢迎指正。内容来源主要参考黄志洪老师的自然语言处理课程。主要参考书为宗成庆老师的《统计自然语言处理》,虽然很多内容写的不清楚,但好像中文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结合用于词性标注

转载于:https://www.cnblogs.com/aibabel/p/11445398.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30402085/article/details/101274061

智能推荐

DELL戴尔服务器Windows Server 2008 2012 操作系统安装指导-U盘安装_戴尔s150阵列卡驱动2012_dell s150阵列-程序员宅基地

文章浏览阅读815次,点赞10次,收藏17次。4.2.如果是server2008,那么首先检查RAID是否配好,然后准备另外一个U盘,我们命名为U盘2,把阵列卡驱动放到U盘2中,插在服务器上,此时服务器插着两个U盘,一个是启动盘,一个是U盘2,在看到以上提示时,我们点击Load driver,然后如下图,点击浏览Browse,然后找到阵列卡驱动路径,一般是一个EXE可执行文件,选好后,下一步即可。2.以防步骤1中硬盘与服务器连接有问题,那么在服务器完全关机且切断电源的情况下,需要将硬盘拔下清理灰尘,在重新插上,然后上电开机。配置,而要 Import!_dell s150阵列

Qt/C++开发经验小技巧206-210_设置插件的目录还可以通过在main函数最前面写 qputenv("path", qstring("%-程序员宅基地

文章浏览阅读1.5k次,点赞6次,收藏19次。有时候需要对文本进行分散对齐显示,相当于无论文字多少,尽可能占满整个空间平摊占位宽度,但是在对支持对齐方式的控件比如QLabel调用 setAlignment(Qt::AlignJustify | Qt::AlignVCenter) 设置分散对齐会发现没有任何效果,这个时候就要考虑另外的方式比如通过控制字体的间距来实现分散对齐效果。QString text = "测试分散对齐内容";//计算当前文本在当前字体下占用的宽度QFont font = ui->label->font();i._设置插件的目录还可以通过在main函数最前面写 qputenv("path", qstring("%1;%2").

数据结构预算法(六) 数组和矩阵(1)_构造一四行五列的二维数组-程序员宅基地

文章浏览阅读412次。数组:抽象数据类型:数组的操作:1.存值 get(index)2.取值 set(index, value)这两个操作定义了抽象数据类型arrayc++数组的索引,且数组时c++的标准数据结构行主映射和列主映射 :数组的应用需要将数组的元素序列化,按照一维排列,因为数组元素一次只能输出或者输入一个。因此必须确定一个输入输出的顺序(即映射关系)。不规则的..._构造一四行五列的二维数组

mac关闭向日葵客户端自启动的方法_mac sunloginclient_desktop 后台自动启动-程序员宅基地

文章浏览阅读5.5k次。自动装了远程控制工具->向日葵客户端后,虽然给我带来了便利,但是也给我带来了个困扰,每次开机,向日葵的客户端都会自启动,去官网问了客服和搜索了很多帖子,方法都不试用,最后经过很长一段时间的摸索,发现了正确的关闭方式。1、首先打开一个 访达窗口2、在访达窗口的右上角搜索框内, 输入:sunlogin 搜索 搜索到如下几个文件: com.oray.sunlogin.agent.plist com.oray.sunlogin.startup.plist ..._mac sunloginclient_desktop 后台自动启动

RabbitMQ-集群模式简介_rabbitmq有哪些集群模式-程序员宅基地

文章浏览阅读3.5k次。文章目录1. 主备模式2. 远程模式3. 镜像模式(现企业中常用模式)4. 多活模式(实现异地数据复制的主流模式)1. 主备模式主备模式:用在并发和数据量不高的情况下,主备模式也称为Warren模式。当主节点宕机时,备用节点会充当主节点的角色,提供服务。主备和主从的区别:主备模式:是读写都在主节点上,备用节点是不进行任何的读写操作的。主从模式:写在主节点,从节点提供读操作。H..._rabbitmq有哪些集群模式

让ubuntu18.04中python命令指向python3_ubuntu设置软链将python指向python3.6-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏7次。发现新装的ubuntu18.04版本中默认安装了python3.6,位置是/usr/lib/python3.6。$python --version 显示没有$python3 --version 显示有3.6版本其实在/usr/lib目录下也有python2.7版本,不知道是没安装或没建立连接反正我的python显示没有该..._ubuntu设置软链将python指向python3.6

随便推点

LINE、SDNE和struc2vec图嵌入算法学习笔记_line 图嵌入-程序员宅基地

文章浏览阅读1.3k次。真实世界的信息网络中,能观察到的直接链接仅占很小的比例,大部分链接都因观察不到而缺失。比如社交网络中,很多线下的关系链并没有百分之百同步到线上。如果顶点vvv和uuu的链接发生缺失,则其一阶邻近度为0,即使实际上它们关系非常密切。因此仅仅依靠一阶邻近度不足以描述网络的全局结构,我们需要寻找方法来解决这种因为大部分链接缺失导致的网络稀疏问题。一阶相似性网络中的一阶相似性是两个顶点之间的局部点对的相似度。对于有边uv(u,v)uv连接的每对顶点,该边的权重WuvW_{uv}Wuv​。_line 图嵌入

自定义View,有这一篇就够了-程序员宅基地

文章浏览阅读7.5w次,点赞176次,收藏668次。我的简书同步发布:自定义View,有这一篇就够了为了扫除学习中的盲点,尽可能多的覆盖Android知识的边边角角,决定对自定义View做一个稍微全面一点的使用方法总结,在内容并没有什么独特,其他大神们的博客上面基本上都有讲这方面的内容,如果你对自定义View很熟了,那么就不用往下看啦~。如果对自定义View不是很熟,或者说很多内容忘记了想复习一下,更或者说是从来没用过,欢迎跟我一起重温这方面的知识_自定义view

iOS 数据存储之keychain_ios 数据存到keychain-程序员宅基地

文章浏览阅读275次。自己参照网上写了个,注意一定要用真机调试_ios 数据存到keychain

element-plus2.5.10版本el-table树形数据设置自定义展开收起图标与插槽图标-第一级才设置索引_element-plus里的tree遍历怎么使用插槽-程序员宅基地

文章浏览阅读4.1k次,点赞6次,收藏17次。el-table树形数据,设置自定义展开收起图标与插槽图标-第一级才设置索引_element-plus里的tree遍历怎么使用插槽

5分钟学会js上传图片校验图片格式、大小、尺寸宽高_js检验图片格式-程序员宅基地

文章浏览阅读3.2k次,点赞4次,收藏6次。js上传图片校验图片格式、大小、尺寸宽高一、前言 js上传图片校验图片格式、大小、尺寸宽高。 在此记录下,分享给大家。二、代码<input type="file" id="imgFile" name="imgFile" onchange="checkImag..._js检验图片格式

Sharding-Proxy——分库分表+读写分离_shardingproxy 分库分表+读写分离-程序员宅基地

文章浏览阅读1.1k次。一、简介sharding-proxy定位为透明化的数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。 目前先提供MySQL/PostgreSQL版本,它可以使用任何兼容MySQL/PostgreSQL协议的访问客户端(如:MySQL Command Client, MySQL Workbench, Navicat等)操作数据,对DBA更加友好。向应用程序完全透明,可直接当做MySQL/PostgreSQL使用。适用于任何兼容MySQL/PostgreSQL协议的的客户端_shardingproxy 分库分表+读写分离

推荐文章

热门文章

相关标签