专栏首页AI人工智能与大数据NLP基本工具之jieba:关键词提取、词性标注

NLP基本工具之jieba:关键词提取、词性标注

jieba除了上一篇介绍的基本功能--分词之外,还可以进行关键词提取以及词性标注

使用:

importjieba # 导入 jieba

importjieba.analyse as anls #关键词提取

importjieba.posseg as pseg #词性标注

其中,关键词提取有两种算法:

第一种是TF-IDF算法(Term Frequency-Inverse Document Frequency, 词频-逆文件频率),其基本思想为:一个词语在一篇文章中出现次数越多,同时在所有文档中出现次数越少,越说明该词语能够代表该文章。

第二种是TextRank算法,基本思想:

  1. 将待抽取关键词的文本进行分词
  2. 以固定窗口大小(默认为5,通过span属性调整),词之间的共现关系,构建图
  3. 计算图中节点的PageRank,无向带权图

代码:

TF-IDF: jieba.analyse.extract_tags(sentence,topK=20, withWeight=True, allowPOS=())

TextRank:jieba.analyse.textrank(sentence, topK=20, withWeight=True)

其中,topK是输出多少个关键词,withWeight是否输出每个关键词的权重。

输入语句“jieba除了最重要的功能--分词之外,还可以进行关键词提取以及词性标注”:

TF-IDF输出的关键词:

词性 0.91

jieba0.85

-- 0.85

分词 0.84

标注 0.66

关键词 0.64

提取 0.54

之外 0.42

功能 0.39

除了 0.37

重要 0.29

以及 0.29

进行 0.27

可以 0.25

TextRank输出的关键词:

词性 1.00

提取 0.99

关键词 0.99

功能 0.90

分词 0.90

进行 0.76

标注 0.75

相对而言,TextRank输出的关键词更规整一些。

词性标注

使用jieba.posseg进行词性的标注。

代码:

importjieba.posseg

words =jieba.posseg.cut("我来到北京清华大学")

for x, win words:

print('%s %s' % (x, w))

输出:

我 r

来到 v

北京 ns

清华大学 nt

本文分享自微信公众号 - AI人工智能与大数据(ai_data_tech),作者:AI

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • NLP基本工具之jieba详解

    jieba(结巴)是百度工程师Sun Junyi开发的一个开源库,在GitHub上很受欢迎,使用频率也很高。

    用户7164815
  • AI从业者生存技能:化繁为简

    提炼关键信息,就是小学时大家学的概括中心思想。一篇文章的观点可能只有一个,但为了辅证这个观点,会有很多材料,从各个角度来阐述。在向上层汇报时,一定要把关键信息提...

    用户7164815
  • 计算机视觉(CV)任务介绍:分类、检测、分割、超分、关键点识别、图像生成、度量学习

    CV(Computer Vision,计算机视觉)是AI的两大重要应用之一(另一个是NLP,Natural Language Processing),具体有哪些...

    用户7164815
  • Python迭代和迭代器详解

    一个对象,物理或者虚拟存储的序列。list,tuple,strins,dicttionary,set以及生成器对象都是可迭代的,整型数是不可迭代的。如果你不确定...

    CDA数据分析师
  • Pandas-9. 迭代

    Pandas对象之间的底本迭代的行为取决于类型,当迭代一个Series时,它被视为数组,基本迭代产生值。DataFrame和Panel迭代对象的键。 基本迭代...

    悠扬前奏
  • 我为什么在办公室看视频?你们对程序猿一无所知!

    大数据文摘
  • Python多线程编程基础2:如何创建线程

    Python标准库threading中的Thread类用来创建和管理线程对象,支持使用两种方法来创建线程:1)直接使用Thread类实例化一个线程对象并传递一个...

    Python小屋屋主
  • Python入门四:创建第一个图形界面

    1、使用QtDesigner制作界面,打开的界面设计工具QtDesigner,如图:

    py3study
  • 在英飞凌无锡工厂体验真正的工业4.0

    文 | 孙昌旭,电子工程专辑 对于“工业4.0”,这个目前已被国人叫烂了的名词,其实大家都还没有一个统一的认识,大部分人认为上了几个机器人(甚至是机器手),替代...

    机器人网
  • ASP.NET Core的Kestrel服务器

    原文地址----Kestrel server for ASP.NET Core By Tom Dykstra, Chris Ross, and Stephen ...

    潘成涛

扫码关注云+社区

领取腾讯云代金券