当前位置: 首页 > news >正文

文本挖掘入门

文本挖掘的基础步骤

文本挖掘是从文本数据中提取有用信息的过程,通常包括文本预处理、特征提取和建模等步骤。以下是文本挖掘的基础入门步骤:

  1. 数据收集:首先,收集包含文本数据的数据集或文本文档。这可以是任何文本数据,如文章、评论、社交媒体帖子等。

  2. 文本预处理:对文本数据进行清洗和预处理,以便进一步的分析。预处理步骤包括:

    • 文本分词:将文本拆分成单词或词汇单位。
    • 停用词去除:去除常见但不包含有用信息的词汇。
    • 词干提取或词形还原:将单词转化为其基本形式。
    • 去除特殊字符和标点符号。
    • 大小写统一化。
  3. 特征提取:将文本数据转化为可供机器学习算法使用的数值特征。常见的特征提取方法包括:

    • 词袋模型(Bag of Words,BoW):将文本表示为单词的频率向量。
    • TF-IDF(词频-逆文档频率):衡量单词在文本中的重要性。
    • Word Embeddings:将单词嵌入到低维向量空间中,如Word2Vec和GloVe。
  4. 建模:选择合适的机器学习或深度学习算法,根据任务类型进行建模,例如文本分类、情感分析、主题建模等。

  5. 训练和评估模型:使用标注好的数据集训练模型,并使用评估指标(如准确度、F1分数、均方误差等)来评估模型性能。

  6. 调优:根据评估结果进行模型调优,可能需要调整特征提取方法、算法参数或尝试不同的模型。

  7. 应用:将训练好的模型用于实际文本数据的分析或预测任务。

  8. 持续改进:文本挖掘是一个迭代过程,可以不断改进模型和数据预处理流程,以提高性能。


1.文本预处理

  • 分词(Tokenization):将文本拆分成词语或标记。

    import jieba
    text = "我喜欢自然语言处理"
    words = jieba.cut(text)
    print(list(words))
    

    使用NLTK库:

    from nltk.tokenize import word_tokenize
    text = "文本挖掘知识点示例"
    tokens = word_tokenize(text)
    print(tokens)
    
  • *停用词去除:去除常见但无用的词语。

    stopwords = ["的", "我", "喜欢"]
    filtered_words = [word for word in words if word not in stopwords]
    

    使用NLTK库:

    from nltk.corpus import stopwords
    stop_words = set(stopwords.words("english"))
    filtered_tokens = [word for word in tokens if word.lower() not in stop_words]
    print(filtered_tokens)
    

自然语言处理(NLP)工具

  • 使用流行的NLP库,如NLTK(Natural Language Toolkit)或Spacy,以便更灵活地进行文本处理、分析和解析。

import nltk
from nltk.tokenize import word_tokenize
nltk.download('punkt')
words = word_tokenize(text)

2.文本表示

  • 词袋模型(Bag of Words, BoW):将文本转换成词频向量。
    使用Scikit-learn库:

    from sklearn.feature_extraction.text import CountVectorizer
    corpus = ["文本挖掘知识点示例", "文本挖掘是重要的技术"]
    vectorizer = CountVectorizer()
    X = vectorizer.fit_transform(corpus)
    print(X.toarray())
    
  • TF-IDF(Term Frequency-Inverse Document Frequency):考虑词语在文档集合中的重要性。
    使用Scikit-learn库:

    from sklearn.feature_extraction.text import TfidfVectorizer
    tfidf_vectorizer = TfidfVectorizer()
    tfidf_matrix = tfidf_vectorizer.fit_transform(corpus)
    print(tfidf_matrix.toarray())
    

