热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

自然语言是什么?下面来看看百度百科的介绍:

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。

自然语言有什么作用?

广泛的应用在机器(文字/语言/图片)翻译,情感分析、信息检索等领域。

下面介绍中文分词工具 jieba 的安装和使用,旨在让读者快速入门 jieba,快速掌握中文分词的方法。

1、安装

pip install jieba

2、重要分词函数

常规模式

jieba.cut(sentence, cut_all=False, HMM=True)

sentence: 需要分词的字符串; cut_all: 参数用来控制是否采用全模式;HMM: 参数用来控制是否适用HMM模型

搜索模式

jieba.cut_for_search(sentence, HMM=True)

sentence:需要分词的字符串; HMM: 是否使用 HMM 模型,适用于搜索引擎构建倒排索引的分词,粒度比较细。

分词器

jieba.Tokenizer(dictionary=DEFUALT_DICT)

新建自定义分词器,可用于同时使用不同字典,jieba.dt为默认分词器,所有全局分词相关函数都是该分词器的映射。

​返回的形式

◇jieba.cut 以及 jieba.cut_for_search 返回的结构都是可以得到的 generator (生成器), 可以使用 for 循环来获取分词后得到的每一个词语或者使用​jieb.lcut() 以及 jieba.lcut_for_search() 直接返回list

注意事项

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

3、三种分词模式

jieba分词支持三种分词模式:​★精确模式, 试图将句子最精确地切开,适合文本分析:​★全模式,把句子中所有的可以成词的词语都扫描出来,速度非常快, 但是不能解决歧义;​★搜索引擎模式,在精确模式的基础上,对长词再词切分,提高召回率, 适合用于搜索引擎分词。​

4、具体实例

注意在展示分词数据时,join 要表示成 '【区域1】' . join(【区域2】)的形式,其中区域 1 主要是自定义分词符,而区域 2 是分词后的数据

全模式分词

import jiebadata = jieba.cut('人生苦短,我学python',cut_all=True) print('Out:' + '/'.join(data))

Out:人生/苦短///我/学/python

精确模式

import jieba​data = jieba.cut('人生苦短,我学python',cut_all=False) print('Out:' + '/'.join(data))

Out:人生/苦短/,/我学/python

搜索引擎模式

import jiebadata = jieba.cut_for_search('人生苦短,我学python,让我们一起学习python吧') print('Out:' + ','.join(data))

Out:人生,苦短,,,我学,python,,,让,我们,一起,学习,python,吧

5、整篇文章进行分词

5 行代码实现任意中文文章分词

下面将小编以往的文章保存成 mydata.txt 记事本文件,然后通过 jieba 模块进行分词(提示:也可以直接利用爬虫模块 requests 直接把网页数据下载用于分词)

python网络爬虫学习路线的最全总结,理清思路才能高效学好爬虫

代码如下:

''' 传入中文文档进行分词 '''import jieba# 打开自己想要分词的文本文件,打开模式为 'rb' 二进制读取fp = open('../data/mydata.txt','rb')strData = fp.read()data = jieba.cut(strData, cut_all=False)print('/ '.join(data))

程序运行部分结果如下:

大家/ 都/ 知道/ ,/ 学习/ 一门/ 学科/ 的/ 时候/ 是/ 要/ 清楚/ 它/ 的/ 知识/ 框架/ 才能/ 清晰/ 的/ 学习/ 、/ 有/ 系统/ 的/ 学习/ ,/ 下面/ 来列/ 一列/ python/ 网络/ 爬虫/ 的/ 知识/ 框架/ 来/ 帮助/ 大家/ 能够/ 有效/ 的/ 学习/ 和/ 掌握/ ,/ 避免/ 不必要/ 的/ 坑/ 。/ / / python/ 网络/ 爬虫/ 总的来说/ 有/ 五个/ 大/ 的/ 方面/ :/ / 前端/ 知识/ —/ —/ 基础/ 爬虫/ —/ —/ 框架/ 爬虫/ —/ —/ 分布式/ 爬虫/ —/ —/ 突破/ 反/ 爬虫/ / / 1/ ./ 前端/ 知识/ :/ / “/ 网络/ 爬虫/ ”/ 很/ 明显/ 对象/ 是/ 网络/ ,/ 也/ 就是/ 网页/ 。/ 说/ 到/ 网页/ ,/ 这里/ 就/ 涉及/ 到/ 了/ 前端/ 的/ 知识/ 了/ ,/ 不过/ 大家/ 也/ 不要/ 慌/ ,/ 只要/ 懂点/ 必要/ 的/ HTML5/ 框架/ 、/ 网页/ 的/ http/ 请求/ 、/ 还有/ Javascript/ 、/ css3/ 的/ 知识/ 就/ 可以/ 了/ ,/ 以/ 这样/ 的/ 水平/ 也/ 是/ 可以/ 学会/ 爬虫/ 的/ 啦/ 。/ 当然/ ,/ 如果/ 要/ 非常/ 精通/ python/ 网络/ 爬虫/ 的话/ ,/ 深入/ 学习/ 前端/ 知识/ 是/ 必要/ 的/ 。/

5126097cac3ccbb261ef59cc2e029d67.png

明天将介绍如何提取关键词,怎样才知道那些词语出现的频率更高的问题

End--------------

喜欢的读者朋友可以点赞和关注小编呀,更多精彩内容等着你.......

往期文章推荐如下:

机器学习必备知识(1),线性回归官方参数和用法介绍

机器学习必备知识(2),岭回归模型参数和用法介绍

数据分析必备知识(2),Matplotlib绘图必备知识大总结(上篇)

python必备知识(1),打包为exe文件封装成可导入模块

python列表操作,助你快速掌握列表常用的操作



推荐阅读
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Python语法上的区别及注意事项
    本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 实现一个通讯录系统,可添加、删除、修改、查找、显示、清空、排序通讯录信息
    本文介绍了如何实现一个通讯录系统,该系统可以实现添加、删除、修改、查找、显示、清空、排序通讯录信息的功能。通过定义结构体LINK和PEOPLE来存储通讯录信息,使用相关函数来实现各项功能。详细介绍了每个功能的实现方法。 ... [详细]
  • Python操作MySQL(pymysql模块)详解及示例代码
    本文介绍了使用Python操作MySQL数据库的方法,详细讲解了pymysql模块的安装和连接MySQL数据库的步骤,并提供了示例代码。内容涵盖了创建表、插入数据、查询数据等操作,帮助读者快速掌握Python操作MySQL的技巧。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
author-avatar
温思家羽绒家纺旗舰店
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有