中文版序
Text Data Management and Analysis:A Practical Introduction to Information Retrieval and Text Mining
目前,我们正处在一个以大数据与人工智能技术为核心的新的工业革命时代,其主要特征是大量各种可利用的数据可以视为一种特殊的生产资料,经过高效的智能数据分析与挖掘以及机器学习等人工智能技术处理后,这些数据可以产生巨大价值,创造智能。
大数据可以用两种方式创造智能。其一,大量的数据可以作为训练数据,让监督式机器学习方法特别是深度学习,发挥巨大潜力,从大量数据中学得智能,从而使智能机器能够大量代替人力来完成各种任务(此类智能系统可称为自主型智能系统)。例如,大量的可用于训练无人驾驶车的数据可以很自然地从人的驾驶过程中通过传感器获得,使机器可以自动驾驶车辆;又如,大量的客户服务记录数据,可以用来训练客户服务机器人,自动回答客户的问题。其二,大量的数据可以作为对我们生活的世界的感知和观察的结果的描述,用数据挖掘或非监督式机器学习方法对数据加以处理,获得关于被观察系统的各种有用知识,从而拓展人类的感知能力,增强人的智能(此类系统自身往往智能程度不高,可以称为助理型智能系统)。例如,大量电子病历数据可以用来构造一个医生或病人的辅助诊疗的智能助手系统;又如,大量金融数据、社交媒体数据以及新闻数据可以用来构造金融方面的决策支持系统。
比较两类基于大数据的智能系统,自主型智能系统能完成的任务不能太复杂(因机器需独立完成任务),且对数据的要求较高,需要有标注的数据,而获取极大量的高质量的标注数据在很多问题领域并不现实,所以这类应用目前只能在少量的特定应用领域起作用。而且,由于机器的智能主要来自于人工标注的数据,机器的智能不容易超越人的智能。相反,助理型智能系统由于不需要有标注的数据,任何数据都可以利用,所以在任何领域都可以起作用,有着非常广泛的应用。而且,有趣的是,尽管助理型智能系统本身的智能不高,甚至没有太多智能,但这样的系统一旦与人结合,人与系统相加以后的综合智能往往能大大超越人的智能。这种情形下,助理型智能系统的功能有与显微镜及望远镜的功能相似之处,即它们都可以拓展人对世界的感知能力,从而增强人的智能,特别是有助于在复杂应用领域优化决策。
作为一种特殊的大数据,文本数据泛指各种以自然语言形式存在的数据,包括万维网页、新闻报道、社交媒体、产品评论、科学文献、政府文件等;语音和视频数据,经语音识别后也能产生文本数据。文本数据有着极其广泛的应用。第一,文本数据可被视为人,作为一个富有智能的主观“传感器”所产生的数据,它可以与所有其它非文本数据相结合,共同支持助理型智能系统;又因为任何应用领域都会涉及相关的人群,人们会以各种形式产生可用的文本数据,所以文本数据在任何领域都会有应用价值。第二,由于人的主观性,文本数据富含关于人的观点、偏好以及需求等信息,所以特别有助于挖掘关于人的各种属性,使智能系统可以更好地理解用户,从而可以对每一个特定的用户进行优化服务(即个性化服务)。第三,由于文本数据是人们用自然语言交流和通信的产物,它的语义很丰富,相比非文本数据来说,文本数据更加直接地表达知识。从数据挖掘的角度看,更容易让计算机自动获取知识。然而,由于自然语言是为人类通信而设计的,需要有大量的常识及推理能力,才能准确理解,所以尽管自然语言理解研究已取得很大进展,计算机目前还不能全面理解不受限的自然语言的结构和语义,所以在所有文本数据的应用中,必须充分利用人的自然语言理解能力,让计算机成为一个智能助理。
《文本数据管理与分析》这本书从文本检索与挖掘的角度,比较全面和系统地介绍了利用文本数据支持助理型智能系统的各种应用技术。文本检索技术可用于构造各种搜索和推荐系统;这类系统可帮助用户快速定位到与当前任务最相关的文本数据,从而避免处理大量不必要处理的不相关数据。而文本分析与挖掘技术则可进一步对相关文本数据进行分析,帮助用户消化相关文本信息,将文本转化为可直接支持任务和决策的知识。这些技术可以有机地结合在一起支持交互式的智能文本检索与分析系统。书中介绍的文本检索与分析技术大多为不依赖具体自然语言的基于统计的通用技术,因而可适用于管理、处理与分析包括英语及汉语的任何自然语言文本数据及构造各种应用领域的应用系统。与书中内容相配的MeTA工具集,可帮助读者进一步理解如何实现书中算法和利用已有算法进行科研或开发应用软件。
目前,大数据及人工智能技术的研究与开发在中国正方兴未艾,机械工业出版社华章公司出版《文本数据管理与分析》一书的中文版,可谓时机甚佳。作为原书的一位作者,在此特别感谢华章公司姚蕾编辑对此书翻译的大力支持和协调,以及哈尔滨工业大学刘挺教授和他带领的翻译团队,包括宋巍、赵鑫、李璐旸、李洋、赵森栋及段俊文等的杰出翻译工作。希望此书能有助于许多中文读者学习掌握文本数据检索、分析与挖掘的当前技术,开发基于文本大数据的智能信息应用系统。
翟成祥
2019年3月2日
于美国伊利诺伊州香槟市
前 言
Text Data Management and Analysis:A Practical Introduction to Information Retrieval and Text Mining
“大数据”的增长为计算和统计方法带来了前所未有的机遇。利用这些方法可以将未经处理的原始数据(raw data)转变为可应用的知识以支持各类应用任务,尤其是涉及决策(decision making)优化的应用领域,如健康与医疗、防护与安全、学习与教育、科学探索及商业智能等。正如显微镜使我们能够看到微观世界、望远镜使我们能够看到远方一样,“大数据镜”将扩展我们的感知能力去发现埋藏在数据中的隐含信息与知识,这些隐含的信息与知识能够帮助做出预测和优化决策。本书覆盖了用于管理和分析大规模文本数据的通用计算技术,这些技术能够帮助用户在各类应用中对文本数据进行管理和使用。
文本数据包括所有以自然语言文本(如英文文本或中文文本)形式出现的数据:所有的网页、社交媒体数据(如微博)、新闻、科技文献、电子邮件、政府文档以及其他类型的企业数据。文本数据在生活中起到重要作用。由于人们使用自然语言进行交流,每天将产生并消费大量涵盖各类主题的文本数据。文本数据的爆炸式增长使人们不可能至少很难及时地消费所有相关信息。因此,开发智能信息检索系统成为迫切的需求,智能信息检索系统能够帮助人们管理文本数据,并随时快速、准确地获取所需的相关信息。这种需求是近期网络搜索引擎行业迅猛发展的主要原因。文本数据主要是人们为了交流的目的而产生,其中通常包含了丰富的语义内容和有价值的知识、信息、观点以及人们的偏好。因此,作为“大数据”的一种,文本数据提供了巨大的机遇去发掘对多种应用有用的知识,尤其是直接用文本形式表达的用户观点和偏好等。例如,人们普遍通过产品评论、论坛讨论和社交媒体等文本数据获取他人观点帮助决策。由于信息规模巨大,人们需要智能软件工具来帮助发现相关知识以优化决策或更加高效地完成相关任务。尽管支持文本挖掘的技术并没有成熟到如搜索引擎支持文本获取的程度,但相关领域在近年来取得了显著进步,一些专门的文本挖掘工具已经开始在众多应用领域广泛使用。本书的子标题阐释了本书涵盖的两大主题:信息检索与文本挖掘。这两大主题基本对应了前文讨论的两类应用系统(搜索引擎与文本分析系统)所依赖的技术。人为地区分两大主题主要是为了构建本书的高层结构。事实上,复杂的应用系统都会使用两大主题中的多种技术。
文本与结构化数据不同。结构化数据遵循定义良好的结构模式,便于计算机来处理。文本缺少明显的结构,因此以上讨论的智能软件工具的发展需要计算机能够理解文本中包含的内容。当前的自然语言处理技术还没有做到使计算机能够准确地理解自然语言文本(这也是“人”应该被包含到处理流程之中的原因)。但是在过去几十年中,基于统计或启发式的文本数据管理与分析方法得到了广泛的发展。这些方法具有良好的健壮性,可以用于分析与管理任何自然语言以及关于任何主题的文本数据。本书试图对很多此类方法进行系统的介绍,并着重强调构建多种实用文本信息系统所需的最有用的知识与技巧。
本书主要基于作者在伊利诺伊大学香槟分校(University of Illinois at Urbana-Champaign,UIUC)讲授文本数据管理与分析相关课程(即CS 410“文本信息系统”),以及第一作者2015年在Coursera开设的两门在线课程“文本检索与搜索引擎”(Text Retrieval and Search Engines)和“文本挖掘与分析”(Text Mining and Analytics)所使用的材料。书中的大部分内容及结构与上述两门在线课程一致,因此本书可作为两门在线课程的主要参考书。
信息检索(Information Retrieval,IR)是一个相对成熟的研究领域。关于信息检索的优秀教材也有很多,近期的著作包括Baeza-Yates和Ribeiro-Neto [2011]所著的《Modern Information Retrieval: The Concepts and Technology behind Search》、Büttcher等[2010]所著的《Information Retrieval: Implementing and Evaluating Search Engines》、Croft等[2009]所著的《Search Engines: Information Retrieval in Practice》以及Manning等[2008]所著的《Introduction to Information Retrieval》。与关于信息检索的已有教材相比,本书涵盖了更广泛的主题,既包括信息检索也包括文本挖掘。我们希望能够描绘出一个可以指导如何逐步构建一个能同时支持信息检索与文本分析的系统的蓝图。例如,书中详细介绍了词关联挖掘、概率主题模型以及文本和非文本数据的联合分析,以往任何信息检索教材都没有包含这些内容。与信息检索相比,文本挖掘(Text Mining,TM)远远没有成熟,还处于幼年时期,甚至如何准确定义文本挖掘都是一个开放问题。就此而言,目前尚没有关于文本挖掘的教材。作为一本关于文本挖掘的教材,本书对文本挖掘中主要的代表性技术进行了基本介绍。通过将文本挖掘与信息检索置于统一的框架内,强调了在任何实用的文本信息系统中信息检索与文本挖掘相结合的重要性。信息检索在任何文本挖掘应用中都会起到两个重要作用:一是能够快速减小数据规模,通过过滤大量不相关文档而获取小规模的、与特定应用问题最为相关的数据;二是支持数据分析人员验证并解释从文本数据中发现的模式,这里需要数据分析人员借助搜索和浏览功能来获取和检查与目标模式最相关的数据。
本书的另外一个特点是带有配套的信息检索与文本挖掘工具集META(可在https://meta-toolkit.org/获取)。它实现了书中讨论的很多技术。书中的很多练习也是根据该工具集设计的,可帮助读者获得使用书中习得的技术进行实践的技巧,并能够应用这些技巧去解决现实世界中的实际问题。
本书包括四部分。第一部分纵览全书内容并提供理解后续章节所必需的背景知识。第二部分和第三部分包括本书的主要内容,广泛地涵盖了信息检索相关技术(称为文本数据获取技术)和文本挖掘相关技术(称为文本数据分析技术)。第四部分通过一个文本管理与分析的统一框架总结了全书内容。该框架整合了许多信息检索和文本分析技术,通过人机协同为文本数据获取与分析提供更为先进的支持。
本书尽可能地做到自包含,因此本书内容在理解上所需的背景知识是极少的。但是读者需要具有关于计算机科学的基本知识,尤其是数据结构、编程语言,并了解概率和统计中的基本概念,如条件概率和参数估计。不具备以上背景的读者应该也可以理解本书讨论的大多数算法的基本思想,或者可以通过仔细研读本书第2章来获取相关知识。如果必要,可以进一步阅读第2章书目说明部分提到的参考文献来深入理解涉及的主要概念。META工具集可以很方便地被用于实验算法和建立应用,但是若希望扩展该工具集则需要具备基本的C++编程能力。
本书可作为高年级本科生信息检索与文本挖掘相关课程的教材,或者作为研究生的参考书,书中涵盖了信息检索和文本挖掘中的实践环节,也可以帮助工业界的从业者获取关于管理和分析文本数据的实用技术并快速应用到各种有趣的真实世界的应用中。
致谢
本书的完成是众多人帮助的结果。首先,我们要向Edward A.Fox表达最诚挚的谢意。他是ACM系列丛书“信息检索和数字图书馆”领域的主编,感谢他邀请我们写这本书。还要感谢ACM丛书的主编Tamer Ozsu,感谢他对本书提案的支持和有益的评价。没有他们的鼓励和支持,这本书是无法完成的。接下来,我们深深地感激Edward A.Fox、Donna Harman、Bing Liu和Jimmy Lin对本书初稿进行了十分仔细的审阅并提供了有价值的反馈和建设性的意见。尽管我们无法完全实现提出的建议,然而他们所有的评论极有帮助,在很多方面显著提高了本书的品质。本书显然会有不足或错误之处,作者将完全为此负责。
在本书的写作过程中,Morgan & Claypool出版社的执行编辑Diane Cerra给予我们强有力的支持和帮助,她的定期提醒与及时支持是我们能够按时完成本书的关键,我们对此表示衷心的感谢。此外,我们要感谢负责文章编修的Sara Kreisman,以及Paul C.Anagnostopoulos和他在Windfall Software的制作团队(Ted Laux、Laurel Muller、MaryEllen Oliver和Jacqui Scarlott),感谢他们在索引、插图、美术校对和构图方面的帮助,确保本书能够顺利出版。
本书的内容和对相关主题的理解受益于同研究界和工业界众多同仁的讨论和交流。由于篇幅所限,我们在这里只能提及部分人(对未提及的人表示歉意):James Allan,Charu Aggarwal,Ricardo Baeza-Yates,Nicholas J.Belkin,Andrei Broder,Jamie Callan,Jaime Carbonell,Kevin C.Chang,Yi Chang,Charlie Clarke,Fabio Crestani,W.Bruce Croft,Maarten de Rijke,Arjen de Vries,Daniel Diermeier,AnHai Doan,Susan Dumais,David A. Evans,Edward A. Fox,Ophir Frieder,Norbert Fuhr,Evgeniy Gabrilovich,C.Lee Giles,David Gross man,Jiawei Han,Donna Harman,Marti Hearst,Jimmy Huang,Rong Jin,Thorsten Joachims,Paul Kantor,David Karger,Diane Kelly,Ravi Kumar,Oren Kurland,John Lafferty,Victor Lavrenko,Lillian Lee,David Lewis,Jimmy Lin,Bing Liu,Wei-Ying Ma,Christopher Manning,Gary Marchionini,Andrew McCallum,Alistair Moffat,Jian-Yun Nie,Douglas Oard,Dragomir R.Radev,Prabhakar Raghavan,Stephen Robertson,Roni Rosenfeld,Dan Roth,Mark Sanderson,Bruce Schatz,Fabrizio Sebastiani,Amit Singhal,Keith van Rijsbergen,Luo Si,Noah Smith,Padhraic Smyth,Andrew Tomkins,Ellen Voorhees,Yiming Yang,Yi Zhang,Justin Zobel。我们要感谢他们对本书间接的贡献。本书中的部分材料,特别是第19章,基于第一作者在伊利诺伊大学香槟分校文本信息管理与分析(TIMAN)小组指导的众多博士生的工作。感谢他们所有人,包括:Tao Tao,Hui Fang,Xuehua Shen,Azadeh Shakery,Jing Jiang,Qiaozhu Mei,Xuanhui Wang,Bin Tan,Xu Ling,Younhee Ko,Alexander Kotov,Yue Lu,Maryam Karimzadehgan,Yuanhua Lv,Duo Zhang,V.G.Vinod Vydiswaran,Hyun Duk Kim,Kavita Ganesan,Parikshit Sondhi,Huizhong Duan,Yanen Li,Hongning Wang,Mingjie Qian和Dae Hoon Park。本书作者自身的研究工作得到包括NSF、NIH、NASA、IARPA、Air Force、ONR、DHS、Alfred P.Sloan基金会的支持以及许多公司如Microsoft、Google、IBM、Yahoo!、LinkedIn、Intel、HP和TCL的支持。在此表示感谢。
第一作者2015年在伊利诺伊大学香槟分校开设的两门在线课程(即“文本检索与搜索引擎”和“文本挖掘与分析”)是本书的根本基础,书中很多部分的内容来自两门课程的转录笔记。所以,我们要感谢所有帮助建设这两门课程的人,特别是助教Hussein Hazimeh和Alex Morales, 学校教学支持人员Jason Mock、Shannon Bicknell、Katie Woodruff和Edward Noel Dignan, 以及计算机系主任Rob Rutenbar, 他的鼓励、支持和帮助是两门课程成功建设的关键。第一作者还要感谢伊利诺伊大学香槟分校允许他使用2015年秋天的学术休假来完成此书。特别感谢META的共同创立者Chase Geigle。此外,第二作者感谢Chase Geigle、Jason Cho、Urvashi Khandelwal (以及其他很多人)与其进行深入的讨论和给予的鼓励。
最后,我们要感谢所有的家庭成员,特别是我们的妻子Mei和Kai,感谢她们的爱与支持。第一作者还要感谢他的哥哥Chengxing在研究讨论中持续提供的智慧激励以及父母培养他乐于学习和分享知识的热忱。
Chengxiang Zhai
Sean Massung
2016年6月