- 2018년 8월 24일 오후 5:34
- 조회수: 3712
REFERENCES
INFORMATION
- 2018년 8월 31일
- 오후 1시 30분 ~
- 고려대학교 신공학관 218호

TOPIC
OVERVIEW
발표자 후기

금일 세미나에서는 토픽 모델링의 개념과 발전 과정에 대해서 소개했다. 토픽 모델링이란 문서 집합을 요약하기 위해 숨겨진 토픽을 발견하는 통계적 모델이다. 먼저 문서를 의미적으로 표현하는 데에 있어 여러 단어 및 문서들의 동시 출현 횟수 및 확률이 중요하다는 것을 염두에 두어야겠다. 또한, 소개한 토픽 모델들에서 문서들과 그 문서들 내에 있는 단어들은 잠재 주제들로 이어진다는 가정이 필수적이다. 여러 문서들은 Term-Document Matrix로 변환되는데, 이 matrix를 Singular Value Decomposition, Latent Semantic Indexing, Probabilistic Latent Semantic Indexing, Latent Dirichlet Allocation, Term-weighted Latent Dirichlet Allocation 등의 토픽 모델들로 잠재 주제를 추출할 수 있다. 공통적으로 모델들은 문서별 주제 분포, 주제별 토픽 분포를 추론하는 데에 주력하며, 이 두 가지 분포를 최적으로 업데이트 시키는 것이 목적이다. 토픽 모델링은 텍스트 요약, 번역, 의미론 분석 분야에서 널리 활용되고 있고 Topic-RNN 모델과 Word2vec-LDA와 같은 딥러닝 기반의 모델들도 발전되고 있다. 토픽 모델의 발전 과정을 익히면서 통계적으로 단어의 의미를 파악하는 것에 대한 중요성을 느꼈으며 도출된 토픽의 labeling에 대한 한계도 극복되어야 하겠다는 생각이 들었다. 프로젝트를 진행하며 떠오른 궁금증으로 시작한 세미나였지만 준비 과정에서 텍스트 요약과 기계 학습의 결합에 대한 새로운 인사이트를 얻을 수 있었다. 앞으로 Natural Language Processing에 대한 연구를 계속하면서 모델의 고안 프로세스와 만들어진 목적에 대해 고민하며 나아가야겠다는 다짐을 한다.
청취자 후기

오늘은 토픽 모델링에 대한 설명을 들었다. 토픽 모델링은 문서들에서 핵심적인 주제를 찾는 방법론이다. 많은 양의 문서들이 존재할 때 사람이 모든 문서를 다 읽고서 핵심적인 주제들을 추출해내는 작업은 굉장히 많은 시간과 인력을 요구한다. 이런 경우에 토픽 모델링을 사용해서 핵심적인 주제들을 효과적으로 추출하고 해당 주제를 대표할 수 있는 단어들도 효과적으로 찾아낼 수 있다. 가장 많이 사용되는 방법은 LDA 방법론인데 Generative Modeling에 기초를 한 방법이다. Generative Modeling을 이용했다는 것은 우리가 문서의 주제를 정하고 해당 주제에 따른 단어 분포를 정의한 다음 해당 문서의 특정 위치에 단어를 작성하는 방식을 통계적으로 모델링했다는 것을 의미한다. 최근에는 단어의 가중치까지 반영해서 모델링을 할 수 있는 방법이 제안되었다. 현재 발표자가 진행하고 있는 프로젝트가 흥미로웠는데 다양한 문서에서 중요한 토픽을 찾고 단어들 간에 계층 관계를 정의하는 문제였다. 현재는 토픽 모델링을 한 이후 단어들 간의 네트워크를 정의한 다음 여기서 가장 Page Rank Score가 높은 단어를 대표 단어로서 선택을 했다. 한 가지 들었던 생각은 계층적으로 상위에 있는 단어는 출현 빈도가 오히려 낮지 않을까 하는 생각이었다. 일반적으로 논문을 작성할 때 우리는 계층적으로 위치가 높은 추상적인 단어를 본문에 많이 사용하지는 않는다. 예를 들어 Machine Learing 관련 논문을 쓴다고 했을 때, Machine Learning이란 단어는 Introduction 쪽에서 한 두 번 등장할 것이다. 그래서 오히려 Introduction의 앞 부분에 등장하는 단어에 가중치를 더 주면 어떨까 하는 생각이 들었다.

