相关技术

Python学习

​在学习知识图谱的过程中,掌握Python技术是必不可少的,尤其是在NLP方面,各种模型的训练以及数据的处理都需要借助Python。以下给出学习Python的推荐书目及在线课程:

  • 《Python 编程基础及应用》 主编:陈波、刘慧君 高等教育出版社

你可以通过下面的网站进行学习:

Java学习

​基于知识图谱的应用往往是需要借助Spring boot框架来实现的。如果说Python主要应对的是模型类问题,那么Java主要负责的是工程的搭建,在知识图谱的学习过程中,掌握Java技术也是必不可少的。

​我们在微服务基础中已经提到过了Java学习的路线。在此不赘述。

自然语言处理NLP算法

​自然语言处理(Natural Language Processing,NLP)的 基础算法包括词法分析、句法分析、语义分析、文档分析。

词法分析

​词法分析包括分词、词性标注、实体识别、拼写检查等。

句法分析

​句法分析是自然语言处理(natural language processing, NLP)中的关键底层技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。根据句法结构的表示形式不同,最常见的句法分析任务可以分为以下三种:

  • 句法结构分析(syntactic structure parsing),又称短语结构分析(phrase structure parsing),也叫成分句法分析(constituent syntactic parsing)。作用是识别出句子中的短语结构以及短语之间的层次句法关系。

  • 依存关系分析,又称依存句法分析(dependency syntactic parsing),简称依存分析,作用是识别句子中词汇与词汇之间的相互依存关系。

  • 深层文法句法分析,即利用深层文法,例如词汇化树邻接文法(Lexicalized Tree Adjoining Grammar, LTAG)、词汇功能文法(Lexical Functional Grammar, LFG)、组合范畴文法(Combinatory Categorial Grammar, CCG)等,对句子进行深层的句法以及语义分析。

语义分析

词语级语义分析

​词汇层面上的语义分析主要体现在如何理解某个词汇的含义,主要包含两个方面:词义消歧词义表示

句子级语义分析

​句子级的语义分析试图根据句子的句法结构和句中词的词义等信息,推导出能够反映这个句子意义的某种形式化表示。根据句子级语义分析的深浅,又可以进一步划分为浅层语义分析深层语义分析

4.文档分析

​文档是指由一系列连续的子句、句子或语段构成的语言整体单位,在一个文档中,子句、句子或语段间具有一定的层次结构和语义关系,文档结构分析旨在分析出其中的层次结构和语义关系。具体来说,给定一段文本,其任务是自动识别出该文本中的所有篇章结构,其中每个篇章结构由连接词,两个相应的论元,以及篇章关系类别构成。篇章结构可进一步分为显式和隐式,显式篇章关系指连接词存在于文本中,而隐式篇章关系指连接词不存在于文本中,但可以根据上下文语境推导出合适的连接词。对于显式篇章关系类别,连接词为判断篇章关系类别提供了重要依据,关系识别准确率较高;但对于隐式篇章关系,由于连接词未知,关系类别判定较为困难,也是篇章分析中的一个重要研究内容和难点。

上述参考链接

你可以参考下面的博客做进一步了解。

上方介绍的仅仅是基础的自然语言处理算法,更加复杂、高级的NLP算法可以自行阅读文献或博客。

Neo4j

Neo4j是一个图形数据库,可以用来存储知识图谱。

Neo4j是一款强健的,可伸缩的高性能图数据库。图数据库是用图来存储数据,是一种高性能的用于存储数据的数据结构方式。只要学习过离散数学或者图论的人对于图的概念来说不会太陌生。

图数据库主要是由节点(node)、关系(relationship)、属性(property)组成的。

最简单的图就是一个单节点,记录了一些属性。

关系主要用于把不同的节点组织在一起,形成一张图。关系可以把节点组织成任意的结构,列表、树或者其它复杂的实体。关系本身也是可以有属性的。

Last updated