ESULOG

30代会社員による雑記兼アウトプット修行

Python勉強宣言

ちょっとやりたいことができたのでブログを書いて逃げ場をなくしてみようと思う。
最初に言っておくと、こんなタイトルだけど別に技術者向けの記事ではない。

Pythonの気軽さを気に入った

最近仕事でPythonというプログラミング言語を触る機会が増えた。
やっぱりスクリプト言語は「とりあえず書いてみる→とりあえず動かしてみる」が気軽に試せることがいい。
文法面でもNode.jsとかに比べて個人的にはとっつきやすく、結構気に入った。

組み込み系ならCやJavaだろうしフロントエンドはJavaScriptだろうといった具合に、プログラミング言語にはそれぞれ得意なものがある。
Pythonって何が得意なんだろうと調べてみると、「解析系のライブラリが豊富」という情報が出てきた。

テキストマイニング、できるんじゃない?

解析と聞いて思いついてしまった。ちょっと興味を持ってしまった。
というのも、ちょっと前にQuizKnockの動画で出てきたキーワードだったから。私のインプット、QKばっかだな。もっと間口を広げよう。

www.youtube.com

こちらの動画で伊沢くんがChat GPT4を使って実践していたのがテキストマイニング
生成系AIの活用方法としてなるほどな~と感心して印象に残っていた。
そんな背景もあり、「伊沢くんがGPTでやってたアレ、Pythonでできるんじゃない?」と思いついてしまった。
ググってみると案の定、ネットの海にはテキストマイニングに関するQiitaがたくさん転がっていた。

重い腰をあげる

参考資料は充分。興味好奇心も充分。あとは実際に手を動かすだけなわけだが、そこには致命的な問題があった。
私、プログラミング好きじゃないんだよな。
仕事でもあんまりやりたくないのに、プライベートでコードとにらめっこするとかやりたくない。
余暇に好きじゃないことをするのって精神衛生的にどうかな~とちょっと悩んだのだけれど、そんなことでせっかくの好奇心をつぶすのはもったいない。
最近熱心に新しく勉強していることもないし、ちょっと頑張ってみようと思う。
決意表明をすることで逃げ場をなくすためにも、ここで改めて「Pythonテキストマイニングやってみる!」を宣言する。

現状

一旦現状整理。

  • Python環境構築済み。Python3.13がなんかうまく動かなかったので、3.12を採用。
  • 開発環境はVSCodeを採用。PyCharmの方が楽だろうけどプライベートPCにガチガチ実装環境入れるの嫌で、悪あがき。
  • 解析ライブラリはja-ginzaをインストールしてみた。
  • 伊沢くんが動画で使用していた(であろう)Web記事はごそっとスクレイピングしてきた。
    • スクレイピングはもちろんBeautiful Soup。手軽ですき
    • でもコード覗いたら記事部分だけを抜粋するのがちょっと手間そうだったので本文以外の箇所を除外するところは手動(…)
    • うまい仕組みを考えるより手を動かしてしまった方が早い場合もある

目標

  • 2024年内に伊沢くんが動画でやっていた頻出単語の解析をしてみる。
  • 追々、自分のブログの文章の解析をしてみる。

よーし、がんばるぞ~。

余談1:生成系AI

Chat GPTとCopilotが二大巨頭だと思うけれど、それぞれ得意ジャンルが違うのもまた面白いよね。
情報収集を目的とすることが多いので検索力に長けているCopilotを使うことの方がやっぱり多い。
Chat GPTは英語学習なんかで付き合ってもらうことがある。英文添削してもらったり、英語でチャットしてもらったり。
生成系AIの活用方法ももっと知りたいね。API利用とかすればもちろん広がるんだろうけど。

余談2:Webスクレイピング

業務で使うのにJavaでWebスクレイピングの仕組みを作っていたことがあるのだけれど、Pythonを触るようになりbs4で書き変えたら驚くほどコード量が減って驚いた。
性能比較とかしていないけど、そもそもそこまで重い処理じゃないのでPythonの速度で充分。
適材適所な言語選択をしたいですね~。

余談3:一時間自由研究

QuizKnock夏の風物詩:一時間自由研究。今年は見事に国語・数学・物理と分野が分かれました。
紹介した動画の最後の方でも言及されていますが自由研究ってあくまで「自由」。
どんな題材でも「ちょっと気になる」に値するものになるんだな~。