Electronic device and operation method thereof
The electronic device dynamically optimizes menu item sorting by calculating interaction costs for context-based and count-based methods, ensuring that menu arrangements reflect real-time user preferences and reduce interaction costs.
Patent Information
- Application Number
- PCT/KR2024/015488
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-15
- Filing Date
- 2024-10-14
- Publication Date
- 2025-05-22
AI Technical Summary
Existing electronic devices fail to dynamically reflect user preferences in menu item sorting, as sorted items are maintained in a fixed form, not updating with real-time user selections.
An electronic device that calculates interaction costs for context-based and count-based sorting methods, dynamically selecting the method with the lower interaction cost to optimize menu arrangement in real-time based on user selection history.
The solution provides an optimized menu that accurately reflects user preferences by dynamically updating menu item positions based on real-time usage patterns, enhancing user experience by reducing interaction costs.
Smart Images

Figure KR2024015488_22052025_PF_FP_ABST
Abstract
Description
Electronic device and method of operation thereof
[0001] Various embodiments relate to an electronic device and a method of operating the same. More particularly, the present invention relates to an electronic device and a method of operating the same for arranging menus by selecting one of a plurality of menu arrangement methods.
[0002] To improve menu usability, it is often necessary to use information about menu items that the user has previously selected on an electronic device.
[0003] In such cases, the electronic device collects and analyzes information about the menu items selected by the user on the electronic device and arranges the positions of the menu items according to frequency of use and importance, but there is a limitation that the menu items once arranged remain in a fixed form.
[0004] In this case, once the menu items are sorted and presented, information about the menu items selected by the user is no longer reflected. In other words, the user's menu usage preferences are not reflected in real time.
[0005] As the functionality of various electronic devices increases, the types and number of menu items are also increasing. However, the input method remains largely unchanged from the traditional remote control, often requiring navigation and selection via four-directional keys. Therefore, the layout of menu items is crucial.
[0006] A method of operating an electronic device according to one embodiment may include obtaining a first interaction cost consumed when selecting menu items sorted according to a context-based sorting method and a second interaction cost consumed when selecting the menu items sorted according to a count-based sorting method.
[0007] A method of operating an electronic device according to one embodiment may include a step of arranging the menu items according to a sorting method selected based on a result of comparing a first interaction cost and the second interaction cost.
[0008] In an operating method of an electronic device according to one embodiment, the context-based sorting method may be a method of sorting the menu items according to a value obtained by applying at least one weight to the number of times each menu item is selected, based on at least one context at the time of receiving the sorting request.
[0009] An electronic device according to one embodiment may include a memory storing one or more instructions.
[0010] An electronic device according to one embodiment may include one or more processors that execute one or more instructions stored in the memory.
[0011] The one or more processors can obtain a first interaction cost consumed when selecting menu items sorted according to a context-based sorting method and a second interaction cost including a number of key operations or costs consumed when selecting the menu items sorted according to a count-based sorting method by executing the one or more instructions.
[0012] The one or more processors can sort the menu items according to a sorting method selected based on a result of comparing the first interaction cost and the second interaction cost by executing the one or more instructions.
[0013] The above context-based sorting method may be a method of sorting the menu items according to a value obtained by applying at least one weight to the number of times each menu item is selected, based on at least one context at the time a sorting request is received.
[0014] A computer-readable recording medium according to one embodiment may be a computer-readable recording medium having recorded thereon a program for implementing a method of operating a projector that receives a user input, the method including the step of receiving a request for sorting menu items.
[0015] In one embodiment, a computer-readable recording medium may be a computer-readable recording medium having recorded thereon a program for implementing a method of operating a projector that receives a user input, the method including obtaining a first interaction cost consumed when selecting menu items sorted according to a context-based sorting method and a second interaction cost consumed when selecting menu items sorted according to a count-based sorting method.
[0016] In one embodiment, a computer-readable recording medium may be a computer-readable recording medium having recorded thereon a program for implementing a method of operating a projector that receives a user input, the method including a step of arranging the menu items according to a sorting method selected based on a result of comparing the first interaction cost and the second interaction cost.
[0017] The above context-based sorting method may be a method of sorting the menu items according to a value obtained by applying at least one weight to the number of times each menu item is selected, based on at least one context at the time a sorting request is received.
[0018] FIG. 1 is a diagram illustrating an example of how an electronic device operates according to an embodiment of the present disclosure.
[0019] FIG. 2 is a block diagram showing the configuration of an electronic device according to one embodiment of the present disclosure.
[0020] FIG. 3 is a block diagram for explaining in more detail the configuration of an electronic device according to another embodiment of the present disclosure.
[0021] FIG. 4 is a diagram illustrating an example of calculating interaction cost according to one embodiment of the present disclosure.
[0022] FIG. 5 is a flowchart illustrating an operation method of an electronic device according to one embodiment of the present disclosure.
[0023] FIG. 6 is a diagram showing the relationship between software modules in a menu alignment method according to one embodiment of the present disclosure.
[0024] FIG. 7 is a flowchart illustrating an example of updating data when an electronic device according to one embodiment of the present disclosure receives a user input for selecting one of the menu items.
[0025] FIG. 8 is a diagram illustrating an example of a method for an electronic device to sort menu items using artificial intelligence according to one embodiment of the present disclosure.
[0026] FIG. 9 is a diagram showing an example of a beta distribution graph used in a process of sorting menu items using a MAB algorithm according to a context-based sorting method in an electronic device according to an embodiment of the present disclosure.
[0027] FIG. 10 is a diagram illustrating an example of an electronic device according to one embodiment of the present disclosure using a beta function to generate a beta distribution graph.
[0028] FIG. 11 is a diagram illustrating an example in which an electronic device applies weights using a Gaussian distribution according to the time at which a menu item is selected, according to one embodiment of the present disclosure.
[0029] FIG. 12 is a diagram illustrating an example of an electronic device using a beta function to generate a beta distribution graph by applying weights based on application information executed at the time of menu item selection according to a context-based sorting method according to one embodiment of the present disclosure.
[0030] FIG. 13 is a diagram illustrating a method in which an electronic device applies weights based on application information executed at the time of menu item selection and the time at which the menu item is selected according to a context-based sorting method according to one embodiment of the present disclosure.
[0031] FIG. 14 is a flowchart illustrating a method for an electronic device to dynamically select one of a plurality of menu sorting methods based on a selection history for menu items to sort menus according to one embodiment of the present disclosure.
[0032] Below, embodiments of the present disclosure are described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein.
[0033] The terms used in this disclosure are described as currently common terms, taking into account the functions mentioned herein. However, these terms may mean various other terms depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Therefore, the terms used in this disclosure should not be interpreted solely based on their names, but rather based on the meanings of the terms and the overall content of this disclosure.
[0034] Additionally, the terminology used in this disclosure is for the purpose of describing specific embodiments only and is not intended to limit the present disclosure.
[0035] Throughout the specification, when a part is said to be "connected" to another part, this includes not only the cases where it is "directly connected" but also the cases where it is "electrically connected" with another element in between.
[0036] As used herein, particularly in the claims, the terms "above" and "above" and similar referents may refer to both the singular and the plural. Furthermore, unless the order of steps in a method according to the present disclosure is explicitly specified, the steps described may be performed in any appropriate order. The present disclosure is not limited to the order in which the steps are described.
[0037] The appearances of phrases such as “in some embodiments” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.
[0038] Some embodiments of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented by various hardware and / or software configurations that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors or by circuit configurations for a given function. Furthermore, for example, the functional blocks of the present disclosure may be implemented by various programming or scripting languages. The functional blocks may be implemented by algorithms that execute on one or more processors. Furthermore, the present disclosure may employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as “mechanism,” “element,” “means,” and “configuration” may be used broadly and are not limited to mechanical and physical configurations.
[0039] Additionally, the connecting lines or connecting members between components depicted in the drawings are merely exemplary representations of functional connections and / or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that may be replaced or added.
[0040] Additionally, terms such as “part”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software.
[0041] Additionally, the term “user” in the specification may mean a person who uses the electronic device to control the function or operation of the electronic device.
[0042] The present disclosure will be described in detail with reference to the attached drawings below.
[0043] FIG. 1 is a diagram illustrating an example of how an electronic device operates according to an embodiment of the present disclosure.
[0044] The electronic device (100) can display a menu (101) on the display to receive input from a user.
[0045] In the present disclosure, the electronic device (100) may be a smart TV, but this is only one embodiment and may be implemented in various forms.
[0046] For example, the electronic device (100) may be implemented in various forms, such as a tablet PC, a digital camera, a camcorder, a laptop computer, a netbook computer, a desktop, an e-book reader, a video phone, a digital broadcasting terminal, a PDA (Personal Digital Assistant), a PMP (Portable Multimedia Player), a navigation device, a wearable device, a smart refrigerator, and other home appliances.
[0047] In particular, the embodiments can be easily implemented in electronic devices including a large video output unit, such as a TV, but are not limited thereto. In addition, the electronic device (100) may be fixed or mobile, and may be a digital broadcast receiver capable of receiving digital broadcasts.
[0048] The electronic device (100) may have a built-in display, but is not limited thereto, and may be implemented in a form in which it operates by being connected to an external display even if it does not have a built-in display.
[0049] For example, the electronic device (100) may be implemented in a form that outputs images to a separate external display through a video or audio output port, such as an STB, Apple TV, etc., without a display or with a simple display for notifications, etc.
[0050] In this case, the electronic device (100) may be equipped with an output port for outputting a video or audio signal to the display. The output port may be of a type capable of simultaneously transmitting video signals and audio signals, such as HDMI, DP, Thunderbolt, etc., or may be of a type in which each port transmits video signals and audio signals separately.
[0051] In one embodiment, the electronic device (100) can transmit video or audio signals via wired communication or wireless communication.
[0052] The electronic device (100) may be implemented as an electronic device having a flat display, an electronic device having a curved display, or a flexible electronic device whose curvature can be adjusted. The output resolution of the electronic device (100) may include, for example, HD (High Definition), Full HD, Ultra HD, or a resolution clearer than Ultra HD.
[0053] In the present disclosure, the term “menu” may mean a set of menu items that can receive commands from a user using various input means by being displayed on the display of an electronic device (100).
[0054] Menus can be displayed in many different ways, such as pop-up menus, pull-down menus, etc.
[0055] In this disclosure, the term "menu item" may mean an object that can be selected by a user as an individual item included in a menu.
[0056] In the present disclosure, aligning a menu may mean aligning menu items included in the menu.
[0057] The electronic device (100) can arrange the menu items included in the menu in various ways.
[0058] The electronic device (100) of the present disclosure can dynamically select one of a plurality of menu sorting methods based on information about menu items selected by the user in the past and sort the menu in real time.
[0059] According to one embodiment, the electronic device (100) can sort menus by calculating the interaction cost of each of a plurality of menu sorting methods based on information about menu items previously selected by the user, thereby selecting a menu sorting method with a lower interaction cost. This will be described in detail later.
[0060] In the present disclosure, the term "interaction cost" may mean the cost of key operations or the number of key operations consumed when a user selects a specific menu item.
[0061] In one embodiment, the interaction cost may increase by a predetermined value each time the user presses an operation key. The predetermined value may be, for example, 1.
[0062] In one embodiment, the interaction cost may increase by a predetermined value each time the user presses a control key on the remote control. The predetermined value may be, for example, 1.
[0063] In one embodiment, the interaction cost may increase by a predetermined value each time the user presses a key.
[0064] Further details on interaction costs are described later in Figure 4.
[0065] The electronic device (100) according to the present disclosure can provide an optimized menu that reflects even the user's recent menu usage history by selecting an appropriate menu sorting method in real time and sorting menu items by reflecting at least part or all of the user's menu item selection history information up to the point immediately before the time when a menu sorting request is received.
[0066] According to one embodiment, the electronic device (100) can provide an optimized menu suited to the context at the time of receiving the menu sorting request by using a context-based menu sorting method that applies various weights depending on the context at the time of receiving the menu sorting request as one of several menu sorting methods.
[0067] FIG. 2 is a block diagram showing the configuration of an electronic device according to one embodiment of the present disclosure.
[0068] Referring to FIG. 2, the electronic device (100) may include a processor (110) and a memory (120).
[0069] The memory (120) can store a program for processing and controlling the processor (110). In addition, the memory (120) can store data input to or output from the electronic device (100).
[0070] The memory (120) may include at least one of internal memory (not shown) and external memory (not shown). The memory (120) may store control history information, current environment information, and status information.
[0071] The memory (120) may include at least one type of storage medium among a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), a RAM (Random Access Memory), a SRAM (Static Random Access Memory), a ROM (Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a PROM (Programmable Read-Only Memory), a magnetic memory, a magnetic disk, and an optical disk.
[0072] The internal memory may include, for example, at least one of volatile memory (e.g., dynamic RAM (DRAM), static RAM (SRAM), synchronous dynamic RAM (SDRAM), etc.), non-volatile memory (e.g., one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, etc.), a hard disk drive (HDD), or a solid state drive (SSD).
[0073] According to one embodiment, the processor (110) may load commands or data received from non-volatile memory or at least one of other components into volatile memory and process them. In addition, the processor (110) may store data received or generated from other components in non-volatile memory.
[0074] The external memory may include, for example, at least one of CF (Compact Flash), SD (Secure Digital), Micro-SD (Micro Secure Digital), Mini-SD (Mini Secure Digital), xD (extreme Digital), and Memory Stick.
[0075] The memory (120) may store one or more instructions executable by the processor (110).
[0076] In one embodiment, the memory (120) can store various types of information input through an input / output unit (not shown).
[0077] In one embodiment, the memory (120) may store instructions for controlling a processor to receive a sorting request for menu items, obtain a first interaction cost based on an interaction cost when the menu items are sorted according to a context-based sorting method and a second interaction cost based on an interaction cost when the menu items are sorted according to a count-based sorting method, and sort the menu items according to the context-based sorting method when the first interaction cost is less than the second interaction cost, and sort the menu items according to the count-based sorting method when the first interaction cost is greater than the second interaction cost.
[0078] The processor (110) can execute an OS (Operating System) and various applications stored in the memory (120) when there is a user input or a preset stored condition is satisfied.
[0079] The processor (110) may include a RAM that stores signals or data input from the outside of the electronic device (100) or is used as a storage area corresponding to various tasks performed in the electronic device (100), and a ROM that stores a control program for controlling the electronic device (100).
[0080] The processor (110) may include single cores, dual cores, triple cores, quad cores, and multiples thereof. Furthermore, the processor (110) may include multiple processors. For example, the processor (110) may be implemented as a main processor (not shown) and a subprocessor (not shown) operating in sleep mode.
[0081] Additionally, the processor (110) may include at least one of a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), and a VPU (Video Processing Unit). Alternatively, according to an embodiment, the processor (110) may be implemented in the form of a SOC (System On Chip) that integrates at least one of a CPU, a GPU, and a VPU.
[0082] The processor (110) can control components of various electronic devices (100) by executing one or more instructions stored in the memory (120).
[0083] In one embodiment, the processor (110) may receive a sorting request for menu items.
[0084] In one embodiment, the processor (110) may obtain a first interaction cost based on an interaction cost when the menu items are sorted according to a context-based sorting method and a second interaction cost based on an interaction cost when the menu items are sorted according to a count-based sorting method.
[0085] In one embodiment, the processor (110) may sort the menu items according to a context-based sorting method when the first interaction cost is less than the second interaction cost, and may sort the menu items according to a count-based sorting method when the first interaction cost is greater than the second interaction cost.
[0086] In one embodiment, the processor (110) may receive a user input for selecting one of the menu items, obtain at least one context at the time the user input was received, multiply the number of times the selected menu item was selected by at least one weight determined based on the at least one context, and store the value as context-based data for the selected menu item, and increase the number of times the selected menu item was selected by 1 and store the value as count-based data.
[0087] In one embodiment, the processor (110) may receive a sort request for menu items, obtain context-based data and count-based data from storage, and determine whether an interaction cost based on a context-based sorting method is less than an interaction cost based on a count-based sorting method.
[0088] In one embodiment, if an interaction cost based on a context-based sorting method is less than an interaction cost based on a count-based sorting method, the processor (110) may obtain at least one context at the time when a sorting request is received, sort the menu according to the context-based sorting method, and display the sorted menu.
[0089] In one embodiment, the processor (110) may sort the menu according to the count-based sorting method and display the sorted menu if the interaction cost based on the context-based sorting method is not less than the interaction cost based on the count-based sorting method.
[0090] In one embodiment, the processor (110) may transmit a video signal or audio signal transmitted from the electronic device (100) to an external display so that the signal can be output to the external display.
[0091] In one embodiment, the processor (110) can receive an arranged menu from a server and control it to be displayed on the display of the electronic device (100).
[0092] In one embodiment, when a user selection for a particular menu item is received, the processor (110) may share with a server or external device information that the user selection for that menu item has been made once.
[0093] Details about the tasks executed by the processor (110) will be described later.
[0094] FIG. 3 is a block diagram for explaining in more detail the configuration of an electronic device according to another embodiment of the present disclosure.
[0095] The electronic device (100) of FIG. 3 may be an embodiment of the electronic device (100) described with reference to FIGS. 1 and 2.
[0096] Referring to FIG. 3, the electronic device (100) may include a tuner unit (340), a processor (110), a display (130), a communication unit (350), a sensor unit (130), an input / output unit (370), a video processing unit (380), an audio processing unit (385), an audio output unit (390), a memory (120), and a power supply unit (395).
[0097] The processor (110) of FIG. 3 corresponds to the processor (110) of FIG. 2, and the memory (120) of FIG. 3 corresponds to the memory (120) of FIG. 2. Therefore, any overlapping content with that described above will be omitted.
[0098] According to one embodiment, the communication unit (350) may include a Wi-Fi module, a Bluetooth module, an infrared communication module, a wireless communication module, a LAN module, an Ethernet module, a wired communication module, etc. In this case, each communication module may be implemented in the form of at least one hardware chip.
[0099] The Wi-Fi module and Bluetooth module perform communication in the Wi-Fi and Bluetooth modes, respectively. When using the Wi-Fi module or Bluetooth module, various connection information such as the SSID and session key are first transmitted and received, and after establishing a communication connection using this, various information can be transmitted and received. The wireless communication module may include at least one communication chip that performs communication according to various wireless communication standards such as Zigbee, 3G (3rd Generation), 3GPP (3rd Generation Partnership Project), LTE (Long Term Evolution), LTE-A (LTE Advanced), 4G (4th Generation), and 5G (5th Generation).
[0100] According to one embodiment, a communication unit (350) can receive user input from an external device (300), such as a user device.
[0101] According to one embodiment, a communication unit (350) can communicate with an external device (300) such as a server.
[0102] A communication unit (350) according to one embodiment may include a communication unit that performs wireless communication with a server, etc., such as BT, and a communication unit that is connected to an external device, such as through an HDMI port, etc. In this case, the communication unit that performs wireless communication with a server, etc., such as BT, may perform connection with other devices and video / audio data transmission. The communication unit that is connected to an external device (300), such as through an HDMI port, etc., may include not only an input port that receives input, but also an output port, such as DP, HDMI, RGB, DVI, Thunderbolt, etc., for transmitting video or audio signals to an external display unit or speaker.
[0103] A tuner unit (340) according to one embodiment can select and tune only the frequency of a channel to be received by a broadcast receiving device (100) among many radio wave components through amplification, mixing, resonance, etc. of a broadcast signal received wired or wirelessly. The broadcast signal includes audio, video, and additional information (e.g., EPG (Electronic Program Guide)).
[0104] The tuner unit (340) can receive broadcast signals from various sources, such as terrestrial broadcasting, cable broadcasting, satellite broadcasting, and Internet broadcasting. The tuner unit (340) can also receive broadcast signals from sources, such as analog broadcasting or digital broadcasting.
[0105] The sensor unit (130) detects voice around the electronic device (100), image around the electronic device (100), or interaction with the surroundings of the electronic device (100), and may include at least one of a microphone (331), a camera (140), and a light receiving unit (333). The sensor unit (130) may detect the state of the electronic device (100) or the state around the electronic device (100), and transmit the detected information to the processor (110).
[0106] The microphone (331) receives the user's spoken voice and voice generated around the electronic device (100). The microphone (331) can convert the received voice into an electrical signal and output it to the processor (110). The microphone (331) can utilize various noise removal algorithms to remove noise generated in the process of receiving an external acoustic signal.
[0107] The camera (140) can obtain image frames such as still images or moving images. Images captured through the image sensor can be processed through a processor (110) or a separate image processing unit (not shown).
[0108] The image frame processed by the camera (140) can be stored in the memory (120) or transmitted externally through the communication unit (350). Two or more cameras (140) may be provided depending on the configuration of the electronic device (100).
[0109] The optical receiver (333) receives an optical signal (including a control signal) from an external remote control device (not shown). The optical receiver (333) can receive an optical signal corresponding to a user input (e.g., touch, press, touch gesture, voice, or motion) from the remote control device (not shown). A control signal can be extracted from the received optical signal under the control of the processor (110). For example, the optical receiver (333) can receive a control signal corresponding to a channel up / down button for switching channels from the remote control device (not shown).
[0110] The sensor unit (130) of FIG. 3 is illustrated as including a microphone (331), a camera (140), and a light receiving unit (333), but is not limited thereto, and may include at least one of a magnetic sensor, an acceleration sensor, a temperature / humidity sensor, an infrared sensor, a gyroscope sensor, a position sensor (e.g., GPS), a barometric pressure sensor, a proximity sensor, an RGB sensor, an illuminance sensor, and a Wi-Fi signal receiving unit, but is not limited thereto. Since the function of each sensor can be intuitively inferred from its name by those skilled in the art, a detailed description thereof will be omitted.
[0111] The sensor unit (130) of FIG. 3 is illustrated as being provided in the electronic device (100) itself, but is not limited thereto, and may be provided in a control device, which is a device that is located independently of the electronic device (100), such as a remote control, and communicates with the electronic device (100). When the sensing unit (130) is provided in the control device of the electronic device (100), the control device can digitize information detected by the sensing unit (130) and transmit it to the electronic device (100). The control device can communicate with the electronic device (100) using short-range communication including infrared, Wi-Fi, or Bluetooth.
[0112] For example, the microphone may be provided in the electronic device (100) itself, but may also be provided in a control device, such as a remote control, which is located independently of the electronic device (100) and communicates with the electronic device (100).
[0113] In one embodiment, if a microphone is provided in the remote control, an analog voice signal can be received through the microphone, digitized by the remote control, and transmitted to an electronic device (100) such as a TV. In this case, the remote control can communicate with the electronic device (100) using short-range communication including infrared, Wi-Fi, Bluetooth, or BT.
[0114] In one embodiment, the electronic device (100) may have multiple communication units (350) capable of various short-range communications including infrared, Wi-Fi, or Bluetooth.
[0115] In one embodiment, the electronic device (100) may have multiple communication units (350) in which the communication unit for communicating with the server and the communication unit for communicating with the remote control are different from each other. For example, the communication unit for communicating with the server may be a communication unit using an Ethernet modem, a Wi-Fi module, etc., while the communication unit for communicating with the remote control may be a communication unit using a BT module.
[0116] In one embodiment, the electronic device (100) may have a communication unit (350) that communicates with a server and a communication unit that communicates with a remote control, which are identical. For example, the communication unit that communicates with the server and the communication unit that communicates with the remote control may both be communication units that utilize a Wi-Fi module.
[0117] In one embodiment, a device such as a smartphone with a remote control application installed can perform the same function as the remote control described above. That is, a device with a remote control application installed can control an electronic device (100) such as a TV and perform a voice recognition function.
[0118] Devices on which the remote control application can be installed may be any device that can operate by installing an application, such as an AI speaker, in addition to a smartphone.
[0119] In one embodiment, a device with a remote control application installed may be capable of receiving user voice.
[0120] In one embodiment, the electronic device (100) may include a plurality of communication units that can implement the above communication method to transmit and receive data using Wi-Fi, BT, infrared, etc., and control the device on which the remote control or remote control application can be installed.
[0121] The input / output unit (370) receives video (e.g., moving images, etc.), audio (e.g., voice, music, etc.), and additional information (e.g., EPG, etc.) from the outside of the electronic device (100) under the control of the processor (110). The input / output unit (370) may include any one of a High-Definition Multimedia Interface (HDMI), a Mobile High-Definition Link (MHL), a Universal Serial Bus (USB), a Display Port (DP), a Thunderbolt, a Video Graphics Array (VGA) port, an RGB port, a D-subminiature (D-SUB), a Digital Visual Interface (DVI), a component jack, and a PC port.
[0122] The video processing unit (380) performs processing on video data received by the electronic device (100). The video processing unit (380) can perform various image processing such as decoding, scaling, noise filtering, frame rate conversion, and resolution conversion on the video data.
[0123] The display (130) converts image signals, data signals, OSD signals, control signals, etc. processed by the processor (110) to generate driving signals. The display (130) can be implemented as a PDP, LCD, OLED, flexible display, etc., and can also be implemented as a 3D display. In addition, the display (130) can be configured as a touch screen and used as an input device in addition to an output device.
[0124] The display (130) can output various contents input through a communication unit (not shown) or an input / output unit (370), or output images stored in the memory (120). In addition, the display (130) can output information input by a user through the input / output unit (370) on the screen.
[0125] The display (130) may include a display panel. The display panel may be a liquid crystal display (LCD) panel or a panel including various light-emitting elements such as a light emitting diode (LED), an organic light emitting diode (OLED), or a cold cathode fluorescent lamp (CCFL). In addition, the display panel may include not only a flat display device, but also a curved display device having a curved screen or a flexible display device whose curvature can be adjusted. The display panel may also be a three-dimensional display (3D display) or an electrophoretic display.
[0126] The output resolution of the display panel may include, for example, HD (High Definition), Full HD, Ultra HD, or a resolution sharper than Ultra HD.
[0127] In the embodiment of FIG. 3, the electronic device (100) is illustrated as including a display, but is not limited thereto. The electronic device (100) may be configured to be connected to a separate display device including a display via wired or wireless communication, and transmit video / audio signals to the display device.
[0128] The audio processing unit (385) processes audio data. The audio processing unit (385) may perform various processing operations, such as decoding, amplification, and noise filtering, on audio data. Meanwhile, the audio processing unit (385) may be equipped with multiple audio processing modules to process audio corresponding to multiple contents.
[0129] The audio output unit (390) outputs audio included in a broadcast signal received through the tuner unit (340) under the control of the processor (110). The audio output unit (390) can output audio (e.g., voice, sound) input through the communication unit (350) or the input / output unit (370). In addition, the audio output unit (390) can output audio stored in the memory (120) under the control of the processor (110). The audio output unit (390) can include at least one of a speaker, a headphone output terminal, or an S / PDIF (Sony / Philips Digital Interface:) output terminal.
[0130] The power supply unit (395) supplies power input from an external power source to components inside the electronic device (100) under the control of the processor (110). In addition, the power supply unit (395) can supply power output from one or more batteries (not shown) located inside the electronic device (100) to the internal components under the control of the processor (110).
[0131] The memory (120) can store various data, programs or applications for driving and controlling the electronic device (100) under the control of the processor (110). The memory (120) can include a broadcast reception module (not shown), a channel control module, a volume control module, a communication control module, a voice recognition module, a motion recognition module, an optical reception module, a display control module, an audio control module, an external input control module, a power control module, a power control module for an external device connected wirelessly (e.g., Bluetooth), a voice database (DB), or a motion database (DB). The modules and database of the memory (120) not shown can be implemented in the form of software to perform a broadcast reception control function, a channel control function, a volume control function, a communication control function, a voice recognition function, a motion recognition function, an optical reception control function, a display control function, an audio control function, an external input control function, a power control function or a power control function for an external device connected wirelessly (e.g., Bluetooth). The processor (110) can perform each function using the software stored in the memory (120).
[0132] Meanwhile, the block diagrams of the electronic device (100) illustrated in FIGS. 2 and 3 are block diagrams for one embodiment. Each component of the block diagram may be integrated, added, or omitted depending on the specifications of the electronic device (100) actually implemented. That is, two or more components may be combined into one component, or one component may be subdivided into two or more components, as needed. In addition, the functions performed by each block are for explaining embodiments, and the specific operations or devices thereof do not limit the scope of the present invention.
[0133] FIG. 4 is a diagram illustrating an example of calculating interaction cost according to one embodiment of the present disclosure.
[0134] The menu (101) illustrated in FIG. 4 may include six menu items (Item#1 to Item#6).
[0135] At this time, when the cursor is on Item #1 when the menu is first executed, the number of key operations required for the user to select each menu item is the smallest for Item #1 and the largest for Item #6. In other words, the interaction cost increases as you go to the right from Item #1.
[0136] In one embodiment, if the interaction cost of Item#1 is '0', item#2 may have an interaction cost of '1' because it requires one more right key operation, item#3 may have an interaction cost of '2', item#4 may have an interaction cost of '3', item#5 may have an interaction cost of '4', and item#6 may have an interaction cost of '5'.
[0137] In one embodiment, the electronic device (100) may apply the MAB algorithm to change the interaction cost of each menu item, such as 1 / 6 for Item #1, 2 / 6 for Item2#, 3 / 6 for Item3#, 4 / 6 for Item4#, 5 / 6 for Item5#, and 6 / 6 for Item#6. This may be because different weights are applied depending on the location of each menu item.
[0138] In one embodiment, the electronic device (100) can adjust the menu alignment so that when a distant item is selected, it is meaningfully reflected by applying the largest weight to a distant item and the smallest weight to a nearby item.
[0139] In one embodiment, the electronic device (100) may assign greater weight to menu items the farther away they are from the cursor, such as assigning the greatest weight to Item#6, which is the farthest from the cursor.
[0140] The electronic device (100) can increase the learning effect with a small amount of data by applying a changed interaction cost by applying at least one weight, and can quickly reflect the change in learning when the user's pattern changes and uses many items located far from the cursor.
[0141] FIG. 5 is a flowchart illustrating an operation method of an electronic device according to one embodiment of the present disclosure.
[0142] The electronic device (100) can receive a request for sorting menu items (S510).
[0143] In one embodiment, the electronic device (100) may receive a request for sorting menu items from a user through various input means. The various input means may include at least one of input through an input interface such as voice input, gesture input, remote control, keyboard, mouse, etc., or text input.
[0144] In one embodiment, the electronic device (100) can automatically receive a request to sort menu items based on system settings without user input. Such a request can be received periodically. In one embodiment, the request to sort menu items can be automatically and continuously received based on initial settings.
[0145] In one embodiment, the electronic device (100) may receive a request to sort menu items in real time whenever a menu is displayed. This request may be a request manually entered by a user, but may also be a request automatically received by system settings.
[0146] For example, the electronic device (100) may allow the user to select one of the following options in the settings screen: an option to automatically sort the menus in real time, an option to automatically sort them periodically, or an option to automatically sort them only when there is user input.
[0147] The electronic device (100) can obtain a first interaction cost based on the interaction cost when the menu items are sorted according to a context-based sorting method and a second interaction cost based on the interaction cost when the menu items are sorted according to a count-based sorting method (S520).
[0148] A context-based sorting method may be a method of sorting menu items based on at least one context obtained at the time of receiving a sorting request, and at least one weighted value applied to the number of times each menu item is selected.
[0149] At least one context may include at least one of the time a menu item was selected, the location of the selected menu item, the amount of time that has elapsed since the menu item was selected, or the application running at the time the menu item was selected.
[0150] At least one of the weights may include at least one of a decay rate that applies a relatively smaller weight the longer the time elapsed since the menu item was selected, a weight that applies differently depending on the time the menu item was selected using a Gaussian distribution, a weight that applies differently depending on the location of the selected menu item, or a weight that applies differently depending on the application running at the time the menu item was selected.
[0151] Details on context-based sorting and weighting are provided below.
[0152] A count-based sorting method could be one that sorts menu items based on the number of times each menu item has been selected.
[0153] A count-based sorting method can display the most frequently selected menu items first, with the least frequently selected menu items further away. In other words, a count-based sorting method can sort menu items based on the frequency with which each menu item is selected.
[0154] The first interaction cost and the second interaction cost may mean an average of the interaction cost consumed by the user to select a recently selected menu item or an average of the interaction cost consumed by the user to select menu items that have been selected during a predetermined period of time.
[0155] The electronic device (100) can sort menu items according to a context-based sorting method when the first interaction cost is smaller than the second interaction cost, and can sort menu items according to a count-based sorting method when the first interaction cost is larger than the second interaction cost (S530).
[0156] An electronic device (100) according to one embodiment may sort menu items by randomly selecting either a context-based sorting method or a count-based sorting method when the first interaction cost and the second interaction cost are equal. In this case, either method may be selected.
[0157] An electronic device (100) according to one embodiment can sort menu items in real time by reflecting the user's menu item selection history information up to the point immediately before the time when a menu sorting request is received.
[0158] According to one embodiment, an electronic device (100) may select a menu sorting method with a lower interaction cost among various menu sorting methods by reflecting the user's menu item selection history information up to the point immediately before the time when a menu sorting request is received.
[0159] The electronic device (100) can arrange menu items according to the selected menu arrangement method and display the arranged menu items on the display.
[0160] The electronic device (100) can provide a menu that reflects the user's entire usage history by arranging menu items in real time by reflecting the user's menu item selection history information up to the point immediately before the time when the menu sorting request is received.
[0161] An electronic device (100) according to one embodiment can provide a personalized menu for each user by reflecting the user's usage history. In this case, the electronic device (100) can identify each user using various user identification methods such as voice recognition, facial recognition, face recognition, and gesture recognition, and store and utilize the user-specific menu item selection history.
[0162] An electronic device (100) according to one embodiment can provide a menu that reflects a user's recent menu usage trend by arranging menu items by giving greater weight to recent usage history among the user's menu usage history.
[0163] FIG. 6 is a diagram showing the relationship between software modules in a menu alignment method according to one embodiment of the present disclosure.
[0164] An electronic device (100) according to one embodiment may utilize various software modules to implement a menu alignment method according to the present disclosure.
[0165] An electronic device (100) according to one embodiment may utilize a menu display module (610), an interaction cost calculation module (620), a sorting method selection module (630), a storage (640), a context-based sorting module (650), and a count-based sorting module (660).
[0166] The menu display module (610) can receive menu items selected by the user and transmit them to other modules.
[0167] The menu display module (610) can request the transmission of a selected menu among menus sorted according to a context-based sorting method and a count-based sorting method using the sorting method selection module (630).
[0168] The menu display module (610) can receive a list of sorted menu items from the sorting method selection module (630) and display them on the display.
[0169] The interaction cost calculation module (620) can calculate the cost consumed when a user selects a menu.
[0170] The interaction cost calculation module (620) can receive menu item information selected by the user from the menu display module (610) and calculate the interaction cost of the received menu item.
[0171] In one embodiment, the interaction cost calculation module (620) can receive menus generated from the text-based sorting module (650) and the count-based sorting module (660) and calculate the interaction cost of each menu item.
[0172] In one embodiment, the interaction cost calculation module (620) can transmit the calculated interaction cost to the context-based sorting module (650) and the count-based sorting module (660).
[0173] In one embodiment, the interaction cost calculation module (620) can transmit each calculated interaction cost to the sorting method selection module (630).
[0174] The sorting method selection module (630) compares the interaction cost of the menu sorted according to the context-based sorting method with the interaction cost of the menu sorted according to the count-based sorting method based on the menus sorted by the text-based sorting module (650) and the count-based sorting module (660), thereby selecting the one with the smaller interaction cost.
[0175] The sorting method selection module (630) can transmit a menu with a smaller interaction cost among menus sorted according to a context-based sorting method and menus sorted according to a count-based sorting method to the menu display module (610).
[0176] Storage (640) may be a software module for storing data. Storage (640) may receive and store data from a menu display module (610), an interaction cost calculation module (620), a sorting method selection module (630), a context-based sorting module (650), or a count-based sorting module (660).
[0177] The storage (640) can transmit part or all of the data stored in the menu display module (610), the interaction cost calculation module (620), the sorting method selection module (630), the context-based sorting module (650), or the count-based sorting module (660).
[0178] The storage (640) can store context-based data generated by the context-based sorting module (650) and count-based data generated by the count-based sorting module (660).
[0179] The storage (640) can store all necessary data used or generated in the process of dynamically selecting one of a plurality of menu sorting methods based on information about menu items previously selected by the electronic device (100) and sorting the menu.
[0180] The context-based sorting module (650) may be a software module that sorts menu items by applying at least one weight to the number of times each menu item is selected, based on data received from storage and at least one context obtained at the time of receiving a context sorting request.
[0181] The context-based sorting module (650) can store sorted menus or data generated during the menu sorting process in storage (640).
[0182] In one embodiment, the context-based sorting module (650) may utilize interaction cost to sort menu items.
[0183] In one embodiment, the context-based sorting module (650) may utilize a pre-trained deep neural network model to sort menu items, as described in detail below.
[0184] The count-based sorting module (660) can sort menu items based on the number of times each menu item obtained from storage (640) has been selected, i.e., the frequency of use of the menu items. The count-based sorting module (660) can store sorted menus or data generated during the menu sorting process in the storage (640).
[0185] An electronic device (100) according to one embodiment can sort menu items using a Multi-Armed Bandit (MAB) algorithm.
[0186] The MAB algorithm is a general term for algorithms widely used in recommendation systems, similar to the method of finding out which slot machine to pull among several slot machines to maximize profits through exploration and acquisition.
[0187] In one embodiment, the electronic device (100) can use the MAB algorithm to determine which menu sorting method among various menu sorting methods is most efficient.
[0188] In one embodiment, the MAB algorithm module (601), which is a set of software modules used in the MAB algorithm, may include an interaction cost calculation module (620), a sorting method selection module (630), a storage (640), a context-based sorting module (650), and a count-based sorting module (660).
[0189] Each module of FIG. 6 may be integrated, added, or omitted depending on the embodiment.
[0190] That is, two or more modules may be combined into one, or one module may be subdivided into two or more modules, as needed. Furthermore, the functions performed by each module are intended to illustrate embodiments, and their specific operations or devices do not limit the scope of the present invention.
[0191] In one embodiment, all of the software modules of FIG. 6 may reside on a server rather than the electronic device (100). In this case, the electronic device (100) may only perform the role of transmitting a user's selection of a menu item to the server and receiving and displaying an organized menu from the server.
[0192] In one embodiment, some of the software modules of FIG. 6 may reside on the electronic device (100), while others may reside on the server. In this case, the electronic device (100) may organize menu items through data transmission and reception with the server.
[0193] For example, the electronic device (100) may include a menu display module (610), an interaction cost calculation module (620), and a sorting method selection module (630), and the server may include a storage (640), a context-based sorting module (650), and a count-based sorting module (660).
[0194] FIG. 7 is a flowchart illustrating an example of updating data when an electronic device according to one embodiment of the present disclosure receives a user input for selecting one of the menu items.
[0195] The electronic device (100) can receive a user input to select one of the menu items (S710).
[0196] In one embodiment, the electronic device (100) may receive an input from a user to select one of the menu items by voice command.
[0197] In one embodiment, the electronic device (100) may receive input from a user to select one of the menu items via an external device such as a remote control, keyboard, mouse, etc.
[0198] In one embodiment, the electronic device (100) may receive input from a user via a wired or wireless network to select one of the menu items.
[0199] The electronic device (100) can identify a menu item selected by the user among the menu items.
[0200] The electronic device (100) can obtain at least one context at the time when the user input is received (S720).
[0201] At least one context may include at least one of the time a menu item was selected, the location of the selected menu item, the amount of time that has elapsed since the menu item was selected, or the application running at the time the menu item was selected.
[0202] In one embodiment, the electronic device (100) may store a value obtained by multiplying the number of selections for a selected menu item by at least one weight determined according to at least one context as context-based data for the selected menu item (S730).
[0203] In one embodiment, at least one of the weights may include at least one of a decay rate that applies a relatively smaller weight the longer the time elapsed since the menu item was selected, a weight that applies differently depending on the time the menu item was selected using a Gaussian distribution, a weight that applies differently depending on the location of the selected menu item, or a weight that applies differently depending on the application running at the time the menu item was selected.
[0204] In one embodiment, the electronic device (100) may store in storage a value obtained by multiplying the number of times a menu item is selected by at least one weight determined according to at least one context.
[0205] In one embodiment, the storage may be a memory or database contained within the electronic device (100) or an external database.
[0206] The electronic device (100) can increase the number of selections by 1 for the selected menu item and store it as count-based data (S740).
[0207] The electronic device (100) can update the storage by increasing the number of selections by 1 for the selected menu item.
[0208] In one embodiment, the storage may be a memory or database contained within the electronic device (100) or an external database.
[0209] In this embodiment, the step of updating count-based data (S740) is described as being executed after the step of updating context-based data (S720, S730), but is not limited thereto, and the step of updating count-based data (S740) may be executed first, and then the step of updating context-based data (S720, S730) may be executed, or may be executed simultaneously with the step of updating context-based data (S720, S730).
[0210] In one embodiment, the electronic device (100) can utilize the context-based data stored according to the embodiment of FIG. 7 in a context-based sorting method such as the examples described in FIGS. 8 to 13.
[0211] In one embodiment, the electronic device (100) can utilize the count-based data stored according to the embodiment of FIG. 7 in a count-based sorting method.
[0212] FIG. 8 is a diagram illustrating an example of a method for an electronic device to sort menu items using artificial intelligence according to one embodiment of the present disclosure.
[0213] A method of sorting menu items using artificial intelligence can be used in a context-based sorting approach.
[0214] The electronic device (100) can utilize a neural network (810) trained to receive selected menu items, unselected menu items, at least one context, and an interaction cost as input, and output sorted menu items.
[0215] A selected menu item may mean a menu item selected by the user, and an unselected menu item may mean a menu item not selected by the user.
[0216] At least one context may include at least one of the time a menu item was selected, the location of the selected menu item, the amount of time that has elapsed since the menu item was selected, or the application running at the time the menu item was selected.
[0217] In one embodiment, the interaction cost may be the interaction cost expended by the user to select the most recently selected menu item from a menu sorted according to a context-based sorting scheme.
[0218] In one embodiment, the interaction cost may mean the average of the interaction cost expended by the user to select each of all previously selected menu items from a menu sorted according to a context-based sorting method.
[0219] In one embodiment, the electronic device (100) can obtain a menu sorted automatically by a context-based sorting method using selected menu items, unselected menu items, at least one context, and an interaction cost.
[0220] Artificial intelligence (AI) is a computer system that achieves human-level intelligence. It allows machines to learn and make decisions on their own, and its recognition rate improves with use. AI technology consists of machine learning (deep learning) techniques that utilize algorithms to classify and learn the characteristics of input data, as well as component technologies that leverage machine learning algorithms to mimic the cognitive, judgmental, and other functions of the human brain.
[0221] For example, the element technologies may include at least one of linguistic understanding technology that recognizes human language / characters, visual understanding technology that recognizes objects as if they were human vision, inference / prediction technology that judges information and logically infers and predicts, knowledge representation technology that processes human experience information into knowledge data, and motion control technology that controls autonomous driving of vehicles and movements of robots.
[0222] The artificial intelligence-related functions according to the present disclosure are operated through a processor (110) and a memory (120). The processor (110) may be composed of one or more processors. In this case, the one or more processors may be a general-purpose processor such as a CPU, an AP, a DSP (Digital Signal Processor), a graphics-only processor such as a GPU, a VPU (Vision Processing Unit), or an artificial intelligence-only processor such as an NPU. The one or more processors (110) control input data to be processed according to predefined operation rules or artificial intelligence models stored in the memory (120). Alternatively, when the one or more processors (110) are artificial intelligence-only processors, the artificial intelligence-only processor may be designed with a hardware structure specialized for processing a specific artificial intelligence model.
[0223] The predefined operation rules or artificial intelligence models are characterized by being created through learning. Here, being created through learning means that the basic artificial intelligence model is learned by a learning algorithm using a plurality of learning data, thereby creating the predefined operation rules or artificial intelligence models set to perform a desired characteristic (or purpose). This learning may be performed in the advertisement target determination device (100) itself in which the artificial intelligence according to the present disclosure is performed, or may be performed through a separate server (200) and / or system. Examples of the learning algorithm include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but are not limited to the above examples.
[0224] An AI model may be composed of multiple neural network layers. Each of the multiple neural network layers has multiple weight values and performs neural network operations by calculating the results of previous layers and the multiple weights. The multiple weights of the multiple neural network layers can be optimized based on the learning results of the AI model. For example, the multiple weights may be updated during the learning process to reduce or minimize the loss or cost values obtained from the AI model.
[0225] In an embodiment utilizing a deep learning algorithm, the processor (110) may obtain a sorted menu using a context-based sorting method by using a pre-trained deep neural network model (810). The pre-trained deep neural network model (810) may be an artificial intelligence model trained through learning that takes selected menu items, unselected menu items, at least one context, and an interaction cost as input values, and takes a sorted menu as an output value.
[0226] The deep neural network model may be, for example, a convolutional neural network (CNN). However, the deep neural network model is not limited thereto, and may be a known artificial intelligence model including at least one of a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), and a deep Q-network.
[0227] The electronic device (100) can obtain a sorted menu by applying at least one weight based on the current context and using various other machine learning algorithms.
[0228] FIG. 9 is a diagram showing an example of a beta distribution graph used in a process of sorting menu items using a MAB algorithm according to a context-based sorting method in an electronic device according to an embodiment of the present disclosure.
[0229] An electronic device (100) according to one embodiment can sort menu items using a Multi-Armed Bandit (MAB) algorithm.
[0230] The MAB algorithm is an algorithm that uses a method similar to finding and acquiring which slot machine to pull among several slot machines to maximize profits, and is widely used in recommendation systems.
[0231] The MAB algorithm can be implemented in various ways. For example, it can be implemented using the E-greedy algorithm, the Upper Confidence Bound (UCB) algorithm, or the Thompson Sampling algorithm.
[0232] In one embodiment, the electronic device (100) can sort the menu items in the order in which they are recommended using the Thompson sampling algorithm.
[0233] The Thompson sampling algorithm may be an algorithm that uses a probability distribution (beta distribution) instead of directly estimating rewards.
[0234] The Thompson sampling algorithm can sort the order of menu items by extracting a random variable with an expected reward value between 0 and 1 from the probability distribution of each menu item and comparing the size of each extracted expected reward value.
[0235] In Fig. 9, A, B, C, and D may be random variables extracted from the probability distribution of each menu item. A, B, C, and D may have expected reward values between 0 and 1.
[0236] At this time, the expected reward of each menu item can mean the likelihood that each menu item will be selected by the user.
[0237] In one embodiment, the electronic device (100) uses a beta distribution to probabilistically predict the expected reward for each menu item, generates a beta distribution graph such as FIG. 9, and randomly extracts one value (random variable) from the beta distribution of each menu item and compares them with each other, thereby sorting the menu items in order of the largest expected reward.
[0238] The X-axis of Fig. 9 may represent an expected reward value between 0 and 1. In this case, the closer the expected reward value of a menu item is to 1, the more likely it is that the menu item will be selected by the user.
[0239] Each graph including A, B, C and D in Fig. 9 can correspond to one menu item.
[0240] In one embodiment, the electronic device (100) can sort the order of menu items by comparing values randomly extracted from the beta distribution of each menu item.
[0241] In one embodiment, the electronic device (100) can sort the menu items in an order in which a value randomly extracted from the beta distribution of each menu item is closer to 1.
[0242] The closer a randomly drawn value from the beta distribution is to 1, the more likely it is that the menu item corresponding to that value will be selected by the user.
[0243] In the embodiment of FIG. 9, the electronic device (100) can sort menu items based on the order of D, C, B, and A, which are closest to 1. That is, the electronic device (100) can place the menu item corresponding to D, which is most likely to be selected by the user, in the most accessible position, and sort each menu item in the order of the menu item corresponding to C, the menu item corresponding to B, and the menu item corresponding to A.
[0244] Figures 10 and 11 illustrate an example of a process of using a beta distribution to probabilistically predict the expected reward for each menu item when the context is a continuous concept such as “the time the menu item was selected” in a context-based sorting method.
[0245] The beta distribution is a continuous probability distribution defined in the interval between 0 and 1 depending on two parameters, and the beta function can be used to calculate the beta distribution.
[0246] FIG. 10 is a diagram illustrating an example of an electronic device according to one embodiment of the present disclosure using a beta function to generate a beta distribution graph.
[0247] In one embodiment, when the beta function is represented as Beta(x, y), x may represent the number of times the corresponding menu item is selected, and y may represent the number of times the corresponding menu item is displayed but not selected.
[0248] A context-based sorting method can sort menu items by applying at least one weight depending on at least one context, depending on the number of times a menu item has been selected.
[0249] In one embodiment, the electronic device (100) can apply three types of weights to the number of selections for a selected menu item A, and the calculation formula can be equal to 1010.
[0250] If weights are not taken into account, the number of selections for menu item A can increase by 1, as in [(number of selections for menu item A at time t) = (number of selections for menu item A at time t-1) + 1].
[0251] Among the weights applied in Equation 1010, γ can be a decay rate that applies a relatively lower weight the longer the time elapsed since a menu item was selected. The number of selections calculated at time t may be influenced by the number of selections prior to time t. However, to more importantly reflect the user's recent menu usage patterns, the number of selections made long ago should be given a lower weight, while the number of recent selections should be given a higher weight.
[0252] In one embodiment, the electronic device (100) may attenuate the weights of existing values at an arbitrary rate to quickly respond when a user's menu usage pattern changes. γ may denote this attenuation rate.
[0253] In one embodiment, the attenuation factor may be a value less than 0.
[0254] When using the decay rate, as data accumulates and the time elapsed since the menu was selected increases, the weight of the number of previous selections can be reflected less.
[0255] In formula 1010, reward can mean a reward value according to the selection of a menu item.
[0256] In Equation 1010, the electronic device (100) can compensate for the disadvantage according to the position of the menu item by multiplying the interaction cost by the reward. That is, the electronic device (100) can reflect a greater weight to the menu item when a menu item with a greater interaction cost is selected, thereby reflecting a relatively greater number of selections, and the electronic device (100) can reflect a smaller weight to the menu item when a menu item with a smaller interaction cost is selected, thereby reflecting a relatively smaller number of selections.
[0257] In formula 1010, Gauss(time) may refer to a Gaussian distribution used to weight menu items according to the time they are selected, considering that if a specific menu item is frequently selected at a specific time, the same menu item may be mainly selected at a similar time.
[0258] In one embodiment, the electronic device (100) may apply a large weight when the menu item is selected during a time period in which the menu item is frequently used, and may apply a smaller weight as the time period in which the menu item is selected becomes further from the time period in which the menu item is frequently used.
[0259] FIG. 11 is a diagram illustrating an example in which an electronic device applies weights using a Gaussian distribution according to the time at which a menu item is selected, according to one embodiment of the present disclosure.
[0260] In the embodiment of Fig. 11, it can be confirmed that Item 1 is mainly selected between 12:00 and 13:00 using a Gaussian distribution. If Item 1 is selected between 12:00 and 13:00, the electronic device (100) can apply a relatively large weight to calculate the number of selections of Item 1 in Equation 1010 of Fig. 10.
[0261] For example, in equation 1010 of FIG. 10, if the menu item is selected during a time period in which the menu item is frequently used, Gauss(time) may be 1. If the menu item is selected during a time period in which the menu item is not frequently used, Gauss(time) may be < 1.
[0262] In one embodiment, the electronic device (100) may also apply the above three types of weights to calculate the y value for the selected menu item A, i.e., the number of times it was displayed but not selected, and the calculation formula may be equal to 1020.
[0263] If no weight is applied to calculate the number of times displayed but not selected, the number of times displayed but not selected for menu item A can be calculated as [(the number of times displayed but not selected for menu item A at time t) = (the number of times displayed but not selected for menu item A at time t-1) + 1 - (the number of times selected for menu item A at time t)].
[0264] In one embodiment, the electronic device (100) may also apply the above three types of weights to calculate the x-value, i.e., the number of selections, for an unselected menu item B, and the calculation formula may be equal to 1030.
[0265] In one embodiment, the electronic device (100) may also apply the above three types of weights to calculate the y value for an unselected menu item B, i.e., the number of times it was displayed but not selected, and the calculation formula may be equal to 1040.
[0266] Figures 12 and 13 illustrate an example of a process of using a beta distribution to probabilistically predict the expected reward for each menu item when the context is not a continuous concept such as “information about the application running at the time of selecting a menu item” in a context-based sorting method.
[0267] FIG. 12 is a diagram illustrating an example of an electronic device using a beta function to generate a beta distribution graph by applying weights based on application information executed at the time of menu item selection according to a context-based sorting method according to one embodiment of the present disclosure.
[0268] When the beta function is represented as Beta(x, y), x can represent the number of times the menu item was selected, and y can represent the number of times the menu item was displayed but not selected.
[0269] A context-based sorting method can sort menu items by applying at least one weight depending on at least one context, depending on the number of times a menu item has been selected.
[0270] In one embodiment, the electronic device (100) may apply three types of weights to the number of selections for a selected menu item A, and the calculation formula may be equal to 1210.
[0271] When weights are not considered, the number of selections for menu item A can increase by 1, as in [(number of selections for menu item A at time t) = (number of selections for menu item A at time t-1) + 1].
[0272] Among the weights applied in Equation 1210, the interaction cost can compensate for the disadvantages caused by the location of the menu item. That is, the electronic device (100) can reflect a greater weight to a menu item with a greater interaction cost when it is selected, thereby relatively increasing the number of selections.
[0273] In Equation 1210, Gauss(time) may refer to a Gaussian distribution used to weight menu items according to the time they are selected, considering that if a specific menu item is frequently selected at a specific time, the same menu item may be mainly selected at a similar time.
[0274] In one embodiment, the electronic device (100) may apply a large weight when the menu item is selected during a time period in which the menu item is frequently used, and may apply a smaller weight as the time period in which the menu item is selected becomes further from the time period in which the menu item is frequently used.
[0275] The content for Gauss(time) may be the same as that described in Fig. 11.
[0276] Among the weights applied in formula 1210, alpha may mean that when a specific menu item is frequently selected when a specific application is running, a weight is given based on the application running at the time of menu item selection, taking into account that the same menu item may be mainly selected when the application is running.
[0277] In one embodiment, the electronic device (100) may apply a large weight when a frequently selected menu item is selected while executing a specific application, and may apply a small weight when a menu item other than the frequently selected menu item is selected.
[0278] In one embodiment, alpha may be less than 0.
[0279] FIG. 13 is a diagram illustrating a method in which an electronic device applies weights based on application information executed at the time of menu item selection and the time at which the menu item is selected according to a context-based sorting method according to one embodiment of the present disclosure.
[0280] In one embodiment, the electronic device (100) may assign weights by considering both the application running at the time of menu item selection and the time at which the menu item was selected.
[0281] In one embodiment, the electronic device (100) may apply a large weight when a frequently selected menu item is selected while executing a specific application, and may apply a small weight when a menu item other than the frequently selected menu item is selected.
[0282] In one embodiment, the electronic device (100) may apply a large weight when the menu item is selected during a time period in which the menu item is frequently used, and may apply a smaller weight as the time period in which the menu item is selected becomes further from the time period in which the menu item is frequently used.
[0283] In one embodiment, the electronic device (100) may apply a greater weight to a menu item that is frequently selected when a specific application is running and the menu item is selected during a time period in which the menu item is frequently used, a menu item that is frequently selected when a specific application is running and the menu item is selected during a time period other than a time period in which the menu item is frequently used, or a menu item that is not a frequently selected menu item when a specific application is running and the menu item is selected during a time period in which the menu item is frequently used.
[0284] FIG. 14 is a flowchart illustrating a method for an electronic device to dynamically select one of a plurality of menu sorting methods based on a selection history for menu items to sort menus according to one embodiment of the present disclosure.
[0285] The electronic device (100) can receive a request for sorting menu items from a user (S1410).
[0286] In one embodiment, the electronic device (100) may receive a request to sort menu items from a user via a voice command or gesture command.
[0287] In one embodiment, the electronic device (100) may receive a request for sorting menu items from a user via an external device such as a remote control, keyboard, mouse, etc.
[0288] In one embodiment, the electronic device (100) may receive a request to sort menu items from a user via a wired or wireless network.
[0289] The electronic device (100) can obtain context-based data and count-based data from storage (S1420).
[0290] In one embodiment, the context-based data and count-based data obtained from storage may be data stored according to the flowchart of FIG. 7.
[0291] In one embodiment, the storage may be a memory or database contained within the electronic device (100) or an external database.
[0292] In one embodiment, the electronic device (100) can generate new context-based data and count-based data by processing data stored in storage.
[0293] The electronic device (100) can determine whether the first interaction cost is less than the second interaction cost by comparing the first interaction cost based on the context-based sorting method and the second interaction cost based on the count-based sorting method (S1430).
[0294] In one embodiment, the electronic device (100) can calculate a first interaction cost based on a context-based sorting method and a second interaction cost based on a count-based sorting method based on the context-based data and count-based data acquired in step S1420.
[0295] In one embodiment, the electronic device (100) can obtain a first interaction cost based on the interaction cost when sorted according to a context-based sorting method.
[0296] In one embodiment, the electronic device (100) can obtain a second interaction cost based on the interaction cost when sorted according to a count-based sorting method.
[0297] In one embodiment, the first interaction cost may be the interaction cost expended by the user to select the most recently selected menu item from a menu sorted according to a context-based sorting scheme.
[0298] In one embodiment, the second interaction cost may be the interaction cost expended by the user to select the most recently selected menu item from a menu sorted according to a count-based sorting method.
[0299] In one embodiment, the first interaction cost may mean the average of all interaction costs expended by the user to select menu items that have been previously selected from a menu sorted according to a context-based sorting method.
[0300] In one embodiment, the second interaction cost may mean the average of all interaction costs expended by the user to select menu items that have been selected in the past from a menu sorted according to a count-based sorting method.
[0301] The electronic device (100) can sort the menu according to a count-based sorting method when the first interaction cost is determined to be greater than or equal to the second interaction cost (S1440).
[0302] In this case, the menu items can be sorted from the most frequently selected menu items to the least frequently selected menu items by the user.
[0303] If the electronic device (100) determines that the first interaction cost is less than the second interaction cost, it can obtain at least one context at the time when the menu alignment request is received (S1450).
[0304] At least one context may include at least one of the time a menu item was selected, the location of the selected menu item, the amount of time that has elapsed since the menu item was selected, or the application running at the time the menu item was selected.
[0305] The electronic device (100) can arrange the menu according to a context-based arrangement method (S1460).
[0306] In one embodiment, the electronic device (100) can arrange the menu according to a context-based arrangement method such as the examples described in FIGS. 8 to 13.
[0307] The electronic device (100) can display an arranged menu (S1470).
[0308] The electronic device (100) can display a menu sorted according to a context-based sorting method or a count-based sorting method.
[0309] In one embodiment, when evaluating a context-based sorting method and a count-based sorting method in real time as in Fig. 14 and selecting a method with a lower interaction cost, the count-based sorting method is often adopted in the beginning when the user does not have enough history of using the menu, and as the user accumulates history of using the menu, the context-based sorting method may be adopted more often.
[0310] The method of operating the electronic device described in FIGS. 1 to 14 may be shared not only by one electronic device (100), but also by one or more other electronic devices that are used with the same user account or are determined to be used by the same user through user identification.
[0311] That is, one or more other electronic devices that are used with the same user account or are determined to be used by the same user through user identification can share data stored in storage and sort menus according to synchronized criteria.
[0312] Furthermore, the number of selections for a menu item selected by any one of one or more electronic devices that are used with the same user account or are determined to be used by the same user through user identification may be increased on all devices.
[0313] The method of operating the electronic device (100) according to one embodiment may also be implemented in the form of a computer-readable medium including computer-executable instructions, such as program modules executed by a computer. The computer-readable medium may be any available medium that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. The computer-readable medium may include program commands, data files, data structures, etc., either singly or in combination. The program commands recorded on the medium may be those specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program commands, such as ROMs, RAMs, and flash memories. Examples of program instructions may include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
[0314] According to one embodiment, the method according to various embodiments disclosed in the present document may be provided as included in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or may be distributed online (e.g., downloaded or uploaded) through an application store or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product (e.g., a downloadable app) may be temporarily stored or temporarily generated in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0315] The foregoing description is for illustrative purposes only, and those skilled in the art will readily appreciate that the invention can be readily modified into other specific forms without altering the technical spirit or essential characteristics of the invention. Therefore, the embodiments described above should be understood as illustrative in all respects and not restrictive. For example, components described as single may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined manner.
[0316] An operating method of an electronic device may be provided, comprising: receiving a request for sorting menu items; obtaining a first interaction cost based on an interaction cost when the menu items are sorted according to a context-based sorting method and a second interaction cost based on an interaction cost when the menu items are sorted according to a count-based sorting method; and sorting the menu items according to the context-based sorting method when the first interaction cost is less than the second interaction cost, and sorting the menu items according to the count-based sorting method when the first interaction cost is greater than the second interaction cost, wherein the context-based sorting method is a method for sorting the menu items according to a value obtained by applying at least one weight to the number of times each menu item is selected, based on at least one context obtained at the time of receiving the sorting request, and the count-based sorting method is a method for sorting the menu items according to the number of times each menu item is selected.
[0317] The above first interaction cost and the above second interaction cost may mean an average of the interaction cost consumed by the user to select the last selected menu item or the interaction cost consumed by the user to select previously selected menu items.
[0318] The at least one context may include at least one of the time a menu item was selected, the location of the selected menu item, the time elapsed after the menu item was selected, or the application running at the time the menu item was selected.
[0319] The above context-based sorting method may utilize a neural network trained to receive selected menu items, unselected menu items, at least one context, and the first interaction cost as inputs and output sorted menu items.
[0320] The above context-based sorting method can sort the menu items using various MAB (Multi-Armed Bandit) algorithms.
[0321] The method of operating the electronic device may further include the steps of receiving a user input for selecting one of the menu items, obtaining at least one context at the time when the user input is received, storing a value obtained by multiplying the number of selections for the selected menu item by the at least one weight determined according to the at least one context as context-based data for the selected menu item, and storing the value as count-based data by increasing the number of selections for the selected menu item by 1.
[0322] The context-based data may be used to sort the menu items according to the context-based sorting method, and the count-based data may be used to sort the menu items according to the count-based sorting method.
[0323] The at least one weight may include a decay rate that applies a relatively smaller weight the longer the time elapsed since the menu item was selected.
[0324] The at least one weight may include at least one of a weight applied differently depending on the time at which the menu item is selected using a Gaussian distribution, a weight applied differently depending on the location of the selected menu item, or a weight applied differently depending on the application running at the time of selection of the menu item.
[0325] The at least one weight may include a weight that is applied differently depending on the position of the selected menu item.
[0326] An electronic device comprising a memory storing one or more instructions and one or more processors executing the one or more instructions stored in the memory, wherein the one or more processors execute the one or more instructions to receive a sorting request for menu items, obtain a first interaction cost based on an interaction cost when the menu items are sorted according to a context-based sorting method and a second interaction cost based on an interaction cost when the menu items are sorted according to a count-based sorting method, and if the first interaction cost is smaller than the second interaction cost, sort the menu items according to the context-based sorting method, and if the first interaction cost is greater than the second interaction cost, sort the menu items according to the count-based sorting method, and the context-based sorting method is a method of sorting the menu items according to a value obtained by applying at least one weight to the number of times each menu item is selected, based on at least one context obtained at the time of receiving the sorting request, and the count-based sorting method is a method of sorting the menu items according to the number of times each menu item is selected. Can be provided.
[0327] The above first interaction cost and the above second interaction cost may mean an average of the interaction cost consumed by the user to select the last selected menu item or the interaction cost consumed by the user to select previously selected menu items.
[0328] The at least one context may include at least one of the time a menu item was selected, the location of the selected menu item, the time elapsed after the menu item was selected, or the application running at the time the menu item was selected.
[0329] The above context-based sorting method may utilize a neural network trained to receive selected menu items, unselected menu items, at least one context, and the first interaction cost as inputs and output sorted menu items.
[0330] The above context-based sorting method can sort the menu items using various MAB (Multi-Armed Bandit) algorithms.
[0331] The one or more processors may be characterized in that they receive a user input for selecting one of the menu items by executing the one or more instructions, obtain at least one context at the time when the user input is received, store a value obtained by multiplying the number of selections for the selected menu item by the at least one weight determined according to the at least one context as context-based data for the selected menu item, and increase the number of selections for the selected menu item by 1 and store the result as count-based data.
[0332] The context-based data may be used to sort the menu items according to the context-based sorting method, and the count-based data may be used to sort the menu items according to the count-based sorting method.
[0333] The at least one weight may include a decay rate that applies a relatively smaller weight the longer the time elapsed since the menu item was selected.
[0334] The at least one weight may include at least one of a weight applied differently depending on the time at which the menu item is selected using a Gaussian distribution, a weight applied differently depending on the location of the selected menu item, or a weight applied differently depending on the application running at the time of selection of the menu item.
[0335] A computer-readable recording medium having recorded thereon a program for performing the operation method of the above electronic device on a computer may be provided.
Claims
1. A step (S510) of obtaining a first interaction cost consumed when selecting menu items sorted according to a context-based sorting method and a second interaction cost consumed when selecting the menu items sorted according to a count-based sorting method; and Including a step (S520) of arranging the menu items according to a sorting method selected based on the result of comparing the first interaction cost and the second interaction cost, The above context-based sorting method is a method of operating an electronic device, wherein the menu items are sorted according to a value that applies at least one weight to the number of times each menu item is selected, based on at least one context at the time of receiving the sorting request.
2. In paragraph 1, The above first interaction cost and the above second interaction cost are, A method of operating an electronic device, wherein the interaction cost corresponds to the number or cost of key operations for selection of the last selected menu item or the interaction cost corresponds to the average of the number or cost of key operations for selection of menu items having a selection history.
3. In any one of paragraphs 1 and 2, At least one of the above contexts, A method of operating an electronic device, comprising at least one of: a time at which a menu item is selected, a location of the selected menu item, a time elapsed after the menu item is selected, or an application running at the time the menu item is selected.
4. In any one of paragraphs 1 to 3, The above context-based sorting method is: A method of operating an electronic device, using a neural network trained to receive as input a selected menu item, an unselected menu item, at least one context, and a first interaction cost and output sorted menu items.
5. In any one of paragraphs 1 to 4, The above context-based sorting method is: A method of operating an electronic device, wherein the menu items are sorted using at least one Multi-Armed Bandit (MAB) algorithm.
6. In any one of paragraphs 1 to 5, Step (S710) of receiving user input for selecting one of the above menu items; A step (S720) of obtaining at least one context at the time when the above user input is received; Step (S730) of storing a value obtained by multiplying the number of selections for the selected menu item by at least one weight determined according to at least one context as context-based data for the selected menu item; and An operating method of an electronic device, further comprising a step (S740) of increasing the number of selections by 1 for the selected menu item and storing it as count-based data.
7. In paragraph 1, The above count-based sorting method is a method of sorting the menu items based on the number of times each menu item is selected. The steps to sort the above menu items are: An operating method of an electronic device, comprising the steps of: sorting the menu items according to the context-based sorting method when the first interaction cost is less than the second interaction cost; and sorting the menu items according to the count-based sorting method when the first interaction cost is greater than the second interaction cost.
8. In any one of paragraphs 1 to 7, At least one of the above weights is, A method of operating an electronic device, comprising a decay rate that applies less weight the longer the time elapses after a menu item is selected.
9. In any one of paragraphs 1 to 8, At least one of the above weights is, A method of operating an electronic device, comprising at least one of a weight applied differently depending on the time a menu item is selected using a Gaussian distribution, a weight applied differently depending on the location of a selected menu item, or a weight applied differently depending on the application running at the time the menu item is selected.
10. In any one of paragraphs 1 to 9, At least one of the above weights is, A method of operating an electronic device, comprising applying different weights depending on the position of a selected menu item.
11. Memory (120) storing one or more instructions; and It includes one or more processors (110) that execute one or more instructions stored in the memory (120), and the one or more processors (110) execute the one or more instructions, Obtain a first interaction cost consumed when selecting menu items sorted according to a context-based sorting method and a second interaction cost consumed when selecting said menu items sorted according to a count-based sorting method. Sort the menu items according to the sorting method selected based on the results of comparing the first interaction cost and the second interaction cost, An electronic device in which the context-based sorting method is a method of sorting the menu items according to a value that applies at least one weight to the number of times each menu item is selected, based on at least one context at the time of receiving the sorting request.
12. In paragraph 11, The above first interaction cost and the above second interaction cost are, An electronic device having an interaction cost corresponding to the number or cost of key operations for selection of the last selected menu item or an interaction cost corresponding to the average number or cost of key operations for selection of menu items having a selection history.
13. In any one of paragraphs 11 to 12, At least one of the above contexts, An electronic device comprising at least one of the following: the time at which a menu item was selected, the location of the selected menu item, the time elapsed after the menu item was selected, or the application running at the time the menu item was selected.
14. In any one of paragraphs 11 to 13, The above context-based sorting method is: An electronic device using a neural network trained to receive as input a selected menu item, an unselected menu item, at least one context, and a first interaction cost and output sorted menu items.
15. A computer-readable recording medium having recorded thereon a program for performing the method of any one of claims 1 to 9 on a computer.
Citation Information
Patent Citations
Recommendation system using a plurality ofrecommendation scores
KR1020050004812A
Method, Apparatus and System for Recommending Contents
KR1020180042934A
Multifunction bag
KR102208940B1
Method of controlling conveyer and electronic apparatus therefor
KR102231076B1
System and methods for optimizing user interaction in web-related activities
US20100198768A1