WEB+DB PRESS (ウェブDBプレス) Vol.100「トピックモデルによる教師なし学習」(P.37)をやってみた

WEB+DB PRESS Vol.100(技術評論社)の「トピックモデルによる教師なし学習」(P.37)をやってみました。トピックモデルを使用して、トピックの特徴を表す単語を表示します。

  • 記事の内容や、操作を理解するための概念などは、このページには書きません。上のリンクから雑誌を購入してご覧ください。

この記事は、以下の記事の続きですが、あまり関係ないです。

WEB+DB PRESS (ウェブDBプレス) Vol.100「サポートベクタマシンによる教師あり学習」(P.31)をやってみた

トピックモデルとは

ここでまず、トピックモデルについて簡単に紹介しておきましょう。

トピックモデルは、文書の中に複数の話題(トピック)が存在することを仮定するモデルです。「トピックモデルを用いてトピックを抽出する」といった場合は、「文書の中に複数の話題(複数のトピック)が存在することを仮定して、文書の中に含まれている複数の話題(複数のトピック)をプログラムによって推定する。」ということを指すようです。

つまり、雑誌記事でやっていることは、wikipedia_wakatied_data.txt(Wikipediaの内容語のみを取り出して分かち書き表現にしたテキスト)を分析して、Wikipediaの0番の記事が、「映画」や「放送」、「作品」を話題にした文書であろうと推定している、ということのようです。なお、この「映画」、「放送」、「作品」は、プログラムによって推定された語句です。プログラムが話題(トピック)となる語句を推定できるということが、特徴なのだと思います。

お待たせしました。実際に操作してみましょう。

トピックモデルによる教師なし学習

Windows PowerShellを起動し、以下の記事で準備したDockerコンテナに接続して操作します。ここでは、Dockerコンテナに接続するまでの操作は省略します。

WEB+DB PRESS (ウェブDBプレス) Vol.100「第2章 自然言語処理」(P.24)をやってみた

Wikipediaデータのトピック抽出

  1. 「cd /webdb100/03」と入力して、Enterキーを押します。
  2. 雑誌記事(P.40)の「lowcorpusの作成」のコマンドを入力し、Enterキーを押します。
  3. 雑誌記事(P.40)の「gensimのインストール」のコマンドを入力して、Enterキーを押します。
  4. 雑誌記事(P.40)の「gensim_LDA_lowcorpus.pyの実行」のコマンドを入力し、Enterキーを押します。

    計算はしばらくかかります。

    なんと89888.31秒(約25時間)かかりました。Dockerが使用できるCPUの数を2個にしていましたので、個数を増やすともっと早くなるかもしれませんね。

結果の考察

雑誌記事とは計算結果が異なるのは、Wikipediaの記事が更新されているためだと考えました。それでも、12番のトピックに「作品」、「映画」、「監督」という単語が並んでいますので、雑誌記事で紹介している0番のトピックと同じものの可能性が高いと思います。

ただ、今回の計算結果から「Wikipediaの記事は、以下の20種類に分類できる」と考えられるはずですが、例えば、「宇宙」など、直感的には20種類の中から分類を選べない記事もありますね。難しい。

トピック番号 LDAによる抽出語句 分類(筆者による推測)
0番 出場 チーム シーズン 選手 大会 優勝 所属 出身 記録 獲得 スポーツ
1番 運行 鉄道 駅 路線 開業 列車 建設 現在 区間 設置 鉄道
2番 現在 地域 位置 地区 建設 人口 町 南 北 建物 自治体・地域
3番 行う 事業 設立 日本 企業 場合 ない 会社 実施 受ける 企業
4番 フランス 教会 間 ドイツ ローマ −1 紀元前 ロシア スペイン 公 ヨーロッパ
5番 アメリカ合衆国 アメリカ 務める イギリス ロンドン 選挙 行う その後 州 ニューヨーク アメリカ
6番 対戦 世界 王座 収める 優勝 行う 敗れる −1 獲得 王者 スポーツ選手
7番 使用 開発 ゲーム 可能 発売 販売 システム 機能 行う サービス IT(ゲーム、システム)
8番 元年 子 いう 江戸時代 中国 父 寺 寺院 受ける その後
9番 研究 大学 日本 教授 卒業 博士 学ぶ 大学院 学校 教育 大学
10番 場合 定義 用いる 持つ 存在 呼ぶ 次 一般 与える 表す 数学
11番 放送 アルバム 番組 発売 行う シングル 曲 収録 活動 リリース 音楽
12番 作品 映画 監督 出演 公開 本作 登場 撮影 日本 舞台 映画
13番 使用 設計 開発 製造 エンジン 搭載 採用 車両 形式 装置 車両(自動車、鉄道)
14番 日本 就任 務める 同年 卒業 東京 出身 その後 事件 当時 著名人
15番 部隊 攻撃 行う 戦闘 飛行 海軍 作戦 計画 指揮 艦隊 戦争
16番 用いる 持つ 反応 研究 観測 星 地球 エネルギー 細胞 構造 理学
17番 属 植物 種 発見 動物 治療 持つ 患者 見る 知る 生物
18番 ない 作品 書く 見る いう 自分 描く 知る 言う 考える 創作
19番 葉 作る 花 使う 生産 呼ぶ 用いる 使用 料理 販売 植物

 

1 Trackback / Pingback

  1. WEB+DB PRESS (ウェブDBプレス) Vol.100「word2vecを用いた単語のベクトル化」(P.42)をやってみた – 有限会社ビートラスト

Comments are closed.