Skip to content

Resumo do artigo: Semantic Wikipedia

junho 27, 2011

de Völkel, Krötzsch, Vrandecic, Haller e Struder

            Este artigo trata de uma proposta dos autores para a aplicação de técnicas de semântica na ferramenta Wikipedia. Estas ferramentas podem, segundo os autores, trazer muito mais significado ao conteúdo disponivel e permitir busca pelo conteúdo desta enciclopédia, que atualmente é composta de textos estáticos. A proposta é criar uma extensão a ser integrada com a Wikipedia já existente, mantendo os recursos que fazem desta uma base de conhecimento tão popular: possibilidade de adicionar e alterar conteúdo, acesso livre e gratuito e facilidade para editar páginas.

            Os autores pretendem que seja possível, com a implementação desta tecnologia, realizar consultas complexas na Wikipedia e utilizar sua imensa base de conhecimento como um banco de dados sobre diversos assuntos. Seria possível, por exemplo, realizar uma consulta do tipo “quais foram os filmes que ganharam o Oscar de melhor trilha sonora nos últimos 40 anos?”. Isso porque, ao invés de páginas estáticas, cada artigo escrito por um colaborador seria processado como um triple RDF, fazendo parte de uma ontologia. Isso é possível através dos atributos e links tipados.

            Discorrem sobre o cenário atual (na época em que o artigo foi escrito) da Wikipedia: baseada em um sistema simples de gestão de conteúdo, permite alteração de textos e comporta-se como uma lista criada manualmente de perguntas e respostas. Por ser manual, alterações em um artigo não se refletem em outros relacionados. A extensão Semantic MediaWiki, proposta pelos autores, adere ao “look and feel” da Wikipedia e foi projetado com especial atenção à usabilidade, expressividade, flexibilidade, escalabilidade e compatibilidade. A ideia é que os resultados de consultas possam ser exportados para outros sistemas, e não só para uso diretamente humano.

            As características básicas de cada artigo são as seguintes:

  • Categorias: classificam os artigos de acordo com seu conteúdo. Esta característica está presente no formato atual da Wikipedia
  • Links tipados: estes são uma das mais importantes novidades deste sistema. Os links tipados, detalhados mais adiante nesta revisão, criam os relacionamentos semânticos entre os artigos. Ou seja, ao invés de simplesmente levar a uma outra página, o link tem o poder de apresentar a estrutura semântica que relaciona os artigos – sendo os artigos entidades
  • Atributos: são as características do assunto de que trata o artigo que estão indicadas no texto. No Semantic MediaWiki, estes atributos são explícitos e tipados. Comportam-se de maneira semelhante aos atributos da Programação Orientada a Objeto.

Para manter a liberdade que os colaboradores da Wikipedia tradicional sempre tiveram, é permitido escrever e alterar qualquer letra, palavra, link, atributo ou categoria. O ônus desta decisão é que erros de digitação podem comprometer a classificação semântica de um elemento.

No artigo original é apresentada a foto da tela de um artigo sobre Londres produzido pelo Semantic MediaWiki, e são apresentadas as sintaxes de declaração do artigo tanto em Wikipedia tradicional quanto em Semantic MediaWiki. Os links tipados apresentam a relação semântica entre assunto do artigo sendo apresentado e o assunto do artigo destino do link. No artigo sobre Londres, um link para o artigo da Inglaterra seria da forma [[is capital of::England]]. Assim, quando um usuário fizer uma pesquisa do tipo “Qual é a capital da Inglaterra?”, o sistema será inteligente o suficiente para buscar a relação “is capital of” e “Inglaterra”, e apresentar uma lista com os resultados na forma de link para respectivos artigos. Neste caso, o resultado será somente um artigo.

Os atributos permitem igualmente a pesquisa semântica. Para se colocar os dados da população de uma cidade, pode-se utilizar a notação [[population:=5467421]]. Assim, também é possível buscar pela população de determinados países, ou encontrar o país com maior população em uma determinada região. Para facilitar a inclusão dos atributos e melhorar a qualidade dos dados inseridos, são oferecidos templates, ou seja, “moldes” de artigos com atributos pré-definidos.

As unidades de medida são suportadas em suas diversas formas. Por contar com uma representação semântica RDF, a unidade pode ser alterada de acordo com as preferências do usuário sem comprometer o significado dos números. Isso porque o RDF diferencia o espaço de valor do espaço léxico. Este último é usado para a localização de artigos, ou seja, representação de artigos em diversos idiomas. O espaço de valor é usado para atribuir valor a um atributo, que é de um determinado tipo de dados. Os tipos de dado variam de tipos comuns, como inteiro e texto, a tipos com mais significado, como unidade de medida espacial e temperatura.

Outro recurso do Semantic MediaWiki é a infobox. Esta é uma caixa de informações onde estão diversos links para relações semânticas derivadas do assunto do artigo ativo. Isso permite navegação inteligente e com significado pelo conteúdo relacionado, sendo os links desta navegação dinâmicos e atualizados automaticamente quando qualquer alteração é feita nos artigos relacionados.

A manipulação de erros também foi pensada com especial cuidado. Como muitos dos colaboradores não são pessoas técnicas, mensagens de erro com códigos e textos relacionados ao processamento da solicitação (seja esta a edição de um artigo, acesso a um link ou acesso a um artigo) poderiam desestimular a colaboração, que é o ponto mais atrativo da Wikipedia. Para evitar erros, qualquer valor numérico não tipado é tratado como floating point, e qualquer outro valor é tratado como string.

O Semantic MediaWiki foi desenvolvido em PHP e MySQL, e é uma extensão do MediaWiki que foi desenvolvido com as mesmas linguagens.

Os sistemas de etiquetagem (tagging) atuais possuem termos em diversos idiomas para representar o mesmo significado, e sinônimos em um mesmo idioma para categorizar um item. O Semantic MediaWiki, por contar com uma representação na forma de significado, é internacional e evita redundâncias.

Há outras abordagens disponíveis para a Wiki Semântica, a maioria delas baseadas em RDF e apresentam problemas, sejam estes problemas o alto nível técnico necessário para manipular artigos e inserir links ou por não serem baseados em software livre.

