パスワードを忘れた? アカウント作成
15228284 journal
人工知能

yasuokaの日記: 東北大学bert-large-japaneseによる「石炭をば早や積み果てつ」の係り受け解析

日記 by yasuoka

東北大学からbert-large-japaneseがリリースされたので、SuPar-UniDicの係り受け解析モジュールに組み込んでみた。これに合わせて、「共通テスト2021『国語』問題文Universal Dependencies」のベンチマーク結果も更新したのだが、第2問(近代文)の結果が、イマイチふるわない。BERTのlargeモデルのはずなのに、どういうことだろうと思って、とりあえず青空文庫BERTと比較してみることにした。まずはインストール。

$ pip3 install -U suparunidic --user
$ pip3 install fugashi unidic-lite ipadic sentencepiece --user

使いもしないipadicを、なぜtransformersが要求するのか謎なのだが、まあ、入れておいた方がいいようだ。インストールがうまくいったら、近代文語UniDicとbert-large-japaneseを使って、「石炭をば早や積み果てつ」を係り受け解析してみよう。

$ python3
>>> import suparunidic
>>> nlp=suparunidic.load(UniDic="kindai",BERT="bert-large-japanese")
>>> doc=nlp("石炭をば早や積み果てつ")
>>> print(suparunidic.to_conllu(doc))
# text = 石炭をば早や積み果てつ
1    石炭    石炭    NOUN    名詞-普通名詞-一般    _    6    nsubj    _    SpaceAfter=No|Translit=セキタン
2    をば    をば    ADP    助詞-格助詞    _    1    case    _    SpaceAfter=No|Translit=ヲバ
3    早や    早    ADV    副詞    _    6    advmod    _    SpaceAfter=No|Translit=ハヤ
4    積み    積む    VERB    動詞-一般    _    6    advcl    _    SpaceAfter=No|Translit=ツミ
5    果て    果てる    VERB    動詞-非自立可能    _    4    mark    _    SpaceAfter=No|Translit=ハテ
6    つ    つ    AUX    助動詞    _    0    root    _    SpaceAfter=No|Translit=ツ

>>> import deplacy
>>> deplacy.render(doc,Japanese=True)
石炭 NOUN ═╗<════╗ nsubj(主語)
をば ADP  <╝     ║ case(格表示)
早や ADV  <════╗ ║ advmod(連用修飾語)
積み VERB ═╗<╗ ║ ║ advcl(連用修飾節)
果て VERB <╝ ║ ║ ║ mark(標識)
つ   AUX  ═══╝═╝═╝ ROOT(親)

「積み果てつ」のところの係り受けが、明らかにおかしい。続けて、青空文庫BERTによる係り受け解析と比較してみよう。

>>> nlp=suparunidic.load(UniDic="kindai",BERT="bert-japanese-aozora6m3m-unidic32k-2m")
>>> doc=nlp("石炭をば早や積み果てつ")
>>> print(suparunidic.to_conllu(doc))
# text = 石炭をば早や積み果てつ
1    石炭    石炭    NOUN    名詞-普通名詞-一般    _    4    obj    _    SpaceAfter=No|Translit=セキタン
2    をば    をば    ADP    助詞-格助詞    _    1    case    _    SpaceAfter=No|Translit=ヲバ
3    早や    早    ADV    副詞    _    4    advmod    _    SpaceAfter=No|Translit=ハヤ
4    積み    積む    VERB    動詞-一般    _    0    root    _    SpaceAfter=No|Translit=ツミ
5    果て    果てる    AUX    動詞-非自立可能    _    4    aux    _    SpaceAfter=No|Translit=ハテ
6    つ    つ    AUX    助動詞    _    4    aux    _    SpaceAfter=No|Translit=ツ

>>> deplacy.render(doc,Japanese=True)
石炭 NOUN ═╗<════╗ obj(目的語)
をば ADP  <╝     ║ case(格表示)
早や ADV  <════╗ ║ advmod(連用修飾語)
積み VERB ═╗═╗═╝═╝ ROOT(親)
果て AUX  <╝ ║     aux(動詞補助成分)
つ   AUX  <══╝     aux(動詞補助成分)

青空文庫BERTの方は、完璧な解析結果だ。これらの結果を、私(安岡孝一)なりに解釈すると、近代文語UniDicと青空文庫BERTは「つ」の助動詞用例を知っているが、bert-large-japaneseは「つ」を助動詞だと思ってない。もちろんvocab.txtに「つ」は含まれており、元ネタの日本語Wikipediaにも「持ちつ持たれつ」など用例があるはずだが、これらの「つ」をbert-large-japaneseは助動詞だと認識できていない、ということだろう。ただ、これらの「つ」が助動詞かどうかは、そもそも議論があるらしいし、まあ、難しい話なのかしら。

この議論は、yasuoka (21275)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

※ただしPHPを除く -- あるAdmin

読み込み中...