-
Notifications
You must be signed in to change notification settings - Fork 23
A Persona Based Neural Conversation Model
https://arxiv.org/abs/1603.06155
발화자의 특성을 반영하는 persona-based 신경망 대화 모델
-
기존의 neural converstaion model에서는 대답이 일관적이지 않은 문제가 발생
-
ex) Q : 넌 지금 어디 사니? A : 나는 서울에 살아
Q : 넌 어느 도시에 사니? A : 나는 부산에 살아.
-
-
실제 대화 처럼 한 사람이 일관적인 대답을 뱉는 모델 을 만들자
-
persona - 발화자의 identity로 구성되어 있다고 생각( 배경 지식, 개인 정보, 대화 방식 등)
-
seq2seq 모델 기반
-
두 모델 제시
- Speaker Model
- Speaker - Adressee Model
-
2개의 dataset(트위터, 티비 대본)에 대해서 실험 - BLEU에서 최대 20%, perplexity에서 최대 12%의 성능 향상 가져옴
-
input sequence를 한 타임 스텝에 한 토큰씩 받아서 output sequence를 한 토큰씩 내보냄
-
input sequence를 multilayered LSTM을 통하여 고정된 크기의 벡터로 매핑 -> 그 벡터를 output sequence로 decode하기 위하여 다른 deep LSTM 이용
-
input
- input gate i, forgat gate f, output gate o
-
- time step t에서 그 단에에 대한 벡터
-
-
와
이 LSTM 모델을 거쳐서 나온 time step t의 단어 벡터
-
output
- softmax로 다음에 나올 token 예측
-
- activation function
-
- EOS가 뽑힐 때까지
- softmax로 다음에 나올 token 예측
-
speaker(응답자)에 대한 정보를 같이 모델링
- 각각의 speaker를 벡터로 임베딩
- 응답 데이터에 기반하여 나이, 주소 등의 특성으로 speaker를 클러스터링
-
각각의 speaker i는
로 나타내어짐
-
는 speaker i가 포함된 모든 대화에서 공유되며, 역전파를 통해 학습됨
-
장점
-
training set에 특정 speaker에 대한데이터가 없더라도 대답을 추론할 수 있음
-
ex) A와 B는 둘다 영국 영어로 얘기함
training set에서 A가 '너 어디 사니?' 라는 질문을 받았을 때 '영국에 살아'라고 대답
-> 이 질문에 대한 B의 데이터가 없더라도 일반화해서 추론 가능
-
-
질문한 사람이 누구냐에 따라서도 응답이 달라짐
-
ex) 철수 : 안녕
영희 : 철수야 안녕~
-
-
j가 말하면 i가 대답
-
- speaker i의 임베딩
-
- speaker j의 임베딩
-
- i와 j 사이의 상호작용을 임베딩,
와
의 선형 결합,
,
-
-
-
Decoding
- N-best list 생성
- beam size B = 200
- 매 스텝마다 EOS 로 끝나는 문장은 N-best list에 추가, 끝나지 않은 B개의 가설에 대해 다시 단어 뽑음
-
Reranking
-
'I don't know' 처럼 계속 똑같은 말만 하는것을 막기 위함
-
N-best list를 다음과 같은 scoring function을 이용하여 rerank
-
- 질문 M과 응답자의 id v가 주어졌을 때, 응답 R이 나올 확률
-
- 응답 R의 길이
-
- inverse seq2seq 모델 학습시켜서 얻음
-
-
- 각 유저가 적어도 60번의 3-turn 대화에 포함되어 있음
- development, validation, test set에 모두 한번의 reference
- 4 Layer seq2seq
- user 정보를 뺀 기존의 데이터
- (Sordoni et al., 2015)의 데이터 그대로 사용
- 한 메시지 당 10번씩 reference - 앞의 데이터셋과 BLEU 비교 불가
- Friends, The Big Bang Theory 에서 주연 13명의 대화 수집
- 데이터 양이 적어 Opensubtitles의 데이터로 먼저 seq2seq 모델 학습한 후 이 데이터로 speaker 모델 학습
- MLE 모델에서 성능 향상이 두드러짐
- twitter dataset model에서 대답하는 유저가 다르면 대답도 다른것을 볼 수 있음
-
TV transcript dataset의 speaker-address 모델 - 질문하는 사람에 맞춰서 대답함