Skip to content

[๐Ÿฅ‡1st solution] ์—์„ธ์ด ๊ธ€ ๋ฐ์ดํ„ฐ ์ธ๊ณต์ง€๋Šฅ ํ•™์Šต์šฉ ๋ฐ์ดํ„ฐ ํ•ด์ปคํ†ค

Notifications You must be signed in to change notification settings

quarter-100/essay-grading-hackathon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

24 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


๐Ÿ™‹โ€โ™‚๏ธํŒ€์› ์†Œ๊ฐœ

๊น€๋‹ค์˜ ๊น€๋‹ค์ธ ๋ฐ•์žฌํ˜• ์ •๋ฏผ์ง€ ์ตœ์„๋ฏผ
EDA DL ๋ชจ๋ธ๋ง,
Data ์ „์ฒ˜๋ฆฌ,
๋ฐœํ‘œ
Data ์ „์ฒ˜๋ฆฌ,
๋งž์ถค๋ฒ•๊ณผ ๋„์–ด์“ฐ๊ธฐ๋ฅผ
์ด์šฉํ•œ feature ์ƒ์„ฑ
EDA,
์กฐ์‚ฌ๋ฅผ ์ด์šฉํ•œ
feature ์ƒ์„ฑ
DL, ML ๋ชจ๋ธ๋ง

๐ŸŽˆ ์ฃผ์ œ ๋ฐ ๋Œ€ํšŒ ๋ชฉ์ 

  • ์ธ๊ฐ„์ด ํ‰๊ฐ€ํ•˜๋Š” ์ˆ˜์ค€์˜ ์—์„ธ์ด ์ž๋™ ํ‰๊ฐ€ ๋ชจ๋ธ ๊ตฌ์ถ• ํ•„์š”, ์ด๋ฅผ ํ†ตํ•ด ์ „๋ฌธ ๊ต์‚ฌ๊ฐ€ ํ‰๊ฐ€ํ•˜๋Š” ์ˆ˜์ค€์˜ ์ž๋™ ์ ์ˆ˜ ํ‰๊ฐ€ ๋ชจ๋ธ์ด ๊ตฌ์ถ• ๋ชฉํ‘œ
  • ์ธ๊ณต์ง€๋Šฅ ํ•™์Šต์šฉ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ์ธ๊ณต์ง€๋Šฅ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ & ์ธ๊ณต์ง€๋Šฅ ์‘์šฉ์„œ๋น„์Šค ํ™œ์šฉ ๊ณ„ํš์„ ํ†ตํ•ด ์ธ๊ณต์ง€๋Šฅ ํ•™์Šต์šฉ ๋ฐ์ดํ„ฐ ๊ตฌ์ถ• ๊ธฐ์ˆ ๊ฐœ๋ฐœ๊ณผ ์‚ฌ์—…ํ™”๋ฅผ ์œ„ํ•œ ์ฐฝ์˜์ ์ธ ์•„์ด๋””์–ด ํ™•๋Œ€

โœ ๋ฐ์ดํ„ฐ ์†Œ๊ฐœ

  • ์›์ฒœ๋ฐ์ดํ„ฐ
    • ํŠน์ • ์ฃผ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์ž‘์„ฑํ•œ ๋…ผ์ˆ  ํ˜•์‹์˜ ์—์„ธ์ด ๊ธ€ 5๋งŒ๊ฐœ ์ด์ƒ (๋Œ€์ƒ ์ดˆ๋“ฑ ๊ณ ํ•™๋…„ ๋ฐ ์ค‘๊ณ ์ƒ)
  • ํ•™์Šต๋ฐ์ดํ„ฐ
    • ์ˆ˜์ง‘ํ•œ ํ…์ŠคํŠธ๋ฅผ ๊ฐ ๋ฌธ์žฅ ๋‹จ์œ„ ๋˜๋Š” ๋‹จ๋ฝ ๋‹จ์œ„๋กœ ๊ตฌ์กฐํ™”
    • ์—์„ธ์ด ๊ธ€ ์ „์ฒด์™€ ๊ฐ ๋‹จ๋ฝ๋ณ„ ๋‚ด์šฉ์„ 3์ธ ์ด์ƒ์˜ ์ „๋ฌธ๊ต์‚ฌ๊ฐ€ ํ‰๊ฐ€ํ•œ ์ ์ˆ˜
    • 4๋งŒ๊ฑด์€ ํ‰๊ฐ€์ ์ˆ˜๋งŒ ํ‘œ๊ธฐํ•˜๊ณ , 1๋งŒ๊ฑด์— ๋Œ€ํ•ด์„œ๋Š” ๊ต์ •(์ฒจ์‚ญ)๋œ ๋‚ด์šฉ์„ ํฌํ•จํ•˜์—ฌ ๊ตฌ์ถ•

