Search

KR-20260060878-A - Method, device and program for storing knowledge in electronic form to transfer it to an artificial intelligence model

KR20260060878AKR 20260060878 AKR20260060878 AKR 20260060878AKR-20260060878-A

Abstract

본 발명의 일 실시예에 따라 장치의 프로세서에 의해 인공지능 모델에 지식을 전달하는 방법은, 지식을 포함하는 초기 데이터를 획득하는 단계; 상기 초기 데이터를 텍스트 데이터로 변환하는 단계; 상기 텍스트 데이터를 적어도 하나의 텍스트 조각으로 분할하는 단계; 상기 적어도 하나의 텍스트 조각으로부터 적어도 하나의 벡터를 산출하는 단계; 및 상기 적어도 하나의 벡터를 생성형 인공지능 모델이 읽을 수 있는 메모리에 저장하는 단계;를 포함하여 인공지능 모델에의 입력을 위하여 지식을 전자적 형태로 저장하는 방법, 그리고 더 나아가 전자적 형태로 저장된 지식 중에서 인공지능 모델의 추론 과정에 필요한 일부를 선택 및 입력할 수 있도록 하는 것을 목적으로 한다.

Inventors

  • 남진우
  • 이민재
  • 조근식

Assignees

  • 주식회사 튜링

Dates

Publication Date
20260506
Application Date
20241025

