Gráfico de conocimiento: fusión de conocimientos

Introducción a la integración del conocimiento.

Fusión de conocimiento, es decir, fusionar dos gráficos de conocimiento (ontologías). El problema básico es estudiar cómo fusionar información de descripción sobre la misma entidad o concepto de múltiples fuentes. Lo que hay que confirmar son: instancias equivalentes, clases/subclases equivalentes y atributos/subatributos equivalentes.

En la figura anterior se muestra un ejemplo. Los círculos de diferentes colores en la figura representan diferentes fuentes del gráfico de conocimiento. Rome en dbpedia.org y roma en geoname.org son la misma entidad y están vinculados a través de dos iguales. La alineación de entidades entre diferentes gráficos de conocimiento es el trabajo principal de KG Fusion.

Además de la alineación de entidades, también se trabaja en la fusión de conocimientos a nivel conceptual y en la fusión de conocimientos entre idiomas.

Vale la pena mencionar aquí que en diferentes literaturas, la fusión de conocimiento tiene diferentes nombres, como alineación de ontologías, coincidencia de ontologías, vinculación de registros, resolución de entidades, alineación de entidades, etc., pero su trabajo esencial es el mismo.

Los principales desafíos técnicos de la fusión de conocimientos son dos puntos:

1. Desafíos de la calidad de los datos: como nombres ambiguos, errores de entrada de datos, pérdida de datos, formatos de datos inconsistentes, abreviaturas, etc.

2. El desafío de la escala de datos: gran cantidad de datos (computación paralela), diversidad de tipos de datos, ya no solo coincidencias de nombres, múltiples relaciones, más enlaces, etc.

Proceso técnico básico

La fusión de conocimientos generalmente se divide en dos pasos: los procesos básicos de alineación de ontologías y coincidencia de entidades son similares, como se muestra a continuación:

1. Preprocesamiento de datos

En la etapa de preprocesamiento de datos, la calidad de los datos originales afectará directamente el resultado final del enlace. Diferentes conjuntos de datos a menudo describen la misma entidad de diferentes maneras. Normalizar estos datos es un paso importante para mejorar la precisión de los enlaces posteriores.

El preprocesamiento de datos comúnmente utilizado incluye:

1. Regularización gramatical

2. Concordancia gramatical: como el método de representación del número de contacto

3. Atributos integrales: como la expresión del domicilio

4. Normalización de datos

5. Elimina espacios, "", "", - y otros símbolos

6. Errores topológicos de la clase de error de entrada

7. Reemplace apodos, abreviaturas, etc. con nombres formales.

2. Graba la conexión

Supongamos que los registros xey de dos entidades tienen los valores de xey en el atributo i-ésimo, luego la conexión del registro se realiza en los dos pasos siguientes:

Similitud de atributos: combinando la similitud de atributos individuales para obtener el vector de similitud de atributos:

Similitud de entidad: obtenga la similitud de una entidad en función del vector de similitud de atributos

Cálculo de similitud de atributos.

Existen muchos métodos para calcular la similitud de atributos. Los más utilizados incluyen la distancia de edición, el cálculo de similitud establecido, el cálculo de similitud basado en vectores, etc.

1. Editar distancia: Levenstein, Wagner y Fisher, Editar distancia con espacios finos

2. Establecer cálculo de similitud: coeficiente de Jaccard, dados

3. Cálculo de similitud basado en vectores: similitud de coseno, similitud TFIDF

Editar distancia calcula la similitud de atributos

La distancia de Levenshtein, es decir, la distancia de edición mínima, tiene como objetivo convertir una cadena en otra con la menor cantidad de operaciones de edición. Por ejemplo, calcule la distancia de edición entre Lvensshtain y Levenshtein: Lvensshtain se convierte a Levenshtein, un total de 3 operaciones, y la La distancia de edición también es 3. LevensteinDistance es un problema típico de programación dinámica y puede calcularse mediante el algoritmo de programación dinámica, donde +1 representa el costo de las operaciones de inserción, eliminación y reemplazo.

