CLICK: Constrastive Learning for Injecting Contextual Knowledge to Conversational Recommender System
์์ฆ ๋ํํ ์ฑ๋ด์ ๊ด์ฌ์ด ๋ง๋ค.
๊ทธ๋ฐ๋ฐ chatGPT์ ๋ํ๋ฅผ ํด ๋ณด์์ ๋, ๋ด๊ฐ ์ข์ํ๋ ๊ฒ์ด ๋ญ์ง ๋ฑ ์๋ ค์ฃผ์ง ์์ผ๋ฉด ์ ๋๋ก ํ์ ๋ชปํ๋ ๊ฒฝ์ฐ๊ฐ ์์ฒญ ๋ง๋ค.
์ด์ ๋ํ๋ง์ผ๋ก ๋์ ์ ํธ๋๋ฅผ ํ์ ํ๋ ์ฑ๋ด์ ์์๊น? ๊ด๋ จํด์ ์ ๋ฐํ ์๊ณ ๋ฆฌ์ฆ์ ์์๊น? ์ ๋ํด ์๊ฐํด ๋ณด์๊ณ , ์ ๋ ผ๋ฌธ์ ์ ํ๊ฒ ๋๋ค. ์์ธํ, ์ด์ฌํ ์ฝ์์ผ๋, ์ฝ์ ํ์ ์ ์ฒจ๋ถํด์ผ๊ฒ ๋ค. (ํ๊ธฐ ๋ง์ ์ฃผ์)
Abstract
ํ์กดํ๋ ๋ํํ ์ถ์ฒ ์์คํ (Conversational Recommender Systems. ์ค์ฌ์ CRS๋ผ๊ณ ๋ถ๋ฅด๋๋ผ.)์ ๋ํ๋ง์ผ๋ก ์ ์ฒด์ ์ธ ์ ์ ์ ํธ๋๋ฅผ ์์ง ๋ชปํ๋ค. ์ ํธํ๋ item์ด ๋ํ์์ ๋์ค์ง ์๋๋ค๋ฉด, ์ ์ ์ ํธ๋๋ฅผ ๋ถ์ํ๋ ๊ฒ์ ์์ด์ ์ด๋ ค์์ด ์๋ ๊ฒ์ด๋ค.
์ด์ ํด๋น ๋ ผ๋ฌธ์ CLICK์ ์ ์ํ๋ค. CLICK๋ ๋ํ ๋ฌธ๋งฅ ๋ด์์ '์ฌ์ฉ์๊ฐ ์ ํธํ๋ item'์ด ๋ฑ์ฅํ์ง ์์๋๋ผ๋, ๋ํ๋ง์ ํตํด context-level์ ์ ์ ์ ํธ๋๋ฅผ ํ์ ํ๋ ๊ฒ์ด๋ค. ๊ฒ๋ค๊ฐ relevance-enhanced contrastive learning loss๋ฅผ ๊ณ ์ํ์ฌ ์ฌ์ฉ์์๊ฒ ๋ํ ์ผํ๊ณ ์ธ๋ฐํ๊ฒ ์ถ์ฒํ๋ค. (relevance-enhanced contrastive learning loss๋ฅผ ์ง์ญํด ๋ณด๋, 'ํน์ ์์๋ ํน์ง์ ์ค์ํ๊ฒ ์ฌ๊ธฐ๋, ์ธ์คํด์ค ๊ฐ์ ์์ด์ฑ์ ์ธก์ ํ๋ ํจ์' ์ด๋ค.)
์ฌ๊ธฐ์ CLICK์ ์ง๋ฌธ์ ๋ํด ๋๊ธ๋ก ์ถ์ฒ์ ํด์ฃผ๋ ์ปค๋ฎค๋ํฐ Reddit์ data๋ฅผ CRS task์ ์ด์ฉํ๋ค.
Introduction
์์ ๋ฐฉ์์ธ, ํด๋ฆญ์ด๋ ๊ตฌ๋งค ๋ฐ์ดํฐ๋ก ์ฌ์ฉ์์ ์ ํธ๋๋ฅผ ํ์ ํ๋ ๋ฐฉ์์ ์ ํธ๋์ ๋์ ๋ชจ๋ธ๋ง์ด ๋ถ๊ฐํ๋ค. (์ ์ ์ผ๋ก ๊ทธ๋๊ทธ๋ ์ฌ์ฉ์์ ์ทจํฅ์ ์กฐ์ฌํด์ผ ํจ.) ํด๋น ๋ฌธ์ ๋ฅผ CRS๊ฐ ์ก์์ค๋ค. ์๋ ๊ทธ๋ฆผ์ ๋ณด๊ณ ์ฑ๋ด์ ์ฌ์ฉํด ๋ณธ ๊ฒฝํ์ ๋ ์ฌ๋ฆฌ๋ฉด ๊ธ๋ฐฉ ์ดํด๋๋ค.

