人工智能入门基础概念—教你正确打开人工智能世界的大门

news2024/11/28 22:31:05

一、机器学习

1.1机器学习概述

  1. 机器学习简介
    机器学习,通俗地讲就是让机器拥有学习的能力,从而改善系统自身的性能。
    这里的“学习”指的是从数据中学习,从数据中产生模型的算法,即学习算法。有了学习算法,只要把经验数据提供给它,它就能够基于这些数据产生模型,在面对新的情况时,模型能够提供相应的判断,进行预测。
    机器学习实质上是基于数据集的,它通过对数据集进行研究,找出数据集中数据之间的联系和数据的真实含义。
    在这里插入图片描述

  2. 机器学习的发展

  3. 机器学习的应用前景
    1.数据分析与挖掘
    数据挖掘是“识别出巨量数据中有效的、新颖的、潜在有用的、最终可理解的模式的过程”

    数据分析则通常被定义为“指用适当的统计方法对收集来的大量第一手资料和第二手资料进行分析,以求最大化地开发数据资料的功能,发挥数据的作用,是为了提取有用信息和形成结论而对数据加以详细研究和概括总结的过程”。

    2.模式识别
    模式识别研究主要集中在两个方面:一是研究生物体(包括人)是如何感知对象的,属于认识科学的范畴;二是在给定的任务下,如何用计算机实现模式识别的理论和方法,这些是机器学习的长项。

    模式识别的应用领域广泛,包括计算机视觉、医学图像分析、光学文字识别、自然语言处理、语音识别、手写识别、生物特征识别、文件分类、搜索引擎等,而这些领域也正是机器学习大展身手的舞台,因此模式识别与机器学习的关系越来越密切。

    3.更广阔的领域
    研究和应用机器学习的最终目标是全面模仿人类大脑,创造出拥有人类智慧的机器大脑。

1.2机器学习的分类

  1. 监督学习
    监督学习是指利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。
    1.监督学习概述
    监督学习表示机器学习的数据是带标记的,这些标记可以包括数据类别、数据属性及特征点位置等。

    具体实现过程是通过大量带有标记的数据来训练机器,机器将预测结果与期望结果进行比对;之后根据比对结果来修改模型中的参数,再一次输出预测结果;再将预测结果与期望结果进行比对,重复多次直至收敛,最终生成具有一定鲁棒性的模型来达到智能决策的能
    力。

    常见的监督学习有分类(Classification)和回归(Regression),分类是将一些实例数据分到合适的类别中,其预测结果是离散的;回归是将数据归到一条“线”上,即为离散数据生产拟合曲线,因此其预测结果是连续的。

    2.监督学习的应用
    判断邮件是否为垃圾邮件

  2. 无监督学习
    根据类别未知(没有被标记)的训练样本解决模式识别中的各种问题,称为无监督学习。
    1.无监督学习概述
    无监督学习的训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律。
    无监督学习表示机器从无标记的数据中探索并推断出潜在的联系。

    常见的无监督学习有聚类(Clustering)和降维(Dimensionality Reduction)两种。在聚类工作中,由于事先不知道数据类别,因此只能通过分析数据样本在特征空间中的分布,如基于密度或基于统计学概率模型,从而将不同数据分开,把相似数据聚为一类。降维是将数据的维度降低,由于数据本身具有庞大的数量和各种属性特征,若对全部数据信息进行分析,则会增加数据训练的负担和存储空间。因此可以通过主成分分析等其他方法,考虑主要因素,舍弃次要因素,从而平衡数据分析的准确度与数据分析的效率。在实际应用中,可以通过一系列的转换将数据的维度降低。
    2.无监督学习的应用
    数据挖掘,用于在大量无标签数据中寻找信息。

    3.监督学习与无监督学习的区别
    (1)监督学习是一种目的明确的训练方式;而无监督学习是没有明确目的的训练方式。
    (2)监督学习需要给数据打标签;而无监督学习不需要给数据打标签。
    (3)监督学习由于目的明确,因此可以衡量效果;而无监督学习几乎无法衡量效果如
    何。

  3. 半监督学习
    机器学习的核心是从数据中学习,从数据出发得到未知规律,利用规律对未来样本进行预测和分析。

    监督学习需要大量已标记类别的训练样本来保证其良好的性能;无监督学习不使用先验信息,利用无标签样本的特征分布规律,使得相似样本聚到一起,但模型准确性难以保证。
    获取大量无标记样本相当容易,而获取大量有标记样本则困难得多,且人工标注需要耗费大量的人力和物力。如果只使用少量的有标记样本进行训练,往往导致学习的泛化性能低下,且浪费大量的无标记样本数据资源。

    因此,使用少量标记样本作为指导,利用大量无标记样本改善学习性能的半监督学习成为研究的热点。

    半监督学习包括半监督聚类、半监督分类、半监督降维和半监督回归 4 种学习场景。
    常见的半监督分类代表算法包括生成式方法、半监督支持向量机(Semi-supervised Support Vector Machines,S3VMs)、基于图的半监督图方法和基于分歧的半监督方法共 4 种算法。
    常见的假设模型有混合高斯模型、混合专家模型、朴素贝叶斯模型,采用极大似然方法作为参数估计的优化目标,选择最大期望(Expectation-Maximization,EM)算法进行参数的优化求解。

    常见的 S3VMs 方法有直推式支持向量机(Transductive Support Vector Machine,TSVM)、拉普拉斯支持向量机(Laplacian Support Vector Machine,Laplacian SVM)、均值标签半监督支持向量机(Mean Semi-supervised Support Vector Machine,MeanS3VM)、安全半监督支持向量机(Safe Semi-supervised SVM,S4VM)、基于代价敏感的半监督支持向量机(Cost-sensitive Semi-supervised SVM,CS4VM)。
    基于图的半监督方法是利用有标签和无标签样本之间的联系得到图结构,利用图结构进行标签传播。典型的基于图的半监督方法有标签传播算法、最小割算法以及流形正则化算法。

  4. 迁移学习
    迁移学习是运用已存有的知识对不同但相关领域的问题进行求解的一种新的机器学习方法。按照迁移学习方法采用的技术划分,可以把迁移学习方法分为 3 类:基于特征选择的迁移学习、基于特征映射的迁移学习和基于权重的迁移学习。

    根据源领域和目标领域中是否有标签样本,可将迁移学习方法划分为 3 类:目标领域中有少量标注样本的归纳迁移学习(Inductive Transfer Learning)、只有源领域中有标签样本的直推式迁移学习(Transductive Transfer Learning)、源领域和目标领域都没有标签样本的无监督迁移学习。
    根据源领域中是否有标签样本,把归纳迁移学习方法分为 2 类:多任务迁移学习和自学习

  5. 强化学习
    强化学习(Reinforcement Learning,RL)又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体在与环境的交互过程中,通过学习策略以达成回报最大化或实现特定目标的问题。

    强化学习主要包括智能体、环境状态、奖励和动作 4 个元素以及一个状态。
    在这里插入图片描述
    强化学习是带有激励机制的,即如果机器行动正确,则施予一定的“正激励”;如果机器行动错误,则会给出一定的惩罚,也可称为“负激励”。在这种情况下,机器将会考虑在一个环境中如何行动才能达到激励的最大化,具有一定的动态规划思想。

    强化学习的应用
    机械狗
    AlphaGo Zer

