【自然语言处理】【scikit-learn】文本特征提取

scikit-learn提供了从文本内容中提取数字特征的方法,包括词袋模型(Bag of n-gram)表示。CountVectorizer实现了标记化和出现次数计数,TfidfVectorizer则结合了CountVectorizer和TfidfTransformer,用于计算TF-IDF值,以降低常见词汇的影响。在大型文本数据中,TF-IDF可以帮助突出显示更有代表性的文档特征。
摘要由CSDN通过智能技术生成

词袋表示

文本分析是机器学习算法的主要应用领域。 然而,原始数据,一串符号序列不能直接送到算法本身,因为大多数算法期望具有固定大小的数字特征向量而不是具有可变长度的原始文本文档。

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

  1. 标记字符串,为每个可能的标记给定整数id,例如通过使用空格和标点符号作为标记分隔符。
  2. 计算每个文档中标记的出现次数。
  3. 对在大多数样本/文件中出现的标记标准化并通过减少重要性的加权处理。

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

• 每个标记发生频率(标准化或不标准化)被视为特征

• 给定文档的所有标记频率的向量被认为是多变量样本

因此,文档语料库可以由矩阵表示,出现在语料库中的每个文档作为一行,每个标记作为一列(例如,单词)。

我们将矢量化称为将文本文档集合转换为数字特征向量的一般过程。 这种特定的策略(标记化,计数和标准化)被称为词袋或“Bag of n-gram”表示。 文档由单词出现描述,同时完全忽略文档中单词的相对位置信息。

 

稀疏性

由于大多数文档通常使用语料库中所使用字的非常小的子集,因此得到的矩阵将具有许多零(通常超过99%)特征值。 例如,10,000个短文本文档(例如电子邮件)的集合将使用总数为100,000个唯一单词的词汇表,而每个文档将单独使用100到1000个唯一单词。

 

为了能够将这样的矩阵存储在存储器中以及加速代数运算矩阵/向量,通常实现将使用稀疏的表示,例如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值