TF(Term Frequency) Model

  • 이 단어가 문장에서 얼마나 나왔나.
  • Vector space model
  • 단어의 수가 갯수가 디멘전의 수가 된다. 


TF-IDF Model

  • 이 단어가 나온 문장이 몇개인가.
  • 문서들에서 일반적으로 나오는 단어들보다 잘나오지 않는 단어가 중요;
  • N = 전체 문서의 수 , df = 단어가 나온 문서의 수




* Stop words 나 Keywords 를 통해 특정 단어를 제거하거나 선택 할 수 있으며, General한 단어는 일반적으로 stop words로 등록해 제거한다.



Word Count

import collections


file = open('data/test2.txt')


word_list = file.read().split()

word_count = collections.Counter(word_list)

result = word_count.most_common(30)

print(result)


Keyword 뽑기

import os


file_list = os.listdir(r'C:\Users\User\비정형데이터\data')

print(file_list)


word_list = []

keywords = ['Mangkhut','damage','Philippines','the']

for i in file_list:

    file = open(r'C:\Users\User\비정형데이터\data/'+i)

    split_word = (file.read().split())

    

    for word in split_word:

        if word in keywords:

            word_list.append(word)


word_count = collections.Counter(word_list)

print(word_count)


CountVectorizer


from sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer


c_vetorizer = CountVectorizer(analyzer='word')

doc = ['boring anwer phrase', 'terrible phrase', 'sleep phrase', 'phrase on stackoverflow', 'phrase on stackoverflow']

count = c_vetorizer.fit_transform(doc)

print(c_vetorizer.get_feature_names())

print(count.A)


TfidfVectorizer


vectorizer = TfidfVectorizer(analyzer='word')
doc = ['boring anwer phrase', 'terrible phrase', 'sleep phrase', 'phrase on stackoverflow', 'phrase on stackoverflow']
count = vectorizer.fit_transform(doc)
print(vectorizer.get_feature_names())
print(count.A)



+ Recent posts