今回はChatGPTと正規表現を遣います.
※価格は記事執筆時のものです. 現在の価格はApp Storeから確認ください.
レビュー時のiOSバージョン : iOS17.6.1
スポンサーリンク
必要な箇所だけ欲しい
ChatGPTはすっかり多くの方の日常になったと思いますがこれとショートカットアプリで色々弄りたくなるのは(多分)自然なことだと思います.
ただChatGPTは同じ質問でも必ずしも同じ構文で回答してくれるわけではありません、まったく同じ場合もありますが質問のたびに若干文章が増えたり最低限だったりです.
そんなChatGPTの回答から必要な箇所だけ取り出すにはこちらからある程度ルールを決めさせるのが一番楽な方法です.
回答が複数・リストの場合
ChatGPTに質問した回答が複数だったりリスト形式と想定される場合は、その回答を明確にするため例えば先頭に特定の文字を挿入することをChatGPTに指定させます.
ただしこれだけだと他の文章で使われてしまうおそれがあるのでそれ以外では使わないよう念を押しておきます.
メインの質問とこのルールを合わせてChatGPTに質問することで回答の該当箇所のみ指定の文字が入るため、ショートカットで取り出しやすくなるというわけです.
今回は正規表現で(?<=・).*にマッチさせていますが(・は今回指定した文字)、回答に同一文字が含まれていないのが確実であれば「テキストを置き換え」で指定文字を消すのもアリです.
これでChatGPTから単純に質問するだけでなく、そこからショートカットで編集しやすいよう出力できます.
上で挙げたままだと表記揺れが生じうるので、厳密性を求めるならもっと具体的にルール決めをする必要があります.
ChatGPTの課題
ChatGPTはまだまだ回答を誤ることがあるのは周知の事実だと思います.
例えばこれは誤りではないですが記事執筆時に開催中のパリオリンピックが抜けて代わりに84年のロサンゼルスオリンピックが入っています.
また表記揺れで前回の東京オリンピックについてわざわざ延期されたことを示す表記がされていますね.
レシピは当然同じものです.
また「夏季オリンピック」と質問しているのに2014年のソチオリンピックが入ってしまう場合もあります.
それどころかこの場合はシドニーがなぜかアメリカということになってしまっています.
このような表記揺れや誤回答を防ぐためには結局人間側が工夫することになります.
具体的な値を取り出す
上記はリスト形式だった場合ですが今回は回答のどこかにある具体的な値が欲しい場合です.
リストの場合は先頭に特定の文字を入れましたが今回は特定の文字で囲ってみましょう.
ここでは【】で囲ってみます、うまくいったら正規表現で(?<=【).*(?=】)にマッチさせれば【】で囲まれた中身だけ取り出せます.
もちろん今回も目的以外で特定の文字(今回は【】)を使わないとしたので、回答の該当箇所に同一文字が無ければ正規表現「テキストを置き換え」で消すだけで済みます.
これで回答のうち目的の部分だけ取り出すことができます.
〆
ChatGPTは回答の真偽はもちろんどのような文章で返してくるのかその時々で変わる場合があるので、内容次第ではもっと工夫する必要が生じるかもしれません.
いずれにしろショートカットを使えば答えをもらって終わり…でなくその先まで処理できるのが強みです、利用しない手はありません.