๐Ÿ’ป ํ”„๋กœ์ ํŠธ ๋‚ด์šฉ

1. ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ

์—์„ธ์ด์˜ ๋ฌธ๋งฅ๊ณผ ๋ฌธ๋ฒ•์„ ๋ชจ๋‘ ๊ณ ๋ คํ•˜๋Š” ์—์„ธ์ด ๋“ฑ๊ธ‰ ์ž๋™ ๋ถ„๋ฅ˜๊ธฐ

2. Model Algorithm

  • klue/roberta-large : ์—์„ธ์ด์˜ ๋ฌธ๋งฅ์„ ๊ณ ๋ คํ•˜์—ฌ ๋“ฑ๊ธ‰ ๋ถ„๋ฅ˜

  • LightGBM : ์—์„ธ์ด์˜ ๋ฌธ๋ฒ•์  ์š”์†Œ๋ฅผ ์ˆ˜์น˜ํ™”ํ•œ feature๋กœ ๋“ฑ๊ธ‰ ๋ถ„๋ฅ˜

3. Passage Data ์ „์ฒ˜๋ฆฌ

  • ์ •๊ทœํ‘œํ˜„์‹์„ ์ด์šฉํ•˜์—ฌ html ํƒœ๊ทธ ์ œ๊ฑฐ
    • ex) <span>, <div>
  • html ํŠน์ˆ˜์ฝ”๋“œ๋ฅผ ์‹ค์ œ ํ‘œํ˜„์œผ๋กœ ๋ณ€ํ™˜
    • &lt; --> <

    • &gt; --> >

    • &nbsp; --> โ€˜

    • &amp; --> &

4. Feature Engineering

1) ๋„์–ด์“ฐ๊ธฐ

  • PyKoSpaci๋ฅผ ์ด์šฉํ•ด์„œ ๋„์–ด์“ฐ๊ธฐ ๊ฒ€์‚ฌ ํ›„ ๋‹ฌ๋ผ์ง„ ๊ฐœ์ˆ˜๋ฅผ feature๋กœ ์‚ฌ์šฉ.
    • ํ•™์ƒ์ด ์“ด ๊ธ€: ๊ทธ๋Ÿผ์‹ธ์›€์ด๋‚˜์„œ ๋‹คํˆฌ๊ฒŒ ๋˜๊ณ  ์„œ๋กœ์‚ฌ์ด๊ฐ€๋ง‰๋ง‰ํ•ด์ง„๋‹ค.
    • ์ฒจ์‚ญ๋œ ๊ธ€ : ๊ทธ๋Ÿผ ์‹ธ์›€์ด ๋‚˜์„œ ๋‹คํˆฌ๊ฒŒ ๋˜๊ณ  ์„œ๋กœ ์‚ฌ์ด๊ฐ€ ๋ง‰๋ง‰ํ•ด์ง„๋‹ค.

2) ๋ฌธ๋ฒ• ๊ต์ •

  • PyHanspell๋ฅผ ์ด์šฉ, ํ•˜์ง€๋งŒ ๋„์–ด์“ฐ๊ธฐ๋„ ๊ฐ™์ด ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— f1 score๋ฅผ ์ด์šฉํ•˜๋ฉด index ๋ฌธ์ œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ. Rouge-L score๋ฅผ ์ด์šฉํ•˜์—ฌ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ์ œ์™ธํ•œ ๋ฌธ๋ฒ•๋งŒ ํ‹€๋ฆฐ ๊ฒƒ์„ ์ด์šฉํ•˜์—ฌ feature๋กœ ์‚ฌ์šฉ.
    • ํ•™์ƒ์ด ์“ด ๊ธ€: ํ•˜๋Š˜์„ ๋‚ ์•„๋‹ค๋‹ˆ๋Š” ๋“œ๋ก ๋“ค์ด ๋„๋กœ์— ๋‚˜์™€ ๋Œ์•„๋‹ค๋‹ ๊บผ ๊ฐ™๋‹ค.
    • ์ฒจ์‚ญ๋œ ๊ธ€: ํ•˜๋Š˜์„ ๋‚ ์•„๋‹ค๋‹ˆ๋Š” ๋“œ๋ก ๋“ค์ด ๋„๋กœ์— ๋‚˜์™€ ๋Œ์•„๋‹ค๋‹ ๊ฑฐ ๊ฐ™๋‹ค.

