KR20230043936A - 지식 그래프 자동 구축 - Google Patents

지식 그래프 자동 구축 Download PDF

Info

Publication number
KR20230043936A
KR20230043936A KR1020237006391A KR20237006391A KR20230043936A KR 20230043936 A KR20230043936 A KR 20230043936A KR 1020237006391 A KR1020237006391 A KR 1020237006391A KR 20237006391 A KR20237006391 A KR 20237006391A KR 20230043936 A KR20230043936 A KR 20230043936A
Authority
KR
South Korea
Prior art keywords
sequence
knowledge graph
terms
machine learning
learning model
Prior art date
Application number
KR1020237006391A
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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20230043936A publication Critical patent/KR20230043936A/ko

Links

Images

Classifications

    • 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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/042Knowledge-based neural networks; Logical representations of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • Soil Working Implements (AREA)
  • Control Of Non-Positive-Displacement Pumps (AREA)
  • Earth Drilling (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

새로운 지식 그래프를 구축하기 위한 방법이 제공될 수 있다. 본 방법은 기존 지식 그래프를 제공하는 단계, 기존 지식 그래프를 통해 램덤 워크를 샘플링하는 단계, 샘플링된 랜덤 워크의 정점 및 에지에 대한 임베딩 벡터를 결정하는 단계, 및 램덤 워크의 임베딩 벡터를 입력 시퀀스로 취하여 기계 학습 모델을 훈련시키는 단계를 포함한다. 또한, 본 방법은 문서 세트를 수신하는 단계, 문서 세트의 문서로부터의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계, 구(phrases)로부터 결정된 용어의 시퀀스로부터의 임베딩 벡터의 시퀀스를 구축하는 단계, 및 용어의 제2 시퀀스를 예측하기 위하여 구(phrases)로부터 결정된 용어의 시퀀스로부터 구축된 임베딩 벡터의 시퀀스를 훈련된 기계 학습 모델의 입력으로 이용하는 단계를 포함한다. 마지막으로, 본 방법은 새로운 지식 그래프를 구축하기 위하여 예측된 용어의 제2 시퀀스를 병합하는 단계를 포함한다.

Description

지식 그래프 자동 구축
[0001] 본 발명은 일반적으로 지식 그래프에 관한 것으로, 보다 상세하게는 새로운 지식 그래프를 구축하는 방법(a method for building a new knowledge graph)에 관한 것이다. 또한, 본 발명은 지식 그래프를 구축하기 위한 지식 그래프 구축 시스템 및 컴퓨터 프로그램 제품에 관한 것이다.
[0002] 인공지능(AI)은 IT(정보기술) 업계의 화두 중 하나다. 그것은 가장 빠르게 발전하는 기술 분야 중 하나이다. 대량의 알고리즘과 시스템의 빠른 발전과 병행하여 사용 가능한 기술의 부족은 상황을 더욱 악화시킨다. 기업과 과학은 얼마 전부터 지식과 데이터를 사실과 사실 사이의 관계로 구성된 지식 그래프로 구성하기 시작했다. 그러나 계속 증가하는 데이터 양에서 지식 그래프를 구성하는 것은 노동 집약적이고 잘 정의되지 않은 프로세스이다. 많은 경험이 필요하다. 현재, 일반적인 접근 방식은 사실 간의 관계를 감지하고 특정 가중치를 할당하기 위해 특정 파서(parsers)를 정의하고 정보 코퍼스(corpus), 예를 들어, 복수의 문서에 대해 실행하는 것이다. 그런 다음 전문가는 이것들을 새로운 지식 그래프에 통합해야 한다.
[0003] 끊임없이 변화하는 빅 데이터 환경에서 파서(parsers)를 정의, 코딩 및 유지하고 관련 하부구조를 유지하는 것은 대기업과 조직에게도 어려운 작업이다. 파서는 일반적으로 콘텐츠 및 지식 도메인(domain)에 따라 다르며, 이들의 개발에는 고도로 숙련된 인력이 필요할 수 있다. 따라서 하나의 지식 도메인을 위해 개발된 파서는 다른 코퍼스 또는 다른 지식 도메인을 위해 일대일 방식으로 사용될 수 없다.
[0004] 예를 들어, 지식 기반 응용 기술 분야의 일부 방법은 삼중 주체 구조 벡터(triplet entity structure vector) 내의 각 주체에 대한 설명 문서와 함께 삼중 주체 구조 벡터를 얻을 수 있다. 그런 다음, 문서 작업 분배 행렬(document work distribution matrix)를 얻기 위해 설명 문서에 대한 단어 분할에 대한 통계 처리를 수행한다. 거기서 키단어 벡터 행렬(keyword vector matrix)을 얻어 다중 도메인 지식 맵 삼중 주체 정보 공간(multi-domain knowledge map triplet information space)으로 변환한다.
[0005] 또한, 문서 CN 110704640A는 지식 그래프를 표현하고 학습하기 위한 방법 및 장치를 개시하고 있으며, 여기서 지식 그래프는 학습되고 학습할 주체는 획득된 지식 그래프로부터 획득된다. 따라서, 주체-단어 이종 그래프(entity-word heterogeneous graph)는 주체 간의 로컬 및 글로벌 의미 관계(semantic relations)를 포착할 수 있으며, 단어들 및 주체들과 단어들 사이의 단거리 의미 관계 및 장거리 의미 관계가 사용될 수 있다.
[0006] 알려진 솔루션의 단점은 여전히 높은 자격을 갖춘 인력이 필요하다는 것일 수 있다. 따라서 지식 그래프를 생성하는 문제를 효율적으로 해결할 수 있는 방법은 긴급한 기술적 해결책이 필요할 수 있는 기술적 문제이다.
[0007] 본 발명의 일 실시예에 따르면, 새로운 지식 그래프를 구축하는 방법이 제공될 수 있다. 본 방법은 적어도 하나의 기존 지식 그래프를 수신하는 단계, 상기 적어도 하나의 기존 지식 그래프를 통해 랜덤 워크(random walks)을 샘플링하는 단계, 샘플링된 랜덤 워크의 정점(vertices)과 에지(edges)에 대한 임베딩 벡터(embedding vectors)를 결정하는 단계, 용어의 시퀀스(sequences of terms)를 예측할 수 있는 훈련된 기계 학습 모델을 구축하기 위하여 기계 학습 모델을 훈련하는 단계를 포함한다.
[0008] 본 방법은 문서 세트 - 여기서 상기 문서 세트의 문서의 구(phrases)로부터 용어의 시퀀스가 결정됨 - 를 제공하는 단계, 구(phrases)로부터 결정된 용어의 시퀀스로부터 임베딩 벡터의 시퀀스를 구축하는 단계, 및 용어의 제2 시퀀스를 예측하기 위해 훈련된 기계 학습 모델에 대한 입력으로서 구(phrases)로부터 결정된 용어의 시퀀스로부터 구축된 임베딩 벡터의 시퀀스를 사용하는 단계를 포함한다.
[0009] 마지막으로, 본 방법은 새로운 지식 그래프를 구축하기 위하여 예측된 용어의 제2 시퀀스(predicted second sequences of terms)를 병합하는 단계를 포함할 수 있다.
[0010] 본 발명의 다른 실시예에 따르면, 지식 그래프를 구축하기 위한 지식 그래프 구축 시스템이 제공될 수 있다. 지식 그래프 구축 시스템은 프로세서에 통신 가능하게 결합된 메모리를 포함할 수 있으며, 여기서 프로세서는 메모리에 저장된 프로그램 코드를 사용하여, 적어도 하나의 기존 지식 그래프를 수신하는 단계, 적어도 하나의 기존 지식 그래프를 통한 랜덤 워크을 샘플링하는 단계, 샘플링된 랜덤 워크의 정점 및 에지에 대한 임베딩 벡터를 결정하는 단계, 및 기계 학습 모델을 훈련함으로써 랜덤 워크의 임베딩 벡터의 입력 시퀀스를 취하여 용어의 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축하는 단계를 수행하도록 구성된다.
[0011] 또한, 지식 그래프 구성 시스템의 프로세서는, 메모리에 저장된 프로그램 코드를 사용하여, 문서 세트를 제공하는 단계, 문서 세트의 문서로부터의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계, 구(phrases)로부터 결정된 용어의 시퀀스로부터 임베딩 벡터의 시퀀스를 구축하는 단계, 및 용어의 제2 시퀀스를 예측하기 위해 훈련된 기계 학습 모델에 대한 입력으로서 구(phrases)로부터 결정된 용어의 시퀀스로부터 구축된 임베딩 벡터의 시퀀스를 사용하는 단계, 및 예측된 용어의 제2 시퀀스를 병합하여 새로운 지식 그래프를 구축하는 단계를 수행하도록 구성될 수 있다.
[0012] 새로운 지식 그래프를 구축하기 위해 제안된 본 방법은 다수의 이점, 기술적 효과, 기여 및/또는 개선을 제공할 수 있다.
[0013] 지식 그래프를 자동으로 구축하는 기술적 문제가 해결된다. 이러한 방식으로 지식 그래프가 생성될 수 있으며 기존 접근 방식보다 적은 기술 전문가를 필요로 할 수 있다. 새로운 지식 그래프는 또한 서비스 제공자에 의해 서비스로서 생성될 수 있다. 이를 위해, 일반적으로 특정 지식 도메인의 기존 지식 그래프는 추가적인 인간의 개입 없이 새로운 문서 코퍼스(corpus)에서 새로운 지식 그래프를 생성하기 위해 기계 학습 모델 시스템을 훈련시키는 데 사용될 수 있다.
[0014] 일반적으로 기계 학습 모델을 훈련하기 위해 더 일반적인 지식 그래프 - 최종적으로는 다른 지식 도메인으로부터의 - 가 사용될 수 있다. 그러나 동일한 도메인 지식 영역의 기존 지식 그래프를 사용할 때 새로 생성된 지식 그래프에 대한 더 나은 결과를 기대할 수 있다.
[0015] 아래와 같이 새로운 코퍼스를 위한 다양한 문서가 사용될 수 있다. 문서는 특정한 방법으로 준비될 필요가 없다. 그러나, 문서는 여기서 제안된 방법의 일부로서 사전 처리될 수 있다.
[0016] 여기서 제안된 기술적 개념의 원리는 관련된 임베딩 벡터들이 서로 더 가까울수록 즉, 상대적 임베딩 벡터들이 서로 더 가까울수록 용어와 구(phrases)가 서로 더 밀접하게 연관될 수 있다는 사실에 기초할 수 있다.
[0017] 따라서, 기존 지식 그래프의 핵심 기술 및 기존 지식 그래프의 지식 도메인에 특화된 훈련된 기계 학습 시스템을 기반으로 다수의 새로운 지식 그래프가 자동으로 생성될 수 있다. 고도로 숙련된 인력이 필요하지 않으며 새로 구축된 지식 그래프의 생성을 자동화하여 서비스로 제공할 수 있다.
[0018] 다음에는, 방법 및 시스템에 적용 가능한, 현재 설명된 개념의 추가적인 실시예가 아래에서 더 상세히 설명될 것이다.
[0019] 유리한 실시예에 따르면, 본 방법은 또한 용어의 쿼리 시퀀스(query sequence)를 포함하는 자연어 쿼리(natural language query)를 수신하는 단계, 용어의 쿼리 시퀀스에 대한 쿼리 임베딩 벡터(query embedding vectors)를 결정하는 단계, 쿼리 임베딩 벡터를 훈련된 기계 학습 모델에 대한 입력으로 사용함으로써 훈련된 기계 학습 모델을 이용하여 용어의 결과 시퀀스를 예측하는 단계를 또한 포함할 수 있다. 따라서 제안된 방법으로 동일한 주제에 대한 기존 지식 그래프와 질의응답(question-and-answer machine) 기계가 자동으로 구성될 수 있는 문서 세트를 제공함으로써 거의 완전히 자동화된 방식으로 특정 주제에 대한 질문응답 기계를 구축하는 것이 가능할 수 있다. 따라서 원래의 지식 그래프는 구성된 질의응답 기계의 일부가 일반적으로 아니다. 따라서, 기초(즉, 기존 지식 그래프)와 새로 구축된 지식 그래프 사이의 엄격한 차별화가 유지될 수 있다. 그들 사이에는 어떠한 간섭도 일어나지 않을 것이다.
[0020] 하나의 선택적 실시예에 따르면, 본 방법은 또한 용어의 예측된 결과 시퀀스를 저장하는 단계를 포함할 수 있다. 이는 훈련된 기계 학습 모델을 사용하여 답변을 재구성할 필요가 없기 때문에 기본 기계(예: 질의응답 기계 사용)에서 더 빨리 답변할 수 있다. 대신, 이전에 생성된 답변은 단순히 재사용될 수 있다. 이것은 제안된 방법을 FAQ(자주 묻는 질문) 응답기로 사용할 수 있는 경우 특히 유리할 수 있다.
[0021] 하나의 진보된 실시예에 따르면, 본 방법은 용어의 결과 시퀀스와 관련하여 제공된 문서의 세트로부터 문서 및/또는 문서에 대한 참조를 반환하는 단계를 또한 포함할 수 있다. 이러한 방식으로, 예를 들어 질의응답 기계의 형태로, 본 방법은 블랙박스로 작동하지 않을 수도 있지만, 각각의 답변의 기반이 될 수 있는 문서 또는 문서 조각에 의해 지원되는 주어진 답변에 대한 증거를 제공할 수도 있다. 전체 문서 대신 문서에 대한 포인터(pointers)가 반환될 수 있다.
[0022] 본 방법의 하나의 허용적인 실시예에 따르면, 랜덤 워크의 시작점은 기존 지식 그래프의 임의로 선택된 리프(leaf) - 예를 들어, 메쉬 지식 그래프(meshed knowledge graphs)의 경우 -, 기존 지식 그래프의 루트(root) - 예를 들어, 계층적 지식 그래프(hierarchical knowledge graphs)의 경우 나무와 같은 KG를 따라 무작위 경로를 취함 -, 및 기존 지식 그래프의 선택된 정점(vertex)을 포함하는 그룹에서 선택될 수 있으며, 여기서 선택은 미리 정의된 규칙에 따라 수행된다. 이에 따라, 미리 정의된 규칙은 다양한 형태를 가질 수 있다. 예를 들어, 랜덤 워크는 항상 동일한 정점에서 시작하거나(계층적 지식 그래프의 경우와 유사) 랜덤 워크는 특정 - 예를 들어, 코어 그룹(core group) - 정점의 임의로 선택된 정점에서 시작할 수 있다. 일반적으로 선택에 제한이 없다.
[0023] 본 방법의 추가적인 실시예에 따르면, 문서의 구(phrases)는 개별 용어들 - 예를 들어, 표현 또는 단어의 형태 -, 복수의 후속 (또는 연결된) 용어들 - 즉, 파서에 의해 분리된 단어들의 그룹 -, 및 (완전한) 문장으로 구성된 그룹으로부터 선택될 수 있다. 또한, 2개 이상의 문장이 사용될 수 있다. 이는 문서의 구조에 따라 달라질 수 있다. 경우에 따라 완전한 단락이 구(phrase)로 사용될 수 있는 경우에도 유용할 수 있다. 마지막으로, 구문의 정의는 기본 시스템의 구성 가능한 매개변수일 수 있다.
[0024] 본 방법의 바람직한 일 실시예에 따르면, 상기 기계 학습 모델은 시퀀스 대 시퀀스 기계 학습 모델(sequence-to-sequence machine-learning model)일 수 있다. 시퀀스 대 시퀀스 학습(seq2seq)은 한 도메인(예를 들어, 주어진 지식 그래프 또는 다른 맥락에서 하나의 언어, 예를 들어, 영어)의 시퀀스에서 다른 도메인(예를 들어, 새로 구성된 지식 그래프 또는 맥락에서 다른 언어, 예를 들어, 프랑스어로 번역된 동일한 문장)의 시퀀스를 변환하는 훈련 모델에 관한 것이다. 이것은 여기서 제안된 자유 형식 질문 답변(주어진 자연어 질문에 자연어 답변 생성)에 사용될 수 있다. 일반적으로 텍스트를 생성해야 할 때 언제든지 적용할 수 있다. 이러한 작업을 처리하는 방법은 여러 가지가 있다. 예를 들어, 재귀 신경망(recurrent neural network : RNN) 또는 1D 컨브넷(convnets)(1차원 컨볼루션 네트워크)을 사용한다.
[0025] 본 방법의 흥미로운 실시예에 따르면, 문서 세트는 기사, 책, 백서(whitepaper), 신문, 회의록, 잡지, 채팅 프로토콜, 원고, 손으로 쓴 메모 - 특히, 광학 문자 인식(optical character recognition : OCR)을 이용한 -, 서버 로그(server log) 또는 이메일 스레드(email thread), 또는 이들의 혼합물일 수 있다. 일반적으로, 하나 이상의 더 큰(즉, 미리 정의된 수보다 큰) 구(phrases) 모음마다 새로운 지식 그래프를 구성하기 위한 기초로 사용될 수 있다.
[0026] 본 방법의 유용한 실시예에 따르면, 병합은 예측된 용어의 제2 시퀀스로부터 에지 및 연결된 정점의 복수의 튜플(tuples) - 특히, 하나의 에지에 연결된 두 개의 정점 - 을 구축하는 단계를 포함할 수 있다. 이로써, 새로운 지식 그래프의 에지와 정점은 제공된 문서 세트의 용어에 해당할 수 있으며, 에지 또는 정점인 용어를 특징 짓는 용어에 대한 메타데이터가 훈련된 기계 학습 시스템의 추가 출력으로 제공될 수 있다. 따라서, 새로운 지식 그래프를 구성하기 위해 기본 코퍼스에서 사용할 수 있는 추가 정보는 (i) 새로운 지식 그래프의 구성 프로세스, 및 (ii) 훈련된 기계 학습 모델을 사용한 답변 예측, 즉 답변의 생성에 사용될 수 있으며, 이로 인해 추론이 투명해질 수 있다.
[0027] 하나의 향상된 실시예에 따르면, 본 방법은 각각 에지 및 정점과 함께 에지 및 정점에 대한 출처 데이터(provenance data)를 저장하는 단계를 또한 포함할 수 있다. 이러한 출처 데이터는 또한 메타데이터로 취급될 수 있다. 기본 지식 그래프 시스템 및 관련 질의응답 기계는 출처 데이터를 통해 사용자에게 예측 답변의 근거와 추론을 이해하기 위한 예시를 제공할 수 있다.
[0028] 본 방법의 다른 유용한 실시예에 따르면, 용어의 결과 시퀀스는 지식 그래프에서 에지 및 관련 정점의 시퀀스일 수 있다. 따라서 새로 구성된 지식 그래프의 자연 구조(natural structure)는 자연어 질의에 대한 답변의 기초로 사용될 수 있다. 보다 정확하게는, 용어의 결과 시퀀스는 정점 및 에지에 저장된 용어일 수 있다. 정점과 에지에 대한 이러한 이해와 해석은 이 문서 전반에 걸쳐 유효할 수 있다.
[0029] 본 방법의 더 향상된 실시예에 따르면, 자연어 시스템은 에지 - 즉, 에지"에(in)" (즉, 에지와 관련된 메모리에) 저장된 용어 - 의 시퀀스와 관련된 정점 - 즉, 정점"에(in)" (즉, 정점과 관련된 메모리에) 저장된 용어) - 을 인간이 이해할 수 있는 형태로 변환할 수 있다. 이를 위해, 지식 그래프에서 추출된 정점과 에지의 용어 사이에 자연어 시스템은 완전하고 인간이 해석할 수 있는 문장을 만들기 위해 접속사와 최종 동사의 형태로 "언어 접착제(language glue)"를 추가하기만 하면 될 것이다.
[0030] 또한, 실시예는 컴퓨터 또는 임의의 명령어 실행 시스템에 의해, 또는 이와 관련하여 사용하기 위한 프로그램 코드를 제공하는 컴퓨터 사용 가능한 또는 컴퓨터 판독 가능한 매체로부터 액세스 가능한 관련 컴퓨터 프로그램 제품의 형태를 취할 수 있다. 본 명세서의 목적상, 컴퓨터 사용 가능한 또는 컴퓨터 판독 가능한 매체는 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 이와 관련하여 사용하기 위한 프로그램을 저장, 통신, 전파 또는 운송하기 위한 수단을 포함할 수 있는 모든 장치일 수 있다.
[0012] 새로운 지식 그래프를 구축하기 위해 제안된 본 방법은 다수의 이점, 기술적 효과, 기여 및/또는 개선을 제공할 수 있다.
[0013] 지식 그래프를 자동으로 구축하는 기술적 문제가 해결된다. 이러한 방식으로 지식 그래프가 생성될 수 있으며 기존 접근 방식보다 적은 기술 전문가를 필요로 할 수 있다. 새로운 지식 그래프는 또한 서비스 제공자에 의해 서비스로서 생성될 수 있다. 이를 위해, 일반적으로 특정 지식 도메인의 기존 지식 그래프는 추가적인 인간의 개입 없이 새로운 문서 코퍼스(corpus)에서 새로운 지식 그래프를 생성하기 위해 기계 학습 모델 시스템을 훈련시키는 데 사용될 수 있다.
[0014] 일반적으로 기계 학습 모델을 훈련하기 위해 더 일반적인 지식 그래프 - 최종적으로는 다른 지식 도메인으로부터의 - 가 사용될 수 있다. 그러나 동일한 도메인 지식 영역의 기존 지식 그래프를 사용할 때 새로 생성된 지식 그래프에 대한 더 나은 결과를 기대할 수 있다.
[0015] 아래와 같이 새로운 코퍼스를 위한 다양한 문서가 사용될 수 있다. 문서는 특정한 방법으로 준비될 필요가 없다. 그러나, 문서는 여기서 제안된 방법의 일부로서 사전 처리될 수 있다.
[0016] 여기서 제안된 기술적 개념의 원리는 관련된 임베딩 벡터들이 서로 더 가까울수록 즉, 상대적 임베딩 벡터들이 서로 더 가까울수록 용어와 구(phrases)가 서로 더 밀접하게 연관될 수 있다는 사실에 기초할 수 있다.
[0017] 따라서, 기존 지식 그래프의 핵심 기술 및 기존 지식 그래프의 지식 도메인에 특화된 훈련된 기계 학습 시스템을 기반으로 다수의 새로운 지식 그래프가 자동으로 생성될 수 있다. 고도로 숙련된 인력이 필요하지 않으며 새로 구축된 지식 그래프의 생성을 자동화하여 서비스로 제공할 수 있다.
[0031] 본 발명의 실시예는 상이한 주제를 참조하여 설명된다는 점에 유의해야 한다. 특히, 일부 실시예는 방법 유형 청구항을 참조하여 설명되는 반면, 다른 실시예는 장치 유형 청구항을 참조하여 설명된다. 그러나, 당업자는 별도의 통지가 없는 한, 한 유형의 주제에 속하는 특징들의 조합 외에도, 특히, 방법 유형 청구항의 특징들과 장치 유형 청구항의 특징들 사이에서, 다른 주제와 관련된 특징들 사이의 임의의 조합 또한 이 문서 내에 개시된 것으로 간주되는 것을 상기 및 다음 설명으로부터 수집할 것이다.
[0032] 상기 정의된 실시예 및 본 발명의 추가적인 실시예는 후술하는 실시예로부터 명백하며, 본 발명이 실시예를 참조하여 설명되지만 이에 한정되는 것은 아니다.
[0033] 본 발명의 일부 실시예는 단지 예시를 위해 그리고 다음 도면을 참조하여 설명될 것이다.
[0034] 도 1은 적어도 하나의 실시예에 따른 새로운 지식 그래프를 구축하는 방법의 블록도를 도시한다.
[0035] 도 2는 적어도 하나의 실시예에 따른 지식 그래프의 구성 및 사용에 대한 여러 단계의 블록도를 도시한다.
[0036] 도 3은 적어도 하나의 실시예에 따른 지식 그래프 구성의 제1 단계의 블록도를 도시한다.
[0037] 도 4는 적어도 하나의 실시예에 따른 지식 그래프의 개발의 제2 단계의 블록도를 도시한다.
[0038] 도 5는 적어도 하나의 실시예에 따라 지식 그래프를 전문가 시스템으로 사용한 블록도를 도시한다.
[0039] 도 6은 적어도 하나의 실시예에 따른 지식 그래프 구축 시스템의 블록도를 도시한다.
[0040] 도 7은 도 6에 따른 지식 그래프 구성 시스템을 포함하는 컴퓨팅 시스템의 일 실시예를 도시한다.
[0041] 본 명세서에서, 다음의 관례, 다양한 용어 및/또는 표현이 사용될 수 있다.
[0042] '지식 그래프(knowledge graph)'라는 용어는 정점들과, 정점들 중 선택된 정점들을 연결하는 에지들을 포함하는 데이터 구조를 의미할 수 있다. 정점(vertex)은 사실, 용어, 구 또는 단어를 나타낼 수 있으며, 두 정점 사이의 에지는 연결된 정점 사이에 관계가 존재할 수 있음을 나타낼 수 있다. 에지는 또한 가중치를 가질 수 있으며, 즉, 복수의 에지 각각에 가중치가 할당될 수 있다. 지식 그래프는 수천 또는 수백만 개의 정점 및 심지어 더 많은 에지를 포함할 수 있다. 다른 유형의 구조는 실제 중심(center)이나 원점(origin)이 없는 계층적, 원형 또는 구형 구조로 알려져 있다. 지식 그래프는 새로운 용어(즉, 정점)를 추가한 다음 새로운 에지를 통해 기존 정점에 연결함으로써 성장할 수 있다. 지식 그래프는 또한 각각 2개의 정점을 갖는 복수의 에지로 구성될 수 있다.
[0043] '기존 지식 그래프'라는 용어는 본 발명의 방법이 실행되기 전에 존재할 수 있는 지식 그래프를 의미할 수 있다. 지식 그래프는 예를 들어 특정 지식 도메인에 대한 전문가에 의해 구성되었을 수 있다. 이와는 대조적으로 '새로 구성된 지식 그래프'가 있다. 그것은 본 발명이 실행된 후에 존재하기 시작한다. 일반적으로, 새로운 지식 그래프는 기존의 지식 그래프와 독립적으로 존재하며 완전히 다른 환경에서 전개될 수 있다.
[0044] '랜덤 워크(random walk)'라는 용어는 지식 그래프의 한 정점에서 스트링(string)하고 에지를 통해 다른 정점으로 이동하는 과정을 의미할 수 있다. 일반적으로, 정점은 이 정점을 복수의 다른 정점과 연결하는 한 쌍의 에지와 관련될 수 있다. 무작위성(randomness)은 통과된 에지의 무작위 선택으로 인해 발생할 수 있다. 프로세스가 지식 그래프의 리프(leaf), 즉 들어오는 에지에만 관련된 정점에 도착하면 랜덤 워크가 종료될 수 있다. 결과적으로, 정점 및 에지의 복수의 시퀀스가 생성될 수 있다. 에지에 의해 연결된 정점은 서로 상대적으로 (예를 들어, 콘텐츠 측면에서) 가까운 것으로 볼 수 있다. 나무와 같은 지식 그래프의 경우, 각각의 새로운 랜덤 워크는 루트(root)에서 반복적으로 시작할 수 있지만 리프에 도달할 때까지 가지를 통해 다른 경로를 밟는다. 랜덤 워크는 또한 미리 정의된 수의 정점 및 에지가 터치된 후에 종료될 수 있다. 간단한 예로 두 정점 '원숭이'와 '바나나'가 있을 수 있다. 이 두 정점은 에지 "먹힌다(gets eaten by)" 또는 "좋아한다(is liked by)"로 연결될 수 있다. 이로부터, (i) '바나나는 원숭이가 좋아한다(banana is liked by monkey)'와 (ii) 바나나는 원숭이에게 먹힌다(banana get eaten by monkey)는 두 가지 가능한 시퀀스가 생성될 수 있다. 정점이 두 시퀀스 모두에 존재하지만, 각 시퀀스는 에지가 다르기 때문에 서로 다른 것으로 간주된다.
[0045] '임베딩 벡터(embedding vector)'라는 용어는 용어, 단어 또는 구로부터 생성된 실제 값 성분을 갖는 벡터를 의미할 수 있다. 일반적으로 단어 임베딩(word embedding)은 어휘의 단어나 구가 실수 벡터에 매핑되는 자연 언어 처리(NLP)의 언어 모델링 및 특징부 학습 기술의 집합에 대한 총칭을 나타낼 수 있다. 개념적으로, 단어당 많은 차원을 가진 공간에서 훨씬 낮은 차원을 가진 연속 벡터 공간으로 수학적 임베딩을 포함할 수 있다. 이 매핑을 생성하는 방법에는 신경망, 단어 동시 발생 행렬 확률 모델(word co- occurrence matrix probabilistic models)의 차원 축소(dimensionality reductions), 설명 가능한 지식 기반 방법, 및 단어가 나타나는 맥락 측면에서의 명시적 표현(explicit representation)이 포함된다. 단어 룸(word room)을 벡터 룸(vector room)으로 변형한 것으로 볼 수 있다. 만약 단어 룸에서 두 표현/용어가 그들의 관계를 표현하는 에지에 의해 어떻게든 연결된다면, 임베딩 벡터는 또한 관련 벡터 룸에서 짧은 거리(예를 들어, 가우시안 거리(Gaussian distance))를 가질 것이다.
[0046] '기계 학습'이라는 용어 - 및 '기계 학습 모델'이라는 용어에 근거한 용어 - 는 절차적 프로그래밍 없이 경험 및/또는 반복을 통해 자동으로 능력을 향상시킬 수 있는 컴퓨터 시스템을 가능하게 하는 알려진 방법을 나타낼 수 있다. 따라서 기계 학습(ML)은 인공 지능의 하위 집합으로 볼 수 있다. 기계 학습 알고리즘은 "훈련 데이터"로 알려진 샘플 데이터를 기반으로 수학적 모델, 즉 기계 학습 모델을 구축하여 명시적으로 프로그래밍 되지 않고 예측이나 결정을 내린다. 하나의 구현 옵션은 사실 값(fact values)을 저장하기 위한 노드 및/또는 입력 신호(incoming signal)를 변환하기 위한 변환 함수를 포함하는 신경망을 사용하는 것일 수 있다. 또한, 노드들 중 선택된 것들은 에지(연결)에 의해 서로 연결될 수 있으며, 코어 중 하나에 대한 입력 신호로 해석될 수 있는 링크의 강도를 나타내는 가중치 계수(weight factor)를 잠재적으로 갖는다. 3개의 코어 계층(입력 계층, 은닉 계층, 출력 계층)만 있는 신경망(NN) 외에도 다양한 형태의 복수의 은닉 계층을 가진 NN이 존재한다.
[0047] '문서 세트(set of documents)'라는 용어는 바람직하게는 특정 지식 도메인과 관련된 데이터 또는 지식의 코퍼스(corpus)를 의미할 수 있다. 제공될 수 있는 형식, 문서는 별로 중요하지 않을 수도 있다. 기사, 책, 백서, 신문, 회의록, 잡지, 채팅 프로토콜, 원고, 손으로 쓴 메모, 서버 로그 또는 이메일 스레드(email thread)가 예시인 다양한 형태로 나타날 수 있다. 모든 혼합이 허용될 수 있다. 그것은 오직 하나의 문서로 시작할 수 있으며, 예를 들어, 완전한 도서관, 즉 공공 도서관, 연구소의 도서관 또는 회사의 모든 핸드북을 포함하는 기업 도서관을 또한 포함할 수 있다. 반면에, 그것은 특정한 문제에 관한 두 프로그래머 사이의 채팅 프로토콜(chat protocol)만큼 작을 수 있다.
[0048] '용어의 시퀀스(sequence of terms)'라는 용어는 (컴퓨터 메모리의 저장 단어와는 대조적으로) 여러 개의 연결된 언어 단어(a plurality of concatenated linguistic words)를 나타낼 수 있다. 그것들은 기존 지식 그래프를 통해 랜덤 워크함으로써 최초의 기존 지식 그래프에서 추출되었을 수 있다.
[0049] '용어의 제2 시퀀스(second sequence of terms)'라는 용어는 용어의 제1 시퀀스와 대조적으로 단일 단어, 단어의 시퀀스, 문장 또는 단락과 같은 새로운 코퍼스로부터의 구(phrases)를 나타낼 수 있다. 용어의 시퀀스, 특히 용어의 제1 시퀀스는 하나 이상의 파서(parsers)에 의해 결정된 기존의 지식 그래프로부터 도출될 수 있다.
[0050] '자연어 질의'(natural language query : NLQ)라는 용어는 일반적으로 인간이 자연어로 이해할 수 있는 텍스트의 형태로 제기하는 질문을 나타낼 수 있다. NLQ는 기계 해석 가능한 쿼리로 변환되어야 할 수 있다. 구조화된 쿼리 언어(structured query language : SQL)는 기계 해석 가능한 쿼리의 한 가지 옵션일 수 있다.
[0051] '쿼리 임베딩 벡터(query embedding vector)'라는 용어는 수신된 NLQ로부터 생성된 임베딩 벡터를 의미할 수 있다. 모든 단어가 임베딩 벡터로 변환될 수는 없지만, 핵심 단어와 NLQ의 시퀀스는 변환되어야 한다. 변환의 한 형태는 문자열에서 부동 소수점 숫자(floating-point numbers)의 열 배열로 변환하는 것이다.
[0052] '용어의 결과 시퀀스(result sequence of terms)'라는 용어는 용어의 쿼리 시퀀스를 입력으로 받은 후 새롭게 생성된 지식 그래프 시스템의 출력을 의미할 수 있다.
[0053] '시퀀스 대 시퀀스 기계 학습 모델'(seq2seq)이라는 용어는 하나의 시퀀스의 심볼을 다른 시퀀스의 심볼로 변환하는 방법 또는 시스템을 의미할 수 있다. 기울기가 사라지는 문제를 피하기 위해 반복 신경망(recurrent neural network : RNN) 또는 더 자주 LSTM(Long-Short-Term Memory) 또는 GRU(Grated Recurrent Unit)를 사용하여 이를 수행한다. 각 항목의 컨텍스트(context)는 이전 단계의 출력이다. 주요 구성요소는 하나의 인코더와 하나의 디코더 네트워크이다. 인코더는 각 항목을 해당 항목과 해당 컨텍스트를 포함하는 숨겨진 벡터로 변환한다. 디코더는 이전 출력을 입력 컨텍스트로 사용하여 벡터를 출력 항목으로 변환하여 프로세스를 반전시킨다. seq2seq 시스템은 일반적으로 인코더, 중간(인코더) 벡터, 디코더의 세 부분으로 구성될 수 있다.
[0054] 다음은 도면에 대한 상세한 설명이다. 도면의 모든 설명은 개략적이다. 먼저, 새로운 지식 그래프를 구성하기 위한 본 발명에 의한 방법의 실시예에 대한 블록도가 제공된다. 다음으로, 지식 그래프를 구성하기 위한 지식 그래프 구축 시스템의 실시예 및 추가적인 실시예가 설명될 것이다.
[0055] 도 1은 정점과 에지를 포함하는 새로운 지식 그래프를 구축하는 방법(100)의 바람직한 실시예의 블록도를 도시한다. 따라서 에지는 정점과 정점 사이의 관계를 엔터티(entities), 예를 들어, 단어, 용어, 구(phrases)와 관련된 것으로 설명한다. 본 방법은 예를 들어 특정 지식 도메인에 대한 적어도 하나의 기존 지식 그래프를 수신하는 단계(102)를 포함한다. 최대 세 개의 기존 지식 그래프가 바람직할 수 있다. 하나는 훈련용, 하나는 테스트용, 하나는 새로 훈련된 모델의 검증용이다. 또한 다른 전문가의 지식 그래프를 사용하는 것도 좋을 수 있다. 각 정점은 용어를 저장하는 저장소와 관련될 수 있으며, 각 에지에도 동일하게 적용될 수 있다. 각 에지는 관계의 강도 값을 저장하기 위한 저장 셀(storage cell)을 추가로 제공할 수 있다.
[0056] 본 방법은 또한 정점 및 에지의 시퀀스, 즉 각각의 콘텐츠를 생성하는 적어도 하나의 기존 지식 그래프를 통한 랜덤 워크를 샘플링하는 단계(104)를 포함한다. 시작은 임의로 선택된 정점 또는 미리 선택된 규칙에 따라 선택된 정점에서 이루어질 수 있다. 시퀀스는 가변 길이를 가질 수 있다. 이들은 지식 그래프의 표면, 즉 엔드 리프(end leaf)에 도달한 후에 종료할 수 있다.
[0057] 본 방법은 특히 기존 방법을 사용하여 샘플링된 랜덤 워크의 정점과 에지에 대한 임베딩 벡터를 결정하는 단계(106)을 포함할 수 있으며, 일반적으로 에지당 및 정점당 실수 성분의 벡터(vector of real number components)를 생성한다. 임베딩 벡터 구성요소는 완전히 다른 소스로부터의 룩업 테이블로부터 또한 선택될 수 있다. 따라서 임베딩(즉, 임베딩 벡터)의 시퀀스는 이러한 방식으로 생성될 수 있다.
[0058] 방법(100)의 제1 단계를 완료하면서, 방법(100)은 기계 학습 모델 - 특히, 에지에 대한 가중치가 있는 일반적으로 정의된 아키텍처의 - 을 훈련하는 단계(108)을 포함하며, 이로써 랜덤 워크의 임베딩 벡터의 입력 시퀀스로 취하여 용어(정점 및 에지로 사용될 수 있음)의 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축한다.
[0059] 다음 단계인 구성 단계에서, 방법(100)은 또한 이상적으로는 원래 지식 그래프와 동일한 도메인에서, 문서 세트, 즉 새로운 코퍼스를 수신하는 단계(110), 상기 문서 세트의 문서 - 즉, 적어도 하나의 문서 - 의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계(112), 및 상기 구(phrases)로부터 결정된 용어의 시퀀스로부터 임베딩 벡터 시퀀스를 구축하는 단계(114)를 포함한다.
[0060] 이를 기반으로, 본 방법은 용어의 제2 시퀀스를 예측(116)하고 상기 예측된 용어의 제2 시퀀스를 병합(118) 즉, 결합하여 새로운 지식 그래프를 구축하기 위하여, 구(phrases)로부터 결정된 용어의 시퀀스로부터 구축된 임베딩 벡터의 시퀀스를 훈련된 기계 학습 모델에 대한 입력으로 사용하는 단계를 포함한다.
[0061] 도 2는 지식 그래프의 구성 및 사용에 대한 여러 단계(200)의 블록도이다. 이는 도 1에 설명된 방법의 이해도를 높이는 데 도움이 될 수 있다. 기존 지식 그래프 - 특히 특정 지식 도메인에서의 - 를 수신한 후 프로세스는 기존 지식 그래프에 대한 준비 단계(202)로 시작한다. 이 단계에서, 기존 지식 그래프를 통한 랜덤 워크의 샘플과 랜덤 워크 동안 교차된 정점 및 에지에 대한 임베딩 벡터의 결정이 수행(도 1의 단계 104, 106 비교)된다. 이 단계 전반에 걸쳐 기계 학습 모델에 대한 훈련 값 세트(sets of training values)가 생성된다. (i) 정점과 에지의 시퀀스(즉, 각각 저장된 값) 및 (ii) 기계 학습 모델의 정점과 에지 시퀀스를 기반으로 예측해야 하는 결과 임베딩 벡터가 훈련되었다.
[0062] 이를 기반으로, 예를 들어, RNN(재귀 신경망)의 형태 또는 1D 컨브넷(1차원 컨볼루션 네트워크)을 사용하는 기계 학습 모델은 감독된 기계 학습 기술을 사용하여 훈련(204)된다. 다음으로, 훈련된 기계 학습 모델을 기반으로, 새로운 코퍼스 - 바람직하게는, 동일한 지식 도메인에서 - 를 기반으로 하는 새로운 지식 그래프가 자동으로 구성(206)된다.
[0063] 그 후, 새로운 지식 그래프가 쿼리(query)(208)될 수 있다. 그러나 쿼리는 지식 그래프의 정점과 에지를 기반으로 하는 용어의 시퀀스를 단독으로 전달할 수 있다. 따라서, 이러한 정점과 에지의 시퀀스를 인간이 이해할 수 있는 문장으로 변환하기 위해, 특히 "실제" 답변을 생성(210)하기 위해, 이러한 정점과 에지의 시퀀스를 NLP(자연어 처리) 시스템에 공급하는 것이 유리할 수 있다. 다른 단계는 다음 도면에서 더 자세히 설명될 것이다.
[0064] 도 3은 새로운 지식 그래프의 구성의 제1 단계(300)(도 2의 도 202, 204 비교)의 일 실시예의 블록도이다. 먼저, 기존 지식 그래프(302)가 출발점이다. 그것은 기계 학습 모델을 훈련하는 데 사용된다. 이를 위해서는 기존 지식 그래프(302)를 분해해야 한다. 이를 위한 방법은 지식 그래프의 무작위로 선택된 정점에서 시작하거나 미리 정의된 규칙에 따른 정점에서 시작하여 랜덤 워크를 수행하는 것이다. 이 결과 정점과 에지의 시퀀스(304)가 생성된다. 샘플링된 정점과 에지의 각 값에 대한 벡터의 성분으로서 복수의 실수를 포함하는 임베딩 벡터를 결정하기 위해 공지된 알고리즘이 사용된다. 마지막으로, 정점 및 에지의 시퀀스(304)에 1:1 방식으로 대응하는 임베딩 벡터의 시퀀스(306)을 갖는다. 다음에 정점 및 에지의 시퀀스(304)는 임베딩 벡터의 시퀀스(306)를 예측하는 것을 학습하기 위해 훈련되지 않은 기계 학습 모델의 입력 값으로 사용된다. 따라서 기계 학습 모델(308)은 시퀀스 대 시퀀스 기계 학습 모델인 것이 바람직하다.
[0065] 도 4는 지식 그래프(410)의 개발의 제2 단계(400)의 일 실시예에 대한 블록도를 도시한다. 그것은 아직 지식 그래프 형태로 정리되지 않은 문서의 새로운 코퍼스(402)로 시작한다. 지식 도메인에 종속되거나 독립적일 수 있는 파서 세트(set of parsers)는 새로운 코퍼스(402)로부터 구(phrases)(404)를 분리할 수 있다. 구(phrases)(404)는 일반적으로 단어의 짧은 시퀀스, 단일 단어, 완전한 문장 또는 예외적으로 완전한 단락(paragraph)이다. 또한 새로운 코퍼스에 특정 식별자를 갖는 도면을 짧은 구(phrases)와 연관시킬 수 있다. 파서는 짧은 구(phrases)와 원본 표시, 즉 출처(예를 들어, 문서 ID, 단락 번호, 그림 식별자, 문서 내 페이지, 특정 페이지에서의 줄 등)를 또한 추적할 수 있다.
[0066] 다음에 이렇게 추출된 구(phrases)(404)는 - 알려진 기술에 의해, 예를 들어, 룩업 테이블을 사용하는 더 간단한 형태로 - 임베딩, 예를 들어, 임베딩 벡터의 시퀀스(406)로 변환된다.
[0067] 임베딩 벡터의 이러한 시퀀스(406)는 훈련된 기계 학습 모델(408)에 대한 입력 벡터로 사용되며, 이 모델은 에지 및 연결된 정점의 삼중항(triplets)으로 해석 가능한 용어의 시퀀스를 예측한다. 또한, 에지는 가중치 계수 값(weight factor value)으로 예측될 수 있다. 에지 및 연결된 정점의 복수의 삼중항(triplets)은 새로 생성된 지식 그래프(410)의 특정 저장 형태로 사용된다.
[0068] 새로운 코퍼스(402)로부터 새로운 지식 그래프(410)의 생성은 서비스로서 수행될 수 있다. 그리고 새로운 지식 그래프(410)을 생성하고자 하는 기업은 이를 서비스 제공자에 아웃소싱할 수 있다. 그것은 단순히 새로운 코퍼스(402)를 서비스 제공자에게 전달할 수 있다. 그런 다음 서비스 제공자는 일반적으로 동일한 지식 도메인의 기존 지식 그래프를 사용하여 위에서 설명한 단계를 수행하고 새로 생성된 지식 그래프(410)를 고객에게 반환할 수 있다. 또는, 고객은 특정 기업에서 특별한 방식으로 사용되는 기존 용어에 대해 잠재적으로 더 나은 링크를 갖기 위해 서비스 제공자에게 기존 지식 그래프(도 4에는 표시되지 않음)를 제공할 수도 있다.
[0069] 도 5는 예를 들어 전문가 시스템으로 지식 그래프를 사용한 블록도(500)를 도시한다. 쿼리는 자연어 쿼리(natural language query : NLQ)로서 자연어 형태로 수신될 수 있다. NLQ는 생성된 지식 그래프에 의해 입력(504)으로 해석 가능하도록 NLQ를 - 특히 인간이 생성한 질문의 형태로 - 준비하기 위해 하나 이상의 파서(502)에 의해 파싱될 수 있다. 지식 그래프 시스템의 출력은 일반적으로 인간이 해석하기 어려울 수 있는 에지 및 관련되거나 연결된 정점의 시퀀스(506)이다. 따라서 생성된 지식 그래프로부터의 에지 및 정점의 이러한 시퀀스(506)는 - 또한 잠재적으로 훈련된 기계 학습 모델을 기반으로 하여 - 에지 및 정점의 시퀀스(506)을 인간이 해석할 수 있는 답변(510)으로 변환하기 위해 NLP 시스템(508)에 공급될 수 있다.
[0070] 완전성을 이유로, 도 6은 지식 그래프 구성 시스템(600)의 일 실시예의 블록도를 도시한다. 시스템은 프로세서(604)에 통신 가능하게 결합된 메모리(602)를 포함하고, 상기 프로세서는 상기 메모리에 저장된 프로그램 코드를 사용하여, 적어도 하나의 기존 지식 그래프를 - 특히 수신기(606)에 의해 - 수신하는 단계, 적어도 하나의 기존 지식 그래프를 통한 랜덤 워크를 - 특히, 샘플링 유닛(608)에 의해 - 샘플링하는 단계, 샘플링된 랜덤 워크의 정점 및 에지에 대한 임베딩 벡터를 - 특히 임베딩 모듈(610)에 의해 - 결정하는 단계, 기계 학습 모델을 - 특히, 교육 시스템(612)에 의해 - 훈련함으로써 상기 랜덤 워크의 임베딩 벡터의 입력 시퀀스를 취하여 용어 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축하는 단계를 수행하도록 구성된다.
[0071] 프로세서(604)는, 메모리(602)에 저장된 프로그램 코드를 사용하여, 문서 세트(즉, 새로운 코퍼스)를 - 특히 두 번째 수신자(614)에 의해 - 수신하는 단계, 상기 문서 세트 중의 문서로부터의 구(phrases)로부터 - 특히 용어 시퀀스 생성기(616)에 의해 - 용어의 시퀀스를 결정하는 단계, 및 상기 구(phrases)로부터 결정된 용어의 시퀀스로부터 - 특히 임베딩 벡터 생성 모듈(618)에 의해 - 임베딩 벡터의 시퀀스를 구축하는 단계를 수행하도록 구성된다.
[0072] 또한, 메모리(602)에 저장된 프로그램 코드를 사용하여 프로세서(604)는 상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 구축된 임베딩 벡터의 시퀀스를 훈련된 기계 학습 모델을 위한 입력으로서 사용하여 용어의 제2 시퀀스를 예측하는 단계를 또한 수행하도록 구성된다. 훈련된 기계 학습 시스템(620)의 일부로서, 훈련된 기계 학습 모델은 용어의 제2 시퀀스를 예측하고 상기 예측된 용어의 제2 시퀀스를 병합하여 새로운 지식 그래프를 구축한다. 병합은 병합 유닛(622)에 의해 수행될 수 있다.
[0073] 유닛들 및 모듈들 - 특히, 메모리(602), 프로세서(604), 수신기(606), 샘플링 유닛(608), 임베딩 모듈(610), 훈련 시스템(612), 제2 수신기(614), 용어 시퀀스 생성기(616), 임베딩 벡터 생성기 모듈(618), 훈련된 기계 학습 시스템(620) 및 병합 유닛(622) - 은 전기적으로 상호 연결되어 전기 신호와 데이터를 교환한다.
[0074] 또는, 명명된 유닛들 및 모듈들은 또한 시스템 내부 버스 시스템(624)에 의한 데이터 교환을 위해 연결될 수 있다.
[0075] 본 발명의 실시예는 프로그램 코드의 저장 및/또는 실행에 적합한 플랫폼에 관계없이 사실상 모든 유형의 컴퓨터와 함께 구현될 수 있다. 도 7은 예로서 제안된 방법과 관련된 프로그램 코드를 실행하기에 적합한 컴퓨팅 시스템(700)을 도시한다.
[0076] 컴퓨팅 시스템(700)은 적합한 컴퓨터 시스템의 하나의 예시일 뿐이며, 컴퓨터 시스템(700)이 위에 설명된 기능 중 임의의 기능을 구현 및/또는 수행할 수 있는지 여부에 관계없이 본 명세서에 기술된 본 발명의 실시예의 사용 또는 기능의 범위에 대한 제한을 제안하려는 의도는 아니다. 컴퓨터 시스템(700)에는 수많은 다른 범용 또는 특수 목적 컴퓨팅 시스템 환경 또는 구성과 함께 작동하는 구성 요소가 있다. 컴퓨터 시스템/서버(700)와 함께 사용하기에 적합할 수 있는 잘 알려진 컴퓨팅 시스템, 환경 및/또는 구성의 예는 개인용 컴퓨터 시스템, 서버 컴퓨터 시스템, 씬 클라이언트(thin clients), 씨 클라이언트(thick clients), 휴대용 또는 랩탑 장치, 다중 프로세서 시스템, 마이크로프로세서 기반 시스템, 셋톱 박스, 프로그래밍 가능한 가전 제품, 네트워크 PC, 미니 컴퓨터 시스템, 메인프레임 컴퓨터 시스템, 및 상기 시스템 또는 장치 등을 포함하는 분산 클라우드 컴퓨팅 환경을 포함하지만 이에 국한되지는 않는다. 컴퓨터 시스템/서버(700)는 프로그램 모듈과 같이 컴퓨터 시스템(700)에 의해 실행되는 컴퓨터 시스템 실행 가능 명령어의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형(abstract data types)을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 로직, 데이터 구조 등을 포함할 수 있다. 컴퓨터 시스템/서버(700)는 통신 네트워크를 통해 연결된 원격 처리 장치에 의해 작업이 수행되는 분산 클라우드 컴퓨팅 환경에서 실행될 수 있다. 분산 클라우드 컴퓨팅 환경에서, 프로그램 모듈은 메모리 저장 장치를 포함하여 로컬 및 원격 컴퓨터 시스템 저장 매체에 모두 위치할 수 있다.
[0077] 도면에 도시된 바와 같이, 컴퓨터 시스템/서버(700)는 범용 컴퓨팅 장치의 형태로 도시되어 있다. 컴퓨터 시스템/서버(700)의 구성 요소는 하나 이상의 프로세서 또는 처리 장치(702), 시스템 메모리(704), 및 시스템 메모리(704)를 포함하는 다양한 시스템 구성요소를 처리 장치(702)에 연결하는 버스(706)를 포함할 수 있지만 이에 국한되지는 않는다. 버스 706은 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스(peripheral bus), 가속 그래픽 포트(accelerated graphics port), 다양한 버스 아키텍처를 사용하는 프로세서 또는 로컬 버스를 포함하는 여러 유형의 버스 구조 중 하나 이상을 나타낸다. 제한 없이 예를 들면, 이러한 아키텍처에는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스 및 PCI(Peripheral Component Interconnects) 버스가 포함된다. 컴퓨터 시스템/서버(700)은 일반적으로 다양한 컴퓨터 시스템 판독 가능한 매체를 포함한다. 이러한 매체는 컴퓨터 시스템/서버(700)에 의해 액세스 가능한 임의의 사용 가능한 매체일 수 있으며, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 모두 포함한다.
[0078] 시스템 메모리(704)는 RAM(Random-Access Memory)(708) 및/또는 캐시 메모리(710)와 같은 휘발성 메모리 형태의 컴퓨터 시스템 판독 가능한 매체를 포함할 수 있다. 컴퓨터 시스템/서버(700)는 다른 이동식/비이동식, 휘발성/비휘발성 컴퓨터 시스템 저장 매체를 더 포함할 수 있다. 단지 예시로서, 비이동식 비휘발성 자기 매체(도시되지 않았으며 일반적으로 '하드 드라이브'라고 함)로부터/로 읽고 쓰기 위한 저장 시스템(712)이 제공될 수 있다. 도시되지는 않았지만, 이동식 비휘발성 자기 디스크(예를 들어, '플로피 디스크')로부터/로 읽고 쓰기 위한 자기 디스크 드라이브, 및 CD-ROM, DVD-ROM 또는 기타 광 매체와 같은 이동식 비휘발성 광 디스크로부터/로 읽고 쓰기 위한 광 디스크 드라이브가 제공될 수 있다. 이러한 경우, 각각은 하나 이상의 데이터 매체 인터페이스에 의해 버스(706)에 연결될 수 있다. 후술하는 바와 같이, 메모리(704)는 본 발명의 실시예의 기능을 수행하도록 구성된 프로그램 모듈의 세트(예를 들어, 적어도 하나)를 갖는 적어도 하나의 프로그램 제품을 포함할 수 있다.
[0079] 프로그램/유틸리티는 메모리(704)뿐만 아니라, 제한 없이 예시로서 운영 체제, 하나 이상의 애플리케이션 프로그램, 다른 프로그램 모듈 및 프로그램 데이터에 저장될 수 있다. 운영 체제, 하나 이상의 애플리케이션 프로그램, 다른 프로그램 모듈 및 프로그램 데이터의 각각 또는 이들의 일부 조합은 네트워킹 환경의 구현을 포함할 수 있다. 프로그램 모듈(716)은 본 명세서에 기술된 바와 같이 본 발명의 실시예의 기능 및/또는 방법을 일반적으로 수행한다.
[0080] 컴퓨터 시스템/서버(700)는 또한 키보드, 포인팅 장치, 디스플레이(720) 등과 같은 하나 이상의 외부 장치(718); 사용자가 컴퓨터 시스템/서버(700)와 상호 작용할 수 있도록 하는 하나 이상의 장치; 및/또는 컴퓨터 시스템/서버(700)가 하나 이상의 다른 컴퓨팅 장치와 통신할 수 있게 하는 임의의 장치(예: 네트워크 카드, 모뎀 등)와 통신할 수 있다. 이러한 통신은 입출력(I/O) 인터페이스(714)를 통해 이루어질 수 있다. 여전히, 컴퓨터 시스템/서버(700)는 네트워크 어댑터(722)를 통해 LAN(local area network), WAN(general wide area network) 및/또는 퍼블릭 네트워크(public network)(예를 들어, 인터넷)와 같은 하나 이상의 네트워크와 통신할 수 있다. 도시된 바와 같이, 네트워크 어댑터(722)는 버스(706)를 통해 컴퓨터 시스템/서버(700)의 다른 구성 요소와 통신할 수 있다. 도시되지는 않았지만, 다른 하드웨어 및/또는 소프트웨어 구성요소가 컴퓨터 시스템/서버(700)와 함께 사용될 수 있음을 이해해야 한다. 마이크로코드(microcode), 장치 드라이버, 중복 처리 장치(redundant processing units), 외장 디스크 드라이브 어레이(external disk drive arrays), RAID 시스템, 테이프 드라이브 및 데이터 아카이브 스토리지 시스템(data archival storage systems) 등이 예시이지만 여기에 국한되지는 않는다.
[0081] 또한, 버스 시스템(706)에는 지식 그래프 구축을 위한 지식 그래프 구축 시스템(600)이 부착될 수 있다.
[0082] 본 발명의 다양한 실시예에 대한 설명은 예시의 목적을 위해 제시된 것이지만, 개시된 실시예에 한정되는 것은 아니다. 설명된 실시예의 범위 및 정신을 벗어나지 않고 다수의 변형 및 변경이 당업자에게 명백할 것이다. 본 명세서에 사용된 용어는 실시예의 원리, 시장에서 발견되는 기술에 대한 실용적 적용 또는 기술적 개선을 가장 잘 설명하거나, 또는 본 명세서에 개시된 실시예를 당업자가 이해할 수 있도록 하기 위해 선택되었다.
[0083] 본 발명은 시스템, 방법 및/또는 컴퓨터 프로그램 제품으로 구현될 수 있다. 컴퓨터 프로그램 제품은 프로세서가 본 발명의 실시예를 수행하도록 하기 위한 컴퓨터 판독 가능한 프로그램 명령을 포함하는 컴퓨터 판독 가능한 저장 매체를 포함할 수 있다.
[0084] 상기 매체는 전파 매체(propagation medium)를 위한 위한 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템일 수 있다. 컴퓨터 판독 가능한 매체의 예로는 반도체 또는 솔리드 스테이트(solid-state) 메모리, 자기 테이프, 이동식 컴퓨터 디스켓, RAM(Random Access Memory), 읽기 전용 메모리(ROM), 리지드 자기 디스크(rigid magnetic disk) 및 광 디스크를 들 수 있다. 현재 광 디스크의 예로는 CD-ROM, CD-R/W, DVD, 블루레이 디스크(Blu-Ray-Disk)가 있다.
[0085] 컴퓨터 판독 가능한 스토리지 매체는 명령어 실행 장치에 의해 사용하기 위한 명령어를 보관 및 스토리지할 수 있는 유형의(tangible) 장치일 수 있다. 컴퓨터 판독 가능한 스토리지 매체는, 예를 들어, 전자 기억 장치, 자기 기억 장치, 광 기억 장치, 전자기 기억 장치, 반도체 기억 장치, 또는 전술한 임의의 적절한 조합일 수 있으나, 이에 한정되는 것은 아니다. 컴퓨터 판독 가능한 스토리지 매체의 구체적인 예는 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 소거 가능한 프로그램 가능 읽기 전용 메모리(EPROM 또는 플래시 메모리), 정적 랜덤 액세스 메모리(SRAM), 휴대용 콤팩트 디스크 읽기 전용 메모리(CD-ROM), 디지털 다용도 디스크(DVD), 메모리 스틱(memory stick), 플로피 디스크, 펀치 카드 또는 명령어가 기록된 그루브 내의 상승된 구조(raised structures in a groove having instructions recorded thereon)와 같은 기계적으로 인코딩된 장치, 및 전술한 임의의 적절한 조합을 포함한다. 본 명세서에서 사용되는 컴퓨터 판독 가능한 스토리지 매체는, 전파 또는 자유롭게 전파되는 다른 전자기파, 도파관 또는 다른 전송 매체를 통해 전파되는 전자기파(예를 들어, 광섬유 케이블을 통과하는 광 펄스) 또는 전선을 통해 전송되는 전기 신호와 같은 일시적인 신호 그 자체로 해석되지 않는다.
[0086] 본 명세서에 설명된 컴퓨터 판독 가능한 프로그램 명령들은 컴퓨터 판독 가능한 스토리지 매체로부터 각각의 컴퓨팅/프로세싱 장치들로 다운로드 되거나, 네트워크, 예를 들어, 인터넷, 로컬 영역 네트워크, 광역 네트워크 및/또는 무선 네트워크를 통해 외부 컴퓨터 또는 외부 스토리지 장치로 다운 로드될 수 있다. 네트워크는 구리 전송 케이블, 광전송 섬유, 무선 전송, 라우터, 방화벽, 스위치, 게이트웨이 컴퓨터 및/또는 에지 서버(edge servers)를 포함할 수 있다. 각 컴퓨팅/프로세싱 장치의 네트워크 어댑터 카드 또는 네트워크 인터페이스는 네트워크로부터 컴퓨터 판독 가능한 프로그램 명령을 수신하고, 각각의 컴퓨팅/프로세싱 장치 내의 컴퓨터 판독 가능한 스토리지 매체에 스토리지하기 위하여 컴퓨터 판독 가능한 프로그램 명령을 전달한다.
[0087] 본 발명의 방법을 수행하기 위한 컴퓨터 판독 가능한 프로그램 명령어는 어셈블러 명령어, 명령어-조합-아키텍처(instruction-set-architecture : ISA) 명령어, 기계 명령어, 기계 종속 명령어(machine dependent instructions), 마이크로코드, 펌웨어 명령어, 상태 설정 데이터, 집적 회로용 구성 데이터, 또는 Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어와 "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어와 같은 절차적 프로그래밍 언어를 포함하여 하나 이상의 프로그래밍 언어의 조합으로 작성된 소스 코드 또는 객체 코드일 수 있다. 컴퓨터 판독 가능한 프로그램 명령들은 완전히 사용자의 컴퓨터에서, 부분적으로 사용자의 컴퓨터에서, 독립 실행형 소프트웨어 패키지로, 부분적으로 사용자의 컴퓨터와 부분적으로 원격 컴퓨터에서, 또는 완전히 원격 컴퓨터나 서버에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 LAN(local area network) 또는 WAN(wide area network)을 포함한 모든 유형의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있으며, 외부 컴퓨터(예를 들어, 인터넷 서비스 공급자를 이용한 인터넷)에 연결될 수 있다. 일부 실시예들에서, 예를 들어, 프로그래머블 논리 회로, 필드 프로그래머블 게이트 배열(FPGA) 또는 프로그래머블 논리 배열(PLA)을 포함하는 전자 회로는 본 발명의 실시예를 수행하기 위해 전자 회로를 개인화할 목적으로 컴퓨터 판독 가능한 프로그램 명령들의 상태 정보를 이용함으로써 컴퓨터 판독 가능한 프로그램 명령들을 실행할 수 있다.
[0088] 본 발명의 실시예들에 따른 방법, 장치(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 본 발명의 실시예를 설명한다. 흐름도 및/또는 블록도의 각 블록, 및 흐름도 및/또는 블록도의 블록 조합은 컴퓨터 판독 가능한 프로그램 명령에 의해 구현될 수 있음을 이해한다.
[0089] 이러한 컴퓨터 판독 가능한 프로그램 명령들은 컴퓨터의 프로세서, 또는 기계를 생산하는 다른 프로그램 가능한 데이터 처리 장치에 제공될 수 있으며, 컴퓨터의 프로세서 또는 다른 프로그램 가능한 데이터 처리 장치를 통해 실행되는 명령어는 흐름도 및/또는 블록도의 블록 또는 블록들에 지정된 기능/동작을 구현하기 위한 수단을 생성한다. 이러한 컴퓨터 판독 가능한 프로그램 명령들은 또한 컴퓨터, 프로그램 가능한 데이터 처리 장치 및/또는 다른 장치들이 특정한 방식으로 작동하도록 지시할 수 있는 컴퓨터 판독 가능한 스토리지 매체에 스토리지될 수 있으며, 명령어가 스토리지된 컴퓨터 판독 가능한 스토리지 매체는 흐름도 및/또는 블록도의 블록 또는 블록들에 지정된 기능/동작의 실시예들을 구현하는 명령어를 포함하는 제조 물품을 포함한다.
[0090] 컴퓨터 판독 가능한 프로그램 명령은 또한 컴퓨터, 다른 프로그램 가능한 데이터 처리 장치 또는 다른 장치에 로드되어 컴퓨터, 다른 프로그램 가능한 장치 또는 다른 장치 상에서 수행되는 일련의 동작 단계들이 컴퓨터에서 구현된 프로세스들을 생성하도록 할 수 있으며, 이로써 컴퓨터, 다른 프로그램 가능한 장치 또는 다른 장치에서 실행되는 명령어는 흐름도 및/또는 블록도의 블록 또는 블록들에 지정된 기능/동작을 구현한다.
[0091] 도면에서 흐름도 및 블록도는 본 발명의 다양한 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현의 구조, 기능 및 동작을 도시하고 있다. 이와 관련하여, 흐름도 또는 블록도의 각 블록은 모듈, 벡터 또는 명령의 일부를 나타낼 수 있으며, 이는 지정된 논리 함수를 구현하기 위한 하나 이상의 실행 가능한 명령들을 포함한다. 일부 대체 구현에서는 블록에 표시된 기능이 도면에 표시된 순서대로 발생할 수 있다. 예를 들어, 연속적으로 표시된 두 개의 블록은 실제로 한 단계로 수행될 수 있으며, 동시에, 실질적으로 동시에, 부분적으로 또는 전체적으로 시간적으로 중첩되는 방식으로 실행되거나, 때때로 관련된 기능에 따라 역순으로 블록들이 실행될 수 있다. 또한, 블록도 및/또는 흐름도의 각 블록, 및 블록도 및/또는 흐름도의 블록 조합은 특정 기능을 수행하거나 특수 목적 하드웨어와 컴퓨터 명령의 조합을 수행하거나 작동하는 특수 목적 하드웨어 기반 시스템에 의해 구현될 수 있다는 점에 유의해야 한다.
[0092] 본 명세서에서 사용되는 용어는 특정 실시예를 설명하기 위한 것일 뿐, 본 발명을 제한하기 위한 것은 아니다. 본 명세서에서 사용되는 단수형 "한", "하나의" 및 "상기"는 문맥이 명확하게 달리 나타내지 않는 한 복수형도 포함하도록 의도된다. 또한 본 명세서에서 "포함" 및/또는 "구비"이라는 용어를 사용할 때 명시된 특징, 정수, 단계, 동작, 구성요소 및/또는 성분의 존재를 명시하지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 구성요소, 및 성분의 존재 또는 추가를 배제하지 않는다는 것이 이해될 것이다.
[0093] 아래 청구항에서 기능이 추가된 모든 수단 및 단계에 대응하는 구조, 재료, 동작 및 동등한 것은 구체적으로 청구항에 기재된 바와 같이 다른 청구항 구성요소와 함께 기능을 수행하기 위한 임의의 구조, 재료 또는 동작을 포함하기 위한 것이다. 본 발명에 대한 설명은 예시 및 설명의 목적으로 제시된 것이지만, 개시된 형태로 본 발명을 모두 포함하거나 이에 한정되는 것은 아니다. 본 발명의 범위 및 정신을 벗어나지 않고 당업자에게 많은 수정 및 변형이 명백할 것이다. 실시예는 본 발명의 원리 및 실제 적용을 가장 잘 설명하고, 당업자가 고려되는 특정 용도에 적합한 다양한 수정을 갖는 다양한 실시예에 대해 본 발명을 이해할 수 있도록 하기 위해 선택되고 설명된다.
[0094] 요약컨대, 본 발명의 개념은 다음과 같은 예시적인 실시예로 요약될 수 있다.
[0095] 예시 1 : 새로운 지식 그래프(knowledge graph)를 구축하는 방법에 있어서, 상기 구축 방법은, 적어도 하나의 기존 지식 그래프를 수신하는 단계; 상기 적어도 하나의 기존 지식 그래프를 통해 랜덤 워크(random walks)를 샘플링하는 단계; 상기 샘플링된 랜덤 워크의 정점(vertices) 및 에지(edges)에 대한 임베딩 벡터(embedding vectors)를 결정하는 단계; 기계 학습 모델을 훈련 - 이로써 상기 랜덤 워크의 상기 임베딩 벡터를 입력 시퀀스로 취하여 용어의 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축함 - 하는 단계; 문서 세트(set of documents)를 제공하는 단계; 문서 세트의 문서의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계; 상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 임베딩 벡터의 시퀀스를 구축하는 단계; 상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 구축된 상기 임베딩 벡터의 시퀀스를 용어의 제2 시퀀스를 예측하기 위해 상기 훈련된 기계 학습 모델의 입력으로 이용하는 단계; 및 상기 예측된 용어의 제2 시퀀스를 병합 - 이로써, 상기 새로운 지식 그래프를 구축함 - 하는 단계를 포함하는, 지식 그래프의 구축 방법.
[0096] 예시 2 : 예시 1에 있어서, 상기 지식 그래프의 구축 방법은, 용어의 쿼리 시퀀스(query sequence)를 포함하는 자연어 쿼리(natural language query)를 수신하는 단계; 상기 용어의 쿼리 시퀀스에 대한 쿼리 임베딩 벡터(query embedding vectors)를 결정하는 단계; 및 상기 훈련된 기계 학습 모델을 사용하고, 상기 쿼리 임베딩 벡터를 상기 훈련된 기계 학습 모델에 대한 입력으로서 사용하여 용어의 결과 시퀀스(result sequence)를 예측하는 단계를 더 포함하는, 지식 그래프의 구축 방법.
[0097] 예시 3 : 예시 1 또는 2에 있어서, 상기 지식 그래프의 구축 방법은, 상기 예측된 용어의 결과 시퀀스를 저장하는 단계를 더 포함하는, 지식 그래프의 구축 방법.
[0098] 예시 4 : 예시 2에 있어서, 상기 지식 그래프의 구축 방법은, 상기 용어의 결과 시퀀스와 관련하여 제공된 문서 세트로부터 문서 및/또는 문서에 대한 참조를 반환하는 단계를 더 포함하는, 지식 그래프의 구축 방법.
[0099] 예시 5 : 상기 선행하는 예시 중 어느 하나에 있어서, 상기 랜덤 워크의 시작점은 상기 기존 지식 그래프의 무작위로 선택된 리프(leaf), 상기 기존 지식 그래프의 루트(root), 및 상기 기존 지식 그래프의 선택된 정점을 포함하는 그룹에서 선택되고, 상기 선택은 미리 정의된 규칙에 따라 수행되는, 지식 그래프의 구축 방법.
[0100] 예시 6 : 상기 선행하는 예시 중 어느 하나에 있어서, 상기 문서의 구(phrases)는 개별 용어, 복수의 후속 용어 및 문장을 포함하는 그룹에서 선택되는, 지식 그래프의 구축 방법.
[0101] 예시 7 : 상기 선행하는 예시 중 어느 하나에 있어서, 상기 기계 학습 모델은 시퀀스 대 시퀀스 기계 학습 모델(sequence- to-sequence machine-learning model)인, 지식 그래프의 구축 방법.
[0102] 예시 8 : 상기 선행하는 예시 중 어느 하나에 있어서, 상기 문서 세트는 기사, 책, 백서(whitepaper), 신문, 회의록, 잡지, 채팅 프로토콜, 원고, 손으로 쓴 메모, 서버 로그(server log) 또는 이메일 스레드(email thread)인, 지식 그래프의 구축 방법.
[0103] 예시 9 : 상기 선행하는 예시 중 어느 하나에 있어서, 상기 병합 단계는 상기 예측된 용어의 제2 시퀀스로부터 에지 및 연결된 정점의 복수의 튜플(tuples)을 구축하는 단계를 포함하고, 상기 새로운 지식 그래프의 에지 및 정점은 상기 제공된 문서 세트의 용어에 대응하며, 에지 또는 정점으로 용어를 특징짓는 용어에 대한 메타데이터는 훈련된 기계 학습 시스템의 추가 출력으로 제공되는, 지식 그래프의 구축 방법.
[0104] 예시 10 : 예시 9에 있어서, 상기 지식 그래프의 구축 방법은, 상기 에지 및 상기 정점에 대한 출처 데이터(provenance data)를 각각 상기 에지 및 상기 정점과 함께 저장하는, 지식 그래프의 구축 방법.
[0105] 예시 11 : 예시 2 내지 10 중 어느 하나에 있어서, 상기 용어의 결과 시퀀스는 상기 지식 그래프에서 에지 및 관련 정점의 시퀀스인, 지식 그래프의 구축 방법.
[0106] 예시 12 : 예시 11에 있어서, 자연어 시스템(natural language system)은 상기 에지 및 관련 정점의 시퀀스를 인간이 이해할 수 있는 형태로 변환하는, 지식 그래프의 구축 방법.
[0107] 예시 13 : 지식 그래프 구축을 위한 지식 그래프 구축 시스템에 있어서, 상기 지식 그래프 구축 시스템은 프로세서에 통신 가능하게 결합되는 메모리를 포함하고, 상기 프로세서는, 상기 메모리에 저장된 프로그램 코드를 이용하여, 적어도 하나의 기존 지식 그래프를 수신하는 단계; 상기 적어도 하나의 기존 지식 그래프를 통해 랜덤 워크(random walks)를 샘플링하는 단계; 상기 샘플링된 랜덤 워크의 정점(vertices) 및 에지(edges)에 대한 임베딩 벡터(embedding vectors)를 결정하는 단계; 기계 학습 모델을 훈련 - 이로써 상기 랜덤 워크의 상기 임베딩 벡터를 입력 시퀀스로 취하여 용어의 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축함 - 하는 단계; 문서 세트(set of documents)를 제공하는 단계; 문서 세트의 문서의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계; 상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 임베딩 벡터의 시퀀스를 구축하는 단계; 상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 구축된 상기 임베딩 벡터의 시퀀스를 용어의 제2 시퀀스를 예측하기 위해 상기 훈련된 기계 학습 모델의 입력으로 이용하는 단계; 및 상기 예측된 용어의 제2 시퀀스를 병합 - 이로써, 상기 새로운 지식 그래프를 구축함 - 하는 단계를 수행하도록 구성되는, 지식 그래프 구축 시스템.
[0108] 예시 14 : 예시 13에 있어서, 용어의 쿼리 시퀀스(query sequence)를 포함하는 자연어 쿼리(natural language query)를 수신하는 단계; 상기 용어의 쿼리 시퀀스에 대한 쿼리 임베딩 벡터(query embedding vectors)를 결정하는 단계; 및 상기 훈련된 기계 학습 모델을 사용하고, 상기 쿼리 임베딩 벡터를 상기 훈련된 기계 학습 모델에 대한 입력으로서 사용하여 용어의 결과 시퀀스(result sequence)를 예측하는 단계를 더 포함하는, 지식 그래프 구축 시스템.
[0109] 예시 15 : 예시 14에 있어서, 상기 예측된 용어의 결과 시퀀스를 저장하는 단계를 더 포함하는, 지식 그래프 구축 시스템.
[0110] 예시 16 : 예시 14 또는 15에 있어서, 상기 용어의 결과 시퀀스와 관련하여 제공된 문서 세트로부터 문서 및/또는 문서에 대한 참조를 반환하는 단계를 더 포함하는, 지식 그래프 구축 시스템.
[0111] 예시 17 : 예시 13 내지 16 중 어느 하나에 있어서, 상기 랜덤 워크의 시작점은 상기 기존 지식 그래프의 무작위로 선택된 리프(leave), 상기 기존 지식 그래프의 루트(root), 및 상기 기존 지식 그래프의 선택된 정점을 포함하는 그룹에서 선택되고, 상기 선택은 미리 정의된 규칙에 따라 수행되는, 지식 그래프 구축 시스템.
[0112] 예시 18 : 예시 13 내지 17 중 어느 하나에 있어서, 상기 문서의 구(phrases)는 개별 용어, 복수의 후속 용어 및 문장을 포함하는 그룹에서 선택되는, 지식 그래프 구축 시스템.
[0113] 예시 19 : 예시 13 내지 18 중 어느 하나에 있어서, 상기 기계 학습 모델은 시퀀스 대 시퀀스 기계 학습 모델(sequence- to-sequence machine-learning model)인, 지식 그래프 구축 시스템.
[0114] 예시 20 : 예시 13 내지 19 중 어느 하나에 있어서, 상기 문서 세트는 기사, 책, 백서(whitepaper), 신문, 회의록, 잡지, 채팅 프로토콜, 원고, 손으로 쓴 메모, 서버 로그(server log) 또는 이메일 스레드(email thread)인, 지식 그래프 구축 시스템.
[0115] 예시 21 : 예시 13 내지 20 중 어느 하나에 있어서, 상기 병합 단계는 상기 예측된 용어의 제2 시퀀스로부터 에지 및 연결된 정점의 복수의 튜플(tuples)을 구축하는 단계를 더 포함하고, 상기 새로운 지식 그래프의 에지 및 정점은 상기 제공된 문서 세트의 용어에 대응하며, 에지 또는 정점으로 용어를 특징짓는 용어에 대한 메타데이터는 훈련된 기계 학습 시스템의 추가 출력으로 제공되는, 지식 그래프 구축 시스템.
[0116] 예시 22 : 예시 21에 있어서, 상기 에지 및 상기 정점에 대한 출처 데이터(provenance data)를 각각 상기 에지 및 상기 정점과 함께 저장하는 단계를 더 포함하는, 지식 그래프 구축 시스템.
[0117] 예시 23 : 예시 14에 있어서, 상기 용어의 결과 시퀀스는 상기 지식 그래프에서 에지 및 관련 정점의 시퀀스인, 지식 그래프 구축 시스템.
[0118] 예시 24 : 예시 23에 있어서, 자연어 시스템(natural language system)은 상기 에지 및 관련 정점의 시퀀스를 인간이 이해할 수 있는 형태로 변환하는, 지식 그래프 구축 시스템.
[0119] 예시 25 : 지식 그래프를 구축하기 위한 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 프로그램 제품은 프로그램 명령이 수록된 컴퓨터 판독 가능한 저장 매체를 포함하고, 상기 프로그램 명령은 하나 이상의 컴퓨팅 시스템 또는 컨트롤러에 의해 실행 가능하고 상기 하나 이상의 컴퓨팅 시스템이, 적어도 하나의 기존 지식 그래프를 수신하는 단계; 상기 적어도 하나의 기존 지식 그래프를 통해 랜덤 워크(random walks)를 샘플링하는 단계; 상기 샘플링된 랜덤 워크의 정점(vertices) 및 에지(edges)에 대한 임베딩 벡터(embedding vectors)를 결정하는 단계; 기계 학습 모델을 훈련 - 이로써 상기 랜덤 워크의 상기 임베딩 벡터를 입력 시퀀스로 취하여 용어의 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축함 - 하는 단계; 문서 세트(set of documents)를 제공하는 단계; 문서 세트의 문서의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계; 상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 임베딩 벡터의 시퀀스를 구축하는 단계; 상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 구축된 상기 임베딩 벡터의 시퀀스를 용어의 제2 시퀀스를 예측하기 위해 상기 훈련된 기계 학습 모델의 입력으로 이용하는 단계; 및 상기 예측된 용어의 제2 시퀀스를 병합 - 이로써, 상기 새로운 지식 그래프를 구축함 - 하는 단계를 포함하는 오퍼레이션을 수행하도록 하는, 컴퓨터 프로그램 제품.

Claims (25)

  1. 새로운 지식 그래프(knowledge graph)를 구축하는 방법에 있어서, 상기 구축 방법은,
    적어도 하나의 기존 지식 그래프를 수신하는 단계;
    상기 적어도 하나의 기존 지식 그래프를 통해 랜덤 워크(random walks)를 샘플링하는 단계;
    상기 샘플링된 랜덤 워크의 정점(vertices) 및 에지(edges)에 대한 임베딩 벡터(embedding vectors)를 결정하는 단계;
    기계 학습 모델을 훈련하는 단계 - 이에 의해 상기 랜덤 워크의 상기 임베딩 벡터를 입력 시퀀스로 취하여 용어의 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축함-;
    문서 세트(set of documents)를 제공하는 단계;
    문서 세트의 문서의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계;
    상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 임베딩 벡터의 시퀀스를 구축하는 단계;
    상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 구축된 상기 임베딩 벡터의 시퀀스를 용어의 제2 시퀀스를 예측하기 위해 상기 훈련된 기계 학습 모델의 입력으로 이용하는 단계; 및
    상기 예측된 용어의 제2 시퀀스를 병합하는 단계- 이에 의해 상기 새로운 지식 그래프를 구축함 -를 포함하는,
    지식 그래프의 구축 방법.
  2. 제1항에 있어서, 상기 지식 그래프의 구축 방법은,
    용어의 쿼리 시퀀스(query sequence)를 포함하는 자연어 쿼리(natural language query)를 수신하는 단계;
    상기 용어의 쿼리 시퀀스에 대한 쿼리 임베딩 벡터(query embedding vectors)를 결정하는 단계; 및
    상기 훈련된 기계 학습 모델을 사용하고, 상기 쿼리 임베딩 벡터를 상기 훈련된 기계 학습 모델에 대한 입력으로서 사용하여 용어의 결과 시퀀스(result sequence)를 예측하는 단계를 더 포함하는,
    지식 그래프의 구축 방법.
  3. 제2항에 있어서, 상기 지식 그래프의 구축 방법은,
    상기 예측된 용어의 결과 시퀀스를 저장하는 단계를 더 포함하는,
    지식 그래프의 구축 방법.
  4. 제2항에 있어서, 상기 지식 그래프의 구축 방법은,
    상기 용어의 결과 시퀀스와 관련하여 제공된 문서 세트로부터 문서 및/또는 문서에 대한 참조를 반환하는 단계를 더 포함하는,
    지식 그래프의 구축 방법.
  5. 제2항에 있어서,
    상기 용어의 결과 시퀀스는 상기 지식 그래프에서 에지 및 관련 정점의 시퀀스인,
    지식 그래프의 구축 방법.
  6. 제5항에 있어서,
    자연어 시스템(natural language system)은 상기 에지 및 관련 정점의 시퀀스를 인간이 이해할 수 있는 형태로 변환하는,
    지식 그래프의 구축 방법.
  7. 제1항에 있어서,
    상기 랜덤 워크의 시작점(starting points)은 상기 기존 지식 그래프의 무작위로 선택된 리프(a randomly selected leave), 상기 기존 지식 그래프의 루트(root), 및 상기 기존 지식 그래프의 선택된 정점을 포함하는 그룹에서 선택되고, 상기 선택은 미리 정의된 규칙에 따라 수행되는,
    지식 그래프의 구축 방법.
  8. 제1항에 있어서,
    상기 문서의 구(phrases)는 개별 용어, 복수의 후속 용어 및 문장을 포함하는 그룹에서 선택되는,
    지식 그래프의 구축 방법.
  9. 제1항에 있어서,
    상기 기계 학습 모델은 시퀀스 대 시퀀스 기계 학습 모델(sequence- to-sequence machine-learning model)인,
    지식 그래프의 구축 방법.
  10. 제1항에 있어서,
    상기 문서 세트는 기사(article), 책, 백서(whitepaper), 신문, 회의록, 잡지, 채팅 프로토콜, 원고, 손으로 쓴 메모, 서버 로그(server log) 또는 이메일 스레드(email thread)인,
    지식 그래프의 구축 방법.
  11. 제1항에 있어서,
    상기 병합 단계는 상기 예측된 용어의 제2 시퀀스로부터 에지 및 연결된 정점의 복수의 튜플(tuples)을 구축하는 단계를 포함하고,
    상기 새로운 지식 그래프의 에지 및 정점은 상기 제공된 문서 세트의 용어에 대응하며,
    에지 또는 정점으로 용어를 특징짓는 용어에 대한 메타데이터는 훈련된 기계 학습 시스템의 추가 출력으로 제공되는,
    지식 그래프의 구축 방법.
  12. 제11항에 있어서, 상기 지식 그래프의 구축 방법은,
    상기 에지 및 상기 정점에 대한 출처 데이터(provenance data)를 각각 상기 에지 및 상기 정점과 함께 저장하는,
    지식 그래프의 구축 방법.
  13. 지식 그래프 구축을 위한 지식 그래프 구축 시스템에 있어서, 상기 지식 그래프 구축 시스템은,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 통신 가능하게 결합되고, 프로그램 명령을 저장하는 메모리를 포함하고,
    상기 프로그램 명령은 상기 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서가 동작(operations)을 수행하도록 하며, 상기 동작은,
    적어도 하나의 기존 지식 그래프를 수신하는 단계;
    상기 적어도 하나의 기존 지식 그래프를 통해 랜덤 워크(random walks)를 샘플링하는 단계;
    상기 샘플링된 랜덤 워크의 정점(vertices) 및 에지(edges)에 대한 임베딩 벡터(embedding vectors)를 결정하는 단계;
    기계 학습 모델을 훈련하는 단계 - 이에 의해 상기 랜덤 워크의 상기 임베딩 벡터를 입력 시퀀스로 취하여 용어의 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축함 -;
    문서 세트(set of documents)를 제공하는 단계;
    문서 세트의 문서의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계;
    상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 임베딩 벡터의 시퀀스를 구축하는 단계;
    상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 구축된 상기 임베딩 벡터의 시퀀스를 용어의 제2 시퀀스를 예측하기 위해 상기 훈련된 기계 학습 모델의 입력으로 이용하는 단계; 및
    상기 예측된 용어의 제2 시퀀스를 병합하는 단계 - 이에 의해 상기 새로운 지식 그래프를 구축함 -를 포함하는,
    지식 그래프 구축 시스템.
  14. 제13항에 있어서, 상기 동작은,
    용어의 쿼리 시퀀스(query sequence)를 포함하는 자연어 쿼리(natural language query)를 수신하는 단계;
    상기 용어의 쿼리 시퀀스에 대한 쿼리 임베딩 벡터(query embedding vectors)를 결정하는 단계; 및
    상기 훈련된 기계 학습 모델을 사용하고, 상기 쿼리 임베딩 벡터를 상기 훈련된 기계 학습 모델에 대한 입력으로서 사용하여 용어의 결과 시퀀스(result sequence)를 예측하는 단계를 더 포함하는,
    지식 그래프 구축 시스템.
  15. 제14항에 있어서, 상기 동작은,
    상기 예측된 용어의 결과 시퀀스를 저장하는 단계를 더 포함하는,
    지식 그래프 구축 시스템.
  16. 제14항에 있어서, 상기 동작은,
    상기 용어의 결과 시퀀스와 관련하여 제공된 문서 세트로부터 문서 및/또는 문서에 대한 참조를 반환하는 단계를 더 포함하는,
    지식 그래프 구축 시스템.
  17. 제14항에 있어서,
    상기 용어의 결과 시퀀스는 상기 지식 그래프에서 에지 및 관련 정점의 시퀀스인,
    지식 그래프 구축 시스템.
  18. 제17항에 있어서,
    자연어 시스템(natural language system)은 상기 에지 및 관련 정점의 시퀀스를 인간이 이해할 수 있는 형태로 변환하는,
    지식 그래프 구축 시스템.
  19. 제13항에 있어서,
    상기 랜덤 워크의 시작점은 상기 기존 지식 그래프의 무작위로 선택된 리프(a randomly selected leave), 상기 기존 지식 그래프의 루트(root), 및 상기 기존 지식 그래프의 선택된 정점을 포함하는 그룹에서 선택되고, 상기 선택은 미리 정의된 규칙에 따라 수행되는,
    지식 그래프 구축 시스템.
  20. 제13항에 있어서,
    상기 문서의 구(phrases)는 개별 용어, 복수의 후속 용어 및 문장을 포함하는 그룹에서 선택되는,
    지식 그래프 구축 시스템.
  21. 제13항에 있어서,
    상기 기계 학습 모델은 시퀀스 대 시퀀스 기계 학습 모델(sequence- to-sequence machine-learning model)인,
    지식 그래프 구축 시스템.
  22. 제13항에 있어서,
    상기 문서 세트는 기사(article), 책, 백서(whitepaper), 신문, 회의록, 잡지, 채팅 프로토콜, 원고, 손으로 쓴 메모, 서버 로그(server log) 또는 이메일 스레드(email thread)인,
    지식 그래프 구축 시스템.
  23. 제13항에 있어서,
    상기 병합 단계는 상기 예측된 용어의 제2 시퀀스로부터 에지 및 연결된 정점의 복수의 튜플(tuples)을 구축하는 단계를 더 포함하고,
    상기 새로운 지식 그래프의 에지 및 정점은 상기 제공된 문서 세트의 용어에 대응하며,
    에지 또는 정점으로 용어를 특징짓는 용어에 대한 메타데이터는 훈련된 기계 학습 시스템의 추가 출력으로 제공되는,
    지식 그래프 구축 시스템.
  24. 제23항에 있어서, 상기 동작은,
    상기 에지 및 상기 정점에 대한 출처 데이터(provenance data)를 각각 상기 에지 및 상기 정점과 함께 저장하는 단계를 포함하는,
    지식 그래프 구축 시스템.
  25. 지식 그래프를 구축하기 위한 컴퓨터 프로그램 제품에 있어서, 상기 컴퓨터 프로그램 제품은 프로그램 명령이 수록된 컴퓨터 판독 가능한 저장 매체를 포함하고, 상기 프로그램 명령은 하나 이상의 프로세서에 의해 실행 가능하고 상기 하나 이상의 프로세서가 동작(operations)을 수행하게 하며, 상기 동작은,
    적어도 하나의 기존 지식 그래프를 수신하는 단계;
    상기 적어도 하나의 기존 지식 그래프를 통해 랜덤 워크(random walks)를 샘플링하는 단계;
    상기 샘플링된 랜덤 워크의 정점(vertices) 및 에지(edges)에 대한 임베딩 벡터(embedding vectors)를 결정하는 단계;
    기계 학습 모델을 훈련 - 이로써 상기 랜덤 워크의 상기 임베딩 벡터를 입력 시퀀스로 취하여 용어의 시퀀스를 예측할 수 있는 훈련된 기계 학습 모델을 구축함 - 하는 단계;
    문서 세트(set of documents)를 제공하는 단계;
    문서 세트의 문서의 구(phrases)로부터 용어의 시퀀스를 결정하는 단계;
    상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 임베딩 벡터의 시퀀스를 구축하는 단계;
    상기 구(phrases)로부터 결정된 상기 용어의 시퀀스로부터 구축된 상기 임베딩 벡터의 시퀀스를 용어의 제2 시퀀스를 예측하기 위해 상기 훈련된 기계 학습 모델의 입력으로 이용하는 단계; 및
    상기 예측된 용어의 제2 시퀀스를 병합 - 이로써, 상기 새로운 지식 그래프를 구축함 - 하는 단계를 포함하는,
    컴퓨터 프로그램 제품.
KR1020237006391A 2020-09-29 2021-08-18 지식 그래프 자동 구축 KR20230043936A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/035,839 2020-09-29
US17/035,839 US20220100800A1 (en) 2020-09-29 2020-09-29 Automatic knowledge graph construction
PCT/IB2021/057586 WO2022069958A1 (en) 2020-09-29 2021-08-18 Automatic knowledge graph construction

Publications (1)

Publication Number Publication Date
KR20230043936A true KR20230043936A (ko) 2023-03-31

Family

ID=80821293

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237006391A KR20230043936A (ko) 2020-09-29 2021-08-18 지식 그래프 자동 구축

Country Status (7)

Country Link
US (1) US20220100800A1 (ko)
JP (1) JP2023542625A (ko)
KR (1) KR20230043936A (ko)
CN (1) CN116235166A (ko)
AU (1) AU2021351210A1 (ko)
GB (1) GB2613999A (ko)
WO (1) WO2022069958A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11966428B2 (en) * 2021-07-01 2024-04-23 Microsoft Technology Licensing, Llc Resource-efficient sequence generation with dual-level contrastive learning
US11825169B1 (en) * 2022-06-15 2023-11-21 Sling Media L.L.C. Adaptive placement of audiovisual content on user devices
CN115587175B (zh) * 2022-12-08 2023-03-14 阿里巴巴达摩院(杭州)科技有限公司 人机对话及预训练语言模型训练方法、系统及电子设备
US11900179B1 (en) 2023-07-13 2024-02-13 Intuit, Inc. Detection of abnormal application programming interface (API) sessions including a sequence of API requests
US11921847B1 (en) * 2023-07-13 2024-03-05 Intuit, Inc. Detection of abnormal application programming interface (API) sessions including a sequence of API requests using space partitioning data structures

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019536137A (ja) * 2016-10-25 2019-12-12 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. 知識グラフベースの臨床診断支援
US10824675B2 (en) * 2017-11-17 2020-11-03 Microsoft Technology Licensing, Llc Resource-efficient generation of a knowledge graph
CN108920527A (zh) * 2018-06-07 2018-11-30 桂林电子科技大学 一种基于知识图谱的个性化推荐方法
CN109815345A (zh) * 2019-02-25 2019-05-28 南京大学 一种基于路径的知识图谱嵌入方法
US11983674B2 (en) * 2019-10-01 2024-05-14 Microsoft Technology Licensing, Llc Automatically determining and presenting personalized action items from an event
US20210174906A1 (en) * 2019-12-06 2021-06-10 Accenture Global Solutions Limited Systems And Methods For Prioritizing The Selection Of Targeted Genes Associated With Diseases For Drug Discovery Based On Human Data
CN111160564B (zh) * 2019-12-17 2023-05-19 电子科技大学 一种基于特征张量的中文知识图谱表示学习方法
WO2021139074A1 (zh) * 2020-01-08 2021-07-15 平安科技(深圳)有限公司 基于知识图谱的案件检索方法、装置、设备及存储介质
US11593666B2 (en) * 2020-01-10 2023-02-28 Accenture Global Solutions Limited System for multi-task distribution learning with numeric-aware knowledge graphs
US20230178199A1 (en) * 2020-01-13 2023-06-08 Knowtions Research Inc. Method and system of using hierarchical vectorisation for representation of healthcare data
CN111259663B (zh) * 2020-01-14 2023-05-26 北京百度网讯科技有限公司 信息处理方法和装置
US11557276B2 (en) * 2020-03-23 2023-01-17 Sorcero, Inc. Ontology integration for document summarization

Also Published As

Publication number Publication date
US20220100800A1 (en) 2022-03-31
WO2022069958A1 (en) 2022-04-07
CN116235166A (zh) 2023-06-06
GB2613999A (en) 2023-06-21
AU2021351210A1 (en) 2023-03-16
JP2023542625A (ja) 2023-10-11
GB202304243D0 (en) 2023-05-10

Similar Documents

Publication Publication Date Title
KR20230043936A (ko) 지식 그래프 자동 구축
Rothman Transformers for Natural Language Processing: Build, train, and fine-tune deep neural network architectures for NLP with Python, Hugging Face, and OpenAI's GPT-3, ChatGPT, and GPT-4
US9892113B2 (en) Generating distributed word embeddings using structured information
US9547821B1 (en) Deep learning for algorithm portfolios
US11783131B2 (en) Knowledge graph fusion
US10157174B2 (en) Utilizing a dialectical model in a question answering system
US20220067590A1 (en) Automatic knowledge graph construction
Maulud et al. Review on natural language processing based on different techniques
CN113239169A (zh) 基于人工智能的回答生成方法、装置、设备及存储介质
US20230009946A1 (en) Generative relation linking for question answering
WO2021061233A1 (en) Inter-document attention mechanism
Jeong A Study on the Implementation of Generative AI Services Using an Enterprise Data-Based LLM Application Architecture
CN115310551A (zh) 文本分析模型训练方法、装置、电子设备和存储介质
Tsinganos et al. Leveraging Dialogue State Tracking for Zero-Shot Chat-Based Social Engineering Attack Recognition
Kondurkar et al. Modern Applications With a Focus on Training ChatGPT and GPT Models: Exploring Generative AI and NLP
Wang et al. Augmentation with projection: Towards an effective and efficient data augmentation paradigm for distillation
CN111507108A (zh) 别名生成方法、装置、电子设备及计算机可读存储介质
CN114942981A (zh) 问答查询方法、装置、电子设备及计算机可读存储介质
Gan et al. Enhancing microblog sentiment analysis through multi-level feature interaction fusion with social relationship guidance
JP2022548624A (ja) コンピュータ・システムにおける言語発話処理
US11615152B2 (en) Graph-based event schema induction for information retrieval
Dubey Towards Complex Question Answering over Knowledge Graphs.
US11983464B2 (en) Neural network-based message communication framework with summarization and on-demand audio output generation
WO2023103814A1 (en) Extracting query-related temporal information from unstructured text documents
Lavanya et al. Advanced Video Transcription And Summarization A Synergy of Langchain, Language Models, And VectorDB with Mozilla Deep Speech

Legal Events

Date Code Title Description
A201 Request for examination