python对文本内容的标签分类_Python文章分类与自动分类标签--NLP

本文介绍了使用Python进行文本分类和自动标签的流程,包括分词处理、构建词袋模型、计算TF-IDF权重矩阵以及使用朴素贝叶斯分类器进行预测。通过实验,对训练集和测试集的文本进行了处理,最终实现了对测试集文章的分类。
摘要由CSDN通过智能技术生成

对文章进行分类、打标签、建模的主要步骤如下:

1)将已划分好类型的文本集(训练集)和待划分类型的文本集(测试集)进行分词处理,将长句划分为单个词组;

2)将步骤1中切好的词组放入词包中,并扩展成链式结构,形成bag of word;

3)应用TF-IDF算法计算训练集文档中每篇文章的TF-IDF权重矩阵;

4)使用朴素贝叶斯分类方法对训练集数据进行训练,然后利用得到的参数对测试集数据进行分类处理;

原始数据源:

-------------------------------------文本分词处理------------------------------------

分词

#!/usr/bin/env python

# -*- coding: UTF-8 -*-

import os

import jieba

import jieba.analyse # 导入提取关键词的库

# 对训练集 测试集文本都进行切词处理,对测试集数据打上主题标签

# 保存至文件

def save_file(save_path, content):

with open(save_path, "a",encoding= 'utf-8',errors='ignore') as fp:

fp.write(content)

# 读取文件

def read_file(file_path):

with open(file_path, "r",encoding= 'utf-8',errors='ignore') as fp:

content = fp.readlines()

# print(content)

return str(content)

# 抽取测试集的主题关键词

def extract_theme(content):

themes = []

tags = jieba.analyse.extract_tags(content, topK=3, withWeight=True, allowPOS=\

['n','ns','v','vn'],withFlag=True)

'''sentence 为待提取的文本topK 为返回几个 TF/IDF 权重最大的关键词,默认值为 20withWeight 为是否一并返回关键词权重值,默认值为 FalseallowPOS 仅包括指定词性的词,默认值为空,即不筛选withFlag 表示词性'''

for i in tags:

themes.append(i[0].word)

return str(themes)

def cast_words(origin_path, save_path, theme_tag):

'''train_words_path: 原始文本路径train_save_path: 切词后文本路径:return:'''

file_lists = os.listdir(origin_path) #原文档所在路径,os.listdir读取到一个目录下面所有的文件名

for dir_1 in file_lists: # 找到文件夹

file_path = origin_path + dir_1 + "/" #原始文件路径

seg_path = save_path + dir_1 + "/" #切词后文件路径

if not os.path.exists(seg_path):

os.makedirs(seg_path) #生成文件夹

detail_paths = os.listdir(file_path)

for detail_path in detail_paths: # 找到文件夹下具体文件路径

full_path = file_path + detail_path #原始文件下每个文档路径

file_content = read_file(full_path)

file_content = file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值