分类:概念抽取和概念关系挖掘

来自Big Physics


研究背景

知识工程分成知识提取、知识表示、知识运用三个部分。知识提取指的是从书籍文章网页等信息中提取出来以概念和概念联系为内容的知识。通常表示为(头概念h,尾概念t,联系r)三元体。知识表示指的是把获取以后的知识三元体集合变成数学对象,通常是矢量和矩阵的形式。知识运用指的是直接把知识三元体集合或者其表示用于解决问题,例如推理、发现新知识、理解书籍文章网页等信息源。

从书籍、论文等语料经过自然语言处理或者人工处理得到概念、概念关系,形成概念网络,或者知识地图,是大量后续研究的基础(见概念网络和理解型学习科学计量学导引)。例如概念网络可以用于论文分类、创新性的度量、问答系统、阅读理解、教和学。这里有两个问题:如何从语料得到概念地图,如何用概念地图来做后续任务。当然,这两个任务不一定要合起来做,可以在某些概念地图的基础上做后续研究(例如我们的概念学习顺序和检测算法),也可以仅仅研究从语料到概念网络。这需要依靠自然语言处理技术。

同时,也有一个反过来的问题:如何在人工智能,包含自然语言处理,以及更一般的其他任务中,运用概念地图也是一个需要研究的问题。

关于概念地图,或者说知识图谱是你什么,大概原理上可以怎么做,可以看吴金闪的《教的更少,学得更多》[1],以及科学学或者教和学的研究,或者这个帖子[2]。另外,这里有一个浙江大学的研究者改进的其他人的知识图谱构建算法[3],一个清华大学的研究者整理的一个知识表示论文库[4]

我们的研究工作和一般的知识图谱的不同在于:第一、我们的概念地图本质上是为了促进人类的理解、学习和思考,而不是机器,当然,顺便促进一下机器也无妨;第二、我们的概念地图所包含的关系甚至概念,都比较一般化,而且,可能超越三元体的形式,怎么用,怎么构建,都会有其特殊性;第三,我们的概念地图研究和教和学的研究,以及科学学的研究紧密结合,主要是为了这些具体研究服务,当然,也不排除在受启发的情况下研究一下基础算法。

运用自然语言处理技术从文本中抽取概念和概念联系

实际上,Google知识图谱任务就已经以Wikipedia等语料和其他网络语料为基础构建了很大规模的“常识和常识之间的联系”数据库。一方面,我们需要去了解一下他们的算法是什么。另一方面,很有可能有联系的概念可以通过语料和自然语言处理算法来发现联系。同时,考虑到我们通常需要在更加专门的领域内构建概念网络,然后用于这个专门领域的研究和学习,所以,可能会存在更好的算法。

这个研究就专门在“科学计量学”(见科学学)和“产品生产关系”(见生产关系挖掘)两个小领域内来构建概念网络。前者需要从科学计量学论文语料库找出来,科学计量学的专有名词和这些专有名词之间的关系。后者,需要从一个叫做"How Products Are Made"网站获得产品的生产过程和原材料的描述,把原材料和产品的类似化学反应的数据取出来。

所需要的论文数据和网站数据请跟我们联系。

你也可以选择你能够获取数据的其他领域,例如,所有的中小学数学书来获得数学概念和概念联系,所有的中小学物理书等等。

概念挖掘和关系挖掘的技术

自然语言处理已经有一些实体标记的技术[5],但是,这样的实体标记技术是否可以用在学科概念上还有待检验。因此,无监督概念挖掘技术本身也是一个有待解决的问题。另一方面,对于某些领域,可以用Wikipedia、教材、领域专有词汇等等,来做个有监督概念挖掘。因此,概念挖掘还不是特别难。

关系挖掘就是比较复杂。第一,我们可能需要确定是否两个概念之间有逻辑上的关系,有的话,有没有方向,能不能确定方向。第二,给这个有关系,有方向的关系,找一个合适的关系连词来连上。同样,如果是无监督的挖掘可能确实也不好办。如果是有监督的,例如利用Wikipedia的超链接,甚至专门的Wikidata等基于Wikipedia的三元体来训练,就会简单一点。另外,从方向上,原则上一个简单概念下层概念可能会在一个其支撑的上层概念附近被多次提及,而反过来,一个上层概念不会在其下层支撑概念附近被多次提及[6]。因此,方向的训练上,也不是完全没有希望。有了概念,有了关系的存在性,是不是通过词矢量表示和运算(例如[math]\displaystyle{ v_{t}-v_{h}=v_{r} }[/math],两个概念的矢量表示的差对应着关系的矢量表示[7][8]),就能够大概把关系连词找出来呢?

