NLP概述和文本自动分类算法详解

自然语言处理一直是人工智能领域的重要话题,更是 18 年的热度话题,为了在海量文本中及时准确地获得有效信息,文本分类技术获得广泛关注,也给大家带来了更多应用和想象的空间。本文根据达观数据联合创始人张健的直播内容《NLP 概述及文本自动分类算法详解》整理而成。

一、    NLP 概述

1.文本挖掘任务类型的划分

文本挖掘任务大致分为四个类型:类别到序列、序列到类别、同步的(每个输入位置都要产生输出)序列到序列、异步的序列到序列。

同步的序列到序列的例子包括中文分词,命名实体识别词性标注。一部的序列到序列包括机器翻译和自动摘要。序列到类别的例子包括文本分类和情感分析。类别(对象)到序列的例子包括文本生成和形象描述。

2.文本挖掘系统整体方案

达观数据一直专注于文本语义,文本挖掘系统整体方案包含了 NLP 处理的各个环节,从处理的文本粒度上来分,可以分为篇章级应用、短串级应用和词汇级应用。

篇章级应用有六个方面,已经有成熟的产品支持企业在不同方面的文本挖掘需求:

  • 垃圾评论:精准识别广告、不文明用语及低质量文本。

  • 黄反识别:准确定位文本中所含涉黄、涉政及反动内容。

  • 标签提取:提取文本中的核心词语生成标签。

  • 文章分类:依据预设分类体系对文本进行自动归类。

  • 情感分析:准确分析用户透过文本表达出的情感倾向。

  • 文章主题模型:抽取出文章的隐含主题。

为了实现这些顶层应用,达观数据掌握从词语短串分析个层面的分析技术,开发了包括中文分词、专名识别、语义分析和词串分析等模块。

达观数据文本挖掘架构图

3.序列标注应用:中文分词

同步的序列到序列,其实就是序列标注问题,应该说是自然语言处理中最常见的问题。序列标注的应用包括中文分词、命名实体识别词性标注等。序列标注问题的输入是一个观测序列,输出的是一个标记序列或状态序列。

举中文分词为例,处理「结合成分子」的观测序列,输出「结合/成/分子」的分词标记序列。针对中文分词的这个应用,有多种处理方法,包括基于词典的方法、隐马尔可夫模型(HMM)、最大熵模型条件随机场(CRF)、深度学习模型(双向 LSTM 等)和一些无监督学习的方法(基于凝聚度与自由度)。

4.序列标注应用:NER

命名实体识别:Named Entity Recognition,简称 NER,又称作「专名识别」,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。通常包括实体边界识别和确定实体类别。

对与命名实体识别,采取不同的标记方式,常见的标签方式包括 IO、BIO、BMEWO 和 BMEWO+。其中一些标签含义是:

  • B:begin

  • I:一个词的后续成分

  • M:中间

  • E:结束

  • W:单个词作为实体

大部分情况下,标签体系越复杂准确度也越高,但相应的训练时间也会增加。因此需要根据实际情况选择合适的标签体系。通常我们实际应用过程中,最难解决的还是标注问题。所以在做命名实体识别时,要考虑人工成本问题。

5.英文处理

在 NLP 领域,中文和英文的处理在大的方面都是相通的,不过在细节方面会有所差别。其中一个方面,就是中文需要解决分词的问题,而英文天然的就没有这个烦恼;另外一个方面,英文处理会面临词形还原和词根提取的问题,英文中会有时态变换(made==>make),单复数变换(cats==>cat),词根提取(arabic==>arab)。

在处理上面的问题过程中,不得不提到的一个工具是 WordNet。WordNet 是一个由普林斯顿大学认识科学实验室在心理学教授乔治•A•米勒的指导下建立和维护的英语字典。在 WordNet 中,名词、动词、形容词和副词各自被组织成一个同义词的网络,每个同义词集合都代表一个基本的语义概念,并且这些集合之间也由各种关系连接。我们可以通过 WordNet 来获取同义词和上位词。

6.词嵌入

在处理文本过程中,我们需要将文本转化成数字可表示的方式。词向量要做的事就是将语言数学化表示。词向量有两种实现方式:One-hot 表示,即通过向量中的一维 0/1 值来表示某个词;词嵌入,将词转变为固定维数的向量。

