独家 | 一文读懂自然语言处理NLP(附学习资料)

前言

                                             

自然语言处理是文本挖掘的研究领域之一,是人工智能和语言学领域的分支学科。在此领域中探讨如何处理及运用自然语言。

对于自然语言处理的发展历程,可以从哲学中的经验主义理性主义说起。基于统计的自然语言处理是哲学中的经验主义,基于规则的自然语言处理是哲学中的理性主义。在哲学领域中经验主义理性主义的斗争一直是此消彼长,这种矛盾与斗争也反映在具体科学上,如自然语言处理。

早期的自然语言处理具有鲜明的经验主义色彩。如1913年马尔科夫提出马尔科夫随机过程与马尔科夫模型的基础就是“手工查频”,具体说就是统计了《欧根·奥涅金》长诗中元音与辅音出现的频度;1948年香农把离散马尔科夫的概率模型应用于语言的自动机,同时采用手工方法统计英语字母的频率。

然而这种经验主义到了乔姆斯基时出现了转变。

1956年乔姆斯基借鉴香农的工作,把有限状态机用作刻画语法的工具,建立了自然语言的有限状态模型,具体来说就是用“代数”和“集合”将语言转化为符号序列,建立了一大堆有关语法的数学模型。这些工作非常伟大,为自然语言和形式语言找到了一种统一的数学描述理论,一个叫做“形式语言理论”的新领域诞生了。这个时代,“经验主义”被全盘否定,“理性主义”算是完胜。

然而在20世纪50年代末到60年代中期,经验主义东山再起了。多数学者普遍认为只有详尽的历史语料才能带来靠谱的结论。于是一些比较著名的理论与算法就诞生了,如贝叶斯方法(Bayesian Method)、隐马尔可夫、最大熵、Viterbi算法、支持向量机之类。世界上第一个联机语料库也是在那个时候的Brown University诞生的。但是总的来说,这个时代依然是基于规则的理性主义的天下,经验主义虽然取得了不俗的成就,却依然没有受到太大的重视。但是金子总会发光的。

90年代以来,基于统计的自然语言处理就开始大放异彩了。首先是在机器翻译领域取得了突破,因为引入了许多基于语料库的方法(哈钦斯,英国著名学者)。1990年在芬兰赫尔辛基举办的第13届国际计算语言学会议确定的主题是“处理大规模真实文本的理论、方法与工具”,大家的重心开始转向大规模真实文本了,传统的仅仅基于规则的自然语言处理显然力不从心了。学者们认为,大规模语料至少是对基于规则方法有效的补充。到了1994~1999年,经验主义就开始空前繁荣了。如句法剖析、词类标注、参照消解、话语处理的算法几乎把“概率”与“数据”作为标准方法,成为了自然语言处理的主流。 

总之,理性主义在自然语言处理的发展史上是有重要地位的,也辉煌了几十年,历史事物常常是此消彼长的,至于谁好谁坏,不是固定的,取决于不同时代的不同历史任务。总的来说,基于规则的理性主义在这个时代被提及得比较少,用的也比较少,主要是由于以下几个缺陷:

  • 鲁棒性差,过于严格的规则导致对非本质错误的零容忍(这一点在最近的一些新的剖析技术上有所改善);
  • 研究强度大,泛化能力差。一个研究要语言学家、语音学家和各种领域的专家配合,在当前大规模文本处理的时间、资源要求下太不划算。且机器学习的方法很难应用,难以普及;
  • 实践性差。基于统计的经验主义方法可以根据数据集不断对参数进行优化,而基于规则的方法就不可以,这在当前数据量巨大的情况下,影响是致命的,因为前者常常可以通过增大训练集来获得更好的效果,后者则死板许多,结果往往不尽人意。

