¿Se puede construir el espectro de conocimiento con Python?

¿Se pueden construir gráficos de conocimiento con Python?

¡La respuesta es por supuesto que sí! ! !

Entonces, ¿cómo construirlo con Python?

¿Qué es un mapa de conocimiento?

Desde la búsqueda de Google hasta los chatbots, el control de riesgos financieros, los escenarios de IoT, la atención médica inteligente, la educación adaptativa y los sistemas de recomendación, todo está relacionado con el mapa de conocimiento. Relacionado. Su popularidad en el mundo de la tecnología también aumenta año tras año.

La forma última de Internet es la interconexión de todo, y el objetivo final de la búsqueda es la búsqueda directa de todo. Los motores de búsqueda tradicionales se basan en hipervínculos entre páginas web para buscar páginas web, mientras que la búsqueda semántica busca directamente cosas, como personas, instituciones y lugares. Estas cosas pueden provenir de diversos recursos de información, como texto, imágenes, videos, audios y dispositivos de Internet de las cosas. Los gráficos de conocimiento y las tecnologías semánticas proporcionan descripciones de la clasificación, los atributos y las relaciones de estas cosas, lo que permite a los motores de búsqueda indexar y buscar cosas directamente.

Mapa del conocimiento es un nuevo concepto propuesto por Google en 2012. Desde una perspectiva académica, podemos dar una definición de mapa de conocimiento: "El mapa de conocimiento es esencialmente una base de conocimiento de la red semántica". Pero esto es un poco abstracto, por lo que desde otra perspectiva, desde la perspectiva de la aplicación práctica, podemos entender simplemente el gráfico de conocimiento como un gráfico de relaciones múltiples.

Entonces, ¿qué es un diagrama de relaciones multivariadas? Cualquiera que haya estudiado estructuras de datos debería saber qué es un gráfico. Los gráficos se componen de vértices y aristas, pero estos gráficos generalmente contienen solo un tipo de nodos y aristas. Por el contrario, los gráficos de relaciones múltiples generalmente contienen múltiples tipos de nodos y múltiples tipos de aristas.

Este proyecto utiliza pandas para extraer datos de Excel, cargarlos en una base de datos secundaria en forma de triples y crear un gráfico de conocimiento relacionado.

Entorno de ejecución

Basado en cuadrática, es fácil construir un gráfico de conocimiento. Además de utilizar el cifrado propio de Secondary, también admite el paquete Python py2neo para crear nodos y relaciones y crear gráficos de conocimiento. Este proyecto se basa en información de facturas, abstrae los datos estructurados en los datos de facturas en triples y crea nodos y relaciones respectivamente para construir un gráfico de conocimiento.

Consulte el archivo requisitos.txt para conocer las dependencias específicas del paquete.

neo4j-driver == 1.6 . numpy == 1.15.3 pandas == 0.23 . = 1.0.15py == 1.7 . 0 py 2 neo = .

Instale las dependencias requeridas en pyton:pipi install -r requisitos .txt.

Los pandas extraen datos de Excel

Los pandas en Python son muy adecuados para el análisis y procesamiento de datos. Los archivos de Excel se pueden convertir al formato Dataframe, que es similar a la estructura del marco de datos en Spark, y los datos se pueden procesar en un formato similar a SQL.

La estructura de datos de Excel es la siguiente

Los datos de nodo y los datos de contacto necesarios para construir el mapa de conocimiento se extraen mediante la extracción de datos de funciones y la extracción de relaciones de funciones respectivamente, y se construyen triples. .

La extracción de datos utiliza principalmente pandas para convertir datos de Excel en tipos de marcos de datos.

invoice_neo4j.py

Datos de nodo y relación necesarios para crear un mapa de conocimiento

DataToNeo4jClass.py

Vaya a GitHub para obtener descarga de código específico.

Para obtener más información, descárguelo desde github. El nombre del proyecto es second-python-panda-py 2 neo-v3.

Para obtener más conocimientos de Python, preste atención a: ¡Sitio web de autoaprendizaje de Python! !