NLP

来自智得网
跳转至: 导航、​ 搜索

简介

自然语言处理(英语:Natural Language Processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言处理包括多方面和步骤,基本有认知、理解、生成等部分。

NLP是涉及到计算机科学,语言学和机器学习的交叉学科,可以用于计算机和人类之间通过自然语言进行交流,该领域的应用根据目标不同可以分为下列几个分支:

  • 语音识别,将人类语言转译为文本,语音识别(ASR)应用了一部分NLP的能力,例如语言模型,但是ASR技术中还包括声学模型处理等技术,所以ASR只是应用了NLP的一种技术,而不是NLP的一个子集。
  • 自然语言生成,将信息生成人类语言的音频。
  • 自然语言理解,计算机可以理解人类的自然语言。

原理

NLP从大的流程上主要分为几个部分,词法分析、特征工程、模型训练等。

词法分析

词法分析主要的环节有分词,实体识别,词性标注。

分词

人类语言一般是以句子为基础的表意单元,但是人类语言的句子有各种丰富的词汇以及语法的组合,属于非结构化的信息,直接分析成本较高。而词语在任何语言都是可穷举的,具有一定的结构化特性,所以NLP的语义分析都是以词为基础单元。

分词就是将句子、段落、文章这种长文本,分解为以字词为单位的数据结构,方便后续的处理分析工作。

分词算法一般有三种实现:

  • 基于词典的实现,例如ik
  • 基于统计模型,例如ansj, hanlp
  • 基于深度学习
算法类型 算法 实现方案
基于词典 最大匹配 构造字典树(Tire树),使用匹配到的最长的词作为分词结果。
基于词典 最短路径 最短路径分词算法首先将句子的词全部匹配出来,构成有向无环图DAG,从语法角度选择最合理的字词组合。
基于统计 CRF分词 CRF可以看作一个无向图模型,对于给定的标注序列Y和观测序列X,对条件概率P(Y|X)进行定义,而不是对联合概率建模。
基于统计 平均感知机 感知机是一种简单的二分类线性模型,通过构造超平面,将特征空间(输入空间)中的样本分为正负两类。
深度学习 神经网络
词性标注

词性标注是为分词标注词性,词性是指名词、动词等。

因为中文词语没有印加语系中词态的概念,所以词性标注比较困难。

词性标注算法一般基于HMM。

特征工程

在 NLP 特征提取常用的技术有 RNN、CNN、 Transformer。

模型训练