コンテンツにスキップ

LDA

文章を自動でいくつかの話題(トピック)に分けます。 正解を与えずに、似た言葉が一緒に出てくるかたまりを見つけます。

分類したい種類が決まっているならfasttextによる文書分類を使ってください。

入出力

ポート内容
入力データデータ
出力データデータ
トピックデータ

出力が 2 つあります。

Spark エンジンでは動きません。

行の数は変わりません。 1 つ目の出力は、入力に 2 列足した形です。

出力の形

1 つ目(出力)

入力の列に、次の 2 列が足されます。

列名内容
トピック番号その文書がいちばん近いトピックの番号。0 から始まります
確率そのトピックである確からしさ

1 つの文書には 1 つのトピックだけが付きます。 いちばん確率の高いトピックが選ばれ、残りは出力されません。

2 つ目(トピック)

列名内容
トピック番号トピックの番号
単語そのトピックの代表的な単語
確率そのトピックの中でのその単語の重み

トピックごとに代表語が並びます。 トピックに名前を付けるのはこの表を読んで人がやります。

設定項目

処理対象列を選択必須
分かち書き済みの列。文字列の列だけ選べます。1 列だけです。
トピック数を設定
いくつに分けるか。既定は 5。
使用する特徴ベクトルを選択必須
Bag of Words(既定)か TF-IDF。
乱数シードを固定する
オプションの中にあります。整数を入れます。考え方は乱数シードを参照。

先に形態素解析が要る

このノードは、単語が空白で区切られていることを前提にします。 元の文章をそのまま入れると、文全体が 1 単語になってトピックが作れません。先に形態素解析を掛けてください。

助詞や助動詞は落としておいてください。 どの文書にも出てくるので、どのトピックにも同じ語が並びます。形態素解析で名詞だけに絞るのが手軽です。

2 つの特徴ベクトル

選択肢数え方
Bag of Words(既定)単語の出現回数をそのまま使う
TF-IDFどの文書にも出る語の重みを下げる

どの文書にも出る語に引きずられるときは TF-IDF を選びます。

トピック数の決め方

正解はありません。 少なすぎると違う話題が混ざり、多すぎると似たトピックに分かれます。

既定の 5 から始め、2 つ目の出力でトピックごとの代表語を見て、意味のあるまとまりになっているか確かめてください。判断の手がかりは 2 つあります。

見るところ増やす / 減らす
1 つのトピックの代表語に、関係のない言葉が混ざっているトピック数を増やす
代表語がほとんど同じトピックが 2 つ以上あるトピック数を減らす

エラーと対処

処理対象列に欠損値がある

処理対象列に欠損値が含まれています。欠損値を除外するか補完してください。

直し方 — 欠損値処理で欠損のある行を落としてください。形態素解析で品詞を絞ると、単語が残らなかった行が欠損になります。

列を選ばずに実行した

「処理対象列を選択」が空のまま実行したときに出ます。前の処理で列名が変わり、選んでいた列が入力データからなくなったときにも同じメッセージです。

対象の列が選択されていません。

直し方 — 文書の入った列を選び直してください。

よく使う例

1. 問い合わせの話題を見つける

どんな種類の問い合わせがあるか分からないとき。

入力(形態素解析で名詞だけ残した列)

問い合わせ_形態素
返品 手続き 送料
配送 日時 変更
…(500 件)

設定

設定項目値
処理対象列を選択問い合わせ_形態素
トピック数を設定5
使用する特徴ベクトルを選択Bag of Words
乱数シードを固定する42

出力 — 1 つ目に トピック番号 と 確率 が増えます。2 つ目でトピック 0 の代表語が 返品 送料 なら、「返品に関する話題」と名前を付けられます。

2. トピックの数を変えて試す

5 では粗すぎて、違う話題が 1 つに混ざっているとき。

入力 — 例 1 と同じ

設定

設定項目値
トピック数を設定10
乱数シードを固定する42

出力 — 代表語が分かれます。似たトピックが並ぶようなら増やしすぎです。

3. その文書らしい語を重視する

どの文書にも出る語がどのトピックにも並んでしまうとき。

入力 — 例 1 と同じ

設定

設定項目値
使用する特徴ベクトルを選択TF-IDF

出力 — 代表語から、ありふれた語が減ります。

4. トピックごとに件数を集計する

どの話題が多いかを数えたいとき。

入力 — 例 1 の出力

設定 — トピック番号 をキーにデータ集計で件数を数えます。

出力 — トピックごとの件数が出ます。2 つ目の出力の代表語と突き合わせて読みます。

5. 確信の低い文書を外す

トピックが付いていても当てはまりの弱い文書を、集計から外したいとき。

入力 — 例 1 の出力

設定 — 条件で行をフィルタで 確率 >= 0.5 に絞ります。

出力 — どのトピックにもはっきり寄っていない文書が落ちます。

関連