KR20210061141A - 자연어 처리 방법 및 장치 - Google Patents

자연어 처리 방법 및 장치 Download PDF

Info

Publication number
KR20210061141A
KR20210061141A KR1020190148984A KR20190148984A KR20210061141A KR 20210061141 A KR20210061141 A KR 20210061141A KR 1020190148984 A KR1020190148984 A KR 1020190148984A KR 20190148984 A KR20190148984 A KR 20190148984A KR 20210061141 A KR20210061141 A KR 20210061141A
Authority
KR
South Korea
Prior art keywords
sentence
input
natural language
language processing
similarity
Prior art date
Application number
KR1020190148984A
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 KR1020190148984A priority Critical patent/KR20210061141A/ko
Priority to US16/872,723 priority patent/US11487953B2/en
Priority to CN202010424480.XA priority patent/CN112905735A/zh
Priority to EP20191978.4A priority patent/EP3825895A1/en
Publication of KR20210061141A publication Critical patent/KR20210061141A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Abstract

자연어 처리 방법 및 장치가 개시된다. 개시된 자연어 처리 방법은 사용자의 입력 문장 및 데이터베이스에 저장된 제1 쿼리 문장 간 제1 유사도를 결정하는 단계, 상기 제1 유사도가 제1 임계치보다 낮으면, 상기 입력 문장의 일부와 상기 데이터베이스에 저장된 제2 쿼리 문장 간 제2 유사도를 결정하는 단계 및 상기 제2 유사도가 제2 임계치보다 높으면, 상기 데이터베이스에서 상기 제2 쿼리 문장에 대응하는 응답 문장을 상기 입력 문장의 응답으로 출력하는 단계를 포함한다.

Description

