资源简介
完整可运行的python代码。
数据过滤,清洗,分割,特征选择,训练词向量模型,测试等等,
每行都有注释,真实的数据集超过20w条,是个不错的nlp入门例子。
代码片段和文件信息
# -*- coding: utf-8 -*-
import os
import pandas as pd
import nltk
from tools import proc_text split_train_test get_word_list_from_data extract_feat_from_data cal_acc
from nltk.text import TextCollection
from sklearn.linear_model import LogisticRegression
from sklearn.multiclass import OneVsRestClassifier
from sklearn.svm import LinearSVC
from keras.models import Sequential
from keras.layers import *
from keras.optimizers import SGDAdam
import keras
dataset_path = ‘./dataset‘
text_filenames = [‘0_simplifyweibo.txt‘ ‘1_simplifyweibo.txt‘
‘2_simplifyweibo.txt‘ ‘3_simplifyweibo.txt‘]
# 原始数据的csv文件
output_text_filename = ‘raw_weibo_text.csv‘
# 清洗好的文本数据文件
output_cln_text_filename = ‘clean_weibo_text.csv‘
# 处理和清洗文本数据的时间较长,通过设置is_first_run进行配置
# 如果是第一次运行需要对原始文本数据进行处理和清洗,需要设为True
# 如果之前已经处理了文本数据,并已经保存了清洗好的文本数据,设为False即可
is_first_run = False
load_np = False
def read_and_save_to_csv():
“““
读取原始文本数据,将标签和文本数据保存成csv
“““
# 存储所有向量化的Dataframe对象
# 每个Dataframe对象表示一个文本数据
text_w_label_df_lst = []
# 循环获取每一个微博文本文件名
for text_filename in text_filenames:
# 组合文件路径
text_file = os.path.join(dataset_path text_filename)
# 获取标签,即0 1 2 3
label = int(text_filename[0])
# 读取文本文件
with open(text_file ‘r‘ encoding=‘utf-8‘) as f:
# 将文本字符串按换行符(\n、\r、\r\n)分隔,返回包含每行数据的列表
lines = f.read().splitlines()
# 生成一个向量,[0 0 0 0 ....]
labels = [label] * len(lines)
# 当前文本内容的Series对象
text_series = pd.Series(lines)
# 当前文本的标签Series对象
label_series = pd.Series(labels)
# concat合并多个Series对象,返回一个Dataframe对象
text_w_label_df = pd.concat([label_series text_series] axis=1)
# 将所有的数据集存到同一个列表里
text_w_label_df_lst.append(text_w_label_df)
result_df = pd.concat(text_w_label_df_lst axis=0)
# 保存成csv文件
# 指定列名,第一个label,第二个text
result_df.columns = [‘label‘ ‘text‘]
# 将所有数据集写入到本地磁盘文件
result_df.to_csv(os.path.join(dataset_path output_text_filename)index=None encoding=‘utf-8‘)
def run_main():
“““
主函数
“““
# 1. 数据读取,处理,清洗,准备
if is_first_run:
print(‘处理清洗文本数据中...‘ end=‘ ‘)
# 如果是第一次运行需要对原始文本数据进行处理和清洗
# 读取原始文本数据,将标签和文本数据保存成csv
read_and_save_to_csv()
# 读取处理好的csv文件,构造数据集
text_df = pd.read_csv(os.path.join(dataset_path output_text_filename)
encoding=‘utf-8‘)
# 处理文本数据
text_df[‘text‘] = text_df[‘text‘].apply(proc_text)
# 过滤空字符串,去掉所有空行部分
text_df = text_df[text_df[‘text‘] != ‘‘]
# 保存处理好的文本数据,文本预处理结束
text_df.to_csv(os.path.join(dataset_path output_cln_text_filename)
index=None encoding=‘utf-8‘)
print(‘完成,并保存结果。‘)
# 2. 分割训练集、测试集
print(‘加载处理好的文本数据‘)
clean_text_df = pd.read
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-11-04 11:31 weibo\
目录 0 2018-11-03 15:18 weibo\.idea\
文件 159 2018-11-03 15:18 weibo\.idea\encodings.xm
文件 695 2018-11-03 15:18 weibo\.idea\misc.xm
文件 262 2018-11-03 15:18 weibo\.idea\modules.xm
文件 284 2018-11-03 15:18 weibo\.idea\weibo.iml
文件 1610 2018-11-03 15:18 weibo\.idea\workspace.xm
目录 0 2018-11-03 20:53 weibo\__pycache__\
文件 3536 2018-11-03 20:53 weibo\__pycache__\tools.cpython-36.pyc
文件 9155 2018-11-03 22:43 weibo\cnn.py
目录 0 2018-11-03 14:38 weibo\dataset\
文件 58786051 2017-10-19 19:00 weibo\dataset\0_simplifyweibo.txt
文件 15152829 2017-10-19 19:00 weibo\dataset\1_simplifyweibo.txt
文件 16971885 2017-10-19 19:00 weibo\dataset\2_simplifyweibo.txt
文件 7649621 2017-10-19 19:00 weibo\dataset\3_simplifyweibo.txt
文件 36371678 2018-11-03 21:14 weibo\dataset\clean_weibo_text.csv
文件 99137761 2018-11-03 20:53 weibo\dataset\raw_weibo_text.csv
文件 75 2017-10-19 19:00 weibo\dataset\readme.txt
文件 6202 2018-11-03 18:30 weibo\main.py
文件 971 2018-11-03 21:01 weibo\read.py
文件 6353 2018-11-03 20:53 weibo\tools.py
文件 5463 2017-10-19 19:00 weibo\中文停用词库.txt
文件 6038 2017-10-19 19:00 weibo\哈工大停用词表.txt
文件 8571 2017-10-19 19:00 weibo\四川大学机器智能实验室停用词库.txt
相关资源
- python实现SGBM图像匹配算法
- python实现灰度直方图均衡化
- scrapy_qunar_one
- Python学习全系列教程永久可用
- python简明教程.chm
- 抽奖大转盘python的图形化界面
- 双边滤波器实验报告及代码python
- python +MYSQL+HTML实现21蛋糕网上商城
- Python-直播答题助手自动检测出题搜索
- OpenCV入门教程+OpenCV官方教程中文版
- Python 串口工具源码+.exe文件
- Python开发的全栈股票系统.zip
- Python操作Excel表格并将其中部分数据写
- python书籍 PDF
- 利用python绘制散点图
- python+labview+No1.vi
- 老男孩python项目实战
- python源码制作whl文件.rar
- python3.5可用的scipy
- PYTHON3 经典50案例.pptx
- 计算机科学导论-python.pdf
- python模拟鼠标点击屏幕
- windows鼠标自动点击py脚本
- 鱼c小甲鱼零基础学python全套课后题和
- Python 练习题100道
- Practical Programming 2nd Edition
- wxPython Application Development Cookbook
- python 3.6
- Python 3.5.2 中文文档 互联网唯一CHM版本
- python3.5.2.chm官方文档
评论
共有 条评论