2010-12-05 12 views
6

をピンイン羽生する漢字に変換?<strong><em></em></strong>漢字から<strong><em></strong></em>に羽生ピンインを変換する方法

など。

你 - >Nǐ

马 - >Mǎ


詳細:

アクセントまたはピンインの数値型のいずれかが許容され、数値形式は自分の好みです。

Javaライブラリが推奨されますが、ラッパーに入れることができる別の言語のライブラリもOKです。私はその品質/ reliabilittyの観点から推奨またはそれにコメントする前に、個人的にようなライブラリを使用を持っている人を、希望

+0

オープンソースのみ、またはお金のためだけに? – bmargulies

+0

@bmargulies:私はオープンソースよりもオープンソースを好んでいますが、私は – bguiz

答えて

5

ハンジをピンインに変換する際の問題はかなり困難です。文脈によっては、複数のピンイン表現を持つ多くの漢字があります。长大(pinyin:zhang da)と長城(pinyin:chang cheng)を比較してください。このため、複数の可能性を出力するシステムを持たない限り、1文字の変換は実際には役に立たないことがよくあります。また、ピンイン表現にも影響する可能性がある単語セグメンテーションの問題があります。たぶんあなたはすでにこれを知っていましたが、私はこれを言うことが重要だと思いました。つまり、Adso Packageには、優れたAdsoライブラリに基づいて、セグメンタと確率的なピンインアノテータの両方が含まれています。それは慣れるのに時間がかかり、あなたが探しているよりもはるかに大きいかもしれません(私は過去に私のニーズにはあまりにもかさばっていました)。さらに、どこにでも公開APIがあるとは思われません。

最近のプロジェクトでは、私は地名で作業していたため、Google翻訳API(具体的には非公式Javaポートは、一般的な名詞の場合、通常、ピンインに翻訳するのに適しています。この問題は、「香港」のような「XiangGang」のような一般的な代替音訳システムです。私はpinyin4jについて聞いたことがありませんでしたが、ちょうど今のところ、それが最適ではないことがわかりました。それは、可能性のある候補ピンインローマ字のリストを出力します統計的にその尤度を決定しようとする試みはない。一つの表現を返す方法があるが、現在のところ最初のromani zation、最も可能性が高い。プログラムがうまくいくと思われるところは、ローマ字と一般的な設定可能性の間の変換です。

要するに、回答は必要なものに応じて、これらのいずれかになります。特有の固有名詞?グーグル翻訳。統計が必要ですか? Adso。文脈情報なしで候補リストを受け入れることを望んでいますか?ピンイン4j。

+0

+1と@Natをチェックしても問題ありません。非常に包括的な答えをありがとう。私は各キャラクターの複数の可能性の問題を認識しています。実際にこれを考慮に入れたパッケージを指摘してくれてありがとう。 – bguiz

+0

@Nat Adsoパッケージのアップデートはありますか?リンクが壊れているようです!編集:これはそれですhttp://adsotrans.com/downloads/ – user3306356

1

基本技術は、他のものの中で、中国語の単語のためのピンインを生成することができ、言語的技術のスイートを販売して試してみました。あなたはオープンソースの選択肢があることを示しているので、ピンイン変換だけが必要な場合は、私たちのものに大きな利点があるとは言えません。 @mjvのオープンソースの代替手段は適合しません。

2

Pythonではあなたは

['běi', 'bèi'] 

免責事項になるだろう

from cjklib.characterlookup import CharacterLookup 
cjk = CharacterLookup('C') 
cjk.getReadingForCharacter(u'北', 'Pinyin') 

を試してみてください。私は、そのライブラリの作者です。

関連する問題