2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonAdvent Calendar 2024

Day 10

[Python]勝利した男のテキストマイニング

Last updated at Posted at 2024-12-09

はじめに

Advent Calendar 2024 10日目だってさ。
もはやブログみたいなテンションになってきてしまいました。
アウトプットするたびに、知らないことが増えていくのが怖い。
知らないことを知るたびに知らないことが増えるってこれ無限ですよね。
まあ、そんなことは置いておいて、テキストマイニングしたいです。

テキストマイニング

テキストを抜き取ってくれるらしい。

コード

インプットファイルは、折角なので、Qiitaの規約のページからとってくることにします。
これが規約違反かは読んでない。(すまん。
image.png

これをインプットファイルに格納して、以下ファイルを実行すると、

path="~/input.txt"
file="~/output.txt"
 
# ファイルを読み込む
with open(path, encoding='utf-8') as f:
    text = f.read()
 
import MeCab
from collections import defaultdict
 
# MeCabのTaggerを初期化
m = MeCab.Tagger()
node = m.parseToNode(text)
noun_counts = defaultdict(int)
 
# 名詞の出現回数をカウント
while node:
    if node.feature.startswith("名詞"):
        noun_counts[node.surface] += 1
    node = node.next
 
# 結果をファイルに書き込む
with open(file, 'w', encoding='utf-8') as f:
    for noun, count in noun_counts.items():
        f.write(f"{noun} {count}\n")
 
print(f"The noun counts have been written to {file}.")

アウトプットファイルの一部を紹介

Qiita 25
Advent 2
Calendar 2
2024 5
トップ 1
ページ 2
search 1
記事 19
質問 2
検索 2
notifications 1
ユーザー 122
以下略

これを可視化するととても面白いと思う。

感想

Pythonの環境構築に2時間くらい、コードは調べながら、1時間くらいで書くことができた。
Pythonの良いところは、LLMや機械学習、データエンジニアリングができるところ見たい。
データサイエンティストを目指す自分にとっては、かなり良いと思った。
もう少し複雑なこともしてみたい。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?