AI/데이터 분석

Bag of Words (BoW)란 ?

HHB 2024. 2. 24. 00:00

Bag of Words 란 단어들의 출현 빈도를 수치화한 표현 방법.

def BoW(sentences):
    dict_bow = {}
    for sentence in sentences:
        split_sentence = sentence.split(" ")
        for word in split_sentence:
            if word not in dict_bow.keys():
                dict_bow[word] = 1
            else:
                dict_bow[word] = dict_bow[word] + 1
    
    return dict_bow


sentences = [
    "빨간 사과 노란 바나나 초록 메론",
    "주황 오렌지 노란 바나나 빨간 자두"
]

print(BoW(sentences))
#{'빨간': 2, '사과': 1, '노란': 2, '바나나': 2, '초록': 1, '메론': 1, '주황': 1, '오렌지': 1, '자
#두': 1}

위의 경우 불용어가 없는 문장이라 BoW 예쁘게 나오지만, 

현실에 많은 데이터는 불용어가 많아 BoW를 정의하기 어렵다. 

 

따라서 불용어 처리를 잘 해줘야 BoW를 잘 활용할 수 있을 것 같다.

728x90
반응형
LIST