본문 바로가기

papers

Nationality Classification Using Name Embeddings

임베딩을 통한 이름의 국적분류(nationality classification)에 대해 CIKM 17에서 발표된 연구이다.

이름에는 인구학적인 정보 (demographic information)이 있어 사회학, 바이오 연구에 사용된다. 당시 존재하던 연구에서는 이름의 철자중 일부를 추출하여 (substring) 작은 규모의 데이터에서 연구가 진행되었다. 전 인류의 이름이라는 관점에서는 데이터셋에 의존하기 때문에 대표성이 떨어지는 한계가 있었다. 

57M contact 리스트에서 39개의 그룹으로 전 세계 인구의 90%를 포함하는 국적 분류기를 설계했다. 국적 분류에서 기존 실험보다 더 나은 F1 score (0.795)를 달성했고 소셜 미디어 실험에서 다른 6개 분야의 트위터 셀럽에 대해 적용하였다. 예컨데, 오바마와 트럼프의 팔로워의 성별의 차이를 실증했다.

저자들은 NamePrism이라는 분류기를 개발하여 이름으로 국적과 민족을 구분하였다. 그림 1은 데이터마이닝 연구자들의 이름으로 NamePrism을 적용한 결과이다. 민족과 국적(level1)의 확률 분포를 나타낸다. 

기존의 방법들과 다른점은 무엇일까? 단순히 철자들의 나열에서 벗어나 homophily principle 혹은 유유상종이라 부르는 사람들은 비슷한 사람들끼리 연관되있다는 점을 이용한다.

논문의 실험에서는 연락처 리스트를 통해 word embedding을 만든다. 118개국 74M개의 레이블된 이름을 구하는데 이를 통해 전 세계의 90%의 인구를 포함하고 이를 39개의 leaf 국가로 정한다. 이름 임베딩을 통해 성별, 국적, 나이의 문맥을 이해하여 다른 인구기반 애플리케이션의 기초로 삼는다. 

word 임베딩은 Skip Gram, CBOW 두 가지로 구현하여 비교하였다. 이름과 성을 분리하여 Seperate, 합쳐서 Joint로 실험한 결과가 아래와 같다. 다만 흑인(B)의 인구 비율이 백인(W)보다 낮기 때문에 흑인이 있을때 옆에 데이터 포인트가 흑인일 확률은 비교적 낮다.

 국적 분류는 Naive Bayes 모델을 사용했다.

저자들은 실제 세계의 인구와 데이터셋의 인구(internet population)가 다르기 때문에 이를 조정하기 위한 방법을 썼다. 데이터셋 상의 인구와 실제 인구의 비율을 이용해서 데이터셋이 실제보다 적다면 데이터의 가중치를 높게 주는 것이다. 예컨데 영국과 남아공은 인구수가 비슷하지만 남아공의 인터넷 사용자가 적기때문에 데이터셋 상에 적게 나타난다.

P^i = 데이터셋의 인구, P^w = 실제 인구, I N^ = N국적의 데이터셋 인구, W N^ = N국적의 실제 인구
S = 전반적인 Sample ratio, ^sN = N의 sample ratio

나머지 부분은 개발한 분류기를 이용해 social media에(twitter 셀럽 팔로우) 실험한 결과이다. 이는 레퍼런스의 논문 원문을 참고하면 된다. 

결과적으로 이름 임베딩(이름, 성별, 민족 등 정보 포함)을 만들고, 머신러닝 알고리즘을 통해 국적 분류기를 개발하여 기존 모델들보다 나은 성능을 냈다. 이를 위해 전 세계를 아우르는 데이터 셋을 찾고 실제 국가들의 인구분포를 반영하였다. 그리고 social media 분석을 통해 모델을 실증하였다.



Reference

https://dl.acm.org/doi/10.1145/3132847.3133008