在自然语言处理过程中,为了能更好地处理句子,往往需要把句子拆开分成一个一个的词语,这样能更好的分析句子的特性,这个过程叫做——分词.

我们来看看如何分词,嗯?别想多了,我不准备自己造轮子了,用别人的吧,而且,自己造的短时间内也没有别人的好用,废话少说,我们看看jieba中文分词。

gitHub的readme.md中写的,隔着屏幕感受到了作者的热情,然后默默的点了下star,看看别人,感觉虚度了好多年华。。。。。

结巴分词支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析;

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

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

安装方法:

#python2

pip install jieba

#python3

pip3 install jieba

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

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

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

(这应该是分词的原理,以后挑个好日子,坐下来,好好地去梳理下)

主要方法:jieba.cut 方法接受三个输入参数: 需要分词的字符串;cut_all 参数用来控制是否采用全模式;HMM 参数用来控制是否使用 HMM 模型

jieba.cut_for_search 方法接受两个参数:需要分词的字符串;是否使用 HMM 模型。该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细

待分词的字符串可以是 unicode 或 UTF-8 字符串、GBK 字符串。注意:不建议直接输入 GBK 字符串,可能无法预料地错误解码成 UTF-8

jieba.cut 以及 jieba.cut_for_search 返回的结构都是一个可迭代的 generator,可以使用 for 循环来获得分词后得到的每一个词语(unicode),或者用

jieba.lcut 以及 jieba.lcut_for_search 直接返回 list

jieba.Tokenizer(dictionary=DEFAULT_DICT) 新建自定义分词器,可用于同时使用不同词典。jieba.dt 为默认分词器,所有全局分词相关函数都是该分词器的映射。例如:

添加自定义词典(如果觉得jieba自己的词典不够,你还可以自己添加)。开发者可以指定自己自定义的词典,以便包含 jieba 词库里没有的词。虽然 jieba 有新词识别能力,但是自行添加新词可以保证更高的正确率

用法: jieba.load_userdict(file_name) # file_name 为文件类对象或自定义词典的路径

词典格式和 dict.txt 一样,一个词占一行;每一行分三部分:词语、词频(可省略)、词性(可省略),用空格隔开,顺序不可颠倒。file_name 若为路径或二进制方式打开的文件,则文件必须为 UTF-8 编码。

词频省略时使用自动计算的能保证分出该词的词频。

调整词典使用 add_word(word, freq=None, tag=None) 和 del_word(word) 可在程序中动态修改词典。

使用 suggest_freq(segment, tune=True) 可调节单个词语的词频,使其能(或不能)被分出来。

注意:自动计算的词频在使用 HMM 新词发现功能时可能无效。

关键词提取基于 TF-IDF 算法的关键词抽取。

基于 TextRank 算法的关键词抽取。

词性标注jieba.posseg.POSTokenizer(tokenizer=None) 新建自定义分词器,tokenizer 参数可指定内部使用的 jieba.Tokenizer 分词器。jieba.posseg.dt 为默认词性标注分词器。

标注句子分词后每个词的词性,采用和 ictclas 兼容的标记法。

并行分词原理:将目标文本按行分隔后,把各行文本分配到多个 Python 进程并行分词,然后归并结果,从而获得分词速度的可观提升

基于 python 自带的 multiprocessing 模块,目前暂不支持 Windows。

Tokenize返回词语在原文的起止位置

复制粘贴就先到这里啦,其实,如果不懂,可以用help指令的。。。那么以上有几处陌生的地方,第一是jieba分词的原理,第二是 TF-IDF 算法、TextRank算法,下一篇将试着去理顺TF-IDF算法。

今天先到这里,晚安。

