본문 바로가기
자연어처리(NLP) & CHAT GPT/NLP

[NLP] 텍스트전처리 - 개념

by 11car28z 2023. 7. 27.
텍스트전처리

데이터베이스, 데이터 웨어하우스에서 데이터를 가지고 와서 -> 데이터를 적절히 변환

 
토큰화

토크단위로 나누는 작업,자연어 처리 영역에서 처리단위, 글자를 문자/문장/문단 단위로 표현 가능, 단어 통일과정이 매우 중요,

 

영어는 공백단위로 분리해서 쉬움 + be동사 같은 경우의 단어 통일(am, are, were )+단어 단위로 토큰화하면 이름 같은 경우 띄어쓰기를 기준으로 2개의 단어로 처리되기 때문에 하나의 단어로 합치고 사용,

 

한국어는 전처리가 어려움. 조사 등 미묘한 차이로 여러개의 단어가 하나의 의미로 쓰이는 경우가 많음,

단순히 공백으로 분리해서 의미를 구별할 수 가 없다,

형태소 분석기를 사용하여 구분하는 작업를 거쳐야한다.

띄어쓰기 차이에 따라 의미가 달라짐. 형태소분석기의 성능을 평가하는 지표

-> 과연이 문장의 의미를 잘 분석하여 나눌수 있는가?

 

ex) 아버지가방에들어가신다. -> 형태소분석기(꼬꼬마, okt ):품사별로 나누기 -> 아버지 가방 에 들어가신다.

=> [아버지, 가방]으로 분석됨.

 

의미없는 단어: 불용어 -> 제거 대상

 

전처리에서 시간 단축할 수 있는 방법: 정규표현식

텍스트 데이터를 직접 수집해야하는 경우가 많음.

인터넷에서 데이터를 수집할 때 정규표현식을 사용하여 수집한다.

 

konlpy.org : 한국말 형태소 분석기 api 사이트

 

 

분석후 단어 수치 표현

인코딩( 원핫인코딩: 카테고리에 종류의 수만큼 인코딩하고 타겟하나만 1로 나머지를 0으로 만들어준다. )

 

문장의 토큰수 동일하게 맞추기

각 문장의 토큰의 수가 다름 -> LSTM 기반으로 자연어처리 모델을 만들려면 입력데이터의 길이가 반드시 동일해야하기 때문에 padding 작업을 해야한다.

 

 

데이터 전처리 과정

문장입력 -> 형태소분석기 -> 원핫인코딩 -> padding