- 생성형 AI가 새롭게 등장하면서 인류는 산업부터 일상생활까지 새로운 경험을 제공받고, 긍정적인 영향을 받고 있지만 가짜뉴스, 딥페이크 문제 등 인공지능으로 인한 역기능에 대한 우려가 증가하고 있다.
- 사람의 창작물과 AI가 생성한 콘텐츠를 구분하기 어려운 상황을 만들고 있다.
- 프로젝트에서는 학부 학생들의 창의적인 시각으로 인공지능 기술로 인해 우리 주변에서 발생할 수 있는 역기능 이슈를 발굴하고, 이를 해결할 수 있는 기술 및 응용 서비스를 개발하고자 한다.
- 따라서 우리는 보편적인 콘텐츠인 뉴스로 타겟팅을 하여 생성형 AI 뉴스 판별을 위한 기술 및 응용 서비스를 개발하고자 한다.
이 과제는 여러 뉴스의 형태 중 생성형 AI가 생성한 뉴스가 가짜뉴스인지 아닌지를 판별하는 것을 목표로 하였으며, 이를 위해 집단지성을 활용한 웹 사이트 개발과 모델 개발 및 개선2 과정을 진행하였다.
-
데이터셋 구축
- 판별 모델을 학습시키기 위한 데이터셋은 직접 수집하였다. 총 50,000건의 일반 뉴스 데이터를 웹 크롤링을 통해서 확보하였으며, 다양한 언론사와 주제를 아우르는 데이터로 구성되었다. 수집한 원본 뉴스 데이터를 기반으로, OpenAI의 4o-mini API를 활용하여 프롬프트 엔지니어링을 수행하였다.
- 구체적으로, 각 뉴스의 핵심 문장 구조와 내용을 참고하여, “다음의 룰을 기반으로 기사를 생성하라”는 형태로 프롬프트를 구성했고, 이를 통해 AI가 생성한 뉴스 데이터를 추가로 확보하였다. 이 방식으로 데이터셋을 구축하였다.
-
- 모델 개발에는 문맥 이해 능력이 뛰어난 HAN(Hierarchical Attention Network) 모델을 채택하였다. HAN 모델은 문서의 구조적 특성을 반영하여, 단어수준에서 문장수준으로, 문장수준에서 문서 전체로 계층적으로 정보를 처리한다.
- 각 계층에서는 어텐션 메커니즘을 통해 중요한 단어나 문장에 더 높은 가중치를 부여함으로써, 문맥의 흐름과 의미를 보다 정밀하게 파악할 수 있다. 이는 뉴스 텍스트처럼 길고 구조적인 데이터를 처리하는데 매우 적합했다.
- 초기에는 BERT 등의 사전학습 기반 모델들도 구축하여 비교 실험을 하였다. BERT는 문맥 이해에서 매우 강력한 성능을 보였으나 파라미터 수가 많고 모델 서빙 시 연산 자원을 많이 소모하는 단점이 존재했다.
- 반면 HAN 모델은 경량화되어 있음에도 유사한 수준의 분류 정확도를 보였고, 실제 서비스를 고려했을 때 추론 속도 및 배포 효율성 면에서도 더 우수한 성능을 보였다. 따라서 HAN 모델을 최종적으로 채택하였다.
-
프론트엔드
- Vue.js 프레임워크를 기반으로 구성되었으며, 사용자 편의성과 서비스 일관성을 고려하여 로그인 처리, 화면 구성, 게시글 카페고리 자동 추천 등의 주요 기능을 구현하였다.
- 인증은 세션 기반으로 처리되며 게시글 작성 시 사용자 경험을 향상시키기 위해 카테고리를 자동으로 추천해주는 기능도 포함되어 있다.
- 인증은 서버(Spring Boot)에서 세션 기반으로 처리되며 사용자가 로그인에 성공하면 서버가 세션을 유지하고 클라이언트는 사용자의 이름을 localStorage에 저장한다. 이는 Vue 앱의 UI에서 로그인 상태를 판단하는 기준이 된다.
- 사용자가 게시글을 작성할 때, 제목과 본문에 포함된 단어를 분석하여 적절한 카테고리를 자동으로 추천하는 기능을 구현하였다. 이는 사용자가 직접 카테고리를 선택하지 않아도 되도록 하여 입력 과정의 편의성을 높이기 위함이다.
- 사용자가 글을 작성하면 해당 텍스트에서 키워드의 출현 빈도를 계산하여 각 카테고리에 점수를 부여하고 점수가 가장 높은 카테고리를 추천한다. 추천 결과는 실시간으로 화면의 카테고리 선택 창에 반영된다.
-
백엔드
- SpringBoot와 MySQL을 사용하여 백엔드 서버를 구축하였다. 회원 관리, 게시글 작성, 투표 등 CRUD 기능을 구현하고, 이를 위한 Controller와 Service 계층을 나누어 개발하였다.
- 에러 처리를 일관되게 관리하기 위해 ErrorHandler를 추가하였고, Postman을 이용해 기능을 검증하였다. 데이터베이스는 JPA를 사용하여 관리하며, AOP를 활용해 개발 과정 중 로그를 남겼다.
- 또한, 모델에 데이터를 전달하는 Controller를 따로 만들고, 적절한 Response 응답 DTO를 설계하여 반환하였다.
-
모델 서빙
- Flask 서버를 사용하여 모델을 실행하고, ngrok을 통해 외부 IP주소를 생성하여, 백엔드에서 해당 주소로 뉴스 콘텐츠에 대한 모델 예측 요청을 보내고 응답을 받을 수 있도록 구성하였다.
- 배포
- Heroku를 사용하여 프론트엔드와 백엔드를 한 번에 배포하였다. 프론트엔드의 파일을 정적 파일로 빌드한 후 Heroku에 배포하였다.
- 모델은 Azure의 VM에 배포하여 백그라운드에서 지속적으로 실행되도록 설정하여 웹 사이트의 기능을 외부에서 이용할 수 있게끔 하였다.
-
로컬 환경에서 진행되는 프로젝트였기에, 실제 사용자에 대한 피드백을 받기가 어려워, 설문조사를 진행하였다.
-
설문의 유형은 2가지로 나누어져 있으며, 1번 유형은 모델 결과가 제공되고 2번 유형은 모델 결과가 제공되지 않는다.

