数据不可思议的有效性

Eugene Wigner 的文章《数学在自然科学中不可思议的有效性》[1]讨论了为什么物理学中那么多现象都能用简单的数学公式简洁解释,例如 f = mae = mc^2。与此同时,涉及人而不是基本粒子的科学,事实证明更难服从优雅的数学。经济学家因为无法整齐地建模人类行为而患上了“物理学羡慕”。一部非正式且并不完整的英语语法书就超过 1,700 页。[2] 也许到了自然语言处理(natural language processing)及相关领域,我们注定要面对复杂理论,而它们永远不会拥有物理方程那样的优雅。但如果确实如此,我们就不该继续表现得好像目标是写出极其优雅的理论;相反,我们应该拥抱复杂性,并利用手中最好的盟友:数据不可思议的有效性。

我们中的一位在 Brown University 读本科时,还记得当年能够使用 Brown Corpus 时的兴奋感。这个语料库(corpus)包含一百万个英语词。[3] 此后,我们的领域出现了若干规模大约扩大 100 倍的重要语料库;到 2006 年,Google 发布了一个万亿词语料库,其中包含所有最长为五个词的序列的频次统计。[4] 在某些方面,这个语料库相对于 Brown Corpus 反而退了一步:它来自未经过滤的网页,因此包含不完整句子、拼写错误、语法错误以及各种其他错误。它也没有经过仔细人工校正的词性标注(part-of-speech tagging)。但它比 Brown Corpus 大一百万倍,这一事实压倒了这些缺点。一个万亿词语料库,再加上其他来自 Web 的语料,包括数以百万、十亿、万亿计的链接、视频、图像、表格和用户交互,能够捕捉到人类行为中即使非常罕见的方面。因此,对某些任务而言,这样的语料可以成为一个完整模型的基础,只要我们知道如何从数据中抽取这个模型。

从 Web 规模文本中学习

与自然语言相关的机器学习中,最大的成功来自统计语音识别(statistical speech recognition)和统计机器翻译(statistical machine translation)。这些成功的原因并不是这些任务比其他任务更容易;事实上,它们比文档分类这类只从每篇文档中抽取少量比特信息的任务要难得多。原因在于,翻译是一项自然任务,人们每天都会出于真实需求而例行完成它(想想 European Union 或新闻机构的运作)。语音转写也是如此(想想带字幕广播)。换句话说,我们想要自动化的输入输出行为,在现实环境中就有大规模训练集(training set)。相比之下,文档分类、词性标注、命名实体识别(named-entity recognition)或句法分析(parsing)等传统自然语言处理问题并不是例行任务,因此现实环境中没有可用的大规模语料。相反,这些任务的语料需要熟练的人类标注。这类标注不仅获取速度慢、成本高,而且专家也很难达成一致,因为它受困于许多困难,后文讨论语义网时还会谈到这些困难。Web 规模学习(Web-scale learning)的第一课,是使用可获得的大规模数据,而不是指望并不存在的标注数据。例如,我们发现,有用的语义关系可以从搜索查询及其对应结果的统计中自动学习出来[5],也可以从基于 Web 的文本模式和格式化表格所积累的证据中学习出来[6];两种情况都不需要任何人工标注数据(manually annotated data)。

统计语音识别和机器翻译方法给出的另一条重要经验是:如果你有大量训练数据(training data),记忆化(memorization)就是一种好策略。这两个任务中使用的统计语言模型(statistical language model),主要由一个巨大的数据库构成,记录连续短词序列(n-gram)的概率。这些模型通过在包含数十亿或数万亿词的语料中计数每个 n-gram 序列出现的次数而构建。研究者已经做了大量工作,根据已观察到的 n-gram 频率估计新 n-gram 的概率,例如使用 Good-Turing 平滑(Good-Turing smoothing)或 Kneser-Ney 平滑(Kneser-Ney smoothing),由此得到精细的概率模型(probabilistic model)。但一贯的结果是,简单模型加大量数据会胜过基于较少数据的更精细模型。同样,早期机器翻译工作依赖复杂规则来描述源语言和目标语言中句法模式与语义模式之间的关系。当前的统计翻译模型则主要由大型记忆化短语表构成,这些短语表给出特定源语言短语与目标语言短语之间的候选映射。