자연어 처리 방법 및 장치{METHOD AND APPARATUS FOR PROCESSIMG NATURAL LANGUAGES}
아래 실시예들은 자연어 처리 방법 및 장치에 관한 것이다.
챗봇 시스템(chatbot system)은 사용자가 입력한 문장에 대응한 응답 문장을 출력하는 시스템으로, 탐색 모델(retrieval model) 기반 챗봇 시스템, 생성 모델(generation model) 기반 챗봇 시스템이 존재한다. 다만, 탐색 모델 기반 챗봇 시스템은 데이터베이스에 저장된 데이터를 기반하기에 데이터베이스에 없는 입력 문장에 대해서는 적절한 응답 문장을 출력하기 어렵다. 또한, 생성 모델 기반 챗봇 시스템은 다양한 응답을 생성할 수 있지만, 문법에 맞지 않은 응답을 하거나, 같은 질문에도 다른 응답을 생성하기도 하여 일관성을 갖기 어렵다.
일실시예에 따른 자연어 처리 방법은 사용자의 입력 문장 및 데이터베이스에 저장된 제1 쿼리 문장 간 제1 유사도를 결정하는 단계; 상기 제1 유사도가 제1 임계치보다 낮으면, 상기 입력 문장의 일부와 상기 데이터베이스에 저장된 제2 쿼리 문장 간 제2 유사도를 결정하는 단계; 및 상기 제2 유사도가 제2 임계치보다 높으면, 상기 데이터베이스에서 상기 제2 쿼리 문장에 대응하는 응답 문장을 상기 입력 문장의 응답으로 출력하는 단계를 포함한다.
일실시예에 따른 자연어 처리 방법에서 상기 입력 문장의 일부는 상기 입력 문장에 포함된 성분들 중 어느 하나일 수 있다.
일실시예에 따른 자연어 처리 방법에서 상기 입력 문장의 일부는 상기 입력 문장에 포함된 동사일 수 있다
일실시예에 따른 자연어 처리 방법에서 상기 입력 문장의 일부는 상기 입력 문장을 처리하는 태스크(task)의 종류에 대응하는 것으로 선택된 문장 성분일 수 있다.
일실시예에 따른 자연어 처리 방법에서 상기 태스크의 종류는 챗봇, 검색을 포함할 수 있다.
일실시예에 따른 자연어 처리 방법에서 상기 입력 문장의 일부는 상기 입력 문장에 형태소 분석을 수행하여 선택될 수 있다.
일실시예에 따른 자연어 처리 방법은 상기 제1 유사도가 제1 임계치보다 높으면, 상기 데이터베이스에서 상기 제1 쿼리 문장에 대응하는 응답 문장을 상기 음성 신호의 응답으로 출력하는 단계를 더 포함할 수 있다.
일실시예에 따른 자연어 처리 방법은 상기 제2 유사도가 상기 제2 임계치보다 낮으면, 생성 모델에서 상기 입력 문장에 대응하는 응답 문장을 생성하여 출력하는 단계를 더 포함할 수 있다.
일실시예에 따른 자연어 처리 방법에서 상기 사용자의 입력 문장은 상기 사용자가 발화한 음성 신호 또는 상기 사용자가 입력한 텍스트 데이터로부터 획득될 수 있다.
일실시예에 따른 자연어 처리 방법은 사용자의 입력 문장에 포함된 성분들 중 어느 하나를 선택하는 단계; 상기 선택된 성분과 데이터베이스에 저장된 쿼리 문장 간 유사도를 결정하는 단계; 및 상기 유사도가 임계치보다 높으면, 상기 데이터베이스에서 상기 쿼리 문장에 대응하는 응답 문장을 상기 입력 문장의 응답으로 출력하는 단계를 포함한다.
일실시예에 따른 자연어 처리 방법에서 상기 성분들 중 어느 하나를 선택하는 단계는 상기 성분들 중에서 상기 입력 문장을 처리하는 태스크의 종류에 대응하는 어느 하나를 선택할 수 있다.
일실시예에 따른 자연어 처리 방법에서 상기 성분들 중 어느 하나를 선택하는 단계는 상기 입력 문장에 형태소 분석을 수행하여 상기 성분들 중 어느 하나를 선택할 수 있다.
일실시예에 따른 자연어 처리 방법은 상기 유사도가 상기 임계치보다 낮으면, 생성 모델에서 상기 입력 문장에 대응하는 응답 문장을 획득하여 출력하는 단계를 더 포함할 수 있다.
일실시예에 따른 자연어 처리 장치는 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 사용자의 입력 문장 및 데이터베이스에 저장된 제1 쿼리 문장 간 제1 유사도를 결정하고, 상기 제1 유사도가 제1 임계치보다 낮으면, 상기 입력 문장의 일부와 상기 데이터베이스에 저장된 제2 쿼리 문장 간 제2 유사도를 결정하며, 상기 제2 유사도가 제2 임계치보다 높으면, 상기 데이터베이스에서 상기 제2 쿼리 문장에 대응하는 응답 문장을 상기 입력 문장의 응답으로 출력한다.
도 1은 일실시예에 따른 탐색 모델로 응답 문장을 결정하는 과정을 설명하기 위한 도면이다.
도 2 및 도 3은 일실시예에 따른 탐색 모델과 생성 모델을 이용하여 응답 문장을 결정하는 과정을 설명하기 위한 도면이다.
도 4 및 도 5는 일실시예에 따라 결정된 응답 문장의 예시들을 나타낸 도면이다.
도 6 및 도 7은 일실시예에 따른 자연어 처리 방법을 나타낸 도면이다.
도 8은 일실시예에 따른 자연어 처리 장치를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 아래의 특정한 구조적 내지 기능적 설명들은 단지 실시예들을 설명하기 위한 목적으로 예시된 것으로, 실시예의 범위가 본문에 설명된 내용에 한정되는 것으로 해석되어서는 안된다. 관련 기술 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타내며, 공지된 기능 및 구조는 생략하도록 한다.
일실시예에 따른 자연어 처리 장치는 사용자로부터 입력된 문장에 대한 응답 문장을 결정할 수 있으며, 예를 들어, 챗봇 시스템 등을 포함할 수 있다. 자연어 처리 장치에서 응답 문장을 결정할 때, 탐색 모델 및/또는 생성 모델이 이용될 수 있다. 탐색 모델은 쿼리 문장과 응답 문장의 여러 쌍(pair)이 저장된 데이터베이스에서 사용자의 입력 문장과 가장 유사한 쿼리 문장을 검색하고, 검색된 쿼리 문장에 대응하는 응답 문장을 입력 문장의 응답으로 출력할 수 있다. 생성 모델은 많은 양의 데이터로 미리 학습되어 사용자로부터 입력된 문장에 대해 가장 적절한 응답 문장을 생성할 수 있다. 이하, 자연어 처리 장치에서 응답 문장을 결정하기 위해 탐색 모델 및/또는 생성 모델을 이용하는 과정에 대해 상세히 설명한다.
도 1은 일실시예에 따른 탐색 모델로 응답 문장을 결정하는 과정을 설명하기 위한 도면이다.
도 1을 참조하면, 일실시예에 따른 학습(pretrain), 인덱싱(indexing), 추론(inference) 과정이 도시된다.
학습 과정에서, 다양한 코퍼스 데이터(corpus data)에 기반하여 인코더 및 디코더가 학습될 수 있다. 예를 들어, 학습에 이용되는 코퍼스 데이터가 wiki 데이터인 경우, 현재 문장(present sentence), 다음 문장(next sentence)이 하나의 학습 데이터 쌍으로 구성될 수 있다. 현재 문장이 인코더에 입력되면, 인코더는 현재 문장의 임베딩 벡터를 컨텍스트 정보로 출력하고, 디코더는 이러한 컨텍스트 정보를 이용하여 다음 문장이 출력되도록, 인코더와 디코더가 학습될 수 있다. 또한, 학습에 이용되는 코퍼스 데이터가 질문, 답변 형태인 경우에는 질문, 답변이 하나의 학습 데이터 쌍으로 구성될 수 있다. 마찬가지로, 질문이 인코더에 입력되었을 때 디코더에서 답변이 출력되도록, 인코더 및 디코더가 학습될 수 있다.
인덱싱 과정에서, 기 학습된 인코더를 이용한 임베딩 벡터 변환이 수행될 수 있다. 문장 데이터베이스는 쿼리 문장과 응답 문장의 여러 쌍을 저장할 수 있다. 여기서, 쿼리 문장이 입력된 인코더로부터 해당 쿼리 문장의 임베딩 벡터가 획득될 수 있다. 임베딩 데이터베이스는 쿼리 임베딩 벡터와 응답 문장의 여러 쌍을 저장할 수 있다.
추론 과정에서, 사용자로부터 입력된 문장은 앞서 설명한 인코더를 통해 입력 임베딩 벡터로 변환될 수 있다. 입력 임베딩 벡터와 임베딩 데이터베이스에 저장된 복수의 쿼리 임베딩 벡터들 각각 사이의 유사도가 결정될 수 있다. 입력 임베딩 벡터와 가장 유사도가 높은 쿼리 임베딩 벡터가 결정되고, 결정된 쿼리 임베딩 벡터에 대응하는 응답 문장이 사용자의 입력 문장에 대한 응답으로 출력될 수 있다.
이처럼 사용자로부터 문장이 입력되면, 입력 문장의 전체와 데이터베이스에 저장된 쿼리 문장 간 유사도에 기초하여 응답 문장이 결정될 수 있다. 다만, 만약 결정된 유사도가 제1 임계치보다 낮다면 입력 문장이 임베딩 데이터베이스에서 탐색된 쿼리 문장과 유사하지 않다는 것이고, 이 경우 쿼리 문장에 대응하는 응답 문장이 입력 문장의 응답으로 적합하지 않게 된다. 따라서, 다른 기준으로 유사도를 결정하여 데이터베이스에서 적절한 응답 문장을 탐색하거나, 생성 모델을 통해 응답 문장을 생성할 필요가 있다. 자세한 내용은 도 2 내지 도 3을 통해 후술한다.
도 2 및 도 3은 일실시예에 따른 탐색 모델과 생성 모델을 이용하여 응답 문장을 결정하는 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 일실시예에 따른 자연어 처리 장치가 응답 문장을 결정하는 과정을 설명하기 위한 플로우차트가 도시된다.
단계(210)에서, 자연어 처리 장치는 사용자로부터 입력 문장을 수신할 수 있다. 예를 들어, 입력 문장은 사용자가 발화한 음성 신호로부터 획득되거나, 또는 사용자가 입력한 텍스트 데이터로부터 획득될 수 있다. 자연어 처리 장치는 사용자가 발화한 음성 신호를 수신하여 입력 문장을 결정할 수 있다. 또는, 자연어 처리 장치는 텍스트 입력을 통해 사용자로부터 입력 문장을 수신할 수 있다.
단계(220)에서, 자연어 처리 장치는 사용자의 입력 문장 전체와 탐색 모델의 데이터베이스에 저장된 복수의 쿼리 문장들 각각 사이의 유사도를 결정할 수 있다. 예를 들어, 유사도는 입력 문장 전체에 대한 임베딩 벡터와 각 쿼리 문장의 임베딩 벡터 간 코사인 유사도(cosine similarity)일 수 있다. 이 때, 가장 높은 유사도를 가지는 제1 쿼리 문장이 식별될 수 있고, 해당 유사도가 제1 유사도로 결정될 수 있다.
단계(230)에서, 자연어 처리 장치는 제1 유사도가 제1 임계치보다 높은지 여부를 판단할 수 있다. 만약 제1 유사도가 제1 임계치보다 높다면 단계(240)가 이어서 수행될 수 있고, 반대로 제1 유사도가 제1 임계치보다 낮다면 단계(250)가 이어서 수행될 수 있다. 제1 유사도가 제1 임계치와 동일한 경우는 실시예에 따라 단계(240) 또는 단계(250)가 이어서 수행될 수 있다.
단계(240)에서, 자연어 처리 장치는 데이터베이스에서 제1 쿼리 문장에 대응하는 제1 응답 문장을 선택하여 입력 문장의 응답으로 출력할 수 있다. 예를 들어, 자연어 처리 장치는 제1 응답 문장을 오디오 형태로 스피커를 통해 재생하거나, 또는 텍스트 형태로 디스플레이에 표시할 수 있다.
단계(250)에서, 자연어 처리 장치는 입력 문장에 형태소 분석을 수행하여 입력 문장의 일부를 추출할 수 있다.
형태소 분석을 통해, 입력 문장이 최소의 의미 단위인 형태소로 나누어져, 하나 이상의 문장 성분들로 구분될 수 있다. 예를 들어, 입력 문장 "월드컵 끝나서 슬퍼"는 형태소 분석을 통해 "월드컵/NNG", "끝/NNG", "나/NP", "서/JKB", "슬퍼/VA+EC"로 구분될 수 있다. NNG는 일반 명사를 나타내고, NP는 대명사를 나타내고, JKB는 부사격 조사를 나타내고, VA는 형용사를 나타내며, EC는 연결 어미를 나타낸다. 다른 예시로, 입력 문장 "바지가 안 들어가"는 형태소 분석을 통해 "바지/NNG", "가/JKS", "안/MAG", "들어가/VV+EC"로 구분될 수 있다. JKS는 주격 조사를 나타내고, MAG는 일반 부사를 나타내며, VV는 동사를 나타낸다.
입력 문장에 포함된 성분들 중 어느 하나가 입력 문장의 일부로 추출될 수 있다. 입력 문장의 일부는 입력 문장을 처리하는 태스크의 종류에 대응하는 문장 성분일 수 있다. 예를 들어, 태스크의 종류는 챗봇, 검색을 포함할 수 있다. 목적 지향적 대화 또는 일상 대화를 수행하는 챗봇 태스크의 경우, 입력 문장에 포함된 성분들 중 동사가 입력 문장의 일부로 추출될 수 있다. 또는, 검색 엔진을 이용한 검색 태스크의 경우, 입력 문장에 포함된 성분들 중 명사가 입력 문장의 일부로 추출될 수 있다.
또는, 입력 문장에 포함된 성분들 중에서 미리 정해진 순서로 어느 하나의 성분이 추출될 수 있다. 예를 들어, 추출 순서가 동사, 명사, 형용사/부사인 경우, 입력 문장에 포함된 성분들 중 동사를 먼저 추출하고, 만약 동사가 추출되지 않으면 명사를 추출하고, 만약 명사도 추출되지 않으면 형용사 및/또는 부사가 차례로 추출될 수도 있다.
단계(260)에서, 자연어 처리 장치는 사용자의 입력 문장 일부와 탐색 모델의 데이터베이스에 저장된 복수의 쿼리 문장들 각각 사이의 유사도를 결정할 수 있다. 예를 들어, 유사도는 입력 문장 일부에 대한 임베딩 벡터와 각 쿼리 문장의 임베딩 벡터 간 코사인 유사도일 수 있다. 이 때, 가장 높은 유사도를 가지는 제2 쿼리 문장이 식별될 수 있고, 해당 유사도가 제2 유사도로 결정될 수 있다. 이 때, 제2 쿼리 문장은 입력 문장 전체와 가장 유사한 제1 쿼리 문장과 동일 또는 상이할 수 있다.
단계(270)에서, 자연어 처리 장치는 제2 유사도가 제2 임계치보다 높은지 여부를 판단할 수 있다. 만약 제2 유사도가 제2 임계치보다 높다면 단계(280)가 이어서 수행될 수 있고, 반대로 제2 유사도가 제2 임계치보다 낮다면 단계(290)가 이어서 수행될 수 있다. 제2 유사도가 제2 임계치와 동일한 경우는 실시예에 따라 단계(280) 또는 단계(290)가 이어서 수행될 수 있다.
도 2에서는 도시되지 않았으나, 단계(270)에서 추가적으로 입력 문장 전체와 제2 쿼리 문장 간 제3 유사도가 제3 임계치보다 높은지 여부가 판단될 수 있다. 만약 입력 문장 일부와 가장 유사한 제2 쿼리 문장이 입력 문장 전체와 유사하지 않다면, 제2 쿼리 문장에 대응하는 제2 응답 문장이 적절한 응답이 될 수 없고, 이 경우 단계(290)이 이어서 수행될 수 있다.
단계(280)에서, 자연어 처리 장치는 데이터베이스에서 제2 쿼리 문장에 대응하는 제2 응답 문장을 선택하여 입력 문장의 응답으로 출력할 수 있다.
단계(290)에서, 자연어 처리 장치는 입력 문장 전체가 입력된 생성 모델로부터 입력 문장에 대응하는 응답 문장을 획득하여 출력할 수 있다.
도 3을 참조하면, 일실시예에 따라 자연어 처리 장치에서 이용되는 탐색 모델(310, 320), 생성 모델(330), 선택 모델(340)이 도시된다. 탐색 모델(310)은 입력 문장 전체와 가장 유사한 쿼리 문장을 데이터베이스에서 검색함으로써 응답 문장을 결정할 수 있다. 탐색 모델(320)은 입력 문장 일부와 가장 유사한 쿼리 문장을 데이터베이스에서 검색함으로써 응답 문장을 결정할 수 있다. 생성 모델(330)은 입력 문장 전체를 고려하여 이에 대응하는 응답 문장을 생성할 수 있다. 선택 모델(340)은 탐색 모델(310, 320), 생성 모델(330) 중 어느 하나에서 결정된 응답 문장을 선택할 수 있다.
일례로, 입력 문장 "인절미가 제일 좋아"의 경우, 탐색 모델(310)에서는 해당 입력 문장 전체와 가장 유사한 것으로 제1 쿼리 문장 "떡 좋아해"이 식별될 수 있다. 다만, 입력 문장 "인절미가 제일 좋아"와 제1 쿼리 문장 "떡 좋아해" 간 제1 유사도 0.694가 미리 정해진 임계치 0.85보다 낮으므로, 탐색 모델(320)이 이어서 이용될 수 있다. 탐색 모델(320)에서는 해당 입력 문장 일부(예컨대, 동사 성분인 "제일 좋아")와 가장 유사한 것으로 제2 쿼리 문장 "제일 좋아"가 식별될 수 있다. 입력 문장 일부 "제일 좋아"와 제2 쿼리 문장 "제일 좋아" 간 제2 유사도 1.000이 미리 정해진 제2 임계치 0.9보다 높으므로, 제2 쿼리 문장 "제일 좋아"에 대응하는 응답 문장 "저도요!"가 응답으로 선택되어 출력될 수 있다.
다른 일례로, 입력 문장 "오늘 미세먼지 심하대"의 경우, 탐색 모델(310)에서는 해당 입력 문장 전체와 가장 유사한 것으로 제1 쿼리 문장 "오늘 미세먼지 어때"가 식별될 수 있으나, 그에 따른 제1 유사도 0.825가 제1 임계치 0.85보다 낮으므로, 탐색 모델(320)이 이어서 이용될 수 있다. 탐색 모델(520)에서는 해당 입력 문장 일부(예컨대, 동사 성분인 "심하대")와 가장 유사한 것으로 제2 쿼리 문장 "오늘 혼났어"가 식별될 수 있으나, 그에 따른 제2 유사도 0.838가 제2 임계치 0.9보다 낮으므로, 생성 모델(330)이 이어서 이용될 수 있다. 생성 모델(330)에서 입력 문장 "오늘 미세먼지 심하대"에 대응하여 생성된 응답 문장 "마스크 쓰세요"가 응답으로 선택되어 출력될 수 있다.
도 4 및 도 5는 일실시예에 따라 결정된 응답 문장의 예시들을 나타낸 도면이다.
도 4를 참조하면, 입력 문장 전체에 매칭되는 쿼리 문장 및 응답 문장, 입력 문장 일부에 매칭되는 쿼리 문장 및 응답 문장의 예시들이 도시된다. 도 4에서는 설명의 편의를 위해 동사 성분이 입력 문장의 일부로 선택되는 경우를 가정한다. 예를 들어, 입력 문장 "월드컵 끝나서 슬퍼"의 경우, 데이터베이스에 모든 입력 문장들이 저장될 수 없기 때문에 입력 문장 전체와 가장 유사한 것으로 쿼리 문장 "월드컵 하는구나"가 선택될 수 있다. 입력 문장 "월드컵 끝나서 슬퍼"와 쿼리 문장 "월드컵 하는구나" 사이의 유사도가 충분하지 않기 때문에(예컨대, 제1 임계치 이하), 쿼리 문장 "월드컵 하는구나"에 대응하는 응답 문장 "과연 이번에는 어떤 나라가 우승할지 궁금하네요"가 입력 문장 "월드컵 끝나서 슬퍼"의 응답으로 적절하지 않다. 반면, 입력 문장의 일부 "슬퍼"와 가장 유사한 것으로 쿼리 문장 "슬퍼"가 데이터베이스에서 선택될 수 있다. 입력 문장의 일부 "슬퍼"와 쿼리 문장 "슬퍼" 사이의 유사도가 충분하기 때문에(예컨대, 제2 임계치 이상), 쿼리 문장 "슬퍼"에 대응하는 응답 문장 "그것 참 속한 말이네요"가 입력 문장 "월드컵 끝나서 슬퍼"의 응답으로 출력될 수 있으며, 사용자는 자연스러운 챗봇 대화를 경험할 수 있다. 이처럼 도 4의 예시들에서 확인할 수 있듯이, 입력 문장 전체에 기반한 유사도가 충분하지 않은 경우에는 입력 문장 일부에 매칭되는 쿼리 문장을 이용하여 응답 문장을 결정하는 것이 정확한 응답을 기대할 수 있다.
도 5를 참조하면, "문장 전체 기반 탐색 모델", "문장 전체/일부 기반 탐색 모델", "선택 모델(탐색 모델 + 생성 모델)"을 통해 각 입력 문장에 대해 결정된 응답 문장의 예시들이 도시된다. 탐색 모델이 이용하는 데이터베이스에는 유한 개수의 쿼리 문장, 응답 문장의 쌍이 저장되기 때문에, 특정 입력 문장 전체에 대해서는 높은 유사도를 갖는 쿼리 문장이 검색되지 않을 수 있고, 그래서 적절하지 않은 응답 문장이 출력될 수 있다. 이 경우, 입력 문장에서 중요 의미를 가지는 일부 문장 성분을 기준으로 하면 데이터베이스에서 높은 유사도를 가지는 쿼리 문장이 검색될 수 있고, 이를 통해 적절한 응답 문장을 출력할 수 있다. 만약 입력 문장의 일부에 대해서도 높은 유사도를 갖는 쿼리 문장이 검색되지 않은 경우에는 생성 모델을 이용하여 응답 문장이 결정되고 출력될 수 있다.
일례로, 입력 문장 "난 친구가 없어"의 경우, 문장 전체 기반 탐색 모델은 입력 문장 전체와 가장 유사한 쿼리 문장을 검색하고, 검색된 쿼리 문장에 대응한 응답 문장 "빅스비에게 열광하는 수많은 친구가 있답니다"를 출력하게 된다. 탐색 모델이 참조하는 데이터베이스에 가능한 모든 쿼리 문장을 저장하기 어렵기 때문에 입력 문장과 유사도가 높지 않은 쿼리 문장이 검색될 경우, 사용자가 느끼기에 다소 엉뚱한 응답 문장이 출력될 수 있다.
반면, 문장 전체/일부 기반 탐색 모델은 입력 문장 전체에 기반하여 검색된 쿼리 문장이 입력 문장 전체와의 유사도가 충분하지 않다면, 입력 문장 일부에 기반하여 쿼리 문장 검색을 다시 수행할 수 있다. 입력 문장 전체보다는 입력 문장 일부를 기준으로 높은 유사도를 가지는 쿼리 문장을 찾기가 상대적으로 쉽기 때문에, 입력 문장 일부와 가장 유사한 것으로 검색된 쿼리 문장의 응답 문장 "친해지고 싶은 사람에게 먼저 다가가 마음을 전해보세요"가 입력 문장의 자연스러운 응답으로 출력될 수 있다.
다른 일례로, 입력 문장 "바홈쿠헨 먹어봤니"의 경우처럼, 입력 문장 전체뿐만 아니라 입력 문장 일부를 이용한 탐색 모델의 출력 응답이 입력 문장의 응답으로 적절하지 않을 수 있다. 이 경우, 선택 모델(탐색 모델 + 생성 모델)은 생성 모델에서 생성된 응답 문장 "아니요. 기회가 되면 꼭 먹어보고 싶네요"를 입력 문장의 자연스러운 응답으로 선택하여 출력할 수 있다.
도 6 및 도 7은 일실시예에 따른 자연어 처리 방법을 나타낸 도면이다.
도 6을 참조하면, 일실시예에 따른 자연어 처리 장치에 구비된 프로세서에서 수행되는 자연어 처리 방법이 도시된다.
단계(610)에서, 자연어 처리 장치는 사용자의 입력 문장 및 데이터베이스에 저장된 제1 쿼리 문장 간 제1 유사도를 결정한다. 사용자의 입력 문장은 사용자가 발화한 음성 신호 또는 사용자가 입력한 텍스트 데이터로부터 획득될 수 있다.
자연어 처리 장치는 제1 유사도가 제1 임계치보다 높으면, 데이터베이스에서 제1 쿼리 문장에 대응하는 응답 문장을 음성 신호의 응답으로 출력할 수 있다.
단계(620)에서, 자연어 처리 장치는 제1 유사도가 제1 임계치보다 낮으면 입력 문장의 일부와 데이터베이스에 저장된 제2 쿼리 문장 간 제2 유사도를 결정한다. 입력 문장의 일부는 입력 문장에 포함된 성분들 중 어느 하나일 수 있다. 입력 문장의 일부는 입력 문장에 포함된 동사일 수 있다. 입력 문장의 일부는 입력 문장을 처리하는 태스크의 종류에 대응하는 것으로 선택된 문장 성분일 수 있다. 태스크의 종류는 챗봇, 검색을 포함할 수 있다. 입력 문장의 일부는 입력 문장에 형태소 분석을 수행하여 선택될 수 있다.
단계(630)에서, 자연어 처리 장치는 제2 유사도가 제2 임계치보다 높으면, 데이터베이스에서 제2 쿼리 문장에 대응하는 응답 문장을 입력 문장의 응답으로 출력한다.
자연어 처리 장치는 제2 유사도가 제2 임계치보다 낮으면, 생성 모델에서 입력 문장에 대응하는 응답 문장을 생성하여 출력할 수 있다.
도 7을 참조하면, 다른 일실시예에 따른 자연어 처리 장치에 구비된 프로세서에서 수행되는 자연어 처리 방법이 도시된다.
단계(710)에서, 자연어 처리 장치는 사용자의 입력 문장에 포함된 성분들 중 어느 하나를 선택한다. 자연어 처리 장치는 성분들 중에서 입력 문장을 처리하는 태스크의 종류에 대응하는 어느 하나를 선택할 수 있다. 자연어 처리 장치는 입력 문장에 형태소 분석을 수행하여 성분들 중 어느 하나를 선택할 수 있다.
단계(720)에서, 자연어 처리 장치는 선택된 성분과 데이터베이스에 저장된 쿼리 문장 간 유사도를 결정한다.
단계(730)에서, 자연어 처리 장치는 유사도가 임계치보다 높으면, 데이터베이스에서 쿼리 문장에 대응하는 응답 문장을 입력 문장의 응답으로 출력한다.
자연어 처리 장치는 유사도가 임계치보다 낮으면 생성 모델에서 입력 문장에 대응하는 응답 문장을 획득하여 출력할 수 있다.
도 6 및 도 7에 도시된 각 단계들에는 도 1 내지 도 5를 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
도 8은 일실시예에 따른 자연어 처리 장치를 나타낸 도면이다.
도 8를 참조하면, 일실시예에 따른 자연어 처리 장치(800)는 메모리(810), 프로세서(820) 및 입출력 인터페이스(830)를 포함한다. 메모리(810), 프로세서(820) 및 입출력 인터페이스(830)는 버스(bus)(840)를 통하여 서로 통신할 수 있다.
메모리(810)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(820)는 메모리(810)에 저장된 명령어가 프로세서(820)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(810)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(820)는 명령어들, 혹은 프로그램들을 실행하거나, 자연어 처리 장치(800)를 제어하는 장치로서, 예를 들어, CPU(Central Processing Unit) 및/또는 GPU(Graphic Processing Unit)을 포함할 수 있다. 자연어 처리 장치(800)는 입출력 인터페이스(830)를 통하여 외부 장치(예를 들어, 마이크로폰, 키보드)에 연결되어, 사용자의 입력 문장을 수신하거나, 응답 문장을 출력할 수 있다. 자연어 처리 장치(800)는 스마트 폰, 웨어러블 장치, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터, 스마트 텔레비전 등 스마트 가전 기기, 스마트 자동차, 키오스크 등 다양한 컴퓨팅 장치의 일부로 구현될 수 있다. 그 밖에, 자연어 처리 장치(800)에 관해서는 상술된 동작을 처리할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (20)

  1. 사용자의 입력 문장 및 데이터베이스에 저장된 제1 쿼리 문장 간 제1 유사도를 결정하는 단계;
    상기 제1 유사도가 제1 임계치보다 낮으면, 상기 입력 문장의 일부와 상기 데이터베이스에 저장된 제2 쿼리 문장 간 제2 유사도를 결정하는 단계; 및
    상기 제2 유사도가 제2 임계치보다 높으면, 상기 데이터베이스에서 상기 제2 쿼리 문장에 대응하는 응답 문장을 상기 입력 문장의 응답으로 출력하는 단계
    를 포함하는
    자연어 처리 방법.
  2. 제1항에 있어서,
    상기 입력 문장의 일부는
    상기 입력 문장에 포함된 성분들 중 어느 하나인,
    자연어 처리 방법.
  3. 제2항에 있어서,
    상기 입력 문장의 일부는
    상기 입력 문장에 포함된 동사인,
    자연어 처리 방법.
  4. 제1항에 있어서,
    상기 입력 문장의 일부는
    상기 입력 문장을 처리하는 태스크의 종류에 대응하는 것으로 선택된 문장 성분인,
    자연어 처리 방법.
  5. 제4항에 있어서,
    상기 태스크의 종류는 챗봇, 검색을 포함하는,
    자연어 처리 방법.
  6. 제1항에 있어서,
    상기 입력 문장의 일부는
    상기 입력 문장에 형태소 분석을 수행하여 선택되는,
    자연어 처리 방법.
  7. 제1항에 있어서,
    상기 제1 유사도가 제1 임계치보다 높으면, 상기 데이터베이스에서 상기 제1 쿼리 문장에 대응하는 응답 문장을 상기 음성 신호의 응답으로 출력하는 단계
    를 더 포함하는,
    자연어 처리 방법.
  8. 제1항에 있어서,
    상기 제2 유사도가 상기 제2 임계치보다 낮으면, 생성 모델에서 상기 입력 문장에 대응하는 응답 문장을 생성하여 출력하는 단계
    를 더 포함하는,
    자연어 처리 방법.
  9. 제1항에 있어서,
    상기 사용자의 입력 문장은
    상기 사용자가 발화한 음성 신호 또는 상기 사용자가 입력한 텍스트 데이터로부터 획득되는,
    자연어 처리 방법.
  10. 사용자의 입력 문장에 포함된 성분들 중 어느 하나를 선택하는 단계;
    상기 선택된 성분과 데이터베이스에 저장된 쿼리 문장 간 유사도를 결정하는 단계; 및
    상기 유사도가 임계치보다 높으면, 상기 데이터베이스에서 상기 쿼리 문장에 대응하는 응답 문장을 상기 입력 문장의 응답으로 출력하는 단계
    를 포함하는
    자연어 처리 방법.
  11. 제10항에 있어서,
    상기 성분들 중 어느 하나를 선택하는 단계는
    상기 성분들 중에서 상기 입력 문장을 처리하는 태스크의 종류에 대응하는 어느 하나를 선택하는,
    자연어 처리 방법.
  12. 제10항에 있어서,
    상기 성분들 중 어느 하나를 선택하는 단계는
    상기 입력 문장에 형태소 분석을 수행하여 상기 성분들 중 어느 하나를 선택하는,
    자연어 처리 방법.
  13. 제10항에 있어서,
    상기 유사도가 상기 임계치보다 낮으면, 생성 모델에서 상기 입력 문장에 대응하는 응답 문장을 획득하여 출력하는 단계
    를 더 포함하는,
    자연어 처리 방법.
  14. 제1항 내지 제13항 중에서 어느 하나의 항의 방법을 실행시키기 위한 프로그램이 기록된 컴퓨터 판독 가능한 저장 매체.
  15. 하나 이상의 프로세서를 포함하고,
    상기 하나 이상의 프로세서는
    사용자의 입력 문장 및 데이터베이스에 저장된 제1 쿼리 문장 간 제1 유사도를 결정하고,
    상기 제1 유사도가 제1 임계치보다 낮으면, 상기 입력 문장의 일부와 상기 데이터베이스에 저장된 제2 쿼리 문장 간 제2 유사도를 결정하며,
    상기 제2 유사도가 제2 임계치보다 높으면, 상기 데이터베이스에서 상기 제2 쿼리 문장에 대응하는 응답 문장을 상기 입력 문장의 응답으로 출력하는,
    자연어 처리 장치.
  16. 제15항에 있어서,
    상기 입력 문장의 일부는
    상기 입력 문장에 포함된 성분들 중 어느 하나인,
    자연어 처리 장치.
  17. 제16항에 있어서,
    상기 입력 문장의 일부는
    상기 입력 문장에 포함된 동사인,
    자연어 처리 장치.
  18. 제15항에 있어서,
    상기 입력 문장의 일부는
    상기 입력 문장을 처리하는 태스크의 종류에 대응하는 것으로 선택된 문장 성분인,
    자연어 처리 장치.
  19. 제18항에 있어서,
    상기 태스크의 종류는 챗봇, 검색을 포함하는,
    자연어 처리 장치.
  20. 제15항에 있어서,
    상기 입력 문장의 일부는
    상기 입력 문장에 형태소 분석을 수행하여 선택되는,
    자연어 처리 장치.
