단어 주머니(Bag of Words)란 무엇인가요?

2024년 1월 19일

작성자

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Program Manager

단어 주머니(Bag of Words)는 머신 러닝 모델에서 처리할 목적으로 텍스트 문서의 단어 빈도를 정량화합니다. TF-IDF 변형은 문서 전체에서 단어 빈도를 자세히 설명하는 모델을 생성합니다.

BoW(Bag of words, bag-of-words라고도 함)는 정보 검색 및 머신 러닝 알고리즘에서 처리하기 위해 텍스트 데이터를 모델링하는 특징 추출 기술입니다. 더 구체적으로 설명하면, BoW 모델은 정의된 텍스트 문서에서 단어 순서와 컨텍스트를 무시하고 빈도만을 기준으로 알려진 모든 단어를 찾아내는 비정형 조합입니다.1 Bag of words는 많은 텍스트 마이닝 파이프라인의 여러 단계 중 하나입니다.

대부분의 자연어 처리(NLP) 패키지는 사이킷 학습의 CountVectorizer 함수와 같이 Bag of words 모델을 만드는 함수를 포함하고 있습니다.

트랙에서 굴러가는 공의 3D 디자인

최신 AI 뉴스 + 인사이트 


주간 Think 뉴스레터에서 AI, 클라우드 등에 대한 전문적으로 선별된 인사이트와 뉴스를 발견하세요. 

단어 주머니 모델의 작동 방식

주어진 텍스트 세트에서 단어를 계산하는 개념적 단순성을 고려하면 단어 주머니 특징화는 때때로 초보적 수준의 텍스트 처리 형태로 간주될 수 있습니다. 그러나 실제로는 이보다 더 복잡합니다.

단어 주머니 특징화를 이해하려면 벡터 공간에 대해 최소한 초급 수준의 이해가 필요합니다. 벡터 공간은 점이 그려지는 다차원 공간입니다. 단어 주머니 접근 방식에서 각 개별 단어는 벡터 공간의 개별 차원(또는 축)이 됩니다. 텍스트 세트에 단어가 n개 있는 경우, 결과로 생성되는 벡터 공간은 해당 텍스트 세트의 각 고유 단어에 대해 하나의 차원인 n차원을 갖습니다. 그러면 모델은 각 개별 텍스트 문서를 벡터 공간에서 하나의 점으로 표시합니다. 특정 차원에서 점의 위치는 차원의 단어가 점의 문서에서 나타나는 횟수에 따라 결정됩니다.

예를 들어, 두 개의 개별 문서의 내용이 각각 다음과 같은 텍스트 세트가 있다고 가정해 보겠습니다.

문서 1: 장미는 빨갛고, 제비꽃은 파랗다

문서 2: 내 사랑은 붉고 붉은 장미처럼

3차원 공간을 넘어서는 것은 상상하기 어려우니 여기서는 3차원으로 제한하여 생각하겠습니다. 이 두 문서가 포함된 말뭉치의 벡터 공간은 빨간색, 장미, 제비꽃에 대한 별도의 차원을 갖게 됩니다. 이러한 단어에 대한 3차원 벡터 공간은 다음과 같을 수 있습니다.

빨간색, 장미, 제비꽃은 모두 문서 1에서 한 번 사용되므로 이 공간에서 해당 문서의 벡터는 (1,1,1)이 됩니다. 문서 2에서는 빨간색이 두 번, 장미는 한 번, 제비꽃은 전혀 사용되지 않습니다. 따라서 문서 2의 벡터 점은 (2,1,0)입니다. 이 두 문서 점은 모두 3차원 벡터 공간에서 다음과 같이 매핑됩니다.

이 그림은 텍스트 문서를 3차원 특징 공간의 데이터 벡터로 시각화한 것입니다. 그러나 Bag of words는 데이터 공간에서 단어를 특징 벡터로 나타낼 수도 있습니다. 특징 벡터는 특정 데이터 포인트(문서)에서 지정된 특징(단어)의 값(사용)을 나타냅니다. 따라서 문서 1과 2의 빨간색, 장미, 제비꽃에 대한 특징 벡터는 다음과 같습니다.2

