基于itf-idf算法的关键词提取
提出问题
假设我们现在有一篇文章,需要提取这篇文章的关键词,要怎样才能通过计算机实现呢?
TF-IDF算法介绍
一篇文章的关键词基本都是能体现文章的内容,而且几乎是在文章中频繁出现的词,统计文章中各个词出现的次数,出现最多的则是这篇文章的关键词了,那具体是怎么统计呢,这里有一个专业术语叫词频(term frequency),简称TF。计算公式如下:
TF(词频) = 某次在文章中出现的次数 / 文章中的总词数
举例子:我正在学习人工智能,并且我一定会成功的。
**通过jieba分词得到分词:**我/ 正在/ 学习/ 人工智能/ 并且/ 我/ 一定/ 会/ 成功/ 的/
分词之后这句话总共出现9个分词我 2 正在 1 学习 1 人工智能 1 并且 1 一定 1 会 1 成功 1 的 1
我们计算 “人工智能”出现的词频 0.11 = 1/9
但是实际上我们肉眼就能判断出有一类词出现的很频繁,比如“的”、“了”、“在”,显然这类词根本体现不出文章的重要性,肯定不是文章的关键词,这类词有一个专业名词叫停用词(stop words),一般在处理中会将这类词过滤掉。还有一类词比如阮一峰大神举例中的“中国的蜜蜂养殖”,我们一眼就能看出,蜜蜂、养殖这类词虽然很少见,但是才是这篇文章的关键词,而“中国”,在各个文章集中经常能见到。“蜜蜂”、“养殖”的权值应该要比“中国”高才对,分词出现的权重叫做"逆文档频率"(In