BLOG

 

235日のセブIT留学  成長日記「形態素分析_童話_桃太郎」 ( 57/235 days )

03 9月 2018, Posted by keisuke in IT留学, Python

こんばんわ!Keisuekです!

 

今日は, 童話を形態素分析を行い頻出頻度の上位10個の名詞を表示する!

 

解析対象 童話 桃太郎

 

頻出頻度の予想

最も多いのは桃太郎?

 

以下コード

**************************

from janome.tokenizer import Tokenizer

from janome.analyzer import Analyzer

from janome.tokenfilter import *

import collections as coll

 

if __name__ == ‘__main__’:

 

noun = []

verb = []

token_filters = [POSKeepFilter(‘名詞’), TokenCountFilter()]

a_noun = Analyzer(token_filters=token_filters)

token_filters_v = [POSKeepFilter(‘動詞’), TokenCountFilter()]

a_v = Analyzer(token_filters=token_filters_v)

f = open(‘momotarou.txt’)

line = f.readline()

while line:

#print(line)

for k0, v0 in a_noun.analyze(line):

noun.append(k0)

for k1,v1 in a_v.analyze(line):

verb.append(k1)

line = f.readline()

f.close

 

noun_collections = coll.Counter(noun)

noun_list = noun_collections.most_common()

verb_collections = coll.Counter(verb)

verb_list = verb_collections.most_common()

print(“桃太郎 名詞 出現頻度”,’\n’)

print(“名詞”,’\n’)

for i in range(10):

print(noun_list[i][0],” : “,noun_list[i][1])

print(‘\n’)

 

print(“桃太郎 動詞 出現頻度”,’\n’)

print(“動詞”,’\n’)

for s in range(10):

print(verb_list[s][0],” : “,verb_list[s][1])

print(‘\n’)

**************************

実行結果

桃太郎 名詞 出現頻度

名詞

桃太郎  :  11

おばあさん  :  9

鬼  :  8

鬼ヶ島  :  7

おじいさん  :  6

団子  :  5

イヌ  :  5

桃  :  4

退治  :  4

さん  :  4

 

桃太郎 動詞 出現頻度

動詞

行く  :  6

し  :  5

せ  :  3

出会い  :  3

付け  :  3

下さい  :  3

い  :  2

き  :  2

なり  :  2

住ん  :  1

 

[今日の達成]

・名詞頻出頻度上位10位を表示した!

・動詞頻出頻度上位10位を表示した!

 

[今日の未消化]

・物語の盛り上がりを検出する

 

Post a comment