[go: up one dir, main page]

KR20250100440A - Electronic device and method for providing user interface for user query based on category using the same - Google Patents

Electronic device and method for providing user interface for user query based on category using the same Download PDF

Info

Publication number
KR20250100440A
KR20250100440A KR1020240005272A KR20240005272A KR20250100440A KR 20250100440 A KR20250100440 A KR 20250100440A KR 1020240005272 A KR1020240005272 A KR 1020240005272A KR 20240005272 A KR20240005272 A KR 20240005272A KR 20250100440 A KR20250100440 A KR 20250100440A
Authority
KR
South Korea
Prior art keywords
user query
user
answer
topic
display
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.)
Pending
Application number
KR1020240005272A
Other languages
Korean (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 삼성전자주식회사
Priority to PCT/KR2024/020170 priority Critical patent/WO2025143646A1/en
Publication of KR20250100440A publication Critical patent/KR20250100440A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/3322Query formulation using system suggestions
    • G06F16/3323Query formulation using system suggestions using document space presentation or visualization, e.g. category, hierarchy or range presentation and selection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0475Generative networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

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

Abstract

본 개시의 일 실시예에 따르면, 전자 장치는, 디스플레이, 인스트럭션들(instructions)을 저장하는 메모리(220), 및 프로세서를 포함할 수 있다. 일 실시예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 사용자 쿼리를 수신하도록 할 수 있다. 일 실시예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 상기 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하도록 할 수 있다. 일 실시예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 상기 사용자 쿼리가 상기 복수의 주제들을 포함하는 경우, 상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 상기 디스플레이에 표시하도록 할 수 있다. 일 실시예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 상기 제1 답변 및 상기 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리에 저장되어 있는지 여부를 확인하도록 할 수 있다. 일 실시예에 따른 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리에 저장되어 있는 경우, 상기 히스토리 정보, 상기 선택된 답변에 대응하는 사용자 쿼리, 및 상기 선택된 답변을 포함하는 사용자 인터페이스를 상기 디스플레이에 표시하도록 할 수 있다.
본 문서에 개시된 다양한 실시예들 이외의 다른 다양한 실시예들이 가능할 수 있다.
According to one embodiment of the present disclosure, an electronic device may include a display, a memory (220) storing instructions, and a processor. The instructions according to one embodiment, when executed by the processor, may cause the electronic device to receive a user query. The instructions according to one embodiment, when executed by the processor, may cause the electronic device to determine whether the received user query includes a plurality of topics. The instructions according to one embodiment, when executed by the processor, may cause the electronic device to display, on the display, the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries, if the user query includes the plurality of topics. The instructions according to one embodiment, when executed by the processor, may cause the electronic device to, when a user input for selecting one of the first answer and the second answer is detected, determine whether history information corresponding to a topic related to the selected answer is stored in the memory. The instructions according to one embodiment, when executed by the processor, may cause the electronic device to, when history information corresponding to a topic related to the selected answer is stored in the memory, display on the display a user interface including the history information, a user query corresponding to the selected answer, and the selected answer.
Various other embodiments may be possible in addition to the various embodiments disclosed in this document.

Description

전자 장치 및 이를 이용한 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법 {ELECTRONIC DEVICE AND METHOD FOR PROVIDING USER INTERFACE FOR USER QUERY BASED ON CATEGORY USING THE SAME}{ELECTRONIC DEVICE AND METHOD FOR PROVIDING USER INTERFACE FOR USER QUERY BASED ON CATEGORY USING THE SAME}

본 개시의 실시예들은 전자 장치 및 이를 이용한 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법에 관한 것이다.Embodiments of the present disclosure relate to an electronic device and a method for providing a user interface for a user query based on a category using the same.

최근, LLM(large language model)을 통해 장문의 문장을 요약하거나 내용을 축약하는 기술이 발전하고 있다. 예를 들어, 전자 장치는 LLM을 이용하여 사용자 쿼리에 대한 답변을 획득할 수 있으며, 상기 획득된 답변을 사용자에게 제공할 수 있다. 전자 장치는 시간 순으로 사용자 쿼리 및 사용자 쿼리에 대한 답변을 저장하는 저장 기능을 제공할 수 있다. 또는, 전자 장치는 상기 저장 기능을 제공하지 않을 수도 있다. 예를 들어, 전자 장치가 상기 저장 기능을 제공하는 경우, 사용자는 이전에 입력한 사용자 쿼리를 포함하는 사용자 인터페이스에서 상기 사용자 쿼리와 유사한 주제에 해당하는 제2 사용자 쿼리를 추가로 입력하고자 할 수 있다. 이 경우, 사용자는 제2 사용자 쿼리를 입력하고자 하는 사용자 인터페이스의 선택으로 표시되는 사용자 인터페이스를 통해 제2 사용자 쿼리를 입력할 수 있다. 이에 따라, 전자 장치는 이전에 입력된 사용자 쿼리, 사용자 쿼리에 대응하는 답변, 제2 사용자 쿼리, 및 제2 사용자 쿼리에 대응하는 제2 답변을 동일한 사용자 인터페이스를 통해 제공할 수 있다.Recently, a technology for summarizing long sentences or abbreviating content through LLM (large language model) has been developed. For example, an electronic device can obtain an answer to a user query using LLM and provide the obtained answer to the user. The electronic device can provide a storage function for storing user queries and answers to the user queries in chronological order. Alternatively, the electronic device may not provide the storage function. For example, if the electronic device provides the storage function, a user may want to additionally input a second user query corresponding to a similar topic to the previously input user query in a user interface including the previously input user query. In this case, the user can input the second user query through a user interface displayed as a selection of a user interface for inputting the second user query. Accordingly, the electronic device can provide the previously input user query, the answer corresponding to the user query, the second user query, and the second answer corresponding to the second user query through the same user interface.

상술한 정보는 본 개시에 대한 이해를 돕기 위한 목적으로 하는 배경 기술(related art)로 제공될 수 있다. 상술한 내용 중 어느 것도 본 개시와 관련된 종래 기술(prior art)로서 적용될 수 있는지에 대하여 어떠한 주장이나 결정이 제기되지 않는다.The above information may be provided as related art for the purpose of assisting in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.

하지만, 이전에 사용자에 의해 입력된 사용자 쿼리를 포함하는 사용자 인터페이스를 통해 유사한 주제에 해당하는 제2 사용자 쿼리를 추가로 입력하기 위해 상기 사용자 인터페이스를 선택해야 하나, 사용자는 이전에 사용자 쿼리를 언제 입력하였는지 기억하기 어려울 수 있다. 이에 따라, 제2 사용자 쿼리를 추가로 입력하기 위해 제2 사용자 쿼리와 유사한 주제를 포함하고 있는 사용자 인터페이스를 선택하는 것은 어려울 뿐만 아니라 번거로울 수 있다.However, in order to additionally input a second user query corresponding to a similar topic through a user interface including a user query previously input by a user, the user may have difficulty remembering when the user previously input the user query. Accordingly, selecting a user interface including a similar topic to the second user query in order to additionally input the second user query may be difficult and cumbersome.

본 개시의 다양한 실시예들에 따른 전자 장치는, 입력되는 사용자 쿼리의 주제와 관련된 히스토리 정보가 존재하는 여부를 확인하고, 히스토리 정보가 존재하는 경우 히스토리 정보를 포함하는 사용자 인터페이스를 표시하며, 입력되는 사용자 쿼리 및 사용자 쿼리에 대응하는 답변이 상기 사용자 인터페이스에서 함께 표시되도록 할 수 있다.An electronic device according to various embodiments of the present disclosure may determine whether history information related to a subject of an input user query exists, and if the history information exists, display a user interface including the history information, and cause the input user query and an answer corresponding to the user query to be displayed together on the user interface.

본 개시의 일 실시예에 따르면, 전자 장치는, 디스플레이, 인스트럭션들(instructions)을 저장하는 메모리, 및 프로세서를 포함할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 사용자 쿼리를 수신하도록 할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 상기 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하도록 할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 상기 사용자 쿼리가 상기 복수의 주제들을 포함하는 경우, 상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 상기 디스플레이에 표시하도록 할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 상기 제1 답변 및 상기 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리에 저장되어 있는지 여부를 확인하도록 할 수 있다. 일 실시예에 따르면, 상기 인스트럭션들은, 상기 프로세서에 의해 실행될 때, 상기 전자 장치가, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리에 저장되어 있는 경우, 상기 히스토리 정보, 상기 선택된 답변에 대응하는 사용자 쿼리, 및 상기 선택된 답변을 포함하는 사용자 인터페이스를 상기 디스플레이에 표시하도록 할 수 있다.According to one embodiment of the present disclosure, an electronic device may include a display, a memory storing instructions, and a processor. According to one embodiment, the instructions, when executed by the processor, may cause the electronic device to receive a user query. According to one embodiment, the instructions, when executed by the processor, may cause the electronic device to determine whether the received user query includes a plurality of topics. According to one embodiment, the instructions, when executed by the processor, may cause the electronic device to display, on the display, the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries, if the user query includes the plurality of topics. In one embodiment, the instructions, when executed by the processor, may cause the electronic device to, when a user input for selecting one of the first answer and the second answer is detected, determine whether history information corresponding to a topic related to the selected answer is stored in the memory. In one embodiment, the instructions, when executed by the processor, may cause the electronic device to, when history information corresponding to a topic related to the selected answer is stored in the memory, display on the display a user interface including the history information, a user query corresponding to the selected answer, and the selected answer.

본 개시의 일 실시예에 따르면, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 사용자 쿼리를 수신하는 동작을 포함할 수 있다. 일 실시예에 따르면, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 상기 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작을 포함할 수 있다. 일 실시예에 따르면, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 상기 사용자 쿼리가 상기 복수의 주제들을 포함하는 경우, 상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이에 표시하는 동작을 포함할 수 있다. 일 실시예에 따르면, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 상기 제1 답변 및 상기 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리에 저장되어 있는지 여부를 확인하는 동작을 포함할 수 있다. 일 실시예에 따르면, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리에 저장되어 있는 경우, 상기 히스토리 정보, 상기 선택된 답변에 대응하는 사용자 쿼리, 및 상기 선택된 답변을 포함하는 사용자 인터페이스를 상기 디스플레이에 표시하는 동작을 포함할 수 있다.According to one embodiment of the present disclosure, a method for providing a user interface for a user query based on a category may include an operation of receiving a user query. According to one embodiment, the method for providing a user interface for a user query based on a category may include an operation of checking whether the received user query includes a plurality of topics. According to one embodiment, the method for providing a user interface for a user query based on a category may include an operation of displaying, on a display, the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries, if the user query includes the plurality of topics. According to one embodiment, the method for providing a user interface for a user query based on a category may include an operation of checking whether history information corresponding to a topic related to the selected answer is stored in a memory when a user input for selecting one of the first answer and the second answer is detected. According to one embodiment, a method for providing a user interface for a user query based on a category may include, if history information corresponding to a topic related to the selected answer is stored in the memory, an operation of displaying a user interface including the history information, the user query corresponding to the selected answer, and the selected answer on the display.

본 개시의 일 실시예에 따르면, 하나 이상의 프로그램을 저장하는 비일시적인 컴퓨터 판독가능 저장 매체(또는, 컴퓨터 프로그램 제품(product))가 기술될 수 있다. 일 실시예에 따른 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, 사용자 쿼리를 수신하는 명령어를 포함할 수 있다. 일 실시예에 따른 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, 상기 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 명령어를 포함할 수 있다. 일 실시예에 따른 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, 상기 사용자 쿼리가 상기 복수의 주제들을 포함하는 경우, 상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이에 표시하는 명령어를 포함할 수 있다. 일 실시예에 따른 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, 상기 제1 답변 및 상기 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리에 저장되어 있는지 여부를 확인하는 명령어를 포함할 수 있다. 일 실시예에 따른 하나 이상의 프로그램들은, 전자 장치의 프로세서에 의해 실행될 시, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리에 저장되어 있는 경우, 상기 히스토리 정보, 상기 선택된 답변에 대응하는 사용자 쿼리, 및 상기 선택된 답변을 포함하는 사용자 인터페이스를 상기 디스플레이에 표시하는 명령어를 포함할 수 있다.According to one embodiment of the present disclosure, a non-transitory computer-readable storage medium (or, a computer program product) storing one or more programs may be described. The one or more programs according to one embodiment may include instructions for receiving a user query when executed by a processor of an electronic device. The one or more programs according to one embodiment may include instructions for determining whether the received user query includes a plurality of topics when executed by the processor of the electronic device. The one or more programs according to one embodiment may include instructions for displaying, on a display, the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries, if the user query includes the plurality of topics. The one or more programs according to one embodiment may include instructions for determining, when executed by the processor of the electronic device, whether history information corresponding to a topic related to the selected answer is stored in a memory when a user input for selecting one of the first answer and the second answer is detected. One or more programs according to one embodiment may include instructions, when executed by a processor of an electronic device, to display, on the display, a user interface including the history information, a user query corresponding to the selected answer, and the selected answer, if history information corresponding to a topic related to the selected answer is stored in the memory.

본 개시의 일 실시예에 따른 전자 장치는, 입력되는 사용자 쿼리의 주제와 관련된 히스토리 정보가 존재하는 경우, 히스토리 정보를 포함하는 사용자 인터페이스에 입력된 사용자 쿼리 및 사용자 쿼리에 대응하는 답변을 함께 표시함으로써, 사용자가 동일한 주제에 대한 사용자 쿼리를 동일한 사용자 인터페이스를 통해 볼 수 있도록 제공할 수 있다. 이에 따라, 사용자는 동일한 주제에 대한 사용자 쿼리의 히스토리 정보를 직관적으로 확인할 수 있다.An electronic device according to one embodiment of the present disclosure can display a user query input on a user interface including history information and a response corresponding to the user query together when history information related to the subject of an input user query exists, thereby allowing a user to view user queries on the same subject through the same user interface. Accordingly, the user can intuitively check history information of user queries on the same subject.

도 1은, 본 개시의 일 실시예에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는, 본 개시의 일 실시예에 따른, 전자 장치를 도시한 블록도이다.
도 3은, 본 개시의 일 실시예에 따른, 사용자 쿼리 UI 제공 모듈을 도시한 블록도이다.
도 4는, 본 개시의 일 실시예에 따른, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 흐름도이다.
도 5a 및 도 5b는, 본 개시의 일 실시예에 따른, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 흐름도이다.
도 6은, 본 개시의 일 실시예에 따른, 하나의 주제를 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.
도 7은, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.
도 8은, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.
도 9는, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.
도 10은, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 흐름도이다.
도 11은, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.
도 12는, 본 개시의 일 실시예에 따른, 복수의 사용자 인터페이스들의 리스트를 표시하는 방법을 설명하기 위한 흐름도이다.
도 13 및 도 14는, 본 개시의 일 실시예에 따른, 복수의 사용자 인터페이스들의 리스트를 표시하는 방법을 설명하기 위한 도면이다.
도 15는, 본 개시의 일 실시예에 따른, 생성형 인공 지능 시스템의 블록도를 도시한 도면이다.
FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment of the present disclosure.
FIG. 2 is a block diagram illustrating an electronic device according to one embodiment of the present disclosure.
FIG. 3 is a block diagram illustrating a user query UI providing module according to one embodiment of the present disclosure.
FIG. 4 is a flowchart illustrating a method for providing a user interface for a user query based on a category, according to one embodiment of the present disclosure.
FIGS. 5A and 5B are flowcharts illustrating a method for providing a user interface for a user query based on a category, according to one embodiment of the present disclosure.
FIG. 6 is a diagram illustrating a method for providing a user interface for a user query including one subject according to one embodiment of the present disclosure.
FIG. 7 is a diagram illustrating a method for providing a user interface for a user query including multiple topics according to one embodiment of the present disclosure.
FIG. 8 is a diagram illustrating a method for providing a user interface for a user query including multiple topics according to one embodiment of the present disclosure.
FIG. 9 is a diagram illustrating a method for providing a user interface for a user query including multiple topics according to one embodiment of the present disclosure.
FIG. 10 is a flowchart illustrating a method for providing a user interface for a user query including multiple topics, according to one embodiment of the present disclosure.
FIG. 11 is a diagram illustrating a method for providing a user interface for a user query including multiple topics according to one embodiment of the present disclosure.
FIG. 12 is a flowchart illustrating a method of displaying a list of multiple user interfaces according to one embodiment of the present disclosure.
FIGS. 13 and 14 are diagrams illustrating a method of displaying a list of multiple user interfaces according to one embodiment of the present disclosure.
FIG. 15 is a block diagram illustrating a generative artificial intelligence system according to one embodiment of the present disclosure.

이하에서는 도면을 참조하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시예에 한정되지 않는다. 도면의 설명과 관련하여, 동일하거나 유사한 구성요소에 대해서는 동일하거나 유사한 참조 부호가 사용될 수 있다. 또한, 도면 및 관련된 설명에서는, 잘 알려진 기능 및 구성에 대한 설명이 명확성과 간결성을 위해 생략될 수 있다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components. In addition, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and conciseness.

도 1은, 본 개시의 일 실시예에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다.FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to one embodiment of the present disclosure.

도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).

프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일 실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.The processor (120) may control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) by executing, for example, software (e.g., a program (140)), and may perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store a command or data received from another component (e.g., a sensor module (176) or a communication module (190)) in the volatile memory (132), process the command or data stored in the volatile memory (132), and store result data in the nonvolatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or an auxiliary processor (123) (e.g., a graphic processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use lower power than the main processor (121) or to be specialized for a given function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.

보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일 실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), 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) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.The auxiliary processor (123) may control at least a portion of functions or states associated with at least one of the components of the electronic device (101) (e.g., the display module (160), the sensor module (176), or the communication module (190)), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing device) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. Such learning may be performed, for example, in the electronic device (101) itself on which the artificial intelligence model is executed, or may be performed through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers. The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), deep Q-networks, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may additionally or alternatively include a software structure.

메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다. The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or nonvolatile memory (134).

프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다. The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).

입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.The audio output module (155) can output an audio signal to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes such as multimedia playback or recording playback. The receiver can be used to receive an incoming call. According to one embodiment, the receiver can be implemented separately from the speaker or as a part thereof.

디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다. The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) can include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. According to one embodiment, the display module (160) can include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.

오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can obtain sound through an input module (150), or output sound through an audio output module (155), or an external electronic device (e.g., an electronic device (102)) (e.g., a speaker or a headphone) directly or wirelessly connected to the electronic device (101).

센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다. The sensor module (176) can detect an operating state (e.g., power or temperature) of the electronic device (101) or an external environmental state (e.g., user state) and generate an electric signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.

인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.

연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., the electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).

햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that a user can perceive through a tactile or kinesthetic sense. According to one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.

카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.The camera module (180) can capture still images and moving images. According to one embodiment, the camera module (180) can include one or more lenses, image sensors, image signal processors, or flashes.

전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일 실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.The battery (189) can power at least one component of the electronic device (101). In one embodiment, the battery (189) can include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.

통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다. The communication module (190) may support establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., the electronic device (102), the electronic device (104), or the server (108)), and performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., the application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module or a power line communication module). Among these communication modules, a corresponding communication module may communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) may use subscriber information (e.g., international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196) to identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199).

무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.The wireless communication module (192) can support a 5G network and next-generation communication technology after a 4G network, for example, NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), terminal power minimization and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) may support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) may support various requirements specified in an electronic device (101), an external electronic device (e.g., electronic device (104)), or a network system (e.g., second network (199)). According to one embodiment, the wireless communication module (192) may support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL) each, or 1 ms or less for round trip) for URLLC realization.

안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB(printed circuit board)) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(198) 또는 제2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.The antenna module (197) can transmit or receive signals or power to or from the outside (e.g., an external electronic device). According to one embodiment, the antenna module (197) can include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a printed circuit board (PCB)). According to one embodiment, the antenna module (197) can include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), can be selected from the plurality of antennas by, for example, the communication module (190). A signal or power can be transmitted or received between the communication module (190) and the external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) can be additionally formed as a part of the antenna module (197).

다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일 실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC positioned on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) positioned on or adjacent a second side (e.g., a top side or a side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.

상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.At least some of the above components may be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, a general purpose input and output (GPIO), a serial peripheral interface (SPI), or a mobile industry processor interface (MIPI)).

일 실시예에 따르면, 명령 또는 데이터는 제2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104) 간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일 실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.In one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or a different type of device as the electronic device (101). In one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform at least a part of the function or service. One or more external electronic devices that receive the request may execute at least a part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a part of a response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide an ultra-low latency service by using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (104) may include an IoT (Internet of Things) device. The server (108) may be an intelligent server using machine learning and/or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199). The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.

도 2는, 본 개시의 일 실시예에 따른, 전자 장치(101)를 도시한 블록도이다.FIG. 2 is a block diagram illustrating an electronic device (101) according to one embodiment of the present disclosure.

도 2를 참조하면, 전자 장치(101)(예: 도 1의 전자 장치(101))는 통신 회로(210)(예: 도 1의 통신 모듈(190)), 메모리(220)(예: 도 1의 메모리(130)), 디스플레이(230)(예: 도 1의 디스플레이 모듈(160)), 및/또는 프로세서(240)(예: 도 1의 프로세서(120))를 포함할 수 있다.Referring to FIG. 2, an electronic device (101) (e.g., the electronic device (101) of FIG. 1) may include a communication circuit (210) (e.g., the communication module (190) of FIG. 1), a memory (220) (e.g., the memory (130) of FIG. 1), a display (230) (e.g., the display module (160) of FIG. 1), and/or a processor (240) (e.g., the processor (120) of FIG. 1).

본 개시의 일 실시예에 따르면, 통신 회로(210)(예: 도 1의 통신 모듈(190))는 프로세서(240)의 제어 하에, 전자 장치(101)와 적어도 하나의 외부 전자 장치(예: 도 1의 전자 장치(102), 전자 장치(104))(및/또는 서버(예: 도 1의 서버(108)) 간 통신 연결을 제어할 수 있다.According to one embodiment of the present disclosure, a communication circuit (210) (e.g., a communication module (190) of FIG. 1) may control a communication connection between an electronic device (101) and at least one external electronic device (e.g., an electronic device (102) or an electronic device (104) of FIG. 1) (and/or a server (e.g., a server (108) of FIG. 1)) under the control of a processor (240).

일 실시예에서, 통신 회로(210)는 프로세서(240)의 제어 하에 생성된 사용자 쿼리에 대응하는 답변을 획득하기 위해 생성된 적어도 하나의 프롬프트를 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 및/또는 서버(108))에 전송할 수 있다. 통신 회로(210)는 외부 전자 장치로부터 사용자 쿼리에 대응하는 답변을 수신할 수 있다.In one embodiment, the communication circuit (210) can transmit at least one generated prompt to an external electronic device (e.g., the electronic device (102), the electronic device (104), and/or the server (108)) to obtain an answer corresponding to the user query generated under the control of the processor (240). The communication circuit (210) can receive the answer corresponding to the user query from the external electronic device.

본 개시의 일 실시예에 따르면, 메모리(220)(예: 도 1의 메모리(130))는 전자 장치(101)의 프로세서(240)의 처리 및 제어를 위한 프로그램(예: 도 1의 프로그램(140)), 운영 체제(operating system, OS)(예: 도 1의 운영체제(142)), 다양한 어플리케이션, 및/또는 입/출력 데이터를 저장하는 기능을 수행하며, 전자 장치(101)의 전반적인 동작을 제어하는 프로그램을 저장할 수 있다. 메모리(220)는 전자 장치(101)에서 본 개시의 다양한 실시예들과 관련된 기능 처리 시 필요한 다양한 설정 정보를 저장할 수 있다. 메모리(220)는 실행 가능한 인스트력션들(instructions)을 저장할 수 있다. 예를 들면, 메모리(220)는 프로세서(240)에 의해 실행 시, 전자 장치(101)의 동작들을 수행하게 하는 인스트럭션들을 저장할 수 있다. 예를 들면, 인스트럭션들은 컴퓨터로 판독 가능한 기록 매체(computer readable recording medium)에 저장될 수도 있다. 상기 기록 매체는 유형적(tangible)이고, 비일시적(non-transitory)일 수 있다. 메모리(220) 및/또는 기록 매체는 인스트럭션들을 포함하는 하나 이상의 프로그램을 저장할 수 있다.According to one embodiment of the present disclosure, the memory (220) (e.g., the memory (130) of FIG. 1) performs a function of storing a program (e.g., the program (140) of FIG. 1) for processing and controlling the processor (240) of the electronic device (101), an operating system (OS) (e.g., the operating system (142) of FIG. 1), various applications, and/or input/output data, and may store a program that controls the overall operation of the electronic device (101). The memory (220) may store various setting information necessary for processing functions related to various embodiments of the present disclosure in the electronic device (101). The memory (220) may store executable instructions. For example, the memory (220) may store instructions that, when executed by the processor (240), cause the electronic device (101) to perform operations. For example, the instructions may be stored on a computer readable recording medium. The recording medium may be tangible and non-transitory. The memory (220) and/or the recording medium may store one or more programs including the instructions.

일 실시예에서, 메모리(220)는 대화 히스토리 데이터베이스(예: 도 3의 대화 히스토리 데이터베이스(350)) 및/또는 프롬프트 히스토리 데이터베이스(예: 도 3의 프롬프트 히스토리 데이터베이스(355))를 저장할 수 있다. 대화 히스토리 데이터베이스는 사용자 쿼리 및 사용자 쿼리에 대응하는 답변을 저장할 수 있다. 사용자 쿼리에 대응하는 답변은 텍스트(예: 문장, 코드), 이미지, 및/또는 비디오를 포함할 수 있다. 프롬프트 히스토리 데이터베이스는 생성된 적어도 하나의 프롬프트를 저장할 수 있다.In one embodiment, the memory (220) can store a conversation history database (e.g., conversation history database (350) of FIG. 3) and/or a prompt history database (e.g., prompt history database (355) of FIG. 3). The conversation history database can store user queries and replies corresponding to the user queries. The replies corresponding to the user queries can include text (e.g., sentences, codes), images, and/or videos. The prompt history database can store at least one generated prompt.

본 개시의 일 실시예에 따르면, 디스플레이(230)는 프로세서(240)의 제어 하에 영상을 표시하며, 액정 디스플레이(liquid crystal display, LCD), 발광 다이오드(light-emitting diode, LED) 디스플레이, μLED(micro LED) 디스플레이, 유기 발광 다이오드(organic light-emitting diode, OLED) 디스플레이, AMOLED(active matrix organic light-emitting diode) 디스플레이, 마이크로 전자 기계 시스템(micro electro mechanical systems, MEMS) 디스플레이, 전자 종이(electronic paper) 디스플레이, 플렉서블 디스플레이(flexible display), 폴더블 디스플레이(foldable display), 또는 롤러블 디스플레이(rollable display) 중 어느 하나로 구현될 수 있다. 하지만 이에 한정하는 것은 아니다. 하지만 이에 한정하는 것은 아니다.According to one embodiment of the present disclosure, the display (230) displays an image under the control of the processor (240), and may be implemented as any one of a liquid crystal display (LCD), a light-emitting diode (LED) display, a micro LED (μLED) display, an organic light-emitting diode (OLED) display, an active matrix organic light-emitting diode (AMOLED) display, a micro electro mechanical systems (MEMS) display, an electronic paper display, a flexible display, a foldable display, or a rollable display. However, the present invention is not limited thereto.

일 실시예에서, 디스플레이(230)는 프로세서(240)의 제어 하에, 사용자 쿼리에 대응하는 텍스트 데이터를 표시할 수 있다. 디스플레이(230)는 프로세서(240)의 제어 하에, 사용자 쿼리가 복수의 주제들을 포함하는 경우, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 표시할 수 있다. 디스플레이(230)는 프로세서(240)의 제어 하에, 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되고, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 주제와 관련된 히스토리 정보, 선택된 답변에 대응하는 관련된 사용자 쿼리, 및 선택된 답변을 포함하는 사용자 인터페이스를 표시할 수 있다. 디스플레이(230)는 프로세서(240)의 제어 하에, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우 선택된 답변에 대응하는 사용자 쿼리 및 선택된 답변을 포함하는 제2 사용자 인터페이스를 디스플레이(230)에 표시할 수 있다.In one embodiment, the display (230) can display text data corresponding to a user query under the control of the processor (240). If the user query includes a plurality of topics, the display (230) can display, under the control of the processor (240), the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries. If a user input for selecting one of the first answer and the second answer is detected under the control of the processor (240), and history information corresponding to a topic related to the selected answer is stored in the memory (220), the display (230) can display a user interface including history information related to the topic, a related user query corresponding to the selected answer, and the selected answer. The display (230) may, under the control of the processor (240), display a second user interface including a user query corresponding to the selected answer and the selected answer if no history information corresponding to a topic related to the selected answer is stored in the memory (220).

본 개시의 일 실시예에 따르면, 프로세서(240)는 예를 들어, 마이크로 컨트롤러 유닛(micro controller unit, MCU)을 포함할 수 있고, 운영 체제(OS) 또는 임베디드 소프트웨어 프로그램을 구동하여 프로세서(240)에 연결된 다수의 하드웨어 구성요소들을 제어할 수 있다. 프로세서(240)는, 예를 들어, 메모리(220)에 저장된 인스트럭션들(예: 도 1의 프로그램(140))에 따라 다수의 하드웨어 구성요소들을 제어할 수 있다.According to one embodiment of the present disclosure, the processor (240) may include, for example, a micro controller unit (MCU), and may control a plurality of hardware components connected to the processor (240) by running an operating system (OS) or an embedded software program. The processor (240) may control a plurality of hardware components according to, for example, instructions stored in a memory (220) (e.g., a program (140) of FIG. 1).

일 실시예에서, 프로세서(240)는 본 개시의 실시예에 따른 동작을 위한 적어도 하나의 구성요소(또는 모듈)를 포함할 수 있다. 예를 들면, 프로세서(240)는 사용자 쿼리 UI 제공 모듈(241)을 포함할 수 있다. 사용자 쿼리 UI 제공 모듈(241)은, 도 3에 도시된 바와 같이, ASR(automatic speech recognition) 모듈(305), 주제 분류(topic classifier) 모듈(310), 임베딩 모델(embedding model)(315), 대화 주제 관리(conversation topic manager) 모듈(320), 세션 관리(session manager) 모듈(325), 프롬프트 생성(prompt generator) 모듈(330), 생성형 모델(generative models(LLM))(335), 실행(executor) 모듈(340), 적어도 하나의 플러그인(plug in)(345), 대화 히스토리 데이터베이스(conversation history DB(database))(350), 및/또는 프롬프트 히스토리 데이터베이스(prompt history DB)(355)와 같은 적어도 하나의 기능부를 포함할 수 있다. 일 실시예에 따라, 기능부들 중 적어도 일부는 하드웨어 모듈(예: 회로(circuitry))로 프로세서(240)에 포함되거나, 및/또는 프로세서(240)에 의해 실행될 수 있는 하나 이상의 인스트럭션들을 포함하는 소프트웨어로서 구현될 수 있다. 예를 들면, 프로세서(240)에서 수행하는 동작들은, 메모리(220)에 저장되고, 실행 시에, 프로세서(240)가 동작하도록 하는 인스트럭션들에 의해 실행될 수 있다. 전술한 사용자 쿼리 UI 제공 모듈(241)과 관련하여, 후술하는 도 3에서 보다 상세히 살펴보도록 한다.In one embodiment, the processor (240) may include at least one component (or module) for operating according to an embodiment of the present disclosure. For example, the processor (240) may include a user query UI providing module (241). The user query UI providing module (241) may include at least one functional unit, such as an automatic speech recognition (ASR) module (305), a topic classifier module (310), an embedding model (315), a conversation topic manager module (320), a session manager module (325), a prompt generator module (330), a generative models (LLM) (335), an executor module (340), at least one plug in (345), a conversation history database (DB) (350), and/or a prompt history DB (355), as illustrated in FIG. 3. According to one embodiment, at least some of the functional units may be included in the processor (240) as a hardware module (e.g., circuitry), and/or may be implemented as software including one or more instructions executable by the processor (240). For example, the operations performed by the processor (240) may be stored in the memory (220) and, when executed, may be executed by instructions that cause the processor (240) to operate. The user query UI provision module (241) described above will be described in more detail with reference to FIG. 3 described below.

일 실시예에서, 프로세서(240)는 사용자 쿼리를 수신할 수 있다. 예를 들어, 사용자 쿼리는 사용자를 통해 입력되는 질문(또는 문의)과 관련된 데이터를 포함할 수 있다. 예를 들어, 프로세서(240)는 사용자로부터 지정된 음성 호출어(예: 웨이크 업)를 수신하거나, 또는 설정된 버튼을 선택하는 입력을 수신한 후, 사용자 쿼리를 수신할 수 있다. 사용자 쿼리는 마이크(예: 도 1의 입력 모듈(150))를 통해 수신되는 음성 데이터(예: 사용자 발화(utterance)) 또는 키패드를 통해 수신되는 텍스트 데이터를 포함할 수 있다.In one embodiment, the processor (240) may receive a user query. For example, the user query may include data related to a question (or inquiry) input by the user. For example, the processor (240) may receive the user query after receiving a designated voice wake-up word (e.g., wake up) from the user, or receiving an input of selecting a set button. The user query may include voice data (e.g., user utterance) received via a microphone (e.g., input module (150) of FIG. 1) or text data received via a keypad.

일 실시예에서, 프로세서(240)는 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)는 수신된 사용자 쿼리의 의도를 확인하고, 확인된 사용자 쿼리의 의도에 기반하여, 사용자 쿼리가 상기 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 사용자 쿼리가 복수의 주제들을 포함하는 경우, 프로세서(240)는 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시할 수 있다. 예를 들어, 프로세서(240)는 사용자 쿼리가 복수의 주제들을 포함하는 경우, 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변을 획득하기 위한 제1 프롬프트 및 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 획득하기 위한 제2 프롬프트를 생성할 수 있다. 프로세서(240)는 제1 프롬프트 및 제2 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변 및 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변으로 생성할 수 있다.In one embodiment, the processor (240) may determine whether the user query includes multiple topics. For example, the processor (240) may determine an intent of the received user query, and, based on the determined intent of the user query, determine whether the user query includes the multiple topics. If the user query includes multiple topics, the processor (240) may display, on the display (230), the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries. For example, if the user query includes multiple topics, the processor (240) may generate a first prompt for obtaining a first answer corresponding to a first user query related to the first topic and a second prompt for obtaining a second answer corresponding to a second user query related to the second topic. The processor (240) may search for the first prompt and the second prompt from the electronic device (101) and/or a server (e.g., server (108) of FIG. 1), and generate the search results as a first answer corresponding to a first user query related to a first topic and a second answer corresponding to a second user query related to a second topic.

일 실시예에서, 프로세서(240)는 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시할 수 있다. 프로세서(240)는 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인할 수 있다. 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 프로세서(240)는 사용자 쿼리의 의도 및/또는 주제와 관련된 기 저장된 세션을 오픈하고, 오픈된 세션에 주제와 관련된 히스토리 정보(예: 주제와 관련되어 이전에 사용자에 의해 입력된 적어도 하나의 사용자 쿼리 및 적어도 하나의 사용자 쿼리와 관련된 적어도 하나의 답변), 선택된 답변에 대응하는 사용자 쿼리, 및 선택된 답변을 포함하여, 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다. 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우, 프로세서(240)는 사용자 쿼리의 의도 및/또는 주제와 관련된 세션을 생성하고, 생성된 세션에 선택된 답변에 대응하는 사용자 쿼리 및 선택된 답변을 포함하는 포함하여, 제2 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다.In one embodiment, the processor (240) may display, on the display (230), a user query, a first answer corresponding to the first user query related to a first topic among the user queries, and a second answer corresponding to the second user query related to a second topic among the user queries. When a user input for selecting one of the first answer and the second answer is detected, the processor (240) may determine whether history information corresponding to the topic related to the selected answer is stored in the memory (220). If history information corresponding to the topic related to the selected answer is stored in the memory (220), the processor (240) may open a previously stored session related to the intent of the user query and/or the topic, and display, on the display (230) as a user interface, history information related to the topic (e.g., at least one user query previously input by the user related to the topic and at least one answer related to the at least one user query), the user query corresponding to the selected answer, and the selected answer. If the history information corresponding to the topic related to the selected answer is not stored in the memory (220), the processor (240) may create a session related to the intent and/or topic of the user query, and display the created session including the user query corresponding to the selected answer and the selected answer on the display (230) as a second user interface.

일 실시예에서, 사용자 쿼리가 복수의 주제들을 포함하지 않은 경우, 프로세서(240)는 사용자 쿼리가 하나의 주제를 포함하는 것으로 결정하고, 사용자 쿼리의 제3 주제와 관련된 제3 답변을 디스플레이(230)에 표시할 수 있다. 사용자 쿼리의 제3 주제와 관련된 제3 답변을 선택하는 제2 사용자 입력이 검출되면, 프로세서(240)는 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인할 수 있다. 일 실시예에 따른 제3 주제는, 전술한 제1 주제 및 제2 주제와 동일하거나 또는 상이할 수 있다. 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 프로세서(240)는 사용자 쿼리의 제3 주제와 관련된 기 저장된 세션을 오픈하고, 오픈된 세션에 제3 주제와 관련된 히스토리 정보, 사용자 쿼리, 및 사용자 쿼리에 대응하는 제3 답변을 포함하여, 제3 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다. 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우, 프로세서(240)는 사용자 쿼리의 제3 주제와 관련된 세션을 생성하고, 생성된 세션에 사용자 쿼리 및 사용자 쿼리에 대응하는 제3 답변을 포함하여, 제4 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다.In one embodiment, if the user query does not include multiple topics, the processor (240) determines that the user query includes one topic, and may display a third answer related to a third topic of the user query on the display (230). If a second user input for selecting a third answer related to the third topic of the user query is detected, the processor (240) may check whether history information related to the third topic of the user query is stored in the memory (220). The third topic according to one embodiment may be the same as or different from the first and second topics described above. If history information related to the third topic of the user query is stored in the memory (220), the processor (240) may open a previously stored session related to the third topic of the user query, and display the history information related to the third topic, the user query, and the third answer corresponding to the user query in the opened session as a third user interface on the display (230). If the history information related to the third subject of the user query is not stored in the memory (220), the processor (240) can create a session related to the third subject of the user query, and display the user query and the third answer corresponding to the user query in the created session on the display (230) as a fourth user interface.

본 개시의 일 실시예에 따른 전자 장치(101)는, 디스플레이(230), 인스트럭션들(instructions)을 저장하는 메모리(220), 및 프로세서(240)를 포함할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 사용자 쿼리를 수신하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 사용자 쿼리가 복수의 주제들을 포함하는 경우, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 히스토리 정보, 선택된 답변에 대응하는 사용자 쿼리, 및 선택된 답변을 포함하는 사용자 인터페이스를 디스플레이(230)에 표시하도록 할 수 있다.An electronic device (101) according to one embodiment of the present disclosure may include a display (230), a memory (220) storing instructions, and a processor (240). The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to receive a user query. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to determine whether the received user query includes a plurality of topics. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display, on the display (230), the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries, if the user query includes a plurality of topics. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to, when a user input for selecting one of the first answer and the second answer is detected, determine whether history information corresponding to a topic related to the selected answer is stored in the memory (220). The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to, when history information corresponding to a topic related to the selected answer is stored in the memory (220), display on the display (230) a user interface including the history information, a user query corresponding to the selected answer, and the selected answer.

일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 수신된 사용자 쿼리의 의도(intent)를 확인하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 확인된 사용자 쿼리의 의도에 기반하여, 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하도록 할 수 있다.The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to verify an intent of a received user query. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to verify whether a user query includes multiple topics based on the intent of the verified user query.

일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우, 선택된 답변에 대응하는 사용자 쿼리 및 선택된 답변을 포함하는 제2 사용자 인터페이스를 디스플레이(230)에 표시하도록 할 수 있다.The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display, on the display (230), a second user interface including a user query corresponding to the selected answer and the selected answer, if no history information corresponding to a topic related to the selected answer is stored in the memory (220).

일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 사용자 쿼리가 하나의 주제를 포함하는 경우, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 제3 주제와 관련된 히스토리 정보, 사용자 쿼리, 및 사용자 쿼리에 대응하는 제3 답변을 포함하는 제3 사용자 인터페이스를 디스플레이(230)에 표시하도록 할 수 있다.The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to determine, if a user query includes a subject, whether history information related to a third subject of the user query is stored in the memory (220). The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display, on the display (230), a third user interface including history information related to the third subject, the user query, and a third answer corresponding to the user query, if the history information related to the third subject is stored in the memory (220).

일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우, 사용자 쿼리 및 사용자 쿼리에 대응하는 제3 답변을 포함하는 제4 사용자 인터페이스를 디스플레이(230)에 표시하도록 할 수 있다.The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display, on the display (230), a fourth user interface including the user query and a third answer corresponding to the user query, if no history information related to a third subject of the user query is stored in the memory (220).

일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 딥 러닝 모델에 기반하여, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하도록 할 수 있다. 일 실시예에 따른 딥 러닝 모델은, 임베딩 벡터 생성 모델, LDA(latent dirichlet allocation) 모델, 또는 워드투벡터(word2Vec) 모델 중 하나를 포함할 수 있다.The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to determine whether history information corresponding to a topic related to a selected answer is stored in the memory (220), based on a deep learning model. The deep learning model according to one embodiment may include one of an embedding vector generation model, a latent dirichlet allocation (LDA) model, or a word2Vec model.

일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 제1 답변 및 제2 답변은 적어도 일부 중첩되도록 디스플레이(230)에 표시하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 디스플레이(230)의 제1 영역에 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변을 표시하고, 디스플레이(230)의 제2 영역에 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 표시하도록 할 수 있다.The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display the first answer and the second answer on the display (230) such that they at least partially overlap. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display a first answer corresponding to a first user query related to a first subject among user queries in a first area of the display (230), and to display a second answer corresponding to a second user query related to a second subject among user queries in a second area of the display (230).

일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 지정된 우선순위에 기반하여, 디스플레이(230)에서 제1 답변 및 제2 답변이 표시되는 위치를 결정하도록 할 수 있다.The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to determine where the first answer and the second answer are displayed on the display (230) based on a specified priority.

일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시한 상태에서, 복수의 주제들과 관련된 사용자 쿼리를 포함하는 제5 사용자 인터페이스를 표시하기 위한 제2 사용자 입력을 검출하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 제2 사용자 입력이 검출되는 것에 기반하여, 사용자 쿼리, 제1 답변, 및 제2 답변을 포함하는 제5 사용자 인터페이스를 디스플레이(230)에 표시하도록 할 수 있다.The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display, on the display (230), a user query, a first answer corresponding to a first user query related to a first subject among the user queries, and a second answer corresponding to a second user query related to a second subject among the user queries, while detecting a second user input to display a fifth user interface including a user query related to a plurality of subjects. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display, on the display (230), a fifth user interface including the user query, the first answer, and the second answer, based on detecting the second user input.

일 실시예에 따른 메모리(220)는, 복수의 사용자 쿼리들에 대응하는 복수의 주제들과 관련된 복수의 사용자 인터페이스들을 저장할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 제3 사용자 입력이 검출되는 것에 기반하여, 복수의 사용자 인터페이스들의 리스트를 디스플레이(230)에 표시하도록 할 수 있다. 일 실시예에 따른 복수의 사용자 인터페이스들의 리스트는, 주제에 기반하여 나열되어 표시되거나, 또는 시간 순으로 나열되어 표시될 수 있다.The memory (220) according to one embodiment may store a plurality of user interfaces related to a plurality of topics corresponding to a plurality of user queries. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display a list of the plurality of user interfaces on the display (230) based on a third user input being detected. The list of the plurality of user interfaces according to one embodiment may be displayed in a list based on a topic or in a list in chronological order.

본 개시의 일 실시예에 따른 전자 장치(101)는, 디스플레이(230), 인스트럭션들(instructions)을 저장하는 메모리(220), 및 프로세서(240)를 포함할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 사용자 쿼리를 수신하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 수신된 사용자 쿼리의 주제를 확인하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 사용자 쿼리의 주제가 하나인 경우, 사용자 쿼리 및 사용자 쿼리에 대응하는 답변을 디스플레이(230)에 표시하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 답변을 선택하는 사용자 입력이 검출되면, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하도록 할 수 있다. 일 실시예에 따른 인스트럭션들은, 프로세서(240)에 의해 실행될 때, 전자 장치(101)가, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 사용자 쿼리의 주제와 관련된 히스토리 정보, 사용자 쿼리, 및 사용자 쿼리에 대응하는 답변을 포함하는 사용자 인터페이스를 디스플레이(230)에 표시하도록 할 수 있다.An electronic device (101) according to one embodiment of the present disclosure may include a display (230), a memory (220) storing instructions, and a processor (240). The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to receive a user query. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to check a subject of a received user query. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to display a user query and an answer corresponding to the user query on the display (230) when the subject of the user query is one. The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to, when a user input for selecting an answer is detected, determine whether history information corresponding to a topic related to the selected answer is stored in the memory (220). The instructions according to one embodiment, when executed by the processor (240), may cause the electronic device (101) to, when history information corresponding to a topic related to the selected answer is stored in the memory (220), display on the display (230) a user interface including history information related to a topic of a user query, the user query, and an answer corresponding to the user query.

도 3은, 본 개시의 일 실시예에 따른, 사용자 쿼리 UI 제공 모듈(241)을 도시한 블록도이다.FIG. 3 is a block diagram illustrating a user query UI provision module (241) according to one embodiment of the present disclosure.

도 3을 참조하면, 전자 장치(101)(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))는 사용자 쿼리 UI 제공 모듈(241)을 포함할 수 있다.Referring to FIG. 3, a processor (e.g., processor (240) of FIG. 2) of an electronic device (101) (e.g., electronic device (101) of FIG. 1) may include a user query UI providing module (241).

일 실시예에서, 사용자 쿼리 UI 제공 모듈(241)은 ASR(automatic speech recognition) 모듈(305), 주제 분류(topic classifier) 모듈(310), 임베딩 모델(embedding model)(315), 대화 주제 관리(conversation topic manager) 모듈(320), 세션 관리(session manager) 모듈(325), 프롬프트 생성(prompt generator) 모듈(330), 생성형 모델(generative models(LLM))(335), 실행(executor) 모듈(340), 적어도 하나의 플러그인(plug in)(345), 대화 히스토리 데이터베이스(conversation history DB(database))(350), 및/또는 프롬프트 히스토리 데이터베이스(prompt history DB)(355)를 포함할 수 있다.In one embodiment, the user query UI providing module (241) may include an automatic speech recognition (ASR) module (305), a topic classifier module (310), an embedding model (315), a conversation topic manager module (320), a session manager module (325), a prompt generator module (330), a generative models (LLM) (335), an executor module (340), at least one plug in (345), a conversation history database (DB) (350), and/or a prompt history DB (355).

일 실시예에서, ASR 모듈(305)은 사용자 쿼리, 예를 들어, 음성 데이터(예: 사용자 발화)를 수신할 수 있다. ASR 모듈(305)은 수신된 음성 데이터를 텍스트 데이터로 변환하여 주제 분류 모듈(310)에 전달할 수 있다. 이에 한정하는 것은 아니며, 사용자 쿼리는 키패드를 통해 입력되는 텍스트 데이터를 포함할 수도 있다.In one embodiment, the ASR module (305) may receive a user query, for example, voice data (e.g., user utterance). The ASR module (305) may convert the received voice data into text data and transmit it to the topic classification module (310). The user query may also include text data entered via a keypad, without limitation.

