`
通宵舒服
  • 浏览: 452 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文本分类

 
阅读更多
基于libsvm做的文本分类
第一步:nsj+nlp分词 关键字提取,计算tf-idf值;
第二步:转化libsvm格式数据
/**
* @desc 转化libsvm格式数据 (label index1:value1 index2:value2)
* @param outList
* @param outFile
* @param classify
*/
public static void convertToSvmFormat(List<Keyword> outList,String outFile,String classify){

if(outList==null || outList.size()<=0){
return;
}
int index=1;
FileWriter fw = null;
try {
//如果文件存在,则追加内容;如果文件不存在,则创建文件
File f=new File(outFile);
fw = new FileWriter(f, true);
PrintWriter writer = new PrintWriter(fw);
StringBuffer sb = new StringBuffer(classify);
for(Keyword keyword:outList){
sb.append(" " +(index++) + ":" + keyword.getScore());
}
writer.print(sb);
writer.println();//写入换行符
writer.close();
writer.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
第三步:归一化处理有修改源码
/**
* @desc  归一化libsvm数据
* @param svm_scale_txt_file_path
* @param svm_scale_rule_txt_file_path
* @param svm_corpus_txt_file_path
*/
@SuppressWarnings("static-access")
public static void convertToSvmScaleFormat(String svm_scale_txt_file_path,String svm_scale_rule_txt_file_path,String svm_corpus_txt_file_path){
String[] scaleArgs1={"-l","0","-u","1","-c",svm_scale_txt_file_path,"-s",svm_scale_rule_txt_file_path,svm_corpus_txt_file_path};
//创建归一化对象
svm_scale svms1 = new svm_scale();
try {
svms1.main(scaleArgs1);
} catch (IOException e) {
// TODO Auto-generated catch block
log.info("---------------libsvm归一化异常------------"+e.getMessage());
e.printStackTrace();
}
}
第四步:
/**
* @desc svm 训练归一化数据      生成模型文件
* @param svm_scale_txt_file_path
* @param svm_model_txt_file
*/
@SuppressWarnings("static-access")
public static void trainSvmModelFormat(String svm_scale_txt_file_path,String svm_model_txt_file){
String[] arg_train = { svm_scale_txt_file_path, // 存放SVM训练模型用的数据的路径
svm_model_txt_file }; // 存放SVM通过训练数据训/ //练出来的模型的路径
// 创建一个训练对象
svm_train svm_train = new svm_train();
try {
svm_train.main(arg_train);
} catch (IOException e) {
// TODO Auto-generated catch block
log.info("---------------libsvm训练模型异常------------"+e.getMessage());
e.printStackTrace();
}
}
第五步:
/**
* @desc libsvm 预测文本所属分类
* @param scale_txt_file_path 归一化后的数据
* @param svm_model_txt_file 训练模型数据
* @param out_classify_txt_file 输出分类
*/
@SuppressWarnings("static-access")
public static void predictTextClassify(String scale_txt_file_path,String svm_model_txt_file,String out_classify_txt_file){
String[] parg = { scale_txt_file_path, // 这个是存放测试数据
svm_model_txt_file, // 调用的是训练以后的模型
out_classify_txt_file }; // 生成的结果的文件的路径
// 创建一个预测或者分类的对象
svm_predict p = new svm_predict();
try {
p.main(parg);
} catch (IOException e) {
// TODO Auto-generated catch block
log.info("---------------libsvm预测文本分类异常------------"+e.getMessage());
e.printStackTrace();
}
}
分享到:
评论

相关推荐

    人工智能-项目实践-文本分类-文本分类(二分类 ,多标签分类),文本相似度、NLP数据增强等方法.zip

    在本项目实践中,我们主要探讨了人工智能在文本处理领域的应用,特别是聚焦于文本分类和文本相似度计算。本文将深入解析这些关键知识点,并探讨如何利用自然语言处理(NLP)技术进行二分类、多标签分类以及数据增强...

    人工智能-项目实践-文本分类-CNN-RNN中文文本分类,基于TensorFlow

    人工智能-项目实践-文本分类-CNN-RNN中文文本分类,基于TensorFlow 使用卷积神经网络以及循环神经网络进行中文文本分类 CNN做句子分类的论文可以参看: Convolutional Neural Networks for Sentence Classification...

    bert文本分类 代码+数据

    在自然语言处理(NLP)领域,BERT(Bidirectional Encoder Representations from Transformers)模型是由Google在2018年提出的一种预训练语言模型,它在多项任务上取得了突破性的成果,尤其是在文本分类方面。...

    python新闻数据集文本分类实战源代码.zip

    新闻数据集文本分类实战源代码。通过学习 深度学习框架-PyTorch实战 用中文命名改写代码,使用前请添加形参 模型文件名。使用中文命名编程新闻数据集文本分类,新闻数据集文本分类实战源代码。通过学习 深度学习框架...

    利用python,实现基于SVM的文本分类下载

    在探讨利用Python实现基于支持向量机(SVM)的文本分类之前,首先需要对文本分类问题有一个基本的理解。文本分类是指根据文本内容将其分入一个或多个类别中,例如将新闻分为体育、科技、娱乐等类别。在文本分类问题中...

    python实现CNN中文文本分类

    在本文中,我们将深入探讨如何使用Python实现基于卷积神经网络(CNN)的中文文本分类。文本分类是自然语言处理(NLP)领域的一个重要任务,它涉及到将文本数据自动划分到预定义的类别中。CNN,作为一种强大的深度...

    《文本分类大综述:从浅层到深度学习》

    "文本分类大综述:从浅层到深度学习" 文本分类是自然语言处理中的基本任务之一。过去十年,深度学习的成功使得该领域的研究激增。为了满足全面和更新综述的需要,本综述从1961年到2020年对文本分类的发展进行了回顾...

    文本分类实验报告

    文本分类是数据挖掘领域的重要任务,它涉及到对文本数据的预处理、特征提取、模型训练以及性能评估等多个步骤。在本实验报告中,作者详细记录了进行文本分类实验的整个流程,包括数据获取、预处理、特征选择和模型...

    【代码分享】手把手教你:基于Django的新闻文本分类可视化系统(文本分类由bert实现)

    本文主要介绍如何使用python语言,基于bert的文本分类和Django的网站设计实现一个:基于Django和bert的新闻文本分类可视化系统,如果有毕业设计或者课程设计需求的同学可以参考本文。本项目同时使用了深度学习框架...

    项目实战-TextCNN文本分类(keras实现)源代码及数据集.zip

    1、内容概要:本资源主要基于TextCNN(keras)实现文本分类,适用于初学者学习文本分类使用。 2、数据集为电商真实商品评论数据,主要包括训练集data_train,测试集data_test ,经过预处理的训练集clean_data_train...

    人工智能课程设计实现文本分类源码+ppt+报告分析

    在本项目中,我们主要探讨的是“人工智能课程设计实现文本分类”的主题,这是一次针对软件工程专业学生的课程设计实践。这个压缩包包含了实现文本分类的源码、相关的PPT演示文稿以及一份详细的报告分析,让学生能够...

    (中文)文本分类语料(复旦)训练集+测试集.rar

    文本分类是自然语言处理领域中的一个核心任务,它涉及到对文本进行分析,将文本自动归类到预定义的类别中。在这个场景下,我们有一个来自复旦大学的文本分类语料库,它包括了9833篇文档,用于帮助模型学习如何进行...

    基于中文 GPT2 预训练模型的文本分类微调.zip

    在本项目中,你将利用基于中文GPT2的预训练模型进行文本分类任务的微调。这是一个在自然语言处理(NLP)领域常见的应用场景,它涉及到深度学习、自然语言理解和机器学习等技术。让我们详细了解一下相关的知识点。 1...

    基于weka的文本分类器

    **基于Weka的文本分类器** 在机器学习领域,文本分类是一种常见的任务,它涉及到将非结构化的文本数据分配到预定义的类别中。Weka(Waikato Environment for Knowledge Analysis)是一个强大的开源数据挖掘工具,它...

    knn文本分类算法实现

    文本分类是自然语言处理中的一个重要任务,它涉及将一段文本归类到预定义的类别中。KNN(K-Nearest Neighbors)算法是一种监督学习方法,常用于分类和回归问题,尤其在文本分类领域展现出良好的性能。在这个项目中,...

    PyCNN_SVM分类_python文本分类_文本分类_文本分类_语义_

    在"PyCNN_SVM分类_python文本分类_文本分类_文本分类_语义_"这个项目中,开发者使用了Python编程语言实现了一个结合词嵌入(PyCNN)和支持向量机(SVM)的文本分类模型,主要关注语义识别,以提升分类的准确性。...

    中文文本分类语料库(复旦)

    【中文文本分类语料库(复旦)】是专门用于训练和评估中文文本分类模型的重要资源,由复旦大学提供。这个语料库在自然语言处理(NLP)领域具有广泛的用途,尤其对于机器学习和深度学习算法的研究者来说,它是不可或...

    使用pytorch和torchtext进行文本分类的实例

    文本分类是NLP领域的较为容易的入门问题,本文记录我自己在做文本分类任务以及复现相关论文时的基本流程,绝大部分操作都使用了torch和torchtext两个库。 1. 文本数据预处理 首先数据存储在三个csv文件中,分别是...

    搜狗实验室文本分类语料

    文本分类是自然语言处理(NLP)领域中的一个重要任务,其目标是将输入的文本自动归类到预定义的一组类别中。在这个场景下,"搜狗实验室文本分类语料"是一个专门为了训练和评估文本分类模型而设计的数据集。这个语料...

    人工智能-深度学习-文本分类-使用Bert,ERNIE,进行中文文本分类

    中文文本分类,Bert,ERNIE,基于pytorch,开箱即用。 介绍 模型介绍、数据流动过程:还没写完,写好之后再贴博客地址。 工作忙,懒得写了,类似文章有很多。 机器:一块2080Ti , 训练时间:30分钟。 环境 ...

Global site tag (gtag.js) - Google Analytics