1.3 机器学习常用算法

  1. 回归算法
    回归算法是一种应用极为广泛的数量分析方法。该算法用于分析事物之间的统计关系,侧重考察变量之间的数量变化规律,并通过回归方程的形式描述和反映这种关系,以帮助人们准确把握变量受其他一个或多个变量影响的程度,进而为预测提供科学依据。
    回归算法的分类
    线性回归(Linear Regression)
    逻辑回归(Logistic Regression)
    多项式回归(Polynomial Regression)
    逐步回归(Step-wise Regression)
    岭回归(Ridge Regression)
    套索回归(Lasso Regression)
    弹性回归(Elastic Net Regression)

  2. 聚类算法
    聚类就是将相似的事物聚集在一起,将不相似的事物划分到不同类别的过程,是数据挖掘中一种重要的方法。聚类算法的目标是将数据集合分成若干簇,使得同一簇内的数据点相似度尽可能大,而不同簇间的数据点相似度尽可能小。聚类能在未知模式识别问题中,从一堆没有标签的数据中找到其中的关联关系。
    1.聚类算法概述
    聚类技术是一种无监督学习,是研究样本或指标分类问题的一种统计分析方法。聚类与分类的区别是其要划分的类是未知的。常用的聚类分析方法有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法和聚类预报法等。
    聚类分析注意点
    (1)可伸缩性
    (2)处理不同类型属性的能力
    (3)发现任意形状的聚类
    (4)输入参数的选择
    (5)处理“噪声”数据的能力
    (6)对于输入记录的顺序不敏感
    (7)高维度
    (8)基于约束的聚类
    (9)可解释性和可用性
    2.聚类算法的分类
    (1)基于划分的聚类算法
    K-Means 算法
    K-Medoids 算法
    CLARANS 算法
    (2)基于层次的聚类算法
    BIRCH 算法
    CURE 算法
    Chameleon 算法
    (3)基于密度的聚类算法
    DBSCAN 算法
    OPTICS 算法
    DENCLUE 算法
    (4)基于网格的聚类算法
    STING 算法
    CLIQUE 算法
    Wave-Cluster 算法
    (5)基于模型的聚类算法
    统计的方法
    神经网络的方法
    (6)传递闭包法、布尔矩阵法、直接聚类法、相关性分析聚类法

  3. 降维算法
    1.降维算法概述
    降维就是一种针对高维度特征进行的数据预处理方法,是应用非常广泛的数据预处理方法。
    降维算法指对高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。在实际的生产和应用中,在一定的信息损失范围内,降维可以节省大量的时间和成本。
    机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。
    2.降维算法的分类
    主成分分析(Principal Component Analysis,PCA)法
    试图在保证数据信息丢失最少的原则下,对多个变量进行最佳综合简化,即对高维变量空间进行降维处理。
    因子分析(Factor Analysis,FA)法
    因子分析法是从假设出发。
    因子分析法有几个主要目的:一是进行结构的探索,在变量之间存在高度相关性的时候希望用较少的因子来概括其信息;二是把原始变量转换为因子得分后,使用因子得分进行其他分析,从而简化数据,如聚类分析、回归分析等;三是通过每个因子得分计算出综合得分,对分析对象进行综合评价。
    3.降维算法的应用场景
    降维算法通常应用于数据压缩与数据可视化中

  4. 决策树算法
    在这里插入图片描述

  5. 贝叶斯算法
    贝叶斯算法是对部分未知的状态进行主观概率估计,并使用贝叶斯公式对发生概率进行修正,最后利用期望值和修正概率做出最优决策。

  6. 支持向量机算法
    支持向量机算法是一种支持线性分类和非线性分类的二元分类算法。经过演进,其现在也支持多元分类,被广泛地应用在回归以及分类当中。
    支持向量机算法在垃圾邮件处理、图像特征提取及分类、空气质量预测等多个领域都有应用,已成为机器学习领域中不可缺少的一部分。

  7. 关联规则算法
    关联规则算法常用来描述数据之间的相关关系,关联规则模式属于描述型模式。

  8. 遗传算法
    遗传算法是一种启发式的寻优算法,该算法是以进化论为基础发展出来的。它是通过观察和模拟自然生命的迭代进化,建立起一个计算机模型,通过搜索寻优得到最优结果的算法。

1.4机器学习小结

(1)机器学习,通俗地讲就是让机器来实现学习的过程,让机器拥有学习的能力,从而改善自身的性能。
(2)监督学习表示机器学习的数据是带标记的,这些标记包括数据类别、数据属性及特征点位置等。
(3)无监督学习的训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律。
(4)半监督学习突破了传统方法只考虑一种样本类型的局限性,综合利用了有标签与无标签样
本,是在监督学习和无监督学习的基础上进行的研究。
(5)迁移学习是运用已存有的知识,对不同但相关领域的问题进行求解的一种新的机器学习方法。迁移学习放宽了传统机器学习中的两个基本假设,目的是迁移已有的知识来解决目标领域中仅有少量(甚至没有)有标签样本数据的学习问题。
(6)强化学习又称为再励学习、评价学习,是一种重要的机器学习方法,在智能控制机器人及分析预测等领域有许多应用。强化学习主要包含智能体、环境状态、奖励和动作 4 个元素。
(7)回归算法是一种应用极为广泛的数量分析方法,该算法用于分析事物之间的统计关系,侧重考察变量之间的数量变化规律,并通过回归方程的形式描述和反映这种关系,以帮助人们准确把握变量受其他一个或多个变量影响的程度,进而为预测提供科学依据。
(8)聚类就是将相似的事物聚集在一起,将不相似的事物划分到不同类别的过程。
(9)降维算法可将数据的维度降低,它通过主成分分析等其他方法,考虑主要因素,舍弃次要因素,从而平衡数据分析准确度与数据分析效率。
(10)决策树通过把实例从根节点排列到某个叶子节点来分类实例,叶子节点即为实例所属的分类。
(11)贝叶斯算法是一种使用先验概率进行处理的算法,其最后的预测结果就是具有最大概率的那个类。
(12)支持向量机算法是一种支持线性分类和非线性分类的二元分类算法,也支持多元分类。
(13)关联规则算法常用来描述数据之间的相关关系,关联规则模式属于描述型模式。
(14)遗传算法是一种启发式的寻优算法,该算法是以达尔文进化论为基础发展出来的。它是通
过观察和模拟自然生命的迭代进化,建立起一个计算机模型,通过搜索寻优得到最优结果的算
法。

二、深度学习

