WO2018124464A1 - 전자 장치 및 전자 장치의 검색 서비스 제공 방법 - Google Patents

전자 장치 및 전자 장치의 검색 서비스 제공 방법 Download PDF

Info

Publication number
WO2018124464A1
WO2018124464A1 PCT/KR2017/012839 KR2017012839W WO2018124464A1 WO 2018124464 A1 WO2018124464 A1 WO 2018124464A1 KR 2017012839 W KR2017012839 W KR 2017012839W WO 2018124464 A1 WO2018124464 A1 WO 2018124464A1
Authority
WO
WIPO (PCT)
Prior art keywords
weight
characteristic value
answer
answer result
electronic device
Prior art date
Application number
PCT/KR2017/012839
Other languages
English (en)
French (fr)
Inventor
최형탁
양해훈
전희식
황인철
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Publication of WO2018124464A1 publication Critical patent/WO2018124464A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation

Definitions

  • the present invention relates to an electronic device and a method of providing a search service of the electronic device. More specifically, the present invention proposes a technology for providing an answer corresponding to a user's intention through feedback from a user on an initial answer result according to a natural language query of the user.
  • An electronic device providing a search service and a method thereof are provided.
  • the present invention proposes an electronic device and a search service providing method of the electronic device to facilitate a user's re-inquiry by providing a feature value corresponding to the answer result obtained based on the question message and a weight of the feature value together with the answer result. .
  • FIG. 1 is a diagram schematically illustrating a search service provided by an electronic device according to an embodiment of the present disclosure.
  • FIG. 2 is a flowchart illustrating a method for providing a search service by an electronic device according to an embodiment of the present disclosure.
  • FIG. 3 is a block diagram illustrating a configuration of an electronic device that provides a search service according to an exemplary embodiment.
  • FIG. 4 is a flowchart illustrating a method of generating a query language by an electronic device according to an embodiment of the present disclosure.
  • 5A to 5C are diagrams illustrating an example in which the electronic device changes at least one of a characteristic value and a weight for the characteristic value based on a user input.
  • FIG. 6 is a block diagram illustrating a configuration of an electronic device according to another exemplary embodiment.
  • FIG. 7 is a block diagram of a processor according to an exemplary embodiment.
  • FIG. 8 is a block diagram of a data learner according to an exemplary embodiment.
  • FIG. 9 is a block diagram of a data determination unit according to an exemplary embodiment.
  • FIG. 10 is a diagram illustrating an example in which an electronic device and a server learn and determine data by interworking with each other.
  • a method of providing a search service may include: receiving a question message, obtaining an answer result based on the question message, an answer result, a characteristic value corresponding to the answer result, and a weight for the characteristic value Displaying, changing, based on a user input, at least one of the characteristic value and the weight, and reacquiring and displaying the answer result based on at least one of the changed characteristic value and the changed weight.
  • a question message may include: receiving a question message, obtaining an answer result based on the question message, an answer result, a characteristic value corresponding to the answer result, and a weight for the characteristic value Displaying, changing, based on a user input, at least one of the characteristic value and the weight, and reacquiring and displaying the answer result based on at least one of the changed characteristic value and the changed weight.
  • An electronic device includes an input interface for receiving a question message, a display unit, a memory for storing one or more instructions, and a processor for executing one or more instructions stored in the memory, wherein the processor includes one or more instructions.
  • the control By executing the control, obtaining the answer result based on the question message, controlling to display the answer result, the characteristic value corresponding to the answer result, and the weight for the characteristic value on the display, and based on the user input, At least one of the characteristic value and the weight may be changed, and based on at least one of the changed characteristic value and the changed weight, the answer result may be re-acquired and displayed on the display unit.
  • the embodiments of the present invention relate to a method and an apparatus for providing a search service, and detailed descriptions thereof will be omitted for matters well known to those skilled in the art.
  • FIG. 1 is a diagram schematically illustrating a search service provided by the electronic device 100.
  • the electronic device 100 may provide a search service.
  • the electronic device 100 may be a mobile phone, a smart phone, a mobile phone, a smart phone, a digital broadcasting terminal, PDAs (Personal Digital Assistants), or a PMP (Portable Multimedia Player). , Navigation, MP3 player, camcorder, IPTV (Internet Protocol Television), DTV (Digital Television), wearable device (e.g. smart glass, etc.), laptop computer, desk Top, tablet, phablet, smart application, television, consumer electronic device, monitor, dual display device, or other Electronic devices and the like, but are not limited thereto.
  • PDAs Personal Digital Assistants
  • PMP Portable Multimedia Player
  • the electronic device 100 may receive a question message from the user 170.
  • the question message may be a voice message or a text message, but is not limited thereto.
  • the electronic device 100 may detect a voice signal including a user's question message through a microphone.
  • the electronic device 100 may generate voice data from the detected voice signal and convert the voice data into text based on the generated voice data.
  • the question message may be a question message composed of natural language.
  • natural language is a language that is distinguished from artificial language, for example, a programming language, a script language, and the like, which is a language that is artificially used as a language commonly used by humans.
  • the electronic device 100 may obtain an answer result based on the question message.
  • the electronic device 100 may obtain an answer result from a database (DB) based on the question message.
  • DB database
  • the database may be a knowledge base (KB).
  • the knowledge base may be a database that stores, as one of the components of the expert system, expert knowledge accumulated through intellectual activities and experiences, and facts and rules necessary for solving a problem.
  • the electronic device 100 may form a communication network 130 with a plurality of databases, and transmit and receive data.
  • the electronic device 100 may be connected to each other through a predetermined wired or wireless communication network such as a database and the Internet, but is not limited thereto.
  • the electronic device 100 may determine a search target database related to the question message based on the question message.
  • the electronic device 100 may obtain an answer result from the determined database 140 through the communication network 130.
  • the answer result may include, but is not limited to, a web document or a uniform resource locator (URL) accessible to the web document.
  • a web document or a uniform resource locator (URL) accessible to the web document.
  • URL uniform resource locator
  • the electronic device 100 may display the obtained answer result.
  • the electronic device 100 may display the acquired answer result and the weight of the feature value and the feature value corresponding to the answer result.
  • the characteristic value corresponding to the answer result may be an element causing the answer result to be derived from the question message.
  • the characteristic value may be a title or a keyword extracted from the content representing the content included in the answer result, but is not limited thereto.
  • the number of characteristic values corresponding to the answer result may be plural but is not limited thereto.
  • the weight of the feature value may mean the importance of the feature value in the answer result.
  • the weight may be expressed not only as a quantitative number but also as a relative importance of a corresponding characteristic value among various characteristic values that a characteristic value of the same category may have.
  • the weight may be determined based on the frequency of occurrence of the keyword in the web document, the position of a sentence including the keyword in the web document, and the like. For example, a weight of a keyword included in a sentence constituting a title of a web document may be greater than a weight of a keyword included in another sentence.
  • the electronic device 100 may change at least one of a characteristic value and a weight for the characteristic value based on a user input.
  • the electronic device 100 may receive an input for changing at least one of a characteristic value corresponding to the answer result and a weight for the characteristic value.
  • the electronic device 100 may receive a user input of changing the weight of the characteristic value to be greater than the weight of the characteristic value corresponding to the answer result.
  • the electronic device 100 may change the weight of the feature value to be greater than the weight for the feature value corresponding to the answer result, based on a user input.
  • the electronic device 100 may re-acquire the answer result based on the changed characteristic value and the weight of the characteristic value.
  • the electronic device 100 may determine the database 150 to search for the answer result related to the question message based on the changed characteristic value and the weight of the characteristic value. In addition, the electronic device 100 may reacquire the answer result from the determined database 150.
  • the electronic device 100 may display the result of the re-acquired answer and the weight of the characteristic value and the characteristic value corresponding to the re-acquired answer.
  • FIG. 2 is a flowchart illustrating a method of providing a search service by the electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may receive a question message.
  • the electronic device 100 may receive a question message in the form of a voice message. As mentioned in the description of FIG. 1, the electronic device 100 may receive a natural language question message.
  • the electronic device 100 may obtain an answer result based on the question message.
  • the electronic device 100 may determine the user's query intention by analyzing the content of the natural language query included in the question message. In addition, the electronic device 100 may determine a feature value corresponding to the question message and a weight for the feature value based on the determined query intent.
  • the electronic device 100 may determine, as a characteristic value, a keyword determined based on a frequency of a word, a position of a sentence including a word in a question message, and a morphological analysis of the word among words included in the question message. .
  • the electronic device 100 may determine the weight of the determined keyword based on the determined frequency of the keyword, the position of the sentence including the keyword, the morphological analysis of the keyword, and the like.
  • the electronic device 100 may determine a word having the highest frequency among the words included in the first sentence included in the question message as a keyword. Also, for example, the electronic device 100 may determine a word corresponding to a subject or object in a sentence as a keyword, even if the word has a low frequency.
  • the electronic device 100 may determine a plurality of feature values included in the question message. Also, for example, the electronic device 100 may determine a weight of a predetermined range for the characteristic value.
  • the electronic device 100 may obtain an answer result based on the determined characteristic value and the weight of the characteristic value.
  • the electronic device 100 may determine a web document corresponding to the determined characteristic value and the weight for the characteristic value, based on the characteristic value and the weight for the characteristic value corresponding to the web document.
  • the electronic device 100 may obtain at least one of the determined web document and the URL of the determined web document.
  • the electronic device 100 may build an index database.
  • the electronic device 100 may build an index database by indexing characteristic values corresponding to each of the plurality of web documents and weights of the characteristic values.
  • the electronic device 100 may build an index database by matching a URL of a web document, a characteristic value corresponding to the web document, and a weight for the characteristic value.
  • the electronic device 100 may obtain a URL of a web document determined based on a characteristic value corresponding to a question message and a weight for the characteristic value from an index database.
  • the electronic device 100 may obtain an answer result based on a weight of the feature value and the feature value corresponding to the question message from an external database without building a separate index database. For example, the electronic device 100 determines the weight of each feature value and the feature value of the answer result obtained from the external database using an external search engine, and among the answer results, the feature value and the feature corresponding to the question message. The answer result may be obtained based on the weight for the value.
  • the electronic device 100 may obtain a plurality of answer results based on a combination of a plurality of characteristic values.
  • the electronic device 100 may obtain a plurality of answer results based on a range of weights for the characteristic values.
  • the electronic device 100 may display an answer result, a characteristic value corresponding to the answer result, and a weight for the characteristic value.
  • the electronic device 100 may combine and display the answer result, the feature value corresponding to the answer result, and the weight for the feature value.
  • the electronic device 100 may display a plurality of answer results in which at least one of a characteristic value and a weight for the characteristic value are different from each other. For example, the electronic device 100 may determine suitability with the query intention for each of the plurality of answer results according to a predetermined criterion. For example, the electronic device 100 may determine the ranking of each of the plurality of answer results in the order of high suitability.
  • the electronic device 100 may display a weight of the characteristic value and the characteristic value corresponding to each of the preset number of answer results and the predetermined number of answer results in order of high ranking.
  • the electronic device 100 may change at least one of a characteristic value and a weight for the characteristic value based on a user input.
  • the electronic device 100 may receive a user input for reacquiring a response result.
  • the electronic device 100 may receive a user input for changing or adding a characteristic value corresponding to the answer result.
  • the electronic device 100 may receive a user input of changing a weight for a characteristic value corresponding to an answer result.
  • the electronic device 100 may receive a user input for selecting at least one answer result among a plurality of answer results in which at least one of a characteristic value and a weight for the characteristic value are different from each other.
  • the electronic device 100 may select at least one answer result from among the plurality of answer results and receive a user input for changing at least one of a characteristic value corresponding to the selected answer result and a weight for the characteristic value.
  • the electronic device 100 may select at least one of a characteristic value corresponding to the question message and a weight for the characteristic value based on a user input for changing at least one of the characteristic value and the weight for the characteristic value. You can change it.
  • the electronic device 100 may re-acquire and display an answer result based on at least one of a changed characteristic value and a changed weight.
  • the electronic device 100 may re-acquire the answer result based on the changed characteristic value and the weight of the characteristic value.
  • the electronic device 100 may display the weighted value of the characteristic value and the characteristic value corresponding to the re-acquired answer result and the re-acquired answer result.
  • FIG. 3 is a block diagram illustrating a structure of an electronic device 100 according to an exemplary embodiment.
  • the electronic device 100 may include an input interface 310, a display 320, a processor 330, and a memory 340.
  • the input interface 310, the display 320, the processor 330, and the memory 340 may be electrically connected to each other through a bus or the like.
  • the electronic device 100 illustrated in FIG. 3 only components related to the present exemplary embodiment are illustrated. Therefore, it will be understood by those skilled in the art that other general purpose components other than the components shown in FIG. 3 may be further included.
  • the input interface 310 may include a means for a user to input data for controlling the electronic device 100.
  • the input interface 310 may include a microphone, a keyboard, a mouse, a touch pad (contact capacitive method, pressure resistive film method, infrared sensing method, surface ultrasonic conduction method, integral tension measuring method, piezo effect method, etc.), a key ( key) buttons, and the like, may include various input devices capable of operating the electronic device 100 based on an external input, but are not limited thereto.
  • the input interface 310 may receive a question message.
  • the input interface 310 may receive a question message in the form of a voice message.
  • the input interface 310 may receive a question message composed of natural language.
  • the electronic device 100 may receive a question message as a voice signal through a microphone. As described above, the electronic device 100 may recognize the received voice signal through a microphone and convert the recognized voice signal into text. In addition, the electronic device 100 may receive a question message as text through a device for inputting text such as a keyboard or a keypad.
  • the display unit 320 may include means for visually displaying a screen such as an LCD and an LED module.
  • the display 320 generates a driving signal by converting an image signal, a data signal, an OSD signal, a control signal, and the like processed by the processor 330.
  • the display unit 320 may be implemented as a PDP, an LCD, an OLED, a flexible display, or a 3D display.
  • the display unit 320 may be configured as a touch screen and used as an input device in addition to the output device.
  • the display 320 may display the result of the answer and the weight of the feature value and the feature value corresponding to the answer result.
  • the display 320 may display the plurality of answer results and the weights of the feature values and the feature values corresponding to each of the plurality of answer results.
  • the processor 330 may include at least one or more processors, such as a CPU and a GPU, but is not limited thereto. In addition, the processor 330 may execute one or more programs stored in the memory 340. The processor 330 may include a single core, dual core, triple core, quad core, and multiple cores thereof. In addition, the processor 330 may include a plurality of processors. For example, the processor 330 may be implemented as a main processor (not shown) and a sub processor (not shown) that operates in a sleep mode.
  • the memory 340 may include, but is not limited to, a nonvolatile storage medium storing digital data such as a hard disk drive (HDD) or a flash memory. Also, according to an embodiment of the present disclosure, the memory 340 may store various data, programs, or applications for driving and controlling the electronic device 100. In addition, the program stored in the memory 340 may include one or more instructions. A program (one or more instructions) or an application stored in the memory 340 may be executed by the processor 330.
  • the processor 330 may obtain an answer result based on the question message.
  • the processor 330 may determine the query intention of the user by analyzing the content of the natural language query included in the question message. In addition, the processor 330 may determine a characteristic value corresponding to the question message and a weight for the characteristic value based on the determined query intent.
  • the processor 330 may determine a keyword determined as a characteristic value among the words included in the question message based on the frequency of the word, the position of the sentence including the word in the question message, and the morphological analysis of the word. In addition, the processor 330 may determine the weight of the determined keyword based on the determined frequency of the keyword, the position of the sentence including the keyword, the morphological analysis of the keyword, and the like.
  • the processor 330 may determine a word having the highest frequency among the words included in the first sentence included in the question message as a keyword. In addition, the processor 330 may determine a word corresponding to a subject or object in a sentence as a keyword even in a word having a low frequency.
  • the processor 330 may determine a plurality of property values included in the question message. In addition, the processor 330 may determine a range of weights for the characteristic value.
  • the processor 330 may obtain an answer result based on the determined characteristic value and the weight of the characteristic value.
  • the processor 330 may determine the web document corresponding to the determined characteristic value and the weight for the characteristic value based on the characteristic value and the weight for the characteristic value corresponding to the web document. In addition, the processor 330 may obtain at least one of the determined web document and the URL of the determined web document.
  • the processor 330 may build an index database by indexing a feature value corresponding to each of the web documents and a weight for the feature value.
  • the processor 330 may build an index database by matching a URL of a web document, a characteristic value corresponding to the web document, and a weight for the characteristic value.
  • the processor 330 may obtain, from the index database, the URL of the determined web document based on the characteristic value corresponding to the question message and the weight for the characteristic value.
  • the processor 330 may obtain an answer result based on a weight of the feature value and the feature value corresponding to the question message from an external database without building a separate index database. For example, the processor 330 determines the weight of each feature value and the feature value of the answer result obtained from the external database by using an external search engine, and the feature value and the feature value corresponding to the question message among the answer results. The answer result may be obtained based on the weight for.
  • the processor 330 may obtain a plurality of answer results based on all possible combinations of the plurality of feature values. In addition, the processor 330 may obtain a plurality of answer results based on a range of weights for the feature values.
  • the processor 330 may control the display unit 320 to display an answer result, a characteristic value corresponding to the answer result, and a weight for the characteristic value.
  • the processor 330 may combine and display an answer result, a feature value corresponding to the answer result, and a weight for the feature value. For example, when the number of characteristic values corresponding to the answer result is plural, the processor 330 may display weights of the answer result, the plurality of characteristic values, and the plurality of characteristic values.
  • the processor 330 may display a plurality of answer results in which at least one of a mutual characteristic value and a weight for the characteristic value is different.
  • the processor 330 may determine a goodness of fit of each of the plurality of answer results based on a feature value of each of the plurality of answer results and a weight for the feature value, according to a predetermined criterion. For example, the processor 330 may determine the ranking of each of the plurality of answer results in order of high suitability.
  • the processor 330 may display a weight of the characteristic value and the characteristic value corresponding to each of the predetermined number of answer results and the predetermined number of answer results in order of high ranking.
  • the processor 330 may change at least one of a characteristic value and a weight for the characteristic value based on a user input.
  • the input interface 310 may receive a user input for reacquiring a response result.
  • the input interface 310 may receive a user input for changing or adding a characteristic value corresponding to the answer result.
  • the input interface 310 may receive a user input for changing a weight for a characteristic value corresponding to the answer result.
  • the input interface 310 may receive a user input for selecting at least one answer result among a plurality of answer results in which at least one of a mutual characteristic value and a weight for the characteristic value is different.
  • the input interface 310 may receive a user input of selecting at least one answer result among a plurality of answer results and changing at least one of a characteristic value corresponding to the selected answer result and a weight for the characteristic value. have.
  • the processor 330 may change at least one of a characteristic value and a weight for the characteristic value based on a user input through the input interface 310.
  • the processor 330 may re-acquire a response result and display it on the display 320 based on at least one of the changed characteristic value and the changed weight.
  • the processor 330 may change the weight for the feature pack and the feature value corresponding to the question message based on the added feature value and the weight for the added feature value.
  • the processor 330 may reacquire the answer result based on the changed characteristic information.
  • the processor 330 may control to display, on the display 320, the re-acquired answer result and the characteristic information corresponding to the re-acquired answer result.
  • the electronic device 100 may control to display on the display 320 the feature value corresponding to the re-acquired answer result and the re-acquired answer result and the weight of the feature value.
  • FIG. 4 is a flowchart illustrating a method of generating a query language by the electronic device 100 according to an embodiment of the present disclosure.
  • the electronic device 100 may analyze a question message to determine a characteristic value and a weight for the characteristic value.
  • the electronic device 100 may determine a characteristic value corresponding to the natural language question message and a weight for the characteristic value. In addition, the electronic device 100 may determine a plurality of feature values corresponding to the natural language question message and a weight corresponding to each of the plurality of feature values.
  • the electronic device 100 may generate a first query based on the determined characteristic value and the weight of the characteristic value.
  • the query word may mean a dedicated language designed for retrieving information from a database.
  • the electronic device 100 may generate a first query by combining the determined characteristic value and the weight of the characteristic value. For example, the electronic device 100 may generate a first query by combining a plurality of characteristic values corresponding to the question message and weights for each of the plurality of characteristic values. In addition, the electronic device 100 may generate a first query by combining a feature value and a range of weights of the feature values.
  • the electronic device 100 may obtain an answer result using the first query word.
  • the electronic device 100 may obtain an answer result from a database using a first query.
  • the electronic device 100 may obtain a plurality of answer results from the database using the first query.
  • the electronic device 100 may obtain at least one of a web document and a URL of the web document corresponding to the characteristic value included in the first query and the weight of the characteristic value from the database.
  • the electronic device 100 may determine at least one of a web document and a URL of a web document corresponding to a range of weights of the characteristic value and the characteristic value included in the first query, and the attribute value and the characteristic value corresponding to the web document.
  • the weight can be obtained from the database.
  • the electronic device 100 may display an answer result, a characteristic value corresponding to the answer result, and a weight for the characteristic value.
  • the electronic device 100 may combine and display an answer result, a feature value corresponding to the answer result, and a weight for the feature value. For example, when the number of feature values corresponding to the answer result is plural, the electronic device 100 may display weights of the answer result, the plurality of feature values, and the plurality of feature values.
  • the electronic device 100 may display a plurality of answer results in which at least one of a characteristic value and a weight for the characteristic value are different from each other.
  • the electronic device 100 may determine a goodness of fit of the question message of each of the plurality of answer results according to a predetermined criterion.
  • the electronic device 100 may determine the ranking of each of the plurality of answer results in the order of high suitability.
  • the electronic device 100 may display a weight of the characteristic value and the characteristic value corresponding to each of the predetermined number of answer results and the predetermined number of answer results in order of high ranking.
  • the electronic device 100 may change at least one of a characteristic value and a weight for the characteristic value based on a user input.
  • the electronic device 100 may receive a user input for reacquiring a response result.
  • the electronic device 100 may receive a user input for changing or adding a characteristic value corresponding to the answer result.
  • the electronic device 100 may receive a user input of changing a weight for a characteristic value corresponding to an answer result.
  • the electronic device 100 may receive a user input for selecting at least one answer result among a plurality of answer results in which at least one of the characteristic values and the weights of the characteristic values are different from each other.
  • the electronic device 100 may receive a user input of selecting at least one answer result among the plurality of answer results and changing at least one of a characteristic value corresponding to the selected answer result and a weight for the characteristic value. have.
  • the electronic device 100 may change at least one of the characteristic value corresponding to the question message and the weight for the characteristic value based on a user input for changing at least one of the characteristic value and the weight for the characteristic value. have.
  • the electronic device 100 may generate a second query by applying at least one of the changed characteristic value and the changed weight to the first query.
  • the second query when the characteristic value is changed, the second query may be generated by applying the changed characteristic value to the first query.
  • the second query may be generated by applying the weight for the changed characteristic value to the first query.
  • a second query when a feature value is added, a second query may be generated by combining weights of the first query, the added feature, and the added feature.
  • 5A to 5C are diagrams illustrating an example in which the electronic device 100 changes at least one of a characteristic value and a weight for the characteristic value based on a user input.
  • the electronic device 100 may display, on the region 510, a plurality of feature values corresponding to the received question message and a weight for each of the plurality of feature values based on the received question message. have.
  • the electronic device 100 may determine a first weight value, a second weight value, a second weight value, and a second weight value for the first weight value.
  • the second weight which is a weight, may be determined and displayed on the area 510.
  • the electronic device 100 may transmit a plurality of answer results corresponding to each of the plurality of characteristic values corresponding to the question message, for example, a first answer result 530, a second answer result 540, and a third answer result.
  • the answer result 550 may be displayed.
  • the electronic device 100 may display a plurality of acquired answer results and a characteristic value and a weight of the characteristic value for each of the plurality of answer results.
  • the electronic device 100 may determine a first weight value that is a weight for a first characteristic value 531 and a first characteristic value corresponding to the first answer result 530 and the first answer result 530. 534), the second characteristic value 532 and the second weight value 534 that is the weight for the second characteristic value, and the third weight value 536 that is the weight for the third characteristic value and the third characteristic value are combined and displayed. can do.
  • the weights of the plurality of characteristic values and the characteristic values corresponding to each of the plurality of answer results may include the characteristic values corresponding to the question message and the weights of the plurality of characteristic values.
  • some of the plurality of characteristic values corresponding to the first answer result 530 and the weights for each of the plurality of characteristic values are respectively the second answer result 540 and the third answer result 550. It may be equal to some of the plurality of characteristic values corresponding to and the weights for each of the plurality of characteristic values.
  • the first characteristic value, the first weight value, the second characteristic value, and the second weight value corresponding to the first answer result 530 may correspond to each of the second answer result and the third answer result.
  • the weight for the third characteristic value 533 corresponding to the first answer result 530 is the third weight 536, and unlike this, for the third characteristic value corresponding to the second answer result 540.
  • the weight may be the 3-2 weight 546.
  • the plurality of feature values corresponding to the third answer result 550 may include a fourth feature value 553.
  • the electronic device 100 displays three characteristic values and weight values for each of the three characteristic values, for each of the plurality of answer results, but is not limited thereto.
  • the electronic device 100 may display less or more than three characteristic values and weights for each characteristic value corresponding to each of the plurality of answer results.
  • the electronic device 100 may display a different number of feature values and weights for each feature value corresponding to each of the plurality of answer results.
  • the electronic device 100 illustrates an example of changing at least one of a characteristic value and a weight for the characteristic value based on a user input.
  • the electronic device 100 may receive an input for selecting a first answer result 530.
  • the electronic device 100 may receive an input of a user who clicks a certain area corresponding to the first answer result 530.
  • the electronic device 100 may change at least one of a characteristic value displayed on the area 510 and a weight for the characteristic value based on a user input. For example, based on a user's input selecting the first answer result 530, the electronic device 100 may weight each of the plurality of feature values and the plurality of feature values corresponding to the first answer result 530. May be displayed in the area 510. For example, the electronic device 100 may further display the third characteristic value and the third weight value in the region 510.
  • FIG. 5C is a diagram illustrating another example in which the electronic device 100 changes at least one of a characteristic value and a weight for the characteristic value based on a user input.
  • the first answer result 530 illustrated in FIG. 5A may be selected, and a user's input for changing the weight of the second characteristic value from the second weight to the second-2 weight may be received. .
  • the electronic device 100 may display the changed characteristic value and the weight for the characteristic value in the region 510 based on the user's input. For example, the electronic device 100 may display the first characteristic value and the first weight value, the second characteristic value and the changed second-2 weight value, and the added third characteristic value and the third weight value in the area 510. Can be.
  • the electronic device 100 may re-acquire the answer result based on the changed characteristic value and the weight of the characteristic value.
  • the electronic device 100 may receive an input for requesting a re-search.
  • the electronic device 100 may receive an input for clicking the search button 560.
  • the electronic device 100 may include a first characteristic value, a first weight value, a second characteristic value, a changed second-2 weight value, and an added third.
  • the answer result may be reacquired based on the characteristic value and the third weight value.
  • the electronic device 100 may weight the feature value and the feature value corresponding to the re-obtained 1-2 answer result 530-2 and the 1-2 answer result 530-2, and 2-2.
  • a weight corresponding to the characteristic value and the characteristic value corresponding to the answer result 540-2, the second-2 answer result 540-2, and the second-2 answer result 540-2 may be displayed.
  • the number of feature values corresponding to the first and second answer results 530-2 may be different from the number of feature values corresponding to the second and second answer results 540-2.
  • some of the plurality of characteristic values corresponding to the first and second answer results 530-2 and the weights for each of the plurality of characteristic values may include the plurality of characteristic values corresponding to the second answer result 540-2 and It may be equal to some of the weights for each of the plurality of feature values.
  • the first characteristic value, the first weight value, the second characteristic value, and the second-2 weight value and the third characteristic value and the third weight value corresponding to the first and second answer results 530-2 are the second and second weight values. 2 may also correspond to the result 540-2.
  • FIG. 6 is a block diagram illustrating a configuration of an electronic device 600 according to another exemplary embodiment.
  • the electronic device 600 of FIG. 6 may be an embodiment of the electronic device 100 of FIG. 1.
  • an electronic device 600 may include a processor 630, a sensor 620, a communication unit 640, an output unit 650, a user input unit 660, and an A / V input unit ( 670 and storage 680 may be included.
  • the processor 630 of FIG. 6 is the processor 330 of FIG. 3, the storage unit 680 of FIG. 6 is the memory 340 of FIG. 3, and the display unit 651 of FIG. 6 is the display unit of FIG.
  • the user input unit 660 and the microphone 672 of FIG. 6 may correspond to the input interface 310 of FIG. 3. Contents identical to those described in FIG. 3 will be omitted in FIG. 6.
  • the communication unit 640 may include one or more components for performing communication between the electronic device 600 and an external device (for example, a server).
  • the communication unit 640 may include a short range communication unit 641, a mobile communication unit 642, and a broadcast receiving unit 643.
  • the short-range wireless communication unit 641 may include a Bluetooth communication unit, a near field communication unit, a WLAN (Wi-Fi) communication unit, a Zigbee communication unit, an infrared ray (IrDA) communication unit, It may include a Wi-Fi Direct communication unit, an ultra wideband communication unit, an Ant + communication unit, and the like, but is not limited thereto.
  • the mobile communication unit 642 transmits and receives a radio signal with at least one of a base station, an external terminal, and a server on a mobile communication network.
  • the wireless signal may include various types of data according to transmission and reception of a voice call signal, a video call call signal, or a text / multimedia message.
  • the broadcast receiving unit 643 receives a broadcast signal and / or broadcast related information from the outside through a broadcast channel.
  • the broadcast channel may include a satellite channel and a terrestrial channel.
  • the electronic device 600 may not include the broadcast receiving unit 643.
  • the communication unit 640 may receive at least one user image from an external device.
  • the output unit 650 is for outputting an audio signal, a video signal, or a vibration signal.
  • the output unit 650 may include a display unit 651, an audio output unit 652, a vibration motor 653, and the like.
  • the sound output unit 652 outputs audio data received from the communication unit 640 or stored in the storage unit 680.
  • the sound output unit 652 outputs a sound signal related to a function (for example, a call signal reception sound, a message reception sound, and a notification sound) performed by the electronic device 100.
  • the sound output unit 652 may include a speaker, a buzzer, and the like. For example, if the recognized user is not a legitimate user, the sound output unit 652 may output an alarm.
  • the vibration motor 653 may output a vibration signal.
  • the vibration motor 653 may output a vibration signal corresponding to the output of audio data or video data (eg, a call signal reception sound, a message reception sound, and the like).
  • the vibration motor 653 may output a vibration signal when a touch is input to the touch screen.
  • the processor 630 controls the overall operation of the electronic device 600.
  • the processor 630 executes programs stored in the storage unit 680, such that the communication unit 640, the output unit 650, the user input unit 660, the sensing unit 620, and the A / V input unit ( 670) and the like.
  • the user input unit 660 means a means for a user to input data for controlling the electronic device 600.
  • the user input unit 660 may include a key pad, a dome switch, a touch pad (contact capacitive type, pressure resistive type, infrared sensing type, surface ultrasonic conduction type, and integral type). Tension measurement method, piezo effect method, etc.), a jog wheel, a jog switch, and the like, but are not limited thereto.
  • the sensor unit 620 may include not only a sensor for sensing biometric information of a user, but also a sensor for detecting a state of the electronic device 600 or a state around the electronic device 600. In addition, the sensor unit 620 may transmit information detected by the sensor to the control unit 620.
  • the sensor unit 620 may include a geomagnetic sensor 621, an acceleration sensor 622, a temperature / humidity sensor 623, an infrared sensor 624, a gyroscope sensor 625, and a position sensor. 626 (eg, GPS), barometric pressure sensor 627, proximity sensor 628, and RGB sensor 629 (illuminance sensor) may include, but are not limited thereto. Since functions of the respective sensors can be intuitively deduced by those skilled in the art from the names, detailed descriptions thereof will be omitted.
  • the A / V input unit 670 is for inputting an audio signal or a video signal, and may include a camera 671 and a microphone 672.
  • the camera 671 may obtain an image frame such as a still image or a moving image through an image sensor in a video call mode or a photographing mode.
  • the image captured by the image sensor may be processed by the processor 630 or a separate image processor (not shown).
  • the image frame processed by the camera 671 may be stored in the storage 680 or transmitted to the outside through the communication unit 640. Two or more cameras 671 may be provided according to a configuration aspect of the electronic device 600.
  • the microphone 672 receives an external sound signal and processes the external sound signal into electrical voice data.
  • the microphone 672 may receive an acoustic signal from an external device or speaker.
  • the microphone 672 may use various noise removing algorithms for removing noise generated in the process of receiving an external sound signal.
  • the storage unit 680 may store a program for processing and controlling the processor 630, and may store input / output data (eg, application, content, time zone information of an external device, address book, etc.).
  • input / output data eg, application, content, time zone information of an external device, address book, etc.
  • the storage unit 680 may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (for example, SD or XD memory), Random Access Memory (RAM) Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), Magnetic Memory, Magnetic It may include a storage medium of at least one type of disk, optical disk.
  • the electronic device 600 may operate a web storage or a cloud server that performs a storage function of the storage unit 680 on the Internet.
  • Programs stored in the storage unit 680 may be classified into a plurality of modules according to their functions.
  • the programs stored in the storage unit 680 may be classified into a UI module 681, a touch screen module 682, and a notification module 683. have.
  • the UI module 681 may provide a specialized UI, GUI, and the like that interoperate with the electronic device 600 for each application.
  • the touch screen module 682 may detect a touch gesture on the user's touch screen and transmit information about the touch gesture to the controller 130.
  • the touch screen module 682 may recognize and analyze the touch code.
  • the touch screen module 682 may be configured as separate hardware including a controller.
  • the notification module 683 may generate a signal for notifying occurrence of an event of the electronic device 600. Examples of events occurring in the electronic device 600 include call signal reception, message reception, key signal input, schedule notification, and the like.
  • the notification module 683 may output a notification signal in the form of a video signal through the display unit 651, or may output the notification signal in the form of an audio signal through the sound output unit 652, or the vibration motor 653. Through the notification signal may be output in the form of a vibration signal.
  • FIG. 7 is a block diagram of a processor 330 according to an embodiment.
  • the processor 330 may include a data learner 1300 and a data determiner 1400.
  • the data learner 1300 may learn a criterion for obtaining an answer result based on the question message.
  • the data learner 1300 may learn a criterion about what data to use and how to judge using the data to obtain an answer result based on the question message.
  • the data learner 1300 may learn a criterion for obtaining an answer result based on a question message by acquiring data to be used for learning and applying the acquired data to a data determination model to be described later.
  • the data determiner 1400 may obtain an answer result based on the question message.
  • the data determiner 1400 may obtain a search result from predetermined data by using the learned data determination model.
  • the data determiner 1400 may obtain predetermined answers based on a question message by acquiring predetermined data according to a predetermined criterion by learning and using a data determination model using the acquired data as an input value. Also, the result value output by the data determination model using the obtained data as an input value can be used to update the data determination model.
  • At least one of the data learner 1300 and the data determiner 1400 may be manufactured in the form of at least one hardware chip and mounted on the electronic device.
  • at least one of the data learner 1300 and the data determiner 1400 may be manufactured in the form of a dedicated hardware chip for artificial intelligence (AI), or an existing general purpose processor (eg, a CPU).
  • AI artificial intelligence
  • the electronic device may be manufactured as a part of an application processor or a graphics dedicated processor (eg, a GPU) and mounted on the aforementioned various electronic devices.
  • the data learner 1300 and the data determiner 1400 may be mounted on one electronic device or may be mounted on separate electronic devices, respectively.
  • one of the data learner 1300 and the data determiner 1400 may be included in the electronic device, and the other may be included in the server.
  • the data learner 1300 and the data determiner 1400 may provide model information constructed by the data learner 1300 to the data determiner 1400 through a wired or wireless connection. Data input to the 1400 may be provided to the data learner 1300 as additional learning data.
  • At least one of the data learner 1300 and the data determiner 1400 may be implemented as a software module.
  • the software module may be a computer readable non-readable. It may be stored in a non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • OS operating system
  • OS operating system
  • others may be provided by a predetermined application.
  • FIG. 8 is a block diagram of the data learner 1300, according to an exemplary embodiment.
  • the data learner 1300 may include a data acquirer 1310, a preprocessor 1320, a training data selector 1330, a model learner 1340, and a model evaluator ( 1350).
  • the data acquirer 1310 may acquire data necessary for obtaining an answer result based on the question message.
  • the data acquirer 1310 may acquire data necessary for learning to obtain an answer result based on the question message.
  • the data acquirer 1310 may acquire data necessary for obtaining an answer result.
  • the data acquirer 1310 may acquire data necessary for learning to obtain an answer result.
  • the data acquirer 1310 may acquire a plurality of question messages.
  • the data acquirer 1310 may receive a question message in the form of a voice message through a microphone of the electronic device 100 including the data learner 1300.
  • the preprocessor 1320 may preprocess the acquired data so that the obtained data may be used for learning to obtain the answer result.
  • the preprocessor 1320 may process the acquired data into a preset format so that the model learner 1340, which will be described later, may use the acquired data to obtain an answer result based on the question message.
  • the training data selector 1330 may select data necessary for learning from the preprocessed data.
  • the selected data may be provided to the model learner 1340.
  • the training data selector 1330 may select data necessary for learning from preprocessed data according to a preset criterion for obtaining an answer result.
  • the training data selector 1330 may select data according to a preset criterion by learning by the model learner 1340, which will be described later.
  • the model learner 1340 may learn a criterion on how to obtain an answer result based on the training data. In addition, the model learner 1340 may learn a criterion about what training data should be used to obtain an answer result.
  • the model learner 1340 may learn a criterion for determining a characteristic value corresponding to the question message and a weight for the characteristic value. Also, for example, the model learner 1340 based on the characteristic value and the weight of the characteristic value corresponding to each of the plurality of question messages stored in the database, the characteristic value and the characteristic value corresponding to the received question message. You can learn the criteria for determining the weight for. In addition, the model learner 1340 may learn a criterion for determining a characteristic value corresponding to the question message and a weight for the characteristic value in order to obtain an answer result from the question message.
  • the model learner 1340 may train the data determination model used to obtain the answer result from the question message using the training data.
  • the data determination model may be a model built in advance.
  • the data determination model may be a model built in advance by receiving basic training data (eg, a question message).
  • the data decision model may be constructed in consideration of the field of application of the decision model, the purpose of learning, or the computer performance of the device.
  • the data decision model may be, for example, a model based on a neural network.
  • a model such as a deep neural network (DNN), a recurrent neural network (RNN), and a bidirectional recurrent deep neural network (BRDNN) may be used as the data determination model, but is not limited thereto.
  • the model learner 1340 may determine, as a data determination model, a data determination model having a high correlation between input training data and basic training data.
  • the basic training data may be previously classified according to the type of data, and the data determination model may be pre-built for each type of data.
  • the basic training data is classified based on various criteria such as the region where the training data is generated, the time at which the training data is generated, the size of the training data, the genre of the training data, the creator of the training data, and the types of objects in the training data. It may be.
  • model learner 1340 may train the data determination model using, for example, a learning algorithm including an error back-propagation method or a gradient descent method.
  • model learner 1340 may train the data determination model through, for example, supervised learning using the training data as an input value.
  • the model learning unit 1340 learns the criteria for obtaining the answer result by learning the kind of data necessary for obtaining the answer result based on the question message, for example, without any guidance. Through unsupervised learning, we can train the data decision model.
  • the model learner 1340 may train the data decision model through, for example, reinforcement learning using feedback on whether the obtained answer result of learning is correct.
  • the model learner 1340 may store the trained data decision model.
  • the model learner 1340 may store the learned data decision model in a memory of the electronic device including the data determiner 1400.
  • the model learner 1340 may store the learned data determination model in a memory of an electronic device including the data determiner 1400, which will be described later.
  • the model learner 1340 may store the learned data determination model in a memory of a server connected to the electronic device through a wired or wireless network.
  • the memory in which the learned data determination model is stored may store, for example, commands or data related to at least one other element of the electronic device.
  • the memory may also store software and / or programs.
  • the program may include, for example, a kernel, middleware, an application programming interface (API) and / or an application program (or “application”), and the like.
  • the model evaluator 1350 may input the evaluation data into the data determination model, and when the determination result output from the evaluation data does not satisfy a predetermined criterion, may cause the model learner 1340 to relearn.
  • the evaluation data may be preset data for evaluating the data determination model.
  • the model evaluator 1350 does not satisfy a predetermined criterion when the number or ratio of evaluation data in which the determination result is not accurate among the determination results of the learned data determination model for the evaluation data exceeds a preset threshold. It can be evaluated as not. For example, when a predetermined criterion is defined as a ratio of 2%, the model evaluator 1350 learns when the learned data decision model outputs an incorrect decision result for more than 20 evaluation data out of a total of 1000 evaluation data. It can be estimated that the data determination model is not suitable.
  • the model evaluator 1350 evaluates whether the learned value values and the temporary value determination models for the characteristic values satisfy predetermined criteria, and satisfy the predetermined criteria.
  • the model to be determined can be determined as the final data decision model.
  • the model evaluator 1350 may determine one or a predetermined number of models that are set in the order of the highest evaluation score as the final data determination model.
  • At least one of the data acquirer 1310, the preprocessor 1320, the training data selector 1330, the model learner 1340, and the model evaluator 1350 in the data learner 1300 may be at least one. May be manufactured in the form of a hardware chip and mounted on an electronic device.
  • at least one of the data acquirer 1310, the preprocessor 1320, the training data selector 1330, the model learner 1340, and the model evaluator 1350 may be artificial intelligence (AI). It may be manufactured in the form of a dedicated hardware chip, or may be manufactured as a part of an existing general purpose processor (eg, a CPU or an application processor) or a graphics dedicated processor (eg, a GPU) and mounted on the aforementioned various electronic devices.
  • AI artificial intelligence
  • the data acquirer 1310, the preprocessor 1320, the training data selector 1330, the model learner 1340, and the model evaluator 1350 may be mounted in one electronic device or may be separate. Each of the electronic devices may be mounted on the electronic device. For example, some of the data acquirer 1310, the preprocessor 1320, the training data selector 1330, the model learner 1340, and the model evaluator 1350 are included in the electronic device, and some of the data are included in the electronic device. Can be included on the server.
  • At least one of the data acquirer 1310, the preprocessor 1320, the training data selector 1330, the model learner 1340, and the model evaluator 1350 may be implemented as a software module.
  • At least one of the data acquirer 1310, the preprocessor 1320, the training data selector 1330, the model learner 1340, and the model evaluator 1350 includes a software module (or instruction).
  • the software module When implemented as a program module, the software module may be stored in a computer-readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • some of the at least one software module may be provided by an operating system (OS), and others may be provided by a predetermined application.
  • FIG. 9 is a block diagram of the data determiner 1400, according to an exemplary embodiment.
  • the data determiner 1400 may include a data acquirer 1410, a preprocessor 1420, a decision data selector 1430, a decision result provider 1440, and a model updater. 1450.
  • the data acquirer 1410 may acquire data necessary for obtaining an answer result based on the question message, and the preprocessor 1420 may use the obtained data to obtain an answer result based on the question message.
  • the acquired data can be preprocessed to make it available.
  • the preprocessor 1420 may process the acquired data into a preset format so that the decision result providing unit 1440, which will be described later, may use the acquired data to obtain an answer result based on the question message.
  • the decision data selector 1430 may select data necessary for obtaining an answer result based on the question message from the preprocessed data.
  • the selected data may be provided to the decision result providing unit 1440.
  • the decision data selector 1430 may select some or all of the preprocessed data according to a preset criterion for obtaining the answer result based on the answer result.
  • the decision data selector 1430 may select data according to a predetermined criterion by learning by the model learner 1340, which will be described later.
  • the decision result providing unit 1440 may obtain the answer result based on the question message by applying the selected data to the data decision model.
  • the determination result providing unit 1440 may provide the determination result according to the determination purpose of the data.
  • the determination result providing unit 1440 may apply the selected data to the data determination model by using the data selected by the determination data selecting unit 1430 as an input value.
  • the determination result may be determined by the data determination model.
  • the determination result providing unit 1440 may provide a weight for the characteristic value and the characteristic value corresponding to the question message.
  • the characteristic value corresponding to the answer result may be an element causing the answer result to be derived from the question message.
  • the feature value may be a keyword that is a word or phrase extracted from a title or content, in order to express content included in an answer result, but is not limited thereto.
  • the number of feature values corresponding to the answer result may be plural but is not limited thereto.
  • the weight of the feature value may mean the importance of the feature value in the answer result.
  • the weight may be expressed not only as a quantitative number but also as a relative importance of a specific characteristic value among various characteristic values that the characteristic values of the same category may have.
  • the determination result providing unit 1440 may provide an answer result corresponding to the characteristic value and the weight for the characteristic value.
  • the model updater 1450 may cause the data determination model to be updated based on the evaluation of the determination result provided by the determination result providing unit 1440. For example, the model updater 1450 may provide the model learner 1340 with the decision result provided by the decision result provider 1440 so that the model learner 1340 updates the data decision model. have.
  • At least one of the data acquisition unit 1410, the preprocessor 1420, the determination data selection unit 1430, the determination result providing unit 1440, and the model updating unit 1450 in the data determination unit 1400 is at least It may be manufactured in the form of one hardware chip and mounted on an electronic device.
  • at least one of the data acquirer 1410, the preprocessor 1420, the decision data selector 1430, the decision result provider 1440, and the model updater 1450 may be artificial intelligence (AI).
  • AI artificial intelligence
  • the data obtaining unit 1410, the preprocessor 1420, the decision data selecting unit 1430, the decision result providing unit 1440, and the model updating unit 1450 may be mounted in one electronic device or may be separate. May be mounted on the electronic devices.
  • some of the data obtaining unit 1410, the preprocessor 1420, the decision data selecting unit 1430, the decision result providing unit 1440, and the model updating unit 1450 are included in the electronic device, and some of the remaining units are included in the electronic device. May be included in the server.
  • At least one of the data acquirer 1410, the preprocessor 1420, the decision data selector 1430, the decision result provider 1440, and the model updater 1450 may be implemented as a software module.
  • At least one of the data obtaining unit 1410, the preprocessor 1420, the decision data selecting unit 1430, the decision result providing unit 1440, and the model updating unit 1450 may be a software module (or instruction).
  • the software module When implemented as a program module, the software module may be stored in a computer-readable non-transitory computer readable media.
  • at least one software module may be provided by an operating system (OS) or by a predetermined application.
  • some of the at least one software module may be provided by an operating system (OS), and others may be provided by a predetermined application.
  • FIG. 10 is a diagram illustrating an example in which the electronic device 100 and the server 2000 learn and determine data by interworking with each other, according to an exemplary embodiment.
  • the server 2000 may learn a criterion for obtaining an answer result based on a question message, and the electronic device 100 may obtain an answer result based on the learning result by the server 2000. Can be obtained.
  • the model learner 2340 of the server 2000 may perform a function of the model learner 1340 illustrated in FIG. 8.
  • the model learner 2340 of the server 2000 may select a criterion about what data to use to obtain an answer result based on the question message and how to obtain an answer result based on the question message using the data. I can learn.
  • the model learner 2340 acquires data to be used for learning, and applies the acquired data to a data determination model to be described later, thereby learning a criterion for obtaining an answer result based on a question message.
  • the determination result providing unit 1440 of the electronic device 100 may apply the data selected by the determination data selection unit 1430 to the data determination model generated by the server 2000 to obtain an answer result.
  • the determination result providing unit 1440 transmits the data selected by the determination data selection unit 1430 to the server 2000, and the server 2000 determines the data selected by the determination data selection unit 1430. Based on the question message applied to the model, one may request to obtain the answer result.
  • the decision result providing unit 1440 may receive information about the answer result obtained by the server 2000 from the server 2000.
  • the determination result providing unit 1440 of the electronic device 100 receives the determination model generated by the server 2000 from the server 2000 and based on the question message using the received determination model, answers the result. Can be obtained.
  • the determination result providing unit 1440 of the electronic device 100 applies the data selected by the determination data selecting unit 1430 to the data determination model received from the server 2000, and based on the question message, the answer result. Can be obtained.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시는 일 실시예에 따른 전자 장치의 검색 서비스 제공 방법을 제안한다. 검색 서비스 제공 방법은 질문 메시지를 수신하는 단계, 질문 메시지에 기초하여, 답변 결과를 획득하는 단계, 답변 결과, 상기 답변 결과에 대응하는 특성 값, 및 상기 특성 값에 대한 가중치를 표시하는 단계, 사용자의 입력에 기초하여, 상기 특성 값 및 상기 가중치 중 적어도 하나를 변경하는 단계, 및 변경된 상기 특성 값 및 변경된 상기 가중치 중 적어도 하나에 기초하여, 답변 결과를 재 획득하여, 표시하는 단계를 포함할 수 있다.

