文章目录

  • 1 什么是NLP
    • 1.1 NLP的两大任务
      • 1 NLU 自然语言理解
      • 2 NLG 自然语言生成
    • 1.2 NLP的发展和技术路线
      • 1 基于传统机器学习的NLP流程
      • 2 基于深度学习的NLP流程
      • 3 方法路线
    • 1.3 目前研究方向
  • 2 词法分析(Lexical Analyse)
    • 2.1 分词
      • 1. 为什么需要分词?
      • 2. 中英文分词的区别
      • 3. 中文分词的难点
      • 4. 分词方法
      • 5 分词知识图谱
    • 2.2 词性标注
      • 1 什么是词性标注
      • 2 词性标注难点
      • 3 词性标注常用方法
      • 4 语料库和标注集
      • 5 语料标注工具推荐
    • 2.3 命名实体识别(NER)
      • 1 什么是命名实体识别
      • 2 命名实体识别方法
      • 3 实现方式
      • 4 推荐工具
  • 3 句法分析(Syntactic Analyse)
    • 3.1 成分句法分析
      • 1 成分标签
      • 2 方法
      • 3 成分结构与依存结构关系
    • 3.2依存句法分析
      • 1 依存关系标签表
      • 2 常用方法
  • 4 语义分析(Semantic Analyse)

1 什么是NLP

  在人工智能出现之前,机器可以理解结构化的数据,比如excel,数据库里面的数据,但是对于文本,视频,语音等非结构化的数据,虽然蕴含了极大的信息,但是机器却不能够直接理解,所以自然语言处理学科就应运而生。NLP就是人和计算机之间沟通的桥梁。

1.1 NLP的两大任务

NLP有两个核心任务,分别是

  • NLU:自然语言理解(Natural Language Understanding)
  • NLG:自然语言生成(Natural Language Generating)

    通过一张图来说明二者的应用

1 NLU 自然语言理解

1.在NLU领域的难点:

  1. 语言的多样性
  2. 语言的歧义性
  3. 语言的鲁棒性
  4. 语言的知识依赖
  5. 语言的上下文

2.知识图谱:
3.发展历程

2 NLG 自然语言生成

定义:将非语言格式的数据转换成⼈类可以理解的语言格式。

  • 1)text-to-text:文本到语言的生成
  • 2)data-to-text:数据到语言的生成
  • 3)image-to-text:图像到语言的生成

步骤:

第一步:内容确定 - Content Determination

首先,NLG 系统需要决定哪些信息应该包含在正在构建的文本中,哪些不应该包含。通常数据中包含的信息比最终传达的信息要多。

第二步:文本结构 - Text Structuring

确定需要传达哪些信息后,NLG 系统需要合理的组织文本的顺序。例如在报道一场篮球比赛时,会优先表达「什么时间」「什么地点」「哪2支球队」,然后再表达「比赛的概况」,最后表达「比赛的结局」。

第三步:句子聚合 - Sentence Aggregation

不是每一条信息都需要一个独立的句子来表达,将多个信息合并到一个句子里表达可能会更加流畅,也更易于阅读。

第四步:语法化 - Lexicalisation

当每一句的内容确定下来后,就可以将这些信息组织成自然语言了。这个步骤会在各种信息之间加一些连接词,看起来更像是一个完整的句子。

第五步:参考表达式生成 - Referring Expression Generation|REG

这个步骤跟语法化很相似,都是选择一些单词和短语来构成一个完整的句子。不过他跟语法化的本质区别在于“REG需要识别出内容的领域,然后使用该领域(而不是其他领域)的词汇”。

第六步:语言实现 - Linguistic Realisation

最后,当所有相关的单词和短语都已经确定时,需要将它们组合起来形成一个结构良好的完整句子。

典型应用:

  • 1)应用目标:能够大规模的产生个性化内容;帮助人类洞察数据,让数据更容易理解;加速内容生产。

  • 2)自动写新闻(自动定稿),聊天机器人(机器客服),BI(商业智能)的解读和报告生成

  • 3)论文写作,摘要生成,自动作诗,新闻写作、报告生成,

