代数学の基本定理の証明(のスケッチ)を Up Goer Five 単語リスト縛りで書いた

代数学の基本定理 (The fundamental theorem of algebra) という有名定理がある。1次以上の複素係数多項式複素数上に解を少なくとも一つ持つというやつである。

 

真面目に証明するのはそんなに簡単ではないのだが、かなり上手く直観に訴えるゆるい証明のスケッチがあり、かなり気に入っている。

 

さて、xkcd という英語ウェブコミックの #1133 に Up Goer Five というのがある。これは、画像内に Explained using only the ten hundred words people use the most often とあるように、英語における頻度トップ1000の単語だけを使ってサターンVロケットについて説明するというコンセプトの漫画である。

xkcd.com

 

www.explainxkcd.com


個人的には、ノズルの部分に書いてある

This end should point toward the ground if you want to go to space. If it starts pointing toward space you are having a bad problem and you will not go to space today.

が好きである。

 

ちなみにこの漫画の作者はこのコンセプトで Thing Explainer という本も出している。おすすめ。

www.amazon.co.jp

 

話を戻すと、先日その代数学の基本定理の証明(のスケッチ)を見て、「こういうのっていいよなぁ」と記憶に留めていたら、本日(2021年12月31日)「これ Up Goer Five 単語リスト縛りで書けないかな」と思ったので、15分(具体的には14:18~14:33)掛けてとりあえず書いてみた。

 

Draw a very big round road on the land of numbers. The road is so big that it is sent to a new road that goes five times around the None if the sending is of order five. Now, slowly make the old road smaller and smaller until all parts of the road reach the None. While doing that, the new road also changes. What? The new road never touched the None? That is a lie, because after everything has ended, all parts of the new road is also at one place, and you can't slowly change a road that goes five times around the None into a road that is at one place without touching the None at some point in time.

splasho.com


origin はもちろん、 zero すら言えないので、none を固有名詞にするという暴挙に出た。「連続的に」も無理なので slowly で逃げる。「n次方程式」方面がかなり苦戦すると予想していたが、勝因は order という語がかなりの多義語であるがゆえに頻度も高かったことか。読み返してみると、第一文で円形の経路を書く際に The None を中心と指定するのを忘れているな。普通なら centered at the origin と書けば終わるのに、まず center という語の使用が許されてないからなぁ。very middle とかで逃げればいいのだろうか。第二文に The road must be drawn so that there should be the None in the very middle of the big round road. って足せばいいか。

ということで改訂版。

splasho.com

みなさんも Up-Goer Five Text Editor で遊んでみると楽しいのではなかろうか。

電華打字機のエミュレータを作った

この記事は KMC Advent Calendar 2021 - Adventar の 25 日目の記事です。

好きな本の宣伝と文脈導入を同時に行う


こういう批判の目を持つのって大事ですよね。

本題

さて、この本を書いた Thomas Mullaney という人はスタンフォードの先生で、私はマウンテンビューのコンピュータ歴史博物館に行ったときに「この本面白そう」と買ったという経緯があります。

 

時は流れ、3ヶ月後。高仲芹という人が発明した中国語用のタイプライター『電華打字機』についての記事をその先生が出していたのを見掛けました。

 

さて「この文字コード表ってどっかにあるのかな」と調べてみたところ、スタンフォードの図書館にはあることを確認。9月からアメリカに戻って授業を受けるので、せっかくだからこれを借りて再現実装つくりたい!という気持ちになりました。

ということで、9月に渡米し、

その後、少しずつ入力していきました。日本語で使わない漢字がかなり多く、入力には苦労することもありましたが、 zi.tools というサイトのおかげでなんとか終わらせることができました。

zi.tools

 

なお、この経験を活かして、2021年11月4日のKMC例会講座で「漢字入力テクニック」という発表をさせていただきました。

 



そうして本日2021年12月25日、ついに!

 