但理性主义还是有很多优点的,同样经验主义也有很多缺陷,算是各有所长、各有所短。不同学科有不同学科的研究角度,只能说某些角度在某个特定的历史时期对提高生产力“更有用”,所以重视的人更多。但“有用”不代表胜利,暂时的“无用”更不能说是科学层面上的“失败”。尤其是在当前中文自然语言处理发展还不甚成熟的时期,私以为基于统计的方法在很多方面并不完美,“理性主义”的作用空间还很大,需要更多的人去关注、助力。

——《统计自然语言处理》宗成庆

自然语言处理涉及的范畴如下(维基百科):

  • 中文自动分词(Chinese word segmentation)
  • 词性标注(Part-of-speech tagging)
  • 句法分析(Parsing)
  • 自然语言生成(Natural language generation)
  • 文本分类(Text categorization)
  • 信息检索(Information retrieval)
  • 信息抽取(Information extraction)
  • 文字校对(Text-proofing)
  • 问答系统(Question answering)
  • 机器翻译(Machine translation)
  • 自动摘要(Automatic summarization)

本文针对其中几个主要领域的研究现状和进展,通过论文、博客等资料,结合自身的学习和实践经历进行浅显地介绍。由于个人实践经验不足,除中文分词、自动文摘、文本分类、情感分析和话题模型方面进行过实际业务的实践,其他方面经验欠缺,若有不当之处,欢迎童鞋们批评指正!

  

目录


 

一. 中文分词


中文分词主要包括词的歧义切分和未登录词识别,主要可以分为基于词典和基于统计的方法,最新的方法是多种方法的混合。从目前汉语分词研究的总体水平看,F1值已经达到95%左右,主要分词错误是由新词造成的,尤其对领域的适应性较差。下面主要介绍一下中文分词存在的主要问题和分词方法。

1. 问题

1.1 歧义切分

切分歧义处理包括两部分内容:

  • 切分歧义的检测;
  • 切分歧义的消解。

这两部分在逻辑关系上可分成两个相对独立的步骤。

  • 切分歧义的检测。“最大匹配法”(精确的说法应该叫“最长词优先匹配法”) 是最早出现、同时也是最基本的汉语自动分词方法。依扫描句子的方向,又分正向最大匹配 MM(从左向右)和逆向最大匹配 RMM(从右向左)两种。最大匹配法实际上将切分歧义检测与消解这两个过程合二为一,对输入句子给出唯一的切分可能性,并以之为解。从最大匹配法出发导出了“双向最大匹配法”,即MM+ RMM。双向最大匹配法存在着切分歧义检测盲区。

针对切分歧义检测,另外两个有价值的工作是“最少分词法”,这种方法歧义检测能力较双向最大匹配法要强些,产生的可能切分个数仅略有增加;和“全切分法”,这种方法穷举所有可能的切分,实现了无盲区的切分歧义检测,但代价是导致大量的切分“垃圾”。

  • 切分歧义的消解。典型的方法包括句法统计和基于记忆的模型。句法统计将自动分词和基于 Markov 链的词性自动标注技术结合起来,利用从人工标注语料库中提取出的词性二元统计规律来消解切分歧义,基于记忆的模型对伪歧义型高频交集型歧义切分,可以把它们的正确(唯一)切分形式预先记录在一张表中,其歧义消解通过直接查表即可实现。

1.2 未登录词识别


未登录词大致包含两大类:

  • 新涌现的通用词或专业术语等;
  • 专有名词。如中国人 名、外国译名、地名、机构名(泛指机关、团体和其它企事业单位)等。

