第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自己给自己写接口哈哈哈 ...
随机推荐
- Windows+Apache+Python+Django 踩坑记录
摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...
- 《SQL错题》
(选择一项) A: B: C: D: 正确答案是 D (选择一项) A: B: C: D: 正确答案是 A (选择一项) 8 A: B: C: ...
- Javaweb入门 数据库第一天
数据库概述 本菜鸟使用的数据库软件为Mariadb,以下内容都是以Mariadb数据库软件来写的学习总结. 数据库 所谓的数据库就是用于存储.管理数据的仓库,数据库根据底层存储数据结构的不同可以分为很 ...
- ASP.NET Core on K8S深入学习(1)K8S基础知识与集群搭建
在上一个小系列文章<ASP.NET Core on K8S学习初探>中,通过在Windows上通过Docker for Windows搭建了一个单节点的K8S环境,并初步尝试将ASP.NE ...
- unc路径
1.什么是UNC路径?UNC路径就是类似\\softer这样的形式的网络路径.UNC为网络(主要指局域网)上资源的完整 Windows 2000 名称.格式: \\servername\sharena ...
- Java 求字符串中出现频率最高字符
前段时间接触的这个题目,大体理解了,还有些小地方仍待进一步品味,暂且记下. import java.util.ArrayList; import java.util.Arrays; import ja ...
- 【经验分享】ASP.NET 的 Page_Load 执行了2次,真的!
发现问题 这是来自一位网友的提问: 本着求真务实的态度,我打开了 AppBoxPro 项目,本地调试果然发现 Page_Load 进入了两次! 其实在没测试之前,我就有了大概的方向,因为AppBoxP ...
- 初次见面C#排坑记录
排一次开发C#遇到的坑,同时说一下自己对C#中文件夹构建方式的体会. 一个开发Java的人留下了痛苦的泪水,变量命名规则不一样,连括号打的都不一样,
- iOS程序员 如何提升核心竞争力,防止自己被裁员?
前言: 核心竞争力最早由普拉哈拉德和加里·哈默尔两位教授提出,通常认为核心竞争力,即企业或个人相较于竞争对手而言所具备的竞争优势与核心能力差异, 说白了就是你的优势,而且最好是独一无二的的优势,这就是 ...
- Spring Boot中自定义注解+AOP实现主备库切换
摘要: 本篇文章的场景是做调度中心和监控中心时的需求,后端使用TDDL实现分表分库,需求:实现关键业务的查询监控,当用Mybatis查询数据时需要从主库切换到备库或者直接连到备库上查询,从而减小主库的 ...