Tecnologias essenciais para a cultura livre (1): tratamento automatizado de textos

Para socializar a cultura é imprescindível democratizar certas tecnologias essenciais. Quando falamos de cultura livre, não falamos somente de acesso à materiais culturais, mas também da liberdade de reutilizar e transformá-los, o que necessita de acesso às ferramentas. Pensando nisso, iniciamos esta série de textos para falar em detalhes de algumas tecnologias que consideramos fundamentais para a cultura livre. Para começar, nos inspiramos num post do centro cultural 2.0 Artica, do Uruguay, para falar de ferramentas para o tratamento do texto escrito. Este texto, então, é uma tradução/adaptação da postagem publicada em Artica no dia 30/09/2017.

Desde tradutores automáticos até bots que escrevem textos a partir de dados brutos, as tecnologias para tratamento de texto escrito são utilizadas para realizar tarefas cada vez mais necessárias para organizar a grande quantidade de informação que a digitalização da cultura tem gerado. Consomem bastante energia e tempo para ajudar na realização da tarefa de tornar essa informação conhecimento que seja útil, relevante e contextualizado, e a partir daí gerar novas produções, com novos significados para novos contextos.

As ciências da computação tem gerado ferramentas que simplificam e automatizam processos complexos realizados com texto. Em algumas destas aplicações há um papel importante da inteligência artificial e, dentro dela, do processamento de linguagens naturais, uma área que trata da conversão de informação de bancos de dados de computadores em linguagem compreensível ao ser humano. Por serem bastante complexos, muitos destes projetos devem ser abordados de forma coletiva e multidisciplinar – e seus resultados não deveria ficar em mãos exclusivamente privadas, como muitas vezes acaba acontecendo. Como usuários, deveríamos pode distinguir estas tecnologias da pura e simples “mágica”, para então entender como elas podem e devem estar como um bem comum (procomún), onde qualquer um pode ter acesso para usar. Abaixo mencionamos algumas destas tecnologias que, em nossa opinião, são essenciais para socializar a cultura escrita em tempos digitais:

_ TRADUÇÃO AUTOMÁTICA

O procedimento mágico que o Google Tradutor faz por nós é resultado de décadas de avanços da linguística computacional que hoje permitem não apenas a tradução de palavras soltas, mas também de expressões e textos completos. Ainda que as traduções automáticas não sejam perfeitas, cada dia melhoram mais – veja isso especialmente quando você traduz de alguma língua para o inglês. O uso do Tradutor do Google é gratuito, mas seu código não é aberto, o que significa que para usá-la dependemos do que o Google, uma empresa privada, decide sobre sua ferramenta. Pior ainda: o valor que os usuários aportam para melhorar a ferramenta através de suas correções é ótimo para a empresa, que, por sua vez, não coloca à disposição estes dados de correções adicionados pelos usuários.

É por isso que são importantes projetos como Apertium, um sistema de código aberto para a tradução automática. Ele é utilizado, por exemplo, como motor de tradução automática pela Wikipedia, permitindo que os usuários obtenham versões de um artigo em um idioma diferente, o que facilita a tradução inicial de um verbete na enciclopédia. É um software desenvolvido por diversas instituições públicas e privadas da Espanha, Inglaterra, Catalunha e Romênia.

 

_ RECONHECIMENTO ÓTICO DE CARACTERES (OCR)

Quando abrimos um texto escaneado e somos capazes de fazer seleções e buscas em seu interior, inclusive copiar e colar conteúdo, estamos a aproveitar as capacidades de uma tecnologia chamada “reconhecimento ótico de caracteres”, conhecida como OCR por sua sigla em inglês. Esta tecnologia nos poupa a transcrição de grandes massas de texto, que, ao ser digitalizado e reconhecido, pode ser tratado e manipulado. É particularmente útil em projetos de digitalização de publicações originalmente impressas. O OCR opera mediante algoritmos que, a partir de certos padrões, se encarregam de contrastar as imagens com os caracteres de um alfabeto. Estes algoritmos podem ser propriedade de uma corporação, mas também existem projectos livres e cada vez melhores que realizam esta tarefa com eficácia. Um deles é Tesseract, um motor de OCR desenvolvido pelo Google mas de licença livre, que pode ser utilizado através de programas livres, como gImageReader ou OCRFeeder, suíte de reconhecimento de caracteres padrão do GNOME disponível em quase todas as distros Linux e outras baseadas em Unix.

 