前一种未登录词理 论上是可预期的,能够人工预先添加到词表中(但这也只是理想状态,在真实环境下并不易 做到);后一种未登录词则完全不可预期,无论词表多么庞大,也无法囊括。真实文本中(即便是大众通用领域),未登录词对分词精度的影响超过了歧义切分。未登录词处理在实用型分词系统中占的份量举足轻重。


  • 新涌现的通用词或专业术语。对这类未登录词的处理,一般是在大规模语料库的支持下,先由机器根据某种算法自动生成一张候选词表(无监督的机器学习策略),再人工筛选出其中的新词并补充到词表中。鉴于经过精加工的千万字、甚至亿字级的汉语分词语料库目前还是水月镜花,所以这个方向上现有的研究无一不以从极大规模生语料库中提炼出的 n 元汉字串之分布(n≥2)为基础。其中汉字之间的结合力通过全局统计量包括互信息、t- 测试差、卡方统计量、字串频等来表示。
  • 专有名词。对专有名词的未登录词的处理,首先依据从各类专有名词库中总结出的统计知识 (如姓氏用字及其频度)和人工归纳出的专有名词的某些结构规则,在输入句子中猜测可能成为专有名词的汉字串并给出其置信度,之后利用对该类专有名词有标识意义的紧邻上下文信息(如称谓),以及全局统计量和局部统计量(局部统计量是相对全局统计量而言的,是指从当前文章得到且其有效范围一般仅限于该文章的统计量,通常为字串频),进行进一步的鉴定。已有的工作涉及了四种常见的专有名词:中国人名的识别、外国译名的识别、中国地名的识别及机构名的识别。从各家报告的实验结果来看,外国译名的识别效果最好,中国人名次之,中国地名再次之,机构名最差。而任务本身的难度实质上也是遵循这个顺序由小增大。 沈达阳、孙茂松等(1997b )特别强调了局部统计量在未登录词处理中的价值。


2. 方法


2.1 基于词典的方法

在基于词典的方法中,对于给定的词,只有词典中存在的词语能够被识别,其中最受欢迎的方法是最大匹配法(MM),这种方法的效果取决于词典的覆盖度,因此随着新词不断出现,这种方法存在明显的缺点。

2.2 基于统计的方法

基于统计的方法由于使用了概率或评分机制而非词典对文本进行分词而被广泛应用。这种方法主要有三个缺点:一是这种方法只能识别OOV(out-of-vocabulary)词而不能识别词的类型,比如只能识别为一串字符串而不能识别出是人名;二是统计方法很难将语言知识融入分词系统,因此对于不符合语言规范的结果需要额外的人工解析;三是在许多现在分词系统中,OOV词识别通常独立于分词过程。

二. 词性标注

词性标注是指为给定句子中的每个词赋予正确的词法标记,给定一个切好词的句子,词性标注的目的是为每一个词赋予一个类别,这个类别称为词性标记(part-of-speech tag),比如,名词(noun)、动词(verb)、形容词(adjective) 等。它是自然语言处理中重要的和基础的研究课题之一,也是其他许多智能信息处理技术的基础,已被广泛的应用于机器翻译、文字识别、语音识别和信息检索等领域。

词性标注对于后续的自然语言处理工作是一个非常有用的预处理过程,它的准确程度将直接影响到后续的一系列分析处理任务的效果。 长期以来,兼类词的词性歧义消解和未知词的词性识别一直是词性标注领域需要解决的热点问题。当兼类词的词性歧义消解变得困难时,词性的标注就出现了不确定性的问题。而对那些超出了词典收录范围的词语或者新涌现的词语的词性推测,也是一个完整的标注系统所应具备的能力。

1. 词性标注方法

 

词性标注是一个非常典型的序列标注问题。最初采用的方法是隐马尔科夫生成式模型, 然后是判别式的最大熵模型、支持向量机模型,目前学术界通常采用结构感知器模型和条件随机场模型。近年来,随着深度学习技术的发展,研究者们也提出了很多有效的基于深层神经网络的词性标注方法。

