見出し画像

gpt2-japaneseの使い方 (1) - mediumモデルによる日本語テキスト生成

gpt2-japanese」の「mediumモデル」が公開されたので、AIによる日本語テキスト生成を試してみました。

1. gpt2-japaneseのインストール

(1) Google Colabのノートブックを開く。
(2) メニュー「編集→ノートブック→ハードウェアアクセラレータ」で「GPU」を選択。
(3) 以下のコマンドで、「gpt2-japanese」をインストール。

# gpt2-japaneseのインストール
!git clone https://github.com/tanreinama/gpt2-japanese
%cd gpt2-japanese
!pip install -r requirements.txt

2. モデルのダウンロード

「mediumモデル」を「gpt2-japanese」フォルダにダウンロードします。

# mediumモデルのダウンロード
!wget https://www.nama.ne.jp/models/gpt2ja-medium.tar.bz2
!tar xvfj gpt2ja-medium.tar.bz2

3. ランダムな日本語テキストの生成

ランダムな日本語テキストの生成を行います。

!python gpt2-generate.py --model gpt2ja-medium --num_generate 1

「gpt2-generate.py」のパラメータは、次のとおりです。

・--model : モデル (gpt2ja-medium)
・--num_generate : 生成するテキスト数 (デフォルト5)
・--context : 開始テキスト (デフォルト <|endoftext|>)
・--top_k : 各ステップでk個の単語からランダム選択 (デフォルト40)
・--top_p : 生成テキストを累積確率に制限 (デフォルト0、制限なし)
・--temperature : 温度(デフォルト1、推奨0.7〜1.0)

オリジナルのGPT-2の論文によると、top_k=40が一番良い結果と報告されています。top_ktop_pの値は排他で、片方を>0に設定したら片方を0にしなければなりません。

結果は、次のようになりました。

私も30代ですよ。

お金も時間も余裕がある。
今は自由意志の自由だけは厳しいが、
お金も時間も余裕がある今なら可能でしょう。

ただし、時間の都合は自由だけでなく、
身体的な制約がある。
身体的な制約があるのであれば、
お金も時間も制限がある方がよくありませんけどね。

4. 開始テキストに続く日本語テキストの生成

「むかし、むかし、あるところに、おじいさんとおばあさんがいました。おじいさんは山へ刈かりに、おばあさんは川へ洗濯に行きました。」に続く日本語テキストの生成を行います。

!python gpt2-generate.py --model gpt2ja-medium --context="むかし、むかし、あるところに、おじいさんとおばあさんがいました。おじいさんは山へ刈かりに、おばあさんは川へ洗濯に行きました。"

--content」で開始テキストを指定します。

結果は、次のようになりました。

おじいさんは、たくさん、たくさん水をあげて、おばあさんは川の水を手でごしごし濡らしました。
そこへ水浴びの女がおばあさんのいるところにやってきました。それは、おばあさんを襲おうとした女ではありませんでした。
女は、おばあさんを引き離し、川の水を使って洗い流しました。すると、おばあさんはまた、たくさんの水をあげて、川の水を手でごしごし濡らしました。
そこへ、山へ刈り込みがてらに、おじいさんは川から下ってきました。そして、また、おばあさんの頭をつかんで、川の水をかけました。また、たくさんの水をあげて、川の水を手でごしごし濡らしました。
それから、おばあさんの頭の上まで落ちて、またたくさんの水をあげて、川の水を手でごしごし濡らしました。
女は、おばあさんの上にからみ始めたのです。そして、だんだんと女の顔が川に沈んで、女は、また、たくさん、たくさんの水をあげて、川の水を手でごしごし濡らしました。
女は、おじいさんの顔の前にいきなり現れました。そのおじいさんは、驚いて女を手で、やさしくおさえました。そして、女の頭から飛び立ちました。
女は、おじいさんの顔をしっかりと抱きかかえました。そして、女の

次回



この記事が気に入ったらサポートをしてみませんか?