https://aclanthology.org/2023.emnlp-main.664/
AD-NLP: A Benchmark for Anomaly Detection in Natural Language Processing
Matei Bejan, Andrei Manolache, Marius Popescu. Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing. 2023.
aclanthology.org
이전까지는 데이터셋의 일부 클래스를 다운샘플링 하였는데 이는 재현성 문제와 특정 유형의 이상을 감지하는 데 편향된 모델이라는 점에서 정교한 시나리오 인식이 어렵다는 문제를 야기했다. 본 논문에서는 통합된 벤치 마크를 제공하여 다양한 유형의 이상을 감지하려고 한다.
1. 서론
○ 벤치마크: NLP에서 AD 모델을 평가하고 비교할 수 있는 표준적인 테스트 데이터셋과 평가 프레임워크
○ 이상: 주어진 데이터 집합의 나머지와 일관성이 없다고 보이는 관찰값
딥러닝을 활용한 이상 탐지 기법의 등장으로 현재는 CV, 네트워크 침입 탐지 시스템 등에 초점을 맞춘다. NLP 분야에서는 ad-hoc 방식의 벤치마크를 사용했었다. (주어진 데이터셋에서 일부 클래스를 다운샘플링하여 이상 데이터를 생성하는 방식)
그러나, 결정적으로 NLP에서는 "이상"이 무엇인지 정의하는 것부터가 난관이다. 문체나 어휘 등 텍스트의 본질적인 복잡성, 즉 "이상"을 정의하는 기준의 모호성과 '어떤게 비과학적인지'와 같은 명확한 negative examples의 부족 때문이다.
본 논문에서는 이러한 문제들을 해결하기 위해 AD-NLP, 즉 자연어 처리를 위한 이상 탐지 벤치마크를 제안한다.
2. 관련 연구
대부분의 AD 연구가 네트워크 보안에 초점을 맞추다가 현재는 비디오와 같은 CV에서 활발하다. (NLP에서는 저조하다.)
이상 탐지는 one-class 분류라고 볼 수 있어서 classification이 적합할 수 있다. 기존 데이터셋들은 특정 분류 작업을 위해 설계된 것이라는 한계가 있었다면, 최근엔 일반적인 NLP 데이터셋과 함께 벤치마크가 등장하였다. 대표적으로 decaNLP와 GLUE가 있는데 decaNLP는 일반적인 question answering 기반으로 한 다중 작업 학습 벤치마크이고, GLUE는 다중 작업 벤치마크 및 분석 플랫폼이다.
3. 데이터
본 논문에서 벤치마크의 목표는 다양한 AD 시나리오 해결이다. 벤치마크 설계 핵심 요소로는 NLP 도메인의 다양성, 도메인 내에서의 다양성, 샘플 수의 다양성이 있다. 이상탐지 유형은 아래 표와 같이 네가지 있다.
실제 환경에서의 이상탐지 문제를 반영하고자 다양한 유형의 이상을 포함하는 데이터셋을 구축하기 위해 기존의 것에 새로운 데이터셋을 추가하였다.
[Available Datasets]
1) 20Newsgroups
약 20,000개의 뉴스 문서를 20개 그룹으로 나눈 데이터이다. 서로 밀접한 관계를 가진 그룹과 관련 없는 그룹이 혼합되어 있으며, 본 논문에서는 6개의 그룹만 선택하였다.(컴퓨터, 레크리에이션, 과학, 정치, 종교, 기타)
2) AG News
496,835개의 뉴스 기사 데이터로 본 논문에서는 4개의 클래스만 선택하였다.(비즈니스, 과학, 스포츠, 세계)
3) CoLA(Corpus of Linguistic Acceptability)
10,657개 문장에 대해 문법적으로 허용된지 여부를 표시한 데이터이다. train set으로 8,551개, development set으로는 1,043개를 사용하였다. development set을 사용한 이유는 아직 테스트가 공개적으로 제공되지 않았기 때문이다.
4) VUA Metaphor Dataset
BNC(British National Corpus)의 4가지 장르(학술, 뉴스, 대화, 소설)에서 발췌된 117개의 텍스트 조각으로 단어 수준의 메타포를 문장 수준으로 변환하였다.
[Newly-Proposed Datasets]
1) Song Genres
다국어 노래 가사가 포함된 데이터셋으로 textract 해커톤 데이터와 캐글 데이터를 결합하였다. spotify API를 이용하여 가사에 해당하는 아티스트의 주요 장르를 라벨로 지정하였다. 비언어적 요소 없이 오직 가사만으로 장르를 구별하기 위해서, 그리고 텍스트 기반 장르 분류에서 이상탐지 모델의 성능을 테스트하기 위해서이다.
2) Gutenberg Categories
구텐베르크 프로젝트에서 수집한 전자책 데이터를 활용한 것으로, 특정 작가의 문체나 주제에 종속되지 않도록 여러 작가의 작품에서 샘플을 추출한 데이터이다. 서로 명확히 구분되는 카테고리, 구별이 어려운 카테고리 등 모델의 성능을 다각도로 평가할 수 있다.
3) Gutenberg Authors
마찬가지로 구텐베르크 프로젝트에서 수집한 것으로 작가별 문체 탐지를 위한 데이터셋이다. 특정 인물명이나 고유명사에 의존하는 문제를 방지하기 위해 여러 작품에서 샘플을 추출하였다. 이를 통해 작가별 문체 차이를 이상 탐지 모델이 얼마나 정확하게 구별하는지 평가할 수 있으며, 동일한 장르의 작가/유사한 역사적 배경 구별 능력도 테스트할 수 있다.
기존에는 문법적 오류나 특정 단어 패턴만을 탐지하였지만, 본 연구에서는 다양한 이상 탐지 시나리오를 평가할 수 있도록 하였다. 특히, 노래 가사는 리듬과 멜로디 없이 텍스트만으로 의미를 분석할 수 있게 하였다.
4. 모델
데이터 분할 -> 각각의 분할 훈련/테스트 -> 결과 집계 -> 최종 평가
한 개의 클래스를 inlier로, 나머지를 outlier로 데이터를 분할한다. (모든 클래스를 한번씩 inlier 로 하여 반복한다.) 이렇게 함으로써 어떤 outlier가 탐지하기 쉬운지 분석할 수 있으며, 어떤 클래스가 가장 쉽게 탐지되는지 또한 알 수 있다.
평가 지표로는 AUROC(Area Under the Receiver Operating Characteristic Curve), AUPR-In(Area Under Precision-Recall for Inliers), AUPR-Out 을 사용하였다.
[Classical approaches]
1) OC-SVM(One-Class Support Vector Machine)
단일 클래스 SVM으로 서포트 벡터 머신을 기반으로 한 모델이다. 정상 데이터만 학습하여 새로운 샘플이 기존 분포와 얼마나 다른지 측정하여 이상치 탐색을 한다. inlier 분포를 최대한 포함하는 초평면을 학습하여 이 초평면을 벗어나면 outlier로 판단한다.
2) Isolation Forest
랜덤 포레스트를 기반으로 한 모델로, 밀도가 낮고 분포가 넓게 퍼져 있는 데이터를 outlier로 판단한다. 샘플을 무작위로 분할하여 생성된 트리에서 outlier가 더 빨리 격리됨을 이용한 모델이다.
[Neural approaches]
1) CVDD(Context Vector Data Description)
사전 학습된 워드 임베딩을 활용하여 이상치를 탐색한다. context vector와 muti-head self-attention mechanism을 결합하여 단어 표현을 context vector에 가깝게 투영하도록 한다. 즉, 문장 전체를 하나의 벡터 공간에 투영하여 이상치 탐지를 하는 것이다. 이때 투영하는 함수가 군집 방식이 되고, context vector가 군집의 중심점이 된다. 여기서 outlier는 시퀀스 투영과 context vector 간 평균 거리를 기준으로 탐지되며, context vector와 분리하여 보다 더 해석 가능한 결과를 제공한다.
○ multi-head self-attention 메커니즘: 문장의 단어들이 서로 어떻게 연관되는지 학습하는 방식
즉, 각 context vector가 AD에 기여하는 정도를 평가한다. 문맥적 일관성을 더 잘 반영하거나 AD 관련 특정 패턴을 더 잘 탐지할 때 그 정도가 더 높다고 볼 수 있다.
2) DATE(Detecting Anomalies in Text using ELECTRA)
transformer 네트워크를 이용하여 텍스트 데이터를 ELECTRA 모델 입력 형식으로 변환한다. 이 네트워크는 이상탐지를 수행하는 self-supervised learning으로 자기 스스로 학습 데이터에 대한 분류를 수행한다. 모델 실현 전에 프리테스크, 대체된 토큰 탐지(RTD, Replaced Token Detection)와 대체된 마스킹 탐지(RMD, Replaced Mask Detection) 를 수행해야 한다.
ELECTRA는 구글에서 제안한 transformer 기반의 NLP 모델이다. generator + discriminator 구조로 성능이 좋다. RTD를 사용하여 모든 토큰을 학습할 수 있다는 장점이 있다. generator가 마스킹된 단어를 예측하여 문장을 다시 만들고, 마스킹 대신 잘못된 단어를 삽입하고 이를 discriminator가 원래 단어인지 판별한다.
PLRTD 점수는 문장에서 각 단어의 이상 탐지 가능성을 수치화한 것이다. 각 단어가 원래 문맥에 맞는지 아닌지를 확률값으로 평가한다.
5. 실험
DATE 모델이 대부분의 데이터셋에서 가장 높은 성능을 띤다. CVDD 모델의 성능은 데이터셋에 따라 차이가 있어, 일부 데이터셋에서는 OC-SVM과 Isolation Forest보다 높은 성능을 띠지만 DATE보다는 낮다. 기존 모델인 OC-SVM과 Isolation Forest는 고차원적인 문장 표현에 대한 한계로 인해 대체로 성능이 낮다.
[Botany 데이터셋 사례]
inlier에서는 거의 대부분이 Botany에 적합하다고 판단하여 강한 AD가 안나타난다.
반면, outlier에서는 진한 빨간색으로 표시된 부분을 통해 AD로 강하게 판단됨을 볼 수 있다.
6. 결론
본 논문에서 보다 정확한 텍스트 이상 탐지를 위해 AD-NLP라는 새로운 벤치마크를 제시하였다. 텍스트의 구문적, 의미적, 문체적 이상값 등에 초점을 두고 탐지하였다. 의미적, 문체적에만 초점을 둔 AD는 비교적 쉬웠으나, 노래 가사나 텍스트에 부분적으로 초점을 두었을 때는 탐지하기 어려웠다.
7. 한계 & 향후 연구 방향
[한계]
일부 기존 모델들(OC-SVM, Isolation Forest)이 특정 상황에서 신경망 기반 모델(CVDD, DATE)보다 우수한 성능을 띠기도 한다. 즉, 이는 다양한 시나리오에서의 한계가 여전히 존재함을 나타낸다.
[향후 연구 방향]
1) NLP 이상 탐지를 위한 보다 세분화된 분석이 필요하다. (DATE 성능이 낮았던 데이터셋에 집중해서)
2) AD-NLP 벤치마크 업데이트
3) 데이터셋 확장