KR102411081B1 - 유사도 기반의 연관 데이터 추천 시스템 및 그 방법 - Google Patents

유사도 기반의 연관 데이터 추천 시스템 및 그 방법 Download PDF

Info

Publication number
KR102411081B1
KR102411081B1 KR1020210103056A KR20210103056A KR102411081B1 KR 102411081 B1 KR102411081 B1 KR 102411081B1 KR 1020210103056 A KR1020210103056 A KR 1020210103056A KR 20210103056 A KR20210103056 A KR 20210103056A KR 102411081 B1 KR102411081 B1 KR 102411081B1
Authority
KR
South Korea
Prior art keywords
data
event
similarity
vector
open data
Prior art date
Application number
KR1020210103056A
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 KR1020210103056A priority Critical patent/KR102411081B1/ko
Application granted granted Critical
Publication of KR102411081B1 publication Critical patent/KR102411081B1/ko
Priority to US17/815,439 priority patent/US20230041615A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services
    • G06Q50/265Personal security, identity or safety
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • 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/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/383Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/117Tagging; Marking up; Designating a block; Setting of attributes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Library & Information Science (AREA)
  • Tourism & Hospitality (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Educational Administration (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Evolutionary Computation (AREA)
  • Strategic Management (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Primary Health Care (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Security & Cryptography (AREA)
  • Economics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)

Abstract

본 발명은 유사도 기반의 연관 데이터 추천 시스템 및 그 방법에 관한 것으로, 외부로부터 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 수집하는 데이터 수집장치와, 데이터 수집장치로부터 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 제공받아 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출하는 이벤트 추출장치와, 이벤트 추출장치로부터 해당 오픈 데이터 및 메타 데이터에서 생성 및 추출된 이벤트를 기반으로 유사도 관계를 파악하기 위한 이벤트 라벨링(Labeling) 작업을 수행하여 이벤트 데이터 세트를 구성하는 데이터 정제장치와, 데이터 정제장치로부터 라벨링된 이벤트 데이터 세트를 제공받아 이를 기반으로 단어 임베딩(Word embedding) 기법을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합한 이벤트 벡터를 생성하는 이벤트 벡터생성장치와, 이벤트 벡터생성장치로부터 생성된 이벤트 벡터를 제공받아 이를 기반으로 기 설정된 인공지능(AI) 기반의 기계 학습방법을 통해 이벤트 벡터별로 학습하여 이벤트 인공지능 학습모델을 구축하는 인공지능 학습장치와, 외부로부터 유사한 데이터를 찾고자하는 사용자 오픈 데이터를 입력받아 이를 기반으로 해당 사용자 오픈 데이터의 특징 벡터를 추출한 후, 인공지능 학습장치로부터 구축된 이벤트 인공지능 학습모델을 이용하여 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 출력하는 유사데이터 추천장치를 포함함으로써, 오픈 데이터를 통해 의미 있는 결과를 보길 원하는 데이터 과학자를 포함한 사용자들에게 효과적으로 도움을 줄 수 있다.

Description

유사도 기반의 연관 데이터 추천 시스템 및 그 방법{SYSTEM FOR RECOMMENDING RELATED DATA BASED ON SIMILARITY AND METHOD THEREOF}
본 발명은 유사도(Similarity) 기반의 연관 데이터 추천 시스템 및 그 방법에 관한 것이다.
일반적으로, 정부는 일상생활에서 발생하는 안전사고를 예방하기 위해 노력한다. 그런 안전사고는 매우 다양하게 발생할 수 있다. 예컨대, 재난, 보건, 교통, 환경, 치안, 산업, 시설 등이 포함된다. 이러한 안전사고를 예방하고 발생한 사고에 대해 신속하게 대응하려면 사고 관련 정보를 취득해야 한다.
오늘날 잘 발달된 정보 인프라(Infra)는 공공기관이 관리하고 보유하는 인프라에 국한되지 않는다. 인터넷과 모바일을 통해 얻을 수 있는 각종 크라우드 소싱(Crowd Sourcing) 데이터를 통해 안전사고에 관한 정보를 신속하게 수집하여 데이터를 분석하는 수준에까지 이르렀다.
그러나, 데이터를 단순히 수집한다고 해서 정확히 정보를 얻을 수 있는 것은 아니다. 정확한 분류와 분석을 위해서 데이터는 올바른 형태로 가공되어야 한다. 가공되지 않은 데이터는 제대로 분석할 수 없고, 분석하더라도 정확하지 않다. 국민의 생활안전에 관한 데이터 분석이 부실해질 수는 없는 노릇이다.
그래서, 데이터를 수집하는 과정에서는 미리 정해진 수집 룰(Rule)이 먼저 생성되어야 한다. 즉, 미리 만들어진 수집 룰을 통해 데이터를 수집해 나가는 것이다.
그런데, 문제는 이런 수집 룰은 전문가가 수집 데이터의 결과를 보고 조금씩 변경해 나가면서 최적화하는 작업을 통해 만들어지는데, 그러다 보니 수집 룰의 업데이트와 개선에 휴먼 리소스가 많이 필요하다. 노동력과 비용이 적지 않게 지출될 수밖에 없다.
한편, 오늘날 데이터의 폭발적인 증가 추세와 데이터 활용을 통한 새로운 가치 창출의 중요성이 증대됨에 따라, 점차 데이터 중심의 사회로 전환되고 있다.
이에, 데이터 공유 및 연계 활용의 요구가 높아지면서, 공공기관 또는 민간기관이 보유하고 있는 데이터에 대해서도 접근 및 활용이 가능한 오픈 데이터 플랫폼의 필요성 또한 증가하고 있다.
최근에 영국, 미국 등 해외 주요 국가들에서는 'CKAN' 및 'Socrata' 등과 같은 오픈 소스(Open Source) 기반의 데이터 연계 플랫폼을 활용하여, 공공기관 및 민간기관 간 플랫폼을 통한 자유로운 데이터 연계 환경을 지원하고 있다.
그러나, 웹(Web) 상에서 제공되는 오픈 데이터(Open Data)는 해당 데이터를 제공하는 기관마다 다른 사이트에서 제공하기 때문에 의미적으로 연관 있는 콘텐츠를 내포하고 있음에도 불구하고 사용자가 그 관계를 파악하기가 쉽지 않다.
국내 공개특허 제10-2018-0118979호(2018.11.01.공개)
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 웹페이지 상에서 구조화되지 않은 비정형의 오픈 데이터를 수집하여 유사도 관계를 파악하기 위해 이벤트 레이블을 자동으로 생성한 후, 인공지능(Artificial Intelligent, AI) 기반의 모델을 학습시켜 의미적으로 유사한 연관 데이터끼리 묶어 추천함으로써, 오픈 데이터를 통해 의미 있는 결과를 보길 원하는 데이터 과학자를 포함한 사용자들에게 효과적으로 도움을 줄 수 있도록 한 유사도 기반의 연관 데이터 추천 시스템 및 그 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 외부로부터 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 수집하는 데이터 수집장치; 상기 데이터 수집장치로부터 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 제공받아 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출하는 이벤트 추출장치; 상기 이벤트 추출장치로부터 해당 오픈 데이터 및 메타 데이터에서 생성 및 추출된 이벤트를 기반으로 유사도 관계를 파악하기 위한 이벤트 라벨링(Labeling) 작업을 수행하여 이벤트 데이터 세트를 구성하는 데이터 정제장치; 상기 데이터 정제장치로부터 라벨링된 이벤트 데이터 세트를 제공받아 이를 기반으로 단어 임베딩(Word embedding) 기법을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합한 이벤트 벡터를 생성하는 이벤트 벡터생성장치; 상기 이벤트 벡터생성장치로부터 생성된 이벤트 벡터를 제공받아 이를 기반으로 기 설정된 인공지능(AI) 기반의 기계 학습방법을 통해 이벤트 벡터별로 학습하여 이벤트 인공지능 학습모델을 구축하는 인공지능 학습장치; 및 외부로부터 유사한 데이터를 찾고자하는 사용자 오픈 데이터를 입력받아 이를 기반으로 해당 사용자 오픈 데이터의 특징 벡터를 추출한 후, 상기 인공지능 학습장치로부터 구축된 이벤트 인공지능 학습모델을 이용하여 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 출력하는 유사데이터 추천장치를 포함하는 유사도 기반의 연관 데이터 추천 시스템을 제공하는 것이다.
여기서, 상기 데이터 수집장치는, 특정의 웹페이지에서 특정의 키(Key)값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값이 있는 JSON(JavaScript Object Notation) 또는 XML(eXtensible Markup Language) 포맷 형태의 오픈 데이터를 수집함이 바람직하다.
바람직하게, 상기 데이터 수집장치는, 해당 비정형의 오픈 데이터와 메타 데이터에서 특정의 키(Key) 값에 해당하는 태그 값을 의미적인 단어로 변환하여 수집할 수 있다.
바람직하게, 상기 데이터 수집장치로부터 수집된 구조화되지 않은 비정형의 오픈 데이터는, 크라우드 소싱 데이터, 미리 등록되어 있는 기관별로 저장되어 있는 생활 안전 데이터, 및 공공기관의 오픈 데이터 중 적어도 하나의 생활 안전 데이터로 이루어질 수 있다.
바람직하게, 상기 이벤트 추출장치에서 미리 정의된 이벤트는, 액션(Action)을 행한 주체(Actor), 주체(Actor)가 행한 행위(Action), 액션(Action)의 목적(Object), 및 액션(Action)이 일어난 시간(Time)으로 이루어질 수 있다.
바람직하게, 상기 데이터 수집장치는, 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 수집할 수 있다.
바람직하게, 상기 이벤트 추출장치는, 상기 데이터 수집장치로부터 수집된 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 제공받아 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 해당 특정의 키(Key) 값에 대응되는 미리 정의된 이벤트를 생성 및 추출할 수 있다.
바람직하게, 상기 데이터 정제장치로부터 구성된 이벤트 데이터 세트는, "개체(Entity)-관계(Relation)-개체(Entity)"로 조합하여 이루어질 수 있다.
바람직하게, 상기 개체(Entity)는 주어 또는 목적어에 해당하는 단어로 이루어질 수 있다.
바람직하게, 상기 관계(Relation)는 동사에 해당하는 단어로 이루어질 수 있다.
바람직하게, 상기 이벤트 벡터생성장치는, 상기 데이터 정제장치로부터 라벨링된 이벤트 데이터 세트를 제공받아 이를 기반으로 자연어 처리 기법인 Word2Vec 모델을 이용하여 단어를 벡터(Vector)로 변환하고, 신경 텐서 네트워크(Neural Tensor Network, NTN) 모델을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 문장 벡터로 이루어진 이벤트 벡터를 생성할 수 있다.
바람직하게, 상기 인공지능 학습장치는, 이벤트 벡터 간에 유사도를 확인하기 위해 유사도 손실(Similarity Loss)을 목적 함수로 사용하고, 해당 이벤트 인공지능 학습모델의 성능을 측정하기 위해 목적 함수의 결과 값인 손실률을 줄이기 위한 가중치 조정 작업과, 해당 이벤트 인공지능 학습모델의 정확도를 위해 해당 이벤트 인공지능 학습모델의 학습을 위한 가중치 설정과 손실 값(loss)을 최소화하기 위한 작업을 수행할 수 있다.
바람직하게, 상기 인공지능 학습장치에 적용된 인공지능(AI) 기반의 기계 학습방법은, 신경망(Neural Network), SVM(Support Vector Machine), MLP(Multi Layer Perception), 및 딥러닝(Deep Learning) 중 적어도 하나의 인공지능 학습방법으로 이루어질 수 있다.
바람직하게, 상기 유사데이터 추천장치는, 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 기 설정된 유사도 점수 임계값을 기반으로 높은 유사, 부분 유사, 또는 낮은 유사 중 적어도 하나로 분류하여 출력할 수 있다.
바람직하게, 상기 데이터 수집장치로부터 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 제공받아 이를 기반으로 문서 정규화(Text Normalization)와 형태소 분석(Morphological Analysis)의 전처리 과정을 수행하여 데이터를 가공한 후, 상기 가공된 데이터를 기반으로 준지도 학습(Semi-Supervised Learning, SSL) 방식을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 이벤트 벡터를 생성하며, 상기 생성된 이벤트 벡터가 상기 인공지능 학습장치에서 구축된 이벤트 인공지능 학습모델의 학습 데이터로 사용되도록 이루어진 준지도 학습장치가 더 포함될 수 있다.
바람직하게, 외부로부터 입력된 유사한 데이터를 찾고자하는 사용자 오픈 데이터와 함께 상기 유사데이터 추천장치에 의해 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 데이터베이스(DB)화하여 저장하는 저장장치가 더 포함될 수 있다.
바람직하게, 상기 유사데이터 추천장치에 의해 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 유선 또는 무선 통신방식으로 외부의 단말 또는 서버에 전송하는 통신장치가 더 포함될 수 있다.
바람직하게, 상기 외부의 단말은 또는 서버는, 미리 설치된 연관 데이터 추천관련 어플리케이션을 통해 상기 통신장치로부터 전송된 해당 사용자 오픈 데이터의 특징 벡터와 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 디스플레이 화면에 표시되도록 서비스를 제공할 수 있다.
본 발명의 제2 측면은, (a) 데이터 수집장치를 통해 외부로부터 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 수집하는 단계; (b) 이벤트 추출장치를 통해 상기 단계(a)에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출하는 단계; (c) 데이터 정제장치를 통해 상기 단계(b)에서 생성 및 추출된 이벤트를 기반으로 유사도 관계를 파악하기 위한 이벤트 라벨링(Labeling) 작업을 수행하여 이벤트 데이터 세트를 구성하는 단계; (d) 이벤트 벡터생성장치를 통해 상기 단계(c)에서 라벨링된 이벤트 데이터 세트를 기반으로 단어 임베딩(Word embedding) 기법을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합한 이벤트 벡터를 생성하는 단계; (e) 인공지능 학습장치를 통해 상기 단계(d)에서 생성된 이벤트 벡터를 기반으로 기 설정된 인공지능(AI) 기반의 기계 학습방법을 이용하여 이벤트 벡터별로 학습하여 이벤트 인공지능 학습모델을 구축하는 단계; 및 (f) 유사데이터 추천장치를 통해 외부로부터 유사한 데이터를 찾고자하는 사용자 오픈 데이터를 기반으로 해당 사용자 오픈 데이터의 특징 벡터를 추출한 후, 상기 단계(e)에서 구축된 이벤트 인공지능 학습모델을 이용하여 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 출력하는 단계를 포함하는 유사도 기반의 연관 데이터 추천 방법을 제공하는 것이다.
여기서, 상기 단계(a)에서, 상기 데이터 수집장치는 특정의 웹페이지에서 특정의 키(Key)값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값이 있는 JSON(JavaScript Object Notation) 또는 XML(eXtensible Markup Language) 포맷 형태의 오픈 데이터를 수집할 수 있다.
바람직하게, 상기 단계(a)에서, 상기 데이터 수집장치는 해당 비정형의 오픈 데이터와 메타 데이터에서 특정의 키(Key) 값에 해당하는 태그 값을 의미적인 단어로 변환하여 수집할 수 있다.
바람직하게, 상기 단계(a)에서, 상기 데이터 수집장치를 통해 수집된 구조화되지 않은 비정형의 오픈 데이터는, 크라우드 소싱 데이터, 미리 등록되어 있는 기관별로 저장되어 있는 생활 안전 데이터, 및 공공기관의 오픈 데이터 중 적어도 하나의 생활 안전 데이터로 이루어질 수 있다.
바람직하게, 상기 단계(b)는, 상기 이벤트 추출장치를 통해 상기 단계(a)에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 기반으로 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출할 수 있다.
바람직하게, 상기 단계(b)에서, 상기 미리 정의된 이벤트는, 액션(Action)을 행한 주체(Actor), 주체(Actor)가 행한 행위(Action), 액션(Action)의 목적(Object), 및 액션(Action)이 일어난 시간(Time)으로 이루어질 수 있다.
바람직하게, 상기 단계(a)에서, 상기 데이터 수집장치는 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 수집할 수 있다.
바람직하게, 상기 단계(b)에서, 상기 이벤트 추출장치는 상기 단계(a)에서 수집된 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 기반으로 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 해당 특정의 키(Key) 값에 대응되는 미리 정의된 이벤트를 생성 및 추출할 수 있다.
바람직하게, 상기 단계(c)에서, 상기 데이터 정제장치를 통해 구성된 이벤트 데이터 세트는, "개체(Entity)-관계(Relation)-개체(Entity)"로 조합하여 이루어질 수 있다.
바람직하게, 상기 개체(Entity)는 주어 또는 목적어에 해당하는 단어로 이루어지며, 상기 관계(Relation)는 동사에 해당하는 단어로 이루어질 수 있다.
바람직하게, 상기 단계(d)는, 상기 이벤트 벡터생성장치를 통해 상기 단계(c)에서 라벨링된 이벤트 데이터 세트를 기반으로 자연어 처리 기법인 Word2Vec 모델을 이용하여 단어를 벡터(Vector)로 변환한 후, 신경 텐서 네트워크(Neural Tensor Network, NTN) 모델을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 문장 벡터로 이루어진 이벤트 벡터를 생성할 수 있다.
바람직하게, 상기 단계(e)에서, 상기 인공지능 학습장치는 이벤트 벡터 간에 유사도를 확인하기 위해 유사도 손실(Similarity Loss)을 목적 함수로 사용하고, 해당 이벤트 인공지능 학습모델의 성능을 측정하기 위해 목적 함수의 결과 값인 손실률을 줄이기 위한 가중치 조정 작업과, 해당 이벤트 인공지능 학습모델의 정확도를 위해 해당 이벤트 인공지능 학습모델의 학습을 위한 가중치 설정과 손실 값(loss)을 최소화하기 위한 작업을 수행할 수 있다.
바람직하게, 상기 단계(e)에서, 상기 인공지능 학습장치에 적용된 인공지능(AI) 기반의 기계 학습방법은, 신경망(Neural Network), SVM(Support Vector Machine), MLP(Multi Layer Perception), 및 딥러닝(Deep Learning) 중 적어도 하나의 인공지능 학습방법으로 이루어질 수 있다.
바람직하게, 상기 단계(f)에서, 상기 유사데이터 추천장치는 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 기 설정된 유사도 점수 임계값을 기반으로 높은 유사, 부분 유사, 또는 낮은 유사 중 적어도 하나로 분류하여 출력할 수 있다.
바람직하게, 상기 단계(e) 이후에, 준지도 학습장치를 통해 상기 단계(a)에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 기반으로 문서 정규화(Text Normalization)와 형태소 분석(Morphological Analysis)의 전처리 과정을 수행하여 데이터를 가공한 후, 상기 가공된 데이터를 기반으로 준지도 학습(Semi-Supervised Learning, SSL) 방식을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 이벤트 벡터를 생성하며, 상기 생성된 이벤트 벡터를 상기 단계(e)에서 구축된 이벤트 인공지능 학습모델의 학습 데이터로 사용하는 단계를 더 포함할 수 있다.
바람직하게, 상기 단계(f) 이후에, 저장장치를 통해 외부로부터 입력된 유사한 데이터를 찾고자하는 사용자 오픈 데이터와 함께 상기 단계(f)에서 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 데이터베이스(DB)화하여 저장하는 단계를 더 포함할 수 있다.
바람직하게, 상기 단계(f) 이후에, 통신장치를 통해 상기 단계(f)에서 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 유선 또는 무선 통신방식으로 외부의 단말 또는 서버에 전송하는 단계를 더 포함할 수 있다.
바람직하게, 상기 외부의 단말은 또는 서버는, 미리 설치된 연관 데이터 추천관련 어플리케이션을 통해 상기 통신장치로부터 전송된 해당 사용자 오픈 데이터의 특징 벡터와 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 디스플레이 화면에 표시되도록 서비스를 제공할 수 있다.
본 발명의 제3 측면은, 상술한 유사도 기반의 연관 데이터 추천 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명에 따른 유사도 기반의 연관 데이터 추천 방법은 컴퓨터로 판독할 수 있는 기록매체에 컴퓨터로 판독할 수 있는 코드로 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체에는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 시스템을 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피 디스크, 이동식 저장시스템, 비휘발성 메모리(Flash Memory), 광 데이터 저장시스템 등이 있다.
이상에서 설명한 바와 같은 본 발명의 유사도 기반의 연관 데이터 추천 시스템 및 그 방법에 따르면, 웹페이지 상에서 구조화되지 않은 비정형의 오픈 데이터를 수집하여 유사도 관계를 파악하기 위해 이벤트 레이블을 자동으로 생성한 후, 인공지능(Artificial Intelligent, AI) 기반의 모델을 학습시켜 의미적으로 유사한 연관 데이터끼리 묶어 추천함으로써, 오픈 데이터를 통해 의미 있는 결과를 보길 원하는 데이터 과학자를 포함한 사용자들에게 효과적으로 도움을 줄 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 시스템을 설명하기 위한 전체적인 블록 구성도이다.
도 2는 본 발명의 일 실시예에 적용된 외부의 단말을 구체적으로 설명하기 위한 블록 구성도이다.
도 3은 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 방법을 설명하기 위한 전체적인 흐름도이다.
도 4는 본 발명의 일 실시예에 적용된 데이터 수집장치를 통해 수집되는 XML 포맷 형태의 오픈 데이터에 대한 일 예를 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 적용된 데이터 수집장치를 통해 수집되는 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터의 일 예를 나타낸 도면이다.
도 6은 본 발명의 일 실시예에 적용된 데이터 수집장치를 통해 비정형의 오픈 데이터와 메타 데이터에서 특정의 키 값에 해당하는 태그 값을 의미적인 단어로 변환하여 수집한 일 예를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 적용된 데이터 정제장치를 통해 이벤트 데이터 세트를 구성한 일 예를 나타낸 도면이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "장치" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 장치, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 시스템을 설명하기 위한 전체적인 블록 구성도이고, 도 2는 본 발명의 일 실시예에 적용된 외부의 단말을 구체적으로 설명하기 위한 블록 구성도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 시스템는, 크게 데이터 수집장치(100), 이벤트 추출장치(200), 데이터 정제장치(300), 이벤트 벡터생성장치(400), 인공지능 학습장치(500), 및 유사데이터 추천장치(600) 등을 포함하여 이루어진다. 또한, 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 시스템은 준지도 학습장치(700), 저장장치(800), 통신장치(900), 외부의 단말(20) 및/또는 서버(30) 등을 더 포함할 수도 있다. 한편, 도 1 및 도 2에 도시된 구성요소들이 필수적인 것은 아니어서, 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 시스템은 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.
이하, 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 시스템의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.
데이터 수집장치(100)는 외부로부터 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 수집하는 기능을 수행한다.
또한, 데이터 수집장치(100)는 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 수집하는 기능을 수행할 수 있다.
즉, 데이터 수집장치(100)는 특정의 웹페이지에서 특정의 키(Key)값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값이 있는 JSON(JavaScript Object Notation) 및/또는 XML(eXtensible Markup Language) 포맷 형태의 오픈 데이터를 수집하는 기능을 수행할 수 있다.
또한, 데이터 수집장치(100)는 외부로부터 구조화되지 않은 비정형의 오픈 데이터와 메타 데이터에서 특정의 키(Key) 값에 해당하는 태그(Tag) 값을 의미적인 단어로 변환하여 수집하는 기능을 수행할 수 있다.
한편, 데이터 수집장치(100)로부터 수집된 구조화되지 않은 비정형의 오픈 데이터는 예컨대, 크라우드 소싱 데이터, 미리 등록되어 있는 기관별로 저장되어 있는 생활 안전 데이터, 및/또는 공공기관의 오픈 데이터 중 적어도 하나의 생활 안전 데이터로 이루어짐이 바람직하다.
이벤트 추출장치(200)는 데이터 수집장치(100)로부터 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 제공받아 미리 구축된 이벤트 DB(250)를 이용하여 해당 오픈 데이터 및 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출하는 기능을 수행한다.
즉, 이벤트 추출장치(200)는 데이터 수집장치(100)로부터 수집된 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 제공받아 미리 구축된 이벤트 DB(250)를 이용하여 해당 오픈 데이터 및 메타 데이터에서 해당 특정의 키(Key) 값에 대응되는 미리 정의된 이벤트를 생성 및 추출하는 기능을 수행할 수 있다.
또한, 이벤트 추출장치(200)에서 미리 정의된 이벤트는 예컨대, 액션(Action)을 행한 주체(Actor), 주체(Actor)가 행한 행위(Action), 액션(Action)의 목적(Object), 및/또는 액션(Action)이 일어난 시간(Time) 중 적어도 하나 이상의 이벤트로 이루어짐이 바람직하다.
한편, 이벤트 DB(250)는 특정의 키(Key) 값에 대응되는 미리 정의된 이벤트를 서로 매칭시킨 후, 특정의 키(Key) 값별로 미리 정의된 이벤트를 데이터베이스(DB)화하여 저장 및 관리하는 기능을 수행한다.
데이터 정제장치(300)는 이벤트 추출장치(200)로부터 구조화되지 않은 비정형의 오픈 데이터 및 메타 데이터에서 생성 및 추출된 이벤트를 기반으로 유사도 관계를 파악하기 위한 이벤트 라벨링(Labeling) 작업을 수행하여 이벤트 데이터 세트를 구성하는 기능을 수행한다.
이때, 데이터 정제장치(300)로부터 구성된 이벤트 데이터 세트는 예컨대, "개체(Entity)-관계(Relation)-개체(Entity)"로 조합하여 이루어짐이 바람직하다. 여기서, 상기 개체(Entity)는 주어 및/또는 목적어에 해당하는 단어로 이루어짐이 바람직하며, 상기 관계(Relation)는 동사에 해당하는 단어로 이루어짐이 바람직하다.
이벤트 벡터생성장치(400)는 데이터 정제장치(300)로부터 라벨링된 이벤트 데이터 세트를 제공받아 이를 기반으로 단어 임베딩(Word embedding) 기법을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합한 이벤트 벡터를 생성하는 기능을 수행한다.
즉, 이벤트 벡터생성장치(400)는 데이터 정제장치(300)로부터 라벨링된 이벤트 데이터 세트를 제공받아 이를 기반으로 자연어 처리 기법인 Word2Vec 모델을 이용하여 단어를 벡터(Vector)로 변환하고, 신경 텐서 네트워크(Neural Tensor Network, NTN) 모델을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 문장 벡터로 이루어진 이벤트 벡터를 생성하는 기능을 수행할 수 있다.
인공지능 학습장치(500)는 이벤트 벡터생성장치(400)로부터 생성된 이벤트 벡터를 제공받아 이를 기반으로 기 설정된 인공지능(AI) 기반의 기계 학습방법을 통해 이벤트 벡터별로 학습하여 이벤트 인공지능 학습모델을 구축하는 기능을 수행한다.
또한, 인공지능 학습장치(500)는 이벤트 벡터 간에 유사도를 확인하기 위해 유사도 손실(Similarity Loss)을 목적 함수로 사용하고, 해당 이벤트 인공지능 학습모델의 성능을 측정하기 위해 목적 함수의 결과 값인 손실률을 줄이기 위한 가중치 조정 작업과, 해당 이벤트 인공지능 학습모델의 정확도를 위해 해당 이벤트 인공지능 학습모델의 학습을 위한 가중치 설정과 손실 값(loss)을 최소화하기 위한 작업을 수행할 수 있다.
또한, 인공지능 학습장치(500)에 적용된 인공지능(AI) 기반의 기계 학습방법은 예컨대, 신경망(Neural Network), SVM(Support Vector Machine), MLP(Multi Layer Perception), 및/또는 딥러닝(Deep Learning) 중 적어도 하나의 인공지능 학습방법으로 이루어짐이 바람직하다.
그리고, 유사데이터 추천장치(600)는 외부로부터 유사한 데이터를 찾고자하는 사용자 오픈 데이터를 입력받아 이를 기반으로 해당 사용자 오픈 데이터의 특징 벡터를 추출한 후, 인공지능 학습장치(500)로부터 구축된 이벤트 인공지능 학습모델을 이용하여 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 출력하는 기능을 수행한다.
또한, 유사데이터 추천장치(600)는 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 기 설정된 유사도 점수 임계값을 기반으로 높은 유사, 부분 유사, 및/또는 낮은 유사 중 적어도 하나로 분류하여 출력하는 기능을 수행할 수 있다.
한편, 도면에 도시되진 않았지만, 전술한 각 장치들 즉, 데이터 수집장치(100), 이벤트 추출장치(200), 데이터 정제장치(300), 이벤트 벡터생성장치(400), 인공지능 학습장치(500), 유사데이터 추천장치(600), 준지도 학습장치(700), 저장장치(800), 및/또는 통신장치(900) 등의 동작에 필요한 전원을 공급하는 기능을 수행하는 전원공급장치(미도시)가 포함될 수 있다.
이러한 상기 전원공급장치는 계속적인 전원 공급을 위해 상용 교류(AC) 전원(예컨대, AC 220V 또는 380V 등)을 직류(DC) 및/또는 교류(AC) 전원으로 변환되도록 구현함이 바람직하지만, 이에 국한하지 않으며, 통상의 휴대용 배터리(Battery)를 포함하여 구현할 수도 있다.
또한, 상기 전원공급장치에는 외부의 전원 충격으로부터 부품을 보호하고 일정한 전압을 출력하는 기능을 수행하는 전원 관리부(미도시)를 포함할 수 있다. 상기 전원 관리부는 ESD(Electro Static Damage) 보호기, 전원 감지기, 정류기 및 전원 차단기 등을 포함하여 이루어질 수 있다.
여기서, 상기 ESD 보호기는 정전기 또는 급격한 전원 충격으로부터 전장 부품을 보호하도록 구성한다. 상기 전원 감지기는 허용 전압 범위 외의 전압이 유입될 경우 상기 전원 차단기에 차단신호를 보내고, 허용 전압 범위 내에서 전압 변화에 따라 승압 또는 강압 신호를 상기 정류기에 전달하도록 구성한다. 상기 정류기는 입력 전압의 변동을 최소하여 일정한 전압이 공급되도록 상기 전원 감지기의 신호에 따라 승압 또는 강압의 정류 동작을 수행하도록 구성한다. 상기 전원 차단기는 상기 전원 감지기로부터 전달되는 차단 신호에 따라 배터리로부터 공급되는 전원을 차단하도록 구성한다.
추가적으로, 준지도 학습장치(700)는 데이터 수집장치(100)로부터 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 제공받아 이를 기반으로 문서 정규화(Text Normalization)와 형태소 분석(Morphological Analysis)의 전처리 과정을 수행하여 데이터를 가공한 후, 상기 가공된 데이터를 기반으로 준지도 학습(Semi-Supervised Learning, SSL) 방식을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 이벤트 벡터를 생성하며, 상기 생성된 이벤트 벡터가 인공지능 학습장치(500)에서 구축된 이벤트 인공지능 학습모델의 학습 데이터로 사용되도록 기능을 수행한다.
저장장치(800)는 외부로부터 입력된 유사한 데이터를 찾고자하는 사용자 오픈 데이터와 함께 유사데이터 추천장치(600)에 의해 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 데이터베이스(DB)화하여 저장하는 기능을 수행한다.
이러한 저장장치(800)는 예컨대, 플래시 메모리 타입(Flash Memory type), 하드디스크 타입(Hard Disk type), 멀티미디어 카드 마이크로 타입(Multimedia Card Micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
통신장치(900)는 유사데이터 추천장치(600)에 의해 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 통신망(10)을 통해 유선 및/또는 무선 통신방식으로 외부의 단말(20) 및/또는 서버(30)에 전송하는 기능을 수행한다.
이때, 통신망(10)은 대용량, 장거리 음성 및 데이터 서비스가 가능한 대형 통신망의 고속 기간 망인 통신망이며, 인터넷(Internet) 또는 고속의 멀티미디어 서비스를 제공하기 위한 와이파이(WiFi), 와이기그(WiGig), 와이브로(Wireless Broadband Internet, Wibro), 와이맥스(World Interoperability for Microwave Access, Wimax) 등을 포함하는 차세대 무선 통신망일 수 있다.
상기 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(Hyper Text Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service) 등을 제공하는 전 세계적인 개방형 컴퓨터 네트워크 구조를 의미하며, 통신장치(900)가 외부의 단말(20) 및/또는 서버(30)에 접속될 수 있게 하는 환경을 제공한다. 한편, 상기 인터넷은 유선 또는 무선 인터넷일 수도 있고, 이외에도 유선 공중망, 무선 이동 통신망, 또는 휴대 인터넷 등과 통합된 코어망일 수도 있다.
만약, 통신망(10)이 이동 통신망일 경우 동기식 이동 통신망일 수도 있고, 비동기식 이동 통신망일 수도 있다. 상기 비동기식 이동 통신망의 실시 예로서, WCDMA(Wideband Code Division Multiple Access) 방식의 통신망을 들 수 있다. 이 경우 도면에 도시되진 않았지만, 상기 이동 통신망은 예컨대, RNC(Radio Network Controller) 등을 포함할 수 있다. 한편, 상기 WCDMA망을 일 예로 들었지만, 셀룰러(cellular) 기반의 3G망, LTE망, 4G망, 5G망 등 차세대 통신망, 그 밖의 IP를 기반으로 한 IP 망일 수 있다. 이러한 통신망(10)은 통신장치(900)와 외부의 단말(20) 및/또는 서버(30) 간의 신호 및 데이터를 상호 전달하는 역할을 수행한다.
그리고, 외부의 단말(20) 및/또는 서버(30)는 미리 설치된 연관 데이터 추천관련 어플리케이션을 통해 통신장치(900)로부터 전송된 해당 사용자 오픈 데이터의 특징 벡터와 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 디스플레이 화면에 표시되도록 서비스를 제공하는 기능을 수행한다.
한편, 전술한 외부의 단말(20)은 무선 인터넷 또는 휴대 인터넷을 통하여 통신하는 스마트폰(Smart Phone), 스마트 패드(Smart Pad) 또는 스마트 노트(Smart Note) 중 적어도 하나의 이동 단말 시스템으로 이루어짐이 바람직하며, 이외에도 팜(Palm) PC, 모바일 게임기(Mobile play-station), 통신 기능이 있는 DMB(Digital Multimedia Broadcasting)폰, 태블릿 PC, 아이패드(iPad) 등 통신장치(900)에 접속하기 위한 사용자 인터페이스를 갖는 모든 유무선 가전/통신 시스템을 포괄적으로 의미할 수 있다.
이러한 외부의 단말(20)은 도 2에 도시된 바와 같이, 무선 통신모듈(21), A/V(Audio/Video) 입력모듈(22), 사용자 입력모듈(23), 센싱모듈(24), 출력모듈(25), 저장모듈(26), 인터페이스 모듈(27), 단말 제어모듈(28) 및 전원모듈(29) 등을 포함할 수 있다. 한편, 도 2에 도시된 구성요소들이 필수적인 것은 아니어서, 외부의 단말(20)은 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.
이하, 외부의 단말(20)의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.
무선 통신모듈(21)은 외부의 단말(20)과 통신장치(900) 및/또는 서버(30) 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 예컨대, 무선 통신모듈(21)은 방송 수신 모듈(21a), 이동 통신 모듈(21b), 무선 인터넷 모듈(21c), 근거리 통신 모듈(21d) 및 위치 정보 모듈(21e) 등을 포함할 수 있다.
방송 수신 모듈(21a)은 다양한 방송채널(예컨대, 위성채널, 지상파채널 등)을 통하여 외부의 방송관리서버로부터 방송신호(예컨대, TV 방송신호, 라디오 방송신호, 데이터 방송신호 등) 및/또는 방송관련 정보를 수신한다.
이동 통신 모듈(21b)은 이동 통신망 상에서 기지국, 외부의 단말(20), 서버 중 적어도 하나와 무선 신호를 송수신한다. 상기 무선 신호는 음성 콜(call) 신호, 화상 통화 콜 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(21c)은 무선 인터넷 접속을 위한 모듈로서, 외부의 단말(20)에 내장되거나 외장될 수 있다. 상기 무선 인터넷 기술로는 예컨대, WLAN(Wi-Fi), Wibro, Wimax, HSDPA, LTE 등이 이용될 수 있다.
근거리 통신 모듈(21d)은 근거리 통신을 위한 모듈로서, 예컨대, 블루투스(Bluetooth) 통신, 지그비(ZigBee) 통신, UWB(Ultra Wideband) 통신, RFID(Radio Frequency Identification) 통신 또는 적외선(IR) 통신 등이 이용될 수 있다.
위치 정보 모듈(21e)은 외부의 단말(20)의 위치를 확인하거나 얻기 위한 모듈로서, GPS(Global Position System) 등을 이용하여 외부의 단말(20)의 현재 위치 정보를 획득할 수 있다.
한편, 단말 제어모듈(28)의 제어에 따라 전술한 무선 통신모듈(21) 및/또는 유선 통신모듈(미도시)을 통해 저장모듈(26)에 저장된 특정 어플리케이션 프로그램을 이용하여 서버(30) 및/또는 통신장치(900)와 데이터 송수신을 수행할 수 있다.
A/V 입력모듈(22)은 오디오 신호 또는 비디오 신호 입력을 위한 모듈로서, 기본적으로 카메라부(22a)와 마이크부(22b) 등이 포함될 수 있다. 카메라부(22a)는 화상통화모드 또는 촬영모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 마이크부(22b)는 통화모드 또는 녹음모드, 음성인식모드 등에서 마이크로폰에 의해 외부의 음향신호를 입력받아 전기적인 음성데이터로 처리한다.
사용자 입력모듈(23)은 외부의 단말(20)의 동작 제어를 위한 입력 데이터를 발생시키는 모듈로서, 특히 출력모듈(25)의 디스플레이부(25a)를 통해 표시되는 데이터 관리 정보들 중 어느 하나에 대한 선택 신호를 입력하는 기능을 수행하며, 예컨대, 사용자의 터치에 의하여 입력되는 터치 패널(정압/정전) 형식이거나 별도의 입력 장치(예컨대, 키 패드 돔 스위치, 조그 휠, 조그 스위치 등)를 이용하여 입력될 수 있다.
센싱모듈(24)은 외부의 단말(20)의 개폐 상태, 외부의 단말(20)의 위치, 사용자 접촉 유무, 특정 부위에 대한 사용자의 터치 동작, 외부의 단말(20)의 방위, 외부의 단말(20)의 가속/감속 등과 같이 외부의 단말(20)의 현 상태를 감지하여 외부의 단말(20)의 동작을 제어하기 위한 센싱 신호를 발생시킨다. 이러한 센싱 신호는 단말 제어모듈(28)에 전달되어, 단말 제어모듈(28)이 특정 기능을 수행하는 기초가 될 수 있다.
출력모듈(25)은 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 모듈로서, 기본적으로 디스플레이부(25a), 음향출력부(25b), 알람부(25c) 및 햅틱부(25d) 등이 포함될 수 있다.
디스플레이부(25a)는 외부의 단말(20)에서 처리되는 정보를 표시 출력하기 위한 것으로서, 예컨대, 외부의 단말(20)이 통화모드인 경우 통화와 관련된 UI(User Interface) 또는 GUI(Graphical User Interface)를 표시하고, 화상통화모드 또는 촬영모드인 경우에는 촬영 및/또는 수신된 영상 또는 UI, GUI를 표시한다.
음향출력부(25b)는 예컨대, 콜 신호수신, 통화모드 또는 녹음모드, 음성인식모드, 방송수신모드 등에서 무선 통신모듈(21)로부터 수신되거나 저장모듈(26)에 저장된 오디오 데이터를 출력할 수도 있다.
알람부(25c)는 외부의 단말(20)의 이벤트 발생을 알리기 위한 신호를 출력할 수 있다. 외부의 단말(20)에서 발생되는 이벤트의 예로는 콜 신호 수신, 메시지 수신, 키 신호 입력, 터치 입력 등이 있다.
햅틱부(25d)는 사용자가 느낄 수 있는 다양한 촉각 효과를 발생시킨다. 햅틱부(25d)가 발생시키는 촉각 효과의 대표적인 예로는 진동이 있다. 햅택부(25d)가 발생하는 진동의 세기와 패턴 등은 제어 가능하다.
저장모듈(26)은 단말 제어모듈(28)의 동작을 위한 프로그램을 저장할 수 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)을 임시 저장할 수도 있다.
또한, 저장모듈(26)은 터치스크린 상의 터치 입력시 출력되는 다양한 패턴의 진동 및 음향에 관한 데이터를 저장할 수 있으며, 연관 데이터 추천관련 어플리케이션 프로그램을 저장할 수 있다.
또한, 저장모듈(26)은 연관 데이터 추천관련 정보의 형성을 위한 소스 데이터가 저장될 수 있는 바, 연관 데이터 추천관련 데이터가 영상 및 소리로 구성된 형태로 이루어질 수 있으며, 연관 데이터 추천에 대한 관련데이터 생성의 진행 과정 및 결과도 함께 저장될 수 있다.
이러한 저장모듈(26)은 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM), SRAM, 롬(ROM), EEPROM, PROM, 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
인터페이스 모듈(27)은 외부의 단말(20)에 연결되는 모든 외부기기와의 통로 역할을 한다. 인터페이스 모듈(27)은 외부기기로부터 데이터를 전송 받거나 전원을 공급받아 외부의 단말(20) 내부의 각 구성요소에 전달하거나 외부의 단말(20) 내부의 데이터가 외부기기로 전송되도록 한다.
단말 제어모듈(28)은 통상적으로 외부의 단말(20)의 전반적인 동작을 제어하는 것으로서, 예컨대, 음성통화, 데이터통신, 화상통화, 각종 어플리케이션 실행 등을 위한 관련된 제어 및 처리를 수행한다.
즉, 단말 제어모듈(28)은 저장모듈(26)에 저장된 연관 데이터 추천관련 어플리케이션 프로그램이 실행되도록 제어하고, 상기 연관 데이터 추천관련 어플리케이션 프로그램의 실행을 통해 연관 데이터 추천관련 데이터의 생성을 요청하고 이에 대한 연관 데이터 추천관련 데이터를 제공받을 수 있도록 제어하는 기능을 수행한다.
또한, 단말 제어모듈(28)은 상기 연관 데이터 추천관련 어플리케이션 프로그램의 실행을 통해 사용자가 원하는 연관 데이터 추천관련 데이터의 생성 과정에서 영상, 음성 또는 음향 중 적어도 하나를 포함하는 보조 요소들을 디스플레이부(25a) 및 다른 출력장치(예컨대, 음향출력부(25b), 알람부(25c), 햅틱부(25d) 등) 중 적어도 하나를 통해 출력되도록 제어하는 기능을 수행한다.
또한, 단말 제어모듈(28)은 배터리부(29a)의 충전 전류와 충전 전압을 상시적으로 모니터링하고, 모니터링 값을 저장모듈(26)에 임시 저장할 수 있다. 이때, 저장모듈(26)은 모니터링 된 충전 전류와 충전 전압과 같은 배터리 충전상태정보뿐만 아니라 배터리 사양정보(제품 코드, 정격 등)도 함께 저장함이 바람직하다.
전원모듈(29)은 단말 제어모듈(28)의 제어에 의해 외부의 전원, 내부의 전원을 인가 받아 각 구성요소들의 동작에 필요한 전원을 공급한다. 전원모듈(29)은 내장되어 있는 배터리부(29a)의 전원을 각 구성요소들로 공급하여 동작하도록 하며, 충전단자(미도시)를 사용하여 배터리의 충전이 가능하다.
여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs(application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs(field programmable gate arrays), 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 그러한 실시예들이 단말 제어모듈(28)에 의해 구현될 수 있다.
소프트웨어적인 구현에 의하면, 절차나 기능과 같은 실시예들은 적어도 하나의 기능 또는 작동을 수행하게 하는 별개의 소프트웨어 모듈과 함께 구현될 수 있다. 소프트웨어 코드는 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션에 의해 구현될 수 있다. 또한, 소프트웨어 코드는 저장모듈(26)에 저장되고, 단말 제어모듈(28)에 의해 실행될 수 있다.
만약, 외부의 단말(20)이 스마트폰으로 이루어질 경우, 상기 스마트폰은 일반 핸드폰(일명 피처폰(feature phone))과는 달리 사용자가 원하는 다양한 어플리케이션(Application) 프로그램을 다운로드받아 자유롭게 사용하고 삭제가 가능한 오픈 운영체제를 기반으로 한 폰(Phone)으로서, 일반적으로 사용되는 음성/영상통화, 인터넷 데이터통신 등의 기능뿐만 아니라, 모바일 오피스 기능을 갖춘 모든 모바일 폰 또는 음성통화 기능이 없으나 인터넷 접속 가능한 모든 인터넷폰 또는 테블릿 PC(Tablet PC)를 포함하는 통신기기로 이해함이 바람직하다.
이와 같이 스마트폰은 개방형 운영체제를 사용하므로 폐쇄적인 운영체제를 가진 휴대폰과 달리 사용자가 임의로 다양한 어플리케이션 프로그램을 설치하고 관리할 수 있다.
이하에는 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 방법을 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 방법을 설명하기 위한 전체적인 흐름도이고, 도 4는 본 발명의 일 실시예에 적용된 데이터 수집장치를 통해 수집되는 XML 포맷 형태의 오픈 데이터에 대한 일 예를 나타낸 도면이며, 도 5는 본 발명의 일 실시예에 적용된 데이터 수집장치를 통해 수집되는 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터의 일 예를 나타낸 도면이며, 도 6은 본 발명의 일 실시예에 적용된 데이터 수집장치를 통해 비정형의 오픈 데이터와 메타 데이터에서 특정의 키 값에 해당하는 태그 값을 의미적인 단어로 변환하여 수집한 일 예를 나타낸 도면이며, 도 7은 본 발명의 일 실시예에 적용된 데이터 정제장치를 통해 이벤트 데이터 세트를 구성한 일 예를 나타낸 도면이다.
도 1 내지 도 7을 참조하면, 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 방법은, 먼저, 데이터 수집장치(100)를 통해 외부로부터 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 수집한다(S100).
이때, 상기 단계S100에서, 데이터 수집장치(100)는 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 수집할 수 있다(도 4 및 도 5 참조).
예컨대, 데이터 수집장치(100)는 특정의 웹페이지에서 특정의 키(Key)값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값이 있는 JSON(JavaScript Object Notation) 및/또는 XML(eXtensible Markup Language) 포맷 형태의 오픈 데이터를 수집할 수 있다(도 4 참조).
또한, 데이터 수집장치(100)는 구조화되지 않은 비정형의 오픈 데이터와 메타 데이터에서 특정의 키(Key) 값에 해당하는 태그(Tag) 값을 의미적인 단어로 변환하여 수집할 수 있다(도 6 참조).
한편, JSON(JavaScript Object Notation) 및/또는 XML(eXtensible Markup Language) 포맷 형태의 오픈 데이터 및 메타 데이터를 제공하지 않고, 특정의 웹페이지에 게시하는 형태로 데이터를 제공하는 경우, 데이터 수집장치(100)는 데이터 수집 기 표의 칼럼에 해당하는 부분을 키(Key) 값으로 수집할 수 있다.
다른 한편, 상기 단계S100에서, 데이터 수집장치(100)를 통해 수집된 구조화되지 않은 비정형의 오픈 데이터는 예컨대, 크라우드 소싱 데이터, 미리 등록되어 있는 기관별로 저장되어 있는 생활 안전 데이터, 및/또는 공공기관의 오픈 데이터 중 적어도 하나의 생활 안전 데이터로 이루어짐이 바람직하다.
이후에, 이벤트 추출장치(200)를 통해 상기 단계S100에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출한다(S200).
즉, 상기 단계S200은, 이벤트 추출장치(200)를 통해 상기 단계S100에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 기반으로 미리 구축된 이벤트 DB(250)를 이용하여 해당 오픈 데이터 및 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출할 수 있다.
예컨대, 이벤트 추출장치(200)는 상기 단계S100에서 수집된 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터에서 데이터간의 연관관계를 찾기 위해 해당 특정의 키(Key) 값에서 이벤트를 생성하게 되는 바, 상기 단계S100에서 수집된 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 기반으로 미리 구축된 이벤트 DB(250)를 이용하여 해당 오픈 데이터 및 메타 데이터에서 해당 특정의 키(Key) 값에 대응되는 미리 정의된 이벤트를 생성 및 추출할 수 있다.
이때, 상기 미리 정의된 이벤트는 예컨대, 액션(Action)을 행한 주체(Actor), 주체(Actor)가 행한 행위(Action), 액션(Action)의 목적(Object), 및/또는 액션(Action)이 일어난 시간(Time) 중 적어도 하나 이상의 이벤트로 이루어짐이 바람직하다.
한편, 상기 단계S100에서 수집된 데이터에서 특정의 키(key) 값이 이벤트 DB (250)에 없는 내용이면, 해당 특정의 키(key)의 개체명 인식 작업을 위해 인공 신경망을 이용한 개체명 인식 모델을 추가할 수 있다.
그런 다음, 데이터 정제장치(300)를 통해 상기 단계S200에서 생성 및 추출된 이벤트를 기반으로 유사도 관계를 파악하기 위한 이벤트 라벨링(Labeling) 작업을 수행하여 이벤트 데이터 세트를 구성한다(S300).
즉, 데이터 정제장치(300)를 통해 일련의 데이터에서 이벤트 레이블(Label)을 생성하는 것은, 해당 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값의 쌍으로만 이루어진 데이터에 주어, 목적어, 및/또는 서술어 관계를 부여함으로써 연관 관계를 찾기 위함이다.
이때, 데이터 정제장치(300)를 통해 구성된 이벤트 데이터 세트는 예컨대, "개체(Entity)-관계(Relation)-개체(Entity)"로 조합하여 이루어짐이 바람직하며, "개체(Entity)-관계(Relation)-개체(Entity)"로 표현된 이벤트 데이터 세트는 수집된 특정의 키(Key) 값을 조합하여 여러 개의 이벤트 데이터 세트로 나타낼 수 있다.
여기서, 상기 개체(Entity)는 주어 및/또는 목적어에 해당하는 단어로 이루어짐이 바람직하며, 상기 관계(Relation)는 동사에 해당하는 단어로 이루어짐이 바람직하다.
예컨대, 상기 단계S100에서 수집된 비정형의 오픈 데이터에서 특정의 키(Key) 값의 이벤트를 찾는다면, Actor(소방서), Action(결과), Object(진행), Time(일시) 등과 같이 이벤트(Event)로 매칭(Matching)할 수 있고, 이렇게 이벤트 매칭된 데이터에서 주어, 목적어, 동사라는 문장의 구조적인 특징 즉, 이벤트 데이터 세트를 만든다(도 7 참조).
한편, 본 발명의 주된 특징은 유사 범위내의 이벤트 벡터값을 갖는 오픈 데이터는 분포 가설에 기초하여 연관 관계를 갖는다는 점에서 착안한 것으로서, 예컨대, 같은 시간(Time)에 발생하여 같은 주체(Actor), 같은 타겟(Object)을 갖는 오픈 데이터는 의미적으로 유사한 벡터값을 갖는다.
다음으로, 이벤트 벡터생성장치(400)를 통해 상기 단계S300에서 라벨링된 이벤트 데이터 세트를 기반으로 단어 임베딩(Word embedding) 기법을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합한 이벤트 벡터를 생성한다(S400).
즉, 상기 단계S400은, 이벤트 벡터생성장치(400)을 통해 상기 단계S300에서 라벨링된 이벤트 데이터 세트를 기반으로 자연어 처리 기법인 Word2Vec 모델을 이용하여 단어를 벡터(Vector)로 변환한 후(예컨대, e1(안산소방서), r1(상황종료), e3(잔불감시) -> e1(1,0,0,0), r1(0,1,1,0), e3(0,1,0,0)), 신경 텐서 네트워크(Neural Tensor Network, NTN) 모델을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 문장 벡터로 이루어진 이벤트 벡터를 생성할 수 있다(예컨대, e1(1,0,0,0), r1(0,1,1,0), e3(0,1,0,0) -> Sentence(0, 1, 0, 0)).
이후에, 인공지능 학습장치(500)를 통해 상기 단계S400에서 생성된 이벤트 벡터를 기반으로 기 설정된 인공지능(AI) 기반의 기계 학습방법을 이용하여 이벤트 벡터별로 학습하여 이벤트 인공지능 학습모델을 구축한다(S500).
이때, 인공지능 학습장치(500)는 이벤트 벡터 간에 유사도를 확인하기 위해 유사도 손실(Similarity Loss)(예컨대, Constrastive Loss, Triplet Loss, Margin Loss 등)을 목적 함수로 사용하고, 해당 이벤트 인공지능 학습모델의 성능을 측정하기 위해 목적 함수의 결과 값인 손실률을 줄이기 위한 가중치 조정 작업과, 해당 이벤트 인공지능 학습모델의 정확도를 위해 해당 이벤트 인공지능 학습모델의 학습을 위한 가중치 설정과 손실 값(loss)을 최소화하기 위한 작업을 수행할 수 있다.
한편, 인공지능 학습장치(500)에 적용된 인공지능(AI) 기반의 기계 학습방법은 예컨대, 신경망(Neural Network), SVM(Support Vector Machine), MLP(Multi Layer Perception), 및/또는 딥러닝(Deep Learning) 중 적어도 하나의 인공지능 학습방법으로 이루어짐이 바람직하다.
그런 다음, 유사데이터 추천장치(600)를 통해 외부로부터 유사한 데이터를 찾고자하는 사용자 오픈 데이터를 기반으로 해당 사용자 오픈 데이터의 특징 벡터를 추출한 후, 상기 단계S500에서 구축된 이벤트 인공지능 학습모델을 이용하여 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 출력한다(S600).
이때, 유사데이터 추천장치(600)는 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 기 설정된 유사도 점수 임계값을 기반으로 높은 유사, 부분 유사, 및/또는 낮은 유사 중 적어도 하나로 분류하여 출력할 수 있다.
즉, 의미적으로 유사한 데이터를 묶은 결과가 사용자에게 제공되므로, 오픈 데이터를 통해 의미 있는 결과를 보길 원하는 데이터 과학자를 포함한 사용자들에게 도움이 된다.
추가적으로, 도면에 도시되진 않았지만, 상기 단계S500 이후에, 준지도 학습장치(700)를 통해 상기 단계S100에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 기반으로 문서 정규화(Text Normalization)와 형태소 분석(Morphological Analysis)의 전처리 과정을 수행하여 데이터를 가공한 후, 상기 가공된 데이터를 기반으로 준지도 학습(Semi-Supervised Learning, SSL) 방식을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 이벤트 벡터를 생성하며, 상기 생성된 이벤트 벡터를 상기 단계S500에서 구축된 이벤트 인공지능 학습모델의 학습 데이터로 사용하는 단계를 더 포함할 수 있다.
이때, 준지도 학습(SSL) 방식은 지도 학습(Supervised Learning) 과 비지도 학습(Unsupervised Learning)의 중간자적인 성격을 지닌 학습 방법으로서, 레이블 정보가 주어진 데이터 셋과 레이블 정보가 주어지지 않은 데이터 셋을 함께 활용하여 모델의 성능을 향상시키는 기법이다. 즉, 최소한의 라벨 작업된 학습 데이터를 이용해 패턴을 추출하여 대량의 학습 데이터에 부트스트래핑이나 앙상블 프로그래밍 작업을 통해 라벨을 생성하게 한다.
이러한 준지도 학습 기법은 레이블이 있는 데이터 샘플을 구하기 어렵거나 레이블링 작업에 많은 비용이 소요되는 도메인(예컨대, 의료 도메인)에서 타깃 모델의 성능 향상을 꾀하기 위해 많이 활용되고 있다.
더욱이, 도면에 도시되진 않았지만, 상기 단계S600 이후에, 저장장치(800)를 통해 외부로부터 입력된 유사한 데이터를 찾고자하는 사용자 오픈 데이터와 함께 상기 단계S600에서 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 데이터베이스(DB)화하여 저장하는 단계를 더 포함할 수도 있다.
또한, 상기 단계S600 이후에, 통신장치(900)를 통해 상기 단계S600에서 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 유선 및/또는 무선 통신방식으로 외부의 단말 및/또는 서버(950)에 전송하는 단계를 더 포함할 수도 있다.
이때, 외부의 단말(20) 및/또는 서버(30)는 미리 설치된 연관 데이터 추천관련 어플리케이션을 통해 통신장치(900)로부터 전송된 해당 사용자 오픈 데이터의 특징 벡터와 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 디스플레이 화면에 표시되도록 서비스를 제공할 수 있다.
한편, 전술한 상기 단계S600 이후에 추가적인 단계들은 필요에 따라 순차적으로 수행하거나 랜덤하게 수행할 수 있으며, 임의로 순서를 변경하여 수행할 수도 있다.
다른 한편, 본 발명의 일 실시예에 따른 유사도 기반의 연관 데이터 추천 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록시스템을 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장시스템, 비휘발성 메모리(Flash Memory), 광 데이터 저장시스템 등이 있다.
또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
전술한 본 발명에 따른 유사도 기반의 연관 데이터 추천 시스템 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
100 : 데이터 수집장치,
200 : 이벤트 추출장치,
300 : 데이터 정제장치,
400 : 이벤트 벡터생성장치,
500 : 인공지능 학습장치,
600 : 유사데이터 추천장치,
700 : 준지도 학습장치,
800 : 저장장치,
900 : 통신장치

Claims (32)

  1. 외부로부터 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 수집하는 데이터 수집장치;
    상기 데이터 수집장치로부터 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 제공받아 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출하는 이벤트 추출장치;
    상기 이벤트 추출장치로부터 해당 오픈 데이터 및 메타 데이터에서 생성 및 추출된 이벤트를 기반으로 유사도 관계를 파악하기 위한 이벤트 라벨링(Labeling) 작업을 수행하여 이벤트 데이터 세트를 구성하는 데이터 정제장치;
    상기 데이터 정제장치로부터 라벨링된 이벤트 데이터 세트를 제공받아 이를 기반으로 단어 임베딩(Word embedding) 기법을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합한 이벤트 벡터를 생성하는 이벤트 벡터생성장치;
    상기 이벤트 벡터생성장치로부터 생성된 이벤트 벡터를 제공받아 이를 기반으로 기 설정된 인공지능(AI) 기반의 기계 학습방법을 통해 이벤트 벡터별로 학습하여 이벤트 인공지능 학습모델을 구축하는 인공지능 학습장치; 및
    외부로부터 유사한 데이터를 찾고자하는 사용자 오픈 데이터를 입력받아 이를 기반으로 해당 사용자 오픈 데이터의 특징 벡터를 추출한 후, 상기 인공지능 학습장치로부터 구축된 이벤트 인공지능 학습모델을 이용하여 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 출력하는 유사데이터 추천장치를 포함하되,
    상기 데이터 수집장치는, 해당 비정형의 오픈 데이터와 메타 데이터에서 특정의 키(Key) 값에 해당하는 태그 값을 의미적인 단어로 변환하여 수집하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  2. 제1 항에 있어서,
    상기 데이터 수집장치는, 특정의 웹페이지에서 특정의 키(Key)값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값이 있는 JSON(JavaScript Object Notation) 또는 XML(eXtensible Markup Language) 포맷 형태의 오픈 데이터를 수집하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  3. 삭제
  4. 제1 항에 있어서,
    상기 데이터 수집장치로부터 수집된 구조화되지 않은 비정형의 오픈 데이터는, 크라우드 소싱 데이터, 미리 등록되어 있는 기관별로 저장되어 있는 생활 안전 데이터, 및 공공기관의 오픈 데이터 중 적어도 하나의 생활 안전 데이터로 이루어진 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  5. 제1 항에 있어서,
    상기 이벤트 추출장치에서 미리 정의된 이벤트는, 액션(Action)을 행한 주체(Actor), 주체(Actor)가 행한 행위(Action), 액션(Action)의 목적(Object), 및 액션(Action)이 일어난 시간(Time)으로 이루어진 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  6. 제1 항에 있어서,
    상기 데이터 수집장치는, 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 수집하고,
    상기 이벤트 추출장치는, 상기 데이터 수집장치로부터 수집된 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 제공받아 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 해당 특정의 키(Key) 값에 대응되는 미리 정의된 이벤트를 생성 및 추출하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  7. 제1 항에 있어서,
    상기 데이터 정제장치로부터 구성된 이벤트 데이터 세트는, "개체(Entity)-관계(Relation)-개체(Entity)"로 조합하여 이루어지되,
    상기 개체(Entity)는 주어 또는 목적어에 해당하는 단어로 이루어지며, 상기 관계(Relation)는 동사에 해당하는 단어로 이루어진 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  8. 제1 항에 있어서,
    상기 이벤트 벡터생성장치는, 상기 데이터 정제장치로부터 라벨링된 이벤트 데이터 세트를 제공받아 이를 기반으로 자연어 처리 기법인 Word2Vec 모델을 이용하여 단어를 벡터(Vector)로 변환하고, 신경 텐서 네트워크(Neural Tensor Network, NTN) 모델을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 문장 벡터로 이루어진 이벤트 벡터를 생성하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  9. 제1 항에 있어서,
    상기 인공지능 학습장치는, 이벤트 벡터 간에 유사도를 확인하기 위해 유사도 손실(Similarity Loss)을 목적 함수로 사용하고, 해당 이벤트 인공지능 학습모델의 성능을 측정하기 위해 목적 함수의 결과 값인 손실률을 줄이기 위한 가중치 조정 작업과, 해당 이벤트 인공지능 학습모델의 정확도를 위해 해당 이벤트 인공지능 학습모델의 학습을 위한 가중치 설정과 손실 값(loss)을 최소화하기 위한 작업을 수행하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  10. 제1 항에 있어서,
    상기 인공지능 학습장치에 적용된 인공지능(AI) 기반의 기계 학습방법은, 신경망(Neural Network), SVM(Support Vector Machine), MLP(Multi Layer Perception), 및 딥러닝(Deep Learning) 중 적어도 하나의 인공지능 학습방법으로 이루어지는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  11. 제1 항에 있어서,
    상기 유사데이터 추천장치는, 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 기 설정된 유사도 점수 임계값을 기반으로 높은 유사, 부분 유사, 또는 낮은 유사 중 적어도 하나로 분류하여 출력하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  12. 제1 항에 있어서,
    상기 데이터 수집장치로부터 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 제공받아 이를 기반으로 문서 정규화(Text Normalization)와 형태소 분석(Morphological Analysis)의 전처리 과정을 수행하여 데이터를 가공한 후, 상기 가공된 데이터를 기반으로 준지도 학습(Semi-Supervised Learning, SSL) 방식을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 이벤트 벡터를 생성하며, 상기 생성된 이벤트 벡터가 상기 인공지능 학습장치에서 구축된 이벤트 인공지능 학습모델의 학습 데이터로 사용되도록 이루어진 준지도 학습장치가 더 포함되는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  13. 제1 항에 있어서,
    외부로부터 입력된 유사한 데이터를 찾고자하는 사용자 오픈 데이터와 함께 상기 유사데이터 추천장치에 의해 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 데이터베이스(DB)화하여 저장하는 저장장치가 더 포함되는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  14. 제1 항에 있어서,
    상기 유사데이터 추천장치에 의해 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 유선 또는 무선 통신방식으로 외부의 단말 또는 서버에 전송하는 통신장치가 더 포함되는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  15. 제14 항에 있어서,
    상기 외부의 단말은 또는 서버는, 미리 설치된 연관 데이터 추천관련 어플리케이션을 통해 상기 통신장치로부터 전송된 해당 사용자 오픈 데이터의 특징 벡터와 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 디스플레이 화면에 표시되도록 서비스를 제공하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 시스템.
  16. (a) 데이터 수집장치를 통해 외부로부터 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 수집하는 단계;
    (b) 이벤트 추출장치를 통해 상기 단계(a)에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출하는 단계;
    (c) 데이터 정제장치를 통해 상기 단계(b)에서 생성 및 추출된 이벤트를 기반으로 유사도 관계를 파악하기 위한 이벤트 라벨링(Labeling) 작업을 수행하여 이벤트 데이터 세트를 구성하는 단계;
    (d) 이벤트 벡터생성장치를 통해 상기 단계(c)에서 라벨링된 이벤트 데이터 세트를 기반으로 단어 임베딩(Word embedding) 기법을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합한 이벤트 벡터를 생성하는 단계;
    (e) 인공지능 학습장치를 통해 상기 단계(d)에서 생성된 이벤트 벡터를 기반으로 기 설정된 인공지능(AI) 기반의 기계 학습방법을 이용하여 이벤트 벡터별로 학습하여 이벤트 인공지능 학습모델을 구축하는 단계; 및
    (f) 유사데이터 추천장치를 통해 외부로부터 유사한 데이터를 찾고자하는 사용자 오픈 데이터를 기반으로 해당 사용자 오픈 데이터의 특징 벡터를 추출한 후, 상기 단계(e)에서 구축된 이벤트 인공지능 학습모델을 이용하여 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 출력하는 단계를 포함하되,
    상기 단계(a)에서, 상기 데이터 수집장치는 해당 비정형의 오픈 데이터와 메타 데이터에서 특정의 키(Key) 값에 해당하는 태그 값을 의미적인 단어로 변환하여 수집하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  17. 제16 항에 있어서,
    상기 단계(a)에서, 상기 데이터 수집장치는 특정의 웹페이지에서 특정의 키(Key)값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값이 있는 JSON(JavaScript Object Notation) 또는 XML(eXtensible Markup Language) 포맷 형태의 오픈 데이터를 수집하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  18. 삭제
  19. 제16 항에 있어서,
    상기 단계(a)에서, 상기 데이터 수집장치를 통해 수집된 구조화되지 않은 비정형의 오픈 데이터는, 크라우드 소싱 데이터, 미리 등록되어 있는 기관별로 저장되어 있는 생활 안전 데이터, 및 공공기관의 오픈 데이터 중 적어도 하나의 생활 안전 데이터로 이루어진 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  20. 제16 항에 있어서,
    상기 단계(b)는, 상기 이벤트 추출장치를 통해 상기 단계(a)에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 기반으로 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 미리 정의된 이벤트를 생성 및 추출하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  21. 제16 항에 있어서,
    상기 단계(b)에서, 상기 미리 정의된 이벤트는, 액션(Action)을 행한 주체(Actor), 주체(Actor)가 행한 행위(Action), 액션(Action)의 목적(Object), 및 액션(Action)이 일어난 시간(Time)으로 이루어진 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  22. 제16 항에 있어서,
    상기 단계(a)에서, 상기 데이터 수집장치는 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 수집하고,
    상기 단계(b)에서, 상기 이벤트 추출장치는 상기 단계(a)에서 수집된 특정의 키(Key) 값과 해당 특정의 키(Key)값에 대한 의미적인 정보(Value)값을 가진 비정형의 오픈 데이터 및 메타 데이터를 기반으로 미리 구축된 이벤트 DB를 이용하여 해당 오픈 데이터 및 메타 데이터에서 해당 특정의 키(Key) 값에 대응되는 미리 정의된 이벤트를 생성 및 추출하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  23. 제16 항에 있어서,
    상기 단계(c)에서, 상기 데이터 정제장치를 통해 구성된 이벤트 데이터 세트는, "개체(Entity)-관계(Relation)-개체(Entity)"로 조합하여 이루어지되,
    상기 개체(Entity)는 주어 또는 목적어에 해당하는 단어로 이루어지며, 상기 관계(Relation)는 동사에 해당하는 단어로 이루어진 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  24. 제16 항에 있어서,
    상기 단계(d)는, 상기 이벤트 벡터생성장치를 통해 상기 단계(c)에서 라벨링된 이벤트 데이터 세트를 기반으로 자연어 처리 기법인 Word2Vec 모델을 이용하여 단어를 벡터(Vector)로 변환한 후, 신경 텐서 네트워크(Neural Tensor Network, NTN) 모델을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 문장 벡터로 이루어진 이벤트 벡터를 생성하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  25. 제16 항에 있어서,
    상기 단계(e)에서, 상기 인공지능 학습장치는 이벤트 벡터 간에 유사도를 확인하기 위해 유사도 손실(Similarity Loss)을 목적 함수로 사용하고, 해당 이벤트 인공지능 학습모델의 성능을 측정하기 위해 목적 함수의 결과 값인 손실률을 줄이기 위한 가중치 조정 작업과, 해당 이벤트 인공지능 학습모델의 정확도를 위해 해당 이벤트 인공지능 학습모델의 학습을 위한 가중치 설정과 손실 값(loss)을 최소화하기 위한 작업을 수행하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  26. 제16 항에 있어서,
    상기 단계(e)에서, 상기 인공지능 학습장치에 적용된 인공지능(AI) 기반의 기계 학습방법은, 신경망(Neural Network), SVM(Support Vector Machine), MLP(Multi Layer Perception), 및 딥러닝(Deep Learning) 중 적어도 하나의 인공지능 학습방법으로 이루어지는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  27. 제16 항에 있어서,
    상기 단계(f)에서, 상기 유사데이터 추천장치는 상기 추출된 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 기 설정된 유사도 점수 임계값을 기반으로 높은 유사, 부분 유사, 또는 낮은 유사 중 적어도 하나로 분류하여 출력하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  28. 제16 항에 있어서,
    상기 단계(e) 이후에, 준지도 학습장치를 통해 상기 단계(a)에서 수집된 구조화되지 않은 비정형의 오픈 데이터와 함께 해당 비정형의 오픈 데이터에 대한 정보를 포함한 메타 데이터를 기반으로 문서 정규화(Text Normalization)와 형태소 분석(Morphological Analysis)의 전처리 과정을 수행하여 데이터를 가공한 후, 상기 가공된 데이터를 기반으로 준지도 학습(Semi-Supervised Learning, SSL) 방식을 이용하여 두 개의 서로 다른 독립된 개체(Entity) 정보의 관계(Relation)를 결합하여 이벤트 벡터를 생성하며, 상기 생성된 이벤트 벡터를 상기 단계(e)에서 구축된 이벤트 인공지능 학습모델의 학습 데이터로 사용하는 단계를 더 포함하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  29. 제16 항에 있어서,
    상기 단계(f) 이후에, 저장장치를 통해 외부로부터 입력된 유사한 데이터를 찾고자하는 사용자 오픈 데이터와 함께 상기 단계(f)에서 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 데이터베이스(DB)화하여 저장하는 단계를 더 포함하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  30. 제16 항에 있어서,
    상기 단계(f) 이후에, 통신장치를 통해 상기 단계(f)에서 추출 및 추천된 해당 사용자 오픈 데이터의 특징 벡터 및 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 유선 또는 무선 통신방식으로 외부의 단말 또는 서버에 전송하는 단계를 더 포함하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  31. 제30 항에 있어서,
    상기 외부의 단말 또는 서버는, 미리 설치된 연관 데이터 추천관련 어플리케이션을 통해 상기 통신장치로부터 전송된 해당 사용자 오픈 데이터의 특징 벡터와 해당 사용자 오픈 데이터의 특징 벡터와 의미적으로 유사한 연관 데이터를 제공받아 이를 이용하여 해당 사용자 오픈 데이터별로 유사한 연관 데이터를 디스플레이 화면에 표시되도록 서비스를 제공하는 것을 특징으로 하는 유사도 기반의 연관 데이터 추천 방법.
  32. 제16 항, 제17 항, 제19 항 내지 제31 항 중 어느 한 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020210103056A 2021-08-05 2021-08-05 유사도 기반의 연관 데이터 추천 시스템 및 그 방법 KR102411081B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210103056A KR102411081B1 (ko) 2021-08-05 2021-08-05 유사도 기반의 연관 데이터 추천 시스템 및 그 방법
US17/815,439 US20230041615A1 (en) 2021-08-05 2022-07-27 System for recommending data based on similarity and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210103056A KR102411081B1 (ko) 2021-08-05 2021-08-05 유사도 기반의 연관 데이터 추천 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR102411081B1 true KR102411081B1 (ko) 2022-06-22

Family

ID=82217107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210103056A KR102411081B1 (ko) 2021-08-05 2021-08-05 유사도 기반의 연관 데이터 추천 시스템 및 그 방법

Country Status (2)

Country Link
US (1) US20230041615A1 (ko)
KR (1) KR102411081B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100098028A (ko) * 2009-02-27 2010-09-06 주식회사 솔트룩스 시맨틱 메타데이터를 활용한 데이터 구조화 방법 및 시스템
KR20180118979A (ko) 2017-04-24 2018-11-01 한국전자통신연구원 다중로그 데이터 기반의 공공안전 위험상황 감지, 예측, 대응 방법 및 장치
KR101937434B1 (ko) * 2017-09-25 2019-01-10 천자혜 빅데이터 및 인공지능 기반 공공 주치의 서비스 제공 방법
KR20190063978A (ko) * 2017-11-30 2019-06-10 굿모니터링 주식회사 비정형 데이터의 카테고리 자동분류 방법
JP2020098484A (ja) * 2018-12-18 2020-06-25 日本電信電話株式会社 オントロジー作成装置、方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100098028A (ko) * 2009-02-27 2010-09-06 주식회사 솔트룩스 시맨틱 메타데이터를 활용한 데이터 구조화 방법 및 시스템
KR20180118979A (ko) 2017-04-24 2018-11-01 한국전자통신연구원 다중로그 데이터 기반의 공공안전 위험상황 감지, 예측, 대응 방법 및 장치
KR101937434B1 (ko) * 2017-09-25 2019-01-10 천자혜 빅데이터 및 인공지능 기반 공공 주치의 서비스 제공 방법
KR20190063978A (ko) * 2017-11-30 2019-06-10 굿모니터링 주식회사 비정형 데이터의 카테고리 자동분류 방법
JP2020098484A (ja) * 2018-12-18 2020-06-25 日本電信電話株式会社 オントロジー作成装置、方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
오효정 외 2인, 이슈 이벤트 간의 시공간 연속성 분석, Journal of KIIT. Vol. 11, No. 9, pp. 161-167, Sep. 30, 2013. 1부.* *

Also Published As

Publication number Publication date
US20230041615A1 (en) 2023-02-09

Similar Documents

Publication Publication Date Title
JP6902136B2 (ja) システムの制御方法、システム、及びプログラム
US10964319B2 (en) Electronic device and method of controlling the same
KR101695596B1 (ko) 이동통신 단말기를 이용한 유해가스 모니터링 시스템
US10593322B2 (en) Electronic device and method for controlling the same
US20170289619A1 (en) Method for positioning video, terminal apparatus and cloud server
CN111611436B (zh) 一种标签数据处理方法、装置以及计算机可读存储介质
KR20180055708A (ko) 이미지를 처리하는 전자 장치 및 방법
KR20190107621A (ko) 상황 인식에 기반한 어플리케이션 추천을 위한 장치 및 제어 방법
KR20120028491A (ko) 이미지 데이터 관리장치 및 방법
CN104268129B (zh) 消息回复的方法及装置
WO2014048105A1 (zh) 人机交互数据处理方法和装置
CN110516749A (zh) 模型训练方法、视频处理方法、装置、介质和计算设备
KR102101094B1 (ko) 변전소 내에 설치된 현장기기의 제어를 위한 전력 감시 및 제어 시스템과 그 방법
US20170316258A1 (en) Augmenting gesture based security technology for improved differentiation
CN113254684A (zh) 一种内容时效的确定方法、相关装置、设备以及存储介质
KR20190116188A (ko) 상황 인식에 기반한 방해 금지 모드 추천을 위한 장치 및 제어 방법
Baimbetov et al. Using big data for emotionally intelligent mobile services through multi-modal emotion recognition
KR102411081B1 (ko) 유사도 기반의 연관 데이터 추천 시스템 및 그 방법
WO2018231106A1 (en) First node, second node, third node, and methods performed thereby, for handling audio information
KR102576358B1 (ko) 수어 번역을 위한 학습데이터 생성 장치 및 그의 동작 방법
CN113849575A (zh) 数据处理方法、装置和系统
US20170316260A1 (en) Augmenting gesture based security technology using mobile devices
KR20230041951A (ko) 디지털 트윈 및 인공지능 기반의 재난 대응 및 운영 시스템
KR20230141456A (ko) 주제어 추출 기반의 도메인 특화 데이터 클렌징 장치 및 그 방법
US20170316259A1 (en) Augmenting gesture based security technology for improved classification and learning

Legal Events

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