09.C2W4.Word Embeddings with Neural Networks

news2024/11/14 17:29:31

往期文章请点这里

目录

  • Overview
  • Basic Word Representations
    • Integers
    • One-hot vectors
  • Word Embeddings
    • Meaning as vectors
    • Word embedding vectors
  • Word embedding process
  • Word Embedding Methods
    • Basic word embedding methods
    • Advanced word embedding methods
  • Continuous Bag-of-Words Model
    • Center word prediction: rationale
    • Creating a training example
    • From corpus to training
  • Cleaning and Tokenization
    • Cleaning and tokenization matters
    • Example in Python
      • corpus
      • libraries
      • code
  • Sliding Window of Words in Python
  • Transforming Words into Vectors
    • Transforming center words into vectors
    • Transforming context words into vectors
    • Final prepared training set
  • Architecture of the CBOW Model
  • Dimensions
    • single input
    • batch input
  • Activation Functions
    • Rectified Linear Unit (ReLU)
    • Softmax
    • Softmax: example
  • Training a CBOW Model: Cost Function
    • Loss
    • Cross-entropy loss
  • Training a CBOW Model: Forward Propagation
    • Forward propagation
    • Cost
  • Training a CBOW Model: Backpropagation and Gradient Descent
    • Backpropagation
    • Gradient descent
  • Extracting Word Embedding Vectors
    • option 1
    • option 2
    • option 3
  • Evaluating Word Embeddings
    • Intrinsic evaluation
    • Extrinsic Evaluation

往期文章请点这里

Overview

了解word embeddings一些基础应用
在这里插入图片描述
高级应用:
在这里插入图片描述
学习目标(需要掌握NN):
●Identify the key concepts of word representations
●Generate word embeddings
●Prepare text for machine learning
●Implement the continuous bag-of-words model

Basic Word Representations

Integers

直接使用唯一的Integers对单词进行编码,优点是简单:
在这里插入图片描述
缺点是无法表达单词的语义信息:
在这里插入图片描述

One-hot vectors

使用0-1词向量来表示单词,向量长度与词表长度相同:
在这里插入图片描述
每一个单词可以使用其对应列为1,其他列为0的方式来表示:
在这里插入图片描述
Integers和独热编码可以相互转化
在这里插入图片描述
独热编码的优点是简单,没有暗含单词的排序信息;
但仍然没有语义信息:
在这里插入图片描述

且当词表较大时,向量长度很长:
在这里插入图片描述

Word Embeddings

Meaning as vectors

向量是否能包含语义?当然可以,这里用低维向量来进行演示:
在这里插入图片描述
上图是一个情感分析或情感评分的示例,它表示了一些词汇与它们对应的情感分数。

有8个词汇:spider, boring, kitten, happy, anger, paper, excited, rage。
这些词汇被分为4组,每组两个词,每组词旁边有括号内的情感分数,表示这些词与特定情感的关联强度。
第一组:spider (-2.52), boring (-2.08),这些分数可能是负数,表明它们与负面情绪相关。
第二组:kitten (-1.53), happy (-0.91),这些分数接近零或稍微负,可能表示它们与轻微的负面情绪或中性情绪相关。
第三组:anger (0.03), paper (1.09),分数从接近零到正数,表明它们与正面情绪或中性情绪相关。
第四组:excited (2.31), rage,最后一个词 rage 没有给出分数,但根据上下文,它可能与强烈的负面情绪相关。
图片底部有标尺,从 -2 到 2,分为 negative(负向/消极)、0(中性)和 positive(正向/积极)三个情感区域。
当然还可以加上y轴表示单词的抽象和具体,例如:
在这里插入图片描述
当然,这样表示会丢失一些精确性,例如spider和snake都重合了,这个是不合理的。

Word embedding vectors

可以看到词嵌入向量表示有两个优点:
Low dimension(相对独热编码)
Embed meaning:
在这里插入图片描述
注意:
one-hot vectors,word embedding vectors都属于word vectors(词向量),但后者在很多场合也叫:“word vectors”,word embeddings

Word embedding process

Corpus对于生成词嵌入很重要,例如你要针对特定领域的单词进行词嵌入,则尽量包含该领域的语料,因为单词受到上下文影响很大,例如apple在农业领域是水果,在科技领域就是公司。
Embedding method这里主要是使用ML的模型,采用自监督的方式训练。
整个流程大概如下图所示:
在这里插入图片描述