今天的翻译模型并不假设一般模式一定比记住具体短语更有效;只有当一般规则能比单纯记住具体短语改善翻译时,模型才会引入它们(例如日期和数字规则)。在机器学习应用于 Web 数据的其他每个领域,也都出现了类似观察:简单的 n-gram 模型,或基于数百万个具体特征的线性分类器(linear classifier),表现优于试图发现一般规则的复杂模型。在许多情况下,似乎存在一个充足数据的阈值。例如,James Hays 和 Alexei A. Efros 研究了场景补全(scene completion)任务:从照片中移除不想要的、碍眼的汽车或前配偶,并用来自大量其他照片的像素填补背景。[7] 当语料只有几千张照片时,结果很差。但当他们积累到数百万张照片后,同一个算法表现得相当好。我们知道,合乎语法的英语句子的数量在理论上是无限的,而可能的 2-Mbyte 照片数量是 256^2,000,000。不过在实践中,我们人类只关心作出有限数量的区分。对许多任务而言,一旦我们有十亿左右的例子,本质上就有了一个封闭集合,它代表了(或者至少近似了)我们需要的东西,而不需要生成规则(generative rules)。

对于那些曾希望少数一般规则就能解释语言的人,值得注意的是,语言本身就很复杂,拥有数十万个词汇和大量多样的语法构造。每天都有新词被创造出来,旧用法也在改变。这表明,我们无法把想说的一切都还原为少数抽象原语(abstract primitives)的自由组合。

对于那些有小规模机器学习经验、担心维数灾难(curse of dimensionality)和模型对数据过拟合(overfitting)的人,需要注意,过去十年的全部实验证据都表明,丢弃罕见事件几乎总是一个坏主意,因为大量 Web 数据由单独看都很罕见、但合在一起却很常见的事件构成。对许多任务而言,词和词的组合提供了我们从文本中学习所需的全部表示机制(representational machinery)。人类语言经过数千年演化,已经拥有了表达重要概念的词;我们应该使用它们。缺乏语言对应物的抽象表示(例如来自潜在分析的聚类)很难学习或验证,并且往往会丢失信息。依赖词和词共现(word co-occurrence)的显式统计还有另一个优势:我们可以用与可用数据量成正比的时间估计模型,而且通常很容易并行化。因此,从 Web 中学习天然就是可扩展的(scalable)。

n-gram 模型的成功不幸导致了一种虚假的二分。现在许多人认为,自然语言处理只有两种方法:

  • 深度方法(deep approach),依赖手工编码的语法(hand-coded grammar)和本体(ontology),并表示为复杂的关系网络;以及
  • 统计方法(statistical approach),依赖从大型语料中学习 n-gram 统计。

实际上,这里有三个正交的问题:

  • 选择一种表示语言(representation language),
  • 用这种语言编码一个模型(encode a model),以及
  • 在模型上执行推理(inference)。

每个问题都可以用几种方式处理,从而得到几十种方法。20 世纪 80 年代流行的深度方法使用一阶逻辑(first-order logic)或类似的东西作为表示语言,用一组研究生的劳动来编码模型,并使用适合该表示语言的复杂推理规则进行推理。20 世纪 80 年代和 90 年代,人们开始流行使用有限状态机(finite state machine)作为表示语言,使用在大型语料上的计数和平滑来编码模型,并使用简单的贝叶斯统计(Bayesian statistics)作为推理方法。

但还有许多其他组合是可能的,并且在 21 世纪头十年,许多组合正在被尝试。例如,Lise Getoor 和 Ben Taskar 汇集了关于统计关系学习(statistical relational learning)的工作,也就是这样的表示语言:它们足够强大,可以表示对象之间的关系(例如一阶逻辑),但又具有健全的概率定义(probabilistic definition),使模型能够通过统计学习构建。[8] Taskar 及其同事展示了支持向量机(support vector machine)中使用的同类最大间隔分类器(maximum-margin classifier)如何改进传统句法分析。[9] Stefan Schoenmackers、Oren Etzioni 和 Daniel S. Weld 展示了关系逻辑(relational logic)和一个一亿页语料库如何回答“什么蔬菜有助于预防骨质疏松?”这类问题:系统隔离并组合“羽衣甘蓝富含钙”和“钙有助于预防骨质疏松”这两个关系断言。[10]

