广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python实现文本分类
  • 446
分享到

python实现文本分类

文本python 2023-01-31 07:01:29 446人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

一、中文文本分类流程:1. 预处理2. 中文分词3. 结构化表示-构建词向量空间4.权重策略-TF-IDF5. 分类器6. 评价二、具体细节1.预处理    1.1. 得到训练集语料库    本文采用复旦中文文本分类语料库,下载链接:ht

一、中文文本分类流程:

1. 预处理

2. 中文分词

3. 结构化表示-构建词向量空间

4.权重策略-TF-IDF

5. 分类器

6. 评价

二、具体细节

1.预处理

    1.1. 得到训练集语料库

    本文采用复旦中文文本分类语料库,下载链接:https://download.csdn.net/download/laobai1015/10431543

    1.2 得到测试集语料库

    同样采用复旦中文文本分类语料库,下载链接:Https://download.csdn.net/download/laobai1015/10431564


2. 中文分词

    第1小节预处理中的语料库都是没有分词的原始语料(即连续的句子,而后面的工作需要我们把文本分为一个个单词),现在需要对这些文本进行分词,只有这样才能在基于单词的基础上,对文档进行结构化表示。

中文分词有其特有的难点,最终完全解决中文分词的算法是基于概率图模型的条件随机场(CRF)。中文分词的工具有很多,但是比较著名的几个都是基于java的,这里推荐python的第三方库jieba(所采用的算法就是条件随机场)。

通过pip安装jieba:打开cmd,切换到Python所在目录下,执行命令:pip install jieba

    然后通过Python编程,将训练语料库和测试语料库进行分词,分词后保存的路径可以自己设置。

#!/usr/bin/env python  
# -*- coding: UTF-8 -*-  
 
import sys  
import os  
import jieba  
# 配置utf-8输出环境  
reload(sys)  
sys.setdefaultencoding('utf-8')  
# 保存至文件  
def savefile(savepath, content):  
    with open(savepath, "wb") as fp:  
        fp.write(content)  
    ''''' 
    上面两行是python2.6以上版本增加的语法,省略了繁琐的文件close和try操作 
    2.5版本需要from __future__ import with_statement 
    '''  
# 读取文件  
def readfile(path):  
    with open(path, "rb") as fp:  
        content = fp.read()  
    return content  
  
def corpus_segment(corpus_path, seg_path):  
    ''''' 
    corpus_path是未分词语料库路径 
    seg_path是分词后语料库存储路径 
    '''  
    catelist = os.listdir(corpus_path)  # 获取corpus_path下的所有子目录  
    ''''' 
    其中子目录的名字就是类别名,例如: 
    train_corpus/art/21.txt中,'train_corpus/'是corpus_path,'art'是catelist中的一个成员 
    '''  
  
    # 获取每个目录(类别)下所有的文件  
    for mydir in catelist:  
        ''''' 
        这里mydir就是train_corpus/art/21.txt中的art(即catelist中的一个类别) 
        '''  
        class_path = corpus_path + mydir + "/"  # 拼出分类子目录的路径如:train_corpus/art/  
        seg_dir = seg_path + mydir + "/"  # 拼出分词后存贮的对应目录路径如:train_corpus_seg/art/  
  
        if not os.path.exists(seg_dir):  # 是否存在分词目录,如果没有则创建该目录  
            os.makedirs(seg_dir)  
  
        file_list = os.listdir(class_path)  # 获取未分词语料库中某一类别中的所有文本  
        ''''' 
        train_corpus/art/中的 
        21.txt, 
        22.txt, 
        23.txt 
        ... 
        file_list=['21.txt','22.txt',...] 
        '''  
        for file_path in file_list:  # 遍历类别目录下的所有文件  
            fullname = class_path + file_path  # 拼出文件名全路径如:train_corpus/art/21.txt  
            content = readfile(fullname)  # 读取文件内容  
            '''''此时,content里面存贮的是原文本的所有字符,例如多余的空格、空行、回车等等, 
            接下来,我们需要把这些无关痛痒的字符统统去掉,变成只有标点符号做间隔的紧凑的文本内容 
            '''  
            content = content.replace("\r\n", "")  # 删除换行  
            content = content.replace(" ", "")#删除空行、多余的空格  
            content_seg = jieba.cut(content)  # 为文件内容分词  
            savefile(seg_dir + file_path, " ".join(content_seg))  # 将处理后的文件保存到分词后语料目录  
  
    print "中文语料分词结束!!!"  
  