Word Embedding Methods

Basic word embedding methods

●word2vec (Google, 2013)
○Continuous bag of words (CBOW)
○Continuous skip gram / Skip gram with negative sampling (SGNS)
●Global Vectors (GloVe) (Stanford, 2014)
●fastText (Facebook, 2016)
○Supports out of vocabulary (OOV) words
○训练速度很快

Advanced word embedding methods

Deep learning, contextual embeddings
●BERT (Google, 2018)
●ELMo (Allen Institute for AI, 2018)
●GPT 2 (OpenAI, 2018)

这些都是预训练模型,可以对其进行finetune

Continuous Bag-of-Words Model

在这里插入图片描述

Center word prediction: rationale

词向量是CBOW任务的副产物,其主线任务是做预测的,根据上下文预测中间词:
在这里插入图片描述
因为单词与上下文是有关系的,例如上图中,通过足够打的语料库,模型将学会预测缺失的单词与狗相关。

Creating a training example

在这里插入图片描述
中心词(Center word):在这个示例中,中心词是 “happy”。
上下文词(Context words):围绕中心词的词,用于提供上下文信息。在这个例子中,上下文词包括 “because”, “learning”, “am”(出现了两次)。
窗口大小(Window size):指上下文窗口可以包含的总词数。在这个例子中,窗口大小是5。
上下文半尺寸(Context half-size):指窗口一半的大小,通常用于确定窗口在中心词的左侧和右侧分别可以扩展多远。在这个例子中,上下文半尺寸是2,意味着窗口在中心词的左侧和右侧各扩展2个词的位置。
窗口(Window):实际上指的是上下文词围绕中心词的布局。根据窗口大小和上下文半尺寸,窗口包括中心词以及它左右两侧的词。

From corpus to training

根据上面的训练实例,我们对I am happy because I am learning,假设窗口大小为5

Context wordsCenter word
I am because Ihappy
am happy I ambecause
happy because am learningI

在这里插入图片描述

Cleaning and Tokenization

Cleaning and tokenization matters

数据清理是预处理阶段的重要步骤,目的是提高文本数据的质量,使其更适合后续的分析和模型训练。
●Letter case
●Punctuation
●Numbers
●Special characters
●Special words
在这里插入图片描述

Letter case(字母大小写):
清理操作可能包括将所有文本转换为小写或大写,以消除大小写差异带来的影响。
例如,将 “Hello” 和 “hello” 统一转换为 “hello”,以便模型不会将它们视为两个不同的词。

Punctuation(标点符号):
标点符号的清理可能涉及删除或替换文本中的所有标点符号,因为它们可能对某些NLP任务不重要或会干扰模型的分析。
例如,将句子 “Hello! How are you?” 中的感叹号和问号去除,变为 “Hello How are you”。

Numbers(数字):
数字清理通常指将文本中的数字替换或删除,因为数字可能对某些文本分析任务没有意义或会引入噪声。
例如,将 “I have 3 apples” 中的 “3” 删除或替换,变为 “I have apples”。

Special characters(特殊字符):
特殊字符包括非字母数字的符号,如 @, #, $, % 等。清理这些字符可以简化文本数据,避免它们对模型造成干扰。
例如,将 “email@example.com” 中的 “@” 和 “.” 删除,变为 “emailexamplecom”。

Special words(特殊词汇):
特殊词汇的清理可能包括去除常见的但对分析没有帮助的词,如停用词(stop words,如 “and”, “the” 等)或特定的行业术语。
例如,从 “The quick brown fox jumps over the lazy dog” 中去除 “the” 和 “over” 等停用词。

Example in Python

corpus

在这里插入图片描述

libraries

# pip install nltk
# pip install emoji
import nltk
from nltk.tokenize import word_tokenize
import emoji
nltk.download(' punkt') # download pre trained Punkt tokenizer for English

code

corpus = 'Who ❤️"word embeddings" in 2020? I do!!!'
data = re.sub(r'[,!?;-]+', '.', corpus)

结果:
Who ❤️"word embeddings" in 2020. I do.

data = nltk.word_tokenize(data) # tokenize string to words

结果:
[‘Who’, ‘❤️’, ‘``’, ‘word’, ‘embeddings’, “‘’”, ‘in’, ‘2020’, ‘.’, ‘I’, ‘do’, ‘.’]

