2010-12-05 2 views
6

병음 한어하는 중국어 문자로 변환?어떻게</em></strong> 한자</em></strong> 한어 병음에 <strong><em>에서 <strong><em>변환

예.

你 -> Nǐ

马 -> Mǎ


추가 정보 :

악센트 또는 한어 병음의 수치 형태 중 하나는 허용, 내 취향되는 수치 형태.

Java 라이브러리가 선호되지만 래퍼에 넣을 수있는 다른 언어의 라이브러리도 좋습니다. 나는 그것의 품질/reliabilitty의 측면에서 권장하거나에 대해 언급하기 전에 개인적으로 같은 라이브러리를 사용 을 가지고 사람을 좋아하는 것

.

+0

오픈 소스인가, 또는 돈 있는가? – bmargulies

+0

@bmargulies : 닫힌 소스보다 오픈 소스를 더 좋아하지만, – bguiz

답변

5

한자를 병음으로 바꾸는 문제는 상당히 어렵습니다. 문맥에 따라 여러 병음 표현을 가진 많은 한자 문자가 있습니다.长大 (pinyin : zhang da)과 長城 (pinyin : chang cheng)를 비교해보십시오. 이러한 이유 때문에, 단일 문자 변환은 실제로 여러 가지 가능성을 출력하는 시스템이 없으면 실제로 쓸모가 없습니다. 병음 표현에도 영향을 줄 수있는 단어 세분화 문제가 있습니다. 아마도 당신은 이미 이것을 알고 있었지만 이것을 말하는 것이 중요하다고 생각했습니다.

즉, Adso Package에는 뛰어난 Adso 라이브러리를 기반으로 분할기와 확률 론적 병음 주석기가 모두 포함되어 있습니다. 그것은 익숙해지기까지 시간이 걸리고, 당신이 찾고있는 것보다 훨씬 더 클 수 있습니다 (나는 과거에 그것이 나의 필요에 비해 너무 부피가 크다는 것을 발견했습니다). 또한, 어디서나 공용 API가있는 것으로 보이지 않으며, C++은 공개 API가 아닙니다 ...

최근 프로젝트의 경우 장소 이름을 사용했기 때문에 Google 번역 API (특히 비공식적 인 java 일반적으로 공통 명사의 경우 병음으로 번역하는 것이 좋습니다. 문제는 "XiangGang"에 대해 "HongKong"과 같이 일반적으로 사용되는 대체 음역 시스템입니다.이 모든 것을 감안할 때 Google 번역 꽤 제한되어 있지만, 시작을 제공합니다. 전에는 pinyin4j에 대해 들어 보지 못했지만, 지금은 그걸 가지고 노는 후, 그것이 최적이 아닌 것으로 나타났습니다. 잠재적 인 후보 pinyin romanizations의 목록을 출력하는 동안 통계적으로 그 가능성을 결정하려는 시도는 없다. 하나의 표현을 반환하는 방법이 있지만, 현재는 첫 번째 romani 만 반환하기 때문에 곧 사라질 것이다. zation, 가장 가능성이 없습니다. 프로그램이 잘하는 것처럼 보이는 곳은 로마자와 일반적인 구성 가능성 사이의 변환입니다.

간단히 말해 필요한 답변에 따라 답변이 다를 수 있습니다. 특유의 고유 명사?구글 번역. 통계가 필요하십니까? 아소. 문맥 정보없이 후보 목록을 받아들이겠습니까? 병음 4J.

+0

+1과 @Nat를 모두 사용해도 좋습니다. 매우 포괄적 인 답변을 주셔서 감사합니다. 각 캐릭터에 대한 여러 가능성에 대해 알고 있습니다. 실제로이 점을 고려한 패키지를 지적 해 주셔서 감사합니다. – bguiz

+0

@Nat Adso 패키지의 모든 업데이트가 필요합니까? 링크가 깨진 것 같습니다! 수정 : this이어야합니다. http://adsotrans.com/downloads/ – user3306356

1

기초 기술은 다른 것들 사이에, 중국어 단어를 병음을 생산할 수, 언어 적 기술의 제품군을 판매하려고 할 것입니다. 당신은 오픈 소스에 대한 선호도를 가지고 있으며, 단지 병음 변환 만 필요하다면, 우리 물건에 엄청난 이점이 있다는 것을 말할 수 없습니다. @mjv의 오픈 소스 대안이 적합하지 않습니다.

2

파이썬에서 당신은

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

면책 조항을 얻을 것

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

을 시도 : 그 라이브러리의 저자입니다.