Janome | python3Xのブログ

python3Xのブログ

ここでは40代、50代の方が日々の生活で役に立つ情報や私の趣味であるプログラム、Excelや科学に関する内容で投稿する予定です。

書籍ではJanomeの形態素解析はリストになっている

というように書いてありましたが

そのまま実行すると

'generator' object is not subscriptable----

 

のエラーが出てしまってました

仕様の違いか?

 

なので

これをリスト化することにしました

 

import janome.tokenizer
t = janome.tokenizer.Tokenizer()
tokens = t.tokenize('あたしはPythonのプログラムです')
words = list(tokens)

words

[<janome.tokenizer.Token at 0x1701360ecc8>,
 <janome.tokenizer.Token at 0x1701360ed48>,
 <janome.tokenizer.Token at 0x1701360ed88>,
 <janome.tokenizer.Token at 0x1701360ee08>,
 <janome.tokenizer.Token at 0x1701360ee88>,
 <janome.tokenizer.Token at 0x1701360ef48>]

words[0].surface

'あたし'

※書籍の通りリスト化せずtokens[0]でやるとのエラーになりました

 

[word.surface for word in words]

['あたし', 'は', 'Python', 'の', 'プログラム', 'です']

words[0].part_of_speech

'名詞,代名詞,一般,*'
words[0].infl_type
'*'
words[0].base_form
'あたし'
words[0].reading
'アタシ'
words[0].phonetic
'アタシ'