word2vec 是使用浅层和双层神经网络产生生词向量的模型,产生的词嵌入实际上是语言模型的一个副产品,网络以词表现,并且需猜测相邻位置的输入词。word2vec 中词向量的训练方式有两种,cbow(continuous bags of word)和 skip-gram。cbow 和 skip-gram 的区别在于,cbow 是通过输入单词的上下文(周围的词的向量和)来预测中间的单词,而 skip-gram 是输入中间的单词来预测它周围的词。

7.文档建模

要使计算机能够高效地处理真实文本,就必须找到一种理想的形式化表示方法,这个过程就是文档建模。文档建模一方面要能够真实地反映文档的内容,另一方面又要对不同文档具有区分能力。文档建模比较通用的方法包括布尔模型向量空间模型(VSM)和概率模型。其中最为广泛使用的是向量空间模型

二、文本分类的关键技术与重要方法

1.利用机器学习进行模型训练

文本分类的流程包括训练、文本语义、文本特征处理、训练模型、模型评估和输出模型等几个主要环节。其中介绍一下一些主要的概念。

  • 文档建模:概率模型布尔模型,VSM;

  • 文本语义:分词,命名实体识别词性标注等;

  • 文本特征处理:特征降维,包括使用评估函数(TF-IDF,互信息方法,期望交叉熵,QEMI,统计量方法,遗传算法等);特征向量权值计算;

  • 样本分类训练:朴素贝叶斯分类器,SVM,神经网络算法,决策树,Ensemble 算法等;

  • 模型评估:召回率,正确率,F-测度值;

2.向量空间模型

向量空间模型是常用来处理文本挖掘的文档建模方法。VSM 概念非常直观——把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语义的相似度,直观易懂。

当文档被表示为文档空间的向量时,就可以通过计算向量之间的相似性来度量文档间的相似性。它的一些实现方式包括:

1)N-gram 模型:基于一定的语料库,可以利用 N-Gram 来预计或者评估一个句子是否合理;

2)TF-IDF 模型:若某个词在一篇文档中出现频率 TF 高,却在其他文章中很少出现,则认为此词具有很好的类别区分能力;

3)Paragraph Vector 模型:其实是 word vector 的一种扩展。Gensim 中的 Doc2Vec 以及 Facebook 开源的 Fasttext 工具也是采取了这么一种思路,它们将文本的词向量进行相加/求平均的结果作为 Paragraph Vector。

3.文本特征提取算法

目前大多数中文文本分类系统都采用词作为特征项,作为特征项的词称作特征词。这些特征词作为文档的中间表示形式,用来实现文档与文档、文档与用户目标之间的相似度计算。如果把所有的词都作为特征项,那么特征向量的维数将过于巨大。有效的特征提取算法,不仅能降低运算复杂度,还能提高分类的效率和精度。

文本特征提取的算法包含下面三个方面:

1)从原始特征中挑选出一些最具代表文本信息的特征,例如词频、TF-IDF 方法;

2)基于数学方法找出对分类信息共现比较大的特征,主要例子包括互信息法、信息增益、期望交叉熵和统计量方法;

3)以特征量分析多元统计分布,例如主成分分析(PCA)。

4.文本权重计算方法

特征权重用于衡量某个特征项在文档表示中的重要程度或区分能力的强弱。选择合适的权重计算方法,对文本分类系统的分类效果能有较大的提升作用。

特征权重的计算方法包括:

1)TF-IDF

2)词性;

3)标题;

4)位置;

5)句法结构;

6)专业词库;

7)信息熵

8)文档、词语长度;

9)词语间关联;

10)词语直径;

11)词语分布偏差。

其中提几点,词语直径是指词语在文本中首次出现的位置和末次出现的位置之间的距离。词语分布偏差所考虑的是词语在文章中的统计分布。在整篇文章中分布均匀的词语通常是重要的词汇。

5.分类器设计

由于文本分类本身是一个分类问题,所以一般的模式分类方法都可以用于文本分类应用中。

常用分类算法的思路包括下面四种:

1)朴素贝叶斯分类器:利用特征项和类别的联合概率来估计文本的类别概率;

2)支持向量机分类器:在向量空间中找到一个决策平面,这个平面能够最好的切割两个分类的数据点,主要用于解决二分类问题

