로그인 바로가기 하위 메뉴 바로가기 본문 바로가기
난이도
기본

딥러닝을 이용한 자연어 처리

임시 이미지 조경현 교수
http://www.boostcourse.org/ai331/forum/139091
좋아요 776 수강생 7827

훈련 데이터에 없는 새로운 단어는 어떻게 표현이 되나요?

보케블러리에 대해서 이제 벡터라이제이션을 하는 학습을 계속하는데 이제 저희가 모르는 단어가 계속 새로운 단어가 생기고 그런 경우에는 어떻게 표현을 하는지...


(조경현 교수님 답변입니다)

그죠 예예...이게 여기서 지금 제가 그냥 어셈션을 준게 보케블러리가 딱 주어져있다는 어썸션을 준거죠. 그러면은 새로운 단어가 생기면 어떻게 하냐가 질문인데.
이제 이 질문에 답을 하기 위해서는 어떤 레벨에서 토큰을 디파인을 했냐를 먼저 생각을 해야되죠.
만약 우리가 토큰 디파인했던게 뭐 이렇게 실라벌 레벨이라거나 아니면은 알파벳 같은 경우...알파벳 영어나 이렇게 유러피안 랭귀지에서 알파벳레벨이었다 하면은 새 단어라는 거는 그냥 이제 그 그 알파벳 인베딩을 어떻게 합치느냐의 차이니까요.
그런경우에는 보면 이제 새로운 단어에도 가끔 제널라이즈를 하기도 합니다. 근데 그에 비해서 이제 만약 단어나 몰핀레벨에서 하면은 진짜 새로운 단어가 생길수도 있죠.
그럴때 이제 여러가지 방법이 잇는데요, 한가지는 이제 새로운 단어를 쓰는 이그잼플들을 트레이닝셋에다가 추가를 해서 파인튜닝을 살짝 한다든지요 모델을. 그럴수도 있고.
아니면은 그 새로운 단어가 들어왔을때 모르는 단어가 있을때 그 단어를 기존에 존재하는 인베딩들을 이용을 해서 새로 만들어주는 그런 방식을 볼수있죠. 그게 최근에 지아타우구랑 마이크로소프트 리설치에서 나온 페이퍼에서 유니버설 렉스컬 레프리젠테이션이라고 해서 거기서 이제 다른 랭귀지를 생각을 한겁니다.
만약 뭐 잉글리쉬 인베딩이 있으면은 이 인베딩을 어떻게 뭐 루메니안이나 다른 나라의 단어 인베딩으로 바꿔줄수 있느냐 웨이티썸을 택해서. 그걸 이제 러닝한거...그런방식도 있을거구요. 여러방식이 있겠죠. 근데 어떤 토큰레벨을 쓰냐부터 결정을 하고 가야겠죠.