LatentDirichletAllocationEstimator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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> 會在此鏈結的某處放置。 在該案例中,我們可以透過這個方法附加呼叫一次會呼叫的委派。 |