Loading [MathJax]/jax/output/CommonHTML/jax.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >理想汽车今年薪资,太猛了。。。

理想汽车今年薪资,太猛了。。。

作者头像
Python编程爱好者
发布于 2024-01-22 05:03:18
发布于 2024-01-22 05:03:18
28500
代码可运行
举报
运行总次数:0
代码可运行

Hi,我是Johngo~

最近,理想汽车的薪资问题在网上挺火的。

主要原因还是工作内容和氛围都不错,而且薪资不低。

就拿今天看到的一位同学来说,nlp的薪资给到了39k,14薪。如果再加上七七八八,年包能到60~70w。

看了这个薪资,以及大家的评论,有人说虽然达不到975,但最多也是995。可是薪资福利确实不错。

我在网上看了其他的招聘信息,确实不低,可以作为后面目标企业之一。

比如,NLP不同工作年龄给到的薪资。

如果按照这个薪资来说,最起码45k以上吧。

在看大数据的,也是这样的薪资~

在加上其他方面的福利,受到了不少同学的喜爱。

今天趁这个机会,咱们说一个上周有同学问到的一个技术问题:文本分类任务中的TF-IDF和词嵌入之间的选择

下面,咱们来详细的说一说~

1. TF-IDF(Term Frequency-Inverse Document Frequency)

TF-IDF是一种用于信息检索和文本挖掘的常用特征表示方法。通过计算文档中词语的权重,强调在文档中频繁出现但在语料库中不常见的词语。

TF(词频)表示某个词在文档中出现的频率,而IDF(逆文档频率)表示包含该词的文档在整个语料库中的稀有程度。TF-IDF的计算公式如下:

其中,

表示词语,

表示文档,

表示整个语料库。

下面用代码实现一下,大家可以按照刚刚说的原理进行理解~

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from sklearn.feature_extraction.text import TfidfVectorizer

corpus = ["This is a sample document.", "Another document.", "And another document."]

vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(corpus)

feature_names = vectorizer.get_feature_names_out()
dense_matrix = tfidf_matrix.todense()

# 输出TF-IDF矩阵
print("TF-IDF Matrix:")
print(dense_matrix)

# 输出特征词
print("\nFeature Names:")
print(feature_names)

由于TF-IDF矩阵是稀疏矩阵,可以借助seabornmatplotlib通过热力图来表示词语的权重,更加的直观一些。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import seaborn as sns
import matplotlib.pyplot as plt

sns.heatmap(dense_matrix, annot=True, xticklabels=feature_names, cmap="viridis")
plt.title("TF-IDF Matrix")
plt.show()

下面再说说词嵌入!

2. 词嵌入(Word Embeddings)

词嵌入是一种将词语映射到高维实数向量空间的技术,其中词语的语义相似性通过向量之间的距离来表示。Word2Vec和GloVe是常见的词嵌入模型。

Word2Vec中,词语的分布式表示是通过训练神经网络来学习的,而GloVe通过全局统计信息来生成词向量,考虑了词语之间的共现信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from gensim.models import Word2Vec
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt

# 假设有一个已经分好词的文本列表
sentences = [["this", "is", "a", "sample", "sentence"],
             ["another", "sentence"],
             ["yet", "another", "sentence"]]

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

# 获取词向量
word_vectors = model.wv

# PCA降维,将词向量可视化
words = list(word_vectors.index_to_key)
vectors = word_vectors[words]
pca = PCA(n_components=2)
vectors_2d = pca.fit_transform(vectors)

# 输出词嵌入可视化图
plt.scatter(vectors_2d[:, 0], vectors_2d[:, 1])
for i, word in enumerate(words):
    plt.annotate(word, xy=(vectors_2d[i, 0], vectors_2d[i, 1]))
plt.title("Word Embeddings Visualization")
plt.show()

那么,刚刚说了两种算法的原理之后,再来看看各自的优势~

TF-IDF优势:

  1. 直观且解释性强,可以理解为每个词在文档中的重要性。
  2. 适用于稀疏的高维数据,尤其在文本分类任务中,文档往往包含大量词汇,但每个文档只使用其中的一小部分。

词嵌入优势:

  1. 捕捉了词语之间的语义关系,更能表达词语之间的相似性。
  2. 可以通过预训练模型(如Word2Vec、GloVe)获得丰富的语言知识,适用于更复杂的自然语言处理任务。