3.文本分类

  • 朴素贝叶斯分类器:用于文本分类的简单算法。文本分类示例:

    from sklearn.naive_bayes import MultinomialNB
    clf = MultinomialNB()
    clf.fit(X_tfidf, labels)
    
    from sklearn.naive_bayes import MultinomialNB
    from sklearn.metrics import accuracy_score
    clf = MultinomialNB()
    clf.fit(X_train, y_train)
    y_pred = clf.predict(X_test)
    accuracy = accuracy_score(y_test, y_pred)
    print("Accuracy:", accuracy)
    
  • 深度学习模型(使用Keras和TensorFlow)文本分类示例:

    from keras.models import Sequential
    from keras.layers import Embedding, LSTM, Dense
    model = Sequential()
    model.add(Embedding(input_dim=vocab_size, output_dim=embed_dim, input_length=max_seq_length))
    model.add(LSTM(units=100))
    model.add(Dense(num_classes, activation='softmax'))
    

 深度学习

  • 深度学习模型如卷积神经网络(CNN)和循环神经网络(RNN)在文本分类、文本生成等任务中表现出色。

    from tensorflow.keras.layers import Embedding, LSTM, Dense
    

深度学习基本框架:

1. 数据预处理

  • 文本清洗:去除特殊字符、标点符号和停用词。
  • 分词:将文本分割成词语或标记。
  • 文本向量化:将文本转换成数字向量,常见的方法包括词袋模型和词嵌入(Word Embeddings)。
import nltk
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.model_selection import train_test_split# 分词
tokenizer = nltk.tokenize.TreebankWordTokenizer()
text_tokens = [tokenizer.tokenize(text) for text in corpus]# 使用词袋模型进行向量化
vectorizer = CountVectorizer(max_features=1000)
X = vectorizer.fit_transform([" ".join(tokens) for tokens in text_tokens])

2. 构建深度学习模型

  • 使用神经网络:通常采用循环神经网络(RNN)、卷积神经网络(CNN)或变换器模型(Transformer)来处理文本。
  • 嵌入层:将词嵌入层用于将词汇映射到低维向量表示。
  • 隐藏层:包括多个隐藏层和激活函数,以学习文本的特征。
  • 输出层:通常是 softmax 层,用于多类别分类。
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, LSTM, Densemodel = Sequential()
model.add(Embedding(input_dim=1000, output_dim=128, input_length=X.shape[1]))
model.add(LSTM(128))
model.add(Dense(num_classes, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

3. 训练和评估模型

  • 划分数据集为训练集和测试集。
  • 使用反向传播算法进行模型训练。
  • 使用评估指标(如准确率、精确度、召回率)来评估模型性能。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)model.fit(X_train, y_train, epochs=10, batch_size=64, validation_split=0.2)loss, accuracy = model.evaluate(X_test, y_test)

4. 模型调优和改进

  • 超参数调优:调整学习率、批处理大小、隐藏层大小等超参数。
  • 数据增强:增加数据量,改善模型泛化能力。
  • 使用预训练的词嵌入模型(如Word2Vec、GloVe)。

4.情感分析

  • 情感词典:使用情感词典来分析文本情感。
    from afinn import Afinn
    afinn = Afinn()
    sentiment_score = afinn.score(text)
    
  • 使用TextBlob进行情感分析
    from textblob import TextBlob
    text = "这个产品非常出色!"
    analysis = TextBlob(text)
    sentiment_score = analysis.sentiment.polarity
    if sentiment_score > 0:print("正面情感")
    elif sentiment_score < 0:print("负面情感")
    else:print("中性情感")
    

5.主题建模

  • 使用Gensim进行LDA主题建模
    from gensim import corpora, models
    dictionary = corpora.Dictionary(texts)
    corpus = [dictionary.doc2bow(text) for text in texts]
    lda_model = models.LdaModel(corpus, num_topics=5, id2word=dictionary, passes=15)
    topics = lda_model.print_topics(num_words=5)
    for topic in topics:print(topic)
    

6.命名实体识别(NER)

  • 使用spaCy进行NER
    import spacy
    nlp = spacy.load("en_core_web_sm")
    text = "Apple Inc. was founded by Steve Jobs in Cupertino, California."
    doc = nlp(text)
    for ent in doc.ents:print(ent.text, ent.label_)
    

7.文本聚类

  • 使用K-means文本聚类
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3)
kmeans.fit(tfidf_matrix)
clusters = kmeans.labels_

8.信息检索 

  • 使用Elasticsearch进行文本检索