금일 세미나의 주제는 Topic Modeling이었다. 빅데이터 시대에 살고 있는 우리는 수많은 비정형데이터를 생산한다. 지금 세미나 후기를 쓰고 있는 지금 이시간에도 수억개의 비정형데이터가 생산되고 있다. 하지만 이렇게 많은 비정형데이터에서 어떠한 주제를 도출해 내는것은 중요한 일이다. 이러한 과정을 Topic Modeling이라 한다. 처음 설명한 모델링 기법은 Topic-based Vector Space Model이다. 해당 모델은 문서의 단어들의 co-occurrence를 분석하는 방법이다. 하지만 해당모델의 단점은 문서의 개수와 단어들의 수가 많아지면 단어의 가중치가 0에 가까운 값으로 감소하여 제대로 된 학습이 불가능 하게 된다는 점이다. 다음으로 설명해준 방법은 Latent Semantic Indexing기법이었다. 선형대수학, 데이터마이닝에서 사용되는 차원 축소 방법인 SVD를 이용하여 모델링 하는 방법이다. SVD의 결과인 대각행렬의 값 중 HyperParameter로 주제의 개수를 정해 이들만을 이용해서 수많의 문서의 주제를 도출해내는 방법이다. 이 방법의 단점은 SVD 시행결과 특정 문서가 특정 Topic에 해당하는 비중이 음수가 나오는 경우가 있어, 이를 확률적으로 해석하기 어렵다. 마지막으로 소개한 방법이 LDA이다. LDA는 현재 문서에 등장한 단어들에 대해, 이들의 주제를 찾아 나아가는 방법이다. Latent라는 말이 붙은 이유는 문서상에 존재하지 않는 주제를 도출해 내기 때문이다. 우선 단어들에 대해 임의로 주제를 부여하고, Gibbs sampling방법을 이용해 단어들의 주제를 labeling해 나아간다. labeling시, 각 단어에 해당 주제와 관련이 있을 확률을 계산하여 그 값중 최댓값을 가진 주제를 labeling한다. 하지만 임의로 주제를 어떻게 부여하는지에 따라 실제 결과와 차이를 보일수 있다는 단점이 있다. Gibbs sampling방법에 가중치를 부여하는 방법을 더하여 LDA를 진행하는 Term-weightd LDA방법이 있는데 이 방법이 결과(정확도)가 가장 좋았다. 금일 세미나를 들으면서 텍스트마이닝이라는 분야에 대해 처음 접해보았다. 단어 그대로 텍스트에 대한 정보를 추출한다는 의미로만 알고 있었다. 세미나를 통해 이론적으로 베이지안 확률과 관계된 개념이 들어가고 디리클레분포라는 확률분포를 텍스트와 관련된 자료에 사용하는것이 매우 흥미로웠다. 비정형 데이터인 문서가 Counting에서 시작하여 정형 데이터로 변화하고, 이를 통계적으로 분석되는 것을 단계적으로 설명해준 유연이에게 감사를 표한다.

오늘 세미나는 토픽모델링에 관한 내용이었다. 이전의 모델부터 LDA까지 순차적으로 설명이 이루어졌다. 하지만 deep learning개념으로 LDA를 진행했던 모델에 대해서는 간단한 언급만 해주었는대 그 부분까지 설명이 이루어졌다면 나에겐 더 흥미로웠을것 같다. 설명에서 이해가 어려울 것 같은 부분을 예시로 쉽게 설명하려 노력했던 점은 나중에 내가 세미나하게 될 때도 사용하면 발표를 하는데 큰 도움이 될 것 같다. 또한 LDA를 활용하여 KISTI와 진행하는 프로젝트에서 기술문서들의 분류 체계(상하위 개념)도출에 관한 설명도 덧붙여져서 실 활용에 있어서의 역할도 알 수 있었다. 하지만 프로젝트의 큰 목적과 결과의 해석에 있어서의 해석이 조금 더 자세히 이루어 졌다면 프로젝트를 하지 않았던 사람들이 이해를 하는데 더 수월하지 않았을까 생각이 들었다. 또한 BBC NEW 데이터에 대해 실험을 진행한 것도 keyword들의 network를 그리는 것이 목표라고 설명하지 않고 왜 뉴스 데이터에서 LDA가 필요했던 이유와 그것이 어떻게 활용될 수 있는지 더 자세히 설명해주었다면 좋았을 것 같다. 수업에서도 들었던 것이지만 또 다른 흐름으로 설명을 들으니 잊었던 부분도 상기할 수 있어서 리마인드가 되어 유익했던 시간이었다. 그동안 내가 했던 프로젝트들에서 LDA의 활용이 큰 것을 보았을 때 얼마나 좋은 알고리즘이고 이것을 이해하는 것이 얼마나 중요한지 알았음에도 불구하고 그냥 결과를 내기만 급급하고 알고리즘을 깊게 살펴보지 않고 넘어간 것에 대해서 나에게 반성도 할 수 있는 시간이었다. KISTI프로젝트에서 나왔던 주제로 연구를 진행하는 것도 잘 마무리되어 좋은 연구를 하길 기원하는 마음으로 세미나 후기를 이만 정리하겠다.

