TFIDFEngine

Trait TFIDFEngine 

Source
pub trait TFIDFEngine<N>
where N: Num + Copy,
{ // Required methods fn idf_vec(corpus: &Corpus, token_dim_sample: &[String]) -> (Vec<N>, f64); fn tf_vec( freq: &TokenFrequency, token_dim_sample: &[String], ) -> (ZeroSpVec<N>, f64); fn tfidf_iter_calc( tf: impl Iterator<Item = N>, tf_denorm: f64, idf: impl Iterator<Item = N>, idf_denorm: f64, ) -> (impl Iterator<Item = N>, f64); fn tfidf_iter_calc_sparse( tf: impl Iterator<Item = (usize, N)>, tf_denorm: f64, idf: &Vec<N>, idf_denorm: f64, ) -> (impl Iterator<Item = (usize, N)>, f64); }

Required Methods§

Source

fn idf_vec(corpus: &Corpus, token_dim_sample: &[String]) -> (Vec<N>, f64)

IDFベクトルを生成するメソッド

§Arguments
  • corpus - コーパス
  • token_dim_sample - トークンの次元サンプル
§Returns
  • Vec<N> - IDFベクトル
  • denormalize_num - 正規化解除のための数値
Source

fn tf_vec( freq: &TokenFrequency, token_dim_sample: &[String], ) -> (ZeroSpVec<N>, f64)

TFベクトルを生成するメソッド

§Arguments
  • freq - トークン頻度
  • token_dim_sample - トークンの次元サンプル
§Returns
  • (ZeroSpVec<N>, f64) - TFベクトルと正規化解除のための数値
Source

fn tfidf_iter_calc( tf: impl Iterator<Item = N>, tf_denorm: f64, idf: impl Iterator<Item = N>, idf_denorm: f64, ) -> (impl Iterator<Item = N>, f64)

TF-IDFを計算するイテレータ

§Arguments
  • tf - TFベクトルのイテレータ
  • tf_denorm - TFの正規化解除のための数値
  • idf - IDFベクトルのイテレータ
  • idf_denorm - IDFの正規化解除のための数値
§Returns
  • (impl Iterator<Item = N>, f64) - TF-IDFのイテレータと正規化解除のための数値

tfidfのdenormは tf idf ともにmaxが 1.0 のはずなので tf_denorm * idf_denorm で計算できる(intでの計算くそめんどいやつ)

Source

fn tfidf_iter_calc_sparse( tf: impl Iterator<Item = (usize, N)>, tf_denorm: f64, idf: &Vec<N>, idf_denorm: f64, ) -> (impl Iterator<Item = (usize, N)>, f64)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§