제안 수법: 대화형 멀티태스크 학습 네트워크 IMN을 제안. 어느 정도 관련 있는 여러 토큰 레벨과 문서 레벨의 태스크를 동시에 학습할 수 있는 모델. 이제까지 서로 다른 태스크의 공통적인 특징에만 의존해 학습을 해왔다면, 이 모델은 메시지 패싱 아키텍처를 통해 공유된 set을 통과해 잠재변수에게 상호적으로 전달하는 것으로 멀티 태스크 학습을 진행한다.
what problems they want to solve
종래의 문제점: aspect 용어를 먼저 추출한 다음 감정 분석을 하는 것은 물론 개발하긴 쉽지만 aspect 용어의 추출과 그 추출의 감정 추정에 관한 연관 정보 혹은 훈련시에 얻은 정보를 충분히 활용하고 있지 못한다.
model
모델: 입력 -> 엠베딩 -> m^s개의 레이어를 가진 CNN -> AE/AS/DS/DD -> 메시지 패싱 -> CNN의 출력값과 통합.
AE: aspect 용어와 opinion 용어를 함께 추출.
각 토큰에 어떤 aspect 혹은 opinion term에 속하는지에 대해 라벨링.
BIO태그를 사용해서 {BA, IA, BP, IP, O}라는 다섯 개의 태그를 라벨링하는데 A는 aspect, p는 opinion이다.
m^ae개의 CNN레이어로 공유 파라메터를 매핑하고 그 출력값을 AS의 attention레이어에 전달함으로써 opinion 용어를 예측할 때 sentiment 정보가 활용될 수 있도록 한다.
그리고 이 출력값은 공유 파라메터와 concatenate하는 것으로 최종 출력값을 계산한다.
이를 softmax에 통과시켜 확률분포 값을 얻는다. 학습시와 inference시 둘 다 사용한다.
AS: aspect 단위로 감정 분류.
각 단어에 대해 감정을 라벨링.
{pos, neg, neu}라는 세가지 태그를 라벨링한다.
단, aspect 용어로 라벨링 된 단어에 한한다.
m^as개의 CNN 레이어를 사용해 공유 파라메터를 매핑한다.
attention 레이어를 두어 AE의 출력값을 방정식 (1), (2)와 같이 통합 해 계산한다.
이 값과 공유 파라메터를 concatenate하는 것으로 최종 출력값을 계산한다.
이를 softmax에 통과시켜 확률분포 값을 얻는다. 학습시와 inference시 둘 다 사용한다.
AE와 AS태그에 관한 예시는 table1에 나와있다.
DS: 문서 단위로 감정 분류.
학습시에만 사용하며 inference시에는 사용하지 않음.
공유 파라메터를 m^ds개 CNN 레이어로 매핑한 뒤 attention으로 계산하고 softmax에 통과시켜 확률분포 값을 얻는다.
DD: 문서 단위로 도메인 분류.
학습시에만 사용하며 inference시에는 사용하지 않음.
DS와 동일.
메시지 패싱: 각 태스크에서 알아내는 정보를 다른 태스크를 위해 활용할 수 있도록 하는 아키텍쳐.
각 태스크에 따라 패싱할 정보(AE의 확률분포, AS의 확률분포, DS의 확률분포, DS의 attention 계산값, DD의 attention 계산값)는 달라질 것이다.
패싱된 정보를 갖고 공유 파라메터를 갱신한다.
이게 관해선 방정식 (4)를 참고.
(4)의 :표기는 concatenate를 나타낸다.
여기서 concatenate는 Keras의 Concatenate()를 사용했다.
문서 단위의 데이터로 훈련할 시에는 매시지 패싱을 사용하지 않는다.
experiments
setting
aspect단위 로스: 1/N_a sum(1/n_i sum(AE의 CrossEntropyLoss + AS의 CrossEntropyLoss)). 여기서 N_a는 aspect 단위의 훈련 데이터 수, n_i는 i번째 훈련 데이터 속 토큰 수.
document단위 로스: 1/N_ds sum(DS의 CrossEntropyLoss) + 1/N_dd sum(DD의 CrossEntropyLoss). 여기서 N_ds는 DS의 훈련 데이터 수, N_dd는 DD의 훈련 데이터 수.
기타 설정값에 관해서는 본문의 4.1을 참고.
appendix (CNN)
CNN구조에 관해서는 Xu et al., 2018의 것을 따랐고 공유 레이어의 CNN레이어는 128 필터와 커널 사이즈 3, 128 필터와 커널 사이즈 5로 이루어져 있다. 다른 레이어에서는 256 필터에 커널 사이즈 5가 각 레이어마다 설정되어있고 CNN 레이어의 활성함수는 ReLu를 사용했다. dropout은 엠베딩과 각 CNN 레이어 뒤에 0.5씩 설정했다.
training
문서 단위 로스를 최소화 하기 위해 적은 epoch으로 문서 단위의 데이터만 미리 훈련한다.
이로써 DS와 DD가 합리적인 예측을 할 수 있다.
이것이 끝나면 aspect 단위 데이터와 문서 단위 데이터를 교대로 훈련하며 aspect 단위 로스와 document 단위 로스를 최소화하기 위한 비율 r을 사용한다.
DS의 데이터와 aspect 데이터는 비슷한 도메인에서 가져오지만 DD는 적어도 두 개 이상의 도메인에서 가져온다.
물론 이 도메인들도 DS와 aspect와 비슷한 도메인이다.
비슷한 영역에서 가져온 데이터들이기 때문에 DS, DD, AE, AS사이에서 정보 공유가 가능해진다.
about this paper
Author: Hu Xu, Bing Liu, Lei Shu, Philip S.Yu Link: https://arxiv.org/pdf/1906.06906.pdf
제안 수법: 대화형 멀티태스크 학습 네트워크 IMN을 제안. 어느 정도 관련 있는 여러 토큰 레벨과 문서 레벨의 태스크를 동시에 학습할 수 있는 모델. 이제까지 서로 다른 태스크의 공통적인 특징에만 의존해 학습을 해왔다면, 이 모델은 메시지 패싱 아키텍처를 통해 공유된 set을 통과해 잠재변수에게 상호적으로 전달하는 것으로 멀티 태스크 학습을 진행한다.
what problems they want to solve
종래의 문제점: aspect 용어를 먼저 추출한 다음 감정 분석을 하는 것은 물론 개발하긴 쉽지만 aspect 용어의 추출과 그 추출의 감정 추정에 관한 연관 정보 혹은 훈련시에 얻은 정보를 충분히 활용하고 있지 못한다.
model
모델: 입력 -> 엠베딩 -> m^s개의 레이어를 가진 CNN -> AE/AS/DS/DD -> 메시지 패싱 -> CNN의 출력값과 통합.
AE: aspect 용어와 opinion 용어를 함께 추출.
AS: aspect 단위로 감정 분류.
AE와 AS태그에 관한 예시는 table1에 나와있다.
DS: 문서 단위로 감정 분류.
DD: 문서 단위로 도메인 분류.
메시지 패싱: 각 태스크에서 알아내는 정보를 다른 태스크를 위해 활용할 수 있도록 하는 아키텍쳐.
experiments
setting
aspect단위 로스: 1/N_a sum(1/n_i sum(AE의 CrossEntropyLoss + AS의 CrossEntropyLoss)). 여기서 N_a는 aspect 단위의 훈련 데이터 수, n_i는 i번째 훈련 데이터 속 토큰 수.
document단위 로스: 1/N_ds sum(DS의 CrossEntropyLoss) + 1/N_dd sum(DD의 CrossEntropyLoss). 여기서 N_ds는 DS의 훈련 데이터 수, N_dd는 DD의 훈련 데이터 수.
기타 설정값에 관해서는 본문의 4.1을 참고.
appendix (CNN)
CNN구조에 관해서는 Xu et al., 2018의 것을 따랐고 공유 레이어의 CNN레이어는 128 필터와 커널 사이즈 3, 128 필터와 커널 사이즈 5로 이루어져 있다. 다른 레이어에서는 256 필터에 커널 사이즈 5가 각 레이어마다 설정되어있고 CNN 레이어의 활성함수는 ReLu를 사용했다. dropout은 엠베딩과 각 CNN 레이어 뒤에 0.5씩 설정했다.
training
data
test & evaluation
conclusion
code
https://github.com/ruidan/IMN-E2E-ABSA
next
Double Embeddings and CNN-basd Sequence Labeling for Aspect Extraction. 2018. ACL