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

情感分析方法与实践

第1关:情感分析的基本方法

情感分析简介

情感分析,又称意见挖掘、倾向性分析等。简单而言,是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。在日常生活中,情感分析的应用非常普遍,下面列举几种常见的应用场景。

图 1

1、电子商务 情感分析最常应用到的领域就是电子商务。例如淘宝和京东,用户在购买一件商品以后可以发表他们关于该商品的体验。通过分配等级或者分数,这些网站能够为产品和产品的不同功能提供简要的描述。客户可以很容易产生关于整个产品的一些建议和反馈。通过分析用户的评价,可以帮助这些网站提高用户满意度,完善不到位的地方。

2、舆情分析 无论是政府还是公司,都需要不断监控社会对于自身的舆论态度,及时感知舆情,进行情感分析有助于及时公关,正确维护好公司的品牌,以及产品和服务评价。

3、市场呼声 市场呼声是指消费者使用竞争对手提供的产品与服务的感受。及时准确的市场呼声有助于取得竞争优势,并促进新产品的开发。尽早检测这类信息有助于进行直接、关键的营销活动。情感分析能够为企业实时获取消费者的意见。这种实时的信息有助于企业制定新的营销策略,改进产品功能,并预测产品故障的可能。

根据分析载体的不同,情感分析会涉及很多主题,包括针对电影评论、商品评论,以及新闻和博客等的情感分析。对情感分析的研究到目前为止主要集中在两个方面:识别给定的文本实体是主观的还是客观的,以及识别主观的文本的极性。大多数情感分析研究都使用机器学习方法。

在情感分析领域,文本可以划分为积极和消极两类,或者积极、消极和中性(或不相关)的多类。分析方法主要分为:词法分析、基于机器学习的分析以及混合分析。

词法分析

词法分析运用了由预标记词汇组成的字典,使用词法分析器将输入文本转换为单词序列,将每一个新的单词与字典中的词汇进行匹配。如果有一个积极的匹配,分数加到输入文本的分数总池中;相反,如果有一个消极的匹配,输入文本的总分会减少。具体流程如图2所示。

图 2 词法分析的流程

文本的分类取决于文本的总得分。目前有大量的工作致力于度量词法信息的有效性。对单个短语,通过手动标记词汇(仅包含形容词)的方式,大概能达到85%准确率,这是由评价文本的主观性所决定的。词法分析也存在一个不足:其性能(时间复杂度和准确率)会随着字典大小(词汇的数量)的增加而迅速下降。

机器学习方法

机器学习技术由于其具有高的适应性和准确性受到了越来越多的关注。在情感分析中,主要使用的是监督学习方法。它可以分为三个阶段:数据收集、预处理、训练分类。在训练过程中,需要提供一个标记语料库作为训练数据。分类器使用一系列特征向量对目标数据进行分类。

在机器学习技术中,决定分类器准确率的关键是合适的特征选择,通常来说,单个短语、 两个连续的短语以及三个连续的短语都可以被选为特征向量,当然还有其他的一些特征,如积极词汇的数量等。

机器学习技术面临很多挑战,如分类器的设计、训练数据的获取、对一些未见过的短语的正确解释等等。

混合分析

情感分析研究的进步吸引大量研究者开始探讨将两种方法进行组合的可能性,既可以利用机器学习方法的高准确性,又可以利用词法分析快速的特点。有研究者利用由两个词组成的词汇和一个未标记的数据,将这些由两个词组成的词汇划分为积极的类和消极的类。利用被选择的词汇集合中的所有单词产生一些伪文件。然后计算伪文件与未标记文件之间的余弦相似度。根据相似度将该文件划分为积极的或消极的情感。之后这些训练数据集被送入朴素贝叶斯分类器进行训练。

第2关:基于情感词典的情感分析实战

情感极性分析简介

情感极性分析是对带有感情色彩的主观性文本进行分析、处理、归纳和推理的过程。按照处理文本的类别不同,可分为基于新闻评论的情感分析和基于产品评论的情感分析。其中,前者多用于舆情监控和信息预测,后者可帮助用户了解某一产品在大众心目中的口碑,目前常见的情感极性分析方法主要是两种:基于情感词典的方法和基于机器学习的方法。本实训主要接下来将主要介绍基于情感词典的情感分析,关于基于机器学习的情感分析,将在后续实训中介绍。

图 1

基于情感词典的情感分析

基于情感词典的情感分析应该是最简单的情感分析方法了,它的思路大概为:对文档分词,找出文档中的情感词、否定词以及程度副词,然后判断每个情感词之前是否有否定词及程度副词,将它之前的否定词和程度副词划分为一个组,如果有否定词将情感词的情感权值乘以−1,如果有程度副词就乘以程度副词的程度值,最后所有组的得分加起来,大于0的归于正向,小于0的归于负向。

基于情感词典的情感分析算法流程如下:

  1. 将一个中文文本转换为一个有短句子字符串组成列表

  2. 对每一个短句子字符串进行如下操作:

  • 使用 jieba 分词系统将一个短句子转换成词语、词性对的列表;
  • 使用词语的词性筛选出潜在的情感词语;
  • 在已有的情感词典中查找这些潜在的情感词语;
  • 所查找的情感词语的情感词语分类 以及它的情感值组合成一个词典并记录到一个列表中;
  • 使用相应的算法处理这个列表,得出这个小句子的情感极值。
  1. 将一个中文文本中的所有短句子的情感极值记录在一个列表中;

  2. 使用相应的算法处理这个列表, 得出整个中文文本的情感极值。

采用情感词典的情感分析算法准确度主要取决于分词的准确率以及情感词典的准确率,对句式简单的句子的识别准确率高,但对复杂句子的分析依赖于复杂的文本处理算法。

算法实现

在进行基于情感词典的情感分析之前,首先,我们需要准备好基础数据,包括有情感词典、否定词词典、程度副词词典、停用词词。然后开始进行以下步骤: 1、分词 对我们需要进行情感分析的句子进行分词,将分词结果转为字典,key 为单词,value 为单词在分词结果中的索引。

    def list_to_dict(word_list):data = {}for x in range(0, len(word_list)): # 将分词结果转为字典data[word_list[x]] = x         # key 为单词,value 为索引return data

2、分词结果的处理 在构建好字典以后,我们需要对分词结果进行分类,找出句子中的情感词、否定词和程度副词等等,便于后续计算情感极性分值。

    for word in word_dict.keys():if word in sen_dict.keys() and word not in not_word_list and word not in degree_dic.keys():# 找出分词结果中在情感字典中的词sen_word[word_dict[word]] = sen_dict[word]elif word in not_word_list and word not in degree_dic.keys():# 分词结果中在否定词列表中的词not_word[word_dict[word]] = -1elif word in degree_dic.keys():# 分词结果中在程度副词中的词degree_word[word_dict[word]] = degree_dic[word]

3、计算得分 首先设置初始权重 W 为1,从第一个情感词开始,用权重 W*该情感词的情感值作为得分(用 score 记录),然后判断与下一个情感词之间是否有程度副词及否定词,如果有否定词将W*-1,如果有程度副词,W*程度副词的程度值,此时的 W 作为遍历下一个情感词的权重值,循环直到遍历完所有的情感词,每次遍历过程中的得分 score 加起来的总和就是这篇文档的情感得分。 

    def socre_sentiment(sen_word, not_word, degree_word, seg_result):"""计算得分"""# 权重初始化为1W = 1score = 0# 情感词下标初始化sentiment_index = -1# 情感词的位置下标集合sentiment_index_list = list(sen_word.keys())# 遍历分词结果(遍历分词结果是为了定位两个情感词之间的程度副词和否定词)for i in range(0, len(seg_result)):# 如果是情感词(根据下标是否在情感词分类结果中判断)if i in sen_word.keys():# 权重*情感词得分score += W * float(sen_word[i])# 情感词下标加1,获取下一个情感词的位置sentiment_index += 1if sentiment_index < len(sentiment_index_list) - 1:# 判断当前的情感词与下一个情感词之间是否有程度副词或否定词for j in range(sentiment_index_list[sentiment_index], sentiment_index_list[sentiment_index + 1]):# 更新权重,如果有否定词,取反if j in not_word.keys():W *= -1elif j in degree_word.keys():# 更新权重,如果有程度副词,分值乘以程度副词的程度分值W *= float(degree_word[j])# 定位到下一个情感词if sentiment_index < len(sentiment_index_list) - 1:i = sentiment_index_list[sentiment_index + 1]return score
编程要求

在右侧编辑器中的 Begin-End 之间补充 Python 代码,完成基于情感词典对所输入文本进行情感分析,并输出情感分析结果。其中文本内容通过 input 从后台获取。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

测试输入: 我喜欢和你一起玩

预期输出: Building prefix dict from the default dictionary ... Dumping model to file cache /tmp/jieba.cache Loading model cost 1.083 seconds. Prefix dict has been built successfully. # 分词过程的附件信息 情感分析值为:0.00919122712083

