LatentDirichletAllocationEstimator Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Transformacja LDA implementuje LightLDA, najnowocześniejsze wdrożenie utajnianej alokacji Dirichlet.
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)
- Dziedziczenie
-
LatentDirichletAllocationEstimator
- Implementuje
Uwagi
Charakterystyka narzędzia do szacowania
| Czy ten narzędzie do szacowania musi przyjrzeć się danym, aby wytrenować jego parametry? | Yes |
| Typ danych kolumny wejściowej | Wektor Single |
| Typ danych kolumny wyjściowej | Wektor Single |
| Możliwość eksportowania do ONNX | No |
Opóźniona alokacja dirichletu to dobrze znany algorytm modelowania tematów , który wywnioskuje strukturę semantyczną z danych tekstowych, a ostatecznie pomaga odpowiedzieć na pytanie "o co chodzi w tym dokumencie?". Może służyć do wyczynowania dowolnych pól tekstowych jako niskowymiarowych wektorów tematowych. LightLDA to niezwykle wydajna implementacja LDA, która obejmuje szereg technik optymalizacji. Dzięki przekształceniu LDA użytkownicy ML.NET mogą wytrenować model tematu, aby wygenerować 1 milion tematów ze słownictwem 1 miliona słów na jednym zestawie dokumentów tokenów o wartości 1 miliarda w ciągu kilku godzin (zazwyczaj LDA w tej skali zajmuje kilka dni i wymaga dużych klastrów). Najważniejszą innowacją jest superwydajna $O (1)$. Metropolis-Hastings algorytm próbkowania, którego koszt działania jest niezależny od rozmiaru modelu, co pozwala na zbieżność niemal o wiele wielkości szybciej niż inne próbkatory Gibbs.
W potoku ML.NET ten narzędzie do szacowania wymaga danych wyjściowych niektórych przetwarzania wstępnego jako danych wejściowych. Typowy potok działający na tekście wymaga normalizacji tekstu, tokenizacji i produkcji n-gramów w celu dostarczenia do narzędzia do szacowania LDA. Zobacz przykładowe użycie w sekcji Zobacz również, aby uzyskać sugestie dotyczące użycia.
Jeśli mamy następujące trzy przykłady tekstu jako punkty danych i użyjemy przekształcenia LDA z liczbą tematów ustawionych na 3, uzyskamy wyniki wyświetlane w poniższej tabeli. Przykładowe dokumenty:
- Lubię jeść banany.
- Jem banany codziennie.
- Po raz pierwszy obchodzony w 1970 roku Dzień Ziemi obejmuje teraz wydarzenia w ponad 193 krajach/regionach, które są obecnie koordynowane globalnie przez Sieć Dzień Ziemi.
Zwróć uwagę na podobieństwo w wartościach pierwszego i drugiego wiersza w porównaniu z trzecim i zobacz, jak te wartości wskazują podobieństwa między tymi dwoma (małymi) treściami tekstu.
| Temat1 | Temat2 | Temat 3 |
|---|---|---|
| 0.5714 | 0.0000 | 0.4286 |
| 0.5714 | 0.0000 | 0.4286 |
| 0.2400 | 0.3200 | 0.4400 |
Aby uzyskać więcej informacji technicznych, zapoznaj się z następującymi dokumentami.
Zapoznaj się z sekcją Zobacz również, aby uzyskać linki do przykładów użycia.
Metody
| Nazwa | Opis |
|---|---|
| Fit(IDataView) |
Trenuje i zwraca wartość LatentDirichletAllocationTransformer. |
| GetOutputSchema(SchemaShape) |
SchemaShape Zwraca schemat, który zostanie wygenerowany przez transformator. Służy do propagacji schematu i weryfikacji w potoku. |
Metody rozszerzania
| Nazwa | Opis |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Dołącz punkt kontrolny buforowania do łańcucha narzędzia do szacowania. Zapewni to, że narzędzia do szacowania podrzędnego zostaną wytrenowane z buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejdą wiele danych. |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Biorąc pod uwagę narzędzie do szacowania, zwróć obiekt opakowujący, który wywoła delegata po Fit(IDataView) wywołaniu. Często ważne jest, aby narzędzie do szacowania zwracało informacje o tym, co było odpowiednie, dlatego Fit(IDataView) metoda zwraca specjalnie wpisany obiekt, a nie tylko ogólne ITransformer. Jednak w tym samym czasie IEstimator<TTransformer> są często tworzone w potoki z wieloma obiektami, więc może być konieczne utworzenie łańcucha narzędzi do szacowania za pośrednictwem EstimatorChain<TLastTransformer> miejsca, w którym narzędzie do szacowania, dla którego chcemy uzyskać transformator jest pochowany gdzieś w tym łańcuchu. W tym scenariuszu możemy za pomocą tej metody dołączyć delegata, który będzie wywoływany po wywołaniu dopasowania. |