오늘 세미나에서는 Topic modeling method를 다루었다. Topic modeling이란 Text 문서의 의미적인 분석을 위한 방법론으로 한 document에 나타난 word들이 어떤 topic에서 파생되었는지 그 관계를 추론하여 궁극적으로 document가 어떤 topic 분포를 가지고 있는지 추정하는 데에 쓰인다. 지문을 읽고 주제를 찾는 문제와 비슷하다고 볼 수 있는데, 분석에 사용할 document의 수가 많을 경우 효율적으로 적용이 가능하다. Documents에 들어있는 word들의 co-occurrence를 분석하기 위하여 기본적으로는 document-term matrix가 사용된다. Document-term matrix는 document에 등장하는 term(word)의 빈도를 보여주는 matrix로 document와 term의 관계를 벡터화하여 보여준다는 데에 의의가 있다. 이 관계를 벡터화함으로써 어떤 모델의 input으로 쓰기가 용이하기도 하고 document 간 유사도를 계산하여 비슷한 document들을 뽑아볼 수도 있기 때문이다. Topic modeling 방법론 중에 가장 유명한 방법론은 Latent Dirichlet Allocation(LDA)이다. 주어진 document에 존재하는 topic의 분포를 추정할 때 document 내의 topic의 분포와 topic 내의 word 분포가 Dirichlet 분포를 따른다고 가정하기 때문에 이름에 Dirichlet가 들어간다. Hyper parameter인 α값을 어떻게 조절하느냐에 따라 한 document에 분포하는 topic의 분포를 uniform에 가깝게 혹은 멀어지게 할 수가 있어서 한 document에 하나의 topic이 우세하도록 만들어 document clustering을 하는 데에도 쓸 수 있어 유용한 방법론이다. 요즘에는 deep learning 방법론이 대세라지만 topic modeling 분야만큼은 고전적인 방법론이 computation cost 대비 괜찮은 결과를 내기 때문에 기존 방법론이 크게 흔들리지 않고 있다. 세미나 끝부분에는 발표자가 참여하고 있는 text 관련 프로젝트에 대해서 소개했다. 중간에 방법론 설명을 하면서 여러가지 예시를 들어서 설명을 했었는데 그것보다는 실제 프로젝트에서 사용한 데이터를 이용해서 예시를 만들고 프로젝트 진행 과정에서 마주했던 어려운 점이나 프로젝트에서 얻은 insight 같은 것을 공유하고 토론을 했으면 더 좋았을 것 같다. 전반적으로는 지난 학기 수업 시간에 배웠던 Topic modeling의 concept에 대해서 다시 한번 들을 수 있었던 유익한 시간이었다.