_ RECONHECIMENTO AUTOMÁTICO DE VOZ (transcrição de voz à texto)

A inteligência artificial aplicada neste campo permite processar as vozes e reconhecer a informação emitida por elas para as converter em texto, interactuar com um dispositivo mediante a voz (por exemplo, através de assistentes pessoais nos telefones móveis) ou automatizar serviços de ajuda, entre outras possibilidades. As aplicações que transformam a fala em texto são usadas para transcrição, mas também são uma forma de comunicação para pessoas com surdez ou dificuldades para captar a linguagem falada. Para que estas ferramentas funcionem, é necessário uma gramática (que é um “modelo linguístico”) e a informação acústica, ou seja, um corpus de vozes suficientemente grande no idioma desejado para obter um reconhecimento eficaz. Neste último ponto é que ainda não há um projeto de software livre tão bom como os proprietários, já que não se gerou um grande corpus de voz livre em todos os idiomas. Para diminuir esse problema, alguns projetos tem trabalhado nesse ponto fraco, em especial o Vosforge, que nesse texto traz em detalhes os desafios atuais para criar um sistema livre de transcrição/reconhecimento automático de voz, como o fato de as licenças restritivas impedirem o acesso a informação de possíveis colaboradores, os modelos acústicos não serem intercambiáveis, a necessidade de melhoria dos modelos linguísticos, entre outros pontos.

_ SÍNTESE DE VOZ (transcrição de texto para voz)

Para que possamos escutar o texto, as tecnologias TTS (text to speech) traduzem os caracteres escritos para sons inteligíveis por humanos. Estas ferramentas podem ser utilizadas no sistema operacional do computador, no navegador, num smartphone, e seu principal uso é a acessibilidade para pessoas cegas ou com dificuldades para ler. Portanto, contar no acervo comum da humanidade com motores e aplicações de transcrição de texto para voz, bem como com um repertório de vozes livres variado em idiomas e acentos locais, é fundamental para garantir o acesso à cultura a esses usuários.
As tecnologias TTS também podem ser usados para a criação de conteúdos audiovisuais em que se necessita produzir automaticamente áudio a partir de texto – como, por exemplo, para narração de um vídeo em um idioma que não dominamos, partindo de um texto traduzido. O Centro de investigações de Tecnologias da Linguagem da Universidade de Edimburgo, Universidade de Carnegia Mellon e outras universidades desenvolveram o Festival, um sistema de síntese de voz de uso geral para múltiplos idiomas bastante interessante. Existem outras diversas ferramentas livres para usar sistemas TTS por aí, desde aplicações web gratuitas até leitores de tela para Firefox e softwares para diversos sistemas operacionais. Uma dica: gravações de áudio a partir de sínteses de voz podem ser realizadas facilmente com Audacity.

_ EXTRAÇÃO DE DADOS

Extrair informação que originalmente não está estruturada na forma em que precisamos ler ou usar pode ser uma tarefa muito tediosa quando se realiza copiando e colando, um a um, os dados. Para superar este desafio existem diversos procedimentos automáticos que extraem a informação. São processos, por exemplo, para arquivar e examinar lugares de algum site (crawling), ou para reunir informação específica dos mesmos (scrapping), ou de qualquer tipo de documentos de texto. Esta tarefa pode ser útil para diferentes propósitos, como reunir dados sobre um tema (preços, clima, etc.), ou como forma de preservar versões de sites, como faz o Internet Archive.

