2012-05-08 2 views
2

나는 C++로 코드를 작성하고 있는데, 거기에는 음절 변환기에 대한 단어가 필요하다. 사용 가능한 오픈 소스 표준 알고리즘이 있거나 거기에 다른 링크를 만들면 도움이 될 것이다.word to syllable converter

for a word like invisible syllable would be in-viz-uh-ble 

"보이지 않는"복잡한 단어를 구문 분석 할 수 있어야합니다.

은 이미 펄과 파이썬 알고리즘에 대한 링크를 발견하지만 난 어떤 라이브러리 ++

덕분에 많은 C에서 사용할 수 있는지 알고 싶습니다.

+0

뒤에있는 응용 프로그램은 무엇입니까? – log0

+0

사전 없이는 영어로는 불가능하다고 생각합니다. 영어는 철자와 발음 사이의 1 대 1 매핑을 잃어 버렸습니다. 즉, 심지어 철자 수가 철자에 부합하지 않는 정도까지. – skyking

답변

4

이 예에서는 단순히 음절로 나뉘 지 않고 단어의 발음 표현을 보여줍니다. 이것은 복잡한 NLP 문제입니다.

soundexmetaphone을 살펴보십시오. 두 가지 모두에 대한 C/C++ 구현이 있습니다.

또한 많은 사전은 IPA 단어 표기법을 제공합니다. Wiktionary API를보세요.

+0

Soundex와 metaphone은 해싱 알고리즘이며, 전사를 수행하지 않습니다. –

+0

기술적으로 그들은 모두 거친 음성 녹음입니다. soundex로 매우 파괴적이며, 메타 폰으로 방부제가 더 많이 함유되어 있습니다. 둘 다 많든 적든간에 모음을 버리므로 OP가 어떻게 사용하는지에 따라 흥미롭지 않을 수도 있습니다. – log0

+0

C++ 11에서 my [double_metaphone] (https://github.com/pixelglow/double_metaphone) 구현을 조사하고 싶을 수 있습니다. 콜백 매개 변수를 사용하면 원래의 모음을 복구하거나 원래 단어의 각 부분에 대략적으로 음절을 대략적으로 태그 할 수 있습니다. –

0

음절을 단어로 검색하려면 원하는 프로젝트를 적용 할 수 있습니다. tinyhyphenator이라고합니다.

단어 내에서 가능한 모든 하이픈 색인의 정수 목록을 제공합니다. 독일어의 경우 매우 정확하게 렌더링됩니다. 인덱스 목록을 가져 와서 하이픈을 직접 삽입해야합니다.

"채택"이란 영어 음절을 추가하는 것을 의미합니다. 소스 코드를 살펴보면 아주 자명하다.