- ๊ถ์ง์ - ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, ๋ชจ๋ธ ์ ์ ์ ์ํ ๋น๊ต ์คํ, TAPT, studio-ousia/mluke-large ๋ชจ๋ธ ํ๋
- ๊น์ฌ์ฐ - ๋ฒ ์ด์ค๋ผ์ธ ๋ฆฌํฉํ ๋ง, entity embedding layer ๋ฐ LSTM classifier๋ฅผ ํ์ฉํ Custom ๋ชจ๋ธ ์ ์, CoRE ๋ ผ๋ฌธ ๊ตฌํ
- ๋ฐ์์ค - ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, entity marker ์ถ๊ฐ, ๋ฐ์ดํฐ ์ฆ๊ฐ, ๋ชจ๋ธํ์ต
- ์ ๋คํ - EDA, ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, Subject entity type ๋ฐ์ ์คํ, Ensemble ์คํ ๋ฐ ๊ฒฐ๊ณผ ๋ถ์
- ์ต์ค์ง - ๋ฐ์ดํฐ ๋ถ์, ๋ ผ๋ฌธ ์กฐ์ฌ, ๋ชจ๋ธ ํ์ต, ๋ฒ ์ด์ค๋ผ์ธ ๊ฐ์ , ํ์ ํ๊ฒฝ ์ธํ
๋ฌธ์ฅ ์์์ ๋จ์ด ๊ฐ์ ๊ด๊ณ์ฑ์ ํ์ ํ๋ ๊ฒ์ ์๋ฏธ๋ ์๋๋ฅผ ํด์ํจ์ ์์ด์ ๋ง์ ๋์์ ์ค๋ค.
๊ทธ๋ฆผ์ ์์์ ๊ฐ์ด ์์ฝ๋ ์ ๋ณด๋ฅผ ์ฌ์ฉํด QA ์์คํ ๊ตฌ์ถ๊ณผ ํ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ด์ธ์๋ ์์ฝ๋ ์ธ์ด ์ ๋ณด๋ฅผ ๋ฐํ์ผ๋ก ํจ์จ์ ์ธ ์์คํ ๋ฐ ์๋น์ค ๊ตฌ์ฑ์ด ๊ฐ๋ฅํ๋ค.
๊ด๊ณ ์ถ์ถ(Relation Extraction) ์ ๋ฌธ์ฅ์ ๋จ์ด(Entity)์ ๋ํ ์์ฑ๊ณผ ๊ด๊ณ๋ฅผ ์์ธกํ๋ ๋ฌธ์ ๋ค. ๊ด๊ณ ์ถ์ถ์ ์ง์ ๊ทธ๋ํ ๊ตฌ์ถ์ ์ํ ํต์ฌ ๊ตฌ์ฑ ์์๋ก, ๊ตฌ์กฐํ๋ ๊ฒ์, ๊ฐ์ ๋ถ์, ์ง๋ฌธ ๋ต๋ณํ๊ธฐ, ์์ฝ๊ณผ ๊ฐ์ ์์ฐ์ด์ฒ๋ฆฌ ์์ฉ ํ๋ก๊ทธ๋จ์์ ์ค์ํ๋ค. ๋น๊ตฌ์กฐ์ ์ธ ์์ฐ์ด ๋ฌธ์ฅ์์ ๊ตฌ์กฐ์ ์ธ triple์ ์ถ์ถํด ์ ๋ณด๋ฅผ ์์ฝํ๊ณ , ์ค์ํ ์ฑ๋ถ์ ํต์ฌ์ ์ผ๋ก ํ์ ํ ์ ์๋ค.
๋ฌธ์ฅ, ๋จ์ด์ ๋ํ ์ ๋ณด๋ฅผ ํตํด, ๋ฌธ์ฅ ์์์ ๋จ์ด ์ฌ์ด์ ๊ด๊ณ๋ฅผ ์ถ๋ก ํ๋ ๋ชจ๋ธ์ ํ์ตํด์ผ ํ๋ค. ์ด๋ฅผ ํตํด ์ธ๊ณต์ง๋ฅ ๋ชจ๋ธ์ด ๋จ์ด๋ค์ ์์ฑ๊ณผ ๊ด๊ณ๋ฅผ ํ์ ํ๋ฉฐ ๊ฐ๋ ์ ํ์ตํ ์ ์๋ค.
-
๋ ์ด๋ธ ๋ณ ๋ฐ์ดํฐ ๊ฐ์ ํ์คํ ๊ทธ๋จ์ ๊ทธ๋ ค๋ณด์์ ๋ no relation ๋ ์ด๋ธ์ด ๊ฐ์ฅ ๋ง๊ณ , ๋ ์ด๋ธ๋ณ ๋ถ๊ท ํ์ด ์ฌํ๋ค๋ ์ ์ ํ์ธํ๋ค. ๋ฐ๋ผ์ validation ๊ณผ k-fold ๋ฅผ ๊ตฌํํ ๋ train ๊ณผ validation ์ ํ์ต ๋ฐ์ดํฐ ์ ์ ๋ผ๋ฒจ ๋ถํฌ๊ฐ ๊ฐ๋๋ก Stratified ๋ฐฉ๋ฒ์ ์ด์ฉํ๋ค.
-
Subject entity type์ ๋น์ทํ ๋น์จ์ ์ฐจ์งํ๋ ๋ฐ๋ฉด, Object entity type์์ ๋ถ๊ท ํ์ ํ์ธํ๋ค.
- ํ ํฐํ ํ ๋ฌธ์ฅ ๊ธธ์ด๊ฐ 30~50์ ๋ชฐ๋ ค์๋ค๋ ๊ฑธ ํ์ธํ๋ค.
- test, train ๋ฌธ์ฅ ๊ธธ์ด ๋น์จ์ด ๋น์ทํจ์ ํ์ธํ๋ค.
seed | ๊ธฐ์กด f1 | ํต์ผ f1 |
---|---|---|
5 | 84.401 | 84.634 |
11 | 84.543 | 84.523 |
42 | 84.567 | 84.305 |
ํ๊ท | 84.504 | 84.487 |
- EDA๊ณผ์ ์์ ์ด์ ๋ฐ์ดํฐ๊ฐ ์๋ ๊ฒ์ ํ์ธํ๋ค.
- ์ด์ ๋ฐ์ดํฐ์ ๊ธฐ์ค์ ๋ค์๊ณผ ๊ฐ๋ค.
- Subject entity์ type๊ณผ label์ ์ฒซ๋ฒ์งธ๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ
- Subject entity์ type์ ์กฐ์ง(ORG)์ด ์ฌ๋(PER)์ผ๋ก ํ ๊น ๋ ๊ฒฝ์ฐ์ ๊ทธ ๋ฐ๋ ๊ฒฝ์ฐ
์ถ์ฒ:An Improved Baseline for Sentence-level Relation Extraction
์ ๋ ผ๋ฌธ์ ์๊ฐ๋ ๊ธฐ๋ฒ์ ์ฐจ์ฉํ์ฌ ๋ชจ๋ธ์๊ฒ ์ํฐํฐ์ ์์น๋ฅผ ์๋ ค์ค ์ ์๋ ๋ฐฉ์์ ๋ชจ์ํ์๋ค.
- Entity marker ์์
- ๊ธฐ์กด : ๋นํ์ฆ [SEP] ์กฐ์ง ํด๋ฆฌ์จ [SEP] ใSomethingใ๋ ์กฐ์ง ํด๋ฆฌ์จ์ด ์ฐ๊ณ ๋นํ์ฆ๊ฐ 1969๋ ์จ๋ฒ ใAbbey Roadใ์ ๋ด์ ๋ ธ๋๋ค.
- Method1: ใSomethingใ๋ #^PER^์กฐ์ง ํด๋ฆฌ์จ#์ด ์ฐ๊ณ @ORG๋นํ์ฆ@๊ฐ 1969๋ ์จ๋ฒ ใAbbey Roadใ์ ๋ด์ ๋ ธ๋๋ค.
- Method2: ใSomethingใ๋ #^person^์กฐ์ง ํด๋ฆฌ์จ#์ด ์ฐ๊ณ @organization๋นํ์ฆ@๊ฐ 1969๋ ์จ๋ฒ ใAbbey Roadใ์ ๋ด์ ๋ ธ๋๋ค.
Method | micro_f1 | auprc |
---|---|---|
๊ธฐ์กด | 66.2409 | 68.2921 |
Method 1 | 68.2769 | 69.7847 |
Method 2 | 68.6772 | 72.1613 |
EDA๋ฅผ ํตํด ๋ฐ์ดํฐ์ ๋ถ๊ท ํ์ด ์ฌํ๋ค๋ ๊ฒ์ ํ์ธํ๋ค. ๋ํ ์๋ ๊ทธ๋ํ๋ฅผ ๋ณด๋ฉด validation dataset์ ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ๋ดค์ ๋ ๊ฐ์ฅ ๋ง์๋ no relation์ prob๊ฐ์ ๋ง์ด ๋ฑ์ฅํ ๊ฒ์ ๋ณผ ์ ์์๊ณ ๋ฐ๋๋ก ๋ฐ์ดํฐ๊ฐ ๊ฑฐ์ ์์๋ per: siblings์ prob๊ฐ์ ํญ์ 0์ ๊ฐ๊น๊ฒ ๋ํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. ์ด๋ฌํ ๋ถ๊ท ํ๊ณผ ํธํฅ์ ํด๊ฒฐํ๊ณ ์ ๋ฐ์ดํฐ ์ฆ๊ฐ์ ์งํํ๋ค.
ํ๊ตญ์ด ์ํธ์ฐธ์กฐํด๊ฒฐ์ ์ํ BERT ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์ฆ๊ฐ ๊ธฐ๋ฒ์ ์ฐธ๊ณ ํ์ฌ MLM์ ์ด์ฉํด ๋ฐ์ดํฐ์ ๋ฌธ๋งฅ์ ์ํฅ์ ๋ผ์น์ง ์๋ ๋จ์ด๋ก ์นํํ์ฌ ์ฆ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ ๋ฒจ ์์ธก์ ์ ๋ชปํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฆ๊ฐ์ํค๋ฉด ๋ถ๊ท ํ๊ณผ ํธํฅ์ด ํด๊ฒฐ๋ ๊ฒ์ด๋ค. ๊ธฐ์กด ๊ฒฐ๊ณผ์ accuracy๊ฐ 0.8 ์ดํ์ธ ๋ผ๋ฒจ๋ค์ ๋ํด์ ์ฆ๊ฐ์ ์งํํ์๊ณ , ์ํฐํฐ๋ฅผ ์ ์ธํ ๋๋จธ์ง ํ ํฐ๋ค์ 10ํผ์ผํธ ํ๋ฅ ๋ก maskํ ํฐ์ผ๋ก ๋ฐ๊พผ ํ MLM์ ์ด์ฉํ์ฌ ์ฑ์ ๋ฃ๋ ๋ฐฉ์์ผ๋ก ์ฆ๊ฐ ํ ์ฑ๋ฅ์ ํ์ธํ์๋ค.
- ์คํ ๊ฒฐ๊ณผ
Method | micro_f1 | auprc |
---|---|---|
๊ธฐ์กด | 72.1022 | 76.6324 |
์ฆ๊ฐ ํ | 71.8970 | 76.5956 |
- Model test 1: ํ์ต๋ฅ 3e-5๋ก 7 ์ํญ์ฉ ํ์ธํ๋ํ ํ micro f1 ์ ์์ด๋ค. mixed precision์ ์ฌ์ฉํ๋ค.
๋ชจ๋ธ | ๋ฐฐ์น ํฌ๊ธฐ 16 | ๋ฐฐ์น ํฌ๊ธฐ 32 |
---|---|---|
studio-ousia/mluke-large | 84.629 | 83.563 |
xlm-roberta-large | 84.008 | 84.167 |
kykim/bert-kor-base | 83.205 | 83.405 |
klue/bert-base | 83.119 | 83.059 |
sentence-transformers/xlm-r-large-en-ko-nli-ststb | 82.814 | 82.874 |
kykim/funnel-kor-base | 82.556 | 82.781 |
snunlp/KR-ELECTRA-discriminator | 82.483 | 81.832 |
bert-base-multilingual-uncased | 81.167 | 81.319 |
beomi/KcELECTRA-base-v2022 | 81.145 | 79.932 |
skt/kogpt2-base-v2 | 78.979 | 79.637 |
- Model test 2: ํ์ต๋ฅ 5e-5๋ก 7 ์ํญ์ฉ ํ์ธํ๋ํ ํ micro f1 ์ ์์ด๋ค.
๋ชจ๋ธ | ๋ฐฐ์น ํฌ๊ธฐ 16 | ๋ฐฐ์น ํฌ๊ธฐ 32 |
---|---|---|
klue/roberta-large | 84.956 | 84.925 |
monologg/koelectra-base-v3-discriminator | 82.953 | 81.650 |
monologg/kobert | 57.763 | 57.249 |
-
entity_loc_ids๋ฅผ ์ถ๊ฐํ์ฌ ์ํฐํฐ๋ค์ ์์น ์ถ๊ฐ
ํ ํฐํ ๋จ๊ณ์์ ๋ฌธ์ฅ์ ํ ํฐํํ ๋ค์์, ์ํฐํฐ์ ํ ํฐ๋ค์ ์์น๋ฅผ ์ฐพ์ subject ํ ํฐ๋ค์ 1๋ก, object ํ ํฐ๋ค์ 2๋ก ํ์ํ๋ค.
์์)
{ 'input_ids': tensor([[ 0, 24380, 12242, 12951, 2386, 2189, 2, 11214, 2, 24380, 12242, 12951, 2386, 2189, 2259, 11214, 5993, 1761, 2194, 4443, 2079, 19230, 2628, 27135, 4713, 2138, 3670, 2205, 2507, 2062, 2]]), 'token_type_ids': tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]), 'attention_mask': tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]), 'entity_loc_ids': tensor([[0, 1, 1, 1, 1, 1, 0, 2, 0, 1, 1, 1, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]) }
-
Custom embedding layer ์ถ๊ฐ๋ฅผ ํ์ฉํ Custom model ์ ์
RobertaForSequenceClassification ๋ชจ๋ธ์ Roberta model๊ณผ Classifier๋ก ๋ถ๋ฆฌํ ํ,
Roberta model ๋ด๋ถ์ ์ปค์คํ ์๋ฒ ๋ฉ์ ์ถ๊ฐํ์๊ณ ,
์ปค์คํ ์๋ฒ ๋ฉ ๋ด๋ถ์ entity location embedding์ ์ถ๊ฐํ๋ค.
- ์คํ ๊ฒฐ๊ณผ
entity embedding | micro f1 score | auprc |
---|---|---|
X | 69.8393 | 72.7379 |
O | 71.0866 | 76.2210 |
๋ผ๋ฒจ์ ๋ถ๊ท ํ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋์ ํ์๋ค.
3k step ๊ฐ๋์์ ๋ณดํต ์ต๊ณ ์ฑ๋ฅ์ด ๋์ค๊ณ ๊ทธ ๋ค๋ก๋ ํ์ต์ด ์์ ์ ์ผ๋ก ์งํ์ด ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋์ ํ์๋ค.
- ์คํ ๊ฒฐ๊ณผ
scheduler | micro f1 score | auprc |
---|---|---|
linear | 71.0407 | 76.9576 |
exponential | 71.3977 | 76.4372 |
๋ชจ๋ธ์ด ํ ์คํธ ๋ฌธ๋งฅ์ด ์๋, ์ํฐํฐ ๊ฐ์ attention์ผ๋ก ๊ด๊ณ๋ฅผ ์ ์ถํ๋ค. โ ์ํฐํฐ ํธํฅ
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด CoRE ๋ ผ๋ฌธ์ ์ฌ์ฉ๋ ๊ธฐ๋ฒ๋ค์ ์ ์ฉํ์๋ค.
CoRE ๋ ผ๋ฌธ์์ ํ์ฉํ ์ฃผ์ํ ํธํฅ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๋์ ๊ฐ๋ค.
new_preds = (prob + lamb_1 * prob_mask_1 + lamb_2 * prob_mask_2 + label_constraint).argmax(1)
์ฌ๊ธฐ์์ metric function์ micro f1 score, [a,b]๋ [-2, 2]๋ฅผ ์ฌ์ฉํ๋ค.
prob : ๋ชจ๋ธ์์ ๋์จ ํ๋ฅ
prob_mask_1 : ์ํฐํฐ๋ก๋ง ์ถ์ธกํ ํ๋ฅ
prob_mask_2 : no_relation์ ํ๋ฅ ๋ง 1๋ก ๋๊ณ ๋๋จธ์ง 0์ผ๋ก ํจ๋ฉํ ํ๋ฅ
label_constraint : ์ํฐํฐ type ๋ณ๋ก ๊ฐ์ง ์ ์๋ ๊ด๊ณ๋ฅผ ์ ํํด๋ ๋ฆฌ์คํธ
Label constraint | micro f1 score | auprc |
---|---|---|
X | 73.9659 | 77.8363 |
O | 74.2457 | 78.0171 |
Donโt Stop Pretraining: Adapt Language Models to Domains and Tasks ๋ ผ๋ฌธ์ ์ฐธ๊ณ ํ์ฌ ๋ํ ๋ฐ์ดํฐ์ ์ ์ฌ์ ํ์ต ๋ชจ๋ธ์ ์ ์์ํค๋ฉด ํ์ธํ๋ ์ ์์ธก์ ๋ ์ํ ๊ฒ์ด๋ผ๋ ์์ธก ํ์ ๋์ ํ ๊ธฐ๋ฒ์ด๋ค.
๋ชจ๋ธ | perplexity | RE f1 | RE auprc |
---|---|---|---|
klue/roberta-large | 331.737 | 71.1024 | 74.2235 |
klue/roberta-large + TAPT | 4.169 | 72.6778 | 72.7815 |
studio-ousia/mluke-large | 4.089 | 85.447 | - |
studio-ousia/mluke-large + TAPT | 3.588 | 85.709 | - |
Dense layer์ tanh ๋ ์ด์ด๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ์กด์ classificationhead์ ๋นํด LSTM์ ์ฅ๊ธฐ ์์กด์ฑ, ๋จ๊ธฐ ๋ฉ๋ชจ๋ฆฌ๋ ์ํ์ค ๋ถ๋ฅ ์ฑ๋ฅ์ ๋์ฌ์ค ๊ฒ์ด๋ผ๋ ๊ฐ์ ํ์ ๋์ ํ ๊ธฐ๋ฒ์ด๋ค.
- ๊ตฌํ ๋ฐฉ๋ฒ
- RobertaForSequenceClassification ๋ชจ๋ธ์ RobertaModel๊ณผ Classifier๋ก ๋ถ๋ฆฌ
- Classifier๋ฅผ LSTM layer๋ฅผ ์ถ๊ฐํ ๋ถ๋ฅ๊ธฐ๋ก ๋์ฒด โ CustomLSTMClassificationHead
- LSTM์ ์๋ฐฉํฅ context๋ฅผ ํ์ ํ ์ ์๋ bi-LSTM์ผ๋ก ๋ฐ๊พธ๋ฉฐ ๋ถ๋ฅ ์คํ ์งํ
- ์คํ ๊ฒฐ๊ณผ
Label constraint | micro f1 score | auprc |
---|---|---|
๊ธฐ์กด | 71.3977 | 76.4372 |
LSTM | 71.8922 | 75.4229 |
bi-LSTM | 71.7605 | 76.4502 |
EDA๊ณผ์ ์์ 30๊ฐ์ label์ด Subject entity type(ORG,PER)์ ๋ฐ๋ผ ๊ฒฐ์ ๋จ์ ํ์ธํ๋ค. ์ฌ๊ธฐ์ ๋ชจ๋ธ์ด Subject entity type์ ๋ง์ง ์๋ label๋ก ์์ธกํจ์ ๋ฐ๊ฒฌํ์ฌ, ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์ ํ์๋ค.
๊ฒฐ๊ณผ Prob๊ฐ์์ Subject entity์ type์ด ์๋ label๋ก ์์ธกํ Prob๋ค์ ๋ชจ๋ 0์ผ๋ก ๋ฐ๊พผ ๋ค ๋ค์ ์ด ํฉ์ด 1์ด ๋๋๋ก ๋ณด์ ํ์๋ค.
- ์คํ ๊ฒฐ๊ณผ
Subject entity type ๋ฐ์ | micro f1 score | auprc |
---|---|---|
X | 73.9659 | 77.8363 |
O | 74.2457 | 78.0171 |
- ๋จ์ผ ๋ชจ๋ธ๋ก ์ ์ผ ์ฑ๋ฅ์ด ๋๊ฒ ๋์จ ๊ฒ์ ์๋ ์ต์
์ ์ ์ฉํ klue/roberta-large ์๋ค.
- ์์คํจ์: focal loss
- lr scheduler : exponential
- LSTM ๋ ์ด์ด ์ถ๊ฐ
- ํ์ต๋ฅ : 1e-5
- ๋ฐฐ์น ์ฌ์ด์ฆ: 32
- Entity Embeding layer ์ถ๊ฐ
- TAPT
- label constraint
- ํธํฅ์ ์ต์ํํด์ฃผ๊ธฐ ์ํ์ฌ ๋ค์ 8๊ฐ์ง ๊ฒฐ๊ด๊ฐ์ ๋ ์ด๋ธ๊ฐ ๊ฒฐ์ ํ๋ฅ ์ ๋ชจ๋ ๋ํ๊ณ ์ด๋ฅผ ํ๊ท ํด์ ์ด๋ค ์ค ํ๋ฅ ์ด ๊ฐ์ฅ ๋์ ๋ ์ด๋ธ ๊ฐ์ ์ต์ข
๋ณดํ
๊ฒฐ๊ด๊ฐ์ผ๋ก ์ ์ ํ๋ ์ํํธ ๋ณดํ
์์๋ธ์ ์ ์ฉํ์ฌ ์ต์ข
์ ์ถํ๋ค.
- klue/roberta-large + focal loss + exponential lr scheduler + LSTM ๋ ์ด์ด + Entity Embeding layer + label constraint
- klue/roberta-large + focal loss + exponential lr scheduler + Bi-LSTM ๋ ์ด์ด + Entity Embeding layer
- klue/roberta-large + focal loss + exponential lr scheduler + LSTM ๋ ์ด์ด + Entity Embeding layer
- klue/roberta-large + TAPT + focal loss + exponential lr scheduler + embedding layer
- klue/roberta-large + TAPT + cross entropy
- klue/roberta-large + focal loss + exponential lr scheduler + Entity Embeding layer + ๋ฐ์ดํฐ ์ฆ๊ฐ
- xlm-roberta-large + focal loss + exponential lr scheduler + LSTM ๋ ์ด์ด + Entity Embeding layer
- studio-ousia/mluke-large
public | private | |
---|---|---|
micro-f1 | 75.2196 | 74.7872 |
auprc | 80.8363 | 82.8973 |
์์ | 8 | 4 |