自然语言处理(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

智能推荐

linux里面ping www.baidu.com ping不通的问题_linux桥接ping不通baidu-程序员宅基地

文章浏览阅读3.2w次,点赞16次,收藏90次。对于这个问题我也是从网上找了很久,终于解决了这个问题。首先遇到这个问题,应该确认虚拟机能不能正常的上网,就需要ping 网关,如果能ping通说明能正常上网,不过首先要用命令route -n来查看自己的网关,如下图:第一行就是默认网关。现在用命令ping 192.168.1.1来看一下结果:然后可以看一下电脑上面百度的ip是多少可以在linux里面ping 这个IP,结果如下:..._linux桥接ping不通baidu

android 横幅弹出权限,有关 android studio notification 横幅弹出的功能没有反应-程序员宅基地

文章浏览阅读512次。小妹在这里已经卡了2-3天了,研究了很多人的文章,除了低版本api 17有成功外,其他的不是channel null 就是没反应 (channel null已解决)拜托各位大大,帮小妹一下,以下是我的程式跟 gradle, 我在这里卡好久又没有人可问(哭)![image](/img/bVcL0Qo)public class MainActivity extends AppCompatActivit..._android 权限申请弹窗 横屏

CNN中padding参数分类_cnn “相同填充”(same padding)-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏6次。valid padding(有效填充):完全不使用填充。half/same padding(半填充/相同填充):保证输入和输出的feature map尺寸相同。full padding(全填充):在卷积操作过程中,每个像素在每个方向上被访问的次数相同。arbitrary padding(任意填充):人为设定填充。..._cnn “相同填充”(same padding)

Maven的基础知识,java技术栈-程序员宅基地

文章浏览阅读790次,点赞29次,收藏28次。手绘了下图所示的kafka知识大纲流程图(xmind文件不能上传,导出图片展现),但都可提供源文件给每位爱学习的朋友一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长![外链图片转存中…(img-Qpoc4gOu-1712656009273)][外链图片转存中…(img-bSWbNeGN-1712656009274)]

getFullYear()和getYear()有什么区别_getyear和getfullyear-程序员宅基地

文章浏览阅读469次。Date对象取得年份有getYear和getFullYear两种方法经 测试var d=new Date;alert(d.getYear())在IE中返回 2009,在Firefox中会返回109。经查询手册,getYear在Firefox下返回的是距1900年1月1日的年份,这是一个过时而不被推荐的方法。而alert(d.getFullYear())在IE和FF中都会返回2009。因此,无论何时都应使用getFullYear来替代getYear方法。例如:2016年用 getFullYea_getyear和getfullyear

Unix传奇 (上篇)_unix传奇pdf-程序员宅基地

文章浏览阅读182次。Unix传奇(上篇) 陈皓 了解过去,我们才能知其然,更知所以然。总结过去,我们才会知道我们明天该如何去规划,该如何去走。在时间的滚轮中,许许多的东西就像流星一样一闪而逝,而有些东西却能经受着时间的考验散发着经久的魅力,让人津津乐道,流传至今。要知道明天怎么去选择,怎么去做,不是盲目地跟从今天各种各样琳琅满目前沿技术,而应该是去 —— 认认真真地了解和回顾历史。 Unix是目前还在存活的操作系_unix传奇pdf

随便推点

ACwing 哈希算法入门:_ac算法 哈希-程序员宅基地

文章浏览阅读308次。哈希算法:将字符串映射为数字形式,十分巧妙,一般运用为进制数,进制据前人经验,一般为131,1331时重复率很低,由于字符串的数字和会很大,所以一般为了方便,一般定义为unsigned long long,爆掉时,即为对 2^64 取模,可以对于任意子序列的值进行映射为数字进而进行判断入门题目链接:AC代码:#include<bits/stdc++.h>using na..._ac算法 哈希

VS配置Qt和MySQL_在vs中 如何装qt5sqlmysql模块-程序员宅基地

文章浏览阅读952次,点赞13次,收藏27次。由于觉得Qt的编辑界面比较丑,所以想用vs2022的编辑器写Qt加MySQL的项目。_在vs中 如何装qt5sqlmysql模块

【渝粤题库】广东开放大学 互联网营销 形成性考核_画中画广告之所以能有较高的点击率,主要由于它具有以下特点-程序员宅基地

文章浏览阅读1k次。选择题题目:下面的哪个调研内容属于经济环境调研?()题目:()的目的就是加强与客户的沟通,它是是网络媒体也是网络营销的最重要特性。题目:4Ps策略中4P是指产品、价格、顾客和促销。题目:网络市场调研是目前最为先进的市场调研手段,没有任何的缺点或不足之处。题目:市场定位的基本参数有题目:市场需求调研可以掌握()等信息。题目:在开展企业网站建设时应做好以下哪几个工作。()题目:对企业网站首页的优化中,一定要注意下面哪几个方面的优化。()题目:()的主要作用是增进顾客关系,提供顾客服务,提升企业_画中画广告之所以能有较高的点击率,主要由于它具有以下特点

爬虫学习(1):urlopen库使用_urlopen the read operation timed out-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏5次。以爬取CSDN为例子:第一步:导入请求库第二步:打开请求网址第三步:打印源码import urllib.requestresponse=urllib.request.urlopen("https://www.csdn.net/?spm=1011.2124.3001.5359")print(response.read().decode('utf-8'))结果大概就是这个样子:好的,继续,看看打印的是什么类型的:import urllib.requestresponse=urllib.r_urlopen the read operation timed out

分享读取各大主流邮箱通讯录(联系人)、MSN好友列表的的功能【升级版(3.0)】-程序员宅基地

文章浏览阅读304次。修正sina.com/sina.cn邮箱获取不到联系人,并精简修改了其他邮箱代码,以下就是升级版版本的介绍:完整版本,整合了包括读取邮箱通讯录、MSN好友列表的的功能,目前读取邮箱通讯录支持如下邮箱:gmail(Y)、hotmail(Y)、 live(Y)、tom(Y)、yahoo(Y)(有点慢)、 sina(Y)、163(Y)、126(Y)、yeah(Y)、sohu(Y) 读取后可以发送邮件(完..._通讯录 应用读取 邮件 的相关

云计算及虚拟化教程_云计算与虚拟化技术 教改-程序员宅基地

文章浏览阅读213次。云计算及虚拟化教程学习云计算、虚拟化和计算机网络的基本概念。此视频教程共2.0小时,中英双语字幕,画质清晰无水印,源码附件全课程英文名:Cloud Computing and Virtualization An Introduction百度网盘地址:https://pan.baidu.com/s/1lrak60XOGEqMOI6lXYf6TQ?pwd=ns0j课程介绍:https://www.aihorizon.cn/72云计算:概念、定义、云类型和服务部署模型。虚拟化的概念使用 Type-2 Hyperv_云计算与虚拟化技术 教改