自然语言处理指南(第四部分)

请务必首先检查第1部分第2 部分第3部分

了解文件

我们在这里还在谈论理解文件。让我们继续!

其他用途

您可以使用相同的技巧为不同的任务创建摘要。对于更高级和基于语义的应用程序尤其如此。请注意,为许多文档只创建一个摘要也是一个不同的任务。这是因为你必须考虑到不同的文件长度,避免重复等等。

有一种自然语言应用是识别类似的文件。如果您可以设计一种方法来识别一个文档中最有意义的句子,那么您还可以比较两个文档的含义。

这个技术的另一种应用是信息检索。简而言之,如果用户搜索一个单词 - 比方说 汽车 - 您可以使用其中的一些技术来查找包含汽车的文档。

最后,还有话题建模,其中包括查找一批文档的主题。简而言之,这意味着将具有相似主题的单词分组在一起。它使用更复杂的统计方法,用于创建摘要。目前的最新技术是基于称为潜在狄利克雷分配的方法。

Gensim是一个非常受欢迎的,可用于生产的库,有许多这样的应用程序。自然,它是用Python编写的。

Mallet是一个主要为话题建模而设计的Java库。

解析文档

大多数计算机语言很容易解析。对于自然语言来说这是不正确的。有一些方法可以给出好的结果,但最终这仍然是一个开放的研究领域。从根本上讲,问题是解析一个句子(即分析它的语法)及其含义是以一种自然语言相互联系的。一个主语,一个动词,一个名词或副词都是单词,大多数可以做主语单词也可以是宾语

实际上,这意味着没有任何可以使用的库,对于你所能想到的每一个用途都是有好处的。我们提出了一些可以用于限制性任务的库,比如识别谈话片段也可以用于改进其他方法,像创建摘要的方法。

还有一个令人沮丧的事实是,很多软件是由学术研究人员制作的,这意味着它可以被很容易地放弃,由于另一种方法或缺乏文档。你不能真正使用一个未完成的,维护不当的软件来生产任何东西。特别是如果你关心英语以外的其他语言,你可能会发现自己看到了一个十年前写的好的工作演示,没有任何联系信息,没有任何开源代码。

你需要数据

为了通过解析或者从自然语言文档中广泛地提取信息来获得任何类型的结果,需要大量的数据来训练算法。这组数据被称为语料库。为了在使用统计或机器学习技术的系统中使用,您可能只需要将很多真实世界的数据划分为适当的组(即维基百科的文章按类别划分)。

但是,如果您正在使用智能系统,则可能需要手动构建或注释该数据集(即,dog是具有这些X可能含义的名词)。一个智能系统是试图模仿人类理解的系统,或者至少是使用人类可以遵循的过程。例如,依赖于使用短语>主语动词(短语由主语和动词构成)等规则的语法的分析器,还定义了几类人类通常不会使用的动词(即与运动相关的动词)。

在这些情况下,语料库通常使用自定义格式,并为特定需求而构建。例如,这个可以回答关于美国的地理问题的系统使用以Prolog格式存储的信息。自然的结果是,即使是一般可用的信息,如字典数据,在不同的程序之间也是不兼容的。

另一方面,也有很好的数据库是非常有价值的,许多程序都围绕它们建立。WordNet就是这样的数据库的一个例子。它是一个词汇数据库,将具有相似含义的单词组(即同义词)与其相关联的定义链接起来。它作为一个字典和一个词库。原来的版本是英文的,但它激发了其他语言的类似数据库。

你可以做什么

我们提出了一些构建自己的图书馆来理解文本的实际挑战。而且我们甚至没有提到与人类语言模糊有关的所有问题。所以,与过去的部分不同,我们只是要解释你能做什么。我们不会解释用于实现它们的算法,因为没有空间,也没有必要的数据,它们将毫无价值。相反,在下一段中,我们将介绍可以用来实现所需内容的最常用的库。

命名实体识别

命名实体识别基本上意味着找到文档中提到的实体。例如, 约翰·史密斯(John Smithis)去意大利时,应该把约翰·史密斯意大利确定 为实体。它也应该能在不同的文档中追踪它们。

情绪分析

情感分析将短语表达的情绪分类。从最基本的角度来说,这意味着要理解一个短语是表示正面还是负面的陈述。朴素贝叶斯分类器可以满足这个层次的理解。它的工作方式与垃圾邮件过滤器的工作方式类似:依据每个单词出现在两个类别中的任何一个的概率,将邮件划分为两类(即垃圾邮件和非垃圾邮件)。

另一种方法是手动将情绪排名与单词相关联。例如,-10 / -5和0之间的值为灾难性的,0和5/10之间的值为

如果你需要一个更微妙的评估,你需要采取机器学习技术。

部分的词性标注

词性标注部分(通常缩写为POS标签)表示对不同词类(即什么是名词,动词,形容词等)的识别和标记。虽然是解析的一个组成部分,但也可以用来简化其他任务。例如,它可以用于创建摘要,以简化为摘要选择的句子(即删除下属的子句)。

