Thread: Phonetic representation LENGHT for DMETAPHONE, is there a way to make it longer?
Phonetic representation LENGHT for DMETAPHONE, is there a way to make it longer?
Hello people,
Please, I am working on a PoC for Real-time Person Identification, and one of the critical aspects of it is to support both minor misspelling and phonetic variations of First, Middle, and Last name. Like HarinGton == HarrinBton or RaphEAl == RafAEl. It's working for longer names, but it's a bit more imprecise for names like Lee and John. I am using Double Metaphone through dmetaphone() and dmetaphone_alt() in PostgreSQL 13.3 (Supabase.io). And although I appreciate Double Metaphone it returns a (too?) short string as the phonetic representation compared to metaphone(string, length). metaphone() has parameters to make the resulting phonetic representation longer. I investigated dmetaphone() and couldn't find anything other than the default function. Is there a way of making dmetaphone() and dmetaphone_alt() return a longer phonetic representation similar to metaphone()'s, but with a ALT variation?.
Any help would be much appreciated.
Thanks
Re: Phonetic representation LENGHT for DMETAPHONE, is there a way to make it longer?
On Thu, 2021-11-11 at 11:26 -0300, Jean Baro wrote: > Please, I am working on a PoC for Real-time Person Identification, and one of the critical > aspects of it is to support both minor misspelling and phonetic variations of First, Middle, and Last name. > Like HarinGton == HarrinBton or RaphEAl == RafAEl. It's working for longer names, > but it's a bit more imprecise for names like Lee and John. I am using Double Metaphone through dmetaphone() and > dmetaphone_alt() in PostgreSQL 13.3 (Supabase.io). And although I appreciate Double Metaphone > it returns a (too?) short string as the phonetic representation compared to metaphone(string, length). > metaphone() has parameters to make the resulting phonetic representation longer. > I investigated dmetaphone() and couldn't find anything other than the default function. Is there a way of making > dmetaphone() and dmetaphone_alt() return a longer phonetic representation similar to metaphone()'s, but with a ALT variation?. These functions focus on phonetic similarity. There are no other variants of these functions, but perhaps pattern matching (which focuses on spelling, *not* phonetics) can help: CREATE EXTENSION pg_trgm; -- now you can use the "similar to" operator SELECT * FROM tab WHERE name % 'lorenz'; Yours, Laurenz Albe -- Cybertec | https://www.cybertec-postgresql.com
Re: Phonetic representation LENGHT for DMETAPHONE, is there a way to make it longer?
On Thu, 2021-11-11 at 11:26 -0300, Jean Baro wrote:
> Please, I am working on a PoC for Real-time Person Identification, and one of the critical
> aspects of it is to support both minor misspelling and phonetic variations of First, Middle, and Last name.
> Like HarinGton == HarrinBton or RaphEAl == RafAEl. It's working for longer names,
> but it's a bit more imprecise for names like Lee and John. I am using Double Metaphone through dmetaphone() and
> dmetaphone_alt() in PostgreSQL 13.3 (Supabase.io). And although I appreciate Double Metaphone
> it returns a (too?) short string as the phonetic representation compared to metaphone(string, length).
> metaphone() has parameters to make the resulting phonetic representation longer.
> I investigated dmetaphone() and couldn't find anything other than the default function. Is there a way of making
> dmetaphone() and dmetaphone_alt() return a longer phonetic representation similar to metaphone()'s, but with a ALT variation?.
These functions focus on phonetic similarity.
There are no other variants of these functions, but perhaps pattern matching
(which focuses on spelling, *not* phonetics) can help:
CREATE EXTENSION pg_trgm;
-- now you can use the "similar to" operator
SELECT * FROM tab WHERE name % 'lorenz';
Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com