Os autores esperavam a implementação do Semantic MediaWiki no fim de 2006. Porém, quando foi acessado este site, basicamente artigos sobre a própria MediaWiki que estavam disponíveis. Os autores destacam que ainda é necessário pesquisar e desenvolver mais soluções em esquema de informações (relações inversas e simétricas, meta modelagem, verificação de consistência e alinhamento de questões de ontologia (afinal, a Wikipedia não é completa nem consistente).

A Semantic MediaWiki é um sistema que visa converter os dados, que são o que temos hoje na Wikipedia, em informação, atribuindo a estes dados um significado. É um processo que envolve não só a modelagem ontológica das informações que estão disponíveis, mas também restrições técnicas e de interface de usuário. A aplicação semântica em uma ferramenta de colaboração tornam a usabilidade muito importante, e a sensibilidade de identificar que artefatos tornam a Wikipedia tão popular e manter estes artefatos na nova solução.

Foi importante a análise que os autores fizeram das outras soluções semelhantes que já existiam para não cometer as mesmas falhas – assim, a formatação de links tornou-se tão intuitiva quanto já é na Wikipedia.

Linguagem como significado e agente transformador do texto

maio 30, 2011

Tradução livre de BOLSHAKOV,  I. e GELBUKH, A. Computational Linguistics

Capítulo IV

Possíveis pontos de vista na linguagem natural

            Segundo os autores, há 3 principais formas de definir a linguagem natural, a saber:

–       Principal forma e expressar o pensamento humano: esta forma tange à função expressiva da linguagem. De fato, diversos fatos do mundo exterior são refletidos no cérebro humano e processado por este, e este processamento é o pensamento humano. Porém, não há evidências de que as palavras usadas na linguagem natural são usadas no pensamento e, além disso, já se sabem que há outras formas de se pensar. Por exemplo, pensamentos de matemáticos sobre conceitos abstratos.[1]

–       Principal meio para gerar textos: de fato, o fluxo de textos é uma das mais importantes funções da linguagem natural. Porém a comunicação inclui não somente a criação de discursos mas também sua compreensão. Além do mais, esta definição ignora o ponto chave da compreensão: o conteúdo, ou seja, o significado do texto.

–       Principal meio de comunicação humana: esta definição é a mais próxima do que é realmente a linguagem natural, porém não engloba dois dos principais aspectos da mesma: falar e entender – e, portanto, não define estes aspectos isoladamente e em interação.

Conforme pode-se perceber, portanto, estas definições não são suficientes. Uma melhor definição usaria componentes de todas as definições acima, como texto, significado, geração e compreensão.

Linguagem como um transformador bidirecional

            A principal função da comunicação humana é transferir informações – tratadas como Significado[2] – de uma pessoa para outra, uma vez que não é possível transferir pensamentos diretamente. Por isso as pessoas precisam de uma representação física de seus pensamentos, que será chamada de Texto (seja este com discurso ou um texto escrito). Assim sendo, a linguagem é uma ferramenta para transformar uma destas formas de representação na outra – Significado em palavras quando se fala, e palavras em Significado quando se ouve. É importante notar que quando duas pessoas se comunicam, devem usar uma linguagem que seja de conhecimento comum e da qual haja uma cópia no cérebro de cada uma.

            Esta definição foi originalmente criada por Igor Mel’čuk, e é utilizada por vários linguistas. Isso porque ela permite reconhecer como os programas de computador podem simular, ou modelar, a capacidade do cérebro humano para transformar a informação de uma destas formas de representação na outra. Ou seja, implica que a linguagem é um transformador que possibilita a transferência de Significado de uma pessoa para outra, usando o Texto como intermediário.

            Programadores podem comparar este “transformador” aum compilador, por exemplo o C++, que recebe um arquivo de caracteres no formato ASCII como entrada e produz um arquivo em código binário com instruções para a máquina como saída. Porém, um compilador normalmente não é capaz de transformar as instruções em linguagem de máquina de volta para o texto de programa C++.

            Os conjuntos dos Textos e dos Significados não são simétricos em suas propriedades. Somente os Textos podem ser explícitamente expressos, e diretamente observados ou transferidos de uma pessoa para outra, enquanto que os Significados estão somente no cérebro de cada pessoa[3] independentemente e não podem ser imediatamente observados ou analisados. Esta representação é conhecida como níveis do descurso – ou seja, para compreender uma troca de informações é preciso acessar os níveis mais profundos até chegar ao Significado associado às informações.

Desta forma, um conjunto de Textos é considerado como a superfície do transformador Sigificado <-> Texto, enquanto que os Siginificados são seu nível mais profundo. O Significado de um Texto em seu sentido mais profundo é chamado Representação Semântica. A transformação de um Significado em um Texto é chamada de síntese do Texto. O processo inverso, de Texto para Significado, é chamado de análise do Texto. Assim sendo, a linguagem natural é um analisador e sintetizador de Textos, simultaneamente.

O que é um Texto?

Os linguistas atualmente utilizam peças de discurso para realizar estudos empíricos. Um discurso é um fluxo contínuo de sinais acústicos, como uma música ou um barulho. Porém, os linguistas estão mais interessados no processamento da linguagem natural de forma isolada. Apresentar a forma isolada de um discurso significa dividir o fluxo de sinais acústicos  em entidades arranjadas sequencialmente pertencendo a um conjunto finito de sinais parciais. Este conjunto finito é chamado alfabeto fonético.

Para representar o som de um discurso no papel, foi criada por cientistas uma transcrição fonética usando símbolos fonéticos. Esta transcrição é usada em dicionários, para explicar a pronúncia de palavras estrangeiras e em linguística teórica. O sistema de escrita, porém, foi criado espontaneamente pela prática humana.

Existem três tipos de sistema de escrita: a escrita alfabética, usada pela maioria dos seres humanos e que tenta criar correspondências entre as letras e os sons do discurso, a escrita silábica e a escrita com hieróglifos, usada em países como China, Japão e Korea para representar o significado das palavras ou de suas partes. Esta última é uma tentativa de representar diretamente o significado da palavra.

As letras tem funções similares aos sons, de certa forma. Originalmente elas foram criadas para representar diretamente os sons, de forma que um texto escrito com letras é um tipo de representação dos sons de um discurso. Porém, em alguns idiomas, a relação simples entre letras e sons desapareceu.

Os sinais silábicos são similares a letras, mas representam uma sílaba ao invés de um som único, podendo ser esta sílaba um conjunto de uma ou mais consoantes e uma vogal. Desta forma, este sistema possui um enorme número de sinais e oferece pouca flexibilidade para representar novas palavras e palavras estrangeiras. Normalmente estes sinais silábicos têm um formato mais sofisticado que as letras, podendo assemelhar-se a hieróglifos.

O sistema mais elaborado de escrita é o baseado em símbolos chamados glifos. Estes glifos podem representar sons isolados, sílabas, grupos de sílabas e até palavras inteiras. A escrita Maia é um exemplo deste sistema, sendo que seus glifos representam os sons do discurso (e não seu significado).

Como a linguística computacional está diretamente conectada a textos armazenados em dispositivos de computador, e estes textos são geralmente escritos em sistema alfabético, e são mais usados aqueles em escrita que as transcrições de sons de diálogos, é este o sistema mais estudado nesta ciência. Neste livro, considera-se como um Texto de lingagem natural uma sequencia originalmente escrita de palavras formadas por letras, além de sinais de pontuação. Estas palavras formam frases, que por sua vez formam parágrafos e então discursos.

As menores unidades de um Texto, menores que palavras e que possuem significado próprio, são chamadas morfos. Estes possuem um número qualquer de letras (ou nenhuma letra). Desta forma, o Significado pode estar associado a uma parte de uma palavra, palavras inteiras, frases, sentenças, parágrafos e discursos.

A seguir são apresentadas as características de um Texto:

–       Significado: Não é qualquer sequência de letras que pode ser considerada um texto. É necessário que seja apresentada uma informação relevante para os seres humanos. Inclusive, é a conexão entre os textose seu significado a razão para se processar textos em linguagem natural.

–       Estrutura Linear: mesmo que a informação contida em um texto possa ter uma estrutura complicada, com diversos relacionamentos entre os elementos, o texto em si é unidimensional e linear, sendo produzido letra a letra. Assim sendo, um Texto representa uma informação não-linear transformada em uma representação linear, e por isso não são representados em Textos os elementos não-lineares na linguagem falada, como entonação e ênfase.

–       Estrutura aninhada e coerência: Um texto consiste de peças básicas que possuem seu próprio significado. Estas são organizadas em estruturas maiores, como palavras, que então têm seus próprios significados. Este significado é determinado por cada um de seus componentes, mesmo que não diretamente. As palavras são então organizadas em estruturas maiores, como sentenças, parágrafos etc, que, então, constituem o discurso. Sua principal propriedade é a conectividade, ou coerência. Ele conta uma história consistente sobre objetos, pessoas, relações, comum a todas as suas partes. Esta organização permite que a linguística possa desenvolver métodos de processamento inteligente de textos.

Assim sendo, podemos definir que a linguística estuda maneiras humanas de codificação linear de informações não lineares.

 

O que é Significado?

O Significado, ao contrário dos Textos, não podem ser observados diretamente, já que são estruturas do cérebro humano percebidas como ideias e pensamentos. Desta forma, é usada uma representação de Significado para poder estudá-lo.

Em um módulo linguístico de um sistema, o Significado é uma linguagemou formato formal de representação da informação compreensível imediatamente ou executável pelo consumidor da informação:  o sistema especialista de base, o banco de dados, o sistema de controle robótico etc. É esperado que este sistema de base produza suas respostas no mesmo formato. Portanto, na prática, o formato do Significado é dado aos desenvolvedores do módulo linguístico para qualquer sistema de aplicação. Normalmente, os sistemas já estão cientes das entidades mencionadas no texto, seus estados, processos, ações e relacionamentos.

Há também outros tipos de informação em um texto, como crenças, estimativas e intenções do autor. Por exemplo, na frase “Acredito que sua esposa esteja aqui”, o trecho em negrito significa a crença do autor.

 

Duas maneiras de representar o Significado

Há dois formalismos usados para representar entidades e relacionamentos mencionados nos textos, sendo estes equivalentes lógica e matematicamente:

–       Fórmulas predicativas: Predicados lógicos são apresentado na lógica matemática. Em linguística, são usados na notação lógica convencional e podem ter um ou mais argumentos. A coerência de um texto é expressa por meio de argumentos comuns aos predicados envolvidos. Por exemplo, o significado da fase As meninas pequenas vêem a flor vermelha é representado pela seguinte fórmula predicativa conjuntiva:

VER (menina, flor) &
MUITO (menina) &
PEQUENO (menina) &
SOZINHO (flor) &
VERMELHO (flor)

Nesta representação, os predicados SOZINHO e MUITO têm os significados de “quantidade de entidades dadas pelo argumento é um” e “quantidade de entidades dadas pelo argumento é mais que um” respectivamente. Os argumentos em minúscula são chamados de termos, e os predicados são escritos em maiúsculas.

–       Grafos direcionados etiquetados: Os nós destes grafos representam os termos ou predicados, e as setas conectam ospredicatos ocm seus argumentos. As setas possuem etiquetas numéricas de acordo com o número do argumento correspondente. Mesmo que cada predicado atribua a seu argumento um certo papel semântico, a etiqueta numérica é usada somente para distinguir os argumentos. Por exemplo, para predicados que denotam ação, a etiqueta 1 normalmente marca o agente, enquanto que a etiqueta 2 marca o alvo ou objeto da ação.

As duas formas de representação são equivalentes. Para os humanos é mais conveniente a representação por grafos, enquanto que para estruturas internas de um programa de computador, a representação predicativa é preferida. De qualquer maneira, a comunidade científica está desenvolvendo representações de conhecimento tanto na forma linear quanto na gráfica. Na opinião de outros cientistas, as represetntações do Significado e do conhecimento humano pode operar através das mesmas estruturas lógicas, mas o conhecimento em geral não coincide com conhecimento puramente linguístico e pode ter natureza diferente. Portanto, segundo estes cientistas, para a transição do Significado em seu sentido linguístico para a correspondente representação em termos de conhecimento humano geral, é necessário um estágio especial. Este estágio não é parte da linguagem, e pode operar com ferramentas que não fazem parte desta linguagem.

 

Decomposição e atomização do Significado

A representação semântica é, muitas vezes, universal, ou seja, independente da linguagem natural. Assim sendo, as estruturas puramente gramaticais não são refletidas nesta representação. por exemplo, ainda que em alguns idiomas haja diferença de gêneros nos substantivos, na representação semântica o gênero é representado explicitamente através de um predicado de gênero.

Desta forma, para que um elemento seja estudado, é interessante que seja dividido em entidades mais simples e que suas características sejam representadas por predicados. Um predicado pode ser sempre representado de maneira mais simples, como uma fórmula lógica ou um grafo semântico. Por exemplo, a definição abaixo:

MATAR(x) -> CAUSAR(MORRER(x)) -> CAUSAR(CESSAR(VIVER(x)))

Por esta definição, MATAR pode ser definido como causar o cessar de viver. Ou seja, os predicados CESSAR(x), VIVER(y) e CAUSAR(z) são mais elementares que o predicado inicial MATAR(x).

Nos últimos 30 anos cientistas têm tentado descrever um número limitado de elementos que possam definir semanticamente a linguagem natural, mas sem sucesso. Alguns cientistas concordam que não haja mais que cerca de 2000 semes, mas ainda há discussão sobre isso. Para satisfazer as necessidades da linguística computacional, concordou-se em desintegrar os significados dos lexemas até um certo limite imposto pela aplicação. Por isso, a linguística computacional acaba usando diversos termos e predicados lógicos evidentemente não-elementares. Somente resultados práticos podem ajudar linguistas computacionais a julgar a melhor representação para um certo domínio.

 

Não-unicidade do Significado -> Mapeamento do Texto: Sinonímia

O mapeamento de Significado para Textonão é unidirecional, ou seja, é do tipo muitos-para-muitos. Quando diferentes textos ou fragmentos de textos são mapeados para um mesmo significado, são chamados de sinônimos. Expressões também podem ser sinônimas, e não somente palavras isoladas. Quando as palavras são equivalentes em todo e qualquer contexto, são chamadas de sinônimos absolutos (raros em qualquer idioma). Quando uma palavra é sinônimo de outra em todos os contextos desta segunda, além de contextos próprios, as palavras são chamadas de sinônimos inclusivos.

Os sinônimos parciais podem ser substituídos em algumas situações, mas em outros contextos não podem ser substituídos. Este é o tipo mais comum de sinonímia e não representa realmente uma sinonímia.

 

Não-unicidade do Texto -> Mapeamento do Significado: Homonímia

A homonímia ocorre quando um Texto ou seus fragmentos podem levar a mais de um Significado. Alguns exemplos são real (de verdade ou relativo à realeza), banco (lugar onde se senta ou instituição financiera), cadeira (onde se senta ou departamento de uma Universidade). Assim como na sinonímia, é possível existirem expressões homonímias. Estes são os casos mais importantes de homonímia:

–       Homonímia lexico-morfológica: duas palavras pertencentes a dois diferentes lexemas. É o caso mais geral. Um exemplo é a palavra classificação, que pode significar tanto o processo de se classificar quanto o resultado deste processo. Muitas das conjugações dos verbos ir e ser também constituem homonímias lexico-morfológicas, como “fui”, “foram”, “foi”.

–       Homonínia puramente lexical: ocorre quando dois ou mais lexemas possuem a mesma forma textual, como real – pode se referir a “verdadeiro” ou a “relativo a realeza”.

–       Homonímia morfo-sintática: ocorre quando um conjunto de palavras corresponde a dois ou mais lexemas, mas estes lexemas diferem em significado e também em uma ou mais propriedades morfo-sintáticias. Um exemplo é a palavra rádio – que pode significar “estação de transmissão de radiofrequência”, e aí é do gênero feminino, ou “aparelho onde é sintonizada uma estação”, e neste caso é do gênero masculino.

–       Homonímia puramente morfológica: quando um conjunto de palavras faz parte de um mesmo conjunto de lexema, mas com diferença morfológica. Por exemplo, fáceis é o plural tanto para forma feminina quanto para a forma masculina de “fácil”.esta forma aplica-se às linguagens naturais em que há diferenciação de gênero.

Sem a resolução automática de homonímia, qualuer tentativa de “entender” automaticamente a linguagem natural estará suscetível a erro e terá utilidade limitada.

 


[1] Pode-se considerar a matemática como uma linguagem artificial usada para universos em que a linguagem natural não expressa as ideias abstratas de forma satisfatória? Ou seria apenas um novo domínio?

[2] Neste livro, as palavras Significado e Texto são representadas com maiúscula quando for aplicado o sentido da Teoria Significado <-> Texto ao invés do significado usual destas palavras.

[3] Cada pessoa possui, portanto, um conjunto de Significados – estes signifcados podem variar de acordo com as experiências de vida, impressões e emoções. Desta forma, o Significado nunca será idêntico no transmissor e no receptor da mensagem

UMA PROPOSTA DE SISTEMA DE ESTIMATIVA DE FORMALISMO DE DIÁLOGO EM LÍNGUA NATURAL

abril 28, 2011

Por Daniella Castelucci

Mestranda em Engenharia da Informação

Abril/2011

 

Resumo: Para muitas empresas, garantir que seus funcionários façam um correto uso da língua é fundamental para transmitir a imagem adequada que a empresa pretende no mercado – e esta garantia inicia-se na contratação. Com este artigo pretende-se propor um sistema que reconheça de maneira automática, com técnicas de Processamento de Língua Natural, a partir do discurso do entrevistado, o grau de coloquialismo e formalismo que são aplicados durante a entrevista de emprego, além do reconhecimento de gírias e transgressões da normal gramatical. Este sistema terá como base os corpora do projeto C-ORAL-BRASIL e lógicas baseadas em Gramática Constritiva.

Palavras-chave: Corpus, léxico, C-ORAL-BRASIL, parser, Gramática Constritiva

Abstract: For many companies, assuring that their employees can properly use their own language is mandatory for the company to properly communicate its image in the market – and this process initiate in the hiring phase. This article intends to propose a system that could determine, automatically using Natural Language Processing techniques, from the candidate’s speech, how colloquial or how formal this speech is during the interview, besides identifying slangs and mistakes of syntax. This system will be based on C-ORAL-BRASIL corpora and its logics are based on Constraint Grammar.

Keywords: Corpus, léxico, C-ORAL-BRASIL, parser, Gramática Constritiva

 

 

 

  1. 1.   INTRODUÇÃO

Em uma entrevista de emprego, um entrevistador deve avaliar o comportamento, as respostas e as mensagens intangíveis que o candidato expressa. Além disso, existem vícios e coloquialismos de linguagem que não podem ser captados quando a atenção do avaliador está nos quesitos psicológicos e no conteúdo da mensagem. Ou seja, a análise de um entrevistador está muito mais baseada na semântica do que na sintaxe do discurso.

Entretanto, para que as empresas atuais transmitam a seus clientes o grau de seriedade e qualificação que o mercado exige, deve contar com um quadro profissional que seja capaz de transmitir através de seus discursos estas características. Assim sendo, a forma de utilizar a língua portuguesa deve ser tal que contenha um grau desejado pela empresa de formalismo, tenha vícios de linguagem e gírias até um limite aceitável e transmita claramente a ideia. Este último item demanda uma análise semântica do conteúdo da mensagem transmitida, enquanto que os dois primeiros podem ser estimados através de cálculos estatísticos subseqüentes ao processamento do discurso. Desta forma, o Processamento de Línguas Naturais mostra-se como uma ferramenta muito útil e interessante para auxiliar o processo de seleção das empresas.

Neste artigo discute-se a proposta de um sistema de processamento de língua natural capaz de avaliar estatisticamente o grau de formalismo de um candidato, a quantidade de ocorrências de vícios de linguagem e gírias e uma estatística final do grau de formalismo do discurso. As ideias aqui apresentadas podem ser adaptadas para qualquer idioma, bastando para isso carregar a ferramenta com corpora coloquial e formal do idioma que se pretende analisar e suas regras gramaticais cultas. 

Na segunda seção deste artigo são apresentados os desafios da língua natural, e é explicado por que é tão difícil e trabalhoso manipular um discurso humano falado e diferenciar falas coloquiais de falas formais. O idioma falado é diferente do escrito, e o que é considerado coloquial no escrito pode ser considerado como uso apropriado em um discurso formal, e esta diferença deve se refletir em um sistema que faça a avaliação do interlocutor.

A terceira seção trata da aquisição de corpora para este trabalho, especificamente um corpus formal e um informal, ambos baseados em textos falados. Também são apresentadas outras opções de fonte de informação e uma tabela com coloquialismos mais óbvios.

Além do vocabulário (léxico), o discurso também é formado por regras gramaticais cultas, e as transgressões destas regras determinam o grau de informalismo do texto – este assunto é abordado na quarta seção deste artigo. O sistema proposto também deve ser capaz de avaliar a conjugação verbal, a concordância verbal e a concordância nominal. No caso de textos escritos, a desambiguação é um processo que só leva em conta a grafia das palavras, enquanto que no texto oral é preciso também considerar o sotaque e regionalismos possíveis para executar este processo. Porém, como neste artigo é considerado que os discursos serão transcritos para serem avaliados, é nos signos escritos que o sistema irá atuar.

Os vícios de linguagem comprometem a qualidade do discurso e são tratados na quinta seção do artigo, e a ocorrência de gírias é tratada na sexta seção. As análises das seções anteriores geram um resultado de desempenho do candidato baseado em seu discurso, que é discutido na sétima seção.

A conclusão e considerações finais deste trabalho são apresentadas na oitava seção, que é seguida da bibliografia de referência utilizada no desenvolvimento das ideias a seguir.

  1. 2.   OS DESAFIOS DA LÍNGUA NATURAL

A língua natural, seja ela qual for, possui diversas variantes baseadas na origem, nível cultural, classe social e personalidade dos usuários desta língua, além de variações entre a língua escrita e a língua falada. Por exemplo, o alemão considerado formal e correto, o Hoch Deutsch, é o mesmo em todos os países que utilizam este idioma para se comunicar. Porém, de acordo com a região (ou país) que é estudada, uma variante diferente deste idioma é encontrada – não se considerando os dialetos. Na região da Bavária, é comum que as pessoas se cumprimentem com a expressão “Grüβ Gott” (algo como “Deus te abençoe”). Esta expressão é característica da região da Bavária e utilizada somente na língua oral. Quando um bávaro escreve uma carta para outro, não inicia normalmente seu texto por esta expressão, mas sim por um cumprimento reconhecido pelo Hoch Deutsch. Da mesma forma, este cumprimento não é utilizado em outras regiões do país. Não é, porém, correto dizer que este cumprimento pode ser utilizado somente em situações informais, não constituindo, assim, um coloquialismo por assim dizer.

Através deste exemplo é possível perceber a dificuldade de compor um corpus que contenha o idioma formal ainda que oral de um povo. Os regionalismos não podem ser confundidos com gírias, assim como estrangeirismos devem ser contidos em uma categoria particular deste corpus.

Outra dificuldade ao se compor uma base de dados de um idioma é a interdisciplinaridade necessária para se garantir uma abrangência razoável de contexto. No caso de entrevistas de emprego, os corpora devem considerar o domínio de conhecimento da vaga pretendida além de assuntos do dia a dia. Por exemplo, para uma vaga de vendedor de uma empresa de transporte naval, termos como BL, Sea Waybill e despachante devem ser reconhecidos. Por outro lado, se tratando de uma empresa de construção civil, estes termos não fariam sentido.

Esta diferença de contextos também traz à tona outro desafio do processamento de línguas naturais: a ambigüidade. Um signo, com iguais significantes, pode ter significados distintos de acordo com contexto do qual fazem parte. A palavra cadeira, quando usada no contexto acadêmico, significa área de responsabilidade de seu detentor, enquanto que cadeira em outros contextos significa uma peça de mobília.

2.1. Diferenças entre língua oral e escrita

Além dos desafios apresentados, há ainda diversas diferenças entre a linguagem oral e escrita que devem ser consideradas quando se define o grau de formalismo em um texto transcrito a partir de um diálogo oral. A expressividade da língua oral se apresenta por meio da acentuação, entonação, pausas, fluência e da linguagem corporal. Já na linguagem escrita o emprego do discurso direto e da pontuação se sobressaem como traços de expressividade, além de evitar erros de interpretação. O sistema gramatical se mantém o mesmo nas duas modalidades, porém cada uma delas se atualiza com recursos diferentes em função das exigências da comunicação.

A lingua oral conta com a prosódia e a simultaneidade entre o planejamento e a produção do texto, o que deixa marcas na sintaxe como desvios, construções interrompidas, reorganização, intromissão de elementos extra-estruturais, alternância devozes, presença de marcadores conversacionais, onomatopeias, omissão de tempos e pouco rendimento de alguns tempos verbais. Por outro lado, a língua escrita é mais específica no emprego do vocabulário.consequentemente, é mais precisa e menos alusiva que a língua oral.

A semelhança entre a língua escrita e a língua oral é a necessidade de sintonia entre as partes do processo para garantir o sucesso da comunicação. Assim, a sintonia pressupõe adequação da linguagem usada pelo emissor (vocabulário, nível de formalidade etc) à do receptor, e domínio de áreas do conhecimento semelhantes.

Um texto oral apresenta as marcas de sua organização à medida que vai sendo construído, o que pode gerar fragmentação do ponto de vista sintático. Já o texto escrito, que é apresentado pronto, tem suas frases acabadas, coesas e mais complexas.

Abaixo é apresentada a transcrição de uma entrevista feita por Eliane Morelli Abrahão para sua tese de doutorado. Ela entrevistou o Prof. Dr. Oswaldo Vital Brazil (com participação de Nadim Farah Eluany), e os primeiros trechos desta entrevista são um excelente exemplo de oralidade formal:

Eliane — O senhor poderia nos falar um pouco sobre sua formação? Onde nasceu? Onde estudou?

Professor — Falar onde… Bem eu nasci no Instituto de Butantan, em 1912. Nessa época os filhos nasciam nas casas e não nas maternidades, como é hoje em dia. E meu pai quando foi para o Butantan, que naquela época era distante de São Paulo, fez a sua residência na sede da antiga fazenda de Butantan. E aí morou até 1919, ano em que ele saiu. Eu nasci então no Butantan e vivi no Butantan até 7 anos. Nesse período eu estudei, freqüentei a escola infantil. Como era o nome mesmo?

Eliane — Pré-escola?

Professor — Pré-escola. Mas tinha um outro nome nessa época.

Nadim — Jardim da Infância.

Professor — Jardim da Infância da Praça da República, que era o edifício que ficava, foi destruído, ao lado da Escola Normal, que ainda existe. Bom, então em (19 ?), minha mãe morreu quando eu tinha um ano e eu fui criado por uma irmã de meu pai que foi com o marido que era engenheiro, era um grande engenheiro, foi morar no Butantan para tomar conta dos filhos do doutor Vital, que eram nove, nessa época. Eu que era o menor, fui criado como filho do casal. Bom, em 1919 então, nós fomos para o Rio de Janeiro que papai fundou, como você viu no livro que escrevi, fundou o Instituto Vital Brazil, mas eu fiquei morando no Rio com a irmã de meu pai que eu chamava de mãe, foi uma mãe para mim para todos os efeitos.

 

As sentenças quebradas, como no trecho:

– Falar onde… Bem eu nasci no Instituto de Butantan

Mostram a descontinuidade de sentenças que o discurso oral, que conta com o planejamento simultâneo à execução, apresenta. Uma sentença se inicia mas não se termina, sem prejuízo do conteúdo apresentado. Algumas redundâncias, como no trecho abaixo, não são representadas em um texto originalmente escrito:

– Eu nasci então no Butantan e vivi no Butantan até 7 anos.

Abaixo é mostrada uma nota formal da Unicamp a respeito do falecimento do Prof. Dr. Oswaldo Vital Brazil. Conta com o pré-planejamento dos textos originalmente escritos e pode ser comparada com a estrutura do diálogo acima:

Faleceu no dia 26 de outubro, domingo, aos 96 anos, o médico Oswaldo Vital Brazil. Professor Emérito da Unicamp, Brazil foi um símbolo da Universidade, principalmente por suas contribuições na área de Toxinologia. Filho do também médico, herpetólogo e higienista Vital Brazil, do Instituto Butantan, foi o fundador do Departamento de Farmacologia da Faculdade de Ciências Médicas (FCM). A missa em sua memória será realizada no dia dia 3 de novembro, às 18h30, na Igreja Santa Rita de Cássia, no bairro da Nova Campinas.

 

Como se pode observar, não há palavras inseridas para fins de garantir a prosódia (expressões vazias, como “Bom”, “Aí”), tampouco frases não terminadas. Há concordâncias verbais e nominais em cada sentença.

 

  1. 3.   ESCOLHA DE CORPORA

Para que um sistema possa analisar um discurso, é necessário que haja um conjunto de regras gramaticais e um vocabulário amplo do idioma. Assim sendo, no caso deste sistema proposto para avaliar o grau de formalismo de um discurso de candidato, é necessário ter um corpus de referência para cada categoria de discurso, formal e informal.

Para efeito de exemplo neste artigo está sendo proposto o uso do corpus do grupo C-ORAL-BRASIL. O C-ORAL-BRASIL é um projeto que cria um corpus de português brasileiro de fala espontânea seguindo os moldes do projeto C-ORAL-ROM (CRESTI & MONEGLIA, 2005) [1]. A equipe do projeto C-ORAL-BRASIL é composta por doutores e estudantes da Universidade Federal de Minas Gerais.

Este grupo de pesquisa assume a proposta de Cresti [8], que propõe a ideia de reconhecimento de padrões vocais, chamada de critério ilocutivo. Também considera o enunciado como unidade informacional autônoma para facilitar a análise da mensagem. O trecho abaixo, retirado da referência [1], apresenta um trecho de diálogo informal e a divisão deste diálogo em enunciados:

 

Figura 1 – Retirada de [1]

Neste exemplo, o final dos enunciados é sinalizado pelas barras duplas (//), e o fim das unidades tonais é representado por uma barra simples (/).

3.1. Dificuldades na obtenção do corpus

A equipe do C-ORAL-BRASIL relatou os seguintes problemas na obtenção do corpus, que também estão presentes no cenário de entrevista de emprego no qual o sistema proposto terá seu principal uso:

a)    Barulhos paralinguísticos: são ruídos emitidos no diálogo que não possuem valor ilocucionário, como risos ou tosse;

b)    Palavras estrangeiras e erros de pronúncia: quando uma palavra é pronunciada erroneamente, seja em português ou em outro idioma, optou-se por manter no corpus a pronuncia incorreta, marcando-se que se trata de um erro. Desta forma, pode-se confiar em buscar mesmo termos comumente pronunciados de forma errada, que no corpus há informação que, apesar de existente, o termo está incorreto.

