[go: up one dir, main page]

KR102140391B1 - 검색 방법 및 이 방법을 적용하는 전자 장치 - Google Patents

검색 방법 및 이 방법을 적용하는 전자 장치 Download PDF

Info

Publication number
KR102140391B1
KR102140391B1 KR1020190004769A KR20190004769A KR102140391B1 KR 102140391 B1 KR102140391 B1 KR 102140391B1 KR 1020190004769 A KR1020190004769 A KR 1020190004769A KR 20190004769 A KR20190004769 A KR 20190004769A KR 102140391 B1 KR102140391 B1 KR 102140391B1
Authority
KR
South Korea
Prior art keywords
string
search
input
predetermined rule
network
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
KR1020190004769A
Other languages
English (en)
Other versions
KR20190115405A (ko
Inventor
웬-핑 훙
Original Assignee
페가트론 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 페가트론 코포레이션 filed Critical 페가트론 코포레이션
Publication of KR20190115405A publication Critical patent/KR20190115405A/ko
Application granted granted Critical
Publication of KR102140391B1 publication Critical patent/KR102140391B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24526Internal representations for queries
    • 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/3343Query execution using phonetics
    • 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/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • 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/08Speech classification or search
    • 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/08Speech classification or search
    • G10L2015/088Word spotting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 검색 방법 및 이 방법을 적용하는 전자 장치를 제공한다. 검색 방법은 입력 문자열을 수신하는 단계; 입력 문자열이 전자 장치에 저장된 기정 규칙에 대응되는지를 판단하는 단계; 대응되면 기정 규칙에 따라 입력 문자열을 적어도 제1 키 문자열 및 제2 키 문자열로 해석하는 단계; 제1 키 문자열과 관련된 기정 조건에 따라, 네트워크를 통한 제2 키 문자열의 검색을 시작하는 단계;를 포함한다. 전자 장치는 기정 규칙을 저장하거나 판독하는 규칙 모듈, 및 네트워크를 통해 상기 검색 방법으로 네트워크 검색을 수행하는 검색 시스템을 포함한다.

Description

검색 방법 및 이 방법을 적용하는 전자 장치{SEARCH METHOD AND ELECTRONIC DEVICE USING THE METHOD}
본 발명은 검색 방법 및 이 방법을 적용하는 전자 장치에 관한 것으로, 구체적으로, 본 발명은 문구의 의미를 자동적으로 이해하여 네트워크를 통해 해당하는 검색 동작을 수행하는 검색 방법 및 이 검색 방법을 적용하는 전자 장치에 관한 것이다.
갈수록 많은 과학기술이 인공지능을 사용하는 기술로 발전됨에 따라, 각종 제품의 제조사에서도 자연어 처리 기술을 하드웨어 기능이 낮은 제품에 첨가하는 것을 고려하기 시작하였고, 그에 대한 연구도 점점 하드웨어 기능이 낮은 제품에서 자연어 처리 기술을 제공하는 것으로 진행되기 시작하였다.
인공지능분야는 적어도 컴퓨터 비전(Computer Vision) 및 자연어 처리(Natural Language Processing) 두 가지 연구 분야로 나눈다. 그 중, 자연어 처리에 있어서, 종래에는 명령형 및 머신러닝 두 가지 방법이 있다.
사용자의 뜻을 해석하기가 어렵기 때문에, 규모가 작은 소프트웨어 또는 어플리케이션에서는 명령형 방법을 사용한다. 사용자가 소프트웨어 또는 기기가 지지하는 명령을 정확하게 말해야(또는 출력) 소프트웨어 또는 기기의 기능이 수행될 수 있다. 소프트웨어 또는 기기는 사용자가 말한 문구가 지지하는 명령 중의 하나에 부합되는지를 판단하기만 하면 되고, 부합시 해당하는 기능이 수행될 수 있다. 그러나, 소프트웨어 또는 기기가 부합하는 명령을 식별해야만 기능이 수행되기 때문에, 사용자가 자연스럽게 말하는(입력) 방식으로 지령을 내릴 수 없다. 자연스럽게 말하는(입력) 방식에서 사용자는 문구에 「~수 있을까요」, 「~이(가) 있나요」, 「그것」, 「이것」 등과 같은 많은 “여분의 단어”를 자주 사용한다. 문구에 “여분의 단어”가 있을 경우, 소프트웨어 또는 기기가 지지하는 명령에 부합되지 않게 되고, 명령형 회화(입력) 방식으로 자연어 처리를 구현할 수 없게 된다. 또한, 사용자의 문구에는 항상 「(TV) 35 채널을 보고 싶다」, 「냉방을 15도로 조정한다」, 「xxx의 노래를 듣고 싶다」와 같은 정보가 있다. 명령형 입력은 사용자의 문구에서 정보를 추출할 수 없고, 사용자의 모든 정보를 지지하는 명령으로 열거할 수도 없다.
머신러닝 측면에서, 현재 인간의 신경원을 모의하고 신경망을 구축하여 러닝 기능을 모의하는 것을 프로그램으로 하는 딥 러닝(Deep-Learning)에 관한 기술이 가장 이슈되고 있다. 신경망으로 자연어를 러닝하고 처리한 후의 모델을 통해 인간이 자연스럽게 말하는 방식으로 제시한 요구 또는 문제를 효과적으로 이해하여 해당하는 기능을 수행할 수 있다.
신경망 러닝이 완료된 모델은 사용자의 말뜻을 이해할 수 있으나, 신경망 모델을 훈련하는 원가가 매우 높다. 챗봇(Chatbot)의 기능을 가지도록 하나의 신경망을 훈련할 경우, 먼저 사용할 모든 단어(수 만개의 단어가 있을 수 있음)를 수집하고 단어 벡터(Word Vector)로 훈련하여야 한다. 그 후, 순환 신경망(recurrent neural network) 유닛 또는 변형된 유사한 유닛(예컨대, 장단기 메모리(Long Short-Term Memory, LSTM), 게이트된 순환 유닛(Gated Recurrent Units, GRUs))을 통해 다층의 네트워크(뇌의 기억능력을 모의할 수 있음)로 집결하고, 사용할 수 있는 챗봇(ChatBot)을 훈련하는 데에는 며칠 내지 일주간이 걸린다. 그리고, 사용한 중앙처리유닛(Central Processing Unit, CPU) 또는 연산을 보조하는 그래픽처리유닛(Graphics Processing Unit, GPU)이 모두 고규격인 경우에만 달성할 가능성이 있다. 이것은 단말기 사용자(End-user)가 가지고 있는 기기의 기능으로 볼 때, 신경망을 훈련하기가 매우 어려울 것이다. 따라서, 일반적으로 신경망의 자연어 처리는 클라우드 서비스로 만드는 것이 보편적이고, 빅데이터를 가진 회사(예컨대, Google, Amazon, Microsoft) 등만이 이러한 규모를 유지할 수 있고 인공지능기술을 사용하는 장치를 제공할 수 있다.
본 발명은 자연어 처리 기능을 하드웨어 기능이 낮은 제품에 제공할 수 있는 검색 방법을 제공하는 것을 하나의 목적으로 한다.
본 발명은 단말기 사용자가 로컬 단말기의 자연어 처리 기능을 구현할 수 있는 전자 장치를 제공하는 것을 다른 하나의 목적으로 한다.
본 발명에 따른 검색 방법은 전자 장치에 적용하여 네트워크를 통해 검색하는 검색 방법에 있어서, 입력 문자열을 수신하는 단계; 입력 문자열이 전자 장치에 저장된 기정 규칙에 대응되는지를 판단하는 단계; 대응되면 기정 규칙에 따라 입력 문자열을 적어도 제1 키 문자열 및 제2 키 문자열로 해석하는 단계; 제1 키 문자열과 관련되는 기정 조건에 따라, 네트워크를 통한 제2 키 문자열의 네트워크 검색을 시작하는 단계를 포함한다.
본 발명에 따른 전자 장치는 기정 규칙을 저장하거나 판독하는 규칙 모듈; 및 네트워크를 통해 검색을 수행하는 검색 시스템을 포함하고, 검색 시스템은 입력 문자열 정보를 수신하는 정보 입력 수신기와; 정보 입력 수신기와 결합하고, 입력 문자열이 기정 규칙에 대응되는지를 판단하며, 기정 규칙에 따라 상기 입력 문자열을 해석하고 기정 조건에 따라 네트워크를 통한 적어도 하나의 문자열의 네트워크 검색을 시작하는 정보 프로세서를 포함한다.
도 1은 본 발명의 일 실시예에 따른 검색 시스템의 모식도이다.
도 2는 본 발명에 따른 검색 방법의 흐름도이다.
도 3 내지 도 5는 상이한 입력 문구를 처리하는 실시예의 모식도이다.
본 발명은 상기 상황을 감안하여, 단말기 사용자의 전자 장치에서 로컬 단말기의 자연어 해석을 수행할 수 있고, 스마트 스피커(Smart-Speaker), 챗봇(Chatbot) 등과 같이 자연어 처리가 필요한 애플리케이션에 간편한 해결 방식을 제공할 수 있는 경량형 자연어 해석 시스템을 설계한다. 전자 장치는 스마트 스피커, 태블릿, 노트북, 데스크탑, 스마트폰, 피디에이, 전자책, 디지털 액자, 디지털 워크맨, 전자 사전, GPS 내비게이션 등을 포함한다.
도 1은 본 발명의 일 실시예의 모식도이다. 도 1에 나타낸 바와 같이, 본 발명에 따른 전자 장치(800)는 기정 규칙을 저장하는 규칙 모듈(300), 및 네트워크를 통해 검색을 수행하는 검색 시스템(100)을 포함한다. 검색 시스템(100)은 입력 문자열 정보를 수신하는 정보 입력 수신기(200), 및 정보 입력 수신기(200)와 결합되는 정보 프로세서(150)를 포함한다. 본 실시예에서, 정보 입력 수신기(200)는 사용자의 입력 문자열(SI)을 수신하고 해당하는 입력신호를 생성한다. 예를 들어, 정보 입력 수신기(200)가 음성센서(예컨대, 디지털 마이크로폰)이면, 정보 입력 수신기(200)는 사용자의 보이스를 감지하고 해당하는 입력신호를 생성할 수 있다. 그러나, 정보 입력 수신기(200)는 보이스 정보를 감지하거나 수신하는 것에 한정되지 않는다. 구체적으로, 상이한 다른 실시예에서, 정보 입력 수신기(200)는 문자 정보를 감지하거나 수신할 수도 있는데, 예를 들어 정보 입력 수신기(200)는 문자 입력 문자열을 수신하는 키보드 또는 영상 식별기일 수 있다. 나아가, 사용자의 입력 문자열(SI)은 음성 또는 문자를 포함할 수 있고, 정보 입력 수신기(200)는 해당하는 수신 장치일 수 있다.
본 실시예에서, 정보 입력 수신기(200)와 정보 프로세서(150)는 동일한 물리 장치, 예컨대 하나의 스마트 스피커에 형성되며, 그 중 스마트 스피커는 전자 장치(800)이고, 정보 입력 수신기(200)는 내장형 마이크로폰이지만, 이에 한정되지 않는다. 상이한 다른 실시예에서, 정보 입력 수신기(200) 및 정보 프로세서(150)는 각각 서로 다른 물리 장치에 위치하고 서로 신호적으로 연결될 수 있다. 예를 들어, 정보 입력 수신기(200)는 전자 장치(800)인 스마트폰에 연결되는 외접형 마이크로폰일 수 있고, 이는 사용자의 음성 지시 또는 지령을 수신할 수 있다. 이 경우에, 정보 입력 수신기(200)는 정보 프로세서(150)와 신호적 또는 전기적으로 연결되고, 정보 프로세서(150)는 상기 신호적 또는 전기적 연결을 통해 정보 입력 수신기(200)로부터 입력 문자열(SI)에 대응되게 생성하는 정보 신호를 수신할 수 있다.
본 실시예에서, 정보 프로세서(150)는 컴퓨터 프로세서 또는 마이크로 프로세서일 수 있다. 상이한 다른 실시예에서, 정보 프로세서(150)는 집적 회로 또는 내장형 회로일 수도 있다. 예를 들어, 전자 장치(800)는 스마트폰으로 구현되면, 정보 프로세서(150)는 상기 스마트폰의 집적 회로 또는 마이크로 프로세서, 예컨대 퀄컴사 또는 암 홀딩스사의 마이크로 프로세서일 수 있다.
규칙 모듈(300)은 하나 또는 복수개의 기정 설정 또는 배치 설정에 따른 기정 규칙을 저장하거나 판독할 수 있다. 이러한 기정 설정 또는 배치 설정들은 검색 시스템(100)이 수신한 입력신호를 어떻게 처리하는지 및 입력신호에 대해 어떻게 조작하는지를 정의하는 것이다. 일 실시예에서, 규칙 모듈(300)은 전자 장치(800) 중의 하나의 데이터 저장 장치, 예컨대 기정 규칙을 저장하는 하나의 데이터 베이스 또는 메모리일 수 있지만, 상이한 다른 실시예에서, 규칙 모듈(300)은 전자 장치(800) 중의 클라우드 저장 공간 또는 관련된 다른 원격 저장기에 저장된 기정 규칙을 판독하는 하나의 데이터 판독 장치일 수 있다.
본 실시예에서, 정보 프로세서(150)는 네트워크를 통해 적어도 하나의 검색 대상을 검색하도록 검색 시스템(100)을 부팅 및/또는 구동하는 장치이다. 예를 들어, 검색 시스템(100)은 네트워크에서의 Youtube 서비스 플랫폼에 대해 어느 한 키워드 문자열을 검색하는 것을 지정하면, 정보 프로세서(150)는 Youtube와 관련된 컴퓨터 또는 서비스 유닛을 부팅하여 지령 출력(A)을 진행함으로써 상기 키워드 문자열에 대한 네트워크 검색을 수행할 수 있다.
도 2는 일 실시예에 따른 전자 장치(800)에 적용될 수 있는 검색 방법의 흐름도이다. 도 2에 나타낸 바와 같이, 본 발명에 따른 검색 방법은 단계(S100~S130)를 포함하며, 그 상세한 내용은 다음과 같다.
단계(S100)는 입력 문자열을 수신하는 것을 포함한다. 구체적으로, 본 실시예에서, 검색 시스템(100)의 정보 입력 수신기(200)는 입력 문자열(SI)을 수신할 수 있다. 정보 입력 수신기(200)가 보이스 센서 또는 음성 센서이면, 정보 입력 수신기(200)가 수신한 입력 문자열(SI)은 그가 탐지한 사용자 음성 입력 문자열일 수 있으나 이에 한정되지 않고, 상이한 다른 실시예에서, 입력 문자열(SI)은 문자 입력 문자열, 예컨대 사용자가 발송한 문자 문자열일 수 있다. 예를 들어, 검색 시스템(100)이 챗봇(Chatbot)에 적용되면, 사용자가 챗봇으로 문자열의 지령, 예컨대 「오월천의 온유를 재생하세요」 등 문자열 지령을 발송할 수 있다.
단계(S110)는 상기 입력 문자열이 규칙 모듈(300)에 저장하거나 판독 가능한 기정 규칙에 대응되는지를 판단하는 것을 포함한다. 그 중, 기정 규칙은 대략 아래와 같은 구조를 가질 수 있다.
<REGX name=“grammer”expr=“specified characteristics”>
<call name=“grammer_next_level1”>!arg2$</call>
<call name=“grammer_next_level2”>!arg3$</call>
<call name=“TextToVoice”>machine-speaking</call>
</REGX>
상술한 규칙 구조에서,
「name=“grammer”」는 문법의 이름을 지정하는 것이고, 상기 이름 “grammer”는 상기 “<REGX>…</REGX>”의 괄호 안의 한 조의 규칙의 명칭을 의미한다.
「expr=“specified characteristics”」는 본 발명의 자연어 처리 엔진이 어떤 특징으로 사용자가 말한 문구 중의 키 문자열을 찾는지를 지정한다.
「<call name=“grammer_next_level1”>!arg2$</call>」 중의 !arg2$는 본 발명의 자연어 처리 엔진이 지정한 상기 특징(expr=“…)에 따라 입력 문자열(SI)의 문구 문자열을 분할한 후 특징 문자열 앞에 있는 문자열(즉, 앞단어 문자열)을 의미한다. 다음 층의 「“grammer_next_level1”」은 분할 후의 앞단어 문자열을 계속 분석할 수 있다.
「<call name=“grammer_next_level2”>!arg3$</call>」 중의 !arg3$는 본 발명의 자연어 처리 엔진이 지정한 상기 특징(expr=“…)에 따라 입력 문자열(SI)의 문구 문자열을 분할 한 후 특징 문자열 뒤에 있는 문자열(즉, 뒷단어 문자열)을 의미한다.
「<call name=“TextToVoice”>machine-speaking</call>」는 본 발명의 자연어 처리 엔진이 문법의 이름이 “TextToVoice”인 것을 확인하면, 시스템의 Text-To-Speech(TTS)의 합성 음성 기능을 통해 뒤쪽의 문자열 “machine-speaking”을 사용자에게 응답하는 것이다.
본 실시예에서, 검색 시스템(100)이 단계(S110)를 수행할 때, 정보 프로세서(150)는 정보 입력 수신기(200)로부터 입력 문자열(SI)과 관련된 정보 신호를 수신할 수 있다. 본 실시예에서, 정보 입력 수신기(200)는 입력 문자열(SI)을 해당하는 문구 문자열로 전환하며 정보 신호에 따라 정보 프로세서(150)로 전달할 수 있다. 이때, 정보 프로세서(150)는 상기 문구 문자열과 규칙 모듈(300)에 저장하거나 판독하는 하나 또는 복수 조의 기정 규칙을 판단하고, 문구 문자열에 어느 조의 기정 규칙 중의 지정한 특징(expr=“…)을 포함하거나 어느 한 조의 기정 규칙에도 매칭되지 않는 것을 발견한 경우에, 정보 프로세서(150)는 매칭 결과에 따라 상기 판단 결과를 생성할 수 있다.
예를 들어, 규칙 모듈(300) 중의 기정 규칙을
< REGX name=“play_song_by_searching_ Youtube _English” expr =“(some)? Song(s)? of”>
<call name=“search_Youtube_by_Keyword”>!arg3$</call>
</ REGX >로 가정한다.
도 3의 실시예를 예로 하면, 입력 문자열(SI)의 문구 문자열을 「give me some song of bonjovi thank you」로 가정하고, 상기 단계(S110)에 따라 정보 프로세서(150)가 먼저 이 문구 문자열과 상기 기정 규칙을 판단하며, 판단하는 과정에서 이 문구 문자열에 규칙에서 지정한 「some song of」의 특징이 있는 것을 발견하게 되는데, 즉 문구 문자열이 기정 규칙에 대응된다.
단계(S120)는 기정 규칙에 따라 상기 입력 문자열을 적어도 하나의 제1 키 문자열 및 제2 키 문자열로 해석하는 단계를 포함한다. 구체적으로, 입력 문자열(SI)의 문구 문자열이 한 조의 규칙에 대응되는 비교 결과인 경우, 정보 프로세서(150)는 상기 한 조의 규칙이 지정한 조건에 따라 문구 문자열을 해석할 수 있다. 상기 도 3의 실시예를 예로 하면, 정보 프로세서(150)는 문구 문자열을 해석하고, 문구 문자열 중의 특징 키 문자열을 제1 키 문자열(즉, 제1 키 문자열은 「some song of」일 수 있음)로 정의한다. 이어서, 정보 프로세서(150)는 문구 문자열 중 제1 키 문자열 앞쪽에 있는 문자열을 앞단어 문자열(「give me」)로 해석하고, 제1 키 문자열 뒤쪽에 있는 문자열을 뒷단어 문자열(「bonjovi thank you」)로 해석할 수 있다. 상기 실시예에서, 상기 매칭된 상기 한 조의 규칙에 !arg3$ 표지를 사용하였기 때문에, 뒷단어 문자열인 「bonjovi thank you」가 제2 키 문자열로 설정될 수 있다.
일 실시예에서, 단계(S120)를 수행한 후, 정보 프로세서(150)는 제2 키 문자열을 여과하는 단계를 수행할 수 있다. 예를 들어, 도 3의 실시예에 있어서, 정보 프로세서(150)는 기정 여과 조건에 따라 제2 키 문자열 중의 불필요한 단어를 제거할 수 있다. 예를 들어, 「thank you」, 「ok」, 「all right」를 불필요한 단어로 정의하면, 정보 프로세서(150)는 제2 키 문자열 중의 「thank you」를 제거하는 동작을 수행할 수 있다. 다시 말해, 제2 키 문자열은 최종적으로 「bonjovi」로 설정된다.
단계(S130)는 제1 키 문자열과 관련된 기정 조건에 따라 네트워크를 통한 제2 키 문자열의 네트워크 검색을 시작하는 단계를 포함한다. 그 중, 기정 조건은 사용한 미디어 플랫폼 및 검색 엔진을 포함한다. 구체적으로, 마찬가지로 상기 도 3의 실시예를 예로 하면, 검색 시스템(100)의 정보 프로세서(150)는 기정 조건에 따라 네트워크를 통한 제2 키 문자열의 네트워크 검색 작업을 시작할 수 있다. 본 실시예에서, 정보 프로세서(150)는 각종 다른 미디어 플랫폼, 검색 엔진, 음악/영상 플랫폼과 소통하기 위한 하나 또는 복수개의 다른 컴퓨터 또는 프로그램 단위를 포함할 수 있다. 본 실시예에서, 제1 키 문자열 「some song of」은 호출 코드 “search_Youtube_by_Keyword”와 관련된다. 정보 프로세서(150)는 제2 키 문자열을 획득한 후, 기정 규칙 중의 상기 호출 코드 명칭에 따라 제2 키 문자열 「bonjovi」를 상기 프로그램 단위 중의 Youtube와 관련된 프로그램 단위로 전송하여 제2 키 문자열 「bonjovi」를 검색한다. 다시 말해, 상기 Youtube와 관련된 프로그램 단위는 정보 프로세서(150)에 의해 부팅되며, 정보 프로세서(150)에 의해 구동되어 Youtube 플랫폼에 연결되고 「bonjovi」인 제2 키 문자열에 따라 Youtube 플랫폼에서 검색한다. 일 실시예에서, 검색을 수행하지 않으면, 작동 장치는 지령을 발송함으로써 정보 입력 수신기가 다시 입력 문자열을 수신하도록 할 수 있는데, 즉 다시 단계(S100)로 되돌아간다.
일 실시예에서, 기정 규칙은 적어도 하나의 동사 키워드를 포함하며, 정보 프로세서(150)는 상기 적어도 하나의 동사 키워드에 따라 문구를 앞단어 문자열, 제1 키 문자열 및 뒷단어 문자열로 해석한다. 그 중, 정보 프로세서(150)는 입력 문자열에 동사 키워드가 있는 것으로 판단하면, 입력 문자열이 기정 규칙에 대응되는 것을 의미한다. 도 3에 나타낸 실시예와 같이, 동사 키워드가 「give」이고, 정보 프로세서(150)는 문구 문자열을 앞단어 문자열 「me」, 제1 키 문자열 「some song of」 및 뒷단어 문자열 「bonjovi thank you」로 해석한다. 일 실시예에서, 본 발명에 따른 검색 방법은 제1 키 문자열, 앞단어 문자열 및 뒷단어 문자열의 전후 순서를 판단하고, 판단 결과에 따라 동사 순서 결과를 생성하는 단계를 더 포함한다. 나아가, 정보 프로세서(150)는 입력 문자열 및 동사 키워드에 따라 동사 순서 결과를 생성한다.
일 실시예에서, 기정 규칙에는 언어 설정이 있다. 나아가, 언어 설정은 제1 키 문자열, 앞단어 문자열 및 뒷단어 문자열의 순서와 관련된다. 판단 단계는 동사 순서 결과 및 언어 설정에 따라 제2 키 문자열을 앞단어 문자열 또는 뒷단어 문자열로 설정하는 단계를 더 포함한다. 그 중, 정보 프로세서(150)는 동사 순서 결과 및 언어 설정에 따라 네트워크를 통해 검색한 문자열을 획득한다. 구체적으로, 도 4에 나타낸 다른 실시예의 모식도와 같이, 본 실시예에서는 도 3의 실시예에 비해, 검색 시스템(100)이 매칭된 기정 규칙이 중국어로 검색하는 것을 지정하는데, 즉 중국어 언어 설정이 있다. 사용자의 문구가 「
Figure 112019004461694-pat00001
」이면, 정보 프로세서(150)가 규칙 모듈(300)에서 매칭한 한 조의 기정 규칙은,
< REGX name=“play_song_by_searching_ Youtube _Chinese” expr =“( 點播 | 放|想(要)?聽|來)((一)(首|手|點))?”>
<call name=“search_Youtube_by_Keyword”>!arg3$</call>
</ REGX >일 수 있다.
이 경우에, 「Youtube_Chinese」에 따라, 상기 한 조의 기정 규칙의 언어 설정이 「중국어」이고, 그와 관련된 문구 특징도 중국어의 문자열이다. 본 실시예에서, 기정 규칙에서 지정한 특징(expr=“…)은 「點播」, 「播放」, 「想」, 「想要」, 「聽」 및 「來」와 관련된 임의의 시작 문자열에 「一」 및 「首」, 「手」 또는 「點」등 종료 문자열을 붙이는 것이다. 예를 들어, 「點播一首」에는 시작 문자열 「點播」와 「一」 및 종료 문자열 「首」를 구비한다. 제1 키 문자열인 「點播一首」에 따라, 정보 프로세서(150)는 문구 「
Figure 112019004461694-pat00002
」가 다만 제1 키 문자열인 「點播一首」 및 뒷단어 문자열인 「五月天的溫柔」로 조합(즉, 앞단어 문자열이 없음)되는 것으로 판단하고, 기정 규칙에 !arg3$ 표지를 사용하였기 때문에, 정보 프로세서(150)는 뒷단어 문자열인 「五月天的溫柔」를 제2 키 문자열로 설정할 수 있다.
Figure 112019004461694-pat00003
등과 같은 여분의 단어를 제거함으로써, 정보 프로세서(150)는 네트워크를 통해 제2 키 문자열에 대한 네트워크 검색을 시작할 수 있다. 정보 프로세서(150)는 동사 키워드가 대응하는 기정 조건에 따라, 네트워크를 통한 문자열의 네트워크 검색을 시작할 수 있다. 그 중, 기정 조건은 사용한 미디어 플랫폼 및 검색 엔진을 포함한다.
도 5는 다른 실시예의 모식도이다. 도 5에 나타낸 바와 같이, 본 발명에 따른 검색 시스템(100)은 일본어 문구에 적용될 수도 있다. 구체적으로, 기정 규칙을
< REGX name=“play_song_by_searching_ Youtube _Japanese” expr =“の(歌|曲)(を)?”>
<call name=“search_Youtube_by_Keyword”>!arg2$</call>
</ REGX >로 가정한다.
정보 프로세서(150)는 기정 규칙 중의 언어 설정이 「일본어」인 것을 탐지할 수 있고, 사용한 !arg2$는 제1 키 문자열인 「の歌|曲を」의 앞단어 문자열 「安室奈美惠」를 제2 키 문자열로 설정하는 것을 지정한다. 이 경우에, 정보 프로세서(150)는 네트워크를 통한 「安室奈美惠」인 제2 키 문자열의 후속 네트워크 검색 동작을 시작할 수 있다.
본 발명에 따른 검색 시스템 및 방법에 따르면, 본 발명은 사용자의 사용 습관의 변화 또는 유행하는 고유 명사의 변화에 맞출 수 있고 다국어를 지지할 수 있으며, 신속하게 고객 맞춤형으로 만들고 각종 다른 전자 제품에 적용될 수 있다. 본 발명의 기정 규칙의 메카니즘 및 구조는 현재의 그 어떤 프로그램 언어(예컨대 C, C++, C#, Java 등)보다도 고급스러운 묘사 언어이기 때문에, 소프트웨어 엔지니어가 아니더라도 자연어 해석(Natural Language Processing)을 완벽하게 설계할 수 있게 된다. 특히, 일반적인 서비스는 소프트웨어 엔지니어가 아닌 다국어 전문가(영문, 일본어, 한국어 등)로서, 프로그램 언어로 자연어 해석을 설계할 수 없다. 문법이 더 고급스럽고 간단한 본원 발명의 자연어 해석에 대한 기정 규칙의 구조 설계를 통해, 서브스 단위도 자연어 해석 작업을 할 수 있다.
본 명세서에서 설명한 실시형태의 일반적인 성질은 발명을 실시하기 위한 구체적인 내용에 의해 전반적으로 개시되었으며, 현재 공지된 지식을 적용하고 본 발명의 정신과 범위를 벗어나지 않는 전제하에 본 발명의 실시형태를 수정할 수 있으며, 따라서 수정할 때에는 본 발명의 실시형태와 동등한 의미 및 범위를 전반적으로 이해해야 한다. 본 명세서에서 사용한 표현 또는 용어는 단지 설명을 위한 것이고, 국한적인 의미가 없음을 이해해야 한다. 따라서, 구체적인 실시형태를 설명하는 동시에, 해당 분야에서 통상의 지식을 가진 자라면 본 명세서에서 설명한 실시형태를 실시할 때 본 발명의 정신과 범위에서 벗어나지 않는 경우에 수정할 수 있음을 이해할 것이다.
100 : 검색 시스템
150 : 데이터 처리 장치
200 : 정보 입력 수신기
300 : 규칙 모듈
800 : 전자 장치
SI : 입력 문자열
A : 지령 출력
S100~S130 : 단계

Claims (13)

  1. 전자 장치에 적용되어 네트워크를 통해 검색을 수행하는 검색 방법에 있어서,
    입력 문자열을 수신하는 단계;
    상기 입력 문자열이 상기 전자 장치에 저장된 기정 규칙에 대응되는지를 판단하는 단계;
    대응되면, 상기 기정 규칙에 따라 상기 입력 문자열을 적어도 제1 키 문자열 및 제2 키 문자열로 해석하는 단계;
    상기 제1 키 문자열과 관련된 기정 조건에 따라, 상기 네트워크를 통한 상기 제2 키 문자열의 검색을 시작하는 단계
    를 포함하고,
    상기 입력 문자열은 문구이고, 상기 기정 규칙은 적어도 하나의 동사 키워드를 포함하고,
    상기 해석하는 단계는,
    상기 적어도 하나의 동사 키워드에 따라 상기 문구를 앞단어 문자열, 상기 제1 키 문자열 및 뒷단어 문자열로 해석하는 단계 및
    상기 제1 키 문자열, 상기 앞단어 문자열 및 상기 뒷단어 문자열의 전후 순서를 판단하고, 그 판단에 따라 동사 순서 결과를 생성하는 단계
    를 포함하고,
    상기 기정 규칙에는 상기 제1 키 문자열, 상기 앞단어 문자열 및 상기 뒷단어 문자열의 순서와 관련된 언어 설정이 있으며,
    상기 해석하는 단계는,
    상기 동사 순서 결과 및 상기 기정 규칙 중의 언어 설정에 따라, 상기 제2 키 문자열을 상기 앞단어 문자열 또는 상기 뒷단어 문자열로 설정하는 단계
    를 더 포함하는 검색 방법.
  2. 제1항에 있어서,
    상기 입력 문자열은 음성 또는 문자인 것을 특징으로 하는 검색 방법.
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1항에 있어서,
    상기 기정 조건은 사용한 미디어 플랫폼 및 검색 엔진을 포함하는 것을 특징으로 하는 검색 방법.
  7. 기정 규칙을 저장하거나 판독하는 규칙 모듈; 및
    네트워크를 통해 검색을 수행하는 검색 시스템
    을 포함하고,
    상기 검색 시스템은,
    입력 문자열을 수신하는 정보 입력 수신기와;
    상기 정보 입력 수신기와 결합되고, 상기 입력 문자열이 상기 기정 규칙에 대응되는지를 판단하며, 상기 기정 규칙에 따라 상기 입력 문자열을 해석하고 기정 조건에 따라 상기 네트워크를 통한 적어도 하나의 문자열의 네트워크 검색을 시작하는 정보 프로세서
    를 포함하고,
    상기 기정 규칙은 적어도 하나의 동사 키워드를 포함하고, 상기 정보 프로세서가 상기 입력 문자열에 상기 동사 키워드가 있는 것으로 판단하면, 상기 입력 문자열이 상기 기정 규칙에 대응되고,
    상기 정보 프로세서는 상기 입력 문자열 및 상기 동사 키워드에 따라 동사 순서 결과를 생성하고,
    상기 기정 규칙에는 언어 설정이 있고, 상기 정보 프로세서는 상기 동사 순서 결과 및 상기 언어 설정에 따라 상기 네트워크를 통해 검색한 상기 문자열을 획득하는 전자 장치.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 제7항에 있어서,
    상기 정보 프로세서는 상기 동사 키워드가 대응하는 상기 기정 조건에 따라, 네트워크를 통한 상기 입력 문자열의 네트워크 검색을 시작하는 것을 특징으로 하는 전자 장치.
  12. 제7항에 있어서,
    상기 기정 조건은 사용한 미디어 플랫폼 및 검색 엔진을 포함하는 것을 특징으로 하는 전자 장치.
  13. 제7항에 있어서,
    상기 정보 입력 수신기는 음성 또는 문자를 수신하고 상기 입력 문자열로 전환하는 것을 특징으로 하는 전자 장치.
KR1020190004769A 2018-04-02 2019-01-14 검색 방법 및 이 방법을 적용하는 전자 장치 Active KR102140391B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW107111684 2018-04-02
TW107111684A TWI660341B (zh) 2018-04-02 2018-04-02 一種搜尋方法以及一種應用該方法的電子裝置

Publications (2)

Publication Number Publication Date
KR20190115405A KR20190115405A (ko) 2019-10-11
KR102140391B1 true KR102140391B1 (ko) 2020-08-03

Family

ID=65685144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190004769A Active KR102140391B1 (ko) 2018-04-02 2019-01-14 검색 방법 및 이 방법을 적용하는 전자 장치

Country Status (6)

Country Link
US (1) US20190303393A1 (ko)
EP (1) EP3550449A1 (ko)
JP (1) JP6625772B2 (ko)
KR (1) KR102140391B1 (ko)
CN (1) CN110347901A (ko)
TW (1) TWI660341B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11392771B2 (en) 2020-02-28 2022-07-19 Rovi Guides, Inc. Methods for natural language model training in natural language understanding (NLU) systems
US11574127B2 (en) 2020-02-28 2023-02-07 Rovi Guides, Inc. Methods for natural language model training in natural language understanding (NLU) systems
US11393455B2 (en) 2020-02-28 2022-07-19 Rovi Guides, Inc. Methods for natural language model training in natural language understanding (NLU) systems
US11626103B2 (en) * 2020-02-28 2023-04-11 Rovi Guides, Inc. Methods for natural language model training in natural language understanding (NLU) systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014110005A (ja) * 2012-12-04 2014-06-12 Nec Software Tohoku Ltd 情報検索装置及び情報検索方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756933A (ja) * 1993-06-24 1995-03-03 Xerox Corp 文書検索方法
JP3617096B2 (ja) * 1994-05-25 2005-02-02 富士ゼロックス株式会社 関係表現抽出装置および関係表現検索装置、関係表現抽出方法、関係表現検索方法
JPH09231233A (ja) * 1996-02-26 1997-09-05 Fuji Xerox Co Ltd ネットワーク検索装置
AU723274B2 (en) * 1996-08-29 2000-08-24 Bcl Computers, Inc. Natural-language speech control
WO2000011571A1 (en) * 1998-08-24 2000-03-02 Bcl Computers, Inc. Adaptive natural language interface
CN1831937A (zh) * 2005-03-08 2006-09-13 台达电子工业股份有限公司 语音辨识与语言理解分析的方法与装置
US7818176B2 (en) * 2007-02-06 2010-10-19 Voicebox Technologies, Inc. System and method for selecting and presenting advertisements based on natural language processing of voice-based input
TW200933391A (en) * 2008-01-24 2009-08-01 Delta Electronics Inc Network information search method applying speech recognition and sysrem thereof
KR101042515B1 (ko) * 2008-12-11 2011-06-17 주식회사 네오패드 사용자의 의도에 기반한 정보 검색방법 및 정보 제공방법
US8731939B1 (en) * 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
CN102789464B (zh) * 2011-05-20 2017-11-17 陈伯妤 基于语意识别的自然语言处理方法、装置和系统
JP6192714B2 (ja) * 2012-05-24 2017-09-06 サウンドハウンド,インコーポレイテッド 自然言語処理を可能にするシステム及び方法
CN102982020A (zh) * 2012-12-17 2013-03-20 杭州也要买电子商务有限公司 一种搜索系统中的中文分词方法
JP6223744B2 (ja) * 2013-08-19 2017-11-01 株式会社東芝 方法、電子機器およびプログラム
TW201541379A (zh) * 2014-04-18 2015-11-01 Qware Systems & Services Corp 用於商品及服務之語音關鍵字搜尋系統及其方法
CN105609104A (zh) * 2016-01-22 2016-05-25 北京云知声信息技术有限公司 一种信息处理方法、装置及智能语音路由控制器
CN105740900A (zh) * 2016-01-29 2016-07-06 百度在线网络技术(北京)有限公司 信息识别的方法和装置
US9898250B1 (en) * 2016-02-12 2018-02-20 Amazon Technologies, Inc. Controlling distributed audio outputs to enable voice output
CN107145509B (zh) * 2017-03-28 2020-11-13 深圳市元征科技股份有限公司 一种信息搜索方法及其设备
CN107222757A (zh) * 2017-07-05 2017-09-29 深圳创维数字技术有限公司 一种语音搜索方法、机顶盒、存储介质、服务器和系统
CN107748784B (zh) * 2017-10-26 2021-05-25 江苏赛睿信息科技股份有限公司 一种通过自然语言实现结构化数据搜索的方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014110005A (ja) * 2012-12-04 2014-06-12 Nec Software Tohoku Ltd 情報検索装置及び情報検索方法

Also Published As

Publication number Publication date
JP6625772B2 (ja) 2019-12-25
US20190303393A1 (en) 2019-10-03
TWI660341B (zh) 2019-05-21
KR20190115405A (ko) 2019-10-11
TW201942896A (zh) 2019-11-01
JP2019185737A (ja) 2019-10-24
CN110347901A (zh) 2019-10-18
EP3550449A1 (en) 2019-10-09

Similar Documents

Publication Publication Date Title
CN108829235B (zh) 语音数据处理方法和支持该方法的电子设备
KR102100389B1 (ko) 개인화된 엔티티 발음 학습
KR102140391B1 (ko) 검색 방법 및 이 방법을 적용하는 전자 장치
US11455989B2 (en) Electronic apparatus for processing user utterance and controlling method thereof
US10811005B2 (en) Adapting voice input processing based on voice input characteristics
US11586689B2 (en) Electronic apparatus and controlling method thereof
US10860289B2 (en) Flexible voice-based information retrieval system for virtual assistant
US12217747B2 (en) Electronic apparatus for processing user utterance and controlling method thereof
CN102473413B (zh) 语音翻译系统、词典服务器装置及语音翻译方法
US12112751B2 (en) Electronic device for processing user utterance and method for operating same
US10950240B2 (en) Information processing device and information processing method
KR20200080400A (ko) 페르소나에 기반하여 문장을 제공하는 방법 및 이를 지원하는 전자 장치
CN109326284A (zh) 语音搜索的方法、装置和存储介质
US11574127B2 (en) Methods for natural language model training in natural language understanding (NLU) systems
KR20200119531A (ko) 자연어 응답을 생성하는 전자 장치 및 자연어 응답 생성 방법
KR20200107057A (ko) 음성 인식 모델에서 사용되는 언어를 확장시키는 방법 및 음성 인식 모델을 포함하는 전자 장치
KR102685417B1 (ko) 사용자 입력을 처리하는 전자 장치 및 방법
KR20220118818A (ko) 전자 장치 및 전자 장치의 동작 방법
KR20210014909A (ko) 대상의 언어 수준을 식별하는 전자 장치 및 방법
CN111667815B (zh) 用于文本到语音转换的方法、设备、芯片电路和介质
KR20210044606A (ko) 웨이크업 모델 생성 방법 및 이를 위한 전자 장치
JP2019109424A (ja) 計算機、言語解析方法、及びプログラム
CN115410558A (zh) 集外词处理方法、电子设备和存储介质
CN114999469A (zh) 车载语音处理系统及方法、存储介质、终端
KR20220137437A (ko) 전자 장치 및 전자 장치의 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20190114

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20191212

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: 20200601

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20200727

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20200727

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20230601

Start annual number: 4

End annual number: 6