2.1神经网络

  1. 神经网络简介
    神经网络(Neural Network,NN)亦称为人工神经网络(Artificial Neural Network,ANN),是由大量神经元(Neurons)广泛互连而成的网络,是对人脑的抽象、简化和模拟,应用了一些人脑的基本特性。

    神经网络与人脑的相似之处可概括为两方面,一是通过学习过程利用神经网络从外部环境中获取知识,二是内部神经元用来存储获取的知识信息。
    神经网络的信息处理是由神经元之间的相互作用实现的,知识与信息的存储主要表现为网络元件互相连接的分布式物理联系。
    人工神经网络具有很强的自学习能力,它可以不依赖于“专家”的头脑,自动从已有的实验数据中总结规律。
    人工神经网络擅长处理复杂的多维的非线性问题,不仅可以解决定性问题,还可以解决定量问题,同时具有大规模并行处理和分布信息存储能力,具有良好的自适应性、自组织性、容错性和可靠性。

  2. 神经网络的结构
    神经网络会将多个单一神经元连接在一起,将一个神经元的输出作为下一个神经元的输入
    神经网络的结构大致可以分为以下 5 类
    (1)前馈式网络:该网络结构是分层排列的,每一层的神经元输出只与下一层的神经元连接。
    (2)输出反馈的前馈式网络:该网络结构与前馈式网络的不同之处在于,其中存在着一个从输出层到输入层的反馈回路。
    (3)前馈式内层互连网络:在该网络结构中,同一层的神经元之间相互关联,它们有相互制约的关系。但从层与层之间的关系来看,它仍然是前馈式的网络结构,许多自组织神经网络大多具有这种结构。
    (4)反馈型全互连网络:在该网络结构中,每个神经元的输出都和其他神经元相连,从而形成了动态的反馈关系,该网络结构具有关于能量函数的自寻优能力。
    (5)反馈型局部互连网络:在该网络结构中,每个神经元只和其周围若干层的神经元发生互连关系,形成局部反馈,从整体上看是一种网状结构。

  3. 神经网络的学习
    神经网络的学习也称为训练,指的是通过神经网络所在环境的刺激作用调整神经网络的自由参数,使神经网络以一种新的方式对外部环境做出反应的一个过程。
    神经网络最大的特点是能够从环境中学习,以及在学习中提高自身性能。经过反复学习,神经网络对其环境会越来越了解。

  4. 激活函数
    激活函数(Activation Functions)对于人工神经网络模型以及卷积神经网络模型学习理解非常复杂和非线性的函数来说具有十分重要的作用。

  5. 损失函数
    损失函数是模型对数据拟合程度的反映,拟合得越差,损失函数的值就越大。与此同时,当损失函数比较大时,其对应的梯度也会随之增大,这样就可以加快变量的更新速度。

2.2 感知机

  1. 感知机简介
    感知机被称为深度学习领域最为基础的模型。虽然感知机是最为基础的模型,但是它在深度学习的领域中有着举足轻重的地位,它是神经网络和支持向量机学习的基础。感知机学习的目标就是求得一个能够将训练数据集中正、负实例完全分开的分类超平面,为了找到分类超平面,即确定感知机模型中的参数 w 和 b,需要定义一个基于误分类的损失函数,并通过将损失函数最小化来求解 w 和 b。
  2. 多层感知机
    多层感知机(MLP)也叫作前馈神经网络,是深度学习中最基本的网络结构。

2.3 卷积神经网络

  1. 卷积神经网络简介
    卷积神经网络(Convolutional Neural Network,CNN),顾名思义,指在神经网络的基础上加入了卷积运算,通过卷积核局部感知图像信息提取其特征,多层卷积之后能够提取出图像的深层抽象特征,凭借这些特征来达到更准确的分类或预测的目标。卷积神经网络与一些传统的
    机器学习方法相比,能够更加真实地体现数据内在的相关特征,因此,目前卷积神经网络是图像、行为识别等领域的研究热点
  2. 卷积神经网络的结构
    在这里插入图片描述
    卷积神经网络是多层感知机的变体,根据生物视觉神经系统中神经元的局部响应特性设计,采用局部连接和权值共享的方式降低模型的复杂度,极大地减少了训练参数,提高了训练速度,也在一定程度上提高了模型的泛化能力。
  3. 常用的卷积神经网络
    1.AlexNet
    2.VGG
    3.GoogLeNet
    4.ResNet

2.4 循环神经网络

  1. 循环神经网络简介
    循环神经网络(Recurrent Neural Network,RNN)是深度学习领域中一类特殊的内部存在自连接的神经网络,可以学习复杂的矢量到矢量的映射。
    循环神经网络是一种以序列(Sequence)数据为输入,在序列的演进方向进行递归(Recursion),且所有节点(循环单元)按链式连接形成闭合回路的递归神经网络(Recursive Neural Network)。
    循环神经网络是为了刻画一个序列当前的输出与之前信息的关系。从网络结构上看,循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出。
    循环神经网络的隐藏层之间的节点是有连接的,隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。对于每一个时刻的输入,循环神经网络会结合当前模型的状态给出一个输出,其可以看作同一神经网络被无限复制的结果。
    闭合回路连接是循环神经网络的核心部分。循环神经网络对于序列中每个元素都执行相同的任务,输出依赖于之前的计算(即循环神经网络具有记忆功能),记忆可以捕获迄今为止已经计算过的信息。循环神经网络在语音识别、语言建模、自然语言处理(Natural Language Processing,NLP)等领域有着重要的应用。
  2. 循环神经网络的结构
    在这里插入图片描述
  3. 常用的循环神经网络
    1.长短期记忆网络(Long Short-Term Memory,LSTM))
    2.门控循环单元神经网络(Gated Recurrent Unit,GRU)

2.5 生成对抗网络

  1. 生成对抗网络简介
    生成对抗网络(Generative Adversarial Networks,GAN)的基本思想是学习训练样本的概率分布。
    生成对抗网络独特的对抗性思想使得它在众多生成网络模型中脱颖而出,被广泛应用于计算机视觉、机器学习和语音处理等领域。
    GAN 过程描述
    GAN 让两个网络(生成网络 G 和判别网络 D)相互竞争,G 不断捕捉训练集中真实样本 xreal 的概率分布,并通过加入随机噪声将其转变成赝品 xfake。D 观察真实样本 xreal和赝品 xfake,判断这个 xfake 到底是不是 xreal。整个对抗过程是先让 D 观察(机器学习)一些真实样本 xreal,当 D 对 xreal 有了一定的认知之后,G 尝试用 xfake 来欺骗D,让 D 相信 xfake 是 xreal。有时候 G 能够成功骗过 D,但是随着 D 对 xreal 了解的加深(即学习的样本数据越来越多),G 发现越来越难以欺骗 D,因此 G 在不断提升自己仿制赝品 xfake 的能力。如此往复多次,不仅 D 能精通 xreal 的鉴别,G 对 xreal的伪造技术也会大为提升。这便是 GAN 的生成对抗过程。
    GAN 优点的简单总结
    (1)能学习真实样本的分布,探索样本的真实结构。
    (2)具有更强大的预测能力。
    (3)样本的脆弱性在很多机器学习模型中普遍存在,而 GAN 对生成样本的鲁棒性强。
    (4)通过 GAN 生成以假乱真的样本,缓解了小样本机器学习的困难。
    (5)为指导人工智能系统完成复杂任务提供了一种全新的思路。
    (6)与强化学习相比,对抗式学习更接近人类的学习机理。
    (7)GAN 与传统神经网络的一个重要区别是,传统神经网络需要人工精心设计和建构一个损失函数,而 GAN 可以学习损失函数。
    (8)GAN 解决了先验概率难以确定的难题。
  2. 生成对抗网络的结构
    在这里插入图片描述
    1.生成网络
    生成网络本质上是一个可微分函数,生成网络接收随机变量 z 的输入,经生成器 G 生成假样本 G(z)。
    生成网络理论上可以逐渐学习任何概率分布,经训练后的生成网络可以生成逼真图像,但又不会和真实图像完全一样,即生成网络实际上是学习了训练数据的一个近似分布,这在数据增强应用方面尤为重要。
    2.判别网络
    在 GAN 中,判别网络的主要目的是判断输入是否为真实样本,并提供反馈以指导生成网络训练。
    判别网络和生成网络组成零和博弈的两个玩家,为取得游戏的胜利,判别网络和生成网络通过训练不断提高自己的判别能力和生成能力,游戏最终会达到一个纳什均衡状态。
  3. 常用的生成对抗网络
    1.条件生成对抗网络
    条件生成对抗网络(Conditional GAN,CGAN)在原始 GAN 的基础上增加了约束条件,控制了 GAN 过于自由的问题,使网络朝着既定的方向生成样本。
    2.深度卷积生成对抗网络
    深度卷积生成对抗网络(Deep Convolutional GAN,DCGAN)的提出对 GAN 的发展有着极大的推动作用,它将 CNN 和 GAN 结合起来,使得生成的图片质量和多样性得到了保证。
    3.循环一致性生成对抗网络
    循环一致性生成对抗网络(Cycle-consistent Generative Adversarial Networks,CycleGAN),CycleGAN 可以让两个域的图像互相转换且不需要成对的图像作为训练数据

