〈マジ地獄…〉「AI歌人」が詠む短歌、驚きのお手並み拝見

5文字入れれば自動で詠む「デモ」付き
短歌研究編集部

奥井 ベースとして、弊社の質問&回答コミュニティ「教えて!goo」の大量のデータに出現する数十万の単語の意味を300次元程度のベクトルで表現しています。近代語と現代語は異なるので、単語の分析ツールを用いて、近代語もちゃんと単語で区切りAIに学習させています。「教えて!goo」のデータ内にあれば「衣」と「ドレス」が近いということもAIは自分で学習します。

 

20代と60代、どちらの晶子を選ぶ?

編集部 短歌の言葉を、どうやって選んで歌にしているのですか。

中辻 まず、短歌に登場する単語のベクトルを、「教えて!goo」の大量のデータセットと、短歌データセットから学習します。次に、一句目に登場する単語の順番をLSTMという時系列ディープラーニングを用い学習し、一句目の句ベクトルを生成します。更に、一句目の句ベクトルを文脈とし二句目の生成を、二句目の中の単語を一単語ずつ順番に生成することで実施します。この操作を五句目まで実施するのですが、単語ごとの生成を行うと同時に、句としての順番や組合せもAIは学習し、最終的に五句からなる短歌生成を学習します。

野口 ある程度AIが学習した時点で、私が独創性などの評価を5から1で数値化し、完成度を評価しました。それをまたAIにフィードバックして、精度を上げていくんです。

加古 独創性とはAIが作った歌の独創性?

野口 そうです。たまにAIが既存の歌を再現してしまうこともあるんです。そういうチェック作業も重要です。

加古 出来た歌ひとつひとつをチェックするのは大変じゃないですか。

奥井 ランダムに歌を選んでチェックします。われわれは、AIの学習のモデルのパターンを把握しているので、その中でどれが精度が高いかを判断することができます。

野口 何パターンかの「恋するAI歌人」モデルがあり、同じ言葉を入力し、どのモデルが一番いい仕上がりになるかをチェックします。

加古 たとえば白蓮度が高いAIとか、与謝野晶子度が高いAIではなく、みんな均等にブレンドしているとすると、平均的なもの、オリジナル度の低いものができてしまうことはありませんか。

野口 特定の歌人に限って、たとえば与謝野晶子の全集をデータ化してキャラクターを固定化することもできるんですが、20代の晶子と60代の晶子を混ぜていいものか悩みました。作風が変わっていきますからね。だったら、同時代に生きた女性歌人のデータを、ある程度主体がぶれないようにブレンドし、その時代の特色を出したほうが面白いんじゃないかと思いました。

加古 どの世代のときに作った歌集を選んだんですか。選出した野口さんに近い世代に集中させたということですか。

野口 比較的若い時期のものを選びました。

加古 野口さんは現代かなづかいで歌を作られていますよね。でも近代歌人は歴史的かなづかいです。それをミックスすると新かな、旧かなが混じったものができてしまいませんか。ブレンドしたらそういうことが起きると思うんですが。

中辻 言葉をつくる際、単語を区切る「分かち書き」をします。AIが、歴史的かなづかいと現代のかなづかいの両方を考えながら分かち書きするツールがあり、それを使うことで、旧かなと新かなを混ぜて学習しています。一旦分かち書きされた単語は、「記号」として認識されます。この単語の次にどんな言葉が入るかを文法を基に考えるのではなく、学習データの中で観測されるパターンを基にシステマティックに作られています。

加古 AIは、初句から二句を生成し、二句から三句を生成する、という流れで作っているんですよね。そうすると句またがりなどの技巧はどう使われているんですか。

中辻 それが学習データの中に含まれていれば作られると思います。学習データ次第です。

加古 元のデータの中に、字余り、字足らずの歌もあると思いますが、AIが生成する際、そういうものも出てくる可能性がありますか?

中辻 まだ学習に必要となるデータが不足していると思います。もちろん字余り、字足らずをAIに学習させればもっといろいろなことが出来るようになると思いますが、まだそこまでわれわれの手が回っていない状況です。