본문 바로가기

Tech Story

블로그 이슈 선정 Issuing Issues

 지금 알려진 비밀로 다음뷰 쪽의 작업도 하고 있습니다. 아직 서비스가 개편되기 전이라 자세히 말할 수는 없지만, 다음뷰에 송고되는 기사들을 분석해서 자동으로 이슈를 뽑아내고, 이슈에 맞는 뉴스들을 제공해주는 것입니다. 현재 운영자에 의해서 운영되고 있는 다음뷰 메인화면의 상단에 노출되는 이슈들을 대체하는 작업이라고 보면 될 것같습니다. 물론, 깊이 들어가면 더 큰 작업의 일부이지만... 그리고, 오늘 구글뉴스 (미국) 의 개편 소식이 있었습니다. 그리고, 국내에서는 구글뉴스외에도 구글토픽스라는 실시간 이슈뉴스를 선정해서 제공해주는 서비스가 있습니다. 제가 지금 다음뷰에서 작업하는 내용이 넓게는 구글뉴스, 좁게는 구글토픽스와 거의 흡사하고 보면 됩니다. 물론, 현재 미디어다음에서도 관련기사를 자동으로 클러스터링해서 제공해주고 있고, 다음검색에서 실시간이슈어를 클릭하면 뉴스기사들을 클러스터링해서 제공해주고 있습니다. (물론, 뉴스탭에서도 클러스터링 결과보기를 통해서 제공되고 있음) 이미 구글뉴스에서도 제공되고 있고, 다음의 서비스에서도 클러스터링 기법을 활용해서 이슈를 선정해서 제공해주는데 뭐가 대단하다고 이렇게 새로운 포스팅을 적느냐?라고 반문할 수가 있습니다. 그래서, 오늘은 그런 의문을 해소하는데 초점을 맞추려고 합니다. 그리고, 제가 사용한 방법에 대한 구체적인 내용은 나중에 정식으로 다음뷰가 개편되거나 아니면 관련 방법에 대한 논문을 제출한 이후에 자세히 다룰 예정입니다.

 언론사에서 제공받는/크롤링한 뉴스들에 대해서, 클러스터링 기법을 활용해서 이슈를 선정하는 것은 나름 쉽습니다. 쉽다는 의미는 뉴스들이 잘 그루핑이 된다는 말입니다. 그런데, 다음뷰와 같이 메타블로그로 송고되는 글들은 뉴스에서처럼 쉽게 하나의 주제로 그루핑이 되지 않습니다. 그래서 제가 이 글 (그리고 나중의 후속글)을 적는 것입니다. (참고로, 전 뉴스 클러스터링 작업을 담당하지 않았고, 또 블로그 포스팅들이 잘 그루핑되지 않는다는 점을 실험하지 않았습니다. 옆에 계신 분께서 테스트해보고, 블로그 글들은 뉴스처럼 쉽게/잘 클러스터링이 되지 않더라라는 판단에 근거해서 말한 것입니다.) 왜 뉴스 클러스터링은 잘 되는데, 블로그 클러스터링은 잘 되지 않느냐? 가장 먼저 생각해볼 문제는 기술적인 문제보다는 현재 대한민국에서의 뉴스 생성 구조에 문제가 있습니다. 현재 국내에서 생산되는 대부분의 뉴스들의 원출처는 연합뉴스나 뉴시스라는 보도전문 언론사에 있습니다. 다음이나 네이버에서 여러 언론사들의 기사들을 받아와서 제공해주고 있지만, 많은 뉴스들이 연합뉴스 또는 뉴시스에서 직접 송고된 경우가 많거나 아니면 그런 보도뉴스를 기본으로 해서 각 언론사별로 수정/편집한 내용들입니다. 즉, 원래 뉴스의 소스가 같기 때문에 여기에서 파생되어나온 뉴스들은 쉽게 하나의 그룹/클러스트로 묶이게 되어있습니다. (참고. 뉴스 클러스터링은 기사에서 사용된 키워드/단어들의 유사도 similarity에 바탕을 둡니다.) 같은 출처에서 파생된 뉴스들이 같은/비슷한 단어들을 사용한 것이 당연하고, 그래서 같은 그룹으로 묶이는 것도 당연한 결과입니다. 그런데, 블로그글들은 하나의 소스에 바탕을 둔 것이 아니라, 각자의 경험에 바탕을 두기 때문에 다양한 단어들이 글에 사용되기 때문에, 블로그글들간의 유사도/공통점을 찾기가 힘듭니다. 그렇기 때문에, 유사도에 바탕을 둔 클러스트들이 잘 만들어지지 않습니다. 두번째 이유는 뉴스기사들은 사실에 초점을 두지만, 블로그글들은 의견에 초점을 둔다는 점입니다. (첫번째 이유와도 연결되지만) 뉴스의 생명은 신속 그리고 정확입니다. 특히 '정확' 부분 때문에 컬럼, 인터뷰, 및 특집 기사들을 제외한 대부분의 기사들이 육하원칙에 바탕을 둔 사실만을 다루고 있습니다. 기사에서 기자나 편집자의 의견은 중요하지 않습니다. 그래서 굳이 기사에 자신의 의견을 넣지 않습니다. (그런데, 물론 국내에서 조중동으로 대표되는 찌라시들이 사실을 사실 그대로가 아니라, 자신들에게 유리한 부분만 보도하고 불리한 내용을 빼버리는 그런 꼼수를 부리는 경우가 너무 많습니다. 반쪽짜리 사실은 완전한 거짓말보다 더 못한 경우가 많이 있습니다.) 그러나, 블로그의 경우에는 (일부 시사블로그를 제외하면) 굳이 사실에 초점을 둬서 글을 적을 필요가 없습니다. 단순히 사실만을 보기 위해서는 블로그가 아니라 신문을 보는 것이 맞습니다. 블로그의 글들도 사실에 바탕을 두지만, 글쓴이/블로거의 의견 및 견해를 바탕으로 글이 쓰여집니다. 단순히 맛집, 영화, 도서, 여행지, 제품의 사용기/리뷰를 적는 경우에도 기본 정보를 제외하면은 글쓴이가 제품을 사용하면서 느낀 점을 위주로 기술하게 됩니다. 즉, 하나의 같은 주제에 대해서 글을 적더라도 글쓴이의 경험과 세계관에 따라서 각양각색의 글들이 쏟아지게 된다는 점입니다. 그렇기 때문에 블로그의 글들은 태생적으로 클러스터링이 될 수가 없습니다. 요약하면, 뉴스는 되는데 블로그는 되지 않는 이유는 1. 기술적으로 같은 단어를 사용하지 않고 있고, 2. 태생적으로 블로그는 다른 글을 적기 때문입니다.

 그러면 이렇게 태생적으로 클러스터링이 거의 불가능한 블로그에서 이슈를 어떻게 뽑아낼 것인가?에 대한 의문이 있을 것입니다. 기존의 (뉴스) 클러스터링 방식은 먼저 기사를 묶은 후에, 그 속에서 핵심 기사와 어구를 뽑아내는 방식으로 서비스가 되고 있습니다. 이를 역으로 이용하면, 먼저 핵심어구/단어를 뽑아내고 관련된 글들을 묶어줄 수가 있습니다. 이 방식을 현재 다음뷰 개편에 적용하고 있습니다. 구체적으로 어떻게 해서 핵심어구를 찾아냈느냐는 앞서 말했듯이 다음뷰가 개편되거나 논문으로 출판된 이후에 자세히 적을 예정입니다. 그래도, 간단히 힌트라도 제공하자면, 1. 평소보다 갑자기 많이 출현하는 단어/태그가 핵심주제가 될 가능성이 높습니다. 대표적으로 트위터에서 오른쪽 메뉴에 제공해주고 있는 Trending Topics가 이 방법을 활용한 것입니다. 그리고, 기존의 다음이나 네이버에서 제공하는 '실시간 이슈어'도 이 방식을 이용합니다. 2. 또는 다음뷰와 같은 메타블로그에서 가장 많이 읽혀지거나 추천을 받는 기사를 이슈기사로 보고, 그 기사 내에서 핵심어구를 뽑아내는 방식으로 주제를 선정할 수가 있습니다. (그런데, 가장 이슈가 된 기사라고 해서, 관련된 기사들이 다수 존재할 것이다라는 순진한 생각을 가지면 안 됩니다. 그렇기에, 이 방법은 보조적으로 활용해야 합니다.) 3. 굳이 메타블로그에 송고되는 글을 기준으로 핵심 단어를 뽑을 필요가 없습니다. 그래서, 3.1 뉴스클러스터링을 통해서 블로그의 핵심주제를 유추할 수도 있고, 3.2 검색에서 많이 출현하는 검색어/키워드를 핵심주제로 선정할 수도 있습니다. (참고로, 단순히 고빈도 키워드/단어를 핵심어로 뽑는 것이 아니라, 비교기간에 비해서 급등 salient한 키워드를 핵심어로 뽑을 수 있습니다.) 이 외에도 여러 가지 방법을 활용해서 현재 블로고스피어에서 이슈가 될만한 핵심 키워드들을 뽑을 수가 있습니다. 이렇게 핵심어가 뽑히면, 그 다음으로 이슈가 되는 것은 이 핵심어를 바탕으로 적당한 '이슈 제목'을 산정하는 것입니다. 제가 지금 작업한 것도 핵심어를 뽑는 것보다 어떻게 그럴듯한 제목을 만들어내느냐에 많은 노력을 기울였습니다. 뉴스 클러스터링의 경우에는, 각 클러스트에서 대표뉴스를 찾아내고 그 대표뉴스의 제목을 그대로 각 클러스트의 제목으로 활용할 수가 있습니다. 아니면, 각 클러스트에 고빈도로 출현한 몇 개의 키워드를 조합해서 제목을 만들 수도 있습니다. (그런데, 이 방법이 생각만큼 쉽게 자동으로 만들 수가 없습니다.) 아니면, 구글토픽스처럼 대표뉴스의 제목을 편집해서 새로운 제목을 만들 수도 있습니다. (그래서, 구글토픽스는 가끔 엉뚱한 제목이 만들어지는 경우가 있습니다.) 저는 다음검색창에 유입되는 검색어와 실제 문서들의 제목/본문을 활용해서 적당한 제목을 뽑아냈습니다. (실제 성능은 다음뷰가 개편된 이후에 확인해보세요. 개인적으로 현재 뽑혀지는 제목들은 50%정도의 만족도만 있습니다. 조금 더 개선을 해보려고 다양한 시도를 해보고 있지만, 쉽지가 않네요.) 이렇게 이슈핵심어와 이슈 제목이 뽑혀지만, 각 주제에 맞는 글들을 찾아내어서 함께 제공해주는 부분이 필요합니다. (이 부분은 제가 작업하는 것이 아니라...) 대략, 핵심어와 사이드 키워드를 활용해서 주제글들을 묶어줍니다. 이렇게 하면, 현재 이슈가 되는 주제와 관련글들 찾아내서 제공해줄 수가 있습니다.

 요약하면, 사실 전달보다는 의견 제시에 초점을 둔 블로고스피어는 기존의 클러스터링 기법을 활용해서 트렌딩주제를 찾아내기가 어렵기 때문에, 먼저 태그 클라우드에서 평소보다 많이 출현한 핵심단어를 먼저 찾아내고, 관련글들을 묶어주는 방식으로 트렌딩이슈를 제공해줄 수가 있습니다. 더 자세한 내용은 다음 기회에...
반응형