from elasticsearch import Elasticsearch
es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
query = "文本挖掘知识点"
results = es.search(index='your_index', body={'query': {'match': {'your_field': query}}})

9.文本生成

  • 使用循环神经网络(RNN)生成文本
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Embedding, LSTM, Dense
model = Sequential()
model.add(Embedding(input_dim=vocab_size, output_dim=embed_dim, input_length=max_seq_length))
model.add(LSTM(units=100, return_sequences=True))
model.add(Dense(vocab_size, activation='softmax'))

词嵌入(Word Embeddings)

  • 学习如何使用词嵌入模型如Word2Vec、FastText或BERT来获得更好的文本表示。

    from gensim.models import Word2Vec
    word2vec_model = Word2Vec(sentences, vector_size=100, window=5, min_count=1)
    

    词嵌入(Word Embeddings)在循环神经网络(RNN)中生成文本时起着重要作用,它们之间有密切的关系。下面解释了它们之间的关系以及如何使用RNN生成文本:

    1. 词嵌入(Word Embeddings):

  • 词嵌入是将文本中的单词映射到连续的低维向量空间的技术。
  • 它们捕捉了单词之间的语义关系,使得相似的单词在嵌入空间中距离较近。
  • 常见的词嵌入算法包括Word2Vec、GloVe和FastText。
    import gensim
    from gensim.models import Word2Vec# 训练Word2Vec词嵌入模型
    model = Word2Vec(sentences, vector_size=100, window=5, min_count=1)
    
     

    2. 循环神经网络(RNN):

  • RNN是一类神经网络,专门用于处理序列数据,如文本。
  • 它们具有内部状态(隐藏状态),可以捕捉文本中的上下文信息。
  • RNN的一个常见应用是文本生成,例如生成文章、故事或对话。
    import tensorflow as tf
    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import Embedding, LSTM, Dense# 创建一个基本的RNN文本生成模型
    model = Sequential()
    model.add(Embedding(input_dim=vocab_size, output_dim=embedding_dim, input_length=seq_length))
    model.add(LSTM(256, return_sequences=True))
    model.add(Dense(vocab_size, activation='softmax'))
    
     

    3. 结合词嵌入和RNN进行文本生成:

  • 在文本生成任务中,通常使用预训练的词嵌入模型来初始化Embedding层。
  • RNN模型接收嵌入后的单词作为输入,以及之前生成的单词作为上下文信息,生成下一个单词。
    # 使用预训练的词嵌入来初始化Embedding层
    model.layers[0].set_weights([embedding_matrix])
    model.layers[0].trainable = False  # 可选,冻结嵌入层的权重# 编译模型并进行训练
    model.compile(loss='categorical_crossentropy', optimizer='adam')# 在训练中生成文本
    generated_text = generate_text(model, seed_text, next_words, max_sequence_length)
    
     

    在这里,generate_text 函数将使用RNN模型生成文本,它会根据先前生成的文本以及上下文信息来预测下一个单词。

    总之,词嵌入是一种有助于RNN模型理解文本语义的技术,而RNN则用于在文本生成任务中考虑文本的顺序和上下文信息,从而生成连贯的文本。这两者通常结合使用以实现文本生成任务。

10.文本摘要

  • 使用Gensim实现文本摘要
from gensim.summarization import summarize
text = "这是一段较长的文本,需要进行摘要。"
summary = summarize(text)
print(summary)

 11.命名实体链接(NER)

  • 使用spaCy进行NER链接
import spacy
nlp = spacy.load("en_core_web_sm")
text = "Apple Inc. was founded by Steve Jobs in Cupertino, California."
doc = nlp(text)
for ent in doc.ents:print(ent.text, ent.label_, ent._.wikilinks)

12.文本语义分析

  • 使用BERT进行文本语义分析
from transformers import BertTokenizer, BertForSequenceClassification
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
model = BertForSequenceClassification.from_pretrained("bert-base-uncased")
text = "这是一个文本示例"
inputs = tokenizer(text, return_tensors="pt")
outputs = model(**inputs)

13.文本相似度计算

  • 使用余弦相似度计算文本相似度
