Извлечение N-грамм из текста

Важно!

Поддержка Студии машинного обучения (классической) будет прекращена 31 августа 2024 г. До этой даты рекомендуется перейти на Машинное обучение Azure.

Начиная с 1 декабря 2021 года вы не сможете создавать новые ресурсы Студии машинного обучения (классической). Существующие ресурсы Студии машинного обучения (классическая версия) можно будет использовать до 31 августа 2024 г.

Поддержка документации по ML Studio (классической) прекращается, а сама документация может не обновляться в будущем.

Создает функции словаря N-грамм и выполняет на них выбор компонентов

категория: Анализ текста

Примечание

применимо к: только Машинное обучение Studio (классическая модель)

Подобные модули перетаскивания доступны в конструкторе машинного обучения Azure.

Обзор модуля

в этой статье объясняется, как использовать функции извлечения N-грамм из текстового модуля в Машинное обучение Studio (классическая модель) для создание признаков текста и извлечения только наиболее важных фрагментов информации из длинных текстовых строк.

Модуль работает, создавая словарь n-грамм из столбца произвольного текста, указанного в качестве входных данных. Модуль применяет различные метрики информации к списку n-грамм, чтобы уменьшить размер данных и вычислить n-датаграммы с наибольшим значением информации.

Если вы уже создали словарь n-грамм, то можете обновить его статистику или выполнить слияние с новыми терминами, используя выбранный алгоритм взвешивания.

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

Как настроить извлечение функций N-грамм из текста

Эти модули поддерживают следующие сценарии для создания, обновления или применения словаря n-грамм:

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

  • У вас есть существующий набор функций текста и требуется обновить вес путем обработки новых текстовых входных данных. См. инструкции.

  • Вы создаете оценки из прогнозной модели и должны создавать и использовать текстовые входные данные со словарем n-грамм в рамках процесса оценки. См. инструкции.

Для справки можно использовать пример эксперимента .

Создать новый словарь n-грамм из текстового столбца

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

  2. В поле текстовый столбецвыберите столбец типа строка , содержащий текст, который требуется извлечь.

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

  3. Для параметра режим словарявыберите создать , чтобы указать, что вы создаете новый список функций n-грамм.

    Сведения о том, как обновить существующий набор функций n-грамм, см. в этом разделе.

  4. Для размера n-граммвведите число, которое указывает максимальный размер n-грамм для извлечения и хранения.

    Например, если ввести 3 , униграмм, биграмм и триграммов будут созданы.

  5. Для параметра K — пропустить размервведите максимальное число символов, которое может отличаться при определении вариантов n-грамм. Если значение k равно 0, n-граммы можно создать только из уникальной, непрерывной последовательности символов.

    Например, предположим, что в словаре содержится униграм «Computer». Значение k , равное 0, означает, что единственным допустимым униграм является «Computer». Если увеличить значение k до 1, можно пропустить один промежуточный символ, позволяющий найти более похожие последовательности. Пропускная раскрутка с параметром k , равным 1, будет отличаться одним символом из 0-k униграм. Таким образом, пропускаемые датаграммы "конпутер" и "компуутер" будут считаться частью той же записи словаря, что и "Computer". Установка значения k равным 2 соответствует еще более похожим словам.

    Дополнительные сведения о том, как пропускать использование в текстовой аналитике, см. в статье Создание кандидатов и проектирование характеристик для контролируемой лексической нормализации .

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

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

    Например, предположим, что минимальная длина слова равна 3 (значение по умолчанию), и у вас есть один вход с одним словом, а другой — с коротким текстом, например «хорошее место». Обе строки будут пропущены.

  8. Для параметра Максимальная длина словавведите максимальное число букв, которое может использоваться в одном слове в n-граммах.

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

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

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

  10. Для максимального коэффициента документа n-граммавведите число, представляющее это отношение: количество строк, содержащих определенные n-граммы, над числом строк в общем совокупности.

    Например, коэффициент 1 указывает, что даже если определенные N-граммы встречаются в каждой строке, они все равно будут добавлены в словарь. Как правило, слово, встречающиеся в каждой строке, считаются пропускаемыми и на входят в словарь. Чтобы отфильтровать зависимые от домена пропускаемые слова, попробуйте уменьшить этот коэффициент.

    Важно!

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

  11. Выберите параметр, чтобы определить, какие строки выходят за пределы словаря, если вы хотите создать индикатор для всех строк, содержащих слова, отсутствующие в словаре n-грамм, которые называются словами "вне словаря" (УВ).

    Все лексиконы конечные; Таким образом, текст совокупности почти гарантированно включает слова, которые не входят в словарь лексикона или n-грамм. Однако такие слова могут иметь различные последствия для языковых моделей, включая более высокие показатели ошибок по сравнению с словами в словаре (IV). В зависимости от вашего домена эти УВ слова могут представлять важные слова содержимого.

    Определив строки, содержащие эти слова, можно либо компенсировать последствия этих условий, либо обрабатывайте термины и связанные строки по отдельности.

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

    Azure ML Studio (классическая модель) вставляет символ ||| . Нельзя указать пользовательский символ.

  13. Выберите параметр нормализовать векторы компонентов n-грамм , если требуется нормализовать векторы компонентов. При этом каждый вектор функций n-грамм делится на нормы L2.

    Нормализация используется по умолчанию.

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

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

    Если вы используете выбор компонентов, необходимо выбрать метод из раскрывающегося списка метод оценки компонентов :

    • Пеарсонкоррелатион: вычисление корреляции Пирсона на основе значения столбца метки и вектора текста.
    • Мутуалинформатион: вычисление показателя взаимной информации на основе значения столбца метки и вектора текста.
    • Кендаллкоррелатион: вычисление корреляции Кендалл на основе значения столбца метки и вектора текста.
    • Спеарманкоррелатион: вычисление корреляции спеарман на основе значения столбца метки и вектора текста.
    • Чискуаред: использует метод хи-квадрат для вычисления корреляции между значением столбца метки и вектором текста.
    • Фишерскоре: вычисление оценки Фишера для значения столбца метки и вектора текста.
    • Выбор компонентов на основе количества: создает новые функции на основе количества значений. Для этого метода столбец меток не требуется.

    В зависимости от выбранного метода задайте один из следующих параметров.

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

      В процессе выбора компонентов все n-граммы получают оценку характеристик, а n-граммы ранжированы по оценкам. Заданное здесь значение определяет, сколько из самых высоко ранжированных функций выводится на выходе. N-граммы с более низкими показателями функций отбрасываются.

    • Минимальное число ненулевых элементов: требуется, если используется выбор компонентов на основе подсчета.

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

  15. Запустите эксперимент.

    Описание результатов и их формата см. в этом разделе .