from collections import defaultdict
import jieba
import codecs
def seg_word(sentence): # 使用jieba对文档分词seg_list = jieba.cut(sentence)seg_result = []for w in seg_list:seg_result.append(w)# 读取停用词文件stopwords = set()fr = codecs.open('./stopword.txt', 'r', 'utf-8')for word in fr:stopwords.add(word.strip())fr.close()# 去除停用词return list(filter(lambda x: x not in stopwords, seg_result))
def classify_words(word_dict): # 词语分类,找出情感词、否定词、程度副词# 读取情感字典文件sen_file = open('./sentiment_score.txt', 'r+', encoding='utf-8')# 获取字典文件内容sen_list = sen_file.readlines()# 创建情感字典sen_dict = defaultdict()# 读取字典文件每一行内容,将其转换为字典对象,key为情感词,value为对应的分值for s in sen_list:# 每一行内容根据空格分割,索引0是情感词,索引1是情感分值sen_dict[s.split(' ')[0]] = s.split(' ')[1]# 读取否定词文件not_word_file = open('./notDic.txt', 'r+', encoding='utf-8')# 由于否定词只有词,没有分值,使用list即可not_word_list = not_word_file.readlines()# 读取程度副词文件degree_file = open('./degree.txt', 'r+', encoding='utf-8')degree_list = degree_file.readlines()degree_dic = defaultdict()# 程度副词与情感词处理方式一样,转为程度副词字典对象,key为程度副词,value为对应的程度值for d in degree_list:degree_dic[d.split(',')[0]] = d.split(',')[1]# 分类结果,词语的index作为key,词语的分值作为value,否定词分值设为-1sen_word = dict()not_word = dict()degree_word = dict()# 分类for word in word_dict.keys():if word in sen_dict.keys() and word not in not_word_list and word not in degree_dic.keys():# 找出分词结果中在情感字典中的词sen_word[word_dict[word]] = sen_dict[word]elif word in not_word_list and word not in degree_dic.keys():# 分词结果中在否定词列表中的词not_word[word_dict[word]] = -1elif word in degree_dic.keys():# 分词结果中在程度副词中的词degree_word[word_dict[word]] = degree_dic[word]sen_file.close()degree_file.close()not_word_file.close()# 将分类结果返回return sen_word, not_word, degree_word
def list_to_dict(word_list):data = {}for x in range(0, len(word_list)):data[word_list[x]] = xreturn data
def get_init_weight(sen_word, not_word, degree_word):# 权重初始化为1W = 1# 将情感字典的key转为listsen_word_index_list = list(sen_word.keys())if len(sen_word_index_list) == 0:return W# 获取第一个情感词的下标,遍历从0到此位置之间的所有词,找出程度词和否定词for i in range(0, sen_word_index_list[0]):if i in not_word.keys():W *= -1elif i in degree_word.keys():# 更新权重,如果有程度副词,分值乘以程度副词的程度分值W *= float(degree_word[i])return W
def socre_sentiment(sen_word, not_word, degree_word, seg_result): # 计算得分# 权重初始化为1W = 1score = 0# 情感词下标初始化sentiment_index = -1# 情感词的位置下标集合sentiment_index_list = list(sen_word.keys())# 任务:完成基于情感词典对情感得分的计算# ********** Begin *********#for i in range(0, len(seg_result)):# 如果是情感词(根据下标是否在情感词分类结果中判断)if i in sen_word.keys():# 权重*情感词得分score += W * float(sen_word[i])# 情感词下标加1,获取下一个情感词的位置sentiment_index += 1if sentiment_index < len(sentiment_index_list) - 1:# 判断当前的情感词与下一个情感词之间是否有程度副词或否定词for j in range(sentiment_index_list[sentiment_index], sentiment_index_list[sentiment_index + 1]):# 更新权重,如果有否定词,取反if j in not_word.keys():W *= -1elif j in degree_word.keys():# 更新权重,如果有程度副词,分值乘以程度副词的程度分值W *= float(degree_word[j])# 定位到下一个情感词if sentiment_index < len(sentiment_index_list) - 1:i = sentiment_index_list[sentiment_index + 1]# ********** End **********#return score
def setiment_score(sententce):# 1.对文档分词seg_list = seg_word(sententce)# 2.将分词结果列表转为dic,然后找出情感词、否定词、程度副词sen_word, not_word, degree_word = classify_words(list_to_dict(seg_list))# 3.计算得分score = socre_sentiment(sen_word, not_word, degree_word, seg_list)return score

第3关:基于 SnowNLP 的情感分析实战

情感分析方法

情感分析即对带有主观色彩的文本进行正向、负向、中性等感情色彩进行确定的方法。情感分析的一般步骤为:输入大量真实的评论文本,通过情感分析对每条评论进行正向负向中性判断,再进行统计分析,从而得出作品的好评度。

目前主流的情感分析方法有:基于情感词典的情感分析、基于机器学习的情感分析。

