1.结巴分词简介

结巴分词是当前效果较好的一种中文分词器,支持中文简体、中文繁体分词,同时还支持自定义词库。

结巴分词支持三种分词模式:精确模式、全模式和搜索引擎模式。

  • 精确模式是试图将句子最精确的进行切分,适合用于文本分析;
  • 全模式的原理是把句子中全部可以成词的词语全部扫描出来,它的分词速度快,缺点是无法识别歧义词句;
  • 搜索引擎模式是在精确模式的基础上进一步处理的,它对较长的词语再进行分割,将召回率提高,适合于搜索引擎分词。

结巴分词自带一个词典,内含20000多条词,及词条出现的次数与词性。结巴分词用到的算法有基于Trie树的词图遍历,会生成一个DAG图,该图是由句子中所有汉字的所有可能组合决定,采用动态规划(DP)查找概率最大的路径,从而找出基于词频的最大切分组合,而对于结巴分词词典中未记录的词,其使用了基于汉字成词能力的HMM模型,以及Viterbi算法。

python结巴分词安装

pip install jieba

2.分词实现

结巴分词有三种模式,具体内容在上文已有介绍。本系统分词采用的是精确模式,使用的是基于Python的jieba模块来实现。

停用词(Stop Words)是指在信息检索中,在自然语言处理之前或之后被自动过滤的字或词,目的是为了节省内存空间并提高搜索效率。停用词表是人工构造的,本系统使用的是哈工大停用词表。

哈工大停用词下载链接:https://github.com/goto456/stopwords

结巴分词及去停用词核心代码如下:

import jieba#分词
def stripdata(Test):# jieba 默认启用了HMM(隐马尔科夫模型)进行中文分词seg_list = jieba.cut(Test)  # 分词#获取字典,去除停用词line = "/".join(seg_list)word = stripword(line)#print(line)#列出关键字print("\n关键字:\n"+word)#停用词分析
def stripword(seg):#打开写入关键词的文件keyword = open('key_word.txt', 'w+', encoding='utf-8')print("去停用词:\n")wordlist = []#获取停用词表stop = open('stopword.txt', 'r+', encoding='utf-8')stopword = stop.read().split("\n")#遍历分词表for key in seg.split('/'):#print(key)#去除停用词,去除单字,去除重复词if not(key.strip() in stopword) and (len(key.strip()) > 1) and not(key.strip() in wordlist) :wordlist.append(key)print(key)keyword.write(key+"\n")#停用词去除ENDstop.close()keyword.close()return '/'.join(wordlist)def creat():Rawdata = open('raw.txt','r+')text = Rawdata.read()#调用分词stripdata(text)#ENDRawdata.close()if __name__ == '__main__' :creat()

分词效果

