Soundex y Difference

07/10/2008 - 01:01 por Fernando A. Gómez F. | Informe spam
Hola a todos.

Recién me acabo de enterar que SQL Server tiene integrada un algoritmo
de búsqueda basado en Soundex. De hecho, la función Soundex hace la
codificación, y a través de Difference se puede obtener el parecido
fonético de una cadena con respecto a otra.

He buscado en Google y he encontrado poca información. Tengo un par de
preguntas, que espero tengan a bien contestar. La primera, saber si
alguien ha tenido experiencia en el empleo e implementación de esta
función (Soundex o Difference) para buscar datos basados en sonido. La
segunda, saber si la codificación varía dependiendo del idioma de la
base de datos, del servidor, etc.

Gracias de antemano.

Saludos.

Preguntas similare

Leer las respuestas

#1 Jorge Carazzo
07/10/2008 - 12:46 | Informe spam
Fernando, yo he usado muchas veces la funcion Soundex de Vfox, para buscar
nombres que no se sabe bien como se escriben (si van con B o V, si van C o S
o si llevan H) y los resultados fueron estupendos.
Si bien no lo he usado en Sql, la moyoria de las funciones de Sql y Vfox, se
comportan igual. Espero haberte servido de algo. Un abrazo.
Respuesta Responder a este mensaje
#2 Alfredo Novoa
07/10/2008 - 13:17 | Informe spam
Hola Fernando,

El Mon, 06 Oct 2008 18:01:12 -0500, "Fernando A. Gómez F." escribió:

segunda, saber si la codificación varía dependiendo del idioma de la
base de datos, del servidor, etc.



Pues que yo sepa el Soundex es un algoritmo fijo diseñado para los
apellidos comunes en los Estados Unidos hace más de 100 años.

Con el español no debería de funcionar muy bien pero tampoco muy mal. Hay
otros algoritmos que funcionan mejor con diferentes idiomas y con el
español como el Double Metaphone.

http://en.wikipedia.org/wiki/Double_Metaphone

Aquí hay enlaces a diferentes implementaciones incluida una en Transact
SQL.


Saludos
Alfredo
Respuesta Responder a este mensaje
#3 Fernando A. Gómez F.
07/10/2008 - 18:10 | Informe spam
Jorge Carazzo wrote:
Fernando, yo he usado muchas veces la funcion Soundex de Vfox, para buscar
nombres que no se sabe bien como se escriben (si van con B o V, si van C o S
o si llevan H) y los resultados fueron estupendos.
Si bien no lo he usado en Sql, la moyoria de las funciones de Sql y Vfox, se
comportan igual. Espero haberte servido de algo. Un abrazo.




Hola Jorge. Gracias por la respuesta. Hice una prueba con
soundex/difference sobre una base de datos y como que el nivel de
exactitud no era muy bueno. De ahí que preguntara. Pero quizás sea un
caso muy particular este. Gracias nuevamente, me ha sido de utilidad.

Saludos.
Respuesta Responder a este mensaje
#4 Fernando A. Gómez F.
07/10/2008 - 18:16 | Informe spam
Alfredo Novoa wrote:
Hola Fernando,

El Mon, 06 Oct 2008 18:01:12 -0500, "Fernando A. Gómez F." escribió:

segunda, saber si la codificación varía dependiendo del idioma de la
base de datos, del servidor, etc.



Pues que yo sepa el Soundex es un algoritmo fijo diseñado para los
apellidos comunes en los Estados Unidos hace más de 100 años.




En efecto, fue el Servicio Postal de USAlandia, IIRC.

Con el español no debería de funcionar muy bien pero tampoco muy mal.



Es lo que pensaba. Quizás algunas letras como la j o la h, que tienen
diferentes sonidos en ambos idiomas...

Hay
otros algoritmos que funcionan mejor con diferentes idiomas y con el
español como el Double Metaphone.

http://en.wikipedia.org/wiki/Double_Metaphone

Aquí hay enlaces a diferentes implementaciones incluida una en Transact
SQL.




Vaya... ya me leí el artículo del CUJ, se ve bastante interesante y
eventualmente mucho mejor que basarte en algún idioma. Me late,
muchísimas gracias.

Saludos,
Fernando.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida