PROGRAMMING

토큰화(Tokenization) 본문

AI 인공지능

토큰화(Tokenization)

Raccoon2125 2020. 12. 21. 20:19

wikidocs.net/21698

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

1. 단어 토큰화

 : 토큰의 기준을 단어로 설정. 단어(word)는 단어, 단어구, 의미를 갖는 문자열로 간주

 - 구두점(punctuation) - . , ? ; ! 등과 같은 기호

 

ex) 입력: Time is an illusion. Lunchtime double so!

     출력: "Time", "is", "an", "illusion", "Lunchtime", "double", "so"

 

2. 토큰화 시 고려해야할 사항

 i) 구두점이나 특수 문자를 단순 제외시키면 의미가 퇴색될 수 있음

 ii) 줄임말이나 단어 내에 띄어쓰기가 있을 경우

   ex) I'm, We're / New York, rock n roll

 iii) 표준 토큰화 방법 중 하나인 Penn Treebank Tokenization

   규칙 1. 하이픈으로 구성된 단어는 하나로 유지

   규칙 2. doesn't 와 같이 아포스트로피로 '접어'가 함께하는 단어는 분리 처리

 

3. 문장 토큰화

 - 구두점 중 ? ! 의 경우는 문장을 구분하는 데 도움이 될 수 있으나, 마침표의 경우에는 의미가 상이할 수 있음

 

4. 이진 분류기(Binary Classifier)

 - 입력에 따라 두 개의 클래스를 사용합니다.

  i) 온점(.)이 단어의 일부분일 경우. 즉, 온점이 약어(abbreviation)로 사용된 경우

  ii) 온점(.)이 정말로 문장의 구분자(boundary)일 경우

 - 따라서 이진분류가 가능하기 위한 약어 사전을 유용하게 사용합니다. 

  https://public.oed.com/how-to-use-the-oed/abbreviations/

 

Abbreviations | Oxford English Dictionary

This list contains the most common abbreviations used in the OED. Click on a letter to see the abbreviations beginning with that letter. Most of the words listed are only...

public.oed.com

 ※ 참고: 문장 토큰화 규칙 정립 시 여러 예외사항을 다룬 참고 자료

https://www.grammarly.com/blog/engineering/how-to-split-sentences/

 

How to Split Sentences

This article was co-written with Grammarly engineer Oleksii Sliusarenko. At Grammarly, we use a lot of off-the-shelf core NLP technologies to help us make a…

www.grammarly.com

5. 한국어 토큰화의 어려움

 1) 한국어는 교착어입니다.

  : 예를 들어, 그(he)라는 단어에도 수많은 조사가 붙게되고 각각의 경우에 다른 뜻으로 인식되면 자연어처리가 어려움

  ※ 형태소(morpheme)

  : 가장 작은 말의 단위. 자립 형태소와 의존 형태소로 나뉨

   i) 자립 형태소 - 접사, 어미, 조사와 관련없이 자립하여 사용가능한 형태소. 그 자체로 단어가 됨.

     ex) 체언(명사, 대명사, 수사), 수식언(관형사, 부사), 감탄사 등

   ii) 의존 형태소 - 다른 형태소와 결합하여 사용되는 형태소.

     ex) 접사, 어미, 조사, 어간을 일컫음

  → 즉, 한국어는 단어 토큰화 방식이 영어와 같이 어절 토큰화가 아닌 형태소 토큰화를 수행해야 합니다.

 

 2) 한국어는 띄어쓰기가 제대로 되지 않아도 의미 해석이 가능하다는 점에서 자료의 불확실성이 높아짐

    EX1) 제가이렇게띄어쓰기를전혀하지않고글을썼다고하더라도글을이해할수있습니다.

    EX2) Tobeornottobethatisthequestion

  ※ 모아쓰기, 풀어쓰기 encykorea.aks.ac.kr/Contents/Item/E0078816

 

모아쓰기(모아쓰기) - 한국민족문화대백과사전

1443년(세종 25) 훈민정음이 창제된 이래로 한글은 모아쓰기를 해 왔다. 개화기 무렵에 서양의 말과 글을 접하게 되면서 많은 학자들이 낱글자를 나란히 배열하는 풀어쓰기 방식에 대해 관심을 가

encykorea.aks.ac.kr

6. 품사 태깅(Part-of-speech tagging)

 - 영어 'fly' : (동사) 날다, (명사) 파리

   한국어 '못' : (명사) 고정하는 물건, (부사) 동사를 수행할 수 없음을 의미

 

7. NLTK, KoNLPy

 - KoNLPy 다운로드 d-e-v.tistory.com/m/9?category=697580

 

Anaconda에서 KoNLPy (한글 형태소 분석기) 설치하기

Anaconda에서 KoNLPy (한글 형태소 분석기) 설치하기 1. 요구 환경 JDK 1.7+ (환경변수 설정까지 완료) Microsoft Visual C++ (Window 유저) Xcode (Mac 유저) 2. Anaconda Prompt를 엽니다. 3. conda-forge에서 j..

d-e-v.tistory.com

 ※ 한국어 형태소 분석기 성능 비교 : https://iostream.tistory.com/144

 

한국어 형태소 분석기 성능 비교

korean-tokenizer-experiments 형태소 분석기 비교실험 환경하드웨어 (MacBook Pro Mid 2015)소프트웨어데이터실험 내용실행 시간 비교로딩 시간형태소 분석 시간문장 분석 품질 비교띄어쓰기가 없는 문장자

iostream.tistory.com

http://www.engear.net/wp/%ED%95%9C%EA%B8%80-%ED%98%95%ED%83%9C%EC%86%8C-%EB%B6%84%EC%84%9D%EA%B8%B0-%EB%B9%84%EA%B5%90/

 

한글 형태소 분석기 비교 – EnGear

사이트 : https://openkoreantext.org/ 속도가 가장 빠르지만 형태소 분석 품질은 상대적으로 낮은것 같다. 실시간으로 처리해야할 필요가 있을때 사용하는 것이 좋을 것 같다. 사이트 : http://kkma.snu.ac.k

www.engear.net

※ 윈10 메캅 설치 : https://cleancode-ws.tistory.com/97

 

윈도우 python3.X mecab 설치 간단~

1.  mecab-ko-msvc 설치하기 'C 기반으로 만들어진 mecab'이 윈도우에서 실행될 수 있도록 하는 역할 1-1. 링크 클릭 https://github.com/Pusnow/mecab-ko-msvc/releases/tag/release-0.9.2-msvc-3 1-2. 윈도우..

cleancode-ws.tistory.com

'AI 인공지능' 카테고리의 다른 글

Step Size Decay  (0) 2021.03.16
Optimizer  (0) 2021.03.16
토큰화 ipynb 코드블럭  (0) 2020.12.21
가중치 초기화, 배치 정규화  (0) 2020.12.21
머신러닝 참고사이트  (0) 2020.12.10
Comments