Preprocess Text

В этой статье описывается компонент в конструкторе Машинного обучения Azure.

Компонент предварительной обработки текста используется для очистки и упрощения текста. Он поддерживает следующие основные операции обработки текста:

  • Удаление стоп-слов
  • Использование регулярных выражений для поиска и замены конкретных целевых строк
  • Лемматизация, то есть преобразование нескольких связанных слов в одну каноническую форму
  • Нормализация регистра
  • Удаление определенных классов символов, таких как числа, специальные символы и последовательности повторяющихся символов, например "аааа"
  • Обнаружение и удаление сообщений электронной почты и URL-адресов

Компонент предварительной обработки текста в настоящее время поддерживает только английский язык.

Настройка предварительной обработки текста

  1. Добавьте компонент предварительной обработки текста в конвейер машинного обучения Azure. Этот компонент можно найти в разделе Анализ текста.

  2. Подключите набор данных, содержащий хотя бы один столбец с текстом.

  3. В раскрывающемся списке Язык выберите язык.

  4. Столбец текста для очистки. Выберите столбец для предварительной обработки.

  5. Удалить стоп-слова. Выберите этот параметр, если требуется применить заранее составленный список стоп-слов к текстовому столбцу.

    Списки стоп-слов настраиваются и зависят от языка.

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

    Процесс лемматизации в большой степени зависит от языка.

  7. Найти предложения. Выберите этот параметр, если необходимо, чтобы компонент разграничивал предложения при выполнении анализа.

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

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

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

    Если символы не нормализованы, то одно и то же слово, написанное прописными и строчными буквами, считается двумя разными словами.

  10. Можно также удалить из обработанного выходного текста следующие типы символов или последовательностей символов:

    • Удалить числа. Выберите этот параметр, чтобы удалить все числовые символы для указанного языка. Идентификационные номера зависят от области применения и языка. Если числовые символы являются составной частью известного слова, такие числа могут сохраняться. Дополнительные сведения см. в Технических примечаниях.

    • Удалить специальные символы. Используйте этот параметр для удаления любых специальных символов, отличных от буквенно-цифровых.

    • Удалить повторяющиеся символы. Выберите этот параметр, чтобы удалить лишние символы в любой последовательности, которые повторяются более двух раз. Например, такая последовательность, как "аааа", будет сокращена до "аа".

    • Удалить адреса электронной почты. Выберите этот параметр, чтобы удалить любую последовательность формата <string>@<string>.

    • Удалить URL-адреса. Выберите этот параметр, чтобы удалить все последовательности, включающие следующие префиксы URL-адресов: http, https, ftp, www

  11. Развернуть сокращенные глагольные формы. Этот параметр применяется только к языкам, в которых используются сокращенные глагольные формы (в настоящее время только для английского языка).

    Например, если выбран этот параметр, можно заменить фразу wouldn't stay there на "would not stay there" .

  12. Нормализовать обратные косые черты до косых черт. Выберите этот параметр, чтобы сопоставить все экземпляры \\ с /.

  13. Разбить маркеры на специальные символы. Выберите этот параметр, если нужно разбить слова на такие символы &, - и т. д. Этот параметр также позволяет сократить количество специальных символов, если они повторяются более двух раз.

    Например, строка MS---WORD будет разделена на три маркера: MS, - и WORD.

  14. Отправьте конвейер.

Технические примечания

Компонент предварительной обработки текста в Studio (классическая версия) и в конструкторе использует разные языковые модели. В конструкторе используется многозадачная обученная модель CNN из spaCy. Различные модели предоставляют разные средства определения маркеров и тегов частей речи, что приводит к различным результатам.

Ниже приводятся некоторые примеры.

Конфигурация Итоговый результат
Со всеми выбранными параметрами
Объяснение:
В таких случаях, как "3Test" в "WC-3 3Test 4test", конструктор удаляет слово "3Test" целиком, поскольку в этом контексте средство определения тегов частей речи распознает этот маркер "3Test" как числительное, и в соответствии с частью речи компонент удаляет его.
Со всеми выбранными параметрами
Только с выбранным параметром Removing number
Объяснение:
В таких случаях, как "3Test" и "4-EC", создатель маркеров в конструкторе не разделяет эти варианты и обрабатывает их как целые маркеры. Следовательно, числа из этих слов не удаляются.
Только с выбранным параметром

Можно также использовать регулярное выражение для вывода настраиваемых результатов:

Конфигурация Итоговый результат
Со всеми выбранными параметрами
Настраиваемое регулярное выражение: (\s+)*(-|\d+)(\s+)*
Настраиваемая заменяющая строка: \1 \2 \3
Со всеми выбранными параметрами и регулярным выражением
Только с выбранным параметром Removing number
Настраиваемое регулярное выражение: (\s+)*(-|\d+)(\s+)*
Настраиваемая заменяющая строка: \1 \2 \3
С выбранным параметром

Дальнейшие действия

Ознакомьтесь с набором доступных компонентов для Машинного обучения Azure.