3)KNN 方法:在训练集中找到离它最近的 k 个临近文本,并根据这些文本的分类来给测试文档分类;

4)决策树方法:将文本处理过程看作是一个等级分层且分解完成的复杂任务。

6.分类算法融合

聚合多个分类器,提高分类准确率称为 Ensemble 方法。

利用不同分类器的优势,取长补短,最后综合多个分类器的结果。Ensemble 可设定目标函数 (组合多个分类器),通过训练得到多个分类器的组合参数 (并非简单的累加或者多数)。

我们这里提到的 ensemble 可能跟通常说的 ensemble learning 有区别。主要应该是指 stacking。Stacking 是指训练一个模型用于组合其他各个模型。即首先我们先训练多个不同的模型,然后再以之前训练的各个模型的输出为输入来训练一个模型,以得到一个最终的输出。在处理 ensemble 方法的时候,需要注意几个点。基础模型之间的相关性要尽可能的小,并且它们的性能表现不能差距太大。

多个模型分类结果如果差别不大,那么叠加效果也不明显;或者如果单个模型的效果距离其他模型比较差,也是会对整体效果拖后腿。

三、文本分类深度学习中的应用

1.CNN 文本分类

采取 CNN 方法进行文本分类,相比传统方法会在一些方面有优势。

基于词袋模型文本分类方法,没有考虑到词的顺序。

基于卷积神经网络(CNN)来做文本分类,可以利用到词的顺序包含的信息。如图展示了比较基础的一个用 CNN 进行文本分类的网络结构。CNN 模型把原始文本作为输入,不需要太多的人工特征。CNN 模型的一个实现,共分四层:

  • 第一层是词向量层,doc 中的每个词,都将其映射到词向量空间,假设词向量为 k 维,则 n 个词映射后,相当于生成一张 n*k 维的图像;

  • 第二层是卷积层,多个滤波器作用于词向量层,不同滤波器生成不同的 feature map;

  • 第三层是 pooling 层,取每个 feature map 的最大值,这样操作可以处理变长文档,因为第三层输出只依赖于滤波器的个数;

  • 第四层是一个全连接的 softmax 层,输出是每个类目的概率,中间一般加个 dropout,防止过拟合

有关 CNN 的方法一般都围绕这个基础模型进行,再加上不同层的创新。

比如第一个模型在输入层换成 RNN,去获得文本通过 rnn 处理之后的输出作为卷积层的输入。比如说第二个是在 pooling 层使用了动态 kmax pooling,来解决样本集合文本长度变化较大的问题。比如说第三种是极深网络,在卷积层做多层卷积,以获得长距离的依赖信息。CNN 能够提取不同长度范围的特征,网络的层数越多,意味着能够提取到不同范围的特征越丰富。不过 cnn 层数太多会有梯度弥散、梯度爆炸或者退化等一系列问题。

为了解决这些问题,极深网络就通过 shortcut 连接。残差网络其实是由多种路径组合的一个网络,残差网络其实是很多并行子网络的组合,有些点评评书残差网络就说它其实相当于一个 Ensembling。

2.RNN 与 LSTM 文本分类

CNN 有个问题是卷积时候是固定 filter_size,就是无法建模更长的序列信息,虽然这个可以通过多次卷积获得不同范围的特征,不过要付出增加网络深度的代价。

Rnn 的出现是解决变长序列信息建模的问题,它会将每一步中产生的信息都传递到下一步中。

首先我们在输入层之上,套上一层双向 LSTM 层,LSTM 是 RNN 的改进模型,相比 RNN,能够更有效地处理句子中单词间的长距离影响;而双向 LSTM 就是在隐层同时有一个正向 LSTM 和反向 LSTM,正向 LSTM 捕获了上文的特征信息,而反向 LSTM 捕获了下文的特征信息,这样相对单向 LSTM 来说能够捕获更多的特征信息,所以通常情况下双向 LSTM 表现比单向 LSTM 或者单向 RNN 要好。

如何从物理意义上来理解求平均呢?这其实可以理解为在这一层,两个句子中每个单词都对最终分类结果进行投票,因为每个 BLSTM 的输出可以理解为这个输入单词看到了所有上文和所有下文(包含两个句子)后作出的两者是否语义相同的判断,而通过 Mean Pooling 层投出自己宝贵的一票。