''''' 
if __name__=="__main__": 
简单来说如果其他python文件调用这个文件的函数,或者把这个文件作为模块 
导入到你的工程中时,那么下面的代码将不会被执行,而如果单独在命令行中 
运行这个文件,或者在IDE(如PyCharm)中运行这个文件时候,下面的代码才会运行。 
即,这部分代码相当于一个功能测试。 
 
'''  
if __name__=="__main__":
    #对训练集进行分词  
    corpus_path = "D:/work/train/train/"  # 未分词分类语料库路径  
    seg_path = "D:/work/train/train/train_corpus_seg/"  # 分词后分类语料库路径  
    corpus_segment(corpus_path,seg_path)  
  
    #对测试集进行分词  
    corpus_path = "D:/work/test/test/"  # 未分词分类语料库路径  
    seg_path = "D:/work/test/test/test_corpus_seg/"  # 分词后分类语料库路径  
    corpus_segment(corpus_path,seg_path)  

--结束END--

本文标题: python实现文本分类

本文链接: https://www.lsjlt.com/news/191294.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python实现文本分类
    一、中文文本分类流程:1. 预处理2. 中文分词3. 结构化表示-构建词向量空间4.权重策略-TF-IDF5. 分类器6. 评价二、具体细节1.预处理    1.1. 得到训练集语料库    本文采用复旦中文文本分类语料库,下载链接:ht...
    99+
    2023-01-31
    文本 python
  • Python实现对中文文本分段分句
    目录一、问题二、步骤三、最后整体代码一、问题 实现对文本的分句,大致来说主要是以中文的句号、感叹、问号等符号进行分句。难点在于直接分句可能会造成人物说话的语句也被分开! 二、步骤 分...
    99+
    2023-03-15
    Python中文文本分段分句 Python文本分段分句 Python文本分段 Python文本分句 Python文本
  • Python深度学习之FastText实现文本分类详解
    FastText是一个三层的神经网络,输入层、隐含层和输出层。 FastText的优点: 使用浅层的神经网络实现了word2vec以及文本分类功能,效果与深层网络差不多,节约资源,...
    99+
    2022-11-11
  • Tensorflow中怎么实现CNN文本分类
    今天就跟大家聊聊有关Tensorflow中怎么实现CNN文本分类,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1. 数据和预处理我们将在这篇文章中使用的数据集是 Movie Revi...
    99+
    2023-06-19
  • Tensorflow2.1实现文本中情感分类实现解析
    目录前言实现过程和思路解析下载影评数据并进行 padding 处理创建验证集数据搭建简单的深度学习模型配置并编译模型训练模型评估模型前言 本文主要是用 cpu 版本的 tensorf...
    99+
    2022-11-21
    Tensorflow2.1文本情感分类 Tensorflow 文本情感分类
  • Python如何实现对中文文本分段分句
    这篇文章主要介绍“Python如何实现对中文文本分段分句”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python如何实现对中文文本分段分句”文章能帮助大家解决问题。一、问题实现对文本的分句,大致来...
    99+
    2023-07-05
  • Python中怎么实现文本分析
    这期内容当中小编将会给大家带来有关Python中怎么实现文本分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。任务(Task)人为判断同义词很简单,但用程序来判断就不简单了。小爱想到了两种方式:制作一个同...
    99+
    2023-06-16
  • Python通过朴素贝叶斯和LSTM分别实现新闻文本分类
    目录一、项目背景二、数据处理与分析三、基于机器学习的文本分类–朴素贝叶斯1. 模型介绍2. 代码结构3. 结果分析四、基于深度学习的文本分类–LSTM1. 模型介绍2. 代码结构3....
    99+
    2022-11-12
  • 如何用Python实现自然语言处理中的文本分类?
    自然语言处理(Natural Language Processing,简称NLP)是人工智能领域中的一个重要分支。文本分类是NLP中的一个基本任务,它的目的是将文本分成不同的类别。在本文中,我们将介绍如何使用Python实现自然语言处理中的...
    99+
    2023-11-04
    大数据 二维码 自然语言处理
  • Tensorflow2.4从头训练Word Embedding实现文本分类
    目录前言具体介绍1. 三种文本向量化方法2. 获取数据3. 处理数据4. 搭建、训练模型5. 导出训练好的词嵌入向量前言 本文主要使用 cpu 版本的 tensorflow 2.4...
    99+
    2023-01-06
    Tensorflow Word Embedding Tensorflow 文本分类
  • Python如何通过朴素贝叶斯和LSTM分别实现新闻文本分类
    这篇文章主要介绍Python如何通过朴素贝叶斯和LSTM分别实现新闻文本分类,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据处理与分析本次大赛提供的材料是由csv格式编写,只需调用python中的pandas库读取...
    99+
    2023-06-22
  • Tensorflow2.4中怎么使用Word Embedding实现文本分类
    这篇“Tensorflow2.4中怎么使用Word Embedding实现文本分类”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一...
    99+
    2023-07-04
  • python实现按行切分文本文件的方法
    本文实例讲述了python实现按行切分文本文件的方法。分享给大家供大家参考,具体如下: python脚本利用shell命令来实现文本的操作, 这些命令大大减少了我们的代码量。 比如按行切分文件并返回切分后得...
    99+
    2022-06-04
    切分 文本文件 方法
  • 基于Python怎么实现文件分类器
    本篇内容主要讲解“基于Python怎么实现文件分类器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于Python怎么实现文件分类器”吧!通过自定义需要整理的文件目录,将该目录下面的全部文件按照...
    99+
    2023-07-05
  • python实现大文本文件分割成多个小文件
    本文介绍一种将一个大的文本文件分割成多个小文件的方法 方法一: 1.读取文章所有的行,并存入列表中 2.定义分割成的小文本的行数 3.将原文本内容按一定行数依次写入小文件中 4.此方...
    99+
    2022-11-12
  • Python实现文本文件拆分写入到多个文本文件的方法
    引言 将一个txt文本文件中的内容行拆分固定的行数,自动分批写入到多个文本文件。 比如:一个源txt文件有5100行数据,每1000行插入到一个txt文件,最后获得6个txt文件(5...
    99+
    2022-11-12
  • Python怎么实现批量文件分类保存
    今天小编给大家分享一下Python怎么实现批量文件分类保存的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。我们这里以这两百多个...
    99+
    2023-06-30
  • 【Python】文本分析
    依赖库 pip install jieba pip install matplotlib pip install wordcloud pip install snownlp 词频统计 # -*- coding: utf-8 -...
    99+
    2023-01-31
    文本 Python
  • python实现文本文件合并
    python合并文本文件示例代码。 python实现两个文本合并 employee文件中记录了工号和姓名 cat employee.txt: 100 Jason Smith 200 John Doe...
    99+
    2022-06-04
    文本 文件合并 python
  • VBS如何实现文本文件分割脚本
    这篇文章给大家分享的是有关VBS如何实现文本文件分割脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。而Windows下没有一个现存的比较好用的分割工具,所以我用VBS做了一个文本文件的分割工具,和各位网友共享。...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作