tfidfvectorizer 用法
TfidfVectorizer是sklearn.中的一个类,用于将原始文本转化为TF-IDF特征矩阵,为后续的文本相似度计算、主题模型(如LSI)、文本搜索排序等一系列应用奠定基础。
以下是一些基本的用法:
导入相关模块:
python
from sklearn. import TfidfVectorizer | |
实例化TfidfVectorizer对象:
python中文文档python
document = ["I have a pen.", "I have an apple."] | |
tfidf_model = TfidfVectorizer().fit(document) | |
使用transform方法将TF-IDF矩阵应用于输入文本:
python
sparse_result = ansform(document) | |
将TF-IDF矩阵转换为更直观的一般矩阵:
python
print(dense()) | |
获取词语与列的对应关系:
python
print(tfidf_model.vocabulary_) | |
如果要将中文文本应用于TF-IDF,需要进行分词处理,并转换为与上述示例类似的格式。
可以使用中文分词库如jieba进行分词:
python复制代码
import jieba | |
text = "我是一条天狗呀!我把月来吞了,我把日来吞了,我把一切的星球来吞了,我把全宇宙来吞了。" | |
sentences = text.split() | |
sent_words = [list(jieba.cut(sent0)) for sent0 in sentences] | |
document = [" ".join(sent0) for sent0 in sent_words] | |
接下来,按照之前介绍的方法将中文文档应用于TF-IDF:
python复制代码
tfidf_model = TfidfVectorizer().fit(document) | |
sparse_result = ansform(document) | |
print(dense()) # 输出TF-IDF矩阵的直观形式 | |
print(tfidf_model.vocabulary_) # 输出词语与列的对应关系 | |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论