오늘 유연이가 “Topic Modeling Method”에 대해서 설명해 주었다. 전에 수업에서 Topic Modeling을 들었을 때 이해하기 어려웠으나 이번 세미나를 통해 이해할 수 있었다. Topic Modeling은 여러 분야에서 많이 사용되고 있다. 궁극적인 목적은 Text 문서의 의미적인 분석을 하기 위함이다. 방대한 문서들이 있을 때 이 문서들이 어떤 주제를 갖을지 모두 읽어 볼 수 없기 때문에 정리하기 어렵다. 이 때문에 방대한 문서들이 당연한 시대에 Topic Modeling은 중요한 이슈이다. 이번 세미나에서 처음으로 소개해준 논문은 “Topic-based Vector Space Model”이다. 우리가 흔히 알고있는 TF-IDF를 통해서 문서를 벡터화 시켜준 후 Cosine Similarity로 Similarity를 계산하여 비슷한 문서들끼리 묶어주는 것이다. 하지만 이 논문의 한계점은 TF-IDF에서 단어의 수가 많아지게 되면 당연히 TF-IDF의 Matrix가 Sparse해 지기 때문에 Similarity를 계산함에 있어서 용의 하지 못하다. 그 단점을 보완하기 위해 나온 논문이 “Latent Semantic Indexing”이다. 이 논문은 Singular Value Decomposition 기법을 사용하여 행렬 분해를 하여 중요한 단어만을 추출하고 차원을 축소하여 Sparse한 문제를 해결하였다. 하지만, 이 논문 또한 문헌 내의 용어가 등장한 횟수를 기반으로 하여 확률적으로 모델링하기 어렵다. 이를 바탕으로 확률 기반으로 한 “Probabilistic Latent Semantic Indexing”이라는 논문이 나왔다. 이 논문은 단어와 문서의 동시 출현 확률을 기반으로 모델링을 한것이며 단순 Latent Semantic Indexing과 크게 다른 것이 없다. 하지만 이것 또한 문제점이 존재한다 확률기반으로 모델링을 하지만 확률에 대한 분포를 두고 있지 않기 때문에 초기 랜덤 값에 굉장히 민감하게 반응한다. 그래서 Latent Dirichlet Allocation이라는 우리가 Topic Modeling에서 흔히 많이 배우는 알고리즘이 등장한다. LDA는 확률을 디리클레-다항 분포를 사용한다. 또한 깁스 샘플링을 통하여 나머지 단어는 고정 시킨 채 한 단어만을 빼고 분포를 추론하는 방법을 사용한다. LDA는 샘플링을 이용하기 때문에 실행마다 결과가 달라질 수 있고 단어의 분포만을 가지고 주제를 묶기 때문에 실제 주제와는 다를수 있다. 또한, 한 문서 내에서 각 주제 간의 연관성을 찾을 수 없다. Topic Modeling은 기본적으로 Topic을 정의하는 것이 어렵다. 이것에 대해 연구를 효과적으로 진행한다면 좋은 연구가 될 것 같다. 또한, 깁스 샘플링이나 디리클레-다항 분포를 조금 더 깊게 공부해 보고 싶은 마음이 들었다. 열심히 준비해준 유연이에게 감사하다는 말을 전하고 싶다.

오늘은 말뭉치로부터 토픽을 추출하는 토픽 모델링 전반에 대해 다루었다. 문서가 생성되는 과정을 설명하는 것이 LDA의 결과물이다. 주어진 문서에 대해 각 문서 내 어떤 주제들이 존재하는지에 대한 확률모형이다. 1) 토픽별 단어의 분포추정 2) 문서별 토픽의 분포추정. 즉, 말뭉치 – 토픽분포 – 토픽 추출 – 해당토픽에 해당되는 단어 추출 과정이다. 가정은 토픽의 단어 분포와 문서의 토픽분포의 결합으로 문서 내 단어들이 생성된다고 가정한다. Latent(잠재) 라는 명칭이 붙은 이유는 현재 문서에 등장한 단어들은 어떤 토픽에서 뽑힌 건지 모르기 때문이다(꼬리표가 달린게 아님). 이에 Wd, n 을 갖고 잠재변수를 역으로 추정한다(문서에 등장하는 단어 할당). Latent Inference 는 샘플링 기반이라 결과의 안정성이 부족하다고 알려져 있다. Dirichlet Distribution 의 알파가 작을수록 특정 토픽이 크게 나타난다. 반대의 경우는 토픽들의 분포가 비슷해진다. 대게 알파는 10으로 해서 균등하게 토픽 전부다 같은 값을 갖는게 관례다. 단어와 문서의 매게 역할을 출현확률로 표현한 것이 PLSA 확률모형이다. 확률이기에 결과의 전체합은 1이다. E-step 과 M-step 으로 나누어 복수의 변수들을 반복적인 연산으로 학습시킨다. 유연이가 실례를 들어 상기 개념들을 이해하기 쉽게 설명해 주어 고마웠다. 교수님의 코멘트처럼 용어를 먼저 말하지 말고 더욱 쉽게 풀어서 설명을 이어간 다음 '이러해서 용어가 ㅇㅇ 입니다.' 라는 발표 자세에 대해 나뿐만 아니라 모두가 다시 한 번 기억해야겠다.