文字コードを入れきったので、あとは実装を再現するだけです。ゆくゆくは写真から頑張って 3D モデルを作る予定ですが、とりあえず動くものが欲しかったので、機能を再現することを目標に、当時の録画を注視。


ということで、できました ♪

sozysozbot.github.io

架空世界の表意文字用の手書き文字認識を実装したい (part 1)

この記事は創作+機械学習 Advent Calendar 2021の22日目です。



自己紹介パート

(記事の技術的内容には本質的な関わりがないので、お時間のない方はこのパートは読み飛ばしていただいても構いません。)

こんにちは、hsjoihs です。

創作の種類の一つに「架空世界創作」、つまり、架空の世界の言語・文化・地理などを創作するという形態があり、ご縁あって、2017年頃から私もファイクレオネという架空世界についての創作を手伝わせていただいております。

f:id:hsjoihs:20211222175332p:plain

ファイクレオネの中の一国の地図。一番見栄えがするので持ってきた。

さて、架空の世界の言語を創作している以上、用いられている文字も架空になります。上記地図ではペメセペ・ルヨットという一種のアルファベットを用いていますが、架空世界ファイクレオネではこれ以外にも様々な文字体系が用いられているという設定となっております。私はその中でも、ファイクレオネで使われている表意文字、「燐帝字母」にまつわる諸々の管理を主にさせていただいています。

たとえば、向こうの文化の一つとして、駒の役職が燐帝字母で書かれている架空伝統ゲーム「机戦」を我々は創作しており、現在企業に依頼してそれの製造を行っていただいていたりもするのですが、

yasusho1020.hatenablog.com

f:id:hsjoihs:20211222182848p:plain

机戦セットが製作されている様子

f:id:hsjoihs:20211222185515j:plain

y1 huap1 cet2 kaik zui1(官定机戦論)。机戦にある地方ごとの細かなルール差が金銭トラブルなどを生んでいる実情を重く見て、「統一規則を制定することで人々の相互尊重が期待できる」「ルールの差を論じるにも、統一規則があると便利である」といった趣旨の文章。

このボドゲオンライン対戦バージョンは私が実装していたりします。

f:id:hsjoihs:20211222184715p:plain

オンライン対戦の入り口ページで、言語設定で異世界の方を選んだ場合


本題

さて、以上の画像に散見された漢字のような文字「燐帝字母」に対して、手書き文字認識を実装したいと思い立ち、2020年7月5日、「そのためのデータセット」を自作するためのツールを作り始めました。


そうして出来上がったツール(の現在の姿)*1がこちら。

f:id:hsjoihs:20211222212044p:plain

データセットを自作するためのツール

「ランダムに提示された文字を枠内に手書きし、↲ ボタンを押す」という作業をひたすら繰り返すとデータセットができる、という仕組みが出来上がりました。あとは地道にやっていくだけです。

f:id:hsjoihs:20211222214145p:plain

ひたすら書き、JSON をダウンロードし、Discord に貼る

皆で頑張った(具体的には11人が協力した)結果、2020年7月6日12:00~2020年7月9日12:00の72時間で3万枚(つまり1日で1万枚)という驚異のペースで画像が溜まっていき、2020年7月11日には当初目標としていた5万枚を達成。

f:id:hsjoihs:20211222214014p:plain

進捗が出ている様子

その生 JSON、およびそれを変換した SVGPNG 一枚一枚の生ファイルを git に直コミットして作られた、pull するにも push するにもあまりにも時間が掛かるヤバがこちら。みんなは真似しないでね!

github.com

2020年7月14日には、はこつきさん(@re_hako_moon)に学習を回していただき、

いまのところResNet-18+FCのネットワーク構成,各クラス10文字ずつ分離してテストデータを作成(train&validation: 46876, test: 3390)で精度99.08%くらいです
(testは毎回走らせていないのでこれはvalidationですが,だいたい挙動はこんな感じです)

f:id:hsjoihs:20211222220929p:plain