from sklearn.metrics.pairwise import cosine_similarity
doc1 = "这是文本示例1"
doc2 = "这是文本示例2"
tfidf_vectorizer = TfidfVectorizer()
tfidf_matrix = tfidf_vectorizer.fit_transform([doc1, doc2])
similarity = cosine_similarity(tfidf_matrix[0], tfidf_matrix[1])
print("文本相似度:", similarity[0][0])

14.文本生成(以GPT-3示例)

  • 使用OpenAI的GPT-3生成文本的示例,这需要访问GPT-3 API,首先需要获取API密钥。
import openaiopenai.api_key = "YOUR_API_KEY"
prompt = "生成一段关于科学的文本:"
response = openai.Completion.create(engine="text-davinci-002",prompt=prompt,max_tokens=50  # 生成的最大文本长度
)
generated_text = response.choices[0].text
print(generated_text)

15.多语言文本挖掘

  • 多语言分词和情感分析示例,使用多语言支持的库:
from polyglot.text import Texttext = Text("Ceci est un exemple de texte en français.")
words = text.words
sentiment = text.sentiment
print("分词结果:", words)
print("情感分析:", sentiment)

 16.文本生成(GPT-2示例)

  • 使用GPT-2生成文本的示例,需要Hugging Face Transformers库:
from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torchtokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")input_text = "生成一段新闻摘要:"
input_ids = tokenizer.encode(input_text, return_tensors="pt")output = model.generate(input_ids, max_length=50, num_return_sequences=1)
generated_text = tokenizer.decode(output[0], skip_special_tokens=True)
print(generated_text)

 17.文本翻译

  • 使用Google Translate API进行文本翻译,需要设置API密钥:
from googletrans import Translatortranslator = Translator()
text = "Hello, how are you?"
translated_text = translator.translate(text, src='en', dest='es')
print("翻译结果:", translated_text.text)

 18.文本挖掘工具包

  • 使用NLTK进行文本挖掘任务,包括情感分析和词性标注:
import nltk
from nltk.sentiment import SentimentIntensityAnalyzer
from nltk.corpus import stopwords
nltk.download('vader_lexicon')
nltk.download('stopwords')text = "这是一个情感分析的示例文本。"
sia = SentimentIntensityAnalyzer()
sentiment = sia.polarity_scores(text)
print("情感分析:", sentiment)stop_words = set(stopwords.words('english'))
words = nltk.word_tokenize(text)
filtered_words = [word for word in words if word.lower() not in stop_words]
print("去除停用词后的词汇:", filtered_words)

 19.文本数据可视化

  • 使用Word Cloud生成词云
from wordcloud import WordCloud
import matplotlib.pyplot as plttext = "这是一段用于生成词云的文本示例。"
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(text)
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis("off")
plt.show()

 

相关文章:

文本挖掘入门

文本挖掘的基础步骤 文本挖掘是从文本数据中提取有用信息的过程&#xff0c;通常包括文本预处理、特征提取和建模等步骤。以下是文本挖掘的基础入门步骤&#xff1a; 数据收集&#xff1a;首先&#xff0c;收集包含文本数据的数据集或文本文档。这可以是任何文本数据&#xff…...

【C++ techniques】Smart Pointers智能指针

Smart Pointers智能指针 看起来、用起来、感觉起来像内置指针&#xff0c;但提供更多的机能。拥有以下各种指针行为的控制权&#xff1a; 构造和析构&#xff1b;复制和赋值&#xff1b;解引。 Smart Pointers的构造、赋值、析构 C的标准程序库提供的auto_ptr template: au…...

LabVIEW利用以太网开发智能液位检测仪

LabVIEW利用以太网开发智能液位检测仪 目前&#xff0c;工业以太网接口在国内外的发展已经达到了相当深入的程度&#xff0c;特别是在自动化控制和工业控制领域有着非常广泛的应用。在工业生产过程中&#xff0c;钢厂的连铸机是前后的连接环节&#xff0c;其中钢水从大钢包进入…...

文字转语音:语音合成(Speech Synthesis) 数组文字循环播放

