stanzaを使ってみる
Stanford大学が作成した言語処理用のライブラリでstanzaというものがあることを知った.
こんなものがあることは知らなかったので今回はそのstanzaでのトークン化を試してみたい.
コードは下記.
import stanza
# 初回実行時のみ、英語のモデルをダウンロード(必要に応じて他言語も指定可能)
stanza.download('en')
# パイプラインの初期化(英語用)
nlp = stanza.Pipeline('en')
# 処理するテキスト
text = "Stanford NLP is a great tool for natural language processing."
# テキストを解析
doc = nlp(text)
# 文単位で出力(token単位に分解も含む)
for i, sentence in enumerate(doc.sentences):
print(f"Sentence {i + 1}:")
for token in sentence.tokens:
print(f" Token: {token.text}")
Output例
Sentence 1:
Token: Stanford
Token: NLP
Token: is
Token: a
Token: great
Token: tool
Token: for
Token: natural
Token: language
Token: processing
Token: .