【自然语言处理(NLP)】介绍、发展史

文章目录

  • 介绍
  • 发展史
    • 1. 规则驱动时期(20世纪50年代-80年代)
      • 技术特点
      • 标志性成果
    • 2. 统计方法兴起(1990年代-2000年代)
      • 技术特点
      • 标志性成果
    • 3. 神经网络复兴(2010年代初至今)
      • 技术特点
      • 标志性成果
    • 4. 集成与应用深化(现阶段及未来)
      • 技术特点
      • 标志性趋势
  • ONE HOT
  • TF-IDF
  • N-gram
    • n-gram 的定义
    • n-gram 的应用
    • n-gram 的构建过程
    • 优点与局限
      • 优点
      • 局限
  • 分布式
  • 共现矩阵
    • 共现矩阵的基本概念
    • 构建共现矩阵
    • 应用场景
    • 挑战与改进
  • NNLM
    • NNLM的基本概念
    • 历史发展
    • 应用
    • 挑战
  • word2vec
    • Word2Vec 的工作原理
    • 训练过程
    • 特点和优势
    • 应用实例
    • 限制

个人主页:道友老李
欢迎加入社区:道友老李的学习社区

介绍

自然语言处理(Natural Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究的是人类(自然)语言与计算机之间的交互。NLP的目标是让计算机能够理解、解析、生成人类语言,并且能够以有意义的方式回应和操作这些信息。

NLP的任务可以分为多个层次,包括但不限于:

  1. 词法分析:将文本分解成单词或标记(token),并识别它们的词性(如名词、动词等)。
  2. 句法分析:分析句子结构,理解句子中词语的关系,比如主语、谓语、宾语等。
  3. 语义分析:试图理解句子的实际含义,超越字面意义,捕捉隐含的信息。
  4. 语用分析:考虑上下文和对话背景,理解话语在特定情境下的使用目的。
  5. 情感分析:检测文本中表达的情感倾向,例如正面、负面或中立。
  6. 机器翻译:将一种自然语言转换为另一种自然语言。
  7. 问答系统:构建可以回答用户问题的系统。
  8. 文本摘要:从大量文本中提取关键信息,生成简短的摘要。
  9. 命名实体识别(NER):识别文本中提到的特定实体,如人名、地名、组织名等。
  10. 语音识别:将人类的语音转换为计算机可读的文字格式。

NLP技术的发展依赖于算法的进步、计算能力的提升以及大规模标注数据集的可用性。近年来,深度学习方法,特别是基于神经网络的语言模型,如BERT、GPT系列等,在许多NLP任务上取得了显著的成功。随着技术的进步,NLP正在被应用到越来越多的领域,包括客户服务、智能搜索、内容推荐、医疗健康等。

发展史

自然语言处理(NLP)的发展史可以被分为几个关键阶段,每个阶段都有其特征和标志性成果。以下是NLP发展的一个简要历史概览:

自然语言处理(NLP)的发展史可以分为几个关键时期,每个时期都有其标志性技术和方法的突破。以下是按照时间顺序概述的 NLP 发展历程:

1. 规则驱动时期(20世纪50年代-80年代)

技术特点

  • 符号主义:早期的 NLP 系统主要依赖于手工编写的规则和语法来解析文本。
  • 专家系统:如 ELIZA(1966年),一个简单的聊天机器人,通过模式匹配和模板替换与用户进行对话。
  • 基于语法的分析:例如 Chomsky 的生成语法理论,试图用形式化的规则描述人类语言。

标志性成果

  • Shrdlu(1970年):一个能够理解自然语言指令并与虚拟世界互动的程序。
  • LISP 和 PROLOG:这些编程语言为早期的 AI 和 NLP 研究提供了工具。

2. 统计方法兴起(1990年代-2000年代)

技术特点

  • 数据驱动:开始转向利用统计模型从大量文本数据中学习规律。
  • 机器学习算法:引入了朴素贝叶斯分类器、最大熵模型、支持向量机(SVM)、条件随机场(CRF)等。
  • n-gram 模型:用于语言建模,预测序列中下一个词的概率。

标志性成果

  • 隐马尔可夫模型 (HMM):广泛应用于语音识别和词性标注。
  • IBM Model:一系列翻译模型,推动了统计机器翻译的进步。
  • WordNet:一个英语词汇数据库,促进了语义关系的研究。

3. 神经网络复兴(2010年代初至今)

技术特点

  • 深度学习:循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)等架构成为主流。
  • 词嵌入:Word2Vec(2013年)、GloVe(2014年)等技术将单词映射到连续向量空间,捕捉语义信息。
  • 注意力机制:允许模型聚焦于输入的不同部分,提高了性能。