Обновление существующего словаря n-грамм или слияние словарей

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

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

  3. Добавьте сохраненный набор данных, содержащий ранее созданный словарь n-грамм, и подключите его к входному порту словаря . Кроме того, можно подключить выходные данные результирующего словаря вышестоящего экземпляра функции извлечения N-грамм из текстового модуля.

    Для слияния или обновления словаря схема входного словаря должна точно соответствовать ожидаемому формату. Не удаляйте столбцы из и не добавляйте столбцы во входной словарь.

  4. В поле режим словарявыберите один из следующих вариантов обновления из раскрывающегося списка:

    • ReadOnly: представляет входной совокупности в терминах входного словаря. Это означает, что вместо вычисления частоты терминов из нового текстового набора данных (на левом входе) значения n-грамм из входного словаря применяются как есть.

      Совет

      Используйте этот параметр при оценке классификатора текста.

    • Обновление: создает новый словарь n-грамм из входного совокупности и объединяет его со входным словарем. Иными словами, можно добавить новые записи в созданный словарь из входного словаря или обновить существующие записи.

      Совет

      Используйте этот параметр для добавочного обновления словаря с входящими пакетами данных.

    • Слияние: создает новый словарь n-грамм из входного совокупности.

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

      Совет

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

  5. При объединении или обновлении словари необходимо выбрать функцию взвешивания. Функция взвешивания определяет, как должны быть взвешены показатели DF и IDF в двух словари:

    • Вес двоичных файлов присваивает извлеченным N-граммам двоичное значение присутствия. Иными словами, значение для каждого n-грамма равно 1, если оно существует в данном документе, и 0 в противном случае.
    • Tf Weight: назначает оценку частоты терминов (tf) извлеченным n-граммам. Значение каждой n-граммы равно частоте возникновения в данном документе.
    • Вес IDF: назначает для извлеченных n-грамм оценку частоты документов (IDF). Значение для каждого N-грамма — это журнал размера всего корпуса, поделенный на частотность во всем корпусе. То есть: IDF = log of corpus_size / document_frequency
    • TF-IDF Weight: задает оценку частоты или инверсию документа (TF/IDF) для извлеченных n-датаграмм. Значение каждого N-грамма — это произведение его частотности на обратную частотность в документе.
    • вес Graph: назначает оценку извлеченным n-граммам на основе ранжирования графа текстранк. Текстранк — это модель ранжирования на основе графов для обработки текста. алгоритмы ранжирования на основе Graph — это, по сути, способ выбора важности на основе глобальной информации. Дополнительные сведения см. в разделе текстранк. перевод заказа в тексты с рада Михалцеа и пол тарау.
  6. Дополнительные сведения о других параметрах см. в описании свойств в предыдущем разделе.

  7. Запустите эксперимент.

    Описание результатов и их формата см. в этом разделе .

