mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 07:56:24 +00:00
회의록 참조 데이터 추가 및 관련자료 업데이트
- meet-ref.json: 회의록 작성을 위한 AI 학습 참조 데이터 추가 - 관련자료.md: 회의록 관련 참고 문서 업데이트 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
858a5b5906
commit
347e76bb34
40117
design/aidata/meet-ref.json
Normal file
40117
design/aidata/meet-ref.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,289 +1,373 @@
|
||||
# 벡터DB 임베딩용 관련자료 샘플 데이터
|
||||
|
||||
**작성일**: 2025-01-22
|
||||
**버전**: v1.0
|
||||
**작성자**: AI 개발팀
|
||||
## 📋 개요
|
||||
|
||||
---
|
||||
본 데이터셋은 회의록 작성 및 공유 개선 서비스의 벡터DB 구축을 위한 샘플 데이터입니다.
|
||||
통신회사의 8개 업무 도메인별로 4가지 문서 유형에 대해 각 50개씩, 총 **1,600개**의 샘플 문서를 제공합니다.
|
||||
|
||||
## 1. 개요
|
||||
## 📊 데이터 구성
|
||||
|
||||
### 1.1 목적
|
||||
회의록 작성 시 AI가 참조할 수 있는 관련 자료를 벡터DB에 임베딩하여, 맥락 기반 용어 설명 및 관련 회의록 자동 연결 기능을 제공하기 위한 샘플 데이터를 생성합니다.
|
||||
### 업무 도메인 (8개)
|
||||
1. **고객서비스** - VOC, 상담 품질, 고객 응대
|
||||
2. **영업마케팅** - 요금제, 프로모션, 유통 채널
|
||||
3. **요금청구** - 빌링, 과금, 미수금 관리
|
||||
4. **네트워크운용** - 5G, 장애 대응, 트래픽 관리
|
||||
5. **서비스기획** - 신규 서비스, 콘텐츠 제휴
|
||||
6. **시스템운영** - IT 인프라, 클라우드, DevOps
|
||||
7. **가입자관리** - 개통, 해지, 번호이동
|
||||
8. **기업영업** - B2B 솔루션, 전용선, AICC
|
||||
|
||||
### 1.2 데이터 구성
|
||||
- **도메인**: 통신 업무 도메인 15개
|
||||
- **데이터 소스 유형**: 4가지 (이전 회의록, 조직문서, 프로젝트 문서, 운영문서)
|
||||
- **샘플 개수**: 각 도메인별 × 각 소스별 5개 = **총 300개**
|
||||
### 문서 유형 (4개)
|
||||
1. **이전 회의록** (meeting_minutes)
|
||||
- 회의 일시, 참석자, 안건, 결정사항, 조치사항 포함
|
||||
- 실제 회의록 형식의 상세한 내용
|
||||
|
||||
---
|
||||
2. **조직문서** (org_document)
|
||||
- 업무 매뉴얼, 정책 가이드라인, 표준 절차서
|
||||
- 공식 문서 형식의 구조화된 내용
|
||||
|
||||
## 2. 통신 업무 도메인 (15개)
|
||||
3. **프로젝트 문서** (project_document)
|
||||
- 요구사항 정의서, 설계서, 수행 계획서
|
||||
- 프로젝트 관련 기술 문서
|
||||
|
||||
| 번호 | 도메인 | 설명 |
|
||||
|------|--------|------|
|
||||
| 1 | 네트워크 인프라 | 네트워크 구축 및 운영, 유무선 통신망 관리, 5G/LTE, 기지국 |
|
||||
| 2 | 기술 개발 및 연구 | 신기술 연구개발, AI/빅데이터, IoT, 클라우드 기술 |
|
||||
| 3 | 고객 서비스 | 고객 상담 및 지원, VoC 관리, 서비스 품질 관리 |
|
||||
| 4 | 영업 및 마케팅 | 요금제 기획, 프로모션, 유통채널 관리, B2B/B2C 영업 |
|
||||
| 5 | 요금 및 청구 | 요금 청구 시스템, 과금 관리, 미수금 관리, 정산 업무 |
|
||||
| 6 | 네트워크 운용 | 네트워크 모니터링, 장애 대응 및 복구, 품질 최적화 |
|
||||
| 7 | 서비스 기획 및 상품 개발 | 신규 서비스 기획, 요금제 설계, 콘텐츠 서비스 |
|
||||
| 8 | 정보보안 | 통신 보안, 개인정보 보호, 사이버 보안, 보안 정책 수립 |
|
||||
| 9 | 시스템 운영 및 관리 | IT 시스템 운영, 데이터센터 관리, 클라우드 인프라 |
|
||||
| 10 | 가입자 관리 | 가입자 정보 관리, 번호 이동, 개통 및 해지, 명의 변경 |
|
||||
| 11 | 망 품질 관리 | 통신 품질 측정, 품질 개선, 서비스 레벨 관리 |
|
||||
| 12 | 규제 대응 및 준법 | 통신 규제 대응, 법률 준수, 정부 정책 대응 |
|
||||
| 13 | 기업 영업 | B2B 솔루션, 전용선 서비스, AICC, 데이터센터 서비스 |
|
||||
| 14 | 로밍 및 국제 업무 | 국제 로밍 서비스, 해외 통신사 제휴, 국제 전화 서비스 |
|
||||
| 15 | 신사업 | OTT 서비스, 콘텐츠 사업, 핀테크, 스마트홈/IoT 서비스 |
|
||||
4. **운영문서** (operation_document)
|
||||
- 장애 보고서, 모니터링 결과, 대응 기록
|
||||
- 실시간 운영 이슈 관련 문서
|
||||
|
||||
---
|
||||
### 통계
|
||||
- **총 문서 수**: 1,600개
|
||||
- **도메인별**: 200개씩 (8개 도메인)
|
||||
- **유형별**: 도메인당 50개씩 (4가지 유형)
|
||||
|
||||
## 3. 데이터 소스 유형 (4가지)
|
||||
## 📁 파일 구조
|
||||
|
||||
### 3.1 이전 회의록 (meeting_minutes)
|
||||
**형식**:
|
||||
- 회의 제목, 일시, 참석자
|
||||
- 논의 내용, 결정 사항, 액션 아이템
|
||||
```
|
||||
vector_db_sample_data.json
|
||||
├── metadata # 메타데이터
|
||||
│ ├── version # 버전 정보
|
||||
│ ├── created_date # 생성 일시
|
||||
│ ├── description # 설명
|
||||
│ └── 통계 정보 # 문서 수, 카테고리 수 등
|
||||
│
|
||||
├── embedding_schema # 임베딩 스키마 정의
|
||||
│ ├── document_id # 문서 고유 ID
|
||||
│ ├── document_type # 문서 유형
|
||||
│ ├── business_domain # 업무 도메인
|
||||
│ ├── title # 제목
|
||||
│ ├── content # 전체 본문 (임베딩 대상)
|
||||
│ ├── summary # 3-5문장 요약
|
||||
│ ├── keywords # 키워드 배열
|
||||
│ ├── created_date # 생성 일시 (ISO8601)
|
||||
│ ├── participants # 참석자/작성자
|
||||
│ ├── metadata # 추가 메타데이터
|
||||
│ └── embedding_vector # 임베딩 벡터 (1536차원)
|
||||
│
|
||||
└── sample_data # 실제 샘플 데이터
|
||||
├── 고객서비스
|
||||
│ ├── meeting_minutes # 50개
|
||||
│ ├── org_document # 50개
|
||||
│ ├── project_document # 50개
|
||||
│ └── operation_document # 50개
|
||||
├── 영업마케팅
|
||||
│ ├── ... (동일 구조)
|
||||
├── 요금청구
|
||||
├── 네트워크운용
|
||||
├── 서비스기획
|
||||
├── 시스템운영
|
||||
├── 가입자관리
|
||||
└── 기업영업
|
||||
```
|
||||
|
||||
**예시 토픽**:
|
||||
- 프로젝트 킥오프, 월간 리뷰, 장애 대응, 정책 수립
|
||||
## 🔧 데이터 스키마
|
||||
|
||||
**메타데이터**:
|
||||
- 회의 유형, 참석자 목록, 태그
|
||||
|
||||
### 3.2 조직문서 (manual)
|
||||
**유형**:
|
||||
- 업무 매뉴얼, 정책 및 규정, 표준화 문서
|
||||
|
||||
**예시**:
|
||||
- 프로세스 가이드, 보안 정책, 업무 표준
|
||||
|
||||
**메타데이터**:
|
||||
- 문서 카테고리, 버전, 승인자
|
||||
|
||||
### 3.3 프로젝트 문서 (project_doc)
|
||||
**유형**:
|
||||
- 요구사항 정의서, 설계 문서, 수행 결과서
|
||||
|
||||
**예시**:
|
||||
- 프로젝트 계획서, 기술 설계서, 완료 보고서
|
||||
|
||||
**메타데이터**:
|
||||
- 프로젝트명, 단계, 담당자
|
||||
|
||||
### 3.4 운영문서 (operation_doc)
|
||||
**유형**:
|
||||
- 장애 보고서, 고객 응대 문서
|
||||
|
||||
**예시**:
|
||||
- 장애 분석 보고서, 고객 이슈 처리 가이드
|
||||
|
||||
**메타데이터**:
|
||||
- 심각도, 영향 범위, 해결 상태
|
||||
|
||||
---
|
||||
|
||||
## 4. 데이터 구조
|
||||
|
||||
### 4.1 JSON 스키마
|
||||
### 공통 필드
|
||||
```json
|
||||
{
|
||||
"document_id": "도메인명_소스유형_일련번호",
|
||||
"document_type": "meeting_minutes|manual|project_doc|operation_doc",
|
||||
"title": "문서 제목",
|
||||
"content": "실제 문서 내용 (500-1000자)",
|
||||
"metadata": {
|
||||
"domain": "도메인명",
|
||||
"date": "YYYY-MM-DD",
|
||||
"author": "작성자명",
|
||||
"tags": ["태그1", "태그2", "태그3"],
|
||||
"organization_id": "org_telecom_001",
|
||||
"folder_id": "folder_도메인명"
|
||||
"document_id": "string", // 예: "고객-MM-001"
|
||||
"document_type": "string", // meeting_minutes | org_document | project_document | operation_document
|
||||
"business_domain": "string", // 8개 도메인 중 하나
|
||||
"title": "string", // 문서 제목
|
||||
"content": "string", // 전체 본문 (임베딩 대상)
|
||||
"summary": "string", // 3-5문장 요약
|
||||
"keywords": ["string"], // 키워드 배열
|
||||
"created_date": "ISO8601", // 생성 일시
|
||||
"participants": ["string"], // 참석자/작성자
|
||||
"metadata": { // 추가 메타데이터
|
||||
"folder": "string", // 폴더 경로
|
||||
... // 문서 유형별 추가 필드
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 4.2 필드 설명
|
||||
### 문서 유형별 추가 메타데이터
|
||||
|
||||
| 필드 | 타입 | 설명 |
|
||||
|------|------|------|
|
||||
| document_id | string | 문서 고유 식별자 |
|
||||
| document_type | enum | 문서 유형 (4가지 중 1개) |
|
||||
| title | string | 문서 제목 |
|
||||
| content | text | 실제 문서 내용 (청킹 대상) |
|
||||
| metadata.domain | string | 업무 도메인 |
|
||||
| metadata.date | date | 작성일 (2024-01-01 ~ 2025-01-22) |
|
||||
| metadata.author | string | 작성자명 |
|
||||
| metadata.tags | array | 태그 배열 (3-5개) |
|
||||
| metadata.organization_id | string | 조직 ID |
|
||||
| metadata.folder_id | string | 폴더 ID |
|
||||
|
||||
---
|
||||
|
||||
## 5. 샘플 데이터 생성 방법
|
||||
|
||||
### 5.1 자동 생성 스크립트
|
||||
**위치**: `tools/generate_vector_samples.py`
|
||||
|
||||
**실행 방법**:
|
||||
```bash
|
||||
# Windows PowerShell 또는 CMD에서 실행
|
||||
cd C:\Users\hiond\home\workspace\HGZero
|
||||
python tools\generate_vector_samples.py
|
||||
#### 1. 회의록 (meeting_minutes)
|
||||
```json
|
||||
"metadata": {
|
||||
"folder": "/고객서비스/회의록",
|
||||
"agenda_count": 3,
|
||||
"decision_items": ["결정사항1", "결정사항2"],
|
||||
"action_items": ["조치사항1", "조치사항2"]
|
||||
}
|
||||
```
|
||||
|
||||
**출력 파일**: `data/samples/vector_db_samples_300.json`
|
||||
|
||||
### 5.2 생성 로직
|
||||
|
||||
#### 도메인별 키워드 매핑
|
||||
각 도메인마다 관련 키워드 및 토픽을 정의하여 실제 통신 업무 상황을 반영합니다.
|
||||
|
||||
**예시** (네트워크 인프라):
|
||||
- **키워드**: 5G, LTE, 기지국, 광케이블, RAN, 코어망, 백홀, 전송망
|
||||
- **토픽**: 5G 구축, 기지국 설치, 망 이중화, 광케이블 교체, 커버리지 확대
|
||||
|
||||
#### 랜덤 요소
|
||||
- 날짜: 2024-01-01 ~ 2025-01-22 범위에서 랜덤 선택
|
||||
- 작성자: 16명의 작성자 풀에서 랜덤 선택
|
||||
- 키워드 조합: 각 문서마다 2-3개 키워드를 랜덤 조합
|
||||
|
||||
#### 템플릿 기반 생성
|
||||
각 문서 유형별로 표준 템플릿을 정의하고, 도메인 및 키워드를 치환하여 실제 문서처럼 생성합니다.
|
||||
|
||||
---
|
||||
|
||||
## 6. 생성 통계
|
||||
|
||||
### 6.1 전체 통계
|
||||
- **총 샘플 개수**: 300개
|
||||
- **도메인별**: 각 20개 (15개 도메인)
|
||||
- **소스별**: 각 75개 (4가지 소스)
|
||||
|
||||
### 6.2 문서 유형별 분포
|
||||
|
||||
| 문서 유형 | 개수 | 비율 |
|
||||
|-----------|------|------|
|
||||
| 이전 회의록 (meeting_minutes) | 75개 | 25% |
|
||||
| 조직문서 (manual) | 75개 | 25% |
|
||||
| 프로젝트 문서 (project_doc) | 75개 | 25% |
|
||||
| 운영문서 (operation_doc) | 75개 | 25% |
|
||||
| **합계** | **300개** | **100%** |
|
||||
|
||||
### 6.3 도메인별 분포
|
||||
|
||||
| 도메인 | 회의록 | 매뉴얼 | 프로젝트 | 운영 | 합계 |
|
||||
|--------|--------|--------|----------|------|------|
|
||||
| 네트워크 인프라 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 기술 개발 및 연구 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 고객 서비스 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 영업 및 마케팅 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 요금 및 청구 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 네트워크 운용 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 서비스 기획 및 상품 개발 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 정보보안 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 시스템 운영 및 관리 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 가입자 관리 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 망 품질 관리 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 규제 대응 및 준법 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 기업 영업 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 로밍 및 국제 업무 | 5 | 5 | 5 | 5 | 20 |
|
||||
| 신사업 | 5 | 5 | 5 | 5 | 20 |
|
||||
| **합계** | **75** | **75** | **75** | **75** | **300** |
|
||||
|
||||
---
|
||||
|
||||
## 7. 벡터DB 임베딩 프로세스
|
||||
|
||||
### 7.1 데이터 정제
|
||||
1. **텍스트 정제**: HTML 태그 제거, 특수문자 정규화
|
||||
2. **청킹**: 문서를 1000 토큰 단위로 분할 (200 토큰 오버랩)
|
||||
3. **메타데이터 추출**: JSON 메타데이터 파싱
|
||||
|
||||
### 7.2 벡터화
|
||||
- **임베딩 모델**: text-embedding-3-small (OpenAI)
|
||||
- **차원**: 1536
|
||||
- **비용**: $0.02 / 1M 토큰
|
||||
|
||||
### 7.3 PostgreSQL + pgvector 적재
|
||||
```sql
|
||||
INSERT INTO document_chunks (
|
||||
document_id,
|
||||
chunk_index,
|
||||
content,
|
||||
embedding,
|
||||
metadata,
|
||||
organization_id
|
||||
) VALUES (?, ?, ?, ?, ?, ?);
|
||||
#### 2. 조직문서 (org_document)
|
||||
```json
|
||||
"metadata": {
|
||||
"folder": "/고객서비스/정책/문서",
|
||||
"document_version": "3.2",
|
||||
"last_updated": "2024-06-01"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
#### 3. 프로젝트 문서 (project_document)
|
||||
```json
|
||||
"metadata": {
|
||||
"folder": "/프로젝트/고객서비스",
|
||||
"project_status": "진행중", // 계획 | 진행중 | 완료
|
||||
"document_type": "요구사항정의서"
|
||||
}
|
||||
```
|
||||
|
||||
## 8. 활용 방안
|
||||
#### 4. 운영문서 (operation_document)
|
||||
```json
|
||||
"metadata": {
|
||||
"folder": "/고객서비스/운영/장애보고",
|
||||
"incident_number": "INC-2024-09-157",
|
||||
"severity": "High", // Critical | High | Medium | Low
|
||||
"status": "복구완료"
|
||||
}
|
||||
```
|
||||
|
||||
### 8.1 맥락 기반 용어 설명
|
||||
1. 회의록 작성 중 전문 용어 감지
|
||||
2. Vector DB에서 유사도 검색 (Top-5)
|
||||
3. Claude AI에게 맥락 기반 설명 요청
|
||||
## 💡 사용 예시
|
||||
|
||||
### 8.2 관련 회의록 자동 연결
|
||||
1. 현재 회의록 내용 벡터화
|
||||
2. Vector DB에서 유사 회의록 검색
|
||||
3. 관련도 점수 계산 (70% 이상)
|
||||
4. 최대 5개 회의록 자동 연결
|
||||
### Python에서 데이터 로드
|
||||
```python
|
||||
import json
|
||||
|
||||
### 8.3 대시보드 참고자료
|
||||
- 관련 회의록 탭: 유사 회의록 목록
|
||||
- 프로젝트 문서 탭: 관련 프로젝트 문서
|
||||
- 조직 문서 탭: 관련 매뉴얼 및 정책
|
||||
# JSON 파일 로드
|
||||
with open('vector_db_sample_data.json', 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
# 특정 도메인의 회의록 가져오기
|
||||
customer_service_meetings = data['sample_data']['고객서비스']['meeting_minutes']
|
||||
|
||||
# 첫 번째 회의록 확인
|
||||
first_meeting = customer_service_meetings[0]
|
||||
print(f"제목: {first_meeting['title']}")
|
||||
print(f"요약: {first_meeting['summary']}")
|
||||
print(f"키워드: {', '.join(first_meeting['keywords'])}")
|
||||
```
|
||||
|
||||
### 임베딩 생성 예시
|
||||
```python
|
||||
from openai import OpenAI
|
||||
|
||||
client = OpenAI(api_key="your-api-key")
|
||||
|
||||
# 문서 임베딩 생성
|
||||
def create_embedding(text):
|
||||
response = client.embeddings.create(
|
||||
model="text-embedding-3-small",
|
||||
input=text
|
||||
)
|
||||
return response.data[0].embedding
|
||||
|
||||
# 모든 문서에 대해 임베딩 생성
|
||||
for domain in data['sample_data']:
|
||||
for doc_type in data['sample_data'][domain]:
|
||||
for doc in data['sample_data'][domain][doc_type]:
|
||||
# content 필드를 임베딩
|
||||
embedding = create_embedding(doc['content'])
|
||||
doc['embedding_vector'] = embedding
|
||||
```
|
||||
|
||||
### 벡터DB에 저장 (Qdrant 예시)
|
||||
```python
|
||||
from qdrant_client import QdrantClient
|
||||
from qdrant_client.models import Distance, VectorParams, PointStruct
|
||||
|
||||
# Qdrant 클라이언트 초기화
|
||||
client = QdrantClient(url="http://localhost:6333")
|
||||
|
||||
# 컬렉션 생성
|
||||
client.create_collection(
|
||||
collection_name="meeting_documents",
|
||||
vectors_config=VectorParams(size=1536, distance=Distance.COSINE)
|
||||
)
|
||||
|
||||
# 문서 업로드
|
||||
points = []
|
||||
for domain in data['sample_data']:
|
||||
for doc_type in data['sample_data'][domain]:
|
||||
for doc in data['sample_data'][domain][doc_type]:
|
||||
point = PointStruct(
|
||||
id=doc['document_id'],
|
||||
vector=doc['embedding_vector'], # 이미 생성된 임베딩
|
||||
payload={
|
||||
"title": doc['title'],
|
||||
"summary": doc['summary'],
|
||||
"keywords": doc['keywords'],
|
||||
"domain": doc['business_domain'],
|
||||
"type": doc['document_type'],
|
||||
"created_date": doc['created_date']
|
||||
}
|
||||
)
|
||||
points.append(point)
|
||||
|
||||
# 배치 업로드
|
||||
client.upsert(collection_name="meeting_documents", points=points)
|
||||
```
|
||||
|
||||
### 유사 문서 검색 예시
|
||||
```python
|
||||
# 쿼리 텍스트
|
||||
query = "고객 만족도를 개선하기 위한 AI 챗봇 도입 방안"
|
||||
|
||||
# 쿼리 임베딩 생성
|
||||
query_embedding = create_embedding(query)
|
||||
|
||||
# 유사 문서 검색
|
||||
search_result = client.search(
|
||||
collection_name="meeting_documents",
|
||||
query_vector=query_embedding,
|
||||
limit=5,
|
||||
query_filter={
|
||||
"must": [
|
||||
{"key": "domain", "match": {"value": "고객서비스"}}
|
||||
]
|
||||
}
|
||||
)
|
||||
|
||||
# 결과 출력
|
||||
for hit in search_result:
|
||||
print(f"유사도: {hit.score:.4f}")
|
||||
print(f"제목: {hit.payload['title']}")
|
||||
print(f"요약: {hit.payload['summary']}")
|
||||
print("---")
|
||||
```
|
||||
|
||||
## 🎯 활용 시나리오
|
||||
|
||||
### 1. 관련 회의록 검색
|
||||
- **목적**: 현재 회의와 유사한 과거 회의록 찾기
|
||||
- **방법**: 회의 주제/안건을 임베딩하여 유사도 검색
|
||||
- **활용**: 과거 논의 내용 및 결정사항 참조
|
||||
|
||||
### 2. 맥락 기반 용어 설명
|
||||
- **목적**: 회의 중 등장하는 전문 용어를 맥락에 맞게 설명
|
||||
- **방법**: 용어와 관련된 조직문서/매뉴얼 검색
|
||||
- **활용**: Claude API에 RAG context로 제공
|
||||
|
||||
### 3. 프로젝트 문서 자동 연결
|
||||
- **목적**: 회의 내용과 관련된 프로젝트 문서 추천
|
||||
- **방법**: 회의록과 프로젝트 문서 간 유사도 계산
|
||||
- **활용**: 참고 자료 자동 링크
|
||||
|
||||
### 4. 장애 이력 조회
|
||||
- **목적**: 유사한 장애 발생 시 과거 대응 사례 검색
|
||||
- **방법**: 장애 키워드로 운영문서 검색
|
||||
- **활용**: 빠른 장애 해결을 위한 레퍼런스
|
||||
|
||||
## 📝 데이터 특징
|
||||
|
||||
### 1. 실제 업무 환경 반영
|
||||
- 통신회사의 실제 업무 도메인 구조
|
||||
- 각 도메인별 특화된 키워드 및 용어
|
||||
- 업무 프로세스와 연결된 문서 구조
|
||||
|
||||
### 2. 다양한 문서 유형
|
||||
- 회의록: 비정형 대화체 문서
|
||||
- 조직문서: 정형 정책 문서
|
||||
- 프로젝트 문서: 기술 문서
|
||||
- 운영문서: 시간 기반 이벤트 문서
|
||||
|
||||
### 3. 풍부한 메타데이터
|
||||
- 문서 분류를 위한 도메인/유형 정보
|
||||
- 검색 최적화를 위한 키워드
|
||||
- 관계 추적을 위한 참석자/날짜 정보
|
||||
- 폴더 구조 정보
|
||||
|
||||
### 4. 임베딩 최적화
|
||||
- 평균 문서 길이: 500~2000자
|
||||
- 요약문 제공으로 빠른 이해 가능
|
||||
- 키워드 기반 하이브리드 검색 지원
|
||||
|
||||
## 🔍 검색 전략 권장사항
|
||||
|
||||
### 1. 하이브리드 검색
|
||||
```python
|
||||
# 키워드 필터 + 벡터 유사도 검색
|
||||
search_result = client.search(
|
||||
collection_name="meeting_documents",
|
||||
query_vector=query_embedding,
|
||||
query_filter={
|
||||
"must": [
|
||||
{"key": "domain", "match": {"value": "고객서비스"}},
|
||||
{"key": "keywords", "match": {"any": ["VOC", "챗봇"]}}
|
||||
]
|
||||
},
|
||||
limit=10
|
||||
)
|
||||
```
|
||||
|
||||
### 2. 시간 기반 필터링
|
||||
```python
|
||||
# 최근 1년 이내 문서만 검색
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
one_year_ago = (datetime.now() - timedelta(days=365)).isoformat()
|
||||
|
||||
search_result = client.search(
|
||||
collection_name="meeting_documents",
|
||||
query_vector=query_embedding,
|
||||
query_filter={
|
||||
"must": [
|
||||
{"key": "created_date", "range": {"gte": one_year_ago}}
|
||||
]
|
||||
}
|
||||
)
|
||||
```
|
||||
|
||||
### 3. 문서 유형별 가중치
|
||||
```python
|
||||
# 회의록 우선, 프로젝트 문서 보조
|
||||
meeting_results = search(query, filter={"type": "meeting_minutes"}, limit=3)
|
||||
project_results = search(query, filter={"type": "project_document"}, limit=2)
|
||||
|
||||
# 결과 병합
|
||||
all_results = meeting_results + project_results
|
||||
```
|
||||
|
||||
## 🚀 확장 가능성
|
||||
|
||||
### 1. 실제 데이터 연동
|
||||
- Confluence API 연동
|
||||
- SharePoint 문서 수집
|
||||
- 이메일 아카이브 통합
|
||||
|
||||
### 2. 추가 메타데이터
|
||||
- 문서 중요도 점수
|
||||
- 조회수/활용도 통계
|
||||
- 사용자 피드백 (좋아요/별점)
|
||||
|
||||
### 3. 고급 검색 기능
|
||||
- 시맨틱 검색 (Azure AI Search)
|
||||
- 다중 벡터 검색 (제목/본문 분리)
|
||||
- Re-ranking (Claude 활용)
|
||||
|
||||
## 📚 관련 문서
|
||||
|
||||
- `구현방안-관련자료.md`: 관련자료 검색 시스템 구현 상세
|
||||
- `구현방안-용어집.md`: 용어집 구축 및 Claude 연동 방안
|
||||
- `통신업무도메인.md`: 통신회사 업무 도메인 정의
|
||||
|
||||
## 🤝 기여
|
||||
|
||||
샘플 데이터 개선 제안이나 추가 도메인 요청은 프로젝트 팀에 문의하세요.
|
||||
|
||||
---
|
||||
|
||||
## 9. 품질 검증
|
||||
|
||||
### 9.1 데이터 품질 기준
|
||||
- **실무 반영도**: 실제 통신 업무 용어 및 상황 반영 여부
|
||||
- **일관성**: 도메인 및 문서 유형별 일관성 유지
|
||||
- **다양성**: 키워드 및 토픽의 다양성 확보
|
||||
|
||||
### 9.2 검증 방법
|
||||
1. **샘플링 검사**: 각 도메인별 1-2개 샘플 수동 검토
|
||||
2. **키워드 분석**: 도메인 관련 키워드 포함 여부 확인
|
||||
3. **메타데이터 검증**: 필수 필드 누락 여부 확인
|
||||
|
||||
---
|
||||
|
||||
## 10. 향후 계획
|
||||
|
||||
### 10.1 데이터 확장
|
||||
- **단계 1** (현재): 300개 샘플 (도메인별 × 소스별 5개)
|
||||
- **단계 2** (Phase 1 완료 후): 600개 샘플 (도메인별 × 소스별 10개)
|
||||
- **단계 3** (Phase 2 이후): 1,500개 샘플 (도메인별 × 소스별 25개)
|
||||
|
||||
### 10.2 품질 개선
|
||||
- 실제 회의록 데이터 반영
|
||||
- 도메인 전문가 검토 및 피드백 반영
|
||||
- 사용자 피드백 기반 지속 업데이트
|
||||
|
||||
---
|
||||
|
||||
## 11. 참고 자료
|
||||
|
||||
### 11.1 관련 문서
|
||||
- [회의 주제 관련 자료 수집 및 Claude AI 연동 구현 방안](../구현방안-관련자료.md)
|
||||
- [ADR-001: Vector Database 및 Embedding 통합 아키텍처](../ADR-001-Vector-DB-통합아키텍처.md)
|
||||
- [통신업무도메인](../../reference/통신업무도메인.md)
|
||||
|
||||
### 11.2 기술 스택
|
||||
- **Vector DB**: PostgreSQL + pgvector
|
||||
- **Embedding**: OpenAI text-embedding-3-small (1536 dim)
|
||||
- **검색**: 하이브리드 (벡터 유사도 + 키워드 매칭)
|
||||
- **캐싱**: Redis + Claude Prompt Cache
|
||||
|
||||
---
|
||||
|
||||
**문서 버전**: v1.0
|
||||
**최종 수정**: 2025-01-22
|
||||
**담당자**: AI 개발팀
|
||||
**버전**: 1.0
|
||||
**생성일**: 2025-10-28
|
||||
**생성자**: 회의록 작성 및 공유 개선 프로젝트 팀
|
||||
Loading…
x
Reference in New Issue
Block a user