文章生成する
from transformers import pipeline
generator = pipeline(
"text-generation",model="abeja/gpt2-large-japanese"
)
outputs = generator("日本一番高い山は")
print(outputs[0]["generated_text"])
私の出力は
Setting pad_token_id
to eos_token_id
:2 for open-end generation.
日本一番高い山は金閣寺で、ここは世界遺産でもあり、世界有数の観光スポットだ。金閣寺のすぐ近くには、清水寺がある。清水寺のある奈良の鹿公園には、奈良公園を代表する日本庭園があり、多くの外国人
となり、精度があまりよくない?
ここでは後続に続くテキストを予測。GPTは次から次へと予測する。
BERTを使ってマスク部を予測
import pandas as pd
fill_mask = pipeline(
"fill-mask",model="cl-tohoku/bert-base-japanese-v3"
)
masked_text = "日本の首都は[MASK]である"
outputs = fill_mask(masked_text)
display(pd.DataFrame(outputs[:3]))
masked_text = "今日の映画は刺激的で面白かった。この映画は[MASK]。"
outputs = fill_mask(masked_text)
display(pd.DataFrame(outputs[:3]))
高確率で東京と予測できている。
面白いのが二文目で。をいれないと。や、が予測結果になる。
seq2seq2モデルのtransformerバージョン