LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 167|回复: 0

在NLTK中建立一个词袋模型

[复制链接]
发表于 2023-12-29 17:25:47 | 显示全部楼层 |阅读模式

统计概念

统计学的概念称为TermFrequency-Inverse Document Frequency(tf-idf)。 每个单词在文档中都很重要。 统计数据有助于我们理解每个词的重要性。

术语频率(tf)

这是衡量每个单词出现在文档中的频率。 它可以通过将每个词的计数除以给定文档中的词的总数来获得。

逆文档频率(idf)

这是衡量在给定的文档集中这个文档有多独特的一个单词。要计算idf和制定一个特征向量,我们需要减少像这样的常见词的权重,并权衡稀有词。

在NLTK中建立一个词袋模型

在本节中,我们将使用CountVectorizer从这些句子中创建矢量来定义字符串集合。

导入必要的软件包 -

from sklearn.feature_extraction.text import CountVectorizer

现在定义一组句子。

Sentences = ['We are using the Bag of Word model', 'Bag of Word model is
           used for extracting the features.']

vectorizer_count = CountVectorizer()

features_text = vectorizer.fit_transform(Sentences).todense()

print(vectorizer.vocabulary_)

上述程序生成如下所示的输出。它表明在上述两句话中有13个不同的单词 -

{'we': 11, 'are': 0, 'using': 10, 'the': 8, 'bag': 1, 'of': 7,
'word': 12, 'model': 6, 'is': 5, 'used': 9, 'for': 4, 'extracting': 2, 'features': 3}

这些是可以用于机器学习的特征向量(文本到数字形式)。

//更多请阅读:https://www.yiibai.com/ai_with_python/ai_with_python_nltk_package.html

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表