43号線を西へ東へ

フリーランスの備忘録、アウトプットの実験場

【テキストマイニング】Pythonで行う12月のブログ分析【その2】

このブログはプロモーションリンクを含むときがあります


自分のブログ記事をテキストマイニングで分析し、過去の興味やトピックを言葉の出現頻度から探ります。12月のブログ記事の総文字数約4万字を分析し、どのようなキーワードが頻出しているかを調査しました。

先日「叡智の三猿」ブログのスロトレ様が紹介されていた記事があまりにも興味深いものだったので、私もまねしてみました。テキストマイニングを用いたワードクラウドの作成です。スロトレ様のテキストデータは昨年1年分のブログ記事を読み込ませて作成されたとのこと。

紹介されているのワードクラウドは、ブログのテーマである「情報セキュリティー」が大きく表示されていますが、その下に「韓流ドラマ」があります。韓国ドラマには情報セキュリティを題材にされたものが多く、取り上げることがあったからとのことです。

私のブログではどんな結果が出るのでしょうか。ブログに打ち込んだ文章は、書きたいことについてそのときに頭に浮かんだ単語の組み合わせであり、複数回出てくる単語はその数だけ自分が興味持っていたのかということ。

まずは12月のブログ記事の本文を一つのファイルにまとめ、AIを活用したテキストマイニングでどのようなキーワードやトピックが浮かび上がるかを分析してみたいと考えています。

方法

前回、Pythonを用いて2023年12月に投稿したブログ31記事の本文をカウントしました。この際に1記事ごと別ファイルに本文を保存しています。今回は31日分31ファイルを1ファイルに結合して分析します。トータル約4万字になります。

フォルダ内のテキストを検索して1つのファイルに結合する

文字カウントに使用した本文のファイルを名前で検索して、一つのテキストファイルにまとめるコードを、ChatGPTに書いてもらいました。

自身の後学のために、使用したPythonの関数を記録しておきます。

検索する関数:glob

globPythonのライブラリで、特定のパターンに一致するファイル名のリストを取得するのに使用されます。主にワイルドカード*?など)を使って、ファイルやディレクトリの名前を検索します。これにより、特定の拡張子を持つファイルや特定の形式のファイル名を持つファイルを簡単に見つけることができます。

結合する関数:outfile.write

outfile.writeはPythonにおいてファイルにデータを書き込むための関数(メソッド)です。このメソッドは、ファイルオブジェクト(この例ではoutfile)に対して使用され、指定した文字列をファイルに書き込みます。

テキストファイルをアップロードする

出来上がったテキストファイル。12月1日の記事は大正区のめがね橋の話題でした

昨日の時点では4万字を超えていたのですが、その中には「はてなブログのグループのランキング参加中」の文字列も入っていました。それらの文字列を削除したら700字ほど減りました。

ワードクラウドのへの出力は、ここで作成したファイルを下記サイトにアップロードしました。

結果

2023年12月のブログ記事の本文をつなぎ合わせました。ファイルを下記のサイトにアップロードしてAIテキストマイニングを行いました。

AIテキストマイニング by ユーザーローカル

ちなみにテキストマイニングとは、テキストデータから有用な情報を抽出し、パターンや傾向を発見するためのデータ分析手法の一つです。テキストデータは、ウェブの記事、ソーシャルメディアの投稿、カスタマーコメント、レビューなど、さまざまな形式で存在します。テキストマイニングは、これらのテキストデータを自動的に処理し、テキスト内の単語、フレーズ、トピック、感情などを抽出・分析することができるとのことです。

その分析結果から、文章の重要語句は大きく表示させたのがワードクラウドです。

当ブログの12月のワードクラウドがこちらです。

ユーザーローカルAIテキストマイニングツールで調査 https://textmining.userlocal.jp/

一番目立つのが荒木村重の文字。安土桃山時代の一時、私の住む摂津国のお殿様だった人物です。そういえば、11月頃から荒木村重の本を読んだり、映画を見たりしていたのをブログ記事にしましたので、反映されていると言うことでしょう。

めがね橋の話題

大阪のめがね橋探訪:千本松大橋の歴史と景観 - 43号線を西へ東へ

大阪市大正区のめがね橋の話題でした。そういえば淀川の毛馬にもめがね橋がありました。写真は撮ってきたのでそのうち記事したいと思います。

荒木村重の話題

車移動中にAlexaでKindle本を楽しむ方法 - 43号線を西へ東へ

遠藤周作「反逆」を読んだ - 43号線を西へ東へ

「首」をはねる映画を見た - 43号線を西へ東へ

荒木村重の本、ここ3週間ほど読めていませんが、もう一冊読んでいます。

IPアドレスの話題

VPN接続時に必要なIPアドレスのチェック方法 - 43号線を西へ東へ

事務所のVPNにつなぐために、自動邸にIPアドレスを調べるiOSショートカットを作成した話しでした。次は、マクドナルドに着いたらWi-Fiに自動的に接続してしまうので、自動的にVPNに接続するショートカットを作りたいと思います。

バッチファイルの話題

タスクスケジューラー活用法。CoCo壱番屋の福袋発売日をリマインド - 43号線を西へ東へ

そういえばCoCo壱番屋の福袋は売り切れで買えませんでした。来年は頑張りたいと思います。

考察

ワードクラウドに真ん中に、でっかい文字がどーんと出てくるのかと思いきや、何がテーマなのかわからない文字列の羅列になっているというのが、印象でした。

テキストマイニングの結果を見ると、特に大きく表示されるキーワードはありませんでしたが、「めがね橋」、「荒木村重」、「IPアドレス」、「Obsidian」などが比較的大きな文字で表示されています。これはそれぞれのキーワードに対する私の関心の度合いを反映していると考えられます。

一つのテーマにこだわることなく、自分の雑多な興味が散らかった状態で羅列している感じがよくあらわれていると思います。一年まとめて傾向を見たり、毎月ごとに変化を見たりすると何かしらの変化がみれて面白いかもしれませんね。

まとめ

Pythonでテキスト処理を行い2023年12月のブログ記事を違った形で振り返ってみました。ブログのテキストデータは、管理画面から取得することもできそうです。時間のあるときにブログ立ち上げからのデータを吸い取って加工してみようと思います。

ChatGPTを上手に活用することで、テキスト加工のためのコード作成など、多様なテキスト関連作業が可能になります。課金している分、ChatGPTの機能を最大限に利用して、今年もブログ分析やコンテンツ作成に役立てていきたいと思います。

分析その1は下記のリンクからどうぞ。