O que faz o scrapping é, basicamente, a transformação de dados sem estrutura em dados estruturados, que vão ser armazenados e analisados em uma base de dados central ou em uma planilha. Um exemplo claro da aplicação deste tipo de ferramenta é o que explica a argentina Scann no blog “Taller de digitalización“, onde detalha como foi possível extrair dados de 1500 escritores argentinos a partir de um livro previamente escaneado e processado com OCR, e obter daí uma planilha bem estruturada.

A extração de dados geralmente é feita programando um script de busca e extração. Uma ferramenta livre para isso é o Scrapy, que pode ser usada também a partir da interface do Portia. Para tarefas de extração de dados menos complexas, também se pode utilizar extensões para Chrome e Firefox, assim como aplicações para extração de dados desde um PDF.

_ GERAÇÃO DE LINGUAGEM NATURAL (Natural Language Generation – NLG)

Talvez vocês já tenham escutado algo a respeito de notícias ou artigos criados automaticamente por software. Pode ser algo que soa ficção científica – e com frequência a temática é tratada dessa maneira, com grandes títulos falando de robôs que substituem a jornalistas e escritores, tema que inclusive já escrevemos por aqui, em 2014. Mas trata-se simplesmente de uma tecnologia que gera um texto escrito bem estruturado e inteligível a partir de dados. O conceito chave é “data to text”, dados a texto. Por exemplo, a partir de dados do clima ou de resultados esportivos, ou a partir de obras literárias, os softwares podem escrever um texto por sua própria conta, seguindo padrões de linguagem natural que incorporam através de léxicos, regras gramaticais e algoritmos que permitem ao software tomar decisões.

Mais do que substituir redatores humanos, estas ferramentas podem ser um apoio, facilitando a interpretação de dados brutos e acelerando a construção de um texto a partir de uma estrutura que depois vai ser checada e completada. Um exemplo bastante popular são os bots que escrevem (ou melhoram) artigos da Wikipedia, hoje imprescindíveis para manter a qualidade da enciclopédia. Além de realizar tarefas de manutenção, também são usados em alguns idiomas da Wikipedia para a criação de artigos a partir de informação organizada em dados brutos, como por exemplo artigos sobre asteróides, produzidos a partir de dados da NASA. Programados por colaboradores, estes bots devem estar dentro da política de bots e serem aprovados por votação da comunidade de wikipedistas.

Algumas corporações oferecem serviços de geração de texto em linguagem natural, mas ainda não existem muitos projetos de software livre que façam isso, ainda que no futuro isso poderia (e deveria) mudar, como explica esse texto (em inglês). Uma ferramenta livre aplicada à literatura computacional que parece muito interessante é a RiTa, software criado a partir de Java e JavaScript e que roda em ambientes Android, Processing, Node, and P5.js.

_ DEMOCRATIZAR AS FERRAMENTAS

Assim como é inegável que a alfabetização e o acesso a leitura e a escrita sejam direitos fundamentais, estas ferramentas aqui mostradas, cada vez mais avançandas, sofisticadas e generalizadas, deveriam estar ao alcance de qualquer pessoa que as necessite. Convém lembrar que, assim como não se faz inclusão digital somente dando computadores, democratizar a cultura também não é somente dar acesso, mas sim ampliar capacidades de uso e transformação destes materiais/softwares/computadores. As ferramentas em software livre são fundamentais para esta democratização porque, sendo abertas, possibilitam o compartilhamento das melhorias e correções para ampliar os idiomas, léxicos e vocabulários, o que por sua vez atende a diversidade cultural e a as necessidades de distintos coletivos com relação ao texto escrito. Nas próximas postagens desta série falaremos de outras ferramentas livres relacionadas à imagem e ao som. Hasta!

 

Tradução do Manual do Copyleft

Um dos trabalhos mais importantes sobre o copyleft que temos notícia chama-se “Copyleft – Manual de Uso“,  publicado pela editora espanhola Traficante de Sueños.

Em 9 capítulos, o manual tem como seu maior mérito relacionar a parte conceitual do copyleft com aspectos práticos, relacionado a aplicação das licenças nas áreas da música, audiovisual, software, dos livros e das artes visuais.