Claims (20)

  1. 장치의 프로세서에 의해 인공지능 모델에 지식을 전달하는 방법으로서, 지식을 포함하는 초기 데이터를 획득하는 단계; 상기 초기 데이터를 텍스트 데이터로 변환하는 단계; 상기 텍스트 데이터를 적어도 하나의 텍스트 조각으로 분할하는 단계; 상기 적어도 하나의 텍스트 조각으로부터 적어도 하나의 벡터를 산출하는 단계; 및 상기 적어도 하나의 벡터를 생성형 인공지능 모델이 읽을 수 있는 메모리에 저장하는 단계;를 포함하는, 방법.
  2. 제1항에 있어서, 상기 텍스트 데이터를 획득하는 단계는, 동영상 형태의 데이터에 포함된 음성 데이터를 텍스트 데이터로 변환하는 단계;를 포함하는, 방법.
  3. 제1항에 있어서, 상기 텍스트 데이터를 획득하는 단계는, 이미지 처리 모델에 이미지 형태의 데이터를 입력하는 단계; 및 상기 이미지 처리 모델이 출력한 텍스트 데이터를 획득하는 단계;를 포함하는, 방법.
  4. 제3항에 있어서, 상기 텍스트 데이터를 획득하는 단계는, 상기 이미지 처리 모델에 입력된 이미지 형태의 데이터를 초기 데이터에서 삭제하는 단계;를 더 포함하는, 방법.
  5. 제3항에 있어서, 상기 이미지 처리 모델은, 인공 신경망을 포함하는, 방법.
  6. 제5항에 있어서, 상기 이미지 처리 모델은, 상기 지식의 카테고리를 기반으로 적어도 하나의 사용 가능 용어 또는 사용 불가능 용어를 학습한 것인, 방법.
  7. 제1항에 있어서, 상기 텍스트 데이터를 적어도 하나의 텍스트 조각으로 분할하는 단계는, 상기 텍스트 데이터를 자연어 처리 모델에 입력하는 단계; 및 상기 자연어 처리 모델의 출력값을 기반으로 상기 텍스트 데이터를 적어도 하나의 텍스트 조각으로 분할하는 단계;를 포함하는, 방법.
  8. 제7항에 있어서, 상기 텍스트 데이터를 적어도 하나의 텍스트 조각으로 분할하는 단계는, 상기 자연어 처리 모델의 출력값 중 기 정해진 값 이상의 토큰(token) 수를 갖는 텍스트 조각이 있을 경우, 상기 기 정해진 값 이상의 토큰(token) 수를 갖는 텍스트 조각을 다수의 텍스트 조각으로 분할하는 단계;를 포함하는, 방법.
  9. 제8항에 있어서, 상기 다수의 텍스트 조각은 제1 텍스트 조각과 제2 텍스트 조각을 포함하며, 제1 텍스트 조각의 마지막 n개 토큰과 제2 텍스트 조각의 첫 n개 토큰은 서로 일치하는, 방법.
  10. 제1항에 있어서, 상기 적어도 하나의 텍스트 조각으로부터 적어도 하나의 벡터를 산출하는 단계는, 한 개의 텍스트 조각으로부터 한 개의 벡터를 산출하는, 방법.
  11. 제1항에 있어서, 입력 벡터를 포함하는 외부 요청에 기반하여 상기 적어도 하나의 벡터와 상기 입력 벡터 간 유사도를 산출하는 단계; 및 상기 유사도가 높은 대로 상기 적어도 하나의 벡터 중 적어도 일부를 상기 생성형 인공지능 모델에 입력하는 단계를 더 포함하는, 방법.
  12. 제1항에 있어서, 상기 생성형 인공지능 모델로부터 상기 적어도 하나의 벡터를 입력으로 하여 생성된 출력 데이터를 획득하는 단계;를 더 포함하는, 방법.
  13. 제12항에 있어서, 상기 출력 데이터를 시각적으로 표시하는 단계;를 더 포함하는, 방법.
  14. 제13항에 있어서, 디스플레이를 포함하는 장치에 생성형 인공지능 모델을 기반으로 한 어플리케이션을 배포하는 단계;를 더 포함하고, 상기 출력 데이터를 시각적으로 표시하는 단계는, 상기 장치에 상기 출력 데이터를 전송하여 상기 디스플레이에 상기 최종 출력 데이터가 시각적으로 표시되도록 하는, 방법.
  15. 제14항에 있어서, 상기 생성형 인공지능 모델로부터 상기 적어도 하나의 벡터를 입력으로 하여 생성된 출력 데이터를 획득하는 단계는, 상기 장치에 설치된 상기 어플리케이션으로부터 요청(request) 데이터를 획득하는 단계; 상기 적어도 하나의 벡터 및 상기 요청 데이터를 포함하는 입력 데이터를 생성하는 단계; 상기 입력 데이터를 상기 생성형 인공지능 모델에 입력하는 단계; 및 상기 생성형 인공지능 모델로부터 출력 데이터를 획득하는 단계;를 포함하는, 방법.
  16. 제15항에 있어서, 상기 생성형 인공지능 모델로부터 상기 적어도 하나의 벡터를 입력으로 하여 생성된 출력 데이터를 획득하는 단계는, 상기 적어도 하나의 벡터 중 일부인 관련 벡터를 선정하는 단계;를 포함하고, 상기 적어도 하나의 벡터 및 상기 요청 데이터를 포함하는 입력 데이터를 생성하는 단계는, 상기 관련 벡터 및 상기 요청 데이터를 포함하는 입력 데이터를 생성하는 단계인, 방법.
  17. 제16항에 있어서, 상기 관련 벡터를 선정하는 단계는, 상기 요청 데이터로부터 요청 벡터를 획득하는 단계; 상기 요청 벡터와 상기 적어도 하나의 벡터 각각의 유사도를 산출하는 단계; 및 상기 유사도를 기반으로 상기 관련 벡터를 선정하는 단계;를 포함하는, 방법.
  18. 메모리; 및 지식을 포함하는 초기 데이터를 획득하여 상기 메모리에 저장하고, 상기 초기 데이터를 텍스트 데이터로 변환하고, 상기 텍스트 데이터를 적어도 하나의 텍스트 조각으로 분할하는 단계; 상기 적어도 하나의 텍스트 조각으로부터 적어도 하나의 벡터를 산출하는 단계; 및 상기 적어도 하나의 벡터를 상기 메모리 또는 생성형 인공지능 모델이 읽을 수 있는 외부에 저장하는 프로세서;를 포함하는, 지식 전달 장치.
  19. 제18항에 있어서, 통신부;를 더 포함하고, 상기 프로세서는, 상기 통신부를 통하여 디스플레이를 포함하는 장치에 생성형 인공지능 모델을 기반으로 한 어플리케이션을 배포하고, 상기 생성형 인공지능 모델에 상기 적어도 하나의 벡터를 입력하고, 상기 생성형 인공지능으로부터 출력 데이터를 획득하는, 지식 전달 장치.
  20. 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 장치의 프로세서에서 실행되는 경우, 인공지능 모델에 지식을 전달하기 위한 단계들을 수행하며, 상기 단계들은, 지식을 포함하는 초기 데이터를 획득하는 단계; 상기 초기 데이터를 텍스트 데이터로 변환하는 단계; 상기 텍스트 데이터를 적어도 하나의 텍스트 조각으로 분할하는 단계; 상기 적어도 하나의 텍스트 조각으로부터 적어도 하나의 벡터를 산출하는 단계; 및 상기 적어도 하나의 벡터를 생성형 인공지능 모델이 읽을 수 있는 메모리에 저장하는 단계;를 포함하는, 프로그램.

Description