3.Attention Model 与 seq2seq

注意力模型 Attention Model 是传统自编码器的一个升级版本。传统 RNN 的 Encoder-Decoder 模型,它的缺点是不管无论之前的 context 有多长,包含多少信息量,最终都要被压缩成固定的 vector,而且各个维度维度收到每个输入维度的影响都是一致的。为了解决这个问题,它的 idea 其实是赋予不同位置的 context 不同的权重,越大的权重表示对应位置的 context 更加重要。

现实中,举一个翻译问题:jack ma dances very well 翻译成中文是马云跳舞很好。其中,马云应该是和 jack ma 关联的。

Attention Model 是当前的研究热点,它广泛地可应用于文本生成、机器翻译语言模型等方面。

4.Hierarchical Attention Network

下面介绍层次化注意力网络。

词编码层是首先把词转化成词向量,然后用双向的 GRU 层, 可以将正向和反向的上下文信息结合起来,获得隐藏层输出。第二层是 word attention 层。attention 机制的目的是要把一个句子中,对句子的含义最重要,贡献最大的词语找出来。

为了衡量单词的重要性, 我们用 u_it 和一个随机初始化的上下文向量 u_w 的相似度来表示,然后经过 softmax 操作获得了一个归一化的 attention 权重矩阵 a_it,代表句子 i 中第 t 个词的权重。结合词的权重,句子向量 s_i 看作组成这些句子的词向量的加权求和。

第三层是句子编码层,也是通过双向 GRU 层, 可以将正向和反向的上下文信息结合起来,获得隐藏层输出。

到了第四层是句子的注意力层,同词的注意力层差不多,也是提出了一个句子级别的上下文向量 u_s, 来衡量句子在文中的重要性。输出也是结合句子的权重,全文的向量表示看做是句子向量的加权求和。

到了最后,有了全文的向量表示,我们就直接通过全连接 softmax 来进行分类。

四、案例介绍

1.新闻分类

新闻分类是最常见的一种分类。其处理方法包括:

1)定制行业专业语料,定期更新语料知识库,构建行业垂直语义模型。

2)计算 term 权重,考虑到位置特征,网页特征,以及结合离线统计结果获取到核心的关键词。

3)使用主题模型进行语义扩展

4)监督与半监督方式的文本分类

2.垃圾广告黄反识别

垃圾广告过滤作为文本分类的一个场景有其特殊之处,那就是它作为一种防攻击手段,会经常面临攻击用户采取许多变换手段来绕过检查。

处理这些变换手段有多重方法:

  • 一是对变形词进行识别还原,包括要处理间杂特殊符号,同音、简繁变换,和偏旁拆分、形近变换。

  • 二是通过语言模型识别干扰文本,如果识别出文本是段不通顺的「胡言乱语」,那么他很可能是一段用于规避关键字审查的垃圾文本。

  • 三是通过计算主题和评论的相关度匹配来鉴别。

  • 四是基于多种表达特征的分类器模型识别来提高分类的泛化能力。

3.情感分析

情感分析的处理办法包括:

1)基于词典的情感分析,主要是线设置情感词典,然后基于规则匹配(情感词对应的权重进行加权)来识别样本是否是正负面。

2)基于机器学习的情感分析,主要是采取词袋模型作为基础特征,并且将复杂的情感处理规则命中的结果作为一维或者多维特征,以一种更为「柔性」的方法融合到情感分析中,扩充我们的词袋模型

3)使用 dnn 模型来进行文本分类,解决传统词袋模型难以处理长距离依赖的缺点。

4.NLP 其他应用

NLP 在达观的其他一些应用包括:

1)标签抽取;

2)观点挖掘;

3)应用于推荐系统

4)应用于搜索引擎。

标签抽取有多种方式:基于聚类的方法实现。此外,现在一些深度学习的算法,通过有监督的手段实现标签抽取功能。

就观点挖掘而言,举例:床很破,睡得不好。我抽取的观点是「床破」,其中涉及到语法句法分析,将有关联成本提取出来。

搜索及推荐,使用到 NLP 的地方也很多,如搜索引擎处理用户查询的纠错,就用到信道噪声模型实行纠错处理。

