stanzaを使ってみる 5


以前の投稿でstanzaを使ってみたことをまとめた.

今回はその続きで日本語の形態素解析をstanzaで行ってみたい.

コードは下記.

import stanza

# 日本語モデルをダウンロード(初回のみ)
stanza.download('ja')

# 日本語のNLPパイプラインを構築
nlp = stanza.Pipeline('ja')

# 日本語テキスト
text = """
言語処理は人工知能の重要な応用分野の一つです。
特に自然言語処理の分野では、文章の意味を正確に理解し、
適切に応答するシステムの開発が進められています。
近年では、深層学習を用いたモデルが高い精度を示しており、
多くの企業や研究機関で活用が進んでいます。
例えば、音声認識、機械翻訳、要約生成などのタスクにおいて、
人間と同等、あるいはそれ以上の性能を達成するケースも報告されています。
"""

# 解析の実行
doc = nlp(text)

# 出力
for sentence in doc.sentences:
    print("日本語の形態素解析:")
    for word in sentence.words:
        print(f"表層形: {word.text}, 品詞: {word.upos}, 原形: {word.lemma}")

Output例

日本語の形態素解析:

表層形: 言語, 品詞: NOUN, 原形: 言語

表層形: 処理, 品詞: NOUN, 原形: 処理

表層形: は, 品詞: ADP, 原形: は

表層形: 人工, 品詞: NOUN, 原形: 人工

表層形: 知能, 品詞: NOUN, 原形: 知能

表層形: の, 品詞: ADP, 原形: の

表層形: 重要, 品詞: ADJ, 原形: 重要

表層形: な, 品詞: AUX, 原形: だ

表層形: 応用, 品詞: NOUN, 原形: 応用

表層形: 分野, 品詞: NOUN, 原形: 分野

表層形: の, 品詞: ADP, 原形: の

表層形: 一, 品詞: NUM, 原形: 一

表層形: つ, 品詞: NOUN, 原形: つ

表層形: です, 品詞: AUX, 原形: です

表層形: 。, 品詞: PUNCT, 原形: 。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です