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 opóźnianej 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? | Tak |
Typ danych kolumny wejściowej | Wektor Single |
Typ danych kolumny wyjściowej | Wektor Single |
Eksportowanie do pliku ONNX | Nie |
Opóźniona alokacja Dirichlet jest dobrze znanym algorytmem modelowania tematów , który wywnioskuje strukturę semantyczną z danych tekstowych, a ostatecznie pomaga odpowiedzieć na pytanie "co to jest ten dokument?". Może służyć do wyczynowania dowolnych pól tekstowych jako wektorów tematowych o niskim wymiarach. LightLDA to niezwykle wydajna implementacja LDA, która obejmuje szereg technik optymalizacji. Dzięki transformacji LDA użytkownicy ML.NET mogą wytrenować model tematu, aby wygenerować 1 milion tematów ze słownictwem 1 miliona słów na 1 miliardach tokenów dokumentu ustawionym na jedną maszynę 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)$. Algorytm próbkowania Metropolis-Hastings, którego koszt działania jest niezależny od rozmiaru modelu, co pozwala na zbieżność niemal rzędu 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 trzy następujące 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, które są obecnie koordynowane na całym świecie przez Sieć Dni Ziemi.
Zwróć uwagę na podobieństwo wartości pierwszego i drugiego wiersza w porównaniu do trzeciego i zobacz, jak te wartości wskazują na 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
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
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 względem buforowanych danych. Warto mieć punkt kontrolny buforowania, zanim trenerzy przejmą 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ólną ITransformerwartość . Jednak w tym samym czasie IEstimator<TTransformer> często są 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 zostanie wywołany po wywołaniu dopasowania. |