文本分析--tfidf、word2vec

TF-IDF

  • 词频(TF) = 某个词在文章中的出现次数 / 文章总词数 或者 词频(TF) = 某个词在文章中的出现次数 / 拥有最高词频的词的次数。
  • 逆文档频率(IDF) = log(语料库的文档总数/包含该词的文档总数+1)
  • TF-IDF = 词频(TF) * 逆文档频率(IDF)

主要应用:

  • 关键词提取,找相似文章,文章自动摘要,作为分类或聚类的输入。

word2vec

  • word2vec主要分为CBOW(Continuous Bag of Words)和Skip-Gram两种模式。CBOW是从原始语句推测目标字词;而Skip-Gram正好相反,是从目标字词推测出原始语句。CBOW对小型数据库比较合适,而Skip-Gram在大型语料中表现更好。
  • 对同样一个句子:Hangzhou is a nice city。我们要构造一个语境与目标词汇的映射关系,其实就是input与label的关系。
    这里假设滑窗尺寸为1
  • CBOW可以制造的映射关系为:[Hangzhou,a]—>is,[is,nice]—>a,[a,city]—>nice
  • Skip-Gram可以制造的映射关系为(is,Hangzhou),(is,a),(a,is), (a,nice),(nice,a),(nice,city)

主要应用:

实现:

  • python:Gensim
  • java:dl4j
  • spark:mlib

实战:

https://blog.csdn.net/qq_41664845/article/details/80305101

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Jupyter 中,可以使用 Python 编写代码实现 TF-IDFWord2Vec 对文本数据进行处理。 TF-IDFTF-IDF(Term Frequency-Inverse Document Frequency)是一种常用的文本特征提取方法,它可以通过统计文本中每个单词的出现频率和在文档中出现的频率来计算单词的权重,从而用向量的方式表示文本。在 Python 中,我们可以使用 scikit-learn 库中的 TfidfVectorizer 类来实现 TF-IDF 特征提取。具体实现可以参考以下代码: ``` from sklearn.feature_extraction.text import TfidfVectorizer # 构建 TF-IDF 特征提取器 tfidf = TfidfVectorizer() # 训练 TF-IDF 特征提取器 tfidf.fit(text_list) # 转换文本为 TF-IDF 特征向量 tfidf_vector = tfidf.transform(text_list) ``` 其中,text_list 是文本数据列表,每个元素是一个字符串表示的文本。 Word2VecWord2Vec 是一种将单词转换为向量表示的方法,可以通过训练文本数据来学习单词之间的相似度关系。在 Python 中,我们可以使用 gensim 库来实现 Word2Vec 特征提取。具体实现可以参考以下代码: ``` from gensim.models import Word2Vec # 训练 Word2Vec 特征提取器 model = Word2Vec(text_list, size=100, window=5, min_count=1, workers=4) # 获取单词向量 vector = model.wv['word'] ``` 其中,text_list 是文本数据列表,每个元素是一个字符串表示的文本。size 表示生成的单词向量的维度,window 表示训练时窗口大小,min_count 表示单词出现的最小次数,workers 表示训练时使用的线程数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值