Week15 Day2 - ai-esg/our-history GitHub Wiki
- 2021.11.09 ํ
- ๋ฌธ์์_T2075
- ๋ฐ๋ง๋ฃจ์ฐฌ_T2078
- ๋ฐ์๋ฉ_T2090
- ์ฐ์์ง_T2137
- ์ค์ํ_T2142
- ์ฅ๋๊ฑด_T2185
- ํํ์น_T2250
-
์น๊ธฐ๋ฐ ์๋น์ค (ํ์ ์ ์๋)
-
์์ด๋์ด ์๊ฐํด์ค๊ธฐ (ํ)
- ๊ฐ์ ๋ถ๋ฅ?
- ์์ฝํ๊ธฐ?
- ์๋ ์ง์์๋ต๋ด?
- API ์๋น๊น์ง ์๊ฐํด๋ณด์? (BE)
- KLUE RE task ๊ฐ์ด๋๋ผ์ธ
- ์ด๋ ธํ ์ด์ ์์ ์ฝ๊ธฐ
- ๊ฐ์ฒด๋ช ์ธ์๊ธฐ(NER)
- ๊ด๊ณ ํด๋์ค map ํ ํ๋ฆฟ
- ๊ด๊ณ ๊ฐ์ด๋๋ผ์ธ ํ ํ๋ฆฟ
-
RE ๊ด๊ณ ํด๋์ค ์ค๋ช
๋ฐ ์์
- ํ๊น ์ ํ์!
- Relation 10๊ฐ ๋ฝ๊ธฐ. - ๊ฐ Relation๋ณ๋ก obj, sbj์ entity ์์ฑ.
- Relation ํ๋ณด ๋ฝ์์ค๊ธฐ. ๊ฐ์ 4๊ฐ? ๊ทผ๊ฑฐ ํฌํจ.
- ๊ฐ์ด๋๋ผ์ธ ์์ฑ. ๊ธ์์ผ์ ์ ์ถ.
- Relation map ์ ์ถ.
- ์ด๋์ ๋ถํฐ ํ๊น ํ๋๊ฐ
- ๋ฌธ์ฅ ๋ถ๋ฆฌ
0-1. entity ์ถ์ถ
-
sentence segmentation
- ํฌ๋กค๋ง ์งํํด์ data ๋ฌธ์ฅ ์์ฒด์์ ๋ ธ์ด์ค ๊ฐ์
- KSS split
use_heuristic= False, use_quotes_brackets_processing=True, ๊ทธ์ธ ๋ํดํธ
-
NER
-
pororo ner
- ๋ํดํธ ์ฌ์ฉ
- quantity ์ค์
-
์ ๊ฑฐ ๊ฐ๋ฅํ๊ฒ ์ค์ ๊ฐ๋ฅ
- ํ๊น ์ด ์ ํ ์๋ ๊ฒฝ์ฐ
- ํ๊น ์ด 2๊ฐ ๋ฏธ๋ง์ธ ๊ฒฝ์ฐ
-
- sentence segmentation
- lines = f.readlines(), for line in lines, split_sentences(line) (๊ธฐ๋ณธ)
- if '.' in sentence: ๋ก ์จ์ ์๋ ๋ฌธ์ฅ๋ง ์ทจ๊ธ
- sentence segmentation
- ์จ์ ๊ณผ \n ๊ธฐ์ค์ผ๋ก ๋๋๊ณ ์์์
- ์์์ ๊ทธ๋๋ก ๋จ๊น.
- ์ดํ ์ ๋นํ ๋ฌธ์ฅ์ ๋ถ์ฌ์ค. (์์์ )
- ner tagging ๊ด๋ จ
- pororo ์ฌ์ฉ
- entity๊ฐ ์์ผ๋ฉด ์ ๊ฑฐ. (์ ์๋ฏธํ ๋ฐ์ดํฐ๋ ๋ง์ด ์ฌ๋ผ์ง)
- sentence segmentation
- ๋จ์ด๋์ด์ ์์์ ์ผ๋ก ์ง์์ค
- "\n"-> " " ์ดํ kss
- pororo ner tagging
- sentence segmentation
- "\n" split -> mecab ๊ตฌ๋์ split
- sentence filtering
- ์ข ๊ฒฐ ์ด๋ฏธ๊ฐ ํฌํจ๋์ง ์๋ ๊ฒฝ์ฐ
- pororo ner tagging์ผ๋ก entity๊ฐ 2๊ฐ ์ด์ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ
- ๋์ฌ ๋๋ ํ์ฉ์ฌ๊ฐ ํฌํจ๋์ง ์๋ ๊ฒฝ์ฐ
- sentence segmentation
- konlpy.tag ๋ด์ ์๋ Kkma.sentence
- sentence segmentataion ->splitํ, kss์ฌ์ฉ
- ์๋ฆฐ ๋ฌธ์ฅ๋ค์ค, ๋ฌธ์ฅ์ด๋ผ๊ณ ์ฌ๊ฒจ์ง ์ ์๋ ๋ฌธ์ฅ๋ค ์ถ์ถ->morph_filter ๋ผ๋ ํจ์ ์ฌ์ฉํ์๊ณ , morph_filter์์ mecab์ด ๋ค์ด๊ฐ ์์(mecab์ผ๋ก ์ฐ๋ฆฌ ๋๋ผ๋ง์ ๋ฌธ์ฅ ์์ ๋ช ์ฌ, ๋์ฌ, ํ์ฉ์ฌ๋ฅผ ๋ค ํฌํจํด์ผ ์จ์ ํ ๋ฌธ์ฅ์ด๋ฏ๋ก, ๋ฌธ์ฅ์ด 3 ์์๋ฅผ ๋ค ํฌํจํ์ง ์๊ณ ์์ผ๋ฉด ์ญ์ )
- pororo ner tagging
label 10๊ฐ - sub <-> obj
- ๋ฌธ์ฅ ํ๋์ relation ์ฌ๋ฌ๊ฐ ๋ฝ์๊น?
- ์ด๋ ธํ ์ด์ ํ ๋ ๊ฐ์ด entity ๊ฒฐํจ์๋ ๋ฌธ์ฅ ์์ฑํ๊ธฐ
- en
- re
- label 10๊ฐ
- sub - obj
- label 10๊ฐ
-
์บ ํผ๋ถ๋ค์ ๊ฐ ์ฃผ์ ์ ๋ฌธ์๋ค์์ relation extraction์ ํ ๋ ๊ณ ๋ คํ ๋ง ํ "Relation"๊ณผ ํด๋นํ๋ "Entity type"๋ค์ ์ง์ ์ ์ ํฉ๋๋ค.
-
ex) ํ์ผ์ ์๋ ๋จ์ด๋ค์ ๊ด๊ณ๋ฅผ ๋ง๋ค์ด ์ฃผ๋ ์์ผ๋ก?
- ๊ทธ๋ํฝ ์นด๋.txt
- <๊ทธ๋ํฝ ์นด๋>์ ์ญ์ฌ๋ <1960๋ >๋๋ก ๊ฑฐ์ฌ๋ฌ ์ฌ๋ผ๊ฐ๋ค.
- ๋น๋์ค ์ด๋ํฐ(video adapter), ๋์คํ๋ ์ด ์นด๋(display card), ๊ทธ๋ํฝ ๋ณด๋(graphics board), ๋์คํ๋ ์ด ์ด๋ํฐ(display adapter), ๊ทธ๋ํฝ ์ด๋ํฐ(graphics adapter)๋ผ๊ณ ๋ ๋ถ๋ฅธ๋ค. ->
- <๊ทธ๋ํฝ ์นด๋> - <๋น๋์ค ์ด๋ํฐ> -> ์ด๋ฆ : ๋ณ์นญ
- <๊ทธ๋ํฝ ์นด๋> - <๋์คํ๋ ์ด ์นด๋> -> ์ด๋ฆ : ๋ณ์นญ
- ๊ทธ๋ํฝ ์นด๋.txt
- ์ ์ ๋ Relation๋ค์ ์ ์ํ๊ณ , ํด๋น Relation set์ ๊ธฐ๋ฐ์ผ๋ก ๋ฌธ์ฅ์์ Entity๋ฅผ ์ก์ ์ด๋ ธํ ์ด์ ํ ์ ์๋ ๊ฐ์ด๋๋ผ์ธ์ ์์ฑํฉ๋๋ค. ์ด ๋, ์๋ ์ฃผ์ด์ง๋ KLUE์ Relation set๊ณผ ๊ฐ์ด๋๋ผ์ธ์ ์ฐธ๊ณ ํ ์ ์์ต๋๋ค.
- ๊ฐ์ด๋๋ผ์ธ๊ณผ Relation map์ ์ ์ถ. ๊ด๋ จ ํผ๋๋ฐฑ์ด ๋ค์์ฃผ์ ์์.
-
์ต์ด์ ๋ฐ์ดํฐ ์ด๋ ธํ ์ด์ ์ ๊ฐ ๋ฉค๋ฒ ๋ณ๋ก ๋๋์ด ์งํํฉ๋๋ค(์ด ๋จ๊ณ์์๋ ์๋ก ๋ด์ฉ ๊ณต์ X). ์ฆ, ์ ์ฒด ๋ง๋ญ์น๋ฅผ ๋ฌธ์ฅ ๊ฐ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ชผ๊ฐ ๊ฐ ํ์ ๋ณ๋ก ํ ๋นํฉ๋๋ค.
-
๋ชจ๋ ์บ ํผ๋ถ๋ค์ด ๊ฐ์์ ์ด๋ ธํ ์ด์ ์ ์๋ฃํ๋ฉด, ์์ฑ๋ ๋ฌธ์ฅ(with subj/obj entities)-๋ ์ด๋ธ pair์ ๊ตฌ๊ธ ์คํ๋ ๋์ํธ๋ก ์ฎ๊น๋๋ค
-
์์ ์ ์ํ ๊ตฌ๊ธ ์คํ๋ ๋์ํธ์ Dropdown์ ํ์ฉํ์ฌ, ๋ชจ๋ ์บ ํผ๋ถ๋ค์ด '์์ ์ด ์ง์ tagtog์์ ์ ์ํ์ง ์์ Relation extraction ๋ฌธ์ฅ๋ค์ ๋ํ' ์ด๋ ธํ ์ด์ ์ ์งํํฉ๋๋ค.
-
๋ณธ ์ด๋ ธํ ์ด์ ๊ณผ์ ์์ ๋ค๋ฅธ ์ฌ๋์ ํ๊น ๋ฐ ์ ์์์ ํ๊ทธ๋ฅผ ๋ณด์ง ์๋๋ก ํฉ๋๋ค.
-
๋ฐ์ดํฐ์ ์ผ๋ถ (๋ณดํต ์ ์ฒด์ 1/10 ์ ๋) ๋ง ํ๊น ํ๋ ํ์ผ๋ฟ ํ๊น (pilot tagging) ์ ํตํด ์๋ก์ ์ดํด๊ฐ ๋ค๋ฅธ ๋ถ๋ถ์ ํ์ธํ๊ณ discussion์ ํตํด ๊ฐ์ด๋๋ผ์ธ ๋ฐ relation set์ ์ ์ ๋ฑ์ ์ ๋ฐ์ดํธํฉ๋๋ค. Pilot tagging ์์๋ ํ์๋ฅผ ํตํด ์๋ก์ ์ด๋ ธํ ์ด์ ์ ์์ ํ๋ ๊ฒ๋ ๊ถ์ฅ๋ฉ๋๋ค. ๋ฉ์ธ ํ๊น (Main tagging) ์์๋ ์ฌ๋งํ๋ฉด pilot tagging์์ ํ์ ๋ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐํ์ผ๋ก ์ด๋ ธํ ์ด์ ์ ์งํํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
-
KLUE ๊ฐ์์์ ์ฌ์ฉํ RE ํ์ต ๋ฐ ํ๊ฐ ์ฝ๋๋ฅผ ํ์ฉํ์ฌ ์ง์ ๋ง๋ ๋ฐ์ดํฐ์ ์ฑ๋ฅ์ ์ฒดํฌํฉ๋๋ค.
-
์ด๋ฒ ๊ณผ์ ์ ์ ๋์ ํ๊ฐ์งํ๋ 4๋ฒ ๊ณผ์ ์์ ๋์ค๋ IAA์ด๋ฉฐ, Fleiss' Kappa๋ฅผ ๊ธฐ์ค์ผ๋ก 0.7์ ๋๊ธฐ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ์์จ์ ์ผ๋ก ๋ฃ๊ธฐ