标志性成果

  • seq2seq 模型:由编码器-解码器结构组成,成功应用于机器翻译。
  • BERT(Bidirectional Encoder Representations from Transformers, 2018年):预训练的语言表示模型,显著提升了多项 NLP 任务的表现。
  • GPT 系列:大规模无监督预训练模型,在多个下游任务上展示了强大的泛化能力。

4. 集成与应用深化(现阶段及未来)

技术特点

  • 多模态融合:结合视觉、音频等多种感知模式,实现更复杂的人机交互。
  • 强化学习:探索在对话系统中的应用,以优化长期奖励为目标。
  • 伦理与透明度:关注模型的公平性、隐私保护以及解释性问题。

标志性趋势

  • 大规模预训练模型:如 T5、ELECTRA 等,进一步增强了模型的能力。
  • 微调与迁移学习:使得预训练模型可以快速适应特定领域或任务。
  • 持续学习:研究如何让模型在不遗忘旧知识的情况下不断学习新知识。

NLP 的发展历程反映了从基于规则的方法逐渐过渡到数据驱动、特别是深度学习主导的方法。随着计算资源的增长和技术进步,NLP 正在变得越来越强大,并且正在越来越多地融入我们的日常生活之中。

ONE HOT

在这里插入图片描述

在这里插入图片描述

  • 优点:开创了文本处理
  • 缺点
    • 对“也”这种高频但无意义的词缺乏处理
    • 纯统计,无前后文关系

TF-IDF

在这里插入图片描述

在这里插入图片描述

  • 优点:解决了高频但无意义的词的处理
  • 缺点:顺序带来的含义问题

在这里插入图片描述

N-gram

n-gram 是一种在自然语言处理(NLP)、概率论和统计学中用于处理文本或语音序列的简单而有效的方法。它基于这样一个假设:一个词(或字符)出现的概率只依赖于它前面的 (n-1) 个词(或字符)。通过这种方式,n-gram 模型可以用来预测下一个可能出现的词,或者计算给定序列的概率。

n-gram 的定义

  • Unigram (1-gram):单个词的频率分布,不考虑上下文。
  • Bigram (2-gram):两个连续词的组合,考虑前一个词的影响。
  • Trigram (3-gram):三个连续词的组合,考虑前两个词的影响。
  • 更高阶的 n-gram:可以扩展到更多的连续词,如四元组、五元组等。

例如,在句子 “I love natural language processing” 中:

  • Unigram 可能是 “I”, “love”, “natural”, “language”, “processing”.
  • Bigram 包括 “I love”, “love natural”, “natural language”, “language processing”.
  • Trigram 则有 “I love natural”, “love natural language”, “natural language processing”.

n-gram 的应用

n-gram 模型广泛应用于多种 NLP 和信息检索任务中,包括但不限于:

  • 语言模型:用于估计一个词序列的概率,这在自动语音识别(ASR)、机器翻译和文本生成等领域非常重要。
  • 拼写纠正:根据上下文来选择最可能的正确单词。
  • 语法检查:识别不符合常规模式的词序列。
  • 信息检索:提高搜索引擎的相关性排序。
  • 文档分类:帮助确定文档的主题或类别。
  • 机器翻译:辅助生成更流畅的目标语言句子。

n-gram 的构建过程

  1. 语料库准备:收集并清理大量文本数据作为训练集。
  2. 分词:将文本分割成单独的词或字符。
  3. 统计频率:计算每个 n-gram 在语料库中出现的次数。
  4. 平滑技术:为了处理未见过的 n-gram 或减少稀疏问题,可以采用诸如加法平滑(Laplace smoothing)、Kneser-Ney 平滑等方法。
  5. 概率估计:使用最大似然估计或其他方法来计算每个 n-gram 的条件概率。

优点与局限

优点

  • 简单直观:易于理解和实现。
  • 高效快速:适合在线处理和实时应用。
  • 无需复杂特征工程:直接从文本中提取特征,减少了预处理的工作量。

