LatentDirichletAllocationEstimator Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
LDA dönüşümü, Latent Dirichlet Ayırma'nın son teknoloji uygulaması olan LightLDA'yı uygular.
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)
- Devralma
-
LatentDirichletAllocationEstimator
- Uygulamalar
Açıklamalar
Tahmin Aracı Özellikleri
Bu tahmin aracının parametrelerini eğitmek için verilere bakması gerekiyor mu? | Yes |
Giriş sütunu veri türü | Vektör Single |
Çıkış sütunu veri türü | Vektör Single |
ONNX'e aktarılabilir | No |
Gizli Dirichlet Ayırma, metin verilerinden anlamsal yapı çıkartan ve sonunda "bu belgenin ne hakkında olduğu" sorusuna yanıt verilmesine yardımcı olan iyi bilinen bir konu modelleme algoritmasıdır. Herhangi bir metin alanını düşük boyutlu topikal vektörler olarak öne çıkarma amacıyla kullanılabilir. LightLDA, bir dizi iyileştirme tekniği içeren son derece verimli bir LDA uygulamasıdır. LDA dönüşümüyle, ML.NET kullanıcılar bir konu modelini, 1 milyar belirteçli bir belgede 1 milyon sözcük dağarcığıyla 1 milyon konu başlığı üretecek şekilde eğitebilir ve birkaç saat içinde tek bir makine ayarlayabilir (genellikle, bu ölçekte LDA günler sürer ve büyük kümeler gerektirir). En önemli yenilik süper verimli bir $O(1)$. Çalışma maliyeti model boyutundan bağımsız olan Metropolis-Hastings örnekleme algoritması, diğer Gibbs örnekleyicilerinden neredeyse bir büyüklük sırasını daha hızlı bir şekilde yakınsamasına olanak sağlıyor.
bir ML.NET işlem hattında, bu tahmin aracı giriş olarak bazı ön işlemlerin çıkışını gerektirir. Metin üzerinde çalışan tipik bir işlem hattı, LDA tahmin aracına sağlamak için metin normalleştirme, belirteçleştirme ve n gram üretmeyi gerektirir. Kullanım önerileri için Ayrıca Bkz. bölümündeki örnek kullanıma bakın.
Veri noktaları olarak aşağıdaki üç metin örneğine sahipsek ve konu sayısı 3 olarak ayarlanmış şekilde LDA dönüşümünü kullanırsak, aşağıdaki tabloda görüntülenen sonuçları alacağız. Örnek belgeler:
- Muz yemeyi severim.
- Her gün muz yiyorum.
- İlk olarak 1970'te kutlanan Dünya Günü, 193'ten fazla ülkede düzenlenen ve dünya çapında Dünya Günü Ağı tarafından koordine edilen etkinlikler içeriyor.
Birinci ve ikinci satırın değerlerinde üçüncü satırla karşılaştırıldığında benzerliğe dikkat edin ve bu değerlerin bu iki (küçük) metin gövdesi arasındaki benzerlikleri nasıl gösterdiğini görün.
Konu1 | Konu2 | Konu 3 |
---|---|---|
0.5714 | 0.0000 | 0.4286 |
0.5714 | 0.0000 | 0.4286 |
0.2400 | 0.3200 | 0.4400 |
Daha fazla teknik ayrıntı için aşağıdaki makalelere başvurabilirsiniz.
Kullanım örneklerinin bağlantıları için Ayrıca Bkz. bölümüne bakın.
Yöntemler
Fit(IDataView) |
Bir LatentDirichletAllocationTransformereğiter ve döndürür. |
GetOutputSchema(SchemaShape) |
SchemaShape Transformatör tarafından üretilecek şemanın değerini döndürür. İşlem hattında şema yayma ve doğrulama için kullanılır. |
Uzantı Metotları
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Tahmin aracı zincirine bir 'önbelleğe alma denetim noktası' ekler. Bu, aşağı akış tahmincilerinin önbelleğe alınan verilere karşı eğitilmesini sağlar. Birden çok veri geçişi alan eğitmenlerden önce bir önbelleğe alma denetim noktası olması yararlıdır. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Tahmin aracı verildiğinde, çağrıldıktan sonra Fit(IDataView) temsilci çağıracak bir sarmalama nesnesi döndürün. Tahmin aracının neyin uygun olduğu hakkında bilgi döndürmesi genellikle önemlidir. Bu nedenle Fit(IDataView) yöntem yalnızca genel ITransformerbir nesne yerine özel olarak yazılan bir nesne döndürür. Bununla birlikte, aynı zamanda, IEstimator<TTransformer> genellikle birçok nesneye sahip işlem hatları halinde oluşturulur, bu nedenle transformatör almak istediğimiz tahmin aracının EstimatorChain<TLastTransformer> bu zincirde bir yere gömülü olduğu bir tahmin aracı zinciri oluşturmamız gerekebilir. Bu senaryo için, bu yöntem aracılığıyla sığdır çağrıldıktan sonra çağrılacak bir temsilci ekleyebiliriz. |