KR20230102882A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20230102882A
KR20230102882A KR1020210193345A KR20210193345A KR20230102882A KR 20230102882 A KR20230102882 A KR 20230102882A KR 1020210193345 A KR1020210193345 A KR 1020210193345A KR 20210193345 A KR20210193345 A KR 20210193345A KR 20230102882 A KR20230102882 A KR 20230102882A
Authority
KR
South Korea
Prior art keywords
text
entity
texts
identified
neural network
Prior art date
Application number
KR1020210193345A
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 KR1020210193345A priority Critical patent/KR20230102882A/ko
Priority to PCT/KR2022/021616 priority patent/WO2023128660A1/ko
Priority to EP22916801.8A priority patent/EP4375851A1/en
Priority to US18/204,676 priority patent/US20230315771A1/en
Publication of KR20230102882A publication Critical patent/KR20230102882A/ko

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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • 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/3332Query translation
    • G06F16/3334Selection or weighting of terms from queries, including natural language queries
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

전자 장치가 개시된다. 전자 장치는 복수의 텍스트 및 복수의 신경망 모델이 저장된 메모리 및 입력 텍스트를 복수의 신경망 모델 중 제1 신경망 모델에 입력하여 입력 텍스트에 포함된 단어들 중 제1 엔터티(entity)를 식별하고, 식별된 제1 엔터티를 제2 신경망 모델에 입력하여 복수의 텍스트 중 제1 벡터(vector) 공간 상에서 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하고, 획득된 텍스트 중 제2 벡터 공간 상에서 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 식별된 텍스트를 출력하는 프로세서를 포함한다.

Description