局限

  • 上下文窗口有限:只能捕捉局部依赖关系,难以处理长距离依赖。
  • 数据稀疏问题:对于低频 n-gram,可能会遇到零概率的问题。
  • 维度灾难:随着 n 的增加,可能需要极大量的数据来可靠地估计高阶 n-gram 的概率。

尽管存在这些局限,n-gram 模型仍然是许多 NLP 应用程序的基础组成部分,并且在某些场景下表现得非常出色。此外,它们也经常与其他更复杂的模型结合使用,以提升整体性能。
在这里插入图片描述

  • 优点
    • 解决了高频但无意义的词的处理
    • 解决了顺序带来的含义问题
  • 缺点:词表爆炸,参数爆炸

分布式

在这里插入图片描述

  • 优点:存储量小
  • 缺点:规定格式,不现实

共现矩阵

共现矩阵(Co-occurrence Matrix)是自然语言处理和信息检索领域中用于表示词汇项之间共现关系的一种统计工具。它记录了文档集合中词汇项在一定上下文窗口内共同出现的频率。这种矩阵可以用来捕捉词汇之间的语义关联,对于诸如词向量学习、主题建模、推荐系统等任务非常有用。

共现矩阵的基本概念

在一个简单的二元共现矩阵中,每一行和每一列代表一个不同的词汇项,而矩阵中的每个元素则表示对应两个词汇项在同一上下文中同时出现的次数。例如,在给定的一组文本中,“猫”和“狗”这两个词如果经常出现在同一句话或同一个段落里,那么它们对应的矩阵元素就会有一个较高的值。

构建共现矩阵

  1. 定义上下文:首先需要确定如何定义词汇项之间的“共现”。最常见的是使用固定大小的滑动窗口,比如以句子为单位或者设定一个特定长度的单词序列作为上下文范围。

  2. 初始化矩阵:创建一个空矩阵,其行列分别对应于你想要分析的所有词汇项。如果词汇表中有V个不同词汇,则会得到一个VxV的矩阵。

  3. 填充矩阵:遍历整个文档集,每当一对词汇项在预定义的上下文中一起出现时,就增加该对词汇项在矩阵中相应位置的计数。

  4. 归一化(可选):根据具体应用需求,可能需要对矩阵进行归一化处理,例如将每个元素除以总词汇数或文档总数,以便比较不同规模的数据集。

应用场景

  • 词向量学习:如Word2Vec模型利用共现信息来训练词嵌入,通过预测一个词的上下文词或反之,从而捕捉词汇间的语义相似性。

  • 主题建模:共现矩阵可以帮助识别出经常一起出现的词汇群组,这些群组往往反映了潜在的主题或话题。

  • 推荐系统:在商品或内容推荐中,共现矩阵可以用来发现用户兴趣点之间的关联,进而提供个性化推荐。

  • 语义角色标注:在更复杂的NLP任务中,如语义角色标注,共现信息有助于理解句子中不同成分之间的关系。

挑战与改进

尽管共现矩阵是一个强大的工具,但它也有一些局限性,比如稀疏性和高维度问题。随着数据量的增长,矩阵可能会变得非常庞大且大部分元素为零。为此,研究者们提出了各种优化策略,包括降维技术(如奇异值分解SVD)、负采样、以及使用更高效的存储结构等方法来应对这些问题。此外,一些现代的方法,如基于神经网络的语言模型,已经能够直接从原始文本中学习到更加丰富的词汇表征,而无需显式地构建共现矩阵。

在这里插入图片描述
在这里插入图片描述

  • 优点:包含语义信息
  • 缺点:
    • 向量维数随词典大小线性增长,存储困难
    • 数据稀疏
    • 模型欠稳定(共现矩阵size变化,深度学习困难)

SVD降维
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

NNLM

神经网络语言模型(Neural Network Language Model,NNLM)是自然语言处理领域中一种用于预测序列中下一个词的概率分布的模型。与传统的基于n-gram的语言模型不同,NNLM利用了人工神经网络的强大表达能力来捕捉更复杂的语言结构和上下文依赖关系。

NNLM的基本概念