오늘 전체세미나는 'Topic Modeling Methods'라는 주제로 유연이가 진행하였다. Topic Modeling은 Text(Document) Clustering이라고 할 수 있으며 Text에 맞는 잠재변수 추정 기법이 Topic Modeling 기법이다. Topic개수는 Hyperparameter로 추정된 잠재변수가 Topic이며 분포형태로 표현된다. 예를 들어 추정된 잠재변수의 분포 중 확률 값이 가장 큰 값으로 Topic을 할당하는 방식으로 이루어지는 것이다. 오늘 기초적인 Topic Modeling기법부터 분포추정 과정을 자세히 이해할 수 있었고, 텍스트 또한 이산형 변수로 표현할 수 있고 의미론적으로 순차적 관계를 인지할 필요가 있는 관계로 순차적 확률 분포를 추정하는 기법은 없는지 궁금하다.

금일 세미나는 토픽 모델링 방법론의 기본 개념과 대표 알고리즘의 전반적인 이해를 도모했다. 토픽 모델링은 비정형 데이터 중 텍스트 데이터에 대해 의미론적 분석 활용되는 기법이다. 여기서 의미론적 분석이라 함은 문서 내 어떠한 토픽이 있는지, 어떤 문서들이 토픽 기준으로 서로 유사한지를 알아보는 과정이라 할 수 있다. 의미구조 유추방식은 차원축소에 주로 활용되는 특이값분해(singular value decomposition) 기법을 활용해서 문서-토픽-단어의 조건부확률 관계를 분리해낸다. pLSI(Probabilistic Latent Semantic Indexing)는 단어와 문서의 출현 횟수가 아닌 확률함수로 추정하도록 변경한 모델이다. 이는 또한 문서의 단어별 분포, 문서별 토픽분포를 추정하기 위해 디리쉴레 분포를 활용하는 LDA(latent dirichlet allocation) 모델의 개발로 이어졌다. 오늘 새로 소개한 Term weighted LDA는 문서별 단어의 가중치가 서로 다룰 수 있음을 감안한 모델인데, 이외 다양한 개선 LDA모델이 많은 것 같다. 오랜만에 토픽 모델링에 대한 세미나가 진행되어 복기할 수 있는 기회가 된 것 같아 발표자 유연이에게 감사인사를 전하며, 개인연구에 좋은 성과를 낼 수 있기를 바란다.

이번 세미나 주제는 Topic Modeling로 Topic Modeling의 필요성과 방법론, 나아가 실제 프로젝트 적용 사례까지 설명 들을 수 있는 시간이었다. 특히 발표 전반부 'Starry Night' 이라는 시의 단순 사례로 먼저 Topic Modeling의 필요성에 대해 쉽게 환기 시켜준 점이 인상 깊었다. 이후 Term-Document matrix와 통계적 확률 계산을 바탕으로 PLSA, LDA, Term-weighted LDA 등 실제 Topic Modelling에 사용하는 방법론을 사례 중심으로 설명 들을 수 있었다. Topic Modeling은 방대한 양의 문서 집합을 몇 개의 키워드로 요약해 해당 문서들이 의미하는 바가 무엇인지 도출하는 모델링 기법이다. 다양한 방법론 중 LDA기법의 경우 디리클레 분포를 활용하고, 깁스 샘플링을 반복적으로 진행하여 해당 단어가 어떤 토픽에 속하는 확률이 높을 지에 대해 파악해서 단어의 분포를 확인하는 것이다. 이에 더하여 이번 세미나에서 실제 진행했었던 프로젝트 사례를 통해 비정형 데이터 분석이 실제로 어떻게 적용되었는 지 배울 수 있었다. 단어를 Topic에 따라 명확하게 구분하고, 단어 간의 상하 관계를 규명지을 수 있는 구조를 만들어 추후 ‘다량의 문서에서 핵심 키워드를 뽑아내 의사결정에 걸리는 시간을 단축시킬 수 있는 자동화 구조’를 만드는 것이 실제 적용점이었다. 이번 세미나 참석을 통해 비정형 데이터 분석 중 하나인 Topic Modeling의 전반적인 흐름과 실제 적용 사례를 들을 수 있어서 좋았고 이를 바탕으로 비정형 데이터 분석의 다른 방법론도 공부하고 적용점을 고민해봐야겠다는 생각을 하게 되는 뜻깊은 시간이었다.

