domingo, junio 10, 2007

Métrica NGD (Distancia normalizada de Google)

.
En un artículo de investigación Cilibrasi y Vitany, que lleva por título “Automatic Meaning Discovery Using Google”, proponen una nueva métrica denominada Normalized Google Distance (NGD) o Distancia Normalizada de Google. Esta herramienta tiene por finalidad medir cuan cerca están dos términos en el espacio de documentos que indexa Google, el cual es una muestra robusta que puede ser tomada como corpus representativo de la lengua actual.

El algoritmo de cálculo indica que si se desea medir el NGD de dos términos, ejemplo profesor y alumno, se deberá consultar a Google sobre la cantidad de documentos que contienen el primer término, el segundo y ambos. Luego, utilizando una fórmula se computa la distancia entre los términos a evaluar.

Donde f(x) es el número de páginas que contienen el término x, f(y) el número de páginas que contienen el término, f(x,y) número de páginas que contienen ambos términos y N una constante de normalización.

Veamos el siguiente ejemplo, el cual fué realizado con una script disponible en la web. Números cercanos a cero son indicadores de una menor distancia.

Term 1: +"profesor"
f(x) = 43900000
log f(x) = 7.64246452024212

Term 2: +"alumnos"
f(y) = 34600000
log f(y) = 7.53907609879278

Intersection: +"profesor" +"alumnos"
f(x,y) = 1400000
log f(x,y) = 6.14612803567824

M: 11828505634
log M: 10.072929881069

  • NGD(profesor, alumno) = 0.590537818334437

Ahora probemos con dos términos donde debería haber una mayor distancia, profesor y mediocre

Term 1: +"profesor"
f(x) = 44000000
log f(x) = 7.64345267648619

Term 2: +"mediocre"
f(y) = 16800000
log f(y) = 7.22530928172586

Intersection: +"profesor" +"mediocre"
f(x,y) = 303000
log f(x,y) = 5.4814426285023

M: 11828505634
log M: 10.072929881069

  • NGD(profesor,mediocre) = 0.759233884065374
Como se vió hay una menor distancia profesor-alumnos que entre profesor-mediocre. Recomiendo la lectura del paper, donde además de un exhaustivo estudio matemático, se presentan algunas ideas de utilización de esta herramienta (traducción automática, extracción de información, redes semánticas, etc.

Pd. al código fuente de la script Perl lo hallan aquí.

No hay comentarios.: