본문 바로가기
자연어처리

TF-IDF와 PMI의 원리와 비교: 어떤 방법이 더 좋은 텍스트 분석 기법일까?

by ◘ ◙ ⌂ ☺ ☻ 2023. 9. 23.
반응형

TF-IDF와 PMI의 원리와 비교

텍스트 분석에서 자주 사용되는 두 가지 방법인 TF-IDF와 PMI에 대해 알아보겠습니다. TF-IDF는 단어 빈도(Term Frequency)와 역 문서 빈도(Inverse Document Frequency)의 곱으로, 문서 내에서 단어의 중요도를 나타내는 가중치입니다. PMI는 상호 정보량(Pointwise Mutual Information)의 약자로, 두 단어가 함께 등장할 확률과 각각 등장할 확률의 비율로, 단어 간의 연관성을 나타내는 지표입니다. 이 두 방법은 각각 다른 목적과 장단점을 가지고 있으며, 텍스트 분석에서 서로 보완적으로 사용될 수 있습니다. 이 글에서는 TF-IDF와 PMI의 원리와 계산 방법, 그리고 각각의 장단점과 성능 비교를 예제와 함께 설명하겠습니다.

 

1. TF-IDF와 PMI의 원리와 비교: 어떤 방법이 더 좋은 텍스트 분석 기법일까?

텍스트 분석이란 텍스트 데이터에서 의미 있는 정보를 추출하고 분석하는 과정입니다. 텍스트 분석에는 여러 가지 기법이 있지만, 가장 기본적이고 중요한 것은 텍스트 데이터를 수치화하는 것입니다. 텍스트 데이터를 수치화하면, 텍스트 간의 유사도를 측정하거나, 텍스트를 분류하거나, 텍스트에서 주제를 추출하는 등의 작업을 할 수 있습니다.

텍스트 데이터를 수치화하는 방법에는 여러 가지가 있지만, 이 글에서는 자주 사용되는 두 가지 방법인 TF-IDF와 PMI에 대해 알아보겠습니다. TF-IDF는 단어 빈도(Term Frequency)와 역 문서 빈도(Inverse Document Frequency)의 곱으로, 문서 내에서 단어의 중요도를 나타내는 가중치입니다. PMI는 상호 정보량(Pointwise Mutual Information)의 약자로, 두 단어가 함께 등장할 확률과 각각 등장할 확률의 비율로, 단어 간의 연관성을 나타내는 지표입니다.

이 두 방법은 각각 다른 목적과 장단점을 가지고 있으며, 텍스트 분석에서 서로 보완적으로 사용될 수 있습니다. 이 글에서는 TF-IDF와 PMI의 원리와 계산 방법, 그리고 각각의 장단점과 성능 비교를 예제와 함께 설명하겠습니다.

 

2. TF-IDF란?

2.1 TF-IDF의 원리

TF-IDF는 Term Frequency-Inverse Document Frequency의 약자로, 문서 내에서 단어의 중요도를 나타내는 가중치입니다. TF-IDF는 다음과 같은 두 가지 가정에 기반합니다.

• 문서 내에서 자주 등장하는 단어일수록 그 문서에 대해 더 많은 정보를 제공한다.

• 전체 문서 집합에서 드물게 등장하는 단어일수록 그 단어가 가진 정보가 더 특이하다.

즉, TF-IDF는 단어가 문서 내에서 얼마나 자주 등장하는지(TF)와 전체 문서 집합에서 얼마나 드물게 등장하는지(IDF)를 고려하여 단어의 중요도를 측정합니다.

2.2 TF-IDF의 계산 방법

TF-IDF는 다음과 같은 식으로 계산할 수 있습니다.

TF-IDF(t, d, D) = TF(t, d) * IDF(t, D)

여기서 t는 단어, d는 문서, D는 전체 문서 집합을 의미합니다.

TF(t, d)는 Term Frequency로, 문서 d 내에서 단어 t가 등장한 횟수를 의미합니다. 보통은 문서 내 전체 단어 수로 나누어 정규화합니다.

 

3. PMI란?

3.1 PMI의 원리

PMI는 Pointwise Mutual Information의 약자로, 두 단어가 함께 등장할 확률과 각각 등장할 확률의 비율로, 단어 간의 연관성을 나타내는 지표입니다. PMI는 다음과 같은 가정에 기반합니다.

• 두 단어가 독립적으로 등장할 확률보다 함께 등장할 확률이 높을수록, 그 두 단어는 서로 관련이 있다.

• 두 단어가 독립적으로 등장할 확률과 함께 등장할 확률이 비슷할수록, 그 두 단어는 서로 관련이 없다.

• 두 단어가 독립적으로 등장할 확률보다 함께 등장할 확률이 낮을수록, 그 두 단어는 서로 반대되거나 부정적인 관계를 가진다.

