Пошаговое руководство по проекту классификации текста с использованием Doccano

Введение

В быстро развивающемся мире искусственного интеллекта точные и высококачественные размеченные данные играют ключевую роль в обучении успешных языковых моделей. Аннотирование данных, процесс назначения осмысленных меток необработанным данным, может быть сложной и трудоемкой задачей. По мере роста спроса на аннотированные данные потребность в эффективных и удобных инструментах становится все более важной.

Doccano — это мощное и универсальное программное обеспечение с открытым исходным кодом, предназначенное для оптимизации процесса комментирования текста. Doccano предлагает ряд функций, которые позволяют ученым и разработчикам данных эффективно аннотировать большие объемы текстовых данных. Благодаря интуитивно понятному веб-интерфейсу пользователи могут быстро комментировать текстовые записи, что позволяет создавать наборы данных с метками, которые служат основой для обучения моделей машинного обучения.

Почему стоит выбрать Doccano вместо альтернативных инструментов для аннотаций?

  1. Простота установки и настройки. Doccano обеспечивает простой процесс установки, благодаря чему пользователи могут быстро приступить к маркировке без лишних сложностей.
  2. Открытый исходный код и возможность настройки. Будучи инструментом с открытым исходным кодом, Doccano может быть адаптирован и расширен в соответствии с конкретными требованиями проекта.
  3. Совместная работа и работа в команде. Doccano поддерживает совместные проекты аннотирования, позволяя нескольким пользователям одновременно работать с одним и тем же набором данных.
  4. Разнообразие аннотаций: Doccano поддерживает различные типы аннотаций, что делает его подходящим для широкого круга задач НЛП.
  5. Визуализация и контроль качества. Платформа предоставляет инструменты визуализации данных, которые помогают пользователям анализировать и проверять размеченные данные.

Монтаж

Чтобы начать работу с Doccano, сначала необходимо установить платформу на локальном компьютере или сервере. Doccano построен с использованием Python и Django, что делает его совместимым с различными операционными системами.

Чтобы установить Doccano, выполните следующие действия:

1. Предпосылки:

Перед установкой Doccano убедитесь, что в вашей системе установлены следующие предварительные компоненты:

  • Версия Python ›= 3.8
  • pip (менеджер пакетов Python)
  • Виртуальная среда (необязательно, но рекомендуется)

2. Создайте виртуальную среду (необязательно):

Создание виртуальной среды — хорошая практика, поскольку она изолирует зависимости вашего проекта от других проектов Python в вашей системе. Чтобы создать виртуальную среду, откройте терминал или командную строку и выполните следующую команду:

python3 -m venv doccano-env

Эта команда создает новую виртуальную среду с именем doccano-env. Вы можете заменить doccano-env на желаемое имя, если хотите.

3. Установите Доккано:

Теперь, когда виртуальная среда активирована (если вы решили ее создать), вы можете установить Doccano с помощью pip. Запустите следующую команду в терминале или в командной строке:

pip install doccano

4. Инициализировать базу данных:

SQLite 3 — это база данных по умолчанию, используемая Doccano, при желании пользователь может настроить ее на альтернативную базу данных. Например, если вы предпочитаете использовать PostgreSQL вместо SQLite 3, установите его зависимости с помощью следующей команды:

pip install 'doccano[postgresql]'

и установите для переменной среды DATABASE_URL значение:

DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}?sslmode=disable"

Чтобы инициализировать базу данных, выполните:

doccano init

Для этой цели мы не будем устанавливать переменную среды, вместо этого мы будем вручную импортировать наши данные через .csv файлов.

5. Создайте суперпользователя (администратора):

Чтобы получить доступ к интерфейсу администратора Doccano и управлять проектами, вам необходимо создать учетную запись суперпользователя, выполнив следующую команду:

doccano createuser --username admin --password pass

При желании измените параметры --username и --password.

6. Запустите очередь задач

Запуск очереди задач позволяет загружать и скачивать файлы в Doccano, это необходимо для данного варианта использования, поскольку мы не импортируем данные из базы данных.

Чтобы запустить очередь задач, в отдельном терминале запустите:

doccano task

7. Запустите Доккано

Когда все настроено, вы готовы запустить Doccano. Выполните следующую команду:

doccano webserver --port 8000

и перейдите по адресу http://127.0.0.1:8000/.

Доступна установка Doccano с использованием Docker/Docker Compose. Дополнительные сведения см. в репозитории GitHub здесь.

Настройка проекта

Теперь у нас есть Doccano, работающий на веб-сервере, войдите в систему, используя учетные данные суперпользователя, настроенные в пункте 5 шагов установки выше.

