Radiology reports의 Causal relationship
Informatics in Radiology: Radiology Gamuts Ontology: Differential Diagnosis for the Semantic Web
Charles E. Kahn, Jr., 교수님께서 스탠포드에 방문하셔서 좋은 강의를 해주셨다.
아래는 발표를 들으면서 정리한 내용이다.
Radiology reports의 text data와, Bayesian network를 활용해서,
Pair-wise statistics보다 더 좋은 Ontology간의 causal relationship을 추론하는 연구이다.
JOURNAL OF THE AMERICAN MEDICAL INFORMATICS ASSOCIATION (JAMIA)에 실린 논문
이 저널은 IF가 막 높진 않지만, 사실상 medical informatics 분야의 탑저널.
Radiology Gamuts Ontology (RGO)
The Radiology Gamuts Ontology (RGO) is a formal knowledge model of differential diagnoses in radiology that includes 1674 differential diagnoses,
19,017 terms, and 52,976 links between terms.Jan 1, 2014
16839 disorders, interventions,
RGO는 방사선학에서 차별 진단을 위한 지식 모델이다.
1,674개의 차별 진단, 19,017개의 용어, 그리고 이 용어들 간의 52,976개의 연결을 포함
연구에서 분석된 RGO의 질병과 영상 소견은 16,839개이다
주요한 RGO의 Ontology term들의 정의는 다음의 데이터들을 포함
RadLex, SNOMED Clinical Terms, the Disease Ontology, Human Phenotype Ontology,, Orphanet Rare Disease Ontology
Named entity recognition (NER)
Named entity를 정리하는 전처리는, 이 연구에서 사실상 가장 중요한 부분이다.
예를 들어, "galstones" 이란 단어는 다음과 같이 reports에 나타날 수 있다.
- gallstone
- gall stone
- gall stones
- cholelithiasis
- cholelith
- choledocholithiasis
- cholecystolithiasis
- gallbaldder calculus
....
따라서, radiology reports에서 RGO(Radiology Gamuts Ontology)를 인식하기 위해
자연어 처리(NLP)의 하위 유형인 명명된 엔티티 인식(NER)을 수행하였다.
또한, 각 단어를 확장하여 구문을 포함시키는 과정을 Query expansion이라 한다.
Query expansion: (동의어, 어휘변형, 등등 단어로부터 개념 확장)
이 과정에서 RGO 자체의 동의어뿐만 아니라 RadLex 및 SNOMED Clinical Terms와 같은 연결된 온톨로지의 동의어도 포함하였고, Nuance mPower와 같은 상용 텍스트 검색 알고리즘을 사용하였다.
# Commercial radiology-report search tool (Nuance mPower)
- RGO Entities
각 환자에 대한 Radiology Reports를, 35071개의 entity로 matrix를 만든 결과.
환자는 1,396,293명.
각 점은 RGO entity가 radiology reports에 존재함을 의미함.
정말 sparse 한 matrix가 만들어진다.
Causality
인과성에 대한 이해: 간단히 말해, 'A가 B를 일으킨다'는 것을 의미한다.
- 사전 확률(Prior Probability) P(B): 이는 B가 일어날 기본적인 확률입니다. 다른 어떤 정보 없이 B가 발생할 확률을 나타냅니다.
- 조건부 확률(Conditional Probability) P(B|A): A가 주어졌을 때 B가 일어날 확률입니다. 이 확률은 A가 발생한 후에 B가 발생할 확률을 나타냅니다.
A causes B라는 가정 하에,
P(B|A) >= P(B)
B가 일어날 Prior probability보다, A가 주어졌을 때 B가 일어날 Posterior probability가 당연히 높아야한다.
조건부 확률 Conditional probability: P(B|A) = P(B, A) / P(A)
Pairwise statistics
Phi coefficient (Φ)
Cohen's kappa (κ)
이러한 지표들은 두 변수 간의 관계의 강도나 일관성을 수치적으로 나타낸다.
Confounding factors
Correlation is not Calsuality
보통 Icecream을 먹으면, 상어에게 물린다! 라는 농담을 많이 얘기하는데,
사실 아이스크림 소비량은 상어공격에 절대 causal factor가 될 수 없다.
단순히 association일 뿐, A가 B를 일으킨다는 개념이 포함되지 않는다.
# Bayesian networks (Thomas bayes)
이 논문에서는 causality inference를 bayesian network를 활용하여 수행하였다.
Scutari, Marco. "Learning Bayesian networks with the bnlearn R package." arXiv preprint arXiv:0908.3817 (2009).
https://www.bnlearn.com/examples/
Score functions: computing & comparing
- Loading the reference data sets
- Computing a network score
- Testing score equivalence
베이지안 네트워크의 구조 학습 과정에서 네트워크의 가능한 구조들을 평가하기 위해 사용되는 함수.
Bayesian Information Criterion (BIC)는 네트워크가 얼마나 데이터를 잘 설명하는지 (적합도), 그리고 파라미터 수를 고려해서 계산되고, 가장 점수가 낮은 네트워크를 추론한다. (최적의 네트워크 구조 추론)
노드 (Nodes): 각 노드는 RGO의 한 엔티티를 의미. (특정 질병, 진단, 표현형, 임상변수 등등)
엣지 (Edges): 엣지는 두 엔티티 간의 가능한 인과 관계.
Node: included RGO entities
(states = present, absent)
BIC를 직접 써본적은 없지만, 내가 이해하기로는
반복(iteration)에 따라, 정의된 Node간의 아크(엣지)를 삽입, 제거 또는 반전시키며,
네트워크의 BIC 점수를 계산하여 가장 적합한 네트워크 구조의 적합성을 평가.
이렇게 예측된 각 노드간의 인과관계를 간단한 pair-wise statistics에서 활용하는 통계로 성능 검증.
Uncertain variables: such as diagnosis
Observable variables, such as physical findings, lab test results, and imaging fnds
얘기하다 갑자기 bayesian theory 기초적인 부분을 얘기하는데, 생각없이 적었는데 너무 기본적인 내용..
Bayes Net: A graph (node, edge)
Node: represnet stochastic variables
Edge: between nodes indicate probabilisitc influence
- directed, acycle
[Brest cancer]
- Present (1.0%)
- Absent (99.0%)
condition: Mammograpm
Posterior probability
Confusion matrix by mammography
Yes: 8.3%
No: 91.7%
데이터가 워낙 sparse 하고, rare event가 네트워크에 악영향을 끼칠 것이므로,
Exclude entities seen in <25 patients 하여 학습 진행
The Bayesian network algorithm evaluated more than 12,440,441 possible associations;
the final model identified 725 pairs of probabilistically related entities.
bnlearn hill-clmbing algorithm
Bayesian Information Criterion (BIC) for network scores
Scutari M. Learning Bayesian networks with the bnlearn R package. J Stat Soft 2010; 35 (3): 1–22. doi: 10.18637/jss.v035.i03.
No pre-seeded graph, no domain knowledge
Threshold p<0.5
RGO, Physician review를 기반으로 Ground truth 결정
(RGO and/or physician consensus served as ground truth)
PPV( Precision ) = 634/725 (87%)
recall (Sensitivity) = 216/3804 (5.7%)
specificity = 1
Positive Likelihood Ratio (PLR) = 6876
Algorithm increased the odds of detected a true causal association
-> Specificity는 100%, 그러나 낮은 Sensitivty. 얼마나 challenging한 문제인지 알 수 있음.
## Discussion
One can discover causal relations from text!
Bayes nets > Pairwise statistics
- able to exclude confounding variables
Sparseness of data limits analysis
Cirrhosis: 5275 patients (0.38%)
** Future work
More data : ~20M reports each from Penn + Mayo
More entities
- Gamuts, RadLex, SNOMED CT, DO, HOP
More sophisticated analysis
LLM model to improve negex detection
질의 시간에 ChatGPT 관련된 많은 얘기가 있었는데,
chatGPT가 무슨 전력소모가 얼마나 많고 이런얘기들 하고있었다.
또한 Radiology department의 informatics 하시는 분들이 많이 오셔서,
Medical image로부터 text를 추출하는 등의 연구에 대한 얘기들이 있었는데,
솔직히 전혀 흥미롭지 않았다.