Janomeのサンプルプログラム
固定の文章を解析するサンプル

from janome.tokenizer import Tokenizer

s = """
多くの日本人は富士山が特に好きです。
近年は外国からの観光客も増え、毎年多くの人々が雄大で美しい富士山に登ります。
"""
t = Tokenizer()
tokens = t.tokenize(s)
# 基本形。tokenizeが返す値はジェネレーターであり、ループで出力できる
for e in tokens:
    print(e)

# 品詞とかはいいので単純に分割した文字だけをリストで得たい場合
# 分かち書きモードを使う
t = Tokenizer()
word_list = [w for w in t.tokenize(s, wakati=True)]
print(word_list)

# トークンの各要素を取得してみる
t = Tokenizer()
tokens = t.tokenize(s)
for e in tokens:
    surface = e.surface # 表層形
    base = e.base_form  # 基本形
    infl = e.infl_type  # 活用形
    pos = e.part_of_speech.split(",")  # 品詞
    reading = e.reading # 読み
    phonetic = e.phonetic # 発音 
    print("\t".join([surface, base, infl, pos[0], pos[1], pos[2], reading, phonetic]))

# 指定した品詞の語句だけを抽出する
t = Tokenizer()
tokens = [w for w in t.tokenize(s)
             if w.part_of_speech.split(",")[0] in ('名詞','動詞','副詞','形容詞')]
for e in tokens:
    print(e)

文章をファイルから読み込むサンプル

from janome.tokenizer import Tokenizer

f = open("./janome_input_sample_text.txt", encoding="utf-8")
s = f.read()
f.close()
# 文章が単語の途中で改行されている可能性がある場合は
# ここで改行を削除するなどの対応が必要
# s = s.replace("\n", "")
# s = s.replace("*", "")
# s = s.replace("-", "")
# 複数の文字を一括削除したい場合は正規表現を使う
import re
s = re.sub(r"[\n*-:.]", "", s)
t = Tokenizer()
tokens = t.tokenize(s)
for e in tokens:
    # 指定した品詞以外は読み飛ばす(記号、助詞など)
    if e.part_of_speech.split(",")[0] not in ('名詞','動詞','副詞','形容詞'):
        continue
    print(e)

Misc. Topics Top

(first uploaded 2024/02/28 last updated 2024/02/28, URANO398)