3) ๋ฌธ์žฅ ๋ถ€ํ˜ธ

  • ๋งจ ๋งˆ์ง€๋ง‰์ด ๋ฌธ์žฅ ๋ถ€ํ˜ธ๋กœ ๋๋‚˜๋Š”์ง€ ๊ฒ€์‚ฌ
  • ์ค‘๋ณต๋œ ๋ฌธ์žฅ๊ธฐํ˜ธ๊ฐ€ ์žˆ๋Š”๊ฐ€ ๊ฒ€์‚ฌ
    • ๋‚˜๋Š” ๋ญํ•˜๋Š”๊ฑฐ์•ผ?! ํ•˜๋ฉฐ ํ™”๋ฅผ ๋ƒˆ๋‹ค.
      • MeCab Pos Tagging: ('?', 'SF'), ('!', 'SY')
      • ('?', 'SF'), ('!?!!', 'SY'), ('.', 'SF'), ('........', 'SY') ์ค‘๋ณต๋œ ๋ฌธ์žฅ๊ธฐํ˜ธ์˜ ๊ฒฝ์šฐ ๋ชจ๋‘ SY๋กœ tagging๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•จ.
    • ๋”ฐ์˜ดํ‘œ์™€ ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ๊ฒฐํ•ฉ๋œ ๊ฒฝ์šฐ ๋ณธ ์ ์ˆ˜์— ํ•ด๋‹นํ•˜์ง€ ์•Š๊ฒŒ๋” ์ „์ฒ˜๋ฆฌ ์ง„ํ–‰.

4) ์–ด๋ฏธ

  • ๋ฌธ์žฅ์€ ์ข…๊ฒฐ์–ด๋ฏธ๋กœ ๋๋‚˜์•ผ ํ•จ.
  • ๋ฌธ์žฅ ์ข…๊ฒฐ ๋ถ€ํ˜ธ๊ฐ€ ์—†์ด ์ข…๋ฃŒ๋œ ๊ฒฝ์šฐ ์—ฐ๊ฒฐ์–ด๋ฏธ๋กœ pos tagging์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”.
  • ๊ฐ™์€ ๋ฌธ์žฅ์ด๋”๋ผ๋„ ๋งˆ์ง€๋ง‰ ๋ฌธ์žฅ๋ถ€ํ˜ธ(SF)์—ฌ๋ถ€์— ๋”ฐ๋ผ ์ข…๊ฒฐ์–ด๋ฏธ (EF)์ด ๋˜๊ธฐ๋„, ์—ฐ๊ฒฐ์–ด๋ฏธ(EC)๊ฐ€ ๋˜๊ธฐ๋„ ํ•จ.
    • MeCab Pos Tagging: ('์นœ๊ตฌ', 'NNG'), ('๊ฐ€', 'JKS'), ('๋ ', 'VV+ETM'), ('์ˆ˜', 'NNB'), ('์žˆ', 'VV'), ('๋‹ค', 'EF'), ('.', 'SF')
    • MeCab Pos Tagging: ('์นœ๊ตฌ', 'NNG'), ('๊ฐ€', 'JKS'), ('๋ ', 'VV+ETM'), ('์ˆ˜', 'NNB'), ('์žˆ', 'VV'), ('๋‹ค', 'EC')

