word embedding 2

Pre-trained Word Vector를 Tensorflow에서 사용하기

Tensorflow에서 제공하는 Embedding Layer는 간편하게 사용하기에 좋습니다. 하지만 아무래도 대량의 데이터를 사용해서 별도로 훈련시킨 Word Embedding을 사용하는 것보다는 성능이 떨어집니다. (Tensorflow의 Embedding Layer vs fastText) fastText 같은 Library는 Python 인터페이스를 제공하기 때문에 pre-trained word vector를 Tensorflow에서 사용하기 쉬운 편입니다 (한국어 토큰의 단위는 뭐가 좋을까?). 하지만 이런 인터페이스가 없이 순수하게 단어와 그 단어의 Embedding 데이터만 있다면 어떻게 할까요? 결론부터 말하면 Keras Embedding Layer의 weights를 수동으로 지정해주고, trai..

Deep Learning 2020.05.20

Tensorflow의 Embedding Layer vs fastText

지난 번 한국어 토큰 테스트(한국어 토큰의 단위는 뭐가 좋을까?)를 해보고나니, Tensorflow(Keras)의 Embedding은 어떨지 궁금했습니다. 그래서 지난번 테스트 중 가장 성능이 좋았던 "형태소+글자" 단위 토큰으로 비교를 해보았습니다. Embedding dimension은 fastText의 기본값 100으로 그대로 하고요. OOV를 위한 토큰을 추가합니다. import tensorflow as tf import numpy as np from tqdm import tqdm from konlpy.tag import Mecab OOV_TOKEN = '' EMBEDDING_DIM = 100 Toknizer와 코퍼스 읽는 건 앞에서 그대로 가져오고요. tagger = Mecab() def toke..

Deep Learning 2020.04.30