近几天在做自然语言处理,看了一篇论文:面向知识库的中文自然语言问句的语义理解,里面提到了中文的分词,大家都知道对于英文的分词,NLTK有很好的支持,但是NLTK对于中文的分词并不是很好(其实也没有怎么尝试,哈哈哈!)

然后发现了jieba(结巴)分词,发现还是很强大的,还有一个THULAC(http://thulac.thunlp.org/#%E7%BC%96%E8%AF%91%E5%92%8C%E5%AE%89%E8%A3%85),THULAC我还没有试过,这次先来展示一下jieba分词的一些基本用法,后期继续更新

本文并非原创,参考的博客有:http://blog.csdn.net/xiaoxiangzi222/article/details/53483931

#-*- coding:utf-8 -*-
import jieba
import jieba.posseg as jp string='已结婚的和尚未结婚的青年都要实行计划生育'
#全模式
list1=jieba.cut(string,cut_all=True)
print "/".join(list1)
#精确模式
list2=jieba.cut(string,cut_all=False)
print "/".join(list2)
#搜索引擎模式(****默认是精确模式*****)
list3=jieba.cut_for_search(string)
print "/".join(list3) print '*'*80 # 问题来了:
# ①已/结婚/的/和/尚未/结婚/的/青年/都/要/实行/计划生育
# ②已/结婚/的/和尚/未/结婚/的/青年/都/要/实行/计划生育
# 这两个貌似好想都可以,那到底是怎么分词的呢,大家接着往下看 #添加自己的词典进行分词
#userdict.txt:
# 和尚 10000000 n (词+空格+词频+空格+词性)
jieba.load_userdict("userdict.txt")
#修改词频之后,结果就是②
list4=jieba.cut(string)
print "/".join(list4) jieba.del_word('和尚')
list7=jieba.cut(string)
print "/".join(list7) print '*'*80
#动态更改分词器
string1='李小福是创新办主任也是云计算方面的专家'
list5=jieba.cut(string1)
print "/".join(list5)
jieba.add_word('创新办','','n')
jieba.add_word('云计算')
list6=jieba.cut(string1)
print "/".join(list6) print '*'*80
#显示词性
words =jp.cut(string)
for w in words:
print w.word, w.flag

运行结果:  

已/结婚/的/和尚/尚未/未结/结婚/的/青年/都/要/实行/计划/计划生育/生育
已/结婚/的/和/尚未/结婚/的/青年/都/要/实行/计划生育
已/结婚/的/和/尚未/结婚/的/青年/都/要/实行/计划/生育/计划生育
********************************************************************************
已/结婚/的/和尚/未/结婚/的/青年/都/要/实行/计划生育
已/结婚/的/和/尚未/结婚/的/青年/都/要/实行/计划生育
********************************************************************************
李小福/是/创新/办/主任/也/是/云/计算/方面/的/专家
李小福/是/创新办/主任/也/是/云计算/方面/的/专家
********************************************************************************
已 d
结婚 v
的 uj
和 c
尚未 d
结婚 v
的 uj
青年 t
都 d
要 v
实行 v
计划生育 l

jieba分词(1)的更多相关文章

  1. widows下jieba分词的安装

    在切词的时候使用到jieba分词器,安装如下: 切入到结巴包,执行 python setup.py install 安装后,可以直接在代码中引用: import jieba

  2. 【原】关于使用jieba分词+PyInstaller进行打包时出现的一些问题的解决方法

    错误现象: 最近在做一个小项目,在Python中使用了jieba分词,感觉非常简洁方便.在Python端进行调试的时候没有任何问题,使用PyInstaller打包成exe文件后,就会报错: 错误原因分 ...

  3. Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考

    前言:目前自己在做使用Lucene.net和PanGu分词实现全文检索的工作,不过自己是把别人做好的项目进行迁移.因为项目整体要迁移到ASP.NET Core 2.0版本,而Lucene使用的版本是3 ...

  4. python结巴(jieba)分词

    python结巴(jieba)分词 一.特点 1.支持三种分词模式: (1)精确模式:试图将句子最精确的切开,适合文本分析. (2)全模式:把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解 ...

  5. pypinyin, jieba分词与Gensim

    一 . pypinyin from pypinyin import lazy_pinyin, TONE, TONE2, TONE3 word = '孙悟空' print(lazy_pinyin(wor ...

  6. 使用pynlpir增强jieba分词的准确度

    在使用jieba分词时,发现分词准确度不高.特别是一些专业词汇,比如堡垒机,只能分出堡垒,并不能分出堡垒机.这样导致的问题是很多时候检索并不准确. 经过对比测试,发现nlpir进行分词效果更好.但是n ...

  7. 自然语言处理之jieba分词

    在处理英文文本时,由于英文文本天生自带分词效果,可以直接通过词之间的空格来分词(但是有些人名.地名等需要考虑作为一个整体,比如New York).而对于中文还有其他类似形式的语言,我们需要根据来特殊处 ...

  8. jieba分词(3)

    jieba分词中Tokenize的使用,Tokenize主要是用来返回词语在原文的弃之位置,下面贴上代码: #-*- coding:utf-8 -*- from __future__ import u ...

  9. jieba分词(2)

    结巴分词系统中实现了两种关键词抽取法,一种是TF-IDF关键词抽取算法另一种是TextRank关键词抽取算法,它们都是无监督的算法. 以下是两种算法的使用: #-*- coding:utf-8 -*- ...

随机推荐

  1. Spring实现AOP的多种方式

    转载自:https://www.cnblogs.com/best/p/5736422.html:加了一些自己的注释: AOP(Aspect Oriented Programming)面向切面编程,通过 ...

  2. python 基础_ 打印输出 循环分支2

    一.在python3中的打印输出 1.输出字符串是print("hello world!!!") #输出字符串的时候可以是单引号括起来,也可以是双引号括起来.区别在于 2.输出变量 ...

  3. Alpha阶段敏捷冲刺(四)

    1.站立式会议 提供当天站立式会议照片一张 2.每个人的工作 (有work item 的ID),并将其记录在码云项目管理中: 昨天已完成的工作. 祁泽文:实现了统计的基本按钮和界面. 徐璐琳:找到&q ...

  4. 20155326 2016-2017-2 《Java程序设计》第九周学习总结

    20155326 2016-2017-2 <Java程序设计>第九周学习总结 教材学习内容总结 1.撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找. 2.JDBC目的 ...

  5. 一天学习两个设计模式之Facade模式(外观模式,结构型模式)

    程序这东西随着时间推移,程序会越来越大,程序中的类越来越多,而且他们之间相互关联,这会导致程序结构变得越来越复杂.因此我们在使用他们时候,必须要弄清楚他们之间的关系才能使用他们. 特别是在调用大型程序 ...

  6. VS IDE 中Visual C++ 中的项目属性配置

    VS IDE 中Visual C++ 中的项目属性配置 一. Visual C++ 项目系统基于 MSBuild. 虽然可以直接在命令行上编辑 XML 项目文件和属性表,我们仍建议你使用 VS IDE ...

  7. VS中的调试相关的技巧

    1. 可以设置断点的命中条件:

  8. hive 修复分区、添加二级分区

    我们在之前的文章中,介绍了二级分区,混合分区,静态分区,动态分区的区别和建表. 今天我们聊下,当我们建好分区表.并且通过程序在表的分区目录(location)下,写入了文件. 如何在hive中查询到插 ...

  9. UNIGUI上传文件

    UNIGUI上传文件 uniGUI提供了一个文件上传控件TUniFileUpload,进行数据的导入就变得比较容易.首先将TUniFileUpload控件放置在窗体上,按下导入按钮后,执行TUniFi ...

  10. java并发的处理方式

    1 什么是并发问题. 多个进程或线程同时(或着说在同一段时间内)访问同一资源会产生并发问题. 银行两操作员同时操作同一账户就是典型的例子.比如A.B操作员同时读取一余额为1000元的账户,A操作员为该 ...