Q1-1. 단어 ’data’의 TF-IDF 점수가 가장 높을 가능성이 있는 문서는 어디인가요? 그 이유는?

A. 문서B

-> 문서C에는 ’data’라는 단어가 없으므로 제외되며 TF는 A에서 5번, B에서 7번으로 B가 더 큽니다. A와 B 모두 ’data’라는 단어를 포함하기 때문에 TF-IDF 점수가 가장 높을 가능성이 있는 문서는 B입니다.

Q1-2. 문서 C에서 단어 ’model’의 TF 값은 무엇이며, 해당 단어의 IDF가 높다면 무슨 뜻인가요?

A. ’model’단어 수 /전체 단어 수 = 6/8 = 0.75

IDF가 높다는 것은 문서 C에 주로 나타나거나 다른 문서에 포함되는 빈도 수가 적다는 것, 혹은 아예 없다는 것을 의미합니다.

install.packages("tidyverse")
## package 'tidyverse' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\Administrator\AppData\Local\Temp\RtmpyOagxz\downloaded_packages
install.packages("tidytext")
## package 'tidytext' successfully unpacked and MD5 sums checked
## 
## The downloaded binary packages are in
##  C:\Users\Administrator\AppData\Local\Temp\RtmpyOagxz\downloaded_packages
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr     1.1.4     ✔ readr     2.1.5
## ✔ forcats   1.0.0     ✔ stringr   1.5.1
## ✔ ggplot2   3.5.2     ✔ tibble    3.2.1
## ✔ lubridate 1.9.4     ✔ tidyr     1.3.1
## ✔ purrr     1.0.4     
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(tidytext)

# 예제 데이터
text_df <- tibble(
  document = c("A", "B", "C"),
  text = c("data science is fun", 
           "data model data", 
           "model and science"))

# 토큰화 및 불용어 제거
data("stop_words")
tidy_tokens <- text_df %>% 
  unnest_tokens(word, text) %>% 
  anti_join(stop_words, by = "word")

# TF-IDF 계산
tfidf_result <- tidy_tokens %>% 
  count(document, word, sort = TRUE) %>% 
  bind_tf_idf(word, document, n)
tfidf_result
## # A tibble: 7 × 6
##   document word        n    tf   idf tf_idf
##   <chr>    <chr>   <int> <dbl> <dbl>  <dbl>
## 1 B        data        2 0.667 0.405  0.270
## 2 A        data        1 0.333 0.405  0.135
## 3 A        fun         1 0.333 1.10   0.366
## 4 A        science     1 0.333 0.405  0.135
## 5 B        model       1 0.333 0.405  0.135
## 6 C        model       1 0.5   0.405  0.203
## 7 C        science     1 0.5   0.405  0.203

Q2-1. 가장 높은 TF-IDF 점수를 가진 단어는 무엇인가요? 어떤 문서에서인가요?

A. fun, 문서A

Q2-2. TF 점수는 높지만 IDF 점수가 낮은 단어는 어떤 특성이 있나요?

A. 다른 문서에도 포함되는 빈도수가 높다는 특성을 가지고 있습니다.

Q3-1. TF-IDF는 어떤 경우에 유용한가요?

A. 문서 내에서 고유하게 가지고 있는 단어를 추출할때 유용합니다.

Q3-2. TF만 사용할 때 발생할 수 있는 문제점은 무엇인가요?

A. 특정 문서 뿐만아니라 다른 문서에서도 자주 등장할 수 있는 단어가 추출될 수 있기에 중요도를 파악하기 어렵습니다.