`
java--hhf
  • 浏览: 308740 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Mallet的基本使用

阅读更多
【官网下载】

MALLET is a Java-based package for statistical natural language processing, document classification, clustering, topic modeling, information extraction, and other machine learning applications to text.

下载mallet包,注意里面已经含有了训练数据集
【准备测试】
(1)在bin\mallet.bat里面第33行左右的位置加入
if "%CMD%"=="classify-file" set CLASS=cc.mallet.classify.tui.Csv2Classify
if "%CMD%"=="classify-dir" set CLASS=cc.mallet.classify.tui.Text2Classify
 CMD命令行进入解压目录,如 C:\mallet-2.0.7
(2)文本分类

1. 将源文件格式转换为mallet自己的处理格式

C:\mallet-2.0.7 >bin\mallet import-dir --input D:\testfile --output D:\classify-input.mallet

 

2.使用mallet算法库中的NaiveBayes算法训练获得分类器

C:/mallet>bin\mallet train-classifier --input D:\classify-input.mallet --trainer NaiveBayes --training-portion 0.8 --output-classifier D:\classifier1.classifier  

--input参数的值classify-input.mallet 是第 一步中生成的特征向量

--trainer参数的值NaiveBayes 是指训练分类器的算法,可以指定其他算法,例如 MaxEnt等 

--training-portion 参数的值这里是0.8 , 可以根据需要设定,0.8 的意思是随机抽取classify-input.mallet 数据中的80% 当训练数据,剩下的当测试数据,用于测试已训练好的分类器的准确性等等性能指标。

--output-classifier 参数的值classifier1.classifier 是所存已训练好的分类器的名称。

 

3.使用分类器测试新数据集

C:/mallet>bin\mallet classify-file --input D:\text.txt --output - --classifier D:\classifier1.classifier

--output 后面参数值“- ”意思是直接在命令行中输出所属各个类别的概率,也可以是”D:\result_file.txt“。

--classifier 参数的值是指使用的分类器名称(即,训练好的分类器)。

 

(3)主题建模

1. 将训练集转换为mallet专用格式

C:/mallet>bin\mallet import-dir --input D:\sample-data\topic-input --output D:\topic-input.mallet --keep-sequence --remove-stopwords

 --keep-sequence 参数必须有,否则会出错,因为主题建模时所用数据源就是特征序列,而不是特征向量,所以必须用--keep-sequence 此参数 来限制转换数据的格式。

--remove-stopwords 的意思是移除停用词。

 

2. 训练主题

C:/mallet>bin\mallet train-topics --input D:\topic-input.mallet --num-topics 2 --output-doc-topics D:\docstopics.txt --inferencer -filename D:\infer1.inferencer

--num-topics 的值2 意思是限定主题个数为2,默认的主题数为10

--output-doc-topics 参数的意思是输出文档- 主题矩阵,存到docstopics文件中

--inferencer -filename 参数的意思是对将训练好的主题模型进行存储,此主题模型存到参数值infer1.inferencer

 

3.测试集

C:/mallet>bin\mallet import-dir --input D:\sample-data\data --output D:\topic-test.mallet --keep-sequence  --remove-stopwords

 

4.获得测试集的主题类别

C:/mallet>bin\mallet infer-topics --input D:\topic-test.mallet --inferencer D:\infer1.inferencer --output-doc-topics D:\testdocstopics.txt

 

【参考博客】

Mallet 使用说明
mallet使用笔记(学topic model、做文本分类等)
  • 大小: 23.5 KB
0
0
分享到:
评论

相关推荐

    mallet 机器学习软件包

    附带的"MALLET教程.doc"文档则为初学者提供了详细的使用指导,包括安装步骤、基本概念介绍、实例演示等,是快速上手Mallet的重要资源。 总的来说,Mallet是一个功能强大的机器学习工具,尤其适用于文本分析领域。...

    Mallet Tutorial

    本文将深入探讨Mallet的各个方面,从其基本概念到实际应用,帮助读者全面理解这款工具,并掌握其使用技巧。 ### Mallet概述 Mallet,全称Machine Learning for LanguagE Toolkit,是由美国马萨诸塞大学安姆斯特...

    mallet-2.0.6

    要开始使用Mallet,你需要熟悉Java编程,并了解基本的NLP概念。官方文档提供了详细的教程和示例代码,可以帮助新手快速入门。同时,社区论坛和Stack Overflow上的讨论也是获取帮助的好去处。 总的来说,Mallet ...

    malletTest.rar_Mallet_文本分类java_文本聚类

    这个项目可能演示了如何使用Mallet进行文本分类和聚类的基本步骤,包括数据导入、特征提取、模型训练和预测。通过学习和分析这个项目,开发者可以更好地理解和掌握Mallet的使用方法,从而在自己的项目中灵活运用。 ...

    xiaobolvboqi-de-noise.rar_Mallet_NOISE_mallat noise_高频滤波函数

    此函数用于研究Mallet算法及滤波器设计,此函数用于消噪处理,分解的有用信号小波高频系数基本趋于零.

    小波谱分析mallat算法

    这一步主要是为了直观地了解信号的基本特征。 #### 三、滤波器设计与分析 为了实现Mallat算法中的多分辨率分析,需要设计一对低通和高通滤波器。在本例中,选择Daubechies小波基(db30)来构造滤波器。具体步骤...

    C#实现一维离散小波变换

    在C#中,我们可以通过使用特定的小波库来实现这一过程,例如,此处提到的“mallet小波”。 离散小波变换的基本思想是通过一系列滤波器(称为小波母函数)对原始信号进行上下采样和过滤。这些滤波器能够捕获信号的...

    mallat_matlab.rar_Mallat算法 MATLAB_Mallat算法小波_mallat算法matlab_小波

    对于初学者,理解和掌握Mallat算法及其MATLAB实现是非常有价值的,因为这不仅可以帮助他们深入理解小波分析的基本原理,还可以为信号处理、图像分析等领域的工作打下坚实的基础。通过实践,可以进一步探索小波变换在...

    Mallat算法

    **一、Mallat算法的基本原理** 1. **多尺度分析**:Mallat算法的核心思想是将复杂的信号通过一系列不同分辨率的滤波器进行分解,形成一个多层次的表示。每一层都对应一个不同的时间-频率分辨率,从而可以在不同的...

    LDA.zip_LDA文档_lda java_lda4085_lda模型_主题模型

    使用Mallet进行LDA训练时,需要将文本数据转换为适合Mallet的格式,然后配置模型参数,如主题数、迭代次数等,最后运行训练得到主题模型。Gensim虽然主要是Python库,但也有Java接口,可以方便地在Java环境中使用。 ...

    CRF分词实例

    在Java中实现CRF,通常会使用一些现有的库,如CRF++或Mallet。这些库提供了训练模型和预测新数据的接口。例如,CRF++是一个开源的工具包,支持多种编程语言,包括Java,可以方便地进行模型训练和应用。Mallet则是一...

    gensim-3.5.0-cp27-cp27m-manylinux1_i686.whl.zip

    这个文件通常会涵盖基本的安装步骤、如何导入库、基本的API用法以及可能遇到的问题和解决方案。对于初次使用者来说,这是一个非常宝贵的资源。 gensim库的核心功能包括: 1. **词向量(Word Vectors)**:gensim...

    CRF工具包及调用指令

    以下以CRF++为例,介绍基本的调用步骤: - **训练模型**: ``` crf_train -m1 -t your_template_file training_data.txt model_file.model ``` 其中,`-m1`表示使用L1正则化,`your_template_file`是特征模板...

    python gensim

    5. **读取与存储**:Gensim 支持读取各种文本格式(如 plain text、TF-IDF 语料库、Mallet 文件等),并可以将模型保存到硬盘以便后续使用。 6. **可扩展性**:Gensim 采用流式处理和增量训练,即使处理大型文本...

    CRF最全学习资料(包括论文,说明文档,ppt等9个文件)

    5. "CRF理论和工具包的使用.pdf":这个文件可能涵盖了CRF的理论部分,同时提供了一些工具包的使用指南,如CRF++或Mallet,帮助读者进行实际操作。 6. "crf_intro.pdf":一份CRF的入门介绍,适合初学者快速了解CRF的...

    NLP实验,实现了词频统计,句子生成和n-gram模型进行分词

    在Java中,可以自定义算法实现n-gram模型,或者使用开源库如Stanford NLP或Mallet。 实验报告.doc很可能是这次实验的详细记录,包括了实验步骤、结果分析和可能遇到的问题。而NLP_exc_java则可能是实验代码,包含了...

    斯坦福大学公开课_Java_Python_下载.zip

    4. **TextBlob**:基于NLTK构建,提供了简单易用的接口进行情感分析和基本的NLP任务。 压缩包内的文件"Natural-Language-Processing-master"很可能是一个关于NLP的项目或者教程源码,可能包含了使用Java或Python...

    tatom:数字人文的定量文本分析

    TAToM: Text Analysis with Topic Models for the Humanities and Social Sciences包含一系列教程,介绍定量文本分析的基本程序,特别侧重于准备用于分析的文本语料库以及使用主题模型和机器学习进行探索性分析. ...

Global site tag (gtag.js) - Google Analytics