Оценка или Публикация модели, использующей n-граммные

  1. Скопируйте функции извлечь N-граммы из текстового модуля из обучающего потока данных в поток данных оценки.

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

  3. В рабочем процессе оценки измените « Извлечение функций N-грамм» из текстового модуля и внесите эти изменения, если все остальное не так:

    • Установите для параметра режим словаря значение только для чтения.

    • Измените параметр использовать выбор компонентов на основе фильтра в False .

  4. Чтобы опубликовать эксперимент, сохраните результирующий словарь в виде набора данных.

    Затем подключите сохраненный набор данных к компоненту извлечь N-граммные функции из текстового модуля на диаграмме оценки.

Результаты

Функция извлечения функций N-грамм из текстового модуля создает два типа выходных данных:

  • Набор данных результатов: сводка по проанализированному тексту вместе с извлеченными n-граммами. Столбцы, которые не были выбраны в параметре текстовый столбец , передаются в выходные данные. Для каждого столбца анализируемого текста модуль создает следующие столбцы:

    • Нграмсстринг: строка, содержащая все уникальные n-датаграммы.
    • Нумуникуенграмс: число n-датаграмм, извлеченных с использованием указанных свойств.
    • Разреженная матрица для вхождений n-грамм. модуль создает столбец для каждого n-фактора, найденного в общем совокупности, и добавляет оценку в каждом столбце для указания веса n-грамм для этой строки.
  • Результирующий словарь: в словаре содержится фактический словарь N-граммов, а также оценка частотности, полученная в ходе анализа. Набор данных можно сохранить для повторного использования с другим набором входных параметров или для последующего обновления. Вы также можете обновить оценки или повторно использовать словарь для моделирования и оценки.

Образец результатов

Чтобы продемонстрировать, как можно использовать результаты, в следующем кратком примере используется набор данных «обзор книги Amazon», доступный в студии (классическая модель). Датаасет был отфильтрован, чтобы отображались только обзоры с оценкой 4 или 5, а также строки с длиной в 300 символов.

В этом наборе данных была выбрана короткая проверка, содержащая только 92 слов. Здесь имя автора заменено Xxx на, а название книги заменено Yyy на:

"Xxx at his best ! Yyy is one of Xxx's best yet! I highly recommend this novel."

Набор данных Results для образца текста проверки

Для этого примера модуль создал следующие столбцы:

  • Нумуникуенграмс: для этой 92 проверки Word используются параметры по умолчанию, 11 n-грамм были извлечены из примера проверки.

    Если длина n-грамм была увеличена до 3, а значение пропуска — 1, то обнаружено 15 n-грамм.

    Когда выделение компонентов было применено к умолчанию, не были извлечены n-граммы.

  • Нграмсстринг: с параметрами по умолчанию возвращены следующие n-граммы: ["i", "Best", "One", "высоко", "рекомендовать", "this", "роман", "his_best", "highly_recommend", "recommend_this", "this_novel"]

    С длиной n-прохода 3 и значением пропуска, равным 1, были возвращены следующие n-граммы: ["i", "Лучшая", "One", "высоко", "рекомендовать", "this", "роман", "his_best", "highly_recommend", "recommend_this", "this_novel", "best_one", "one_best", "highly_this", "highly_recommend_this"]

  • Разреженная матрица для вхождений n-грамм

    Для этой конкретной проверки результаты включали следующие столбцы:

    Ревиевтекст. занимает Ревиевтекст. [and_highly] Ревиевтекст. чрезвычайно Ревиевтекст. [highly_recommend]
    0 0 0,301511 0,301511

    Совет

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