语义网(Semantic Web)与语义解释(semantic interpretation)

语义网是一套形式化表示语言(formal representation language)的约定,使软件服务能够“无需人工智能”而彼此交互。[11] 一个让我们预订酒店的软件服务,只要同意使用若干日期、价格和地点表示标准之一,就会被转换成语义网服务(Semantic Web service)。随后,该服务便能与使用同一标准的其他服务互操作,也能与使用另一标准但已知如何转换到所选标准的服务互操作。正如 Tim Berners-Lee、James Hendler 和 Ora Lassila 所写:“语义网将使机器能够理解语义文档和数据,而不是人类语音和文字。”[11]

理解人类语音和文字的问题,即语义解释问题,与软件服务互操作性(service interoperability)问题非常不同。语义解释处理的是不精确、有歧义的自然语言;服务互操作性处理的则是让数据足够精确,使操作这些数据的程序能够有效运行。遗憾的是,“semantic”一词同时出现在“Semantic Web”和“semantic interpretation”中,这意味着这两个问题经常被混为一谈,造成不必要且无休止的困惑与争议。语义网服务中的“语义”体现在实现这些服务的代码中,代码按照相关本体所表达的规格以及附带的非正式文档来运行。自然语言语义解释中的“语义”,则体现在人类认知和文化过程中:语言表达会引发预期的反应和预期的认知状态变化。由于存在巨大的共享认知和文化语境(shared cognitive and cultural context),语言表达可以高度含糊,却仍然常常被正确理解。

鉴于这些挑战,构建语义网服务是一项工程和社会学挑战。因此,即使我们理解所需技术,也必须面对重大障碍:

  • 本体编写。重要的简单案例已经完成。例如,Dublin Core 定义了日期、地点、出版者以及其他足以用于卡片目录条目的概念。Bioformats.org 定义了染色体、物种和基因序列。其他组织也为各自的具体领域提供本体。但仍有一条很长的尾部,包含很少使用、用当前技术形式化成本过高的概念。Project Halo 在对化学教材中的知识进行编码和推理方面做得很出色,但成本是每页 10,000 美元。[12] 显然,我们无法为一万亿个网页承担这种成本。
  • 实现困难。发布一个用自然语言写成的静态网页很容易;任何有键盘和 Web 连接的人都能做到。创建一个由数据库支持的 Web 服务要困难得多,需要专门技能。让这个服务符合语义网协议(Semantic Web protocol)则更难。拥有胜任技术专家的大型网站会认为额外努力是值得的,但绝大多数小网站和个人会觉得它太难,至少在当前工具下是如此。
  • 竞争。在某些领域,竞争派别都想推广自己的本体。在其他领域,既有领导者反对任何本体,因为本体会让其竞争者站到同一起跑线上。这是外交问题,不是技术问题。正如 Tom Gruber 所说:“每个本体都是一项条约,即有某种共同分享动机的人们之间的社会协议。”[13] 当分享动机缺失时,共同本体也会缺失。
  • 不准确与欺骗。我们知道如何构建可靠的推理机制,让它们从真前提推出真结论。但我们还没有成熟的方法论来处理错误前提,或处理说谎、作弊及其他欺骗行为的参与者。已有一些关于声誉管理(reputation management)和信任的工作,但目前我们可以预期,语义网技术在诚实、能够自我纠正的协作用户群体中效果最好,而在存在竞争和欺骗的地方效果较差。

