위 코드와 같이 굳이 토크나이저의 정보를 저장해두는 이유는 위 코드를 실행하려면 인터넷이 필요하기 때문입니다. 같은 토크나이저를 서브미션 노트북에도 사용해야 하는데, Code Competition은 서브미션 노트북에 인터넷을 사용할 수 없습니다. 그러므로 토크나이저 정보를 미리 저장해두고, 서브미션 노트북에 캐글 데이터셋으로 추가해 사용할 계획입니다.
이제 TFRecordGenerator를 구성하고 데이터를 변환하겠습니다. 데이터셋에 전처리를 적용한 다음 TFRecordGenerator를 선언하고 TFRecord 파일을 생성합니다. 내부에서 텍스트 토큰화와 TFRecord 변환 과정을 거치게 됩니다.
def preprocess(df):
url_pattern = r"https?://\S+|www\.\S+"
df["comment_text"] = df["comment_text"].str.replace(url_pattern, " ")
# apply unidecode
df["comment_text"] = df["comment_text"].map(unidecode.unidecode)
# apply lowercase
df["comment_text"] = df["comment_text"].str.lower()
return df