일 실시예에서, 주제 분류 모듈(310)은 ASR 모듈(305)로부터 수신한 텍스트 데이터에 기반하여, 사용자 쿼리의 의도(intent) 및/또는 주제(topic)를 결정 및/또는 분류할 수 있다. 일 실시예에서, 주제 분류 모듈(310)은 텍스트 데이터에 기반하여, 문법적 분석(syntactic analyze) 또는 의미적 분석(semantic analyze)을 수행하여 사용자 쿼리의 의도 및/또는 주제를 결정할 수 있다. 일 실시예에서, 주제 분류 모듈(310)은 형태소 또는 구의 언어적 특징(예: 문법적 요소)을 이용하여 텍스트 데이터로부터 추출된 단어의 의미를 파악하고, 상기 파악된 단어의 의미를 의도 및/또는 주제에 매칭시켜 사용자 쿼리의 의도 및/또는 주제를 결정할 수 있다. 일 실시예에 따른 주제는 공연/전시, 영화, 식당, 건강, 숙박, 교통, 시스템, 기기 제어, 교육, 헬스/피트니스, 비즈니스/파이낸스, 및/또는 자동차를 포함할 수 있다. 하지만 이에 한정하는 것은 아니다.In one embodiment, the topic classification module (310) may determine and/or classify the intent and/or topic of the user query based on the text data received from the ASR module (305). In one embodiment, the topic classification module (310) may perform syntactic analysis or semantic analysis based on the text data to determine the intent and/or topic of the user query. In one embodiment, the topic classification module (310) may identify the meaning of words extracted from the text data using linguistic features (e.g., grammatical elements) of morphemes or phrases, and may match the meaning of the identified words to the intent and/or topic to determine the intent and/or topic of the user query. The topics according to one embodiment may include, but are not limited to, performances/exhibitions, movies, restaurants, health, accommodations, transportation, systems, device control, education, health/fitness, business/finance, and/or automobiles.

예를 들어, 사용자에 의해 사용자 쿼리 “음악 틀어주고 오늘 날씨 알려줘”를 수신하는 경우, 주제 분류 모듈(310)은 사용자 쿼리의 제1 의도(예: “play.music”) 및 제2 의도(예: “show.weather”)를 확인할 수 있다. 확인된 제1 의도(예: “play.music”) 및 제2 의도(예: “show.weather”)에 기반하여, 주제 분류 모듈(310)은 사용자 쿼리가 복수의 주제들인 제1 주제(예: “music”)와 제2 주제(예: “weather”)를 포함하는 것으로 확인(또는 결정)할 수 있다.For example, when receiving a user query “Play music and tell me today’s weather” from a user, the topic classification module (310) can identify a first intent (e.g., “play.music”) and a second intent (e.g., “show.weather”) of the user query. Based on the identified first intent (e.g., “play.music”) and second intent (e.g., “show.weather”), the topic classification module (310) can identify (or determine) that the user query includes multiple topics, namely, a first topic (e.g., “music”) and a second topic (e.g., “weather”).

일 실시예에서, 임베딩 모델(315)은 딥 러닝 모델을 포함할 수 있다. 예를 들어, 딥 러닝 모델은, 임베딩 벡터 생성 모델, LDA(latent dirichlet allocation) 모델, 또는 워드투벡터(word2Vec) 모델 중 하나를 포함할 수 있다. 하지만 이에 한정하는 것은 아니다.In one embodiment, the embedding model (315) may include a deep learning model. For example, the deep learning model may include, but is not limited to, one of an embedding vector generation model, a latent dirichlet allocation (LDA) model, or a word2Vec model.

일 실시예에서, 대화 주제 관리 모듈(320)은 주제 분류 모듈(310)에 의해 결정된 의도 및/또는 주제와 임베딩 모델(315)에 포함된 딥 러닝 모델에 기반하여, 이전에 사용자에 의해 입력된 사용자 쿼리가 대화 히스토리 데이터베이스(350)에 저장되어 있는지 여부를 확인할 수 있다. 예를 들어, 이전에 사용자에 의해 입력된 사용자 쿼리의 의도 및/또는 주제와 관련된 대화 히스토리가 존재하는 경우, 대화 주제 관리 모듈(320)은 수신된 사용자 쿼리가 해당 주제(및/또는 의도)와 관련된 대화 히스토리에서 이어서 표시될 수 있도록 세션 관리 모듈(325) 및/또는 프롬프트 생성 모듈(330)에 사용자 쿼리의 의도 및/또는 주제를 전달할 수 있다.In one embodiment, the conversation topic management module (320) may determine whether a user query previously entered by the user is stored in the conversation history database (350) based on the intent and/or topic determined by the topic classification module (310) and the deep learning model included in the embedding model (315). For example, if there is a conversation history related to the intent and/or topic of the user query previously entered by the user, the conversation topic management module (320) may forward the intent and/or topic of the user query to the session management module (325) and/or the prompt generation module (330) so that the received user query can be subsequently displayed in the conversation history related to the topic (and/or intent).

일 실시예에서, 세션 관리 모듈(325)은 세션을 관리하는 모듈일 수 있다. 세션 관리 모듈(325)은 새로운 세션을 생성하거나, 또는 기 저장된 세션을 오픈(open)할 수 있다. 예를 들어, 이전에 사용자에 의해 입력된 사용자 쿼리의 의도 및/또는 주제와 관련된 대화 히스토리가 존재하지 않는 경우, 세션 관리 모듈(325)은 사용자 쿼리의 의도 및/또는 쿼리와 관련된 새로운 세션을 생성할 수 있다. 다른 예를 들어, 이전에 사용자에 의해 입력된 사용자 쿼리의 의도 및/또는 주제와 관련된 대화 히스토리가 존재하는 경우, 세션 관리 모듈(325)은 사용자 쿼리의 의도 및/또는 주제와 관련된 기 저장된 세션을 오픈할 수 있다.In one embodiment, the session management module (325) may be a module that manages a session. The session management module (325) may create a new session or open a previously saved session. For example, if there is no conversation history related to the intent and/or topic of a user query previously input by the user, the session management module (325) may create a new session related to the intent and/or topic of the user query. For another example, if there is a conversation history related to the intent and/or topic of a user query previously input by the user, the session management module (325) may open a previously saved session related to the intent and/or topic of the user query.

일 실시예에서, 프롬프트 생성 모듈(330)은 사용자 쿼리의 의도 및/또는 주제에 기반하여 생성형 모델(335)에 입력할 적어도 하나의 프롬프트(예: 텍스트 데이터(예: 문장))를 생성할 수 있다. 이에 한정하는 것은 아니며, 프롬프트 생성 모듈(330)은 기 존재하는 샘플 프롬프트(sample prompt)를 이용하여, 사용자 쿼리의 의도 및/또는 주제에 기반한 적어도 하나의 프롬프트(예: 텍스트 데이터(예: 문장))를 생성할 수도 있다. 예를 들어, 사용자 쿼리 “How is the weather today”를 수신한 경우, 프롬프트 생성 모듈(330)은 사용자 쿼리에 대응하는 프롬프트인 “Samsung.weatherNews: This Plugin provides the functions for weather information, Function list: Get weather, Get location coordinates, Get current location coordinates”를 생성할 수 있다.In one embodiment, the prompt generation module (330) may generate at least one prompt (e.g., text data, e.g., sentence) to be input into the generative model (335) based on the intent and/or topic of the user query. The prompt generation module (330) may also generate at least one prompt (e.g., text data, e.g., sentence) based on the intent and/or topic of the user query by using a pre-existing sample prompt. For example, when receiving a user query “How is the weather today”, the prompt generation module (330) may generate a prompt corresponding to the user query, e.g., “Samsung.weatherNews: This Plugin provides the functions for weather information, Function list: Get weather, Get location coordinates, Get current location coordinates”.

일 실시예에서, 사용자 쿼리가 복수의 주제들을 포함하는 경우, 프롬프트 생성 모듈(330)은 각 주제 별로 프롬프트를 생성할 수 있다. 주제 별로 생성된 프롬프트는 각 주제에 대응하는 플러그인(345)에 기반하여 생성형 모델(335)에 입력될 수 있다. 일 실시예에서, 이전에 사용자에 의해 입력된 사용자 쿼리의 의도 및/또는 주제와 관련된 대화 히스토리가 존재함에 따라 대화 주제 관리 모듈(320)로부터 사용자 쿼리의 의도 및/또는 주제를 수신하는 경우, 프롬프트 생성 모듈(330)은 히스토리 정보 및 이전에 생성된 적어도 하나의 프롬프트에 기반하여 새로운 프롬프트를 생성할 수 있다.In one embodiment, if a user query includes multiple topics, the prompt generation module (330) can generate a prompt for each topic. The prompt generated for each topic can be input into the generative model (335) based on a plug-in (345) corresponding to each topic. In one embodiment, if the intent and/or topic of the user query is received from the conversation topic management module (320) because there is a conversation history related to the intent and/or topic of the user query previously input by the user, the prompt generation module (330) can generate a new prompt based on the history information and at least one previously generated prompt.

일 실시예에서, 생성형 모델(335)은 생성된 프롬프트에 기반하여, 사용자 쿼리와 관련된 답변을 생성할 수 있다. 예를 들어, 생성형 모델(335)은 생성된 프롬프트를 전자 장치(101)에서 검색하고, 검색된 검색 결과를 사용자 쿼리와 관련된 답변으로 생성할 수 있다. 다른 예를 들어, 생성형 모델(335)은 생성된 프롬프트를 서버(예: 도 1의 서버(108))에 전송할 수 있다. 서버(108)는 전자 장치(101)로부터 수신한 프롬프트를 검색하고, 검색된 검색 결과를 전자 장치(101)에 전송할 수 있다. 생성형 모델(335)은 서버(108)로부터 수신한 검색된 검색 결과를 사용자 쿼리와 관련된 답변으로 생성할 수 있다. 일 실시예에서, 사용자 쿼리와 관련된 답변은 텍스트(예: 문장, 코드), 이미지, 및/또는 비디오를 포함할 수 있다.In one embodiment, the generative model (335) can generate an answer related to a user query based on the generated prompt. For example, the generative model (335) can retrieve the generated prompt from the electronic device (101) and generate the retrieved search result as an answer related to the user query. As another example, the generative model (335) can transmit the generated prompt to a server (e.g., server (108) of FIG. 1). The server (108) can retrieve the prompt received from the electronic device (101) and transmit the retrieved search result to the electronic device (101). The generative model (335) can generate the retrieved search result received from the server (108) as an answer related to the user query. In one embodiment, the answer related to the user query can include text (e.g., sentences, codes), images, and/or videos.

일 실시예에서, 실행 모듈(340)은 생성형 모델(335)에 의해 생성된 사용자 쿼리에 대응하는 답변(예: 텍스트(예: 문장, 코드), 이미지, 및/또는 비디오)을 출력할 수 있다.In one embodiment, the execution module (340) may output an answer (e.g., text (e.g., sentence, code), image, and/or video) corresponding to a user query generated by the generative model (335).

일 실시예에서, 대화 히스토리 데이터베이스(350)는 생성된 세션 내에서 입력된 사용자 쿼리와 출력된 사용자 쿼리에 대응하는 답변(예: 텍스트(예: 문장, 코드), 이미지, 및/또는 비디오)을 저장할 수 있다. In one embodiment, the conversation history database (350) may store user queries entered within a generated session and responses (e.g., text (e.g., sentences, code), images, and/or videos) corresponding to the output user queries.

일 실시예에서, 프롬프트 히스토리 데이터베이스(355)는 생성형 모델(335)에 입력되기 전에 생성된 프롬프트를 저장할 수 있다.In one embodiment, the prompt history database (355) can store generated prompts prior to being input into the generative model (335).

도 4는, 본 개시의 일 실시예에 따른, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 흐름도이다.FIG. 4 is a flowchart illustrating a method for providing a user interface for a user query based on a category, according to one embodiment of the present disclosure.

이하 실시예에서 도 4의 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 도 4의 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.In the following embodiments, the operations of FIG. 4 may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations of FIG. 4 may be changed, and at least two operations may be performed in parallel.

일 실시예에 따르면, 도 4의 405동작 내지 425동작은 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다.According to one embodiment, operations 405 to 425 of FIG. 4 may be understood to be performed in a processor (e.g., processor (240) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1).

도 4를 참조하면, 프로세서(240)는 405동작에서, 사용자 쿼리를 수신할 수 있다. 사용자 쿼리는 사용자를 통해 입력되는 질문(또는 문의)과 관련된 데이터를 포함할 수 있다. 일 실시예에서, 사용자 쿼리는 마이크(예: 도 1의 입력 모듈(150))를 통해 수신되는 음성 데이터(예: 사용자 발화) 또는 키패드를 통해 수신되는 텍스트 데이터를 포함할 수 있다. 예를 들어, 프로세서(240)는 사용자로부터 지정된 음성 호출어(예: 웨이크 업)를 수신하거나, 또는 설정된 버튼을 선택하는 입력을 수신한 후, 음성 데이터(예: 사용자 발화)를 수신할 수 있다. 프로세서(240)는 음성 데이터(예: 사용자 발화)를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터를 디스플레이(예: 도 2의 디스플레이(230))에 표시할 수 있다. 다른 예를 들어, 프로세서(240)는 사용자로부터 지정된 음성 호출어(예: 웨이크 업)를 수신하거나, 또는 설정된 버튼을 선택하는 입력을 수신한 후, 키패드를 통해 입력되는 텍스트 데이터를 수신할 수도 있다. 프로세서(240)는 키패드를 통해 입력되는 텍스트 데이터를 디스플레이(230)에 표시할 수 있다.Referring to FIG. 4, the processor (240) may receive a user query in operation 405. The user query may include data related to a question (or inquiry) input by the user. In one embodiment, the user query may include voice data (e.g., user speech) received via a microphone (e.g., input module (150) of FIG. 1) or text data received via a keypad. For example, the processor (240) may receive a voice wake-up word (e.g., wake up) specified by the user, or may receive an input of selecting a set button, and then receive the voice data (e.g., user speech). The processor (240) may convert the voice data (e.g., user speech) into text data and display the converted text data on a display (e.g., display (230) of FIG. 2). For another example, the processor (240) may receive text data input through a keypad after receiving a voice wake word (e.g., wake up) specified by a user or an input of selecting a set button. The processor (240) may display the text data input through the keypad on the display (230).

일 실시예에서, 프로세서(240)는 410동작에서, 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인할 수 있다.In one embodiment, the processor (240) may, in operation 410, determine whether the received user query includes multiple topics.

일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 수신된 사용자 쿼리의 의도를 확인하고, 확인된 사용자 쿼리의 의도에 기반하여, 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 주제 분류 모듈(310))는 문법적 분석 또는 의미적 분석을 수행하여 사용자 쿼리의 의도 및/또는 주제를 결정할 수 있다. In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify the intent of the received user query and, based on the verified intent of the user query, determine whether the user query includes multiple topics. For example, the processor (240) (e.g., the topic classification module (310)) can perform grammatical analysis or semantic analysis to determine the intent and/or topic of the user query.

예를 들어, 사용자 쿼리 “음악 틀어주고, 오늘 날씨 알려줘”를 수신한 경우, 프로세서(240)(예: 주제 분류 모듈(310))는 사용자 쿼리의 제1 의도(예: “play.music”) 및 제2 의도(예: “show.weather”)를 확인할 수 있다. 확인된 제1 의도(예: “play.music”) 및 제2 의도(예: “show.weather”)에 기반하여, 프로세서(240)(예: 주제 분류 모듈(310))는 사용자 쿼리가 복수의 주제들인 제1 주제(예: “music”)와 제2 주제(예: “weather”)를 포함하는 것으로 확인(또는 결정)할 수 있다.For example, when a user query “Play music and tell me today’s weather” is received, the processor (240) (e.g., the topic classification module (310)) may identify a first intent (e.g., “play.music”) and a second intent (e.g., “show.weather”) of the user query. Based on the identified first intent (e.g., “play.music”) and second intent (e.g., “show.weather”), the processor (240) (e.g., the topic classification module (310)) may identify (or determine) that the user query includes a plurality of topics, namely, the first topic (e.g., “music”) and the second topic (e.g., “weather”).

일 실시예에서, 프로세서(240)는 415동작에서, 사용자 쿼리가 복수의 주제들을 포함하는 경우, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시할 수 있다.In one embodiment, in operation 415, if the user query includes a plurality of topics, the processor (240) may display, on the display (230), the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries.

예를 들어, 프로세서(240)는 사용자 쿼리 “음악 틀어주고, 오늘 날씨 알려줘” 중 제1 주제(예: “music”)와 관련된 제1 사용자 쿼리(예: “음악 틀어주고”)에 대응하는 제1 답변, 사용자 쿼리 “음악 틀어주고, 오늘 날씨 알려줘” 중 제2 주제(예: “weather”)와 관련된 제2 사용자 쿼리(예: “오늘 날씨 알려줘”)에 대응하는 제2 답변을 디스플레이(230)에 표시할 수 있다.For example, the processor (240) may display, on the display (230), a first answer corresponding to a first user query (e.g., “play music”) related to a first topic (e.g., “music”) among the user queries “play music and tell me today’s weather” and a second answer corresponding to a second user query (e.g., “tell me today’s weather”) related to a second topic (e.g., “weather”) among the user queries “play music and tell me today’s weather”.

일 실시예에서, 프로세서(240)는 제1 답변 및 제2 답변이 적어도 일부 중첩되도록 디스플레이(230)에 표시할 수 있다. 이에 한정하는 것은 아니며, 프로세서(240)는 디스플레이(230)의 제1 영역에 사용자 쿼리(또는 제1 사용자 퀄)와 제1 답변을 표시하고, 디스플레이(230)의 제2 영역에 사용자 쿼리(또는 제2 사용자 쿼리)와 제2 답변을 표시할 수 있다(예: 멀티윈도우 형태로 표시).In one embodiment, the processor (240) may display the first answer and the second answer on the display (230) so that they at least partially overlap. The processor (240) may display the user query (or the first user query) and the first answer on a first area of the display (230), and may display the user query (or the second user query) and the second answer on a second area of the display (230) (e.g., in a multi-window format).

일 실시예에서, 프로세서(240)(예: 도 3의 프롬프트 생성 모듈(330))는 사용자 쿼리의 의도 및/또는 주제에 기반하여 주제에 대응하는 프롬프트(예: 텍스트 데이터(예: 문장))를 생성할 수 있다. 이에 한정하는 것은 아니며, 프로세서(240)(예: 프롬프트 생성 모듈(330))는 기 존재하는 샘플 프롬프트를 이용하여, 사용자 쿼리의 의도 및/또는 주제에 기반한 프롬프트(예: 텍스트 데이터(예: 문장))를 생성할 수도 있다. In one embodiment, the processor (240) (e.g., the prompt generation module (330) of FIG. 3) may generate a prompt (e.g., text data (e.g., sentences)) corresponding to a topic based on the intent and/or topic of the user query. Without being limited thereto, the processor (240) (e.g., the prompt generation module (330)) may also generate a prompt (e.g., text data (e.g., sentences)) based on the intent and/or topic of the user query using pre-existing sample prompts.

일 실시예에서, 프로세서(240)(예: 프롬프트 생성 모듈(330))는 사용자 쿼리가 복수의 주제들을 포함하는 경우, 주제 별로 프롬프트를 생성할 수 있다. 예를 들어, 프로세서(240)(예: 프롬프트 생성 모듈(330))는 제1 사용자 쿼리에 대응하는 제1 답변을 획득하기 위한 제1 프롬프트 및 제2 사용자 쿼리에 대응하는 제2 답변을 획득하기 위한 제2 프롬프트를 생성할 수 있다.In one embodiment, the processor (240) (e.g., the prompt generation module (330)) may generate prompts for each topic when the user query includes multiple topics. For example, the processor (240) (e.g., the prompt generation module (330)) may generate a first prompt for obtaining a first answer corresponding to a first user query and a second prompt for obtaining a second answer corresponding to a second user query.

일 실시예에서, 프로세서(240)(예: 도 3의 생성형 모델(335))는 제1 프롬프트에 기반하여, 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변을 생성할 수 있다. 예를 들어, 프로세서(240)(예: 생성형 모델(335))는 제1 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변으로 생성할 수 있다. 또한, 프로세서(240)(예: 생성형 모델(335))는 제2 프롬프트에 기반하여, 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 생성할 수 있다. 예를 들어, 프로세서(240)(예: 생성형 모델(335))는 제2 프롬프트를 전자 장치(101) 및/또는 서버(108)에서 검색하고, 검색된 검색 결과를 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변으로 생성할 수 있다.In one embodiment, the processor (240) (e.g., the generative model (335) of FIG. 3) may generate a first answer corresponding to a first user query related to a first topic based on the first prompt. For example, the processor (240) (e.g., the generative model (335)) may search for the first prompt on the electronic device (101) and/or a server (e.g., the server (108) of FIG. 1) and generate the search result as the first answer corresponding to the first user query related to the first topic. Additionally, the processor (240) (e.g., the generative model (335)) may generate a second answer corresponding to a second user query related to a second topic based on the second prompt. For example, the processor (240) (e.g., the generative model (335)) may retrieve the second prompt from the electronic device (101) and/or the server (108) and generate the retrieved search result as a second answer corresponding to a second user query related to the second topic.

일 실시예에서, 사용자 쿼리에 대응하는 제1 답변 및 제2 답변은 텍스트(예: 문장, 코드), 이미지, 및/또는 비디오를 포함할 수 있다.In one embodiment, the first and second answers corresponding to the user query may include text (e.g., sentences, code), images, and/or videos.

일 실시예에서, 프로세서(240)(예: 도 3의 대화 주제 관리 모듈(320))는 420동작에서, 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(예: 도 2의 메모리(220))(예: 도 3의 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다.In one embodiment, the processor (240) (e.g., the conversation topic management module (320) of FIG. 3) may, in operation 420, when a user input for selecting one of the first and second answers is detected, check whether history information corresponding to the topic related to the selected answer is stored in a memory (e.g., the memory (220) of FIG. 2) (e.g., the conversation history database (350) of FIG. 3).

일 실시예에서, 프로세서(240)(예: 대화 주제 관리 모듈(320))는 제1 주제 및 제2 주제가 기존에 사용자에 의해 언급된 주제인지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 대화 주제 관리 모듈(320))는 딥 러닝 모델에 기반하여, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다. 예를 들어, 딥 러닝 모델은, 임베딩 벡터 생성 모델, LDA(latent dirichlet allocation) 모델, 또는 워드투벡터(word2Vec) 모델 중 하나를 포함할 수 있다. 하지만 이에 한정하는 것은 아니다.In one embodiment, the processor (240) (e.g., the conversation topic management module (320)) can check whether the first topic and the second topic are topics previously mentioned by the user. For example, the processor (240) (e.g., the conversation topic management module (320)) can check whether history information corresponding to the topic related to the selected answer is stored in the memory (220) (e.g., the conversation history database (350)) based on the deep learning model. For example, the deep learning model can include one of an embedding vector generation model, a latent dirichlet allocation (LDA) model, or a word2Vec model. However, the present invention is not limited thereto.

일 실시예에서, 프로세서(240)(예: 도 3의 실행 모듈(340))는 425동작에서, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우, 주제와 관련된 히스토리 정보, 선택된 답변에 대응하는 관련된 사용자 쿼리, 및 선택된 답변을 포함하는 사용자 인터페이스를 디스플레이(230)에 표시할 수 있다.In one embodiment, the processor (240) (e.g., the execution module (340) of FIG. 3 ) may, at operation 425 , display on the display (230) a user interface including the history information related to the topic, the related user query corresponding to the selected answer, and the selected answer, if history information corresponding to the topic is stored in the memory (220) (e.g., the conversation history database (350)).