前言&#xff1a; HTML5中和Web Speech相关的API实际上有两类&#xff0c;一类是“语音识别(Speech Recognition)”&#xff0c;另外一个就是“语音合成(Speech Synthesis)”&#xff0c; 这两个名词实际上指的分别是“语音转文字”&#xff0c;和“文字变语音”。 speak() –…...

Spark基础

一、spark基础 1、为什么使用Spark Ⅰ、MapReduce编程模型的局限性 (1) 繁杂 只有Map和Reduce两个操作&#xff0c;复杂的逻辑需要大量的样板代码 (2) 处理效率低 Map中间结果写磁盘&#xff0c;Reduce写HDFS&#xff0c;多个Map通过HDFS交换数据 任务调度与启动开销大 (…...

localhost和127.0.0.1都可以访问项目,但是本地的外网IP不能访问

使用localhost和127.0.0.1都可以访问接口&#xff0c;比如&#xff1a; http://localhost:8080/zhgl/login/login-fy-list或者 http://127.0.0.1:8080/zhgl/login/login-fy-list返回json {"_code":10000,"_msg":"Success","_data":…...

快速掌握批量合并视频

在日常的工作和生活中&#xff0c;我们经常需要对视频进行编辑和处理&#xff0c;而合并视频、添加文案和音频是其中常见的操作。如何快速而简便地完成这些任务呢&#xff1f;今天我们介绍一款强大的视频编辑软件——“固乔智剪软件”&#xff0c;它可以帮助我们轻松实现批量合…...

OpenCV利用Camshift实现目标追踪

目录 原理 做法 代码实现 结果展示 原理 做法 代码实现 import numpy as np import cv2 as cv# 读取视频 cap cv.VideoCapture(video.mp4)# 检查视频是否成功打开 if not cap.isOpened():print("Error: Cannot open video file.")exit()# 获取第一帧图像&#x…...

使用pywin32读取doc文档的方法及run输出乱码 \r\x07

想写一个读取doc文档中表格数据&#xff0c;来对文档进行重命名。经查资料&#xff0c;py-docx无法读取doc文档&#xff0c;原因是这种是旧格式。所以&#xff0c;采用pywin32来进行读取。 import win32com.client as win32word win32.gencache.EnsureDispatch(Word.Applicati…...

一天一八股——TCP保活keepalive和HTTP的Keep-Alive

TCP属于传输层&#xff0c;关于TCP的设置在内核态完成 HTTP属于用户层的协议&#xff0c;主要用于web服务器和浏览器之间的 http的Keep-Alive都是为了减少多次建立tcp连接采用的保持长连接的机制&#xff0c;而tcp的keepalive是为了保证已经建立的tcp连接依旧可用(双端依旧可以…...

头部品牌停业整顿,鲜花电商的中场战事迎来拐点?

鲜花电商行业再次迎来标志性事件&#xff0c;曾经4年接连斩获6轮融资的明星品牌花加&#xff0c;正式宣布停业整顿。 梳理来看&#xff0c;2015年是鲜花电商赛道的发展爆发期&#xff0c;彼时花加等品牌相继成立&#xff0c;并掀起一波投资热潮&#xff0c;据媒体统计&#xf…...

深入解读redis的zset和跳表【源码分析】

1.基本指令 部分指令&#xff0c;涉及到第4章的api&#xff0c;没有具体看实现&#xff0c;但是逻辑应该差不多。 zadd <key><score1><value1><score2><value2>... 将一个或多个member元素及其score值加入到有序集key当中。根据zslInsert zran…...

elasticsearch内存占用详细分析

内存占用 ES的JVM heap按使用场景分为可GC部分和常驻部分。 可GC部分内存会随着GC操作而被回收&#xff1b; 常驻部分不会被GC&#xff0c;通常使用LRU策略来进行淘汰&#xff1b; 内存占用情况如下图&#xff1a; common space 包括了indexing buffer和其他ES运行需要的clas…...

【研究生学术英语读写教程翻译 中国科学院大学Unit3】

研究生学术英语读写教程翻译 中国科学院大学Unit1-Unit5 Unit3 Theorists,experimentalists and the bias in popular physics理论家,实验家和大众物理学的偏见由于csdn专栏机制修改,请想获取资料的同学移步b站工房,感谢大家支持!研究生学术英语读写教程翻译 中国科学院大学…...

