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

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

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


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


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


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


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


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


分词效果如下

1666425227490.jpg

代码如下

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)
相关文章
|
10月前
|
数据采集 机器学习/深度学习 人工智能
31_NLP数据增强:EDA与NLPAug工具
在自然语言处理(NLP)领域,高质量的标注数据是构建高性能模型的基础。然而,获取大量准确标注的数据往往面临成本高昂、耗时漫长、覆盖度不足等挑战。2025年,随着大模型技术的快速发展,数据质量和多样性对模型性能的影响愈发显著。数据增强作为一种有效扩充训练样本的技术手段,正成为解决数据稀缺问题的关键策略。
689 0
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
4089 65
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
人工智能 自然语言处理 数据可视化
Data Formulator:微软开源的数据可视化 AI 工具,通过自然语言交互快速创建复杂的数据图表
Data Formulator 是微软研究院推出的开源 AI 数据可视化工具,结合图形化界面和自然语言输入,帮助用户快速创建复杂的可视化图表。
1646 10
Data Formulator:微软开源的数据可视化 AI 工具,通过自然语言交互快速创建复杂的数据图表
|
存储 索引 Python
Python入门:6.深入解析Python中的序列
在 Python 中,**序列**是一种有序的数据结构,广泛应用于数据存储、操作和处理。序列的一个显著特点是支持通过**索引**访问数据。常见的序列类型包括字符串(`str`)、列表(`list`)和元组(`tuple`)。这些序列各有特点,既可以存储简单的字符,也可以存储复杂的对象。 为了帮助初学者掌握 Python 中的序列操作,本文将围绕**字符串**、**列表**和**元组**这三种序列类型,详细介绍其定义、常用方法和具体示例。
Python入门:6.深入解析Python中的序列
|
存储 Linux iOS开发
Python入门:2.注释与变量的全面解析
在学习Python编程的过程中,注释和变量是必须掌握的两个基础概念。注释帮助我们理解代码的意图,而变量则是用于存储和操作数据的核心工具。熟练掌握这两者,不仅能提高代码的可读性和维护性,还能为后续学习复杂编程概念打下坚实的基础。
Python入门:2.注释与变量的全面解析
|
Web App开发 移动开发 前端开发
React音频播放器样式自定义全解析:从入门到避坑指南
在React中使用HTML5原生<audio>标签时,开发者常面临视觉一致性缺失、样式定制局限和交互体验割裂等问题。通过隐藏原生控件并构建自定义UI层,可以实现完全可控的播放器视觉风格,避免状态不同步等典型问题。结合事件监听、进度条拖拽、浏览器兼容性处理及性能优化技巧,可构建高性能、可维护的音频组件,满足跨平台需求。建议优先使用成熟音频库(如react-player),仅在深度定制需求时采用原生方案。
687 12
|
Java 关系型数据库 数据库连接
Javaweb之Mybatis入门程序的详细解析
本文详细介绍了一个MyBatis入门程序的创建过程,从环境准备、Maven项目创建、MyBatis配置、实体类和Mapper接口的定义,到工具类和测试类的编写。通过这个示例,读者可以了解MyBatis的基本使用方法,并在实际项目中应用这些知识。
396 11
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。
|
存储 人工智能 自然语言处理
ACE++:输入想法就能完成图像创作和编辑!阿里通义推出新版自然语言驱动的图像生成与编辑工具
ACE++ 是阿里巴巴通义实验室推出的升级版图像生成与编辑工具,支持多种任务,如高质量人物肖像生成、主题一致性保持和局部图像编辑。
1256 8

热门文章

最新文章

推荐镜像

更多
  • DNS