일 실시예에서, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우, 프로세서(240)(예: 도 3의 세션 관리 모듈(325))는 사용자 쿼리의 의도 및/또는 주제와 관련된 기 저장된 세션을 오픈할 수 있다. 프로세서(240)(예: 세션 관리 모듈(325))는 오픈된 세션에 주제와 관련된 히스토리 정보, 선택된 답변에 대응하는 관련된 사용자 쿼리, 및 선택된 답변을 포함하여, 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다. 일 실시예에서, 주제와 관련된 히스토리 정보는, 상기 주제(예: 선택된 답변과 관련된 주제)와 관련되어 이전에 사용자에 의해 입력된 적어도 하나의 사용자 쿼리 및 적어도 하나의 사용자 쿼리와 관련된 적어도 하나의 답변을 포함할 수 있다.In one embodiment, if history information corresponding to a topic related to a selected answer is stored in the memory (220) (e.g., the conversation history database (350)), the processor (240) (e.g., the session management module (325) of FIG. 3) may open a previously stored session related to the intent and/or topic of the user query. The processor (240) (e.g., the session management module (325)) may display, on the display (230) as a user interface, the opened session, including history information related to the topic, a related user query corresponding to the selected answer, and the selected answer. In one embodiment, the history information related to the topic may include at least one user query previously entered by a user related to the topic (e.g., a topic related to the selected answer) and at least one answer related to the at least one user query.

도 5a 및 도 5b는, 본 개시의 일 실시예에 따른, 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 흐름도이다.FIGS. 5A and 5B are flowcharts illustrating a method for providing a user interface for a user query based on a category, according to one embodiment of the present disclosure.

이하 실시예에서 도 5의 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 도 5의 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다.In the following embodiments, the operations in FIG. 5 may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the operations in FIG. 5 may be changed, and at least two operations may be performed in parallel.

일 실시예에 따르면, 도 5의 505동작 내지 550동작은 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다.According to one embodiment, operations 505 to 550 of FIG. 5 may be understood to be performed in a processor (e.g., processor (240) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1).

다양한 실시예들에 따른 도 5의 505동작 내지 530동작은, 전술한 도 4의 405동작 내지 425동작과 실질적으로 동일하므로, 이에 대한 상세한 설명은 도 4의 설명으로 대신할 수 있다.Since operations 505 to 530 of FIG. 5 according to various embodiments are substantially the same as operations 405 to 425 of FIG. 4 described above, a detailed description thereof may be replaced with the description of FIG. 4.

도 5를 참조하면, 프로세서(240)는 505동작에서, 사용자 쿼리를 수신할 수 있다. 예를 들어, 사용자 쿼리는 사용자를 통해 입력되는 질문(또는 문의)과 관련된 데이터를 포함할 수 있다. 프로세서(240)는 사용자로부터 지정된 음성 호출어(예: 웨이크 업)를 수신하거나, 또는 설정된 버튼을 선택하는 입력을 수신한 후, 사용자 쿼리를 수신할 수 있다. 상기 사용자 쿼리는 마이크(예: 도 1의 입력 모듈(150))를 통해 수신되는 음성 데이터(예: 사용자 발화) 또는 키패드를 통해 수신되는 텍스트 데이터를 포함할 수 있다. 사용자 쿼리가 마이크를 통해 수신되는 음성 데이터인 경우, 프로세서(240)는 음성 데이터를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터를 디스플레이(예: 도 2의 디스플레이(230))에 표시할 수 있다. 또는, 프로세서(240)는 키패드를 통해 수신되는 텍스트 데이터를 디스플레이(230)에 표시할 수 있다.Referring to FIG. 5, the processor (240) may receive a user query in operation 505. For example, the user query may include data related to a question (or inquiry) input by the user. The processor (240) may receive a user query after receiving a voice wake-up word (e.g., wake up) specified by the user or an input of selecting a set button. The user query may include voice data (e.g., user utterance) received through a microphone (e.g., input module (150) of FIG. 1) or text data received through a keypad. If the user query is voice data received through a microphone, the processor (240) may convert the voice data into text data and display the converted text data on a display (e.g., display (230) of FIG. 2). Alternatively, the processor (240) may display text data received through the keypad on the display (230).

일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 510동작에서, 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 주제 분류 모듈(310))는 수신된 사용자 쿼리의 의도를 확인하고, 확인된 사용자 쿼리의 의도에 기반하여, 사용자 쿼리가 상기 복수의 주제들을 포함하는지 여부를 확인할 수 있다.In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) may, in operation 510, determine whether the user query includes a plurality of topics. For example, the processor (240) (e.g., the topic classification module (310)) may determine the intent of the received user query, and, based on the determined intent of the user query, determine whether the user query includes the plurality of topics.

일 실시예에서, 사용자 쿼리가 복수의 주제들을 포함하는 경우(예: 510동작의 YES), 프로세서(240)(예: 도 3의 실행 모듈(340))는 515동작에서, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(예: 도 2의 디스플레이(230))에 표시할 수 있다. 예를 들어, 프로세서(240)(예: 도 3의 프롬프트 생성 모듈(330))는 사용자 쿼리가 복수의 주제들을 포함하는 경우, 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변을 획득하기 위한 제1 프롬프트 및 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 획득하기 위한 제2 프롬프트를 생성할 수 있다. 프로세서(240)(예: 도 3의 생성형 모델(335))는 제1 프롬프트에 기반하여, 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변을 생성할 수 있다. 예를 들어, 프로세서(240)(예: 생성형 모델(335))는 제1 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변으로 생성할 수 있다. 또한, 프로세서(240)(예: 생성형 모델(335))는 제2 프롬프트에 기반하여, 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 생성할 수 있다. 예를 들어, 프로세서(240)(예: 생성형 모델(335))는 제2 프롬프트를 전자 장치(101) 및/또는 서버(108)에서 검색하고, 검색된 검색 결과를 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변으로 생성할 수 있다. In one embodiment, when the user query includes multiple topics (e.g., YES in operation 510), the processor (240) (e.g., the execution module (340) of FIG. 3) may, in operation 515, display the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries on a display (e.g., the display (230) of FIG. 2). For example, the processor (240) (e.g., the prompt generation module (330) of FIG. 3) may generate a first prompt for obtaining a first answer corresponding to a first user query related to the first topic and a second prompt for obtaining a second answer corresponding to a second user query related to the second topic, when the user query includes multiple topics. The processor (240) (e.g., the generative model (335) of FIG. 3) may generate the first answer corresponding to the first user query related to the first topic based on the first prompt. For example, the processor (240) (e.g., the generative model (335)) may search for the first prompt on the electronic device (101) and/or a server (e.g., the server (108) of FIG. 1) and generate the search result as a first answer corresponding to a first user query related to a first topic. Additionally, the processor (240) (e.g., the generative model (335)) may generate, based on the second prompt, a second answer corresponding to a second user query related to a second topic. For example, the processor (240) (e.g., the generative model (335)) may search for the second prompt on the electronic device (101) and/or the server (108) and generate the search result as a second answer corresponding to a second user query related to a second topic.

일 실시예에서, 프로세서(240)(예: 실행 모듈(340))는 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시할 수 있다.In one embodiment, the processor (240) (e.g., the execution module (340)) may display, on the display (230), a user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries.

일 실시예에서, 프로세서(240)는 520동작에서, 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되는지 여부를 확인할 수 있다. 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되지 않으면(예: 520동작의 NO), 프로세서(240)(예: 실행 모듈(340))는 515동작으로 분기하여, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 계속해서 표시할 수 있다.In one embodiment, the processor (240) may determine, in operation 520, whether a user input for selecting one of the first answer and the second answer is detected. If the user input for selecting one of the first answer and the second answer is not detected (e.g., NO in operation 520), the processor (240) (e.g., the execution module (340)) may branch to operation 515 to continue displaying the user query, the first answer corresponding to the first user query related to the first topic among the user queries, and the second answer corresponding to the second user query related to the second topic among the user queries.

일 실시예에서, 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면(예: 520동작의 YES), 프로세서(240)(예: 도 3의 대화 주제 관리 모듈(320))는 525동작에서, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(예: 도 2의 메모리(220))(예: 도 3의 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다. 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우(예: 525동작의 YES), 프로세서(240)(예: 실행 모듈(340))는 530동작에서, 주제와 관련된 히스토리 정보(예: 주제와 관련되어 이전에 사용자에 의해 입력된 적어도 하나의 사용자 쿼리 및 적어도 하나의 사용자 쿼리와 관련된 적어도 하나의 답변), 선택된 답변에 대응하는 사용자 쿼리, 및 선택된 답변을 포함하는 사용자 인터페이스를 디스플레이(230)에 표시할 수 있다. 예를 들어, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우, 프로세서(240)(예: 도 3의 세션 관리 모듈(325))는 사용자 쿼리의 의도 및/또는 주제와 관련된 기 저장된 세션을 오픈하고, 오픈된 세션에 주제와 관련된 히스토리 정보(예: 주제와 관련되어 이전에 사용자에 의해 입력된 적어도 하나의 사용자 쿼리 및 적어도 하나의 사용자 쿼리와 관련된 적어도 하나의 답변), 선택된 답변에 대응하는 사용자 쿼리, 및 선택된 답변을 포함하여, 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다.In one embodiment, when a user input for selecting one of the first answer and the second answer is detected (e.g., YES in operation 520), the processor (240) (e.g., the conversation topic management module (320) of FIG. 3) may, in operation 525, determine whether history information corresponding to a topic related to the selected answer is stored in a memory (e.g., the memory (220) of FIG. 2) (e.g., the conversation history database (350) of FIG. 3). If the history information corresponding to the topic related to the selected answer is stored in the memory (220) (e.g., the conversation history database (350)) (e.g., YES in operation 525), the processor (240) (e.g., the execution module (340)) may, in operation 530, display on the display (230) a user interface including history information related to the topic (e.g., at least one user query previously input by the user related to the topic and at least one answer related to the at least one user query), the user query corresponding to the selected answer, and the selected answer. For example, if history information corresponding to a topic related to a selected answer is stored in the memory (220) (e.g., conversation history database (350)), the processor (240) (e.g., session management module (325) of FIG. 3) may open a pre-stored session related to the intent and/or topic of the user query, and display, on the display (230) as a user interface, the history information related to the topic in the opened session (e.g., at least one user query previously input by the user related to the topic and at least one answer related to the at least one user query), the user query corresponding to the selected answer, and the selected answer.

일 실시예에서, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우(예: 525동작의 NO), 프로세서(240)는 535동작에서, 선택된 답변에 대응하는 사용자 쿼리 및 선택된 답변을 포함하는 제2 사용자 인터페이스를 디스플레이(230)에 표시할 수 있다. 예를 들어, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있지 않은 경우, 프로세서(240)(예: 세션 관리 모듈(325))는 사용자 쿼리의 의도 및/또는 주제와 관련된 세션을 생성하고, 생성된 세션에 선택된 답변에 대응하는 사용자 쿼리 및 선택된 답변을 포함하는 포함하여, 제2 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다.In one embodiment, if the history information corresponding to the topic related to the selected answer is not stored in the memory (220) (e.g., NO of operation 525), the processor (240) may, in operation 535, display on the display (230) a second user interface including the user query corresponding to the selected answer and the selected answer. For example, if the history information corresponding to the topic related to the selected answer is not stored in the memory (220) (e.g., the conversation history database (350)), the processor (240) (e.g., the session management module (325)) may create a session related to the intent and/or topic of the user query, and display on the display (230) the second user interface including the user query corresponding to the selected answer and the selected answer in the created session.

일 실시예에서, 사용자 쿼리가 복수의 주제들을 포함하지 않은 경우(예: 510동작의 NO), 프로세서(240)(예: 실행 모듈(340))는 537동작에서, 사용자 쿼리의 제3 주제와 관련된 제3 답변을 디스플레이(230)에 표시할 수 있다. 일 실시예에 따른 제3 주제는, 제1 주제 및 제2 주제와 동일하거나 또는 상이할 수 있다. 예를 들어, 사용자 쿼리가 복수의 주제들을 포함하지 않은 경우, 프로세서(240)는 사용자 쿼리가 하나의 주제(예: 제3 주제)를 포함하는 것으로 결정하고, 사용자 쿼리의 제3 주제와 관련된 제3 답변을 디스플레이(230)에 표시할 수 있다.In one embodiment, if the user query does not include multiple topics (e.g., NO of operation 510), the processor (240) (e.g., the execution module (340)) may, in operation 537, display a third answer related to a third topic of the user query on the display (230). The third topic according to one embodiment may be the same as or different from the first topic and the second topic. For example, if the user query does not include multiple topics, the processor (240) may determine that the user query includes one topic (e.g., the third topic) and display a third answer related to the third topic of the user query on the display (230).

일 실시예에서, 프로세서(240)는 539동작에서, 제3 답변을 선택하는 제2 사용자 입력이 검출되는지 여부를 확인할 수 있다. 제3 답변을 선택하는 제2 사용자 입력이 검출되지 않으면(예: 539동작의 NO), 프로세서(240)(예: 실행 모듈(340))는 537동작으로 분기하여, 사용자 쿼리 및 사용자 쿼리의 제3 주제와 관련된 제3 답변을 계속해서 표시할 수 있다. 제3 답변을 선택하는 제2 사용자 입력이 검출되면(예: 539동작의 YES), 프로세서(240)(예: 대화 주제 관리 모듈(320))는 540동작에서, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다. 일 실시예에서, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우(예: 540동작의 YES), 프로세서(240)는 545동작에서, 제3 주제와 관련된 히스토리 정보, 사용자 쿼리, 및 사용자 쿼리에 대응하는 제3 답변을 포함하는 제3 사용자 인터페이스를 디스플레이(230)에 표시할 수 있다. 예를 들어, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우, 프로세서(240)(예: 세션 관리 모듈(325))는 사용자 쿼리의 제3 주제와 관련된 기 저장된 세션을 오픈하고, 오픈된 세션에 제3 주제와 관련된 히스토리 정보, 사용자 쿼리, 및 사용자 쿼리에 대응하는 제3 답변을 포함하여, 제3 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다.In one embodiment, the processor (240) may determine, in operation 539, whether a second user input for selecting a third answer is detected. If the second user input for selecting a third answer is not detected (e.g., NO in operation 539), the processor (240) (e.g., the execution module (340)) may branch to operation 537 to continue displaying the user query and the third answer related to the third topic of the user query. If the second user input for selecting the third answer is detected (e.g., YES in operation 539), the processor (240) (e.g., the conversation topic management module (320)) may determine, in operation 540, whether history information related to the third topic of the user query is stored in the memory (220) (e.g., the conversation history database (350)). In one embodiment, if history information related to a third topic of the user query is stored in the memory (220) (e.g., conversation history database (350)) (e.g., YES in operation 540), in operation 545, the processor (240) may display, on the display (230), a third user interface including the history information related to the third topic, the user query, and the third answer corresponding to the user query. For example, if history information related to the third topic of the user query is stored in the memory (220) (e.g., conversation history database (350)), the processor (240) (e.g., session management module (325)) may open a pre-stored session related to the third topic of the user query, and display, on the display (230), the opened session as the third user interface, the history information related to the third topic, the user query, and the third answer corresponding to the user query.

일 실시예에서, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우(예: 540동작의 NO), 프로세서(240)는 550동작에서, 사용자 쿼리 및 사용자 쿼리에 대응하는 제3 답변을 포함하는 제4 사용자 인터페이스를 디스플레이(230)에 표시할 수 있다. 예를 들어, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있지 않은 경우, 프로세서(240)(예: 세션 관리 모듈(325))는 사용자 쿼리의 제3 주제와 관련된 세션을 생성하고, 생성된 세션에 사용자 쿼리 및 사용자 쿼리에 대응하는 제3 답변을 포함하여, 제4 사용자 인터페이스로서 디스플레이(230)에 표시할 수 있다.In one embodiment, if the history information related to the third subject of the user query is not stored in the memory (220) (e.g., NO in operation 540), the processor (240) may, in operation 550, display a fourth user interface including the user query and the third answer corresponding to the user query on the display (230). For example, if the history information related to the third subject of the user query is not stored in the memory (220) (e.g., the conversation history database (350)), the processor (240) (e.g., the session management module (325)) may create a session related to the third subject of the user query, and display the user query and the third answer corresponding to the user query in the created session as the fourth user interface on the display (230).

도 6은, 본 개시의 일 실시예에 따른, 하나의 주제를 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.FIG. 6 is a diagram illustrating a method for providing a user interface for a user query including one subject according to one embodiment of the present disclosure.

도 6을 참조하면, 참조번호 <610>에 도시된 바와 같이, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))는 제1 사용자 쿼리(613)(예: “How is the weather today?”)를 수신할 수 있다. 수신된 제1 사용자 쿼리(613)는 디스플레이(예: 도 2의 디스플레이(230))에 표시될 수 있다. Referring to FIG. 6, as illustrated in reference numeral <610>, a processor (e.g., processor (240) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1) may receive a first user query (613) (e.g., “How is the weather today?”). The received first user query (613) may be displayed on a display (e.g., display (230) of FIG. 2).

일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 수신된 제1 사용자 쿼리(613)의 의도를 확인하고, 확인된 제1 사용자 쿼리(613)의 의도에 기반하여, 제1 사용자 쿼리(613)의 제1 주제(예: 날씨)를 결정할 수 있다. 프로세서(240)(예: 도 3의 프롬프트 생성 모듈(330))는 제1 사용자 쿼리(613)에 대응하는 제1 답변(615)을 획득하기 위한 제1 프롬프트를 생성할 수 있다. 프로세서(240)(예: 도 3의 생성형 모델(335))는 제1 프롬프트에 기반하여, 제1 사용자 쿼리(613)에 대응하는 제1 답변(615)을 생성할 수 있다. 예를 들어, 프로세서(240)(예: 생성형 모델(335))는 제1 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 제1 사용자 쿼리(613)에 대응하는 제1 답변(615)으로 생성할 수 있다. 프로세서(240)(예: 도 3의 실행 모듈(340))는 제1 사용자 쿼리(613) 및 제1 사용자 쿼리(613)에 대응하는 제1 답변(615)을 디스플레이(230)에 표시할 수 있다.In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) may verify the intent of the received first user query (613) and determine a first topic (e.g., weather) of the first user query (613) based on the verified intent of the first user query (613). The processor (240) (e.g., the prompt generation module (330) of FIG. 3) may generate a first prompt to obtain a first answer (615) corresponding to the first user query (613). The processor (240) (e.g., the generative model (335) of FIG. 3) may generate the first answer (615) corresponding to the first user query (613) based on the first prompt. For example, the processor (240) (e.g., the generative model (335)) may retrieve the first prompt from the electronic device (101) and/or a server (e.g., the server (108) of FIG. 1) and generate the retrieved search result as a first answer (615) corresponding to the first user query (613). The processor (240) (e.g., the execution module (340) of FIG. 3) may display the first user query (613) and the first answer (615) corresponding to the first user query (613) on the display (230).

일 실시예에서, 제1 사용자 쿼리(613)에 대응하는 제1 답변(615)이 표시된 후, 프로세서(240)는 제2 사용자 쿼리(617)(예: “Tell me the news that people saw the most today.”)를 수신할 수 있다. 수신된 제2 사용자 쿼리(617)는 디스플레이(230)에 표시될 수 있다.In one embodiment, after a first answer (615) corresponding to a first user query (613) is displayed, the processor (240) may receive a second user query (617) (e.g., “Tell me the news that people saw the most today.”). The received second user query (617) may be displayed on the display (230).

일 실시예에서, 프로세서(240)(예: 주제 분류 모듈(310))는 수신된 제2 사용자 쿼리(617)의 의도를 확인하고, 확인된 제2 사용자 쿼리(617)의 의도에 기반하여, 제2 사용자 쿼리(617)의 제2 주제(예: 기사)를 결정할 수 있다. 프로세서(240)(예: 프롬프트 생성 모듈(330))는 제2 사용자 쿼리(617)에 대응하는 제2 답변(619)을 획득하기 위한 제2 프롬프트를 생성할 수 있다. 프로세서(240)(예: 생성형 모델(335))는 제2 프롬프트에 기반하여, 제2 사용자 쿼리(617)에 대응하는 제2 답변(619)을 생성할 수 있다. 예를 들어, 프로세서(240)(예: 생성형 모델(335))는 제2 프롬프트를 전자 장치(101) 및/또는 서버(108)에서 검색하고, 검색된 검색 결과를 제2 사용자 쿼리(617)에 대응하는 제2 답변(619)으로 생성할 수 있다. 프로세서(240)(예: 실행 모듈(340))는 제1 사용자 쿼리(613) 및 제1 사용자 쿼리(613)에 대응하는 제1 답변(615)에 추가적으로, 제2 사용자 쿼리(617)에 대응하는 제2 답변(619)을 포함하는 제1 사용자 인터페이스(611)를 디스플레이(230)에 표시할 수 있다.In one embodiment, the processor (240) (e.g., the topic classification module (310)) can verify the intent of the received second user query (617) and, based on the verified intent of the second user query (617), determine a second topic (e.g., an article) of the second user query (617). The processor (240) (e.g., the prompt generation module (330)) can generate a second prompt to obtain a second answer (619) corresponding to the second user query (617). The processor (240) (e.g., the generative model (335)) can generate the second answer (619) corresponding to the second user query (617) based on the second prompt. For example, the processor (240) (e.g., the generative model (335)) can retrieve the second prompt from the electronic device (101) and/or the server (108) and generate the retrieved search result as a second answer (619) corresponding to the second user query (617). The processor (240) (e.g., the execution module (340)) can display, on the display (230), a first user interface (611) that includes, in addition to the first user query (613) and the first answer (615) corresponding to the first user query (613), a second answer (619) corresponding to the second user query (617).

일 실시예에서, 일정 시간이 경과한 후, 프로세서(240)는, 참조번호 <630>에 도시된 바와 같이, 제3 사용자 쿼리(633)(예: “How is the fine dust today?”)를 수신할 수 있다. 수신된 제3 사용자 쿼리(633)는 디스플레이(230)에 표시될 수 있다.In one embodiment, after a period of time has elapsed, the processor (240) may receive a third user query (633) (e.g., “How is the fine dust today?”), as illustrated at reference numeral <630>. The received third user query (633) may be displayed on the display (230).

일 실시예에서, 프로세서(240)(예: 주제 분류 모듈(310))는 수신된 제3 사용자 쿼리(633)의 의도를 확인하고, 확인된 제3 사용자 쿼리(633)의 의도에 기반하여, 제3 사용자 쿼리(633)의 제1 주제(예: 날씨)를 결정할 수 있다. 프로세서(240)(예: 프롬프트 생성 모듈(330))는 제3 사용자 쿼리(633)에 대응하는 제3 답변(635)을 획득하기 위한 제3 프롬프트를 생성할 수 있다. 프로세서(240)(예: 생성형 모델(335))는 제3 프롬프트에 기반하여, 제3 사용자 쿼리(633)에 대응하는 제3 답변(635)을 생성할 수 있다. 예를 들어, 프로세서(240)(예: 생성형 모델(335))는 제3 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 제3 사용자 쿼리(633)에 대응하는 제3 답변(635)으로 생성할 수 있다. 프로세서(240)(예: 실행 모듈(340))는 제3 사용자 쿼리(633) 및 제3 사용자 쿼리(633)에 대응하는 제3 답변(635)을 포함하는 제2 사용자 인터페이스(631)를 디스플레이(230)에 표시할 수 있다.In one embodiment, the processor (240) (e.g., the topic classification module (310)) can verify the intent of the received third user query (633) and, based on the verified intent of the third user query (633), determine a first topic (e.g., weather) of the third user query (633). The processor (240) (e.g., the prompt generation module (330)) can generate a third prompt to obtain a third answer (635) corresponding to the third user query (633). The processor (240) (e.g., the generative model (335)) can generate a third answer (635) corresponding to the third user query (633) based on the third prompt. For example, the processor (240) (e.g., the generative model (335)) can retrieve the third prompt from the electronic device (101) and/or a server (e.g., the server (108) of FIG. 1) and generate the retrieved search result as a third answer (635) corresponding to the third user query (633). The processor (240) (e.g., the execution module (340)) can display a second user interface (631) including the third user query (633) and the third answer (635) corresponding to the third user query (633) on the display (230).

일 실시예에서, 프로세서(240)는 제3 사용자 쿼리(633)에 대응하는 제3 답변(635)을 선택하는 사용자 입력이 검출되면, 제3 사용자 쿼리(633)의 제1 주제(예: 날씨)에 대응하는 히스토리 정보가 메모리(예: 도 2의 메모리(220))(예: 도 3의 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다. 제3 사용자 쿼리(633)의 제1 주제(예: 날씨)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우(예: 프로세서(240)(예: 실행 모듈(340))는, 참조번호 <650>에 도시된 바와 같이, 제1 주제와 관련된 히스토리 정보(예: 주제와 관련되어 이전에 사용자에 의해 입력된 제1 사용자 쿼리(613) 및 제1 사용자 쿼리(613)에 대응하는 제1 답변(615)), 제1 주제와 관련된 제3 사용자 쿼리(633), 및 제1 주제와 관련된 제3 사용자 쿼리(633)에 대응하는 제3 답변(635)을 포함하는 제3 사용자 인터페이스(651)를 디스플레이(230)에 표시할 수 있다. 예를 들어, 제3 사용자 쿼리(633)의 제1 주제(예: 날씨)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우, 프로세서(240)(예: 도 3의 세션 관리 모듈(325))는 제3 사용자 쿼리(633)의 의도 및/또는 주제와 관련된 기 저장된 세션을 오픈하고, 오픈된 세션에 제1 주제와 관련된 히스토리 정보(예: 주제와 관련되어 이전에 사용자에 의해 입력된 제1 사용자 쿼리(613) 및 제1 사용자 쿼리(613)와 관련된 제1 답변(615)), 제3 사용자 쿼리(633), 및 제3 사용자 쿼리(633)와 관련된 제3 답변(635)을 포함하여, 제3 사용자 인터페이스(651)로서 디스플레이(230)에 표시할 수 있다.In one embodiment, when a user input for selecting a third answer (635) corresponding to a third user query (633) is detected, the processor (240) may check whether history information corresponding to a first topic (e.g., weather) of the third user query (633) is stored in a memory (e.g., memory (220) of FIG. 2) (e.g., conversation history database (350) of FIG. 3). If the history information corresponding to the first subject (e.g., weather) of the third user query (633) is stored in the memory (220) (e.g., conversation history database (350)), the processor (240) (e.g., execution module (340)) may display a third user interface (651) including the history information related to the first subject (e.g., the first user query (613) previously input by the user in relation to the subject and the first answer (615) corresponding to the first user query (613), the third user query (633) related to the first subject, and the third answer (635) corresponding to the third user query (633) related to the first subject, on the display (230), as illustrated in reference numeral <650>. For example, if the history information corresponding to the first subject (e.g., weather) of the third user query (633) is stored in the memory (220) (e.g., conversation history database (350)), In this case, the processor (240) (e.g., the session management module (325) of FIG. 3) may open a previously stored session related to the intent and/or topic of the third user query (633), and display on the display (230) as a third user interface (651) the opened session, including history information related to the first topic (e.g., the first user query (613) previously entered by the user related to the topic and the first answer (615) related to the first user query (613), the third user query (633), and the third answer (635) related to the third user query (633).

도 7은, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.FIG. 7 is a diagram illustrating a method for providing a user interface for a user query including multiple topics according to one embodiment of the present disclosure.

도 7을 참조하면, 참조번호 <710>에 도시된 바와 같이, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))는 사용자 쿼리(713)(예: “How is the weather today? Is there a restaurant near here that I can have quick lunch?”)를 수신할 수 있다. 수신된 사용자 쿼리(713)는 디스플레이(예: 도 2의 디스플레이(230))에 표시될 수 있다.Referring to FIG. 7, as illustrated in reference numeral <710>, a processor (e.g., processor (240) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1) may receive a user query (713) (e.g., “How is the weather today? Is there a restaurant near here that I can have quick lunch?”). The received user query (713) may be displayed on a display (e.g., display (230) of FIG. 2).

일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 수신된 사용자 쿼리(713)의 의도를 확인하고, 확인된 사용자 쿼리(713)의 의도에 기반하여, 사용자 쿼리(713)의 주제를 결정할 수 있다. 일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 사용자 쿼리(713)가 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 주제 분류 모듈(310))는 수신된 사용자 쿼리(713)에 기반하여, 사용자 쿼리(713)가 복수의 주제들, 예를 들어, 제1 주제(예: 날씨) 및 제2 주제(예: 식당)를 포함하는 것으로 결정할 수 있다. 프로세서(240)(예: 도 3의 프롬프트 생성 모듈(330))는 사용자 쿼리(713)가 복수의 주제들을 포함하는 경우, 주제 별로 프롬프트를 생성할 수 있다. 예를 들어, 프로세서(240)(예: 프롬프트 생성 모듈(330))는 사용자 쿼리(713) 중 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(715)을 획득하기 위한 제1 프롬프트 및 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(717)을 획득하기 위한 제2 프롬프트를 생성할 수 있다. 프로세서(240)(예: 도 3의 생성형 모델(335))는 제1 프롬프트 및 제2 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 사용자 쿼리(713)의 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(715) 및 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(717)으로 생성할 수 있다.In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify the intent of the received user query (713) and determine the topic of the user query (713) based on the verified intent of the user query (713). In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify whether the user query (713) includes multiple topics. For example, the processor (240) (e.g., the topic classification module (310)) can determine, based on the received user query (713), that the user query (713) includes multiple topics, for example, a first topic (e.g., weather) and a second topic (e.g., restaurant). The processor (240) (e.g., the prompt generation module (330) of FIG. 3) can generate a prompt for each topic if the user query (713) includes multiple topics. For example, the processor (240) (e.g., the prompt generation module (330)) may generate a first prompt to obtain a first answer (715) corresponding to a first user query (e.g., “How is the weather today?”) among the user queries (713) and a second prompt to obtain a second answer (717) corresponding to a second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”). A processor (240) (e.g., generative model (335) of FIG. 3) may retrieve the first prompt and the second prompt from an electronic device (101) and/or a server (e.g., server (108) of FIG. 1), and generate the retrieved search results as a first answer (715) corresponding to a first user query (e.g., “How is the weather today?”) related to a first topic (e.g., weather) of a user query (713) and a second answer (717) corresponding to a second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to a second topic (e.g., restaurants).

일 실시예에서, 프로세서(240)(예: 도 3의 실행 모듈(340))는 사용자 쿼리(713), 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(715), 및 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(717)을 포함하는 사용자 인터페이스(711)를 디스플레이(230)에 표시할 수 있다. 일 실시예에서, 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(715)과 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(717)은 적어도 일부 중첩되게 디스플레이(230)에 표시될 수 있다.In one embodiment, the processor (240) (e.g., the execution module (340) of FIG. 3 ) may display a user interface (711) on the display (230) that includes a user query (713), a first answer (715) corresponding to the first user query (e.g., “How is the weather today?”) related to a first topic (e.g., weather), and a second answer (717) corresponding to the second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to a second topic (e.g., restaurants). In one embodiment, the first answer (715) corresponding to the first user query (e.g., “How is the weather today?”) related to the first topic (e.g., weather) and the second answer (717) corresponding to the second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to the second topic (e.g., restaurants) may be displayed on the display (230) at least partially overlapping.

일 실시예에서, 프로세서(240)(예: 도 3의 대화 주제 관리 모듈(320))는 제1 답변(715) 및 제2 답변(717) 중 제1 답변(715)을 선택하는 사용자 입력(721)이 검출되면, 선택된 제1 답변(715)과 관련된 제1 주제(예: 날씨)에 대응하는 히스토리 정보가 메모리(예: 도 2의 메모리(220))(예: 도 3의 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 대화 주제 관리 모듈(320))는 딥 러닝 모델에 기반하여, 선택된 제1 답변(715)과 관련된 제1 주제(예: 날씨)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다.In one embodiment, when a user input (721) for selecting a first answer (715) among the first answer (715) and the second answer (717) is detected, the processor (240) (e.g., the conversation topic management module (320) of FIG. 3) may check whether history information corresponding to a first topic (e.g., weather) related to the selected first answer (715) is stored in a memory (e.g., the memory (220) of FIG. 2) (e.g., the conversation history database (350) of FIG. 3). For example, the processor (240) (e.g., the conversation topic management module (320)) may check whether history information corresponding to a first topic (e.g., weather) related to the selected first answer (715) is stored in the memory (220) (e.g., the conversation history database (350)) based on a deep learning model.

일 실시예에서, 선택된 제1 답변(715)과 관련된 제1 주제(예: 날씨)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우, 프로세서(240)(예: 도 3의 세션 관리 모듈(325))는, 참조번호 <750>에 도시된 바와 같이, 제1 주제(예: 날씨)와 관련된 기 저장된 세션을 오픈할 수 있다. 프로세서(240)(예: 세션 관리 모듈(325))는 오픈된 제1 주제(예: 날씨)와 관련된 세션에 제1 주제(예: 날씨)와 관련된 히스토리 정보(755, 757), 사용자 쿼리(713) 중 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(761)(예: “How is the weather today?”)(예: 선택된 답변(715)에 대응하는 제1 사용자 쿼리(761)), 및 제1 사용자 쿼리(761)(예: “How is the weather today?”)에 대응하는 제1 답변(715)(예: 선택된 답변(715))을 포함하여, 제2 사용자 인터페이스(751)로서 디스플레이(230)에 표시할 수 있다. 일 실시예에서, 제1 주제(예: 날씨)와 관련된 히스토리 정보(755, 757)는, 제1 주제(예: 날씨)와 관련되어 이전에 사용자에 의해 입력된 적어도 하나의 사용자 쿼리(755) 및 적어도 하나의 사용자 쿼리(755)와 관련된 적어도 하나의 답변(757)을 포함할 수 있다.In one embodiment, if history information corresponding to a first topic (e.g., weather) related to a selected first answer (715) is stored in a memory (220) (e.g., conversation history database (350)), the processor (240) (e.g., session management module (325) of FIG. 3) may open a previously stored session related to the first topic (e.g., weather), as illustrated in reference numeral <750>. The processor (240) (e.g., the session management module (325)) may display on the display (230) as a second user interface (751) a session related to an open first topic (e.g., weather), history information (755, 757) related to a first topic (e.g., weather), a first user query (761) related to the first topic (e.g., weather) (e.g., “How is the weather today?”) (e.g., the first user query (761) corresponding to the selected answer (715)), and a first answer (715) corresponding to the first user query (761) (e.g., “How is the weather today?”) (e.g., the selected answer (715)) may be included. In one embodiment, the history information (755, 757) related to the first topic (e.g., weather) may include at least one user query (755) previously entered by a user related to the first topic (e.g., weather) and at least one answer (757) related to the at least one user query (755).

도 8은, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.FIG. 8 is a diagram illustrating a method for providing a user interface for a user query including multiple topics according to one embodiment of the present disclosure.

도 8을 참조하면, 참조번호 <810>에 도시된 바와 같이, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))는 사용자 쿼리(811)(예: “Show me the information of BTS performance in Busan on September 11th and make reservations for the KTX to the Busan in the morning of the 11th.”)를 수신할 수 있다. 수신된 사용자 쿼리(811)는 디스플레이(예: 도 2의 디스플레이(230))에 표시될 수 있다.Referring to FIG. 8, as illustrated in reference numeral <810>, a processor (e.g., processor (240) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1) may receive a user query (811) (e.g., “Show me the information of BTS performance in Busan on September 11th and make reservations for the KTX to the Busan in the morning of the 11th.”). The received user query (811) may be displayed on a display (e.g., display (230) of FIG. 2).

일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 수신된 사용자 쿼리(811)의 의도를 확인하고, 확인된 사용자 쿼리(811)의 의도에 기반하여, 사용자 쿼리(811)의 주제를 결정할 수 있다. 일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 사용자 쿼리(811)가 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 주제 분류 모듈(310))는 수신된 사용자 쿼리(811)에 기반하여, 사용자 쿼리(811)가 복수의 주제들, 예를 들어, 제1 주제(예: 공연/전시) 및 제2 주제(예: 교통/예약)를 포함하는 것으로 결정할 수 있다. 프로세서(240)(예: 도 3의 프롬프트 생성 모듈(330))는 사용자 쿼리(713)가 복수의 주제들을 포함하는 경우, 주제 별로 프롬프트를 생성할 수 있다. 예를 들어, 프로세서(240)(예: 프롬프트 생성 모듈(330))는 사용자 쿼리(811)의 제1 사용자 쿼리(예: “Show me the information of BTS performance in Busan on September 11th”)에 대응하는 제1 답변을 획득하기 위한 제1 프롬프트 및 제2 사용자 쿼리(예: “make reservations for the KTX to the Busan in the morning of the 11th”)에 대응하는 제2 답변을 획득하기 위한 제2 프롬프트를 생성할 수 있다. 프로세서(240)(예: 생성형 모델(335))는 제1 프롬프트 및 제2 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 제1 주제(예: 공연/전시)와 관련된 제1 사용자 쿼리(예: “Show me the information of BTS performance in Busan on September 11th”)에 대응하는 제1 답변 및 제2 주제(예: 교통/예약)와 관련된 제2 사용자 쿼리(예: “make reservations for the KTX to the Busan in the morning of the 11th”)에 대응하는 제2 답변으로 생성할 수 있다.In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify the intent of the received user query (811) and determine the topic of the user query (811) based on the verified intent of the user query (811). In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify whether the user query (811) includes multiple topics. For example, the processor (240) (e.g., the topic classification module (310)) can determine, based on the received user query (811), that the user query (811) includes multiple topics, for example, a first topic (e.g., performance/exhibition) and a second topic (e.g., transportation/reservation). The processor (240) (e.g., the prompt generation module (330) of FIG. 3) can generate a prompt for each topic when the user query (713) includes multiple topics. For example, the processor (240) (e.g., the prompt generation module (330)) may generate a first prompt to obtain a first answer corresponding to a first user query (e.g., “Show me the information of BTS performance in Busan on September 11th”) of the user query (811) and a second prompt to obtain a second answer corresponding to a second user query (e.g., “make reservations for the KTX to the Busan in the morning of the 11th”). The processor (240) (e.g., the generative model (335)) may retrieve the first prompt and the second prompt from the electronic device (101) and/or a server (e.g., the server (108) of FIG. 1), and generate the retrieved search results as a first answer corresponding to a first user query (e.g., “Show me the information of BTS performance in Busan on September 11th”) related to a first topic (e.g., performance/exhibition) and a second answer corresponding to a second user query (e.g., “make reservations for the KTX to the Busan in the morning of the 11th”) related to a second topic (e.g., transportation/reservation).

일 실시예에서, 프로세서(240)(예: 도 3의 실행 모듈(340))는, 참조번호 <830>에 도시된 바와 같이, 제1 주제(예: 공연/전시)와 관련된 제1 사용자 쿼리(예: “Show me the information of BTS performance in Busan on September 11th”)에 대응하는 제1 답변(831) 및 제2 주제(예: 교통/예약)와 관련된 제2 사용자 쿼리(예: “make reservations for the KTX to the Busan in the morning of the 11th”)에 대응하는 제2 답변(833)을 디스플레이(230)에 표시할 수 있다.In one embodiment, the processor (240) (e.g., the execution module (340) of FIG. 3) may display, on the display (230), a first answer (831) corresponding to a first user query (e.g., “Show me the information of BTS performance in Busan on September 11th”) related to a first topic (e.g., performance/exhibition) and a second answer (833) corresponding to a second user query (e.g., “make reservations for the KTX to the Busan in the morning of the 11th”) related to a second topic (e.g., transportation/reservation), as illustrated in reference numeral <830>.

일 실시예에서, 제1 주제(예: 공연/전시)와 관련된 제1 사용자 쿼리(예: “Show me the information of BTS performance in Busan on September 11th”)에 대응하는 제1 답변(831)과 제2 주제(예: 교통/예약)와 관련된 제2 사용자 쿼리(예: “make reservations for the KTX to the Busan in the morning of the 11th”)에 대응하는 제2 답변(833)은 적어도 일부 중첩되게 디스플레이(230)에 표시될 수 있다.In one embodiment, a first answer (831) corresponding to a first user query (e.g., “Show me the information of BTS performance in Busan on September 11th”) related to a first topic (e.g., performance/exhibition) and a second answer (833) corresponding to a second user query (e.g., “make reservations for the KTX to the Busan in the morning of the 11th”) related to a second topic (e.g., transportation/reservation) may be displayed on the display (230) at least partially overlapping.

일 실시예에서, 제1 답변(831)과 제2 답변(833)은 지정된 우선순위에 기반하여 디스플레이(230)에 표시될 수 있다. 예를 들어, 프로세서(240)는 추가 동작(또는 다음 동작)이 요구되는 답변을 우선적으로 디스플레이(230)에 표시할 수 있다. 예를 들어, 제1 주제(예: 공연/전시)와 제2 주제(예: 교통/예약) 중 추가 동작인 예약하는 동작이 요구되는 제2 주제(예: 교통/예약)와 관련된 제2 사용자 쿼리(예: “make reservations for the KTX to the Busan in the morning of the 11th”)에 대응하는 제2 답변(833)을 제1 답변(831)보다 우선적으로 디스플레이(230)에 표시(예: 제1 답변(831)보다 상위 레이어에 제2 답변(833)을 표시)할 수 있다.In one embodiment, the first answer (831) and the second answer (833) may be displayed on the display (230) based on a specified priority. For example, the processor (240) may preferentially display an answer requiring an additional action (or a next action) on the display (230). For example, among a first topic (e.g., performance/exhibition) and a second topic (e.g., transportation/reservation), the second answer (833) corresponding to a second user query (e.g., “make reservations for the KTX to the Busan in the morning of the 11th”) related to the second topic (e.g., transportation/reservation) requiring an additional action of making a reservation may be preferentially displayed on the display (230) over the first answer (831) (e.g., the second answer (833) may be displayed in a higher layer than the first answer (831).

일 실시예에서, 제1 답변(831) 및 제2 답변(833)을 표시한 후, 지정된 시간 내 우선적으로 표시된 답변(예: 제2 답변(833))이 아닌 다른 답변(예: 제1 답변(831))을 선택하는 입력이 검출되면, 프로세서(240)는 선택된 답변(예: 제1 답변(831))과 관련된 주제를 메모리(220)에 저장하고, 이 후에 유사 또는 동일한 주제와 관련된 사용자 발화가 수신되면, 선택된 답변(예: 제1 답변(831))을 다른 답변보다 우선적으로 디스플레이(230)에 표시되도록 할 수 있다.In one embodiment, after displaying the first answer (831) and the second answer (833), if an input is detected to select another answer (e.g., the first answer (831)) rather than the answer that has been preferentially displayed (e.g., the second answer (833)) within a specified time, the processor (240) may store a topic related to the selected answer (e.g., the first answer (831)) in the memory (220), and when a user utterance related to a similar or identical topic is received thereafter, the selected answer (e.g., the first answer (831)) may be displayed on the display (230) with preference over the other answers.

일 실시예에서, 프로세서(240)(예: 도 3의 대화 주제 관리 모듈(320))는 제1 답변(831) 및 제2 답변(833) 중 제1 답변(831)을 선택하는 사용자 입력(835)이 검출되면, 선택된 제1 답변(831)과 관련된 제1 주제(예: 공연/전시)에 대응하는 히스토리 정보가 메모리(예: 도 2의 메모리(220))(예: 도 3의 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 대화 주제 관리 모듈(320))는 딥 러닝 모델에 기반하여, 선택된 제1 답변(831)과 관련된 제1 주제(예: 공연/전시)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다.In one embodiment, when a user input (835) for selecting a first answer (831) among the first answer (831) and the second answer (833) is detected, the processor (240) (e.g., the conversation topic management module (320) of FIG. 3) may check whether history information corresponding to a first topic (e.g., a performance/exhibition) related to the selected first answer (831) is stored in a memory (e.g., the memory (220) of FIG. 2) (e.g., the conversation history database (350) of FIG. 3). For example, the processor (240) (e.g., the conversation topic management module (320)) may check whether history information corresponding to a first topic (e.g., a performance/exhibition) related to the selected first answer (831) is stored in the memory (220) (e.g., the conversation history database (350)) based on a deep learning model.

일 실시예에서, 선택된 제1 답변(831)과 관련된 제1 주제(예: 공연/전시)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우, 참조번호 <850>에 도시된 바와 같이, 프로세서(240)(예: 도 3의 세션 관리 모듈(325))는 제1 주제(예: 공연/전시)와 관련된 기 저장된 세션을 오픈할 수 있다. 프로세서(240)(예: 세션 관리 모듈(325))는 오픈된 제1 주제(예: 공연/전시)와 관련된 세션에 제1 주제(예: 공연/전시)와 관련된 히스토리 정보(851, 853), 선택된 제1 답변(831)에 대응하는 제1 사용자 쿼리(857)(예: “Show me the information of BTS performance in Busan on September 11th”), 및 선택된 제1 답변(831)을 표시할 수 있다. 일 실시예에서, 제1 주제(예: 공연/전시)와 관련된 히스토리 정보(851, 853)는, 제1 주제(예: 공연/전시)와 관련되어 이전에 사용자에 의해 입력된 적어도 하나의 사용자 쿼리(851) 및 적어도 하나의 사용자 쿼리(851)와 관련된 적어도 하나의 답변(853)을 포함할 수 있다.In one embodiment, if history information corresponding to a first topic (e.g., performance/exhibition) related to a selected first answer (831) is stored in the memory (220) (e.g., conversation history database (350)), as illustrated in reference numeral <850>, the processor (240) (e.g., session management module (325) of FIG. 3) may open a pre-stored session related to the first topic (e.g., performance/exhibition). The processor (240) (e.g., session management module (325)) may display, in the opened session related to the first topic (e.g., performance/exhibition), history information (851, 853) related to the first topic (e.g., performance/exhibition), a first user query (857) corresponding to the selected first answer (831) (e.g., “Show me the information of BTS performance in Busan on September 11th”), and the selected first answer (831). In one embodiment, the history information (851, 853) related to the first topic (e.g., performance/exhibition) may include at least one user query (851) previously entered by a user related to the first topic (e.g., performance/exhibition) and at least one answer (853) related to the at least one user query (851).

다른 실시예에서, 프로세서(240)(예: 도 3의 대화 주제 관리 모듈(320))는 제1 답변(831) 및 제2 답변(833) 중 제2 답변(833)을 선택하는 사용자 입력(837)이 검출되면, 선택된 제2 답변(833)과 관련된 제2 주제(예: 교통/예약)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 대화 주제 관리 모듈(320))는 딥 러닝 모델에 기반하여, 선택된 제2 답변(833)과 관련된 제2 주제(예: 교통/예약)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는지 여부를 확인할 수 있다. 선택된 제2 답변(833)과 관련된 제2 주제(예: 교통/예약)에 대응하는 히스토리 정보가 메모리(220)(예: 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우, 참조번호 <870>에 도시된 바와 같이, 프로세서(240)(예: 세션 관리 모듈(325))는 제2 주제(예: 교통/예약)와 관련된 기 저장된 세션을 오픈할 수 있다. 프로세서(240)(예: 세션 관리 모듈(325))는 오픈된 제2 주제(예: 교통/예약)와 관련된 세션에 제2 주제(예: 교통/예약)와 관련된 히스토리 정보(871), 선택된 제2 답변(833)에 대응하는 제2 사용자 쿼리(873)(예: “make reservations for the KTX to the Busan in the morning of the 11th”), 및 선택된 제2 답변(833)을 표시할 수 있다. 일 실시예에서, 제2 주제(예: 교통/예약)와 관련된 히스토리 정보(871)는, 제2 주제(예: 교통/예약)와 관련되어 이전에 사용자에 의해 입력된 적어도 하나의 사용자 쿼리 및 적어도 하나의 사용자 쿼리와 관련된 적어도 하나의 답변을 포함할 수 있다.In another embodiment, when a user input (837) for selecting a second answer (833) among the first answer (831) and the second answer (833) is detected, the processor (240) (e.g., the conversation topic management module (320) of FIG. 3) may check whether history information corresponding to a second topic (e.g., transportation/reservation) related to the selected second answer (833) is stored in the memory (220) (e.g., the conversation history database (350)). For example, the processor (240) (e.g., the conversation topic management module (320)) may check whether history information corresponding to a second topic (e.g., transportation/reservation) related to the selected second answer (833) is stored in the memory (220) (e.g., the conversation history database (350)) based on a deep learning model. If history information corresponding to a second topic (e.g., transportation/reservation) related to a selected second answer (833) is stored in the memory (220) (e.g., conversation history database (350)), as illustrated in reference numeral <870>, the processor (240) (e.g., session management module (325)) may open a pre-stored session related to the second topic (e.g., transportation/reservation). The processor (240) (e.g., session management module (325)) may display, in the opened session related to the second topic (e.g., transportation/reservation), the history information (871) related to the second topic (e.g., transportation/reservation), a second user query (873) corresponding to the selected second answer (833) (e.g., “make reservations for the KTX to the Busan in the morning of the 11th”), and the selected second answer (833). In one embodiment, the history information (871) related to the second topic (e.g., transportation/reservation) may include at least one user query previously entered by a user related to the second topic (e.g., transportation/reservation) and at least one answer related to the at least one user query.

다양한 실시예들에 따른 전술한 도 7 및 도 8에서 제1 답변과 제2 답변이 적어도 일부 중첩되게 디스플레이(230)에 표시되는 것으로 설명하였으나, 이에 한정하는 것은 아니다. 예를 들어, 프로세서(240)는 디스플레이(230)의 제1 영역에 제1 답변을 표시하고, 디스플레이(230)의 제2 영역에 제2 답변을 표시할 수도 있다. 이와 관련하여, 후술하는 도 9에서 다양한 실시예들이 설명될 것이다.Although the first answer and the second answer are described as being displayed on the display (230) with at least a portion of overlap in the aforementioned FIGS. 7 and 8 according to various embodiments, the present invention is not limited thereto. For example, the processor (240) may display the first answer on the first area of the display (230) and the second answer on the second area of the display (230). In this regard, various embodiments will be described in FIG. 9 described below.

도 9는, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.FIG. 9 is a diagram illustrating a method for providing a user interface for a user query including multiple topics according to one embodiment of the present disclosure.

도 9를 참조하면, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))는 사용자 쿼리(913)(예: “How is the weather today? Is there a restaurant near here that I can have quick lunch?”)를 수신할 수 있다. 사용자 쿼리(913)는 마이크(예: 도 1의 입력 모듈(150))를 통해 수신되는 음성 데이터(예: 사용자 발화) 또는 키패드를 통해 수신되는 텍스트 데이터를 포함할 수 있다. 예를 들어, 프로세서(240)는 음성 데이터(예: 사용자 발화)를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터를 디스플레이(예: 도 2의 디스플레이(230))에 표시할 수 있다. 다른 예를 들어, 프로세서(240)는 키패드를 통해 입력되는 텍스트 데이터를 디스플레이(230)에 표시할 수 있다.Referring to FIG. 9, a processor (e.g., processor (240) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1) may receive a user query (913) (e.g., “How is the weather today? Is there a restaurant near here that I can have quick lunch?”). The user query (913) may include voice data (e.g., user utterance) received via a microphone (e.g., input module (150) of FIG. 1) or text data received via a keypad. For example, the processor (240) may convert the voice data (e.g., user utterance) into text data and display the converted text data on a display (e.g., display (230) of FIG. 2). As another example, the processor (240) may display text data input via the keypad on the display (230).