一个典型的NNLM由以下几个部分组成:

  1. 输入层:通常对应于句子或文本片段中的单词。这些单词被转换成独热编码(one-hot encoding)向量表示,每个单词在词汇表中都有唯一的索引位置,该位置对应的元素为1,其余为0。
  2. 嵌入层(Embedding Layer):将高维的独热编码向量映射到低维的稠密向量空间中,即所谓的词嵌入(word embeddings)。这一层能够学习到词汇之间的语义相似性。
  3. 隐藏层:包含一层或多层全连接层(fully connected layers),通过非线性激活函数(如ReLU、sigmoid等)进行特征变换。这些层负责捕捉输入序列中的复杂模式和依赖关系。
  4. 输出层:产生一个概率分布,表示给定前面所有词的情况下,下一个可能出现的词的概率。这通常是通过softmax函数实现的。

历史发展

  • Bengio等人(2003年):提出了一种早期的神经网络语言模型架构,它首次引入了词嵌入的概念,并证明了这种模型可以有效捕捉长距离依赖关系。
  • CBOW和Skip-gram(2013年):由Mikolov等人提出的Word2Vec模型进一步简化了NNLM,分别使用连续词袋模型(Continuous Bag-of-Words, CBOW)和跳字模型(Skip-gram)来进行高效训练。
  • RNN及其变体(LSTM, GRU等):循环神经网络及其改进版本允许更好地处理序列数据,并且能缓解传统前馈神经网络难以捕捉长序列依赖的问题。
  • Transformer(2017年):引入自注意力机制(self-attention mechanism),极大地提升了模型对长距离依赖的建模能力,成为当前最先进的语言模型基础架构之一。

应用

NNLM广泛应用于各种NLP任务,包括但不限于:

  • 机器翻译:构建从源语言到目标语言的映射,提升翻译质量。
  • 语音识别:提高转录准确度,特别是在嘈杂环境或口音变化较大的情况下。
  • 文本生成:例如自动摘要、聊天机器人对话生成等。
  • 情感分析:帮助理解文本的情感倾向,辅助决策制定。

挑战

尽管NNLM带来了显著的进步,但它们也面临着一些挑战:

  • 计算成本:训练大型神经网络需要大量的计算资源和时间。
  • 过拟合风险:如果没有适当的正则化手段,模型可能会过度适应训练数据而泛化能力差。
  • 解释性问题:相比于规则基系统,NNLM往往被视为“黑箱”,难以直观理解其内部运作机制。

随着技术的发展,研究者们不断探索新的方法和技术来克服这些挑战,使得NNLM更加实用和高效。

在这里插入图片描述
在这里插入图片描述

  • 优点:结合上文的深度学习模型
  • 缺点:未结合下文,隐层多,计算量大

word2vec

Word2Vec 是一种用于生成词向量(word embeddings)的流行技术,它通过神经网络模型将词汇表中的每个单词映射到一个低维、稠密的向量空间中。这些向量不仅能够表示单词的语义信息,还能捕捉词汇间的相似性和关系。Word2Vec 模型由 Google 在 2013 年提出,并迅速成为自然语言处理(NLP)领域的一个重要工具。

Word2Vec 的工作原理

Word2Vec 主要基于两个模型架构:

  1. 连续词袋模型 (Continuous Bag-of-Words, CBOW)

    • 输入:上下文词(即目标词周围的词)。
    • 输出:预测中心词。
    • 过程:给定一段文本中的某些词作为上下文,CBOW 模型试图预测位于这些上下文词中间的目标词。换句话说,它根据周围词来猜测当前词是什么。
  2. Skip-gram

    • 输入:单个中心词。
    • 输出:预测上下文词。
    • 过程:与 CBOW 相反,Skip-gram 模型接受一个中心词作为输入,并尝试预测该词周围的多个上下文词。这意味着对于每个输入词,模型会生成一系列输出词的概率分布。

两种模型的核心思想是通过最大化共同出现的词对之间的概率来进行训练,从而使得具有相似上下文的词在向量空间中有相近的位置。

训练过程

  • 负采样(Negative Sampling):为了提高训练效率,Word2Vec 使用了一种称为负采样的技巧。它不是更新所有非目标词的概率,而是随机选择一小部分“负例”进行更新。这大大减少了计算量。
  • 层次化 softmax(Hierarchical Softmax):另一种加速训练的方法是使用层次化 softmax,它构建了一个二叉树结构来代替传统的 softmax 层,降低了每次迭代所需的计算次数。

