Saltar para o conteúdo

String Fonética

Origem: Wikipédia, a enciclopédia livre.

Em ciências da computação String fonética é um programa na forma de uma função usado para indexar nomes através de som, como pronunciado em uma determinada língua. É usado para casos onde existam palavras homófonas de forma que elas possam ser emparelhadas apesar de diferenças secundárias na soletração.

Um pouco de português[editar | editar código-fonte]

Fonemas são as menores unidades sonoras da fala. São os sons elementares e distintivos que, articulados e combinados, formam as sílabas, os vocábulos e a teia da frase, na comunicação oral.
Funcionam como elementos distintivos ou diferenciadores das palavras, porque são capazes de diferenciar umas de outras, conforme se observa, por exemplo, nas seqüências: mala, mola, mula; gato, mato, pato, rato; mal, mar, mas.

Quando proferimos a palavra aflito, por exemplo, emitimos três sílabas e seis fonemas: a – fli – to. Percebemos que uma sílaba pode haver um ou mais fonemas.

No sistema fonético do português do Brasil há, aproximadamente, 33 fonemas.

Classificação dos Fonemas[editar | editar código-fonte]

É importante não confundir letra com fonema. Fonema é o som, letra é o sinal gráfico que representa o som.

O ideal seria que cada fonema correspondesse uma só letra, e vice-versa, mas infelizmente isso não acontece. É que o nosso sistema ortográfico não é rigorosamente fonético, mas ainda está preso à origem das palavras. Escreve-se, por exemplo, exame, em vez de ezame. Assim, por força da tradição etimológica, podemos observar, na figuração dos fonemas portugueses, as seguintes imperfeições:

1) A mesma letra pode representar fonemas diferentes: eXame, Xale, próXimo, seXo; Cola, Cera.
2) O mesmo fonema pode ser figurado por letras diferentes: caSa, eXílio, coZinha; tiGela, laJe.
3) Um fonema pode ser representado pelo grupo de duas letras (dígrafos): maCHado, muLHer, uNHa, miSSa, caRRo.
4) A letra X pode representar, simultaneamente, dois fonemas diferentes: táXi (táCSi), fiXo (fiCSo), tóraX (tóraCS), heXacampeão (eGZacãpeãu).
5) Há letras que, às vezes, não representam fonemas; tão somente funcionam como notações léxicas: caMpo (cãpo), reNda (r~eda), regUe (U insonoro, para não se proferir reJe).
6) Usam-se letras simplesmente decorativas: não representam fonemas nem funcionam como notações léxicas: Hotel (otel), diScípulo (dicípulo), eXceção (eceção), qUina (qina).
7) Há fonemas que, em certos casos, não se representam graficamente: bem (bêI), batem (bát~eI, falam (fálãU).

Figuração dos Fonemas[editar | editar código-fonte]

Os fonemas da língua portuguesa classificam-se em vogais, semivogais e consoantes.
a) Vogais são fonemas sonoros , ou sons laríngeos, que chegam livremente ao exterior sem fazer ruído.
b) Semivogais são os fonemas /i/ e /u/ átonos que se unem a um a vogal, formando com esta uma só sílaba: vai – andei – ouro água.
c) Consoantes são os ruídos provenientes da resistência que os órgãos bucais opõem à corrente de ar.

Na língua portuguesa a vogal é o elemento básico, suficiente e indispensável para a formação da sílaba. As consoantes e as semivogais são fonemas dependentes: ó podem formar sílaba com o concurso das vogais.

História[editar | editar código-fonte]

O primeiro caso em que foi necessário pesquisar palavras homófonas surgiu por volta do início do século XX, onde se precisava rastrear a cidade e os nomes de família de imigrantes não americanos durante o censo entre 1918 a 1920.

Robert C. Russell, teve a ideia de ordenar palavras pela forma como soam e não em ordem alfabética.

Soundex[editar | editar código-fonte]

A partir de então surgiram diversas funções para realizar esse tipo de pesquisa com algumas mudanças. A mais conhecida é a função Soundex, uma variação do algoritmo criado por Russel.

A codificação de uma palavra por meio desse algoritmo consiste em uma nova palavra onde se mantém a primeira letra acrescida de outros 3 números. Vogais são suprimidas, e consoantes com sons iguais recebem o mesmo número.

Valor Consoantes
1 B, F, P, V
2 C, G, J, K, Q, S, X, Z
3 D,T
4 L
5 M,N
6 R


Apenas os 4 dígitos são usados, o restante é suprimido. Quando existem duas letras iguais, uma do lado da outra, mantém-se apenas uma referência, caso a palavra tenha menos que 4 letras, o restante é acrescido de zero.
Exemplo:

PALAVRA SOUNDEX
DANILO D540
MARILENE M645

Existem variações desse algoritmo. Um bem conhecido é o [“Reverse Soundex”], que faz o processo inverso, ele mantém a última letra da palavra e as 3 últimas consoantes.

Esse algoritmo é tão funcional e útil que se tornou parte de alguns programas importantes, como o SQL Server e o Oracle. Algumas linguagens. como PHP, possuem também essa função, nas demais podemos implementá-las sem muitos problemas.

Em 1990, Lawrence Philips desenvolveu para o inglês o Metaphone, uma melhoria do algoritmo Soundex. Posteriormente o algoritmo foi adaptado para o Português do Brasil[1]. Em 2000, o mesmo autor desenvolveu o Double Metaphone. Double, porque ele retorna duas letras ao invés de apenas uma. Esse algoritmo foi implementado em C++.

Referências