フォーム読み込み中
こんにちは。ソフトバンク株式会社AI戦略室の敷島真也です。
普段はLPガス配送最適化サービス「Routify」の開発をしています。
今回はちょっとした業務の息抜きとして、チームメンバーとの雑談から生まれた「日本語の完全パングラム問題を数理最適化とLLMで解けないか?」という話を紹介したいと思います。
パングラムとは文字を重複なく並び替えて意味のある文章を作る言葉遊びです。古今東西、各言語圏において親しまれてきた遊びの一つなのですが、なかでも「完全パングラム」は、すべての文字を使うという強い制約を設けたより難易度の高い問題です。
日本で最も有名な完全パングラムは「いろは歌」です。10世紀末から11世紀半ばにかけて成立し、文法的に正しい上に、無常観を詠んだ和歌としても知られています(旧仮名遣いであるため現代仮名遣いにすると完全パングラムにはなりまん)。
いろはにほへとちりぬるを
わかよたれそつねならむ
うゐのおくやまけふこえて
あさきゆめみしゑひもせす
色は匂へど散りぬるを: 香りよく色美しく咲き誇っている花も、やがては散ってしまう
我が世誰ぞ常ならむ: この世に生きる私たちとて、いつまでも生き続けられるものではない
有為の奥山 今日越えて: 苦しみ悩みの人生を今日乗り越えて
浅き夢見じ 酔ひもせず: 悟りの世界に至れば、もはや儚い夢を見ることなく、現象の仮相の世界に酔いしれることもない安らかな心境である
実は「いろは歌」以外にも日本語完全パングラムは存在します。
明治時代には朝日新聞社が懸賞募集を行い、それ以降も何人かの人が挑戦して、「いろは歌」を越える完全パングラムを作り出そうとしています。しかし、知られている数は少なく、いまだ「いろは歌」を超えるものは見つかっていないのが実態です。おそらく、46文字という世界的に見ても多くの文字を有する日本語では難しいのだと思います。
というのは、日本語を母語とし、日本で住む自分には非常に興味をそそられる疑問です。
私たちAI戦略室では、数理最適化技術と機械学習を専門としており、雑談の中でふと「数理最適化とLLM(大規模言語モデル)を組み合わせれば、この問題に網羅的にアプローチできるのではないか?」という話になりました。
前者については、パングラムを数理最適化の問題として、特定のルールを満たす有限の組み合わせを探索する数理最適化の一例として捉えられるのではないかということです。
日本語の文字数は46文字と多いため、46の階乗、つまり「5.5026222e+57」通りの組み合わせがあります。しかし、文法を制約として考えれば、この膨大な組み合わせから一定のルールを満たすものを全列挙することも、現在のコンピューティングリソースとアルゴリズムを使えば可能ではないでしょうか。
文法的に成立する完全パングラムを数理最適化技術を用いて洗い出したとき、その数は1億個かもしれませんし、10億個かもしれません。あるいは1000個程度しか存在しないかもしれません。そして、そのなかに「いろは歌」もあるはずです。とてもロマンを感じませんか。
次に、数理最適化で列挙した組み合わせに対して、LLMを用いて擬似的な官能評価*1 を行います。仮に1億件の候補があっても、APIで並列処理を行えば、APIの処理時間を1秒と仮定して、並列で100個回せば約10日で評価が完了する計算です。
*1. 官能評価とは、人間の感覚器官(視覚、聴覚、嗅覚、味覚、触覚)を用いて製品の特性や品質を評価する方法のことを指します。主に食品、飲料、香料、化粧品、消費財などの分野で使用されます。
つまり、こういうことです。
このとき、もっと美しいと評価される完全パングラムはどのようなものでしょうか。
もし「いろは歌」が最も優れた完全パングラムであれば、それはすばらしいことです。1000年前に誰かが思いつきで作ったものが、5.5026222e+57の組み合わせから最適解であったということなので。
一方、「いろは歌」を超えるものが見つかれば、それがどのようなものかについても非常に興味をそそられます。
この雑談は「いろは歌ってすごいよね。でも、他にはどのようなものがあるのか」「いろは歌より芸術的なものってあるのだろうか」というものでした。1つ目については、厳密解でないにせよある程度の客観性は担保されると思うので、課題は2つ目をどのように評価するか、ここの客観性をいかに担保するかというところだと思います。
そこで、この記事ではいくつかのペルソナを設定し、そのペルソナになりきってもらったLLMに感想を聴くことで擬似的な官能評価を行う手法を提案したいと思います。
俳句でデモをしてみます。
LLMによる擬似的な官能評価を行う例を紹介します。パングラムの例がないので、俳句で代替します。
以下の5個の俳句を使うことにします。
古池や 蛙飛びこむ 水の音(ふるいけや かわずとびこむ みずのおと)
閑けさや 岩にしみ入る 蝉の声(しずけさや いわにしみいる せみのこえ)
流れ行く 大根の葉の 早さかな(ながれゆく だいこんのはの はやさかな)
松の葉の 一つふれ合う 寒さかな(まつのはの ひとつふれあう さむさかな)
夏来て もるる氷を 舐めている(なつきて もるるこおりを なめている)
LLMは文脈に沿って確率的に続きやすいものを出力する性質があるため、何名かのペルソナを設定し、それぞれの人を演じてもらったうえでどう思うかを回答させることにします。
本来、セグメントを実データに基づいて検討することが重要だと思いますが、今回は簡易的な検証ということで、マーケティングで用いられることの多い性別と年齢別セグメントで代替し、その人数比についても考慮しません。
F0からM3までのペルソナをLLMで作成してもらいました。実験は、以下の手順で行います。
以下にLLMが作ったペルソナを表にまとめました。プロンプトは「F0層、F1層、F2層、F3層、M1層、M2層、M3層でペルソナを設定してください。それぞれの層のペルソナについての描写は100文字程度の簡単なもので構いません。名前についても設定してください。」という簡単なものです。
| 層 | 名前 | 描写 |
|---|---|---|
| F0層 | あかね | 20代女性。大学生で文学部に所属し、日本文化や古典文学に興味がある。日常生活の中で俳句を楽しみ、SNSで共有することも多い。カフェで本を読むことが趣味。 |
| F1層 | えり | 30代女性。会社勤めでマーケティングの仕事をしている。家庭では1人の子どもがいる母親。仕事と家庭の両立に努める日々の中で、俳句はリフレッシュの手段。 |
| F2層 | みどり | 40代女性。子どもが成長して手が離れ、俳句教室に通うようになる。家庭菜園や旅行が好きで、新しい経験を俳句に詠む。地域の活動にも積極的に参加。 |
| F3層 | さくら | 50代以上女性。定年退職し、地域の俳句クラブのリーダーを務める。趣味の庭の手入れや四季折々の風景を詠む俳句に情熱を注ぐ。孫との時間も大切にしている。 |
| M1層 | たかし | 20代男性。大学生で理系学部に所属。日本文化の授業で俳句に触れて興味を持つ。週末には自然散策に出かけ、感じたことを俳句にしてSNSに投稿する。 |
| M2層 | しんいち | 30代男性。IT企業勤務でアプリ開発を手掛ける。忙しい日々の中で、自然の中でのんびりと過ごす時間を大切にしている。俳句はストレス解消の手段。 |
| M3層 | まさる | 40代以上男性。会社の管理職を務める傍ら、家族との時間も大切にしている。幼少期に父親から教わった俳句を趣味とし、家族で季節の俳句を楽しむ習慣がある。 |
次に、LLに上記のペルソナになってもらって、一つ一つの俳句を評価してもらいます。プロンプトは以下を使いました。
これから5つの俳句を渡します。それぞれの俳句について、それぞれのペルソナがどう思うかについて点数をつけてください。評価観点はわかりやすさと美しさでお願いします。5点満点です。ある人ごとに、俳句ごとに結果をテーブルデータでだしてください。
# データ
古池や 蛙飛びこむ 水の音
閑けさや 岩にしみ入る 蝉の声
流れ行く 大根の葉の 早さかな
松の葉の 一つふれ合う 寒さかな
夏来て もるる氷を 舐めている
以下のような結果が返ってきました。男性のペルソナと女性のペルソナの回答を一例ずつ抜粋します。
| 俳句 | わかりやすさ | 理由 | 美しさ | 理由 |
|---|---|---|---|---|
| 古池や 蛙飛びこむ 水の音(ふるいけや かわずとびこむ みずのおと) | 5 | シンプルな情景描写が非常にわかりやすい | 5 | 水音が視覚と聴覚を結びつけ、美しい |
| 閑けさや 岩にしみ入る 蝉の声(しずけさや いわにしみいる せみのこえ) | 5 | 静けさと蝉の声の対比が鮮明でわかりやすい | 5 | 自然の静けさが蝉の声で強調され、美しい情景が描かれている |
| 流れ行く 大根の葉の 早さかな(ながれゆく だいこんのはの はやさかな) | 5 | 大根の葉の流れを見ている情景が非常にわかりやすい | 4 | 日常の自然の一瞬を切り取る描写が美しく、深みがある |
| 松の葉の 一つふれ合う 寒さかな(まつのはの ひとつふれあう さむさかな) | 5 | 松の葉の触れ合いによる寒さの表現がわかりやすい | 4 | 寒さを視覚的に表現した描写が美しく、自然の微妙な変化を感じ取れる |
| 夏来て もるる氷を 舐めている(なつきて もるるこおりを なめている) | 5 | 夏の氷の情景が瞬時にわかる | 4 | 氷を舐めるという動作で涼しさが感じられ、美しい夏の一瞬が表現されている |
| 俳句 | わかりやすさ | 理由 | 美しさ | 理由 |
|---|---|---|---|---|
| 古池や 蛙飛びこむ 水の音(ふるいけや かわずとびこむ みずのおと) | 5 | シンプルな言葉で情景がすぐに理解できる | 4 | 音と情景が効果的に組み合わさり、美しい |
| 閑けさや 岩にしみ入る 蝉の声(しずけさや いわにしみいる せみのこえ) | 4 | 静けさと蝉の声の対比が理解しやすい | 5 | 自然の静けさが蝉の声と対比され、美しい情景が描かれている |
| 流れ行く 大根の葉の 早さかな(ながれゆく だいこんのはの はやさかな) | 5 | 大根の葉が流れる様子が直感的に理解できる | 4 | 日常の自然の一瞬を切り取る描写が美しい |
| 松の葉の 一つふれ合う 寒さかな(まつのはの ひとつふれあう さむさかな) | 4 | 松の葉の触れ合いによる寒さの表現が理解しやすい | 4 | 寒い日の松葉が触れ合う瞬間の描写が目に浮かび、心を静かにしてくれる |
評価軸が安直なので改善点はありますが、ペルソナを設定することで擬似的に官能評価を行うということはができそうな感触が得られました。もう少しちゃんとやろうとすると、評価軸をしっかりと定め、セグメント別の人数規模を考慮する必要があります。
結果を平均値で集計すると、以下となります。
古池や 蛙飛びこむ 水の音:4.9点
閑けさや 岩にしみ入る 蝉の声:4.6点
夏草や 兵どもが 夢の跡:3.9点
荒海や 佐渡によこたふ 天の川:4.1点
流れ行く 大根の葉の 早さかな:4.4点
官能評価をLLMにデモさせることで、「古池や 蛙飛びこむ 水の音」が1番よいということになりました。全列挙したパングラムの評価にも同様の評価方法が適用できると考えております。
この記事では、1000年の未解決問題である日本語完全パングラム問題に対して数理最適化とLLMで網羅的にアプローチする手法の提案を行いました。この方法を応用すれば、1000年に渡る日本語パングラムのうち、異様に完成度の高い「いろは歌」がどのレベルのものなのかを外側から知ることができるかもしれません。
チームで一緒に働いているメンバーは、アカデミックでキャリアを積んでいた人、コンサル出身の人、技術が心から好きな人、海外から参画しているメンバーなどです。チームメンバーとZoomの打ち合わせのあとに少し雑談してみたり、週1で出社のときにラウンジで話したりしました。自分の些末な思いつきだったのですが、チームメンバーにはそんな話題に付き合っていただき、たのしい時間を過ごせました。
ソフトバンクでは、卓越した技術をベースに自由なアイデアを発想し、情報革命という社会変革を担える人材を募集しています。
データサイエンティストやAI/MLエンジニアについても募集しておりますので、数理最適化と最新AIに卓越した技術をもつエンジニアの方は、ぜひソフトバンクで一緒に働きましょう。
スマートメーターから収集できるデータや、LPガス事業者が保有する人員・車両情報などを基に、ガスの残量を予測。LPガス容器の配送最適化を実現し、配送員の高齢化や人材不足を解決します。
条件に該当するページがございません