第二章 基础知识

概述

知识表示

基本概念

知识必须经过合理的表示才能被计算机处理。知识表示是对显示世界的一种抽象表达。评价知识表示的两个总要因素是表达能力(Expressiveness)与计算效率(Efficiency)。一个知识表示应该具有足够强的表达能力,才能充分、完整的表达特定领域或者问题所需的知识。同时基于这一知识表示的计算求解过程也应该有足够高的执行效率

语义网络、知识图谱、RDF、实体关系图等均是基于图的知识表示。逻辑学领域产生了包括一阶谓词逻辑以及产生式规则在内的知识表示。现实世界的语义关联以及推理过程往往存在不确定性,因此人们将概率论引入基于图论和逻辑学的知识表示,发展除了概率图模型及概率软逻辑等表示方式,以及在图论、概率论与逻辑学的交叉领域有进一步发展出了马尔可夫逻辑网

知识图谱的图表示

基于图的表示

有向图:有向图的边是有方向的,符号表示是(u,v)!=(v,u);

无向图:边是没有方向的,符号表示是(u,v)==(v,u);

对于无向图G,如果(u,v)∈E,那么节点u和v是邻接的(Adjacent),且称(u,v)为无向图G的一条边(edge)。在有向图中,如果u,v)∈E,那么(u,v)被称作一条弧(Arc)(无向图的叫边,有向图的叫弧,书本中写的好绕

如果节点u与v邻接,那么v是u的邻居(Neighbor)。节点u的所有邻居集合记作集合N(u),集合N(u)的规模,也就是u的邻居数目,被成为u的度数(Degree)。对于有向图,某个节点的度数由出度和入度组成(一个节点的边的总数称为度数,有向图的度数由出度和入度组成

图的表示方法——邻接矩阵;

基于三元组的表示

RDF是用于描述现实中资源的W3C标准,它是描述信息的一种通用方法,是信息可以被计算机应用程序读取并理解。

具体看《数据模型与查询语言》对三元组的简述

知识图谱的数值表示

如何将知识图谱作为背景知识融合进深度学习模型?基本思路是将知识图谱中的点与边表示成数值化的向量

知识图谱的表示学习旨在将知识图谱中的元素(包括实体、属性、概念等)表示为面向机器处理的,而符号化表示是面向人的理解

学习实体和关系向量化表示的关键是,合理定义知识图谱中关于事实(三元组(h,r,t)的损失函数()

往后的几种模型都没看明白,希望视频能让我多谢理解

其他相关知识表示

  • 谓词逻辑
  • 产生式规则
  • 框架
  • 树形知识表示
  • 概率图模型
  • 马尔可夫链
  • 马尔可夫逻辑网

机器学习

机器学习(Machine Learning,ML)是一种从观测数据(样本)中寻找规律,并利用学习到的规律(模型)对未知,或无法观测的数据进行预测的方法

机器学习的基本概念

监督学习从标注样本中学习模型。每个标注样本是一个数据与响应分类标签构成的二元组(x,y),其中x是数据,y是相应的分类标签

每一个样本中的观测数据均需要有合理的表示才能被计算机有效处理,这种表示被称为特征

通过已知的数据和目标,调节算法的参数,这就是训练;

最后得到的映射,就是针对这个问题被训练出来的模型。

提升机器学习的泛化能力是机器学习的核心任务

机器学习的三个关键要素如下

  • 模型选择
  • 优化准则
  • 优化方法,优化问题求解过程

如果训练集中每个样本的标签都是已知的,这类学习问题被称为监督学习。监督学习的主要任务包括分类和回归

那么训练集中的样本的标签是未标注的,就是无监督学习,这是机器学习的重要研究任务之一

无监督学习的典型任务包括聚类(Clustering),分布密度估计(Density Estimation)以及维度约简(Dimensionality Reduction);

聚类:将相似数据聚集成类

分布密度估计:确定生产观测数据的概率分布的密度函数

维度约简:将高纬度数据投影到低维空间,以捕捉数据的本质特征或者便于数据可视化

实际一共中大量存在的往往是无标注数据,尽可能地利用这些无标注数据是提升模型性能的重要思路之一,构成了半监督学习的核心问题。半监督学习(Semi-supervised Learning)通常包含少量的标注数据和大量的未标注数据,它通过假设为标注数据的分布来揭示标注数据之间的关系,利用未标注数据来提升标注数据的学习能力

深度学习概述

传统机器学习的局限性

  • 传统机器学习中的样本特征主要靠专家经验或特征转换的方法来获取。依靠专家经验的特征提取方法通常费时、费力,也难以捕捉很多隐形特征
  • 传统机器学习一般只能使用较为简单的函数形式(如线性函数)表达模型,而模型的表达能力对机器学习的效果来说至关重要,简单的模型难以表达复杂的函数映射

深度学习(Deep Learning)是指基于深度神经网络的一类机器学习模型,深度神经网络在传统浅层神经网络的基础上引入了更多的中间层,因而具有较深层次的神经网络模型。一个深度神经网络由输入层——中间层——输出层的结构构成,其中间层本质上完成了自动特征提取

深度学习一方面降低了专家定义特征的代价,另一方面也可以捕捉隐形特征,其在图像、语音、文本等数据的特征提取中能取到比较好的效果

前馈神经网络(Feedforward Neural Network),也被称为多层感知器(Multilayer Perceptron),是典型的深度神经网络模型。前馈神经网络层与层之间的神经元采用全连接方式。除了输入层外,每次的神经元都采用非线性激活函数,比如 Sigmoid、ReLU等。前馈神经网络中无反馈,信号从输入层想输出层单向传播

卷积神经网络

卷积神经网络是一类以卷积层(使用卷积操作代理全连接层所使用的矩阵乘法操作)作为网络的基本元素的神经网络,一般用于处理图像数据

全连接神经网络模型的弊端

  • 参数太多,容易产生拟合。比如,对一个512*512像素的3通道图像来说,仅仅一个全连接层就拥有上百万参数
  • 没有使用局部不变性,比如一张狗的照片,平移5个像素,并不影响人类识别那是一张狗的相片

卷积层的引入是CNN的根本特征。卷积层使用一个相对于原始数据规模很小的卷积核作为参数,将输入数据与卷积核进行卷积运算

CNN的结构通常有输入、卷积层、池化层以及全连接层构成。CNN模型架构的特点是稀疏连接、参数共享。稀疏连接指:卷积层的每个输入只与有限的输入单元连接。参数共享指每个输出单元的计算共享相同的参数(也就是卷积核中的参数)

循环神经网络

循环神经网络(Recurrent Neural Network,RNN)是一类专门用于处理序列数据的神经网络模型。RNN利用序列数据的性质实现了序列上不同时间点的权重共享,因此,它也使用了一类特俗的函数来代替全连接层,大大减少了参数数量,同时也是模型可以更好的利用序列性质。RNN被广泛应用于语音、自认语言等可以建模为序列的数据处理中。RNN的“循环”本质上是指数据在t时刻的状态取决于其前序状态,这在语音与文本数据处理中是必要的

RNN的优点在于不管输入序列的长短,函数f都可以应用于序列的每个元素。

RNN可以通过随时间反向传播学习以及实时循环学习等算法进行学习

RNN模型存在多个变种。一种常见的扩展是引入门机制,实现记忆的自主遗忘。这类循环神经网络又被称为门控循环神经网络,其中两种重要类型是长短期记忆网络和门控循环单元。另一总常见的变种是双向循环神经网络:在很多实际应用总序列中的某个数据不仅与其谦虚数据相关,也与其后续数据相关。比如在文本处理中、一个词的含义取决于其上下文。双向循环神经网络在单向循环神经网络的基础上引入了额外的循环层,用来实现序列数据中的反向影响。文本处理中常用的一类双向循环网络是双向LSTM模型

注意力机制

在深度神经网络中引入注意力机制,使模型每一阶段的输出只需要根据输入的某些片段进行计算,而无需处理整个输入。这样可以极大减轻神经网络的计算负担

自然语言处理

自然语言处理(Natural Language Processing,NLP)是人工只能的重要分支之一,涉及语言学,计算机科学多门学科知识,是实现自然人机交互的重要学科。

NLP的主要使命是自然语言的理解与生产。所谓的自然语言理解是将自然语言的输入映射为合适、有效的表示;所谓自认语言生成是从计算机的一些内在表示生成有意义的自然语言形式的词汇、句子、段落甚至篇章。

基本概念

NLP技术以不同的粒度处理自然语言。可以在词汇、句子、段落和篇章级别展开处理,自然语言中提及的词汇可以对应到人类认知的实体与概念

文本是知识图谱的数据来源、我们需要对其中语句做各种处理。NLP可以在词法分析,语法分析,语义分析以及语用分析等层面展开

断句一般通过标点符号实现

分词是指对文本进行词汇的切割

词性标注是给句子中的每个词标记相应的词性,这里的词性可能是名称,动词,形容词,副词等

词性还原是指将某个单词还原至原型,包括将名次的单复数,be动词以及动词的过去时和现在时等还原成响应的原型

依存句法分析旨在识别句子的语法结构,其主要手段是分析剧中个语言成分之间的依存关系,其分析结果是一颗依赖关系树

语义分析任务包括:命名实体识别,共指消解以及语义角色标注等:

命名实体识别是识别句子的词序列中具有特定意义的实体,并将其标注为人名、机构名、日期、地名、时间和置为等类别的任务

共指消解是指另一类常见的语义分析任务,这一任务旨在识别句子中同一实体的所有不同表达

语义角色标注,又称浅层语义分析,是指将句子总的某些词或短语标注为给定语义角色的过程。通常围绕动词短语(或谓词)的相关成分展开识别,比如施事者,受事者,时间,地点等

文本的向量化表示

文本的向量化表示是指将文本表示成计算机能够进行运算的数值向量形式。较长的文本往往难以直接转化为一个向量,因此,通常需要先将较细粒度的文本表示成向量,进而得到句子或段落的表示。

单词对应的向量通常被称为词向量(word Embedding)。传统的词向量表示是以独热(One-hot)和词袋为代表的离散表示。近年来,主流的词向量表示形式是以分布式表示为代表的连续表示,连续表示是将文本表示为连续空间上的一点

1、离散表示

独热表示:在语料库中,为每个词做一个索引编码,根据索引编码进行表示。独热表示的特点在于只有以为取值为1,其他维取值均为0。当语料库非常大时,索引编码规模也非常大

词袋表示:词袋表示常用于文本表示,直接将文本中单词的独热向量想加即可

2、连续表示

离散表示对于词语语义表达能力有限。但可以更好的捕捉词与词之间的语义关系

连续表示最常用的是分布式表示:分布式表示思想是将语言的语义或语法特征分散存储在一个低维、稠密的实数向量中。分布式的向量往往通过建立自然语言的预测模型学习而得的。代表模型有Word2Vec的Skip-gram

Skip-gram模型的基本思想是习得合理词向量,使得利用词向量准确预测上下文的概率尽可能高。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值