一文详解自然语言处理两大任务与代码实战:NLU与NLG

news2025/2/14 3:05:57

目录

  • 1. 自然语言处理定义
    • NLP的定义和重要性
    • NLP的主要挑战
  • 2. 基础模型
    • 语言模型
      • 统计语言模型
        • n-gram模型
      • 连续词袋模型
  • 3. 基础概念
    • 词向量
      • Word2Vec
        • Skip-Gram
      • GloVe
      • FastText
        • 1. 子词表示
        • 2. 词向量训练
        • 3. 文本分类
        • 4. 预训练模型
  • 4. 文本预处理
    • 分词
    • 去除停用词
    • 词干提取和词形还原
    • 文本编码
  • 5. 自然语言理解
    • 依存句法分析
    • 语义角色标注
      • 语义角色
      • SRL的应用
      • 代码示例
    • 实体识别
    • 情感分析
      • 1. 情感分析的应用
      • 2. 情感分析方法
      • 3. 代码示例
  • 6. 自然语言生成
    • 文本模板生成
    • 基于规则的生成
      • 1. 基于规则的生成的应用
      • 2. 基于规则的生成的优点与缺点
      • 3. 代码示例
    • 统计语言模型
    • 序列到序列模型
    • 使用预训练语言模型
  • 7. 总结

自然语言处理(NLP)涵盖了从基础理论到实际应用的广泛领域,本文深入探讨了NLP的关键概念,包括词向量、文本预处理、自然语言理解与生成、统计与规则驱动方法等,为读者提供了全面而深入的视角。

作者 TechLead,拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人

1. 自然语言处理定义

file

自然语言处理(NLP)是一门交叉学科领域,涵盖了计算机科学、人工智能、语言学等多个学科。它旨在使计算机能够理解、解释和生成人类语言的方式,从而创建与人类之间的自然、无缝的交互。

NLP的定义和重要性

自然语言处理的主要任务是让计算机能够像人类一样理解和生成自然语言。它能够让机器读懂人类的语言,使得人们与计算机的交互更加自然流畅。这不仅可以大大提高人机交互的效率,而且也为许多行业如客服、医疗、教育等提供了极大的便利。

NLP的主要挑战

  1. 歧义解析:自然语言充满了歧义,同一句话在不同的上下文中可能有完全不同的含义。
  2. 语法复杂性:不同的语言有各自复杂的语法规则,理解这些规则并将其转化为机器可理解的结构是一大挑战。
  3. 多样性与不规则性:语言随着文化和地区的不同而有很大的多样性,还包括许多不规则的用法和例外情况。

2. 基础模型

语言模型

语言模型是自然语言处理中的核心概念之一。它描述了语言的统计属性,能够评估一个句子在给定语言中的可能性。下面我们将详细介绍几种主要的语言模型,并通过理论解释和代码示例来展现它们的工作原理。

统计语言模型

统计语言模型(Statistical Language Models, SLM)是一种利用概率和统计理论来表示文本中词汇、短语和句子的相对频率的模型。SLM在许多自然语言处理任务中都有应用,如语音识别、文本生成、机器翻译等。

n-gram模型

file

n-gram模型是一种常见的SLM,其中n表示窗口内的词数。以下是一个使用Python的例子来展示n-gram的基本概念。

from collections import Counter
from nltk.util import ngrams

text = "自然语言处理是人工智能的一个重要方向。"
tokens = text.split()
bigrams = ngrams(tokens, 2)
bigram_freq = Counter(bigrams)

# 输出
# Counter({('自然语言', '处理'): 1, ('处理', '是'): 1, ...})

n-gram模型通过统计每个n-gram出现的频率来估计其概率。虽然n-gram模型可以捕捉一些局部依赖性,但它并不能很好地理解句子的长距离依赖关系。

连续词袋模型

连续词袋模型(CBOW)是一种神经网络语言模型,它试图根据上下文词来预测当前词。CBOW通过嵌入层将词转化为向量,然后通过隐藏层来捕捉上下文信息。

以下是一个简单的CBOW模型的PyTorch实现:

import torch
import torch.nn as nn

class CBOW(nn.Module):
    def __init__(self, vocab_size, embed_dim):
        super(CBOW, self).__init__()
        self.embeddings = nn.Embedding(vocab_size, embed_dim)
        self.linear1 = nn.Linear(embed_dim, 128)
        self.linear2 = nn.Linear(128, vocab_size)

    def forward(self, inputs):
        embeds = sum(self.embeddings(inputs))
        out = torch.relu(self.linear1(embeds))
        out = self.linear2(out)
        return out

