한 가맹점의 프로모션 수수료율을 한 분기 동안 낮추는 부속 합의를 검토하는 상황입니다. 담당자는 작년에 체결한 정산 주기 변경 특약과 기존 수수료 조건을 먼저 확인해야 합니다.
같은 가맹점의 본계약, 업종 변경 합의, 규모별 우대 조건, 프로모션 특약이 여러 문서에 나뉘어 있습니다. 작성 시점과 담당자, 문구와 표 형식이 달라 새 조건이 기존 계약과 충돌하는지 확인하기 어렵습니다.
실제 고객 도입 사례가 아닌 가설 시나리오입니다. 여신금융(개인·기업에 돈을 빌려주거나 결제를 대신 처리하는 금융업) 중 카드사의 계약 검토 업무를 가정했으며, 도입 결과나 측정 수치는 없습니다.
검토할 자료: 가맹점 본계약과 특약
한 가맹점에는 최초 본계약뿐 아니라 업종 변경 합의, 거래 규모에 따른 우대 수수료, 시즌별 프로모션 특약이 함께 적용될 수 있습니다. 이 시나리오에서는 같은 가맹점에 관한 다음 자료를 검토합니다.
- 본계약. 처음 가맹할 때 맺은 것이고, 나머지 조건이 전부 이 위에 얹힌다
- 업종 변경 합의. 가맹점의 업종이 바뀌면서 새 조건이 추가됐다
- 규모에 따른 우대 조건. 거래 규모가 커지면서 우대 수수료가 붙었다
- 프로모션 특약. 특정 시즌마다 따로 더해진다. 이번 부속 합의도 여기에 속한다
- 각 계약 안의 조건들. 정산 주기, 수수료율, 적용 기간이 계약마다 조금씩 다른 얼굴로 적혀 있다
- 형식. 상당수가 스캔본이나 PDF로 잠들어 있고, 수수료율은 본문이 아니라 표 안에 들어 있다
- 작성 이력. 각각 다른 시점에, 다른 담당자가, 조금씩 다른 문구와 표 형식으로 썼다
새 계약이나 변경 조건이 기존 합의와 충돌하는지 확인해야 합니다. 같은 거래에 수수료율 두 개가 적용되거나, 월 정산과 주 단위 정산이 서로 다른 문서에 적혀 있거나, 특약과 본계약이 어긋나는 경우를 정산 전에 검토하려는 목적입니다.
기존 방식: 과거 계약과 신규 조건 대조
기존에는 담당자가 관련 계약을 기억해 문서함에서 하나씩 열어 비교했습니다. 계약이 늘어나면 관련된 문서를 빠짐없이 찾아 대조하기 어려워집니다.
“이 계약과 충돌할 수 있는 계약은 무엇인가”를 확인하려면 같은 단어가 들어간 문서를 찾는 것만으로는 부족합니다. 가맹점·계약·수수료 조건의 관계를 함께 봐야 하며, 문구와 표 형식이 달라도 같은 조건인지 확인해야 합니다.
계약 가져오기와 조건별 관계 추출
스캔본을 읽고 가맹점·계약·수수료 조건을 엔티티로 추출한 뒤 표기 차이를 정리합니다. 온톨로지는 이렇게 주요 대상과 대상 간 관계를 정의하는 구조입니다.
가맹점 계약을 넣는 순서
"소스 추출하기"(⌘⇧I)로 계약서 가져오기
스캔본이나 PDF로 잠들어 있는 계약서를 OCR(스캔 이미지를 컴퓨터가 읽을 수 있는 글자로 바꾸는 기술)로 읽어, 본문 텍스트뿐 아니라 수수료율이 담긴 표의 구조까지 보존한 채 옮긴다. 표가 무너지면 조건도 함께 무너지기 때문에, 표 구조를 살려 두는 일이 특히 중요하다.
"도메인 어휘"에 계약 용어와 변형 등록
왼쪽 레일의 "도메인 어휘" 패널에서 표준 술어와 그 변형을 선언해 둔다. "월 정산"과 "매월 1회 정산"이 같은 뜻이라면, 추출 시점에 하나로 접혀 시스템 안에서 같은 점으로 합쳐진다. 계약마다 문구가 달라도 같은 개념이면 하나의 노드가 된다.
활동 센터의 "이 워크스페이스를 지식그래프로 만들까요?" → "만들기"
가맹점(Merchant), 계약(Contract), 수수료·조건(Fee·Term)이 각각 엔티티로 뽑히고, '가맹점은 다수의 계약을 가진다', '계약은 다수의 수수료 조건을 가진다' 같은 관계로 이어 붙는다. 이렇게 만들어진 지식그래프(개념들이 관계로 이어진 지도) 옆에 계약서 원본 파일은 그대로 남는다.
"엔티티 테이블"에서 추출 결과 확인
가맹점과 계약, 수수료 조건이 의도한 대로 정리됐는지 여기서 확인한다. 이 가맹점 하나에 계약이 몇 겹으로 쌓여 있었는지도 여기서 눈으로 본다.
계약 조건의 충돌을 확인하는 질문
"@프로모션-수수료-부속합의 이 가맹점과 맺은 계약을 전부 보여 줘."
→ 가맹점 엔티티에서 출발해 관계의 선을 따라간 결과가 한 화면에 펼쳐진다.
본계약, 업종 변경 합의, 규모별 우대 조건, 프로모션 특약이 함께 딸려 나온다.
키워드를 던지는 게 아니라 관계를 따라가므로,
담당자가 미처 떠올리지 못한 계약도 같이 끌려 나온다.
"이 부속 합의의 수수료율과 충돌할 수 있는 조건이 있나?"
→ 같은 가맹점·같은 거래에 상이한 수수료율이 살아 있는 지점,
특약이 본계약과 어긋나는 지점이 규칙에 따라 충돌 후보로 표시된다.
각 줄에 그 조건이 적힌 문장과 출처 계약서가 함께 붙는다.
"이 가맹점의 정산 주기는 계약마다 어떻게 적혀 있나?"
→ "월 정산"과 "매월 1회 정산"은 같은 점으로 모여 있고,
한쪽이 월 단위, 다른 합의가 주 단위로 잡혀 있으면
서로 모순되는 정산 주기로 나란히 표시된다.계약 내용을 엔티티와 관계로 저장하면 가맹점에서 관련 계약과 수수료 조건을 차례로 조회할 수 있습니다. 담당자는 연결된 기록을 바탕으로 비교할 계약을 찾습니다.
연결 칩에 마우스를 올리면 근거 문장이 “{노트} · {n}번째 줄” 형식으로 표시됩니다. 엔티티 페이지의 “당신의 표현으로”에서는 계약서의 실제 문구를 확인할 수 있습니다. 표기를 통일해도 원문은 남으므로 담당자는 충돌 후보로 제시된 부분을 열어 최종 판단합니다.
활용 결과와 검토 범위
| 예전 | 지금 |
|---|---|
| 담당자가 관련 계약을 머릿속으로 떠올리고 문서함을 뒤져 한 장씩 펼쳐 대조한다 | 가맹점 하나에서 출발해 관계의 선을 따라가면 연결된 모든 계약과 조건이 한 화면에 펼쳐진다 |
| '충돌할 수 있는 계약이 무엇인가'는 키워드 검색으로 잡히지 않는다 | 관계를 따라가므로 사람이 미처 떠올리지 못한 계약까지 함께 끌려 나온다 |
| 계약마다 문구와 표 형식이 달라 같은 개념인지조차 알아채기 어렵다 | "도메인 어휘"에 변형을 선언해 두면 "월 정산"과 "매월 1회 정산"이 같은 점으로 합쳐진다 |
| 관련 계약을 빠뜨렸는지 확인할 방법이 없어 전수 대조부터 시작한다 | 시스템이 의심 지점을 먼저 좁혀 주고, 사람은 그 위에서 판단에 집중한다 |
이 시나리오는 가맹점·계약·조건의 관계를 따라 잠재적 충돌을 찾는 방법을 제안합니다. 실제 계약 자료에서 어떤 후보를 찾고 놓치는지는 별도의 검증이 필요합니다.
