使用Mallet进行序列标记的文本分类/文档分类

时间:2016-07-26 18:50:55

标签: machine-learning text-classification document-classification mallet

我将文件排列在文件夹中,称为类别。对于新的输入(例如问题),我必须确定其类别。使用MALLET做到这一点的最佳方法是什么?我已经浏览了多篇关于此的文章,但是找不到这样的方法。

另外,我是否需要对输入文本进行序列标记?

1 个答案:

答案 0 :(得分:1)

  1. 首先,您需要从排列为文件夹的文档开发培训模型。对于Mallet,每个文件夹将包含一个或多个文档,每个文件夹将代表其类。
  2. 获得培训文档后,您需要创建一个Mallet可以理解的文件。转到Mallet的bin文件夹,然后在命令行中输入如下命令 -

    mallet import-dir --input directory:\...\parentfolder\* --preserve-case --remove-stopwords --binary-features --gram-sizes 1 --output directory:\mallet-file-name
    

    这只是一个例子。如果键入以下内容,则可以完全显示此查询中的参数 -

    mallet import-dir --help
    
    1. 创建此Mallet文件后,您需要通过输入以下命令来训练模型 -

      mallet train-classifier --trainer algorithmname - 输入目录:\ mallet-file-name --output-classifier目录:... \ model

    2. 现在已经创建了模型,您可以使用该模型对具有未知类的文档进行分类。

      mallet classify-file --input directory:\...\data --output - --classifier classifier
      

      这将在标准输出上提供名为data的文档的类。

      如果您需要使用序列标记,则取决于您尝试分类的数据。