"Busan Data Guide"의 두 판 사이의 차이

pnu_dhc
이동: 둘러보기, 검색
(새 문서: <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>부산 지역 인문학 데이...)
 
29번째 줄: 29번째 줄:
 
         }
 
         }
  
         /* Header */
+
         /* Header - PNU DHC 스타일 */
 
         header {
 
         header {
             background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+
             background: linear-gradient(135deg, #2b5a7a 0%, #3d6b8f 100%);
 
             color: white;
 
             color: white;
 
             padding: 40px;
 
             padding: 40px;
41번째 줄: 41번째 줄:
 
             margin-bottom: 10px;
 
             margin-bottom: 10px;
 
             font-weight: 700;
 
             font-weight: 700;
 +
            color: white;
 
         }
 
         }
  
50번째 줄: 51번째 줄:
 
         /* Navigation */
 
         /* Navigation */
 
         nav {
 
         nav {
             background-color: #34495e;
+
             background-color: #1e4a66;
 
             padding: 15px 40px;
 
             padding: 15px 40px;
 
             position: sticky;
 
             position: sticky;
72번째 줄: 73번째 줄:
  
 
         nav a:hover {
 
         nav a:hover {
             color: #3498db;
+
             color: #ff6b35;
 
         }
 
         }
  
87번째 줄: 88번째 줄:
 
         h2 {
 
         h2 {
 
             font-size: 2em;
 
             font-size: 2em;
             color: #2c3e50;
+
             color: #2b5a7a;
 
             margin-bottom: 20px;
 
             margin-bottom: 20px;
 
             padding-bottom: 10px;
 
             padding-bottom: 10px;
             border-bottom: 3px solid #667eea;
+
             border-bottom: 3px solid #2b5a7a;
 
         }
 
         }
  
 
         h3 {
 
         h3 {
 
             font-size: 1.5em;
 
             font-size: 1.5em;
             color: #34495e;
+
             color: #1e4a66;
 
             margin: 30px 0 15px 0;
 
             margin: 30px 0 15px 0;
 
         }
 
         }
109번째 줄: 110번째 줄:
 
         }
 
         }
  
         /* Info Boxes */
+
         /* Info Boxes - 차분한 색상 */
 
         .info-box {
 
         .info-box {
             background-color: #e8f4f8;
+
             background-color: #e8f2f7;
             border-left: 4px solid #3498db;
+
             border-left: 4px solid #2b5a7a;
 
             padding: 20px;
 
             padding: 20px;
 
             margin: 20px 0;
 
             margin: 20px 0;
119번째 줄: 120번째 줄:
  
 
         .warning-box {
 
         .warning-box {
             background-color: #fff3cd;
+
             background-color: #fff8e6;
             border-left: 4px solid #ffc107;
+
             border-left: 4px solid #ff9f43;
 
             padding: 20px;
 
             padding: 20px;
 
             margin: 20px 0;
 
             margin: 20px 0;
127번째 줄: 128번째 줄:
  
 
         .success-box {
 
         .success-box {
             background-color: #d4edda;
+
             background-color: #e8f5e9;
             border-left: 4px solid #28a745;
+
             border-left: 4px solid #4caf50;
 
             padding: 20px;
 
             padding: 20px;
 
             margin: 20px 0;
 
             margin: 20px 0;
135번째 줄: 136번째 줄:
  
 
         .tip-box {
 
         .tip-box {
             background-color: #f3e5f5;
+
             background-color: #fff4e6;
             border-left: 4px solid #9c27b0;
+
             border-left: 4px solid #ff6b35;
 
             padding: 20px;
 
             padding: 20px;
 
             margin: 20px 0;
 
             margin: 20px 0;
156번째 줄: 157번째 줄:
  
 
         th {
 
         th {
             background-color: #667eea;
+
             background-color: #2b5a7a;
 
             color: white;
 
             color: white;
 
             padding: 12px;
 
             padding: 12px;
174번째 줄: 175번째 줄:
 
         /* Code Blocks */
 
         /* Code Blocks */
 
         .code-block {
 
         .code-block {
             background-color: #282c34;
+
             background-color: #2c3e50;
             color: #abb2bf;
+
             color: #ecf0f1;
 
             padding: 20px;
 
             padding: 20px;
 
             border-radius: 5px;
 
             border-radius: 5px;
185번째 줄: 186번째 줄:
  
 
         .code-inline {
 
         .code-inline {
             background-color: #f4f4f4;
+
             background-color: #e8f2f7;
 
             padding: 2px 6px;
 
             padding: 2px 6px;
 
             border-radius: 3px;
 
             border-radius: 3px;
 
             font-family: 'Courier New', monospace;
 
             font-family: 'Courier New', monospace;
             color: #e74c3c;
+
             color: #2b5a7a;
 +
            font-weight: 600;
 
         }
 
         }
  
 
         /* Example Sections */
 
         /* Example Sections */
 
         .example {
 
         .example {
             background-color: #fff9e6;
+
             background-color: white;
             border: 2px solid #ffd93d;
+
             border: 2px solid #2b5a7a;
 
             padding: 20px;
 
             padding: 20px;
 
             border-radius: 8px;
 
             border-radius: 8px;
 
             margin: 20px 0;
 
             margin: 20px 0;
 +
            box-shadow: 0 2px 5px rgba(0,0,0,0.08);
 
         }
 
         }
  
 
         .example h4 {
 
         .example h4 {
             color: #e67e22;
+
             color: #ff6b35;
 
             margin-top: 0;
 
             margin-top: 0;
 
         }
 
         }
220번째 줄: 223번째 줄:
  
 
         .before {
 
         .before {
             background-color: #ffebee;
+
             background-color: #fff5f5;
             border: 2px solid #ef5350;
+
             border: 2px solid #ff6b6b;
 
         }
 
         }
  
 
         .after {
 
         .after {
             background-color: #e8f5e9;
+
             background-color: #f0f9f4;
             border: 2px solid #66bb6a;
+
             border: 2px solid #51cf66;
 
         }
 
         }
  
 
         /* Checklist */
 
         /* Checklist */
 
         .checklist {
 
         .checklist {
             background-color: #f8f9fa;
+
             background-color: #fafafa;
 
             padding: 20px;
 
             padding: 20px;
 
             border-radius: 8px;
 
             border-radius: 8px;
248번째 줄: 251번째 줄:
 
             left: 0;
 
             left: 0;
 
             font-size: 1.2em;
 
             font-size: 1.2em;
             color: #667eea;
+
             color: #2b5a7a;
 
         }
 
         }
  
254번째 줄: 257번째 줄:
 
         .spreadsheet-container {
 
         .spreadsheet-container {
 
             margin: 30px 0;
 
             margin: 30px 0;
             border: 3px solid #667eea;
+
             border: 3px solid #2b5a7a;
 
             border-radius: 8px;
 
             border-radius: 8px;
 
             overflow: hidden;
 
             overflow: hidden;
260번째 줄: 263번째 줄:
  
 
         .spreadsheet-header {
 
         .spreadsheet-header {
             background-color: #667eea;
+
             background-color: #2b5a7a;
 
             color: white;
 
             color: white;
 
             padding: 15px;
 
             padding: 15px;
271번째 줄: 274번째 줄:
 
         .spreadsheet-link {
 
         .spreadsheet-link {
 
             background-color: white;
 
             background-color: white;
             color: #667eea;
+
             color: #2b5a7a;
 
             padding: 8px 16px;
 
             padding: 8px 16px;
 
             border-radius: 5px;
 
             border-radius: 5px;
277번째 줄: 280번째 줄:
 
             font-size: 0.9em;
 
             font-size: 0.9em;
 
             transition: all 0.3s;
 
             transition: all 0.3s;
 +
            font-weight: 600;
 
         }
 
         }
  
292번째 줄: 296번째 줄:
 
         /* Roadmap */
 
         /* Roadmap */
 
         .roadmap {
 
         .roadmap {
             background: linear-gradient(to bottom, #e3f2fd, #ffffff);
+
             background-color: #f8fafb;
 
             padding: 30px;
 
             padding: 30px;
 
             border-radius: 10px;
 
             border-radius: 10px;
 
             margin: 30px 0;
 
             margin: 30px 0;
 +
            border: 1px solid #e0e0e0;
 
         }
 
         }
  
305번째 줄: 310번째 줄:
 
             background-color: white;
 
             background-color: white;
 
             border-radius: 8px;
 
             border-radius: 8px;
             box-shadow: 0 2px 5px rgba(0,0,0,0.1);
+
             box-shadow: 0 2px 5px rgba(0,0,0,0.08);
 
         }
 
         }
  
 
         .roadmap-number {
 
         .roadmap-number {
             background-color: #667eea;
+
             background-color: #2b5a7a;
 
             color: white;
 
             color: white;
 
             width: 50px;
 
             width: 50px;
325번째 줄: 330번째 줄:
 
         .roadmap-content h3 {
 
         .roadmap-content h3 {
 
             margin-top: 0;
 
             margin-top: 0;
             color: #667eea;
+
             color: #2b5a7a;
 
         }
 
         }
  
348번째 줄: 353번째 줄:
  
 
         .badge-primary {
 
         .badge-primary {
             background-color: #667eea;
+
             background-color: #2b5a7a;
 
             color: white;
 
             color: white;
 
         }
 
         }
  
 
         .badge-success {
 
         .badge-success {
             background-color: #28a745;
+
             background-color: #4caf50;
 
             color: white;
 
             color: white;
 
         }
 
         }
  
 
         .badge-warning {
 
         .badge-warning {
             background-color: #ffc107;
+
             background-color: #ff9f43;
             color: #333;
+
             color: white;
 
         }
 
         }
  
 
         .badge-danger {
 
         .badge-danger {
             background-color: #dc3545;
+
             background-color: #e74c3c;
 
             color: white;
 
             color: white;
 +
        }
 +
 +
        /* Fire Emoji Style for emphasis */
 +
        .fire-emoji {
 +
            color: #ff6b35;
 +
            font-size: 1.2em;
 
         }
 
         }
  
 
         /* Footer */
 
         /* Footer */
 
         footer {
 
         footer {
             background-color: #34495e;
+
             background-color: #1e4a66;
 
             color: white;
 
             color: white;
 
             padding: 30px;
 
             padding: 30px;
421번째 줄: 432번째 줄:
 
                 page-break-inside: avoid;
 
                 page-break-inside: avoid;
 
             }
 
             }
 +
        }
 +
 +
        /* Highlight Important Text */
 +
        strong {
 +
            color: #2b5a7a;
 +
        }
 +
 +
        /* Links */
 +
        a {
 +
            color: #2b5a7a;
 +
            text-decoration: none;
 +
            transition: color 0.3s;
 +
        }
 +
 +
        a:hover {
 +
            color: #ff6b35;
 +
            text-decoration: underline;
 
         }
 
         }
 
     </style>
 
     </style>
466번째 줄: 494번째 줄:
 
             <!-- 전체 로드맵 -->
 
             <!-- 전체 로드맵 -->
 
             <section id="roadmap">
 
             <section id="roadmap">
                 <h2>🗺️ 전체 로드맵: 3단계 여정</h2>
+
                 <h2><span class="fire-emoji">🔥</span> 전체 로드맵: 3단계 여정</h2>
 
                  
 
                  
 
                 <div class="roadmap">
 
                 <div class="roadmap">
733번째 줄: 761번째 줄:
 
                                     <td></td>
 
                                     <td></td>
 
                                 </tr>
 
                                 </tr>
                                 <tr style="background-color: #fff3cd;">
+
                                 <tr style="background-color: #fff8e6;">
 
                                     <td>txt_10007</td>
 
                                     <td>txt_10007</td>
 
                                     <td>제 나이 열 두살 때 집을 떠나... 게을리 말라'고 하셨습니다.</td>
 
                                     <td>제 나이 열 두살 때 집을 떠나... 게을리 말라'고 하셨습니다.</td>
783번째 줄: 811번째 줄:
 
                             </thead>
 
                             </thead>
 
                             <tbody>
 
                             <tbody>
                                 <tr style="background-color: #ffebee;">
+
                                 <tr style="background-color: #fff5f5;">
 
                                     <td>txt_10013</td>
 
                                     <td>txt_10013</td>
 
                                     <td>per_101_002</td>
 
                                     <td>per_101_002</td>
792번째 줄: 820번째 줄:
 
                                     <td>원문</td>
 
                                     <td>원문</td>
 
                                 </tr>
 
                                 </tr>
                                 <tr style="background-color: #e8f5e9;">
+
                                 <tr style="background-color: #f0f9f4;">
 
                                     <td>txt_10014</td>
 
                                     <td>txt_10014</td>
 
                                     <td>per_101_002</td>
 
                                     <td>per_101_002</td>
1,170번째 줄: 1,198번째 줄:
 
             <!-- 주차별 작업 계획 -->
 
             <!-- 주차별 작업 계획 -->
 
             <section id="schedule">
 
             <section id="schedule">
                 <h2>📊 주차별 작업 계획</h2>
+
                 <h2>📊 작업 일정 계획 (2026년 1월~2월)</h2>
 +
 
 +
                <div class="info-box">
 +
                    <strong>📚 전체 분량</strong>
 +
                    <ul>
 +
                        <li><strong>『부산을 빛낸 인물』</strong>: 총 800여 페이지</li>
 +
                        <li><strong>『부산의 자연마을』</strong>: 총 1,200여 페이지</li>
 +
                    </ul>
 +
                    <p style="margin-top: 10px;">※ 각 팀원은 담당 권/장을 선정하여 2개월간 데이터 편찬 작업을 진행합니다.</p>
 +
                </div>
  
 
                 <div class="table-wrapper">
 
                 <div class="table-wrapper">
1,176번째 줄: 1,213번째 줄:
 
                         <thead>
 
                         <thead>
 
                             <tr>
 
                             <tr>
                                 <th>주차</th>
+
                                 <th>기간</th>
 
                                 <th>목표</th>
 
                                 <th>목표</th>
 
                                 <th>세부 과제</th>
 
                                 <th>세부 과제</th>
1,183번째 줄: 1,220번째 줄:
 
                         <tbody>
 
                         <tbody>
 
                             <tr>
 
                             <tr>
                                 <td><strong>1주차</strong><br>(10-15페이지)</td>
+
                                 <td><strong>1월 1~2주</strong><br>(1/1~1/14)</td>
                                 <td>기초 데이터 입력</td>
+
                                 <td>작업 준비 및 기초 입력</td>
 
                                 <td>
 
                                 <td>
 
                                     <div class="checklist">
 
                                     <div class="checklist">
 
                                         <ul>
 
                                         <ul>
                                             <li>담당 챕터 선정</li>
+
                                             <li>담당 자료 선정 (권/장 배정)</li>
                                             <li>PDF 텍스트 추출</li>
+
                                             <li>PDF 텍스트 추출 연습</li>
                                             <li>일반 텍스트(normal) 10개 행 입력</li>
+
                                             <li>일반 텍스트(normal) 20~30개 행 입력</li>
 +
                                            <li>스프레드시트 구조 숙지</li>
 
                                         </ul>
 
                                         </ul>
 
                                     </div>
 
                                     </div>
1,196번째 줄: 1,234번째 줄:
 
                             </tr>
 
                             </tr>
 
                             <tr>
 
                             <tr>
                                 <td><strong>2주차</strong><br>(15-20페이지)</td>
+
                                 <td><strong>1월 3~4주</strong><br>(1/15~1/31)</td>
                                 <td>인용문 처리 숙달</td>
+
                                 <td>본격 데이터 입력</td>
 
                                 <td>
 
                                 <td>
 
                                     <div class="checklist">
 
                                     <div class="checklist">
 
                                         <ul>
 
                                         <ul>
                                             <li>인용문(citation) 포함 15개 행 입력</li>
+
                                            <li>담당 분량의 30% 완료 목표</li>
                                             <li>person_id 규칙 숙지</li>
+
                                             <li>인용문(citation) 처리 숙달</li>
                                             <li>팀원과 교차 검토</li>
+
                                             <li>person_id 규칙 완전 이해</li>
 +
                                             <li>1차 중간 점검 및 피드백</li>
 
                                         </ul>
 
                                         </ul>
 
                                     </div>
 
                                     </div>
1,209번째 줄: 1,248번째 줄:
 
                             </tr>
 
                             </tr>
 
                             <tr>
 
                             <tr>
                                 <td><strong>3주차</strong><br>(시 포함 20페이지)</td>
+
                                 <td><strong>2월 1~2주</strong><br>(2/1~2/14)</td>
 
                                 <td>복잡한 텍스트 처리</td>
 
                                 <td>복잡한 텍스트 처리</td>
 
                                 <td>
 
                                 <td>
 
                                     <div class="checklist">
 
                                     <div class="checklist">
 
                                         <ul>
 
                                         <ul>
                                             <li>시(poem) 처리 연습</li>
+
                                             <li>담당 분량의 70% 완료 목표</li>
                                             <li>원문-번역 분리 작업</li>
+
                                             <li>시(poem) 원문-번역 분리 작업</li>
                                             <li>relation_note 활용</li>
+
                                             <li>relation_note 활용 능숙화</li>
 +
                                            <li>2차 중간 점검 및 오류 수정</li>
 
                                         </ul>
 
                                         </ul>
 
                                     </div>
 
                                     </div>
1,222번째 줄: 1,262번째 줄:
 
                             </tr>
 
                             </tr>
 
                             <tr>
 
                             <tr>
                                 <td><strong>4주차</strong><br>(통합 및 검수)</td>
+
                                 <td><strong>2월 3~4주</strong><br>(2/15~2/28)</td>
                                 <td>데이터 품질 관리</td>
+
                                 <td>완료 및 품질 검수</td>
 
                                 <td>
 
                                 <td>
 
                                     <div class="checklist">
 
                                     <div class="checklist">
 
                                         <ul>
 
                                         <ul>
 +
                                            <li>담당 분량 100% 완료</li>
 
                                             <li>전체 데이터 통합</li>
 
                                             <li>전체 데이터 통합</li>
                                             <li>오류 검사 및 수정</li>
+
                                             <li>팀원 간 교차 검토</li>
                                             <li>최종 제출</li>
+
                                             <li>최종 오류 검사 및 제출</li>
 
                                         </ul>
 
                                         </ul>
 
                                     </div>
 
                                     </div>
1,236번째 줄: 1,277번째 줄:
 
                         </tbody>
 
                         </tbody>
 
                     </table>
 
                     </table>
 +
                </div>
 +
 +
                <div class="tip-box">
 +
                    <strong>💡 작업 진도 관리 팁</strong>
 +
                    <ul>
 +
                        <li><strong>일일 목표:</strong> 하루 10~15개 문단 입력 (약 1시간)</li>
 +
                        <li><strong>주간 목표:</strong> 주 5일 기준 50~75개 문단</li>
 +
                        <li><strong>정기 모임:</strong> 매주 화요일 오후 2시 진도 점검 및 질의응답</li>
 +
                        <li><strong>비상 연락:</strong> 팀 슬랙 채널 실시간 지원</li>
 +
                    </ul>
 
                 </div>
 
                 </div>
 
             </section>
 
             </section>
1,268번째 줄: 1,319번째 줄:
 
                 </div>
 
                 </div>
  
                 <div style="text-align: center; margin: 40px 0; padding: 30px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border-radius: 10px;">
+
                 <div style="text-align: center; margin: 40px 0; padding: 30px; background: linear-gradient(135deg, #2b5a7a 0%, #3d6b8f 100%); color: white; border-radius: 10px;">
 
                     <p style="font-size: 1.3em; font-weight: 600; margin-bottom: 10px;">
 
                     <p style="font-size: 1.3em; font-weight: 600; margin-bottom: 10px;">
 
                         "한 줄 한 줄이 모여 부산의 역사가 데이터로 살아납니다."
 
                         "한 줄 한 줄이 모여 부산의 역사가 데이터로 살아납니다."
1,280번째 줄: 1,331번째 줄:
  
 
         <footer>
 
         <footer>
             <p>&copy; 2025 부산대학교 디지털인문학센터 (Digital Humanities Center of Pusan National University)</p>
+
             <p>&copy; 2025 부산대학교 디지털인문학센터 (PNU Digital Humanities Center)</p>
 
             <p>부산 지역 인문학 데이터 편찬 프로젝트</p>
 
             <p>부산 지역 인문학 데이터 편찬 프로젝트</p>
 
             <p style="margin-top: 10px; font-size: 0.9em;">
 
             <p style="margin-top: 10px; font-size: 0.9em;">
                 문의: sy527991@pusan.ac.kr | 최종 업데이트: 2025년 12월
+
                 문의: dhc@pusan.ac.kr | 최종 업데이트: 2025년 1월
 
             </p>
 
             </p>
 
         </footer>
 
         </footer>

2025년 12월 19일 (금) 17:51 판

<!DOCTYPE html> 부산 지역 인문학 데이터 편찬 입문 가이드

📚 부산 지역 인문학 데이터 편찬 입문 가이드

『부산을 빛낸 인물』·『부산의 자연마을』 디지털 아카이브 구축

📖 들어가며: 우리가 만들 디지털 지식 창고

안녕하세요! 오늘은 『부산을 빛낸 인물』과 『부산의 자연마을』이라는 소중한 부산의 문화유산을 디지털 데이터로 변환하는 첫걸음을 함께 시작하려고 합니다.

왜 이 작업이 필요할까요?

책장에 꽂혀 있는 책은 한 번에 한 사람만 읽을 수 있지만, 디지털 데이터로 변환된 지식은:

  • 💡 검색 가능: "1950년대 부산 영도구"라고 검색하면 관련된 모든 내용이 한눈에!
  • 🔗 연결 가능: 인물과 장소, 사건이 서로 연결되어 새로운 통찰 발견
  • 📊 분석 가능: 빈도, 패턴, 관계를 통해 보이지 않던 역사적 의미 발견
  • 🌐 공유 가능: 전 세계 연구자들과 부산의 이야기를 나눌 수 있어요

🔥 전체 로드맵: 3단계 여정

1

데이터 편찬 (4-6주)

현재 단계

  • PDF → 텍스트 추출
  • 구조화 → CSV 정리
  • 태깅 → XML 변환

목표: 원천 자료를 DB에 업로드 가능한 형태로 구조화

2

데이터 분석 (2-3주)

  • 빈도 분석 & 키워드 추출
  • 관계 파악
  • 의미 해석

목표: 구축된 데이터에서 학문적 의미와 패턴 도출

3

데이터 설계 (2-3주)

  • 온톨로지 설계
  • 지식 그래프 구상
  • 활용 방안 기획

목표: 플랫폼 구축을 위한 데이터 모델링

오늘의 초점: 1단계 데이터 편찬을 중심으로, 2-3단계의 개요를 함께 살펴볼게요!

📊 우리 팀 데이터 구조 이해하기

우리가 사용하는 구글 시트는 18개의 필드(열)로 구성되어 있어요. 각 필드가 왜 필요한지 함께 살펴볼까요?

🔑 핵심 필드 설명

필드명 예시 설명 작업자가 할 일
id txt_10001 텍스트 고유 번호 필수 반드시 부여 (중복 금지!)
book_id lightuppeople01 책 식별자 책마다 고정값 사용
book_title 부산을_빛낸_인물 책 제목 언더바(_)로 연결
sub_title 20세기_이전_인물편 부제목 있는 경우만 입력
publisher 부산광역시_문화유산과_시사편찬실 발행처 책 정보 그대로
pub_date 2004.06 출판일 YYYY.MM 형식
chapter 001 장 번호 3자리 숫자 (001, 002...)
page 005 페이지 3자리 숫자 (005, 006...)
person_id per_101_001 인물 고유 번호 필수 새 인물마다 부여
name_ko 최치원 인물 한글 이름 정확하게 입력
name_ch 崔致遠 인물 한자 이름 있는 경우만 입력
topic 해운대의_유래 소주제 섹션 제목 그대로
author 정경주_경성대교수 글쓴이 이름_소속 형식
text_original (본문 내용) 원문 텍스트 필수 가장 중요!
text_type normal / citation / poem 텍스트 유형 필수 반드시 구분
relation_note txt_10008 관련 텍스트 ID 연결된 경우만
img_caption 최치원_영정 이미지 설명 이미지 있을 때만
remark 번역문 / 원문 비고 필요시 메모

📖 실전 예시로 배우기

사례 1: 일반 텍스트 처리하기

PDF 원문 (5페이지)

해운대의 유래 사람은 땅의 정기를 받아 태어나고, 땅은 사람으로 인하여 이름을 얻게 된다. 한반도 동남쪽 끝 바닷가의 한 모퉁이에 있는 해운대는 천년 전 신라의 학사 최치원이 머물며 자취를 남긴 곳이다.

스프레드시트 입력 결과

id book_title chapter page person_id name_ko topic text_type
txt_10001 부산을_빛낸_인물 001 005 per_101_001 최치원 해운대의_유래 normal
💡 체크포인트
  • id는 연속된 번호: txt_10001, txt_10002, txt_10003...
  • person_id는 새 인물 등장시에만 변경
  • 한 문단 = 한 행: 문단 단위로 나누어 입력
  • text_type은 'normal': 일반 서술 텍스트

사례 2: 인용문(citation) 처리하기

PDF 원문 (6페이지)

제 나이 열 두살 때 집을 떠나 서쪽으로 갔습니다. 배를 탈 적에 돌아가신 아버지께서 타이르시기를, '십 년 안에 진사(進士)에 급제하지 못하면 내 아들이라 하지 말라. 나도 아들을 두었다 아니하리라. 가라! 부지런히 하여 네 힘을 게을리 말라'고 하셨습니다.

스프레드시트 입력 결과

id text_original text_type relation_note
txt_10006 (최치원이 쓴 글 중에서) normal
txt_10007 제 나이 열 두살 때 집을 떠나... 게을리 말라'고 하셨습니다. citation txt_10006
💡 체크포인트
  • text_type을 'citation'으로: 직접 인용문임을 표시
  • relation_note 활용: 앞 문장(txt_10006)과 연결됨을 표시
  • 따옴표 포함: 원문의 인용 부호 그대로 유지

사례 3: 시(poem) 처리하기 - 가장 까다로운 부분!

PDF 원문 (11페이지) - 정서의 시

狂奔疊石吼重巒 人語難分咫尺間 常恐是非聲到耳 故敎流水盡籠山 (번역) 미친 물 바위 치며 겹겹 산을 뒤흔드니 지척 사이에도 사람 소리 모르겠네.

스프레드시트 입력 결과 - 원문과 번역문을 분리!

id person_id name_ko text_original text_type relation_note remark
txt_10013 per_101_002 정서 狂奔疊石吼重巒 / 人語難分咫尺間 / 常恐是非聲到耳 / 故敎流水盡籠山 poem txt_10014 원문
txt_10014 per_101_002 정서 미친 물 바위 치며 겹겹 산을 뒤흔드니 / 지척 사이에도 사람 소리 모르겠네. / 세상의 시비 소리 들릴까 두려워서 / 짐짓 흐르는 물로 산을 온통 가두었네. poem txt_10013 번역문
💡 체크포인트
  • 한문 원문과 번역문 = 2개 행: 별도로 입력!
  • 연(구절) 구분은 슬래시(/): 狂奔疊石吼重巒 / 人語難分咫尺間
  • relation_note로 연결: 원문과 번역이 서로를 가리킴
  • remark에 명시: '원문' 또는 '번역문'

사례 4: 가사(歌辭) 처리하기

PDF 원문 (19페이지) - <삼진작 三眞勺>

내 님믈 그리와 우니다니 山졉동새 난 이슷요이다 아니시며 거츠르신 아으 잔월효성(殘月曉星)이 아시리이다 (번역) 내 임을 그리워하여 울고 있더니 두견새와 나와는 비슷합니다 그려
💡 체크포인트
  • 고어도 poem으로 처리: 가사는 시(poem)로 분류
  • remark에 작품명: 가사 제목 명시
  • 특수문자 처리: 깨진 부분은 !! 나 -- 로 표시

🔢 ID 부여 규칙 마스터하기

1. 텍스트 ID (id) 규칙

txt_10001, txt_10002, txt_10003...
규칙
  • 형식: txt_ + 5자리 숫자
  • 시작: 10001부터 시작
  • 연속성: 중간에 번호를 건너뛰지 않음
  • 고유성: 전체 데이터베이스에서 중복되면 안 됨!
⚠️ 흔한 실수
❌ 잘못된 예시
  • txt_1 (자릿수 부족)
  • txt_100001 (자릿수 초과)
  • txt_10001을 두 번 사용 (중복)
✅ 올바른 예시
  • txt_10001
  • txt_10002
  • txt_10003

2. 인물 ID (person_id) 규칙

per_101_001, per_101_002, per_102_001...
규칙
  • 형식: per_ + 책번호(3자리) + _ + 인물번호(3자리)
  • 책번호:
    • 101 = 『부산을 빛낸 인물』 권1
    • 102 = 『부산을 빛낸 인물』 권2
    • 201 = 『부산의 자연마을』 권1
  • 인물번호: 책 내에서 등장 순서대로 001부터 부여

실전 예시

상황 person_id 설명
최치원이 5페이지에서 처음 등장 per_101_001 첫 번째 인물
정서가 11페이지에서 처음 등장 per_101_002 두 번째 인물
최치원이 다시 15페이지에 등장 per_101_001 동일 ID 재사용!
💡 팁
  • 📌 인물 등장 순서대로 번호 부여: 페이지 순서가 아니라 등장 순서
  • 📌 같은 인물은 같은 ID: 여러 페이지에 등장해도 ID는 하나
  • 📌 엑셀 필터 활용: 이미 부여된 인물 ID 확인하기

🛠️ 단계별 작업 프로세스

STEP 1: PDF에서 텍스트 추출

방법 1: Adobe Acrobat (추천)

  1. PDF 파일 열기
  2. 편집 → 복사할 텍스트 선택
  3. 마우스 드래그로 문단 선택
  4. Ctrl+C (복사)
  5. 메모장/VS Code에 붙여넣기

방법 2: 온라인 도구

⚠️ 추출 전 체크리스트:
  • 한자가 깨지지 않았나요?
  • 줄바꿈이 이상하지 않나요?
  • 특수문자(◦, ●, ※)가 제대로 나왔나요?

STEP 2: 텍스트 전처리

해야 할 일

  1. 문단 나누기: Enter로 문단 구분
  2. 공백 정리: 불필요한 띄어쓰기 제거
  3. 페이지 번호 제거: -5-, [5] 같은 표시 삭제
  4. 각주 처리: 1), 2) 같은 각주 번호 처리

예시: 전처리 전후

Before (원본)
사람은 땅의 정기를 받아 태어나고, 땅은 사람으로 -5- 인하여 이름을 얻게 된다.
After (전처리 완료)
사람은 땅의 정기를 받아 태어나고, 땅은 사람으로 인하여 이름을 얻게 된다.

STEP 3: 스프레드시트 입력

입력 순서

  1. 메타데이터 먼저: book_title, publisher, pub_date, chapter
  2. 페이지 확인: page 필드에 정확한 페이지 입력
  3. 인물 정보: person_id, name_ko, name_ch 확인
  4. 본문 입력: text_original에 텍스트 붙여넣기
  5. 유형 지정: text_type 선택 (normal/citation/poem)
💡 빠른 입력 팁
  • Ctrl+D: 위 셀 내용 복사 (같은 값 반복 입력시 유용)
  • Ctrl+Enter: 셀 내 줄바꿈
  • F2: 셀 편집 모드

📝 text_type 판단 가이드

text_type 사용 시점 예시 키워드
normal 일반 서술 텍스트 "~이다", "~되었다", "~라고 한다"
citation 직접 인용문 "~하셨습니다", 따옴표(' " ") 있음
poem 시, 가사, 한시 4행시, 율문, 운문

💻 실습 스프레드시트

아래는 우리 팀이 실제로 작업하는 구글 시트입니다. 실시간으로 데이터를 확인하고 입력할 수 있어요.

📊 PNU_DHC 플랫폼 데이터 작업 시트 새 탭에서 열기 →
💡 스프레드시트 사용 팁
  • 위 임베드 창에서 바로 데이터를 확인할 수 있어요
  • 실제 입력은 "새 탭에서 열기" 버튼을 클릭해서 진행하세요
  • 여러 사람이 동시에 작업할 수 있어요 (실시간 공동 편집)
  • 변경 이력은 자동으로 저장됩니다

✅ 최종 체크리스트

작업 완료 전에 꼭 확인하세요!

  • id가 연속되어 있나요? (txt_10001 → txt_10002 → txt_10003)
  • person_id가 올바르게 부여되었나요?
  • 같은 인물이 여러 곳에 나오면 같은 person_id를 사용했나요?
  • text_type이 정확한가요? (normal/citation/poem)
  • 시의 원문과 번역문을 분리했나요?
  • relation_note로 관련 텍스트를 연결했나요?
  • 한자 이름이 있는 경우 name_ch에 입력했나요?
  • 띄어쓰기와 문장부호가 원문과 일치하나요?

🔧 자주 발생하는 오류와 해결법

오류 1: ID 중복

❌ 문제: txt_10005가 두 개 있어요!

✅ 해결: 전체 열을 선택 → 데이터 → 중복 항목 삭제

오류 2: person_id 혼동

❌ 문제: 최치원이 등장할 때마다 새 ID를 부여했어요

✅ 해결: 같은 인물은 첫 등장시의 ID를 계속 사용 (per_101_001)

오류 3: 시 처리 실수

❌ 문제: 원문과 번역을 한 행에 넣었어요

✅ 해결: 두 개 행으로 분리하고 relation_note로 연결

오류 4: text_type 오입력

❌ 문제: citation을 citaion으로 오타

✅ 해결: 드롭다운 메뉴 만들기

  1. 열 선택 → 데이터 → 데이터 확인
  2. 조건: 목록(항목) → normal, citation, poem

💬 자주 묻는 질문 (Q&A)

Q1. 인물이 명확하지 않은 경우는?

A. person_id를 비워두고, remark에 "인물 미상" 표시

Q2. 여러 인물이 한 문단에 나오면?

A. 주요 인물의 person_id를 사용하고, remark에 "김철수, 이영희 등장" 메모

Q3. 페이지 번호가 불분명하면?

A. 앞뒤 맥락으로 유추하고, remark에 "페이지 추정" 표시

Q4. 작업 중 막힐 때는?

A.

  1. 팀 슬랙 채널에 질문
  2. 매주 화요일 오후 2시 정기 모임
  3. 작업 메뉴얼 재확인

📊 작업 일정 계획 (2026년 1월~2월)

📚 전체 분량
  • 『부산을 빛낸 인물』: 총 800여 페이지
  • 『부산의 자연마을』: 총 1,200여 페이지

※ 각 팀원은 담당 권/장을 선정하여 2개월간 데이터 편찬 작업을 진행합니다.

기간 목표 세부 과제
1월 1~2주
(1/1~1/14)
작업 준비 및 기초 입력
  • 담당 자료 선정 (권/장 배정)
  • PDF 텍스트 추출 연습
  • 일반 텍스트(normal) 20~30개 행 입력
  • 스프레드시트 구조 숙지
1월 3~4주
(1/15~1/31)
본격 데이터 입력
  • 담당 분량의 30% 완료 목표
  • 인용문(citation) 처리 숙달
  • person_id 규칙 완전 이해
  • 1차 중간 점검 및 피드백
2월 1~2주
(2/1~2/14)
복잡한 텍스트 처리
  • 담당 분량의 70% 완료 목표
  • 시(poem) 원문-번역 분리 작업
  • relation_note 활용 능숙화
  • 2차 중간 점검 및 오류 수정
2월 3~4주
(2/15~2/28)
완료 및 품질 검수
  • 담당 분량 100% 완료
  • 전체 데이터 통합
  • 팀원 간 교차 검토
  • 최종 오류 검사 및 제출
💡 작업 진도 관리 팁
  • 일일 목표: 하루 10~15개 문단 입력 (약 1시간)
  • 주간 목표: 주 5일 기준 50~75개 문단
  • 정기 모임: 매주 화요일 오후 2시 진도 점검 및 질의응답
  • 비상 연락: 팀 슬랙 채널 실시간 지원

🎯 마무리

기억해야 할 핵심 3가지

  1. 일관성이 생명: 같은 항목은 항상 같은 방식으로
  2. ID는 신중하게: 한번 부여한 ID는 계속 사용
  3. 협업이 중요: 막힐 때는 팀원에게 물어보기

다음 교육 예고

  • 2주차: XML 태깅과 TEI 표준
  • 3주차: Neo4j 그래프 데이터베이스 입문
  • 4주차: 데이터 시각화 실습

📎 참고 자료

"한 줄 한 줄이 모여 부산의 역사가 데이터로 살아납니다."

작업 중 궁금한 점은 언제든지 팀 슬랙 또는 이메일로 연락주세요!

© 2025 부산대학교 디지털인문학센터 (PNU Digital Humanities Center)

부산 지역 인문학 데이터 편찬 프로젝트

문의: dhc@pusan.ac.kr | 최종 업데이트: 2025년 1월