La distancia de Wagner y Fisher es una extensión de la distancia de Levenshtein, que asigna diferentes pesos al costo de las operaciones de edición en este modelo, donde del, ins y sub son los costos de eliminación, inserción y reemplazo respectivamente.

Editar Distancia con espacios afines se basa en los dos algoritmos anteriores e introduce el concepto de espacio. Las operaciones de inserción, eliminación y reemplazo anteriores se reemplazan por apertura y extensión de espacio, donde s es el costo de la extensión abierta y e es el costo de extender la brecha Costo, l es la longitud de la brecha. Por ejemplo, para calcular la distancia entre Lvensshtain y Levenshtein, primero alinee las dos palabras de la cabeza a la cola y considere las partes faltantes correspondientes como espacios. En comparación con las palabras a continuación, faltan la primera e y la tercera e desde abajo. Son dos huecos. La palabra de abajo tiene una s y una menos que la palabra de arriba, lo que supone otros dos espacios. En conjunto, hay 4 espacios, cada uno con una longitud de 1.

Establecer similitud del atributo de cálculo de similitud

El coeficiente Dice se utiliza para medir la similitud de dos conjuntos. Dado que las cadenas pueden entenderse como un conjunto, la distancia Dice también se utiliza para medir la similitud de las cadenas. El coeficiente Dice toma a Lvensshtain y Levenshtein como ejemplos. La similitud entre los dos El grado es 2 * 9 / (11+11)= 0,82.

El coeficiente Jaccard es adecuado para procesar la similitud de textos breves y es similar a la definición del coeficiente Dice. Hay dos métodos para convertir texto en conjuntos: además de usar símbolos para dividir palabras, también puede considerar usar n-gramas para dividir palabras, n-gramas para dividir oraciones, etc., para construir conjuntos y calcular similitudes.

La similitud basada en vectores de TF-IDF  se utiliza principalmente para evaluar la importancia de una determinada palabra o palabra para un documento. Por ejemplo, hay 50.000 artículos en un determinado corpus y 20.000 artículos contienen "salud", hay un artículo con un total de 1.000 palabras y "salud" aparece 30 veces, luego sim TF-IDF = 30/1000 * log (50000/(20000+1)) = 0,012.

Cálculo de similitud de entidades.

El cálculo de la similitud de entidades puede comenzar desde tres aspectos principales, a saber, agregación, agrupación y aprendizaje de representación.

1. Agregación: método de promedio ponderado, es decir, suma ponderada de cada componente del vector de puntuación de similitud para obtener la entidad final similitud: la formulación manual de reglas consiste en establecer un umbral para cada componente del vector de similitud. Si se excede el umbral, Conecte dos entidades:

Para los métodos de aprendizaje automático como los clasificadores, el mayor problema es cómo generar un conjunto de entrenamiento, para ello se puede utilizar entrenamiento no supervisado/semi-supervisado, como EM, modelos generativos, etc. O soluciones de aprendizaje activo como el crowdsourcing.

2. Agrupación: la agrupación se puede dividir en agrupación jerárquica, agrupación de correlación, Canopy + K-medias, etc.

La agrupación jerárquica divide los datos en diferentes niveles calculando la similitud entre diferentes categorías de puntos de datos y finalmente forma una estructura de agrupación en forma de árbol.

Los datos originales subyacentes se pueden calcular mediante la función de similitud. Existen tres algoritmos para la similitud entre clases:

Algoritmo SL (enlace único): el algoritmo SL, también conocido como algoritmo del vecino más cercano, utiliza la similitud entre los dos puntos de datos más cercanos entre las dos clases de puntos de datos como la distancia entre las dos clases.

Algoritmo CL (Vínculo completo): a diferencia de SL, la similitud de los dos puntos más lejanos en las dos clases se toma como la similitud de las dos clases.

Algoritmo AL (Vínculo promedio): utiliza la similitud promedio entre todos los puntos en dos clases como similitud entre clases.

