← all repositories
wangle1218/KBQA-for-Diagnosis

A medical chatbot that runs on your WeChat account

A Chinese medical diagnosis QA system wired into WeChat via itchat, built on Neo4j and BERT for intent recognition.

1.5k stars Python RAG · SearchLanguage Models
KBQA-for-Diagnosis
Not currently ranked — collecting fresh signals.
star history

What it does This is a knowledge-graph-powered question-answering system for medical diagnosis. It uses Neo4j to store disease knowledge, BERT (via bert4keras) for intent recognition, and BiLSTM-CRF for named entity recognition. The whole thing is glued together with Flask and exposed through WeChat using itchat, so you chat with it like a friend.

The interesting bit The author explicitly calls this a “minimum demo version” — context is stored in JSON files instead of Redis, and there’s no entity linking, so you must type disease names exactly as they appear in the dictionary. The honesty is refreshing; most repos would pretend otherwise.

Key highlights

  • Intent recognition uses a BERT-based model (weights hosted on Baidu Pan, ~GB-sized download)
  • NER handled by BiLSTM-CRF; disease entities must match exactly — no fuzzy matching
  • Knowledge base runs on Neo4j 4.2.2 with py2neo
  • WeChat integration via itchat requires an old enough account to support web WeChat
  • TensorFlow 1.14 and Keras 2.3.1 — decidedly retro stack

Caveats

  • No entity linking means “diabetes” must be typed precisely; synonyms or misspellings fail
  • Context persistence is JSON-file-based, not real-time
  • Several dependencies are pinned to versions with known security issues (Flask 1.1.1, TensorFlow 1.14)
  • Setup involves manual Baidu Pan downloads, path tweaks, and bat-file orchestration

Verdict Good for Chinese NLP learners who want a concrete, video-documented KBQA pipeline to dissect. Skip if you need production reliability or modern dependency hygiene; the author admits it’s a teaching demo, not a deployment-ready system.

Frequently asked

What is wangle1218/KBQA-for-Diagnosis?
A Chinese medical diagnosis QA system wired into WeChat via itchat, built on Neo4j and BERT for intent recognition.
Is KBQA-for-Diagnosis open source?
Yes — wangle1218/KBQA-for-Diagnosis is an open-source project tracked on heatdrop.
What language is KBQA-for-Diagnosis written in?
wangle1218/KBQA-for-Diagnosis is primarily written in Python.
How popular is KBQA-for-Diagnosis?
wangle1218/KBQA-for-Diagnosis has 1.5k stars on GitHub.
Where can I find KBQA-for-Diagnosis?
wangle1218/KBQA-for-Diagnosis is on GitHub at https://github.com/wangle1218/KBQA-for-Diagnosis.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.