개발 전문잡지 마이크로소프트웨어의 최신호는 인공지능 개발에 필요한 체크포인트(The Checkpoint of AI)를 다뤘습니다. 데이터 수집, 정제, 학습법, 인프라, 가짜뉴스 찾기 등 전문가의 최신 개발방법론과 노하우가 풍성합니다. 마소 391호의 주요 기사들을 IT조선 독자에게도 소개합니다.
[편집자주]

가짜뉴스는 지난 미국 대선과 한국 대통령 탄핵 그리고 조기 대선 등 최근 이슈였다. 과학기술정보통신부는 2017년 '뉴스 콘텐츠의 정합성/불일치성을 통한 가짜 뉴스 검출'을 도전 문제로 선정해 '2017년 인공지능 R&D 챌린지' 대회를 개최했다. 총 70여 개의 팀이 6개월간 경쟁했다.

이 대회에서 변형진 이스트소프트 차석 엔지니어가 이끄는 이스트소프트와 줌인터넷 연합팀 디피스트(Deepest)팀이 최종 우승했다. 이들이 도전한 문제는 '제목과 내용의 불일치 검출', '맥락과 관계없는 내용 검출' 두 가지였다.

워드투벡터로 만든 단어 벡터의 단어 간 관련성 / 마이크로소프트웨어 391호 발췌
워드투벡터로 만든 단어 벡터의 단어 간 관련성 / 마이크로소프트웨어 391호 발췌
디피스트팀은 워드투벡터(word2vec)를 활용해 단어를 임베딩 했다. 단어 벡터 간의 관련성으로 모델의 특성(Feature)를 만들었다. 워드투벡터를 활용하면 사전에 포함되지 않은 단어를 처리하는 과정에서 문제가 발생한다. 변형진 엔지니어는 '동의어-줄임말 처리', '자모(子母) 시퀀스 단위 분해' 등의 기법을 활용해 워드투벡터의 문제점을 해결했다.

동의어-줄임말 처리를 하면 조사가 포함되지 않은 연속된 2개, 3개의 단어를 연결해 하나로 구성한 뒤, 이 단어들이 사전에 있는 지 확인한다. 구성된 단어가 있으면 해당 단어를 동의어 후보에 포함시킨다. '금융위'는 '금융위원회'로, '줌 인터넷'은 '줌인터넷' 등으로 변환된다.

자모(子母) 시퀀스 단위 분해는 단어보다 더 작은 단위로 쪼개 임베딩하는 방식이다. '마소'를 분해하면 'ㅁ', 'ㅏ', 'ㅅ', 'ㅗ'가 된다.

학습된 문장 임베딩을 활용해 기사의 맥락과 맞지 않는 문장을 탐지하는 가짜뉴스 판별 함수를 만들었다. 각 문장을 임베딩한 문장 벡터(Sentence Vector), 한 기사내에서 문장 간 흐름이 자연스러운지 판단하는 인접 문장 벡터 간의 유사도(Adjacent Similarity) 등을 특징(Feature)으로 사용해 가짜뉴스를 검출할 수 있었다.

변형진 엔지니어의 '가짜뉴스 찾기'에 대한 자세한 내용은 '마이크로소프트웨어 391호(www.imaso.co.kr/archives/1301)'에서 확인할 수 있다.