๊ทธ๋ฌ๋ ์๊ฐ์ ํด๋ณด๋ฉด, ์ ์ ๊ฐ '๋๋ ์ฌ๊ณผ๋ฅผ ์ข์ํด'์ฒ๋ผ ๋ํ์์ ์์ ์ด ์ข์ํ๋ item์ ๋ ธ์ถํ๋ ๊ฒฝ์ฐ๋ ์์ง๋ง, ์ ๋ํ์ ๊ฐ์ด ๋ ธ์ถํ์ง ์๋ ๊ฒฝ์ฐ๋ ์๋นํ ๋ง๋ค. ํด๋น ์ํฉ์์ ์ฌ๋์ ๊ฒฝ์ฐ์๋ ๊ณ์ ๋ํํด ๋ณด๋ฉฐ ์๋๋ฐฉ์ด ์ด๋ค ๊ฒ์ ์ข์ํ๋์ง ์์, ๊ฑฐ์ ํ์ ์ ํ ์ ์๋ ๋ฐ๋ฉด, ์ฑ๋ด์ ์์์ฐจ๋ฆฌ๊ธฐ ์ด๋ ต๋ค. ์ด์ CLICK์ ๋ฌธ๋งฅ์์ ์ ํธํ๋ item์ ์ ์ถํ๋ฉฐ, ํด๋น ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ณ , ๋์๊ฐ ์ฌ์ฉ์์๊ฒ ์ธ๋ฐํ ์ถ์ฒ์ ์ ๊ณตํ๋ค.
๊ณผ์ฐ ์ด๋ป๊ฒ ํ๋ ๊ฒ์ผ๊น?
์ฐ์ CLICK์ knowledge graph(์ค์ฌ์ KG)์ Reddit data๋ฅผ ์ด์ฉํ์ฌ ๋ํ๋ก๋ถํฐ context-level์ ์ ํธ๋๋ฅผ ์์๋ธ๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ ๋ฌธ์ ๊ฐ ์๋ค. ๋ฐ๋ก ๋ฐ์ดํฐ๋ค์ modality(์์)์ด ๋ค๋ฅด๋ค๋ ๋ฌธ์ ์ด๋ค. ์ด๋ ์ถ์ฒ๋ ์์ดํ ๊ณผ ๋ฌผ์ด๋ณด๋ text๋ฅผ ์ง์ง์ด ๋์ดํ๊ณ , ์กฐ๊ธ ํน๋ณํ contrastive learning์ ์งํํ์ฌ ํด๊ฒฐํ๋ค.
๋ณธ๋ contrastive learning์ด๋ผ๊ณ ํ๋ฉด, positive์ negative์ผ๋ก๋ง ๋๋๋๋ฐ, ์ฌ๊ธฐ์๋ positive๋ผ๋ฆฌ์ ์๋์ ์ฐ๊ด์ฑ์ ๊ตฌํ๋ค. ์ด๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๊ฒ์ด relevance-enhanced contrastive learning loss function์ด๋ค. (ํด๋น ํจ์์ ๋ํด์๋ ๋ค์์ ๋ ์์ธํ๊ฒ ์ค๋ช ๋๋ค.) ๊ฒฐ๊ณผ์ ์ผ๋ก ์ด๊ฒ์ ์ฌ์ฉํ๋ฉด, entity์ context-level์ ๊ด์ ๋๋ค๋ก๋ถํฐ ์ถ์ถ๋ ์ ํํ ์ถ์ฒ์ ์ ๊ณตํ๋ค.
Related Work
1. CRS (Conversational Recommender Systems)
์์ ์ค๋ช ํ๋ฏ์ด, CRS๋ ์ ์ ์ธ interaction history๋ณด๋ค ๋์ ์ธ interaction์ ๋ ๋ง์ด ํ๋ค. ์ด๋ฌํ CSR์ ๋ค์ 2๊ฐ์ง๋ก ๋ถ๋ฅ๋ ์ ์๋ค:
- Template-based CRS
- slot-filling method (๋น์นธ์ ๋ค์ด๊ฐ ๋ง ์ฐพ๋ ๋ฐฉ์)๋ฅผ ์ฌ์ฉํ๋ค.
- ์ ์ฐํ์ง ๋ชปํ ๋๋ต์ด ์์ฑ๋๋ค๋ ๋ฌธ์ ์ ์ด ์๋ค.
- Natural language-based CRS
- ์ ์ ๊ฐ free-text๋ก ์๊ตฌํ ์ ์๋ค.
- ์ธ๋ถ ๋ฐ์ดํฐ๋ก๋ถํฐ ์ด๋ป๊ฒ ์ ๋ณด๋ฅผ ์ป์ด๋ด๊ณ , ์ฌ์ฉ์ ์ ํธ๋๋ฅผ ์์๋ด๊ธฐ ์ํด ํด๋น ์ ๋ณด๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ง์ ๋ํด ์ง์คํ๋ค.
- ์ธ๋ถ ๋ฐ์ดํฐ๊ฐ ๋ง์๋ free text๋ก๋ถํฐ ์ ์ ์ ๋์ฆ๋ฅผ ํฌ์ฐฉํ๋ ๋ฅ๋ ฅ์ด ๋ถ์กฑํ๋ค. (KG์ ์๋ item ํญ๋ชฉ๋ค๋ง ์ฌ์ฉํ๊ธฐ ๋๋ฌธ)
- ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด contrastive learning approach๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ์ธ๊ธ๋ item๊ณผ text ๋๋ค๋ก๋ถํฐ ์ ์ ์ ํธ๋๋ฅผ ์กฐ์ฌ ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๊ฒ์ด CLICK์ด๋ค.
2. Contrastive Learning
self-supervised laerning์์ ๋ง์ด ํ์ฉ๋๋ ๋ฐฉ์์ด๋ค.
ํนํ multi-modal์์ ๋ง์ด ํ์ฉ๋๋๋ฐ, feature representation์ ์ ์ ํ๋ ๊ฒ์ ์์ด์ positive ๋ผ๋ฆฌ๋ ๋ ์งง์ ๊ฑฐ๋ฆฌ๋ฅผ negative ๋ผ๋ฆฌ๋ ๋ ๋จผ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๊ฒ ํ๋ ๋ฐฉ์์ด๋ค.
๊ทธ๋ฌ๋, CLICK์์๋ relevance-enhanced contrastive learning loss๋ฅผ ๊ณ ์ํ์ฌ ๊ฐ๊ฐ ๋ค๋ฅธ ์๋์ ์ธ ์ ์ฌ์ฑ์ด ์๋ ๋ค์ค ์ถ์ฒ ์์ดํ ์ ๊ณ ๋ คํ๋ค.
Pre-training for Contextual Knowledge Injection
KG๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์๋๋ค: G = {(e1,r,e2)|e1,e2 โ E,r โ R}
Reddit data๋ ๋ค์๊ณผ ๊ฐ์ด ํ์๋๋ค: D = {(q, s, v, t)}
- q๋ ์ง๋ฌธ์์ ์ง๋ฌธ
- s๋ ์ถ์ถ๋ ์์ดํ
- v๋ item์ ๋ํ ์ฐ๊ด์ฑ score (Reddit์์์ ์ถ์ฒ ์)
- (์ ํ) t๋ item ์ถ์ฒ์ ๋ํ ์ด์
pre-training ๋จ๊ณ์์ KG๋ KG-encoder์, Reddit data๋ text-encoder์ ๋ฃ๊ณ , (์์์ ์ค๋ช ํ๋) relevance-enhanced contrastive learning loss๋ฅผ ์ฌ์ฉํด์ train ์ํจ๋ค. ์ดํ, ์๋ต ์์ฑ๊ธฐ๋ ํ์์ ์๊ฑฐํ์ฌ ์ถ์ฒ์ ์ํ ์๋ต์ ๋ด๋๋๋ค. ๋ค์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด ๋ ์ดํด๊ฐ ์ ๋ ๊ฒ์ด๋ค.

