Claudeがふたたび(無料会員でも)3.7 を使わせてくれるようになって数日、ウェブページなどのちょっとしたJavaScriptをClaudeに質問しては手直ししている( → 日本語IPAをAIが出力したものをわたしなりに解読するツール こちら )。似たような処理は以前に聞いたことを手直ししながら行を足していくだけなので、勉強になる。
ただ、変換の順序はけっこう重要。現在のところ、こんな感じである。
– 1. 発音記号にしか使われず日本語のローマ字に存在しないものを、近いローマ字に置換する
– 2. 子音が2個つづく場合は、大抵の場合において「っ」の処理なので、拾い出して「っ」に変換
– 3. 一般的なIPA → 日本語ローマ字への変換をおこなう(発音記号にともなうアクセント上下の記号はここで除去)
– 4. 母音をともなわない ts があったら「つ」に変換
– 5. 母音をともなわない n があったら「ん」に変換
– 6. 母音をともなわない r があったら「る」に変換
– 7. 母音をともなわない s があったら「す」に変換
– 8. 強調の意味をこめて使われている . ドット(文末ではなく単語途中のドット)を削除
3番の一般的なIPA変換でも、順序が重要。同じ音に変換したい文字やスペルが似ているセットがあったら、スペルが長い方を先に入力しておかないと、間違えて変換されてしまう。たとえば tsu を「つ」に指定する前に su 「す」があってはいけない。その場合は結果が「tす」に表示されてしまう。
また、どうしても拾いきれないものを最後にふたたび適切な形にもどすのも、3番の最後に入力しておく。たとえば IPA をそのまま打っている場合と、アイピーエーという読みで打っている場合があるが、IPA は日本語で「いぱ」に変換されてしまうので、その場合は「いぱ 」(最後に半角スペース)が出てきたら IPA に変換し直しという処理を入れる、など。
なかなか楽しい。Claudeありがとう。