[go: up one dir, main page]

KR102769401B1 - 키워드 추출을 통한 업무 지원 방법 및 이를 수행하는 컴퓨팅 장치 - Google Patents

키워드 추출을 통한 업무 지원 방법 및 이를 수행하는 컴퓨팅 장치 Download PDF

Info

Publication number
KR102769401B1
KR102769401B1 KR1020240107410A KR20240107410A KR102769401B1 KR 102769401 B1 KR102769401 B1 KR 102769401B1 KR 1020240107410 A KR1020240107410 A KR 1020240107410A KR 20240107410 A KR20240107410 A KR 20240107410A KR 102769401 B1 KR102769401 B1 KR 102769401B1
Authority
KR
South Korea
Prior art keywords
command
variable
response
commands
extracting
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020240107410A
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 KR1020240107410A priority Critical patent/KR102769401B1/ko
Application granted granted Critical
Publication of KR102769401B1 publication Critical patent/KR102769401B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Acoustics & Sound (AREA)
  • Human Resources & Organizations (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Strategic Management (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 발명은 키워드 추출을 통한 업무 지원 방법에 관한 것으로 음성 인식 기반의 업무 지원 시스템에 관한 것이다. 본 발명의 일 실시예에 따른 서비스 서버에서 수행되는 키워드 추출을 통한 업무 지원 방법은 업무 스크립트에 따라 TTS(Text To Speech) 변환된 음성 질의에 대한 사용자의 음성 명령을 입력 받는 단계; 상기 입력된 음성 명령을 STT(Speech To Text) 변환한 응답 텍스트 내 키워드를 추출하는 단계; 상기 추출된 키워드의 조합에 대응되는 명령어를 제1 테이블로부터 추출하는 단계; 상기 추출된 명령어에 대한 인터페이스 명령을 제2 테이블로부터 추출하는 단계; 상기 추출된 인터페이스 명령을 수행하는 단계를 포함할 수 있다. 본 발명에 따르면 음성 인식을 통해 사용자는 빠르고 효율적으로 명령어를 입력할 수 있으며, 반복적이고 단순한 업무를 자동화하여 전반적인 업무 처리 속도와 효율성을 높인다.

Description

키워드 추출을 통한 업무 지원 방법 및 이를 수행하는 컴퓨팅 장치{Method for supporting tasks through keyword extraction and computing device for performing the same}
본 발명은 키워드 추출을 통한 업무 지원 방법에 관한 것으로 음성 인식 기반의 업무 지원 시스템에 관한 것이다.
음성 인식 기술, 특히 Speech-to-Text(STT) 기술은 최근 사무 및 행정 분야에서 많은 주목을 받고 있다. STT 기술을 활용한 업무 지원은 다양한 방식으로 이루어지고 있다.
음성 인식을 통해 텍스트 입력이 자동으로 이루어지면서, 키보드 입력에 비해 더 빠르고 효율적으로 데이터를 입력할 수 있다. 반복적이고 단순한 작업을 자동화함으로써 직원들은 보다 창의적이고 가치 있는 업무에 집중할 수 있다.
음성 인식 기술은 손을 사용할 수 없거나 사용이 불편한 상황에서도 작업을 계속할 수 있게 도와준다. 예를 들어, 회의 중 메모를 작성하거나 차량 운전 중 음성 명령으로 업무를 처리하는 등 다양한 상황에서 접근성이 크게 향상될 수 있다.
최신 STT 기술은 높은 정확도를 자랑하며, 특히 특정 도메인에 맞춤화된 음성 인식 모델은 거의 완벽에 가까운 인식률을 제공한다. 본 발명은 오류를 줄이고 업무의 신뢰성을 높본 발명은 데 기여한다.
다만, 여전히 기술적으로 완벽하지 않은 부분이 있어 배경 소음, 말투, 발음 등 다양한 변수에 대한 처리가 필요한다. 또한, 사용자의 프라이버시와 관련된 법적 문제들도 해결해야 할 과제이다.
STT 음성 인식을 통한 업무 지원은 효율성, 접근성, 정확도 등의 측면에서 많은 이점을 제공하고 있으며, 이러한 기술이 더욱 발전함에 따라 그 활용 범위와 효과도 계속해서 확대될 것으로 예상된다.
본 발명은 음성 인식을 통한 명령어 및 키워드 인식 시스템과 이를 이용한 업무 지원 시스템에 관한 것으로, 사용자가 음성으로 다양한 업무 명령어를 입력할 수 있도록 하여, 기존의 키보드 및 마우스 입력 방식의 한계를 극복하고, 사용자의 편의성을 극대화하고자 한다. 이를 통해 업무의 효율성을 높이고, 반복적이고 단순한 업무의 자동화를 통해 직원들이 보다 고부가가치 업무에 집중할 수 있도록 한다.
명령어와 키워드를 표준화하여 음성 명령어 패드(자판)에 맵핑할 수 있도록 함으로써, 사용자가 일관된 명령어를 사용하여 시스템과 상호작용할 수 있게 한다. 본 발명은 시스템 사용의 일관성을 보장하고, 명령어 인식의 정확도를 향상시키는 데 기여한다.
음성 인식을 통해 다양한 환경에서의 접근성을 개선하고, 특히 손을 사용할 수 없거나 불편한 상황에서도 효율적으로 시스템을 제어할 수 있게 한다. 예를 들어, 회의 중 메모 작성, 차량 운전 중 업무 처리 등의 상황에서 유용하게 사용할 수 있다.
특정 도메인(예: 복무 행정 분야)에 특화된 음성 인식 모델을 구축하여, 높은 정확도의 음성 인식률을 달성하고, 다양한 유사 발화도 정확하게 인식할 수 있도록 한다. 이를 위해 본 발명은 명령어 및 키워드 코퍼스를 지속적으로 업데이트하고, 음성 데이터의 효율적인 처리를 위한 파싱 및 키워드 스폿팅 알고리즘을 개발하는 것을 목적으로 한다.
음성 데이터의 처리 과정에서 개인정보 보호 및 보안을 강화하기 위한 기술적 방안을 마련하여, 사용자의 민감한 정보를 안전하게 보호한다.
본 발명은 음성 명령 뿐만 아니라 기존의 키보드 및 마우스 입력 방식과도 호환되도록 하여, 사용자 환경에 따라 최적의 입력 방식을 선택할 수 있게 한다. 본 발명은 사용자가 보다 편리하게 시스템을 사용할 수 있도록 돕는다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
전술한 목적을 달성하기 위한, 본 발명의 일 실시예에 따른 서비스 서버에서 수행되는 키워드 추출을 통한 업무 지원 방법은 업무 스크립트에 따라 TTS(Text To Speech) 변환된 음성 질의에 대한 사용자의 음성 명령을 입력 받는 단계; 상기 입력된 음성 명령을 STT(Speech To Text) 변환한 응답 텍스트 내 키워드를 추출하는 단계; 상기 추출된 키워드의 조합에 대응되는 명령어를 제1 테이블로부터 추출하는 단계; 상기 추출된 명령어에 대한 인터페이스 명령을 제2 테이블로부터 추출하는 단계; 상기 추출된 인터페이스 명령을 수행하는 단계를 포함할 수 있다.
상기 제1 테이블은 상기 명령어를 명령, 응답 또는 변수로 구분하고, 상기 인터페이스 명령을 제2 테이블로부터 추출하는 단계는 상기 명령어에 대한 명령 테이블 또는 변수 테이블 및 변수에 대한 응답 테이블의 값을 추출하는 것이 바람직하다.
상기 인터페이스 명령을 수행하는 단계는, 상기 추출된 명령 테이블, 변수 테이블 또는 응답 테이블의 값을 이용하여 인터페이스 명령을 수행하는 것이 바람직하다.
상기 명령 테이블은 상기 명령어에 대한 자바 함수 명 및 API URI 값을 정의하는 것이 바람직하다.
상기 변수 테이블은 상기 명령어에 대한 자바 함수에서 이용하는 변수 명을 정의하는 것이 바람직하다.
상기 응답 테이블은 상기 변수 명에 대한 응답에 따라 분기 여부 정의하고, 상기 시나리오는 상기 응답에 따라 시나리오의 흐름이 것이 바람직하다.
상기 STT 변환을 위한 STT 모델은 상기 명령어를 기준으로 생성된 유사 용어에 대한 유사 용어 테이블을 포함하고, 상기 제1 테이블로부터 추출하는 단계는 상기 키워드의 조합에 대응되는 유사 용어 테이블을 참고하여 명령어를 추출하는 것이 바람직하다.
본 발명에 따르면 음성 인식을 통해 사용자는 빠르고 효율적으로 명령어를 입력할 수 있으며, 반복적이고 단순한 업무를 자동화하여 전반적인 업무 처리 속도와 효율성을 높인다.
음성 명령을 통해 사용자는 손을 사용할 필요 없이 다양한 업무를 처리할 수 있다.
명령어와 키워드를 표준화하여 사용자가 일관된 방식으로 시스템과 상호작용할 수 있게 한다. 본 발명은 사용자의 학습 곡선을 줄이고, 시스템 사용의 일관성을 보장하며, 명령어 인식의 정확도를 높인다.
특정 도메인에 특화된 음성 인식 모델을 통해 높은 정확도의 음성 인식률을 달성할 수 있다. 본 발명은 복무 행정 분야와 같은 특정 분야에서 사용될 때 특히 유리하며, 다양한 유사 발화를 정확하게 인식할 수 있다.
본 발명은 음성 인식을 통해 다양한 작업 환경에서 접근성을 높일 수 있다. 사용자는 음성 명령을 통해 시스템을 제어할 수 있으며, 본 발명은 물리적인 제약을 최소화하고 보다 다양한 환경에서 시스템을 사용할 수 있게 한다.
음성 명령뿐만 아니라 키보드 및 마우스 입력 방식도 지원하여, 사용자의 편의와 필요에 따라 최적의 입력 방식을 선택할 수 있다. 본 발명은 사용자가 보다 편리하게 시스템을 사용할 수 있도록 돕는다.
명령어 및 키워드 코퍼스의 지속적인 업데이트를 통해 시스템의 성능을 개선하고, 새로운 명령어와 키워드에 대한 대응 능력을 향상시킬 수 있다. 본 발명은 시스템의 장기적인 유연성과 확장성을 보장한다.
이와 같은 효과를 통해, 본 발명은 음성 인식을 통한 효율적이고 사용자 친화적인 업무 지원 시스템을 제공하여, 다양한 작업 환경에서 사용자 경험을 개선하고, 업무 효율성을 극대화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 시스템의 구성을 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 서비스 서버의 서비스 제공 흐름을 나타내는 흐름도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따라 음성 질의를 위한 스크립트를 예시하는 도이다.
도 5는 본 발명의 일 실시예에 따라 스크립트에 대한 음성 응답으로 인터페이스 명령까지 추출하는 과정을 제시하는 각 모듈의 블록도이다.
도 6은 본 발명의 일 실시예에 따른 제1 테이블을 예시하는 도이다.
도 7 내지 9는 본 발명의 일 실시예에 따른 제2 테이블을 예시하는 도이다.
도 10은 본 발명의 일 실시예에 따른 일 실시예에 따른 서비스 서버의 컴퓨팅 장치로의 구현을 나타내는 예시도이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시 되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이외같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
또한, 발명을 설명함에 있어서 발명과 관련된 공지 기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하에는 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예에 대해 상세하게 설명한다.
본 발명에 따른 시스템은 음성 인식 기반의 업무 지원 서비스를 제공하는 시스템으로, 사용자 단말, 서비스 서버, 업무 서버로 구성되어 있다. 각 구성 요소는 상호 연동하여 사용자의 음성 명령을 처리하고, 필요한 업무를 수행할 수 있도록 지원한다.
도 1은 본 발명의 일 실시예에 따른 시스템의 구성을 나타내는 블록도이다.
도 1을 참조하면, 사용자 단말(100)은 시스템과 상호작용하는 최종 사용자에게 제공되는 장치로, 스마트폰, 태블릿, 컴퓨터 등의 형태를 가질 수 있다.
사용자는 음성으로 명령을 사용자 단말(100)에 입력할 수 있다. 음성 데이터는 시스템에 전송되어 처리될 수 있다.
사용자 단말(100)은 TTS(Text-to-Speech) 출력을 통한 피드백을 사용자에게 제공한다. 본 발명의 TTS 출력은 서비스 상호작용의 결과를 사용자에게 알리거나 다음 명령을 안내하는 데 사용될 수 있다.
사용자 단말(100)은 인터페이스 표시 및 사용자 인터랙션을 수행한다.
사용자 단말(100)은 명령어 입력을 위한 인터페이스를 제공하고, 사용자가 입력한 명령어와 그 결과를 화면에 표시한다.
서비스 서버(300)는 본 발명에 따른 서비스를 제공하는 주체로, 음성 명령의 처리와 관련된 핵심 기능을 수행한다.
서비스 서버(300)는 스크립트를 제공하고 TTS 변환을 수행한다.
서비스 서버(300)는 시나리오에 따라 사용자가 이해하기 쉽도록 설계된 스크립트를 생성하고 이를 TTS로 변환하여 사용자 단말(100)에 전송한다. 서비스 단말(100)은 사용자와의 자연스러운 상호작용을 지원한다.
서비스 서버(300)는 사용자로부터 입력된 음성 데이터를 STT(Speech-to-Text) 변환 후 키워드를 추출한다.
서비스 서버(300)는 사용자로부터 수신된 음성 데이터를 STT 기술을 통해 텍스트로 변환한다. 변환된 텍스트에서 키워드를 추출하고, 이를 기반으로 사용자가 요청한 명령을 파악한다.
서비스 서버(300)는 추출된 키워드를 기준으로 사전 정의된 명령어와 매핑하여, 사용자가 원하는 작업을 식별한다. 이를 통해 서비스 서버(300)는 사용자 요청에 따라 적절한 명령어를 생성하고, 업무 서버(400)로 전달한다.
업무 서버(400)는 서비스 서버(300)로부터 전달된 명령어를 실행하여 실제 업무를 수행하는 시스템이다.
업무 서버(400)는 서비스 서버(300)로부터 전달된 명령어에 따라 업무 서버(400)는 관련된 업무 프로세스를 실행한다. 예를 들어, 출퇴근 등록, 연가 요청, 출장 요청, 결재 상신 등의 업무가 포함될 수 있다.
업무 서버(400)는 업무 처리 결과를 저장하고 관리한다. 본 발명은 사용자가 나중에 참조하거나 필요한 경우 데이터를 조회할 수 있도록 지원한다.
업무 서버(400)는 처리된 업무 결과를 서비스 서버(300)로 전송하여, 사용자가 요청한 작업의 완료 상태를 확인할 수 있도록 한다.
이상 본 실시예에 따른 시스템은 사용자 단말(100)에서 시작된 음성 명령을 서비스 서버(300)가 처리하고, 업무 서버(400)가 실제 업무를 수행하는 일련의 과정을 서비스로 제공하며, 사용자는 보다 효율적이고 편리하게 다양한 업무를 처리할 수 있다.
도 2는 본 발명의 일 실시예에 따른 서비스 서버(300)의 서비스 제공 흐름을 나타내는 흐름도이다.
먼저 서비스 서버(300)는 업무 스크립트에 따라 TTS 변환된 음성 질의에 대한 사용자의 음성 명령을 입력 받는다(S100)
서비스 서버(300)는 사용자와 상호작용하기 위해 준비된 스크립트를 기반으로 음성 질의를 생성하고, 이를 TTS 기술을 사용하여 음성으로 변환한다.
변환된 음성 질의는 사용자 단말(100)을 통해 사용자에게 전달되며, 사용자는 이를 들은 후 적절한 음성 명령을 응답한다. 서비스 서버(300)는 사용자가 이해하기 쉬운 방식으로 질의를 전달하고, 사용자가 자연스럽게 음성 명령을 입력할 수 있도록 한다.
도 3 및 도 4는 본 발명의 일 실시예에 따라 음성 질의를 위한 스크립트를 예시하는 도이다.
도 3을 참조하면, 스크립트 테이블은 스크립트명/스크립트ID를 정의한다.
스크립트 테이블 내 각 항목은 각 스크립트의 고유한 이름과 식별자(ID)를 나타낸다. 스크립트명은 해당 스크립트의 내용을 간단히 설명하고, 스크립트ID는 고유 식별자로 시스템 내에서 스크립트를 참조할 때 사용될 수 있다.
또한, 도 4를 참조하면 스크립트 테이블은 플로우 ID, TTS 스크립트, 분기여부, 다음플로우 ID, 비고를 포함하여 구성될 수 있다.
플로우ID는 스크립트가 속한 대화 흐름의 ID이다. 본 발명은 특정 시나리오나 컨텍스트 내에서 사용되는 여러 스크립트를 구분하고 관리하는 데 플로우 ID를 사용할 수 있다.
TTS 스크립트는 Text-to-Speech로 변환될 텍스트 내용이다. 이 텍스트는 시스템이 사용자에게 음성으로 전달할 내용을 포함하고 있으며, 사용자가 이해하기 쉽도록 작성될 수 있다.
분기여부는 특정 대화 흐름에서 다른 경로로 분기될 수 있는지 여부를 나타낸다. '예' 또는 '아니오'로 표기되며, '예'일 경우 다음 플로우로의 전환이 있을 수 있다.
다음플로우ID는 분기가 있는 경우, 다음으로 이동할 대화 흐름의 ID를 나타낸다. 본 발명은 원래 플로우의 흐름이 끝난 후에 전환할 경로를 지정한다.
비고는 추가적인 설명이나 주석을 포함할 수 있는 항목이다. 스크립트의 사용 목적, 특이사항, 주의점 등을 기재할 수 있다.
즉, 본 실시예에서 스크립트는 스크립트 명에 따라 구분되며 각각의 TTS스크립트가 정의되는 테이블은 시스템이 다양한 시나리오에 따라 TTS 스크립트를 생성하고, 사용자가 시스템과 상호작용할 수 있도록 돕는 역할을 한다. 각 테이블은 TTS 스크립트와 그에 관련된 흐름 및 세부 사항을 체계적으로 관리한다.
이어서 서비스 서버(300)는 입력된 음성 명령을 STT 변환한 응답 텍스트 내 키워드를 추출한다(S200).
사용자가 입력한 음성 명령은 서비스 서버(300)에서 획득하여, STT 기술을 사용하여 텍스트 형태로 변환될 수 있다.
이 변환된 텍스트는 음성 데이터에서 텍스트 데이터를 추출하여 명령을 분석할 수 있게 한다. 변환된 텍스트 내에서 중요한 키워드를 추출하는 과정이 뒤따른다. 키워드 추출은 텍스트에서 중요한 정보나 명령의 의도를 나타내는 단어들을 식별하는 과정으로, 이를 위해 자연어 처리(NLP) 기술이 사용될 수 있다.
이하, 도 5를 참고하여 입력된 음성 데이터로부터 인터페이스 명령을 추출하기까지의 과정을 파이프라인으로 설명한다.
도 5는 본 발명의 일 실시예에 따라 스크립트에 대한 음성 응답으로 인터페이스 명령까지 추출하는 과정을 제시하는 각 모듈의 블록도이다.
본 실시예에서는 획득된 데이터들의 각각의 블록 별 변환 단계에서 미리 정의된 테이블을 이용할 수 있다.
각 단계에서는 미리 정의된 테이블을 사용하여 효과적으로 데이터를 관리하고 처리한다.
먼저, STT 모듈(310)은 사용자의 음성 명령을 텍스트로 변환한다.
여기서 서비스 서버(300)는 사용자의 음성을 받아 이를 텍스트 형태로 변환한다. 이 단계에서 미리 정의된 테이블은 다음과 같은 정보를 포함할 수 있다
미리 정의된 테이블로 STT 데이터 테이블은 음성 데이터와 이를 텍스트로 변환한 결과를 저장할 수 있으며 사용자의 발화 내용과 이에 상응하는 텍스트 표현이 포함될 수 있다.
키워드 추출 모듈(320)은 STT 과정에서 얻어진 텍스트 데이터에서 주요 키워드를 추출한다. 이 단계에서는 키워드 추출 모듈은 텍스트 내에서 의미 있는 키워드를 키워드 테이블을 이용하여 식별하고 이를 다음 모듈로 전달한다.
키워드 테이블은 시스템에서 인식할 수 있는 키워드 목록과 그 설명이 포함될 수 있다. 서비스 서버(300)는 키워드 테이블을 참조하여 텍스트 내에서 키워드를 추출할 수 있다.
도 2를 함께 참조하면 서비스 서버(300)의 명령어 추출 모듈(330)은 추출된 키워드의 조합에 대응되는 명령어를 제1 테이블로부터 추출한다(S300).
음성 데이터로부터 추출된 키워드는 시스템 내의 제1 테이블과 비교될 수 있다. 제1 테이블은 사전에 정의된 명령어와 그에 대응하는 키워드들의 목록을 포함하고 있다.
이후 서비스 서버(300)는 제1 테이블을 참조하여 추출된 키워드 조합이 어떤 명령어와 일치하는지를 식별한다. 이 단계에서는 여러 키워드가 조합되어 하나의 명령어로 매핑될 수 있으며, 서비스 서버(300)는 사용자의 의도를 정확히 이해하기 위해 가장 적절한 명령어를 선택할 수 있다.
도 6은 본 발명의 일 실시예에 따른 제1 테이블을 예시하는 도이다.
제1 테이블은 키워드를 명령, 응답 또는 변수로 구분할 수 있다.
제1 테이블은 음성 명령어를 처리하기 위해 시스템이 참조하는 데이터를 관리하는 구조이다. 이 테이블은 다음과 같은 열로 No는 각 레코드의 고유 번호이다. 순서대로 정렬된 번호로, 각 항목을 식별하고 관리하는 데 사용될 수 있다.
이때, 본 실시예에서 STT 변환을 위한 STT 모델은 명령어를 기준으로 생성된 유사 용어에 대한 유사 용어 테이블을 포함할 수 있다.
따라서, 서비스 서버(300)는 키워드의 조합에 대응되는 유사 용어 테이블을 참고하여 명령어를 추출하는 것도 가능하다.
STT 모델은 사용자의 음성 입력을 텍스트로 변환하는 역할을 한다. 이 모델은 특정 도메인(예: 업무 지원 시스템)에 최적화되어 있으며, 해당 도메인에서 자주 사용되는 용어나 표현을 정확하게 인식할 수 있도록 학습될 수 있다.
STT 모델은 음성 데이터에서 텍스트 데이터를 추출하는 과정에서 발음, 억양, 방언 등 다양한 요소를 고려하여 최적의 텍스트 표현을 생성한다.
유사 용어 테이블은 특정 명령어에 대한 다양한 표현 방식을 포함하는 테이블이다.
이 테이블은 사용자가 다양한 방식으로 명령어를 표현할 수 있는 가능성을 고려하여, 시스템이 해당 명령어를 정확하게 인식하고 처리할 수 있도록 돕는다.
사용자가 음성으로 명령어를 입력하면, STT 모델이 이를 텍스트로 변환한다. 변환된 텍스트는 시스템이 처리할 수 있는 형태로 전환될 수 있다.
변환된 텍스트에서 추출된 키워드 조합이 유사 용어 테이블과 비교될 수 있다. 이 테이블은 특정 명령어에 대한 다양한 표현을 포함하고 있어, 사용자가 입력한 표현이 표준 명령어와 정확히 일치하지 않더라도 시스템이 그 의미를 파악할 수 있게 한다.
유사 용어 테이블을 통해, 시스템은 키워드의 유사성에 따라 가장 적합한 명령어(Command)를 추출한다.
유사 용어 테이블을 참고하여 최종적으로 추출된 명령어는 제1 테이블에서 명령어와 매핑될 수 있다. 제1 테이블은 각 명령어에 대한 구체적인 작업 지시를 포함하고 있어, 서비스 서버(300)는 이를 바탕으로 다음 단계를 진행할 수 있다.
이어서 서비스 서버(300)의 인터페이스 명령 추출 모듈(340)은 추출된 명령어에 대한 인터페이스 명령을 제2 테이블로부터 추출한다(S400).
서비스 서버(300)는 추출된 키워드를 바탕으로 시스템이 수행해야 할 구체적인 명령어를 식별하는 과정에서는 키워드 조합에 따른 명령어를 결정한다.
명령어 매핑 테이블은 키워드 조합에 따라 대응되는 명령어를 저장하며 사용자가 특정 키워드를 입력했을 때 시스템이 어떤 명령어를 수행해야 하는지를 정의한다.
서비스 서버(300)는 명령어가 식별되면, 시스템은 제2 테이블을 참조하여 해당 명령어와 연관된 인터페이스 명령을 추출한다. 제2 테이블은 각 명령어에 대응하는 구체적인 인터페이스 명령을 저장하고 있다. 인터페이스 명령은 실제로 시스템이 수행할 작업을 정의하며, 예를 들어, 특정 화면으로 이동하거나 데이터를 저장하는 등의 작업이 포함될 수 있다. 이 단계에서 서비스 서버(300)는 사용자가 요청한 작업을 수행하기 위한 구체적인 지시를 설정한다.
서비스 서버(300)는 명령어가 결정된 후, 그 명령어에 대응하는 구체적인 인터페이스 명령을 결정한다. 인터페이스 명령은 시스템에서 실제로 수행할 작업을 구체적으로 지시하며, 인터페이스 명령 테이블 각 명령어에 대응하는 시스템의 구체적인 동작이나 인터페이스 명령을 저장할 수 있다.
이와 같은 프로세스를 통해, 본 발명은 음성 명령을 처리하여 사용자가 원하는 작업을 효율적으로 수행할 수 있다. 각 단계에서 사용되는 테이블은 시스템의 유연성과 정확성을 높이며, 유지보수와 확장성을 지원한다.
서비스 서버(300)는 인터페이스 명령을 제2 테이블로부터 추출하는 단계는 키워드의 구분에 따라 명령 테이블, 변수 테이블 또는 응답 테이블에 대한 제2 테이블의 값을 추출한다.
도 7 내지 9는 본 발명의 일 실시예에 따른 제2 테이블을 예시하는 도이다.
도 7 내지 9는 본 발명의 일 실시예에 따라 인터페이스 명령을 처리하는 과정에서 사용하는 제2 테이블의 구조와 그 활용 방법을 설명한다.
제2 테이블은 명령어, 변수, 응답과 관련된 데이터를 관리하며, 시스템이 특정 작업을 수행하기 위해 필요한 정보를 제공한다.
제2 테이블에 따른 데이터 구조는 명령어, 변수, 응답을 명확하게 분리하여 관리함으로써, 시스템의 효율성, 유지보수성, 확장성을 높일 수 있다. 이러한 구조는 데이터의 중복을 방지하고, 명령어 실행과 관련된 프로세스를 간소화하며, 명령어, 변수, 응답 간의 관계를 명확하게 정의한다.
먼저 도 7을 참조하면 명령 테이블 (Command Table)은 사용자가 입력한 음성 명령어에 대응되는 구체적인 자바 함수명(Java Function Name)과 API URI 값을 정의한다.
본 발명은 시스템이 특정 명령어를 실행할 때 호출해야 하는 프로그래밍 함수나 외부 API 엔드포인트를 명시한다.
자바 함수명은 명령어를 실행하기 위해 시스템 내부적으로 호출되는 자바 함수의 이름이다. 이 함수는 지정된 명령어에 맞춰 필요한 작업을 수행한다.
API URI는 서비스 서버(300)가 외부 서비스와 연동해야 할 경우 호출하는 API의 URI이다. 본 발명은 특정 기능을 수행하거나 데이터를 조회하는 데 사용될 수 있다.
서비스 서버(300)가 외부 API를 호출할 때 사용하는 URI(Uniform Resource Identifier)이다. 외부 시스템과의 연동이 필요한 경우 이 URI를 통해 특정 기능을 호출하거나 데이터를 전송한다.
API Method는 API 호출에 사용되는 HTTP 메서드이다. 예를 들어, GET, POST, PUT, DELETE 등의 메서드가 포함될 수 있으며, 각각의 메서드는 다른 종류의 요청을 나타낸다.
이상의 제2 테이블은 음성 인식 시스템이 사용자 명령어를 처리할 때 참고할 수 있는 정보들을 구조화하여 제공한다. 이를 통해 시스템은 사용자의 의도를 정확히 이해하고, 적절한 자바 함수 호출이나 API 요청을 통해 명령어를 수행할 수 있다. 각각의 항목은 시스템의 동작을 정의하고 조정하는 데 중요한 역할을 하며, 특히 복잡한 명령어 구조를 가진 경우 유용하게 사용될 수 있다.
변수 테이블 (Variable Table)은 명령어 실행에 필요한 변수들을 정의하고, 이 변수들이 사용할 값들을 저장한다. 변수가 동적으로 할당되어야 하는 경우, 이 테이블의 데이터를 참조하여 값이 채워질 수 있다.
도 8은 본 발명의 일 실시예에 따른 변수 테이블의 명령어에 대한 자바 함수에서 이용하는 변수 명을 정의를 예시하는 예시도이다.
도 8을 참조하면 변수 테이블은 음성 인식 기반의 업무 지원 시스템에서 사용되는 중요한 구성 요소로, 시스템이 명령어를 처리하는 과정에서 필요한 변수를 정의하고 관리하는 역할을 한다.
이 테이블은 특히 자바 함수에서 사용되는 변수들을 정의하며, 명령어의 실행에 필요한 구체적인 데이터를 제공한다.
변수는 실행 시점에서 동적으로 할당될 수 있는 데이터로, 사용자가 입력한 정보나 시스템이 내부적으로 생성하는 데이터를 포함할 수 있다.
변수 테이블은 사용자가 제공한 입력이나 시스템에서 필요한 데이터를 자바 함수와 매핑하는 역할을 한다. 예를 들어, 사용자 입력에서 "사용자 이름" 변수를 추출하여 특정 함수에서 사용할 수 있도록 매핑한다.
또한 변수 테이블은 다양한 명령어와 상황에 맞춰 유연하게 대응할 수 있도록 한다. 각 명령어가 다른 변수들을 필요로 할 수 있으며, 변수 테이블은 이러한 필요에 맞춰 변수를 동적으로 할당하고 관리한다.
변수 테이블은 시스템이 명령어를 실행하는 과정에서 필요한 구체적인 데이터를 제공한다.
순번 (No)은 테이블 내에서 각 항목의 고유 식별 번호를 나타낸다. 이 번호는 테이블의 각 항목을 구분하고 참조하는 데 사용될 수 있다.
키워드순번 (Keyword Order)은 키워드의 우선순위를 나타낸다. 여러 키워드가 있을 때, 어느 키워드가 먼저 처리되어야 하는지를 결정한다.
업무코드 (Action Code)는 특정 업무나 기능을 나타내는 고유 코드이다. 이 코드는 명령어와 관련된 작업을 시스템이 식별할 수 있도록 한다.
업무명 (Business Name)은 수행해야 할 업무의 이름이다. 본 발명은 시스템이 특정 명령어를 처리할 때 필요한 구체적인 작업의 내용을 나타낸다.
변수키워드 (Variable Keyword)는 명령어를 수행하는 데 필요한 변수를 나타내는 키워드이다.
Java 변수명 (Java Variable Name)은 자바 함수 내에서 사용할 변수의 이름이다. 이 변수명은 자바 코드 내에서 해당 데이터를 참조하는 데 사용될 수 있다.
응답키워드 (Response Keyword)는 명령어 처리 후 사용자의 응답 메시지에 포함될 키워드이다.
응답데이터타입 (Response Data Type)은 응답 데이터의 형식을 나타낸다. 예를 들어, 2진 분류 또는 응답의 문자열(String), 숫자(Number), 날짜(Date) 등의 데이터 타입을 지정한다.
응답값 (Response Value)은 응답 메시지나 시스템이 사용자에게 제공할 데이터의 구체적인 값이다. 예를 들어, 성공 메시지나 오류 메시지 등의 값을 포함할 수 있다.
비고 (Remarks)는 해당 항목에 대한 추가 설명이나 주의사항을 기재하는 공간이다. 필요에 따라 항목에 대한 추가 정보를 제공할 수 있다.
이상의 변수 테이블은 시스템이 명령어를 처리하는 과정에서 필요한 모든 변수 정보를 구조화하여 제공함으로써, 명령어 처리의 정확성과 효율성을 높이다. 이를 통해 다양한 명령어와 상황에 맞춰 유연하게 대응할 수 있으며, 명령어 처리 결과를 사용자에게 명확하게 전달할 수 있다.
본 실시예에 따른 서비스 서버(300)는 사용자 명령어가 입력되면 변수 테이블을 참조하여 해당 명령어에 필요한 변수들을 설정한다. 변수 설정 후, 사용자 입력이나 시스템 내 다른 데이터 소스에서 값을 추출하여 변수에 할당한다.
변수가 설정되고 값이 할당된 후, 자바 함수를 호출하여 명령어를 실행한다. 이 과정에서 변수는 함수 내에서 필요한 데이터로 사용될 수 있다.
함수 실행 후, 결과 데이터를 처리하고 필요시 사용자에게 피드백을 제공한다.
이와 같은 방식으로, 변수 테이블은 명령어 처리의 정확성 및 유연성을 높이며, 시스템이 다양한 사용자 입력과 상황에 대응할 수 있도록 지원한다.
또한, 서비스 서버(300)는 응답 테이블을 이용하여 구체적으로 요구되는 응답의 형식과 그에 따른 피드백을 사용자에게 제공하는 것도 가능하다.
응답 테이블은 시스템이 명령어를 처리한 후 사용자에게 제공할 응답 메시지나 상태 정보를 정의한다. 이를 통해 사용자는 명령어가 성공적으로 수행되었는지, 혹은 오류가 발생했는지를 알 수 있다.
응답 테이블은 작업을 수행한 결과를 나타내는 코드로 예를 들어, 성공, 오류 등의 코드를 포함할 수 있으며 응답 메시지로 사용자가 이해할 수 있는 형태로 전달되는 메시지를 포함할 수 있다.
도 9를 참조하면, 응답 테이블은 상기 변수 명에 대한 응답에 따라 분기 여부 정의하고, 시나리오는 상기 응답에 따라 시나리오의 흐름이 분기함을 정의한다.
서비스 서버(300)는 응답 테이블을 통해 음성 인식 기반의 업무 지원 시스템에서 사용자의 입력이나 시스템의 상태에 따라 다양한 응답을 정의하고, 이 응답에 따라 시나리오의 흐름을 조정하는 역할을 한다.
서비스 서버(300)는 사용자에게 맞춤형 응답을 제공하며, 다음 단계로 진행하거나 분기하는지 여부를 결정하는 데 응답 테이블을 사용할1 수 있다.
응답 테이블은 특정 변수에 대한 응답을 정의한다. 예를 들어, 사용자가 명령어를 입력했을 때 시스템이 반환해야 하는 메시지나 상태를 설정한다.
응답 테이블은 응답에 따라 시나리오가 어떻게 분기할지를 결정하는 중요한 요소이다. 특정 응답이 발생하면, 시스템은 그 응답에 따라 다른 시나리오나 절차로 넘어갈 수 있다.
응답 테이블은 시스템이 사용자와 상호작용하는 전체 시나리오의 흐름을 관리하는 데 중요한 역할을 한다. 각 응답이 다음 단계로 이어질지, 다른 경로로 분기할지 등을 결정하는 데 사용될 수 있다.
서비스 서버(300)는 사용자가 명령어를 입력하거나 특정 상황이 발생하면, 시스템은 해당 입력 또는 상태를 기반으로 응답 테이블에서 대응되는 항목을 찾을 수 있다.
서비스 서버(300)는 해당 항목의 응답 조건을 평가하고, 조건이 충족될 경우 정의된 응답 메시지를 생성하여 사용자에게 전달한다.
서비스 서버(300)는 응답 메시지에 따라 분기가 필요한 경우, 시스템은 분기 여부를 결정하고, 분기 조건이 충족되면 다음 단계로 이동하거나 다른 시나리오 경로로 전환한다.
서비스 서버(300)는 분기 여부에 따라, 시스템은 사용자와의 상호작용을 계속 진행하거나 새로운 시나리오로 넘어갈 수 있다.
이와 같은 과정을 통해, 서비스 서버(300)는 사용자와 시스템 간의 상호작용을 유연하게 관리하고, 다양한 시나리오를 효과적으로 제어할 수 있게 한다. 이로 인해 사용자는 보다 개인화된 경험을 제공받을 수 있으며, 시스템은 다양한 업무 상황에 적응할 수 있다.
도 9에 따른 제2 테이블은 음성 인식 기반 업무 지원 시스템에서 사용되는 응답 테이블의 구조를 나타내고 있다.
No는 각 행의 고유 식별 번호이다. 이 번호는 테이블의 각 항목을 구분하고 참조하는 데 사용될 수 있다.
서비스코드 (Service Code)는 특정 서비스에 대한 고유 코드이다. 이 코드는 시스템 내에서 제공되는 다양한 서비스를 식별하고 관리하는 데 사용될 수 있다.
서비스명 (Service Name)은 제공되는 서비스의 이름이다. 본 발명은 서비스의 내용을 간략히 설명하며, 사용자가 어떤 서비스와 상호작용하고 있는지를 알 수 있게 한다.
업무코드 (Action Code)는 특정 업무나 기능을 나타내는 고유 코드이다. 이 코드는 특정 작업이나 기능을 시스템이 인식하고 처리할 수 있도록 한다.
업무명 (Business Name)은 수행해야 할 업무의 이름이다. 본 발명은 시스템이 수행할 작업의 구체적인 내용을 나타낸다.
플로우ID (Flow ID)는 현재 시나리오의 특정 흐름을 나타내는 ID이다. 이 ID는 시스템이 특정 시나리오의 어느 부분을 처리 중인지 추적할 수 있게 한다.
시나리오 내용 (Scenario Content)은 특정 시나리오의 내용을 설명한다. 본 발명은 시스템이 사용자와의 상호작용에서 어떤 응답을 제공하고, 어떤 절차를 따를지를 명확히 정의한다.
기준정보코드 (Reference Info Code)는 시스템이 기준 정보를 참조하거나 업데이트할 필요가 있을 때 사용될 수 있다. 기준정보명 (Reference Info Name)은 기준 정보의 이름이다. 본 발명은 시스템이 사용자가 제공한 정보나 시스템 내부 데이터를 참조할 때 사용될 수 있다.
변수명 (Variable Name)은 특정 작업이나 상황에서 사용할 수 있는 변수의 이름이다. 이 변수는 명령어 처리 과정에서 사용되며, 필요한 데이터를 동적으로 할당한다.
분기여부 (Branching Condition)는 특정 응답이나 조건에 따라 시나리오가 다른 경로로 분기할지 여부를 결정한다. 본 발명은 "예" 또는 "아니오"로 표시되며, 시스템이 다음 단계로 이동할지 다른 절차를 따를지 결정하는 데 사용될 수 있다.
기본 다음플로우ID (Default Next Flow ID)는 기본적으로 다음에 이동할 시나리오 흐름의 ID이다. 특별한 분기 조건이 없는 경우, 시스템은 이 ID를 따라 다음 단계로 진행한다.
분기후 다음플로우ID (Branched Next Flow ID)는 분기 조건이 충족된 경우, 시나리오가 이동할 다음 흐름의 ID이다. 분기가 발생할 때, 시스템은 이 ID를 참조하여 다음 단계를 결정한다.
이 테이블을 통해 시스템은 다양한 상황에 맞춰 적절한 응답을 제공하고, 사용자와의 상호작용을 유연하게 관리할 수 있다. 이를 통해 시나리오의 흐름을 정확하게 제어하고, 사용자가 명확한 피드백을 받을 수 있도록 한다.
이어서 서비스 서버(300)는 추출된 인터페이스 명령을 수행한다(S400).
사용자로부터 입력된 명령어는 제1 테이블을 통해 기본적인 명령어 정보를 확인하고, 제2 테이블에서 명령 테이블, 변수 테이블, 응답 테이블의 데이터를 참조하여 구체적인 실행 방법을 결정한다.
서비스 서버(300)는 명령 테이블에서 자바 함수명 또는 API URI를 추출하고, 필요시 변수 테이블에서 필요한 변수 값을 설정한다. 이 데이터는 실제 작업을 수행하는 데 필요한 구체적인 지침을 제공한다.
서비스 서버(300)는 추출된 자바 함수나 API URI를 이용해 실제 작업을 수행하도록 요청할 수 있다. 이 과정에서 변수 값이 필요하다면 변수 테이블에서 해당 값을 참조하여 사용될 수 있다.
서비스 서버(300)는 작업이 완료되면 응답 테이블의 데이터를 이용해 사용자에게 결과를 전달한다. 이때, 응답 메시지와 코드를 포함하여 사용자가 작업의 결과를 명확하게 이해할 수 있도록 한다.
본 발명에 따르면 음성 인식을 통해 사용자는 빠르고 효율적으로 명령어를 입력할 수 있으며, 반복적이고 단순한 업무를 자동화하여 전반적인 업무 처리 속도와 효율성을 높인다.
음성 명령을 통해 사용자는 손을 사용할 필요 없이 다양한 업무를 처리할 수 있다.
명령어와 키워드를 표준화하여 사용자가 일관된 방식으로 시스템과 상호작용할 수 있게 한다. 본 발명은 사용자의 학습 곡선을 줄이고, 시스템 사용의 일관성을 보장하며, 명령어 인식의 정확도를 높인다.
이하 도 10을 참고하여 본 발명의 일 실시예에 따른 서비스 서버(300)의 하드웨어 구성에 대하여 설명한다.
도 10을 참조하면, 본 발명의 몇몇 실시예들에서 서비스 서버(300)는 컴퓨팅 장치의 형태로 구현될 수 있다. 서비스 서버(300)를 구성하는 각각의 모듈 중 하나 이상은 범용 컴퓨팅 프로세서 상에서 구현되며 따라서 프로세서(processor)(308), 입출력 I/O(302), 메모리 (memory)(340), 인터페이스(interface)(306) 및 버스(314, bus)를 포함할 수 있다. 프로세서(308), 입출력 장치(302), 메모리 (340) 및/또는 인터페이스(306)는 버스(314)를 통하여 서로 결합될 수 있다. 버스(314)는 데이터들이 이동되는 통로(path)에 해당한다.
구체적으로, 프로세서(308)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit), 마이크로프로세서, 디지털 신호 프로세스, 마이크로컨트롤러, 어플리케이션 프로세서(AP, application processor) 및 이들과 유사한 기능을 수행할 수 있는 논리 소자들 중에서 적어도 하나를 포함할 수 있다.
입출력 장치(302)는 키패드(keypad), 키보드, 터치스크린 및 디스플레이 장치 중 적어도 하나를 포함할 수 있다. 메모리 장치(340)는 데이터 및/또는 프로그램 등을 저장할 수 있다.
인터페이스(306)는 통신 네트워크로 데이터를 전송하거나 통신 네트워크로부터 데이터를 수신하는 기능을 수행할 수 있다. 인터페이스(306)는 유선 또는 무선 형태일 수 있다. 예컨대, 인터페이스(306)는 안테나 또는 유무선 트랜시버 등을 포함할 수 있다. 메모리 (340)는 프로세서(308)의 동작을 향상시키되, 개인정보의 보호를 위한 휘발성의 동작 메모리로서, 고속의 디램 및/또는 에스램 등을 더 포함할 수도 있다.
또한, 메모리(340) 내에는 여기에 설명된 일부 또는 모든 모듈의 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 상술한 학습 방법의 선택된 양태들을 수행하도록 하는 로직을 포함할 수 있다.
메모리 (340)에 저장된 상술한 방법을 수행하는 각 단계를 포함하는 명령어들의 집합으로 프로그램 또는 어플리케이션을 로드하고 프로세서가 각 단계를 수행할 수 있도록 한다.
이상 여기에 설명되는 다양한 실시예는 예를 들어, 소프트웨어, 하드웨어 또는 이들의 조합된 것을 이용하여 컴퓨터 또는 이와 유사한 장치로 읽을 수 있는 기록매체 내에서 구현될 수 있다.
하드웨어적인 구현에 의하면, 여기에 설명되는 실시예는 ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays, 프로세서(processors), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 전기적인 유닛 중 적어도 하나를 이용하여 구현될 수 있다. 일부의 경우에 본 명세서에서 설명되는 실시예들이 제어 모듈 자체로 구현될 수 있다.
소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 상기 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 작동을 수행할 수 있다. 적절한 프로그램 언어로 쓰여진 소프트웨어 어플리케이션으로 소프트웨어 코드가 구현될 수 있다. 상기 소프트웨어 코드는 메모리 모듈에 저장되고, 제어모듈에 의해 실행될 수 있다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다.
따라서, 본 발명에 개시된 실시 예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (14)

  1. 서비스 서버에서 수행되는 키워드 추출을 통한 업무 지원 방법에 있어서,
    업무 스크립트에 따라 TTS(Text To Speech) 변환된 음성 질의에 대한 사용자의 음성 명령을 입력 받는 단계;
    상기 입력된 음성 명령을 STT(Speech To Text) 변환한 응답 텍스트 내 키워드를 추출하는 단계;
    특정 명령어를 기준으로 생성된, 복수의 표현 방식을 포함하는 유사 용어에 대한 유사 용어 테이블을 참조하여, 상기 추출된 키워드의 조합과 비교 결과 대응되는 명령어를 제1 테이블로부터 추출하는 단계;
    상기 추출된 명령어에 대한 인터페이스 명령을 제2 테이블로부터 추출하는 단계; 및
    상기 추출된 인터페이스 명령을 수행하는 단계를 포함하고,
    제2 테이블은,
    명령 테이블, 변수 테이블 및 응답 테이블로 구성되며,
    상기 명령 테이블은 함수명 또는 API URI를 정의하고,
    상기 변수 테이블은 상기 조합 내 키워드의 우선순위를 나타내는 키워드 순번 및 상기 키워드 순번에 따라 처리되는 상기 명령어의 수행에 필요한 변수를 나타내는 변수 키워드를 정의하고,
    상기 응답 테이블은 결과로 상기 변수에 대한 응답에 따른 분기 여부를 정의하는 업무 지원 방법.
  2. 제 1 항에 있어서,
    상기 제1 테이블은 상기 명령어를 명령, 응답 또는 변수로 구분하고,
    상기 인터페이스 명령을 제2 테이블로부터 추출하는 단계는 상기 명령어에 대한 상기 명령 테이블, 상기 변수 테이블 및 변수에 대한 상기 응답 테이블의 값을 추출하는 업무 지원 방법.
  3. 제 2 항에 있어서,
    상기 인터페이스 명령을 수행하는 단계는,
    상기 추출된 명령 테이블, 변수 테이블 또는 응답 테이블의 값을 이용하여 인터페이스 명령을 수행하는 업무 지원 방법.
  4. 제 3 항에 있어서,
    상기 명령 테이블은 상기 명령어에 대한 자바 함수 명 및 API URI 값을 정의하는 업무 지원 방법.
  5. 제 4 항에 있어서,
    상기 변수 테이블은 상기 명령어에 대한 자바 함수에서 이용하는 변수 명을 정의하는 업무 지원 방법.
  6. 제 4 항에 있어서,
    상기 응답 테이블은 변수 명에 대한 응답에 따라 분기 여부 정의하고,
    상기 스크립트에 대한 시나리오는 상기 응답에 따라 시나리오의 흐름이 분기하는 업무 지원 방법.
  7. 제 1 항에 있어서,
    상기 STT 변환을 위한 STT 모델은 상기 명령어를 기준으로 생성된 유사 용어에 대한 유사 용어 테이블을 포함하고,
    상기 제1 테이블로부터 추출하는 단계는 상기 키워드의 조합에 대응되는 유사 용어 테이블을 참고하여 명령어를 추출하는 업무 지원 방법.
  8. 프로세서, 및
    상기 프로세서와 통신하는 메모리를 포함하고,
    상기 메모리는 상기 프로세서로 하여금 동작들을 수행하게 하는 명령들을 저장하고,
    상기 동작들은,
    업무 스크립트에 따라 TTS(Text To Speech) 변환된 음성 질의에 대한 사용자의 음성 명령을 입력 받는 동작,
    상기 입력된 음성 명령을 STT(Speech To Text) 변환한 응답 텍스트 내 키워드를 추출하는 동작,
    특정 명령어를 기준으로 생성된, 복수의 표현 방식을 포함하는 유사 용어에 대한 유사 용어 테이블을 참조하여, 상기 추출된 키워드의 조합과 비교 결과 대응되는 명령어를 제1 테이블로부터 추출하는 동작,
    상기 추출된 명령어에 대한 인터페이스 명령을 제2 테이블로부터 추출하는 동작, 및
    상기 추출된 인터페이스 명령을 수행하는 동작을 포함하고,
    제2 테이블은,
    명령 테이블, 변수 테이블 및 응답 테이블로 구성되며,
    상기 명령 테이블은 함수명 또는 API URI를 정의하고,
    상기 변수 테이블은 상기 조합 내 키워드의 우선순위를 나타내는 키워드 순번 및 상기 키워드 순번에 따라 처리되는 상기 명령어의 수행에 필요한 변수를 나타내는 변수 키워드를 정의하고,
    상기 응답 테이블은 결과로 상기 변수에 대한 응답에 따른 분기 여부를 정의하는 컴퓨팅 장치.
  9. 제 8 항에 있어서,
    상기 제1 테이블은 상기 명령어를 명령, 응답 또는 변수로 구분하고,
    상기 인터페이스 명령을 제2 테이블로부터 추출하는 동작은 상기 명령어에 대한 상기 명령 테이블, 상기 변수 테이블 및 변수에 대한 상기 응답 테이블의 값을 추출하는 컴퓨팅 장치.
  10. 제 9 항에 있어서,
    상기 인터페이스 명령을 수행하는 동작은,
    상기 추출된 명령 테이블, 변수 테이블 또는 응답 테이블의 값을 이용하여 인터페이스 명령을 수행하는 컴퓨팅 장치.
  11. 제 10 항에 있어서,
    상기 명령 테이블은 상기 명령어에 대한 자바 함수 명 및 API URI 값을 정의하는 컴퓨팅 장치.
  12. 제 11 항에 있어서,
    상기 변수 테이블은 상기 명령어에 대한 자바 함수에서 이용하는 변수 명을 정의하는 컴퓨팅 장치.
  13. 제 11 항에 있어서,
    상기 응답 테이블은 변수 명에 대한 응답에 따라 분기 여부 정의하고,
    상기 스크립트에 대한 시나리오는 상기 응답에 따라 시나리오의 흐름이 분기하는 컴퓨팅 장치.
  14. 제 8 항에 있어서,
    상기 STT 변환을 위한 STT 모델은 상기 명령어를 기준으로 생성된 유사 용어에 대한 유사 용어 테이블을 포함하고,
    상기 제1 테이블로부터 추출하는 동작은 상기 키워드의 조합에 대응되는 유사 용어 테이블을 참고하여 명령어를 추출하는 컴퓨팅 장치.
KR1020240107410A 2024-08-12 2024-08-12 키워드 추출을 통한 업무 지원 방법 및 이를 수행하는 컴퓨팅 장치 Active KR102769401B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240107410A KR102769401B1 (ko) 2024-08-12 2024-08-12 키워드 추출을 통한 업무 지원 방법 및 이를 수행하는 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020240107410A KR102769401B1 (ko) 2024-08-12 2024-08-12 키워드 추출을 통한 업무 지원 방법 및 이를 수행하는 컴퓨팅 장치

Publications (1)

Publication Number Publication Date
KR102769401B1 true KR102769401B1 (ko) 2025-02-19

Family

ID=94823083

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240107410A Active KR102769401B1 (ko) 2024-08-12 2024-08-12 키워드 추출을 통한 업무 지원 방법 및 이를 수행하는 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102769401B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200095442A (ko) * 2012-11-09 2020-08-10 삼성전자주식회사 디스플레이장치, 음성취득장치 및 그 음성인식방법
KR20200139599A (ko) * 2019-06-04 2020-12-14 주식회사 위메프 상담 서비스 제공 방법 및 장치
KR102448263B1 (ko) * 2022-03-29 2022-09-28 주식회사 시메이션 로보틱 자동화 방법과 시스템 및 이를 수행하기 위한 컴퓨팅 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200095442A (ko) * 2012-11-09 2020-08-10 삼성전자주식회사 디스플레이장치, 음성취득장치 및 그 음성인식방법
KR20200139599A (ko) * 2019-06-04 2020-12-14 주식회사 위메프 상담 서비스 제공 방법 및 장치
KR102448263B1 (ko) * 2022-03-29 2022-09-28 주식회사 시메이션 로보틱 자동화 방법과 시스템 및 이를 수행하기 위한 컴퓨팅 장치

Similar Documents

Publication Publication Date Title
US12229585B2 (en) Back-end task fulfillment for dialog-driven applications
CN111033492B (zh) 为自动化助手提供命令束建议
US10460728B2 (en) Exporting dialog-driven applications to digital communication platforms
US10217463B2 (en) Hybridized client-server speech recognition
US10331791B2 (en) Service for developing dialog-driven applications
CN107111516B (zh) 数字个人助理内的无头任务完成
KR102351587B1 (ko) 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기
KR102429407B1 (ko) 사용자 구성의 맞춤형 인터렉티브 대화 애플리케이션
KR20210134741A (ko) 어시스턴트 응답을 동적으로 적응시키는 방법, 시스템 및 매체
US20140379334A1 (en) Natural language understanding automatic speech recognition post processing
CN107733722B (zh) 用于配置语音服务的方法和装置
US7171361B2 (en) Idiom handling in voice service systems
US20100094635A1 (en) System for Voice-Based Interaction on Web Pages
JP2001034451A (ja) ヒューマン−マシンダイアログ自動生成方法、システム及びその装置
KR102446961B1 (ko) 원격으로 생성된 자동화된 어시스턴트 콘텐츠를 렌더링할 때 클라이언트 디바이스 지연 완화
JP6625772B2 (ja) 検索方法及びそれを用いた電子機器
Manojkumar et al. AI-based virtual assistant using python: a systematic review
KR20220010034A (ko) 그래픽 사용자 인터페이스에 음성-제어 컨텐츠 입력
KR102769401B1 (ko) 키워드 추출을 통한 업무 지원 방법 및 이를 수행하는 컴퓨팅 장치
EP3843090B1 (en) Method and apparatus for outputting analysis abnormality information in spoken language understanding
US11966562B2 (en) Generating natural languages interface from graphic user interfaces
CN112102820B (zh) 交互方法、交互装置、电子设备和介质
US11488600B2 (en) Efficient dialogue configuration
Jeevitha et al. A study on innovative trends in multimedia library using speech enabled softwares
Jain et al. Automate Personal Voice Based Assistant Using Python

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20240812

PA0201 Request for examination

Patent event code: PA02011R01I

Patent event date: 20240812

Comment text: Patent Application

PA0302 Request for accelerated examination

Patent event date: 20240913

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20241106

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250211

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250213

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250213

End annual number: 3

Start annual number: 1

PG1601 Publication of registration