アカウント名:
パスワード:
!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 sentencepieceimport subprocessfrom transformers import AutoTokenizer,AutoModelForMaskedLM,FillMaskPipelinetkz=AutoTokenizer.from_pretrained("nlp-waseda/roberta-base-japanese")mdl=AutoModelForMaskedLM.from_pretrained("nlp-waseda/roberta-base-japanese")fmp=FillMaskPipeline(model=mdl,tokenizer=tkz)pipeline=lambda text: fmp(subprocess.check_output(["jumanpp","--segment"],input=text,encoding="utf-8").replace("[MASK ]","[MASK]").rstrip())print(pipeline("国境の[MASK]トンネルを抜けると雪国であった。"))
のようにすべきだ、との御連絡をいただきました。jumanppの出力から、改行を引っぺがさなければいけないようです。これだと結果は以下のようになりました。
[{'score': 0.16705641150474548, 'token': 2244, 'token_str': '地下', 'sequence': '国境 の 地下 トンネル を 抜ける と 雪国 であった 。'}, {'score': 0.1442069262266159, 'token': 2309, 'token_str': '長い', 'sequence': '国境 の 長い トンネル を 抜ける と 雪国 であった 。'}, {'score': 0.026420066133141518, 'token': 509, 'token_str': '北', 'sequence': '国境 の 北 トンネル を 抜ける と 雪国 であった 。'}, {'score': 0.02307763881981373, 'token': 526, 'token_str': '南', 'sequence': '国境 の 南 トンネル を 抜ける と 雪国 であった 。'}, {'score': 0.019045764580368996, 'token': 577, 'token_str': '山', 'sequence': '国境 の 山 トンネル を 抜ける と 雪国 であった 。'}]
2番目に「長い」が出てきてます。素晴らしい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
末尾にrstrip()が必要 (スコア:2)
のようにすべきだ、との御連絡をいただきました。jumanppの出力から、改行を引っぺがさなければいけないようです。これだと結果は以下のようになりました。
2番目に「長い」が出てきてます。素晴らしい。