추진 배경
뉴스룸은 2026년 4월부터 AI 업계 기사를 매일 수집하고 매주 요약해 발행합니다. 기사는 한 건씩 흩어져 있어서, 누가 무엇을 발표했고 어느 회사와 경쟁하는지 파악하려면 기사를 모두 읽어야 합니다. 기사가 쌓일수록 이 일은 더 어려워집니다.
또한 젠아이랩스(GenAI Labs)는 지식그래프·온톨로지 솔루션을 판매하면서도 자사 콘텐츠에는 적용하지 않고 있었습니다.
구축 조건
- 추가 비용 최소화 — 기존 뉴스 파이프라인을 그대로 쓰고, 매일 실행하는 작업에는 LLM을 쓰지 않음
- 본 기능과 분리 — 지식그래프 추출이 실패해도 주간 다이제스트 발행에는 영향이 없어야 함
- 검증된 것만 공개 — 자동 추출에는 오류가 섞이므로, 검증을 통과한 관계만 화면에 올림
구축 방법
추출을 두 단계로 분리
매일 단계는 이미 등록된 개체 이름을 기사에서 찾습니다. 정규식 단어 경계 매칭이라 LLM 비용이 들지 않습니다. 매주 단계에서는 Claude가 기사에서 관계를 추출합니다.
다른 회사 AI로 교차 검증
Claude가 추출한 관계를 OpenAI가 근거 기사와 대조합니다. 근거가 부족하면 반려하고, 주어와 목적어가 바뀌었으면 바로잡아 승인합니다. 같은 모델이 자기 결과를 채점하지 않도록 뉴스 요약 파이프라인과 같은 구조를 썼습니다.
새 개체는 두 번 확인 후 등록
처음 보는 개체는 후보로만 저장합니다. 서로 다른 기사 두 건에서 언급되어야 정식 개체로 올리고, 그 뒤에 매일 단계의 검색 목록에 넣습니다. 한 번의 잘못된 추출이 그대로 데이터가 되는 것을 막기 위해서입니다.
그래프 탐색 화면
관계를 표로 나열하면 연결이 보이지 않아, 브라우저에서 동작하는 힘 기반 그래프로 바꿨습니다. 드래그·확대·검색과 함께 경로 찾기를 넣어, 두 개체를 입력하면 가장 짧은 관계 사슬을 방향까지 표시합니다.
결과
2026년 9월 19일 갱신 기준으로 공개 화면은 최근 6주 구간(2026-08-17 ~ 09-27)을 보여 줍니다. 이 화면에서 직접 셀 수 있는 값은 다음과 같습니다.
위 숫자는 최근 6주 구간 기준입니다. 전체 누적 값은 이보다 많지만 관리자 화면에서만 볼 수 있어, 여기에는 공개 화면에서 확인할 수 있는 값만 적었습니다.
뉴스와 논문은 관계의 성격이 달라 출처를 분리했습니다. 뉴스는 사실관계 주장이라 교차 검증과 잘 맞습니다. 논문은 벤치마크와 방법론 맥락이라 같은 기준으로 검증하기 어렵습니다.
시행착오
구축 과정에서 효과가 없었거나 다시 만든 부분입니다.
"Google" 매칭의 94% 가 오탐
정규식 매칭을 실측해 보니 "Google" 매칭 대부분이 잘못된 것이었습니다. 2026년 7월에 폐기한 옛 수집 소스의 기사 본문에 news.google.com 링크가 HTML 그대로 남아 있었고, 주소 안의 "google" 이 단어 경계를 통과했습니다. 본문에서 HTML 태그와 URL을 먼저 제거하도록 고치고, 폐기한 소스의 기사는 삭제했습니다.
배운 점매칭 규칙보다 입력 데이터를 먼저 확인해야 합니다.
신뢰도 점수와 정확도가 일치하지 않음
LLM이 관계마다 내는 신뢰도 값으로 걸러 낼 계획이었습니다. 그런데 주어와 목적어가 뒤바뀐 관계가 오히려 0.8로 높게 나온 경우가 있었습니다. 점수 기준 필터링을 그만두고 다른 회사 AI의 교차 검증으로 바꿨습니다.
배운 점모델이 스스로 매긴 점수는 검증 수단이 되지 못합니다.
원문 인용 필드로 JSON이 깨짐
관계마다 근거 문장을 원문 그대로 받으려 했으나, 한글 따옴표가 이스케이프되지 않아 응답 JSON이 깨졌습니다. 인용 필드를 빼고 근거는 기사 참조로만 남겼습니다.
배운 점LLM 응답 형식에는 자유 텍스트 필드를 최소한으로 둡니다.
고정 배치 그래프는 관계가 보이지 않음
처음에는 서버에서 배치를 고정한 그림을 만들었습니다. 노드가 띠 모양으로 늘어서 표와 다르지 않았습니다. 이를 걷어 내고 브라우저에서 동작하는 힘 기반 그래프로 다시 만들었습니다.
배운 점관계 데이터는 사용자가 직접 움직여 볼 수 있어야 연결이 보입니다.
필터를 잘못된 단계에 적용
AI와 관련 없는 기사가 많이 쌓였습니다. 관련도 필터가 수집 단계가 아니라 선별 단계에만 있었기 때문입니다. 일부 매체는 AI 전용 피드가 아닌 전체 피드여서 기사의 73~82% 에 AI 키워드가 없었습니다. 필터를 저장 전 단계로 옮겼습니다.
배운 점데이터 범위를 좁히려면 저장 단계에서 걸러야 합니다.
배포 직후 빈 화면
첫 배포 직후 그래프에 아무것도 보이지 않았습니다. 페이지는 정상이었지만, 주 1회 도는 추출 작업이 아직 한 번도 실행되지 않아 관계가 0건이었습니다. 발행된 주차를 대상으로 수동 실행해 채웠습니다.
배운 점페이지가 열리는지와 데이터가 들어 있는지는 따로 확인해야 합니다.
남은 과제
- 이름이 겹치는 개체 오류 — "Meta" 는 회사 이름이지만 "Meta-Review" 같은 학술 용어와 겹침. 대소문자 구분과 모호성 표시로 줄였으나 완전히 막지 못함. 문맥 임베딩이 필요함
- 관계 이름 미정규화 — "발표했다"·"공개했다"·"출시했다" 가 따로 저장됨. 정규화 전에는 모델 계보·연표 같은 화면을 만들기 어려움
- 공개 화면은 6주 구간만 표시 — 전체 누적 값과 다르므로 두 숫자를 섞어 쓰지 않음
- 외부 검수 없음 — 교차 검증은 자기 채점을 피하는 장치이며 제3자 감사가 아님. 사람이 표본을 검수해 정확도를 측정한 기록은 아직 없음
향후 계획
- 이름이 겹치는 개체를 문맥으로 구분하는 방법 — 임베딩 적용 실험부터 진행
- 관계 이름 정규화 — 계보·연표 화면의 전제 조건
- 사람이 표본을 검수해 정확도를 수치로 기록