连续词袋模型通过捕捉词之间的相互关系来理解句子的结构。与n-gram模型相比,CBOW可以捕捉更复杂的语义关系。

当然,下面我们将继续深入探讨自然语言处理中的基础概念之一:词向量。

3. 基础概念

词向量

file

词向量,也被称为词嵌入,是自然语言处理中的关键概念。它通过将词映射到连续的向量空间中,使得机器能够捕捉词之间的相似性和语义关系。接下来我们将详细介绍几种主要的词向量模型。

Word2Vec

Word2Vec是一种流行的词嵌入方法,通过无监督学习从大量文本中学习词向量。Word2Vec包括Skip-Gram和CBOW两种架构。

Skip-Gram

Skip-Gram模型通过当前词来预测周围的上下文词。以下是一个简化的Skip-Gram模型的PyTorch实现:

class SkipGram(nn.Module):
    def __init__(self, vocab_size, embed_dim):
        super(SkipGram, self).__init__()
        self.in_embeddings = nn.Embedding(vocab_size, embed_dim)
        self.out_embeddings = nn.Embedding(vocab_size, embed_dim)

    def forward(self, target, context):
        in_embeds = self.in_embeddings(target)
        out_embeds = self.out_embeddings(context)
        scores = torch.matmul(in_embeds, out_embeds.t())
        return scores

GloVe

GloVe(Global Vectors for Word Representation)是另一种流行的词嵌入方法,它通过统计共现矩阵并对其进行分解来获取词向量。

以下是一个GloVe模型的简化实现:

class GloVe(nn.Module):
    def __init__(self, vocab_size, embed_dim):
        super(GloVe, self).__init__()
        self.embeddings = nn.Embedding(vocab_size, embed_dim)
        self.context_embeddings = nn.Embedding(vocab_size, embed_dim)
        self.bias = nn.Embedding(vocab_size, 1)
        self.context_bias = nn.Embedding(vocab_size, 1)

    def forward(self, target, context):
        target_embeds = self.embeddings(target)
        context_embeds = self.context_embeddings(context)
        target_bias = self.bias(target)
        context_bias = self.context_bias(context)

        dot_product = (target_embeds * context_embeds).sum(1)
        logits = dot_product + target_bias.squeeze() + context_bias.squeeze()
        return logits

FastText

FastText是由Facebook AI Research (FAIR)团队开发的一种词向量和文本分类模型。与Word2Vec等模型相比,FastText的主要特点是考虑了词内的子词信息。这一特性使其在许多语言和任务上都表现优异。

1. 子词表示

FastText通过将每个词分解为字符n-grams来捕捉词内结构信息。例如,对于单词“apple”,其3-grams包括"app"、“ppl”、"ple"等。这种子词表示有助于捕捉形态学信息,特别是在形态丰富的语言中。

2. 词向量训练

下面的代码使用Gensim库训练FastText模型,并展示如何使用训练后的模型。

from gensim.models import FastText

# 示例句子
sentences = [["natural", "language", "processing"],
             ["language", "model", "essential"],
             ["fasttext", "is", "amazing"]]

# 训练模型
model = FastText(sentences, vector_size=100, window=5, min_count=1, workers=4)

# 获取单词"language"的向量
vector_language = model.wv["language"]

# 找到最相似的单词
similar_words = model.wv.most_similar("language")

# 输出:
# [('natural', 0.18541546112537384), ('model', 0.15876708467006683), ...]

3. 文本分类

FastText还提供了一种高效的文本分类方法。与许多深度学习模型不同,FastText在文本分类任务上的训练非常快速。

4. 预训练模型

与Word2Vec一样,也有许多针对特定语言和领域的预训练FastText模型。这些模型可用于各种自然语言处理任务。

4. 文本预处理

文本预处理是自然语言处理任务的基础阶段,它涉及将原始文本转换为适合机器学习模型处理的格式。这个过程通常包括以下几个主要步骤。

分词

分词是将文本划分为单词或符号的过程。这一步骤可能会涉及特定语言的复杂规则。

例如,使用Python的nltk库进行英文分词:

from nltk.tokenize import word_tokenize

text = "Natural Language Processing is fascinating."
tokens = word_tokenize(text)

# 输出
# ['Natural', 'Language', 'Processing', 'is', 'fascinating', '.']

