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
'AI > 데이터 분석' 카테고리의 다른 글
왁물원 카페 크롤링 및 우왁굳즈 워드클라우드 (0) | 2022.12.21 |
---|---|
[DACON] 따릉이 데이터 분석 EDA (0) | 2022.11.29 |