tokenizer
개요
지정한 필드에 대해 tokenizer를 진행하는 명령어 입니다.
타입
TEXT
설명
input으로 받은 DataFrame과 tokenize할 field명을 입력받습니다. 선택한 필드를 tokenizer를 이용해 원하는 단위로 잘라 그 결과값을 새로운 필드를 추가해 출력합니다.
Examples
데이터가 다음과 같이 존재합니다.
id |
Sentence |
---|---|
0 |
Hi I heard about Spark |
1 |
I wish Java could use case classes |
2 |
Logistic,regression,models,are,neat |
Sentence 필드값을 이용해 word단위로 쪼개 테이블에 추가하는 예
... | tokenizer Sentence to words
명령어 이후 테이블
id |
Sentence |
words |
---|---|---|
0 |
Hi I heard about Spark |
[Hi, I , heard , about , Spark] |
1 |
I wish Java could use case classes |
[I , wish , Jave , could , use , classes] |
2 |
Logistic,regression,models,are,neat |
[Logistic , regression , models , are , neat] |
Parameters
... | tokenizer fields (pattern)
이름 |
설명 |
필수/옵션 |
---|---|---|
fields |
tokenizer를 사용할 필드명 입니다. |
필수 |
pattern |
tokenize를 할 때 사용할 단위에 대한 정보입니다. |
옵션 |
Parameters BNF
tokenizer_command : fields pattern
fields : field
| fields COMMA field
field : WORD TO WORD
| WORD
pattern : WORD EQUALS QUOTE COMMA QUOTE
| WORD EQUALS QUOTE WORD QUOTE
| WORD EQUALS QUOTE DOT QUOTE
|
WORD = \w+
QUOTE = \'
EQUALS = \=
COMMA = \,
DOT = \.
개발사항
field를 1개가 아니라 여러개를 입력할 수 있는지 -> 구현 완료
pattern 을 잘못 이해하고 있었음 -> 추가 개발 사항
pattern = ‘,’ -> , 단위로 토큰을 자른다
pattern = ‘w+’ -> word 단위로 토큰을 자른다
정규표현식 입력해야함
그냥 Tokenizer() 에는 pattern 파라미터가 없음
RegExTokenizer() 안에 pattern 포함
우선 pattern 고려 안하고 Tokenizer만 사용