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

yasuokaの日記: ku-nlp/deberta-v2-base-japaneseは「夜の底が[MASK]なった。」の[MASK]に何を埋めてくるのか

日記 by yasuoka

京都大学の黒橋・褚・村脇研究室からku-nlp/deberta-v2-base-japaneseがリリースされたので、早速、使ってみたのだが、Juman++がトークナイザに必要だった。Google Colaboratoryだと、こんな感じ。

!test -d jumanpp-2.0.0-rc3 || curl -L https://github.com/ku-nlp/jumanpp/releases/download/v2.0.0-rc3/jumanpp-2.0.0-rc3.tar.xz | tar xJf -
!test -x /usr/local/bin/jumanpp || ( mkdir jumanpp-2.0.0-rc3/build && cd jumanpp-2.0.0-rc3/build && cmake .. -DCMAKE_BUILD_TYPE=Release && make install )
!pip install transformers
import re,subprocess
from transformers import AutoTokenizer,AutoModelForMaskedLM,FillMaskPipeline
tkz=AutoTokenizer.from_pretrained("ku-nlp/deberta-v2-base-japanese")
mdl=AutoModelForMaskedLM.from_pretrained("ku-nlp/deberta-v2-base-japanese")
fmp=FillMaskPipeline(model=mdl,tokenizer=tkz)
pipeline=lambda text: fmp(re.sub(r"\[ *M *A *S *K *\]","[MASK]",subprocess.check_output(["jumanpp","--segment"],input=text,encoding="utf-8")))
print(pipeline("夜の底が[MASK]なった。"))

「夜の底が[MASK]なった。」の[MASK]を穴埋めさせてみたところ、私(安岡孝一)の手元では以下の結果になった。

[{'score': 0.29466670751571655, 'token': 4130, 'token_str': '深く', 'sequence': '夜 の 底 が 深く なった 。'}, {'score': 0.10997625440359116, 'token': 19502, 'token_str': '暗く', 'sequence': '夜 の 底 が 暗く なった 。'}, {'score': 0.10800454020500183, 'token': 17340, 'token_str': '熱く', 'sequence': '夜 の 底 が 熱く なった 。'}, {'score': 0.0713527500629425, 'token': 27473, 'token_str': '浅く', 'sequence': '夜 の 底 が 浅く なった 。'}, {'score': 0.06170497462153435, 'token': 27949, 'token_str': '冷たく', 'sequence': '夜 の 底 が 冷たく なった 。'}]

「深く」「暗く」「熱く」「浅く」「冷たく」となっており、さすがに「白く」は出ていないものの、かなりイイ線だと思う。Juman++のインストール無しに使えると、もう少し楽になるのだけど。

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

アレゲはアレゲを呼ぶ -- ある傍観者

読み込み中...