-
패스트캠퍼스 환급챌린지 일차 미션 (2월 26일) : 딥러닝·인공지능 Signature 초격차 패키지 Online. 강의 후기패스트캠퍼스 챌린지 2024. 2. 26. 11:22
자, 오늘은
Part3. 인공지능의 이해 Lv.2 : 숲을 보는 인공지능
CH07-04. NLP - 자연어 전처리에 사용하는 파이썬
&
CH07-05. NLP - 카운트 기반 핵심어 분석
CH07-04. NLP - 자연어 전처리에 사용하는 파이썬
자연어 전처리는 일반적인 숫자 형태와 달리 전처리 해줘야 할 것이 많다는 것을 알아보았다.
이런 것들을 하나씩 구현하기엔 해야할 일이 많기 때문에 이미 누군가가 감사하게도 쉽게 가져다 쓸 수있도록
라이브러리를 만들어 놓으샸다.

위에 보이는 이런 함수들은 별도의 패키지를 설치하지 않아도 기본적으로 파이썬에서 제공하는 문자열 처리 함수들이다.
split : 문자열 분리(어떠한 문자열을 기준으로 분리를 할 것인가. 인자로 띄어쓰기 할 내용을 넣어준다.)
strip : 문자열을 삭제(남겨놓고자 하는 문자 주변에 애들을 없애는 것이다. 웹에서 크롤링 해왔을 때 불필요한 개행문자, 탭
같은걸 없앨 떄 쓴다.)
join : 문자열 연결
find : 문자열 찾기
count : 문자열 일치 횟수 반환
isalpha() : 문자열이 숫자, 특수문자, 공백이 아닌 문자로 구성되어 있을 떄만 트루, 아닐떈 폴스 반환
isdigit() : 문자열이 모두 숫자로만 구성되어 있을 때만 트루, 아니면 폴스 반환
isalnum() : 이즈알파넘버. 문자열이 특수문자, 공백이 아닌 문자로 구성되어있을 때만 트루, 아니면 폴스(이즈 알파에서 숫자만 빠진 것이다.)
isspace() / isupper() 등등이 있다.
정규표현식(re)
: 입력 문장의 패턴을 찾을 때 사용
이메일, 전화번호 등을 찾을 때 이것들은 특정한 형태(동일한 형태)를 띄기 때문에 이런식으로 표현해 줄 수 있다는 것
example@gmail.com
([a-zA-Z0-9_.+-]+) @ ([a-zA-Z0-9_.+-] +\. ([a-zA-Z0-9_.+-]
각각의 example @ gmail . com 에 올수 있는 것들을 탬플릿 같이 제공해준다는 말

NLTK(Natural Language Toolkit)
자연어 처리 및 분서분석용 파이썬 패키지다. 위와 같은 기능들을 준비해주니까 쉽게 쉽게 쓸 수 있다.
특히 한국어 패키지는 KoNLPy를 쓰면 된다.
5가지 형태소 분석기를 제공
또한 soynlp를 이용하면 파이썬 코드 분석을 할 수 있다.(뉴스기사 전용?)
CH07-05. NLP - 카운트 기반 핵심어 분석
핵심어 / 핵심어 분석 방법에 대해 알아보자.
핵심어란?
"텍스트 자료의 중요한 내용을 압축적으로 제시하는 단어 또는 문구."
이러한 핵심어 분석 방법에는 텍스트에서 많이 등장하는 단어의 등장 빈도를 핵심어를 추출
단순 빈도를 제시하는 방법 / TF-IDF를 계산

위의 보이는 이미지가 Word Cloud로 각각의 단어들이 얼마만큼 사용되었는지에 대한 한눈에 파악하고자 하는 방법이다.
(데이터 시각화!)
이 워드 클라우드를 사용하게 되면 단어의 빈도를 확인할 수있는 좋은 방법이나, 빈도수에 따라 글자수 크기를 만들어 내는 것이라 단어의 의미 연관성 등을 파악하기는 어려운 방법이다.
TF-IDF
단순 빈도수가 아니라 문장의 유사도를 파악해볼 수도 있다.(내용이 너무 길어서 요약본으로만...)
Summary
카운트 기반 연산을 위해 사용한 기능으로는
from collections import Counter 가 있고,
→ 주어진 문장에서 해당 명사 해당 단어가 몇번 등장하는지 알아 볼 수 있는 클래스
from wordcloud import WordCloud
→ 카운트에서 구한 결과 값을 사용하여 빈도수 기반으로 자주 등장하는 단어는 크게, 아닌단어는 작게. 즉 빈도수를 기반
으로 한 시각화 툴
그리고 from sklearn.feature_extraction.text import TfidVectorizer 를 알아보았다.
→ TF-IDF 벡터라이저는 TF-ID라는 지표를 사용하여 주어진 문자를 벡터로 변환하는 클래스이고,
이를 기반으로 수행했던 태스크는,
주어진 문장에서 핵심어 파악, 유사도 분석도 할 수 있음을 알 수 있었다.
26일차 끝.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글