TF-IDF是一种用于信息检索与数据挖掘的常用加权技术。TF是词频,IDF是逆文本频率指数。
tf-idf = tf(词频) + idf(逆文本频率指数)
TF表示词条在文档d中出现的频率。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。
如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词。
from jieba import analyse
#这里导入某视频弹幕数据
text = '好喜欢 闻到味了 铀 爱了爱了 贵宾 阿卡丽 打赏了 个隼舞 阿卡丽' \
' 进入直播间 好还原啊 别挡啊 齛 应了 自己人也防 结芬 有点见外了 ' \
'来了就别想走了 不愧是她 本 好看 针不戳 好可爱呀 可爱孜然羊肉味的 冲了' \
' 有实力 但不多 不像卡莎 像网红妆 呕 闻闻 势不可挡 撞啊 香的 既来之 休走之' \
' 可爱 加强仙人兜 好喜欢 闻到味了 铀 爱了爱了 贵宾 阿卡丽 打赏了 个隼舞 阿卡丽 ' \
'进入直播间 好还原啊 别挡啊 齛 应了 自己人也防 结芬 有点见想走了 不愧是她 ' \
'本 好看 针不戳 好可爱呀 可爱肉装卡莎 花 妹 中 国 想擦又吝啬 古拉加斯 ' \
'婇 让我测测 孜然羊肉味的 冲了 有实力 但不多 不像卡莎 挡 撞啊 香的 既来之' \
' 休走之 可爱 加强仙人兜 好喜欢 闻到味了 铀 爱了爱了 贵宾 阿卡丽 进入直播间 好还原啊' \
' 别挡啊 齛 应了 自己人也防 结芬 有点见外了 来了就别想走了 不愧是好可爱呀 可爱好好看 肉装卡莎 ' \
'花 妹 中 国 朢 花 妹 中 国 朢 省流 想擦又吝啬 古拉加斯 婇 让我了 有实力 但不多 不像卡莎 像网红妆' \
' 呕 闻闻 势不可挡 撞啊 香的 既来之 休走之 可爱 加强仙人兜 好喜宾 阿卡丽 打赏了 个隼舞 阿卡丽' \
' 进入直播间 好还原啊 别挡啊 齛 应了 自己人也防 结芬 有点见外了 来了就别想 好可爱呀 可爱谁人组的圣骑士' \
' 踢了踢了 看见胶布了 好好看 肉装卡莎 花 妹 中 国 朢 花 妹 中 国 朢 省流 想擦又测 孜然羊肉味的 冲了 有实力 但不多' \
' 不像卡莎 像网红妆 呕 闻闻 势不可挡 撞啊 香的 既来之 休走之 可爱 加强仙人兜 好喜欢 阿卡丽 ' \
'进入直播间 好还原啊 别挡啊 齛 应了 自己人也防 结芬 有点见外了 可爱好可爱 好可爱啊 可以投币吗 ' \
'谁人组的圣骑士 踢了踢了 看见胶布了 好好看 肉装卡莎 花 妹 中 国 朢 花 妹 中 国 朢 省流 想擦又吝啬 古拉加斯 婇 ' \
'让我测测 孜然羊肉味的 冲了 有实力 但不多 不像卡莎 像网红妆 呕 闻闻 势不可挡 撞啊 香的 既来之 ' \
'休走之 可爱 加强仙人兜 好喜欢 闻到味了 铀 爱了爱了 贵宾 阿卡丽 打赏了 个隼舞 阿卡丽 进入直播间 ' \
'好还原啊 别挡啊 齛 应了 自己人也防 结芬 有点见外了 来了就别想走了 不愧是她 本 好看 针不戳 好可爱呀 可爱'
'''topK 为返回几个 TF/IDF权重最大的关键词,默认20
allowPOS仅包含指定词性的次,默认为空,则跳过筛选
withWeight 是否一并返回关键词的权重,默认False'''
tags = analyse.extract_tags(text, topK=10, withWeight=True,allowPOS=())
#这里返回权重,withWeight=True,权重越高则对应词的重要性越高 ,topK返回十个词
print(tags)
查看输出结果
tf-idf缺点
1.没有考虑特征词的位置因素对文本的区分度,词条出现在文档的不同位置时,对区分度的贡献大小是不一样的。
2.按照传统TF-IDF,往往一些生僻词的IDF(反文档频率)会比较高、因此这些生僻词常会被误认为是文档关键词。
3.对于文档中出现次数较少的重要人名、地名信息提取效果不理想。