1.2 NLP的发展和技术路线

NLP的两种途径

1 基于传统机器学习的NLP流程


其中,中文语料预处理的四个核心:

2 基于深度学习的NLP流程

3 方法路线

知识图谱:

曾经NLP上课时候老师讲的ppt:

再附上一张宗成庆老师的统计自然语言书籍思维导图

1.3 目前研究方向

2019年ACL投稿热门2019年ACL投稿热门2019年ACL投稿热门

2020ACL投稿热门2020ACL投稿热门2020ACL投稿热门

2 词法分析(Lexical Analyse)

  词是最小的能够独立运用的语言单位,因此,词法分析是其他一切自然语言处理问题(例如:句法分析、语义分析、文本分类、信息检索、机器翻译、机器问答等)的基础,会对后续问题产生深刻的影响。

  在词法分析中,主要有分词,词性标注,(命名)实体识别等任务。最终任务就是:将输入的句子字串转换成词序列并标记出各词的词性。

2.1 分词

  分词就是将句子,段落,篇章等等长文本分解为已字词为单位的数据结构,得到结构化数据,方便后续处理。

1. 为什么需要分词?

  • 将复杂问题转换为数学问题。通过将文本等等【非结构化数据】转换为【结构化数据】,可以进行后续数学建模。
  • 词具有合适的粒度。此时表达含义的最小单位,字的粒度太小,无法表达完整的含义;而句子的粒度太大,承载的信息量过多。

2. 中英文分词的区别

  1. 英文由于空格将单词自然的分开,而中文没有空格之类的符号,所以中文分词的难度相对较大

  2. 英文单词有多种形态,比如过去式,现在时,将来时等等,所以需要词形还原(Lemmatization:does,doing,did还原成do)和词干提取(Stemming:cities转换为city),而中文不需要。

  3. 中文分词需要考虑粒度的问题。比如【中国科技技术大学】可以有几种分词方式:

    • 中国 / 科技技术 / 大学
    • 中国 / 科学 / 技术 / 大学
    • 中国科学技术大学

3. 中文分词的难点

  • 没有统一的标准。没有统一的规范/标准来制定分词规则,每个公司都有自己的分词标准。
  • 歧义词难以切分。
  • 新词如何识别?

4. 分词方法

5 分词知识图谱

2.2 词性标注

1 什么是词性标注

  词性:单词的语法分类,比如名次动词形容词副词等等。
  词性标注:为句子中的每一个单词预测一个词性标签的任务,如下图:

2 词性标注难点

  • ①汉语缺乏词的形态变化,不能像外语那样,直接从词的形态变化上来判别词的类别;
  • ②常用词的兼类现象严重。兼类词使用频度高,兼类现象复杂多样,覆盖面广,又涉及汉语中大部分词类,使得词类消岐的任务困难重重;
  • ③研究者本身的主观因素也会造成兼类词处理的困难。据统计,常见的汉语兼类现象具有以下的分布特征:
    • 1.在汉语词汇中,兼类词数量不多,约占总词条数的 5- 11% 。
    • 2.兼类词的使用频率很高,越常用的词,其词性兼类现象越严重。
    • 3.兼类现象分布不均。如何高效地进行兼类词排歧是目前词性标注面临的主要困难之一。

3 词性标注常用方法

4 语料库和标注集

  同分词一样,词性标注也没有一个统一的标准,无论是词性划分的颗粒度还是词性标签都不一致。一方面各派系林立,互不兼容;另一方面,部分语料库称为内部资料,不公开给社会。

常用的公开语料库有:

  • 《人民日报》语料库和PKU标注集
  • 国家语委语料库和863标注集

5 语料标注工具推荐

  • Jieba :结巴github地址
  • HandLP: HandLP的github地址
  • StanfordCoreNLP: github地址

2.3 命名实体识别(NER)

1 什么是命名实体识别

  命名实体识别(Named Entity Recognition,简称NER),是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。

2 命名实体识别方法

