10. 텍스트 분석

Humbler·2020년 4월 23일
0

10.1 기초개념

텍스트 분석의 목적은 텍스트의 의미를 알아내는 것이다.
텍스트 자체는 대표적인 비정형 데이터다.
텍스트에서 의미를 추출하려면 정형화된 정보를 먼저 얻어야 한다.
따라서 글에서 특정 단어나 문장이 나타나면 이를 기호화하고 이의 찬성 또는 반대의 정도를 숫자로 표시할 수 있어야 한다.

스팸 메일이나 스팸 SMS 문자를 찾아낼 때 텍스트 분석이 사용된다.
ex) "비아그라" 라는 단어가 있을 때는 95%가 스팸이었다는 사실을 이용한다.
만일 동시에 "구매"라는 단어가 있으면 스팸의 확률은 더 올라갈 것이다.

Bayes 알고리즘
Bayes 알고리즘은 조건부 확률 이론을 이용하여 새로운 사건의 확률을 예측하는 알고리즘이다.

Bayes 이론
독립적인 두 사건 A와 B가 있을 때 사건 A가 발생했다는 조건에서 사건 B가 발생할 확률으 다음과 같이 정의된다.
ex) 책 참조

Bayes 식에서 4개의 확률이 등장하는데 여기서 세 개의 확률을 알면 나머지 한 가지 확률을 구할 수 있다는 것이 Bayes 이론이다.

Bayes 알고리즘은 Bayes 이론을 적용한 기계학습 알고리즘이다.
Bayes 알고리즘은 미리 파악한 확률을 기초로 어떤 새로운 사건의 성격을 예측하는 것이 가능하면 복잡한 알고리즘을 실행하지 않아도 단순히 계산으로 확률을 구할 수 있다는 장점이 있다.

Data analysis의 궁극적인 목적은 대부분 의사결정을 돕기 위해서다.

10.2 스팸 메일 분류

Bayes 알고리즘 적용

  • 스팸 발생 확률과 쿠폰 단언 발생 확률인 P(스팸)과 P(쿠폰) 등은 사전 확률(priori probability)다.
    사전 확률이라고 부르는 이유는 이러한 값은 평소 다수의 데이터를 관찰하여 얻은 사전 지식이라는 뜻이다.

  • ex) 책 참조

  • P(스팸|쿠폰)은 우리가 얻고자 하는 조건부 확률로서 사후 확률(posteriori probability)라고 한다.
    한편 P(쿠폰|스팸)은 스팸 메일이 "쿠폰" 단어를 포함하고 있는 확률로서 이를 likelihood라고 한다.

Naive Bayes 알고리즘

스팸 메일인지 판단하기 위해 쿠폰 이외에 급매, 할인, 상담 등의 단어를 추가로 고려할 수 있을 것이다.
이렇게 네 개의 단어를 고려하면 쿠폰 단어 하나만 고려하는 것보다 더 정교하게 스팸 메일을 찾아낼 수 있다.
이렇게 특징 변수를 사용하여 새로운 사건을 예측하기 위해서 앞에서 소개한 베이어스 이론을 확장한 방식인 Naive Bayes 알고리즘을 사용한다.

Naive Bayes 알고리즘에서 naive라는 단어를 사용한 이유는 분류에 고려한 여러 특성 변수들이 서로 독립적이라는 "순진한" 가정을 하기 때문이다.
이들이 각각 독립적으로 결과에 영향을 준다고 가정하면 모델을 만들기가 쉽다.
앞의 Bayes 알고리즘을 독립적으로 연결하여 Naive Bayes 알고리즘을 적용할 수 있어 편리하게 분석할 수 있다.

Naive Bayes 알고리즘은 특정 단어가 들어 있는지를 파악해야 하는 블로그 분석이나 트위터 분석 등 텍스트 분석에서 널리 사용된다.
실제로 각 단어들의 등장이 독립적이지 않고 단어 사이에 관련성이 높은 경우에도 Naive Bayes 알고리즘은 좋은 결과를 낸다.

Naive Bayes 알고리즘의 결과는 "확률"로 나타난다.

우리는 정확한 확률값을 계산하는 것이 목적이 아니라 상대적인 점수, 즉 어떤 메일이 더 스팸일지만 알아내도 되므로 feature 변수들이 서로 독립이라고 가정하고 만든 Naive Bayes 알고리즘이 실제로 잘 동작한다.

수치 데이터의 변환
특징 변수가 수치형인 경우가 있다.
ex) Bayes 알고리즘에 수치형 값인 시험 점수를 직접 반영하려면 어렵다.
이 때는 점수를 60점 이하, 60~80점, 80~100점 등 구간으로 나누고 각 구간에 속할 때의 빈도와 확률을 고려하는 것이 가능하다.

profile
무엇을 모르는지 모르는 상태에서 무엇을 모르는지 아는 상태가 되어가는.

0개의 댓글