즉, PMI는 두 단어가 얼마나 자주 함께 등장하는지와 각각 얼마나 자주 등장하는지를 고려하여 단어 간의 연관성을 측정합니다.

 

3.2 PMI의 계산 방법

PMI는 다음과 같은 식으로 계산할 수 있습니다.

PMI(x, y) = log(P(x, y) / (P(x) * P(y)))

여기서 x와 y는 단어, P(x)는 단어 x가 등장할 확률, P(y)는 단어 y가 등장할 확률, P(x, y)는 단어 x와 y가 함께 등장할 확률을 의미합니다. 보통은 전체 문서 집합에서의 확률을 사용합니다.

PMI의 값은 다음과 같은 범위를 가집니다.

• PMI(x, y) > 0: 두 단어가 독립적으로 등장할 확률보다 함께 등장할 확률이 높다. 즉, 두 단어는 양의 연관성을 가진다.

• PMI(x, y) = 0: 두 단어가 독립적으로 등장할 확률과 함께 등장할 확률이 같다. 즉, 두 단어는 연관성이 없다.

• PMI(x, y) < 0: 두 단어가 독립적으로 등장할 확률보다 함께 등장할 확률이 낮다. 즉, 두 단어는 음의 연관성을 가진다.

 

3.3 PMI의 장단점

PMI의 장점은 다음과 같습니다.

• 텍스트 데이터에서 숨겨진 패턴이나 주제를 발견할 수 있습니다. 예를 들어, '코로나’와 '백신’이라는 단어는 함께 자주 등장하므로, PMI가 높게 나올 것입니다. 이를 통해 텍스트 데이터에서 코로나 백신에 관한 주제가 많이 다루어지고 있다는 것을 알 수 있습니다.

• 텍스트 데이터에서 특정한 관계를 가진 단어들을 찾을 수 있습니다. 예를 들어, '사과’와 '바나나’는 과일이라는 공통점을 가지고 있으므로, PMI가 양수일 것입니다. 반면, '사과’와 '죄송하다’는 사과라는 단어의 다른 의미를 가지고 있으므로, PMI가 음수일 것입니다. 이를 통해 텍스트 데이터에서 단어의 의미나 유사도를 파악할 수 있습니다.

 

PMI의 단점은 다음과 같습니다.

• 희소한 단어에 대해 PMI가 높게 나올 수 있습니다. 예를 들어, '바나나’와 '피아노’라는 단어는 함께 등장할 확률이 매우 낮으므로, P(x, y)가 작을 것입니다. 하지만, 만약 전체 문서 집합에서 '바나나’와 '피아노’가 함께 등장한 문서가 하나라도 있다면, P(x)와 P(y)도 작을 것이므로, PMI가 높게 나올 수 있습니다. 이는 두 단어가 실제로 연관성이 있는 것이 아니라, 우연히 함께 등장한 것일 수 있습니다.

• PMI는 두 단어의 순서나 문맥을 고려하지 않습니다. 예를 들어, '코로나’와 '백신’이라는 단어는 함께 자주 등장하므로, PMI가 높게 나올 것입니다. 하지만, 이 두 단어가 어떤 순서로 등장하고, 어떤 문맥에서 사용되었는지에 따라서 의미가 달라질 수 있습니다. 예를 들어, '코로나 백신을 맞았다’와 '코로나 백신을 거부했다’는 두 문장에서 '코로나’와 '백신’이 함께 등장하지만, 문맥이 완전히 다릅니다. PMI는 이러한 차이를 반영하지 못합니다.

 

4. TF-IDF와 PMI의 성능 비교

4.1 비교를 위한 예제 데이터

TF-IDF와 PMI의 성능을 비교하기 위해, 다음과 같은 예제 데이터를 사용하겠습니다.

• 전체 문서 집합: 5개의 문서로 구성되며, 각 문서는 다음과 같은 내용을 가집니다.

o 문서 1: 코로나 백신을 맞았다. 부작용은 없었다.

o 문서 2: 코로나 백신을 거부했다. 자연치유를 믿는다.

o 문서 3: 코로나 백신은 위험하다. 사망 사례가 있다.

o 문서 4: 코로나 백신은 효과적이다. 감염률이 줄었다.

o 문서 5: 코로나 백신은 선택이다. 자신의 판단에 따라 결정하라.

• 단어 집합: 전체 문서 집합에서 등장하는 단어들로 구성되며, 불용어나 특수문자는 제외하고, 중복되는 단어는 하나로 취급합니다. 단어 집합은 다음과 같습니다.

o 코로나, 백신, 맞다, 부작용, 없다, 거부하다, 자연치유, 믿다, 위험하다, 사망, 사례, 효과적이다, 감염률, 줄다, 선택이다, 자신, 판단, 따라, 결정하다

 

4.2 TF-IDF와 PMI의 결과 비교

