1. NLP ( natural Launguage Processing )
: 텍스트에서 의미있는 데이터를 처리하는 기술. 자연어는 기계어에 비해 처리하기가 어렵기 때문에 전처리 과정이 필요한데,
Tokenization, cleaning, normalization 의 단계를 거친다.
- 토큰 : 문법적으로 더 이상 나눌 수 없는 언어 요소
- OOV : Out of Vocabulary - 구축한 단에 사전에 단어가 없어 null값으로 처리됨. 단어사전수가 많아지면 Vector 수가 많아지고, 단어 사전 수가 적으면 예측력이 떨어지기 때문에 적절한 단어사전의 수를 정하는 것이 중요하다.
- 형태소 분석과 명사 추출 : Token을 만들 때 형태소나 명사 단위로 추출을 하는 방법.
- BPE : 형태소와 명사 추출 방법 라이브러리에서는 구어체의 경우에 정확도가 많이 떨어지기때문에 사용하는 방법.
2. Natural Language Embedding
- 자연어를 다차원의 벡터로 매핑시켜주는 것.
3. 처리 방법
- One Hot Encoding : 단어들을 vocabulary vector(2차 행렬) 넣어놓고, 발생했는지 안했는지만 0과 1로 count하는 방법
- Back of Word : 단어당 1차원 리스트를 만들어놓고 한 row에 몇번 등장했는지를 count한다
- TF-IDF(term frequency - inverse document frequency) : 딥러닝은 오래 걸리고, 핵심 키워드별로 정리를 하자 했을때 유용하게 쓰이는 알고리즘.
: 여러 문서로 이루어진 문서 군이 있을 떄 어떤 단어가 특정 문서 내에서 얼마나 중요한 것인지릘 나타내는 통계적 수치 TF * IDF의 값을 벡터로 저장.
- TF : 특정 문서에서 특정 단어의 등장 횟수
- IDF : 특정 단어가 등장한 문서의 역수 ex. 보험기사에서 보험이 너무 많이나오면 이는 중요한 데이터는 아니라고 판단하는 것.
- WORD2Vec : 머신러닝을 이용해서 단어를 임베딩하는 알고리즘. 단어 벡터간의 유의미한 유사도를 반영할 수 있도록 의미를 수치화하는 방법.
: 중심 단어를 기준으로 분석하는데 앞뒤로 토큰을 몇개를 분석할건지는 window size 파라미터로 조절한다.
: 중심단어 앞의 데이터를 Input Layer로 분석 - > CBOW
: 중심단어 뒤의 데이터를 Output Layer로 분석 -> Skip gram
- ELMO and BERT : 단어 단위의 머신러닝 분석 방법은 중의어에 취약하다. 그래서 딥러닝 방식으로 분석기법이 나온게 엘모엔버트.
- 나는 나비가 좋다, 하늘을 나는 나비에서 ‘나는’은 문맥을 고려하는게 중요함.
- 현업에서는 Generation보다 Classification에 대한 요구가 많기 때문에 BERT를 보통 많이 사용함
- OpenAI GPT는 Decoder이기 때문에 텍스트를 새로 Generation하는 경우(챗봇) 많이 사용함
- 요새는 GPT 기반의 classification 모델도 많음. - KILT : Open Domain QA, Dialogue(문맥 분석), Fact Checking, Entity Linking ( 데이터베이스와 키워드 맵핑 )
4. 처리 순서
- 형태소 분석
- 구문 분석
- 의미 분석 : 선생님이 교실에 오신다.
- 화용 분석 : 아 그러니까 조용히 해야겠다. 실세계와 가지는 연관관계를 분석
- 객체명 인식 : Named Entity Recognition ( Entity Linking과 유사)
- 스팸메일 탐지 : Recall 보다 Precision이 훨씬 중요함. 스팸메일이 아닌데 스팸메일로 판단하는게 더 위험하기 때문
- 토픽 모델
- 번역기
- 자동 요약: 핵심 주제를 파악하고, 핵심 주제가 무엇인지 새로운 문장을 만들어주는 것
5. NER : Named Entity Recognition
- 이름을 가진 개체(Entity)를 인식하는 것. 정보 추출의 하위범주의 비정형 텍스트에서 미리 정의된 레이블(이름, 기관, 장소, 의료코드, 시간 등)로 개체를 분류하는 것.
- 검색 기능 향상 : Text Data에서 PER : 홍길동, OG : 삼성전자, TI: 10시경, AFM: 아반떼 로 객체 명을 추출한 후, 추출된 객체정보고 문서를 검색
- Tensorboard 를 사용하면 시각화가 매우 유용함. PSA : 차원 축소 시 분산이 가장 큰 정도로 축소시킴.
6. 감성분석
- 긍정과 부정 또는 중립으로 구분하는 것
- 룰 기반 감성분석 : 사용자 사전 생성 후 매칭을 하는데, 이때 단점은 룰이 많아지면 나중에는 side effect가 커지기 때문에 추가/수정이 어려워짐.
'Study > 데이터 분석' 카테고리의 다른 글
CNN의 이해 (0) | 2022.03.26 |
---|---|
데이터 과학과 AI (0) | 2022.03.26 |