본문 바로가기

NLP8

Chapter 8. 비지도 학습: 토픽 모델링 및 클러스터링 젠스 알브레히트, 시다르트 라마찬드란, 크리스티안 윙클러, 『파이썬 라이브러리를 활용한 텍스트 분석 Blueprints for Text Analytics Using Python』, 심상진, 한빛미디어-OREILLY(2022), p281-320. NMF (Non-negative Matrix Factorization) 비음수 행렬 분해 선형대수 기반 방법론 문서-용어 행렬의 인수분해로 문서 말뭉치에서 잠재 구조를 가장 쉽게 찾을 수 있음 문서-용어 행렬은 양수 값 요소만 있어서 NMF 활용 가능 \(V\approx W\cdot H\) V: 문서 * 단어 W: 문서 * 토픽 H: 토픽 * 단어 구현 sklearn.decomposition.NMF 활용 임의의 주제 개수를 선택 (n_components) 각 토픽.. 2023. 9. 30.
Chapter 7. 텍스트 분류기 젠스 알브레히트, 시다르트 라마찬드란, 크리스티안 윙클러, 『파이썬 라이브러리를 활용한 텍스트 분석 Blueprints for Text Analytics Using Python』, 심상진, 한빛미디어-OREILLY(2022), p252-279. Definition ground truth: 우리가 정한 정답, 모델이 우리가 원하는 정답으로 예측해주길 바라는 답 Using predict probability 올바르게 예측한 값과 틀린 값은 모델이 얼마나 확신을 갖고 결정했는지 histogram으로 확인 Correct → 높은 확률로 결정되는 경우가 많았음 Wrong → 모델이 헷갈려하는 경우가 많았음 (histogram에서 0.4-0.6에 빈도가 치중됨 특정 임계치 (ex. 80%)를 기준을 넘는 결정만 고.. 2023. 9. 29.
Chapter 6. 텍스트 분류 알고리즘 젠스 알브레히트, 시다르트 라마찬드란, 크리스티안 윙클러, 『파이썬 라이브러리를 활용한 텍스트 분석 Blueprints for Text Analytics Using Python』, 심상진, 한빛미디어-OREILLY(2022), p213-249. Learned SVM 랜덤 포레스트 대비 희소 데이터의 분류 및 예측 작업에 더 적합함 ➡️ 텍스트 데이터로 작업할 때 선호됨 숫자로만 이루어진 입력 특성으로 작업할 때 적합 혼합된 입력 특성(ex. 범주 + 수치)인 경우, 다른 알고리즘을 쓰는 것이 좋음 Linear SVC vs SVC vs SGDClassifier LinearSVC sklearn.svm.LinearSVC liblinear 구현을 기반 (C++ 오픈 소스 라이브러리) SVC, SGDClassif.. 2023. 3. 26.
Chapter 5. 특성 엔지니어링 및 구문 유사성 젠스 알브레히트, 시다르트 라마찬드란, 크리스티안 윙클러, 『파이썬 라이브러리를 활용한 텍스트 분석 Blueprints for Text Analytics Using Python』, 심상진, 한빛미디어-OREILLY(2022), p177-212. Learned MultiLabelBinarizer One-hot Encoding을 할 경우 MultiLabelBinarizer를 쓰는 것을 권장 OneHotEncoder는 범주형 특성에만 적합 Multi-label Classification에서도 활용 가능 Bag Of Words (BOW) BOW를 이용해 문서 간의 유사성을 구할 때, 문서 벡터 간의 각도를 유사성의 척도로 활용하는 방법을 추천 스칼라곱은 벡터의 크기(문서의 단어 수)에 민감함 유클리디안 거리는 .. 2023. 3. 26.
Chapter 4. 통계 및 머신러닝을 위한 텍스트 데이터 준비 젠스 알브레히트, 시다르트 라마찬드란, 크리스티안 윙클러, 『파이썬 라이브러리를 활용한 텍스트 분석 Blueprints for Text Analytics Using Python』, 심상진, 한빛미디어-OREILLY(2022), p135-175. Learned 텍스트 데이터의 일반적인 전처리 파이프라인 노이즈 처리 w. regex +, *와 같은 반복자는 유의해서 사용 (텍스트의 많은 부분을 제거할 수 있음) 문자 정규화 ex. 악센트와 같은 문자를 다른 토큰으로 인식 -> textacy 라이브러리 활용 가능 textacy : spacy와 함께 작동하도록 구축된 라이브러리 언어 부분은 spacy에 맡기고 사전 및 사후 처리에 중점을 둠 normalize_hyphenated_words: 줄 바꿈으로 구분된 .. 2023. 3. 26.
Chapter 3. 웹사이트 스크래핑 및 데이터 추출 젠스 알브레히트, 시다르트 라마찬드란, 크리스티안 윙클러, 『파이썬 라이브러리를 활용한 텍스트 분석 Blueprints for Text Analytics Using Python』, 심상진, 한빛미디어-OREILLY(2022), p97-134. Learned robots.txt 검색엔진 크롤러가 웹사이트에서 접근해야 하지 말아야 할 곳은 어디인지, 사이트맵 (sitemap.xml) 은 어디에 있는지와 같은 중요한 정보를 담고 있는 텍스트 파일 크롤러가 웹사이트에 접속하여 정보 수집을 하며 보내는 요청으로 인해 사이트 과부하되는 것을 방지하기 위해 사용됨 feedparser: RSS 형식을 원하는 형식으로 parsing하는 tool RSS(Rich Site Summary, Really Simple Syndi.. 2023. 3. 26.
Chapter 2. API로 추출하는 텍스트 속 통찰 젠스 알브레히트, 시다르트 라마찬드란, 크리스티안 윙클러, 『파이썬 라이브러리를 활용한 텍스트 분석 Blueprints for Text Analytics Using Python』, 심상진, 한빛미디어-OREILLY(2022), p69-96. Learned API 통신할 수 있도록 해주는 인터페이스 사용자가 소프트웨어 응용 프로그림애나 구성 요소, 서비스 등이 어떻게 구현되는지 몰라도 됨 사용할 수 있는 요청의 종류, 사용되는 데이터 형식, 예상 응답을 포함하는 일련의 정의 및 프로토콜을 제공 웹사이트 스크랩보다 선호되는 접근 방식 호출 가능한 함수로 설계됨 사용하기 쉽고 자동화할 수 있음 데이터가 자주 변경되거나 프로젝트에 최신 정보를 반영해야 할 때 권장 SOAP vs REST vs GraphQL SO.. 2023. 3. 26.
Chapter 1. 텍스트 데이터에서 찾는 통찰 젠스 알브레히트, 시다르트 라마찬드란, 크리스티안 윙클러, 『파이썬 라이브러리를 활용한 텍스트 분석 Blueprints for Text Analytics Using Python』, 심상진, 한빛미디어-OREILLY(2022), p29-68. EDA 탐색적 데이터 분석 (Exploratory Data Analysis) 수집 수준에서 데이터를 체계적으로 조사하는 과정 (요약, 통계, 결측치 확인 등) NLP에서는 말뭉치(corpus)의 통계적 탐색을 진행 메타 데이터: 범주, 작성자, 날짜/시간 콘텐츠: 단어, 구, 개체 -> 상대적 빈도 활용 단어: 문장 안에서 띄어쓰기가 되어 있는 각각의 단위 ex. 나는 / 도서관에서 / 친구를 / 만났다 구: 2개 이상의 단어가 모여 하나의 단어처럼 쓰이는 덩어리, .. 2023. 3. 26.
반응형