왜 숫자들은 서로 연결되지 않는가: 의미적 상호운용성 문제
📍 현재 위치: 3부에서는 데이터에 조직적 골격을 부여했습니다 — 거버넌스, 품질, 마스터 데이터. 이제 4부에서는 완벽한 배관과 깔끔한 기록이 갖추어졌는데도 왜 서로 다른 시스템의 숫자들이 여전히 들어맞지 않는지, 그리고 의미(meaning)가 시스템을 넘어 전달되게 하려면 무엇이 필요한지를 묻습니다.
지난 장에서 우리는 데이터를 둘러싼 사람과 정책의 골격을 세웠습니다 — 데이터 거버넌스(data governance)(누가 규칙을 정하는가), 데이터 품질(data quality)의 여러 차원, 그리고 마스터 데이터 관리(master data management)(제품이나 원자재처럼 비즈니스가 중요하게 여기는 대상에 대한 하나의 신뢰할 수 있는 버전). 거버넌스는 모든 시스템의 기록을 깔끔하고, 소유 주체가 분명하며, 잘 기술된 상태로 만들 수 있지만, 그럼에도 한 가지 골치 아픈 문제는 손대지 못한 채 남겨 둡니다. 마침내 깔끔한 두 데이터셋을 나란히 끌어다 놓으면, 숫자들이 서로 연결되지 않는 것입니다. 배관은 완벽합니다. 펌프는 흠잡을 데 없이 물을 보냅니다. 그런데도 반대편 끝에서 나오는 결과는 아귀가 맞지 않습니다.
이 장은 바로 그 간극에 관한 것입니다. 그 간극에는 이름이 있습니다 — 의미적 상호운용성(semantic interoperability) 문제이며, 수십 년에 걸친 디지털화 이후에도 바이오의약품 제조사가 여전히 자기 자신의 데이터조차 쉽게 결합하지 못하는 가장 큰 단일 원인 중 하나입니다. 과학 데이터 관리를 위한 FAIR 원칙(찾을 수 있고(Findable), 접근 가능하며(Accessible), 상호운용 가능하고(Interoperable), 재사용 가능한(Reusable) 데이터)은 바로 이 어려움에 대한 직접적인 대응으로 정립되었습니다 [1].
같은 사건을 묘사하는 세 사람을 떠올려 보세요. 한 사람은 "회의는 정오에 있어"라고 말하고, 다른 사람은 "12:00"이라고 적으며, 세 번째 사람은 "12h00 GMT"라고 기록합니다. 사람은 어깨를 으쓱하며 셋 다 이해합니다. 컴퓨터는 그렇지 못합니다. 기계에게 "정오", "12:00", "12h00 GMT"는 서로 아무런 관련이 없는 세 개의 문자열일 뿐입니다 — 누군가가 이 셋이 같은 시각을 가리킨다고 형식적으로 일러 주기 전까지는 말이죠. 의미적 상호운용성은 철자가 다른 두 대상이 사실은 같은 것임을 기계에게 단번에 일러 주는 작업입니다.
이 장에서 다루는 내용
먼저 비슷하게 들리는 두 개념을 — 구문적(syntactic) 상호운용성과 의미적(semantic) 상호운용성을 — 구체적인 예시와 함께 구분하는 데서 시작합니다. 그런 다음 이질성(heterogeneity)의 원천들(같은 사실이 서로 다르게 기록되는 여러 방식)을 정리하고, "그냥 매핑하면 되지"라는 뻔한 해법이 시스템 수가 늘어날수록 무너지는 이유를 보인 뒤, 첫 번째 실질적 해법에 도달합니다 — 통제 어휘(controlled vocabularies), 즉 합의된 용어들의 공유 목록입니다. 마지막으로 더 깊은 해법 — 의미의 공유 모델 — 의 문턱에서 마무리하며, 이는 다음 장의 주제입니다.
이 문제는 물리적 현실을 데이터 관리 측면에서 비춘 거울상입니다. 이 장이 거듭 돌아오는 바이오리액터 온도는 실제 용기 안의 실제 프로브입니다 — 제조 책이 바이오리액터에서의 생산(production in the bioreactor)에서 따라가는 바로 그 용기, 바로 그 물리적 측정값입니다. 하나의 물리적 사실, 그리고 기록된 여러 그림자. 의미가 짊어진 부담 전체는 그 그림자들이 단 하나의 대상에서 드리워진 것임을 기계에게 가르치는 일입니다.
두 종류의 "대화": 구문 대 의미
연결성(connectivity) 장이 형식과 의미 사이에 그었던 구분을 떠올려 보세요. 상호운용성(interoperability)은 별개의 시스템들이 함께 작동하는 능력이며, 여러 계층으로 이루어집니다. 잘 알려진 한 모델이 그 계층들을 한층 더 형식화합니다 — 개념적 상호운용성 수준 모델(Levels of Conceptual Interoperability Model, LCIM)로, 무(無)/기술적(technical) 상호운용성에서부터 구문적(syntactic, 공유된 형식)과 의미적(semantic, 공유된 의미)에 이르기까지 이를 명명합니다 [6]. 이후 확장 작업이 화용적(pragmatic)·동적(dynamic)·개념적(conceptual) 수준을 더해 성숙한 일곱 수준 모델이 되었습니다.
여기서는 그중 두 계층이 중요합니다. 구문적 상호운용성(syntactic interoperability)은 시스템들이 형식에 합의하는 것을 의미합니다. 파일이 열리고, 메시지가 파싱되며, 필드가 들어맞습니다. 의미적 상호운용성(semantic interoperability)은 시스템들이 의미에 합의하는 것을 의미합니다. 한 시스템의 값과 다른 시스템의 값이 같은 종류의 실세계 대상을, 같은 척도에서, 같은 조건 아래 기술한다는 것을 양쪽 모두 안다는 뜻입니다 [6]. 구문은 바이트를 옮깁니다. 의미는 뜻을 보존합니다. 첫 번째는 완전히 갖추고도 두 번째는 전혀 갖추지 못할 수 있습니다.
실제 공장에서는 다음과 같은 모습입니다. 세 시스템 — 공정 히스토리안(historian)(AVEVA PI System(옛 OSIsoft PI) 같은 시계열 데이터베이스), 제조실행시스템(manufacturing execution system, MES)(예: Emerson DeltaV MES(옛 Syncade)), 그리고 실험실 정보관리시스템(laboratory information management system, LIMS)(예: LabWare) — 이 각각 물리적으로는 하나인 측정값 — 바이오리액터(bioreactor) BR101 내부의 온도 — 을 기록하는데, 저마다 다르게 기술합니다.
하나의 물리적 사실, 세 가지 기계 기술. 여기 모든 시스템은 내부적으로 옳지만, 이름·숫자·단위·시간 형식 어느 것에서도 서로 일치하지 않습니다.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
모든 상자가 유효합니다. 모든 시스템이 내부적으로 일관되며 저마다의 데이터 품질 검사를 통과합니다. 세 타임스탬프조차 정확히 같은 시각을 가리킵니다 — epoch 1718271000(1970-01-01 UTC 이후로 센 초 수로, 컴퓨터가 시간을 재는 기준점입니다), 05:30 EDT, 09:30Z는 하나의 순간을 세 가지 방식으로 적은 것입니다(여기에 미묘한 함정이 있습니다. 6월 13일은 일광 절약 시간제(daylight saving time) 기간이라 미국 동부는 EDT(UTC−4)이므로, 09:30Z에 해당하는 벽시계 시각은 05:30 EDT입니다. 이를 05:30 EST(표준시 오프셋, UTC−5)로 적으면 소리 없이 한 시간 뒤의 시각 — 09:30Z가 아니라 10:30Z — 을 가리키게 됩니다. 바로 이 장이 경고하는 위험입니다). 그런데도 "BR101에서 배치 BATCH-2026-001의 모든 온도 측정값을 찾아라"는 요청을 받은 프로그램은 그중 어느 것도 자동으로 찾지 못합니다. TIC101.PV(히스토리안의 계측기 태그 방식으로, 온도 지시 제어기(temperature-indicating-controller) 루프 101의 현재 값입니다), Temperature, temp_reactor가 같은 용기의 같은 속성이라는 것을 — 또는 37.0, 98.6, 310.15가 같은 시각에 기록된 섭씨, 화씨, 켈빈의 같은 값이라는 것을 — 일러 주는 것이 아무것도 없기 때문입니다. 데이터는 완벽하게 옮겨졌습니다. 의미는 그러지 못했습니다.
이를 구체적으로 보면, 세 측정값을 모두 실제로 가져오는 질의(query)는 시스템들이 암묵적으로 남겨 둔 모든 조정 작업을 손으로 일일이 부호화해야 합니다 — 가령 다음과 같은 스케치입니다(실제 질의 언어가 아니라 — 그저 조정 작업을 그대로 풀어 쓴 것입니다).
MATCH property IN { TIC101.PV, Temperature, temp_reactor }
AND vessel IN { BR-101, EQ-00457 } // these two strings are the same asset — private knowledge
NORMALIZE unit -> degC // 37.0 = (98.6 - 32) / 1.8 = 310.15 - 273.15
NORMALIZE time -> UTC // 1718271000 = 2024-06-13 05:30 EDT = 09:30Z
이 절(clause) 하나하나가 사람이 직접 공급해야 했던 사적인 지식입니다. 이것을 수백 개의 태그와 수십 개의 시스템에 곱하면, 그것이 바로 바이오제조 분석의 일상적 현실입니다 — 그리고 그것이 바로 의미의 공유 계층이 없애려는 것입니다.
이질성의 여러 얼굴
어긋남의 여섯 가지 종류
이 단 하나의 예시조차 이미 여러 개의 별개 문제를 감추고 있습니다. 의미적 이질성(semantic heterogeneity) — 그 간극을 가리키는 포괄 용어로, 같은 대상이 시스템과 사람에 따라 다르게 개념화되고 명명되는 것을 뜻합니다 — 은 식별 가능한 여섯 가지 형태로 나타나며, 그것들에 이름을 붙이는 것이 해결의 첫걸음입니다 [5].
- 명명(Naming). 같은 속성이 서로 다른 라벨을 답니다:
TIC101.PV,Temperature,temp_reactor. 반대로 — 더 나쁘게는 — 같은 라벨이 두 시스템에서 다른 것을 의미할 수 있습니다(한 공장의 "수율"은 질량이고, 다른 공장의 "수율"은 백분율입니다). - 측정 단위(Units of measure). 섭씨, 화씨, 켈빈; 리터당 그램 대 리터당 밀리그램 — 같은 역가(titer)가
2로도2000으로도 적혀, 어떤 계산을 망가뜨리려고 기다리는 천 배의 불일치입니다. 단위 없는 숫자는 의미가 없고, 단위가 암묵적으로 가정된 숫자는 함정입니다. 그래서 표준 기구들은 단위 자체를 형식적으로 정의합니다 — ISO/IEC 80000 시리즈는 물리량과 단위의 이름과 기호를 고정합니다 — 그리고 그래서 UCUM(측정 단위 통합 코드, Unified Code for Units of Measure, 실험실 및 HL7 데이터에서 값과 나란히 실려 다니는 단위 코드 문자열) 같은 기계 판독 가능 코드 체계와 QUDT(이 장 뒤편의 매핑 레코드가 닻을 내리는 곳) 같은 단위 온톨로지는, 단위가 누군가의 기억 속에 머무는 대신 값과 함께 따라다니도록 데이터 형식에 단위를 실어 나르게 합니다. - 식별자 체계(Identifier schemes). 그 용기는
BR-101인가,BR101인가,Bioreactor-1인가, 아니면 자산 태그EQ-00457인가? 두 시스템이 같은 물리적 바이오리액터에 대해 풍부한 데이터를 보유하고도, 그 대상을 부르는 이름이 결코 일치하지 않아 서로를 알아채지 못할 수 있습니다. - 타임스탬프와 시간대(Timestamps and time zones). epoch 초, 현지 벽시계 시각,
Z접미사가 붙은 UTC는 모두 같은 시각을 가리킬 수도 있고 — 또는 순진하게 읽으면 서로 다른 세 시각이 될 수도 있습니다. 시간대 누락은 거의 다른 어떤 단일 결함보다도 더 많은 분석을 소리 없이 망쳐 왔습니다. - 세분성(Granularity). 한 시스템은 매 초를 기록하고, 다른 시스템은 1분 평균을 저장하며, 또 다른 시스템은 배치당 단일 숫자 하나만 유지합니다. 이것들을 결합하려면 각 행이 실제로 무엇을 나타내는지를 알아야 합니다 — 그리고 이것들을 조정하는 일은 degC→K 같은 공짜 변환이 아니라, 그 자체가 변환의 일부인 명시적 리샘플링 또는 집계 규칙(가령 시간 가중 평균 대 마지막 관측값 이어가기, last-observation-carried-forward)입니다. 1 Hz 히스토리안 스트림을 배치당 LIMS 결과에 그 규칙을 진술하지 않은 채 결합하는 것은 그 자체로 소리 없는 표류 위험입니다. 명시되지 않은 집계 방법은 눈에 보이는 것은 아무것도 바꾸지 않으면서 숫자를 바꿔 놓습니다.
- 암묵적 맥락(Implicit context). 가장 치명적인 범주입니다. 보이지 않기 때문입니다.
temp라는 컬럼은 설정값(setpoint)을 의미할 수도, 측정값을 의미할 수도 있습니다. 어떤 결과는 시료가 먼저 여과되었다고 가정할 수도 있습니다. 이를 명확히 해 주는 지식은 데이터가 아니라 엔지니어의 머릿속에 있습니다.
FAIR 원칙 — 찾을 수 있고(Findable), 접근 가능하며(Accessible), 상호운용 가능하고(Interoperable), 재사용 가능한(Reusable) 데이터를 위한 널리 채택된 프레임워크 — 은 바로 이 점을 직접적으로 다룹니다. 그 I, 상호운용성은 데이터가 공유되고 형식적으로 정의된 어휘를 사용하고 기계가 처리 가능한 의미를 지닐 것을 요구합니다. 바로 위의 이질성이 우연히 맥락을 기억하는 사람이 아니라 소프트웨어에 의해 해소될 수 있도록 하기 위해서입니다 [1].
깔끔한 데이터가 곧 연결된 데이터는 아닙니다. 한 데이터셋이 지난 장의 품질 차원에서 완벽한 점수를 받을 수 있습니다 — 완전하고, 정확하며, 그 자체 안에서 일관됩니다 — 그러면서도 의미적으로 고립되어 있을 수 있습니다. 품질은 옳음에 관한 것이고, 상호운용성은 결합 가능함에 관한 것입니다. 둘은 서로 다른 문제이며, 하나를 통과한다고 해서 다른 하나를 통과하는 것은 아닙니다.
"그냥 매핑하면 되지"가 규모를 감당하지 못하는 이유
n제곱 엉킴
직관적인 해법은 변환 표입니다. 히스토리안(historian)의 어휘를 MES의 어휘로 바꾸는 변환기를 작성하고, MES-LIMS용으로 또 하나를 작성하는 식입니다. 이것들이 점대점 매핑(point-to-point mappings)이며, 연결성 장에서 점대점 연결이 실패한 것과 같은 이유로 실패합니다 — 그 수가 폭발적으로 늘어나는 것입니다.
각 시스템을 공유 모델에 한 번씩만 매핑하면, 쌍별 매핑의 n² 엉킴이 시스템당 매핑 하나(n)로 줄어듭니다.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
n개의 시스템이 있으면 쌍 단위 매핑에는 대략 n² 개의 변환기가 필요합니다. 네 개의 시스템에는 여섯 개, 열 개의 시스템에는 마흔다섯 개가 필요합니다. 각 변환기는 한 팀의 사적인 이해를 부호화하며, 시스템이 업그레이드되거나, 태그 이름이 바뀌거나, 단위 관례가 달라지는 순간 — 살아 움직이는 공장에서는 끊임없이 일어나는 일입니다 — 망가집니다. 그래서 그토록 많은 분석 노력이 분석이 아니라 랭글링(wrangling)에 들어갑니다. 즉 어떤 진짜 질문을 던지기도 전에 이름, 단위, 식별자, 타임스탬프를 손으로 일일이 맞추는 일입니다. 하나의 공유 참조 모델을 통해 의미를 매개하면, 그 n²의 엉킴이 n개의 매핑으로 바뀝니다 — 각 시스템은 공유 모델에 한 번씩만 정렬되고, 그러고 나면 다른 모든 시스템과 비교 가능해집니다 [4]. 그 경제 논리는 연결성 표준이 준 것과 같은 교훈을, 한 계층 더 깊이 적용한 것입니다. 즉 배선이 아니라 단어에 적용한 것입니다.
쌍별 변환기는 n(n−1)/2로 늘어나지만, 각 시스템을 공유 모델에 한 번씩만 매핑하면 n으로 늘어납니다. 여섯 시스템은 점대점으로는 변환기 열다섯 개가 필요하지만 공유 모델을 거치면 매핑 여섯 개만 있으면 됩니다.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
이것은 단순한 통합의 골칫거리가 아닙니다. 가장 값비싼 분석 실패가 숨는 자리입니다. 쌍별 엉킴은 의미가 소리 없이 표류(drift)하는 자리이기도 합니다. 각 변환기는 다른 누구도 볼 수 없는 사적인 가정을 부호화하고, 그 가정 중 하나가 조용히 바뀌면 아무것도 그것을 표시해 주지 않습니다 — 이 장 끝에서 다시 다루는 위험입니다.
첫 번째 해법: 참조 데이터와 통제 어휘
공유된 의미를 향한 첫 번째 실질적 단계는 소박하면서도 강력합니다. 단어에 합의하는 것입니다. 지난 장에서 마스터 데이터와 함께 소개한 참조 데이터(reference data)는 한 필드가 가질 수 있는 표준적이고 승인된 값들의 집합이고, 통제 어휘(controlled vocabulary)는 정의가 딸린, 합의되고 관리되는 용어 목록입니다 — 그래서 모두가 Celsius, °C, centigrade가 아니라 degC라고 적습니다. 어떤 숫자를 하나의 공식 목록에서 뽑은 단위로 반드시 보고해야 할 때, 비로소 두 시스템은 사람을 거치지 않고도 비교될 수 있습니다.
국제 표준들이 바로 그런 어휘를 공급합니다. IEC 62264로 표준화된 ISA-95는 기업-제조 데이터를 위한 정규적 객체 모델과 용어 집합을 정의합니다 — 생산 요청(production request), 원자재 로트(material lot), 설비(equipment) 요소가 형식적으로 무엇인지를 — 그래서 비즈니스 시스템과 공장 시스템 사이의 인터페이스가 저마다 정의를 협상하는 대신 하나의 정의를 공유합니다 [2]. 분석 실험실에서는 앨로트로프 재단(Allotrope Foundation) — Merck, GSK, Amgen 같은 대형 제약 회사들이 회원으로 참여하는 컨소시엄 — 이 공유 어휘와 온톨로지(특히 앨로트로프 재단 온톨로지, Allotrope Foundation Ontologies, AFO)를 유지·관리하여, 결과가 — 그리고 거기에 딸린 단위, 기법, 식별자가 — 어느 벤더의 장비에서 산출되었든 같은 것을 의미하게 하며, 위에서 말한 명명·단위·식별자 이질성을 직접 공략합니다 [8].
그러나 평면적 어휘 — 승인된 용어들의 단순한 목록 — 에는 한계가 있습니다. 목록은 기계에게 degC가 허용된 단위라고 알려 줄 수는 있지만, 섭씨와 켈빈이 둘 다 온도이고 고정된 공식으로 연결되어 있는 반면 리터당 그램은 전혀 다른 것이라는 사실은 알려 줄 수 없습니다. 허용된 설비 이름 목록은 바이오리액터가 용기의 일종이고, 그 용기가 상류(upstream) 공정실의 일부이며, 그 공정실이 발효에 참여한다는 것을 표현할 수 없습니다. 용어들 사이의 관계 — ~의 일종이다, ~의 일부이다, ~에 참여한다 — 는 용어 그 자체만큼이나 많은 의미를 담고 있는데, 평면적 목록에는 그것을 담을 자리가 없습니다 [5]. 관계를 담으려면 목록이 아니라 모델이 필요합니다.
그 약속: 의미의 공유 모델
그 모델이 바로 온톨로지(ontology)입니다. 어떤 도메인 내 개념들과 그들 사이의 관계에 대한 형식적이고 기계가 읽을 수 있는 명세 — 무엇이 존재하고 그것들이 어떻게 연결되는지에 대한 공유된 지도입니다 [5]. 실제로 이러한 모델은 W3C의 웹 온톨로지 언어(Web Ontology Language, OWL)로 작성되고, RDF 위에 구축되며, RDF/XML이나 더 읽기 쉬운 Turtle 같은 형식으로 직렬화(serialize)되어, 컴퓨터가 적재하고 추론할 수 있는 표준으로 의미가 표현됩니다. 어휘가 단어를 나열한다면, 온톨로지는 컴퓨터가 추론할 수 있는 사실을 진술합니다. 바이오리액터는 설비의 일종이다; 온도 측정값은 어떤 온도에 대한 측정이다; 섭씨와 켈빈은 같은 물리량을 잰다. 이러한 사실들이 일단 형식적으로 적히고 나면, 소프트웨어는 이 장 첫머리에서 사람이 손쉽게 해낸 일을 — 세 가지 다른 기술이 하나의 실체를 가리킨다고 인식하는 일을 — 사람을 거치지 않고 해낼 수 있습니다.
표준과 거버넌스: BFO, IOF, 앨로트로프, FAIR
별개의 온톨로지들이 서로 호환되게 유지하기 위해, 이 분야는 그것들을 공유된 최상위(또는 상부) 온톨로지(top-level (or upper) ontology)에 고정합니다. 다른 모든 것이 상속받는, 가장 일반적인 범주들 — 객체, 과정, 질, 역할 — 의 작고 도메인 중립적인 집합입니다. 그러한 기반 중 하나에 대한 국제 표준이 ISO/IEC 21838-2로 표준화된 기초 형식 온톨로지(Basic Formal Ontology, BFO)이며, 이는 이질적인 시스템들 사이의 데이터 교환과 통합을 지원하도록 명시적으로 설계되었습니다 [7]. 이 공통 토대 위에 제조 온톨로지를 구축하는 것이 산업 온톨로지 파운드리(Industrial Ontologies Foundry, IOF)의 사명입니다. 제조 분야의 의미적 상호운용성 문제를 명확히 제기하고, 우연이 아니라 설계에 의해 상호운용되는 참조 온톨로지를 구축하기 위한 공유 원칙을 채택한 커뮤니티입니다 [3]. IOF 코어 온톨로지(IOF Core Ontology, 이하 IOF Core)는 이질적인 제조 데이터를 조화시키도록 설계된, BFO에 기반한 구체적인 중간 수준 모델입니다 — n²의 엉킴을 n개의 매핑으로 바꿀 수 있는 단일 공유 참조 모델을 향한 하나의 경로입니다 [4].
왜 중요한가
규제 추적성과 랭글링 비용
데이터 관리의 관점에서 이 장은 놓치기 쉬운 한 가지 분명한 선을 긋습니다. 이 책 앞부분의 모든 투자가 — 장비, 히스토리안, 통합 표준, 거버넌스, 무결성 통제가 — 흠잡을 데 없을 수 있는데도, 데이터가 같은 세계를 양립 불가능한 용어로 기술하기 때문에 시스템을 가로지르는 단순한 질문 하나에 답하지 못하게 될 수 있습니다. 연결성 표준은 바이트가 도착할 수 있는가를 풀었습니다. 거버넌스는 기록이 신뢰할 만하고 소유 주체가 있는가를 풀었습니다. 어느 쪽도 두 숫자가 같은 것을 의미하는가는 풀지 못합니다 — 그리고 그것 없이는 모든 분석 프로젝트가 매번 처음부터 랭글링 세금을 다시 치르고, 결합된 모든 데이터셋은 화씨와 섭씨를 소리 없이 평균 내 버릴 위험을 안습니다. 의미는 끝에 덧칠하는 마무리 광택이 아닙니다. 그것은 나머지 모든 데이터가 과연 함께 쓰일 수 있는지를 결정하는 계층입니다.
이 문제는 규제 측면에서도 걸려 있습니다. 배치 기록은 완전하고 추적 가능해야 합니다 — 미국에서는 21 CFR 211.192가 생산·관리 기록을 검토하고 모든 불일치를 완전히 조사하도록 요구합니다 — 그런데 의미가 이름·단위·타임스탬프에서 서로 어긋나는 여러 시스템에 흩어져 있는 기록은 처음부터 끝까지 쉽게 재구성될 수 없습니다. 그 기록 자체는 이 장이 해부하는, 서로 어긋나는 플랜트 정보 시스템(plant information systems) — 히스토리안, MES, LIMS — 에서 나오며, 그 재구성을 제대로 해내는 일의 규제적 무게는 제조 책의 품질, 규제 프레임워크, 그리고 데이터의 역할(quality, the regulatory framework, and the role of data) 장의 주제입니다. 기술 이전(technology transfer)은 이 위험을 가중시킵니다. 한 방법(method)이 사이트 간에 이동할 때, 분석 절차 검증에 관한 ICH Q2(R2) [10]와 분석 절차 개발에 관한 ICH Q14 [11] — 둘 다 2023년 11월 1일에 Step 4로 채택되었습니다 — 는 모두 한 사이트에서 진술된 규격(specification)이 — 단위를 포함하여 — 다음 사이트에서도 같은 것을 의미한다고 전제합니다. 의미적 이질성은 바로 그 전제를 소리 없이 무너뜨립니다.
이 이전(transfer) 사례는 좀 더 들여다볼 가치가 있습니다. 의미론과 운영상의 검증이 충돌하는 자리이기 때문입니다. 스케일업 또는 기술 이전은 개발용 스키드에서 2,000리터 생산 바이오리액터로 공정을 옮기는 일이며, 그 이동은 IQ/OQ/PQ(설치·운영·성능 적격성 평가, Installation·Operational·Performance Qualification — 장비가 제대로 설치되고, 제대로 작동하며, 실제 작업 부하에서 제대로 성능을 내는지를 단계적으로 증명하는 것으로, 컴퓨터화 시스템 검증(validating computerized systems)에서 구축됩니다)와 세척 검증(cleaning validation)이 새 라인을 동등하다고 확립한 뒤에야 승인됩니다. 그러나 적격성 평가는 장비와 세척이 건전함을 증명하지, 두 사이트가 설정값을 같은 방식으로 기술한다는 것을 증명하지는 않습니다. "0.40"으로 이전된 피드 속도가 보내는 사이트에서는 상대적인 용기 부피 대비 1일당 비율이고 받는 사이트에서는 절대적인 시간당 리터 값일 수 있습니다 — 둘 다 내부적으로 유효하고, 어느 쪽도 표시되지 않으며, 그 소리 없는 단위 불일치는 바로 세척 검증과 PQ 실행이 잡아내도록 설계되지 않은 종류입니다. 그것을 실제로 다루는 규율에는 이름이 있고 최근의 전환이 있습니다. 컴퓨터화 시스템 검증(computerized system validation, CSV)은 역사적으로 모든 필드를 획일적으로 테스트하고 문서화했지만, FDA의 위험 기반 컴퓨터 소프트웨어 보증(Computer Software Assurance, CSA) 접근법은 실제로 환자 안전에 영향을 미치는 기능 — 추세선의 색깔이 아니라 중요 공정 파라미터 태그의 단위 — 에 엄격한 스크립트 기반 증명을 집중하며, 그 대비가 컴퓨터화 시스템 검증: GAMP 5와 CSA로의 전환의 주제 전체입니다. 그 둘 모두의 밑바탕에서, 이전된 기록의 무결성은 ALCOA+ 속성(규제 당국의 데이터 무결성 체크리스트 — 데이터가 귀속 가능하고(attributable), 읽을 수 있고(legible), 동시적이며(contemporaneous), 원본이고(original), 정확하며(accurate), 거기에 더해 완전하고, 일관되며, 영속적이고, 가용해야 함)에 비추어 판단되고, 21 CFR Part 11(미국)과 EU GMP Annex 11(EU), 즉 전자 기록·서명 규칙에 의해 법적 구속력을 갖게 됩니다. 이 장이 거듭 돌아오는 불편한 진실은, 어떤 값이 그 자체 시스템 안에서는 모든 ALCOA+ 속성을 충족하면서도 일단 사이트를 가로질러 모이고 나면 의미적으로 틀릴 수 있다는 것입니다 — 정확성은 한 시스템의 틀 안에서 판단되고, 의미론은 그 규칙들이 애초에 단속하도록 쓰이지 않은 시스템 간의 틀이기 때문입니다.
의미적 매핑 레코드의 해부
위의 모든 것은 하나의 구체적인 산물로 수렴합니다. 태그 사전(tag dictionary) 안의 하나의 관리되는 행으로, 하나의 측정값에 대한 이질성을 단번에, 모두를 위해 해소합니다. 그것은 "서로 양립 불가능한 세 기록"을 "하나의 비교 가능한 물리량"으로 바꾸어 놓는 데이터 객체입니다. 이를 해부하면 어떤 사적인 지식이 반드시 적혀야 하는지 — 그리고 그것이 그다음에 어디로 흘러가는지 — 가 정확히 드러납니다.
관리되는 태그 사전의 한 행: 정규 개념을 명명하고, 모든 시스템이 그것을 어떻게 적는지 기록하며, 단위와 시간을 조정하는 규칙을 진술하고, 그 의미가 하류에서 어디에 쓰이는지를 가리킵니다.
저자가 AI의 도움을 받아 직접 제작한 그림입니다.
위에서 아래로 읽으면, 이 레코드는 이 장의 논증 전체를 작동하게 만든 것입니다. canonical_tag_name은 하나의 합의된 이름입니다 — 허용된 용어의 평면 목록이 주는 바로 그것입니다. isa95_position은 그것을 IEC 62264 설비 계층에 놓아, 기계가 단순한 문자열이 아니라 어느 용기인지 어떤 종류의 측정값인지 알게 합니다 [2]. 시스템별 블록은 이질성이 공공연히 드러나는 자리입니다. 히스토리안의 degC 단위 TIC101.PV, MES의 degF 단위 Temperature, LIMS의 K 단위 temp_reactor가 각각 자기만의 타임스탬프 관례와 함께 놓여 있습니다. transformation_rule은 한때 사적이던 지식 — 단위 대수와 시간대 정규화 — 을 적어 두어, 소프트웨어가 사람 없이 적용할 수 있게 한 것입니다. vocabulary_source는 용어와 단위가 어느 표준에 고정되어 있는지를 기록하고, governance_owner와 last_verified_date는 지난 장의 거버넌스 고리입니다. 소유자도 검토 날짜도 없는 매핑은 바로 다음 절이 묘사하는 소리 없는 책임 부담입니다.
이것은 또한 책을 가로지르는 한 갈래의 닻이기도 합니다. 여기서의 정규 이름은 데이터 관리의 추상이지만, 오픈소스 구현에서는 통합 네임스페이스(Unified Namespace) — 현재 상태에 대한 공장의 단일 진실 공급원 역할을 하는 하나의 실시간 계층 구조 — 안의 구체적인 태그가 되어 asset.measurement.role 구조를 띠고, 태그 사전 테이블의 실제 행으로 저장됩니다 — 오픈소스 책의 명명과 통합 네임스페이스(naming and the Unified Namespace) 장의 주제입니다. 거기서부터 같은 사실은 기계가 추론할 수 있는 RDF 트리플로 다시 진술되는데, 평면적 행이 어떻게 추론기가 순회할 수 있는 단언이 되는지를 보여 주는 의미론과 지식 그래프(semantics and knowledge-graph) 장에서 다룹니다. 물리적 산물, 데이터 레코드, 코드 행: 바이오리액터 속 온도 프로브가 이 사전 행이 되고, 그래프 속 트리플이 됩니다.
트리플로 본 매핑 레코드, 그리고 그것을 지키는 게이트
그 "그래프 속 트리플이 된다"는 말은 글자 그대로 만들어 볼 가치가 있습니다. 이 장의 첫 번째 해법이 온톨로지 책이 기반으로 삼는 형식적 장치와 만나는 자리이기 때문입니다. RDF(Resource Description Framework, 데이터를 주어-술어-목적어 트리플(triple), 즉 그래프의 원자적 사실로 기록하는 표준 방식)로 적으면, 정규 태그와 그 측정값들은 표의 칸이기를 그치고 기계가 추론할 수 있는 진술이 됩니다(@prefix 줄은 그저 긴 네임스페이스를 짧은 별칭으로 줄여 줍니다):
# 정규 개념과 그 시스템별 별칭을 RDF 트리플로.
@prefix tag: <https://example.org/tag#> .
@prefix qudt: <http://qudt.org/schema/qudt/> .
tag:bioreactor.BR101.temperature.measured
tag:isa95Position "Site/Area/BR101/Temperature" ;
tag:unit qudt:DegreeCelsius ; # the unit travels WITH the value
tag:aliasHistorian "TIC101.PV" ;
tag:aliasMES "Temperature" ;
tag:aliasLIMS "temp_reactor" ;
tag:governanceOwner "process-data-steward" ;
tag:lastVerified "2026-06-01"^^xsd:date .
그러나 트리플 저장소는 소유자도, 단위도, 검토 날짜도 없는 매핑을 기꺼이 받아들입니다 — 바로 사전 행을 다음 절이 묘사하는 소리 없는 책임 부담으로 바꾸어 놓는 그 빈틈입니다. 빠진 필수 필드를 잡아내는 것은 존재하는 트리플에 대한 질의가 답할 수 있는 문제가 아니라, 존재해야 하는데 존재하지 않는 트리플에 대한 문제이며, 이것이 바로 SHACL(Shapes Constraint Language, 그래프 데이터가 요구되는 구조를 갖췄는지 검증하는 W3C 언어)이 수행하는 닫힌 세계(closed-world) 점검(빠진 필수 사실을 알 수 없음이 아니라 실패로 취급하는 점검)입니다. 셰이프는 출하 규격이 로트를 게이트하듯 모든 매핑을 게이트할 수 있습니다:
# A SHACL shape: every mapping MUST carry a unit, an owner, and a verification date.
tag:MappingShape a sh:NodeShape ;
sh:targetClass tag:Mapping ;
sh:property [ sh:path tag:unit ; sh:minCount 1 ;
sh:message "Mapping has no unit — a number without a unit is meaningless." ] ;
sh:property [ sh:path tag:governanceOwner ; sh:minCount 1 ;
sh:message "Unowned mapping: no steward to catch a drifted convention." ] ;
sh:property [ sh:path tag:lastVerified ; sh:minCount 1 ; sh:datatype xsd:date ] .
소유자 없는 또는 단위 없는 매핑은 이제 누군가 알아차려야 할 빈틈이 아니라 검증 보고서가 됩니다 — 온톨로지 책이 원료의약품 로트의 전체 CQA 패널을 출하 게이트와 SHACL에서 게이트하는 바로 그 장치이며, 거기서는 존재 여부와 카디널리티(sh:minCount/sh:maxCount)가 적합 여부를 결정합니다. 반대 방향 — 어떤 매핑이 재검증 기한을 넘겼는가? — 는 한 줄짜리 SPARQL(RDF의 표준 질의 언어로, 표에 대한 SQL에 해당) 역량 질문(competency question)(데이터가 답할 수 있어야 하는 평이한 질문으로, 합격/불합격 점검으로 실행)이며, 관계와 계보(relations-and-genealogy) 장이 순회하는 derivedFrom 식 traversal과 같습니다:
# CQ: list every mapping not verified since 2026-01-01 — the data steward's overdue queue.
PREFIX tag: <https://example.org/tag#>
SELECT ?mapping ?owner WHERE {
?mapping tag:lastVerified ?d ; tag:governanceOwner ?owner .
FILTER (?d < "2026-01-01"^^xsd:date)
}
그리고 last_verified_date는 단순한 컬럼이 아니라 W3C PROV-O 의미의 출처(provenance)(어떤 활동으로부터 누가 또는 무엇이 사실을 만들어 냈는지를 기록하는 표준 어휘) 엣지입니다. 그 검증은 매핑을 prov:wasGeneratedBy로 검토 활동에 잇고 prov:wasAttributedTo로 그것을 수행한 스튜어드에게 귀속시키므로, 감사자는 날짜만이 아니라 그것을 주장한 행위까지 읽습니다. 평면적 태그 사전 행과, 게이트되고 출처를 지닌 그래프는 두 가지 표기법으로 쓴 같은 레코드입니다 — 완전성을 기계가 보장할 수 있는 체크리스트입니다. 단위를 자유 서술 문자열이 아니라 QUDT 같은 단위 온톨로지에 고정하는 것이 그 보장에 의미를 부여합니다. 철자뿐 아니라 개념(섭씨, 켈빈) 자체가 추론기가 서로 관계 지을 수 있는 대상이 되기 때문입니다.
실제 현장에서는
바이오리액터 온도가 거듭 예로 쓰이는 까닭은 단순하기 때문이지만, 이질성이 가장 매섭게 물어뜯는 곳은 하나의 숫자가 바이러스 안전성 주장을 좌우할 수 있는 하류입니다. Protein A 포획에 뒤따르는 저 pH 바이러스 불활성화 유지(low-pH viral-inactivation hold) — 외피 보유 바이러스를 파괴하는 산성 단계로, 제조 책의 바이러스 불활성화(viral inactivation) 장에서 다룹니다 — 를 예로 들어 봅시다. 그 합격 기준은 pH 3.6 이하, 60분 이상 유지, 통제된 온도라는 세 값의 묶음이며, 그 세 숫자 하나하나가 이질성의 함정입니다. 히스토리안은 유지 pH를 바이오리액터와 같은 degC 대 degF 모호성에 걸린 채 기록할 수 있지만, 더 나쁜 것은 따로 있습니다. 여기서 시간의 불일치는 반올림 오류가 아니라 안전성 실패입니다. MES가 유지 시작을 공장 현지 시각으로 기록하고 히스토리안이 pH 추세를 UTC로 타임스탬프하면, 순진한 결합은 실제와 한 시간 어긋난 유지 지속시간을 계산할 수 있습니다 — 실제로는 놓친 60분 요구사항을 통과시키거나, 실제로는 충족한 요구사항을 실패로 만들 만큼 충분히 어긋난 것입니다. 같은 Protein A 단계의 풀링 윈도 컷 포인트(pooling-window cut points)(밀리흡광도 단위의 두 UV 트레이스 임계값으로, 그 사이에서 용출 피크가 제품으로 수집됩니다)는 크로마토그래피 데이터 시스템이 자기만의 태그 방식으로 기록하고, LIMS는 그 결과로 나온 풀의 숙주세포단백질 결과를 ng/mg로 기록하며, 히스토리안은 실시간 UV 트레이스를 mAU로 보유합니다 — 세 시스템, 하나의 정제 결정, 그리고 바이오리액터가 보여 준 바로 그 명명·단위·타임스탬프 간극이, 이제 한 로트와 그 바이러스 제거·불순물 제거 주장 사이를 가로막고 서 있습니다. 하류는 바로 "깔끔한 데이터가 곧 연결된 데이터는 아니다"가 추상이기를 그치는 자리입니다. 각 시스템의 기록은 내부적으로 유효하지만, 안전성에 관련된 조합은 그 무엇도 자동으로 조정해 주지 않는 대상입니다.
이것은 이론이 아닙니다. ISA-95는 비즈니스-공장 통합의 사실상의 참조 모델로서, 기업 시스템과 제조 시스템 사이의 인터페이스가 기반으로 삼는 공유 객체 정의와 용어를 공급합니다 [2]. 그리고 앨로트로프 재단의 공유 온톨로지는, 어느 두 장비도 같은 방식으로 기술하지 않던 실험실 데이터에 대한, 제약 산업의 살아 있는 대응입니다 [8]. 산업 온톨로지 파운드리는 이 공유 모델에 한 번만 매핑하는 방식을 벤더와 기업을 가로질러 실용적으로 만들기 위해, BFO 토대 위에 제조 참조 온톨로지를 구축하고 있습니다 [3][4]. 공유된 의미 계층은 이 장이 정리한 구체적 이질성을 정조준합니다. 한 파트너에서는 TIC101.PV로, 다른 파트너에서는 temp_reactor로 보고하는 센서를 하나의 합의된 속성으로 조정하고, 화씨 필드와 켈빈 필드를 단일한 섭씨 물리량으로 해소하며, EQ-00457 자산 태그와 BR101 라벨을 같은 용기로 인식하고, epoch·현지·UTC 타임스탬프를 하나의 시각으로 정규화합니다 — 그리하여 질문을 한 번 던지면 조직 경계를 넘어 답을 얻을 수 있게 됩니다. 작동하게 된 FAIR 상호운용성 원칙입니다 [1].
아직 풀리지 않은 문제: 소리 없는 의미 표류
표준, 사전, 온톨로지는 의미를 표현 가능하게 만듭니다. 그러나 의미를 그 자리에 머물게 하지는 못합니다. 이 데이터 흐름에서 가장 어려운 미해결 문제는 매핑을 구축하는 일이 아니라 — 매핑이 조용히 참이 아니게 된 순간을 탐지하는 일입니다.
실제로 일어날 법한 실패를 떠올려 보세요. 한 회사가 두 사이트에서 같은 공정을 운영하고, 모든 온도를 절대 섭씨로 정규화하는 클라우드 레이크에 데이터를 모읍니다. 1년 동안 자매 사이트의 바이오리액터 히스토리안은 본사 사이트와 같은 방식으로 온도를 보고하고, 모인 데이터는 깔끔합니다. 그러다 계측기가 교체되고, 새 장치의 설정 — 지역 관례를 따르는 현지 엔지니어가 지정한 — 이 온도를 절대 섭씨가 아니라 지역 오프셋으로 보고하게 됩니다. 문서화되지 않은 1도의 이동입니다. 파이프라인에서는 아무것도 깨지지 않습니다. 숫자는 여전히 숫자이고, 여전히 그럴듯하며, 여전히 범위 안입니다. 히스토리안이 검증되고, MES가 검증되며, 클라우드 정규화기는 옛 규칙을 충실히 적용하고, 그리하여 모인 데이터셋은 그 사이트에 대해 소리 없이 1도 차갑습니다 — 중요 공정 파라미터(critical process parameter)의 1도 오류로, 두 사이트의 배치를 소리 없이 더 이상 비교할 수 없게 만들지만, 어느 단일 시스템의 어떤 품질 검사도 볼 수 없는 오류입니다. 각 시스템이 내부적으로 일관되기 때문입니다. 그 결함은 시스템들 사이의 간극에, 앞서 그 엉킴이 그것을 숨겨 둔 바로 그 자리에 살고 있습니다. 그것은 오직 감사 때, 조사관이 배치를 처음부터 끝까지 재구성하여 일치해야 할 두 사이트가 1도만큼 어긋나 있음을 발견할 때에야 비로소 드러납니다.
의미 표류는 모델 표류의 데이터 관리 쌍둥이다
위의 1도 실패는 데이터 문제일 뿐만 아니라 — 머신러닝 모델을 소리 없이 망가뜨리는 바로 그 메커니즘이며, 둘을 하나의 문제로 보는 것이 ML 책의 방법들이 여기에 적용되는 길입니다. 모인 데이터로 훈련된 모델은 입력과 답 사이의 관계를 학습하는데, 표류한 사이트는 입력이 어떻게 보이는지는 바꾸지 않은 채 입력이 무엇을 의미하는지를 바꾸어 놓았습니다. ML 책은 그 변화에 두 가지 정확한 이름을 붙입니다. 공변량 이동(covariate shift)은 밑바탕의 물리는 그대로인데 입력의 분포가 옮겨가는 것으로 — 입력 분포를 지켜봄으로써, 가령 인구 안정성 지수(Population Stability Index)로, 라벨 없이 탐지할 수 있습니다. 개념 표류(concept drift)는 위험한 쌍둥이입니다. 입력은 멀쩡히 정상으로 보이는데 입력과 답 사이의 관계가 바뀌므로, 느린 실측 자료(ground truth)가 도착해야만 잡힐 수 있는 — 지연된(lagging) 발견입니다. 바뀌지 않은 태그 이름 아래에서 절대 섭씨가 오프셋으로 뒤집히는 관례는 깔끔한 숫자로 위장한 개념 표류이며, MLOps와 생애주기(MLOps and lifecycle) 장은 바로 이것을 사냥하는 잔차 관리도와 표류 탐지기를 구축합니다.
두 가지 ML 규율이 이질성 목록에서 곧장 따라 나옵니다. 첫째, 데이터 누수(data leakage)입니다. 모인 다중 사이트 데이터로 출하 예측 모델을 훈련하면서 배치 단위가 아니라 행 단위로 분할하면, 거의 동일한 이웃 행들이 — 더 나쁘게는, 같은 물리적 사실을 숨은 매핑으로 조정한 두 사이트의 기록이 — 학습과 테스트 양쪽에 들어가, 보고된 정확도를 진정으로 새로운 배치에서 무너지는 수치로 부풀립니다. 그 해법이 그룹(배치 단위 leave-one-batch-out) 교차검증(grouped cross-validation)(한 배치의 모든 행을 학습에서 빼고 그 보지 못한 배치에 대해서만 채점하는 것)이며, 모델과 검증(models and validation) 장은 정직한 분할만이 인정 가능한 유일한 것인 이유를 보여 줍니다. 둘째, 적용 범위(applicability domain)입니다. 모델은 그것이 훈련된 입력 영역(세포주, 규모, 원자재 로트)에서만 유효하며, 의미적으로 표류한 피드는 바로 그 영역 바깥으로 조용히 벗어난 입력입니다 — 공정이 그 한계를 벗어남을 알리는 바로 그 이동이, 모델이 이제 외삽하고 있다는 신호입니다. 그리고 이 장이 매핑 레코드에 단 거버넌스 고리는 배포된 모델이 필요로 하는 바로 그것입니다. 모델의 계보(lineage) — 어느 고정된 데이터셋이 그것을 훈련했는지, 누가 승급했는지, 마지막으로 언제 재검증되었는지 — 는 태그가 아니라 학습된 산물에 적용된 governance_owner와 last_verified_date 규율 그 자체입니다. 규제 대상 모델은 잠그고-다시-학습(locked-then-relearn)(생산에서 동결되어 그 자리에서 결코 수정되지 않고, 모든 재학습이 사전 결정 변경 관리 계획(PCCP)을 따라 새로운 검증된 버전을 만들어내는 것)이므로, 그 밑에서 소리 없이 표류하는 매핑은 다음 재학습이 학습하는 데이터를 오염시킵니다 — 의미적 상호운용성은, 조용히, 별개의 관심사가 아니라 신뢰할 수 있는 ML의 전제 조건입니다.
이것이 의미 표류이며, 진정 어려운 까닭은 우리가 가진 통제가 다른 실패 양상을 위해 만들어졌기 때문입니다. ISPE GAMP 5는 그 데이터 무결성 지침에서 무결성을 ALCOA+ 속성 — 규제 당국의 데이터 무결성 체크리스트(귀속 가능하고(attributable), 읽을 수 있고(legible), 동시적이며(contemporaneous), 원본이고(original), 정확하며(accurate), 거기에 더해 완전하고(complete), 일관되며(consistent), 영속적이고(enduring), 가용한(available)) — 과 데이터 수명 주기를 중심으로 틀 짓습니다. 그러나 그 자체 시스템 안에서 귀속 가능하고, 읽을 수 있고, 동시적이며, 원본이고, 정확한 값도 일단 모이고 나면 의미적으로 틀릴 수 있고, GAMP 5는 안정된 이름 아래에서 바뀌는 관례를 위한 자동 탐지기가 아니라 프로세스 규율을 제공합니다 [9]. ICH Q2(R2)는 규격이 — 단위를 포함하여 — 사이트 간에 같은 것을 의미한다고 전제하지만 — 표류가 위반하는 바로 그 전제입니다 — 그것을 어떻게 지속적으로 검증할지는 규정하지 않습니다 [10]. 그리고 21 CFR 211.192는 일단 발견된 불일치를 조사하도록 의무화하지만, 그것이 기록 검토에 이르기 전에 발견하는 것에 대해서는 아무 말도 하지 않습니다. 앞 절의 매핑 레코드가 우리가 가진 최선의 방어책입니다 — 그 last_verified_date와 governance_owner는 표류한 관례가 붙잡힐 자리를 갖도록 바로 그 목적으로 존재합니다 — 그러나 재검증은 여전히 사람이 하는 주기적 행위이지 보장이 아닙니다. 이 간극을 메우는 일, 즉 어떤 스트림의 의미가 바뀔 때 발화하는 기계 검증 가능한 제약으로 메우는 일은 미해결 과제입니다. 오픈소스 책의 의미론과 지식 그래프(semantics and knowledge-graph) 장은 예상되는 관계를 부호화하여 추론기가 위반을 표시할 수 있게 하는 한 방향을 보여 주지만, 소리 없는 표류를 소리 나게 만드는 산업 전반의 해법은 아직 없습니다.
핵심 용어
- 상호운용성(Interoperability) — 별개의 시스템들이 함께 작동하는 능력.
- 구문적 상호운용성(Syntactic interoperability) — 데이터 형식에 대한 합의: 메시지가 파싱되고 필드가 들어맞음.
- 의미적 상호운용성(Semantic interoperability) — 데이터 의미에 대한 합의: 두 값이 같은 종류의 실세계 대상을 기술한다는 것을 양쪽이 앎.
- LCIM(개념적 상호운용성 수준 모델, Levels of Conceptual Interoperability Model) — 기술적 연결에서부터 구문적·의미적 수준을 거쳐 화용적·동적·개념적 수준에 이르기까지 상호운용성을 명명하는 계층적 모델.
- 의미적 이질성(Semantic heterogeneity) — 같은 대상이 시스템과 사람에 따라 다르게 명명되고 개념화될 때 생기는 간극.
- 랭글링(Wrangling) — 데이터를 분석할 수 있기 전에 이름, 단위, 식별자, 타임스탬프를 수작업으로 맞추는 일.
- 점대점 매핑(Point-to-point mapping) — 시스템 쌍마다 두는 별도의 의미 변환기; n² 문제를 겪음.
- 참조 데이터(Reference data) — 한 필드가 가질 수 있는 표준적이고 승인된 값들의 집합.
- 통제 어휘(Controlled vocabulary) — 정의가 딸린, 관리되는 합의 용어 목록.
- UCUM(측정 단위 통합 코드, Unified Code for Units of Measure) — 단위를 값과 함께 실어 나르는 기계 판독 가능 코드 체계로, 소프트웨어가 사람 없이 섭씨/화씨/켈빈을 정규화할 수 있게 함.
- 온톨로지(Ontology) — 어떤 도메인 내 개념들과 그들 사이의 관계에 대한 형식적이고 기계가 읽을 수 있는 모델.
- 최상위 / 상부 온톨로지(Top-level / upper ontology) — 도메인 온톨로지들이 상속받는, 가장 일반적인 범주들의 작고 도메인 중립적인 집합.
- BFO(기초 형식 온톨로지, Basic Formal Ontology, ISO/IEC 21838-2) — 이질적인 시스템들 사이의 데이터 통합을 지원하도록 구축된 표준화된 최상위 온톨로지.
- IOF(산업 온톨로지 파운드리, Industrial Ontologies Foundry) — 제조를 위한 공유되고 BFO에 기반한 참조 온톨로지를 구축하는 커뮤니티.
- IOF 코어 온톨로지(IOF Core Ontology, IOF Core) — 이질적인 제조 시스템들이 매핑할 하나의 공유 모델을 제공하는, IOF의 BFO에 기반한 중간 수준 온톨로지.
- 태그 사전(Tag dictionary) — 각 행이 하나의 정규 개념을, 모든 시스템이 그것을 어떻게 명명·단위화·타임스탬프하는지에 매핑하고, 변환 규칙과 유지·관리하는 소유자를 함께 담는 관리되는 표.
- 의미 표류(Semantic drift) — 이름은 바뀌지 않았는데 한 시스템의 관례가 바뀌어 매핑이 소리 없이 참이 아니게 되는 것; 그 값은 내부적으로는 유효하지만 더 이상 모인 모델이 가정하는 것을 의미하지 않음.
- RDF / 트리플(triple) — Resource Description Framework, 데이터를 주어-술어-목적어 트리플, 즉 그래프의 원자적 사실로 쓰는 표준 방식.
- SHACL(Shapes Constraint Language) — 그래프를 요구되는 구조에 비추어 닫힌 세계로 검증하는 W3C 언어로, 빠진 필수 필드(단위나 소유자 없는 매핑)가 알아차려지지 못한 빈틈이 아니라 검증 보고서가 되게 함.
- SPARQL / 역량 질문(competency question) — RDF의 표준 질의 언어(표에 대한 SQL에 해당)로, "어떤 매핑이 재검증 기한을 넘겼는가?" 같은 평이한 질문을 합격/불합격 점검으로 실행함.
- PROV-O 출처(provenance) — 어떤 활동으로부터 누가 또는 무엇이 사실을 만들어 냈는지를 기록하는 W3C 어휘;
last_verified_date는 그것을 주장한 검토로 거슬러 잇는prov:wasGeneratedBy엣지가 됨. - QUDT — 단위(섭씨, 켈빈)를 철자가 아니라 추론기가 서로 관계 지을 수 있는 개념으로 고정하는 단위 온톨로지로, 값이 그 단위의 의미를 함께 지니게 함.
- 공변량 이동(covariate shift) 대 개념 표류(concept drift) — 입력 분포가 옮겨가는 것(라벨 없이 탐지 가능) 대 입력이 정상으로 보이는 채 입력-답 관계가 바뀌는 것(느린 실측 자료로만 잡힘); 소리 없는 의미 표류는 깔끔한 숫자를 두른 개념 표류임.
- 데이터 누수(data leakage) / 그룹(배치 단위 leave-one-batch-out) 교차검증 — 테스트의 정보가 학습으로 새어 들어 모델의 보고된 정확도를 부풀리는 것; 그 해법은 보류된 데이터를 행 단위가 아니라 배치 단위로 분할하여 거의 동일한 행들이 새어 들지 못하게 함.
- 적용 범위(applicability domain) — 모델이 입증된 입력 영역(세포주, 규모, 원자재 로트); 의미적으로 표류한 입력은 조용히 그 바깥으로 벗어나 모델을 외삽하게 만드는 것.
- 잠그고-다시-학습(locked-then-relearn) / PCCP — 배포된 모델을 생산에서 동결하여 그 자리에서 결코 수정하지 않고, 모든 재학습이 사전 승인된 사전 결정 변경 관리 계획을 따라 새로운 검증된 버전으로 승급되는 것; 소리 없이 표류한 매핑은 다음 재학습의 데이터를 오염시킴.
- ALCOA+ — 규제 당국의 데이터 무결성 체크리스트(귀속 가능·읽을 수 있음·동시적·원본·정확, 거기에 완전·일관·영속·가용); 어떤 값이 한 시스템 안에서 모든 속성을 충족하고도 일단 사이트를 가로질러 모이면 의미적으로 틀릴 수 있음.
- IQ/OQ/PQ — 설치·운영·성능 적격성 평가로, 이전되거나 스케일업된 시스템이 제대로 설치·작동·성능을 내는지를 단계적으로 증명하는 것; 두 사이트가 설정값을 같은 방식으로 기술한다는 것까지 스스로 증명하지는 않는 장비 검증.
- CSV 대 CSA — 컴퓨터화 시스템 검증의 모든 것을 획일적으로 테스트하는 자세 대, 환자 안전에 영향을 미치는 기능(중요 파라미터 태그의 단위)에 엄격한 증명을 집중하는 FDA의 위험 기반 컴퓨터 소프트웨어 보증.
이 다음은
우리는 필연에 의해 온톨로지라는 단어에 도달했습니다. 평면적 어휘는 이름과 단위는 바로잡지만, 의미가 실제로 의존하는 관계는 담아낼 수 없기 때문입니다. 다음 장 온톨로지와 FAIR 데이터(Ontologies and FAIR Data)는 그 개념을 바닥에서부터 쌓아 올립니다 — 클래스(class)와 관계(relation)란 무엇인지, BFO와 IOF 스택이 어떻게 맞물리는지, 앨로트로프의 AFO와 IOF 바이오파마(Biopharma) 온톨로지가 이를 우리 분야에 어떻게 적용하는지, 그리고 FAIR 원칙이 이 모든 것을 의미의 철학에서 데이터 관리의 작동하는 규율로 어떻게 바꾸어 놓는지를 다룹니다.