という素晴らしい成果が得られました。めでたしめでたし。

 

本題2

その後、はこつきさんはかなりの多忙を極め、時は流れ、2021年11月9日、はこつきさんに

  • そういえば、このプロジェクトの存在って覚えてます?
  • 当時学習に使ったソースコードとかって、3秒で渡すことが可能です?

と訊いたところ、

  • 覚えてますよ
  • 別のパソコンに入ってますし、ぼくがやるとしても当時のは書き直すと思います

と言われたので、「書き直すかぁ」と思っていました。

 

思っていたらいつの間にかアドカレ2日前になっていました。ひーん。

ということで、再びはこつきさんと話したところ、

と言われました。ありがたい~。

 


気づいたらアドカレ当日になっていました。うぎゃぁ。

ということで、https://qiita.com/illumination-k/items/fa7508127d8942c1284f を実際に試み、

などの活動を行いました。

f:id:hsjoihs:20211222235425p:plain

日本語化して、topk も使った

 

よし、あとは実データで学習を回すだけ!!!!(現在23時55分)

ということで、今回の記事はここで終わりです♡

今後の楽観的な見通し

  • 実データで学習を回す (part 2)
  • 手書き文字認識 Web アプリを作る (part 3)
  • データが増えるたびに再学習が走り Web アプリがデプロイされる CI とかを整える (part 4)

(こんなにうまくいくかねぇ?)

f:id:hsjoihs:20211222234732p:plain

Part 3 で期待される UI


有象無象

f:id:hsjoihs:20211222181557p:plain

最初に出した地図を書き表すのに用いられている文字、ペメセペ・ルヨット(直訳:「東諸島共和国連合(ペーメーセーペー)の文字」)の一覧。 c はサ行、x はシャ行、z はチャ行、j はヤ行

f:id:hsjoihs:20211222224603p:plain

燐字の幾何学的フォント400字分。リポジトリhttps://github.com/sozysozbot/geometric_linzklar に置いてある。

jurliyuuri.github.io

cet2kaik.booth.pm

*1:このツールはMITライセンスで公開しているので、「私も架空の文字の手書き文字認識を作りたいので、データセットを作りたい」という人は https://github.com/jurliyuuri/linzi-recognition/ からお使いください。ただし、やっつけ仕事で作っているので、あまり再利用しやすい形にはなっていません。

QWERTY順にソートされた辞書

「たまにABC順に並んだキーボードってありますよね」というところから、「逆にQWERTY順に並んだ英語辞書を見てみたい」という話になった。

まずは考察

q の後には基本的に u が来るものである。しかも QWERTY 順で u はかなり最初の方にあるので、辞書の冒頭は que- で埋まるだろう。qwerty 自体も語としてあることを考えれば、q → qwertyqueerqueen といった配列になるだろうか。

検証

こういう書き捨ては JavaScript でいいだろうと考え、とりあえず比較関数を書く。Haskell とかで書いた方が楽だったかもしれないが、今使ってるマシンに Haskell が入ってないので愚直に書くことに。

var comp = (a, b) => { if (a === "") return -1; if (b === "") return 1; var af = "qwertyuiopasdfghjklzxcvbnm".indexOf(a[0]); var bf = "qwertyuiopasdfghjklzxcvbnm".indexOf(b[0]); if (af < bf){return -1;} else if(af>bf){return 1;} else return comp(a.slice(1), b.slice(1))}

あとは英単語の一覧を http://www-personal.umich.edu/~jlawler/wordlist.html から持ってきてやって、ソートすれば:

f:id:hsjoihs:20211118004724p:plain

あー、そういえば QED があった。

辞書の終わりのほうはどんな感じだろうか。

 

f:id:hsjoihs:20211118004941p:plain

なるほどなぁ。

 

誰かやって

  • Webster's Dictionary, 1913 とかの版権の切れた辞書を使って、QWERTY順にソートし直しただけの辞書を作って刷ってほしい

 

