Что такое общие подходы к переводу определенных слов (или выражений) внутри заданного текста, когда текст должен быть восстановлен (с пунктуациями и каждым)?перевод, заменяя слова внутри существующего текста
перевод происходит из справочной таблицы и охватывает слова, словосочетания и смайликов, как L33t, CUL8R, :-) и т.д.
Простая строка поиска и замены не достаточно, так как он может заменить часть более длинных слов (кошка> собака ≠> гусеница> собачонка).
Предположит следующий вход:
s = "dogbert, started a dilbert dilbertion proces cat-bert :-)"
после перевода, я должен получить что-то вроде:
результата = "анны, начал джордж dilbertion процесса кошку-Bert смайлик "
Я не могу просто tokenize, так как я потерял пунктуации и позиции слов.
Регулярные выражения, работает для нормальных слов, но не выделяет специальные выражения, такие как смайлик :-), но это так.
re.sub(r'\bword\b','translation',s) ==> translation
re.sub(r'\b:-\)\b','smiley',s) ==> :-)
сейчас я использую вышеупомянутую регулярное выражение, а просто заменить на не буквенно-цифровых слов, но это далеко не пуленепробиваемым.
(постскриптум я использую Python)
ок. так вы знаете о «школьном решении» для такой проблемы? –