对于文本的关键词提取方式:
1、基于 TF-IDF 算法的关键词抽取
(1)基本思想:
用更合理的方式体现词在文本中的权重(缺点:词在文档中的顺序没有体现)。
TF-IDF = TF*IDF
词频(term frequency,TF)指的是某一个给定的词语在该文件中出现的频率。这个数字是对词数的归一化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词数,而不管该词语重要与否。)
上式分子是该词在文件中的出现次数,而分母则是在文件中所有字词的出现次数之和。
逆向文件频率(inverse document frequency,IDF)是一个词语普遍重要性的度量。是指总文件数目除以包含该词语之文件的数目,再将得到的商取加上有1,取10为底的对数得到:N表示文档的总数量;nt表示含有词t的文档数。
(2)参数
import jieba.analyse
jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
sentence 为待提取的文本
topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20
withWeight 为是否一并返回关键词权重值,默认值为 False
allowPOS 仅包括指定词性的词,默认值为空,即不筛选
(3)案例:
df =pd.read_csv('data/technology_news.csv',encoding=