일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 수신된 사용자 쿼리(913)의 의도를 확인하고, 확인된 사용자 쿼리(913)의 의도에 기반하여, 사용자 쿼리(913)의 주제를 결정할 수 있다. 일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 사용자 쿼리(811)가 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 주제 분류 모듈(310))는 수신된 사용자 쿼리(913)에 기반하여, 사용자 쿼리(913)가 복수의 주제들, 예를 들어, 제1 주제(예: 날씨) 및 제2 주제(예: 식당)를 포함하는 것으로 결정할 수 있다. 프로세서(240)(예: 도 3의 프롬프트 생성 모듈(330))는 사용자 쿼리(913)가 복수의 주제들을 포함하는 경우, 주제 별로 프롬프트를 생성할 수 있다. 예를 들어, 프로세서(240)(예: 프롬프트 생성 모듈(330))는 사용자 쿼리(913)의 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(917)을 획득하기 위한 제1 프롬프트 및 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(915)을 획득하기 위한 제2 프롬프트를 생성할 수 있다. 프로세서(240)(예: 도 3의 생성형 모델(335))는 제1 프롬프트 및 제2 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 사용자 쿼리(913)의 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(917) 및 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(915)으로 생성할 수 있다.In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify the intent of the received user query (913) and determine the topic of the user query (913) based on the verified intent of the user query (913). In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify whether the user query (811) includes multiple topics. For example, the processor (240) (e.g., the topic classification module (310)) can determine, based on the received user query (913), that the user query (913) includes multiple topics, for example, a first topic (e.g., weather) and a second topic (e.g., restaurant). The processor (240) (e.g., the prompt generation module (330) of FIG. 3) can generate a prompt for each topic if the user query (913) includes multiple topics. For example, the processor (240) (e.g., the prompt generation module (330)) can generate a first prompt to obtain a first answer (917) corresponding to a first user query (e.g., “How is the weather today?”) of the user query (913) and a second prompt to obtain a second answer (915) corresponding to a second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”). A processor (240) (e.g., generative model (335) of FIG. 3) may retrieve the first prompt and the second prompt from an electronic device (101) and/or a server (e.g., server (108) of FIG. 1), and generate the retrieved search results as a first answer (917) corresponding to a first user query (e.g., “How is the weather today?”) related to a first topic (e.g., weather) of a user query (913) and a second answer (915) corresponding to a second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to a second topic (e.g., restaurants).

일 실시예에서, 디스플레이(230)의 크기가 지정된 크기를 초과하거나, 또는 멀티윈도우를 지원하는 경우, 프로세서(240)는 디스플레이(230)를 복수의 영역들로 분할할 수 있다. 예를 들어, 프로세서(240)(예: 도 3의 실행 모듈(340))는, 사용자 쿼리(913)의 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(917)을 포함하는 제1 사용자 인터페이스(910)를 디스플레이(230)의 제1 영역에 표시하고, 사용자 쿼리(913)의 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)의 제2 답변(915)을 포함하는 제2 사용자 인터페이스(920)를 디스플레이(230)의 제2 영역에 표시할 수 있다.In one embodiment, when the size of the display (230) exceeds a specified size or supports multi-window, the processor (240) may divide the display (230) into a plurality of regions. For example, the processor (240) (e.g., the execution module (340) of FIG. 3 ) may display a first user interface (910) including a first answer (917) corresponding to a first user query (e.g., “How is the weather today?”) related to a first subject (e.g., weather) of the user query (913) in a first region of the display (230), and may display a second user interface (920) including a second answer (915) corresponding to a second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to a second subject (e.g., restaurant) of the user query (913) in a second region of the display (230).

일 실시예에서, 제1 답변(917)과 제2 답변(915)은 지정된 우선순위에 기반하여 디스플레이(230)에 표시될 수 있다. 예를 들어, 프로세서(240)는 추가 동작(또는 다음 동작)이 요구되는 답변을 디스플레이(230)의 분할된 복수의 영역들 상단 영역(또는 하단 영역) 또는 좌측 영역(또는 우측 영역)에 표시할 수 있다. 하지만 이에 한정하는 것은 아니다. 예를 들어, 제1 답변(917)과 제2 답변(915)을 표시한 후, 지정된 시간 내 디스플레이(230)의 분할된 복수의 영역들 상단 영역(또는 하단 영역) 또는 좌측 영역(또는 우측 영역)에 표시된 답변이 아닌 다른 답변(예: 디스플레이(230)의 분할된 복수의 영역들 하단 영역(또는 상단 영역) 또는 우측 영역(또는 좌측 영역)에 표시된 답변)을 선택하는 입력이 검출되면, 프로세서(240)는 선택된 답변과 관련된 주제를 메모리(220)에 저장하고, 이 후에 유사 또는 동일한 주제와 관련된 사용자 발화가 수신되면, 선택된 답변을 디스플레이(230)의 분할된 복수의 영역들 상단 영역(또는 하단 영역) 또는 좌측 영역(또는 우측 영역)에 표시할 수 있다.In one embodiment, the first answer (917) and the second answer (915) may be displayed on the display (230) based on a specified priority. For example, the processor (240) may display an answer requiring additional action (or a next action) in the upper area (or lower area) or the left area (or right area) of the multiple divided areas of the display (230), but is not limited thereto. For example, after displaying the first answer (917) and the second answer (915), if an input is detected to select an answer other than the answer displayed in the upper region (or lower region) or the left region (or right region) of the divided plurality of regions of the display (230) within a specified time (e.g., an answer displayed in the lower region (or upper region) or the right region (or left region) of the divided plurality of regions of the display (230), the processor (240) may store a topic related to the selected answer in the memory (220), and if a user utterance related to a similar or identical topic is received thereafter, the processor may display the selected answer in the upper region (or lower region) or the left region (or right region) of the divided plurality of regions of the display (230).

다양한 실시예들에 따른 도 7 내지 도 9에서, 복수의 주제들을 포함하는 사용자 쿼리에 대응하는 복수의 답변들을 주제 별로 표시하는 것으로 설명하였으나, 이에 한정하는 것은 아니다. 예를 들어, 프로세서(240)는 복수의 주제들을 포함하는 사용자 쿼리에 대응하는 복수의 답변들을 하나의 사용자 인터페이스를 통해 제공할 수도 있다. 이와 관련하여, 후술하는 도 10 및 도 11에서 다양한 실시예들이 설명될 것이다.In FIGS. 7 to 9 according to various embodiments, multiple answers corresponding to a user query including multiple topics are described as being displayed by topic, but the present invention is not limited thereto. For example, the processor (240) may provide multiple answers corresponding to a user query including multiple topics through a single user interface. In this regard, various embodiments will be described in FIGS. 10 and 11 described below.

다양한 실시예들에 따른 전술한 도 4 내지 도 9에서 살펴본 바와 같이, 프로세서(240)는 입력되는 사용자 쿼리의 주제와 관련된 히스토리 정보가 존재하는 경우, 히스토리 정보를 포함하는 사용자 인터페이스에 입력된 사용자 쿼리 및 사용자 쿼리에 대응하는 답변을 함께 표시할 수 있다. 이에 따라, 사용자는 동일한 주제에 대한 사용자 쿼리를 동일한 사용자 인터페이스를 통해 볼 수 있어, 동일한 주제에 대한 사용자 쿼리의 히스토리 정보를 직관적으로 확인할 수 있다.As described above with reference to FIGS. 4 to 9 according to various embodiments, if there is history information related to the subject of an input user query, the processor (240) can display the input user query and the answer corresponding to the user query together in a user interface including the history information. Accordingly, the user can view the user query on the same subject through the same user interface, and can intuitively check the history information of the user query on the same subject.

도 10은, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 흐름도이다.FIG. 10 is a flowchart illustrating a method for providing a user interface for a user query including multiple topics, according to one embodiment of the present disclosure.

일 실시예에 따르면, 도 10의 1005동작 및 1010동작은 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다.According to one embodiment, operations 1005 and 1010 of FIG. 10 may be understood to be performed in a processor (e.g., processor (240) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1).

다양한 실시예들에 따른 도 10은, 전술한 도 4의 415동작 또는 도 5a의 515동작의 추가적인 동작일 수 있다.FIG. 10 according to various embodiments may be an additional operation of operation 415 of FIG. 4 or operation 515 of FIG. 5a described above.

도 10을 참조하면, 프로세서(240)는 1005동작에서, 제1 답변 및 제2 답변을 표시한 상태에서, 복수의 주제들과 관련된 사용자 쿼리를 포함하는 제5 사용자 인터페이스를 표시하기 위한 제2 사용자 입력을 검출할 수 있다. 일 실시예에서, 상기 복수의 주제들은 상이한 주제일 수 있다. 예를 들어, 사용자 쿼리가 상이한 복수의 주제들을 포함하고, 복수의 주제들 중 하나의 주제와 관련된 히스토리 정보가 메모리(예: 도 2의 메모리(220))(예: 도 3의 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우라도, 사용자는 하나의 사용자 인터페이스를 통해 상이한 복수의 주제들과 관련된 사용자 쿼리 및 사용자 쿼리에 대응하는 복수의 답변들을 표시하기 원할 수 있다. 제2 사용자 입력은, 사용자 쿼리가 복수의 주제들을 포함하는 경우에도, 하나의 사용자 인터페이스를 통해 사용자 쿼리 및 사용자 쿼리에 대응하는 복수의 답변들을 표시하기 위한 입력을 포함할 수 있다.Referring to FIG. 10, the processor (240) may detect a second user input for displaying a fifth user interface including a user query related to a plurality of topics, in operation 1005, while displaying the first answer and the second answer. In one embodiment, the plurality of topics may be different topics. For example, even if a user query includes a plurality of different topics, and history information related to one of the plurality of topics is stored in a memory (e.g., the memory (220) of FIG. 2) (e.g., the conversation history database (350) of FIG. 3), the user may want to display the user query related to the plurality of different topics and the plurality of answers corresponding to the user query through one user interface. The second user input may include an input for displaying the user query and the plurality of answers corresponding to the user query through one user interface, even if the user query includes a plurality of topics.

일 실시예에서, 프로세서(240)는 1010동작에서, 사용자 쿼리, 제1 답변, 및 제2 답변을 포함하는 제5 사용자 인터페이스를 디스플레이(230)에 표시할 수 있다. 제2 사용자 입력이 검출되는 것에 기반하여, 사용자 쿼리, 제1 답변, 및 제2 답변을 포함하는 제5 사용자 인터페이스를 표시함에 따라, 사용자는 입력한 사용자 쿼리에 대응하는 복수의 답변들을 하나의 사용자 인터페이스(예: 제5 사용자 인터페이스)를 통해 볼 수 있다.In one embodiment, the processor (240) may, in operation 1010, display a fifth user interface including a user query, a first answer, and a second answer on the display (230). Based on the detection of a second user input, by displaying the fifth user interface including the user query, the first answer, and the second answer, the user may view multiple answers corresponding to the input user query through a single user interface (e.g., the fifth user interface).

도 11은, 본 개시의 일 실시예에 따른, 복수의 주제들을 포함하는 사용자 쿼리에 대한 사용자 인터페이스를 제공하는 방법을 설명하기 위한 도면이다.FIG. 11 is a diagram illustrating a method for providing a user interface for a user query including multiple topics according to one embodiment of the present disclosure.

도 11을 참조하면, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))는, 참조번호 <1110>에 도시된 바와 같이, 사용자 쿼리(1113)(예: “How is the weather today? Is there a restaurant near here that I can have quick lunch?”)를 수신할 수 있다. 사용자 쿼리(1113)는 마이크(예: 도 1의 입력 모듈(150))를 통해 수신되는 음성 데이터(예: 사용자 발화) 또는 키패드를 통해 수신되는 텍스트 데이터를 포함할 수 있다. 예를 들어, 프로세서(240)는 음성 데이터(예: 사용자 발화)를 텍스트 데이터로 변환하고, 변환된 텍스트 데이터를 디스플레이(예: 도 2의 디스플레이(230))에 표시할 수 있다. 다른 예를 들어, 프로세서(240)는 키패드를 통해 입력되는 텍스트 데이터를 디스플레이(230)에 표시할 수 있다.Referring to FIG. 11, a processor (e.g., a processor (240) of FIG. 2) of an electronic device (e.g., an electronic device (101) of FIG. 1) may receive a user query (1113) (e.g., “How is the weather today? Is there a restaurant near here that I can have quick lunch?”) as illustrated in reference numeral <1110>. The user query (1113) may include voice data (e.g., a user utterance) received via a microphone (e.g., an input module (150) of FIG. 1) or text data received via a keypad. For example, the processor (240) may convert the voice data (e.g., the user utterance) into text data and display the converted text data on a display (e.g., a display (230) of FIG. 2). As another example, the processor (240) may display text data input via a keypad on the display (230).

일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 수신된 사용자 쿼리(1113)의 의도를 확인하고, 확인된 사용자 쿼리(1113)의 의도에 기반하여, 사용자 쿼리(1113)의 주제를 결정할 수 있다. 일 실시예에서, 프로세서(240)(예: 도 3의 주제 분류 모듈(310))는 사용자 쿼리(1113)가 복수의 주제들을 포함하는지 여부를 확인할 수 있다. 예를 들어, 프로세서(240)(예: 주제 분류 모듈(310))는 수신된 사용자 쿼리(1113)에 기반하여, 사용자 쿼리(1113)가 복수의 주제들, 예를 들어, 제1 주제(예: 날씨) 및 제2 주제(예: 식당)를 포함하는 것으로 결정할 수 있다. 프로세서(240)(예: 도 3의 프롬프트 생성 모듈(330))는 사용자 쿼리(1113)가 복수의 주제들을 포함하는 경우, 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(1115)을 획득하기 위한 제1 프롬프트 및 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(1117)을 획득하기 위한 제2 프롬프트를 생성할 수 있다. 프로세서(240)(예: 도 3의 생성형 모델(335))는 제1 프롬프트 및 제2 프롬프트를 전자 장치(101) 및/또는 서버(예: 도 1의 서버(108))에서 검색하고, 검색된 검색 결과를 사용자 쿼리(1113)의 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(1115) 및 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(1117)으로 생성할 수 있다.In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify the intent of the received user query (1113) and determine the topic of the user query (1113) based on the verified intent of the user query (1113). In one embodiment, the processor (240) (e.g., the topic classification module (310) of FIG. 3) can verify whether the user query (1113) includes multiple topics. For example, the processor (240) (e.g., the topic classification module (310)) can determine, based on the received user query (1113), that the user query (1113) includes multiple topics, for example, a first topic (e.g., weather) and a second topic (e.g., restaurant). The processor (240) (e.g., the prompt generation module (330) of FIG. 3) may generate a first prompt to obtain a first answer (1115) corresponding to a first user query (e.g., “How is the weather today?”) and a second prompt to obtain a second answer (1117) corresponding to a second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) when the user query (1113) includes multiple topics. A processor (240) (e.g., generative model (335) of FIG. 3) may retrieve the first prompt and the second prompt from an electronic device (101) and/or a server (e.g., server (108) of FIG. 1), and generate the retrieved search results as a first answer (1115) corresponding to a first user query (e.g., “How is the weather today?”) related to a first topic (e.g., weather) of a user query (1113) and a second answer (1117) corresponding to a second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to a second topic (e.g., restaurants).

일 실시예에서, 프로세서(240)(예: 도 3의 실행 모듈(340))는 사용자 쿼리(1113), 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(1115), 및 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(1117)을 포함하는 사용자 인터페이스(1111)를 디스플레이(230)에 표시할 수 있다. 일 실시예에서, 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(1115)과 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(1117)은 적어도 일부 중첩되게 디스플레이(230)에 표시될 수 있다.In one embodiment, the processor (240) (e.g., the execution module (340) of FIG. 3 ) may display a user interface (1111) on the display (230) that includes a user query (1113), a first answer (1115) corresponding to the first user query (e.g., “How is the weather today?”) related to a first topic (e.g., weather), and a second answer (1117) corresponding to the second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to a second topic (e.g., restaurants). In one embodiment, the first answer (1115) corresponding to the first user query (e.g., “How is the weather today?”) related to the first topic (e.g., weather) and the second answer (1117) corresponding to the second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to the second topic (e.g., restaurants) may be displayed on the display (230) at least partially overlapping.

일 실시예에서, 프로세서(240)는 복수의 주제들과 관련된 사용자 쿼리(1113)를 포함하는 사용자 인터페이스를 표시하기 위한 사용자 입력(1121)을 검출할 수 있다. 예를 들어, 복수의 주제들과 관련된 사용자 쿼리(1113)를 포함하는 사용자 인터페이스를 표시하기 위한 사용자 입력(1121)은, 사용자 쿼리가 상이한 복수의 주제들을 포함하고, 복수의 주제들 중 하나의 주제와 관련된 히스토리 정보가 메모리(예: 도 2의 메모리(220))(예: 도 3의 대화 히스토리 데이터베이스(350))에 저장되어 있는 경우라도, 하나의 사용자 인터페이스를 통해 사용자 쿼리 및 사용자 쿼리에 대응하는 복수의 답변들을 표시하기 위한 입력을 포함할 수 있다. 예를 들어, 사용자 입력(1121)은, 하나의 사용자 인터페이스를 통해 사용자 쿼리에 대응하는 답변들을 표시하기 위한 인디케이터(1119)(또는 오브젝트, 아이템, 버튼)(예: view in one window)를 선택하는 입력을 포함할 수 있다.In one embodiment, the processor (240) may detect a user input (1121) for displaying a user interface including a user query (1113) related to multiple topics. For example, the user input (1121) for displaying a user interface including a user query (1113) related to multiple topics may include an input for displaying the user query and multiple answers corresponding to the user query through one user interface, even if the user query includes multiple different topics and history information related to one of the multiple topics is stored in a memory (e.g., the memory (220) of FIG. 2) (e.g., the conversation history database (350) of FIG. 3). For example, the user input (1121) may include an input for selecting an indicator (1119) (or an object, an item, a button) (e.g., view in one window) for displaying answers corresponding to the user query through one user interface.

일 실시예에서, 사용자 입력(1121)이 검출되는 것에 기반하여, 프로세서(240)는 사용자 쿼리(1113), 제1 답변(1115), 및 제2 답변(1117)을 포함하는 사용자 인터페이스(1151)를 디스플레이(230)에 표시할 수 있다. 이 경우, 프로세서(240)는 입력된 사용자 쿼리의 순서, 예를 들어, 제1 사용자 쿼리 및 제2 사용자 쿼리 순서에 대응하도록 제1 답변(1115) 및 제2 답변(1117)을 표시할 수 있다. 예를 들어, 프로세서(240)는 제1 주제(예: 날씨)와 관련된 제1 사용자 쿼리(예: “How is the weather today?”)에 대응하는 제1 답변(1115)을 표시한 후, 제2 주제(예: 식당)와 관련된 제2 사용자 쿼리(예: “Is there a restaurant near here that I can have quick lunch?”)에 대응하는 제2 답변(1117)을 표시할 수 있다. 하지만 이에 한정하는 것은 아니다.In one embodiment, based on the detection of a user input (1121), the processor (240) may display a user interface (1151) on the display (230) that includes a user query (1113), a first answer (1115), and a second answer (1117). In this case, the processor (240) may display the first answer (1115) and the second answer (1117) corresponding to the order of the input user queries, for example, the order of the first user query and the second user query. For example, the processor (240) may display the first answer (1115) corresponding to the first user query (e.g., “How is the weather today?”) related to a first topic (e.g., weather), and then display the second answer (1117) corresponding to the second user query (e.g., “Is there a restaurant near here that I can have quick lunch?”) related to a second topic (e.g., restaurants). However, the present invention is not limited thereto.

도 12는, 본 개시의 일 실시예에 따른, 복수의 사용자 인터페이스들의 리스트를 표시하는 방법을 설명하기 위한 흐름도이다.FIG. 12 is a flowchart illustrating a method of displaying a list of multiple user interfaces according to one embodiment of the present disclosure.

