본문 바로가기
MLOps/NLP

[NLU] 의미망 분석(Semantic Network Analysis)을 통한 관계 파악

by Finn# 2024. 11. 10.
728x90

Intro

초창기 데이터과학을 공부할 때 월마트에서 맥주와 기저귀의 동시 구매 빈도가 높다는 것을 활용해서 상품 배치를 근처에 해두었더니 매출이 향상되었다는 이야기를 한번쯤은 접해보셨을 거라 생각합니다. 당시에는 장바구니 분석이라고 배웠던 내용이지만 이번에 공부할 의미망 분석도 이처럼 Token과 Token 사이에 동시 출현 빈도가 얼마나 되는지에 대한 관측을 통해 관계를 파악하고 의미를 부여하는 분석을 의미합니다.


단어의 동시 출현 빈도 구하기

단어의 동시출현 빈도를 구하는 과정에서 당연히 문장 단위의 데이터로 나누고 해당 데이터들을 형태소 분해하여 각각의 토큰이 의미를 가지는 최소 말의 단위로 구분될 수 있게 전처리를 수행해줍니다. 이후 특정 토큰과 해당 문장과


단어 간의 상관관계를 구해보자

두개의 단어가 서로 관계가 있고 동시출현 빈도가 어느정도 발생하는지를 파악했다면 두 단어의 유무를 두고 데이터 내에서 분할표를 계산해볼 수 있습니다. 우리는 이 표를 통해 두 단어가 서로 연관이 있는지 서로 독립적인 단어인지를 검정이나 상관계수로 확인해볼 수 있습니다. 그중에서 많이 쓰는 상관계수가 파이계수입니다.


파이 계수 : Pie Coeficient

파이계수는 서로 다른 두 token에 대한 상대적인 빈도를 -1 ~ 1사이로 나타내는 계수입니다.


uni gram, bi gram , tri gram, n gram

N-gram, unigram, bigram 등의 개념은 텍스트를 토큰화하고, 연속된 단어들 간의 관계를 표현하기 위해 단어를 쌍(pair)으로 묶는 방식입니다.

 

예를 들어:

  • Unigram은 단어 하나씩을 단위로 다룹니다.
    예: "I love NLP" → ["I", "love", "NLP"]
  • Bigram은 두 단어씩 묶어 다룹니다.
    예: "I love NLP" → [("I", "love"), ("love", "NLP")]
  • Trigram은 세 단어씩 묶습니다.
    예: "I love NLP" → [("I", "love", "NLP")]

 

n- gram은 이런 uni(일), bi(이), tri(삼) gram에 대한 일반적인 묶음을 묘사하는 용어로서 n개의 gram으로 묶인 token 쌍을 의미합니다.


Outro

다음 칼럼을 통해서는 의미망 분석을 통해서 만들어진 다양한 쌍에는 문맥(Context)이 담겨있다고 이해하고 이들 문맥을 적절히 학습하여 자연어 데이터가 어떤 의미를 가지고 있는지 기계가 이해하게 만드는 기계독해(Machine Reading Comprehension) NLP Task에 대해서 정리하겠습니다.

인스타 주소 🎗

https://www.instagram.com/f.inn_sharp/

반응형