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

yasuokaの日記: jstroberta-base-manbyo-wordpieceは「夜の底が[MASK]なった。」の[MASK]に何を埋めてくるのか 3

日記 by yasuoka

NIIの相澤研究室から日本語BERTモデルが4つ発表されたので、まずはjstroberta-base-manbyo-wordpieceを試してみた。ただ、このモデルは/usr/local/lib/mecab/dic/userdicにユーザ辞書を入れなければならないので、手元のマシンだとちょっとツライ。とりあえずGoogle Colaboratoryで動かしてみよう。

!pip install transformers fugashi ipadic
f="/usr/local/lib/mecab/dic/userdic/MANBYO_201907_Dic-utf8.dic"
!mkdir -p /usr/local/lib/mecab/dic/userdic
!test -f {f} || curl -L https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic -o {f}
from transformers import pipeline
fmp=pipeline("fill-mask","alabnii/jstroberta-base-manbyo-wordpiece")
print(fmp("夜の底が[MASK]なった。"))

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

[{'score': 0.24596861004829407, 'token': 11944, 'token_str': '深く', 'sequence': '夜 の 底 が 深く なっ た 。'}, {'score': 0.13985803723335266, 'token': 13401, 'token_str': '悪く', 'sequence': '夜 の 底 が 悪く なっ た 。'}, {'score': 0.08497772365808487, 'token': 27479, 'token_str': '重く', 'sequence': '夜 の 底 が 重く なっ た 。'}, {'score': 0.07890825718641281, 'token': 9078, 'token_str': '強く', 'sequence': '夜 の 底 が 強く なっ た 。'}, {'score': 0.06926961243152618, 'token': 26947, 'token_str': '痛く', 'sequence': '夜 の 底 が 痛く なっ た 。'}]

「深く」「悪く」「重く」「強く」「痛く」と並ぶあたり、さすがmanbyoモデルだけのことはある。ただ、この日本語BERTモデルのjstrobertaって、さて、JSTのRoBERTaなのかしら。

この議論は、yasuoka (21275)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
  • by hellorusk (50104) on 2023年01月11日 10時09分 (#4392175)
    こんにちは。モデル作成に携わっていた者です。 jstroberta-base-manbyo-wordpiece という名前は医療ドメインであることがわかりにくいので、jmedroberta-base-manbyo-wordpiece に変更しました(もしかしたら古い名前のままでも動くかもしれませんが...) また、/usr/local/lib/mecab/dic/userdic 以外にユーザ辞書を入れても動かせるかと思います。この点は説明不足で不親切だったのでモデルの README にも追記しました。 ``` !wget https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic [sociocom.jp] !mv MANBYO_201907_Dic-utf8.dic /anywhere/you/like ``` ``` from transformers import pipeline fmp=pipeline("fill-mask", model=model, tokenizer=tokenizer) print(fmp("夜の底が[MASK]なった。")) ```
    • by hellorusk (50104) on 2023年01月11日 10時14分 (#4392177)
      すみません、スラドでのコードブロックの書き方がよくわからなかったので、こちらに書きました https://gist.github.com/kaisugi/e125957e0aa6bd17f4da31d3f2ea237b [github.com]
      親コメント
      • by yasuoka (21275) on 2023年01月11日 19時29分 (#4392620) 日記

        !pip install transformers fugashi ipadic
        import os
        url="https://sociocom.jp/~data/2018-manbyo/data/MANBYO_201907_Dic-utf8.dic"
        f=os.path.basename(url)
        !test -f {f} || curl -LO {url}
        from transformers import AutoTokenizer,pipeline
        fmp=pipeline(task="fill-mask",model="alabnii/jmedroberta-base-manbyo-wordpiece",tokenizer=AutoTokenizer.from_pretrained("alabnii/jmedroberta-base-manbyo-wordpiece",mecab_kwargs={"mecab_option":"-u "+f}))
        print(fmp("夜の底が[MASK]なった。"))

        で、カレントディレクトリにも置けることを確認しました。どうもありがとうございます。

        親コメント
typodupeerror

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

読み込み中...