2019年5月11日

文章の続きを人工知能に創作してもらう


入力した文章の続きを AI に自動補完してもらえるサイトを見つけたのでメモメモ…



海外の掲示板を眺めていたところ Talk to Transformer という面白そうなサイトが紹介されていました。

Talk to Transformer
https://talktotransformer.com/

このサイトは、適当な文章を入力すると AI がその続きを勝手に創作してくれるというもの。以前 This Waifu Does Not Exist を紹介したのですが、あれはあらかじめ AI が作成した美少女キャラの画像をランダムに表示するサイトでした。Talk to Transformer はそうではなく、こちらの入力した文章に応じて結果が変わります。つまりリアルタイムで人工知能が処理をしているわけです。

この自動生成技術のもとになっているのは、OpenAI が開発した GPT-2 という言語モデルです。OpenAI といえばあのイーロン・マスクが創設メンバーの一人であることでも有名な人工知能研究機関ですよね。ただし「GPT-2 は性能が良すぎるため、そのまま公開してしまうと悪用されてしまい危険である」という理由から、現在は GPT-2 そのものではなくあえて性能を落としたバージョンを段階的に公開しています(参考記事)。「性能が良すぎて危険」って、すごい時代ですね…。ちなみにこの Talk to Transformer で使われているのは5月3日に公開されたばかりの345Mというバージョンだそうです。

では、実際にちょっと試してみましょう!

お料理レシピ ~オムレツ~


まずは、入力例として用意されている文章の中から "Cooking Instructions" を選択してみます。


Making an omelette is simple!

1.


「オムレツを作るのはとってもカンタン!」という内容の文字列と数字の「1.」が表示されました。そのまま "COMPLETE TEXT" ボタンを押せば続きのテキストを自動で補完してくれます。


Making an omelette is simple!

1.
Fill a large roasting pan with water and add butter. Add some flour, cornmeal, salt, baking powder.

2. Heat the butter over a low heat until the butter melts.


3. Once the butter melts and thickens add the flour in alternating rows alternation. Cook the omelette according to the recipe.


4. Sprinkle the flour over the bottom of the omelette batter and place in the oven for about 10 minutes with the lid on so you don't burn the bread!


5. Remove the lid and transfer the omelette to a serving dish set over a cutting board or other plate as you will use the rest of the ingredients later for other recipes.


1~5までの手順が自動生成されました。おそらく膨大な学習データから「1. があれば 2. 3. …と続けていくのが最も無難」というふうに人工知能が判断しているんでしょう。ちなみに、もとの文章が同じものであっても、出力内容は作成するたびに変わります

内容を読むと、まずフライパンに水を張ってバターと小麦粉とコーンミールと塩とベイキングパウダーを入れる、と書いてありますね。この時点で本当にオムレツなのかどうかだいぶ怪しいのですが、結局最後まで卵は一切出てきませんでした。というか 3. で「レシピに従ってオムレツを焼く」と書いてあります。じゃあこれは何のレシピなんだ…


お料理レシピ ~寿司~


今度は omelette の部分を sushi に書き換えてみましょう。どういう内容になるでしょうか。


Making sushi is simple!

1.
Wash raw fish in cold water and keep them for 15 minutes. Rinse with cold water and dry.

2. Once prepared, soak the shirataki in water for five minutes.


3. Now add 1/4 to 1 tablespoon of salt and cook for several minutes. (Note: I think you do not want it too hot! Just enough water to make the heat work! Do not throw away the dried shirataki since it will cook very quickly. It should be the same temperature in the pan that you used to soak it.)

4. Heat the oil in a non stick pan. If you do not have an electric pan then you can do this by placing the pan onto the top, and then use a fork to move the shirataki around until the salt coats it perfectly. It is also worth noting that this might also take several uses because it heats up the pan.

5. Now add the shirataki in 2 batches! To help you get you into the mood, take this photo and make lots of sure rolls in the pan with your fingers instead of with


冒頭で「生魚を冷水で洗い…」と書いてあるので期待したのですが、2. で「しらたき」が登場したためその希望は見事に打ち砕かれました。以降の工程はすべて謎のしらたき料理のものです。しらたきを茹でたあと焼いていますね。5. に至っては「雰囲気を出すため写真を撮って…」などと書いてあって、だいぶパリピ向けのレシピとなっています。


"Little Red-Cap"(赤ずきんちゃん)


次は童話の「赤ずきんちゃん」の冒頭部分(「"赤ずきんちゃん"と呼ばれていました」まで)を入力してみます。ちなみにグリム兄弟版(英訳はMargaret Huntによる)を使用しました。


