'에이콘' 출판사의 [예제로 배우는 자연어 처리 기초] 책을 참고하여 자연어 처리의 기초 개념을 기록한 포스팅입니다. - 데이터는 구조에 따라 정형, 준정형, 비정형으로 나눠진다 정형 데이터 : 엑셀/csv 파일과 같은 표 형식 준정형 데이터 : 주로 xml/html 파일, 명확한 패턴에 따라 태그 사이에 정보를 저장 표 형식으로 변환이 가능 비정형 데이터 : 단순 텍스트, 이미지 처리하기 가장 어려움 - 데이터는 내용에 따라 텍스트, 이미지, 오디오, 비디오로 나눠진다 - 정규 표현식 ab? : a 뒤에 0 또는 하나의 b가 온다 ab* : a 뒤에 0 또는 b가 계속된다 ab+ : a 뒤에 b가 1개 이상 온다 ab{2} : a 뒤에 2개의 b가 온다 ab{3,5}? : a 뒤에 4개의 b가 온다 ^..
기존 커널에 대해 hooking하는 hooking.c와 그것을 테스트하는 파일 test.c를 컴파일한다. hooking.c에서 현재 프로세스의 task_struct를 이용해 test.c 파일의 경로를 얻기 위한 과정에서 알게 된 것을 기록한다. struct task_struct *t; struct mm_struct *mm; struct vm_area_struct *vm; t = pid_task(find_vpid(pid), PIDTYPE_PID); mm = get_task_mm(t); vm = mm->mmap; 현재 프로세스에 해당하는 파일의 경로 출력 char* file_path; struct file* exe_file; down_read(&mm->mmap_sem); exe_file = mm->exe_f..
import time import random import string def random_input(n): # Random input rand_str = "" for i in range(n): # n개의 문자 생성 rand_str += str(random.choice(string.ascii_uppercase)) # 랜덤한 대문자 문자열 생성 return rand_str def MAX(num1, num2): # 더 큰 값 반환 if num1 > num2: return num1 else: return num2 def LCS_LENGTH(X, Y, i, j): # LCS의 길이를 구하는 함수 if c[i][j] != -1: return c[i][j] else: if X[i-1] == Y[j-1]: c[i][..
#include #include #include #include int MAX(int num1, int num2) {// 더 큰 값을 반환 if (num1 > num2) return num1; else return num2; } // LCS Length Top-down Memoization function int LCS_LENGTH(const char* X, const char* Y, int i, int j) { if (c[i][j] != -1) return c[i][j]; else { if (X[i - 1] == Y[j - 1]) c[i][j] = LCS_LENGTH(X, Y, i - 1, j - 1) + 1; else c[i][j] = MAX(LCS_LENGTH(X, Y, i, j - 1), LCS_..
import random import string n=50# 문자의 개수(문자열의 크기) rand_str = ""# 문자열 영어 대문자로 생성 for i in range(n): rand_str += str(random.choice(string.ascii_uppercase)) 출력 결과 예시>> 영어 대문자+소문자로 생성 for i in range(n): rand_str += str(random.choice(string.ascii_letters)) 영어 대문자+숫자로 생성 for i in range(n): rand_str += str(random.choice(string.ascii_uppercase + string.digits)) 참고 inma.tistory.com/135 limseee.blogspot.c..
Linux Ubuntu에서 Pytorch를 설치한다. (import torch가 안되서, torch 와 Pytorch는 다르니까 torch 설치 방법을 찾으면서 삽질하다가 torch 모듈이 Pytorch를 의미한다는 것을 깨달았다 T_T) 간단하게 $ pip install torch 를 해주면 될 것 같았는데 나의 경우 메모리 용량이 아직 많이 남아있는데도 'MemoryError' 에러가 발생한다. 설치 방법 1> github.com/pytorch/pytorch/issues/25164 를 따라, pip --no-cache-dir install torchvision 또는 나처럼 GPU없이 CPU를 사용하는 경우에는 pip install torch==1.2.0+cpu torchvision==0.4.0+cpu..
Ubuntu에서 Kernel Compile을 진행하던 중 $ make -j3 명령어 실행 중에 다음과 같은 에러가 발생했다. 더보기 /* 에러 원문 */ arch/x86/kernel/smpboot.c: In function ‘announce_cpu’: arch/x86/kernel/smpboot.c:848:11: error: implicit declaration of function ‘num_digits’ [-Werror=implicit-function-declaration] width = num_digits(num_possible_cpus()) + 1; /* + '#' sign */ CC [M] arch/x86/kvm/../../../virt/kvm/eventfd.o cc1: some warnings b..
유저에서 root로 전환 $ sudo su root에서 유저로 전환 $ su - 사용자명 VIM 설치 $ sudo apt-get install vim $ vim ~/.vimrc # 세부 환경 설정 아래 텍스트를 복사하여 붙여넣고 저장한다. set number " 줄 번호 표시 set tabstop=4 " tab을 4칸으로 set ignorecase " 검색시 대소문자 구별하지 않음 set hlsearch " 검색시 하이라이트 set fileencodings=utf-8,euc-kr " 파일인코딩 형식 set bs=indent,eol,start " backspace 키 사용 set ruler " 상태표시줄 커서 위치 표시 set title " 제목 표시 set showmatch " 매칭되는 괄호 표시 set..