data = [ ch.lower() for ch in data
		 if ch.isalpha() 
		 or ch == '.'
		 or emoji.get_emoji_regexp().search(ch)
	   ]

结果:
[‘who’, ‘❤️’, ‘word’, ‘embeddings’, ‘in’, ‘.’, ‘i’, ‘do’, ‘.’]

Sliding Window of Words in Python

def get_windows (words, C):
	i = C
	while i < len(words)-C:
		center_word = words[i]
		context_words = words[(i-C):i] + words[(i+ 1 ):(i+C+1)]
		yield context_words, center_word
		i += 1

在这里插入图片描述
可以看到i初始化是从i = C=2开始的,也是第一个中心词happy对应的索引,i结束于倒数第三个词len(words)-C,每次i往前移动一个单词
最后使用yield 完成多次返回值传递

for x, y in get_windows(
	[' i', ' am', ' happy', ' because', ' i', ' am', 'learning'],
	2
):
print(f'{x}\t{y}')

结果:
在这里插入图片描述

Transforming Words into Vectors

有了上下文和中心词,接下来就是将它们转化为向量。

Transforming center words into vectors

语料库:I am happy because I am learning
词库:am, because, happy, I, learning
使用独热编码表示每个中心词:
在这里插入图片描述

Transforming context words into vectors

使用上下文的独热编码平均值来表示,对于中心词为happy的时候:
在这里插入图片描述

Final prepared training set

Context wordsContext words vectorCenter wordCenter word vector
I am because I[0.25; 0.25; 0; 0.5; 0]happy[0; 0; 1; 0; 0]

Architecture of the CBOW Model

在这里插入图片描述
CBOW 是一个典型的前馈神经网络结构,其中包括输入层、一个或多个隐藏层,以及一个输出层。每一层都包含权重和偏置,以及激活函数来处理数据和进行非线性变换。
Input layer(输入层):这一层接收输入数据,在这个例子中是文本序列 “I am happy because I am learning”。输入数据通常会被转换为数值向量,如词嵌入(Word Embeddings)。

Context words and Center word(上下文词和中心词):在某些模型中,如卷积神经网络(CNN)或循环神经网络(RNN),上下文词可以提供周围词的语境信息,而中心词是当前正在处理的词。

W1, W2, …(权重):这些表示网络中的权重参数,每个权重连接输入层和隐藏层的神经元。

b, b2, …(偏置):偏置参数,用于调整神经元的激活函数的输出。

Hidden layer(隐藏层):输入层之后是隐藏层,隐藏层中的神经元会对输入数据进行处理,提取特征。

Output layer(输出层):隐藏层之后是输出层,输出层的神经元数量通常取决于任务的类别数,用于生成最终的预测结果。

Vector(向量):表示输入文本被转换为固定大小的数值向量,以便神经网络可以处理。

ReLU(Rectified Linear Unit):一种常用的激活函数,用于增加非线性,帮助模型学习更复杂的特征。

softmax:一种在输出层使用的激活函数,用于多分类任务中将输出转换为概率分布。

V = 5:表示词表大小,这里使用独热编码,也是输入向量的维度大小。

X:可能表示输入数据的特征矩阵或特征向量。

当然还有别的超参数可以配置,例如:N: Word embedding size等等…

Dimensions

single input

在这里插入图片描述
如果输入不是列向量,而是行向量,则需要使用转置矩阵和矩阵乘法中的倒置项进行计算。
在这里插入图片描述

batch input

上面以单个样本作为输入为例,演示了CBOW的各个部分的维度,在实际操作过程中,为了加快运行速度,我们通常一次传入一个batch(批次)的数据,batch_size是一个超参数,下图给出了batch_size=m的例子:
在这里插入图片描述
我们将m个样本的列向量合在一起,变成输入矩阵
这里的偏置项写成了大写的B,之前的b是1×N大小的,这里在和矩阵做加法的时候,Python会自动做broadcasting,将其大小扩展到m×N大小:
在这里插入图片描述
这里注意输入和输出矩阵中向量于预测结果的对应关系(绿色部分):
在这里插入图片描述

Activation Functions

Rectified Linear Unit (ReLU)