Once upon a time there was a dear little girl who was loved by every one who looked at her, but most of all by her grandmother, and there was nothing that she would not have given to the child. Once she gave her a little cap of red velvet, which suited her so well that she would never wear anything else; so she was always called 'Little Red-Cap.' _____________________ * ** *** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** ** * * * * * * * ** ** * ** ** ** ~ ~ ~ ~ * ~ * * * * * * * ~ ~ * * ~ ~~ ~ ** **** * ~ ~ ~ ~ ~~ ~~~ * ~ ~~ ~ * ~ ~~ ~ ~~~ ** * ~ ~ "~~*~~* ~~~ ******** * ~~** ~~ *~ *****~ *********~ |
     * ~~~ ~ ** ** *~~~ ~ ~~~~~~~ ************** | | ********* ~~ *~~** *  *~ *****************~ | +- ~~~~~~~ ****************** ** ~~~~~~~~~~~ ~~~~~~~~~~~ *~ ~~~ ~~~~~~~~~~~ *~ *~ *~ ** ** ~~~~~~~~~~~ *~ *~ *~ ** *~~~~~~~~~~~ ~~~~~~~~~~~ *~ ~~~~


真面目にやってくれ。もう1回。


Once upon a time there was a dear little girl who was loved by every one who looked at her, but most of all by her grandmother, and there was nothing that she would not have given to the child. Once she gave her a little cap of red velvet, which suited her so well that she would never wear anything else; so she was always called 'Little Red-Cap.'  However, now the cap was all but worn-off, and she loved it no more.  She took to wearing only a dress that fit just right enough, and that was to keep her cold and soft.  There was a small cottage just outside the village called the Green-Town where she would have her warm blanket, and spend her nights at her aunt's.  Not long ago, after the child was grown, her aunt and uncle were going to stay out, so she had her favorite pillow by the hearth and her blanket by the fire.  There they slept, and there the


「赤ずきん」という名前の由来を説明した直後に「しかし、そのずきんはすっかり擦り切れてしまったので、もうまったく好きではなくなってしまいました。」という衝撃の事実が明かされ、いきなりアイデンティティを失う赤ずきんちゃん。どうやらお気に入りの枕と毛布があるようです。しれっと新キャラの「叔母さん」「叔父さん」も登場。続きが気になる…


太宰治『人間失格』


これまでは英語の文章を見てきましたが、今度は日本語でも試してみます。


 恥の多い生涯を送ってきました。
 自分には、人間の生活というものが、見当つかないのです。自分は東北の田舎に生れましたので、


太宰治の『人間失格』から有名な冒頭部分の抜粋です。AI が『人間失格』を書くとこうなります。


 恥の多い生涯を送ってきました。
 自分には、人間の生活というものが、見当つかないのです。自分は東北の田舎に生れましたので、
彼女今度の呛い絶望を抜�する自憶は仲間領ければです。
 悲》たからの少しは「�かいこうこうどうこう事が」の込めるが、再計に、合業もありました。
 恥が御標いている願いことが初節投にし、暴らしく�思いたそうか。
継えているのは……自分は何と良い出し、見�前に素晴らしたの。
彼女と、�前は自分げる謎の情意の�風があるながら、含放が彼女と�前したれ、更に走増が無からだった。
「...Well then, the battle just took place... I should've waited. As expected of Yuzuki... No way he could beat that girl's skill on her own! She might've fought with Yuzuki, but she's never fought with you! He's just a random child of her family. A monster...」
《星回豏は「買う...守、一个物員によって自分員なんですが」と考え出するようには
《下り変えば�思うか。
「...I see. You have a point. That's my concern. I am of course more worried about you. I'm here to protect her. I'm not here to cause problems with you, though...」
《み、『劉系な非常をみて、西府が高く�思いたそうだと思么する。』
《�思么の戦言は、あなたは召喚�様な塩い。
「...Hahaha, if it doesn't come to that...... I am sure that you cannot stand against me if you don't. I believe that you


控えめに言ってひどい結果です。途中から英文が混じっていますし、日本語部分は完全に意味不明で文章としての体をなしていません。途中の「�」というのは文字化けしている箇所です。このサイトは「文章を小分けにして順次読み込む」という仕様になっているため、おそらく区切る場所によっては2バイト文字が途中で切られてしまい文字化けが発生してしまっているのだと思います。

専門的なことはさっぱりわからないのですが、ここまでクオリティが低くなった理由としては「単純に日本語データの学習不足」「GPT-2 のバージョンの問題(まだ345Mモデルなので本来の実力が発揮できていない)」「日本語の特性の問題」「このサイトの実装方法の問題」などが考えられます。


まとめ


というわけで Talk to Transformer を試してみたところ「英語はそこそこ、日本語はダメダメ」という結果になりました。英語に関しては、まだ自動生成だと判別できるレベルなので今の状態ではさすがに悪用されることはないと思いますが、物語や詩などを創作させて楽しむ分には十分すぎるクオリティです。今後 GPT-2 の完全版が公開されればメディアが一変してしまうかもしれません。楽しみですね!


0 件のコメント:

コメントを投稿