总结下来呢:

  • TF-IDF: 适用于文本分类等任务,简单直观,对高维稀疏数据效果好。
  • 词嵌入: 适用于更复杂的NLP任务,能够捕捉语义关系,但需要大量数据进行训练。

在选择时需根据任务需求和数据特点来权衡使用TF-IDF还是词嵌入,有时候也可以将两者结合使用,融合它们的优势。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Johngo学长 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
关于自然语言处理,数据科学家需要了解的 7 项技术
现代公司要处理大量的数据。这些数据以不同形式出现,包括文档、电子表格、录音、电子邮件、JSON以及更多形式。这类数据最常用的记录方式之一就是通过文本,这类文本通常与我们日常所使用的自然语言十分相似。
CDA数据分析师
2020/05/06
1.2K0
20 行代码!带你快速构建基础文本搜索引擎 ⛵
本文使用tf-idf(词频-逆文件频率)、lsi(潜在语义索引)和 doc2vec(文档向量化嵌入)这3种最基础的NLP文档嵌入技术,对文本进行嵌入操作(即构建语义向量)并完成比对检索,构建一个基础版的文本搜索引擎。
ShowMeAI
2022/08/26
5900
20 行代码!带你快速构建基础文本搜索引擎 ⛵
TF-IDF算法
TF-IDF(Term Frequency-Inverse Document Frequency,词频-逆文档频率)是一种常用于文本挖掘和信息检索的加权技术。TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
红目香薰
2024/06/16
4810
文本在计算机中的表示方法总结
本文为 AI 研习社社区用户 @Dendi 独家投稿内容,欢迎扫描底部社区名片访问 @Dendi 的主页,查看更多内容。
AI研习社
2019/10/29
3.2K0
文本在计算机中的表示方法总结
sklearn+gensim︱jieba分词、词袋doc2bow、TfidfVectorizer
版权声明:博主原创文章,微信公众号:素质云笔记,转载请注明来源“素质云博客”,谢谢合作!! https://blog.csdn.net/sinat_26917383/article/details/71436563
悟乙己
2019/05/26
3.8K0
使用BERT升级你的初学者NLP项目
随着强大的模型越来越容易访问,我们可以轻松地利用深度学习的一些力量,而不必优化神经网络或使用GPU。
磐创AI
2021/08/05
1.4K0
使用BERT升级你的初学者NLP项目
乱炖“简书交友”数据之代码(2)
继续更新出来本系列的代码:乱炖数据之2700余篇“简书交友”专题文章数据的花式玩法
古柳_DesertsX
2018/08/21
7910
乱炖“简书交友”数据之代码(2)
数据分析:文本分类
本章节中所涉及的知识点偏向于机器学习的范畴,那么机器学习和数据分析有什么区别呢。简单来讲,数据分析是少量数据采样分析而机器学习是海量数据全部分析。比较好的理解一点是,数据分析会总结过去已经发生的事情,而机器学习是为了预测未来发生的事情。这两者也是有相辅相成的关系。我们可以通过机器学习预测的结果,进行数据分析,得到一个相对准确的结论,辅助人们进行决策判断等等。
马拉松程序员
2023/09/02
4070
数据分析:文本分类
【python】教你彻底了解Python中的自然语言处理(NLP)
​​​自然语言处理(Natural Language Processing,简称NLP)是人工智能的一个重要分支,旨在通过计算机理解和生成人类语言。在Python中,有许多强大的库和工具可以用于自然语言处理。本文将深入探讨Python在自然语言处理中的应用,涵盖自然语言处理的基本概念、常用的NLP库、文本预处理、词嵌入与特征提取、文本分类、情感分析、命名实体识别,以及一些实际应用示例。
E绵绵
2025/05/25
1720
教程 | 一文读懂如何用LSA、PSLA、LDA和lda2vec进行主题建模
在自然语言理解任务中,我们可以通过一系列的层次来提取含义——从单词、句子、段落,再到文档。在文档层面,理解文本最有效的方式之一就是分析其主题。在文档集合中学习、识别和提取这些主题的过程被称为主题建模。
机器之心
2018/07/30
1.8K0
教程 | 一文读懂如何用LSA、PSLA、LDA和lda2vec进行主题建模
词向量发展历程:技术及实战案例
词向量(Word Vector)或词嵌入(Word Embedding)是自然语言处理(NLP)中的一项基础技术,它允许我们将自然语言中的词汇表示为实数向量。这些向量通常存在于一个高维空间内,其中每一个维度都可能代表着某种语义属性。通过这种转换,机器学习模型可以捕捉到词语之间复杂的关系,如语义相似性、反义、上下位关系等。
TechLead
2024/04/17
2K0
词向量发展历程:技术及实战案例
XGBoost 实现文本分类与sklearn NLP库TfidfVectorizer
在文本分类任务中经常使用XGBoost快速建立baseline,在处理文本数据时需要引入TFIDF将文本转换成基于词频的向量才能输入到XGBoost进行分类。这篇博客将简单阐述XGB进行文本分类的实现与部分原理。
大鹅
2021/12/23
2.8K1
5分钟 NLP系列—— 11 个词嵌入模型总结
来源:DeepHub IMBA本文约1000字,建议阅读5分钟本片文章将对词嵌入的模型做一个完整的总结。 TF-IDF, Word2Vec, GloVe, FastText, ELMO, CoVe, BERT, RoBERTa 词嵌入在深度模型中的作用是为下游任务(如序列标记和文本分类)提供输入特征。在过去的十年中,已经提出了很多种词嵌入方法,本片文章将对这些词嵌入的模型做一个完整的总结。 与上下文无关 这类模型学习到的表征的特点是,在不考虑单词上下文的情况下,每个单词都是独特的和不同的。 不需要学
数据派THU
2022/03/04
1.2K0
Word2Vec
本文介绍了如何使用Spark 2.0处理文本数据,通过Word2Vec将文本转为向量,并利用聚类、分类和回归算法进行文本分析。实验结果表明,Word2Vec对文本向量化效果良好,聚类和分类算法可以有效地对文本进行分类。
用户1171305
2017/12/28
1.1K0
入门 | CNN也能用于NLP任务,一文简述文本分类任务的7个模型
本文是我之前写过的一篇基于推特数据进行情感分析的文章(https://ahmedbesbes.com/sentiment-analysis-on-twitter-using-word2vec-and-keras.html)的延伸内容。那时我建立了一个简单的模型:基于 keras 训练的两层前馈神经网络。用组成推文的词嵌入的加权平均值作为文档向量来表示输入推文。
机器之心
2018/07/26
1.8K0
入门 | CNN也能用于NLP任务,一文简述文本分类任务的7个模型
手把手教你在Python中实现文本分类(附代码、数据集)
文本分类是商业问题中常见的自然语言处理任务,目标是自动将文本文件分到一个或多个已定义好的类别中。文本分类的一些例子如下:
数据派THU
2018/07/30
12.8K2
手把手教你在Python中实现文本分类(附代码、数据集)
Python人工智能 | 二十一.CNN和Word2Vec中文文本分类详解及与机器学习分类对比
从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前一篇文章分享了Keras实现RNN和LSTM的文本分类算法,并与传统的机器学习分类算法进行对比实验。这篇文章我们将继续巩固文本分类知识,主要讲解CNN实现中文文本分类的过程,并与贝叶斯、决策树、逻辑回归、随机森林、KNN、SVM等分类算法进行对比。注意,本文以代码为主,文本分类叙述及算法原理推荐阅读前面的文章。基础性文章,希望对您喜欢~
Eastmount
2023/02/28
3.4K0
Python人工智能 | 二十一.CNN和Word2Vec中文文本分类详解及与机器学习分类对比
白话词嵌入:从计数向量到Word2Vec
答案是——“文本处理”。上面三个场景通过处理海量文本,完成了三个不同的任务:聚类、分类和机器翻译。
SeanCheney
2019/09/18
1.2K0
白话词嵌入:从计数向量到Word2Vec
关于词云可视化笔记四(tf-idf分析及可视化)
TF-IDF(term frequency–inversedocument frequency)是一种用于信息检索与数据挖掘的常用加权技术。
python与大数据分析
2022/03/11
1.7K0
关于词云可视化笔记四(tf-idf分析及可视化)
【AI】探索自然语言处理(NLP):从基础到前沿技术及代码实践
自然语言处理(NLP)是人工智能领域的一个重要分支,它使计算机能够理解、生成、分析和与人类语言进行交互。随着科技的不断发展,NLP技术得到了显著提升,尤其是在深度学习的帮助下,NLP正在越来越广泛地应用于各种领域,如搜索引擎、智能助手、机器翻译、语音识别和情感分析等。
云边有个稻草人
2025/02/03
2870
推荐阅读
相关推荐
关于自然语言处理,数据科学家需要了解的 7 项技术
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验