[자연어처리 외부 자료]
Creating, Reading and Writing
https://www.kaggle.com/code/residentmario/creating-reading-and-writing
Indexing, Selecting & Assigning
https://www.kaggle.com/code/residentmario/indexing-selecting-assigning/tutorial
사람과 컴퓨터가 커뮤니케이션을 할때 마치 사람과 사람끼리 커뮤니케이션을 하는 것처럼 자연어로 커뮤니케이션을 하도록 하는 일련의 작업을 뜻함.
목적
컴퓨터와 자연어로 커뮤니케이션 가능, 지식, 경험, 정보등을 학습시킬 수 있음
자연어처리 어플리케이션
-Machine Translation
-Information Retrieval
-Question Answering
-Dialogue Systems
-Information Extraction
-Summarization
-Sentiment Analysis
-등등...
자연어처리 데이터
어떤 것이든 텍스트 데이터라면 데이터가 될 수 있다
-> 공통적으로 전처리(preprocessing) 작업을 해야함
텍스트 전처리 이유
데이터 내 노이즈(noise)를 제거하기 위함
(html 태그 등의 필요없는 데이터 제거)
텍스트 전처리 기술
-소문자로 통일(영어) : 라틴 알파벳으로 적혀진 텍스트(대표적으로 영어)에 주로 사용하는 방법, lower 함수 사용함
-노이즈 제거 : 텍스트 내 불필요한 내용 제거, html 태그, 특수문자, 페이지 주소 등, 정규표현식(Regular expression) 사용
https://www.nextree.co.kr/p4327/
(정규표현식 링크)
-토큰화(Tokenization)
토큰이란 텍스트 데이터에서 하나의 작은 단위를 뜻함. 토큰은 어플리케이션에 따라 혹은 사람이 정하기에 따라 달라짐(문장, 단어, 문자 모두 가능)
-stop-words 제거
stop-word란 흔히들 자주 쓰이는 단어를 뜻함(영어 같은 경우 a, the, is, are 등) Natural Language Toolkit(NLTK) 라이브러리 내 정의된 stop-word를 사용함
-표준화(Normalization)
텍스트 전처리 기술의 핵심! 단어 원형을 찾는 어간 추출(stemming 혹은 Lemmatization)이 있다
예> eat, eating, ate, eaten, eats -> 모두 먹다의 eat으로!
[실습]
단어 토큰 만들기
[Wikidocs 토큰화]
https://wikidocs.net/21698