韩家炜认为要想将现有的无结构的大数据变成有用的知识,首先要做的就是将数据结构化。他提出两种结构化数据的形式,一种是异质网络(Heterogeneous Network),另一种是多维文本立方体(Multi-dimensionalText Cube)。由这种结构化数据生成知识已经证明是很强大的,但是如何将原始无结构的数据变成有结构的数据(Network或 Text Cube)则是非常困难的。在 Network/TextCube 到 Knowledge 的问题上,韩家炜等人已经做了很多研究工作,也已经由此获得了很多奖项;在无结构文本数据到有结构 Network/Text Cube 的路上他们也做出了许多尝试和成果,现在仍在进行中。韩家炜认为这是一条很长的路,他们现在只是在这条路上突破了几个可以往前走的口子,还只是一条小路,要变成一条康庄大道则需要各国学者共同努力。韩家炜教授的研究工作并非跟随热点,而是在十年如一日地去打通一条从无结构数据到结构化知识的康庄大道,因此脉络极为清晰且极具连贯性。以下内容来自AI科技评论在2018年初整理的韩家炜教授的演讲报告文章《》,仅供大家参考。相比一年前,韩家炜教授的团队也在不断将当前最新的研究进展融入到他们这条「小路」当中,例如BERT、Spherical Text Embedding等,这些请查阅韩家炜教授团队近期发表论文。 一、数据挖掘三部曲革命需要指导原则,研究也是。韩家炜认为若想从 Big Data 中挖掘出有用的知识,就必须研究如何将无结构的文本变成有结构的文本,然后再从有结构的文本中挖掘知识。针对这种想法,他们提出了三个关键词:Structuring:将无结构的文本转化成有结构的、有类型的、关联的实体或关系Networking:利用大量有结构的关系构建网络Mining:在关系和网络上进行挖掘韩家炜认为他们做数据挖掘的研究工作可以总结为三部曲:
如果将 DBLP 的文献信息(例如论文、作者、出版地等)整合到 Network 中,那么显然这个网络中蕴涵着丰富的信息,例如我们可以通过排名函数从网络中挖掘出谁是 Web 研究的领军人物,或者通过相似性搜索函数从网络中挖掘出一个学者的同行;通过关系预测来挖掘一个学者未来的合作者将是谁;通过网络演化来发掘 Data Mining 学科是如何出现和发展的等等。
另外一个是预测错误吗?并不是,裴建和 Osmar 也有合作,只不过他们合作的 paper 发表在 2011 年;没有被统计进测试集中而已。 这就说明如果有一个 Network 将 Big Data 结构化后,其预测能力(或者别的能力)将是非常强的。 三、Text Cube的强大
我们知道如果在 Database(也即 Data Cube)上做统计和分析是非常方便的。现在分析无结构的 Text,如果能够将 Text 放入到一个类似的多维 Cube 中,那么很显然这将对分析 Text 起到很好的作用。 Text Cube 其中一个应用就是 Comparative Summarization。例如将 NY Times 的新闻放入到这样一个 Cube 中,我们想要总结「2016」、「China」、「Economy」的信息。与这些关键词相关的 Documents 有很多很多,没有人愿意去一个一个地查看。如果只是简单地用统计的方法来获取信息,就会发现有很多不是「Economy」的信息,例如「Hong Kong」、「United States」等。而如果我们事先已经将这些 Text 放入到 Cube,则根据 Integrity、Popularity、Distinctness 等标准,通过与每个维度上相邻的 Cell 做比较,就可以很容易地找到非常准确地信息。
使用这种方法,韩家炜领导的小组通过 NY Times 在 2016 年的新闻很容易就挖掘出了当时美国两党辩论过程中的主要议程(例如<US, Gun Control>、<US,Immigration>等)Top 10 的关键信息。
一个很有意思的故事是,韩家炜在 UCLA 做了关于上述研究的报告后,引起了 UCLA 医学教授的兴趣。UCLA 在心脏病方面的研究在全美范围内是非常先进的。这些教授告诉韩家炜说,心脏病其实不是一类病,而是六类病;每类疾病大多都是由某种蛋白质引起的。他们希望韩家炜能够帮助他们从大量文献中找出哪种蛋白质与哪类心脏病有紧密关联。这个任务对这些医学教授们来说是非常艰难的,因为每年会有超过 100 万的生物医学论文发表,而每个针对某类心脏病的研究总会列出一大堆相关蛋白质,从如此庞大的信息中找出对应某类心脏病的蛋白质是极为困难的。讨论过后,韩家炜等人从 PubMed(一个医学文献库)中抓取了「心血管疾病」相关的十年的数据,大约有 50 万篇 paper。他们使用这 50 万篇paper、6 类心脏病以及医学教授们列出的 250 种蛋白质,根据和挖掘 NY Times 一样的算法,很快就得到了针对每一类心脏病的相关蛋白质排序,如下表(仅列出 Top 5)。
这些医学教授看到结果后高兴坏了。首先,韩家炜等人列出的结果中,排名 No.1 的蛋白质和他们已知的情况完全符合,这说明这种算法有效。但是他们的经验表明有些病人(例如小孩)按照这种蛋白质病因去治疗往往无效,这说明这些病人的这类心脏病并不是由该蛋白质引起的。所以韩家炜等人列出的排名 No.2、No.3 等的蛋白质就给他们一个很大的线索,他们可以集中精力针对这些蛋白质去做临床试验,这大大地促进了他们的研究。这样一个简单的例子说明 Text Cube 很有用,而且有着巨大的潜力。
四、从无结构文本中挖掘结构
上述两个方向的研究(「从Network 中找知识」和「从 Text Cube 中找知识」)表明,如果有了结构化的 Network/Text Cube,那么从中挖掘知识就相当容易。但是现实世界中,我们所拥有的数据大多是无结构的 Text,如何将这些无结构的 Text 变成有结构的 Network/Text Cube 仍然是未解决的问题。韩家炜团队的人员近几年主要的研究工作正是围绕着这个问题进行的,即怎样从 Text 中挖掘 Phrases、怎样从 Text 中挖掘 Typed Entities、以及怎样把这些 Phrases/Typed Entities 变成 Network/Text-cube。
1、Phrase Mining
单独的一个字意义往往不明显,如果能够从 Text 中挖掘出词组(Phrase),那么对挖掘文本结构将有很重要的意义。韩家炜团队的人员先后提出了三种方法,分别为无监督的 TopMine、弱监督的 SegPhrase和远程监督的AutoPhrase。这些研究的代码在 Github 上都有公开,任何人都可以下载下来使用或重复其工作。
知道了 Phrase 以后,还需要让 Phrase make sense,也即识别实体、标注 Type。按照韩家炜的话:Identifying token span asentity mentions in documents and labeling their types —— Enabling structuredanalysis of unstructured text corpus这有几个难点:
韩家炜考虑地其实更远,不光是找Phrase,也不光是找 Type,还要找文本中的Pattern,通过 Pattern 来从文本中自动并大量地挖掘结构信息。何谓 Pattern 呢?其实通俗点儿来说,就是「套路」。我们语言很多都是在套用模板,例如「the government of USA」,「the government ofChina」,「the goverment ofBurkina Faso」等等。你可能一下子不知道「Burkina Faso」是什么,但是通过类似的模式,你知道这肯定是一个国家。同样的,这对机器来说也并不难。只要有 Pattern,机器可以迅速地从文本中挖掘出相同 Pattern 的大量信息。韩家炜举了他们实验室读博士后的蒋朦在KDD 2017 上发表的文章。这篇工作也是在 Phrase 的工作上来做的,但这是 Meta Pattern 的 Meta Phrase。
从上面这个图可以很清晰看出他们的工作流程:对语料文本进行 Meta Pattern 分割,得到 Meta Pattern;通过 Meta Pattern 可以找到大量相符的三元组;再通过这些三元组数据进一步地改进Meta Pattern,例如提升粒度或获得同义的 Meta Pattern。值得注意的是,这种方法并不需要大量的标注数据,也不需要相应的领域知识,同样也不需要搜索日志。他们将这种方法应用到新闻语料库中,一下子就把所有的国家和领导人,以及大大小小的公司和他们的 CEO 挖了出来。
一个可能的疑问是,前面 2.2节不是已经有了建好的 Text Cube 吗,为什么还要构建?我们需要注意的是,那个 Text Cube 是 NY Times 的数据,这是已经按照 Topic(sport、economic、political、science...)或者 Location(China、USA、Japan...)等标签构建好的 Text Cube;而真实的世界中的文本则大多并没有标签,这需要我们自己来构建。
一个现实的问题就是,假如给你100 万个 Documents,而只有少量几个标签(例如上述Location、Topic 的标签),那么你能否自动地生成成百上千的标签,并将文本正确地放入到这些标签构建的多维 Text Cube 中呢?首先去做的当然是Embedding,但是已知的标签太少了。所以韩家炜他们建了一个 L-T-D(Label-Term-Document)图,其中的 Term 是从文本中抽取出来的。
韩家炜最后做了报告总结,这里我们将韩的原话整理如下,稍做修改:我们认为,要把大的数据变成大的Knowledge,其中很重要的一条就是要有结构。我们找到两种结构,一个是Network,一个是 Text Cube。用这两种结构导出Knowledge,我们已经有很好的例子,而且很 powerful。当然这两种结构在某种程度上是应该结合起来的,现在我们有人在研究怎样将它们结合起来。真实的数据到结构化数据,再到有用的知识,这仍然是一条很长的路。我们这么多年做 Data Mining 也是沿着这条路走的。从 2000 年我们出的第一本书(注:2011 年第三版),随后 Philip、Faloutsos 和我在 2010 年合著了《Link Mining》,再往后是孙怡舟做的《Mining HeterogeneousInformation Network》;随后是王箎做的《Mining Latent EntityStructures》;最近呢,是刘佳硉、商静波他们把 Phrase mining 做了出来(《Phrase Mining From Massive Text and Its Application》)。这些以后都会成为书。我们接下来有任翔他们,还会接着往下走。(AI科技评论2019年11月注:目前任翔已经出了《Mining Structures of Factual Knowledge from Text》,随后张超出版了《Multidimensional Mining of Massive Text Data》)在这条路上,我们现在只是找到了几个口子可以往前走。现在这还不是一条大路,只是一条小路。要想变成一条康庄大道,需要大家共同努力。这条路通宽了,将来我们就可以从大量的无结构的文本,变成大量的有用的知识。这是我要讲的重点。