원본 문서에서 단어의 순서는 중요하지 않습니다. 단어 주머니 모델에서 중요한 것은 텍스트 집합에서 각 단어의 사용 횟수입니다.

단어 주머니 모델을 사용하는 이유는 무엇인가요?

Bag of words 모델은 주어진 문서에서 단어의 사용 횟수만 정량화하므로 간단한 모델링 기술로 설명되는 경우가 많습니다. 그러나 Bag of words는 많은 NLP 작업, 특히 문서 분류에 유용하게 사용됩니다. 실제로 문헌에서는 나이브 베이즈와 같은 통계적 분류기와 함께 Bag of words에 관해 자주 논의합니다.3

텍스트 분류 작업은 문서에서 사용되는 빈도가 높은 단어를 문서의 주요 아이디어를 나타내는 단어로 해석합니다.4 이는 상당히 합리적인 가정입니다. 예를 들어, 문서에서 가장 자주 등장하는 단어가 대통령, 유권자, 선거라면 해당 문서가 대통령 선거에 다루는 정치적 성격의 글일 가능성이 높습니다. 그런 다음 Bag of words를 이용해 텍스트를 분류하여 비슷한 내용을 가진 문서는 유형이 비슷하다고 추론합니다.

Mixture of Experts | 팟캐스트

AI 디코딩: 주간 뉴스 요약

세계적인 수준의 엔지니어, 연구원, 제품 리더 등으로 구성된 패널과 함께 불필요한 AI 잡음을 차단하고 실질적인 AI 최신 소식과 인사이트를 확인해 보세요.

단어 주머니 모델의 한계

단어 주머니 접근 방식을 사용하는 확률적 분류기는 대체로 효과적이지만, 단어 주머니에는 몇 가지 단점이 있습니다.

단어 상관관계. Bag of words는 문서 또는 말뭉치에서 단어가 서로 독립적이라고 가정합니다. 선거시인보다 대통령이라는 공통된 맥락에서 나타날 가능성이 높습니다. Bag of words는 개별 용어의 빈도를 측정할 때 단어 간의 사용 상관관계를 고려하지 않습니다. Bag of words는 단어 모음 모델의 특징으로 문서의 각 단어를 추출하고 용어 빈도가 해당 특징의 가중치가 되므로, 두 개 이상의 상관관계를 가진 단어는 이론적으로 해당 모델을 사용하는 통계 분류기에서 다중 상관성을 유도할 수 있습니다. 그러나 이러한 잠재적 단점에도 불구하고 나이브 베이즈의 단순화 가정은 강력한 모델을 생성하는 것으로 나타났습니다.5

복합어. 단어 상관관계는 두 개 이상의 단어가 하나의 의미 단위로 작동하는 복합 구문의 단어 주머니 표현으로 확장됩니다. 예를 들어, 단순한 단어 주머니 모델은 스크루지 씨를 서로 관련이 없는 두 개의 고유한 단어로 표현할 수 있습니다. 이러한 단어 주머니 표현은 다중 단어 개념의 의미론적 및 구문론적 특징을 반영하지 못합니다.

다의어 단어. 많은 단어는 여러 가지 의미를 가지고 있습니다. 예를 들어 는 과일을 뜻할 수도 있고 운송 수단을 뜻할 수도 있으며, 이러한 의미는 일반적으로 상당히 다른 맥락에서 발생합니다. 마찬가지로 단어는 구어에서 강세 위치에 따라 의미가 달라질 수 있습니다(예: CON-tent와 con-TENT). 단어 주머니는 단어를 모델링할 때 컨텍스트와 의미를 고려하지 않기 때문에 이러한 모든 고유한 의미를 하나의 단어로 축소하여 텍스트의 주제와 관련해 잠재적으로 중요한 정보(및 잠재적 분류)를 생략합니다.

