23.06.07 - 23.06.22(μ΄ 16μΌ)
- μ§λ¬Έμ΄ μ£Όμ΄μ§μ§ μκ³ , μ¬μ μ ꡬμΆλμ΄ μλ λ¬Έμ λ΄μμ μ§λ¬Έμ λν μ νν λ΅λ³μ νλ λͺ¨λΈμ λ§λλ κ²μ λͺ©νλ‘ νλ€.
- λ°λΌμ, μ§λ¬Έμ λν μ λ΅μ΄ ν¬ν¨λμ΄ μλ λ¬Έμλ₯Ό μ°ΎκΈ° μν Retrieval Modelκ³Ό μ°Ύμ λ¬Έμ λ΄μμ μ§λ¬Έμ λν λ΅λ³μ μ°ΎκΈ° μν Reader Modelλ‘ 2-Stageλ‘ λ¬Έμ λ₯Ό ν΄κ²°νλ€.
- Train Data : 3,952κ°(train) / 240κ°(validation) Test Data : 240κ°(public) / 360κ°(private) λ‘ λ°μ΄ν°κ° ꡬμ±λμ΄ μλ€.
- Train Dataλ
id(μ§λ¬Έμ κ³ μ id)
,question(μ§λ¬Έ)
,context(λ΅λ³μ΄ ν¬ν¨λ λ¬Έμ)
,answers(λ΅λ³μ λν μ 보)
,document_id(λ¬Έμμ κ³ μ id)
,title(λ¬Έμμ μ λͺ©)
컬λΌμΌλ‘ ꡬμ±λμ΄ μκ³ , Test Dataλid
,question
λ§ κ³΅κ°λμ΄ μλ€.
- Exact Match(EM) : λͺ¨λΈμ μμΈ‘κ³Ό μ€μ μ λ΅μ΄ μ ννκ² μΌμΉνλ λΉμ¨μ λν μ μμ΄λ€. νΉμλ¬Έμ λ±μ μ μΈνκ³ μ ννκ² μΌμΉνλ©΄ 1μ , μλλΌλ©΄ 0μ μ λΆμ¬ν¨μΌλ‘μ¨ ν΄λΉ μ§νλ₯Ό μΈ‘μ νλ€.
- F1 Score : EMκ³Όλ λ€λ₯΄κ² λΆλΆ μ μλ₯Ό μΈ‘μ νλ€. μ νν κ°μ μμΉκ° μλλλΌλ κ²ΉμΉλ λ¨μ΄κ° μλ€λ©΄ λΆλΆ μ μλ₯Ό λ°μ μ μλ€.
κ³½λ―Όμ | μ΄μΈκ· | μνλ¦Ό | μ΅νλ―Ό | ν©μ€κΈ° |
---|---|---|---|---|
- κ³½λ―Όμ
- Reader λͺ¨λΈ λ°μ΄ν° μ¦κ°, Elastic Search ꡬν λ° μ μ©
- μ΄μΈκ·
- Retriever λͺ¨λΈ(DPR) ꡬν λ° κ°μ , Reader λͺ¨λΈ κ°μ
- μνλ¦Ό
- Retriever λͺ¨λΈ(BM25) ꡬν, Context μ μ²λ¦¬
- μ΅νλ―Ό
- Reader λͺ¨λΈ κ°μ , Question Generation ꡬν, Ensemble ꡬν
- ν©μ€κΈ°
- Retriever λͺ¨λΈ(DPR) ꡬν, Re-Rank ꡬν
- μ λ§κ°μ λ¬νλ μν€νΌλμ λ¬Έμ μ€μμ μ£Όμ΄μ§ μ§λ¬Έμ λν μ λ΅μ΄ μ νμλ λ¬Έμλ₯Ό νμνλ€.
- κΈμ μλ² λ© μ 보λ₯Ό νμ©νλ
DPR
λͺ¨λΈκ³Ό κΈμ νλ©΄μ μΈ λ¨μ΄μ μΌμΉ μ¬λΆλ₯Ό νμ©νλBM25
λͺ¨λΈμ μ΄μ©νλ€.BM-25
λ‘ μΆλ €μ§ λ΅λ³μDPR
λͺ¨λΈμ μ΄μ©ν΄ Re-Rank νλ€.
- Retrieval λͺ¨λΈμ ν΅ν΄ μ νλ λ¬Έμμ λ΄μ© μμμ μ§λ¬Έμ λν λ΅λ³μ μ°Ύλλ€.
klue/roberta-large
λͺ¨λΈμ νμ΄νΌνλΌλ―Έν° νλνμ¬ μ¬μ©νλ€.
βββ Trainer_DPR_Example.ipynb
βββ arguments.py
βββ dpr
β βββ __init__.py
β βββ cls_Encoder.py
β βββ trainer_DPR.py
βββ dpr_retrieval.py
βββ inference.py
βββ main.py
βββ preprocessing
β βββ dataset_preprocessing.py
βββ reader.py
βββ retrieval.py
βββ train.py
βββ trainer_qa.py
βββ utils.py
βββ utils_qa.py
βββ Readme.md
βββ github_utils
βββ markdown_to_notion.py