NLP知识十大结构
NLP知识十大结构
2.1形式语言与自动机
语言:按照一定规律构成的句子或者字符串的有限或者无限的集合。
描述语言的三种途径:
穷举法
文法(产生式系统)描述
自动机
自然语言不是人为设计而是自然进化的,形式语言比如:运算符号、化学分子式、编程语言
形式语言理论朱啊哟研究的是内部结构模式这类语言的纯粹的语法领域,从语言学而来,作为一种理解自然语言的句法规律,在计算机科学中,形式语言通常作为定义编程和语法结构的基础
形式语言与自动机基础知识:
集合论
图论
自动机的应用:
1,单词自动查错纠正
2,词性消歧(什么是词性?什么的词性标注?为什么需要标注?如何标注?)
形式语言的缺陷:
1、对于像汉语,英语这样的大型自然语言系统,难以构造精确的文法
2、不符合人类学习语言的习惯
3、有些句子语法正确,但在语义上却不可能,形式语言无法排出这些句子
4、解决方向:基于大量语料,采用统计学手段建立模型
2.2 语言模型
1)语言模型(重要):通过语料计算某个句子出现的概率(概率表示),常用的有2-元模型,3-元模型
2)语言模型应用:
语音识别歧义消除例如,给定拼音串:ta shi yan yan jiu saun fa de
可能的汉字串:踏实烟酒算法的他是研究酸法的他是研究算法的,显然,最后一句才符合。
3)语言模型的启示:
1、开启自然语言处理的统计方法
2、统计方法的一般步骤:
收集大量语料
对语料进行统计分析,得出知识
针对场景建立算法模型
解释和应用结果
4)语言模型性能评价,包括评价目标,评价的难点,常用指标(交叉熵,困惑度)
5)数据平滑:
数据平滑的概念,为什么需要平滑
平滑的方法,加一法,加法平滑法,古德-图灵法,J-M法,Katz平滑法等
6)语言模型的缺陷:
语料来自不同的领域,而语言模型对文本类型、主题等十分敏感
n与相邻的n-1个词相关,假设不是很成立。
2.3概率图模型,生成模型与判别模型,贝叶斯网络,马尔科夫链与隐马尔科夫模型(HMM)
1)概率图模型概述(什么的概率图模型,参考清华大学教材《概率图模型》)
2)马尔科夫过程(定义,理解)
3)隐马尔科夫过程(定义,理解)
HMM的三个基本问题(定义,解法,应用)
注:第一个问题,涉及最大似然估计法,第二个问题涉及EM算法,第三个问题涉及维特比算法,内容很多,要重点理解,(参考书李航《统计学习方法》,网上博客,笔者github)
2.4 马尔科夫网,最大熵模型,条件随机场(CRF)
1)HMM的三个基本问题的参数估计与计算
2)什么是熵
3)EM算法(应用十分广泛,好好理解)
4)HMM的应用
5)层次化马尔科夫模型与马尔科夫网络
提出原因,HMM存在两个问题
6)最大熵马尔科夫模型
优点:与HMM相比,允许使用特征刻画观察序列,训练高效
缺点:存在标记偏置问题
7)条件随机场及其应用(概念,模型过程,与HMM关系)
参数估计方法(GIS算法,改进IIS算法)
CRF基本问题:特征选取(特征模板)、概率计算、参数训练、解码(维特比)
应用场景:
词性标注类问题(现在一般用RNN+CRF)
中文分词(发展过程,经典算法,了解开源工具jieba分词)
中文人名,地名识别
8)CRF++
2.5 命名实体 识别,词性标注,内容挖掘、语义分析与篇章分析(大量用到前面的算法)
1)命名实体识别问题
相关概率,定义
相关任务类型
方法(基于规程->基于大规模语料库)
2)未登录词的解决方法(搜索引擎,基于语料)
3)CRF解决命名实体识别(NER)流程总结:
训练阶段:确定特征模板,不同场景(人名,地名等)所使用的特征模板不同,对现有语料进行分词,在分词结果基础上进行词性标注(可能手工),NER对应的标注问题是基于词的,然后训练CRF模型,得到对应权值参数值
识别过程:将待识别文档分词,然后送入CRF模型进行识别计算(维特比算法),得到标注序列,然后根据标注划分出命名实体
4)词性标注(理解含义,意义)及其一致性检查方法(位置属性向量,词性标注序列向量,聚类或者分类算法)
2.6句法分析
1)句法分析理解以及意义
1、句法结构分析
完全句法分析
浅层分析(这里有很多方法。。。)
2、依存关系分析
2)句法分析方法
1、基于规则的句法结构分析
2、基于统计的语法结构分析
2.7 文本分类,情感分析
1)文本分类,文本排重
文本分类:在预定义的分类体系下,根据文本的特征,将给定的文本与一个或者多个类别相关联
典型应用:垃圾邮件判定,网页自动分类
2)文本表示,特征选取与权重计算,词向量
文本特征选择常用方法:
1、基于本文频率的特征提取法
2、信息增量法
3、X2(卡方)统计量
4、互信息法
3)分类器设计
SVM,贝叶斯,决策树等
4)分类器性能评测
1、召回率
2、正确率
3、F1值
5)主题模型(LDA)与PLSA
LDA模型十分强大,基于贝叶斯改进了PLSA,可以提取出本章的主题词和关键词,建模过程复杂,难以理解。
6)情感分析
借助计算机帮助用户快速获取,整理和分析相关评论信息,对带有感情色彩的主观文本进行分析,处理和归纳例如,评论自动分析,水军识别。
某种意义上看,情感分析也是一种特殊的分类问题
7)应用案例
2.8信息检索,搜索引擎及其原理
1)信息检索起源于图书馆资料查询检索,引入计算机技术后,从单纯的文本查询扩展到包含图片,音视频等多媒体信息检索,检索对象由数据库扩展到互联网。
1、点对点检索
2、精确匹配模型与相关匹配模型
3、检索系统关键技术:标引,相关度计算
2)常见模型:布尔模型,向量空间模型,概率模型
3)常用技术:倒排索引,隐语义分析(LDA等)
4)评测指标
2.9 自动文摘与信息抽取,机器翻译,问答系统
1)统计机器翻译的的思路,过程,难点,以及解决
2)问答系统
基本组成:问题分析,信息检索,答案抽取
类型:基于问题-答案,基于自由文本
典型的解决思路
3)自动文摘的意义,常用方法
4)信息抽取模型(LDA等)
2.10深度学习在自然语言中的应用
1)单词表示,比如词向量的训练(wordvoc)
2)自动写文本
写新闻等
3)机器翻译
4)基于CNN、RNN的文本分类
5)深度学习与CRF结合用于词性标注
...............
更多深度学习内容,可参考我之前的文章。
自然语言处理(NLP)入门
本文简要介绍Python自然语言处理(NLP),使用Python的NLTK库。NLTK是Python的自然语言处理工具包,在NLP领域中,最常使用的一个Python库。什么是NLP?简单来说,自然语言...
NLP知识十大结构的更多相关文章
- NLP十大里程碑
NLP十大里程碑 2.1 里程碑一:1985复杂特征集 复杂特征集(complex feature set)又叫做多重属性(multiple features)描写.语言学里,这种描写方法最早出现在语 ...
- PMBOK(第五版)学习笔记二-十大知识领域(P87)
五大项目管理过程组:启动.规划.执行.监控.收尾过程组 十大知识领域是:项目整合管理.项目范围管理.项目时间管理.项目成本管理.项目质量管理.项目人力资源管理.项目沟通管理.项目风险管理.项目采购管理 ...
- PMP(第六版)十大知识领域、五大项目管理过程组、49个过程矩阵
今天整理了PMP(第六版)十大知识领域.五大项目管理过程组.49个过程矩阵,分享出来,希望对要考PMP的童鞋有帮助. PS.红字是与第五版的差异 转走请标明出处 https://www.cnblog ...
- PMBOK十大知识领域是什么?
PMBOK十大知识领域是:整合管理.范围管理.时间管理.成本管理.质量管理.人力资源管理.沟通管理.风险管理.采购管理.干系人管理. 各用一句话概括项目管理知识体系十大知识领域: 1.整合管理:其作用 ...
- 最新版PMBOK项目管理的五大过程组和十大知识领域
PMBOK五大过程组是:启动过程.规划过程.执行过程.监控过程.收尾过程. 各用一句话概括项目管理知识体系五大过程组: 1.启动过程组:作用是设定项目目标,让项目团队有事可做: 2.规划过程组:作用是 ...
- PMBOK项目管理的五大过程组和十大知识领域
PMBOK五大过程组是:启动过程.规划过程.执行过程.监控过程.收尾过程. 各用一句话概括项目管理知识体系五大过程组: 1.启动过程组:作用是设定项目目标,让项目团队有事可做: 2.规划过程组:作用是 ...
- 【NLP】十分钟快览自然语言处理学习总结
十分钟学习自然语言处理概述 作者:白宁超 2016年9月23日00:24:12 摘要:近来自然语言处理行业发展朝气蓬勃,市场应用广泛.笔者学习以来写了不少文章,文章深度层次不一,今天因为某种需要,将文 ...
- 跟上节奏 大数据时代十大必备IT技能(转)
新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT发展趋势,使得IT人必须了解甚至掌握最 ...
- English - 英文写作中的最常见“十大句式”
英文写作中的最常见“十大句式” from 小木虫论坛 一.否定句 许多否定句不含not的否定结构.如果论文作者能正确使用他们,就会增加写作的闪光点,使文章显得生动活泼. 1.Instead of in ...
随机推荐
- python 库资源大全
偶然的机会翻到这篇文章,很全面,来源: Python 资源大全中文版 哪些 Python 库让你相见恨晚? 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 pyth ...
- PivotGridControl控件应用
一.概述 PivotGridControl是DevExpress组件中的一个重要控件,在数据多维分析方面具有强大的功能,它不仅可以分析数据库中的数据,而且还能够做联机分析处理(OLAP),并且支持多种 ...
- Code First 数据库迁移
当 Entity Framework Code First 的数据模型发生改变时,默认会引发一个System.InvalidOperationException 的异常.解决方法是使用DropCrea ...
- 【解决】 64位笔记本丢失 MSVCR110.dll win10 phpstudy2017
启动程序报错如下: 无法启动此程序,因为计算机中丢失MSVCR110.dll.尝试重新安装该程序以解决此问题. 应该很容易就搜索到,缺少这样的dll文件,是没有安装Visual C++ Redistr ...
- Java异常处理中的恢复模型
异常处理理论上有两种基本模型.Java支持终止模型,在这种模型中,假设错误非常关键,以至于程序无法返回到异常发生的地方继续执行.一旦异常被抛出,就表明错误已无法挽回,也不能回来继续执行.长久以来,尽管 ...
- idea在debug模式启动非常慢,日志正常debug模式一直在启动中状态
背景 最近在使用idea开发工具时遇到了一个奇怪的现象,使用run tomcat项目可以正常启动,但是使用debug模式启动时,控制台可以正常打印日志,但是进度十分缓慢,也没有任何报出任何错误信息.只 ...
- Python并发编程系列之多线程
1 引言 上一篇博文详细总结了Python进程的用法,这一篇博文来所以说Python中线程的用法.实际上,程序的运行都是以线程为基本单位的,每一个进程中都至少有一个线程(主线程),线程又可以创建子线程 ...
- leetcode easy problem set
*勿以浮沙筑高台* 持续更新........ 题目网址:https://leetcode.com/problemset/all/?difficulty=Easy 1. Two Sum [4m ...
- codevs 1365 浴火银河星际跳跃
1365 浴火银河星际跳跃 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 小 K 又在玩浴火银河了...不过这次他的目的不是跑运输 ...
- Educational Codeforces Round 46 (Div 2) (A~G)
目录 Codeforces 1000 A.Codehorses T-shirts B.Light It Up C.Covered Points Count(差分) D.Yet Another Prob ...