희소성. Bag of words 모델에서 각 단어는 모델의 특징 또는 차원이고, 각 문서는 벡터입니다. 문서는 생성된 모델의 어휘에 있는 모든 단어를 사용하지 않기 때문에 주어진 벡터에 대한 많은 특징 값이 0일 수 있습니다. 벡터에 대한 대부분의 값이 0이면 모델은 희소성을 갖습니다(벡터를 행렬로 표현하는 경우 이를 희소 행렬이라고 함). 모델이 희소성을 가지면 차원이 높아져 학습 데이터에 대한 과적합이 발생합니다.6

수정

n-그램 주머니. 단어 대신 n-그램을 채택하면 Bag of words 모델이 가진 여러 가지 단점을 수정할 수 있습니다. 각 단어가 특징인 모델을 만드는 대신 n-그램을 벡터 특징으로 사용할 수 있습니다. 여기서 n은 하나의 의미 체계 단위로 취급되는 단어의 수를 나타내며, n-그램 모음에서 가장 일반적인 것은 바이그램(두 단어)입니다. 단어 바이그램은 뉴욕시 또는 에펠탑 같은 복합어를 설명할 수 있다는 점에서 유용합니다. 물론, 모든 단어 바이그램이 정보를 제공하는 것은 아닙니다. 예를 들면 영어의 on the 또는 of the가 그런 경우입니다. 그러나 여전히 n-그램은 복합어 및 단어 상관관계와 같은 문제를 설명하는 한 가지 수단입니다.7

텍스트 정규화 기술. Bag of words 모델의 구조와 기능을 개선하기 위해 원시 텍스트 데이터를 정규화해야 할 수도 있습니다. Bag of words 또는 n-그램 주머니 모델을 생성할 때 관사(예: a, the 등)와 전치사(예: from, of, on 등)와 같은 단어가 가장 많이 나타날 수 있습니다. 이러한 단어는 문서의 내용이나 유형에 관한 정보를 많이 제공하지 않으므로 분류 작업에서는 거의 쓸모가 없습니다. 중지 단어 제거(어간 추출에 자주 사용됨)와 같은 텍스트 전처리 기술은 텍스트 데이터 세트에서 관련 없는 단어를 제거하여 Bag of words 모델의 구조를 개선하는 데 도움이 될 수 있습니다. 다행히 NLTK 또는 sklearn과 같은 많은 Python 라이브러리 및 패키지에는 일반적인 전처리 기술을 수행하는 기능이 포함되어 있습니다.

해싱. 특징 해싱은 기본적으로 입력 텍스트 데이터의 개별 단어를 고정 크기의 숫자 집합으로 변환합니다. 그런 다음 이 고정된 범위의 숫자를 사용하여 Bag of words 모델의 벡터 공간을 구성합니다. 숫자의 범위를 제한하여 모델 차원을 고정된 크기로 제한하면 희소성과 고차원을 방지할 수 있습니다. 해싱의 주요 단점은 소위 '충돌'입니다. 해시 충돌은 관련이 없는 두 개의 토큰이 동일한 정수에 매핑될 때 발생합니다. 해싱의 또 다른 단점은 다의어를 고려하지 않는다는 것입니다.8

TF-IDF

표준 단어 주머니 모델을 사용하면 의미론적으로 관련이 없는 단어(예: the, some 등)가 문서 내 사용 빈도가 가장 높을 수 있으므로 모델에서 가장 큰 가중치를 가질 수 있습니다. 용어 빈도-역 문서 빈도(TF-IDF)는 이를 수정하는 것을 목표로 합니다. 단어 주머니는 한 문서에서 단어가 나타나는 횟수만 계산하는 반면, TF-IDF는 텍스트 세트의 모든 문서에서 단어의 사용 빈도를 고려합니다. TF-IDF는 다음 방정식으로 표현됩니다.

이 방정식에서 첫 번째 항은 Bag of words 모델에 의해 계산된 값, 즉 용어 빈도입니다. 두 번째 항은 역 문서 빈도를 나타냅니다. N은 텍스트 세트의 총 문서 수를 나타내고, n은 특정 단어가 사용된 문서의 수를 나타냅니다. TF-IDF는 주어진 단어가 사용된 문서가 많을수록 해당 단어의 가중치를 줄입니다. 이러한 방식으로 TF-IDF는 머신 러닝 모델에서 특징 확장의 예입니다.9

