fuzzywuzzy e "abuso invisível" entre humanos e robôs de tradução

Começo do bem, ser mais gentil e fim, o direito não é respeitado nos limites das coisas


Provavelmente, em todas as épocas, houve tradutores literários e pensadores livres. O último sentiu-se completamente autorizado a alterar o texto, reeditá-lo, descartar algumas peças e anexar outras. E os pesquisadores modernos são confrontados com uma pergunta típica: “O que aconteceu em detalhes durante a transformação do original? O que é riscado, o que é salvo, o que é refeito, o que é adicionado? ”


Antes de ler os textos com todo cuidado, eu queria tentar entregá-los aos robôs para estudo preliminar. Tínhamos poucas esperanças em relação aos robôs, mas recebemos uma ajuda substancial deles. Sobre como fizemos o Google Translate e o Yandex.Translator competirem no trabalho do texto grego de Invisible Battle, lido abaixo.


Material de trabalho


" Abuso invisível " - um tratado ascético, originalmente escrito em italiano, depois traduzido para o grego no século 18, editado de acordo com a prática ascética cristã oriental e depois traduzido para o russo. Mas também não literalmente, mas com mudanças significativas. Descrevendo os princípios de seu trabalho na tradução para o russo, São Teófano, o Recluso, escreveu:


Não traduzo [este livro], mas uso livremente meu discurso ... adicionando, diminuindo e alterando o original.

Uma visão geral das mudanças editoriais está no trabalho do ep. Feoktista , mas eu queria obter exatamente uma diff detalhada ao longo do texto.


Método de correspondência


Para isso, os dois textos (grego moderno e russo) foram divididos em parágrafos. Foram publicados aproximadamente 700 parágrafos cada.


Traduzimos o texto grego para o russo duas vezes - uma vez usando o Yandex.Translator, outra vez usando o Google Translate. Eles simplesmente criaram páginas grandes com texto completo e as abriram através dos focinhos correspondentes da web. Era quase impossível ler o texto traduzido: aparentemente o original era muito complicado, mas algo poderia ser aprendido com esse horror. As palavras-chave em algum lugar deveriam ter coincidido, os números também.


Não havia uma variedade particular de ferramentas para encontrar duplicatas nebulosas, elas se agarraram fuzzywuzzy , que considera a distância de Levenshtein . Das quatro funções: ratio , token_sort_ratio , token_sort_ratio , token_set_ratio - a última foi selecionada, não relacionada à ordem das palavras ou às suas repetições. E, como se viu depois, a escolha estava certa.


Para todos os pares de parágrafos (russo x grego), foram calculados os graus de semelhança do token_set_ratio tradução Feofanov com Yandex e Google. Decidimos não confiar em nenhum deles individualmente, mas em sua soma (à cesta de duas moedas - e essa também foi a decisão certa) e, em seguida, os candidatos com grandes valores dessa quantia examinaram e verificaram com seus olhos e canetas, além dos vizinhos casais verificados.


Como resultado, durante várias horas de trabalho, foi possível comparar 2/3 parágrafos; do restante, apenas as unidades podem ser comparadas manualmente.


Métodos de verificação


Após o trabalho realizado e o resultado obtido, foi interessante retornar e examinar novamente quais funções fuzzywuzzy e qual dos tradutores é mais adequado para essa tarefa.


O cálculo de partial_ratio consome muito tempo (demorou 120 horas para conduzir o computador em uma linha), mas as três funções restantes foram calculadas em cerca de uma hora: ratio , token_sort_ratio e token_set_ratio nas traduções Yandex e Google. Um total de seis funções de texto de proximidade e a sétima - nossa "cesta de moedas duplas".


Agora você pode dar uma olhada nos seguintes tablets. O primeiro responde à pergunta: "Se, para um determinado parágrafo russo, procurarmos o grego correspondente, considerando os parágrafos em ordem decrescente de similaridade (calculada por essa função), qual é a probabilidade de ver o parágrafo certo, observando apenas os três primeiros candidatos ?"


funçãoprobabilidade de encontrar com três tentativas
google_set_ratio + yandex_set_ratio66,5%
google_ratio65,0%
google_set_ratio64,8%
yandex_ratio62,0%
google_sort_ratio61,8%
yandex_set_ratio56,2%
yandex_sort_ratio54,6%

Ou seja, em cerca de 2/3 dos casos, quase imediatamente encontramos o parágrafo desejado. E no terço restante dos casos, você precisa sofrer muito. Portanto, dê uma olhada na segunda placa, que responde à pergunta: "Quantos candidatos terão que procurar em média até ver o parágrafo certo?"


funçãonúmero médio de tentativas
google_set_ratio + yandex_set_ratio36,7
google_set_ratio37,6
yandex_set_ratio47,0
google_sort_ratio65,9
yandex_sort_ratio69,7
google_ratio71,7
yandex_ratio75,3

Veja 40 parágrafos ou mais - isso é triste tristeza e, nesse caso, o carro não parece uma pista razoável. Como resultado, a estratégia ideal para comparar textos é “desnatar o creme”, observando apenas os candidatos mais prováveis ​​e fazer o restante da comparação com base na estrutura e em alguns outros fatores.


Elogio à própria intuição


Foi surpreendente para nós que a “cesta de duas moedas” google_set_ratio + yandex_set_ratio tirada “do teto” funcionou melhor, ainda melhor do que cada uma dessas funções individualmente. Além disso, os valores nas duas tabelas mostram que, em todos os aspectos, o Google Translate lida com essa tarefa melhor que o Yandex.Translator. Portanto, os robôs domésticos têm espaço para crescer.


PS Não há conhecimento especial nos scripts usados, mas se alguém precisar, podemos publicá-lo. O próprio resultado da comparação está aqui .


PPS Se você estiver interessado, a imagem no título é um fragmento de uma página da “ Primer of the Slavic-Greek-Latin ” de Fyodor Polikarpov-Orlov (1701).


PPPS Talvez exista uma revista científica em que este texto, devidamente dublado, deva ser oferecido para publicação?

Source: https://habr.com/ru/post/pt419367/


All Articles