2.6 深度学习的应用

深度学习技术目前在人工智能领域占有绝对的统治地位,因为相比于传统的机器学习算法而言,深度学习在某些领域展现出了最接近人类所期望的智能效果,同时在悄悄地走进人们的生活,如刷脸支付、语音识别、智能翻译、自动驾驶、棋类人机大战等。

  1. AlphaGo Zero
  2. 自动驾驶

2.7 深度学习小结

(1)神经网络亦称为人工神经网络,是由大量神经元广泛互连而成的网络,是对人脑的抽象、简化和模拟,神经网络应用了一些人脑的基本特性。
(2)感知机被认为是具有实用价值的重要分类算法之一。
(3)卷积神经网络在神经网络的基础上加入了卷积运算,通过卷积核局部感知图像信息提取其特征,多层卷积之后能够提取出图像的深层抽象特征,凭借这些特征来达到更准确的分类或预测的目标。
(4)循环神经网络是一种以序列数据为输入,在序列的演进方向进行递归,且所有节点(循环单元)按链式连接形成闭合回路的递归神经网络。
(5)生成对抗网络的网络结构由生成网络和判别网络共同构成。生成网络和判别网络可以看作博弈中的两个玩家,在模型训练的过程中,生成网络和判别网络会各自更新自身的参数以使损失最小,通过不断迭代优化,最终达到纳什均衡状态。

三、计算机视觉

3.1 计算机视觉概述

  1. 计算机视觉简介
    计算机视觉(Computer Vision,CV)是机器认知世界的基础,最终的目的是使得计算机能够像人类一样“看懂世界”。
    计算机视觉是从图像或视频中提出符号或数值信息,分析计算该信息以进行目标的识别、检测和跟踪等。更形象地说,计算机视觉就是让计算机像人类一样能看到并理解图像。计算机视觉是一门涉及图像处理、图像分析、模式识别和人工智能等多种技术的新兴交叉学科,具有快速、实时、经济、一致、客观、无损等特点。
    1.计算机视觉的概念
    计算机视觉技术的基本原理是利用图像传感器获得目标对象的图像信号,并传输给专用的图像处理系统,将像素分布、颜色、亮度等图像信息转换成数字信号,并对这些信号进行多种运算与处理,提取出目标的特征信息进行分析和理解,最终实现对目标的识别、检测和控制等。
    2.计算机视觉的特点
    首先,计算机视觉是一个全新的应用方向,而非像预测分析那样只是对原有解决方案的一种改进。
    其次,计算机视觉能够以无障碍的方式改善人类的感知能力。
    最后,计算机视觉能够以远超其他人工智能工具的速度收集训练数据。
  2. 计算机视觉研究的意义
    在采集图像、分析图像、处理图像的过程中,计算机视觉的灵敏度、精确度、快速性都是人类视觉所无法比拟的,它克服了人类视觉的局限性。
  3. 计算机视觉的应用及面临的挑战
    1.智慧医疗领域的应用
    2.公共安全领域的应用
    3.无人机与自动驾驶领域的应用
    4.工业领域的应用
    5.其他领域的应用
  4. 计算机视觉面临的挑战
    (1)有标注的图像和视频数据较少,机器在模拟人类智能进行认知或感知的过程中,需要大量有标注的图像或视频数据指导机器学习其中的一般模式。当前,海量的图像视频数据主要依赖人工标注,不仅费时费力,还没有统一的标准,可用的有标注的数据有限,导致机器的学习能力受限。
    (2)计算机视觉技术的精度有待提高,如在物体检测任务中,当前最高的检测正确率为66%,只能在对正确率要求不是很高的场景下应用。
    (3)计算机视觉技术的处理速度有待提高,图像和视频信息需要借助高维度的数据进行表示,这是让机器看懂图像或视频的基础,对机器的计算能力和算法的效率要求很高。

3.2 图像分类

  1. 图像分类简介
    图像分类是根据不同类别的目标在图像信息中所反映的不同特征,将它们区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或其中的每个像素或区域划分为若干个类别中的某一种,以代替人的视觉判断。
    图像分类的任务就是输入一张图像,正确输出该图像所属的类别。
    图像分类就是寻找一个函数关系,这个函数关系能够将这些像素的数值映射为一个具体的类
    别(类别可以用某个数值表示)。
    图像分类的核心任务是分析一张输入的图像并得到一个给图像分类的标签,标签来自预定义的可能类别集。
  2. 图像分类算法
    1.传统图像分类算法
    完整建立图像识别模型一般包括底层特征提取、特征编码、空间约束、分类器分类等几个阶段。在这里插入图片描述
    2.基于深度学习的图像分类算法
    基于深度学习的图像分类算法的原理是输入一个元素为像素值的数组,并给它分配一个分类标签。
    在这里插入图片描述
    输入是包含 N 张图像的集合,每张图像的标签是 K 种分类标签中的一种。这个集合称为训练集。
    学习即让分类器使用训练集来学习每个类的特征,也叫作训练分类器。
    评价即让分类器来预测它未曾见过的图像的分类标签,对分类器预测的标签和图像真正的分类标签进行对比,并以此来评价分类器的质量。分类器预测的分类标签和图像真正的分类标签一致的情况越多,分类器的质量越好。
    常用的 3 类深度学习模型
    (1)VGG 模型
    (2)GoogLeNet 模型
    (3)残差网络模型