基于虚拟同步发电机控制的双机并联Simulink仿真模型

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

微信小程序开发——自定义堆叠图

先看效果图 点击第一张图片实现折叠&#xff0c;再次点击实现展开 思路 图片容器绑定点击事件获取当前图片索引&#xff0c;触发onTap函数&#xff0c;根据索引判断当前点击的图片是否为第一张&#xff0c;并根据当前的折叠状态来更新每张图片的位置&#xff0c;注意图片向上…...

国庆day5

QT实现TCP服务器客户端搭建的代码 ser.h #ifndef SER_H #define SER_H#include <QWidget> #include<QTcpServer> #include<QTcpSocket> #include<QMessageBox> #include<QList> QT_BEGIN_NAMESPACE namespace Ui { class …...

经典算法----迷宫问题(找出所有路径)

目录 前言 问题描述 算法思路 定义方向 回溯算法 代码实现 前言 前面我发布了一篇关于迷宫问题的解决方法&#xff0c;是通过栈的方式来解决这个问题的&#xff08;链接&#xff1a;经典算法-----迷宫问题&#xff08;栈的应用&#xff09;-CSDN博客&#xff09;&#xff…...

macOS下 /etc/hosts 文件权限问题修复方案

文章目录 前言解决方案权限验证 macOS下 etc/hosts 文件权限问题修复 前言 当在 macOS 上使用 vi编辑 /etc/hosts 文件时发现出现 Permission Denied 的提示,就算在前面加上 sudo 也照样出现一样的提示,解决方案如下; 解决方案 可以尝试使用如下命令尝试解除锁定; sudo chf…...

【星海出品】ansible入门(二) playbook

核心是管理配置进行批量节点部署。 执行其中的一些列tasks。 playbook由YAML语言编写。 YAML的格式如下&#xff1a; 文件名应该以 .yml 结尾 1.文件的第一行应该以“—”&#xff08;三个连字符&#xff09;开始&#xff0c;表明YAML文件的开始。 2.在同一行中&#xff0c;#之…...

Spring Boot对账号密码进行加密储存

未来避免明文硬编码&#xff0c;我们需要对密码进行加密保存&#xff0c;例如账号密码 方法 在Spring Boot中&#xff0c;可以使用Jasypt&#xff08;Java Simplified Encryption&#xff09;库来对敏感信息进行加密和解密。Jasypt提供了一种简单的方式来在应用程序中使用加密…...

总结js中常见的层次选择器

js中的层次选择器可以用于选择和操作DOM树中的元素&#xff0c;根据元素的层级关系进行选择。以下是js中常见的层次选择器&#xff1a; 1. getElementById&#xff1a;使用元素的ID属性进行选择。通过给元素设置唯一的ID属性&#xff0c;可以使用getElementById方法选择该元素…...

阿里云ECS服务器上启动的portainer无法访问的问题

如下图&#xff0c;在阿里云ECS服务器上安装并启动了portainer&#xff0c;但是在自己电脑上访问不了远程的portainer。 最后发现是要在网络安全组里开放9000端口号&#xff0c;具体操作如下&#xff1a; 在云服务器管理控制台点击左侧菜单中的网络与安全-安全组&#xff0c;然…...

JavaScript系列从入门到精通系列第十八篇:JavaScript中的函数作用域

文章目录 前言 一&#xff1a;函数作用域 前言 我们刚才提到了&#xff0c;在<Script>标签当中进行定义的变量、对象、函数对象都属于全局作用域&#xff0c;全局作用域在页面打开的时候生效在页面关闭的时候失效。 一&#xff1a;函数作用域 调用函数时创建函数作用域…...

开环模块化多电平换流器仿真(MMC)N=6(Simulink仿真)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

[C]嵌入式中变量存储方案

#include<stdio.h>#define uint8_t unsigned char #define uint16_t unsigned short #define uint24_t unsigned int #define uint32_t unsigned int #define uint64_t unsigned long long//用户自定义变量名字&#xff0c;用于存储 typedef enum {first_run 0,//…...

