GiNZA(6) - 文節分割

文節分割は、文章を文節ごとに分解する処理です。

文節分割

日本語は、文節で分割した方が解析しやすくなることがよくあります。

文節分割を行うソースコードは以下のようになります。

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
import spacy
import ginza
nlp = spacy.load('ja_ginza')
doc = nlp('新橋でランチをご一緒しましょう。次の火曜日はどうですか。')

# 文節分割
for sent in doc.sents:
for span in ginza.bunsetu_spans(sent):
print(span)

実行結果は以下の通りです。

[実行結果]

1
2
3
4
5
6
新橋で
ランチを
ご一緒しましょう。
次の
火曜日は
どうですか。

文節で分解することができました。


またspanをforでループすることにより、文節を分割したトークンを取得することができます。

[Google Colaboratory]

1
2
3
4
5
6
7
8
9
10
import spacy
import ginza
nlp = spacy.load('ja_ginza')
doc = nlp('新橋でランチをご一緒しましょう。次の火曜日はどうですか。')

# 文節分割+トークン化
for sent in doc.sents:
for span in ginza.bunsetu_spans(sent):
for token in span:
print(token)

実行結果は以下の通りです。

[実行結果]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
新橋

ランチ


一緒

ましょう



火曜日

どう
です


次回は、係り受け解析を行います。