3.3 目标检测

  1. 目标检测简介
    目标检测需要定位出图像目标的位置和相应的类别。由于各类物体有不同的外观、形状、姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。
    目标检测的任务是在图像中找出所有感兴趣的目标(物体),并确定它们的位置和大小,是计算机视觉领域的核心问题之一。
    图像分类任务关心整体,给出的是整张图像的内容描述;而目标检测关注特定的物体目标,要求同时获得该目标的类别信息和位置信息。相比于图像分类,目标检测给出的是对图像前景和背景的理解,算法需要从背景中分离出感兴趣的目标,并确定这一目标的描述(类别和位置)。
    目标检测需要解决目标可能出现在图像的任何位置、目标有不同的大小以及目标可能有不同的形状这 3 个核心问题。
  2. 目标检测框架模型
    深度学习是具有更多隐藏层数的神经网络,它可以学习到机器学习等算法不能学习到的更加深层次的数据特征,能够更加抽象并且准确地表达数据。因此,基于深度学习的各类算法被广泛地应用于目标检测中。
    1.R-CNN
    R-CNN 采用的是选择性搜索(Selective Search)算法,使用聚类的方法对图像进行分组,
    得到多个候选框的层次组。
    2.SPP-NET
    SPP-NET 是在 R-CNN 的基础上提出的,由于 R-CNN 只能接收固定大小的输入图像,
    若对图像进行裁剪以符合要求,则会导致图像信息不完整;若对原始图像进行比例缩放,
    则会导致图像发生形变。
    3.Fast R-CNN
    4.Faster R-CNN
    5.Mask R-CNN
    6.YOLO
    7.YOLO v2
    8.SSD
    等等,不一一列举。

3.4 图像分割

  1. 图像分割简介
    图像分割是图像分析的第一步,是计算机视觉的基础,是图像理解的重要组成部分,也是图像处理中最困难的问题之一。
    图像分割指利用图像的灰度、颜色、纹理、形状等特征,把图像分成若干个互不重叠的区域,并使这些特征在同一区域内呈现相似性,在不同的区域之间存在明显的差异性。此后,可以将分割的图像中具有独特性质的区域提取出来用于不同的研究。简单地说,图像分割就是在一幅图像中,把目标从背景中分离出来。对于灰度图像来说,区域内部的像素一般具有灰度相似性,而在区域的边界上一般具有灰度不连续性。
  2. 图像分割算法
    1.基于阈值的图像分割算法
    这种算法具有易于操作、功能稳定、计算简单高效等优点。其基本原理是根据图像的整体或部分信息选择阈值,依据灰度级别划分图像。
    2.基于边缘检测的图像分割算法
    这种算法的基本原理是通过检测边界来把图像分割成不同的部分。在一张图像中,不同区域的边缘通常是灰度值剧烈变化的地方,这种算法就是根据灰度突变来进行图像分割的。
    其按照执行顺序的差异可分为两种,即串行边缘分割法和并行边缘分割法。其重点是如何权衡检测时的抗噪性能和精度。若提高检测精度,则噪声引起的伪边缘会导致过分割;然而,若提高抗噪性能,则会使得轮廓处的结果精度不高。
    3.基于区域的图像分割算法
    这种算法的基本原理是连通含有相似特点的像素点,最终组合成分割结果。其主要利用图像局部空间信息,能够很好地避免其他算法图像分割空间小的缺陷。
    4.基于神经网络的图像分割算法
    这种算法的基本原理是以样本图像数据来训练多层感知机,得到决策函数,进而用获得的决策函数对图像像素进行分类,得到分割的结果。

3.5 计算机视觉小结

(1)计算机视觉是从图像或视频中提出符号或数值信息,分析计算该信息以进行目标的识别、检测和跟踪等。
(2)图像分类是根据不同类别的目标在图像信息中所反映的不同特征,将它们区分开来的图像处理方法。
(3)目标检测的任务是在图像中找出所有感兴趣的目标(物体),并确定它们的位置和大小。
(4)图像分割是利用图像的灰度、颜色、纹理、形状等特征,把图像分成若干个互不重叠的区域,并使这些特征在同一区域内呈现相似性,在不同的区域之间存在明显的差异性。

四、自然语言处理

4.1 自然语言处理简介

  1. 自然语言处理的定义
    语言是人类智慧的结晶,自然语言处理是指利用计算机对自然语言的形、音、义等信息进行
    处理,它是计算机科学领域和人工智能领域的一个重要的研究方向。
    自然语言处理(Natural Language Processing,NLP)
    自然语言是指人们日常使用的语言,它是随着人类社会不断发展演变而来的,是人类沟通、交流的重要工具,也是人类区别于其他动物的根本标志,没有语言,人类的思维无从谈起。
    自然语言处理是指利用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等的操作和加工。它是计算机科学领域和人工智能领域的一个重要的研究方向,研究用计算机来处理、理解以及运用人类语言,可以实现
    人与计算机的有效交流。
    自然语言处理的具体表现形式包括机器翻译、文本摘要、文本分类、文本校对、信息抽取、语音合成、语音识别等。
  2. 自然语言处理的研究方向
    (1)文字识别
    文字识别借助计算机系统自动识别印刷体或者手写体文字,将其转换为可供计算机处理的电子文本。对于普通的文字识别系统,主要研究字符的图像识别;而对于高性能的文字识别系统,往往需要同时研究语言理解技术。
    (2)语音识别
    语音识别又称自动语音识别,目标是将人类语音中的词汇内容转换为计算机可读的输入。语音识别技术的应用包括语音拨号、语音导航、室内设备控制、语音文档检索、简单的听写数据录入等。
    (3)机器翻译
    (4)自动文摘
    (5)句法分析
    (6)文本分类
    (7)信息检索
    (8)信息获取
    (9)信息过滤
    (10)自然语言生成
    (11)中文自动分词
    (12)语音合成
    (13)问答系统
  3. 自然语言处理的一般工作原理
    计算机处理自然语言的整个过程一般可以概括为 4 部分:语料预处理、特征工程、模型训练
    和指标评价。
    1.语料预处理
    (1)语料清洗,即保留有用的数据,删除噪声数据,常见的清洗方式有人工去重、对齐、删除、标注等。
    (2)分词,即将文本分成词语,如通过基于规则的、基于统计的分词方法进行分词。
    (3)词性标注,即给词语标上词类标签,如名词、动词、形容词等。常用的词性标注方法有基于规则的、基于统计的算法,如最大熵词性标注、HMM 词性标注等。
    (4)去停用词,即去掉对文本特征没有任何贡献作用的字词,如标点符号、语气词、助词等。
    2.特征工程
    3.模型训练
    4.指标评价

4.2 自然语言处理的组成

1.自然语言理解
2.自然语言生成

4.3 自然语言理解

  1. 自然语言理解的层次
    从微观上讲,自然语言理解是指从自然语言到机器内部的映射;
    从宏观上看,自然语言是指机器能够执行人类所期望的某些语言功能。
    自然语言理解中至少有 3 个主要问题
    第一,计算机需要具备大程序量的人类知识,语言动作描述的是复杂世界中的关系,这些关系的知识必须是理解系统的一部分;
    第二,语言是基于模式的,音素构成单词,单词组成短语和句子,音素、单词和句子的顺序不是随机的,没有对这些元素的规范使用,就不可能达成交流;
    第三,语言动作是主体的产物,主体或者是人,或者是计算机,主体处在个体层面和社会层面的复杂环境中,语言动作都是有其目的的。
    自然语言的理解和分析是一个层次化的过程
    1.语音分析
    2.词法分析
    3.句法分析
    4.语义分析
    5.语用分析
  2. 词法分析
    词法分析是理解单词的基础,其主要目的是从句子中切分出单词,找出词汇的各个词素,从中获得单词的语言学信息并确定单词的词义.
  3. 句法分析
    句法是语言在长期发展过程中形成的、全体成员必须共同遵守的规则。
    句法分析也称语法解析,是对句子和短语的结构进行分析,找出词、短语等的相互关系及各自在句子中的作用等,并以一种层次结构加以表达。层次结构可以反映从属关系、直接成分关系,也可以反映语法功能关系。
  4. 语义分析
    句法分析完成后,不等于计算机已经理解了该语句,还需要对语义进行解释。语义分析的任务是把分析得到的句法成分与应用领域中的目标表示相关联,从而确定语言所表达的真正含义或概念。

