El Caverphone , dentro de la lingüística y la informática , es un algoritmo de correspondencia fonética [ 1 ] [ 2 ] inventado para identificar nombres en inglés con sus sonidos, originalmente construido para procesar un conjunto de datos personalizado compuesto entre 1893 y 1938 en el sur de Dunedin , Nueva Zelanda. [ 3 ] Partiendo de un concepto similar al de Metaphone , se ha desarrollado desde entonces para adaptarse y procesar el inglés general. [ 3 ]
Etimología
El Caverphone fue creado por David Hood en el Proyecto Caversham de la Universidad de Otago en Nueva Zelanda en 2002 y revisado en 2004. Su objetivo era facilitar la comparación de datos entre los censos electorales de finales del siglo XIX y principios del XX, donde el nombre solo debía estar en una forma fácilmente reconocible. El algoritmo se diseñó para aplicarse a aquellos nombres que no se podían cotejar fácilmente entre los censos electorales, una vez eliminadas las coincidencias exactas del conjunto de posibles coincidencias. El algoritmo está optimizado para los acentos presentes en la zona de estudio (parte sur de la ciudad de Dunedin , Nueva Zelanda).
Procedimiento
Caverphone 1.0
Las reglas del algoritmo se aplican consecutivamente a cada nombre en particular, como una serie de sustituciones.
El algoritmo es el siguiente:
- Convertir a minúsculas
- Elimine todo lo que no sea AZ
- Si el nombre empieza por...
- tos , reemplácelo por cou2f
- áspero , reemplácelo por rou2f
- difícil , reemplácelo por tou2f
- suficiente , reemplácelo por enou2f
- gn , reemplácelo por 2n
- Si el nombre termina con
- mb , reemplácelo por m2
- Reemplazar
- cq con 2q
- ci con si
- ce con se
- cy con sy
- tch con 2ch
- c con k
- q con k
- x con k
- v con f
- dg con 2g
- tio con sio
- Tia con Sia
- d con t
- pH con fh
- b con p
- sh con s2
- z con s
- cualquier vocal inicial con una A
- todas las demás vocales con un 3
- 3gh3 con 3kh3
- gh con 22
- g con k
- grupos de la letra s con una S
- grupos de la letra t con una T
- grupos de la letra p con una P
- grupos de la letra k con una K
- grupos de la letra f con una F
- grupos de la letra m con una M
- grupos de la letra n con una N
- w3 con W3
- wy con Wy
- wh3 con Wh3
- ¿Por qué con Por qué?
- con 2
- cualquier h inicial con una A
- todas las demás ocurrencias de h con un 2
- r3 con R3
- ry con Ry
- r con 2
- l3 con L3
- ly con Ly
- yo con 2
- j con y
- y3 con Y3
- y con 2
- eliminar todo
- 2
- 3
- pon seis 1 al final
- toma los primeros seis caracteres como código
Caverphone 2.0
- Empieza con una palabra
- Convertir a minúsculas
- Elimine todo lo que no esté en el alfabeto estándar (normalmente az ) [ nota 1 ]
- Eliminar la e final
- Si el nombre empieza por
- toser hacer que sea co2f
- áspero hazlo áspero
- difícil lo hace difícil
- suficiente hazlo suficiente
- a través de hacerlo problemático
- gn hazlo 2n
- Si el nombre termina con
- mb hazlo m2
- Reemplazar
- cq con 2q
- ci con si
- ce con se
- cy con sy
- tch con 2ch
- c con k
- q con k
- x con k
- v con f
- dg con 2g
- tio con sio
- Tia con Sia
- d con t
- pH con fh
- b con p
- sh con s2
- z con s
- una vocal inicial [ nota 2 ] con una A
- todas las demás vocales con un 3
- j con y
- un y3 inicial con Y3
- una y inicial con A
- y con 3
- 3gh3 con 3kh3
- gh con 22
- g con k
- grupos de la letra s con una S
- grupos de la letra t con una T
- grupos de la letra p con una P
- grupos de la letra k con una K
- grupos de la letra f con una F
- grupos de la letra m con una M
- grupos de la letra n con una N
- w3 con W3
- wh3 con Wh3
- Si el nombre termina en w, reemplace la w final con 3.
- con 2
- una h inicial con una A
- todas las demás ocurrencias de h con un 2
- r3 con R3
- Si el nombre termina en r, reemplace la r final con 3.
- r con 2
- l3 con L3
- Si el nombre termina en l, reemplace la l final con 3.
- yo con 2
- eliminar todos los 2 s
- Si el nombre termina en 3 , reemplace el 3 final con A.
- eliminar los 3 s
- pon diez 1 al final
- toma los primeros diez caracteres como código
Ejemplos
Caverphone 1.0
Lee -> Lee Lee -> l33 l33 -> L33 L33 -> L L -> L111111 L111111 -> L11111
Thompson -> Thompson Thompson -> th3mps3n th3mps3n -> th3mpS3n th3mpS3n -> Th3mpS3n Th3mpS3n -> Th3mPS3n Th3mPS3n -> Th3MPS3n Th3MPS3n -> Th3MPS3N Th3MPS3N -> T23MPS3N T23MPS3N -> TMPSN TMPSN111111 -> TMPSN1
Caverphone 2.0
Lee -> Lee lee -> le le -> l3 l3 -> L3 L3 -> LA LA -> LA1111111111 LA1111111111 -> LA11111111
Thompson -> Thompson Thompson -> th3mps3n th3mps3n -> th3mpS3n th3mpS3n -> Th3mpS3n Th3mpS3n -> Th3mPS3n Th3mPS3n -> Th3MPS3n Th3MPS3n -> Th3MPS3N Th3MPS3N -> T23MPS3N T23MPS3N -> TMPSN TMPSN1111111111 -> TMPSN11111
Véase también
Referencias
- ↑ Milette, Greg; Stroud, Adam (18 de mayo de 2012). Programación profesional de sensores Android . John Wiley & Sons. págs. 421–. ISBN 9781118240458Consultado el 19 de febrero de 2013 .
- ↑ Phua, Clifton; Lee, Vincent; Smith, Kate (2006). "El problema del nombre personal y una solución recomendada de minería de datos". Enciclopedia de almacenamiento y minería de datos . CiteSeerX 10.1.1.127.5111 .
- 1 2 "Caverphone" . Instituto Nacional de Estándares y Tecnología . Recuperado el 20 de agosto de 2018 .
Enlaces externos
- Proyecto Caversham : conjunto de datos de Caversham sobre nombres y acentos en la parte sur de Dunedin , Nueva Zelanda, entre 1893 y 1938.
- Algoritmo original (2002) de Caverphone
- Algoritmo revisado (2004) de Caverphone
- Implementaciones:
- Implementación revisada en C#
- Implementación en Java en el proyecto Apache Commons Codec
- Implementación en PHP
- Implementación en Python del algoritmo Caverphone (versión 2.0) - Proyecto de búsqueda avanzada AdvaS
- Algoritmos fonéticos