图 1

1、基于情感词典的情感分析 情感词典法,即基于情感词,否定词、副词等大量词库,利用相关计算公式对每条评论进行打分,最后基于得分判断评论的褒贬性。得分为正即为正向评论,如果是负分则是负向评论,0是中性评论。其中情感词、程度词、否定词来自于情感词库,其权重的确定由具体所使用的的模型来确定。算法步骤如图2所示。

图 2 基于情感词典的情感分析

需要注意的是,根据算法对计算出的得分进行的判断,不一定是真实的结果。为了使得判断结果更可信,常常可以通过人工标注对大量评论进行真实准确地判断,再对比算法判断和人工标注的判断来检验算法的准确性。词典匹配的情感分析语料适用范围更广,但受限于语义表达的丰富性。

2、基于机器学习的情感分析 情感分析本质上是一个二分类的问题,通过采用机器学习的方法识别,选取文本中的情感词作为特征词,将文本矩阵化,利用逻辑回归,朴素贝叶斯,支持向量机等方法进行分类。最终分类效果取决于训练文本的选择以及正确的情感标注。算法逻辑如图3所示。

图 3 基于机器学习的情感分析

认识 SnowNLP

SnowNLP 是一个基于 python 的自然语言处理库,可以方便地处理中文文本内容,处理英文内容的包主要有 TextBlob , SnowNLP 则是受 TextBlob 的影响而开发的,和 TextBlob 不同的是,它并没有使用用 NLTK ,所有的算法都是自己实现的,并且自带了一些训练好的字典。

在我们进行自然语言处理的实际开发中,SnowNLP 是一个很好的工具。SnowNLP 的功能有很多,如中文分词、词性标注、文本分类、情感分析等等。SnowNLP 在实际应用的过程中,我们需要先根据文本创建一个 SnowNLP 对象,再使用对应的方法进行想要的操作。

示例:对文本进行分词

 
  1. from snownlp import SnowNLP
  2. s = SnowNLP(u'这个东西真心很赞') # 对文本进行分词
  3. print(s.words)

输出结果: ['这个', '东西', '真心', '很', '赞']

基于 SnowNLP 进行情感分析

SnowNLP 库中的已经训练好的情感分析模型是基于商品的评论数据而得出的,因此,在实际使用的过程中,需要根据自己的情况,重新训练模型。在使用 SnowNLP 进行情感分析时,会得到一个返回值,返回值代表的是文本为正面情绪的概率,越接近1表示正面情绪,越接近0表示负面情绪。

示例:文本情感分析

 
  1. from snownlp import SnowNLP
  2. s = SnowNLP(u"今天我很快乐。你怎么样呀?"); # 对文本进行情感分析
  3. print("[sentiments]",s.sentiments);

输出结果: [sentiments] 0.971889316039116

在实际的项目中,可以根据需要对实际的数据重新训练情感分析的模型,训练步骤大致分为如下的几个步骤:

  1. 准备正负样本,并分别保存;

  2. 利用 SnowNLP 训练新的模型;

  3. 保存好新的模型以供情感分析。

编程要求

在右侧编辑器中的 Begin-End 之间补充 Python 代码,完成基于 SnowNLP 对所输入文本进行情感分析,并输出情感分析结果。其中文本内容通过 input 从后台获取。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

测试输入: 今天很欢乐

预期输出: 积极情绪

from snownlp import SnowNLP
def Analysis():text = input()result=0
# 任务:使用 SnowNLP 模块,对 text文本进行情感分析,将分析结果保存到result变量中
# ********** Begin *********#s=SnowNLP(text)result=s.sentiments
# ********** End **********#return result

相关文章:

情感分析方法与实践

第1关&#xff1a;情感分析的基本方法 情感分析简介 情感分析&#xff0c;又称意见挖掘、倾向性分析等。简单而言&#xff0c;是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。在日常生活中&#xff0c;情感分析的应用非常普遍&#xff0c;下面列举几种常见的…...

迁移学习——CycleGAN

CycleGAN 1.导入需要的包2.数据加载&#xff08;1&#xff09;to_img 函数&#xff08;2&#xff09;数据加载&#xff08;3&#xff09;图像转换 3.随机读取图像进行预处理&#xff08;1&#xff09;函数参数&#xff08;2&#xff09;数据路径&#xff08;3&#xff09;读取文…...

【软件测试】对于测试中的bug,我们真正了解了吗?

目录 1.软件测试的生命周期 1.1.软件测试阶段流程 1.2.各流程的任务 2.什么是bug 2.1.bug的概念 2.2.怎么描述bug 2.3.bug的级别 2.4.bug的生命周期 1.软件测试的生命周期 在学习bug前&#xff0c;我们先来学习一下软件测试的生命周期&#xff0c;也就是测试人员进行测…...