4.4 自然语言处理面临的问题和展望

  1. 自然语言处理面临的问题
    1.缺乏有效的知识表示和利用手段
    2.缺乏未知语言现象的处理能力
    3.模型缺乏解释性和举一反三的能力
    4.缺乏交互学习和自主进化的能力
    5.单一模态信息处理的局限性
  2. 自然语言处理的展望
    (1)与神经科学密切结合,探索人脑理解语言的神经基础,构建更加精准、可解释、可计算的语义表征和计算方法。
    (2)构建高质量的基础资源和技术平台。
    (3)打通不同模态信息处理的壁垒,构建多模态信息融合的处理方法和模型。

4.5 自然语言处理小结

(1)自然语言处理是指利用计算机对自然语言的形、音、义等信息进行处理,即对字、词、句、篇章的输入、输出、识别、分析、理解、生成等的操作和加工。
(2)计算机处理自然语言的整个过程一般可以概括为语料预处理、特征工程、模型训练和指标评价 4 部分。
(3)自然语言理解是指让计算机能够理解自然语言文本的意义,它可以分为语音分析、词法分析、句法分析、语义分析和语用分析 5 个层次。
(4)自然语言生成是指让计算机按照一定的语法和语义规则生成自然语言文本,通俗来讲,它指对语义信息以人类可读的自然语言形式进行表达。
(5)词法分析的主要目的是从句子中切分出单词,找出词汇的各个词素,从中获得单词的语言学信息并确定单词的词义。
(6)句法分析的作用是确定构成句子的各个词、短语之间的关系以及各自在句子中的作用等,并将这些关系用层次结构加以表达,并规范句法结构。
(7)语义分析的任务是把分析得到的句法成分与应用领域中的目标表示相关联,从而确定语言所表达的真正含义或概念。语义分析的方法主要有语义文法和格文法。
(8)信息检索是信息按一定的方式进行加工、整理、组织并存储起来,并根据用户特定的需要将相关信息准确地查找出来的过程。
(9)机器翻译是让计算机自动将源语言表示的语句转换为目标语言表示语句的过程,它有直译式翻译、中间语言式翻译和转换式翻译 3 种基本模式。统计机器翻译是目前主流的机器翻译方法,分为基于词的统计机器翻译和基于短语的统计机器翻译两种。
(10)情感分析是从评论的文本中提取出评论的实体,以及评论者对该实体所表达的情感倾向和观点。根据处理文本颗粒度的不同,情感分析大致可以分为篇章级、句子级和属性级 3 个级别的任务。
(11)语音识别是将人类语音中的词汇内容转换为计算机可读的输入,一般为可以理解的文本内容或者字符序列。语音识别的基本原理如下:先将经过预处理后的语音信号送入特征提取模块,再利用声学模型和语言模型对语音信号进行特征识别,最后输出识别结果。

五、知识图谱

5.1 知识图谱简介

  1. 知识图谱的定义
    知识图谱(Knowledge Graph)是一种揭示实体之间关系的语义网络。2012 年 5 月 17 日,谷歌正式提出了知识图谱的概念,其初衷是优化搜索引擎返回的结果,增强用户搜索质量及体验。
    知识图谱以结构化的形式描述客观世界中的概念、实体及其关系,将互联网的信息表达成更接近人类认知世界的形式,提供了一种更好地组织、管理和理解互联网海量信息的能力。知识图谱给互联网语义搜索带来了活力,同时在问答系统中显示出了强大作用,已经成为互联网知识驱动的智能应用的基础设施。知识图谱与大数据和深度学习一起,成为推动互联网和人工智能发展的核心驱动力之一。
    知识图谱不是一种新的知识表示方法,而是知识表示在工业界的大规模知识应用,它对互联网中可以识别的客观对象进行关联,以形成客观世界实体和实体关系的知识库,其本质上是一种语义网络,其中的节点代表实体或者概念,边代表实体/概念之间的各种语义关系。知识图谱的架构包括知识图谱自身的逻辑结构,以及构建知识图谱所采用的技术(体系)架构。
  2. . 知识图谱的类型
    1.事实知识
    在描述实体的特定属性或者关系
    2.概念知识
    概念知识分为两类:一类是实体与概念之间的类属关系,另一类是子概念与父概念之间的子类关系。一个概念可能有子概念也可能有父概念,这使得全体概念构成层级体系。概念之间的层级关系是本体定义中最重要的部分,是构建知识图谱的第一步模式设计的重要内容。
    3.词汇知识
    词汇知识主要包括实体与词汇之间的关系(实体的命名、称谓、英文名等)以及词汇之间的关系(同义关系、反义关系、缩略词关系、上下位词关系等)。
    4.常识知识
    常识是人类通过身体与世界交互而积累的经验与知识,是人们在交流时无须言明就能理解的知识。
    常识知识的获取是构建知识图谱时的一大难点。常识的表征与定义、常识的获取与理解等问题一直都是人工智能发展的瓶颈问题。
  3. 知识图谱的重要性
    1.知识图谱是人工智能的重要基石
    2.知识图谱推动智能应用
    3.知识图谱是强人工智能发展的核心驱动力之一
    尽管人工智能依靠机器学习和深度学习取得了快速进展,但是由于严重依赖人类的监督以及大量的标注数据,仍属于弱人工智能范畴,离强人工智能具有较大差距。
    强人工智能的实现需要机器掌握大量的常识性知识,将信息中的知识或者数据加以关联,同时以人类的思维模式和知识结构来进行语言理解、视觉场景解析和决策分析。
    知识图谱技术是由弱人工智能发展到强人工智能的必要条件,对于实现强人工智能有着重要的意义。

5.2 知识表示和知识建模

  1. 知识表示
    知识表示学习主要是面向知识图谱中的实体和关系进行表示学习,使用建模方法将实体和向量表示在低维稠密向量空间中,并进行计算和推理。
    知识表示方法主要分为基于符号的知识表示方法与基于表示学习的知识表示方法。
  2. 知识建模
    目前,知识建模的实际操作过程可分为手工建模方式和半自动建模方式。手工建模方式适用于容量小、质量要求高的知识图谱,但是无法满足大规模的知识构建,是一个耗时、昂贵、需要专业知识的任务;半自动建模方式将自然语言处理与手工方式结合,适用于规模大且语义复杂的知识图谱。

5.3 知识抽取

1.概述
知识抽取指从不同来源、不同结构的数据中进行知识提取,形成知识的过程。

为了提供令用户满意的知识服务,知识图谱不仅要包含其涉及领域已知的知识,还要能及时发现并添加新的知识。

知识的完整性及准确性决定了知识图谱所能提供的知识服务的广度、深度和精度。因此,知识抽取在知识图谱的构建过程中显得尤为重要。