일반적인 단어 주머니 모델과 마찬가지로, NLP 패키지에는 사이킷 학습의 tfidfvectorizer 함수와 같이 TF-IDF를 구현하기 위한 기존 함수가 있는 경우가 많습니다.

최근 연구

다양한 NLP 작업에 Bag of words 모델의 여러 번형이 사용되고 있습니다. 예를 들어, 신경망 word2vec는 연속적인 단어 주머니를 사용하여 단어 임베딩 모델을 생성합니다.10 감정 분석 및 분류에 단어 주머니 모델을 사용할 수도 있습니다.11

언어

많은 NLP 기술에 대한 초기 연구는 영어나 스페인어, 프랑스어와 같은 다른 라틴 문자 언어에 초점을 두고 있습니다. 최근에는 연구자들이 아랍어와 같은 다른 언어로 눈을 돌렸습니다. 최근 연구에서는 아랍어 텍스트의 감성 분석 및 분류를 위해 word2vec과 같은 다른 NLP 툴과 함께 Bag of words 모델의 효율성을 조사하여 유망한 결과를 얻었습니다.12 다른 연구에서는 산스크리트어 텍스트의 단어 의미 모호성 해소를 위해 단어 주머니 모델을 기반으로 한 나이브 베이즈 분류기의 잠재력을 보여주었습니다.13

혐오 발언

Bag of words 접근 방식은 소셜 미디어 플랫폼에서 혐오 발언을 감지하기 위한 알고리즘에서 테스트되어 다양한 성공을 거두었습니다. 한 연구에서는 Bag of words를 word2vec 및 BERT와 같은 딥 러닝 분류기와 비교하여 BERT가 Bag of words보다 성능이 우수하고, TF-IDF는 Bag of words 모델의 예측을 크게 개선하지 못한다고 주장합니다.4 반면, 이후 연구에서는 Bag of words와 나이브 베이즈를 사용하여 약 99%의 정확도로 혐오 발언을 탐지하는 알고리즘을 제시합니다.15 데이터 크기와 표본 추출, 텍스트 사전 처리의 차이가 이러한 결과의 차이에 영향을 미칠 수 있습니다. 실제로, 다른 연구에서는 BERT와 Bag of words를 사용하는 분류기 간의 비교 성능이 데이터 세트 카테고리 크기에 따라 달라진다고 제안합니다.16

컴퓨팅 비전

최근에는 컴퓨팅 비전 커뮤니티에서 이미지 분류 및 검색 작업에서 특징을 추출을 위해 자체 변형된 Bag of words를 채택했습니다. 이 접근 방식은 이미지 특징을 감지하고 추출하여 유사한 패치를 '코드워드'로 묶습니다. 이미지 분류를 위한 Bag of words 접근법에 방해가 되는 많은 문제는 다른 컴퓨팅 비전 작업에서 발생하는 문제(예: 유사한 색상이나 배경을 가진 객체, 가려지거나 겹쳐진 객체, 클래스 내 변형 등)와 동일합니다.17

관련 솔루션
IBM watsonx Orchestrate

IBM watsonx Orchestrate를 사용하여 확장 가능한 AI 어시스턴트 및 에이전트를 쉽게 설계하고, 반복적인 작업을 자동화하고, 복잡한 프로세스를 간소화합니다.

watsonx Orchestrate 알아보기
자연어 처리 툴 및 API

강력하고 유연한 라이브러리, 서비스 및 애플리케이션 포트폴리오로 인공 지능의 비즈니스 가치를 가속화합니다.

NLP 솔루션 살펴보기
AI 컨설팅 및 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

IBM watsonx Orchestrate를 통해 확장 가능한 AI 어시스턴트 및 에이전트를 쉽게 설계하고 반복적인 작업을 자동화하며 복잡한 프로세스를 간소화합니다.

watsonx Orchestrate 알아보기 NLP 솔루션 살펴보기
각주

