domingo, 5 de fevereiro de 2012

Hifenização em LaTeX

Para os escritores do idioma português, o LaTeX pode ser chato no momento de hifenizar as palavras. Isso ocorre porque o idioma "padrão" do LaTeX é o inglês, do qual não possui forma correta de hifenizar as palavras (By Hugo Sica, meu amigo de graduação).

Assim, o texto gerado no pdf pode apresentar erros de separação silábicas, por exemplo a palavra postagem ser separada assim post-agem. Uma forma manual de concertar esse erro é inserir o - para indicar o correto ponto de "corte" da palavra. No exemplo anterior, o erro seria concertado então por: posta-gem ou pos-tagem. Entretanto, caso várias ocorrências de uma mesma palavra exista no texto e, estas possuam erros de hifenização. Essa forma manual será ineficiente, pois para todas as palavras (iguais) deve-se inserir o -

Para resolver o problema de hifenização do LaTeX pode-se usar duas abordagem. A primeira é não permitir hifenização de palavras, assim como a maioria dos editores de textos fazem por padrão. Não gosto deste método porque algumas linhas ficam "esticadas". Já a segunda maneira é permitir a hifenização e indicar a separação silábica das palavras. Assim, caso existam n ocorrências da palavra postagem hifenizadas de forma errada no texto, esse método corrige-os após indicar a correta separação silábica de postagem apenas uma vez.

Para usar esse tão "mágico" recurso basta fazer usar \usepackage[T1]{fontenc} juntamente com o comando \usepackage[brazil]{babel}. Para indicar a separação silábica das palavras use o comando \hyphenation{ PALAVRAS } e substitua PALAVRAS pela separação silábica das palavras hifenizadas incorretamente separando-as por espaços. Importante, use esse comandos antes de \begin{document}

Exemplificando: Palavras postagem e silábica.

\usepackage[brazil]{babel}
\usepackage[T1]{fontenc}
\hyphenation{ pos-ta-gem si-lá-bi-ca}

\begin{document}

...

{\it Abraços}



quarta-feira, 1 de fevereiro de 2012

PLN, o que é isso?

Olá pessoa, fiquei um tempo fora (ou melhor, muito tempo) mas pretendo voltar a postar algumas novidades aqui no blog. Comecei primeiramente dando uma repaginada no visual o que acharam?

Durante esse tempo que estive ausente, algumas coisas mudaram, em meu perfil digo que sou um recente formado em Ciência da Computação, porém, acho que o "recente" já não é tão recente assim. Atualmente entrei em um novo desafio, estou fazendo Mestrado em Inteligência Computacional trabalhando com processamento de Língua Natural.

Com esse post pretendo apresentar que coisa é essa de Processamento de Língua Natural, pois provavelmente será tópico de algum outro post no futuro. O Processamento de Língua Natural (PLN) surgiu por interesses em aplicações de Tradução Automática (acredito que vocês usam um desses sistemas quase que diariamente, não é?) , mas hoje encontra-se presente em diversas aplicações.

O PLN pode ser descrito como ciência que visa estudar e desenvolver métodos para tratar objetos descritos em língua natural, o texto deste post por exemplo. Por exemplo, vocês já usaram algum editor de texto e como se fosse mágica, esse reconhece que houve um erro de digitação ou que a frase possui um erro de concordância? Isso é um exemplo de aplicações do PLN.  Outro exemplo é o Google Tradutor, sim a Google trabalha com processamento de língua natural, legal isso né :D.

O que eu trabalho dentro do PLN é a Sumarização Automática (SA), que consiste em desenvolver aplicações cujo objetivo é a geração automática de resumos. Dentro da SA existem dois "mundos", o monodocumento e o multidocumento. No mundo monodocumento, os sistemas devem fazer resumos a partir de um único texto-fonte, poderia por exemplo resumir esse post. Já no cenário multidocumento, do qual tenho mais interesse, as aplicações devem "ler" vários textos-fonte e gerar um único resumo, por exemplo, faça uma busca no Google pela palavra chave "Copa do Mundo 2014", a quantidade de resultados é enorme, a SA multidocumento podeira receber como entrada os 10 primeiros documentos retornar e apresentar um resumo, inclusive indicar de onde as informações foram tiradas, legal não é?

A forma que é descrita a SA parece ser uma tarefa muito fácil. Mas possui diversos desafios, como informações conflitantes, redundantes, ambíguas, etc. Creio que esta seja área bastante ampla e que possui vasta gama de aplicação, visto a quantidade de informação publicada, principalmente na Web,  é muito grande.

É isso ai, qualquer dúvida perguntem.