Как всегда, хочется странного
Нужно мочь перевсти «Привет, меня зовут Мамут» в «privet_menya_zovut_mamut» (в идеале, как в ICU, но PyICU такого пока не предоставляет
)
Если нет легких путей, то, может, есть сложные? Интересует транслиетрация не только с русского
M> Как всегда, хочется странного
Боюсь, единственный быстрый способ — это использовать Jython и вызывать ICU из Явы
Здравствуйте, Mamut, Вы писали:
M>> Как всегда, хочется странного
M>Боюсь, единственный быстрый способ — это использовать Jython и вызывать ICU из Явы
Для русского есть в pytils, впрочем это настолько просто делается что лень только таблицы забивать
Здравствуйте, Mamut, Вы писали:
M>Как всегда, хочется странного
M>Нужно мочь перевсти «Привет, меня зовут Мамут» в «privet_menya_zovut_mamut» (в идеале, как в ICU, но PyICU такого пока не предоставляет )
M>Если нет легких путей, то, может, есть сложные? Интересует транслиетрация не только с русского
Если интересно — решал задачу от HFlabs насчет транслитерации. Как раз на питоне
На входе дается словарь <русское_слово>-<трaнслит>. Нужно вывести правила транслитерации автоматом. Ну и в довесок транслитератор по заданным правилам построить. У меня точность получилась 99.8% где-то. По 10К слов правила строятся примерно за 20s,сама транслитерация менее чем за секунду, т.к. там конечный автомат.
В общем, если интересно — обращайся. Может что путнее можно из этого сделать.
Конечно, с транслитом китайский-русский он не справится. А вот французский-русский интересно было бы попробовать
PS Хотя HFLabs решением не заинтересовались.
Здравствуйте, ettcat, Вы писали:
e> M>Как всегда, хочется странного
e> M>Если нет легких путей, то, может, есть сложные? Интересует транслиетрация не только с русского
e> Если интересно — решал задачу от HFlabs насчет транслитерации. Как раз на питоне На входе дается словарь <русское_слово>-<трaнслит>. Нужно вывести правила транслитерации автоматом. Ну и в довесок транслитератор по заданным правилам построить. У меня точность получилась 99.8% где-то. По 10К слов правила строятся примерно за 20s,сама транслитерация менее чем за секунду, т.к. там конечный автомат.
e> В общем, если интересно — обращайся. Может что путнее можно из этого сделать.
e> Конечно, с транслитом китайский-русский он не справится. А вот французский-русский интересно было бы попробовать
e> PS Хотя HFLabs решением не заинтересовались.
Я помимо прочего буквально вчер анаткнулся вот на это:
http://www.tablix.org/~avian/blog/archives/2009/01/unicode_transliteration_in_python/
Самое обидное, что пока не нужно
Здравствуйте, Mamut, Вы писали:
PH>> M>Боюсь, единственный быстрый способ — это использовать Jython и вызывать ICU из Явы
PH>> Для русского есть в pytils, впрочем это настолько просто делается что лень только таблицы забивать
M>Ну как сказать просто http://userguide.icu-project.org/transforms/general
Для русского можно поступить совсем просто
In [15]: s = u'Привет, меня зовут Мамут'
In [16]: "".join([chr(ord(x) % 128) for x in s.encode('koi8-r')]).replace(" ", "_").lower()
Out[16]: 'priwet,_menq_zowut_mamut'
Здравствуйте, HiSH, Вы писали:
HSH>HSH>In [15]: s = u'Привет, меня зовут Мамут'
HSH>In [16]: "".join([chr(ord(x) % 128) for x in s.encode('koi8-r')]).replace(" ", "_").lower()
HSH>Out[16]: 'priwet,_menq_zowut_mamut'
HSH>
Прикольно!
Правда, не всегда читаемо:
In : u"рекламный щит: подъём на вышку ценою всего в одну шишку"
Out: "reklamnyj_]it:_pod_#m_na_wy[ku_ceno@_wsego_w_odnu_[i[ku"
Здравствуйте, quodum, Вы писали:
Q>Здравствуйте, HiSH, Вы писали:
Q>Правда, не всегда читаемо:
Ещё есть замечательное слово ']#lo^x'