23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
최근 온톨로지(Ontology)와 지식 그래프(Knowledge Graph)에 대한 관심이 높아지면서, 실무에 적용하려는 시도들이 늘어나고 있습니다.
저희 OpenLab에서도 각자 다양한 실험을 진행했는데, 그 과정에서 얻은 인사이트를 공유해보려 합니다.
처음에는 막연히 "에이전트를 만들어보자"고 생각했지만, 온톨로지의 기본 개념을 이해한 후에 접근하니 훨씬 효과적이었습니다.
온톨로지 기반 출장 신청 프로세스 설계
개념(Concepts): 출장, 신청자, 승인자, 목적지 등
관계(Relations): 신청자 → 출장 신청, 승인자 → 승인 프로세스
속성(Properties): 출장 기간, 예산, 목적 등
ChatGPT와 Claude를 활용해 단계별로 접근했습니다.
업무 파악 단계: 출장 신청 프로세스를 온톨로지로 정의
온톨로지 설계: 주요 개념들과 관계를 구조화
프로토타입 제작: Python 기반 에이전트 구현
# 간단한 온톨로지 구조 예시
class TripRequest:
def __init__(self):
self.requester = None
self.destination = None
self.purpose = None
self.budget = None
self.approval_status = "pending"API 연동 이슈: OpenAI API 설정에서 보안 문제로 막히는 경우가 많았음
권한 문제: Google Drive 연동 시 권한 설정의 복잡함
도구별 차이점: ChatGPT vs Claude Code의 장단점 차이
Claude의 장점: 처음부터 보안을 고려한 가이드 제공, API 키를 별도 파일로 관리하도록 안내
최근 논문을 참고해 Neo4j의 Cypher 쿼리를 LLM으로 생성하는 방법을 실험한 것을 공유해주셨습니다.
구현 과정:
PDF 문서 파싱 (다양한 형태의 표와 한글 처리)
키워드 추출 및 클러스터링
그래프 시각화 (NetworkX 활용)
예전에는 한글 PDF 파싱이 매우 어려웠는데, 최근 GPT Code Interpreter는 병합된 셀이나 복잡한 표 구조도 잘 처리합니다.
# 문서 분석 파이프라인
def analyze_document(pdf_path):
# 1. PDF 파싱
content = parse_pdf(pdf_path)
# 2. 온톨로지 트리플 추출
triples = extract_triples(content)
# 3. 그래프 생성
graph = create_knowledge_graph(triples)
return graph많은 분들이 Neo4j를 온톨로지와 혼동하시는데, 중요한 차이가 있습니다
특징: 임베딩 기반 유사도 계산
장점: 쉬운 접근성, 직관적인 시각화
한계: 논리적 추론보다는 통계적 유사성에 의존
특징: SPO(Subject-Predicate-Object) 트리플 기반
장점: 논리적 추론, 정확한 관계 정의
활용: 규칙 기반 추론, 자동화된 분류
온톨로지가 제대로 작동하려면 충분한 양의 구조화된 데이터가 필요합니다. 특히:
의학, 금융, 법률 등 전문 도메인에서 효과적
일반적인 비즈니스 영역에서는 데이터 부족으로 한계
Schema-First: 구조를 먼저 정의하고 데이터를 입력 (전통적 방법)
Data-First: 데이터에서 관계를 추출하고 구조를 자동 생성 (권장)
# Data-First 접근법 예시
def extract_relationships(documents):
relationships = []
for doc in documents:
# A는 B다 형태의 관계 추출
extracted = extract_subject_predicate_object(doc)
relationships.extend(extracted)
# 자동 클러스터링으로 스키마 생성
schema = auto_generate_schema(relationships)
return schema온톨로지를 LLM의 대안이 아닌 인터페이스로 활용
LLM으로 자연어를 온톨로지로 변환
온톨로지로 정확한 논리 추론
결과를 다시 자연어로 변환
온톨로지의 활용 영역을 세 가지 축으로 정리해봤습니다
RAG (Retrieval-Augmented Generation): 지식 검색 강화
추천 시스템: 관계 기반 개인화
BPM (Business Process Management): 업무 프로세스 자동화
각 영역별로 구체적인 사례를 개발하며, 실무에서 바로 적용할 수 있는 가이드를 만들어가고 있습니다.
이런 경험들을 바탕으로 KBS 부산에서 활동하시는 스터디원 종윤님이 "업무 자동화 에이전트" 주제를 다루기도 했습니다.
대화만으로 프로그램을 만들 수 있다는 것, 하지만 개인정보 보안에 주의해야 한다는 교훈을 시청자들과 나눴습니다.
온톨로지에 대한 인사이트를 나누고 배울 수 있는 소중한 시간이었습니다. 앞으로도 기대됩니다!
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.