本文授权转载自Python编程与实战

禁止二次转载

大家好,我是老表

阅读文本大概需要 7 分钟

上篇文章说了jieba分词入门使用指南,大家都说北大有个分词很厉害,于是,有了这篇文章分享,用完北大分词,嗯,还是jieba香。

有做过搜索的朋友知道,分词的好坏直接影响我们最终的搜索结果。

在分词的领域,英文分词要简单很多,因为英文语句中都是通过一个个空格来划分的,而我们的中文博大精深,同样的词在不同的语境中所代表的含义千差万别,有时候必须联系上下文才能知道它准确的表达意思,因此中文分词一直是分词领域的一大挑战。

之前介绍过一款北大新开源的分词器,根据作者的测试结果,这是一个准确率和速度都超过 jieba 等其他分词的分词器。

所以我就想来做个简单的测试!于是我想用《三国演义》来做一个测试,提取其中著名人名出现的频率。

首先搜索下三国中的人物名单,

得到人名之后,做成一个人名的列表,之前设置成一个以人物名为键,值为 0 的字典。我只取了曹魏和蜀汉的部分人名,代码如下:

wei = ["许褚","荀攸","贾诩","郭嘉","程昱","戏志","刘晔","蒋济","陈群","华歆","钟繇","满宠","董昭","王朗","崔琰","邓艾","杜畿","田畴","王修","杨修","辛毗","杨阜","田豫","王粲","蒯越","张继","于禁","枣祗","曹操","孟德","任峻","陈矫","郗虑","桓玠","丁仪","丁廙","司马朗","韩暨","韦康","邴原","赵俨","娄圭","贾逵","陈琳","司马懿","张辽","徐晃","夏侯惇","夏侯渊","庞德","张郃","李典","乐进","典韦","曹洪","曹仁","曹彰"]wei_dict = dict.fromkeys(wei, 0)
shu_dict = dict.fromkeys(shu, 0)

接着去网上下载一部三国的电子书,并读取返回

def read_txt():with open("三国.txt", encoding="utf-8") as f:content = f.read()return content

pkuseg  测试结果

pkuseg 的用法很简单,首先实例化 pkuseg 的对象,获取人物名称数量的思路是这样的:循环我们分词后的列表,如果检测到有人物名称字典中的人物名,就将该数据加 1,代码如下:

def extract_pkuseg(content):start = time.time()seg = pkuseg.pkuseg()text = seg.cut(content)for name in text:if name in wei:wei_dict[name] = wei_dict.get(name) + 1elif name in shu:shu_dict[name] = shu_dict.get(name) + 1print(f"pkuseg 用时:{time.time() - start}")
print(f"pkuseg 读取人名总数:{sum(wei_dict.values()) + sum(shu_dict.values())}")

执行结果如下:

pkuseg 测试结果

jieba 测试结果

代码基本差不多,只是分词器的用法有些不同。

def extract_jieba(content):start = time.time()seg_list = jieba.cut(content)for name in seg_list:if name in wei:wei_dict[name] = wei_dict.get(name) + 1elif name in shu:shu_dict[name] = shu_dict.get(name) + 1print(f"jieba 用时:{time.time() - start}")print(f"jieba 读取人名总数:{sum(wei_dict.values()) + sum(shu_dict.values())}")

执行结果如下:

jieba 测试结果

emmm 测试结果好像好像有点出乎意料,说好的 pkuseg 准确率更高呢???

pkuseg 用时将近 jieba 的三倍,而且提取效果也没有 jieba 分词好!于是我就去逼乎搜了一下 pkuseg ,结果是这样的….

总体而言 pkuseg 吹的有点过了,并没有作者说的那么神奇,有点博眼球的成分,也许它更是一款更注重细分领域的分词器!

大家好,我是老表
觉得本文不错的话,转发、留言、点赞,是对我最大的支持。

留言赠书

《Python网络爬虫开发》

从入门到精通

(1)没有高深的理论,每一章都是以实例为主,读者参考源码,修改实例,就能得到自己想要的结果。目的是让读者看得懂、学得会、做得出。

(2)实训与问答,10多章章节实训与问答,目的是让读者看完之后,能做到举一反三,学以致用。

(3)内容系统,实战性强。本书从零开始讲解,然后逐步深入相关爬虫技能,从而达到从入门到精通的学习效果。

(4)配套资源丰富。案例源码,Python 常见面试题精选(50 道),“微信高手技巧随身查”“QQ 高手技巧随身查”“手机办公 10 招就够”3 本电子书,“5 分钟学会番茄工作法”视频教程““10 招精通超级时间整理术”视频教程。

每日留言

说说你读完本文感受?

或者一句激励自己的话?

(字数不少于15字)

怎么加入刻意学习队伍

点我,看文末彩蛋

留言有啥福利

点我就知道了

想进学习交流群

加微信:jjxksa888

:简说Python

2小时快速掌握Python基础知识要点

完整Python基础知识要点

Python小知识 | 这些技能你不会?(一)

Python小知识 | 这些技能你不会?(二)

Python小知识 | 这些技能你不会?(三)

Python小知识 | 这些技能你不会?(四)

近期推荐阅读:

【1】整理了我开始分享学习笔记到现在超过250篇优质文章,涵盖数据分析、爬虫、机器学习等方面,别再说不知道该从哪开始,实战哪里找了

【2】【终篇】Pandas中文官方文档:基础用法6(含1-5)

觉得不错就点一下“在看”吧 