Description

전자 장치 및 전자 장치의 검색 서비스 제공 방법
전자 장치 및 전자 장치의 검색 서비스 제공 방법에 관한 것으로서, 구체적으로, 사용자의 자연어 질의에 따른 초기 답변 결과에 대한 사용자의 피드백을 통하여, 사용자의 의도에 부합하는 답변을 제공하는 기술을 제안한다.
종래 사용자의 검색 요청에 따라, 검색 의도에 부합하는 검색 결과를 제공하기 위하여 다양한 검색 서비스 관련 기술이 제안 되었다.
특히, 최근에는 사용자의 자연어 질의를 분석하여, 최적의 답변 결과를 제공하는 자연어 질의를 통한 답변 제공 시스템에 대한 연구가 활발히 진행되고 있다.
그러나, 제공된 답변 결과가 질의 의도에 부합하지 않은 경우, 사용자는 자연어 질의를 전체적으로 변경 하여야 하는 문제점이 있다. 또한, 변경된 질의에 의하여도, 적합한 답변 결과가 보장될 수 없다.
이와 같이 문제점을 해결하기 위하여, 사용자의 자연어 질의에 따른 초기 답변 결과에 대한 사용자의 간단한 피드백을 통하여, 사용자의 의도에 부합하는 답변을 제공하는 기술이 마련될 필요가 있다.
검색 서비스를 제공하는 전자 장치 및 그 방법을 제공한다.
질문 메시지에 기초하여 획득된 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 답변 결과와 함께 제공하여, 사용자의 재 질의가 용이하도록 하기 위한 전자 장치 및 전자 장치의 검색 서비스 제공 방법을 제안한다.
도 1은, 일 실시 예에 따른 전자 장치에 의하여 제공되는 검색 서비스를 개략적으로 설명하기 위한 도면이다.
도 2는, 일 실시 예에 따른 전자 장치가 검색 서비스를 제공하는 방법의 흐름도를 도시한 도면이다.
도 3은, 일 실시 예에 따른 검색 서비스를 제공하는 전자 장치의 구성을 나타내는 블록도를 도시한 도면이다.
도 4는, 일 실시 예에 따른 전자 장치가 질의어(Query language)를 생성하는 방법의 흐름도를 도시한 도면이다.
도 5a 내지 도 5c는, 전자 장치가 사용자 입력에 기초하여 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 일 예를 도시하는 도면들이다.
도 6은, 다른 실시 예에 따른 전자 장치의 구성을 나타내는 블록도를 도시한 도면이다.
도 7은, 일 실시 예에 따른 프로세서의 블록도를 도시한 도면이다.
도 8는, 일 실시 예에 따른 데이터 학습부의 블록도를 도시한 도면이다.
도 9는, 일 실시 예에 따른 데이터 결정부의 블록도를 도시한 도면이다.
도 10은, 일 실시 예에 따른 전자 장치 및 서버가 서로 연동함으로써 데이터를 학습하고 결정하는 예시를 나타내는 도면이다.
본 개시의 실시 예에 따른 검색 서비스 제공 방법은 질문 메시지를 수신하는 단계, 질문 메시지에 기초하여, 답변 결과를 획득하는 단계, 답변 결과, 답변 결과에 대응하는 특성 값, 및 특성 값에 대한 가중치를 표시하는 단계, 사용자의 입력에 기초하여, 특성 값 및 가중치 중 적어도 하나를 변경하는 단계, 및 변경된 특성 값 및 변경된 가중치 중 적어도 하나에 기초하여, 답변 결과를 재 획득하여, 표시하는 단계를 포함할 수 있다.
본 개시의 일 실시 예에 따른 전자 장치는 질문 메시지를 수신하는 입력 인터페이스, 디스플레이부, 하나 이상의 인스트럭션들을 저장하는 메모리, 및 메모리에 저장된 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고, 프로세서는 하나 이상의 인스트럭션들을 실행함으써, 질문 메시지에 기초하여, 답변 결과를 획득하고, 답변 결과, 답변 결과에 대응하는 특성 값, 및 특성 값에 대한 가중치를 디스플레이부에 표시하도록 제어하고, 사용자의 입력에 기초하여, 특성 값 및 가중치 중 적어도 하나를 변경하고, 변경된 특성 값 및 변경된 가중치 중 적어도 하나에 기초하여, 답변 결과를 재 획득하여, 디스플레이부에 표시하도록 제어할 수 있다.
이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시 예에 의해 발명을 상세히 설명하기로 한다. 하기 실시 예는 발명을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시 예로부터 발명이 속하는 기술분야의 전문가가 용이하게 유추할 수 있는 것은 발명의 권리범위에 속하는 것으로 해석된다.
본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 실시 예들은 검색 서비스를 제공하는 방법 및 장치에 관한 것으로서, 이하의 실시 예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
도 1은, 전자 장치(100)에 의하여 제공되는 검색 서비스를 개략적으로 설명하기 위한 도면이다.
전자 장치(100)는 검색 서비스를 제공할 수 있다.
예를 들어 전자 장치(100)는, 휴대폰, 스마트 폰(smart phone), 모바일 폰(mobile phone), 스마트 폰(smart phone), 디지털 방송용 단말기, PDAs(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션, MP3 플레이어, 캠코더, IPTV(Internet Protocol Television), DTV(Digital Television), 착용형 기기(wearable device, 예를 들어, 스마트 글래스(smart glass) 등)), 노트북 컴퓨터(laptop computer), 데스크 탑, 태블릿(tablet), 패블릿(phablet), 스마트 애플리케이션(smart application), 텔레비전(television), 소비자 전자 디바이스(consumer electronic device), 모니터(monitor), 듀얼 디스플레이 디바이스(dual display device), 또는 다른 전자 디바이스 등을 포함할 수 있으나 이에 제한되지 아니한다.
전자 장치(100)는 사용자(170)로부터 질문 메시지를 수신할 수 있다.
예를 들어, 질문 메시지는 음성 메시지, 텍스트 메시지일 수 있으나 이에 제한되지 아니한다. 일 실시예에 따른, 전자 장치(100)는 마이크로폰을 통하여, 사용자의 질문 메시지를 포함하는 음성 신호를 감지할 수 있다. 또한, 전자 장치(100)는 감지된 음성 신호로부터 음성 데이터를 생성 하고, 생성된 음성 데이터에 기초하여 텍스트로 변환할 수 있다.
일 실시 예에 따른, 질문 메시지는 자연어로 구성된 질문 메시지일 수 있다. 본원에서, 자연어란 인간이 일상적으로 사용하는 언어로서 인공적으로 만들어진 언어인 인공어, 예를 들어, 프로그램 언어, 스크립트 언어 등과 구별되는 언어이다.
전자 장치(100)는 질문 메시지에 기초하여, 답변 결과를 획득할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 질문 메시지에 기초하여, 데이터베이스(database: DB)로부터 답변 결과를 획득할 수 있다.
일 실시 예에 따른, 데이터베이스는 지식 베이스(knowledge base: KB)일 수 있다. 본원에서, 지식 베이스란, 전문가 시스템의 구성 요소의 하나로, 특정 분야의 전문가가 지적 활동과 경험을 통해서 축적한 전문 지식이나 문제 해결에 필요한 사실과 규칙 등이 저장되어 있는 데이터베이스일 수 있다.
일 실시 예에 따른, 전자 장치(100)는 복수의 데이터베이스와 통신 네트워크(130)를 형성하고, 데이터를 송수신할 수 있다. 예를 들어, 전자 장치(100)는 데이터베이스와 인터넷과 같은 소정의 유무선 통신망을 통하여 서로 연결될 수 있으나 이에 제한되지 아니한다.
일 실시 예에 따른, 전자 장치(100)는 질문 메시지에 기초하여, 질문 메시지와 관련된 검색 대상데이터베이스를 결정할 수 있다. 전자 장치(100)는, 통신 네트워크(130)를 통하여, 결정된 데이터베이스(140)로부터 답변 결과를 획득할 수 있다.
예를 들어, 답변 결과는 웹 문서 또는 웹 문서에 접근 가능한 URL(uniform resource locator)을 포함할 수 있으나 이에 제한되지 아니한다.
일 실시 예에 따른, 전자 장치(100)는 획득된 답변 결과를 표시할 수 있다.
전자 장치(100)는 획득된 답변 결과 및 답변 결과에 대응하는 특성 값 및 특성 값의 가중치를 표시할 수 있다.
답변 결과에 대응하는 특성 값은 질문 메시지로부터 답변 결과가 도출되는 원인이 된 요소일 수 있다. 예를 들어, 특성 값은 답변 결과에 포함된 내용을 표현하는 제목이나 내용으로부터 추출된 키워드일 수 있으나 이에 제한되지 아니한다. 예를 들어, 답변 결과에 대응하는 특성 값의 개수는 복수 개일 수 있으나 이에 제한되지 아니한다.
특성 값의 가중치는 특성 값이 답변 결과에서 차지하는 중요도를 의미할 수 있다. 예를 들어, 가중치는 정량적 숫자뿐만 아니라 동일 카테고리의 특성 값이 가질 수 있는 여러 특성 값들 중 해당 특성 값의 상대적인 중요도로 표현될 수 있다.
예를 들어, 특성 값이 답변 결과인 웹 문서와 관련된 키워드인 경우, 가중치는 웹 문서 내에서 키워드가 나타나는 빈도수, 웹 문서 내에서 키워드가 포함된 문장의 위치 등에 기초하여 결정될 수 있다. 예를 들어, 웹 문서의 제목을 구성하는 문장에 포함된 키워드의 가중치는 다른 문장에 포함된 키워드의 가중치보다 크게 결정될 수 있다.
일 실시 예에 따른, 전자 장치(100)는 사용자의 입력에 기초하여 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 입력을 수신할 수 있다.
예를 들어, 전자 장치(100)는 특성 값의 가중치를 답변 결과에 대응하는 특성 값의 가중치보다 크게 변경하는 사용자의 입력을 수신할 수 있다. 전자 장치(100)는 사용자의 입력에 기초하여, 특성 값의 가중치를 답변 결과에 대응하는 특성 값에 대한 가중치보다 크게 변경할 수 있다.
전자 장치(100)는 변경된 특성 값 및 특성 값에 대한 가중치에 기초하여, 답변 결과를 재 획득할 수 있다.
예를 들어, 전자 장치(100)는 변경된 특성 값 및 특성 값에 대한 가중치에 기초하여, 질문 메시지와 관련된 답변 결과를 검색할 데이터베이스(150)를 결정할 수 있다. 또한, 전자 장치(100)는 결정된 데이터베이스(150)로부터 답변 결과를 재 획득할 수 있다.
일 실시예에 따른, 전자 장치(100)는 재 획득된 답변 결과 및 재 획득된 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 표시할 수 있다.
도 2는, 일 실시 예에 따른 전자 장치(100)가 검색 서비스를 제공하는 방법의 흐름도를 도시한 도면이다.
단계 210에서, 일 실시 예에 따른 전자 장치(100)는 질문 메시지를 수신할 수 있다.
예를 들어, 전자 장치(100)는 질문 메시지를 음성 메시지의 형태로 수신할 수 있다. 도 1의 설명에서 언급한 바와 같이, 전자 장치(100)는 자연어 질문 메시지를 수신할 수 있다.
단계 220에서, 일 실시 예에 따른 전자 장치(100)는 질문 메시지에 기초하여 답변 결과를 획득할 수 있다.
일 실시 예에 따른, 전자 장치(100)는, 질문 메시지에 포함된 자연어 질의의 내용을 분석하여 사용자의 질의 의도(intention)를 판단할 수 있다. 또한, 전자 장치(100)는 판단된 질의 의도에 기초하여 질문 메시지에 대응하는 특성 값(feature value) 및 특성 값에 대한 가중치(weight)를 결정할 수 있다.
예를 들어, 전자 장치(100)는 질문 메시지에 포함된 단어들 중, 단어의 빈도수, 질문 메시지 내에 단어가 포함된 문장의 위치, 단어의 형태소 분석 등에 기초하여 결정된 키워드를 특성 값으로 결정할 수 있다. 또한, 전자 장치(100)는 결정된 키워드의 빈도수, 키워드가 포함된 문장의 위치, 키워드의 형태소 분석 등에 기초하여, 결정된 키워드의 가중치를 결정할 수 있다.
예를 들어, 전자 장치(100)는 질문 메시지에 포함된 첫 번째 문장에 포함된 단어들 중 빈도수가 가장 큰 단어를 키워드로 결정할 수 있다. 또한, 예를 들어, 전자 장치(100)는, 빈도 수가 적은 단어라도 문장 내에서 주어 또는 목적어에 해당하는 단어를 키워드로 결정할 수 있다.
일 실시예에 따른, 전자 장치(100)는 질문 메시지에 포함하는 복수의 특성 값을 결정할 수 있다. 또한, 예를 들어, 전자 장치(100)는 특성 값에 대한 일정 범위의 가중치를 결정할 수 있다.
단계 230에서, 일 실시 예에 따른 전자 장치(100)는 결정된 특성 값 및 특성 값에 대한 가중치에 기초하여, 답변 결과를 획득할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 웹 문서에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여, 결정된 특성 값 및 특성 값에 대한 가중치에 대응하는 웹 문서를 결정할 수 있다. 전자 장치(100)는 결정된 웹 문서 및 결정된 웹 문서의 URL 중 적어도 하나를 획득할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 색인 데이터베이스를 구축할 수 있다. 예를 들어, 전자 장치(100)는 복수의 웹 문서들 각각에 대응하는 특성 값 및 특성 값에 대한 가중치를 색인화하여 색인 데이터베이스를 구축할 수 있다. 또한, 일 예로서, 전자 장치(100)는 웹 문서의 URL, 웹 문서에 대응하는 특성 값 및 특성 값에 대한 가중치를 매칭하여 색인 데이터베이스를 구축할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 색인 데이터베이스로부터, 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여 결정된 웹 문서의 URL을 획득할 수 있다.
다른 일 실시 예에 따른, 전자 장치(100)는 별도의 색인 데이터베이스를 구축하지 않고, 외부 데이터베이스로부터 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여 답변 결과를 획득할 수 있다. 예를 들어, 전자 장치(100)는 외부 검색 엔진을 이용하여 외부 데이터베이스로부터 획득한 답변 결과 각각의 특성 값 및 특성 값에 대한 가중치를 결정하고, 답변 결과들 중 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여 답변 결과를 획득할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 복수의 특성 값들의 조합에 기초하여, 복수의 답변 결과를 획득할 수 있다. 또한, 예를 들어, 전자 장치(100)는 특성 값에 대한 가중치의 범위에 기초하여, 복수의 답변 결과들을 획득할 수 있다.
단계 240에서, 일 실시 예에 따른 전자 장치(100)는 답변 결과, 답변 결과에 대응하는 특성 값, 및 특성 값에 대한 가중치를 표시할 수 있다.
전자 장치(100)는 답변 결과, 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 결합하여 표시할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 상호간 특성 값 및 특성 값에 대한 가중치 중 적어도 하나가 다른 복수의 답변 결과들을 표시할 수 있다. 예를 들어, 전자 장치(100)는 미리 결정된 기준에 따라, 복수의 답변 결과 각각에 대하여 질의 의도와의 적합도를 결정할 수 있다. 예를 들어, 전자 장치(100)는 적합도가 높은 순서에 따라 복수의 답변 결과 각각의 순위를 결정할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 순위가 높은 순서로 기 설정된 개수의 답변 결과 및 기 설정된 개수의 답변 결과 각각에 대응하는 특성 값 및 특성 값에 대한 가중치를 표시할 수 있다.
단계 250에서, 일 실시 예에 따른 전자 장치(100)는 사용자의 입력에 기초하여, 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경할 수 있다.
일 실시 예에 따른 전자 장치(100)는 답변 결과를 재 획득하기 위한 사용자의 입력을 수신할 수 있다. 예를 들어, 전자 장치(100)는 답변 결과에 대응하는 특성 값을 변경 또는 추가하는 사용자의 입력을 수신할 수 있다. 다른 일 예에 따른, 전자 장치(100)는 답변 결과에 대응하는 특성 값에 대한 가중치를 변경하는 사용자의 입력을 수신할 수 있다.
일 실시 예에 따른 전자 장치(100)는 상호간 특성 값 및 특성 값에 대한 가중치 중 적어도 하나가 다른 복수의 답변 결과 중 적어도 하나의 답변 결과를 선택하는 사용자의 입력을 수신할 수 있다. 또한, 전자 장치(100)는 복수의 답변 결과 중 적어도 하나의 답변 결과를 선택하고, 선택된 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 사용자의 입력을 수신할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 사용자의 입력에 기초하여, 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경할 수 있다.
단계 260에서, 일 실시 예에 따른 전자 장치(100)는 변경된 특성 값 및 변경된 가중치 중 적어도 하나에 기초하여, 답변 결과를 재 획득하여, 표시할 수 있다.
전자 장치(100)는 변경된 특성 값 및 특성 값에 대한 가중치에 기초하여, 답변 결과를 재 획득할 수 있다. 전자 장치(100)는 재 획득된 답변 결과 및 재 획득된 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 표시할 수 있다.
도 3은, 일 실시 예에 따른 전자 장치(100)의 구조를 도시한 블록도이다.
도 3을 참조하면, 전자 장치(100)는 입력 인터페이스(310), 디스플레이부(320), 프로세서(330), 및 메모리(340)를 포함할 수 있다.
일 실시 예에 따른, 입력 인터페이스(310), 디스플레이부(320), 프로세서(330), 및 메모리(340)는 버스 등을 통하여 전기적으로 연결될 수 있다. 도 3에 도시된 전자 장치(100)에는 본 실시 예와 관련된 구성요소들만이 도시되어 있다. 따라서, 도 3에 도시된 구성요소들 외에 다른 범용적인 구성요소들이 더 포함될 수 있음을 본 실시 예와 관련된 기술분야에서 통상의 지식을 가진 자라면 이해할 수 있을 것이다.
이하 상기 구성요소들에 대해 차례로 살펴본다.
일 실시 예에 따른 입력 인터페이스(310)는 사용자가 전자 장치(100)를 제어하기 위한 데이터를 입력하는 수단을 포함할 수 있다.
입력 인터페이스 (310)는 마이크, 키보드, 마우스, 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 키(key) 버튼 등, 외부 입력에 기초하여 전자 장치(100)를 조작할 수 있는 각종 입력 장치를 포함할 수 있으나 이에 제한되지 아니한다.
일 실시 예에 따른, 입력 인터페이스(310)는 질문 메시지를 수신할 수 있다.
예를 들어, 입력 인터페이스(310)는 질문 메시지를 음성 메시지의 형태로 수신할 수 있다. 상기 언급한 바와 같이, 입력 인터페이스(310)는 자연어로 구성된 질문 메시지를 수신할 수 있다.
예를 들어, 전자 장치(100)는 마이크로폰을 통하여, 질문 메시지를 음성 신호로 수신할 수 있다. 상술한 바와 같이 전자 장치(100)는 마이크로폰을 통하여, 수신된 음성 신호를 인식하고, 인식된 음성 신호를 텍스트로 변환할 수 있다. 또한, 전자 장치(100)는 키보드 또는 키패드 등 텍스트를 입력하는 장치를 통하여, 질문 메시지를 텍스트로 수신할 수 있다.
디스플레이부(320)는 LCD, LED 모듈 등 화면을 시각적으로 디스플레이 하기 위한 수단을 포함할 수 있다.
디스플레이부(320)는, 프로세서(330)에서 처리된 영상 신호, 데이터 신호, OSD 신호, 제어 신호 등을 변환하여 구동 신호를 생성한다. 디스플레이부(320)는 PDP, LCD, OLED, 플렉시블 디스플레이(flexible display)등으로 구현될 수 있으며, 또한, 3차원 디스플레이(3D display)로 구현될 수 있다. 또한, 디스플레이부(320)는, 터치 스크린으로 구성되어 출력 장치 이외에 입력 장치로 사용되는 것도 가능하다.
예를 들어, 디스플레이부(320)는, 답변 결과 및 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 디스플레이 할 수 있다. 또한, 디스플레이부(320)는, 복수의 답변 결과 및 복수의 답변 결과 각각에 대응하는 특성 값 및 특성 값에 대한 가중치를 디스플레이 할 수 있다.
프로세서(330)는 CPU, GPU 등, 적어도 하나 이상의 프로세서를 포함할 수 있으나 이제 제한되지 아니한다. 또한, 프로세서(330)는 메모리(340)에 저장되는 하나 이상의 프로그램들을 실행할 수 있다. 프로세서(330)는 싱글 코어, 듀얼 코어, 트리플 코어, 쿼드 코어 및 그 배수의 코어를 포함할 수 있다. 또한, 프로세서(330)는 복수의 프로세서를 포함할 수 있다. 예를 들어, 프로세서(330)는 메인 프로세서(main processor, 도시되지 아니함) 및 슬립 모드(sleep mode)에서 동작하는 서브 프로세서(sub processor, 도시되지 아니함)로 구현될 수 있다.
메모리(340)는 하드 디스크 드라이브(HDD: Hard Disk Drive)나 플래시 메모리 등 디지털 데이터를 저장하는 비 휘발성 저장매체를 포함할 수 있으나 이에 제한되지 아니한다. 또한, 일 실시 예에 따른, 메모리(340)는 전자 장치(100)를 구동하고 제어하기 위한 다양한 데이터, 프로그램 또는 어플리케이션을 저장할 수 있다. 또한, 메모리(340)에 저장되는 프로그램은 하나 이상의 인스트럭션들을 포함할 수 있다. 메모리(340)에 저장된 프로그램(하나 이상의 인스트럭션들) 또는 어플리케이션은 프로세서(330)에 의해 실행될 수 있다.
일 실시 예에 따른, 프로세서(330)는 질문 메시지에 기초하여 답변 결과를 획득할 수 있다.
일 실시 예에 따른, 프로세서(330)는 질문 메시지에 포함된 자연어 질의 내용을 분석하여 사용자의 질의 의도를 판단할 수 있다. 또한, 프로세서(330)는 판단된 질의 의도에 기초하여, 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치를 결정할 수 있다.
예를 들어, 프로세서(330)는 질문 메시지에 포함된 단어들 중, 단어의 빈도수, 질문 메시지 내에 단어가 포함된 문장의 위치, 단어의 형태소 분석 등에 기초하여 결정된 키워드를 특성 값으로 결정할 수 있다. 또한, 프로세서(330)는 결정된 키워드의 빈도수, 키워드가 포함된 문장의 위치, 키워드의 형태소 분석 등에 기초하여, 결정된 키워드의 가중치를 결정할 수 있다.
예를 들어, 프로세서(330)는 질문 메시지에 포함된 첫 번째 문장에 포함된 단어들 중 빈도수가 가장 큰 단어를 키워드로 결정할 수 있다. 또한, 프로세서(330)는, 빈도 수가 적은 단어라도 문장 내에서 주어 또는 목적어에 해당하는 단어를 키워드로 결정할 수 있다.
예를 들어, 프로세서(330)는 질문 메시지에 포함하는 복수의 특성 값을 결정할 수 있다. 또한, 프로세서(330)는 특성 값에 대한 일정 범위의 가중치를 결정할 수 있다.
일 실시 예에 따른, 프로세서(330)는 결정된 특성 값 및 특성 값에 대한 가중치에 기초하여, 답변 결과를 획득할 수 있다.
예를 들어, 프로세서(330)는 웹 문서에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여, 결정된 특성 값 및 특성 값에 대한 가중치에 대응하는 웹 문서를 결정할 수 있다. 또한, 프로세서(330)는 결정된 웹 문서 및 결정된 웹 문서의 URL 중 적어도 하나 획득할 수 있다.
일 실시 예에 따른, 프로세서(330)는 웹 문서들 각각에 대응하는 특성 값 및 특성 값에 대한 가중치를 색인화하여 색인 데이터베이스를 구축할 수 있다. 또한, 프로세서(330)는 웹 문서의 URL, 웹 문서에 대응하는 특성 값 및 특성 값에 대한 가중치를 매칭하여 색인 데이터베이스를 구축할 수 있다. 또한, 프로세서(330)는 색인 데이터베이스로부터, 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여 결정된 웹 문서의 URL을 획득할 수 있다.
다른 일 실시 예에 따른, 프로세서(330)는 별도의 색인 데이터베이스를 구축하지 않고, 외부 데이터베이스로부터 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여 답변 결과를 획득할 수 있다. 예를 들어, 프로세서(330)는 외부 검색 엔진을 이용하여 외부 데이터베이스로부터 획득한 답변 결과 각각의 특성 값 및 특성 값에 대한 가중치를 결정하고, 답변 결과들 중 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여 답변 결과를 획득할 수 있다.
예를 들어, 프로세서(330)는 복수의 특성 값의 가능한 모든 조합에 기초하여, 복수의 답변 결과를 획득할 수 있다. 또한, 프로세서(330)는 특성 값에 대한 가중치의 범위에 기초하여, 복수의 답변 결과들을 획득할 수 있다.
일 실시 예에 따른, 프로세서(330)는 답변 결과, 답변 결과에 대응하는 특성 값, 및 특성 값에 대한 가중치를 디스플레이부(320)에 표시하도록 제어할 수 있다.
일 실시 예에 따른, 프로세서(330)는 답변 결과, 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 결합하여 표시할 수 있다. 예를 들어, 프로세서(330)는 답변 결과에 대응하는 특성 값의 개수가 복수 개인 경우, 답변 결과, 복수의 특성 값 및 복수의 특성 값 각각의 가중치를 표시할 수 있다.
예를 들어, 프로세서(330)는 상호간 특성 값 및 특성 값에 대한 가중치 중 적어도 하나가 다른 복수의 답변 결과들을 표시할 수 있다. 프로세서(330)는 미리 결정된 기준에 따라, 복수의 답변 결과 각각의 특성 값 및 특성 값에 대한 가중치에 기초하여, 복수의 답변 결과들 각각의 적합도를 결정할 수 있다. 예를 들어, 프로세서(330)는 적합도가 높은 순서에 따라 복수의 답변 결과들 각각의 순위를 결정할 수 있다.
예를 들어, 프로세서(330)는 순위가 높은 순서로 기 설정된 개수의 답변 결과 및 기 설정된 개수의 답변 결과 각각에 대응하는 특성 값 및 특성 값에 대한 가중치를 표시할 수 있다.
일 실시 예에 따른, 프로세서(330)는 사용자의 입력에 기초하여, 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경할 수 있다.
일 실시 예에 따른, 입력 인터페이스(310)는 답변 결과를 재 획득하기 위한 사용자 입력을 수신할 수 있다.
예를 들어, 입력 인터페이스(310)는 답변 결과에 대응하는 특성 값을 변경 또는 추가하는 사용자의 입력을 수신할 수 있다. 또한, 입력 인터페이스(310)는 답변 결과에 대응하는 특성 값에 대한 가중치를 변경하는 사용자의 입력을 수신할 수 있다.
예를 들어, 입력 인터페이스(310)는 상호간 특성 값 및 특성 값에 대한 가중치 중 적어도 하나가 다른 복수의 답변 결과들 중 적어도 하나의 답변 결과를 선택하는 사용자의 입력을 수신할 수 있다. 또한, 입력 인터페이스(310)는 복수의 답변 결과들 중 적어도 하나의 답변 결과를 선택하고, 선택된 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 사용자의 입력을 수신할 수 있다.
프로세서(330)는, 입력 인터페이스(310)를 통한 사용자의 입력에 기초하여, 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경할 수 있다.
일 실시 예에 따른, 프로세서(330)는 변경된 특성 값 및 변경된 가중치 중 적어도 하나에 기초하여, 답변 결과를 재 획득하여, 디스플레이부(320)에 표시하도록 제어할 수 있다.
예를 들어, 프로세서(330)는 추가된 특성 값 및 추가된 특성 값에 대한 가중치에 기초하여, 질문 메시지에 대응하는 특성 갑 및 특성 값에 대한 가중치를 변경할 수 있다. 프로세서(330)는 변경된 특성 정보에 기초하여, 답변 결과를 재 획득할 수 있다.
프로세서(330)는 재 획득된 답변 결과 및 재 획득된 답변 결과에 대응하는 특성 정보를 디스플레이부(320)에 표시하도록 제어할 수 있다.
예를 들어, 전자 장치(100)는 재 획득된 답변 결과 및 재 획득된 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 디스플레이부(320)에 표시하도록 제어할 수 있다.
도 4는, 일 실시 예에 따른 전자 장치(100)가 질의어(Query language)를 생성하는 방법의 흐름도를 도시한 도면이다.
단계 410에서, 일 실시 예에 따른 전자 장치(100)는 질문 메시지를 분석하여, 특성 값 및 특성 값에 대한 가중치를 결정할 수 있다.
일 실시 예에 따른 전자 장치(100)는 자연어 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치를 결정할 수 있다. 또한, 전자 장치(100)는 자연어 질문 메시지에 대응하는 복수의 특성 값 및 복수의 특성 값 각각에 대응하는 가중치를 결정할 수 있다.
단계 420에서, 일 실시 예에 따른 전자 장치(100)는 결정된 특성 값 및 특성 값에 대한 가중치에 기초하여 제 1 질의어를 생성할 수 있다.
여기에서, 질의어는, 데이터베이스로부터 정보의 검색을 위해 설계된 전용 언어를 의미할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 결정된 특성 값 및 특성 값에 대한 가중치를 결합하여, 제 1 질의어를 생성할 수 있다. 예를 들어, 전자 장치(100)는 질문 메시지에 대응하는 복수의 특성 값들 및 복수의 특성 값들 각각에 대한 가중치를 결합하여 제 1 질의어를 생성할 수 있다. 또한, 전자 장치(100)는 특성 값 및 특성 값에 대한 가중치의 범위를 결합하여, 제 1 질의어를 생성할 수 있다.
단계 430에서, 일 실시 예에 따른 전자 장치(100)는 제 1 질의어를 이용하여, 답변 결과를 획득할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 제 1 질의어를 이용하여 데이터베이스로부터 답변 결과를 획득할 수 있다. 예를 들어, 전자 장치(100)는 제 1 질의어를 이용하여 데이터베이스로부터 복수의 답변 결과들을 획득할 수 있다. 또한, 전자 장치(100)는 제 1 질의어에 포함된 특성 값 및 특성 값에 대한 가중치에 대응하는 웹 문서 및 웹 문서의 URL 중 적어도 하나를 데이터베이스로부터 획득할 수 있다. 또한, 전자 장치(100)는 제 1 질의어에 포함된 특성 값 및 특성 값에 대한 가중치의 범위에 대응하는 웹 문서 및 웹 문서의 URL 중 적어도 하나, 웹 문서에 대응하는 특성 값 및 특성 값에 대한 가중치를 데이터베이스로부터 획득할 수 있다.
단계 440에서, 일 실시 예에 따른 전자 장치(100)는 답변 결과, 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 표시할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 답변 결과, 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치를 결합하여 표시할 수 있다. 예를 들어, 전자 장치(100)는 답변 결과에 대응하는 특성 값들의 개수가 복수 개인 경우, 답변 결과, 복수의 특성 값들 및 복수의 특성 값들 각각의 가중치를 표시할 수 있다.
예를 들어, 전자 장치(100)는 상호간 특성 값 및 특성 값에 대한 가중치 중 적어도 하나가 다른 복수의 답변 결과들을 표시할 수 있다. 전자 장치(100)는 미리 결정된 기준에 따라, 복수의 답변 결과들 각각의 질문 메시지에 대한 적합도를 결정할 수 있다. 예를 들어, 전자 장치(100)는 적합도가 높은 순서에 따라 복수의 답변 결과들 각각의 순위를 결정할 수 있다.
예를 들어, 전자 장치(100)는 순위가 높은 순서로 기 설정된 개수의 답변 결과 및 기 설정된 개수의 답변 결과 각각에 대응하는 특성 값 및 특성 값에 대한 가중치를 표시할 수 있다.
단계 450에서, 일 실시 예에 따른 전자 장치(100)는 사용자의 입력에 기초하여, 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 답변 결과를 재 획득하기 위한 사용자의 입력을 수신할 수 있다. 예를 들어, 전자 장치(100)는 답변 결과에 대응하는 특성 값을 변경 또는 추가하는 사용자의 입력을 수신할 수 있다. 다른 일 실시 예에 따른, 전자 장치(100)는 답변 결과에 대응하는 특성 값에 대한 가중치를 변경하는 사용자의 입력을 수신할 수 있다.
예를 들어, 전자 장치(100)는 상호간 특성 값 및 특성 값에 대한 가중치 중 적어도 하나가 다른 복수의 답변 결과들 중 적어도 하나의 답변 결과를 선택하는 사용자의 입력을 수신할 수 있다. 또한, 전자 장치(100)는 복수의 답변 결과들 중 적어도 하나의 답변 결과를 선택하고, 선택된 답변 결과에 대응하는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 사용자의 입력을 수신할 수 있다.
예를 들어, 전자 장치(100)는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 사용자의 입력에 기초하여, 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경할 수 있다.
단계 460에서, 일 실시 예에 따른 전자 장치(100)는 제 1 질의어에 상기 변경된 특성 값 및 상기 변경된 가중치 중 적어도 하나를 적용하여, 제 2 질의어를 생성할 수 있다.
예를 들어, 특성 값이 변경된 경우, 제 1 질의어에 변경된 특성 값을 적용하여, 제 2 질의어를 생성할 수 있다. 또한, 특성 값에 대한 가중치가 변경된 경우, 제 1 질의어에 변경된 특성 값에 대한 가중치를 적용하여 제 2 질의어를 생성할 수 있다. 또한, 예를 들어, 특성 값이 추가 된 경우, 제 1 질의어, 추가된 특성 값 및 추가된 특성 값에 대한 가중치를 결합하여 제 2 질의어를 생성할 수 있다.
도 5a 내지 도 5c는, 전자 장치(100)가 사용자 입력에 기초하여 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 일 예를 도시하는 도면들이다.
일 실시 예에 따른, 전자 장치(100)는 수신된 질문 메시지에 기초하여, 수신된 질문 메시지에 대응하는 복수의 특성 값들 및 상기 복수의 특성 값들 각각에 대한 가중치를 영역(510)에 표시할 수 있다.
도 5a를 참조하면, 전자 장치(100)는 수신된 질문 메시지에 기초하여, 제 1 특성 값, 상기 제 1 특성 값에 대한 가중치인 제 1 가중치, 제 2 특성 값, 및 제 2 특성 값에 대한 가중치인 제 2 가중치를 결정하고, 영역(510)에 디스플레이 할 수 있다.
또한, 전자 장치(100)는 질문 메시지에 대응하는 복수의 특성 값들 각각에 대응하는 복수의 답변 결과들, 예를 들어, 제 1 답변 결과(530), 제 2 답변 결과(540), 및 제 3 답변 결과(550)를 디스플레이 할 수 있다.
일 실시 예에 따른 전자 장치(100)는 획득된 복수의 답변 결과들, 및 복수의 답변 결과들 각각에 대한 특성 값 및 특성 값에 대한 가중치를 결합하여 디스플레이 할 수 있다.
도 5a를 참조하면, 전자 장치(100)는 제 1 답변 결과(530) 및 제 1 답변 결과(530)에 대응하는 제 1 특성 값(531) 및 제 1 특성 값에 대한 가중치인 제 1 가중치(534), 제 2 특성 값(532) 및 제 2 특성 값에 대한 가중치인 제 2 가중치(534), 및 제 3 특성 값 및 제 3 특성 값에 대한 가중치인 제 3 가중치(536)를 결합하여 디스플레이 할 수 있다.
일 실시 예에 따른, 복수의 답변 결과들 각각에 대응하는 복수의 특성 값 및 특성 값에 대한 가중치는 질문 메시지에 대응하는 특성 값 및 복수의 특성 값에 대한 가중치를 포함할 수 있다.
도 5a를 참조하면, 제 1 답변 결과(530)에 대응하는 복수의 특성 값 및 복수의 특성 값 각각에 대한 가중치 중 일부는, 제 2 답변 결과(540), 및 제 3 답변 결과(550) 각각에 대응하는 복수의 특성 값 및 복수의 특성 값 각각에 대한 가중치 중 일부와 동일할 수 있다. 예를 들어, 제 1 답변 결과(530)에 대응하는 제 1 특성 값, 제 1 가중치, 제 2 특성 값 및 제 2 가중치는 제 2 답변 결과 및 제 3 답변 결과 각각에도 대응될 수 있다.
또한, 제 1 답변 결과(530)에 대응하는 제 3 특성 값(533)에 대한 가중치는 제 3 가중치(536)이고, 이와 달리, 제 2 답변 결과(540)에 대응하는 제 3 특성 값에 대한 가중치는 제 3-2 가중치(546)일 수 있다. 또한, 제 1 답변 결과(530)와 달리, 제 3 답변 결과(550)에 대응하는 복수의 특성 값들은 제 4 특성 값(553)을 포함할 수 있다.
도 5a에서, 전자 장치(100)는 복수의 답변 결과들 각각에 대하여, 3 개의 특성 값들 및 3 개의 특성 값들 각각에 대한 가중 치를 디스플레이 하지만 이에 제한되지 아니한다. 예를 들어 전자 장치(100)는 복수의 답변 결과들 각각에 대응하는 3 개보다 적거나 많은 특성 값들 및 특성 값들 각각에 대한 가중치를 디스플레이 할 수 있다. 또한, 전자 장치(100)는 복수의 답변 결과들 각각에 대응하는 서로 다른 개수의 특성 값 및 특성 값 각각에 대한 가중치를 디스플레이 할 수 있다.
도 5b를 참조하면, 전자 장치(100)는 사용자의 입력에 기초하여, 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 일 예를 도시한 도면이다.
도 5b를 참조하면, 일 실시예에 따른 전자 장치(100)는 제 1 답변 결과(530)를 선택하는 입력을 수신할 수 있다. 예를 들어, 전자 장치(100)는 제 1 답변 결과(530)에 대응하는 일정 영역을 클릭하는 사용자의 입력을 수신할 수 있다.
또한, 도 5b를 참조하면, 전자 장치(100)는 사용자의 입력에 기초하여 영역(510)에 디스플레이 되는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경할 수 있다. 예를 들어, 제 1 답변 결과(530)를 선택하는 사용자의 입력에 기초하여, 전자 장치(100)는 제 1 답변 결과(530)에 대응하는 복수의 특성 값 및 복수의 특성 값 각각에 대한 가중치를 영역(510)에 디스플레이 할 수 있다. 예를 들어, 전자 장치(100)는 제 3 특성 값 및 제 3 가중치를 영역(510)에 추가로 디스플레이 할 수 있다.
도 5c는 전자 장치(100)가 사용자의 입력에 기초하여, 특성 값 및 특성 값에 대한 가중치 중 적어도 하나를 변경하는 다른, 일 예를 도시한 도면이다.
도 5c를 참조하면, 도 5a에 도시된 제 1 답변 결과(530)를 선택하고, 제 2 특성 값에 대한 가중치를 제 2 가중치로부터 제 2-2 가중치로 변경하는 사용자의 입력을 수신할 수 있다.
또한, 도 5c를 참조하면, 사용자의 입력에 기초하여, 전자 장치(100)는 변경된 특성 값 및 특성 값에 대한 가중치를 영역(510)에 디스플레이 할 수 있다. 예를 들어, 전자 장치(100)는 제 1 특성 값 및 제 1 가중치, 제 2 특성 값 및 변경된 제 2-2 가중치, 및 추가된 제 3 특성 값 및 제 3 가중치를 영역(510)에 디스플레이 할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 변경된 특성 값 및 특성 값에 대한 가중치에 기초하여, 답변 결과를 재 획득할 수 있다.
일 실시 예에 따른, 전자 장치(100)는 재 검색을 요청하는 입력을 수신할 수 있다. 예를 들어, 전자 장치(100)는 검색 버튼(560)을 클릭하는 입력을 수신할 수 있다.
일 실시 예에 따른, 재 검색을 요청하는 입력을 수신함에 따라, 전자 장치(100)는 제 1 특성 값, 제 1 가중 치, 제 2 특성 값 및 변경된 제 2-2 가중치, 및 추가된 제 3 특성 값 및 제 3 가중치에 기초하여 답변 결과를 재 획득할 수 있다.
또한, 전자 장치(100)는 재 획득된 제 1-2 답변 결과(530-2) 및 제 1-2 답변 결과(530-2)에 대응하는 특성 값 및 특성 값에 대한 가중치, 제 2-2 답변 결과(540-2) 및 제 2-2 답변 결과(540-2) 및 제 2-2 답변 결과(540-2)에 대응하는 특성 값 및 특성 값에 대한 가중치를 디스플레이 할 수 있다.
도 5c를 참조하면, 제 1-2 답변 결과(530-2)에 대응하는 특성 값의 개수는 제 2-2 답변 결과(540-2)에 대응하는 특성 값의 개수와 다를 수 있다.
또한, 제 1-2 답변 결과(530-2)에 대응하는 복수의 특성 값 및 복수의 특성 값 각각에 대한 가중치 중 일부는, 제 2 답변 결과(540-2)에 대응하는 복수의 특성 값 및 복수의 특성 값 각각에 대한 가중치 중 일부와 동일할 수 있다. 예를 들어, 제 1-2 답변 결과(530-2)에 대응하는 제 1 특성 값, 제 1 가중치, 제 2 특성 값 및 제 2-2 가중치 및 제 3 특성 값 및 제 3 가중치는 제 2-2 답변 결과(540-2)에도 대응 될 수 있다.
도 5a 내지 도 5c를 참조하여, 사용자의 입력에 기초하여 특성 값 및 특성 값에 대한 가중치를 변경하는 다양한 실시 예를 설명하였지만, 이는 설명을 위한 예시적인 것으로서, 본원 개시의 권리 범위는 상술한 실시 예에 제한 되지 아니한다.
도 6은, 다른 실시 예에 따른 전자 장치(600)의 구성을 나타내는 블록도를 도시한 도면이다.
도 6의 전자 장치(600)는 도 1의 전자 장치(100)의 일 실시 예일 수 있다.
도 6을 참조하면, 일 실시 예에 따른 전자 장치(600)는 프로세서(630), 센서부(620), 통신부(640), 출력부(650), 사용자 입력부(660), A/V 입력부(670) 및 저장부(680)를 포함할 수도 있다.
도 6의 프로세서(630)는 도 3의 프로세서(330)에, 도 6의 저장부(680)는 도 3의 메모리(340)에, 도 6의 디스플레이부(651)는 도 3의 디스플레이부(320)에, 도 6의 사용자 입력부(660) 및 마이크로폰(672)은 도 3의 입력 인터페이스(310)에 각각 대응될 수 있다. 도 3에서 설명한 내용과 동일한 내용은 도 6에서 생략하기로 한다.
통신부(640)는, 전자 장치(600)와 외부 장치(예를 들어, 서버 등) 간의 통신을 수행하기 위한 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 통신부(640)는, 근거리 통신부(641), 이동 통신부(642), 방송 수신부(643)를 포함할 수 있다.
근거리 통신부(short-range wireless communication unit)(641)는, 블루투스 통신부, 근거리 무선 통신부(Near Field Communication unit), WLAN(와이파이) 통신부, 지그비(Zigbee) 통신부, 적외선(IrDA, infrared Data Association) 통신부, WFD(Wi-Fi Direct) 통신부, UWB(ultra wideband) 통신부, Ant+ 통신부 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
이동 통신부(642)는, 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는, 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
방송 수신부(643)는, 방송 채널을 통하여 외부로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 구현 예에 따라서 전자 장치(600)가 방송 수신부(643)를 포함하지 않을 수도 있다.
통신부(640)는, 외부 장치로부터 적어도 하나의 사용자 이미지를 수신할 수 있다.
출력부(650)는, 오디오 신호 또는 비디오 신호 또는 진동 신호의 출력을 위한 것으로, 이에는 디스플레이부(651)와 음향 출력부(652), 진동 모터(653) 등이 포함될 수 있다.
음향 출력부(652)는 통신부(640)로부터 수신되거나 저장부(680)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력부(652)는 전자 장치(100)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음, 알림음)과 관련된 음향 신호를 출력한다. 이러한 음향 출력부(652)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다. 예를 들어, 음향 출력부(652)는 인식한 사용자가 정당한 사용자가 아닌 경우, 알람을 출력할 수 있다.
진동 모터(653)는 진동 신호를 출력할 수 있다. 예를 들어, 진동 모터(653)는 오디오 데이터 또는 비디오 데이터(예컨대, 호신호 수신음, 메시지 수신음 등)의 출력에 대응하는 진동 신호를 출력할 수 있다. 또한, 진동 모터(653)는 터치스크린에 터치가 입력되는 경우 진동 신호를 출력할 수도 있다.
프로세서(630)는, 전자 장치(600)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(630)는, 저장부(680)에 저장된 프로그램들을 실행함으로써, 통신부(640), 출력부(650), 사용자 입력부(660), 센싱부(620), A/V 입력부(670) 등을 제어할 수 있다.
사용자 입력부(660)는, 사용자가 전자 장치(600)를 제어하기 위한 데이터를 입력하는 수단을 의미한다. 예를 들어, 사용자 입력부(660)에는 키 패드(key pad), 돔 스위치 (dome switch), 터치 패드(접촉식 정전 용량 방식, 압력식 저항막 방식, 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등), 조그 휠, 조그 스위치 등이 있을 수 있으나 이에 한정되는 것은 아니다.
센서부(620)는, 사용자의 생체 정보를 센싱하는 센서뿐만 아니라, 전자 장치(600)의 상태 또는 전자 장치(600) 주변의 상태를 감지하는 센서를 포함할 수 있다. 또한, 센서부(620)는 센서에서 감지된 정보를 제어부(620)로 전달할 수 있다.
센서부(620)는, 지자기 센서(Magnetic sensor)(621), 가속도 센서(Acceleration sensor)(622), 온/습도 센서(623), 적외선 센서(624), 자이로스코프 센서(625), 위치 센서(626)(예컨대, GPS), 기압 센서(627), 근접 센서(628), 및 RGB 센서(629)(illuminance sensor) 중 적어도 하나를 포함할 수 있으나, 이에 한정되는 것은 아니다. 각 센서들의 기능은 그 명칭으로부터 당업자가 직관적으로 추론할 수 있으므로, 구체적인 설명은 생략하기로 한다.
A/V(Audio/Video) 입력부(670)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(671)와 마이크로폰(672) 등이 포함될 수 있다. 카메라(671)는 화상 통화모드 또는 촬영 모드에서 이미지 센서를 통해 정지영상 또는 동영상 등의 화상 프레임을 얻을 수 있다. 이미지 센서를 통해 캡쳐된 이미지는 프로세서(630) 또는 별도의 이미지 처리부(미도시)를 통해 처리될 수 있다.
카메라(671)에서 처리된 화상 프레임은 저장부(680)에 저장되거나 통신부(640)를 통하여 외부로 전송될 수 있다. 카메라(671)는 전자 장치(600)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크로폰(672)은, 외부의 음향 신호를 입력 받아 전기적인 음성 데이터로 처리한다. 예를 들어, 마이크로폰(672)은 외부 디바이스 또는 화자로부터 음향 신호를 수신할 수 있다. 마이크로폰(672)은 외부의 음향 신호를 입력 받는 과정에서 발생 되는 잡음(noise)를 제거하기 위한 다양한 잡음 제거 알고리즘을 이용할 수 있다.
저장부(680)는, 프로세서(630)의 처리 및 제어를 위한 프로그램을 저장할 수도 있고, 입/출력되는 데이터들(예컨대, 애플리케이션, 콘텐트, 외부 디바이스의 시간대 정보, 주소록 등)을 저장할 수도 있다.
저장부(680)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 또한, 전자 장치(600)는 인터넷(internet)상에서 저장부(680)의 저장 기능을 수행하는 웹 스토리지(web storage) 또는 클라우드 서버를 운영할 수도 있다.
저장부(680)에 저장된 프로그램들은 그 기능에 따라 복수 개의 모듈들로 분류할 수 있는데, 예를 들어, UI 모듈(681), 터치 스크린 모듈(682), 알림 모듈(683) 등으로 분류될 수 있다.
UI 모듈(681)은, 어플리케이션 별로 전자 장치(600)와 연동되는 특화된 UI, GUI 등을 제공할 수 있다. 터치 스크린 모듈(682)은 사용자의 터치 스크린 상의 터치 제스처를 감지하고, 터치 제스처에 관한 정보를 제어부(130)로 전달할 수 있다.
터치 스크린 모듈(682)은 터치 코드를 인식하고 분석할 수 있다. 터치 스크린 모듈(682)은 컨트롤러를 포함하는 별도의 하드웨어로 구성될 수도 있다.
알림 모듈(683)은 전자 장치(600)의 이벤트 발생을 알리기 위한 신호를 발생할 수 있다. 전자 장치(600)에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력, 일정 알림 등이 있다. 알림 모듈(683)은 디스플레이부(651)를 통해 비디오 신호 형태로 알림 신호를 출력할 수도 있고, 음향 출력부(652)를 통해 오디오 신호 형태로 알림 신호를 출력할 수도 있고, 진동 모터(653)를 통해 진동 신호 형태로 알림 신호를 출력할 수도 있다.
도 7은, 일 실시 예에 따른 프로세서(330)의 블록도를 도시한 도면이다.
도 7을 참조하면, 일부 실시 예에 따른 프로세서(330)는 데이터 학습부(1300) 및 데이터 결정부(1400)를 포함할 수 있다.
데이터 학습부(1300)는 질문 메시지에 기초하여 답변 결과를 획득하기 위한 기준을 학습할 수 있다. 데이터 학습부(1300)는 질문 메시지에 기초하여 답변 결과를 획득하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 어떻게 판단할 지에 관한 기준을 학습할 수 있다. 데이터 학습부(1300)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 결정 모델에 적용함으로써, 질문 메시지에 기초하여 답변 결과를 획득하기 위한 기준을 학습할 수 있다.
데이터 결정부(1400)는 질문 메시지에 기초하여 답변 결과를 획득할 수 있다. 데이터 결정부(1400)는 학습된 데이터 결정 모델을 이용하여, 소정의 데이터로부터 검색 결과를 획득할 수 있다. 데이터 결정부(1400)는 학습에 의한 기 설정된 기준에 따라 소정의 데이터를 획득하고, 획득된 데이터를 입력 값으로 하여 데이터 결정 모델을 이용함으로써, 질문 메시지에 기초하여 답변 결과를 획득할 수 있다.. 또한, 획득된 데이터를 입력 값으로 하여 데이터 결정 모델에 의해 출력된 결과 값은, 데이터 결정 모델을 갱신하는데 이용될 수 있다.
데이터 학습부(1300) 및 데이터 결정부(1400) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부(1300) 및 데이터 결정부(1400) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
이 경우, 데이터 학습부(1300) 및 데이터 결정부(1400)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부(1300) 및 데이터 결정부(1400) 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부(1300) 및 데이터 결정부(1400)는 유선 또는 무선으로 통하여, 데이터 학습부(1300)가 구축한 모델 정보를 데이터 결정부(1400)로 제공할 수도 있고, 데이터 결정부(1400)로 입력된 데이터가 추가 학습 데이터로서 데이터 학습부(1300)로 제공될 수도 있다.
한편, 데이터 학습부(1300) 및 데이터 결정부(1400) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부(1300) 및 데이터 결정부(1400) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction)을 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 8은, 일 실시 예에 따른 데이터 학습부(1300)의 블록도를 도시한 도면이다.
도 8을 참조하면, 일부 실시 예에 따른 데이터 학습부(1300)는 데이터 획득부(1310), 전처리부(1320), 학습 데이터 선택부(1330), 모델 학습부(1340) 및 모델 평가부(1350)를 포함할 수 있다.
데이터 획득부(1310)는 질문 메시지에 기초하여 답변 결과를 획득하기 위하여 필요한 데이터를 획득할 수 있다. 데이터 획득부(1310)는 질문 메시지에 기초하여 답변 결과를 획득하기 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
일 실시 예에 따른, 데이터 획득부(1310)는 답변 결과를 획득하기 위해 필요한 데이터를 획득할 수 있다. 데이터 획득부(1310)는 답변 결과를 획득하기 위한 학습을 위하여 필요한 데이터를 획득할 수 있다.
데이터 획득부(1310)는 복수의 질문 메시지들을 획득할 수 있다. 일 예로, 데이터 획득부(1310)는 데이터 학습부(1300)를 포함하는 전자 장치(100)의 마이크로폰을 통하여 질문 메시지를 음성 메시지의 형태로 수신할 수 있다.
전처리부(1320)는 답변 결과를 획득하기 위한 학습에 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1320)는 후술할 모델 학습부(1340)가 질문 메시지에 기초하여 답변 결과를 획득하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
학습 데이터 선택부(1330)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부(1340)에 제공될 수 있다. 학습 데이터 선택부(1330)는 답변 결과 획득을 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부(1330)는 후술할 모델 학습부(1340)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
모델 학습부(1340)는 학습 데이터에 기초하여 답변 결과를 어떻게 획득할 지에 관한 기준을 학습할 수 있다. 또한, 모델 학습부(1340)는 답변 결과를 획득하기 위하여 어떤 학습 데이터를 이용해야 하는 지에 대한 기준을 학습할 수도 있다.
예를 들어, 모델 학습부(1340)는 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치를 결정하는 기준을 학습할 수 있다. 또한, 예를 들어, 모델 학습부(1340)는 데이터 베이스에 저장된 복수의 질문 메시지들 각각에 대응하는 특성 값 및 특성 값에 대한 가중치에 기초하여, 수신된 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치를 결정하는 기준을 학습할 수 있다. 또한, 모델 학습부(1340)는 질문 메시지로부터 답변 결과를 획득하기 위하여, 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치를 결정하기 위한 기준을 학습할 수 있다.
또한, 모델 학습부(1340)는 질문 메시지로부터 답변 결과를 획득하기 위하여 이용되는 데이터 결정 모델을 학습 데이터를 이용하여 학습시킬 수 있다. 이 경우, 데이터 결정 모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 결정 모델은 기본 학습 데이터(예를 들어, 질문 메시지 등)을 입력 받아 미리 구축된 모델일 수 있다.
데이터 결정 모델은, 결정 모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 결정 모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, DNN(Deep Neural Network), RNN(Recurrent Neural Network), BRDNN(Bidirectional Recurrent Deep Neural Network)과 같은 모델이 데이터 결정 모델로서 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시 예에 따르면, 모델 학습부(1340)는 미리 구축된 데이터 결정 모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 결정 모델을 학습할 데이터 결정 모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 결정 모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부(1340)는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 결정 모델을 학습시킬 수 있다.
또한, 모델 학습부(1340)는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning) 을 통하여, 데이터 결정 모델을 학습시킬 수 있다. 또한, 모델 학습부(1340)는, 예를 들어, 별다른 지도없이 질문 메시지에 기초하여 답변 결과를 획득하기 위해 필요한 데이터의 종류를 스스로 학습함으로써, 답변 결과를 획득하기 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 결정 모델을 학습시킬 수 있다. 또한, 모델 학습부(1340)는, 예를 들어, 학습에 따른 획득된 답변 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 결정 모델을 학습시킬 수 있다.
또한, 데이터 결정 모델이 학습되면, 모델 학습부(1340)는 학습된 데이터 결정 모델을 저장할 수 있다. 이 경우, 모델 학습부(1340)는 학습된 데이터 결정 모델을 데이터 결정부(1400)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1340)는 학습된 데이터 결정 모델을 후술할 데이터 결정부(1400)를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부(1340)는 학습된 데이터 결정 모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 결정 모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부(1350)는 데이터 결정 모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 결정 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부(1340)로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 결정 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부(1350)는 평가 데이터에 대한 학습된 데이터 결정 모델의 결정 결과 중에서, 결정 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 결정 모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 결정 결과를 출력하는 경우, 모델 평가부(1350)는 학습된 데이터 결정 모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 결정 모델이 복수 개가 존재하는 경우, 모델 평가부(1350)는 각각의 학습된 특성 값 및 특성 값에 대한 가주치 결정 모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 결정 모델로서 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부(1350)는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 결정 모델로서 결정할 수 있다.
한편, 데이터 학습부(1300) 내의 데이터 획득부(1310), 전처리부(1320), 학습 데이터 선택부(1330), 모델 학습부(1340) 및 모델 평가부(1350) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1310), 전처리부(1320), 학습 데이터 선택부(1330), 모델 학습부(1340) 및 모델 평가부(1350) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1310), 전처리부(1320), 학습 데이터 선택부(1330), 모델 학습부(1340) 및 모델 평가부(1350)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1310), 전처리부(1320), 학습 데이터 선택부(1330), 모델 학습부(1340) 및 모델 평가부(1350) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1310), 전처리부(1320), 학습 데이터 선택부(1330), 모델 학습부(1340) 및 모델 평가부(1350) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1310), 전처리부(1320), 학습 데이터 선택부(1330), 모델 학습부(1340) 및 모델 평가부(1350) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 9는, 일 실시 예에 따른 데이터 결정부(1400)의 블록도를 도시한 도면이다.
도 9을 참조하면, 일부 실시 예에 따른 데이터 결정부(1400)는 데이터 획득부(1410), 전처리부(1420), 결정 데이터 선택부(1430), 결정 결과 제공부(1440) 및 모델 갱신부(1450)를 포함할 수 있다.
데이터 획득부(1410)는 질문 메시지에 기초하여 답변 결과를 획득하기 위해 필요한 데이터를 획득할 수 있으며, 전처리부(1420)는 질문 메시지에 기초하여 답변 결과를 획득하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부(1420)는 후술할 결정 결과 제공부(1440)가 질문 메시지에 기초하여 답변 결과를 획득하기 위하여 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 기 설정된 포맷으로 가공할 수 있다.
결정 데이터 선택부(1430)는 전처리된 데이터 중에서 질문 메시지에 기초하여 답변 결과를 획득하기 위하여 필요한 데이터를 선택할 수 있다. 선택된 데이터는 결정 결과 제공부(1440)에게 제공될 수 있다. 결정 데이터 선택부(1430)는 답변 결과에 기초하여 답변 결과를 획득하기 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 결정 데이터 선택부(1430)는 후술할 모델 학습부(1340)에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
결정 결과 제공부(1440)는 선택된 데이터를 데이터 결정 모델에 적용하여 질문 메시지에 기초하여 답변 결과를 획득할 수 있다. 결정 결과 제공부(1440)는 데이터의 결정 목적에 따른 결정 결과를 제공할 수 있다. 결정 결과 제공부(1440)는 결정 데이터 선택부(1430)에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 결정 모델에 적용할 수 있다. 또한, 결정 결과는 데이터 결정 모델에 의해 결정될 수 있다.
일 실시 예에 따른, 결정 결과 제공부(1440)는 질문 메시지에 대응하는 특성 값 및 특성 값에 대한 가중치를 제공할 수 있다.
답변 결과에 대응하는 특성 값은 질문 메시지로부터 답변 결과가 도출되는 원인이 된 요소일 수 있다. 예를 들어, 특성 값은 답변 결과에 포함된 내용을 표현하기 위하여, 제목이나 내용에서 추출된 단어나 구절인 키워드일 수 있으나 이에 제한되지 아니한다. 예를 들어, 답변 결과에 대응하는 특성 값의 개수는 복수일 수 있으나 이에 제한되지 아니한다.
특성 값의 가중치는 특성 값이 답변 결과에서 차지하는 중요도를 의미할 수 있다. 예를 들어, 가중치는 정량적 숫자뿐만 아니라 동일 카테고리의 특성 값이 가질 수 있는 여러 특성 값들 중 특정 특성 값의 상대적인 중요도로 표현될 수 있다.
또한, 일 실시 예에 따른, 결정 결과 제공부(1440)는 특성 값 및 특성 값에 대한 가중치에 대응하는 답변 결과를 제공할 수 있다.
모델 갱신부(1450)는 결정 결과 제공부(1440)에 의해 제공되는 결정 결과에 대한 평가에 기초하여, 데이터 결정 모델이 갱신되도록 할 수 있다. 예를 들어, 모델 갱신부(1450)는 결정 결과 제공부(1440)에 의해 제공되는 결정 결과를 모델 학습부(1340)에게 제공함으로써, 모델 학습부(1340)가 데이터 결정 모델을 갱신하도록 할 수 있다.
한편, 데이터 결정부(1400) 내의 데이터 획득부(1410), 전처리부(1420), 결정 데이터 선택부(1430), 결정 결과 제공부(1440) 및 모델 갱신부(1450) 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부(1410), 전처리부(1420), 결정 데이터 선택부(1430), 결정 결과 제공부(1440) 및 모델 갱신부(1450) 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부(1410), 전처리부(1420), 결정 데이터 선택부(1430), 결정 결과 제공부(1440) 및 모델 갱신부(1450)는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부(1410), 전처리부(1420), 결정 데이터 선택부(1430), 결정 결과 제공부(1440) 및 모델 갱신부(1450) 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부(1410), 전처리부(1420), 결정 데이터 선택부(1430), 결정 결과 제공부(1440) 및 모델 갱신부(1450) 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부(1410), 전처리부(1420), 결정 데이터 선택부(1430), 결정 결과 제공부(1440) 및 모델 갱신부(1450) 중 적어도 하나가 소프트웨어 모듈(또는, 인스터력션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
도 10은, 일 실시 예에 따른 전자 장치(100) 및 서버(2000)가 서로 연동함으로써 데이터를 학습하고 결정하는 예시를 나타내는 도면이다.
도 10를 참조하면, 서버(2000)는 질문 메시지에 기초하여, 답변 결과를 획득하기 위한 기준을 학습할 수 있으며, 전자 장치(100)는 서버(2000)에 의한 학습 결과에 기초하여 답변 결과를 획득할 수 있다.
이 경우, 서버(2000)의 모델 학습부(2340)는 도 8에 도시된 모델 학습부(1340)의 기능을 수행할 수 있다. 서버(2000)의 모델 학습부(2340)는 질문 메시지에 기초하여, 답변 결과를 획득하기 위하여 어떤 데이터를 이용할 지, 데이터를 이용하여 질문 메시지에 기초하여, 답변 결과를 어떻게 획득할 지에 관한 기준을 학습할 수 있다. 모델 학습부(2340)는 학습에 이용될 데이터를 획득하고, 획득된 데이터를 후술할 데이터 결정 모델에 적용함으로써, 질문 메시지에 기초하여, 답변 결과를 획득하기 위한 기준을 학습할 수 있다.
또한, 전자 장치(100)의 결정 결과 제공부(1440)는 결정 데이터 선택부(1430)에 의해 선택된 데이터를 서버(2000)에 의해 생성된 데이터 결정 모델에 적용하여 답변 결과를 획득할 수 있다. 예를 들어, 결정 결과 제공부(1440)는 결정 데이터 선택부(1430)에 의해 선택된 데이터를 서버(2000)에게 전송하고, 서버(2000)가 결정 데이터 선택부(1430)에 의해 선택된 데이터를 결정 모델에 적용하여 질문 메시지에 기초하여, 답변 결과를 획득할 것을 요청할 수 있다. 또한, 결정 결과 제공부(1440)는 서버(2000)에 의해 획득된 답변 결과에 관한 정보를 서버(2000)로부터 수신할 수 있다.
또는, 전자 장치(100)의 결정 결과 제공부(1440)는 서버(2000)에 의해 생성된 결정 모델을 서버(2000)로부터 수신하고, 수신된 결정 모델을 이용하여 질문 메시지에 기초하여, 답변 결과를 획득할 수 있다. 이 경우, 전자 장치(100)의 결정 결과 제공부(1440)는 결정 데이터 선택부(1430)에 의해 선택된 데이터를 서버(2000)로부터 수신된 데이터 결정 모델에 적용하여 질문 메시지에 기초하여, 답변 결과를 획득할 수 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속한다.

Claims (20)

  1. 전자 장치의 검색 서비스 제공 방법에 있어서,
    질문 메시지를 수신하는 단계;
    상기 질문 메시지에 기초하여, 답변 결과를 획득하는 단계;
    상기 답변 결과, 상기 답변 결과에 대응하는 특성 값, 및 상기 특성 값에 대한 가중치를 표시하는 단계;
    사용자의 입력에 기초하여, 상기 특성 값 및 상기 가중치 중 적어도 하나를 변경하는 단계; 및
    변경된 상기 특성 값 및 변경된 상기 가중치 중 적어도 하나에 기초하여, 답변 결과를 재 획득하여, 표시하는 단계;를 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 답변 결과를 획득하는 단계는,
    상기 질문 메시지를 분석하여 상기 질문 메시지에 대응하는 상기 특성 값 및 상기 특성 값에 대한 가중치를 결정하는 단계; 및
    상기 특성 값 및 상기 특성 값에 대한 가중치에 대응하는 답변 결과를 획득하는 단계;를 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 답변 결과를 획득하는 단계는,
    상기 질문 메시지를 분석하여 상기 질문 메시지에 대응하는 복수의 특성 값들 및 상기 복수의 특성 값들 각각에 대한 가중치를 결정하는 단계; 및
    상기 복수의 특성 값들 및 상기 복수의 특성 값들 각각에 대한 가중치에 기초하여, 복수의 답변 결과들을 획득하는 단계;를 포함하고,
    상기 복수의 답변 결과들은 상기 복수의 답변 결과들 각각에 대응하는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나가 다른 방법.
  4. 제 3 항에 있어서,
    상기 방법은,
    상기 복수의 답변 결과들 각각에 대응하는 특성 값 및 상기 특성 값에 대한 가중치에 기초하여, 상기 복수의 답변 결과들 각각의 순위를 결정하는 단계;를 더 포함하고,
    상기 답변 결과, 상기 답변 결과에 대응하는 특성 값, 및 상기 특성 값에 대한 가중치를 표시하는 단계는,
    상기 복수의 답변 결과들 중 상기 순위가 높은 순서로 기 설정된 개수의 답변 결과, 상기 기 설정된 개수의 답변 결과 각각에 대응하는 상기 특성 값 및 상기 가중치를 표시하는 단계;를 포함하는 방법.
  5. 제 2 항에 있어서,
    상기 답변 결과를 획득하는 단계는,
    상기 질문 메시지에 대응하는 상기 특성 값 및 상기 특성 값에 대한 가중치를 이용하여, 제 1 질의어를 생성하는 단계;
    상기 제 1 질의어를 이용하여, 답변 결과를 획득하는 단계;를 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 답변 결과를 재 획득하여, 표시하는 단계는,
    상기 제 1 질의어에 상기 변경된 특성 값 및 상기 변경된 가중치 중 적어도 하나를 적용하여, 제 2 질의어를 생성하는 단계; 및
    상기 제 2 질의어를 이용하여, 답변 결과를 재 획득하는 단계;를 포함하는 방법.
  7. 제 2 항에 있어서,
    상기 답변 결과를 획득하는 단계는,
    상기 특성 값 및 상기 특성 값에 대한 가중치에 기초하여, 복수의 데이터베이스(database)들 중 검색 대상 데이터베이스를 결정하는 단계; 및
    상기 검색 대상 데이터베이스로부터 답변 결과를 획득하는 단계;를 포함하는 방법.
  8. 제 1 항에 있어서,
    상기 답변 결과를 획득하는 단계는,
    복수의 질문 메시지들 각각에 대한 특성 정보 및 특성 정보에 대한 가중치에 기초하여 학습된, 데이터 결정 모델을 이용하여 상기 수신된 질문 메시지로부터 상기 질문 메시지에 대응하는 상기 특성 값 및 상기 특성 값에 대한 가중치를 결정하는 단계; 및
    상기 특성 값 및 상기 특성 값에 대한 가중치에 대응하는 답변 결과를 획득하는 단계;를 포함하고,
    상기 답변 결과를 재 획득하여, 표시하는 단계는,
    상기 변경된 상기 특성 값 및 상기 특성 값에 대한 가중치 중 적어도 하나에 기초하여, 상기 데이터 결정 모델을 추가로 학습 시키는 단계; 및
    상기 추가로 학습된 데이터 결정 모델을 이용하여, 답변 결과를 재 획득하는 단계;를 포함하는 방법.
  9. 제 1 항에 있어서,
    상기 질문 메시지를 수신하는 단계는,
    상기 질문 메시지를 음성 신호로 수신하는 단계를 포함하는 방법.
  10. 질문 메시지를 수신하는 입력 인터페이스;
    디스플레이부;
    하나 이상의 인스트럭션을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션들을 실행하는 프로세서를 포함하고,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으써,
    상기 질문 메시지에 기초하여, 답변 결과를 획득하고,
    상기 답변 결과, 상기 답변 결과에 대응하는 특성 값, 및 상기 특성 값에 대한 가중치를 상기 디스플레이부에 표시하도록 제어하고,
    사용자의 입력에 기초하여, 상기 특성 값 및 상기 가중치 중 적어도 하나를 변경하고,
    변경된 상기 특성 값 및 변경된 상기 가중치 중 적어도 하나에 기초하여, 답변 결과를 재 획득하여, 상기 디스플레이부에 표시하도록 제어하는, 전자 장치.
  11. 제 10 항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 질문 메시지를 분석하여 상기 질문 메시지에 대응하는 상기 특성 값 및 상기 특성 값에 대한 가중치를 결정하고,
    상기 특성 값 및 상기 특성 값에 대한 가중치에 대응하는 답변 결과를 획득하는, 전자 장치.
  12. 제 11 항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 질문 메시지를 분석하여 상기 질문 메시지에 대응하는 복수의 특성 값들 및 상기 복수의 특성 값 각각에 대한 가중치를 결정하고,
    상기 복수의 특성 값들 및 상기 복수의 특성 값들 각각에 대한 가중치에 기초하여, 복수의 답변 결과들을 획득하고,
    상기 복수의 답변 결과들은 상기 복수의 답변 결과들 각각에 대응하는 특성 값 및 특성 값에 대한 가중치 중 적어도 하나가 다른, 전자 장치.
  13. 제 12 항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 복수의 답변 결과들 각각에 대응하는 특성 값 및 상기 특성 값에 대한 가중치에 기초하여, 상기 복수의 답변 결과들 각각의 순위를 결정하고,
    상기 복수의 답변 결과들 중 상기 순위가 높은 순서로 기 설정된 개수의 답변 결과, 상기 기 설정된 개수의 답변 결과 각각에 대응하는 상기 특성 값 및 상기 가중치를 상기 디스플레이부에 표시하도록 제어하는, 전자 장치.
  14. 제 11 항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 질문 메시지에 대응하는 상기 특성 값 및 상기 특성 값에 대한 가중치를 이용하여, 제 1 질의어를 생성하고,
    상기 제 1 질의어를 이용하여, 상기 답변 결과를 획득하는, 전자 장치.
  15. 제 14 항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 제 1 질의어에 상기 변경된 특성 값 및 상기 변경된 가중치 중 적어도 하나를 적용하여, 제 2 질의어를 생성하고,
    상기 제 2 질의어를 이용하여, 상기 답변 결과를 재 획득하는, 전자 장치.
  16. 제 11 항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 특성 값 및 상기 특성 값에 대한 가중치에 기초하여, 복수의 데이터베이스들 중 검색 대상 데이터베이스를 결정하고,
    상기 검색 대상 데이터베이스로부터 답변 결과를 획득하는, 전자 장치.
  17. 제 12 항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
    복수의 질문 메시지들 각각에 대한 특성 정보 및 특성 정보에 대한 가중치에 기초하여 학습된, 데이터 결정 모델을 이용하여 상기 수신된 질문 메시지로부터 상기 질문 메시지에 대응하는 상기 특성 값 및 상기 특성 값에 대한 가중치를 결정하고,
    상기 특성 값 및 상기 특성 값에 대한 가중치에 대응하는 답변 결과를 획득하고,
    상기 변경된 상기 특성 값 및 상기 특성 값에 대한 가중치 중 적어도 하나에 기초하여, 상기 데이터 결정 모델을 추가로 학습 시키고,
    상기 추가로 학습된 데이터 결정 모델을 이용하여, 답변 결과를 재 획득하는, 전자 장치.
  18. 제 10 항에 있어서,
    상기 입력 인터페이스는, 마이크로폰을 포함하고,
    상기 마이크로폰은,
    상기 질문 메시지를 음성 신호로 수신하는, 전자 장치.
  19. 제 15 항에 있어서,
    상기 프로세서는 상기 하나 이상의 인스트럭션들을 실행함으로써,
    상기 제 2 질의어를 데이터 베이스에 전송하고,
    상기 데이터 베이스로부터 상기 제 2 질의어에 대응하는 답변 결과를 재 획득하는, 전자 장치.
  20. 제 1 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
PCT/KR2017/012839 2016-12-26 2017-11-14 전자 장치 및 전자 장치의 검색 서비스 제공 방법 WO2018124464A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160179318A KR20180075227A (ko) 2016-12-26 2016-12-26 전자 장치 및 전자 장치의 검색 서비스 제공 방법
KR10-2016-0179318 2016-12-26

Publications (1)

Publication Number Publication Date
WO2018124464A1 true WO2018124464A1 (ko) 2018-07-05

Family

ID=62711070

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/012839 WO2018124464A1 (ko) 2016-12-26 2017-11-14 전자 장치 및 전자 장치의 검색 서비스 제공 방법

Country Status (2)

Country Link
KR (1) KR20180075227A (ko)
WO (1) WO2018124464A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710941A (zh) * 2018-12-29 2019-05-03 上海点融信息科技有限责任公司 基于人工智能的用户意图识别方法和装置
KR20210067372A (ko) * 2019-11-29 2021-06-08 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
KR102536775B1 (ko) * 2020-10-21 2023-05-31 네이버 주식회사 검색 질의의 의도를 반영한 검색 결과 제공 방법 및 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249343A (ja) * 1995-03-09 1996-09-27 Toshiba Corp 音声情報取得装置及び音声情報取得方法
JPH1074210A (ja) * 1996-07-05 1998-03-17 Hitachi Ltd 文献検索支援方法及び装置およびこれを用いた文献検索サービス
JP2001188802A (ja) * 1999-11-22 2001-07-10 Nec Corp 情報検索装置及び情報検索方法
JP2005056154A (ja) * 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd 文書検索装置
KR20110129696A (ko) * 2010-05-26 2011-12-02 주식회사 멀티비츠이미지 키워드 가중치 조정에 의한 시멘틱 웹 검색방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249343A (ja) * 1995-03-09 1996-09-27 Toshiba Corp 音声情報取得装置及び音声情報取得方法
JPH1074210A (ja) * 1996-07-05 1998-03-17 Hitachi Ltd 文献検索支援方法及び装置およびこれを用いた文献検索サービス
JP2001188802A (ja) * 1999-11-22 2001-07-10 Nec Corp 情報検索装置及び情報検索方法
JP2005056154A (ja) * 2003-08-05 2005-03-03 Hitachi Software Eng Co Ltd 文書検索装置
KR20110129696A (ko) * 2010-05-26 2011-12-02 주식회사 멀티비츠이미지 키워드 가중치 조정에 의한 시멘틱 웹 검색방법

Also Published As

Publication number Publication date
KR20180075227A (ko) 2018-07-04

Similar Documents

Publication Publication Date Title
WO2020080773A1 (en) System and method for providing content based on knowledge graph
WO2018128362A1 (en) Electronic apparatus and method of operating the same
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2018117428A1 (en) Method and apparatus for filtering video
WO2020105948A1 (en) Image processing apparatus and control method thereof
WO2018117704A1 (en) Electronic apparatus and operation method thereof
WO2020145596A1 (ko) 추천 컨텐츠 리스트 제공 방법 및 그에 따른 전자 장치
WO2019059505A1 (ko) 객체를 인식하는 방법 및 장치
WO2021054588A1 (en) Method and apparatus for providing content based on knowledge graph
WO2017043857A1 (ko) 어플리케이션 제공 방법 및 이를 위한 전자 기기
WO2018128403A1 (en) Apparatus and method for processing content
WO2019093819A1 (ko) 전자 장치 및 그 동작 방법
WO2016126007A1 (en) Method and device for searching for image
WO2020153750A1 (ko) 전자 장치에서 어플리케이션 목록 제공 방법 및 장치
WO2020180034A1 (ko) 사용자 선택 기반의 정보를 제공하는 방법 및 장치
EP3523710A1 (en) Apparatus and method for providing sentence based on user input
EP3539056A1 (en) Electronic apparatus and operation method thereof
EP3529774A1 (en) Apparatus and method for processing content
WO2018101671A1 (en) Apparatus and method for providing sentence based on user input
WO2018074895A1 (en) Device and method for providing recommended words for character input
WO2019240562A1 (en) Electronic device and operating method thereof for outputting response to user input, by using application
WO2021132922A1 (en) Computing device and operation method thereof
WO2019088692A1 (ko) 영상 표시 장치 및 그 동작 방법
WO2018124842A1 (ko) 컨텐트에 관한 정보를 제공하는 방법 및 디바이스
WO2020036467A1 (ko) 사용자의 음성 입력에 기초하여 응답 메시지를 제공하는 서버 및 그 동작 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17886382

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17886382

Country of ref document: EP

Kind code of ref document: A1