このサイトはアドセンスやアフィリエイト広告を利用しています

python

【解決】JanomeでLenでエラーがでる いちばんやさしいPython機械学習の教本 TypeError: object of type 'generator' has no len()

いちばんやさしいPython機械学習の教本の日本語形態素解析で
TypeError: object of type 'generator' has no len()
となってしまい、リストでデータが取得できないばあいの解決方法です

Janomeのバージョンが新しくなってエラーが出るため

テキストではjanomeのバージョンが3ですが、最新版の4以降では仕様が変わっています。

そのため、教本の下のコードだとエラーがでます

from janome.tokenizer import Tokenizer
t = Tokenizer()
text = '東京都でおいしいビールを飲もう。'
tokens = t.tokenize(text)
len(tokens)

最新版のJanomeのばあい tokensをリストに変形して上げる必要があります

from janome.tokenizer import Tokenizer
t = Tokenizer()
text = '東京都でおいしいビールを飲もう。'
tokens = t.tokenize(text)
list_tokens = list(tokens)
len(list_tokens)

これで解決

-python
-