紙と鉛筆しかないときに便利な暇つぶし

紙と鉛筆しかないときってありますよね。今日まさにそういう状況が発生したので、そういった際に私が行う様々な暇つぶしのうちの一つを紹介しようと思います

 

公式

$\frac{n!}{\left(\frac{n+x}{2}\right)!\left(\frac{n-x}{2}\right)!}\approx\frac{2^{n+1}}{\sqrt{2\pi n}}e^{-x^{2}/2n}$ という近似公式があります。*1 ということで、これを使って遊んでみましょうというのが今回のお題です。

 

n=6, x=2 のとき

左辺は $\frac{6!}{4!2!}=\frac{6\times5}{2}=15$。ということで、右辺に突っ込むことで、n とか x が小さいときにこの公式がどれくらいの精度で成り立つのかを確認したいわけです。

 

とりあえず $\frac{2^{7}}{\sqrt{6.28\cdot6}}e^{-4/12} \approx \frac{128}{6.14} e^{-1/3}$。えーっと $e^{-1/3}$ ってどうやって求めよう。あ、$e^{-1} \approx 0.367$ は覚えてる。つまり $0.7^3 \approx 0.343$ よりちょっと多い。よって $(0.7+x)^3 \approx 0.343 + 3\cdot 0.49 x$ を解きたい。引き算して $3\cdot 0.49 x = 0.024$。3で割って2を掛けると $x = 0.016$ といったところか。ということで $e^{-1/3} \approx 0.716$ が無事求まった。 

 

$\sqrt{6.28\cdot6} \approx 6.14$ だから、結局 $\frac{128}{6.14} \times 0.716$ だから、えーと $128 \times 716$ を真面目に筆算して、$\frac{91.6}{6.14} = \frac{1}{2}\times\frac{91.6}{3.07}$。はいはいだいたい15っぽいですね。オーケー。

 

n=100, x=4 のとき

右辺は $\frac{2^{101}}{\sqrt{6.283\cdot100}}e^{-\frac{16}{200}}$ 。えー $e^{-0.08} = 1 - 0.08 + 0.0032 = 1-0.00768$ としてやればよい。2の常用対数は $0.3010299$ とかのはずなので、101倍してやって $2^{101} \approx 10^{30.404}$。平方根はだいたい$\sqrt{625} = 25$ ……だとちょっと精度が足らん気がするな。精度というのは稼げるところで稼いでおきたいので、もうちょい頑張っておくか。えっと $\sqrt{625 + 3.3} = 25\sqrt{1+\frac{3.3}{625}} = 25\sqrt{1+\frac{52.8}{10000}}$ だから、全体に $1-0.00528$ を掛けてやればいい。(※計算ミス!平方根の中から取りだしたのだから、本当は半分にしてやらなきゃいけない。あとそもそもここまでの精度要らない)

 

ということで求めるべきは $\frac{10^{30.404}}{25}\left(1-0.00528\right)\left(1-0.0768\right)$ であって、100を25で割ってやって  $4\cdot 10^{28.404} \cdot \left(1-0.0821\right)$。

 

さて残るは $10^{0.404}$ の処理だけども……あ、$10^{0.404} \approx \left(10^{0.301}\right)^{4/3}$ としてやれば、これはオクターブと長三度。完八が2/1、完五が3/2、完四が4/3、長三が5/4、短三が6/5なのだから、$2^{1/3} \approx 1.25$。

……真の値はもうちょい大きかった気がする。まあたしかに $125/64 < 2$ だもんな。じゃあ $1.26$ にしておくか。ということで $4\cdot2.52\cdot(1-0.0821)\cdot 10^{28} \approx 9.26\times 10^{28}$ かな。

 

答え合わせ

  • $\frac{2^{7}}{\sqrt{6.28\cdot6}}e^{-4/12} \approx 14.94$
  • $\frac{100!}{48!52!} \approx 9.32\times10^{28}$
  • $\frac{2^{101}}{\sqrt{6.28\cdot100}}e^{-\frac{16}{200}} \approx 9.34 \times 10^{28}$