1 Ruslan Mitkov (ed.), Oxford Handbook of Computational Linguistics, 2nd edition, Oxford University Press, 2014년.

2 Alice Zheng and Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018년.

3 Daniel Jurafsky and James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3rd edition, 2023년, https://web.stanford.edu/~jurafsky/slp3. Christopher Manning and Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press, 2000년.

4 Dongyang Yan, Keping Li, Shuang Gu, and Liu Yang, “Network-Based Bag-of-Words Model for Text Classification,” IEEE Access, Vol. 8, 2020년, pp. 82641-82652, https://ieeexplore.ieee.org/document/9079815.

5 Christopher Manning 및 Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press, 2000년.

6 Dani Yogatama, "Sparse Models of Natural Language Text," 박사 논문, Carnegie Mellon University, 2015년, https://lti.cmu.edu/people/alumni/alumni-thesis/yogatama-dani-thesis.pdf

7 Yoav Goldberg, Neural Network Methods for Natural Language Processing, Springer, 2022년.

8 Alice Zheng 및 Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018년.

9 Alice Zheng 및 Amanda Casari, Feature Engineering for Machine Learning, O’Reilly, 2018년.

10 Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean, "Efficient Estimation of Word Representations in Vector Space," Workshop Track Proceedings of 1st International Conference on Learning Representations (ICLR), 2013년, https://arxiv.org/abs/1301.3781.

11 Tan Thongtan and Tanasanee Phienthrakul, "Sentiment Classification Using Document Embeddings Trained with Cosine Similarity," Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics: Student Research Workshop, 2019년, pp. 407-414, https://aclanthology.org/P19-2057/.

12 Huda Abdulrahman Almuzaini and Aqil M. Azmi, "Impact of Stemming and Word Embedding on Deep Learning-Based Arabic Text Categorization," IEEE Access, Vol. 8, 2020년, pp. 127913-127928, https://ieeexplore.ieee.org/abstract/document/9139948. Mohammed Kasri, Marouane Birjali, Abderrahim Beni-Hssane, "A comparison of features extraction methods for Arabic sentiment analysis," Proceedings of the 4th International Conference on Big Data and Internet of Things (BDIoT '19), 2019년, https://dl.acm.org/doi/abs/10.1145/3372938.3372998.

13 Archana Sachindeo Maurya, Promila Bahadur, Srishti Garg, "Approach Toward Word Sense Disambiguation for the English-To-Sanskrit Language Using Naïve Bayesian Classification," Proceedings of Third Doctoral Symposium on Computational Intelligence, 2023년, pp. 477–491, https://link.springer.com/chapter/10.1007/978-981-19-3148-2_40.

14 Joni Salminen, Maximilian Hopf, Shammur A. Chowdhury, Soon-gyo Jung, Hind Almerekhi, Bernard J. Jansen, "Developing an online hate classifier for multiple social media platforms," Human-centric Computing and Information Sciences, Vol. 10, 2020, https://hcis-journal.springeropen.com/articles/10.1186/s13673-019-0205-6.

15 Yogesh Pandey, Monika Sharma, Mohammad Kashaf Siddiqui, Sudeept Singh Yadav, "Hate Speech Detection Model Using Bag of Words and Naïve Bayes," Advances in Data and Information Sciences, 2020년, pp. 457–470, https://link.springer.com/chapter/10.1007/978-981-16-5689-7_40.

16 Paula Fortuna, Juan Soler-Company, Leo Wanner, "How well do hate speech, toxicity, abusive and offensive language classification models generalize across datasets?," Information Processing and Management, Vol. 58, 2021, https://www.sciencedirect.com/science/article/pii/S0306457321000339.

17 Wisam A. Qader, Musa M. Ameen, Bilal I. Ahmed, “An Overview of Bag of Words: Importance, Implementation, Applications, and Challenges," Proceedings of the Fifth International Engineering Conference on Developments in Civil & Computer Engineering Applications (IEC2019), 2019년, pp. 200-204, https://ieeexplore.ieee.org/document/8950616.