去除停用词

停用词是在文本中频繁出现但通常对分析没有太大意义的词汇,如“the”、“is”等。去除它们可以减少数据的噪声。

from nltk.corpus import stopwords

stop_words = set(stopwords.words('english'))
filtered_tokens = [w for w in tokens if w not in stop_words]

# 输出
# ['Natural', 'Language', 'Processing', 'fascinating', '.']

词干提取和词形还原

词干提取是将词汇还原为其基本形态(或词干)。词形还原则考虑了词的词性,并将词还原为其基本形态。

from nltk.stem import PorterStemmer
from nltk.stem import WordNetLemmatizer

stemmer = PorterStemmer()
lemmatizer = WordNetLemmatizer()

stemmed = [stemmer.stem(word) for word in filtered_tokens]
lemmatized = [lemmatizer.lemmatize(word) for word in filtered_tokens]

# 输出
# stemmed: ['natur', 'languag', 'process', 'fascin', '.']
# lemmatized: ['Natural', 'Language', 'Processing', 'fascinating', '.']

文本编码

文本编码是将文本转换为数字形式,以便机器学习模型可以处理。常见的方法有词袋模型、TF-IDF编码等。

from sklearn.feature_extraction.text import TfidfVectorizer

vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform([text])

# 输出: X是一个稀疏矩阵,包含TF-IDF编码的文本

5. 自然语言理解

file
自然语言理解是一项使计算机理解、解释和响应人类语言的技术。这不仅涉及单纯的语法分析,还包括深层次的语义、情感、语境和意图分析。下面我们将详细探讨自然语言理解的几个关键方面。

依存句法分析

依存句法分析是分析句子中单词之间的语法关系,例如主语和动词之间的关系。这有助于理解句子的结构和意义。

例如,使用Spacy进行依存句法分析:

import spacy

nlp = spacy.load("en_core_web_sm")
doc = nlp("Natural Language Processing is fascinating.")

for token in doc:
    print(token.text, token.dep_, token.head.text)

# 输出:
# Natural amod Processing
# Language compound Processing
# Processing nsubj fascinating
# is aux fascinating
# fascinating ROOT fascinating
# . punct fascinating

语义角色标注

语义角色标注是一种分析句子中谓词与其相关论元(如主语、宾语等)之间语义关系的任务。简而言之,它试图理解句子的“谁做了什么给谁”。

语义角色

在SRL中,通常考虑以下几种主要的语义角色:

  • Agent(施事者)
  • Theme(主题)
  • Goal(目的地)
  • Instrument(工具)
  • ……等

SRL的应用

语义角色标注广泛应用于问答系统、信息抽取、机器翻译等任务,因为它有助于理解句子的深层含义。

代码示例

我们可以使用AllenNLP库进行语义角色标注。下面的代码加载了预训练的模型并运用于示例句子。

from allennlp.predictors.predictor import Predictor
import allennlp_models.structured_prediction

# 加载预训练模型
predictor = Predictor.from_path("https://storage.googleapis.com/allennlp-public-models/bert-base-srl-2020.11.19.tar.gz")

# 示例句子
sentence = "John gave a book to Mary."

# 进行语义角色标注
result = predictor.predict(sentence=sentence)

# 输出结果
for word, tag in zip(result["words"], result["verbs"][0]["tags"]):
    print(f"{word}: {tag}")

# 输出:
# John: B-ARG0
# gave: B-V
# a: B-ARG1
# book: I-ARG1
# to: B-ARG2
# Mary: I-ARG2
# .: O

这里的B-ARG0, B-ARG1等标签代表了不同的语义角色,其中B-I-分别表示角色的开始和内部。

实体识别

实体识别是确定文本中提到的命名实体,如人名、地点、组织等,并将它们分类为预定义的类别。

for ent in doc.ents:
    print(ent.text, ent.label_)

# 输出:
# Natural Language Processing ORG

当然,情感分析是自然语言处理中的一个广泛应用领域。下面是对情感分析的详细介绍以及相关代码示例。

情感分析

情感分析是分析文本作者情感倾向的过程,通常用于分析社交媒体、评论、意见等文本的情感色彩。情感可以分为正面、负面、中性或更复杂的情感类型。

1. 情感分析的应用

  • 产品评论分析: 帮助企业理解客户对产品或服务的感受。
  • 舆情监控: 监测公共对特定话题或品牌的情感态度。
  • 情感聊天机器人: 使聊天机器人能够理解并回应人类用户的情感。