知识抽取往往采用一些自动化的抽取方法从结构化、半结构化和非结构化的信息源中提取出实体、关系、属性等信息,形成三元组或多元组关系。知识抽取的关键技术包括实体抽取、关系抽取和属性抽取。
在这里插入图片描述
2. 实体抽取
实体抽取也被称为命名实体识别(Named Entity Recognition,NER),指从原始数据中自动识别出命名实体。由于实体是知识图谱中最基础的知识要素,关系和属性都与实体息息相关,因此实体的抽取质量直接影响了图谱中知识的质量。

实体抽取的方法主要有基于规则与词典的方法、基于机器学习的方法以及面向开放域的方法。

  • 基于规则与词典的方法主要利用用户手工制定的实体规则和词典,通过匹配的方式在信息
    源中标记出实体;
  • 基于机器学习的方法主要利用统计机器学习的方式对原始数据进行训练,利用训练完成的
    模型进行实体的识别;
  • 面向开放域的方法则主要对海量的 Web 数据中的实体进行分类与聚类。
  1. 关系抽取
    关系抽取的目标是抽取语料中命名实体的语义关系。实体抽取技术会在原始的语料上标记一些命名实体。为了形成知识结构,还需要从中抽取命名实体间的关联信息,从而利用这些信息将离散的命名实体连接起来,这就是关系抽取技术。
  2. 属性抽取
    实体的属性可以使实体对象更加丰满。属性抽取的目的是从多种来源的数据中抽取目标实体的属性内容。实体的属性可以看作连接实体与属性值的关系,因此,在实际应用中,一些学者将属性抽取问题转换为关系抽取问题。

5.4 知识存储

  1. 知识存储概述
    知识存储是针对知识图谱的知识表示形式设计底层存储方式,完成各类知识的存储,以支持对大规模数据的有效管理和计算。

    知识存储的对象包括基本属性知识、关联知识、事件知识、时序知识和资源类知识等。知识存储方式的质量直接影响了知识图谱中知识查询、知识计算及知识更新的效率。

  2. 知识存储方式
    在这里插入图片描述

  3. 知识存储工具
    1.关系数据库
    2.图数据库

5.5 知识融合

  1. 知识融合概述
    知识融合即合并两个知识图谱(本体),基本的问题是研究将来自多个来源的关于同一个实体或概念的描述信息融合起来的方法。
  2. 知识融合过程
    在这里插入图片描述

5.6 知识推理

  1. 知识图谱的表示
    知识图谱中,知识的结构化表示主要有符号表示和向量表示两类方法。早期,常用一阶谓词逻辑(First Order Logic)、语义网络(semantic network)、描述逻辑(Description Logic)和框架系统(Frame System)等基于符号逻辑的知识表示方法。而当前,主要使用基于图数据结构的三元组形式(头实体,关系,尾实体)来符号化地表示知识。
  2. 并行知识推理
    基于符号的知识图谱推理一般是应用推理规则到知识图谱上,通过触发规则的前件来推导出新的实体关系,这里的推理规则可能是知识表示语言所有的,也可能是人工设定或者通过机器学习技术获取的。基于符号的推理虽然有能够提高推理效率的各种优化方法,但是还是跟
    不上数据增长的速度,特别是在数据规模大到目前基于内存的服务器无法处理的情况下。为了应对这一挑战,研究人员开始对描述逻辑和 RDFS 的推理进行并行推进以提升推理的效率和可扩展性,并且取得了很多成果。
    并行推理工作所借助的并行技术分为单机环境下的多核、多处理器技术(多线程、GPU 技术等)和多机环境下基于网络通信的分布式技术(MapReduce 计算框架、Peer-To-Peer 网络框架等)两大类技术。
  3. 实体关系知识推理
    实体关系知识推理的目的是通过统计方法或者神经网络方法,学习知识图谱中实体之间的关系。
    基于表示学习的方法将知识图谱中的实体与关系统一映射至低维连续向量空间,以此来刻画它们的潜在语义特征。通过比较、匹配实体与关系的分布式表示,可以得到知识图谱中潜在成立的实体间的关系。此类方法灵活自由,通常具有较高的计算效率,但可解释性较差,对
    于困难的推理问题往往精度不足。
    基于图特征的方法利用从知识图谱中观察到的图特征来预测一条可能存在的边,代表性工作包括归纳逻辑程序设计、关联规则挖掘、路径排序算法等。此类方法在推理的同时能从知识图谱中自动挖掘推理规则,具备明确的推理机理。然而,图特征的提取效率较低,对于超大规模的知识图谱更是如此。提高效率是基于图特征的方法亟待突破的壁垒。
  4. 模式归纳知识推理
    模式归纳知识推理是从知识图谱中学习本体的模式层信息或丰富已有本体,包括对概念层次、属性层次、不相交公理、属性的值域与定义域和属性或概念的约束等公理的学习。

5.7 知识图谱的应用

  1. 语义搜索
    语义搜索是指搜索引擎的工作不再拘泥于用户所输入请求语句的字面本身,而是透过现象看本质,准确地捕捉到用户的真实意图,并依此来进行搜索,从而更准确地向用户返回最符合其需求的搜索结果。
  2. 问答系统
    问答系统需要理解查询的语义信息,将输入的自然语言转换为知识库中的实体和关系的映射。

5.8 知识图谱小结

(1)知识图谱以结构化的形式描述客观世界中的概念、实体及其关系。
(2)知识表示方法主要分为基于符号的知识表示方法、基于表示学习的知识表示方法。
(3)知识抽取指从不同来源、不同结构的数据中进行知识提取,形成知识的过程。
(4)知识存储是针对知识图谱的知识表示形式设计底层存储方式,完成各类知识的存储,以支持对大规模数据的有效管理和计算。
(5)知识融合的目标是产生新的知识,对松耦合来源中的知识进行集成,构成一个合成的资源,以补充不完全的知识和获取新知识。
(6)知识图谱的推理首先需要考虑的是知识如何表达的问题,即知识图谱的知识表示,它包括基于图结构的表示和相应的逻辑基础,以及基于张量的表示。
(7)语义搜索是指搜索引擎的工作不再拘泥于用户所输入请求语句的字面本身,而是透过现象看本质,准确地捕捉到用户的真实意图,并依此来进行搜索,从而更准确地向用户返回最符合其需求的搜索结果。
(8)知识库问答系统在回答用户问题时,需要正确理解用户所提出的自然语言问题,抽取其中的关键语义信息,在已有单个或多个知识库中通过检索、推理等手段获取答案并返回给用户。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166367.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣(131.93)补9.21

131.分割回文串 又是不会做的一题呢。 代码看起来不难&#xff0c;但想出代码还是很难得。 class Solution { public List<List<String>> partition(String s) { List<List<String>> ansnew ArrayList<>(); List<String> listnew ArrayLis…

Python学习笔记-PyQt6对话框

对话框是界面编程中重要的窗体&#xff0c;一般用于提示或者一些其他特定操作。一、使用QDialog显示通用消息框直接使用QDialog类&#xff0c;可以及通过对话框进行通用对话框显示&#xff0c;亦可以通过自定义设置自己需要的对话框。# _*_ coding:utf-8 _*_import sysfrom PyQ…

自动驾驶专题介绍 ———— 超声波雷达

文章目录介绍工作原理特点常见参数介绍 在汽车碰撞事故中&#xff0c;有大约15%的事故是因为倒车时汽车的后视能力不足引起的&#xff0c;因为增加汽车的后视能力的超声波雷达的研究成为了当下的热点之一。安全避免碰撞的前提是快速准确的测量障碍物于汽车之间的距离。超声波雷…

