KR102649996B1 - 치과용 차트 통합 관리 서버 및 이를 이용한 방법 - Google Patents

치과용 차트 통합 관리 서버 및 이를 이용한 방법 Download PDF

Info

Publication number
KR102649996B1
KR102649996B1 KR1020230086481A KR20230086481A KR102649996B1 KR 102649996 B1 KR102649996 B1 KR 102649996B1 KR 1020230086481 A KR1020230086481 A KR 1020230086481A KR 20230086481 A KR20230086481 A KR 20230086481A KR 102649996 B1 KR102649996 B1 KR 102649996B1
Authority
KR
South Korea
Prior art keywords
implant
chart
script
model
voice
Prior art date
Application number
KR1020230086481A
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 KR1020230086481A priority Critical patent/KR102649996B1/ko
Application granted granted Critical
Publication of KR102649996B1 publication Critical patent/KR102649996B1/ko

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61CDENTISTRY; APPARATUS OR METHODS FOR ORAL OR DENTAL HYGIENE
    • A61C8/00Means to be fixed to the jaw-bone for consolidating natural teeth or for fixing dental prostheses thereon; Dental implants; Implanting tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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/0464Convolutional networks [CNN, ConvNet]
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0633Lists, e.g. purchase orders, compilation or processing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/20ICT specially adapted for the handling or processing of patient-related medical or healthcare data for electronic clinical trials or questionnaires
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H15/00ICT specially adapted for medical reports, e.g. generation or transmission thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Public Health (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Epidemiology (AREA)
  • General Engineering & Computer Science (AREA)
  • Primary Health Care (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Development Economics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Dentistry (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Veterinary Medicine (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Dental Tools And Instruments Or Auxiliary Dental Instruments (AREA)

Abstract

일 구현예에 따른 치과용 차트 통합 관리 서버는 적어도 하나의 명령어를 저장하는 메모리; 및 프로세서를 포함한다. 상기 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써, 환자의 치주 상태의 측정 중에 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제1 스크립트가 획득되면, 상기 제1 스크립트가 치주 차트(periodontal chart)에 반영되며, 상기 치주 차트로부터 추출된 특징이 기 학습된 임플란트의 타입 별 실패율 추론 모델에 제공되어서 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율이 추론되고, 상기 추론된 실패율을 기초로 결정된 상기 환자의 임플란트 타입에 대해 논의하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제2 스크립트가 획득되면, 상기 제1 스크립트 및 상기 제2 스크립트 중 적어도 일부가 임플란트 차트에 반영되며, 상기 결정된 임플란트 타입에 이용될 보철물(prosthesis)을 포함하는 임플란트 제품을 논의하고 결정하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제3 스크립트가 획득되면, 상기 제1 스크립트, 상기 제2 스크립트 및 상기 제3 스크립트 중 적어도 일부가 기공 차트에 반영된다.

Description

치과용 차트 통합 관리 서버 및 이를 이용한 방법 {INTEGRATED MANAGEMENT SERVER FOR DENTAL CHART AND METHOD USING THE SAME}
본 발명은 치과용 차트 통합 관리 서버 및 이를 이용한 방법에 관한 것이다.
치과에서는 다양한 차트가 생성된다. 예컨대 임플란트를 시술하는 치과에서는 환자에 대한 치주(periodontal) 차트 뿐만 아니라 임플란트 차트 또는 기공 차트 등이 생성될 수 있다. 여기서 치주 차트란 환자의 치주 건강 상태를 나타내는 차트를 의미한다. 이러한 치주 차트에는 잇몸에서의 출혈 여부나 치주의 탈락 정도 또는 이(teeth) 사이 간격 등과 같은 다양한 정보가 기록될 수 있다. 또한, 임플란트 차트에는 각 환자에 대해 어떤 타입의 임플란트가 시술될 것인지에 대한 계획 등이 기록될 수 있다. 또한, 기공 차트에는 각 환자에게 시술될 것으로 결정된 임플란트 타입에 따라 어떤 임플란트 제품이 이용될 것인지에 대한 정보 등이 기록될 수 있다.
전술한 차트 등은 통상적으로 치과 의사의 발언 등을 간호사가 듣고 수기로 또는 컴퓨터 상에 입력함으로써 생성될 수 있다. 경우에 따라 Speech-To-Text(STT) 모델이 탑재된 스마트폰이나 컴퓨터 등이 이러한 차트 생성에 이용되기도 하지만, 대부분의 이러한 STT 모델은 정확도가 기대치에 미치치 못한 경우가 대부분인바, 치과 현장에 이러한 STT 모델이 현재 활발하게 도입되어 있지는 않은 실정이다.
한편, 전술한 차트 중 임플란트 차트에 기록될 임플란트 계획을 수립하는 경우에는, 환자의 치주 상태 또는 치과 계열 질환에 따라 다양한 임플란트 타입이 고려된다. 즉, 환자마다 상태가 상이하므로, 환자에게 가장 적합한 임플란트 타입이 임플란트 계획에서 치과 의료진들에 의해 결정된다. 자칫 임플란트 계획에서 적절하지 않은 임플란트 타입이 환자에게 시술될 것으로 결정되면, 이후 이는 의료사고로 번질 가능성이 있다. 이에, 환자에게 가장 적합한 임플란트 타입을 결정하는 것은 매우 중요하다고 할 수 있다.
한편, 환자에게 시술될 임플란트 타입이 결정되면, 그렇게 결정된 타입에 종속되어서 임플란트 제품의 종류가 결정된다. 시술이 시행되면 이러한 시술에 이용되는 임플란트 제품의 재고는 소진된다. 따라서, 치과에서는 제품의 소진 정도에 따라, 필요한 제품 등을 임플란트 솔루션 업체에게 주문하게 된다. 적절한 시점에 주문이 이루어지지 않으면, 그 다음 환자에게 필요한 임플란트 시술이 적절한 타이밍에 시행되지 못할 수도 있다.
한국공개특허 10-2022-0095581 (2022.07.07. 공개)
일 실시예에 따라 해결하고자 하는 과제는, 전술한 다양한 종류의 치과용 차트가 용이하게 생성되도록 하는 기술을 제공하는 것을 포함한다.
또한, 이러한 차트 중 임플란트 차트에는 환자에게 시술될 임플란트 타입이 기록될 수 있는데, 일 실시예에서는 여러 임플란트 타입 각각에 대한 실패율이 추론되어서 리포트(report)의 형태로 제공되도록 함으로써, 치과 의료진이나 환자가 이를 고려할 수 있도록 하는 것이 전술한 과제에 포함될 수 있다.
추가적으로는, 여러 임플란트 타입 중 환자에게 시술될 임플란트 타입 등을 고려해서, 치과에서 보유해야할 임플란트용 제품에 대한 재고가 관리되도록 하는 것이 일 실시예에 따른 전술한 과제에 포함될 수 있다.
다만, 일 실시예에 따른 해결하고자 하는 과제가 이에 한정되는 것은 아니다.
제 1 구현예에 따른 치과용 차트 통합 관리 서버는 적어도 하나의 명령어를 저장하는 메모리; 및 프로세서를 포함한다. 상기 메모리에는 소음 및 음성을 포함하는 사운드가 획득되면 상기 획득된 사운드를 대상으로 상기 소음에 대한 정제 과정을 수행한 뒤, 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각을 대상으로 특징을 추출하고 가공함으로써 상기 음성에 대한 스크립트를 획득하는 STT(Speech To Text) 모델이 저장되어 있다. 상기 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써, 환자의 치주 상태의 측정 중에 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제1 스크립트가 획득되면, 상기 제1 스크립트가 치주 차트(periodontal chart)에 반영되며, 상기 치주 차트로부터 추출된 특징이 기 학습된 임플란트의 타입 별 실패율 추론 모델에 제공되어서 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율이 추론되고, 상기 추론된 실패율을 기초로 결정된 상기 환자의 임플란트 타입에 대해 논의하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제2 스크립트가 획득되면, 상기 제1 스크립트 및 상기 제2 스크립트 중 적어도 일부가 임플란트 차트에 반영되며, 상기 결정된 임플란트 타입에 이용될 보철물(prosthesis)을 포함하는 임플란트 제품을 논의하고 결정하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제3 스크립트가 획득되면, 상기 제1 스크립트, 상기 제2 스크립트 및 상기 제3 스크립트 중 적어도 일부가 기공 차트에 반영된다. 이 때, 상기 STT 모델의 학습에 포함된 미세 조정(fine-tunining)에서는 치과 진료 중에 발생된 소음 및 음성을 포함하는 복수 개의 사운드 및 상기 복수 개의 사운드 각각에 대한 스크립트가 학습용 데이터로서 이용된다.
또한, 상기 정제 과정은 speech enhancement를 수행하는 모델에 의해 수행될 수 있다.
또한, 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각으로부터 특징을 추출하는 과정에는 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각을 스펙트로그램(spectrogram)으로 변환하는 과정; 및 상기 각각의 스펙트로그램으로부터 합성곱 신경망을 이용해서 특징을 추출하는 과정이 포함될 수 있다.
또한, 상기 가공에서는 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 간에 상대적으로 유사한 부분에는 상대적으로 높은 가중치가 적용되는 반면, 상대적으로 유사하지 않은 부분에는 상대적으로 낮은 가중치가 적용될 수 있다.
또한, 상기 가공의 결과 인코딩 벡터가 획득되는데, 상기 인코딩 벡터는 상기 STT 모델에 포함된 인코딩부에 의해 수행되며, 상기 인코딩부는 상기 STT 모델의 학습에 포함된 사전 학습(pre-training) 과정에서, 음성과 소음을 포함하는 복수 개의 사운드를 이용해서 학습된 것일 수 있다.
또한, 상기 획득된 인코딩 벡터를 디코딩하여서 상기 음성에 대한 스크립트를 획득하는 과정은 상기 STT 모델에 포함된 디코딩부에 의해 수행되되, 상기 미세 조정 과정에서는 상기 인코딩부에 상기 치과 진료 중에 발생된 소음 및 음성을 포함하는 복수 개의 사운드가 제공된 것에 대응해서 상기 디코딩부에서 출력되는 결과와 상기 학습용 데이터로서의 스크립트 간의 차이가 최소화되도록 학습이 수행될 수 있다.
또한, 상기 디코딩부에서 출력되는 결과와 상기 학습용 데이터로서의 스크립트 간의 차이를 최소화시키는 학습에는, CTC(Connectionist Temporal Classification) 손실이 이용될 수 있다.
또한, 상기 적어도 하나의 명령어가 상기 프로세서에 의해 수행됨으로써, 기 스크립트에 사전(dictionary)에 없는 단어가 포함되어 있으면, 기 학습된 단어 보정 모델에 상기 단어를 포함하는 연속된 3개의 단어가 제공되고, 상기 사전에 없는 단어는 상기 단어 보정 모델에 의해, 보정된 단어로 대체될 수 있다.
또한, 상기 임플란트의 타입 별 실패율 추론 모델은 두 개 이상의 실패 원인 각각이 임플란트의 각 타입에서 실패에 기여한 비율을 제공하도록 학습된 것일 수 있다.
또한, 상기 환자에 대해 임플란트 타입이 결정될 때마다 해당 환자의 치주 차트로부터 추출된 특징을 학습용 입력 데이터로 하고 해당 환자에 대해 결정된 임플란트 타입을 학습용 정답 데이터로 하여 임플란트 타입 추천 모델에 대한 학습이 수행될 수 있다.
또한, 상기 새로운 환자의 치주 상태의 측정으로부터 상기 새로운 환자에 대한 치주 차트가 생성되면, 상기 새로운 환자에 대해 생성된 치주 차트로부터 추출된 특징을 이용해서 상기 임플란트의 타입 별 실패율 추론 모델 및 상기 임플란트 타입 추천 모델 각각으로부터 상기 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율이 추론되고 또한 상기 새로운 환자에 대한 임플란트 타입이 추천되되, 상기 새로운 환자에 대해 추천된 임플란트 타입에 대해 상기 임플란트의 타입 별 실패율 추론 모델이 추론한 실패율이 소정의 임계치를 초과하면, 상기 새로운 환자에 대해 추천된 임플란트 타입에 대한 경고가 발생될 수 있다.
또한, 상기 기공 차트에 기재되어 있는 임플란트 제품의 종류 및 수량에 의존적으로, 상기 임플란트 제품에 대한 주문(order)이 생성되거나 생성되지 않을 수 있다.
또한, 환자에게 시술된 임플란트 타입에 대한 통계 및 각 임플란트 타입에서의 실패율이, 치과 별로 또는 상기 각 치과의 치과 의사 별로 생성될 수 있다.
제 2 구현예에 따른 치과용 차트 통합 관리 서버에 의해 수행되는 치과용 차트 통합 관리 방법으로서, 상기 치과용 차트 통합 관리 서버의 메모리에는 소음 및 음성을 포함하는 사운드가 획득되면 상기 획득된 사운드를 대상으로 상기 소음에 대한 정제 과정을 수행한 뒤, 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각을 대상으로 특징을 추출하고 가공함으로써 상기 음성에 대한 스크립트를 획득하는 STT(Speech To Text) 모델이 저장되어 있다. 상기 방법은 환자의 치주 상태의 측정 중에 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제1 스크립트가 획득되면, 상기 제1 스크립트가 치주 차트(periodontal chart)에 반영되는 단계; 상기 치주 차트로부터 추출된 특징이 기 학습된 임플란트의 타입 별 실패율 추론 모델에 제공되어서 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율이 추론되는 단계; 상기 추론된 실패율을 기초로 결정된 상기 환자의 임플란트 타입에 대해 논의하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제2 스크립트가 획득되면, 상기 제1 스크립트 및 상기 제2 스크립트 중 적어도 일부가 임플란트 차트에 반영되는 단계; 및 상기 기획된 임플란트 타입에 이용될 보철물(prosthesis)을 포함하는 임플란트 제품을 논의하고 결정하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제3 스크립트가 획득되면, 상기 제1 스크립트, 상기 제2 스크립트 및 상기 제3 스크립트 중 적어도 일부가 기공 차트에 반영되는 단계를 포함한다. 상기 STT 모델의 학습에 포함된 미세 조정(fine-tunining)에서는 치과 진료 중에 발생된 소음 및 음성을 포함하는 복수 개의 사운드 및 상기 복수 개의 사운드 각각에 대한 스크립트가 학습용 데이터로서 이용된다.
또한, 상기 정제 과정은 speech enhancement를 수행하는 모델에 의해 수행될 수 있다.
또한, 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각으로부터 특징을 추출하는 과정에는 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각을 스펙트로그램(spectrogram)으로 변환하는 과정; 및 상기 각각의 스펙트로그램으로부터 합성곱 신경망을 이용해서 특징을 추출하는 과정이 포함될 수 있다.
또한, 상기 가공에서는 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 간에 상대적으로 유사한 부분에는 상대적으로 높은 가중치가 적용되는 반면, 상대적으로 유사하지 않은 부분에는 상대적으로 낮은 가중치가 적용될 수 있다.
또한, 상기 가공의 결과 인코딩 벡터가 획득되는데, 상기 인코딩 벡터는 상기 STT 모델에 포함된 인코딩부에 의해 수행되며, 상기 인코딩부는 상기 STT 모델의 학습에 포함된 사전 학습(pre-training) 과정에서, 음성과 소음을 포함하는 복수 개의 사운드를 이용해서 학습된 것일 수 있다.
또한, 상기 치주 차트, 상기 임플란트 차트 및 상기 기공 차트 각각에는, 음성에 따라 복수 개의 항목 중 어느 하나가 선택되거나 상기 선택된 항목에 대한 내용이 상기 음성을 반영하여 기재되도록 마련된 인터페이스용 차트 및 상기 인터페이스용 차트의 내용에 따라 종속적으로 생성되는 보고용 차트가 포함될 수 있다.
또한, 상기 메모리에는 상기 복수 개의 항목마다, 각 항목의 선택용 지시어가 저장되어 있고, 상기 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써, 상기 음성으로부터 획득된 스크립트에서 선택용 지시어가 인식되면, 상기 인식된 선택용 지시어에 대응되는 항목이 선택되도록 제어될 수 있다.
또한, 상기 메모리에는, 상기 선택용 지시어가 인식될 때마다 인식된 선택용 지시어가 누적 저장되고, 상기 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써, 상기 STT 모델의 학습에 포함된 미세 조정은 상기 누적 저장된 선택용 지시어를 이용해서 재수행될 수 있다.
제 3 구현예에 따른 컴퓨터 프로그램은 컴퓨터 판독가능한 기록매체에 저장되며, 이러한 컴퓨터 프로그램은 전술한 방법에 포함된 각 단계를 수행하도록 프로그램된 것일 수 있다.
제 4 구현예에 따른 컴퓨터 판독가능한 기록매체는 컴퓨터 프로그램을 저장하며, 이러한 컴퓨터 프로그램은 전술한 방법에 포함된 각 단계를 수행하도록 프로그램된 것일 수 있다.
일 실시예에 따르면, 치과에서 생성되는 다양한 종류의 차트가 고도화된 STT 모델에 의해 용이하게 생성 내지 관리될 수 있을 뿐 아니라, 이들 차트에 기재될 내용을 결정하는데에 필요한 정보, 예컨대 환자에게 적용될 임플란트 타입의 결정에 이용될 정보가 제공될 수 있다. 또한, 치과 의료진이나 임플란트 솔루션 업체에서 유용하게 활용될 수 있는 다양한 종류의 정보가 리포트의 형식으로서 제공될 수도 있다.
도 1에는 일 실시예에 따른 치과용 차트 통합 관리 서버를 통해 치과용 차트가 생성 및 제공되는 것, 그리고 임플란트용 제품 등이 주문(발주)되는 것 등이 개념적으로 도시되어 있다.
도 2에는 일 실시예에 따른 치과용 차트 통합 관리 서버가 네트워크 상에서 연결된 형태가 예시적으로 도시되어 있다.
도 3에는 일 실시예에 따른 치과용 음성 인식 장치에 대한 블록도가 개념적으로 도시되어 있다.
도 4에는 딥러닝에 대한 아키텍쳐가 개념적으로 도시되어 있다.
도 5에는 일 실시예에 따라 구현되어 있는 다양한 종류의 모델 내지 모듈 등이 개념적으로 도시되어 있다.
도 6에는 일 실시예에 따라 구현된 STT 모델의 아키텍쳐가 개념적으로 도시되어 있다.
도 7에는 다른 실시예에 따라 구현된 STT 모델의 아키텍쳐가 개념적으로 도시되어 있다.
도 8에는 일 실시예에 따라 STT 모델의 인코딩부를 사전 학습(pre-training)시키는 과정이 개념적으로 도시되어 있다.
도 9에는 일 실시예에 따라 STT 모델을 미세 조정(fine-tuning)하는 과정이 개념적으로 도시되어 있다.
도 10과 11에는 임플란트 차트에 대한 예시 도면이 도시되어 있다.
도 12에는 기공 차트에 대한 예시 도면이 도시되어 있다.
도 13에는 일 실시예에 따라 제공되는 리포트(report)에 임플란트 타입 별로 성공률 또는 실패율 등이 추론되어서 도시되어 있는 것이 예시적으로 도시되어 있다.
도 14에는 일 실시예에 따라 각 치과 의료진에 대한 임플란트 시술 이력이 제공되는 것이 개념적으로 도시되어 있다.
도 15에는 일 실시예에 따라 임플란트 솔루션 업체에서 제공된 임플란트 솔루션 각각에 대한 시술 실패율 또는 성공률 등이 통계로 제공되는 것이 개념적으로 도시되어 있다.
도 16과 17에는 일 실시예에 따라 임플란트 솔루션 업체에서 각 치과에서 주문된 임플란트용 제품의 리스트가 예시적으로 도시되어 있다.
도 18에는 일 실시예에 따른 각 차트가 인터페이스용 차트 및 보고용 차트를 포함하도록 구성되어 있는 것에 대한 개념이 예시적으로 도시되어 있다.
도 19에는 일 실시예에 따른 치과용 차트 통합 관리 방법에 대한 순서도가 예시적으로 도시되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1에는 일 실시예에 따른 치과용 차트 통합 관리 서버를 통해 치과용 차트가 생성 및 제공되는 것과, 그리고 임플란트용 제품 등이 주문(발주)되는 것 등이 개념적으로 도시되어 있다. 다만, 도 1은 예시적인 것에 불과한 바, 본 발명의 사상이 도 1에 도시된 것으로 한정 해석되는 것은 아니다.
도 1을 참조하면, 치과에는 단말, 예컨대 마이크 및 화면 등이 구비되어 있는 스마트폰, 스마트패드 또는 PC 등이 구비되어 있다. 치과 진료 또는 치과 의료진들의 회의 중에 발생된 사운드는 이러한 단말에서 인식된다. 그리고 이렇게 인식된 사운드는 치과용 차트 통합 관리 서버에 제공된다. 이러한 사운드에는 음성 및 소음이 포함될 수 있다.
이 중 음성은 치과 의료진 간의 대화, 치과 의료진의 음성 명령 또는 치과 의료진과 환자 간의 대화를 포함할 수 있다. 아울러, 소음은 전술한 대화, 음성 명령 또는 치료 중에 발생되는 다양한 소리를 포함한다. 예컨대 드릴이나 진공 흡입기(dental suction)의 동작에 따른 소음이 발생될 수 있다. 또는 치아에 소정의 물질을 충전할 때에도 소음이 발생될 수 있다. 물론, 치과 밖에서의 자동차 경적 소리 등도 이러한 소음에 포함될 수 있다.
즉, 전술한 사운드는 도 1에 도시된 바와 같이 noisy waveform의 형태일 수 있다. 다시 말하면, 전술한 사운드는 소음과 음성을 포함할 수 있다.
이러한 사운드는 치과용 차트 통합 관리 서버에 마련되어 있는 치과 전용 STT 모델에 제공된다. 그러면 이러한 치과 전용 STT 모델에서는 사운드에 포함되어 있는 음성이 인식되어서 출력된다. 출력되는 형태는 다양할 수 있다. 예컨대 도 1에 도시된 바와 같이 스크립트(script)와 같은 텍스트가 출력될 수 있으며, 다만 이에 한정되는 것은 아니다.
여기서, 치과 전용 STT 모델은 소음에 강인(robust)하도록 학습된 모델이다. 예컨대 전술한 치과 치료 중에 발생되는 소음에도 불구하고, 전술한 모델은 이러한 사운드에 포함되어 있는 음성을 정확하게 인식해서 출력하도록 학습된 모델일 수 있다. 즉, 일반적인 STT 모델에 비해, 일 실시예에 따른 치과 전용 STT 모델은, 그 정도가 심한 소음에도 불구하고, 음성 인식률이 상대적으로 높도록 학습된 모델일 수 있다.
한편, 전술한 치과 전용 STT 모델에 적용된 기술은 다른 의료 분야에도 적용될 수 있음은 물론이다. 미세 조정 과정에 이용되는 학습용 데이터의 종류에 따라, 소아과, 산부인과, 안과 또는 피부과 전용 STT 모델 역시, 일 실시예에 따른 기술의 응용으로 구현 가능하다.
치과 전용 STT 모델에서 출력되는 전술한 스크립트는 치과의 다양한 차트를 생성하는데 이용될 수 있다. 예컨대, 치주 차트, 임플란트 차트 또는 기공 차트 등을 생성하거나 수정하는데에 전술한 스크립트가 이용될 수 있다.
여기서, 치주 차트란 환자의 치주 건강 상태를 나타내는 차트를 의미한다. 이러한 치주 차트에는 잇몸에서의 출혈 여부나 치주의 탈락 정도 또는 이(teeth) 사이 간격 등과 같은 다양한 정보가 기록될 수 있다. 또한, 임플란트 차트에는 각 환자에 대해 어떤 타입의 임플란트가 시술될 것인지에 대한 계획 등이 기록될 수 있다. 또한, 기공 차트에는 각 환자에게 시술될 것으로 결정된 임플란트 타입에 따라 구체적으로 어떤 임플란트 제품이 이용될 것인지에 대한 정보 등이 기록될 수 있다.
이하, 각 차트의 생성 과정에 대해 예를 들어서 구체적으로 살펴보자. 치과 의료진은 환자를 진료하거나 다른 치과 의료진과 회의를 하면서 발언을 한다. 이러한 발언에는 각종 차트의 생성 또는 수정에 필요한 음성 명령이 포함될 수 있다. 예컨대, 'periodontal chart', 'implant chart', 'lab chart' 등과 같이, 생성될 차트의 종류를 지칭하는 음성 명령이 이러한 발언에 포함될 수 있다. 또는, 'patient name', '홍길동', 'age', '41' 등과 같이 환자의 신상 정보를 나타내는 음성이 이러한 발언에 포함될 수 있다. 또는 'Diagnosis', 'Tx. Plan', 'Early Placement', 'Anesthesia', 'Block', 'Bone Density', 'D1' 등과 같이 차트에 기록될 내용 등이 이러한 발언에 포함될 수도 있다.
전술한 발언으로부터 스크립트와 같은 텍스트가 일 실시예에 따른 STT 모델로부터 출력되면, 이러한 텍스트를 기반으로 차트를 생성하거나 수정하는 동작이 수행된다. 이를 위해, 전술한 치과용 차트 통합 관리 서버에는, 텍스트로부터 차트의 생성이나 수정과 관련된 명령어를 발췌해서 이를 기반으로 차트 생성이나 수정 기능이 동작되도록 하는 모듈 내지 모델이 구현되어 있을 수 있다.
한편, 일 실시예에서 전술한 각 차트는 서로 간에 연관관계를 갖고 있다. 예컨대, 임플란트 차트에 기재되는 내용에는 치주 차트에 기재된 내용 중 적어도 일부가 포함될 수 있다. 보다 구체적으로, 임플란트 차트에 기재되는 내용 중 임플란트 계획은 환자의 치주 상태를 참조해서 결정된 것이라는 점에서 살펴보면, 경우에 따라 임플란트 계획의 근거로서 환자의 치주 상태에 대한 정보, 즉 치주 차트에 기재된 내용 중 적어도 일부가 이러한 임플란트 차트에 기재될 수 있다. 또는 기공 차트에 기재되는 내용에도 치주 차트에 기재된 내용이나 임플란트 차트에 기재된 내용 중 적어도 일부가 포함될 수 있다. 기공 차트에 기재될 임플란트 제품의 종류는 환자에게 시술될 임플란트 타입을 참조해서 결정된 것이라는 점에서 살펴보면, 경우에 따라 임플란트 제품의 종류가 결정된 근거로서 임플란트 타입에 대한 정보, 즉 임플란트 차트에 기재된 내용 중 적어도 일부가 이러한 기공 차트에 기재될 수 있다. 물론, 치주 차트에 기재되어 있는 환자의 상태에 따라 임플란트 제품의 종류가 결정될 수도 있다는 점에서, 치주 차트에 기재된 내용 중 적어도 일부가 기공 차트에 기재될 수도 있다.
한편, 일 실시예에서는 다양한 종류의 리포트(report)가 제공될 수 있다. 예컨대, 치과 의료진에게는 다양한 종류의 임플란트 타입 각각에 대해, 각 환자의 상태를 고려한 성공률 또는 실패율에 대한 리포트가 제공될 수 있다. 그러면, 치과 의료진은 이렇게 추론된 성공률이나 실패율을 참고해서, 각 환자에게 가장 적합한 최선의 임플란트 타입을 결정할 수 있다.
또는, 임플란트 솔루션 업체, 예컨대 임플란트 타입에 따른 보철물을 포함하는 임플란트 제품을 연구, 개발, 생산 또는 판매 등을 하는 업체들에게는 다양한 종류의 임플란트 타입 각각에 대해 어느 정도로 시술이 되고 있는지를 나타내는 시술율, 성공률, 실패율 또는 각 치과나 각 치과의 의료진들이 선호하는 임플란트 타입에 대한 정보가 리포트로서 제공될 수 있다. 뿐만 아니라, 이들 업체에는 각 치과로부터의 임플란트 제품에 대한 발주(주문)가 접수될 수도 있다. 이렇게 제공되는 리포트 또는 주문 등을 토대로, 각 임플란트 솔루션 업체는 향후 주문이 많거나 적을 제품들에 대한 재고량을 관리하거나 새로운 제품에 대한 R&D 방향성을 결정할 수 있다.
즉, 일 실시예에 따르면, 치과에서 생성되는 다양한 종류의 차트가 고도화된 STT 모델에 의해 용이하게 생성 내지 관리될 수 있다. 또한 치과 의료진이나 임플란트 솔루션 업체에서 유용하게 활용될 수 있는 다양한 종류의 정보, 예컨대, 전술한 차트에 기재될 내용을 치과 의료진이 결정하는데에 있어서 참조 가능한 정보 또는 임플란트 솔루션 업체가 R&D 방향성을 결정하거나 재고량을 관리하는데에 참조 가능한 정보 등이 리포트 등의 형식으로 제공될 수 있다.
도 2는 일 실시예에 따른 치과용 차트 통합 관리 서버가 네트워크 상에서 연결된 형태가 예시적으로 도시되어 있다.
도 2를 참조하면, 일 실시예에 따른 치과용 차트 통합 관리 서버(100)는 사용자 단말(200)이나 임플란트 솔루션 업체 서버(400) 등과 네트워크(300)를 통해 연결될 수 있다. 여기서, 도 2는 예시적인 것에 불과한 바, 본 발명의 사상이 도 2에 도시된 것으로 한정 해석되는 것은 아니다.
여기서 네트워크(300)는 무선 또는 유선 네트워크망을 의미한다. 이 중, 무선 네트워크 망의 경우, 예컨대 LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), WiFi(wireless fidelity), 블루투스(Bluetooth), NFC(near field communication) 및 GNSS(global navigation satellite system) 등에서 적어도 하나를 포함할 수 있다. 또한, 유선 네트워크 망의 경우, 예컨대 USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard232), LAN(Local Area Network), WAN(Wide Area Network), 인터넷 및 전화망(telephone network) 등에서 적어도 하나를 포함할 수 있다.
다음으로, 사용자 단말(200)은 전술한 치과용 차트 통합 관리 서버(100) 또는 이러한 서버(100)에서 제공되는 솔루션을 사용하고자 하는 사용자의 단말을 지칭한다. 예컨대, 사용자 단말(200)은 치과 의료진의 단말일 수 있으며, 경우에 따라서는 환자의 단말일 수도 있다. 또는 사용자 단말(200)은 치과에서 발생되는 음성과 소음을 포함하는 사운드를 수집해서, 이로부터 의료 빅데이터를 구축하고자 하는 데이터사업자 또는 마이데이터 사업자의 단말일 수도 있다.
이러한 사용자 단말(200)은 도 2에 도시된 바와 같이 스마트폰, 태블릿 PC, 데스크탑 PC 또는 서버 등을 포함할 수 있으며, 다만 이에 한정되는 것은 아니다. 아울러, 이러한 사용자 단말(200)에는 마이크와 같은 음성 인식 장치, 차트 등이 표시되는 디스플레이부 그리고 통신부 등이 구비되어 있을 수 있다. 이러한 마이크를 통해 치과에서 발생되는 전술한 사운드가 전술한 사용자 단말(200)에 입력될 수 있다. 그리고 상기 통신부를 통해, 전술한 사용자 단말(200)에 입력된 전술한 사운드가 네트워크(300)를 통해 일 실시예에 따른 치과용 음성 인식 장치(100)에게 전송될 수 있다. 아울러, 이러한 사운드에 포함되어 있는 음성이 인식되면 이를 기초로 차트가 생성될 수 있는데, 생성되는 과정 내지 결과로서의 차트의 형태가 디스플레이부에 표시될 수 있다.
임플란트 솔루션 업체 서버(400)는 임플란트 솔루션을 연구, 개발, 생산 또는 판매하는 업체에서 운영하는 서버를 가리킨다. 이러한 서버(400)는 일반적인 컴퓨터 등에 의해 구현 가능하다. 이러한 서버(400)에는 통신부를 비롯해서 디스플레이부 또는 입력부 등이 구비된다. 통신부를 통해서 치과용 차트 관리 서버(100)로부터 특정 임플란트 제품에 대한 구매 요청(발주)이 수신될 수 있다. 그리고 디스플레이부를 통해 해당 업체에게 요청된 구매 요청의 리스트 또는 치과용 차트 관리 서버(100)에서 생성한 다양한 종류의 정보가 기재되어 있는 리포트 등이 표시될 수 있다. 물론, 이러한 서버(400)에서 구현 가능한 기능은 이에 한정되는 것은 아니다.
치과용 차트 통합 관리 서버(100)는 치과에서 발생되는 사운드를 제공받는다. 이러한 사운드는 치과에서 발생된 것일 수 있으며, 다만 이에 한정되는 것은 아니다. 아울러, 이러한 사운드에는 음성과 소음 등이 포함될 수 있다. 여기서, 음성과 소음에 대해서는 이미 설명된 바 있으므로, 이에 대한 추가적인 설명은 생략하기로 한다.
치과용 차트 통합 관리 서버(100)는, 제공받은 사운드를 분석해서 음성을 인식한다. 그리고 이렇게 인식된 음성은 스크립트와 같은 텍스트의 형태로 출력된다. 보다 구체적으로, 치과용 차트 통합 관리 서버(100)는 치과 치료 중에 발생되는 소음에도 불구하고, 사운드에 포함되어 있는 음성을 정확하게 인식해서 스크립트의 형태로 출력할 수 있다. 즉, 일반적인 STT 모델에 비해, 일 실시예에 따른 치과용 차트 통합 관리 서버(100)는 그 정도가 심한 소음에도 불구하고 정확하게 음성을 인식해서 스크립트의 형태로 출력할 수 있다.
그러면, 치과용 차트 통합 관리 서버(100)에서는 다양한 종류의 차트가 생성된다. 구체적으로, 전술한 사운드가 STT 모델에 제공되어서 음성에 대한 제1 스크립트가 획득되면, 이러한 제1 스크립트는 치주 차트에 반영된다.
한편, 제1 스크립트가 반영된 치주 차트로부터 특징이 추출될 수 있다. 특징 추출에는 텍스트가 입력되면 그로부터 특징을 추출하는데 이용되는 언어 모델, 예컨대 RNN이나 LSTM 또는 BERT와 같은 모델이 이용될 수 있다. 이를 위해, 전술한 언어 모델은 치과용 차트 통합 관리 서버(100)에 탑재될 수 있다.
이렇게 제1 스크립트가 반영된 치주 차트로부터 특징이 추출되면, 이러한 특징을 이용해서 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율 또는 성공률이 추론된다. 이 때, 전술한 추출된 특징은 임플란트를 시술받을 환자의 치주 상태를 포함한 전반적인 상태를 반영하고 있다. 따라서, 추론되는 실패율 또는 성공률은 각 환자의 상태를 고려해서 각각의 임플란트 타입에 대해 실패하거나 성공할 확률을 나타내는 것이다.
한편, 치과 의료진은 각각의 임플란트 타입에 대해 추론된 실패율이나 성공률에 기초해서 해당 환자에게 시술될 임플란트 타입에 대해 논의를 하여 결정한다. 즉, 일 실시예에 따르면, 임플란트 차트에 기재될 임플란트 계획에서 가장 중요한 부분인, 환자에게 시술될 임플란트 타입의 결정에는, 전술한 각 임플란트 타입에 대해 추론된 실패율이나 성공률이 고려될 수 있다.
그리고 이렇게 결정된 임플란트 타입을 포함하는 다양한 정보, 즉 임플란트 계획이 임플란트 차트에 기재된다. 뿐만 아니라, 치과 의료진이 임플란트 타입에 대해 결정할 때 나눈 대화 역시 이러한 임플란트 차트에 기재될 수 있다. 이를 위해, 전술한 대화가 STT 모델에 제공되어서 음성에 대한 제2 스크립트가 획득될 수 있으며, 이러한 제2 스크립트가 임플란트 차트에 반영된다. 물론, 실시예에 따라 제1 스크립트 중 적어도 일부가 임플란트 차트에 추가적으로 반영될 수도 있다.
한편, 치과 의료진은 환자에게 시술될 것으로 결정된 임플란트 타입을 참고해서, 이러한 임플란트 타입에 대응되는 임플란트 제품, 예컨대 보철물의 종류나 스펙 또는 제조사 등을 결정하기 위해 논의한다. 이러한 논의 과정에서 오고가는 대화는 STT 모델에 제공될 수 있고, 이로부터 음성에 대한 제3 스크립트가 획득될 수 있다. 그러면, 이렇게 획득된 제3 스크립트는 기공 차트에 반영된다. 물론, 실시예에 따라 제1 스크립트나 제2 스크립트 중 적어도 일부가 기공 차트에 추가적으로 반영될 수도 있다.
즉, 일 실시예에 따르면, 치과에서 생성되는 다양한 종류의 차트가 고도화된 STT 모델에 의해 용이하게 생성 내지 관리될 수 있을 뿐 아니라, 이들 차트에 기재될 내용을 결정하는데에 필요한 정보, 예컨대 환자에게 시술될 임플란트 타입에 대한 정보를 결정하는데 있어서 참조가 되는 정보가 제공될 수 있다.
이하, 이러한 치과용 차트 통합 관리 서버(100)에 대해 보다 자세하게 살펴보기로 한다.
도 3은 일 실시예에 따른 치과용 차트 통합 관리 서버(100)에 대한 예시적인 구성도이다. 도 3을 참조하면, 치과용 차트 통합 관리 서버(100)는 통신부(110), 메모리(120) 및 프로세서(130)를 포함한다. 다만, 도 3에 도시된 구성도는 예시적인 것에 불과한 바, 본 발명의 사상이 도 3에 도시된 구성도에 의해 한정 해석되는 것은 아니다. 예컨대, 치과용 차트 통합 관리 서버(100)는 도 3에 도시되지 않은 구성을 적어도 하나 포함하거나 도 3에 도시된 구성 중 적어도 하나를 포함하지 않을 수 있다.
통신부(110)는 유선 또는 무선 통신 모듈에 의해 구현 가능하다. 치과용 차트 통합 관리 서버(100)는 이러한 통신부(110)를 통해 외부의 단말, 예컨대 도 2에 도시된 다양한 종류의 단말(200)이나 서버(400) 등과 통신을 수행할 수 있다.
메모리(120)는 정보를 저장하는 매체에 의해 구현 가능하다. 이러한 매체에는 플래시 메모리 타입(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), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체일 수 있으며, 다만 이에 한정되는 것은 아니다.
이러한 메모리(120)에는 다양한 종류의 정보가 저장될 수 있다. 예컨대 메모리(120)에는 통신부(110)를 통해 치과용 차트 통합 관리 서버(100)가 외부의 단말(200) 등에서 획득한 정보가 저장될 수 있다. 또한, 이러한 메모리(120)에는 후술할 다양한 종류의 모델이나 모듈의 학습에 이용될 복수 개의 학습용 데이터가 저장되어 있을 수도 있다.
또한, 메모리(120)에는 다양한 종류의 모듈 내지 모델이 구현되어 있을 수 있다. 이러한 모듈이나 모델은 후술할 프로세서(130)에 의해 실행되면, 목적하는 기능이 수행되게 된다. 각각의 모듈 내지 모델에 대해서는 후술하기로 한다.
다음으로, 프로세서(130)에 대해 살펴보자. 우선, 일 실시예에 따른 프로세서(130)는 메모리(120)에 저장된 적어도 하나의 명령어를 실행시킴으로써, 후술될 본 개시내용의 실시예들에 따른 기술적 특징들을 수행할 수 있다.
일 실시예에서, 프로세서(130)는 적어도 하나의 코어로 구성될 수 있다. 아울러, 이러한 프로세서(130)는 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치 (GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석 및/또는 처리를 위한 것일 수 있다.
전술한 프로세서(130)는 머신러닝이나 딥러닝 방식으로 설계된 신경망 내지 모델을 학습시킬 수 있다. 이를 위해, 프로세서(130)는 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다.
또한, 프로세서(130)는 인공 신경망 방식으로 구현된 모델을 이용해서, 소정의 목적 하에 추론(inference)을 수행할 수도 있다.
이하, 인공 신경망에 대해 살펴보기로 한다. 본 명세서에서의 모델은 네트워크 함수, 인공신경망 및/또는 뉴럴 네트워크에 기반하여 동작하는 임의의 형태의 컴퓨터 프로그램을 의미할 수 있다. 본 명세서에 걸쳐, 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 상호 교환 가능한 의미로 사용될 수 있다. 신경망은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호 연결되어 신경망 내에서 입력 노드 및 출력 노드 관계를 형성한다. 신경망 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망의 특성이 결정될 수 있다. 신경망은 하나 이상의 노드들의 집합으로 구성될 수 있다. 신경망을 구성하는 노드들의 부분 집합은 레이어(layer)를 구성할 수 있다.
뉴럴 네트워크 중 딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수개의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크는 도 4에 이에 대한 개념이 예시적으로 도시되어 있는 것과 같이, 중간에 있는 히든 계층이 딥 뉴럴 네트워크에서는 1개 이상, 바람직하게는 2개 이상으로 구성될 수 있다.
이러한 딥 뉴럴 네트워크는 합성곱 신경망(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), LSTM(Long Short Term Memory) 네트워크, GPT(Generative Pre-trained Transformer), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크, 적대적 생성 네트워크(GAN: Generative Adversarial Network), 트랜스포머(transformer) 등을 포함할 수 있다.
전술한 딥 뉴럴 네트워크는 전이학습(transfer learning) 방식으로 학습된 것일 수 있다. 전이학습에서는 사전 학습(pre-training) 과정 및 미세 조정(fine-tuning) 과정이 수행된다.
여기서, 사전 학습 과정에서는 대용량의 라벨링되어 있지 않은 학습용 데이터가 제1 태스크에 적합하도록 학습에 이용된다. 그 결과 사전 학습된(pre-trained) 모델(또는 베이스부)이 획득된다.
아울러, fine-tuning 과정에서는, 라벨링된 학습용 데이터가 제2 태스크에 적합하도록 지도학습 방식으로 학습에 이용된다. 그 결과, 전이학습을 통해 획득하고자 하는 최종 모델이 획득된다.
이러한 전이학습 방식으로 학습된 모델 중 하나로서, BERT(Bidirectional Encoder Representations from Transformers) 등이 있는데, 다만 이에 한정되는 것은 아니다.
전술한 딥 뉴럴 네트워크를 포함하여서, 뉴럴 네트워크는 출력의 오류를 최소화하는 방향으로 학습될 수 있다. 뉴럴 네트워크의 학습에서는, 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이 수행될 수 있다.
한편, 일 실시예에 따른 모델은 트랜스포머의 적어도 일부분을 차용하도록 구현될 수 있다. 여기서, 트랜스포머는 임베딩된 데이터들을 인코딩하는 인코더 및 인코딩된 데이터들을 디코딩하는 디코더로 구성될 수 있다. 트랜스포머는 일련의 데이터들을 수신하여, 인코딩 및 디코딩 단계를 거처 상이한 타입의 일련의 데이터들을 출력하는 구조를 지닐 수 있다. 일 실시예에서, 일련의 데이터들은 트랜스포머가 연산가능한 형태로 가공될 수 있다. 일련의 데이터들을 트랜스포머가 연산가능한 형태로 가공하는 과정은 임베딩 과정을 포함할 수 있다. 데이터 토큰, 임베딩 벡터, 임베딩 토큰 등과 같은 표현들은, 트랜스포머가 처리할 수 있는 형태로 임베딩된 데이터들을 지칭하는 것일 수 있다.
트랜스포머가 일련의 데이터들을 인코딩 및 디코딩하기 위하여, 트랜스포머 내의 인코더 및 디코더들은 어텐션(attention) 알고리즘을 활용할 수 있다. 여기서 어텐션 알고리즘이란 주어진 쿼리(Query)에 대해, 하나 이상의 키(Key)에 대한 유사도를 구하고, 이렇게 주어진 유사도를, 각각의 키(Key)와 대응하는 값(Value)에 반영한 후, 유사도가 반영된 값(Value)들을 가중합하여 어텐션 값을 계산하는 알고리즘을 의미할 수 있다.
이 때, 쿼리, 키 및 값을 어떻게 설정하느냐에 따라, 다양한 종류의 어텐션 알고리즘이 분류될 수 있다. 예를 들어, 쿼리, 키 및 값을 모두 동일하도록 설정되어서 어텐션이 획득될 수 있는데, 이는 셀프-어텐션 알고리즘을 의미할 수 있다. 이와 달리, 입력된 일련의 데이터들을 병렬로 처리하기 위해, 임베딩 벡터를 차원을 축소하고, 각 분할된 임베딩 벡터에 대해 개별적인 어텐션 헤드를 구함으로써 어텐션이 획득될 수도 있는데, 이는 멀티-헤드(multi-head) 어텐션 알고리즘을 의미할 수 있다.
일 실시예에서, 트랜스포머는 복수 개의 멀티-헤드(multi-head) 셀프 어텐션 알고리즘 또는 멀티-헤드(multi-head) 인코더-디코더(encoder-decoder) 알고리즘을 수행하는 모듈로 구성될 수 있다. 일 실시예에서, 트랜스포머는 임베딩, 정규화 또는 소프트맥스(softmax) 등 어텐션 알고리즘이 아닌 부가적인 구성요소들 또한 포함할 수도 있다. 어텐션 알고리즘을 이용하여 트랜스포머를 구성하는 방법은 Vaswani et al., Attention Is All You Need, 2017 NIPS에 개시된 방법을 포함할 수 있으며, 이는 본 명세서에 참조로 통합된다.
트랜스포머는 임베딩된 자연어, 분할된 이미지 데이터 또는 오디오 파형 등 다양한 데이터 도메인에 적용 가능하다. 그 결과, 트랜스포머는 일련의 입력 데이터를 일련의 출력 데이터로 변환할 수 있다. 다양한 데이터 도메인을 가진 데이터들은 트랜스포머에서 처리 가능하도록 하기 위해 변환될 수 있는데, 이는 임베딩이라고 지칭된다.
또한, 트랜스포머는 일련의 입력 데이터 사이의 상대적 위치관계 또는 위상관계를 표현하는 추가적인 데이터를 처리할 수 있다. 또는 일련의 입력 데이터에 입력 데이터들 사이의 상대적인 위치관계 또는 위상관계를 표현하는 벡터들이 추가적으로 반영되어 일련의 입력 데이터가 임베딩될 수 있다. 일 예에서, 일련의 입력 데이터 사이의 상대적 위치관계는, 자연어 문장 내에서의 어순, 각각의 분할된 이미지의 상대적 위치 관계, 분할된 오디오 파형의 시간 순서 등을 포함할 수 있으나, 이에 제한되지 않는다. 일련의 입력 데이터들 사이의 상대적인 위치관계 또는 위상관계를 표현하는 정보를 추가하는 과정은 위치 인코딩(positional encoding)으로 지칭될 수 있다.
이하, 프로세서(130)에 의해 메모리(120)에 저장된 적어도 하나의 명령어가 실행됨으로써, 치과용 차트 통합 관리 서버100)가 수행할 수 있는 다양한 동작 내지 기능 등에 대해 살펴보기로 하자.
우선, 프로세서(130)는 통신부(110)를 제어할 수 있다. 이를 통해 치과용 차트 통합 관리 서버(100)는 통신부(110)를 통해 도 2에 도시되어 있는 사용자 단말(200) 또는 서버(400) 등과 통신을 수행해서 정보를 획득할 수 있다.
또한 프로세서(130)는 메모리(120)에 저장되어 있는 전술한 데이터나 명령어를 읽어들일 수 있고, 메모리(120)에 새로운 데이터나 명령어를 기록할 수 있다. 또한, 프로세서(130)는 이미 기록되어 있는 데이터나 명령어를 수정하거나 삭제할 수 있다.
또한, 프로세서(130)는 메모리(120)에 저장되어 있는 다양한 모델이나 모듈을 실행시킬 수 있다. 여기서, 이러한 모델이나 모듈은 전술한 인공신경망 방식 또는 룰 기반 방식으로 구현된 것일 수 있으며, 도 5에 도시되어 있는 STT 모델, 단어 보정 모델(124), 차트 생성부(125), 실패율 추론 모델(126), 임플란트 타입 추천 모델(127) 및 임플란트 제품 주문부(128)가 이러한 모델이나 모듈의 예시이다. 물론, 전술한 모델이나 모듈이 도 6에 도시된 것으로만 한정 해석되는 것은 아니다.
우선, 도 5에 도시되어 있는 STT 모델부터 살펴보기로 하자. 이러한 STT 모델은 치과 전용으로 디자인된 것일 수 있다. 구체적으로, 일 실시예에 따른 STT 모델은 트랜스포머에 의해 구현될 수 있다. 보다 구체적으로, STT 모델은 시퀀스-투-시퀀스 트랜스포머에 의해 구현될 수 있다. 시퀀스-투-시퀀스 트랜스포머는 통상적인 트랜스포머에 비해 디코더 부분에 디코더-인코더 어텐션이 이용되는 것이 상이하다.
이러한 STT 모델은 도 6에 도시되어 있는 바와 같이 인코딩부(122) 및 디코딩부(123)를 포함하며, 다만 이에 한정되는 것은 아니다.
이 중 인코딩부(122)는 음성과 소음을 포함하는 사운드, 즉 noisy waveform을 입력받아서 인코딩하도록 구현된다. 아울러, 디코딩부(123)는 인코딩부(122)로부터 인코딩 벡터를 제공받아서 스크립트와 같은 텍스트로 변환하여 출력하도록 구현된다. 즉, 전술한 사운드가 인코딩부(122)에 제공되면, 인코딩부(122)에서는 인코딩 벡터가 생성된다. 이렇게 생성된 인코딩 벡터는 디코딩부(123)에 제공된다. 그러면, 디코딩부(123)에서는 이렇게 제공받은 인코딩 벡터를 이용해서, 사운드에 포함된 음성에 대한 스크립트를 생성 및 출력한다.
한편, 일 실시예에 따른 STT 모델은 도 6에 도시된 아키텍쳐의 형태로만 구현될 수 있는 것은 아니다. 예컨대, STT 모델은 도 7에 도시된 아키텍쳐의 형태로 구현될 수도 있다. 도 7을 참조하면, STT 모델은 크게 사운드 정제부(121), 인코딩부(122) 및 디코딩부(123)를 포함하도록 구현될 수 있다. 아울러, 이 때의 인코딩부(122)는 특징 추출부(1211,1212), 가중치 적용부(1213) 및 인코딩 벡터 생성부(1214)를 포함하도록 구현될 수 있으며, 다만 이에 한정되는 것은 아니다.
도 7을 좀더 구체적으로 살펴보자. 사운드 정제부(121)는 사운드에 포함되어 있는 소음을 정제하도록 동작한다. 이러한 사운드 정제부(121)는 speech enhancement를 수행하는 모델에 의해 구현 가능하다. speech enhancement란, 사운드에 포함되어 있는 음성 신호를 명료하게 하는 기술을 지칭한다.
이러한 speech enhancement에서는 다양한 기술이 이용될 수 있다. 예컨대 speech enhancement에서는 스펙트럼 차감(spectrum subtraction), 와이너 필터링(Wiener Filtering) 및 적응 필터링(Adaptive Filtering) 중 적어도 하나가 수행될 수 있으며, 다만 이에 한정되는 것은 아니다.
이 중, 스펙트럼 차감은 전술한 사운드에서 백그라운드 노이즈를 제거하는 기술 중 하나를 지칭한다. 구체적으로, 스펙트럼 차감이 적용되면, 음성 신호의 주파수 스펙트럼과 백그라운드 노이즈의 스펙트럼이 분석된 뒤, 노이즈가 존재하는 주파수 대역에서의 신호 성분이 감소된다. 이를 통해 백그라운드 노이즈가 저감될 수 있으며, 따라서 음성 신호가 명료해질 수 있다.
다음으로, 와이너 필터링 역시 전술한 사운드에서 노이즈를 제거하는 기술 중 하나를 지칭한다. 구체적으로, 이 기술에서는 노이즈와 음성 신호의 통계적 특성이 분석된 뒤, 노이즈가 존재하는 부분이 제거된다. 따라서 음성 신호가 명료해질 수 있다. 이러한 와이너 필터링은 시간 도메인이나 주파수 도메인에서 적용될 수 있다. 아울러, 와이너 필터링은 다른 필터링 기술과 함께 사용될 때 더욱 효과적이다.
마지막으로, 적응 필터링은 음성 신호에서 노이즈를 제거하고 신호의 품질을 향상시키기 위해 사용되는 기술 중 하나이다. 구체적으로, 이 기술에서는 필터링의 가중치를 실시간으로 조정함으로써 노이즈와 음성 신호가 분리되며, 그 결과 노이즈가 용이하게 제거될 수 있다.
인코딩부(122)에는 음성과 소음을 포함하는 사운드가 제공될 뿐만 아니라, 상기 사운드로부터 소음에 대한 정제 과정이 수행된 결과물이 제공된다. 즉, 일 실시예에 따른 인코딩부(122)에는 인식 대상인 사운드 그 자체 뿐만 아니라 소음이 정제된 사운드가 제공된다.
그러면, 이러한 인코딩부(122)에 포함된 특징 추출부(1211,1212) 각각에서는 특징이 추출된다. 보다 구체적으로 살펴보면, 소음 정제 과정이 수행되지 않은 사운드로부터 특징 추출부(1211)에 의해 특징이 추출될 수 있다. 또한, 소음 정제 과정이 수행된 사운드로부터 특징 추출부(1212)에 의해 특징이 추출될 수 있다. 물론, 도 7에 도시된 것과는 달리, 인코딩부(122)에는 특징 추출부가 1개 포함되어 있을 수도 있는데, 이 경우에는 1개의 특징 추출부에 의해 전술한 소음 정제 과정이 수행되지 않은 사운드 및 소음 정제 과정이 수행된 사운드 각각으로부터 특징이 추출될 수 있다.
이렇게 추출된 2개의 특징은 서로 상이할 수 있다. 왜냐하면, 1개의 특징은 소음 정제 과정이 수행된 사운드로부터 추출된 것인 반면, 다른 1개의 특징은 소음 정제 과정이 수행되지 않은 사운드로부터 추출된 것이기 때문이다. 이러한 2개의 특징을 주파수 측면에서 비교해보면, 동일한 부분과 동일하지 않은 부분이 있을 수 있다. 동일한 부분은 소음에 영향을 받지 않거나 상대적으로 덜 받은 부분이고, 동일하지 않은 부분은 소음에 영향을 받은 상대적으로 많이 받은 부분이다. 추후, 이렇게 동일한 부분과 동일하지 않은 부분은 feature sharing이라는 학습 과정에 활용될 수 있다.
여기서, 특징 추출부(1211,1212)에 대해 좀더 자세하게 살펴보기로 하자. 특징 추출부(1211,1212)는 전술한 바와 같이 사운드를 입력받는다. 그러면 특징 추출부(1211,1212)에서는 이렇게 입력받은 사운드가 스펙트로그램(spectrogram)으로 변환된다. 즉, 특징 추출부(1211,1212)에서는 사운드가 주파수 영역으로 변환된다. 변환에는 Short-Time Fourier Transform(STFT)와 같은 기술이 사용될 수 있으며, 다만 이에 한정되는 것은 아니다. 이후, 이렇게 변환된 스펙트로그램으로부터 특징이 추출된다. 특징의 추출에서는 합성곱 신경망(Convolutional Neural Network, CNN)에서 이용되는 feature extraction 기술이 이용될 수 있으며, 다만 이에 한정되는 것은 아니다.
한편, 전술한 2개의 특징은 가중치 적용부(1213)에 제공된다. 그러면, 가중치 적용부(1213)에서는 이러한 2개의 특징에 대한 가중 평균이 연산된다. 구체적으로, 가중치 적용부(1213)에서는 2개의 특징 중 유사한 부분은 상대적으로 강조되도록 그리고 유사하지 않은 부분은 상대적으로 강조되지 않도록 가중치가 결정될 수 있다. 즉, 가중치는 유사한 부분에는 더욱 높은 값으로 결정되고 유사하지 않은 부분에는 더욱 낮은 값으로 결정될 수 있다. 이를 통해, 2개의 특징 중 중요한 부분은 부각될 수 있으며, 중요하지 않은 부분은 제거되거나 희미해질 수 있다.
이러한 가중치 적용부(1213)에 의해, 큰 소음이 존재하더라도 음성과 소음이 확연하게 분리될 수 있다. 즉, 이에 의해, 일 실시예에서의 STT 모델은 높은 음성 인식률을 가질 수 있다. 여기서 이러한 가중치 적용부(1213)가 가중치를 결정하고 적용하는 것은 attention fusion 기법에 의한 것일 수 있으며, 다만 이에 한정되는 것은 아니다.
가중치 적용부(1213)에서 연산된 가중 평균된 값은 인코딩 벡터 생성부(1214)에게 제공된다. 인코딩 벡터 생성부(1214)는 전술한 사운드, 즉 음성과 소음을 포함하는 사운드에서 소음이 제거되어 있는 잔여 부분에 대한 특징을 인코딩 벡터로서 생성해서 출력하도록 구현된다. 즉, 인코딩 벡터 생성부(1213)의 입력은 가중 평균된 값이고, 인코딩 벡터 생성부(1214)의 출력은 사운드에서 소음이 제거된 음성의 특징을 인코딩한 벡터, 즉 인코딩 벡터이다.
인코딩부(122)는 인코딩 벡터 생성부(1213)에서 생성하여 출력한 인코딩 벡터를 디코딩부(123)에게 제공한다. 그러면, 디코딩부(123)는 소정의 알고리즘을 이용해서, 인코딩 벡터로부터 스크립트와 같은 텍스트를 디코딩 과정을 통해 생성해서 출력한다. 여기서, 인코딩 벡터로부터 스크립트와 같은 텍스트를 디코딩 과정을 통해 생성해서 출력하는 과정 그 자체는 공지기술이므로, 이에 대한 자세한 설명은 생략하기로 한다.
즉, 일 실시예에 따르면, 음성과 소음을 포함하는 사운드 뿐 아니라 이러한 사운드가 정제된 결과물로부터 특징이 추출되고, 이렇게 추출된 각각의 특징에 대한 가중 평균 결과가 도출되며, 이렇게 도출된 가중 평균 결과로부터 인코딩 벡터가 생성된 뒤에, 생성된 인코딩 벡터가 디코딩되어서 텍스트가 도출된다.
따라서, 소음이 상대적으로 큰 환경에서도 비교적 정확하게 음성이 인식될 수 있다. 즉, 높은 인식률을 갖는 치과용 STT 모델의 구현이 가능해진다.
이하에서는 이러한 STT 모델의 학습 과정에 대해 살펴보기로 하자.
도 8과 도 9 각각에는 일 실시예에 따란 STT 모델에 대한 학습 과정이 예시적으로 도시되어 있다. 다만, 도 8과 도 9는 예시적인 것에 불과한 바, STT 모델의 학습 과정이 도 8과 9에 도시된 것으로만 한정 해석되는 것은 아니다.
우선, STT 모델은 지도 학습(supervised learning), 자기 지도 학습(self-supervised learning) 또는 비지도 학습(unsupervised learning) 방식 중 어느 하나의 방식으로 학습된 것이거나 또는 이러한 학습 방식들의 결합에 의해 학습된 것일 수 있다. 이러한 STT 모델의 학습에서는 사전 학습(pre-training) 과정과 미세 조정(fine-tuning) 과정이 수행된다.
먼저, 사전 학습 과정에서는 학습용 데이터로서 범용 음성이 이용된다. 즉, 사전 학습 과정에 이용되는 학습용 데이터는 치과에서 획득된 음성만으로 한정되는 것은 아니며, 일상에서 획득 가능한 모든 종류의 음성이 이용될 수 있다.
도 8을 참조하여 이러한 사전 학습 과정에 대해 보다 구체적으로 살펴보도록 한다. 우선, 소음이 없는 범용 음성이 획득된다. 이는 도 8에 clean waveform이라고 도시되어 있다. 이러한 범용 음성은 일상에서 손쉽게, 복수 개 획득이 가능하다.
그리고 이러한 clean waveform에 소음이 인위적으로 가해질 수 있고, 그 결과 noisy waveform이 획득된다. 소음의 형태는 다양할 수 있으며, 어느 하나로 한정되는 것은 아니다. 따라서, 하나의 범용 음성으로부터 무수히 많은 개수의 noisy waveform이 획득될 수 있다.
이렇게 사전 학습에 필요한 학습용 데이터셋이 마련된다. 학습용 데이터셋 중 학습용 입력 데이터는 noisy waveform이고, 학습용 정답 데이터는 clean waveform이다.
다음으로, 학습용 입력 데이터가 앞서 설명된 바 있는 사운드 정제부(121)에 제공된다. 그러면, noisy waveform을 대상으로 소음에 대한 정제 과정이 수행된다.
다음으로, 소음 정제 과정이 수행된 사운드 및 소음 정제 과정이 수행되지 않은 사운드 각각이 도 8에 도시되어 있는 인코딩부(122) 내의 특징 추출부(1211,1212) 각각에 제공된다. 특징 추출부(1211,1212)에서는 전술한 바와 같이 스펙트로그램으로의 변환 과정을 통해 특징이 추출된다.
다음으로, 각각의 특징 추출부(1211,1212)로부터 추출된 특징은 가중치 적용부(1213)에 제공된다. 그 결과 전술한 가중 평균 결과가 도출된다.
다음으로, 가중 평균 결과는 인코딩 벡터 생성부(1214)에 제공된다. 그러면, 전술한 바와 같이 인코딩 벡터가 생성된다.
한편, 학습용 정답 데이터로서의 clean waveform 역시 특징 추출부(1213)에 제공된다. 추출된 특징은 Vector quantization unit(1215)에 제공되고, 그로부터 벡터가 생성된다. 여기서 특징 추출부(1213)는 특징 추출부(1211,1212)와 동일한 기능을 수행하는 것일 수 있다. 그리고 Vector quantization unit(1215)은 특징 추출부(1213)에서 추출된 특징을 벡터로 변환하는 unit일 수 있다.
그러면, 인코딩 벡터 생성부(1214)에서 생성된 인코딩 벡터와 Vector quantization unit(1215)에서 생성된 벡터 간의 차이가 최소화가 되도록, 사운드 정제부(121), 특징 추출부(1211,1212), 가중치 적용부(1213) 및 인코딩 벡터 생성부(1214) 중 적어도 하나가 학습될 수 있다. 학습에는 역전파 방식이 이용될 수 있으며, 다만 이에 한정되는 것은 아니다. 이 때, 전술한 차이는 contrastive loss, 즉 대조 손실일 수 있다. 즉, 학습 과정에서는 이러한 대조 손실이 최소가 되도록 학습될 수 있다.
여기서, 이러한 학습에서 자기 지도 방식으로 채용되는 경우에 대해 살펴보면, 범용 음성에 소음을 가해서 무수히 많은 학습용 데이터셋이 만들어지는데, 이러한 학습용 데이터셋이 학습에 이용될 수 있다. 여기서, 소음은 일종의 마스킹(masking) 역할을 한다. 즉, 사전 학습에서는, 소음과 같은 masking에도 불구하고 음성에 대한 벡터를 정확히 추출하도록 학습이 수행된다.
다음으로, 미세 조정 과정에 대해 도 9를 참조하여 살펴보자. 사전 학습 과정에서 범용 음성에 의해 인코딩부(122) 및 사운드 정제부(121) 중 적어도 하나가 학습되고나면, 이후에는 치과 전용 STT 모델을 타겟으로 하여, 치과 전용 사운드가 미세 조정을 위해 이용된다. 이미 범용 음성으로 사전 학습이 수행되었으므로, 원하는 인식률을 달성하기 위해 필요한 치과용 사운드의 개수, 즉 학습용 데이터의 개수는 많을 필요가 없다.
미세 조정을 위한 학습용 데이터로서, 학습용 입력 데이터는 치과에서 발생된 사운드를 포함한다. 이러한 사운드는 치과 치료 중에 발생된 것일 수 있으며, 구체적으로는 치과 치료 중에 발생된 음성과 소음을 포함할 수 있다. 그리고, 학습용 정답 데이터는 이러한 음성에 대한 스크립트와 같은 텍스트일 수 있다.
도 9에 도시된 바와 같이, 학습용 입력 데이터로서 전술한 사운드가 제공된다. 그리고 학습용 정답 데이터로서 전술한 스크립트가 제공된다. 구체적으로, 전술한 사운드는 사운드 정제부(121)를 거쳐서 특징 추출부(1212)에게 제공되고, 사운드 정제부(121)를 거치지 않은 사운드가 특징 추출부(1211)에게 제공된다. 이후 도 9에 도시되어 있는 인코딩부(122)의 각 구성을 거쳐서 인코딩 벡터가 생성된다. 이렇게 생성된 인코딩 벡터는 디코딩부(123)에 제공된다. 디코딩부(123)에서는 디코딩 과정을 통해 스크립트가 생성된다. 그러면, 이렇게 생성된 스크립트는 학습용 정답 데이터인 스크립트와 비교된다. 비교 결과, 그 차이가 최소가 되도록 사운드 정제부(121), 인코딩부(122)의 각 구성 및 디코딩부(123) 중 적어도 하나가 학습된다. 이 때의 차이는 CTC(Connectionist Temporal Classification) 손실이라고 지칭될 수 있다.
즉, 일 실시예에 따르면, 음성과 소음을 포함하는 사운드 뿐 아니라 이러한 사운드가 정제된 결과물로부터 특징이 추출되고, 이렇게 추출된 각각의 특징에 대한 가중 평균 결과가 도출되며, 이렇게 도출된 가중 평균 결과로부터 인코딩 벡터가 생성된 뒤에, 생성된 인코딩 벡터가 디코딩되어서 텍스트가 도출된다.
따라서, 소음이 상대적으로 큰 환경에서도 비교적 정확하게 음성이 인식될 수 있다. 즉, 높은 인식률을 갖는 치과용 STT 모델의 구현이 가능해진다.
한편, 도 6 내지 9에는 도시되어 있지 않지만, 도 5에 도시되어 있는 단어 보정 모델(124)이 일 실시예에서는 이용될 수 있다. 이러한 단어 보정 모델은, 입력된 단어가 사전(dictionary)에 없는 단어인 경우, 이러한 단어를 사전(dictionary)에 등재되어 있는 단어 중 어느 하나로 추천하도록 학습된 모델이다. 예컨대, 사전에 없는 단어를 포함해서 연속해서 n개(여기서, n은 자연수)의 단어가 단어 보정 모델에 입력될 수 있다. 그러면, 이러한 단어 보정 모델은 사전에 없는 단어를 사전에 있는 단어 중 어느 하나로 추천해서 출력한다. 그러면, 스크립트에 포함된 사전에 없는 단어는 사전에 있는 단어로 대체될 수 있다.
여기서, 이러한 단어 보정 모델은 지도 학습 방식으로 학습된 것일 수 있다. 학습을 위해, 학습용 입력 데이터는 사전에 없는 단어를 포함하는 n개의 단어의 세트를 복수 개 포함할 수 있다. 그리고, 학습용 정답 데이터는 사전에 없는 단어가 대체된, 사전에 있는 단어를 복수 개 포함할 수 있다.
여기서, 사전에 없는 단어는 임의로 생성될 수 있다. 예컨대 단어를 구성하는 음절 중 하나를 누락시키는 방법, 자음을 바꾸는 방법, 모음을 바꾸는 방법 등 다양한 방법에 의해 사전에 없는 단어는 생성될 수 있다.물론, 이렇게 생성된 뒤 사전에 실제로 존재하는지 여부가 조사되어야 함은 물론이다.
아울러, 전술한 숫자 'n'은 다양한 수일 수 있으며, 예컨대 3일 수 있으나 다만 이에 한정되는 것은 아니다.
한편, 전술한 치과용 차트 통합 관리 서버(100)는 서버에서 구현되는 것을 전제로, 사용자 단말(200)에서 인식된 음성이 이러한 치과용 차트 통합 관리 서버(100)에 제공되는 것으로 전제로 설명되었으나, 본 발명의 사상이 이에 한정되는 것은 아니다. 예컨대, 전술한 치과용 차트 통합 관리 서버(100)는 사용자 단말(200)에서 구현될 수도 있다. 이 경우, 치과 전용 STT 모델은 사용자 단말(200)에 포함된 메모리에 구현될 수 있으며, 이러한 사용자 단말(200)에 포함된 프로세서의 실행에 의해 구동됨으로써, 전술한 것과 동일한 성능의 STT 모델이 구현될 수도 있다.
다시 도 5를 참조해서, 차트 생성부(125)에 대해 살펴보자. 차트 생성부(125)는 차트를 생성하도록 구현된다. 이러한 차트는 치과를 위한 것일 수 있으며, 다만 이에 한정되는 것은 아니다. 예컨대, 치과 이외의 병원, 예컨대 산부인과, 피부과, 성형외과 또는 안과 등을 위한 차트 역시 이러한 차트 생성부(125)에 의해 생성될 수 있다.
전술한 차트 생성부(125)에서 생성 가능한 차트의 종류는 다양하다. 예컨대, 앞서 살펴본 치주 차트, 임플란트 차트 또는 기공 차트 등이 생성될 수 있다.
이 중 치주 차트는 환자의 치주 건강 상태를 나타내는 차트를 의미한다. 이러한 치주 차트에는 잇몸에서의 출혈 여부나 치주의 탈락 정도 또는 이(teeth) 사이 간격 등과 같은 다양한 정보가 기록될 수 있다. 또한, 임플란트 차트에는 각 환자에 대해 어떤 타입의 임플란트가 시술될 것인지에 대한 계획 등이 기록될 수 있다. 또한, 기공 차트에는 각 환자에게 시술될 것으로 결정된 임플란트 타입에 따라 어떤 임플란트 제품이 이용될 것인지에 대한 정보 등이 기록될 수 있다.
도 5에 도시되어 있는 STT 모델에서 스크립트와 같은 텍스트가 획득되면, 이러한 텍스트를 기반으로 도 5에 도시되어 있는 차트 생성부(125)에 의해 전술한 차트가 생성되거나 수정될 수 있다. 이를 위해, 차트 생성부(125)에는 텍스트로부터 차트의 생성이나 수정과 관련된 명령어를 발췌해서 이를 기반으로 차트 생성이나 수정 기능이 동작되도록 하는 모듈이 구현되어 있을 수 있다. 이러한 모듈을 이용하면, 텍스트에 포함되어 있는 차트의 생성 또는 수정에 필요한 음성 명령 등이 발췌 내지 인식될 수 있다.
치주 차트의 생성에 대해 살펴보면, 환자의 치주 상태의 측정 중에 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제1 스크립트가 획득된다. 그러면, 이러한 제1 스크립트가 차트 생성부(125)에 의해 치주 차트의 생성에 반영된다.
다음으로, 임플란트 차트의 생성에 대해 살펴보면, 환자의 임플란트 타입에 대해 논의하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제2 스크립트가 획득된다. 그러면, 상기 제1 스크립트 및 상기 제2 스크립트 중 적어도 일부가 차트 생성부(125)에 의해 치주 차트의 생성에 반영된다.
다음으로, 기공 차트의 생성에 대해 살펴보면, 상기 기획된 임플란트 타입에 이용될 임플란트 제품, 예컨대 보철물(prosthesis)을 논의하고 결정하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제3 스크립트가 획득된다. 그러면, 상기 제1 스크립트, 상기 제2 스크립트 및 상기 제3 스크립트 중 적어도 일부가 차트 생성부(125)에 의해 기공 차트에 반영된다.
한편, 임플란트 차트에는 환자에게 시술될 임플란트 타입이 결정되어서 반영된다. 이 때, 일 실시예에서는 이러한 임플란트 타입의 결정에 활용될 수 있는 정보가 일종의 리포트(report)의 형태로 제공된다. 이에 대해 도 5에 도시되어 있는 실패율 추론 모델(126) 및 임플란트 타입 추천 모델(127)에 대해 살펴보기로 하자.
실패율 추론 모델(126)은 복수 개의 서로 상이한 임플란트 타입 각각에 대해 임플란트가 시술되었을 때의 실패율을 추론하도록 학습된 모델이다. 이러한 모델(126)의 입력으로는 환자에 관한 정보가 제공된다. 구체적으로, 이러한 모델(126)에는 환자의 치주 차트에서 추출된 특징이나 환자의 과거 치아 치료 이력 뿐 아니라 환자에 대한 신상 정보, 예컨대 나이, 성별 또는 혈액형 등과 같은 정보가 입력으로서 제공될 수 있다.
전술한 정보가 입력으로서 제공되면, 실패율 추론 모델(126)에서는 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율이 추론된다. 예컨대, 임플란트에는 총 50가지의 타입이 있다고 했을 때, 실패율 추론 모델(126)에서는 특정 환자에 대해 치주 차트에서 추출된 특징이 입력되면 이러한 50가지의 타입 각각에 대한 실패율이 추론될 수 있다. 이러한 실패율은 치과 의료진 등이 환자에게 가장 적합한 임플란트 타입을 결정하는데 참고로 할 수 있다. 또는 이러한 실패율이 높게 나왔음에도 불구하고 환자에게 이렇게 실패율이 높게 나온 임플란트 타입을 시술해야할 경우, 이를 충분히 환자에게 고지하고 주의를 줌으로써, 향후 발생할 수 있는 의료 분쟁 내지 사고 등에서 치과 의료진이 방어책을 가지게 할 수도 있다. 도 13에는 이에 대한 도면이 예시적으로 도시되어 있다. 도 13을 참조하면, 각 행은 어느 한 환자에 대해 시술 가능한 다양한 종류의 임플란트 타입을 나타낸다. 각 행에서 failure rate는 해당 임플란트 타입이 해당 환자에게 시술되었을 때의 실패율을 나타낸다.
이러한 실패율 추론 모델(126)은 지도 학습 방식으로 학습될 수 있다. 아울러, 학습용 데이터로서 입력은 여러 환자 각각의 치주 차트에서 추출된 특징을 포함할 수 있다. 그리고 학습용 데이터로서 정답은 각 환자에게 시술된 임플란트 타입에 대한 성공여부 또는 실패여부에 대한 정보를 포함할 수 있다.
한편, 전술한 실패율 추론 모델(126)은 각 임플란트 타입에 대한 실패율을 추론할 뿐만 아니라, 각 임플란트 타입에서 실패를 유발한 원인이 두 개 이상 있을 때, 이들 두 개 이상의 원인 각각이 실패에 기여한 비율을 제공할 수도 있다. 예컨대, 도 13을 참조하면, 2번째 행에서의 detail을 클릭했을 때, 실패를 유발한 원인 3가지에 대해 이들이 기여한 비율이 도시되어 있다. 이들 3가지 및 이들 각각이 실패에 기여한 비율은 다음과 같으며, 다만 이는 예시적인 것에 불과하다.
- bone necrosis (45%)
- medical compromise (35%)
- bone loss due to improper combination of implant prosthesis and implant (19%)
이를 위해, 전술한 실패율 추론 모델(126)의 학습 과정에서는 학습용 데이터로서의 정답에는 해당 임플란트 타입에 대한 실패여부 뿐 아니라, 실패의 원인이 되는 정보가 기 설정된 수 개에 대해, 예컨대 100개에 대해 포함될 수도 있다.
다시 도 5를 참조하면, 일 실시예에서는 임플란트 타입 추천 모델(127)이 구현된다. 이러한 모델(127)은 각 환자에게 가장 적합한 임플란트 타입을 추천하도록 학습된 것이다. 이러한 모델(127)에 대한 동작 내지 학습 방식은 실패율 추론 모델(126)과 원리가 유사하다. 즉, 우선은 지도 학습 방식으로 학습된다. 또한, 학습용 데이터로서 입력은 여러 환자 각각의 치주 차트에서 추출된 특징을 포함할 수 있다. 그리고 학습용 데이터로서 정답은 각 환자에게 시술된 임플란트 타입에 대한 정보를 포함할 수 있다. 이렇게 학습이 완료된 모델(127)에 특정 환자의 치주 차트에서 추출된 특징이 입력으로서 제공되면, 이러한 모델(127)에서는 기 설정된 복수 개의 임플란트 타입 중 해당 환자에게 가장 적합한 임플란트 타입에 추천되어서 제공된다.
다만, 이러한 모델(127)에서 추천된 임플란트 타입은 성공률과는 전면적으로 관련성을 갖는 것은 아니다. 왜냐하면, 이러한 모델(127)의 학습에는 실제로 각 환자에게 시술된 임플란트 타입의 빈도가 데이터로서 이용된 것이지, 성공하였는지 또는 실패하였는지 여부가 학습의 데이터로서 이용된 것은 아니기 때문이다. 실시예에 따라, 이러한 모델(127)의 학습에 이용되는 데이터는 모델(126)에서 실패율이 가장 낮은 것으로 도출된 임플란트 타입 또는 치과 의료진의 논의를 거쳐서 실제로 환자에게 시술된 임플란트 타입에 대한 정보를 포함할 수 있다.
따라서, 일 실시예에서는 환자의 치주 차트로서부터 특징이 추출되고 이러한 특징에 기초해서 해당 환자에 대한 임플란트 타입이 임플란트 타입 추천 모델(127)에 의해 추천되었을 때, 이러한 모델(127)에서 추천된 임플란트 타입에 대한 위험성 내지 실패율이 검증될 수 있다. 예컨대, 이러한 모델(127)에서 추천된 임플란트 타입에 대한 실패율을, 전술한 실패율 추론 모델(126)에서 추론된 실패율로부터 확인하는 과정이 일 실시예에서는 수행될 수 있다. 만약, 실패율 추론 모델(126)에서 추론된 해당 임플란트 타입에 대한 실패율이 기 설정된 임계치를 초과한다면, 해당 환자에게 해당 임플란트 타입을 시술하는 것에 대한 경고가 발생될 수 있다.
다시 도 5를 참조하면, 임플란트 제품 주문부(128)가 구현된다. 이러한 임플란트 제품 주문부(128)는 각 치과에서 필요한 임플란트 제품을 임플란트 타입에 따라 주문하도록 구현된 구성을 지칭한다. 이러한 임플란트 제품 주문부(128)에 의해 주문이 수행되면, 각 치과에는 필요로 하는 임플란트 제품이 마련될 수 있다.
구체적으로 살펴보자. 전술한 기공 차트가 생성되면, 임플란트 기획에 따라 어떠한 임플란트 제품, 예컨대 보철물이 이용될지가 결정된다. 이 과정에서 해당 보철물의 재고가 소진될 수 있다. 이에, 임플란트 제품 주문부(128)는 기공 차트에 기재되는 임플란트 제품의 종류 및 수량에 기초해서, 임플란트 제품의 재고 수량을 파악하고, 경우에 따라 필요한 임플란트 제품이 주문되도록 동작할 수 있다. 예컨대, 이러한 임플란트 제품 주문부(128)에는 각 임플란트 제품 별 재고량이 실시간으로 업데이트될 수 있다. 이러한 재고량은 치과에서 운영하는 단말, 예컨대 사용자 단말(200)로부터 입력된 것일 수 있으며, 다만 이에 한정되는 것은 아니다. 아울러, 임플란트 제품 주문부(128)에서는 기공 차트에 기재되는 임플란트 제품의 종류와 수량에 대한 정보를 획득한다. 그리고 이렇게 획득된 정보에 기초해서, 소정 기간 이후의 해당 치과에서의 임플란트 제품 각각에 대한 예상 재고량을 파악한다. 만약, 예상 재고량이 소정의 기준치 미만이라면, 임플란트 제품 주문부(128)는 그러한 임플란트 제품에 대한 주문이 수행되도록 동작할 수 있다. 예컨대, 그러한 임플란트 제품에 대한 주문이 필요하다는 메시지가 사용자 단말(200)에 표시되도록 동작할 수 있으며, 또는 기 설정된 알고리즘 내지 루틴에 따라 해당 임플란트 제품이 임플란트 솔루션 업체 서버(400)를 통해 임플란트 솔루션 업체에게 주문이 되도록 동작할 수도 있다. 이렇게 주문된 현황 등은 도 17에 예시적으로 도시되어 있다.
여기서 전술한 임플란트 제품 별 예상 재고량은 순환 신경망(recurrent neural network, RNN)과 같은 딥 뉴럴 네트워크를 이용해서 추측될 수도 있음은 물론이다.
한편, 전술한 임플란트 타입 별 실패율은, 치과 별로 또는 각 치과의 의사 별로 생성될 수도 있다. 또한, 각 치과에서 어떠한 임플란트 타입이 환자에게 시술되고 있거나 또는 어떠한 임플란트 제품이 소요되고 있는지에 대한 정보 내지 통계 역시 치과 별로 또는 각 치과의 의사 별로 생성될 수 있다. 이렇게 생성된 정보 내지 통계는 도 14 및 도 15에 예시적으로 도시되어 있으며, 이러한 정보 내지 통계는 사용자 단말(200)을 통해 치과에게 제공되거나 또는 임플란트 솔루션 업체에게 제공될 수도 있다.
이상에서 살펴본 바와 같이, 일 실시예에 따르면, 치과에서 생성되는 다양한 종류의 차트가 고도화된 STT 모델에 의해 용이하게 생성 내지 관리될 수 있을 뿐 아니라, 이들 차트에 기재될 내용을 결정하는데에 필요한 정보, 예컨대 환자에게 적용될 임플란트 타입의 결정에 이용될 정보가 제공될 수 있다. 또한, 치과 의료진이나 임플란트 솔루션 업체에서 유용하게 활용될 수 있는 다양한 종류의 정보가 리포트의 형식으로서 제공될 수도 있다.
한편, 일 실시예에 따르면, 전술한 각 차트, 예컨대 치주 차트, 임플란트 차트 및 기공 차트 각각은 도 18에 도시된 바와 같이 인터페이스용 차트 및 보고용 차트를 포함하도록 구성될 수 있다.
구체적으로 살펴보면, 치주 차트, 임플란트 차트 및 기공 차트 각각에는 좌측의 보고용 차트 그리고 우측의 인터페이스용 차트를 포함하도록 마련된다. 물론, 보고용 차트와 인터페이스용 차트의 배치 위치가 이에만 한정되는 것은 아니다.
보고용 차트는 도 18에 도시된 바와 같이 일반적인 전자 차트와 동일 또는 유사한 형태를 갖는다. 그런데, 음성을 이용해서 차트를 작성하고자 하는 의료진 입장에서는, 보고용 차트만을 보면서 음성 명령을 하거나 그에 필요한 내용이 기재되도록 하는 것은 쉽지 않을 수 있다. 왜냐하면, 보고용 차트는 차트를 확인하는 입장에서 일목 요연하게 구성된 것이지, 음성을 이용한 입력을 하는 입장에서 용이하도록 고안된 것은 아니기 때문이다.
이에, 일 실시예에서는 음성 명령을 통해 각 항목을 선택하거나 또는 이렇게 선택된 각 항목에 대한 내용 입력이 용이하도록 고안된, 별도의 인터페이스용 차트가 마련된다. 도 18을 참조하면, 이러한 인터페이스용 차트에는 우선 치아를 표시하기 위한 section, 그리고 선택된 치아에 대한 내용이 기재될 항목 입력용 section이 마련되어 있다. 아울러, 이러한 항목 입력용 section에는, 복수 개의 항목이 소정의 순서에 따라 열거되어 있다. 이 때의 순서는 차트를 음성 명령을 이용해서 작성해야 하는 자, 즉 의료진 입장에서 용이하게 선택하고 입력받도록 고안된 것일 수 있다. 즉, 이러한 인터페이스용 차트는 일종의 차트 작성용 템플릿의 역할을 수행할 수 있다.
이 때, 전술한 메모리(120)에는 이들 항목 각각을 선택하기 위한 선택용 지시어가 저장되어 있다.
만약, 의료진이 특정 항목을 선택하기 위해, 특정 선택용 지시어를 발화하면, 이렇게 발화된 음성에서 인식된 스크립트로부터, 해당 선택용 지시어가 포함되어 있으면, 이러한 선택용 지시어에 대응되는 항목이 선택된다. 그리고 그 다음의 음성에 따라, 이렇게 선택된 항목에 대한 내용이 기재된다. 즉, 템플릿처럼 작용하게 되는 이러한 인터페이스용 차트를 이용하게 되면, 차트의 작성이 원활하면서 보다 신속하게 수행될 수 있다.
이 때, 전술한 항목에는 예컨대, diagnosis, Tx. Plan, Bone Density 등이 포함될 수 있으며, 다만 이에 한정되는 것은 아니다.
한편, 의료진을 포함하는 사용자에 의해 각 항목을 선택하기 위한 선택용 지시어가 발화 및 인식될 때마다, 일 실시예에서는 이러한 선택용 지시어가 누적 저장된다. 이러한 선택용 지시어는 차트를 작성하는데 있어서 중요한 명령어이다. 따라서, 이에 대한 인식률이 높아야 하는 바, 일 실시예에서는 실제로 발화 및 인식된 선택용 지시어를 별도로 누적 저장하였다가, 전술한 STT 모델의 학습, 좀더 구체적으로는 STT 모델의 미세 조정에 이용되도록 할 수 있다. 즉, 누적 저장된 선택용 지시어는, 이러한 STT 모델의 미세 조정을 재학습하거나 갱신하는데 이용될 수 있다. 이로써, STT 모델에서의 각 항목을 선택하기 위한 명령어의 인식률이 개선될 수 있게 된다.지금까지는 일 실시예에 따른 치과용 차트 통합 관리 서버(100)에 대해 살펴보았다. 이하에서는, 이러한 치과용 차트 통합 관리 서버(100)에 의해 수행되는 치과용 차트 통합 관리 방법에 대해 살펴보기로 한다.
먼저, 도 19에는 일 실시예에 따른 치과용 차트 통합 관리 방법에 대한 순서도가 예시적으로 도시되어 있다. 여기서, 이러한 순서도는 예시적인 것에 불과한 바, 본 발명의 사상이 이에 한정되는 것은 아니다. 예컨대 실시예에 따라 도 19에 도시된 것과는 상이한 순서로 각 단계가 수행될 수 있으며, 또는 도 19에 도시되지 않은 적어도 하나의 단계가 추가적으로 수행되거나 또는 도 19에 도시된 단계 중 적어도 하나가 수행되지 않을 수도 있다.
도 19를 참조하면, 환자의 치주 상태의 측정 중에 발생된 소음 및 음성을 포함하는 사운드가 STT 모델에 제공되어서 음성에 대한 제1 스크립트가 획득되면, 상기 제1 스크립트가 치주 차트(periodontal chart)에 반영되는 단계(S100)가 수행된다. 여기서의 STT 모델은 앞서 설명된 바 있으므로, 이에 대한 추가 설명은 생략하기로 한다.
또한, 상기 치주 차트로부터 추출된 특징이 기 학습된 임플란트의 타입 별 실패율 추론 모델에 제공되어서 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율이 추론되는 단계(S110)가 수행된다.
또한, 상기 추론된 실패율을 기초로 결정된 상기 환자의 임플란트 타입에 대해 논의하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제2 스크립트가 획득되면, 상기 제1 스크립트 및 상기 제2 스크립트 중 적어도 일부가 임플란트 차트에 반영되는 단계(S120)가 수행된다.
또한, 상기 기획된 임플란트 타입에 이용될 보철물(prosthesis)을 포함하는 임플란트 제품을 논의하고 결정하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제3 스크립트가 획득되면, 상기 제1 스크립트, 상기 제2 스크립트 및 상기 제3 스크립트 중 적어도 일부가 기공 차트에 반영되는 단계(S130)가 수행된다.
한편, 이러한 방법은 전술한 치과용 차트 통합 관리 서버(100)에 의해 수행되는 것인 바, 중복되는 설명은 생략하기로 한다.
한편, 전술한 다양한 실시예들에 따른 방법은 이러한 방법의 각 단계를 수행하도록 프로그램된 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램의 형태로 구현 가능하고, 또한 이러한 방법의 각 단계를 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체의 형태로 구현될 수도 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 품질에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 : 치과용 차트 통합 관리 서버

Claims (20)

  1. 적어도 하나의 명령어를 저장하는 메모리; 및
    프로세서를 포함하며,
    상기 메모리에는 소음 및 음성을 포함하는 사운드가 획득되면 상기 획득된 사운드를 대상으로 상기 소음에 대한 정제 과정을 수행한 뒤, 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각을 대상으로 특징을 추출하고 가공함으로써 상기 음성에 대한 스크립트를 획득하는 STT(Speech To Text) 모델이 저장되어 있으며,
    상기 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써,
    환자의 치주 상태의 측정 중에 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제1 스크립트가 획득되면, 상기 제1 스크립트가 치주 차트(periodontal chart)에 반영되며,
    상기 치주 차트로부터 추출된 특징이 기 학습된 임플란트의 타입 별 실패율 추론 모델에 제공되어서 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율이 추론되고,
    상기 추론된 실패율을 기초로 결정된 상기 환자의 임플란트 타입에 대해 논의하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제2 스크립트가 획득되면, 상기 제1 스크립트 및 상기 제2 스크립트 중 적어도 일부가 임플란트 차트에 반영되며,
    상기 결정된 임플란트 타입에 이용될 보철물(prosthesis)을 포함하는 임플란트 제품을 논의하고 결정하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제3 스크립트가 획득되면, 상기 제1 스크립트, 상기 제2 스크립트 및 상기 제3 스크립트 중 적어도 일부가 기공 차트에 반영되되,
    상기 STT 모델의 학습에 포함된 미세 조정(fine-tunining)에서는,
    치과 진료 중에 발생된 소음 및 음성을 포함하는 복수 개의 사운드 및 상기 복수 개의 사운드 각각에 대한 스크립트가 학습용 데이터로서 이용되고,
    상기 환자에 대해 임플란트 타입이 결정될 때마다 해당 환자의 치주 차트로부터 추출된 특징을 학습용 입력 데이터로 하고 해당 환자에 대해 결정된 임플란트 타입을 학습용 정답 데이터로 하여 임플란트 타입 추천 모델에 대한 학습이 수행되고,
    새로운 환자의 치주 상태의 측정으로부터 상기 새로운 환자에 대한 치주 차트가 생성되면, 상기 새로운 환자에 대해 생성된 치주 차트로부터 추출된 특징을 이용해서 상기 임플란트 타입 추천 모델로부터 상기 복수 개의 서로 상이한 임플란트 타입 중 어느 하나를 추천받고, 상기 추천받은 임플란트 타입에 대한 실패율이 상기 임플란트의 타입 별 실패율 추론 모델로부터 획득되되, 상기 획득된 실패율이 기 설정된 임계치를 초과할 경우, 상기 추천받은 어느 하나의 임플란트 타입의 시술에 대한 경고가 발생되는
    치과용 차트 통합 관리 서버.
  2. 제 1 항에 있어서,
    상기 정제 과정은,
    speech enhancement를 수행하는 모델에 의해 수행되는
    치과용 차트 통합 관리 서버.
  3. 제 1 항에 있어서,
    상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각으로부터 특징을 추출하는 과정에는,
    상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각을 스펙트로그램(spectrogram)으로 변환하는 과정; 및
    상기 각각의 스펙트로그램으로부터 합성곱 신경망을 이용해서 특징을 추출하는 과정이 포함되는
    치과용 차트 통합 관리 서버.
  4. 제 1 항에 있어서,
    상기 가공에서는,
    상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 간에 상대적으로 유사한 부분에는 상대적으로 높은 가중치가 적용되는 반면, 상대적으로 유사하지 않은 부분에는 상대적으로 낮은 가중치가 적용되는
    치과용 차트 통합 관리 서버.
  5. 제 1 항에 있어서,
    상기 가공의 결과 인코딩 벡터가 획득되는데, 상기 인코딩 벡터는 상기 STT 모델에 포함된 인코딩부에 의해 수행되며,
    상기 인코딩부는,
    상기 STT 모델의 학습에 포함된 사전 학습(pre-training) 과정에서, 음성과 소음을 포함하는 복수 개의 사운드를 이용해서 학습된 것인
    치과용 차트 통합 관리 서버.
  6. 제 5 항에 있어서,
    상기 획득된 인코딩 벡터를 디코딩하여서 상기 음성에 대한 스크립트를 획득하는 과정은 상기 STT 모델에 포함된 디코딩부에 의해 수행되되,
    상기 미세 조정 과정에서는,
    상기 인코딩부에 상기 치과 진료 중에 발생된 소음 및 음성을 포함하는 복수 개의 사운드가 제공된 것에 대응해서 상기 디코딩부에서 출력되는 결과와 상기 학습용 데이터로서의 스크립트 간의 차이가 최소화되도록 학습이 수행되는
    치과용 차트 통합 관리 서버.
  7. 제 6 항에 있어서,
    상기 디코딩부에서 출력되는 결과와 상기 학습용 데이터로서의 스크립트 간의 차이를 최소화시키는 학습에는, CTC(Connectionist Temporal Classification) 손실이 이용되는
    치과용 차트 통합 관리 서버.
  8. 제 1 항에 있어서,
    상기 적어도 하나의 명령어가 상기 프로세서에 의해 수행됨으로써,
    상기 스크립트에 사전(dictionary)에 없는 단어가 포함되어 있으면, 기 학습된 단어 보정 모델에 상기 단어를 포함하는 연속된 3개의 단어가 제공되고, 상기 사전에 없는 단어는 상기 단어 보정 모델에 의해, 보정된 단어로 대체되는
    치과용 차트 통합 관리 서버.
  9. 제 1 항에 있어서,
    상기 임플란트의 타입 별 실패율 추론 모델은,
    두 개 이상의 실패 원인 각각이 임플란트의 각 타입에서 실패에 기여한 비율을 제공하도록 학습된 것인
    치과용 차트 통합 관리 서버.
  10. 삭제
  11. 삭제
  12. 제 1 항에 있어서,
    상기 기공 차트에 기재되어 있는 임플란트 제품의 종류 및 수량에 의존적으로, 상기 임플란트 제품에 대한 주문(order)이 생성되거나 생성되지 않는
    치과용 차트 통합 관리 서버.
  13. 제 1 항에 있어서,
    환자에게 시술된 임플란트 타입에 대한 통계 및 각 임플란트 타입에서의 실패율이, 치과 별로 또는 상기 각 치과의 치과 의사 별로 생성되는
    치과용 차트 통합 관리 서버.
  14. 제 1 항에 있어서,
    상기 치주 차트, 상기 임플란트 차트 및 상기 기공 차트 각각에는,
    음성에 따라 복수 개의 항목 중 어느 하나가 선택되거나 상기 선택된 항목에 대한 내용이 상기 음성을 반영하여 기재되도록 마련된 인터페이스용 차트 및 상기 인터페이스용 차트의 내용에 따라 종속적으로 생성되는 보고용 차트가 포함되는
    치과용 차트 통합 관리 서버.
  15. 제 14 항에 있어서,
    상기 메모리에는 상기 복수 개의 항목마다, 각 항목의 선택용 지시어가 저장되어 있고,
    상기 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써,
    상기 음성으로부터 획득된 스크립트에서 선택용 지시어가 인식되면, 상기 인식된 선택용 지시어에 대응되는 항목이 선택되도록 제어되는
    치과용 차트 통합 관리 서버.
  16. 제 15 항에 있어서,
    상기 메모리에는, 상기 선택용 지시어가 인식될 때마다 인식된 선택용 지시어가 누적 저장되고,
    상기 적어도 하나의 명령어가 상기 프로세서에 의해 실행됨으로써,
    상기 STT 모델의 학습에 포함된 미세 조정은,
    상기 누적 저장된 선택용 지시어를 이용해서 재수행되는
    치과용 차트 통합 관리 서버.
  17. 치과용 차트 통합 관리 서버에 의해 수행되는 치과용 차트 통합 관리 방법으로서,
    상기 치과용 차트 통합 관리 서버의 메모리에는 소음 및 음성을 포함하는 사운드가 획득되면 상기 획득된 사운드를 대상으로 상기 소음에 대한 정제 과정을 수행한 뒤, 상기 정제 과정이 수행되지 않은 사운드 및 상기 정제 과정이 수행된 사운드 각각을 대상으로 특징을 추출하고 가공함으로써 상기 음성에 대한 스크립트를 획득하는 STT(Speech To Text) 모델이 저장되어 있으며,
    상기 방법은,
    환자의 치주 상태의 측정 중에 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제1 스크립트가 획득되면, 상기 제1 스크립트가 치주 차트(periodontal chart)에 반영되는 단계;
    상기 치주 차트로부터 추출된 특징이 기 학습된 임플란트의 타입 별 실패율 추론 모델에 제공되어서 복수 개의 서로 상이한 임플란트 타입 각각에 대한 실패율이 추론되는 단계;
    상기 추론된 실패율을 기초로 결정된 상기 환자의 임플란트 타입에 대해 논의하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제2 스크립트가 획득되면, 상기 제1 스크립트 및 상기 제2 스크립트 중 적어도 일부가 임플란트 차트에 반영되는 단계; 및
    상기 결정된 임플란트 타입에 이용될 보철물(prosthesis)을 포함하는 임플란트 제품을 논의하고 결정하는 과정에서 발생된 소음 및 음성을 포함하는 사운드가 상기 STT 모델에 제공되어서 음성에 대한 제3 스크립트가 획득되면, 상기 제1 스크립트, 상기 제2 스크립트 및 상기 제3 스크립트 중 적어도 일부가 기공 차트에 반영되는 단계를 포함하되,
    상기 STT 모델의 학습에 포함된 미세 조정(fine-tunining)에서는,
    치과 진료 중에 발생된 소음 및 음성을 포함하는 복수 개의 사운드 및 상기 복수 개의 사운드 각각에 대한 스크립트가 학습용 데이터로서 이용되되,
    상기 환자에 대해 임플란트 타입이 결정될 때마다 해당 환자의 치주 차트로부터 추출된 특징을 학습용 입력 데이터로 하고 해당 환자에 대해 결정된 임플란트 타입을 학습용 정답 데이터로 하여 임플란트 타입 추천 모델에 대한 학습이 수행되고,
    새로운 환자의 치주 상태의 측정으로부터 상기 새로운 환자에 대한 치주 차트가 생성되면, 상기 새로운 환자에 대해 생성된 치주 차트로부터 추출된 특징을 이용해서 상기 임플란트 타입 추천 모델로부터 상기 복수 개의 서로 상이한 임플란트 타입 중 어느 하나를 추천받고, 상기 추천받은 임플란트 타입에 대한 실패율이 상기 임플란트의 타입 별 실패율 추론 모델로부터 획득되되, 상기 획득된 실패율이 기 설정된 임계치를 초과할 경우, 상기 추천받은 어느 하나의 임플란트 타입의 시술에 대한 경고가 발생되는
    치과용 차트 통합 관리 방법.
  18. 제 17 항에 있어서,
    상기 정제 과정은,
    speech enhancement를 수행하는 모델에 의해 수행되는
    치과용 차트 통합 관리 방법.
  19. 제 17 항에 따른 방법에 포함된 각 단계를 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능한 기록매체.
  20. 제 17 항에 따른 방법에 포함된 각 단계를 수행하도록 프로그램된 컴퓨터 판독가능한 기록매체에 저장된 컴퓨터 프로그램.
KR1020230086481A 2023-07-04 2023-07-04 치과용 차트 통합 관리 서버 및 이를 이용한 방법 KR102649996B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230086481A KR102649996B1 (ko) 2023-07-04 2023-07-04 치과용 차트 통합 관리 서버 및 이를 이용한 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230086481A KR102649996B1 (ko) 2023-07-04 2023-07-04 치과용 차트 통합 관리 서버 및 이를 이용한 방법

Publications (1)

Publication Number Publication Date
KR102649996B1 true KR102649996B1 (ko) 2024-03-22

Family

ID=90480886

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230086481A KR102649996B1 (ko) 2023-07-04 2023-07-04 치과용 차트 통합 관리 서버 및 이를 이용한 방법

Country Status (1)

Country Link
KR (1) KR102649996B1 (ko)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012004937A1 (ja) * 2010-07-07 2012-01-12 有限会社シエスタ インプラント設計方法及びインプラント設計装置、並びにインプラント設計プログラム
KR20120052591A (ko) * 2010-11-16 2012-05-24 한국전자통신연구원 연속어 음성인식 시스템에서 오류수정 장치 및 방법
KR20160008982A (ko) * 2014-07-15 2016-01-25 오스템임플란트 주식회사 임플란트 처치정보 입력방법, 이를 위한 장치 및 기록 매체
KR101623356B1 (ko) * 2014-12-31 2016-05-24 오스템임플란트 주식회사 치과용 임플란트 계획 가이드 방법, 이를 위한 장치 및 기록 매체
KR102314564B1 (ko) * 2021-03-08 2021-10-19 주식회사 덴컴 음성인식을 이용한 차트 관리 방법 및 이를 이용하는 장치
US20220095581A1 (en) 2020-09-30 2022-03-31 Fido Pro Corp Canine carried rescue harness
KR20220077313A (ko) * 2020-12-01 2022-06-09 주식회사 덴컴 Ai 기반 음성인식을 이용한 치아 상태 표시 장치 및 그 방법
KR20220095581A (ko) * 2020-12-30 2022-07-07 고려대학교 산학협력단 음성 인식을 이용한 치과 전자 차트 생성 방법 및 장치
KR102523144B1 (ko) * 2022-04-20 2023-04-25 주식회사 커스토먼트 치과용 임플란트 온라인 의뢰 서비스 제공 시스템 및 그 방법
KR102549328B1 (ko) * 2022-06-15 2023-06-29 주식회사 커스토먼트 블록체인 기반의 보철물 이력정보 및 치과기공 플랫폼 관리 시스템

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012004937A1 (ja) * 2010-07-07 2012-01-12 有限会社シエスタ インプラント設計方法及びインプラント設計装置、並びにインプラント設計プログラム
KR20120052591A (ko) * 2010-11-16 2012-05-24 한국전자통신연구원 연속어 음성인식 시스템에서 오류수정 장치 및 방법
KR20160008982A (ko) * 2014-07-15 2016-01-25 오스템임플란트 주식회사 임플란트 처치정보 입력방법, 이를 위한 장치 및 기록 매체
KR101623356B1 (ko) * 2014-12-31 2016-05-24 오스템임플란트 주식회사 치과용 임플란트 계획 가이드 방법, 이를 위한 장치 및 기록 매체
US20220095581A1 (en) 2020-09-30 2022-03-31 Fido Pro Corp Canine carried rescue harness
KR20220077313A (ko) * 2020-12-01 2022-06-09 주식회사 덴컴 Ai 기반 음성인식을 이용한 치아 상태 표시 장치 및 그 방법
KR20220095581A (ko) * 2020-12-30 2022-07-07 고려대학교 산학협력단 음성 인식을 이용한 치과 전자 차트 생성 방법 및 장치
KR102314564B1 (ko) * 2021-03-08 2021-10-19 주식회사 덴컴 음성인식을 이용한 차트 관리 방법 및 이를 이용하는 장치
KR102523144B1 (ko) * 2022-04-20 2023-04-25 주식회사 커스토먼트 치과용 임플란트 온라인 의뢰 서비스 제공 시스템 및 그 방법
KR102549328B1 (ko) * 2022-06-15 2023-06-29 주식회사 커스토먼트 블록체인 기반의 보철물 이력정보 및 치과기공 플랫폼 관리 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A. L. I. Oliveira 외, "A Comparative Study on Support Vector Machine and Constructive RBF Neural Network for Prediction of Success of Dental Implants", CIARP 2005, pp.1015-1026. (2005.)* *
Q.-S. Zhu 외, "A Joint Speech Enhancement and Self-Supervised Representation Learning Framework (후략)", IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol.31. (2023.05.10.)* *

Similar Documents

Publication Publication Date Title
Shen et al. Natural tts synthesis by conditioning wavenet on mel spectrogram predictions
US11295721B2 (en) Generating expressive speech audio from text data
US10997970B1 (en) Methods and systems implementing language-trainable computer-assisted hearing aids
Shechtman et al. Sequence to sequence neural speech synthesis with prosody modification capabilities
Zhang et al. Voice conversion by cascading automatic speech recognition and text-to-speech synthesis with prosody transfer
Farhadipour et al. Dysarthric speaker identification with different degrees of dysarthria severity using deep belief networks
Álvarez et al. Problem-agnostic speech embeddings for multi-speaker text-to-speech with samplernn
Guo et al. MSMC-TTS: Multi-stage multi-codebook VQ-VAE based neural TTS
KR102649996B1 (ko) 치과용 차트 통합 관리 서버 및 이를 이용한 방법
Tan Neural text-to-speech synthesis
Tits et al. The theory behind controllable expressive speech synthesis: A cross-disciplinary approach
CN114708876B (zh) 音频处理方法、装置、电子设备及存储介质
Frühholz et al. The effect of narrow-band transmission on recognition of paralinguistic information from human vocalizations
KR102626954B1 (ko) 치과용 음성 인식 장치 및 이를 이용한 방법
JP5376643B2 (ja) 音声合成装置、方法およびプログラム
RU2754920C1 (ru) Способ синтеза речи с передачей достоверного интонирования клонируемого образца
Hueber et al. Evaluating the potential gain of auditory and audiovisual speech-predictive coding using deep learning
JP7368827B2 (ja) 符号化および復号装置、パラメータ学習装置、並びにプログラム
CN113870827A (zh) 一种语音合成模型的训练方法、装置、设备及介质
Klautau Classification of Peterson & Barney’s vowels using Weka
JP2010224418A (ja) 音声合成装置、方法およびプログラム
Zhu et al. On the Impact of Voice Anonymization on Speech Diagnostic Applications: a Case Study on COVID-19 Detection
JP6618453B2 (ja) 音声合成のためのデータベースの生成装置、生成方法、音声合成装置及びプログラム
Boelders Shortness of breath deterioration detection from speech recordings
US12020138B2 (en) Generating audio using auto-regressive generative neural networks

Legal Events

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