拡散モデルに言語創作をしてほしいなぁ

この記事は創作+機械学習 Advent Calendar 2022 の 25 日目の記事です。ところで今は 2022 年 12 月 31 日です。おやぁ。

 

遅刻しておきながら、実際に計算機を回したりしているわけではない、ある意味少し的はずれな記事内容になってしまい申し訳ありません。一方で、比較的ユニークな話題をこのアドベントカレンダーに持ち込むことができるように努力したので、楽しんでいただければ幸いです。

 

なお、昨年度は 『架空世界の表意文字用の手書き文字認識を実装したい (part 1)』という記事で創作+機械学習 Advent Calendar 2021 に参加したのですが*1、今年の記事の内容はこの去年の記事と関連があるので、そちらも合わせてお読みいただけるとさらに楽しめるかもしれません。

 

hsjoihs.hatenablog.com

 

以下常体で書きます。

 

想定読者層

以下のうちのどれかに当てはまる人。

  • 人間が話す言語に興味がある人
  • 機械学習、特に拡散モデルによる絵の生成に興味がある人
  • 細かい設定を詰めた創作が好きな人

言語は一様乱数列ではない

言語は一様乱数列ではないということはマジの太古の昔から知られてきた。1843年に発表されたエドガー・アラン・ポーの小説「黄金虫」には、主人公が暗号を解読するのに、英文に登場するアルファベットは t や e がやたら多く z や x はかなり少ないという性質を用いる描写があり、この事実が人口に膾炙するきっかけの一つになった。また、言語を構成する要素の使用頻度の分布自体にも、20世紀前半の言語学者ジョージ・キングズリー・ジップが「ある言語で n 番目によく使われる単語は、一番使われる単語の n 分の 1 程度しか登場しない」という法則を発見した。

とはいえ、抽象的な話だけしていても面白くないので、読者にとって身近であると推察される日本語を例にして説明しよう*2

日本語(の標準語)*3の文の音韻的構造を記述できる非常に雑 (crude) なモデルを紹介すると、

 

const 子音候補 = ["", "k", "s", "t", "ts", "n", "h", "m", "r", "w", "g", "z", "d", "b", "p", "f"];
const 母音候補 = ["a", "i", "u", "e", "o", "ya", "yu", "yo"];
const 特殊モーラ候補 = ["", "ん", "っ", "ー"];

 

とでも定義したとき、

  • 「子音+母音+特殊モーラ」が繰り返され、「アクセント句」が作られる
  • アクセント句の中の 1 個または 0 個に「アクセント核」が付与され、「アクセント核」より後からジェットコースターのように一気に音程が下がる

としてやると、日本語の音声*4をそれなりに表せるモデルになる。

 

具体例を挙げると、「ちょっと相談がありますので」という文は

 

(画像は OJAD - オンライン日本語アクセント辞書 を用いて生成)

 

というような構造になっているので、これを

と分析してやることで、先程のフォーマットに当てはめることができる。以下、これを略記して「ちょ]っと そーだんが ありま]すので」のように表すことにする。

 

さて、このフォーマットにだけ従って、残りを一様乱数で埋めるとどうなるだろうか。日本語になるだろうか。やってみよう。

 

  • ぴょべ] でゅーせ]ー たんてぃっしょっよ]ん びゅぴ]っひょんうぃゃんばっ のっうぃゅんじゃふゅんふゃ]ー
  • きでぃゃ]ーひょ ふぃっぎゃ]っぎゃーうぉっし うぃゃーひょ] げんふぁず]ん みょ
  • ちゃーな]ー さーほ でぃゃん めーつぃゃじゃ]ってっぴーせー うぃゃちょーめ]ーぬっ

知 っ て た。

 

RGB にランダムな値をセットしたものが絵と呼びうる代物では到底無いのと全く同じように、フォーマットにだけ従って音素をランダムに並べたものは到底人間の話しうる言語ではありえない。

「RGB にランダムな値をセットしたやつ全体の集合」の中の非常に小さい部分集合のみが絵と呼びうるのと同様に、「フォーマットにだけ従って音素をランダムに並べたもの全体の集合」の中の非常に小さい部分集合のみが、人間の話しうる言語として plausible でありうる。

