📊

nlplotでプロンプト解析することでAIで美味しそうなkaraageをつくる

2022/09/24に公開

nlplotがプロンプトの解析に良さそう

#stapy さんの勉強会。残念ながらリアルタイムで参加できなかったのですが、公開されていたスライドをみてnlplotが非常に良さそうでした。

https://startpython.connpass.com/event/248068/

スライドの資料は以下
https://speakerdeck.com/takapy/zi-ran-yan-yu-ke-shi-hua-raiburari-nlplot-nogoshao-jie

GitHubは以下
https://github.com/takapy0210/nlplot

上記みただけで、手軽にWordcludだったり、共起ネットワークだったり、sunburst chartだったりが可視化できていて明らかに便利そうです。

最近ハマっている画像生成AI Stable Diffusionのプロンプトの解析に使えそうだなと思い、ちょっと試してみたので記事にしてみます。Stable Diffusionに関しては以下記事参照ください。

https://karaage.hatenadiary.jp/entry/2022/09/23/073000

Google Colaboratoryでnlplotをセットアップ

Google Colaboratory(Google Colab)でセットアップしていきます。ブラウザがあれば気軽に試せます。

prompt_analytics.ipynb

対象のデータは、最近ハマっている画像生成AI Stable Diffusionの有望なプロンプト集にしてみました。公開されているものを個人的に収集しています。

https://docs.google.com/spreadsheets/d/1kds0I59sQ4gnn5OPIZ6BS2J8wV1FMzJ12q9Afo1z75s/edit#gid=0

上記からcsvでダウンロードしたら、あとはノートブックにそって実行していけば手軽に分析できます。

nlplotで可視化

ちょっとだけノートブックを説明します。

nlplotのインストールは以下1行だけです。簡単ですね。

!pip install nlplot

データはpandasでcsvを読み込んでいます。ファイル名はprompt_list.csvにしています。具体的には以下コードになります。簡単ですね。

df = pd.read_csv('prompt_list.csv')
df.head()

こんな感じのデータ形式で読み込めたらOKです。

あとは、以下でnlplotにデータを入力したら準備完了です。

npt = nlplot.NLPlot(df, target_col='prompt_list')

その他気になるところは、冒頭で紹介したスライドを合わせて読むのが良いと思います。

以下のようなツリーマップやワードクラウド、共起ネットワークが可視化できます。

解析結果をもとにAIで美味しいからあげを作ってみる

解析結果をもとに、Stable Diffusionで美味しいからあげを作ってみましょう。目標は昨日たべた美味しいからあげです。

リアル唐揚げ

からあげをつくるために、今回は以下のローカル環境を使いました。

https://zenn.dev/karaage0703/articles/bf86fe4946417b

Google Colabで試したい人は以下参照ください。同じような結果が得られると思います。

https://karaage.hatenadiary.jp/entry/2022/08/29/073000

最初に、単純にkaraageと入れてみます。


 うん、美味しいからあげができましたね。十分美味しそうです。

続いて、共起ネットワークの解析結果を参考に、良さそうな単語を並べてみます。

karaage sharp matte beautiful photo bokeh HQ detailed 4k 85mm SIGMA art lens fantasy vivid colors

最後のvivid colorがラルクアンシエル風味ですね。

以下結果です

美味しそう!!かな?

やっぱりからあげは実際に食べるに限りますねモグモグ

まとめ

nlplotを活用してみた記事でした。Stable Diffusionのプロンプト、センスないのでなかなか良いプロンプト練れずに苦労していますが、この方法なら誰でもある程度のプロンプトが作れるかもですね。

頑張っておいしいからあげが作れるように努力したいと思います。

関連記事

https://zenn.dev/karaage0703/scraps/f84c98a8b78290

Discussion