2. 情感分析方法

  • 基于词典: 使用情感词典,将文本中的单词与其情感评分关联。
  • 机器学习方法: 使用有标签的数据集训练模型,如SVM、随机森林等。
  • 深度学习方法: 利用神经网络,如CNN、LSTM进行情感分类。

3. 代码示例

下面是使用PyTorch构建一个简单的LSTM模型进行情感分析的代码示例。

import torch
import torch.nn as nn

class SentimentLSTM(nn.Module):
    def __init__(self, vocab_size, output_size, embedding_dim, hidden_dim, n_layers):
        super(SentimentLSTM, self).__init__()
        self.embedding = nn.Embedding(vocab_size, embedding_dim)
        self.lstm = nn.LSTM(embedding_dim, hidden_dim, n_layers, batch_first=True)
        self.fc = nn.Linear(hidden_dim, output_size)
        self.sigmoid = nn.Sigmoid()

    def forward(self, x):
        embedded = self.embedding(x)
        lstm_out, _ = self.lstm(embedded)
        lstm_out = lstm_out.contiguous().view(-1, hidden_dim)
        output = self.fc(lstm_out)
        sig_out = self.sigmoid(output)
        return sig_out

# 示例参数
vocab_size = 1000
output_size = 1
embedding_dim = 400
hidden_dim = 256
n_layers = 2

model = SentimentLSTM(vocab_size, output_size, embedding_dim, hidden_dim, n_layers)

# 示例输入
input_text = torch.randint(0, vocab_size, (1, 10))

# 情感预测
output = model(input_text)

# 输出情感分析结果
print(output)  # 值越接近1表示正面,越接近0表示负面

6. 自然语言生成

file

自然语言生成是一个复杂的过程,其中计算机系统使用算法来创建类似人类的文字描述。NLG是许多应用的关键组成部分,包括聊天机器人、报告生成和更复杂的创造性任务。以下是自然语言生成的几个关键方面。

file

文本模板生成

文本模板生成是一种基本的自然语言生成技术,通过填充预定义模板来创建文本。

template = "Today's weather in {city} is {weather} with a temperature of {temperature} degrees."
text = template.format(city="New York", weather="sunny", temperature=25)

# 输出: "Today's weather in New York is sunny with a temperature of 25 degrees."

当然!基于规则的生成在自然语言生成(NLG)中起着关键作用,特别是在结构化的或领域特定的场景中。下面是基于规则的生成的详细介绍和代码示例。

基于规则的生成

基于规则的生成是一种使用预定义规则和模板来生成文本的方法。与基于数据驱动的机器学习方法不同,基于规则的方法不需要训练数据。它通常在具有清晰结构和限制范围的任务中非常有效。

1. 基于规则的生成的应用

  • 报告生成: 如天气报告、财务摘要等。
  • 领域特定对话系统: 如餐厅预订、客服等领域的对话系统。
  • 教育软件: 用于生成练习题、测试等。

2. 基于规则的生成的优点与缺点

  • 优点: 不需要训练数据;可解释性强;可以精确控制输出。
  • 缺点: 缺乏灵活性;手动创建规则可能很复杂;难以扩展到复杂和开放领域的任务。

3. 代码示例

下面的Python代码示例展示了如何使用简单的规则生成天气报告。

import random

def generate_weather_report(city, temperature, weather_condition):
    templates = [
        f"The weather in {city} today is {weather_condition} with a temperature of {temperature}°C.",
        f"In {city}, expect {weather_condition} conditions with temperatures around {temperature}°C.",
        f"If you're in {city}, you'll experience {weather_condition} weather with temperatures at {temperature}°C."
    ]
    
    # 随机选择一个模板
    return random.choice(templates)

# 示例输入
city = "New York"
temperature = 22
weather_condition = "sunny"

# 生成报告
report = generate_weather_report(city, temperature, weather_condition)
print(report)  # 输出: "In New York, expect sunny conditions with temperatures around 22°C."

统计语言模型

统计语言模型使用文本的统计特性来生成新的文本。n-gram模型是这种方法的一个例子,其中n表示文本中连续出现的单词数量。

序列到序列模型

序列到序列(Seq2Seq)模型可以用于更复杂的文本生成任务,如机器翻译和摘要生成。以下是使用PyTorch实现Seq2Seq模型的示例。

import torch
import torch.nn as nn

