jieba textrank关键词提取 python_五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg,THULAC, HanLP...

2023-10-27

最近玩公众号会话停不下来:玩转腾讯词向量:Game of Words(词语的加减游戏),准备把NLP相关的模块搬到线上,准确的说,搬到AINLP公众号后台对话,所以,趁着劳动节假期,给AINLP公众号后台聊天机器人添加了一项新技能:中文分词线上PK,例如在AINLP公众号后台对话输入:中文分词 我爱自然语言处理,就可以得到五款分词工具的分词结果:


现在的开源中文分词工具或者模块已经很丰富了,并且很多都有一些在封闭测试集上的效果对比数据,不过这仅仅只能展现这些分词工具在这个封闭测试集上的效果,并不能全面说明问题,个人觉得,选择一个适合自己业务的分词器可能更重要,有的时候,还需要加一些私人定制的词库。
这次首先选了5款中文分词工具,严格的来说,它们不完全是纯粹的中文分词工具,例如SnowNLP, Thulac, HanLP都是很全面的中文自然语言处理工具,这次,先试水它们的中文分词模块。安装这些模块其实很简单,只要按官方文档的方法安装即可,以下做个简单介绍,在Python3.x的环境下测试,Ubuntu16.04 或 MacOS 测试成功。
1) Jieba: https://github.com/fxsjy/jieba“结巴”中文分词:做最好的 Python 中文分词组件"Jieba" (Chinese for "to stutter") Chinese text segmentation: built to be the best Python Chinese word segmentation module.特点支持三种分词模式:精确模式,试图将句子最精确地切开,适合文本分析;全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义;搜索引擎模式,在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词。支持繁体分词支持自定义词典MIT 授权协议
安装:
代码对 Python 2/3 均兼容
全自动安装:easy_install jieba 或者 pip install jieba / pip3 install jieba
半自动安装:先下载 http://pypi.python.org/pypi/jieba/ ,解压后运行 python setup.py install
手动安装:将 jieba 目录放置于当前目录或者 site-packages 目录
中文分词示例:


2) SnowNLP: https://github.com/isnowfy/snownlpSnowNLP是一个python写的类库,可以方便的处理中文文本内容,是受到了TextBlob的启发而写的,由于现在大部分的自然语言处理库基本都是针对英文的,于是写了一个方便处理中文的类库,并且和TextBlob不同的是,这里没有用NLTK,所有的算法都是自己实现的,并且自带了一些训练好的字典。注意本程序都是处理的unicode编码,所以使用时请自行decode成unicode。Features中文分词(Character-Based Generative Model)词性标注(TnT 3-gram 隐马)情感分析(现在训练数据主要是买卖东西时的评价,所以对其他的一些可能效果不是很好,待解决)文本分类(Naive Bayes)转换成拼音(Trie树实现的最大匹配)繁体转简体(Trie树实现的最大匹配)提取文本关键词(TextRank算法)提取文本摘要(TextRank算法)tf,idfTokenization(分割成句子)文本相似(BM25)支持python3(感谢erning)
安装:
$ pip install snownlp
中文分词示例:

3) PkuSeg: https://github.com/lancopku/pkuseg-pythonpkuseg多领域中文分词工具; The pkuseg toolkit for multi-domain Chinese word segmentation主要亮点pkuseg具有如下几个特点:多领域分词。不同于以往的通用中文分词工具,此工具包同时致力于为不同领域的数据提供个性化的预训练模型。根据待分词文本的领域特点,用户可以自由地选择不同的模型。 我们目前支持了新闻领域,网络领域,医药领域,旅游领域,以及混合领域的分词预训练模型。在使用中,如果用户明确待分词的领域,可加载对应的模型进行分词。如果用户无法确定具体领域,推荐使用在混合领域上训练的通用模型。各领域分词样例可参考 example.txt。更高的分词准确率。相比于其他的分词工具包,当使用相同的训练数据和测试数据,pkuseg可以取得更高的分词准确率。支持用户自训练模型。支持用户使用全新的标注数据进行训练。支持词性标注。编译和安装目前仅支持python3为了获得好的效果和速度,强烈建议大家通过pip install更新到目前的最新版本通过PyPI安装(自带模型文件):pip3 install pkuseg之后通过import pkuseg来引用建议更新到最新版本以获得更好的开箱体验:pip3 install -U pkuseg
中文分词示例:

