Транслитерировать CJK на латынь — предпочтительно в переполнении стека

Я пытаюсь написать программу, которая может транслитерировать CJK на латынь (например, пиньинь, ромаджи и т. Д.). Например, вы даете китайский, японский или корейский документ в качестве входных данных, а затем получаете транслитерированную версию на латиницу в качестве выходных данных.

Я новичок в этой области, поэтому, пожалуйста, потерпите меня здесь.

Очевидно, что сначала мне нужно определить тип языка (китайский, японский или корейский), прежде чем идти дальше. Затем, как я понял до сих пор, для выполнения транслитерации мне нужно разделить текст на слова, поскольку в этих языках нет пространство между словами. Это называется сегментация слов. Наконец, после выяснения слов мне нужно перевести их на латынь.

Вот мой вопрос:

  1. Есть много (ну, не совсем! Лучше сказать, некоторых) библиотек, которые выполняют работу по транслитерации, так как я ищу библиотеки с открытым исходным кодом на C / C ++, я нашел Adson (только для китайского языка) и ICU4C. Клонированный Git-репо от Adson не компилируется. И я не смог найти простой, простой учебник для ICU4C. Как найти руководство по использованию ICU4C? Знаете ли вы какую-либо другую библиотеку для транслитерации CJK на латынь? Если коэффициент точности выше (~ 90%), я могу забыть о том, что он написан на C ++.

0

Решение

ICU: есть примеры в http://userguide.icu-project.org/transforms/general и ICU 50 теперь имеет сегментацию слов CJK. uconv образец может быть использован с чем-то вроде uconv -f utf-8 -t utf-8 -x 'Any-Latin' пройти Any-латинское преобразование. Это не принимает во внимание язык, хотя.

1

Другие решения

Других решений пока нет …