入门自然语言处理文本分类语义理解
4
相关数据
神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

词袋模型技术
Bag of words

词袋模型(英语:Bag-of-words model)是个在自然语言处理和信息检索(IR)下被简化的表达模型。此模型下,像是句子或是文件这样的文字可以用一个袋子装着这些词的方式表现,这种表现方式不考虑文法以及词的顺序。最近词袋模型也被应用在电脑视觉领域。

分类问题技术
Classification

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

降维技术
Dimensionality reduction

降维算法是将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。

布尔模型技术
Boolean model

在数理逻辑中,布尔值模型是普通的塔斯基主义者的结构或模型概念的推广,在其中命题的真值不被限定为"真"和"假",而是从某个固定的完全布尔代数中取值,布尔值模型是 Dana Scott、Robert M. Solovay 和 Petr Vopěnka 在1960年代为了帮助理解 Paul Cohen 的力迫方法而介入的。

条件随机场技术
Conditional random field

条件随机场(conditional random field,简称 CRF),是一种鉴别式机率模型,是随机场的一种,常用于标注或分析序列资料,如自然语言文字或是生物序列。 如同马尔可夫随机场,条件随机场为无向性之图模型,图中的顶点代表随机变量,顶点间的连线代表随机变量间的相依关系,在条件随机场当中,随机变量 Y 的分布为条件机率,给定的观察值则为随机变量 X。原则上,条件随机场的图模型布局是可以任意给定的,一般常用的布局是链接式的架构,链接式架构不论在训练(training)、推论(inference)、或是解码(decoding)上,都存在有效率的算法可供演算。 条件随机场跟隐马尔可夫模型常被一起提及,条件随机场对于输入和输出的机率分布,没有如隐马尔可夫模型那般强烈的假设存在。 线性链条件随机场应用于标注问题是由Lafferty等人与2001年提出的。

卷积神经网络技术
Convolutional neural network

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

交叉熵技术
Cross-entropy

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

隐马尔可夫模型技术
Hidden Markov models (HMM)

隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别。

信息熵技术
Information entropy

在信息论中,熵是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。这里,“消息”代表来自分布或数据流中的事件、样本或特征。熵的单位通常为比特,但也用Sh、nat、Hart计量,取决于定义用到对数的底。

知识库技术
Knowledge base

知识库是用于知识管理的一种特殊的数据库,以便于有关领域知识的采集、整理以及提取。知识库中的知识源于领域专家,它是求解问题所需领域知识的集合,包括基本事实、规则和其它有关信息。

长距离依赖技术
Long-distance dependencies

也作“长距离调序”问题,在机器翻译中,比如中英文翻译,其语言结构差异比较大,词语顺序存在全局变化,不容易被捕捉

信息增益技术
Information gain (Ratio)

在决策树学习中,信息增益比是信息增益与固有信息的比率。 它被用来通过在选择属性时考虑分支的数量和大小来减少对多值属性的偏见.

机器学习技术
Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

映射技术
Mapping

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

语言模型技术
Language models

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

命名实体识别技术
Named entity recognition

命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

自然语言处理技术
Natural language processing

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

机器翻译技术
Machine translation

机器翻译(MT)是利用机器的力量「自动将一种自然语言(源语言)的文本翻译成另一种语言(目标语言)」。机器翻译方法通常可分成三大类:基于规则的机器翻译(RBMT)、统计机器翻译(SMT)和神经机器翻译(NMT)。

朴素贝叶斯技术
Naive Bayesian (classifier)

朴素贝叶斯是一种构建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。

最大熵模型技术
Maximum Entropy Modeling

最大熵原理是概率模型学习的一个准则:学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。 应用最大熵原理得到的模型就是最大熵模型。

过拟合技术
Overfitting

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

池化技术
Pooling

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

概率模型技术
probabilistic models

概率模型(Statistical Model,也稱為Probabilistic Model)是用来描述不同随机变量之间关系的数学模型,通常情况下刻画了一个或多个随机变量之间的相互非确定性的概率关系。 从数学上讲,该模型通常被表达为 ,其中 是观测集合用来描述可能的观测结果, 是 对应的概率分布函数集合。

推荐系统技术
Recommender system