实现准确语义解释所面临的挑战则不同。我们已经解决了社会学问题:构建出一种网络基础设施,鼓励数以亿计的作者分享一万亿页内容。我们也解决了技术问题:聚合并索引所有这些内容。但剩下的是一个科学问题:解释内容,主要也就是尽可能多地学习内容语境,以便正确消解歧义。无论是否使用语义网框架(Semantic Web framework),语义解释问题都仍然存在。同一个意义可以用许多不同方式表达,而同一个表达也可以表达许多不同意义。例如,公司信息表可以用临时的 HTML 表达,其中列标题(column header)叫作“Company”“Location”等等。它也可以用语义网格式表达,使用“Company Name”和“Location”的标准标识符,并采用 Dublin Core Metadata Initiative 的点编码方案。但即使我们有一个正式的语义网“Company Name”属性,也不能指望为这个属性的每个可能取值都配备一个本体。例如,我们无法确定字符串“Joe’s Pizza”指的是哪家公司,因为有数百家企业使用这个名字,而且新的企业还会不断增加。我们也并不总能判断字符串“HP”指的是哪家公司。当某列填充的是股票代码时,它可能指 Helmerich & Payne Corp.;但当某列填充的是大型技术公司的名称时,它很可能指 Hewlett-Packard。语义解释问题仍然存在;使用语义网形式体系(Semantic Web formalism)只意味着语义解释必须在落在尖括号之间的更短字符串上完成。

我们需要的是推断列标题之间关系、或现实世界实体提及(entity mention)之间关系的方法。这些推断有时可能是错的,但如果它们做得足够好,我们就能连接分散的数据集合,从而显著增强我们与 Web 数据的交互。有趣的是,在这里,Web 规模数据(Web-scale data)也可能是解决方案的重要组成部分。Web 包含数以亿计独立创建的表格,并且可能还有数量相近、可转换为表格的列表。[14] 这些表格代表了无数领域中的结构化数据(structured data)。它们也代表了不同人组织数据的方式,即他们选择包含哪些列,以及给这些列取什么名字。这些表格还提供了丰富的列值集合,以及人们决定放在同一表列中的值。此前我们从未拥有过如此庞大的表格集合及其模式(schema / schemata),可以用来帮助我们解决语义异质性(semantic heterogeneity)。利用这样的语料,我们希望能够完成如下任务:判断“Company”和“Company Name”何时是同义词;判断“HP”何时表示 Helmerich & Payne,何时表示 Hewlett-Packard;以及判断一个具有“passengers”和“cruising altitude”属性的对象很可能是一架飞机。

示例

我们如何使用这样的表格语料?假设我们想寻找属性名称(attribute name)的同义词,例如判断“Company Name”何时可以等价于“Company”,以及“price”何时可以等价于“discount”。这类同义词不同于同义词词典中的同义词,因为在这里,它们高度依赖语境(无论是在表格中还是在自然语言中)。给定这个语料,我们可以从表格的列标签中抽取一组模式;例如,研究者曾从 1.5 亿张表格的集合中可靠地抽取出 250 万个不同的模式,而这些表格并非全都有模式。[14] 我们现在可以检查这些模式中属性名称的共现。如果我们看到一对属性 A 和 B 很少一起出现,但总是与同样的其他属性名称一起出现,这可能意味着 A 和 B 是同义词。如果我们还看到数据元素有显著重叠,或者属于同一数据类型(data type),就能进一步支持这个假设。类似地,我们也可以为数据库设计者提供模式自动补全(schema autocomplete)功能。例如,通过分析如此大规模的模式语料,我们可以发现,具有 Make 和 Model 属性的模式也往往具有 Year、Color 和 Mileage 属性。向模式创建者提供这样的反馈可以节省他们的时间,也可以帮助他们使用更常见的属性名称,从而减少 Web 数据中的一种潜在异质性来源。当然,如果我们能够自动组合这个集合中多个表格的数据,就会发现巨大的机会来创建有趣的数据集。这是一个活跃研究领域。

另一个机会,是把多个表格中的数据与来自其他来源的数据结合起来,例如非结构化网页或 Web 搜索查询。例如,Marius Paşca 也研究了识别类别属性(class attribute)的任务。[15] 也就是说,他的系统首先识别“Company”这样的类别,然后找到“Adobe Systems”“Macromedia”“Apple Computer”“Target”等例子,最后识别类别属性,如“location”“CEO”“headquarters”“stock price”和“company profile”。Michael Cafarella 及其同事证明,这可以从表格中获得;但 Paşca 证明,它也可以从网页上的纯文本和搜索日志(query log)中的用户查询中抽取出来。也就是说,从用户查询“Apple Computer stock price”,以及我们已知的关于现有类别和属性的其他信息中,我们可以确认“stock price”是“Company”类别的一个属性。此外,这项技术不仅适用于几十个最热门类别,还适用于数千个类别和数万个属性,包括“Aircraft Model”这样的类别,其属性有“weight”“length”“fuel consumption”“interior photos”“specifications”和“seating arrangement”。Paşca 表明,加入查询日志可以带来出色性能:每个类别排名前 10 的属性达到 90% 的精确率(precision)。

