码迷,mamicode.com
首页 > 编程语言 > 详细

jieba 分词库(python)

时间:2020-02-02 19:34:51      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:有向无环图   文本分析   组合   指定   style   词语   png   ima   pip   

安装jieba:pip install jieba

原理:

  基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)

  采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合

  对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法

分词:

jieba支持三种分词模式:

  精确模式:试图将句子最精确地切开,适合文本分析

  全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义

  搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词

示例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import jieba
strt = "我爱北京天安门!"
# 全模式
sl = jieba.cut(strt, cut_all=True)
print("全模式:", ",".join(sl))

# 精确模式,默认为精确模式,所以可以不指定cut_all=False
sl = jieba.cut(strt, cut_all=False)
print("精确模式:", ",".join(sl))

# 搜索引擎模式
sl = jieba.cut_for_search(strt)
print("搜索引擎模式:", ",".join(sl))

 

技术图片

 

 

 

关键词抽取算法主要有以下两种:

  有监督学习算法:将关键词抽取过程视为二分类问题,先抽出候选词,然后对于每个候选词划定标签,其要么是关键词,要么不是关键词。然后训练关键词抽取分类器,当对一段新的文本进行抽取关键词时,先抽取出所有的候选词,然后利用训练好的关键词抽取分类器,对各个候选词进行分类,最终将标签为关键词的候选词作为关键词。

  无监督学习算法:先抽取出候选词,然后对各个候选词进行打分,然后输出topN个分值最高的候选词作为关键词。根据打分的策略不同,有不同的算法,例如TF-IDF,TextRank等算法。

jieba分词实现了基于TF-IDF关键词抽取算法和基于TextRank关键词抽取算法,两类算法均是无监督学习的算法。以下对这两种算法进行介绍:

  1.基于TF-IDF算法进行关键词抽取

 

jieba 分词库(python)

标签:有向无环图   文本分析   组合   指定   style   词语   png   ima   pip   

原文地址:https://www.cnblogs.com/qilin20/p/12253067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!