北大pkuseg分词 和 jieba 分词对比测试,结果出乎意料...相关推荐

  1. 中文分词工具jieba分词器的使用

    1.常见的中文分词工具 中科院计算所的NLPIR 哈工大LTP 清华大学THULAC 斯坦福分词器 Hanlp分词器 jieba分词 IKAnalyzer 2.jieba分词算法主要有以下三种: 1. ...

  2. ik分词和jieba分词哪个好_Lucene.net(4.8.0) 学习问题记录五: JIEba分词和Lucene的结合,以及对分词器的思考...

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

  3. pythonjieba分词_$好玩的分词——python jieba分词模块的基本用法

    jieba(结巴)是一个强大的分词库,完美支持中文分词,本文对其基本用法做一个简要总结. 安装jieba pip install jieba 简单用法 结巴分词分为三种模式:精确模式(默认).全模式和 ...

  4. python中文分词之jieba分词的使用

    文章目录 1.特点 2.安装说明 安装示例 下载: 安装: 测试: 3.算法 4.主要功能 (1)分词 (2)添加自定义词典 载入词典 调整词典 (3)关键词提取 一.基于 TF-IDF 算法的关键词 ...

  5. ik分词和jieba分词哪个好_JiebaIK Analyzer——分词工具的比较与使用

    现有的分词工具包概览 现有的分词工具包种类繁多,我选取了几个比较常见的开源中文分词工具包进行了简单的调查.有感兴趣的同学可以通过下表中的Giuthub链接进行详细地了解. 常见开源的中文分词工具 接下 ...

  6. ik分词和jieba分词哪个好_Pubseg:一种单双字串的BiLSTM中文分词工具

    中文分词是中文自然语言处理中的重要的步骤,有一个更高精度的中文分词模型会显著提升文档分类.情感预测.社交媒体处理等任务的效果[1]. Pubseg是基于BiLSTM中文分词工具,基于ICWS2005P ...

  7. ik分词和jieba分词哪个好_Python 中文 文本分析 实战:jieba分词+自定义词典补充+停用词词库补充+词频统计...

    最近项目需要,实现文本的词频分析,折腾了几天才完成任务,有点成就感,最后整理总结一下这部分的内容,希望更多同僚受益. 一.使用前准备 环境:Python3.6 安装结巴:pip install ji ...

  8. 如何在jieba分词中加自定义词典_Python实践129-jieba分词和pkuseg分词

    jieba分词 jieba是非常有名的Python中文分词组件 jieba分词的特点是:支持3种分词模式:精确模式.全模式.搜索引擎模式.支持繁体分词.支持自定义词典. 安装: pip install ...

  9. jieba分词原理 ‖ 词性标注

    jieba分词原理 | 基于前缀词典及动态规划的分词实现 jieba分词原理 | 基于汉字成词能力的HMM模型识别未登录词实现 jieba分词原理 | 词性标注 jieba分词原理 | 关键词抽取 1 ...

  10. jieba分词_自然语言NLP必备(1),jieba工具 5 行代码对整篇文章分词

    自然语言是什么?下面来看看百度百科的介绍: 自然语言处理是计算机科学领域与人工智能领域中的一个重要方向.它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法.自然语言处理是一门融语言学.计 ...

最新文章

  1. Python图片爬取方法总结
  2. conscience ['kɔnʃəns]
  3. python 数据分析工具之 numpy pandas matplotlib
  4. 前端学习(769):new关键字执行过程
  5. asp.net架构之请求处理过程:HttpModule,HttpHandler
  6. 计算机网络在地理信息系统中应用,计算机网络在地理信息系统中有哪些应用?...
  7. vue:无法将“vue”识别为脚本_Vue3将带来巨大的性能提升
  8. regnam r语言_求助:R语言进行增加值分解的一部分代码看不懂,求大神过目
  9. newifi3刷机 php,【超强信号】新路由3newifi3专用超强信号老毛子PADAVAN固件新路由3newifi3超强信号eeprom下载...
  10. Excel---饼图美化与ppt图表
  11. 使用excel分类汇总数据生成饼图
  12. 微信支付分(三)--完结支付分订单
  13. 【python实现视频解帧并保存到文件夹】
  14. 基于JAVA的TPL解释器
  15. 自媒体人如何在千氪实现月收入过万?
  16. HTMLParser 使用详解
  17. Android软键盘手动显示、隐藏、布局上移和EditText上移
  18. 软件自动化测试可行性分析,基于 AI 的软件自动化测试思考与实践—kylinTOP 测试与监控平台...
  19. 2021学习前端开发有前途吗?(建议收藏)
  20. 科技品牌软文营销的十个建议,提高你的写作水平

热门文章

  1. wine linux 目录,linux下wine安装
  2. dns服务器一些网站无法解析,dns解析出错,导致有些网站解析出错,重启DNS服务器就正常了。 - Exchange论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  3. RS485两台设备用了半年,今天突然没数了,并上串口一直时不时有多余FF等乱码输出。单独串口接电脑试都正常,共地就正常了
  4. 关于ProcessOn在线做图工具上找不到宋体,黑体字体样式的解答
  5. 西安理工大学计算机科学与技术分数线,2017西安理工大学各专业录取分数线
  6. 2019川大计算机在福建录取分数线,电子科技大学录取分数线2019(在各省市录取数据)...
  7. Java基础恶补——控制流、异常、断言
  8. 计算机运行一段时间假死,电脑使用一段时间后变慢或死机(提高电脑运行速度技巧)...
  9. pearson相关性
  10. 智协云店通+BitCOO加入4WiN.io全球互贸链 | 翼次元空间+Fund++