专访数据挖掘领头人韩家炜教授:不要迷信权威,做学问要秉承「三个真实」

AI科技评论2018-12-05 14:47:43

由中国人工智能协会、深圳罗湖区人民政府主办的「CCAI 2018 中国人工智能大会」于 7 月 28-29 日在深圳召开。

作为第二天的大会嘉宾,美国伊利诺伊大学香槟分校(UIUC)计算机系教授韩家炜围绕《基于海量文本数据的结构化知识抽取:数据挖掘、机器学习和自然语言处理的融合技术》分享了他在数据挖掘领域的相关研究。

韩家炜认为要想将现有的无结构的 Big Data 变成有用的 Knowledge,首先要做的就是将数据结构化。他提出两种结构化数据的形式,一种是异质网络(Heterogeneous Network),另一种是多维文本立方体(Multi-dimensional Text Cube)。由这种结构化数据生成 Knowledge 已经证明是很强大的,但是如何将原始无结构的数据变成有结构的数据(Network 或 Text Cube)则是非常困难的。

在 Network/Text Cube 到 Knowledge 的问题上,韩家炜等人已经做了很多研究工作,也已经由此获得了很多奖项;在无结构文本数据到有结构 Network/Text Cube 的路上他们也做出了许多尝试和成果。

会后,AI 科技评论与韩家炜教授进行了一次交流,围绕他的治学理念及对数据挖掘做了探讨。

韩家炜,美国伊利诺伊大学香槟分校(UIUC)计算机系教授,IEEE 和 ACM Fellow,曾任美国 ARL 资助的信息网络联合研究中心主任。曾担任 KDD、SDM 和 ICDM 等国际知名会议的程序委员会主席,创办了 ACM TKDD 学报并任主编。在数据挖掘、数据库和信息网络领域发表论文 600 余篇。出版了数据挖掘专著《Data Mining: Concepts and Techniques》,成为数据挖掘国内外经典教材。曾获 IEEE ICDM 2002 杰出贡献奖、ACM SIGKDD 2004 最佳创新奖、 2009 年 IEEE 麦克道尔奖(the McDowell Award)。在谷歌学术的 H-index 中,名列全球计算机科学领域高引作者前三。

以下是AI 科技评论与韩家炜教授的访谈内容整理。本文得到了韩家炜先生的亲自指正,在此致以衷心感谢。同时,特别鸣谢贾伟对本文做出的贡献。

数据挖掘这个领域本身比较广泛,主要体现在如下几个方面。

第一,数据的类型非常多。数据里面有结构化的、比较简单的数据,也有非结构化的数据,如文本数据。而不同的数据,不同应用,需要不同的方法来挖它,所以可用的方法也非常多,数据挖掘本身就发明了很多算法,然后还要应用一些统计的方法,或者是机器学习的方法。

第二,数据挖掘的相关课题比较多,属于比较开放的领域,而应用的方法也比较广泛。也就是说,我们主要考虑方法的适用性和它的有效性,就是对大量的数据,挖掘的效率是不是能够比较快。因此我们并不拘泥某些固定的方法,只要将有效数据抓取出来,就是最有效的方法。

数据挖掘从某种程度上,可以帮助我们更好地重新理解,或者说认识这个世界。但比较大的区别之处在于,有些研究可能只要做一两个实验就可以把一些规律找到;而数据挖掘是在假设这个数据量非常大的前提下做研究的,而且那个规律并不是非常明显,那么我们就从里面寻找一些相应的规律。

目前数据挖掘领域有很多值得研究的方向,但可能从我们团队的角度来说,要解决的是一些比较大一点、比较通用的问题,所以我们最近的方向,就是从无结构文本里面挖掘相应的结构。

我是 1979 年中美刚建交的时候去美国读研究生,当时国内基本没有大学有计算机系,去海外留学的中国人基本都是从零开始学计算机。当时我学的是数据库方面的东西。

从整个大环境来看,数据库当时是一个非常热门的研究方向,很多公司都在用它,而且从工艺上来说,关系数据库已经是一个比较成熟的、产品化的系统。

而从研究层面来看,我主要的研究方向是用 expert knowledge 去扩展数据库,当时叫做 deductive database(演绎数据库),应用专家给出相应的 rule,发展 deductive database 的方法去找一些新的知识。如果要将数据变成知识,或是将数据变得真正有用,人工智能的作用还是非常重要的,因此我在 PhD 时的研究方向实际上做的就是数据库(database)和 AI 的结合。

但是我后来发现,由于 rule 都是专家来定义或制定的,实际上存在它的局限性,无法真正从数据中挖掘相应的信息,因此产生了「从数据中寻找 rule」的研究方向转变的想法,并在毕业后任教期间考虑从数据挖掘的角度来寻找相应的知识和 pattern。

当时刚开始意识到数据挖掘重要性的时候,关注的人不是特别多。原来做数据库的人,还有原来做机器学习的人,都还在自己原来的领域里做研究。当时最早的除了我,还有 Rakesh Agrawal 和 Christos Faloutsos,这几个人也就是当时比较中坚的力量。