这个没有什么好说的,还有很多变体,例如:leakyReLU
输入层经过W和b后,再进入ReLU
z 1 = W 1 x + b 1 h = R e L U ( z 1 ) z_1 = W_1 x + b_1\\ h= ReLU(z_1) z1=W1x+b1h=ReLU(z1)
在这里插入图片描述
ReLU公式为:
R e L U ( x ) = max ⁡ ( 0 , x ) ReLU(x)=\max(0,x) ReLU(x)=max(0,x)
图像为:
在这里插入图片描述
下面是一组 z 1 z_1 z1对应的h值:
在这里插入图片描述

Softmax

Sofmax是吃隐藏层输出的线性变换:
z = W 2 h + b 2 y ^ = s o f t m a x ( z ) z= W_2 h + b_2\\ \hat y=softmax(z) z=W2h+b2y^=softmax(z)
一组实数经过Sofmax后会得到一组0-1之间的数字(可以说是概率),这一组数字和为1
在这里插入图片描述
对于CBOW模型,得到的是每个单词对应的出现概率:
在这里插入图片描述
y ^ i \hat y_i y^i的公式如下,其原理就相当于把每个 y ^ i \hat y_i y^i进行标准化,使其概率和为1。
y ^ i = e z i ∑ j = 1 V e z j \hat y_i=\cfrac{e^{z_i}}{\sum_{j=1}^Ve^{z_j}} y^i=j=1Vezjezi

Softmax: example

最后预测结果是happy因为其对应的概率值最大。
在这里插入图片描述

Training a CBOW Model: Cost Function

Loss

"Loss"通常指的是在机器学习中,模型预测值与实际值之间的差异或误差。在训练机器学习模型的过程中,目标是最小化这个损失函数(Loss function),这样可以使模型的预测更加接近真实值。

具体来说,损失函数是一个衡量模型性能的指标,它计算了模型预测值与真实值之间的差距。不同的机器学习任务会使用不同类型的损失函数。例如:
对于分类问题,常用的损失函数是交叉熵损失(Cross-Entropy Loss)。
对于回归问题,常用的损失函数是均方误差(Mean Squared Error, MSE)。
在这里插入图片描述

Cross-entropy loss

CBOW 使用的损失函数形式为:
J = − ∑ k = 1 V y k log ⁡ y ^ k J=-\sum_{k=1}^Vy_k\log \hat y_k J=k=1Vyklogy^k
真实值和预测值形式为:
在这里插入图片描述
对于语料:
I am happy because I am learning
前五个单词中心词是happy,假设其预测值和真实值如下:
在这里插入图片描述
按照公式取对数后与真实值进行点乘,然后再求和:
在这里插入图片描述
可以看到当预测值与真实值相近的时候,损失值较小。
下面看预测值为am是中心词的情况:
在这里插入图片描述
上面的损失函数计算可以进一步简化为:
J = − log ⁡ y ^ a c t u a l   w o r d J=-\log \hat y_{actual\space word} J=logy^actual word
例如:
在这里插入图片描述
J=-log 0.01=4.61,注意这里写的是log其实是ln
根据简化后的公式可以画出其函数图像:
在这里插入图片描述
正确中心词对应的预测概率越大,Loss值越小,反正Loss越大。

Training a CBOW Model: Forward Propagation

整个训练过程包含:
●Forward propagation
●Cost
●Backpropagation and gradient descent

Forward propagation

其实在CBOW构架中就cover了前向传播,尝试用自己的话描述下图(注意,这里使用的是batch模式):
在这里插入图片描述
你能写出下面公式么?
在这里插入图片描述

Cost

“cost”(成本)和"loss"(损失)这两个术语经常被用来描述衡量模型预测与实际值之间差异的函数。尽管在日常使用中它们可能可以互换,但它们在严格意义上有一些区别。损失函数通常用于单个样本,而成本函数则用于整个数据集。在实践中,当我们说“最小化损失”时,我们通常指的是最小化成本函数,因为这是我们在训练模型时优化的总体目标。
这一节中的Cost是指一个Batch的Loss的平均,假设一个batch有m个样本,则:
J b a t c h = − 1 m ∑ i = 1 m ∑ j = 1 V y j ( i ) log ⁡ y ^ j ( i ) J_{batch}=-\cfrac{1}{m}\sum_{i=1}^m\sum_{j=1}^Vy_j^{(i)}\log \hat y_j^{(i)} Jbatch=m1i=1mj=1Vyj(i)logy^j(i)
同样的可以简化为:
J b a t c h = − 1 m ∑ i = 1 m J ( i ) J_{batch}=-\cfrac{1}{m}\sum_{i=1}^mJ^{(i)} Jbatch=m1i=1mJ(i)
在这里插入图片描述

