タロットカードのキーワード更新

GeminiとつくったタロットリーディングのPythonアプリ、カードのキーワードをChatGPTで更新した。Geminiが拾ってくれた一般的なキーワードを採用していたけれども、「重複がある気がするがどうか」「よい意味に振りすぎているのではないか」ということが気になっていたのだ。

そこで、Geminiによるキーワード一覧をChatGPTに提示し、修正提案を頼んだ。
ChatGPTはここのところ、私の考えてること、すきな本、仕事の仕方、言葉の遣い方とか言い回しとかに沿っただいぶ違和感ない返答をするようになったので、ちょっと他のLLMより一歩抜きん出た感じ。今回の提案も納得できるものだったのでそのままさしかえようかなと思ったら、「全体の抽象度やレベルをそろえたほうがよい」とのこと。確かにそれも整理したかったことだ。
それに、一部を修正をすると全体のバランスが壊れると。それもそのとおりだね。

ま、ほんとうは自分でやるべきなのだが、78枚もあるのでちょっと大変。あと、タロットカードの意味はいまさら私が考えてつくりだすでもないのでご勘弁いただきたい。

ということで、以下の方針でキーワードをそろえてくれ、と指示することに。

  • 苦難や停滞、崩壊などの、厳しい意味も残す。
  • 全体のバランスを再検討して整える。
  • 言葉のレベルをそろえる。逸脱する場合はそれが効果的であるようにする。
  • 原則として、別のカードにまったく同じキーワードを当てない。

とはいえ、一気に全部できるわけではないみたい。
文字数制限もあるので、3回に分けて全体をそろえてからさらに調整をするという。

  1. 大アルカナ
  2. 小アルカナ:ワンド、カップ
  3. 小アルカナ:ソード、ペンタクル
  • 重複語の除去
  • 派生語の整理
  • 抽象度の統一
  • カード固有性の強化
  • AIが扱いやすい語彙への最終調整

ChatGPT1といえども、これを一度で処理するのは難しいんだって(課金してないからかもしれないけど)。まず全部をそろえてから、微調整するほうが確実だと。一覧する段階が必要みたいだ。ふーん。そこはなんか、人間と一緒のような。

結局、少し近接するキーワードも残ったけれど、カードには絵があるから、受ける印象はそこでも差別化できるだろう。

カードのキーワード一覧を更新して、プッシュし直したら完成だ。2

私のタロットリーディング

私のリーディングは、米光一成先生に倣って「具体的な占いの結果は、キーワードから当人が思い当たる」という方式を採用している。具体的な質問や状況や感情やなんやかんやは、結局、自分しか知らないし。

で、そのためにはこういう、「カード総体としてバランスがとれていること」は重要だと思う。
レベルの違うものが混じっているのは、私はあまりすきじゃない。見出しのレベルが合ってないと気持ち悪いのと同じだ。そのへんは、編集者っぽい癖だなと思ったりもする。

そもそも、私のタロットリーディングのアプリはとてもシンプルなものだ。

  1. 画面上で大アルカナのみかフルデッキ(大アルカナ+小アルカナ)かを選ぶ。
  2. シャッフルする(実際には、したつもりになる)。
  3. 一枚ずつ引く(正位置のみ採用/最後の1枚になるまで重複なし)。

ほんとうはスプレッドを再現できたらよかったけど、そこまでは難しいし、スマートフォンの画面じゃよく見えない。
だから開いたカードが何を示すかは、自分であらかじめ決めてから引く。
たとえば、「今の状況は?」「それに対する対処法は?」「対処するとどうなる?」「しないとどうなる?」と、いちいち自分で設問を立てる。
これで、わりとどんなQにも対応できると思う。

私はこう読んだけどあなたどう思う?

それで、AIだ。

LLMは、

  • 相談者の文章
  • 質問
  • カード名
  • キーワード
  • カード画像

をまとめて読んで、その場で意味を組み立てるのが得意なのだ……と、ChatGPTが言っていた。

でも、私は勝手になにか言ってほしいわけじゃなくて、引いたカードから最初に「思いつく」のは私。
それについて示してから、+αは聞いてみてもいい。

こういう問いでこういうカードが出て、私はこう読んだ。
「で、あなたどう思う?」と、“第ニの読み手”の役割を振る。
これをちょっとやってみた。

今日引いたカード、質問はこんな感じ(▼が私)。


▼今のうちの会社の状態、どうなんだろう?

🏷️ 1枚目のカード
ワンドの9 (Nine of Wands)
【このカードが示すメッセージ】
警戒、備え、持久、防備

▼「なんとか持ちこたえてる」って感じなのかな。
▼これからどうしていったらいい?

🏷️ 2枚目のカード
ペンタクルの8 (Eight of Pentacles)
【このカードが示すメッセージ】
精進、熟練、鍛錬、継続

▼え、さらに精進せよって?
▼なんとか続けていくしかないってことかなあ。
▼誰かに助けてもらえたりするかな?

🏷️ 3枚目のカード
カップの3 (Three of Cups)
【このカードが示すメッセージ】
友情、祝宴、共有、親交

▼うーん。これまでの付き合いを大事にするのがいいってこと?
▼具体的に誰が私を助けてくれる?

🏷️ 4枚目のカード
ペンタクルの2 (Two of Pentacles)
【このカードが示すメッセージ】
柔軟性、両立、調整力、応変

▼ええ? 柔軟な人?
▼ちょっと、どういう人かわかんないなあ……。


ChatGPTはちょっと違う角度からのリーディングを提案してきたけど、とくによかったのは、4枚目のカードについて。

最後。ペンタクルの2。
ここは確かに少し分かりにくいですね。
でも、「どんな人?」という質問に対して読むなら、私は人物像として読みます。
この人は、
・一つの肩書ではない
・複数の仕事をしている
・状況に応じて役割を変える
・調整役が得意
そんな人物です。
たとえば、
・編集も営業もやる人
・研究者でもあり実務家でもある人
・フリーランス
・小さな会社の経営者
・いくつものプロジェクトを掛け持ちしている人
逆に、「強力なリーダー」、全部引っ張ってくれるタイプではありません。

もう一つ面白い読み方があります。
4枚目は「誰か」ではなく、
「あなた自身が、その役割になる」
という読みです。
つまり、「助けてくれる人は?」という問いに対して、カードは「状況に応じて柔軟にバランスを取れるあなた」を示している可能性があります。

……なんと!

ペンタクルの2、私だったのか!

(言われてみればそうかも)

とまあ、こんな感じで使うことができる。
自分で完結したり、気が向いたらChatGPTに投げたりしながら、やってみようかな。


  1. ところで、なぜかChatGPTは、私が指示していないにもかかわらず最初から「LLM向けタロット辞書」を作成しようとしていた。なんで? Pythonアプリだと言ったからかな。 ↩︎

  2. card_data.py内の各カードのキーワードを新しいものに修正して、GitHubにプッシュ。……だけじゃなく、Streamlit Community Cloud3のアプリのページでrebootするとこちらでも更新が反映されるみたい。 ↩︎

  3. Streamlit Community Cloudの無料プランでは、非公開(GitHubのprivateリポジトリ)でデプロイして動かせるアプリは1つだけ。だから、2つ目のPythonアプリをつくったら、どちらかはGitHubでpublicリポジトリにしないといけない。 ↩︎