大部分目前的方法都是有监督的训练[9][10][11],在人工已经构建的概念地图(知识图谱)的基础上,例如YAGO, DBpedia, NELL, Freebase等,利用词矢量表示和已经有的概念地图(知识图谱)的矢量表示,建立某种关系分数计算模型,来得到新语料当中的关系。

在开展我们自己的研究的时候,一方面固然要借鉴前人的方法,另一方面,是不是可以这样做:

  1. 利用现有的这个领域的词表(wikipedia、专有词汇词典、各本书的索引)和语料,训练从语料当中抽取词汇的学习机。
  2. 利用概念的矢量表示之间的运算来寻找概念之间的关系,或者用问答题,例如概念A和概念B之间有什么关系,来从语料中抽取关系。
  3. 用得到的概念地图形成“人造”语料,看看,第一是否能够提高自然语言任务(例如回答问答题)的准确率,第二是否可以在新旧结合的语料上得到更好的概念地图。之所以这样做可能可以提高准确率和得到更好的概念地图,是因为,很可能通过制作概念地图和重新人造语料,很可能那些长程链接就更容易看到了。

当然,由于我们的目标是构建人类可读的促进人类思考的概念地图,我们跟前人工作的比较不在于准确率等指标(当然,也得比),而是是否能够帮助人类作图,节省时间,同时促进人类思考。当然,针对人类作图者,以上过程生成的概念地图也需要考虑布局算法来得到初步的概念地图布局。

利用概念地图提高自然语言处理技术

在自然语言处理中,隐性关系和长程关联是非常难以处理的。隐性关系是指在这一段文本中没有明确写出来的但是为了理解这段文本却需要用到的关系。例如,应用题中通常不给出来事物之间的某个核心关系。比如说,一道相遇问题的应用题,通常会给出来总路程和两个相遇者的各自的速度,但是,不会提醒“总路程等于两者速度之和(等价于总速度)乘以时间”,也就是说“L=Vt”是一半不明确提供而是以往被试自己掌握的。长程联系是指在一段文本中,某一个部分的含义依赖于很长一段文本之前的那一段文本的信息。当然,自然语言处理已经有自己的方法来解决这些问题。不过,如果能够依靠概念地图来把隐性关系显性化,长程关联短程化,总是可能可以更好地解决这个问题的。

那,怎么做呢?

我们可以考虑把概念网络矢量表示做出来——顶点和边的矢量表示同时做出来,然后,把这个矢量表示和词矢量一起当做语言模型的计算起点。

这个工作的参考文献我们会慢慢补充上。

参考文献

  1. 吴金闪,《教的更少,学得更多》,人民邮电出版社,吴金闪的书们
  2. https://www.analyticsvidhya.com/blog/2019/10/how-to-build-knowledge-graph-text-using-spacy/
  3. 浙江大学知识引擎实验室的概念和关系提取相关工作
  4. KRLPapers Github项目
  5. John Giorgi and Xindi Wang and Nicola Sahar and Won Young Shin and Gary D. Bader and Bo Wang, End-to-end Named Entity Recognition and Relation Extraction using Pre-trained Language Models, arXiv cs.CL 1912.13415(2019).
  6. Chen Liang, Zhaohui Wu, Wenyi Huang, and C. Lee Giles. 2015. Measuring prerequisite relations among concepts. In Proceedings of EMNLP. 1668-1674.
  7. T. Mikolov, W.-T. Yih, and G. Zweig, “Linguistic regularities in continuous space word representations,” in Proc. Conf. North Amer. Chapter Assoc. Comput. Linguistics: Human Language Technol., 2013, 746-751.
  8. A. Bordes, N. Usunier, A. Garcıa-Duran, J. Weston, and O. Yakhnenko, “Translating embeddings for modeling multi-relational data,” in Proc. Adv. Neural Inf. Process. Syst., 2013, 2787-2795.
  9. S. Riedel, L. Yao, A. Mccallum, and B. M. Marlin, “Relation extraction with matrix factorization and universal schemas,” in Proc. Conf. North Amer. Chapter Assoc. Comput. Linguistics: Human Language Technol., 2013, 74-84.
  10. J. Weston, A. Bordes, O. Yakhnenko, and N. Usunier, “Connecting language and knowledge bases with embedding models for relation extraction,” in Proc. Conf. Empirical Methods Natural Language Process., 2013, 1366-1371.
  11. Maximilian Nickel, Kevin Murphy, Volker Tresp, Evgeniy Gabrilovich. A Review of Relational Machine Learning for Knowledge Graphs. Proceedings of the IEEE 2016.