tokenizer¶
개요¶
지정한 필드에 대해 tokenizer를 진행하는 명령어 입니다.
설명¶
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를 사용할 필드명 입니다. input_col to output_col 또는 input_col 으로 이루어져 있습니다. 예 : |
필수 |
pattern | tokenize를 할 때 사용할 단위에 대한 정보입니다. Default는 공백단위로 tokenize를 진행하고, option을 설정해 공백 이외에 추가적으로 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만 사용