프로젝트 구조 및 개요
keras-text-summarization/
├── data/
│ ├── small_vocab_en.txt
│ └── small_vocab_fr.txt
├── models/
│ ├── seq2seq.py
│ └── seq2seq_utils.py
├── notebooks/
│ └── seq2seq_summarization.ipynb
├── utils/
│ └── data_utils.py
├── config.json
├── LICENSE
├── README.md
├── requirements.txt
└── setup.py
디렉터리 구성 설명
- data/: 학습 및 평가용 텍스트 데이터를 포함하는 폴더.
small_vocab_en.txt: 영어 문장 데이터 (단순화된 어휘집).
small_vocab_fr.txt: 프랑스어 문장 데이터 (단순화된 어휘집).
- models/: 모델 아키텍처와 관련 유틸리티 코드 저장.
seq2seq.py: 시퀀스에서 시퀀스로 변환하는 인코더-디코더 구조 정의.
seq2seq_utils.py: 모델 트레이닝에 필요한 보조 함수 제공.
- notebooks/: 실험 및 시각화용 노트북 파일 저장.
seq2seq_summarization.ipynb: 전체 파이프라인 실행 및 결과 분석을 위한 주요 노트북.
- utils/: 데이터 전처리 및 로딩을 위한 공통 함수 모음.
data_utils.py: 텍스트 전처리, 토큰화, 패딩 등 처리 로직 포함.
- config.json: 모델 설정과 경로 정보를 관리하는 구성 파일.
- LICENSE: 소스 코드 사용 권한을 명시하는 라이선스 파일.
- README.md: 프로젝트 소개, 설치 방법, 사용 예제 설명.
- requirements.txt: 프로젝트에 필요한 파이썬 패키지 목록.
- setup.py: 프로젝트를 패키지 형태로 설치하기 위한 스크립트.
실행 시작점 안내
주요 실행 파일은
notebooks/seq2seq_summarization.ipynb입니다. 이 노트북은 모델 학습, 평가, 추론 과정을 단계별로 수행할 수 있도록 설계되었습니다.
실행 절차
- 필요한 의존성 설치:
pip install -r requirements.txt
- Jupyter 환경 실행:
jupyter notebook
- 브라우저에서 열린 웹 인터페이스에서
seq2seq_summarization.ipynb 파일을 열고 셀을 순차적으로 실행.
설정 파일 구성 분석
config.json 파일은 모델의 하이퍼파라미터 및 경로 정보를 중앙 집중적으로 관리합니다.
예시 설정 내용
{
"data_path": "data/small_vocab_en.txt",
"model_save_path": "models/seq2seq_model.h5",
"vocab_size": 10000,
"embedding_dim": 128,
"lstm_units": 256,
"batch_size": 64,
"num_epochs": 10
}
설정 항목 해설
data_path: 입력 텍스트 데이터 파일의 위치.
model_save_path: 학습 완료 후 모델 체크포인트 저장 경로.
vocab_size: 모델이 인식하는 최대 단어 수.
embedding_dim: 각 단어의 벡터 표현 차원.
lstm_units: LSTM 계층의 은닉 상태 크기.
batch_size: 한 번의 업데이트에 사용되는 샘플 수.
num_epochs: 전체 데이터셋을 반복 학습할 횟수.
이 설정 파일을 수정함으로써 모델 성능 조절, 자원 사용량 최적화, 실험 비교 등을 가능하게 합니다.