分析コードをまとめていく.テキスト内の名詞と形容詞の比率編
前回に続いて,コードをまとめる.
今回はテキスト内の名詞と形容詞の比率にフォーカスをして分析をする.
import matplotlib.pyplot as plt
import nltk
def plot_noun_adj_ratio(text):
"""
テキスト内の名詞と形容詞の比率を円グラフでプロットする関数
"""
tokens = nltk.word_tokenize(text)
pos_tags = nltk.pos_tag(tokens)
noun_count = sum(1 for word, tag in pos_tags if tag.startswith('NN'))
adj_count = sum(1 for word, tag in pos_tags if tag.startswith('JJ'))
labels = ['Nouns', 'Adjectives']
sizes = [noun_count, adj_count]
colors = ['#ff9999','#66b3ff']
explode = (0.1, 0) # "explode" the 1st slice
plt.figure(figsize=(8, 8))
plt.pie(sizes, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%',
shadow=True, startangle=140)
plt.axis('equal')
plt.title('Noun vs Adjective Ratio')
plt.show()
# 名詞と形容詞の比率のプロット
plot_noun_adj_ratio(processed_text)