ということで、だいぶいい線いけた。

 

実際の計算用紙

f:id:hsjoihs:20211102041302p:plain

 

 

*1:これの導出は本筋と関係がないので省略。スターリングで愚直にやるもよし、ランダムウォークを考えて正規分布で近似したときを考えるもよし。

入力に5打必要なハングル

きっかけ

KMC(京大マイコンクラブ)に入って2ヶ月が経とうとしていた今日この頃、例会があったので(こちらは午前3時であるにも関わらず)参加した。例会が終わった後、することもないので(いや寝ろよ)韓国語の単語帳を回していたところ、pelkさんという方から「常々思ってたんですけどハングルってキーボードでどう入力するんでしょう」という質問を頂いた。

 

その質問に対して、私は「ハングルの入力は、まあある種のIMEを使うのが普通です。ㅇㅏㄴㅎㄷㅏと入力すると、順にㅇ→아→안→않→않ㄷ→않다となります」とテキストチャットで書いたあとで、Google Docs を開き、韓国語作文を即興でしながら入力する様子を画面共有をすることで、実際の入力の様子を見せて説明することができた。

ほえ~
パーツごとに入力していくのか
最大で4パーツ組み合わさりえて, 該当する文字が無ければ即座に次の文字に入力されるんだなぁ

とテキストチャットに書かれているのを見つけた私は、「あ、ㅚとかの一部の母音字は入力に2打を必要とするので、(まあこんな音節はないんですが)욊という音節を入力するには5打必要になりますね」とコメントした。

 

さて、韓国語初学者である私はここでサクッと5打必要となる音節の実例を提示することができず、入力はできるけれど実際には用いられない文字を使って説明をしてしまったわけだ。ということで気になるのが、果たして実際に使う単語でこの条件を満たす具体例があるのかということである。調べてみよう。

 

KS X 1001

韓国語がそんなにできないにも関わらず「実際に用いられる文字」の一覧を持ってくるにはどうすればいいか。そういうときに役に立つのが、韓国語のレガシーエンコーディングである KS X 1001 というやつである。このエンコーディングは、韓国語で実際に使う音節のうち、頻度の高い 2350 字を収録している。(ただし、出現頻度がある程度低いやつは入っていないので、例えば하얬다「白かった」に出てくる얬という字が収録から漏れていたりする)

また、この選出は1987年に行われたので、翌年の正書法改訂で消えた뭏という字(아뭏든「とにかく、いずれにせよ」。今は아무튼と書く) が入っているといった細かい話もある。まあそれはそれとして、とりあえずサクッと使えるのでこの中から探すことにする。

 

探し方

今回探し求めているのは、以下の条件を満たすやつである。

  • 母音字として ㅘ, ㅙ, ㅚ, ㅝ, ㅞ, ㅟ, ㅢ のどれかを含む
  • 終声として二重パッチム ㄳ, ㄵ, ㄶ, ㄺ, ㄻ, ㄼ, ㄽ, ㄾ, ㄿ, ㅀ, ㅄ のどれかを含む

今私が使ってるWindows標準のやつだと、2打連続で同じ子音字を打つことによって濃音を入力することはできず、Shift を用いた入力しか受け付けないので、そのような入力は今回は考えないことにした(というか、濃音パッチムがアリなら됐(~になった)即座に提示していた。さすがに됐がパッと出るくらいの韓国語力は私にもある)。同様に、ㅐやㅔは一打での入力しかできないので、これらもカウントしない。

 

さて、どうやって探すかだが、こういう書き捨ての探索はブラウザの JavaScript コンソールでやってしまうのが手っ取り早い。便利なことに、Namuwiki の완성형/한글 목록/KS X 1001(訳すと、「完成形/ハングル目録/KS X 1001」)というページにスペース区切りで一覧が入っているので、

