728x90

Clustering 5

[문서 제목 자동 분류 작업 | Clustering] 5. 한국어 Text Clustering Word2Vec K-means | 인턴

주요 라이브러리 KoNLPy의 KKma 사용 gensim의 Word2Vec 사용 Sklearn의 K-Means 알고리즘 사용 pip install konlpy pip install gensim pip install scikit-learn 진행 순서 데이터 수집 형태소 분석 : 포스태깅 -> KoNLPy의 kkm 사용 -> morphs 사용 gensim의 Word2Vec을 사용하여 벡터화 진행 클러스터링 진행 Word2Vec 단어를 N차원의 벡터로 만들어준다 텍스트만 tokenizing 해서 넣어주면 알고리즘을 통해 토큰 간의 상관관계를 찾아내고, 서로 유사한 공간에 배치하도록 만들어진다. 구현 코드 데이터 호출 및 전처리 import pandas as pd from sklearn.cluster impor..

[문서 제목 자동 분류 작업 | Clustering] 4. 한국어 Text Clustering TF-IDF K-means | 인턴

한국어 자연어 처리 시 유의할 점 한국어 자연어 처리에서 가장 중요한 것은 단어 추출이고, 단어 추출 안에서는 의미적인 기능을 하는 부분과 문법적인 기능을 하는 부분을 구분해서 처리하는 것이 중요하다. => 즉 한국어 자연어 처리에서는 형태소 분석이 매우 중요하다. 주어진 한국어 텍스트를 단어 원형의 형태로 분리해주는 작업 == 의미적인 부분 + 문법적인 부분으로 나누는 것. KoNLPy 자바 기반의 형태소 분석기를 파이썬에서 사용할 수 있게 해주는 라이브러리. 여러 한국어 형태소 사전을 기반으로 한국어 단어를 추출해준다. Mecab, 한나눔, 꼬꼬마, Komoran, Open Korean Text 다섯 종류의 형태소 사전을 사용한다. Kkma a.k.a 꼬꼬마 서울대에서 자연어 처리를 위해서 만든 형태..

[문서 제목 자동 분류 작업 | Clustering] 3. K-Means 알고리즘 학습 적용 군집화 | 인턴

코드 tr_vector_eng = tfidf_vect_eng.fit_transform(df['CONTENT_TITLE']) # 원하는 컬럼을 가져와 fir_transform() 메소드를 통해 TF-IDF 모델을 학습하고 변환하며 # 그에 해당하는 행렬을 생성한다. kmeans_eng = KMeans(n_clusters=3,max_iter=10000,random_state=42) cluster_label_eng = kmeans_eng.fit_predict(ftr_vector_eng) df['cluster_eng'] = cluster_label_eng print(df.sort_values(by=['cluster_eng'])) 3개의 군집으로 군집화 진행 결과 Class 0 : 11906 / 15614 Cla..

[문서 제목 자동 분류 작업 | Clustering] 2. NLTK를 사용한 문서 제목 토큰화 및 어근 추출 | 인턴

# 데이터 프레임의 head 확인 CONTENT_CODE LAST_MODIFIED_DATE ... CONTENT_SECURITY_LEV DEPARTMENT_NM 0 C0000000............ 1.9......+13 ... .. OE개발기획팀 1 C0000000............ 1.9......+13 ... .. OE개발기획팀 2 C0000000............ 1.9......+13 ... .. OE개발기획팀 3 C0000000............ 2.0......+13 ... .. OE개발기획팀 4 C0000000............ 2.0......+13 ... .. R&D양산개발팀 [5 rows x 7 columns] 혹시모를 정보 유출 방지를 위해 수치적인 것 들은 일부 ..

[문서 제목 자동 분류 작업 | Clustering] 1. CSV 파일 읽어오기 | 인턴

+) 분류에 사용하는 데이터는 sql 쿼리문으로 출력되어 csv 형태로 저장되어있는 파일을 불러와 사용한다. 코드 import pandas as pd csv_file_path = '../sql_result.csv' # 'utf-8'로 읽어보기 try: df = pd.read_csv(csv_file_path, encoding='utf-8') print('성공적으로 읽었습니다.') except UnicodeDecodeError: print('utf-8으로 디코딩하는 중 오류 발생. 다른 인코딩 시도 필요.') print(df) utf-8로 읽어오지 않으면 글자가 깨지기 때문에 예외처리를 해주었다. 결과 성공적으로 읽었습니다. CONTENT_CODE ... DEPARTMENT_NM 0 C000000000000..

728x90