【NLP】之 结巴分词相关推荐

  1. 码书:入门中文NLP必备干货:5分钟看懂“结巴”分词(Jieba)

    导读:近年来,随着NLP技术的日益成熟,开源实现的分词工具越来越多,如Ansj.盘古分词等.在本文中,我们选取了Jieba进行介绍和案例展示,主要基于以下考虑: 社区活跃.截止本文发布前,Jieba在 ...

  2. 结巴分词关键词相似度_jieba+gensim 实现相似度

    相似度 自然语言处理(NLP) : 大概意思就是 让计算机明白一句话要表达的意思,NLP就相当于计算机在思考你说的话,让计算机知道"你是谁","你叫啥",&qu ...

  3. java结巴分词如何提高运行速度_结巴分词 java 高性能实现,优雅易用的 api 设计,性能优于 huaban jieba 分词...

    Segment Segment 是基于结巴分词词库实现的更加灵活,高性能的 java 分词实现. 创作目的 分词是做 NLP 相关工作,非常基础的一项功能. jieba-analysis 作为一款非常 ...

  4. mysql使用结巴语句_结巴分词 java 高性能实现,是 huaban jieba 速度的 2倍

    Segment Segment 是基于结巴分词词库实现的更加灵活,高性能的 java 分词实现. 创作目的 分词是做 NLP 相关工作,非常基础的一项功能. jieba-analysis 作为一款非常 ...

  5. 【5】使用结巴分词对分类语料库分词

    转自 NLP论坛 http://www.threedweb.cn/thread-1295-1-1.html 工作空间(workspace)路径:X:\WorkSpace\text_mining X为W ...

  6. python结巴分词去掉停用词、标点符号、虚词_NLP自然语言处理入门-- 文本预处理Pre-processing...

    引言 自然语言处理NLP(nature language processing),顾名思义,就是使用计算机对语言文字进行处理的相关技术以及应用.在对文本做数据分析时,我们一大半的时间都会花在文本预处理 ...

  7. 结巴分词和自然语言处理HanLP处理手记

    手记实用系列文章: 1 结巴分词和自然语言处理HanLP处理手记 2 Python中文语料批量预处理手记 3 自然语言处理手记 4 Python中调用自然语言处理工具HanLP手记 5 Python中 ...

  8. Python 结巴分词(1)分词

    利用结巴分词来进行词频的统计,并输出到文件中. 结巴分词github地址:结巴分词 结巴分词的特点: 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析: 全模式,把句子中所有的可以成 ...

  9. 结巴分词jieba添加自定义词典

    结巴分词添加自定义词典,有时候很有必要.比如下面这段话: test_text = """ 我们的健康码也是绿色的,这凭什么就限制我们的就医!""&qu ...

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

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

最新文章

  1. 三圆相交阴影部分面积_这题要证明圆的切线并求阴影面积,分割图形求面积法是解题关键...
  2. leetcode897
  3. linux c 获取 进程 线程 id
  4. Java集合查找Map,java:使用hashmap或其他一些java集合创建查找...
  5. SSH port forwarding: bind: Cannot assign requested address
  6. ML之二分类预测:以岩石水雷数据集(RockMine)为例从0到1深入理解科学预测之分类问题的思路框架(特征工程详细步骤(特征分析与特征处理)+分类模型设计)
  7. 20175204 张湲祯 2018-2019-2《Java程序设计》第九周学习总结
  8. 从Exchange 通往Office 365系列(十六)添加域名到Office 365
  9. mysql作为kafka生产者_Kafka之生产者
  10. mysql日期格式化季度_mysql按年度、季度、月度、周、日统计查询的sql语句
  11. python里面的函数
  12. 使用.NET Core 2.1,RabbitMQ,SignalR,EF Core 2.1和Angular 6开发微服务
  13. ajax提示弹出dev,windows git pull或者push代码时弹出安全框解决办法
  14. 多线程之 interrupt,interrupted,isInterrupted 方法区别
  15. Starling Feathers:Starling专属UI框架
  16. FLUENT边界条件和计算模型
  17. C语言数据结构——用链表实现一个简单的电话号码簿
  18. CMOS Image Sensor的接口硬件设计(DVP/MIPI CSI)
  19. 电路串联和并联图解_串联电路和并联电路
  20. html表格行的悬停事件,jQuery实现HTML表格隔行变色及鼠标悬停变色效果

热门文章

  1. Ubuntu下F2FS文件系统的安装与挂载
  2. log4j 配置文件路径问题
  3. STAR:转录组数据比对工具简介
  4. 多媒体计算机涉及的关键技术有什么,多媒体计算机的关键技术
  5. 宿舍管理系统c语言程序代码,宿舍管理系统(c语言版)
  6. 黑客X档案 2008~2012 NPM、PYPI、DockerHub 备份
  7. 湖南省益阳市谷歌高清卫星地图下载(百度网盘离线包下载)
  8. xshell添加vbs脚本
  9. 关于初级java程序员面试题总结(每月更新中)
  10. 10种JavaScript特效实例让你的网站更吸引人