词形还原工具

一个词形还原工具返回给定单词和一个词性标签的引理。基本上,它给出了一个单词的相应字典形式。在某些方面,它可以被认为是一个先驱者的高级形式。它也可以用于类似的目的; 即它可以确保一个词的所有不同形式正确地连接到相同的概念。

例如,它可以将所有的实例转变成,为了搜索的目的。然而,它也可以的情况下,区分作为动词和跑步像在名词同义词慢跑中一样。

分块

词性标注的部分可以被认为等同于在自然语言中搜索。分块也称为浅层解析,是词性标注之上的一个步骤,但是在最后的解析之下。它以较高的意义单位连接词类,例如补语。想象一下,约翰总是赢得我们的俄罗斯轮盘赌比赛

  • POS-tagger标识俄语是形容词,轮盘赌是名词
  • chunker将俄罗斯轮盘赌作为补充或两个相关的部分组合在一起

chunker可能会生成将被解析器使用的单元。它也可以独立工作,例如帮助命名实体识别。

解析

最终结果与计算机语言相同:分析树。尽管这个过程是完全不同的,它可能从概率语法开始,甚至根本没有语法。通常还会有很多概率和统计方法。

以下是斯坦福分析器(我们将在后面看到)为我的狗喜欢打猎猫和人的短语创建的解析树。NP等字母表示词性或补语。

(ROOT
  (S
      (NP (PRP$ My) (NN dog))
        (VP (VBZ likes)
          (NP (NN hunting) (NNS cats)
              (CC and)
               (NNS people)))))
翻译

目前最好的自动机器翻译方法依赖于机器学习。好消息是,这意味着您只需要使用您所关心的语言的大量文档,而无需任何注释。这些文本的典型来源是维基百科和欧盟的正式文件(要求文件以联盟的所有正式语言翻译)。

任何尝试过Google翻译或必应翻译的人都可以证明,结果总体上已经足够理解,但仍然经常有些偏离。他们不能取代人力翻译。

第四部分就是这样!下一次,我们将看到理解文档的最后一页,并概述最好的NLP库

本文的版权归 我不是咸鱼 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

数据专家必知必会的7款Python工具

如果你有志于做一个数据专家,你就应该保持一颗好奇心,总是不断探索,学习,问各种问题。在线入门教程和视频教程能帮你走出第一步,但是最好的方式就是通过熟悉各种已经在...

24360
来自专栏数据科学与人工智能

【Python环境】首席数据专家们推荐使用的 7 款 Python 工具

如果你有志于做一个数据专家,你就应该保持一颗好奇心,总是不断探索,学习,问各种问题。在线入门教程和视频教程能帮你走出第一步,但是最好的方式就是通过熟悉各种已经在...

27550
来自专栏漫漫全栈路

数据库E-R模型关系图

早在专科阶段学习SqlServers时就学习过数据库E-R图,但是并没有真正的去了解这个东西,只是知道了大致的概念而已,借这次Oracle课程设计的机会,重新...

66740
来自专栏IT派

推荐|2017年最受数据科学欢迎的Top15个Python库!

如果你觉得好的话,不妨分享到朋友圈。 近几年Python已成为数据科学行业中大火的编程语言,我们将根据以往的经验来为大家总结一下数据科学家和工程师几个最实用的...

35240
来自专栏AI科技评论

开发 | 还在费心学编程?微软用深度学习 AI 帮你写代码

在过去的几十年中,无论在硬件组织还是软件架构上,计算机行业已经发生了翻天覆地的变化,各种软硬件产品的性能和用户体验均得到了显著提升。 但对程序员而言,软件编码的...

45990
来自专栏华章科技

数据专家必知必会的7款Python工具

我咨询了我们真正的数据专家,收集整理了他们认为所有数据专家都应该会的七款 Python 工具。The Galvanize Data Science 和 Galv...

11530
来自专栏数据科学与人工智能

【Python环境】玩转数据分析,必知必会的7款Python工具!

如果你有志于做一个数据专家,你就应该保持一颗好奇心,总是不断探索,学习,问各种问题。在线入门教程和视频教程能帮你走出第一步,但是最好的方式就是通过熟悉各种已经在...

24380
来自专栏瓜大三哥

matlab基础1

matlab简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要...

241100
来自专栏CDA数据分析师

玩转数据分析,必知必会的7款Python工具!

如果你有志于做一个数据专家,你就应该保持一颗好奇心,总是不断探索,学习,问各种问题。在线入门教程和视频教程能帮你走出第一步,但是最好的方式就是通过熟悉各种已经在...

22080
来自专栏Albert陈凯

NO

N ---- 非关系型数据库( Not Only SQL):这个词听起来几乎就是「SQL,结构化查询语言」的反义词,SQL 是传统的关系型数据管理系统(RDBM...

27860

扫码关注云+社区

领取腾讯云代金券