Packer-Fuzzer一款好用的前端高效安全扫描工具

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性&#xff0c;仅供安全研究与学习之用&#xff0c;读者将信息做其他用途&#xff0c;由Ta承担全部法律及连带责任&#xff0c;文章作者不承担任何法律及连带责任。 1、Packer Fuzzer介绍 Packer Fuzzer是一款针对Webpack…...

解决卸载TabX explorer软件后导致系统文件资源管理器无法正常使用问题

最近安装了最新版本的鲁大师&#xff0c;安装过程中不小心同时安装了捆绑软件TabX explorer。这个软件和系统自带的文件资源管理器很像&#xff0c;最后弹出会员到期才发现&#xff0c;这个不是系统文件资源管理器&#xff0c;是第三方的文件资源管理器&#xff0c;就按正常流程…...

qt for android 使用打包sqlite数据库文件方法

1.在使用sqlite数据库时&#xff0c;先将数据库文件打包&#xff0c;放置在assets中如下图: 将文件放置下android中的assets下的所有文件都会打包在APK中&#xff0c;可以用7zip查看apk文件 2.在qt代码读取数据文件&#xff0c;注意在assets下的文件都是Read-Only&#xff0c;需…...

MYBATIS大于等于、小于等于的写法

mybatis使用的是xml格式的文件。使用>和<号的时候&#xff0c;会存在与xml的标签的规范冲突。需要写成如下形式&#xff0c;否则会报错。 第一种写法 原符号 替换符号 < < < <> > > >& &amp; &…...

基于堆叠长短期记忆网络 Stacked LSTM 预测A股股票价格走势

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…...

SpringCloud Alibaba Sentinel基础入门与安装

GitHub地址&#xff1a;https://github.com/alibaba/Sentinel 中文文档&#xff1a;https://sentinelguard.io/zh-cn/docs/introduction.html 下载地址&#xff1a;https://github.com/alibaba/Sentinel/releases Spring Cloud Alibaba 官方说明文档&#xff1a;Spring Clou…...

Arduino IDE下载、安装和配置

文章开始先把我自己网盘里的安装包分享给大家&#xff0c;链接&#xff1a;https://pan.baidu.com/s/1cb2_3m0LnuSKLnWP_YoWPw?pwdwwww 提取码&#xff1a;wwww 里面一个是Arduino IDE的安装包&#xff0c;另一个是即将发布的版本。 第一个安装包打开直接按照我的步骤安装就…...

SOBEL图像边缘检测器的设计

本项目使用FPGA设计出SOBEL图像边缘检测器&#xff0c;通过分析项目在使用过程中的工作原理和相关软硬件设计进行分析详细介绍SOBEL图像边缘检测器的设计。 资料获取可联系wechat 号&#xff1a;comprehensivable 边缘可定义为图像中灰度发生急剧变化的区域边界,它是图像最基本…...

Day35:2734. 执行字串操作后的字典序最小字符串

Leetcode 2734. 执行字串操作后的字典序最小字符串 给你一个仅由小写英文字母组成的字符串 s 。在一步操作中&#xff0c;你可以完成以下行为&#xff1a; 选择 s 的任一非空子字符串&#xff0c;可能是整个字符串&#xff0c;接着将字符串中的每一个字符替换为英文字母表中的前…...

【高考志愿】机械工程

目录 一、专业概述 二、学科特点 三、就业前景 四、机械工程学科排名 五、专业选择建议 高考志愿选择机械工程&#xff0c;这是一个需要深思熟虑的决定&#xff0c;因为它不仅关乎未来的学习和职业发展&#xff0c;更是对自我兴趣和潜能的一次重要考量。 一、专业概述 机…...

ffmpeg将mp4转换为swf

文章目录 ffmpeg安装、配置java运行报错 Cannot run program "ffmpeg" ffmpeg命令mp4转为swf示例 ### ffmpeg -i input.mkv -b:v 600 -c:v libx264 -vf scale1920:1080 -crf 10 -ar 48000 -r 24 output.swfmkv转为swf示例 其他文档命令参数简介 需要将mp4转换为swf&a…...

论文学习 --- RL Regret-based Defense in Adversarial Reinforcement Learning

