stanzaを使ってみる 7
以前の投稿でstanzaを使ってみたことをまとめた.
今回はその続きで日本語のLemmatizationをstanzaで行ってみたい.
コードは下記.
import stanza
# モデルのダウンロード(初回のみ)
stanza.download('ja')
# 日本語NLPパイプラインの初期化
nlp = stanza.Pipeline(lang='ja')
# 日本語テキスト
text = """
彼は朝早く起きて、静かな音楽を聞きながらコーヒーを淹れた。
その後、本を数冊読み終えたあと、公園まで散歩に出かけた。
途中で昔の友人と偶然出会い、懐かしい話に花を咲かせた。
夕方にはスーパーに立ち寄って、夕食の材料を買って帰った。
"""
# テキスト解析
doc = nlp(text)
# 結果の出力(原形と品詞)
for sentence in doc.sentences:
print("-- 文 --")
for word in sentence.words:
print(f"{word.text} → 原形: {word.lemma} / 品詞: {word.upos}")
— 文 —
彼 → 原形: 彼 / 品詞: PRON
は → 原形: は / 品詞: ADP
朝 → 原形: 朝 / 品詞: ADV
早く → 原形: 早い / 品詞: ADJ
起き → 原形: 起きる / 品詞: VERB
て → 原形: て / 品詞: SCONJ
、 → 原形: 、 / 品詞: PUNCT
静か → 原形: 静か / 品詞: ADJ
な → 原形: だ / 品詞: AUX
音楽 → 原形: 音楽 / 品詞: NOUN
を → 原形: を / 品詞: ADP
聞き → 原形: 聞く / 品詞: VERB
ながら → 原形: ながら / 品詞: SCONJ
コーヒー → 原形: コーヒー / 品詞: NOUN
を → 原形: を / 品詞: ADP
淹れ → 原形: 切る / 品詞: VERB
た → 原形: た / 品詞: AUX
。 → 原形: 。 / 品詞: PUNCT
…
て → 原形: て / 品詞: SCONJ
帰っ → 原形: 返る / 品詞: VERB
た → 原形: た / 品詞: AUX
。 → 原形: 。 / 品詞: PUNCT