Skip to content

Commit

Permalink
Hotfix/toc (#86)
Browse files Browse the repository at this point in the history
전반적인 blog글 중 잘못된 ToC를 수정하였습니다.
  • Loading branch information
ncnlp authored May 17, 2024
1 parent 25e0b52 commit 124d193
Show file tree
Hide file tree
Showing 9 changed files with 117 additions and 80 deletions.
6 changes: 1 addition & 5 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,4 @@ plugins: [jekyll-paginate, jekyll-seo-tag, jekyll-feed, jekyll-sitemap, jekyll-t
exclude: [".jekyll-cache", ".jekyll-metadata", ".idea", "vendor/*", "assets/node_modules/*"]

# theme: type-on-strap # if using the theme as a jekyll theme gem
remote_theme: sylhare/Type-on-Strap # If using as a remote_theme in github

toc:
min_level: 1
max_level: 3
remote_theme: sylhare/Type-on-Strap # If using as a remote_theme in github
4 changes: 2 additions & 2 deletions _posts/2023-10-12-what-can-language-models-do-in-finance.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ back_color: "#ffffff"
img_name: "argumentation-methods.png"
toc: true
show: true
new: true
new: false
series: -1
index: 32
---
Expand Down Expand Up @@ -226,7 +226,7 @@ MSCI ESG rating guideline에서 해당 뉴스와 관련이 있을 만한 라벨

<br/>

#### Pythia, CerebrasGPT, OPT
### Pythia, CerebrasGPT, OPT

해당 대회 시작 시기 즈음부터 Alpaca, Vicuna부터 시작된, 효과적으로 사전 학습 및 미세 조정된 오픈소스 언어모델이 출시되었으나,
당시 새로운 미세조정된 오픈소스 언어모델들에 대한 저희 팀의 활용 경험은 아직 부족했습니다.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ index: 36
* 결론
* 제안 사항 및 향후 계획
* 참고 문헌
{:toc}
{:toc}

<br/>

Expand Down Expand Up @@ -62,6 +62,7 @@ Text Alignment는 이러한 상황에서 대안으로 사용될 수 있습니다
<br />

#### Examples from English-Korean TEDtalk Data
{:.no_toc}
{: style="text-align:center"}

| 한국어 | 영어 |
Expand Down Expand Up @@ -111,6 +112,7 @@ Text Alignment는 이러한 상황에서 대안으로 사용될 수 있습니다
<br />

#### *Sentence Boundary Detection (SBD)*
{:.no_toc}

<br />

Expand All @@ -125,6 +127,7 @@ Text Alignment는 이러한 상황에서 대안으로 사용될 수 있습니다
<br />

#### *Clause Boundary Detection (CBD)*
{:.no_toc}

<br> &nbsp; 저희는 처음에 한국어 문장 대 영어 문장으로 정렬을 시도했습니다. 하지만 언어적 특성으로 인하여 정보의 양이 1:1로 매칭되는 문장 쌍은 생각보다 많지 않았습니다. 더 많은 문장쌍을 발굴하기 위해, 다시말하면 재현율을 높이기 위해 한 쪽 텍스트를 더 작은 단위로 나눌 필요성이 있다고 생각 되었습니다. 한국어와 영어의 문법적 특성을 고려할 때, 한국어 문장 1개에 영어 절 n개를 매칭하는 것이 훨씬 효과적이라고 결론 지었습니다. 문장의 접속사와 원본 데이터의 줄 바꿈을 고려하여 구와 절을 분리하면 (영어 텍스트에 대해서만) 아래와 같이 절 경계 감지(CBD)가 완료됩니다. <br>

Expand Down Expand Up @@ -221,13 +224,13 @@ similarity threshold = 0.47

<br />

### 결론
## 결론

&nbsp; 본 포스트에서는 시간 순서대로 생성된 텍스트 데이터를 처리하는데 맞춤화된 텍스트 정렬 파이프라인인 TATT를 소개했습니다. TATT는 문장을 정렬하고 내용적으로 매칭되지 않는 텍스트를 필터링하여 전반적으로 더 높은 품질의 병렬 데이터를 생성할 수 있었습니다. 정량평가에서는 F1-score 기준 0.915의 높은 성능을 보였고 정성평가에서도 큰 폭으로 데이터 품질이 개선된 것으로 확인했습니다.

&nbsp; TATT는 노이즈가 많고 정렬이 부정확한 병렬 데이터로 관련 작업을 해야 하는 NLP 실무자에게 유용한 도구가 될 수 있습니다. 기계 번역, 다국어 모델링, 다른 타깃언어로의 텍스트 요약과 같은 여러 NLP 작업의 성능을 개선하는 데 사용할 수 있습니다.

#### 제안 사항 및 향후 계획
### 제안 사항 및 향후 계획

&nbsp; 현재 TATT는 단일 화자 데이터와 한국어-영어 언어 쌍으로 제한되어 있습니다. 추가로 다중 화자 데이터(예: 영화/드라마 자막)와 더 많은 언어 쌍을 처리할 수 있도록 기능을 확장할 계획입니다. 이런 문제들을 해결하기 위해 고려해야 하는 면들이 또 어떤 것들이 있을지 궁금하고 기대가 되네요!

Expand All @@ -237,7 +240,7 @@ similarity threshold = 0.47

<br />

### 참고 문헌
## 참고 문헌

<a name="footnote_1">1</a>: OPUS. "TED Talks - Korean-English Parallel Corpus." OPUS - The Open Parallel Corpus, Version 1.0, Translation@Scale, 2016. [Link to OPUS TED2020](https://opus.nlpl.eu/TED2020.php).

Expand Down
70 changes: 35 additions & 35 deletions _posts/2024-01-30-varco-mt.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,19 @@ index: 41

<br/>

## 들어가며
# 들어가며

<hr/>

이번 글에서는 NCSOFT가 참여한 [WMT(Workshop on Machine translation)](https://www2.statmt.org/wmt23/) 2023에 대한 내용을 소개하려고 합니다. WMT는 자연어 처리 분야의 세계적인 학술 대회인 EMNLP에서 열리는 Workshop 중 하나로, 최신 기계 번역에 대한 연구를 중심으로 경진대회를 개최합니다. 2023년 WMT에서는 13가지의 경진 대회(Shared Task)가 진행되었습니다. 이 중에서 NCSOFT는 Translation Tasks의 Terminology Shared Task에 참가하기로 했습니다. 이 대회는 용어 번역 쌍이 주어졌을 때, 기계 번역 모델이 이를 얼마나 잘 활용하는지를 겨루는 대회로, 게임, 금융, 의료, 로봇 등 **산업용 번역** 분야에서 중요한 역할을 합니다. NCSOFT는 이미 리니지2M, 리니지W 및 사내 업무 시스템에 기계 번역 모델을 활용하고 있으며, 게임 도메인의 전문 용어 번역을 위해 특화된 모델을 사용하고 있습니다.

이번 WMT 2023 Terminology Shared Task에 참가함으로써, 우리는 VARCO MT를 용어 번역에 더욱 고도화하면서 VARCO MT가 세계적인 대회에서 어디까지 도달할 수 있는지 확인하고 싶었습니다. WMT 2023에서의 Terminology shared task에 대한 세부 내용을 살펴보고 과제를 해결하기 위해 어떻게 접근했고 어떤 성과를 거두었는지에 대한 내용들을 소개하겠습니다.

## WMT23 Terminology Shared Task
# WMT23 Terminology Shared Task

<hr/>

### Terminology Shared Task가 뭐죠?
## Terminology Shared Task가 뭐죠?

Terminology Shared Task는 **용어 번역 쌍**이 존재 할 때 기계 번역 모델이 이를 얼마나 잘 **활용**하는지를 겨루는 경진대회입니다.

Expand All @@ -93,7 +93,7 @@ Terminology Shared Task는 **용어 번역 쌍**이 존재 할 때 기계 번역

<br/>

### WMT 2021 Terminology Shared Task
## WMT 2021 Terminology Shared Task

이번 WMT 2023 Terminology Shared Task에 참가하기 전에, 2021년에 개최된 WMT 2021 Terminology Shared Task에서서 우승했던 팀들의 논문을 살펴보았습니다. 여러 팀들의 접근 방식을 분석한 결과, 다음과 같은 주요 전략들이 돋보였습니다.

Expand All @@ -114,7 +114,7 @@ Terminology Shared Task는 **용어 번역 쌍**이 존재 할 때 기계 번역

<br/>

### 공개 데이터 및 제약 조건
## 공개 데이터 및 제약 조건

WMT23 Terminology Shared Task는 다음과 같이 3가지의 단방향 언어쌍으로 진행되었습니다.

Expand All @@ -126,7 +126,7 @@ WMT23 Terminology Shared Task는 다음과 같이 3가지의 단방향 언어쌍

학습 데이터는 별도로 제공되지 않았고, [General MT Shared Task](https://www2.statmt.org/wmt23/translation-task.html)의 학습 데이터를 사용하고 General Task의 제약 조건을 따르라는 안내가 있었습니다. 특이하게도, 용어 번역 쌍은 따로 제공되지 않았고 주최측에 문의했더니 직접 구축하라는 답변을 받았습니다. 😓

#### 공개 데이터
### 공개 데이터

WMT23 General Task에서 공개한 ZH-EN 병렬 데이터의 종류와 크기는 다음과 같습니다.

Expand Down Expand Up @@ -157,22 +157,22 @@ WMT23 General Task에서 공개한 ZH-EN 병렬 데이터의 종류와 크기는

학습 데이터와 다르게 검증, 평가, Blind 데이터는 각 Mode별 용어 병렬 쌍도 함께 공개되었습니다.

#### 제약 조건
### 제약 조건

- **Unconstrained Track과 Constrained Track의 구분**: 주어진 데이터와 언급한 사전 학습 모델 이외의 자원을 사용할 경우, 해당 팀은 Unconstrained Track으로 분류되어 별도로 평가됩니다.
- **Constrained Track에서의 학습 데이터**: Constrained Track에서는 올해에 공개된 학습 데이터만을 사용할 수 있습니다.
- **허용된 사전 학습 모델**: 대회에서는 사전 학습 모델로 이미 공개된 특정 모델들만을 사용할 수 있도록 허용하고 있습니다: mBART, BERT, RoBERTa, XLM-RoBERTa, sBERT, LaBSE
- **기본 언어학 도구 사용 허용**: 기본 언어학 도구들(Taggers, Parsers, Morphology Analyzers 등)은 사용이 허용되어 있습니다.

## 데이터 처리
# 데이터 처리

<hr/>

### 데이터 정제
## 데이터 정제

공개된 데이터 중에서 큰 비중을 차지하는 Back Translated Data 및 Crawling Data의 신뢰성을 높이기 위해 데이터 정제를 진행했습니다. 휴리스틱한 방법으로 1차적으로 정제 후 딥러닝 모델 기반 방법으로 2차 정제를 진행했습니다.

#### 1차 정제: 휴리스틱
### 1차 정제: 휴리스틱

아래에 기술된 필터링 조건이 하나라도 포함되면 제거하였습니다. 중국어 tokenizer는 jieba<sup>[1](#footnote_1)</sup>를 사용했습니다.

Expand All @@ -189,7 +189,7 @@ WMT23 General Task에서 공개한 ZH-EN 병렬 데이터의 종류와 크기는
11. Target 문장에서 중국어 이외의 글자가 20% 이상인 문장
12. E-mail 및 Web Link가 포함된 문장

#### 2차 정제: LaBSE(Language-agnostic BERT Sentence Embedding)<sup>[2](#footnote_2)</sup>
### 2차 정제: LaBSE(Language-agnostic BERT Sentence Embedding)<sup>[2](#footnote_2)</sup>

Google AI에서 공개한 LaBSE를 활용하여 문장 쌍의 유사도를 측정하였습니다. 유사도가 너무 크면 병렬쌍이 아닌 동일한 언어의 거의 비슷한 문장인 경우였고 유사도가 너무 작으면 두 문장의 의미가 다른 경우였습니다. 이러한 데이터들을 정제하기 위하여 특정 유사도보다 크거나 작은 데이터들을 제거하였습니다.

Expand All @@ -210,7 +210,7 @@ Google AI에서 공개한 LaBSE를 활용하여 문장 쌍의 유사도를 측

**실험 및 분석**에서 이러한 과정이 모델의 성능에 어떤 영향을 미치는지 더 자세히 살펴보겠습니다.

### 용어 추출
## 용어 추출

따로 제공된 용어 사전이 없어 학습 병렬 말뭉치에서 직접 용어 사전을 추출하는 작업을 수행했습니다. 이번 대회에서는 각 모드 별 용어 번역 쌍을 반영한 번역 결과를 평가하기 때문에, 각 모드 별로 용어 사전을 추출해야 했습니다.

Expand Down Expand Up @@ -287,7 +287,7 @@ Mode 3에서 추출된 용어와 Algnment 정보를 융합하여 후보를 생

<center>표 8. 용어 병렬 쌍 추출 결과</center><br>

## 모델
# 모델

<hr/>
우리는 번역 모델의 구조를 결정하기 전에 대회의 제약 조건을 다시 한번 확인하였습니다. 이때 몇 가지 고려해야 할 사항이 있었습니다.
Expand Down Expand Up @@ -321,7 +321,7 @@ Mode 3에서 추출된 용어와 Algnment 정보를 융합하여 후보를 생

<br/>

## TSSNMT (Terminology Self-selection Neural Machine Translation)
# TSSNMT (Terminology Self-selection Neural Machine Translation)

![]({{"/assets/img/post/435833e86d3e4cd1e2576fa9aabaf4bc47dc1ad6/TSSNMT.jpg"| relative_url}}){: width="70%"}

Expand All @@ -333,7 +333,7 @@ TSSNMT는 "**모델이 일반적인 단어를 번역할 때는 Source 문장을

<br/>

## ForceGen Transformer (ForceGen-T)
# ForceGen Transformer (ForceGen-T)

![]({{"/assets/img/post/435833e86d3e4cd1e2576fa9aabaf4bc47dc1ad6/ForceGen-T.jpg"| relative_url}}){: width="80%"}

Expand All @@ -349,28 +349,28 @@ ForceGen-T는 유사한 문장의 번역한 결과를 미리 보고 현재 문

<br/>

## 실험 및 분석
# 실험 및 분석

<hr/>

### 평가 지표
## 평가 지표

- SacreBLEU<sup>[7](#footnote_7)</sup>: BLEU를 개선한 버전으로, 입력 되는 Token 단위에 따라 점수가 달라지는 BLEU와 다르게 일관된 점수로 측정되는 것이 가장 큰 특징
- ChrF<sup>[8](#footnote_8)</sup>: Character N-gram을 기반으로 측정하는 평가 지표
- COMET<sup>[9](#footnote_9)</sup>: 모델 기반 기계 번역 성능 평가 지표로 SacreBLEU, ChrF와 다르게 의미적(Semantic)으로 평가. 평가에는 WMT22-COMET-DA 모델을 사용.
- CSR (Copy Success Rate): 번역 결과 문장에 용어 번역 쌍이 얼마나 반영되었는지를 판단하는 지표 (내부 개발)

### 실험 1. 모델 검증
## 실험 1. 모델 검증

우리는 WMT 데이터의 전처리가 이루어지는 동안 다른 기계 번역 경진 대회인 IWSLT(The International Conference on Spoken Language Translation)에서 공개한 중-영 데이터와 META에서 공개한 MUSE<sup>[10](#footnote_10)</sup>의 병렬 사전 말뭉치를 이용하여 구상한 모델들을 검증하였습니다.

#### 데이터 수량 (IWSLT 2017 ZH-EN)
### 데이터 수량 (IWSLT 2017 ZH-EN)

- 학습 데이터: 231,266 문장 쌍
- 검증 데이터: 8,549 문장 쌍
- 평가 데이터: 879 문장 쌍

#### 결과
### 결과

| 모델 | SacreBLEU | ChrF | COMET | CSR |
| :------------------: | :-------: | :-------: | :--------: | :--------------------: |
Expand All @@ -386,17 +386,17 @@ TermMind 재현 모델의 경우 Baseline 모델보다 입력 구조가 복잡

<br/>

### 실험 2. WMT 데이터 적용
## 실험 2. WMT 데이터 적용

IWSLT 데이터로 실험을 진행하는 동안 WMT 데이터의 전처리가 일부 완료되어 WMT 데이터로 변경해서 2차 실험을 진행하였습니다.

#### 검증 데이터
### 검증 데이터

대회 주최측에서 제공한 검증 데이터는 총 99 문장 쌍이었습니다. 이는 검증 데이터로 학습에 활용하기에는 부족한 양이기 때문에, 학습 데이터에서 2,000개의 문장쌍을 랜덤하게 선택하여 새로운 검증 데이터로 활용하여 실험의 신뢰도를 높일 수 있었습니다.

새로운 검증 데이터는 학습 데이터와 동일한 방식으로 Mode 별 용어를 추출하였고, ChatGPT를 활용하여 Source 문장에 용어 번역 쌍을 고려한 Target 문장을 생성하였습니다.

#### 평가 데이터
### 평가 데이터

평가 데이터는 두 종류를 사용했습니다.

Expand All @@ -405,15 +405,15 @@ IWSLT 데이터로 실험을 진행하는 동안 WMT 데이터의 전처리가

동일한 Source 문장에 다른 용어 번역 쌍이 주어졌을 때 번역 결과가 어떻게 달라지는지를 확인하기 위해 두 번째 평가 데이터도 따로 제작하여 실험하였습니다. 이후 진행되는 모든 실험에서는 위에서 설명한 평가 데이터와 검증 데이터를 사용하였습니다.

#### 데이터 수량 (WMT 2023 데이터 일부)
### 데이터 수량 (WMT 2023 데이터 일부)

- 학습 데이터: 9,927,357 문장 쌍
- 검증 데이터: 6,000 문장 쌍 (Mode 별 2,000 문장 쌍)
- 평가 데이터:
- WMT 평가 데이터: 7,942 문장 쌍
- Mode 별 평가 데이터: 7,809 문장 쌍 (Mode 별 2,603 문장 쌍)

#### 결과
### 결과

<table style="display:block;max-width:fit-content;margin:auto;margin-bottom:5px;">
<tr>
Expand Down Expand Up @@ -491,21 +491,21 @@ WMT 일부 데이터 실험 결과 ForceGen-T 모델이 대부분의 성능에

<br/>

### 실험 3. 메인 실험 결과
## 실험 3. 메인 실험 결과

WMT에서 제공한 모든 데이터의 전처리가 완료되어 메인 실험을 진행하였습니다.

Blind 평가 데이터는 대회 마감 일주일 전에 공개되었고 WMT 평가 데이터와 동일한 방법으로 Target 문장을 생성하였습니다. 대회에 제출할 최종 모델은 WMT 평가 데이터와 Blind 평가 데이터를 고려하여 결정하였습니다.

#### 데이터 수량 (WMT 2023 데이터 전체)
### 데이터 수량 (WMT 2023 데이터 전체)

- 학습 데이터: 43,019,073 문장 쌍
- 검증 데이터: 6,000 문장 쌍 (2,000 \* 3)
- 평가 데이터
- WMT 평가 데이터: 7,942 문장 쌍
- Blind 평가 데이터: 7,896 문장 쌍

#### WMT 평가 데이터 결과
### WMT 평가 데이터 결과

| 모델 | SacreBLEU | ChrF | COMET | CSR |
| :------------------: | :-------: | :-------: | :--------: | :----------------------: |
Expand All @@ -516,7 +516,7 @@ Blind 평가 데이터는 대회 마감 일주일 전에 공개되었고 WMT 평

<center>표 12. 최종 모델 WMT 평가 데이터 결과</center><br>

#### Blind 평가 데이터 결과
### Blind 평가 데이터 결과

| 모델 | SacreBLEU | ChrF | COMET | CSR |
| :------------------: | :-------: | :-------: | :--------: | :----------------------: |
Expand All @@ -531,7 +531,7 @@ TSSNMT, ForceGen-T 두 모델 모두 동일한 데이터와 비슷한 수의 파

<br/>

### 추가 실험 1. 데이터 정제 실험 결과
## 추가 실험 1. 데이터 정제 실험 결과

데이터 정제 실험에서는 전체 데이터를 1차 정제만을 진행하고 학습한 모델과, 1차 정제 이후에 추가로 2차 정제까지 진행하고 학습한 모델을 비교하였습니다. 이 실험은 TSSNMT 모델을 이용하였고 학습 데이터 품질에 따른 번역 결과를 분석하는 데에 중점을 두었습니다. 평가 데이터로는 WMT 평가 데이터를 활용하였습니다.

Expand All @@ -548,18 +548,18 @@ TSSNMT, ForceGen-T 두 모델 모두 동일한 데이터와 비슷한 수의 파

<br/>

## WORKSHOP 결과
# WORKSHOP 결과

<hr>

### 주최측 평가 지표
## 주최측 평가 지표

- ChrF<sup>[8](#footnote_8)</sup>
- COMET<sup>[9](#footnote_9)</sup> (WMT22-COMET-DA)
- Terminology Consistency: 용어 번역 일관성 (동일한 문서에서 같은 단어가 동일하게 번역되는가를 평가)
- Terminology Success Rate: 용어 번역 성공률 (번역 결과 문장에 용어 번역 쌍이 얼마나 반영되었는지를 판단 하는 지표, CSR과 의미적으로 동일)

### 대회 공식 결과<sup>[11](#footnote_11)</sup>
## 대회 공식 결과<sup>[11](#footnote_11)</sup>

![]({{"/assets/img/post/435833e86d3e4cd1e2576fa9aabaf4bc47dc1ad6/results.jpg"| relative_url}}){: width="80%"}

Expand All @@ -571,15 +571,15 @@ ForceGen-T 모델 역시 Terminology Consistency 2위, Terminology Success Rate

<br/>

## 마치며
# 마치며

이 글에서는 WMT 23 Terminology Shared Task에 참가한 경험을 살펴보았습니다. 대회 주최측의 제약 조건을 따르면서도 모델이 용어를 원하는 대로 번역 할 수 있는 방법을 탐구했습니다. 용어의 정보를 모델에 전달할 때, 용어의 연속성에 구애받지 않도록 TSSNMT 또는 ForceGen-T와 같은 방법으로 접근했습니다. 그 결과, 일반적인 Transformer 구조의 Baseline보다 번역 성능이 향상되었을 뿐만 아니라 주어진 용어 번역 쌍을 반영한 번역 결과를 얻을 수 있었습니다. 또한, 데이터 정제를 통해 모델의 성능이 크게 향상됨을 확인하면서 학습에 있어 고품질 데이터의 중요성을 다시 한 번 강조하고 싶습니다.

VARCO MT가 세계적인 기계 번역 대회에서 좋은 결과를 거두어 세계적으로 주목받을 수 있다는 점에서 자부심을 느낄 수 있었습니다. 이 경험을 토대로 VARCO MT가 더 높은 위치로 도약할 수 있도록 최선을 다하겠습니다. 함께 WMT23에 참가해 주셨던 동료분들에게 감사드립니다.

<br/>

## Reference
# Reference

<hr/>

Expand Down
Loading

0 comments on commit 124d193

Please sign in to comment.