ウィキペディアから集めた「擬似的な短歌」の学習データで、AIは短歌をどう詠むのか?
擬似的な短歌を学習データにする
そこでまず私たちは、「オープンなデータで、誰かがなんらかの思いを込めるなどしてつくりあげた短歌ではない、でも短歌のように読めるテキストデータ」を集めて、これを学習に使うこととしました。具体的には、オープンアクセスデータであるウィキペディア日本語版(https://ja.wikipedia.org/)の記事から、短歌の定型を満たすテキストを集めて、これを「擬似的な短歌」として学習データをつくったのです。 このような形であつめられる短歌は「偶然短歌」という名前でプロジェクト化されており、書籍も出版されています。その名の通り、ウィキペディアの記事中で「偶然にも」短歌になっている言葉を集めているわけですが、私たちもほとんど同じようにして短歌をウィキペディア日本語版から収集することにしました。 具体的には以下のようなデータになります(下部に引用元の項目を記しました)。さまざまな事柄を説明する記事における五・七・五・七・七の短歌の定型に沿う断片=擬似的な短歌が、抽出できていることがわかります。なお、データセットの作成においては、得られた断片から句読点を省く処理をしています。 ---------- 粘液の入った管があったりとその状態はさまざまである(「粘液」) 偏光をかけて重ねて投影しこれを偏光フィルタの付いた(「3次元ディスプレイ」) 強力で今日では正規表現と呼ばれるものと対抗できる(「Text Editor and Corrector」) きっかけとなり対戦を要求しそれが通った形となった(「チェリーボム(プロレスラー)」) 前輪の回転軸はフレームの最前列に一段高く(「キュニョーの砲車」) このようなプログラミング環境の下でこれらの文字はしばしば(「Unicode文字のマッピング」) ---------- 短歌AIの学習では、これらの擬似短歌を1万件ほど集めました。そこから、短歌のリズムをもった言葉の並びを学習しています。例えば、次の擬似短歌データをモデルが学習するとします。 ---------- 表現はもともと古代アテナイの三大悲劇詩人のひとり(「ヤーコブ・ヨルダーンス」) ---------- この時、短歌AIは「表現」という言葉のあとに「は」が続くことや、「古代」の後に「アテナイ」が続くことを学んでいきます(なお、実際のモデル学習では、文字列が常にきれいに単語単位で分けられているとはかぎりません。どのようにしてモデルが学習するための適切な「言葉の断片」をつくるか、という問題に対しても、いくつかの手法が提案されています)。 他の例も見てみましょう。例えば、次のような擬似短歌があります。 ---------- イギリスや他の国々の沿岸で伝統的に歌われていた(「シーシャンティ」) 特性を線形予測フィルターの係数としてパラメータ化し(「線スペクトル対」) 父親が日本人で母親がハンガリー系ルーマニア人(「室伏広治」) 木星と土星は主に水素からなる大量の大気を有し(「外惑星」) ---------- これらを見てみると、「国々」「沿岸」「特性」「線形予測」といった語そのものにしても、また「係数としてパラメータ化し」「水素からなる大量の大気を有し」といった語の並びにしても、当然のことながらそれがウィキペディアらしいものになっているのがおわかりいただけるでしょう。こうした擬似短歌からなるコーパスを学習した言語モデルは、当然、その「ウィキペディアらしさ」を感じる言葉の並びをうまく捉えて、それに従った短歌を生成することになります。