c)    Aférese: é difícil determinar quais aféreses devem ser incluídas como forma de pronúncia de certas palavras no corpus. Algumas formas podem ser usadas por apenas um indivíduo, enquanto que outras podem ser comumente empregadas em diversos tipos de diálogo (como brigado para obrigado, ou guentar para aguentar)

3.2. Corpora Analisados

O corpus do grupo C-ORAL-BRASIL é composto de 30 horas de gravação, correspondente a 200 textos de cerca de 1500 palavras cada. Estes textos foram divididos em duas partes: fala formal e fala informal. Até o desenvolvimento da referência [1], a parte informal já estava em avançado estágio de compilação, e a parte formal estava em fase de arquitetura. O grupo conta com o software WinPitch durante a transcrição e segmentação, por permitir a visualização da curva prosódica e, assim, facilitar a identificação das unidades informacionais.

Por estar sendo desenvolvido na Universidade Federal de Minas Gerais, os textos falados foram captados de cidadãos mineiros, contando, portanto, com o sotaque e gírias da região metropolitana de Minas Gerais. Desta forma, o sistema proposto irá desempenhar adequadamente seu papel se for utilizado para avaliar candidatos mineiros. Para qualquer outra região brasileira, recomenda-se carga de corpora formal e informal da região em que se deseja utilizar o sistema (a coleta de textos e tratamento destes para desenvolvimento do corpus não é assunto tratado neste artigo). No caso de uso em outros idiomas, também é preciso rever as regras de concordâncias gramatical e nominal.

Este corpus foi escolhido por ser o que apresenta mais detalhes sobre sua composição e por advir de um grupo de pesquisa de uma Universidade renomada e com pesquisas interessantes e embasadas.

O CLUL – Centro de Linguística da Universidade de Lisboa – desenvolveu diversos projetos igualmente interessantes para o desenvolvimento de corpora de língua portuguesa pronunciada por nativos de países onde se fala esta língua. Os corpora estão disponíveis para download na página do centro, porém não há tagging de formalismo. Consequentemente, este corpus demanda um trabalho de categorização para poder ser usado no sistema proposto. Por outro lado, os corpora deste centro são maiores e apresentam em um mesmo arquivo diversos sotaques e regionalismos, permitindo uma análise comum em diversas partes do país.

O objetivo do CLUL ao desenvolver seus corpora foi facilitar a oferta de diálogos orais para alunos que pretendem aprender o português como segunda língua. Os arquivos disponíveis apresentam variantes de sotaque e léxico que compõem as diversas faces da língua portuguesa ao redor do mundo. Apesar do objetivo da equipe de pesquisa ser diferente do sistema proposto neste artigo, esta variedade de faces da língua é muito útil por permitir que um conjunto de corpora orais seja carregado de uma só vez e sirva para várias regiões.

