LoginSignup
0
1

ja-ginza-bert-large (β版)で日本語係り受け解析

Posted at

日本語係り受け解析モジュールGiNZA 5.1.3には、ja-ginza-bert-largeのβ版が付いてきている。β版とはいえ、かなりの解析精度らしいので、Google Colaboratoryで動かしてみることにした。

!pip install deplacy https://github.com/megagonlabs/ginza/releases/download/v5.1.3/ja_ginza_bert_large-5.1.3b1-py3-none-any.whl
import spacy
nlp=spacy.load("ja_ginza_bert_large")
doc=nlp("吾輩はここで始めて人間というものを見た")
import deplacy
deplacy.serve(doc,port=None)
from ginza import bunsetu_span,bunsetu_spans
from deplacy.deprelja import deprelja
d=bunsetu_spans(doc)
g="digraph{"+";".join([f'x{b.start}[label="{b.text}"]' for b in d]+[f'x{bunsetu_span(t).start}->x{b.start}[label="{deprelja[t.dep_]}",fontsize=9]' for b in d for t in b.lefts])+"}"
import graphviz
graphviz.Source(g)

「吾輩はここで始めて人間というものを見た」を係り受け解析してみたところ、私(安岡孝一)の手元では以下の結果が得られた。

1	吾輩	吾輩	PRON	代名詞	Reading=ワガハイ	12	nsubj	_	SpaceAfter=No|Translit=我が輩
2	は	は	ADP	助詞-係助詞	Reading=ハ	1	case	_	SpaceAfter=No
3	ここ	ここ	PRON	代名詞	Reading=ココ	5	obl	_	SpaceAfter=No|Translit=此処
4	で	で	ADP	助詞-格助詞	Reading=デ	3	case	_	SpaceAfter=No
5	始め	始める	VERB	動詞-非自立可能	Inflection=下一段-マ行;連用形-一般|Reading=ハジメ	12	advcl	_	SpaceAfter=No|Translit=始める
6	て	て	SCONJ	助詞-接続助詞	Reading=テ	5	mark	_	SpaceAfter=No
7	人間	人間	NOUN	名詞-普通名詞-一般	Reading=ニンゲン	10	nmod	_	NE=B-Mammal|SpaceAfter=No
8	と	と	ADP	助詞-格助詞	Reading=ト	7	case	_	SpaceAfter=No
9	いう	いう	VERB	動詞-一般	Inflection=五段-ワア行;連体形-一般|Reading=イウ	8	fixed	_	SpaceAfter=No|Translit=言う
10	もの	もの	NOUN	名詞-普通名詞-サ変可能	Reading=モノ	12	obj	_	SpaceAfter=No|Translit=物
11	を	を	ADP	助詞-格助詞	Reading=ヲ	10	case	_	SpaceAfter=No
12	見	見る	VERB	動詞-非自立可能	Inflection=上一段-マ行;連用形-一般|Reading=ミ	0	ROOT	_	SpaceAfter=No|Translit=見る
13	た	た	AUX	助動詞	Inflection=助動詞-タ;終止形-一般|Reading=タ	12	aux	_	SpaceAfter=No

単語間係り受け.png

二文節間係り受け.png

単語間係り受け二文節間係り受けも、ちゃんと解析できている。この文は、CaboChaが解析できないタイプの文なので、素直にうれしい。ja-ginza-bert-largeが、早く正式リリースされるといいな。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1