일 실시예에 따르면, 도 12의 1205동작 및 1210동작은 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))에서 수행되는 것으로 이해될 수 있다.According to one embodiment, operations 1205 and 1210 of FIG. 12 may be understood to be performed in a processor (e.g., processor (240) of FIG. 2) of an electronic device (e.g., electronic device (101) of FIG. 1).

도 12를 참조하면, 프로세서(240)는 1205동작에서, 제3 사용자 입력이 검출되는 것에 기반하여, 복수의 사용자 인터페이스들의 리스트를 디스플레이(예: 도 2의 디스플레이(230))에 표시할 수 있다. 복수의 사용자 인터페이스들은 주제와 관련될 수 있다. 이에 한정하는 것은 아니며, 복수의 사용자 인터페이스들은 적어도 하나의 사용자 쿼리가 수신된 특정 시점과 관련될 수도 있다. 프로세서(240)는 1210동작에서, 복수의 사용자 인터페이스들의 리스트의 표시 모드를 변경하기 위한 제4 사용자 입력이 검출되는 것에 기반하여, 변경된 표시 모드로 사용자 인터페이스들의 리스트를 디스플레이(230)에 표시할 수 있다. 예를 들어, 복수의 사용자 인터페이스들의 리스트의 표시 모드는, 주제 기반 표시 모드, 시간 기반 표시 모드, 즐겨찾기 기반 표시 모드를 포함할 수 있다. 하지만 이에 한정하는 것은 아니다.Referring to FIG. 12, the processor (240) may display a list of a plurality of user interfaces on a display (e.g., the display (230) of FIG. 2) based on detecting a third user input at operation 1205. The plurality of user interfaces may be related to a topic. The present invention is not limited thereto, and the plurality of user interfaces may be related to a specific point in time at which at least one user query is received. The processor (240) may display a list of user interfaces in a changed display mode on the display (230) based on detecting a fourth user input for changing a display mode of the list of the plurality of user interfaces at operation 1210. For example, the display mode of the list of the plurality of user interfaces may include a topic-based display mode, a time-based display mode, and a favorite-based display mode. However, the present invention is not limited thereto.

도 13 및 도 14는, 본 개시의 일 실시예에 따른, 복수의 사용자 인터페이스들의 리스트를 표시하는 방법을 설명하기 위한 도면이다.FIGS. 13 and 14 are diagrams illustrating a method of displaying a list of multiple user interfaces according to one embodiment of the present disclosure.

도 13을 참조하면, 전자 장치(예: 도 1의 전자 장치(101))의 프로세서(예: 도 2의 프로세서(240))는 복수의 사용자 인터페이스들의 리스트를 디스플레이(예: 도 2의 디스플레이(230))에 표시할 수 있다. 예를 들어, 프로세서(240)는, 참조번호 <1310>에 도시된 바와 같이, 주제 순으로 복수의 사용자 인터페이스들의 리스트(예: subject A(1321), subject B(1323), subject C(1325), subject D(1327))를 디스플레이(230)에 표시할 수 있다.Referring to FIG. 13, a processor (e.g., a processor (240) of FIG. 2) of an electronic device (e.g., an electronic device (101) of FIG. 1) may display a list of a plurality of user interfaces on a display (e.g., a display (230) of FIG. 2). For example, as illustrated in reference numeral <1310>, the processor (240) may display a list of a plurality of user interfaces (e.g., subject A (1321), subject B (1323), subject C (1325), subject D (1327)) in subject order on the display (230).

일 실시예에서, 프로세서(240)는 복수의 사용자 인터페이스들의 리스트의 표시 모드를 변경하기 위한 사용자 입력을 검출할 수 있다. 복수의 사용자 인터페이스들의 리스트의 표시 모드는, 주제 기반 표시 모드, 시간 기반 표시 모드, 즐겨찾기 기반 표시 모드를 포함할 수 있다. 하지만 이에 한정하는 것은 아니다.In one embodiment, the processor (240) can detect a user input for changing a display mode of a list of multiple user interfaces. The display mode of the list of multiple user interfaces can include, but is not limited to, a topic-based display mode, a time-based display mode, and a favorites-based display mode.

예를 들어, 복수의 사용자 인터페이스들의 리스트의 표시 모드를 주제 기반 표시 모드에서 시간 기반 표시 모드로 변경하기 위한 오브젝트(1331)(또는 아이템, 인디케이터, 버튼)(예: view by timeline)를 선택하는 사용자 입력(1333)이 검출되는 것에 기반하여, 프로세서(240)는 참조번호 <1350>에 도시된 바와 같이 시간 순(또는 날짜 순)으로 복수의 사용자 인터페이스들의 리스트(예: Aug 8th(1361), Aug 19th(1363), Sep 1st(365), Sep 8th(1367))를 디스플레이(230)에 표시할 수 있다.For example, based on detecting a user input (1333) selecting an object (1331) (or an item, an indicator, a button) (e.g., view by timeline) to change the display mode of a list of multiple user interfaces from a subject-based display mode to a time-based display mode, the processor (240) may display a list of multiple user interfaces (e.g., Aug 8th (1361), Aug 19th (1363), Sep 1st (365), Sep 8th (1367)) in chronological order (or date order) on the display (230) as illustrated in reference numeral <1350>.

이에 한정하는 것은 아니며, 프로세서(240)는 복수의 사용자 인터페이스들의 리스트의 표시 모드를 주제 기반 표시 모드에서 즐겨찾기 기반 표시 모드로 변경하기 위한 오브젝트(미도시)를 선택하는 사용자 입력(미도시)이 검출되는 것에 기반하여, 프로세서(240)는, 도 14에 도시된 바와 같이, 즐겨찾기로 설정된 복수의 사용자의 인터페이스들의 리스트(1461)(예: subject A(1421), subject B(1423), subject C(1425))와 즐겨찾기로 설정되지 않은 복수의 사용자 인터페이스들의 리스트(1471)(예: subject D(1427), subject E(1429), subject F(1431))를 구분하여 디스플레이(230)에 표시할 수 있다.Not limited thereto, the processor (240) detects a user input (not shown) for selecting an object (not shown) for changing the display mode of a list of a plurality of user interfaces from a subject-based display mode to a favorites-based display mode, and based on this, the processor (240) may, as illustrated in FIG. 14, display on the display (230) a list (1461) of a plurality of user interfaces set as favorites (e.g., subject A (1421), subject B (1423), subject C (1425)) and a list (1471) of a plurality of user interfaces not set as favorites (e.g., subject D (1427), subject E (1429), subject F (1431)) by distinguishing them.

도 15는, 본 개시의 일 실시예에 따른, 생성형 인공 지능 시스템의 블록도를 도시한 도면이다.FIG. 15 is a block diagram illustrating a generative artificial intelligence system according to one embodiment of the present disclosure.

도 15를 참조하면, 일 실시 예에 따른 생성형 인공 지능 시스템(예: 지능형 서버, 도 1의 서버(108))은 사용자 쿼리/응답 인터페이스(user query/response interface)(1510), 지식 저장소(knowledge repositories)(1520), 어플리케이션 및 서비스 컴포넌트(applications/service component)(1530), AI 프레임워크(AI framework)(1550), 및/또는 생성형 AI 모델(generative AI model)(1570)을 포함할 수 있다.Referring to FIG. 15, a generative artificial intelligence system (e.g., an intelligent server, server (108) of FIG. 1) according to one embodiment may include a user query/response interface (1510), knowledge repositories (1520), applications/service components (1530), an AI framework (1550), and/or a generative AI model (1570).

일 실시예에서, 사용자 쿼리/응답 인터페이스(1510)는 사용자 쿼리를 수신할 수 있다. 사용자 쿼리는, 자연어, 이미지, 및/또는 동영상과 같은 형태일 수 있다. 일 실시예에서, 사용자 쿼리를 전송하는 경우, 컨텍스트(context) 정보를 같이 전송할 수 있다. 컨텍스트 정보는 사용자 쿼리를 수신한 시점의 다양한 부가 정보들을 포함할 수 있다. 예를 들어, 컨텍스트 정보는, 사용자가 현재 사용 중인 어플리케이션 정보 및/또는 사용자 위치 정보를 포함할 수 있다. 일 실시예에서, 사용자 쿼리는, 자연어, 이미지, 소리, 및 컨텍스트 정보가 혼합된 형태도 가능할 수 있다. 이에 한정하는 것은 아니며, 사용자 쿼리는 메뉴를 선택하는 것과 같은 비자연어적인 형태도 가능할 수 있다.In one embodiment, the user query/response interface (1510) can receive a user query. The user query can be in the form of natural language, an image, and/or a video. In one embodiment, when transmitting the user query, context information can be transmitted together. The context information can include various additional information at the time of receiving the user query. For example, the context information can include information about an application currently being used by the user and/or information about the user location. In one embodiment, the user query can also be in the form of a mixture of natural language, an image, a sound, and context information. The user query is not limited thereto, and may also be in a non-natural language form, such as selecting a menu.

일 실시예에서, 사용자 쿼리/응답 인터페이스(1510)는 사용자에게 생성형 인공 지능 시스템의 결과물을 출력할 수 있다. 출력물은 자연어 형태 또는 특정 컨텐츠 형태로 제공될 수 있다. 이에 한정하는 것은 아니며, 출력물은 사용자가 요청하는 액션의 형태로 제공될 수도 있다.In one embodiment, the user query/response interface (1510) may output results of the generative artificial intelligence system to the user. The output may be provided in a natural language form or in a specific content form. However, the output may also be provided in the form of an action requested by the user.

일 실시예에서, AI 프레임워크(1550)는 사용자 쿼리를 수신하고, 사용자 쿼리에 기반하여 사용자 의도를 수행하기 위해 필요한 각각의 컴포넌트들을 조율하고 제어할 수 있다In one embodiment, the AI framework (1550) can receive a user query and coordinate and control each component necessary to perform the user intent based on the user query.

일 실시예에서, AI 프레임워크(1550)는 프롬프트 디자인 컴포넌트(prompt design component)(1551), 어플리케이션 및 플러그인 관리 컴포넌트(APIs/Plugins Management component)(1553), 및/또는 출력 수정 컴포넌트(output modification component)(1555)(또는 refiner component)를 포함할 수 있다.In one embodiment, the AI framework (1550) may include a prompt design component (1551), an application and plug-in management component (APIs/Plugins Management component) (1553), and/or an output modification component (1555) (or refiner component).

일 실시예에서, 사용자 쿼리/응답 인터페이스(1510)에서 수신된 사용자 쿼리는 프롬프트 디자인 컴포넌트(1551)로 전송될 수 있다. 프롬프트 디자인 컴포넌트(1551)는 사용자 쿼리를 대규모 언어 모델(LLM) 또는 대규모 멀티 모달 모델(large multimodal models, LMM)에 입력하기에 적합한 프롬프트를 생성하는데 사용될 수 있다. 프롬프트 디자인 컴포넌트(1551)는 시간이 지남에 따라 더 나은 프롬프트를 개발하기 위해 머신 러닝 알고리즘 또는 신경망을 사용하는 AI 컴포넌트를 포함할 일 수 있다. 프롬프트 디자인 컴포넌트(1551)는 사용자 선호도 데이터, 프롬프트 라이브러리, 및 프롬프트 예제를 포함하는 지식 저장소(1520)(또는 지식 컴포넌트(knowledge component))에 액세스하여 프롬프트를 생성하고, 이를 대규모 언어 모델(LLM) 또는 대규모 멀티 모달 모델(LMM)에 전달할 수 있다.In one embodiment, a user query received at the user query/response interface (1510) may be sent to a prompt design component (1551). The prompt design component (1551) may be used to generate prompts suitable for inputting the user query into a large language model (LLM) or large multimodal models (LMM). The prompt design component (1551) may include an AI component that uses machine learning algorithms or neural networks to develop better prompts over time. The prompt design component (1551) may access a knowledge repository (1520) (or knowledge component) containing user preference data, a prompt library, and prompt examples to generate the prompts and pass them to the large language model (LLM) or large multimodal models (LMM).

일 실시예에서, 어플리케이션 및 플러그인 관리 컴포넌트(1553)는 사용자 쿼리를 생성형 AI 모델(1570)의 입력으로 전달할 때 추가 정보에 대한 요청이 있는 경우 외부 정보와 통신하는 역할을 수행할 수 있다. 어플리케이션 및 플러그인 관리 컴포넌트(1553)는 API(application programming interface)를 통해 AI 인터페이스(interface) 외부와 통신할 수 있는 채널을 구축하며, 구축한 채널을 통해 다양한 데이터 소스(data source)에 접근할 수 있도록 할 수 있다. 또한, 어플리케이션 및 플러그인 관리 컴포넌트(1553)는 중간 결과가 아니라, 최종적으로 사용자 쿼리를 수행하는 액션을 어플리케이션 또는 서비스에서 수행해야 하는 경우 해당 액션을 API를 통해 요청할 수 있다. 외부로부터 확보한 정보는 사용자 쿼리와 함께 생성형 AI 모델(1570)의 입력으로 전달될 수 있다.In one embodiment, the application and plugin management component (1553) may communicate with external information when there is a request for additional information when a user query is passed as an input to the generative AI model (1570). The application and plugin management component (1553) may establish a channel that can communicate with the outside of the AI interface through an application programming interface (API), and may enable access to various data sources through the established channel. In addition, the application and plugin management component (1553) may request an action to perform the final user query through the API if the action needs to be performed in the application or service, rather than an intermediate result. Information acquired from the outside may be passed as an input to the generative AI model (1570) together with the user query.

일 실시예에서, 출력 수정 컴포넌트(1555)는 생성형 AI 모델(1570)에서 출력하는 결과를 세부적으로 튜닝 할 수 있다. 예를 들어, 출력 수정 컴포넌트(1555)는 대규모 언어 모델(LLM) 및/또는 대규모 멀티 모달 모델(LMM)을 통해 생성되는 컨텐츠가 관련성이 없는 것은 아닌지, 편향적인 내용을 포함하고 있지 않은지, 및/또는 유해한 내용을 포함하고 있지 않은지 여부를 검증할 수 있다. 또한, 출력 수정 컴포넌트(1555)는 사용자가 원하는 결과물에 어느 정도 일치하는지를 판단하여, 만약 추가적인 과정이 필요한 경우 해당 과정을 진행할 수 있다. 출력 수정 컴포넌트(1555)는 추가적으로 원치 않은 출력을 피하기 위한 힌트를 구성하여 사용자에게 제공할 수 있다.In one embodiment, the output modification component (1555) can fine-tune the output from the generative AI model (1570). For example, the output modification component (1555) can verify whether the content generated by the large-scale language model (LLM) and/or the large-scale multi-modal model (LMM) is irrelevant, biased, and/or harmful. In addition, the output modification component (1555) can determine to what extent the content matches the user's desired result and, if necessary, perform additional processing. The output modification component (1555) can additionally configure hints to avoid unwanted output and provide them to the user.

일 실시예에서, 생성형 AI 모델(1570)은 일반적으로 사용자 쿼리 정보에 의존해 새로운 형태의 데이터를 만들어내는 인공 지능 신경망을 의미할 수 있다. 이미지를 생성하는 모델은 대표적으로 GAN(generative adversarial network), VAE(variational auto encoder)를 포함할 수 있으며, 최근에는 VAE와 Transformer 구조를 사용하는 Diffusion 기반 생성형 모델을 생성형 모델의 예로 들 수 있다 또한, 언어를 생성하는 모델은 입력 값을 기반으로 통계학적으로 가장 적절한 출력 값을 출력하도록 학습된 모델로, 대표적으로 CHAT-GPT 3, CHAT-GPT 4와 같은 모델을 예로 들 수 있다. 또한, 언어를 생성하는 모델은 문자, 이미지, 및/또는 음성과 같은 다양한 형태의 데이터 입력을 인식하고, 이에 상응하는 새로운 데이터를 생성할 수 있는 LMM(large multimodal models)(예: 도 3의 생성형 모델(335))을 포함할 수 있다.In one embodiment, the generative AI model (1570) may generally refer to an artificial intelligence neural network that generates new types of data based on user query information. The image generating model may typically include a generative adversarial network (GAN) and a variational auto encoder (VAE), and recently, a Diffusion-based generative model using a VAE and a Transformer structure may be an example of a generative model. In addition, a language generating model is a model learned to output the most statistically appropriate output value based on an input value, and representative examples thereof include models such as CHAT-GPT 3 and CHAT-GPT 4. In addition, the language generating model may include large multimodal models (LMMs) (e.g., the generative model (335) of FIG. 3) that can recognize various types of data inputs such as text, images, and/or voices and generate new data corresponding thereto.

본 개시의 일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 사용자 쿼리를 수신하는 동작을 포함할 수 있다. 일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작을 포함할 수 있다. 일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 사용자 쿼리가 복수의 주제들을 포함하는 경우, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시하는 동작을 포함할 수 있다. 일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하는 동작을 포함할 수 있다. 일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 히스토리 정보, 선택된 답변에 대응하는 사용자 쿼리, 및 선택된 답변을 포함하는 사용자 인터페이스를 디스플레이(230)에 표시하는 동작을 포함할 수 있다.A method for providing a user interface for a user query based on a category according to one embodiment of the present disclosure may include an operation of receiving a user query. A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of checking whether a received user query includes a plurality of topics. A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of displaying, on a display (230), a user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries. A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of checking whether history information corresponding to a topic related to a selected answer is stored in a memory (220) when a user input for selecting one of the first answer and the second answer is detected. A method for providing a user interface for a user query based on a category according to one embodiment may include, when history information corresponding to a topic related to a selected answer is stored in a memory (220), an operation of displaying a user interface including history information, a user query corresponding to a selected answer, and the selected answer on a display (230).

일 실시예에 따른 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작은, 수신된 사용자 쿼리의 의도를 확인하는 동작을 포함할 수 있다. 일 실시예에 따른 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작은, 확인된 사용자 쿼리의 의도에 기반하여, 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작을 포함할 수 있다.The operation of determining whether a received user query includes multiple topics according to one embodiment may include an operation of determining an intent of the received user query. The operation of determining whether a received user query includes multiple topics according to one embodiment may include an operation of determining whether the user query includes multiple topics based on an intent of the determined user query.

일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우, 선택된 답변에 대응하는 사용자 쿼리 및 선택된 답변을 포함하는 제2 사용자 인터페이스를 디스플레이(230)에 표시하는 동작을 포함할 수 있다.A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of displaying a user query corresponding to a selected answer and a second user interface including the selected answer on a display (230) if history information corresponding to a topic related to a selected answer is not stored in a memory (220).

일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 사용자 쿼리가 하나의 주제를 포함하는 경우, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하는 동작을 포함할 수 있다. 일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 제3 주제와 관련된 히스토리 정보, 사용자 쿼리, 및 사용자 쿼리에 대응하는 제3 답변을 포함하는 제3 사용자 인터페이스를 디스플레이(230)에 표시하는 동작을 포함할 수 있다.A method for providing a user interface for a user query based on a category according to one embodiment may include, if the user query includes one subject, an operation of checking whether history information related to a third subject of the user query is stored in a memory (220). A method for providing a user interface for a user query based on a category according to one embodiment may include, if the history information related to the third subject is stored in the memory (220), an operation of displaying, on a display (230), a third user interface including history information related to the third subject, the user query, and a third answer corresponding to the user query.

일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 메모리(220)에 저장되어 있지 않은 경우, 사용자 쿼리 및 사용자 쿼리에 대응하는 제3 답변을 포함하는 제4 사용자 인터페이스를 디스플레이(230)에 표시하는 동작을 포함할 수 있다.A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of displaying a fourth user interface including the user query and a third answer corresponding to the user query on a display (230) if history information related to a third topic of the user query is not stored in the memory (220).

일 실시예에 따른 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하는 동작은, 딥 러닝 모델에 기반하여, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하는 동작을 포함할 수 있다. 일 실시예에 따른 딥 러닝 모델은, 임베딩 벡터 생성 모델, LDA(latent dirichlet allocation) 모델, 또는 워드투벡터(word2Vec) 모델 중 하나를 포함할 수 있다.An operation of checking whether history information corresponding to a topic related to a selected answer according to one embodiment is stored in the memory (220) may include an operation of checking whether history information corresponding to a topic related to a selected answer is stored in the memory (220) based on a deep learning model. The deep learning model according to one embodiment may include one of an embedding vector generation model, a latent dirichlet allocation (LDA) model, or a word2Vec model.

일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 지정된 우선순위에 기반하여, 디스플레이(230)에서 제1 답변 및 제2 답변이 표시되는 위치를 결정하는 동작을 포함할 수 있다.A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of determining where a first answer and a second answer are displayed on a display (230) based on a specified priority.

일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시한 상태에서, 복수의 주제들과 관련된 사용자 쿼리를 포함하는 제5 사용자 인터페이스를 표시하기 위한 제2 사용자 입력을 검출하는 동작을 포함할 수 있다. 일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 제2 사용자 입력이 검출되는 것에 기반하여, 사용자 쿼리, 제1 답변, 및 제2 답변을 포함하는 제5 사용자 인터페이스를 디스플레이(230)에 표시하는 동작을 포함할 수 있다.A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of detecting a second user input for displaying a fifth user interface including a user query related to a plurality of topics, while displaying, on a display (230), a user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries. A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of displaying, on the display (230), a fifth user interface including the user query, the first answer, and the second answer, based on detecting a second user input.

일 실시예에 따른 카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법은, 제3 사용자 입력이 검출되는 것에 기반하여, 복수의 사용자 쿼리들에 대응하는 복수의 주제들과 관련된 복수의 사용자 인터페이스들의 리스트를 디스플레이(230)에 표시하는 동작을 포함할 수 있다. 일 실시예에 따른 복수의 사용자 인터페이스들의 리스트는, 주제에 기반하여 나열되어 표시되거나, 또는 시간 순으로 나열되어 표시될 수 있다.A method for providing a user interface for a user query based on a category according to one embodiment may include an operation of displaying, on a display (230), a list of a plurality of user interfaces related to a plurality of topics corresponding to a plurality of user queries, based on detection of a third user input. The list of the plurality of user interfaces according to one embodiment may be displayed by being listed based on a topic, or may be displayed by being listed in chronological order.

본 개시의 일 실시예에 따른 전자 장치(101)의 프로세서(240)에 의해 실행 시, 프로세서(240)가 동작들을 수행하도록 하는 인스트럭션들(instructions)을 저장하는 비 일시적인(non-transitory) 컴퓨터로 읽을 수 있는 기록 매체(computer-readable medium)는, 사용자 쿼리를 수신하는 동작을 실행하도록 할 수 있다. 일 실시예에 따른 전자 장치(101)의 프로세서(240)에 의해 실행 시, 프로세서(240)가 동작들을 수행하도록 하는 인스트럭션들을 저장하는 비 일시적인 컴퓨터로 읽을 수 있는 기록 매체는, 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작을 실행하도록 할 수 있다. 일 실시예에 따른 전자 장치(101)의 프로세서(240)에 의해 실행 시, 프로세서(240)가 동작들을 수행하도록 하는 인스트럭션들을 저장하는 비 일시적인 컴퓨터로 읽을 수 있는 기록 매체는, 사용자 쿼리가 복수의 주제들을 포함하는 경우, 사용자 쿼리, 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시하는 동작을 실행하도록 할 수 있다. 일 실시예에 따른 전자 장치(101)의 프로세서(240)에 의해 실행 시, 프로세서(240)가 동작들을 수행하도록 하는 인스트럭션들을 저장하는 비 일시적인 컴퓨터로 읽을 수 있는 기록 매체는, 제1 답변 및 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하는 동작을 실행하도록 할 수 있다. 일 실시예에 따른 전자 장치(101)의 프로세서(240)에 의해 실행 시, 프로세서(240)가 동작들을 수행하도록 하는 인스트럭션들을 저장하는 비 일시적인 컴퓨터로 읽을 수 있는 기록 매체는, 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는 경우, 히스토리 정보, 선택된 답변에 대응하는 사용자 쿼리, 및 선택된 답변을 포함하는 사용자 인터페이스를 디스플레이(230)에 표시하는 동작을 실행하도록 할 수 있다.A non-transitory computer-readable medium storing instructions that, when executed by a processor (240) of an electronic device (101) according to one embodiment of the present disclosure, cause the processor (240) to perform operations, may cause the processor (240) to perform an operation of receiving a user query. A non-transitory computer-readable medium storing instructions that, when executed by a processor (240) of an electronic device (101) according to one embodiment of the present disclosure, cause the processor (240) to perform operations, may cause the processor (240) to perform an operation of determining whether a received user query includes a plurality of topics. A non-transitory computer-readable recording medium storing instructions that, when executed by a processor (240) of an electronic device (101) according to one embodiment, cause the processor (240) to perform operations, may cause the processor (240) to perform an operation of displaying, on a display (230), a user query, a first answer corresponding to a first user query related to a first subject among the user queries, and a second answer corresponding to a second user query related to a second subject among the user queries, when a user query includes a plurality of subjects. A non-transitory computer-readable recording medium storing instructions that, when executed by a processor (240) of an electronic device (101) according to one embodiment, cause the processor (240) to perform operations, may cause the processor (240) to perform an operation of, when a user input for selecting one of the first answer and the second answer is detected, determining whether history information corresponding to a subject related to the selected answer is stored in a memory (220). A non-transitory computer-readable recording medium storing instructions that, when executed by a processor (240) of an electronic device (101) according to one embodiment, cause the processor (240) to perform operations, wherein, if history information corresponding to a topic related to a selected answer is stored in a memory (220), the operation of displaying, on a display (230), the history information, a user query corresponding to the selected answer, and a user interface including the selected answer.

