Keras - base filter

Posted by Young Han Lee on January 12, 2017 · 1 min read

Keras-Tokenizer base_filter

링크는 여기에…

Text Preprocessing - Keras Documentation

Text Preprocessing

keras의 장점이면 몇가지 응용분야에 대한 preprocessing을 지원한다는 것이다.

언어처리도 마찬가지이다.

그 중에 어쩌면 가장 기본적인 기능인 Tokenizer를 보다 보니 filters 라는 옵션이 있다.

게다가 default로 filter=base_filter() 라고 되어 있고,

base_filter가 뭐하는 녀석인지는 전혀 설명이 없다.

뭐 이름만 보면 기본적인 내용을 하는 것일텐데, 아무래도 궁금해서 참을 수 없었다.

코드를 뒤져보자.

Code

링크는 여기에…

keras/text.py at master · fchollet/keras · GitHub

어??

코드가 사라졌다!!!

keras/text.py at 9f4734cbf1044cb5eb921f8e834423c3f528d0d4 · fchollet/keras · GitHub

하루 사이에 패치가 발생해서 base_filter()가 사라졌다. ㅠ.ㅠ

실제 코드상을 보면

def base_filter():
    f = string.punctuation
    f = f.replace("'", '')
    f += '\t\n'
    return f

인데 string.punctuation을 보면 특수부호들이 다 들어가있다. 여기에 만 뺀 리스트를 보내서, 실제로 tokenizer가 돌 때 얘들은 제거해서 돌리는 역할을 한다.

이제는 패치가 일어나서 이해하기 쉬워졌는데 그전에는 진짜 진짜 알아보기 힘들었음;; 췟;

암튼, 결론은

filters로 속해있는 char는 진짜로 날려버린다는 의미.
아직 doc은 updated되지 않았는데 곧 되겠지. ㅠ.ㅠ 뭔가 엄청 허무하다. 그래도 이걸 보느냐고 날린 시간이 있는데…