2010-12-05 18 views
6

pinyin hanyu için çince karakterler dönüştürme?nasıl</em></strong> çince karakterler</em></strong> hanyu pinyin için <strong><em>den <strong><em>dönüştürmek için

E.g.

你 -> nǐ

马 -> Mǎ


Daha detaylı bilgi:

vurgular veya hanyu pinyine sayısal biçimleri ya kabul edilebilir, benim tercih olmak sayısal formu. Bir Java kitaplığı tercih edilir, ancak başka bir dilde bir kitaplık içine yerleştirilebilen bir kitaplık da iyidir. Ben onun kalite/reliabilitty açısından tavsiye veya üzerinde yorum için önce bizzat böyle bir kütüphane kullanılan olan herkes, istiyorum

.

+0

Sadece açık kaynaklı veya para için mi? – bmargulies

+0

@bmargulies: Kapalı kaynak üzerinden açık kaynak kullanmayı tercih ediyorum, ancak hem – bguiz

cevap

5

Hanzi'nin pinyine dönüştürülmesi problemi oldukça zordur. İçeriğe bağlı olarak, çoklu pinyin temsilleri olan birçok hanzi karakteri vardır.长大 (pinyin: zhang da) 长城 ile karşılaştırın (pinyin: chang cheng). Bu nedenle, birden fazla olasılık üreten bir sisteminiz yoksa, tek karakterli dönüşüm genellikle işe yaramaz. Ayrıca, pinyin temsilini de etkileyebilen kelime segmentasyonu da söz konusudur. Belki de bunu zaten biliyor olsaydınız, bunu söylemenin önemli olduğunu düşündüm. Bu, Adso Package'un, mükemmel Adso kütüphanesine dayanan bir segmenter ve bir olasılıksal pinyin annotator içerdiğini belirtti. Bu, Adso Package. Yine de alışmak biraz zaman alır ve aradığınızdan çok daha büyük olabilir (geçmişte benim ihtiyaçlarım için biraz fazla hantal olduğunu buldum). Ayrıca, herhangi bir yerde bir genel API ve C++ ...

Görünen bir proje için, yer isimleriyle çalıştığım için, Google Translate API'sini (özellikle resmi olmayan java'yı kullanıyorum. en az bilinen isimler için, genellikle, pinyin çeviri iyi bir iş yapar port.Ve sorun "XiangGang" olması gerektiği için "HongKong" gibi yaygın olarak kullanılan alternatif transliterasyon sistemleridir.Tüm bunlar, Google Translate Oldukça sınırlı, ama bir başlangıç ​​sunuyor.Pinyin4j'yi daha önce hiç duymamıştım, ama şimdi oynadıktan sonra, bunun optimalden daha az olduğunu keşfettim - potansiyel aday pinyin romanizasyonlarının bir listesini çıkarırken İstatistiksel olarak olasılıklarını belirlemeye yönelik herhangi bir girişimde bulunmadığı gibi, tek bir temsili döndürmek için bir yöntem vardır, ancak şu anda sadece ilk romani döndürdüğü için aşamalı olarak sona erecektir. Zation, en olası değil. Programın iyi göründüğü yerlerde, romatizasyonlar ile genel yapılandırılabilirlik arasında dönüşüm vardır. Kısaca, cevap ihtiyacınız olana bağlı olarak bunlardan herhangi biri olabilir. Özel isimler doğrudur?Google Çeviri. İstatistik ihtiyacı var mı? Adso. Aday listeleri bağlam bilgisi olmadan kabul etmeye istekli mi? Pinyin4j.

+0

+1 ile hem de iyiyim ve @Nat: çok kapsamlı yanıt için teşekkürler. Her bir karakter için çoklu olasılıkların farkındayım - bu yüzden bunu dikkate alan bir paketi işaret ettiğin için teşekkürler. – bguiz

+0

@Adso Paketi ile ilgili herhangi bir güncellemeyi mi? Link bozuk görünüyor! düzenleme: bu olmalı http://adsotrans.com/downloads/ – user3306356

1

Temeli Teknoloji diğer şeyler arasında, Çince kelime için pinyin üretebilir, dilsel teknolojinin paketi satıyor çalışacaktı. Açık kaynak için bir tercihiniz olduğunu belirttiğinizden ve tek ihtiyacın pinyin dönüşümünden kaynaklandığını bildiğim için, eşyalarımızın çok büyük bir avantajı olduğunu size söyleyemem. mjv'den açık kaynak alternatifi uygun değil.

2

Python Sen

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

Yasal alacağı

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

deneyin: O kütüphanenin yazarım.

İlgili konular