정수 인코딩컴퓨터는 텍스트보다 숫자를 더 잘 처리하기 때문에 자연어 처리 시 텍스트를 숫자로 바꾼다.각 단어를 고유한 정수에 매핑을 시키는데 보통 단어 등장 빈도수를 기준으로 정렬한 뒤 부여한다. Dictionaryfrom nltk.tokenize import sent_tokenizefrom nltk.tokenize import word_tokenizefrom nltk.corpus import stopwordsraw_text = "A barber is a person. a barber is good person. a barber is huge person. he Knew A Secret! The Secret He Kept is huge secret. Huge secret. His barber kept h..
분류 전체보기
불용어자주 등장할 수 있으나 분석하는 데에 도움이 되지 않는 단어들을 불용어라고 한다.예를 들면 I, my, on, in, 조사, 접미사 같은 것들이 있다. NLTKNLTK에서는 100개 이상의 영어 단어들을 불용어 패키지로 미리 정의하고 있다.stopwords.words('english')위 코드를 통해 NLTK에서 불용어로 정의한 단어들을 확인할 수 있다. from nltk.corpus import stopwordsfrom nltk.tokenize import word_tokenize from konlpy.tag import Oktexample = "Family is not an important thing. It's everything."stop_words = set(stopwords.words('..
표제어 추출표제어는 기본 사전형 단어라는 의미로 표제어 추출은 단어들로부터 표제어를 찾아가는 과정이다.am, are, is를 be로 나타낼 수 있는 것을 예로 들 수 있다. 표제어를 추출하는 방법은 형태학적 파싱을 하는 것이다.형태학: 형태소로부터 단어들을 만들어가는 학문 형태소는 어간과 접사가 존재한다.- 어간: 단어의 의미를 담고 있는 핵심 부분- 접사: 단어의 추가적인 의미를 주는 부분 (접미사, 접두사) 형태학적 파싱은 이 어간과 접사를 분리하는 작업이다.cats의 경우 cat이 어간 -s가 접사다. WordNetLemmatizer().lemmatize()from nltk.stem import WordNetLemmatizerlemmatizer = WordNetLemmatizer()words = [..
자연어 처리에서 데이터를 전처리하기 위해서 토큰화 - 정제 - 정규화 과정을 거친다. 토큰화토큰화: corpus에서 토큰이라 불리는 단위로 나누는 작업코퍼스(corpus): 특정한 목적을 가지고 특정 집단 내에서 사용하는 언어의 표본을 추출한 집합단어 토큰화토큰의 기준을 단어(단어구, 의미를 갖는 문자열)로 하는 경우다. 가장 기본적인 토큰화ex) 구두점을 제외하고 띄어쓰기를 기준으로 자르기 그러나 구두점이나 특수문자를 제거하면 토큰이 의미를 잃어버리는 경우가 발생하기도 한다. 토큰화 기준과 함수토큰화의 기준을 생각해봐야 하는 경우 -> 용도에 따라 영향이 없는 기준으로 선택한다. Don't와 Jane's의 경우 '에 대해서 어떻게 처리할 것인지에 대한 기준이 필요하다.토큰화 도구를 직접 설계할 수도 있..
https://www.acmicpc.net/problem/11265 11265번: 끝나지 않는 파티 입력의 첫 번째 줄에는 파티장의 크기 N(5 ≤ N ≤ 500)과 서비스를 요청한 손님의 수 M(1 ≤ M ≤ 10,000) 이 주어진다. 각각의 파티장은 1번부터 N번까지 번호가 붙여져 있다. 다음에는 N개의 줄에 걸 www.acmicpc.net 최단 경로 문제다. 플로이드 워셜을 이용하여 풀었다. 이 문제의 입력은 (시작, 끝, 가중치)가 아닌 배열로 입력이 들어오기 때문에 편했다. 플로이드 워셜을 이용해 모든 지점에서 모든 지점까지의 최단 경로를 구한다. m개의 입력을 맏아 a에서 b까지 걸리는 시간이 c초과와 이하인 경우로 나눠 출력을 한다. #include using namespace std; i..