Qualquer que seja a escolha do corpus, o tratamento será feito na versão transcrita do mesmo, assim como do discurso do candidato. Os parsers de análise já testados atualmente utilizam corpora escritos. Assim sendo, sugere-se a análise da referência [1] para entender melhor um processo científico de obtenção de transcrição de um corpus oral.

3.3. Bases de referência para sinalização de formalismo

Existem algumas expressões que servem como base para se avaliar o nível de formalismo de um discurso por serem comuns em conversas coloquiais e terem seus correspondentes na linguagem formal. Esta base de correspondência também deve ser inserida no sistema para melhorar o desempenho da estimativa de formalismo.

A partir de diálogos do dia a dia e leitura de textos formais, foi elaborada a seguinte tabela de correspondência da versão formal e informal de termos comumente usados em diálogos:

Formal Informal
<Tudo bem> ou <Como vai> <E aí>
<não sei> <sei lá> ou <vai saber>
<Estou> <Tô>
<O senhor> ou <A senhora> <você> ou <cê>
<Nós> <A gente>
<está> <tá>
<estão> <tão>
<para> <pra>
<não> ou <em um> <num>

 

  1. 4.   ANÁLISES MORFOLÓGICA E SINTÁTICA

Um conjunto de palavras usadas em uma frase composta em uma língua natural, quando analisado fora de um contexto, é ambíguo, ou seja, cada uma de suas palavras, isoladamente, pode ser atribuída a diversas classes gramaticais.

Para desenvolver uma maneira de automatizar a atribuição de classes durante a análise gramatical automática, Karlsson [9] criou o conceito de Gramática Constritiva (CG). Segundo o autor, ainda que dentre as várias interpretações possíveis de uma sentença esteja a interpretação correta, o sistema falhou em aplicar corretamente as tags esperadas. O parser que utiliza gramática constritiva deve também ser capaz de analisar frases que não fazem parte de um texto formal, e é neste ponto que está nosso interesse. Esta característica permite que a Gramática Constritiva seja aplicada na análise de transcrições de textos orais.

A Gramática Constritiva também foi projetada para que seu formalismo se adapte a qualquer idioma, por se aplicar diretamente ao algoritmo de processamento. Desta forma, ainda que o grupo de pesquisa que a desenvolveu seja da Finlândia e tenha usado o Inglês para implementação prática, as mesmas regras podem ser usadas em qualquer língua natural. Desta forma, também este sistema proposto pode se adaptar a qualquer língua natural, bastando adaptação dos corpora formal e informal devidamente etiquetados.

Outro ponto interessante da CG é o valor dado à probabilidade no processamento de textos. Ainda que a CG seja baseada em regras de formalismo, no caso de uma certa expressão não se adequar às regras, é aplicado o cálculo probabilístico para categorizar o token.

Em última instância, pode-se dizer que a Gramática Constritiva formaliza o processo cognitivo de desambiguação através de um conjunto de regras que constringem – através de condições contextuais – qual das interpretações possíveis de um termo deve ser escolhida. Estas regras são compiladas em um parser reducional, que seleciona a etiqueta correta nos níveis de morfologia e semântica. O mesmo ocorre no nível sintático.

A implementação de um parser aplicando a Gramática Constritiva é proposta por Eckhard [10]. A imagem abaixo apresenta um exemplo prático de input de estruturas ambíguas que podem ocorrer em um texto:

“<nunca>”

      “nunca” ADV

“<como>”

      “como” <rel> ADV

      “como” <interr> ADV

      “como” KS

      “como” <vt> V PR 1S VFIN

“<peixe>”

      “peixe” N M S

[ADV=advérbio, KS=conjução subordinativa, V=verbo, N=substantivo, PR=presente, S=singular,

P=plural, M=masculino, F=feminino, 1S=1.pessoa/singular, VFIN=verbo finito, <rel>=relativo,

<interr>=interrogativo, <vt>=monotransitivo]

Figura 2 – retirada de [10]

O conjunto ambíguo das quatro análises morfológicas da palavra ‘como’ se chama uma coorte na terminologia da CG. Uma regra típica de desambiguação para esta coorte é a seguinte: [10]

SELECT (VFIN) IF (NOT *-1 VFIN) (NOT *1 VFIN)

Em português estruturado pode ser traduzido como: “Escolha a etiqueta VFIN em um contexto onde não tem outro verbo finito, nem à esquerda (*-1) nem à direita (*1)”.

O exemplo abaixo apresenta como é feita uma análise sintática no parser de Bick:

Figura 3 – Retirada de [10]

O parser transforma, então, esta etiquetagem em uma árvore sintática que permite visualizar graficamente as estruturas gramaticais do enunciado:

Figura 4 – Retirada de [10]

Este parser já foi testado com transcrições da língua falada originados no projeto NURC. Originalmente o sistema foi desenvolvido para ser utilizado com o português brasileiro, porém durante seu desenvolvimento foram feitas adaptações para que também se pudessem processar outras variantes do idioma – conforme já mencionado na seção de escolha de corpora.

Concordâncias utilizadas com frequência em conversas informais, como <a gente fomos>, <a gente somos>, <nós vai>, <eles é> são apontados nesta fase como grau de informalismo por não fazerem parte das regras formais de gramática.

Em um sistema de análise de texto é necessário também que seja analisada a grafia de cada palavra, o que é dispensável no caso de discursos orais que foram transcritos (afinal, o erro seria do transcritor). Por isso, a saída deste parser já é suficiente para que a porcentagem de sentenças que seguem as normas formais de gramática que foi calculada seja utilizada como “nota” gramatical formal do candidato.

  1. 5.   VÍCIOS DE LINGUAGEM

Vícios de linguagem são tokens repetidos frequentemente durante o discurso oral. Estes vícios desviam a atenção do interlocutor e comprometem a absorção da mensagem. Muitas vezes o detentor destes vícios não se dá conta  que os têm e, portanto, dificilmente irá corrigir este problema.

Uma análise estatística do discurso é suficiente para determinar a presença de vícios de linguagem. Através da classificação das expressões mais usadas, excluindo-se aquelas que normalmente fazem parte de um diálogo formal, é possível detectar os vícios de linguagem.

Primeiramente, o sistema deve ser carregado com o ranking do corpus formal que será usado na validação. A seguir, é apresentado um exemplo de classificação de palavras mais freqüentes na língua portuguesa do Brasil, extraído de uma lista gerada pela Linguateca [11]:

Ocorrências    Token
———————–

1382921         de

842985          a

734247          o

647483          e

641608          que

558424          do

460011          da

367271          em

297068          para

245637          com

243113          no

241462          um

219326          é

210903          os

203101          não

200766          na

193761          uma

185078          A

156669          dos

152600          se

149846          por

 

O sistema deve, também, executar a classificação estatística da transcrição do discurso do entrevistado. Em seguida, compara-se o ranking do corpus de referência com o ranking da transcrição. Cada uma das ocorrências que aparecerem nas 15 primeiras posições do ranking da transcrição que não fazem parte das 20 primeiras posições do ranking usado como referência (do corpus) são, muito provavelmente, vícios de linguagem. Desta maneira, o sistema deve calcular a freqüência relativa destes tokens e graduar estatisticamente a presença do mesmo no discurso. Quanto mais frequente, maior a gravidade do vício.

No caso de ser encontrado mais de uma expressão caracterizada como vício de linguagem, as frequências de cada uma serão somadas para se obter o valor final desta fase de análise.

  1. 6.   Gírias

Gírias são dinâmicas e podem variar de acordo com a região e época. Desta forma, sugere-se a obtenção de uma base de gírias devidamente etiquetadas sintaticamente, para não impedir o processo de desambiguação. A etiquetagem é muito importante em casos como o exemplo abaixo:

1-    – Eu não tinha noção da hora

2-    – Este vestido é da hora

A expressão da hora está sendo usada formal e informalmente, sendo que na frase “2” assume o papel de adjetivo, constituindo uma gíria. A presença de gírias deve ser contabilizada uma a uma ao invés de estatisticamente, e o nível de tolerância da empresa será por quantidade de gírias proferidas durante a entrevista..

  1. 7.   CÁLCULO DO GRAU DE FORMALISMO DO CANDIDATO

O sistema deve ser o suficiente para receber os seguintes parâmetros do usuário, para que possa calcular a nota de desempenho do candidato:

– Porcentagem máxima aceitável de informalismo do disccurso

– Quantidade de transgressões da normal culta

– Frequência máxima aceitável de vícios de linguagem

– Peso da análise formal

– Peso dos vícios de linguagem

– Aceitação de gírias

Considerando-se o idioma português do Brasil, é praticamente impossível encontrar alguém que não cometa nenhum erro gramatical durante uma entrevista de emprego. A ausência total de erros na linguagem formal pode, inclusive, significar que o candidato está se preocupando mais com a construção das sentenças que com o conteúdo das mesmas. Portanto, deve-se considerar, nos parâmetros do sistema, uma pequena faixa de taxas de erro aceitáveis.

Caso a frequência máxima de aceitação de erros ou vícios de linguagem seja extrapolada (ou ambas), é apresentada ao usuário uma mensagem de reprovação do candidato. Mesmo assim é apresentada a nota final, afinal este sistema não tem como intenção substituir a avaliação humana do desempenho global de um candidato.

A aceitação de gírias e de transgressões da norma gramatical são critérios que permitem ao usuário definir a quantidade de ocorrências no discurso. Este valor pode variar de 0 a infinito (notar que quando gírias são repetidas muitas vezes em um diálogo irão incorrer na categorização de vício de linguagem), e não entra no critério do cálculo final – ao invés disso, caracteriza-se somente como critério de reprovação (se assim definido pelo usuário).

Os pesos servem para determinar o fator multiplicador de cada item calculado pelo sistema na nota final. A soma de ambos deve ser 10, podendo assumir quaisquer combinações. Estes pesos serão usados da seguinte forma: o peso atribuído para desempenho gramatical irá multiplicar a frequência calculada de erros encontrados pelo parser de Gramática Constritiva, e o peso atribuído para os vícios de linguagem irá multiplicar a frequência relativa de vícios de linguagem. A soma dos dois valores será dividido por 10 e então tem-se a nota final do candidato. A fórmula, então, é a seguinte:

Nota final = 10 –  (PG x FI) + (PV x FV)
                          __________________
                                           10

Sendo

PI: Peso atribuído ao informalismo
FI: Frequência de sentenças informais
PV: Peso dos vícios de linguagem
FV: Frequência relativa dos vícios de linguagem

  1. 8.   CONCLUSÃO

Uma entrevista de emprego é, muitas vezes, o momento único em que o representante de recursos humanos da empresa irá conhecer pessoalmente e dialogar oralmente com os candidatos a vagas de emprego. E, neste momento único, existem diversos aspectos psicológicos que devem ser avaliados, sobrando pouca atenção para a qualidade de formalismo da linguagem do candidato. Assim, um sistema que analise o discurso do candidato seria muito útil na avaliação de entrevistas.

Existem atualmente diversas pesquisas já avançadas na área de processamento de língua natural, com maior destaque para sistemas de Q&A, information retrieval e obtenção de corpora. Poucas são as pesquisas voltadas para a obtenção de corpora orais, assim como poucas das pesquisas têm como objetivo trazer revoluções para o mercado.

Diferentes ideias produzidas em vários países puderam ser juntadas neste artigo graças a uma ferramenta de information retrieval: o Google Scholar. E, como em uma experiência química, diferentes ingredientes são misturados e como resultado têm-se algo novo, que não era óbvio à primeira vista, e que não anula o mérito das matérias-primas.

  1. 9.   BIBLIOGRAFIA

[1] MELLO, Heliana. CÔRTES, Priscila. RASO, Tommaso. C-ORAL-BRASIL: Arquitetura de um corpus do português do Brasil. Universidade Federal de Minas Gerais. Acessado em 21/4/2011. Disponível em  http://www.c-oral-brasil.org/artigos/16_cortes.pdf

[2] Davies, Mark and Michael Ferreira. (2006-) Corpus do Português (45 milhões de palavras, sécs. XIV-XX). Acessado em 21/4/2011. Disponível em http://www.corpusdoportugues.org.

[3] RIBEIRO, Ricardo. MAMEDE, Nuno. TRANCOSO, Isabel. Reusing Linguistic Resources: a Case Study in Morphossyntactic Tagging. Acessado em 21/4/2011. Disponível em http://www.inesc-id.pt/pt/indicadores/Ficheiros/1159.pdf

[4] CLUL – Centro de Linguística da Universidade de Lisboa. Acessado em 21/4/2011. Disponível em http://www.clul.ul.pt/

[5] OLIVEIRA, Fabio A. D. Processamento de Linguagem Natural: Princípios Básicos e a Implementação de um Analisador Sintático de Sentenças da Língua Portuguesa. Acessado em 21/4/2011. Disponível em http://www.erfelipe.com.br/artigos/Processamento_de_linguagem_analisador_sintatico.pdf

[6] MEDEIROS, José C. MARQUES, Rui. SANTOS, Diana. Português Quantitativo. Acessado em 21/4/2011. Disponível em http://www.linguateca.pt/Diana/download/Medeirosetal93.pdf