迄今为止,词性标注主要分为基于规则的和基于统计的方法。

  • 规则方法能准确地描述词性搭配之间的确定现象,但是规则的语言覆盖面有限,庞大的规则库的编写和维护工作则显得过于繁重,并且规则之间的优先级和冲突问题也不容易得到满意的解决。
  • 统计方法从宏观上考虑了词性之间的依存关系,可以覆盖大部分的语言现象,整体上具有较高的正确率和稳定性,不过其对词性搭配确定现象的描述精度却不如规则方法。针对这样的情况,如何更好地结合利用统计方法和规则处理手段,使词性标注任务既能够有效地利用语言学家总结的语言规则,又可以充分地发挥统计处理的优势成为了词性标注研究的焦点。


2. 词性标注研究进展

  • 词性标注和句法分析联合建模:研究者们发现,由于词性标注和句法分析紧密相关,词性标注和句法分析联合建模可以同时显著提高两个任务准确率。
  • 异构数据融合:汉语数据目前存在多个人工标注数据,然而不同数据遵守不同的标注规范,因此称为多源异构数据。近年来,学者们就如何利用多源异构数据提高模型准确率,提出了很多有效的方法,如基于指导特征的方法、基于双序列标注的方法、以及基于神经网络共享表示的方法。
  • 基于深度学习的方法:传统词性标注方法的特征抽取过程主要是将固定上下文窗口的词进行人工组合,而深度学习方法能够自动利用非线性激活函数完成这一目标。进一步,如果结合循环神经网络如双向 LSTM,则抽取到的信息不再受到固定窗口的约束,而是考虑整个句子。除此之外,深度学习的另一个优势是初始词向量输入本身已经刻画了词语之间的相似度信息,这对词性标注非常重要。

 

三. 句法分析

语言语法的研究有非常悠久的历史,可以追溯到公元前语言学家的研究。不同类型的句 法分析体现在句法结构的表示形式不同,实现过程的复杂程度也有所不同。因此,科研人员 采用不同的方法构建符合各个语法特点的句法分析系统。其主要分类如下图所示:

下文主要对句法分析技术方法和研究现状进行总结分析:

1. 依存句法分析


依存语法存在一个共同的基本假设:句法结构本质上包含词和词之间的依存(修饰)关系。一个依存关系连接两个词,分别是核心词( head)和依存词( dependent)。依存关系可以细分为不同的类型,表示两个词之间的具体句法关系。目前研究主要集中在数据驱动的依存句法分析方法,即在训练实例集合上学习得到依存句法分析器,而不涉及依存语法理论的研究。数据驱动的方法的主要优势在于给定较大规模的训练数据,不需要过多的人工干预,就可以得到比较好的模型。因此,这类方法很容易应用到新领域和新语言环境。数据驱动的依存句法分析方法主要有两种主流方法:基于图( graph-based)的分析方法基于转移( transition-based)的分析方法。


2.1 基于图的依存句法分析方法


基于图的方法将依存句法分析问题看成从完全有向图中寻找最大生成树的问题。一棵依存树的分值由构成依存树的几种子树的分值累加得到。根据依存树分值中包含的子树的复杂度,基于图的依存分析模型可以简单区分为一阶和高阶模型。高阶模型可以使用更加复杂的子树特征,因此分析准确率更高,但是解码算法的效率也会下降。基于图的方法通常采用基于动态规划的解码算法,也有一些学者采用柱搜索(beam search)来提高效率。学习特征权重时,通常采用在线训练算法,如平均感知器( averaged perceptron)。


2.2 基于转移的依存句法分析方法


基于转移的方法将依存树的构成过程建模为一个动作序列,将依存分析问题转化为寻找最优动作序列的问题。早期,研究者们使用局部分类器(如支持向量机等)决定下一个动作。近年来,研究者们采用全局线性模型来决定下一个动作,一个依存树的分值由其对应的动作序列中每一个动作的分值累加得到。特征表示方面,基于转移的方法可以充分利用已形成的子树信息,从而形成丰富的特征,以指导模型决策下一个动作。模型通过贪心搜索或者柱搜索等解码算法找到近似最优的依存树。和基于图的方法类似,基于转移的方法通常也采用在线训练算法学习特征权重。

2.3 多模型融合的依存句法分析方法