推荐系统(RS)主要是指应用协同智能(collaborative intelligence)做推荐的技术。推荐系统的两大主流类型是基于内容的推荐系统和协同过滤(Collaborative Filtering)。另外还有基于知识的推荐系统(包括基于本体和基于案例的推荐系统)是一类特殊的推荐系统,这类系统更加注重知识表征和推理。

目标函数技术
Objective function

目标函数f(x)就是用设计变量来表示的所追求的目标形式,所以目标函数就是设计变量的函数,是一个标量。从工程意义讲,目标函数是系统的性能标准,比如,一个结构的最轻重量、最低造价、最合理形式;一件产品的最短生产时间、最小能量消耗;一个实验的最佳配方等等,建立目标函数的过程就是寻找设计变量与目标的关系的过程,目标函数和设计变量的关系可用曲线、曲面或超曲面表示。

词性标注技术
part of speech (tagging)

词性标注是指为分词结果中的每个单词标注一个正确的词性的程序,也即确定每个词是名词、动词、形容词或其他词性的过程。

参数技术
parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

查询技术
Query

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

主成分分析技术
Principal component analysis

在多元统计分析中,主成分分析(Principal components analysis,PCA)是一种分析、简化数据集的技术。主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。这是通过保留低阶主成分,忽略高阶主成分做到的。这样低阶成分往往能够保留住数据的最重要方面。但是,这也不是一定的,要视具体应用而定。由于主成分分析依赖所给数据,所以数据的准确性对分析结果影响很大。

监督学习技术
Supervised learning

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

堆叠技术
Stacking

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

文本分类技术
text classification

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

反比文档频数权重评价方法技术
TF-IDF

tf-idf(英语:term frequency–inverse document frequency)是一种用于信息检索与文本挖掘的常用加权技术。tf-idf是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。tf-idf加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了tf-idf以外,互联网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜索结果中出现的顺序。

主题模型技术
topic models

主题模型(Topic Model)在机器学习和自然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。直观来讲,如果一篇文章有一个中心思想,那么一些特定词语会更频繁的出现。比方说,如果一篇文章是在讲狗的,那“狗”和“骨头”等词出现的频率会高些。如果一篇文章是在讲猫的,那“猫”和“鱼”等词出现的频率会高些。而有些词例如“这个”、“和”大概在两篇文章中出现的频率会大致相等。但真实的情况是,一篇文章通常包含多种主题,而且每个主题所占比例各不相同。因此,如果一篇文章10%和猫有关,90%和狗有关,那么和狗相关的关键字出现的次数大概会是和猫相关的关键字出现次数的9倍。一个主题模型试图用数学框架来体现文档的这种特点。主题模型自动分析每个文档,统计文档内的词语,根据统计的信息来断定当前文档含有哪些主题,以及每个主题所占的比例各为多少。

word2vec技术
word2vec

Word2vec,为一群用来产生词向量的相关模型。这些模型为浅而双层的神经网络,用来训练以重新建构语言学之词文本。网络以词表现,并且需猜测相邻位置的输入词,在word2vec中词袋模型假设下,词的顺序是不重要的。 训练完成之后,word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系。该向量为神经网络之隐藏层。 Word2vec依赖skip-grams或连续词袋(CBOW)来建立神经词嵌入。Word2vec为托马斯·米科洛夫(Tomas Mikolov)在Google带领的研究团队创造。该算法渐渐被其他人所分析和解释。

向量空间模型技术
Vector space model

向量空间模型是一个把文本文件表示为标识符(比如索引)向量的代数模型。它应用于信息过滤、信息检索、索引以及相关排序。

词嵌入技术
Word embedding

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

权重技术
Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

深度学习技术
Deep learning

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

文本挖掘技术
Text Mining

文本挖掘有时也被称为文字探勘、文本数据挖掘等,大致相当于文字分析,一般指文本处理过程中产生高质量的信息。高质量的信息通常通过分类和预测来产生,如模式识别。文本挖掘通常涉及输入文本的处理过程,产生结构化数据,并最终评价和解释输出。'高品质'的文本挖掘通常是指某种组合的相关性,新颖性和趣味性。

准确率技术
Accuracy

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

支持向量机技术
Support Vector Machines

达观数据
达观数据

机器之心编辑

推荐文章
返回顶部