nlp 4

[Naver Sentiment Movie Corpus] 영화 리뷰 학습을 통한 감정 예측 구현

0. 사용할 말뭉치(Corpus) 이번 구현에 사용할 말뭉치는 Naver Sentiment Movie Corpus v1.0(이하 NSMC)이다. 네이버 영화 리뷰에서 스크랩한 데이터이며, 모두 140자 미만의 길이고, 0(Negative)과 1(Positive)로 라벨링 되어있다. 자세한 정보는 아래 링크를 통해 확인할 수 있다. # Naver sentiment movie corpus v1.0 1. 데이터 전처리 데이터를 학습시키기 이전에 데이터 전처리를 할 것이다. 우선 NSMC 데이터를 불러온다. def load_data(filename): with open(filename, 'r', encoding='UTF8') as f: id, document, label = [list() for _ in ran..

NLP/구현 2021.01.03

[기초정리] 3. 자연어 처리 파이프라인 - 품사 태깅 ~ 불용어 제거 (NLTK Part-of-speech tag list 포함)

1. 품사 태깅 (Part-of-Speech Tagging) 품사 태깅(Part-of-Speech Tagging, POS Tagging)이란 단어 토큰화(Word Tokenization)를 거친 토큰(Token)들에게 품사를 붙여주는 작업을 뜻한다. 구현 코드 import nltk test_text = ['All', 'rights', 'reserved', '.'] def POS_tagging(token_list): POS_list = list() for sentence in token_list: POS_list.append(nltk.pos_tag(sentence)) return POS_list print(POS_tagging(test_text)) 결과 [[('All', 'DT'), ('rights', '..

[기초정리] 2. 자연어 처리 파이프라인 - 문장 분할(Sentence Segmentation), 단어 토큰화(Word Tokenization)

1.문장 분할(Sentence Segmentation) 기계가 이해할 수 있도록 학습시킬 때에는 당연히 글 전체보다 분리된 한 문장, 한 문장을 이해하는 것이 더 수월하다. 문장은 각각 독립적인 의견을 가지고 있기 때문이다. 문장 분할을 가장 쉽게 구현할 수 있는 방법은 구두점(Punctuation Mark)을 활용하는 것이다. 구두점이란 쉼표(,), 마침표(.), 세미콜론(;), 콜론(:) 4가지의 문장 부호를 의미한다. 쉼표(Comma), 마침표(Period), 세미콜론(Semi-colon), 콜론(Colon) 그러나 항상 구두점을 기준으로 나눌 수 있는 상황만 존재하는 것은 아니다. 구현 코드 import nltk test_text = "All rights reserved. No part of th..

[기초정리] 1. 자연어 처리란 무엇인가?

1. 자연어 처리란 자연어 처리(NLP, Natural Language Processing)란 인간의 언어, 즉 자연어를 사용하여 기계와 상호작용할 수 있도록 하는 기술이다. 자연어는 크게 자연어 이해(NLU, -Understanding)와 자연어 생성(NLG, -Generating)으로 나눌 수 있다. NLP를 사용한 예시로는 기초적인 이메일 필터, 사용자 의도 기반의 검색, 텍스트 자동 완성부터 시리, 빅스비같은 AI 비서까지 다양하다. 2. 자연어 처리 분석 과정 NLP에서의 분석은 크게 네 가지가 있다. 거치는 순서대로 형태소 분석(Morphological Analysis), 구문 분석(Syntactic Analysis), 의미 분석(Semantic Analysis), 화용 분석(Pragmatic..