-
설문조사 결과,
- 첫 번째 기사(실제: 진짜, 모델 예측: 90점으로 진짜)는 1번 설문지에서 응답자의 76%가, 2번 설문지에서는 54%가 진짜 뉴스라고 판단했다. 이는 모델의 높은 신뢰 점수가 사용자 판단에 영향을 미쳐, 진짜로 인식하게 한 경향이 있음을 시사한다.
- 두 번째 기사(실제: 가짜, 모델 예측: 48점으로 가짜)는 1번 설문지에서 44% 2번 설문지에서는 37%가 진짜라고 응답했다. 모델 정보가 제공되었을 때 다소 높은 진짜 판단 비율이 나타난 점은, 모델 예측이 사용자의 인식을 정당화하거나 강화하는 방향으로 작용했을 가능성을 보여준다.
- 세 번째 기사(실제: 가짜, 모델 예측: 73점으로 진짜)는 1번 설문지에서 36%, 2번 설문지에서는 54%가 진짜라고 응답했다. 흥미롭게도, 모델이 진짜라고 예측했음에도 불구하고 더 많은 피설문자가 이를 가짜로 판단한 결과는 참여자들이 모델 예측에 전적으로 의존하지 않고 텍스트 내용을 종합적으로 해석했음을 시사한다.
-
이러한 결과는 초기 가설이었던 AI 기술이 감정, 맥락, 의도 등 비정형 요소를 판별하는데 한계가 있다는 점을 뒷받침한다.
-
동시에, AI 판별 결과와 인간의 판단을 결합하는 하이브리드 시스템이 정보 신뢰성 판별의 정확도를 높이고, 사용자로 하여금 더 비판적이고 반성적인 사고를 유도할 수 있음을 실험적으로 증명했다고 볼 수 있다.
- 시연영상(유튜브 업로드) : https://youtu.be/v3efXp_aYOI?si=x5ChNcN7UhwquklW
- AI가 생성한 가짜뉴스를 효과적으로 판별하기 위해, 우리는 AI 모델을 구축하였다. 그러나 모든 AI 생성 가짜 뉴스를 완별히 식별하기에는 한계가 존재한다.
- 특히 문맥을 왜곡하거나 교묘하게 진실을 섞은 뉴스의 경우, AI 단독으로 진위를 판별하기 어렵다. 이러한 기술적 한계를 극복하고 보다 정교하고 신뢰성 있는 판별 시스템을 구축하기 위해, 우리는 사람의 집단지성을 적극적으로 활용하여 커뮤니티를 구축했다.
- 다양한 배경과 지식을 지닌 사람들의 의견과 판단을 AI의 결과와 결합함으로써, AI가 간과하기 쉬운 뉘앙스나 사회적 맥락까지 반영할 수 있다.
- Human Study를 통해 AI의 계산적 능력과 인간의 통찰을 유기적으로 결합하여 훨씬 더 정확하고 신뢰할 수 있는 판별 서비스라는 것을 증명하였으며. 이러한 협력적 시스템을 통해 사용자에게 더 나은 정보 환경을 제공하였고, 앞으로도 사회 전반의 정보 신뢰도를 높이는 데 기여하였다.



