Objective

사내 키워드 리스트를 활용한 토크나이저/언어모델 설계 및 개발

Motivation

*. 전체 모듈 중 특정 부분을 우선 진행하도록 요청을 받게 되어, 언급 내용과 같이 변경되었습니다.

형태소 분석기를 활용한 토크나이저 구현 + 사내 키워드 리스트 어휘 결합

현재 Kiwi에서는 Huggingface transformers에 호환되는 토크나이저를 제공중이나, 사용자 사전을 결합하는 기능을 제공하지는 않습니다. 따라서 강제적으로 tokenizer.json 파일을 읽어 사내 키워드 리스트를 추가하였습니다. 이 때 사내 키워드 리스트의 토큰으로써 잘 사용되는지 확인하기 위해 테스트를 진행하였고, 아래와 같이 고유명사 혹은 브랜드명에 대한 토크나이징 양상이 달라진 것을 확인할 수 있었습니다. 정량적인 지표는 experiments 챕터에 후술하였습니다.

(기밀사항 삭제)

(이외 기밀사항 삭제)

MAE-LM 개발

MAE-LM은 학습 시 (1) masked input data에 대한 last hidden representation의 effective rank가 줄어든다는 점, (2) mask 토큰을 학습 시 입력받으나 실제 추론 시에는 입력받지 않아 도메인 불일치가 일어난다는 점을 motivation으로, 학습 시 두 문제를 동시에 해결할 수 있는 방법을 제시한 학습 방법론입니다. 다만 다양한 케이스에 대한 성능 향상 정도가 확인되지 않아 일단은 HF transformers 라이브러리로 간편하게 관리 및 실험할 수 있도록 코드를 작성했습니다. (개인 레포)

유사어 토큰 임베딩 할당

검색 시스템 성능 향상을 위해 유사 키워드 리스트를 보유하고 있으나, 실제 데이터에서는 등장하지 않아 해당 단어를 버트 언어모델이 잘 이해하지 못할 것으로 사료됩니다. 더불어 유사어 기준은 어떤 것이 key에 해당하는지 명시되지 않았기 때문에, 어떤 단어로 key 매핑할지 모호한 상황입니다. 따라서 유사어 토큰에는 빈출되는 단어의 토큰 임베딩을 할당하는 방법을 구현했습니다.

https://chatgpt.com/share/6725d97d-f7c8-8008-bf32-413b88dfecd2