본문 바로가기

NLP107

[딥러닝을이용한 자연어 처리 입문] 02. 텍스트 전처리 Text preprocessing 1. 토큰화(Tokenization) 주어진 코퍼스(corpus)에서 토큰(token)이라 불리는 단위로 나누는 작업을 토큰화(tokenization)라고 부릅니다. 토큰의 단위가 상황에 따라 다르지만, 보통 의미있는 단위로 토큰을 정의합니다. 2. 정제(Cleaning)와 정규화(Nomalization) 정제(cleaning) : 갖고 있는 코퍼스로부터 노이즈 데이터를 제거한다. 정규화(normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어준다. 3. 어간 추출(Stemming)과 표제어 추출(Lemmatization) 정규화 기법 중 코퍼스에 있는 단어의 개수를 줄일 수 있는 기법으로 의미는 눈으로 봤을 때는 서로 다른 단어들이지만, 하나의 단어로 일반화시킬 수 있다면.. 2021. 5. 15.
[데이터 사이언스 스쿨] ml7.1 확률론적 언어 모형 ○ 확률론적 언어 모형(probability language model) : m개의 단어 w1,w2,…,wm 열(word sequence)이 주어졌을 때 문장으로써 성립될 확률 P(w1,w2,…,wm)을 출력함으로써 이 단어 열이 실제로 현실에서 사용될 수 있는 문장(sentence)인지를 판별하는 모형이다. 유니그램 모형(Unigram Model) : 모든 단어의 활용이 완전히 서로 독립 바이그램 모형(Bigram Model) : 단어의 활용이 전 단어에 의존 N그램 모형(N-gram Model) : 단어의 활용이 전 n-1개의 단어에 의존 - 출처 : [데이터 사이언스 스쿨] ml7.1 확률론적 언어 모형 2021. 5. 7.
[데이터 사이언스 스쿨] ml5.1 Scikit-Learn의 문서 전처리 기능 ○ BoW(Bag of Words) 인코딩 문서를 숫자 벡터로 변환하는 가장 기본적인 방법으로 전체 문서 {d1,d2,…,dn}를 구성하는 고정된 단어장(vocabulary) {t1,t2,…,tm}를 만들고 di라는 개별 문서에 단어장에 해당하는 단어들이 포함되어 있는지를 표시하는 방법이다. (없으면 0, 있으면 1) ○ Scikit-Learn 문서 전처리 기능 DictVectorizer: 각 단어의 수를 세어놓은 사전에서 BOW 인코딩 벡터를 만든다. CountVectorizer: 문서 집합에서 단어 토큰을 생성하고 각 단어의 수를 세어 BOW 인코딩 벡터를 만든다. TfidfVectorizer: CountVectorizer와 비슷하지만 TF-IDF 방식으로 단어의 가중치를 조정한 BOW 인코딩 벡터를.. 2021. 5. 7.
[데이터 사이언스 스쿨] ml4.1 KoNLPy 한국어 처리 패키지 ○ 한국어 말뭉치 KoNLPy에서는 대한민국 헌법 말뭉치인 kolaw와 국회법안 말뭉치인 kobill을 제공한다. 각 말뭉치가 포함하는 파일의 이름은 fields 메서드로 알 수 있고 open 메서드로 해당 파일의 텍스트를 읽어들인다. ○ 형태소 분석 - Hannanum: 한나눔. KAIST Semantic Web Research Center 개발 - Kkma: 꼬꼬마. 서울대학교 IDS(Intelligent Data Systems) 연구실 개발 - Komoran: 코모란. Shineware에서 개발 - Mecab: 메카브. 일본어용 형태소 분석기를 한국어를 사용할 수 있도록 수정 - Open Korean Text: 오픈 소스 한국어 분석기. 과거 트위터 형태소 분석기 - 출처 : [데이터 사이언스 스쿨.. 2021. 5. 6.