人の話す言語が好きである。人類は言語についてまだ全然なにも分かっていないにもかかわらず、とりあえず意味を伝えることができている。如何なるプロトコルで伝達すべきかというマニュアルがRFCを読みに行けば書いてあるコンピュータの分かりやすい世界と異なり、どこにも網羅的な仕様書が書かれていないのになぜか赤ん坊は言語を学ぶことができるし、大人も十分頑張れば結構上手に言語を学ぶことができる。非常に面白い。コンピュータの言語では0x00から0xFFまで全てを合法として意味を与えることは普通であるが、人間の話す言語はスカスカであり、「ムスビメ」には意味があるが「ケセリマ」には意味が無い。このスカスカさは聞き間違いを減らす役割を果たしていると言われていて、人間が言語を話す際の情報伝達速度はどの言語でも秒速39ビットであると主張する研究もある。面白い。さらに、言語は時間がたつにつれ変化し、ある音が別の音と区別されなくなったりする。しかし、そういう「減る作用」に対して、複合語などの形成による「増える作用」が上手くバランスを取っているのが本当に面白い。
私の過去記事『セキュリティ・ネクストキャンプ 2021 応募課題晒し』より引用

 

さて、ここまでお膳立てをすると、私がなんの話をしようとしているのか察することができる方も多いであろう。最近世間をとてつもなく賑わせて久しい、拡散モデルによる絵の生成である。

 

 

拡散モデル

「言語に詳しいが、機械学習とかにあんま興味を持ってこなかった」という人もこの記事の想定読者に位置づけているので、雑に拡散モデルというものの紹介をしようと思ったが、書くのが面倒になってきたので、人様の記事を丸々引っ張ってきて紹介とする

さて、ここからはAIの仕組みの話になります。「AIは無意味なノイズからノイズを取り除くことでイラストを生成している」と聞いて、少し混乱するかもしれません。ノイズからノイズを取り除いたら、何も残らないと思いますよね?大丈夫です、ちゃんと説明します。

 

Stable DiffusionNovelAI Diffusionといった最近の画像生成AIは、「拡散モデル」という仕組みを使っています。拡散モデルは、次のような仕組みです。

  1. 画像と、それにノイズを加えたものを用意する
  2. ノイズを加えた画像から(ノイズを取り除いて)元画像を推測できるようにAIを訓練する
  3. 無意味なノイズを与えると、存在しない「元画像」を生成できるようになる

これを人間で例えると、こんなイメージです。

※厳密には、AIの場合はノイズあり画像と元画像の両方が与えられます。

  1. ある国ではイラストが禁止されることになり、モザイクのかかったイラストしか見られなくなった
  2. 人々は、モザイクのかかったイラストからもとのイラストを想像するようになった
  3. 人々に「モザイクのかかったイラストのように見えるが実際は無意味な画像」を見せると、その画像からイラストを想像しようとする

これが、拡散モデルの仕組みです。

Robot-Inventor『イラスト生成AIに対するよくある誤解』より引用

同様のことが言語に関してもできてくれないかな〜、というのが、この記事で私が一番言いたいことである。

え、文章生成 AI はもうあるよね?

もちろん。私が求めているのはそれではなく*5

 

「語彙・文法現象・例文・その言語ならではの特性を生かした文学」とかを内部一貫性を保った形で持った、「いかにも人間が話しそうな」言語が創作されること

 

である。

これに関して、ともに言語創作をしてきた Μίττον(みっとん)に感想を求めてみたところ、以下のような返事が得られた。

文章生成 AI って言語構造にただのりしているからなぁ。我々は言語という制度の体系を作りたいのであって、文章生成 AI が書いてくる日本語や英語の文章という『既存制度にうまく適応した例』でしかないものは、おもろいが、おもろいだけという気持ちになる。多分この世には『お絵かきAI、美術史上の動向に乗っかることはできるだろうけど、今のところ動向を作れそうにはないよね』とか言っとるやついるだろ。

 

