GiNZA(2) - 形態素解析(トークン化)

形態素解析

形態素解析とは、文章を形態素と呼ばれる言葉の最小単位に分割し形態素品詞見出し語を判定する処理です。

具体的には次のような処理に分けることができます。

  • トークン化
    文章を言葉の最小単位に分割する処理
  • 品詞タグ付け
    トークンの品詞を判別する処理
  • レンマ化
    トークンを辞書の見出し語に変換する処理

トークンの分割単位

GiNZAではトークン化の処理を行う場合、3種類の分割単位に切り替えて利用することができます。

分割単位を指定するためにはset_split_mode()を使います。


まずは分割単位Aでトークン化を行います。

[Google Colaboratory]

1
2
3
4
5
6
7
8
import spacy
import ginza
nlp = spacy.load('ja_ginza')
ginza.set_split_mode(nlp, 'A') # 分割単位A
doc = nlp('あの女性は国家公務員です')

for token in doc:
print(token)

[実行結果]

1
2
3
4
5
6
7
あの
女性

国家
公務

です

次に分割単位Bでトークン化を行います。

[Google Colaboratory]

1
2
3
4
5
6
7
8
import spacy
import ginza
nlp = spacy.load('ja_ginza')
ginza.set_split_mode(nlp, 'B') # 分割単位B
doc = nlp('あの女性は国家公務員です')

for token in doc:
print(token)

[実行結果]

1
2
3
4
5
6
あの
女性

国家
公務員
です

最後にに分割単位Cでトークン化を行います。

[Google Colaboratory]

1
2
3
4
5
6
7
8
import spacy
import ginza
nlp = spacy.load('ja_ginza')
ginza.set_split_mode(nlp, 'C') # 分割単位C
doc = nlp('あの女性は国家公務員です')

for token in doc:
print(token)

[実行結果]

1
2
3
4
5
あの
女性

国家公務員
です

分割単位によって「国家公務員」という単語の分け方が異なっていることが分かります。

  • 分割単位A
    国家/公務/員
  • 分割単位B
    国家/公務員
  • 分割単位C
    国家公務員

次回は、品詞のタグ付けを行います。