문헌에 남은 천문 기록은 단순한 역사적 기록을 넘어 과거의 밤하늘을 이해할 수 있는 소중한 자료이다.
오늘날 데이터로 시각화하여 당시 사람들이 중요하게 여긴 천문현상을 한눈에 살펴보자.
조선왕조실록의 천문현상 기록을 활용한 현대 천문학 연구 사례를 통해 고천문학의 가치를 깨닫는다.
▲ 조선왕조실록을 활용한 현대 천문학 연구 사례 영상1
선조실록의 케플로 초신성 기록
세종실록의 1,437년에 폭발한 신성 기록(2016년 전갈자리 꼬리 부분에서 관측한 가스구름 정체)
조선시대 25대 임금의 역사를 기록한 28종의 공식 기록물로, 태조부터 철종에 이르는 472년간의 방대한 내용을 담고 있다. 총 1,894권 888책으로 구성되어 있으며, 약 4,960만 자에 달하는 내용을 포함하고 있다. 이 기록물은 왕이 승하한 후 다음 왕의 통치 기간에 실록청이라는 임시 기구를 통해 편찬되었으며, 사초와 같은 다양한 자료를 바탕으로 엄격한 규정에 따라 완성되었다. 고종과 순종의 실록은 왜곡 가능성으로 인해 공식 실록에 포함되지 않는다. 정족산본, 태백산본, 적상산본, 오대산본 등 여러 부로 제작되어 전국의 사고에 분산 보관되었으며, 임진왜란과 일제 강점기 등 여러 수난을 겪으면서도 대부분 보존되어 유네스코 세계기록유산으로 지정되었다. 실록은 정치, 경제, 사회, 문화 등 조선의 모든 측면을 망라하는 귀중한 역사 자료이다.
◆ 조선왕조실록의 가치
객관성과 공정성
국왕 사후 편찬: 실록은 해당 국왕이 승하한 후에 편찬이 시작된다. 이는 재위 중인 왕이 내용에 영향을 미치지 못하도록 하여 객관성을 확보하기 위함
사관의 독립성과 집필: 사관(史官)들은 독립성과 비밀성을 보장받아 국왕의 언행을 비롯해 보고 들은 모든 것을 왜곡 없이 있는 그대로 기록할 수 있었음.
엄격한 자료 관리: 기밀 누설 방지 및 종이 재생을 위해 편찬 완료 후 모두 씻어내거나 소각하는 과정을 거침.
방대하고 풍부한 내용
: 정치, 경제, 사회, 문화, 과학, 사상, 예술, 종교 등 각 방면의 역사적 사실을 망라하는 헤아릴 수 없이 많은 종류의 내용이 포함되어 있음.
보존을 위한 노력
▲그림1. 조선왕조실록_정조실록 표지(국사편찬위원회 제공)3
지금부터 워드클라우드를 직접 작성하여 조선시대 천문현상 기록(Data)를 분석해보자.
텍스트 데이터에서 단어의 등장 빈도나 중요도를 시각적으로 표현하는 방법
많이 등장하는 단어일수록 글자가 크게, 중앙에 가깝게 배치된다.
단순 빈도뿐만 아니라 TF-IDF(단어 중요도 지표) 등을 반영하여 주제나 핵심 키워드를 직관적으로 파악할 수 있다.
사용법
텍스트 수집 : 텍스트 형태의 자료 준비(뉴스 기사, 설문 응답, 문헌 기록 등)
전처리
불필요한 단어(조사, 접속사 등) 제거
형태소 분석기를 활용해 의미있는 명사, 동사, 형용사만 추출
빈도 계산
각 단어의 등장 횟수를 집계
경우에 따라 TF-IDF 방식으로 중요도 반영
시각화
Python의 wordcloud 라이브러리, 또는 온라인 툴 이용
폰트, 색상, 배치 모양 조정 가능
▲ 그림2. 워드클라우드(wordcloud) 예시4
방대한 양의 조선왕조실록의 천문현상 기록(data)을 워드클라우드로 시각화하여 데이터를 분석한다.
조선왕조실록에서 천문현상을 기록한 내용을 수집하는 방법에는 다음과 같이 2가지 방법이 있다.
a. 국사편찬위원회 자료
b. 도서 자료
a. 국사편찬위원회 자료 이용 방법
1) 국사편찬위원회 조선왕조실록 데이터베이스 접속
https://sillok.history.go.kr/main/main.do
2) 분류 색인 → 문화(文化) → 과학(科學) → 천기(天氣)
왕조대 별로 자료 검색 및 수집 가능
원하는 천문현상을 검색하여 자료 수집 가능 (예: 유성, 일식 등)
기록에 대한 상세 내용 확인 가능
3) 원하는 기록을 찾은 후에 자료를 다운로드 할 수 있다.
(단, 한번에 최대 5,000건의 자료를 텍스트 파일(.txt) 형식으로 다운받을 수 있다.)
▲그림3. 국사편찬위원회 조선왕조실록 데이터베이스 메인창 화면 / 분류색인 위치(빨간색 원)
▲그림4. 분류색인 접속 후 천문현상 기록(천기天氣)) 분류 탭 위치 화면
▲그림5. 천기(天氣) 기록 분류 창 화면
a. 왕조별 천기 기록 분류 / b. 결과 내 검색 / c. 기록 내용 / 자료 다운로드 (빨간색 원)
▲그림6. 다운로드 창 실행 화면
▲그림7. 다운로드 파일(.txt) 내용 화면
※ 천기(天氣)
날씨와 관련된 기상 현상을 기록한 부분
해, 달, 구름, 번개, 우박 등 다양한 자연 현상에 대한 기록이 포함됨.
천체 현상(혜성, 유성), 흑점, 햇무리, 달무리 등
※ 기록에 대한 상세 내용 살펴보기
기록 내용(c 부분)을 클릭하면, 국역과 원문 내용을 확인할 수 있다.
[원문보기]에 들어가면, 실록의 원본 이미지를 확인할 수 있다.
▲그림8. 그림5의 C 클릭 후 화면과 [원본보기] 기능(빨간색 원)
▲그림9. 그림8의 [원본보기] 클릭 후 실록의 원본 이미지 화면
b. 도서 자료 이용 방법
조선시대 천문현상 기록집 도서 참고
이 책은 조선시대인 AD 1392~1910년 사이의 천문현상과 역법의 도입 과정, 천문기기 제작 및 설치 관련 등의 기록을 목록화한 것으로 그 자료는 약 20,000개이다.
자료 형태
[음력] 임금, 재위년(연도), 세차, 월, 일(일진)
[양력] 서력기원, 월, 일
[원문] 천문현상
[한글] 번역문
[출처] 원전 [현상 분류 기호]
▲그림10. 조선시대 천문현상 기록집 도서 표지5
이 활동에서는 도서 자료를 기반으로 재구성한 자료를 제공한다.
⚠️ 본 활동에 사용되는 자료는 『조선왕조실록』 및 관련 연구 자료에서 발췌한 것으로, 교육 목적에 한해 제한적으로 활용합니다. 자료의 출처를 명확히 밝히고, 제공된 범위 내에서만 사용한다.
제공된 자료를 탐색하고, 워드클라우드 작성을 위해 아래 파일을 내려받아 본인의 구글 My Drive에 업로드한다.
구글 코랩에서 Python 코드를 이용하여 데이터를 전처리하고, 워드클라우드로 데이터를 시각화한다.
오른쪽 링크로 들어가서 활동을 시작한다.
▲워드클라우드 분석 코드
▲그림12. 라이브러리 설치 코드 실행 화면
▲그림13. 한글 폰트 설치 코드 실행 화면
워드클라우드 작업에 필요한 라이브러리를 설치한다.
명령어 입력 후에 실행버튼(빨간색 원)을 눌러 설치한다.
⚠️ 모든 명령어는 입력 후 실행 버튼(▶)을 눌러야 한다.
추가적으로 워드클라우드 작업에 필요한 한글 폰트를 설치한다.
▲그림14. 구글 코랩(Google Colab)과 내 드라이브(My Drive) 연결 코드 실행 화면
구글 코랩과 나의 드라이브를 연결하여 드라이브로부터 자료를 불러온다.
※ 구글 코랩에 내 드라이브 연결할 때 해야하는 일: [Google Drive 연결] → [계정으로 로그인] 계속 클릭 → [액세스 요청] 계속 클릭
▲그림15. 구글 코랩(Google Colab)과 내 드라이브(My Drive) 연결 과정 실행 화면
▲그림16. 데이터 불러오는 코드 실행과 출력 화면
내 드라이브에서 데이터를 불러온다.
파일이 저장된 폴더를 불러온다.
※ 파일 경로 뒤에 /*.csv 명령어를 넣어야 폴더 전체를 불러올 수 있음.
📌 파일 경로 찾는 방법
화면 좌측의 폴더 모양 클릭(①) → drive 하위폴더 찾기(②) → 내가 저장한 파일의 폴더를 찾고, 세로 점 3개 부분 클릭(③) → 경로 복사 후 [파일 저장 위치 경로] 부분에 붙여넣기(ctrl+V)
▲그림17. 파일 경로 찾는 방법 실행 화면
▲그림18. 데이터 추출 코드 실행 화면
워드클라우드 작성을 위해 필요한 데이터를 추출하고 분석을 위해 데이터 전처리 과정이 필요하다.
첫번째 전처리는 데이터에서 필요한 텍스트만을 추출한다.
csv 파일에서 데이터 분석이 필요한 부분이 어디에 해당하는지 먼저 알아야 한다.
▲그림19. 파일에서 데이터로 추출한 부분(빨간색 네모)
▲그림20. 형태소 분석 및 불용어 제거 코드 실행 화면
두번째 전처리는 텍스트에서 의미 있는 단어(명사)만을 추출하기 위해 형태소 분석기를 사용한다.
정제된 단어 리스트를 기반으로 단어의 빈도를 계산하여 시각화에 활용할 수 있는 데이터로 가공한다.
불용어 및 필터링 설정
stopword: 반드시 포함하지 않는 단어
always_include : 반드시 포함할 단어
exclude_substrings : 해당 단어가 포함되는 단어는 제외
[활동 Tip] ※ 워드클라우드 생성 후, 시각화 결과를 보고 불필요한 단어(조사, 무의미한 단어 등)를 계속 제외시켜 나가도 된다.
▲그림21. 워드클라우드 생성 코드 화면
단어 빈도 데이터를 기반으로 워드클라우드를 시각화한다.
random_state=42
색상과 배치를 고정시켜 모든 사람들의 결과가 같게 나오도록 한다.
이를 삭제하면 실행할 때마다 다른 결과(단어 위치, 색상만 변경)가 나온다.
▲그림22. 워드클라우드 생성 결과
단어의 크기는 등장 빈도를 의미합니다. 하지만 빈도수가 높다고 해서 반드시 중요한 천문현상이라고 단정할 수는 없다.
워드클라우드 결과를 바탕으로 조선왕조실록의 천문현상 기록을 해석해 보자.
아래 [탐구 정리]를 통해 당시에 중요하게 다루어진 천문현상에 대해 토의해 보자.
▲그림22. 워드클라우드 생성 결과
[탐구 정리]
Q1. 다음 워드클라우드 결과에서 '천문현상'으로 분류될 수 있는 단어를 찾아 정리하시오.
Q2. 등장 빈도가 가장 높은 천문현상은 무엇인가요? 이 현상이 자주 등장하는 이유는 무엇일까요?
Q3. 등장 빈도가 높은 현상이 실제로 당시에 '중요한 천문현상'이었다고 볼 수 있을까요? 당시 이 현상을 어떻게 인식했을지 토의해 봅시다.
Q4. 자주 등장하지 않았지만, 과학적으로나 사회적으로 '중요한' 현상에는 어떤 것이 있을까요?
재이(災異)는 전통사회에서 인간 생활에 직접적인 피해를 주는 재해(災害)와 일상적이지 않은 자연현상, 즉 변이(變異)를 통칭하는 말이다.
이러한 자연현상에 대한 기록은 조선시대 역사 기록의 대표격인 『조선왕조실록』에 끊임없이 남아 있다.
조선시대 사람들에게 이러한 자연현상은 단순히 일어나는 현상이 아니라, 정치의 잘잘못을 지적하기 위해 하늘이 내리는 경고로 여겨졌다. 오늘날의 관점에서 보면 ‘미신’에 가깝게 보일 수도 있지만, 당시 지식인들에게는 그 나름의 자연관을 바탕으로 체계적으로 정리된 훌륭한 ‘과학’으로 인식되었다.
◆ 재이의 유형 및 예시
실제적인 피해를 주는 재해: 가뭄, 큰 비, 홍수, 큰 바람, 우박 등
일상적이지 않은 자연 변이(이상현상):
천문현상: 별이 낮에 보임, 금성이 낮에 보이는 현상, 햇무리, 달무리, 지진, 혜성, 유성, 이상한 구름 등
기타 이상 현상: 세 쌍둥이 출산, 화재, 감로 등
◆ 재이의 정치적 및 상징적 의미: 조선 초에는 이상현상이 갖는 재이적 의미를 중시했다.
임금의 덕치와 직결: 해의 정상적인 밝음, 즉 임금의 영명함에 위협이 있음을 상징한다고 여겨서 중요하게 관측되고 기록
유교 정치적 해석: 일식은 수학적 계산으로 예측이 가능했지만, 임금이 덕을 쌓고 정치를 잘하면 예정된 일식도 일어나지 않을 수 있다는 유교 정치적 해석이 있었음.
정치 상황 비판: 당시의 정치적 상황을 비판하는 도구로도 활용
국가적 변란의 징후: 국가적 변란(내란, 병란, 기근 등)을 보여주고, 군주에게 정치·도덕적 반성을 요청
< 참고 자료 >
YouTube. 케플러보다 4일 앞선 기록! 조선이 남긴 초신성의 비밀 (with 한국천문연구원 심채경 박사) / 언박싱 아카이브 1화. https://www.youtube.com/watch?v=K_O7gSpCEjU
위키백과. 조선왕조실록. https://ko.wikipedia.org/wiki/조선왕조실록
국사편찬위원회. 조선왕조실록 원본 보기 [웹페이지]. https://sillok.history.go.kr/popup/viewer.do?id=kva_000
네이버 블로그. [Python] 워드 클라우드 만들기. https://m.blog.naver.com/ky_s1919/222226029060
김상혁, 민병희, 이기원, & 안영숙 (공저). (2025). 조선시대 천문현상 기록집 (전3권). 서울: 한국학술정보. 총 1,921쪽.