Al construir un gráfico de conocimiento médico y una pregunta y respuesta automática, consulte el elemento 1 . Se han realizado las siguientes optimizaciones en la construcción de un gráfico de conocimiento médico y un sistema de preguntas y respuestas:
Después de construir el gráfico de conocimiento y el sistema de preguntas y respuestas, se agregan la interacción front-end y la pantalla KG, utilizando el mapa guiado por la fuerza de Echarts. Proyecto de referencia de implementación 4 .
neo4j-community-4.1.4 % bin/neo4j start
medical_knowledge_graph_app-master % python med_kg/manage.py runserver
Diagrama de interfaz de función IMG
Archivo KG/Prepare_Data Crawler
KG/Data/Medical_Rebuild.json Los datos procesados finales
kg/build_medicalgraph.py crea una base de datos de gráficos Neo4J
Modelo de enlace de entidad MED_KG/EL_MODEL
med_kg/el_model/incrustación de la palabra incrustación de la representación de la enfermedad/fármaco/diccionario de síntomas
MED_KG/EL_MODEL/ENTITY_LING.PY Entity Link Script
MED_KG/MED_KG DJANGO Vistas y archivos de configuración
MED_KG/Plantillas Plantillas del marco Django
Med_kg/archivo de arranque frontal estático
MED_KG/NER_MODEL Nombrado Modelo de reconocimiento de entidad
MED_KG/NER_MODEL/MODELOS Código modelo de modelo de reconocimiento de entidad
MED_KG/NER_MODEL/DATOS DE DATOS PARA Modelo de entrenamiento
Med_kg/ner_model/pérdidas función de pérdida para el modelo de entrenamiento
MED_KG/NER_MODEL/OUTPUS/1101MEDSELFNER-FINETUNE FINELY TUNADO (entrenado)
MED_KG/NER_MODEL/PREV_TRAINTIN_MODEL Modelo previo a Pytorch
herramienta med_kg/util, arranque en frío
Script MED_KG/Model para interactuar con la base de datos de gráficos NEO4J
MED_KG/MEDMODEL Pregunta automática y respuesta
MED_KG/MEDMODEL/CUESTA_CLASSIFIER.PY Script de reconocimiento de intención
MED_KG/MEDMODEL/CUESTION_PARSER.PY Script que convierte las palabras e intenciones de mención identificadas en declaraciones de consulta
MED_KG/MEDMODEL/RESPUESTA_SEARCH.PY BASE DE DATOS DE GRÁFICO DE CONSIL
Diccionario de dominio MED_KG/MEDMODEL/DICT
El número '*' indica el elemento que cambia en función del proyecto original
| Tipo de entidad | Significado chino | Número de entidades | Dar un ejemplo |
|---|---|---|---|
| Controlar | Artículos de examen de diagnóstico | 3,353 | Broncografía; artroscopia |
| Departamento | Sujetos médicos | 54 | Departamento de Cirugía Plástica; Departamento de quemaduras |
| Enfermedad | enfermedad | 8.807 | Vasculitis tromboocítica; Aneurisma aórtico descendente del cofre |
| Droga | droga | 3.828 | Crema de hemorroides Jingwanhong; Gotas de brintzoamina gotas |
| Alimento | alimento | 4.870 | Sopa de pelota de carne de tomate y verduras; brotes de bambú guisados con cordero |
| Productor | Grandes categorías de medicamentos | 17,201 | Tongyao Penicilina farmacéutica V tabletas de potasio; Tabletas de acetato de dexametasona Qingyang |
| Síntoma* | Síntomas de la enfermedad | 4,377 | Hipertrofia del tejido mamario; sangrado profundo en el parénquima cerebral |
| Total | total | 44,111 | Alrededor de 44,000 entidades |
El número '*' indica el elemento que cambia en función del proyecto original
| Tipo de relación de entidad | Significado chino | Número de relaciones | Dar un ejemplo |
|---|---|---|---|
| pertenencias_to | pertenecer | 8,844 | <Ginecología, perteneciente a obstetricia y ginecología> |
| Common_drug | Medicamentos comunes para enfermedades | 14,649 | <Yangqiang, comúnmente utilizado, tabletas dispersas de metanosulfonato de fentolamina> |
| hacer | Come comida cuando estés enfermo | 22,238 | <Fractura de flexibilidad, adecuada para comer, pescado negro> |
| drogas_Of | Drogas a la venta | 17,315 | <Penicilina V tabletas de potasio, a la venta, Tongyao Pharmaceutical Penicilina V Potasio de Potasio> |
| Need_check | Pruebas de enfermedades | 39,422 | <Enfisema unilateral, examen requerido, broncografía> |
| No_EET | Evite comer alimentos en enfermedades | 22,247 | <Enfermedad de los labios, evite comer, almendras> |
| recomendado_drug | Medicamentos recomendados para enfermedades | 59,467 | <Hemorroides mixtas, medicamentos recomendados, crema de hemorroides Jingwanhong> |
| recomendado_eat | Recetas recomendadas para enfermedades | 40,221 | <Halvesting, receta recomendada, tomate y sopa de bola de carne> |
| has_sintom* | Síntomas de la enfermedad | 99,492 | <Cáncer de mama temprano, síntomas de la enfermedad, hipertrofia del tejido mamario> |
| cáfano_con | Enfermedades y enfermedades | 12,029 | <Insuficiencia del cierre de la válvula de las extremidades inferiores de la vena de tráfico, complicaciones de las enfermedades, vasculitis tromboocítica> |
| Total | total | 294,149 | Alrededor de 300,000 magnitud de la relación |
| Tipo de atributo | Significado chino | Dar un ejemplo |
|---|---|---|
| nombre | Nombre de la enfermedad | Bronquitis sibilante |
| descomunal | Introducción a la enfermedad | También conocido como bronquitis de asma ... |
| Causa | Causas de la enfermedad | Los comunes incluyen virus sincitiales ... |
| prevenir | Medidas preventivas | Presta atención a la historia de las alergias familiares y niños ... |
| cure_lasttime | Ciclo de tratamiento | 6-12 meses |
| cura_way | Método de tratamiento | "Tratamiento de medicina", "Tratamiento de apoyo" |
| cured_prob | Probabilidad de cura | 95% |
| Easy_get | Personas con susceptibilidad a las enfermedades | No hay multitud específica |
| Tipo de pregunta | Significado chino | Pregunta un ejemplo | ilustrar |
|---|---|---|---|
| enfermedad_sintom | Síntomas de la enfermedad | ¿Cuáles son los síntomas del cáncer de mama? | Relaciones entre diferentes entidades |
| síntoma_disasa | Encontrar posibles enfermedades con síntomas conocidos | ¿Cuál es el problema de una secreción nasal? | Relaciones entre diferentes entidades |
| enfermedad_prause | Causas de la enfermedad | ¿Por qué algunas personas sufren de insomnio? | Propiedades de la entidad |
| Enfermedad_acomposición | Complicaciones de la enfermedad | ¿Cuáles son las complicaciones del insomnio? | Relaciones entre entidades similares |
| enfermedad_not_food | Alimentos que requieren alimentos para evitar alimentos | ¿Qué deben comer las personas con insomnio? | Relaciones entre diferentes entidades |
| enfermedad_do_food | ¿Qué alimentos se recomiendan para enfermedades? | ¿Qué debo comer si tengo tinnitus? | Relaciones entre diferentes entidades |
| Food_not_disease | ¿Qué enfermedad es mejor no comer algo? | ¿Quién es la mejor persona para comer miel? | Relaciones entre diferentes entidades |
| Food_do_disease | ¿Qué enfermedad es buena para la comida? | ¿Cuáles son los beneficios de la carne de ganso? | Relaciones entre diferentes entidades |
| enfermedad_drug | ¿Qué medicina debo tomar para cualquier enfermedad? | ¿Qué medicamento debo tomar para la enfermedad hepática? | Relaciones entre diferentes entidades |
| Drug_disease | ¿Qué enfermedades pueden curar los medicamentos? | ¿Qué enfermedades pueden curar los gránulos de raíz isatis? | Relaciones entre diferentes entidades |
| Enfermedad_escho | Qué pruebas se necesitan para la enfermedad | ¿Cómo se puede detectar la meningitis? | Relaciones entre diferentes entidades |
| check_disease | ¿Qué enfermedad se puede detectar en el examen? | ¿Qué se puede detectar mediante un recuento completo de glóbulos de sangre? | Relaciones entre diferentes entidades |
| enfermedad_prevent | Medidas preventivas | ¿Cómo prevenir la deficiencia renal? | Propiedades de la entidad |
| enfermedad_lasttime | Ciclo de tratamiento | ¿Cuánto tiempo se tarda en hacer un resfriado? | Propiedades de la entidad |
| enfermedad_creway | Método de tratamiento | ¿Cómo tratar la hipertensión? | Propiedades de la entidad |
| enfermedad_cureprob | Probabilidad de cura | ¿Se puede curar la leucemia? | Propiedades de la entidad |
| enfermedad_asyget | Personas con susceptibilidad a las enfermedades | ¿Quién es propenso a la hipertensión? | Propiedades de la entidad |
| enfermedad_desc | Descripción de la enfermedad | ¿Qué es la diabetes? | Propiedades de la entidad |
| enfermedad_getprob (todo) | Probabilidad de enfermedad | ¿Qué tan alta es la prevalencia de la diabetes? | Propiedades de la entidad |
(1) Reconocimiento de referencia: coincidencia basada en diccionario + NER basado en Bert_CRF, tome más tiempo como las palabras de mención.
(2) Enlace de entidad: basado en la coincidencia semántica de Sbert, se almacena la incrustación del diccionario, la coincidencia del diccionario entre las palabras de mención y el diccionario de dominio. La entidad candidata con la similitud TOP20 combina palabras superpuestas, y la entidad candidata con la similitud top20 y las palabras superpuestas con los tiempos de mención es mayor o igual a la mitad de la longitud de la palabra mención, que se considera la entidad objetivo.
(3) Reconocimiento de intención: basado en palabras de preguntas + diccionario de dominio. Por ejemplo, en la pregunta "¿Qué son los ojos secos?", La palabra menciona "síntoma: ojos secos" y la pregunta de la enfermedad "enfermedad". Se cree que la intención de hacer la pregunta es síntoma_disasa: encontrar posibles enfermedades con síntomas conocidos.

La combinación de métodos de correspondencia de Bert y Diccionario de dominio para obtener los síntomas en la consulta mencionan "hinchazón de la mucosa de la nariz".

La coincidencia de la entidad objetivo "hinchazón de la mucosa de la nariz" con la oración de Sbert se usa para que coincida con la entidad objetivo "hinchazón de la mucosa de la nariz".




Identifique una o más palabras de referencia en la pregunta, vincule a la correspondiente una o más entidades de KG y devuelva la respuesta de consulta en combinación con los resultados del reconocimiento de la intención.

Este error ocurre:
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
Consulte 5 , use la función de carga de def de ./site-package/torch/serialization.py para usar def load(f, map_location='cpu', pickle_module=pickle, **pickle_load_args): en lugar de def load(f, map_location=None, pickle_module=pickle, **pickle_load_args):
https://github.com/liuhuanyong/qasystemonmedicalkg ↩
https://github.com/lonepatient/bert-ner-pytorch ↩
https://github.com/ukplab/sentence-transformers ↩
https://github.com/jiangnanboy/movie_knowledge_graph_app ↩
https://stackoverflow.com/questions/56369030/runtimeerror-attempting-te-enterialize-object-on-a-cuda-device ↩