Bagikan melalui


LatentDirichletAllocationEstimator Kelas

Definisi

Transformasi LDA mengimplementasikan LightLDA, implementasi alokasi Dirichlet Laten yang canggih.

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)
Warisan
LatentDirichletAllocationEstimator
Penerapan

Keterangan

Karakteristik Estimator

Apakah estimator ini perlu melihat data untuk melatih parameternya? Ya
Jenis data kolom input Vektor dari Single
Jenis data kolom output Vektor dari Single
Dapat diekspor ke ONNX Tidak

Alokasi Dirichlet Laten adalah algoritma pemodelan topik terkenal yang menyimpulkan struktur semantik dari data teks, dan pada akhirnya membantu menjawab pertanyaan tentang "apa dokumen ini?". Ini dapat digunakan untuk menampilkan bidang teks apa pun sebagai vektor topikal dimensi rendah. LightLDA adalah implementasi LDA yang sangat efisien yang menggabungkan sejumlah teknik pengoptimalan. Dengan transformasi LDA, ML.NET pengguna dapat melatih model topik untuk menghasilkan 1 juta topik dengan kosakata 1 juta kata pada dokumen token 1 miliar yang ditetapkan satu komputer tunggal dalam beberapa jam (biasanya, LDA pada skala ini membutuhkan waktu berhari-hari dan membutuhkan kluster besar). Inovasi yang paling signifikan adalah $O(1)$yang sangat efisien. Algoritma pengambilan sampel Metropolis-Hastings, yang biaya berjalannya adalah agnostik ukuran model, memungkinkannya untuk menyatukan hampir urutan besarnya lebih cepat daripada sampelr Gibbs lainnya.

Dalam alur ML.NET, estimator ini memerlukan output dari beberapa pra-pemrosesan, sebagai inputnya. Alur khas yang beroperasi pada teks akan memerlukan normalisasi teks, tokenisasi, dan produksi n-gram untuk disuplai ke estimator LDA. Lihat contoh penggunaan di bagian Lihat Juga untuk saran penggunaan.

Jika kita memiliki tiga contoh teks berikut, sebagai poin data, dan menggunakan transformasi LDA dengan jumlah topik yang diatur ke 3, kita akan mendapatkan hasil yang ditampilkan dalam tabel di bawah ini. Contoh dokumen:

  • Aku suka makan pisang.
  • Aku makan pisang setiap hari.
  • Pertama kali dirayakan pada tahun 1970, Hari Bumi sekarang mencakup acara di lebih dari 193 negara, yang sekarang dikoordinasikan secara global oleh Earth Day Network.

Perhatikan kesamaan nilai baris pertama dan kedua, dibandingkan dengan yang ketiga, dan lihat bagaimana nilai-nilai tersebut menunjukkan kesamaan antara kedua badan teks tersebut (kecil).

Topik1 Topik2 Topik 3
0.5714 0.0000 0.4286
0.5714 0.0000 0.4286
0.2400 0.3200 0.4400

Untuk detail teknis selengkapnya, Anda dapat berkonsultasi dengan makalah berikut.

Periksa bagian Lihat Juga untuk tautan ke contoh penggunaan.

Metode

Fit(IDataView)

Melatih dan mengembalikan LatentDirichletAllocationTransformer.

GetOutputSchema(SchemaShape)

Mengembalikan SchemaShape skema yang akan diproduksi oleh transformator. Digunakan untuk propagasi dan verifikasi skema dalam alur.

Metode Ekstensi

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

Tambahkan 'titik pemeriksaan penembolokan' ke rantai estimator. Ini akan memastikan bahwa estimator hilir akan dilatih terhadap data cache. Sangat membantu untuk memiliki titik pemeriksaan penembolokan sebelum pelatih yang mengambil beberapa data berlalu.

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

Mengingat estimator, kembalikan objek pembungkus yang akan memanggil delegasi setelah Fit(IDataView) dipanggil. Seringkali penting bagi estimator untuk mengembalikan informasi tentang apa yang cocok, itulah sebabnya Fit(IDataView) metode mengembalikan objek yang ditik secara khusus, bukan hanya umum ITransformer. Namun, pada saat yang sama, IEstimator<TTransformer> sering dibentuk menjadi alur dengan banyak objek, jadi kita mungkin perlu membangun rantai estimator melalui EstimatorChain<TLastTransformer> tempat estimator yang ingin kita dapatkan transformator dikubur di suatu tempat dalam rantai ini. Untuk skenario itu, kita dapat melalui metode ini melampirkan delegasi yang akan dipanggil setelah pas dipanggil.

Berlaku untuk

Lihat juga