머신러닝

Natural language Processing의 소개-I: Bag of Words(단어장)에 의한 feature vector 생성

coding art 2019. 3. 19. 11:09
728x90

파이선 코딩을 배우는 초보자도 머신 러닝에 한번 도전해 보자.

머신 러닝을 배우려는 파이선 코딩 초보자들이 가지게 될 의문점들을 하나하나 찾아내어

실제 풀어보고 결과를 확인해볼 수 있는 머신 러닝!

인터넷 교보문고에서 450페이지19900원에 판매중입니다.














________________________________________________________________________________________________________________________


매스콤에서 흔히 나오는 인공지능의 응용분야 중 이세돌 기사와 Deep Mind 바둑 대결 및 머신 러닝의 방법에 대해서는 이미 대중적으로 많이 알려졌다. 그뿐만 아니라 월요일 EBS에서 방영된 인공지능편에서는 일본 장기 게임에의 응용을 다루고 있는데 그 방법론은 바둑과 유사하다고 볼 수 있을 것이다. 하지만 장기 게임 인공지능 프로그래머 조차도 특정 순간에 인공지능이 어떻게 그런 수를 두는지에 대해서는 알수가 없다고 한다. 이 부분은 오해가 있을 수도 있는 부분이다. 아직 게임과 강화학습에 대한 글을 그다지 올리지는 못했지만 MDP(Markov Decision Process)와 강화학습이 결부된 머신 러닝 코드에서 특정 순간에 가능한 경우의 수를 확률적으로 모델링하여 계산 후 가장 높은 확률에 베팅하는 과정 또는 알고리듬임을 알아두자. 엄청난 숫자 계산이 수반되므로 쉽게 간단히 설명하기는 어려울 수 있다.

 

반면에 회사의 인사문제 적용하는 인공지능의 경우 입사 지원자와의 면접을 통해 수집한 면담 내역 즉 문서화 하여 문장들을 입력하게 되는데 인공 지능이 문맥 자체를 이해하는 것은 아니라고 한다. 곧 이어서 이번 블로그부터 연재할 예정이지만 Bag of Words 즉 단어장 내지는 사전이란 것을 만들어 학습해야 한다. 이는 수능 시험에 도전하는 인공지능도 마찬가지이다. 물론 문맥 자체를 이해하는 인공지능도 연구 중이겠지만 현재 응용 중인 많은 인공지능들은 특별하기 보다는 아주 단순한 아이디어들에 착안하고 있는데 그 것은 즉 특징 벡터(feature vector)를 추출하는 기법이라 할 수 있다. 즉 특정 성격을 가지는 단어들의 출현 빈도 분석에 중점을 두고 있는데 많은 문서와 문장에서 가장 많이 나오는 영문 단어로는 “is”, “are” 들이 있을 것이며 이들은 문장에서 그다지 중요하지 않다는 그런 방식의 알고리듬이다. 계산량이 엄청날 수밖에 없지만 이런 저런 방식으로 디지털 필터링을 수행하고 나면 최종 적으로 분석해야 할 정보량이 압축되어 줄어 드는 것이다.


아래 url 주소로 넘어가서 마저 읽어 보세요.

https://steemit.com/kr/@codingart/4-4-natural-language-processing-i-bag-of-words-feature-vector