特点和优势

  • 高效性:相比于以前的方法,如隐狄利克雷分配(LDA),Word2Vec 可以更快速地训练大规模数据集。
  • 捕捉语义关系:生成的词向量可以很好地表示词汇间的语义关系,例如,“king - man + woman ≈ queen”这样的线性关系。
  • 广泛适用性:由于其简单性和有效性,Word2Vec 已被应用于多种 NLP 任务,包括但不限于机器翻译、情感分析、问答系统等。

应用实例

  • 推荐系统:利用词向量捕捉用户兴趣偏好,为用户提供个性化内容推荐。
  • 信息检索:增强搜索引擎的能力,使搜索结果更加精准。
  • 文本分类:帮助理解文档的主题或类别,辅助自动分类。

限制

尽管 Word2Vec 提供了强大的词向量表示方法,但它也有一些局限性:

  • 无法处理多义词:一个单词可能有多个含义,但 Word2Vec 给出的是单一的向量表示,不能区分不同上下文下的不同意义。
  • 依赖于上下文窗口:Word2Vec 只考虑固定大小的上下文窗口内的词,可能忽略了更广泛的上下文信息。
  • 静态词嵌入:对于同一个词,无论出现在什么位置,Word2Vec 都会产生相同的向量表示,这在某些情况下可能不够灵活。

随着深度学习的发展,后续出现了更多先进的词嵌入方法,比如 ELMo、BERT 等,它们能够动态地生成基于上下文的词向量,进一步提升了 NLP 任务的表现。不过,Word2Vec 仍然是理解和入门词向量概念的重要起点。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 优点:速度快,计算量小,cpu上就能跑
  • 缺点:全局信息不足,多义词问题未解决

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【书籍连载】《软件测试架构实践与精准测试》| 川模型的价值

各位软件领域的精英们,今天小编邀请你继续深入学习《软件测试架构实践与精准测试》。 《软件测试架构实践与精准测试》是作者李龙(安畅检测首席技术专家)基于软件测试“川模型”的著作。本书结合作者首次提出的软件测试新的模型“川模型”测试…

RPC是什么?和HTTP区别?

RPC 是什么?HTTP 是什么? 作为一个程序员,假设我们需要从A电脑的进程发送一段数据到B电脑的进程,我们一般会在代码中使用 Socket 进行编程。 此时,可选性一般就是 TCP 和 UDP 二选一,由于 TCP 可靠、UDP…

08.七种排序算法实现(C语言)

目录 一.排序的基本概念 1.1 排序的概念 1.2 常见的排序算法 二.常见排序算法的实现 2.1 插入排序(直接) 1.基本思想 2.直接插入排序的特性 3.代码实现 2.2 希尔排序 1.基本思想 2.希尔插入排序的特性 3.代码实现 2.3 选择排序 1.基本思想 2…

Jmeter使用Request URL请求接口

简介 在Jmeter调试接口时,有时不清楚后端服务接口的具体路径,可以使用Request URL和cookie来实现接口请求。以下内容以使用cookie鉴权的接口举例。 步骤 ① 登录网站后获取具体的Request URL和cookie信息 通过浏览器获取到Request URL和cookie&#…

Apache Tomcat文件包含漏洞复现(详细教程)

1.漏洞原理 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,其安装后会默认开启ajp连接器,方便与其他web服务器通过ajp协议进行交互。属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发…

fpga学习入门 串口rs232回环

奇偶检验位这里是省略了 做好回环后可以使用上位机做回环测试,top文件写的方式就是将rx(fpga端)接受到的模块(pc端)tx发送出去,这两个端口用杜邦线连接,同理模块的rx连接fpga的tx,…

KETTLE-SAP抽数报错RFC_ERROR_SYSTEM_FAILURE

