티스토리 뷰
[논문 리뷰]Latent Aspect Rating Analysis on Review Text Data:A Rating Regression Approach
ProWiseman 2023. 2. 27. 12:09들어가며
본 글은 논문 Latent Aspect Rating Analysis on Review Text Data:A Rating Regression Approach를 리뷰한 글입니다.
내용
기존의 문제점
이 호텔의 리뷰에서 볼 수 있듯 해당 리뷰는 호텔의 가격, 방 상태, 서비스와 같은 여러 측면(aspect)에 대해 얘기하지만, 리뷰어는 호텔에 전체 평점(overall rating)만 제공한다. 평점은 각 요소별 명시적인 평가가 없기에 유저는 리뷰어의 각 요소에 대한 의견을 알기 어렵다.
Latent Aspect Rating Analysis (LARA)
리뷰와 전체 평점이 주어졌을 때, LARA는 리뷰에서 주제별 aspect의 수준에서 표출된 의견을 분석하는 것을 목표로 한다.
- 리뷰어 개개인별로 매긴 주제별 잠재 평점(latent rating)를 찾는다.
- 주제별로 상대적인 중요도 가중치를 찾는다.
문제 정의
LARA의 입력 : 리뷰 집합은 흥미로운 개체(e.g., 호텔 리뷰)의 리뷰로 구성 돼 있고 각 리뷰는 전체 평점을 지닌다고 가정한다.
리뷰 텍스트 집합 : \(D=\left\{d_{1},d_{2},...,d_{|D|}\right\}\)
각 리뷰 \(d\in D\)는 전체 평점 \(r_{d}\)와 대응된다.
어휘 \(V=\left\{w_{1},w_{2},...,w_{n}\right\}\)에 \(n\)개의 unique word가 있다고 가정한다.
Overall Rating
리뷰 \(d\)의 전체 평점 \(r_{d}\) \(d\)의 전체적인 의견의 여러 수준(level)을 나타내는 수치형(numerical) 평가이다.
주제가 주어질 때 전체 평점에 잠재적으로 영향을 미칠 평가 요소가 \(k\)개의 aspect가 주어진다 가정한다. (호텔 리뷰에서 price나 location과 같은 요소)
\(r_{min}\)과 \(r_{max}\)가 평점의 최대와 최솟값을 의미할 때 \(r_{d} \in \left [r_{min},r_{max}\right ]\) 이다.
Aspect
aspect \(A_{i}\)는 리뷰에서 평가 요소로 사용되는 단어 집합이다. (price, value, worth 모두 price aspect로 특징화 할 수 있다.)
\(A(.)\)가 단어에서 aspect 레이블로 매핑하는 함수일 때 \(A_{i}=\left\{w|w \in V, A(w)=i\right\}\)로 aspect를 나타낼 수 있다.
Aspect Ratings
aspect 평점 \(s_{d}\)는 \(k\)차원 벡터이다. \(i\)번째 차원은 수치형 측정(numerical measure)이며 aspect \(A_{i}\)와 \(s_{di} \in \left [r_{min}, r_{max}\right ]\)를 통해 리뷰 \(d\)에 나타난 만족의 정도를 나타낸다. 평점이 높을수록 해당 aspect에 더 긍정적인 감정을 의미한다.
Aspect Weights
aspect 가중치(aspect weight) \(\alpha_{d}\)는 \(k\)차원 벡터이다. \(i\)번째 차원은 수치형 측정이며 리뷰 \(d\)의 \(A_{i}\) aspect를 리뷰어가 얼마만큼 강조하는지의 정도를 나타낸다.
가중치를 해석하기 쉽고 다른 리뷰와 비교하기 용이하도록 하기 위해 \(\alpha_{di} \in \left [0, 1\right ]\), \(\sum_{i=1}^{k}\alpha_{di}=1\)로 만들어준다. 가중치가 더 클수록 해당 aspect를 더 강조한다는 것을 의미한다.
Latent Aspect Rating Analysis(LARA)
주제 \(T\)에 관해 리뷰 \(d\)와 전체 평점 \(r_{d}\)가 대응되는 리뷰 집합 \(D\)와 분석할 \(k\)개의 aspect \(\left\{A_{1}, A_{2},...,A_{k}\right\}\)가 주어질 때, LARA의 문제는 다음과 같다.
- \(k\)개의 aspect에서 리뷰 각각의 평점 \(s_{di}\)를 찾는다.
- 리뷰어가 각 aspect에 지니는 상대적인 강조 \(\alpha_{di}\)를 찾는다.
다시 정리하자면 LARA는 각 리뷰 \(d\)에서 모든 리뷰 콘텐츠과 그에 대응되는 전체 평점을 기반으로 잠재 aspect 평점과 평점 가중치를 찾는 것이다.
LARA의 또 다른 과제로 aspect을 찾는 것을 할 수도 있으나 본 논문에선 미리 몇가지 키워드를 주고 그 키워드로 aspect을 설명한다고 가정한다.
방법론
LARA가 해결해야 할 점은 다음 두 개가 있다.
- aspect를 설명하기 위해 몇가지 키워드를 준다 하더라도 각 aspect에 대한 잠재 평점의 구체적인 지도(supervision)가 없다.
- 리뷰어가 각 aspect에 둔 상대 가중치를 구하는 방법이 불명확하다.
이를 해결하기 위해 본 논문에선 Latent Rating Regression(LRR)을 제안한다. LRR은 잠재 평점과 잠재 가중치를 리뷰의 내용, 그리고 리뷰의 전체 평점과 각각 묶는다.
관련해서 논문에서는 두 가지 가정을 한다.
- 리뷰어가 리뷰의 모든 aspect의 평점의 가중치 조합을 기반으로 전체 평점을 생성한다.
- 각 aspect별 평점은 리뷰에서 평가중인 aspect에서 단어의 가중 조합을 기반으로 생성된다.
이 두 가정은 회귀 문제이며 모든 리뷰 데이터에 대해 이 두 부분의 회귀 모델을 피팅하면 잠재 aspect 평점과 가중치를 얻어 LARA 문제를 해결할 수 있다.
LRR 모델은 우리가 어떤 단어가 리뷰에서 어떤 aspect를 논의하는지 알고 있다고 가정하기 때문에 각 aspect별로 text segment를 얻기 위해 주어진 키워드를 기반으로 리뷰 문서에서 aspect segmentation을 해주어야 한다. 그러므로 전체적인 접근법은 두 단계로 구성되어 있다.
첫 번째 단계에선 주요 aspect를 식별하고 리뷰를 세그먼트 하기 위해서 부트스트래핑 알고리즘을 수행한다.
두 번째 단계에선 LRR 모델을 통해 리뷰 콘텐츠와 대응되는 전체 평점만으로 각 리뷰의 aspect 평점과 가중치를 추론한다.
Aspect Segmentation
이 단계에서의 목표는 리뷰에서의 문장을 각 aspect의 서브셋으로 매핑하는 것이다. 본 논문에선 몇 가지 키워드만으로 각 aspect을 설명하기에 각 aspect와 관련된 단어를 더 얻기 위해 부트스트래핑 알고리즘을 디자인한다.
\(\textit{Aspect Segmentation Algorithm}\)의 기본적인 워크플로우는 다음과 같다. (논문에서 텍스트로 작성 돼 있는 내용으로 Figure 2의 내용과는 다를 수 있음)
- 각 aspect별 시드 단어와 모든 리뷰 텍스트가 입력값으로 주어진다.
- 초기 aspect 주석(annotation)을 기반으로 각 문장을 해당 문장과 겹치는 최대 용어를 공유하는 aspect으로 할당한다.
- 단어와 aspect 사이의 의존성을 Chi-Square (\(\chi^{2}\)) statistic을 통해 계산한다.
- 높은 의존성을 지닌 단어를 해당 aspect 키워드 리스트에 포함시킨다.
※ 카이 제곱 검정이란
이러한 과정들을 aspect 키워드 리스트가 더 이상 변하지 않거나 반복 횟수 제한을 초과할 때까지 반복한다. 전체 알고리즘에 대한 설명은 Figure 2를 확인하면 된다.
용어 \(w\)와 aspect \(A_{i}\)의 의존성을 연산하기 위한 \(\chi^{2}\) statistic은 다음과 같이 정의한다.
\[\chi^{2}(w, A_{i})=\frac{C\times (C_{1}C_{4}-C_{2}C{3})^{2}}{(C_{1}+C_{3})\times (C_{2}+C_{4})\times (C_{1}+C_{2})\times (C_{3}+C_{4})}\]
\(C_{1}\)은 aspect \(A_{i}\)에 속하는 문장에서 \(w\)가 나타난 횟수이다.
\(C_{2}\)는 aspect \(A_{i}\)에 속하지 않는 문장에서 \(w\)가 나타난 횟수이다.
\(C_{3}\)는 \(w\)를 포함하지 않는 aspect \(A_{i}\)의 문장의 수이다.
\(C_{4}\)는 어느 aspect \(A_{i}\)에 속하지도 않고 단어 \(w\)도 포함하지 않는 문장의 수이다.
\(C\)는 총 단어가 나타난 수이다.
aspect segmentation 후에 각 리뷰 \(d\)마다 \(k\)개의 파티션을 얻고 이를 \(k \times n\)의 특징 행렬 \(\mathbf{W}_{d}\)로 나타낸다. \(\mathbf{W}_{dij}\)는 해당 aspect의 텍스트에 있는 총 단어 수로 정규화된 \(d\)의 aspect \(A_{i}\)에 할당된 텍스트에서 단어 \(w_{j}\)의 빈도이다.
Latent Rating Regression Model (LRR)
이 단계에서는 각 리뷰의 aspect segmentation을 기반으로 aspect 평점 \(s_{d}\)와 aspect 가중치 \(\alpha_{d}\)를 분석할 LRR을 적용한다.
리뷰어가 평점을 남길 때의 행동에 몇 가지 가정을 한다.
- 리뷰어는 처음에 코멘트 하고싶은 aspect를 결정한다.
- 각 aspect에 리뷰어는 신중히 자신의 의견을 피력할 단어를 고른다.
- 해당 as
'공부한 내용 정리 > 인공지능' 카테고리의 다른 글
인공지능 기초 3 (0) | 2023.03.20 |
---|---|
인공지능 기초 2 (0) | 2023.03.13 |
인공지능 기초 1 (0) | 2023.02.24 |
[논문 리뷰]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (0) | 2023.02.07 |
[논문 리뷰]You Only Look Once: Unified, Real-Time Object Detection (0) | 2023.01.22 |