どういうこと?

さっき貼った「一様乱数列な日本語」を録音してくださった id:yuchiki1000yen が非常に上手く記事にまとめてくださっているので、まずそれを引用すると、

創作自然言語というものを知っているだろうか? 我々が普段喋っているような言葉を、プログラミング言語や数式体系などと対比させて「自然言語」と呼ぶことがある。 その「自然言語」のようなものを、あたかも劇を作ったり、歌を作ったり、小説を書いたり、ゲームを作ったりするのと同様に、創作する人々がいる。私は、この「人によって創作された自然言語」を「創作自然言語」と呼んでいる。 一般にはその界隈の人には「人工言語」と呼ばれることが多いがプログラミング言語や何らかの符号体系も「人工言語」と呼ばれて名称が被るので、私は好んで「創作自然言語」と呼ぶことが多い。 自然言語創作と言ってもピンと来ないかもしれないが、例えば

  • この言語にはこういう語彙があり
  • この言語はこういう文法を持ち
  • この言語の動詞はこういう活用をして
  • ...

のようなものを決めて行く営みだと思えばよい。 創作物の言語がなんであるかのスタンスは創作者によってまちまちであり、例えば「ゲームや小説の中のように架空の世界に架空の民族がいて、彼らが喋っている言語」というスタンスで行う人もいれば、「この言語は我々現世の人が趣味として/何らかの目的で用いて意思疎通するためのものである」というスタンスを取るものもある。 全者の例だと「星界の紋章」という小説で、その中の民族が用いているという設定で作られたアーヴ語というものがあり、後者の例だとエスペラント語というものがある。

今回は前者のスタイルの創作自然言語のひとつである、バート語というものを勉強してみた。

yuchiki1000yen『創作自然言語バート語の文法を勉強した』より引用

 

ということで、私は、この記事で登場するバート語という言語を(他人から引き継いで)創作している。

 

他にも、その言語が話されている(という設定の)文化圏で広く遊ばれている(という設定の)ボードゲームのオンライン対戦を実装したりなどしているが、それは今回の記事にはそんなに関係ないので、過去記事を参照されたい。

 

さて、先程「内部一貫性」という単語に言及した。創作をする上でそれなりにこだわっているポイントなので、もう少し詳しく具体的に述べていきたいと思う。

 

たとえば、知り合いのこういうことをツイートしているような人に、

 

「今年中に記事を書きたいので今から2時間半以内に語源を遡ってこうこうみたいな話をしたためてください」という無茶ぶりを頼んでみたところ、