小白必看!用JMeter+ANT进行接口自动化测试,并生成HTML测试报告

小伙伴们&#xff0c;用python做接口自动化是不是写代码比较繁琐&#xff0c;而且没有python代码基础的小伙伴根本无从下手对吧&#xff01;今天我们来学习一下如何使用JMeter工具实现接口自动化测试。 01 安装 1、安装JDK&#xff0c;配置java环境变量&#xff08;安装过程略…

Win11玩不了红警怎么办?Win11玩不了红警解决方法分享

Win11玩不了红警怎么办&#xff1f;红警是非常耐玩的一款电脑游戏&#xff0c;有用户在电脑上安装这款游戏的时候&#xff0c;发现游戏无法正常的运行&#xff0c;那么这个情况是什么原因导致的呢&#xff1f;接下来我们就一起来看看Win11玩不了红警解决方法分享吧。 Win11玩不…

Java基础学习笔记(十六)—— IO流

IO流1 IO流1.1 IO流概述1.2 IO流的分类1.3 IO流的使用场景2 File类2.1 File类概述2.2 File类构造方法2.3 File类常用方法2.4 File类案例3 字节流3.1 字节流写数据3.2 字节流写数据的三种方式3.3 字节流写数据加异常处理3.4 字节流读数据3.5 字节流复制文件4 字节缓冲流4.1 字节…

String,StringBuilder,StringBuffer源码分析

声明&#xff1a;本文使用JDK1.8 在Java中&#xff0c;对于字符串的操作有这三种&#xff1a;String、StringBuilder、StringBuffer。这三者的效率是&#xff1a;StringBuilder > StringBuffer > String。 String a "abc"; a a "d"; System.out.…

好看的滤镜怎么调?来看看今日的分享

通常我们会将拍完的照片进行美化操作&#xff0c;那么美化照片的一个重要步骤就是添加滤镜了&#xff0c;但该如何给照片加滤镜&#xff0c;却是很多人不知道的&#xff0c;滤镜可不是随随便便添加就好的&#xff0c;它不仅仅需要匹配我们的照片&#xff0c;还得对添加的滤镜参…

Maix Bit(K210)保姆级入门上手教程---外设基本使用

Maix Bit&#xff08;K210&#xff09;保姆级入门上手教程系列 Maix Bit&#xff08;K210&#xff09;保姆级入门上手教程—环境搭建 这是K210快速上手系列文章&#xff0c;主要内容是&#xff0c;介绍K210的基本外设的使用、通过简单介绍一两个基本的硬件使用来掌握K210的外设…

Elasticsearch连续剧之分词器

目录一、前言二、默认分词器三、IK分词器1.主要算法2.安装IK分词器2.1 关闭es服务2.2 上传ik分词器到虚拟机2.3 解压2.4 启动ES服务2.5 测试分词器效果2.6 IK分词器词典四、拼音分词器1.安装2.测试分词效果五、自定义分词器1.创建自定义分词器2.测试一、前言 ES文档的数据拆分…

如何使用OpenDRIVE

文章目录OpenDRIVE Notes#1 前言#2 OpenDRIVE结构#2.1 Road#2.1.1 道路属性#2.1.2 道路联接#2.1.3 参考线#2.2 laneSection#2.3 laneOffset#2.4 junction#2.4.1 路口的联接#2.5 poly3(三次多项式)#3 解析#3.1 数据结构#3.1.1 ID#3.1.2 Point#4 构建topo#5 邻接点#6 路径规划#7 …

计算机图形学实习教程之基本图形的生成(二维图形裁剪Cohen-Sutherland算法+图形平移算法+图形旋转算法),利用C#实现,附源码

环境&#xff1a;Win10Visual Studio 2022 Community 在本次实验中需要用到第一篇文章实验内容的代码及环境&#xff0c;详情请见&#xff1a;传送门 目录 一、实验目的 二、实验步骤 1.Cohen-Sutherland算法 2.平移算法 3.旋转算法 一、实验目的 1.熟练掌握二维图形裁剪…

Java中的包装类

基本数据类型的豪华版---包装类基本数据类型包装类基本数据类型 在我们刚开始学习Java的时候,我们学习的应该就是Java中的八种基本数据类型: byte short int long float double char boolean 当时我们还说过Java是面向对象编程的语言,一切皆对象,但是受到当时知识的限制,我们还…

PHP MySQL 创建数据库

数据库存有一个或多个表。 你需要 CREATE 权限来创建或删除 MySQL 数据库。 使用 MySQLi 和 PDO 创建 MySQL 数据库 CREATE DATABASE 语句用于在 MySQL 中创建数据库。 在下面的实例中&#xff0c;创建了一个名为 "myDB" 的数据库&#xff1a; 实例 (MySQLi - 面…

系分 - 案例分析 - 架构设计(Web架构)

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录案例分析 - 系统设计&#xff08;Web架构&#xff09;Web架构知识点单台机器 到 数据库与Web服务器分离应用服务器集群负载均衡负载均衡技术静态与动态算法Session共享机制有状态与无状态持久化技术ORM数据…

22.Isaac教程--使用 Isaac Sight可视化

使用 Isaac Sight可视化 本节介绍如何使用 Isaac Sight 检查导航堆栈&#xff0c;机器人上当前发生的情况。 Sight 使用 Isaac 节点&#xff0c;该节点运行可在设备上连接的 Web 服务。 通过在 Chrome 网络浏览器中导航到 http://localhost:3000 来启动 Isaac Sight。 &#x…

(详解)java:无效的目标发行版: 11

目录 背景 解决方法 1.打开文件下的Project Structure 如下图&#xff1a; 2. 3. 4.完毕 背景 其实出现问题的真正原因是你下载别人的代码&#xff0c;但是别人的JDK属于java11 或者java9,但是你的为java8 或者更低 解决方法 1.打开文件下的Project Structure 如下图&a…

微信小程序——视图与逻辑,页面导航(导航到 tabBar 页面,导航到非 tabBar 页面)

一.页面导航1.什么是页面导航页面导航指的是页面之间的相互跳转。例如&#xff0c;浏览器中实现页面导航的方式有如下两种&#xff1a;a.< a &#xff1e;链接b.location . href2&#xff0e;小程序中实现页面导航的两种方式声明式导航在页面上声明一个&#xff1c; navigat…

nodejs框架koa,egg以及es6一起学

文章目录前言问题关于ES6-Generatoregg中的处理Promisenode的fsWorksheet Object参考文档前言 大家知道&#xff0c;eggjs框架是基于Koa开发的。关于koa&#xff0c;有一张经典的洋葱图&#xff1a; 这张图比较形象地展示了koa对于request和response的处理。每一层都留下扩展…

【RabbitMQ】高级篇,学习纪录+笔记

目录 一.高级特性 1.1消息的可靠投递 2.1Consumer Ack 3.1消费端限流 4.1TTL 5.1死信队列 6.1延迟队列 7.1日志与监控 7.1.1日志 7.1.2监控 8.1消息追踪 8.1.1Firehose 8.1.2rabbitmq_tracing 9.1消息可靠性保障&#xff08;思路&#xff09; 9.2消息幂等性保障&…