

用Python给你的文本提取关键词
“
关键词提取是天然语言处理中常见的业务模块;
要实现关键词提取,Python已经有比较好的现成的开源库能够用,好比我今天要介绍的jieba。
让咱们来看看如何进行关键词提取:html
1. 导入jieba关键词提取模块
import jieba.analyse as ana
- jieba被较多地应用于中文文本的天然语言处理,最经常使用到的功能是分词。
- 但除了分词之外,它还有不少其它api接口给到咱们,而今天要提到的关键词提取就是其中之一。
2. 用textrank方法获取关键词
keyword = ana.textrank(sentence)
可选参数说明:算法
- topK: 输出的关键词数量,若是是None则所有关键词都输出;
- withWeight: 输出的关键词是否附带textrank计算出来的权重值;
- allowPOS: 该参数为列表,表示仅显示符合该参数设置词性的关键词;
- withFlag: 输出的关键词是否附带词性;
“
TextRank编程
- TextRank算法是利用局部词汇之间关系(共现窗口)对后续关键词进行排序,直接从文本自己抽取。
- 参考详文: https://www.cnblogs.com/xueyinzhe/p/7101295.html
3. 用tfidf方法获取关键词
keyword = ana.tfied(sentence)
可选参数说明:api
- topK: 输出的关键词数量,若是是None则所有关键词都输出;
- withWeight: 输出的关键词是否附带textrank计算出来的权重值;
- allowPOS: 该参数为列表,表示仅显示符合该参数设置词性的关键词;
- withFlag: 输出的关键词是否附带词性;
“
TFIDF机器学习
- TFIDF算法是利用根据词频和逆文档频率得出关键词的权重,直接从文本自己抽取。
- 参考详文: https://blog.csdn.net/zrc199021/article/details/53728499
4. 总结
- TextRank于TFIDF相比,过于依赖分词结果,若是分词时,某些关键词被切分了,就会获得不一样的结果;
- 基于上述缘由,TextRank在工业界实际应用时,会须要对部分切分的关键词进行合并操做;
- TextRank在实际应用的效果稍差于TFIDF,在二者没有明显准确率、召回率差异的状况下,建议使用TFIDF;
- TextRank涉及到迭代计算,因此提取关键词的速度稍慢于TFIDF;
- jieba开源库的词典中,每一个关键词都有初始权重,用于上述两种算法的运算。
往期精彩推荐:
粉丝福利: