diff --git a/_config.yml b/_config.yml index af7d57221b02..a88f59e3c46a 100644 --- a/_config.yml +++ b/_config.yml @@ -12,23 +12,23 @@ # theme : "minimal-mistakes-jekyll" # remote_theme : "mmistakes/minimal-mistakes" -minimal_mistakes_skin : "default" # "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise" +minimal_mistakes_skin : "contrast" # "default", "air", "aqua", "contrast", "dark", "dirt", "neon", "mint", "plum", "sunrise" # Site Settings -locale : "en-US" +locale : "ko-KR" rtl : # true, false (default) # turns direction of the page into right to left for RTL languages -title : "Site Title" -title_separator : "-" +title : "Blog" +title_separator : "|" subtitle : # site tagline that appears below site title in masthead -name : "Your Name" -description : "An amazing website." -url : # the base hostname & protocol for your site e.g. "https://mmistakes.github.io" +name : "Choi Sunmi" +description : # "An amazing website." +url : "https://choisunmi00.github.io" baseurl : # the subpath of your site, e.g. "/blog" repository : # GitHub username/repo-name e.g. "mmistakes/minimal-mistakes" teaser : # path of fallback teaser image, e.g. "/assets/images/500x300.png" logo : # path of logo image to display in the masthead, e.g. "/assets/images/88x88.png" masthead_title : # overrides the website title displayed in the masthead, use " " for no title -breadcrumbs : # true, false (default) +breadcrumbs : true # true, false (default) words_per_minute : 200 enable_copy_code_button : # true, false (default) copyright : # "copyright" name, defaults to site.title @@ -113,11 +113,11 @@ analytics: # Site Author author: - name : "Your Name" + name : # "Choi Sunmi" avatar : # path of avatar image, e.g. "/assets/images/bio-photo.jpg" - bio : "I am an **amazing** person." - location : "Somewhere" - email : + bio : # "I am an **amazing** person." + location : # "Somewhere" + email : # "ebebeb@gmail.com" links: - label: "Email" icon: "fas fa-fw fa-envelope-square" @@ -141,24 +141,24 @@ author: # Site Footer footer: links: - - label: "Twitter" - icon: "fab fa-fw fa-twitter-square" - # url: - - label: "Facebook" - icon: "fab fa-fw fa-facebook-square" - # url: + # - label: "Twitter" + # icon: "fab fa-fw fa-twitter-square" + # # url: + # - label: "Facebook" + # icon: "fab fa-fw fa-facebook-square" + # # url: - label: "GitHub" icon: "fab fa-fw fa-github" - # url: - - label: "GitLab" - icon: "fab fa-fw fa-gitlab" - # url: - - label: "Bitbucket" - icon: "fab fa-fw fa-bitbucket" - # url: - - label: "Instagram" - icon: "fab fa-fw fa-instagram" - # url: + url: "https://github.com/choisunmi00" + # - label: "GitLab" + # icon: "fab fa-fw fa-gitlab" + # url: + # - label: "Bitbucket" + # icon: "fab fa-fw fa-bitbucket" + # # url: + # - label: "Instagram" + # icon: "fab fa-fw fa-instagram" + # # url: # Reading Files @@ -290,16 +290,16 @@ tag_archive: type: liquid path: /tags/ # https://github.com/jekyll/jekyll-archives -# jekyll-archives: -# enabled: -# - categories -# - tags -# layouts: -# category: archive-taxonomy -# tag: archive-taxonomy -# permalinks: -# category: /categories/:name/ -# tag: /tags/:name/ +jekyll-archives: + enabled: + - categories + - tags + layouts: + category: archive-taxonomy + tag: archive-taxonomy + permalinks: + category: /categories/:name/ + tag: /tags/:name/ # HTML Compression @@ -323,3 +323,6 @@ defaults: comments: # true share: true related: true + show_date: true + +date_format: "%Y-%m-%d" diff --git a/_data/navigation.yml b/_data/navigation.yml index 6f30866f3bed..8df451e1393e 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -1,7 +1,9 @@ # main links main: - - title: "Quick-Start Guide" - url: https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/ + - title: "Categoty" + url: /categories/ + # - title: "Quick-Start Guide" + # url: https://mmistakes.github.io/minimal-mistakes/docs/quick-start-guide/ # - title: "About" # url: https://mmistakes.github.io/minimal-mistakes/about/ # - title: "Sample Posts" diff --git a/_pages/404.md b/_pages/404.md new file mode 100644 index 000000000000..b3025a6053b5 --- /dev/null +++ b/_pages/404.md @@ -0,0 +1,8 @@ +--- +title: "Page Not Found" +excerpt: "Page not found. Your pixels are in another canvas." +sitemap: false +permalink: /404.html +--- + +Sorry, but the page you were trying to view does not exist. diff --git a/_pages/category-archive.md b/_pages/category-archive.md new file mode 100644 index 000000000000..9b0c679a9685 --- /dev/null +++ b/_pages/category-archive.md @@ -0,0 +1,7 @@ +--- +title: "Category" +layout: categories +permalink: /categories/ +athor_profile: true +sidebar_main: true +--- \ No newline at end of file diff --git a/_pages/tag-archive.md b/_pages/tag-archive.md new file mode 100644 index 000000000000..eaf9e8856f61 --- /dev/null +++ b/_pages/tag-archive.md @@ -0,0 +1,7 @@ +--- +title: "Tag" +layout: tags +permalink: /tags/ +athor_profile: true +sidebar_main: true +--- \ No newline at end of file diff --git a/_posts/2024-11-20-reguloGPT.md b/_posts/2024-11-20-reguloGPT.md new file mode 100644 index 000000000000..3bbd816e7999 --- /dev/null +++ b/_posts/2024-11-20-reguloGPT.md @@ -0,0 +1,217 @@ +--- +layout: single +title: reguloGPT +categories: paper +toc: true +toc_depth: 1 +--- + +# 논문 리뷰: reguloGPT + +[reguloGPT: Harnessing GPT for Knowledge Graph Construction of Molecular Regulatory Pathways ](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10836076/) + + + +--- +## Background + +- MRP: Molecualr Regulartory Pathways(분자 조절 경로). +- KG: Knowledge Graph(지식 그래프). 개체, 사건 또는 개념과 같은 실체에 대한 상호 연결된 설명 모음 +- end-to-end learning: 입력에서 출력까지 파이프라인 네트워크 없이 신경망으로 한 번에 처리. 양끝단 상에서 라벨링된 데이터가 많을 때 잘 동작하는 경향이 있다. +- m6A(N6-methyladenosine): mRNA(단백질 설계도)에 부여하는 화학적 변형. 유전자 발현을 조절하기 위한 기작. +- ICL: in-context learning. +- outdegree: 방향성 그래프에서 node로부터 시작하는 고유한 edge. +{: .fs-3 } + +## 0. Abstract + +- Motivation: MRP에 대한 KG 구축이 현재로선 미미하다. + +- Results: reguloGPT의 문헌에서 생물학적 지식 추출 가능성 + reguloGPT 통한 예측 -> m6A-KG 구축 -> m6A 조절 메커니즘 밝힘. + 컨텍스트 인식 관계형 그래프 도입 / m6A 제목 및 벤치마크 데이터 세트 제작 + G-Eval 체계: 성능 평가 위해 GPT-4를 활용. 기존 주석 기반 평가와 일치. + +- Availability and implementation: + reguloGPT의 소스 코드, m6A 관련 제목 및 벤치마크 데이터 세트, m6A-KG + https://github.com/Huang-AI4Medicine-Lab/reguloGPT + +- Key words: MRP, KG, GPT, In Context Learning, m6A mRNA Methylation + +## 1. Introduction + +- 왜 필요한가 + MRP: 생물의학 연구 핵심. + KG: MRP를 위한 도구. KG는 복잡한 생물학적 지식을 구조화하여 표현한다. + -> 문헌에서 지식 추출 자동화: NLP(Natural Language Processing) 이용 + +- 현재는 어떤가 + 현재로서는 NLP를 통해 복잡한 MRP를 매핑하기에는 부적절하다. + + ![Fig. 1.](https://www.ncbi.nlm.nih.gov/pmc/articles/instance/10836076/bin/nihpp-2024.01.27.577521v1-f0001.jpg) + METTLL3가 위암의 진행을 조절하는 메커니즘을 전체적으로 설명 + MRP를 위해 이러한 그래프를 얻기 위해서는 기존 NLP, 컨텍스트 식별, NER(Named Entity Recignition), N항 RE(N-ary Relationship Extraction) 필요. + + 여러 시스템이 있지만 N항 RE는 생물의학 분야에서 충분히 탐구되지 못했다. + +- 이 논문에서는 + 주어진 문장에서 m6A methylation의 컨텍스트별 MRP를 위해 컨텍스트 인식 관계형 그래프의 end-to-end 구성에서 GPT-4 기능을 탐구한다. + - 논문의 기여 + 1. end-to-end joint NER, N-ary 위한 reguloGPT, GPT-4 구동 ICL prompt 제안. + reguloGPT에 대한 기준선인 few-shot 및 CoT 프롬프트 설계 + 2. 컨텍스트 인식 관계형 그래프 표현 도입 + 3. 벤치마크 데이터 세트 구축 + 4. 프롬프트의 성능 평가 + 5. G-Eval 체계 도입: 프롬프트를 활용하여 추출된 그래프를 평가 + 6. m6A-KG 구축: 2013-2023년 PubMed에서 수집한 문헌 제목에 reguloGPT 적용 + +## 2. Methods + +- reguloGPT: end-to-end 추출 위해 GPT-4 기반 ICL 활용. 6개의 모듈을 포함한다. + + ![Fig. 2.](https://www.ncbi.nlm.nih.gov/pmc/articles/instance/10836076/bin/nihpp-2024.01.27.577521v1-f0002.jpg) + PubMed에서 컨텍스트 인식 KG를 구축하기 쉽도록 reguloGPT를 설계 + +### A. reguloGPT에 대한 ICL 프롬프트 + ![Fig. 3.](https://www.ncbi.nlm.nih.gov/pmc/articles/instance/10836076/bin/nihpp-2024.01.27.577521v1-f0003.jpg) + +1) 기준 프롬프트 (A): 지침, 정의 및 출력 형식을 포함한 기준 프롬프트 + 1 - 작업 목표 제시 + 2 - node, edge, context, inferred edge 를 포함하여 컨텍스트 인식 관계형 그래프의 구성요소 정의 + 3 - 출력 형식. + +2) Few-shot 프롬프트 (B): 대상 문장과 출력(context, nodes, direct edges, inferred edges) + 1 - 지시, 2 - 정의, 3 - 데모, 4 - 출력의 형식 + 기준 프롬프트와 달리 정의 뒤에 추가 데모 섹션이 포함되어 있음. + +3) Chain-of-Thoughts(CoT) 프롬프트 (C): + LLM에게 복잡하고 논리적인 응답 장려. 중간 추론 단계를 사고의 사슬로 추가. + +### B. 벤치마크 및 지식 그래프 생성을 위한 데이터 세트 구축 + +- m6A 연구와 관련된 문헌의 제목 추출: PubMed, PtbTator 검색 및 사용. + 완전한 문장, 여러 유전자에 대한 참조를 포함하는 제목 -> m6A와 유전자/단백질 사이의 경로 매핑 + +1. 벤치마크 데이터세트에 대한 주석 방법 + 컴퓨터 과학과 생물의학 분야 전문가 5명을 주석자로 삼고 400개의 제목에 주석을 닮. 세 단계를 거침. + a. 연습 주석 단계 + b. 그룹 주석 단계 + c. 심사 단계 + +2. 주석 지침 + 연습 주석 단계에서의 기본 지침 요약 + +### C. nodes, predicates, context의 정규화 + +- node, context 정규화: Gilda, Gene Ontoloy knowledgebase. +- predicates 정규화: Ontological predicate definition. +- 관계 정규화: GPT-4 적용 및 수동 평가. + +### D. m6A-KG 구축 + +- 400개 제목의 벤치마크 데이터 세트 외에 PubTator에서 MRP에 관한 제목 968개 추가 추출. + 정규화된 관계 그래프를 벤치마크 데이터 세트의 그래프와 통합. + 포괄적인 KG인 m6A-KG 구축. + +- Neo4j를 이용한 KG 시각화 및 조작 + +### E. 평가 및 지표 기준 + +1) 벤치마크 데이터 세트 평가 + Precision 및 F1 score 지표 + + 예측된 node 및 edge를 평가하는 기준 + a. True positive: GPT-4의 예측 node가 벤치마크 주석과 완전히 일치할 경우 + b. False positive: node나 edge가 잘못 추출될 경우 혹은 node는 일치하지만 서술어가 올바르지 않거나 추출되지 않았을 경우 + c. False negative: 모든 node와 edge에 대한 예측이 일치하지 않았을 경우 + + +3) G-Eval 체계 + 수동 주석 작업을 자동화하기 위해 LLM 사용. + 프레임워크 GPT-4-evaluation 제안. + + ![Fig. 4.](https://www.ncbi.nlm.nih.gov/pmc/articles/instance/10836076/bin/nihpp-2024.01.27.577521v1-f0004.jpg) + 평가를 위한 G-Eval 프롬프트 / A: 컨텍스트 평가, B: 그래프 평가 + +## 3. Results + +### A. 벤치마크 데이터 세트의 주석 +- m6A 연구 논문 400개의 제목에 대한 컨텍스트 인식 그래프에 주석을 닮. +- 데이터 세트의 정규화된 컨텍스트에서 24개의 다른 TCGA 암 유형을 추출할 수 있었음. + +### B. 우수한 성능의 reguloGPT + +- 평가 위해 REACH, EIDOS 알고리즘 선택 + (두 알고리즘 모두 컨텍스트를 추출하도록 설계된 것은 아님) + + ![Table 1.](https://www.biorxiv.org/content/biorxiv/early/2024/01/30/2024.01.27.577521/T1.medium.gif) + 각 프롬프트의 성능을 알고리즘과 비교하여 평가 (컨텍스트 평가는 제외) / CoT 프롬프트가 가장 효과적 + +- 예시1 + "m6A 메틸트랜스퍼라제 METTL3는 LEF1의 m6A 수준을 조절하여 골육종 진행을 촉진한다" (PMID: 31253399) + 컨텍스트: 골육종 + REACH: (METTL3, STIMULATES, LEF1 수준) + EIDOS: (m6A 메틸트랜스퍼라제 METTL3, STIMULATES, 골육종 진행) + reguloGPT: 골육종 및 올바른 3개의 직접 edge 및 1개의 간접 3edge 관계 추출 성공 + +- 예시2 + "elF3i는 PHGDH 번역 증강을 통해 대장암 세포 생존을 촉진한다" (PMID: 37611825) + reguloGPT: 컨텍스트는 대장암 세포, 세 개의 삼중항 식별. (PHGDH, STIMULATES, 생존) 까지. + REACH: 한 개의 삼중항 (elF3i, STIMULATES, 세포 생존) + EIDOS: 두 개의 삼중항(elF3i, AUGMENTS, PHGDG 번역), (elF3i, STIMULATES, 대장암 세포 생존) + +- few-show prompt의 조건 무시 문제 + "Suppression of m6A reader Ythdf2 promotes hematopoietic stem cell expansion" (PMID: 30065315) + "Silencing METTL3 inhibits the proliferation and invasion of osteosarcoma by regulating ATAD2" (PMID: 32044716) + +### C. G-Eval 평가는 수동 평가와 일치 + +- G-Eval 평가의 score 범위는 1~5. 사람 주석 평가와의 유사성. + + ![Table 2.](https://www.biorxiv.org/content/biorxiv/early/2024/01/30/2024.01.27.577521/T2.medium.gif) + CoT 프롬프트가 가장 우수. + +## 4. m6A-KG, A context-aware KG of m6A regulatory fuctions + +### A. reguloGPT를 이용한 m6A-KG 구축 + +- 포괄적인 m6A-KG에서 가장 연결 차수가 높은 m6(827)는 그래프의 중심이 된다. + 차수별 상위 node에는 METTL3(436), METTL14(122)와 같은 주요 m6A writers, ALKBH5(166) 및 FTO(222)와 같은 erasers, YTHDF2(127) 및 YTHDF1(109)과 같은 readers가 포함된다. + 이는 m6A의 조절 기능에서 중요한 역할을 강조한다. + 세포 증식과 신생물 전이를 나타내는 node도 높은 수준을 보이며, m6A가 이러한 종양 관련 표현형에 상당한 영향을 미친다는 것을 나타낸다. + +### B. m6-KG의 구조는 분자 조절 경로의 구조를 반영 + +- MRP의 아키텍처를 따르는지 알아보기 위한 node 분류 그룹: + m6A, WERs, GO/pathway, genes/proteins, 기타(H, M, L) + +- 다양한 범주 node의 outdegree-rate + + ![Fig. 5.](https://www.ncbi.nlm.nih.gov/pmc/articles/instance/10836076/bin/nihpp-2024.01.27.577521v1-f0005.jpg) + m6A와 WERs(Writers, Erasers, Readers)는 핵심 조절자. + GO/pathwat node는 하류 조절자. + gene/protein node는 그 둘을 잇는 중간자. + + other node의 경우 + other(L)은 질병 표현형 또는 결과 정의. + other(H)는 화학적 자극 또는 환경적 자극. + + => MRP의 특징 + +### C. m6A-KG는 다양한 암 유형에서 m6 기능의 독특한 메커니즘을 보여준다 + +- m6A 조절 기능에 대해 알 수 있다. + m6A 조절자, 질병 표현형, 종양 전이 관여, 종양 억제 유전자의 암 의존적 조절 등 조절 메커니즘을 KG를 통해 해석할 수 있다. + +## 5. Conclusion + +- reguloGPT: MRP 영역에서 KG의 end-to-end 구축을 위한 GPT-4의 새로운 응용 프로그램. +- ICL 프롬프팅 개발. +- 벤치마크 데이터베이스에 대한 reguloGPT의 효능 평가, G-Eval 평가와 사람 주석의 유사성. +- m6A-KG 구축: MRP 구조 반영. 컨텍스트와 PubMed ID를 통합하는 고유한 컨텍스트 인식 edge가 특징. + 컨텍스트별 조절 이해, 데이터의 추적성과 검증 개선. +- 향후 연구: edge와 컨텍스트에 대한 개선된 정규화 체계, 체계적인 G-Eval 평가 및 관계 추출 탐구. diff --git a/_sass/minimal-mistakes.scss b/_sass/minimal-mistakes.scss index ba9d13d5df2f..5be40467d81b 100644 --- a/_sass/minimal-mistakes.scss +++ b/_sass/minimal-mistakes.scss @@ -35,3 +35,6 @@ @import "minimal-mistakes/archive"; @import "minimal-mistakes/sidebar"; @import "minimal-mistakes/print"; + +/* google fonts */ +@import url('https://fonts.googleapis.com/css2?family=Nanum+Myeongjo&display=swap'); \ No newline at end of file diff --git a/_sass/minimal-mistakes/_variables.scss b/_sass/minimal-mistakes/_variables.scss index 2a3258735264..989d034c8ea1 100644 --- a/_sass/minimal-mistakes/_variables.scss +++ b/_sass/minimal-mistakes/_variables.scss @@ -17,7 +17,7 @@ $indent-var: 1.3em !default; /* system typefaces */ $serif: Georgia, Times, serif !default; -$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI", +$sans-serif: -apple-system, BlinkMacSystemFont, "Nanum Myeongjo", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande", Arial, sans-serif !default; $monospace: Monaco, Consolas, "Lucida Console", monospace !default;