1. Contextual Knowledge Injection
๋ค์์ encoding ๋๋ ๊ณผ์ ์ ์ค๋ช ํ๋ค. (์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด์ ์ดํดํ๋ฉด ๋ ์ฝ๋ค)
- s๊ฐ KG-Encoder๋ฅผ ๊ฑฐ์ณ item embedding์ธ n_s๋ก ๋ณํ๋๋ค.
- q๋ฅผ BERT์ Fully Connected Layer (FCN)์ ํต๊ณผ์์ผ ์ธ์ฝ๋ฉ ์ํค๊ณ , ๊ทธ๊ฒ์ h_q๋ผ๊ณ ๋ถ๋ฅธ๋ค.
hq = FCN(BERT(q))
- ์ดํ ์๋ก ๋ค๋ฅธ modality๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด relevance-enhanced contrastive learning loss๋ฅผ ํตํด ๋ modality ๊ฐ์ ์ผ์น๋ฅผ ์ด์งํ๋ค.

์ ๊ทธ๋ฆผ์์ v_(q, s)๋ reddit์์ ๊ณต๊ฐ ์, S๋ positive set, S'๋ negative set์ ๋ํ๋ธ๋ค.
sim์ ์ฝ์ฌ์ธ ์ ์ฌ๋์ด๋ค.
์ ์ ์ค๋ช ํ๋ loss function์ ํตํด v_(q, s)์์ positive pair๋ ๋์ด๋น๊ฒจ์ง๊ณ , negative pair๋ ๋ฉ์ด์ง๋ค.
์ด๋ pre-trained encoder๊ฐ user์ ๋ฐํ๋ก๋ถํฐ ํฌ๊ด์ ์ธ ์ ํธ๋ฅผ ์ ์ ์๊ฒ ํ๋ค.
2. Learning to Explain Recommendation
๋ค์์ response, ์๋ต์ ๋ง๋๋ ๊ณผ์ ์ด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ํญ๋ชฉ๋ค์ ๋ค์๊ณผ ๊ฐ๋ค:
- ์ถ์ฒ item
- rationale (์ด์ )
- GPT-2
GPT-2์ item s์ utterance(๋ฐํ) type์ token embedding layer์ ๋ฃ๊ณ , self-attention(A1) ์ํจ๋ค.
์ดํ, BERT๋ง ๊ฑฐ์น context embedding h_ct์ ๋ค์ decoder block์ cross-attention(A2)์ ์ํํ๋ค.
์ด๋ item suggestion ์ด์ ๋ฅผ ์์ฑํ๊ธฐ ์ํจ์ด๋ค.
A2 = FFN(MultiHead(O_A1,h_ct,h_ct))
์ฌ๊ธฐ์ O_A1์ A1์ output layer์ด๋ค.
Fine-tuning for Conversational Recommendation Task
์ฌ๊ธฐ์๋ CLICK์ CRS task ์ํ์ ์ํ fine-tuning ์ ๋ต์ด ์๊ฐ๋๋ค. ์ฐ์ ๊ทธ๋ฆผ์ ๋ค์๊ณผ ๊ฐ๋ค:

CLICK์ ์ฃผ์ 2๊ฐ์ ์ปดํฌ๋ํธ๋ก ๊ตฌ์ฑ๋๋๋ฐ, ํ๋๋ ๋ํ๋ก๋ถํฐ ์ ์ ์ ๋์ฆ๋ฅผ ์์๋ด๋ ๊ฒ์ด๊ณ , ํ๋๋ ํฌ์ฐฉ๋ ์ ์ ์ ํธ๋๋ก๋ถํฐ ์ค๋์ ์ธ ๋ง์ ์์ฑํ๋ ๊ฒ์ด๋ค. CLICK์ ๋ชฉํ๋ ์ฌ๋ฐ๋ฅธ item s_c๋ฅผ ์ถ์ฒํ๊ณ , system ์๋ต y_c๋ฅผ ์์ฑํ๋ฉฐ, ๋ํ history C๋ฅผ ์ดํดํ๋ ๊ฒ์ด๋ค.
1. Contextual Knowledge-enhanced Recommendation
๋ํ history C๊ฐ text-encoder์ ๋ค์ด๊ฐ๋ฉด, context-level์ ์ ์ ์ ํธ๋ p_cl์ ์ป๊ฒ ๋๋ค.
pcl = FCN(BERT(C))
์ดํ, entity-level์ ์ ์ ์ ํธ๋๋ฅผ ์์๋ด๊ธฐ ์ํด p_cl๊ณผ ๋จ์ด entity ์ฌ์ด์ cross-attention์ ์ ์ฉํ๋ค.
cross-attention score์ ๋ค์๊ณผ ๊ฐ๋ค:

์์์ W_q, W_k๋ weight, n_e๋ ์ ๊ณต๋ entity๋ก๋ถํฐ์ entity embedding์ด๋ค.
์ดํ, ๋ค์ ์์ ํตํด entity-level์ ์ ์ ์ ํธ๋ p_el๋ฅผ ์ป์ ์ ์๋ค.

์ด๋ ๊ฒ ์ป์ p_el๊ณผ p_cl์ ๊ฒฐํฉํจ์ผ๋ก์จ ์ต์ข ์ ์ ์ ํธ๋๋ฅผ ์ป๊ฒ ๋๋ค.

W๋ weight, [;]๋ concatenation ์ฐ์ฐ์์ด๋ค.
2. Context-enhanced Response Generation
CLICK์ ์๋ต์ ์์ฑํ๊ธฐ ์ , ๋ฐํ์ ์ข ๋ฅ๋ฅผ ์ ํ๋๋ฐ, ๋ค์๊ณผ ๊ฐ์ ์์ ํ์ฉํ์ฌ 3๊ฐ์ง๋ก ๋ถ๋ฅํ๋ค:

(์์์ h_ct๋ฅผ BERT๋ก๋ถํฐ ๋์จ context embedding์ผ๋ก ์ ์ํ๋ค.)
๋๋ต ์์ฑ๊ธฐ์ ๋ถ๋ช ํ ๋ฐฉ๋ฒ์ item๊ณผ ๋ฐํ type์ input์ผ๋ก ์๋ต ์์ฑ๊ธฐ์ ๋ฃ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ์ด๊ฒ์ ๋ํ ๋ฌธ๋งฅ์์์ ๋จ์ด ์์ฑ์ ๋ฐฉํดํ๋ค๋ ๋จ์ ์ด ์๋ค.
์ด์ cross-attention mechanism์ ์ฌ์ฉํ์ฌ ๋ํ ๋งฅ๋ฝ์ ํจ์ถ์ ์ผ๋ก ์ฃผ์ ํ๋ค. ์ดํ์๋ ๋งฅ๋ฝ์ ๊ณ ๋ คํ ๋ต๋ณ์ ์ป๊ฒ ๋๋ค.
๋ฐํ type๊ณผ ์ถ์ฒ๋ item์ด token embedding์ผ๋ก layer์ ๋ค์ด๊ฐ๋ฉด, ์ฒซ decoder๊ฐ sel-attention์ ์ํํ๋ค.
์ดํ, cross-attention mechanism๊ณผ h_ct๋ฅผ ํ์ฉํ์ฌ ๋ต๋ณ์ ๋ด๊ฒ ๊ฐ์ํ๋ค.
generation loss ์์ ๋ค์๊ณผ ๊ฐ๋ค:

Experiment
benchmark CRS ๋ฐ์ดํฐ์ ์ธ REDIAL๊ณผ Reddit, DBpedia์์ ์ถ์ถ๋ KG๋ก ์คํํ๋ค. ์คํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์๋ค.


Conclusions and Future Work
relevance-enhanced contrastive learning loss๋ฅผ ์ฌ์ฉํ๋ CLICK์ ๋ํ์์ ๋งฅ๋ฝ์ ์ง์์ ํ์ ํ์ฌ ์ ์ ์ ์ ํธ๋๋ฅผ ์ ํํ๊ฒ ํฌ์ฐฉํ๋ค.
ํฅํ ์ฐ๊ตฌ์์๋ ์๋์ ์ผ๋ก ๋ํ์์ ์ฃผ์ ๋ฅผ ํฌ์ฐฉํ๋ ๊ฒ์ด ์๋, ๋ฅ๋์ ์ผ๋ก ์ ์ ์๊ฒ ์ง์ ์์ ์ ์ ํธ๋๋ฅผ ๋งํ๋๋ก ํ๋ฐํ ์ง๋ฌธ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ฐ๊ตฌํ๋ค๊ณ ํ๋ค.