인공지능 모델에 지식을 전달하기 위하여 전자적 형태로 저장하는 방법, 장치 및 프로그램{Method, device and program for storing knowledge in electronic form to transfer it to an artificial intelligence model} 본 발명은 인공지능 모델에 지식을 전달하기 위하여 전자적 형태로 저장하는 방법에 관한 것으로, 더 상세하게는 인공지능 모델에 지식을 전달하기 위하여 전자적 형태인 벡터로 저장하고, 저장된 벡터를 기반으로 생성된 입력 데이터를 기반으로 출력 데이터를 획득하고, 이를 시각적으로 표시하는 방법, 장치 및 프로그램에 관한 것이다. 인공지능(Artificial Intelligence; AI) 기술은 인간의 학습 및 추론 능력을 모방하여 데이터를 분석하고, 패턴을 학습하며, 자율적으로 결정을 내릴 수 있는 시스템을 개발하는 기술이다. 이 과정에서 인공 신경망(Artificial Neural Network; ANN)과 같은 알고리즘은 데이터의 다차원적 특성을 반영한 벡터 기반 계산을 통해 높은 정확도의 분류, 예측 및 패턴 인식 성능을 발휘하며, 자연어 처리(Natural Language Processing; NLP), 이미지 및 음성 인식, 자율주행 등 다양한 분야에서 응용되고 있다. 도 1은 인공지능 모델의 동작을 설명하기 위한 예시도이다. 도 1을 참고하면, 인공지능 모델은 입력 레이어(IL), 출력 레이어(OL), 그리고 히든 레이어(HL)로 이루어진 인공 신경망을 포함할 수 있다. 입력 레이어를 통해 입력받은 데이터는 히든 레이어에서 내적이나 벡터합 등의 수학적 연산을 거친 후, 출력 레이어에서의 최종 출력값 생성에 사용된다. 이 때 데이터는 주로 선형대수 연산 또는 미분 등의 수학적 연산을 가능토록 하기 위하여 현실(real world)의 데이터를 수치 형태의 값으로 변환한 벡터(vector)의 형태로 입력된다. 이러한 벡터 형태의 입력은 크기와 차원이 일정하게 유지되므로 모델이 다양한 크기나 형태의 데이터를 일관되게 처리할 수 있도록 하여 모델의 안정성과 학습 효율성을 높이기는 효과를 갖기도 한다. 따라서 대부분의 인공 신경망을 포함하는 모델 또는 이를 사용하는 방법은 현실의 데이터 또는 전자적 형태(예: 텍스트, 이미지, 동영상 파일)로 표현된 데이터를 인공지능 모델에 입력하기 위한 형태로 가공하는 전처리(preprocessing) 과정을 포함한다. 인공지능 모델은 입력받는 데이터의 양과 질에 따라 그 성능이 크게 변화하나, 지나치게 크거나 복잡한 데이터의 경우 전처리 과정에서 상당한 시간과 계산 자원을 요구한다는 한계점이 있다. 특히, 인공지능 모델이 수행하는 과제와 관련된 배경 지식이 데이터의 형태로 존재하는 경우, 서로 다른 모델에 대한 복수회의 학습 또는 하나의 모델을 이용한 복수회의 추론을 위해 같은 데이터를 반복적으로 입력 데이터에 포함하여야 한다. 이 때 같은 데이터에 대한 전처리 과정을 위해 상당한 시간과 계산 자원의 낭비가 발생한다는 문제점이 있다. 도 1은 본 발명의 일 실시예에 따른 인공지능 모델의 동작 원리를 설명하기 위한 도면이다. 도 2는 본 발명의 일 실시예에 따른 장치와 관련된 장치들 간의 상호작용을 나타내는 블록도이다. 도 3은 본 발명의 일 실시예에 따른 장치의 구성요소들을 나타내는 블록도이다. 도 4는 본 발명의 일 실시예에 따른 방법과 구성 단계들을 설명하기 위한 순서도이다. 도 5는 본 발명의 또 다른 실시예에 따른 방법과 구성 단계들을 설명하기 위한 순서도이다. 도 6은 본 발명의 일 실시예에 따라 이미지 데이터를 텍스트 데이터로 변환하는 과정을 설명하기 위한 순서도이다. 도 7은 본 발명의 일 실시예에 따라 입력 데이터를 생성하는 방법을 설명하기 위한 순서도이다. 도 8은 본 발명의 일 실시예에 따른 유사도 산출 및 관련 벡터 선정 방법을 설명하기 위한 도면이다. 본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. 덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 발명의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다. 본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. 본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다. 본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 어떤 구성요소와 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다. 본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다. 실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다. 한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다. 이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 도 1은 본 발명의 일 실시예에 따른 인공지능 모델의 동작 원리를 설명하기 위한 도면이다. 모델이란, 기 정의된 형태의 데이터를 입력으로 연산을 수행하여 적어도 하나의 결과값을 출력할 때, 입력부터 출력까지의 과정을 정의하는 알고리즘과, 해당 알고리즘의 수정 또는 실행을 위한 규칙을 포함하는 집합을 의미한다. 모델이 인공 신경망(Artificial neural network, ANN) 모델일 경우, 모델은 생물학적 뉴런의 작동 원리를 모방하여 설계된 그래프 형태의 수학적 모델로, 도 1에서와 같이 입력층(또는 입력 레이어)과 출력층(또는 출력 레이어)을 포함하며, 그 외에도 뉴런 또는 노드를 포함하는 하나 이상의 은닉층(또는 히든 레이어, Hidden layer)을 더 포함한다. 여기서, 하나의 레이어 내의 뉴런들은 서로 연결이 되지 않을 수 있고, 서로 다른 레이어들에 포함되는 뉴런들은 완전하게 혹은 부분적으로 연결될 수 있다. 각 뉴런은 이전 뉴런의 출력을 입력 받아 연산