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

python机器学习入门之自然语言处理(NLP)工具Jieba的使用及解析

python机器学习入门之自然语言处理(NLP)工具J

自然语言处理(NLP) 是指用算法对人类口头表达或书面提供的自然语言信息进行处理的技术,自然语言处理属于人工智能和语言学的交叉学科

中文分词工具主要是Jieba。不仅能提供分词,还提供关键词提取和词性标注等功能。以下是Jieba分词的三种模式

1:精确模式 试图将句子最精确的切开 适合文本分析

2:全模式 把句子中所有可以成词的词语都扫描出来 速度非常快 但是不能解决歧义

3:搜索引擎模式 在精确模式的基础上 对长词进行切分 提高召回率 适合用于搜索引擎分词

同时Jieba还支持繁体分词 自定义词典 MIT授权协议等等...

分词效果如下

 代码如下

import jieba.posseg as pseg import jieba.analyse list0=jieba.cut('东北林业大学的猫科动物专家判定,这只野生东北虎属于定居虎',cut_all=True) print('全模式',list(list0)) list1=jieba.cut('东北林业大学的猫科动物专家判定,这只野生东北虎属于定居虎',cut_all=False) print('精确模式',list(list1)) list2=jieba.cut('东北林业大学的猫科动物专家判定,这只野生东北虎属于定居虎') print('搜索引擎模式',list(list2))

同样可以使用停用词 对文本进行分词 停用词就是在自然语言处理时可以自动或手动选择忽略的某些字和词

代码如下

import jieba.posseg as pseg import jieba.analyse def stopwords(filepath): f=open(filepath,'r',encoding='utf-8') txt=f.readlines() stopwords=[] for line in txt: stopwords.append(line.strip()) return stopwords inputs=open('zhangsan.txt','rb') stopwords=stopwords('zhangsan.txt') outstr='' for line in inputs: sentence_seged=jieba.cut(line.strip()) for word in sentence_seged: if word not in stopwords: if word!='\t': outstr+=''+word outstr+='' print(outstr)

推荐阅读
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 前言4.1回到基础赋值(略)barfoo[:]copy.deepcopy()等式(略)is条件语句ifelifall()any()4.2序列字符串链表元组序列类型上的操作表4-1P ... [详细]
  • 本文将给大家介绍五个十分可怕但还鲜为人知的人工智能机器学习项目,囊括了一些潜在的机器学习以及人工智能的新想法。它们基本都是Python项目。1.LiveLossPlo ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 招聘 | 涂鸦智能招聘IoT安全人才
    招聘 | 涂鸦智能招聘IoT安全人才 ... [详细]
author-avatar
张芬921_162
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有