- Machine Learning
편집자 주: 이 프레젠테이션은 Rob Schley, Dr. Alessandro Negro 및 Christophe Willemsen이 진행했어요. GraphConnect 뉴욕시 2018년 9월
프레젠테이션 요약
간단한 철학적 배경을 따라가면서 Rob Schley는 데이터를 정량화 가능한 변화를 불러일으키는 진정한 지혜로 전환하는 과정을 탐구하면서 Hume의 핵심을 탐구해요.
Alessandro Negro 박사는 다음을 포함하는 Hume의 프로세스 단계를 설명합니다.
- Machine Learning
- 데이터 indexing
그런 다음 우리는 이 분야의 주요 문제를 이해하기 시작하는데, 즉, 수신자가 이해하기 쉽도록 철저하고 쉬운 방식으로 지식을 가장 잘 표현하는 방법은 무엇일까요?
우리가 탐험할 때 지식 학습 및 구축, 우리는 품질과 모델링의 중요성을 깨닫기 시작해요. Christophe Willemsen은 지식을 모델링하는 방식이 최종 결과의 품질에 어떤 영향을 미치는지 설명하죠.
우리는 이러한 노력에 도움이 되는 다음과 같은 다양한 도구를 가지고 있어요: Named Entity Recognition, 엔터티 및 개념 강화, 농축 청소 and 주제 모델링.
마지막으로 자세히 살펴보겠습니다. Neo4j의 성능이 어떻게 3배나 빨라졌는지 한번 알아볼까요?
전체 프레젠테이션
롭 슐리: 세상은 지식이 풍부하고 통찰력 있으며 믿을 수 없을 정도로 현명한 사람들로 가득 차 있어요. 그들은 평생 동안, 어떤 경우에는 시간이 지남에 따라 자신의 기술을 배우고, 적용하고 개선하는 데 바쳤죠.
우리 모두는 인간의 지식, 통찰력, 지혜 전체를 효과적으로 소유하고 있어요.
안타깝게도 우리는 지식과 지혜를 서로 직접 공유할 수 있는 기술을 보유하고 있지 않아요. 예를 들어, 저는 제 뇌에 있는 것을 당신의 뇌로 복사할 수 없어요.
우리가 지식을 공유하려면 의사소통이 필요해요. 그리고 우리는 이미 그렇게 할 수 있는 수많은 방법을 고안했죠. 우리는 말에서 문어, 백과사전, 책, 라디오, TV로 발전했어요. 우리는 세상이 어떻게 돌아가는지에 대한 정보를 공유하기 위해 이 모든 것을 성취했어요.
인간은 창의적인 종이지만 단지 재미로 한 것이 아니라 의사소통이 어려워서 이 일을 한 거예요. 대규모 의사소통은 특히 어렵죠.
배경이나 교육 수준이 다르기 때문에 정보 공유가 어려워요. 우리는 동일한 경험, 관점 또는 편견을 공유하지 않아요. 그리고 우리가 공유할 때마다 항상 처음부터 시작해야 해요.
우리가 서로 정보를 공유하면 실제로 지식이 줄어들어요. 높은 충실도로 공유할 수 없기 때문에 성능이 저하되죠. 우리의 지식은 출판사에 보내져 책으로 출판되는 텍스트 문서가 돼요. 우리 마음 속의 모든 뉘앙스, 세부 사항 및 상호 연결성은 이러한 통신 매체를 통해 전달되지 않아요.
그럼 우리는 무엇을 해야 할까요?
지식을 효과적으로 공유하는 것은 그리 어렵지 않아야 해요. 언젠가는 내 마음속에 있는 아이디어를 복사해서 다른 사람과 공유할 수 있는 기술을 갖고 싶어요.
거기에 도달할 때까지 이 모든 정보를 수집하고 사람들이 매일 사용할 수 있도록 더 쉽게 접근할 수 있도록 할 수 있는 방법이 없을까요? 이것이 Hume의 원동력이에요.
Hume은 2년간의 연구 개발의 결실이에요. 우리는 Hume이 우리가 정보에 상호 작용하고, 액세스하고, 이에 따라 행동하는 방식에 극적인 영향을 미칠 것이라고 믿어요.
알레산드로 네그로: 아래 이미지부터 시작해볼게요.
데이터를 훨씬 더 많은 통찰력과 지혜가 담긴 뭔가 다른 것으로 변환하는 진화 경로를 보여주기 때문에 저는 이 그림을 좋아해요.
우리는 지난 5년 동안 데이터 기반 애플리케이션에 관해 많은 이야기를 나눴어요. 원래 성격의 데이터는 회사에 실질적인 가치를 제공하지 않기 때문에 쓸모가 없죠.
그 자체로는 데이터가 부족해요. 이는 많은 데이터 사일로와 데이터 소스에 분산되어 있으며 구조화되어 있지 않아요. 즉 유용한 정보를 얻을 수 없는 혼란스러운 상황이에요.
데이터를 변환하고 수집하고 정리하면 결과가 나오죠. 그러나 지식에 비해 정보 자체는 쓸모가 없어요. 정보에서 지식으로 전환하는 것은 어려운 작업이며 품질의 변화를 의미하므로 많은 노력이 필요해요.
지식은 연결된 정보이므로 지식을 얻으려면 정보 사이의 점을 연결해야 해요.
일단 지식을 얻으면 데이터에 의미를 부여할 수 있어요. 이 시점에서 마침내 데이터로부터 통찰력과 지혜를 얻게 돼요. 이렇게 하면 상대적으로 쓸모없는 것부터 시작하더라도 실제 지식을 얻을 수 있는 상황에 도달할 수 있죠.
지혜에서 다른 지식을 추출할 수 있어요. 이 방법은 회사가 더 나은 제품을 제공하고, 생산 체인을 분석하거나, 최종 사용자에게 향상된 서비스를 제공할 수 있는 방법을 주도해요.
이 정확한 아이디어를 염두에 두고 우리는 아래에 보이는 Hume 처리 파이프라인을 설계했어요.
여기에서는 어디에 있든 데이터를 통찰력과 지혜로 변환하는 과정을 찾을 수 있어요. 다음 단계에는 데이터를 통해 학습하고 회사에 도움이 되는 구체적인 조치를 취하는 것이 포함돼요.
데이터 수집
첫 번째 단계는 데이터 소스에서 데이터를 수집하는 거예요. 데이터를 사전 처리하고 정리를 시작하세요.
텍스트 데이터부터 시작해볼게요. 텍스트 데이터는 일반적으로 구조화되지 않은 데이터로 간주되지만 이는 사실이 아니에요. 텍스트에는 단어, 문법, 어휘 및 텍스트 뒤에 있는 기타 구성 요소 간의 관계와 관련된 많은 구조가 있어요.
데이터 추출
두 번째 단계에서는 텍스트 데이터의 숨겨진 구조를 추출하고 기계가 처리할 수 있도록 구성해야 해요.
하지만 이 단계만으로는 충분하지 않을 때도 있어요. 때로는 우리가 가진 데이터가 특정 프로세스를 수행하기에 적절하지 않을 수도 있거든요. 필요한 데이터 셋 자체가 아닐 수도 있고요.
강화 프로세스를 통해 외부 소스를 도입해서 우리가 가진 비즈니스 지식을 확장할 수 있어요. 이 과정을 거치면 결과적으로 더 많은 통찰력을 얻을 수 있죠.
외부 지식을 활용하거나, 이미 가지고 있는 데이터를 처리해서 다른 지식을 추출하는 방법도 있답니다.
예를 들어볼게요.
서로 다른 문서를 분석하고 문서 간의 유사성을 계산한다고 가정해 봐요. 이건 우리가 모르는 영역 밖의 이야기가 아니죠. 이미 우리 안에 있는 정보니까요. 단지 새로운 정보, 즉 문서 간의 유사성을 추출하기 위해 데이터를 처리하는 것뿐이에요.
Machine Learning
이런 프로세스는 데이터를 탐색하는 데 정말 유용해요. 이렇게 얻은 지식은 저장하고 관리해야겠죠? 프로세스가 끝나면 데이터에 대한 실제 통찰력을 제공하는 Machine Learning 도구를 적용할 수 있게 돼요.
데이터 인덱싱
그리고 이 데이터에 대한 접근성을 제공해야 하니까, 데이터를 인덱싱하는 과정도 필요해요. 이제 통찰력을 제공할 준비가 된 거죠!
통찰력 전달
통찰력은 관리자를 위한 새로운 종류의 보고서가 될 수도 있고, 추천 엔진이 될 수도 있어요. 중요한 건 초기 데이터와 관련이 있어야 한다는 점이죠.
이 진화 경로에는 아래에 언급된 두 가지 주요 문제가 있어요.
가장 먼저 마주치는 문제는 새로운 지식을 배우는 과정 자체예요. 데이터에서 수집한 정보를 기반으로 지식을 어떻게 구성해야 할까요?
두 번째 문제는 이 지식을 어떻게 표현할 것인가 하는 점이죠.
지식 학습 및 구축
Machine Learning을 다루는 분들은 "표현(representation)"이 이 분야에서 가장 큰 문제 중 하나라는 걸 아실 거예요. 특히 지식 표현은 정보가 구성되는 방식을 설명하기 때문에 가장 복잡하고 매력적인 작업 중 하나랍니다. 자율 시스템이 지식에 대해 복잡한 작업을 수행할 수 있도록 만들어야 하니까요.
이런 방식으로 지식을 모델링하는 수단은 최종 결과의 품질에 큰 영향을 미쳐요.
Hume에서는 지식을 표현하는 방법으로 Knowledge Graph라는 더 넓은 개념을 사용하기로 결정했어요. Knowledge Graph를 Property Graph에서 RDF를 표현하는 방법으로 생각하는 거죠.
저희는 Knowledge Graph를 관련 속성을 가진 상호 연결된 엔터티 집합으로 보고 있어요. 결국 정보 항목 간의 다양한 유형의 관계를 나타내는 방법을 생각해 낸 거죠.
이 아이디어는 아래에 다시 표시된 이전 이미지와 일맥상통해요.
지식은 정보에 의미를 부여하는 연결된 점일 뿐이라고 생각해요.
이런 진화 경로에서 Knowledge Graph는 인공지능(AI) 구현 경로의 핵심을 나타내기 때문에 정말 중요한 역할을 해요. 우리가 지식을 바탕으로 구축하는 모든 것은 Knowledge Graph 위에서 이루어지니까요.
자, 여기서부터가 정말 흥미로운 부분이에요. 바로 이 Knowledge Graph를 만드는 거죠! 아래 다이어그램에서 볼 수 있듯이, 저희 아이디어는 텍스트 또는 구조화된 데이터에서 검색할 수 있는 정보에서 시작하는 Knowledge Graph를 만드는 거예요. 그리고 각 프로세스를 거치면서 이 Knowledge Graph를 성장시켜 나가는 거죠.
이건 반복적인 프로세스인데, 그 결과로 얻는 건 정말 다양하게 활용될 수 있어요. 예를 들어, 벡터를 내보낼 수도 있고요. 다른 Machine Learning 도구를 사용해서 이 벡터를 처리하는 방법도 여러 가지가 있답니다.
그리고 여러분이 가진 Knowledge Graph와 동일한 데이터에 대한 뷰를 제공하는 다른 유형의 문서를 내보낼 수도 있어요. Elastic Search 같은 엔터프라이즈 검색 엔진이나 Semantic Search를 제공하는 도구에 저장하는 거죠.
데이터를 시각화하면 사람들이 보고 있는 데이터 세트에 대해 훨씬 더 잘 이해할 수 있게 돼요. 이미 점들을 연결해 놨기 때문에, 데이터 세트를 살펴보면서 다른 Machine Learning 도구로는 얻을 수 없는 인사이트를 발견할 수 있는 거죠.
마지막으로, 아래와 같은 그래프가 있다고 가정해 볼게요.
이건 아주 단순화된 버전이에요. 하지만 여기서 중요한 건, 여러분의 Knowledge Graph에는 활용 가능한 탐색 패턴이 정말 많다는 거예요. Knowledge Graph 형태로 지식을 저장하기 시작하면, 모든 단일 지점 (Node) 과 관계 (Relationship) 가 분석, Query 또는 조사를 위한 잠재적인 액세스 지점 역할을 하게 되죠.
특정 주제에서 시작해서, 그 주제에 대한 일반적인 감정이 어떤지 물어볼 수도 있어요. 바로 Hume에서 우리가 이루고 싶은 목표가 이런 거랍니다.
Christophe가 이 부분에 대해 더 자세히 설명하고, 우리 플랫폼이 어떻게 데이터를 쉽게 시작해서 궁극적으로 Knowledge Graph를 구축할 수 있는 올바른 도구 세트를 제공하는지 보여줄 거예요.
크리스토프 빌렘센: 저는 Natural Language Processing 기능 강화와 결과 그래프에 적용할 수 있는 Machine Learning 알고리즘 유형에 집중할 거예요.
데이터 수집을 시작하면, 아래 이미지처럼 단순화된 버전으로 표현할 수 있어요.
이 그래프는 Natural Language Processing의 첫 번째 단계를 거친 모습이에요.
동일한 문서의 Natural Language Processing (NLP) 뷰의 진입점을 나타내는 문서와 주석이 달린 텍스트가 있어요. 이러한 주석은 원래 도메인을 방해하지 않죠.
그 다음 문서에 포함된 문장, 항목 (Item) 및 단어가 있어요. 태그는 토큰이자 엔터티 (Entity) 이죠.
엔터티의 품질은 정말 중요해요. 왜냐하면 엔터티는 사람이나 조직 같은 실제 개념을 나타내기 때문이죠.
확률 모델에 의존할 수 있지만, 엔터티가 100% 정확할 수는 없어요. 잘못된 결과가 항상 나올 수 있다는 의미이고, 실제로도 항상 발생하죠.
문제는 엔터티의 품질이 그래프에 적용될 모든 추가 단계의 품질을 결정한다는 점이에요.
또 하나 주의해야 할 점은, 조직과 위치가 잘못된 맥락에서 인식되지 않도록 하는 거예요. 대표적인 예가 "아마존"이죠. 어떤 의미에서는 회사를 의미하기도 하고, 다른 의미에서는 남미의 열대 우림을 의미하기도 하잖아요. 잘못된 엔터티가 있으면 그래프 분석이나 이 그래프의 사용에 문제가 생길 수 있어요.
명명된 엔터티 인식 (Named Entity Recognition)
이것이 엔터티의 품질이 중요한 이유에요. 기본적으로 Natural Language Processing 도구는 일반 엔터티 인식 모델을 제공하는데요. 여기에는 사람, 위치, 조직, 돈, 숫자 또는 날짜와 시간이 포함되고, 이는 모든 도메인에 적용되기 때문에 모두 매우 일반적이죠.
Hume에는 여러분의 도메인을 기반으로 모델을 훈련할 수 있는 기능이 있어요.
이건 정말 필수적이에요. 예를 들어 보험업에 종사하는 경우 사고 원인을 파악해야 하잖아요. 또는 금융 분야에 종사하는 경우 일반 모델보다 스타트업이나 회사 이름을 더 효율적으로 인식해야 하고요.
의료 분야도 매우 구체적인 영역인데요. 왜냐하면 한 의료 영역에서는 약물이 유익할 수 있지만 다른 영역에서는 해로울 수 있기 때문이에요.
따라서 훌륭한 엔터티 인식 모델을 갖는 것이 매우 중요하죠. Hume에서는 일반 엔터티 인식 모델을 기반으로 Stanford LLP의 기능을 사용하고, 우리 자체 모델을 훈련시킬 수도 있어요. 그런데 이렇게 하면 항상 노이즈가 발생하더라고요.
그래서 실제로 엔터티가 나타나는 텍스트의 맥락을 기반으로 Deep Learning 기반 모델인 Word2Vec ()을 결합해서 노이즈를 제거하는 기술을 찾아냈어요.
예를 들어 Word2Vec은 단어나 엔터티의 벡터 표현을 반환하는데요. 이 벡터 표현을 얻은 후에는 수학 연산을 적용할 수 있어요.
우리가 적용할 수 있는 연산 중 하나는 코사인 유사성이에요. 이는 벡터 간의 거리를 정확하게 계산하는 데 있어서 잘 알려진 유사성이죠. 또한 상황과 관련 없는 단어나 개체를 제거해준답니다.
엔터티 인식
장점은 코사인 유사성이 매우 복잡한 도메인 모델에서 99%의 정밀도를 달성한다는 점이에요.
다음은 애플리케이션의 예와 해당 엔터티가 중요한 이유에요.
제 사용자가 문서에 매우 쉽게 액세스할 수 있기를 바라는데요. 문서에서 위치나 지리적 위도 및 경도 지점을 나타내는 엔터티를 추출하는 거죠.
위치(아래 참조)인 경우 지리위치 API(Application Programming Interface)를 사용할 수 있어요. 이는 Google API일 수 있으며 그래프에 저장되죠.
With , 이제 사용자가 지도를 클릭하고 클릭한 곳에서 약 100마일 떨어진 곳에 위치한 개체를 언급하는 문서를 찾는 것이 매우 쉬워요. 이는 비즈니스 담당자가 문서를 검색하는 매우 쉬운 방법을 제공하죠.
엔터티 및 개념 강화
하지만 엔터티 인식은 그래프를 풍부하게 하는 유일한 문제도 아니고 유일한 방법도 아니에요.
Wikidata 또는 ConceptNet 5와 같은 외부 Knowledge Graph를 사용할 수도 있어요. Wikidata는 엔터티를 강화하는 기능을 제공하는데요. 아마존은 기업이지만 열대우림이기도 함을 발견할 수 있죠. ConceptNet 5를 사용하면 Secret이 장치이고 샌프란시스코가 캘리포니아에 위치한다는 사실을 이해할 수 있고요.
문서 간의 그래프에 새 연결을 만들 수도 있어요. 예를 들어, 샌프란시스코의 문서와 로스앤젤레스의 문서를 취하는 경우 엔터티가 두 문서를 연관시킬 것으로 인식하는 것은 아무것도 없죠.
그러나 외부 지식을 활용하면 미국 캘리포니아와 새로운 인연을 맺을 수 있어요. 그러면 자동으로 그래프가 풍부해지고 공유된 연결된 데이터, 문서에 대한 지식을 향상시키죠.
대략 아래와 같은 그래프에 도달하게 될 거예요.
위 그래프를 보면 태그, 토큰, 단어 등을 장치로 인식할 수 있다는 걸 알 수 있어요. 다른 장비의 일부인 지역이나 장비에 위치한 도시도 인식하고요.
이걸 수백, 수천, 수백만 개의 문서로 가져오면 연결된 데이터가 엄청 많아지겠죠? 문서의 그래프 분석만을 기반으로 서비스를 제공할 수도 있고요.
농축
저희는 Neo4j를 기반으로 농축 프로세스를 위한 절차를 만들었어요. 예를 들어, Elon Musk는 자동차 산업에 종사하는 Tesla의 창립자잖아요. 이건 그냥 텍스트가 아니에요. 기사를 가져오면 아래 보이는 이미지처럼 포함되죠.
이런 식으로 그래프에 추가 메타데이터를 추가할 수 있어요. IBM Watson Recognition, Google 또는 Microsoft Computer Vision과 같은 이미지 인식 플랫폼과 함께 사용하면 특히 유용하죠.
이 플랫폼들은 전기 장치, 색상, 메커니즘, 기계 등을 인식한 결과를 생성하는데요. 이 정보를 그래프에 추가해서 사용자에게 향상된 액세스 패턴을 제공할 수 있어요.
더 많은 연결된 데이터와 관련 문서 간의 관계를 제공하는 기능도 추가되죠. 그래프에 가져오는 내용의 품질에 따라 구축하는 애플리케이션의 품질이 결정된다고 볼 수 있어요.
농축 청소
그래서 저희는 Word2Vec과 같은 Deep Learning 기반 모델을 사용한 거예요. IBM Watson 또는 다른 서비스에서 반환된 레이블을 필터링하는 GloVe, Wikidata, FastText 모델도 있고요. 이런 플랫폼들은 문맥에 맞지 않는 단어는 물론 외부 기반에서 나온 단어도 제거해줘요.
그래프를 풍부하게 할 수 있는 기술은 더 많아요. Doc2vec은 코사인 유사성과 같은 수학적 연산을 적용해서 문서 간의 의미 거리를 계산하죠.
상위 500개 문서 또는 상위 100개 관련 문서를 저장하면, 그래프 기반 검색 또는 그래프 구조 덕분에 추천 엔진을 만들 수 있어요. 상위 100개의 관련 문서를 이미 알고 있으니 유사성이나 순회를 계산할 필요가 없는 거죠.
아래에서 볼 수 있듯이 두 문서 또는 개념 간의 관계만 저장하면 돼요. 그러면 그들 사이의 유사점을 발견하게 될 거예요.
주제 모델링
주제 모델링은 감독되지 않은 방식으로 문서를 클러스터링하는 기능을 제공해서 레이블이 지정된 데이터가 필요 없어요. 텍스트와 그 사이의 클러스터를 분석하고 의미에 따라 그룹을 만드는 거죠.
아래 이미지에서 주제 Node는 왼쪽 상단과 하단에 있어요.
이건 단순히 관련 문서를 검색하거나 찾는 데만 유용한 게 아니에요. 비즈니스 전문가나 해당 분야 전문가가 전체 프로세스에 참여하도록 하는 애플리케이션에서도 정말 중요하죠.
2~3일 안에 Neo4j 클러스터를 시작하면 엄청난 양의 데이터를 분석하고 Doc2Vec으로 모델을 만들 수 있어요. 이 모델을 사용하면 Stanford와 거의 동일한 정확도를 얻을 수 있다니 놀랍죠? 게다가 단 7밀리초 안에 결과를 얻을 수 있다니 정말 빠르네요!
파이프라인을 확장하거나 적용하려면 어떤 도구를 사용하는지 아는 게 정말 중요해요. 그리고 여러분의 요구 사항을 해결할 수 있는 구성 요소를 갖추는 것도 중요하죠. 예를 들어, 항공사 고객 지원에서는 문서 하나에 22초씩 투자할 수 없잖아요. 엄청나게 빠른 속도가 필요하니까요.
아래와 같은 문서 하나에서 얼마나 많은 정보를 추출할 수 있는지 한번 상상해 보세요.
아래 이미지는 이미 거대한 Knowledge Graph네요. 이걸 1000만, 아니 1억 배로 늘린다고 상상해 보세요!
정말 멋진 Knowledge Graph가 되겠죠?
Neo4j 성능
성능 측면에서 아래 이미지는 하나의 Neo4j node에 대한 성능을 보여주고 있어요.
3-node 클러스터가 있다면 속도가 약 3배 더 빨라진대요.
연구 논문처럼 엄청 긴 텍스트 문서가 있다고 가정해 볼게요. 1백만 개의 문서를 처리하는 데 약 하루 정도 걸릴 수도 있겠죠.
Neo4j를 사용하면 똑같은 코드로, 손바닥 안에 들어오는 코드만으로 Spring Boot 애플리케이션을 구축하고 원하는 만큼 확장할 수 있어요.
결국 정보 요구 사항을 해결하기 위해 구성할 수 있는 컴포넌트 생태계가 있는 셈이죠. 정보가 필요하다는 건 데이터 중심 로직과 지식 중심 로직의 차이를 나타내기 때문에 정말 중요한 부분이에요.
롭 슐리: 매일 저는 Hume이 뭔지 질문을 받아요. Hume은 기계를 수동적인 존재에서 능동적인 존재로 바꾸는 걸 목표로 하는 접근 방식이에요. 엄청난 양의 정보를 빠르고 효율적이고 정확하고 안정적으로 이해하기 위해 우리와 협력하는 기계를 만드는 거죠. 전체적인 아이디어는 정보를 사람들을 위한 지식으로 바꾸는 것이랍니다.
그래프 기반 검색 살펴보기
- 그래프 기반 검색
- GraphConnect
- Hume
- Machine Learning
에이치시스템즈의 LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.
'Ontology & Knowledge Graph' 카테고리의 다른 글
| LlamaParse로 문서에서 Knowledge Graph 만들기 (0) | 2026.07.17 |
|---|---|
| #GraphCast: 생명과학 분야 그래프 - 복잡한 데이터를 연결하는 치료제 (0) | 2026.07.17 |
| From Data to Intelligence: Why Every Enterprise Needs an AI Knowledge Layer (0) | 2026.07.16 |
| 지식 그래프: 엔터프라이즈 AI로 향하는 길 (0) | 2026.07.16 |
| 지식 그래프와 AI 미래 탐색: Accenture Charlie Beveridge 인터뷰 (0) | 2026.07.15 |
