数据挖掘领头人韩家炜教授:如何从无结构文本到有用的知识?
转载自:AI科技评论(ID:aitechtalk)
作者:Camel
无结构数据->有结构数据->有用的知识
这几日,对于许多数据挖掘领域的研究者来说,北京是一个关注的焦点,原因无他,作为数据挖掘领域的两大顶会CIKM 2019和ICDM 2019相继在北京召开,甚至连开会地点(国家会议中心)都没有变化。
两个会议同为CCF B类,其区别在于前者是ACM举办,而后者是IEEE举办;此外CIKM覆盖范围更广,包括了数据库、信息检索和数据挖掘三个领域,而ICDM则更为专注数据挖掘。
在两次会议中,数据挖掘领域的巨擘韩家炜教授将就其研究分别做两场报道,主题为
- From Unstructured Text to TextCube: Automated Construction andMultidimensional Exploration(@CIKM2019)
- Embedding-Based Text Mining: A Frontier in Data Mining(@ICDM2019)
现实世界中的大数据在很大程度上是非结构化的、互联的和动态的,且以自然语言文本的形式出现,将此类庞大的非结构化数据转换为有用的知识是在大数据时代的一条必由之路。目前大家普遍采用劳动密集型的方法对数据进行打标签从而提取知识,这种方法短时来看可取,但却无法进行扩展,特别是许多企业的文本数据是高度动态且领域相关。
二、Network 的强大
如果将 DBLP 的文献信息(例如论文、作者、出版地等)整合到 Network 中,那么显然这个网络中蕴涵着丰富的信息,例如我们可以通过排名函数从网络中挖掘出谁是 Web 研究的领军人物,或者通过相似性搜索函数从网络中挖掘出一个学者的同行;通过关系预测来挖掘一个学者未来的合作者将是谁;通过网络演化来发掘 Data Mining 学科是如何出现和发展的等等。
这里面韩家炜讲了一个故事。2010 年韩被 ECML-PKDD 邀请去做一个 keynote,报告的主题为《结构就是信息:挖掘结构信息网络》(Structureis Informative: On Mining Structured Information Networks)。报告结束后的提问环节,坐在下面的 Christos Faloutsos 举手问道:「你做的这个 Network 很 powerful,但是你能否预测到我明年写什么文章?」韩回答道:「我连自己的都预测不到,更别提你的啦。」于是当时下面哄堂大笑。回去后韩家炜将这个笑话讲给当时还在他手下读博士的孙怡舟听。孙怡舟很严肃地认为这不是一个简单的笑话。经过分析和讨论后孙怡舟定了一个新课题,预测 Christos 今后几年会有哪些新的 authors 合作。
这个课题导致孙怡舟随后提出了我们现在广泛使用的 Meta path 的概念,并于 2011 年在 ASONAM 上发表了一篇影响力巨大的文章。在文章中,孙怡舟预测了裴建的合作者。根据裴建在 [1996-2002] 年间的文章(作为特征集)准确地预测了他在 [2003-2009] 年间会有哪些合作者(测试集),排名前五的预测中只有一个没有出现在测试集中。
另外一个是预测错误吗?并不是,裴建和 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 上都有公开,任何人都可以下载下来使用或重复其工作。
(1)TopMine:频率模式挖掘+统计分析
这项工作主要是对语料库文本的Topic 进行挖掘。但是它的方法不同于以往采用 Uni-gram 的方法,而是将 Topic 挖掘分成了两个步骤:通过 Phrase Mining 对文本进行分割;随后进行基于 Phrase 约束的 Topic 模型。
对文本进行 PhraseMining 的一个基本思想就是,Phrase 中的字同时出现的频率较高。具体来说就是这么一个公式:
(2)SegPhrase:弱监督、高质量的 Phrase Mining
韩家炜的学生刘佳硉认为TopMine 的方法完全是无监督的,如果有少量的 Label 数据可能会在很大程度上提高 Topic Model 的结果。于是他精心选择了 300 个高质量的 Labels(150 个正例,150 个反例)。
这篇论文发表在 SIGMOD2015 上后,不久 Yelp 就给他们颁发了一个「Grandprize of 2015 Yelp Data Set Challenge」的奖,并且这个方法还被应用在了TripAdvisor 等平台上。
(3)AutoPhrase:自动的 Phrase Mining
2、识别TypedEntity
知道了 Phrase 以后,还需要让 Phrase make sense,也即识别实体、标注 Type。按照韩家炜的话:
“Identifying token span asentity mentions in documents and labeling their types —— Enabling structuredanalysis of unstructured text corpus.”
这有几个难点:
领域限制。用一般语料获得的实体标注在特定领域、动态领域或者新兴的领域无法很好的工作。
名称的歧义性。多个实体可能共享同一个表面名字(SurfaceName,例如「Washington」,它可能是州、市、人名、球队名等)
上下文稀疏。对同一个关系可能有许多种表示方法。(想想中文有多少中表示体育比赛结果的方法)
(1)ClusType
韩家炜讲了他们发表在 KDD 2015 上的一篇文章。在这篇文章中他们构建了如下一张异质结构图,其中c1、c2、c3 代表实体的 Surface Name,p1、p2……代表文本中 Surface Name 左右的 Phrase,而 m1、m2 ……代表实体(EntityMention)。每个 Entity Mention 都是没有歧义的独立对象。
- 在图中进行类型演化。通过聚类的同义关系 Phrase 推断连接起来的实体类别(例如,「Kabul is an ally of Washington」,如果已知 Kabul 的类别是「government」,那么可以推断这里的「Washington」的类别也是「government」)。
- 将关系 phrase 进行聚类。反过来,已经标注类型的实体也可以作为很好的 feature 来对 phrase 进行聚类。
(2)Cotype:going deeper
韩家炜举了一个他们在 WWW 2017 上发表的一篇文章。[4] 在这篇文章中,他们发明了叫做 CoType 的方法,将 Entity 和 Phrase 全部都 Embedding 到一个低维空间中(而不仅仅是 Embedding Entity)。
例如在这个 Embedding空间中,如果要标记的「Trump」和「Hillary」相近,则很明显应该给这个「Trump」标记为「politician」;如果是和企业相关的 Phrase 相近,那么就标记为「businessman」。通过 Entity 和 Phrase 的相互促进来提升整体的标记内容。
3、寻找MetaPattern
韩家炜考虑地其实更远,不光是找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。
4、建立层级分类
在以上工作的基础上,很多人也在研究如何建立起 Entity 的层级分类。人类经过训练后可以很容易地给不同的 Entity 进行分类,例如 Machine Learning、Computer Science 显然不是同一个层级的。能否让机器根据文本的 Title 来自动生成 Entity 的层级分类呢?
韩家炜说,自动建立层级分类其实「挺难的」。他们经过多种尝试后,提出了两种有效的方法:Adaptive Spherical Clustering 和 LocalEmbedding。
(1)AdaptiveSpherical Clustering
(2)Local Embedding
所谓 LocalEmbedding,就是说只选用与 Cluster 相关的Phrases 进行 Embedding。之所以这样,是因为当把所有的 Phrase 放在一起进行 Embedding(Global Embedding),其他 Cluster 的 Phrases 就会产生很多噪声,这会湮没真正有用的东西。而如果使用 LocalEmbedding 则可以把真正有用的 Phrase 显露出来。
五、构建多维TextCube
以上这些研究的目的是什么呢?韩家炜说,主要是想要建立一个多维 Text Cube。
一个可能的疑问是,前面 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 是从文本中抽取出来的。
我们查看每个 Term 在每个已知 Label 中的分布情况。
六、研究方向总结
真实的数据到结构化数据,再到有用的知识,这仍然是一条很长的路。我们这么多年做 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》)
在这条路上,我们现在只是找到了几个口子可以往前走。现在这还不是一条大路,只是一条小路。要想变成一条康庄大道,需要大家共同努力。这条路通宽了,将来我们就可以从大量的无结构的文本,变成大量的有用的知识。这是我要讲的重点。
——END——