Saat membangun grafik pengetahuan medis dan pertanyaan dan jawaban otomatis, lihat item 1 . Optimalisasi berikut telah dibuat dalam membangun grafik pengetahuan medis dan sistem tanya jawab:
Setelah membangun grafik pengetahuan dan sistem tanya jawab, interaksi front-end dan tampilan KG ditambahkan, menggunakan peta Echart yang dipandu oleh kekuatan. Proyek Referensi Implementasi 4 .
neo4j-community-4.1.4 % bin/neo4j start
medical_knowledge_graph_app-master % python med_kg/manage.py runserver
Diagram antarmuka fungsi IMG
KG/Persiapan_Data File Crawler
kg/data/medis_rebuild.json data yang diproses akhir
kg/build_medicalgraph.py membuat database grafik neo4j
model tautan entitas med_kg/el_model
med_kg/el_model/embedding kata embedding representasi penyakit/obat/gejala kamus
Med_kg/el_model/entity_linking.py Entity Link Script
Med_kg/Med_Kg Tampilan Kerangka Django dan File Konfigurasi
Med_kg/Templat Templat Templat Django Framework
file bootstrap front-end med_kg/statis
MED_KG/NER_MODEL Model pengenalan entitas entitas
med_kg/ner_model/model kode model model pengenalan entitas
MED_KG/NER_MODEL/Data data untuk model pelatihan
Med_kg/ner_model/kerugian fungsi kerugian untuk model pelatihan
med_kg/ner_model/outpus/1101medselfner-finetune model disetel halus (dilatih)
Med_kg/ner_model/prev_trained_model model pretrained untuk pytorch
alat med_kg/util, awal yang dingin
med_kg/skrip model untuk berinteraksi dengan database grafik neo4j
Med_kg/MedModel Pertanyaan dan Jawaban Otomatis
med_kg/medmodel/question_classifier.py niat skrip pengakuan
med_kg/medmodel/question_parser.py skrip yang mengubah kata -kata penyebutan yang diidentifikasi dan maksud menjadi pernyataan kueri
med_kg/medmodel/ansages_search.py query grafik database untuk mengembalikan jawaban
MED_KG/MEDMODEL/DICTIONARY DOMAIN DICT
Angka '*' menunjukkan item yang berubah berdasarkan proyek asli
| Tipe entitas | Makna Cina | Jumlah entitas | Berikan contoh |
|---|---|---|---|
| Memeriksa | Item pemeriksaan diagnostik | 3.353 | Bronkografi; Arthroscopy |
| Departemen | Subjek medis | 54 | Departemen bedah plastik; Departemen Bakar |
| Penyakit | penyakit | 8.807 | Vaskulitis tromboositik; turun aneurisma aorta dada |
| Obat | obat | 3.828 | Krim wasir Jingwanhong; Drops mata Brintzoamine |
| Makanan | makanan | 4.870 | Tomat dan sayuran Sup Bola Daging Sapi; Tunas bambu direbus dengan domba |
| Produsen | Kategori utama obat -obatan | 17.201 | Tongyao Farmasi Penicillin v Tablet Kalium; Tablet qingyang dexamethasone asetat |
| Gejala* | Gejala penyakit | 4.377 | Hipertrofi jaringan payudara; pendarahan dalam di parenkim otak |
| Total | total | 44.111 | Sekitar 44.000 entitas |
Angka '*' menunjukkan item yang berubah berdasarkan proyek asli
| Jenis Hubungan Entitas | Makna Cina | Jumlah hubungan | Berikan contoh |
|---|---|---|---|
| milik_to | milik | 8.844 | <Ginekologi, Milik, Obstetri dan Ginekologi> |
| common_drug | Obat -obatan umum untuk penyakit | 14.649 | <Yangqiang, umumnya digunakan, Phentolamine methanesulfonate tersebar tablet> |
| do_eat | Makan makanan saat Anda sakit | 22.238 | <Fraktur suplen, cocok untuk makan, ikan hitam> |
| narkoba_of | Obat -obatan Dijual | 17.315 | <Penicillin v Tablet Kalium, Dijual, Tongyao Farmasi Penicillin v Tablet Kalium> |
| Need_check | Tes penyakit | 39.422 | <Emfisema unilateral, pemeriksaan yang diperlukan, bronkografi> |
| no_eat | Hindari makan makanan di penyakit | 22.247 | <Penyakit bibir, hindari makan, almond> |
| Direkomendasikan_Drug | Obat -obatan yang Disarankan untuk Penyakit | 59.467 | <Campuran wasir, obat yang disarankan, krim wasir jingwanhong> |
| Direkomendasikan_Eat | Resep yang disarankan untuk penyakit | 40.221 | <Halvesting, resep yang disarankan, sup tomat dan bola daging sapi> |
| has_symptom* | Gejala penyakit | 99.492 | <Kanker payudara dini, gejala penyakit, hipertrofi jaringan payudara> |
| Acompany_with | Penyakit dan penyakit | 12.029 | <Insufisiensi penutupan katup dari tungkai bawah vena lalu lintas, komplikasi penyakit, vaskulitis tromboositik> |
| Total | total | 294.149 | Sekitar 300.000 Hubungan Hubungan |
| Jenis atribut | Makna Cina | Berikan contoh |
|---|---|---|
| nama | Nama Penyakit | Mengi bronkitis |
| desc | Pendahuluan Penyakit | Juga dikenal sebagai bronkitis asma ... |
| Menyebabkan | Penyebab penyakit | Yang umum termasuk virus syncytial ... |
| mencegah | Tindakan pencegahan | Perhatikan sejarah alergi keluarga dan anak -anak ... |
| Cure_Lasttime | Siklus pengobatan | 6-12 bulan |
| Cure_way | Metode pengobatan | "Pengobatan pengobatan", "pengobatan suportif" |
| Cured_prob | Probabilitas penyembuhan | 95% |
| Easy_get | Orang dengan kerentanan terhadap penyakit | Tidak ada kerumunan khusus |
| Jenis pertanyaan | Makna Cina | Tanyakan contoh | menjelaskan |
|---|---|---|---|
| penyakit_symptom | Gejala penyakit | Apa gejala kanker payudara? | Hubungan antara entitas yang berbeda |
| gejala_disease | Temukan kemungkinan penyakit dengan gejala yang diketahui | Apa masalah memiliki hidung berair? | Hubungan antara entitas yang berbeda |
| penyakit_cause | Penyebab penyakit | Mengapa beberapa orang menderita insomnia? | Properti Entitas |
| penyakit_acompany | Komplikasi penyakit ini | Apa komplikasi insomnia? | Hubungan antara entitas serupa |
| penyakit_not_food | Makanan yang membutuhkan makanan untuk menghindari makanan | Apa yang seharusnya tidak dimakan oleh orang dengan insomnia? | Hubungan antara entitas yang berbeda |
| penyakit_do_food | Makanan apa yang direkomendasikan untuk penyakit | Apa yang harus saya makan jika saya menderita tinitus? | Hubungan antara entitas yang berbeda |
| food_not_disease | Penyakit apa yang terbaik untuk tidak makan sesuatu | Siapa orang terbaik untuk makan madu? | Hubungan antara entitas yang berbeda |
| food_do_disease | Penyakit apa yang baik untuk makanan | Apa manfaat daging angsa? | Hubungan antara entitas yang berbeda |
| penyakit_drug | Obat apa yang harus saya minum untuk penyakit apa pun | Obat apa yang harus saya minum untuk penyakit hati? | Hubungan antara entitas yang berbeda |
| narkoba_disease | Penyakit apa yang bisa disembuhkan oleh obat -obatan | Penyakit apa yang bisa disembuhkan oleh Granules Root Isatis? | Hubungan antara entitas yang berbeda |
| penyakit_check | Tes apa yang dibutuhkan untuk penyakit | Bagaimana meningitis dapat terdeteksi? | Hubungan antara entitas yang berbeda |
| check_disease | Penyakit apa yang dapat dideteksi dalam pemeriksaan | Apa yang dapat dideteksi dengan jumlah sel darah lengkap? | Hubungan antara entitas yang berbeda |
| penyakit_prevent | Tindakan pencegahan | Bagaimana cara mencegah kekurangan ginjal? | Properti Entitas |
| penyakit_lasttime | Siklus pengobatan | Berapa lama waktu yang dibutuhkan untuk masuk angin? | Properti Entitas |
| penyakit_cureway | Metode pengobatan | Bagaimana cara mengobati hipertensi? | Properti Entitas |
| penyakit_cureprob | Probabilitas penyembuhan | Bisakah leukemia disembuhkan? | Properti Entitas |
| penyakit_easyget | Orang dengan kerentanan terhadap penyakit | Siapa yang rentan terhadap hipertensi? | Properti Entitas |
| penyakit_desc | Deskripsi penyakit | Apa itu diabetes? | Properti Entitas |
| penyakit_getprob (todo) | Kemungkinan penyakit | Seberapa tinggi prevalensi diabetes? | Properti Entitas |
(1) Pengakuan Referensi: Pencocokan Berbasis Kamus + NER Berdasarkan BERT_CRF, ambil lebih lama keduanya sebagai kata-kata yang disebutkan.
(2) Tautan Entitas: Berdasarkan pencocokan semantik Sbert, penyematan kamus disimpan, kecocokan kamus antara kata -kata yang disebutkan dan kamus domain. Entitas kandidat dengan kesamaan TOP20 menggabungkan kata -kata yang tumpang tindih, dan entitas kandidat dengan kesamaan TOP20 dan kata -kata yang tumpang tindih dengan waktu yang disebutkan lebih besar dari atau sama dengan setengah dari panjang kata yang disebutkan, yang dianggap sebagai entitas target.
(3) Pengakuan Niat: Berdasarkan kata -kata pertanyaan + kamus domain. Misalnya, dalam pertanyaan "Apa itu mata kering?", Kata yang disebutkan "gejala: mata kering" dan pertanyaan penyakit "penyakit". Dipercayai bahwa niat untuk mengajukan pertanyaan adalah gejala_disease: Temukan kemungkinan penyakit dengan gejala yang diketahui.

Menggabungkan metode pencocokan kamus Bert dan domain untuk mendapatkan gejala dalam permintaan menyebutkan "pembengkakan mukosa hidung".

Pencocokan entitas target "pembengkakan mukosa hidung" dengan kalimat Sbert digunakan untuk mencocokkan entitas target "pembengkakan mukosa hidung".




Identifikasi satu atau lebih kata referensi dalam pertanyaan, tautkan ke satu atau lebih entitas kg yang sesuai, dan kembalikan jawaban kueri dalam kombinasi dengan hasil pengakuan niat.

Bug ini terjadi:
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.
Lihat 5 , gunakan fungsi beban def ./site-package/torch/serialization.py untuk menggunakan def load(f, map_location='cpu', pickle_module=pickle, **pickle_load_args): bukannya def load(f, map_location=None, pickle_module=pickle, **pickle_load_args):
https://github.com/liuhuanyong/qasystemonmedicalkg ↩
https://github.com/lonepatent/bert-ner-pytorch ↩
https://github.com/ukplab/sentence-transformers ↩
https://github.com/jiangnanboy/movie_knowledge_graph_app ↩
https://stackoverflow.com/questions/56369030/runtieerror-Attempting-to-deserialize-Object-on-a-cuda-device ↩