分析コードをまとめていく.品詞の比率編


前回に続いて,コードをまとめる.

今回はテキスト内の品詞の比率にフォーカスをして分析をする.

import nltk
import matplotlib.pyplot as plt
from collections import Counter

# 必要なnltkデータのダウンロード(初回実行時のみ)
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')

def plot_pos_ratios(text):
    """
    テキスト内の品詞の比率を円グラフでプロットする関数
    """
    # テキストのトークン化
    tokens = nltk.word_tokenize(text)

    # 品詞タグ付け
    pos_tags = nltk.pos_tag(tokens)

    # 品詞のカウント
    pos_counts = Counter(tag for word, tag in pos_tags)

    # 品詞の比率を計算
    total_count = sum(pos_counts.values())
    pos_ratios = {tag: count / total_count for tag, count in pos_counts.items()}

    # 円グラフのプロット
    labels = pos_ratios.keys()
    sizes = pos_ratios.values()
    colors = plt.cm.Paired(range(len(labels)))

    plt.figure(figsize=(12, 8))
    plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
    plt.axis('equal')
    plt.title('POS Tag Ratios')
    plt.show()

# 品詞の比率をプロット
plot_pos_ratios(processed_text)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です