Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
BERTで文章生成してみよう ~なろう風タイトル生成モデル~ 早野康太
Slide 2
Slide 2 text
自己紹介 ● 名前 ○ 早野 康太 ● お仕事 ○ 自然言語モデルの改善 ● 趣味 ○ 猫、犬 ■ YouTube ○ ゲーム ■ 音ゲ、ウマ娘、ギャルゲ ○ アニメ ■ 幅広く
Slide 3
Slide 3 text
アジェンダ ● BERT紹介 ○ 自然言語処理とは ○ Transformer ○ TransformerからBERTへ ● なろう風タイトル生成モデル
Slide 4
Slide 4 text
BERT紹介
Slide 5
Slide 5 text
自然言語処理 ● 深層学習で「ことば」を処理する ○ 翻訳 ■ Google翻訳 ■ DeepL ○ 質問応答 ■ Alexa ○ 文章生成 ■ AIのべりすと BERT紹介
Slide 6
Slide 6 text
最近のAIはすごい ● AIのべりすと ○ 入力した文章の続きをAIが 書いてくれる 出典: https://ai-novel.com 吾輩は猫である。名前はまだない。 BERT紹介
Slide 7
Slide 7 text
最近のAIはすごい ● AIのべりすと ○ 入力した文章の続きをAIが 書いてくれる 出典: https://ai-novel.com 吾輩は猫である。名前はまだない。 そんな冗談が脳裏をよぎるほど、その日、俺の 気分は沈んでいた。 「……」 時刻は午前十一時。場所は近所の公園だ。休 日なだけあってそれなりに人通りもあるが、遊 具で遊ぶ子供の姿はない。皆一様にベンチに 腰掛けて、何やら物思いに耽っているようだ。 BERT紹介
Slide 8
Slide 8 text
Transformer ● Attention Is All You Need (Łukasz Kaiser et al., 2017) ○ 文章の単語同士の関連度を測る (Attention) 機構を組み込むことで 自然言語処理モデルの性能が大きく向上 BERT紹介
Slide 9
Slide 9 text
● Attention Is All You Need (Łukasz Kaiser et al., 2017) ○ 文章の単語同士の関連度を測る (Attention) 機構を組み込むことで 自然言語処理モデルの性能が大きく向上 Transformer チノ ちゃん かわいい 推し は 誰 ? 入 力 文 参考情報 チノ ちゃん 以外 ありえん BERT紹介
Slide 10
Slide 10 text
● Attention Is All You Need (Łukasz Kaiser et al., 2017) ○ 文章の単語同士の関連度を測る (Attention) 機構を組み込むことで 自然言語処理モデルの性能が大きく向上 Transformer チノ ちゃん かわいい 推し は 誰 ? 入 力 文 参考情報 チノ ちゃん 以外 ありえん BERT紹介
Slide 11
Slide 11 text
● What is 関連度? ○ 単語をベクトルで表した時の内積 ○ ベクトルの向いている「方向の近さ」を表す Transformer チ ノ かわいい θ チノ・かわいい = |チノ||かわいい|cosθ 【Character】チノ - 「ご注文はうさぎですか?」シリーズサイト チノちゃんって誰だよ? BERT紹介
Slide 12
Slide 12 text
● Attention Is All You Need (Łukasz Kaiser et al., 2017) ○ 文章の単語同士の関連度を測る (Attention) 機構を組み込むことで 自然言語処理モデルの性能が大きく向上 チノ ちゃん かわいい 推し は 誰 ? 入 力 文 参考情報 チノ ちゃん 以外 ありえん Transformer BERT紹介 Query Target
Slide 13
Slide 13 text
Transformer BERT紹介 ● Query (Q)は行列 ● Key (K), Value (V) はいずれもベクトルを並べて行列にしたもの Key, Value: { key1: value1, key2: value2, … }
Slide 14
Slide 14 text
Transformer BERT紹介 ● クエリを元に 辞書から 索引しているイメージ ● 特にQ, K, Vにすべて同じ値を用 いるSelf-Attention が用いられる 汚い手書きでゴメンナサイ
Slide 15
Slide 15 text
● Bidirectional Encoder Representations from Transformers ○ BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding ○ Transformerによる双方向のエンコード表現 ■ Transformerモデルの一部分を利用したモデル ○ Googleが2018年に発表 ● 当時の自然言語処理タスクの最高記録を軒並み塗り替えた ● 転移学習 (finetuning) により あらゆる自然言語処理タスクに応用可能な汎用性の高さ TransformerからBERTへ BERT紹介
Slide 16
Slide 16 text
BERTのアーキテクチャ BERT紹介 Embedding Attention Attention Output Sentence トークナイズされた文章 固定長のベクトルに埋め込み ×12層のSelf-Attention 固定長のベクトル
Slide 17
Slide 17 text
BERTのアーキテクチャ BERT紹介 Embedding Attention Attention Output Sentence トークナイズされた文章 固定長のベクトルに埋め込み ×12層のSelf-Attention 固定長のベクトル ご注文はうさぎですか? ご, 注文, は, うさぎ, ですか, ? 0, 1, 2, 3, 4, 5 形態素解析 トークンID化 E 0 , E 1 , E 2 , E 3 , E 4 , E 5 ベクトル化
Slide 18
Slide 18 text
双方向の意味 BERT紹介 ご 注文 は うさぎ ですか ? T 1 双方向の文脈を見て 埋め込みを出力する
Slide 19
Slide 19 text
双方向の意味 BERT紹介 ご 注文 は うさぎ ですか ? 注文 の 多い 料理 店 T 1 T 2 双方向の文脈を見て 埋め込みを出力する
Slide 20
Slide 20 text
● Masked Languege Model ○ 単語単位での文脈理解 ○ ランダムに文章の一部をマスクして学習する BERTの事前学習 (pretraining) チノ ちゃん かわい すぎて 川 に なった [MASK] ちゃん かわい すぎて [MASK] に なった [MASK]に入る単語を予測 BERT紹介
Slide 21
Slide 21 text
● Masked Languege Model ○ 単語単位での文脈理解 ● Next Sentence Prediction ○ 文章単位での文脈理解 BERTの事前学習 (pretraining) チノ ちゃん かわい すぎて 川 に なった そう は ならん やろ 2つの文章が連続するかどうかを予測 BERT紹介
Slide 22
Slide 22 text
● 事前学習モデルを、解きたいタスクに合わせてチューニング BERTの転移学習 (finetuning) Pretrained BERT Model Question Answering Named Entity Recognition Sentiment Analysis Text Summarization BERT紹介
Slide 23
Slide 23 text
なろう風タイトル生成モデル
Slide 24
Slide 24 text
● 文章を入力したら なろう風のタイトルを生成してみたい ○ BERTを転移学習(fine-tuning)して文章生成モデルを作ってみる やりたいこと BERTで あそんでみた
Slide 25
Slide 25 text
● 「小説家になろう」にありがちなタイトル ○ 異世界転生しがち ■ 無職転生~異世界行ったら本気出す ○ 魔王とか勇者とか入りがち ■ 盾の勇者の成り上がり ■ 魔王様、リトライ! ○ めっちゃ説明してくれるじゃん ■ (この世界はもう俺が救って富と権力を手に入れたし、女騎士や女 魔王と城で楽しく暮らしてるから、俺以外の勇者は)もう異世界に 来ないでください。 なろう風とは? BERTで あそんでみた
Slide 26
Slide 26 text
● 日本語BERT ○ 東北大の乾研究室が公開している事前学習済みモデル ■ 日本語Wikipediaの約1700万テキストで学習したもの ■ https://huggingface.co/cl-tohoku モデル BERTで あそんでみた Encoder BERT Input ご注文は うさぎですか? Decoder BERT Output うさぎを注文したら 異世界に 転生した件について
Slide 27
Slide 27 text
BERTのアーキテクチャ Embedding Attention Attention Output Sentence トークナイズされた文章 固定長のベクトルに埋め込み 固定長のベクトル BERTで あそんでみた ×12層のSelf-Attention
Slide 28
Slide 28 text
● 「小説家になろう」からAPIで取得したタイトルとあらすじのペア ○ 合計約10万件 ● あらすじを入力として、タイトルをラベルとして使用した 学習データ BERTで あそんでみた Input 女の子たちの 日常を描く Model Output きんいろ モザイク ご注文は うさぎですか? Label Loss
Slide 29
Slide 29 text
● 実行環境 ○ Windows(WSL2) ○ CPU: ■ AMD Ryzen9 3900 ■ メモリ: 32GB ○ GPU: ■ NVIDIA GeForce RTX 3070 ■ メモリ: 8GB ● 16GB以上あった方がいい ● 学習時間 ○ 50 hour (/13エポック) 実行環境や学習パラメータなど BERTで あそんでみた ハイパーパラメータ 値 Epochs 13 Learning rate 5e-5 Batch size 4 Gradient Accumulation Steps 16 Scheduler Linear Warmup fraction 0.06
Slide 30
Slide 30 text
タイトル生成してみる BERTで あそんでみた あらすじ かつてこの世の全てを手に入れた男、海賊王ゴールド・ロジャー。 彼が遺した「ひとつなぎの大秘宝(ワンピース)」をめぐり、 幾多の海賊達が覇権を賭けて争う「大海賊時代」が到来した。 ※Wikipediaより引用
Slide 31
Slide 31 text
タイトル生成してみる BERTで あそんでみた あらすじ かつてこの世の全てを手に入れた男、海賊王ゴールド・ロジャー。 彼が遺した「ひとつなぎの大秘宝(ワンピース)」をめぐり、 幾多の海賊達が覇権を賭けて争う「大海賊時代」が到来した。 生成されたタイトル ゴールド・オーク ~1億年かけてワンピースを作ろうとしたら、 いつのまにか大海賊時代に巻き込まれました!?~ ※Wikipediaより引用
Slide 32
Slide 32 text
タイトル生成してみる BERTで あそんでみた あらすじ 時は大正。竈門炭治郎は、家族とともに山でつつましくも幸せな日々をおくって いた。ある日、町で炭を売りに出かけた炭治郎が山に戻ると、家族は鬼に襲わ れ血だまりの中で絶命していた。 ※Wikipediaより引用
Slide 33
Slide 33 text
タイトル生成してみる BERTで あそんでみた あらすじ 時は大正。竈門炭治郎は、家族とともに山でつつましくも幸せな日々をおくって いた。ある日、町で炭を売りに出かけた炭治郎が山に戻ると、家族は鬼に襲わ れ血だまりの中で絶命していた。 生成されたタイトル 炭治郎の異世界血風録(三十と一夜短編第60回) ※Wikipediaより引用
Slide 34
Slide 34 text
タイトル生成してみる BERTで あそんでみた あらすじ 推理作家の父と元女優の母を持ち、シャーロック・ホームズを敬愛する高校生 探偵工藤新一は、大人顔負けの推理力と洞察力を併せ持ち、「日本警察の救 世主」と言われるまでの活躍をみせていた。 ※Wikipediaより引用
Slide 35
Slide 35 text
タイトル生成してみる BERTで あそんでみた あらすじ 推理作家の父と元女優の母を持ち、シャーロック・ホームズを敬愛する高校生 探偵工藤新一は、大人顔負けの推理力と洞察力を併せ持ち、「日本警察の救 世主」と言われるまでの活躍をみせていた。 生成されたタイトル 探偵新一郎の事件簿 ~第一次大戦は狂信的な雰囲気を持っていたので、とりあえず自由に生きよ うと思います!!~ ※Wikipediaより引用
Slide 36
Slide 36 text
タイトル生成してみる BERTで あそんでみた タイトル 名探偵コナン
Slide 37
Slide 37 text
タイトル生成してみる BERTで あそんでみた タイトル 名探偵コナン 生成されたタイトル 名探偵コナン 第36話「あたらしいバレンタイン」 ~推理小説を投稿していたらいつのまにか美少女に一目惚れされた件~
Slide 38
Slide 38 text
タイトル生成してみる BERTで あそんでみた タイトル 呪術廻戦
Slide 39
Slide 39 text
タイトル生成してみる BERTで あそんでみた タイトル 呪術廻戦 生成されたタイトル 呪われて廻った魔弾使い(エクスプローラー)【第二次世界大戦編】
Slide 40
Slide 40 text
タイトル生成してみる BERTで あそんでみた タイトル ウマ娘 プリティーダービー
Slide 41
Slide 41 text
タイトル生成してみる BERTで あそんでみた タイトル ウマ娘 プリティーダービー 生成されたタイトル ウマ娘 プリティーダービー 優勝馬に転生したので、とりあえず競馬で勝つことを目指します!
Slide 42
Slide 42 text
まとめ ● BERT ○ 汎用的なタスクに応用可能な事前学習済みモデル ● BERTを利用した「なろう風」タイトル生成 ○ 日本語的に自然な文章 ○ なろうテイストを反映したタイトルを生成できていた ○ 入力文の文意をあまり解釈できていないことが課題