、特定仮名に適用アクセント記号が結合している、そう言うとの間の論理的な関係が存在する「か」(KA)と「が」(GA) - GA文字であります声を出した。異なる発音刻印の日本語仮名文字間に論理変換を行う方法はありますか?日本語で
自然な方法があれば(Pythonで、できればunicodeについての一般的な答えは良いですが)、有声文字を無声の同等物に変換するのと同等のことをやりたいと思っています。 latinスクリプトに適用されるlower()
メソッドに似ています。私はしているよ何の例:
>>> devoice('が')
"か"
>>> voice('か')
"が"
>>> devoice('か')
"か"
>>> semivoice('は')
"ぱ"
>>> devoice('ぱ')
"は"
を現時点では、私が思い付くことができるように思われる最善のアプローチは、行、列およびボイシングでインデックス化ルックアップテーブルを生成することで、その後に見えます私が持っているキャラクターをアップし、それを正しい方向に翻訳する。それは、もっと自然なやり方があるかどうかを知りたいと思っています。
一つの潜在的な落とし穴が、文字を組み合わせUnicodeは彼らのシングルコードポイント同等物は等しいとしていないようだように私には思われることである:
>>> a = chr(0x304B) + chr(0x3099)
>>> b = chr(0x304C)
>>> print(a)
'が'
>>> print(b)
'が'
>>> a == b
False
私はないを行うものを主としています合成マークを検出して除去することは容易であるように思われるので、分音記号を組み合わせることが必要である。
注:は私が正しい動作がう
(U)とゔ
(VU - レア/廃止)何のためにあるのかを知るために十分日本語の音韻を理解することを確認していない、そこにあれば、それはいいだろう、なぜ再びですこれを行うための「自然な」方法でした。
ありがとう:
あなたはおそらく分解があるかどうかをテストするために
unicodedata.decomposition()
を使用することができます!他の方向はどうですか?私は '' \ u304b \ u3099 'ではなく '' u304c' 'を返すことをお勧めします。 – Paul@Paul:私はまだその部分に取り組んでいました:-) –
いいね!ありがとう。私は答えを受け入れる前にまだ少し時間があります。 – Paul