본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.The electronic devices according to various embodiments disclosed in this document may be devices of various forms. The electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliance devices. The electronic devices according to embodiments of this document are not limited to the above-described devices.

본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, “A 또는 B”, “A 및 B 중 적어도 하나”, “A 또는 B 중 적어도 하나”, “A, B, 또는 C”, “A, B, 및 C 중 적어도 하나”, 및 “A, B, 또는 C 중 적어도 하나”와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. “제1”, “제2”, 또는 “첫째” 또는 “둘째”와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.It should be understood that the various embodiments of this document and the terminology used herein are not intended to limit the technical features described in this document to specific embodiments, but rather to encompass various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly dictates otherwise. In this document, each of the phrases “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C” can include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as “first,” “second,” or “first” or “second” may be used merely to distinguish the component from other such components and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first) is referred to as “coupled” or “connected” to another component (e.g., a second) with or without the terms “functionally” or “communicatively,” it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.

본 문서의 다양한 실시예들에서 사용된 용어 “모듈”은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다. The term “module” used in various embodiments of this document may include a unit implemented in hardware, software or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be an integrally configured component or a minimum unit of the component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).

본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the called at least one instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, ‘non-transitory’ simply means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.

일 실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.According to one embodiment, the method according to various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded between a seller and a buyer as a commodity. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store TM ) or directly between two user devices (e.g., smart phones). In the case of online distribution, at least a part of the computer program product may be at least temporarily stored or temporarily generated in a machine-readable storage medium, such as a memory of a manufacturer's server, a server of an application store, or an intermediary server.

다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.According to various embodiments, each component (e.g., a module or a program) of the above-described components may include a single or multiple entities, and some of the multiple entities may be separately arranged in other components. According to various embodiments, one or more components or operations of the above-described corresponding components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, the multiple components (e.g., a module or a program) may be integrated into one component. In such a case, the integrated component may perform one or more functions of each of the multiple components identically or similarly to those performed by the corresponding component of the multiple components before the integration. According to various embodiments, the operations performed by the module, program, or other component may be executed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.

101: 전자 장치 210: 통신 회로
220: 메모리 230: 디스플레이
240: 프로세서
101: Electronic Devices 210: Communication Circuits
220: Memory 230: Display
240: Processor

Claims (20)

전자 장치(101)에 있어서,
디스플레이(230);
인스트럭션들(instructions)을 저장하는 메모리(220); 및
프로세서(240)를 포함하고,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
사용자 쿼리를 수신하고,
상기 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하고,
상기 사용자 쿼리가 상기 복수의 주제들을 포함하는 경우, 상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 상기 디스플레이(230)에 표시하고,
상기 제1 답변 및 상기 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있는지 여부를 확인하고, 및
상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있는 경우, 상기 히스토리 정보, 상기 선택된 답변에 대응하는 사용자 쿼리, 및 상기 선택된 답변을 포함하는 사용자 인터페이스를 상기 디스플레이(230)에 표시하도록 하는 전자 장치.
In an electronic device (101),
Display (230);
Memory (220) for storing instructions; and
Contains a processor (240),
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
Receive user queries,
Check whether the received user query contains multiple topics,
If the user query includes the plurality of topics, the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries are displayed on the display (230).
When a user input for selecting one of the first and second answers is detected, it is checked whether history information corresponding to the topic related to the selected answer is stored in the memory (220), and
An electronic device that displays, on the display (230), a user interface including the history information, a user query corresponding to the selected answer, and the selected answer, when history information corresponding to a topic related to the selected answer is stored in the memory (220).
제 1 항에 있어서,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
상기 수신된 사용자 쿼리의 의도(intent)를 확인하고, 및
상기 확인된 사용자 쿼리의 의도에 기반하여, 상기 사용자 쿼리가 상기 복수의 주제들을 포함하는지 여부를 확인하도록 하는 전자 장치.
In paragraph 1,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
Verify the intent of the user query received above, and
An electronic device that determines whether the user query includes the plurality of topics based on the intent of the identified user query.
제 1 항 및 제 2 항 중 어느 한 항에 있어서,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있지 않은 경우, 상기 선택된 답변에 대응하는 사용자 쿼리 및 상기 선택된 답변을 포함하는 제2 사용자 인터페이스를 상기 디스플레이(230)에 표시하도록 하는 전자 장치.
In either of paragraphs 1 and 2,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
An electronic device that causes a user query corresponding to the selected answer and a second user interface including the selected answer to be displayed on the display (230) if history information corresponding to a topic related to the selected answer is not stored in the memory (220).
제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
상기 사용자 쿼리가 하나의 주제를 포함하는 경우, 상기 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 상기 메모리(220)에 저장되어 있는지 여부를 확인하고, 및
상기 제3 주제와 관련된 히스토리 정보가 상기 메모리(220)에 저장되어 있는 경우, 상기 제3 주제와 관련된 히스토리 정보, 상기 사용자 쿼리, 및 상기 사용자 쿼리에 대응하는 제3 답변을 포함하는 제3 사용자 인터페이스를 상기 디스플레이(230)에 표시하도록 하는 전자 장치.
In any one of claims 1 to 3,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
If the above user query includes one topic, it is checked whether history information related to a third topic of the above user query is stored in the memory (220), and
An electronic device that displays a third user interface including history information related to the third subject, the user query, and a third answer corresponding to the user query on the display (230) when history information related to the third subject is stored in the memory (220).
제 4 항에 있어서,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
상기 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 상기 메모리(220)에 저장되어 있지 않은 경우, 상기 사용자 쿼리 및 상기 사용자 쿼리에 대응하는 제3 답변을 포함하는 제4 사용자 인터페이스를 상기 디스플레이(230)에 표시하도록 하는 전자 장치.
In paragraph 4,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
An electronic device that causes a fourth user interface including the user query and a third answer corresponding to the user query to be displayed on the display (230) when history information related to the third topic of the user query is not stored in the memory (220).
제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
딥 러닝 모델에 기반하여, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있는지 여부를 확인하고,
상기 딥 러닝 모델은, 임베딩 벡터 생성 모델, LDA(latent dirichlet allocation) 모델, 또는 워드투벡터(word2Vec) 모델 중 하나를 포함하는 전자 장치.
In any one of claims 1 to 5,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
Based on the deep learning model, it is checked whether the history information corresponding to the topic related to the selected answer is stored in the memory (220).
An electronic device wherein the deep learning model comprises one of an embedding vector generation model, a latent dirichlet allocation (LDA) model, or a word2Vec model.
제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
상기 제1 답변 및 상기 제2 답변은 적어도 일부 중첩되도록 상기 디스플레이(230)에 표시하거나, 또는
상기 디스플레이(230)의 제1 영역에 상기 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 상기 제1 답변을 표시하고, 상기 디스플레이(230)의 제2 영역에 상기 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 상기 제2 답변을 표시하도록 하는 전자 장치.
In any one of claims 1 to 6,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
The above first answer and the above second answer are displayed on the display (230) so as to overlap at least partly, or
An electronic device that displays a first answer corresponding to a first user query related to the first subject in a first area of the display (230), and displays a second answer corresponding to a second user query related to the second subject in a second area of the display (230).
제 7 항에 있어서,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
지정된 우선순위에 기반하여, 상기 디스플레이(230)에서 상기 제1 답변 및 상기 제2 답변이 표시되는 위치를 결정하도록 하는 전자 장치.
In paragraph 7,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
An electronic device that determines where the first answer and the second answer are displayed on the display (230) based on a specified priority.
제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 상기 디스플레이(230)에 표시한 상태에서, 상기 복수의 주제들과 관련된 상기 사용자 쿼리를 포함하는 제5 사용자 인터페이스를 표시하기 위한 제2 사용자 입력을 검출하고, 및
상기 제2 사용자 입력이 검출되는 것에 기반하여, 상기 사용자 쿼리, 상기 제1 답변, 및 상기 제2 답변을 포함하는 제5 사용자 인터페이스를 상기 디스플레이(230)에 표시하도록 하는 전자 장치.
In any one of claims 1 to 8,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
While displaying the user query, the first answer corresponding to the first user query related to the first topic among the user queries, and the second answer corresponding to the second user query related to the second topic among the user queries on the display (230), detecting a second user input for displaying a fifth user interface including the user query related to the plurality of topics, and
An electronic device that causes a fifth user interface including the user query, the first answer, and the second answer to be displayed on the display (230) based on the detection of the second user input.
제 1 항 내지 제 9 항 중 어느 한 항에 있어서,
상기 메모리(220)는, 복수의 사용자 쿼리들에 대응하는 복수의 주제들과 관련된 복수의 사용자 인터페이스들을 저장하고,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
제3 사용자 입력이 검출되는 것에 기반하여, 상기 복수의 사용자 인터페이스들의 리스트를 상기 디스플레이(230)에 표시하도록 하고,
상기 복수의 사용자 인터페이스들의 리스트는, 주제에 기반하여 나열되어 표시되거나, 또는 시간 순으로 나열되어 표시되는 전자 장치.
In any one of claims 1 to 9,
The above memory (220) stores a plurality of user interfaces related to a plurality of topics corresponding to a plurality of user queries,
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
Based on the detection of a third user input, a list of the plurality of user interfaces is displayed on the display (230).
An electronic device in which a list of the above plurality of user interfaces is displayed, listed by topic or listed in chronological order.
카테고리에 기반한 사용자 쿼리에 대한 사용자 인터페이스 제공 방법에 있어서,
사용자 쿼리를 수신하는 동작;
상기 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작;
상기 사용자 쿼리가 상기 복수의 주제들을 포함하는 경우, 상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시하는 동작;
상기 제1 답변 및 상기 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하는 동작; 및
상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있는 경우, 상기 히스토리 정보, 상기 선택된 답변에 대응하는 사용자 쿼리, 및 상기 선택된 답변을 포함하는 사용자 인터페이스를 상기 디스플레이(230)에 표시하는 동작을 포함하는 방법.
In a method for providing a user interface for a user query based on a category,
Action to receive user queries;
An action for checking whether the received user query contains multiple topics;
When the user query includes the plurality of topics, an operation of displaying on a display (230) the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries;
When a user input for selecting one of the first and second answers is detected, an operation for checking whether history information corresponding to a topic related to the selected answer is stored in the memory (220); and
A method comprising: displaying, on the display (230), a user interface including the history information, a user query corresponding to the selected answer, and the selected answer, if history information corresponding to a topic related to the selected answer is stored in the memory (220).
제 11 항에 있어서,
상기 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작은,
상기 수신된 사용자 쿼리의 의도(intent)를 확인하는 동작; 및
상기 확인된 사용자 쿼리의 의도에 기반하여, 상기 사용자 쿼리가 상기 복수의 주제들을 포함하는지 여부를 확인하는 동작을 포함하는 방법.
In Article 11,
The operation of checking whether the received user query contains multiple topics is as follows:
An action to confirm the intent of the received user query; and
A method comprising an action of determining whether the user query includes the plurality of topics based on the intent of the identified user query.
제 11 항 및 제 12 항 중 어느 한 항에 있어서,
상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있지 않은 경우, 상기 선택된 답변에 대응하는 사용자 쿼리 및 상기 선택된 답변을 포함하는 제2 사용자 인터페이스를 상기 디스플레이(230)에 표시하는 동작을 더 포함하는 방법.
In any one of paragraphs 11 and 12,
A method further comprising the action of displaying a user query corresponding to the selected answer and a second user interface including the selected answer on the display (230) if the history information corresponding to the topic related to the selected answer is not stored in the memory (220).
제 11 항 내지 제 13 항 중 어느 한 항에 있어서,
상기 사용자 쿼리가 하나의 주제를 포함하는 경우, 상기 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 상기 메모리(220)에 저장되어 있는지 여부를 확인하는 동작;
상기 제3 주제와 관련된 히스토리 정보가 상기 메모리(220)에 저장되어 있는 경우, 상기 제3 주제와 관련된 히스토리 정보, 상기 사용자 쿼리, 및 상기 사용자 쿼리에 대응하는 제3 답변을 포함하는 제3 사용자 인터페이스를 상기 디스플레이(230)에 표시하는 동작; 및
상기 사용자 쿼리의 제3 주제와 관련된 히스토리 정보가 상기 메모리(220)에 저장되어 있지 않은 경우, 상기 사용자 쿼리 및 상기 사용자 쿼리에 대응하는 제3 답변을 포함하는 제4 사용자 인터페이스를 상기 디스플레이(230)에 표시하는 동작을 더 포함하는 방법.
In any one of claims 11 to 13,
If the above user query includes one topic, an operation of checking whether history information related to a third topic of the above user query is stored in the memory (220);
When history information related to the third subject is stored in the memory (220), an operation of displaying a third user interface including history information related to the third subject, the user query, and a third answer corresponding to the user query on the display (230); and
A method further comprising the action of displaying a fourth user interface including the user query and a third answer corresponding to the user query on the display (230) if history information related to the third topic of the user query is not stored in the memory (220).
제 11 항 내지 제 14 항 중 어느 한 항에 있어서,
상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하는 동작은,
딥 러닝 모델에 기반하여, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있는지 여부를 확인하는 동작을 포함하고,
상기 딥 러닝 모델은, 임베딩 벡터 생성 모델, LDA(latent dirichlet allocation) 모델, 또는 워드투벡터(word2Vec) 모델 중 하나를 포함하는 방법.
In any one of paragraphs 11 to 14,
The operation of checking whether the history information corresponding to the topic related to the above selected answer is stored in the memory (220) is as follows:
Based on the deep learning model, it includes an operation of checking whether the history information corresponding to the topic related to the selected answer is stored in the memory (220).
A method wherein the above deep learning model includes one of an embedding vector generation model, an LDA (latent dirichlet allocation) model, or a word2Vec model.
제 11 항 내지 제 15 항 중 어느 한 항에 있어서,
지정된 우선순위에 기반하여, 상기 디스플레이(230)에서 상기 제1 답변 및 상기 제2 답변이 표시되는 위치를 결정하는 동작을 더 포함하는 방법.
In any one of paragraphs 11 to 15,
A method further comprising the action of determining where the first answer and the second answer are displayed on the display (230), based on the specified priorities.
제 11 항 내지 제 16 항 중 어느 한 항에 있어서,
상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 상기 디스플레이(230)에 표시한 상태에서, 상기 복수의 주제들과 관련된 상기 사용자 쿼리를 포함하는 제5 사용자 인터페이스를 표시하기 위한 제2 사용자 입력을 검출하는 동작; 및
상기 제2 사용자 입력이 검출되는 것에 기반하여, 상기 사용자 쿼리, 상기 제1 답변, 및 상기 제2 답변을 포함하는 제5 사용자 인터페이스를 상기 디스플레이(230)에 표시하는 동작을 더 포함하는 방법.
In any one of claims 11 to 16,
An operation of detecting a second user input for displaying a fifth user interface including the user query related to the plurality of topics, while displaying on the display (230) the user query, a first answer corresponding to the first user query related to the first topic among the user queries, and a second answer corresponding to the second user query related to the second topic among the user queries; and
A method further comprising: displaying a fifth user interface including the user query, the first answer, and the second answer on the display (230) based on detecting the second user input.
제 11 항 내지 제 17 항 중 어느 한 항에 있어서,
제3 사용자 입력이 검출되는 것에 기반하여, 복수의 사용자 쿼리들에 대응하는 복수의 주제들과 관련된 복수의 사용자 인터페이스들의 리스트를 상기 디스플레이(230)에 표시하는 동작을 더 포함하고,
상기 복수의 사용자 인터페이스들의 리스트는, 주제에 기반하여 나열되어 표시되거나, 또는 시간 순으로 나열되어 표시되는 방법.
In any one of paragraphs 11 to 17,
Further comprising an action of displaying on the display (230) a list of a plurality of user interfaces related to a plurality of topics corresponding to a plurality of user queries, based on the detection of a third user input;
A method in which the list of the above multiple user interfaces is displayed by listing them based on topics or by listing them in chronological order.
전자 장치(101)에 있어서,
디스플레이(230);
인스트럭션들(instructions)을 저장하는 메모리(220); 및
프로세서(240)를 포함하고,
상기 인스트럭션들은, 상기 프로세서(240)에 의해 실행될 때, 상기 전자 장치(101)가,
사용자 쿼리를 수신하고,
상기 수신된 사용자 쿼리의 주제를 확인하고,
상기 사용자 쿼리의 주제가 하나인 경우, 상기 사용자 쿼리 및 상기 사용자 쿼리에 대응하는 답변을 상기 디스플레이(230)에 표시하고,
상기 답변을 선택하는 사용자 입력이 검출되면, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있는지 여부를 확인하고, 및
상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있는 경우, 상기 사용자 쿼리의 주제와 관련된 히스토리 정보, 상기 사용자 쿼리, 및 상기 사용자 쿼리에 대응하는 답변을 포함하는 사용자 인터페이스를 상기 디스플레이(230)에 표시하도록 하는 전자 장치.
In an electronic device (101),
Display (230);
Memory (220) for storing instructions; and
Contains a processor (240),
The above instructions, when executed by the processor (240), cause the electronic device (101) to:
Receive user queries,
Check the subject of the user query received above,
If the subject of the above user query is one, the user query and the answer corresponding to the user query are displayed on the display (230).
When a user input for selecting the above answer is detected, it is checked whether history information corresponding to the topic related to the selected answer is stored in the memory (220), and
An electronic device that displays a user interface including history information related to a subject of the user query, the user query, and an answer corresponding to the user query on the display (230) when history information corresponding to a subject related to the selected answer is stored in the memory (220).
전자 장치(101)의 프로세서(240)에 의해 실행 시, 상기 프로세서(240)가 동작들을 수행하도록 하는 인스트럭션들(instructions)을 저장하는 비 일시적인(non-transitory) 컴퓨터로 읽을 수 있는 기록 매체(computer-readable medium)에 있어서,
사용자 쿼리를 수신하는 동작;
상기 수신된 사용자 쿼리가 복수의 주제들을 포함하는지 여부를 확인하는 동작;
상기 사용자 쿼리가 상기 복수의 주제들을 포함하는 경우, 상기 사용자 쿼리, 상기 사용자 쿼리 중 제1 주제와 관련된 제1 사용자 쿼리에 대응하는 제1 답변, 및 상기 사용자 쿼리 중 제2 주제와 관련된 제2 사용자 쿼리에 대응하는 제2 답변을 디스플레이(230)에 표시하는 동작;
상기 제1 답변 및 상기 제2 답변 중 하나를 선택하는 사용자 입력이 검출되면, 상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 메모리(220)에 저장되어 있는지 여부를 확인하는 동작; 및
상기 선택된 답변과 관련된 주제에 대응하는 히스토리 정보가 상기 메모리(220)에 저장되어 있는 경우, 상기 히스토리 정보, 상기 선택된 답변에 대응하는 사용자 쿼리, 및 상기 선택된 답변을 포함하는 사용자 인터페이스를 상기 디스플레이(230)에 표시하는 동작을 실행하도록 하는 컴퓨터로 읽을 수 있는 기록 매체.
A non-transitory computer-readable medium storing instructions that, when executed by a processor (240) of an electronic device (101), cause the processor (240) to perform operations,
Action to receive user queries;
An action for checking whether the received user query contains multiple topics;
When the user query includes the plurality of topics, an operation of displaying on a display (230) the user query, a first answer corresponding to a first user query related to a first topic among the user queries, and a second answer corresponding to a second user query related to a second topic among the user queries;
When a user input for selecting one of the first and second answers is detected, an operation for checking whether history information corresponding to a topic related to the selected answer is stored in the memory (220); and
A computer-readable recording medium that causes an operation to be executed to display, on the display (230), a user interface including the history information, a user query corresponding to the selected answer, and the selected answer, when history information corresponding to a topic related to the selected answer is stored in the memory (220).
KR1020240005272A 2023-12-26 2024-01-12 Electronic device and method for providing user interface for user query based on category using the same Pending KR20250100440A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2024/020170 WO2025143646A1 (en) 2023-12-26 2024-12-10 Electronic device, and method for providing user interface for user queries based on category by using same

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020230191109 2023-12-26
KR20230191109 2023-12-26

Publications (1)

Publication Number Publication Date
KR20250100440A true KR20250100440A (en) 2025-07-03

Family

ID=96390651

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020240005272A Pending KR20250100440A (en) 2023-12-26 2024-01-12 Electronic device and method for providing user interface for user query based on category using the same

Country Status (1)

Country Link
KR (1) KR20250100440A (en)

Similar Documents

Publication Publication Date Title
US11474780B2 (en) Method of providing speech recognition service and electronic device for same
US12118985B2 (en) Electronic device and method for providing on-device artificial intelligence service
US12027163B2 (en) Electronic device and operation method thereof
US20230214397A1 (en) Server and electronic device for processing user utterance and operating method thereof
US20220358907A1 (en) Method for providing response of voice input and electronic device supporting the same
US12243522B2 (en) Apparatus for processing user commands and operation method thereof
KR102848286B1 (en) Electronic device and method for sharing execution information on command having continuity
KR102850632B1 (en) Electronic device, and method for performing shortcut command in electronic device
KR20250100440A (en) Electronic device and method for providing user interface for user query based on category using the same
US20240233716A1 (en) Electronic device and method of processing response to user of electronic device
US12400082B2 (en) Electronic device for providing voice recognition service using user data and operating method thereof
US12074956B2 (en) Electronic device and method for operating thereof
US11756575B2 (en) Electronic device and method for speech recognition processing of electronic device
US20220335946A1 (en) Electronic device and method for analyzing speech recognition results
KR102826343B1 (en) Electronic device including personalized text to speech module and method for controlling the same
US20230027222A1 (en) Electronic device for managing inappropriate answer and operating method thereof
US20240242715A1 (en) Method of determining false rejection and electronic device for performing the same
US20240127793A1 (en) Electronic device speech recognition method thereof
KR20250040481A (en) Method for capturing screen and electronic device thereof
KR20250059254A (en) Electronic device and method for generating image based on voice data using the same
KR20250106150A (en) Method for generating prompt to be input to ai model, electronic device and recording medium
KR20250106651A (en) Electronic device and method for processing utterance thereof
KR20240020141A (en) Method and electronic device for processing user utterance based on language model
KR20240160987A (en) Method for analysising user intention of voice input and electronic device thereof
KR20250084807A (en) Electronic devices and methods of processing user utterances

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20240112

PG1501 Laying open of application