금일 세미나 주제는 Topic modeling 에 관한 내용이었다. Topic modeling은 텍스트의 의미있는 분석을 하고 문서의 집합에서 요약을 하는데 필요한 부분이다. 즉 비정형 데이터에서 topic을 찾는 것이 중요한 목적이다. 이를 위해 사용한 기법 중 하나는 Topic-based vector space model이다. 이 모델은 각 문서에서 단어들의 co-occurrence를 분석하는 방법이다. 하지만 이 모델의 단점은 문서와 단어들의 수, 즉 matrix의 차원이 확장되면 어떤 문서에는 단어에 대한 출현 횟수가 많은 반면, 다른 문서에는 0회의 수가 생겨 sparse한 벡터로 인해 분석에 대한 정확도가 떨어진다는 점이다. 이를 해결하기 위해서 차원을 뽑아내어 차원을 낮추는 기법인 Latent semantic indexing이 있다. 이 기법에서는 SVD(singular value decomposition) 기법을 사용하여 행렬을 분해한다. SVD 기법을 사용하여 나온 결과에서 Hyperparameter의 수에 따라 topic의 개수를 정하고 이들을 통해 문서 집합의 topic을 도출해낸다. 하지만 이 기법의 단점은 용어의 출현 횟수를 기반으로 분석을 하여 확률적으로 모델링하기 어려운 점이 있다. 마지막으로 소개한 방법은 LDA(Latent dirichlet allocation)이다. 이 기법은 주어진 문서에 대하여 각 문서에 어떤 topic들이 존재하는지에 대한 확률 모형으로 이전의 기법을 보완한 방법 중 하나이다. topic별 단어의 분포와 문서별 topic의 분포를 모두 추정하고 특정 topic에 특정 단어가 나타날 확률을 내어준다. LDA는 디리클레 분포를 통하여 문서별 topic 분포를 형성하거나, topic별 단어 분포를 형성한다. 여기에서 collapsed gibbs sampling을 이용하여 문서내의 단어가 어떤 topic에 속하는지 확률로 나타나게 된다. 하지만 여기에서는 분석하는 문서, 단어의 순서가 존재하지 않아 만약 다른 문서의 똑같은 단어를 통하여 sampling을 하는 경우 기존의 결과와는 다르게 나타날 수 있다. 이보다 더 좋은 정확도를 보여주는 방법은 중요하지 않은 단어에 가중치를 덜 부여하여 topic을 보다 잘 찾을 수 있도록 하는 Term-weighted LDA 가 있다. 오늘 세미나를 통해 text mining 에서 사용되는 기법을 알게 되었다. 최근에는 수많은 비정형 데이터들이 나오게 되는데, 비정형 데이터를 확률과 관련하여 정형 데이터로 변환하고 이를 분석한다는 것이 나에게는 새로운 흥미를 주었고, 오늘 배운 기법과 더불어 조금 더 update 된 기법에 대해 공부를 하여 스스로 적용해보고 싶은 마음이 들었던 분야였다. 좋은 발표를 해준 유연이에게 고마움을 전한다.