var a = "가 각 간 (中略) 힘 힙 힛 힝".split(" ")

としてやれば配列aにハングル一覧が入る。さて、この中から

  • 母音字として ㅘ, ㅙ, ㅚ, ㅝ, ㅞ, ㅟ, ㅢ のどれかを含む
  • 終声として二重パッチム ㄳ, ㄵ, ㄶ, ㄺ, ㄻ, ㄼ, ㄽ, ㄾ, ㄿ, ㅀ, ㅄ のどれかを含む

という条件を満たすやつを探してやらなければならない。これをするには、Unicodeで定義されている NFD というやつを使うのが便利である。例えば、값 (U+AC12, HANGUL SYLLABLE GABS) という字をNFDに突っ込むと、以下のように3つに分解される。

f:id:hsjoihs:20211101202453p:plain

값 が NFD を喰らった様子

こう分解されてしまえばもうこっちのもので、後はこれらが条件を満たすかどうかを探るだけでいい。とりあえず、NFDしたやつの n 番目を抜き出す関数を定義して、

var f = (str,n) => str.normalize("NFD")[n]

母音に関する条件を記述して、

var vowel_condition = (s) => [..."와왜외워웨위의"].map(c => f(c, 1)).includes(f(s, 1))

子音についても書いて、

var consonant_condition = (s) => [..."갃갅갆갉갊갋갌갍갎갏값"].map(c => f(c, 2)).includes(f(s, 2))

フィルターを掛けると……

f:id:hsjoihs:20211101203638p:plain

1個だけあった!!!

なんと、「괆」ただ一字だけが条件を満たすことが判明!!!!

 

この形はだいたいㄹ語幹の動詞を名詞化したものなので、괄다で調べると……ありました、「火の勢いが強い」「せっかちで荒々しい」「(生地などが)ごわごわしている」「(木の)やにが多い」。うん、どう考えても初学者が知らない単語です。

結論

  • KS X 1001 に出てくる字の中で唯一5打を必要とする特別な文字「괆」。「火の勢いが強いこと」「せっかちで荒々しいこと」「(生地などが)ごわごわしていること」「(木の)やにが多いこと」という意味を表すことができる文字です。
  • こいつをクビにして「白かった」とかを入れた方がよかったんじゃなかろうか、KS X 1001。

語学と私 (part3) ― IDIEZという(比較的思想の強い)団体が提供するナワトル語教育を3学期間受けた感想 ―

part 1 はこちら。

 

hsjoihs.hatenablog.com

 

part 2 はこちら。

 

hsjoihs.hatenablog.com

 

前回までで、ナワトル語の授業を履修することにしたきっかけについては記述したので、以降はその授業がどんな感じであり、履修してどうであったかについて書く。

 

「ナワトル語」の授業

 前回言及した

人「なにやってるんですか」

私「ナワトル語の単語帳回してます」

人「ナワトル語ってなんですか」

私「アステカ帝国公用語で、今でも160万人ぐらいが話してるみたいですね」

人「はえー」

についてだが、これは実際の構図を(意図的に)ちょっと単純化しすぎた表現になっている。

 

まず、「アステカ帝国公用語」というのは(大雑把に言うと)話題が16世紀であり、一方で「今でも160万人ぐらいが話してる」という話題は当然21世紀の話である。前回言及した Launey, M., & Mackay, C. S. (2011). An introduction to classical Nahuatl. New York: Cambridge University Press. の Preface を引用するなら、

Let us specify again that the language described here is Classical Nahuatl, the literary language of the century following the Conquest. Nearly five centuries on, there is clearly no region in which this variety of Nahuatl is still spoken. It is thus a dead language, or rather, a dead variant of a language, in the same way as the English of, say, Christopher Marlowe is a dead form of the English language. No one nowadays speaks exactly like that, but many hundreds of thousands of people speak present-day variants of Nahuatl, some of them fairly close to the classical one, so that travelers to Mexico today may be pleasantly surprised when recognizing words and expressions, thereby gaining more inside knowledge of the country and its people.

