Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yao8839836/PTM
A Topic Modeling Approach for Traditional Chinese Medicine Prescriptions. TKDE 2018
https://github.com/yao8839836/PTM
herbs knowledge prescriptions symptoms topic-modeling traditional-chinese-medicine
Last synced: about 1 month ago
JSON representation
A Topic Modeling Approach for Traditional Chinese Medicine Prescriptions. TKDE 2018
- Host: GitHub
- URL: https://github.com/yao8839836/PTM
- Owner: yao8839836
- Created: 2016-02-02T09:51:39.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-11-30T16:54:56.000Z (about 5 years ago)
- Last Synced: 2024-11-10T14:17:23.963Z (about 1 month ago)
- Topics: herbs, knowledge, prescriptions, symptoms, topic-modeling, traditional-chinese-medicine
- Language: Java
- Homepage:
- Size: 19.8 MB
- Stars: 62
- Watchers: 2
- Forks: 26
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-topic-models - PTM - Prescription Topic Model for Traditional Chinese Medicine Prescriptions [:page_facing_up:](https://ieeexplore.ieee.org/abstract/document/8242679) (interesting benchmark models) (Models / Exotic models)
README
# PTM
The dataset and implementation of Prescription Topic Model in our paper:
Liang Yao, Yin Zhang, Baogang Wei, Wenjin Zhang, Zhe Jin. (2018). "A Topic Modeling Approach for Traditional Chinese Medicine Prescriptions". IEEE Transactions on Knowledge and Data Engineering (TKDE) 30(6), pp.1007-1021.
# Require
Java 7 or above, I use Java 8 in this project.Eclipse
# Data
The Copyright holder of the dataset is [China Knowledge
Centre for Engineering Sciences and Technology (CKCEST)](http://zcy.ckcest.cn/tcm/). The dataset is for research use only. Any commercial use, sale, or other monetization is prohibited.98,334 raw prescriptions with herbs and symptoms are in `/data/prescriptions.txt` . Each line is for a prescription, symptoms are on the left and herbs are on the right.
The preprocessed 33,765 prescriptions: `/data/pre_herbs.txt`, `/data/pre_symptoms.txt`.
`Training set`: `/data/pre_herbs_train.txt`, `/data/pre_symptoms_train.txt`
`Test set`: `/data/pre_herbs_test.txt`, `/data/pre_symptoms_test.txt`
Note:
1. Each line in above files is for a prescription, the same line in `/data/pre_herbsX.txt` and `/data/pre_symptomsX.txt` (X is _train or _test or ' ' ) is for the same prescription.2. Each number in above files means an herb or a symptom, each number is an index of the following herb list or symptom list. For example, '5' in `/file/pre_herbs_train.txt` means the 6th herb in the herb list `/data/herbs_contains.txt`, '17' in `/file/pre_symptoms_train.txt` means the 18th symptom in the symptom list `/data/symptom_contains.txt`.
Herb list: `/data/herbs_contains.txt`
Symptom list: `/data/symptom_contains.txt`
TCM MeSH herb-symptom correspondence knowledge: `/data/symptom_herb_tcm_mesh.txt`
Symptom Category: `/data/symptom_category.txt`
# Demo
`PTM(a)`: /src/test/RunPTMa.java (reproducing prescribing patterns discovery results)
`PTM(b)`: /src/test/RunPTMb.java
`PTM(c)`: /src/test/RunPTMc.java
`PTM(d)`: /src/test/RunPTMd.java
# Herbs and symptoms prediction/recommendation tasks
(reproducing herbs/symptoms predictive perplexity and precision@N results)`PTM(a)`: /src/test/PTMaPredict.java
`PTM(b)`: /src/test/PTMbPredict.java
`PTM(c)`: /src/test/PTMcPredict.java
`PTM(d)`: /src/test/PTMdPredict.java
# Topic herb precision
/src/test/TopicPrecisionSymToHerb.java
# Prescription predictive perplexity
`PTM(a)`: src/perplexity/PTMaPerplexity.java
`PTM(b)`: src/perplexity/PTMbPerplexity.java
`PTM(c)`: src/perplexity/PTMcPerplexity.java
`PTM(d)`: src/perplexity/PTMdPerplexity.java
# Topic symptom coherence/src/test/TopicKnowCoherence.java