日本語係り受け解析モジュールSuPar-UniDicは、単語間係り受けと二文節間係り受けの両方をサポートしている。Google Colaboratoryで動かしてみよう。
!pip install suparunidic
import suparunidic
nlp=suparunidic.load()
doc=nlp("吾輩はここで始めて人間というものを見た")
import deplacy
deplacy.serve(doc,port=None)
from suparunidic 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 代名詞 _ 12 nsubj _ SpaceAfter=No|Translit=ワガハイ
2 は は ADP 助詞-係助詞 _ 1 case _ SpaceAfter=No|Translit=ワ
3 ここ 此処 PRON 代名詞 _ 5 obl _ SpaceAfter=No|Translit=ココ
4 で で ADP 助詞-格助詞 _ 3 case _ SpaceAfter=No|Translit=デ
5 始め 始める VERB 動詞-非自立可能 _ 12 advcl _ SpaceAfter=No|Translit=ハジメ
6 て て SCONJ 助詞-接続助詞 _ 5 mark _ SpaceAfter=No|Translit=テ
7 人間 人間 NOUN 名詞-普通名詞-一般 _ 9 obl _ SpaceAfter=No|Translit=ニンゲン
8 と と ADP 助詞-格助詞 _ 7 case _ SpaceAfter=No|Translit=ト
9 いう 言う VERB 動詞-一般 _ 10 acl _ SpaceAfter=No|Translit=ユー
10 もの 物 NOUN 名詞-普通名詞-サ変可能 _ 12 obj _ SpaceAfter=No|Translit=モノ
11 を を ADP 助詞-格助詞 _ 10 case _ SpaceAfter=No|Translit=オ
12 見 見る VERB 動詞-非自立可能 _ 0 ROOT _ SpaceAfter=No|Translit=ミ
13 た た AUX 助動詞 _ 12 aux _ SpaceAfter=No|Translit=タ
ja-ginza-bert-largeと較べた場合、「人間という」の部分の解析結果が異なっており、二文節間係り受けについてはjdepp-pythonの解析結果に近い。このあたりを、ぜひ色々な文で較べてみてほしい。