Oneulog

불용어 문장에서 대세로 작용하지 않는, 중요도가 낮은 단어를 제거한다. 예를 들면, I, my, me, over, 조사, 접미사 같은 단어들은 문장에서 자주 등장하지만 실제 의미 분석을 하는 데는 거의 기여하는 바가 없는 경우가 있다. 이러한 단어들을 불용어라고 하며, NLTK에서는 위와 같은 100여개 이상의 영어 단어들을 불용어로 패키지 내에서 미리 정의하고 있다. 불용어 제거 방법 1. 불용어(Stopword) 목록을 받아온다. 2. 정제할 문장을 토큰화한다. 3. 토큰화된 각 단어마다: 3-1. 단어가 불용어 목록에 없는 경우 -> 정제 결과에 추가 3-2. 단어가 불용어 목록에 있는 경우 -> Pass 영어 불용어 NLTK에서 불용어 확인하기 불용어 개수 : 179 불용어 10개 출력 : ['i..
https://www.acmicpc.net/problem/1501 1501번: 영어 읽기 첫째 줄에 사전에 있는 단어들의 개수 N(0 ≤ N ≤ 10,000)이 주어진다. 다음 N개의 줄에는 각 줄에 하나씩, 영어 사전에 있는 단어들이 주어진다. 각 단어의 길이는 100자를 넘지 않는다. 다음 줄에 www.acmicpc.net 문제 혹시 인터넷을 하다가, 다음과 같은 식의 문장을 본 적이 있는가? It is itnersetnig taht pepole can raed smoe grabeld wrods. 원래의 문장은 'It is interesting that people can read some garbled words'이다. 각각의 단어들은 제일 첫 문자와 제일 끝 문자를 제외하고는 순서가 뒤섞여 있다...
정규화 기법 중 코퍼스에 있는 단어의 개수를 줄일 수 있는 기법에는 표제어 추출(Lemmatization)과 어간 추출(Stemming)이 있다. 이 두 기법이 갖고 있는 의미는 눈으로 봤을 때는 서로 다른 단어들이지만, 하나의 단어로 일반화시킬 수 있다면 하나의 단어로 일반화시켜 문서 내의 단어 수를 줄이고자 하는 것이다. 이처럼 자연어 처리에서 정규화의 지향점은 언제나 갖고 있는 코퍼스로부터 복잡성을 줄이는 것이다. 표제어 추출(Lemmatization) 표제어 추출이란 표제어 추출은 단어들로부터 표제어를 찾아가는 과정이다. 단어들이 다른 형태를 가지더라도, 그 뿌리 단어를 찾아가서 단어의 개수를 줄일 수 있는지 판단한다. 이러한 표제어 추출을 하는 가장 섬세한 방법은 단어의 형태학적 파싱을 먼저 진..
정제와 정규화 코퍼스에서 용도에 맞게 토큰을 분류하는 작업을 토큰화(tokenization)이라고 하며, 토큰화 작업 전, 후에는 텍스트 데이터의 용도에 맞게 정제(Cleaning) 및 정규화(Normalization)하는 일이 함께 한다. 정제(Cleaning) : 갖고 있는 코퍼스로부터 노이즈 데이터를 제거한다. 정규화(Normalization) : 표현 방법이 다른 단어들을 통합시켜서 같은 단어로 만들어준다. 1) 대문자 vs 소문자 Language language -> 두 단어는 같은 말이지만 컴퓨터는 가장 앞의 L과 l로 인해 다른 문자로 인식한다. 따라서 같은 문자로 변환해 주어야 한다 US us -> US는 '미국', us는 '우리'라는 뜻을 가지고 있다. 이처럼 대문자를 소문자로 바꾸는 것..
https://www.acmicpc.net/problem/1430 1430번: 공격 첫째 줄에 탑의 개수 N, 사정 거리 R, 초기 에너지 D, 적의 X좌표 X, 적의 Y좌표 Y가 주어진다. 둘째 줄부터는 탑의 위치가 한 줄에 하나씩 X좌표 Y좌표 순으로 주어진다. N은 50보다 작거나 같은 자연 www.acmicpc.net 문제 다솜이는 누구나 쉽게 게임을 만들 수 있도록 하기 위해 Microsoft에서 출시한 XNA Game Studio Express를 가지고 게임을 만들었다. 다솜이의 게임은 적의 공격에 대비해서 도시를 방어하는 게임이다. 도시에는 탑이 N개가 있다. 각각의 탑은 X-Y좌표 평면위에 존재한다. 또, 탑은 맨 처음에 D의 에너지를 가지고 있고, 탑의 사정거리는 R이다. 탑 주변에 적이..
https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를들어 - 0ms 시점에 3ms가 소요되는 A작업 요청 - 1ms 시점에 9ms가 소요되는 B작업 요청 - 2ms 시점에 6ms가 소요되는 C작업 요청 와 같은 요청이 들어왔습니다. 이를 그림으로 표현하면 아..
토큰화 주어진 문장에서 "의미 부여"가 가능한 단위를 찾는다. 예 1) Machine / learning / methods / including / ANN / have / been / applied / in / compound / activity / prediction / for / a / long / time. 단어 토큰화(Word Tokenization) 토큰의 기준을 단어(Word)로 하는 경우를 단어 토큰화라고 한다. 다만, 여기서 단어는 단어 단위 외에도 의미를 갖는 문자열로 간주되기도 한다. 이러한 단어 토큰화 작업을 수행할 시 구두점(마침표, 컴마, 세미콜론, 느낌표 등)과 같은 문자는 제외시킨다는 특징이 있다. 입력 : Time is an illusion. Lunchtime double s..
텍스트 전처리 과정 텍스트 전처리 과정은 크게 토큰화, 정제 및 추출, 인코딩으로 나눌 수 있다. 1. 토큰화 주어진 문장을 토큰이라 불리는 단위로 나누는 작업 -> 토큰의 단위가 상황에 따라 다르지만, 보통 의미 있는 단위로 토큰을 정의 -> ex) I / love / you / for / always / Do / n't / be / afraid 2. 정제 및 추출 주어진 문장에서 중요한 단어를 제외하고는 없애는 작업 -> ex) I was wondering if you can help me on this problem. 3. 인코딩 남겨진 단어들을 숫자로 바꾸는 작업 -> 방식에 따라 정수 인코딩, one-hot 인코딩이 있다. -> ex) [1, 5], [1, 3], [1, 2, 5], [1, 0,..
NLP Developer
Oneul