通过《自然语言处理入门》(何晗)的第2章来学习HanLP词典分词的Python实现。这里主要记录我在学习过程中整理的知识、调试的代码和心得理解,以供其他学习的朋友参考。

首先,我们导入HanLP

from pyhanlp import HanLP

下面,实现最基本的中文分词(依据HanLP默认词典,显示词语和词性、处理数字和英文的识别)

sentence = "deadline并不能帮你提升quality,只是给了你交一大堆trash上去的勇气"

print(HanLP.segment(sentence))

运行结果

[deadline/nx, 并/cc, 不能/v, 帮/v, 你/rr, 提升/v, quality/nx, ,/w, 只是/d, 给/p, 了/ule, 你/rr, 交/v, 一大/n, 堆/v, trash/nx, 上去/vf, 的/ude1, 勇气/n]

下面我们来尝试实现一些更多设置

关闭词性显示

HanLP.Config.ShowTermNature = False

sentence = "deadline并不能帮你提升quality,只是给了你交一大堆trash上去的勇气"

print(HanLP.segment(sentence))

运行结果

[deadline, 并, 不能, 帮, 你, 提升, quality, ,, 只是, 给, 了, 你, 交, 一大, 堆, trash, 上去, 的, 勇气]

分别获取分词结果中的词语与词性

sentence = "deadline并不能帮你提升quality,只是给了你交一大堆trash上去的勇气"

for term in HanLP.segment(sentence):

print("单词:%s 词性:%s" % (term.word, term.nature))

运行结果

单词:deadline 词性:nx

单词:并 词性:cc

......

用户词典

sentence = "联合国秘书长感谢中国人民" # 2020.02.25微博热搜榜第1名

print("设置用户词典前:", HanLP.segment(sentence))

custom_dictionary = JClass("com.hankcs.hanlp.dictionary.CustomDictionary")

custom_dictionary.add("联合国秘书长") # 将"联合国秘书长"设置为用户词典

print("设置用户词典后:", HanLP.segment(sentence))

运行结果

设置用户词典前: [联合国/nt, 秘书长/nnt, 感谢/v, 中国/ns, 人民/n]

设置用户词典后: [联合国秘书长/nz, 感谢/v, 中国/ns, 人民/n]

学习使用教材:《自然语言处理入门》(何晗):2.8、《停用词与用户自定义词典》Font Tian在CSDN的博客

本文中代码大部分引自该书中的代码

python 分词nlp,学习NLP的第四天——hanlp字典分词的Python实现,4,HanLP,词典相关推荐

  1. Python UI设计学习笔记,第四课:构建左侧菜单,使用 `QPushButton`

    文章目录 第4课:构建左侧菜单,使用 `QPushButton` 第4课:构建左侧菜单,使用 QPushButton 在第三课的基础上,继续在ui_main_window.py文件中,为 左侧菜单se ...

  2. python数组 swig_学习笔记:安装swig+用SWIG封装C++为Python模块+SWIG使用说明

    这段时间一直在摸索swing,用它来封装C++代码来生成python脚步语言.并总结了swing从安装到配置再到代码封装编译生成动态库的整个过程,下面这篇文章都是我在实际的运用中的一些经验总结,分享给 ...

  3. 有关python建模的学习笔记(3)(参考自哔站python数学建模及菜鸟教程)

    规划类模型(线性规划.整数规划.非线性规划) 线性规划 1.1  scipy库解决(参考自https://www.bilibili.com/video/BV12h411d7Dm?p=4及https:/ ...

  4. 基于python的深度学习框架有_从Theano到Lasagne:基于Python的深度学习的框架和库...

    深度学习是机器学习和人工智能的一种形式,利用堆积在彼此顶部的神经网络的多个隐藏层来尝试形成对数据更深层次的"理解". 最近,深度神经网络以"Deep Dreams&quo ...

  5. 零基础学python培训需要学习多久?

    Python是一种入门比较简单的编程语言,但是如果是零基础学员,学习起来还是需要时间的,那么零基础学python培训需要学习多久呢?我们来看看小编的详细介绍吧. 零基础学python培训需要学习多久? ...

  6. Python装饰器学习(九步入门)

    这是在Python学习小组上介绍的内容,现学现卖.多练习是好的学习方式. 第一步:最简单的函数,准备附加额外功能 1 2 3 4 5 6 7 8 # -*- coding:gbk -*- '''示例1 ...

  7. python基础知识学习笔记(1)

    python 基础知识学习笔记(1) 总结一下Python基础知识,以防忘记. 文章目录 python 基础知识学习笔记(1) 一.起步 1.python安装与编译环境 二.变量和简单数据类型 三.列 ...

  8. Python 基础知识学习笔记——NumPy

    Python基础知识学习笔记--NumPy 与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好.向量.矩阵和多维数组是数值计算中必不 ...

  9. python scikit_Python SciKit学习教程

    python scikit Scikit学习 (Scikit Learn) Scikit-learn is a machine learning library for Python. It feat ...

最新文章

  1. matlab向量与x正方向的夹角_MIT—线性代数笔记25 对称矩阵和正定性
  2. arduino 停止程序_极路由1S OpenWrt开机自启程序及串口调试
  3. 软件工程|如何写设计文档
  4. msfconsole 控制台简介
  5. C语言 fwrite 覆盖文件原始数据问题
  6. 六、利用ESP32搭建网络服务器(一)
  7. 使用 Visio 绘制卷积示意图
  8. 分赛区决赛见!2021eBay全国跨境电商创新创业大赛分赛区决赛晋级名单
  9. MS弹出ERROR: Check license - This feature is not available. A valid license is required to use it.
  10. 外包 | LBP/HOG/CNN 实现对 CK/jaffe/fer2013 人脸表情数据集分类
  11. 学生学籍管理系统~~登录界面(Java、SQL)
  12. Unity 画三角形
  13. 362 敲击计数器
  14. UMLChina建模知识竞赛第3赛季第13轮:SysML和系统工程知识
  15. 配水果蜜桔/蜜橘的朋友圈文案,蜜桔/蜜橘水果宣传文案模版
  16. 网页视频直播、微信视频直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的直播接入需求
  17. PTA-Advanced Enigma Cracking(enigma破解)
  18. 初用VScode并配置,自定义代码片段(快捷键),自动格式化代码快捷键,保存格式化代码快捷键
  19. JAVA怎么给手机发短信对接验证码短信接口DEMO示例
  20. 使用Excel导入SQLyog,Excel提示不能超过255个字符的问题

热门文章

  1. 软件工程第十四周总结
  2. SpringBoot中注册Servlet三大组件
  3. 《java程序设计》第十一周学习小结 201671010130
  4. vue.js+boostrap最佳实践
  5. 异步请求引发的Chrome死锁
  6. Silverlight+WCF+ArcObjects获取地图服务图层列表的实现
  7. 为什么需要字节对齐?
  8. C# 词典数据结构设计【附demo】
  9. 反射学习系列2-特性(Attribute)
  10. JavaScript之jQuery够用即可(each循环、位置偏移量和大小、克隆外层标签、嵌套返回顶部、集体绑定事件)