class Seq2Seq(nn.Module):
    def __init__(self, encoder, decoder):
        super(Seq2Seq, self).__init__()
        self.encoder = encoder
        self.decoder = decoder

    def forward(self, source, target):
        # 编码源序列
        encoder_outputs, hidden = self.encoder(source)
        # 解码生成目标序列
        output = self.decoder(target, hidden, encoder_outputs)
        return output

# 输出: Seq2Seq模型可用于任务如机器翻译

使用预训练语言模型

预训练语言模型,如GPT系列模型,已经在自然语言生成方面取得了显著成功。这些模型通过在大型文本语料库上进行预训练,捕捉了丰富的语言结构和知识。

7. 总结

自然语言处理不仅是一门具有挑战性的科学,还是一项充满潜力的技术,能够推动许多行业和应用的发展。从理论到实践,本文提供了对NLP核心概念和方法的全面视角,旨在为研究人员、工程师和爱好者提供深入而完整的理解。无论是在商业、教育还是娱乐领域,自然语言处理都是连接人类和计算机的重要桥梁,其前景和影响将持续深远。

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

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

相关文章

R语言的物种气候生态位动态量化与分布特征模拟实践技术

在全球气候快速变化的背景下,理解并预测生物种群如何应对气候变化,特别是它们的地理分布如何变化,已经变得至关重要。利用R语言进行物种气候生态位动态量化与分布特征模拟,不仅可以量化描述物种对环境的需求和适应性,预…

2021年09月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题:数字判断 输入一个字符,如何输入的字符是数字,输出yes,否则输出no 输入 一个字符 输出 如何输入的字符是数字,输出yes,否则输出no 样例1输入 样例1输入 5 样例1输出 yes 样例2输入 A 样例2输出 no 下…

工程优化问题之三杆桁架设计研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【UniApp开发小程序】小程序首页(展示商品、商品搜索、商品分类搜索)【后端基于若依管理系统开发】

文章目录 界面效果界面实现工具js页面首页让文字只显示两行路由跳转传递对象将商品分为两列显示使用中划线划掉原价 后端商品controllerservicemappersql 界面效果 【说明】 界面中商品的图片来源于闲鱼,若侵权请联系删除关于商品分类页面的实现,请在我…

JVM——Java 内存区域详解

文章目录 写在前面 (常见面试题)基本问题拓展问题 一 概述二 运行时数据区域2.1 程序计数器2.2 Java 虚拟机栈2.3 本地方法栈2.4 堆2.5 方法区2.5.1 方法区和永久代的关系2.5.2 常用参数2.5.3 为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢? 2.6 运行时常量池2.7 直…

DP(背包模型)

求方案数初始化总结 二维 1.体积至多是 j f[0][i]1 (0<i<m) 其余为 0 &#xff08;因为体积是至多是j 它可以小于j f[0][0]1 是肯定的 f[0][i] 这当中 i也可以包括0 一定要get到至多 即便不选物品 f[0][i]也是 1 它可以包含f[0][0]) 2.体积恰好是 j f[0][0]1 其余都…

MATLAB | 绘图复刻(十一) | 截断的含散点及误差棒的分组柱状图

hey大家好久不见&#xff0c;本期带来一篇绘图复刻&#xff0c;居然已经出到第11篇了&#xff0c;不知道有朝一日有没有机会破百&#xff0c;本期绘制的是《PNAS》期刊中pnas.2200057120文章的figure03&#xff0c;文章题目为Intranasal delivery of full-length anti-Nogo-A a…

SaaS BI数据可视化工具:免下载安装,登录即分析

之前有人问我&#xff0c;说&#xff1a;“BI数据可视化工具总是要下载安装&#xff0c;过程繁琐&#xff0c;没点IT基础的人也不太搞得定&#xff0c;有没有不用下载安装就能用的数据可视化工具&#xff1f;”答案当然是有的&#xff0c;那就是SaaS BI数据可视化工具。 SaaS …

并发——AQS原理以及AQS同步组件总结

文章目录 1 AQS 简单介绍2 AQS 原理2.1 AQS 原理概览2.2 AQS 对资源的共享方式2.3 AQS 底层使用了模板方法模式 3 Semaphore(信号量)-允许多个线程同时访问4 CountDownLatch &#xff08;倒计时器&#xff09;4.1 CountDownLatch 的两种典型用法4.2 CountDownLatch 的使用示例4…

生信豆芽菜-箱线图使用说明

