pt_metaphone()

Metaphone para a língua portuguesa

Copyright ©2008 Prefeitura de Várzea Paulista

Apresentação | Como funciona? | Codificação | Arquivos | Referência | Créditos

Apresentação

O metaphone é um algoritmo fonético para a geração de chaves (índices) de palavras a partir do modo como elas são pronunciadas. Assim palavras com sons parecidos geram chaves iguais. Foi desenvolvido por Lawrence Philips como forma de suprir as deficiências do Soundex e descrito em "Practical Algorithms for Programmers", Binstock & Rex, Addison Wesley, 1995.

A versão original (para a língua inglesa) foi implementada em PHP e pode ser utilizado a partir da função metaphone() e uma versão para o espanhol foi desenvolvida por Israel J. Sustaita em 2005.

Esta versão para a língua portuguesa tem como base a versão espahola e a implementação em ruby, de onde baseamos o uso das expressões regulares.

Como funciona?

Codificação

Como usar

<?php

    include ("pt_metaphone.php");

    $A="TESTE DO METAPHONE"

    print $A."->".pt_metaphone($A)."\n";

?>

Exemplo da chave metafônica

Criando algumas chaves metafônicas a partir um trecho dos Lusíadas:

AS ARMAS E OS BARÕES ASSINALADOSAS ARMS E OS BRS ASNLDS
QUE DA OCIDENTAL PRAIA LUSITANAK D OSDNTL PR LZTN
POR MARES NUNCA DE ANTES NAVEGADOSP2 MRS NNK D ANTS NVGDS
PASSARAM AINDA ALÉM DA TAPROBANA PSRM AND ALM D TPRBN
EM PERIGOS E GUERRAS ESFORÇADOS EM PRGS E G2S ESFRSDS
MAIS DO QUE PROMETIA A FORÇA HUMANA MS D K PRMT A FRS UMN
E ENTRE GENTE REMOTA EDIFICARAM E ENTR JNT 2MT EDFKRM
NOVO REINO, QUE TANTO SUBLIMARAM NV 2N K TNT SBLMRM

Sugestão de busca via chave metafônica

Uma pesquisa relativamente complexa pode ser facilmente implementada diretamente em SQL:

SELECT (...) FROM (...) WHERE texto_metafone LIKE chave;

Soluções mais sofisticadas podem ser implementadas,

um ponto de partida está em:
http://en.wikipedia.org/wiki/Category:Algorithms_on_strings

Arquivos

pt_metaphone_1.0.tar.gz - 11K [MD5SUM c37353ce3c88e5bf51e62a2ded24e5b5]

Referências

Créditos



escudo municipal
Prefeitura Municipal de Várzea Paulista
Supervisão Departamental de Informática e Gestão de Redes
Rua José Dias de Castro, 160 - Vila São José - 13224-360
Tel. 11-46068669