금일 세미나는 최근 활발히 진행 되고 있는 연구인 Topic Modeling Method 에 대한 내용으로 진행 되었다. 기술의 발전으로 보다 많은 문서를 사용할 수 있게 되었지만, 이 많은 문서들 중에서 원하는 정보를 찾는 것은 더욱 어려워졌다. 따라서 대량의 문서에 있는 주제를 정리해 주는 모델이 필요한데, 바로 Topic modeling 이다. 문서에 있는 단어의 특징적 패턴이나 상호 관련성을 확률적으로 모델링하고 자동 추출한다. 대표적으로 pLSI 가 있는데 문서내에 특정 단어가 등장한 확률을 기반으로 주제를 추출한다. 단어와 문서 사이를 잇는 주제가 있다고 가정하고 단어와 문서의 동시 출현할 확률을 모델링 함으로서 주제에 해당 하는 부분을 학습 할 수 있다. 하지만 단순히 단어의 빈도만들 이용한다는 점에서 한계가 있는데, 주제 분포와 주제의 단어 분포를 추정하여 모델링 하는 LDA 에서 이 부분을 극복한다고 볼 수 있다. LDA 가 문서별 주제 분포 및 주제별 단어 분포를 학습 하는 과정을 이해하기 쉽게 간단한 예제를 이용하여 설명해 주어 이해하기에 좋았다. 이런 LDA 에서도 샘플링을 이용하기 때문에 실행시 마다 결과가 달라질 수 있고, 단어의 분포를 이용하여 주제를 추출하기 때문에 의미 없는 단어로 인하여 다른 주제가 추출 될 수도 있다. 이를 보완하는 방법으로 Term-weighted LDA 가 제안 되었는데 단어의 상대적인 중요도를 고려한 LDA 모델이라고 볼 수 있다. 중요도가 떨어지는 단어는 가중치를 낮추어 주제를 보다 더 잘 찾을 수 있도록 유도 하는 것이다. 마지막으로 이러한 LDA 를 사용하여 실제 arxiv 논문 데이터와 BBC News 기사 데이터를 이용한 Topic modeling 결과를 보여 주었는데 의미있는 결과가 나오는 것을 확인 할 수 있었다. 이미지 분석에서도 특징을 찾고 그 특징을 기반으로 이미지의 종류를 분류하는 연구가 많은데 이러한 연구들을 텍스트 분야도 확장 할 수 있다면 재미있는 연구가 될 수 있을 것 같다. 기계학습에 대한 새로운 생각을 할 수 있었던 좋은 세미나 였다.

금일 세미나의 주제는 'Topic Modeling Method'로 Document에서 주요한 Term을 추출한뒤 Topic을 정의하는 다양한 기법의 Topic Modeling에 대해 소개해주었고, 더불어 현재 진행중인 연구에 대해서도 소개해주는 시간을 가졌다. Document의 의미적인 분석, ‘주제’를 파악하기 위한 도구로써 Topic Modeling을 사용하는데, 이 과정에서 고려사항이 많을 뿐더러 Document의 수가 비약적으로 많아진다면 통계적 모델을 통해 정의하는 것이 타당하다. Keyword search 는 텍스트 문서를 단순히 Term-Document Matrix로 표현하여 유사도를 정의하게된다. 모든 Document내 Term을 정의하기 때문에 Matrix가 매우 Spase하다는 단점이 있고, 이러한 점을 보완하기 위해 SVD를 활용해 차원축소를 하기도하는데, 차원을 축소하는 과정에서 빈출이 높은 단어 수를 정의하여, 해당 단어들을 기반으로 Topic을 정의할 수 있다. SVD는 행렬분해를 한다는 점에서 PCA와 유사하다. 실제로 두 방법론에 대해 평소에 차이점을 알기가 쉽지 않았는데, SVD의 경우 정방행렬이 아니어도 적용이 가능하며, 공분산이 아닌 행렬 자체를 분해한다고 할 수 있다. 또한 SVD는 normally distributed data를 가정하기 때문에 적합하지 않은 경우가 발생하기도 하는데 이러한 점을 보완한 PLSA의 경우 Document내 특정 용어가 등장한 확률을 기반으로 구축한다. Document,Word가 주어졌을 때 Topic들에 대한 확률값을 정의하기 위해 Topic의 발생확률, Word given Topic의 확률, Document given Topic의 확률 등을 필요로 하는데, 이 과정에서 EM알고리즘을 통해 추론하게된다. LDA의 경우 실제 관측 가능한 Document내 Term을 통해 Topic의 Term분포, Document의 Topic분포를 추정한다. 이 과정에서 깁스 샘플링을 활용하게 된다. 이 과정에서 Term마다 사용자가 가중치를 부여하게되면 Topic을 보다 더 잘 정의할 수 있다는 장점이 있다. 오늘 세미나를 통해 일련의 Topic Modeling의 흐름과, 장단점에 대해 다시한번 확인해볼 수 있는 시간을 가졌고 유연이가 하고있는 연구에 대해서도 알아볼 수 있는 유익한 시간이었다. 오늘 소개된 주요하게 정의된 Term을 기반으로 사용자가 Topic을 정의하는 방법론 이외에 Topic을 아예 정의내려주는 방법론이 있는지가 궁금해졌고, Topic Modeling의 정합성 검증은 어떻게 이루어지는지에 대해 알아보고 싶어졌다. 오늘 쉽게 접하지 못하는 주제에 대해 잘 정리해준 유연이에게 감사하다.