Desconhecemos um outro manual sobre copyleft no mundo [mas se você conhece, nos avise!], o que dá uma medida da importância do livrinho – ou da nossa falta de capacidade de achar um outro, quem sabe.

Mas isso tudo talvez tu já saiba, porque falamos do manual longamente neste post, em que também traduzimos a “Introdução” como forma de difundir o copyleft  – e, quem sabe, diminuir algumas dúvidas das pessoas com respeito ao conceito, que, ao contrário dos que alguns surpreendentemente pensam, NÃO É pirataria.

[Publicamos, inclusive, a tradução no Overmundo.]

*

Eis que, 2 anos depois, o parceiro Arthur Jodorowsky resolveu dar seguimento ao trabalho de tradução do “Copyleft – Manual de Uso“. Criou um blog específico pra isso, lugar onde tem postado periodicamente os trechos em que vai traduzindo.

Por enquanto, estão em português os dois primeiros capítulos: Guia do Software Livre e Guia do Autor de Música Livre. O primeiro faz um panorama geral do software livre, desde uma resposta a clássica pergunta “Por que produzir software livre?” até a aspectos legais relacionados aos tipos de licença livre para distribuição/remix dos softwares.

Já o segundo é um valioso passo a passo sobre como você, músico afinado com as ideias da cultura livre, pode fazer para gravar, editar e distribuir/vender sua música. Vender sim, porque a ideia de música livre não impede que os autores vendam seus próprios discos; ela apenas sugere que, sem a ânsia de lucro dos grandes intermediários, você possa colocar um preço razoável e justo para isso.

**

Blogue criado para a tradução do manual do copyleft

Mas voltamos a falar do “Manual de Uso” do Copyleft neste post também para comunicar que o Arthur está pedindo apoio na tradução do livro. Por enquanto, ele está sozinho no trabalho, mas a ideia é que a tradução seja coletiva.

Nas palavras dele: “Como o texto é longo (209 páginas, das quais já traduzi 41), estou chamando interessados. Se alguém se interessar, pode mandar um email para manualcopyleft@hotmail.com para a gente combinar detalhes.” Dá para baixar o manual na íntegra aqui.

Dado o recado, fique com um trechinho do manual, já traduzido pelo Arthur, que fala um pouco da especificidade do Software Livre:

Na maior parte, a ideia de software livre surge como reação à evolução da indústria de produção de programas, que, mesmo que de uma perspectiva histórica pareça quase inevitável, levou a conclusões e resultados que põem em questão algumas intuições básicas. Há mais de trinta anos temos nos acostumado a que quem produz um programa possa impor (e de fato imponha) as condições sob as quais pode ser usado, distribuído e modificado. Pode, por exemplo, proibir que o programa possa ser emprestado (mesmo temporariamente). Ou declarar ilegal a modificação do mesmo para evitar um problema de segurança (mesmo se for para uso próprio). Ou impedir que se possa adaptar a certas necessidades concretas. E, de fato, a legislação sobre propriedade intelectual e direitos de autor declara, em praticamente todo o mundo, que tudo isso (e muitas outras coisas) não pode ser feito, salvo explicitamente permitido pelo produtor do programa. Definitivamente, estamos acostumados a que essa permissão não exista.

No entanto, o software é basicamente informação, e, como tal, apresenta flexibilidade e possibilidades assombrosas quando o comparamos com qualquer objeto do mundo físico. Por exemplo, temos tecnologias (internet) que permitem distribuir um número indeterminado de cópias de um programa para quase qualquer ponto do planeta, e isso de forma quase instantânea e com custo praticamente zero. Podemos (sempre que tenhamos os conhecimentos técnicos adequados) modificar um programa, e, para isso, necessitamos de (relativamente) poucos recursos, além de obter um efeito multiplicador enorme. (…)

O software é o elemento tecnológico mais flexível e adaptável de que dispomos, o que mais facilmente pode se replicar e transportar. E, contudo, admitimos uma legislação que permite proibir a exploração dessas características, e alguns usos comerciais que de fato a proíbem, fazendo dos programas de computador um dos elementos mais imutáveis da nossa volta.