欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

知识图谱

程序员文章站 2022-06-12 17:33:50
...

一、获取关键词

#基于nltk获取关键字(针对英文)
from rake_nltk import Rake
r = Rake()
#mytext = 'Hello evryone , my name is wyz.Nice to meet you'
mytext = '海南拟建国际自贸区和自贸港。对此,多家公司回应在海南业务情况。基金君整理如下:欣龙控股:在海南老城经济开发区拥有的近1000亩土地证载尚为工业用地。在联营企业欣龙丰裕实业名下的173亩土地为商住用地;东华软件:2014与海南省*战略合作起,开始布局海南大数据和大健康产业,下个5年将加大投入迅速形成产出能力;安通控股:去年在海口港吞吐量已突破100万标箱;安控科技称,正努力借助海南当地优惠政策积极拓展业务。海南瑞泽:2018年恰逢海南省建省办特区30周年庆典,作为国际旅游岛,海南省必将迎来新一轮发展机遇,为率先抢占国际旅游岛稀缺资源,布局旅游文化产业,协议双方决定整合双方区域及产业优势,在海南省共同投资现代马产业文化旅游综合项目。'
r.extract_keywords_from_text(mytext)
print(r.get_ranked_phrases())

二、jieba 分词,提取关键词

提取关键词有两种方法:

import jieba.analyse
基于TF-IDF:jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())
基于TextRank:jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=('ns', 'n', 'vn', 'v'))

基于 TF-IDF 算法的关键词抽取 
     jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=(‘ns’, ‘n’, ‘vn’, ‘v’)) 
     参数解释: 
       (1)sentence :待提取的文本; 
       (2)topK :返回K个权重最大的关键词 
       (3)withWeight :是否返回权重 
       (4)allowPOS :是否仅包括指定词性的词

  基于 TextRank 算法的关键词抽取 
     jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=(‘ns’, ‘n’, ‘vn’, ‘v’)) 
     参数解释: 
       (1)sentence :待提取的文本; 
       (2)topK :返回K个权重最大的关键词 
       (3)withWeight :是否返回权重 
       (4)allowPOS :是否仅包括指定词性的词 
     TextRank基本思想: 
       (1)分词 
       (2)找词之间共现关系,构建图 
       (3)计算图中节点的PageRank