2013-07-30 5 views
0

일부 상형 문자 언어의 단어 계산에 사용할 수있는 라이브러리가 있습니까 (예 : 중국어, 일본어, 한국어 ...)?일부 상형 문자 언어의 Word-Counter?

MS Word가이 언어의 텍스트를 효과적으로 계산한다는 것을 알았습니다. 이 기능을 구현하기 위해 .NET 응용 프로그램에서 MS Word 라이브러리에 대한 참조를 추가 할 수 있습니까?

또는이 목적을 달성하기위한 다른 해결책이 있습니까?

+1

** 상형 문자 **? 그들은 아니다!!! :) 일본어와 중국어 텍스트는 서양 언어와 정확히 일치하는 문자로 구성됩니다 (그러나 한 문자는 한 단어 일 수 있습니다. 문자가 아닌 문자 수를 반드시 기억해야합니다). 한국어는 소리 나는 알파벳을 가지고 있습니다 ... –

+0

심지어 상형 문자는 "고대 이집트인들이 사용하는 공식적인 문자 체계로, 문자와 알파벳 요소를 결합한 것"입니다. – KappaG3

답변

2

일부 상형 문자 언어 (예 : 중국어, 일본어, 한국어 ...)의 단어 계산에 사용할 수있는 라이브러리가 있습니까?

상형 문자? 아니야, 그들은 그렇지 않아. 그들은 로고가이며 너무 미묘한 차이가 아닙니다. 어떤 원어민 강사가 나보다 훨씬 잘 설명 할 수 있다고 확신합니다.

일본과 중국 텍스트는 단어에있을 수 있습니다 문자 정확히 서양 언어로하지만 하나의 문자 로 구성된다. 또한 은 구분 기호로 공백을 사용하여 구분 문자/단어를 만들 수 없으므로이라는 단어를 구분하는 데 공백이 필요하지 않습니다.

Word에서하는 작업은 단어 수를 계산하는 것입니다 (단어가 문자와 같다고 가정). 코드에서 동일한 작업을 수행 할 수 있습니다 (유니 코드이므로 바이트 수를 계산할 수 없습니다). 당신이 공백에 의존 할 수 없기 때문에 진짜 단어를 계산하려면 사전이 필요합니다.

예를 들어

이러한 문자열 :

这 是 一个 示例 文本

こ れ は, サ ン プ ル の テ キ ス ト で す

8 자와 (중국어) 8 개 단어로 계산됩니다 일본어 15 자, 15 자. 사실 그것은 아닙니다 (예를 들어 일본어로는 로마자로 음역 할 때 5 단어입니다). 또한 일본어로 두 개 이상의 알파벳이 있다는 것을 잊지 마십시오 (그리고 그 중 한 가족은 소리 나는 것입니다).

무엇이 요점입니까? 당신은 무엇을 셀 것입니까? 단어는 우리가 그들을 나타내는 데 사용하는 표음 표현 (라틴 문자 포함) 중 하나로 번역됩니까? 어느 것? 단어 카운팅 꽤 다를 것입니다 그리고 실제로 우리의 개념을 단어 (그 이유는, 단어 개수 문자를 가정합니다) 계산됩니다. 이제 말했다

이 코드를 작성하려고 : 24 인 (AN UTF-8 인코딩을 가정하여) 바이트, 그것은 8 게재합니다 말씀처럼 (우리가 문자를 계산하고)

string text = "这是一个示例文本"; 
MessageBox.Show(text.Length.ToString()); 

. 여기에 공백을 셀 수 없다. 한 음역의 단어 수를 계산하려는 경우 외부 라이브러리를 사용해야합니다 (혼자서하는 것은 쉬운 일이 아닙니다). 지원하려는 각 언어에 대해 다른 라이브러리를 사용해야합니다 (언어를 자동으로 쉽게 감지 할 수 있습니다. 일본어는 매우 자주 히라가나/가타카나 문자를 사용함). 어느 것? 그들 중 많은 수가 있는데, 나는 중국어에 대해 모른다. 그러나 일본어로 한자를 번역하기 위해 널리 쓰이는 것은 Kakasi이다.

한국어는 완전히 다른 이야기이며, 라틴어와 정확히 같은 알파벳이지만 문자 (음절이라고 부름)는 많은 문자로 구성 될 수 있습니다. 다시 그들은 공백이 필요 없으므로 단어 계산에 의존 할 수 없습니다. 그것은 다소 복잡합니다. 왜냐하면 여기서 당신은 문자 카운팅을 위해서조차도 사전을 필요로하기 때문입니다 (그렇지 않으면 당신은 음절을 계산할 것입니다).

+0

한국어에는 문자 사이에 공백이 있지만. 나는 MS Word가 문자를 세어 텍스트에서 단어를 찾습니다. 그것은 중국어와 일본어에 대해 같은 방식으로 작동합니다. 흥미로운 점은 Google 문서의 단어 개수 기능이 다음 언어에서 잘못 작동한다는 것입니다. D –

+0

@JinHo 한국인은 공백이 있지만 (중국어와 일본어는 같음) 엄격하게 요구되는 것은 아닙니다. 어떤 언어도 사용하지 않고 긴 텍스트를 볼 수 있습니다. 음 ... 그렇습니다 ... _ _ _ 소프트웨어는 극동 언어에 너무 좋지 않았습니다 (특히 어쨌든 여전히 그렇지 않습니다). 특히 우리가 생각한 것과는 너무 다른 경우가 있습니다. 글로벌라이제이션/로컬라이제이션 프로세스는 UNICODE 지원 뿐만이 아닙니다. (이해하기가 쉽지 않습니다.) –

+0

@JinHo 오, 너 베트남 출신이야! 큰 나라! 한 번 이상 호치민에서 길을 건너는 것이 두렵다 고해도! :) –