2. 사실검증 대상 발견하기
(2017년 11월에 작성한 글입니다)
(자동화 팩트체킹 톺아보기1에서 계속됨)
자동화 팩트체킹의 두번째 단계는 사실 검증 대상인 주장들을 발견하는 것이다. 여기에는 네 가지 기술이 필요하다. 새로운 텍스트 중 예전에 팩트체킹 되었던 주장들을 식별하는 하는 기술, 이전까지는 팩트체킹 되지 않았던 새로운 사실 관련 주장을 알아보는 기술, 다양한 주장들 중 우선순위를 정하는 판단을 하는 기술, 같거나 비슷한 주장을 하지만 다른 표현을 쓰는 것을 식별하는 기술이 그것이다.
먼저, 예전에 팩트체킹 되었던 주장을 모니터링하는 데에는 Apache Lucene이라는 시스템에 기반한 Apache Solr나 Elastic Search라는 오픈소스 검색 엔진 등을 사용할 수 있고, 관련된 내용을 검색할 때에는 Percolator와 Luwak 등의 구조화된 쿼리 엔진들을 이용할 수 있다. 풀팩트에서는 루왁을 사용하여 이전에 팩트체킹했던 내용을 검색하여 새로운 정보와 매칭하는 'Live'라는 자동 팩트체킹 시스템을 구현하고 있다.
풀팩트의 Live
Live는 풀팩트가 모니터링부터 작성/배포까지 팩트체킹의 모든 과정을 자동화하여 개발하고 있는 완전형 자동 팩트체킹 도구이다. 현재까지는 두 가지 모드를 설계하고 있다. 먼저는 새로운 텍스트에서 이미 팩트체킹 되었던 주장들을 알아내어 저널리스트와 대중들에게 짧은 코멘트나 데이터를 제공하는 것이다. 또 보다 혁신적인 모드는 자연어처리나 구조화된 데이터, 통계 분석 등을 사용하여 자동으로 새로운 주장들을 식별하고 직접 팩트체킹을 수행하는 것도 계획하고 있으나(Babakar, 2017) 아직 발표된 바는 없다.
즉, 현재 버전의 라이브는 TV 토론과 같은 콘텐츠를 실시간으로 텍스트화하고, 이를 팩트체킹 결과로 구성된 데이터베이스와 매치하는 수준이다. 루왁(Luwak) 기술을 활용하여 모든 스크립트를 한줄씩 풀팩트의 기존 팩트체킹 데이터베이스에서 검색하여 사실확인 결과를 보여주는 방식이다. 이런 시스템은 반복적인 사실 확인 과정을 줄여줄 수 있다.
TV 또는 페이스북에서 라이브로 진행되는 인터뷰나 대담을 실시간으로 스크립트화하고, 그 스크립트의 각 문장들 중 이전에 팩트체킹 한 내용이 있다면 표시를 하고 그 결과를 오른쪽에서 자동으로 보여준다.
둘째로, 아직 검증되지 않은 새로운 사실 관련 주장을 판별하는 데에는 두가지 방법이 가능하다. 단순하게 ‘X가 올라간다’라는 식으로 형식을 보고 주장을 인식하거나, 주장들이 가진 특성을 기계학습을 적용하여 컴퓨터에게 가르치는 것이다. 기계학습으로 주장을 분류하는 방식 중 주목할 만한 것은 확인할 만한 주장인지를 미리 학습시켜 주장을 분류한 클레임버스터(Caimbuster)를 들 수 있다.
셋째, 주장들의 우선순위를 정하는 판단을 하기 위해서는 주장의 내용과 주장의 맥락(누가 누구에게 말했고 그 주장이 얼마나 전파되었는지 등)을 고려해야 한다. 클레임버스터는 주장의 내용을 기초로 하여 사실 검증의 중요성을 학습시켜 기계학습을 적용하여 검증의 우선순위를 점수로 판단한다. 이런 기계학습을 사용하는 경우에는 학습 데이터가 중요하기 때문에 팩트체커들이 데이터를 만드는 데에 적극적으로 관여해야 한다. 클레임버스터는 가장 오래된 팩트체크 기관 중 하나인 폴리티팩트(Politifact)와 긴밀히 협력하고 있다. 주장의 맥락을 고려하는 것은 온라인 마케팅 등에서도 널리 사용되고 있는 기술을 적용할 수 있는 등, 컴퓨터가 잘 판단할 수 있는 영역이기도 하다.
클레임버스터(Claimbuster) http://idir-server2.uta.edu/claimbuster/
클레임버스터는 텍사스대학교와 미시시피대학교 등이 참여하여 만든 자동 팩트체킹 도구이다. 클레임버스터는 크게 두 가지 역할을 수행한다. 먼저는 사실 검증의 필요성이 있는 주장을 발견하는 것이고, 그 다음으로는 문장의 사실 여부를 판단하는 것이다. 사실 검증의 필요성이 있는 주장을 발견하기 위해서 클레임버스터는 기계학습 방법을 사용한다. 여기서는 먼저 사실 검증의 가치가 있는 문장을 발견하는 역할를 소개한다.
연구팀은 과거 정치인들의 토론문에서 약 2만개의 문장을 선정하여 이 중 팩트체크가 필요한 문장을 뽑아 226명의 전문가들에게 문장의 신뢰도를 세 가지 범주(사실 관련이 아닌 주장하는 문장, 중요하지 않은 객관적인 사실 문장, 논란의 여지가 있어 사실 검증이 필요한 문장)로 분류하게 했고, 검증 가치가 있는 사실 문장을 대상으로 신뢰도를 매기게 하였다(오세욱, 2017b). 이를 훈련 데이터로 삼고 컴퓨터에 학습시킨 결과, 새로운 발언을 입력했을 때 약 74%의 재현율과 79%의 정밀도로 사실 검증이 필요한 문장을 구분하였다(Hassan et al., 2017). 이 과정을 통해 문장을 입력하면 클레임버스터는 0과 1 사이의 숫자로 검증의 가치를 표시해준다. 숫자가 1에 가까울수록 논란의 여지가 있어 사실 검증이 필요한 문장이다. 이를 활용하면 쏟아지는 정치 관련 이야기들의 모든 말들을 일일이 확인하지 않아도 팩트체킹 대상을 쉽게 찾아낼 수 있다.
토론의 모든 문장의 검증 가치를 점수로 매겨서 색깔로 보여주며, 워드클라우드나 후보 별 검증 분포로 시각화하여 보여주기도 한다.
마지막으로, 같은 주장을 다른 방식으로 표현한 경우들을 파악하기 위해서는 아직까지 추가적인 연구가 필요하다고 한다. 현재 기술에서 텍스트를 이해하는 방식은 글을 문장 단위로 쪼개서 의미를 파악하는 수준이다. 따라서 문장들이 연결되어 만드는 하나의 주장을 식별하거나, 비슷한 문장들을 같은 주장으로 식별할지 여부 등을 판단하는 데에는 새로운 기술과 방식이 필요하다.
(계속)