网站&#xff1a;http://www.sxdyc.com/visualsBoxplot 一、使用方法 1.打开网址&#xff08;http://www.sxdyc.com/singleCollectionTool?href-diff&#xff09;&#xff0c;选择“箱线图”。 准备数据&#xff1a; 第一个文件为特征的表达文件&#xff0c;第一列为样本&am…

机器人CPP编程基础-05完结The End

非常不可思议……之前四篇博文竟然有超过100的阅读量…… 此文此部分终结&#xff0c;没有继续写下去的必要了。 插入一个分享&#xff1a; 编程基础不重要了&#xff0c;只要明确需求&#xff0c;借助AI工具就能完成一个项目。 当然也不是一次成功&#xff0c;工具使用也需要…

PP模块生产过程检验(工序检验)

质量检验是在一些情形下对物料进行检查的一个操作,用于检验物料是否符合标准。 1.常见检验类型: (1)进货检验(Incoming material Quality Check,IQC) (2) 生产过程检验(In Process Quality Check,IQPC) (3) 最终检验/产品检验(Final Quality Check,FQC) (4)出…

【产品应用】一体化步进伺服电机在自动液体处理工作站中的应用

随着工业自动化的快速发展&#xff0c;自动液体处理工作站在医药、食品、化工等领域中发挥着越来越重要的作用。一体化步进伺服电机作为一种高集成的驱动元件&#xff0c;具有高精度、高速度和高稳定性的特点&#xff0c;被广泛应用于自动液体处理工作站中。本文将详细介绍一体…

同源建模-build loop

对于有残基缺失的晶体结构往往采用同源建模的方式补全&#xff0c;但常规的同源建模方法往往造成非缺失区域残基的挪动&#xff0c;有时我们并不想出现这种状况&#xff0c;尤其是涉及到多个截短体拼合的情况&#xff0c;这时就需要用到约束性同源建模的方法&#xff0c;只对缺…

对一线大厂游戏测试员的访谈实录,带你了解游戏测试

今天采访了一个在游戏行业做测试的同学&#xff0c;他所在的游戏公司是做大型多人在线角色扮演类的游戏&#xff0c;类似传奇游戏。他所在的公司目前有1200多人&#xff0c;是上市公司&#xff0c;目前游戏产品在国内海外都有市场。 因为我是一个对游戏无感的人&#xff0c;所…

户外组网摆脱布线困扰,工业5G网关实现无人值守、远程实时监控

在物联网通信技术发达的2023&#xff0c;网络覆盖对所及之处的全面覆盖&#xff0c;科技发展的促使下很多高危户外场景也在思考如何利用无线技术提高人员安全及现场无人化管理。 煤矿是我们国家不可缺少的重要能源&#xff0c;其开采过程的危险系数也是众所皆知的&#xff0c;…

CANdelaStudio 使用介绍

CANdela Studio使用_哔哩哔哩_bilibili 一.CANdelaStudio使用tips 1.开始菜单打开软件&#xff0c;避免软件字体是德文的 2.打开软件之后&#xff0c;用“Open”打开.cdd或者.cddt文件&#xff0c;不要双击文件打开&#xff0c;这样容易报错 3.查看软件版本信息 4.只有Admin版…

CKA认证真题(3)-- 绝对干货!

目录 前言 15. sidecar边车容器 16. 升级集群 17.备份还原etcd 前言 17道真题难度等级 一级 rbac cpu 扩容 pod指定节点 pv pod日志 排障 查看可用节点 多容器pod 节点维护 二级 networkpolicy service ingress pvc 三级 sidecar 升级集群 备份还原etcd 本系列有三篇博客…

kettle simple-jndi 配置中心

jdbc.properties配置 SampleData/typejavax.sql.DataSource SampleData/driverorg.h2.Driver SampleData/urljdbc:h2:file:./samples/db/sampledb;IFEXISTSTRUE SampleData/userPENTAHO_USER SampleData/passwordPASSWORD SampleDataAdmin/typejavax.sql.DataSource SampleDat…

用于共享大文件的4种大文件传输工具和软件

个人或团队工作时&#xff0c;大文件传输软件和网站能够提升工作效率、有效地管理工作内容。由于疫情的影响&#xff0c;有时我们需要在家办公&#xff0c;在这种情况下&#xff0c;能够分享文件的工具就显得格外重要。 每个公司都需要一个文件传输软件&#xff0c;让员工可以…