전자 장치 및 그 제어 방법 { Electronic device and control method thereof }
본 발명은 전자 장치 및 그 제어 방법에 관한 것으로, 더욱 상세하게는, 텍스트를 분석하는 전자 장치 및 그 제어 방법에 관한 것이다.
전자 기술이 발달함에 따라, 다양한 유형의 전자 장치가 개발 및 보급되고 있는 실정이다.
전자 장치의 유형뿐만 아니라, 전자 장치가 수행할 수 있는 기능, 동작도 다양해지고 있다.
한편, 전자 장치를 이용하여 검색을 수행하고, 검색 결과를 제공받음에 있어서, 검색 의도에 부합하며, 검색 결과의 정확도를 높이는 요구는 항상 존재하였다.
예를 들어, 종래의 Exact Match 기반의 검색은, 정확도는 높을 수 있으나, 유사한 검색 결과를 제공하지 못하거나, 검색 결과가 존재하지 않는 등의 문제가 발생할 여지가 있었다.
또한, 종래의 Vector Similarity 기반의 검색은, 컨텍스트(Context)가 유사한 검색 결과는 제공할 수 있으나, 정확도가 다소 떨어지는 문제가 있었다.
따라서, 유사한 검색 결과, 정확도 높은 검색 결과를 제공하면서도, 사용자의 검색 의도가 반영된 검색 결과를 제공하는 검색 방법에 대한 요구가 있어왔다.
본 개시는 상술한 필요성에 따른 것으로, 본 개시의 목적은, 입력 텍스트의 엔터티(entity)를 고려하여 검색을 수행하는 전자 장치 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 복수의 텍스트 및 복수의 신경망 모델이 저장된 메모리 및 입력 텍스트를 상기 복수의 신경망 모델 중 제1 신경망 모델에 입력하여 상기 입력 텍스트에 포함된 단어들 중 제1 엔터티(entity)를 식별하고, 상기 식별된 제1 엔터티를 제2 신경망 모델에 입력하여 상기 복수의 텍스트 중 제1 벡터(vector) 공간 상에서 상기 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하고, 상기 획득된 텍스트 중 제2 벡터 공간 상에서 상기 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 상기 식별된 텍스트를 출력하는 프로세서를 포함한다.
여기서, 상기 프로세서는, 상기 복수의 텍스트 각각에 대응되는 제2 엔터티를 식별하며, 상기 제1 벡터 공간 상에 위치하는 복수의 제2 엔터티 중 상기 제1 엔터티와 인접한 적어도 하나의 제2 엔터티를 식별하고, 상기 복수의 텍스트 중 상기 식별된 적어도 하나의 제2 엔터티에 대응되는 상기 적어도 하나의 텍스트를 획득할 수 있다.
여기서, 상기 프로세서는, 상기 제1 벡터 공간 상에서 상기 제1 엔터티의 제1 위치와 상기 복수의 제2 엔터티 각각에 대응되는 제2 위치를 비교하여 상기 제1 엔터티와 인접한 상기 적어도 하나의 제2 엔터티를 식별할 수 있다.
또한, 상기 프로세서는, 상기 제2 벡터 공간 상에서 상기 입력 텍스트의 제3 위치와 상기 복수의 텍스트 각각에 대응되는 제4 위치를 비교하여 상기 입력 텍스트에 인접하게 위치하는 상기 적어도 하나의 텍스트가 식별할 수 있다.
또한, 상기 제1 신경망 모델은, 학습 텍스트에 포함된 단어들 각각에 서로 다른 가중치(weight)를 적용하며, 상기 단어들 중에서 상대적으로 높은 가중치가 적용된 적어도 하나의 단어를 상기 학습 텍스트에 대응되는 엔터티로 식별하도록 학습된 모델일 수 있다.
여기서, 상기 제1 신경망 모델은, 질문 카테고리에 속하는 제1 학습 텍스트 및 제2 학습 텍스트를 비교하여 서로 다른 의미이며 상기 제1 학습 텍스트에 포함된 제1 단어 및 상기 제2 학습 텍스트에 포함된 제2 단어를 식별하며, 답변 카테고리에 속하는 제3 학습 텍스트 및 제4 학습 텍스트가 상이한 의미를 가지는 것으로 식별되면, 상기 제1 학습 텍스트에 포함된 단어들 중 상기 제1 단어에 상대적으로 큰 가중치를 적용하고 상기 제2 학습 텍스트에 포함된 단어들 중 상기 제2 단어에 상대적으로 큰 가중치를 적용하도록 학습되며, 상기 제1 학습 텍스트는 상기 제3 학습 텍스트와 매핑 관계이며, 상기 제2 학습 텍스트는 상기 제4 학습 텍스트와 매핑 관계일 수 있다.
또한, 상기 프로세서는, 상기 입력 텍스트를 제3 신경망 모델에 입력하여 상기 제2 벡터 공간 상에 위치시키며, 상기 제3 신경망 모델은, 입력 텍스트를 하나의 단위로 하여 상기 입력 텍스트에 대응되는 상기 제2 벡터 공간 상의 위치를 식별하도록 학습될 수 있다.
또한, 상기 복수의 텍스트 각각은, 질문(Question) 카테고리 또는 답변(Answer) 카테고리 중 적어도 하나에 포함되는 문장 형태의 텍스트이며, 상기 복수의 텍스트 중 상기 질문 카테고리에 포함되는 텍스트들 각각은, 상기 답변 카테고리에 포함되는 텍스트들 각각에 매핑 관계일 수 있다.
여기서, 상기 입력 텍스트는 상기 질문 카테고리에 포함되며, 상기 프로세서는, 상기 질문 카테고리에 포함되는 텍스트들 중 제1 벡터(vector) 공간 상에서 상기 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하고, 상기 획득된 텍스트 중 상기 제2 벡터 공간 상에서 상기 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 상기 답변 카테고리에 포함되는 텍스트들 중에서 상기 식별된 텍스트와 매핑 관계인 텍스트를 출력할 수 있다.
한편, 본 개시의 일 실시 예에 따른 복수의 텍스트를 포함하는 전자 장치의 제어 방법은, 입력 텍스트를 제1 신경망 모델에 입력하여 상기 입력 텍스트에 포함된 단어들 중 제1 엔터티(entity)를 식별하는 단계, 상기 식별된 제1 엔터티를 제2 신경망 모델에 입력하여 상기 복수의 텍스트 중 제1 벡터(vector) 공간 상에서 상기 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계, 상기 획득된 텍스트 중 제2 벡터 공간 상에서 상기 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 상기 식별된 텍스트를 출력하는 단계를 포함한다.
여기서, 상기 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계는, 상기 복수의 텍스트 각각에 대응되는 제2 엔터티를 식별하는 단계, 상기 제1 벡터 공간 상에 위치하는 복수의 제2 엔터티 중 상기 제1 엔터티와 인접한 적어도 하나의 제2 엔터티를 식별하는 단계 및 상기 복수의 텍스트 중 상기 식별된 적어도 하나의 제2 엔터티에 대응되는 상기 적어도 하나의 텍스트를 획득하는 단계를 포함할 수 있다.
여기서, 상기 적어도 하나의 제2 엔터티를 식별하는 단계는, 상기 제1 벡터 공간 상에서 상기 제1 엔터티의 제1 위치와 상기 복수의 제2 엔터티 각각에 대응되는 제2 위치를 비교하여 상기 제1 엔터티와 인접한 상기 적어도 하나의 제2 엔터티를 식별하는 단계를 포함할 수 있다.
또한, 상기 식별된 텍스트를 출력하는 단계는, 상기 제2 벡터 공간 상에서 상기 입력 텍스트의 제3 위치와 상기 복수의 텍스트 각각에 대응되는 제4 위치를 비교하여 상기 입력 텍스트에 인접하게 위치하는 상기 적어도 하나의 텍스트를 식별하는 단계를 포함할 수 있다.
또한, 상기 제1 신경망 모델은, 학습 텍스트에 포함된 단어들 각각에 서로 다른 가중치(weight)를 적용하며, 상기 단어들 중 상대적으로 높은 가중치가 적용된 적어도 하나의 단어를 상기 학습 텍스트에 대응되는 엔터티로 식별하도록 학습된 모델일 수 있다.
여기서, 상기 제1 신경망 모델은, 질문 카테고리에 속하는 제1 학습 텍스트 및 제2 학습 텍스트를 비교하여 서로 다른 의미이며 상기 제1 학습 텍스트에 포함된 제1 단어 및 상기 제2 학습 텍스트에 포함된 제2 단어를 식별하며, 답변 카테고리에 속하는 제3 학습 텍스트 및 제4 학습 텍스트가 상이한 의미를 가지는 것으로 식별되면, 상기 제1 학습 텍스트에 포함된 단어들 중 상기 제1 단어에 상대적으로 큰 가중치를 적용하고 상기 제2 학습 텍스트에 포함된 단어들 중 상기 제2 단어에 상대적으로 큰 가중치를 적용하도록 학습되며, 상기 제1 학습 텍스트는 상기 제3 학습 텍스트와 매핑 관계이며, 상기 제2 학습 텍스트는 상기 제4 학습 텍스트와 매핑 관계일 수 있다.
또한, 상기 입력 텍스트를 제3 신경망 모델에 입력하여 상기 제2 벡터 공간 상에 위치시키는 단계를 포함하며, 상기 제3 신경망 모델은, 입력 텍스트를 하나의 단위로 하여 상기 입력 텍스트에 대응되는 상기 제2 벡터 공간 상의 위치를 식별하도록 학습된 모델일 수 있다.
또한, 상기 복수의 텍스트 각각은, 질문(Question) 카테고리 또는 답변(Answer) 카테고리 중 적어도 하나에 포함되는 문장 형태의 텍스트이며, 상기 복수의 텍스트 중 상기 질문 카테고리에 포함되는 텍스트들 각각은, 상기 답변 카테고리에 포함되는 텍스트들 각각에 매핑 관계일 수 있다.
여기서, 상기 입력 텍스트는 상기 질문 카테고리에 포함되며, 상기 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계는, 상기 질문 카테고리에 포함되는 텍스트들 중 제1 벡터 공간 상에서 상기 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계를 포함하고, 상기 식별된 텍스트를 출력하는 단계는, 상기 획득된 텍스트 중 상기 제2 벡터 공간 상에서 상기 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 상기 답변 카테고리에 포함되는 텍스트들 중에서 상기 식별된 텍스트와 매핑 관계인 텍스트를 출력하는 단계를 포함할 수 있다.
상술한 바와 같이 본 개시의 다양한 실시 예에 따르면, 검색 의도에 부합하며 높은 정확도를 가지는 검색 결과를 사용자에게 제공할 수 있다.
또한, 검색을 수행함에 있어서, 검색 리소스의 효율성을 증가시키면서도 검색 결과의 정확도를 향상시킬 수 있다.
도 1은 종래의 일 실시 예에 따라 입력 텍스트에 관련된 텍스트를 서치하는 구성을 설명하기 위한 도면이다.
도 2는 종래의 다른 실시 예에 따라 입력 텍스트에 관련된 텍스트를 서치하는 구성을 설명하기 위한 도면이다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 4는 본 개시의 일 실시 예에 따른 복수의 신경망 모델을 설명하기 위한 도면이다.
도 5는 본 개시의 일 실시 예에 따른 텍스트 간의 매핑 관계를 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 엔터티(Entity)를 설명하기 위한 도면이다.
도 7은 본 개시의 일 실시 예에 따른 엔터티 클러스터링 모델(Entity Clustering Model)을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 벡터 시밀러리티 모델(Vector Similarity Model)을 설명하기 위한 도면이다.
도 9는 본 개시의 다른 실시 예에 따른 엔터티 딕셔너리(Entity Dictionary)를 설명하기 위한 도면이다.
도 10은 본 개시의 일 실시 예에 따른 엔터티를 등록하는 방법을 설명하기 위한 흐름도이다.
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 명세서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 종래의 일 실시 예에 따라 입력 텍스트에 관련된 텍스트를 서치하는 구성을 설명하기 위한 도면이다.
도 1을 참조하면, 종래의 일 실시 예에 따른 전자 장치는 텍스트가 입력되면, 복수의 텍스트 중에서 입력 텍스트에 관련된 텍스트를 서치(또는, 식별)하여 제공할 수 있다.
여기서, 입력 텍스트와 복수의 텍스트 각각은, 사용자가 입력한 질문(Question) 형태의 문장일 수도 있으나, 이에 한정되지 않으며 질문에 대한 대답(Answer) 형태의 문장 또는, 질문 형태의 문장과 해당 질문에 대한 대답 형태의 문장이 쌍을 이루는(또는, 매핑 관계인) 문서(Documents)를 포함할 수 있음은 물론이다.
도 1을 참조하면, 종래의 전자 장치는 입력 텍스트를 분석하여 입력 텍스트에 포함된 복수의 단어 각각을 식별할 수 있다. 예를 들어, 전자 장치는 입력 텍스트 ‘Galaxy 21 액정 비용 얼마야?’를 단어 단위로 구분하여 ‘Galaxy21’, ‘액정’, ‘비용’, ‘얼마야?’를 식별할 수 있다. 예를 들어, 전자 장치는 모듈과 자연어 이해(natural language understanding, NLU) 모듈을 이용하여 입력 텍스트에 포함된 복수의 단어를 식별할 수 있다.
이어서, 전자 장치는 식별된 복수의 단어를 신경망 모델에 입력하여 복수의 텍스트 중 입력 텍스트와 관련된 텍스트를 획득할 수 있다.
여기서, 신경망 모델은 Exact match model일 수 있다. Exact match model은 복수의 텍스트 중 식별된 복수의 단어(예를 들어, ‘Galaxy21’, ‘액정’, ‘비용’, ‘얼마야?’)를 모두 포함하는 텍스트만을 식별하므로, 식별 가능한 텍스트의 개수가 적어지는 문제가 있으며, 입력 텍스트에 포함된 단어와 동의어, 유의어 관계의 단어(예를 들어, ‘비용’의 유의어인 ‘금액’ 등)를 포함하는 텍스트는 식별이 불가능하다는 문제가 있다.
예를 들어, 복수의 텍스트 중 ‘Galaxy 21의 화면 교체 금액이 얼마야?’ 또는, ‘Galaxy 21의 화면 교체는 15만원이야’ 등은, 입력 텍스트에 포함된 ‘Galaxy21’, ‘액정’, ‘비용’, ‘얼마야?’ 등을 모두 포함하고 있지 않으므로, Exact match model이 입력 텍스트와 관련된 텍스트로 식별하지 못하는 문제가 있다.
도 2는 종래의 다른 실시 예에 따라 입력 텍스트에 관련된 텍스트를 서치하는 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 종래의 다른 실시 예에 따른 전자 장치는 텍스트가 입력되면, 복수의 텍스트 중에서 입력 텍스트와 관련된 텍스트를 서치(또는, 식별)하여 제공할 수 있다.
도 2를 참조하면, 전자 장치는 입력 텍스트를 신경망 모델에 입력하여 복수의 텍스트 중 입력 텍스트와 관련된 텍스트를 획득할 수 있다. 여기서, 신경망 모델은 도 1에서 설명한 Exact match model과 달리, Vector similarity model일 수 있다.
일 실시 예에 따른 Vector similarity model은 복수의 텍스트 각각을 벡터 공간 상에 위치시키고, 입력 텍스트를 벡터로 나타낸 후에 복수의 텍스트 중 벡터 공간 상에서 입력 텍스트에 인접하게 위치하는 텍스트를 식별할 수 있다.
일 실시 예에 따른 Vector similarity model는 텍스트 전체를 벡터로 변환하여 벡터 공간 상에 위치시키며, 벡터 공간 상에서 입력 텍스트에 인접하게 위치하는 텍스트를 식별하므로, Exact match model 대비 입력 텍스트와 컨텍스트(context)가 유사한 텍스트를 식별하는데는 용이하나, 정확도가 떨어지는 문제가 있다.
예를 들어, Vector similarity model은 벡터 공간 상에서 입력 텍스트 ‘Galaxy 21 액정 비용 얼마야?’에 인접한 텍스트로 ‘Galaxy 21의 배터리 비용이 얼마야?’ 또는, ‘Galaxy Note 10의 화면 교체 금액은 10만원이야’ 등을 식별할 수 있다. 다만, 입력 텍스트에 따른 사용자의 검색 의도가 ‘Galaxy 21의 액정을 교체하는데 요구되는 금액’이라는 점에서, Vector similarity model이 식별한 텍스트 중 ‘Galaxy 21의 배터리 비용이 얼마야?’는 동일한 모델(예를 들어, Galaxy21)에 대한 질문이라는 점에서만 유사할 뿐 사용자의 검색 의도에 부합하지 않으며, ‘Galaxy Note 10의 화면 교체 금액은 10만원이야’는 동일한 부품(예를 들어, 화면, 액정)에 대한 질문이라는 점에서만 유사할 뿐 사용자의 검색 의도에 부합하지 않는 문제가 있다.
이하에서는 본 개시의 다양한 실시 예를 통해 사용자의 검색 의도에 부합하며, 전자 장치가 제공하는 검색 결과의 정확도를 높이는 검색 방법에 대해 설명하도록 한다.
도 3은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 3을 참조하면, 전자 장치(100)는 메모리(110), 프로세서(120)를 포함한다.
일 실시 예에 따른 메모리(110)는 복수의 텍스트를 포함할 수 있다. 여기서, 복수의 텍스트는 상술한 바와 같이, 질문(Question) 카테고리(Category)에 속하는 문장, 대답(Answer) 카테고리에 속하는 문장 또는, 질문 형태의 문장과 해당 질문에 대한 대답 형태의 문장이 쌍을 이루는(또는, 매핑 관계인) 문서(Documents)를 포함할 수 있음은 물론이다.
여기서, 복수의 텍스트 각각은 기 저장되어 있을 수도 있으며, 전자 장치(100)가 외부 장치(예를 들어, 서버 등)와 통신을 수행하여 수신한 후에 메모리(110)에 저장할 수도 있음은 물론이다.
본 개시의 일 실시 예에 따른 메모리(110)는 복수의 신경망 모델을 저장할 수 있다. 복수의 신경망 모델 각각에 대한 특징에 대해서는 후술하도록 한다.
본 개시의 일 실시 예에 따른 프로세서(120)는 전자 장치(100)의 전반적인 동작을 제어한다.
일 실시 예에 따라 프로세서(120)는 디지털 영상 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), AI(Artificial Intelligence) 프로세서, T-CON(Timing controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
특히, 프로세서(120)는 입력 텍스트를 복수의 신경망 모델 중 제1 신경망 모델에 입력하여 입력 텍스트에 포함된 단어들 중 제1 엔터티(entity)를 식별할 수 있다.
이어서, 프로세서(120)는 제1 엔터티를 제2 신경망 모델에 입력하여 복수의 텍스트 중 제1 벡터 공간 상에서 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득할 수 있다.
이어서, 프로세서(120)는 획득된 텍스트 중 제2 벡터 공간 상에서 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 식별된 텍스트를 획득하여 출력할 수 있다. 이에 대한 구체적인 설명은 도 4를 참조하여 하도록 한다.
도 4는 본 개시의 일 실시 예에 따른 복수의 신경망 모델을 설명하기 위한 도면이다.
일 실시 예에 따라 프로세서(120)는 입력 텍스트(1)(예를 들어, ‘Galaxy 21 액정 비용 얼마야?’)를 제1 신경망 모델에 입력하여 입력 텍스트(1)에 포함된 단어들 중 제1 엔터티(10)(예를 들어, ‘Galaxy 21’)를 식별할 수 있다(S410).
여기서, 제1 신경망 모델은 Attention entity model로 불릴 수도 있다. 일 실시 예에 따른 Attention entity model은 입력 텍스트(1)에 포함된 복수의 단어들 각각에 대응되는 어텐션 가중치(Attention Weight)를 획득할 수 있다.
일 실시 예에 따른 Attention entity model은 입력 테스트(1)에 포함된 복수의 단어들 각각에 동일한 가중치(또는, 동일한 비율)를 부여하는 것이 아니라, 입력 텍스트에 따른 검색 의도에 대응되는 적어도 하나의 단어에 상대적으로 높은 가중치를 부여하도록 학습된 모델일 수 있다. 여기서, 엔터티(entity)는 복수의 단어들 중에서 Attention entity model이 상대적으로 높은 가중치를 적용한 단어를 지칭할 수 있다.
이어서, 프로세서(120)는 제1 엔터티를 제2 신경망 모델에 입력하여 복수의 텍스트 중 제1 벡터 공간 상에서 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 식별할 수 있다(S420). 여기서, 제2 신경망 모델은 Entity clustering model일 수 있다.
일 실시 예에 따라, Entity clustering model은 복수의 텍스트(2) 각각에 대응되는 엔터티(이하, 제2 엔터티)를 식별할 수 있다. 이어서, Entity clustering model은 복수의 제2 엔터티를 제1 벡터 공간 상에 위치시킬 수 있다.
이어서, Entity clustering model은 제1 벡터 공간 상에 위치하는 복수의 제2 엔터티 중 제1 엔터티(10)와 인접하게 위치하는 적어도 하나의 제2 엔터티를 식별할 수 있다. 구체적으로, Entity clustering model은 제1 벡터 공간 상에서 제1 엔터티의 제1 위치와 복수의 제2 엔터티 각각에 대응되는 제2 위치를 비교하여, 제1 엔터티와 인접한 적어도 하나의 제2 엔터티를 식별할 수 있다.
예를 들어, 제1 엔터티(10)가 ‘Galaxy 21’이면, Entity clustering model은 제1 벡터 공간 상에서 제1 엔터티(10)와 인접하게 위치하는 적어도 하나의 제2 엔터티(예를 들어, ‘Galaxy 21’, ‘Galaxy twenty one’, ‘Galaxy S 21’, ‘갤럭시 21’, ‘Samsung S 21’ 등)를 식별할 수 있다.
이어서, Entity clustering model은 복수의 텍스트(2) 중에서 식별된 제2 엔터티에 대응되는 적어도 하나의 텍스트(20)를 획득할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(120)는 입력 텍스트(1) 전체에 기초하여, 입력 텍스트(1)에 대응되는 벡터 값(30)을 획득할 수 있다.
이어서, 프로세서(120)는 제2 벡터 공간 상에서 제2 엔터티에 대응되는 적어도 하나의 텍스트(20) 중 입력 텍스트(1)에 인접하게 위치하는 적어도 하나의 텍스트(40)를 획득할 수 있다(S430).
예를 들어, 프로세서(120)는 제2 엔터티에 대응되는 적어도 하나의 텍스트(20) 각각을 제2 벡터 공간 상에 위치시키며, 입력 텍스트(1)에 대응되는 벡터 값(30)을 제3 신경망 모델에 입력하여, 제2 벡터 공간 상에서 제2 엔터티에 대응되는 적어도 하나의 텍스트(20) 중 입력 텍스트(1)에 대응되는 벡터 값(30)에 인접하게 위치하는 적어도 하나의 텍스트(40)(또는, Vector가 유사한 텍스트)를 획득할 수 있다. 여기서, 제3 신경망 모델은 Vector similarity model일 수 있다.
한편, Vector similarity model은 복수의 텍스트(2) 각각을 제2 벡터 공간 상에 위치시키는 것이 아니라, Entity clustering model을 이용하여 획득된 제2 엔터티에 대응되는 적어도 하나의 텍스트(20)에 한하여 제2 벡터 공간 상에 위치시킨 후에, 입력 텍스트(1)에 대응되는 벡터 값(30)에 인접하게 위치하는 적어도 하나의 텍스트(40)를 획득할 수 있다.
일 실시 예에 따라 Vector similarity model이 제2 벡터 공간 상에서 서치해야하는 텍스트가 복수의 텍스트(2)가 아닌, Entity clustering model을 이용하여 획득된 제2 엔터티에 대응되는 적어도 하나의 텍스트(20)로 제한되므로, 전자 장치(100)의 검색 리소스를 효율적으로 관리할 수 있으며, 전자 장치(100)는 Attention entity model 및 Entity clustering model을 이용하여 상대적으로 높은 가중치가 적용된 엔터티(즉, 제1 엔터티)에 인접한 엔터티(즉, 제2 엔터티)에 대응되는 적어도 하나의 텍스트(20) 중에서 벡터 값이 유사한 텍스트(40)를 식별하므로 검색 의도에 부합하는 검색 결과를 제공할 수 있다.
이하에서는, 제1 내지 제3 신경망 모델의 학습 방법 및 복수의 텍스트에 대해 설명하도록 한다.
도 5는 본 개시의 일 실시 예에 따른 텍스트 간의 매핑 관계를 설명하기 위한 도면이다.
도 5를 참조하면, 복수의 학습 텍스트(3) 중 제1 학습 텍스트(3-1)는 질문 카테고리에 속하는 문장 형태의 텍스트일 수 있고, 제2 학습 텍스트(3-2)도 질문 카테고리에 속하는 문장 형태의 텍스트일 수 있다.
또한, 복수의 학습 텍스트(3) 중 제3 학습 텍스트(3-3)는 답변 카테고리에 속하는 문장 형태의 텍스트일 수 있고, 제4 학습 텍스트(3-4)도 답변 카테고리에 속하는 문장 형태의 텍스트일 수 있다.
여기서, 제1 학습 텍스트(3-1)(예를 들어, ‘Galaxy 21 액정 비용 얼마야?’)와 제3 학습 텍스트(3-3)(예를 들어, ‘액정 비용은 20만원 입니다.)는, 질문-대답(Question- Answer) 관계의 매핑 관계일 수 있다. 다른 예로, 제2 학습 텍스트(3-2)(예를 들어, ‘Galaxy A52 액정 교체비는?’)와 제4 학습 텍스트(3-4)(예를 들어, ‘액정 비용은 15만원 입니다.)는, 질문-대답 관계의 매핑 관계일 수 있다.
상술한 질문 카테고리에 속하는 문장 형태의 텍스트, 답변 카테고리에 속하는 문장 형태의 텍스트는 텍스트의 일 예시에 불과하며, 반드시 질문, 답변 형태가 아닌, 다양한 형태(예를 들어, 설명서(제품 사용 설명서 등), 리뷰(review))의 텍스트를 포함할 수 있음은 물론이다. 한편, 복수의 학습 텍스트(3)와 도 4에 도시된 복수의 텍스트(2)는 동일할 수도 있으며, 상이할 수도 있음은 물론이다.
한편, 제1 신경망 모델(즉, Attention entity model)은 복수의 학습 텍스트(3)를 학습 데이터로하여 입력 텍스트(1)에 포함된 복수의 단어들 중 적어도 하나를 제1 엔터티(10)로 식별하도록 학습된 모델일 수 있다. 이에 대한 구체적인 설명은 도 6을 참조하여 하도록 한다.
도 6은 본 개시의 일 실시 예에 따른 엔터티(Entity)를 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 Attention entity model은, 질문 카테고리에 속하는 제1 학습 텍스트(2-1)와 제2 학습 텍스트(2-2)를 비교하여, 제1 학습 텍스트(2-1)에 포함된 복수의 단어들과 제2 학습 텍스트(2-2)에 포함된 복수의 단어들 중에서 서로 다른 의미를 가지는 단어의 유무를 식별할 수 있다.
예를 들어, Attention entity model은, 제1 학습 텍스트(2-1)에 포함된 복수의 단어들 중에서 제1 단어(20-1)(예를 들어, ‘Galaxy 21’)와 제2 학습 텍스트(2-2)에 포함된 복수의 단어들 중에서 제2 단어(20-2)(예를 들어, ‘Galaxy A52’)가 서로 다른 의미를 가지는 것으로 식별할 수 있다.
이어서, Attention entity model은 제1 학습 텍스트(2-1)와 매핑 관계인 제3 학습 텍스트(2-3)와 제2 학습 텍스트(2-2)와 매핑 관계인 제4 학습 텍스트(2-4)를 비교하여, 제3 학습 텍스트(2-3)와 제4 학습 텍스트(2-4)가 상이한 의미를 가지는지 여부를 식별할 수 있다.
예를 들어, Attention entity model은, 제3 학습 텍스트(2-3)에 포함된 복수의 단어들 중에서 제3 단어(20-3)(예를 들어, 20만원)와 제4 학습 텍스트(2-4)에 포함된 복수의 단어들 중에서 제4 단어(20-4)(예를 들어, 15만원)가 상이한 의미를 가지므로, 제3 학습 텍스트(2-3)와 제4 학습 텍스트(2-4)가 상이한 의미를 가지는 것으로 식별할 수 있다.
이어서, Attention entity model은, 답변 카테고리에 속하는 제3 학습 텍스트(2-3)와 제4 학습 텍스트(2-4)가 상이한 의미를 가지는 것으로 식별되면, 제1 단어(20-1)(예를 들어, ‘Galaxy 21’)와 제2 단어(20-2)(예를 들어, ‘Galaxy A52’)에 상대적으로 큰 가중치가 적용되도록 학습될 수 있다.
즉, Attention entity model은 질문 카테고리에 속하는 복수의 학습 텍스트 각각의 컨텍스트가 유사하나, 각각에 매핑 관계이며 답변 카테고리에 속하는 복수의 학습 텍스트가 상이한 의미를 가지는 것으로 식별되면, 질문 카테고리에 속하는 복수의 학습 텍스트 간에 상이한 의미를 가지는 단어를 엔터티(entity)로 식별하도록 학습될 수 있다.
도 4로 돌아가서, Attention entity model이 입력 텍스트와 복수의 텍스트 각각에 대응되는 엔터티를 식별하는 S410 단계와, 복수의 텍스트(2) 중에서 입력 텍스트에 대응되는 제1 엔터티(10)와 인접하게 위치하는 적어도 하나의 텍스트를 식별하는 S420 단계를 도 7을 참조하여 구체적으로 설명하도록 한다.
도 7은 본 개시의 일 실시 예에 따른 엔터티 클러스터링 모델(Entity Clustering Model)을 설명하기 위한 도면이다.
도 7을 참조하면, Attention entity model은 복수의 텍스트(2)와 입력 텍스트(1) 각각에 포함된 단어들을 분석한 후, 복수의 텍스트(2)와 입력 텍스트(1) 각각에 대응되는 엔터티를 식별할 수 있다.
예를 들어, Attention entity model은 입력 텍스트(1)에 포함된 복수의 단어들 중에서 상대적으로 높은 가중치가 적용된 적어도 하나의 제1 엔터티(10-1, 10-2)(예를 들어, Galaxy A52, Samsung pay)를 식별할 수 있다.
또한, Attention entity model은 제1 텍스트(2-1)에 포함된 복수의 단어들 중에서 상대적으로 높은 가중치가 적용된 적어도 하나의 제2 엔터티(10-3, 10-4)(예를 들어, Galaxy S21, Gear)를 식별할 수 있다.
도 7에 도시된 바와 같이, Attention entity model은 제2 텍스트(2-2)에 대응되는 적어도 하나의 제2 엔터티(10-5, 10-6)(예를 들어, Galaxy S20, TV)를 획득할 수 있고, 제3 텍스트(2-3)에 대응되는 적어도 하나의 제2 엔터티(10-7)(예를 들어, Galaxy A52)를 획득할 수 있고, 제4 텍스트(2-4)에 대응되는 적어도 하나의 제2 엔터티(10-8, 10-9)(예를 들어, Galaxy A52, Panel)를 획득할 수 있다.
즉, Attention entity model은 복수의 텍스트(2)와 입력 텍스트(1) 각각에 대응되는 엔터티를 식별할 수 있다(S410).
이어서, Entity clustering model은, 입력 텍스트(1)에 대응되는 제1 엔터티(10-1)와 복수의 텍스트(2) 각각에 대응되는 제2 엔터티(10-2, ..., 10-n)를 제1 벡터 공간 상에 위치시킬 수 있다.
도 7을 참조하면, 제1 엔터티(10-1)는 제1 벡터 공간 상에 V5로 도시하였으며, 제1 텍스트(2-1)에 대응되는 제2 엔터티(10-3, 10-4)는 제1 벡터 공간 상에 V1, 제2 텍스트(2-2)에 대응되는 제2 엔터티(10-5, 10-6)는 제1 벡터 공간 상에 V2, 제3 텍스트(2-3)에 대응되는 제2 엔터티(10-7)는 벡터 공간 상에 V3, 제4 텍스트(2-4)에 대응되는 제2 엔터티(10-8, 10-9)는 벡터 공간 상에 V4로 도시하였다.
도 7을 참조하면, Entity clustering model은, 입력 텍스트(1)에 대응되는 제1 엔터티(10-1) 즉, V5와 인접하게 위치하는 V3 및 V4를 식별할 수 있으며, 이어서, V3에 대응되는 제3 텍스트(2-3) 및 V4에 대응되는 제4 텍스트(2-4)를 식별할 수 있다(S420).
도 4로 돌아가서, Entity clustering model이 제1 엔터티(10-1)의 벡터 상 위치와 인접한 벡터에 대응되는 적어도 하나의 텍스트(20)를 식별하면, Vector similarity model은, 식별된 텍스트(20) 중에서 입력 텍스트(1)와 벡터 상 인접한 적어도 하나의 텍스트(40)를 식별할 수 있다(S430). 이하에서는, S430 단계를 도 8을 참조하여 구체적으로 설명하도록 한다.
도 8은 본 개시의 일 실시 예에 따른 벡터 시밀러리티 모델(Vector Similarity Model)을 설명하기 위한 도면이다.
도 8을 참조하면, Vector similarity model은, 입력 텍스트(1)를 전체 텍스트 단위로 벡터로 변환한 후에 제2 벡터 공간 상에 위치시킬 수 있다(V5’)
또한, Vector similarity model은 S420 단계에서 Entity clustering model을 이용하여 식별된 적어도 하나의 텍스트(20)(도 7 및 도 8을 참조하면, 제3 텍스트(2-3) 및 제4 텍스트(2-4))를 벡터로 변환하여 제2 벡터 공간 상에 위치시킬 수 있다(V3’, V4’).
이어서, Vector similarity model은 제2 벡터 공간 상에서 입력 텍스트(1)에 대응되는 벡터(V5’)와 인접하게 위치하는 벡터(예를 들어, V3’)를 획득할 수 있다.
이어서, Vector similarity model은 획득된 벡터(예를 들어, V3’)에 대응되는 텍스트(예를 들어, 제3 텍스트(2-3))를 식별할 수 있다.
한편, 본 개시의 일 실시 예에 따른 프로세서(120)는, 입력 텍스트(1)가 질문 카테고리에 속하는 문장 형태의 텍스트이면, Vector similarity model을 이용하여 식별된 텍스트(예를 들어, 제3 텍스트(2-3))와 매핑 관계이며 답변 카테고리에 속하는 문장 형태의 텍스트를 출력할 수 있다.
예를 들어, 입력 텍스트(1)가 ‘갤럭시 A52 배터리 가격 얼마야?’이면, Vector similarity model을 이용하여 식별된 텍스트는 일 예로, ‘Galaxy A52 배터리 교체 비용 얼마야?’이며, 매핑 관계이며 답변 카테고리에 속하는 텍스트는 ‘5만원 입니다’일 수 있다.
도 9는 본 개시의 다른 실시 예에 따른 엔터티 딕셔너리(Entity Dictionary)를 설명하기 위한 도면이다.
도 9를 참조하면, 도 4와 달리 Entity Dictionary가 추가될 수 있다. S440 단계 즉, Entity Dictionary는, 전자 장치(100)의 검색 결과 제공 이력, 외부 장치(예를 들어, 서버)로부터 수신된 데이터에 기초하여 검색 의도를 파악하기 위해 중요한 단어로 분류된 Entity Dictionary(또는, 단어 DB(database))일 수 있다.
일 실시 예에 따라 프로세서(120)는 입력 텍스트(1)를 제1 신경망 모델 즉, Attention entity model에 입력하여 엔터티(10)를 식별하고(S410), 입력 텍스트(1)에 포함된 복수의 단어를 Entity Dictionary에 포함된 복수의 단어와 비교하여 동일한 단어의 존재 유무를 식별할 수 있다(S440). 이어서, 프로세서(120)는 Attention entity model을 이용하여 식별된 엔터티(10)와 S440 단계에서 식별된 단어를 엔터티(10’)로 하여 Entity clustering model에 입력할 수 있다.
일 실시 예에 따른 Entity Dictionary의 생성 방법, 또는 업데이트 방법에 대해 도 10을 참조하여 설명하도록 한다.
도 10은 본 개시의 일 실시 예에 따른 엔터티를 등록하는 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 우선, 입력 텍스트(1)를 Attention entity model에 입력한다(S1010). 이어서, Attention entity model이 입력 텍스트(1)에 포함된 복수의 단어 각각에 적용한 가중치 중에서 임계 값 보다 높은 가중치가 적용된 단어가 존재하는지 여부를 식별한다(S1020). 여기서, 복수의 단어 각각에 적용된 가중치의 총 합은 1일 수 있고, 임계 값은 0.5일 수 있다. 다만, 이는 일 예시에 불과하며 이에 한정되지 않음은 물론이다.
이어서, 프로세서(120)는 임계 값 보다 높은 가중치가 적용된 단어를 Entity Dictionary에 추가할 수 있다(S1030).
여기서, 임계 값 보다 높은 가중치가 적용된 단어는, 검색 의도를 파악하는데 있어서 중요한 단어임을 의미하므로, 검색 의도를 보다 높은 정확도로 파악하기 위해 프로세서(120)는 새로운 입력 텍스트(1’)에 포함된 복수의 단어 중에서 Attention entity model을 이용하여 획득된 엔터티 외에도 Entity Dictionary에 포함된 단어가 포함되어 있다면, 이를 엔터티로 식별할 수 있다.
도 3으로 돌아와서, 본 개시의 일 실시 예에 따른 전자 장치(100)는 예를 들면, 스마트폰, 태블릿 PC, 이동 전화기, 영상 전화기, 전자책 리더기, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, 서버, PDA, PMP(portable multimedia player), MP3 플레이어, 의료기기, 카메라, 가상 현실(virtual reality(VR)) 구현 장치 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트 렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에서, 전자 장치(100)는 예를 들면, 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
다른 실시 예에서, 전자 장치(100)는 각종 의료기기(예: 각종 휴대용 의료측정기기(혈당 측정기, 심박 측정기, 혈압 측정기, 또는 체온 측정기 등), MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 또는 초음파기 등), 네비게이션 장치, 위성 항법 시스템(GNSS(global navigation satellite system)), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트 장치, 선박용 전자 장비(예: 선박용 항법 장치, 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛(head unit), 산업용 또는 가정용 로봇, 드론(drone), 금융 기관의 ATM, 상점의 POS(point of sales), 또는 사물 인터넷 장치 (예: 전구, 각종 센서, 스프링클러 장치, 화재 경보기, 온도조절기, 가로등, 토스터, 운동기구, 온수탱크, 히터, 보일러 등) 중 적어도 하나를 포함할 수 있다.
본 개시에서, 신경망 모델이 학습된다는 것은, 기본 신경망 모델(예를 들어 임의의 랜덤한 파라미터를 포함하는 인공 지능 모델)이 학습 알고리즘에 의하여 다수의 훈련 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 신경망 모델이 만들어짐을 의미한다. 이러한 학습은 별도의 서버 및/또는 시스템을 통해 이루어질 수 있으나, 이에 한정되는 것은 아니며 전자 장치(100)에서 이루어질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning), 전이 학습(transfer learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
여기서, 신경망 모델 각각은, 예를 들어, CNN (Convolutional Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등으로 구현될 수 있으나, 이에 한정되지 않는다.
본 개시의 일 실시 예에 따른 신경망 모델을 실행하기 위한 프로세서(120)는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공 지능 전용 프로세서와 소프트웨어의 조합을 통해 구현될 수 있다. 프로세서(120)는, 메모리(110)에 저장된 기 정의된 동작 규칙 또는 신경망 모델에 따라, 입력 데이터를 처리하도록 제어할 수 있다. 또는, 프로세서(120)가 전용 프로세서(또는 인공 지능 전용 프로세서)인 경우, 특정 신경망 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다. 예를 들어, 특정 신경망 모델의 처리에 특화된 하드웨어는 ASIC, FPGA 등의 하드웨어 칩으로 설계될 수 있다. 프로세서(120)가 전용 프로세서로 구현되는 경우, 본 개시의 실시 예를 구현하기 위한 메모리를 포함하도록 구현되거나, 외부 메모리를 이용하기 위한 메모리 처리 기능을 포함하도록 구현될 수 있다.
다른 예에 따라, 메모리(110)는 복수의 레이어를 포함하는 신경망 모델에 관한 정보를 저장할 수 있다. 여기서, 신경망 모델에 관한 정보를 저장한다는 것은 신경망 모델의 동작과 관련된 다양한 정보, 예를 들어 신경망 모델에 포함된 복수의 레이어에 대한 정보, 복수의 레이어 각각에서 이용되는 파라미터(예를 들어, 필터 계수, 바이어스 등)에 대한 정보 등을 저장한다는 것을 의미할 수 있다.
메모리(110)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다.
예를 들어, 전자 장치(100)의 구동을 위한 데이터는 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터는 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따라 메모리(110)는 전자 장치(100)를 제어하기 위한 적어도 하나의 인스트럭션(instruction) 또는 인스트럭션들을 포함하는 컴퓨터 프로그램을 저장할 수 있다.
다른 예에 따라, 메모리(110)는 복수의 레이어를 포함하는 신경망 모델에 관한 정보를 저장할 수 있다. 여기서, 신경망 모델에 관한 정보를 저장한다는 것은 신경망 모델의 동작과 관련된 다양한 정보, 예를 들어 신경망 모델에 포함된 복수의 레이어에 대한 정보, 복수의 레이어 각각에서 이용되는 파라미터(예를 들어, 필터 계수, 바이어스 등)에 대한 정보 등을 저장한다는 것을 의미할 수 있다. 예를 들어, 메모리(110)는 본 개시의 일 실시 예에 따라 신경망 모델을 저장할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치(100)는 디스플레이(미도시)를 포함할 수 있고, 디스플레이(미도시)는 다양한 화면을 표시할 수 있다. 디스플레이는 자발광 소자를 포함하는 디스플레이 또는, 비자발광 소자 및 백라이트를 포함하는 디스플레이로 구현될 수 있다. 예를 들어, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, LED(Light Emitting Diodes), 마이크로 LED(micro LED), Mini LED, PDP(Plasma Display Panel), QD(Quantum dot) 디스플레이, QLED(Quantum dot light-emitting diodes) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(150) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(150)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 롤러블 디스플레이(rollable display), 3차원 디스플레이(3D display), 복수의 디스플레이 모듈이 물리적으로 연결된 디스플레이 등으로 구현될 수 있다.
특히, 본 개시의 일 실시 예에 따른 디스플레이는 프로세서(120)의 제어에 따라 식별된 텍스트 또는, 식별된 텍스트와 매핑 관계이며 답변 카테고리에 속하는 텍스트를 출력할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따른 복수의 텍스트를 포함하는 전자 장치의 제어 방법은, 우선, 입력 텍스트를 제1 신경망 모델에 입력하여 입력 텍스트에 포함된 단어들 중 제1 엔터티(entity)를 식별한다(S1110).
이어서, 식별된 제1 엔터티를 제2 신경망 모델에 입력하여 복수의 텍스트 중 제1 벡터(vector) 공간 상에서 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득한다(S1120).
이어서, 획득된 텍스트 중 제2 벡터 공간 상에서 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 식별된 텍스트를 출력한다(S1130).
여기서, 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 S1120 단계는, 복수의 텍스트 각각에 대응되는 제2 엔터티를 식별하는 단계, 제1 벡터 공간 상에 위치하는 복수의 제2 엔터티 중 제1 엔터티와 인접한 적어도 하나의 제2 엔터티를 식별하는 단계 및 복수의 텍스트 중 식별된 적어도 하나의 제2 엔터티에 대응되는 적어도 하나의 텍스트를 획득하는 단계를 포함할 수 있다.
여기서, 적어도 하나의 제2 엔터티를 식별하는 단계는, 제1 벡터 공간 상에서 제1 엔터티의 제1 위치와 복수의 제2 엔터티 각각에 대응되는 제2 위치를 비교하여 제1 엔터티와 인접한 적어도 하나의 제2 엔터티를 식별하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따른, 식별된 텍스트를 출력하는 S1130 단계는, 제2 벡터 공간 상에서 입력 텍스트의 제3 위치와 복수의 텍스트 각각에 대응되는 제4 위치를 비교하여 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트를 식별하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따른 제1 신경망 모델은, 학습 텍스트에 포함된 단어들 각각에 서로 다른 가중치(weight)를 적용하며, 단어들 중 상대적으로 높은 가중치가 적용된 적어도 하나의 단어를 학습 텍스트에 대응되는 엔터티로 식별하도록 학습된 모델일 수 있다.
여기서, 제1 신경망 모델은, 질문 카테고리에 속하는 제1 학습 텍스트 및 제2 학습 텍스트를 비교하여 서로 다른 의미이며 제1 학습 텍스트에 포함된 제1 단어 및 제2 학습 텍스트에 포함된 제2 단어를 식별하며, 답변 카테고리에 속하는 제3 학습 텍스트 및 제4 학습 텍스트가 상이한 의미를 가지는 것으로 식별되면, 제1 학습 텍스트에 포함된 단어들 중 제1 단어에 상대적으로 큰 가중치를 적용하고 제2 학습 텍스트에 포함된 단어들 중 제2 단어에 상대적으로 큰 가중치를 적용하도록 학습되며, 제1 학습 텍스트는 제3 학습 텍스트와 매핑 관계이며, 제2 학습 텍스트는 제4 학습 텍스트와 매핑 관계일 수 있다.
본 개시의 일 실시 예에 따른 제어 방법은, 입력 텍스트를 제3 신경망 모델에 입력하여 제2 벡터 공간 상에 위치시키는 단계를 포함하며, 제3 신경망 모델은, 입력 텍스트를 하나의 단위로 하여 입력 텍스트에 대응되는 제2 벡터 공간 상의 위치를 식별하도록 학습된 모델일 수 있다.
본 개시의 일 실시 예에 따른 복수의 텍스트 각각은, 질문(Question) 카테고리 또는 답변(Answer) 카테고리 중 적어도 하나에 포함되는 문장 형태의 텍스트이며, 복수의 텍스트 중 질문 카테고리에 포함되는 텍스트들 각각은, 답변 카테고리에 포함되는 텍스트들 각각에 매핑 관계일 수 있다.
여기서, 입력 텍스트는 질문 카테고리에 포함되며, 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 S1120 단계는, 질문 카테고리에 포함되는 텍스트들 중 제1 벡터 공간 상에서 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계를 포함하고, 식별된 텍스트를 출력하는 S1130 단계는, 획득된 텍스트 중 제2 벡터 공간 상에서 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 답변 카테고리에 포함되는 텍스트들 중에서 식별된 텍스트와 매핑 관계인 텍스트를 출력하는 단계를 포함할 수 있다.
다만, 본 개시의 다양한 실시 예들은 전자 장치 뿐 아니라, 음성 신호를 수신할 수 있는 모든 전자 장치에 적용될 수 있음은 물론이다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 전자 장치(100)의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 음향 출력 장치(100)에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100: 전자 장치 110: 메모리
120: 프로세서

Claims (18)

  1. 전자 장치에 있어서,
    복수의 텍스트 및 복수의 신경망 모델이 저장된 메모리; 및
    입력 텍스트를 상기 복수의 신경망 모델 중 제1 신경망 모델에 입력하여 상기 입력 텍스트에 포함된 단어들 중 제1 엔터티(entity)를 식별하고,
    상기 식별된 제1 엔터티를 제2 신경망 모델에 입력하여 상기 복수의 텍스트 중 제1 벡터(vector) 공간 상에서 상기 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하고,
    상기 획득된 텍스트 중 제2 벡터 공간 상에서 상기 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 상기 식별된 텍스트를 출력하는 프로세서;를 포함하는, 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 복수의 텍스트 각각에 대응되는 제2 엔터티를 식별하며,
    상기 제1 벡터 공간 상에 위치하는 복수의 제2 엔터티 중 상기 제1 엔터티와 인접한 적어도 하나의 제2 엔터티를 식별하고,
    상기 복수의 텍스트 중 상기 식별된 적어도 하나의 제2 엔터티에 대응되는 상기 적어도 하나의 텍스트를 획득하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 제1 벡터 공간 상에서 상기 제1 엔터티의 제1 위치와 상기 복수의 제2 엔터티 각각에 대응되는 제2 위치를 비교하여 상기 제1 엔터티와 인접한 상기 적어도 하나의 제2 엔터티를 식별하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    상기 제2 벡터 공간 상에서 상기 입력 텍스트의 제3 위치와 상기 복수의 텍스트 각각에 대응되는 제4 위치를 비교하여 상기 입력 텍스트에 인접하게 위치하는 상기 적어도 하나의 텍스트가 식별하는, 전자 장치.
  5. 제1항에 있어서,
    상기 제1 신경망 모델은,
    학습 텍스트에 포함된 단어들 각각에 서로 다른 가중치(weight)를 적용하며,
    상기 단어들 중에서 상대적으로 높은 가중치가 적용된 적어도 하나의 단어를 상기 학습 텍스트에 대응되는 엔터티로 식별하도록 학습된 모델인, 전자 장치.
  6. 제5항에 있어서,
    상기 제1 신경망 모델은,
    질문 카테고리에 속하는 제1 학습 텍스트 및 제2 학습 텍스트를 비교하여 서로 다른 의미이며 상기 제1 학습 텍스트에 포함된 제1 단어 및 상기 제2 학습 텍스트에 포함된 제2 단어를 식별하며,
    답변 카테고리에 속하는 제3 학습 텍스트 및 제4 학습 텍스트가 상이한 의미를 가지는 것으로 식별되면, 상기 제1 학습 텍스트에 포함된 단어들 중 상기 제1 단어에 상대적으로 큰 가중치를 적용하고 상기 제2 학습 텍스트에 포함된 단어들 중 상기 제2 단어에 상대적으로 큰 가중치를 적용하도록 학습되며,
    상기 제1 학습 텍스트는 상기 제3 학습 텍스트와 매핑 관계이며,
    상기 제2 학습 텍스트는 상기 제4 학습 텍스트와 매핑 관계인, 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 입력 텍스트를 제3 신경망 모델에 입력하여 상기 제2 벡터 공간 상에 위치시키며,
    상기 제3 신경망 모델은,
    입력 텍스트를 하나의 단위로 하여 상기 입력 텍스트에 대응되는 상기 제2 벡터 공간 상의 위치를 식별하도록 학습된, 전자 장치.
  8. 제1항에 있어서,
    상기 복수의 텍스트 각각은,
    질문(Question) 카테고리 또는 답변(Answer) 카테고리 중 적어도 하나에 포함되는 문장 형태의 텍스트이며,
    상기 복수의 텍스트 중 상기 질문 카테고리에 포함되는 텍스트들 각각은, 상기 답변 카테고리에 포함되는 텍스트들 각각에 매핑 관계인, 전자 장치.
  9. 제8항에 있어서,
    상기 입력 텍스트는 상기 질문 카테고리에 포함되며,
    상기 프로세서는,
    상기 질문 카테고리에 포함되는 텍스트들 중 제1 벡터(vector) 공간 상에서 상기 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하고,
    상기 획득된 텍스트 중 상기 제2 벡터 공간 상에서 상기 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 상기 답변 카테고리에 포함되는 텍스트들 중에서 상기 식별된 텍스트와 매핑 관계인 텍스트를 출력하는, 전자 장치.
  10. 복수의 텍스트를 포함하는 전자 장치의 제어 방법에 있어서,
    입력 텍스트를 제1 신경망 모델에 입력하여 상기 입력 텍스트에 포함된 단어들 중 제1 엔터티(entity)를 식별하는 단계;
    상기 식별된 제1 엔터티를 제2 신경망 모델에 입력하여 상기 복수의 텍스트 중 제1 벡터(vector) 공간 상에서 상기 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계;
    상기 획득된 텍스트 중 제2 벡터 공간 상에서 상기 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 상기 식별된 텍스트를 출력하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계는,
    상기 복수의 텍스트 각각에 대응되는 제2 엔터티를 식별하는 단계;
    상기 제1 벡터 공간 상에 위치하는 복수의 제2 엔터티 중 상기 제1 엔터티와 인접한 적어도 하나의 제2 엔터티를 식별하는 단계; 및
    상기 복수의 텍스트 중 상기 식별된 적어도 하나의 제2 엔터티에 대응되는 상기 적어도 하나의 텍스트를 획득하는 단계;를 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 적어도 하나의 제2 엔터티를 식별하는 단계는,
    상기 제1 벡터 공간 상에서 상기 제1 엔터티의 제1 위치와 상기 복수의 제2 엔터티 각각에 대응되는 제2 위치를 비교하여 상기 제1 엔터티와 인접한 상기 적어도 하나의 제2 엔터티를 식별하는 단계;를 포함하는, 제어 방법.
  13. 제10항에 있어서,
    상기 식별된 텍스트를 출력하는 단계는,
    상기 제2 벡터 공간 상에서 상기 입력 텍스트의 제3 위치와 상기 복수의 텍스트 각각에 대응되는 제4 위치를 비교하여 상기 입력 텍스트에 인접하게 위치하는 상기 적어도 하나의 텍스트를 식별하는 단계;를 포함하는, 제어 방법.
  14. 제10항에 있어서,
    상기 제1 신경망 모델은,
    학습 텍스트에 포함된 단어들 각각에 서로 다른 가중치(weight)를 적용하며,
    상기 단어들 중 상대적으로 높은 가중치가 적용된 적어도 하나의 단어를 상기 학습 텍스트에 대응되는 엔터티로 식별하도록 학습된 모델인, 제어 방법.
  15. 제14항에 있어서,
    상기 제1 신경망 모델은,
    질문 카테고리에 속하는 제1 학습 텍스트 및 제2 학습 텍스트를 비교하여 서로 다른 의미이며 상기 제1 학습 텍스트에 포함된 제1 단어 및 상기 제2 학습 텍스트에 포함된 제2 단어를 식별하며,
    답변 카테고리에 속하는 제3 학습 텍스트 및 제4 학습 텍스트가 상이한 의미를 가지는 것으로 식별되면, 상기 제1 학습 텍스트에 포함된 단어들 중 상기 제1 단어에 상대적으로 큰 가중치를 적용하고 상기 제2 학습 텍스트에 포함된 단어들 중 상기 제2 단어에 상대적으로 큰 가중치를 적용하도록 학습되며,
    상기 제1 학습 텍스트는 상기 제3 학습 텍스트와 매핑 관계이며,
    상기 제2 학습 텍스트는 상기 제4 학습 텍스트와 매핑 관계인, 제어 방법.
  16. 제10항에 있어서,
    상기 입력 텍스트를 제3 신경망 모델에 입력하여 상기 제2 벡터 공간 상에 위치시키는 단계;를 포함하며,
    상기 제3 신경망 모델은,
    입력 텍스트를 하나의 단위로 하여 상기 입력 텍스트에 대응되는 상기 제2 벡터 공간 상의 위치를 식별하도록 학습된 모델인, 제어 방법.
  17. 제10항에 있어서,
    상기 복수의 텍스트 각각은,
    질문(Question) 카테고리 또는 답변(Answer) 카테고리 중 적어도 하나에 포함되는 문장 형태의 텍스트이며,
    상기 복수의 텍스트 중 상기 질문 카테고리에 포함되는 텍스트들 각각은, 상기 답변 카테고리에 포함되는 텍스트들 각각에 매핑 관계인, 제어 방법.
  18. 제17항에 있어서,
    상기 입력 텍스트는 상기 질문 카테고리에 포함되며,
    상기 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계는,
    상기 질문 카테고리에 포함되는 텍스트들 중 제1 벡터 공간 상에서 상기 식별된 제1 엔터티에 인접하게 위치하는 적어도 하나의 텍스트를 획득하는 단계;를 포함하고,
    상기 식별된 텍스트를 출력하는 단계는,
    상기 획득된 텍스트 중 상기 제2 벡터 공간 상에서 상기 입력 텍스트에 인접하게 위치하는 적어도 하나의 텍스트가 식별되면, 상기 답변 카테고리에 포함되는 텍스트들 중에서 상기 식별된 텍스트와 매핑 관계인 텍스트를 출력하는 단계;를 포함하는, 제어 방법.
KR1020210193345A 2021-12-30 2021-12-30 전자 장치 및 그 제어 방법 KR20230102882A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020210193345A KR20230102882A (ko) 2021-12-30 2021-12-30 전자 장치 및 그 제어 방법
PCT/KR2022/021616 WO2023128660A1 (ko) 2021-12-30 2022-12-29 검색을 수행하기 위한 전자 장치 및 그 제어 방법
EP22916801.8A EP4375851A1 (en) 2021-12-30 2022-12-29 Electronic device for performing search, and control method thereof
US18/204,676 US20230315771A1 (en) 2021-12-30 2023-06-01 Electronic apparatus for performing search and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210193345A KR20230102882A (ko) 2021-12-30 2021-12-30 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20230102882A true KR20230102882A (ko) 2023-07-07

Family

ID=86999681

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210193345A KR20230102882A (ko) 2021-12-30 2021-12-30 전자 장치 및 그 제어 방법

Country Status (4)

Country Link
US (1) US20230315771A1 (ko)
EP (1) EP4375851A1 (ko)
KR (1) KR20230102882A (ko)
WO (1) WO2023128660A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101788682B1 (ko) * 2016-04-15 2017-10-20 광운대학교 산학협력단 어휘망을 이용한 동형이의어 중의성 해소 시스템 및 방법
US10037360B2 (en) * 2016-06-20 2018-07-31 Rovi Guides, Inc. Approximate template matching for natural language queries
CN108280061B (zh) * 2018-01-17 2021-10-26 北京百度网讯科技有限公司 基于歧义实体词的文本处理方法和装置
KR20210024861A (ko) * 2019-08-26 2021-03-08 삼성전자주식회사 대화 서비스를 제공하는 방법 및 전자 디바이스
CN111259215B (zh) * 2020-02-14 2023-06-27 北京百度网讯科技有限公司 基于多模态的主题分类方法、装置、设备、以及存储介质

Also Published As

Publication number Publication date
US20230315771A1 (en) 2023-10-05
EP4375851A1 (en) 2024-05-29
WO2023128660A1 (ko) 2023-07-06

Similar Documents

Publication Publication Date Title
US10769766B1 (en) Regularized multi-label classification from partially labeled training data
CN111897964B (zh) 文本分类模型训练方法、装置、设备及存储介质
US11544524B2 (en) Electronic device and method of obtaining emotion information
US20190034814A1 (en) Deep multi-task representation learning
US10970900B2 (en) Electronic apparatus and controlling method thereof
US11954150B2 (en) Electronic device and method for controlling the electronic device thereof
US10789952B2 (en) Voice command execution from auxiliary input
KR102526700B1 (ko) 전자 장치 및 그의 3d 이미지 표시 방법
US20210358127A1 (en) Interactive image segmentation
US10803248B1 (en) Consumer insights analysis using word embeddings
US11675928B2 (en) Electronic device for obfuscating and decoding data and method for controlling same
EP3757817A1 (en) Electronic device and control method therefor
US10977106B2 (en) Tree-based anomaly detection
US11580444B2 (en) Data visualization machine learning model performance
KR20190118108A (ko) 전자 장치 및 그의 제어방법
CN113051910B (zh) 一种用于预测人物角色情绪的方法和装置
KR20220088191A (ko) 전자 장치 및 그 제어 방법
KR20200028089A (ko) 전자 장치 및 그의 제어방법
US20220245364A1 (en) Electronic device and control method thereof
KR20230102882A (ko) 전자 장치 및 그 제어 방법
WO2020167156A1 (ru) Способ отладки обученной рекуррентной нейронной сети
CN115204301A (zh) 视频文本匹配模型训练、视频文本匹配方法和装置
US20220108694A1 (en) Method and appartaus for supporting voice instructions
US20220198523A1 (en) Electronic device and control method thereof
KR20240012973A (ko) 영상 기반 질문에 대한 답변을 제공하는 디스플레이 장치 및 그 제어 방법