Power BIPower Query

【限りなくローコード】Power QueryでTF-IDF

Power BI

実用的かどうかは置いといて、Power QueryでTF-IDFを算出してみます。

TF-IDFは複数の文書の中から、文書中の単語の重要度を評価する手法です。→参考

使用するテーブル

文書名-単語名になっているテーブルを用意します。

全文書ごとの単語数リストを作る

文書名-単語名テーブルを右クリック、参照をクリックして文書名-単語数テーブルを作成します。

ホームタブのグループ化をクリックして、下記のように設定します。

文書名-単語数のテーブルが出来ました。

TF算出テーブルを作る

文書名-単語名テーブルを右クリック、参照をクリックしてTF算出テーブルを作成します。

BoW

BoW(Bag of Words)は、文書中に出現する単語を単語ごとに数えた数です。

文書・単語列をクリックした状態でグループ化をクリックして、上記のように入力します。

きちんと算出出来ました。

文書ごとの単語数

文書名-単語数テーブルとマージして、文書ごとの単語数列を追加します。

ホームタブのクエリのマージをクリックして、下記の画像のように設定します。

追加された文書名-単語数列の右横の矢印をクリックし、以下の様に設定します。

わかりやすいように、列名を文書ごとの単語数に変更します。

TFを算出

TFはBoW/文書ごとの単語数で算出出来ます。

列の追加タブのカスタム列をクリックし、以下の様に設定します。

TF値を算出出来ました。

IDF算出テーブルを作る

文書名-単語名テーブルを右クリック、参照をクリックしてIDF算出テーブルを作成します。

単語ごとに単語が含まれる文書の数を算出する

単語列を個別の行数でカウントします。

単語が含まれる文書の数を算出出来ました。

全文書数を算出する

列の追加タブのカスタム列をクリックし、以下の様に設定します。

全文書数が算出されました。

IDFの算出

列の追加タブのカスタム列をクリックし、以下の様に設定します。

IDF値が算出されました。

TF-IDF算出テーブルを作る

文書名-単語名テーブルを右クリック、参照をクリックしてTF-IDF算出テーブルを作成します。

TFをマージ

ホームタブのクエリのマージから、TFをマージします。

単語と文書列を選択し、追加されたTFテーブル列の横の矢印をクリックし、TF値を表示します。

IDFをマージ

同様にIDFを単語列でマージします。

IDF列をマージ出来ました。

TF-IDFの算出

TF-IDFを算出します。

列の追加タブのカスタム列をクリックし、以下の様に設定します。

TF-IDFを算出出来ました。

重複の削除

最後に重複している行を削除して完成です。

コメント

タイトルとURLをコピーしました