Есть ли модуль Python для перевода текстов с одного человеческого языка на другой? Я планирую работать с текстами, которые должны быть предварительно обработаны и обработаны с помощью скриптов Python. Какие другие Python-интегрированные подходы могут быть использованы?
Перевод человеческих языков в Python
Ответ 1
Если вы хотите на самом деле перевести строку текста между двумя языками, скажем, с английского "Hello" на испанский "Hola", вы можете посмотреть в API Google Language.
Другой альтернативой из-за недавнего снижения бесплатной версии API Google является Bing Translator API.
Наконец, Google Cloud Platform предлагает Перевести API как услугу, стоимость которой составляет около 1 доллара США на 50 000 символов.
Ответ 2
Инструмент Python Инструмент Natural Language Toolkit почти наверняка будет вам полезен:
"Модули Python с открытым исходным кодом, лингвистические данные и документация для исследований и разработок в области обработки естественного языка"
Я не верю, что он будет делать перевод напрямую, но он отлично подходит для машинного понимания текста на естественном языке.
Ответ 3
Python поддерживает gettext
. Ознакомьтесь с docs здесь.
Ответ 4
Если вы хотите перевести произвольный (естественный) текст, ознакомьтесь с Goslate
, бесплатным API-интерфейсом python для служб переводов Google. Согласно этот сайт, код так же прост, как это:
import goslate
gs = goslate.Goslate()
print(gs.translate('hello world', 'de'))
Вы можете установить пакет с помощью
pip install goslate
Ответ 5
Что нужно использовать, зависит от того, что вы хотите перевести.
- Тексты, которые являются частью вашего приложения, например пользовательский интерфейс и т.д. Затем используйте gettext напрямую или zope.i18n, который обертывает gettext, поэтому его проще использовать.
- Произвольные тексты: API для Google Translation - это для вас.
- "Содержимое", т.е. вещи, которые пользователь приложения будет изменять и переводить: Ну... ничего, действительно. Вы должны реализовать это самостоятельно.
В вашем описании это звучит так, как будто вы после # 2.