KR102115372B1 - 그래프 데이터 축약 방법 및 그 장치 - Google Patents

그래프 데이터 축약 방법 및 그 장치 Download PDF

Info

Publication number
KR102115372B1
KR102115372B1 KR1020190142334A KR20190142334A KR102115372B1 KR 102115372 B1 KR102115372 B1 KR 102115372B1 KR 1020190142334 A KR1020190142334 A KR 1020190142334A KR 20190142334 A KR20190142334 A KR 20190142334A KR 102115372 B1 KR102115372 B1 KR 102115372B1
Authority
KR
South Korea
Prior art keywords
node
group
shortened
motif
network
Prior art date
Application number
KR1020190142334A
Other languages
English (en)
Inventor
이슬기
신삼신
김병익
박순태
김경한
송연섭
Original Assignee
한국인터넷진흥원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국인터넷진흥원 filed Critical 한국인터넷진흥원
Priority to KR1020190142334A priority Critical patent/KR102115372B1/ko
Priority to US16/698,780 priority patent/US20210103566A1/en
Application granted granted Critical
Publication of KR102115372B1 publication Critical patent/KR102115372B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

그룹화 된 그래프 데이터를 축약하는 방법 및 그 장치가 제공된다. 본 발명의 몇몇 실시예들에 따르면, 그래프 구조의 정보인 소스 정보 및 소스 정보에 대한 클러스터링의 결과가 반영된 그룹핑(grouping) 정보를 얻고, 상기 소스 정보로부터 추출된 오리지널 네트워크 모티프 중, 네트워크 모티프의 구성원 노드가 모두 동일한 그룹에 속하는 하나 이상의 축약 후보 네트워크 모티프를 얻으며, 상기 축약 후보 네트워크 모티프 중 축약 후보 네트워크 모티프에 속한 엣지의 레벨 합계를 기준으로, 축약 대상 네트워크 모티프를 선정한다.

Description

