본문 바로가기

자연어 처리8

[정규표현식] replace, series와 replace replace 함수란? 다음과 같다! ex 1.포켓>포겟으로 2.텍스트 중 특수기호 제거 코드 (한글 아닌 거 제거) +공백 제거 #적용 후 모습 # 이전(아래)와 비교 + #list를 쓰면 한번에 여러개를 replace 할 수 있다 data['v1']=data['v1'].replace(["ham", "spam"],[0,1]) #list를 쓰면 한번에 여러개를 replace 할 수 있다 + series 와 replace ⭐ = str.replace를 써라! 왜 ? series 는 문자열 형식이 아니다. # train_data['document'].replace("포켓","포겟") #? # #replace =>series에 사용 불가⭐⭐ train_data['document'].str.replace("포켓.. 2023. 7. 28.
임베딩이란? [임베딩] #일정한 길이의 벡터로 변환 # [벡터 임베딩] # word2vec: gpt2, bert 모델의 father, 유유상종 개념 ㅎ (비슷한 애들(여기서는 단어)은 주변에 있죠) # 아래 임베딩 기술의 시작은 word2vec # -원핫인코딩 : 공간낭비, 단어의미x(나타내지 못함) # -dense vector 밀집벡터 : 공간낭비x, 실수로 표현, 저차원공간에 임베딩 # -슬라이딩 윈도우 : #https://jalammar.github.io/illustrated-word2vec/ # 미끄러지듯 앞뒤 단어 차례대로 둘씩, 하나의 묶음이 되어> dataset을 이룸 (input, output이 있는) # 특정단어 앞뒤 단어로 빈칸 말 예측 가능 # -skipgram : 빈칸 단어 앞뒤로 2단어씩 보는.. 2023. 7. 28.
추천 시스템 만들기 팁 #npl2 코랩 파일 참고 자연어 처리로 추천 시스템을 만들어보기 전 우선 관련 개념을 알자! DTM : document term matrix 문서 단어 행렬 *term : 문서의 전~체 단어 ex 단어1 단어2 ... 단어M 문서 1 5(등장횟수) 0 문서 2 ... 문서 N TFIDF(TF*IDF) TF 단어빈도 TDF 문서빈도의 역수 TF == DTM ex tf(d,t) = 문서 d에서 단어 t의 등장 횟수 => 코사인 유사도 (유클리디안 거리x) * 단순히 두 거리만을 따지는 게 아니라 두 거리의 각을 기반으로 유사성을 따지는 방법 * 단순 정량x, 정성적 평가 *dot 함수, norm 함수 활용 => sklearn 라이브러리에 있다 from sklearn.metrics.pairwise impor.. 2023. 7. 25.
[자연어 처리] 시스템 구현 단계, 언어 모델, 신경망 자연어 처리로 시스템 구현할 때 밟는 단계는 우선 다음과 같다. [데이터 수집] -DB 사용 -웹 사이트 크롤링 *웹 크롤링 도구 : 파이썬 라이브러리 selenium, BeautifulSoup -텍스트 증식 고려(권장하지 않음) -위키피디아, 북스코퍼스 등의 데이터 활용 [데이터 전처리] -토큰화, 정제, 불용어 처리, 인코딩, 패딩 등 다음 단계인 언어 모델 생성 단계를 조금 자세히 살펴보자면 [언어 모델 생성] -알고리즘 선택(머신러닝, 딥러닝, 데이터 마이닝 사용) -크게 두가지: 1.머신러닝 및 딥러닝 : '학습', 신경망 (기반) 모델 2.데이터 마이닝 : '통계' 기반 초창기 때 모델로 단어의 (배열) 순서에 대해 확률 부여 ex1) 나는 자연어 처리를 공부한다 (얘를 추천함)/ 나는 자연어.. 2023. 7. 25.
[정규표현식] re.함수명(패턴,문자열) [정규표현식] #match, search 잘 안쓰고 findall 많이씀. find도 종종 import re # re.함수명(패턴,문자열) # 문자열 속에 패턴이 존재합니까? 질문에 대한 답이 출력됨 ⭐⭐⭐많이 쓴다 re.search('^Hello','Hello, world!') #^ = Hello로 시작해라. re.search('^Hello', 'Hi Hello, world!') #매치안됨 re.search('world!$','Hello, world') #매치안됨 re.search('world!$','Hello, world!') #정확히 똑같아야한다 ⭐⭐⭐⭐⭐⭐⭐ #패턴에 있는 대괄호 의미 []: 문자 "한 글자"를 의미 ❤️ ex [a]: a문자 의미, [ab] a또는b문자 의미 [a-c] a또는 b.. 2023. 7. 25.
[정규표현식] 이메일 주소 검사 #출처 : 코딩도장 https://dojang.io/mod/page/view.php?id=2439 파이썬 코딩 도장: 43.5 연습문제: 이메일 주소 검사하기 다음 소스 코드를 완성하여 주어진 이메일 주소가 올바른지 판단하도록 만드세요. emails 리스트에서 앞의 다섯 개는 올바른 형식이며 마지막 세 개는 잘못된 형식입니다. practice_regular_expression.py dojang.io 이메일 주소 형태가 맞는지 아닌지 출력하는 프로그램을 만드시오! import re p = re.compile('^[a-zA-Z0-9+-_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$') emails = ['python@mail.example.com', 'python+kr@example.com'.. 2023. 7. 24.
[정규표현식] url 검사 *출처 : 파이썬 코딩 도장 43.5 연습문제 :이메일 주소 검사하기 https://dojang.io/mod/page/view.php?id=2439 파이썬 코딩 도장: 43.5 연습문제: 이메일 주소 검사하기 다음 소스 코드를 완성하여 주어진 이메일 주소가 올바른지 판단하도록 만드세요. emails 리스트에서 앞의 다섯 개는 올바른 형식이며 마지막 세 개는 잘못된 형식입니다. practice_regular_expression.py dojang.io 내가 제출한 답..^_^ {p = re.compile('^[a-zA-Z0-9+:/]+www.[a-zA-Z0-9+./]+/.[a-zA-Z0-9+.?=]+$') 정답..^_^ import re p = re.compile('^(https?://)[a-zA-Z0-9-.. 2023. 7. 24.
[자연어 처리] 기본개념, 처리 순서 #빅리더 박길식 교수님 #colab 파일1(2개) 참고 [텍스트 처리] 1.토큰화 - 토큰이란? 작업 처리하는 단위(문자,단어,문장,문단), 문장 토큰화가 일반적 - 영어단위는 공백 단위로 분류하면 끝! * 단, 축약형('s), be 동사 통일(is,are,am), 고유명사 사이 공백 주의 * 전처리시 단어 통일 + 단어 합치기 작업 중요 ex 단어 합치기 : '_'사용 > Donald_Affri - 한글 : 언어 특성상 nltk 쓰면 단순히 띄어쓰기(공백)으로 해결하려함 -> 따로 분석기 필요 * 형태소 분석기 : 조사, 형용사 등 다 분리하는 작업 * ex 아버지가 방에 들어가신다/ 아버지가방에 들어가신다 * www.konlpy.org KoNLPy: Korean NLP in Python — KoNLP.. 2023. 7. 24.