最早的 KDD workshop 要从 1989 年开始,当时是 IJCAI 旗下的一个 workshop,去的也就 20 至 30 个人,工业界和学术界各一半。一天的会下来,大家都觉得数据挖掘是一个非常好、非常重要的方向。后来再开这个 workshop,参与的人就越来越多了,最终我们决定在 1995 年举办第一届 KDD(KDD95)。

我自己的一个亲身感受是,在 90 年代早期,中国乃至整个亚洲的论文几乎没能被顶级会议录用,能有一篇、两篇文章就很不错了。但如今的情况已经很不一样,即使是来自北美或是欧洲的论文,很多也是中国学生写的。只过了 20、30 年,情况已经今非昔比。中国人在科研力量中所起的作用,已经变成了重要力量。

这一转变主要是因为中国每年有很多学生去留学。一个国家的发展,必须和世界各国进行交流,学习对方先进的东西。在美国高校做科研的中国学生也都比较聪明和勤奋,对于美国的科研其实是增加了很大的力量;同时在学成之后,也有很多中国留学生在北美和欧洲任教或做科研,不时回到国内交流或是讲学,这个交流本身就促进了新一代学生的培养。

不过,中国学生和美国学生的不同之处在于,前者可能有更多就业和未来规划的考虑,而美国学生更多是基于兴趣去念的 PhD,他们大部分还是真正对技术有钻研精神的。

我自己在辅导学生中,总结了一个「Three R」(三个真实)给学生们。什么叫「Three R」呢?

第一个是 real data。好多人只是抓的小量 data 在做。我和学生们说,如果要解决真正的问题,你要找大量的、真实的数据来做,这样你做出来的算法,才有影响力。

第二个是 real problem。就是找不少人或实践中认为是重要的问题去做,而不是你自己坐在书桌前拍脑袋想出来的、不实际的问题。

第三个是 real solution。做的工作要真正 work 才有意义。

所以学生们如果能真正按照「Three R」去找 research topic,最后的工作都算是比较成功,就是他们确确实实用的真实数据,别人一看,也觉得这些数据和问题是非常重要的,不是自己凭空瞎编出来的。

而从研究的角度来看,也是同样的道理。

首先,你还是要找到真正的、没有被解决的问题。比如拿不到 facebook 或其它 social network 的真实数据,却要做 social network 的数据挖掘研究,那么这个工作即不真实,也没有什么用处。

其次,我最不喜欢的就是跟风研究。我对学生讲,别人能做,不见得你就一定能做。有的人跟在别人后面做研究,可能看到这个论文写得不错,就照着同一个论文来做。还是用 facebook 的例子来说,相比之下,公司里头有一群顶级 PhD 在做 social network,又有数据,又有人力,你怎么做得过人家?

没有真正的 data,没有真正的问题,一个人在学校做这样的研究,纯粹是浪费时间。但有一些其他问题,公司不能通过解决这个问题去赚钱,可能他们不会去做,但并不见得这个问题就不重要,就没有研究价值。比如医学领域,我们之前就从 PubMed(一个医学文献库)中抓取了「心血管疾病」相关的十年的数据,大约有 50 万篇论文。围绕这 50 万篇论文、6 类心脏病以及医学教授们列出的 250 种蛋白质,我们很快就得到了针对每一类心脏病的相关蛋白质排序,可以给医生们提供重要的线索,让他们集中精力针对这些蛋白质去做临床试验,这大大地促进了他们的研究。这就是有价值、有意义的工作。

近几年来我们一直在从无结构文本中挖掘结构,从真实的数据到结构化数据,再到有用的知识,这仍然是一条很长的路。确实这还是一个比较大的问题。目前的机器学习需要依赖大量的 label,不可能每个领域都找到相应的专家去做标记,这个问题是一定要解决的。

标注数据的终究是人。无可避免地,它有主观和偏见的成分在。但人标注出来的数据,真的有意义吗?现在用大量的人力做标注,要花多少钱?你从那么多文本里面总结,不用经过标注,你也能知道特朗普是美国总统。你花了钱,让人力去做这样的数据标注,纯粹是 waste time,waste money。文本那么多,学科那么庞杂,特别是有些偏门学科,根本找不到人来标注,或者成本特别高,因此用人力来标注不可能满足所有的情况。

仔细想想,我们有那么多的文本,用数据挖掘也能把现在的标签推导出来,而且有时候还能呈现不同的百分比和概率,准确率甚至比人工标注还强。

所以我就和学生讲,不要迷信那些标注,如果可以从你的 data 中把数据标注出来,那么人工的标注是没有用的。与其用一个可能会有偏差的人工标注,不如就从大量的数据中,用一个科学的方法去标注这些数据,可能更有价值一些。

深度学习在今天有它的意义所在,但我觉得不要迷信某一个「时髦」的算法。第一,不要拒绝任何新的东西,人家的工作做得好,你就应该学它,把好的内容拿来用。第二,不要迷信某一个东西。如果想真正解决一个问题,自己就要先想,如果我要解决这个问题,我要用什么样的方法。想完了,你再看别人的论文用的是什么方法,这样下来,你就能够以一个比较批判的态度来看论文,而不是随便就把人家的论文奉成神了,说不定,你的办法比他的还好,那就又有一篇 paper 可以发了(笑)。

Copyright © 古田计算器虚拟社区@2017