Перевод отдельных слов с учетом контекста с использованием средств обработки компьютерного языка - PullRequest
5 голосов
/ 26 марта 2011

Я хотел бы автоматически комментировать тексты для изучающих иностранные языки с переводами сложных слов.

Например, если исходный текст:

El gato esta en laCasa de Mis Vecinos

Становится

Эль Гато Эст ан ла Каса де Мис Vecinos ( соседей )

Первый шаг - определить, какие слова являются трудными.Это можно сделать путем лемматизации слов в исходном тексте и сравнения их со списком «простых слов» (базовый словарь из 1500–2000 слов).Те, кого нет в этом списке, будут обозначены как «жесткие слова».Этот процесс кажется достаточно простым при использовании набора инструментов для естественного языка (NLTK) для Python.

Существуют некоторые трудности в словах, которые должны быть переведены как пара, например, «новобрачные» или фразовые глаголы «он *».1021 * называется me up 'или немецкое' er ruft mich an '(anrufen).Здесь слова не могут рассматриваться индивидуально.Для фразовых глаголов и тому подобного, возможно, необходимо некоторое понимание грамматики.

Второй шаг заключается в получении правильного перевода сложных слов в соответствии с контекстом, в котором они появляются.Как я понимаю, это эффективно применяет первую половину статистической системы машинного перевода, как Google Translate.Я полагаю, что эту проблему можно решить с помощью API Google Translate Research, который позволяет отправлять текст для перевода, а ответ содержит информацию о том, какое слово в переводе соответствует какому слову в исходном тексте.Таким образом, вы можете ввести целое предложение, а затем найти нужное слово из ответа.Однако вы должны подать заявку на использование этого API, и у них есть ограничения на использование, что, вероятно, будет проблемой для моего приложения.Я предпочел бы найти другое решение.Я ожидаю, что ни одно решение не даст 100% правильных переводов, и их придется проверять вручную, но это все равно должно ускорить процесс.

Спасибо за ваши комментарии.

Дэвид

1 Ответ

1 голос
/ 12 июня 2012

На начальном этапе нет необходимости полагаться на априорный словарь - просто накапливать количество токенов в учебном корпусе и отмечать токены в вашем тестовом наборе, которые не встречаются до точки среза в упорядоченном по рангу словаре,достаточно.

http://vuw.academia.edu/JosephSorell/Papers/549885/Zipfs_Law_and_Vocabulary

Для второго шага, «получения правильного перевода сложных слов в соответствии с контекстом, в котором они появляются», да, вам потребуется доступ к MT APIи / или человеческий перевод.Выбор наилучшего подхода зависит от ваших целей.

У вас может быть правильный перевод, быстрый или дешевый перевод - я не знаю, как вы можете иметь все три одновременно.

...