[7] BARREIRO, Anabela. PEREIRA, Maria de J. SANTOS, Diana. Critérios e Opções Linguísticas no Desenvolvimento do Palavroso, um Sistema Computacional de Descrição Morfológica do Português. Acessado em 21/4/2011. Disponível em http://www.linguateca.pt/Diana/download/Barreiroetal93.pdf

[8] CRESTI, Emanuela. Per una nuova classificazione dell´illocuzione. Acessado em 21/4/2011. Disponível em http://lablita.dit.unifi.it/preprint/preprint-00bcoll01.pdf/uploadingfile/at_download

[9] KARLSSON, Fred. Constraint Grammar: A Language-Independent Framework for Parsing Unrestricted Text.Mouton de Gruyter, Berlin / New York, 1995.

[10] BICK, Eckhard. Gramática Constritiva na Análise Automática de Sintaxe Portuguesa. Acessado em 22/4/2011. Disponível em http://beta.visl.sdu.dk/pdf/book-contribution-pt1999.ps.pdf

[11] Linguateca. Projeto AC/DC. Unidades e palavras em língua portuguesa: frequência e ordem. Acessado em 22/4/2011. Disponível em http://www.linguateca.pt/acesso/ordenador.php.

[12] Pinilla, Aparecida. Rigoni, Cristina. Indiani, M. Thereza. Português Ensino a Distância – UFRJ. Acessado em 26/4/2011. Disponível em http://acd.ufrj.br/~pead/

[13] Abrahão, Eliane Morelli. Transcrição da Entrevista com o Professor Doutor Oswaldo Vital Brazil. Acessado em 27/4/2011. Disponível em http://www.cle.unicamp.br/arquivoshistoricos/evitalbrazil.pdf.

[14] _______, Unicampo perde Oswaldo Vital Brazil. Unicamp, 2008. Acessado em 27/4/2011. Disponível em:  http://www.unicamp.br/unicamp/divulgacao/2008/10/31/unicamp-perde-oswaldo-vital-brazil

 

 

PROTOCOLOS DE COMUNICAÇÃO EM REDES DE COMPUTADORES

abril 8, 2011

Daniella  Castelucci

Mestranda em Engenharia da Informação

Universidade Federal do ABC – UFABC

Abril/2011

Resumo: Na comunicação entre computadores é importante que haja uma padronização para possibilitar que equipamentos diferentes consigam trocar informações entre si. O modelo de representação de rede em camadas tornou mais próximas as estruturas de comunicação entre entidades, e os protocolos possibilitam a transmissão da informação entre as camadas e entre equipamentos.

Palavras-chave: OSI, camadas, protocolos, TCP/IP, Ethernet, LAN

Abstract: For computers to communicate properly it is important to have standards to be followed by manufacturers In order to allow different equipments to understand and send information. The layers representation model approximated the communication schema from entities, and the protocols enabled data transmission between layers and equipments.

Keywords: OSI, layers, protocols, TCP/IP, Ethernet, LAN

 

  1. 1.   INTRODUÇÃO

Na comunicação entre computadores é essencial que um conjunto de regras seja estabelecido, afinal as entidades, sejam elas desktops, servidores, aparelhos de telefonia ou qualquer outro dispositivo conectado em rede, nem sempre se comunicam através da mesma linguagem. Assim sendo, um protocolo de rede é um conjunto de regras e padrões utilizado para possibilitar a comunicação entre dispositivos diferentes.

O objetivo deste trabalho é apresentar o modelo conceitual de comunicação entre computadores, e sua aplicação prática. Os protocolos escolhidos para serem apresentados são os mais utilizados no mercado na mais abrangente rede do mundo: a Internet.

Como as redes são formadas de vários componentes, físicos e lógicos, a comunicação é estabelecida através de camadas.  Desta maneira, a comunicação é estabelecida através de pilhas de protocolos. As camadas de rede são abordadas no tópico 2. Nesta seção são discutidas as arquiteturas de rede mais comuns e, especialmente, a arquitetura OSI e uma comparação desta com o modelo prático TCP/IP.

Os protocolos são formados por elementos-chave que os identificam e que definem como estas regras serão interpretadas pelas entidades componentes da comunicação. Estes elementos são discutidos em detalhes na seção 3. Nesta seção ainda são apresentadas as classificações dos protocolos, ou seja, a finalidade de cada tipo de protocolo considerando o modelo de 4 camadas usado na internet.

A seção 4 traz as considerações finais após a pesquisa nestes assuntos e os apontamentos relativos à importância dos protocolos e padronização de camadas para o surgimento de grandes redes, inclusive para o surgimento da Internet.

  1. 2.   ARQUITETURA EM CAMADAS

A arquitetura em camadas pode ser facilmente entendida através de exemplos do dia-a-dia. A figura abaixo ilustra uma troca de correspondência entre amigos para exemplificar como os dispositivos de rede utilizam as camadas para trocar mensagens:

Figura 1: Exemplo de comunicação [1]

Através deste exemplo é possível extrair também que as ações devem seguir uma certa hierarquia, ou seja, ordem de acontecimento, para que a comuincação seja efetivada. Ou seja, não é possível classificar e enviar a carta ao receptor antes que esta seja escrita pelo emissor.

O modelo de referência OSI foi criado pela ISO em 1978 para ser um sistema de conexão entre dispositivos através da padronização de protocolos e padrões. Desde 1984, este é o padrão mundial em modelo conceitual. Este modelo apresenta a esquematização de trabalho conjunto entre hardware e software para possibilitar a comunicação entre dispositivos. O modelo OSI é, porém, um modelo muito mais teórico que prático [6]

 A figura abaixo representa as camadas do modelo OSI, que serão descritas uma a uma:

Figura 2: Modelo OSI [7]

– Camada de aplicação: representa a comunicação com os usuários e fornece serviços básicos de comunicação. Os aplicativos que costumam estar nesta camada são bancos de dados, e-mail, FTP e HTTP. Esta aplicação serve como uma “janela” de acesso entre os aplicativos e os serviços da rede.

– Camada de apresentação: é responsável por definir o formato da troca de dados entre os computadores. Funciona no papel de um tradutor para os protocolos, a criptografia, compressão d edados e outras tarefas.

– Camada de sessão: uma sessão é um canal de comunicação entre duas aplicações que estão sendo executadas em computadores diferentes. A camada de sessão é responsável por gerenciar o diálogo entre os aplicativos de forma que estas possam abrir, usar e fechar uma sessão. É nesta camada que são executadas as funções de reconhecimento de nomes e segurança.

– Camada de transporte: é responsável pela integridade dos pacotes de informação, garantindo uma comunicação confiável. Esta integridade é possível graças ao envio de sinais ACK entre as partes (sinais confirmando que a comunicação foi foita corretamente, enviado do receptor ao transmissor). É nesta camada que opera o protocolo TCP.

– Camada de rede: é usada para identificar os endereços dos sistemas na rede, e para transmitir os dados de fato. A camada de rede deve conhecer o meio físico da rede e empacotar a informação de tal modo que a camada de link possa enviá-la para a camada física. Em muitas redes esta camada não verifica a integridade da informação, simplesmente executando o empacotamento da informação.

– Camada de link ou MAC: é usada para definir como a informação será transmitida pela camada física e garantir o bom funcionamento desta camada. Havendo algum erro na transmissão da informação no meio físico, como rompimento de um cabo ou colisões de dado, a camada MAC deve tratar estes erros ou comunicar às camadas superiores deste fato.

– Camada física: é formada pelo hardware usado na conexão dos diferentes sistemas de rede, como cabos, fibras e conectores. Nesta camada a informação está codificada na forma de sinais elétricos.

            Desta forma, a rede consiste de sucessivos encapsulamentos de protocolos, de tal maneira que um protocolo de nível superior corresponde aos dados e um nível inferior, sendo este o carrier da informação [8]. O funcionamento desta sucessão de protocolos por camada é representado na imagem abaixo:

AH = Application Header (Cabeçalho do protocolo de aplicação);
PH = Presentation Header (Cabeçalho do protocolo de Apresentação);
SH = Session Header (Cabeçalho do protocolo de Sessão);
TH = Transport Protocol (Protocolo de Trasporte);
NH = Network Protocol (Protocolo de Rede)
DH = Data Link Protocol (Protocolo de Elo de Dados)
DATA = Os dados transferidos
DT = Data Termination (Sinalizador de final de pacote)

Figura 3: Transmissão de dados por protocolos [8]

Quando novos fabricantes desenvolvem seus produtos de rede, baseiam-se no modelo OSI, garantindo que sistemas diferentes possam se comunicar. Porém, existem ainda produtos que foram criados antes da aceitação do modelo OSI, e que seguem seus próprios modelos.

2.2. Arquitetura TCP/IP

O modelo utilizado na Internet é o modelo de 4 camadas, também chamado TCP/IP (os protocolos do padrão de internet serão apresentados na seção 3). O modelo abaixo apresenta as diferenças entre as camadas da arquitetura OSI e do TCP/IP:

Figura 4: Comparação das camadas [9]

      A camada de aplicação corresponde às camadas de aplicação, apresentação e sessão do modelo OSI. Esta camada conecta as aplicações à rede e é nela que estão os protocolos de aplicação cliente/servidor. É na camada deaplicação que tem início o processo de transmissão de dados. É acessada por duas interfaces de transporte: Windows Sockets e NETBIOS. Alguns dos protocolos que formam esta camada são SMTP (Simple Mail Transfer Protocol), HTTP (HyperText Transfer Protocol), FTP (File Transfer Protocol) e DNS (Domain Name System). Quando um programa cliente de email executa o comando de verificar novas mensagens, por exemplo, este pedido será feito para a camada de Aplicação do TCP/IP e será atendido pelo protocolo SMTP. Quando um endereço Web é acessado através do navegador de internet, este irá se comunicar com a camada de aplicação do TCP/IP e será atendido pelo protocolo HTTP.

A camada de aplicação comunica-se com a camada de transporte através de uma porta. As portas são numeradas e as aplicações padrão utilizam sempre a mesma porta. O SMTP utiliza sempre a porta 25, o HTTP utiliza a porta 80 e o FTP utiliza as portas 20 e 21. O uso de portas é importante para que o protocolo de transporte identifique qual é o tipo de conteúdo do pacote de dados e para que o receptor identifique para qual aplicação o pacote deverá ser enviado.

A figura abaixo ilustra a comunicação através de portas:

Figura 5: Comunicação entre portas [9]

A camada de transporte do modelo TCP/IP corresponde à camada homônima do modelo OSI. Esta camada grante a comunicação entre os hosts e transmite dados entre a camada de aplicação e a camada de internet, transformando os dados em pacotes. Tem como funções:

– Reconhecimento de recebimento de pacotes

– Controle de fluxo

– Sequenciamento de pacotes

– Retransmissão de pacotes

            Nas redes TCP/IP cada computador é identificado com um endereço virtual único (o endereço IP). A função da camada de Internet é adicionar um cabeçalho ao pacote de dados em que, além de alguns dados de controle, contém os endereços IP do transmissor e do receptor.

            A camada de Interface com a Rede corresponde às camadas de link, dados e física do modelo OSI. Esta camada é responsável pelo envio dos datagramas construídos na camada de internet como meio físico. Os aspectos físicos da camada de interface com a rede  e os protocolos utilizados dependem do tipo de rede física em que está certo dispositivo. O tipo mais comum de rede, tanto cabeada quanto wireless, é a Ethernet.

2.1.2.  O modelo Ethernet

As redes Ethernet podem transportar até 1.500 bytes de dados. Por isso, o sistema operacional configura o protocolo IP automaticamente para criar datagramas com 1.500 bytes ao invés de 65.535 (o tamanho real dos datagramas é 1.497, pois a camada LLC utiliza 3 ou 5 para adicionar seu cabeçalho). O modelo Ethernet possui três camadas, que são equivalentes à Interface com a Rede do modelo TCP/IP:

Figura 6: Camadas Ethernet [9]

A camada LLC (controle do link lógico) é responsável por adicionar informações sobre qual protocolo da camada Internet foi responsável por gerar os dados. Assim, durante a recepção dos dados o computador receptor pode saber qual protocolo deve utilizar na camada Internet para receber os dados.

A camada MAC (controle de acessoao meio) é responsável por montar o quadro que será enviado para a rede. Esta camada é responsável por adicionar o endereço MAC de origem e de destino ao pacote (endereço físico da placa de rede). Quando os pacotes são destinados a outras redes que não a local, o endereço MAC inserido como destino será o do roteador que será utilizado. Os protocolos que definem esta camada são o IEEE 802.3 para redes com cabos físicos e IEEE 802.11 se for uma rede wireless.

A Física é a camada mais baixa do modelo TCP/IP. Ela é responsável por converter o quadro gerado pela camada MAC em sinais elétricos (no caso de redes com cabo físico) ou eletromagnéticos (para redes wireless). No IEEE a camada física é definida pelos mesmos protocolos que a camada MAC.

No fim do empacotamento, o dado irá conter cabeçalhos de todas as camadas do modelo TCP/IP e ainda o cabeçalho das sub camadas Ethernet. Na figura abaixo é apresentado um esquema da composição do pacote e da quantidade de informações que compõem o pacote que são relacionadas ao dado em si (data) e as informações de cabeçalhos de protocolos:

Figura 7: Cabeçalhos de protocolos [9]

 

  1. 3.   PROTOCOLOS DE REDE