jieba分词错误_jieba中文分词相关推荐

  1. jieba:一款为中文分词而生的Python库

    中文分词,通俗来说,就是将一句(段)话按一定的规则(算法)拆分成词语.成语.单个文字. 中文分词是很多应用技术的前置技术,如搜索引擎.机器翻译.词性标注.相似度分析等,都是先对文本信息分词处理,再用分 ...

  2. java lucene 中文分词_Lucene的中文分词器IKAnalyzer

    分词器对英文的支持是非常好的. 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好. 国人林良益写的IK Ana ...

  3. 使用jieba和wordcloud进行中文分词并生成《悲伤逆流成河》词云

    因为词云有利于体现文本信息,所以我就将那天无聊时爬取的<悲伤逆流成河>的评论处理了一下,生成了词云. 关于爬取影评的爬虫大概长这个样子(实际上是没有爬完的): #!/usr/bin/env ...

  4. php 搜索引擎 分词_PHP 实现中文分词搜索功能

    中文分词介绍 众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思.例如,英文句子I am a student,用中文则为:"我是一 ...

  5. java中文分词工具_中文分词工具(LAC) 试用笔记

    一.背景 笔者2年前写过一篇<PHP使用elasticsearch搜索安装及分词方法>的文章,记录了使用ES的分词的实现步骤,最近又需要用到分词,在网上发现一个百度的中文分词项目,中文词法 ...

  6. 结巴分词优点_中文分词概述及结巴分词原理

    词是中文表达语义的最小单位,中文分词是中文文本处理的一个基础步骤,分词的结果对中文信息处理至为关键. 本文先对中文分词方法进行概述,然后简单介绍结巴分词背后的原理. 1. 中文分词概述 中文分词根据实 ...

  7. oracle 分词函数,Oracle 中文分词

    转自:http://ddtlby.blog.sohu.com/100086259.html 准备工作: CREATE   TABLE issues ( ID         NUMBER, summa ...

  8. java 庖丁解牛中文分词_庖丁解牛中文分词包

    http://code.google.com/p/paoding/ Paoding Analysis摘要 Paoding's Knives 中文分词具有极 高效率 和 高扩展性 .引入隐喻,采用完全的 ...

  9. java盘古分词_.NET使用Lucene.Net和盘古分词类库实现中文分词

    .NET中文分词实现http://http:// 使用 Lucene.Net.dll http://www.apache.org/dist/incubator/lucene.net/binaries/ ...

最新文章

  1. unix 查询进程并中止
  2. 美团O2O排序解决方案——线下篇
  3. mysql 数据库 导入兼容_mysql数据库的导入和导出
  4. 重学深度学习系列-回归
  5. 一分钟解决 Github 访问慢
  6. mysql数据库加权随机_SQL:随机选择一行,但考虑到权重
  7. 苹果挥刀,iPhone 12 mini要换处理器了,无缘A14!
  8. 正式发布! .NET开发控件集ComponentOne 新版本加入Blazor UI
  9. nsx很可爱的公众号 vSAN 文章合集
  10. ubuntu 把软件源修改为国内源和更新(转载)
  11. python机器学习库sklearn——DBSCAN密度聚类
  12. 几个支持 FreeSWITCH 的网络电话的安装与使用(linphone、MicroSIP、Sipdroid)
  13. 第二阶段个人工作总结03
  14. Proteus仿真:行列式键盘
  15. 磊科Q3刷236W 免交换机双拨
  16. 板卡(单片机)与电脑PING不通的原因及解决方法
  17. ICP经营许可证办理流程有哪些?
  18. 数控技能大赛计算机程序员,广西选手获第九届全国数控技能大赛数控程序员赛项一等奖...
  19. 如何让手机成为电脑使用?用OTG线即可实现
  20. 掀开USB存储设备自动运行的面纱(精简版)

热门文章

  1. HTML字体 font和链接
  2. 洛可可连振:产品与其追求销量,不如设计服务,关键是用户
  3. ESPRIT CAM2020软件安装视频教程
  4. 平方数及其相关思想(SDUT)
  5. linux 网络检测常用命令(tcp/udp 端口检测)
  6. 生活不止编程还有瑜伽之流瑜伽简介
  7. ugui unity 图片缩放循环_Unity3d UGUI缩放循环拖动展示卡牌效果
  8. 苹果承认降价电池紧缺,如果你是iPhone6 Pus用户不用再等了
  9. ltd弹出 rust steam_《Rust》在Steam上已被退款33万份 损失438万美元
  10. python自编码器降维_自编码器数据降维实践