본 포스트에서는 자연어처리의 세부 task중 과 Lexical Simplification(어휘 단순화) 에 관해 다루도록 하겠습니다.
Lexical Simplification(어휘 단순화)
1. 용어 정의
Lexical Simplification(어휘 단순화, 이하 LS)의 목적은 복잡하고 어려운 어휘를 더 단순하지만 의미가 같은 단어로 바꾸어 어린이, 외국어 학습자 등의 해당 언어가 익숙하지 않은 사람들이 텍스트를 더 잘 이해할 수 있도록 하는 것입니다.
2. 작업 파이프라인
일반적으로 LN은 다음의 세 가지 절차로 이루어집니다.
1. 복잡한 단어 정의 (Complex Word Identification, CWI)
2. 대체 단어 생성 (Substitute word Generation, SG)
3. 대체 단어 순위 매기기(Substitute Ranking, SR)
1번 절차는 일반적으로 생략하는 경우도 있으며, 현재 널리 쓰이고 있는 LN 방법론은 2번과 3번인 대체 단어 생성과 대체 단어 순위 매기기를 중심으로 하고 있습니다.
3. LS-BERT
트래스포머 등장 이전까지 LN작업은 주로 복잡한 단어에 대한 동의어가 들어있는 WordNet과 같은 데이터셋을 사용하거나, 유사한 문헌이나 구절들에서 단어를 추출하는 방법을 주로 사용하였습니다. 이러한 기존 방법론들은 어려운 단어들이 사용되는 맥락에 관계없이 대체 단어를 생성해내기 때문에 문장의 의미를 왜곡하거나 단어가 단순해지지 않는다는 문제점이 존재했습니다.
2020년 AAAI에 발표된 LSBERT 논문에서는 다음과 같은 순서로 LS task를 수행합니다.
1. word complexity 데이터셋을 학습한 양방향 LSTM 기반 모델로 문장의 각 단어에 대해 복잡성 점수를 매기고 미리 설정한 thereshold값보다 높다면 복잡한 단어로 취급 (CWI)
2. 원래 문장 S와 복잡한 단어를 [MASK]토큰으로 마스킹한 문장 S'를 concat하여 BERT 모델로 마스크 토큰 자리에 들어갈 대체 단어의 목록을 추출
* 마스킹한 문장 S'만으로 대체 단어를 추출하지 않는 이유는 복잡한 단어의 영향력(influence)을 모델이 고려해 원래 문장과 결속력(cohesion), 일관성(coherence)을 가지는 대체 단어를 추출하도록 하기 위함
3. 랭킹을 매기기 전 우선 지프 값이 3 미만인 단어들을 제거한 뒤, BERT prediction order, Language model feature, Semantic similarity, Frequency feature 등의 다양한 순위를 종합적으로 고려하여 최적의 대체 단어를 선정
*지프 값(zipf value) : Moving beyond Kučera and Francis: A critical evaluation of current word frequency norms and the introduction of a new and improved word frequency measure for American English(2009) 에서 참조
참조 논문 : LSBert: A Simple Framework for Lexical Simplification https://arxiv.org/pdf/2006.14939v1.pdf
ChatGPT에게 LS 시켜보기
CgatGPT에게 한국어로 어려운 어휘가 등장할법한 질문과 후속 프롬프트로 LS Task를 시켜보았습니다.
대부분은 어려운 단어를 쉬운 단어로 대체한 모습이지만, 그 과정에서 문장에서 유실된 구절들이 존재하는 것을 확인할 수 있습니다.
한번 더 프롬프트를 입력한 결과, 조금 더 쉬운 언어로 바꿔서 말해주는 모습을 보여주었지만 그 과정에서 문장의 의미가 퇴색되거나 문장 일부가 유실되는 현상이 더 일어났습니다.
프롬프트에 쉬운 '단어'로 바꿔서 말해달라고 직접 언급했지만 Sentence Simplification 과 Lexical Simplification을 모델이 잘 구분하지 못한 모습입니다.
'자연어처리' 카테고리의 다른 글
[NLP]한국어 거대모델(LLM)들 소개 (23년 5월) (2) | 2023.05.04 |
---|---|
[Hugging Face] PEFT에 대해 알아보자 (3) | 2023.02.16 |
[NLP]Word Sense Induction(단어 의미 추론) (0) | 2023.02.06 |
[Continual Learning] Knowledge Distillation 기법 정리 (0) | 2023.01.30 |
[워드 임베딩] Glove : Gloval Vectors for word Representation (2) | 2023.01.20 |