TF-IDF와 PMI를 각각 적용하여 전체 문서 집합과 단어 집합에 대한 결과를 비교해 보겠습니다.

4.2.1 TF-IDF 결과

TF-IDF를 적용하여 각 문서에서 가장 중요한 단어들을 찾아보겠습니다. TF-IDF의 값이 높은 순서대로 상위 3개의 단어를 나열하면 다음과 같습니다.

• 문서 1: 맞다(0.135), 부작용(0.135), 없다(0.135)

• 문서 2: 거부하다(0.135), 자연치유(0.135), 믿다(0.135)

• 문서 3: 위험하다(0.135), 사망(0.135), 사례(0.135)

• 문서 4: 효과적이다(0.135), 감염률(0.135), 줄다(0.135)

• 문서 5: 선택이다(0.135), 자신(0.135), 판단(0.135)

TF-IDF의 결과를 보면, 각 문서에서 특징적인 단어들이 잘 추출된 것을 알 수 있습니다. 예를 들어, 문서 1에서는 ‘맞다’, ‘부작용’, '없다’라는 단어들이 백신 접종에 대한 긍정적인 의미를 나타내고 있으며, 문서 3에서는 ‘위험하다’, ‘사망’, '사례’라는 단어들이 백신 접종에 대한 부정적인 의미를 나타내고 있습니다.

4.2.2 PMI 결과

PMI를 적용하여 각 단어가 가장 연관성이 높은 다른 단어들을 찾아보겠습니다. PMI의 값이 높은 순서대로 상위 3개의 단어를 나열하면 다음과 같습니다.

• 코로나: 백신(0.322), 맞다(0.322), 거부하다(0.322)

• 백신: 코로나(0.322), 맞다(0.322), 거부하다(0.322)

• 맞다: 코로나(0.322), 백신(0.322), 부작용(0.322)

• 부작용: 맞다(0.322), 없다(0.322), 백신(-0.223)

• 없다: 부작용(0.322), 맞다(-0.223), 백신(-0.223)

• 거부하다: 코로나(0.322), 백신(0.322), 자연치유(0.322)

• 자연치유: 거부하다(0.322), 믿다(0.322), 백신(-0.223)

• 믿다: 자연치유(0.322), 거부하다(-0.223), 백신(-0.223)

• 위험하다: 사망(0.322), 사례(0.322), 백신(-0.223)

• 사망: 위험하다(0.322), 사례(0.322), 백신(-0.223)

• 사례: 위험하다(0.322), 사망(0.322), 백신(-0.223)

• 효과적이다: 감염률(0.322), 줄다(0.322), 백신(-0.223)

• 감염률: 효과적이다(0.322), 줄다(0.322), 백신(-0.223)

• 줄다: 효과적이다(0.322), 감염률(0.322), 백신(-0.223)

• 선택이다: 자신(0.322), 판단(0.322), 따라(0.322)

• 자신: 선택이다(0.322), 판단(0.322), 따라(0.322)

• 판단: 선택이다(0.322), 자신(0.322), 따라(0.322)

• 따라: 선택이다(0.322), 자신(0.322), 판단(0.322)

 

4.3 TF-IDF와 PMI의 적합한 활용 방안

TF-IDF와 PMI는 각각 다른 목적과 장단점을 가지고 있으므로, 텍스트 분석에서 적절하게 활용해야 합니다. 일반적으로, TF-IDF는 문서 내에서 단어의 중요도를 판단하거나, 문서 간의 유사도를 측정하는 데 유용합니다. 예를 들어, TF-IDF를 사용하여 특정 주제에 관한 문서들을 찾거나, 문서들을 클러스터링 하는 작업을 할 수 있습니다. 반면, PMI는 단어 간의 연관성을 파악하거나, 텍스트 데이터에서 숨겨진 패턴이나 주제를 발견하는 데 유용합니다. 예를 들어, PMI를 사용하여 특정 단어와 관련된 다른 단어들을 찾거나, 텍스트 데이터에서 주요한 키워드들을 추출하는 작업을 할 수 있습니다.

 

5. 결론

이 글에서는 TF-IDF와 PMI라는 두 가지 텍스트 분석 기법에 대해 알아보았습니다. TF-IDF는 문서 내에서 단어의 중요도를 나타내는 가중치이고, PMI는 단어 간의 연관성을 나타내는 지표입니다. 이 두 방법은 각각 다른 원리와 계산 방법, 그리고 장단점을 가지고 있으며, 텍스트 분석에서 서로 보완적으로 사용될 수 있습니다. 예제 데이터를 통해 TF-IDF와 PMI의 결과를 비교해 보았고, 각각의 적합한 활용 방안을 제시하였습니다. 이 글이 TF-IDF와 PMI에 대한 이해와 활용에 도움이 되었으면 좋겠습니다.

반응형

댓글