基于图和基于转移的方法从不同的角度解决问题,各有优势。基于图的模型进行全局搜索但只能利用有限的子树特征,而基于转移的模型搜索空间有限但可以充分利用已构成的子树信息构成丰富的特征。详细比较发现,这两种方法存在不同的错误分布。因此,研究者们使用不同的方法融合两种模型的优势,常见的方法有:stacked learning;对多个模型的结果加权后重新解码(re-parsing);从训练语料中多次抽样训练多个模型(bagging)。 

2. 短语结构句法分析


分词,词性标注技术一般只需对句子的局部范围进行分析处理,目前已经基本成熟,其标志就是它们已经被成功地用于文本检索、文本分类、信息抽取等应用之中,而句法分析、语义分析技术需要对句子进行全局分析,目前,深层的语言分析技术还没有达到完全实用的程度。

短语结构句法分析的研究基于上下文无关文法(Context Free Grammar,CFG)。上下文无关文法可以定义为四元组,其中 T 表示终结符的集合(即词的集合),N 表示非终结符的集合(即文法标注和词性标记的集合),S 表示充当句法树根节点的特殊非终结符,而 R 表示文法规则的集合,其中每条文法规则可以表示为 Nig ,这里的 g 表示由非终结符与终结符组成的一个序列(允许为空)。

根据文法规则的来源不同,句法分析器的构建方法总体来说可以分为两大类:

  • 人工书写规则
  • 从数据中自动学习规则

人工书写规则受限于规则集合的规模:随着书写的规则数量的增多,规则与规则之间的冲突加剧,从而导致继续添加规则变得困难。

与人工书写规模相比,自动学习规则的方法由于开发周期短和系统健壮性强等特点,加上大规模人工标注数据,比如宾州大学的多语种树库的推动作用,已经成为句法分析中的主流方法。而数据驱动的方法又推动了统计方法在句法分析领域中的大量应用。为了在句法分析中引入统计信息,需要将上下文无关文法扩展成为概率上下文无关文法(Probabilistic Context Free Grammar,PCFG),即为每条文法规则指定概率值。

概率上下文无关文法与非概率化的上下文无关文法相同,仍然表示为四元组,区别在于概率上下文无关文法中的文法规则必须带有概率值。获得概率上下文无关文法的最简单的方法是直接从树库中读取规则,利用最大似然估计(Maximum Likelihood Estimation,MLE)计算得到每条规则的概率值。使用该方法得到的文法可以称为简单概率上下文无关文法。在解码阶段,CKY 10等解码算法就可以利用学习得到的概率上下文无关文法搜索最优句法树。

虽然基于简单概率上下文无关文法的句法分析器的实现比较简单,但是这类分析器的性能并不能让人满意。性能不佳的主要原因在于上下文无关文法采取的独立性假设过强:一条文法规则的选择只与该规则左侧的非终结符有关,而与任何其它上下文信息无关。文法中缺乏其它信息用于规则选择的消歧。因此后继研究工作的出发点大都基于如何弱化上下文无关文法中的隐含独立性假设。


3. 总结


分词,词性标注技术一般只需对句子的局部范围进行分析处理,目前已经基本成熟,其标志就是它们已经被成功地用于文本检索、文本分类、信息抽取等应用之中,而句法分析、语义分析技术需要对句子进行全局分析,目前,深层的语言分析技术还没有达到完全实用的程度。

四. 文本分类

文本分类是文本挖掘的核心任务,一直以来倍受学术界和工业界的关注。文本分类(Text Classification)的任务是根据给定文档的内容或主题,自动分配预先定义的类别标签。

对文档进行分类,一般需要经过两个步骤:

  • 文本表示
  • 学习分类

文本表示是指将无结构化的文本内容转化成结构化的特征向量形式,作为分类模型的输入。在得到文本对应的特征向量后,就可以采用各种分类或聚类模型,根据特征向量训练分类器或进行聚类。因此,文本分类或聚类的主要研究任务和相应关键科学问题如下:

1. 任务


1.1    构建文本特征向量


构建文本特征向量的目的是将计算机无法处理的无结构文本内容转换为计算机能够处 理的特征向量形式。文本内容特征向量构建是决定文本分类和聚类性能的重要环节。为了根据文本内容生成特征向量,需要首先建立特征空间。其中典型代表是文本词袋(Bag of Words)模型,每个文档被表示为一个特征向量,其特征向量每一维代表一个词项。所有词项构成的向量长度一般可以达到几万甚至几百万的量级。

这样高维的特征向量表示如果包含大量冗余噪音,会影响后续分类聚类模型的计算效率和效果。因此,我们往往需要进行特征选择(Feature Selection)与特征提取(Feature Extraction),选取最具有区分性和表达能力的特征建立特征空间,实现特征空间降维;或者,进行特征转换(Feature Transformation),将高维特征向量映射到低维向量空间。特征选择、提取或转换是构建有效文本特征向量的关键问题。

1.2 建立分类或聚类模型


在得到文本特征向量后,我们需要构建分类或聚类模型,根据文本特征向量进行分类聚类

其中,分类模型旨在学习特征向量与分类标签之间的关联关系,获得最佳的分类效果; 而聚类模型旨在根据特征向量计算文本之间语义相似度,将文本集合划分为若干子集。 分类和聚类是机器学习领域的经典研究问题。

我们一般可以直接使用经典的模型或算法解决文本分类或聚类问题。例如,对于文本分类,我们可以选用朴素贝叶斯、决策树、k-NN、 逻辑回归(Logistic Regression)、支持向量机(Support Vector Machine, SVM)等分类模型。 对于文本聚类,我们可以选用 k-means、层次聚类或谱聚类(spectral clustering)等聚类算法。 这些模型算法适用于不同类型的数据而不仅限于文本数据。

但是,文本分类或聚类会面临许多独特的问题,例如,如何充分利用大量无标注的文本数据,如何实现面向文本的在线分类或聚类模型,如何应对短文本带来的表示稀疏问题,如何实现大规模带层次分类体系的分类功能,如何充分利用文本的序列信息和句法语义信息,如何充分利用外部语言知识库信息,等等。这些问题都是构建文本分类和聚类模型所面临的关键问题。

2. 模型


2.1 文本分类模型


近年来,文本分类模型研究层出不穷,特别是随着深度学习的发展,深度神经网络模型 也在文本分类任务上取得了巨大进展。我们将文本分类模型划分为以下三类:

  • 基于规则的分类模型

基于规则的分类模型旨在建立一个规则集合来对数据类别进行判断。这些规则可以从训 练样本里自动产生,也可以人工定义。给定一个测试样例,我们可以通过判断它是否满足某 些规则的条件,来决定其是否属于该条规则对应的类别。

典型的基于规则的分类模型包括决策树(Decision Tree)、随机森林(Random Forest)、 RIPPER 算法等。


  • 基于机器学习的分类模型

典型的机器学习分类模型包括贝叶斯分类器(Naïve Bayes)、线性分类器(逻辑回归)、 支持向量机(Support Vector Machine, SVM)、最大熵分类器等。

SVM 是这些分类模型中比较有效、使用较为广泛的分类模型。它能够有效克服样本分布不均匀、特征冗余以及过拟合等问题,被广泛应用于不同的分类任务与场景。通过引入核函数,SVM 还能够解决原始特征空间线性不可分的问题。

除了上述单分类模型,以 Boosting 为代表的分类模型组合方法能够有效地综合多个弱分类模型的分类能力。在给定训练数据集合上同时训练这些弱分类模型,然后通过投票等机制综合多个分类器的预测结果,能够为测试样例预测更准确的类别标签。

  • 基于神经网络的方法