热迁移中VirtIO-PCI设备的配置空间处理

文章目录 问题现象定位过程日志分析源端目的端 原理分析基本原理上下文分析复现分析patch分析 总结解决方案 问题现象 集群升级虚拟化组件版本&#xff0c;升级前存量运行并挂载了virtio磁盘的虚拟机集群内热迁移到升级后的节点失败&#xff0c;QEMU报错如下&#xff1a; 202…...

模拟滤波器的基础知识和设计

信号处理工作中滤波器的应用是非常广泛的&#xff0c;可以分成模拟滤波器和数字滤波器两种&#xff0c;数字滤波器主要包括两种&#xff0c;IIR和FIR&#xff0c;这两种滤波器后面统一说&#xff0c;今天先来说一说模拟滤波器&#xff08;主要是我先用Python实现了Matlab书里面…...

机器学习基础-Pandas学习笔记

Pandas Python的数据分析库&#xff0c;与Numpy配合使用&#xff0c;可以从常见的格式如CSV、JSON等中读取数据。可以进行数据清洗、数据加工工作。数据结构Series&#xff0c;Pandas.Series(data,index,dtype,name,copy) data类型是Numpy的ndarray类型&#xff0c;index指定下…...

【GIT版本控制】--协作流程

一、Fork与Pull Request Git协作流程中的关键概念包括Fork和Pull Request&#xff0c;它们允许多人在项目中协作并贡献代码。以下是关于Fork和Pull Request的简要总结&#xff1a; 1. Fork&#xff1a; Fork是指复制一个Git仓库&#xff0c;通常是一个开源项目的仓库&#xf…...

美女做爰直播在线网站/网站排名怎么优化

本篇代码存放于:https://github.com/FleyX/demo-project/tree/master/springcloud/spring-cloud%E6%9C%8D%E5%8A%A1%E5%8F%91%E7%8E%B0 一、服务发现架构 服务发现架构通常具有下面 4 个概念&#xff1a; 服务注册&#xff1a;服务如何使用服务发现代理进行注册&#xff1f;服务…...

汽车网站建设流程/网络营销品牌公司

樊登读书——《弹性》自2019年3月22日起运营管理部每周组织部门人员观看樊登读书的视频&#xff0c;通过视频学习的方式&#xff0c;每周学习一本好书&#xff0c;至今已开展50余次。通过每周的视频学习&#xff0c;帮助部门人员坚持读书&#xff0c;增长知识&#xff0c;开拓视…...

专做衬衣的网站/百度一下网页版

原题链接 hdu1878 大致题意: 欧拉回路是指不令笔离开纸面&#xff0c;可画过图中每条边仅一次&#xff0c;且可以回到起点的一条回路。现给定一个无向图&#xff0c;问是否存在欧拉回路&#xff1f; 思路: 无向图存在欧拉回路的条件&#xff1a;1、图是连通的 2、所有点的度数…...

上海网站建设专家/巢湖网站制作

35:输出二进制补码 查看提交统计提问总时间限制: 1000ms内存限制: 65536kB描述输入一个整型(int)的整数&#xff0c;输出它的32位二进制补码。 输入一个整型整数。输出输出一行&#xff0c;即该整数的补码表示。样例输入7 样例输出00000000000000000000000000000111‘ 1 #inclu…...

网站建设 开源/软文营销经典案例优秀软文

seq命令用于产生从某个数到另外一个数之间的所有整数。语法seq [选项]... 尾数seq [选项]... 首数 尾数seq [选项]... 首数 增量 尾数选项-f, --format格式 使用printf 样式的浮点格式-s, --separator字符串 使用指定字符串分隔数字(默认使用&#xff1a;\n)-w, --equal-width …...

网站开发如何让图片加载的更快/深圳网站建设系统

常量的定义 常量的值在编译时就已经确定常量的定义格式与变量基本相同等号右侧必须是常量或者常量表达式常量表达式中的函数必须是内置函数常量的初始化规则与枚举 在定义常量组时&#xff0c;如果不提供初始值&#xff0c;则表示将使用上行的表达式使用相同的表达式不代表具有…...