Результирующий словарь для образца текста проверки

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

  • ID: идентификатор, формируемый для каждого уникального n-грамма.
  • Ngram: n-граммы. Пробелы или другие разделители слов заменяются символом подчеркивания.
  • DF: оценка частоты для N-граммов в исходном корпусе.
  • IDF: обратный коэффициент частотности N-грамма в исходном корпусе.

Этот набор данных можно обновить вручную. Однако будьте внимательны, так как можно вызвать ошибки. Пример:

  • Если модуль находит дублирующиеся строки с одним и тем же ключом во входном словаре, отображается ошибка. Убедитесь, что ни одна из двух строк в словаре не содержит повторяющееся слово.
  • Входная схема наборов данных словаря должна точно совпадать, включая имена и типы столбцов.
  • Столбец ID и показатель DF должны иметь целочисленный тип.
  • Столбец IDF должен иметь тип float (с плавающей запятой).

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

Рекомендуется поэкспериментировать с различными диапазонами значений для длины n-грамм, числа пропускаемых датаграмм и использования выбора компонентов, чтобы определить размерность текста совокупности и оптимальное соотношение функций.

Дополнительные сведения о n-граммах и пропуске-граммах см. в следующих ресурсах:

Ожидаемые входные данные

Имя Тип Описание
Dataset Таблица данных Входные данные
Входной словарь Таблица данных Входной словарь

Параметры модуля

Имя Type Диапазон Необязательно Значение по умолчанию Описание
Минимальное число нулевых элементов Целое число >= 1 Применяется только при использовании следующего метода:

Выбор на основе количества
1 Укажите количество компонентов для выходных данных (для метода CountBased)
Столбец текста Выполните действия на странице Выбор столбцов. Обязательно StringFeature Имя или Отсчитываемый от единицы индекс текстового столбца
Режим словаря Режим словаря Создать

ReadOnly

Update

Объединить
Обязательно Создать Укажите, как должен создаваться словарь n-грамм из совокупности
Размер N-грамм Целое число >= 1 Обязательно 1 Укажите максимальный размер создаваемых n-грамм
K — пропустить размер Целое число >=0 Обязательно 0 Указание размера k-Skip
Функция взвешивания Функция взвешивания Вес двоичных файлов

TF Weight

Вес IDF

TF — IDF вес

вес Graph
Обязательно Вес двоичных файлов Выберите функцию взвешивания для применения к каждому значению n-грамм
Минимальная длина слова Целое число >= 1 Обязательно 3 Укажите минимальную длину слов, включаемых в n-граммы
Максимальная длина слова Целое число >= 2 Обязательно 25 Укажите максимальную длину слов, включаемых в n-граммы
Минимальная частота в документе n-грамм Float >= 1,0 Обязательно 5,0 Минимальная частота в документе n-грамм
Максимальное соотношение документов n-грамм Float >= 0,0001 Обязательно 1,0 Максимальное соотношение документов n-грамм
Обнаружение строк вне словаря Логическое Обязательно Да Обнаружение строк, имеющих слова, отсутствующие в словаре n-грамм (УВ)
Пометить начало предложения Логическое Обязательно false Укажите, следует ли добавлять метку начала предложения в n-граммы
Нормализация векторов функций n-грамм Логическое Обязательно Нормализация векторов функций n-грамм. Если значение равно true, то вектор возможностей n-грамм делится на нормы L2.
Использование выбора компонентов на основе фильтров Истинный тип false Да

False
Обязательно Да Использование выбора компонентов на основе фильтра для снижения размерности
Метод оценки компонентов Метод оценки Корреляция Пирсона

Взаимная информация

Корреляции Кендалла

Корреляции Спирмана

Хи-квадрат

Оценка Фишера

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

Корреляция Пирсона

Взаимная информация

Корреляции Кендалла

Корреляции Спирмана

Хи-квадрат

Оценка Фишера
Укажите целевой столбец
Количество необходимых компонентов Целое число >= 1 Применяется при использовании одного из следующих методов:

Корреляция Пирсона

Взаимная информация

Корреляции Кендалла

Корреляции Спирмана

Хи-квадрат

Оценка Фишера
1 Укажите количество компонентов для вывода результатов

Выходные данные

Имя Тип Описание
Набор данных результатов Таблица данных Извлеченные функции
Результирующий словарь Таблица данных Результирующий словарь

См. также раздел

Анализ текста
A-Z список модулей Машинное обучение