Классификация текста/классификация документов с маркировкой последовательностей с помощью молотка

У меня есть документы, расположенные в папках как классы, называемые категориями. Для нового ввода (например, заданного вопроса) я должен определить его категорию. Как лучше всего это сделать с помощью MALLET? Я просмотрел несколько статей об этом, но не смог найти такой способ.

Кроме того, нужно ли мне делать маркировку последовательности во входном тексте?


person Amit Kumar    schedule 26.07.2016    source источник


Ответы (1)


  1. Во-первых, вам нужно разработать обучающую модель из документов, организованных в виде папок. Для Маллета каждая папка будет содержать один или несколько документов, и каждая папка будет представлять свой класс.

Когда у вас есть учебный документ, вам нужно создать файл, который может понять Mallet. Перейдите в папку bin Mallet и введите в командной строке команды, подобные приведенным ниже:

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 имя_алгоритма --input directory:\mallet-file-name --output-classifier directory:...\model

Теперь, когда модель создана, вы можете использовать эту модель для классификации документа с неизвестным классом.

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

Это обеспечит класс документа с именем data на стандартном выходе.

Нужно ли вам использовать теги последовательности или нет, зависит от данных, которые вы пытаетесь классифицировать.

person Rushdi Shams    schedule 22.08.2016