KETTLE调SAP 合并ECCS相关的函数时报错 2025/01/23 17:56:02 - SAP input.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-342 from 2018-11-14 10.30.55 by buildguy) : Unexpected error 2025/01/23 17:56:02 - SAP input.0 - ERROR (version 8.2.0.0-342, build 8.2.0.0-3…

HTTP 配置与应用(局域网)

想做一个自己学习的有关的csdn账号,努力奋斗......会更新我计算机网络实验课程的所有内容,还有其他的学习知识^_^,为自己巩固一下所学知识,下次更新HTTP 配置与应用(不同网段)。 我是一个萌新小白&#xf…

C++AVL树(一)详解

文章目录 AVL树概念AVL树的插入平衡因子的更新旋转的规则左单旋右单旋抽象的情况h0h1h 2h 3 AVL树 概念 AVL树是一棵平衡二叉查找树,AVL树是空树,保证左右子树都是AVL树,AVL树要求高度差的绝对值不超过1,因为最好情况是1&#…

MCP Server 开发实战:无缝对接 LLM 和 Elasticsearch

在一文带你入门 MCP(模型上下文协议)文章中,我们快速介绍了 MCP 的基本概念,并且通过一个示例让读者初步感受到了 MCP 的强大能力。本文将进一步深入,带领读者一步步学习如何开发一个完整的 MCP Server。本文的完整代码…

Kubernetes v1.28.0安装dashboard v2.6.1(k8s图形化操作界面)

准备工作 Kubernetes v1.28.0搭建教程请参考:Kubernetes v1.28.0集群快速搭建教程-CSDN博客 查看当前集群nodes都是ready状态 查看当前pods都是running状态 下载并修改配置文件 下载 recommended.yaml ,下载好之后,进入文件编辑 下载地址…

设计模式的艺术-职责链模式

行为型模式的名称、定义、学习难度和使用频率如下表所示: 1.如何理解职责链模式 最常见的职责链是直线型,即沿着一条单向的链来传递请求。链上的每一个对象都是请求处理者,职责链模式可以将请求的处理者组织成一条链,并让请求沿着…

通过脚本申请免费SSL证书(泛解析SSL证书)

参考来源 1.https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E 2.https://github.com/acmesh-official/acme.sh/wiki/dns-manual-mode 3.https://github.com/acmesh-official/acme.sh/wiki/dnsapi 安装 acme.sh 配置账号 配置默认CA 安装依赖 # Cento…

CrypTen项目实践

CrypTen是一个用于安全多方计算(MPC)的python库,基于PyTorch构建。 CrypTen facebookresearch/CrypTen: A framework for Privacy Preserving Machine Learning 目录 一、实践准备 二、实践操作 1.下载WSL 2.下载代码 3.创建虚拟环境&…

【CS61A 2024秋】Python入门课,全过程记录P3(Week5 Sequences开始,更新于2025/1/23)

文章目录 关于基本介绍👋新的问题Week5Mon Sequences阅读材料 关于 个人博客,里面偶尔更新,最近比较忙。发一些总结的帖子和思考。 江湖有缘相见🤝。如果读者想和我交个朋友可以加我好友(见主页or个人博客&#xff0…

Jenkins-基于Role的鉴权机制

jenkins自带了一些全局性的安全配置。 但无法通过job等相对细粒度的来控制使用者的权限。但它可以借助相关的插件实现细颗粒的权限控制。 插件: Role-based Authorization Strategy 需要在configure global security中配置授权策略如下: 保存后&#x…

SSM开发(一)JAVA,javaEE,spring,springmvc,springboot,SSM,SSH等几个概念区别

目录 JAVA 框架 javaEE spring springmvc springboot SSM SSH maven JAVA 一种面向对象、高级编程语言,Python也是高级编程语言;不是框架(框架:一般用于大型复杂需求项目,用于快速开发)具有三大特性,所谓Jav…

Linux——入门基本指令汇总

目录 1. ls指令2. pwd3. whoami指令4. cd指令5. clear指令6. touch指令7. mkdir指令8. rm指令9. man指令10. cp指令11. mv指令12. cat指令13. tac指令14. more指令15. less指令16. head指令17. tail指令18. date指令19. cal指令20. find指令21. which指令22. alias指令23. grep…

基于SpringBoot+Vue的旅游管理系统【源码+文档+部署讲解】

系统介绍 基于SpringBootVue实现的旅游管理系统采用前后端分离架构方式,系统设计了管理员、用户两种角色,系统实现了用户登录与注册、个人中心、用户管理、景点信息管理、订票信息管理、用户评价管理、景点咨询、轮播图管理等功能。 技术选型 开发工具…

光学遥感显著性目标检测2023-2024论文学习

GRSL 2023: Attention-Aware Three-Branch Network for Salient Object Detection in Remote Sensing Images 基于encoder-decoder框架,提出了一系列缝合模块,GCA,FDUC,MSDC,RA。 GRSL 2023:OR…