以人工神经网络为代表的深度学习技术已经在计算机视觉、语音识别等领域取得了巨大 成功,在自然语言处理领域,利用神经网络对自然语言文本信息进行特征学习和文本分类, 也成为文本分类的前沿技术。

前向神经网络:多层感知机(Multilayer Perceptron, MLP)是一种典型的前向神经网 络。它能够自动学习多层神经网络,将输入特征向量映射到对应的类别标签上。通过引入非线性激活层,该模型能够实现非线性的分类判别式。包括多层感知机在内的文本分类模型均使用了词袋模型假设,忽略了文本中词序和结构化信息。对于多层感知机模型来说,高质量的初始特征表示是实现有效分类模型的必要条件。

为了更加充分地考虑文本词序信息,利用神经网络自动特征学习的特点,研究者后续提出了卷积神经网络(Convolutional Neural Network, CNN)和循环神经网络(Recurrent Neural Network, RNN)进行文本分类。基于 CNN 和 RNN 的文本分类模型输入均为原始的词序列,输出为该文本在所有类别上的概率分布。这里,词序列中的每个词项均以词向量的形式作为输入。

卷积神经网络(CNN):卷积神经网络文本分类模型的主要思想是,对词向量形式的文本输入进行卷积操作。CNN 最初被用于处理图像数据。与图像处理中选取二维域进行卷积操作不同,面向文本的卷积操作是针对固定滑动窗口内的词项进行的。经过卷积层、 池化层和非线性转换层后,CNN 可以得到文本特征向量用于分类学习。CNN 的优势在于在计算文本特征向量过程中有效保留有用的词序信息。针对 CNN 文本分类模型还有许多改进工作, 如基于字符级 CNN 的文本分类模型、将词位置信息加入到词向量。


