Как обрабатывать имена / неизвестные слова в нейронном машинном переводе? - PullRequest
0 голосов
/ 21 марта 2019

Может ли кто-нибудь объяснить лучший способ обработки неизвестных слов в Нейронный машинный перевод вместо его удаления и узнать, как google translate обрабатывает имена, когда предложение переводится между любыми двумя языками?

Буду очень признателен за ваш ответ ... Спасибо!

1 Ответ

0 голосов
/ 29 марта 2019

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

В настоящее время наиболее частыми подходами являются кодировка байтовой пары и SentencePiece , оба они доступны через pip и просты в использовании.

Google в своей статье 2016 утверждает, что использует аналогичную технику под названием WordPiece, однако, возможно, они переключились на SentencePiece, который был опубликован Google в 2018 году.

...