Training a CBOW Model: Backpropagation and Gradient Descent

训练模型的目的是最小化cost,按batch的cost 函数有四个变量:
J b a t c h = f ( W 1 , W 2 , b 1 , b 2 ) J_{batch}=f(W_1,W_2,b_1,b_2) Jbatch=f(W1,W2,b1,b2)
我们可以使用Backpropagation: calculate partial derivatives of cost with respect to weights and biases
使用Gradient descent: update weights and biases

Backpropagation

∂ J b a t c h ∂ W 1 = 1 m R e L U ( W 2 ⊺ ( Y ^ − Y ) ) X ⊺ \cfrac{\partial J_{batch}}{\partial W_1}=\cfrac{1}{m}ReLU\left(W_2^\intercal (\hat Y-Y)\right)X^\intercal W1Jbatch=m1ReLU(W2(Y^Y))X
∂ J b a t c h ∂ W 2 = 1 m ( Y ^ − Y ) H ⊺ \cfrac{\partial J_{batch}}{\partial W_2}=\cfrac{1}{m}(\hat Y-Y)H^\intercal W2Jbatch=m1(Y^Y)H
∂ J b a t c h ∂ b 1 = 1 m R e L U ( W 2 ⊺ ( Y ^ − Y ) ) 1 m ⊺ \cfrac{\partial J_{batch}}{\partial b_1}=\cfrac{1}{m}ReLU\left(W_2^\intercal (\hat Y-Y)\right)1_m^\intercal b1Jbatch=m1ReLU(W2(Y^Y))1m
∂ J b a t c h ∂ b 2 = 1 m ( Y ^ − Y ) 1 m ⊺ \cfrac{\partial J_{batch}}{\partial b_2}=\cfrac{1}{m}(\hat Y-Y)1_m^\intercal b2Jbatch=m1(Y^Y)1m
这里 1 m 1_m 1m是一个有m个元素且都为1的列向量,其转置后与其他矩阵相乘得到矩阵每行求和:
在这里插入图片描述
实际操作的时候是用numpy的求和函数实现的:

import numpy as np
# code to initialize matrix a omitted
np.sum(a, axis= 1 , keepdims=True )

反向传播就是要根据链式法则求偏导,具体计算推导这里不展开,可以直接使用现有的函数实现计算。

Gradient descent

Hyperparameter: learning rate α \alpha α
W 1 : = W 1 − α ∂ J b a t c h ∂ W 1 W_1:= W_1-\alpha\cfrac{\partial J_{batch}}{\partial W_1} W1:=W1αW1Jbatch
W 2 : = W 2 − α ∂ J b a t c h ∂ W 2 W_2:= W_2-\alpha\cfrac{\partial J_{batch}}{\partial W_2} W2:=W2αW2Jbatch
b 1 : = b 1 − α ∂ J b a t c h ∂ b 1 b_1:= b_1-\alpha\cfrac{\partial J_{batch}}{\partial b_1} b1:=b1αb1Jbatch
b 2 : = b 2 − α ∂ J b a t c h ∂ b 2 b_2:= b_2-\alpha\cfrac{\partial J_{batch}}{\partial b_2} b2:=b2αb2Jbatch

Extracting Word Embedding Vectors

共有3种方式

option 1

W 1 W_1 W1的每一个列作为词表中每一个单词的嵌入列向量, W 1 W_1 W1有V列刚好和词表长度对应,其对应方式与输入X的顺序相对应(看蓝色部分):
在这里插入图片描述

option 2

W 2 W_2 W2的每一个行作为词表中每一个单词的嵌入行向量, W 2 W_2 W2有V行刚好和词表长度对应,其对应方式与输入X的顺序相对应(看蓝色部分):
在这里插入图片描述

option 3

将上面二者相结合得到V×N的矩阵 W 3 W_3 W3,每一个列作为词表中每一个单词的嵌入列向量:
W 3 = 0.5 ( W 1 + W 2 T ) W_3=0.5(W_1+W_2^T) W3=0.5(W1+W2T)
在这里插入图片描述