Os protocolos, sendo um conjunto de regras de comunicação, são por si mesmos regidos por elementos-chave que os definem. Estes elementos são os seguintes:

Sintaxe: é o formato dos dados e a ordem segundo a qual os dados são apresentados. Ou seja, são as regras que definem o papel que cada posição de byte tem em termos de funcionalidade na mensagem – a “gramática” da linguagem usada na comunicação.

Semântica: é o significado de cada conjunto sintático para dar sentido à mensagem

Timing: define qual deverá ser a velocidade de transmissão dos pacotes (“pedaços” de mensagens). O timing visa definir uma velocidade aceitável de comunicação que seja suportado por ambas entidades que estão se comunicando.

Um protocolo desempenha as seguintes funções na comunicação:

Endereçamento: especificação do ponto de destino da mensagem

Numeração e sequência: identificação de cada mensagem através de um número sequencial

Estabelecimento da conexão: criação de um canal lógico fechado (“túnel”) entre o transmissor e o receptor da mensagem

Controle de erros: identificação e correção dos erros na comunicação

Retransmissão: repetição da mensagem uando esta é repetida ou sinal ACK não é recebido

Confirmação de recebimento: envio do sinal ACK quando cada segmento da mensagem é recebido

Conversão de código: adequação do código às características do destinatário

Conforme mencionado anteriormente, as entidades de rede podem não falar o mesmo idioma, ou seja, não utilizar o mesmo protocolo para comunicação. Desta forma, faz-se necessário o uso de um “tradutor” para estabelecer a conexão. Os gateways, entre outras funções, desempenham o papel de estabelecimento de comunicação em uma rede com heterogenia de protocolos. Um gateway pode ser um computador pessoal com mais de uma placa de rede ou então um dispositivo dedicado. Quando se configura uma rede que irá usar um gateway para estabelecer a comunicação, é necessário configurar o endereço deste equipamento para permitir o acesso das máquinas à rede.

Para cada tipo ou conjunto de protocolos é definido um padrão. Existem dois tipos de padrões:

– de facto: são padrões que são usados pela comunidade, principalmente por fabricantes quando lançam novos produtos, mas que ainda não foram aprovados por um comitê reconhecido, como ISO ou ANSI. Um exemplo é o protocolo IP.

– de jure: são padrões ou protocolos que foram reconhecidos por comitês reguladores. Um exemplo é a arquitetura OSI. Estes padrões de jure já passaram pelo status de facto e tiveram suas especificações submetidas a um corpo avaliador no formato RFC (request for change), até que tiveram sua versão final aprovada.

3.1. Protocolos de camadas da Internet

O conjunto de protocolos utilizados para a comunicação entre computadores através da Internet, também chamado de conjunto TCP/IP, foi desenvolvido pelo Departamento de Defesa do governo Norte-Americano para permitir a comunicação entre diferentes redes, compostas por vários tipos de computador. A família de protocolos TCP/IP é especialmente popular por não ser proriedade de nenhum fornecedor específico. Assim sendo, é amplamente suportado no mercado. Existem protocolos específicos para cada camada do modelo, e a figura abaixo ilustra a classificação destes protocolos:

Figura 8: Protocolos por camada. [10]

3.1.1. Protocolo HTTP

O HTTP é um protocolo da camada de aplicação que utiliza a porta de rede 80. Ele permite a transferência de dados na forma de textos simples, hipertexto, áudio, vídeo e outras. É usado em ambientes onde há transições rápidas de um documento para outro, como páginas de internet.

Este protocolo tem características parecidas com os protocolos FTP e SMTP, que permite a transferência de arquivos usando serviços do TCP. Ele é, porém, muito mais simples que o FTP e utiliza apenas uma conexão TCP, da porta 80. Através desta porta os dados são transferidos entre cliente e servidor.

As mensagens HTTP não se destinam diretamente ao usuário. Estas são interpretadas pelo cliente HTTP – o navegador. A ideia do HTTP é um cliente enviar um pedido, na forma de mensagem, ao servidor, e o servidor enviar a resposta, também na forma de mensagem, ao cliente.

3.1.4. Protocolo TCP

O protocolo TCP fornece o serviço de entrega de dados orientados à conexão de maneira confiável e full-duplex, ou seja, antes de transmitir os dados é necessário que haja uma conexão estabelecida. O processo de conexão é conhecido como three-way-handshake e ocorre da seguinte maneira:

1)             A origem inicia a conexão enviando um pacote do tipo SYN que contém o número da porta que se deseja usar na conexão e o número de sequência inicial

2)             O destino reconhece um sinal do tipo ACK, que consiste do pacote SYN de origem mais um

3)             A origem reconhece o ACK com o número do sinal SYN do destino mais um

A transmissão de pacotes é feita em grupos, e a cada pacote é atribuído um número de sequência e uma confirmação de recebimento é usada para garantir que o destino recebeu o pacote. Caso a origem não receba a confirmação, o pacote é reenviado. É comum que os pacotes cheguem fora de ordem a destino, o que reforça a necessidade de numeração correta dos pacotes.

O janelamento TCP consiste na regulagem da quantidade de informação que pode ser transmitida por uma conexão TCP antes que um ACK seja recebido. A grante vantagem do TCP é a confiabilidade.

3.1.5. Protocolo UDP

Este protocolo não é orientado à conexão e, portanto, não é reconhecido como confiável. Não há garantia de que os dados foram realmente recebidos pelo destino, sendo adequado para pequenas quantidades de dados em que a garantia de entrega não é mandatória. Alguns exemplos deste tipo de uso são os broadcasts e os multicasts, como videoconferências.

As portas usadas pelo UDP não são as mesmas do TCP, e o UDP tem a transmissão mais rápida.

3.1.6. Protocolo IP

Este protocolo é responsável pelo endereçamento do pacote a ser transmitido, adicionando um cabeçalho que permite o roteamento do pacote pela rede até que este seja entregue no destino correto. Em um pacote IP estão os endereços IP da origem e do destino, um identificador de protocolo, um valor calculado para verificar erros e um TTL (informação em segundos do tempo que o pacote poderá permanecer na rede, evitando loop infinito de tráfego).

3.2.        Protocolos de roteamento

O roteamento de pacotes pode ser estático ou dinâmico. Nas redes locais pequenas é utilizado o roteamento estático, ou seja, o caminho percorrido pelos datagramas para alcançarem seu destino é sempre o mesmo. Na Internet, o roteamento feito é dinâmico, ou seja, os roteadores podem mudar a rota dos pacotes a qualquer momento caso hajam caminhos melhores para alcançar um destino. A melhor rota é aquela em que forem necessários menos saltos (roteadores intermediários), porém não necessariamente rotas mais curtas são mais rápidas.

3.2.1.   RIP

O protocolo RIP (Routing Information Protocol) utiliza a porta 520 do UDP. Através deste protocolo, os roteadores enviam suas tabelas de roteamento para todos os outros roteadores a que têm acesso a cada 30 segundos. Esta tabela contém todas as redes que cada roteador conhece e o caminho para alcançá-las, além da quantidade de saltos até elas. É desta maneira que um roteador pode descobrir se há um caminho mais curto para o destino de um pacote a cada momento.

O problema do protocolo RIP é que nem sempre o caminho mais curto é o mais rápido, e por isso um caminho eficiente pode ser trocado por outro curto, mas mais demorado. Também não verifica se há congestionamento no caminho.

3.2.2.   OSPF

O protocolo OSPF não busca pelo caminho mais curto, mas pelo maisrápido. Para isso, os roteadores enviam aos outros mensagens chamadas “hello” – assim, é possível saber quais roteadores da rede estão ativos e em que estado. Este protocolo também permite o balanceamento da carga, ou seja, se houver mais de uma rota para um destino, é possível dividir os datagramas e reduzir o tráfego em cadaum dos caminhos.

O OSPF funciona na camada internet juntamente com o protocolo IP. Assim, ele não utiliza o protocolo TCP nem o UDP.

3.2.3.   BGP

Este é o protocolo utilizado pelos roteadores de Internet, sendo classificado como protocolo externo (tanto o RIP quanto o OSPF são considerados protocolos internos). O BGP agrupa roteadores e computadores sob uma mesma administração como uma unidade chamada Sistema Autônomo (SA).

O BGP é chamado de IBGP quando se trabalha dentro de um sistema autônomo, e EBGP se trabalha entre sistemas autônomos diferentes.

Este protocolo é muito mais complexo que os mencionados anteriormente, já que usa diversos critérios para determinar a melhor rota a ser tomada. Ele utiliza a porta 179 do TCP.

  1. 4.    Considerações finais

O mundo como conhecemos hoje, em que o conhecimento é global e não existem barreiras geográficas delimitando o alcance de pesquisas, só se tornou possível graças ao surgimento da Internet. E este surgimento só foi possível a partir do momento em que as empresas aceitaram adotar um padrão para a comunicação entre computadores.

As organizações que regulam os padrões de indústria, como IEEE e ISO, têm um papel fundamental ao certificar certos padrões para que os fabricantes sejam incentivados a produzir equipamentos compatíveis entre concorrentes. Com os padrões aceitos como suportados por diversas empresas, arquivos podem ser trocados entre quaisquer cidadãos do mundo.

As pesquisas em desenvolvimento de protocolos mais seguros e mais eficientes continuam, já que estamos em um tempo em que a segurança e a economia de recursos físicos necessários para transportar os dados são prioridades. A Google tem trabalhado no desenvolvimento do SPDY, protocolo open source que funciona na camada de aplicação e visa substituir tanto o HTTP quanto o TCP. O laboratório Chromium é responsável por este desenvolvimento. O principal concorrente deste protocolo é o Bayeux, desenvolvido pela Dojo no projeto Comet. O Bayeux é executado sobre o HTTP, ao invés de substituí-lo como faz o SPDY. Ainda não se sabe qual dos dois novos protocolos irão formar a nova camada de aplicação (ou aplicação e transporte) de internet nos próximos anos, mas pelo estado da arte das pesquisas já pode-se notar que a segurança e a eficiência têm sido o principal fator de escolha de um certo padrão.

  1. 5.    Bibliografia

[1] FOROUZAN, Behrouz. Comunicação de Dados e Redes de Computadores. 3ª Edição. Bookman Companhia Ed. Porto Alegre, 2006.

[2] GALLO, Michael A. HANCOCK, William M. Comunicação entre Computadores e Tecnologias de Redes. 1ª Edição. Thomson Pioneira. São Paulo, 2003.

[3] ROSS, Julio. Redes de Computadores. 1ª Edição. Editora Antenna. Rio de Janeiro, 2008.

[4] MORIMOTO, Carlos E. Gateway. Publicado em 26/6/2005. Acessado em 26/3/2011. Disponível em http://www.hardware.com.br/termos/gateway

[5] LAMENZA, Guilherme Rebello. Uma Introdução ao Netware. Universidade Federal do Rio de Janeiro. Acessado em 26/3/2011. Disponível em http://www.gta.ufrj.br/grad/anteriores98/netware-guilherme/netware.html

[6] FARIAS, Paulo C. B. Curso Essencial de Redes. 1ª Edição. Editora Digerati. São Paulo, 2006.

[7] Computer Desktop Encyclopedia. The OSI Model. Acessado em 26/3/2011. Disponível em http://www.computerlanguage.com/productsans.htm.

[8] Divisão de Mecânica Espacial e Controle do INPE. O Modelo OSI. Acessado em 27/3/2011. Disponível em http://www2.dem.inpe.br/ulisses/estudos/adm-redes/arquitetura-osi.htm

[9] TORRES, Gabriel. LIMA, Cassio. Como o Protocolo TCP/IP Funciona. Clube do Hardware. Acessado em 27/3/2011. Disponível em http://www.clubedohardware.com.br/artigos/1351

[10] RAUBER, Fábio Kaiser. Tudo sobre TCP/IP. Baboo. Acessado em 31/3/2011. Disponível em http://www.baboo.com.br/conteudo/modelos/Tudo-sobre-TCP-IP_a4528_z0.aspx.

SURVEY SOBRE PROCESSAMENTO DE SINAL DE SOM

março 26, 2011

Daniella de Menezes Castelucci

Mestranda em Engenharia da Informação

Universidade Federal do ABC – UFABC

Março/2011

Resumo: Dentre as diversas tecnologias existentes hoje para aproximar os computadores dos seres humanos destaca-se a síntese de voz. Esta possibilita ao computador “ler” o que é digitado pelo usuário ou o que está em um arquivo. Esta tecnologia tem diversas aplicações, como ensinar a pronúncia correta de palavras em idiomas estrangeiros, possibilitar a leitura de textos por parte de deficientes visuais e facilitar absorção de conteúdo de aprendizado. Este artigo descreve o processo de digitalização de sons e, em seguida, apresenta as tecnologias mais recentes nesta área.

Palavras-chave: Processamento digital de sinais de voz, síntese, fala artificial

Abstract: Amongst several existing technologies meant to approximate computers to human being, the speech synthesis stands out. It allows computer to ‘read’ what is typed by the user or a file’s contents. This technology has several applications, like teaching correct pronunciation of foreign words, allow visual handicapped people to have texts read and can be a learning aid. This article describes the sound digitalization process and, further, presents the most recent technologies in this area.

Keywords: Speech digital processing, synthesis, artificial speech

 

  1. 1.   INTRODUÇÃO