KR1020190148984A 2019-11-19 2019-11-19 자연어 처리 방법 및 장치 KR20210061141A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020190148984A KR20210061141A (ko) 2019-11-19 2019-11-19 자연어 처리 방법 및 장치
US16/872,723 US11487953B2 (en) 2019-11-19 2020-05-12 Method and apparatus with natural language processing
CN202010424480.XA CN112905735A (zh) 2019-11-19 2020-05-19 用于自然语言处理的方法和设备
EP20191978.4A EP3825895A1 (en) 2019-11-19 2020-08-20 Method and apparatus with natural language processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190148984A KR20210061141A (ko) 2019-11-19 2019-11-19 자연어 처리 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210061141A true KR20210061141A (ko) 2021-05-27

Family

ID=72193260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190148984A KR20210061141A (ko) 2019-11-19 2019-11-19 자연어 처리 방법 및 장치

Country Status (4)

Country Link
US (1) US11487953B2 (ko)
EP (1) EP3825895A1 (ko)
KR (1) KR20210061141A (ko)
CN (1) CN112905735A (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922300B2 (en) * 2016-03-01 2024-03-05 Microsoft Technology Licensing, Llc. Automated commentary for online content
US11379670B1 (en) * 2019-09-30 2022-07-05 Splunk, Inc. Automatically populating responses using artificial intelligence
CN111177355B (zh) * 2019-12-30 2021-05-28 北京百度网讯科技有限公司 基于搜索数据的人机对话交互方法、装置和电子设备
US20210406292A1 (en) * 2020-06-30 2021-12-30 Google Llc Recognizing polling questions from a conference call discussion
US11755181B2 (en) 2020-08-25 2023-09-12 Google Llc Populating answers to polling questions based on initial responses
US11245648B1 (en) * 2020-07-31 2022-02-08 International Business Machines Corporation Cognitive management of context switching for multiple-round dialogues
US20220138170A1 (en) * 2020-10-29 2022-05-05 Yext, Inc. Vector-based search result generation
US11379253B2 (en) * 2020-11-30 2022-07-05 International Business Machines Corporation Training chatbots for remote troubleshooting
JP2022102306A (ja) * 2020-12-25 2022-07-07 トヨタ自動車株式会社 エージェント表示方法、プログラム、及びエージェント表示システム
US11805159B2 (en) 2021-08-24 2023-10-31 Google Llc Methods and systems for verbal polling during a conference call discussion
US11838448B2 (en) 2021-08-26 2023-12-05 Google Llc Audio-based polling during a conference call discussion
WO2023222882A1 (en) * 2022-05-19 2023-11-23 Deepmind Technologies Limited Resource navigation using neural networks

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6859800B1 (en) * 2000-04-26 2005-02-22 Global Information Research And Technologies Llc System for fulfilling an information need
US6687689B1 (en) * 2000-06-16 2004-02-03 Nusuara Technologies Sdn. Bhd. System and methods for document retrieval using natural language-based queries
IL142421A0 (en) * 2001-04-03 2002-03-10 Linguistic Agents Ltd Linguistic agent system
JP5377430B2 (ja) 2009-07-08 2013-12-25 本田技研工業株式会社 質問応答データベース拡張装置および質問応答データベース拡張方法
EP2354967A1 (en) * 2010-01-29 2011-08-10 British Telecommunications public limited company Semantic textual analysis
CN103294666B (zh) * 2013-05-28 2017-03-01 百度在线网络技术(北京)有限公司 语法编译方法、语义解析方法以及对应装置
US20150058059A1 (en) * 2013-08-22 2015-02-26 KB Cubed, LLC Systems and methods for facilitating and coordinating online and offline relationships
US10235470B2 (en) * 2013-12-06 2019-03-19 Here Global B.V. User retrieval enhancement
WO2016048296A1 (en) * 2014-09-24 2016-03-31 Hewlett-Packard Development Company, L.P. Select a question to associate with a passage
US20160196360A1 (en) * 2014-12-22 2016-07-07 Pricewaterhousecoopers Llp System and method for searching structured and unstructured data
US11256691B1 (en) * 2016-06-29 2022-02-22 Emc Corporation System and method to enhance phrase search with nested thesaurus parsing
US10162816B1 (en) 2017-06-15 2018-12-25 Oath Inc. Computerized system and method for automatically transforming and providing domain specific chatbot responses
CN107491547B (zh) 2017-08-28 2020-11-10 北京百度网讯科技有限公司 基于人工智能的搜索方法和装置
GB2568233A (en) 2017-10-27 2019-05-15 Babylon Partners Ltd A computer implemented determination method and system
KR102517843B1 (ko) 2017-12-06 2023-04-03 주식회사 케이티 Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
US11080667B2 (en) 2017-12-13 2021-08-03 Visa International Service Association System and method for automated chatbots
KR102047010B1 (ko) 2017-12-21 2019-11-20 주식회사 카카오 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
KR20190080599A (ko) 2017-12-28 2019-07-08 주식회사 카카오 챗봇과 상담원을 이용한 반자동 대화제공방법 및 서버
CN109994108B (zh) 2017-12-29 2023-08-29 微软技术许可有限责任公司 用于聊天机器人和人之间的会话交谈的全双工通信技术
US10515155B2 (en) 2018-02-09 2019-12-24 Digital Genius Limited Conversational agent
WO2019160791A1 (en) 2018-02-16 2019-08-22 Mz Ip Holdings, Llc System and method for chat community question answering
US11068518B2 (en) * 2018-05-17 2021-07-20 International Business Machines Corporation Reducing negative effects of service waiting time in humanmachine interaction to improve the user experience
KR102026338B1 (ko) 2018-10-08 2019-09-27 엘지전자 주식회사 인공지능 자가 학습 로봇
US11151191B2 (en) * 2019-04-09 2021-10-19 International Business Machines Corporation Video content segmentation and search

Also Published As

Publication number Publication date
US11487953B2 (en) 2022-11-01
CN112905735A (zh) 2021-06-04
EP3825895A1 (en) 2021-05-26
US20210150155A1 (en) 2021-05-20

Similar Documents

Publication Publication Date Title
KR20210061141A (ko) 자연어 처리 방법 및 장치
CN110309283B (zh) 一种智能问答的答案确定方法及装置
US11164568B2 (en) Speech recognition method and apparatus, and storage medium
US11645314B2 (en) Interactive information retrieval using knowledge graphs
US11238306B2 (en) Generating vector representations of code capturing semantic similarity
TWI684881B (zh) 基於機器翻譯的自動生成重述以產生一對話式代理人的方法、系統及非暫態機器可讀取媒體
US9805718B2 (en) Clarifying natural language input using targeted questions
US20190163691A1 (en) Intent Based Dynamic Generation of Personalized Content from Dynamic Sources
JP6601470B2 (ja) 自然言語の生成方法、自然言語の生成装置及び電子機器
KR20190125863A (ko) 다중언어 번역 장치 및 다중언어 번역 방법
US20160071510A1 (en) Voice generation with predetermined emotion type
US11282521B2 (en) Dialog system and dialog method
US11531693B2 (en) Information processing apparatus, method and non-transitory computer readable medium
CN104573099A (zh) 题目的搜索方法及装置
US20200210505A1 (en) Electronic apparatus and controlling method thereof
US20220229997A1 (en) Dialogue processing apparatus, learning apparatus, dialogue processing method, learning method and program
KR20210060897A (ko) 음성 처리 방법 및 장치
KR20220022726A (ko) 임베딩 벡터 생성 모델 트레이닝 방법 및 장치
WO2020110815A1 (ja) キーワード抽出装置、キーワード抽出方法、およびプログラム
WO2020052060A1 (zh) 用于生成修正语句的方法和装置
CN112581327A (zh) 基于知识图谱的法律推荐方法、装置和电子设备
US20230140480A1 (en) Utterance generation apparatus, utterance generation method, and program
CN113849623A (zh) 文本视觉问答方法和装置
US20210097144A1 (en) Neural machine translation adaptation
CN114841162B (zh) 文本处理方法、装置、设备及介质

Legal Events

Date Code Title Description
A201 Request for examination