前言 个人拙见,如果我的理解有问题欢迎讨论 (●′ω`●) 原文链接:https://www.ifaamas.org/Proceedings/aamas2024/pdfs/p2633.pdf 研究背景 深度强化学习(Deep Reinforcement Learning, DRL)在复杂和安全关键任务中取得了显著成果,例如自动驾驶。然而,DRL策略容易受…...

【Linux小命令】一文讲清ldd命令及使用场景

一文讲清ldd命令及使用场景 前言下面进入正题&#xff1a;ldd命令 前言 博主今天ubuntu编译go项目出来的一个可执行文件&#xff0c;放centos运行发现居然依赖于XXlib库。然后我一下就想到两个系统库版本不一致&#xff0c;重编。换系统&#xff0c;导项目&#xff0c;配环境……...

自费5K,测评安德迈、小米、希喂三款宠物空气净化器谁才是高性价比之王

最近&#xff0c;家里的猫咪掉毛严重&#xff0c;简直成了一个活生生的蒲公英&#xff0c;家中、空气中各处都弥漫着猫浮毛甚至所有衣物都覆盖着一层厚厚的猫毛。令人难以置信的是&#xff0c;有时我甚至在抠出的眼屎中都能发现夹杂着几根猫毛。真的超级困扰了。但其实最空气中…...

1373. 二叉搜索子树的最大键值和

Problem: 1373. 二叉搜索子树的最大键值和 文章目录 思路解题方法复杂度Code 思路 解决这个问题的关键在于采用深度优先搜索&#xff08;DFS&#xff09;策略&#xff0c;并结合树形动态规划的思想。我们需要设计一个递归函数&#xff0c;它不仅能够遍历整棵树&#xff0c;还能…...

基于java + Springboot 的二手物品交易平台实现

目录 &#x1f4da; 前言 &#x1f4d1;摘要 &#x1f4d1;系统架构 &#x1f4da; 数据库设计 &#x1f4da; 系统功能的具体实现 &#x1f4ac; 登录模块 首页模块 二手商品轮播图添加 &#x1f4ac; 后台功能模块 二手商品商品列表 添加二手商品商品 添加购物车 &a…...

Shopee本土店选品有什么技巧?EasyBoss ERP为你整理了6个高效选品的方法!

电商圈有句话叫&#xff1a;七分靠选品&#xff0c;三分靠运营&#xff0c;选品对了&#xff0c;事半功倍&#xff0c;选品错了&#xff0c;功亏一篑&#xff01; 很多卖家都会为选品发愁&#xff0c;特别对于Shopee本土店卖家来说&#xff0c;要囤货到海外仓&#xff0c;如果…...

3D在线展览馆的独特魅力,技术如何重塑展览业的未来?

在数字化和虚拟现实技术迅猛发展的今天&#xff0c;3D在线展览馆已经成为一种颇具前景的创新形式。搭建3D在线展览馆不仅能够突破传统展览的时空限制&#xff0c;还能为参观者提供身临其境的体验&#xff0c;极大地提升展示效果和用户互动。 一、3D在线展览馆的意义 1、突破时空…...

基于SpringBoot的藏区特产销售平台

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; SpringBoot框架 工具&#xff1a; MyEclipse 系统展示 首页 个人中心 特产信息管理 订单管…...

hudi系列-schema evolution(一)

hudi+flink在非schema on read模式下也表现出了支持一部分的schema evolution功能,本篇中测试一下在非schema on read模式下,发生各种列变更情况时数据写入与读取情况。 flink 1.14.5hudi 0.13.1mor表思路: 选择mor表是因为它的数据文件有avro和parquet两种格式,能覆盖得更…...

Redis-实战篇-缓存雪崩

文章目录 1、缓存雪崩2、解决方案&#xff1a; 1、缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机&#xff0c;导致大量请求到达数据库&#xff0c;带来巨大压力。 2、解决方案&#xff1a; 给不同的key的TTL添加随机值利用Redis集群提高服务的可用性…...

线性代数|机器学习-P18快速下降奇异值

文章目录 1. 为什么要低秩矩阵1.1 矩阵A的秩定义1.2 矩阵压缩PCA 2. 低秩矩阵图像处理3. 秩的相关性质3.1 秩的公差轴表示3.2 Eckart-Young 定理 4. 低秩矩阵4.1 低秩矩阵描述4.2 函数低秩矩阵形式4.3通项小结4.4 函数采样拟合 5. 西尔维斯特方程5.1 希尔伯特矩阵举例5.2 范德蒙…...

本地离线模型搭建指南-中文大语言模型底座选择依据

搭建一个本地中文大语言模型&#xff08;LLM&#xff09;涉及多个关键步骤&#xff0c;从选择模型底座&#xff0c;到运行机器和框架&#xff0c;再到具体的架构实现和训练方式。以下是一个详细的指南&#xff0c;帮助你从零开始构建和运行一个中文大语言模型。 本地离线模型搭…...

【代码随想录】【算法训练营】【第51天】 [115]不同的子序列 [583]两个字符串的删除操作 [72]编辑距离

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 51&#xff0c;周四&#xff0c;又是不能坚持的一天~ 题目详情 [115] 不同的子序列 题目描述 115 不同的子序列 解题思路 前提&#xff1a; 思路&#xff1a; 重点&#xff1a; 代码实现 …...

24下半年软考集合!30s打破信息差!

01软考是什么&#xff1f; 软考&#xff0c;全称为计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试&#xff0c;也称为计算机资格考试&#xff0c;是由国家人力资源和社会保障部、工业和信息化部领导的国家级考试。它既是国家级资格证书&#xff0c;又是职称资…...

如何在Xcode中设置库路径

在Xcode中设置库路径的过程可以分为以下几个步骤&#xff0c;下面将结合参考文章中的信息&#xff0c;以清晰、分点表示和归纳的方式给出指导&#xff1a; 1. 确定库的类型和来源 动态库&#xff08;.dylib或.framework&#xff09;或静态库&#xff08;.a&#xff09;&#…...

小程序的基本使用

【 0 】前言 【 0 】 这个就是js代码的存放地方 app.json // pages/banner/banner.js Page({/*** 页面的初始数据*/data: {},/*** 生命周期函数--监听页面加载*/onLoad(options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示…...

[保姆级教程]uniapp设置字体引入字体格式

文章目录 在 UniApp 中设置和引入自定义字体&#xff08;如 .ttf、.woff、.woff2 等格式&#xff09;通常涉及几个步骤。 准备字体文件&#xff1a; 首先&#xff0c;你需要有字体文件。这些文件通常以 .ttf、.woff 或 .woff2 格式提供。确保有权使用这些字体&#xff0c;并遵守…...

【Webpack】前端工程化之Webpack与模块化开发

目 录 前言模块化开发Stage1 - 文件划分方式Stage2 - 命名空间方式Stage3 - IIFE&#xff08;立即调用函数表达式&#xff09;Stage 4 - IIFE 依赖参数模块化的标准规范 使用Webpack实现模块化打包安装WebpackWebpack基本配置Webpack构建流程Webpack热更新Webpack打包优化 前言…...

【Android】记录在自己的AMD处理器无法使用Android studio 虚拟机处理过程

文章目录 问题&#xff1a;无法在AMD平台打开Android studio 虚拟机&#xff0c;已解决平台&#xff1a;AMD 5700g系统&#xff1a;win10专业版1、在 amd平台上使用安卓虚拟机需要安装硬件加速器2、关闭win10上的系统服务 问题&#xff1a;无法在AMD平台打开Android studio 虚拟…...

LearnOpenGL - Android OpenGL ES 3.0 使用 FBO 进行离屏渲染

系列文章目录 LearnOpenGL 笔记 - 入门 01 OpenGLLearnOpenGL 笔记 - 入门 02 创建窗口LearnOpenGL 笔记 - 入门 03 你好&#xff0c;窗口LearnOpenGL 笔记 - 入门 04 你好&#xff0c;三角形OpenGL - 如何理解 VAO 与 VBO 之间的关系LearnOpenGL - Android OpenGL ES 3.0 绘制…...

人工智能虚拟仿真系统,解决算法难、编程难、应用场景难三大难题

近年来&#xff0c;人工智能技术迅猛发展&#xff0c;广泛渗透至各行业&#xff0c;市场份额持续扩大&#xff0c;预示着智能化转型的广阔前景。该行业本质上属于知识高度密集型&#xff0c;近年来的迅猛发展进一步加剧了对专业人才的迫切需求。 然而&#xff0c;我国目前在人工…...

CTE(公共表表达式)和视图在查询时的性能影响

在SQL查询优化和数据库设计中&#xff0c;CTE&#xff08;公共表表达式&#xff09;和视图都是常用的工具。尽管它们在功能和使用场景上有很多相似之处&#xff0c;但在查询性能方面可能存在显著差异。本文将探讨CTE和视图在查询时的性能影响&#xff0c;帮助您在实际项目中做出…...

新能源行业必会基础知识-----电力市场概论笔记-----绪论

新能源行业知识体系-------主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/139946830 目录 1. 电力市场的定义2. 对传统电力系统理论的挑战 1. 电力市场的定义 1. 我国电力市场的进程 我国新一轮电力体制改革的5大亮点&…...

003 SpringBoot操作ElasticSearch7.x

文章目录 5.SpringBoot集成ElasticSearch7.x1.添加依赖2.yml配置3.创建文档对象4.继承ElasticsearchRepository5.注入ElasticsearchRestTemplate 6.SpringBoot操作ElasticSearch1.ElasticsearchRestTemplate索引操作2.ElasticsearchRepository文档操作3.ElasticsearchRestTempl…...

npm install报错Maximum call stack size exceeded

npm 报错 方案&#xff1a; npm cache clean --force npm install...

第1章 基础知识

第1章 基础知识 1.1 机器语言 机器语言就是机器指令的集合&#xff0c;机器指令展开来讲就是一台机器可以正确执行的命令 1.2 汇编语言的产生 汇编语言的主题是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上&#xff0c;汇编指令是机器指令便于记忆的书写格式。…...

python脚本 限制 外部访问 linux服务器端口

注意&#xff1a;该脚本会清空linux防火墙的filter表的规则和用户自定义链路 脚本的效果是将端口限制为仅服务器内部访问 可以提供ip地址白名单 具体脚本&#xff1a; #!/usr/bin/python3 import argparse, subprocess, sys, redef popen(cmd):global resulttry:result su…...

Redis-哨兵模式-主机宕机-推选新主机的过程

文章目录 1、为哨兵模式准备配置文件2、启动哨兵3、主机6379宕机3.4、查看sentinel控制台日志3.5、查看6380主从信息 4、复活63794.1、再次查看sentinel控制台日志 1、为哨兵模式准备配置文件 [rootlocalhost redis]# ll 总用量 244 drwxr-xr-x. 2 root root 150 12月 6 2…...

游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发

游戏工厂&#xff1a;AI&#xff08;AIGC/ChatGPT&#xff09;与流程式游戏开发 码客 卢益贵 ygluu 关键词&#xff1a;AI&#xff08;AIGC、ChatGPT、文心一言&#xff09;、流程式管理、好莱坞电影流程、电影工厂、游戏工厂、游戏开发流程、游戏架构、模块化开发 一、前言…...

每日一练 - OSPF 组播地址

01 真题题目 判断以下陈述是否正确&#xff1a; 224.0.0.6 是 ALL DRouters 监听地址 224.0.0.5 是 ALL SPFRouters 监听地址 A.正确 B.错误 02 真题答案 A 03 答案解析 在OSPF (Open Shortest Path First) 路由协议中&#xff0c;为了实现高效的信息交换和发现邻居&#x…...

AMHS工程师的培养

一、岗位职责主要包括: 1. 负责生产现场设备运行维护及异常处理,确保设备安全操作与保养。 2. 制定并实施AMHS计划和措施,对过程问题进行追踪解决。 3. 监控生产过程中的不良品率,确保生产过程的稳定性。 4. 建立AMHS标准作业程序文件,并定期更新和维护。 5. 负责AMHS…...

如何在前端项目中制定代码注释规范

本文是前端代码规范系列文章&#xff0c;将涵盖前端领域各方面规范整理&#xff0c;其他完整文章可前往主页查阅~ 开始之前&#xff0c;介绍一下​最近很火的开源技术&#xff0c;低代码。 作为一种软件开发技术逐渐进入了人们的视角里&#xff0c;它利用自身独特的优势占领市…...

一位苹果手机硬件工程师繁忙的一天

早晨&#xff1a;迎接新的一天 7:00 AM - 起床 早晨七点准时起床。洗漱、吃早餐后&#xff0c;查看手机上的邮件和消息&#xff0c;以便提前了解今天的工作安排和优先事项。 7:30 AM - 前往公司 开车前往位于加州库比蒂诺的苹果总部。在车上习惯性地听一些与电子工程相关的播…...

Python | 使用均值编码(MeanEncoding)处理分类特征

在特征工程中&#xff0c;将分类特征转换为数字特征的任务称为编码。 有多种方法来处理分类特征&#xff0c;如OneHotEncoding和LabelEncoding&#xff0c;FrequencyEncoding或通过其计数替换分类特征。同样&#xff0c;我们可以使用均值编码(MeanEncoding)。 均值编码 均值…...

面试-java异常体系

1.java异常体系 error类是指与jvm相关的问题。如系统崩溃&#xff0c;虚拟机错误&#xff0c;内存空间不足。 非runtime异常不处理&#xff0c;程序就没有办法执行。 一旦遇到异常抛出&#xff0c;后面的异常就不会进行。 (1)常见的error以及exception 2.java异常要点分析…...

Clickhouse 的性能优化实践总结

文章目录 前言性能优化的原则数据结构优化内存优化磁盘优化网络优化CPU优化查询优化数据迁移优化 前言 ClickHouse是一个性能很强的OLAP数据库&#xff0c;性能强是建立在专业运维之上的&#xff0c;需要专业运维人员依据不同的业务需求对ClickHouse进行有针对性的优化。同一批…...