์์ฆ New Intent Discovery (NID) ํ์คํฌ์ ๋น ์ ธ์๋ค.
์ง๋๋ฒ์ MTP-CLNN ๋ ผ๋ฌธ์ ์ฝ๊ณ , "ํ๋กฌํํธ๋ก ๋ฐํ์ ๋ํ intent๋ฅผ ์์ฑํ๊ณ , ๊ทธ๊ฑธ ๊ธฐ๋ฐ์ผ๋ก clustering ํ๋ฉด unsupervised ๋ฐฉ์์ ์์ด ์ข์ ํ๊ฐ๋ฅผ ๋ฐ์ ์ ์์ ๊ฒ ๊ฐ๋ค"๋ผ๋ ์๊ฐ์ผ๋ก ๊ด๋ จ ๋ ผ๋ฌธ๋ค์ ์ฐพ์๋ณด์๋ค.
๊ทธ์ค, NLP4CONVAI@ACL 2023์ ๊ฒ์ฌ๋ ๋ ผ๋ฌธ๊ณผ ๋ด๊ฐ ์๊ฐํ ์์ด๋์ด๊ฐ ์ผ์นํ๋ ๊ฒ์ด ์์ด ์ฝ์ด๋ณด๊ฒ ๋์๋ค.
์กฐ๊ธ๋ง ๋ ์ผ์ฐ ์๊ฐํ ๊ฑธ
Abstract
Method
- ์ถ์์ ์ธ summary์ ๊ธฐ๋ฐํ utternace๋ค์ clustering ํ๋ ๊ฒ์ด ๊ธฐ์กด์ intent discovery ๋ฐฉ๋ฒ๋ค๋ณด๋ค ๋ฐ์ด๋ ์ ์์
- IDAS: LLM์ prompting์ ํตํด ๋ฐํ์ label์ ์์ฑํ๋ ๋ฐฉ์์ผ๋ก Intent Discovery ์งํ
- unsupervised, semi-supervised์ ๋ชจ๋ ๋น๊ต
Introduction
- (utterance, intent)๋ก fine-tuning ํ๋ ๊ฑด time-consuming, expensive ํจ → ๋ช ์๋ utterance๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์๋, ๊ทธ๋ฅ unlabeled utterance ๋ค์ cluster ํ๋ ๋ฐฉ์
- ์ด์ ์ฐ๊ตฌ๋ค๊ณผ๋ ๋ฌ๋ฆฌ, fine-tuning์ ํ์ง ์๋ pre-trained encoder๋ฅผ ์ฌ์ฉํด์ ๋ฐํ๋ค์ ์ค๋ช ์ ํตํด ์์ฝ ์์ฑ → ํ ์คํธ ๊ณต๊ฐ์์ ๋ ๊ฐ๊น์ด, ๋๋ ๋ฉ๋ฆฌ ์์นํ๋๋ก ํจ
- ์ฌ๊ธฐ์์ ์์ฝ = labels → essential ํ ์ ๋ณด๋ค๋ง ๋ชจ์ ๋์
- ๊ฐ์ : ์ด๋ ๊ฒ ์์ฝ์ผ๋ก ๋ง๋ค์ด์ง label์ด intent๋ฅผ ๋ ์ ๋ํ๋ด๊ณ non-intent related information์ด vector similarity์ ์ํฅ์ ์ฃผ๋ ๊ฒ์ ๋ง์
ICL
- LLM์ด ์๋์ (input, output) ์์๋ค๊ณผ task๊ฐ ํจ๊ป ์ฃผ์ด์ง ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์
- ๊ทธ๋ฌ๋ unsupervised์๋ ์ด ๋ฐํ๋ค์ด labeling์ด ์๋ผ์์
IDAS
ICL (In-Context Learning)์ ํตํ label generation์ ๋จผ์ ์งํ
- ๋ฐํ์ ๋ํ 1์ฐจ์ ์ธ clustering
- K-means clustering์ ํตํด cluster centroid์ ๊ฐ๊น์ด ๋ฐํ prototype ๋ช ๊ฐ ์ ํ
- ์ด์ ๋ํด LLM์ด ์งง์ label์ ์์ฑํ๋๋ก ํจ
- prototype์ ํฌํจ๋์ง ์์ ๋ฐํ x์ ๋ํด, prototype์์ ํด๋น ๋ฐํ์ ๋น์ทํ intent๋ฅผ ๊ฐ์ง n๊ฐ์ ๋ฐํ๋ฅผ ๋ฝ์ ICL ์งํ
- ์ด๋ ๊ฒ ์์ฑ๋ label๋ค์ ์ค๋ฅ๊ฐ ์์ ์๋ ์์ผ๋ frozen pre-trained encoder๋ฅผ ํตํด single vector representation๊ณผ ๊ฒฐํฉ
- latent ์ถ์ธก์ ์ํด K-means clustering ์งํ
Methodology
Task ์ ์
- {(xi, yi) | i = 1…N}๋ฅผ N๊ฐ์ ๋ฐํ์ dataset์ด๋ผ๊ณ ์ ์.
- intent๊ฐ ์๋ ๋ฐํ๋ค Dx = {xi | i = 1…N}์ ๋ํด ์ธ์ฝ๋ E๋ฅผ ์ฌ์ฉํ์ฌ E(xi)๋ฅผ ํตํด y๋ฅผ ์ ์ถํ๋ ๊ฒ
Overview
- Initial Clustering
- K-means clusteringํด์ prototype ํ๋ณด
- Label Generation
- instruction๊ณผ prototype ํ ๊ฐ์ฉ์ prompt๋ก LLM์ ๋ฃ์ด label์ ์์ฑ
- ์์ฑ๋ (prototype xi, label yi)๋ M์ด๋ผ๋ ์งํฉ์ ์ ์ฅ๋จ
- prototype์ ํฌํจ๋์ง ์์ ๋ฐํ๋ค xk(k=1…prototype ๊ฐ์)์, M ์งํฉ์ ์ํ ๋ฐ์ดํฐ๋ค์ ๋ํ ์ ์ฌ๋๋ฅผ ๊ณ์ฐํด top N๊ฐ๋ฅผ ๋ฝ์ (inst, (xi, li), xk)๋ก ํ๋กฌํํ → ์๋กญ๊ฒ ์์ฑ๋ (xk, lk)๋ M ์งํฉ์ ํฌํจ
- instruction๊ณผ prototype ํ ๊ฐ์ฉ์ prompt๋ก LLM์ ๋ฃ์ด label์ ์์ฑ
- Label & Utterane Encoding
- ์ ๊ณผ์ ์ ๋ชจ๋ ๊ฑฐ์ณ ์์ฑ๋ utterance์ label์ frozen pre-trained encoder๋ฅผ ์ด์ฉํด์ single vector representation์ผ๋ก ๋ง๋ฆ
- ์ต์ข ์ ์ผ๋ก ๊ฒฐํฉ๋ rerpresentation์ K-means๋ฅผ ์ฌ์ฉํด์ intent๋ฅผ ์ถ์ธก
1. Initial Clustering
๋ชฉ์ : ๋ค์ํ ํ๋กํ ํ์ ํ๋ณด
- ๋ชจ๋ unlabeled data๋ ์ธ์ฝ๋๋ก ์ธ์ฝ๋ฉ๋จ
- K-means๋ฅผ ํตํด K๊ฐ์ cluster๋ก ๋ถํ
3. ๊ฐ cluster์ cluster centroid์ ๊ฐ๊น์ด ํด๋น cluster์ data point๋ฅผ prototype(pi)์ผ๋ก ์ง์
2. Label Generation
๋ชฉ์ : ํ๋กํ ํ์ ์ ์ํ์ง ์์ unlabeled data์ ๋ํ ์ต๋ํ ์ ํํ label ์์ฑ
- ํ๋กํ ํ์
labeling
- ๊ฐ pi ๋ค์ instruction๊ณผ ํจ๊ป LLM์ ๋ฃ์
- instruction: “describe the question in a maximum of 5 words”
- ์ด๋ ๊ฒ ์์ฑ๋ ๊ฒ์ด label li๋ก ์ฌ์ฉ๋จ
- ์์ฑ๋ xi li๋ฅผ ์งํฉ M์ ๋ฃ์
2. ICL์ ํตํ label generation
- ํ๋กํ ํ์ ์ ์ํ์ง ์์ data์ ๋ํ label ๋ง๋ค๊ธฐ
- ๋ค์ 3๊ฐ์ง ํญ๋ชฉ์ผ๋ก ๊ตฌ์ฑ
1. instruction: “classify the question into one of the labels”
2. n๊ฐ์ (utterance, label)์ ์ํ๋ง
3. labeling ํ๊ณ ์ ํ๋ ๋ฐํ
- n๊ฐ์ (utterance, label)์ ์ํ๋งํ ๋, KATE ์ฌ์ฉ (KATE๋ Knn-Augmented in-conText Example selection์ ์ค์๋ง์)
- label์ ๊ตฌํ๊ณ ์ ํ๋ ๋ฐํ์ ์งํฉ M์ ์ํ ๋ฐํ๋ค์ ๋ํด similarity๋ฅผ ๊ณ์ฐํ๊ณ
- n๊ฐ์ ๊ฐ์ฅ ๋น์ทํ ๋ฐํ ์ ํ → N_n(x)๋ผ๊ณ ํจ
- ์์ฑ๋ xk, lk๋ฅผ M์ด๋ผ๋ ์งํฉ์ ๋ฃ์
- instruction ๊ด๋ จ ์ ์์ฌํจ
- ์ฌ๊ธฐ์ ”classify”๋ผ๋ ๋จ์ด๋ฅผ ์จ๋, ์๋ก์ด ์๋๋ฅผ ๊ฐ์ง ๋ฐํ๊ฐ ์ ๋ ฅ์ผ๋ก ์ค๋ฉด, ์๋ก์ด label ์์ฑ๋ ๊ฐ๋ฅํจ
- ๋์ผํ ์๋๋ฅผ ๊ฐ์ง ๋ฐํ๋ค ์ฌ์ด์์ ์์ฑ๋๋ ๋ ์ด๋ธ์ ๋ณ๋์ ์ต์ํํ ์ ์์
3. Encoding Utterances and Labels
step2๊น์ง ๋ง์น๋ฉด, ๋ชจ๋ ๋ฐํ๋ค์ label์ ๊ฐ์ง๊ณ ์์
๋ชฉ์ : ๋ฐํ์ label์ ์ด์ฉํด์ ํ๋์ ํํ์ผ๋ก ๋ง๋ค์
- ๊ฒฐํฉ๋ vector ํํ φ_AVG๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ
- SMOOTHING ๊ณผ์ : ์ธ์ฝ๋ฉ ๋ ๋ฐํ์ label์ ๊ฒฐํฉ๋ ํํ์ ๋์ฑ ์ ์ ํ๋ ๊ณผ์
1. ๊ฐ๋ณ ๋ฐํ์ ํน์ ๋ ํผ์ฒ๋ฅผ ์ต์
2. ๋ฐํ ๊ฐ ๊ณตํต ํน์ง์ ๊ฐ์กฐ
- ๋ฐํ x์ ๊ฐ์ฅ ์ ์ฌํ n’ ๊ฐ์ ๋ฐํ์ ํ๊ท ๋ฒกํฐ ์ธ์ฝ๋ฉ์ ํ๊ท ์ ๊ตฌํจ
- ์ด๋ ๊ฒ ํ๋ฉด x์ ์ ์ฌํ ๋ฐํ๋ค์ ํน์ง์ ํฌํจํด์ ๋ ์ผ๋ฐํ๋ ํน์ง์ ์ป์ ์ ์์
- n’์ ๊ฒฐ์ ์ silhouette score์ผ๋ก ํจ
- ์ค๋ฃจ์ฃ ์ ์๋ ๊ฐ ์ํ์ด ์ผ๋ง๋ ์ ๊ตฐ์งํ๋๋์ง ๋ํ๋ด๋ ์ฒ๋๋ก, ์ด๋ฅผ ์ต๋ํํ๋ n’ ๊ฐ ์ ํ
4. Final Intent Discovery
- ์ต์ข ์ ์ผ๋ก ๋ฐํ์ label์ ๊ฒฐํฉํ์ฌ n๊ฐ์ φ_SMOOTH(x, l)์ ๋ง๋ค์์.
- ์ดํ, K-means๋ฅผ ์คํํด์ intent discover
- (๋ค์ implementation์์ ๋์ค๋ ๋ด์ฉ): n’์ ๊ฒฐ์ ํ ๋ n’=5๋ถํฐ 45๊น์ง ์ฆ๊ฐ์ํค๋ฉด์ ์๊ธฐ๋ φ_SMOOTH์ ๊ธฐ์ค์ผ๋ก ์ค๋ฃจ์ฃ ์ ์๋ฅผ ๊ณ์ฐ → ์ค๋ฃจ์ฃ ์ ์๊ฐ ๊ฐ์ฅ ๋์ n’์ ์ ํจ
Experimental Setup
1. Datasets
CLINC, BANKING, StackOverflow, private dataset from a transportation company
2. Baselines
- MTP-CLNN
- ๋ค๋ง MTP-CLNN์ CLINC ๋ฐ์ดํฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก train ๋์ผ๋ฏ๋ก, CLINC์ผ๋ก ๋น๊ตํ๋ ๊ฑด ์ข์ง ์์
- CLINC์ ํํด์๋ semi-superivised ๋ฐฉ์์ธ DAC, SCL+PLT ๋ฐฉ์๊ณผ ๋น๊ต
- Known Class Ratio๋ฅผ 25%, 50%, 75%๋ก ์ฆ๊ฐ์ํค๋ฉด์ ์ฌ์ฉ
3. Evaluation
- ARI, NMI, ACC + Hungarian metric ์ฌ์ฉ
- IDAS์ label generation ํ๋ก์ธ์ค๋ ๋ฐ์ดํฐ์ ์์์ ๋ฐ๋ผ ์์ฑ๋๋ Label์ด ๋ฌ๋ผ์ง ์ ์๋ค๊ณ ํจ
- ๋ฐํ์ ์์์ ๋ฐ๋ผ K-means ๊ฒฐ๊ณผ๊ฐ ๋ฐ๋ ์ ์์
- ๋ฐํ์ ์์๊ฐ ๋ฐ๋๋ฉด ์ด๊ธฐ์ ์ ํ๋๋ ํ๋กํ ํ์ ์ด๋ ๊ทธ ํ์ ๋ ์ด๋ธ์ด ๋ถ์ฌ๋๋ ๋ฐํ์ ์์๊ฐ ๋ฌ๋ผ์ง ์ ์์
- ๋ฐํ ์์์ ๋ณํ๊ฐ ์๊ณ ๋ฆฌ์ฆ์ ์ผ๋ง๋ ๋ง์ ์ํฅ์ ๋ฏธ์น๋์ง ์์๋ณด๊ธฐ ์ํด ๋ฐํ์ ์์๋ฅผ ์์ด์ IDAS์ 1-2๋ฒ ๊ณผ์ ์ ๋ฐ๋ณต → ๋ฐํ์ ์์๊ฐ ์ด๊ธฐ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ผ๋ง๋ ์์ ์ ์ธ์ง๋ฅผ ํ๋จํ๊ณ ๋ณ๋์ฑ ์ธก์ ๊ฐ๋ฅ
4. Implementation
- Encoder
- MTP-CLNN์ ๋ํด์๋ MTP ์ฌ์ฉ
- SCL+PLT, DAC์ ๋ํด์๋ SBERT ์ฌ์ฉ
- Language models and prompts
- LM
- GPT-3 ์ฌ์ฉ
- LM์ temp=0: ๊ฐ์ intent์ ๋ํด ์ฌ๋ฌ variation ์์ผ๋ฉด ์ ๋๊ธฐ ๋๋ฌธ
- Prompts
- banking, chatbot, transport์ ๋ํด์๋ “Describe the domain question in a maximum of 5 words”๋ก ํ๋กฌํํ
- StackOverflow๋ topic ๊ด๋ จ์ด๋๊น “Identify the technology in question”์ผ๋ก ํ๋กฌํํ
- LM
- Nearest Neighbor retrieval
- similarity function์ผ๋ก๋ ์ฝ์ฌ์ธ ์ ์ฌ๋
- n=8: ํ ์คํ์์ ๋ ํค์ธ์๋ก ๋ณํ ์์์
- n’ (5~45)์ ๋ง์ง๋ง์ K-means ์ฌ๋ฌ ๋ฒ ์ํ ํ ํ๊ท ์ค๋ฃจ์ฃ ์ ์๊ฐ ๊ฐ์ฅ ๋์ ๊ฐ์ ์ ํ
Results and Discussion
1. Main results
- Unupervised
- ๊ฐ๋ฅํ label ์์
- model์ cluster ํ๊ฐํ test set ๋ฐ์ ์์
- MTP, MTP-CLNN์ encoder pre-training์ unlabeled test set์ ํ์ต
- IDAS vs. MTP-CLNN
- ๋ค์ด์๋ชฌ๋: ์๋ ๋ฐฉ์์ผ๋ก MTP-CLNN์ pre-trianing
- ์คํ์ด๋: pre-training ์ unlabeled test data๋ฅผ ๊ฐ์ด ๋ฃ์ด pre-training
- BANKING์ ACC ์ ์ธํ๊ณ ๋ ๋ชจ๋ ๋ฐ์ดํฐ์ ๊ณผ ๋งคํธ๋ฆญ์ ๋ฅ๊ฐํจ
- ๋ถ์
- ๋ณธ ๋ ผ๋ฌธ ๋ฐฉ์์์ IDAS์ MTP-CLNN์ ํผํฌ๋จผ์ค(์คํ์ด๋)๊ฐ ์๋ ์ธํ (๋ค์ด์๋ชฌ๋) ๋ณด๋ค ๋ฎ์
- ์๋ํ๋ฉด ๋ณธ ๋ ผ๋ฌธ ๋ฐฉ์์์ ํจ์ฌ ์ ์ ์ํ๋ก training
2. Semi-supervised
- IDAS๋ 0%์ KCR(Known Class Ratio) ์ฌ์ฉ
- IDAS๊ฐ 25%, 50%์ DAC, SCL+PLT๋ฅผ ๋ชจ๋ ๋ฅ๊ฐํจ
2. Ablations
- Encoding strategies
- ๋ชจ๋ 4๊ฐ์ ๋ฐ์ดํฐ์ ์ฌ์ฉ
- ์๋ถํฐ ์์๋๋ก: 1. ๊ฐ๊ฐ์ ๋ฐํ๋ก๋ง ์ธ์ฝ๋ฉ, 2. label๋ก๋ง ์ธ์ฝ๋ฉ, 3. ๋ฐํ ์ธ์ฝ๋ฉ๊ณผ ๋ ์ด๋ธ ์ธ์ฝ๋ฉ์ ํ๊ท , 4. ํ๊ท ๊ตฌํ ํ ์ค๋ฌด๋ฉ ๊ณผ์ ๊ฑฐ์นจ
- ๋ค๋ฅธ 3๊ฐ๊ฐ ๋ฐํ๋ก๋ง ์ธ์ฝ๋ฉํ ๊ฒ๋ณด๋ค ๋ชจ๋ ๋ฐ์ดํฐ์ ๊ณผ ํ๊ฐ ๋งคํธ๋ฆญ์์ ์ข์ ์ฑ๋ฅ์ ๋ณด์ → ๋ฐํ๋ฅผ ์์ฝํ๋ ๊ฒ ์๋ ๋ฐ๊ฒฌ ์ฑ๋ฅ ๋์
2. Inferring the number of smoothing neighbors
- {5,…,45}์ ํฌํจ๋๋ n’์ ์ ํํด์ silhouette score ๊ณ์ฐ
- [ํ] - n’ ๊ฐ์ ๋ฐ๋ฅธ ์ค๋ฃจ์ฃ ์ค์ฝ์ด
3. Random vs. Nearest Neighbor
- IDAS๋ KATE๋ฅผ ์ฌ์ฉํด์ x์ ๊ทผ์ ํ n๊ฐ์ ๋ฐ์ดํฐ N_n(x) ์ ํ
(KATE๋ Knn-Augmented in-conText Example selection์ ์ค์๋ง์)
- KATE์ ์ฌ์ฉ์ด ICL์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ ๋นํด ๋์ ์ค์ฝ์ด ํฅ์ ๋ณด์ฌ์ค
- n=1, 2, 4์ ๊ฐ์ ์์ ๋ณํ๋ฅผ ์ฐ๋ ๊ฑด ํฌ๊ฒ ์ค์ฝ์ด ์ฐจ์ด๊ฐ ์์
- n=8, 16์์ ์ค์ฝ์ด๊ฐ ์ข๊ฒ ๋ํ๋จ
- ์ด์ ๋ ผ๋ฌธ) n์ ์ผ์ ์ด์ ํค์๋ดค์ ํผํฌ๋จผ์ค์ ํฌ๊ฒ ๋ณํ ์๋ค๋ ์ฐ๊ตฌ → n=8๋ก ํ๊ธฐ๋ก ํจ
4. Overestimating the number of prototypes
- ground truth์ 2๋ฐฐ๋ก clustering ํ ๊ฒ (K X 2) ์ฑ๋ฅ ํฌ๊ฒ ์ ํ๋์ง๋ ์์์
Conclusion & Limitations
Conclusion
IDAS: frozen pre-trained encoder ์ฌ์ฉ → summarize utterances into intents
unsupervised encoder๋ฅผ training ํ๋ ๊ฒ๋ณด๋ค LLM ์ด์ฉํด์ labeling ํ๋ ๊ฒ ๋์
Limitations
- K-means ์ํ ์ K ์์ธกํ๋ ๋ถ๋ถ์ด ์์: ํญ์ ground truth์ 2๋ฐฐ๋ก ์์ํจ
- ๊ทธ๋ฌ๋ ์ค์ ๋ก๋ ground truth ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ถ์ ํ๋ ๋ฐฉ๋ฒ ์๊ฐํด์ผ ํจ
- ๊ทธ๋ฌ๋ 2๋ฐฐ๋ก overestimating ํ๋ ๊ฒ ํฌ๊ฒ ์ฑ๋ฅ์ ํ ์ํค์ง ์์์
- GPT-3 ๋ง ์ฌ์ฉํ๋๋ฐ, ๋ค๋ฅธ ๋ชจ๋ธ๋ค ์ฌ์ฉํ๋ ๊ฒ ์ข์์ง
'๐ ๋ ผ๋ฌธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Beyond Candidates: Adaptive Dialogue Agent Utilizing Persona and Knowledge (0) | 2024.01.06 |
---|---|
New Intent Discovery with Pre-training and Contrastive Learning (0) | 2023.09.30 |
Two Birds One Stone: Dynamic Ensemble for OOD Intent Classification (0) | 2023.08.28 |
Discovering New Intents with Deep Aligned Clustering (0) | 2023.08.16 |
A Probabilistic Framework for Discovering New Intents (0) | 2023.07.27 |