yasuokaの日記: Transformers 4.22.0とdeberta-base-japanese-aozora-ud-headによる国語研長単位係り受け解析
Transformers 4.22.0のリリースで、QuestionAnsweringPipelineにalign_to_words=Falseがサポートされた。これにより、6月15日の日記で示した手法が、もっと楽に動かせる。最新のTransformersをインストールしつつ、deberta-base-japanese-aozora-ud-headで係り受け解析を試してみよう。
$ pip3 install -U transformers --user
$ python3
>>> from transformers import pipeline
>>> head=pipeline(task="question-answering",model="KoichiYasuoka/deberta-base-japanese-aozora-ud-head",align_to_words=False)
>>> print(head("世界中","世界中が刮目している"))
{'score': 0.9999983310699463, 'start': 4, 'end': 7, 'answer': '刮目し'}
>>> print(head("が","世界中が刮目している"))
{'score': 0.9999953508377075, 'start': 0, 'end': 3, 'answer': '世界中'}
>>> print(head("刮目し","世界中が刮目している"))
{'score': 0.9998645782470703, 'start': 4, 'end': 7, 'answer': '刮目し'}
>>> print(head("ている","世界中が刮目している"))
{'score': 0.9999996423721313, 'start': 4, 'end': 7, 'answer': '刮目し'}
どうやらちゃんと動いているようだ。一方、Transformers 4.22.0ではhf_bucket_urlが無くなってしまったので、翌6月16日の日記の手法は使えなくなった。hf_bucket_urlをcached_fileに置き換えれば大丈夫そうなので、deberta-base-japanese-aozora-ud-headに示した使用例を、よく読んでおいてほしい。
Transformers 4.22.0とdeberta-base-japanese-aozora-ud-headによる国語研長単位係り受け解析 More ログイン