๊ณฐํ๋ค ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ๋ฌธ์ฅ ๊ฐ ์ ์ฌ๋๋ฅผ ๊ณ์ฐํ๋ ๋ชจ๋ธ์ ๊ตฌ์ฑํ ๋์ Bi-Encoder ๊ตฌ์กฐ ์ค ํ๋์ธ SentenceBERT๋ฅผ ์ฌ์ฉํด ํ์ต์ํค๊ณ ์ ํ๋ค. ๋น์์ Cross-Encoder์ Bi-Encoder ๋ฐฉ์์ ์ฌ์ฉํ ๋ ์ฑ๋ฅ ๋ฟ๋ง์ด ์๋๋ผ ์๋ ์ฐจ์ด๋ ๋งค์ฐ ์ปธ์์๋ค. ํ์ง๋ง ์ด๋ฌํ ๊ฒ์ด ์ด๋ค ์์ธ์์ ๊ธฐ์ธํ๋์ง ์ ํํ๋ ์์ง ๋ชปํ๊ณ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ๋ค ์ฐ๊ธฐ ๋ฐ๋นด๋ ๊ฒ ๊ฐ๋ค. ์ด์ ํด๋น ๋ถ๋ถ์ ์ ๋ฆฌํ๊ณ ๋ค์ ํฌ์คํธ์์๋ 1ํ๋ ์ ์๋ฃํ SentenceBERT ๋ฆฌ๋ทฐ๋ฅผ ์์ฑํ๊ณ ์ ํ๋ค.
์ ํต์ ์ธ BERT ๊ตฌ์กฐ๋ฅผ ํตํด ๋ฌธ์ฅ ๊ฐ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ค๊ณ ์๊ฐํด๋ณด์. Classification ํน์ Regression์ ํ๊ธฐ ์ํด์๋ ํ๋์ Encoder ๊ตฌ์กฐ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ด๋๊ธฐ ์ํ layer๋ฅผ ์ถ๊ฐ๋ก ์๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ Encoder์ ๋ฌธ์ฅ Pair(ํน์ Triplet)์ ๋ฃ์ด์ฃผ๊ณ ๋ชจ๋ธ์์ ๋์จ CLS ํ ํฐ์(ํน์ Mean / Max Pooling์ ๊ฑฐ์น ๋ฒกํฐ๋ฅผ) ์ถ๊ฐ๋ layer์ ๋ฃ์ด์ฃผ์ด ๊ฒฐ๊ณผ๊ฐ ๋ํ๋๋๋ก ๋ง๋ค์ด์ค๋ค.
Pre-trained ๋ชจ๋ธ์ ๊ฐ์ ธ์์ fine-tuning์ ์งํ์ ํด๋ณด์๋ค๋ฉด ์ด์ฒ๋ผ ๋ ๊ฐ์ ๋ฌธ์ฅ์ด ํ ๋ฒ์ [SEP]ํ ํฐ์ผ๋ก ๋๋์ด์ง ๊ตฌ์กฐ๊ฐ ์ต์ํ ๊ฒ์ด๋ค. ํ์ง๋ง ์ฌ๊ธฐ์๋ ํฐ ๋ฌธ์ ์ ์ด ์๋ค.
ํด๋น ๋ชจ๋ธ์์ ๋์ค๋ ๊ฒฐ๊ณผ๋ฌผ์ ๊ฒฐ๊ตญ ์๋ฒ ๋ฉ์ด ์๋๋ผ ๋ฌธ์ฅ Pair๊ฐ ๋ค์ด๊ฐ์ ๋์ ์ฐ์ฐ ๊ฒฐ๊ณผ์ด๋ค. ์ฆ, [CLS] ํ ํฐ์ ๊ตฌํด์ค ํ์ ๊ทธ๊ฒ์ ์ถ๊ฐ์ ์ธ layer์ input์ผ๋ก ๋ฃ์ด์ฃผ๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ์ ์๋นํ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ์ ๋ฐ์ ์๋ค. ๋ํ Test ํ๊ฒฝ์์๋ ํด๋น ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฌธ์ฅ pair๊ฐ ๋ค์ด๊ฐ ๋๋ง๋ค ์ ์ฌ๋๋ฅผ ์ ์ฒด ๋ชจ๋ธ์์ ๊ตฌํด์ฃผ์ด์ผ ํ๋ฏ๋ก ๋งค์ฐ ๋์ ์ฐ์ฐ์ด ํ์ํ๋ค. n๊ฐ์ ๋ฐ์ดํฐ์ ๋ํด์ ์์ ์ ์ ์ธํ n-1๊ฐ์ ๋น๊ต๋ฅผ ํ๋ฉฐ ํ์ตํด์ผ ํ๋ฏ๋ก ์ด ์ ์ฐ์ฐ์ด ํ์ํ๋ค.
๋ํ ์ด๋ ๋ฌธ์ฅ ๊ฐ์ ์ ์ฌ๋๋ฅผ ๊ณ์ฐํด์ฃผ๋ ๋ชจ๋ธ์ ํ์ตํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ Encoder๊ฐ ํ์ตํ๋ค๋ผ๊ณ ๋ณด๊ธฐ๋ ์ด๋ ต๋ค. ๋จ์ผ ๋ฌธ์ฅ์ด Encoder์ ๋ค์ด๊ฐ์ ๊ทธ๊ฒ์ ์๋ฏธ์ ์ผ๋ก ์ ์ ํ ์์น์ ์๋ฒ ๋ฉ์์ผ์ฃผ๋ ๊ฒ์ด ๋ชฉํ๊ฐ ์๋๋ผ ๋ฌธ์ฅ ์ ์ฌ๋๋ฅผ ์ผ๋ง๋ ์ ๋ด๋ณด๋ด๋ ๋ชจ๋ธ์ด๋๊ฐ ๋ชฉํ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๊ทธ๋ ๋ค๋ฉด ์์ ๋จ์ ์ ๋ณด์ํ๊ธฐ ์ํด์๋ ์ด๋ค ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ข์๊น? ์ฐ๋ฆฌ์ Encoder๊ตฌ์กฐ๋ฅผ ์ถ๊ฐ์ ์ธ layer๊ฐ ์๋๋ผ ์ ๋ง Encoder ๊ทธ ์ญํ ์ ์ถฉ์คํ ๋ชจ๋ธ์ ๋ง๋๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น๋ผ๋ ์ง๋ฌธ์ ๋ํ ๋๋ต์ Encoder ์์ ์ถ๊ฐ์ ์ธ layer๋ฅผ ์์ง ์์ผ๋ฉด ๋๋ค. Encoder๋ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ ์ถฉ์คํ๋๋ก ๋ง๋ค๊ณ layer๊ฐ ์๋๋ผ ์ถ๊ฐ์ ์ธ ์ธ๋ถ ๊ตฌ์กฐ๋ก ๊ฒฐ๊ณผ๋ฌผ(์ฌ๊ธฐ์๋ ์ ์ฌ๋)๋ฅผ ๊ตฌํด์ฃผ๋ ๊ตฌ์กฐ์ด๋ค. ์ด๋ฅผ Bi-Encoder ๊ตฌ์กฐ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
A๋ฌธ์ฅ, B๋ฌธ์ฅ์ ํ๋์ Encoder์ ๋ค์ด๊ฐ๋ ๊ฒ์ด ์๋๋ผ ๋ Encoder์ ๊ฐ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋๋ค. ๋ฌธ์ฅ๋ค์ ๊ฐ๊ฐ ์๋ฒ ๋ฉ์ด ๋๋ฉฐ ๊ทธ๊ฒ๋ค์ ๊ฒฐ๊ณผ๊ฐ Score๋ฅผ ์ฐ์ฐํด์ฃผ๋ ๊ตฌ์กฐ๋ฅผ ํตํด ์ฐ์ฐ์ด ๋๋ค. ์์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ๋ฏธ๋ฆฌ ํ์ต๋ ๋ฌธ์ฅ๋ค(A, B๋ฌธ์ฅ)์ ์๋ฒ ๋ฉ์ด ์๋ฃ๋์ด ์ ์ฅ๋๊ฒ ๋๋ค. Test ํ๊ฒฝ์์ ๋ฌธ์ฅ๋ค์ด ์ฃผ์ด์ง๋ฉด(C, D๋ฌธ์ฅ) ๋ชจ๋ธ์ ์ด๋ฏธ ์ ์ฅ๋ ์๋ฒ ๋ฉ์ ๋ฐํ์ผ๋ก ๋น ๋ฅด๊ฒ ์๋ฒ ๋ฉ์ ์ฐ์ฐํด์ฃผ๊ฒ ๋๊ณ ์ด๋ค์ ๋ํ ๊ฒฐ๊ณผ๋ฌผ์ ์ธ๋ถ์ ๊ตฌ์กฐ๋ก ์ฐ์ฐ๋ง ํด์ฃผ๋ฉด ๋๋ค.
์ด๋ฅผ ํตํด ๋งค์ฐ ๋น ๋ฅด๊ณ ๊ฐ๊ฐ์ ์ญํ ์ด ๋ช ํํ ๊ตฌ์กฐ๊ฐ ํ์ฑ์ด ๋๋ค. ํ์ง๋ง Bi-Encoder ๊ตฌ์กฐ๋ ๋จ์ ์ด ์๋ค. ํ๋์ Cross Encoder๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค ์ฑ๋ฅ์ด ๋จ์ด์ง๋ค๋ ๊ฒ์ด๋ค. ์๋ํ๋ฉด Cross Encoder๋ ๊ทธ ๊ฒฐ๊ณผ๋ฌผ ์์ฒด๋ฅผ ์ ๋ด๊ธฐ ์ํด ๊ตฌํ๋ ๋ชจ๋ธ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
BERT๋ก๋ถํฐ ๋ฌธ์ฅ ๋ฒกํฐ๋ฅผ ์ป๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์กด์ฌ
๊ทธ์ค ๋ํ์ ์ธ 3๊ฐ์ง ๋ฐฉ๋ฒ
1) ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ [CLS] ํ ํฐ์ ์ถ๋ ฅ ๋ฒกํฐ๋ฅผ ๋ฌธ์ฅ ๋ฒกํฐ๋ก ๊ฐ์ฃผํ๋ ๊ฒ
2) ๋๋ฒ์งธ ๋ฐฉ๋ฒ์ BERT์ ๋ชจ๋ ๋จ์ด์ ์ถ๋ ฅ ๋ฒกํฐ์ ๋ํด์ ํ๊ท ํ๋ง์ ์ํํ ๋ฒกํฐ๋ฅผ ๋ฌธ์ฅ ๋ฒกํฐ๋ก ๋ณด๋ ๊ฒ
์ด๋ CNN ๋ฐฉ์์์ ์ฌ์ฉํ๋ Pooling๊ณผ ๋์ผํ๋ค
3) ์ธ๋ฒ์งธ ๋ฐฉ๋ฒ์ 2๋ฒ๊ณผ ๋์ผํ์ง๋ง ํ๊ท ํ๋ง์ด ์๋ Max Pooling์ ์งํํด์ฃผ๋ ๊ฒ
์ด๋ ํ๊ท ํ๋ง์ ํ๋๋์ ๋งฅ์ค ํ๋ง์ ํ๋๋์ ๋ฐ๋ผ์ ํด๋น ๋ฌธ์ฅ ๋ฒกํฐ๊ฐ ๊ฐ์ง๋ ์๋ฏธ๋ ๋ค์ ๋ค๋ฅธ๋ฐ, ํ๊ท ํ๋ง์ ์ป์ ๋ฌธ์ฅ ๋ฒกํฐ์ ๊ฒฝ์ฐ์๋ ๋ชจ๋ ๋จ์ด์ ์๋ฏธ๋ฅผ ๋ฐ์ํ๋ ์ชฝ์ ๊ฐ๊น๋ค๋ฉด, ๋งฅ์ค ํ๋ง์ ์ป์ ๋ฌธ์ฅ ๋ฒกํฐ์ ๊ฒฝ์ฐ์๋ ์ค์ํ ๋จ์ด์ ์๋ฏธ๋ฅผ ๋ฐ์ํ๋ ์ชฝ์ ๊ฐ๊น๋ค.
Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks ๋ผ๋ ๋ ผ๋ฌธ์์ ์ฒ์ ๋ฑ์ฅํ๋ค.
SBERT๋ ๊ธฐ๋ณธ์ ์ผ๋ก BERT์ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ ์ฑ๋ฅ์ ์ฐ์ํ๊ฒ ๊ฐ์ ์ํจ ๋ชจ๋ธ
๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ ๋์ผํ๊ฒ ๊ฐ์ ธ๊ฐ๋ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ ๋์ฑ ํจ๊ณผ์ ์ผ๋ก ํ๊ณ ์ ํ๋ค.
ํนํ๋ SentenceBERT(์ดํ SBERT)๋ NLI ํน์ STS ๋ถ๋ถ์์ ์ข์ ์ฑ๋ฅ์ ๋ณด์ด๋๋ก fine-tuning์ํค๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ๋๋ ๋ชจ๋ธ
๋ชจ๋ธ ์์ฒด๊ฐ ์ด์ ๋ํ Score ์์ฃผ๋ก ์ธก์ ์ด ๋์ด ์๋ค.
SBERT์ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค
ํด๋น ํ์์ Bi-encoder ํ์์ ๋ฐ๋ฅด๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์์ BERT์ ๋ฌธ์ฅ ์๋ฒ ๋ฉ์ ์ป๊ธฐ์ํ ๋ฐฉ์์ด๋ผ๊ณ ์ธ๊ธํ๋ ํ๊ท ํ๋ง ๋๋ ๋งฅ์ค ํ๋ง์ ํตํด์ ๊ฐ๊ฐ์ ๋ํ ๋ฌธ์ฅ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ์ป๋๋ค
์ด๋ฅผ ๊ฐ๊ฐ u์ v๋ผ๊ณ ํ ๋ u๋ฒกํฐ์ v๋ฒกํฐ์ ์ฐจ์ด ๋ฒกํฐ๋ฅผ ๊ตฌํ๋ค. ์ด ๋ฒกํฐ๋ ์์์ผ๋ก ํํํ๋ฉด ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ์ธ ๊ฐ์ง ๋ฒกํฐ๋ฅผ ์ฐ๊ฒฐ(concatenation)ํ๋ค. ์ธ๋ฏธ์ฝ๋ก (;)์ ์ฐ๊ฒฐ ๊ธฐํธ๋ก ํ๋ค๋ฉด ์ฐ๊ฒฐ๋ ๋ฒกํฐ์ ์์์ ๋ค์๊ณผ ๊ฐ๋ค.
๋ง์ฝ BERT์ ๋ฌธ์ฅ ์๋ฒ ๋ฉ ๋ฒกํฐ์ ์ฐจ์์ดย n ์ด๋ผ๋ฉด ์ธ ๊ฐ์ ๋ฒกํฐ๋ฅผ ์ฐ๊ฒฐํ ๋ฒกํฐย h ์ ์ฐจ์์ย 3n์ด ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๋ฒกํฐ๋ฅผ ์ถ๋ ฅ์ธต์ผ๋ก ๋ณด๋ด ๋ค์ค ํด๋์ค ๋ถ๋ฅ ๋ฌธ์ ํน์ Regression์ ํตํ STS ๋ฌธ์ ๋ฅผ ํ๋๋ก ํ๋ค.
NLI๋ผ๋ฉด 3๊ฐ์ง class(contradiction, Entailment, Neutral)๋ฅผ ๋ถ๋ฅํ๋๋ก ํ์ต์ํค๋ฉฐ STS์ ๊ฒฝ์ฐ 0~5์ ๊ฒฐ๊ณผ๊ฐ์ ๋ด๋ณด๋ด๋๋ก ํ์ต์ํจ๋ค.
Classification์ ๊ฒฝ์ฐ๋ผ๋ฉด ๋ถ๋ฅํ๊ณ ์ ํ๋ ํด๋์ค์ ๊ฐ์๊ฐย k ๋ผ๋ฉด, ๊ฐ์ค์น ํ๋ ฌย 3nย Xย k ์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ ํ๋ ฌย ์ ๊ณฑํ ํ์ ์ํํธ๋งฅ์ค ํจ์๋ฅผ ํต๊ณผ์ํจ๋ค๊ณ ๋ ๋ณผ ์ ์๋ค. ์์์ ์๋์ ๊ฐ๋ค
์ด๋ฌํ ๊ตฌ์กฐ๋ STS(Semantic Textual Similarity)์์๋ ๋งค์ฐ ํจ๊ณผ์ ์ด๋ค
์ด๊ฒ๋ ๋์ผํ๊ฒ ๋ฌธ์ฅ A์ ๋ฌธ์ฅ B ๊ฐ๊ฐ์ BERT์ ์ ๋ ฅ์ผ๋ก ๋ฃ๊ณ , ํ๊ท ํ๋ง ๋๋ ๋งฅ์ค ํ๋ง์ ํตํด์ ๊ฐ๊ฐ์ ๋ํ ๋ฌธ์ฅ ์๋ฒ ๋ฉ ๋ฒกํฐ๋ฅผ ์ป๋๋ค.
์ด๋ฅผ ๊ฐ๊ฐ u์ v๋ผ๊ณ ํ์์ ๋ ์ด ๋ ๋ฒกํฐ์ ์ฝ์ฌ์ธ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ค.
๊ทธ๋ฆฌ๊ณ ํด๋น ์ ์ฌ๋์ ๋ ์ด๋ธ ์ ์ฌ๋์์ ํ๊ท ์ ๊ณฑ ์ค์ฐจ(Mean Squared Error, MSE)๋ฅผ ์ต์ํํ๋ ๋ฐฉ์์ผ๋ก ํ์ต์ํจ๋ค.
์ฝ์ฌ์ธ ์ ์ฌ๋์ ๊ฐ์ ๋ฒ์๋ -1๊ณผ 1์ฌ์ด๋ฏ๋ก ์ ๋ฐ์ดํฐ์ ๊ฐ์ด ๋ ์ด๋ธ ์ค์ฝ์ด์ ๋ฒ์๊ฐ 0~5์ ์ด๋ผ๋ฉด ํ์ต ์ ํด๋น ๋ ์ด๋ธ๋ค์ ๊ฐ๋ค์ 5๋ก ๋๋์ด ๊ฐ์ ๋ฒ์๋ฅผ ์ค์ธ ํ ํ์ตํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ชจ๋ธ์ ํ์ตํ๋๋ฐ ์์ด์ ์ ํ์ ๋ฐ๋ผ
1) ๋ฌธ์ฅ ์ ๋ถ๋ฅ ํ์คํฌ๋ก๋ง ํ์ธ ํ๋ ํ ์๋ ์๊ณ ,
2) ๋ฌธ์ฅ ์ ํ๊ท ํ์คํฌ๋ก๋ง ํ์ธ ํ๋ ํ ์๋ ์์ผ๋ฉฐ
1)์ ํ์ตํ ํ์ 2)๋ฅผ ํ์ตํ๋ ์ ๋ต์ ์ธ์ธ ์๋ ์๋ค.
์ฐธ๊ณ ๋ฌธํ :