5) ์–ด์ˆœ

  • ์ฃผ๊ฒฉ์กฐ์‚ฌ ์•ž์—๋Š” ์ฒด์–ธ์ด ์žˆ์–ด์•ผ ํ•จ.
  • ๋ณด๊ฒฉ์กฐ์‚ฌ ์•ž์—๋Š” ์ฒด์–ธ์ด ์žˆ์–ด์•ผ ํ•จ.
  • ๋ชฉ์ ๊ฒฉ์กฐ์‚ฌ ๋’ค์— ์ผ๋ถ€ ์ฒด์–ธ์ด ์žˆ์œผ๋ฉด ์–ด์ƒ‰ํ•จ.
    • Ex) ๋ชฉ์ ๊ฒฉ ์กฐ์‚ฌ์˜ ์˜ˆ์‹œ
      • ํ•™์ƒ์ด ์“ด ๊ธ€: ('๋ฐ”๋‹ค', 'NNG'), ('๋ฅผ', 'JKO'), ('์‚ฌ๋žŒ', 'NNG'), ('๋“ค', 'XSN'), ('์€', 'JX')

      • ์ฒจ์‚ญ๋œ Data: ('์‚ฌ๋žŒ', 'NNG'), ('๋“ค', 'XSN'), ('์€', 'JX'), ('๋ฐ”๋‹ค', 'NNG'), ('๋ฅผ', 'JKO')

5. Modeling

  • ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ๋งฅ๊ณผ ๋ฌธ๋ฒ•์„ ๋‘˜ ๋‹ค ๊ณ ๋ คํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํŒ๋‹จ.
  • ๋ฌธ๋ฒ•์ ์ธ ์š”์†Œ๋Š” ์ˆ˜์น˜์ƒ์œผ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ •ํ˜• ๋ฐ์ดํ„ฐ ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•จ.
  • ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์—์„œ๋Š” ๋ฌธ๋งฅ์ ์ธ ์š”์†Œ๋ฅผ ๊ณ ๋ คํ•˜๋„๋ก ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•จ.
  • ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ๊ณผ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์— input๊ฐ’์„ ๋‹ค๋ฅด๊ฒŒ ๋„ฃ์–ด์คŒ์œผ๋กœ์จ ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์„ฑ์œผ๋กœ ์—์„ธ์ด๋ฅผ ํ‰๊ฐ€ํ•˜๊ฒŒ ์œ ๋„ํ•จ. ๊ทธ ๋’ค์— ์•™์ƒ๋ธ”์„ ์ง„ํ–‰ํ•˜์—ฌ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑํ•จ.
    • ๋”ฅ๋Ÿฌ๋‹ : ์—์„ธ์ด ์›๋ฌธ

    • ๋จธ์‹ ๋Ÿฌ๋‹ : ์œ„์— ์ถ”๊ฐ€ํ•œ ๋ฌธ๋ฒ•์ ์ธ feature + ์ฑ„์  ๊ธฐ์ค€์ด ๋˜๋Š” ๊ฐ€์ค‘์น˜

6. Metric

  • ์‚ฌ๋žŒ๋งˆ๋‹ค ํ‰๊ฐ€ ๊ธฐ์ค€์ด ๋‹ค๋ฅธ ์—์„ธ์ด์˜ Metric์„ ์ •ํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ์–ด๋ ค์›€์ด ๋งŽ์•˜์Œ.

  • ์‹ค์ œ ์—์„ธ์ด ํ‰๊ฐ€๋Š” ์ƒ๋Œ€์ ์ด๋ผ ํŒ๋‹จ์„ ํ•˜๊ณ , ์ฑ„์ ์„ ์ง„ํ–‰ํ•˜๋Š” ์ง‘๋‹จ์˜ ์ƒ์œ„ Score๋ถ€ํ„ฐ 25%์”ฉ 4๊ฐœ์˜ ๋“ฑ๊ธ‰(A, B, C, D)์„ ๋งค๊น€.

  • ๊ธฐ์กด Score ๊ธฐ์ค€์œผ๋กœ ๋งค๊ธด ๋“ฑ๊ธ‰๊ณผ ์˜ˆ์ธกํ•œ Score ๊ธฐ์ค€์œผ๋กœ ๋งค๊ธด ๋“ฑ๊ธ‰์˜ ์ผ์น˜ํ•จ์„ ๊ธฐ์ค€์œผ๋กœ Accuracy๋ฅผ ์‚ฐ์ถœํ•˜์˜€๊ณ  ์ด๋ฅผ ํ‰๊ฐ€ Metric์œผ๋กœ ์‚ฌ์šฉ.

7. ๊ฒฐ๊ณผ (Accuracy)

  • ML(LightGBM) : 38.8%

  • DL(RoBERTa-Large) : 42%


๐Ÿ† ๊ฒฐ๊ณผ

1์œ„