4) THULAC: https://github.com/thunlp/THULAC-PythonTHULAC:一个高效的中文词法分析工具包THULAC(THU Lexical Analyzer for Chinese)由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包,具有中文分词和词性标注功能。THULAC具有如下几个特点:能力强。利用我们集成的目前世界上规模最大的人工分词和词性标注中文语料库(约含5800万字)训练而成,模型标注能力强大。准确率高。该工具包在标准数据集Chinese Treebank(CTB5)上分词的F1值可达97.3%,词性标注的F1值可达到92.9%,与该数据集上最好方法效果相当。速度较快。同时进行分词和词性标注速度为300KB/s,每秒可处理约15万字。只进行分词速度可达到1.3MB/s。编译和安装python版(兼容python2.x版和python3.x版)从github下载(需下载模型文件,见获取模型)将thulac文件放到目录下,通过 import thulac 来引用thulac需要模型的支持,需要将下载的模型放到thulac目录下。pip下载(自带模型文件)pip install thulac通过 import thulac 来引用
中文分词示例:


5) pyhanlp: https://github.com/hankcs/pyhanlp
pyhanlp: Python interfaces for HanLP
自然语言处理工具包HanLP的Python接口, 支持自动下载与升级HanLP,兼容py2、py3。
安装
pip install pyhanlp
注意pyhanlp安装之后使用的时候还会自动下载相关的数据文件,zip压缩文件600多M,速度有点慢,时间有点长
中文分词示例:


现在,可以拿起你的手机,对着AINLP公众号后台输入:中文分词 需要分词的内容,或者可以用语音输入:来,试试语音(识别)聊天(机器人)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jieba textrank关键词提取 python_五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg,THULAC, HanLP... 的相关文章

  • 超详细Python安装教程

    Python官网地址 https www python org 1 进入官网 点击download选择系统 2 点击最新的Python版本 3 进入新页面 下拉至Files处 选择系统位数的执行运行程序 我的系统是64位 4 点击安装文件
  • 微信小程序开发笔记—获取颜色十六进制值

    获取颜色十六进制值 十六进制颜色代码是在软件中设定颜色的代码 可以先查询以下目标颜色的RGB值 然后将三个值均转换成十六进制即是目标颜色的十六进制值 转换这里可以使用电脑计算器中的程序员模式 比如目标颜色为香芋紫 查询得知该颜色的RGB值分
  • C++57个入门知识点_55 函数模板(template<typename T>;T GetMin(T a, T b){};函数模板定义;隐式实例化;显式实例化;函数模板特例;实例化后模板才有效)

    本篇主要讨论函数模板的相关知识点 前言 typename 是一个C 程序设计语言中的关键字 当用于泛型编程时是另一术语 class 的同义词 这个关键字用于指出模板声明 或定义 中的非独立名称 dependent names 是类型名 而非
  • 从 BBR 失速到带宽探测

    看一下 pacing 流失速的成因 一段时间收不到 ack 丢了 ack 自时钟 cwnd 将耗尽 bbr 虽有 cwnd gain 上图没有表现 但在该 cwnd gain 下不依赖 ack 持续坚持发送多久取决于 cwnd gain 的
  • hashmap的常见静态属性和方法

    1 hashmap的常见的静态属性 hashmap默认的容器大小 16 static final int DEFAULT INITIAL CAPACITY 1 lt lt 4 hashmap默认最大的容器大小 超过不再扩容 static f
  • MySQL存储过程调试工具dbForge Studio for MySQL

    https blog csdn net zhanghongzheng3213 article details 51462113 https blog csdn net ggjlvzjy article details 49069569 ut
  • pytorch【生成自己的数据集】

    文章目录 一 导入相关的库 二 生成数据集 定义一个创建数据集的函数 三 创建我们分类数据集 定义一个创建数据集的函数 一 导入相关的库 import skimage from skimage import io 用来导入图片 import
  • vue项目全局去掉网页滚动条

    在App vue里增加以下样式
  • python包相对导入导入上层文件夹包功能使用

    python导入当前文件夹中的包非常简单 但是导入上层文件夹的包就比较困难了 不过还好python解释器给出了包相对导入功能 但是与平常的相对目录写法不太一样 新手比较难以发现 以下为对python官方文档的装载 给定以下的包布局结构 pa
  • keil5仿真错误:Encountered an improper argument 原因及解决办法

    报错如图 现象 仿真结束 退出仿真时报错 无法正常关闭keil软件 只能通过任务管理器强制结束进程关闭 解决办法 清除所有断点再关闭
  • 基于Java基础的家庭收支记账软件

    文章目录 前言 一 前期准备 二 整体功能 三 功能模块 四 功能浅谈 1 AccountInfo 类 2 收支明细 3 登记收入 支出 4 查询账单 五 收获 六 总结 前言 学习完Java基础之后 狗子我便在网上 尚硅谷 寻找了这个练手
  • [力扣刷题总结](字典树篇)

    文章目录 字典树 字典树的概念 字典树的功能 字典树的实现及代码实现 208 实现 Trie 前缀树 解法1 实现Trie 472 连接词 解法1 字典树 DFS 820 单词的压缩编码 解法1 字典树 字典树 字典树的概念 本小节主要参考
  • 讲讲BW/4 HANA和BW on HANA的区别

    前言部分 大家可以关注我的公众号 公众号里的排版更好 阅读更舒适 正文部分 很多人知道BW on HANA BO on HANA 但却不太了解BW 4 HANA 这篇文章我们就来简单讲讲区别 从BW onHANA 7 3开始 直到BW在HA
  • 正确的打日志姿势

    前言 比较认同 转载一下 使用slf4j 使用门面模式的日志框架 有利于维护和各个类的日志处理方式统一 实现方式统一使用 Logback框架 什么时候应该打日志 当你遇到问题的时候 只能通过debug功能来确定问题 你应该考虑打日志 良好的
  • matlab中的科学记数法变成小数形式

    例如 假如rectx的形式在命令窗口显示 rectx 1 0e 05 5 2294 5 2294 5 2294 5 2294 5 2294 那么 命令窗口输入vpa rectx ans 522938 95232622162438929080
  • MyBatis动态推理参数类型

    前言 思考一个问题 前面的 和 的区别中 我们知道了 MyBatis底层调用的是preparestatement这种预编译的方式 这种方式sql语句会预先编程 select from t user where id 这种形式 随后调用set
  • 51 单片机实战教程(13 外围芯片驱动程序之CS1237芯片驱动)

    CS1237芯片是一枚国产24位A D转换芯片 输出速率可选 10Hz 40Hz 640Hz 1 28kHz 内置时钟电路 不需外部晶振 带可编程PGA PGA放大倍数可选 1 2 64 128 2 线 SPI通信接口 最快速率为 1 1M

