기술이 발전하면서 이제는 비정형 데이터를 다루는 기술이 중요해지고 있고 , 특히 텍스트 데이터를 다루는 '자연어처리' 역량이 많이 중요해진것 같다. 마침 메타코드 사이트에서 제공되는 자연어처리 관련해서 무료강의가 있었고 이번 기회를 통해 공부를 해보려고 한다. 여러가지로 도움을 많이 받는것같다.
일상 생활에서 사용하는 보편적인 언어를 말한다. 따라서 자연어처리는 컴퓨터가 이 자연어를 처리하는것을 의미한다.
예)Model-based reinforcement learning don’t need a value function for the policy.
어려운 예)
어제 삼성 라이온즈가 기아 타이거즈를 5:3으로 꺾고 위닝 시리즈를 거두었습니다!
-> 5:3 같은거는 따로 처리를 해줘야함
예 ) 출현 횟수가 적은 단어 제거 , 지시대명사 관사등 제거 , 어간/표제어 추출
어간추출/표제어 추출 대표적 방법(Porter Algorithm)
is, are -> be / having -> have
표제어 추출은 단어의 품사 정보를 포함하고 있음(여려의미로 쓰는 단어 분류할때 유리) / 어간 추출은 품사 정보를 갖고 있지 않다.
1: 불용어 (stopword) 목록을 받아온다.
2: 정제할 문장을 토큰화 (tokenize)한다.
3: 토큰화된 각 단어마다
-> 단어가 불용어 목록에 없는 경우 → 정제 결과에 추가
-> 단어가 불용어 목록에 있는 경우 → pass
예)
1: I love apple.
2: Apple is delicious which I love too.
3: I want a delicious food, but not an apple.
4: Deep learning is difficult.
먼저 각 문장의 단어 빈도수를 계산하고 그를 기반으로 각 문장의 루트값을 구한다. 이후 구하고 싶은 문장끼리의 내적값을 나눠주면 구하고 싶은 문장끼리의 유사도를 파악 할 수 있다.
자연어 처리 관련 첫번째 포스팅이라 가볍게 개념위주로 작성 해보았다. 다음 강의 내용은 텍스트 마이닝 기법들에 대해 자세하게 소개되어 있고 , 다음 포스팅에서는 이 내용들에 대해 작성해보려고 한다.
메타코드 무료 강의 덕분에 모호했던 개념들을 공부하고 정리하는 시간을 가질 수 있게 되어 너무 감사하다.
메타코드 공식 사이트 : https://mcode.co.kr/
강의 유튜브 링크 : https://www.youtube.com/watch?v=Rf7wvs8ZbP4