「Christopher Marlowe の話していた英語」と言われても伝わらないと思うので、日本語で同じあたりの年代の例を探すなら、1592年の天草版『平家物語』の表紙にある、

NIFONNO
COTOBA TO
Hiſtoria uo narai xiran to
FOSSVRV FITO NO TAME-
NI XEVA NI YAVA RAGVETA-
RV FEIQE NO MONOGATARI.
「日本(にふぉん)の言葉とイストリアを習い知らんと欲(ふぉっ)する人(ふぃと)のために世話(しぇわ)にやわらげたる平家(ふぇいけ)の物語」

とかを提示するのが無難なのかもしれない(歴史の教科書で見たことがあるという人もいるだろうし)。

https://dglb01.ninjal.ac.jp/BL_amakusa/2/or_59_aa_1_ftpr.jpg

dglb01.ninjal.ac.jp

 

ということで、なにが言いたかったかというと、前述の通り

  • アステカ帝国公用語」というのは(大雑把に言うと)話題が16世紀
  • 「今でも160万人ぐらいが話してる」という話題は当然21世紀の話

 であるがゆえに当然この両者の間に差があるぞ、ということである。

 

さて、今回私が受けたのがナワトル語の授業である旨は散々述べてきたが、これは古典ナワトル語の授業ではない。21世紀に話されている言語を、その言語の母語話者から習ったのである。

 

IDIEZという団体

今回受けた授業を主催していたのは、IDIEZという団体である。サイトは 

http://www.idiezmacehualli.org/ 。まずトップページを見ると、

IDIEZ A.C., es una asociación civil sin fines de lucro, promueve la investigación, la enseñanza y la revitalización de la lengua náhuatl

ナワトル語の研究・教育・言語復興をする団体と書いてある。さて、 

El curso que ofrece IDIEZ se enfoca en la cultura y lengua náhuatl (variante de la Huasteca Veracruzana) con un desarrollo curricular de cuatro niveles.

ナワトルの文化と言語(ワステカ・ベラクルス方言)に焦点を当てるとしている。ということで、ナワトル語の中でも「現代ワステカナワトル語」 の授業である、という断り書きを入れておいた方がいいだろう。(cf. Huasteca Nahuatl - Wikipedia) ワステカナワトル以外にも様々な現代ナワトルがあるということにも注意されたい。

 

 

英語版Wikipediaによると、この方言差はそこそこ大きいので相互理解ができるほどではないと書いてある。一方IDIEZ側は「現代ワステカナワトル語を学べば他の方言も分かるようになるよ」と主張していた。この主張はどちらかというとプロパガンダ寄りに私には見えた。他の現代ナワトル語を記述した研究書とかも読んでみたが、やはり現代ワステカナワトル語だけの知識では全然わからないところもかなりある。もちろん分かるところもたくさんあるが。

正書法規則

IDIEZ は古典ナワトル語のアルファベット表記*1にめちゃめちゃ寄せて現代ワステカナワトル語を書く。古典ナワトル語のアルファベット表記というのは、スペイン語を話す人々が作ったものであるので、当然ながら当時のスペイン語に基づいた表記になっている。

さて、当時のスペイン語は k というアルファベットを使わなかった(今でも外来語ぐらいにしか使わない)。ということで「カ」という音を書くには ca と書き、「コ」という音を書くには co と書く。さて、「キ」はどう書くか。ci と書きたくなるが、なんとスペイン語ではこれは「スィ」と読む。ということで「キ」は qui と書き、同様に「ケ」は que と書く。

逆に、「スィ」「セ」は ci, ce と書くが、「サ」「ソ」は ca, co と書くわけにはいかないので za, zo と書く。

結果として、

ca
qui
-c
-ク
que
co
za
ci
スィ
-z
-ス
ce
zo

