yasuokaの日記: roberta-base-japanese-aozora-ud-goeswithにおけるuniversal-dependenciesパイプラインの試作
10月15日の日記で公開したroberta-base-japanese-aozora-ud-goeswithに、universal-dependenciesパイプラインを追加してみた。最新版のtransformersとufal.chu_liu_edmondsとdeplacyをインストールしつつ、ちょっと使ってみよう。
$ pip3 install -U transformers ufal.chu_liu_edmonds deplacy --user
$ python3
>>> from transformers import pipeline
>>> nlp=pipeline("universal-dependencies","KoichiYasuoka/roberta-base-japanese-aozora-ud-goeswith",trust_remote_code=True)
>>> doc=nlp("しゃぶしゃぶを繁華街に食べに行く")
>>> import deplacy
>>> deplacy.render(doc,Japanese=True)
しゃぶ NOUN ═╗═╗<╗ obj(目的語)
しゃぶ X <╝ ║ ║ goeswith(泣き別れ)
を ADP <══╝ ║ case(格表示)
繁華 NOUN ═╗═╗ ║<══╗ obl(斜格補語)
街 X <╝ ║ ║ ║ goeswith(泣き別れ)
に ADP <══╝ ║ ║ case(格表示)
食べ VERB ═╗═══╝<╗ ║ advcl(連用修飾節)
に ADP <╝ ║ ║ case(格表示)
行く VERB ═══════╝═╝ root(親)
これだとgoeswith(泣き別れ)があって見にくいので、goeswithを解消してみよう。
>>> doc=nlp("しゃぶしゃぶを繁華街に食べに行く",aggregation_strategy="simple")
>>> deplacy.render(doc,Japanese=True)
しゃぶしゃぶ NOUN ═╗<╗ obj(目的語)
を ADP <╝ ║ case(格表示)
繁華街 NOUN ═╗ ║<══╗ obl(斜格補語)
に ADP <╝ ║ ║ case(格表示)
食べ VERB ═╗═╝<╗ ║ advcl(連用修飾節)
に ADP <╝ ║ ║ case(格表示)
行く VERB ═════╝═╝ root(親)
どうやらうまくいっているようだ。trust_remote_code=Trueが気持ち悪い読者は、プログラムを読んだ上で、使い方のコツをつかんでほしい。
roberta-base-japanese-aozora-ud-goeswithにおけるuniversal-dependenciesパイプラインの試作 More ログイン