Поделиться через


LatentDirichletAllocationEstimator Класс

Определение

Преобразование LDA реализует LightLDA, новую реализацию латентного распределения Дирихлета.

public sealed class LatentDirichletAllocationEstimator : Microsoft.ML.IEstimator<Microsoft.ML.Transforms.Text.LatentDirichletAllocationTransformer>
type LatentDirichletAllocationEstimator = class
    interface IEstimator<LatentDirichletAllocationTransformer>
Public NotInheritable Class LatentDirichletAllocationEstimator
Implements IEstimator(Of LatentDirichletAllocationTransformer)
Наследование
LatentDirichletAllocationEstimator
Реализации

Комментарии

Характеристики оценщика

Нужно ли этому оценщику просмотреть данные для обучения параметров? Да
Тип данных входного столбца Вектор Single
Тип данных выходного столбца Вектор Single
Экспортируемый в ONNX Нет

Латентное выделение Dirichlet — это хорошо известный алгоритм моделирования тем , который определяет семантику структуры из текстовых данных и в конечном счете помогает ответить на вопрос о том, что такое документ?» Его можно использовать для добавления любых текстовых полей в виде низкомерных актуальных векторов. LightLDA — это чрезвычайно эффективная реализация LDA, которая включает ряд методов оптимизации. С помощью преобразования LDA ML.NET пользователи могут обучить модель тем, чтобы создать 1 миллион тем с 1 миллионом слов словаря на 1 миллиард токенов документ набор один компьютер в течение нескольких часов (как правило, LDA в этом масштабе занимает несколько дней и требует больших кластеров). Наиболее важным нововведением является супер-эффективный $O(1)$. Алгоритм выборки «Метрополис-Хэтингс», стоимость которого не зависит от размера модели, что позволяет ему сходиться почти на порядок величины быстрее, чем другие выборщики Гиббса.

В конвейере ML.NET этот оценщик требует выходных данных предварительной обработки в качестве входных данных. Типичный конвейер, работающий с текстом, требует нормализации текста, маркеризации и производства n-граммов для предоставления оценщика LDA. См. пример использования в разделе "См. также" для предложений по использованию.

Если у нас есть три примера текста в качестве точек данных и используйте преобразование LDA с количеством разделов, заданных в 3, мы получим результаты, отображаемые в таблице ниже. Примеры документов:

  • Мне нравится есть бананы.
  • Я ем бананы каждый день.
  • Впервые отмечалось в 1970 году, День Земли в настоящее время включает события в более чем 193 странах, которые в настоящее время координируются глобально сетью Дня Земли.

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

Тема1 Тема2 Раздел 3
0.5714 0,0000 0.4286
0.5714 0,0000 0.4286
0.2400 0.3200 0.4400

Дополнительные технические сведения см. в следующих документах.

Ознакомьтесь с разделом "См. также" ссылки на примеры использования.

Методы

Fit(IDataView)

Поезда и возвращается LatentDirichletAllocationTransformer.

GetOutputSchema(SchemaShape)

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

Методы расширения

AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment)

Добавьте "контрольную точку кэширования" в цепочку оценщика. Это обеспечит обучение подчиненных оценщиков на основе кэшированных данных. Рекомендуется создать контрольную точку кэширования перед обучением, которые принимают несколько передач данных.

WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>)

Учитывая оценщик, возвращает объект-оболочку, который будет вызывать делегат один раз Fit(IDataView) . Часто важно, чтобы оценщик возвращал сведения о том, что было в форме, поэтому Fit(IDataView) метод возвращает специально типизированный объект, а не просто общий ITransformer. Однако, в то же время, IEstimator<TTransformer> часто формируются в конвейеры со многими объектами, поэтому нам может потребоваться построить цепочку оценщиков, где EstimatorChain<TLastTransformer> оценщик, для которого мы хотим получить преобразователь, похоронен где-то в этой цепочке. В этом сценарии мы можем подключить делегат, который будет вызываться после вызова соответствия.

Применяется к

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