한국어 오픈 도메인 대화 모델의 CTRL을 활용한 혐오 표현 생성 완화
: 좌승연(서울대학교), 차영록, 한문수, 신동훈(엔씨소프트)
(제 33회 한글 및 한국어 정보처리 학술대회 논문집(2021년))
00. 서론
대형 코퍼스로 학습한 언어 모델은 코퍼스 안에 포함된 사회적 편견이나 혐오 표현까지 학습한다. 최근 이러한 유해표현을 생성하지 못하도록 제한하는 연구가 이루어 지고 있으며 이 논문은 BART 사전 학습 모델을 기반한 한국어 오픈 도메인 대화 모델에서 컨트롤 코드로 모델의 응답을 조절하는 방법을 사용해 혐오 표현 생성을 완화하는 방법을 제안한다.
01. 오픈 오메인 대화 모델
오픈 도메인 대화 모델은 정해진 주제나 특정한 응답 목적 없이 자유 주제에 관해 대화 가능한 모델이다. 최근 대형 코퍼스로 사전 학습된 end-to-end 신경망으로 대화 모델을 학습하는 접근 방법이 많이 연구되고 있으며, 유창함이나 대화의 자연스러움에서 비약적인 향상을 보였다. 하지만 충분히 정제되지 않은 대형 코퍼스에는 혐오 표현, 편향된 표현, 개인 정보 등이 포함되어 있기 때문에 이를 통해 학습한다면 대화 모델이 유해한 표현을 생성하는 문제가 발생 할 수 있다. 최근에는 대화 모델이 유해한 표현을 생성하지 못하도록 제한하는 연구가 이루어지고 있다. 그 중 혐오 표현 분류기를 사용하여 혐오 표현이 생성되면 안전한 문장으로 대체하는 모델이 있으나 이러한 모델은 안전한 문장으로 대체하면서 응답이 문맥에 맞지 않거나 자연스럽지 않을 수 있다.
안전한 응답을 생성하기 위해서 여러가지 방법을 이용한 연구가 많이 진행되고 있다.
1. 별개의 분류기 사용
분류기를 따로 학습하여 모델이 생성한 응답이 안전하지 않은 것으로 분류되는 경우 출력되지 않도록 한다. humans-in-the-loop형태의 절차를 이용해 악의적인 공격에 강건한 모델을 학습하는 방법을 제안하는 연구도 있다. 사람이 분류기에 악의적인 문장을 입력하고 분류기가 해당 문장에 대해 잘못된 판단을 내리는 경우 해당 문장을 포함해 다시 학습하는 절차를 이용한다. 일반적으로 분류기를 사용하는 것은 혐오 표현을 줄이는데 효과적으로 알려졌지만, 추론 시 추가 연산이 필요하고, 혐오 표현으로 분류된 응답을 안전한 문장으로 대체하는 경우 응답이 자연스럽지 않을 수 있다.
2. 사전 학습 단계에서 제외
대형 코퍼스에서 사전 학습한 모델은 코퍼스에 포함된 사회적 편견이나 유해한 표현을 그대로 학습하기 때문에 사전 학습 단계에서 부터 안전한 데이터를 구성해 학습하는 방법도 연구되고 있다. 분류기를 사용해 코퍼스에서 유해한 표현을 제거한 후, 해당 코퍼스로 추가 사전 학습을 진행해 안전하지 않은 텍스트 생성을 완화시키는 방법이 사용된다. 이런 방법은 혐오 표현 생성을 완화시킬 수 있지만 사용자가 혐오 표현을 입력했을 때 혐오 표현을 인지하지 못하고 적절히 대응하지 못하는 한계가 있다.
3. 디코딩 단계에서 조절
모든 토큰에 대해 2차원 표현 (유해, 유해하지않음)을 학습하고 유해하지 않은 토큰들의 우도를 높이거나, 금지 단어 목록을 만들어 유해한 토큰들이 생성되지 않도록 하는 연구도 있다. 하지만 이는 문맥에 따라 유해하지 않은 단어의 생성까지 막을 수 있고, 유해하지 않은 단어로만 구성되었음에도 문맥에 따라 안전하지 않은 응답을 막지는 못한다.
조절 가능한 생성을 하는 방법을 2가지 소개한다.
1. CRTL : Conditional TRansformer Language Model
일반적인 언어 모델이 앞에 나온 토큰들에만 의존해 다음 토큰을 생성하는 것과 달리 각 문서의 특성에 따라 컨트롤 코드를 부여해 앞선 토큰과 컨트롤 코드 두 가지를 고려하도록 한다. 모델이 컨트롤 코드에 의존하기 떄문에 컨트롤 코드는 생성되는 텍스트의 스타일, 내용 혹은 태스크를 조절하는데 기여할 수 있다.
2. PPLM : Plug and Play Language Model
특성 모델을도입해 원하는 특성을 반영하는 기울기를 계산하고, 계산된 기울기로 은닉 뉴런을 조정해 모델의 생성을 조절한다. 추가 학습이 필요없지만 연산 비용이 많이 든다는 단점이 있다.
02. 제안 방법
BART 사전 학습 모델에 CRTL을 적용하여 혐오 표현 생성을 완화한다. 대화 데이터로 파인 튜닝 시 인코더의 입력을 선행된 문맥 발화이고, 디코더의 입력은 대화 모델이 생성해야하는 응답 발화이다. 이때, 생성되는 응답을 조절하기 위해 인코더/디코더에 컨드롤 코드를 추가로 입력한다. 발화마다 레이블 된 컨트롤 코드를 함께 학습하기 때문에 추론 시에 컨트롤 코드를 부여하면 원하는 특성이 반영된 발화를 생성할 수 있다.
대화 데이터에 혐오 표현과 비혐오 표현 레이블이 필요하다. ELECTRA 혐오표현 분류기를 활용해 자동으로 혐오/비혐오 레이블을 생성하도록 한다. 사전 기반 분류기를 그대로 사용하는 대신 ELECTRA 기반 분류기를 학습함으로써 단순히 혐오 표현 단어에 기반해 분류하는 것을 넘어 문장 내 문맥을 반영하기를 기대한다.
03. 실험데이터
AIHub에서 공개한 한국어 SNS데이터를 사용하여 학습한다. 혐오 표현이 한 번 정제된 데이터지만 "ㅈㄹ하네"와 같은 약한 혐오 표현이 일부 포함되어있다. 전체 대화중 혐오 표현 분류기가 혐오 표현으로 분류한 비율은 3.67%이다.
혐오 표현 분리기 학습을 위한 데이터는 온라인 커뮤니티에서 수집한 댓글과 Korean Hate Speech 데이터를 사용한다. 수집한 문장의 약 20%는 사전 기반 분류기가 혐오 표현으로 분류했고, 혐오 표현으로 분류된 문장을 오버샘플링(Oversampling)하여 비혐오 표현 문장과 같은 수가 되도록 했다. 학습이 완료된 ELECTRA기반 분류기는 98.35%의 정확도를 나타냈다.
04.실험 결과
표 1은 컨트롤 코드를 통해 혐오 표현의 정도를 조절할 수 있는지를 확인하기 위한 표이다. CRTL 모델이 각 컨트롤 코드에 의존해 생성한 문장에 존재하는 혐오 표현의 개수와 비율을 나타낸 것이다. "비혐오"코드의 경우 혐오 표현 생성 비율이 낮고, "혐오" 코드의 경우 혐오 표현 생성 비율이 높은 것을 확인 할 수 있다. 이를 통해 컨트롤 코드를 통해 혐오 표현 생성 정도를 조절 할 수있음을 알 수 있다.
챗봇이 다시 되물어 보면서 맥락을 유지하는 한번에 답할 수 없는 질문인 멀티턴 테스트 데이터를 입력으로 주어 응답을 생성하도록 한 예시이다. 컨트롤 코드를 "혐오"로 주었을 때 혐오적인 표현을, "비혐오"로 주었을 때 혐오 표현이 완화된 응답을 생성하는 것을 볼 수 있다. [혐오/비혐오]는 분류기에 의한 레이블을 나타낸다.
표 2는 모델이 생성한 16,000개의 응답 중 혐오 표현 분류기가 혐오 표현으로 분류한 응답의 개수와 비율을 보여준다. CTRL모델의 경우, 기준 모델에 비해 10%정도의 혐오 표현 생성이 완화 되었음을 알 수 있다. 혐오 표현을 학습 데이터에서 제거한 모델이 혐오 표현 생성 비율이 가장 낮지만, 학습 데이터 양이 줄고, 혐오 표현을 유발하는 문맥을 모델이 학습하지 못하게 되는 등의 단점이 존재한다.
대화 이력에 혐오 표현이 포함되었을 떄 대화 모델이 혐오 표현을 더 많이 출력하는 경향이 있으며, 특히 직전 발화에 혐오 표현이 포함된 경우 정도가 더 심했다.
05. 실험 평가
기준 모델은 혐오 표현을 완화하기 위해 데이터를 조작하거나 모델의 특정한 속성을 강제하지 않기 때문에 대화의 품질이 가장 높다. 혐오표현을 완화하는 모델의 경우 혐오표현을 유발하는 문맥으로 부터 생성된 문장의 perplexity가 높게 측정될 것이기 때문에 혐오 표현을 유발하는 문맥을 제외한 perplexity(비혐오)도 함께 측정한다. CTRL모델이 혐오 표현을 제거한 후 학습한 모델에 비해 낮은 perplexity를 보이며 이는 데이터 양의 감소로 대화 품질이 낮아졌기 때문 일 수 있다.
Spot the Bot은 사람이 직접 모델과 대화하고 평가하는 방법 대신 비교하고자 하는 모델들이 서로 대화한 내용을 보고 사람이 평가하는 방법을 제안한다. 이 방법은 사람이 대화에 참여하지 않아 빠른 시간안에 평가가 가능하고, 각 지표를 상대적으로 평가해 평가자 간 불일치에 대한 영향이 적다.
두 모델의 대화 품질에 유의미한 차이가 없는 것으로 나타났다.
표 6은 생성응답 예시다. 기준 모델이 여러 테스트 인풋에 대해 혐오 표현을 포함하여 대답한 것에 비해 CTRL모델은 혐오 표현을 하지 않고 적절히 응답 하는 것을 확인 할 수 있다.
06. 끝
혐오표현을 완화시키기 위한 연구가 활발히 되고 있는 요즘 유익하게 읽은 논문이다. 컨트롤 코드를 부여하여 생성을 조절하는 것이 프롬프트를 주는 것과 유사한 것 같다. 대화 품질을 유지하기 위해서는 데이터가 많이 있어야 하니, 학습은 대용량 데이터로 하고 생성할때 제한을 주어 혐오 표현 생성을 완화시키도록 하는 것이 인상 깊다.
'논문리뷰' 카테고리의 다른 글
[논문 리뷰 #7] 자연어 생성 모델을 이용한 준지도 학습 기반 한국어 사실 확인 자료 구축 (0) | 2023.06.17 |
---|---|
[논문 리뷰 #6] 문장 수준 관계 추출을 위한 개체 중심 구문 트리 기반 모델 (1) | 2023.05.15 |
[논문 리뷰 #4] Attention Mechanism에 따른 포인터 네트워크 기반 의존 구문 분석 모델 비교 (0) | 2023.05.13 |
[논문 리뷰 #3] 긴 문서를 위한 BERT 기반의 End-to-End 한국어 상호참조 해결 (1) | 2023.05.12 |
[논문 리뷰 #2] 마스크 언어 모델 기반 비병렬 한국어 텍스트 스타일 변환 (0) | 2022.03.11 |
댓글