第1章 NLP基础
大纲
NLP基础概念
NLP的发展与应用
NLP常用术语以及扩展介绍
1.1 什么是NLP
- 基本分类
自然语言生成(Natural Language Generation,NLG)
指从结构化数据中以读取的方式自动生成文本,主要包括三个阶段:
- 文本规划:完成结构化数据中的基础内容规划;
- 语句规划:从结构化数据中组合语句来表达信息流;
- 实现:产生语法通顺的语句来表达文本;
研究任务
- 机器翻译
- 情感分析
- 智能问答
- 文摘生成
- 文本分类
- 舆论分析
- 知识图谱
1.2 NLP的发展历程
萌芽期(1956年以前)
贝叶斯方法、隐马尔可夫、最大熵、支持向量机……,主流仍为基于规则的理性主义方法;
快速发展期(1980~1999年)
基于统计、基于实例和基于规则的语料库技术在这一时期蓬勃发展;
突飞猛进期(2000年至今)
神经网络与深度学习;
1.3 NLP相关知识的构成
基本术语
- 分词(segment)
- 词性标注(part-of-speech tagging)
命名实体识别(NER,Named Entity Recognition)
指从文本中识别具有特定类标的实体(常为名词),如人名、地名、机构名、专有名词等;
句法分析(syntax parsing)
目的是解析句子中各个成分的依赖关系;
- 指代消解(anaphora resolution)
- 情感识别(emotion recognition)
- 纠错(correction)
- 问答系统(QA system)
知识结构
NLP是一门跨学科科学,体系化与特殊化并存,其知识体系如下:
- 句法语义分析:针对目标句子,进行各种句法分析;
- 关键词抽取:抽取目标文本中的主要信息;
- 文本挖掘:主要包含对文本的聚类、分类、信息抽取、摘要、情感分析及对挖掘的信息和知识的可视化、交互式的呈现界面;
- 信息检索:对大规模的文档进行索引;
- 机器翻译:将输入的源语言文本通过自动化翻译转化为另一种语言的文本;
- 问答系统:针对某个自然语言表达的问题,由问答系统给出一个精确答案;
- 对话系统:系统通过多回合对话,与用户进行聊天、问答、完成某项任务;
1.4 语料库
1.5 探究NLP的几个层面
第一层面:词法分析
分词
词性标注
目的是为每个词赋予一个类别;
第二层面:句法分析
对输入的文本以句子为单位,进行分析从而得到句子的句法结构的处理过程;
第三层面:语义分析
语义角色标注(semantic role labeling)是当前较为成熟的浅层语义分析技术;
第1章 NLP基础的更多相关文章
- 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算
http://www.cnblogs.com/batteryhp/p/5000104.html 第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说, ...
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
- 《零成本实现Web自动化测试--基于Selenium》第一章 自动化测试基础
第一篇 Selenium 和WebDriver工具篇 第一章 自动化测试基础 1.1 初识自动化测试 自动化测试有两种常见方式 1.1.1 代码驱动测试,又叫测试驱动开发(TDD) 1.1.2 ...
- 【windows核心编程】 第六章 线程基础
Windows核心编程 第六章 线程基础 欢迎转载 转载请注明出处:http://www.cnblogs.com/cuish/p/3145214.html 1. 线程的组成 ① 一个是线程的内核 ...
- [Python笔记][第一章Python基础]
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...
- 第一章 jQuery基础
第一章jQuery基础 一.jQuert简介 1.什么是jQuery jQuery是javaScript的程序库之一,它是javaScript对象和实用函数的封装. jQuery是继Prototype ...
- 0003.5-20180422-自动化第四章-python基础学习笔记--脚本
0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- web前端学习python之第一章_基础语法(一)
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
随机推荐
- 手写C语言字符库
鉴于以前碰到过很多这样的题目,甚至上次月考核也考了,马上就要考试了,就再重新写一遍,加深印象,但是肯定和库函数有区别,丢失许多细节 1.strlen函数(求字符串长度) int strlen(char ...
- 异常 Java oop
1.捕获异常 try——执行可能产生异常的代码 catch——捕获异常 finally——无论是否发生异常,代码总能执行 2.声明异常 throws——声明方法可能要要抛出的各种异常 3.抛出异常—— ...
- sealos2.0使用教程,最简单kubernetesHA方案
kubernetes集群三步安装 概述 本文教你如何用一条命令构建k8s高可用集群且不依赖haproxy和keepalived,也无需ansible.通过内核ipvs对apiserver进行负载均衡, ...
- 解决axios接收二进制流文件乱码问题
1. 须将axios 配置中的responseType设置为'arraybuffer',这样就不会让表格出现乱码现象: 2. 如果要动态设置文件名则需要让后台将名字设置到响应头中,否则将是一个乱码的文 ...
- jquery的addClass、removeClass、toggleClass方法
1.addClass()添加类 1.1 用jquery为某一个元素添加类 $("div").addClass("active");//给div元素添加activ ...
- 2、大型项目的接口自动化实践记录--接口测试简介及RequestsLibrary关键字简介
1.接口测试简介 1)先简单介绍下接口测试,那么什么是接口测试呢? 百科的回答:接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点. 看起来有 ...
- maysql的自增字段
因为mysql中的自增字段与oracle数据库是不一样的,所以在这里唠嗑一下mysql的自增字段 1.添加自增字段 1.1 在创建表时添加 create table emp( empno ) auto ...
- SpringMVC项目案例之---数据的获取与显示
数据的获取与显示 (一)功能 1.对用户输入的数据进行获取 2.将获取的数据显示到页面 3.使用了SpringMVC技术的注解方式 4.使用了过滤器,处理中文乱码问题 5.在web.xml中设置了访问 ...
- .net core web api部署到Linux系统CentOS 7
一.创建一个.net core web api 的Demo 完成后的项目结构如图 修改下监听端口 发布代码 二.发布到CentOS 7上并运行 下一步需要一定的虚拟机知识了,我这里使用了windows ...
- [NUnit] discover test finished: 0 found issue
%Temp%\VisualStudioTestExplorerExtensions & restart visual studio