所以,要跟随数据。选择一种能够利用未标注数据(unlabeled data)进行无监督学习(unsupervised learning)的表示方式,因为未标注数据比已标注数据(labeled data)丰富得多。用非参数模型(nonparametric model)表示所有数据,而不是试图用参数模型(parametric model)来概括它,因为在非常大的数据源中,数据本身包含大量细节。对于自然语言应用,要相信人类语言已经演化出了表达重要概念的词。先看看只把已经存在的词连接起来能走多远,而不是用词的聚类来发明新概念。现在,出去收集一些数据,看看它能做什么。

References

  1. E. Wigner, “The Unreasonable Effectiveness of Mathematics in the Natural Sciences,” Comm. Pure and Applied Mathematics, vol. 13, no. 1, 1960, pp. 1-14.
  2. R. Quirk et al., A Comprehensive Grammar of the English Language, Longman, 1985.
  3. H. Kucera, W.N. Francis, and J.B. Carroll, Computational Analysis of Present-Day American English, Brown Univ. Press, 1967.
  4. T. Brants and A. Franz, Web 1T 5-Gram Version 1, Linguistic Data Consortium, 2006.
  5. S. Riezler, Y. Liu, and A. Vasserman, “Translating Queries into Snippets for Improved Query Expansion,” Proc. 22nd Int’l Conf. Computational Linguistics (Coling 08), Assoc. Computational Linguistics, 2008, pp. 737-744.
  6. P.P. Talukdar et al., “Learning to Create Data-Integrating Queries,” Proc. 34th Int’l Conf. Very Large Databases (VLDB 08), Very Large Database Endowment, 2008, pp. 785-796.
  7. J. Hays and A.A. Efros, “Scene Completion Using Millions of Photographs,” Comm. ACM, vol. 51, no. 10, 2008, pp. 87-94.
  8. L. Getoor and B. Taskar, Introduction to Statistical Relational Learning, MIT Press, 2007.
  9. B. Taskar et al., “Max-Margin Parsing,” Proc. Conf. Empirical Methods in Natural Language Processing (EMNLP 04), Assoc. for Computational Linguistics, 2004, pp. 1-8.
  10. S. Schoenmackers, O. Etzioni, and D.S. Weld, “Scaling Textual Inference to the Web,” Proc. 2008 Conf. Empirical Methods in Natural Language Processing (EMNLP 08), Assoc. for Computational Linguistics, 2008, pp. 79-88.
  11. T. Berners-Lee, J. Hendler, and O. Lassila, “The Semantic Web,” Scientific Am., 17 May 2001.
  12. P. Friedland et al., “Towards a Quantitative, Platform-Independent Analysis of Knowledge Systems,” Proc. Int’l Conf. Principles of Knowledge Representation, AAAI Press, 2004, pp. 507-514.
  13. “Interview of Tom Gruber,” AIS SIGSEMIS Bull., vol. 1, no. 3, 2004.
  14. M.J. Cafarella et al., “WebTables: Exploring the Power of Tables on the Web,” Proc. Very Large Data Base Endowment (VLDB 08), ACM Press, 2008, pp. 538-549.
  15. M. Paşca, “Organizing and Searching the World Wide Web of Facts. Step Two: Harnessing the Wisdom of the Crowds,” Proc. 16th Int’l World Wide Web Conf., ACM Press, 2007, pp. 101-110.

作者简介

Alon Halevy 是 Google 的研究科学家。联系方式:halevy@google.com。

Peter Norvig 是 Google 的研究总监。联系方式:pnorvig@google.com。

Fernando Pereira 是 Google 的研究总监。联系方式:pereira@google.com。

The Unreasonable Effectiveness of Data

2009 · Alon Halevy, Peter Norvig, Fernando Pereira

lucida 翻译

Tags: AI, 机器学习, 数据, 经典重读