После входа в систему выполните следующие шаги, чтобы настроить проект для маркировки текстовой классификации.

1. Выберите шаблон проекта

Чтобы создать новый проект, нажмите кнопку Create, расположенную в верхней левой части страницы.

По умолчанию шаблон классификации текста уже выбран.

Альтернативные шаблоны маркировки включают маркировку последовательностей, маркировку последовательностей, обнаружение намерений и заполнение слотов, классификацию изображений/заголовки, обнаружение/сегментацию объектов и преобразование речи в текст.

2. Детали проекта

Для каждого проекта требуется имя и описание проекта, все остальные параметры являются необязательными.

Если вы классифицируете текст для целей с несколькими метками, не устанавливайте флажок Allow single label, в противном случае отметьте этот параметр, что означает, что для каждой записи данных может быть назначена только одна метка.

Также рекомендуется поставить галочку Randomize document order, это гарантирует, что ваши записи данных не обрабатываются в том порядке, в котором они были импортированы. Это не обязательно, но я лично предпочитаю этот вариант.

3. Создание ярлыков

После создания проекта перейдите в меню гамбургеров и выберите Labels.

Метки можно добавлять вручную или импортировать через файл JSON. Лучше всего импортировать метки через файл JSON. Это обеспечивает согласованность, позволяет управлять версиями, а в случае участия нескольких пользователей сохраняет идентичную конфигурацию меток для всех.

Ожидаемый формат JSON:

[
    {
        "text": "dog",
        "suffix_key": "d",
        "background_color": "#FF0000",
        "text_color": "#76e32b"
    },
    {
        "text": "cat",
        "suffix_key": "c",
        "background_color": "#FF0000",
        "text_color": "#d45139"
    }
]

Назначение suffix_key позволяет быстрее маркировать с помощью ярлыков, background_color и text_color определяют внешний вид кнопок в пользовательском интерфейсе.

4. Импорт ваших данных

После импорта меток вам нужно будет импортировать набор данных.

Перейдите в меню гамбургеров и выберите Dataset, затем выберите раскрывающийся список Actions и Import Dataset.

Укажите формат файла, который вы импортируете, и поместите файл в поле, отображающее Drop files here.... Теперь ваш набор данных загружен и готов к маркировке.

Маркировка

После того, как вы импортировали метки и набор данных, следующим шагом будет создание аннотаций!

На странице Dataset в каждой строке есть кнопка Annotate и столбец Status (либо Finished, либо In Progress). Нажатие на кнопку Annotate возвращает следующий пользовательский интерфейс:

В этом представлении отображаются ваши импортированные метки, за которыми следует текст, который вы аннотируете. В демонстрационных целях вы можете видеть, что один пример уже помечен, прогресс отображается в ячейке Progress.

После того, как каждой текстовой записи будет присвоена одна или несколько меток, нажмите клавишу ВВОД на клавиатуре, чтобы присвоить записи статус ПРОВЕРЕНО. Вы узнаете, когда запись отмечена как ПРОВЕРЕННАЯ, когда она отображает галочку в верхнем левом поле, в противном случае появится крестик.

Экспорт набора аннотированных данных

После аннотирования набора данных вы можете экспортировать его по пути Dataset -> Export Dataset.

Выберите формат файла, в который вы хотите экспортировать набор данных, и нажмите кнопку Export only approved documents. Выбор этой кнопки означает, что будут экспортированы только те записи данных, которые были отмечены как ПРОВЕРЕННЫЕ.

Заключение

В этой статье представлено пошаговое руководство по настройке Doccano для выполнения аннотаций с классификацией текста. Установка Doccano и его зависимостей очень проста при локальном запуске, настройка проекта также довольно проста, если у вас есть готовые данные и метки, предварительно определенные в файле JSON.

Этот подход является более ручным, чем хотелось бы людям в идеале, все запускается локально, а наборы данных импортируются/экспортируются вручную. Внутри организации Doccano может размещаться как веб-приложение, что обеспечивает многопользовательский доступ.

При использовании для создания помеченного набора обучающих данных для целей машинного обучения активное обучение (автоматическая маркировка) может быть выполнено путем настройки пользовательского запроса REST API. Активное обучение значительно повышает производительность и скорость работы с аннотациями. Подробнее об активном обучении можно прочитать здесь.

Если вам понравилась эта статья, подпишитесь на меня на Medium, X (Twitter) и GitHub, где вы найдете аналогичные материалы, касающиеся науки о данных, искусственного интеллекта и инженерии.

Удачного обучения! 🚀