๐Ÿ”ฅ ๋Š๋‚€์ 

  • ๊น€๋‹ค์˜: ๋ฐ์ดํ„ฐ์˜ ์ •์ œ๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ๋˜์–ด์žˆ์ง€ ์•Š์•„์„œ ์ •๋ฆฌํ•˜๋Š” ๋ฐ์— ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค. ์ด๋ฒˆ ํ•ด์ปคํ†ค์„ ํ†ตํ•ด ๋ฌธ๋ฒ•์ด ์•„๋‹Œ ๋ฌธ๋งฅ ๊ฐ™์€ ๊ธ€์˜ ๋‹ค์–‘ํ•œ ์„ ํ‰๊ฐ€ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์— ์š•์‹ฌ๋„ ์ƒ๊ฒผ๋‹ค.
  • ๊น€๋‹ค์ธ: ์ƒ๊ฐ๋ณด๋‹ค Accuracy๊ฐ€ ๋„ˆ๋ฌด ์•ˆ ๋‚˜์˜จ ์ ์ด ๊ฐ€์žฅ ์•„์‰ฝ๋‹ค. ์ ์ˆ˜๋ฅผ ์˜ฌ๋ฆฌ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋“ค์„ ์‹œ๊ฐ„ ๋ฌธ์ œ๋กœ ์ ์šฉํ•˜์ง€ ๋ชปํ–ˆ๊ธฐ์— ๋‹ค์Œ์—” ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์— ๋”์šฑ ์‹ ๊ฒฝ์จ์•ผ๊ฒ ๋‹ค.
  • ๋ฐ•์žฌํ˜•: ์—์„ธ์ด ๋ฐ์ดํ„ฐ๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ ์œ„ํ•ด feature๋ฅผ ๋งŒ๋“ค์–ด๋„ ์‹ค์ œ ์ ์ˆ˜์— ์˜ํ–ฅ์ด ์žˆ๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด ๋งค์šฐ ์–ด๋ ค์› ์ง€๋งŒ ์žฌ๋ฏธ์žˆ์—ˆ๋‹ค. ๋ชจ๋ธ ๊ฒฐ๊ณผ๊ฐ€ ๋งŽ์ด ๋‚ฎ์•„์„œ ์กฐ๊ธˆ ์•„์‰ฝ์ง€๋งŒ ์งง์€ ์‹œ๊ฐ„ ๋‚ด์— ๋‹ค์–‘ํ•œ ์‹คํ—˜์„ ํ•  ์ˆ˜ ์žˆ์–ด์„œ ์ข‹์•˜๋‹ค.
  • ์ •๋ฏผ์ง€: ํ…์ŠคํŠธ ์ž๋™ ํ‰๊ฐ€์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ์ƒ๊ฐ๋ณด๋‹ค ๋งŽ์ด ์—†๋Š” ๊ฒƒ์— ๋†€๋ž๊ณ , ํ‰๊ฐ€ ์•„์ด๋””์–ด๋ฅผ ๋‚ด๋Š” ๊ณผ์ •์ด ์–ด๋ ค์› ๋‹ค. ๊ทธ๋ž˜๋„ ์งง์€ ์‹œ๊ฐ„์— ์žฌ๋ฏธ์žˆ๊ฒŒ ์ฐธ์—ฌํ•œ ๋Œ€ํšŒ์ธ ๊ฒƒ ๊ฐ™๋‹ค.
  • ์ตœ์„๋ฏผ: ์ฃผ์–ด์ง„ ์งง์€ ์‹œ๊ฐ„๋‚ด์— ๊ฒฐ๊ณผ๋ฌผ์„ ๋‚ด์•ผํ•œ๋‹ค๋Š” ๊ฒƒ์ด ์–ด๋ ค์› ๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ๋งž๋Š” ํ‰๊ฐ€ ์ง€ํ‘œ์™€ ๋ชจ๋ธ๋ง์„ ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์› ์ง€๋งŒ, ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜์—ฌ์„œ ์ข‹์€ ์„ฑ๊ณผ๊นŒ์ง€ ๋‚ผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

About

[๐Ÿฅ‡1st solution] ์—์„ธ์ด ๊ธ€ ๋ฐ์ดํ„ฐ ์ธ๊ณต์ง€๋Šฅ ํ•™์Šต์šฉ ๋ฐ์ดํ„ฐ ํ•ด์ปคํ†ค

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published