La agrupación de correlación indica que xey están asignados a la misma clase, representa la probabilidad de que xey estén en la misma clase (similitud entre xey) y son, respectivamente, el costo y la retención de cortar el borde entre xey Precio lateral. El objetivo de la agrupación por correlación es encontrar una solución de agrupación con el costo mínimo. Es un problema NP-difícil y puede resolverse aproximadamente mediante el algoritmo codicioso.

Canopy + K-means es diferente de K-means. La característica más importante de la agrupación en clústeres de Canopy es que no necesita especificar el valor k (es decir, el número de agrupaciones) de antemano, por lo que tiene un gran valor de aplicación práctica. Canopy y K-means a menudo se usan juntos.

3. Aprendizaje de representación: asigne las entidades y relaciones en el gráfico de conocimiento a vectores espaciales de baja dimensión y utilice directamente expresiones matemáticas para calcular la similitud entre cada entidad. Este tipo de método no se basa en ninguna información de texto y obtiene las características profundas de los datos.

Hay muchas formas de asignar dos gráficos de conocimiento al mismo espacio. Su puente son pares de entidades preconectadas (datos de entrenamiento). Para más detalles, consulte el documento detallado.

¿Cómo realizar la vinculación de entidades después de completar el mapeo? Después de que el entrenamiento de vectores de KG alcance un estado estable, para cada entidad en KG1 que no haya encontrado un enlace, busque el vector de entidad más cercano a él en KG2 para vincularlo. El método de cálculo de distancia puede utilizar el cálculo de distancia entre cualquier vector, como la distancia euclidiana. o Distancia del coseno.

3. fragmentación

El bloqueo consiste en seleccionar pares de registros potencialmente coincidentes como candidatos de todos los pares de entidades en una base de conocimiento determinada y reducir el tamaño de los candidatos tanto como sea posible. La razón de esto es simplemente porque hay demasiados datos. . . Nos resulta imposible conectarlos uno por uno.

Los métodos de bloqueo más utilizados incluyen el bloqueo basado en la función Hash, el bloqueo adyacente, etc.

Primero, presentamos la fragmentación basada en la función Hash. Para el registro x, existe, luego x se asigna al bloque vinculado a la palabra clave. Las funciones Hash comunes son:

1. Los primeros n caracteres de la cadena.

2.n-gramos

3. Combine múltiples funciones hash simples, etc.

4. Los algoritmos de bloqueo de vecinos incluyen agrupación de Canopy, algoritmo de vecinos ordenados, SetCover rojo-azul, etc.

4. Equilibrio de carga

Load Balance (Load Balance) garantiza que el número de entidades en todos los bloques sea igual, asegurando así la mejora del rendimiento de la partición de bloques. El método más simple son múltiples operaciones Map-Reduce.

Introducción a la herramienta

1. Alineación de ontologías - Falcon-AO

Falcon-AO es un sistema automático de comparación de ontologías que se ha convertido en una opción práctica y popular para combinar ontologías web expresadas en RDF(S) y OWL. El lenguaje de programación es Java.

La biblioteca de algoritmos de coincidencia incluye cuatro algoritmos: V-Doc, I-sub, GMO y PBM. Entre ellos, V-Doc es una coincidencia lingüística basada en documentos virtuales: es una colección de entidades y entidades circundantes, sustantivos, textos y otra información para formar un documento virtual. De esta forma podemos operar con algoritmos como TD-IDF. I-Sub es una coincidencia de cadenas basada en la distancia de edición, que presentamos en detalle anteriormente. Se puede ver que tanto I-Sub como V-Doc se basan en el procesamiento a nivel de cadena o texto. Un paso más es GMO, que coincide con la estructura gráfica de la ontología RDF. PBM se basa en la idea de divide y vencerás.

2.  Coincidencia de entidades de Limes

Limes es un marco de descubrimiento de coincidencia de entidades basado en espacio métrico, adecuado para vinculación de datos a gran escala, y el lenguaje de programación es Java.

Supongo que te gusta

Origin blog.csdn.net/WhiteCattle_DATA/article/details/133276651
Recomendado
Clasificación