Evaluating Word Embeddings

主要有两种:Intrinsic Evaluation(内在评估),Extrinsic Evaluation(外在评估)。内在评估提供了关于模型预测能力的信息,而外在评估则提供了关于模型在实际应用中效果的信息。两者都是重要的,因为一个模型可能在技术上表现良好(内在评估),但如果它不能有效地支持最终的应用目标(外在评估),那么它可能不是一个成功的模型。在实际应用中,通常需要结合这两种评估方法来全面理解模型的性能。

Intrinsic evaluation

Analogies
Clustering
Visualization
Analogies主要是Test relationships between words,有三种常见方式:

Analogiesexample
Semantic analogies“France” is to “Paris” as “Italy” is to <?>
Syntactic analogies“seen” is to “saw” as “been” is to <?>
Ambiguity“wolf” is to “pack” as “bee” is to <?> → swarm? colony?
Clustering

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

Extrinsic Evaluation

使用其他任务来测试词向量的性能:
e.g. named entity recognition, parts of speech tagging
在这里插入图片描述

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

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

相关文章

汉初三杰韩信,是不是颍川人

再重复一次&#xff0c;此韩信非彼韩信&#xff0c;说的是汉初三杰淮阴侯韩信&#xff0c;不是韩王信。 他俩的共同之处还真多&#xff0c;同名同姓&#xff0c;都被封王&#xff0c;八大异姓王韩姓占了两位。而且&#xff0c;结局也一样&#xff0c;都因反判罪被朝廷处死。这…

图书馆、档案馆、博物馆之智能建筑设计要求比较

关注我们 - 数字罗塞塔计划 - 随着科技的不断进步以及人们对建筑功能需求的日益提升&#xff0c;智能化技术在建筑领域的应用越来越广泛。将建筑物的结构、系统、服务和管理根据用户的需求进行最优化组合&#xff0c;进而为用户提供一个高效、舒适、便利的人性化建筑环境&…

通过Arcgis从逐月平均气温数据中提取并计算年平均气温

通过Arcgis快速将逐月平均气温数据生成年平均气温数据。本次用2020年逐月平均气温数据操作说明。 一、准备工作 &#xff08;1&#xff09;准备Arcmap桌面软件&#xff1b; &#xff08;2&#xff09;准备2020年逐月平均气温数据&#xff08;NC格式&#xff09;、范围图层数据&…

[论文笔记]RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL

引言 今天带来又一篇RAG论文笔记&#xff1a;RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL。 检索增强语言模型能够更好地适应世界状态的变化并融入长尾知识。然而&#xff0c;大多数现有方法只能从检索语料库中检索到短的连续文本片段&#xff0…

再见微软Excel, AI Excel带你轻松搞定复杂数据分析

大家好&#xff0c;我是YUAN哥。在数据处理的世界里&#xff0c;Microsoft Excel一直是我们的好帮手。不过&#xff0c;现在有一种更聪明、更简便的方式来管理和分析数据——那就是将AI引入电子表格。今天&#xff0c;我要向大家介绍一个神奇的新工具——Numerous.ai。 首先&am…

SepViT: Separable(分离式) Vision Transformer

Vision Transformers(ViT)在一系列的视觉任务中取得了显著的成功。然而,这些Transformer模型通常依赖大量的计算成本来实现高性能,这使得在资源受限的设备上部署它们变得非常困难。研究者们从深度可分离卷积(depthwise separable convolution)中汲取经验,并模仿其设计理…

【Python专栏】Python的历史及背景介绍

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Python专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Python的背景介绍 关键词&#xff1a;Python、优缺点、领域 目录 …

先进电机拓扑及控制算法介绍(1)——串联绕组电机拓扑极其控制

1.前言 在这个专栏&#xff0c;我会介绍一些比较先进的电机拓扑及控制算法&#xff0c;并且会做仿真来验证这些电机拓扑及控制算法的先进性。什么叫做“比较先进的电机拓扑及控制算法”呢&#xff1f; 在我看来&#xff0c;这些电机拓扑及控制算法被提出不久&#xff0c;知道…

无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。【解决办法】

问题描述 新建好一台windows虚拟机&#xff0c;两台设备网络是互通的&#xff0c;但是物理机在访问虚拟机的网络共享文件资源时&#xff0c;出现图下所示的报错&#xff1a;XXX无法访问。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明你是否有访问权限。用户…