O processamento de sinais de voz é uma área da linha de pesquisa de Processamento de Sinais Áudio-visuais, sendo esta pertencente à área de Processamento Multimídia.

Para que um som seja tratado ou manipulado por um computador, é preciso que este som seja convertido em um sinal digital. Na seção 2 deste artigo é apresentada uma breve explicação sobre a obtenção do sinal de som e da diferença entre sinais elétricos e digitais.

Os primeiros estudos na área de processamento digital de sinais (Digital Signal Processing – DSP) iniciaram-se na década de 60, quando empresas de telefonia passaram a investir massivamente nesta área motivadas pelo desenvolvimento de computadores digitais e da eletrônica transistorizada. O principal padrão para codificação digital de sinais de voz é o PCM (Pulse Code Modulation), e a principal forma de codificação é o LPC (Linear Predective Coding), cobertos na seção 3. Apesar de seus estudos terem sido iniciados há algumas décadas, ainda hoje aplicações de ponta utilizam seus princípios.

A seção 4 apresenta os produtos ou serviços mais conhecidos que foram desenvolvidos baseados em processamento de sinal digital. Entre estes estão brinquedos, páginas de internet e suporte para aprendizado.

Na conclusão é feita uma comparação entre as comunicações antes e depois do desenvolvimento das pesquisas em processamento de sinais digitais e uma ideia do que pode estar por vir em um futuro próximo.

  1. 2.   Digitalização de sinais de voz

O som é formado de ondas sonoras, que representam uma função de tempo e frequência emitida. Conforme mencionado anteriormente neste artigo, um sinal de som que chega ao computador é, na verdade, um sinal elétrico que foi, anteriormente, uma onda sonora. Quando um microfone captura uma onda sonora e a transforma em sinal elétrico, o computador a recebe de forma analógica. Porém, o computador só faz cálculos digitais – e por isso transformações como a PCM são essenciais para a manipulação do sinal recebido. O caminho inverso – reprodução do som – é feito seguindo-se o mesmo princípio: o sinal digital é convertido em sinal analógico, ou seja, impulsos elétricos, que por sua vez chegam às caixas de som e transformam-se em vibrações. Assim como as ondas sonoras, o sinal elétrico é formado de ondas senodais:

Imagem retirada de http://www.eca.usp.br/prof/iazzetta/tutor/acustica

O computador lida somente com sinais digitais, ou seja, com números binários cujos valores podem ser somente 0 ou 1. Desta forma, são aplicadas técnicas (descritas nas seções subsequentes) para que este tipo de sinal seja convertido de modo similar ao exemplo abaixo:

  

Imagem retirada de: material de apoio. Kurashima, C. 2011

            Como se pode observar, foram retiradas amostras do sinal, estas amostrar converteram-se em valores e cada um desses valores foi transformado em um valor binário de 8 bits. A seção 3.2 trata deste tipo de transformação com mais detalhes.

  1. 3.   DIGITAL SIGNAL PROCESSING

As raízes do DSP datam dos anos 60, quando tornaram-se disponíveis os computadores digitais. Como estes computadores eram muito caros na época, as aplicações de DSP limitavam-se a áreas muito críticas, principalmente radar e sonar, por envolver risco à segurança nacional, exploração de petróleo, que significa altos investimentos, exploração do espaço, pela unicidade e impossibilidade de reproduzir dados, e imagens médicas, que podem salvar vidas.

Nos anos 80, devido à popularização do computador pessoal, as aplicações do DSP estenderam-se a novas áreas, não motivadas necessariamente por necessidades políticas e militares. Nesta época, na América do Norte, o DSP era um curso da graduação em engenharia elétrica  (graduate). Nos anos 90, passou a ser uma graduação básica (undergraduate), e hoje já é um conhecimento básico que deve ser dominado por cientistas e engenheiros. [6]

A imagem abaixo apresenta um esquema de conversão dos sinais analógicos para os digitais e vice-versa, que formam a base do processamento de sinais digitais (os sinais são obtidos de maneira analógica, convertidos para a forma digital – binária -, tratados da maneira necessária e então reconvertidos para a forma analógica.

 

Imagem retirada de http://www.cs.indiana.edu/~port/teach/641/signal.proc.html

3.1. Aplicações

O estudo do DSP trouxe grandes revoluções em diversas áreas, como telefonia, áudio, imagens, militar e outras. Especialmente nas aplicações de áudio, o DSP revolucionou a maneira como os dados eram processados.

3.1.1. Música

Quando uma música é gravada em um estúdio, normalmente cada instrumento e voz são tratados em um canal diferente, de modo que o engenheiro de som tem grande flexibilidade para montar o produto final. O processo de combinar as gravações de cada canal em um produto final é chamado de mixagem, e é durante este processo que entra a possibilidade de processar os sons que foram gravados (de origem analógica, e depois transformados em digitais a partir dos sinais elétricos) de maneira a alterar o resultado inicial ou melhorá-lo.

O processamento de sinais digitais permitiu a adição de ecos e repercussão ao som durante o processo de união dos canais de gravação – ruídos que são normalmente apagados durante a gravação em estúdio – para melhorar a impressão de som ao vivo ou em uma catedral, por exemplo.

3.1.2. Voz

A geração e reconhecimento de voz são usados na comunicação homem-máquina para substituir a abordagem tradicional de comunicação através de mãos e olhos.

A geração de voz pode utilizar dois recursos: a gravação digital e a simulação de voz. Na primeira, a voz de um humano é gravada e digitalizada para ser usada após passar por uma compressão. Quando for usada, a frase (ou palavra, ou discurso) é descomprimida e convertida novamente em sinal analógico quando reproduzida pelos alto-falantes. A simulação de voz é mais complicada. O trato vocal humano é uma cavidade acústica que ressoa as frequências de cada um dos fonemas de acordo com o formato e tamanho da câmara (posição da língua, dentes, lábios e bochecha). A vibração do ar inicia-se nas cordas vocais. A geração automática de voz imita esta estrutura para gerar sons semelhantes aos produzidos pelos humanos. Mesmo sendo mais trabalhosa, esta foi a abordagem usada por uma das primeiras histórias de sucesso do DSP, um equipamento de auxílio à aprendizagem de fala utilizado por crianças, chamado Speak & Spell, que utiliza codificação LPC. [6] Este brinquedo foi desenvolvido em 1978, e comercializado até 1992, pela Texas Instruments. Existem vários emuladores deste brinquedo disponíveis na Internet, entre eles um que foi criado em Flash em 2002 e que está disponível em http://www.speaknspell.co.uk. Mais detalhes sobre este brinquedo e outras aplicações serão apresentados na seção 4.

Ainda mais difícil que a geração automática de voz é o reconhecimento de locutor. Infelizmente, ainda é muito difícil para os computadores atuais lidar com dados brutos sensoriais, como cheiro, tato e som, sendo que para humanos a habilidade de analisar este tipo de sinal é natural e intuitiva. O processamento de sinais digitais normalmente lida com o problema de reconhecimento de voz em duas etapas: extração do discurso e correspondência com um banco de vozes conhecidas. Cada palavra do sinal de entrada é analisada para que seja identificado o tipo de excitação e frequências ressonadas. Frequentemente estes sistemas estão limitados a algumas centenas de palavras e a cada novo locutor a base deve ser reconstruída. [6]

3.1.                Pulse Code Modulation – PCM

O PCM data da década de 30, quando Alec Reeves inventou este padrão no departamento de pesquisa do Laboratoire Central de Télécommunications (LCT), e seus estudos estendem-se até hoje. Segundo  o inventor, a “Pulse Code Modulation é uma criança com uma longa infância” [1]. É utilizado para comunicações através de fios, como nas centrais telefônicas. Através do PCM, a conversação telefônica é convertida de pulsos analógicos em um código digital. Isso possibilitou o barateamento da tecnologia de conversação internacional e melhorou a qualidade da voz transmitida.

O PCM baseia-se em três pilares:

a)    Amostragem: quando é obtida uma amostragem de um sinal analógico em um dado momento, o valor de amplitude obtido chama-se “amostra”. Se esta amostragem for obtida em intervalos irregulares em uma frequência alta em relação a este sinal analógico, é possível reconstruir o sinal original através de uma sequência de amostras. De acordo com o teorema de Nyquist, a taxa de amostragem deve ser igual ou superior a 2f, sendo f o limite superior da frequência de banda do sinal. Por exemplo, para uma banda de voz de 4 kHz, a taxa de amostragem deve ser de 8 kHz, e, portanto, o intervalo entre amostragens será de 125 microssegundos. A figura abaixo apresenta os intervalos de amostragem (traços brancos):


Imagem retirada de http://www.stefanelli.eng.br/webpage/a_multim.html

b)    Quantização: é a aplicação de intervalos de amplitude para a amostra. Cada amostra tem uma série de amplitudes distintas no sinal, e ao definir os intervalos de amplitude estes números são quantizados. O que determina o intervalo de amplitudes é a qualidade esperada para a transmissão. Estes intervalos serão números discretos ou inteiros. Aplicações de telefonia normalmente utilizam quantização de 8 bits, enquanto que compact discs utilizam uma taxa de 16 bits, apresentando, portanto, qualidade muito superior ao telefone. [2] A imagem abaixo apresenta a linha de sinal analógico (curva) e a linha de sinal quantizado de acordo com as amostras (retilínea):

 

Imagem retirada de: http://www.mathworks.com/help/toolbox/daq

 

c)    Codificação: significa transformar cada um dos valores de amplitude já quantizados em um valor binário. A amostra inicial, sinal de voz analógico, é representada por uma sequência de pulsos binários e expressa como um número binário. Os padrões PCM internacionais utilizam 8 bits para a codificação, permitindo, portanto, 256 valores de amplitude quantizados. Desta maneira, a taxa de PCM das linhas telefônicas é 8 kHz x 8 bit = 64 kbit/s.

 

3.2.                Linear Predictive Coding- LPC

A codificação LPC é uma forma de compressão de sinais digitais de áudio, usada principalmente no processamento de sinal de áudio e de voz que utiliza o modelo de predição linear.

A teoria da predição linear data dos anos 40, e é fundamental para diversas aplicações de processamento de sinais. Uma variação desta teoria é a identificação da direção de entrada de uma onda eletromagnética [8]. Esta teoria é aplicada na representação, modelagem, compressão e geração de ondas de voz.

O primeiro trabalho predição linear foi publicado em 1941 por Kolmogorov, que considerava o problema de extrapolação de tempo discreto aleatório. Outros pioneiros nesta área foram Levinson (1947), Wiener (1949) e Masani (1958). Estes últimos estenderam as ideias do caso de processo com multivariáveis. Até hoje é usada amplamente a Recursão de Levinson, considerada pelo autor “matematicamente trivial” [8].

Em 1966, os pesquisadores Saito e Itakura da NTT descreveram uma abordagem para a descriminação de fonemas e publicaram artigos importantes na área, como o “Analysis synthesis telephony based upon the maximum likelihood method” (1968) e o “Analysis synthesis telephony based on the partial autocorrelation coefficient” (1969).

A codificação linear preditiva é um método de codificação de voz que aplica um filtro digital que modela um segmento da onda sonora do discurso (segmento este chamado de frame) tornando possível armazenar a informação utilizando muito menos espaço que a gravação original. Os coeficientes e outros parâmetros são usados no processo inverso, para ressintetizar o som original.

3.2.1.   Passos da LPC

Primeiramente, o algoritmo corta um frame do sinal de voz criando interrupções no meio da amplitude de onda que dependem da duração do frame. Para evitar estas interrupções, é necessário reduzir gradualmente a amplitude das ondas até que esta seja zero.

A seguir, o sistema determina quais porções de cada frame (normalmente, cerca de 20 ms) contém voz e quais não contém. Para as porções que contém voz, o algoritmo irá medir a distância entre os pulsos aparentes, referenciada como F0. O algoritmo também mede a amplitude do frame.

O algoritmo de LPC aplica então um conjunto de coeficientes de filtro (que determinam a ordem da LPC – a ordem é a quantidade de coeficientes, normalmente entre 6 e 20) que servirão para reconstruir o modelo da onda no frame.

Este conjunto de coeficientes pode ser usado para reconstruir diversos pontos da amostra e recolocar os pulsos, como o F0, no lugar certo.

A figura abaixo mostra um exemplo de som codificado e decodificado através desta técnica:

 

Imagem retirada de http://health.tau.ac.il/Communication%20Disorders/noam/noam_audio/adit_kfir/html/lpc3.htm

  1. 4.   Aplicações de sintetização de voz

Nos últimos anos foram várias as aplicações de sucesso dos métodos de processamento de sinais de voz. A seguir vemos uma linha histórica destes aplicativos:

4.1.                Anos 60

Apesar de ter sido criada nos anos 30, somente em 1965 a ideia do PCM foi aceita como válida e recebeu uma medalha do United States Franklin Institute. Até então, mesmo com a transmissão por pulso sendo um motivo de preocupação para as companhias telefônicas, não havia sido implementada uma metodologia de codificação eficiente que pudesse tornar mais fácil e barato transmitir sinais de voz através de longas distâncias.

Com o PCM, foi possível converter o sinal elétrico de voz em sinais digitais que podiam ser comprimidos e, assim, transmitidos mais rápida e facilmente. Este padrão revolucionou a infraestrutura de telecomunicações, baixando o preço do serviço e permitindo a criação de novos padrões, como o GSM.

