Share via


LatentDirichletAllocationEstimator 類別

定義

LDA 轉換會實作 LightLDA,這是 Latent 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)
繼承
LatentDirichletAllocationEstimator
實作

備註

估算器特性

此估算器是否需要查看資料來定型其參數?
輸入資料行資料類型 Single 的向量
輸出資料行資料類型 Single 的向量
可匯出至 ONNX

Latent Dirichlet 配置是一種已知的 主題模型化 演算法,可從文字資料推斷語意結構,最後有助於回答「此檔關於什麼?」的問題。 它可以用來將任何文字欄位特徵化為低維度主題向量。 LightLDA 是一種非常有效率的 LDA 實作,其中包含許多優化技術。 透過 LDA 轉換,ML.NET 使用者可以將主題模型定型,以在 1 億個權杖檔上產生 1 百萬個單字詞彙的 1 百萬個主題,通常會在數小時內設定單一電腦 (,因此此規模上的 LDA 需要幾天的時間,而且需要大型叢集) 。 最重要的創新是超有效率$O (1) $。 Metropolis-Hastings 取樣演算法,其執行成本與模型大小無關,可讓它比其他 Gibbs 取樣器更快速聚合。

在 ML.NET 管線中,此估算器需要一些前置處理的輸出作為其輸入。 在文字上運作的一般管線需要文字正規化、標記化和產生 n-gram,才能提供給 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> 會在此鏈結的某處放置。 在該案例中,我們可以透過這個方法附加呼叫一次會呼叫的委派。

適用於

另請參閱