こんにちは,Мороже です。僕はポケモンというゲームを少し触れています。ところでポケモンというゲームは日本で購入してもセーブデータを作成する前に言語を選択することができ,勉強になるかなぁという思いでORAS以降のポケモンを全てドイツ語でプレイしています。
さて,シャンデラという名前の通りシャンデリアを意識したようなデザインのポケモンがいるのですが,これのドイツ語名は Skelabra です。シャンデラはゴースト・ほのおタイプのポケモンであることを踏まえると,Skelabra はドイツ語 Skelett「スケルトン」とラテン語 candēlābra(pl.) < 単数形 candēlābrum「枝付き燭台」をミックスしたものだと思われます。みなさんご存知の天井から吊り下げる「シャンデリア」はこのラテン語 candēlābrum /カンデーラーブルム/ からのフランス語 chandelier /シャンデリエ/,からの英語 chandelier /シャンデリア/ に由来するカタカナ語ですね。つまりシャンデラと Skelabra はその見た目に反して同語源の単語をそれぞれネーミングに含んでいることが分かるわけです。
カンデーラーブルムがシャンデリエになった経緯の背景として,ラテン語の /ka/ の音が古フランス語(9 世紀ごろ)で /t͡ʃa/ (チャ)になり,数世紀かけて /ʃa/ になったことが知られています。音変化というのはある程度規則的に起こるものであり,もっと別の例を挙げることもできます。
・「シャルル」というフランスの人名がありまが,これは Charles と書き,ラテン語 Carolus /カロルス/ に由来します。Charles は同じスペルのままで英語でチャールズと読めますが,これは英語くんがフランス語側で ch の発音が /t͡ʃ/ だった時代にこの語を借用してきたことの名残ですね。
・「オーシャンゼリゼ」の歌で知られるシャンゼリゼは les Champs-Élysées と書きます。Élysées の部分は古典ギリシャ語 Ἠλύσιον エーリュシオン「ギリシャ神話の死後の楽園」で,champ は「野原」です。元となったラテン語は campus /カンプス/ で,これはコクヨの Campus ノートや,大学構内を表す英単語 campus およびそれ由来のカタカナ語「キャンパス」でお馴染みですね。野営地を表す英語 camp もラテン語 campus に由来します。
シャンデラに少し話を戻すと,ラテン語 candēlābrum 「枝付き燭台」は candēla 「蝋燭」から来ていて,英語 candle「蝋燭」はここに由来しています。光度のSI基本単位であるカンデラ(記号 cd)もこれですね。
ついでなのでヨーロッパから離れて東南アジアの言語の話もしましょう。タイ語では,月曜日のことを วันจันทร์ /ワンチャン/ と呼び,วัน /ワン/ が日,จันทร์ /チャン/ が月のことです。ところでタイ文字をやったことがある人は分かるかもしれませんが,จันทร์ という綴りにはなんと /t͡ʃandr/ と書いてあり,最後の dr という部分にはガーラン (การันต์) という黙字記号(←語源を表しつつも発音を表すための優良システムです。英語とかも採用してくれないかな〜)が付いています。というわけでタイ語 การันต์ /チャン/ はサンスクリット語 चन्द्र /チャンドラ/ 「月」に由来するわけなんですが,これは原義を辿ると「光るもの」であり,ここでさっきのラテン語の蝋燭 candēla(< candeō「光る」の名詞形)との繋がりが見えてきますね。先ほどフランス語の話で述べた /k/ > /t͡ʃ/ の変化がサンスクリット語でも起きていることも確認できます。サンスクリット語ラテン語が共通の祖先「印欧祖語」を持ち,さらにタイが仏教圏であるためにサンスクリット由来の借用語を大量に持つおかげで,タイ語の「月曜日」とポケモンシャンデラが回り回って繋がるの,とても面白くないですか?
(以上: https://nitrone7.hatenablog.com/entry/2022/12/15/210832 に書いた文からいろいろ加筆)
ところでこの文章は「今年中に記事を書きたいので今から2時間半以内に語源を遡ってこうこうみたいな話をしたためてください」と hsjoihs さんにいきなり言われて急ぎで生成したものです。無茶振りか???

 

という記事を書いてきてくれた。すごい。マジでありがとう。

 

こういう風に、「語源を追いかけていくことで、数多くの言語が回りまわって繋がっていく」という話を何時間でも続けられるような我々が、こういう部分にまでこだわって言語を創作すると、わりと同様の解像度で我々の創作した設定について語れるようになるのである。

我々の創作している「東島通商語」という言語で書かれた、架空世界の伝統的ボードゲームのルールブックを、日本語及び別の創作自然言語であるリパライン語で文法解説している文書。 全文は この Google Docs に置いてある。

こういうオタク語りが無限にでき、しかもそれが実在の言語についてできるオタク語りと同様の質であってほしい*6、というのが、私が述べた「内部一貫性」の意味である。

我々はどのようにして言語を作っているのか?

「言語を作っている」という話をすると、「言語なんていったいどうやったら作れるんですか?」と訊かれたりする。絵を描いている人や曲を作っている人に対してはあんまりこういう質問が来ているのを聞いたことがない*7が、私にはしょっちゅうこういう質問が来る。

 

ただまあ、人間がどうやって絵や曲を生み出すかを考えれば、答えはおのずから明らかであって、

「あたらしい呪文はどうやってできるんですか? 本を読めば、これこれをするための呪文を発明した人、というのはいくらでもでてきますが、どうやって発明したかはどこにも書かれていません。」

男はローブのなかで肩をすくめる。 「それをいうなら、あたらしい本はどうやってできる? 本を多く読む人たちの一部は、いずれ本を書くこともできるようになる。 どうやってか。 それはだれも知らない。」 

「本の書きかたを説明している本ならありますが——」

 「そういった本を読んでも有名な劇作家にはなれない。 その手の助言に一定の効果はあるとして、説明しきれない謎はのこる。 呪文が発明される仕組みにもおなじようなことが言えるが、こちらはさらに純粋な謎だ。」

「ハリー・ポッターと合理主義の方法」90章「それぞれの役割(その1)」より引用

要するに、雑に要約すれば「たくさん入力を入れ、なんか手を動かすと、それなりにいい感じの出力が得られたりする」といういつもの話になるのである。

ということで、我々が言語を作るようなプロセスは、具体的には以下のとおり。

1. 手動で語学書とか言語学論文とかを読み漁って「言語ってこういう挙動をするのか〜」というデータセットを脳に蓄える。

過去記事を引用すると、

文法書の全ページを眺める作業(この行為に「読む」という動詞を用いていないことに注意。つまり眺めただけで読了後になんも覚えていない様を表す。)

語学と私』より引用

さらに、わたしは「人間の言語ってどういう挙動をするんだろう?」という問いに対するデータセットをなるべく脳内に蓄えたいというモチベがあるので、語学書とかを買いまくって乱読したりしている

語学と私 (part 4) ― ご縁あってナワトル語の履修が 3 年目に入りました』より引用

 

こういう作業をし、いろんな言語を見て、「言語ってこういうことをするんだな」というデータセットが脳内に構築されると、それをもとに新たな言語が作れるようになったりするのである。

 

ただ、機械学習の界隈においても「画像生成 AI が白人男性の顔ばかりを生成してくる」という話が問題になったのと全く同様に、日本において知名度のある言語の多くが西欧的言語であるというサンプリングバイアスにも気をつけねばならない。

 

つまり、「西欧の付近では共有されているがそれ以外の地域では全然発生しない、言語全体を通して見たときには稀な現象」*8 を強く拾いすぎてしまうと私の目的に合わないので、そういうのに気をつけるために、私に直接的な経済的利益をあんまりもたらさないような言語を幅広く学び、質の良いデータセットを作るというモチベーションが発生する。

 

本棚写真

本棚写真その 2(NHK 出版のこのシリーズ、あとは中国語だけなんだよな)

本棚写真その 3

本棚写真その 4

2. 脳に蓄えた天然学習済みモデルからゆっくりと滴り落ちてくるものを全部かき集めて陳列する

大量のインプットを入れると、なんかいい感じに少しずつアウトプットが得られるので、それをかき集めて陳列していくことで、創作が進んでいく。私の場合は、ここに陳列してある。

jurliyuuri.github.io

試しにブラウザの印刷ダイアログで印刷してみようとしたら、122 枚あった。びっくり。そんなに書いたのか。

3. 人がそれを読んでなんか理解が生え、創作した言語が使用されていく。

世の中には、語学書をたくさん読んできたがゆえに、文法と語彙とそれらに関する考察が陳列されていると、そこから言語を学んで文章やら詩やらをサクサク書けるタイプの人類が存在する。なんなら私もそういうタイプの人類である。

 

ゆえに、そういう人の前にこういう情報を見せると、なんなら 6 ~ 7 時間ぐらいの学習時間で理解が生え、創作自然言語で書かれた既存文章を読解できるようになったりするのである。

yuchiki1000yen.hatenablog.com

yuchiki1000yen.hatenablog.com

 

これまた Μίττον(みっとん)に訊いてみたところ、

この感想は、私がラテン語だのサンスクリットだの割と語形変化の複雑な言語をまあまあ不親切な教科書で習得するのを強いられるのが割と好きで、かつ数学科とかいう、ある意味で一生語学をしているような専門だから出てくるものなのかもしれませんけど、人の陳列棚を眺めていると、そこから背後にある言語を割と復元できますよね。

と言われた。

 

私としても、私の創作した言語でみっとんが普通にいい感じの詩とかを書いてきたことにびっくりし、リパライン語でこのような詩を書いたりした*9

mi krante als'd als mal alfal kinunsares.

私はなんであっても全て書いていて、大抵公開している。

 

akrantier mi le tesyl lot krante lkurftless.

(それを)読んだ者は、私より上手に言語を書いた。

「set.2021:10:29 nancanhiafopyek」より引用

 

4. 言語を運用して集積していると、創作者本人も気づいていなかった言語現象がどんどん観察されていき、記述が増えていく

我々が普段話す日本語の細かい文法についてすらすらと精細に記述できるわけではないのと同様に、

一旦言語を作り始めて運用してしまったが最後、別に文法書に書いて明示的に設定したわけでもないのに「なんかこれはこうやって言うのが自然な気がする!」「たしかに文法書を読むとそういう言い方もできそうに読めてしまうけど、それは超絶不自然。そんな文構造は無理!」といった直観が勝手にニョキニョキ生えてくる。

この中の skurlavenija.mavija がみっとん、jekto.vatimeliju が私である。

こうなってくると、「言語を作っている」というよりも、母語話者に『この文って言える?言えない?こういうこと言いたいときってどうやって表現するのが一番自然?』という調査を行ってそれを記述していく、言語学者の中でもフィールドワーカーと呼ばれる職種を体験しているような気持ちになる。

 

(本職のフィールドワーカーとはどのようなことをする人か、に興味がある方は、古本 真『第1回 フィールドワーカーの苦悩:フィールド言語学とは何か』などをご参照あれ)

 

バート語の創作はWebページ『バート語について考察する』に記録されている。この記録から推察されるように、最近のバート語創作は jekto.vatimeliju による内省によって多くが進められている。その結果として、動詞変化が細かく分類すると20以上に分かれることが判明するなど、現代言語学のメスが入り、思いのほか複雑な現象を起こしていることが明らかになってきた言語の様相を呈している。

ここでは(jekto.vatimeliju による内省によって記述された)音声的な現象を一つ取り上げる。バート語には、特定の条件を満たした語中音節は高く読まれるという現象が存在するが、合成によってその条件を満たすようになった名詞句中の音節は高く読まれないという例外が発見された。例えば /ɣaː.ʋa.nuː/ の /ʋa/ は高く読まれないが、それに /niː.maʃ/ を合成した /ɣaː.ʋa.nuː.niː.maʃ/ の /ʋa/ は高く読まれるための条件を満たす。しかし、上の例外から実際にはこの /ʋa/ が高く読まれることはない。

みっとんが書いた大学レポート(非公開)より引用

我々はなぜ言語を作っているのか?

これもまあ、絵を描いたり作曲をしたりする人たちがそれらの行為をするのと同様の理由であり、私の場合は以下の通りである。

 神の作り出した美しい自然の景観を見て、風景画を描かずにはいられない人というのがいる。風景画をコンピュータに描かせずにはいられない人というのがいる。もちろん、実際の風景というのは、「太陽の中で核融合によって生成されたガンマ線が長い時間を掛けて可視光として放出され、それが膨大な距離を経て地球に届き、クロロフィルの吸収特性により緑が他の色ほど吸収されず、主に緑が多めの反射光が網膜に届き、錐体の吸収特性にしたがって脳に電気信号として入る」といった、気の遠くなるような計算量を世界がやってくれたことに対する帰結である。しかしながら、それよりも遥かに慎ましい計算量によって、風景画を描いたり、風景画をコンピュータに描かせたりできる。


 ということで、山川を見て山川の絵を描くのを好む人がいるように、私は人間の話す言語を眺めるのが好きだし、人間の話す言語を創作し描くのも好きである。

セキュリティ・ネクストキャンプ 2021 応募課題晒し』より引用

とはいえ、今まで長々と語ってきた内容から容易に推察されるように、言語を作るのは普通にめちゃめちゃめんどくさい。ゆえに、ゆったりまったり作っているといつまで経ってもあんまり進まない。もちろん着実に育っていってはいるのだが。

 

ところで、最近のお絵かき AI の台頭により、私の言語・言語創作アカウントの方の TL でも「AI が言語創作をするようになってきたら」みたいな意見を見かけた。

 

まあこういう意見に私が全く納得しないかというとそういうわけではないが、一方で 6 年間もうだうだやっていると「途中まで言語作ったから、あとはその間を納得行く感じに埋めておいていってくれないかな」という気持ちがだんだん強まってくるのである。

 

 

拡散モデルが言語創作をしたら

拡散モデルで言語創作が行われるなら、それはどのような作られ方となるのであろうか?

 

今までの絵が、「人がストロークを一つ一つ書いていき、それを重ね合わせることで作られていた」のに対して、拡散モデルによる絵というのは「絵とは呼べないノイズから、ノイズでない部分だけを残す」という作り方によってできている。なので、これの創作自然言語版ということは、「長大な一様乱数列をまず用意し、そのうち『言語と呼べない部分』を削り、言語な部分を残す」という作り方になることだろう。

 

さて、手元の「現代ヘブライ語辞典」は 30 行 2 段組、1 行 18 字の日本語で 488.5 ページあり、「約 17,000 語を収録した」と書いてあるので、30 * 2 * 18 * 488.5 = 527580 文字の和文があるということになる。和文で使う文字なんて JIS 第一水準ぐらいあればだいたいなんとかなるだろうし、1 文字辺り 12 bit ぐらい割いてやればよかろう。ということは…

え、そんなもんか。800 キロバイトの一様乱数列とか普通に既存手法の拡散モデルが扱ってるようなサイズなのでは。それを上手いこと「辞書」へと変えていけば約 17,000 語を収録した辞書になる、と考えると、私が長々と語ってきたこの妄想も実現そんなに遠くなさそうかもしれん。

 

ところで私が造語をするときの方法の一つに、「非一様乱数列を引いてみて、『この語形はこの言語に合わない!』と直観的に判断したものを除き、『まあこの語形ならいいんじゃない?』となったものを採用する」という過程がある。

 

 

zero[21/154]→e[236/308]→n[104/353]→í[258/308]→h[144/353]→a[30/308]→m[32/308]。ふむ、eníhamúḷか。うーん、なんだろう。

  • ena.ar「言う」cf. xauternaz
  • -íh- 謎
  • amúḷ「勝る」

いや、こんなferet nos extra → fenestraみたいな怪しい説立てるよりは、「語源不明」にしておくべきだろう。

どうしてもしっくりこないので振り直し。s[77/154]→e[223/308]→h[145/353]→á[155/308]→z[163/353]。seházúḷか。あーこれいいな。dházúḷ「楽しい」とも似ているし。

バート語の造語をするpart2 30. 「嬉しい」「喜ぶ」』 より引用

 

これをやることで plausible なものが作れているという実体験から、「乱数列のうち、気に入らない部分を捨てて言語とする」を全てにおいて適用してドカッと言語を作るのも、わりといけるんじゃないか、と妄想している。

 

これに対しての Μίττον(みっとん)の感想は以下の通り。

なんなら語形に対する直観もなぜかある程度伝播するからな。たとえば、前に私が akuti という単語の同根語をバート語に作ろうとしたとき、一瞬 akat という語形を提案したいと思ったが、「バート語はこれほどに短い単語を嫌う」という直観が働き、ághat という語形を提案することができた。こういう直観が学習できるの、非直観的。

なんか『かなり初級の学習者でも、【この単語はこの言語にはないだろ】というのは直観的に判断できるらしい』という論文を昔見た覚えがあるが、出典失念。

絵と言語創作は何が違うか

絵や小説といったものは大量にインターネットに放流されており、また絵ならピクセルの並び、小説ならコードポイントの並びという、その最もプリミティブな形に関しては非常に機械に扱いやすい形としてインターネット上に放流されているし、それを生産する人も消費する人もおびただしい。一方で、私の脳内のデータセットの元になっているものというのは、

  • paywall の向こう側にあったり一般公開されていたりする大量の書籍や論文
  • 人に語学を教えることが目的であって、別に言語の包括的な記述を試みているわけではない雑多な情報源
  • 同様のデータセットを構築することに興味がある同好の士(言語創作者に限らず、言語類型論という分野の研究者も比較的近いところにモチベがある)がまとめてくださった様々な情報
  • 実際に私が自分で既存の言語の統計を取って分析して curve-fit したもの
  • 似た趣味のやつらと何十時間何百時間何千時間と Discord 通話して得られた様々な断片的情報

といったごった煮であり、このごった煮にはまとまりもなければ、「私もやってみたい!」という人々の興味もあんまり引けないような代物である。

 

また、絵は、生成しておけば人間側が勝手にいい感じに解釈してくれる(うれしい)。一方で、言語は、その言語での文だけ生成しても面白くなくて、そこに既知言語での解釈がついてこそ、そしてその解釈が文法構造を成していて内部的一貫性があってこそ、その言語は言いたいことを何でも言える無限(文字通り無限)の可能性を秘めた存在となるのである。

 

私にとってお前の創作は自明に大木だ。

mi io zi'd likka jexi'ert es cyfoijt. 

 

それを使って私たちはなんでも書ける。

cene la lex leus miss krante als faller als.

 

奇妙な小説も大木に訳すことができる。

xorln nyeyl'i at elx cene akrucyfoijt.

 

その能力に私は感動したのであった。

anfi'estana'c fheocaf mi's edixe.

私が創作自然言語リパライン語で書いた詩である「set.2021:9:11 cyfoijt」より抜粋

 

なお、余談だが、「その言語での文だけ生成しても面白くな」いを如実に表す例として、私は「特に意味のない韻律詩書くか〜」とある日思い立ち、韻律詩を無から数千行吐き出している。

 

また、既知言語であっても、意味が無だとこれまたあんまりおもしろくないということを示す例として、昨年「一億総教祖時代を強力にサポートするための、お手軽聖典作成技術」( https://zenn.dev/hsjoihs/articles/2dd0287e32a982 ) と称して、「言語と呼べないような乱数列を機械翻訳にぶち込むことで、言語としての体裁だけは整っている代物を吐き出す」という実験を記事にした。

終章 男 vs. 警備員

流石に人の痕跡があるもので、休憩から同じ長い時間のプログラマーと家系の影に言及しながら食べるために、両方のローンを取る貸主の後に大きな手放すものですが、いくつかは、久保で合計を与える。作った。自衛官って、自分から数人のパーティーみたいなものだよね。最初は真ん中の方にあります。2つは、ヨーロッパの細かいシャットの人々の2つの裁判官は、理解を放棄し、彼らは販売時にチューニングされています。建てられたラインから、コミュニティに群がる小さな雷鳴が疑惑の日が続く中でチャンスを叱り、それを混ぜ合わせた。

ということで、私は拡散モデルが流行る前から「一様乱数列を加工して、それを『人間の話しうる言語として plausible である代物』という小さなサブセットに落とし込めたらうれしいのになぁ」と妄想し続けていたので、その妄想が(絵という、私が全然慣れ親しんでいない分野ではあるが)大いに流行り世間の話題を動かしているのはおもろいなぁと、勝手に思っているのである。

*1:xbar_usui 賞をいただけました。ありがとうございます。

*2:機械翻訳でこの記事を読んでいる非日本語話者がいたらすまない。

*3:本当は「標準語」というより「共通語」と言いたいのだが、この記事の想定読者には「標準語」と言わないと通じない可能性があるので、分かりやすさを優先する。

*4:実は「音韻」

*5:私も創作をする上で現状の文章生成 AI には既にだいぶお世話になっていますけど

*6:要するに、全ての単語が全ての単語と語源的つながりがある、というのもまた現実的ではないよね、というだけの話

*7:「どういうツールを使って曲を作ってるんですか?」といった質問は頻繁に発生しているのだろうが、「曲を作るなんて……いったいどうやって!?」という点を疑問に思って問う人は見たことがない

*8:ここらへんの話はStandard Average European で調べるともっと詳しく出てくる

*9:このリパライン語というのも創作自然言語である。