前言
从高中开始接触数学和统计学以来,我就一直对数字着迷。分析学(analytics)、数据科学以及最近的文本分析技术均出现较晚,大概是在几年前,当时关于大数据(big data)和数据分析的炒作越来越猛烈,甚至有些疯狂。就个人而言,我认为其中很多都是过度炒作,但是也有一些令人兴奋的东西,因为这些技术在新工作、新发现以及解决人们先前认为不可能解决的问题方面展现了巨大的可能性。
自然语言处理(Natural Language Processing,NLP)一直深深吸引着我,因为人脑科学和人类认知能力确实令人着迷。如果尝试在机器中重塑这种传递信息、复杂思维和情绪的能力,那一定是令人惊喜的。当然,尽管我们在认知计算(cognitive computing)和人工智能(Artificial Intelligence,AI)方面的发展突飞猛进,但现在尚且无法实现这一点。仅通过图灵测试可能是不够的,机器真正能复制人的方方面面吗?
当今,对于NLP和文本分析应用,迫切需求从非结构化、原始文本数据中提取有用信息和可行见解的能力。到目前为止,我一直在努力解决各种问题,面临诸多挑战,并随着时间的推移吸取了各种各样的经验教训。本书涵盖了我在文本分析领域学到的大部分知识,仅仅从一堆文本文档中建立一个花哨的词云是不够的。
在学习文本分析方面,最大的问题或许不是信息缺乏,而是信息过多,通常这称为信息过载(information overload)。海量的资源、文档、论文、书籍和期刊包含了大量的理论资料、概念、技术和算法,它们常常使该领域的新手不知所措。解决问题的正确技术是什么?文本摘要如何真正有效?哪些才是解决多类文本分类的框架?通过将数学和理论概念与现实用例的Python实现相结合,本书尝试解决这个问题,并帮助读者避免迄今为止我所遇到的一些急迫问题。
本书采用了全面的和结构化的介绍方法。首先,它在前几章中介绍了自然语言理解和Python结构的基础知识。熟悉了基础知识之后,其余章节将解决文本分析中的一些有趣问题,包括文本分类、聚类、相似性分析、文本摘要和主题模型。本书还将分析文本的结构、语义、情感和观点。对于每个主题,将介绍基本概念,并使用一些现实世界中的场景和数据来实现涵盖每个概念的技术。本书的构想是呈现一幅文本分析和NLP的蓝海,并提供必要的工具、技术和知识以处理和解决工作中遇到的问题。我希望你能觉得本书很有帮助,并祝你在文本分析的世界中旅途愉快!