という体系になる。なお、この体系は現在のスペイン語でもバリバリ健在である。たとえば amar (アル)「愛する」から「私が愛した」を作るには -ar (ル) を取り -é () を加えて amé (ア)とするのだが、practicar (プラクティル)「実行する・練習する」から「私が実行した・練習した」を作るには、同じく「ル」を取り「」を加えるので「プラクティ」となる。しかし「ケ」は que と書くので、 practicar が practiqué になるという綴り字の上での変化を喰らう。同様に、「始める」は comenzar (コメンル)なので「私が始めた」は当然「コメン」であるが、これも comenzé ではなく comencé と綴るので、 comenzar が comencé になるわけである。

 

また、当時のスペイン語は w というアルファベットを使わなかった(今でもやっぱり外来語ぐらいにしか使わない)。ということで*2、ナワトル語にもあるクヮ行やワ行は以下のように表記する。

cua
クヮ
cui
クィ
-uc
-クゥ
cue
クェ
hua
hui
ウィ
-uh
-ゥ
hue
ウェ

 

あと、当時のスペイン語では x はシャ行のような音であった *3 ので、ナワトル語のシャ行も x で綴る。たとえば México という国名自体がナワトル語 Mēxihco (メーッコ) を書き写したものである。ただ、スペイン語の方ではその後シャ行の音がハ行に変化したので、現在のスペイン語では México は「ヒコ」と読む。 

 

話が逸れるが(ほらこうやってどんどん記事が長くなる)、スペイン語をご存知の方のためにさらに補足。日本でスペイン語を学ぶと、z だったり ci, ce だったりは英語の th の音として教わると思うが、当時は ci, ce とかは「スィ」「セ」に近い音で、sa, si, su, se, so は(x- とはまた微妙に異なる)シャ行っぽい音であったとされている。詳しいことは https://en.wikipedia.org/wiki/Early_Modern_Spanish と 

https://en.wikipedia.org/wiki/Nahuatl_orthography と 

https://en.wikipedia.org/wiki/Phonological_history_of_Spanish_coronal_fricatives をご覧頂きたいが、せっかくなのでナワトル語に絡んだ話をしておくと、たとえばスペイン語 Castilla「スペイン、カスティーリャ」(カステラの語源でもある。もちろんカステラの方はポルトガル語を経由しているが)は古典ナワトル語では Caxtillān という形で入っているし、逆にナワトルの xōchitl (ショーチトル)を suchitl と s で表記している写本もあるようである。他の例は https://davidbowles.medium.com/mexican-x-part-xi-rise-of-a-new-x-4c30c0f74ad8 など。

 

まだ延ばすのかよ

さて、前回タイトルに 「IDIEZという(比較的思想の強い)団体が提供するナワトル語教育を2学期間受けた感想」と入れることができなかったので今回は「IDIEZという(比較的思想の強い)団体が提供するナワトル語教育を3学期間受けた感想」をタイトルに入れてみたが*4、感想もほぼ書いていないし IDIEZ の思想の強さにも全然言及できていない。ということでこの連載はもうちょい続く予定である。

*1:普段の私なら「ラテン文字表記」とか書いちゃうけど、これは一応一般向け記事ということになっているので

*2:この書き方には語弊がある。たとえば、当時のスペイン語ではクヮという音は qua と書いたりしたので、Launey, M., & Mackay, C. S. (2011). An introduction to classical Nahuatl. New York: Cambridge University Press. によると、実際の写本ではクヮは qua と書かれることが多かったらしい。というか1815年まではスペイン語では cuando とか cuatro とかは quando や quatro と綴るのを正則としていたようである。ワ行については、そもそも hu- で綴るのは珍しく、ワ・ウィ・ウェはそれぞれ ua/oa, ui/vi, ue/ve と綴るのが普通だったとのことである。

*3:ポルトガル語では今でも x がシャ行のような音である

*4:学期の数が1個増えていることに注意。もたもたしてたら記事を書き上げる前に春学期終わっちゃったよ