初次用bable遍历vue项目下的中文

利用 babel 找到 AST 中的中文 // vite-plugin-babel-transform.js const parser require(babel/parser) const traverse require(babel/traverse).default // const types require(babel/types) // const generate require(babel/generator).default const fs require(f…

场外期权有交割日吗?场外期权应该怎么交割?

今天带你了解场外期权有交割日吗&#xff1f;场外期权应该怎么交割&#xff1f;场外个股期权是一种非标准化的金融衍生品&#xff0c;它允许投资者在未来某一特定日期以特定价格买入或卖出某一特定股票。 交割日就是买卖双方进行交割的日期,期权合约具有到期日,到期日的后一天…

开放式耳机哪种好用又实用?五大热门畅销空气炸锅推荐2024

开放式耳机市场现在越来越多品牌涌现了&#xff0c;作为数码博主&#xff0c;这里有必要给大家科普一下如何选择一款开放式欸日记是最好的&#xff0c;这篇文章就是给大家答疑解惑的&#xff0c;想要知道如何挑选一款开放式耳机的&#xff0c;看这一篇就够了&#xff0c;在介绍…

视频监控汇聚平台LntonCVS视频监控系统解决智慧产业园的安全应用方案

近年来&#xff0c;随着全国各地数字化转型和相关政策的出台&#xff0c;数字化和智慧化在各行业迅速发展&#xff0c;尤其是作为产业集群重要组成部分的产业园区。然而&#xff0c;园区智慧化进程加快的同时&#xff0c;数字化转型面临着诸如视频监控数据分散、联通不畅、碎片…

开源无人机从入门到炸机,共需要几步?

阿木实验室2024年的重磅新品 Prometheus 仿真笔记本已经上架有一段时间了&#xff0c;近日&#xff0c;该产品的研发负责人廖工受邀到直播间与开发者们深度解读了Prometheus仿真笔记本的设计理念。直播过程中&#xff0c;廖工不仅展示了该产品的功能demo&#xff0c;解答技术开…

ARM功耗管理标准接口之ACPI

安全之安全(security)博客目录导读 思考&#xff1a;功耗管理有哪些标准接口&#xff1f;ACPI&PSCI&SCMI&#xff1f; Advanced Configuration and Power Interface Power State Coordination Interface System Control and Management Interface ACPI可以被理解为一…

<PLC><威纶通>威纶通触摸与信捷PLC通讯,使用脚本根据页面自动切换模式

前言 本系列是关于PLC相关的博文&#xff0c;包括PLC编程、PLC与上位机通讯、PLC与下位驱动、仪器仪表等通讯、PLC指令解析等相关内容。 PLC品牌包括但不限于西门子、三菱等国外品牌&#xff0c;汇川、信捷等国内品牌。 除了PLC为主要内容外&#xff0c;PLC相关元器件如触摸屏…

数字人+展厅互动体验方案:多元化互动方式,拓宽文化文娱新体验

数字化创新已成为推动展厅可持续发展&#xff0c;创造全新消费体验&#xff0c;满足游客多元化需求的关键力量。 “数字人数字互动展厅”可以适应年轻一代的文化传播与多媒体互动新体验趋势&#xff0c;打造新生代潮玩聚集地&#xff0c;促进文化创意传播与互动体验场景创新&a…

JMH325【剑侠情缘3】第2版80级橙武网游单机更稳定亲测视频安装教学更新整合收集各类修改教学补丁兴趣可以慢慢探索

资源介绍&#xff1a; 是否需要虚拟机&#xff1a;是 文件大小&#xff1a;压缩包约14G 支持系统&#xff1a;win10、win11 硬件需求&#xff1a;运行内存8G 4核及以上CPU独立显卡 下载方式&#xff1a;百度网盘 任务修复&#xff1a; 1&#xff0c;掌门任务&#xff08…

海南云亿商务咨询有限公司抖音电商服务领军者

在当今这个数字化高速发展的时代&#xff0c;抖音电商已经成为了一种不可忽视的新型商业模式。作为行业的佼佼者&#xff0c;海南云亿商务咨询有限公司凭借其专业团队和卓越的服务能力&#xff0c;为众多商家提供了一站式的抖音电商解决方案&#xff0c;助力商家在竞争激烈的市…