第3章 spaCy语言模型

第1章介绍了基本的文本分析概念,但没有讨论深层的技术细节。本章将向读者介绍spaCy语言模型,并列举本书第一个文本分析模块的示例,作为构建文本处理流程的第一步。本章还会引领读者学习使用spaCy库,它包含一些强大的文本分析功能,如词性标注和命名实体识别功能。最后我们结合实例来说明如何有效和快速地对数据进行预处理。

本章介绍的主题如下:

  • spaCy库;
  • 安装步骤;
  • 词法分析;
  • 总结。

在讨论完文本分析的基本概念之后,首先需要深入学习的Python库是spaCy。

spaCy是一个工业级的自然语言处理库。虽然spaCy只发布了词性标注器和命名实体识别器(支持多种语言),但其重点不在于面向科学研究,而在于解决工业界的实际问题,所以spaCy没有封装任何多余的功能特性。

为什么要区分面向科研的开源库?因为有很多自然语言处理和机器学习用到的开源库是由高校学者发布和维护的,主要用途是进行科学研究。虽然这些库确实能够满足基本的科研工作,但在诞生之初,它们的设计目标并不是提供工业级的算法实现。NLTK(Nature Language ToolKit)就是这样的一个例子,它专注于如何帮助科研工作者和学生们快速上手。spaCy则代表另一种开源库的定位:满足工业级的生产开发。换句话说,它能够运行于现实世界的数据之上,既支持大数据又可扩展。

spaCy的创建者Matt Honnibal的博客详细地介绍了当前NLP开源库所面临的问题,以及spaCy的设计哲学。问题的症结在于一些开源包中缺乏管理和维护(比如Pattern库,最近才尝试迁移到Python 3)。对于NLTK来说,其症结在于过时的技术,或者只是简单地作为一层包装器,提供第三方词性标注器或语法解析器的绑定功能。 ...

Get 自然语言处理与计算语言学 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.