1、jieba 库安装


  方法1:全自动安装(容易失败):easy_install jieba 或者 pip install jieba / pip3 install jieba
  方法2:半自动安装(推荐):先下载 https://github.com/fxsjy/jieba ——>解压文件——>运行CMD——>(1)先定位到解压文件路径(注意:路径前有个磁盘字符cd/d)——>(2)再输入 python setup.py install 回车安装(或者pip install setup.py 格式)(如果回车后,出现错误:“python不是内部或者外部命令”,则是缺失系统环境变量,需要添加一下。见之前的文章:如何添加系统环境变量?

  方法3:手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录

2、分词 |标签 


  2.1 jieba 特点

    (1)支持三种分词模式:

      • 精确模式(默认),试图将句子最精确地切开,适合文本分析(不在词典中的新词也可以被识别);
      • 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;
      • 搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率(查全率),适合用于搜索引擎分词。   

    (2)支持繁体分词

    (3)支持自定义词典

    (4)MIT 授权协议

  2.2 jieba 主要功能

    • jieba.cut (或jieba.lcut方法接受三个输入参数: 需要分词的字符串;cut_all =False/True 参数用来控制是否采用全模式;HMM =False/True参数 用来控制是否使用 HMM 模型。
    • jieba.cut_for_search(或jieba.lcut_for_search 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细。
    • jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定义分词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射。

    注意:

    (1)待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8。
    (2)jieba.cut以及jieba.cut_for_search返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode)。而用jieba.lcut 以及 jieba.lcut_for_search 直接返回 list

  2.3 分词

  代码示例:

 ###d导入模块
import jieba seg_list = jieba.cut("我硕士毕业于中国科学院计算所,后来来到了杭州网易杭研大厦") # 默认是精确模式
print('【默认模式】:'+"/ ".join(seg_list)) seg_list = jieba.cut("我硕士毕业于中国科学院计算所,后来来到了杭州网易杭研大厦", cut_all=False)
print("【精确模式】: " + "/ ".join(seg_list)) # 精确模式 seg_list = jieba.cut("我硕士毕业于中国科学院计算所,后来来到了杭州网易杭研大厦", cut_all=True)
print("【全模式】: " + "/ ".join(seg_list)) # 全模式 seg_list = jieba.cut_for_search("我硕士毕业于中国科学院计算所,后来来到了杭州网易杭研大厦") # 搜索引擎模式
print('【搜索引擎模式】:'+"/ ".join(seg_list))

  输出:

【默认模式】:我/ 硕士/ 毕业/ 于/ 中国科学院/ 计算所/ ,/ 后来/ 来到/ 了/ 杭州/ 网易/ 杭研/ 大厦
【精确模式】: 我/ 硕士/ 毕业/ 于/ 中国科学院/ 计算所/ ,/ 后来/ 来到/ 了/ 杭州/ 网易/ 杭研/ 大厦
【全模式】: 我/ 硕士/ 毕业/ 于/ 中国/ 中国科学院/ 科学/ 科学院/ 学院/ 计算/ 计算所/ / / 后来/ 来来/ 来到/ 了/ 杭州/ 杭州网/ 网易/ 杭/ 研/ 大厦
【搜索引擎模式】:我/ 硕士/ 毕业/ 于/ 中国/ 科学/ 学院/ 科学院/ 中国科学院/ 计算/ 计算所/ ,/ 后来/ 来到/ 了/ 杭州/ 网易/ 杭研/ 大厦

  2.4 分词&标签

### 分词+标签
import jieba
import jieba.posseg as pseg words=pseg.cut("社会主义明天会更好")
for w in words:
print(w.word,w.flag)

  输出:

社会主义 n
明天 t
会 v
更好 d

3、定位


  代码示例:

import jieba

global g_mode
g_mode="default" result = jieba.tokenize(u'杭州的房价越来越高了。') # result = jieba.tokenize(test_sent,mode=g_mode,HMM=False)
for t in result:
print("word %s\t\t start: %d \t\t end:%d" % (t[0],t[1],t[2]))

  输出:

 word 杭州         start: 0          end:2
word 的 start: 2 end:3
word 房价 start: 3 end:5
word 越来越 start: 5 end:8
word 高 start: 8 end:9
word 了 start: 9 end:10
word 。 start: 10 end:11

 

4、分词&词频统计(可通用)


### 分词 ####

# 导入jieba分词库
import jieba # 打开文件
f=open('C:/Users/Administrator/Desktop/test.txt','r') # 以读的模式打开文件
all_words=[] # 读取&分词
for s in f.readlines():
# line_words=jieba.lcut(s) # 采用精准分词,返回一个list
line_words=jieba.lcut_for_search(s) # 采用搜索分词,返回一个list
all_words.extend(line_words)
f.close()
print('【分词】' ,all_words) all_words.sort()
print('【分词排序】',all_words) set_all_words=list(set(all_words))
set_all_words.sort()
print('【分词去重】',set_all_words) # 将分词好的写入另一个文件
f2=open('C:/Users/Administrator/Desktop/key_words.txt','w') # 以写的模式打开另一个文件
join_all_words ='/n'.join(all_words) # 以指定的字符将列表中的字符连接成字符串
print('【写入另一文件】',join_all_words)
f2.write(join_all_words) # 写入 f2.close()

  输出:

【分词】 ['杭州', '州市', '杭州市', '昨天', '举办', '了', '一场', '比赛', '。', '你', '是', '杭州', '杭州人', '吗', '?']
【分词排序】 ['。', '一场', '举办', '了', '你', '吗', '州市', '昨天', '是', '杭州', '杭州', '杭州人', '杭州市', '比赛', '?']
【分词去重】 ['。', '一场', '举办', '了', '你', '吗', '州市', '昨天', '是', '杭州', '杭州人', '杭州市', '比赛', '?']
【写入另一文件】 。/n一场/n举办/n了/n你/n吗/n州市/n昨天/n是/n杭州/n杭州/n杭州人/n杭州市/n比赛/n?
### 词频统计 ###

# 方法一:统计各分词在源文件中出现的频数
def f_key_words_cnts(file_name,key_words):
d=dict.fromkeys(key_words,0) #创建个字典
f=open(file_name,'r')
for s in f.readlines():
for name in d:
d[name]=d[name]+s.count(name)
return d
f.close() r=f_key_words_cnts('C:/Users/Administrator/Desktop/test.txt',set_all_words) # 注意,输入参数分别是源文件&去重后的分词列表
print(r)

  输出:

{'。': 1, '一场': 1, '举办': 1, '了': 1, '你': 1, '吗': 1, '州市': 1, '昨天': 1, '是': 1, '杭州': 2, '杭州人': 1, '杭州市': 1, '比赛': 1, '?': 1}

 

 其他分词&词频统计工具拓展:


语料库在线,自动分词&词性标注&词频统计:http://corpus.zhonghuayuwen.org/CpsWParser.aspx

词云统计(推荐):http://cloud.niucodata.com/

制作词云图:https://wordart.com/create

图悦:http://www.picdata.cn/picdata/index.php#






















python -jieba 安装+分词+定位的更多相关文章

  1. python jieba 库分词结合Wordcloud词云统计

    import jieba jieba.add_word("福军") jieba.add_word("少安") excludes={"一个", ...

  2. python安装Jieba中文分词组件并测试

    python安装Jieba中文分词组件 1.下载http://pypi.python.org/pypi/jieba/ 2.解压到解压到python目录下: 3.“win+R”进入cmd:依次输入如下代 ...

  3. jieba中文分词(python)

    问题小结 1.安装 需要用到python,根据python2.7选择适当的安装包.先下载http://pypi.python.org/pypi/jieba/ ,解压后运行python setup.py ...

  4. python调用jieba(结巴)分词 加入自定义词典和去停用词功能

    把语料从数据库提取出来以后就要进行分词啦,我是在linux环境下做的,先把jieba安装好,然后找到内容是build jieba PKG-INFO setup.py test的那个文件夹(我这边是ji ...

  5. python jieba分词工具

    源码地址:https://github.com/fxsjy/jieba 演示地址:http://jiebademo.ap01.aws.af.cm/ 特点 1,支持三种分词模式: a,精确模式,试图将句 ...

  6. python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库 -转载

    转载请注明出处  “结巴”中文分词:做最好的 Python 中文分词组件,分词模块jieba,它是python比较好用的分词模块, 支持中文简体,繁体分词,还支持自定义词库. jieba的分词,提取关 ...

  7. python windows 安装jieba....

    用cmd进入到python安装路径,进入scripts文件夹,输出pip install jieba 安装完成提示

  8. Python jieba 分词

    环境 Anaconda3 Python 3.6, Window 64bit 目的 利用 jieba 进行分词,关键词提取 代码 # -*- coding: utf-8 -*- import jieba ...

  9. 【python】泰语分词器安装

    1.安装icu http://blog.csdn.net/liyuwenjing/article/details/6105388 2.安装pyicu https://anaconda.org/kale ...

随机推荐

  1. mysql 根据字母排序

    select CONVERT(u.user_name USING gbk) AS user_name from table where 1=1 order by user_name

  2. Python--MySql(主键的创建方式、存储引擎、存储过程、索引、pymsql)

    主键的创建方式 1. create table stud( id int not null unique, name ) ); mysql> desc stud; +-------+------ ...

  3. SCP-bzoj-1019

    项目编号:bzoj-1019 项目等级:Safe 项目描述: 戳这里 特殊收容措施: 对于一个hanoi,知道了各种移动操作的优先级,也就确定了方案.可以证明对于盘子数为N的hanoi,任意移动方案都 ...

  4. TP model where条件丢失

    最近我修复了一个bug,这个bug是用户能看到所有用户的数据,经过排查发现是where条件丢失,导致查询语句直接查了所有数据. 但是代码并没有问题,然后查到了 ThinkPHP/Library/Thi ...

  5. Python每日一题 006

    题目 你有一个目录,装了很多照片,把它们的尺寸变成都不大于 iPhone5 分辨率的大小. 如果只是单纯的通过将图片缩放到iPhone5分辨率大小,显然最后呈现出来的效果会很糟糕.所以等比例缩放到长( ...

  6. [CSP-S模拟测试]:简单的玄学(数学)

    题目描述 有$m$个在$[0,2^n)$内均匀随机取值的整型变量,球至少有两个变量取值相同的概率.为了避免精度误差,假设你的答案可以表示成$\frac{a}{b}$的形式,(其中$(a,b)=1$), ...

  7. if(!confirm("您确定删除吗?")){return;}

    if(!confirm("您确定删除吗?")){return;}

  8. 聊一聊 http2.0

    1. 我们认识http 协议,从最初的,客户端与服务器进行通讯,基于连接发生的请求与响应 在HTTP1.0时代,连接无法复用,每次下完单,都被强制登出/关机,下一次下单,就得重新登录. 为了解决htt ...

  9. 使用Intent实现Activity之间传值与跳转(转)

    转:http://blog.csdn.net/cjjky/article/details/6337447 在一个Android的应用程序中,很少只存在一个Activity,一般都有多个Activity ...

  10. cs224d 作业 problem set2 (二) TensorFlow 实现命名实体识别

    神经网络在命名实体识别中的应用 所有的这些包括之前的两篇都可以通过tensorflow 模型的托管部署到 google cloud 上面,发布成restful接口,从而与任何的ERP,CRM系统集成. ...