의사록에서 필요한 부분
- 경제 상황, FX 및 국제 금융, 금융 시장 및 통화 정책에 대한 MPB 회원들의 논의를 포함하는 현재 경제 상황에 대한 토론 요약
- 통화 정책 결정에 관한 토론은 개별 회원들의 견해 기록
이 2개만 필요하기 때문에 앞에 개요와 의결사항 등은 없애줘야한다.
과정은 이렇다.
1. 의결안건 인덱스 찾기
2. 위원 토의 내용 인덱스 찾기
3. 심의 결과 인덱스 찾기
우리가 필요한 부분은 의결안건~토의내용, 토의내용~심의결과 사이의 내용이다.
그래서 인덱스를 이용해 추출 후 다른 파일에 저장하는 코드를 짤 것이다.
import os
import shutil
TXT_DIR = '텍스트 파일 있는 디렉터리 경로'
file_list = os.listdir(TXT_DIR)
for file in file_list:
f = open(TXT_DIR+file, 'r', encoding='utf-8') #파일 하나씩 열기
lines = f.readlines()
lines = list(map(lambda s: s.strip(), lines))
first_index = [i for i in range(len(lines)) if '의결안건' in lines[i]]
second_index = [i for i in range(len(lines)) if '위원 토의내용' in lines[i]]
last_index = [j for j in range(len(lines)) if '심의결과' in lines[j]]
SAVE_FOLDER = '추출 후 저장할 디렉터리 경로'
if not os.path.isdir(SAVE_FOLDER): #만약 디렉터리 존재하지 않으면
os.mkdir(SAVE_FOLDER) # 만들어줌
k = open(SAVE_DIR+file, 'a', encoding='utf-8')
try: #인덱스 존재하지 않는 것도 있어서 try~except문
k.write(''.join(lines[first_index[0]:second_index[0]])) #의결안건~위원토의내용
except:
pass
for i,j in zip(second_index, last_index): #위원토의내용~심의결과 여러개
k.write(''.join(lines[i:j]))
k.close() #다 쓰고 파일 닫아줌
# if os.path.exists(TXT_DIR):
# shutil.rmtree(TXT_DIR)
Deciphering Monetary Policy Board Minutes through Text Mining Approach: The Case of Korea
(텍스트 마이닝을 활용한 금융통화위원회 의사록 분석)
- 박기영(연세대), 이영준(연세대), 김수현
논문을 기반으로 배워보는 텍스트 마이닝 프로젝트 입니다.