ALPHA/2: Fonetizador para a Língua Portuguesa Manual de Apresentação e Utilização Recuperação de Informações A utilização de identificadores numéricos, aos quais se pode acrescentar dígitos verificadores ou outros dispositivos de segurança e ainda haver a garantia de unicidade, como o CPF ou o CGC, têm sido a forma mais utilizada nos processos de recuperação de dados. Em diversos serviços relacionados a busca de informações, como Auxílio a Lista nas Companhias Telefônicas, Pesquisa de Antecedentes Criminais na Polícia, Pesquisa de Maus Pagadores no Serviço de Proteção ao Crédito e Emissão de Certidões Negativas nos Cartórios, tem no nome de uma pessoa ou estabelecimento a chave de pesquisa mais confiável, quando não a única disponível para a recuperação da informação. O uso de arquivos organizados em ordem alfabética é bastante comum em repartições públicas, comércio, escolas, cartórios, etc. Tais arquivos, compostos por fichas, são manipulados por seres humanos que têm a capacidade de análise como uma de suas características, associada a flexibilidade de pensamento e toda uma bagagem cultural herdada e ampliada através de gerações. Na sociedade informatizada, porém, as informações estão armazenadas em meios magnéticos e sua recuperação fica sujeita ao rigor das comparações lógicas dos computadores digitais que, embora dispondo de sofisticados circuitos eletrônicos, só possuem a pobre cultura binária dos bits, sem nenhuma capacidade inerente de análise. Isso torna bastante complexos os processos de acesso a dados a partir de nomes, que podem ter grafias diferentes como Figueira e Filgueiras, Luiz e Luis, Jorge e George, Cerqueira e Siqueira ou Filomena e Phylommena, mas são foneticamente iguais ou semelhantes. Codificação Fonética Uma forma de tornar viável a recuperação de informações a partir de nomes é pelo método da codificação fonética, que consiste na geração de um código obtido da análise dos "sons" produzidos pelas sílabas de um nome e eliminação de elementos não significativos. Como a função fonética não poderia ser biunívoca, desde quando nomes diferentes podem levar a um mesmo código, a participação do homem na decisão final é indispensável, pois o resultado de uma pesquisa fonética poderá resultar numa lista de candidatos, cujos nomes têm a mesma codificação fonética, dentre os quais poder-se-ia selecionar o desejado. Uma maneira de diminuir o universo dos candidatos é pela adição de informações complementares que por acaso estejam disponíveis, como sexo, cor, data de nascimento, etc. Na verdade, o método de fonetização não tem a pretensão de incorporar a capacidade humana de análise aos sistemas de computação, mas apenas "quebrar" a rigidez das comparações lógicas dos computadores digitais, tornando-as mais "brandas". A Torre de Babel Muitas pesquisas e experimentos foram realizadas na busca de um sistema de fonetização de nomes totalmente eficiente, mas tal objetivo ficou frustrado antecipadamente em milhares de anos, desde o episódio bíblico da Torre de Babel, quando os homens foram separados pela linguagem. A partir dai, no decorrer dos séculos, os homens afastaram-se mais ainda, criaram nações e constituíram suas próprias línguas que, embora derivadas das mesmas raízes primitivas, adotaram personalidades próprias, muitas vezes distanciando-se das linguas-mães. Como naturalmente os nomes das pessoas foram extraídos dos nomes de árvores, frutas, profissões, etc. nas suas línguas natais, a imigração tratou de levar aos diversos países a dualidade fonética de nomes como o Wellington de origem inglesa que virou, com a mesma grafia, o "Uelintom" no Brasil. Em função disso, o fonetizador depende da língua do pais onde é usado, mesmo que gere códigos fonéticos não exatamente aderentes a pronúncia, mas a escrita. No exemplo citado, a correspondência fonética portuguesa do nome Wellington seria "Velintom", assim como Hollywood seria fonetizado como "Olivode" e não "Roliude". ALPHA/2: Fonetizador da Língua Portuguesa A ALPHA/2 é uma nova versão aperfeiçoada e portável da ALFONET, um fonetizador que foi utilizado com sucesso em sistemas de acesso a dados a partir de nomes, como no Cadastro Onomástico da Polícia Técnica da Bahia, no Auxilio a Lista da Telecomunicações da Bahia (TELEBAHIA), no Informações a Consumidores da Companhia de Eletricidade do Estado da Bahia (COELBA), no Controle de Processos d ControC do Tribunal de Justiça do Estado da Bahia, etc. Nas experiências efetuadas com operadores brasileiros, a fonetização obtida foi perfeita não só para nomes de origem portuguesa, mas também japoneses, chineses e de outras origens com pronúncia próxima a escrita em português, o mesmo não ocorrendo com alguns nomes ingleses, italianos ou espanhóis, pois: · o W inglês soa como U; · o J espanhol e o H inglês soam como R; · CC em italiano lembra o nosso CH; · etc. Tal fato não chega a atrapalhar, pois é normal que os atendentes solicitem a pessoas com nomes estrangeiros que os soletrem num caso de pesquisa. No caso de ser adotada em países com outras línguas que não o português, tal problema deixa de existir, pois os operadores naturalmente têm familiaridade com o seu próprio idioma. A ALPHA/2 incorpora uma função especial, que é o tratamento opcional de sinônimos, o que torna denominações como padaria e panificadora ou farmácia e drogaria foneticamente idênticos. Isso é possível graças a uma grande tabela com as qualificações comerciais e industriais mais comuns selecionadas de cadastros públicos. Naturalmente, essa tabela precisa ser substituída em verões para outros países. Caracteres válidos para fonetização · Letras maiúsculas não acentuadas (A - Z); · Letras minúsculas não acentuadas (a - z); · Algarismos arábicos (0 - 9), desde que formem um número isolado (ex.: 123) ou precedam caracteres alfabéticos válidos (ex.: 23a. Delegacia, 3M do Brasil); · Espaços em branco; · Caracteres especiais, que são eliminados durante o processo: · Ponto (.); · Vírgula (,); · Hífem (-); · Barra (/); · E comercial (&); · Apóstrofe (') É possível ainda, através da elaboração de uma "rotina filtro", serem adimitidos os caracteres alfabéticos especiais da lingua portuguesa, como as vogais com os acentos agudos, graves, circunflexo, til e trema, bem como a consoante C acedilhada (Ç). Tal "rotina filtro" transformaria as vogais acentuadas nas correspondentes vogais não acentuadas e a letra C acedilhada (Ç) na consoante S, devendo ser executada antes de cada chamada a ALPHA/2, tanto nos cadastramentos como nas consultas. Exemplos de Fonetização Os seguintes grupos de nomes possuem os mesmos códigos fonéticos: · Luiz Eduardo Siqueira e Luis Eduardo Cerqueira · Virgildasio Sena, Vigidazio Cena, Viljidarzio Senna · Jorge Figueira e George Filgueiras · MarcoAntonio e Mark Antony · Joji Nakuma e Jorge Nacuma · Farmácia Santana e Drogaria Sant’ana · Churrascaria Xanadu e Restaurante Chanandum · Associação Educacional Baiana e Grêmio Cultural da Bahia · Afonso Imóveis e Alfonso Imobiliária · etc. Utilização A ALPHA/2 pode ser chamada a partir de programas escritos em qualquer linguagem que possua suporte a subrotinas, sob os Sistemas Operacionais MVS, VSE, VM/CMS, DOS, OS/2, OS/400, UNIX, etc. e nos ambientes batch, TSO, CICS, NATURAL, Windows, etc. Em qualquer dos ambientes, a chamada a ALPHA/2 é feita através da passagem de 3 parâmetros: 1. Tamanho do nome a fonetizar: · ASSEMBLER: TAMNOME DS H · COBOL: Tamanho-nome PIC 9(3) COMP. · NATURAL: TAMANHO-NOME B(2) 2. Código de comunicação: O programa usuário envia 0 para fonética pura ou 1 para fonética com sinônimos. A ALPHA/2 devolve 0 se a codificação fonética foi normal, 1 no caso de ocorrência de caracter invalido no nome fonte ou 2 quando o tamanho do nome fonte for insuficiente para geração do código fonético. · ASSEMBLER: COMUNIC DS CL1 · COBOL: Codigo-comunicacao PIC X. · NATURAL: CODIGO-COMUNICACAO A(1) 3. Nome a fonetizar e código fonético O programa usuário envia o nome composto a fonetizar, recebendo da ALPHA/2 o código fonético resultante no mesmo campo. O código fonético gerado será constituído por segmentos de 4 bytes, cada um deles correspondente a um nome simples do nome composto fonte. · ASSEMBLER: NOMEFON DS CLnnn · COBOL: Nome-e-fonetico PIC X(nnn). · NATURAL: NOME-E-FONETICO A(nnn) Chamada a ALPHA/2: · ASSEMBLER: CALL ALPHA2,(TAMNOME,COMUNIC,NOMEFON) · COBOL: CALL 'ALPHA2' USING Tamanho-nome Codigo-comunicacao Nome-e-fonetico · NATURAL: CALL 'ALPHA2' TAMANHO-NOME CODIGO-COMUNICACAO NOME-E-FONETICO Exemplo: O programa usuário envia a ALPHA/2 os seguintes parâmetros: · Tamanho-nome = 48 · Codigo-comunicacao = 0 · Nome-e-fonetico = LUIZ EDUARDO DE OLIVEIRA SIQUEIRA A ALPHA/2 retornará · Tamanho-nome = 48 · Codigo-comunicacao = 0 · Nome-e-fonetico = L2__EDD3OLVRSCR2_________________ Pesquisa Fonética Recuperar as informações armazenadas a partir de chaves fonéticas depende da elaboração de rotinas específicas para cada situação e cada cadastro, se há um Sistema de Gerência de Bancos de Dados ou se a aplicação esta baseada em arquivos seqüenciais, de acesso direto ou indexados. O que se sugere é a implementação nessas rotinas de vários níveis de pesquisa: · 1o. nível: chave fonética completa. · 2o. nível: chave fonética genérica com o primeiro segmento e obrigatoriedade de haver os demais segmentos na mesma ordem. · 3o. nível: chave fonética genérica com o primeiro segmento e obrigatoriedade de haver os demais segmentos em qualquer ordem. · 4o. nível: chave fonética genérica com o primeiro segmento e existência de pelo menos 1 dos demais segmentos. · etc. Exemplo: · PEDRO VIEIRA DA SILVA FERNANDEZ está no cadastro a ser pesquisado. · O nome disponível para a pesquisa é PEDRO DA SILVA VIEIRA. O resultado positivo da pesquisa só será atingido no 3o. nível.