그래프 데이터 축약 방법 및 그 장치{GRAPH DATA ABBREVIATION METHOD AND APPARATUS THEREOF}
본 발명은 노드 및 상기 노드 간의 엣지로 구성된 그래프 구조의 데이터에서, 상기 그래프 구조의 데이터의 그룹핑 정보에 기반 하여,상기 그래프 구조의 데이터를 축약(abbreviation) 함으로써, 그래프 데이터의 압축 효과를 얻기 위한 것이다.
데이터 구조(data structure)로서의 그래프(graph)는, 노드 및 상기 노드 사이를 잇는 엣지로 구성된 형태의 데이터를 의미한다. 그래프 형태의 데이터가 사이즈가 커짐에 따라 정보를 그룹화 하여 파악할 수 있도록 그래프 데이터에 대한 다양한 그룹핑(또는 클러스터링) 알고리즘이 제공된다.
그런데, 데이터 사이즈가 더 커지게 되면, 상기 그룹핑 알고리즘에 따라 구성된 각각의 그룹에 포함되는 정보량도 직관적 이해가 쉽지 않을 정도로 커지게 된다. 이러한 경우, 그래프 데이터에서 중요 정보를 선별하는 등의 분석 알고리즘이 상기 그래프 데이터에 적용될 필요가 있다. 그런데, 데이터 사이즈가 큰 그래프 데이터에 대하여 분석 알고리즘을 적용하는 과정에서 너무 많은 연산 시간이 소요되는 등의 문제가 발생한다. 즉, 데이터 사이즈가 큰 그래프 데이터에 대한 분석 알고리즘의 연산량의 문제로 인해, 데이터 사이즈가 큰 그래프 데이터에 대한 분석에 어려움이 제기되고 있다.
따라서, 그래프 데이터에 대한 축약 방법의 제공이 요청 된다.
한국공개특허 제2015-0125511
본 발명의 몇몇 실시예들을 통하여 달성하고자 하는 기술적 과제는, 그룹화 된 그래프 데이터를 축약하는 방법 및 그 방법이 적용된 장치를 제공하는 것이다.
본 발명의 다른 몇몇 실시예들을 통하여 달성하고자 하는 그룹화 된 그래프 데이터에 대하여, 각 그룹별 중요 정보를 자동화된 로직에 의하여 선정함에 있어서, 그 연산 시간을 최소화 할 수 있도록 그래프 데이터를 축약하여 전처리 하는 방법 및 그 방법이 적용된 장치를 제공하는 것이다.
본 발명의 또 다른 몇몇 실시예들을 통하여 달성하고자 하는 기술적 과제는, 그래프 데이터의 각 그룹별 중요 정보를 자동화된 로직에 의하여 선정하고, 특정 그룹에 대한 정보를 제공함에 있어서, 상기 선정된 중요 정보를 함께 제공함으로써, 그룹에 속한 데이터 중 핵심 데이터를 쉽게 인지할 수 있도록 지원하는 방법 및 그 방법이 구현된 장치 또는 시스템을 제공하는 것이다.
본 발명의 또 다른 몇몇 실시예들을 통하여 달성하고자 하는 다른 기술적 과제는, 그래프 데이터의 각 그룹별 중요 정보를 자동화된 로직에 의하여 선정함에 있어서, 노드 간의 연결 관계를 반영하여 상기 중요 정보를 선정하는 방법 및 그 방법이 구현된 장치 또는 시스템을 제공하는 것이다.
본 발명의 또 다른 몇몇 실시예들을 통하여 달성하고자 하는 또 다른 기술적 과제는, 그래프 데이터의 각 그룹별 중요 정보를 자동화된 로직에 의하여 선정함에 있어서, 노드 간의 유사도를 반영하여 상기 중요 정보를 선정하는 방법 및 그 방법이 구현된 장치 또는 시스템을 제공하는 것이다.
본 발명의 또 다른 몇몇 실시예들을 통하여 달성하고자 하는 또 다른 기술적 과제는, 그래프 데이터의 사이즈에 따라, 고려하는 노드 간 연결 관계 정보의 수준을 조정함에 따라 그래프 데이터 사이즈가 커지는 것에 따른 연산 시간의 증가를 억제하는 방법 및 그 방법이 구현된 장치 또는 시스템을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제들을 해결하기 위한, 본 발명의 일 실시예에 따른 그래프 데이터 축약 방법은, 그래프 구조의 정보인 소스 정보 및 소스 정보에 대한 클러스터링의 결과가 반영된 그룹핑(grouping) 정보를 얻는 단계와, 상기 소스 정보로부터 추출된 오리지널 네트워크 모티프 중, 네트워크 모티프의 구성원 노드가 모두 동일한 그룹에 속하는 하나 이상의 축약 후보 네트워크 모티프를 얻는 단계와, 상기 축약 후보 네트워크 모티프 중 축약 후보 네트워크 모티프에 속한 엣지의 레벨 합계를 기준으로, 축약 대상 네트워크 모티프를 선정하는 단계와, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환 하는 단계를 포함한다.
일 실시예에서, 상기 축약 후보 네트워크 모티프를 얻는 단계는, 상기 소스 정보로부터 추출된 네트워크 모티프 중, 네트워크 모티프의 구성원 노드가 모두 특정 그룹에 속하지 않는 하나 이상의 상기 축약 후보 네트워크 모티프를 더 얻는 단계를 포함한다.
일 실시예에서, 상기 축약 대상 네트워크 모티프를 선정하는 단계는, 상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프를 상기 축약 대상 네트워크 모티프로 선정하는 단계를 포함한다. 이 때, 상기 오리지널 네트워크 모티프는, 제1 노드 및 제2 노드를 연결하는 엣지를 포함하되, 상기 제1 노드와 상기 제2 노드가 일반 연결 관계인 경우, 상기 엣지는 레벨이 1으로 세팅되고, 상기 제1 노드와 상기 제2 노드가 유사 관계인 경우, 상기 엣지는 레벨이 0으로 세팅되며, 상기 제1 노드와 상기 제2 노드가 일반+유사 관계인 경우, 상기 엣지는 레벨이 2로 세팅될 수 있다. 또한, 상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프를 상기 축약 대상 네트워크 모티프로 선정하는 단계는, 상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프가 복수개 존재하는 경우, 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프를 상기 축약 대상 네트워크 모티프로 선정하는 단계를 포함할 수 있다. 상기 오리지널 네트워크 모티프는, 제1 노드 및 제2 노드를 연결하는 엣지를 포함하되, 상기 제1 노드와 상기 제2 노드가 일반 연결 관계인 경우, 상기 엣지는 연결도 값이 1으로 세팅되고, 상기 제1 노드와 상기 제2 노드가 유사 관계인 경우, 상기 엣지는 연결도 값이 1 미만으로 세팅되며, 상기 제1 노드와 상기 제2 노드가 일반+유사 관계인 경우, 상기 엣지는 연결도 값이 1 초과로 세팅될 수 있다. 또한, 상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프가 복수개 존재하는 경우, 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프를 상기 축약 대상 네트워크 모티프로 선정하는 단계는, 상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프가 복수개 존재하고, 상기 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프가 복수개 존재하는 경우, 상기 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프들 중 랜덤하게 상기 축약 대상 네트워크 모티프를 선정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 소스 정보는, 사이버 위협 인텔리전스 정보로서, 상기 그룹핑 정보에 따른 각각의 그룹은 침해 사고와 관련된 노드들을 포함하고, 각각의 노드는 침해 자원을 가리키고, 상기 노드 사이의 엣지는 상기 침해 자원 간의 연결 관계를 가리키는 것이고, 상기 소스 정보는 비방향성 그래프일 수 있다.
일 실시예에서, 상기 오리지널 네트워크 모티프는, 3개의 노드로 구성된 부분 그래프일 수 있다.
일 실시예에서, 상기 오리지널 네트워크 모티프는, 복수의 그룹에 속하는 충돌 노드 및 상기 충돌 노드에 연결된 모든 엣지가 제거되도록 변형된 상기 소스 정보로부터 추출된 것일 수 있다.
일 실시예에서, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환 하는 단계는, 상기 축약 대상 네트워크 모티프가 복수의 그룹에 속하는 충돌 노드를 포함하는 경우, 상기 충돌 노드를 복제한 후, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환하는 단계를 포함할 수 있다. 이 때, 상기 충돌 노드를 복제한 후, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환하는 단계는, 상기 오리지널 네트워크 모티프가, 복수의 그룹에 속하는 충돌 노드가 제거되지 않은 상기 소스 정보로부터 추출된 것인 경우에 한하여, 상기 축약 대상 네트워크 모티프가 복수의 그룹에 속하는 충돌 노드를 포함하는 경우, 상기 충돌 노드를 복제한 후, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환하는 단계를 포함할 수 있다.
일 실시예에서, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환 하는 단계는,
상기 축약 대상 네트워크 모티프의 2개 이상의 노드와 연결된 외부 노드와 상기 단일 노드를 연결하는 엣지를 생성하되, 상기 엣지의 레벨은 상기 외부 노드와 상기 축약 대상 네트워크 모티프의 각 노드 사이의 엣지의 레벨을 합산한 값을 이용하여 세팅되고, 상기 엣지의 연결도 값은 상기 외부 노드와 상기 축약 대상 네트워크 모티프의 각 노드 사이의 엣지의 연결도 값을 합산한 값을 이용하여 세팅되는 단계를 포함할 수 있다.
일 실시예에서, 상기 그래프 데이터 축약 방법은, 상기 축약 후보 네트워크 모티프가 더 이상 존재하지 않을 때까지, 상기 축약 대상 네트워크 모티프를 선정하는 단계 및 상기 축약 대상 네트워크 모티프를 기호로 치환 하는 단계를 반복하는 단계를 더 포함할 수 있다. 이 때, 상기 그래프 데이터 축약 방법은 상기 반복하는 단계 이후에, 그룹 별 중요 정보를 선정하는 단계를 더 포함할 수 있다. 이 때, 상기 그룹 별 중요 정보를 선정하는 단계는, 상기 그룹핑 정보에 따른 각각의 그룹 별로, 그룹 g에 속한 노드 n 및 부분 그래프 s 중, 하나 이상의 중요 정보를, 그룹 g에 대하여 각각의 노드 n 및 부분 그래프 s에 부여되는 TF-IDF(g, n)값 및 TF-IDF(g, s)값을 이용하여 선정하는 단계를 포함할 수 있다. 상기 부분 그래프는, 상기 소스 정보를 구성하는 부분 그래프로서, 2개 이상의 요소 노드 및 상기 요소 노드 사이를 연결하는 요소 엣지를 포함하는 그래프이고, 상기 TF-IDF(g, n)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 노드 n을 입력하고, 문서(d)에 대응되는 개념으로서 그룹 g를 입력한 결과 얻어지는 값이고, 상기 TF-IDF(g, s)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 부분 그래프 s를 입력하고, 문서(d)에 대응되는 개념으로 그룹 g를 입력한 결과 얻어지는 값일 수 있다.
상기 기술적 과제들을 해결하기 위한, 본 발명의 일 실시예에 따른 그래프 데이터 축약 장치는, 메모리와, 상기 메모리에 로드된 컴퓨터 프로그램을 실행하는 프로세서를 포함할 수 있다. 이 때, 상기 컴퓨터 프로그램은, 그래프 구조의 정보인 소스 정보 및 소스 정보에 대한 클러스터링의 결과가 반영된 그룹핑(grouping) 정보를 얻는 인스트럭션과, 상기 소스 정보로부터 추출된 오리지널 네트워크 모티프 중, 네트워크 모티프의 구성원 노드가 모두 동일한 그룹에 속하는 하나 이상의 축약 후보 네트워크 모티프를 얻는 인스트럭션과, 상기 축약 후보 네트워크 모티프 중 축약 후보 네트워크 모티프에 속한 엣지의 레벨 합계를 기준으로, 축약 대상 네트워크 모티프를 선정하는 인스트럭션과, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환 하는 인스트럭션을 포함할 수 있다.
일 실시예에서, 상기 컴퓨터 프로그램은, 상기 축약 후보 네트워크 모티프가 더 이상 존재하지 않을 때까지, 상기 축약 대상 네트워크 모티프를 선정하는 단계 및 상기 축약 대상 네트워크 모티프를 기호로 치환 하는 단계를 반복하는 인스트럭션과, 그룹 별 중요 정보를 선정하는 인스트럭션을 더 포함하되,
상기 그룹 별 중요 정보를 선정하는 인스트럭션은, 상기 그룹핑 정보에 따른 각각의 그룹 별로, 그룹 g에 속한 노드 n 및 부분 그래프 s 중, 하나 이상의 중요 정보를, 그룹 g에 대하여 각각의 노드 n 및 부분 그래프 s에 부여되는 TF-IDF(g, n)값 및 TF-IDF(g, s)값을 이용하여 선정하는 인스트럭션을 포함하고, 상기 부분 그래프는, 상기 소스 정보를 구성하는 부분 그래프로서, 2개 이상의 요소 노드 및 상기 요소 노드 사이를 연결하는 요소 엣지를 포함하는 그래프이고, 상기 TF-IDF(g, n)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 노드 n을 입력하고, 문서(d)에 대응되는 개념으로서 그룹 g를 입력한 결과 얻어지는 값이고, 상기 TF-IDF(g, s)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 부분 그래프 s를 입력하고, 문서(d)에 대응되는 개념으로 그룹 g를 입력한 결과 얻어지는 값일 수 있다.
도 1은 본 발명의 일 실시예에 따른 그래프 데이터 처리 시스템의 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 그래프 데이터 축약 방법의 순서도이다.
도 3은 본 발명의 몇몇 실시예에서 참조되는 네트워크 모티프에 대하여 설명하기 위한 도면이다.
도 4a 내지 도 4f는 도 2를 참조하여 설명한 그래프 데이터 축약 방법의 적용예시를 설명하기 위한 도면이다.
도 5는 도 2를 참조하여 설명한 그래프 데이터 축약 방법의 변형 실시예에 따른 순서도이다.
도 6a 내지 도 6f는 도 5를 참조하여 설명한 그래프 데이터 축약 방법의 적용예시를 설명하기 위한 도면이다.
도 7은 본 발명의 몇몇 실시예에 따른 그래프 데이터 축약 효과를 설명하기 위한 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른 그래프 데이터 조회 시스템의 구성도이다.
도 9a 내지 도 9c는 본 발명의 몇몇 실시예들에 대한 설명 과정에서 참조되는 그래프 형식의 데이터 및 그룹핑 결과에 따른 각 그룹의 구성을 설명하기 위한 도면이다.
도 10 내지 도 11은 본 발명의 몇몇 실시예에서, TF-IDF 알고리즘을 이용하여 그룹 별 중요 정보를 선정하는 과정을 설명하기 위한 도면이다.
도 12a 내지 도 13b는 본 발명의 몇몇 실시예에서, 선정 대상 중요 정보의 후보로서 부분 그래프를 더 포함시키는 것을 설명하기 위한 도면이다.
도 14a 내지 도 19는 본 발명의 몇몇 실시예에서, 각 노드 사이의 유사도를 반영하여 그룹 별 중요 정보를 선정하는 과정을 설명하기 위한 도면이다.
도 20은, 본 발명의 다른 실시예에 따른 중요 정보 선정 방법의 순서도이다.
도 21은, 본 발명의 다양한 실시예에 따른 장치/시스템을 구현할 수 있는 예시적인 컴퓨팅 장치의 구성도이다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명의 기술적 사상은 이하의 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명의 기술적 사상을 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 기술적 사상은 청구항의 범주에 의해 정의될 뿐이다.
각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.
먼저, 도 1을 참조하여, 본 발명의 일 실시예에 따른 그래프 데이터 처리 시스템의 구성 및 동작을 설명한다.
본 실시예에 따른 그래프 데이터 처리 시스템은 그래프 데이터 축약 장치(10)를 포함한다. 그래프 데이터 축약 장치(10)는 그래프 데이터(1) 및 그래프 데이터(1)의 그룹핑 정보를 얻고, 그래프 데이터(1)를 축약한다. 그래프 데이터 축약 장치(10)는, 그래프 데이터 축약 장치(10)와 분리된 컴퓨팅 장치인 그래프 데이터 스토리지(300)로부터 그래프 데이터(1) 및 그 그룹핑 정보를 수신할 수 있다. 또는, 그래프 데이터 축약 장치(10)의 스토리지에 그래프 데이터(10) 및 그 그룹핑 정보가 저장되어 있을 수도 있다.
그래프 데이터(1)에 포함된 각각의 노드와, 2개의 노드로 구성된 부분 그래프 또는 3개의 노드로 구성된 부분 그래프 등을 분석의 대상이 되는 feature로 본다고 전제하면, 그래프 데이터(1)의 데이터 사이즈가 증가할수록 feature의 개수는 폭박적으로 증가하게 된다. 그래프 데이터 축약 장치(10)가 수행하는 그래프 데이터 축약의 결과, 축약을 하지 않는 경우 대비 상기 feature의 개수가 감소하게 된다. 이러한 '축약'의 의미에 대하여는 후술되는 몇몇 실시예들에 의하여 그 의미가 명확하게 파악될 수 있을 것이다.
그래프 데이터 축약 장치(10)는 그래프 데이터(1)가 축약된 결과 생성된 축약된 그래프 데이터(1a)를 그래프 데이터 처리 장치(20)에 제공한다. 그래프 데이터 처리 장치(20)는 축약된 그래프 데이터(1a)를 이용하여 클라이언트(200)로부터 수신된 요청(query)를 빠른 속도로 처리할 수 있다.
그래프 데이터 축약 장치(10)는 그래프 데이터(1) 및 그래프 데이터(1)에 대한 클러스터링의 결과가 반영된 그룹핑(grouping) 정보를 얻고, 상기 소스 정보로부터 추출된 오리지널 네트워크 모티프 중, 네트워크 모티프의 구성원 노드가 모두 동일한 그룹에 속하는 하나 이상의 축약 후보 네트워크 모티프를 얻으며, 상기 축약 후보 네트워크 모티프 중 축약 후보 네트워크 모티프에 속한 엣지의 레벨 합계를 기준으로, 축약 대상 네트워크 모티프를 선정하고, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환 한다. 그래프 데이터 축약 장치(10)는 상기 축약 후보 네트워크 모티프가 더 이상 존재하지 않을 때까지, 상기 축약 대상 네트워크 모티프를 선정하는 단계 및 상기 축약 대상 네트워크 모티프를 기호로 치환 하는 단계를 반복함으로써, 축약의 정도를 더 고도화 한다.
그래프 데이터 축약 장치(10)의 그래프 데이터 축약 관련 동작은 후술 될 그래프 데이터 축약 방법 관련 실시예를 통해 더 명확하게 이해될 수 있을 것이다.
다음으로, 본 발명의 다른 실시예에 따른 그래프 데이터 축약 방법에 대하여 도 2 내지 도 6f를 참조하여 설명하기로 한다. 본 실시예에 따른 방법은 컴퓨팅 장치에 의하여 수행된다. 예를 들어, 상기 컴퓨팅 장치는 도 1을 참조하여 설명한 그래프 데이터 축약 장치일 수 있다. 다만, 본 실시예에 따른 방법은 연산 수단 및 저장 수단을 포함한 컴퓨팅 장치라면 어떠한 컴퓨팅 장치를 이용하여 실시하더라도 무방하며, 예를 들어, 노트북, 데스크톱, 태블릿, 스마트폰 등의 개인용 컴퓨팅 장치에 의하여도 본 실시예에 따른 방법은 실행될 수 있다. 이하, 본 실시예에 따른 방법을 구성하는 각각의 동작을 설명함에 있어서, 그 주체에 대한 명시가 누락된 경우, 그 주체는 상기 컴퓨팅 장치인 것으로 이해되어야 한다. 또한, 본 실시예에 따른 방법을 구성하는 각각의 동작이 모두 하나의 컴퓨팅 장치에 의하여 실행되어야 하는 것은 아니고, 본 실시예에 따른 방법을 구성하는 일부의 동작은 다른 동작을 실행하는 컴퓨팅 장치와 다른 컴퓨팅 장치에 의하여 실행될 수 있음을 유의하여야 한다. 이미 설명한 바와 같이, 본 실시예에 따른 방법은 그래프 형식의 데이터이기만 하면, 어떤 내용을 담고 있는 데이터에 대하여도 실행될 수 있다. 예를 들어, 상기 그래프 데이터는 상기 사이버 위협 인텔리전스 정보이며, 각 그룹은 각각의 사이버 침해 사고를 가리킬 수 있다.
먼저, 본 실시예에 따른 방법의 순서도인 도 2를 참조하여 설명한다.
그래프 구조의 정보인 소스 정보 및 그 그룹핑 정보가 획득된다(S10). 상기 소스 정보는, 예를 들어 도 1을 참조하여 설명한 그래프 데이터(1)인 것으로 이해 될 수 있을 것이다. 상기 그룹핑 정보에 의해, 상기 소스 정보의 각 노드는 그 소속 그룹이 매치되게 된다. 각각의 그룹은 하나 이상의 노드를 포함한다.
단계 S10-1에서, 다수의 그룹에 포함된 노드가 제외되는 전처리가 수행된다. 상기 당수의 그룹에 포함된 노드는, 본 명세서에서 '충돌 노드'로 지칭될 것이다. 예를 들어, 도 4a에 도시된 소스 정보에서, 충돌 노드인 노드 C가 제외되면, 도 4b에 도시된 바와 같이 전처리된 소스 정보가 얻어질 것이다. 노드 C는 그룹#1(2a) 및 그룹#3(2c)에 모두 포함되는 노드이므로 충돌 노드로 식별될 것이다. 도 4b에 도시된 그래프는, 도 4a에 도시된 그래프에서, 노드 C 및 노드 C에 연결된 모든 엣지가 삭제된 것이다.
본 실시예에서 상기 충돌 노드가 삭제되는 전처리가 수행되는 이유에 대하여 설명한다. 본 발명의 몇몇 실시예에 따른 그래프 데이터 축약은, 하나의 그룹 내에 속한 네트워크 모티프를 심볼화 하는 것에 의하여 수행된다. 상기 네트워크 모티프는 기 지정된 개수의 노드로 구성된 부분 그래프로 이해될 수 있을 것이다.
예를 들어, 상기 네트워크 모티프는 3개의 노드로 구성된 부분 그래프일 수 있다. 3개의 노드로 구성된 부분 그래프는 중심 노드가 가리키는 대상 개체와 2개의 관련 개체가 서로 관련성되어 있는 점에 대한 정보를 표현하는 최소의 정보 단위로 이해될 수 있을 것이다. 그래프 데이터인 상기 소스 정보를 전체 정보로 보면, 상기 네트워크 모티프는 단위 정보로 이해될 수 있을 것이다. 물론, 상기 소스 정보가 담고 있는 정보의 종류에 따라, 2개의 노드로 구성된 네트워크 모티프, 4개의 노드로 구성된 네트워크 모티프 또는 그 이상의 노드로 구성된 네트워크 모티프가 활용될 수도 있을 것이다. 본 명세서에서는, 이해의 편의를 위해, 3개의 노드로 구성된 네트워크 모티프를 이용하여 설명한다.
상기 충돌 노드가 포함된 네트워크 모티프는, 그 소속 그룹을 정함에 있어서 애매함이 존재한다. 상기 소스 정보를 '정보'의 관점에서 본다면, 특정 그룹의 정보 중, 일부의 정보를 기호로 축약하고자 하는데, 축약 대상인 정보가 다른 그룹에도 부분적으로 속하는 것이라면, 상기 축약에 의하여 다른 그룹의 정보가 변형될 가능성이 우려되는 것이다. 이러한 점을 고려하여, 상기 충돌 노드가 제거되는 전처리가 수행될 수 있다.
다음으로, 단계 S11에서 상기 충돌 노드가 제거된 소스 정보에서 네트워크 모티프가 추출된다. 상기 네트워크 모티프는, 그 정보의 밀집도 측면에서 레벨이 부여될 수 있다. 상기 네트워크 모티프의 레벨은, 상기 네트워크 모티프에 포함된 엣지의 레벨을 모두 합한 값으로 이해될 수 있다. 예를 들어, 도 3에는 총 7개의 네트워크 모티프가 제시되어 있는데, 각 네트워크 모티프가 가지는 엣지의 레벨에 따라 각 네트워크 모티프의 레벨에 우열 관계가 생기게 된다.
예를 들어, 각 엣지의 레벨은 엣지가 연결하는 노드 사이의 연결 관계에 의하여 결정될 수 있다. 제1 노드와 제2 노드를 연결하는 엣지는, 상기 제1 노드와 상기 제2 노드가 일반 연결 관계인 경우, 레벨이 1으로 세팅되고, 상기 제1 노드와 상기 제2 노드가 유사 관계인 경우, 레벨이 0으로 세팅되며, 상기 제1 노드와 상기 제2 노드가 일반+유사 관계인 경우, 레벨이 2로 세팅될 수 있다. 또한, 각각의 엣지는 연결도 값을 가질 수 있다. 상기 제1 노드와 상기 제2 노드가 일반 연결 관계인 경우, 상기 엣지는 연결도 값이 1으로 세팅되고, 상기 제1 노드와 상기 제2 노드가 유사 관계인 경우, 상기 엣지는 연결도 값이 1 미만으로 세팅되며, 상기 제1 노드와 상기 제2 노드가 일반+유사 관계인 경우, 상기 엣지는 연결도 값이 1 초과로 세팅될 수 있다.
도 4a 등의 네트워크 표현에 있어서, 실선으로 표시된 엣지는 레벨이 1이고, 연결도 값이 1인 것으로 이해되며, 점선으로 표시된 엣지는 레벨이 0이고 연결도 값이 1 미만(연결도 값은 숫자 표시)인 것으로 이해되며, 이중실선으로 표시된 엣지는 레벨이 2이고, 연결도 값이 1 초과(연결도 값은 숫자 표시)인 것으로 이해될 수 있을 것이다.
레벨이 높은 네트워크 모티프는, 레벨이 낮은 네트워크 모티프 대비, 그 정보의 밀집도가 높다고 이해될 수 있다. 즉, 레벨이 높은 네트워크 모티프는 구성원 노드 간의 연결 강도가 높은만큼, 네트워크 모티프의 구성원 노드들은 하나로 축약되어 표현되더라도, 상기 축약에 따른 원 정보의 훼손이 최소화 되는 것이다. 이러한 점을 반영하여, 본 실시예에 따른 그래프 데이터 축약이 수행된다.
본 실시예에 대한 설명 과정에서 참조되는 그래프 형식의 데이터 및 그룹핑 결과에 따른 각 그룹의 구성을 도 2a 내지 도 2b를 참조하여 설명한다.
도 2a는 4개의 노드(11, 12, 15, 17) 및 3개의 엣지(13, 14, 16)로 구성되는 예시적이고 간략한 그래프 데이터를 도시한다. 일반적으로 간략한 그래프 데이터에 대하여는 그룹핑(또는 클러스터링으로도 지칭됨)을 진행할 필요가 크지 않을 것이나, 예시적인 설명을 위하여, 도 2a의 그래프 데이터에 대하여 그룹핑이 진행된 것으로 가정한다. 즉, 본 실시예에 따른 방법을 실행하는 컴퓨팅 장치는 그래프 데이터뿐만 아니라, 상기 그래프 데이터에 대한 그룹핑 정보를 얻을 수 있다.
도 4c는, 도 4b의 전처리된 소스 정보에서, 네트워크 모티프 추출이 수행된 결과를 도시한다. 도 4c에 도시된 바와 같이, 총 11개의 네트워크 모티프가 추출된 것을 알 수 있다.
다음으로, 단계 S12에서, 상기 추출된 네트워크 모티프들 중 축약 후보 네트워크 모티프가 선정된다. 상기 축약 후보 네트워크 모티프가 되기 위하여는, 네트워크 모티프 구성원 노드가 모두 동일한 그룹에 속해야 한다. 몇몇 실시예에서, 네트워크 모티프 구성원 노드가 소속 그룹이 존재하지 않는 경우에도 축약 후보 네트워크 모티프가 될 수 있다.
특정 그룹의 정보 중, 일부의 정보를 기호로 축약하고자 하는데, 축약 대상인 정보가 다른 그룹에도 부분적으로 속하는 것이라면, 상기 축약에 의하여 다른 그룹의 정보가 변형될 가능성이 우려되는 것이다. 이러한 점을 고려하여, 네트워크 모티프 구성원 노드가 모두 동일한 그룹에 속하거나, 네트워크 모티프 구성원 노드가 소속 그룹이 존재하지 않는 경우에 한하여, 그 네트워크 모티프가 축약 후보 네트워크 모티프로 선정될 수 있는 것이다.
도 4d는, 도 4c의 네트워크 모티프들 중 축약 후보 네트워크 모티프로 선정된 2개의 네트워크 모티프를 도시한다.
다음으로, 각각의 축약 후보 네트워크 모티프 중 축약 대상 네트워크 모티프가 선정된다(S13). 축약 대상 네트워크는, 남아 있는 축약 후보 네트워크 모티프 중, 그 레벨이 가장 높은 축약 후보 네트워크 모티프로 결정된다. 그리고, 레벨이 가장 높은 축약 후보 네트워크 모티프가 복수개인 경우, 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프가 상기 축약 대상 네트워크 모티프로 선정된다. 이 때, 레벨이 가장 높은 축약 후보 네트워크 모티프가 복수개이고, 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프도 복수개여서, 우열을 가리기 어려운 경우, 랜덤 선정 방식에 의해 상기 축약 대상 네트워크 모티프가 결정될 수 있다.
도 4d에 도시된 2개의 축약 후보 네트워크 모티프(DEJ, EDH)는, 그 레벨이 3으로 같고, 그 연결도 합계도 2.5로 동일하다. 이해의 편의를 위해, 랜덤 선정 방식에 의해 하나의 축약 후보 네트워크 모티프(EDH)가 축약 대상 네트워크 모티프로 선정되었다고 가정한다.
다음으로, 단계 S14에서, 축약 대상 네트워크 모티프가 단일 노드로 치환되고, 축약 대상 네트워크 모티프의 노드에 연결된 기존의 엣지가 정리된다(S15). 도 4b의 축약 전 그래프 및 도 4f의 축약 후 그래프를 참조하면, 축약 대상 네트워크 모티프(EDH)가 기호 'X'로 치환됨에 따라, 노드 B와 노드 D 사이의 엣지 및 노드 B와 노드 E 사이의 엣지가 병합되어야 하는 상황이 되었음을 알 수 있다. 이 경우, 노드 B와 노드 D 사이의 엣지의 연결도 값인 1.5와 노드 B와 노드 E 사이의 엣지의 연결도 값이 1의 합인 2.5(1.5+1)로, 축약 후 그래프의 노드 B와 노드 X 사이의 엣지 연결도 값이 세팅될 수 있을 것이다.
요컨대, 축약 대상 네트워크 모티프의 노드에 연결된 기존의 엣지가 정리되는 동작은, 상기 축약 대상 네트워크 모티프의 2개 이상의 노드와 연결된 외부 노드와 상기 단일 노드를 연결하는 엣지를 생성하되, 상기 엣지의 레벨은 상기 외부 노드와 상기 축약 대상 네트워크 모티프의 각 노드 사이의 엣지의 레벨을 합산한 값을 이용하여 세팅되고, 상기 엣지의 연결도 값은 상기 외부 노드와 상기 축약 대상 네트워크 모티프의 각 노드 사이의 엣지의 연결도 값을 합산한 값을 이용하여 세팅하는 동작을 포함하는 것으로 이해될 수 있을 것이다.
축약 대상 네트워크 모티프(EDH)는, 그 치환 기호와 매칭되어 데이터베이스 등의 저장 수단에 저장되어, 추후 원상 복원 또는 조회 등의 동작 시 참조될 수 있을 것이다(S16).
단계 S13 내지 단계 S16은, 남아 있는 축약 후보 네트워크 모티프가 더 이상 존재하지 않을 때까지 반복된다(S17). 그런데, 도 4d에 도시된 나머지 하나의 축약 후보 네트워크 모티프(DEJ)는, 축약 대상 네트워크 모티프(EDH)가 기호 'X'로 치환됨에 따라, 함께 소멸된다. 따라서, 도 4a의 소스 정보를 대상으로 한 네트워크 축약은 하나의 네트워크 모티프(EDH)를 기호 X로 축약하는 것으로 마무리 된다. 잠시 도 7을 참조하면, 원래의 소스 정보에는 총 10개의 feature가 존재 했는데, 도 2 내지 도 4f를 참조하여 설명한 네트워크 축약 방법이 수행된 결과, feature의 개수가 8개로 감소한 것을 알 수 있다.
다음으로, 도 5 내지 도 6f를 참조하여, 본 실시예에 따른 변형 축약 방법을 설명한다. 본 변형 축약 방법에 따르면 충돌 노드에 대한 축약을 진행함으로써, feature의 감소율이 도 2 내지 도 4f를 참조하여 설명한 방법 대비 더 높아질 수 있다. 이하, 도 2 내지 도 4f를 참조하여 설명한 방법을 '충돌 회피 모드의 축약 방법'으로 지칭하고, 도 5 내지 도 6f를 참조하여 설명하는 방법을 '충돌 허용 모드의 축약 방법'으로 지칭하기로 한다.
본 실시예에 따른 그래프 데이터 축약 방법이, 충돌 회피 모드로 수행될 것인지 또는 충돌 허용 모드로 수행될 것인지는, 사용자의 환경 설정 사항에 따를 수 있을 것이다. 또는, 몇몇 실시예에서, 충돌 회피 모드와 충돌 허용 모드의 feature 감소율이 기준치를 넘는 경우에 한하여 충돌 허용 모드가 채택되도록 자동화된 모드 선택이 수행될 수도 있을 것이다.
도 5는 본 실시예에 따른 변형 축약 방법의 순서도이다. 도 5에 도시된 순서도는, 소스 정보에서 충돌 노드를 제외하는 전처리가 수행되지 않는 점과, 축약 대상 네트워크 모티프가 단일 노드로 치환될 때, 상기 축약 대상 네트워크 모티프가 충돌 노드를 포함하고 있다면, 상기 충돌 노드를 복제하는 점(S14-1)이 추가되는 점이 상이하다. 이해의 편의를 위해, 도 2를 참조하여 설명한 각각의 동작과 중복되는 동작은 설명을 생략한다. 이하, 본 실시예에 따른 변형 축약 방법을 도 6a 내지 도 6f를 참조하여 설명한다.
도 6a는, 도 4a에 도시된 오리지널 소스 정보로부터 추출된 18개의 네트워크 모티프를 도시한다. 이 중, 구성원 노드가 모두 동일한 그룹에 속하거나, 구성원 노드가 모두 소속 노드가 존재하지 않는 축약 후보 네트워크 모티프는 총 4개이다. 도 6b는 4개의 축약 후보 네트워크 모티프를 도시한다. 도 6c는 4개의 축약 후보 네트워크 모티프(3a, 3b, 3c, 3d)에 대하여 레벨에 따른 우열 관계를 도시한다. 도 6c에 도시된 바에 따르면, 레벨이 4로 가장 높은 축약 후보 네트워크 모티프(3d)가 가장 먼저 축약 대상 네트워크 모티프로 선정된다.
도 6d는, 축약 후보 네트워크 모티프(3d)가 기호 X로 축약됨에 있어서, 충돌 노드인 노드 C(4)가 복제된 점이 도시된다. 이 때, 노드 X와 노드 C 사이의 엣지의 연결도 값은 노드 A와 노드 C 사이의 엣지의 연결도 값인 1과 노드 A와 노드 B 사이의 엣지의 연결도 값인 1.5의 합인 2.5로 세팅되고, 그 레벨은 2로 세팅될 것이다. 이미 설명한 바와 같이, 상기 충돌 노드의 복제는, 충돌 회피 모드에서는 수행되지 않는다.
다음으로, 남은 3개의 축약 후보 네트워크 모티프(3a, 3b, 3c) 중 레벨이 3인 2개의 축약 후보 네트워크 모티프(3b, 3c)가 경합을 벌이게 된다. 그런데, 2개의 축약 후보 네트워크 모티프(3b, 3c)는 그 연결도 합계까지도 동일하므로, 랜덤 선정 방식에 의해 축약 후보 네트워크 모티프(3c)가 축약 대상 네트워크 모티프로 선정된 것으로 가정한다. 도 6e는 축약 대상 네트워크 모티프(3c)가 기호 'Y'로 축약된 것을 도시한다. 이 때, 노드 X와 노드 Y를 연결하는 엣지의 연결도 값은 노드 X와 노드 D 사이의 연결도 값인 1.5와 노드 X와 노드 E 사이의 연결도 값인 1의 합계인 2.5로 세팅된다.
다음으로, 축약 후보 네트워크 모티프(3c)가 축약됨에 따라 축약 후보 네트워크 모티프(3b)는 소멸되고, 남은 하나의 축약 후보 네트워크 모티프(3a)가 축약 대상 네트워크 모티프로 선정된다. 도 6f는 축약 대상 네트워크 모티프(3a)가 기호 Z로 축약된 점이 도시된다.
도 7을 참조하면, 원래의 소스 정보에는 총 10개의 feature가 존재 했는데, 도 5 내지 도 6f를 참조하여 설명한 네트워크 축약 방법이 수행된 결과, feature의 개수가 5개로 감소한 것을 알 수 있다.
요컨대, 충돌 회피 모드 대비 충돌 허용 모드는 feature 감소율이 더 높은 것을 알 수 있다. 다만, 충돌 회피 모드에서는 충돌 노드의 복제를 하지 않기 때문에, 이중 저장의 문제를 회피할 수 있으므로, 데이터 조회에 있어서 활용도를 높일 수 있는 효과를 가진다.
본 발명의 몇몇 실시예들에 따른 그래프 데이터 축약 방법이 수행되어 그래프 데이터가 축약되면, 설명된 바와 같이, feature 감소의 효과를 얻을 수 있다. feature가 감소된 소스 정보를 이용하여, 도 8 내지 도 20을 참조하여 설명되는 중요 정보 선정 방법이 수행될 수 있다.
소스 정보의 원본 대상으로 각 그룹 별 중요 정보를 선정하는 경우, 상기 소스 정보의 데이터 사이즈가 클수록 feature의 수가 늘어나게 되어 연산량의 부담이 있을 수 있으므로, 본 발명의 몇몇 실시예들에 따른 그래프 데이터 축약 방법을 수행함으로써 feature의 수를 감축시킨 후, 상기 중요 정보 선정 방법을 수행함으로써, 연산량 및 연산시간의 증가를 최소화시킬 수 있는 것이다. 후술할 각 그룹별 중요정보 선정 방법은 각각의 노드를 feature로서 처리하는 것에서 더 나아가, 부분 그래프를 feature로서 처리하는 것을 포함한다. 이 경우, feature의 개수가 더 증가하게 되는 것을 고려하면, 본 발명의 몇몇 실시예들에 따른 그래프 데이터 축약 방법이 수행되어, feature가 감소된 상태의 데이터를 대상으로 후술할 중요 정보 선정 방법을 수행하는 경우, 연산량 및 연산시간 측면의 절감 효과는 더 극대화 될 것이다.
도 8을 참조하여, 본 발명의 또 다른 실시예에 따른 그래프 데이터 조회 시스템의 구성 및 동작을 설명한다.
본 실시예에 따른 그래프 데이터 조회 시스템은 중요 정보 선정 장치(100)를 포함한다. 중요 정보 선정 장치(100)는 그래프 데이터(10) 및 그래프 데이터(10)의 그룹핑 정보를 얻고, 얻은 정보를 분석하여, 각 그룹 별로 중요 정보를 선정한다. 중요 정보 선정 장치(100)는, 중요 정보 선정 장치(100)와 분리된 컴퓨팅 장치인 그래프 데이터 스토리지(300)로부터 그래프 데이터(10) 및 그 그룹핑 정보를 수신할 수 있다. 또는, 중요 정보 선정 장치(100)의 스토리지에 그래프 데이터(10) 및 그 그룹핑 정보가 저장되어 있을 수도 있다.
클라이언트(200)는 중요 정보 선정 장치(100)에 그래프 데이터(10)를 대상으로 한 조회 요청(query)을 송신한다. 상기 조회 요청에는 얻고자 하는 데이터에 대한 조건이 포함될 수 있다. 상기 조건은, 예를 들어 그래프 데이터(10)에 형성되어 있는 복수의 그룹들 중 어느 하나에 대한 정보를 요구하는 것일 수 있다. 중요 정보 선정 장치(100)는 상기 조회 요청을 수신하고, 상기 조회 요청에 대한 회신(response)을 생성한다. 상기 회신에는 요구된 그룹에 대한 정보가 포함될 수 있다.
상기 요구된 그룹에 대한 정보는 요구된 그룹에 포함되는 모든 노드 및 모든 엣지에 대한 정보를 포함할 수 있다. 예를 들어, 도 8에 도시된 그래프 데이터(10)의 4개 그룹 중 그룹1(Grp#1)에 대한 정보가 상기 조회 요청을 통하여 요구된 경우, 상기 조회 요청에 대한 회신에는 그룹1(10a)에 포함되는 2개의 노드(11, 12) 및 2개의 노드 사이를 연결하는 하나의 엣지(13)에 대한 정보가 포함될 수 있다.
본 명세서에서 특정 그룹의 '정보'는 그래프 데이터(10)의 노드, 엣지 및 부분 그래프 중에서 상기 특정 그룹에 소속된 것을 가리킨다. 그리고 상기 특정 그룹의 '중요 정보'는 상기 특정 그룹의 '정보' 중에서, 소정의 기준에 따라 자동적으로 선정된 일부를 가리킨다.
이에 더하여, 중요 정보 선정 장치(100)는 상기 조회 요청의 회신을 생성할 때, 요구된 그룹의 중요 정보를 선정하고, 상기 중요 정보를 상기 회신에 포함시킬 수 있다. 도 1에는 노드 "1.1.1.1"(11)이 중요 정보(1)로서 선정된 점이 도시되어 있다. 상기 중요 정보는, 요구된 그룹의 노드, 엣지 및 부분 그래프 중 일부일 수 있다. 상기 부분 그래프는 그래프에 속하는 전체 노드 및 엣지 중 일부로 구성되는 것이다.
중요 정보 선정 장치(100)는 TF-IDF 알고리즘을 기반으로 구현된 중요 정보 선정 프로그램을 실행시킴으로써, 그래프 데이터(10)의 각 그룹을 대상으로 중요 정보를 선정한다. 이하, 중요 정보 선정 장치(100)에 의하여 수행되는 그룹 별 중요 정보 선정 관련 동작을 간략히 설명한다.
중요 정보 선정 장치(100)는 TF-IDF(Term Frequency - Inverse Document Frequency) 알고리즘을 기반으로 하여, 그래프 데이터(10)의 각 그룹에 소속된 노드, 엣지 및 부분 그래프 중 일부를 중요 정보로 선정한다.
TF-IDF 알고리즘은, 문서에 포함된 단어들에 대하여 중요도를 반영하는 가중치를 부여하기 위한 알고리즘이다. TF-IDF 알고리즘에 의하여 출력되는 TF-IDF값은 TF(Term Frequency)값과 IDF(Inverse Document Frequency)값의 곱을 기반으로 연산되는 값이다. 제1 문서에 포함된 단어들 중 제1 단어의 TF-IDF값이 높다면, 그 단어는 제1 문서 이외의 다른 문서에는 많이 포함되지 않았으나, 제1 문서에서는 많이 포함된 단어임을 의미한다.
중요 정보 선정 장치(100)는 기존의 TF-IDF 알고리즘이 그래프 데이터의 각 그룹 별 중요정보 선정에 적합하도록 변형된 TF-IDF 알고리즘을 실행한다. 본 명세서에서 상기 '변형된 IF-IDF 알고리즘'의 실행에 의하여 출력되는 값을 TF-IDF값으로 지칭하기로 한다.
중요 정보 선정 장치(100)는, 기존의 TF-IDF 알고리즘에서 문서(document; d)에 대응하는 개념으로서 그래프 데이터(10)의 각 그룹을 TF-IDF 알고리즘에 입력하고, 기존의 TF-IDF 알고리즘에서 단어(term; t)에 대응하는 개념으로써 그래프 데이터(10)의 각 그룹에 속한 노드를 TF-IDF 알고리즘에 입력한다.
몇몇 실시예에서, 중요 정보 선정 장치(100)는 각 그룹에 속한 엣지 및 부분 그래프 중 적어도 하나를 기존의 TF-IDF 알고리즘에서 단어(term; t)에 대응하는 개념으로써 TF-IDF 알고리즘에 더 입력할 수도 있다.
예를 들어 제1 그룹에 제1 노드, 제2 노드 및 상기 제1 노드와 상기 제2 노드를 연결하는 제1 엣지가 포함되는 경우, 중요 정보 선정 장치(100)는 상기 제1 그룹의 정보 중 중요 정보를 선정하기 위하여, 상기 제1 그룹에 대한 상기 제1 노드 및 상기 제2 노드의 TF-IDF값을 연산하고, 몇몇 실시예에서는 상기 제1 그룹에 대한 상기 제1 엣지의 TF-IDF값을 추가적으로 연산할 수 있다. 상기 제1 그룹에 속한 정보 중, 상기 제1 그룹에 대한 TF-IDF값이 높은 정보는, 상기 제1 그룹 이외의 다른 그룹에는 포함되지 않았거나, 소수의 다른 그룹에만 포함된 정보이다. 따라서, 중요 정보 선정 장치(100)는 상기 제1 그룹에 대하여 얻어진 상기 TF-IDF값들 중에서 가장 큰 값을 가지는 정보를 중요 정보로 선정함으로써, 상기 제1 그룹 특유의 정보를 자동화된 방식으로 선정할 수 있는 것이다.
중요 정보 선정 장치(100)는 기존의 TF-IDF 알고리즘의 기술 사상을 기반으로 하여 중요 정보를 선정한다. 기존의 TF-IDF 알고리즘은 문서 내 단어의 중요도를 평가하기 위하여 사용되던 방법론이지, 그룹화된 그래프 데이터에 대하여 적용됨으로써, 각 그룹 내 정보 중 중요 정보를 선정하기 위한 방법으로 사용되는 방법론은 아니다. 또한, 문서 내 단어의 중요도를 평가하는 기존의 적용 분야와, 본 발명의 몇몇 실시예에 따른 적용 분야는 전혀 다르다. 그리고, 기존의 TF-IDF 알고리즘은 통상적으로 특정 그룹에 소속된 그래프 데이터의 정보 중 중요 정보를 선정하기 위한 기술로서 쉽게 적용을 고려할 수 있는 알고리즘도 아니다. 기존의 TF-IDF 알고리즘은 기본적으로 각각의 평가 대상의 TF값이 다양한 값을 가질 수 있는 상황에서 적용을 고려할 수 있는 것인 반면, 본 발명의 몇몇 실시예에 따른 적용 분야는 각각의 노드가 특정 그룹에 포함되는지, 포함되지 않는지 만 달라질 뿐, 여러 번 포함될 수는 없는 점에서, 평가 대상 정보의 TF값이 0 또는 1이 될 수밖에 없기 때문이다. 그럼에도 불구하고, 본 발명의 몇몇 실시예에서는 TF-IDF 알고리즘을 기반으로 하여 그래프 데이터의 정보 중 중요 정보를 선정하기 위한 최적의 기술을 제공한다.
중요 정보 선정 장치(100)는 그래프 형식의 데이터이기만 하면, 어떤 내용을 담고 있는 데이터라도 그룹 별 중요 정보를 선정할 수 있다. 예를 들어, 중요 정보 선정 장치(100)는 사이버 위협 인텔리전스 정보로서, 상기 그룹핑 정보에 따른 각각의 그룹은 침해 사고와 관련된 노드들을 포함하고, 각각의 노드는 침해 자원을 가리키고, 상기 노드 사이의 엣지는 상기 침해 자원 간의 연결 관계를 가리키는 그래프 데이터를 얻고, 각각의 그룹 별 중요 정보를 선정하며, 특정 그룹에 대한 조회 요청에 응답하여, 상기 특정 그룹에 속한 정보 중에서 자동으로 선정된 중요 정보를 포함하는 응답을 생성하여 회신 함으로써, 특정 침해 사고와 관련된 침해 자원 중에서 상기 특정 침해 사고 특유의 침해 자원이 쉽게 인식될 수 있도록 한다.
이하, 본 발명의 다른 실시예에 따른 중요 정보 선정 방법에 대하여 도 9a 내지 도 20을 참조하여 보다 자세히 설명한다. 본 실시예에 따른 방법은 컴퓨팅 장치에 의하여 수행된다. 예를 들어, 상기 컴퓨팅 장치는 도 8을 참조하여 설명한 중요 정보 선정 장치일 수 있다. 다만, 본 실시예에 따른 방법은 연산 수단 및 저장 수단을 포함한 컴퓨팅 장치라면 어떠한 컴퓨팅 장치를 이용하여 실시하더라도 무방하며, 예를 들어, 노트북, 데스크톱, 태블릿, 스마트폰 등의 개인용 컴퓨팅 장치에 의하여도 본 실시예에 따른 방법은 실행될 수 있다. 이하, 본 실시예에 따른 방법을 구성하는 각각의 동작을 설명함에 있어서, 그 주체에 대한 명시가 누락된 경우, 그 주체는 상기 컴퓨팅 장치인 것으로 이해되어야 한다. 또한, 본 실시예에 따른 방법을 구성하는 각각의 동작이 모두 하나의 컴퓨팅 장치에 의하여 실행되어야 하는 것은 아니고, 본 실시예에 따른 방법을 구성하는 일부의 동작은 다른 동작을 실행하는 컴퓨팅 장치와 다른 컴퓨팅 장치에 의하여 실행될 수 있음을 유의하여야 한다. 이미 설명한 바와 같이, 본 실시예에 따른 방법은 그래프 형식의 데이터이기만 하면, 어떤 내용을 담고 있는 데이터에 대하여도 실행될 수 있다. 예를 들어, 상기 그래프 데이터는 상기 사이버 위협 인텔리전스 정보이며, 각 그룹은 각각의 사이버 침해 사고를 가리킬 수 있다.
본 실시예에 대한 설명 과정에서 참조되는 그래프 형식의 데이터 및 그룹핑 결과에 따른 각 그룹의 구성을 도 9a 내지 도 9c를 참조하여 설명한다.
도 8a는 4개의 노드(11, 12, 15, 17) 및 3개의 엣지(13, 14, 16)로 구성되는 예시적이고 간략한 그래프 데이터를 도시한다. 일반적으로 간략한 그래프 데이터에 대하여는 그룹핑(또는 클러스터링으로도 지칭됨)을 진행할 필요가 크지 않을 것이나, 예시적인 설명을 위하여, 도 9a의 그래프 데이터에 대하여 그룹핑이 진행된 것으로 가정한다. 즉, 본 실시예에 따른 방법을 실행하는 컴퓨팅 장치는 그래프 데이터뿐만 아니라, 상기 그래프 데이터에 대한 그룹핑 정보를 얻을 수 있다.
상기 그룹핑 정보는 각 그룹 별 소속 노드를 가리키는 정보를 포함한다. 이 때, 각각의 그룹이 식별됨에 있어서, 엣지 e가 연결하는 2개의 노드 n1, n2를 그룹 g가 모두 포함하는 경우에 한하여, 상기 그룹 g가 상기 엣지 e를 포함하는 것으로 결정될 수도 있고(제1 방식), 엣지 e가 연결하는 2개의 노드 n1, n2 중 하나 이상만 그룹 g가 포함하면, 상기 그룹 g가 상기 엣지 e를 포함하는 것으로 결정될 수도 있을 것(제2 방식)이며, 엣지 e가 연결하는 2개의 노드 n1, n2 중 하나를 그룹 g가 포함할 때, 엣지 e의 가중치가 기준치를 초과하는 경우에만, 상기 그룹 g가 상기 엣지 e를 포함하는 것으로 결정될 수도 있을 것이다.
그룹 1(Grp#1)(10a)이 노드 "1.1.1.1"(11)과 "mal.com"(12)을 포함하고, 그룹 2(Grp#2)(10b)가 노드 "A231.."(15)을 포함하며, 그룹 3(Grp#3)(10c)이 노드 "mal.com"(12) 및 노드 "1.1.1.2"(17)를 포함하고, 그룹 4(Grp#4)(10d)가 "mal.com"(12), 노드 "A231.."(15) 및 노드 "1.1.1.2"(17)를 포함하는 것을 전제하여 이하 본 발명의 몇몇 실시예들을 설명한다.
이 때, 위에서 설명한 상기 제1 방식에 따르면, 도 9c에 도시된 바와 같이, 그룹 1(Grp#1)(10a)은 노드 "1.1.1.1"(11)과 "mal.com"(12) 사이의 엣지(13)를 포함하고, 그룹 2(Grp#2)(10b)는 엣지를 포함하지 않으며, 그룹 3(Grp#3)(10c) 및 그룹 4(Grp#4)(10d)는 노드 "mal.com"(12) 및 노드 "1.1.1.2"(17) 사이의 엣지(16)를 포함한다.
또는, 위에서 설명한 상기 제2 방식에 따르면, 도 9b에 도시된 바와 같이, 그룹 1(Grp#1)(10a)은 노드 "1.1.1.1"(11)과 "mal.com"(12) 사이의 엣지(13)에 더하여, 2개의 엣지(14, 16)을 더 포함하고, 그룹 2(Grp#2)(10b)는 엣지(14)를 포함하고, 그룹 3(Grp#3)(10c)은 노드 "mal.com"(12) 및 노드 "1.1.1.2"(17) 사이의 엣지(16)에 더하여 엣지(13)을 더 포함하고, 그룹 4(Grp#4)(10d)는 노드 "mal.com"(12) 및 노드 "1.1.1.2"(17) 사이의 엣지(16)에 더하여 2개의 엣지(13, 14)를 더 포함한다.
이미 설명한 바와 같이, 몇몇 실시예에서 특정 그룹의 정보에 노드 뿐만 아니라 엣지도 포함될 수 있다. 이는 상기 특정 그룹의 중요 정보로서 엣지도 선정될 수 있음을 의미한다. 그룹 별 엣지 포함 방식이 상기 제2 방식인 경우에, 상기 제1 방식 대비 더 많은 엣지가 상기 특정 그룹에 포함된다. 따라서, 노드 못지 않게 엣지가 가지는 정보 로서의 가치가 큰 그래프 데이터라면, 상기 제2 방식에 따라 각 그룹 별 소속 엣지가 결정될 것이다. 반대로, 엣지가 가지는 정보 로서의 가치가 크지 않은 그래프 데이터라면, 상기 제1 방식에 따라 각 그룹 별 소속 엣지가 결정될 것이다. 상기 제1 방식에 따르면, 각 그룹 별 소속 엣지의 개수가 줄기 때문에, 그만큼 연산 자원이 절약될 수 있다.
몇몇 실시예에서, 상기 소스 정보가 상기 사이버 위협 인텔리전스 정보인 경우, 그룹 별 엣지 포함 방식은 상기 제1 방식으로 결정될 수 있다. 상기 소스 정보가 상기 사이버 위협 인텔리전스 정보인 경우, 2개 중 하나의 노드만 특정 그룹에 포함된 경우까지 상기 2개의 노드를 연결하는 엣지를 상기 특정 그룹에 포함시키면, 상기 특정 그룹이 포함하는 정보에 노이즈가 포함될 우려가 있기 때문이다.
몇몇 실시예에서, 상기 그룹 별 엣지 포함 방식이 상기 제1 방식 및 상기 제2 방식 중 어느 하나로 자동 결정될 수도 있다(제3 방식). 예를 들어, 연산 자원의 절약을 위해, 그래프 데이터에 포함된 전체 엣지의 수(NUM_EDGE)와, 전체 노드의 수(NUM_NODE)를 이용하여 연산 된 지표 (NUM_EDGE / NUM_NODE)의 값이 기준치를 초과하는 경우, 상기 그룹 별 엣지 포함 방식은 상기 제2 방식으로 자동 결정되고, 상기 지표 (NUM_EDGE / NUM_NODE)의 값이 상기 기준치 미만인 경우, 상기 그룹 별 엣지 포함 방식은 상기 제1 방식으로 자동 결정될 것이다.
이하, 몇몇 실시예에서, 각 그룹에 포함되는 노드 만을 대상으로 각 그룹 별 중요 정보를 선정하는 방법을 도 10 내지 도 11을 참조하여 설명한다. 도 10 내지 도 11은 도 9a 내지 도 9c의 그래프 데이터 및 그 그룹핑 정보가 얻어진 상황에서, 각 그룹 별 중요 정보를 선정하는 방법을 설명하는 도면이다.
도 10에는 각각의 노드 별 TF 값을 표현하는 2차원의 행렬 TF[G][N](20)가 도시되어 있다. N은 그래프 데이터의 전체 노드 개수, G는 그래프 데이터의 전체 그룹 개수이다. TF 값 TF[g][n]는 노드 n이 그룹 g에 소속되어 있다면 '1'의 값을 가지고, 소속되지 않았다면 '0'의 값을 가진다. 도 10의 행렬 TF[G][N](20)에서, DF(n)의 값, 즉 각 노드가 각각의 그룹에 소속된 횟수는 아래와 같다.
DF(1.1.1.1) = 1+0+0+0 = 1
DF(1.1.1.2) = 0+0+1+1 = 2
DF(A231..) = 0+1+0+1 = 2
DF(mal.com) = 1+0+1+1 = 3
다음으로, 노드 n의 IDF값은 아래의 수학식 1으로 구해진다.
Figure 112019114695730-pat00001
수학식 1에 따른 각 노드의 IDF값은 아래와 같다.
IDF(1.1.1.1) =1n[(1 + 4)/(1 + 1)] + 1 = 1.91629073187
IDF(1.1.1.2) = ln[(1 + 4)/(1 + 2)] + 1 = 1.51082562376
IDF(A231..) = ln[(1 + 4)/(1 + 2)] + 1 = 1.51082562376
IDF(mal.com) = ln[(1 + 4)/(1 + 3)] + 1 = 1.22314355131
다음으로, 노드 n의 그룹 g에 대한 TF-IDF 값은 아래의 수학식 2로 구해진다.
Figure 112019114695730-pat00002
몇몇 실시예에서, 노드 n의 그룹 g에 대한 TF-IDF 값을 구함에 있어서, 수학식 2에 따른 결과에 L2 normalization을 취함으로써, 각각의 그룹의 특징 벡터를 정규화 할 수 있을 것이다. 도 4에는 각각의 그룹에 대한 각 노드 별 TF-IDF 값이 L2 normalize 된 결과값을 표현하는 2차원의 행렬 TF-IDF[G][N](30)가 도시되어 있다.
다음으로, 노드 n의 그룹 g에 대한 TF-IDF 값을 이용하여 각 그룹 별 중요 정보가 선정된다. 예를 들어, 각 그룹 별로 TF-IDF 값이 가장 큰 노드가 상기 중요 정보로 선정될 수 있을 것이다. 도 11에는, 각 그룹 별로 TF-IDF 값이 가장 큰 노드가 중요 정보로 선정된 점이 도시되어 있다. 도 11의 별표 표시는 중요 정보를 가리킨다.
이상, 각 그룹에 속한 노드 중에서 중요 정보가 선정되는 실시예를 설명하였다. 몇몇 실시예들에 따르면, 각 그룹에 속한 노드 및 엣지 중에서 중요 정보가 선정될 수도 있음을 유의한다. 이 때, 각 엣지가 각 그룹에 포함되었는지 여부를 판정함에 있어서, 이미 설명한 상기 그룹 별 엣지 포함 방식들 중 어느 하나(제1 내지 제3 방식 중 어느 하나)가 적용될 수 있을 것이다. 각 엣지의 DF 값, IDF값, TF-IDF값을 연산하는 방식은 노드의 DF 값, IDF값, TF-IDF값을 연산하는 방식과 동일할 수 있다.
각 그룹에 속한 노드들 중에서만 중요 정보를 선정하는 실시예 대비, 각 그룹에 속한 노드들 및 엣지 중에서 중요 정보를 선정하는 실시예는, 각 노드 사이의 연결 관계를 반영하여 중요 정보를 선정할 수 있다는 추가적인 효과를 제공한다.
몇몇 실시예에서, 상기 연결 관계를 보다 정확하게 반영할 수 있도록, 각 그룹에 속한 노드들 및 부분 그래프들 중에서 중요 정보를 선정할 수도 있을 것이다. 이하, 이와 관련하여 도 12a 내지 12b를 참조하여 설명한다.
이미 설명한 바와 같이, 부분 그래프는 전체 그래프의 노드들 및 엣지들 중 일부로 구성되는데, 본 명세서에의 부분 그래프는 2개 이상의 노드들을 포함하는 것으로서, 소속된 노드들 모두는 적어도 하나의 엣지를 통하여 서로 연결된 것을 가리킨다. 즉, 본 명세서에의 부분 그래프는 연결된 그래프로서 2개 이상의 노드들을 포함하는 것이다.
일 실시예에서, 상기 부분 그래프는 2개의 노드 및 상기 2개의 노드를 연결하는 하나의 엣지로 구성될 수 있다. 이러한 부분 그래프는 더 이상 나뉠 수 없는 최소한의 부분 그래프로서, 아무리 복잡한 그래프라도, 2개의 노드 및 1개의 엣지로 구성된 다수의 부분 그래프들의 합집합으로서 표현될 수 있다. 이하, 2개의 노드 및 1개의 엣지로 구성된 부분 그래프를 최소 부분 그래프로 지칭한다. 상기 최소 부분 그래프는 직접 연결 관계를 가지는 2개의 노드를 표현하는 정보인 점에서 바이-그램(Bi-gram) 정보인 것으로 이해할 수 있을 것이다.
도 12a에는 도 9a에 제시된 전체 그래프에 포함되는 3개의 부분 그래프(10e, 10f, 10g)가 도시된다. 본 실시예에서, 상기 중요 정보는, 각 그룹에 포함된 노드들 및 최소 부분 그래프들 중에서 선정될 수 있다.
다른 실시예에서, 상기 부분 그래프는 제1 노드, 제2 노드 및 제3 노드와, 상기 제2 노드와 상기 제1 노드를 연결하는 제1 엣지와, 상기 제2 노드와 상기 제3 노드를 연결하는 제2 엣지로 구성될 수도 있다. 즉, 상기 부분 그래프는, 하나의 노드를 중심으로 각각 2개의 서로 다른 노드를 연결하는 2개의 엣지 및 3개의 노드로 구성되는 부분 그래프일 수 있는 것이다. 이러한 부분 그래프는 상기 제2 노드를 중심으로 직접 연결 관계를 가지는 제1 노드 및 제3 노드에 대한 정보, 즉 순차적으로 연결되어 있는 3개의 노드를 표현하는 정보인 점에서 3-그램(3-gram) 정보인 것으로 이해할 수 있을 것이다.
도 12b에는 도 9a에 제시된 전체 그래프에 포함되는 2개의 3-그램 부분 그래프(10h, 10i)가 도시된다. 본 실시예에서, 상기 중요 정보는, 각 그룹에 포함된 노드들 및 3-그램 부분 그래프들 중에서 선정될 수 있다.
또 다른 실시예에서, 상기 부분 그래프는 N-그램 정보(N은 4이상의 자연수)를 표현하는 것일 수도 있을 것이다.
또 다른 실시예에서, 상기 부분 그래프가 표현 하는 N-그램 정보에 있어서, 적절한 'N'은 전체 그래프 데이터를 고려하여 자동으로 결정될 수도 있다. 예를 들어, 전체 그래프 데이터에서 추출되는 부분 그래프의 개수가 기준치를 초과하지 않는 한도 내에서 가장 작은 값이 상기 N-그램 정보에 있어서 'N'의 값으로서 결정될 수 있다. 예를 들어, 전체 그래프 데이터의 데이터 사이즈가 크지 않거나, 상기 기준치가 충분히 큰 값으로 설정되어 있다면, 상기 N-그램 정보에 있어서 'N'의 값은 '2'로 결정될 것이다. 이하, 이해의 편의를 돕기 위해, 각 그룹에 포함되는 노드들 및 바이-그램 정보를 표현하는 부분 그래프들 중에서 중요 정보가 선정되는 실시예를 설명한다.
도 13a에는, 제1 축에 그래프 데이터의 전체 노드들(41) 및 그래프 데이터의 전체 부분 그래프들(바이-그램)(42)이 배치되고, 제2 축에 그룹이 배치된 2차원의 행렬 TF[N+S][G](40)가 도시되어 있다. 여기서 'S'는 부분 그래프의 총 개수이다. 도 12a를 참조하여 설명한 바와 같이, 전체 그래프 데이터에 포함된 바이-그램 부분 그래프는 총 3개(10e, 10f, 10g)이다. 그런데, 도 13a의 TF 행렬(40)에 도시된 바와 같이, 3개 중 한 개의 부분 그래프(10f)는 어느 그룹에도 속하지 않은 것이다. 따라서, 도 13b에 도시된 바와 같이, 부분 그래프(10f)는 삭제될 수 있을 것이다.
도 13b의 TF 행렬(40-1)으로부터 각각의 노드(41) 및 부분 그래프(42)에 대하여 DF 값이 연산되고, 수학식 1에 따라 IDF 값이 연산된 후, 수학식 2에 따라 TF-IDF 값이 연산될 수 있을 것이다. 그 후, 각 그룹 별로 노드(41) 및 부분 그래프(42) 중에서 선정된 중요 정보가 결정될 수 있을 것이다.
그런데, 지금까지 설명된 실시예에 따르더라도, 각 노드 사이의 유사도가 반영되어 중요 정보가 선정되지는 못하는 점을 감안하여, 몇몇 실시예에서, 각 노드 사이의 유사도를 더 반영하여 그룹 별 중요 정보가 선정될 수 있다. 이하, 도 14a 내지 도 20을 참조하여 각 노드 사이의 유사도를 더 반영하여 그룹 별 중요 정보가 선정되는 실시예를 설명한다.
이하, 설명되는 실시예는, 도 14a의 각 노드 별 유사도 관계(50)를 가정한 것이다. 도 14b의 제1 축 및 제2 축 모두 각 노드를 가리키는 행렬(60)은, 도 7a의 노드 별 유사도 관계(50)를 표현한 것이다. 각 노드 별 유사도 관계는 1 이하 0 이상의 실수 값을 갖는다.
본 발명의 몇몇 실시예들에서, 각 노드의 각 그룹에 대한 TF값이 각 노드 별 유사도 관계를 반영하여 조정된다.
상기 각 노드의 TF값의 조정을 위해, M1 X M2[g, n]을 상기 조정된 TF(g, n)값으로서 얻을 수 있다. 행렬 M1(60)은 제1 축으로서 각각의 노드가 배치되고, 제2 축으로서 각각의 노드가 배치되며, 그 행렬 값은 각 노드 간 유사도값인 2차원의 행렬이고, 행렬 M2(20)는 제1 축으로서 각각의 노드가 배치되고, 제2 축으로서 각각의 그룹이 배치되며, 그 행렬 값은 TF(g, n)값인 2차원의 행렬이다. 도 15에는, 행렬 M1(60)과 행렬 M2(20)을 곱한 결과로 얻어진, 행렬 M1 X M2(70)가 도시된다. 행렬 M1 X M2(70)의 각 행렬 값은 각 노드 간 유사도를 반영하여 조정된 TF값으로 이해될 수 있다.
상기 각 노드의 TF값의 조정을 위해, 다른 실시예에 따르면, 상기 그룹 g에 포함되는 다른 노드와 상기 노드 n과의 유사도 값을 기존의 TF(g, n)값에 합산함으로써 상기 TF(g, n)값을 조정할 수도 있다. 이는, 행렬 M1(60)과 행렬 M2(20)을 곱하는 과정에서 수행되는 내부적 연산을 통하여 도출되는 결론이다. 예를 들어, 노드 "1.1.1.1"의 그룹1(Grp#1)에 대한 조정된 TF 값 1.2는, 그룹1에 포함된 다른 노드 "mal.com"과 노드 "1.1.1.1" 사이의 유사도인 0.2를, 노드 "1.1.1.1"의 원래 TF값인 1에 더한 값이다.
도 15에는 각각의 노드의 원래 TF값들을 포함하는 행렬(20) 및 조정된 TF값들을 포함하는 행렬(70)이 도시된다. 그룹1(Grp#1)의 경우, 노드 "1.1.1.1"의 TF값은 1에서 1.2로 조정되었고, 노드 "1.1.1.2"의 TF값은 0에서 1.05로 조정되었으며, 노드 "A231.."의 TF값은 0에서 0.5로 조정되었고, 노드 mal.com의 TF값은 1에서 1.2로 조정되었다. 즉, TF값의 조정은 TF값이 증가하는 방향으로 이뤄진다.
각 노드 사이의 유사도 값을 반영한 TF값의 증가는, 노드와 함께 중요 정보로 선정될 수 있는 부분 그래프에 대하여도 수행되는 것이 바람직하다. 그리고, 부분 그래프의 TF값의 증가 비율은 노드의 TF값의 증가 비율 중 최대 비율과 일치시킬 수 있다. 왜냐하면, 부분 그래프는 복수의 노드 및 각 노드 사이의 엣지 연결이라는 정보를 포함하고 있는 점에서, 각각의 노드 보다는 많은 정보를 담고 있기 때문이다. 즉, 부분 그래프는 중요도 측면에서 최소 각각의 노드만큼의 중요도는 가지고 있는 바, 부분 그래프 s의 그룹 s에 대한 TF 값인 TF(g, s)값은, 그룹 g에 속한 각각의 노드들의 상기 조정에 따른 TF(g, n) 값의 증가 비율 증 최대 비율만큼, 상기 TF(g, s)값을 증가시킬 수 있다.
도 17에 도시된 사례에서, 그룹1에 대한 각 노드의 원래 TF 값이 0인 경우에는 증가율을 산출시킬 수 없으므로 TF값 증가율 산출 대상에서 제외하면, 노드 "1.1.1.1"의 TF값 증가율과 노드 "mal.com"의 증가율이 모두 20%로 동일하다. 따라서, 도 10에 도시된 바와 같이, 그룹1에 대한 모든 부분 그래프(42)의 TF 값도 20%만큼 증가시켜준다. 그룹1과 마찬가지 이유로 그룹3에 대한 모든 부분 그래프(42)의 TF 값은 30%만큼 증가시켜주고, 그룹4에 대한 모든 그래프의 TF 값은 80%만큼 증가시켜준다. 그 결과 각 노드의 조정된 TF값 및 각 부분 그래프의 조정된 TF값을 포함하는 행렬 TF[G][N+S'](80)이 구성된다. 여기서 G는 그룹의 총 개수이고, N은 노드의 총 개수이며, S'는 부분 그래프의 총 개수에서 어떠한 그룹에도 소속되지 않은 부분 그래프를 제외한 개수이다.
그런데, 조정된 TF값은 소수점 단위의 값을 가지게 되고, 이는 각 노드 또는 각 부분 그래프가 특정 그룹에 포함되어 있는지를 가리키는, 본 발명의 실시예에서의 TF값의 정의에 부합하지 않게 된다. 따라서, TF값에 대하여 내림처리를 해준 후, 각 노드 및 각 부분 그래프의 TF-IDF 값을 구할 필요가 있다. 도 18에는 TF 값에 대한 내림처리를 수행한 후의 행렬 TF[G][N+S'](81)이 도시된다.
도 18의 행렬 TF[G][N+S'](81)에서, DF(n)의 값, 즉 각 노드가 각각의 그룹에 소속된 횟수와, DF(s)의 값, 즉 각 부분 그래프가 각각의 그룹에 소속된 횟수는 아래와 같이 얻어진다.
DF(1.1.1.1) = 1+0+0+0 = 1
DF(1.1.1.2) = 1+0+1+1 = 3
DF(A231..) = 0+1+0+1 = 2
DF(mal.com) = 1+0+1+1 = 3
다른 노드는 원래의 DF값과, 조정된 TF값에 기반한 DF값이 동일하나, 노드 "1.1.1.2"는 원래의 DF값은 2인 반면, 조정된 TF값은 3으로 증가한 점을 확인할 수 있다. 따라서, 노드 "1.1.1.2"의 IDF값은 원래의 값과 달라지게 된다. 이에 따라, 각 그룹별 중요 정보 선정 결과에도 변화가 생길 수 있다.
다음으로, 노드 n 및 부분 그래프 s의 IDF값은 이미 제시된 수학식 1으로 구해진다.
수학식 1에 따른 각 노드의 IDF값은 아래와 같다.
IDF(1.1.1.1) =1n[(1 + 4)/(1 + 1)] + 1 = 1.91629073187 (노드 간 유사도 반영 전과 동일)
IDF(1.1.1.2) = ln[(1 + 4)/(1 + 2)] + 1 = 1.51082562376 (노드 간 유사도 반영 전과 다름)
IDF(A231..) = ln[(1 + 4)/(1 + 2)] + 1 = 1.51082562376 (노드 간 유사도 반영 전과 동일)
IDF(mal.com) = ln[(1 + 4)/(1 + 3)] + 1 = 1.22314355131 (노드 간 유사도 반영 전과 동일)
IDF(1.1.1.1 --> mal.com) = ln[(1 + 4)/(1 + 1)] + 1 = 1.91629073187
IDF(mal.com --> 1.1.1.2) = ln[(1 + 4)/(1 + 1)] + 1 = 1.151082562376
다음으로, 노드 n의 그룹 g에 대한 TF-IDF 값은 이미 제시된 수학식 2로 구해진다. 또한, 노드 n의 그룹 g에 대한 TF-IDF 값을 구함에 있어서, 수학식 2에 따른 결과에 L2 normalization을 취함으로써, 각각의 그룹의 특징 벡터를 정규화 할 수 있는 점을 설명한 바 있다. 도 12에는 각각의 그룹에 대한 각 노드 및 각 부분 그래프 별 TF-IDF 값이 L2 normalize 된 결과값을 표현하는 2차원의 행렬 TF-IDF[G][N+S'](90)이 도시되어 있다.
다음으로, 노드 n 및 부분 그래프 s의 그룹 g에 대한 TF-IDF 값을 이용하여 각 그룹 별 중요 정보가 선정된다. 예를 들어, 각 그룹 별로 TF-IDF 값이 가장 큰 노드가 상기 중요 정보로 선정될 수 있을 것이다. 도 12에는, 각 그룹 별로 TF-IDF 값이 가장 큰 노드 또는 부분 그래프가 중요 정보로 선정된 점이 도시되어 있다. 도 12의 별표 표시는 중요 정보를 가리킨다.
도 19의 하단에는 그래프 데이터의 각 그룹에 대한 각 노드 별 TF값을 그대로 이용하여 각 그룹 별 중요 정보를 선정한 결과가 도시되어 있고, 도 19의 상단에는 그래프 데이터의 각 그룹에 대한 각 노드의 TF값을, 각 노드 별 유사도 값을 반영하여 증가시키는 조정을 수행하고, 이러한 값의 증가를 반영하여 각 부분 그래프의 TF값도 증가시켜준 결과를 바탕으로 각 그룹 별 중요 정보를 선정한 결과가 도시되어 있다. 이에 따르면, 각 노드 별 유사도 값을 반영하고, 각 노드 간 연결관계 반영을 위해 부분 그래프를 추가적으로 중요 정보로서 고려한 결과, 그룹1, 3, 4에서 중요 정보 선정 결과가 바뀌었음을 확인할 수 있다.
즉, 지금까지 설명한 본 발명의 몇몇 실시예들에 따르면, 그룹화 된 그래프 데이터에서, 각 그룹 별 중요 정보를 자동화된 방식으로 선정하고, 특히, 각 노드 별 유사도와 각 노드 간의 연결 관계까지 반영함으로써, 각 그룹 별 중요 정보의 선정의 정확도가 높아지는 효과를 제공한다.
이하, 지금까지 도 9a 내지 도 19를 참조하여 설명한, 본 발명의 일 실시예에 따른 중요 정보 선정 방법을, 도 20의 순서도를 참조하여 정리하여 설명한다. 이해의 편의를 돕기 위해, 도 9a 내지 도 19를 참조하여 이미 설명한 사항은 반복 설명하지 않기로 한다.
단계 S101 및 S103에서, 그래프 구조의 데이터인 소스 정보를 얻고, 상기 소스 정보 상의 그룹핑 정보를 얻는다. 다음으로, 상기 그룹핑 정보에 따른 각각의 그룹 별로, 그룹 g에 속한 노드 n 중, 하나 이상의 중요 정보를, 그룹 g에 대하여 각각의 노드 n에 부여되는 TF-IDF(g, n)값을 이용하여 선정할 수 있다. 상기 TF-IDF(g, n)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 노드 n을 입력하고, 문서(d)에 대응되는 개념으로서 그룹 g를 입력한 결과 얻어지는 값이다. 몇몇 실시예에서, 상기 방식으로 선정된 중요 정보를 클라이언트에 제공할 수 있다. 다른 몇몇 실시예에서는, 각 노드 간의 연결 관계 및 각 노드 간의 유사도를 더 반영하여 중요 정보를 선정하기 위하여, 일부 동작이 변형될 수 있다. 이와 관련하여, 이하 설명한다.
단계 S105에서, 상기 소스 정보에 따른 각 요소 정보(노드, 엣지)의 연결 관계를 분석하여 부분 그래프 s를 식별하고, 각 부분 그래프의 TF값인 TF(g, s)를 연산한다.
단계 S107에서, 각 노드 간의 유사도(0 이상 1이하의 실수)를 반영하여, TF(g, n)값이 증가하도록 조정한다. 또한, 단계 S109에서, TF(g, n)값이 증가된 것을 반영하여, TF(g, s)값도 함께 증가되도록 조정된다.
단계 S111에서, 조정된 TF(g, n)값 및 TF(g, s)값을 내림 연산하여, TF값의 의미에 반하는 소수점 아래의 값을 제거한다.
단계 S113에서, 내림 연산된 TF(g, n)값 및 TF(g, s)값을 이용하여 각 노드 및 각 부분 그래프의 각 그룹에 대한 TF-IDF값을 연산하고, 단계 S115에서, 연산된 TF-IDF값을 기준으로 각 그룹 별 중요정보를 선정한다.
상기 선정된 각 그룹 별 중요정보는, 클라이언트로부터 수신된 그룹 정보 조회 요청에 응답하여 생성된 그룹 정보에 포함되어 상기 클라이언트에 송신될 수 있다. 예를 들어, 상기 클라이언트에 송신되는 정보는, 요청된 그룹에 속한 노드 및 엣지에 대한 정보와 함께 해당 그룹의 상기 중요 정보가 포함될 수 있는 것이다. 한편, 몇몇 실시예에서는, 상기 중요 정보가 항상 포함되는 것이 아니라, 요청된 그룹의 구성 요소 개수가 기준치를 초과하는 경우에 한하여 상기 중요 정보가 포함될 수도 있다. 상기 구성 요소의 갯수는 노드의 개수 및 엣지의 개수 중 적어도 일부를 합산한 값을 의미한다. 요청된 그룹에 포함된 정보량이 많지 않은 경우까지 상기 중요 정보를 선정하는 것보다는, 즉시 응답을 제공하는 것이 효율적이므로, 본 실시예에서는, 요청된 그룹에 포함된 정보량이 많아서 중요 정보를 신속하게 파악하는 것이 어려울 때에만 중요 정보를 선정하는 로직을 추가적으로 수행하는 것으로 이해될 수 있을 것이다.
이하에서는, 도 21을 참조하여 본 발명의 다양한 실시예에서 설명된 중요 정보 선정 방법 또는 데이터 조회 방법을 구현할 수 있는 예시적인 컴퓨팅 장치(500)에 대하여 설명하도록 한다.
도 21은 컴퓨팅 장치(500)를 나타내는 예시적인 하드웨어 구성도이다.
도 21에 도시된 바와 같이, 컴퓨팅 장치(500)는 하나 이상의 프로세서(510), 버스(550), 통신 인터페이스(570), 프로세서(510)에 의하여 수행되는 컴퓨터 프로그램(591)을 로드(load)하는 메모리(530)와, 컴퓨터 프로그램(591)를 저장하는 스토리지(590)를 포함할 수 있다. 다만, 도 20에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 20에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.
프로세서(510)는 컴퓨팅 장치(500)의 각 구성의 전반적인 동작을 제어한다. 프로세서(510)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(510)는 본 발명의 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(500)는 하나 이상의 프로세서를 구비할 수 있다.
메모리(530)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(530)는 본 발명의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(590)로부터 하나 이상의 프로그램(591)을 로드(load) 할 수 있다. 예를 들어, 컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로그램의 로직(또는 모듈)이 메모리(530) 상에 구현될 수 있다. 메모리(530)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다.
버스(550)는 컴퓨팅 장치(500)의 구성 요소 간 통신 기능을 제공한다. 버스(550)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.
통신 인터페이스(570)는 컴퓨팅 장치(500)의 유무선 인터넷 통신을 지원한다. 통신 인터페이스(570)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(570)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.
스토리지(590)는 하나 이상의 컴퓨터 프로그램(591)을 비임시적으로 저장할 수 있다. 스토리지(590)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.
컴퓨터 프로그램(591)은 본 발명의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션들을 포함할 수 있다. 컴퓨터 프로그램(591)이 메모리(530)에 로드 되면, 프로세서(510)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 발명의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다.
지금까지 도 1 내지 도 20을 참조하여 설명된 본 발명의 기술적 사상은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 발명이 다른 구체적인 형태로도 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명에 의해 정의되는 기술적 사상의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (17)

  1. 컴퓨팅 장치에 의하여 수행되는 방법에 있어서,
    그래프 구조의 정보인 소스 정보 및 소스 정보에 대한 클러스터링의 결과가 반영된 그룹핑(grouping) 정보를 얻는 단계;
    상기 소스 정보로부터 추출된 오리지널 네트워크 모티프 중, 네트워크 모티프의 구성원 노드가 모두 동일한 그룹에 속하는 하나 이상의 축약 후보 네트워크 모티프를 얻는 단계;
    상기 축약 후보 네트워크 모티프 중 축약 후보 네트워크 모티프에 속한 엣지의 레벨 합계를 기준으로, 축약 대상 네트워크 모티프를 선정하는 단계; 및
    상기 축약 대상 네트워크 모티프를 단일 노드로 치환 하는 단계
    를 포함하되,
    상기 축약 대상 네트워크 모티프를 선정하는 단계는,
    상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프를 상기 축약 대상 네트워크 모티프로 선정하는 단계를 포함하는,
    그래프 데이터 축약 방법.
  2. 제1 항에 있어서,
    상기 축약 후보 네트워크 모티프를 얻는 단계는,
    상기 소스 정보로부터 추출된 네트워크 모티프 중, 네트워크 모티프의 구성원 노드가 모두 특정 그룹에 속하지 않는 하나 이상의 상기 축약 후보 네트워크 모티프를 더 얻는 단계를 포함하는,
    그래프 데이터 축약 방법.
  3. 삭제
  4. 제1 항에 있어서,
    상기 오리지널 네트워크 모티프는,
    제1 노드 및 제2 노드를 연결하는 엣지를 포함하되,
    상기 제1 노드와 상기 제2 노드가 일반 연결 관계인 경우, 상기 엣지는 레벨이 1으로 세팅되고,
    상기 제1 노드와 상기 제2 노드가 유사 관계인 경우, 상기 엣지는 레벨이 0으로 세팅되며,
    상기 제1 노드와 상기 제2 노드가 일반+유사 관계인 경우, 상기 엣지는 레벨이 2로 세팅되는,
    그래프 데이터 축약 방법.
  5. 제1 항에 있어서,
    상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프를 상기 축약 대상 네트워크 모티프로 선정하는 단계는,
    상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프가 복수개 존재하는 경우, 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프를 상기 축약 대상 네트워크 모티프로 선정하는 단계를 포함하는,
    그래프 데이터 축약 방법.
  6. 제5 항에 있어서,
    상기 오리지널 네트워크 모티프는,
    제1 노드 및 제2 노드를 연결하는 엣지를 포함하되,
    상기 제1 노드와 상기 제2 노드가 일반 연결 관계인 경우, 상기 엣지는 연결도 값이 1으로 세팅되고,
    상기 제1 노드와 상기 제2 노드가 유사 관계인 경우, 상기 엣지는 연결도 값이 1 미만으로 세팅되며,
    상기 제1 노드와 상기 제2 노드가 일반+유사 관계인 경우, 상기 엣지는 연결도 값이 1 초과로 세팅되는,
    그래프 데이터 축약 방법.
  7. 제5 항에 있어서,
    상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프가 복수개 존재하는 경우, 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프를 상기 축약 대상 네트워크 모티프로 선정하는 단계는,
    상기 레벨 합계가 가장 높은 축약 후보 네트워크 모티프가 복수개 존재하고, 상기 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프가 복수개 존재하는 경우, 상기 축약 후보 네트워크 모티프에 속한 엣지의 연결도 합계가 가장 높은 축약 후보 네트워크 모티프들 중 랜덤하게 상기 축약 대상 네트워크 모티프를 선정하는 단계를 포함하는,
    그래프 데이터 축약 방법.
  8. 제1 항에 있어서,
    상기 소스 정보는,
    사이버 위협 인텔리전스 정보로서, 상기 그룹핑 정보에 따른 각각의 그룹은 침해 사고와 관련된 노드들을 포함하고, 각각의 노드는 침해 자원을 가리키고, 상기 노드 사이의 엣지는 상기 침해 자원 간의 연결 관계를 가리키는 것이고,
    상기 소스 정보는 비방향성 그래프인,
    그래프 데이터 축약 방법.
  9. 제1 항에 있어서,
    상기 오리지널 네트워크 모티프는,
    3개의 노드로 구성된 부분 그래프인,
    그래프 데이터 축약 방법.
  10. 제1 항에 있어서,
    상기 오리지널 네트워크 모티프는,
    복수의 그룹에 속하는 충돌 노드 및 상기 충돌 노드에 연결된 모든 엣지가 제거되도록 변형된 상기 소스 정보로부터 추출된 것인,
    그래프 데이터 축약 방법.
  11. 제1 항에 있어서,
    상기 축약 대상 네트워크 모티프를 단일 노드로 치환 하는 단계는,
    상기 축약 대상 네트워크 모티프가 복수의 그룹에 속하는 충돌 노드를 포함하는 경우, 상기 충돌 노드를 복제한 후, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환하는 단계를 포함하는,
    그래프 데이터 축약 방법.
  12. 제11 항에 있어서,
    상기 충돌 노드를 복제한 후, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환하는 단계는,
    상기 오리지널 네트워크 모티프가, 복수의 그룹에 속하는 충돌 노드가 제거되지 않은 상기 소스 정보로부터 추출된 것인 경우에 한하여, 상기 축약 대상 네트워크 모티프가 복수의 그룹에 속하는 충돌 노드를 포함하는 경우, 상기 충돌 노드를 복제한 후, 상기 축약 대상 네트워크 모티프를 단일 노드로 치환하는 단계를 포함하는,
    그래프 데이터 축약 방법.
  13. 제1 항에 있어서,
    상기 축약 대상 네트워크 모티프를 단일 노드로 치환 하는 단계는,
    상기 축약 대상 네트워크 모티프의 2개 이상의 노드와 연결된 외부 노드와 상기 단일 노드를 연결하는 엣지를 생성하되, 상기 엣지의 레벨은 상기 외부 노드와 상기 축약 대상 네트워크 모티프의 각 노드 사이의 엣지의 레벨을 합산한 값을 이용하여 세팅되고, 상기 엣지의 연결도 값은 상기 외부 노드와 상기 축약 대상 네트워크 모티프의 각 노드 사이의 엣지의 연결도 값을 합산한 값을 이용하여 세팅되는 단계를 포함하는,
    그래프 데이터 축약 방법.
  14. 제1 항에 있어서,
    상기 축약 후보 네트워크 모티프가 더 이상 존재하지 않을 때까지, 상기 축약 대상 네트워크 모티프를 선정하는 단계 및 상기 축약 대상 네트워크 모티프를 기호로 치환 하는 단계를 반복하는 단계를 더 포함하는,
    그래프 데이터 축약 방법.
  15. 제14 항에 있어서,
    상기 반복하는 단계 이후에, 그룹 별 중요 정보를 선정하는 단계를 더 포함하되,
    상기 그룹 별 중요 정보를 선정하는 단계는,
    상기 그룹핑 정보에 따른 각각의 그룹 별로, 그룹 g에 속한 노드 n 및 부분 그래프 s 중, 하나 이상의 중요 정보를, 그룹 g에 대하여 각각의 노드 n 및 부분 그래프 s에 부여되는 TF-IDF(g, n)값 및 TF-IDF(g, s)값을 이용하여 선정하는 단계를 포함하되,
    상기 부분 그래프는, 상기 소스 정보를 구성하는 부분 그래프로서, 2개 이상의 요소 노드 및 상기 요소 노드 사이를 연결하는 요소 엣지를 포함하는 그래프이고,
    상기 TF-IDF(g, n)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 노드 n을 입력하고, 문서(d)에 대응되는 개념으로서 그룹 g를 입력한 결과 얻어지는 값이고,
    상기 TF-IDF(g, s)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 부분 그래프 s를 입력하고, 문서(d)에 대응되는 개념으로 그룹 g를 입력한 결과 얻어지는 값인,
    그래프 데이터 축약 방법.
  16. 메모리; 및
    상기 메모리에 로드된 컴퓨터 프로그램을 실행하는 프로세서를 포함하되,
    상기 컴퓨터 프로그램은,
    그래프 구조의 정보인 소스 정보 및 소스 정보에 대한 클러스터링의 결과가 반영된 그룹핑(grouping) 정보를 얻는 인스트럭션;
    상기 소스 정보로부터 추출된 오리지널 네트워크 모티프 중, 네트워크 모티프의 구성원 노드가 모두 동일한 그룹에 속하는 하나 이상의 축약 후보 네트워크 모티프를 얻는 인스트럭션;
    상기 축약 후보 네트워크 모티프 중 축약 후보 네트워크 모티프에 속한 엣지의 레벨 합계를 기준으로, 축약 대상 네트워크 모티프를 선정하는 인스트럭션;
    상기 축약 대상 네트워크 모티프를 단일 노드로 치환 하는 인스트럭션;
    상기 축약 후보 네트워크 모티프가 더 이상 존재하지 않을 때까지, 상기 축약 대상 네트워크 모티프를 선정하는 단계 및 상기 축약 대상 네트워크 모티프를 기호로 치환 하는 단계를 반복하는 인스트럭션; 및
    그룹 별 중요 정보를 선정하는 인스트럭션
    을 포함하되,
    상기 그룹 별 중요 정보를 선정하는 인스트럭션은,
    상기 그룹핑 정보에 따른 각각의 그룹 별로, 그룹 g에 속한 노드 n 및 부분 그래프 s 중, 하나 이상의 중요 정보를, 그룹 g에 대하여 각각의 노드 n 및 부분 그래프 s에 부여되는 TF-IDF(g, n)값 및 TF-IDF(g, s)값을 이용하여 선정하는 인스트럭션을 포함하고,
    상기 부분 그래프는, 상기 소스 정보를 구성하는 부분 그래프로서, 2개 이상의 요소 노드 및 상기 요소 노드 사이를 연결하는 요소 엣지를 포함하는 그래프이고,
    상기 TF-IDF(g, n)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 노드 n을 입력하고, 문서(d)에 대응되는 개념으로서 그룹 g를 입력한 결과 얻어지는 값이고,
    상기 TF-IDF(g, s)는, TF-IDF 알고리즘에, 단어(t)에 대응되는 개념으로서 부분 그래프 s를 입력하고, 문서(d)에 대응되는 개념으로 그룹 g를 입력한 결과 얻어지는 값인,
    그래프 데이터 축약 장치.
  17. 삭제
KR1020190142334A 2019-10-08 2019-11-08 그래프 데이터 축약 방법 및 그 장치 KR102115372B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190142334A KR102115372B1 (ko) 2019-11-08 2019-11-08 그래프 데이터 축약 방법 및 그 장치
US16/698,780 US20210103566A1 (en) 2019-10-08 2019-11-27 Graph data abbreviation method and apparatus thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190142334A KR102115372B1 (ko) 2019-11-08 2019-11-08 그래프 데이터 축약 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR102115372B1 true KR102115372B1 (ko) 2020-05-27

Family

ID=70911199

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190142334A KR102115372B1 (ko) 2019-10-08 2019-11-08 그래프 데이터 축약 방법 및 그 장치

Country Status (2)

Country Link
US (1) US20210103566A1 (ko)
KR (1) KR102115372B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114040028B (zh) * 2021-10-29 2023-11-24 深圳智慧林网络科技有限公司 一种基于三种模式的数据压缩方法和数据解压方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003669A (ja) * 2011-06-13 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> グラフ構造を有するデータから頻度の高い部分構造を抽出する方法、その装置およびプログラム
JP2013156698A (ja) * 2012-01-26 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> クラスタリング装置及び方法及びプログラム
KR20150125511A (ko) 2014-04-30 2015-11-09 한국과학기술원 그래프 압축 처리 방법 및 장치
KR102009216B1 (ko) * 2018-05-14 2019-08-09 경희대학교 산학협력단 그래프 요약 및 압축 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013003669A (ja) * 2011-06-13 2013-01-07 Nippon Telegr & Teleph Corp <Ntt> グラフ構造を有するデータから頻度の高い部分構造を抽出する方法、その装置およびプログラム
JP2013156698A (ja) * 2012-01-26 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> クラスタリング装置及び方法及びプログラム
KR20150125511A (ko) 2014-04-30 2015-11-09 한국과학기술원 그래프 압축 처리 방법 및 장치
KR102009216B1 (ko) * 2018-05-14 2019-08-09 경희대학교 산학협력단 그래프 요약 및 압축 방법 및 시스템

Also Published As

Publication number Publication date
US20210103566A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
JP7322044B2 (ja) レコメンダシステムのための高効率畳み込みネットワーク
US11301484B2 (en) Systems and methods for type coercion
US11087088B2 (en) Automated and optimal encoding of text data features for machine learning models
RU2635902C1 (ru) Способ и система отбора обучающих признаков для алгоритма машинного обучения
US20160147914A1 (en) Technique for generating approximate design solutions
US11514003B2 (en) Data compression based on key-value store
CN108027809B (zh) 基于深度学习的体设计的功能相关
US11403550B2 (en) Classifier
US20230359986A1 (en) Automated systems for reducing computational loads in the mass execution of analytical models using scale-out computing
CN111966886A (zh) 对象推荐方法、对象推荐装置、电子设备及存储介质
US20200356706A1 (en) Goal-driven computer aided design workflow
KR102115372B1 (ko) 그래프 데이터 축약 방법 및 그 장치
US20220164687A1 (en) Method for providing explainable artificial intelligence
US11782947B2 (en) Apparatus for recommending feature and method for recommending feature using the same
US10459703B2 (en) Systems and methods for task parallelization
US20210365809A1 (en) Apparatus for data analysis and method thereof
US10705810B2 (en) Automatic code generation
CN114238611B (zh) 用于输出信息的方法、装置、设备以及存储介质
US20210117476A1 (en) Method and apparatus for selecting key information for each group in graph data
US20180276568A1 (en) Machine learning method and machine learning apparatus
US11790087B2 (en) Method and apparatus to identify hardware performance counter events for detecting and classifying malware or workload using artificial intelligence
US11797775B1 (en) Determining emebedding vectors for an unmapped content item using embedding inferenece
CN109857838B (zh) 用于生成信息的方法和装置
JP2021077206A (ja) 学習方法、評価装置、及び評価システム
CN115905456B (zh) 一种数据识别方法、系统、设备及计算机可读存储介质

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant