CearáCuriosidadesRegionaisUtilidade Pública

Cearenses criam tradutor da única língua viva descendente do tupi antigo


Foto: UFC/Reprodução

Um grupo de pesquisa da Universidade Federal do Ceará vem criando uma série de ferramentas computacionais para o processamento do “nheengatu” — a língua geral amazônica (LGA) — único idioma vivo descendente do tupi antigo. O equipamento permite a investigação da estrutura gramatical da língua, e amplia suas possibilidades de tradução.

A UFC informou que o nheegatu tem apenas 6 mil falantes no Brasil e 8 mil na Colômbia, por isso, o idioma se encontra em risco de extinção. Sob essa perspectiva, o grupo de pesquisa Computação e Linguagem Natural (COMPLIN) tenta preservar a memória e ampliar o conhecimento sobre esse tupi moderno.

Assim, foi elaborado o Nheentiquetador, um etiquetador morfossintático (programa que reconhece a categoria da palavra) do nheengatu. O grupo trabalha agora na criação de um analisador sintático automático (programa que entende a palavra no contexto da frase), que dará mais precisão às traduções automáticas do GrammYEP.

O grupo começou, há três anos, a aplicar os estudos da linguística computacional ao nheengatu focado sobretudo no português. De acordo com o líder do grupo, professor Leonel Figueiredo de Alencar Araripe, ainda não havia nada em termos de ferramentas e recursos para o processamento computacional da LGA, apesar de sua importância histórica, cultural e linguística. 

A primeira ferramenta criada foi o GrammYEP, o tradutor automático pioneiro em uma língua indígena brasileira. Entretanto, para avançar na qualidade e no escopo dessas traduções, foi preciso criar uma nova ferramenta, com a função de organizar as classes gramaticais das palavras.

O GrammYEP foi concluído em 2020 e traduz textos simples com sentenças que expressam qualidades, estados e localizações de pessoas e objetos, levando em conta os padrões gramaticais e a semântica (isto é, o significado das palavras e frases) do tupi moderno.

A ferramenta traduz a LGA para o português e o inglês, e também traduz do nheengatu para as duas línguas. Agora, o projeto está sendo expandido para que a tradução seja permitida entre a língua indígena e outros 30 idiomas.

G1 CE

//Error: No Results Found‘ function beforeLoader() return ‘

‘ function getFeedUrl(e, t, a, s) switch (a) case “recent”: s = “/feeds/posts/default?alt=json&max-results=” + t; break; default: s = “comments” != e ? “/feeds/posts/default/-/” + a + “?alt=json&max-results=” + t : “/feeds/comments/default?alt=json&max-results=” + t return s function getPostID(e, t, a) return (a = e[t].id.$t) ? a.split(“-“).pop() : “” function getPostLink(e, t) for (var a = 0; a < e[t].link.length; a++) if ("alternate" == e[t].link[a].rel) var s = e[t].link[a].href; break return s function getPostTitle(e, t, a) return e[t].title.$t ? e[t].title.$t : templateifyMessages.noTitle function getPostAuthor(e, t, a, s) return s = "" != templateifyMessages.postAuthorLabel ? '‘ + templateifyMessages.postAuthorLabel + “” : “”, templateifyMessages.postAuthor ? ‘” : “” function getPostDate(e, t, a, s, r, i) monthNames = “undefined” != typeof monthNames ? monthNames : [“Janeiro”, “Fevereiro”, “Março”, “Abril”, “Maio”, “Junho”, “Julho”, “Agosto”, “Setembro”, “Outubro”, “Novembro”, “Dezembro”], dateFormat = “undefined” != typeof dateFormat ? dateFormat : “d m, y”; var o = e[t].published.$t, n = o.substring(0, 4), c = o.substring(5, 7), l = o.substring(8, 10), d = dateFormat.replace(“m”, monthNames[parseInt(c, 10) – 1]).replace(“d”, l).replace(“y”, n); return i = templateifyMessages.postAuthor && “” != templateifyMessages.postDateLabel ? ‘‘ + templateifyMessages.postDateLabel + “” : “”, [1 == templateifyMessages.postDate ? ‘‘ + i + ” + d + “” : “”, 1 == templateifyMessages.postDate ? ‘‘ + d + “” : “”] function getPostMeta(e, t, a, s, r) 1 == templateifyMessages.postDate ? ‘ ” : “”, 1 == templateifyMessages.postDate ? ‘ ” : “”] function getFirstImage(e) function getPostImage(e, t, a, s) var r = e[t].content ? e[t].content.$t : “”; return a = e[t].media$thumbnail ? e[t].media$thumbnail.url : “https://resources.blogblog.com/img/blank.gif”, r.indexOf(r.match(/ -1 ? r.indexOf(“ -1 ? r.indexOf(r.match(/ -1 ? getFirstImage(r) : “https://resources.blogblog.com/img/blank.gif” function getPostImageType(e, t) return e.match(“i.ytimg.com”) ? “is-video” : “is-image” function getPostTag(e, t, a) return e[t].category ? ‘” : “” function getPostSummary(e, t, a, s, r) return e[t].content && “” != (s = $(e[t].content.$t).text().trim()) ? ‘‘ + s.substr(0, a) + “…” : “” function getPostComments(e, t, a, s, r) o.match(“//img1.blogblog.com/img/b16-rounded.gif”)) && (o = “//1.bp.blogspot.com/-QN2lgvtYZco/YN3mUSryAVI/AAAAAAAAADs/KrR-etCcvUMcPl06jopTs9pzq59IAXhMQCLcBGAsYHQ/w72-h72-p-k-no-nu/avatar.jpg”), ‘ ” function getPostContent(e, t, a, s) var r = “”, i = (t.length, getPostLink(t, a)), o = getPostTitle(t, a), n = getPostAuthor(t, a), c = getPostDate(t, a), l = getPostImage(t, a), d = getPostImageType(l, a), p = getPostMeta(n, c), m = getPostTag(t, a); switch (e) case “mega”: r += ‘
‘ + m + ‘

‘ + o + “

” + p[1] + “
“; break; case “ticker”: r += ‘ “; break; case “feat1”: case “feat2”: case “feat3”: switch (a) case 0: r += ‘ “; break; default: r += (1 == a ? ‘

Mais Notícias

Botão Voltar ao topo