본문 바로가기

그냥, 코딩

[개발자를 위한 머신러닝&딥러닝] 자연어 처리 소개

반응형

지난 포스팅

https://jamjamzo.tistory.com/123

 

[개발자를 위한 머신러닝&딥러닝] 텐서플로 데이터셋으로 공개 데이터셋 사용하기

지난 포스팅 https://jamjamzo.tistory.com/122 [개발자를 위한 머신러닝&딥러닝] 전이학습 지난 포스팅 https://jamjamzo.tistory.com/m/121 [개발자를 위한 머신러닝&딥러닝] 말과 사람을 구별하는 CNN 만들기..

jamjamzo.tistory.com

 

참고

https://github.com/rickiepark/aiml4coders

 

GitHub - rickiepark/aiml4coders: <개발자를 위한 머신러닝&딥러닝> 도서의 코드 저장소

<개발자를 위한 머신러닝&딥러닝> 도서의 코드 저장소. Contribute to rickiepark/aiml4coders development by creating an account on GitHub.

github.com

 

 

Part1. 모델구축

5장 자연어 처리 소개 

  • 자연어 처리(Natural Language Processing) : 사람의 언어를 이해하기 위한 인공지능 기술 
  • 언어를 이해, 내용을 분류, 사람의 언어로 새로운 작품을 창작할 수 있는 모델을 만드는 프로그래밍 기술
  • 예) 챗봇

 

5.1 언어를 숫자로 인코딩하기

 일반적으로 언어는 문자로 인코딩하여 주로 프로그램에 문자열을 저장할 때 이런 방식을 사용한다. 각 문자마다 숫자로 인코딩해서 표현한다. 순서는 다르지만 같은 숫자로 단어를 표현할 수 있다. 

예1) listen →(ASCII)[76,73,83,84,69,78] 

예2) silent(listen의 안티그램) → (ASCII)[83,73,76,69,78,84]

*아나그램(anagram): 한 단어의 철자를 분해해 다른 단어, 혹은 다른 문장으로 바꾸는 놀이 

*안티그램(antigram): 어떤 단어의 아나그램이지만 반대 뜻을 가진 단어

 

 

5.1.1 토큰화 시작하기

 토큰(token)은 해당 데이터를 사용하고자하는 용도에 맞게 토큰화(tokenization) & 정제(cleaning) & 정규화(normalization)하는 일을 한다. 토큰의 기준은 단어(word)로 하는 경우가 있을 수 있고, 단어구, 의미를 갖는 문자열로도 간주되기도 한다. 

 

https://colab.research.google.com/drive/1Fk6mAYAO5YBfFziYSP0cQxylRHCMUb8v?usp=sharing 

 

개발자를 위한 머신러닝&딥러닝_5 자연어 처리 소개.ipynb

Colaboratory notebook

colab.research.google.com

 

 

 

 

 

반응형