循环神经网络(RNN):循环神经网络将文本作为字符或词语序列{

时间: 2024-08-03 00:42:20

独家 | 一文读懂自然语言处理NLP(附学习资料)的相关文章

独家 | 一文读懂贝叶斯分类算法(附学习资源)

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本文首先介绍分类问题,给出分类问题的定义.随后介绍贝叶斯分类算法的基础--贝叶斯定理.最后介绍贝叶斯分类中最简单的一种--朴素贝叶斯分类,并结合应用案例进一步阐释. 贝叶斯分类 1. 分类问题综述 对于分类问题,我们每一个人都并不陌生,因为在日常生活中我们都在或多或少地运用它.例如,当你看到一个陌生人,你的脑子下意识判断TA是男是女:你可能经常会走在路上对身旁的朋友说"这个人一看就很有钱.那边有个非主流"

综述 | 一文读懂自然语言处理NLP(附学习资料)

前言 自然语言处理是文本挖掘的研究领域之一,是人工智能和语言学领域的分支学科.在此领域中探讨如何处理及运用自然语言. 对于自然语言处理的发展历程,可以从哲学中的经验主义和理性主义说起.基于统计的自然语言处理是哲学中的经验主义,基于规则的自然语言处理是哲学中的理性主义.在哲学领域中经验主义与理性主义的斗争一直是此消彼长,这种矛盾与斗争也反映在具体科学上,如自然语言处理. 早期的自然语言处理具有鲜明的经验主义色彩.如 1913 年马尔科夫提出马尔科夫随机过程与马尔科夫模型的基础就是"手工查频&quo

一文读懂贝叶斯分类算法(附学习资源)

贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类.本文首先介绍分类问题,给出分类问题的定义.随后介绍贝叶斯分类算法的基础--贝叶斯定理.最后介绍贝叶斯分类中最简单的一种--朴素贝叶斯分类,并结合应用案例进一步阐释. 贝叶斯分类 1. 分类问题综述 对于分类问题,我们每一个人都并不陌生,因为在日常生活中我们都在或多或少地运用它.例如,当你看到一个陌生人,你的脑子下意识判断TA是男是女:你可能经常会走在路上对身旁的朋友说"这个人一看就很有钱.那边有个非主流"

独家 | 一文读懂Hadoop(四):YARN

随着全球经济的不断发展,大数据时代早已悄悄到来,而Hadoop又是大数据环境的基础,想入门大数据行业首先需要了解Hadoop的知识.2017年年初apache发行了Hadoop3.0,也意味着一直有一群人在对Hadoop不断的做优化,不仅如此,各个Hadoop的商业版本也有好多公司正在使用,这也印证了它的商业价值. 读者可以通过阅读"一文读懂Hadoop"系列文章,对Hadoop技术有个全面的了解,它涵盖了Hadoop官网的所有知识点,并且通俗易懂,英文不好的读者完全可以通过阅读此篇文

独家 | 一文读懂Hadoop(一):综述

随着全球经济的不断发展,大数据时代早已悄悄到来,而Hadoop又是大数据环境的基础,想入门大数据行业首先需要了解Hadoop的知识.2017年年初apache发行了Hadoop3.0,也意味着一直有一群人在对Hadoop不断的做优化,不仅如此,各个Hadoop的商业版本也有好多公司正在使用,这也印证了它的商业价值. 读者可以通过阅读"一文读懂Hadoop"系列文章,对Hadoop技术有个全面的了解,它涵盖了Hadoop官网的所有知识点,并且通俗易懂,英文不好的读者完全可以通过阅读此篇文

独家 | 一文读懂Hadoop(三):Mapreduce

随着全球经济的不断发展,大数据时代早已悄悄到来,而Hadoop又是大数据环境的基础,想入门大数据行业首先需要了解Hadoop的知识.2017年年初apache发行了Hadoop3.0,也意味着一直有一群人在对Hadoop不断的做优化,不仅如此,各个Hadoop的商业版本也有好多公司正在使用,这也印证了它的商业价值. 读者可以通过阅读"一文读懂Hadoop"系列文章,对Hadoop技术有个全面的了解,它涵盖了Hadoop官网的所有知识点,并且通俗易懂,英文不好的读者完全可以通过阅读此篇文

独家 | 一文读懂Hadoop(二)HDFS(上)

随着全球经济的不断发展,大数据时代早已悄悄到来,而Hadoop又是大数据环境的基础,想入门大数据行业首先需要了解Hadoop的知识.2017年年初apache发行了Hadoop3.0,也意味着一直有一群人在对Hadoop不断的做优化,不仅如此,各个Hadoop的商业版本也有好多公司正在使用,这也印证了它的商业价值. 读者可以通过阅读"一文读懂Hadoop"系列文章,对Hadoop技术有个全面的了解,它涵盖了Hadoop官网的所有知识点,并且通俗易懂,英文不好的读者完全可以通过阅读此篇文

独家 | 一文读懂社交网络分析-上(附学习资源)

本文主要阐述: 社交网络的结构特性与演化机理 社交网络群体行为形成与互动规律 社交网络信息传播与演化机理 浏览后四章的内容请见下篇(2017年9月26日二条). 前言 社交网络在维基百科的定义是"由许多节点构成的一种社会结构.节点通常是指个人或组织,而社交网络代表着各种社会关系."在互联网诞生前,社交网络分析是社会学和人类学重要的研究分支.早期的社交网络的主要指通过合作关系建立起来的职业网络,如科研合作网络.演员合作网络等. 本文所指的社交网络分析专指在线社交网络分析(Online S

独家 | 一文读懂深度学习

Figure1. Deep learning导图   前言 深度学习(deep learning)的概念最早可以追溯到1940-1960年间的控制论(cybernetics),之后在1980-1990年间发展为连接主义(connectionism),第三次发展浪潮便是2006年由人工神经网络(Artificial neural network)扩展开来并发展成为今天十分火热的深度学习(Figure 2).实际上,深度学习的兴起和发展是非常自然的,人们在应用经典的机器学习方法时,需要对具体的问题或