3 实现方式

  • 有监督的学习方法:
    这一类方法需要利用大规模的已标注语料对模型进行参数训练。目前常用的模型或方法包括隐马尔可夫模型、语言模型、最大熵模型、支持向量机、决策树和条件随机场等。值得一提的是,基于条件随机场的方法是命名实体识别中最成功的方法。

  • 半监督的学习方法:
    这一类方法利用标注的小数据集(种子数据)自举学习。

  • 无监督的学习方法:
    这一类方法利用词汇资源(如WordNet)等进行上下文聚类。

  • 混合方法:
    几种模型相结合或利用统计方法和人工总结的知识库。

值得一提的是,由于深度学习在自然语言的广泛应用,基于深度学习的命名实体识别方法也展现出不错的效果,此类方法基本还是把命名实体识别当做序列标注任务来做,比较经典的方法是LSTM+CRF、BiLSTM+CRF。

4 推荐工具

3 句法分析(Syntactic Analyse)

  句法分析就是找到一个句子的组成成分,打上标签。如下所示:

3.1 成分句法分析

  成分句法分析要做的是,给定一个句子,句子中每个词汇都是成分。它们的标签,就是它们的词性。接着,相邻的成分,可以组合成一个更大的单位。比如 deep 和 learning 可以组合起来成为一个名词短语。very 和 powerful 也可以组合起来,变成一个形容词短语。is 和 very powerful 又可以组合起来,变成一个动词短语。最后这个动词短语和名词短语组合起来,变成整个句子。

1 成分标签

2 方法

  • 基于规则:CFG(上下文无关法)
  • 基于统计:PCFG(概率上下文无关)
  • 基于深度学习

3 成分结构与依存结构关系

成分结构树可以转换为依存结构树,反之不能。可以通过以下方法转换:

  1. 定义中心词表,为句法树每个节点选择中心子节点
  2. 同一层内将非中心子结点的中心词依存到中心子结点的中心词上,下一层的中心词依存到上一层的中心词上,从而得到相应的依存结构。

3.2依存句法分析

  依存句法是由法国语言学家L.Tesniere最先提出。它将句子分析成一颗依存句法树,描述出各个词语之间的依存关系。也即指出了词语之间在句法上的搭配关系,这种搭配关系是和语义相关联的。

  在自然语言处理中,用词与词之间的依存关系来描述语言结构的框架称为依存语法(dependence grammar),又称从属关系语法。利用依存句法进行句法分析是自然语言理解的重要技术之一。

  依存句法通过分析语言单位内成分之间的依存关系解释其句法结构,主张句子中核心动词是支配其他成分的中心成分。而它本身却不受其他任何成分的支配,所有受支配成分都以某种关系从属于支配者。

1 依存关系标签表

2 常用方法

  • 基于规则:早期基于规则的方法包括类似CYK的动态规划算法,基于约束满足的方法和确定性分析策略等。

  • 基于统计:

    • 生成式依存分析方法
    • 判别式依存分析方法
    • 确定式依存分析方法
  • 基于深度学习:近年来,深度学习在句法分析课题上逐渐成为研究热点,主要研究工作集中在特征表示方面。传统方法的特征表示主要采用人工定义原子特征和特征组合,而深度学习则把原子特征(词、词性、类别标签)进行向量化,在利用多层神经元网络提取特征。

4 语义分析(Semantic Analyse)

