NLP学习笔记-----nlp入门介绍

自然语言的特性

为什么计算机难以理解人类的自然语言呢?主要是下面6个特性:

  1. 词汇量
    在自然语言中含有很丰富的词汇,而编程语言中能使用的关键字数量是有限的
  2. 结构化
    自然语言是非结构化的,而编程语言是结构化的,例如类和成员。自然语言是线性字符串,要分析它,需要用到分词、命名实体识别、指代消解和关系抽取等。
  3. 歧义性
    我们说话含有大量的歧义,要根据上下文语境来判断。中文就更加多歧义了。
  4. 容错性
    即使是多次校对的文稿,也可能会有错误,所以互联网的文本就更加的多错误,但是即使它错的离谱,人类还是能理解它表达的意思。
    5.易变性
    我们可以自由创造和传播新用法,学习外来语来创造很多新的词汇,每天都在发生变化,而编程语言的变化是缓慢的,根据维护的组织来进行修改。
  5. 简略性
    我们为了追求快捷,往往说话带有很多简写,这些简写省略了大量背景知识和常识,例如“工行”,“老地方见”。

技术名词解释(按照NLP任务的执行顺序)

  • 语音识别Speech Recognition:语音转文字
  • 光学字符识别Optical Character Recognition:图片转文字
  • 词法分析:包括下面3种,都是围绕词语分析
    1. 中文分词:将文本分隔为有意义的词语
    2. 词性标注:确定词语的类别和浅层的歧义消除
    3. 命名实体识别:识别一些较长的专有名词
  • 信息提取:从有意义的单词列表种,抽取有用信息,用到一些信息抽取算法
  • 文本分类和聚类:判断垃圾邮件是分类,相似文本归档或排除重复文档是聚类
  • 句法分析:关注词语之间的关系,关注主谓宾结构,关于语法
  • 语义和篇章分析:侧重于语义而非语法,
    1. 词义消歧:确定一个词在语境中的含义,而不是简单的词义
    2. 语义角色标注:标注句中谓语和其他成分的关系
    3. 语义依存分析:分析句子中的词语之间的语义关系
  • 高级任务: 自动回答,自动摘要,机器翻译。信息检索算是另一个学科,但与nlp有密切联系

NLP的流派

  1. 基于规则的专家系统(1950-1990)
    专家手工制定一些确定性的流程,例如我们常用的正则表达式,是固定的规则。弱点是难以拓展,规则会出现冲突,引起矛盾,当规则变多了,要考虑的兼容问题更多,系统维护成本高。

  2. 基于统计学习方法(1990-2010)
    利用统计学习方法在语料库上进行统计,语料库就是人工标注的结构化文本,其实就是让机器学习语料库中的规律,这种就是比较常用的机器学习方法处理nlp任务。

  3. 深度学习(2010-至今)
    现在比较火的Bert,CNN,LSTM就是深度学习处理nlp任务,不需要专家制定特征模板,能够自动学习原始数据的抽象表示。

语料库

  1. 中文分词语料库:人工正确切分后的句子集合,涉及到语料规范的制定,规范很难执行
  2. 词性标注语料库:切分并为每个词指定一个词性的语料,词性标注集
  3. 命名实体识别语料库:关注实体名词和实体类别,命名实体类型取决于制作者关心什么
  4. 句法分析语料库:带有词性标签和单词间的联系。已经做过分词、词性标注和句法标注
  5. 文本分类语料库:由人工标注了所属分类的文章构成
如何建设语料库?
  • 规范指定
    由语言学家指定一套标注规范,包括了标注集定义、样例、和实施方法
  • 人员培训
    大型语料库需要多人协同标注,必须大家都对规范了解一直,否则出现内部冲突,影响质量
  • 人工标注
    成熟的标注软件brat,是典型B/S架构,亮点是可以多人协同标注。

使用Hanlp

本系列内容按照何晗大佬的书学习的,安装hanlp时出现问题的同学可参考下面这个链接,我觉得很有帮助!
安装pyhanlp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值