1682記事をLDAでトピック分類(スクレイピング・単語分解・正規化編)

※こちらはQiitaの投稿記事の一部修正版です。

※Qiita投稿記事はこちら

※記事内で動かない・間違い箇所などありましたら是非教えて下さい!

モチベーション

・LDAをとりあえず使いたかった!
・Qiitaの中での、非エンジニアの活動状況を知りたかった!
(僕自身が非エンジニアでプログラミング頑張っていこうと思っているので。)

この記事の概要

Qiita内「非エンジニア」キーワードの記事に対してLDAでトピック分類することを目的に、この記事ではLDAにかける前処理として、スクレイピング、単語分解、正規化を行いました。

続編ではLDAでの結果を紹介するが、結果的にscikit-learnのLDAが遅すぎて全記事でできなかったので、lda(ややこしい!このldaです)を使ってみた。

まずはスクレイピング

今回のスクレイピング対象のURLはコチラ
Qiita内の検索でキーワード「非エンジニア」に引っかかる記事です。

最後のページまで飛ばすと、どうやら169ページまであり、1682記事あるっぽい。
URLはコチラ

ということで以下の内容を取得するよう、コードを書いていく。
タイトル
投稿日
ディスクリプション
☆記事の本文

この中で記事の本文は一度記事URLに入って取得する必要があります。
ということでレッツ・スクレイプ!

※JupyterNotebook上で実行しているので、その点ご注意下さい。

取ってきたデータフレームはこんな感じ。

▼JupyterNotebook
スクリーンショット 2018-08-19 17.47.56.png

単語分解・正規化

次に、LDAにかける準備として単語分解と正規化を行い、数字や大文字小文字を補正する。

出力してみると・・・うまく出来ています!

▼JupyterNotebook
スクリーンショット_2018-08-19_17_52_52.png

最後にcsvに保存しておきます。

今回はスクレイピングから単語分解・ちょっとした正規化補正をしました。

次は実際にLDAにかけてみます!

To be continue・・・

シェアする

  • このエントリーをはてなブックマークに追加

フォローする