自然语言处理NLP概论相关推荐

  1. 【组队学习】【29期】9. 基于transformers的自然语言处理(NLP)入门

    9. 基于transformers的自然语言处理(NLP)入门 航路开辟者:多多.erenup.张帆.张贤.李泺秋.蔡杰.hlzhang 领航员:张红旭.袁一涵 航海士:多多.张红旭.袁一涵.童鸣 基 ...

  2. 【组队学习】【28期】基于transformers的自然语言处理(NLP)入门

    基于transformers的自然语言处理(NLP)入门 论坛版块: http://datawhale.club/c/team-learning/39-category/39 开源内容: https: ...

  3. 自然语言处理(NLP)之用深度学习实现命名实体识别(NER)

    几乎所有的NLP都依赖一个强大的语料库,本项目实现NER的语料库如下(文件名为train.txt,一共42000行,这里只展示前15行,可以在文章最后的Github地址下载该语料库): played ...

  4. 自然语言处理(NLP)之使用TF-IDF模型计算文本相似度

    自然语言处理(NLP)之使用TF-IDF模型计算文本相似度 所用数据集:ChnSentiCorp_htl_all.csv 语料库即存放稀疏向量的列表. 要注意的是,搜索文本text与被检索的文档共用一 ...

  5. 自然语言处理(NLP)之gensim中的TF-IDF的计算方法

    自然语言处理(NLP)之gensim中的TF-IDF的计算方法 step 1.  去掉所有文本中都会出现的词 texts = [['这是', '一个', '文本'], ['这是', '第二个', '文 ...

  6. 自然语言处理NLP之语义相似度、语言模型、doc2vec

    自然语言处理NLP之语义相似度.语言模型.doc2vec 目录 自然语言处理NLP之语义相似度.语言模型.doc2vec 语义相似度

  7. 自然语言处理NLP之BERT、BERT是什么、智能问答、阅读理解、分词、词性标注、数据增强、文本分类、BERT的知识表示本质

    自然语言处理NLP之BERT.BERT是什么.智能问答.阅读理解.分词.词性标注.数据增强.文本分类.BERT的知识表示本质 目录

  8. 自然语言处理NLP之文本蕴涵、智能问答、语音识别、对话系统、文本分类、情感计算

    自然语言处理NLP之文本蕴涵.智能问答.语音识别.对话系统.文本分类.情感计算 目录

  9. 自然语言处理NLP之文本摘要、机器翻译、OCR、信息检索、信息抽取、校对纠错

    自然语言处理NLP之文本摘要.机器翻译.OCR.信息检索.信息抽取.校对纠错 目录

  10. 自然语言处理NLP之自然语言生成、文本相似性、看图说话、说话生图、语音合成、自然语言可视化

    自然语言处理NLP之自然语言生成.文本相似性.看图说话.说话生图.语音合成.自然语言可视化 目录

最新文章

  1. 朴素贝叶斯分类器和一般的贝叶斯分类器有什么区别
  2. Visual Studio 快捷键
  3. MacBook Pro Homebrew 国内镜像加速
  4. php根据城市获取天气预报,根据浏览者ip获取城市,然后在获取城市天气预报
  5. 防止表单重复提交的解决方案整理
  6. java与java ee_Java EE6装饰器:在注入时装饰类
  7. java保存登录信息_java – 保存登录详细信息(首选项)android
  8. post怎么用php,$_POST[''];怎么用
  9. MATLAB信号处理之信号的积分和微分
  10. DBCP,C3P0,druid,HiKariCP连接池配置使用
  11. ArcGIS——vs2015安装arcgis engine不兼容
  12. 在ClassWizard无法显示添加的类解决方法(转载)
  13. [渝粤教育] 广东-国家-开放大学 21秋期末考试物权法10774k1
  14. 什么是 Apache Shiro
  15. 计算机英语潘雪峰,《小学三年级英语听力训练指导策略的研究》研究报告
  16. java简单幸运抽奖系统_java实现幸运抽奖系统
  17. JavaScript判断一个时间点在不在某段时间段范围之内
  18. CVPR 2022 | 谷歌提出mip-NeRF 360:全景NeRF越来越丝滑!
  19. 百度快照劫持的表现及解决方法
  20. 页面浏览量和点击量_如何计算页面浏览量

热门文章

  1. iOS16.1RC版发布后 iPhone14 Pro系列机型可以在灵动岛显示球赛比分
  2. C++随机设置壁纸小软件
  3. 我的世界 MineCraft RPG 服务器版本选择不完全指北 (内含 我的世界 版本更新内容盘点)
  4. 计算机字长 按字编址,按字节编址与按字长编址区别及原理图解分析
  5. css动画效果网站集合
  6. 超实数系统的单子(Monad)结构
  7. 传输设备基础知识〖 一篇就看懂〗
  8. NYOJ779 兰州烧饼
  9. 基于MATLAB的数字调制方法
  10. 善于抓住80后消费者的消费心理