토픽모델링 방법에 대한 세미나를 청취하였다. 토픽 모델링이란 많은 수의 문서들이 있을 때 (corpus) 각각의 문서를 대표할 수 있는 핵심적인 주제를 찾는 것을 목적으로 하는 방법론이다. 토픽 모델링을 통해 우리는 문서가 가지고 있는 토픽의 분포를 알 수 있으며, 각 토픽을 구성하고 있는 단어들의 분포 또한 알 수 있다. 현재 널리 사용되고 있는 방법은 Latent Dirichlet Allocation (LDA)이지만 그 전에도 여러가지 시도들이 있었으며, 발표자는 토픽모델링의 이러한 흐름에 중점을 두어 세미나를 진행하였다. 가장 첫 번째로 등장한 개념은 문서들이 포함하는 단어들간의 co-occurrence를 계산하여 의미적으로 유사한 문서들을 찾는 topic-based vector space 모델이었다. 일반적으로 가장 먼저 생각할 수 있는 아이디어이지만, vector의 차원이 단어의 개수만큼 늘어나 sparse해진다는 단점이 존재한다. Latent Semantic Indexing, Probabilistic Latent Semantic Indexing, LDA 등 다양한 모델에 대한 컨셉을 설명해주었는데, 각 모델이 가지고 있는 특징들을 예시를 통해 알아볼 수 있었다. 마지막에 현재 진행하고 있는 프로젝트에서 사용한 토픽모델링의 결과를 소개하였는데, 프로젝트의 목적과 데이터에 대한 설명이 부족해서 완벽하게 이해하기에는 무리가 있었다고 생각한다. 프로젝트에 대해 전반적인 설명이 좀 더 있었다면, 다른 연구원들의 의견과 아이디어들을 들어볼 수 있었을 것 같다.

금주 세미나는 Topic Modeling 방법론들에 대한 리뷰였다. Topic (주제) Modeling 방법이란 제목에서 알 수 있듯이 주어진 Text 데이터로부터 Topic을 추출하는 모델링 방법이다. 발표자가 소개해준 Topic Modeling 방법들의 기본 가정은 Text 데이터로부터 얻어지는 문서와 단어들 사이의 관계가 Topic 인해 연결된다는 것이다. 즉, 문서 별 핵심 Topic이 있고, Topic 별 관련 단어들이 존재하여 이들의 관계로부터 현재의 Text 데이터 셋이 형성된다는 것이다. 이러한 기본 가정하에 본 세미나에서는 대표적인Topic modelling 방법론인 Latent Sematic Indexing, Probabilistic Latent Sematic Indexing(PLSI), Latent Dirichlet Allocation(LDA)에 대해 소개해 주었다. 특히, PLSI와 LDA 방법의 경우, 단어와 문서의 동시 출현 확률을 특정 문서가 주어졌을 때, 발생하는 주제 확률과 주제 분포가 주어졌을 때 발생하는 단어 확률의 곱으로 표현하는 것이 인상적이었다. 이는 앞서 언급한 가정과 들어맞는다. 어떤 문서는 특정 주제를 목적으로 작성되었을 것이고, 이러한 주제에 맞게 단어들이 쓰였기 때문이다. 다만 기술적 관점에서 PLSI는 사전에 알려진 확률분포 모형을 사용하지 않고, LDA의 경우 디리클레다항분포를 이용하여, 확률분포 추정 시 다른 추정방법이 사용된다. 오늘 세미나를 통해 문서, 주제, 단어의 관계를 어떻게 확률적 모형으로 반영했는지 쉽게 알 수 있어 좋았다. 또한 관련 연구로 발표자는 LDA로 논문데이터들의 Topic을 추출하고, 해당 Topic 내의 단어들 간의 상/하위 관계를 네트워크로 나타내었다. 상/하위 관계 네트워크를 통해 어떠한 정보(Topic에 대한 좀 더 깊숙한 이해?)를 추가적으로 명확히 파악 할 수 있는지 연구를 확장시켜 나간다면 매우 흥미로운 연구로 자리잡을 수 있지 않을까 생각한다.