-
파이썬 - News categorizationpython 2021. 3. 22. 18:08
여러 주제의 뉴스 글들이 있을 때 어떻게 비슷한 주제의 기사들끼리 묶을 수 있을까?
컴퓨터는 문자를 그대로 이해하지 못하기 때문에 문자를 Binary 형식으로 전환시켜야 한다. (문자 -> 숫자)
비슷한 주제로 묶으려면 숫자로 유사하다를 표현해야 한다. 유사하다는 가깝다라는 의미로 받아들일 수 있기 때문에 vector형식으로 전환시킬 수 있다. (문자 -> 숫자 -> 벡터)
문자를 Vector로 전환하는 방법은 여러가지가 있지만 단어의 빈도수를 카운팅하기에 효과적인 BOW를 이용한다.
BOW(=Bag of Words, 단어별로 인덱스를 부여해서, 한 문장(또는 문서)의 단어의 개수를 vector로 표현)
Bow의 상세한 설명과 예 : wikidocs.net/22650 / hleecaster.com/nlp-bag-of-words-concept/
Vector를 만들었다면 이 벡터들간의 유사성을 측정해야 한다(Distance measure).
Distance measure
여러 방법 중 cosine distance를 자주 사용한다.
(euclidian distance는 출현의 빈도를 나타내고, cosine distance는 방향을 나타낸다.)
(실습)
Process - 파일 불러오기
- 파일을 읽어서 단어사전 (corpus) 만들기
- 단어별로 Index 만들기
- 만들어진 인덱스로 문서별로 Bag of words vector 생성
- 비교하고자 하는 문서 비교하기
- 얼마나 맞는지 측정하기'python' 카테고리의 다른 글
계산기 프로그램 만들기 (파이썬, 후위 계산) (0) 2022.02.20 파이썬 - 제너레이터 / 데커레이터 (0) 2021.03.19 파이썬 - docstring (0) 2021.03.19 파이썬 - 이터레이터 (0) 2021.03.18 파이썬 - 람다 함수 (0) 2021.03.16