文本分类系统
TextClassify文本分类系统适用于中文,英文文本分类。
包括各个文本的关键词输出,可以控制关键词输出个数,也可以对关键词加入黑名单和白名单。
关于TextClassify文本分类系统的改进:
改进jieba中文分词词典
改进黑名单:增加停用词
改进白名单:增加专业词
在TextProcess改进每一类text至多选FileInFolder个:理论上越多越好
deleteN的选取:可以优化
特征词的长度限定:unicode不过长,不过短
特征词词典dict_size的选取:可以优化
特征的改进
多分类结合的算法改进
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5420898 2014-05-12 14:08 文本分类系统jieba_dict.txt
文件 10701 2014-06-17 10:47 文本分类系统Main.py
文件 9839 2014-06-13 15:44 文本分类系统stopwords.txt
文件 3398 2014-06-16 16:00 文本分类系统TextClassify.pyc
文件 867 2014-06-16 16:00 文本分类系统TextEvaluation.pyc
文件 2564 2014-06-16 16:00 文本分类系统TextFeature.pyc
文件 6895 2014-06-17 10:24 文本分类系统TextProcess.pyc
__author__ = ‘LiNing‘
#coding: utf-8
import os
import sys
import time
from sys import exit
from os import listdir
from os import makedirs
from os import remove
from os.path import isdir
from os.path import exists
from os.path import join
from os.path import split
from shutil import copy
from shutil import rmtree
from sklearn import metrics
import numpy as np
import pylab as pl
import nltk
import math
from TextProcess import TextRmSame
from TextProcess import TextRename
from TextProcess import MakeStopWordsList
from TextProcess import TextProcessing
from TextProcess import MakeAllWordsList
from TextProcess import MakeFeatureWordsDict
from TextFeature import TextBool
from TextFeature import ComputeTf
from TextFeature import ComputeTfIdf
from TextFeature import ExtractTags
from TextClassify import TextClassifier
from TextClassify import TextClassifier_nltk
from TextClassify import Vote
from TextEvaluation import calculate_result
##import scipy.io as sio
##sio.savemat(‘file.mat‘ dict)
##data = sio.loadmat(‘file.mat‘)
if __name__ == ‘__main__‘:
##参数设定
lag = “chs“ #chs or eng
Test = “False“ #True or False
GenerateLogs = “False“ #True or False
GenerateKeywords = “False“ #True or False
GenerateFolders = “True“ #True or False
##生成results.log文件
if GenerateLogs == “True“:
#sys.stdout = open(‘results.log‘ ‘a‘) #追加模式
sys.stdout = open(‘results.log‘ ‘wb‘)
pass
starttime = time.clock() #开始时间
print “start“
##训练文本预处理
##Wing IDE没有输入参数,所以才会出现list index out of range
##raw_train_container_path = sys.argv[1] #datas\train_raw
#train_container_path = sys.argv[1] #datas\train
#test_container_path = sys.argv[2] #datas\test or datas\unknown
#训练集
raw_train_container_path = “datas\train_raw“
train_container_path = “datas\train“
#中断程序条件运行
(a b) = split(train_container_path)
error_files_path = join(a “errorfiles“)
if exists(error_files_path):
rmtree(error_files_path)
else:
TextRmSame(raw_train_container_path train_container_path) #remove the same files
#TextRename(raw_train_container_path train_container_path) #rename the filename
pass
#测试集
if Test == “True“:
test_container_path = “datas\test“
else:
test_container_path = “datas\unknown“
#停用词
stopwords_file = “stopwords.txt“
stopwords_list = MakeStopWordsList(stopwords_file)
##文本信息提取,若生成errorfiles文件夹则需重新运TextProcessing
##(train_data train_filenames train_target train_target_names) = TextProcessing(train_container_path lag ‘True‘ stopwords_list)
(train_data train_filenames train_target train_target_names) = TextProcessing(train_container_path lag ‘True‘)
if Test == “True“:
##(test_data test_filenames test_target test_target_names) = TextProcessing(test_container_path lag ‘True‘ stopwords_list)
(test_data te
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5420898 2014-05-12 14:08 文本分类系统jieba_dict.txt
文件 10701 2014-06-17 10:47 文本分类系统Main.py
文件 9839 2014-06-13 15:44 文本分类系统stopwords.txt
文件 3398 2014-06-16 16:00 文本分类系统TextClassify.pyc
文件 867 2014-06-16 16:00 文本分类系统TextEvaluation.pyc
文件 2564 2014-06-16 16:00 文本分类系统TextFeature.pyc
文件 6895 2014-06-17 10:24 文本分类系统TextProcess.pyc
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)