sklearn.feature_extraction.text中常见 Vectorizer 使用方法以及Tf–idf 值获取

对于在tf-idf进行关键字提取的过程中,Scikit-learn提供了TFIDF算法的相关函数,本文主要用到了sklearn.feature_extraction.text下的TfidfTransformer和CountVectorizer函数。其中,CountVectorizer函数用来构建语料库的中的词频矩阵,TfidfTransformer函数用来计算词语的tfidf权值。

本部分参考自:http://sklearn.apachecn.org/#/docs/39?id=_52-%e7%89%b9%e5%be%81%e6%8f%90%e5%8f%96

模块 sklearn.feature_extraction 可用于提取符合机器学习算法支持的特征,比如文本和图片

文本分析是机器学习算法的主要应用领域。 然而,原始数据,符号文字序列不能直接传递给算法,因为它们大多数要求具有固定长度的数字矩阵特征向量,而不是具有可变长度的原始文本文档。

为解决这个问题,scikit-learn提供了从文本内容中提取数字特征的最常见方法,即:

  • 令牌化(tokenizing) 对每个可能的词令牌分成字符串并赋予整数形的id,例如通过使用空格和标点符号作为令牌分隔符。
  • 统计(counting) 每个词令牌在文档中的出现次数。
  • 标准化(normalizing) 在大多数的文档 / 样本中,可以减少重要的次令牌的出现次数的权重。。

在该方案中,特征和样本定义如下:

  • 每个单独的令牌发生频率(归一化或不归零)被视为一个特征
  • 给定文档中所有的令牌频率向量被看做一个多元sample样本

因此,文本的集合可被表示为矩阵形式,每行对应一条文本,每列对应每个文本中出现的词令牌(如单个词)。

我们称向量化是将文本文档集合转换为数字集合特征向量的普通方法。 这种特殊思想(令牌化,计数和归一化)被称为 Bag of Words 或 “Bag of n-grams” 模型。

 

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我可以教你关于sklearn.feature_extraction.text的一些基本知识。它是一种用于从文本数据提取特征的工具,可以帮助你更好地理解文本。sklearn.feature_extraction.text 是 scikit-learn 库用于提取文本特征的模块。该模块提供了用于从文本数据提取特征的工具,以便可以将文本数据用于机器学习模型。 该模块的主要类是 CountVectorizerTfidfVectorizerCountVectorizer 可以将文本数据转换为词频矩阵,其每个行表示一个文档,每个列表示一个词汇,每个元素表示该词汇在该文档出现的次数。而 TfidfVectorizer 可以将文本数据转换为 tf-idf 矩阵,其每个行表示一个文档,每个列表示一个词汇,每个元素表示该词汇在该文档tf-idf 。 这些特征提取器可以使用 fit_transform 方法将训练数据转换为特征矩阵,并使用 transform 方法将测试数据转换为相同的特征矩阵。此外,它们还提供了一些参数来控制特征提取的行为,例如停用词过滤、词汇大小写转换等。 ### 回答2: sklearn.feature_extraction.text是Python机器学习库scikit-learn的一个模块,主要用于文本特征提取。在自然语言处理领域,文本数据的预处理常常包括分词、去除停用词、词干提取等步骤,这些操作都是为了获得对文本语义内容有意义的特征。 sklearn.feature_extraction.text提供了基于Bag-of-Words的特征提取,即将一段文本转化为一组离散的特征,每个特征都表示文本的一个单词或短语。具体来说,sklearn.feature_extraction.text提供了CountVectorizerTfidfVectorizer两个类,分别用于计算文本的词频和词频-逆文档频(TF-IDF)。 CountVectorizer是一个简单的计数器,它根据每个文本数据单词出现的频率将其表示为数向量。并且在文本的数化前,可以对文本进行词干提取和去除停用词的操作。为了避免出现由于文本长度限制而导致数向量之间不可比的问题,可以通过归一化或者是用因子权重作为数向量的表示。 TfidfVectorizer考虑到了每个单词在文集的出现频率,将每个单词的权重计算出来,其计算公式是:单词出现次数/单词整个文本集出现的次数与单词在文档出现的词数/文档的总词数的积。该类可以设定tf-idf计算对文本进行处理的选项,例如去除停用词和词根还原等功能。 这些特征提取器可以与许多不同类型的学习算法一起使用,例如基于神经网络的深度学习算法、基于树的决策算法(例如随机森林),以及许多其他标准学习算法(例如逻辑回归,支持向量机)等。在文本分类,情感分析,主题建模等任务sklearn.feature_extraction.text是一个强大的特征提取工具,在NLP领域,其应用广泛,为文本数据预处理提供了高性能和方便的解决方案。 ### 回答3: Scikit-learn是Python最受欢迎的机器学习库之一。sklearn.feature_extraction.text是scikit-learn一个文本特征提取的模块,该模块提供了各种表示文本特征的方法,以便于机器学习算法能够使用这些文本数据。 在文本分类等应用,将文本转化为数特征是很重要的,因为很多机器学习算法不能直接对文本数据进行操作。sklearn.feature_extraction.text模块提供了以下几个重要的功能: 1. CountVectorizer:将文本转化为词频矩阵。通过CountVectorizer我们可以将文本词语的出现次数作为特征,这些特征可以用于之后的文本分类、聚类等任务。 2. TfidfVectorizer:将文本转化为TF-IDF特征矩阵。TF-IDF(Term Frequency-Inverse Document Frequency)是一种用于资讯检索与文本挖掘的常用加权技术。TF IDF体现了词语在文本集合的重要程度,就是该词语的重要程度与其在文本出现的频率成反比。 3. HashingVectorizer:该函数实现了一个基于哈希的文本特征提取器,它依赖于单哈希技巧而非字符串hashing技巧。 4. strip_accents:这个函数用来去除掉一些英文文本的重音符号。在某些处理文本的任务,若是忽略重音符号,则可能会把两个本意不同的单词算作同一个单词,所以会影响算法分类结果。 以上功能之间可以相互配合,在引入文本数据的过程根据具体的要求选择其的一种或几种来提取文本数据特征。sklearn.feature_extraction.text将帮助我们在自然语言处理和文本挖掘等领域更好地实现特征提取,提高机器学习模型的准确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值