随机推荐

  • Mysql Workbench使用教程

    lt 1 gt MySQL Workbench MySQL Workbench 为数据库管理员 程序开发者和系统规划师提供可视化的Sql开发 数据库建模 以及数据库管理功能 lt 2 gt MySQL Workbench 的下载和安装 1
  • window.open() is not a function

    这个报错的产生原因是 重新定义了一个open变量 所以导致了window open 读取错误 解决方法 最好换个变量名
  • stan的siebel学习笔记一

    今天开始学习siebel先从概念理论开始 Siebel CRM 系统的应用环境 Siebel CRM系统的应用环境由以下三部分组成 n 核心数据库 RDBMS 和Siebel 文件系统 存储企业各类数据和文档 n 客户 Siebel Cli
  • 为什么java文件名要和类名一致

    1 Java保存的文件名必须与类名一致 2 如果文件中只有一个类 文件名必须与类名一致 3 一个Java文件中只能有一个public类 4 如果文件中不止一个类 文件名必须与public类名一致 5 如果文件中不止一个类 而且没有publi
  • 前端-富文本上传图片(若依框架vue)

    上传图片显示到页面上这个过程的实现需要和后端配合 在成功上传的回调函数中请求一个提交图片的地址 请求成功会给返一个地址 再将这个图片地址插入到富文本中就实现了 请求提交图片地址的过程就是你要把图片返给后端让其存到数据库中 存好了再返给前端
  • 我在阿里工作9年,今天我离职了

    相关阅读 阿里职位层级 附P级详细要求 我在公司待了 6 年 清退我却只花了 6 分钟 Docker 完全指南 2009年7月3号正式入职 2018年7月3号 last day 特意选择了这一天 阿里是我的第一份工作 也是迄今为止待得最久的
  • python的数值运算操作符,数值运算函数和数字类型转换函数

    python的数值运算操作符 1 x y x与y之和 2 x y x与y之差 3 x y x与y之积 4 x y x与y之商 5 x y x与y之整数商 即不大于x与y之商的最大整数 6 x y x与y之商的余数 也称模运算 7 x x的负
  • Elasticsearch快速入门

    Elasticsearch入门学习 一 初识Elasticsearch 1 什么是Elasticsearch 2 正向索引和倒排索引 3 安装ES 4 安装Kibana 5 安装IK分词器 二 索引库操作 1 创建索引库 2 查询索引库 3
  • node+express导出excel表

    前言 node表格导出excel的方式有好几种 现在还在持续更新的只有node xlsx excel export 1 js xlsx 入口 目前 Github 上 star 数量最多的处理 Excel 的库 支持解析多种格式表格XLSX
  • Uniapp微信小程序转支付宝小程序

    Uniapp打包成小程序后即可使用 注意事项及修改内容 在manifest json配置支付宝小程序APPID 获取手机号功能需要去小程序平台获取相对应的能力 能力有 转账 小程序二维码 模板消息 图片内容安全 音频播放等等 3 需要配置支
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 沈师 PTA 数据库题目及部分解析 第二章

    判断题 1 表中不同的列不能出自同一个域 F 不同列可出自同一个域 2 关系的外码是允许有空值的 T 3 候选码的值可以唯一地表示关系中的一个元组 T 4 一个关系模式可以有多个 候选键 T 5 已知系 系编号 系名称 系主任 电话 地点
  • 搭建 frp 内网穿透服务器

    写在前面 国内 腾讯云 和 阿里云服务器 都需要对安全组进行配置才可以访问 一 云服务器 阿里云服务器 推荐 开发者成长计划 云服务器管理控制台 初次登录需要密码 这时可通过重置 root 密码解决 腾讯云服务器 云产品免费试用 云服务免费
  • python导入文件

    python导入同级模块 在同一个文件夹中的py文件 直接导入即可 import xxx 如在file1 py中想导入file2 py 注意无需加后缀 py import file2 使用file2中函数时需加上前缀 file2 即 fil
  • ChatGPT 使用详细指南

    ChatGPT 使用详细指南 欢迎使用 ChatGPT 本指南将带您了解如何与 ChatGPT 互动以及如何充分利用其功能 了解 ChatGPT 开始使用 提高准确性 多轮对话 了解模型限制 提高创意输出 确保安全和隐私 反馈问题 1 了解
  • Twitter开源时间线推荐架构整理(Twitter‘s Recommendation Algorithm)

    马斯克最近开源了部分 Twitter的代码 主要有两个仓库 main repo https github com twitter the algorithm ml repo https github com twitter the algo
  • Django链接MySQL

    目录 修改使用MySQL数据库 修改配置文件 代码声明 django自带的小型关系型数据库为sqlit3 这个数据库很小 只能做本地测试 可以在django项目中的settings py里找到他的配置信息 DATABASES default
  • js原生创建html代码,原生js动态生成html初始化插入到body(不指定id/class)

    富国沪深 建议是这样的 我觉得你应该希望onload之前的也log出来所以内容和load状态没关系 load之后添加log到body的下面 尽量保证你的思路 创建domvar logDom document createElement di
  • 数字的排序算法—计数排序、桶排序和基数排序

    计数排序 当输入元素是n个0到k之间的整数时 他的运行时间是O n k 计数排序不是比较排序 它快于任何比较算法 用来计数的数组C的长度取决于排序数组的数据范围 如果数据范围很大 需要大量的数组 但是计数排序可以在基数排序的的算法范围来排序
  • jieba textrank关键词提取 python_五款中文分词工具在线PK: Jieba, SnowNLP, PkuSeg,THULAC, HanLP...

    最近玩公众号会话停不下来 玩转腾讯词向量 Game of Words 词语的加减游戏 准备把NLP相关的模块搬到线上 准确的说 搬到AINLP公众号后台对话 所以 趁着劳动节假期 给AINLP公众号后台聊天机器人添加了一项新技能 中文分词线