4.2.                Anos 70

Em junho de 1978 a Texas Instruments levou ao mercado o que foi considerado o primeiro uso comercial da tecnologia DSP. Este brinquedo foi o marco da primeira vez que uma voz humana foi gravada eletronicamente em um chip de silício.

O brinquedo Speak & Spell ajudava crianças a pronunciar os sons que eram digitados. A pesquisa foi iniciada em 1976 como um estudo de viabilidade de 3 meses com orçamento de U$ 25 mil.

 

Imagem retirada de http://www.ti.com/corp/docs/company/history/timeline/eps/1970/docs/78-speak-spell_introduced.htm

Depois do Speak & Spell, foram inaugurados ainda o Speak & Math, Speak & Read, Speak & Music e muitos outros. Apesar destes brinquedos terem sido desenvolvidos há mais de 30 anos, até hoje são usados como base para o desenvolvimento de brinquedos educativos.

4.3.                Anos 80

No ano de 1982 a Conferência Europeia de Administração Postal e de Telecomunicações (CEPT) criou o Grupe Spécial Mobile (GSM) para desenvolver um padrão de telefonia celular que pudesse ser usado por toda a Europa. A primeira fase das especificações do padrão GSM foram publicadas em1980, e a primeira rede GSM foi inaugurada em 1991 pela Radiolinja, da Finlândia, tendo suporte da infraestrutura garantido pela Ericsson.

Existem diferenças nas frequências escolhidas pelos operadores de telefonia GSM, porém, independente da frequência do serviço, a banda é dividida em timeslots para o uso de cada linha individual. Assim, é possível utilizar até 16 canais por frequência. Estes timeslots são agrupados em frames TDMA. A transmissão se dá em uma taxa máxima de 2 watts para as frequências 850 e 900 e 1 watt para 1800 ou 1900.

4.4.                Anos 90

O MPEG foi criado para satisfazer necessidades de manipulação de audio e vídeo. Quando o Moving Picture Experts Group (MPEG) iniciou a definição de padrões, levou em consideração a avaliação de empresas e institutos. Os codecs foram testados com base na complexidade computacional e qualidade percebida pelo ouvido humano a uma taxa de 1.5 Mbit/s. Esta taxa foi escolhida por ser a taxa aproximada de CDs de áudio. Após os codex terem sido aprovados, foram ainda melhorados pelo grupo para então serem incorporados ao processo.

      A popularidade do MP3 possibilitou que já houvesse no mercado a infraestrutura necessária para reproduzir o formado MPEG-1 (todas as três camadas).

A seção “Sistemas” do MPEG-1 define os sistemas no ISO/IEC-11172-1. Esta definição cobre o layout lógico e os métodos usados para armazenar o áudio, vídeo e outros tipos de dados codificados. Esta estrutura foi nomeada como “MPEG Program Stream”.

A padronização de vídeo é definida no ISO/IEC-11172-2. Esta parte explora os métodos de compressão que reduzem significativamente o espaço necessário para armazenar o vídeo. Esta compressão reduz, ou até elimina, informações em frequências que não são percebidas pelo olho humano. Esta compressão é feita através dos métodos de amostragem e quantização, vistas na seção 3.

Os padrões de áudio do MPEG são definidos no ISO/IEC-11172-3. Estes padrões utilizam princípios de psicoacústica (estudo de como a percepção sonora é atingida pelo sistema auditivo humano) para reduzir os dados necessários para uma gravação de áudio, assim como no vídeo, retirando do arquivo tudo o que não é percebido pelo  ouvido humano.

4.5.                Começo dos anos 2000

O laboratório de pesquisa da AT&T inicia um trabalho sobre produção artificial de voz [12]. Este tipo de tecnologia, chamada Text-To-Speach (TTS), consiste em programar um computador para produzir fonemas similares à voz humana. Como cada fonema é produzido com uma certa frequência de som, é possível criar um algoritmo para que as frequências de cada um desses fonemas fossem reproduzidas a partir de um texto escrito. O esquema abaixo, fornecido pelo AT&T Labs Research, apresenta estas diferenças:

 

Imagem retirada de http://www.research.att.com/projects/Natural_Voices/index.html

Este produto permite ao usuário escrever um texto, escolher um “leitor” e seu idioma materno, e então ouvir a leitura do texto digitado. As vozes disponíveis são masculinas e femininas, com idioma materno inglês americano, inglês britânico, alemão e espanhol na primeira versão de demonstração, e ainda inglês indiano, francês, canadense e italiano na última versão disponível. No site do projeto é possível acessar uma versão de demonstração deste produto, e a versão completa pode ser adquirida pela Wizzard Software.

Apesar de ter iniciado a comercialização do Natural Voices no começo dos anos 2000, a AT&T continuou investindo em pesquisa e aperfeiçoamento deste produto. Atualmente é oferecida pela Wizzard Software a versão 4.2.

4.6.                Anos 2010

No ano de 2009 o Google anunciou seu aplicativo de Text-to-speech, que funciona na mesma tela do Google Translator [14]. Este recurso une a capacidade de tradução que o Google já tinha com a tecnologia de leitura de textos, desenvolvida pela AT&T desde os anos 90.

A empresa está desenvolvendo o Google Transliteration, em uma ponte entre o Google TTS e o Google Translator, permitindo ao usuário digita foneticamente sua busca. Este serviço permite ao usuário conhecer os caracteres que representam os fonemas em idiomas que utilizam caracteres especiais, como o hindi, russo e árabe.

  1. 5.   Considerações finais

A necessidade humana de se comunicar foi a propulsora das pesquisas em manipulação de dados. Foi por precisar facilitar a transmissão de conversações que companhias telefônicas começaram a investir nesta conversão, e hoje o maior motivador é o desejo de se controlar, transmitir e receber cada vez mais dados.

O avanço dos equipamentos de reprodução forma um ciclo com o desenvolvimento de tecnologias de compressão e tratamento, por trazerem ao usuário maior poder de processamento. Desta forma, melhor compressão de áudio impulsiona desenvolvimento de equipamentos com melhor capacidade de reprodução, o que, por sua vez, força a melhora das tecnologias de compressão.

Apesar de ter se iniciado com as empresas de telecomunicações, hoje em dia são os fabricantes de computadores e prestadores de serviços, como o Google, que têm produzido mais pesquisas na área de processamento digital. Muitas vezes estas empresas se juntam com Universidades, como no caso da IBM ao desenvolver o sistema de QA Watson, e trazem não só a visão acadêmica de pesquisa como também a aplicação de mercado.

Desta forma, podemos prever que o futuro do processamento de voz será o fim dos interruptores e controles remoto: através do reconhecimento da voz do morador da residência, um computador central poderá aceitar os comandos já gravados e controlar luminosidade, temperatura, eletrônicos e eletrodomésticos da casa. Esta revolução seria especialmente importante para deficientes físicos e visuais, que não precisariam buscar os controles para realizar as funções que necessitam.

  1. 6.   Bibliografia

[1] CHAPUIS, Robert. JOEL Jr. Amos. 100 Years of Telephone Switching. 2nd Edition. IOS Press. Holanda, 2003.

[2] MEGGELEN, Jim van. SMITH, Jared. MADSEN, Leif. Asterisk: The Future of Telephony. 2nd Edition. O’Reilly. Sebastopol, 2007.

[3] STEFANELLI, Eduardo. Texto Básico: Multimídia. Disponível em  http://www.stefanelli.eng.br/webpage/a_multim.html. Acessado em 10/3/2011.

[4] Data Aquisition. Mathworks. Disponível em: http://www.mathworks.com/help/toolbox/daq/f5-24516.html. Acessado em 10/3/2011.

[5] McLOUGHLIN, Ian. Applied Speech and Audio Processing. 1st Edition. Cambridge University Press. New York, 2009.

[6] SMITH, Steven W. The Scientist and Engineer’s Guide to Digital Signal Processing. Digital Edition. California Technical Publishing. Poway, 1997.

[7] PORT, R. Digital Signal Processing Overview. Disponível em http://www.cs.indiana.edu/~port/teach/641/signal.proc.html. Acessado em 12/3/2011.

[8] VAIDYANATHAN, P. P. The Theory of Linear Prediction. Morgan & Claypool Publishers. San Rafael, 2008.

[9] GRAY, Robert M. IEEE Signal Processing Society – Distinguished Lecturer Program. 2006. Disponível em http://www-ee.stanford.edu/~gray/dl.html. Acessado em 12/3/2011.

[10] AVIV, Adit. GRICHMAN, Kfir. Long-Term Prediction. Disponível em http://health.tau.ac.il/Communication%20Disorders/noam/noam_audio/adit_kfir/html/lpc3.htm. Acessado em 11/3/2011.

[11] LEÃO, Ruth. Tensão e Correntes Alternadas. Disponível em http://www.dee.ufc.br/~rleao/Circuitos/CircII_1.pdf. Acessado em 10/3/2011.

[12] AT&T Labs Research. Natural Voices Text-to-Speech. Disponível em http://www.research.att.com/projects/Natural_Voices/index.html. Acessado em 12/3/2011.

[13] Texas Instruments. Speak & Spell Introduced The First Commercial Use of DSP Technology. Disponível em http://www.ti.com/corp/docs/company/history/timeline/eps/1970/docs/78-speak-spell_introduced.htm. Acessado em 12/3/2011.

[14] Google Labs. Disponível em http://www.googlelabs.com/. Acessado em 12/3/2011.

Gestão de Riscos

setembro 17, 2010

Hoje vou voltar a escrever neste blog e começo por um assunto que me interessa muito por estar relacionado à gestão de projetos:  a Gestão de Riscos.

A vantagem mais interessante da Gestão de Riscos é que ela permite que você escolha que atitude tomar ao antecipar a possibilidade e as consequências de cada detalhe de seu plano de ação que possa dar errado.  Pode-se aplicar estes princípios não somente na gestão de projetos em empresas, mas em qualquer campo em que se faça necessário planejar ações.

É importante ressaltar que “gerir riscos” não é necessariamente “evitar riscos”. Uma lei básica da economia é que quanto maior a taxa de retorno de um investimento, maior será seu risco. Este princípio aplica-se também na terceirização de serviços de TI: o que o cliente de outsourcing espera é que o provedor de serviços assuma os riscos que antes eram assumidos por este cliente. E, com a gestão adequada e bem estudada destes riscos, é possível que haja vantagem para os dois lados.

A imagem abaixo apresenta, em suma, os passos da gestão de risco:


Fonte: http://www.onecybertech.com/blog

A primeira ação a se tomar é identificar os riscos, sendo risco qualquer evento que possa surgir e alterar o curso normal do projeto. Este evento pode ser negativo ou positivo e, no caso de ser positivo, torna-se uma oportunidade. Oportunidades devem ser aproveitadas e tão bem analisadas quanto os riscos negativos.

Depois de feita uma lista de riscos, ou seja, ter identificado os riscos que podem ocorrer, é necessário escolher uma das ações a se tomar. As opções são as seguintes:

  • Aceitar: aceita-se por este risco sem tomar nenhuma ação para evitá-lo ou contorná-lo, ou seja, o resultado de sua análise é que a consequência (impacto ou possibilidade do risco ocorrer) não vale a pena
  • Mitigar: prefere-se tomar alguma providência para diminuir a possibilidade de o risco ocorrer ou minimizar suas consequências. Algo muda em seu plano de ação para absorver este risco
  • Transferir: o risco é transferido para outra parte, por exemplo, para uma seguradora
  • Negar: nada é feito para lidar com as consequências de o risco, tampouco estas são aceitas pela parte que está fazendo a gestão dos riscos

Depois de todas as ações serem atribuídas, é necessário atribuir o impacto que cada risco pode causar no projeto caso ocorra e a possibilidade de o risco ocorrer. Note que após as ações de mitigação e de transferência estes números mudam, e a qualquer momento podem ser alterados no decorrer da execução do projeto.

Para se calcular o valor que os riscos levantados têm sobre o valor final do projeto deve-se calcular o peso de cada um dos riscos vezes o impacto que estes riscos teriam. Por exemplo, um risco que tenha a possibilidade de 10% de ocorrer e que cause um dano de R$ 1.000.000,00 caso ocorra terá um peso financeiro de R$ 100.000,00. Lembre-se, porém, que a estimativa de possibilidade de ocorrência do risco é resultado de experiências pessoais e profissionais nesta área, e outros especialistas podem ajudá-lo nesta tarefa.

ITIL

março 19, 2009

Devido a mudanças profissionais, tenho estudado recentemente o ITIL. Para quem ainda não conhece, é uma biblioteca de melhores práticas para fornecimento de serviços de TI que foi criada por uma agência do governo britânico.

Atualmente, muitas empresas têm exigido conhecimento em ITIL por este permitir uma linguagem comum no gerenciamento de problemas, mudanças e suporte. Como exemplo podemos conhecer o conceito de Service Desk, que é o ponto de contato único que o usuário tem com o prestador de serviços de TI. São recomendadas características dos profissionais desta Service Desk, sugestões de motivação da equipe, treinamentos e outras informações.

Resumindo a ópera, o ITIL é a “wishlist” de qualquer usuário de serviços de TI se transformando em guia de procedimentos do prestador de serviços. E o próximo artigo será sobre ele.